python - 如何在python中找到两个字符串的语义相似度
问题描述
而不是找到两个字符串之间的相似性,我只想找到两个字符串含义的相似性。
- 超线程的类型有哪些
- 超线程中有没有分类
应该有相似性。直到现在我尝试了余弦相似度和词移动距离,但我没有得到一些字符串的准确结果
解决方案
这确实是一件很难做到的事情。也很难知道你的意思是两个短语之间的“准确”语义相似性。你需要找到一个“好的”指标来做到这一点
无论如何,如果你有一个有限的上下文(你不必做一个通用的语义相似性计算器),一个非常基本的方法可能是构建一个文本分类器(使用机器学习),你可以在其中定义你的主要类想用。
例如,对于您的示例短语,您可以有两个文本类:
询问超线程
询问食物
比您使用大量短语训练模型以及示例短语的模型输出概率如下:
“什么是超线程的类型”:
询问超线程 0.9
询问食物 0.5
“超线程中是否有任何类别”
询问超线程 0.8
询问食物 0.4
这两个短语都被归类为“询问超线程”(因为它们在这些类别中得分较高),然后可以假设它们是相似的。也可以使用概率分数来做一些更复杂的事情(使用分数差异等)
推荐阅读
- python - 使用命令“pip3 install --upgrade pip”进行 pip 升级后出错
- spring - p:calendar 组件没有提交选中的值,抛出 throws NullPointerException
- android - 两个日期之间的差异无法正常工作?
- javascript - 如何使用 javascript 删除特定的 div
- entity - hits@k 是如何计算的,在知识库中的链接预测上下文中意味着什么
- python - Jupyter Notebook:如何在函数外使用 ipython 小部件变量
- c# - 为匿名类上课的快速方法
- python - 如何使用 argparse 模块?
- reactjs - 使用 React/Redux 每分钟发出一个请求
- firebase - Firestore.rules 自定义函数未按预期进行评估