APP下载

基于LSTM的生物医学核心实体提取模型研究

2018-06-21唐颖曹春萍

软件导刊 2018年5期

唐颖 曹春萍

摘 要:识别一篇生物医学文献中的核心实体是准确提取该文献信息的前提。针对目前生物医学文献实体识别和筛选方法的局限性,提出了基于LSTM的生物医学核心实体提取模型。该模型以LSTM为核心,通过更为优秀的词向量和输入生成规则改良模型输入,使用双向LSTM模型改进处理过程,将结果保存为树形结构并对该树进行合理剪枝获取标注链,实现输出结果处理,最终使实体识别的F1值达到了89.35%。此外,在核心实体筛选过程中,基于TF/IDF算法规则,充分考虑了词频、位置、逆文档频率等因素,使核心实体筛选的F1值达到了76.85%。

关键词:实体识别;改进词向量;双向LSTM;剪枝策略;核心实体筛选

DOI:10.11907/rjdk.173178

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)005-0132-06

Abstract:Identifying the core entities in a biomedical document is a prerequisite for accurate extraction of important information of the document. In view of the difficulties of entity and the limitations of existing methods of entity recognition and core entity screening in biomedical literature, a model of biomedical core entity extraction based on LSTM is proposed in this paper. The model takes LSTM as the core, applies the more excellent word vector and input generation rules to improve the model input, and employs the two-dimensional LSTM model to improve model of the process, The results are saved into the tree structure and reasonable pruning of the tree to achieve the output chain annotation way to obtain. Entity recognition F1 value reached 89.35%. In addition, in the process of core entity screening, the factors such as word frequency, location and inverse document frequency are fully taken into account on the premise of TF/IDF algorithm rules, and the F1 value of core entity screening is up to 76.85%.

Key Words:entity recognition; improved word vector; bidirectional LSTM; pruning strategy; core entity screening

0 引言

生物醫学科技的飞速发展带来生物医学文献量空前庞大,文献数量的指数级增长不可避免地导致生物医学信息爆炸,要从文献中获取核心信息,依靠人工阅读需要耗费大量的时间成本和人力资源。如何迅速且精准地获取文章观点,以短小精悍的文本形式呈现给读者,成为当下亟待解决的难题。

2008年,孙风梅[1]提出医学文献主题分为单元主题、多元主题、多主题等类型。单元主题指一个概念即可表达一个主题,如抑癌基因(tumor suppressor genes)、脑缺血(brain ischemia)、高血压(hypertension);多元主题指一个主题概念需要几个概念组在一起共同表达,如食道皮肤瘘是由食道瘘和皮瘘(esophageal fistula + cutaneous fistula)组成的概念;多主题指一篇文献涉及到多个既相互独立又相互联系的主题概念,如“体外循环的脑保护和肺保护”涉及到了“体外循环的脑保护”和“体外循环的肺保护”两个主题概念。主题往往会涉及到一些医学上的名词概念,而这些名词概念通常被称作生物医学实体。由于生物医学文献都是围绕生物医学实体展开的,所以用文章的核心实体及它们之间的关系就能快速且准确表达出文章观点。因此,识别文献中的核心实体成为首要问题。

1 实体识别相关研究

