工程科学学报 Chinese Journal of Engineering 基于领域词典与CRF双层标注的中文电子病历实体识别 龚乐君张知菲 Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF GONG Le-jun.ZHANG Zhi-fei 引用本文: 龚乐君,张知菲.基于领域词典与CRF双层标注的中文电子病历实体识别.工程科学学报,2020,42(4):469-475.doi: 10.13374-issn2095-9389.2019.09.04.004 GONG Le-jun,ZHANG Zhi-fei.Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF[J].Chinese Journal of Engineering,2020,42(4):469-475.doi: 10.13374j.issn2095-9389.2019.09.04.004 在线阅读View online::htps/ldoi.org/10.13374/.issn2095-9389.2019.09.04.004 您可能感兴趣的其他文章 Articles you may be interested in 基于数控机床设备故障领域的命名实体识别 Named entity recognition based on equipment and fault field of CNC machine tools 工程科学学报.2020.42(4:476htps:loi.org10.13374.issn2095-9389.2019.09.17.002 电子鼻研究进展及在中国白酒检测的应用 Review of electronic-nose technologies and application for Chinese liquor identification 工程科学学报.2017,39(4:475htps:/1doi.org10.13374issn2095-9389.2017.04.001 基于BiLSTM的公共安全事件触发词识别 Public security event trigger identification based on Bidirectional LSTM 工程科学学报.2019,41(9:1201 https:doi.org10.13374.issn2095-9389.2019.09.012 弱光照条件下交通标志检测与识别 Traffic signs detection and recognition under low illumination conditions 工程科学学报.优先发表https:ldoi.org10.13374j.issn2095-9389.2019.08.14.003 基于文本语料的涉恐事件实体属性抽取 Entity and attribute extraction of terrorism event based on text corpus 工程科学学报.2020.42(4:500 https::/1doi.org/10.13374.issn2095-9389.2019.09.13.003
基于领域词典与CRF双层标注的中文电子病历实体识别 龚乐君 张知菲 Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF GONG Le-jun, ZHANG Zhi-fei 引用本文: 龚乐君, 张知菲. 基于领域词典与CRF双层标注的中文电子病历实体识别[J]. 工程科学学报, 2020, 42(4): 469-475. doi: 10.13374/j.issn2095-9389.2019.09.04.004 GONG Le-jun, ZHANG Zhi-fei. Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF[J]. Chinese Journal of Engineering, 2020, 42(4): 469-475. doi: 10.13374/j.issn2095-9389.2019.09.04.004 在线阅读 View online: https://doi.org/10.13374/j.issn2095-9389.2019.09.04.004 您可能感兴趣的其他文章 Articles you may be interested in 基于数控机床设备故障领域的命名实体识别 Named entity recognition based on equipment and fault field of CNC machine tools 工程科学学报. 2020, 42(4): 476 https://doi.org/10.13374/j.issn2095-9389.2019.09.17.002 电子鼻研究进展及在中国白酒检测的应用 Review of electronic-nose technologies and application for Chinese liquor identification 工程科学学报. 2017, 39(4): 475 https://doi.org/10.13374/j.issn2095-9389.2017.04.001 基于BiLSTM的公共安全事件触发词识别 Public security event trigger identification based on Bidirectional LSTM 工程科学学报. 2019, 41(9): 1201 https://doi.org/10.13374/j.issn2095-9389.2019.09.012 弱光照条件下交通标志检测与识别 Traffic signs detection and recognition under low illumination conditions 工程科学学报.优先发表 https://doi.org/10.13374/j.issn2095-9389.2019.08.14.003 基于文本语料的涉恐事件实体属性抽取 Entity and attribute extraction of terrorism event based on text corpus 工程科学学报. 2020, 42(4): 500 https://doi.org/10.13374/j.issn2095-9389.2019.09.13.003
工程科学学报.第42卷,第4期:469-475.2020年4月 Chinese Journal of Engineering,Vol.42,No.4:469-475,April 2020 https://doi.org/10.13374/j.issn2095-9389.2019.09.04.004;http://cje.ustb.edu.cn 基于领域词典与CRF双层标注的中文电子病历实体识别 龚乐君12)四,张知菲2) 1)南京邮电大学计算机学院、软件学院、网络空间安全学院,南京2100232)江苏省大数据安全与智能处理重点实验室,南京210023 ☒通信作者,E-mail:gj98226@163.com 摘要医疗实体识别是电子病历文本信息抽取的基本任务,针对中文电子病历文本复合实体较多、实体长度较长、句子成 分缺失严重、实体边界不清的语言特点以及标注语料难以获取的现状,提出了一种基于领域词典和条件随机场(CR℉)的双层 标注模型.该模型通过对外部资源的统计分析构建医疗领域词典,再结合条件随机场,进行了两次不同粒度的标注,将领域 词典识别的准确性和机器学习的自动性融为一体,从中文电子病历文本中识别出疾病、症状、药品、操作四类医疗实体,该 模型在测试数据中的宏精确率为96.7%、宏召回率为97.7%、宏F1值为97.2%.同时对比分析了采用注意力机制的深度神经 网络的识别效果,因受到领域数据集大小的限制,在该测试数据集中后者表现不佳.实验结果表明了该双层标注模型对中文 医疗实体识别的高效性 关键词中文电子病历:医疗实体识别:领域词典:条件随机场:注意力机制 分类号TP391.1 Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF GONG Le-jun2,ZHANG Zhi-fei2 1)School of Computer Science,Nanjing University of Posts and Telecommunications,Nanjing 210023,China 2)Jiangsu Key Lab of Big Data Security Intelligent Processing,Nanjing 210023,China Corresponding author,E-mail:glj98226@163.com ABSTRACT As a document recorded by professional medical personnel,electronic medical records contain a large and important clinical resource.How to use a large amount of potential information in electronic medical records has become one of the major research directions.Chinese electronic medical records are knowledge-intensive,in which the data has considerable research value.However, they have more complex entities because of the language features of Chinese,and the composite entity is long.These sentences components in the text are missing.Moreover,the boundaries of clinical entities are often unclear.Labeling corpus is a job that requires a great deal of manpower because of the technical language used in a given text.Therefore,the recognition of Chinese clinical named entities is a hard problem.Considering these characteristics of Chinese electronic medical records,this paper proposed a double-layer annotation model that combined with a domain dictionary and conditional random field(CRF).A medical domain dictionary was constructed by statistical analysis method,and combined with CRF to mark two different granularity labeling operations.The manually constructed medical domain dictionary has extremely high accuracy for the recognition of registered words,and machine learning could automatically recognize unregistered words.This work integrated the two aspects based on these advantages.With the proposed method, diseases,symptoms,drugs,and operations could be recognized from Chinese electronic medical records.Using the test dataset,the 收稿日期:2019-09-04 基金项目:国家自然科学基金资助项目(61502243.61502247.61572263):浙江省智慧医疗工程技术研究中心资助项目(2016E10011):中国 博士后基金资助项目(2018M632349):江苏省高校自然科学基金资助项目(16KJB520003)
基于领域词典与 CRF 双层标注的中文电子病历实体识别 龚乐君1,2) 苣,张知菲1,2) 1) 南京邮电大学计算机学院、软件学院、网络空间安全学院,南京 210023 2) 江苏省大数据安全与智能处理重点实验室,南京 210023 苣通信作者,E-mail:glj98226@163.com 摘 要 医疗实体识别是电子病历文本信息抽取的基本任务. 针对中文电子病历文本复合实体较多、实体长度较长、句子成 分缺失严重、实体边界不清的语言特点以及标注语料难以获取的现状,提出了一种基于领域词典和条件随机场(CRF)的双层 标注模型. 该模型通过对外部资源的统计分析构建医疗领域词典,再结合条件随机场,进行了两次不同粒度的标注,将领域 词典识别的准确性和机器学习的自动性融为一体,从中文电子病历文本中识别出疾病、症状、药品、操作四类医疗实体. 该 模型在测试数据中的宏精确率为 96.7%、宏召回率为 97.7%、宏 F1 值为 97.2%. 同时对比分析了采用注意力机制的深度神经 网络的识别效果,因受到领域数据集大小的限制,在该测试数据集中后者表现不佳. 实验结果表明了该双层标注模型对中文 医疗实体识别的高效性. 关键词 中文电子病历;医疗实体识别;领域词典;条件随机场;注意力机制 分类号 TP391.1 Clinical named entity recognition from Chinese electronic medical records using a double-layer annotation model combining a domain dictionary with CRF GONG Le-jun1,2) 苣 ,ZHANG Zhi-fei1,2) 1) School of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China 2) Jiangsu Key Lab of Big Data Security & Intelligent Processing, Nanjing 210023, China 苣 Corresponding author, E-mail: glj98226@163.com ABSTRACT As a document recorded by professional medical personnel, electronic medical records contain a large and important clinical resource. How to use a large amount of potential information in electronic medical records has become one of the major research directions. Chinese electronic medical records are knowledge-intensive, in which the data has considerable research value. However, they have more complex entities because of the language features of Chinese, and the composite entity is long. These sentences components in the text are missing. Moreover, the boundaries of clinical entities are often unclear. Labeling corpus is a job that requires a great deal of manpower because of the technical language used in a given text. Therefore, the recognition of Chinese clinical named entities is a hard problem. Considering these characteristics of Chinese electronic medical records, this paper proposed a double-layer annotation model that combined with a domain dictionary and conditional random field (CRF). A medical domain dictionary was constructed by statistical analysis method, and combined with CRF to mark two different granularity labeling operations. The manually constructed medical domain dictionary has extremely high accuracy for the recognition of registered words, and machine learning could automatically recognize unregistered words. This work integrated the two aspects based on these advantages. With the proposed method, diseases, symptoms, drugs, and operations could be recognized from Chinese electronic medical records. Using the test dataset, the 收稿日期: 2019−09−04 基金项目: 国家自然科学基金资助项目(61502243,61502247,61572263);浙江省智慧医疗工程技术研究中心资助项目(2016E10011);中国 博士后基金资助项目(2018M632349);江苏省高校自然科学基金资助项目(16KJB520003) 工程科学学报,第 42 卷,第 4 期:469−475,2020 年 4 月 Chinese Journal of Engineering, Vol. 42, No. 4: 469−475, April 2020 https://doi.org/10.13374/j.issn2095-9389.2019.09.04.004; http://cje.ustb.edu.cn
470 工程科学学报,第42卷,第4期 Macro-P with 96.7%,the Macro-R with 97.7%and the Macro-F1 with 97.2%were obtained.The recognition performance of the proposed method was greatly improved compared with that of a single-layer model.The recognition effect of deep neural network with attention was also analyzed,which did not perform well due to the size of the domain dataset.The experimental results show the efficiency of the double-layer annotation model for the named entity recognition of Chinese electronic medical records. KEY WORDS Chinese electronic medical records;clinical named entity recognition;medical domain dictionary;conditional random field;attention 近些年来,医疗信息化以及大批在线问诊网 (2)中文电子病历中的医疗实体长度不定,大 站、病例交流网站的迅猛发展产生了海量的电子 部分医疗实体长度长于通用实体.医疗实体构成 病历.电子病历中包含了大量重要的临床资源.如 结构较为复杂,存在大量的嵌套、别名、缩略词等 何利用电子病历所包含的大量潜在信息,成为目 问题,没有严格的构词规律可以遵循20 前热门的研究方向之一,作为文本挖掘的基础任 (3)在中文电子病历的不同部分,医疗实体的 务,命名实体识别在病历文本中需要识别的实体 类别属性有所差异,进行命名实体标注时存在分 类型主要为疾病名称、症状、医疗人员采取的措 类模糊的问题,无法清晰判断某些命名实体之间 施(包括检查措施和治疗措施)、药品名称等医疗 的界限.常见的是症状表现的实体也经常出现在疾 实体 病实体名中,这种互相交叉包含的情况大量存在. 有研究表明,在中文电子病历中,实体分布的 针对以上问题,本文提出了一种基于领域词典 密集程度远高于通用领域文本川中文电子病历语 与条件随机场(Conditional random field,CRF)的预标 料中实体字符所占比例接近中文通用语料的 注-二次标注双层标注模型(Double layer annotation 2倍,这说明了中文电子病历是一种知识密集型的 model,DLAM).DLAM并不着眼于人工选择词法、 文本,其数据具有相当的研究价值 句法特征,也并非单纯的基于词典的命名实体识 命名实体识别任务,常常被作为序列标注任 别,而是将两者结合起来,通过一次预标注-二次精 务来处理)机器学习中特征的选择情况将会直接 确标注的形式将人工构建的准确性和机器学习的 影响实体识别的效果,因此大部分中文医疗实体 自动性融为一体.实验结果表明,该双层标注模型 识别研究集中于构造和选择不同特征.wang等) 能够很好地完成中文医疗实体识别任务 利用字符位置信息和短分句对症状实体进行识 1相关方法 别,在中医文本语料上达到了95.12%的F1值.文 献[4-)研究了语言符号特征、词性特征、关键词 中文医疗实体识别问题可转化为序列标注 特征、词典特征、分词特征、词块特征等多特征组 问题.序列标注问题即对于输入序列A=a1,…,an 合与多种学习器组合对病历实体识别的影响.随 和标签集合L,确定输出标签序列B=b1,…,bm 着深度学习阁技术的发展,利用深度神经网络对 (b:∈L,1≤i≤m).其本质是对输人序列中每个元素 中文医疗实体识别的相关研究9]也在进行,其模 根据上下文进行分类 型基本为序列模型一循环神经网络(Recurrent 基于词典与规则的实体识别方法虽然人工开 neural networks,RNN)及其变体 销大,但对登录词的识别效率极高,领域词典包含 英文电子病历命名实体识别的相关研究 的领域特征信息也非常丰富,因此考虑通过构建 已经形成了相当完善的模式.相比之下,中文电子 小规模的领域词典,将词典的准确性与机器学习 病历命名实体识别工作刚展开不久,缺少充足的 发现未登录词的能力结合起来 标注语料.除此之外,中文医疗实体识别仍存在以 1.1统计方法构建领域词典 下难点: 中文病历文本的语言特征和用词构成与通用 (1)中文电子病历中的医疗实体数量众多、类 文本差异甚大,在由病历文本构建领域词典的过 型丰富,难以建立大而全的疾病、药品或是科室检 程中,为了使领域词典中收录的词更具有领域专 查等医学关键词词典.对于固定不变的医学词典 业性,使用新闻语料作为筛选语料库 而言,病历文本中将不断地有新的未登录词出现 病历文本经过分词后提取每份文本中T℉ 这些新的医疗实体变化多样,更加难以收录 IDF2]值最大的前50词W={w,1≤i≤501,计算w;在
Macro-P with 96.7%, the Macro-R with 97.7% and the Macro-F1 with 97.2% were obtained. The recognition performance of the proposed method was greatly improved compared with that of a single-layer model. The recognition effect of deep neural network with attention was also analyzed, which did not perform well due to the size of the domain dataset. The experimental results show the efficiency of the double-layer annotation model for the named entity recognition of Chinese electronic medical records. KEY WORDS Chinese electronic medical records;clinical named entity recognition;medical domain dictionary;conditional random field;attention 近些年来,医疗信息化以及大批在线问诊网 站、病例交流网站的迅猛发展产生了海量的电子 病历. 电子病历中包含了大量重要的临床资源. 如 何利用电子病历所包含的大量潜在信息,成为目 前热门的研究方向之一. 作为文本挖掘的基础任 务,命名实体识别在病历文本中需要识别的实体 类型主要为疾病名称、症状、医疗人员采取的措 施(包括检查措施和治疗措施)、药品名称等医疗 实体. 有研究表明,在中文电子病历中,实体分布的 密集程度远高于通用领域文本[1] . 中文电子病历语 料中实体字符所占比例接近中文通用语料 的 2 倍,这说明了中文电子病历是一种知识密集型的 文本,其数据具有相当的研究价值. 命名实体识别任务,常常被作为序列标注任 务来处理[2] . 机器学习中特征的选择情况将会直接 影响实体识别的效果,因此大部分中文医疗实体 识别研究集中于构造和选择不同特征. Wang 等[3] 利用字符位置信息和短分句对症状实体进行识 别,在中医文本语料上达到了 95.12% 的 F1 值. 文 献 [4−7] 研究了语言符号特征、词性特征、关键词 特征、词典特征、分词特征、词块特征等多特征组 合与多种学习器组合对病历实体识别的影响. 随 着深度学习[8] 技术的发展,利用深度神经网络对 中文医疗实体识别的相关研究[9−13] 也在进行,其模 型基本为序列模型——循环神经网络(Recurrent neural networks, RNN)及其变体. 英文电子病历命名实体识别的相关研究[14−19] 已经形成了相当完善的模式. 相比之下,中文电子 病历命名实体识别工作刚展开不久,缺少充足的 标注语料. 除此之外,中文医疗实体识别仍存在以 下难点: (1)中文电子病历中的医疗实体数量众多、类 型丰富,难以建立大而全的疾病、药品或是科室检 查等医学关键词词典. 对于固定不变的医学词典 而言,病历文本中将不断地有新的未登录词出现. 这些新的医疗实体变化多样,更加难以收录. (2)中文电子病历中的医疗实体长度不定,大 部分医疗实体长度长于通用实体. 医疗实体构成 结构较为复杂,存在大量的嵌套、别名、缩略词等 问题,没有严格的构词规律可以遵循[20] . (3)在中文电子病历的不同部分,医疗实体的 类别属性有所差异,进行命名实体标注时存在分 类模糊的问题,无法清晰判断某些命名实体之间 的界限. 常见的是症状表现的实体也经常出现在疾 病实体名中,这种互相交叉包含的情况大量存在. 针对以上问题,本文提出了一种基于领域词典 与条件随机场(Conditional random field, CRF)的预标 注-二次标注双层标注模型(Double layer annotation model, DLAM). DLAM 并不着眼于人工选择词法、 句法特征,也并非单纯的基于词典的命名实体识 别,而是将两者结合起来,通过一次预标注-二次精 确标注的形式将人工构建的准确性和机器学习的 自动性融为一体. 实验结果表明,该双层标注模型 能够很好地完成中文医疗实体识别任务. 1 相关方法 A = a1,··· ,an B = b1,··· ,bn (bi ∈ L,1 ⩽ i ⩽ n) 中文医疗实体识别问题可转化为序列标注 问题. 序列标注问题即对于输入序列 和标签集 合 L,确定输出标签序列 . 其本质是对输入序列中每个元素 根据上下文进行分类. 基于词典与规则的实体识别方法虽然人工开 销大,但对登录词的识别效率极高,领域词典包含 的领域特征信息也非常丰富. 因此考虑通过构建 小规模的领域词典,将词典的准确性与机器学习 发现未登录词的能力结合起来. 1.1 统计方法构建领域词典 中文病历文本的语言特征和用词构成与通用 文本差异甚大,在由病历文本构建领域词典的过 程中,为了使领域词典中收录的词更具有领域专 业性,使用新闻语料作为筛选语料库. W={wi |1 ⩽ i ⩽ 50} wi 病历文本经过分词后提取每份文本 中 TFIDF[21] 值最大的前 50 词 ,计算 在 · 470 · 工程科学学报,第 42 卷,第 4 期
龚乐君等:基于领域词典与CF双层标注的中文电子病历实体识别 471. 新闻语料库中的归一化词频tf,m为预先设置的阈 (7)输出:标注结果 值,当满足f;≤m时,将w加入领域词典中 详细过程如图1所示 12基于领域词典和CRF的双层标注模型DLAM CRF是一种无向概率图模型,其优点在于为 Basic feature set 一个位置进行标注的过程中可以利用丰富的内部 及上下文特征信息四由于考虑了输出标签序列 Input CRF 的联合概率分布,线性链条件随机场被大量应用 于序列标注问题 本研究中提出的基于领域词典与CRF的双层 Domain dictionary 标注模型DLAM是在标准线性链条件随机场的前 面增加一层基于领域词典匹配的预标注层 Results of the first Output ayer annotation 中文电子病历医疗实体识别任务中,输入序 列X为中文电子病历文本,输出序列Y为对应的 图1基于领域词典与CRF的双层标注模型 标签序列.在给定输入序列X=1,…,的情况下, Fig.I Double-layer annotation model 通过领域词典匹配得到预标注序列D=d1,…,dn,最 2实验数据 大化输出标签序列Y的联合条件概率的似然估 计.对于输入序列X,最有可能的输出标签序列Y: 由于国内对患者隐私的保护政策,医院电子 Y argmax P(ylx,d) (1) 病历较难获得.因此,选择从“爱爱医”网站上爬取 了1064份呼吸科病历文本和30262份不限科室病 DLAM将预标注结果序列D和输入序列X共 历文本作为实验数据.1064份呼吸科电子病历中 同作为CRF的输入.因此,DLAM中的条件随机 的864份用于1.1节所述统计方法构建领域词典, 场为给定XD条件下的联合条件概率P=(YX,D) 200份在参考文献[23]以及英文I2B2、UMLS语 在随机变量X取值为x的条件下,随机变量D取 义类型的基础上,标注出疾病、症状、药品、操 值为d,随机变量Y的条件概率如下: 作四类医疗实体.标注规范如下: P(ylx,d)= (1)疾病:医生对患者做出的诊断或以“病”、 Z(x exp k40-y,x,d,)+4s0,x,d,i) “症”作为结尾的实体统称为疾病.如“肺内隔 il 离症” (2) (2)症状:由疾病导致的不适表现、异常表现、 Z闭=∑ep∑e6-1..xd+∑6.xd. 正常或异常的检查结果或者患者的不健康状态以 0 及患者自述中的病史介绍.如“声音嘶哑”、“无结 (3) 核病史” 与标准线性链条件随机场类似,式(2)、(3)中 (3)药品:诊疗过程中给予患者的具体药物名 和s是特征函数,和山是对应的权值.Z()是规 称或药物类别.如“地塞米松”、“抗生素” 范化因子,求和是在所有可能的输出序列上进行 (4)操作:包括检查项目和诊疗手段.检查项 的.模型的训练过程即是在特征函数下,训练其对 目是指,为了发现、证实或是否认疾病,希望得到 应的权值 更多关于疾病的信息而施加给患者的检查项目 DLAM算法步骤如下: 诊疗手段是指,为了缓解不适症状或者解决疾病 (1)输入:病历文本序列X=x1,…,xn 而施加给患者的干预措施和治疗程序.如“拍胸 (2)构建领域词典S, 片”、“抗感染”、“胸腔穿刺术” (3)文本与词典进行匹配的结果为SnX; 表1所示为训练、测试语料数据分布 (4)打碎S∩nX结果形成基元,得到一层标注序 另外,在本研究中,为了验证DLAM模型效果, 列:D=d1,…,dn 选择注意力深度神经网络BiLSTM-Attention-CRF (5)抽取文本的基本特征集F=f,…, 作为参照.因此,30262份不限科室未标注电子病历 (6)将一层标注结果D及文本特征F投入CRF 使用Word2vec工具,采用skip-gram模型,基于字 模型,得到二层标注序列Y=y1,…ym 粒度分别训练出50维、150维、300维的字嵌入
tfi tfi ⩽ m wi 新闻语料库中的归一化词频 ,m 为预先设置的阈 值,当满足 时,将 加入领域词典中. 1.2 基于领域词典和 CRF 的双层标注模型 DLAM CRF 是一种无向概率图模型,其优点在于为 一个位置进行标注的过程中可以利用丰富的内部 及上下文特征信息[22] . 由于考虑了输出标签序列 的联合概率分布,线性链条件随机场被大量应用 于序列标注问题. 本研究中提出的基于领域词典与 CRF 的双层 标注模型 DLAM 是在标准线性链条件随机场的前 面增加一层基于领域词典匹配的预标注层. X = x1,··· , xn D=d1,··· ,dn 中文电子病历医疗实体识别任务中,输入序 列 X 为中文电子病历文本,输出序列 Y 为对应的 标签序列. 在给定输入序列 的情况下, 通过领域词典匹配得到预标注序列 ,最 大化输出标签序列 Y 的联合条件概率的似然估 计. 对于输入序列 X,最有可能的输出标签序列 Y: Y = argmax y P(y|x,d) (1) P = (Y|X,D) DLAM 将预标注结果序列 D 和输入序列 X 共 同作为 CRF 的输入. 因此,DLAM 中的条件随机 场为给定 X,D 条件下的联合条件概率 . 在随机变量 X 取值为 x 的条件下,随机变量 D 取 值为 d,随机变量 Y 的条件概率如下: P(y|x,d) = 1 Z (x) exp ∑ i,k λktk (yi−1, yi , x,d,i)+ ∑ i,l µlsl(yi , x,d,i) (2) Z (x)= ∑ y exp ∑ i,k λktk (yi−1, yi , x,d,i)+ ∑ i,l µlsl(yi , x,d,i) (3) tk sl λk µl Z (x) 与标准线性链条件随机场类似,式(2)、(3)中 和 是特征函数, 和 是对应的权值. 是规 范化因子,求和是在所有可能的输出序列上进行 的. 模型的训练过程即是在特征函数下,训练其对 应的权值. DLAM 算法步骤如下: (1)输入:病历文本序列 X = x1,··· , xn; (2)构建领域词典 S; (3)文本与词典进行匹配的结果为 S ∩ X ; S ∩ X D=d1,··· ,dn (4)打碎 结果形成基元,得到一层标注序 列: ; (5)抽取文本的基本特征集 F = f1,··· , fn; Y = y1,··· , yn (6)将一层标注结果 D 及文本特征 F 投入 CRF 模型,得到二层标注序列 ; (7)输出:标注结果. 详细过程如图 1 所示. 2 实验数据 由于国内对患者隐私的保护政策,医院电子 病历较难获得. 因此,选择从“爱爱医”网站上爬取 了 1064 份呼吸科病历文本和 30262 份不限科室病 历文本作为实验数据. 1064 份呼吸科电子病历中 的 864 份用于 1.1 节所述统计方法构建领域词典, 200 份在参考文献 [23] 以及英文 I2B2、 UMLS 语 义类型[24] 的基础上,标注出疾病、症状、药品、操 作四类医疗实体. 标注规范如下: (1)疾病:医生对患者做出的诊断或以“病”、 “症”作为结尾的实体统称为疾病. 如“肺内隔 离症”. (2)症状:由疾病导致的不适表现、异常表现、 正常或异常的检查结果或者患者的不健康状态以 及患者自述中的病史介绍. 如“声音嘶哑”、“无结 核病史”. (3)药品:诊疗过程中给予患者的具体药物名 称或药物类别. 如“地塞米松”、“抗生素”. (4)操作:包括检查项目和诊疗手段. 检查项 目是指,为了发现、证实或是否认疾病,希望得到 更多关于疾病的信息而施加给患者的检查项目. 诊疗手段是指,为了缓解不适症状或者解决疾病 而施加给患者的干预措施和治疗程序. 如“拍胸 片”、“抗感染”、“胸腔穿刺术”. 表 1 所示为训练、测试语料数据分布. 另外,在本研究中,为了验证 DLAM 模型效果, 选择注意力深度神经网络 BiLSTM-Attention-CRF 作为参照. 因此,30262 份不限科室未标注电子病历 使用 Word2vec 工具,采用 skip-gram 模型,基于字 粒度分别训练出 50 维、150 维、300 维的字嵌入. F Y CRF Output Results of the first layer annotation Basic feature set Input Domain dictionary X D 图 1 基于领域词典与 CRF 的双层标注模型 Fig.1 Double-layer annotation model 龚乐君等: 基于领域词典与 CRF 双层标注的中文电子病历实体识别 · 471 ·
472 工程科学学报,第42卷,第4期 表1训练集、测试集实体分布情况 出,在句子成分缺失的短句中也能直接代指器官 Table 1 Distribution of entities among the training set and the test set 的某部分.如:“左下” Dataset Diseases Symptoms Drugs Operations Total (4)否定:病历文本中常有描述患者并未出现 Training set 701 2648 546 2138 6033 某些症状或并未患某种疾病的情况,直接通过词 Test set 273 1043 208 918 2442 典匹配无法判断这种情况,可能造成语义相反 如:“无”、“未闻及” 对于实体识别的序列标注任务,标签由两部 3 分构成:实体类别和实体中的位置.本研究采用 实验结果及讨论 BIO表示法以字符为最小标注单位来表征该字符 为了综合考虑模型在整个数据集上的性能, 的标签.BIO表示法中,B代表位于实体的开始位 本文中采用宏平均指标(Macro-Average).宏平均 置,1表示位于实体内部,O代表不为实体.因此, 是指每一类性能指标的算数平均值,具体可分为: 标注语料中共包含4类实体,9类标签 宏精确率(Macro-P)、宏召回率(Macro-R)和宏 领域词典的构建除了1.1节所述统计方法外, F1值(Macro-F1) 还借助了外部专业资源,来源有: P (1)互动百科“呼吸系统疾病”全部词条以及 每个词条“概述”部分的分词结果; Macro-P= (4) N (2)“中国公众健康网”上“肺和呼吸相关疾 病”全部词条以及每种疾病页面的“相关症状”和 了Ri “相关药品”; Macro-R=i= N (5) (3)CHPO“呼吸系统异常”全部条目,不仅包 2 x Macro-P×Macro-R 括实体本身,还包括其HP编码 Macro-F1 (6) Macro-P+Macro-R 以上多种途径构建出的初始词典经过去重、 其中,N表示实体类别总数,P:表示每一类实体的 人工去除噪音、人工分类,最后整合成共3943词 精确率,R,表示每一类实体的召回率 的“呼吸科领域词典”,其中包括疾病、症状、操 以不采用预标注层、仅使用语言符号特征和 作、药品、关键词、器官、位置、否定八类.表2展 上下文特征的单层CRF作为基线,首先讨论领域 示了该领域词典的构成. 词典是否对CRF标注产生积极影响.上下文窗口 除与医疗实体识别任务中目标实体相同的四 大小均设置为5.表3所示为该组对比实验结果 类外,领域词典中还额外定义了四种类型的关键 可以看到,双层标注模型DLAM同时结合了 词.这是因为中文病历文本存在复合实体较多、 领域词典的准确性和CF的自动学习能力,将中 短句内句子成分缺失严重的问题.为了更好地识 文医疗实体的识别效果得到了极大提升.不同于 别出医疗实体,考虑在利用领域词典进行的预标 单层CRF宏精确率和宏召回率相差较大的情况, 注部分采用范围更广的关键词匹配策略,不仅标 DLAM的宏精确率和宏召回率几乎相等,达到了 注出目标实体类型,也标注出对目标实体的修饰 一个很好的平衡 关键词.具体含义如下: 第二组对比实验是研究采用了注意力机制] (1)关键词:提示将出现症状,因对关键词的 的深度神经网络BiLSTM-Attention-CRF2阿对中文 症状描述多样,所以单独列出.如:“食欲” 医疗实体的识别效果.根据预训练的不同字嵌入 (2)器官:指人体器官或部分肢体,因同一症 维度和一组随机初始化embedding向量进行对比. 状可能发生于不同器官或器官的不同范围而单独 表4为该组对比实验结果, 列出.如:“肺” 从实验结果可以看出,预训练字嵌入的质量 (3)位置:为了描述器官的某部分而单独列 对深度神经网络的识别结果会产生较大影响.字 表2领域词典构成情况 Table 2 Distribution among the domain dictionary Type Diseases Symptoms Operations Drugs Keywords Organs Location Privative Amount 1212 934 611 777 30 351 16 12
对于实体识别的序列标注任务,标签由两部 分构成:实体类别和实体中的位置. 本研究采用 BIO 表示法以字符为最小标注单位来表征该字符 的标签. BIO 表示法中,B 代表位于实体的开始位 置,I 表示位于实体内部,O 代表不为实体. 因此, 标注语料中共包含 4 类实体,9 类标签. 领域词典的构建除了 1.1 节所述统计方法外, 还借助了外部专业资源,来源有: (1)互动百科“呼吸系统疾病”全部词条以及 每个词条“概述”部分的分词结果; (2)“中国公众健康网”上“肺和呼吸相关疾 病”全部词条以及每种疾病页面的“相关症状”和 “相关药品”; (3)CHPO“呼吸系统异常”全部条目,不仅包 括实体本身,还包括其 HP 编码. 以上多种途径构建出的初始词典经过去重、 人工去除噪音、人工分类,最后整合成共 3943 词 的“呼吸科领域词典”,其中包括疾病、症状、操 作、药品、关键词、器官、位置、否定八类. 表 2 展 示了该领域词典的构成. 除与医疗实体识别任务中目标实体相同的四 类外,领域词典中还额外定义了四种类型的关键 词. 这是因为中文病历文本存在复合实体较多、 短句内句子成分缺失严重的问题. 为了更好地识 别出医疗实体,考虑在利用领域词典进行的预标 注部分采用范围更广的关键词匹配策略,不仅标 注出目标实体类型,也标注出对目标实体的修饰 关键词. 具体含义如下: (1)关键词:提示将出现症状,因对关键词的 症状描述多样,所以单独列出. 如:“食欲”. (2)器官:指人体器官或部分肢体,因同一症 状可能发生于不同器官或器官的不同范围而单独 列出. 如:“肺”. ( 3)位置:为了描述器官的某部分而单独列 出,在句子成分缺失的短句中也能直接代指器官 的某部分. 如:“左下”. (4)否定:病历文本中常有描述患者并未出现 某些症状或并未患某种疾病的情况,直接通过词 典匹配无法判断这种情况,可能造成语义相反. 如:“无”、“未闻及”. 3 实验结果及讨论 为了综合考虑模型在整个数据集上的性能, 本文中采用宏平均指标(Macro-Average). 宏平均 是指每一类性能指标的算数平均值,具体可分为: 宏精确率 ( Macro-P) 、宏召回率 ( Macro-R) 和 宏 F1 值(Macro-F1). Macro-P = ∑ N i=1 Pi N (4) Macro-R = ∑ N i=1 Ri N (5) Macro-F1 = 2×Macro-P×Macro-R Macro-P+Macro-R (6) Pi Ri 其中,N 表示实体类别总数, 表示每一类实体的 精确率, 表示每一类实体的召回率. 以不采用预标注层、仅使用语言符号特征和 上下文特征的单层 CRF 作为基线,首先讨论领域 词典是否对 CRF 标注产生积极影响. 上下文窗口 大小均设置为 5. 表 3 所示为该组对比实验结果. 可以看到,双层标注模型 DLAM 同时结合了 领域词典的准确性和 CRF 的自动学习能力,将中 文医疗实体的识别效果得到了极大提升. 不同于 单层 CRF 宏精确率和宏召回率相差较大的情况, DLAM 的宏精确率和宏召回率几乎相等,达到了 一个很好的平衡. 第二组对比实验是研究采用了注意力机制[25] 的深度神经网络 BiLSTM-Attention-CRF[26] 对中文 医疗实体的识别效果. 根据预训练的不同字嵌入 维度和一组随机初始化 embedding 向量进行对比. 表 4 为该组对比实验结果. 从实验结果可以看出,预训练字嵌入的质量 对深度神经网络的识别结果会产生较大影响. 字 表 1 训练集、测试集实体分布情况 Table 1 Distribution of entities among the training set and the test set Dataset Diseases Symptoms Drugs Operations Total Training set 701 2648 546 2138 6033 Test set 273 1043 208 918 2442 表 2 领域词典构成情况 Table 2 Distribution among the domain dictionary Type Diseases Symptoms Operations Drugs Keywords Organs Location Privative Amount 1212 934 611 777 30 351 16 12 · 472 · 工程科学学报,第 42 卷,第 4 期