首页> 中国专利> 基于日志反馈的中文医学术语自适应对齐方法

基于日志反馈的中文医学术语自适应对齐方法

摘要

本发明公开了一种基于日志反馈的中文医学术语自适应对齐方法,基于日志反馈、弱监督和对比学习实现,通过记录客户端的操作日志,分析日志中的动作过程,识别并抽取医学术语,打通医学术语并分拆概念子图,从而实现自动构建训练样本,并进行自学习和自动索引,从而可随着下游的业务系统的日志数据的接入进行自我学习与自我提升,然后把自学习好的模型再服务于下游系统,通过全流程的闭环来实现术语对齐的自动化和高效性。

著录项

  • 公开/公告号CN116680377A

    专利类型发明专利

  • 公开/公告日2023-09-01

    原文格式PDF

  • 申请/专利权人 广州中康数字科技有限公司;

    申请/专利号CN202310647595.9

  • 申请日2023-06-01

  • 分类号G06F16/332(2019.01);G06F16/33(2019.01);G06F11/30(2006.01);G06F11/34(2006.01);G06F40/40(2020.01);G06F16/23(2019.01);G06F18/24(2023.01);G06F18/22(2023.01);G06N3/0895(2023.01);G06N3/084(2023.01);G06F40/30(2020.01);

  • 代理机构广州德伟专利代理事务所(普通合伙) 44436;

  • 代理人黄浩威

  • 地址 510000 广东省广州市南沙区黄阁镇望江二街5号1111房(仅限办公)

  • 入库时间 2024-01-17 01:28:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-19

    实质审查的生效 IPC(主分类):G06F16/332 专利申请号:2023106475959 申请日:20230601

    实质审查的生效

  • 2023-09-01

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及人工智能技术领域,具体涉及一种基于日志反馈的中文医学术语自适应对齐方法。

背景技术

医学概念对齐是医疗信息处理领域的一个重要研究方向。它主要指将医学领域中使用的术语、符号、缩写等进行标准化。在医疗信息系统中,同一个医学术语可能有多种不同的医学概念表达方式。这种表达方式的不统一和不准确现象严重阻碍了医疗大数据的整合、共享和利用,给医疗领域的临床、教学和科研带来困难。例如,会出现术语混淆、信息不准确、信息遗漏、信息重复以及跨机构交流难等问题。

医疗机构基于现有的医学术语标准词典,采用人工编码的方式将临床医疗文本中的医学概念手动映射为医学术语编码,而人工编码需要大量具有医学知识的专业人员进行操作,成本高昂,效率有限并且准确性不高。

近年来,为了解决成本与效率问题,深度神经网络与知识图谱被广泛应用,特别是在NLP领域中文医学术语的应用方面。目前已经出现了多种方法,如基于NER对文本进行更细粒度的拆解,基于半监督和主动学习相结合的实体抽取方法,以及基于深度和搜索的抽取方法。这些方法可以通过召回术语,再通过精排推荐。流程大部分都需要收集好数据或利用国外的英文术语库进行翻译,有必要时需要专家进行标注。显然这里是存在以下几个问题:

问题1、数据的收集是一个浩大的工程,需要花费大量的资金、人力、时间成本;

问题2、英文术语库转成中文的翻译的正确性依然是一个问题;如果加入人工审核,诚然能够提高中文翻译的正确性,但巨大的人工审核量会视术语对齐工程遥遥无期。

发明内容

针对现有技术的不足,本发明旨在提供一种基于日志反馈的中文医学术语自适应对齐方法。

为了实现上述目的,本发明采用如下技术方案:

一种基于日志反馈的中文医学术语自适应对齐方法,具体包括如下步骤:

S1、收集开放的医学术语资源,进行医学术语初始化,构建初始的医学术语样本,训练得到中文医学术语对齐模型;

