当前位置: 首页 > 面试题库 >

如何使用Gensim的word2vec模型和python计算句子相似度

申屠晟
2023-03-14
问题内容

根据Gensim
Word2Vec
,我可以使用gensim包中的word2vec模型来计算2个单词之间的相似度。

例如

trained_model.similarity('woman', 'man') 
0.73723527

但是,word2vec模型无法预测句子相似度。我在gensim中发现了具有句子相似性的LSI模型,但是似乎无法与word2vec模型结合使用。我拥有的每个句子的语料库长度不是很长(少于10个字)。那么,有没有简单的方法可以达到目标呢?


问题答案:

这实际上是您要问的一个非常具有挑战性的问题。计算句子相似度需要建立句子的语法模型,理解等效结构(例如“昨天他去商店”和“昨天他去商店”),不仅要在代词和动词上找到相似性,还要在句子中找到相似性。专有名词,在许多真实的文本示例中找到统计共现/关系,等等。

您可以尝试的最简单的方法-尽管我不知道这样做的效果如何,并且肯定不会给您带来最佳效果-首先删除所有“停止”字词(例如“ the”,“
an”等等),然后对两个句子中的单词运行word2vec,将一个句子中的向量求和,将另一个句子中的向量求和,然后找出两者之间的区别总和。通过对它们进行汇总,而不是逐字逐句地进行区别,您至少不会受单词顺序的约束。话虽这么说,但这将以多种方式失败,而且无论如何都不是一个好的解决方案(尽管对这个问题的好的解决方案几乎总是涉及一定数量的NLP,机器学习和其他聪明才智)。

因此,简短的答案是,不,没有简单的方法可以做到这一点(至少不能很好地做到这一点)。



 类似资料:
  • 问题内容: 从:查找文档相似度,可以使用余弦计算文档相似度。如果不导入外部库,是否有任何方法可以计算2个字符串之间的余弦相似度? 问题答案: 一个简单的纯Python实现是: 印刷品: 这里所用的余弦公式描述这里。 这不包括通过对单词进行加权,但是为了使用,你需要具有一个相当大的语料库才能从中估计的权重。 你还可以通过使用更复杂的方法从一段文本中提取单词,对其进行词干或词义化等来进一步开发它。

  • 我正在开发一个NLP应用程序,在那里我有一个文本文件的语料库。我想使用Gensim word2vec算法创建单词向量。 我做了90%的训练和10%的测试。我在适当的集合上训练了模型,但我想在测试集合上评估模型的准确性。 我曾在互联网上浏览过关于准确性评估的任何文档,但我找不到任何允许我这样做的方法。有人知道做精度分析的函数吗? 我处理测试数据的方法是从测试文件夹中的文本文件中提取所有句子,并将其转

  • 本文向大家介绍使用gensim的word similar方法预测句子相关面试题,主要包含被问及使用gensim的word similar方法预测句子时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 利用gensim训练Word2vec向量,得到词向量空间,通过词向量空间预测词之间的相似度,从而去预测由词组成的句子之间的相似度。  

  • 我对编码相当陌生。我的“count句子”功能有问题。我将字符串与“.”进行比较,"?" , 和数一句话。无论字符串中有多少标点符号,它都只向句子计数器添加一个。我是否使用strcmp错误地获得了我想要的结果?是否有其他方法可以实现这一点?

  • 本文向大家介绍python gensim使用word2vec词向量处理中文语料的方法,包括了python gensim使用word2vec词向量处理中文语料的方法的使用技巧和注意事项,需要的朋友参考一下 word2vec介绍 word2vec官网:https://code.google.com/p/word2vec/ word2vec是google的一个开源工具,能够根据输入的词的集合计算出词与词

  • 本文向大家介绍如何使用Tensorflow训练'Word2Vec'算法?,包括了如何使用Tensorflow训练'Word2Vec'算法?的使用技巧和注意事项,需要的朋友参考一下 Tensorflow是Google提供的一种机器学习框架。它是一个开放源代码框架,与Python结合使用以实现算法,深度学习应用程序等等。它用于研究和生产目的。它具有优化技术,可帮助快速执行复杂的数学运算。 这是因为它使