基于Bert-BiLSTM-CRF的中医文本命名实体识别

2021-10-10 03:55屈倩倩阚红星
电子设计工程 2021年19期
关键词:命名准确性实体

屈倩倩,阚红星

(安徽中医药大学医药信息工程学院,安徽合肥 230011)

1991 年Rau 等人在第七届IEEE 人工智能会议上首次提出通过规则以及相关算法对文字中公司的名称进行识别的方法,命名实体识别的概念也由此诞生。命名实体识别的任务是从非结构化数据中抽取出一系列相关的专有名词,例如人名、地名等。作为自然语言处理中关键性的基础工作,命名实体识别模型的有效性直接关系到自然语言处理任务的成败。最初,命名实体识别通过手工构建规则模板的方式进行,该方式对语料库以及构建规则的专家依赖性较大,并且灵活性相对较差。随着计算机技术的不断发展,将机器学习的方法例如条件随机场(CRF)、支持向量机(SVM)等应用于命名实体识别也取得了巨大成效。文献[1]证明了多种特征与CRF结合的方式能够提高命名实体识别模型的准确性。文献[2]利用SVM 算法确定实体的后缀,并通过隐马尔可夫(HMM)模型对实体的前缀进行识别。近年来,神经网络算法以其在小样本的情况下仍能发挥出较强性能的优势,被广泛使用于各个领域的命名实体模型当中。文献[3]利用Transformer-BiGRUCRF 模型将电力领域命名实体识别的准确率提高了5%。文献[4]将卷积神经网络(CNN)与注意力机制相结合,测试集的结果显示该模型的F1 值虽然并没有大幅度增加,但是运行速度提高了一倍。医学命名实体识别的结果直接影响医疗辅助系统、医学数据挖掘、智能诊断系统的准确性[5],对于医学的发展有着重要意义。我国医学按照治病思想可划分为现代医学和中医两个领域,由于两个领域文本表述差别较大,因此分开进行研究可以提高命名实体识别的准确性。文中以中医文本作为研究主体,通过Bert 模型进行词向量的构建,并结合BiLSTM 与CRF模型完成最终命名实体识别的任务。

1 数据收集

《伤寒论》作为中医的经典丛书,对中医的影响十分深远,后世的许多中医古籍皆有其潜移默化的作用,在中医文本中代表性较强。因此,选择《伤寒论》作为研究对象,可以将模型直接迁移至其他中医文本中进行命名实体识别,不需要再重新对模型进行训练。《伤寒论》全文共包含32 614 个字符,划分为80%的训练集、20%的测试集,按照BIO 规则进行标注。B 代表实体开始的位置,I 代表实体的中间以及结尾,O 代表非实体。在中医的诊治过程中,时间是不可忽略的因素,因此根据《伤寒论》中的文本信息,将实体一共划分为五类[6],分别为症状、疾病名称、方剂、中药名、时间,具体标注信息见表1。

表1 标注信息表

2 相关工作

2.1 Bert模型

文中通过Bert 模型构建字向量。Bert 模型是基于注意力机制的双向编码预训练语言模型[7],在进行训练时会随机掩盖部分信息,一般掩盖的信息占总体的15%,通过对掩盖信息的预测,完成上下文的学习。相对于word2vec、ont-hot 等词向量的构建方式,Bert 模型构建的字向量更注重语义的变化,即同一个字符在不同的语境之中向量表示也不同。模型的输入为词嵌入向量、特征标志位以及位置编码之和,如图1 所示。位置编码满足式(1),即位置为偶数时代入sin 函数,位置为奇数时代入cos 函数,其中d为词向量的维度[8]。通过sin 和cos 变换,可以使位置编码中包含上下文相对位置的信息。

图1 Bert模型输入编码

最终,向量的构建是通过调整q(查询向量)、k(被查询的向量)、v(特征向量)来完成的,其中q、k、v与输出向量z之间的关系如式(2)所示,项用于消除向量维度对结果的影响。通过多头注意力机制多次调整q、k、v的值,利用全连接的方式在输出的向量中融入多种特征[9]。Bert 模型以并行的方式对文本进行处理,极大地缩短了训练时间。谷歌公司在对Bert 模型进行训练时,已经使用了超大容量的文本数据,相关参数已经调整至最佳状态,因此文中在进行词向量训练时直接使用了该模型,并未对其进行修改。

2.2 BiLSTM模型

LSTM 模型由多个单元结构组成,建立在循环神经网络模型的基础之上[10],同时通过门控单元避免梯度爆炸问题出现在神经网络模型中。LSTM 单元结构如图2 所示。各个门控单元的计算公式如式(3)~(8)所示。

图2 LSTM单元结构图

BiLSTM 模型在LSTM 模型之上增加了一层反向传播过程,对上下文信息同时进行处理,最终的输出由前向传播的输出与反向传播的输出拼接而成。该模型的主要任务为在训练的过程中,完成对数据集特征的提取。文中模型的输出是一个由各个实体类型标签所对应概率组成的11 维向量,将该向量作为输入注入CRF 层。

