基于混合评分机制的ICD- 10 同义词匹配研究

2021-05-17 08:01武芳伍祥林
中国卫生产业 2021年4期
关键词:细粒度字符串术语

武芳,伍祥林

1.重庆医科大学公共卫生与管理学院,重庆 400016;2.重庆大学附属肿瘤医院信息工程部,重庆 400030

在临床电子病历信息系统(clinical electronic medical record information system,CEMRIS)中以非结构化文本格式常规记录大量有意义的信息。几乎50%的医疗记录是医生的文字记录[1]。 医学信息编码方式缺乏标准化是阻碍CEMRIS 数据应用的主要困难[2]。

当前国内主要采用的是ICD-10(国际疾病分类,第10 次修订本)术语集,其是一套由世界卫生组织(WHO)制定的国际统一系统组织的关于疾病分类的术语标准集,它根据疾病的病因、病理、临床表现和解剖位置等特性,将疾病分门别类,使其成为一个有序的组合,并用编码的方法来表示的系统[3-5]。

基于ICD-10 的标准规范疾病诊断对于疾病治疗、临床科研以及医学统计具有重要的意义。 但ICD-10 是国际疾病分类的标准,不是疾病命名的标准,不能完全按照ICD-10 书写诊断[6-9]。 现实门诊病历中,医生对于患者的疾病诊断通常存在缩写、异型、拼写错误或采用院内术语标准等[10]。 如何将现有医院门诊诊断对齐到标准ICD-10 术语集具有重要意义。ICD-10 的同义词匹配传统上是由专家通过与码本进行比较,将医生的诊断名称手动分类到ICD-10 中。该过程需要消耗大量的人力和时间成本,迫切需要探索一种算法模型的术语匹配方法。

1 当前现状

针对医院疾病诊断进行ICD-10 编码问题,已有的研究主要分为两类,即基于匹配规则利用人工进行手动匹配方法和基于计算机自动编码匹配实现技术两种。前者匹配精度高,但是存在效率低、无法实时的问题,后者效率高,能够实时,但是存在匹配精度的问题。针对当前门诊病历诊断匹配ICD-10 存在的效率和精度问题,文章提供了一种基于混合评分机制的疾病诊断ICD-10自动编码的机器学习算法模型,将现有医院门诊诊断结果自动匹配ICD-10 的同义词并完善ICD-10 标准术语集,为医院医生进行诊断和治疗提供有效的决策支持。

2 方法实现

基于混合评分机制的疾病诊断ICD-10 自动编码的机器学习算法模型算法的实现主要分为术语的拆分与实体识别和术语相似度评分机制的构建两大任务[11-12]。第一项任务是基于门诊诊断结果进行细粒度拆分和术语实体类识别,第二项任务是拆分结果构建混合评分机制的ICD-10 同义词识别(图1)。

图1 基于混合评分的ICD10 同义词匹配过程

2.1 基于门诊诊断的疾病术语拆分与术语实体识别

通过观察可以看到,现有疾病术语包括ICD-10 标准术语均可由更小粒度的“疾病”“症状”“部位”“修饰”等更小粒度术语构成,如“头颈部结核性淋巴结恶性肿瘤”可以拆分为“头”“颈”“部”“结核性”“淋巴结”“恶性肿瘤”小粒度实体,将小粒度实体术语作为第二项评分匹配的输入。实现术语小粒度切分需要构建细粒度术语词库,文章使用了某科技有限公司自主研发的mednlp自然语言处理工具组件对门诊诊断结果进行细粒度分词与词性识别。

2.2 基于混合评分机制的ICD-10 同义词识别

文章提出的基于混合相似性评分来描述疾病候选词字典和ICD-10 标准术语字典之间的相似度评估,包括基于远程监督的相似度评分机制和基于字符串匹配的相似度评分机制。 具体见图1,原词完全匹配的情况会给予一个较大的相似度评分W_1。而基于上述细粒度分词和实体识别的原词分词结果匹配也会给予一个相对应的相似度评分W_3。