S2、用户可通过客户端输入查询的医学术语;然后应用服务器通过术语服务器的中文医学术语对齐模型检索查询词相关的概念编码,并返回候选概念编码序列,此时用户在客户端对候选的概念编码进行选择并提交;应用服务器的日志系统对用户的查询操作进行记录得到用户的操作日志数据,并得到应用服务器由此产生的事务日志数据,然后将用户的操作日志数据和应用服务器的事务日志数据反馈到术语服务器的日志仓库;

S3、日志仓库将应用服务器反馈的日志数据通过弱监督进行学习,得到高质量训练样本;术语服务器利用得到的训练样本对中文医学术语对齐模型基于对比学习进行训练,训练得到的中文医学术语对齐模型持续为应用服务器提供服务。

进一步地,步骤S1中构建初始医学术语样本数据的具体过程为:

S1.1、选择UMLS开源医学资源库,收集UMLS术语;

S1.2、对步骤S1.2收集到的UMLS术语进行翻译。

进一步地,步骤S2的具体实现过程如下:

S2.1、在客户端的应用界面进行埋点与日志采集请求,一旦事件点被激发,客户端基于脚本代码向应用服务器发送日志记录请求,完成一次操作日志记录;

S2.2、应用服务器的日志系统响应客户端的日志记录请求,完成操作日志记录,并对应用服务器业务处理过程的日志进行记录,得到事务日志数据;

S2.3、将操作日志数据和事务日志数据同步至日志仓库:

客户端的操作日志记录请求包括的字段有请求IP、用户uui、时间、事件类型和业务参数;应用服务器的事务日志字段也包括请求时间、用户uui、事件类型、事件方法和业务参数;

对获取的所有日志按用户uui进行分组,按时序还原用户行为过程,从时序中提取出用户的选择,完成最后的数据标注;将日志数据处理形成(服务器编码,uui,日期,查询的医学术语,候选集,选择集,是否自定义)格式的数据结构,并把格式化的数据更新到日志仓库中。

进一步地,步骤S3的具体过程如下:

S3.1、定义样本格式:首先把日志数据的结构转换成(术语1,术语2,{1,-1})的形式,每一个样本都包含一个术语对;具体转换规则为:

(1)查询的医学术语与选择集对应的术语构建成正样本;

(2)从候选集对应的术语中去除选择集所对应的术语得到去重术语集,将查询的医学术语与去重术语集中的术语构建成负样本;

S3.2、定义与建立学习模型:在步骤S3.1中根据两个规则生成的正样本集和负样本集中,删除频率小于3的样本,最终得到样本集S,日志来源个数为M,总样本数据量为N;样本标注矩阵为A∈{-1,1}

式(1)生成的标签矩阵记为

综上,所以合并后的因子表达式记为

其中,

S3.3、学习模型训练:对于包含的隐变量Y的学习模型P

求解与优化问题,采用梯度下降的方法,具体为Gibbs采样算法,采用斯坦福的Snorkel工具包求解,把学习后参数记为θ

S3.4、由步骤S3.3得到学习模型的参数θ

S3.5、通过学习模型学习,对多来源样本的含噪声的标注进行了融合,得到一个软标注分布,会生成软标注的术语对样本集X

设定过滤标注阈值α(α≥0.95),对X

B1、对于术语对样本集X

B2、基于UMLS先验库,概念编码CUI为单位,取术语集合Term_set

B3、按构建G

B4、基于相同节点术语和多个概念子图,得到概念图G:

同理,全体医学术语集合表示为:

B5、对于图G,分拆出独立连通子图,每个连通子图定义为概念子图

对每个

统一概念编码

对Term_set的医学术语进行自动编号,带编号的医学术语集记为Term_set',编码号字段记为tid,同时得到

更进一步地,所述中文医学术语对齐模型主要由术语库、文本搜索引擎和语义搜索引擎构成;术语库的内容包括开放的术语库、概念编码与术语库映射表gid2cid_list、术语概念等价集S

文本搜索引擎的具体构建过程如下:

C1、获取概念集S

