沈希宇,蔡肖红,曹 慧
山东中医药大学 智能与信息工程学院,济南 250355
个性化推荐系统能够通过对大量的数据进行汇总分析,找寻用户特征,建立匹配机制,为用户推荐其可能感兴趣的信息。随着信息社会的建设逐步完善,推荐系统已经根植于社会的各行各业,其中适配于医疗健康领域的推荐系统正在蓬勃发展。如推荐用药、辅助诊断、精准医疗、预测药物相互作用等[1],传统的推荐算法可以分为基于内容的推荐算法、基于协同过滤的推荐算法和混合的推荐算法[2],但数据稀疏性和冷启动问题一直是传统推荐算法性能的桎梏。以协同过滤算法为例,所谓数据稀疏性是指在数据总量中有效数据所占比例极小,导致构建的用户(user)-物品(item)矩阵变得稀疏,在进行相关计算时,对结果的准确性将产生极大的负面影响。针对此类问题常用的解决方案为:一是通过引入上下文联系,联合评论信息等多方位的关联数据,间接降低矩阵的稀疏程度,从而提高推荐准确度。二是通过对数据进行聚类分析,将数据聚成高相似度的几类,降低数据的维度,进而提升推荐效果。三是通过结合深度学习挖掘数据的隐含特征,从而解决数据稀疏性问题。目前学术界广泛运用的是结合深度学习的推荐算法,虽然深度学习算法可以有效解决数据稀疏性的问题,但对于冷启动问题仍然缺乏有效的应对手段。而且深度学习算法通过卷积计算挖掘数据隐含特征,对于问题本身缺乏有效的可解释性。医疗知识图谱作为数据关联度高且可解释性良好的技术手段与推荐系统有着很高的契合度,可以有效解决目前推荐系统所面临的困难。
本文在将近年来推荐系统的相关研究进行整理归纳的基础上,对基于知识图谱的推荐系统进行深入的研究,主要对结合医疗实践的研究成果进行梳理分析,最后对具可行性的未来研究方向进行了展望。
知识图谱是通过符号形式构建图模型用来描述物理世界中概念以及其相互关系的技术方法,是人工智能领域的下游技术,本质上是异构图。知识图谱的概念由谷歌于2012年提出,其前身是语义网,经过长时间的发展形成了结构化的语义知识库,基本组成单位是节点和边。节点可以是实体,边可以是实体的属性关系,通常的表现形式沿用了语义网络中“头实体-关系-尾实体”三元组的经典设定,实体以边为桥梁相互联结,构成的结构知识呈现网状,因此也被称为异构信息网络,如图1所示。
图1 知识图谱示例Fig.1 Example of knowledge graphs
按照知识涵盖范围可以将知识图谱划分为通用知识图谱和领域知识图谱。通用知识图谱旨在纳入更多实体类型,内容多而杂,且准确性不足,很难将其实体和关系标准化;领域知识图谱则是依托于专业性领域的特定知识构建而成,构建三元组的实体和关系时需要统筹兼顾领域内独特的知识体系,医疗知识图谱从属于领域知识图谱。
医疗知识图谱目前主要的构建模式有两种,即自顶向下与自底向上的构建模式。自顶向下的构建模式首先构建顶部本体层,然后将关系和概念梳理细化,再将抽取到的实体填充到所构建的顶层本体中;自底向上的构建模式则是先从数据源中提取实体、属性、类别和关系,直接合并到知识图谱的数据层,最后形成顶部模式层。现阶段大部分知识图谱的构建都采用了自底向上的方法。
构建医疗知识图谱有利于整合现有知识,将存在于各处的医疗学知识转变成计算机可读的程序语言。当今正处医疗数据飞速积累的时代,医疗知识不仅存储于病例文本、住院表格等非结构化文本中,还在期刊文献、互联网资源等结构化数据中大量存在。医疗知识图谱构建的关键技术流程如图2所示。
图2 医疗知识图谱架构流程图Fig.2 Flow chart of medical knowledge graph architecture
医疗知识图谱的构建流程由医疗知识抽取、医疗知识融合和医疗知识加工三个主要模块组成。医疗知识抽取包含实体抽取、关系抽取和属性抽取,通过从海量的结构化、半结构化和无结构化的医疗数据源中提炼出实体、关系和属性等要素存储在医疗知识图谱中。医疗知识融合可消除实体、关系、属性等概念项与事实对象之间的歧义,使不同来源的知识能够得到规范化整合、消歧和加工,并可以保证医疗知识图谱能够循环更新和补足缺失的知识。医疗知识加工包括本体构建、知识推理和质量评估。本体构建是对已构建好的数据层进行概念抽象,即构建知识图谱的顶层关系本体;知识推理是推断出尚未明确的实体关系,自动完成疾病诊断与治疗;质量评估是通过对已有知识的可信度进行量化评估,筛选出置信度高的知识,保持知识图谱的精准性。
自互联网兴起以来,网络上积累的数据信息极速增长。冗余的数据中蕴含着宝贵的价值,但却很难被开发出来其应有的价值。推荐系统作为帮助人们利用冗余数据,开发数据价值的有效手段,是推动整个互联网发展的核心动力。对于用户来说推荐系统所面临的问题可以简化为如何针对特定场景下的用户在众多候选可能中为其预测并推荐可能感兴趣的事物,在需要应用到推荐的场景中多数用户都存在需求不明确的情况。与传统的搜索引擎不同,推荐系统通常会结合用户历史信息和标签预测用户的需求,当用户历史信息缺失时则需要利用其他相似用户的信息来交替比较。
作为介绍推荐系统的前提,如下概念在推荐系统中起着基石作用:用户信息是与用户相关的各种信息,例如历史浏览行为、用户关系网络等;物品信息是各个推荐场景中所涉及到的不同推荐客体,例如医药、疾病、新闻、电影等;场景信息是在具体的推荐场景中,对用户决定起到辅助作用的信息,例如时间、地点、用户所处状态等。推荐系统的主体是由用户信息、物品信息、场景信息共同构建的预测函数模型。
推荐系统的逻辑架构可以简单地理解为在用户和庞杂的选择之间树立起的过滤网,如图3所示。
图3 推荐系统逻辑架构流程图Fig.3 Flow chart of Recommended system logic architecture
在实际的推荐系统中,数据处理和构建算法模型尤为重要。数据处理需要对冗余的数据进行过滤,包括数据的收集、存储、加工、分类、归并、计算、排序、转换、检索和传播,以此获取推荐系统所需要的用户、物品、场景信息。
获得的信息送往预测模型之前还需要对信息进行特征工程的处理,提取出可以表达问题本质的特征,有助于提高模型的精准度;构建预测模型的过程一般包括召回层,排序层和补充排序层。召回层的作用是利用高效的召回算法模型快速对海量候选物品进行初筛,过滤掉无用的候选物品,召回用户可能感兴趣的物品;排序层作为推荐算法的主体是最为重要的部分,推荐结果的精确性主要由排序算法对初筛的候选物品进行精确排序来体现;补充排序层是对用户返回推荐结果之前的查漏补缺,结合环境信息对用户的推荐结果进行的微调,为用户呈现最终的推荐结果。
自推荐系统应用于商业以来,推荐系统出现了井喷式的发展,从开始的协同过滤模型(collaborative filtering,CF)[3]、逻辑回归模型(logistics regression,LR)[4],逐步进化完善到了因子分解机模型(factorization machine,FM)[5]、梯度提升决策树的组合模型(gradient boosting decision tree,GBDT)[6-7]。直到2012年AlexNet[8]的提出,深度学习凭借其强大的表达能力和灵活性的浪潮席卷学术界,基于深度学习的模型架构百家争鸣,推荐模型步入了组合模型的阶段,基本抛弃了单一模型的框架。
虽然基于深度学习的模型对冷启动和数据稀疏性问题做出了很大改善,但是其对特征处理的弱解释性仍是推荐系统的短板之一。
在推荐系统的早期发展阶段,研究者专注于仅凭借用户历史交互信息向目标用户推荐相似的用户或物品,例如协同过滤、逻辑回归模型、因式分解机、矩阵分解技术等。该类方法的关键问题在于如何提取用户和物品的特征来计算它们的相似性。
随着神经网络模型的出现,许多方法将基于相似性的方法扩展到神经网络,为自动提取用户和推荐物品的潜在特征提供了一种更有效的机制。然而,该类方法仍然受到数据稀疏问题和冷启动问题的困扰。传统推荐模型的优势及局限性总结见表1[3-10]。基于内容的方法通过引入各种辅助信息来处理问题,例如上下文评论、场景信息和知识图谱。引入辅助信息的优点是提高了推荐结果的可解释性。在辅助信息中,知识图谱由于其良好定义的结构和充足的资源,在推荐方面显示出巨大的潜力。
表1 传统推荐模型的主要优势及局限性Table 1 Main advantages and limitations of traditional recommendation models
知识图谱作为数据关联度高且可解释性良好的技术方法与推荐系统有着很高的契合度,可以有效解决目前推荐系统在医疗领域所面临的困难。医疗知识图谱为item(疾病、药品等)引入了更多的语义特征,可以更深层次的挖掘患者需求。随着辅助信息的加入,数据稀疏和冷启动的问题可以得到有效的缓解,进而提高模型效能。而且融合医疗知识图谱的推荐系统可解释性强,连接患者的病历记录和推荐结果,从而提高患者对推荐结果的满意度和接受度,能按照符合人类认知的推荐路径进行精准推送,增强患者对推荐系统的信任。此外,还可以将患者信息和外部信息集成到医疗知识图谱中,更为精准地捕捉患者和疾病之间的关系以及患者的偏好。
目前大多数基于知识图谱的推荐模型都基于三种模式:依次学习、联合学习和交替学习,如图4所示。
图4 知识图谱应用于推荐系统的三种模式Fig.4 Three modes of knowledge graph application in recommendation system
依次学习是指先使用知识图谱进行特征学习,从而得到实体和关系的低维向量,然后将这些低维向量引入推荐系统再做后面的处理。也就是只把知识图谱作为一个特征的处理方式,两个模块依次进行学习。联合学习是指知识图谱特征学习模块和推荐算法模块的目标函数,然后再使用端到端的方法进行联合学习。将因为进行知识图谱嵌入而降维的损失也纳入到最后的损失函数中进行联合训练。交替学习是将知识图谱特征学习模块和推荐算法模块视为两个分离但关联的模块,使用多任务学习的框架进行交替学习。这样的做法兼顾了两者的优点,使得知识图谱和推荐系统两个模块可以更深入地进行结合。
现阶段基于医疗知识图谱的推荐模型大多都是以传统推荐模型为根基,将医疗知识图谱中关于患者和疾病等实体的结构化知识引入到推荐模型中充当辅助信息,用来改善传统推荐模型中数据稀疏和冷启动的问题,除此之外也存在利用医疗知识图谱本身结构特点来优化结果的推荐模型。根据算法实现原理以及利用医疗知识图谱信息结构的不同,可以将现有基于医疗知识图谱的推荐模型分为三种:基于嵌入的方法Emb(embedding-based)、基于路径的方法Path(path-based)和融合的方法Uni(unified-based)。
融合知识图谱的推荐系统是一个研究较为成熟、快速发展的领域,拥有广泛的应用前景,不仅限于医疗领域,在影视、书籍、音乐、电子商务等领域也大放光彩。通过整理经典综述文献和代表性的工作,将基于知识图谱的多领域经典推荐模型汇总见表2[11-36]。
表2 基于知识图谱的多领域经典推荐模型汇总Table 2 Summary of multi-domain classic recommendation models based on knowledge graph
基于路径的方法通过构建用户和物品的异构信息网络,计算实体连接路径之间的连通性和相似性,从而实现不同语义角度的推荐。该方法充分且直观地利用了知识图谱的网络结构,引入了基于元路径相似性的概念,不仅使用户和物品间的多元关系被高效利用,而且还增强了推荐算法的可解释性。基于路径的方法最早被称为异构信息网络(hetegeneous information network,HⅠN)中的推荐方法。异构信息网络由于包含多类实体和连接关系,在复杂多元异构的数据环境下的建模能力出众,因此被广泛应用于推荐系统中。
基于路径的方法早期通过与传统的推荐算法相结合显著提高了推荐效果的准确性。Yu等人[11]在2013年提出的Hete-MF模型采用基于矩阵分解的推荐框架,使用异构信息网络将用户评级与实体相似性矩阵结合起来,通过提取不同的元路径并计算每个路径中的物品相似度进行推荐。由于该模型缺乏对用户的动机、兴趣等外部信息的利用,存在推荐不精准的明显弊端,该团队于2013 年提出的Hete-Rec 模型[37]利用元路径的相似性完善用户-物品交互矩阵,从而可以提取用户和物品更为全面的特征信息。该团队在后续推出的HeteRec-p模型[12]中进一步考虑了不同元路径对于不同用户的重要性,该模型通过基于元路径的遍历方法进行特征提取,充分利用了用户与物品以及物品与物品之间的关系,首先根据用户过去的行为将用户分组,并利用聚类信息生成个性化推荐,然后根据用户的不同提供基于用户-物品隐式交互的高质量推荐。但其对于隐式反馈没有细致的区分,只是笼统地划分为正反馈和负反馈,这将会导致模型的性能下降。在经典的协同过滤算法基础上,Luo等人[38]提出的Hete-CF模型通过将用户-用户、物品-物品和用户-物品的相似度作为正则化项,查找用户对未分级物品的相似度,对于解决异构社交网络上的推荐问题起到了良好的效果。
3.1.1 结合医疗实践的基于路径的方法
在与医疗实践结合后,推荐系统不仅包含简单的用户-物品的关系问题,还需要遵循生物学合理假设的研究方向。传统用药推荐是由医生根据丰富的经验配合临床指南定义的基于规则模板匹配的推荐,对于特定诊断的非特异化医学推荐可能是有效的,但是对于复杂患者的私人订制推荐作用有限。Wang等人[39]提出的SⅠET(star interactive enhanced-based transformer)模型利用基于元路径的方法从基于电子病历和医学知识图的大型异构网络中构造出疾病同质图,药物同质图和副作用同质图,然后将疾病、药物、副作用三个实体序列向量投射到低维稠密向量空间中,最后通过计算疾病表征和药物表征向量之间的余弦相似度得到推荐药物列表。其优点是利用了注意力机制增强了嵌入向量的表示,提高了推荐的精准性,缺点则是增加的参数需要更多的计算资源,推荐效率有所下降。
药物重定位是一种将现有药物用于治疗新的适应症的药物发现方式。相较于传统的新药开发,可以有效缩短药物研发周期,降低成本,规避风险。Nam 等人[40]针对药物重定位问题提出KGE-CLASH模型,引入额外的知识充当辅助信息,改善数据稀疏性问题,同时利用调和函数进行标签传播,所得药物评分用来推荐。该模型的不足之处是需要专业人员结合领域知识来定义元路径的类型和数量。Zhao 等人[41]提出的通用临床决策支持方法使用医学知识网络(EMR-based medical knowledge network,EMKN)将问题描述为一个马尔可夫决策过程(Markov random field,MRF),可以来推理症状-疾病之间的合理路径,通过为实体关系匹配相应的能量函数,一定程度上解决了先前方法需要手动定义元路径的问题。
与推荐系统中的数据稀疏性类似,医学异构图遵循长尾分布,长尾实体只和某些实体交互,因此推荐系统无法统筹全局信息。Lan等人[42]针对医学知识图谱实体和路径的稀疏性问题,通过BERT(bidirectional encoder representation from transformers)的预训练模型对实体和路径文本语句进行编码,以增强实体和路径的嵌入,同时加入了注意机制用于组合多条路径的语义特征,在解决了数据稀疏性问题的同时,大量的BERT参数会减慢模型训练和收敛的速度,导致模型需要更多的时间成本。
3.1.2 小结
基于路径的方法通常将协同过滤、矩阵分解等传统推荐算法与异构信息网络中提取的元路径相结合。该类方法利用路径连通性规范和丰富用户-物品表示,缺点是通常需要领域知识来定义元路径的类型和数量,导致信息浪费和增加非必要的计算开销。随着深度学习技术与医疗实践的深入结合,该类方法将路径嵌入进行显式编码,可以通过连接症状-药物的最显著路径生成推荐结果。基于路径的方法自然地将可解释性引入到推荐过程中,推荐结果可以从预定义的元路径中找到参考。实现元路径选择的自动化是未来的发展方向,例如利用深度学习模型自动挖掘疾病-药物的显著路径,从而在图中反映推荐过程。基于路径的推荐算法特点及其局限性总结见表3。
表3 基于路径的推荐算法特点及其局限性Table 3 Characteristics and limitations of path-based recommendation algorithm
与基于路径的方法不同,基于嵌入的方法用知识图谱作为辅助信息,丰富item或user的表示。为了充分利用知识图谱的信息,该类方法需要采用知识图谱嵌入(knowledge graph embedding,KGE)算法将知识图谱中包括实体和关系的三元组映射到低维连续的向量空间,保留知识图谱结构的同时,使其蕴含更多的潜在语义信息,更容易被计算机理解和操作。知识图谱嵌入的方法主要可以分为转移距离模型(translational distance)方法和语义匹配模型(semantic matching)方法两种,前者是利用基于距离的评分函数,学习从头实体到尾实体的空间关系变换(TransE[43]、TransR[44]等系列模型),后者则是通过基于相似性的评分函数,直接运用神经网络对语义相似度进行计算(RESCAL[45]、DistMult[46]等模型)。
基于嵌入的方法早期通过利用KGE算法处理过的原始嵌入向量进行推荐。Zhang等人[20]提出CKE(collaborative knowledge base embedding)模型,针对之前方法只利用知识图谱的单一结构信息而忽略了其他重要信息的缺陷,整合了包括外部知识图谱、文本、图像等外部信息,完善了实体的结构化信息向量,形成了物品的潜在向量表示。该模型的不足之处在于忽略了知识图谱内的实体之间的关系信息;用户嵌入向量无法得到及时更新;增加的辅助信息涵盖多个方面,但却缺少权重的划分,这将会对实际推荐结果产生不利影响。
Wang 等人[21]提出的DKN(deep knowledge-aware network)模型针对上述方法的不足之处,使用结合了知识图谱的卷积网络KCNN(knowledge-aware convolutional neural network)[47]将新闻的语义信息与知识图谱融合起来形成全新的嵌入向量。为了捕捉用户对新闻的动态兴趣,该模型通过加入注意力机制,对候选推荐的权重进行了分配。虽然DKN模型在用户历史交互的信息基础上,将知识图谱作为衡量用户偏好的尺度,但却只选取了相邻用户的联系作为上下文信息,完全没有利用到知识图谱内的关系信息。在此基础上该团队提出了MKR(multi-task feature learning approach for knowledge graph enhanced recommendation)模型[23]将推荐问题精确地建模为多任务学习(multi-task learning)。该模型由推荐模块和KGE 模块组成,通过前者学习获得用户和物品的潜在表示,而后者利用语义匹配的KGE模型学习获得物品关联实体的向量表示,如图5 所示。这两个部分通过一个交叉压缩单元连接起来相互传递知识,共享推荐模块中物品和知识图谱中实体的规则化,进一步避免了出现拟合噪声和提高了模型泛化能力。
图5 MKR模型结构示意图Fig.5 Schematic diagram of MKR model structure
3.2.1 结合医疗实践的基于嵌入的方法
药物-靶标相互作用(drug-target interaction,DTⅠ)在药物开发中起着至关重要的作用,例如药物重定位和预测药物副作用。除此之外,当针对复杂疾病识别出新的蛋白质靶标时,也需要进行DTⅠ预测,同时需要阐明具有已知治疗效果的药物分子机制。这个问题类似于推荐系统的冷启动问题,是DTⅠ预测在实际应用中的严重限制因素。Ye 等人[48]提出的KGE-NFM(knowledge graph embedding-neural factorization machine)模型在DTⅠ领域通过语义匹配KGE进行实体和关系嵌入,将所得的低维向量作为辅助信息结合神经因子分解机NFM(neural factorization machines)得到最终的推荐结果,虽然该方法缓解了DTⅠ中的冷启动问题,但其框架结构相对简单,且对参数的调整很敏感,因此不便于部署在实际应用中。而Shang 等人[49]提出的GAMENet(graph augmented memory network)模型则将药物建模为实体节点,将药物相互作用建模为关系链接,通过结合外部记忆组件,不仅提高了推荐的精准度还便于部署,增强了其在临床实践中的实用性。
自新冠病毒肺炎疫情发生以来,由于传统药物研发周期长,药物重定位成为新冠肺炎药物研发的主要策略。药物重定位具有高效、低成本的特点,尤其是在突发性疾病和罕见病方面优势更加突出。Zeng 等人[50]提出的CoV-KGE(coronavirus-knowledge graph embedding)模型通过利用亚马逊开源知识图谱进行KGE从而获得低维向量表示。CoV-KGE根据候选药物的推荐预测得分进行药物重定位,快速识别可重新用于新冠肺炎潜在治疗的药物。然而该模型因为存在数据噪声较大以及忽略权重分配等问题,所以模型的性能欠佳,推荐准确率较低。Jin 等人[51]提出的KG-ASMGNN(KGenhanced attentive multi graph neural network)模型针对之前方法的不足,将草药推荐问题类比推理为一个多标签分类任务,除了利用中医药知识图谱进行KGE 嵌入生成症状和草药的向量表示,还加入了基于注意力的多层感知机(multilayer perceptron,MLP)对症状-草药的映射进行了细颗粒度的划分,确定了不同症状的权重,提高了推荐系统的可靠性。但由于中医实体之间有着复杂相关性,推荐效率仍有待提高。
耐药性是一种复杂的生物学现象,阻碍了癌症治疗的可持续发展。寻找耐药性关键基因的常见策略是全基因组筛选。Gogleva等人[52]提出的Skywalk-R模型,将全基因组筛选问题适配为推荐领域的多目标优化问题用于寻找耐药性的关键基因,其中KGE 学习获得的向量作为图形衍生特征被纳入推荐系统,提高了推荐结果的准确性。但与传统的推荐系统不同,Skywalk-R 无法依靠用户反馈来逐步评估和改进预测,因此验证实验成本高且耗时长。
基于电子病历(electronic medical record system,EMRs)的药物推荐系统在很大程度上可以帮助医生做出更好的临床决策,但是由于电子病历中缺乏医学专家的知识,推荐系统很难将准确的医疗事实与合适的处方相关联,降低了最终的推荐结果对于病情复杂的患者可信度。在基于电子病历的药物推荐系统中使用医学知识图谱,可使推荐系统能够为特殊患者提供适当的处方。Gong 等人[53]提出的SMR(safe medicine recommendation)模型把推荐用药问题转换为预测患者与药物之间连接的问题,通过从电子病历和医学知识图中构建大型异构图,利用TransR方法构建特定关系矩阵,桥接的不同向量空间中的实体和关系对患者进行建模,并最小化潜在的药物不良反应做出安全用药的建议。但由于模型结构过于复杂,很难在临床实践中部署。
现有的方法多数都是假设知识图谱是完整的,因为不完整的训练数据集会对推荐系统的性能产生不利影响。Cao 等人[24]提出的K-TUP(knowledge-enhanced translation-based user preference)模型针对知识图谱不完整的问题,通过利用转移距离模型TransH[44]将知识图谱补全任务和推荐任务联合部署在同一模型中,实现了两任务的相互增强。在此基础上Sousa等人[54]通过把知识图谱作为BiOnt模型[55]的外部实体信息进行生物医学关系提取,再结合K-TUP[24]补全了生物医学实体之间的关系,提高了推荐的准确度。
3.2.2 小结
基于嵌入的方法不仅将知识图谱中的实体和关系映射到低维向量,还保留了原有的结构或语义信息,对解决基于路径的方法中依赖元路径设计、忽视语义关系的问题起到了重要的作用。但是该类方法对于知识图谱中的多跳关系缺乏合理的运用,致使部分推荐结果的可解释性降低。在与医疗实践结合后,基于嵌入的方法构建医疗知识图谱时常使用多种类型的边信息丰富医疗实体的表示,并且采用边信息可以更精确地对患者的表示进行建模。另外,采用多任务学习策略将推荐模块与医疗异构图相关任务进行联合训练,也可以进一步提高推荐的质量。基于嵌入的推荐算法的优势及局限性总结见表4。
表4 基于嵌入的推荐算法特点及其局限性Table4 Characteristics and limitations of recommendation algorithm based on embedding
基于路径的方法使用预定义的元路径作为连通性信息进行推荐,基于嵌入的方法利用知识图谱中用户-物品的嵌入向量表示进行推荐,这两种方法只利用了知识图谱的部分信息。为了充分挖掘知识图谱中蕴含的信息,基于融合的方法被提出。该方法采用嵌入传播的思想,将实体和关系的嵌入向量表示和连通性信息结合起来,以知识图谱中的连接结构为指导,能够学习获得到更为全面的信息表示。
Wang等人[29]提出的RippleNet模型首次将基于嵌入和基于路径的方法结合起来,通过引入偏好传播思想克服了现有推荐方法的局限性。RippleNet借鉴水波纹的传播原理,以用户感兴趣的物品为原点,在知识图谱上逐层向外扩散,实现消息的传递。虽然RippleNet 开创性地提出了基于融合的方法,通过偏好传播方法自然地将KGE 方法融入到推荐系统中,并且不需要人工设计元路径,但仍存在着计算量冗余,忽视关系侧重点等缺点。该团队后续提出的KGCN(knowledge graph convolutional network)模型[33]和KGCN-LS(KGCN-label smoothness)模型[56]改善了这些问题。KGCN 通过将候选项的邻居项到其本身的路径嵌入到知识图谱中,利用邻居向量来扩充当前实体的向量表示,更好地捕捉局部邻域信息和考虑邻居节点权重实现推荐结果的优化。KGCN-LS则是在KGCN模型上进一步增加了标签平滑机制(label smoothness,LS)。LS 通过提取用户交互信息,在知识图谱上传播用户交互标签,从而指导学习过程,可以获得候选项的综合表示。除此之外,Wang 等人[57]在RippleNet 模型的基础上进行改进,提出了Ripp-MKR模型,结合了RippleNet[29]的偏好传播思想和MKR模型[23]的交叉训练思想,解决了之前方法因更关注用户-物品交互矩阵而忽略了知识图谱中关键结构信息的问题。
3.3.1 结合医疗实践的基于融合的方法
图卷积网络(graph convolutional network,GCN)不仅可以在图中归纳节点和边的信息表示,还能够高效处理不同实体之间具有丰富关系信息的任务,因此受到学术界广泛的关注。然而将原始GCN扩展到医学知识图谱的过程中存在着如下问题:(1)最初的GCN是为同构图设计的,在同构图中,所有节点都是相同的类型,并且具有相同的功能名称,而医学知识图谱多为异构图且具有多种类型的节点,无法直接适配GNN。(2)在医疗场景中的特征矩阵中通常有许多缺失值,而原始GCN无法处理节点特征中存在缺失值的情况。
在与医疗实践结合后,为了解决上述问题Mao 等人[58]提出的MedGCN(Medicine GCN)模型,创新性地将多个医疗实体之间复杂的关联融入到异构医疗图中,通过引入交叉正则化策略,加强了多任务之间的交互,减少了多任务训练的过拟合。因为该模型更加侧重于普适性的应用场景,因此针对特定的推荐场合性能较为普通。Yang 等人[59]提出的KDHR(knowledge-driven herb recommendation)模型将中医药知识图谱作为附加的辅助信息,通过GCN 对症状和草药之间的潜在关系进行建模,并使用多层感知器(MLP)集成从GCN 的每一层获得的不同层次的信息,以此获得信息丰富且噪声较小的节点特征表示。但因为中医药知识图谱中的草药类别不平衡导致模型性能无法达到最优。
3.3.2 小结
基于融合的方法利用嵌入传播的思想改进知识图谱中具有多跳邻居的实体表示,嵌入传播是在知识图谱中发现用户偏好的方法,类似于在基于路径的方法中发现元路径的模式,继承了基于路径方法的可解释性。该类方法一般采用融合GNN 的架构,可以自然地将KEG方法融入到推荐系统中。针对原始GCN适配到医学知识图谱领域中存在着的问题,将异构图分解为多个二部图或同构图是较为可行的方法。基于融合的推荐算法的优势及局限性总结见表5。
表5 基于融合的推荐算法特点及其局限性Table 5 Features and limitations of fusion-based recommendation algorithm
推荐系统的发展已经有三十多年历史,但是基于知识图谱的推荐系统才发展起步十年左右。随着深度学习、强化学习等技术的快速涌现,融合医疗知识图谱的推荐系统得到了推动发展的动力,且有着广阔的研究空间。本文提出的未来展望方向如下:
多任务学习:知识图谱的质量决定推荐系统的性能,因此对于融合医疗知识图谱的推荐系统来说医疗知识图谱的链路预测问题是不可忽视的。例如,医疗知识图谱中的实体关系若是存在缺失则会导致患者的偏好可能会被忽略,并且因为缺少事实关系,推荐的质量可能会下降。因此将知识图谱推理和推荐任务联合部署在同一个模型中是获得增强推荐质量的有效途径。另外,多任务医疗推荐系统也是智能的、有发展前景的,可以释放和减轻医疗资源紧缺的压力,使医疗推荐任务更加方便和效率。例如,Liu 等人[60]提出的多任务健康管理推荐系统,不仅通过利用Word2Vec+TransD获得文本特征向量,同时还用ResNet(deep residual network)[61]提取医学图像的特征向量,通过稠密层将提取的特征向量发生非线性变化得到特征之间的相关性,然后映射到输出空间得到稠密向量,提高了推荐系统的稳定性。
知识图谱嵌入方法(KGE):根据评分函数的不同,KGE分为翻译距离模型和语义匹配模型。这两种类型的KGE 方法被广泛用于基于知识图谱的推荐系统中。然而,在数据源、推荐场景和模型架构不同的情况下,并没有研究者系统地梳理应该采用哪种特定的KGE 方法。因此,该研究方向需要比较不同KGE 方法在不同条件下的优劣势。
跨领域推荐:近年来关于跨领域推荐的研究成果层出不穷。例如,通过迁移学习技术,可以将共享资源中相对丰富的交互数据应用在目标领域中,能够获得更优质的推荐结果。Zeng 等人[50]先通过利用亚马逊开源知识图谱进行KGE 学习,然后将获得低维向量用于药物重定位中,根据候选药物的推荐预测得分快速识别可重新用于新冠肺炎潜在治疗的药物。另外,通过在疾病-药品交互矩阵中加入不同类型的边信息,可以获得更好的跨域推荐性能。
医疗知识图谱本质上是一种多源异构信息网络,作为辅助信息丰富推荐系统的表示,有效解决了传统推荐系统的数据稀疏、可解释性低和冷启动等问题。本文系统地梳理了国内外现有融合医疗知识图谱的推荐系统的相关文献,回顾整理了知识图谱构建和传统推荐系统的基础知识,总结了基于知识图谱的推荐系统的三种方法,重点对结合医疗实践的研究成果及其优缺点进行归纳总结,最后对具可行性的未来研究方向进行了展望。