APP下载

基于BiGRU_CRF模型的医疗领域命名实体识别

2020-02-03陈琛

电子技术与软件工程 2020年14期
关键词:命名实体向量

陈琛

(厦门医学院 福建省厦门市 361023)

近年来,随着我国信息化水平显著提升,大量医疗领域内生物医学内容以非结构化形式存储在电子文本中,无法得到充分利用。利用命名实体识别技术将医疗文本中的实体识别出来是将医疗文本转化为结构化数据的基础步骤,为进一步挖掘利用其中蕴含的丰富知识并进行应用奠定了基础。国外医疗领域命名实体识别工作开展较早,已有如JNLPBA2004、ib2b2006、ib2b2010 等测评会议和生物医学领域公开数据集。近年来,我国医疗领域命名实体识别工作也逐步展开, 出现了如CCKS2017、CCKS2018 和CCKS2019 等测评竞赛和公开数据集。但总体来说,国内生物医疗领域的命名实体识别工作开展较迟,公开数据集也较为缺乏。目前,国内已有多名学者在生物医学领域文本的命名实体领域开展了研究,如Lei 等人[1]用结构化SVM在中文电子病历的命名实体识别中取得了良好效果。Liu 等[2]基于CRF 模型探究了不同特征对医疗领域文本识别效果的影响。

传统机器学习方法在解决命名实体识别问题时主要有两种方法,第一种是基于规则和字典,由语言学专家手工构造规则模板,该方法主要凭借专家经验,且系统可移植性差、耗时耗力;第二种是基于统计的学习方法:如支持向量机(SVM)[3]、隐马尔科夫模型(HMM)[4]、最大熵(Maxmium Entropy)[5]和条件随机场(CRF)[6]等。此类方法特征工程复杂,需大量的标注数据。本文提出一种基于Word2Vec[7]训练的字向量的BiGRU-CRF 模型,该方法基于神经网络的深度学习,较传统机器学习方法的优势是,无需特征工程和人工构造规则模板,节省了人力物力。实验表明,该模型较CRF等传统模型有提升了的命名实体识别率,在瑞金医院糖尿病标注数据集中有较好的识别效果。

1 BiGRU-CRF的命名实体识别模型

BiGRU-CRF 模型如图1 所示,模型分为3 个部分,通过Word2Vec 进行预训练获得词嵌入表示,再将生成向量输入 BiGRU模型进行进一步语义编码,最后通过CRF层输出概率最优标签序列。

图1:基于BiGRU-CRF 的命名实体模型

1.1 BiGRU-CRF模型

1.1.1 BiGRU 模型

GRU[8]的 (Gated Recurrent Unit,GRU),是一种特殊循环神经网络 (RNN,Recurrent Neural Network)。RNN 可以利用顺序信息来处理序列化信息,但在处理序列过长问题时会出现梯度消失等问题。同时,RNN 也缺乏学习长期依赖的能力。GRU 模型是LSTM 模型[9]的一种变体,通过将LSTM 模型的输入门、遗忘门和输出门三个门结构进行改进,合并遗忘门和输入们为更新门,混合细胞状态和隐藏状态,使用重置门和更新门两个门控决定哪些信息可以最终作为门控循环单元的输出。GRU 模型简单,较LSTM 模型训练时间短,能节约利用硬件的计算能力和降低训练时间成本,广泛应用于工业界和大数据量的深度学习任务中。其内部结构如图2 所示。

更新门用于控制哪些信息流向下一时刻:

重置门用于控制哪些过去信息需要被丢失

符号·表示按点乘运算,σ 表示sigmoid 函数,隐藏状态输出向量ht由zt和rt决定。

1.1.2 BiGRU

单向GRU 模型只能获取前向时刻的信息,使用双向GRU 模型获得前向和后向的信息。BiGRU 模型同一时刻包含两个分别按前向和后向顺序进行记忆的记忆单元,能有效利用上下文信息,将该时刻两个方向的输出进行拼接,公式如下:

