【发布时间】:2019-04-26 18:02:10
【问题描述】:
我使用 Gensim 和 Fasttext Word vectors 来返回相似的词。
这是我的代码:
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('cc.it.300.vec')
words = model.most_similar(positive=['sole'],topn=10)
print(words)
这将返回:
[('sole.', 0.6860659122467041), ('sole.Ma', 0.6750558614730835), ('sole.Il', 0.6727924942970276), ('sole.E', 0.6680260896682739), ('sole.A', 0.6419174075126648), ('sole.È', 0.6401025652885437), ('splende', 0.6336565613746643), ('sole.La', 0.6049465537071228), ('sole.I', 0.5922051668167114), ('sole.Un', 0.5904430150985718)]
问题在于“sole”(英文中的“sun”)返回一系列带有点的单词(如 sole.、sole.Ma、ecc...)。哪里有问题?为什么 most_similar 返回这个无意义的词?
编辑
我尝试使用english word vector 并且“sun”这个词返回:
[('sunlight', 0.6970556974411011), ('sunshine', 0.6911839246749878), ('sun.', 0.6835992336273193), ('sun-', 0.6780728101730347), ('suns', 0.6730450391769409), ('moon', 0.6499731540679932), ('solar', 0.6437565088272095), ('rays', 0.6423950791358948), ('shade', 0.6366724371910095), ('sunrays', 0.6306195259094238)]
像relatedwords.org这样的结果无法重现吗?
【问题讨论】: