Pytorch Implémentation d'un modèle de langue de base en utilisant l'attention dans le réseau LSTM
Ce référentiel contient du code pour un modèle de langue de base pour prédire le mot suivant compte tenu du contexte. L'architecture réseau utilisée est le réseau LSTM avec attention. La longueur de la phrase peut être variable et cela est pris en charge en rembourrant les étapes supplémentaires de la séquence. Le modèle est formé à l'aide du texte du livre The Mercer Boys at Woodcrest par Capwell Wyckoff disponible sur http://www.gutenberg.org. Tout autre ebook ou TXT provenant d'autres sources peut également être utilisé pour la formation du réseau.
Ce référentiel est compatible avec Python 2.
nltk qui peuvent être installés à l'aide de PIP. Téléchargez tout ebook disponible sur http://www.gutenberg.org au format .txt . Créez une nouvelle data de répertoire et stockez le fichier TXT. Toute autre source de texte peut également être utilisée.
Le fichier TXT est d'abord prétraité pour supprimer des jetons indésirables, filtrer les mots rarement utilisés et converti en format de dictionnaire. De plus, les incorporations de gants doivent également être chargées.
Pour créer le dictionnaire, utilisez le script preprocess_data/create_dictionary.py
python create_dictionary.py --data_path path_to_txt_file --dict_file dict_file_name.json --min_occ minimum_occurance_required
Pour créer le dictionnaire Glove, téléchargez le fichier de gants d'origine et exécutez le script preprocess_data/create_gloves.py
wget http://nlp.stanford.edu/data/glove.42B.300d.zip -P data/
unzip data/glove.42B.300d.zip -d data/
python preprocess_data/create_gloves.py --data_path path_to_txt_file --glove_in data/glove.42B.300d.txt --glove_out data/glove_dict.pkl
S'il y a un problème dans le téléchargement à l'aide du script, le fichier de gants peut être téléchargé à partir d'ici.
Pour entraîner le modèle, exécutez le script suivant
python main.py --gpu gpu_id_to_use --use_cuda True --data_path path_to_txt_file --glove_path data/glove_dict.pkl --dict_path path_to_dict_file
Les autres paramètres à utiliser sont spécifiés dans main.py Reportez-vous pour une meilleure compréhension.
Les modèles enregistrés sont disponibles ici.