当前位置: 首页 > 专利查询>四川大学专利>正文

一种基于BERT和融入功效信息的中药处方生成方法技术

技术编号:24583132 阅读:62 留言:0更新日期:2020-06-21 01:24
本发明专利技术提供了一种基于BERT和融入功效信息的中药处方生成方法,获取症状描述和处方数据对,以及中药功效信息集;并通过预训练好的BERT模型得到固定长度的每个中药的功效信息编码;构建基于BERT‑GRU的中药处方生成模型,并利用所述训练集微调所述中药处方生成模型;利用中药处方生成模型生成处方。本发明专利技术通过深度学习的方法,利用预训练的BERT强大的语言表征能力来提升句子表达能力,从中医古籍经典方剂数据中挖掘规律,并融入中药功效信息,通过训练编码器和解码器两个网络,来最大化中药处方序列的条件概率,实现根据症状文本描述开具辅助的中医处方。

A method of TCM prescription generation based on Bert and efficacy information

【技术实现步骤摘要】
一种基于BERT和融入功效信息的中药处方生成方法
本专利技术属于医药
,尤其涉及一种基于BERT和融入功效信息的中药处方生成方法。
技术介绍
我国在中医药学方面的研究具有悠久历史和深厚底蕴,至今已有数千年的历史。中医药结合东方传统哲学和古代科技文化的精髓,在诊断、治疗、预防、保健等方面积累、总结、传承了大量经验,形成了自上而下的一套完整的理论诊治体系。现在的许多中医经常在治疗患者时以过去传承下来的经典处方和治疗记录作为参考。当前,计算机技术日益成熟,渗透到了各个行业。随着人工智能与大数据技术的进一步发展,互联网技术可以为我国中医行业注入新的活力,提高其效率。方剂学在中医药研究中一直是研究的热门方向,处方是中医诊治中非常重要的一环,完整的处方包括草药成分、比例、制备方法和汤剂剂量,而草药组成是最重要的部分。由于中医处方的组成成分、作用机制非常复杂,同时本身理论存在模糊的地方,“方-症-药”关系规整化具有较大的难度,这激励我们设计一种能够通过学习过去中医药几千年来积累、总结下来的经典方剂来根据症状生成处方的模型,从中医经典方剂中挖掘出暗藏的、潜在的“方-药-症”规律,根据症状智能地生成处方,促进中医更好的治疗患者。大量古籍资料中含有的诊治方法和处方等文本数据,通过自然语言处理能够帮助我们将隐藏在文字中的规律挖掘出来,而深度学习是自然语言处理的强大工具。如图1所示,现有的处方生成方法主要由深度学习中的seq2seq网络结构组成,seq2seq模型包括编码器和解码器,编码器对症状句子进行编码,解码器对其进行解码生成处方。编码器和解码器模型一般采用RNN或其变体GRU等,层数较浅,较为简单,存在很大的不足,不能很好的对症状数据进行编码;且单纯研究症状与处方之间的对应关系,没有引入中药功效、主治等外部知识信息,准确率、召回率、F1值较低。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的一种基于BERT和融入功效信息的中药处方生成方法,通过深度学习的方法,利用预训练的BERT模型强大的语言表征能力来提升句子表达能力,从中医古籍经典方剂数据中挖掘规律,并融入中药功效信息,实现根据症状文本描述开具辅助的中医处方。为了达到以上目的,本专利技术采用的技术方案为:本方案提供一种基于BERT和融入功效信息的中药处方生成方法,包括以下步骤:S1、获取若干一一对应的症状描述和处方数据对,以及中药功效信息,并对所述数据对进行预处理,将预处理后的结果作为训练集;S2、将所述中药功效信息按中药字典顺序进行排序,并通过预训练好的BERT模型得到固定长度的每个中药的功效信息编码;S3、将预训练好的BERT模型作为编码器,将GRU作为解码器,利用所述中药功效信息的编码初始化GRU解码器的输出层参数,并利用所述训练集微调BERT编码器,同时利用所述训练集训练GRU解码器,构建中药处方生成模型;S4、将待预测的症状句子作为测试样本输入至训练好的中药处方生成模型,并利用中药处方生成模型生成中药的处方。进一步地,所述步骤S1包括以下步骤:S101、爬取网上公开的资料,得到方剂数据和中药数据,其中,所述中药数据包括中药别名以及中药功效信息;S102、利用所述中药数据对方剂数据进行清洗,并利用自然语言处理方法去除制备方法和剂量,保留处方症状描述和中药组成,并对中药进行别名替换,构建初始化症状-处方对数据集;S103、对所述症状-处方对数据集的句子语料进行分词处理;S104、利用预训练好的BERT模型对症状字符进行词典数值化处理,并按照中药名出现的前后顺序统计不重复的药名,将统计的中药名组成中药词典,并根据中药词典对处方数据进行数值化处理,得到数值化编码后的症状-处方对训练集。再进一步地,所述步骤S103中的分词处理具体为:采用字符级划分症状句子,以及按中药名切分处方句子。再进一步地,所述步骤S3中的编码器包括Embedding层以及堆叠的12层transformer编码单元;每个所述transformer编码单元均包括多头自注意力层和前向反馈层。再进一步地,所述中药处方生成模型的损失函数loss的表达式如下:qt'=ξ(qt,qv)ξ(qt,qv)=((qv/M)+qt)/2其中,qt'表示目标概率分布,pt表示t时间步模型输出的概率分布,t表示时间步,ξ(·)表示投影函数,qv表示单词q的向量表示,qt表示原始目标概率,M表示目标生成草药的个数。再进一步地,所述步骤S4包括以下步骤:S401、初始化BERT编码器;S402、将待预测的症状句子输入至BERT编码器,利用12层transformer编码单元对所述症状句子进行编码;S403、取BERT编码器的最后一层输出的隐藏向量表示作为BERT编码器输出;S404、将所述隐藏向量表示输入至GRU解码器中进行解码,生成中药处方。再进一步地,所述步骤S404包括以下步骤:S4041、根据所述隐藏向量表示利用注意力机制得到动态的症状信息编码的上下文向量ct;S4042、根据所述症状上下文向量ct利用GRU解码器进行解码,并根据解码出来的序列生成中药的处方。再进一步地,所述步骤S4041中上下文向量ct的表达式如下:其中,T表示症状序列长度,hj表示症状编码器各个时间步隐藏向量,atj表示注意力权重,a(st-1,hj)表示对齐模型,st-1表示解码器上一时间步隐藏状态向量,表示参数矩阵,Wa、Ua均表示要学习的参数矩阵。再进一步地,所述步骤S4042中中药处方生成的过程如下:st=f(st-1,ct,Eyt-1)p(yt|y1,...,t,x)=g(st·H)其中,st表示时间步为t时解码器的隐藏状态向量,f(·)表示GRU,ct表示症状信息编码的上下文向量,E表示中药词汇数量,yt-1表示上一时间步预测的中药的one-hot编码,p(yt|y1,...,t,x)表示在给定症状句子和前t个时间步的中药输出时,该时间步输出中药的概率分布,g(·)表示softmax操作,H表示中药的功效信息编码的HerbEmbeddings矩阵。本专利技术的有益效果:(1)本专利技术一种基于BERT和融入功效信息的中药处方生成方法,主要根据迁移学习的思想,充分利用了BERT编码器具有强大的语言表征能力的特点,使用公开的预训练好的BERT作为编码器,然后在症状处方数据上进行微调,利用了大量的预训练语料,一定程度降低了对所需训练数据量的依赖;同时BERT编码器用的是Transformer编码单元,相对过去用RNN的方法更加高效、能捕捉更长距离的依赖,它能捕捉到上下文信息,并且可以有更深的层数、具有更好的并行性;(2)本专利技术通过深度学习的方法,利用预训练的BERT强大的语言表征能力来提升句子表达能力,从中医古籍经典方剂数据中学习名本文档来自技高网
...