C2、对术语库的数据进行文本清洗,然后保存到数据库中,对术语建立索引;

C3、对于给定的查询中文术语Q

医学术语文本相似度计算如下:

其中D

所述语义搜索引擎基于对比学习的SimCSE模型进行建模,具体过程如下:

D1、模型选择:两个术语先分别进行编号,然后计算相似度,基于对比学习选择SimCSE模型对术语进行训练;

D2、由于SimCSE是一种对比学习模型,在没有标注下可以自己学习训练,所以一部分样本是术语自身构造而成,记为

D3、前向计算:对于样本x

vec

其中,encoder(·)表示编码器函数,取中文BERT,μ

因为输入是术语对,在模型的计算时,把术语对作为正样本,负样本由训练中的一批样本中的x

D4、定义损失函数;对于批次大小为B,训练的损失函数为:

其中,相似度采用余弦来计算:

D5、反向计算:求解梯度,反向迭代更新,完成模型的学习,完成编码器encoder

D6、术语向量集索引;获T

term_vec

term_vec

D7、索引Term_vecs向量集与检索:采用向量数据库或向量检索组件或工具对向量集进行保存与检索,向量的相似计算采用余弦计算;

对Q

更进一步地,中文医学术语对齐模型检索查询词相关的概念编码,并返回候选概念编码序列的具体过程如下:

E1、对于用户输入查询中文术语Q

E2、对cand_seq

E3、以gid

score

其中,score

κ

本发明的有益效果在于:

1、本发明方法基于日志反馈、弱监督和对比学习实现,通过记录客户端的操作日志,分析日志中的动作过程,识别并抽取医学术语,从而实现自动构建训练样本,并进行自学习和自动索引,从而可随着下游的业务系统的日志数据的接入进行自我学习与自我提升,然后把自学习好的模型再服务于下游系统,通过全流程的闭环来实现术语对齐的自动化和高效性。

2、采用图模型对医学术语进行打通和分拆,更能体现术语概念的核心思想。一个抽象的医学概念,只存在于无形的想象中,表现出来的术语分散在各术语资料及数据库中。经过图有效地把零碎的术语串起来,给定一个唯一的概念编码;通过构建的图模型,采用图算法,自动分拆成多个连通子图,从而形成了概念子图的效果。

3、对于日志的术语反馈,创新性地提出了弱监督的数据处理,把噪声标注与真实标注构建的学习模型作为噪声标注推断,适用于处理的多应用场景业务,多用户差异产生的数据的质量问题,提升最终模型的性能。

4、提出混合SimCSE模型的术语向量嵌入,可以完成单个术语与相似对的术语相结合的统一训练,从而完成海量术语的嵌入处理。

5、本发明的对齐模型基于文本与语义相结合进行计算,结合两者的优点,发挥文本搜索的简单高效性,当随着模型的运行与迭代,数据趋向饱和时,直接采用文本的匹配与检索可达到术语对齐的很好的效果,同时可以解决由于术语样本不足,模型训练不充分带来的基础匹配问题。至于语义检索可以直接反映中文医学术语本身语义特点,可以解决字面相似可语义不一致的问题。

附图说明

图1为本发明实施例的方法流程示意图;

图2为本发明实施例方法的实施架构示意图;

图3为本发明实施例中文医学术语对齐模型的架构示意图。

具体实施方式

以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

本实施例提供一种基于日志反馈的中文医学术语自适应对齐方法,基于日志反馈、弱监督和对比学习实现。具体过程如图1所示。

S1、收集开放的医学术语资源,进行医学术语初始化,构建初始的医学术语样本,训练得到中文医学术语对齐模型;

S2、用户可通过客户端(如图2所示的i、j、k)输入查询的医学术语,例如输入查询词“呼吸道感染”;然后应用服务器(如图2所示的g和h)通过术语服务器(如图2中所示的a-f)的中文医学术语对齐模型检索查询词相关的概念编码,并返回候选概念编码序列,此时用户在客户端对候选的概念编码进行选择并提交;应用服务器的日志系统对用户的查询操作进行记录得到用户的操作日志数据,并得到应用服务器由此产生的事务日志数据,然后将用户的操作日志数据和应用服务器的事务日志数据反馈到术语服务器的日志仓库;

