加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

算法 – 如何比较短语的相似性?

发布时间:2020-12-14 04:15:49 所属栏目:大数据 来源:网络整理
导读:当输入一个问题时,stackoverflow会提供一系列可能涵盖同一主题的问题列表.我已经在其他网站或其他程序中看到类似的功能(例如帮助文件系统),但是我从来没有编程过这样的东西.现在我很好奇,知道那个算法有什么用处. 我想到的第一种方法是将短语分割成单词,并寻
当输入一个问题时,stackoverflow会提供一系列可能涵盖同一主题的问题列表.我已经在其他网站或其他程序中看到类似的功能(例如帮助文件系统),但是我从来没有编程过这样的东西.现在我很好奇,知道那个算法有什么用处.

我想到的第一种方法是将短语分割成单词,并寻找包含这些单词的短语.在你这样做之前,你可能想丢弃无关紧要的话(如”””””等等),然后你会想要对结果进行排名.

嘿,等等 – 我们这样做的网页,然后我们可以有一个… watchamacallit … – 一个“搜索引擎”,然后我们可以卖广告,然后…

不,认真的,解决这个问题的常见方法是什么?

解决方法

一种方法是所谓的手提袋模型.

你猜到,首先你会计算文本中出现多少次文字(通常称为NLP-lingo中的文档).然后你会抛出所谓的停止词,如“the”,“a”,“or”等等.

你留下了单词和字数.这样做一会儿,你会得到一个全面的文字,出现在你的文件.然后,您可以为这些单词创建索引:
“aardvark”是1,“apple”是2,…,“z-index”是70092.

现在你可以把你的文字袋,并把它们变成向量.例如,如果您的文档包含aardvarks的两个引用,而没有其他的,它将如下所示:

[2 0 0 ... 70k zeroes ... 0].

之后,您可以使用a dot product计算两个向量之间的“角度”.角度越小,文档越近.

这是一个简单的版本,还有其他更先进的技术.可能是Wikipedia be with you.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读