2.2.1 基于远程监督的相似度评分机制 门诊病历中,最可能出现歧义的地方是简写、缩写和异型同义词。 而在ICD-10 标准术语集里也存在着异型同义词,如“癌”与“恶性肿瘤”。因此如何处理这一类的相似度计算会存在一定难度。文章采用了一种基于远程监督算法,该算法利用开源数据库实现医疗术语实体对齐,达到提高ICD-10 术语匹配精度的目的。例如“HIV”这种比较常见的疾病缩写,可在外源数据库中找到同义词列表“[' 获得性免疫缺陷综合征[艾滋病]”,有助于提高匹配有效性。图1 中,采用基于百度百科的术语库将最小粒度切分结果分为原词同义词匹配和原词分词结果同义词匹配这两个子流程。 分别给予W2和W4的相似度评分。

2.2.2 基于词向量相似度评分机制 Word2vec 是Google开源的一款将词表征为实数值向量的高效工具,采用的模型有CBOW(词袋模型)和Skip-Gram 两种。 Word2vec 通过训练,可以把对文本内容的处理简化为K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度。 因此,Word2vec 输出的词向量可以被用来作查找同义词的任务。使用谷歌开源的Word2vec 训练医疗文本后可以得到每个词的向量值。

此处该文采用余弦相似度计算两个词的相似度,相似度越小,距离越大。 相似度越大,距离越小,并给予评分W5。 在词向量空间这个多维空间中,余弦函数的公式就是:

其中,vs1表示s1的词向量表示(需padding)。

2.2.3 基于字符串匹配的评分机制 字符串相似性的计算方法有很多,该文取具有代表性但可以体现字符串相似特征的相似度算法。 基于编辑距离的jaro-Distance(JD)和Jaro-Winkler-Distance(JWD)相似度。

编辑距离(edit distance),又称Levenshtein 距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。 编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。 下式为JD 计算公式:

其中m 是匹配数目(保证顺序相同),|s|为字符串长度,t是换位数目。

JWD 是JD 度量的变体,它使用前缀标度PreScale,它为从设置前缀长度preLen 的开头匹配的字符串提供更有利的评级。 给定两个字符串S1 和S2,它们的Jaro-Winkler 距离为:

其中JD(s1,s2)是两个字符串的JD,prelen 是前缀相同的长度,但是规定最大为4,prescale 则是一个恒定调整分数的比例因子,规定不能超过0.25,而Winkler 将这个常数定义为0.1。大多数综合征由身体部位(前缀)和感觉(后缀)组成。 该字面相似度由JWD 或AJWD 计算,以较高者为准,并给予相似度评分W6。

2.2.4 同义词评分的融合算法 上述几种相似度评分反映了两个字符串的绝对差异,而相似度以一个[0,1]之间的数值反映两个字符串的相似程度,数值越大表示相似程度越高。因此该文采用Softmax 函数,或称归一化指数函数,对相似度评分进行归一化,得到综合相似度。

3 结果分析

实验数据主要来源于医院门诊数据约23 万条,剔除重复诊断数据后9625 条,ICD-10 则选用的国际疾病分类标准编码(国标版)。 通过对原有词语进行细粒度分析,同义词转换后进行评分和概率相似度计算,取出4000 个诊断结果进行人为校验评估最终匹配结果,见表1。

表1 基于混合评分的icd10 匹配结果

文章从匹配结果分为同位匹配和上下位匹配两种形式,并均算入匹配正确。同位匹配指的是完全匹配的情况,如“胃癌”,匹配“胃部恶性肿瘤”“胃部癌症”。 上位匹配,如“肢体发热”无法在ICD-10 中查询到其同位词语细分,故将其归为“发热”大类,此时认为此种匹配正确。

从结果看,总体匹配率为86%,同位词匹配率随匹配相似度减小而减少,上位术语反而呈逐渐增多趋势,这是由于相似度概率降低,较多词语由于无法找到能与其匹配的同位ICD-10 词语,故匹配与其相近的上下位词语,并且匹配精度会随相似概率的降低而递减。 同时在处理速度方面,通过该算法查找一个词语的速度在1 s之内,远远快于人工查找速度。

4 结语

该文提出的基于混合评分的ICD-10 实体匹配门诊诊断的机器学习算法可实现高效实时的ICD-10 编码功能。 结果表明,该方法可以从初始数据中获得高达86.0%的准确度。 该研究成果可以辅助临床医生书写诊断编码,同时大大减少病案编码审核的工作量,提高编码员工作效率。后续通过逐渐积累各种粒度的同义词术语可以逐步减少对于远程监督同义词术语库的依赖,同时进一步提高模型匹配精度。

猜你喜欢
细粒度字符串术语
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
基于文本挖掘的语词典研究
基于SVM多分类的超分辨图像细粒度分类方法
基于web粒度可配的编辑锁设计
支持细粒度权限控制且可搜索的PHR云服务系统
一种新的基于对称性的字符串相似性处理算法
依据字符串匹配的中文分词模型研究
有感于几个术语的定名与应用
从术语学基本模型的演变看术语学的发展趋势
一种针对Java中字符串的内存管理方案