张 毅,王爽胜,何 彬,叶培明,李克强
(重庆邮电大学通信与信息工程学院,重庆 400065)
随着互联网和大数据技术的发展,信息化技术被广泛应用于教育领域,当前有很多线上题库网站,能辅助学生进行课外学习。但是,一方面这些平台的运营和维护需要耗费大量的人工成本,同时存在人为主观因素的影响。因此如何让计算机去阅读并理解知识,实现教育资源的自动化整合和管理是目前的研究热点。另一方面题库中的试题一般以章节知识点进行分类,比较粗糙,用户很难准确找到符合自身需求的试题,因而对初等数学试题文本进行自动化的细致知识点标注显得十分重要。
命名实体识别(Named Entity Recognition,NER)是自然语言处理领域的基本任务之一,它能识别出文本中体现概念的实例,即实体。对试题文本进行命名实体识别是进行细致化知识点标注的基础,同时也能为试题平台节省人力成本,并为后续领域知识图谱的构建、试题推荐等应用打下基础,基于上述需求,本文通过爬取题库网站中的试题文本构造数据集,并在此数据集的基础上对初等数学领域的实体识别展开研究。
对于命名实体识别的研究主要经历了以下几个阶段:
第一个阶段是采用基于词典和规则的方法,这种方法的缺点是太依赖于专家的手工构造的规则模板,不仅耗费人工,且存在主观因素,容易产生错误,可移植性差。
第二个阶段主要是基于统计机器学习的方法,例如乐娟等[1]将隐马尔可夫模型应用到京剧领域进行命名实体识别;程健一等[2]利用支持向量机(Support Vector Machine,SVM)与条件随机场(Conditional Random Field,CRF)结合的分类器对电子病历中的隐私信息进行判别;何彬等[3]利用字符级别的CRF 构建了医学实体的识别模型,避免了因为分词而带来的错误积累。基于统计机器学习的方法尽管不需要手工构造规则模板,但是繁琐的特征工程依然需要大量人工参与。
第三阶段,随着深度的发展,由于深度学习的方法避免了繁琐的特征工程,同时拥有较强的泛化能力,使其在NER任务上得到很好的应用。例如,单向长短期记忆(Long Short-Term Memory,LSTM)网络,因其较强的序列特征提取能力,被广泛用于NER 任务中,且常与CRF 结合(LSTM-CRF)[4],以得到更好的识别效果。由于单向长短期记忆网络只能提取单向的文本特征,因此Lample 等[5]在此基础上提出了双向长短期记忆(Bidirectional LSTM,BiLSTM)网络,以提取全局的上下文特征,并与CRF 结合组成BiLSTM-CRF 神经网络模型,使得识别效果进一步提升,此后该模型逐渐成为深度学习解决各个领域NER 问题的主流模型。例如Tang 等[6]采用BiLSTM-CRF 方法进行司法领域的命名实体识别;肖瑞等[7]将BiLSTM-CRF 模型,应用到中医领域,对中草药、疾病以及症状进行实体识别,取得了较好的效果。
同时有很多学者在BiLSTM-CRF 模型的基础上对其进行了改进。例如李丽双等[8]首先利用卷积神经网络(Convolutional Neural Network,CNN)训练出字符级向量,然后输入到BiLSTM-CRF 中,以解决人工特征的依赖性问题;在化学领域上,Luo 等[9]在BiLSTM-CRF 模型的基础上引入了注意力机制(Attention),以达到文档级别的标注能力;张晗等[10]将生成对抗网络与基于注意力机制的BiLSTM-CRF 模型结合解决由于实体名称多样性导致标注不一致的问题,以提高识别效果。
此外Strubell 等[11]首次采用迭代膨胀卷积神经网络(Iterated Dilated Convolutional Neural Network,IDCNN)进行命名实体识别,由于IDCNN 较传统CNN 具有更大的接受域,因此在提取序列特征时能够很好地兼顾到局部特征;吕江海等[12]在IDCNN-CRF 模型的基础上引入注意力机制,该模型采用特殊步长的膨胀卷积对文本特征进行提取,同时引入注意力机制使得文本特征更加精确。
另一方面,为了使词向量能够表征丰富的语义特征,有学者提出了预训练语言模型,即通过在较大规模无标注数据上做无监督训练,以提取丰富的语境及语义特征,服务于下层的自然语言处理任务。
当前,在自然语言处理领域,使用较为广泛的预训练语言模型是word2vec,但是它训练出来的词向量属于静态的词嵌入,无法表示一词多义[13]。针对此问题,Peters 等[14]提出一种基于BiLSTM 结构的预训练语言模型ELMo(Embedding from Language Models),该模型能提取双向的文本特征。此外,Radford 等[15]将提出了一种基于单向Transformer 编码器结构的预训练模型GPT(Generative Pre-Training),Transformer编码器相较于LSTM 能够提取更远的语义信息,但是由于GPT 模型是单向的,无法提取到全局的上下文信息,因此谷歌团队Devlin 等[16]提出双向Transformer 编码器结构的预训练语言模型BERT(Bidirectional Encoder Representation from Transformers),进一步提升了词向量的语义表征能力,使其在下游的命名识别任务上获得了较大的提升。例如Souza等[17]将BERT-CRF 模型应用到葡萄牙语的命名实体识别上,取得了较好的识别效果;张秋颖等[18]提出一种基于BERT 的BiLSTM-CRF 模型用于学者主页信息抽取,结合BERT 模型后,模型的识别效果得到了较大提升;王月等[19]在BERTBiLSTM-CRF 模型的基础上引入注意力机制,进行警情文本的命名实体识别,进一步提升了模型的性能。
考虑到BERT 预训练语言模型具有表征一词多义的能力,以及IDCNN 模型能够兼顾局部特征的优势,本文在基础模型BiLSTM-CRF 上提出了一种命名实体识别方法BERTBiLSTM-IDCNN-CRF。该方法首先利用BERT 模型进行预训练获取词向量表示,然后将词向量输入到BiLSTM 与IDCNN中进行特征提取,并将两者提取到的特征向量进行拼接,以弥补BiLSTM 忽略掉局部特征的缺点,最后通过CRF 进行修正后输出。同时为了捕捉对于分类起关键作用的特征,本文在所提方法的基础上引入了注意力机制,即在BiLSTM 与IDCNN 提取特征后,通过注意力机制对所提取到的特征进行权重分配以强化关键特征的作用。本文将所提出的方法应用到教育领域,即对初等数学语料进行命名实体识别,实验结果表明,该方法在初等数学语料中达到了93.91%的F1值,相较于基准方法BiLSTM-CRF 有较大的提升,引入注意力机制后该方法的实体识别效果无显著变化。
本文提出的基于BERT 的初等数学文本的命名实体识别方法的核心是BERT-BiLSTM-IDCNN-CRF 神经网络模型的构造。图1 为结合注意力机制后的BERT-BiLSTM-IDCNNCRF 神经网络模型的整体结构,该模型主要由四层组成:BERT 预训练层、BiLSTM 与IDCNN 融合层、注意力机制层和CRF 推理层。BERT 预训练层主要是通过无监督方式在大规模未标注数据上做训练,以提取丰富的语法及语义特征,得到词向量表示;BiLSTM 与IDCNN 主要是完成下层的特征提取任务,并将BiLSTM 和IDCNN 模块的输出的特征向量进行拼接,以保留BiLSTM 和IDCNN 两者提取到的特征,实现特征融合,并将融合的特征向量传递给注意力机制层;注意力机制层主要是提取对于分类起关键作用的特征;最后利用CRF 层对Attention 层的输出进行解码,得到一个预测标注序列,从而完成识别任务。
图1 融合Attention的BERT-BiLSTM-IDCNN-CRF神经网络模型的整体结构Fig.1 Overall structure of BERT-BiLSTM-IDCNN-CRF neural network model with attention mechanism
本文模型主要优势在于三个方面:1)BERT 语言预处理模型能自动提取出序列中丰富的词级特征、语法结构特征和语义特征;2)BiLSTM 模型能够提取到全局的上下文特征,但是会忽略掉部分局部特征,本文将IDCNN 模型提取到的局部信息与BiLSTM 模型的输出进行融合,能进一步提高模型特征提取能力;3)注意力机制对提取到的特征进行权重分配,能强化关键特征,弱化对于识别不起作用的特征。
BERT 模型的结构如图2 所示,其中模型的输入向量为E1、E2、…、En,并通过在大规模无标注数据上进行训练,得到相应的参数,推理输出输入序列的词向量表示,即T1、T2、…、Tn,使得词向量具有较强的语义表征能力,图2 中Trm 代表Transformer 编码结构。
图2 BERT结构Fig.2 Structure of BERT
BERT 预训练模型的主要由双向Transformer 编码结构组成,其中Transformer[20]由自注意机制和前馈神经网络组成,相较于LSTM 能捕捉更远距离的序列特征。Transformer 编码结构如图3 所示。
图3 Transformer编码结构Fig.3 Encoding structure of Transformer
自注意力机制的工作原理主要是计算文本序列中词与词之间的关联程度,并根据关联程度的大小来调整权重系数的大小,这样训练出来的词向量是一种动态的词嵌入,能够提取到远距离的序列特征。其中关联程度大小的计算方法如式(1)所示:
其中:Q表示查询向量;K表示键向量;V表示值向量。同时为了使Q、V的内积不至于过大,引入了惩罚因子,其中dk表示输入向量维度。
从Transformer 编码结构中可以看出,它使用的是多头注意力机制,相较于一头注意力机制可以捕捉多个维度的信息,以提升词向量的表征能力。它的主要实现方式是将Q、K、V进行多次不同的线性映射,并将得到的新的Q、K、V重新计算得到不同的Attention(Q,K,V)并将它们进行拼接,具体方法如式(2)~(3)所示:
其中:W是权重矩阵。在Transformer 结构中如果多头注意力机制的输出表示为Z,b是偏置向量,则全链接前馈网络(Feed-Forward Network,FFN)可以表示为式(4):
由于注意力机制不能捕捉词的位置信息,于是引入位置向量与词向量作和作为模型的输入。同时为了解决神经网络训练过程中出现梯度消失的问题,Transformer 将上一层的输入信息直接传送给下一层[21],如图3 中求和与归一化这一层的输入就包含上一层的输入和输出。为了提高神经网络的训练速度,Transformer 将每一层的激活值进行了归一化处理,以加快收敛[22]。
此外BERT 模型进行无监督训练时采用的是遮蔽语言模型(Masked Language Model,MLM)和下一句预测的方法,相较于ELMO 和GPT 单向的训练方式能更好地捕捉到词语级和句子级的特征。其中:遮蔽语言模型的实现方法是随机遮蔽少部分的词,让训练模型预测遮蔽部分的原始词汇,以提取更多的上下文特征;下一句预测训练方法是指训练模型判断两个句子之间是否具有上下文关系,并用标签进行标注,该方法能让词向量表征更丰富的句子级特征。
BiLSTM 由两层方向相反的LSTM 组成,以提取全局的上下文特征。LSTM 是一种特殊的循环神经网络(Recurrent Neural Network,RNN),相较于传统的RNN,LSTM 神经元结构创新地采用了三个门控制单元:输入门、输出门和遗忘门,其中输入门控制当前信息,输出门决定输出信息,遗忘门决定遗忘神经元中的哪些信息。通过三个门的控制,使得LSTM 具有长序列特征的记忆功能,同时解决了传统RNN 训练过程中出现的梯度消失及梯度爆炸问题[23]。三个门的状态更新方式如式(5)~(9)所示:
其中:ft、it、ot分别表示t时刻遗忘门、输入门、输出门的状态;σ表示sigmoid 激活函数;W表示权重矩阵;b为偏执项;ct为LSTM 神经元中的记忆信息;ht为隐藏层状态信息,最后神经元之间传递的是记忆信息和隐藏层状态信息。
迭代膨胀卷积神经网络是由多层不同膨胀宽度的膨胀卷积神经网络(Dilated Convolutional Neural Network,DCNN)[24]组成,DCNN 相较于传统的卷积神经网络,其卷积核作了膨胀处理,因此增加了感受野。如图4(a)所示为常规的卷积操作,膨胀宽度为1,卷积核大小为3×3,其感受野也为同样大小的3×3,而图4(b)所示为膨胀宽度为2 的3×3大小的卷积核,但是其感受野扩展为7×7。DCNN 的好处在于不改变卷积核大小的情况下,使卷积输出包含更大视野的信息,因此能够较好地捕捉长序列特征,同时也能兼顾到局部特征[25]。
图4 膨胀卷积示意图Fig.4 Schematic diagram of dilated convolution
注意力机制层的主要作用是在BiLSTM 和IDCNN 融合层提取的特征中提取出对实体识别起关键作用的特征,其主要思想是通过对上层输出的特征向量中的特征进行权重分配,突出对分类起关键作用的特征,弱化甚至忽略无关特征。对于i时刻模型经过注意力机制加权后的输出如式(10)所示:
其中:wi表示利用注意力机制加权后的字特征向量;hj为BiLSTM 和IDCNN 融合层输出的特征向量;n表示模型输入的字符数;权重λij是由前一时刻字特征向量wi-1与hj通过式(11)~(12)计算得到。
其中:vλ、uλ、ub为权重。注意力机制层即对所有时刻的输出乘上对应的权重相加作为输出。
CRF 的作用是对识别结果进行进一步的修正,即提取标签之间的依赖关系,使得识别的实体满足标注规则,其主要的实现方法是对于一个输入序列X=x1,x2,…,xn,其对应的预测序列为Y=y1,y2,…,yn,通过计算Y的评分函数,得到预测序列Y产生的概率,最后计算当预测序列产生概率的似然函数为最大时的预测标注序列作为输出。其中预测序列Y的评分函数的计算方法如式(13)所示:
其中:A表示转移分数矩阵;Ai,j代表标签i转移为标签j的分数;P是上层输出的得分矩阵,Pi,j表示第i个词在第j个标签下的输出得分。在得到序列Y的评分后,预测序列Y产生的概率,如式(14)所示:
本文采用爬虫的方式从在题库网中爬取出10 万字左右的初等数学试题文本,并对试题文本进行标注,实体类别有13 种:角、圆、椎体、方程、函数、线、点、四边形、数列、集合、面、三角形、向量。部分实体的描述和示例如表1 所示。
表1 部分实体表述与示例Tab.1 Representation and examples of some entities
在命名实体识别任务中,对于数据中实体的标注主流的方法有两种,分别为BIO 三段标记法和BIOES 五段标记法。本文采用的是BIO 标注方法,即B 表示实体的第一个字符,I表示实体的中间字符,O 表示与所有实体都不相关的字符。
本文采用准确率P、召回率R和F1 值对实体识别效果进行评价,其计算方法如式(16)~(18)所示:
其中:TP为模型识别正确的实体个数;FP为模型识别到的不相关实体个数;FN为模型没有检测到的相关实体个数。
实验基于TensorFlow 框架搭建神经网络模型,详细实验环境配置如表2 所示。
表2 实验环境Tab.2 Experimental environment
实验涉及的训练参数主要有BERT 预训练模型用到的Transformer 结构为12 层,然后是Lstm_dim 为128;DCNN 块中3 层卷积的膨胀宽度分别为1、1、2,attention_size 为128;同时,使用了梯度裁剪技术,以缓解梯度消失和爆炸的影响,clip 设置为5。详细的训练参数如表3 所示。
表3 模型参数Tab.3 Model parameters
为了验证本文所提出的BERT-BiLSTM-IDCNN-CRF 以及结合注意力机制后的BERT-BiLSTM-IDCNN-CRF 模型对于初等数学实体识别的性能,在同一实验环境下,与CRF、IDCNN-CRF、BiLSTM-CRF、BiLSTM-Attention-CRF BERTBiLSTM-CRF 等六种命名实体识别模型在准确率、召回率以及F1 值三项指标上进行了对比,实验结果如表4 所示。
表4 不同模型的命名实体识别结果对比 单位:%Tab.4 Comparison of named entity recognition results of different models unit:%
从表4 中可以看出,与只使用CRF 相比,IDCNN-CRF 模型的识别效果有了较大的提升,这是因为IDCNN 具有提取局部和上下文特征的能力;而BiLSTM-CRF 模型相较于IDCNN-CRF 模型的准确率和召回率均有一定提升,这是因为BiLSTM 相较于IDCNN 具有更强的全局上下特征提取能力,在BiLSTM-CRF 模型的基础上引入注意力机制后,模型的召回率有所提升,整体F1 值变化不明显;此外BiLSTMIDCNN-CRF 和BERT-BiLSTM-CRF 模型的F1 值相较于基准模型BiLSTM-CRF 均有一定提升,这是因为BiLSTM 模型在提取全局的上下文特征时,会丢失掉局部信息,而引入IDCNN 能够提取到局部特征,能有效改善这一缺点,同时BERT 预训练模型具有较强的语义表征能力,能让下层的识别任务表现得更优秀。从实验结果中可以看出,本文提出的BERT-BiLSTM-IDCNN-CRF 模型,利用了BERT 模型较强的表征能力,同时通过BiLSTM 与IDCNN 的融合,改善了BiLSTM 模型忽略局部特征的缺点,在准确率、召回率、F1 值三项指标上较前四种模型均有一定提升,F1 值为93.91%,相较于基准模型BiLSTM-CRF 的F1 值提升了4.29 个百分点,相较于BERT-BiLSTM-CRF 模型的F1 值提高了1.23 个百分点。在BERT-BiLSTM-IDCNN-CRF 模型上引入注意力机制后,F1 值仅提升了0.05 个百分点,注意力机制的引入对所提方法的识别效果提升不大。
为了更加直观展现各个实体识别的效果,图5 为BiLSTM-IDCNN-CRF、BERT-BiLSTM-CRF 和BERT-BiLSTMIDCNN-CRF 三种模型在初等数学文本上各个实体的F1 值。从图5 可以看出:BiLSTM-IDCNN-CRF 在线和四边形的F1 值较BERT-BiLSTM-CRF 模型要高,但是在其他实体的识别效果上比BERT-BiLSTM-CRF 模型低,而本文模型BERTBiLSTM-IDCNN-CRF 结合了两者的优势,在大部分实体的识别效果上较两种对比模型要好。
图5 三种模型各个实体上的F1值Fig.5 F1 score of three models on each entity
本文利用BERT-BiLSTM-IDCNN-CRF 模型得到的各个实体识别结果如表5 所示。从表5 可以看出:本文采用的BERT-BiLSTM-IDCNN-CRF 模型在大部分实体上取得了不错的识别效果,如对线、角、面、数列等实体识别的F1 值均高于91%,部分实体类别如角、向量、数列等识别准确率能达到94%以上,其主要原因是这些实体类别的周围往往有一些明显的特征,如角的前面一般都有关键字∠,向量的后面一般会有关键字→,数列的前后一般会有{},且一般这些实体之前都会有提示词,因此可以让模型捕捉到明显的特征信息进行正确的标注;需要说明的是这些关键词和提示词并不总是存在,且其他实体类别周围往往没有这些明显的特征。此外,从图5 和表5 可以看出:实体圆和方程的标注结果较其他实体的效果差,其主要原因是圆和方程会出现实体嵌套情况,如圆的坐标表示会用到方程,使得识别效果变差。
表5 BERT-BiLSTM-IDCNN-CRF对各个实体的识别结果 单位:%Tab.5 Recognition results of BERT-BiLSTM-IDCNN-CRF to each entity unit:%
本文对初等数学领域的命名实体识别进行了研究,提出了一种基于BERT 的初等数学文本命名实体识别方法,该方法利用BERT 预训练模型获得词的向量化表示,然后输入到BiLSTM 和IDCNN 模型中进行特征提取,并将两者的输出的特征向量进行融合,最后通过CRF 对初等数学试题文本中的点、线、面、向量等实体进行标注。实验结果表明,本文方法的识别效果明显好于传统的CRF 方法,且相较于其他几种主流命名实体识别方法也有一定的提升。同时在所提方法的基础上引入注意力机制后,该方法的召回率下降,但是准确率有所上升。部分实体之间存在实体嵌套的情况,导致识别率偏低。本文实现的初等数学命名实体识别为后续相关领域知识图谱的构建打下基础,而且与传统机器学习方法相比,本文方法不依赖于特定领域的人工特征,因此可以很容易地应用到其他领域。后续将进一步扩大数据集的规模,并针对实验过程中出现的实体嵌套问题展开研究,以达到更好的识别效果。