文章目录

  • 一、面向非结构化数据的知识抽取
  • 知识抽取任务定义和相关比赛
  • 实体抽取
  • 关系抽取
  • 事件抽取
  • 二、面向结构化数据的知识抽取
  • 三、面向半结构化数据的知识抽取
  • WEB网页数据抽取
  • 手工抽取
  • 包装器简介及描述方式
  • 自动抽取
  • 小结
  • WEB TABLE 抽取简介
  • 四、实践展示:基于百科数据的知识抽取
  • Knowledge Collection
  • Knowledge Fusion


一、面向非结构化数据的知识抽取

知识抽取任务定义和相关比赛

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据


纯文本数据中的知识抽取就是NLP(自然语言处理)

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_02

知识抽取的子任务:

  • 命名实体识别:检测、分类
  • 术语抽取:从语料中发现多个单词组成的相关术语
  • 关系抽取
  • 事件抽取
  • 共指消解

相关的竞赛及数据集
1.Message Understanding Conference(MUC)
命名实体识别(Named Entity Recognition,NER)、共指消解(Co-reference Resolution,CR)
2.Automatic Content Extraction(ACE)
对MUC定义的任务进行了融合、分类和细化;主要分为五大任务,包含英语,阿拉伯语和汉语
实体检测与识别(Entity Detection And Recognition,EDR)
数值检测与识别(Value Detection And Recognition,VAL)
时间表达检测与识别(TERN)
关系检测与识别(RDR)
事件检测与识别(VDR)
3.TAC Knowledge Base Population(KBP)
KBP对ACE定义的任务进一步修订,适合现代知识抽取的需求主要分为四个独立任务和一个整合任务
实体发现与链接(EDL)、槽填充(SF)、事件抽取(Event)、信念和情感(BeSt)、端到端冷启动知识构建
4.Semantic Evaluation(SemEval)

实体抽取

任务定义:抽取文本中的元子信息元素。实体识别可以变成一个序列标注的问题。

序列标注方法:人工特征(词本身的特征、前后缀特征、字本身的特征)

序列标注使用的模型:HMM(隐马尔可夫模型)、CRF(条件随机场)、LSTM+CRF

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_03


实现实体链接的一些开源工具:wikipediaminer、DBpediaspotlight、opencalais

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_04


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_05

关系抽取

从文本中抽取出两个或者多个实体之间的语义关系

关系抽取的方法分类:

1.基于模板的方法

基于触发词的Pattern、基于依存句法分析的Pattern

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_06


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_07


2.监督学习方法

机器学习方法、深度学习方法

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_08


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_09


机器学习方法的特征设计:

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_10


深度学习方法特征设计:

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_11


监督学习的深度学习方法:

1).Pipeline

识别实体和关系分类是完全分离的两个过程,不会相互影响,关系的识别依赖于实体识别的效果

Pipeline方法-CR-CNN模型:仅使用词向量和位置向量作为输入,F1值84.1,超过目前最好的非深度学习方法。

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_12


Pipeline方法-Att-CNN模型:应用注意力机制,目前最好的方法。(F1值88.0)

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_13


Pipeline方法-Att-BLSTM模型:

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_14


2).Joint Model

实体识别和关系分类的过程是共同优化的。

Joint Model-LSTM-RNNs模型:

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_15


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_16


3.弱监督学习方法

远程监督、Bootstrapping

远程监督方法:知识库与非结构化文本对齐来自动构建大量训练数据,减少模型对人工标注数据的依赖,增强模型跨领域适应能力

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_17


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_18


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_19


Bootstrapping:通过在文本中匹配实体对和表达关系短语模式,寻找和发现新的潜在关系三元组

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_20


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_21

事件抽取

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_22


事件抽取任务

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_23


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_24


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_25


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_26

二、面向结构化数据的知识抽取

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_27


Mapping languages:

直接映射(direct mapping)

R2RML:RDF中关系数据库的标准转换

映射工具ontop:是一个使用SPARQL将数据库查询为虚拟RDF图的平台

三、面向半结构化数据的知识抽取

DBpedia:维基百科的结构化版本
ZHISHI.me:第一份中文大规模开放链接数据
访问ZHISHI.me的方式:Linked data、Lookup service、SPARQL endpoint、APIs、Data Dump

WEB网页数据抽取
手工抽取

手工方法获取网页信息:通过人工分析,手工写出适合这个网站的表达式,表达式形式可以是XPath表达式,也可以是CSS选择器的表达式。

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_28


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_29

包装器简介及描述方式

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_30


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_31


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_32


基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_33

自动抽取

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_34

小结

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_数据_35

WEB TABLE 抽取简介

1.表格实体链接(entity linking),将表格中各单元格的字符串映射到给定知识库的实体上。

1).候选生成

2).实体消岐

实体消岐步骤:构建实体消岐图、计算实体链接影响因子

两类实体链接影响因子:每个字符串的初始重要性,不同节点间的语义相关度

实体消岐算法:PageRank,用来整合不同的实体链接影响因子从而做出最终的实体链接决定。

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_深度学习_36

四、实践展示:基于百科数据的知识抽取

基于nlp的实体抽取笔录案件信息Python nlp知识抽取_结构化_37

Knowledge Collection

Category方法
命名规则方法

Knowledge Fusion
  • 主语融合
  • 宾语融合
    1.单值属性:
    精确性原则:日期、地点等类型的属性值出现冲突时选择最精确的一个
    大多数原则:不同来源的属性值出现冲突时,选择出现次数最多的值
    2.多值属性:直接合并去重
    3.对infobox属性进行补全
    人工编写规则从非结构化文本中抽取属性值
    依照指示融合方法将属性值对转换为三元组