融合关系发现词与深度学习的诊疗关系抽取
2021-12-14杨佳欣顾进广
高 峰 杨佳欣 顾进广
(武汉科技大学计算机科学与技术学院 湖北 武汉 430065)(武汉科技大学大数据科学与工程研究院 湖北 武汉 430065)(湖北省智能信息处理与实时工业系统重点实验室 湖北 武汉 430065)
0 引 言
随着社会生活水平的提高和人工智能技术的发展,医学人工智能成为受到密切关注的研究和应用领域。借助自然语言处理[1]、知识图谱和深度学习[2]等技术,医学人工智能使医疗服务变得更加智能化、高效化和个性化。然而,医学人工智能目前仍然缺乏知识层面的有效支撑,大部分医学知识和经验依旧隐藏在医学文献和医疗文本中。高效、准确地从医学文本和文献中自动抽取医疗领域关于疾病、症状、治疗和医学检查之间的关系,并将其结构化为知识对于构建医疗领域知识图谱,实现知识驱动的医学人工智能具有重要意义[3]。
在事件抽取中,常将文本中的关键词对应标记为某类事件的事件触发词来进行事件抽取[4]。在关系抽取中,也可以借助类似的关系发现词来识别关系。关系发现词是句子中描述实体对关系的关键词。目前一部分基于深度学习的关系抽取模型的输入特征主要基于词向量和位置向量,会产生特征噪声并导致学习特征不足而影响抽取模型效果[5],加入关系发现词作为额外特征可以解决特征单一的问题,进行特征去噪增强了关系类别的区分度。
本文重点研究从中文医疗文本中抽取有关疾病、症状、治疗和医学检查之间的诊疗关系,定义了以医疗诊疗问题为中心的四种关系,使用基于双向门控循环(BiGRU)神经网络模型与字符、句级注意力机制(Attention)相结合的方式(BiGRU-2ATT)[6]将关系提取转化为多分类问题,Attention层为提取的文本信息中的字符和句子分配相应的权重,合并特征并通过激励函数(Softmax)功能层以实现关系分类。基于该模型,抽取句子的关系发现词作为额外特征,并与句子的词向量和位置向量共同输入训练模型。本文将关系发现词的自动抽取分为两个阶段进行,第一阶段根据哈工大词林表[7]创建规则聚类,进行初步的关系发现词识别,第二阶段基于TF-IDF的补充算法进行第二次关系发现词抽取。
1 相关工作
目前,关系抽取任务主要使用基于深度学习的方法来完成[8]。Socher等[9]提出递归神经网络(RNN),实现了实体关系抽取,该方法虽然解析了句子的句法结构,但是忽略了实体对在句子中的语义信息和位置信息。Zeng等[10]考虑到句子中实体的信息,提出将词向量和词的位置向量作为卷积神经网络(CNN)的输入,引入了实体和其他词的距离信息进行关系抽取。Santos等[11]为了提高不同实体关系类型的区分度,采用了一种新的损失函数,并与CNN结合进行关系抽取。Lin等[12]在远程监督上使用卷积神经网络(CNN)作为句子编码器(Sentence Encoder),并结合句子级别的注意力机制(Attention Mechanism)进行关系抽取。Miwa等[13]提出了一种端到端的双向树形结构的长短期记忆网络(Bi-TreeLSTM),通过该网络模型捕获词序列和依存关系树结构信息。Zhou等[14]提出基于注意力机制的双向长短期记忆网络(BiLSTM)的方法,使用BiLSTM对句子建模,并使用词级别的注意力机制。该方法使用单一的位置特征作为输入,并未通过自然语言处理工具输入任何额外特征,使用LSTM可以解决RNN梯度消失的问题,缺点是训练难度大、参数较多、计算复杂。GRU是LSTM的变体,与LSTM相比,GRU具有更少的参数和更好的收敛性能[15]。
杨雪蓉等[16]提出了基于核心词和实体推理的事件关系识别方法,通过Apcluster聚类算法分析事件核心词的分布,并结合实体推理进行事件关系识别,验证了事件核心词有助于事件关系抽取。轩小星等[4]研究了中文事件触发词的自动抽取,提出了基于初始的事件触发词进行聚类扩展并结合支持向量机进行触发词的自动抽取。王林玉等[17]提出了关键词结合卷积神经网络的方法抽取实体关系,验证了关键词用于关系抽取上的有效性,实验中使用TP-ISP算法抽取关键词是针对整个语料计算词语的权重,其存在冗余,会导致部分类别不相关的关键字抽取。
2 模型设计
本文提出一种融合关系发现词与深度学习进行医疗诊疗关系抽取的模型。图1为本文提出的关系抽取流程。针对医疗诊疗问题,定义了四种关系类型,分别为相关症状、相关检查、相关治疗及相关并发症。
图1 关系抽取流程
(1) 关系发现词抽取。首先通过哈工大同义词词林创建聚类规则,然后采用TF-IDF类似算法共同抽取句子的关系发现词。
(2) BiGRU-2ATT模型分为输入层、隐藏层、输出层。使用Word2Vec将数据进行预处理;隐藏层包括BiGRU层、字符级注意力层和句子级关注层,通过隐藏层提取文本的深层特征表示,加上注意力机制增强关键信息,最后获取整体的高质量信息输出;在输出层根据隐藏层的输出结构采用Softmax损失函数进行关系分类,得到最终的抽取结果。
2.1 关系发现词抽取
实体关系发现词是表达关系的句子中可以说明实体对之间存在实体关系的词语,也可以称为实体关系语义标签或者实体关系描述词。例如医疗领域中相关治疗关系的关系发现词有“缓解”“预防”“治疗”。对于给定两个实体和两个实体共同出现的句子文本中,关系发现词有助于关系区分识别。通过分析语料,整理出语料中出现频率较高且较重要的词语构建为初始关系发现词表,部分初始关系发现词如下:症状、并发、治疗、检查、药物、缓解、出现、评估、导致、产生、抑制、预防。本文使用的是基于哈工大同义词词林规则聚类识别关系发现词和基于TF-IDF的关系发现词补充算法自动抽取关系发现词。
2.1.1基于同义词表的关系发现词识别
由于受语料规模和人工的限制,初始关系发现词表中可能漏掉了一些重要的关系发现词,所以需要对关系发现词进行聚类。利用哈工大同义词词林表在初始关系发现词表的基础上扩展关系发现词表,本文使用的哈工大同义词词林[7]包含了77 343条词语,每个词语有五级八位编码,唯一标识出现在词典中的词语。如“Aa01A04=劳力 劳动力 工作者”,编码位从左到右的顺序排列,第八位的标记有3种,分别是“=”“#”“@”, “=”代表“相等”或“同义”,“#”代表“不等”或“同类”,“@”代表在词林表中既没有找到该词的同义词,也没有找到该词的同类词。具体的关系发现词聚类规则如下:
(1) 将初始关系词表中的每个词映射到同义词林表中,得到对应的词语编码,根据第八位标记筛选出每个初始关系发现词的同义词和同类词。
(2) 将规则(1)中得到的同义词和同类词再次筛选,去掉长度不是2的词语。由于不同的词在词林表中可能有相同的同类词或同义词,所以再次筛选去掉重复的词语。
按照以上聚类规则,得到一个关系发现词扩展表,根据表中所有词语,在语料的每个句子中进行匹配,若句子中有关系发现词扩展表中的词语,则抽取出来作为关系发现词。
2.1.2基于TF-IDF的关系发现词补充算法
TF-IDF算法是一种统计方法,可以用来评估一个字或一个词对于一个文件集或其中一份文件的重要程度。字词的重要性与它在语料库中出现的频率成反比,与在文件中出现的次数成正比。为了避免经过关系发现词扩展表抽取关系发现词之后,依旧有部分句子抽取不到关系发现词,利用基于TF-IDF的关系发现词补充算法进行最后的关系发现词抽取。本文的具体实现方法如下。
(1) 将经过关系发现词扩展表抽取之后,依旧没有找到关系发现词的句子进行预处理,即分词和词性标注,本文使用的是Python库中的jieba模块。文献[18]研究结果表明:触发词的词性一般为名词、动词和动名词。本文从预处理后的句子中先筛选出动词,若没有动词则筛选名词,以此组成候选关系发现词。筛选所有词语的词性除了可以减少候选关系发现词的数量,还可以提高候选关系发现词的质量。候选关系发现词用空间向量表示为:
W=((w1,score1),(w2,score2),…,(wk,scorek))
(1)
式中:wi表示第i个候选关系发现词;scorei表示第i个候选关系发现词对应的权重。scorei的计算公式如下:
scorei=TF(wi)×IDF(wi)
(2)
TF(Term Frequency)表示词频,它反映句子中的词语对该句的贡献程度,对于wi的重要性表示为:
TF(wi)=ni/mi
(3)
式中:ni为候选关系发现词在该句中出现的次数;mi为该句中所有候选关系发现词的总个数。
IDF(Inverse Document Frequency)表示逆向文件频率,它可以反映词在训练语料中出现的频度,表示为:
IDF(vi)=log2(Ni/Mi)
(4)
将训练语料中的所有句子进行预处理,筛选出所有的名词、动词、动名词组成整个语料的关系发现词表,记为V。式(4)中:vi∈V是一个关系发现词;Ni为训练语料中句子总数;Mi为含有vi的句子总数。若wi不在V中,则该词的IDF值为V中所有词的IDF值的均值。
(2) 取候选关系发现词中score值最高的词作为最终的关系发现词。
经过以上的关系发现词抽取后,每个句子都将至少有一个关系发现词。
2.2 BiGRU-2ATT模型
在识别关系发现词后,本文将其作为双向门控循环神经网络的一个特征进行输入。图2为BIGRU-2ATT模型结构。
图2 BIGRU-2ATT模型结构图
2.2.1输入层
Word2Vec就是将文本转化为词向量的模型,向量里蕴含了丰富的语义和上下文信息。
由于分词工具得到的中文分词结果并不是完全正确的,使用一个词作为语义单元进行表示将会忽略词内字间的语义信息,所以采用字向量来进行文本表示。使用Word2Vec的Skip-Gram模型在汉语语料库中训练的100维字向量表,创建一个字id词典。将语料中每个句子的每个字映射到字典中对应的字id,得到一个向量化后的句子为句向量,作为第一个特征;计算每个字到两个实体第一位置的距离,得到词的位置向量,作为第二个特征;将关系发现词映射到字id词典中,得到一个关系发现词向量作为第三个特征。定义的四个关系类型是一键编码的,向量的维数表示关系的数量,向量中一个元素值为1,表示当前实体关系类型,其余元素为0。将所有特征向量结合得到一个特征矩阵输入到隐藏层。
2.2.2隐藏层
隐藏层主要有BiGRU层和两种Attention机制,分别为句级注意机制和字符级注意机制。
BiGRU层是通过更新门和重置门共同来实现输入特征的深度特征提取。更新门用来控制上一次输出隐藏层对当前隐藏层的影响,先前时间隐藏层的输出对当前隐藏层的影响程度与更新门的值成正比。通过复位门控制在前一时刻忽略隐藏层信息的程度,并且复位门的值越大,就越明显地被忽略。BiGRU解决了状态的单向传输问题。
Attention机制是一种将注意力集中在关键信息上并突出显示本地重要信息的机制。它是一种类似于人脑的注意力资源分配机制。它通过概率权重分配的方式来计算不同时间的概率权重,从而使一些信息得到更多的关注,从而提高了隐层特征提取的质量。本文中增加字符级注意力的目的是为不同的字符向量分配概率权重,突出显示文本的关键信息,将每个字符级特征合并到句子级特征向量中,并进一步提取字符特征的信息。句子级别的注意力反映每个句子对关系分类的影响程度。它可以充分利用每个实体对的所有信息语句,有助于预测分类。
2.2.3输出层
在输出层用Softmax损失函数进行计算,实现文本的分类,即输出属于每种关系类型的两个实体的概率,所有概率之和为1。最高的概率作为实体关系类别的最终预测结果。
3 实 验
3.1 实验数据与参数设置
本文的实验融合关系发现词与BiGRU-2ATT进行医疗实体诊疗关系抽取。整个实验数据主要是从医疗百科网站、《多发性骨髓瘤诊断与治疗》、多发性骨髓瘤的《患者手册》和《NCCN多发性骨髓瘤临床实践指南》2017.3版获取。经过人工处理之后,构建了1 060个医疗诊疗关系样本,将所有数据以4∶1切分,分别作为训练集和测试集,表1所示为四种关系类别的示例数据。
表1 四种关系类别示例数据
采用Word2Vec训练得到的字符向量表中的字符个数是16 116,向量维数设置为100,将句子的最大长度和关系发现词的总长度设置为70,将超过该长度的部分去掉,不足的用字符向量表中“BLANK”对应的id补全,隐藏层的节点数为230,每批次处理的句子数量为50,迭代次数为20,其余参数都随机初始化。
3.2 实验结果分析
模型抽取性能通过四种关系类型的平均精度进行评估。通过调整学习率,观察不同学习率下的模型训练情况,分别通过基线模型BiGRU-2ATT和融合了关系发现词的BiGRU-2ATT模型进行训练并测试。图3为基于BiGRU-2ATT模型的关系抽取性能最优的Precision-Recall曲线,图4为在融合关系发现词与BiGRU-2ATT的模型上抽取性能最优的Precision-Recall曲线。除此之外,本文还分别实现了基于TP-ISP算法提取关系发现词和基于哈工大词林表聚类识别关系发现词进行关系抽取,并与本文模型进行对比,图5为四种模型在不同学习率时的平均精度对比。
图3 BiGRU-2ATT最优结果
图4 关系发现词+BiGRU-2ATT最优结果
图5 四种模型的平均精度对比
由图3和图4可以看出本文模型提升了关系抽取性能。由图5中的四条折线走向可以得出如下结论:
(1) 在学习率为0.8时,本文模型与基于TP-ISP算法提取关系发现词进行关系抽取的性能相近。在其他学习率下,本文模型有更高的查准率。这是由于TP-ISP算法是基于整个语料的词语计算权重的,权重分布结果会导致识别错误的关系发现词。比如句子“糖尿病人在病情严重时,可出现皮肤瘙痒”,该句的关系发现词应该是“出现”,分类为“相关症状”,但是基于IP-ISP算法得到“严重”在整个语料中的权重更高,所以该句的关系发现词被识别为“严重”。
(2) 基于哈工大词林聚类识别关系发现词的关系抽取模型虽然是优于基线模型BiGRU-2ATT的,但是本文模型更好。这是因为哈工大词林聚类是基于人工建立的初始关系发现词的,在人工和预料规模的限制下会漏掉一些关系发现词,导致有的句子识别不出关系发现词。
(3) 在不同学习率下,本文方法都比BiGRU-2ATT的抽取性能好。在相同学习率下,本文模型抽取效果较BiGRU-2ATT最高提升了大约8.2百分点。
4 结 语
本文提出加入关系发现词作为BiGRU-2ATT模型的额外特征输入来提高模型的关系抽取效果。首先根据哈工大同义词词林表规则聚类进行第一轮关系发现词抽取,然后采用基于TF-IDF的关系发现词补充算法进行第二轮的关系发现词抽取,最后将自动抽取到的关系发现词作为BiGRU-2ATT模型的额外特征输入进行医疗诊疗关系抽取。通过对比实验验证了本文方法相较使用基础词向量和位置向量的BiGRU-2ATT模型及额外使用了TP-ISP算法进行关系发现词识别的模型均能有效提升抽取性能。
本文模型的性能与关系发现词初始集合的人工定义质量及随后的自动抽取算法紧密相关。未来工作将继续研究优化关系发现词的自动抽取以减少人工依赖。除此之外,将建立大规模、更详细的语料库以进一步抽取医疗领域中更细粒度的关系。