如何从 pandas 中的字典中为特定单词列表创建前 5 个接近单词的数据框

How to create dataframe of top 5 close words to a particular word lists from a dictionary in pandas

我有一个 word2vec 字典,它给出了与给定单词最相似的单词。

我想从文件或列表中传递需要计算相似度的单词列表

输入

word_list =['wan,'floor','street']

应根据 word2vec 字典检查这些词的相似性,并且必须找到与输入 word_list 相似的词并将其写入以下格式的数据框中。

model.most_similar("wan")

[('wan.', 0.7509685754776001),
 ('want', 0.7326164245605469),
 ('aupuiwan', 0.7161564230918884),
 ('puiwan', 0.7119397521018982),
 ('wanstreet', 0.7096157073974609),
 ('woshing', 0.7046518921852112),
 ('futan', 0.6979573369026184),
 ('won', 0.696295440196991),
 ('fota', 0.6961145401000977),
 ('pul', 0.6921802759170532)]

我想创建一个包含两列 Word 和 Similar words 的数据框。

输出数据帧

Word    Similar Words
wan     ('wan.', 'want','aupuiwan','puiwan','wanstreet')
floor   ('fl','flooor','flor','flr','gf')
street  ('st','rosestreet','stret','strt','str')

感谢任何帮助。

试试这个:

words = ['wan', 'floor', 'street']
similar = [[item[0] for item in model.most_similar(word)[:5]] for word in words]
df = pd.DataFrame({'Word': words, 'Similar Words': similar})