一种基于知识图谱的中医处方推荐方法

未命名 09-07 阅读:89 评论:0


1.本发明涉及中医处方推荐领域,尤其涉及一种基于知识图谱的中医处方推荐方法。


背景技术:

2.中医是源自中国古代,历经数千年实践及总结归纳的医学理论体系,是中华民族的宝贵财富和智慧结晶。近年来,中国政府高度重视中医药事业的发展和传承,积极采取措施,推动中医药在国内外的传播和应用,进一步促进中医药传承与开放创新发展。中医作为一种独树一帜的医学体系,采用望、闻、问、切等多种方法来获取病症信息,进而实施辨证论治。在中医临床实践中,必须立足于科学的辩证基础,根据患者的个体特征,遵循药材搭配规律来选取适当的药方。中医药方所发挥的功效并非单一药物效果的简单叠加,而是通过药物的综合作用,达到调和人体阴阳平衡,从而使疾病痊愈。
3.然而,目前中医诊疗主证和兼证区分不开,处方无的放矢,药物配伍杂乱无章,中医经典著作和名方秘法尚未形成规范诊疗的知识模型,基层医生经验不足,受人为因素影响导致治法用药不够客观。当前,中医知识分布于众多古籍和文献中,松散且非结构化的特点使得中医知识的利用率不高。此外,中医注重整体论,需要综合考虑患者的身体、年龄、性别、病史等多方面因素,而非仅仅针对单一症状或疾病进行治疗,目前一些研究使用注意神经网络用于检测中药方剂中不同药物分组等,然而其在个性化方面考虑不足。同时由于草药具有一定的副作用,需通过药材配伍的“君臣佐使”组合来达到平衡药效和防止药物间相互抵消或产生副作用的目的,但目前一些研究如使用brnn等来学习草药表征,对药材配伍等处理效果不佳,这些问题限制中医的应用和发展。
4.而中医知识图谱的应用可以极大地提高中医知识的传播。通过中医知识图谱和人工智能算法的结合,可以重新梳理中医理论体系的复杂语义关系,找到其潜在的关联关系,从而使中医理论更加科学化和标准化。智能辅助诊疗系统可以利用中医知识图谱,对病历内容进行语义推理,为医生提供患者病情最相关的诊断证据和治疗方案,从而提高医生工作效率,减少误诊和漏诊的情况,为患者提供个性化的诊疗方案,提高患者的治疗质量。因此,中医辅助诊疗在中医诊疗现代化中扮演着关键角色,融合中医知识图谱信息,构建一种具备辨证论治内涵的智能中医辅助诊疗决策系统,为中医临床诊疗提供辅助决策支持,是促进中医诊疗智能化的发展的重点。
5.目前由于中医知识体系庞大、复杂,且分布在众多古籍和文献中,因此现有的中医处方推荐无法很好的处理松散、非结构化的知识,导致至中医知识的利用率不高;中医注重整体论,需要需要对患者的身体、年龄、性别、病史等多方面进行考虑,而非单纯地针对某一个症状或疾病进行治疗,但目前的中医处方推荐对患者个性化方面考虑不足;同时由于中药有一定的副作用,在遣药组方的过程中通过“君臣佐使”达到平衡药效和防止药物间相互抵消或产生副作用,然而目前的中医处方推荐对药材配伍的处理效果不好,存在诸多问题。


技术实现要素:

