1.基于语义驱动和舌象补全的草药推荐方法,其特征在于,包括步骤:S1、构建草药推荐数据集:收集包含病人舌象、症状、草药的公开数据,构建私有数据集,对所述私有数据集进行预处理,再按比例划分得到训练数据、验证数据和测试数据,组合形成最终的草药推荐数据集;所述最终的草药推荐数据集中的每条患者记录包含患者编号、舌象图片、标准的舌象性质、带偏见的舌象性质、症状文本及用于治疗的草药集合;
S2、构建草药推荐模型:利用神经网络和深度学习方法构建包含舌象去偏能力训练模块、舌象补全能力训练模块、草药推荐模块的草药推荐模型;
所述舌象去偏能力训练模块采用视觉语言大模型作为基础模型,以草药推荐数据集中的舌象图片和标准的舌象性质为输入,通过掩码学习方式训练视觉语言大模型对舌象性质的去偏能力,构建得到舌象去偏子模块;
所述舌象补全能力训练模块以舌象图片及其对应的带偏见的舌象性质、症状文本以及舌象去偏子模块生成的去偏见的舌象性质作为输入,训练舌象补全子模块具备根据症状文本生成完整舌象性质的能力,构建得到舌象补全子模块;
所述草药推荐模块将症状文本经舌象补全子模块生成的补全舌象表示与症状文本自身的语义表示进行融合,计算并输出草药推荐概率;
S3、训练草药推荐模型:在步骤S1得到的草药推荐数据集中,对步骤S2构建的草药推荐模型进行多轮迭代训练;
步骤S2中舌象去偏能力训练模块的构建过程包括:
遮掩标准的舌象性质:随机选取标准的舌象性质中部分性质进行遮掩:,
其中, 、 分别表示第i个患者的标准的舌象性质和舌象图片, 表示被遮掩的舌象性质;
训练视觉语言大模型:将舌象图片和被遮掩的舌象性质填入预设Prompt模板,生成Prompt送入视觉语言大模型进行检查与审核,视觉语言大模型生成复原的舌象性质:,
其中, 表示视觉语言大模型生成的第i个患者的复原的舌象性质;
步骤S2中舌象补全能力训练模块的构建过程包括:
生成去偏见的舌象性质:将舌象图片和带偏见的舌象性质输入舌象去偏子模块,通过预设Prompt生成去偏见的舌象性质,作为舌象补全子模块训练的真实标签:,
其中, 表示第i个患者记录中带偏见的舌象性质; 表示去偏见的舌象性质;
构建舌象补全子模块:基于Transformer Encoder架构,借助去偏见的舌象性质,微调训练舌象补全子模块的舌象补全能力:,
,
其中,TongueEncoder()为舌象补全子模块, 代表第i个患者的症状文本;
TongueEncoder()[0]代表全部序列的表示; 是补全的舌象表示; 、 均是可学习的参数矩阵; 是根据补全的舌象表示 在第j个舌象性质分类上预测的结果;
借助舌象去偏子模块生成的去偏见的舌象性质微调训练舌象补全子模块,使用交叉熵损失函数:,
其中, 表示舌象性质分类的数量; 表示舌象性质分类中选项的数量; 是去偏见的舌象性质中第j个分类的值;
步骤S2中草药推荐模块的构建过程包括:
结合微调后的舌象补全子模块和医疗文本编码器,构建患者综合表示:,
,
,
其中,TextEncoder为医疗文本编码器; 、 为可训练的参数; 是第i个患者的症状文本; 是症状文本表示; 是补全的舌象表示;
将补全的舌象表示和症状文本表示进行拼接降维获得患者表示,使用图卷积网络基于药物共现关系图建模药物共现表示,并使用图卷积网络基于草药共现关系图建模草药共现表示,然后使用注意力机制计算草药表示,最后将草药表示经过全连接层与Sigmoid激活函数计算出草药推荐结果:,
,
,
,
,
其中, 是草药共现表示; 、 、 、 是可学习的参数矩阵; 是草药共现图;
是图中初始化的草药共现表示;ReLU和Sigmoid是不同的激活函数;dim是定义维度的超参数; 是最终的草药推荐概率, 为对角矩阵; 表示单位矩阵, 为 的两个自变量。
2.根据权利要求1所述基于语义驱动和舌象补全的草药推荐方法,其特征在于,步骤S1中所述公开数据包括:问诊记录,包含患者的舌头的图片,患者描述的症状,医生总结的舌象性质,医生推荐的草药集合;
所述预处理是对所述私有数据集的公开数据进行标准化处理,包括:对舌头图片进行去背景、裁剪以提取舌头区域作为舌象图片;将患者自述症状文本直接作为症状文本;将医生记录的舌象性质描述标记为带偏见的舌象性质;邀请专业医师对舌象图片进行独立标注形成标准的舌象性质;采用基于中医术语词典的规则匹配法从医生推荐的草药集合中提取草药实体,形成标准化的草药集合。
3.根据权利要求1所述基于语义驱动和舌象补全的草药推荐方法,其特征在于,视觉语言大模型训练的方式为LoRA微调。
4.根据权利要求1所述基于语义驱动和舌象补全的草药推荐方法,其特征在于,所述草药共现图 是统计草药推荐数据集中全部的草药共现的频率得到的矩阵, 矩阵中值大小大于等于0且小于等于1;初始化的草药共现表示 为单位矩阵。
5.根据权利要求1所述基于语义驱动和舌象补全的草药推荐方法,其特征在于,步骤S3中草药推荐模型的训练过程包括:采用二进制交叉熵损失函数作为模型训练的损失函数,用于计算模型输出的草药推荐概率与真实草药标签之间的差异:,
其中, 表示第i个病人的第k个药物被推荐的概率; 表示第i个病人的第k个药物是否被推荐的真实标签; 是全部的药物的集合;
采用Adam算法作为模型的优化器,通过多轮迭代优化模型参数,直至模型收敛。
6.根据权利要求5所述基于语义驱动和舌象补全的草药推荐方法,其特征在于,设置学习率参数为0.0001,其他超参数采用PyTorch默认值,训练数据、验证数据和测试数据比例是4:1:1。
7.基于语义驱动和舌象补全的草药推荐系统,用于实现权利要求1所述方法,其特征在于,包括:草药推荐数据集构建单元,包括数据收集子单元,数据预处理子单元,数据划分子单元,用于收集包含病人舌象、症状、草药的公开数据以构建私有数据集,对所述私有数据集进行预处理,再按比例划分得到训练数据、验证数据和测试数据,组合形成最终的草药推荐数据集;
草药推荐模型构建单元:用于利用神经网络和深度学习方法构建包含舌象去偏能力训练模块、舌象补全能力训练模块、草药推荐模块的草药推荐模型;
草药推荐模型训练单元:用于在草药推荐数据集构建单元得到的草药推荐数据集中,对草药推荐模型构建单元构建的草药推荐模型进行多轮迭代训练。