如何从pandas中的字典创建前5个关闭单词的数据框到特定单词列表

问题描述 投票:2回答:1

我有一个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和相似单词的数据框。

输出数据帧

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

任何帮助表示赞赏。

python string pandas word2vec gensim
1个回答
0
投票

试试这个:

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})
© www.soinside.com 2019 - 2024. All rights reserved.