NLP基础 – 计算文本的相似度

1674-曲同学

发表文章数:87

热门标签

,
首页 » LeetCode » 正文

一、计算文本的相似度简介

计算两个文本间的相似度在NLP领域中的应用非常广,包括:搜索引擎、问答系统、聊天机器人、文本分类等。

计算两个文本之间(我们用向量s1、s2来表示)的相似度有很多种方法,这里主要介绍两种方法**“欧式距离”和“余弦相似度”**。(这里假设向量s1 = (x1,x2,x3)、s2 = (y1,y2,y3))

欧式距离是指在N维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。“两个向量间”距离越小,相似度越大;距离越大,相似度越小。公式:

NLP基础 - 计算文本的相似度
但是,欧氏距离有一个缺点,即“没有考虑向量的方向”;而余弦相似度“即考虑向量的方向,又考虑向量的大小”

余弦相似度是指在一个向量空间中,将两个向量夹角间的余弦值作为衡量两个个体之间差异的大小。“两个向量间”余弦值越接近1(夹角趋于0),相似度越大余弦值越接近于0(夹角趋于90度),相似度越小。公式:

NLP基础 - 计算文本的相似度

二、举例

(注:这里的向量采用词频统计的方式)

词典为:[我们,又,去,爬山,今天,你们,昨天,跑步]

s1: “我们 今天 去 爬山” = [1,0,1,1,1,0,0,0]
s2: “你们 昨天 跑步” = [0,0,0,0,0,1,1,1]
s3: “你们 又 去 爬山 又 去 跑步” = [0,2,2,1,0,1,0,1]

  • 欧式距离计算:

NLP基础 - 计算文本的相似度

  • 余弦相似度计算:

NLP基础 - 计算文本的相似度

未经允许不得转载:作者:1674-曲同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《NLP基础 – 计算文本的相似度》 发布于2021-08-13

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录