jieba是python第三方库,用于自然语言处理,对文本进行分词,当然也有其他的分词库。
gensim库,利用TFIDF算法来进行文本相似度计算,通过利用gensim库的corpora,models,similarities处理后续。
基本思路:jieba进行分词,整理为指定格式->gensim库将要对比的文档通过doc2bow转化为稀疏向量->再通过models中的tf-idf将语料库进行处理->特征值和稀疏矩阵相似度建立索引->最后的到相似结果。
接下来:
我创建两个文本文件,作为语料库,另外再创建一个文本文件,作为需要对比的文件。内容是百度随便找的,就拿稀疏向量和稀疏矩阵的百度百科吧。分别(d1,d2)(d3)d3去对比d1,d2
import jieba
from gensim import corpora,models,similarities
from collections import defaultdict #用于创建一个空的字典,在后续统计词频可清理频率少的词语
#1、读取文档
doc1="./d1.txt"
doc2="./d2.txt"
d1=open(doc1,encoding='GBK').read()
d2=open(doc2,encoding='GBK').read()
#2、对要计算的文档进行分词
data1=jieba.cut(d1)
data2=jieb