日志仓库将应用服务器反馈的日志数据通过弱监督进行学习,得到高质量训练样本;术语服务器利用得到的训练样本对中文医学术语对齐模型基于对比学习进行训练,训练得到的中文医学术语对齐模型持续为应用服务器提供服务。

本实施例的主要目的是解决中文医学术语对齐问题,因此在初始阶段,需要以海量的开源英文术语库作为出发点,收集权威的中英翻译词典、标准作为桥梁,构建得到初始医学术语样本。步骤S1的具体过程为:

S1.1、选择UMLS开源医学资源库,收集UMLS术语。众所周知,UMLS是大量术语库的组合,如果知道UMLS术语的cui码(UMLS医学库中表示某一概念的唯一编码),大量术语库就是联通的,包括SNOMEDCT Meta、ICD系统版本、MeSH、LOINC、ATC等术语库。

S1.2、对步骤S1.2收集到的UMLS术语进行翻译。术语翻译起着关键性的作用,本实施例选择的翻译数据的主要来源为:

1、权威发布的中英对照表,例如《国际疾病分类》第10版中文版、中国卫生部医院管理研究所组织出版的SNOMED 3.4版中文电子版、ACT中文版本等,记作CN_Medical_Term_Set1。

2、医学词典,例如比较权威的《湘雅医学大词典》、《英汉医学辞海》、《英汉汉英双向医学词典》、《英汉汉英双向中医学词典》等术语词典。根据词典进行对英文术语进行全词匹配。

进一步地,步骤S2中,通过基于日志反馈的用户行为及应用服务器的事务日志收集,解决数据样本收集难的问题。采集的日志包括用户在客户端进行术语对齐所产生的操作日志及应用服务器基于用户的操作产生的事务日志。应用服务器将各个节点采集的操作日志以及自身的事务日志定时或实时同步到术语服务器的日志仓库进行储存。步骤S2的具体实现过程如下:

S2.1、在客户端的应用界面进行埋点与日志采集请求。例如候选概念编码加载完毕事件点、选择事件点、完成提交事件点等,一旦事件点被激发,客户端基于脚本代码向应用服务器发送日志记录请求,完成一次操作日志记录。例如用户端的JavaScript的脚本,基于Ajax向服务器发送异步请求。

S2.2、应用服务器的日志系统响应客户端的日志记录请求,完成操作日志记录,并对应用服务器业务处理过程的日志进行记录,得到事务日志数据。例如用户在客户端的应用界面查询术语“呼吸道感染”,应用服务器的日志系统会收到客户端的查询日志记录请求,同时在业务逻辑上也会一个处理查询侯选术语列表的请求及相关数据列表,如“呼吸道感染(C0035243)”、“上呼吸道感染(C0041912)”、“上呼吸道感染(C0149725)”,“病毒性呼吸道感染(C0729531)”,括号的编码为术语标准化后的概念编码。

S2.3、日志同步。本实施例基于实时日志流技术来向日志仓库同步日志,结合Flume+Kafka+Spark Streaming技术来处理,利用Flume读取日志信息,Kafka保存日志信息队列,Spark Streaming消费日志信息,同时基于规则过滤与清洗,最后保存到日志仓库。保存介质可为文件系统、分布式文件系统或关系数据库例如Mysql、Nosql数据库等。本实施例以Hadoop为基础,采用HDFS分布式文件系统,采用Hive数据仓库进行数据保存。Hadoop是Apache基金会所开发的分布式系统基础架构,HDFS是建立在Hadoop之上的文件系统,Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

以下通过举例说明日志数据采集的内容结构及最终输出的数据形式。

