文本分析方法、计算机设备及计算机可读存储介质
未命名
08-13
阅读:84
评论:0
1.本技术涉及自然语言处理技术领域,具体地,涉及一种文本分析方法、计算机设备及计算机可读存储介质。
背景技术:
2.医生对患者进行疾病的诊断时,通常都是基于自己的经验进行,准确度有限。因此,目前常利用人工智能手段辅助医生进行疾病的诊断。
3.尤其是针对罕见病的诊断。罕见病,又称“孤儿病”,是患病率极低的各类疾病的统称,到目前为止已发现的罕见病数量大约为6000-8000种。虽然罕见病的发病率极低,但由于病种繁多,患有罕见病的总体人数并不少,据估计,全世界约有3.5亿人患有罕见病。
4.由于训练数据数量少、测试数据不均衡等问题,导致在利用人工智能手段进行疾病,特别是罕见病预测时的结果不够好。
技术实现要素:
5.有鉴于此,本技术实施例的目的是提供一种文本分析方法、计算机设备及计算机可读存储介质,能够解决现有在利用人工智能手段进行疾病,特别是罕见病预测时的结果不够好的问题。
6.为了解决上述技术问题,本技术是这样实现的:第一方面,本技术实施例提供了一种文本分析方法,包括:获取病人的待分析病历文本;将所述待分析病历文本输入至表型抽取模型的提取模块进行提取,得到所述待分析病历文本中的多个医学实体;将所述医学实体输入至所述表型抽取模型的表型链接模块,得到所述多个医学实体对应的标准hpo表型集合;将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,其中,所述初始预测结果包括多个疾病以及每个疾病的概率。
7.根据本技术公开的一种具体实施方式,所述表型抽取模型的表型链接模块的训练方法包括:获取中文hpo叙词表与医学实体样本;构建第一训练集,其中,所述第一训练集包括由中文hpo叙词表中的一个hpo标准词和一个医学实体样本构成的文本对样本,以及所述文本对的匹配度;将所述第一训练集输入至第一预设模型,得到所述文本对样本对应的两个语义向量;根据所述两个语义向量的距离以及所述文本对的匹配度,以最小化预设损失函数为目标进行迭代训练,得到所述表型抽取模型的表型链接模块。
8.根据本技术公开的一种具体实施方式,所述获取中文hpo叙词表与医学实体样本之前,还包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统;将多个中文医学词表与所述中文统一医学语言系统进行词条链接,得到中文统一医学叙词表;从所述中文统一医学叙词表中导出与hpo表型相关的子集,得到所述中文hpo叙词表。
9.根据本技术公开的一种具体实施方式,所述基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统,包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到每种翻译接口对应的翻译结果;基于预设过滤规则,对每种翻译接口对应的翻译结果进行过滤,得到所述中文统一医学语言系统,其中,所述预设过滤规则包括针对第一翻译接口保留预设标签类别的翻译结果,以及针对第二翻译接口和第三翻译接口保留相同的翻译结果。
10.根据本技术公开的一种具体实施方式,所述融合医学知识库的构建方法包括:对预设文本进行表型抽取,构建所述预设文本中的疾病与表型的对应关系,得到第一医学知识库;构建所述第一医学知识库与第二医学知识库的第一疾病映射关系;基于所述第一疾病映射关系以及所述第二医学知识库与第三医学知识库的第二疾病映射关系,将相同的疾病以及对应的表型进行融合,得到融合医学知识库。
11.根据本技术公开的一种具体实施方式,所述预测算法包括icto,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:根据第一预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第一预设公式包括:式中,q表示所述标准hpo表型集合,dk表示所述融合医学知识库中的疾病的表型集合,表示q与dk的单边匹配得分,表示dk与q的单边匹配得分,单边匹配得分的表达式为:式中,表示在fu(s2)的所有表型中,只有同在s1的表型参与计算,fu(s2)表示集合s2与集合s2中的每个表型的祖先集合的并集,ic表示表型t的信息内容值,ic的表达式为:式中,ti表示表型,n表示所述融合医学知识库中的疾病总数,nti表示被表型ti及所述表型ti的子孙节点注释的疾病数量;或,根据第二预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的
表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第二预设公式包括:式中,表示取在fu(dk)的所有表型中,同在q的表型,与在fu(q)的所有表型中,同在dk的表型的并集参与计算。
12.根据本技术公开的一种具体实施方式,所述预测算法包括ppo,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:根据第三预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第三预设公式包括:式中,q表示所述标准hpo表型集合,ti表示q中的任意一个表型,dk表示所述融合医学知识库中的疾病的表型集合,的表达式为:式中,p
ik
表示表型注释数据直接提供的患有疾病dk的病人有表型ti的频率,p(ti)表示表型ti的背景概率,f
pp
表示表型概率传播函数,p(ti)的表达式为:式中,n表示所述融合医学知识库中的疾病总数,nti表示被表型ti及所述表型ti的子孙节点注释的疾病数量;f
pp
的表达式为f
max
、f
ind
、f
sum
中的任意一个:中的任意一个:中的任意一个:式中,c
ik
的表达式为f
ch
(ti)表示表型ti的子节点集合,fu(dk)表示集合dk与集合dk中的每个表型的祖先集合的并集。
13.根据本技术公开的一种具体实施方式,所述预测算法包括补集朴素贝叶斯模型和多层感知机模型。根据本技术公开的一种具体实施方式,所述方法还包括:将多种所述预测算法的初始预测结果基于次序统计量进行融合,得到所述待分析病历文本的预测结果。
14.根据本技术公开的一种具体实施方式,所述将多种所述预测算法的初始预测结果基于次序统计量进行融合,得到所述待分析病历文本的预测结果,包括:将每种预测算法的初始预测结果除以所述融合医学知识库中的疾病总数,利用n维次序统计量的联合累计分布计算z统计量,作为所述待分析病历文本的预测结果。
15.第二方面,本技术实施例提供了一种计算机设备,包括处理器和存储器,所述存储器上存储有程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法
的步骤。
16.第三方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
17.本技术的上述实施例提供的文本分析方法、计算机设备及计算机可读存储介质,采用表型抽取模型得到待分析病例文本中的标准hpo表型集合,表型抽取精度高,为后续的预测提供了基础;基于多个医学知识库构建融合医学知识库,并且在此基础上,基于预测方法进行预测,进一步提升预测结果的准确性。
18.本技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
19.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对本技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
20.图1示出了本技术实施例提供的一种文本分析方法的流程示意图;图2示出了本技术实施例提供的hpo的结构示意图;图3示出了本技术实施例提供的融合医学知识库的融合过程示意图;图4示出了本技术实施例提供的另一种文本分析方法的流程示意图;图5示出了本技术实施例提供的另一种文本分析方法的步骤150的过程示意图。
实施方式
21.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
22.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
24.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
25.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
26.请参阅图1,图1示出了本技术实施例提供的文本分析方法的流程图,如图1所示,该方法包括以下步骤:步骤110、获取病人的待分析病历文本。
27.具体的,待分析病历文本用于描述病人的患病状态,可以是通过输入输出设备输入至计算机设备的电子文本,也可以是对纸质文本进行光学字符识别后得到的文本,还可以是根据病人的语音进行语音识别后得到的文本,本技术实施例对此不作具体限定。
28.本技术实施例以罕见病为例展开论述,可以理解的是,其他疾病的处理逻辑类似,可以根据实际需求进行调整。
29.步骤120、将所述待分析病历文本输入至表型抽取模型的提取模块进行提取,得到所述待分析病历文本中的多个医学实体。
30.步骤130、将所述医学实体输入至所述表型抽取模型的表型链接模块,得到所述多个医学实体对应的标准hpo表型集合。
31.人类表型本体(human phenotype ontology,hpo)提供了描述人类表型的标准术语集,第一个版本由德国夏洛特医学中心于2008年发布,通过对在线人类孟德尔遗传数据库(online mendelian inheritance in man,omim)的描述文本进行概念抽取而建立。请一并参阅图2,图2示出了本技术实施例提供的hpo的结构示意图。hpo的表型被组织为层级结构,结构中的每个节点表示一个表型术语,节点之间通过“is-a”边(属于关系)连接形成有向无环图(directed acyclic graph,dag)。例如“湿疹(eczema)”属于“皮肤炎症反应(inflammatory abnormality of the skin)”,“苯丙酮酸血症(phenylpyruvic acidemia)”属于“酸中毒(acidosis)”等。位置越靠上的节点表示的概念越泛化,越靠下的节点表示的概念越具体。目前基于表型的罕见病诊断算法或工具大多依赖于hpo提供的表型层次结构信息与疾病的表型注释信息。
32.此外,目前的罕见病预测或者诊断方法都是把提取好的表型作为模型输入进行预测。然而,医生人工抽取存在耗时长、困难大的问题。由于同一医学概念常常有不同的表达,例如“romberg征”与“闭目难立征(hp:0002403)”、“间断发热”与“阵发性发热(hp:0001954)”、“视物成双”与“复视(hp:0000651)”、“指甲发白”与“白甲(hp:0001820)”等;同时,hpo表型术语与临床用语也存在着一定差异,例如“顶骨隆起(hp:0000242)”与“顶骨突出”、“牙齿错位咬合(hp:0000689)”与“牙齿不齐”等,这给表型自动化抽取带来一定挑战。
33.因此,本技术实施例提供了一种表型抽取模型,该表型抽取模型被命名为ctext2hpo。本技术提供的ctext2hpo是一套无需标注语料训练的、面向中文的表型抽取模型,可达到与医学专家人工抽取相当的效果。表型抽取模型先对待分析病例文本进行提取,得到待分析病历文本中的多个医学实体,提取的医学实体可以认为是潜在的、不标准的医学描述。示例性地,表型抽取模型的提取模块采用topwords模型。
34.再将医学实体输入至所述表型抽取模型的表型链接模块,得到所述多个医学实体对应的标准hpo表型集合。针对每个医学实体,先将医学实体利用albert模型转换为语义向量,再计算得到该医学实体的语义向量和每个标准hpo表型的语义向量之间的相似度,把相似度最高的标准hpo表型作为该医学实体对应的标准hpo表型。根据每个医学实体对应的标准hpo表型,构建标准hpo表型集合,从而将不标准的医学描述映射到标准hpo表型,作为病人的表示,进而在后续的步骤中利用病人的表示进行预测。其中,针对一个医学实体ts与每
个标准hpo表型th的相似度的计算方法如公式(1):(1)式中,表示医学实体ts对应的语义向量,表示标准hpo表型th对应的语义向量,d表示距离,在本技术实施例中采用欧式距离。
35.采用本技术提供的表型链接模块进行表型链接任务,只需要分别生成标准hpo表型和医学实体的语义向量,从而降低了使用表型链接模块的次数,降低了计算复杂度。
36.目前不存在公开的高质量的中文医学文本标注数据可以用来训练深度学习模型,因此,基于深度学习方法效果欠佳和泛化性能较差而不能进行推广。
37.有鉴于此,本技术实施例构建中文hpo叙词表,以构建训练集进行训练得到表型抽取模型的表型链接模块。因此,一种可选的实施方式中,所述表型抽取模型的表型链接模块的训练方法包括:获取中文hpo叙词表与医学实体样本;构建第一训练集,其中,所述第一训练集包括由中文hpo叙词表中的一个hpo标准词和一个医学实体样本构成的文本对样本,以及所述文本对的匹配度;将所述第一训练集输入至第一预设模型,得到所述文本对样本对应的两个语义向量;根据所述两个语义向量的距离以及所述文本对的匹配度,以最小化预设损失函数为目标进行迭代训练,得到所述表型抽取模型的表型链接模块。
38.具体的,令t表示一段文本,h
t
=ga(t)表示文本t经过albert网络ga输出的词向量,g
fc
表示全连接网络,则t对应的语义向量v
t
的表达式如公式(2):(2)式中,wa表示albert网络的参数,w
fc
表示全连接网络的参数。
39.通过最小化ddml(discriminative deep metric learning,判别式深度度量学习)损失函数进行训练,ddml损失函数的表达式如公式(3):(3)其中,ti与tj为训练集中的文本对样本,d表示距离,在本技术实施例中采用欧式距离,[z]
+
=max(z,0)表示relu函数,τ为给定的超参数,为所述文本对的匹配度,表达式如公式(4):(4)一种可选的实施方式中,所述获取中文hpo叙词表与医学实体样本之前,还包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统;将多个中文医学词表与所述中文统一医学语言系统进行词条链接,得到中文统一医学叙词表;从所述中文统一医学叙词表中导出与预设条件相关的子集,得到中文hpo叙词表。
[0040]
具体的,统一医学语言系统(unified medical language system,umls),是一个巨型医学术语系统,涵盖了临床、基础、药学、生物学、医学管理等医学及与医学相关学科,收录了约200万个医学概念。umls已应用电子病历、卫生服务、公共卫生统计、生物医学文献分类以及临床基础和卫生服务研究等多个技术领域。
[0041]
在本技术实施例中,先利用多个翻译接口对umls进行中文翻译,得到中文统一医学语言系统,再借助umls中的概念编码(unique identifier for concept,cui)将多个中文医学词表与中文统一医学语言系统进行词条链接,生成具有“概念-术语”二级结构的中文统一医学叙词表。其中,多个中文医学词表包括:chpo(the chinese human phenotype ontology,中文人类表型本体)、中文icd-10(international classification of diseases-10,国际疾病分类第十次修订本)、中文snomed-ct(systematized nomenclature of medicine-clinical terms,医学系统化命名-临床术语)以及中文mesh(medical subject headings,医学主题词表)。
[0042]
在实际使用过程中,可以根据具体需求对中文统一医学叙词表进行提取,例如,在本技术实施例中需要hpo表型的链接,则导出与hpo表型相关的子集,得到中文hpo叙词表。请一并参阅表1,示出了本技术提供的中文hpo叙词表,其中,标准词来自chpo的人工翻译,同义词来自其他词表或翻译接口的机器翻译。
[0043]
表1
[0044]
可以理解的是,利用翻译接口在进行机器翻译时,可能存在一些错误,本技术实施例在进行中文翻译时,添加了一些过滤规则。因此,在一种可选的实施方式中,所述基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统,包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到每种翻译接口对应的翻译结果;基于预设过滤规则,对每种翻译接口对应的翻译结果进行过滤,得到所述中文统一医学语言系统,其中,所述预设过滤规则包括针对第一翻译接口保留预设标签类别的翻译结果,以及针对第二翻译接口和第三翻译接口保留相同的翻译结果。
[0045]
具体的,本技术实施例采用的翻译接口可以包括金山词霸、谷歌翻译及百度翻译。对于第一翻译接口,即金山词霸,只保留属于预设标签类别的翻译结果,示例性地,预设标签类别包括12种,“[医]”、“[化]”、“[植物]”、“[植]”、“[动物]”、“[动]”、“[鸟类]”、“[解剖]”、“[中医]”、“[昆]”、“[药]”、“[化学]”。对于第二翻译接口和第三翻译接口,即百度翻译和谷歌翻译,只有当二者的中文翻译的词语或描述相同时,才进行保留。
[0046]
通过过滤规则的设置,可以提高针对统一医学语言系统进行中文翻译时的准确
性。
[0047]
步骤140、将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,其中,所述初始预测结果包括多个疾病以及每个疾病的概率。
[0048]
具体的,本技术采用预测算法基于融合医学知识库对所述标准hpo表型集合进行预测,进而得到每种预测算法的初始预测结果。初始预测结果表示所述病人患有某种疾病及所述病人患有该疾病的概率,在本技术实施例中,概率是通过计算从所述病人的待分析病历文本中利用步骤120-130提取到的标准hpo表型集合,与融合医学知识库中的疾病的相似度得到的。
[0049]
需要说明的是,本技术实施例提供的初始预测结果包括多个疾病以及每个疾病的概率,应当被理解为一种中间结果,以辅助医生更好地进行疾病的诊断,最终的诊断结果仍然需要医生基于实际情况结合本技术实施例提供的初始预测结果进行综合判断。
[0050]
可以理解的是,可以对初始预测结果中的疾病按照概率的高低进行排序,以使用户(也即医生或病人)更清楚地了解初始预测结果。
[0051]
一种可选的实施方式中,所述融合医学知识库的构建方法包括:对预设文本进行表型抽取,构建所述预设文本中的疾病与表型的对应关系,得到第一医学知识库;构建所述第一医学知识库与第二医学知识库的第一疾病映射关系;基于所述第一疾病映射关系以及所述第二医学知识库与第三医学知识库的第二疾病映射关系,将相同的疾病以及对应的表型进行融合,得到融合医学知识库。
[0052]
预设文本可以根据实际需求设置,例如在本技术实施例中,是对罕见病进行预测,因此,预设文本为《罕见病诊疗指南》,该指南中的疾病来自《中国第一批罕见病目录释义》。可以基于前文构建的中文hpo叙词表以及后向匹配算法对预设文本进行表型抽取,为保证准确率,可以进行人工的检查与标注,计算机设备接收人工操作后对表型抽取得到的结果进行调整。最终,构建了包含144个疾病和3663条注释的ccrd(compendium of china’s first list of rare diseases,中国第一批罕见病目录释义)知识库,作为第一医学知识库,并构建了第一医学知识库与第二医学知识库的第一疾病映射关系。在本技术实施例中,第二医学知识库为orpanet知识库,第三医学知识库为omim(online mendelian inheritance in man,在线人类孟德尔遗传)知识库。
[0053]
基于第一疾病映射关系,以及第二医学知识库与第三医学知识库的第二疾病映射关系,将相同的疾病以及对应的表型进行融合,得到融合医学知识库。
[0054]
在合并表型注释的过程中,若表型的频率不同,则取多个频率的均值作为该表型的最终频率。对于没有映射关系的疾病编码,其表型注释不变。对于融合知识库的所有疾病,赋予了新的疾病编码(以“rd:”为前缀)。
[0055]
请一并参阅图3,图3示出了本技术实施例提供的融合医学知识库的融合过程示意图。在图3中以特发性肺纤维化(idiopathic pulmonary fibrosis, ipf)为例,展示了多个知识库的融合过程。
[0056]
从图3可以看出,本技术实施例提供的融合医学知识库的疾病覆盖范围更广,表型注释信息更加完整,质量较高。
[0057]
可以理解的是,预测算法可以根据实际需求设定,在本技术实施例中,预测算法包括:icto、ppc、cnb及mlp中的任意一种。下面分别针对每种预测算法的预测过程进行介绍。
[0058]
(1)icto一种可选的实施方式中,所述预测算法包括icto,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:根据第一预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第一预设公式包括:式中,q表示所述标准hpo表型集合,dk表示所述融合医学知识库中的疾病的表型集合,表示q与dk的单边匹配得分,表示dk与q的单边匹配得分,单边匹配得分的表达式为:式中,表示在fu(s2)的所有表型中,只有同在s1的表型参与计算,fu(s2)表示集合s2与集合s2中的每个表型的祖先集合的并集,ic表示表型t的信息内容值,ic的表达式为:式中,ti表示表型,n表示所述融合医学知识库中的疾病总数,nti表示被表型ti及所述表型ti的子孙节点注释的疾病数量;或,根据第二预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第二预设公式包括:式中,表示取在fu(dk)的所有表型中,同在q的表型,与在fu(q)的所有表型中,同在dk的表型的并集参与计算。
[0059]
具体的,为更好地理解本方案,先针对表型集合的相关概念做介绍,这部分内容在后文中通用,不再赘述。
[0060]
每个疾病和输入的病人的待分析病历文本都可以看做是hpo表型的集合。令表示第k个疾病的表型集合,表示病人的待分析病历文本的表型集合。由于hpo表型被组织为有向无环图,可以定义以下函数。令fa(t)表示表型t的祖先(ancestor)集合,f
pa
(t)表示表型t的父节点集合,f
ch
(t)表示表型t的子节点集合。对于某个表型集合,令fu(s)表示对集合s进行“向上推导(up-induce)”,即生成集合s与集合中的每个表型si的祖先集合的并集,表达式如公式(5):(5)fd(s)表示对集合s进行“向下删减(down-reduce)”,即只保留集合s中最“具体(细化)”的表型,而其他表型将被移除,其定义的表达式如公式(6):
(6)以图2为例,可以得到:icto(information content term overlap)是一个基于ic值与表型重合数量的方法,通过计算疾病表型集合dk与病人表型集合q的表型重合个数并以表型重要程度加权而得到。
[0061]
ic(information content)值,反映了一个表型的标识能力,即对疾病分类的重要程度,其表达式如公式(7):(7)其中ti表示表型,n表示某一知识库中的疾病总数(在本技术实施例中,为融合医学知识库),nti表示被表型ti及其子孙节点注释的疾病数量。具体而言,nti的表达式如公式(8):(8)其中1表示示性函数。
[0062]
一般而言,描述越泛化的节点(离根节点近),其信息量就越低;描述越具体的节点,其信息量就越高。根节点的信息量为0,因为根节点的表型在所有疾病中均有出现。
[0063]
对于icto,单边(one-sided)匹配得分的表达式如公式(9):(9)其中,表示在fu(s2)的所有表型中,只有同在s1的表型参与相似度计算。sim(q
→dk
)反映了在疾病dk的所有表型注释(直接或间接)中,有多少表型出现在病人中以及它们有多重要,病人的其他表型将被认为是噪声表型而被忽略。icto的“对称(symmetric)”相似度通过对单边匹配得分进行平均计算而得(简称为“icto(a)”),表达式如公式(10):(10)或通过合并单边匹配的表型计算而得(简称为“icto(u)”),表达式如公式(11):(11)本技术提供的icto算法的优势在于不考虑病人的噪声表型。噪声表型是指,该表型不在该疾病的表型注释中,也不是任一表型注释的祖先或子孙。病人的噪声表型对icto相似度的计算不会产生影响。出发点在于,由于基因表达的异质性,病人出现许多无关的噪声表型是正常的,真实病人常常伴有大量与所患罕见病无关的表型,病人与所患疾病的相
似度并不应该受病人带有的噪声表型多少的影响,因此icto方法在处理“噪声”现象上更为合理。
[0064]
(2)ppo一种可选的实施方式中,所述预测算法包括ppo,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:根据第三预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第三预设公式包括:式中,q表示所述标准hpo表型集合,ti表示q中的任意一个表型,dk表示所述融合医学知识库中的疾病的表型集合,的表达式为:式中,p
ik
表示表型注释数据直接提供的患有疾病dk的病人有表型ti的频率,p(ti)表示表型ti的背景概率,f
pp
表示表型概率传播函数,p(ti)的表达式为:式中,n表示所述融合医学知识库中的疾病总数,nti表示被表型ti及所述表型ti的子孙节点注释的疾病数量;f
pp
的表达式为f
max
、f
ind
、f
sum
中的任意一个:中的任意一个:中的任意一个:式中,c
ik
的表达式为f
ch
(ti)表示表型ti的子节点集合,fu(dk)表示集合dk与集合dk中的每个表型的祖先集合的并集。
[0065]
ppo(probability propagation in ontology)是一个基于表型概率的方法,与朴素贝叶斯(naive bayes,nb)分类器的条件独立性假设类似,ppo假设给定疾病k后表型的出现具有独立性,区别在于ppo的模型参数基于hpo的本体结构以及表型注释的频率给定。
[0066]
具体地,根据贝叶斯公式,病人q患有疾病dk的概率的表达式如公式(12):(12)其中,p(q1,...,qm|dk)可基于条件独立性假设进一步分解,表达式如公式(13):(13)疾病dk与任一表型ti,p(ti|dk)递归地定义为如公式(14):
(14)也即,如果表型ti属于疾病dk,那么,p(ti|dk)的取值为p
ik
;如果表型ti不属于疾病dk与疾病dk包括的每个表型的祖先集合的并集,那么,p(ti|dk)的取值为p(ti);其他情况下,p(ti|dk)的取值为f
pp
。
[0067]
公式(14)中,p
ik
表示表型注释数据直接提供的患有疾病dk的病人有表型ti的频率(若仅提供了表型的频率区间,则取频率区间的中值作为该表型的频率),对于没有提供频率信息的表型注释,其频率将设为默认频率dp(default probability)。
[0068]
p(ti)指表型ti的背景概率(background probability),由公式(7)定义。
[0069]
由于表型注释数据只提供了最“具体”表型的频率,对于这些表型注释的祖先节点,本技术实施例提出三种基于本体结构的表型概率传播函数f
pp
,表达式如公式(15)-(17):(15)(16)(17)其中,c
ik
表示表型ti的子节点集合与疾病dk的表型集合(直接或间接)的交集,表达式如公式(18):(18)在三种表型概率传播函数中,假设ti子表型的出现存在正相关性,表示子表型的出现彼此独立,假设子表型的出现存在负相关性。最后,假设疾病的概率p(dk)相同,则疾病dk与病人q的表型集合相似度可基于对数似然函数定义,表达式如公式(19):(19)(3)cnbcnb(complement naive bayes,补集朴素贝叶斯模型)是多项式朴素贝叶斯(multinomial naive bayes,mnb)模型的一个变种。
[0070]
令表示病人患有除了疾病k之外的其他疾病有表型ti的概率,其表达式如公式(20):(20)其中αj表示平滑项,,在本技术实施例中,αj均为相同值。
[0071]
令输入病人的表型集合为v,其对应的特征向量v=f
fv
(v),由贝叶斯公式,该病人不患有疾病k的概率的表达式如公式(21):(21)假设病人不患有某个疾病的先验概率彼此相等,则对数似然概率的表达式如公式(22):(22)最后,病人v与疾病k的匹配得分的表达式如公式(23):(23)(4)mlpmlp(multi perceptron,多层感知机),又叫前向人工神经网络(feedforward artificial neural network),通常包含一个输入层,多个隐藏层以及一个输出层。由于训练样本不足,使用过于复杂的模型反而会使得测试集上的预测准确性下降,因此本技术实施例采用的mlp模型仅包含一层隐藏层。
[0072]
给定输入向量xi,网络的输出向量,二者之间的关系的表达式如公式(24):(24)其中与为模型参数,表示sigmoid函数。模型通过最小化二元交叉熵损失函数进行训练,二元交叉熵损失函数的表达式如公式(25):(25)其中,表示标签对应的one-hot向量;为正则项。
[0073]
对于训练好的mlp模型,输入病人向量v,获取其输出向量p,则该病人与疾病k的匹配得分的表达式如公式(26):(26)本技术实施例中提供的文本分析方法,采用表型抽取模型得到待分析病例文本中的标准hpo表型集合,表型抽取精度高,为后续的预测提供了基础;基于多个医学知识库构建融合医学知识库,并且在此基础上,基于预测方法进行预测,进一步提升预测结果的准确性。
[0074]
请参阅图4,图4示出了本技术实施例提供的另一种文本分析方法的流程示意图。一种可选的实施方式中,所述方法还包括:步骤150、将多种预测算法的初始预测结果基于次序统计量进行融合,得到所述待
分析病历文本的预测结果。
[0075]
具体的,在本技术实施例中,多种预测算法包括前述icto、ppo、cnb和mlp。采用次序统计量对多种预测算法的初始预测结果进行融合,从而进一步地提高预测结果的准确性。需要说明的是,本技术实施例提供的预测结果同样包括多个疾病以及每个疾病的概率,并将疾病按照概率高低进行排序,与初始预测结果一样应当被理解为一种中间结果,以辅助医生更好地进行疾病的诊断。
[0076]
请一并参阅图5,图5示出了本技术实施例提供的另一种文本分析方法的步骤150的过程示意图。
[0077]
一种可选的实施方式中,步骤150包括:将每种预测算法的初始预测结果除以所述融合医学知识库中的疾病总数,利用n维次序统计量的联合累计分布计算z统计量,作为所述待分析病历文本的预测结果。
[0078]
首先将每种预测算法的初始预测结果除以所述融合医学知识库中的疾病总数,利用n维次序统计量的联合累计分布来计算z统计量,也即偶然获得的观察到的排序比的概率。
[0079]
z统计量的表达式如公式(27):(27)式中,ri为第i种方法的排序比,r0=0,n表示方法的总数。在本技术实施例中,方法也即预测算法。
[0080]
由于上述公式的高复杂性,本技术实施例提供一种更快的递归方法来计算上述积分,表达式如公式(28)-(29):(28)(29)式中,v0=0。
[0081]
从而对每种预测算法的初始预测结果进行了融合,使用z统计量进行重新排序,得到待分析病例文本的预测结果。
[0082]
可选的,本技术实施例还提供一种计算机设备,包括处理器和存储器,所述存储器上存储有程序或指令,该程序或指令被处理器执行时实现上述文本分析方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0083]
可选的,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述文本分析方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0084]
其中,所述处理器为上述实施例中所述的计算机设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0085]
本技术实施例提供的计算机设备和计算机可读存储介质能够实现方法实施例中的文本分析方法的各个过程,且能达到相同的技术效果,为避免重复,此处不再赘述。
[0086]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码
的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0087]
另外,在本技术各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0088]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0089]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
技术特征:
1.一种文本分析方法,其特征在于,包括:获取病人的待分析病历文本;将所述待分析病历文本输入至表型抽取模型的提取模块进行提取,得到所述待分析病历文本中的多个医学实体;将所述医学实体输入至所述表型抽取模型的表型链接模块,得到所述多个医学实体对应的标准hpo表型集合;将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,其中,所述初始预测结果包括多个疾病以及每个疾病的概率。2.根据权利要求1所述的文本分析方法,其特征在于,所述表型抽取模型的表型链接模块的训练方法包括:获取中文hpo叙词表与医学实体样本;构建第一训练集,其中,所述第一训练集包括由中文hpo叙词表中的一个hpo标准词和一个医学实体样本构成的文本对样本,以及所述文本对的匹配度;将所述第一训练集输入至第一预设模型,得到所述文本对样本对应的两个语义向量;根据所述两个语义向量的距离以及所述文本对的匹配度,以最小化预设损失函数为目标进行迭代训练,得到所述表型抽取模型的表型链接模块。3.根据权利要求2所述的文本分析方法,其特征在于,所述获取中文hpo叙词表与医学实体样本之前,还包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统;将多个中文医学词表与所述中文统一医学语言系统进行词条链接,得到中文统一医学叙词表;从所述中文统一医学叙词表中导出与hpo表型相关的子集,得到所述中文hpo叙词表。4.根据权利要求3所述的文本分析方法,其特征在于,所述基于多种翻译接口对统一医学语言系统进行中文翻译,得到中文统一医学语言系统,包括:基于多种翻译接口对统一医学语言系统进行中文翻译,得到每种翻译接口对应的翻译结果;基于预设过滤规则,对每种翻译接口对应的翻译结果进行过滤,得到所述中文统一医学语言系统,其中,所述预设过滤规则包括针对第一翻译接口保留预设标签类别的翻译结果,以及针对第二翻译接口和第三翻译接口保留相同的翻译结果。5.根据权利要求1所述的文本分析方法,其特征在于,所述融合医学知识库的构建方法包括:对预设文本进行表型抽取,构建所述预设文本中的疾病与表型的对应关系,得到第一医学知识库;构建所述第一医学知识库与第二医学知识库的第一疾病映射关系;基于所述第一疾病映射关系以及所述第二医学知识库与第三医学知识库的第二疾病映射关系,将相同的疾病以及对应的表型进行融合,得到融合医学知识库。6.根据权利要求1所述的文本分析方法,其特征在于,所述预测算法包括icto,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:
根据第一预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第一预设公式包括:式中,q表示所述标准hpo表型集合,d
k
表示所述融合医学知识库中的疾病的表型集合,表示q与d
k
的单边匹配得分,表示d
k
与q的单边匹配得分,单边匹配得分的表达式为:式中,表示在f
u
(s2)的所有表型中,只有同在s1的表型参与计算,f
u
(s2)表示集合s2与集合s2中的每个表型的祖先集合的并集,ic表示表型t的信息内容值,ic的表达式为:式中,t
i
表示表型,n表示所述融合医学知识库中的疾病总数,nt
i
表示被表型t
i
及所述表型t
i
的子孙节点注释的疾病数量;或,根据第二预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第二预设公式包括:式中,表示取在f
u
(d
k
)的所有表型中,同在q的表型,与在f
u
(q)的所有表型中,同在d
k
的表型的并集参与计算。7.根据权利要求1所述的文本分析方法,其特征在于,所述预测算法包括ppo,所述将所述标准hpo表型集合利用预测算法根据融合医学知识库进行预测,得到所述待分析病历文本的初始预测结果,包括:根据第三预设公式计算所述标准hpo表型集合与所述融合医学知识库中的疾病的表型集合的匹配程度,得到所述待分析病历文本的初始预测结果,其中,所述第三预设公式包括:式中,q表示所述标准hpo表型集合,t
i
表示q中的任意一个表型,d
k
表示所述融合医学知识库中的疾病的表型集合,的表达式为:式中,p
ik
表示表型注释数据直接提供的患有疾病d
k
的病人有表型t
i
的频率,p(t
i
)表示表型t
i
的背景概率,f
pp
表示表型概率传播函数,p(t
i
)的表达式为:式中,n表示所述融合医学知识库中的疾病总数,nt
i
表示
被表型t
i
及所述表型t
i
的子孙节点注释的疾病数量;f
pp
的表达式为f
max
、f
ind
、f
sum
中的任意一个:中的任意一个:中的任意一个:式中,c
ik
的表达式为f
ch
(t
i
)表示表型t
i
的子节点集合,f
u
(d
k
)表示集合d
k
与集合d
k
中的每个表型的祖先集合的并集。8.根据权利要求1所述的文本分析方法,其特征在于,所述预测算法包括补集朴素贝叶斯模型和多层感知机模型。9.根据权利要求1所述的文本分析方法,其特征在于,所述方法还包括:将多种所述预测算法的初始预测结果基于次序统计量进行融合,得到所述待分析病历文本的预测结果。10.根据权利要求9所述的文本分析方法,其特征在于,所述将多种所述预测算法的初始预测结果基于次序统计量进行融合,得到所述待分析病历文本的预测结果,包括:将每种预测算法的初始预测结果除以所述融合医学知识库中的疾病总数,利用n维次序统计量的联合累计分布计算z统计量,作为所述待分析病历文本的预测结果。11.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器上存储有程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-10中任一项所述的文本分析方法的步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如权利要求1-10中任一项所述的文本分析方法的步骤。
技术总结
本申请涉及自然语言处理技术领域,公开了一种文本分析方法、计算机设备及计算机可读存储介质。文本分析方法包括:获取病人的待分析病历文本;将待分析病历文本输入至表型抽取模型的提取模块进行提取,得到待分析病历文本中的多个医学实体;将医学实体输入至表型抽取模型的表型链接模块,得到多个医学实体对应的标准HPO表型集合;将标准HPO表型集合利用预测算法根据融合医学知识库进行预测,得到待分析病历文本的初始预测结果,其中,初始预测结果包括多个疾病以及每个疾病的概率。本申请的文本分析方法表型抽取精度高,预测结果的准确性高。高。高。
技术研发人员:张抒扬 陈挺 毛小豪 黄予 金晔 王伦 张舒媛
受保护的技术使用者:中国医学科学院北京协和医院
技术研发日:2023.07.10
技术公布日:2023/8/9
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
