民航突发事件实体识别方法研究

2020-03-13 10:56李浩飞
计算机应用与软件 2020年3期
关键词:字符事发突发事件

王 红 李浩飞 邸 帅

(中国民航大学计算机科学与技术学院 天津 300300)

0 引 言

知识图谱[1]是知识表示的重要工具,国内外学者针对知识图谱构建方法及其应用方面做了大量的研究[2-7],利用知识图谱可以有效地实现领域知识的表达、检索与推理。近年来民航突发事件呈多元化趋势,包括大面积航班延误、航空器危险接近、航空器坠毁等。

研究民航突发事件知识图谱构建的关键问题对于提升民航突发事件应急处置能力具有重要意义。民航突发事件知识图谱构建的核心内容包括实体识别和实体关系抽取等,其中民航突发事件实体识别是构建民航突发事件知识图谱的基础。

民航突发事件实体识别[8]是一种特定领域的实体识别,主要任务是从非结构化民航突发事件文本数据中识别出事发时间、事发地点、事发原因、事发结果、航空公司、飞机型号、注册号等多种不同类型实体,目的是对民航突发事件领域中专业词汇进行确认和分类,从而实现对非结构民航突发事件数据结构化,并以结果化形式进行知识表示。目前,民航突发事件实体识别主要有两个难点:1) 由于领域的特殊性,基于传统的统计机器学习的实体识别往往依赖领域语言学知识且需要大量人工定义特征模板。2) 该领域的实体长度一般较长,存在大量复合或混合型实体,例如复合起飞地名(美国南卡罗来纳州哥伦比亚大都会机场)、航空公司名等,或混合型实体如飞机型号(萨博A340A型飞机)等。实体的边界模糊、结构复杂,实体长度较长且内部相关关系较为密切,传统的网络结构难以学习此类依赖关系。

目前实体识别的研究主要集中在医疗[9-10]、社交媒体[11-12]、农业[13]、渔业[14-15]、动物卫生[16]、军事[17]、海事[18]等领域。实体识别方法主要分为三类:基于规则的方法、基于统计机器学习的方法和基于深度学习的方法。其中:1) 基于规则的方法通常依赖于启发式和手工制作的规则来识别实体,通过语言学者和领域专家手工制定的大量规则通常会导致相对较高的系统工程成本,且领域移植性相对较差。2) 基于统计机器学习方法将实体识别视为序列标记问题,其目标是找到给定输入句子的最佳标签序列来识别实体。典型的方法是隐马尔可夫模型(Hidden Markov Model,HMM)[19],支持向量机(Support Vector Machine,SVM)[20]和条件随机场(Condition Random Fields,CRF)[21]。但此类模型识别实体的准确率往往依赖于人工预先定义特征集的数量及质量。3) 基于深度学习的方法在词性标注、关键词提取、命名实体识别(Named Entity Recognition,NER)等众多自然语言处理子任务均有突破性进展。尤其是基于循环神经网络(Recurrent Neural Network,RNN)方法,可以很好地处理NER问题,它不仅优于传统的统计机器学习方法,而且避免大量使用人工定义特征模板,然而RNN无法有效解决长距离依赖以及在反向传播时存在的梯度消失或爆炸问题。针对此问题,Hochreiter等[22]提出一种利用门限机制对历史信息进行过滤的LSTM模型,Hammerton[23]首次将LSTM模型运用到NER。然而LSTM只捕获了文本的上文信息,对于NER任务,下文信息也同样重要。冯艳红等[24]将BiLSTM模型[25]用于NER任务,在多个中文数据集上取得不错的效果。Peng等[26]首次构建基于微博信息的中文社交媒体语料库,先利用LSTM模型提取文本特征,再通过CRF进行分类,最终提高了社交媒体实体识别的性能。