对于客户端的操作日志记录请求,包括的主要字段有:请求IP、用户uui、时间、事件类型、业务参数等。另外,应用服务器的事务日志字段也包括请求时间、用户uui、事件类型、事件方法、业务参数等。

对获取的所有日志按用户uui进行分组,按时序还原用户行为过程,从时序中提取出用户的选择,完成最后的数据标注。例如,唯一用户uui中,通过流程可以清洗出从“呼吸道感染”查询动作开始,返回候选的概念编码集合“[C0035243,C0041912,C0149725,C0581381,C0729531]”,然后用户选择了“C0035243”,最终经过数据处理形成(服务器编码,uui,日期,查询的医学术语,候选集,选择集,是否自定义)格式的数据结构,如(s10009,1651717008203_1315242ec22b0d006e24624429a74b4b,2022-06-06,{ 呼 吸 道 感染 },{C0035243,C0041912,C0149725,C0581381,C0729531},{C0035243},否),并把格式化的数据更新到日志仓库的HIVE数据仓库中。

在本实施例中,日志数据来自多个应用服务器的日志系统,每个应用服务器提供给多个业务场景应用,每个业务应用场景又会有不同特征的人群工作者使用。因此数据样本可以看作是来自多个异构源的数据集合,不可避免存在大量噪声,甚至会存在矛盾的标注,在实际业务应用的复杂性从不同角度与粒度去理解时会产生不同的判断。

对于多来源的噪声数据样本,需要进行噪声消除,然后对标签进行合并,构建更优质的训练语料。步骤S3的具体过程如下:

S3.1、定义样本格式。首先把日志数据的结构(服务器编码,uui,日期,查询的医学术语,候选集,选择集,是否自定义),转换成(术语1,术语2,{1,-1})的形式,每一个样本都包含一个术语对。具体转换规则为:

(1)查询的医学术语与选择集对应的术语构建成正样本。例如用户输入的查询词“呼吸道感染”与用户选择的C0035243所对应的术语集{“呼吸道(上呼吸道与下呼吸道)感染”,“上下呼吸道感染”}的术语集,构建得到正样本(呼吸道感染,呼吸道(上呼吸道与下呼吸道)感染,1)和(呼吸道感染,上下呼吸道感染,1),形成正样本集{(呼吸道感染,呼吸道(上呼吸道与下呼吸道)感染,1),(呼吸道感染,上下呼吸道感染,1)};

(2)从候选集对应的术语中去除选择集所对应的术语得到去重术语集,将查询的医学术语与去重术语集中的术语构建成负样本。例如查询的医学术语“呼吸道感染”与候选集{C0041912,C0149725,C0581381,C0729531}的术语集,构建得到负样本集{(呼吸道感染,上呼吸道感染(URTI),-1),(呼吸道感染,呼吸道病毒性感染,-1),...}。

S3.2、定义与建立学习模型。在步骤S3.1中根据两个规则生成的正样本集和负样本集中,删除频率小于3的样本,最终得到样本集S,日志来源个数为M,总样本数据量为N;样本标注矩阵为A∈{-1,1}

式(1)生成的标签矩阵记为

综上,所以合并后的因子表达式记为

其中,

S3.3、学习模型训练。对于包含的隐变量Y的学习模型P

求解与优化问题,采用梯度下降的方法,具体为Gibbs采样算法,采用斯坦福的Snorkel工具包求解,把学习后参数记为θ

S3.4、由步骤S3.3得到学习模型的参数θ

S3.5、通过学习模型学习,对多来源样本的含噪声的标注进行了融合,得到一个软标注分布。例如对于“呼吸道感染”的医学实体,会生成软标注的术语对样本集X

目前为止,都是基于数据层来处理术语对的相似关系,本实施例基于术语语义层来统一化医学概念,采用唯一的概念编码来表示,例如UMLS的CUI与SNOMED CT的CODE。具体地,设定过滤标注阈值α(α≥0.95),对X

B1、对于术语对样本集X

