文本相似度算法介绍

文本相似度算法

LevenshteinDistance
SpacySimilarity
JaccardSimilarity

Levenshtein Distance算法

中文名:莱文斯坦距离 参考资料:https://en.wikipedia.org/wiki/Levenshtein_distance

Levenshtein distance是表征或度量两段字符串的差异度的概念,以单词kitten和sitting为例,定义:替换(substitution)、插入(insert)和删除(delete)三种标准编辑手段来消除这两个词之间的差异,每经过1次标准编辑手段,Levenshtein distance增计一次,则kitten需经过2次替换、1次插入新字符,来得到sitting这个单词,因此所谓的Levenshtein distance应为3。按照其定义,该距离和字符串差异度呈正比关系。

定义: 两个字符串a,b之间的莱文斯坦距离

编辑距离是NLP基本的度量文本相似度的算法,可以作为文本相似任务的重要特征之一,其可应用于诸如拼写检查、论文查重、基因序列分析等多个方面。但是其缺点也很明显,算法基于文本自身的结构去计算,并没有办法获取到语义层面的信息。

SpacySimilarity算法

SpacySimilarity属于语义相似度的计算方法。

参考资料: https://spacy.io/api/doc/#similarity

先将句子的词向量求平均,获取句子的语义表示,然后计算两个句子的语义表示的余弦相似度。

JaccardSimilarity算法

参考资料:https://en.wikipedia.org/wiki/Jaccard_index

给定两个集合A,B,Jaccard 系数定义为A与B交集的大小与A与B并集的大小的比值,定义如下:

当集合A,B都为空时,J(A,B)定义为1。

与Jaccard 系数相关的指标叫做Jaccard 距离,用于描述集合之间的不相似度。Jaccard 距离越大,样本相似度越低。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是小飞熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值