比较两个文本的相似性,分词版。,相似性分词,比较两个带有中文文本的相
比较两个文本的相似性,分词版。,相似性分词,比较两个带有中文文本的相
比较两个带有中文文本的相似性。实现到了分词以及余弦定理。
#!/usr/bin/env python# -*- coding: utf-8 -*import refrom math import sqrt#You have to install the python libimport jiebadef file_reader(filename,filename2): file_words = {} ignore_list = [u'的',u'了',u'和',u'呢',u'啊',u'哦',u'恩',u'嗯',u'吧']; accepted_chars = re.compile(ur"[\\u4E00-\\u9FA5]+") file_object = open(filename) try: all_the_text = file_object.read() seg_list = jieba.cut(all_the_text, cut_all=True) #print "/ ".join(seg_list) for s in seg_list: if accepted_chars.match(s) and s not in ignore_list: if s not in file_words.keys(): file_words[s] = [1,0] else: file_words[s][0] += 1 finally: file_object.close() file_object2 = open(filename2) try: all_the_text = file_object2.read() seg_list = jieba.cut(all_the_text, cut_all=True) for s in seg_list: if accepted_chars.match(s) and s not in ignore_list: if s not in file_words.keys(): file_words[s] = [0,1] else: file_words[s][1] += 1 finally: file_object2.close() sum_2 = 0 sum_file1 = 0 sum_file2 = 0 for word in file_words.values(): sum_2 += word[0]*word[1] sum_file1 += word[0]**2 sum_file2 += word[1]**2 rate = sum_2/(sqrt(sum_file1*sum_file2)) print 'rate: ' print ratefile_reader('thefile.txt','thefile2.txt')#该片段来自于http://byrx.net
相关内容
- 百度图片下载,,#coding:utf-
- 翻番的力量,翻番力量,你要上帝一次性给你 1
- Python冒泡排序,python冒泡,# -*- coding
- 将目录中的TXT全成一个大TXT,目录TXTTXT,在网上下了一个
- window下调用api列出当前所有进程,windowapi列出当前,#!
- python 登陆 gfan打卡,pythongfan,学习python,搞了个
- 创建一个简单的电话本,支持添加和查询功能,创建查
- 在文本中,批量搜索信息,文本搜索信息,在C:\盘下面创
- darkBing SQL扫描器,darkbingsql扫描器,#!/usr/bin/p
- python获取网页状态码,python获取网页,#coding=utf-
评论关闭