摘要:
当前国内医疗机构疾病编码主要采用国际疾病分类ICD10标准并由人工完成,人工工作量大、时间成本高。提出了一种基于组合语义相似度技术进行疾病术语自动编码的方法,其基于领域知识库结合分词、实体识别和词向量表示技术进行术语相似度计算。通过在妇产科疾病中的应用表明,该方法在术语自动编码精度能达到80%以上,可以有效辅助临床医生书写诊断编码,减少病案科审核工作量,提升总体工作效率。
關键词:
自动编码; 语义相似度; 实体识别; 词向量
中图分类号: TP 311
文献标志码: A
Automatic Coding Method for Disease Term Based on
Combined Semantic Similarity Calculation
HUANG Jiajun
(Information Department, Shanghai Changning Maternity & Infant Health Hospital, Shanghai 200050, China)
Abstract:
Currently, the national medical institutions mainly adopt the ICD10 standard for the disease code,and it iscompleted manually. The large amount of manual work and time cost are the main problems that we are facing. This paper proposes an automatic coding disease terms methodbased on domain knowledge, entity recognition and Word2vec technology for term similarity calculation. The application in the digestive diseases shows that the method can achieve more than 80% accuracy in the term automatic coding, which can effectively assist the clinician to write the diagnosis code, reduce the workload of the medical record review, and improve the overall work efficiency.
Key words:
automatic encoding; semantic similarity; entity identification; word embedding
0引言
近年来,随着医疗信息化程度不断加深以及国家卫计委对于全国医疗术语统一规范化的持续推进,各医疗机构对于医生病历书写规范化要求进一步加强。根据卫生部门要求当前医疗机构对于临床电子病历信息系统(clinical electronic medical recordinformation system,CEMRIS)中疾病的诊断必须进行术语编码。电子病历 (electronic medical record,EMR)[12]作为病人入院就诊信息的基本载体,记录了大量有意义的信息,而这些病历信息大多以自由文本形式存在,很难直接分析利用,并且由于医生个人书写习惯以及术语表达多样性的因素,导致当前电子病历书写很难规范统一,通常存在缩写,异型,拼写错误或采用院内术语标准等。充分挖掘这些非结构化的电子病历信息并实现术语统一编码,尤其是疾病术语编码,对于当前研究的疾病辅助诊疗、科研检索、疾病分组(Diagnosis Related Groups, DRGS)以及智能医保控费的研究具有重要的现实意义。
当前国内的疾病诊断术语编码主要采用的是ICD10疾病编码的标准体系(国际疾病分类,第10次修订本),其是一套由世界卫生组织(WHO)制定的国际统一系统组织的关于疾病分类的术语标准集,它根据疾病的病因、病理、临床表现和解剖位置等特性,将疾病分门别类,使其成为一个有序的组合,并用编码的方法来表示的系统[3]。由于大多数临床医师对于该标准不是很了解,对于疾病的诊断书写较为随意,这样就需要专业的编码人员对临床医生的诊断进行二次编码,而专业编码人员必须了解编码规则和相关专业知识,总体学习成本较高,并且人工编码总体效率低下[4]。因此研究一种自动疾病术语匹配标准ICD10编码技术对于推进医疗信息标准化建设以及编码人员的工作量,提高工作效率具有重要的现实意义。
1当前现状
针对术语诊断编码问题,已有大量的医生和技术人员进行了研究和探索,目前主要分为三类方法,即基于人工手动结合规则匹配进行编码的方法、基于自然语言的有监督学习自动编码技术和无监督学习自动编码技术。从当前结果看,三类方法各有所长和不足,人工加规则的方法匹配精度较高,但是效率低下,并且该方法无泛化性能,无法满足实时性需求。无监督编码存在匹配精度不高,编码人员校验工作量大的问题,但是无需前期人工标注语料,该方法是当前需要重点研究和突破的领域。监督学习编码算法匹配算法则是当前主流的应用方法,从目前看,其总体性能和精度表现优于前两种方法。
文章在基于前人的研究基础上,提出了一种组合语义相似度的疾病术语自动编码技术,该方法针对现有术语匹配算法的优缺点进行改进组合,结合语义表示、分词和实体识别技术进行语义相似度计算,能够针对医生书写的疾病诊断术语快速生成其对应的标准ICD10术语及编码。
2方法实现
组合语义相似度的疾病术语自动编码技术主要包括术语拆分、术语识别和术语相似度计算三项任务。其中术语拆分即,对于疾病中的诊断术语进行分词,生成最小粒度的术语;术语识别则是在第一部分拆分的基础上识别小粒度的术语实体类型;术语相似度计算则是综合评估原词各部分与标准术语集目标术语相似度并根据历史数据生成各部分权重从而计算原词与标准术语词相似度[5]。总体实现方法如图1所示。
ICD10标准术语集Similarity=Softmax(wordj)wordj=∑wi*parti
2.1诊断疾病术语拆分与实体识别
从ICD10的编码规范可知,当前诊断术语均由其更小粒度的“细目”构成,如“乳腺纤维囊性乳腺病”可以由“部位”+“性质”+“疾病”构成,即为“乳腺/部位”+“纤维囊性/性质”+“乳腺病/疾病”。又如ICD10中对疾病不同程度分别有不同的编码,N81.251为Ⅰ度子宫脱垂,N81.252为Ⅱ度子宫脱垂,N81.351为Ⅲ度子宫脱垂。基于ICD10编码的特点,我们对现有疾病按照发生方位、部位、程度、性质等属性信息以及核心疾病实体进行拆分,将一个完整疾病看作“核心实体”+“属性信息”的组合。
实现术语小粒度的切分可由采用基于统计模型的方法和基于领域词库的方法+统计模型方法,其中第一种方法当前主流技术为基于条件随机场(Conditional Random Filed, CRF) +词性特征或基于字/词语向量BI_LSTM+CRF的深度模型的技术,第二种方法则是采用领域词库结合隐马尔科夫模型(Hidden Markov Model, HMM)进行未登录词的识别。由于我们前期整理了部位、方位、程度等属性词库以及核心疾病术语词库,故我们采用了第二种技术方案进行术语的识别。实验中,将该部分领域词库结合自主研发的自然语言处理组件中进行细粒度术语切分和实体识别功能,总体准确率97%以上。
2.2语义相似度计算
文章提出的语义相似度计算包括基于字符串的相似度计算s1、基于细粒度实体属性相似度计算s2以及基于词向量语义相似度的相似度计算s3,根据三部分的相似度计算分别给出对应权重Wi,并给出源词语与标准ICD10疾病术语的相似度,并将最高相似度的结果作为源词语的最终术语编码。组合语义相似度计算过程如图2所示。
2.2.1基于字符串相似度计算
字符串相似度的计算方法已有较多研究成果,现有算法主要考虑字符匹配个数,字符顺序以及字符距离等信息,文章采用了编辑距离jaroDistance(JD)和JaroWinklerDistance(JWD)字符串相似度的度量方法。前者又称为Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如式(1)。JWD为JD的改進,其通过设置preLen的开头匹配来增加匹配置信度[6],
如式(1)、式(2)。
式(1)中m是匹配数目(保证顺序相同),|s|为字符串长度,t是换位数目,
式(2)中JD(s1,s2)是两个字符串的JD,prelen是前缀相同的长度,但是规定最大为4,
prescale则是一个恒定调整分数的比例因子,规定不能超过0.25,而Winkler将这个常数定义为0.1。
对于给定的两个字符串,此处如术语s1“乳腺纤维腺瘤”与s2“乳腺良性肿瘤”、s3“乳腺炎”、s4“乳腺肿瘤”,通过计算JWD(s1,s2)、
JWD(s1,s3)和JWD(s1,s4)可以给出相似度分别为0.85和0.6和0.73。同样的,还可以计算“乳腺纤维腺瘤”与“乳腺纤维瘤”的相似度为0.98。观察发现该距离度量方法能够从字面度量短语相似性,但是对于异形词以及形态极度相似的术语没有较好的识别能力。
2.2.2基于远程监督的相似度评估
该方法是为了解决术语编码中出现的异形词语而剔除的解决方法,其核心思想是通过小粒度同义词转化实现大粒度术语的相似度计算。常见的同义异形词语如“卵巢瘤样病变”与“卵巢囊肿”,可以直接通过远程监督[7]方法可以实现小粒度实体术语对齐。此处远程监督算法主要通过利用开源医疗术语集合实现术语匹配[89],如百度百科中的医疗术语集合就是一个非常丰富的外源同义词库。结合小粒度分词和实体识别以及远程监督能够很大程度识别异性词语的识别问题。
2.2.3词向量语义相似度评估
词向量语义相似度是一种从词语语义层面评估词语相似度的方法,其通过词向量化表示术语语义,并通过向量相似度计算两个术语间的关系。目前主要采用Google开源的Word2vec进行词向量的表示,代表性的算法分为CBOW(词袋模型)[10]和
SkipGram[11]两种,其通过对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。因此, Word2vec输出的词向量可以被用来作查找同义词的任务。
对于训练完成的词语词向量表示,文章采用余弦相似度来度量词语相似度,相似度处于0-1之间,值越大代笔相似度越小,值越小则相似度越高。
其中,vs1表示s1的词向量表示。如式(3)。
2.3语义相似度融合
针对上述3中相似度度量方法,实验采用线性组合方法进行融合得到源术语与每个ICD10术语的相似度,通过softmax将最终输出相似度归一到[0,1]之间,最终,选出相似度最高的ICD10术语为源术语的编码。如图2所示。
3实验结果分析
实验数据来源于长宁区妇幼保健院妇产科病历文书、病案首页和门诊诊断数据,其中病历文书诊断抽取通过自然语言处理工具进行提取,将三部分诊断疾病术语整合,共得230 840条数据,剔除重复诊断数据后11 300条。实验中,ICD10选用国际疾病分类标准编码(国标版)。实验过程按照第2章中所描述的网络搭建方式,先对疾病中的诊断术语采用领域词库结合隐马尔科夫HMM模型进行细粒度术语切分和实体识别,再利用同义词词库进行同义词转换,最后分别按照三种语义相似度计算方式(基于字符串的相似度计算s1、基于细粒度实体属性相似度计算s2以及基于词向量语义相似度的相似度计算s3)进行概率相似度计算,取出5 000个诊断结果进行人为校验评估匹配结果。具体结果如表1,表2所示。
表1为使用组合语义相似度进行疾病术语编码的方法,匹配结果分为同位匹配和上下位匹配两种形式,并均算入匹配正确序列。其中,同位匹配是指术语能够完全匹配,即,同义词的概念,如“子宫肌瘤”,匹配“子宫平滑肌瘤”。而上位匹配是指术语在没有找到其同义词的情况下匹配父类节点的情形,如“左乳腺浸润性导管癌II级(T2N2M0)”无法在ICD10中查询到其同位词语细分,故将其归为“乳腺恶性肿瘤”大类,此时认为此种匹配正确。表2从总匹配率上对比基于字符串的相似度s1、基于细粒度实体属性相似度s2以及基于词向量语义相似度的相似度s3以及组合语义相似度s进行疾病术语自动编码的方法。
从实验结果可以看到基于组合语义相似度进行术语自动编码的方法由于其他三种相似度计算方法。对于组合语义相似度计算,在相似度概率为0.9及以上时,同位词语匹配量远大于上位词匹配,可信度较高,在0.8以上时同位词识别数量明显小于上位词,并且匹配精度随匹配相似度概率逐渐降低。从同位词与上位词占比来看,上位词总体占比较大,说明有较多诊断术语并没有找到完全匹配的同义词语。
4总结
文章提出了一种基于组合语义进行相似度计算的疾病术语自动编码技术方案,技术能够实时快速实现疾病术语的自动高效编码。该研究成果可以应用于临床医生电子病历辅助书写以及病案科历史病历诊断编码工作。从实验结果可以看到较多术语尚未找到同位词语,故后续需要通过校验拓展同义词术语库以及ICD10诊断编码,从而使更多诊断术语能够归一到同位詞标准编码。
参考文献
[1]Hornberger J. Electronic Health Records: a guide for clinicians and administrators[J]. JAMA, 2009, 301 (1): 110.
[2]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(35): 128144.
[3]Grider D J. Principles of ICD10CM Coding Third Edition[M]. American Medical Association Press. United States of America, 2014.
[4]Pereria S, Neveol A, Massari P, et al. Construction of a Semiautomated ICD10 Coding Help System to Optimize Medical and Economic Coding[J]. MIE, 2006: 845850.
[5]刘群,李素建.基于《知网》的词汇语义相似度计算[C].第三届汉语词汇语义学研讨会论文集.台北,200208:5976.
[6]Cohen W W, Ravikumar P,Fienberg S E. A comparison of string distance metrics for namematching tasks[J]. KDD Workshop on Data Cleaning and Object Consolidation,2003(3): 7380.
[7]Mintz M, Bills S, Snow R, et al. Distant supervision for relation extraction without labeled data[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP. Association for Computational Linguistics, 2009(2):10031011.
[8]白龙,靳小龙,席鹏弼,等.基于远程监督的关系抽取研究综述[J]. 中文信息学报, 2019, 33(10): 1017.
[9]蔡强,郝佳云,曹健,等.采用多尺度注意力机制的远程监督关系抽取[J].中文信息学报, 2018, 32(1): 96101.
[10]姜霖,王东波.采用连续词袋模型(CBOW)的领域术语自动抽取研究[J].现代图书情报技术, 2016(2):911.
[11]黄艳群,王妮,刘红蕾,等.基于Skipgram词嵌入算法的结构化患者特征表示方法研究[J].北京生物医学工程, 2019, 38(6): 568574.
(收稿日期: 2020.06.27)
作者简介:
黄嘉俊(1982),男,硕士,高级工程师,研究方向:医院信息管理、云计算等。
文章编号:1007757X(2020)08015704