首页 / 专利库 / 企业组织 / 术语学家 / 一种基于中医临床知识图谱的机器人主动问诊方法

一种基于中医临床知识图谱的机器人主动问诊方法

阅读:269发布:2020-05-11

专利汇可以提供一种基于中医临床知识图谱的机器人主动问诊方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于中医临床知识图谱的 机器人 主动问诊方法,在问诊过程中,基于知识图谱主动权掌握在机器人的手中,通过多次问诊并收集病人的信息并作出诊断, 迭代 完成问诊任务,作最后的诊断,涉及知识图谱、知识表达学习、知识推理技术、证型诊断迭代模型。本发明可以解决 人工智能 中医问诊复杂性和困难大的问题。,下面是一种基于中医临床知识图谱的机器人主动问诊方法专利的具体信息内容。

1.一种基于中医临床知识图谱的机器人主动问诊方法,其特征在于,具体包括如下步骤:
第一步、获取病人的主诉内容、年龄、性别、舌像、脉像,同时还向病人索问病程,内容经过NLP处理,抽取相关的症状词条,形成病人症状集合S;
第二步、根据症状集合S进行证型诊断,得到证型分布Dtcm(syni);
第三步、判断证型分布中最大的概率分数是否大于设置的阈值,如果是跳转到第八步,否则,跳转到第四步;
第四步、根据中医临床知识图谱KGtcm与证型分布Dtcm(syni),利用症状选择策略流程,获取pstd(msx'j)、pstd(ksx'j)、 的症状分布,并对这些症状分布进行合并形成新的症状分布列表:
其中,[;]表示合并两症状分布; 表示根据当前R轮条件下选择症状分布;λ表示专家经验系数;
所述症状选择策略流程具体如下:
基于主症-关键症展开策略获得pstd(msx'j)、pstd(ksx'j):
4.1.1)从症状集合S中取出主症症状SRmsx与舌脉症状集合SRtpsx;
4.1.2)遍历SRmsx症状,从KGtcm中搜索满足主兼症关系rprimary的症状实体集合SR'msx;
4.1.3)基于预测推理MtransH模型,输入集合SRtpsx对集合SR'msx进行重排;症状评分为:
其中,fr(·)表于基于模型MtransH预测得到的评分,rspt表示症状与舌脉关系,tpsxi表示SRtpsx的第i个症状,msx′j表示SR'msx的第j个症状,len(·)获取集合的元素大小,c≠0为常数;
4.1.4)标准化p(msx'j)症状评分,标准化公式为:
4.1.5)从症状集合S中取出当前轮症状作为关键症状SRksx,将它替换4.1)中的SRmsx集合,重复步骤4.1.1)-4.1.4),得到症状分布pstd(ksx'j);
基于共现-鉴别性策略获得
4.2.1)对症状集合S诊断得到的输出证型分布Dtcm(syni)判断其有效性,即判断是否满足以下条件:
len(·)表示集合元素数,C表示预设的元素数量阈值,θ表示证型分布的最大值阈值;
初始化症状分布变量SRnxnx,如果证型分布Dtcm(syni)无效,跳转至步骤4.2.2),否则跳转到步骤4.2.3);
4.2.2)主症如果是病名,从KGtcm中搜索满足与病名相关的关系rsub的证型集合来填充SRnxnx,否则根据症状从KGtcm中搜索满足与症状名相关的关系rexpress的证型集合来填充SRnxnx;
4.2.3)对Dtcm(syni)作降序操作,取前M个证型作本轮有效证型诊断并标准化,记为:
4.2.4)初始化下一个询问问题列表,获取当前问诊的轮数Rcur并判断奇偶数,如果是奇数,跳转至步骤4.2.5),否则,跳转至步骤4.2.6);
4.2.5)执行共现性最大策略:
在问诊过程中,根据关联规则进行问诊,在 上定义关联规则:
其中,N表示自然数,sxi表示症状i;
假设关联事件为 共现支持度定义如下:
其中,num(all)表示诊断表的所有记录数,number(sxj)表示症状j在诊断 之上的证型个数;
共现性最大策略的具体过程为:
4.2.5.1)根据诊断模型 结果,获取证型列表listsndrm;
4.2.5.2)扫描listsndrm中的证型,对每个证型相关的症状j,计算 得到症状的共现支持度分布,标记化后记为
4.2.6)执行鉴别性策略:
证型i中症状sx的鉴别度定义为:
其中,ωm+ωsub=1,ωm表示主症权重,ωsub表示兼症权重,sym_num(·)表示证型包含典型症状数;
所述鉴别性策略的具体过程为:
4.2.6.1)根据计算每个证型中典型症状的鉴别度diffi,j;
4.2.6.2)根据诊断模型 输出的结果,获取证型列表listsndrm;
4.2.6.3)扫描listsndrm中的证型,对每个证型相关的症状sx,求和并作标准化形成症状分布:
第五步、对P(sx)的症状进行过滤、排序,生成新的侯选症状分布P(sx)';
第六步、从中P(sx)选择第一个症状主动问诊;
第七步、等待病人反馈回答,返回第二步;
第八步、验证证型分布并过滤不合适的证型;
第九步,反馈诊断报告;
第十步,根据诊断结果进行开方;
第十一步,结束。
2.根据权利要求1所述的方法,其特征在于,所述中医临床知识图谱的过程包括知识建模、设定知识来源、知识抽取和知识融合;
1.1、知识建模:病、病位、别称、证、症、治则、方剂、中药材为实体,各实体之间相互关联;每两个实体之间,通过线来相连构成为一个三元组,即<实体1,关系,实体2>;
1.2、设定知识来源;
1.3、知识抽取:知识抽取主要分结构化数据、非结构化数据、半结构化数据三种情况进行处理:
(1)对于结构化数据,关系数据的字段映到图关系上的节点,字段与字段关系映射为病、病位、别称、证、症、治则、方剂、中药材的相互关联关系;
(2)对于非结构化,基于NLP处理方法进行知识抽取;
1)对于实体的抽取的具体过程为:
1.1)判断文本数据的表述结构是否规范且固定,如果是,跳转至步骤1.2),否则,判断文本的句子特征是否明显;如果文本的句子特征明显,跳转至步骤1.3),否则,跳转至步骤
1.4);
1.2)基于规则正则表达模板进行实体抽取;
1.3)基于统计机器学习方法进行实体抽取:采用条件随机场CRF算法,本质上就是序列标注任务;在训练阶段,标注训练数据,然后设置特征模板,最后使用CRF++工具训练,生成CRF模型;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
1.4)基于深度机器学习方法进行实体抽取:采用BiLSTM+CRF,本质上也是序列标注任务;在训练阶段,清洗数扰,然后标注训练数,接着设计BiLSTM模型,所述BiLSTM模型包括输入层、嵌入层、BiLSTM编码层、CRF层、输出层,其中嵌入层由GloVe预训练初始化;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
2)对于关系的抽取的具体过程为:
2.1)判断是否已完成部分知识图谱,如果是,跳转至步骤2.4),否则,判断数据的数量是否大且特征显示;如果数据的数量大且特征显示,跳转至步骤2.3),否则,跳转至步骤
2.2);
2.2)在实体已识别的前提下,中医专业人员来标记实体之间的关系;
2.3)在实体已识别的前提下,根据设定的表达模板标记出实体之间的表达文本,并对表达文本作关系映射;
2.4)基于远程监督方法的实体关系抽取:
2.4.1)选择一个知识图谱半成品;
2.4.2)遍历所有语料,把句子进行自动标注,把一个关系打包成一个bag,标记为flag;
2.4.3)中医专业人员对标注的噪音数据作修正,例如自动标记内容或位置有误的情况,进行修正;
2.4.4)设置神经网络模型,依次为输入层、嵌入层、BiLSTM层、输出层;并利用2.4.3)修正之后的数据作模型训练;
2.4.5)采用2.4.4)得到的训练好模型作预测;
(3)对于半结构化数据:分析数据格式,把格式元标记数据抽取出来,数据满足(2)中规则固定的条件,采用正则表达式方法来提取标签,并把提取出来的标签赋予相关对应的数据含义,转化成结构化数,最后基于(1)的过程映射成图结构形式;
1.3、知识融合:
基于中医临床术语及中医词典中术语实体,根据实体中“别称”实现实体对齐;另外,通过中医专家来完成实体对称。
3.根据权利要求2所述的方法,其特征在于,所述知识来源包括中医临床术语系统、中医内科知识库、中医专家总结处理、互联网上在线的中医相关问答与问诊、互联网上的百科知识、古籍医案医书。
4.根据权利要求1或2所述的方法,其特征在于,第二步的具体过程为:
S2.1、从中医临床知识图谱KGtcm获取中医知识点,转换成<症状KRsx,证型KRs>的记录形式,记为KRssx;
S2.2、从KRssx抽出<主症状KRmsx,证型KRs>的记录,记为KRmssx;
S2.3、把KRsx、KRmsx两集合分别向量化:
S2.3.1、找出中医临床知识图谱KGtcm的症状集合Stcm,记症状总数为Lsx;
S2.3.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度;初始化零向量vi,1、vi,2,i表示第i个证型,长度为Lsx;
S2.3.3、遍历KRsx,取出第j个症状sxj,获取sxj的编码index(sxj),即寻找到了vi,1的对应位置,重新赋值vi,1[index(sxj)]=1,最后得到向量vi,1;
S2.3.4、遍历KRmsx,取出第j个主症状msxj,获取msxj的编码index(msxj),即寻找到了vi,2的对应位置,重新赋值vi,2[index(msxj)]=1,最后得到向量vi,2;
S2.4、从机器人问诊过程中获取到症状集合S;
S2.5、将S分为病人反馈的肯定回答集SRcsx与否定回答集SRnsx;
S2.6、对SRcsx、SRnsx进行词网扩展;词网扩展原则为基于KGtcm中构建的包括同义关系、反义词关系、上下位关系、整体部分关系在内的词关系;遍历肯定回答集SRcsx,获取每个症状的近义词和上位词,扩展形成症状集合SR′csx;同时,遍历否定回答集SRnsx,获取每个症状的近义词和上位词,扩散形成症状集合SR'nsx,然后操作获取SR'nsx中每个症状的反义词、近义词的反义词、反义词的下位词,加入到SR′csx集合中;
S2.7、对SR′csx、SR'nsx两个集合进行去重操作;
S2.8、把SR′csx、SR'nsx联合向量化:
S2.8.1、找出KGtcm的症状集合Stcm,记症状总数为Lsx;
S2.8.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度,形成初始化零向量v0,长度为Lsx;
S2.8.3、遍历SR′csx,取出第i个症状csxi,获取csxi在Stcm中的编号index(csxi),即寻找到了v0的对应位置,重新赋值v0[index(csxi)]=1;
S2.8.4、遍历SR'nsx,取出第i个症状nsxi,获取nsxi的编号index(nsxi),即寻找到了v0的对应位置,重新赋值v0[index(nsxi)]=-1;
遍历完成后,得到联合向量v0;
S2.9、分别计算诊断距离Dtcm1(syni)=dist(v0,vi,1),Dtcm2(syni)=dist(v0,vi,2),其中syni表示第i个证型,dist(·)定义为:
a表示向量,b表示向量,|·|表示向量的模操作;
S2.10、融合两个证型识别结果:
Dtcm(syni)=φDtcm1(syni)+(1-φ)Dtcm2(syni);
其中 表示为衡量主症诊断与普通症状诊断的参数;Dtcm(syni)即为最终输出的证型分布。
5.根据权利要求1或2所述的方法,其特征在于,所述预测推理模型MtransH通过如下过程获得:
从中医临床知识图谱KGtcm中输出三个文件,文件一为实体编码文件,表示对实体的数字编码;文件二为关系编码文件,表示对实体的数字编码;文件三为编码之后的知识三元组数据;
根据知识三元组数据,采用随机的策略生成负样本数据Δ',正样本数据表示为Δ;
引入TransH对中医临床知识图谱进行训练;假设一个事实(h,r,t),r表示关系向量,dr由r经过向量wr∈R投影得到,h、t表示实体向量,定义实体h与t存在r关系的分数为:
其中, 表示2-范式的平方,h⊥、t⊥分别定义为:
其中,wr∈R表示超平面的投影向量,其为学习参数;R表示实数集,T表于向量的转置;
定义模型训练用的损失函数为:
其中,[·]+=max(0,·),γ为分割正确与错误元组的边际参数,Δ为正样本数据,Δ'为负样本数据;
设置最大迭代次数为itmax,输入正样本数据和负样本数据的batch,分别计算对应的fr(h,t)与fr'(h',t'),最小化损失函数L,反向求导更新参数,获取下批数据进行训练,直到最大迭代次数itmax;
完成训练,保存预测推理模型MtransH,利用模型MtransH可以预测推理实体h与t存在r关系的分数fr(h,t)。
6.根据权利要求1所述的方法,其特征在于,第一步中,通过病人输入或通过传感器中的一种或多种方式获取病人的主诉内容、年龄、性别、舌像、脉像。