2.3 CRF模型

虽然通过BiLSTM 获得的概率矩阵可以判断出最终的结果,但是由于未考虑标签之间的关联性,因此可能会导致结果错误,通过将标签中的依赖注入CRF 模型之中的方式[11]可以提高结果的准确性。文中的依赖为:①B-tag1、I-tag1 为正确;②实体不能以I-开头;③O 后的标签不能为I-tag1。将数据集中输入序列设为X(i)={x1,x2,x3,…,xi},输出序列设为Yi={y1,y2,y3,…,yi},那么该数据集的评分公式为:

H为转移矩阵,P为BiLSTM 模型中输出的标签概率向量。通过softmax 函数将分数转化为概率[12],并利用似然函数对最大值进行求解,最终满足最大值的序列就是最优输出序列。

3 实验过程及分析

3.1 实验参数设计

实验是在Linux系统python2.7以及Tensorflow1.8的环境下进行的。其中,数据的最大句子长度设置为100,baechsize 为12,epoch 为40,dropout 为0.3。Bert 模型为Bert-Base-Chinese 版本,未对其参数作修改。

3.2 结果评价标准

在对模型进行评价时,主要衡量以下3 个因素:①准确率P,②召回率R,③F值。准确率是指在所有的预测结果中,与实际结果相符的结果数占总体的百分比[13]。召回率是指被正确识别出的实体占全部实体的百分比。F值结合准确率与召回率,对模型整体进行评价。

3.3 实验过程与结果

文中在进行实验时加入了BiLSTM、LSTM、BiLSTM-CRF 3种模型作为对比组。该3组模型通过word2vec 完成字向量的构建。

由图3、图4、图5、图6 可知,模型对方剂、中药名称、时间、疾病名等4 类实体的识别精度较高,而对症状的识别精度相对较低。通过分析得出方剂的组成为“中药名+方”、时间的组成为“数量+日”,疾病名则是以“病”为结尾,这3 种实体的组成特征性较强,中药名称实体在文中数量较多,由此可见,影响命名实体识别精度的因素有两种:①实体数量,②实体特征[14]。

图3 LSTM模型实体F值统计图

图4 BiLSTM模型实体F值统计图

图5 BiLSTM-CRF模型F值统计图

图6 Bert-BiLSTM-CRF模型F值统计图

从表2的结果可以看出,BiLSTM 模型的F值相对于LSTM 模型的增加了1.92%,加入CRF 层之后,整体模型的精度又提升了6.79%,通过将Bert 模型与BiLSTM、CRF 模型结合之后,命名实体识别的F值超过了90%,尤其是对症状的识别上,Bert-BiLSTMCRF 模型表现远超于其他模型。与BiLSTM-CRF 模型的不同之处在于,Bert-BiLSTM-CRF 模型通过Bert 模型构建字向量,在进行特征提取之前引入了注意力机制[15],并且通过超大的语料库进行字向量的构建,通过此种方式构建的字向量已经融入了上下文的信息,可以极大地提高特征不明显、组成复杂的实体识别的准确性。实验结果表明,Bert-BiLSTM-CRF 模型在中医文本的命名实体中精度较高,可以将其应用于相关领域之中。

表2 不同模型最终结果对比

4 结束语

命名实体识别技术是自然语言处理技术的一个分支,同时也是自然语言处理技术中最为重要的一部分。在中医自然语言处理领域中,一个合格的命名实体识别模型可以加快中医智能化发展的进程。通过人工构建中医古籍知识库较为困难,而命名实体识别技术可以实现中医古籍知识库的自动化构建。随着中医的发展,中医文本信息会越来越多,将自然语言处理技术应用于中医文本的数据挖掘当中,可以大大地提高中医的研究效率。尤其是在中医智能问答系统、中医诊疗系统中,命名实体识别的准确性将直接影响最终结果的准确性。因此,如何提高命名实体识别的准确性是中医自然语言处理领域研究的重中之重[16]。文中的研究表明,Bert 模型与BiLSTM-CRF 模型结合使用能够用于中医文本的命名实体识别当中,Bert 模型在进行字向量构建时充分考虑了字与字之间的相关性,可以解决命名实体中边界模糊的问题,可迁移性较强。文中的不足之处在于,该模型对症状实体识别的准确率尚未达到90%以上。因此,在下一步研究中,将对症状实体进行单独研究,例如引入症状词典、通过其他模型提取症状实体特征等。

猜你喜欢
命名准确性实体
浅谈如何提高建筑安装工程预算的准确性
命名——助力有机化学的学习
前海自贸区:金融服务实体
有一种男人以“暖”命名
为一条河命名——在白河源
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
影响紫外在线监测系统准确性因子分析
论股票价格准确性的社会效益