<< 新闻中心

文本相似度计算——Jaro距离Sørensen–Dice系数


——文本相似度计算服务

2020-07-07 17:45:54 作者 书写人生

Jaro距离是skycto文本相似度计算服务中10大相似算法之一,skycto文本相似算法服务主要以webservice形式对外提供相似度计算接口,独立自主可控,可用于国产化平台。skycto文本相似度服务能够独立部署、联合部署、嵌入部署等多种形式,支持国产化OpenJDK、中标麒麟、龙芯、飞腾等软硬件。skycto文本相似算法服务支持1:1相似度计算(阈值范围:0.0-1.0),支持1:N计算相似度Top排序(按照最相似前N排序返回),支持数据库指定字段计算并排序,支持数据库多个字段联合计算排序,支持Lucene快速索引等。

√  算法八:Jaro距离(Jaro Distance

       概念:Jaro distance定义如下:

      


 其中,m是两个字符串匹配上的字符数目,|si|是字符串si的长度{\ displaystyle s_ {i}};t是匹配上的字符中换位数目的一半,即若在字符串的第i位出现了a,b,在第j位又出现了b,a,则表示两者出现了换位。

步骤:

 (1) 给定两个字符串A和字符串B,对字符串A和字符串B进行匹配,得到匹配数量m

 (2)求出字符串A和字符串B的长度

 (3)求匹配上的字符数中的换位次数t

 (4)用Jaro公式求Jaro距离,公式如下所示:

      

 eg

 字符串A:我爱购物,字符串B:我爱读书

 匹配数量m=2

 字符串A的长度s1=4,字符串B的长度s2=4

 由于匹配上的字符串中的字符不需要换位,所以t=0

 用Jaro公式求得Jaro距离=1/3((2/4+2/4+2/2=0.67

√  算法九:Sørensen–Dice系数(Sørensen–Dice coefficient

概念:Sørensen的原始公式旨在应用于二进制数据。给定两组XY,它被定义为

      

|X|和|Y|是两组的基数(即每组中的元素数)。Sørensen指数等于两组共有的元素数量的两倍除以每组中元素数量的总和。

当应用于布尔数据时,使用真阳性(TP),假阳性(FP)和假阴性(FN)的定义,它可以写为

      

步骤:

1)将对比的两个句子进行各自分词,各自列出所有的分词

2)求两个句子的交集的数量

3)求两个句子的元素数量

4)求Sørensen指数,Sørensen等于两组共有的元素数量的两倍/每组中元素数量的总和。

eg

句子:A:我爱购物,B:我爱读书

(1)A: 我//购物,B: //读书

(2)A与B的交集数:2

(3)A元素数为3B元素数为3

(4)Sørensen指数=2*2/3+3=0.67


 技术合作与联系方式:

 公司名称:四川书写人生科技有限公司

 通信地址:成都市金牛区兴盛西路2号固特大厦3A405A

 公司座机:028-83410634

 微信电话:191-8044-7517

 联系邮件:admin@skycto.com

 我们承诺:邮件12小时回,微信4小时回复,欢迎致电联系。

推荐阅读

首页 分享微博 分享微信 回到顶部