Реализация Pytorch базовой языковой модели с использованием внимания в сети LSTM
Этот репозиторий содержит код для базовой языковой модели, чтобы предсказать следующее слово, учитывая контекст. Используемая сетевая архитектура представляет собой сеть LSTM с вниманием. Длина предложения может быть переменной, и об этом позаботится путем заправки дополнительных шагов в последовательности. Модель обучается с использованием текста из книги «Мальчики Мерсера в Вудкрест» от Capwell Wyckoff, доступный по адресу http://www.gutenberg.org. Любая другая электронная книга или TXT из других источников также может использоваться для обучения сети.
Этот репозиторий совместим с Python 2.
nltk , которые могут быть установлены с помощью PIP. Загрузите любую электронную книгу, доступную по адресу http://www.gutenberg.org в формате .txt . Создайте новые data каталога и сохраните в нем файл TXT. Любой другой текстовый источник также может быть использован.
Файл TXT сначала предварительно обрабатывается для удаления некоторых нежелательных токенов, фильтра редко используется и преобразуется в формат словаря. Кроме того, встроения перчаток также должны быть загружены.
Чтобы создать словарь, используйте 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
Чтобы создать словарь перчаток, загрузите исходный файл перчатки и запустите 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
Если есть проблема при загрузке с помощью скрипта, то файл перчаток можно загрузить отсюда.
Чтобы тренировать модель, запустите следующий сценарий
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
Другие параметры, которые будут использоваться, указаны в main.py Обратитесь к этому для лучшего понимания.
Сохраненные модели доступны здесь.