用python计算两组文本的相似度,使用gensim库
时间: 2024-05-02 20:19:47 浏览: 101
可以使用gensim库中的similarity模块计算两组文本的相似度。具体操作如下:
1.导入gensim库中的similarity模块
```python
from gensim.similarities import Similarity
```
2.分别读入两组文本,例如我们读入A.txt和B.txt中的文本
```python
with open('A.txt', 'r', encoding='utf-8') as f:
text_a = f.read()
with open('B.txt', 'r', encoding='utf-8') as f:
text_b = f.read()
```
3.将两组文本分别进行处理,例如分词并构建一个文本集合
```python
from jieba import cut
doc_a = [word for word in cut(text_a) if word != ' ']
doc_b = [word for word in cut(text_b) if word != ' ']
texts = [doc_a, doc_b]
```
4.使用Similarity模块计算两个文本的相似度
```python
# 将文本集合转化为tfidf向量
corpus = [dictionary.doc2bow(text) for text in texts]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
# 使用Similarity计算两个文本的相似度
similarity = Similarity('-Similarity-index', corpus_tfidf, num_features=len(dictionary))
# 获取文本B与文本A的相似度
sims = similarity[corpus_tfidf[1]]
print(sims)
```
阅读全文