تنفيذ Pytorch لنموذج اللغة الأساسي باستخدام الانتباه في شبكة LSTM
يحتوي هذا المستودع على رمز لنموذج اللغة الأساسي للتنبؤ بالكلمة التالية بالنظر إلى السياق. بنية الشبكة المستخدمة هي شبكة LSTM مع الاهتمام. يمكن أن يكون طول الجملة متغيرًا ويتم العناية بذلك عن طريق حشو الخطوات الإضافية في التسلسل. يتم تدريب النموذج باستخدام النص من كتاب The Mercer Boys at Woodcrest by Capwell Wyckoff المتاح على http://www.gutenberg.org. يمكن أيضًا استخدام أي كتاب إلكتروني آخر أو TXT من مصادر أخرى لتدريب الشبكة.
هذا المستودع متوافق مع بيثون 2.
nltk التي يمكن تثبيتها باستخدام PIP. قم بتنزيل أي كتاب إلكتروني متاح على http://www.gutenberg.org بتنسيق .txt . قم بإنشاء 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 الرجوع إليها لفهم أفضل.
النماذج المحفوظة متوفرة هنا.