基于知识蒸馏的高效生物医学命名实体识别模型
胡滨, 耿天玉, 邓赓, 段磊    
四川大学 计算机学院, 成都 610065
摘要:在生物医学文献挖掘领域中,已有的BioBert采用预训练的方式在生物医学命名实体识别(BioNER)任务中表现出优秀的实体识别性能,却存在模型规模过大、速度过慢的缺点。针对BioBert网络模型如何高效压缩问题,该文提出了一种高效生物医学名称实体识别模型,命名为FastBioNER模型。该模型采用动态知识蒸馏方式对BioBert模型进行压缩,首先,通过动态权重函数模拟真实的学习行为,即在模型训练过程中动态调整各部分损失函数的重要程度;其次,采用动态知识蒸馏方式将训练后的BioBert作为教师模型,压缩到一个规模较小的学生模型中;最后,对提出的FastBioNER模型在已公开数据集NCBI疾病、BC5CDR-chem和BC4CHEMD上进行了实验验证。实验结果表明:提出的FastBioNER模型在3个数据集中获得除BioBert外最高F1值分别为88.63%、92.82%和92.60%,并分别以损失1.10%、0.86%、0.15%的F1值为代价,将BioBert的模型大小压缩了39.26%,同时推理时间缩短了46.17%。
关键词自然语言处理    生物医学信息学    命名实体识别    知识蒸馏    
Faster biomedical named entity recognition based on knowledge distillation
HU Bin, GENG Tianyu, DENG Geng, DUAN Lei    
School of Computer Science, Sichuan University, Chengdu 610065, China
Abstract: Many biomedical literature mining systems use the pre-training language model BioBert which provides state-of-the-art biomedical named entity recognition after pre-training. However, BioBert is too large scale and slow. This paper presents a faster biomedical named entity recognition model, FastBioNER, that is based on knowledge distillation. FastBioNER compresses the BioBert model using dynamic knowledge distillation. A dynamic weight function is used to simulate the real learning behavior to adjust the importance of the loss function of each part during training. Then, the trained BioBert is compressed into a small student model by dynamic knowledge distillation. The FastBioNER model was validated on three common data sets, NCBI disease, BC5CDR-chem and BC4CHEMD. The tests show that FastBioNER had the highest F1 values after BioBert at 88.63%, 92.82% and 92.60% for the three data sets while reducing the BioBert model size by 39.26% and the inference time by 46.17% at the cost of 1.10%, 0.86% and 0.15% smaller F1.
Key words: natural language processing    biomedical informatics    named entity recognition    knowledge distillation    

生物医学工程是中国医学六大领域之一,已取得了很多重大进展,对我国经济与社会发展具有重要意义。随着高通量技术应用于生物医学研究、生物医学文献的数量呈指数增长,如何快速准确地从文献中提取知识显得尤为重要。高效识别引用生物医学相关实体的文本块的命名实体识别(biomedical named entity recognition, BioNER)是生物医学领域文献挖掘的重要基本任务之一。早期的BioNER方法主要基于专家规则[1-3]和机器学习[4-6],需要领域专家参与设计规则或抽取特征,资源消耗较大,人力成本高且可移植性差。随着深度学习的发展,由于深度学习模型[7-9]能够直接在深层网络中有效的提取特征,避免了复杂的人工提取特征过程,将深度学习模型运用于BioNER成为了新的研究热点[10-14]

随着Bert[15]的提出,使用大规模的预训练语言模型成为了自然语言处理领域的新范式。这些基于Transformer结构[16]的模型通过在庞大的语料库上进行预训练,再对特定任务进行微调的方式,预训练语言模型被广泛运用于各领域的文献挖掘任务中[17]。生物医学领域的预训练语言模型BioBert[14]的提出显著地提升了BioNER任务的效果。虽然Bert、BioBert等模型具有优异的表现,但同时也存在模型规模过大、速度慢等缺点,对设备存储空间、运行环境提出了较高的要求。于是,如何有效地压缩预训练语言模型成为一个值得探讨的课题。

