一种基于语义相似度的ICD10编码方法及系统 |
|||||||
申请号 | CN202311493848.8 | 申请日 | 2023-11-09 | 公开(公告)号 | CN117408229A | 公开(公告)日 | 2024-01-16 |
申请人 | 联通(广东)产业互联网有限公司; | 发明人 | 林梓陆; 谭琼丽; 高唯唯; 曾婷; 柳子用; 邱述洪; | ||||
摘要 | 本 发明 涉及医学 数据处理 技术领域,公开一种基于语义相似度的ICD10编码方法,包括:根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型;得到待编码医学数据;根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据。本发明使得任何人能够通过ICD10编码模型根据统一的编码规则得到待编码医学数据的ICD10编码数据,有利于提高编码的准确性和效率,降低编码员的技术要求,节省人 力 成本,有助于医疗机构提高工作效率和生产力,具有广泛的应用前景。 | ||||||
权利要求 | 1.一种基于语义相似度的ICD10编码方法,其特征在于,包括: |
||||||
说明书全文 | 一种基于语义相似度的ICD10编码方法及系统技术领域背景技术[0002] 《国际疾病分类》是确定全球卫生趋势和统计数据的基础,其中含有约5.5万个与损伤、疾病以及死因有关的独特代码,使卫生从业人员能够通过一种通用语言来交换世界各地的卫生信息。在医学上,现有的编码方式是医师或编码员依靠经验根据诊断结果进行编码,但是编码员的专业知识、经验和素质直接影响编码质量,而且医学术语非常繁杂,不同医生在使用上存在差异,特别是在不同地区或国家之间,医学术语的使用也可能不同,缺乏统一的编码规则。 [0003] 因此,亟需一种新型的ICD10编码方法。 发明内容[0005] 本发明提供一种基于语义相似度的ICD10编码方法,包括: [0006] 得到待编码医学数据; [0007] 根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据; [0008] 其中,根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型。 [0009] 根据本发明提供的一种基于语义相似度的ICD10编码方法,所述根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型,包括: [0010] 得到医学样本数据和ICD10编码样本标签数据; [0011] 对医学样本数据进行预处理; [0012] 根据预处理后的医学样本数据和ICD10编码样本标签数据,得到医学样本数据句向量和ICD10编码样本标签数据句向量; [0013] 根据医学样本数据句向量和ICD10编码样本标签数据句向量,利用改进型损失函数,训练得到ICD10编码模型。 [0014] 根据本发明提供的一种基于语义相似度的ICD10编码方法,所述改进型损失函数为: [0015] [0016] 改进型损失函数中,(i,j)、(k,l)表示医学样本数据和ICD10编码样本标签数据的样本对,sim(i,j)表示样本对(i,j)的相似性,sim(k,l)表示样本对(k,l)的相似性,uk、ul、ui、uj表示对应数据的句向量,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数。 [0017] 根据本发明提供的一种基于语义相似度的ICD10编码方法,得到改进型损失函数的过程包括: [0018] 得到第一损失函数; [0019] 根据医学样本数据和ICD10编码样本标签数据,对第一损失函数进行优化,得到第二损失函数; [0020] 对第二损失函数进行转换,得到第三损失函数作为改进型损失函数; [0021] 其中,第一损失函数为: [0022] [0023] 第一损失函数中,Ωneg表示负样本对集合,Ωpos表示正样本对集合,si、sj表示对应数据的列; [0024] 第二损失函数为: [0025] [0026] 第二损失函数中,(i,j)表示正样本对集合中的样本对,(k,l)表示负样本对集合中的样本对,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数。 [0027] 根据本发明提供的一种基于语义相似度的ICD10编码方法,所述超参数的值为20。 [0028] 根据本发明提供的一种基于语义相似度的ICD10编码方法,预处理包括以下任一项或其任意组合:分词和词形还原、停用词去除、词向量表示、句子嵌入、数据增强、数据清理、数据标准化。 [0029] 根据本发明提供的一种基于语义相似度的ICD10编码方法,所述得到医学样本数据和ICD10编码样本标签数据,包括: [0030] 从官方国际疾病分类手册中得到第一医学样本数据和第一ICD10编码样本标签数据; [0031] 根据电子病历系统得到第二医学样本数据和第二ICD10编码样本标签数据。 [0032] 本发明还提供一种基于语义相似度的ICD10编码系统,包括: [0033] 模型训练模块,用于:根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型; [0034] 数据获取模块,用于:得到待编码医学数据; [0035] 编码模块,用于:根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据。 [0037] 本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种所述的基于语义相似度的ICD10编码方法。 [0038] 本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述任一种所述的基于语义相似度的ICD10编码方法。 [0039] 本发明提供的一种基于语义相似度的ICD10编码方法及系统,利用改进型损失函数,挖掘医学数据和ICD10编码的空间映射关系,训练得到ICD10编码模型,使得任何人能够通过ICD10编码模型根据统一的编码规则得到待编码医学数据的ICD10编码数据,有利于提高编码的准确性和效率,降低编码员的技术要求,节省人力成本,有助于医疗机构提高工作效率和生产力,具有广泛的应用前景。附图说明 [0040] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做出简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0041] 图1为本发明提供的一种基于语义相似度的ICD10编码方法的流程示意图。 [0042] 图2为本发明提供的ICD10编码模型的结构示意图。 [0043] 图3为本发明提供的一种基于语义相似度的ICD10编码系统的结构示意图。 [0044] 图4为本发明提供的电子设备的结构示意图。 具体实施方式[0045] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,它们不应该理解成对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。 [0046] 下面结合图1‑图4描述本发明提供的基于语义相似度的ICD10编码方法及系统。 [0047] 图1是本发明提供的基于语义相似度的ICD10编码方法的流程示意图。参照图1,本发明提供的一种基于语义相似度的ICD10编码方法,可以包括: [0048] 步骤S110、得到医学样本数据和ICD10编码样本标签数据; [0049] 步骤S120、对医学样本数据进行预处理; [0050] 步骤S130、根据预处理后的医学样本数据和ICD10编码样本标签数据,得到医学样本数据句向量和ICD10编码样本标签数据句向量; [0051] 步骤S140、根据医学样本数据句向量和ICD10编码样本标签数据句向量,利用改进型损失函数,训练得到ICD10编码模型; [0052] 步骤S150、得到待编码医学数据; [0053] 步骤S160、根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据。 [0054] 需要说明的是,步骤S110‑S140属于训练ICD10编码模型的过程,步骤S150‑S160属于使用ICD10编码模型的过程。 [0055] 需要说明的是,本发明提供的基于语义相似度的ICD10编码方法的执行主体可以是任何符合技术要求的终端侧设备,例如基于语义相似度的ICD10编码装置等。 [0056] 在步骤S110中,医学样本数据可以是医学文本,例如各种疾病名称、疾病对应的临床诊断指南等自然语言数据,而ICD10编码样本标签数据就是医学样本数据的ICD10编码。具体的,终端侧设备可以使用NLP(自然语言处理)技术从官方国际疾病分类手册(例如《ICD‑10编码》,《ICD‑10编码》是国际疾病分类第10版的简称,是世界卫生组织(WHO)编制的一套疾病和健康相关问题的国际标准分类。它的官方编码可以在WHO的网站上获取)中得到第一医学样本数据和第一ICD10编码样本标签数据,也可以从医疗机构的电子病历系统得到第二医学样本数据和由医师或编码员先前已经编制好的第二ICD10编码样本标签数据。 在得到第一医学样本数据和第一ICD10编码样本标签数据以及第二医学样本数据和第二ICD10编码样本标签数据后,可以先由专业医师对数据进行检验,以得到较为精准的样本数据。 [0057] 在步骤S120中,终端侧设备可以先对医学样本数据进行预处理,预处理包括以下任一项或其任意组合:分词和词形还原、停用词去除、词向量表示、句子嵌入、数据增强、数据清理、数据标准化。具体的,分词和词形还原指:将医学样本数据中的句子分割成单词并将每个单词转换成它的基本形式,这有助于减少词汇的数量和噪声;停用词去除指:将医学样本数据中常见的无意义词语(如″的″、″了″等)从文本中删除,这可以减少文本的噪声,从而使算法更加专注于实际内容;词向量表示指:将医学样本数据中每个单词映射到一个连续向量空间中,这有助于将单词的语义信息表示为数学形式;句子嵌入指:将医学样本数据中整个句子编码为向量表示,这有助于将句子的语义信息表示为数学形式;数据增强指:通过使用近义词、随机替换单词、添加噪声等方法来增加医学样本数据的多样性,从而提高模型的鲁棒性和泛化能力;数据清理指:处理医学样本数据中的缺失值、异常值和错误值,以及处理数据格式不一致的问题;数据标准化指:将不同的数据源和格式转换为相同的数据格式和单位,以便进行比较和计算,本实施例使用统一的四位编码。 [0058] 在步骤S130和步骤S140中,终端侧设备会根据预处理后的医学样本数据和ICD10编码样本标签数据,得到医学样本数据句向量和ICD10编码样本标签数据句向量,再根据医学样本数据句向量和ICD10编码样本标签数据句向量,利用改进型损失函数,训练得到ICD10编码模型。在本实施例中,ICD10编码模型采用BERT模型框架进行训练,BERT模型适用于不同的自然语言处理任务,将多个任务的数据集合并在一起进行训练,从而让模型具有更强的泛化能力。 [0059] 在一种实施例中,得到改进型损失函数的过程包括: [0060] 得到第一损失函数; [0061] 根据医学样本数据和ICD10编码样本标签数据,对第一损失函数进行优化,得到第二损失函数; [0062] 对第二损失函数进行转换,得到第三损失函数作为改进型损失函数。 [0063] 其中,第一损失函数为: [0064] [0065] 第一损失函数中,Ωneg表示负样本对集合,Ωpos表示正样本对集合,si、sj表示对应数据的列。 [0066] 因为本实施例希望最终实现si<sj,所以往log里面加入 该项,即得到第二损失函数为: [0067] [0068] 第二损失函数中,(i,j)表示正样本对集合中的样本对,(k,l)表示负样本对集合中的样本对,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数,在本实施例中,超参数的值为20。即,对于任意正样本对(i,j)∈Ωpos和负样本对(k,l)∈Ωneg,都有cos(ui,uj)>(cos(uk,ul)。 [0069] 第二损失函数本质上是一个为排序设计的损失函数,它可以更加通用地转换为第三损失函数,即改进型损失函数为: [0070] [0071] 改进型损失函数中,(i,j)、(k,l)表示医学样本数据和ICD10编码样本标签数据的样本对,sim(i,j)表示样本对(i,j)的相似性,sim(k,l)表示样本对(k,l)的相似性,uk、ul、ui、uj表示对应数据的句向量,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数。即,本实施例认为样本对(i,j)的真实相似性sim(i,j)应该大于样本对(k,l)的真实相似性sim(k,l)。 [0072] 参见图2,ICD10编码模型的训练阶段是将u,v,|u‑v|(其中|u‑v|是指u‑v的每个元素都取绝对值后构成的向量)拼接起来作为特征,后面接一个全连接层做2分类(本实施例是NLP(Natural Language Processing,自然语言处理)数据集,如果是NLI(Natural language inference,自然语言推理)数据集则是3分类),而在预测阶段,先计算句向量然后算cos值(余弦值)作为相似度。通过本发明训练得到的ICD10编码模型在多数任务上都有较为明显的提升,原生训练的平均提升幅度超过6%,而NLI训练的平均提升幅度也有1%左右。 [0073] 在步骤S150和S160中,在训练得到ICD10编码模型后,编码人员可以将待编码医学数据输入终端侧设备的ICD10编码模型中,终端侧设备根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据输出。 [0074] 本发明提供的基于语义相似度的ICD10编码方法至少还具有如下优点: [0075] 1、有效提高编码准确性:语义识别能够更好地理解医学术语和疾病概念,较传统基于规则和关键词匹配的编码方法,能够更准确地将疾病和手术操作编码到正确的ICD‑10代码中。 [0076] 2、降低人工成本:传统的ICD‑10编码需要专业的医学编码员进行手动编码,而语义识别可以通过自动化的方式进行编码,节省了人力成本。 [0077] 3.、提高编码效率:语义识别能够快速自动地对大量医学文本进行编码,提高了编码效率,缩短了编码周期,有助于医疗机构提高工作效率和生产力。 [0078] 4、应用范围广泛:语义识别不仅可以应用于ICD‑10编码,还可以用于医学诊断、疾病预测、药物治疗等方面,具有广泛的应用前景。 [0079] 下面对本发明提供的基于语义相似度的ICD10编码系统进行描述,下文描述的基于语义相似度的ICD10编码系统与上文描述的基于语义相似度的ICD10编码方法可相互对应参照。 [0080] 参照图3,本发明提供的一种基于语义相似度的ICD10编码系统,可以包括: [0081] 模型训练模块,用于:根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型; [0082] 数据获取模块,用于:得到待编码医学数据; [0083] 编码模块,用于:根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据。 [0084] 根据本发明提供的一种基于语义相似度的ICD10编码系统,模型训练模块可以包括: [0085] 数据获取子模块,用于:得到医学样本数据和ICD10编码样本标签数据; [0086] 预处理子模块,用于:对医学样本数据进行预处理; [0087] 数据处理子模块,用于:根据预处理后的医学样本数据和ICD10编码样本标签数据,得到医学样本数据句向量和ICD10编码样本标签数据句向量; [0088] 模型训练子模块,用于:根据医学样本数据句向量和ICD10编码样本标签数据句向量,利用改进型损失函数,训练得到ICD10编码模型。 [0089] 需要说明的是,预处理包括以下任一项或其任意组合:分词和词形还原、停用词去除、词向量表示、句子嵌入、数据增强、数据清理、数据标准化。 [0090] 根据本发明提供的一种基于语义相似度的ICD10编码系统,模型训练模块可以包括: [0091] 函数得到子模块,用于:得到第一损失函数; [0092] 函数优化子模块,用于:根据医学样本数据和ICD10编码样本标签数据,对第一损失函数进行优化,得到第二损失函数; [0093] 函数转换子模块,用于:对第二损失函数进行转换,得到第三损失函数作为改进型损失函数; [0094] 其中,第一损失函数为: [0095] [0096] 第一损失函数中,Ωneg表示负样本对集合,Ωpos表示正样本对集合,si、sj表示对应数据的列; [0097] 第二损失函数为: [0098] [0099] 第二损失函数中,(i,j)表示正样本对集合中的样本对,(k,l)表示负样本对集合中的样本对,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数。 [0100] 需要说明的是,所述改进型损失函数为: [0101] [0102] 改进型损失函数中,(i,j)、(k,l)表示医学样本数据和ICD10编码样本标签数据的样本对,sim(i,j)表示样本对(i,j)的相似性,sim(k,l)表示样本对(k,l)的相似性,uk、ul、ui、uj表示对应数据的句向量,cos(uk,ul)表示样本对(k,l)句向量的余弦相似度,cos(ui,uj)表示样本对(i,j)句向量的余弦相似度,λ表示超参数。 [0103] 需要说明的是,所述超参数的值为20。 [0104] 根据本发明提供的一种基于语义相似度的ICD10编码系统,数据获取子模块可以包括: [0105] 第一得到子模块,用于:从官方国际疾病分类手册中得到第一医学样本数据和第一ICD10编码样本标签数据; [0106] 第二得到子模块,用于:根据电子病历系统得到第二医学样本数据和第二ICD10编码样本标签数据。 [0107] 图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行基于语义相似度的ICD10编码方法,该方法包括: [0108] 得到待编码医学数据; [0109] 根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据; [0110] 其中,根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型。 [0111] 此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括;U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。 [0112] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于语义相似度的ICD10编码方法,该方法包括: [0113] 得到待编码医学数据; [0114] 根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据; [0115] 其中,根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型。 [0116] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于语义相似度的ICD10编码方法,该方法包括: [0117] 得到待编码医学数据; [0118] 根据待编码医学数据,通过ICD10编码模型,得到与待编码医学数据相似度最高的医学样本数据对应的ICD10编码样本标签数据,作为待编码医学数据的ICD10编码数据; [0119] 其中,根据医学样本数据和ICD10编码样本标签数据,利用改进型损失函数,训练得到ICD10编码模型。 [0120] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。 [0121] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。 [0122] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 |