B2、基于UMLS先验库,概念编码CUI为单位,取术语集合Term_set

B3、按构建G

B4、基于相同节点术语和多个概念子图,得到概念图G:

同理,全体医学术语集合表示为:

B5、对于图G,分拆出独立连通子图,每个连通子图定义为概念子图

对每个

统一概念编码

对Term_set的医学术语进行自动编号,带编号的医学术语集记为Term_set',编码号字段记为tid,同时得到

例如编码为“0085580”,对应的医学术语等价集为{“原发性高血压”,“特发性(原发性)高血压”,“原发型高血压”,“Essentialhypertension”,“Primary hypertension”,“高血压病”},对应的gid2cid_list列表为[“0085580”:{“umls”:”C0085580”,”sct”:”194760004,59621000”,”icd10”:”I10”,...},...],得到的tid2gid_list列表为[(“0001”:“0085580”),(“0002”:“0085580”),...]。

对于术语模型,从技术上可分为文本与语义相似模型两大类。文本相似一般基于文本字符匹配来计算两术语之间的距离。对于语义相似计算,首先把术语嵌入到某个向量空间,获取术语的向量表示如word2vec或BERT模型的编码,然后基于距离公式计算近似度。可是基于通用的嵌入模型准确度不高,难以达到术语的语义需求,即使是BERT之类的大模型也出现比较大的坍塌现象。

综上分析,本实施例提出融合中英文本检索与对比学习语义推理的中文医学术语对齐模型,如图3所示(以UMLS为例),所述中文医学术语对齐模型主要由术语库、文本搜索引擎、语义搜索引擎构成。其中术语库包括开放的术语库、概念编码与术语库映射表gid2cid_list、术语概念等价集S

文本搜索引擎的具体构建过程如下:

C1、获取概念集S

C2、对术语库的数据进行文本清洗,例如转成小写、去掉特殊符号等,然后保存到数据库中,对术语建立索引。本实施例中选择ES(elastic search),数据模型创建相应字段,字符经过"html_strip"、"lowercase"、"asciifolding"、"stemmer"、"english_stop"等方法过滤与处理;然后进行英文分词和中文分词,倒排索引保存到数据库中。

C3、对于给定的查询中文术语Q

需要说明的是,BM25的计算公式如下:

其中,score

其中D

所述语义搜索引擎基于对比学习的SimCSE模型进行建模,具体过程如下:

D1、模型选择。本实施例选择的语义框架是基于双塔模型,即是两个术语先分别进行编号,然后计算相似度。另外,为了克服大模型的坍塌现象,基于对比学习选择SimCSE模型对术语进行训练;

D2、由于SimCSE是一种对比学习模型,在没有标注下可以自己学习训练,所以一部分样本是术语自身构造而成,记为

D3、前向计算:对于样本x

vec

其中,encoder(·)表示编码器函数,取中文BERT,μ

因为输入是术语对,在模型的计算时,把术语对作为正样本,负样本由训练中的一批样本中的x

D4、定义损失函数。对于批次大小为B,训练的损失函数为:

其中,相似度采用余弦来计算:

D5、反向计算。求解梯度,反向迭代更新,完成模型的学习,完成编码器encoder

D6、术语向量集索引。获T

term_vec

term_vec

D7、索引Term_vecs向量集与检索。把Term_vecs索引到向量数据库例如Milvus,Vald,Qdrant等或选用向量检索组件或工具例如Facebook的FAISS,微软的SPTAG,Spotify的Annoy等,相似计算的算法主要以近似最近邻搜索思想为主。本实施例选择开源Milvus进行对向量集的保存与检索,向量的相似计算采用余弦计算。

对Q

进一步地,所述中文医学术语对齐模型对用户在客户端输入的查询术语进行预测,给出候选概念编码结果的具体过程如下:

E1、对于用户输入查询中文术语Q

E2、对cand_seq

E3、以gid

score

其中,score

κ

对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号