问题描述
在通过处理语料库(文本文件 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)时,它得到关键错误:关键不存在。
mywords = read_med_terms("C:/Users/x/TextfileB.txt")
for word in mywords:
try:
print(model.wv.most_similar(positive=word))
except KeyError:
continue
如何通过我的列表来获取语料库中可用的相关匹配词集?衷心感谢您的帮助。
解决方法
问题已通过使用异常 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