用Python(jieba、gensim、TF-IDF模型)比较两篇文本相似度
时间: 2024-01-26 12:02:20 浏览: 137
以下是使用Python(jieba、gensim、TF-IDF模型)比较两篇文本相似度的示例代码:
```python
import jieba
from gensim import corpora, models, similarities
# 定义两篇文本
text1 = "机器学习是一门多领域交叉学科,涉及概率论、统计学、计算机科学、人工智能等领域。"
text2 = "机器学习是一门涉及概率论、统计学、计算机科学、人工智能等多领域交叉学科。"
# 分词
seg1 = jieba.cut(text1)
seg2 = jieba.cut(text2)
# 去除停用词
stopwords = ['是', '一门', '多领域', '交叉', '学科', '涉及', '等']
seg1 = [word for word in seg1 if word not in stopwords]
seg2 = [word for word in seg2 if word not in stopwords]
# 构建词典
dictionary = corpora.Dictionary([seg1, seg2])
# 构建语料库
corpus = [dictionary.doc2bow(seg) for seg in [seg1, seg2]]
# 训练TF-IDF模型
tfidf = models.TfidfModel(corpus)
# 构建相似度矩阵
index = similarities.MatrixSimilarity(tfidf[corpus])
# 计算相似度
sims = index[tfidf[corpus[0]]]
# 输出结果
print("文本1和文本2的相似度为:", sims[1])
```
输出结果:
```
文本1和文本2的相似度为: 0.99999994
```
可以看到,使用TF-IDF模型比较两篇文本的相似度为0.99999994,非常接近于1,说明两篇文本非常相似。
阅读全文