1995年举行的第六届消息理解会议(MUC-6)首次提出实体识别概念。在生物医学领域,针对医学文献中的基因、蛋白质、药物名、组织名等相关生物命名实体识别研究较集中[2],学术界都以F1值作为判定识别方法优劣的标准。1998年,Proux等[3]应用英语词典识别基因和蛋白质取得了57.6%的F1值,这是最初的基于字典的方法。字典法简单实用,但是,随着新实体的不断更新,实体过长等现象增多,字典法显得力不从心,基于启发式规则的方法开始逐渐普及。Fukuda[4]等最早设定了一套系统规则用于识别文档中的蛋白质名称。该方法首先采用机器学习方法解决由于缩写引起的识别错误,然后利用相似字符串匹配和变体概率生成器扩展词典,解决由于拼写变化引起的低召回率问题,最终取得的F1值为66.6%。基于启发式规则的方法缺陷也显而易见,即需要手工建立规则。基于机器学习的方法是目前的主流方法,它把命名实体看成词的分类问题,或者是序列分析问题,识别方法[5-10]有支持向量机(SVM)、隐马尔科夫模型(HMM)、最大熵马尔可夫模型(MEMM)、条件随机场(CRF)等,F1值因不同实验条件达到了63.0%~80.4%不等。生物医学文献中实体存在很多难点,如实体包含一些修饰词、多个生物医学实体名称会共享一个关键词、生物医学语言没有一套统一严格的命名系统、文本经常会用到缩写词但很多不标准等,这些问题已经难以依靠传统的浅层机器学习解决。随着近年来深度学习的发展和普及,很多学者开始在实体识别领域运用深度学习模型,如CNN、RNN等。长短时记忆递归神经网络(LSTM)是一种改良的递归神经网络,它很好地解决了递归神经网络在训练过程中出现的梯度弥散问题,本文基于Ger等[11]提出的带有忘记门的LSTM网络结构,在实体识别问题上进行了合理改进。

深度学习过程中机器无法直接读懂自然语言,因此,深度学习的首要任务是将自然语言中的每个词汇转换成数学向量,词向量就是一个很好的选择。词向量种类很多,如Google的Mikvolov等[12]在2013年提出的Word2vec和斯坦福大学的Pennington等[13]提出的GloVe。Word2vec的训练模型CBOW和skip-gram的基本思想是,通过训练,利用局部上下文将每个词映射成K维实数向量(K一般为模型中的超参数),通过词之间的距离(比如cosine 相似度、欧氏距离等)判断它们之间的语义相似度。相比于Word2vec,GloVe构造了一个全局的词共现矩阵,结合全局矩阵分解方法和局部窗方法,融合了文本的全局信息和局部上下文信息。这两种词向量模型各有千秋,Word2vec以预测为基础,较好地刻画了局部信息;GloVe以计数为基础,能更好地描述全局信息。因此,本文采取拼接二者的方式改进词向量并对输入进行改造,形成最适合LSTM的输入句向量。对自然语言而言,完整的上下文信息才能准确描述一个词的信息。例如,当一个词的位置非常靠前时,往往需要后文的信息才能准确描述该词的含义,单纯地使用正向词向量表示句子进行学习显然无法解决这一矛盾,为此本文提出用双向句子序列输入使结果更加准确。

对识别出的实体进行合理筛选也是提炼一篇文献主题不可或缺的部分。现使用最为广泛的关键词提取方法是Salton[14]提出的TF/IDF(term frequency–inverse document frequency),其主要思想是:如果某个词或短语在一篇文章中出现的频率高,但在其它文章中很少出现,则认为此词或短语对于该文献的贡献高。该理论对本文研究同样适用。医学文献作为研究论文,有着标题、摘要、正文等清晰的文本架构。肖忠华等[15-16]多位学者明确指出,摘要是论文的重要组成部分,其重要程度在文章正文之上。因此,在度量实体的重要程度时,不仅要考虑其出现的频率,还应考虑其出现的位置。

结合以上研究,本文提出基于LSTM的生物医学核心实体提取模型。该模型以LSTM模型为核心,通过改进输入、改造LSTM模型、对模型输出使用剪枝策略等方法,使实体识别F1值达到了89.35%。此外,本文基于词频、位置、逆文档频率等因素,改进了原有的TF/IDF算法,使核心实体识别F1值达到了76.85%。

2 核心实体提取模型

核心实体提取模型基本流程如图1所示:首先利用词向量技术和BILOU标注法对文本进行预处理,预处理的语句结果作为模型输入;然后,建立双向LTSM模型,对预处理好的生物文本进行训练,对新文献的标注结果进行预测;将预测出的标注结果概率存储成树结构,通过初步策略进行剪枝和进一步并行,求解出最准确的预测路径,进而识别出一篇文献中的生物医学实体;最后,度量每个识别出的实体对文章贡献程度,并筛选出最能反映文章核心内容的实体作为核心实体保存。