为此,本文将BiLSTM与CRF相结合,提出了一种基于BiLSTM-CRF(Bidirectional Long-Short Term Memory-Conditional Random Filed)的民航突发事件实体识别方法,旨在解决非结构化民航突发事件文本信息中实体的自动获取问题。

1 研究思路

民航突发事件文本集合T={i1,i2,…,in}⊆I,在ii中存在实体集合F={f1,f2,…,fn},其中fi是民航突发事件文本I中的某个实体,每个fi都唯一映射实体类型集合K={k1,k2,…,kn}中的实体类型kt。我们的目的是将民航突发事件文本集合I={i1,i2,…,in},通过BiLSTM-CRF模型抽取出每个文本ii中的所有实体集合F={f1,f2,…,fn},并分别给每个实体fi标记实体类型kt。民航突发事件实体识别方法研究思路如图1所示。

图1 民航突发事件实体识别过程

(1) 数据预处理:对民航突发事件文本进行标注,同时对其进行字符向量训练。

(2) 构建BiLSTM-CRF模型:将标注好的数据通过查找预先训练的字符向量表替换为字符向量序列,输入到BiLSTM模型中,获取序列化文本的上下文特征,再通过CRF模型获取序列标注结果提取出民航突发事件实体,并将民航突发事件知识以<头实体,关系,尾实体>三元组的形式储存在图数据库中形成结构化知识体系。

2 数据预处理

将民航突发事件文本进行数据去重,然后利用Word2vec对数据进行字符向量训练,生成字符向量表,同时采用自动标注方式对民航突发事件实体进行标注。由于分词的质量取决于词典,因此首先构建领域词典,然后通过匹配领域词典中的航空公司名库、航班号库、起飞地名库等相关实体库的方式,采用Python编程语言中的Jieba自定义词典分词模块进行分词与实体标注。

民航突发事件实体识别任务可以视为序列标注任务。为更加清楚地划分实体边界,采用BIEO(Begin,Inside,End,Outside)标签方案对民航突发事件语料进行标注。B表示民航突发事件实体的第一个字符,I表示实体的内部字符,E表示实体的结尾字符,O表示非实体的字符(如表1所示)。给定一个民航突发事件文本中含有n个字符的句子S={c1,c2,…,cn},采用上述标注方法标记句子S的每个字符ci。例如,“……QF-8航班……”的标签序列(如表2所示)。

表1 实体标注方法

表2 字符序列标注实例

3 BiLSTM—CRF模型构建

根据图1的研究思路和民航突发事件实体结构特点,采用字符向量作为BiLSTM的输入,并利用Bi-LSTM来捕捉分布表示中实体的过去和未来的上下文信息。由于BiLSTM忽略了标签的等价性质,因此,我们结合CRF序列模型来确保标记的一致性,提高输出的准确率。该模型主要分为以下3层,其模型如图2所示。

图2 BiLSTM-CRF民航突发事件实体识别模型

3.1 字符向量表示层

在编码阶段,采用字符向量的表示方法。字符向量化一般有两种表示方法:one-hot表示和分布式表示。基于分布式表示的字符向量不仅避免维度灾难,而且也学习到民航突发事文本中字符之间的语义特征,故选择基于分布式表示的字符向量作为BiLSTM层的输入。

利用Word2vec的CBOW模型或Skip-gram模型进行训练可得到分布式表示,而CBOW的训练效率高于Skip-gram,故本文将民航突发事件语料通过CBOW模型进行训练,其生成的字符向量表共包含3 496个汉语字符、英文字符和特殊字符(如数字,标点符号等)以及它们的分布式数字向量表示。字符向量矩阵大小为3 496×100,具体步骤如下:

(1) 以句子为单位将文本序列进行分隔,含有n个字符的句子则定义为S={c1,c2,…,cn}。

(2) 文本序列的每个字符ci都映射到字符向量矩阵M中的一个字符向量xi。

xi=MdviM∈Rd×|V|

(1)