vt,wt是权重,bt为偏置。

1.2 CRF层

模型最上层是CRF 层[10],使用该层执行序列级别的单词标记,在训练数据的过程中,该层自动学习标签之间的约束,确保预测的标签是合法的。使用一个(k+2)×(k+2)的转换矩阵A 作为参数,其中k 是标签号,Aij表示标签的转移分数。如果标记序列由y=(y1,y2,...,yn)表示,而n 等于句子长度,则用于测量句子x 的标记等于标记序列y 的概率的公式如下所示。

图2:GRU 单元结构

Score(x,y)由转换矩阵A 和该字符的第yi个标签的分数矩阵P组成,为句子中所有单词的打分。使用Softmax函数进行归一化处理,公式如下。

训练时,对于训练样本(x,yx),采用以下公式最大化标记序列的对数概率。

本实验采用维特比算法求动态规划的概率最大路径,公式如下:

2 实验结果和分析

2.1 实验数据和标注方法

本次实验使用数据集为瑞金医院糖尿病标注数据集[11]。随机取其中的90%作为训练集,10%作为测试集。数据集中共包含15 种实体,实验中使用BIOES标注模式对数据集中的实体字符进行标注。其中B-Type 标注实体首字和I-Type 标注实体中间字,E-Type 表示实体末字,Type 表示不同实体分类,S 表示实体单字,O 标注非实体。

2.2 评价指标

表1:各命名实体模型识别效果比较

本文实验使用准确率P、召回率R 和F1 值作为模型识别效果和模型性能判定指标。公式如下:其中Tp为模型正确识别出的实体的数量、Fp为模型识别出的无关实体的数量、Fn为模型未能识别的相关实体的数量。

2.3 参数设置

实验参数设置为

(1)Word2Vec 参数:Skip-gram 模型,size=300,windows=5,生成词向量时使用jieba 进行分词。

(2)Bi_GRU 模型参数:Word2Vec 词向量维度为300,最大序列长度128,批处理大小为32,隐藏层节点数128,Dropout0.5,Epoch 为10,使用Adam 进行优化。

2.4 实验环境

所有实验采用的环境为16 核CPU、GPU 为GeForce GTX 1080 Ti,Python 版本为3.6、Tensorflow 版本为1.15.0。

2.5 实验及实验结果

2.5.1 多模型实验对比

本实验使用Word2Vec 的Skip-gram 词向量模型进行基于字和基于词的医疗领域词向量训练。对比基于字符的BiGRU-CRF 模型和基于词的BiGRU-CRF 模型和基于字的BiGRU、基于字的CRF模型的识别结果如表1 所示。

2.5.2 实验结论

如表1 所示,基于Word2Vec 训练的字向量的BiGRU-CRF 较基于词向量的BiGRU-CRF 模型识别效果提升0.014,其主要原因是在专业领域内专业名词与日常用词习惯不同,词语边界不清,使用jieba 等分词工具容易引起分词错误。而分词错误发生传导导致的最后识别效果较差。实验证明,基于字向量BiGRU-CRF 模型在医疗领域的命名实体识别中,较CRF 等模型有更好的表现。相比于传统的机器学习的方式,该模型不依赖人工特征工程,不需要规则模板,极大地降低了人力物力的消耗。

3 总结与展望

本文提出一种基于字向量的BiGRU-CRF 的方法,在瑞金医院糖尿病标注数据集中较CRF 等模型显著提升了识别效果,证明了该模型的有效性。该模型还有很大的改进空间,未来可以考虑引入BERT 模型[12]、ALBERT 模型[13]等方式进一步改进模型,提高医疗领域文本的识别率,为实现医疗自动问答系统、医疗知识图谱和医疗事件抽取等任务做基础。

猜你喜欢

命名实体向量
向量的分解
命名——助力有机化学的学习
聚焦“向量与三角”创新题
前海自贸区:金融服务实体
有一种男人以“暖”命名
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线