6.为解决现有的中医处方推荐知识利用率不高,对患者个性化方面考虑不足,对药材配伍处理效果不好的问题,本发明提供了一种基于知识图谱的中医处方推荐方法。
7.本发明为解决上述技术问题所采用的技术方案是:一种基于知识图谱的中医处方推荐方法,包括以下步骤:步骤一、收集中医数据并对数据进行预处理,去除重复数据、标准化实体名称;步骤二、对预处理后的中医数据进行命名实体识别和关系抽取,得到实体集合e和关系集合r,将实体集合e中的实体要素作为节点,将关系集合r中的关系要素作为节点之间的连线,构建中医知识图谱;步骤三、采用complex模型对中医知识图谱进行表示学习,在中医知识图谱中选出所有症状节点和所有中药节点,并选出与症状节点或中药节点存在关系连线的年龄信息节点、性别信息节点、效用信息节点、药性信息节点、证候信息节点和治法治则信息节点,将上述选出的节点分别表示为复数向量,然后分别计算融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h':;上式中,s为症状节点向量表示,h为中药节点向量表示,a为年龄向量表示,wa为年龄权重矩阵,g为性别向量表示,wg为性别权重矩阵,tr为治法治则向量表示,w
tr
为治法治则权重矩阵,ef为效用向量表示,w
ef
为效用权重矩阵,p为药性向量表示,w
pr
为药性权重矩阵,sy为证候向量表示,w
sy
为证候权重矩阵;然后通过complex模型的嵌入层对融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h'进行基于张量的知识图嵌入,将融合其它信息的症状节点向量表示s'映射到低维向量空间,得到使用图嵌入模型后的症状节点向量表示es',并将融合其它信息的中药节点向量表示h'映射到低维向量空间,得到使用图嵌入模型后的中药节点向量表示eh';然后通过complex模型的得分函数p(es',r,eh')对complex模型进行训练并生成推荐训练集;将使用图嵌入模型后的症状节点向量表示es'和使用图嵌入模型后的中药节点向量表示分别表示为: ;上式中,re(es')为es'的实部,re(eh')为eh'的实部,im(es')为es'的虚部,im(eh')为eh'的虚部;得分函数p(es',r,eh')的公式为:;
;上式中,r为es'和eh'之间的关系向量表示,σ为激活函数,re(r)为r的实部,im(r)为r的虚部;步骤四、根据推荐训练集中kg实体的覆盖率,对complex模型经过训练学习到的实体嵌入向量进行冻结或微调:;上式中,表示对实体嵌入向量进行冻结,表示对实体嵌入向量进行微调,threshold为实体覆盖率的判定阈值;步骤五、通过图卷积神经网络学习症状节点自身特征信息rs和中药节点自身特征信息rh,症状节点自身特征信息rs通过症状节点在图卷积神经网络中每一层的向量表示获得,中药节点自身特征信息rh通过中药节点在图卷积神经网络中每一层的向量表示获得;对于症状节点s,其一跳邻居草药节点集合为ns,第k层邻居节点的消息为: ;症状节点s在图卷积神经网络中第k层的向量表示为:;上式中,为症状节点的相邻节点数量,为症状节点在第k层的权重矩阵,为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层中药节点传递给症状节点的信息;对于草药节点h,其一跳邻居症状节点集合为nh,第k层邻居节点的消息为:;中药节点h在图卷积神经网络中第k层的向量表示为:;上式中,为中药节点的相邻节点数量,为中药节点在第k层的权重矩阵,
为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层症状节点传递给中药节点的信息;步骤六、采用注意力机制将图谱特征与推荐系统相结合,根据使用图嵌入模型后的症状节点向量表示es'和症状节点自身特征信息rs得到症状节点的query矩阵、key矩阵和 value 矩阵:;根据使用图嵌入模型后的中药节点向量表示eh'和中药节点自身特征信息rh得到中药节点的query矩阵、key矩阵和 value 矩阵:;分别为从多头注意力层中的三个线性变换层学到的参数矩阵;然后通过softmax函数计算症状节点的注意力矩阵as和中药节点的注意力矩阵ah:,式中dk为维度值;然后求得症状节点的融合表示向量e
s*
和中药节点的融合表示向量e
h*
:;步骤七、根据所需辨别的症状实体集合sc构建多热向量x
sc
:;根据症状节点的融合表示向量e
s*
得到总体症状矩阵e
s*
:;然后将多热向量x
sc
作为掩码,对总体症状矩阵e
s*
进行抽取,得到辨别证候矩阵m
sc
:,通过diag函数将多热向量x
sc
转换为一个对角矩阵,并使辨别证候矩阵m
sc
中的非
零行对应于症状实体集合sc中的症状节点的融合表示向量e
s*
;然后采用平均池化操作对辨别证候矩阵m
sc
进行单一归纳,得到单一表示向量e
sc
:;将单一表示向量e
sc
输入到多层感知机中,进行证候归纳,得到最终证候表示:多层感知机的表达式为:;上式中,w
l
为第l层的权重矩阵,b
l
为第l层的偏置项,relu为非线性激活函数;将多层感知机的输出作为最终证候表示向量ez,即ez=h
l
;步骤八、根据中药节点的融合表示向量e
h*
得到总体中药矩阵e
h*
:;然后根据最终辨别向量ez和总体中药矩阵e
h*
得到预测概率向量m(sc):,σ为激活函数;对于每个候选中药,计算其预测概率与真实标签之间的二元交叉熵损失,并对所有中药求和,假设有h个候选中药,对于症状实体集合sc,通过m(sc)得到一个h维的预测概率向量,记为,模型选择m(sc)中概率最高的前k个中药作为推荐给症状sc的中药处方。
8.优选的,步骤一中,同时收集结构化数据和非结构化数据,结构化数据包括中医字典、数据库和本体论,非结构化数据包括中医文献、临床记录和专家知识。
9.根据上述技术方案,本发明的有益效果是:本发明应用了知识图嵌入模型、多头注意力机制、图卷积等将图谱特征与推荐系统相结合,综合考虑患者情况,进行中医处方推荐。以中医医案描述文本为研究对象,融合中医知识图谱信息,吸取名老中医的临床对症下药经验,充分综合考虑药性、功效、病情和患者的体质等多个个性化因素,在于依据中医的整体论原则及辨证论治的思想,根据患者的不同症状和病情归纳证候选择不同的药材组合,提出融合知识图谱的中医处方推荐方法,考虑个人体征及症状和药物之间的复杂关系,结合每个处方具体分析局部规律,为医生和患者推荐更可靠的处方药材,为中医临床诊疗提供辅助决策支持。
具体实施方式
10.一种基于知识图谱的中医处方推荐方法,包括以下步骤:步骤一、收集中医数据并对数据进行预处理,去除重复数据、标准化实体名称。同时收集结构化数据和非结构化数据,结构化数据包括中医字典、数据库和本体论,非结构化数据包括中医文献、临床记录和专家知识。
11.步骤二、对预处理后的中医数据进行命名实体识别和关系抽取,得到实体集合e和关系集合r,将实体集合e中的实体要素作为节点,将关系集合r中的关系要素作为节点之间的连线,构建中医知识图谱。
12.步骤三、采用complex模型对中医知识图谱进行表示学习,在中医知识图谱中选出所有症状节点和所有中药节点,并选出与症状节点或中药节点存在关系连线的年龄信息节点、性别信息节点、效用信息节点、药性信息节点、证候信息节点和治法治则信息节点,将上述选出的节点分别表示为复数向量,然后分别计算融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h':;上式中,s为症状节点向量表示,h为中药节点向量表示,a为年龄向量表示,wa为年龄权重矩阵,g为性别向量表示,wg为性别权重矩阵,tr为治法治则向量表示,w
tr
为治法治则权重矩阵,ef为效用向量表示,w
ef
为效用权重矩阵,p为药性向量表示,w
pr
为药性权重矩阵,sy为证候向量表示,w
sy
为证候权重矩阵。
13.然后通过complex模型的嵌入层对融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h'进行基于张量的知识图嵌入,将融合其它信息的症状节点向量表示s'映射到低维向量空间,得到使用图嵌入模型后的症状节点向量表示es',并将融合其它信息的中药节点向量表示h'映射到低维向量空间,得到使用图嵌入模型后的中药节点向量表示eh'。
14.然后通过complex模型的得分函数p(es',r,eh')对complex模型进行训练并生成推荐训练集。
15.将使用图嵌入模型后的症状节点向量表示es'和使用图嵌入模型后的中药节点向量表示分别表示为: ;上式中,re(es')为es'的实部,re(eh')为eh'的实部,im(es')为es'的虚部,im(eh')为eh'的虚部。
16.得分函数p(es',r,eh')的公式为:;
;上式中,r为es'和eh'之间的关系向量表示,σ为激活函数,re(r)为r的实部,im(r)为r的虚部。
17.步骤四、根据推荐训练集中kg实体的覆盖率,对complex模型经过训练学习到的实体嵌入向量进行冻结或微调:;上式中,表示对实体嵌入向量进行冻结,表示对实体嵌入向量进行微调,threshold为实体覆盖率的判定阈值。
18.步骤五、通过图卷积神经网络学习症状节点自身特征信息和中药节点自身特征信息,症状节点自身特征信息通过症状节点在图卷积神经网络中每一层的向量表示获得,中药节点自身特征信息通过中药节点在图卷积神经网络中每一层的向量表示获得。
19.对于症状节点s,其一跳邻居草药节点集合为ns,第k层邻居节点的消息为: ;症状节点s在图卷积神经网络中第k层的向量表示为:;上式中,为症状节点的相邻节点数量,为症状节点在第k层的权重矩阵,为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层中药节点传递给症状节点的信息。
20.对于草药节点h,其一跳邻居症状节点集合为nh,第k层邻居节点的消息为:;中药节点h在图卷积神经网络中第k层的向量表示为:;上式中,为中药节点的相邻节点数量,为中药节点在第k层的权重矩阵,
为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层症状节点传递给中药节点的信息。
21.步骤六、采用注意力机制将图谱特征与推荐系统相结合,根据使用图嵌入模型后的症状节点向量表示和症状节点自身特征信息得到症状节点的query矩阵、key矩阵和 value 矩阵:;根据使用图嵌入模型后的中药节点向量表示eh'和中药节点自身特征信息rh得到中药节点的query矩阵、key矩阵和 value 矩阵:;分别为从多头注意力层中的三个线性变换层学到的参数矩阵。
22.然后通过softmax函数计算症状节点的注意力矩阵as和中药节点的注意力矩阵ah:,式中dk为维度值。
23.然后求得症状节点的融合表示向量e
s*
和中药节点的融合表示向量e
h*
:。
24.步骤七、根据所需辨别的症状实体集合sc构建多热向量x
sc
:;根据症状节点的融合表示向量e
s*
得到总体症状矩阵e
s*
:。
25.然后将多热向量x
sc
作为掩码,对总体症状矩阵e
s*
进行抽取,得到辨别证候矩阵m
sc
:,通过diag函数将多热向量x
sc
转换为一个对角矩阵,并使辨别证候矩阵m
sc
中的非
零行对应于症状实体集合sc中的症状节点的融合表示向量e
s*

