针对现有的问诊推荐方法未能充分利用医患间丰富的对话信息和无法捕捉患者实时的健康需求和偏好的问题,提出一种基于知识图谱和对话结构的问诊推荐方法(KGDS)。首先,构建包含评论情感分析和医学专业知识的医疗知识图谱(KG),增强医生和患者的细粒度特征表示;其次,在患者表示学习部分,设计一种患者查询编码器,从词级和句级这2个层面提取查询文本的关键特征,并通过注意力机制加强医患向量间的高阶特征交互;再次,建模诊断对话,充分利用医患间丰富的对话信息增强医患特征表示;最后,设计基于对比学习的对话模拟器,捕捉患者的动态需求和实时偏好,利用模拟的对话表示辅助推荐得分的预测。在真实数据集上的实验结果表明,KGDS相较于最优基线方法在曲线下面积(AUC)、平均值倒数秩(MRR@15)、推荐多样性(Diversity@15)、调和平均值(F1@15)、命中率(HR@15)和归一化折损累计增益(NDCG@15)上分别提高了1.82、1.78、3.85、3.06、10.02和4.51个百分点,验证了KGDS的有效性,且可见情感分析和KG的纳入增强了推荐结果的可解释性。