# Chap 3 知识抽取和知识挖掘
# 知识抽取
- 定义:从多源异构的数据中提取知识,是自动化构建大规模知识图谱的关键技术
- 任务:具体包括命名实体识别,关系抽取,事件抽取三个子任务
# 面向非结构化数据的知识抽取
# 实体抽取
- 基于规则的方法
- 原理:领域专家手工构建规则,与文本字符串匹配,识别命名实体,仅在小数据集上有可行性
- 基于统计模型的方法
- 原理:利用完全/部分标注的语料进行模型训练,模型主要包括隐马尔可夫模型(HMM),条件马尔可夫模型,最大熵模型,条件随机场模型(CRF)。此法将命名实体识别问题作为序列标注问题处理。
- 步骤:
- 1、训练语料标注:使用IOB或IO标注体系对文本进行人工标注
- 2、特征定义:在训练模型前,需要计算每个词的一组特征作为模型输入,包括单词级别(首字母大写?包含数字?词性?词的n-gram?),词典级别(依赖外部词典定义),文档级别(词频、同现词),基于CRF的命名实体识别工具推荐 NER from Stanford
- 3、模型训练:极大似然估计
- 基于深度学习的方法
- 原理:以词向量为直接输入,通过神经网络实现端到端的命名实体识别,神经网络扮演编码器的角色,输出每个词的新向量表示,最后通过CRF模型输出对每个词的标注结果
- 模型:
- 1、Embedding + Bi-LSTM + CRF(2016 NAACL-HLT):
- Embedding:词语-词向量学习模型-词语的向量表示
- Bi-LSTM:一正一反两个LSTM层,分别计算考虑左侧词和右侧词时对应的向量,形成两个词的向量输出,两个向量进行连接获得一个输出向量
- CRF:根据输出向量对命名实体进行序列标注
- 2、Embedding(CNNs) + Bi-LSTM + CRF (2016 ACL):在预处理层加入了每个词的字符级向量表示
- 3、基于Attention机制的神经网络模型
- 1、Embedding + Bi-LSTM + CRF(2016 NAACL-HLT):
- 参考资料:
# 关系抽取
- 基于模版的关系抽取方法(远古时代的方法)
- 基于监督学习的关系抽取方法
- 特征定义(借助深度学习,无需人工构建特征)
- 轻量级特征:基于实体和词的特征(句子中实体前后的词,实体的类型,实体之间的距离等)
- 中量级特征:基于句子中语块序列的特征
- 重量级特征:实体间的依存关系路径、实体间依存树结构的距离以及其他特定的结构信息
- 具体方法
- 流水线法
- CR-CNN模型:给定输入的句子,先将词映射到长度为
的低维向量,每个词的向量包含词向量和位置向量两部分,然后,模型对固定大小滑动窗口中的词进行卷积操作,为每个窗口生成新的长度为 的特征向量,对所有窗口特征向量求最大值,最终得到整个句子的向量表示 ,在进行关系分类时,CR-CNN模型计算句子向量和每个关系类型的向量的点积,得到实体具有每种预定义关系的分值。此法在SemEval-2010 Task 8 数据集上获得 84.1% 的F1值,优于当时最好的非深度学习方法 - Attention-CNNs模型:将注意力机制引入到神经网络中,对反映实体关系更重要的词语赋予更大的权重,借助改进后的目标函数提高关系抽取的效果,在SemEval-2010 Task 8 数据集上获得 88% 的F1值
- Attention-BiLSTM模型:在LSTM产生词向量的基础上,通过注意力层组合词的向量产生句子向量,进而基于句子向量将关系分类。
- CR-CNN模型:给定输入的句子,先将词映射到长度为
- 联合抽取法(实体抽取和关系抽取相结合)
- 典型模型由三层组成:词嵌入层,基于单词序列的LSTM-RNN层,基于依赖性子树的LSTM-RNN层;在SemEval-2010 Task 8 数据集上获得 84.4% 的F1值,将WordNet作为外部知识后,F1值提升到85.6%
- 流水线法
- 特征定义(借助深度学习,无需人工构建特征)
- 基于弱监督学习的关系抽取方法
- 远程监督方法
- 一般步骤
- 1、从知识图谱中抽取存在目标关系的实体对
- 2、从非结构化文本中抽取含有实体对的句子作为训练样例
- 3、训练监督学习模型进行关系抽取
- 优缺点:利用丰富的图谱信息获取训练数据,有效减少人工标注工作量,但大量噪声被引入,发生语义漂移现象,最近,多示例学习,注意力机制,强化学习等模型用来解决样例错误标注的问题,取得较好效果,两个具有代表性的模型是基于句子级注意力和实体描述的神经网络关系抽取模型APCNNs,和基于强化学习的关系分类模型CNN-RL
- 一般步骤
- Bootstrapping方法
- 典型系统:
- Snowball关系抽取系统:在DIPER系统基础上提出模版生成和关系抽取的新策略,在关系抽取过程中,可以自动评价新实例的可信度,并保留最可靠的实例加入种子集合
- KnowItAll抽取系统:从Web文本中抽取非特定领域的事实信息,准确率能达到90%
- NELL系统:加入了更合理的模版描述、限制条件和评分策略,从大规模文本中学习,对学习到的内容进行打分来提升系统性能
- 优缺点:关系抽取系统的构建成本低,适合大规模的关系抽取任务,具备发现新关系的能力,但此法对初始种子较为敏感,存在语义漂移问题,结果准确率较低等。
- 典型系统:
- 远程监督方法
# 事件抽取
- 子任务
- 识别事件触发词及事件类型
- 抽取事件元素的同时判断其角色
- 抽出描述事件的词组或句子
- 事件属性标注
- 事件共指消解
- 方法
- 流水线方法:事件识别-元素抽取-属性分类-可报告性判别(每个子任务由一个机器学习分类器负责实施)
- 联合抽取方法:
- 经典模型:基于动态多池化卷积神经网络的事件抽取模型 (ACL 2015)
- 词向量学习:通过无监督学习词的向量表示
- 词汇级特征抽取:基于词的向量表示获取事件抽取相关的词汇线索
- 句子级特征抽取:通过动态多池化卷积神经网络获取句子的语义组合特征
- 分类器输出:产生事件元素的角色类别
- 经典模型:基于动态多池化卷积神经网络的事件抽取模型 (ACL 2015)
# 面向结构化数据的知识抽取
# 直接映射
- 基本规则
- 表映射为RDF类
- 表的列映射为RDF属性
- 表的行映射为一个资源或实体
- 每个单元格的值映射为一个文字值(NULL值不生成三元组)
# R2RML
- 一种用于表示从关系数据库到RDF数据集的自定义映射的语言(具体不介绍)
# 相关工具
- 支持以访问知识图谱的形式直接访问关系数据库,这类工具被称为基于本体的数据库访问系统(OBDA)
系统 | 支持推理 | 支持映射 | 开放许可 | 开发时间 |
---|---|---|---|---|
D2RQ | 无 | D2RQ映射、R2RML | Apache2 | 2004 |
Mastro | OWL 2 QL | R2RML | Academic | 2006 |
Ultrawrap | RDFS-Plus | R2RML | 商业 | 2012 |
Morph-RDB | 无 | R2RML | Apache2 | 2013 |
Ontop | OWL 2 QL / SWRL | Ontop映射 / R2RML | Apache2 | 2010 |
# 面向半结构化数据的知识抽取
# 面向百科类数据的知识抽取
- 已有的基于百科的知识图谱:DBPedia,Yago,Zhishi.me(2000万实体),CN-DBpedia
- DBPedia
- 大规模多语言百科知识图谱,是维基百科的机构化版本
- 截至2019年2月,DBpedia包含约30亿条三元组,抽样评测的正确率达88%,包含超过3800万个来自125种不同语言的标签和摘要,2520万个图片链接和2980万个外部网页链接,通过大约5000万个RDF链接与其他链接数据集连接
# 面向web网页的知识抽取
方法 | 优点 | 缺点 |
---|---|---|
手工 | 通用,简单,快捷 | 需要对网页数据进行标注,耗费大量人力,维护成本高,无法处理大量站点 |
包装器归纳 | 需要人工标注训练数据,能用于中小规模网站的信息抽取 | 可维护性差,需要人力进行数据标注 |
自动抽取 | 无监督,无须人工标注,能用于大规模网站的信息抽取 | 需要相似的网页作为输入,抽取的内容可能达不到预期,会抽取出无关信息 |
# 知识挖掘
- 定义:从已有的实体及实体关系出发挖掘新的知识
# 知识内容挖掘——实体链接
- 基本流程
- 实体指称识别:
- 命名实体识别技术(上文已介绍) or 词典匹配技术
- 候选实体生成:(确定文本中的实体指称可能指向的实体集合)
- 表层名字扩展:可以采用启发式的模式匹配方法实现 or 通过有监督学习技术从文本中抽取
- 基于搜索引擎的方法:根据搜索引擎返回的检索结果生成候选实体(维基百科自有的搜索引擎提供此功能)
- 构建查询实体引用表:可以基于维基百科数据构建
- 候选实体消歧:(给定实体提及,对生成的候选实体集按照可能性排序,确定指向的实体)
- 基于图的方法:
- 基于参照图协同实体链接方法:将实体提及和候选实体作为一个集合,在集合内构建边,实体提及和候选实体之间的边表示局部依赖性,候选实体之间的边表示语义相关度,在计算实体提及初始重要性度量后,使用类似PageRank的方法更新传递,最后基于传递结果计算一个结合局部相容度和全局依赖性的实体消歧目标函数,为每个实体提及确定一个使目标函数最大化的实体,得到实体消歧结果
- 基于概率生成模型的方法:
:实体流行度 :实体名称知识 :上下文知识
- 基于主题模型的方法:
- 给定主题数量 ,实体数量,实体名称数量 ,词的数量
- 首先,基于 维迪利克雷分布抽样得到每个主题 中实体的分布
- 然后,基于 维迪利克雷分布抽样得到每个实体 名称的分布
- 最后,基于 维迪利克雷分布抽样得到实体 上下文词的分布
- 通过吉布斯抽样算法,可以基于实体-主题模型推断获得实体消歧所需的决策信息
- 基于深度学习的方法
- 在输入层,每个实体对应的输入信息包括实体 ,实体拥有的关系 ,实体类型
,实体描述 - 基于词袋和独热表示的输入经过词散列层进行降维
- 然后经过多层神经网络的非线性变换,得到语义层上实体的表示
- 两个实体的相关度被定义为语义层表示向量的余弦相似度
- 在输入层,每个实体对应的输入信息包括实体 ,实体拥有的关系 ,实体类型
- 基于图的方法:
- 实体指称识别:
# 知识结构挖掘——规则挖掘
归纳逻辑程序设计(ILP)
- 描述:给定背景知识和目标谓词,学习获得描述目标谓词的逻辑规则集合
- 参考文献:
- 1、Fast Rule Mining in Ontological Knowledge Bases with Amie+, VLDB 2015
- 例子:
- FOIL(早期,1990)
- FOIL-D(2004),PILP(2010),QuickFOIL(2014)(提高可扩展性和运行速度)
- AMIE(2013),AMIE+(2015)(针对大规模知识图谱,采用关联规则挖掘的方法,定义了新的支持度和覆盖度度量对搜索空间进行剪枝,比传统方法速度快质量高)
路径排序算法(PRA)
- 基本思想:发现链接两个实体的一组关系路径来预测实体间可能存在的某种特定关系(例:A是B的爸爸,B是C的爸爸,预测A是C的爷爷)
- 参考文献:
- 1、Relational retrieval using a combination of path-constrained random walks 2010
- 2、Random Walk Inference and Learning in A Large Scale Knowledge Base (2011 EMNLP)
- 3、知乎:https://www.zhihu.com/question/356983724/answer/907103830
- 步骤:
- 1、特征选择:仅保留对于预测目标关系潜在有用的关系路径,采用基于随机游走的特征选择方法
是以实体 为起点,沿着关系路径 进行随机游走能抵达目标实体的概率 - 对于某个关系路径
,仅当准确度和覆盖度都高于阈值时才保留 - 最终得到条关系路径作为特征
- 2、特征计算
- 给定实体对
和一条关系路径 ,特征值为从实体s为起点沿着关系路径 进行随机游走抵达实体 的概率 - 为每个实体对
计算条关系路径下的特征值组成的一个维特征向量
- 给定实体对
- 3、关系分类
- 基于训练样例(正反皆要)和特征向量,为每个目标关系训练一个分类模型(任意分类模型皆可)
- 使用训练好的模型,可以预测任意两个实体间是否存在特定关系
- 1、特征选择:仅保留对于预测目标关系潜在有用的关系路径,采用基于随机游走的特征选择方法
# 基于开源工具的关系抽取实践
- DeepDive (opens new window): 最后更新于2016