带你轻松入门信息抽取|Python 主题月
什么是信息抽取
定义:自动从无结构或半结构文本中抽取出结构化信息的任务
信息抽取的分类
1.根据抽取结果是否在原文中,可以将信息抽取分类为抽取式和生成式,抽取模型相对比较死板,原文中有什么信息就返回什么信息,而生成模型相对比较人性化,会将目标信息进行整理,本文主要介绍前一种。举例如下:
抽取式:
空腹血糖控制在 7mmol/L -----> 空腹:7mmol/L
生成式:
肿瘤为隆起溃疡性,位于胃窦处 -----> Borrmann 分型:息肉型
2.根据抽取结果结果可以将信息抽取分为:实体抽取、关系抽取、事件抽取。举例如下。
实体抽取:
疾病:间质性肺炎
关系抽取:
疼痛 --疾病部位--> 双膝关节
事件抽取:
病变事件:描述:类圆;病变大小 27*28 ;病变部位:左下肺背段
通用评测标准
- 精确率 P :模型预测出来的结果准不准,预测正确的个数/预测出的结果个数
- 召回率 R :模型漏了哪些东西,预测正确的个数/人工标注的个数
- F1:综合评价指标 ,2*P*R/(P+R)
信息抽取的应用
- 医疗,从医疗文本中抽取病名,药名,症状等
- 金融,从金融文件中抽取风险预警相关的信息等
- 法律,从以往案例中抽取出关键信息辅助判案,或者构建法律知识图谱等
- 构建知识图谱
信息抽取模型的关键点
信息抽取模型的关键要素就是解码设计,解码设计就是标注标签到结构化信息的转化过程,这是模型的核心。常见的解码设计有三种:
- 序列标注:单类或者多类别标注,常用的有 BIO 解码或者 BMEO 解码
- Pointer :标注抽取结果的 start 和 end
- Token Pair:对句子中的字两两之间标注类别
实体抽取
1.定义:从文本中抽取出文本内容,并识别为预定义的类别,例子如下:
原文:患者出现左侧胸背部持续疼痛,在中西医结合医院查胸部 CT 平扫。
结果:症状 --> 左侧胸背部持续疼痛
2.常用解码设计使用 BIO
3.实际项目中的难点主要有两个:
- 实体重叠嵌套,指的是文本中多个实体之间共享片段,如“患者出现左侧胸背部持续疼痛”中“左侧胸背部”是部位实体,“持续疼痛”是症状实体,如果要识别完整的“左侧胸背部持续疼痛”可能存在困难
- 实体不连续,指的是一个实体由多个不连续片段组成,如“前胸、背部包块”我们如果想识别出“前胸包块”和“背部包块”两个实体也存在困难,因为没法通过常规的 BIO 标注
关系抽取
1.定义:从文本中抽取出一对实体和预定义的关系类型,得到包含语义信息的实体关系三元组,默认情况下连接这对实体的关系是有方向的,称为头实体和尾实体。举例:
原文:右下肺少许炎症
结果:(右下肺,部位疾病,炎症)
2.解决步骤通常是分为两个步骤,第一步就是基本的实体抽取,第二步就是使用一对实体和句子进行关系判断。第二步又叫关系分类,指的是给定一对实体和文本,判断实体之间的关系类型。通常分多步模型去抽取的模型方案叫做 Pipeline ,只用一个模型抽取的方案叫做 Joint ,本文介绍的是 Joint 。
3.解码方法常见的有 BIO 、Pointer 、TPLinker 等,后面的比前面的更加复杂,但是能力也会更强。
4.常见的难点有两个:
-
关系重叠,指的是一个实体属于多个关系,如“右下肺少许炎症,见结节”,这里的“右下肺”既和“炎症”有关系,又和“结节”有关系。
-
实体对组合,指的是实体对有多重组合方式,如“左肺和右肺,各见一小结节”和“左肺和右肺,各见一小结节和磨玻璃影”两句话中的实体对关系抽取方式不同,需要一个更加复杂的模型来 cover 各种不同方式的关系抽取。
5.衍生问题如下:
-
远监督噪音,因为一般情况不会有很多训练数据,所以可以用来构造训练数据
-
文档级抽取,文档中的实体很多,但是会发生指代歧义等问题,所以难度也很大
-
开放域关系抽取,开放领域中的关系都不是预先定义的,需要模型自动识别主谓宾三元组,往往用于构建知识图谱过程中。
事件抽取
1.定义:从一段文本中抽取出预定义的事件触发词和事件要素,组合为响应的机构化信息 ,除了事件,实际应用中信息抽取的结果可能更加复杂,但都可以拆成关系抽取。
2.常见的解决方法就是把事件变成关系抽取问题进行解决
总结
文中主要涉及到的知识点有:
实体抽取:重叠嵌套实体、不连续实体、BIO
关系抽取:重叠关系、实体对组合、BIO、Pointer、TPlinker
事件抽取:复杂结构抽取
BIO 、Pointer、TPlinker 这三个模型是基本可以解决所有信息抽取的任务,因为现在这一领域是个大一统状态,一个复杂模型可以解决各种问题。
Python 项目推荐
-
实体抽取:
-
关系抽取:
github.com/buppt/Chine… 实现) github.com/lvjianxin/R… 实现) github.com/Jacen789/re… Bert)
-
事件抽取:
转载自:https://juejin.cn/post/6983215564722274335