本文主要探讨非结构化数据的信息抽取方法,后续相关文章还有信息抽取之实体抽取,信息抽取之事件抽取
引言
信息抽取是自然语言处理中一个非常重要的研究课题,同时与数据挖掘、信息检索、机器翻译、问答系统、知识图谱等研究有着非常密切的关系,吸引了大批学者参与其中,许多新方法层出不穷。如图1所示,在知识图谱的构建过程中,信息抽取是非结构化数据和半结构化数据转化为结构化数据的重要流程。一般来说,信息抽取包括三个子任务:实体抽取,关系抽取,事件抽取。本文主要非结构化数据的信息抽取方法。对于非结构化数据来说,由于自然语言的复杂性、随意性、多变性,面向非结构化数据的信息抽取的三个子任务目前依然处于发展阶段,依然是十分具有挑战性的一个课题。
这一系列的文章分为三篇,主要回顾了信息抽取的三个子任务的发展历史,并针对信息抽取三个子任务的问题定义、研究现状、挑战和未来趋势等几个方面进行了研究。
实体抽取
2.1实体抽取的任务定义
实体是文本之中承载信息的语义单元,是文本语义理解的基础,像一句话之中的人名地名就是一种实体。实体抽取,又称为命名实体识别(named entity recognition,NER),指的是从文本之中抽取出命名性实体,并把这些实体划分到指定的类别。常见的实体包括七种类别:人名、地名、机构名、时间、日期、货币、百分比。如图2所示,“1973年1月19日”是时间实体;“詹姆斯·瓦特”是人名实体;“苏格兰”、“格拉斯哥”、“克莱德河湾”、“格林诺克”是地名实体。在不同领域的实体抽取任务之中,还会增加其他类型的实体。例如,在一般的医疗知识图谱之中,还会增加疾病、药物、治疗方法等实体。
实体抽取任务最早出现于1996年的第六届信息理解会议(message understanding conference,MUC)[1],但并没有对实体进行严格的定义,规定了命名实体(即人名、地名、机构名)、时间表达式、数量表达式三大类实体。MUC-7继承并修订了MUC-6的标注规范,增加了训练语料的规模。后来,美国国家技术研究院(National Institute of Standards and Technology, NIST)召开的自动内容抽取会议(automatic content extraction, ACE)取代了之前的 MUC 会议,ACE会议之中的实体识别任务更加抽象,更加关注实体自身,而MUC会议更关注实体的名称。最早将汉语命名实体识别作为评测任务提出的,是2003年举办的“863 评测”,该评测持续2005年。在ACL之中的SIGHAN在2006年把实体抽取任务正式作为其评测任务之一[2]。
2.2实体抽取技术方法
命名实体识别一直是自然语言处理中非常重要的一个任务。目前,命名实体识别的方法大致可以分为基于规则的方法、基于统计的方法、基于深度学习的方法三大类。
2.2.1基于规则的方法
在实体抽取的早期研究之中,基于规则的方法占据主导地位。这种方法多采用语言学专家构造规则模板,利用词性、标点符号、关键字、指示词和方向词、位置词、句法等信息,定义出规则。基于规则的方法往往与其他方法结合在一起,以提高准确率。如Rau等人[3]提出的将启发式算法和规则模板相结合的公司名称实体抽取系统,准确率接近人工。在中文领域也有许多基于规则库的实体抽取方法[4, 5]。基于规则的方法,在一些领域中,能够取得非常高的准确率和召回率。但是,规则需要语言专家来构建,需要花费大量的人力,成本昂贵。因此许多学者试图借助机器自动地发现和生成规则,Collins等人[6]提出了DLCoTrain 方法,通过预先定义的种子规则集合,在语料中迭代得到更多规则,以用于实体抽取。此外,规则的维护任务也非常繁重;规则系统往往不具备领域可移植性,新的领域需要定义新的规则。随着机器学习方法的兴起,实体抽取任务也转入机器学习的阵营。
2.2.2基于传统统计的方法
早期使用于命名实体识别任务之中的机器学习方法,主要是一些基于统计的方法。使用统计方法,包括三个步骤:①选择特征。传统统计方法需要人工选择特征。这些特征包括词语上下文信息、词缀、词性上下文特征等等。②选择模型并训练模型。③预测实体。这一步是使用已经训练好的模型来预测实体。
一般使用统计模型是把实体抽取任务转化为序列标注问题,使用IO、BIO、BIOES等标注方法对实体进行标注。对于文本之中的每个词,或者汉语之中的每个字,都有若干候选的标签。如表1所示,对“瓦特出生于苏格兰”这个序列进行标注,PER表示人名,LOC表示地名。分别使用IO、BIO、BIOES方法进行标注,可以得到表中的结果。
基于序列标注方法的统计模型,常见的包括最大熵分类模型[7](Maximum Entropy model,MaxEnt)、支持向量机[8](Support Vector Machine,SVM)、隐马尔科夫模型[9, 10](Hidden Markov Model,HMM)、条件随机场[11](Conditional Random field,CRF)等。在实际研究之中,研究人员往往把这些模型和其他方法结合在一起。如Peng 等人[12]在CRF的基础上加入embedding信息,对中文社交媒体中的四类实体进行识别,取得了比普通CRF模型更高的准确率。Atkinson等人[13]使用SVM结合HMM模型抽取了生物医药领域的基因和蛋白质等实体。Liu[14]等人将KNN算法与条件随机场模型结合起来,实现了对Twitter文本中的实体的识别。
文本序列 | IO标注体系 | BIO标注体系 | BIOES标注模式 |
---|---|---|---|
瓦 | I-PER | B-PER | B-PER |
特 | I-PER | I-PER | I-PER |
出 | O | O | O |
生 | O | O | O |
于 | O | O | O |
苏 | I-LOC | B-LOC | B-LOC |
格 | I-LOC | I-LOC | I-LOC |
兰 | I-LOC | I-LOC | E-LOC |
在传统的统计方法之中,特征的选择是至关重要的,选择更好的特征能够提高实体抽取的效果。常见的特征可以分为形态、词汇、句法、全局特征、外部信息等。形态特征包括词形、大小写、词缀等等。词汇特征包括前接词、连接词、窗口词、提示词等[15],在中文领域,还有汉字层面的特征,如单字[16]、尾字[15, 17]等。句法信息常见的包括句法分析,实体与核心 谓词的距离,语义角色分析等等[18]。全局信息则包括同现、缩写形式等[15]。外部信息包括一些字典[19]、外部知识,例如《知网》(HowNet)在中文命名实体识别中可以提高模型的泛化性能[20]。
统计学习方法较之基于规则的方法,更加灵活和健壮,可以移植到其他领域。但是这些模型依赖人工设计的特征和现有的自然语言处理工具(如分词工具)。人工设计的特征和自然语言处理工具直接影响到统计模型的性能。
2.2.3基于深度学习的方法
在近年来深度学习模型逐渐火爆的背景下,大量的深度学习模型被使用到实体抽取任务之中。基于深度学习的方法,不需要设计复杂的特征,对自然语义处理工具的依赖也较少。基于深度学习的方法主要使用神经网络模型,结合条件随机场模型。常用的神经网络模型包括卷积神经网络(Convolutional Neural Networks, CNN)、循环神经网络(Recurrent Neural Network,RNN)、长短期记忆网络(Long Short-Term Memory,LSTM)等,其中BiLSTM-CRF是目前最为常用的命名实体识别模型。Huang等人[21]第一次使用BiLSTM-CRF来进行序列标注任务,取得了比单独使用LSTM或CRF获得更为准确的结果。如图3所示,BiLSTM-CRF模型一般分为5层,底层为输入层,输入的字符在嵌入层转化为嵌入向量,前向LSTM和后向LSTM分别对序列进行表示,获取当前序列的上下文信息,构建序列的双向表达,并将之合并,使用CRF学习上下文标签,结合BiLSTM层的输出,预测当前序列概率最大的标签,通过输出层输出结果。Lample 等人[22]使用BiLSTM-CRF进行命名实体识别的研究,不仅仅在英文上取得较好的结果,而且在德语、荷兰语、西班牙语上取得了比以前模型更好的效果。同时,学者们研究发现词嵌入层的稀疏词会影响模型的效果。为了提高RNN-CRF模型的效果,Rei等人[23]使用注意力机制将词向量和字向量进行结合,如图4所示,字向量和词向量通过不同权重结合起来。基于注意力机制的结构即使是在较少的训练语料上也有不错的效果。Ma等人[24]在BiLSTM-CRF模型的基础上加入CNN层,能够实现端到端的命名实体识别,无需特征工程或者数据的预处理。
对于中文实体抽取任务来说,词语包含了大量的信息,如何有效地利用这些信息是近年来中文实体抽取地主要工作。Zhang等人[24]提出了Lattice-LSTM模型,能够引入先验词典信息。类似的还有Gui等人[26]使用CNN中对N-gram的卷积操作来得到句子中的潜在词语信息。在Lattice-LSTM中,每个字只能接受以它尾词尾的词语的信息,所以Gui等人[27]提出使用图神经网络(Graph Neural Network,GNN)来融合词典的信息,通过图中各个节点的相连结构来实现局部语义信息的融合,并增加一个全局节点实现全局信息融合。
基于深度学习的方法,不需要人工来设计特征,同时能够取得较高的准确率和召回率。但是这些模型十分依赖人工标注数据,标注语料的缺乏为模型的训练带来了极大的困难。而迁移学习的发展成为解决这一问题的重要方法。所谓迁移学习,指的是将某个领域或任务上学习到的知识或模式应用到不同但相关的领域或问题中。采用迁移学习的方法,一般是使用预训练(Pre-training )模型,在具体任务上使用少量标注数据进行微调(fine-tuning )方法。其中,BERT[28]是最有代表性的预训练模型,如Khan等人[29]使用BERT结构的多任务学习模型进行医药领域的命名实体识别。
2.2.4开放域实体抽取
传统的实体抽取技术主要是面向限定域和纯文本数据。但是在许多情景下,需要抽取海量、异构的数据中开放类别的实体。区别于限定域的实体抽取,开放域的实体抽取有以下两个特点:①实体类别的开放性:不仅仅局限于抽取人名、地名、机构名等传统实体类别,更多的是抽取目标类别未知。②面向的数据的开放性:传统的实体抽取技术往往是面向纯文本领域,而且更多的是指定领域。而开放域的实体抽取,面向的是海量的、多源异构的网络数据。这些数据可能存在噪声。
开放域实体抽取方法的基本假设是“同类实体在数据中具有相似的结构或者相似的上下文特征”。主要有两种策略,一种是采用bootstrapping策略,迭代扩展实体语料库的解决方案[30]。基本思路是根据已知的实体实例进行特征建模,利用该模型处理海量数据集得到新的命名实体列表,然后针对新实体建模,迭代地生成实体标注语料库。如图5所示,给出若干种子词,抽取器对种子集合进行建模,从数据之中获取同属这个类别的实体,打分器计算候选实体的置信度并排序,输出置信度高的实体,过滤掉置信度较低的实体。另一种思路则是从搜索引擎的服务器日志获取新出现的命名实体,基于实体的语义特征从搜索日志中识别出命名实体,然后采用聚类算法对识别出的实体对象进行聚类[31]。
2.3实体抽取的挑战与趋势
现阶段的实体抽取模型很少考虑标签重叠问题。所谓标签重叠,指的是每个词或字具有两种以上的标签。而现阶段的模型,每个词或字只能属于某一类标签。对于多标签的实体抽取,仍然是实体抽取未来的主要研究方向之一。目前的实体抽取方法大都局限于抽取人名、地名、机构名等传统实体类别,而实际应用中,所需要抽取的类别会更多,并且缺乏标注数据。因此,如何使用弱监督模型,或者迁移学习的方法来提高领域实体抽取的效果,也是实体抽取亟待解决的问题。
参考文献
[1] 孙镇, 王惠临. 命名实体识别研究进展综述[J]. 现代图书情报技术, 2010(06): 42-47.
[2] 刘浏, 王东波. 命名实体识别研究综述[J]. 情报学报, 2018,37(03): 329-340.
[3] RAU L F. Extracting company names from text, 1991. IEEE.
[4] 宋柔, 朱宏. 基于语料库和规则库的人名识别法, 厦门, 1993. 中国计算机学会, 1.
[5] 季姮, 罗振声. 基于反比概率模型和规则的中文姓名自动辨识系统, 太原, 2001. [中国中文信息学会, 中国计算机学会], 9.
[6] COLLINS M, SINGER Y. Unsupervised models for named entity classification, 1999.
[7] BORTHWICK A, GRISHMAN R. A maximum entropy approach to named entity recognition[D]. Citeseer, 1999.
[8] ISOZAKI H, KAZAWA H. Efficient support vector classifiers for named entity recognition, 2002. Association for Computational Linguistics.
[9] BIKEL D M, MILLER S, SCHWARTZ R, et al. Nymble: a high-performance learning name-finder, 1997. Association for Computational Linguistics.
[10] BIKEL D M, SCHWARTZ R, WEISCHEDEL R M. An algorithm that learns what’s in a name[J]. Machine learning, 1999,34(1-3): 211-231.
[11] LAFFERTY J, MCCALLUM A, PEREIRA F. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data[J]. Proc ICML, 2002: {}.
[12] PENG N, DREDZE M. Named entity recognition for chinese social media with jointly trained embeddings, 2015.
[13] ATKINSON J, BULL V. A multi-strategy approach to biological named entity recognition[J]. Expert Systems with Applications, 2012,39(17): 12968-12974.
[14] LIU X, ZHANG S, WEI F, et al. Recognizing named entities in tweets, 2011.
[15] 张玥杰, 徐智婷, 薛向阳. 融合多特征的最大熵汉语命名实体识别模型[J]. 计算机研究与发展, 2008(06): 1004-1010.
[16] 冯元勇, 孙乐, 李文波, 等. 基于单字提示特征的中文命名实体识别快速算法[J]. 中文信息学报, 2008(01): 104-110.
[17] 冯元勇, 孙乐, 张大鲲, 等. 基于小规模尾字特征的中文命名实体识别研究[J]. 电子学报, 2008(09): 1833-1838.
[18] 郭喜跃, 何婷婷, 胡小华, 等. 基于句法语义特征的中文实体关系抽取[J]. 中文信息学报, 2014,28(06): 183-189.
[19] LIN Y, TSAI T, CHOU W, et al. A maximum entropy approach to biomedical named entity recognition, 2004. Citeseer.
[20] 郑逢强, 林磊, 刘秉权, 等. 《知网》在命名实体识别中的应用研究[J]. 中文信息学报, 2008(05): 97-101.
[21] HUANG Z, XU W, YU K. Bidirectional LSTM-CRF models for sequence tagging[J]. arXiv preprint arXiv:1508.01991, 2015.
[22] LAMPLE G, BALLESTEROS M, SUBRAMANIAN S, et al. Neural Architectures for Named Entity Recognition, 2016.03.
[23] REI M, CRICHTON G, PYYSALO S. Attending to Characters in Neural Sequence Labeling Models[J]. 2016: {}.
[24] MA X, HOVY E. End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF[Z]. 2016{}.
[25] ZHANG Y, YANG J. Chinese ner using lattice lstm[J]. arXiv preprint arXiv:1805.02023, 2018.
[26] GUI T, MA R, ZHANG Q, et al. Cnn-based chinese ner with lexicon rethinking, 2019. AAAI Press.
[27] GUI T, ZOU Y, ZHANG Q, et al. A Lexicon-Based Graph Neural Network for Chinese NER, 2019.
[28] DEVLIN J, CHANG M, LEE K, et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, 2019.
[29] KHAN M R, ZIYADI M, ABDELHADY M. MT-BioNER: Multi-task Learning for Biomedical Named Entity Recognition using Deep Bidirectional Transformers[J]. arXiv preprint arXiv:2001.08904, 2020.
[30] WHITELAW C, KEHLENBECK A, PETROVIC N, et al. Web-scale named entity recognition, 2008.
[31] JAIN A, PENNACCHIOTTI M. Open entity extraction from web search query logs, 2010. Association for Computational Linguistics.