600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python 文本相似度_python实现的文本相似度算法(余弦定理)

python 文本相似度_python实现的文本相似度算法(余弦定理)

时间:2019-05-10 19:00:26

相关推荐

python 文本相似度_python实现的文本相似度算法(余弦定理)

只对汉字进行相似度分析,以单个字为向量,然后每个字在章节中出现的次数,便是以此字向量的值。现在我们假设:

章节1中出现的字为:Z1c1,Z1c2,Z1c3,Z1c4……Z1cn;它们在章节中的个数为:Z1n1,Z1n2,Z1n3……Z1nm;

章节2中出现的字为:Z2c1,Z2c2,Z2c3,Z2c4……Z2cn;它们在章节中的个数为:Z2n1,Z2n2,Z2n3……Z2nm;

其中,Z1c1和Z2c1表示两个文本中同一个字,Z1n1和Z2n1是它们分别对应的个数,

最后我们的相似度可以这么计算:

代码如下:

#_*_encoding:utf-8_*_

import math

import time

#---------------------------------------------------------------

# 文本相似度计算

# 值0-1, 越靠近1越相似

#---------------------------------------------------------------

def Similarity(s1, s2):

'''

相似度计算,输入必须为unicode编码,且不为空

仅计算汉字

'''

#汉字U编码 4E00-9FA5

tmp = {}

for i in s1:

a = ord(i)

if 0x4DFF

try:

tmp[a][0] = tmp[a][0] + 1

except:

tmp[a] = [1, 0]

for i in s2:

a = ord(i)

if 0x4DFF

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。