说明书全文

一种基于中医临床知识图谱的机器人主动问诊方法

技术领域

[0001] 本发明涉及人工智能技术领域,具体涉及一种基于中医临床知识图谱的机器人主动问诊方法。

背景技术

[0002] 中医药是中华民族文化的瑰宝,是我国各族人民在几千年的生产生活实践和与疾病做斗争的过程中逐步发展起来的医学科学。无论是在疾病的治疗还是在预防保健方面,都有显著的特色和优势,已经成为我国卫生事业的重要组成部分。中医药不断创新发展,理论体系日趋完善,技术方法更加丰富,形成了鲜明的特点。
[0003] “望闻问切”是中医的特色诊法,其中“问”是临床诊察疾病的重要一项,问诊是医生通过对病人或陪诊者进行有目的的询问,了解疾病的发生发展、诊治经过、现在症状及其他一切与疾病有关的情况,以诊察疾病的一种方法,在四诊中占有重要地位,被认为是“诊病之要领,临证之首务”。
[0004] 中医问诊理论起源于春秋以前,经过几千年的医学实践,逐渐发展为一整套成熟、规范化的体系。计算机人工智能技术的迅猛发展,现代科技与中医问诊的结合无疑是赋予了中医问诊体系新的内涵。不过,无论是医生还是机器人的问诊都应该"问所当问",问诊过程首先抓住患者的主要病痛,然后再围绕主要病痛进行有目的、有步骤的询问,既要突出重点,又要全面了解,最后精准捕获与收集病人的症状,进行症状-症候-疾病三个层次的鉴别诊断,最终作出准确的诊断。
[0005] 目前,大部分的中医机器人,对于四诊的“望、闻、切”均可通过现代仪器进行客观化采集,“望”通过摄像头传感器采集图像来完成,“闻”可以通过麦克传感器辨别声音,“切”通过切脉仪来完成脉象诊辨别,至于“问”,在中医计算机辅助系统中,由于问诊的复杂性,涉及到语音识别与生成,自然语言处理,逻辑推理,知识图谱的综合应用,一般的问诊流程是基于填写表格的方式来替代,属于静态问诊,效率和准确度都较低。