式中:d表示字符向量的维度;V表示语料字典的总字数,字典汉语字符、英文字符和特殊字符组成;vi的维度为V,其元素取值规则为第i行的值取1,其他行的值取0。

3.2 BiLSTM层

3.2.1LSTM

RNN在处理NER问题取得不错的效果。把序列向量X={x1,x2,…,xn}作为RNN的输入,将返回另一个序列向量H={h1,h2,…,hn},该序列向量H表示学习到的在输入中每个步骤的序列信息。从理论上讲,RNN可以处理长时依赖问题,但在实践中效果很差,只学习到序列数据最近输入的信息。LSTM相对与传统的RNN有着更为复杂记忆单元,在一定程度上大幅减小了梯度爆炸或梯度消失的影响,并且已经被证明可以捕获到长时依赖性。一个LSTM单元由输入门、输出门、遗忘门以及一个记忆单元共同构成,LSTM模型的一个单元更新的过程见图3。

图3 LSTM单元结构图

其具体计算公式定义如下所示:

(2)

it=σ(Wi·(ht-1,xt)+bi)

(3)

ft=σ(Wf·(ht-1,,xt)+bf)

(4)

(5)

ot=σ(Wo·(ht-1,xt)+bo)

(6)

ht=ot⊙tanh(Ct)

(7)

式中:⊙为向量点乘操作;元素σ代表激活函数Sigmoid函数;xt为LSTM层时间在第t步的输入向量(即字符向量);ht-1是LSTM层的隐藏层状态向量(也称输出向量),其存储前t-1步所有有用的时序信息;Wi、Wf、Wc、Wo表示隐藏层向量ht-1的权重矩阵,bi、bf、bc、bo表示偏差向量。

3.2.2BiLSTM

针对序列标注任务,遍历过去和未来的上下文对解决实体识别问题是有帮助的。然而,LSTM的隐藏状态仅从过去获取信息,对未来一无所知。因此,我们采用BiLSTM来更好解决民航突发事件实体识别这一问题。基本思想是将每个序列向前和向后呈现给两个单独的隐藏状态,以分别捕获序列数据的过去和未来的信息,最后将两个隐藏状态连接起来以形成最终输出。

图4 BiLSTM结构图

然后在BiLSTM的顶部使用tanh激活函数来预测字符的每个可能的标签的置信度分数。

et=tanh(Weht)

(8)

式中:We为隐藏层的权重矩阵。

3.3 CRF输出层

对于序列标记任务,考虑邻域中标签之间的相关性并联合解码对预测输入句子的最佳标签链是有益的。在民航突发事件实体识别中,I-ARIL不能跟随I-DATE。因此,本文模型使用CRF和BiLSTM共同模拟标记序列。

记P为BiLSTM层输出的得分矩阵,其中P的大小为n×k,n为输入序列的长度,k为标签集合的大小,则P的第t列是由式(8)得出的向量et,那么Pi,j表示输入文本序列中第i个字符对应第j个标签的分数。我们引入了转换矩阵A,其中Ai,j表示连续字符由标签i到标记j的转换概率。这个转换矩阵将被训练为模型的参数。对于长度为n的句子X={x1,x2,…,xn}的标签序列y={y1,y2,…,yn},其分数为:

(9)

使用Softmax函数计算条件概率p(y|X):

(10)

式中:YX是对于输入字符序列X所有可能标签序列。我们使用最大条件似然估计来训练模型:

(11)

训练结束后,在预测标签时,寻找得分最高的标签序列作为输出结果,即:

(12)

4 实验与结果分析

4.1 数据集与评价指标

所使用的语料主要来自中国民用航空安全信息系统[27]发布的世界航空安全事故调查跟踪报告等文本数据900余个。按照第2节数据标注方法标注实体,建立了一个基于民航突发事件实体识别的语料库,作为本文实验的实体识别数据集,如表3所示。

表3 语料统计信息

本文采用NER中常用的正确率(precision)、召回率(recall)和F值作为模型性能评价指标,计算公式如下:

