【问题标题】:How to get related matching words using gensim in python?如何在python中使用gensim获取相关匹配词?
【发布时间】:2021-04-04 23:16:56
【问题描述】:

我试图在通过处理语料库(文本文件 A)创建 gensim 模型后找到相关词。接下来,我想传递我自己的单词列表(存储的文本文件 B),以从 gensim 模型中获取与文本文件 B 中最相似的单词。

model = gensim.models.Word2Vec(documents, window=5, min_count=1, workers=10)
model.train(documents, total_examples=len(documents), epochs=10)

w1 = "beautiful"
print(model.wv.most_similar(positive=w1))

这为我提供了与“美丽”一词相关的前 10 个单词的列表。但是,当我尝试传递我的列表(文本文件 B)时,它得到 key error: key not present。

mywords = read_med_terms("C:/Users/x/TextfileB.txt")


for word in mywords:
    try:
        print(model.wv.most_similar(positive=word))
    except KeyError:
        continue

如何通过我的列表来获取语料库中可用的相关匹配词集?衷心感谢您的帮助。

【问题讨论】:

  • 如果您收到“密钥不存在”错误,您是否考虑过模型中可能不存在密钥?哪些特定词触发了KeyError,您确定它们在培训文档中吗?

标签: python gensim word2vec


【解决方案1】:

问题已经通过使用异常try-except解决了,如下:

relatedwords = []

for word in mywords:
    try:
        similar = model.wv.most_similar(positive=word)
        v = [x[0] for x in similar]
        relatedWords += v
    except:
        continue

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 2016-09-17
    • 1970-01-01
    • 2019-07-02
    • 2016-12-04
    • 1970-01-01
    • 2019-08-24
    • 2016-09-08
    • 2012-12-02
    相关资源
    最近更新 更多