【问题标题】:How to create dataframe of top 5 close words to a particular word lists from a dictionary in pandas如何从 Pandas 的字典中为特定单词列表创建前 5 个接近单词的数据框
【发布时间】:2018-06-13 09:38:20
【问题描述】:

我有一个 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
wan     ('wan.', 'want','aupuiwan','puiwan','wanstreet')
floor   ('fl','flooor','flor','flr','gf')
street  ('st','rosestreet','stret','strt','str')

感谢任何帮助。

【问题讨论】:

    标签: python string pandas word2vec gensim


    【解决方案1】:

    试试这个:

    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})
    

    【讨论】:

    • 我觉得应该是zip(*model.similar(word)[:5])
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多