【技术保护点】
1.一种基于BERT和融入功效信息的中药处方生成方法,其特征在于,包括以下步骤:/nS1、获取若干一一对应的症状描述和处方数据对,以及中药功效信息,并对所述数据对进行预处理,将预处理后的结果作为训练集;/nS2、将所述中药功效信息按中药字典顺序进行排序,并通过预训练好的BERT模型得到固定长度的每个中药的功效信息编码;/nS3、将预训练好的BERT模型作为编码器,将GRU作为解码器,利用所述中药功效信息的编码初始化GRU解码器的输出层参数,并利用所述训练集微调BERT编码器,同时利用所述训练集训练GRU解码器,构建中药处方生成模型;/nS4、将待预测的症状句子作为测试样本输入至训练好的中药处方生成模型,并利用中药处方生成模型生成中药处方。/n

【技术特征摘要】
1.一种基于BERT和融入功效信息的中药处方生成方法,其特征在于,包括以下步骤:
S1、获取若干一一对应的症状描述和处方数据对,以及中药功效信息,并对所述数据对进行预处理,将预处理后的结果作为训练集;
S2、将所述中药功效信息按中药字典顺序进行排序,并通过预训练好的BERT模型得到固定长度的每个中药的功效信息编码;
S3、将预训练好的BERT模型作为编码器,将GRU作为解码器,利用所述中药功效信息的编码初始化GRU解码器的输出层参数,并利用所述训练集微调BERT编码器,同时利用所述训练集训练GRU解码器,构建中药处方生成模型;
S4、将待预测的症状句子作为测试样本输入至训练好的中药处方生成模型,并利用中药处方生成模型生成中药处方。


2.根据权利要求1所述的基于BERT和融入功效信息的中药处方生成方法,其特征在于,所述步骤S1包括以下步骤:
S101、爬取网上公开的资料,得到方剂数据和中药数据,其中,所述中药数据包括中药别名以及中药功效信息;
S102、利用所述中药数据对方剂数据进行清洗,并利用自然语言处理方法去除制备方法和剂量,保留处方症状描述和中药组成,并对中药进行别名替换,构建初始化症状-处方对数据集;
S103、对所述症状-处方对数据集的句子语料进行分词处理;
S104、利用预训练好的BERT模型对症状字符进行词典数值化处理,并按照中药名出现的前后顺序统计不重复的药名,将统计的中药名组成中药词典,并根据中药词典对处方数据进行数值化处理,得到数值化编码后的症状-处方对训练集。


3.根据权利要求1所述的基于BERT和融入功效信息的中药处方生成方法,其特征在于,所述步骤S103中的分词处理具体为:
采用字符级划分症状句子,以及按中药名切分处方句子。


4.根据权利要求1所述的基于BERT和融入功效信息的中药处方生成方法,其特征在于,所述步骤S3中的编码器包括Embedding层以及堆叠的12层transformer编码单元;
每个所述transformer编码单元均包括多头自注意力层和前向反馈层。


5.根据权利要求4所述的基于BERT和融入功效信息的中药处方生成方法,其特征在于,所述中药处方生成模型的损失函数loss的表达式如下:



qt'=ξ(qt,qv)
ξ(qt,qv)=...

【专利技术属性】
技术研发人员:吕建成李婵娟桑永胜蒲翊凡孙亚楠
申请(专利权)人:四川大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1