发明内容

[0006] 针对现有技术的不足,本发明旨在提供一种基于中医临床知识图谱的机器人主动问诊方法,解决人工智能中中医问诊复杂性和困难大的问题。
[0007] 为了实现上述目的,本发明采用如下技术方案:
[0008] 一种基于中医临床知识图谱的机器人主动问诊方法,具体包括如下步骤:
[0009] 第一步、获取病人的主诉内容、年龄、性别、舌像、脉像,同时还向病人索问病程,内容经过NLP处理,抽取相关的症状词条,形成病人症状集合S;
[0010] 第二步、根据症状集合S进行证型诊断,得到证型分布Dtcm(syni);
[0011] 第三步、判断证型分布中最大的概率分数是否大于设置的阈值,如果是跳转到第八步,否则,跳转到第四步;
[0012] 第四步、根据中医临床知识图谱KGtcm与证型分布Dtcm(syni),利用症状选择策略流程,获取pstd(msx'j)、pstd(ksx'j)、 的症状分布,并对这些症状分布进行合并形成新的症状分布列表:
[0013]
[0014] 其中,[;]表示合并两症状分布;[|]Rcur表示根据当前R轮条件下选择症状分布;λ表示专家经验系数;
[0015] 所述症状选择策略流程具体如下:
[0016] 基于主症-关键症展开策略获得pstd(msx'j)、pstd(ksx'j):
[0017] 4.1.1)从症状集合S中取出主症症状SRmsx与舌脉症状集合SRtpsx;
[0018] 4.1.2)遍历SRmsx症状,从KGtcm中搜索满足主兼症关系rprimary的症状实体集合SR'msx;
[0019] 4.1.3)基于预测推理MtransH模型,输入集合SRtpsx对集合SR'msx进行重排;症状评分为:
[0020]
[0021] 其中,fr(·)表于基于模型MtransH预测得到的评分,rspt表示症状与舌脉关系,tpsxi表示SRtpsx的第i个症状,msxj'表示SR'msx的第j个症状,len(·)获取集合的元素大小,c≠0为常数;
[0022] 4.1.4)标准化p(msx'j)症状评分,标准化公式为:
[0023]
[0024] 4.1.5)从症状集合S中取出当前轮症状作为关键症状SRksx,将它替换4.1)中的SRmsx集合,重复步骤4.1.1)-4.1.4),得到症状分布pstd(ksx'j);
[0025] 基于共现-鉴别性策略获得
[0026] 4.2.1)对症状集合S诊断得到的输出证型分布Dtcm(syni)判断其有效性,即判断是否满足以下条件:
[0027]
[0028] len(·)表示集合元素数,C表示预设的元素数量阈值,θ表示证型分布的最大值阈值;
[0029] 初始化症状分布变量SRnxnx,如果证型分布Dtcm(syni)无效,跳转至步骤4.2.2),否则跳转到步骤4.2.3);
[0030] 4.2.2)主症如果是病名,从KGtcm中搜索满足与病名相关的关系rsub的证型集合来填充SRnxnx,否则根据症状从KGtcm中搜索满足与症状名相关的关系rexpress的证型集合来填充SRnxnx;
[0031] 4.2.3)对Dtcm(syni)作降序操作,取前M个证型作本轮有效证型诊断并标准化,记为:
[0032]
[0033] 4.2.4)初始化下一个询问问题列表,获取当前问诊的轮数Rcur并判断奇偶数,如果是奇数,跳转至步骤4.2.5),否则,跳转至步骤4.2.6);
[0034] 4.2.5)执行共现性最大策略:
[0035] 在问诊过程中,根据关联规则进行问诊,在 上定义关联规则:
[0036]
[0037] 其中,N表示自然数,sxi表示症状i;
[0038] 假设关联事件为A={sxi|i∈N且 共现支持度定义如下:
[0039]
[0040] 其中,num(all)表示诊断表的所有记录数,number(sxj)表示症状j在诊断 之上的证型个数;
[0041] 共现性最大策略的具体过程为:
[0042] 4.2.5.1)根据诊断模型 结果,获取证型列表listsndrm;
[0043] 4.2.5.2)扫描listsndrm中的证型,对每个证型相关的症状j,计算 得到症状的共现支持度分布,标记化后记为
[0044] 4.2.6)执行鉴别性策略:
[0045] 证型i中症状sx的鉴别度定义为:
[0046]
[0047] 其中,ωm+ωsub=1,ωm表示主症权重,ωsub表示兼症权重,sym_num(·)表示证型包含典型症状数;
[0048] 所述鉴别性策略的具体过程为:
[0049] 4.2.6.1)根据计算每个证型中典型症状的鉴别度diffi,j;
[0050] 4.2.6.2)根据诊断模型 输出的结果,获取证型列表listsndrm;
[0051] 4.2.6.3)扫描listsndrm中的证型,对每个证型相关的症状sx,求和并作标准化形成症状分布:
[0052]
[0053] 第五步、对P(sx)的症状进行过滤、排序,生成新的侯选症状分布P(sx)';
[0054] 第六步、从中P(sx)选择第一个症状主动问诊;
[0055] 第七步、等待病人反馈回答,返回第二步;
[0056] 第八步、验证证型分布并过滤不合适的证型;
[0057] 第九步,反馈诊断报告;
[0058] 第十步,根据诊断结果进行开方;
[0059] 第十一步,结束。
[0060] 进一步地,所述中医临床知识图谱的过程包括知识建模、设定知识来源、知识抽取和知识融合;
[0061] 1.1、知识建模:病、病位、别称、证、症、治则、方剂、中药材为实体,各实体之间相互关联;每两个实体之间,通过线来相连构成为一个三元组,即<实体1,关系,实体2>;
[0062] 1.2、设定知识来源;
[0063] 1.3、知识抽取:知识抽取主要分结构化数据、非结构化数据、半结构化数据三种情况进行处理:
[0064] (1)对于结构化数据,关系数据的字段映到图关系上的节点,字段与字段关系映射为病、病位、别称、证、症、治则、方剂、中药材的相互关联关系;
[0065] (2)对于非结构化,基于NLP处理方法进行知识抽取;
[0066] 1)对于实体的抽取的具体过程为:
[0067] 1.1)判断文本数据的表述结构是否规范且固定,如果是,跳转至步骤1.2),否则,判断文本的句子特征是否明显;如果文本的句子特征明显,跳转至步骤1.3),否则,跳转至步骤1.4);
[0068] 1.2)基于规则正则表达模板进行实体抽取;
[0069] 1.3)基于统计机器学习方法进行实体抽取:采用条件随机场CRF算法,本质上就是序列标注任务;在训练阶段,标注训练数据,然后设置特征模板,最后使用CRF++工具训练,生成CRF模型;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
[0070] 1.4)基于深度机器学习方法进行实体抽取:采用BiLSTM+CRF,本质上也是序列标注任务;在训练阶段,清洗数扰,然后标注训练数,接着设计BiLSTM模型,所述BiLSTM模型包括输入层、嵌入层、BiLSTM编码层、CRF层、输出层,其中嵌入层由GloVe预训练初始化;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
[0071] 2)对于关系的抽取的具体过程为:
[0072] 2.1)判断是否已完成部分知识图谱,如果是,跳转至步骤2.4),否则,判断数据的数量是否大且特征显示;如果数据的数量大且特征显示,跳转至步骤2.3),否则,跳转至步骤2.2);
[0073] 2.2)在实体已识别的前提下,中医专业人员来标记实体之间的关系;
[0074] 2.3)在实体已识别的前提下,根据设定的表达模板标记出实体之间的表达文本,并对表达文本作关系映射;
[0075] 2.4)基于远程监督方法的实体关系抽取:
[0076] 2.4.1)选择一个知识图谱半成品;
[0077] 2.4.2)遍历所有语料,把句子进行自动标注,把一个关系打包成一个bag,标记为flag;
[0078] 2.4.3)中医专业人员对标注的噪音数据作修正,例如自动标记内容或位置有误的情况,进行修正;
[0079] 2.4.4)设置神经网络模型,依次为输入层、嵌入层、BiLSTM层、输出层;并利用2.4.3)修正之后的数据作模型训练;
[0080] 2.4.5)采用2.4.4)得到的训练好模型作预测;
[0081] (3)对于半结构化数据:分析数据格式,把格式元标记数据抽取出来,数据满足(2)中规则固定的条件,采用正则表达式方法来提取标签,并把提取出来的标签赋予相关对应的数据含义,转化成结构化数,最后基于(1)的过程映射成图结构形式;
[0082] 1.3、知识融合:
[0083] 基于中医临床术语及中医词典中术语实体,根据实体中“别称”实现实体对齐;另外,通过中医专家来完成实体对称。
[0084] 更进一步地,所述知识来源包括中医临床术语系统、中医内科知识库、中医专家总结处理、互联网上在线的中医相关问答与问诊、互联网上的百科知识、古籍医案医书。
[0085] 进一步地,第二步的具体过程为:
[0086] S2.1、从中医临床知识图谱KGtcm获取中医知识点,转换成<症状KRsx,证型KRs>的记录形式,记为KRssx;
[0087] S2.2、从KRssx抽出<主症状KRmsx,证型KRs>的记录,记为KRmssx;
[0088] S2.3、把KRsx、KRmsx两集合分别向量化:
[0089] S2.3.1、找出中医临床知识图谱KGtcm的症状集合Stcm,记症状总数为Lsx;
[0090] S2.3.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度;初始化零向量vi,1、vi,2,i表示第i个证型,长度为Lsx;
[0091] S2.3.3、遍历KRsx,取出第j个症状sxj,获取sxj的编码index(sxj),即寻找到了vi,1的对应位置,重新赋值vi,1[index(sxj)]=1,最后得到向量vi,1;
[0092] S2.3.4、遍历KRmsx,取出第j个主症状msxj,获取msxj的编码index(msxj),即寻找到了vi,2的对应位置,重新赋值vi,2[index(msxj)]=1,最后得到向量vi,2;
[0093] S2.4、从机器人问诊过程中获取到症状集合S;
[0094] S2.5、将S分为病人反馈的肯定回答集SRcsx与否定回答集SRnsx;
[0095] S2.6、对SRcsx、SRnsx进行词网扩展;词网扩展原则为基于KGtcm中构建的包括同义关系、反义词关系、上下位关系、整体部分关系在内的词关系;遍历肯定回答集SRcsx,获取每个症状的近义词和上位词,扩展形成症状集合SRc'sx;同时,遍历否定回答集SRnsx,获取每个症状的近义词和上位词,扩散形成症状集合SR'nsx,然后操作获取SR'nsx中每个症状的反义词、近义词的反义词、反义词的下位词,加入到SRc'sx集合中;
[0096] S2.7、对SRc'sx、SR'nsx两个集合进行去重操作;
[0097] S2.8、把SRc'sx、SR'nsx联合向量化:
[0098] S2.8.1、找出KGtcm的症状集合Stcm,记症状总数为Lsx;
[0099] S2.8.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度,形成初始化零向量v0,长度为Lsx;
[0100] S2.8.3、遍历SRc'sx,取出第i个症状csxi,获取csxi在Stcm中的编号index(csxi),即寻找到了v0的对应位置,重新赋值v0[index(csxi)]=1;
[0101] S2.8.4、遍历SR'nsx,取出第i个症状nsxi,获取nsxi的编号index(nsxi),即寻找到了v0的对应位置,重新赋值v0[index(nsxi)]=-1;
[0102] 遍历完成后,得到联合向量v0;
[0103] S2.9、分别计算诊断距离Dtcm1(syni)=dist(v0,vi,1),Dtcm2(syni)=dist(v0,vi,2),其中syni表示第i个证型,dist(·)定义为:
[0104]
[0105] a表示向量,b表示向量,|·|表示向量的模操作;
[0106] S2.10、融合两个证型识别结果:
[0107] Dtcm(syni)=φDtcm1(syni)+(1-φ)Dtcm2(syni);
[0108] 其中 表示为衡量主症诊断与普通症状诊断的参数;Dtcm(syni)即为最终输出的证型分布。
[0109] 进一步地,所述预测推理模型MtransH通过如下过程获得:
[0110] 从中医临床知识图谱KGtcm中输出三个文件,文件一为实体编码文件,表示对实体的数字编码;文件二为关系编码文件,表示对实体的数字编码;文件三为编码之后的知识三元组数据;
[0111] 根据知识三元组数据,采用随机的策略生成负样本数据Δ',正样本数据表示为Δ;
[0112] 引入TransH对中医临床知识图谱进行训练;假设一个事实(h,r,t),r表示关系向量,dr由r经过向量wr∈R投影得到,h、t表示实体向量,定义实体h与t存在r关系的分数为:
[0113]
[0114] 其中, 表示2-范式的平方,h⊥、t⊥分别定义为:
[0115]
[0116]
[0117] 其中,wr∈R表示超平面的投影向量,其为学习参数;R表示实数集,T表于向量的转置;
[0118] 定义模型训练用的损失函数为:
[0119]
[0120] 其中,[·]+=max(0,·),γ为分割正确与错误元组的边际参数,Δ为正样本数据,Δ'为负样本数据;
[0121] 设置最大迭代次数为itmax,输入正样本数据和负样本数据的batch,分别计算对应的fr(h,t)与fr'(h',t'),最小化损失函数L,反向求导更新参数,获取下批数据进行训练,直到最大迭代次数itmax;
[0122] 完成训练,保存预测推理模型MtransH,利用模型MtransH可以预测推理实体h与t存在r关系的分数fr(h,t)。
[0123] 进一步地,第一步中,通过病人输入或通过传感器中的一种或多种方式获取病人的主诉内容、年龄、性别、舌像、脉像。
[0124] 本发明的有益效果在于:
[0125] 1.基于知识图谱的问诊思想:传统的问诊思想是基于专家预先设置的流程,或者直接就是总结出来的“十问歌”,向用户交互多采用了填表格的形式;本专利在问诊过程中,基于尔可夫性假设,对问题逻辑根据当前回答的症状集与知识图谱来诊断病与证型概率,依一定的选择策略动态选择下一个需要问诊的合适问诊的问题,问诊中问题选择是动态反馈产生,诊断与鉴别诊断相结合,不是专家静态设定,是依一定的原则与模型来实时推断的结果,从而使问诊流程更加灵活;
[0126] 2.基于知识图谱的知识挖掘:依靠中医临床知识图谱和图谱学习表示,找出内在信息关系,挖掘图谱知识,发现症状之间的关系,在问诊过程中推断问题候选,例如某种舌脉指示着某些症状的出现的大概率性,再基于TransH模型对病人可能出现的症状进行预测,更能体现中医“因人制宜”的个性化;
[0127] 3.基于知识图谱的诊断模型:根据中医理论与专家临床知识总结的证型实体与症状实体关系,建立最近邻模型,症状向量化,对于病人的症状描述,综合计算病人的病与证型的相关关系,输出病人所属于某证型概率分布,达到高效准备快速诊断的目的;
[0128] 4.专家与机器推理的迭代问诊流程框架:机器人的问诊过程中,通过综合专家规则与机器推理两者的分布来选择问题问诊,机器人自适应并均衡专家原则和知识推理模型,得出更准确高效且更符合中医问诊流程的结果。附图说明
[0129] 图1为本发明的实施例6的总体流程示意图;
[0130] 图2为本发明的实施例3的总体流程示意图;
[0131] 图3为本发明方法第四步的总体流程示意图。

