留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

融合语义及边界信息的中文电子病历命名实体识别

崔少国 陈俊桦 李晓虹

崔少国, 陈俊桦, 李晓虹. 融合语义及边界信息的中文电子病历命名实体识别[J]. 电子科技大学学报, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
引用本文: 崔少国, 陈俊桦, 李晓虹. 融合语义及边界信息的中文电子病历命名实体识别[J]. 电子科技大学学报, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
CUI Shaoguo, CHEN Junhua, LI Xiaohong. Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
Citation: CUI Shaoguo, CHEN Junhua, LI Xiaohong. Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350

融合语义及边界信息的中文电子病历命名实体识别

doi: 10.12178/1001-0548.2021350
基金项目: 重庆市科技局项目(cstc2018jcyjAX0324,cstc2019jscx-mbdxX0061);重庆市教委科技项目(KJQN201800539,KJQN202000510);重庆市研究生科研创新项目(CYS22565);教育部人文社科项目(18XJC880002)
详细信息
    作者简介:

    崔少国(1974-),男,博士,教授,主要从事大数据与人工智能等方面的研究

    通讯作者: 崔少国,E-mail:csg@cgnu.edu.cn
  • 中图分类号: TP391.1

Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information

  • 摘要: 中文电子病历数据专业性强,语法结构复杂,用于自然语言处理(NLP)的命名实体识别(NER)难度大。为了从电子病历数据中精确识别出医疗实体,提出了一种融合语义及边界信息的命名实体识别算法。首先,利用卷积神经网络(CNN)结构提取汉字图形信息,并与五笔特征拼接来丰富汉字的语义信息;然后,利用FLAT模型中的Lattice将医学词典作为字符潜在词组匹配文本信息;最后,将融入语义信息的Lattice模型用于中文电子病历命名实体识别。实验结果表明,该方法在Yidu-S4K数据集上的识别性能超过现有多种算法,且在Resume数据集上F1值可达到96.06%。
  • 图  1  WHSemantic+Lattice结构

    图  2  Flat-Lattice结构

    图  3  HSemantic结构

    表  1  Yidu-S4K中文电子病历数据集情况 /个

    类型 subtask1_
    training_part1
    subtask1_
    training_part2
    总计
    疾病和诊断174724654212
    手术4176121029
    解剖部位360448228426
    药物8389841822
    影像检查223746969
    实验室检验5136821195
    实体数73421031117653
    下载: 导出CSV

    表  2  Resume数据集情况 ×103

    类型训练集验证集测试集
    句子/条3.80.460.48
    字符/个124.113.915.1
    下载: 导出CSV

    表  3  Yidu-S4K中文电子病历数据集的实验结果 /%

    模型准确率召回率F1值
    BiLSTM-CRF69.4372.5871.97
    BiLSTM-Attention CRF65.9650.2457.04
    Lattice-LSTM70.1972.3471.25
    LR-CNN57.7750.2953.77
    FLAT73.7672.5173.13
    WHSemantic+Lattice76.2174.5675.37
    下载: 导出CSV

    表  4  Resume数据集上实验结果 /%

    模型准确率召回率F1值
    Word+char+biLSTM[12]93.7293.4493.58
    Lattice-LSTM[12]94.8194.1194.46
    LR-CNN[22]95.3794.8495.11
    FLAT[13]--95.45
    WHSemantic+Lattice95.6896.4496.06
    下载: 导出CSV

    表  5  消融实验(1)的实验结果 /%

    最大池化层准确率召回率F1值
    72.2767.2469.67
    8×875.7873.2274.48
    4×467.5165.0966.28
    2×276.2174.5675.37
    下载: 导出CSV

    表  6  消融实验(2)的实验结果 /%

    模型准确率召回率F1值
    FLAT-Lattice73.7672.5173.13
    HSemantic+ Lattice74.6272.6173.60
    WSemantic+ Lattice75.0273.2474.11
    WHSemantic+Lattice76.2174.5675.37
    下载: 导出CSV

    表  7  应用效果示例对比

    句子标准划分Lattice-LSTMFLATWHSemantic+Lattice
    两肺感染及右侧基节及侧脑室体旁小腔隙灶两(B-DD)两(O)两(O)两(B-DD)
    肺(I-DD)肺(B-DD)肺(B-DD)肺(I-DD)
    感(I-DD)感(I-DD)感(I-DD)感(I-DD)
    染(I-DD)染(E-DD)染(E-DD)染(E-DD)
    及(I-DD)及(O)及(O)及(O)
    右(I-DD)右(B-DD)右(B-DD)右(B-DD)
    侧(I-DD)侧(I-DD)侧(I-DD)侧(I-DD)
    基(I-DD)基(I-DD)基(I-DD)基(I-DD)
    节(I-DD)节(E-DD)节(E-DD)节(E-DD)
    及(I-DD)及(O)及(O)及(O)
    侧(I-DD)侧(B-DD)侧(B-DD)侧(B-DD)
    脑(I-DD)脑(I-DD)脑(I-DD)脑(I-DD)
    室(I-DD)室(E-DD)室(E-DD)室(I-DD)
    体(I-DD)体(O)体(O)体(I-DD)
    旁(I-DD)旁(O)旁(O)旁(I-DD)
    小(I-DD)小(O)小(O)小(I-DD)
    腔(I-DD)腔(O)腔(O)腔(I-DD)
    隙(I-DD)隙(O)隙(O)隙(I-DD)
    灶(E-DD)灶(O)灶(O)灶(E-DD)
    下载: 导出CSV
  • [1] ZHANG J, LI J, WEN Z, et al. Overview of CCKS 2018 task 1: Named entity recognition in Chinese electronic medical records[C]//China Conference on Knowledge Graph and Semantic Computing. Singapore: Springer, 2019: 158-164.
    [2] ZHANG J, LI J, WANG S, et al. Category multi-representation: A unified solution for named entity recognition in clinical texts[C]//Pacific-Asia Conference on Knowledge Discovery and Data Mining. Cham: Springer, 2018: 275-287.
    [3] MEYSTRE S M, SAVOVA G K, KIPPERSCHULER K C, et al. Extracting information from textual documents in the electronic health record: A review of recent research[J]. Yearbook of Medical Informatics, 2008, 17(1): 128-144. doi:  10.1055/s-0038-1638592
    [4] UNANUE I J, BORZESHI E Z, PICCARDI M. Recurrent neural networks with specialized word embeddings for health-domain named-entity recognition[J]. Journal of Biomedical Informatics, 2017, 76: 102-109. doi:  10.1016/j.jbi.2017.11.007
    [5] LAMPLE G, BALLESTEROS M, SUBRAMANIAN S, et al. Neural architectures for named entity recognition[C]//Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg: ACL, 2016: 260-270.
    [6] ZENG D, SUN C, LIN L, et al. LSTM-CRF for drug-named entity recognition[J]. Entropy, 2017, 19(6): 283. doi:  10.3390/e19060283
    [7] COLLOBERT R, WESTON J, BOTTOU L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12: 2493-2537.
    [8] STRUBELL E, VERGA P, BELANGER D, et al. Fast and accurate entity recognition with iterated dilated convolutions[C]//Conference on Empirical Methods in Natural Language Processing. East Stroudsburg: EMNLP, 2017: 2670-2680.
    [9] QIU J, ZHOU Y, WANG Q, et al. Chinese clinical named entity recognition using residual dilated convolutional neural network with conditional random field[J]. IEEE Transactions on Nanobioscience, 2019, 18(3): 306-315. doi:  10.1109/TNB.2019.2908678
    [10] WANG Q, ZHOU Y, RUAN T, et al. Incorporating dictionaries into deep neural networks for the Chinese clinical named entity recognition[J]. Journal of Biomedical Informatics, 2019, 92: 103133. doi:  10.1016/j.jbi.2019.103133
    [11] JI B, LIU R, LI S, et al. A BILSTM-CRF method to Chinese electronic medical record named entity recognition[C]//Proceedings of the 2018 International Conference on Algorithms, Computing and Artificial Intelligence. Sanya: ACAI, 2018: 1-6.
    [12] ZHANG Y, YANG J. Chinese NER using Lattice LSTM[C]//Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2018: 1554-1564.
    [13] LI X, YAN H, QIU X, et al. FLAT: Chinese NER using Flat-Lattice transformer[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg: ACL, 2020: 6836-6842.
    [14] LIU W, XU T, XU Q, et al. An encoding strategy based word-character LSTM for Chinese NER[C]//Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers). Minneapolis: NAACL, 2019: 2379-2389.
    [15] DONG C, ZHANG J, ZONG C, et al. Character-based LSTM-CRF with radical-level features for Chinese named entity recognition[C]//Natural Language Understanding and Intelligent Applications: 5th CCF Conference on Natural Language Processing and Chinese Computing. Kunming: Springer, 2016: 239-250.
    [16] MENG Y, WU W, WANG F, et al. Glyce: Glyph-vectors for Chinese character representations[C]//Proceedings of the 33rd International Conference on Neural Information Processing Systems. San Diego: NIPS, 2019: 2746-2757.
    [17] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. Corvallis: ACM, 2017: 6000-6010.
    [18] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems-Volume 1. San Diego: NIPS, 2012: 1097-1105.
    [19] LAFFERTY J, MCCALLUM A, PEREIRAB F C N. Conditional random fields: Probabilistic models for segmenting and labeling sequence data[C]//Proc 18th International Conference on Machine Learning. Corvallis: ACM, 2001: 282-289.
    [20] HUANG Z H, XU W, YU K. Bidirectional LSTM-CRF models for sequence tagging[EB/OL]. (2015-08-09). https://arxiv.org/abs/1508.01991.
    [21] JIA Y, MA X. Attention in character-Based BiLSTM-CRF for Chinese named entity recognition[C]//Proceedings of the 2019 4th International Conference on Mathematics and Artificial Intelligence. [S.1.]: ICMAI, 2019: 1-4.
    [22] GUI T, MA R, ZHANG Q, et al. CNN-Based Chinese NER with Lexicon Rethinking[C]//IJCAI International Joint Conference on Artificial Intelligence. Mocao, China: IJCAI, 2019: 4982-4988.
  • [1] 邓佳丽, 龚海刚, 刘明.  基于目标检测的医学影像分割算法 . 电子科技大学学报, 2023, 52(2): 254-262. doi: 10.12178/1001-0548.2022081
    [2] 王兆滨, 马一鲲, 崔子婧.  基于引导滤波与稀疏表示的医学图像融合 . 电子科技大学学报, 2022, 51(2): 264-273. doi: 10.12178/1001-0548.2021165
    [3] 张天一, 李文昌, 肖金玉, 刘剑.  基于稀疏字典学习的VLSI温度场重构技术 . 电子科技大学学报, 2021, 50(4): 502-507. doi: 10.12178/1001-0548.2020417
    [4] 头旦才让, 仁青东主, 尼玛扎西, 于永斌, 邓权芯.  基于改进字节对编码的汉藏机器翻译研究 . 电子科技大学学报, 2021, 50(2): 249-255, 293. doi: 10.12178/1001-0548.2020218
    [5] 程石磊, 赵雷, 钮孟洋, 廖炳焱, 解梅, 顾菘, 张跃飞.  判别分析字典在行为识别中的算法研究 . 电子科技大学学报, 2019, 48(5): 767-773. doi: 10.3969/j.issn.1001-0548.2019.05.017
    [6] 邓钰, 雷航, 李晓瑜, 林奕欧.  用于目标情感分类的多跳注意力深度模型 . 电子科技大学学报, 2019, 48(5): 759-766. doi: 10.3969/j.issn.1001-0548.2019.05.016
    [7] 杨越, 黄瑞章, 魏琴, 陈艳平, 秦永彬.  基于上下文语义的新闻人名纠错方法 . 电子科技大学学报, 2019, 48(6): 809-814. doi: 10.3969/j.issn.1001-0548.2019.06.002
    [8] 叶娅兰, 何文文, 程云飞, 侯孟书, 李云霞.  面向压缩感知的基于相关性字典学习算法 . 电子科技大学学报, 2017, 46(5): 703-708. doi: 10.3969/j.issn.1001-0548.2017.05.011
    [9] 林奕欧, 雷航, 李晓瑜, 吴佳.  自然语言处理中的深度学习:方法及应用 . 电子科技大学学报, 2017, 46(6): 913-919. doi: 10.3969/j.issn.1001-0548.2017.06.021
    [10] 夏虎, 黄文茜.  基于上下文相关的未知实体词识别方法 . 电子科技大学学报, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
    [11] 尚赵伟, 曹海, 陈波.  褶皱中文手写体身份鉴别 . 电子科技大学学报, 2015, 44(1): 72-78. doi: 10.3969/j.issn.1001-0548.2015.01.012
    [12] 王振松, 刘晓云, 陈武凡.  特征点对引导的医学图像弹性配准方法 . 电子科技大学学报, 2012, 41(3): 471-476. doi: 10.3969/j.issn.1001-0548.2012.03.029
    [13] 胡永忠, 李廷军, 周正欧.  随机相位编码抑制微波医学成像中RFI的研究 . 电子科技大学学报, 2011, 40(6): 951-955. doi: 10.3969/j.issn.1001-0548.2011.06.028
    [14] 王小兵, 段振华.  面向对象的时序逻辑语言 . 电子科技大学学报, 2009, 38(1): 97-101.
    [15] 何晓乾, 陈雷霆, 房春兰.  基于纹理映射的医学图像三维重建 . 电子科技大学学报, 2007, 36(3): 576-578,586.
    [16] 杨思春.  一种改进的句子相似度计算模型 . 电子科技大学学报, 2006, 35(6): 956-959.
    [17] 张洁, 蒋宁, 浦立新.  基于小波变换的医学图像融合技术 . 电子科技大学学报, 2005, 34(6): 839-842.
    [18] 张光玉, 朱维乐.  医学图像的边缘克隆 . 电子科技大学学报, 2005, 34(1): 8-11.
    [19] 田娅, 饶妮妮, 蒲立新.  国内医学图像处理技术的最新动态 . 电子科技大学学报, 2002, 31(5): 485-489.
    [20] 汪天富, 郑昌琼, 李德玉.  基于神经网络的超声医学图像自动分割 . 电子科技大学学报, 1997, 26(4): 366-368.
  • 加载中
图(3) / 表(7)
计量
  • 文章访问数:  4166
  • HTML全文浏览量:  1394
  • PDF下载量:  75
  • 被引次数: 0
出版历程
  • 收稿日期:  2021-11-30
  • 修回日期:  2022-01-19
  • 网络出版日期:  2022-07-11
  • 刊出日期:  2022-07-09

融合语义及边界信息的中文电子病历命名实体识别

doi: 10.12178/1001-0548.2021350
    基金项目:  重庆市科技局项目(cstc2018jcyjAX0324,cstc2019jscx-mbdxX0061);重庆市教委科技项目(KJQN201800539,KJQN202000510);重庆市研究生科研创新项目(CYS22565);教育部人文社科项目(18XJC880002)
    作者简介:

    崔少国(1974-),男,博士,教授,主要从事大数据与人工智能等方面的研究

    通讯作者: 崔少国,E-mail:csg@cgnu.edu.cn
  • 中图分类号: TP391.1

摘要: 中文电子病历数据专业性强,语法结构复杂,用于自然语言处理(NLP)的命名实体识别(NER)难度大。为了从电子病历数据中精确识别出医疗实体,提出了一种融合语义及边界信息的命名实体识别算法。首先,利用卷积神经网络(CNN)结构提取汉字图形信息,并与五笔特征拼接来丰富汉字的语义信息;然后,利用FLAT模型中的Lattice将医学词典作为字符潜在词组匹配文本信息;最后,将融入语义信息的Lattice模型用于中文电子病历命名实体识别。实验结果表明,该方法在Yidu-S4K数据集上的识别性能超过现有多种算法,且在Resume数据集上F1值可达到96.06%。

English Abstract

崔少国, 陈俊桦, 李晓虹. 融合语义及边界信息的中文电子病历命名实体识别[J]. 电子科技大学学报, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
引用本文: 崔少国, 陈俊桦, 李晓虹. 融合语义及边界信息的中文电子病历命名实体识别[J]. 电子科技大学学报, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
CUI Shaoguo, CHEN Junhua, LI Xiaohong. Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
Citation: CUI Shaoguo, CHEN Junhua, LI Xiaohong. Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350
  • 随着医院信息系统的快速发展与应用,医疗机构中积累了大规模的电子病历数据。这些数据是病人在医院就诊及治疗过程中所产生的重要记录,包含病历文本、医学图表、医学影像等多种类型数据。其中,非结构化形式的电子病历文本数据是最主要的部分,如主诉、诊断结果、入院/出院记录和治疗过程等,这些数据蕴含着大量有价值的医疗知识及健康信息[1]。从非结构化文本中识别出与医疗相关的实体名称,并将它们归类到预定义类别,如疾病、治疗、症状、药品等,是电子病历数据挖掘与信息抽取的关键步骤,这一任务称为电子病历命名实体识别(named entity recognition, NER)[2]。它不仅是自然语言处理(natural language processing, NLP)相关任务,如信息检索、信息抽取以及问答系统等的重要基础工作[3],同时对电子病历的应用如合并症分析、不良药物事件检测以及药物相互作用分析等起到了巨大的推动作用。

    近年来,针对英文电子病历的命名实体识别问题,学者们已经提出了几种有效的神经网络算法模型。其中,双向长短记忆(bidirectional long short memory, BiLSTM)与条件随机场(condiftional random field, CRF)的组合[4-6]以及卷积神经网络(convolutional neural network, CNN)与条件随机场的组合模型[7-8]最为流行。

    与英文电子病历的命名实体识别相比,中文电子病历的命名实体识别问题更具有挑战性。主要原因是医学文本经常使用不规范的缩写,并且大多数实体有多种书写形式。目前大多数中文电子病历的命名实体识别方法主要是基于字的BiLSTM-CRF和CNN-CRF算法模型,并利用汉字和医学词典等特征,来提升识别的性能[9-11]。但是,由于循环神经网络(recurrent neural network, RNN)无法并行计算,当句子中的某个字符与词典中的多个词组有关时,RNN模型通常难以做出判断。如Lattice LSTM[12]使用了跨输入长度的双重递归过渡计算,一个用于句子中的所有字符,另一个用于词典中匹配的潜在单词,因此其计算速度有限。除此之外,这类模型很难处理字典中潜在单词之间的冲突:如果一个字符对应字典中成对的潜在单词,这种冲突可能会误导模型,使其预测不同的标签。如“重庆市长安药店”,文本中的“长”可能属于“市长”一词,也可能属于“长安”一词,对“长”所属词组判别的不同,将导致对字符“长”预测的标签不同。而flat-Lattice transformer for Chinese NER (FLAT)[13]模型,采用全连接自注意力结构,字符可以直接与其所匹配词汇进行交互,同时捕捉长距离依赖,不但可以提高并行计算效率,还能很好地避免潜在单词之间的冲突问题。

    在命名实体识别任务中有一种增强识别能力的方法叫做自适应嵌入范式。该方法仅在嵌入层对词汇信息进行自适应调整,后面通常接入LSTM+CRF或其他通用网络,这种范式与模型无关,具备可迁移性。如WC-LSTM[14],采取单词编码策略,将每个字符为结尾的词汇信息进行固定编码表示,每一个字符引入的词汇表征是静态的、固定的,如果没有对应的词汇则用<PAD>代替,因此可以进行批量并行化。文献[15]第一次研究了部首级别信息在中文NER的应用,使用Bi-LSTM来提取部首层面的嵌入,然后将其与字符嵌入连接起来作为最终输入。文献[16]利用汉字图像提取汉字的笔画、结构等特征,取得了较好的性能。

    在以上研究的基础上,本文将汉字图像特征、五笔字型编码进行融合,然后将其作为高级语义信息,与依据字符及潜在医学词组生成的相对位置编码融合,采用FLAT的Lattice模型架构实现中文电子病历的命名实体识别。

    • 本文提出了一种新的算法模型WHSemantic+Lattice,其结构框架如图1所示。算法将汉字图像特征、五笔字型编码进行融合作为高级语义信息,再融入包含潜在医学词组的FLAT模型的Lattice中,最后通过条件随机场输出标记结果。

      图  1  WHSemantic+Lattice结构

    • 受到位置向量表征的启发,FLAT模型设计了一种巧妙的位置编码来融合Lattice 结构。如图2所示,对于每一个字符和词汇都构建两个头位置编码和尾位置编码,这种方式可以重构原有的Lattice结构。也正因如此,FLAT可实现该字符与其所有匹配信息词汇之间的交互,如字符$[ $$] $可以匹配词汇$[ $长安药店$] $$[ $药店$] $

      基于Lattice结构的嵌入层是将自然语言文本转为计算机能够识别的向量表示,而词向量ctb.50d.vec是基于CTB 6.0(Chinese treebank 6.0)语料库训练得到的。鉴于医学词组的专业性强、语法结构复杂,为了提高模型对中文电子病历实体识别能力,本文收集了全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Computing)近几年与医学相关的比赛数据集,并将数据集中提到的医学词组作为医学词汇表保存下来,表中包含近3万个医学词组。在获取ctb.50d.vec中的所有词汇信息并保存为列表以后,再将医学词汇表中ctb.50d.vec不包含的词组增加到列表中组成潜在词表,从而在Lattice中嵌入层输入字符匹配词表中的潜在单词时,可以匹配到更多的医学词组,提高汉字水平的中文医学内隐能力。

      图  2  Flat-Lattice结构

      图2为FLAT的输入和输出,使用头部(head)和尾部(tail)位置转换的相对位置编码来拟合单词的边界信息。相对位置编码$ {\boldsymbol{R}}_{ij} $计算如下:

      $$ {{\boldsymbol{R}}_{ij}} = {{\rm{Re}}} {\rm{LU}}({{\boldsymbol{W}}_r}({{\boldsymbol{p}}_{d_{ij}^{({\rm{hh}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{th}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{ht}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{tt}})}}})) $$ (1)

      式中,$ {\boldsymbol{W}}_{r} $为学习参数;4种相对距离$ d_{ij}^{*} $表示输入$ x_{i} $$ x_{j} $之间的关系,同时也考虑字符和词汇之间的关系,其表示如下:

      $$ d_{ij}^{({\rm{hh}})} = {\rm{head}}[i] - {\rm{head}}[j] $$ (2)
      $$ d_{ij}^{({\rm{ht}})} = {\rm{head}}[i] - {\rm{tail}}[j] $$ (3)
      $$ d_{ij}^{({\rm{th}})} = {\rm{tail}}[i] - {\rm{head}}[j] $$ (4)
      $$ d_{ij}^{({\rm{tt}})} = {\rm{tail}}[i] - {\rm{tail}}[j] $$ (5)

      $ {\boldsymbol{p}}_{d} $的计算方式与文献[17]相同:

      $$ {\boldsymbol{p}}_d^{(2k)} = \sin (\frac{d}{{{{10000}^{2k/{d_{\rm{model}}}}}}}) $$ (6)
      $$ {\boldsymbol{p}}_d^{(2k + 1)} = \cos (\frac{d}{{{{10000}^{2k/{d_{\rm{model}}}}}}}) $$ (7)

      然后得到缩放的点积注意力:

      $$ {\rm{Att}}({\boldsymbol{A}},{\boldsymbol{V}}) = {\rm{soft}}\max ({\boldsymbol{A}}){\boldsymbol{V}} $$ (8)
      $$ {{\boldsymbol{A}}_{ij}} = {({{\boldsymbol{Q}}_i} + {\boldsymbol{\mu}} )^{\rm{T}} }{{\boldsymbol{K}}_j} + {({{\boldsymbol{Q}}_i} + {\boldsymbol{\nu}} )^{\rm{T}} }{\boldsymbol{R}}_{ij}^* $$ (9)
      $$ [{\boldsymbol{Q}},{\boldsymbol{K}},{\boldsymbol{V}}] = {E_x}[{{\boldsymbol{W}}_q},{{\boldsymbol{W}}_k},{{\boldsymbol{W}}_v}] $$ (10)

      式中,${\boldsymbol{R}}_{ij}^{*}={\boldsymbol{R}}_{ij} {\boldsymbol{W}}_{R}$${\boldsymbol{\mu}}, {\boldsymbol{\nu}}$$ {\boldsymbol{W}}_{q}, {\boldsymbol{W}}_{k}, {\boldsymbol{W}}_{v} $是对应的权重矩阵。

    • 汉字是以象形文字为基础的,其含义用物体的形状来表达,因此汉字的结构对NER有一定的改善信息。如部首“艹”(草)和“木”(木)一般代表植物,可以增强中医命名实体识别;“月”(身体)代表人体部分或器官,“疒”(疾病)代表疾病,这有利于中文电子病历命名实体识别。本文考虑将汉字的图像特征通过CNN提取出来,象形信息在简体中文中大量丢失。因此,本文尝试了不同的文字图形,最后发现基于NotoSansCJKsc-Regular的文字效果最好,于是将基于NotoSansCJKsc-Regular的汉字输入图像。

      Noto是Google一直在开发的一种字体系列,旨在以和谐的外观支持所有语言,具有多种样式和权重。NotoSansCJKsc为简体中文,其包含7种款式,9种语言,4个地区,通过字体百科网站(https://www.zitibaike.com)可下载该字体。

      本文通过Python的图像处理库ImageFont中的TrueType函数创建NotoSansCJKsc字体对象,再基于每一个字符调用getmask生成对应的位图,并利用numpy中的asarray函数将位图转为特征矩阵,最后通过HSemantic模型提取汉字图像的结构特征。

      图3为HSemantic模型结构,首先通过内核大小为5输出通道为64的卷积层,以捕获较低级别的图形特征。然后,将其送到2×2的最大池化中,将分辨率从15×15降低到2×2,形成类似田字格的形状,田字格是一种传统的中国书法形式,展示了部首在汉字中的排列方式以及汉字的书写顺序,能够更好地显示汉字图像的结构特征。最后,应用文献[18]的组卷积运算将网格映射到最终输出,因为组卷积不容易过拟合。

      图  3  HSemantic结构

    • 通过Python的汉字五笔转换工具库pywubi中的wubi函数,根据输入字符,找到其对应的五笔编码,再通过五笔编码在五笔解码库中找到对应的解码。如字符$[ $$] $的五笔编码为[k,h,k],对应解码id为[35,32,35]。最后,将经过解码后的五笔传到LSTM中来增强五笔编码间的特征联系,作为字符的笔画特征表示向量。

      在文字图像及五笔字型特征提取后,将它们通过全连接层连接起来,作为汉字的语义特征,再将其与FLAT结构的字符部分拼接起来作为嵌入层的输入:

      $$ {\boldsymbol{E}} = {{\boldsymbol{E}}_L} \oplus {{\boldsymbol{E}}_S} $$ (11)

      式中,$ {\boldsymbol{E}} $表示Lattice嵌入层和汉字图形及笔画特征的嵌入层拼接;$ {\boldsymbol{E}}_{L} $表示Lattice的嵌入层;$ {\boldsymbol{E}}_{s} $表示汉字图形及笔画特征的嵌入层,其中$ {\boldsymbol{E}}_{s} $对应Lattice的潜在单词部分用0补齐,从而不会对潜在单词部分造成影响。

      $ {\boldsymbol{E}} $通过Lattice的线性变换:

      $$ {\left[ \begin{gathered} {{\boldsymbol{Q}}_i} \hfill \\ {{\boldsymbol{K}}_i} \hfill \\ {{\boldsymbol{V}}_i} \hfill \\ \end{gathered} \right]^{\rm{T}} } = {{\boldsymbol{E}}_i}{\left[ \begin{gathered} {{\boldsymbol{W}}_Q} \hfill \\ {\boldsymbol{I}} \hfill \\ {{\boldsymbol{W}}_V} \hfill \\ \end{gathered} \right]^{\rm{T}} } $$ (12)

      式中,$ {\boldsymbol{I}} $是单位矩阵;$ {\boldsymbol{W}}_{Q} $$ {\boldsymbol{W}}_{V} $是权重矩阵。然后使用FLAT中的位置编码来表示单词的边界信息,并计算注意力得分:

      $$ {\boldsymbol{A}} = {({{\boldsymbol{Q}}_i} + {\boldsymbol{u}})^{\rm{T}} }{{\boldsymbol{K}}_j} + {({{\boldsymbol{Q}}_i} + {\boldsymbol{\nu}} )^{\rm{T}} }{\boldsymbol{R}}_{ij}^* $$ (13)
      $$ {\rm{Att}}({\boldsymbol{A}},{\boldsymbol{V}}) = {\rm{Soft}}\max ({\boldsymbol{A}}){\boldsymbol{V}} $$ (14)

      式中,$ {\boldsymbol{u}} $${\boldsymbol{\nu}}$表示学习参数;$ {\boldsymbol{A}} $表示注意力得分;$ {\boldsymbol{R}}_{ij}^{*} $=$ {\boldsymbol{R}}_{i j} {\boldsymbol{W}}_{R} $,相对位置编码$ {\boldsymbol{R}}_{ij} $计算公式为:

      $$ {{\boldsymbol{R}}_{ij}} = {{\rm{Re}}} {\rm{LU}}({{\boldsymbol{W}}_r}({{\boldsymbol{p}}_{d_{ij}^{({\rm{hh}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{th}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{ht}})}}} \oplus {{\boldsymbol{p}}_{d_{ij}^{({\rm{tt}})}}})) $$ (15)

      在获得FLAT层的最终输出后,屏蔽其他部分,只将字符表示带入输出层,送到文献[19]的条件随机场中计算最终结果。

    • 本实验使用的电子病历数据集是医渡云(北京)技术有限公司用于医疗命名实体识别评测任务的Yidu-S4K,其包含:疾病和诊断、检查、检验、手术、药物、解剖部位6个实体类型,采用BIOES标注体系统一进行标注。在BIOES标注体系中,B代表实体的开始位置,I代表实体的内部,O代表非实体部分,E代表实体的结尾,S代表单独组成一个实体部分。本文将subtask1_training_part1和subtask1_training_part2部分的训练数据合并在一起,并随机打乱后,按照7:3的比例划分训练集和验证集。表1显示了该数据集的分布情况。

      表 1  Yidu-S4K中文电子病历数据集情况 /个

      类型 subtask1_
      training_part1
      subtask1_
      training_part2
      总计
      疾病和诊断174724654212
      手术4176121029
      解剖部位360448228426
      药物8389841822
      影像检查223746969
      实验室检验5136821195
      实体数73421031117653

      为了验证模型的泛化能力,使用Resume数据集[13]。这是一份简历数据集,包含中国股市上市公司高管的简历。Resume数据集采用BMESO标注体系统一进行标注,BMESO标注体系中,B代表实体的开始位置,M代表实体的内部,E代表实体的结尾,S代表单独组成一个实体,O代表非实体部分。表2显示了该数据集的统计情况。

      表 2  Resume数据集情况 ×103

      类型训练集验证集测试集
      句子/条3.80.460.48
      字符/个124.113.915.1
    • 实验采用python 3.8,pytorch 1.7.0和fastNLP 0.6.0框架,并使用NVIDIA显卡GTX3080Ti进行加速,优化器采用sgd+moment梯度下降算法进行参数优化。

      本文使用准确率(Precision),召回率(Recall)和F1值来评价模型的识别效果,其中F1值可用来评价模型的综合性能。

    • 为了验证本文方法的性能,设计了对比实验,包括与其他算法模型的对比及新算法自身的消融实验。

      1) BiLSTM-CRF模型[20]。该模型应用于序列标注任务。将句子的词向量表示输入该模型并对句子的标注序列进行预测。与文献[20]不同,为了应对词语边界模糊的问题,本文以字为单位构建字向量。

      2) BiLSTM+Attention+CRF模型[21]。该模型在BiLSTM层和CRF层之间加入了注意力机制。

      3) Lattice LSTM+CRF模型[12]。该模型将字符的潜在单词一起进行编码,利用了单词和单词序列信息。

      4) LR-CNN模型[22]。该模型在CNN中加入了rethink机制。

      另外,为了验证文字图像特征提取时最大池化对识别效果的影响,同时验证五笔特征(WSemantic+Lattice)、文字图像(HSemantic+Lattice)信息以及WHSemantic+Lattice对识别效果的影响,本文进行了消融实验。

    • 针对Yidu-S4K中文电子病历数据集,本文从准确率、召回率和F1值3个性能指标方面对各种算法进行了对比。实验结果如表3所示。

      表 3  Yidu-S4K中文电子病历数据集的实验结果 /%

      模型准确率召回率F1值
      BiLSTM-CRF69.4372.5871.97
      BiLSTM-Attention CRF65.9650.2457.04
      Lattice-LSTM70.1972.3471.25
      LR-CNN57.7750.2953.77
      FLAT73.7672.5173.13
      WHSemantic+Lattice76.2174.5675.37

      从实验结果可以看出,Lattice结构模型使算法的性能指标均得到提高,说明边界信息可以为电子病历实体识别提供参考的位置信息,以确保算法的识别性能;而当模型在边界信息的基础上融合了单词的语义信息后,模型整体识别性能进一步提升,本文算法在各项性能指标上均取得了最优值,F1值从73.13%提升到75.37%。可见,边界与语义信息的融合有效提升了电子病历命名实体识别精度。

      针对Resume数据集,本文使用提出的算法实现了命名实体识别,并将实验结果与其他模型进行了对比,结果如表4所示。

      表 4  Resume数据集上实验结果 /%

      模型准确率召回率F1值
      Word+char+biLSTM[12]93.7293.4493.58
      Lattice-LSTM[12]94.8194.1194.46
      LR-CNN[22]95.3794.8495.11
      FLAT[13]--95.45
      WHSemantic+Lattice95.6896.4496.06

      表4可以看出,使用Lattice可以使F1值显著提高,而使用语义信息的WHSemantic+Lattice模型比FLAT模型的F1值提升了0.61%。这是因为FLAT的Lattice更加关注词与字符之间的关系,从而可以获得词的位置信息和边界信息。WHSemantic关注点集中在全局信息上,通过笔画特征修正每个字的语义信息。因此,FLAT的Lattice关注点和WHSemantic关注点为本文方法在中文命名实体识别中的性能提升提供了补充信息。

      针对消融实验(1)和实验(2),分别在FLAT的Lattice中加入实验(1)的处理方法,即处理汉字图像提取时分别使用8×8、4×4、2×2的最大池化层和不使用池化层的WHSemantic模型;另加入实验(2)的处理方法,即WSemantic或HSemantic。并在Yidu-S4K中文电子病历数据集测试其效果。

      表5表6分别显示了实验(1)、实验(2)各自的对比结果。

      表 5  消融实验(1)的实验结果 /%

      最大池化层准确率召回率F1值
      72.2767.2469.67
      8×875.7873.2274.48
      4×467.5165.0966.28
      2×276.2174.5675.37

      表 6  消融实验(2)的实验结果 /%

      模型准确率召回率F1值
      FLAT-Lattice73.7672.5173.13
      HSemantic+ Lattice74.6272.6173.60
      WSemantic+ Lattice75.0273.2474.11
      WHSemantic+Lattice76.2174.5675.37

      表5的结果来看,恰当地使用最大池化层可以有效提高汉字图像特征,使识别效果得到进一步提升。但并不是所有最大池化层都可以提升模型的效果,如果使用不恰当的最大池化层,反而会使模型的识别效果变差,如当使用4×4的最大池化层时,F1值比不使用最大池化层低了3.39%。并且通过不同最大池化层对比,发现基于2×2(类似于田字格)的最大池化层较适合提取汉字图像特征。

      表6可以看出,使用五笔字型特征可以显著提升模型的精度,是因为相同类型的实体部分偏旁信息也可能是相似的,而文字图像信息可以进一步提升语义信息,从而有效提高模型的识别能力。

      汉字特征对于中文电子病历命名实体识别任务非常有用,因为它可以提供丰富的语义信息。为了验证本文模型可以更好地利用边界及语义信息,本文分析了 Yidu-S4K中文电子病历数据集中的一个示例。如表7所示(DD为疾病和诊断缩写),与Lattice模型不同,本文模型没有遗漏任何重要的信息,且与标准划分具有一样的医学含义。

      表 7  应用效果示例对比

      句子标准划分Lattice-LSTMFLATWHSemantic+Lattice
      两肺感染及右侧基节及侧脑室体旁小腔隙灶两(B-DD)两(O)两(O)两(B-DD)
      肺(I-DD)肺(B-DD)肺(B-DD)肺(I-DD)
      感(I-DD)感(I-DD)感(I-DD)感(I-DD)
      染(I-DD)染(E-DD)染(E-DD)染(E-DD)
      及(I-DD)及(O)及(O)及(O)
      右(I-DD)右(B-DD)右(B-DD)右(B-DD)
      侧(I-DD)侧(I-DD)侧(I-DD)侧(I-DD)
      基(I-DD)基(I-DD)基(I-DD)基(I-DD)
      节(I-DD)节(E-DD)节(E-DD)节(E-DD)
      及(I-DD)及(O)及(O)及(O)
      侧(I-DD)侧(B-DD)侧(B-DD)侧(B-DD)
      脑(I-DD)脑(I-DD)脑(I-DD)脑(I-DD)
      室(I-DD)室(E-DD)室(E-DD)室(I-DD)
      体(I-DD)体(O)体(O)体(I-DD)
      旁(I-DD)旁(O)旁(O)旁(I-DD)
      小(I-DD)小(O)小(O)小(I-DD)
      腔(I-DD)腔(O)腔(O)腔(I-DD)
      隙(I-DD)隙(O)隙(O)隙(I-DD)
      灶(E-DD)灶(O)灶(O)灶(E-DD)
    • 中文电子病历命名实体识别是医学文本理解的重要基础性工作。本文提出了将汉字图像特征、五笔字型编码作为高级语义信息,融入包含潜在医学词组的FLAT模型的Lattice中,充分利用了语义及边界特征信息对中文电病历数据进行医学实体命名识别,并在Yidu-S4K数据集上表现出高效的识别性能。但是,中文电子病历的命名实体识别是一个高度复杂的序列标记任务,识别效率仍然有较大的提升空间。后期会对模型继续进行优化调整,将更多的语言先验知识融入到中文电子病历命名实体识别任务中。

参考文献 (22)

目录

    /

    返回文章
    返回