首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于改进Bert4Rec的中医药方推荐方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:华东师范大学

摘要:本发明公开了一种基于改进Bert4Rec的中医药方推荐方法,根据从公开中医药数据集中获取的药方数据生成症状集合‑中药集合,从而得到样本数据集,对每个样本数据集分别进行掩码处理,然后对症状和中药分别进行编码得到编码向量,基于Bert4Rec模型构建包括输入处理模块,输入嵌入模块,Transformer模块,中药掩码特征向量筛选模块,中药预测模块和药方预测模块的药方推荐模型,采用掩码处理后的样本数据集对药方推荐模型进行训练,对于需要进行中药药方推荐的症状集合,生成全掩码的药方集合,一起输入训练好的药方预测模型得到推荐中药集合作为推荐药方。本发明基于改进Bert4Rec模型得到中医诊疗中涉及到的症状和中药两类实体的表示,实现更为准确的药方推荐。

主权项:1.一种基于改进Bert4Rec的中医药方推荐方法,其特征在于,包括以下步骤:S1:根据实际需要在公开中医药数据集中获取若干条药方数据,每条药方数据中包含多个症状组成的症状集合以及治疗该组症状所需的中药集合,将所获取的症状集合-中药集合作为样本数据构成样本数据集,记样本数据集中症状总数为M,中药总数为N;S2:按照如下方法对样本数据集进行掩码处理:按照预设的全掩码比例full_mask_ratio计算进行全掩码的样本数量A,然后从样本数据集中随机选择A个样本数据并将其中药集合中的中药全部标注为“mask”,然后将剩余的样本数据进行部分掩码,具体方法为:根据预设的掩码比例mask_ratio计算出该样本数据中中药集合需要掩码的中药数量B,然后选择中药集合中B味中药并标注为“mask”,从而得到部分掩码样本数据;在进行部分掩码时,N味中药需要在所有的部分掩码样本数据中至少出现一次;S2:对于M个症状分别进行编码,得到每个症状的编码向量;然后对于N味中药分别进行编码,得到每味中药的编码向量;记每个编码向量的维度为R;S3:基于Bert4Rec模型构建药方推荐模型,包括改进的Bert4Rec模型,中药掩码特征向量筛选模块,中药预测模块和药方预测模块,其中改进的Bert4Rec模型包括输入处理模块,输入嵌入模块和Transformer模块,其中:输入处理模块用于根据输入的症状集合和中药集合生成输入矩阵E并输出至输入嵌入模块,输入矩阵E的生成方法为:预先设置症状最大数量P和中药最大数量Q,构建大小为K+1×R的矩阵E,其中K=P+Q;对于输入的症状集合,将其中第p个症状对应的编码向量作为矩阵E的第p个行向量,p=1,2,...,P,如果第p个症状不存在,则将对应行采用预先设置的填充向量进行填充;对于输入的中药集合,如果其中第q个中药未被进行掩码操作,q=1,2,...,Q,则将该中药对应的编码向量作为矩阵E的第P+q个行向量,如果其中第q个中药被进行掩码操作,则将矩阵E的第P+q个行向量采用随机向量进行填充,如果第q个中药不存在,则将对应行采用预先设置的填充向量进行填充;将矩阵E的第K+1行作为掩码位采用随机向量进行填充,将该行作为CLS标志;输入嵌入模块用于对输入矩阵E中每个行向量进行嵌入编码得到对应的嵌入表示向量,从而得到大小为K+1×F的中医实体嵌入矩阵Eembedding,F表示嵌入向量的维度,并对输入行向量的位置[1,2,...,K+1]进行嵌入编码得到K+1×F的中医实体位置矩阵Wembedding,将中医实体嵌入矩阵Eembedding和中医实体位置矩阵Wembedding相加,得到融合矩阵并输出至Transformer模块;Transformer模块包括L个TransformerEncoder,用于对输入的融合矩阵进行L层迭代,得到每个嵌入表示向量对应的特征向量,从而得到大小为K+1×F的特征矩阵V,然后将特征矩阵V发送给中药掩码特征向量筛选模块,将CLS标志对应的特征向量发送给药方预测模块;中药掩码特征向量筛选模块用于根据输入的经掩码操作的中药集合,从Transformer模块输出的特征矩阵V中筛选出被掩码中药所对应的特征向量,记输入的掩码中药集合中被掩码中药数量为S,将每个被掩码中药对应的特征向量作为行向量构成大小为S×F的中药掩码特征矩阵然后输出中药预测模块;中药预测模块用于根据接收的中药掩码特征矩阵预测出被掩码的中药,其具体方法为:采用如下公式计算得到中药预测得分向量: 其中,上标T表示转置,eH表示N味中药的嵌入表示向量矩阵,表示大小为S×N的预测得分矩阵,第s个行向量中第n个元素即为该掩码中药为第n味中药的预测得分,s=1,2,…,S;药方预测模块用于根据CLS标志对应的特征向量进行药方预测,其具体方法为:采用如下公式计算得到中药推荐得分向量: 其中,表示N维的得分向量,第n个元素即第n味中药的推荐得分;将N味中药中推荐得分最高的前G位中药构成的集合作为推荐药方;S5:采用步骤S2中掩码操作后的样本数据集对步骤S4中构建的药方推荐模型进行多轮次训练,得到训练好的样本数据集;在训练过程中N味中药的嵌入表示向量矩阵eH采用如下方法确定:在训练开始时,对嵌入表示向量矩阵eH进行随机初始化,在后续每个轮次的训练过程中,在各个样本数据经过药方推荐模型中输入嵌入模块进行嵌入编码后,从中提取出未掩码中药的嵌入表示向量,从而构建得到N味中药的嵌入表示向量矩阵,用于下一轮次的训练;在训练完成后,将最后一个轮次训练过程中提取出的N味中药的嵌入表示向量矩阵作为最终药方推荐时使用的N味中药的嵌入表示向量矩阵;S6:当需要针对某个症状集合进行药方推荐时,为该症状集合生成一个中药集合,该中药集合中包含Q味标注为掩码的中药,将该症状集合和中药集合输入训练好的药方推荐模型中,将药方预测模块输出的推荐中药集合作为推荐药方。

全文数据:

权利要求:

百度查询: 华东师范大学 基于改进Bert4Rec的中医药方推荐方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。