具体实施方式

[0132] 以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
[0133] 实施例1
[0134] 本实施例提供中医临床知识图谱的建立过程。
[0135] 建立中医临床知识图谱主要包括知识建模、设定知识来源、知识抽取、知识融合等步骤;
[0136] 1.1、知识建模:病、病位、别称、证、症、治则、方剂、中药材为实体,各实体之间相互关联;每两个实体之间,通过线来相连构成为一个三元组,即<实体1,关系,实体2>;例如<风湿头痛,rreprese,首如裹>;
[0137] 1.2、设定知识来源;在本实施例中,所述知识来源包括中医临床术语系统、中医内科知识库、中医专家总结处理、互联网上在线的中医相关问答与问诊、互联网上的百科知识、古籍医案医书等;
[0138] 1.3、知识抽取:知识抽取主要分结构化数据、非结构化数据、半结构化数据三种情况进行处理;
[0139] (1)对于结构化数据,关系数据的字段映到图关系上的节点,字段与字段关系映射为病、病位、别称、证、症、治则、方剂、中药材的相互关联关系;
[0140] (2)对于非结构化,基于NLP处理方法进行知识抽取;
[0141] 1)对于实体的抽取的具体过程为:
[0142] 1.1)判断文本数据的表述结构是否规范且固定,如果是,跳转至步骤1.2),否则,判断文本的句子特征是否明显;如果文本的句子特征明显,跳转至步骤1.3),否则,跳转至步骤1.4);
[0143] 1.2)基于规则正则表达模板进行实体抽取;例如中药材实体提取模型“^[指]?以(.*?)[等]?为主组方.*”;
[0144] 1.3)基于统计机器学习方法进行实体抽取:采用条件随机场(CRF)算法,本质上就是序列标注任务;在训练阶段,标注训练数据(如采用BMEWO标注集),然后设置特征模板,最后使用CRF++工具训练,生成CRF模型;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
[0145] 1.4)基于深度机器学习方法进行实体抽取:采用BiLSTM+CRF,本质上也是序列标注任务;在训练阶段,清洗数扰,然后标注训练数(如采用BIO标注集),接着设计BiLSTM模型,所述BiLSTM模型包括输入层、嵌入层、BiLSTM编码层、CRF层、输出层,其中嵌入层由GloVe预训练初始化;在预测阶段,采用训练好的模型输入要预处理的测试文本,获取最后提取得到的实体;
[0146] 2)对于关系的抽取的具体过程为:
[0147] 2.1)判断是否已完成部分知识图谱,如果是,跳转至步骤2.4),否则,判断数据的数量是否大且特征显示;如果数据的数量大且特征显示,跳转至步骤2.3),否则,跳转至步骤2.2);
[0148] 2.2)在实体已识别的前提下,中医专业人员来标记实体之间的关系;
[0149] 2.3)在实体已识别的前提下,根据设定的表达模板标记出实体之间的表达文本,并对表达文本作关系映射;例如“五味消毒饮具有清热解毒、消散疔疮功效”,模板表达为“xxx具有xxx功效”,该模板映射到关系rfunction;
[0150] 2.4)基于远程监督方法的实体关系抽取:
[0151] 2.4.1)选择一个知识图谱半成品;
[0152] 2.4.2)遍历所有语料,把句子进行自动标注,把一个关系打包成一个bag,标记为flag;
[0153] 2.4.3)中医专业人员对标注的噪音数据作修正,例如自动标记内容或位置有误的情况,进行修正;
[0154] 2.4.4)设置神经网络模型,依次为输入层、嵌入层、BiLSTM层、输出层;并利用2.4.3)修正之后的数据作模型训练;
[0155] 2.4.5)采用2.4.4)得到的训练好模型作预测;
[0156] (3)对于半结构化数据:分析数据格式,把格式元标记数据抽取出来,例如XML格式数据的标签,数据满足(2)中规则固定的条件,采用正则表达式方法来提取标签,并把提取出来的标签赋予相关对应的数据含义,转化成结构化数,最后基于(1)的过程映射成图结构形式;
[0157] 1.3、知识融合:
[0158] 基于中医临床术语及中医词典中术语实体,根据实体中“别称”实现实体对齐;另外,通过中医专家来完成实体对称。例如症状“便秘”的别称“便结,便难,大便干结,大便坚,大便秘,大便秘结,大便难,大便难下,大便硬,大便硬结,排便不畅,排便困难”。
[0159] 实施例2
[0160] 本实施例提供一种基于利用实施例1所述方法得到的中医临床知识图谱生成预测推理模型MtransH的过程,具体步骤为:
[0161] 2.1、从实施例1方法得到的中医临床知识图谱KGtcm中输出三个文件,文件一为实体编码文件,表示对实体的数字编码;文件二为关系编码文件,表示对实体的数字编码;文件三为编码之后的知识三元组数据;
[0162] 2.2、根据知识三元组数据,采用随机的策略生成负样本数据Δ',正样本数据表示为Δ;
[0163] 2.3、引入TransH对中医临床知识图谱进行训练;假设一个事实(h,r,t),r表示关系向量,dr由r经过向量wr∈R投影得到,h、t表示实体向量,定义实体h与t存在r关系的分数为:
[0164]
[0165] 其中, 表示2-范式的平方,h⊥、t⊥分别定义为:
[0166]
[0167]
[0168] 其中,wr∈R表示超平面的投影向量,其为学习参数;R表示实数集,T表于向量的转置;
[0169] 2.4、定义模型训练用的损失函数为:
[0170]
[0171] 其中,[·]+=max(0,·),γ为分割正确与错误元组的边际参数,Δ为正样本数据,Δ'为负样本数据;
[0172] 2.5、设置最大迭代次数为itmax,输入正样本数据和负样本数据的batch,分别计算对应的fr(h,t)与fr'(h',t'),最小化损失函数L,反向求导更新参数,获取下批数据进行训练,直到最大迭代次数itmax;
[0173] 2.6、完成训练,保存预测推理模型MtransH,利用模型MtransH可以预测推理实体h与t存在r关系的分数fr(h,t)。
[0174] 实施例3
[0175] 本实施例提供一种基于中医临床知识图谱的中医证型识别过程。机器人的问诊过程,本质上是在收集病人的症状信息。设当前机器人收集病人的症状信息集合S,机器人根据集合S与中医临床知识图谱的知识进行比较,诊断出病的证型与疾病,期望得到的诊断结果为证型分布,如图2所示,具体步骤为:
[0176] 3.1、从中医临床知识图谱KGtcm获取中医知识点,转换成<症状KRsx,证型KRs>的记录形式,记为KRssx;
[0177] 3.2、从KRssx抽出<主症状KRmsx,证型KRs>的记录,记为KRmssx;
[0178] 3.3、把KRsx、KRmsx两集合分别向量化:
[0179] 3.3.1、找出中医临床知识图谱KGtcm的症状集合Stcm,记症状总数为Lsx;
[0180] 3.3.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度;初始化零向量vi,1、vi,2,i表示第i个证型,长度为Lsx;
[0181] 3.3.3、遍历KRsx,取出第j个症状sxj,获取sxj的编码index(sxj),即寻找到了vi,1的对应位置,重新赋值vi,1[index(sxj)]=1,最后得到向量vi,1;
[0182] 3.3.4、遍历KRmsx,取出第j个主症状msxj,获取msxj的编码index(msxj),即寻找到了vi,2的对应位置,重新赋值vi,2[index(msxj)]=1,最后得到向量vi,2;
[0183] 3.4、从机器人问诊过程中获取到症状集合S;
[0184] 3.5、将S分为病人反馈的肯定回答集SRcsx与否定回答集SRnsx;
[0185] 3.6、对SRcsx、SRnsx进行词网扩展;词网扩展原则为基于KGtcm中构建的包括同义关系、反义词关系、上下位关系、整体部分关系在内的词关系;遍历肯定回答集SRcsx,获取每个症状的近义词和上位词(例如“头刺痛”扩展的一个上位症状为“头痛”),扩展形成症状集合SRc'sx;同时,遍历否定回答集SRnsx,获取每个症状的近义词和上位词,扩散形成症状集合SR'nsx,然后操作获取SR'nsx中每个症状的反义词、近义词的反义词、反义词的下位词等(例如症状“汗出”扩展的一个相反症状为“无汗”),加入到SRc'sx集合中;
[0186] 3.7、对SRc'sx、SR'nsx两个集合进行去重操作;
[0187] 3.8、把SRc'sx、SR'nsx联合向量化:
[0188] 3.8.1、找出KGtcm的症状集合Stcm,记症状总数为Lsx;
[0189] 3.8.2、对Stcm按拼音升序来排序并编号,起始值设置为0,终止值为Lsx-1,编号作为向量的维度,形成初始化零向量v0,长度为Lsx;
[0190] 3.8.3、遍历SRc'sx,取出第i个症状csxi,获取csxi在Stcm中的编号index(csxi),即寻找到了v0的对应位置,重新赋值v0[index(csxi)]=1;
[0191] 3.8.4、遍历SR'nsx,取出第i个症状nsxi,获取nsxi的编号index(nsxi),即寻找到了v0的对应位置,重新赋值v0[index(nsxi)]=-1;
[0192] 遍历完成后,得到联合向量v0;
[0193] 3.9、分别计算诊断距离Dtcm1(syni)=dist(v0,vi,1),Dtcm2(syni)=dist(v0,vi,2),其中syni表示第i个证型,dist(·)定义为:
[0194]
[0195] a表示向量,b表示向量,|·|表示向量的模操作;
[0196] 3.10、融合两个证型识别结果:
[0197] Dtcm(syni)=φDtcm1(syni)+(1-φ)Dtcm2(syni)   (6);
[0198] 其中 表示为衡量主症诊断与普通症状诊断的参数;Dtcm(syni)即为最终输出的证型分布。
[0199] 实施例4
[0200] 本实施例提供基于知识图谱的主症-关键症展开策略的过程于问诊过程,不仅是获取症状过程,还要是抓住主症的过程,抓住主要矛盾的主要方面来问诊。故本实施例在中医临床知识图谱的基础上加入主症模。中医临床知识图谱上表现出来是<症状1,rprimary,症状2>的关系。输出主症展开症状分数分布pstd(msx),另外,输出关键症展开模型pstd(ksx'j)。如图3所示,具体过程为:
[0201] 4.1、从症状集合S中取出主症症状SRmsx与舌脉症状集合SRtpsx;主症的获取原则为,在问诊开始时,机器人问病人“请问您最不舒服的症状?”,由病人主诉,经自然语言处理后获取最多三个症状作为主症;
[0202] 4.2、遍历SRmsx症状,从KGtcm中搜索满足主兼症关系rprimary的症状实体集合SR'msx;例如“头痛”∈SRmsx,搜索出来的围绕“头痛”主症的相关症为“头刺痛”,“头胀痛”,“头痛爆裂”,“头隐痛”,“首如裹”,“头脑空痛”等;
[0203] 4.3、基于实施例2得到的MtransH模型,输入集合SRtpsx对集合SR'msx进行重排;症状评分为:
[0204]
[0205] 其中,fr(·)表于基于模型MtransH预测得到的评分,rspt表示症状与舌脉关系,tpsxi表示SRtpsx的第i个症状,msxj'表示SR'msx的第j个症状,len(·)获取集合的元素大小,c≠0为常数;
[0206] 4.4、标准化p(msx'j)症状评分,标准化公式为:
[0207]
[0208] 4.5、从症状集合S中取出当前轮症状作为关键症状SRksx,将它替换4.1中的SRmsx集合,重复步骤4.1-4.4,得到症状分布pstd(ksx'j)。
[0209] 实施例5
[0210] 本实施例提供基于诊断模型的共现-鉴别性策略的过程。所述共现与鉴别性策略是基于实施例3的证型识别过程进行的,为了解决策略强壮性、鲁棒性,加入诊断有效性判断,如图3所示,具体流程:
[0211] 5.1、对实施例3中根据机器人收集的病人的症状集合S诊断得到的输出证型分布Dtcm(syni)判断其有效性,即判断是否满足以下条件:
[0212]
[0213] len(·)表示集合元素数,C表示预设的元素数量阈值,θ表示证型分布的最大值阈值;
[0214] 初始化症状分布变量SRnxnx,如果证型分布Dtcm(syni)无效,跳转至步骤5.2,否则跳转到步骤5.3;
[0215] 5.2、主症如果是病名,从KGtcm中搜索满足与病名相关的关系rsub的证型集合来填充SRnxnx,否则根据症状从KGtcm中搜索满足与症状名相关的关系rexpress的证型集合来填充SRnxnx;
[0216] 5.3、对Dtcm(syni)作降序操作,取前M个证型作本轮有效证型诊断并标准化,记为:
[0217]
[0218] 5.4、初始化下一个询问问题列表,获取当前问诊的轮数Rcur并判断奇偶数,如果是奇数,跳转至步骤5.5,否则,跳转至步骤5.6;
[0219] 5.5、执行共现性最大策略:
[0220] 共现策略的思想是,在诊断病人的病症时,常常会看到某些症状是同时出现的,例如患有“头痛”的病人在一定的概率下也含有“头晕”,故在问诊过程中,则可以根据关联规则进行问诊,在 上定义关联规则:
[0221] {sxi|i∈N且
[0222] 其中,N表示自然数,sxi表示症状i;
[0223] 假设关联事件为A={sxi|i∈N且 共现支持度定义如下:
[0224]
[0225] 其中,num(all)表示诊断表的所有记录数,number(sxj)表示症状j在诊断 之上的证型个数;
[0226] 具体过程为:
[0227] 5.5.1、根据诊断模型 结果,获取证型列表listsndrm;
[0228] 5.5.2、扫描listsndrm中的证型,对每个证型相关的症状j,根据式(12)计算得到症状的共现支持度分布,标记化后记为
[0229] 5.6、执行鉴别性策略:
[0230] 鉴别策略的思想是,在中医诊断过程中,根据症状集可以得到一组相似的病或证型诊断,寻找鉴别度最高症状来询问,证型i中症状sx的鉴别度定义为:
[0231]
[0232] 其中,ωm+ωsub=1,ωm表示主症权重,ωsub表示兼症权重,sym_num(·)表示证型包含典型症状数。
[0233] 具体过程为:
[0234] S5.6.1、根据计算每个证型中典型症状的鉴别度diffi,j;
[0235] S5.6.2、根据诊断模型 输出的结果,获取证型列表listsndrm;
[0236] S5.6.3、扫描listsndrm中的证型,对每个证型相关的症状sx,求和并作标准化形成症状分布:
[0237]
[0238] 实施例6
[0239] 本实施例提供一种基于前述实施例1-5的问诊综合流程,如图1所示,具体如下:
[0240] 第一步、询问病人输入或仪器主诉内容、年龄、性别、舌像、脉像,同时也向病人索问病程,内容经过NLP处理,抽取相关的症状词条,形成病人症状集合S;
[0241] 第二步、根据症状集合S进行证型诊断,得到证型分布Dtcm(syni);
[0242] 第三步、判断证型分布中最大的概率分数是否大于设置的阈值,如果是跳转到第八步,否则,跳转到第四步;
[0243] 第四步、根据KGtcm与Dtcm(syni),利用症状选择策略流程中,获取pstd(msx'j)、pstd(ksx'j)、 或 的症状分布,并对这些症状分布进行合并形成新的症状分布列表:
[0244]
[0245] 其中,[;]表示合并两症状分布; 表示根据当前R轮条件下选择症状分布;λ表示专家经验系数;
[0246] 第五步、对P(sx)的症状进行过滤、排序,生成新的侯选症状分布P(sx)';
[0247] 第六步、从中P(sx)'选择第一个症状主动问诊;
[0248] 第七步、等待病人反馈回答,返回第二步;
[0249] 第八步、验证证型分布并过滤不合适的证型;
[0250] 第九步,反馈诊断报告;
[0251] 第十步,根据诊断结果进行开方;
[0252] 第十一步,结束。
[0253] 对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