代码之家  ›  专栏  ›  技术社区  ›  pankaj

如何从pandas中的词典中为特定单词列表创建前5个紧密单词的数据框架

  •  2
  • pankaj  · 技术社区  · 7 年前

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

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

    输入

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

    应对照word2vec字典检查这些单词的相似性,必须找到与输入word\u列表相似的单词,并按以下格式写入数据框。

    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的数据框架。

    输出数据帧

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

    非常感谢您的帮助。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Maxim    7 年前

    尝试以下操作:

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