文[18]提出的知识蒸馏(knowledge distillation, KD)则是其中一种方法,即利用规模较大的教师模型在训练中获得的“知识”,来“指导”规模较小的学生模型训练,使学生模型模仿教师模型的行为,通过这样的学习行为来实现“知识的传递”,并实现模型的压缩。

受Transformer结构模型的启发,针对以Transformer结构为基础的预训练语言模型,提出一种基于动态权重的知识蒸馏方法,实验结果表明优于其他方法;针对BioNER任务,提出基于知识蒸馏的高效生物医学命名实体识别模型FastBioNER,实验结果验证了其有效性。

1 相关工作

根据调研得知,基于知识蒸馏的高效生物医学命名实体识别模型(fast biomedical named entity recognition, FastBioNER)是第一个将知识蒸馏引入BioNER的工作,本文将从NER和知识蒸馏两个方面分别描述相关工作。

在NER方面,早期的研究主要基于专家规则[1-3]和机器学习[4-6],近期的研究主要基于深度学习:文[15]提出了对预训练语言模型进行NER任务进行微调的方法;文[19]提出了将字典特征融入结合了条件随机场的双向长短时记忆神经网的模型(bi-directional long short-term memory with conditional random field, BiLSTM-CRF)的方法;针对生物医学领域,Luo等[10]提出将文档级别注意力机制融入的模型(BiLSTM-CRF)的方法;Cho等[11]提出组合卷积神经网络(CNN)模型和BiLSTM-CRF模型输出的特征嵌入向量(feature embedding)用于词表示的方法;文[12]提出了一个多任务学习框架,使用多个语料库同时训练一个BiLSTM-CRF模型;而Yoon等[13]提出了多模型聚合框架,分别训练多个单任务模型,在通过转换矩阵映射到同一个BiLSTM-CRF模型中。此外,文[14]将大量生物医学领域的语料库加入预训练语言模型的训练中,有效地提升了模型在BioNER任务上的表现。

在知识蒸馏方面,Hinton等[18]提出了知识蒸馏的概念,通过在训练时加入知识蒸馏损失函数,使学生模型能够有效地模仿教师模型的输出。知识蒸馏在计算机图像领域得到了广泛的运用,文[20]提出一种利用生成式对抗网络随机生成训练数据的特点,与知识蒸馏结合,在无数据的情况下,在图像分类任务上取得了一定的效果。而在自然语言处理领域中,文[21]提出利用知识蒸馏对Transformer结构中间层的隐向量进行学习的方法,对Bert模型进行有效的压缩;而Dogan等[22]则提出了一种对Transformer结构中间层的前馈神经网络层的输出和多头自注意力机制层的注意力矩阵输出同时进行学习的方法,使得蒸馏效果进一步提升。这两种方法都使用了固定的权重。

2 基于动态权重的知识蒸馏 2.1 Transformer

Transformer[16]是针对序列到序列问题提出的深层模型,结构如图 1所示,利用多头自注意力机制层和前馈神经网络层组成的Transformer block结构代替了LSTM,具有比LSTM更加深层的特征抽取能力和更加快速的并行计算能力,在机器翻译任务上取得了更好的表现。目前,得益于Transformer强大的特征抽取能力,大部分预训练语言模型如Bert、BioBert都是基于Transformer实现的,这样的预训练语言模型往往具有12层以上的深层Transformer block结构。

图 1 Transformer block的结构图

2.1.1 多头自注意力机制

注意力机制可以有效地学习词与词之间的依赖关系,注意力函数的计算主要依赖于3个不同的向量,查询向量q、键向量k和值向量v。在Transformer block的多头自注意力机制中,qkv对应着同一个向量,即词在模型中间层的隐向量表示,注意力函数的形式表示如下:

