知识抽取
NLP是人工智能领域的掌上明珠,知识(信息)抽取中关键技术主要是NLP处理技术,主要以命名实体识别(实体抽取)与实体链接、实体关系抽取、事件抽取为主。如下图所示不同数据源知识抽取的过程。
- 文本数据处理如下图所示:
实体抽取
摘要
实体抽取,又称命名实体识别(Named Entities Recognition,NER),主要任务是识别命名实体的文本范围,并将其分类为预定义的类别,学术上所涉及一般包含三大类,实体类、时间类、数字类和7个小类,比如人、地名、时间、组织、日期、货币、百分比,是问答系统、翻译系统、知识图谱的基础,早期的NER的方法主要由语言学家手工构造规则模板,选用特定特征,包括统计信息、标点符号、指示词、方向词、中心词等,以模式与字符串相匹配为主要手段,但是此方法需要大量人力构建语言模型、系统周期较长、知识更新较慢、移植性较差。随着机器学习应用,提出了基于统计学的方法,主要包括隐马尔科夫模型(HMM)、最大熵马尔科夫模型(MEMM)、支持向量机(SVM)、条件随机场(CRF),基于统计方法的对特征选择要求较高,对语料库的依赖较大。深度学习的表征学习相比于机器学习特征工程,在特征学习方面具有较大优势,采用句子嵌入到CNN-CRF中,自动学习特征,对实体进行分类,实体抽取的LSTM-CRF ,BiLSTM-CRF模型,对实体识别提高了一个新的高度,目前。ACL会议提出了基于注意力机制、迁移学习及半监督学习的方法。
基于规则和词典的方法
- 基于规则的方法多采用语言学专家手工构造规则模板,选用特征包括统计信息、标点符号、关键字、指示词和方向词、位置词(如尾字)、中心词等方法,以模式和字符串相匹配为主要手段,这类系统大多依赖于知识库和词典的建立。
- 分词与词性标注:先对原始文本进行分词及词性标注
- 自制特征词典:对分词的实体,存入词典
- 标注序列:对分词后的词语,进行标注,比如ns(地名),其他标注O,“我 来到 北京 天安门” --> “OOSE”
- 正则化匹配实体:规定正则模板,比如若干地名+若干其他成分+若干特征词
基于统计的方法
- 基于统计机器学习的方法把NER、分词问题当做序列标注问题,与分类问题相比,预测标签不仅与当前的预测序列标签有关,还与之前的预测标签有关,预测标签之间具有强的相互依赖关系。主要的概率图模型是有向图的**隐马尔可夫模型(Hidden Markov Mode,HMM)、最大熵(Maxmium Entropy,ME)、支持向量机(Support Vector Machine,SVM)、无向图条件随机场(Conditional Random Fields,CRF)**等。
- 条件随机场(CRF)是NER的主流模型它的目标函数不仅考虑输入的状态特征函数,而且还包含了标签转移特征函数。在训练时可以使用SGD学习模型参数。在已知模型时,给输入序列求预测输出序列即求使目标函数最大化的最优序列,是一个动态规划问题,可以使用维特比算法进行解码。
基于深度学习的方法
- 基于深度学习的方法,主要是深度学习对复杂的非线性问题拟合较好,相比较于传统机器学习,如HMM MEMM和CRF等能够学习到复杂的特征,而表征学习能力可以更好的替代复杂的特征工程,在扩展方面深度学习还可以搭建端对端的模型,构建复杂的NER系统。
- NN/CNN-CRF模型:提出了窗口方法与句子两种网络来进行NER,窗口方法仅仅使用当前预测词的上下文窗口进行输入,再使用NN,而句子结构是使用整个句子作为当前预测词的输入,再使用一层卷积网络CNN。
- RNN-CRF模型
- LSTM-CRF/BiLSTM-CRF模型
开源流行的项目
- 中文一般使用HanNLP、StanfordCoreNLP, NLTK, spaCy等
近期趋势
- 最近的一些神经网络在NER上面的表现。
医学命名实体识别(Biomedical Named Entity Recognition,BioNER)
- 医学领域的命名实体识别与普通的命名实体识别的区别是什么?(后续更新)
实体链接
- 实体链接是指将文本中的实体指称链接到其在给定知识库中的目标实体的过程。
实体指称识别
- 实体指称识别是指通过命名实体识别技术或者字典匹配技术实现真正实体识别,即找到真实实体的过程。如下图所示,[乔丹],[美国]等实体与真实的世界中实体是否匹配。
候选实体生成
- 表层名字扩展
- 基于搜索引擎
- 查询实体引用表
实体消歧
- 基于图的方法
- 基于概率生成模型的方法
- 基于主题模型的
- 基于深度学习模型的
(实体)关系抽取
基于模板的关系抽取
- 基于触发词的模板:其实早期的实体关系抽取主要依赖预先定义的好的语言模板,通过模板匹配实现,需要语言专家进行严格的语言模板制定,从文本中匹配出实体之间的关系,这种方法在小规模、特定领域内,可以取的较好的结果。
比如”[姚明]与妻子[叶莉]还有女儿姚沁蕾并排坐在景区的游览车上“ ”[杨颖]与老公[黄晓明]秀恩爱“
通过上面例子,可以得出具有夫妻关系的模板。但是这种方法在大型数据集上,需要耗费大量的人力,并且移植性较差。
- 基于依存句法分析的模板分析
由于语言表达存在句法结构,比如主谓宾、动宾结构、主从句结构等,根据这些结构可以分析出多个词之间关系,比如以动词为起点,构建规则,可对节点的词性与边上的词与词之间依存关系进行限定(这个其实有点像正则化表达式)
一个简单例子(李明耀)
基于监督学习的关系抽取
基于监督的关系抽取问题一般是转化为分类问题,模型的选择主要有SVM、朴素贝叶斯等机器学习分类模型,关系抽取的特征的定义对抽取的结果具有较大影响,依赖于特征工程。目前,深度学习表示学习的方法,避免了人工构建特征,只需要对词及位置的进行向量表示,主要有两个关系抽取的方法:流水线和联合法.
1)基于深度学习的流水线关系抽取
- CR-CNN模型
- Attention CNNs模型
- Attention BLSTM模型
2)基于深度学习的联合关系抽取方法
- 联合抽取的方法是以实体抽取与关系抽取相结合,如下图所示联合抽取
- 该论文的联合抽取模型主要有三层网络:词嵌入层、单序列LSTM-RNN和基于依存关系的LSTM-RNN层。
基于弱监督学习的关系抽取
1)远程监督方法
该方法主要通过知识图谱与非结构化文本对齐的方式自动构建大量数据集,减少模型对人工标注数据的依赖。主要步骤有:
- 从知识图谱中抽取存在目标关系的实体对
- 从非结构化文本的抽取含有实体对的句子作为训练数据
- 训练监督学习模型进行关系抽取。
该方法存在语义漂移的现象,Guoliang JI的APCNNs模型和Jun Feng的CNN-RL模型具有代表性。
2)Bootstrapping 方法
- 该方法主要是利用少量的实例作为初始种子集合,再学习种子集合学习关系模板,利用学习的模板抽取更多的实例,如NELL系统、KonwItAll系统等,该方法适合进行大型数据的关系抽取,并且具有发现新关系的能力,但是也存在语义漂移、准确率较低的问题。
事件抽取
事件抽取是指从自然语言文本中抽取用户感兴趣的事情信息,并以结构化的形式呈现出来。如下图所示:
事件抽取流水线
- 事件流水线抽取是把事件任务分解成一个个小的子任务,是一个多分类问题,比如事件识别、元素抽取、属性分类和可报告性判别。包含五类分类器:事件触发词分类器;元素分类器;元素角色分类器;属性分类器、可报告性分类器
- 基于模板匹配的元事件抽取,比如经典事件抽取系统 ExDisco GenPAM等。
- 基于机器学习的元事件抽取,主要借鉴文本分类的思想,将事件抽取任务分成一个个小的分类任务。比如采用HMM 、CRF等模型。
- 基于深度学习的事件抽取方法,主要分为特征学习与分类模型训练,比如Chen和Nguyen采用深度学习应用于事件抽取与任务识别。
事件联合抽取方法
- 联合推断
- 联合建模
- 基于深度的联合事件抽取方法
知识抽取相关竞赛
- 消息理解会议(MUC)
MUC是由美国DARPA发起,目的在于鼓励和开发信息抽取系统,主要以召回率和精确率来评价信息抽取系统性能的重要指标,一般是基于召回率和精确率来计算F1值 - 自动内容抽取(ACE)
由美国国家标准技术研究所(NIST)组织的评测会议,主要包括实体检测与跟踪、关系检测与表征、事件检测与跟踪,与MUC解决的问题类似,只是对MUC的任务进行融合。 - 知识库填充(KBP)
由文本分析会议主办,其目的是开发和评估从非结构化文本中获取知识填充知识库的技术,主要任务包括实体发现与链接、槽填充、事件跟踪和信念与情感分析 - 语义评测(SemEval)
由ACL-SIGLEX组织发起,是比较早进行实体消歧的评测任务的机构,目的是增进人们对词义与语义现象的理解,主要包括语义角色标注、情感分析、跨语言语义分析等
参考文献
A simple BiLSTM-CRF model for Chinese Named Entity Recognition
命名实体识别全解析