python中文相似度计算,python文本数据相似度的度量

本文介绍了编辑距离、n元语法相似度、Jaccard相似度和余弦相似性等字符串比较方法。编辑距离衡量了将一个字符串转换为另一个所需的插入、删除和替换次数;n元语法考虑文本中连续标记序列;Jaccard相似度通过交集与并集比例计算集合相似度;而余弦相似性则用于评估词汇在高维空间中的角度差异。示例代码展示了这些概念的应用。
摘要由CSDN通过智能技术生成

编辑距离

编辑距离,又称为Levenshtein距离,是用于计算一个字符串转换为另一个字符串时,插入、删除和替换的次数。例如,将'dad'转换为'bad'需要一次替换操作,编辑距离为1。

nltk.metrics.distance.edit_distance函数实现了编辑距离。

N元语法相似度

n元语法只是简单地表示文本中n个标记的所有可能的连续序列。n元语法具体是这样的

2元语法相似度计算

jaccard相似性

jaccard距离度量的两个集合的相似度,它是由 (集合1交集合2)/(结合1交结合2)计算而来的。

实现方式

0.6666666666666666

masi距离

masi距离度量是jaccard相似度的加权版本,当集合之间存在部分重叠时,通过调整得分来生成小于jaccard距离值。

0.6666666666666666

0.22000000000000003

余弦相似度

nltk提供了余弦相似性的实现方法,比如有一个词语空间

[3,1,0,1]意思是指w1出现了3次,w2出现了1次,w3出现0次,w4出现1次。

好了下面看代码,计算text1与text2的余弦相似性

0.303689376177

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://mp.weixin.qq.com/s?__biz=MzI1MTE2ODg4MA==&mid=2650068988&idx=1&sn=3e01d5449ed21f772e68b4d449c334f7&chksm=f1f766e3c680eff5efa0ba2fdc9ceac14dcd2d53ee75814052cfd1c830fd2bffa1b0d0ab92ae&mpshare=1&scene=23&srcid=0312uMoRA5z9iXG8iRzeDwg9#rd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值