26.然后采用平均池化操作对辨别证候矩阵m
sc
进行单一归纳,得到单一表示向量e
sc
:。
27.将单一表示向量e
sc
输入到多层感知机中,进行证候归纳,得到最终证候表示。
28.多层感知机的表达式为:;上式中,w
l
为第l层的权重矩阵,b
l
为第l层的偏置项,relu为非线性激活函数;将多层感知机的输出作为最终证候表示向量ez,即ez=h
l

29.步骤八、根据中药节点的融合表示向量e
h*
得到总体中药矩阵e
h*
:。
30.然后根据最终辨别向量ez和总体中药矩阵e
h*
得到预测概率向量m(sc):,σ为激活函数。
31.对于每个候选中药,计算其预测概率与真实标签之间的二元交叉熵损失,并对所有中药求和,假设有h个候选中药,对于症状实体集合sc,通过m(sc)得到一个h维的预测概率向量,记为,模型选择m(sc)中概率最高的前k个中药作为推荐给症状sc的中药处方。

技术特征:
1.一种基于知识图谱的中医处方推荐方法,其特征在于,包括以下步骤:步骤一、收集中医数据并对数据进行预处理,去除重复数据、标准化实体名称;步骤二、对预处理后的中医数据进行命名实体识别和关系抽取,得到实体集合e和关系集合r,将实体集合e中的实体要素作为节点,将关系集合r中的关系要素作为节点之间的连线,构建中医知识图谱;步骤三、采用complex模型对中医知识图谱进行表示学习,在中医知识图谱中选出所有症状节点和所有中药节点,并选出与症状节点或中药节点存在关系连线的年龄信息节点、性别信息节点、效用信息节点、药性信息节点、证候信息节点和治法治则信息节点,将上述选出的节点分别表示为复数向量,然后分别计算融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h':;上式中,s为症状节点向量表示,h为中药节点向量表示,a为年龄向量表示,w
a
为年龄权重矩阵,g为性别向量表示,w
g
为性别权重矩阵,tr为治法治则向量表示,w
tr
为治法治则权重矩阵,ef为效用向量表示,w
ef
为效用权重矩阵,p为药性向量表示,w
pr
为药性权重矩阵,sy为证候向量表示,w
sy
为证候权重矩阵;然后通过complex模型的嵌入层对融合其它信息的症状节点向量表示s'和融合其它信息的中药节点向量表示h'进行基于张量的知识图嵌入,将融合其它信息的症状节点向量表示s'映射到低维向量空间,得到使用图嵌入模型后的症状节点向量表示e
s
',并将融合其它信息的中药节点向量表示h'映射到低维向量空间,得到使用图嵌入模型后的中药节点向量表示e
h
';然后通过complex模型的得分函数p(e
s
',r,e
h
')对complex模型进行训练并生成推荐训练集;将使用图嵌入模型后的症状节点向量表示e
s
'和使用图嵌入模型后的中药节点向量表示分别表示为:;上式中,re(e
s
')为e
s
'的实部,re(e
h
')为e
h
'的实部,im(e
s
')为e
s
'的虚部,im(e
h
')为e
h
'的虚部;得分函数p(e
s
',r,e
h
')的公式为:;
;上式中,r为e
s
'和e
h
'之间的关系向量表示,σ为激活函数,re(r)为r的实部,im(r)为r的虚部;步骤四、根据推荐训练集中kg实体的覆盖率,对complex模型经过训练学习到的实体嵌入向量进行冻结或微调:;上式中,表示对实体嵌入向量进行冻结,表示对实体嵌入向量进行微调,threshold为实体覆盖率的判定阈值;步骤五、通过图卷积神经网络学习症状节点自身特征信息r
s
和中药节点自身特征信息r
h
,症状节点自身特征信息r
s
通过症状节点在图卷积神经网络中每一层的向量表示获得,中药节点自身特征信息r
h
通过中药节点在图卷积神经网络中每一层的向量表示获得;对于症状节点s,其一跳邻居草药节点集合为n
s
,第k层邻居节点的消息为: ;症状节点s在图卷积神经网络中第k层的向量表示为:;上式中,为症状节点的相邻节点数量,为症状节点在第k层的权重矩阵,为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层中药节点传递给症状节点的信息;对于草药节点h,其一跳邻居症状节点集合为n
h
,第k层邻居节点的消息为:;中药节点h在图卷积神经网络中第k层的向量表示为:;上式中,为中药节点的相邻节点数量,为中药节点在第k层的权重矩阵,
为偏置项,tanh为激活函数,concat为向量拼接操作,为第k-1层症状节点传递给中药节点的信息;步骤六、采用注意力机制将图谱特征与推荐系统相结合,根据使用图嵌入模型后的症状节点向量表示e
s
'和症状节点自身特征信息r
s
得到症状节点的query矩阵、key矩阵和 value 矩阵:;根据使用图嵌入模型后的中药节点向量表示e
h
'和中药节点自身特征信息r
h
得到中药节点的query矩阵、key矩阵和 value 矩阵:;分别为从多头注意力层中的三个线性变换层学到的参数矩阵;然后通过softmax函数计算症状节点的注意力矩阵a
s
和中药节点的注意力矩阵a
h
:,式中d
k
为维度值;然后求得症状节点的融合表示向量e
s*
和中药节点的融合表示向量e
h*
:;步骤七、根据所需辨别的症状实体集合sc构建多热向量x
sc
:;根据症状节点的融合表示向量e
s*
得到总体症状矩阵e
s*
:;然后将多热向量x
sc
作为掩码,对总体症状矩阵e
s*
进行抽取,得到辨别证候矩阵m
sc
:,通过diag函数将多热向量x
sc
转换为一个对角矩阵,并使辨别证候矩阵m
sc
中的非零行对应于症状实体集合sc中的症状节点的融合表示向量e
s*

