怎么用difflib批量对比文本相似性
时间: 2023-06-15 07:03:44 浏览: 62
difflib模块可以用于对比文本之间的差异和相似性,可以通过以下步骤来批量对比文本相似性:
1. 导入difflib模块
```
import difflib
```
2. 准备文本
将要对比的文本存储在一个列表中,如:
```
text_list = ['text1', 'text2', 'text3']
```
3. 定义对比函数
定义一个函数,接收两个文本作为参数,并返回它们的相似度。可以使用difflib.SequenceMatcher()函数来计算相似度。
```
def compare_texts(text1, text2):
return difflib.SequenceMatcher(None, text1, text2).ratio()
```
4. 对比文本
遍历文本列表,对每两个文本进行对比,并将结果存储在一个字典中。
```
result = {}
for i in range(len(text_list)):
for j in range(i+1, len(text_list)):
similarity = compare_texts(text_list[i], text_list[j])
result[(i,j)] = similarity
```
5. 输出结果
输出所有文本对之间的相似度。
```
for k, v in result.items():
print(f'Text {k[0]+1} and Text {k[1]+1} similarity: {v}')
```
完整代码如下:
```
import difflib
text_list = ['text1', 'text2', 'text3']
def compare_texts(text1, text2):
return difflib.SequenceMatcher(None, text1, text2).ratio()
result = {}
for i in range(len(text_list)):
for j in range(i+1, len(text_list)):
similarity = compare_texts(text_list[i], text_list[j])
result[(i,j)] = similarity
for k, v in result.items():
print(f'Text {k[0]+1} and Text {k[1]+1} similarity: {v}')
```