我想使用w2v制作的嵌入来获取最可能的替代词GIVEN一个上下文(周围的单词),而不是提供单个单词。
实施例: 句子='我想明天放学后去公园'
如果我想找到类似于" park"的候选人,通常我会利用Gensim模型中的相似度函数
model.most_similar('park')
并获得语义相似的单词。然而,这可以给我类似于动词“park'而不是我所追求的名词' park',
有没有办法查询模型并将周围的单词作为上下文提供给更好的候选人?
答案 0 :(得分:3)
Word2vec主要不是单词预测算法。在内部,它试图进行半预测,以训练其单词向量,但通常这些训练预测并不是需要字向量的最终用途。
也就是说,最新版本的gensim添加了predict_output_word()
方法(对于某些模型模式)近似于训练期间完成的预测。它可能对您的目的有用。
或者,检查单词most_similar()
到您的初始目标词也有点类似于上下文单词可能会有所帮助。
有一些研究论文关于如何消除多个词义的歧义(例如'到/停放/汽车'走进/公园/')矢量训练,但我还没有看到它们在开源库中实现。