2.1 模型输入生成

2.1.1 词向量表生成

原始训练语料(trainText)来源于pubmed医学数据库的生物医学文献,其中含有大量生物实体,语法也符合生物医学规范。为了使识别效果更加准确,需要输入的词向量带有更丰富的语义信息。因此,本文采用融合了Word2vec和GloVe两种词向量的方式。首先,分别利用Word2vec和GloVe算法对同一训练文本trainText进行训练,生成各自关于特定训练文本的词向量表。然后,将两个词向量表拼接,以得到有全局和局部两种特征的词向量表map(word,vector)。最终生成的词向量表记录的是每一个词汇在训练文本中对应的唯一向量表示。词向量表map(word,vector)生成算法如下:

算法1 词向量生成算法

input:trainText

output:map(word,vector)

begin:

map(word,vector1)=word2vec(trainText);

map(word,vector2)=GloVe(trainText);

map(word,vector)=combine

(map(word,vector1),map(word,vector2));

end;

算法完成得到的每一個单词与其唯一的词向量标识对应如表1所示。

2.1.2 输入表示与标记方法

LSTM模型的训练单位是语句,因此需要利用生成好的词向量表将文本语句表示成合理的输入形式并作出正确标注。

输入生成过程为:首先,对原始生物语句S中的每一个单词,在生成的词向量表中找到其对应的词向量Vi并进行映射,形成语句的词向量序列V。其次,由于语句不是独立的,每个词的含义也需要依赖于它的上下文信息。因此,本文使用拼接窗口为3的词向量大小作为最终中间词表示。在处理序列边界时,在句子的开端和结尾处自定义一个边界词向量Vi,如图2所示。

在词向量转换完成之后,还需要对句子中的每一个token进行标记。本文采用BILOU标记法,其中“B”、“I”、“L”分别表示实体的开始、中间和结束,“U”表示只有一个token实体,“O”表示非标注实体。

2.2 双向LSTM实体识别框架

利用标注好的训练语料,使用LSTM实体识别框架进行训练。LSTM是对传统递归神经网络的改进,它用极易单元替换了隐函数。LSTM拥有3个控制门,一个忘记门层,用于判定一个状态是否应该舍弃或保留,第二个门层用于更新状态,第三个门层用于确定输出,如图3所示。

上面公式中,σ表示sigmoid激活函数,i,f,c,o分别表示输入门、遗忘门、记忆单元、输出门。在训练阶段,训练的一个单位为一个带有标记的语句,每个语句按照单词顺序输入到LSTM模型中进行训练,每个单词为模型的一层,上层的输出会影响下层的输入。LSTM经过大量的标记文本训练,将得到LSTM训练模型,这个模型即可对未标记的语句进行标记预测,预测的结果是该语句的每个单词的标记概率。随着输入的标记语句不断增加,生成的模型会不断被更新和精进,得到更为准确的预测结果,训练和预测算法如下:

算法2 LSTM模型训练与预测:

Input:tagSentenceCollection,newSentence

Output:trainModel,tagResule

BeginTrain://训练阶段

trainModel=null;

While(tagSentence!=lastTagSentence){

LSTM(tagSentence);

Modify(trainModel);

tagSentence=nextTagSentence;

}

Save(trainModel);

EndTrain;

BeginPredict://预测阶段

tagResult=trainModel(newSentence);

EndPredict;

双向LSTM实体识别框架的核心思想是用两种序列(顺序和逆序)对同一个语句向量进行LSTM训练和预测,得到两套不同的隐层网络。模型如图4所示。

由于靠前的词需要更多的后文信息,而位置靠后的词更依赖前文信息,因此,正向和反向的结果集对于最终的结果影响程度与该词语在文献中的位置有关。因此,对于两个隐层网络预测结果的取舍有如下定义:

其中,Yi为某个词的预测结果,Y1i为该词的正向预测结果,Yi2为该词的反向预测结果,i为该词的位置,n为序列的总数。通过预测和计算可以生成语句中每个词对应的BILOU标注概率。

