Home

gentlesnow

25 Jul 2019

【NLP基础任务】 5 信息抽取

  1. 抽取实体
  2. 抽取关系

开源的知识库:(有开源源代码)

  1. FreeBase
  2. WorldNet
  3. Yago
  4. Dpedia
  5. Knowledge Vault

抽取实体的步骤:

  1. NER
  2. 关系分析
  3. 指代消解
  4. 实体统一/实体连接
  5. 实体消岐

关系抽取方法

  1. 基于规则(人工)
  2. 监督学习(数据量多)
  3. 半监督学习&无监督学习
  4. Bootstrap
  5. Distant Supervision
  6. 无监督学习

基于规则的方法

制定规则集:(核心)

  1. X is a Y
  2. Y such as X
  3. Y include X
  4. Y especially X

满足规则条件将其放入库中。

去除噪音异常值,需要在实体上加上规则限定。

提升挖掘出的结果准确度,值返回想要的结果。

优点:

  1. 比较准确
  2. 不需要训练数据 缺点
  3. low recall rate
  4. 人力成本
  5. 规则本身难设计

基于监督学习的方法

需要的准备

  1. 定义关系类型
  2. 定义实体类型
  3. 训练数据准备 实体的标记 实体之间关系的标记

特征工程 –> 分类算法 –> K+1个标签(其中一个是无标签)

分类模型: 特征 –> 模型1判断有无关系 –> 模型2判断分类标签K个

特征工程:

  1. bag-of-word festure + 实体之间的词
  2. POS feature
  3. 实体类别
  4. steaming
  5. 位置相关的信息 (两个实体间包含单词数、这句话在文章中的位置、)
  6. 句法分析相关特征 (两个节点之间最短的路径、语法树P-NP-S、)
  7. 依存文法相关特征 (最短路径、有无直接依赖关系、)

分类模型

  1. SVM
  2. GBDT
  3. 神经网络

Bootstrap算法

已知:

seeds + seed tuple

扩充这个表。

  1. 生成规则 文本->规则 自主生成
  2. 生成tuple

Snowball

  1. 生成规则
  2. 生成tuple
  3. 评估规则准确+过滤
  4. 评估tuple准确+过滤

Bootstrap是精准匹配,Snowball是近似匹配。

Til next time,
gentlesnow at 15:48

scribble