然后采用平均池化操作对辨别证候矩阵m
sc
进行单一归纳,得到单一表示向量e
sc
:;将单一表示向量e
sc
输入到多层感知机中,进行证候归纳,得到最终证候表示:多层感知机的表达式为:;上式中,w
l
为第l层的权重矩阵,b
l
为第l层的偏置项,relu为非线性激活函数;将多层感知机的输出作为最终证候表示向量e
z
,即e
z
=h
l
;步骤八、根据中药节点的融合表示向量e
h*
得到总体中药矩阵e
h*
:;然后根据最终辨别向量e
z
和总体中药矩阵e
h*
得到预测概率向量m(sc):,σ为激活函数;对于每个候选中药,计算其预测概率与真实标签之间的二元交叉熵损失,并对所有中药求和,假设有h个候选中药,对于症状实体集合sc,通过m(sc)得到一个h维的预测概率向量,记为,模型选择m(sc)中概率最高的前k个中药作为推荐给症状sc的中药处方。2.根据权利要求1所述的一种基于知识图谱的中医处方推荐方法,其特征在于:步骤一中,同时收集结构化数据和非结构化数据,结构化数据包括中医字典、数据库和本体论,非结构化数据包括中医文献、临床记录和专家知识。

技术总结
一种基于知识图谱的中医处方推荐方法,应用了知识图嵌入模型、多头注意力机制、图卷积等将图谱特征与推荐系统相结合,综合考虑患者情况,进行中医处方推荐,以中医医案描述文本为研究对象,融合中医知识图谱信息,吸取名老中医的临床对症下药经验,充分综合考虑药性、功效、病情和患者的体质等多个个性化因素,在于依据中医的整体论原则及辨证论治的思想,根据患者的不同症状和病情归纳证候选择不同的药材组合,提出融合知识图谱的中医处方推荐方法,考虑个人体征及症状和药物之间的复杂关系,结合每个处方具体分析局部规律,为医生和患者推荐更可靠的处方药材,为中医临床诊疗提供辅助决策支持。供辅助决策支持。


技术研发人员:张明川 王琳 吴庆涛 徐文萱 朱军龙 赵旭辉 刘牧华 郑瑞娟 冀治航 张茉莉
受保护的技术使用者:河南科技大学
技术研发日:2023.06.12
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