2.3 实体标注结果剪枝策略

语句概率需要确定最终唯一的语句标注链才能实现实体识别。LSTM对句子中每个单词预测结果是关于BILOU每种标注的概率。传统方式会认为概率较大,即认为是该单词的标注,这种方式遗漏了实体标注之间存在的相应关系:①“I”、“L”不可以是语句的首个标注;②“B”标注后面只能是“I”或 “L”标注;③“I”标注后面只能是“I”或 “L”标注;④“L”标注后面只能是“B”、“U”或 “O”标注;⑤“O”标注后面只能是“B”、“O”或 “U”标注;⑥“U”标注后面只能是“B”、“O”或 “U”标注。

这些隐含关系单纯依靠概率判定显然是不合理的,因此需要引入更多的判定条件使结果更为准确。由于每个单词的标注都有几种可能,而每种可能的概率不同,因此,若干个单词组成的一个句子的标注可能是一个n层树(n为语句的单词个数)。如图5所示,该树代表一个预测语句的结果,除根节点外的每一层均表示语句中的一个单词,从上至下的顺序为语句中的单词顺序。树中同一层次的每个叶子节点代表该词为BILOU五种标记的概率情况。为了得到最准确的标注结果,需要对该树进行剪枝。

剪枝的第一步是利用标记间相应关系规则对树进行初步剪枝,剪枝后的树将变成一棵简单清晰、逻辑正确且带有权值的子树(见图6),其中的权值是每一层标记的概率。

剪枝的第二步是在这棵树中寻找最优通路作为最终标记结果。本文采用自下而上选取最优解方式:首先找到最底层的叶子节点,选出权值最大的节点保留,删除其它节点;然后将该节点的父节点权值更改为原权值与子节点权值之和;再按照相同的方法比较更上一层节点的权值并将最大子节点权值加入父节点,直到最上一层选取到的最大权值的一条链,即是该预测文本最为合理的标注。具体算法描述如下:

算法3 第二步剪枝策略算法

step1://找到最后一层非叶子节点

if(node!=lastNode)next;

else node=node->parent;

step2://保留该节点的最大孩子节点,删除其他节点,且该节点的权值变为最大孩子节点与自身节点之和;

save(maxChild);

delete(otherChildren);

node.weight+=maxChild.weight;

node=node->parent;

step3://向上一層递归,如果节点不为根节点则重复step2,如果节点为根节点则权值计算结束

if(node!=root)goto step2;

else end;

完成剪枝和权值计算后,每个预测语句都会得到唯一的BILOU标注序列,标注序列中的“BIL”、“BL”和“U”的序列即为识别到的实体。

2.4 核心医学命名实体度量

本文基于词频、位置和逆文档频率得出衡量实体重要性的标准:

wp:实体所处某一位置的权重,正文中权重为1,摘要的权值为摘要与正文的长度比,标题的权重为标题与正文的长度比。

TFp:实体在某一位置出现的次数。

IDF:实体的逆文档频率,即实体在除此文献之外的出现频率。

将实体按照重要性从大到小排序,得到一个实体重要性集合,计算集合中两两之间的权重差值的最大值:

此时可以认为Wi-1相比于Wi对整个文章的影响权重并不大。因此,将权重在Wi以上的实体认为是核心实体并保留存储,其它实体则删去。

3 实验对比与结果分析

3.1 实验环境及数据

实验环境:使用C语言,实验机器采用8G内存、1T硬盘,操作系统Window7。

数据来源:pubmed公开医学文献。

3.2 评价指标

(1)实体识别实验评价指标。

准确率precision=tptp+fp

召回率recall=tptp+fn

F1值:F1=2+precision+recallprecision+recall

tp表示正确识别出的医学实体个数,fp表示错误识别出的医学实体个数,fn表示标准结果中的医学实体个数。

(2)核心实体筛选实验评价指标。

准确率:precision=tptp+fp

召回率:recall=tptp+fn

F1值:F1=2+precision+recallprecision+recall

tp表示正確筛选出的核心医学实体个数,fp表示筛选出的核心医学实体个数,fn表示标准结果中的核心医学实体个数。

3.3 实验结果及相关分析

(1)实体识别实验结果及相关分析见表3、图7。

从表3和图7可以看出,同样使用改进的词向量,相比于传统机器学习算法,使用LSTM算法提高了实体识别的准确率和召回率。通过对比正向、逆向和双向LSTM模型实验数据可知,双向的LSTM能得到最有效的准确率和召回率。在加入剪枝策略后,实体识别结果更加准确。

(2)核心实体筛选实验结果及相关分析,见表4、图8。

从表4和图8可以看出,本文对传统IF/IDF算法进行的融入位置信息改进,对核心实体筛选的准确率和召回率都有提升。

4 结语

虽然本文的识别精度和过滤方式能成功识别文章的核心实体,但是依然存在改进空间。首先,词向量的优劣对结果影响很大,本文的拼接词向量方式是否存在更好的优化结果值得研究。其次,LSTM之外的神经网络和对LSTM其它方面的改进可以进一步提升实验结果。第三,在识别出核心实体后,对于实体之间关系的合理抽取和展示是本文后续的研究重点。

参考文献:

[1] 孙风梅.医学文献主题分析方法研究[J].预防医学情报杂志,2008,24(2):129-131.

[2] 胡双,陆涛,胡建华.文本挖掘技术在药物研究中的应用[J].医学信息学杂志,2013,34(8):49-53.

[3] PROUX D, RECHENMANN F, JULLIARD L, et al. Detecting gene symbols and names in biological texts: a first step toward pertinent information extraction. [C]. CiteSeer, 1998:248-255.

[4] FUKUDA K, TAMURA A, TSUNODA T, et al. Toward information extraction: identifying protein names from biological papers. [C]. Pacific Symposium on Biocomputing. Pacific Symposium on Biocomputing. Pac Symp Biocomput, 1998:707-718.

[5] CORTES C, VAPNIK V. Support-vector networks[J]. Machine Learning, 1995,20(3):273-297.

[6] GRIMESR. The buzz about fuzzers [EB/OL]. http:∥www.infoworld.com/article/05 /09/09/37OPsecadvise 1.html.

[7] MITSUMORI T, FATION S, MURATA M, et al. Gene/protein name recognition based on support vector machine using dictionary as features[J]. Bmc Bioinformatics, 2005,6(1):8-18.

[8] ZHOU G, ZHANG J, SU J, et al. Recognizing names in biomedical texts: a machine learning approach.[J]. Bioinformatics, 2004,20(7):1178-90.

[9] LIN Y F, TSAI T H, CHOU W C, et al. A maximum entropy approach to biomedical named entity recognition[C]. International Conference on Data Mining in Bioinformatics. Springer-Verlag, 2004:56-61.

[10] RICHARD T, CHENG-LUNG S, DAI H J, et al. NERBio: using selected word conjunctions, term normalization, and global patterns to improve biomedical named entity recognition[J]. Bmc Bioinformatics, 2006,7(5):11-15.

[11] GERS F A, SCHMIDHUBER J A, CUMMINS F A. Learning to forget: continual prediction with LSTM[C].Artificial Neural Networks, 1999. ICANN 99. Ninth International Conference on. IET, 2002:2451.

[12] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[J]. Computer Science, 2013(5):1245-1260.

[13] PENNINGTON J, SOCHER R, MANNING C. Glove: global vectors for word representation[C]. Conference on Empirical Methods in Natural Language Processing. 2014:1532-1543.

[14] GERARD SALTON, CHRISTOPHER BUCKLEY. Term-weighting approaches in automatic text retrieval[J]. Information Processing & Management, 1988, 24(5):513-523.

[15] 肖忠华,曹雁.中外作者科技论文多维度语步对比研究[J].外语教学与研究,2014(2):260-272.

[16] 黄河清,韩健,张鲸惊,等.中外科技期刊文体格式的变化及建议[J].中国科技期刊研究,2015,26(2):143-151.

(责任编辑:杜能钢)