医学文献阅读增强深度学习方法*
2023-10-23阮群生谢运煌柯汉平吴清锋
阮群生,谢运煌,柯汉平,吴清锋
(1.赣州师范高等专科学校自然科学与计算机系,江西 赣州 341000;2.宁德师范学院信息与机电工程学院;3.厦门大学信息学院)
0 引言
随着医学水平的不断提高,民众的健康保健意识不断增强。但受制于看病难和看病贵等问题,越来越多的民众倾向于通过互联网获得第一手的医学相关信息,然而,理解医学专业知识是一件费时费力的事[1]。因此,网上出现了一些医学问答社区,如拇指医生(https://muzhi.baidu.com),好大夫(https://www.Haodf.com),春雨医生(https://www.Chunyuyisheng.com)等,对大多数问答做出高质量的诠释,可以帮助用户理解专业知识。
本文对关键词抽取/检索[2-3]和深度学习[4-5]进行研究。目前,关键词抽取及文本检索的研究最具代表性的是TF-IDF[6]方法,该方法结合了词频和逆文档频率,对词语的权重进行量化,易于计算,但也存在着语料库依赖严重的问题。深度神经网络在计算机视觉和语音识别已取得突破性应用,特别是在文本检索领域[7-8]。不同于排序学习方法,深度神经网络能够自动提取查询和文本内容中的特征,相比于传统的机器学习方法,它在复杂的学习任务上能表现出更强的学习能力。
本文针对一篇医学文献或一段医学专业词汇的描述文字,提出一种新颖的医学文献阅读知识增强方法,方法的构建步骤是:首先将文献中的内容或医学专业词汇描述文字划分为不同的片段,并对片段中的关键词做抽取,生成关键词层级划分树;接着,基于片段对应的关键词,设计基于注意力机制的卷积神经网络,藉此把片段关键词与相关的医学社区问答内容(也称医学专业问答知识库)进行融合学习和关联,根据关联的Top 概率排名从问答知识库提取知识,并把其链接到对应的文本片段。这样能够帮助缺乏医学背景的用户更好地了解到相关医学背景知识,有助于患者对专业知识、专业文献的了解,亦能帮助医生对专业知识的拓展和加深理解。
1 医学文献阅读增强方法
1.1 关键词层级划分树(HST)设计
给定一篇医学文献或一段医学专业文本内容D,对于关键词层级划分树(Hierarchy Selection Tree,HST)的设计如下。
首先,根据句子和段落边界,将内容D划分为若干片段S={s1,s2,…,sk},其中片段si(1≤i≤k)可以由不同的句子或者段落构成,这些片段均可使用文本分词工具对其进行词语的切割。经切割后,每个片段可由若干个词语构成W={w1,w2,…,wh},进而使用word2vec 模型把切割得到的词语wh转化为特征向量表示。基于每个片段词粒度的向量特征表示,在HST 结构中,可以通过计算得到不同文本片段之间的相似度。具体为:给定两个文本片段si,sj,其中si的词语特征向集为{},sj的词语特征向集为{},则可设任意si,sj两个片段中词语对的向量特征表示(),这里有1≤g≤m,1≤h≤n,本文采用余弦相似度方法计算文本片段之间的相似度SIM(si,sj),文本之间的相似度计算方法如式⑴所示。
接着,由式⑴计算出不同文本片段之间的相似度结果,再对不同片段进行聚类。例如,基于上述相似度的计算,可以将所有的文本片段聚为M个类,其中每个类pi都由若干个片段组成。为衡量类pi的聚类效果,使用式⑵所示的qi函数来评估,其中center表示qi的中心向量。
对于给定的k个文本片段S={s1,s2,…,sk},在HST,聚类个数为b(1≤b≤k-1),聚类结果是{p1,p2,…,pb}。为了得到划分后的聚类效果最优解f(k,b),可使用动态规划算法。划分任务的最优子结构的计算为式⑶所示。
其中,q(i,k)是类(片段i到片段k)的聚类效果。采用最优子结构的思想,k个文本片段划分为M个类的问题就可以分解为将i-1个文本片段划分为M-1个类的子问题。
在动态规划之后,则可以使用数组Boundary 中的值通过回溯构造k个文本片段。需要说明的是,该数组还包含用于将M个分区中分组为v(1 ≤v≤b-1)文本段的最佳聚类。因此,可以通过堆叠这些最佳聚类来获得文本D的层次结构。因此,叶子层是文本D划分为M个类的最优聚类,而其上一层将是文本D划分为M-1个类的最优聚类。如图1所示显示了从有关数据挖掘的真实文本文档生成的聚类层次结构,被划分为10 个文本片段,经如动态算法调整后,文本片段亦可被划分为{(s1,s2),(s3,s4),(s5,s6),(s7,…,s10)}四类,此时,文本聚类效果最优。在每个级别中,只有其中一个节点被分成两个,簇数在每一水平级中增加一个。因此,同现有工作相比,所提出的方法获得了两个明显的好处。一是可保证结果是全局最优解,而不是局部最优解;二是可以通过运行动态规划算法来构建层次聚类,且一个文本D只需构建一次层次结构树。层次结构树如图1所示。
图1 关键词层级树示例
基于文本片段构建的层级树结构,接着需对层级树中每个结点进行关键词抽取。与在关键词抽取中经常使用到的TFIDF 技术不同的是文中结合了语义网络,借助获得不同词语之间的语义关系,从而提高关键词抽取的准确率。首先,将树中结点文本内容中出现的词语都表示为图节点,用图中边的权重来表示不同词语之间的关联程度。现设有词语对(wi,wj),经采用word2vec 模型转化后的特征向量对(),词语之间的关联度计算如公式⑷:
其中,count(wi,wj)表示词语wi和词语wj在文本中共同出现的次数,count(wi)和count(wj)分别表示它们单独出现的次数,λ为权重系数。
借助于语义图,统计出每个节点中所有词语对的连接边权重之和,根据设定的阈值,把超过阈值权重之和为最高的词语计入关键词集合,之后,从语义网中剔除已被计入的关键词,并在剩下的节点中重复挑选出权重之和最高的节点及其关联程度高的节点作为一个关键词组,直到形成K个关键词组。遍历层级树中的所有结点做关键词抽取,并将抽取出的关键词组添加到层级树中的每个结点中。通过简单的层级树,结合语义网络抽取出来的关键词,则可生成关键词层级划分树HST。接着,需要为每一个文本片段生成查询关键词组合,首先在HST 中找到该片段对应的叶节点,为了保持针对文本片段内容生成的查询关键词序列的全局性,自底向上遍历所有的父节点,得到关键词序列。例如,在图1 中,结合文本片段S6内容,遍历结点1,2,5,9,可得到片段S6对应的关键词查询序列。
由上述分析可知,关键词层级划分树通过文本内容之间的相似度聚类得到不同的文本簇,并通过语义图抽取出文本簇对应的关键词,很大程度上提高了给定文本片段的关键词提取效率,既能保证从文本内容中提取查询关键词的局部性,又保留了关键词的全局性。
1.2 医学文献阅读增强模型
在前文论述基础上,现假定某文本内容中的一个片段对应的查询内容q和社区问答的文本内容d,对它们进行处理,可得到对应的字符嵌入特征表示wq,wd。为了实现根据查询内容q从文本内容d中提取相似度最吻合的问答知识内容,文中将设计一个医学知识理解增强辅助系统来完成知识提取的任务。
如图2所示,首先向系统输入一个医学文本D,系统将文档分层地分割成连贯的文本片段D={s1,s2,…,sk}。之后由系统相应的功能模块对文本片段进行特征向量化、相似度计算等初始化操作;接着再由K-Means方法、动态规划算法和语义网络对文本的分割片段进行聚类,并建立关键词HST 树,通过HST 的树形层次结构,抽取具有局部和全局信息特征的查询关键词序列;最后,由系统中lwCNN 模块完成以查询关键词序列为信息检索条件,向Q&A知识库提取排名顺序的问答内容,并将它附加到医学文本D中,以此帮助用户达到增强对医学专业知识理解的目的。
图2 医学文献阅读增强模型整体逻辑结构
1.2.1 卷积神经网络主体结构设计
卷积神经网络是一种具有局部连接,权重共享等特性的前馈神经网络,在特征表达方面相比于人工设计特征具有更强的判别能力和泛化能力。它最早被应用在计算机视觉领域,随后逐步扩展到自然语言处理和语音识别等领域。卷积神经网络在处理文本时,通过设置卷积核的不同宽度和高度,能够有效捕捉到多个连续字词之间的特征,在文本分类等任务上都有重要的应用,例如,TextCNN,DCNN 等深度卷积网络类型的方法被广泛地用于文本处理中,且取得了很好的应用效果[9]。
基于CNN 在文本特征提取上的优越性,本文在卷积层应用了多个卷积核。为了构造tri-gram特征,本文采用了大小为3 的滑动窗口,构造了卷积核h∈R3*k,其中k是对应字符嵌入向量的维度大小。因此,对于给定字符嵌入向量wq,wd和一组卷积核{h1,h2,…,hm},卷积层输出Q,D的计算如式⑸所示。
医学文本处理的网络卷积层结构设计为如图3所示的网络。
图3 医学文本处理的卷积神经网络结构
1.2.2 基于卷积神经网络的注意力机制网络设计
基于HST 形成的关键词查询q和文本内容d,有针对性地在基于卷积神经网络中加入注意力机制模块,以实现对查询相关内容更好、更准确地搜索,本文把融入注意力机制模型的卷积神经网络称为lwCNN。对于给定查询q和社区问答文本内容d,lwCNN 首先获取q,d的字符嵌入特征表示wq,wd,通过卷积神经网络和注意力机制对wq,wd提取抽象特征Aq,Ad,最后计算得到q和d之间的相关程度rel(q,d)。lwCNN 模块的逻辑结构如图4所示。
图4 lwCNN模块
传统的卷积神经网络在卷积层操作之后,直接使用池化层,如最大池和平均池,对卷积层提取出来的特征向量在字词级做进一步处理。这样的池化操作简单地将所有字词权重都等同起来,只取特征的最大化或平均表示,不能有效地将所有信息都利用起来。不同于传统的池化操作,lwCNN 考虑到文本中的每个字符占比不一致的问题,用注意力机制获得权重向量来表示每个字符对整个文本的影响作用。因而,基于给定的权重向量以及卷积层的特征向量表示,lwCNN计算得到最终特征向量表示。
lwCNN 中的注意力机制基于双向长短时记忆网络(Bi-LSTM),给定一组特征向量表示,能够得到相应位置的权重大小。Bi-LSTM 由前向LSTM 和后向LSTM 共同组成,它是循环神经网络(RNN)的一种变形,其通过记忆细胞,有选择性记忆前后文信息,从而更准确获得该位置的上下文信息。LSTM 模型包括隐层状态h,遗忘门f,记忆门i和输出门o,对于给定输入xt,它的计算过程如式⑹所示。
给定输入序列(x1,x2,…,xm),Bi-LSTM 通过前后向遍历文本序列,连接前向LSTM 隐藏层状态∈Rm*c和后向LSTM 隐藏层状态∈Rm*c,最后输出h∈Rm*2c。其计算方法如式⑺所示。
在注意力机制中,本文采用点积模型[8],通过构造参数矩阵U∈R2c*1,使用Softmax函数计算得到字符集的权重向量S∈Rm*1,其算式如下:
接下来,重点介绍图4 中的rel(q,d)的计算方法,具体为:
对于给定查询q和社区问答d对应的卷积层输出Q,D,lwCNN通过注意力机制计算得到权重向量Sq,Sd,并得到最后的特征向量表示Aq,Ad。其算式如下:
lwCNN 采用余弦相似度作为相似度的衡量标准,因而对于查询和问答内容他们最后相关度rel(q,d)的计算公式如下:
1.2.3 字符嵌入模块设计
为了将查询内容扩展到医学领域,同时解决传统分词工具对专业医学术语的错分现象,本文提出了字符嵌入的特征表示。对于给定的文本内容,将文本内容划分为一个个汉字,并对汉字进行向量特征表示的学习。基于word2vec 模型,本文设计的字符嵌入学习模型主要有两种:CBOW模型,Skip-gram模型,它们都采用了三层神经网络结构,输入层,输出层和隐藏层。CBOW 模型通过上下文字符来预测中间字符,例如,当上下文取值为4,输出层输入前后8 个字符,输出层输出所有字符对应的Softmax 概率。为了最大化中间字符对应的概率值,本文通过反向传播算法不断训练神经网络的参数并更新字符对应的向量。Skip-gram模型则使用中间字符来预测上下文字符。
1.2.4 损失函数设计
给定标注了相关性的训练集,本文对lwCNN 网络进行训练。对于一个查询q,将标注为相关的社区问答内容作为d+,不相关的社区问答内容作为d-。通过lwCNN,本文计算得到查询和回答内容之间的相关性分别为rel(q,d+)和rel(q,d-)。为了提高网络对相关性判别的能力,可最大化rel(q,d+)和rel(q,d-)之间的差距,以此来增大相关内容对应的相关度rel(q,d+),减小不相关内容的相关度rel(q,d-)。损失函数构建如下:
其中,margin是设定的最小差距。对于数据中的所有查询,本文最大化相关正样本与不相关负样本的相关度差距,使用梯度下降算法使得损失函数的值降到最低,不断优化模型的参数,从而得到lwCNN 模型参数用于验证集和测试集的预测。
2 模型实验
2.1 数据集
为了验证lwCNN 模型在医学领域的检索效果,选用数据集cMed[10]作为文中模型的实验测试数据,该数据集的采集来自于医学问答社区网和寻医问药网。用户可以在网站社区提问,具有认证资格的医生可以针对用户的问题进行回答。该数据集一共收集了54000 个问题和101743 个答案,并对这些问题和答案都做了相关性标注。该数据集分为训练集、测试集和验证集。详细信息如表1所示。
表1 cMed数据集信息
2.2 模型评估指标
为科学客观评估模型的质量,选用P@5,MAP 和MRR 三个指标来衡量模型对于实验数据集的检索效果。P@5 能够衡量检索答案的精确率,对于大小为size的问题集合Q中的每个问题,统计前5个检索结果中相关结果的数目count,其计算方法如式⑿所示。
MAP 是精确率AP 的平均结果。对于大小为size的问题集合Q中的每个问题,获得所有相关结果的排序(p1,p2,…,pn)。通过计算每个问题的AP,MAP 的计算方法如式(13)所示。
MRR将排序结果的倒数作为其准确率,对于大小为size的问题集合Q中的每个问题,获得第一个相关结果的位置p,MRR指标的计算公式如式⒁。
2.3 实验结果及分析
为了验证lwCNN 在中文医学文本检索的性能,本项研究就基于层次树动态文本分割模块和文本特征注意力模型两个方面,分别执行了多组消融实验。最后,开展了文中模型同传统的BM25、TF-IDF 模型、Bi-LSTM、CNN 以及其他优秀的基准算法的对比实验,并对实验结果进行定量与定性分析。
2.3.1 注意力机制的影响实验
为了探究注意力机制对lwCNN 的影响,在实验数据集上,分别执行了CNN 和lwCNN 两种网络模型的信息检索能力。不同于lwCNN,CNN对给定字符嵌入表示,通过卷积操作和最大池化操作,得到相应的特征表示。而lwCNN通过注意力机制,融合了句子中字符的权重,能得到更为精确的特征表示。实验结果如表2所示。
从实验结果可以发现,本文的lwCNN 在p@5,MAP和MRR指标值上均有1.5%,5.4%和4.6%左右的提升。这表明,注意力机制有效地利用了所有文本的特征信息,通过计算字符的权重,能帮助卷积神经网络提取更合适的特征表达,从而提高关键词检索的性能。
2.3.2 与传统文本检索方法对比
首先,为了验证神经网络对于检索性能提高的影响,本文对比了传统文本检索方法的实验效果。在传统的文本检索方法中,选取了应用较为广泛的BM25以及TF-IDF 算法作基准方法。这些基准方法的检索是对语料信息进行统计分析,在文本检索任务上都表现出了较为出色的性能。
BM25 采用了相关度计算公式来表征问题和文本之间的相关性,考虑了查询中每个语素qi的权重wi,每个语素qi与文本d的相关性R(qi,d)以及文本的长度dl三方面因素,计算公式如下:
其中,k1,b为调节参数。TF-IDF 模型对于给定语料库,首先对文本进行分词,词干提取,去除停用词等操作。然后通过统计词频和逆文档频率,将问题和文本都表示为TF-IDF 组成的向量,通过计算余弦相似度,来统计它们之间的相关性。
传统的文本检索方法只需统计文本中的词频、逆文档频率、文档长度等信息,因此对于BM25 公式,本文设置的参数为:k1=2,b=0.75;对TF-IDF 方法,本文计算语料中词语的TF-IDF 值,以此来表示文本对应的TF-IDF 向量,并按照相关度进行排序。最终得到的实验结果如表3所示。
从表3 中可以看出,BM25 和TF-IDF 算法的实验结果则较为相近,没有明显差别。而lwCNN 相比这两种传统的检索方法,有着明显的优势。在p@5 上,lwCNN 提高了约5%。在MAP 和MRR 两个指标上,则分别提高了约11%和9%。因此,lwCNN 相比于传统的文本检索方法,检索性能有大幅度的提高。它解决了传统文本检索方法忽略文字之间语义关系的问题,能得到更准确的文本相关度。
2.3.3 与深度网络算法对比
为进一步探究lwCNN 与其他深度网络算法或模型的不同检索效果,本文选用Bi-LSTM、文献[11]、文献[12]中的方法作为对比神经网络模型。
Bi-LSTM 通过对上下文信息进行有选择性的记忆,能基于上下文提取出长文本中的重要信息,为文本内容提供了更丰富的特征表示。给定数据集,本文先基于字符嵌入将问题和文本都表示为特定的向量,然后分别输入上述三个基准模型以及lwCNN 网络中,得到相应的特征向量后计算余弦相似度来表示它们之间的相关性。基于相关性排序结果,本文评估这两种网络在数据集上的检索性能。
本次实验中,本文首先对数据集的语料信息进行预处理,得到查询和文本内容的字符嵌入向量。因此,结合数据集中的字符统计信息,本文把问题的字符长度固定为100,答案的字符长度固定为200,并设置特征向量的维度为50。对于Bi-LSTM 网络,本文设置该网络的隐藏层单元数为100。在lwCNN 网络中,卷积核的数目被设定为128。基于两种网络的相似度排序结果,本文通过多组实验得到对比结果如表4所示。
表4 与神经网络对比实验结果
表4 显示,Bi-LSTM 网络在检索性能方面明显弱于lwCNN,其他优秀的改进模型检索质量同本文模型较为接近。从实验结果来分析可得知:由于受到中文医学文本的特性所影响,在中文医学文本中,句子中的上下文信息往往不够明显,长距离下文字之间的关联性较弱;而句子中连续的字词之间则有明显的联系。因此,使用卷积神经网络捕捉连续字词之间的关系,往往能获取更好的局部特征表示。
综合分析上述三组实验,可以得知:
⑴传统的BM25和TF-IDF在各项实验结果上的表现都比较差,相比之下,加入了神经网络之后的模型,如Bi-LSTM,CNN 以及lwCNN,在各项指标下都有明显的优势。
⑵相对于Bi-LSTM 经典及其他改进的优秀神经网络模型,lwCNN有更好的检索效果。
⑶去除了注意力机制的lwCNN,在各项检索性能上都出现了下滑。
⑷lwCNN在所有的实验方法中表现性能最佳。
上述实验结果亦表明:lwCNN 能够在问答知识库中准确地检索出与查询问题高度相关解答内容,且在cMed数据集上表现出良好的性能。
3 结束语
本文提出关键词划分树(HST)和基于注意力机制的卷积神经网络(lwCNN),分别用于医学文本的关键内容抽取和社区医学问答内容的检索。针对给定的医学文献,HST 将文献内容划分为不同的片段,并对片段进行关键词抽取。对于给定片段形成的关键词查询,lwCNN 检索相关医学问答内容链接到相关片段上。实验证明,lwCNN 能有效地检索出相关医学问答内容。结合关键词划分树,本文方法有助于用户医学文献的阅读及医学专业知识学习,一定程度上给用户带来更好的阅读体验,促进其对智能医学相关管理系统的黏性。未来,将进一步优化内容检索模型,提高检索性能,扩大医学专业知识检索库,采用Transformer等优秀的大型预训练模型,来提升医学社区问答内容检索的精度。