【Python Tips】文本预处理:彻底搞懂Difflib——Python自带文本序列比较差异处理库

一、Difflib简介

        Difflib 是 Python 标准库中的一个模块,用于比较文本的差异。它可以生成文本之间的差异报告。这个库可以用来比较字符串、序列等,还提供了一些实用的工具来显示差异。

        在涉及到两个字符串进行差异字比较、信息合并成完整句、相同字提取等任务时,使用Difflib是一个不错的选择。

        本文结尾处存放所有代码,方便取用。

二、Difflib使用教程

        1.从一个例子出发

        从一个例子出发去看这个封装好的函数是一个很好的起点,通过看其对样例的操作结果就可以知道基本的使用逻辑了。

        其中text_total理解为完整信息的句子(对应理想中我们想获取的结果),text_a 和 text_b 是完整句中的部分信息(对应现实中残缺的信息)。我们想通过Difflib函数提取 text_a 和 text_b 中公共部分(视为可信度很高的信息),以某一个残缺为基础,补足为完整信息。

# 文本样例
text_total = list('从零基础开始学习机器学习和深度学习')
text_a = list('从零开始学机器学习度学习')
text_b = list('零基础习机器学习和深度学习')
print(text_a, text_b, text_total)

        下图展示了这三句话对应字的对齐关系,可以更好的看到示例数据结构。其中红框代表公共可信部分,蓝框黄框分别代表各自独有部分。

        2.判断相似度

        首先需要一个判断,这可以看 text_a 和 text_b 中是否有需要的有用的信息,也可以做一个基本判断——text_a 和 text_b是否存在公共部分,当两个序列完全不同时得到结果 0 ,完全相同1。


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值