【发布时间】:2019-10-21 10:29:13
【问题描述】:
我不想找到两个字符串之间的相似性,我只想找到两个字符串含义的相似性,例如。
- 超线程有哪些类型
- 超线程中是否有任何类别
应该有相似度。直到现在我尝试了余弦相似度和词移动距离,但我没有得到一些字符串的准确结果
【问题讨论】:
标签: python machine-learning nlp
我不想找到两个字符串之间的相似性,我只想找到两个字符串含义的相似性,例如。
应该有相似度。直到现在我尝试了余弦相似度和词移动距离,但我没有得到一些字符串的准确结果
【问题讨论】:
标签: python machine-learning nlp
这是一件很难做到的事情。也很难知道你的意思是两个短语之间的“准确”语义相似性。你需要找到一个“好的”指标来做到这一点
无论如何,如果你有一个有限的上下文(你不必做一个通用的语义相似性计算器),一个非常基本的方法可能是构建一个文本分类器(使用 机器学习) ,您可以在其中定义要使用的主体类。
例如,对于您的示例短语,您可以有两个文本类:
询问超线程
询问食物
比您使用大量短语训练模型以及示例短语的模型输出概率如下:
“超线程有哪些类型”:
询问超线程 0.9
询问食物0.5
“超线程中有没有分类”
询问超线程 0.8
询问食物0.4
这两个短语都被归类为“询问超线程”(因为它们在这些类别中得分较高),然后可以假设它们是相似的。人们也可以使用概率分数来做一些更复杂的事情(使用分数差异等)
【讨论】: