LSTM 네트워크에서주의를 사용하여 기본 언어 모델의 Pytorch 구현
이 저장소에는 컨텍스트가 주어진 다음 단어를 예측하기 위해 기본 언어 모델에 대한 코드가 포함되어 있습니다. 사용 된 네트워크 아키텍처는주의를 기울이는 LSTM 네트워크입니다. 문장 길이는 가변적 일 수 있으며 이는 순서대로 추가 단계를 패딩하여 처리됩니다. 이 모델은 http://www.gutenberg.org에서 이용할 수있는 Capwell Wyckoff의 Woodcrest의 Mercer Boys 의 텍스트를 사용하여 교육을받습니다. 다른 소스의 다른 eBook 또는 TXT도 네트워크를 훈련시키는 데 사용될 수 있습니다.
이 저장소는 Python 2와 호환됩니다.
nltk 입니다. .txt 형식으로 http://www.gutenberg.org에서 사용 가능한 모든 eBook을 다운로드하십시오. 새 디렉토리 data 만들고 txt 파일을 저장하십시오. 다른 텍스트 소스도 사용할 수 있습니다.
TXT 파일은 먼저 원치 않는 토큰을 제거하고 필터를 사용하지 않고 사전 형식으로 변환하기 위해 먼저 전처리됩니다. 또한 장갑 내장도 적재해야합니다.
사전을 만들려면 스크립트 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
글러브 사전을 만들려면 원래 글러브 파일을 다운로드하고 스크립트 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 에 지정됩니다. 더 잘 이해하려면 참조하십시오.
저장된 모델은 여기에서 사용할 수 있습니다.