$ \boldsymbol{A}=\frac{Q \mathbf{K}^{\mathrm{T}}}{\sqrt{d_{K}}} , $ (1)
$ \operatorname{Attention}(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=\operatorname{softmax}(\boldsymbol{A}) \boldsymbol{V} . $ (2)

其中:QKV分别是qkv在模型实际训练时对应的矩阵;A是由QK进行内积计算相似度后得到的注意力矩阵;dKK的维数,$ {\sqrt {{d_K}} }$ 作为惩罚因子,确保内积的结果不会过大。

函数的输出Q是对V的权重求和结果,权重是通过对A的每一列向量进行softmax()归一化后计算得到的。注意力机制的本质是一个查询到一系列键值对的映射,使得句子中的单词可以突破距离的限制,有效地捕捉其他单词的信息。多头自注意力机制即组合多个不同的注意力函数的结果,表示如下:

$ \text { head }_{i}=\text { Attention }\left(\boldsymbol{Q} \boldsymbol{W}_{i}^{Q}, \boldsymbol{K} \boldsymbol{W}_{i}^{K}, \boldsymbol{V} \boldsymbol{W}_{i}^{V}\right) , $ (3)
$ \begin{array}{*{20}{c}} \text { MultiHead }(\boldsymbol{Q}, \boldsymbol{K}, \boldsymbol{V})=\\ \text { Concat(head } \left._{0}, \cdots, \text { head }_{h}\right) \boldsymbol{W}^{O} \text {. } \end{array} $ (4)

其中:h是多头注意力机制中头的数量,WiQWiKWiVWO是可学习的线性变化参数。每一个注意力函数中的QKV通过线性变化被投影到不同的子空间,这使模型具有能在不同的表示子空间里学习到相关信息的能力。

2.1.2 前馈神经网络层

在Transformer block中,通过多头自注意力机制计算后的隐向量,将被输入前馈神经网络层。该前馈神经网络层的定义如下:

$ \operatorname{FNN}\left(\boldsymbol{Q}^{\prime}\right)=\max \left(0, \boldsymbol{Q}^{\prime} \boldsymbol{W}_{1}+b_{1}\right) \boldsymbol{W}_{2}+b_{2}. $ (5)

前馈神经网络层在Transformer block中发挥了特征抽取器的作用,前馈神经网络层的输出H将作为输入进入下一层Transformer block进行计算。本文把多头自注意力机制层中输出的注意力矩阵A和前馈神经网络层的输出H引入到知识蒸馏的过程中来,方法的内容在节3中详细介绍。

2.2 知识蒸馏

知识蒸馏是一种模型压缩技术,即通过优化知识蒸馏损失函数,让学生模型能够有效地模仿教师模型的行为。在神经网络模型的训练过程中,损失函数是用来估量模型的预测值与真实值的不一致程度,通过最小化损失函数使得模型的预测输出去拟合真实标签的分布。而知识蒸馏则需要使学生模型的预测输出去拟合教师模型的预测输出。对此,Hinton等[18]提出了一种通用的方法:

$ \operatorname{softmaxT}(\boldsymbol{Z})=\frac{\mathrm{e}^{\boldsymbol{Z} / \mathrm{T}}}{\sum\limits_{j} \mathrm{e}^{\mathbf{z}_{j} / T}} . $ (6)

通过在softmax()中引入温度参数T得到的软化标签soft label构造知识蒸馏损失函数。

2.3 基于动态权重的知识蒸馏方法

尽管在知识蒸馏训练的过程中,蒸馏损失函数 $\mathcal{L} $ SL的目标是尽可能地使学生模型的预测输出去拟合教师模型的预测输出,但实际上,研究者更加关注的是这种模仿行为是否能够为学生模型对于真实标签预测的准确度带来提升,所以引入对于真实标签的损失函数$\mathcal{L} $TL

在以前的知识蒸馏工作[18, 21-22]中,往往需要设置固定的权重参数,以此权衡$\mathcal{L} $SL$\mathcal{L} $TL的重要程度。权重的设置是非常依赖于经验的,而在更加直观的理解下,知识蒸馏的过程更加接近于人类的学习行为,是一个从模仿到创新的过程。受这种“青出于蓝而胜于蓝”思想的启发,本文面向Transformer结构模型提出了一种基于动态权重的知识蒸馏方法:

$ \mathcal{L}_{\mathrm{SL}}=\mathrm{CE}\left(\operatorname{softmax} \mathrm{T}\left(\boldsymbol{Z}^{\mathrm{t}}\right), \operatorname{softmax} \mathrm{T}\left(\boldsymbol{Z}^{\mathrm{S}}\right)\right), $ (7)
$ \mathcal{L}_{\mathrm{TL}}=\mathrm{CE}\left(\operatorname{softmax}\left(\boldsymbol{Z}^{\mathrm{S}}\right), \boldsymbol{y}\right), $ (8)
$ \begin{gathered} \mathcal{L}_{\text {total }}=\varphi(s) \cdot \mathcal{L}_{\mathrm{SL}}+[1-\varphi(s)] \cdot \mathcal{L}_{\mathrm{TL}}+ \\ \varphi(s) \cdot \sum\limits_{j=0}^{n} \mathcal{L}_{\mathrm{ML}}^{j} , \end{gathered} $ (9)
$ \varphi(s)=\max \left(1-\mathrm{e}^{\mathrm{s} / \mathrm{G}+b-1}, 0\right) . $ (10)

其中:CE()是交叉熵损失函数,ZtZS分别是教师模型和学生模型最后层输出的未归一化的概率logits,φ(s)是一个动态权重函数,s为训练的步长,G为训练的总步长,b为权重偏差参数。φ(s)的值分布于[0, 1],从训练开始其值为1,然后逐渐加速下降到0。这使得总损失函数$\mathcal{L} $total在训练开始阶段让学生模型更加倾向于模仿教师模型的行为,在训练后半段更加倾向于对真实标签分布的学习。b的引入使得$\mathcal{L} $total能够有更多的训练步长去优化$\mathcal{L} $HL,在实验中,b设置为0.3较为合理。

此外,$\mathcal{L}_{\mathrm{ML}}^{j} $ 是学生模型中的第j层对教师模型中间层的多头自注意力机制层中输出的注意力矩阵A和前馈神经网络层的输出H的学习,去拟合教师模型的输出。同时,是学生模型Transformer block层的层数,$\mathcal{L}_{\mathrm{ML}}^{j} $的定义如下:

$ \begin{array}{*{20}{c}} \mathcal{L}_{\mathrm{ML}}=\operatorname{MSE}\left(\boldsymbol{H}^{\mathrm{S}} \boldsymbol{W}_{h}, \boldsymbol{H}^{\mathrm{t}}\right)+ \\ \frac{1}{h} \sum\limits_{i=0}^{h} \operatorname{MSE}\left(\boldsymbol{A}_{i}^{\mathrm{S}}, \boldsymbol{A}_{i}^{\mathrm{t}}\right) . \end{array} $ (11)

其中:$ \boldsymbol{H}^{\mathrm{S}} \in \mathbf{R}^{l \times d}$$\boldsymbol{H}^{\mathrm{t}} \in \mathbf{R}^{l \times d^{\prime}} $ 分别是学生模型和教师模型中间层的前馈神经网络层的输出,l为输入文本的长度,dd分别为学生模型和教师模型中间层的隐向量的维度,$ \boldsymbol{W}_{h} \in \mathbf{R}^{d \times d^{\prime}}$ 是在训练中学习线性变化参数,其用途是在学生模型和教师模型的隐向量的维度大小不同时,能够将HS投影到Ht的表示空间进行计算。同时,$ \boldsymbol{A}_{i}^{\mathrm{S}} \in \mathbf{R}^{l \times l}$$ \boldsymbol{A}_{i}^{\mathrm{t}} \in \mathbf{R}^{l \times l} $ 分别是学生模型和教师模型中间层的第i个注意力头的注意力矩阵,h是多头自注意力机制中的头数,MSE()是均方误差损失函数。

3 FastBioNER 3.1 NER的问题定义

给定一个句子 $ X=\left\{x_{0}, x_{1}, x_{2}, \cdots, x_{l}\right\}, x$ 是句中的词,使用模型去预测对应的标签序列Y=(y0, y1, y2, …, yl),NER任务可以定义为

$ \begin{gathered} \left\{y_{0}, y_{1}, y_{2}, \cdots, y_{l}\right\}= \\ \operatorname{model}\left(\left\{x_{0}, x_{1}, x_{2}, \cdots, x_{l}\right\}\right) . \end{gathered} $ (12)

在NER任务中,文本的标注通常采用BIO模式标记法:对于给定的实体,用“B-(类别名称)”标注该实体的第一个词,同时用“I-(类别名称)”标注该实体剩下的词,而句中其他无关的词则用“O”来进行标注。所以标签序列Y也被称作BIO序列(BIO sequences)。相较于通用领域的NER任务,生物医学领域的NER任务(BioNER)面向的是生物医学文献中的相关实体类别,比如:疾病名称、药物名称、基因名称等。

3.2 FastBioNER模型

本文提出的基于知识蒸馏的高效生物医学命名实体识别的FastBioNER模型如图 2所示。第一步是使用任务微调的方法使BioBert针对BioNER任务进行训练;第二步是使用基于动态权重的知识蒸馏方法将训练好的BioBert模型作为教师模型压缩到一个规模更小的学生模型中去。

图 2 FastBioNER的结构图

首先,BioBert是基于Transformer结构的生物医学领域预训练语言模型,在Bert的基础上进行预训练而来,所以与Bert-base拥有相同的12层Transformer block结构。BioBert使用了从PubMed(https://www.ncbi.nih.gov/CBBresearch/Lu/Demo/Pubtator/)中获取的180亿词量级别的生物医学文献作为预训练语料库,在服务器上进行了为期10天的训练,在生物医学文献挖掘任务上拥有出色的表现。本文在BioBert的最后一层Transformer block输出的隐向量上加了一层线性全连接层作为BioNER的模型,使用任务微调的方式进行训练。

然后,将训练好的BioBert作为教师模型,利用本文提出的基于动态权重的知识蒸馏方法,将其压缩到一个规模更小的学生模型中。其中,教师模型的Transformer block层数为m,在BioBert中m为12,学生模型的Transformer block层数为n。本文按平均映射的策略将m层结构压缩到层结构中去,例如m=12、n=6的情况下,学生模型中每1层输出的ASHS,按照顺序使用 $\mathcal{L} $ML去拟合教师模型中每第2层输出的AtHt。接着,利用softmaxT()分别计算教师模型和学生模型的软化标签,通过优化 $\mathcal{L} $ SL让学生模型去拟合教师模型的输出。同时,优化与真实标签的损失函数 $\mathcal{L} $TL让学生模型去拟合真实标签。

FastBioNER的蒸馏过程同时考虑了模型的中间层和输出,并使用基于动态权重的知识蒸馏方法,通过在总损失函数 $\mathcal{L} $total中引入动态权重函数φ(s),使蒸馏过程从单一“模仿”教师模型行为过渡到到学生模型寻求“创新”的过程,即使用动态权重函数动态调整权重的分配,以此模拟真实的学习行为过程,提升学生模型预测的准确度。

4 实验及结果分析 4.1 实验数据集及设置

实验共采用了3组生物医学数据集,分别是NCBI疾病数据集[23]、BC5CDR-chem药物化合物数据集[24]以及BC4CHEMD药物化合物数据集[25],3组数据集的详细情况如表 1所示。此外,在实验过程中,本文将训练集和开发集合并为训练集。实验部分使用的教师模型均为BioBert,版本为BioBert-Base V1.1。使用的评估指标为实体级别的召回率(R)、精确率(P)和F1值。此外,在学生模型初始化参数方面,也按照平均映射的原则,将BioBert的参数用于学生模型对应层的初始化中。

表 1 实验数据集
数据集 实体类别 训练集 开发集 测试集
NCBI 疾病 5 423 922 939
BC5CDR-chem 药物/化合物 4 559 4 580 4 796
BC4CHEMD 药物/化合物 30 681 30 638 26 363

为了验证本文所提的基于动态权重的知识蒸馏方法以及FastBioNER模型的有效性,本文设置了3组不同的实验。

4.2 有效性对比实验及结果分析

本实验同时对比了知识蒸馏方法的有效性和BioNER模型的有效性。为了公平对比知识蒸馏方法的有效性,实验将FastBioNER模型中的本文所提出的知识蒸馏方法分别替换为Bert-PKD和TinyBert所提的方法后,再与原本的FastBioNER作比较;同时,为了验证知识蒸馏的有效性,实验加入了不使用知识蒸馏而直接进行训练的方法Bert-OG进行比较。这4个方法在3组数据集上分别将12层的BioBert作为教师模型压缩到6层的学生模型后进行有效性对比。

为了验证FastBioNER在BioNER任务上的有效性,实验还加入了CollaboNet[13]和Wang等[12]的方法,以单任务学习的方式分别在3组数据上进行训练后与FastBioNER进行对比。实验的结果如表 2所示,最高和次高的结果分别以加粗和加下划线的方式表示出来了,相较于文[12-13],FastBioNER的F1值明显更高,这得益于BioBert作为教师模型的指导;相较于不使用知识蒸馏的Bert-OG,其他3个基于知识蒸馏的方法的效果明显更好,这验证了知识蒸馏的有效性。但同时,3个基于知识蒸馏的方法的效果都不及教师模型BioBert,这说明知识蒸馏仅通过教师模型中的输出去模仿教师模型的行为还是具有一定局限性的。Bert-PKD是第一个提出对Transformer模型中间层的隐向量进行学习的方法;TinyBert同时考虑了中间层中前馈神经网络层的输出和多头自注意力机制的注意力矩阵输出,但这两个方法都使用了固定的权重。在3组数据集中,FastBioNER的效果都高于Bert-PKD和TinyBert,这是FastBioNER使用的基于动态权重的知识蒸馏方法不仅考虑了对Transformer模型中间层的学习,同时还使用动态权重模拟了真实的学习行为,这验证了基于动态权重的知识蒸馏方法的有效性。

表 2 有效性对比实验结果 
%
数据集 模型 R P F1
NCBI BioBert[14] 90.78 88.71 89.73
Bert-OG 86.57 84.82 85.69
Bert-PKD[21] 89.11 86.85 87.96
TinyBert[22] 90.11 86.36 88.20
CollaboNet[13] 85.45 83.95 84.69
Wang等[12] 82.92 84.95 83.92
FastBioNER 90.11 87.20 88.63
BC5CDR-chem BioBert[14] 95.02 92.38 93.68
Bert-OG 90.35 92.77 91.55
Bert-PKD[21] 92.91 92.59 92.75
TinyBert[22] 93.76 91.30 92.51
CollaboNet[13] 91.50 94.02 92.74
Wang等[12] 86.87 93.05 89.05
FastBioNER 93.57 92.08 92.82
BC4CHEMD BioBert[14] 92.27 93.22 92.75
Bert-OG 89.78 91.60 90.68
Bert-PKD[21] 91.66 92.86 92.25
TinyBert[22] 92.30 92.41 92.36
CollaboNet[13] 85.96 90.50 88.19
Wang等[12] 87.04 90.53 88.75
FastBioNER 92.18 93.03 92.60

4.3 模型压缩有效性和效率实验及结果分析

实验使用FastBioNER将BioBert压缩到不同层数的学生模型后,对比模型的总参数量,并在单块英伟达2080ti显卡上,对BC4CHEMD的测试集进行计算,以对比模型的运算速度。实验结果如图 3所示。6层的FastBioNER能够有效的缩小BioBert模型39.26%的大小并缩短46.17%的运算时间;4层的FastBioNER能够有效的缩小BioBert模型52.35%的大小并缩短60.77%的运算时间;而3层的FastBioNER能够有效地缩小BioBert模型58.9%的大小并缩短68.78%的运算时间。值得注意的是,模型压缩的程度并没有与FastBioNER的层数成比例,该现象的出现主要是因为BioBert的嵌入层依然占有大量的参数,并没有随层数的减少而变少。同时,该实验结果也说明了FastBioNER能够有效地压缩BioBert的模型大小并能有效地提升运算速度。

图 3 模型压缩有效性和效率实验结果

4.4 层数对有效性影响实验及结果分析

层数大小对FastBioNER在NCBI数据集上的有效性影响实验的结果如表 3所示,与直觉相符合,层数越高,FastBioNER的表现越接近BioBert的表现。其中,6层的FastBioNER与BioBert的F1值仅有1.10%的差距,而4层为3.72%,3层则为4.97%。虽然第2组实验证明了层数越小的FastBioNER能够更有效的压缩BioBert的大小,但也损失了深层Transformer结构带来的深层特征抽取能力。所以6层的FastBioNER是权衡表现后较为合理的选择,也更加贴近实际的使用。

表 3 层数对FastBioNER有效性的影响实验结果 
%
模型 R P F1
BioBert 90.78 88.71 89.73
FastBioNER (n=6) 90.11 87.20 88.63
FastBioNER (n=4) 86.84 85.19 86.01
FastBioNER (n=3) 85.44 84.09 84.76

5 结论

在生物医学领域,BioBert在BioNER任务上具有优秀的实体识别性能,但存在模型规模过大、推理时间过慢的问题。针对网络模型如何高效压缩问题,本文提出了面向Transformer结构的一种基于动态权重的知识蒸馏方法;同时针对BioNER任务,本文提出了基于知识蒸馏的高效生物医学命名实体识别模型FastBioNER。提出的FastBioNER能在尽可能保留教师模型效果的基础上,有效压缩模型的大小,加速模型的推理速度。下一步工作中,会探索知识蒸馏与矩阵分解技术的结合,进一步提高压缩的效果。

参考文献
[1]
HANISCH D, FUNDEL K, MEVISSEN H T, et al. ProMiner: Rule-based protein and gene entity recognition[J]. BMC Bioinformatics, 2005, 6(S1): S14.
[2]
WANG X, ZHANG Y, LI Q, et al. PENNER: Pattern-enhanced nested named entity recognition in biomedical literature [C]//Proceedings of 2018 IEEE International Conference on Bioinformatics and Biomedicine. Madrid, Spain: IEEE, 2018: 540-547.
[3]
LI X, ROTH D. Learning question classifiers: The role of semantic information[J]. Natural Language Engineering, 2006, 12(3): 229-249. DOI:10.1017/S1351324905003955
[4]
LEE K J, HWANG Y S, KIM S, et al. Biomedical named entity recognition using two-phase model based on SVMs[J]. Journal of Biomedical Informatics, 2004, 37(6): 436-447. DOI:10.1016/j.jbi.2004.08.012
[5]
PONOMAREVA N, ROSSO P, PLA F, et al. Conditional random fields vs. hidden Markov models in a biomedical named entity recognition task [C]//Proceedings of 2007 International Conference on Recent Advances in Natural Language Processing. Borovets, Bulgaria: RANLP, 2007: 479-483.
[6]
LEAMAN R, WEI C H, ZOU C. Mining chemical patents with an ensemble of open systems[J]. Database: The Journal of Biological Databases and Curation, 2016, 2016.
[7]
KIM Y. Convolutional neural networks for sentence classification [C]//Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Doha, Qatar: Association for Computational Linguistics, 2014: 1746-1751.
[8]
ELMAN J L. Finding structure in time[J]. Cognitive Science, 1990, 14(2): 179-211. DOI:10.1207/s15516709cog1402_1
[9]
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735
[10]
LUO L, YANG Z H, YANG P, et al. An attention-based BiLSTM-CRF approach to document-level chemical named entity recognition[J]. Bioinformatics, 2018, 34(8): 1381-1388. DOI:10.1093/bioinformatics/btx761
[11]
CHO M, HA J, PARK C, et al. Combinatorial feature embedding based on CNN and LSTM for biomedical named entity recognition[J]. Journal of Biomedical Informatics, 2020, 103: 103381. DOI:10.1016/j.jbi.2020.103381
[12]
WANG X, ZHANG Y, REN X, et al. Cross-type biomedical named entity recognition with deep multi-task learning[J]. Bioinformatics, 2019, 35(10): 1745-1752. DOI:10.1093/bioinformatics/bty869
[13]
YOON W, SO C H, LEE J, et al. CollaboNet: Collaboration of deep neural networks for biomedical named entity recognition[J]. BMC Bioinformatics, 2019, 20(10): 249. DOI:10.1186/s12859-019-2813-6
[14]
LEE J, YOON W J, KIM S D, et al. BioBERT: A pre-trained biomedical language representation model for biomedical text mining[J]. Bioinformatics, 2020, 36(4): 1234-1240.
[15]
DEVLIN J, CHANG M W, LEE K, et al. BERT: Pre-training of deep bidirectional transformers for language understanding [C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Minneapolis, USA: NAACL-HLT, 2019.
[16]
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach, USA: Curran Associates Inc., 2017: 5998-6008.
[17]
PETERS M, NEUMANN M, IYYER M, et al. Deep contextualized word representations [C]//Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. New Orleans, Louisiana, USA: NAACL-HLT, 2018: 2227-2237.
[18]
HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv, 2015, 1503.02531.
[19]
SUN S, CHENG Y, GAN Z, et al. Patient knowledge distillation for bert model compression [C]//Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing. Hong Kong, China: EMNLP, 2019: 3-7.
[20]
CHEN H T, WANG Y H, XU C, et al. Data-free learning of student networks [C]//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul, Korea (South): IEEE, 2019: 3513-3521.
[21]
JIAO X Q, YIN Y C, SHANG L F, et al. TinyBERT: Distilling BERT for natural language understanding[J]. arXiv preprint arXiv, 2019, 1909.10351.
[22]
DO AGǦAN R I, LEAMAN R, LU Z Y. NCBI disease corpus: A resource for disease name recognition and concept normalization[J]. Journal of Biomedical Informatics, 2014, 47: 1-10. DOI:10.1016/j.jbi.2013.12.006
[23]
LI J, SUN Y P, JOHNSON R J, et al. BioCreative V CDR task corpus: A resource for chemical disease relation extraction[J]. Database: The Journal of Biological Databases and Curation, 2016, baw068.
[24]
KRALLINGER M, RABAL O, LEITNER F, et al. The CHEMDNER corpus of chemicals and drugs and its annotation principles[J]. Journal of Cheminformatics, 2015, 7(S1): S2. DOI:10.1186/1758-2946-7-S1-S2
[25]
MU X F, WANG W, XU A P. Incorporating token-level dictionary feature into neural model for named entity recognition[J]. Neurocomputing, 2020, 375: 43-50. DOI:10.1016/j.neucom.2019.09.005