(13)

(14)

(15)

式中:out_right表示正确预测的实体个数;out表示所有预测的实体个数;all表示测试集中所有的实体个数。在准确率相同的情况下,召回率越高越好;在召回率相同的情况下,准确率越高越好。

4.2 实验环境与模型参数设置

本文实验环境及其配置如表4所示。

表4 实验环境配置

采用Adam算法来优化模型参数,利用Dropout机制消除BiLSTM模型过拟合的影响,并使用梯度裁剪技术避免梯度爆炸。模型参数设置如表5所示。

表5 参数设置

4.3 实验结果

选取4.1节民航突发事件数据集的训练集在本文提取的模型上进行训练,再采用测试集对训练后的模型进行评测。对民航突发事件的事发时间、航空公司、飞机型号、注册号、航班号、起飞地、目的地、乘客人数、机组人数、事发地点、伤亡人数、事发原因和事发结果共13种实体类型的实体进行识别,具体结果如表6所示。

表6 民航突发事件实体识别实验结果 %

从表6可以看出,事发时间的实体识别F值最高,乘客人数和机组人数的实体F值相对较高,主要是由于事发时间、乘客人数和机组人数实体类型为日期型数据和数值型数据,其表达形式相对固定且实体语义较为简单。事发地点、目的地实体准确率相对较低主要是由于字符数量相对较长且其实体语义较为复杂。而在民航突发事件数据集中伤亡人数的实体分布低于其他实体,因此其F值相对较低。

在提取相应实体之后,将民航突发事件知识以三元组形式加载到Neo4j图数据库进行知识的整合与存储。图5为结构化民航突发事件知识局部效果,其中:实线椭圆表示头实体(由事发时间实体和航班号实体拼接而成作为事件的唯一标识实体);虚线椭圆表示尾实体;实线箭头代表头实体与尾实体的关系(以尾实体的实体类型名称来指代实体间关系)。

图5 结构化民航突发事件知识局部效果

4.4 对比分析

为体现BiLSTM-CRF在F值上的优势,本文在民航突发事件数据集上,分别对CRF、LSTM、BiLSTM、LSTM-CRF和BiLSTM-CRF这5种模型进行对比实验,其中CRF模型使用原子特征、组合特征、标记特征相结合的特征模板[28],以准确率、召回率和F值对各模型评测,实验结果如表7所示。

表7 民航突发事件数据集各模型实体识别实验对比 %

从表7可知,LSTM模型较CRF模型的F值高出1.83%,这表明基于深度学习网络模型相对于基于传统机器学习方法能够更好地利用句子级的语义特征,取得更好的实体识别效果。同时, BiLSTM模型要略好于LSTM,这是因为LSTM模型仅能捕获到实体的过去上下文信息,而BiLSTM捕获到实体的过去和未来的信息,弥补了LSTM模型的劣势。将BiLSTM模型与CRF模型相结合,避免了深度学习网络模型无法确保输出实体标签的一致性,其F值同BiLSTM模型相比提升了3.94%,使得在民航突发事件实体识别上取得了较好的效果。

5 结 语

本文针对民航突发事件实体自动获取的问题,提出了一种基于BiLSTM—CRF的民航突发事件实体识别方法。该方法在完成实体识别的同时,可以有效实现非结构化民航突发事件文本信息的结构化。实验表明,该模型避免了大量使用人工定义特征模板,同时,F值较基于统计机器学习方法有了进一步的提升。但是,该方法没有考虑更多实体的局部特征,未来将重点关注对民航突发事件实体识别有重要影响的字符,引入注意力机制等方法进一步深入研究。

猜你喜欢
字符事发突发事件
正则表达式快速入门
字符代表几
图片轻松变身ASCⅡ艺术画
突发事件的舆论引导
清朝三起突发事件的处置
视频监视系统中字符叠加技术的应用
突发事件
你会如何应对突发事件