25 Jul 2019
【NLP基础任务】 5 信息抽取
- 抽取实体
- 抽取关系
开源的知识库:(有开源源代码)
- FreeBase
- WorldNet
- Yago
- Dpedia
- Knowledge Vault
抽取实体的步骤:
- NER
- 关系分析
- 指代消解
- 实体统一/实体连接
- 实体消岐
关系抽取方法
- 基于规则(人工)
- 监督学习(数据量多)
- 半监督学习&无监督学习
- Bootstrap
- Distant Supervision
- 无监督学习
基于规则的方法
制定规则集:(核心)
- X is a Y
- Y such as X
- Y include X
- Y especially X
满足规则条件将其放入库中。
去除噪音异常值,需要在实体上加上规则限定。
提升挖掘出的结果准确度,值返回想要的结果。
优点:
- 比较准确
- 不需要训练数据 缺点
- low recall rate
- 人力成本
- 规则本身难设计
基于监督学习的方法
需要的准备
- 定义关系类型
- 定义实体类型
- 训练数据准备 实体的标记 实体之间关系的标记
特征工程 –> 分类算法 –> K+1个标签(其中一个是无标签)
分类模型: 特征 –> 模型1判断有无关系 –> 模型2判断分类标签K个
特征工程:
- bag-of-word festure + 实体之间的词
- POS feature
- 实体类别
- steaming
- 位置相关的信息 (两个实体间包含单词数、这句话在文章中的位置、)
- 句法分析相关特征 (两个节点之间最短的路径、语法树P-NP-S、)
- 依存文法相关特征 (最短路径、有无直接依赖关系、)
分类模型
- SVM
- GBDT
- 神经网络
Bootstrap算法
已知:
seeds + seed tuple
扩充这个表。
- 生成规则 文本->规则 自主生成
- 生成tuple
Snowball
- 生成规则
- 生成tuple
- 评估规则准确+过滤
- 评估tuple准确+过滤
Bootstrap是精准匹配,Snowball是近似匹配。
Til next time,
gentlesnow
at 15:48
