ملاحظة: هذا الكود مكتوب بلغة Python 3.6.1 ( Gensim 2.3.0)
تنفيذ بايثون وتطبيق word2vec مع Gensim
الورقة الأصلية: Mikolov، T.، Chen، K.، Corrado، G.، & Dean، J. (2013). تقدير فعال لتمثيلات الكلمات في الفضاء المتجه. طبعة arXiv المسبقة arXiv:1301.3781.
import re import numpy as np from gensim.models import Word2Vec from nltk.corpus import gutenberg from multiprocessing import Pool from scipy import spatial
sentences = list(gutenberg.sents('shakespeare-hamlet.txt')) # import the corpus and convert into a list print('Type of corpus: ', type(sentences)) print('Length of corpus: ', len(sentences))
نوع المتن: فئة "قائمة"
طول المجموعة: 3106
print(sentences[0]) # title, author, and year print(sentences[1]) print(sentences[10])
['['، 'ال'، 'المأساة'، 'من'، 'هاملت'، 'بواسطة'، 'وليام'، 'شكسبير'، '١٥٩٩'، ']']
['أكتوس'، 'بريموس'، '.']
['فران', '.']
بيانات المعالجة المسبقة
for i in range(len(sentences)): sentences[i] = [word.lower() for word in sentences[i] if re.match('^[a-zA-Z] ', word)] print(sentences[0]) # title, author, and year print(sentences[1]) print(sentences[10])
['ال'، 'المأساة'، 'من'، 'هاملت'، 'بواسطة'، 'ويليام'، 'شكسبير']
['أكتوس', 'بريموس']
['فران']
model = Word2Vec(sentences = sentences, size = 100, sg = 1, window = 3, min_count = 1, iter = 10, workers = Pool()._processes) model.init_sims(replace = True)
model.save('word2vec_model') model = Word2Vec.load('word2vec_model')
model.most_similar('hamlet')
[('هوراشيو', 0.9978846311569214),
('ملكة'، 0.9971947073936462)،
('لارتيس'، 0.9971820116043091)،
('ملك'، 0.9968599081039429)،
('الأم'، 0.9966716170310974)،
('أين'، 0.9966292381286621)،
('دير'، 0.9965540170669556)،
('أوفيليا'، 0.9964221715927124)،
('جدًا'، 0.9963752627372742)،
('أوه'، 0.9963476657867432)]
v1 = model['king'] v2 = model['queen'] # define a function that computes cosine similarity between two words def cosine_similarity(v1, v2): return 1 - spatial.distance.cosine(v1, v2) cosine_similarity(v1, v2)
0.99437165260314941
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3