杨振辰, 汤 悦
(1.上海新达新能源有限公司, 上海 200010; 2.上海电力大学, 上海 200090)
近年来,太阳能光伏发电因其具有无排放、少噪声和使用安全等特点,受到世界各国的广泛关注。我国光伏产业在发展迅速的同时,仍面临着关键技术落后等问题[1]。搜寻新兴技术,增强核心技术研发,摆脱对全球产业链的技术依赖是我国光伏产业突破发展瓶颈的有效途径。随着大数据技术的发展和信息量的增加,如何在大量的信息中搜寻新兴技术对太阳能光伏发电的发展带来了挑战。
推荐系统(Recommendation System,RS)旨在通过为用户找到满足其个性化兴趣的一组物品来解决信息爆炸的问题。在推荐策略中,协同过滤(Collaborative Filtering,CF)[2]考虑用户的历史交互信息,根据其潜在的共同偏好进行推荐,从而取得了巨大的成功。基于CF方法的关键挑战在于提取用户和项目之间的特征来计算它们的相似性,然而这种基于相似性的方法通常存在用户-项目交互的稀疏性和冷启动问题。为了解决这些问题,研究人员建议将边等附加信息整合到CF中,例如引入社交网络、关系数据[3-5]、上下文相关的评论信息[6-8]、知识图谱(Knowledge Graphs,KG)[9]等。本文介绍了知识图谱及可用于推荐系统的知识库,分析了推荐系统的研究现状并点明其目前遇到的瓶颈,从而引入基于知识图谱的推荐系统并对基于知识图谱的推荐系统的发展趋势作出展望。
KG本质上是语义网络(Semantic Network)的知识库,或者可以简单地理解为多关系异构图。在KG里,通常用“实体(Entity)”和“关系(Relation)”分别表达图里的节点和边。现实世界中的很多场景都可以用KG来表达。比如一个推荐系统图谱里,可以有“人”和“商品”的实体;人与人之间的关系可以是“家人”,也可以是“朋友”;人与商品之间可以是“购买”关系。
目前,工业界构建了很多知识库,比较常见的有Freebase[10],WordNet,DBpedia,YAGO,IMDB等,而数据集有FB15k,WN18,YAG03-10等。
FB15k[11]是Freebase的一个子集,是一个包含一般知识事实的大型知识图。FB15k是目前最常用的基准。其创建者选择了所有被提到超过100次的FreeBase实体,并且提取了所有涉及到这些实体的事实。
WN18是从WordNet中提取出来的。WordNet是一种用于提供词典以支持自然语言处理和自动文本分析的KG语言本体。为了构建WN18,研究者采用WordNet作为起点,然后迭代地删除了较少提到的实体和关系。
YAGO3-10是在文献[12]中提出的。它选择至少有10个不同关系的实体,并收集所有涉及实体的事实,其中也包括它们的邻居。此外,与FB15k相比,YAGO3-10还保留了在KG中找到的文本属性的事实。因此,其三元组的大部分都涉及人的描述性属性,如公民身份或性别。
RS作为大数据时代的产物已广泛运用于许多领域,如电影推荐[13-14]、新闻推荐[15]等。对于给定用户,RS能够为其推荐一个或多个项目。RS的方法总结如图1所示,包括基于CF的推荐,基于内容的推荐以及混合模型的推荐。
图1 推荐系统RS的方法总结
早期的研究通过学习用户和项目的表示,计算它们之间的相似度,并用得分函数表示,最后按照分数从高到低进行推荐。这些算法统称为基于相似度的方法,包括CF算法。
在基于CF的模型中,研究人员侧重于为特定用户推荐类似用户或项目的信息,而这些信息是从历史交互中检测出来的。这种交互可以是显式交互[16](如评分信息),也可以是隐式交互[17](如点击或查看)。但是该方法会导致冷启动以及数据稀疏的问题。有研究人员试图通过建立一个推理模型来缓解稀疏性问题,常用的方法是矩阵因子分解模型[18]。它从高维用户-项目交互矩阵中提取用户和项目的潜在表示,然后用内积或其他方法计算用户与项目之间的相似性,很好地解决了数据稀疏性的问题,但该方法的可解释性差,其隐空间的维度无法与现实中的概念对应起来,并且其计算量较大,训练速度缓慢。
与基于CF的模型相比,基于内容的方法从全局用户-项目交互数据中学习用户和项目的表示,从项目的内容中描述用户和项目。基于内容过滤的假设是,用户可能对与过去交互的项类似的项目感兴趣。项目的表示是从项目的辅助信息中提取到的属性,而用户的表示则是基于个人交互项目的特征。将候选项与用户进行比较的过程实际上是将它们与用户以前的记录进行匹配的过程。因此,这种方法倾向于推荐与用户过去喜欢的项目相似的项,具有一定的局限性。基于内容的推荐是最古老的一类推荐算法,在整个推荐系统发展史上具有举足轻重的地位。虽然其效果可能不如CF及新一代推荐算法好,但还是非常有应用价值的,甚至是必不可少的。
目前,研究人员在基于CF的框架中加入用户和项的内容等信息,如引入社交网络、关系数据、上下文相关的评论信息及KG等,可以获得更好的推荐性能[19]。
其中,KG由于其明确的结构和充足的资源,被广泛地应用于RS中。在KG中,实体表示节点,关系表示边,则KG可以从以下3个方面增强推荐系统的性能[20]:
(1)从节点的角度来说,KG引入了项目之间的语义关联,有助于发现项目之间的潜在关联,提高推荐项目的准确性。
(2)从边的角度来说,KG由各种类型的关系组成,有利于合理扩展用户的兴趣,即偏好,增加推荐项目的多样性。
(3)KG将用户的历史记录与推荐记录连接起来,为推荐带来了可解释性。
基于KG的RS概览图如图2所示。图2中,将关系路径当作推荐路径。如果RS给用户推荐了电影Interstellar,那么借助于KG可以解释为:因为用户喜欢Cast Away,而这部电影属于冒险类型,同时电影Interstellar也属于冒险类型,因此RS可能会将其推荐给用户。
图2 基于知识图谱的推荐系统概览
根据上述3个方面,将基于KG的RS分为以下3类:第1类是基于嵌入的方法[14,21-22],使用知识图嵌入(Knowledge Graphs Embedding,KGE)[23]算法对一个KG进行预处理,引入了项目之间的语义关联,并采用项目编码的方式将学习到的实体嵌入到一个推荐框架中;第2类是基于路径的方法[24-25],即探索KG中实体之间的各种关系模式,有利于合理扩展用户的兴趣,为RS提供额外的参考信息;第3类是将基于路径的方法和基于嵌入的方法相结合,在学习实体嵌入的同时也参考了实体之间的各种关系模式,提高了推荐的准确性和多样性。
基于嵌入的方法一般是直接使用KG中的信息来补充用户或项目的表示。为了使用KG中的信息,可以利用KGE算法将KG编码为低秩的嵌入。
Deep Knowledge-aware Network(DKN)[21]将实体嵌入和文本嵌入作为两个不同的任务,非常适用于具有文本信息的特定场景。Collaborative Knowledge-based Embedding(CKE)[22]将CF模块与知识信息嵌入、文本信息嵌入和项目的图像信息嵌入统一在一个框架中,如图3所示。CKE方法第一次使用了知识库中的结构化内容、文本的内容、视觉的内容进行推荐,并且使用了基于嵌入的方法自动提取语义表示。实验表明,引入结构知识可以提高RS的性能。
图3 基于项目图谱的推荐系统
上述方法都是使用从数据集或外部知识库中提取的项及其相关属性构造KG。这样的图被称为项目图,并且用户不包括在项目图中。另一种基于嵌入的方法是直接构建用户-项目图谱,其中用户、项及其相关属性作为节点发挥作用。在该方法中,属性级关系(年龄、性别等)和用户级关系(共同评论等)都作为边存在于KG中。Signed Heterogeneous Information Network Embedding(SHINE)模型[26]中的深度自动编码器,将名人推荐任务作为KG图中实体之间的情感链接预测任务。CFKG(Collaborative Filtering with Knowledge Graph)将用户的行为(如购买)作为两个实体之间的关系,明确地对偏好进行建模,但这种单一的偏好显然会受到严重的N-to-N问题的影响。
最近,一些学者试图通过改进学习实体/关系表示来提高推荐性能。如GAN-based model(KTGAN)[27]被用于电影推荐,BEM[28]在项目上使用了两种类型的图,即与知识相关的图(包含商品属性信息,如品牌等)和行为图(包含商品交互相关信息,包括共同购买、共同收藏等),对用户进行推荐。还有一些学者提出可以对RS中的预测任务以及KG中的链接预测任务进行联合训练,在推荐的同时也能够补全KG[29-31],如图4所示。这种联合学习的一般动机是,推荐模块中的项嵌入与KG中的关联实体嵌入共享特征。
图4 KG与RS的联合学习模型
综上所述,基于嵌入的方法本质上利用了图结构中的信息,使用多种类型的项目附加信息构建KG,以丰富项目的表示;并且可以使用这些信息对用户表示进行更精确的建模,或通过向图中引入用户来构建用户项图,从而直接对用户偏好进行建模。但这些方法中采用的KGE算法更侧重于对严格的语义关联进行建模,更适合于图内的应用,如KG补全和链接预测[32],而不是推荐。
基于路径的方法以一种更加自然和直观的方式使用KG。具体来说,基于路径的方法通过构建一个用户-项图,探索KG中项目之间的各种连接模式,为推荐提供额外的引导。通常,这些模型利用用户或用户与项的连接相似性来增强推荐性能。
文献[33]中Hete-MF模型提取了L个不同的元路径,并在每个路径中计算项-项之间的相似性以获得更好的推荐结果。在Hete-MF模型的基础上,Hete-CF模型[34]通过引入用户-用户之间的相似度、项-项之间的相似度以及用户-项目之间的相似度,以找出用户与未评级项目的密切关系。因此,Hete-CF模型优于Hete-MF模型。文献[35]中HeteRec模型利用元路径的相似性来丰富用户-项目交互矩阵,以便提取用户和项目的更全面的表示。HeteRec-p模型[36]又进一步考虑了不同元路径对于不同用户的重要性。
与上述方法相比,文献[37]中SemRec模型不仅考虑了用户喜欢的项目,而且讨论了用户与其过去讨厌项目之间的交互。该框架利用加权HINs和加权元路径将属性值集成到链路中。通过对正面和负面偏好模式进行建模,并利用这些路径更精确地描述项关系和用户相似度,从而传播真实的用户偏好。另外,为了解决繁琐的调优超参数问题,RuleRec模型[38]通过利用项目在外部KG中的连接性,学习相关项目(共同购买、共同点击等)之间的关系,联合训练一个规则学习模块和一个项目推荐模块,具有良好的性能。
综上所述,传统的基于路径的方法一般是将MF与HINs中提取元路径进行整合。这些方法利用路径连接性来规范或丰富用户和/或项的表示,但是它们严重依赖于手工设计的元路径/元图,在实践中很难达到最优。另外,如果实体和关系不在同一域中(如新闻推荐),则无法手工设计或制作元路径/元图。随着深度学习技术的发展,研究人员提出了对路径嵌入进行显式编码的模型,使用路径嵌入来生成推荐,或通过发现连接用户-项对的最显著路径来生成推荐。例如,循环知识图嵌入[39]使用循环网络计算连接用户-项对的多个路径的嵌入,然后利用池化操作聚合这些路径嵌入来用于推荐。但是,由于该方法中学习的实体嵌入没有被KG的语义规范化,从而削弱了KG的指导作用,容易出现过拟合的情况。
基于嵌入的方法利用KG中用户/项的语义表示进行推荐,而基于路径的方法使用语义连接性信息进行推荐,但是这两种方法都只利用了图中信息的一个方面。为了充分利用KG中的信息以获得更好的建议,相关文献提出了集实体、关系的语义表示和连通性信息于一体的统一方法。这些方法以KG中用户-项的连接结构为指导,对实体表示进行细化,在获得用户和潜在项目的丰富表示后,可以预测用户的偏好。
文献[15]首次介绍了偏好传播的概念RippleNet。具体来说,RippleNet分为向外传播和向内传播两个版本。向外传播过程中,通过沿着KG中用户一项对的连接自动地、迭代地扩展用户的潜在兴趣,从而激发用户对一组知识实体的偏好的传播;向内传播过程中,在计算给定实体的表示时,有偏倚地聚合和合并领域信息,从而可以扩展到多个下一跳,以模拟高阶邻近性并捕获用户的远程兴趣。与RippleNet类似,文献[40]中AKUPM(Auention-enhanced Knowledge aware User Preference Model)模型首先借助于TransR模型对实体进行表示,在每个传播过程中,AKUPM模型通过一个self-attention层来学习实体之间的关系,并有偏差地传播用户对不同实体的偏好。最后,使用self-attention机制聚合来自交互项的不同顺序邻居的嵌入,以获得最终的用户表示。在AKUPM模型的基础上,RCoLM(Robustly Co-Learning Model)模型[41]将训练知识图谱补全任务和推荐任务进行了统一,并促进了它们之间的相互增强。KGCN(Knowledge Graph Convolutional Networks)模型[42]通过将来自候选项的遥远邻居的实体嵌入到KG中,从而对候选项的最终表示进行建模。KGCN模型和RippleNet模型的思想比较相似,前者是从内部学习遥远邻居的项目表示,后者则是从历史兴趣中向外传播用户的偏好来对用户进行建模。此外,KGCN模型利用了GCN(Graph Convolutional Networks)的思想,通过抽样固定数量的邻居作为接受域,使得学习过程非常高效和可伸缩。
RippleNet模型及其扩展模型关注于在项目KG上使用嵌入传播机制。KGAT模型[43]通过嵌入传播,直接对用户与项目之间的高阶关系进行了建模。KNI模型[44]进一步考虑了项目邻居和用户邻居之间的交互,使用户嵌入和项目嵌入的细化过程不分离。IntentGC模型[45]利用图中丰富的用户相关行为获得了更好的推荐结果。IntentGC模型设计了一个更快的图形卷积网络,保证了模型的可扩展性。AKGE模型[46]通过在用户-项的子图中传播信息来学习用户和项目之间的表示,子图的构造过滤了图中关联较少的实体,有助于挖掘高阶用户-项关系进行推荐。
综上所述,基于嵌入的方法使用KGE方法对KG进行预处理,以获得实体和关系的嵌入,并将其进一步集成到推荐框架中。然而,这种方法忽略了图数据中的信息连通性模式,缺乏可解释性,无法给出有原因的推荐结果。基于路径的方法利用用户-项目图来发现项目的路径相似性,要么通过预先定义元路径,要么通过自动挖掘连接模式。两者相结合的方法不仅利用了KG的语义嵌入,也利用了语义嵌入路径模式的优点,继承了基于路径方法的可解释性。这些方法利用嵌入传播的思想来细化KG中具有多跳邻居的项或用户的表示,是很有前景的一个研究方向。
推荐系统作为当下最热门的研究热点之一,无论是工业界还是学术界都有大量的研究者投身其中。其未来的发展趋势主要有以下3个较有发展潜力的方向。
(1)基于迁移学习的RS 迁移学习一直是研究热点,在国内外的应用也非常广泛。使用迁移学习技术,可以共享来自具有丰富数据的源域的交互数据,以便在目标域内进行更好的推荐,而且在RS中还可能会出现跨域的交互数据不相等的情况,因此将迁移学习应用到RS中非常有必要。目前有学者[47]提出了一种基于矩阵的跨域推荐方法。
(2)基于多任务联合学习的RS 在推荐系统中,模型的任务是要为特定用户推荐一个或多个其心仪的项目,而在KG的链接预测任务中,是要找到具有关系的实体。目前KG图谱在应用中大多是基于封闭世界假设,缺失的边或实体会对推荐系统等预测任务带来一定的影响,所以基于开放世界假设KG的提出非常有必要。CAO Y X等人[30]提出了KG和RS任务联合训练,这种联合学习的目的是使得推荐模块中的项嵌入与KG中的关联实体嵌入共享特征。
(3)基于动态KG的RS 在某些情况下,如餐饮、购物、光伏发电的设备选型和物资采购等,用户的兴趣会受到某些因素的影响,使用静态偏好建模的推荐无法获得用户的实时兴趣。因此,为了捕获用户的动态偏好,基于动态KG的RS将会是一个很有发展前景的研究方向。
随着人工智能对数据处理和理解需求的逐渐增加,KG的研究不断升温。在构建太阳能光伏产业新兴技术辨识模型的基础上,运用科学计量以及科学知识图谱生成等方法对光伏产业技术的文献及专利数据进行分析解读;并根据应用相关软件所生成的科学知识图谱提取出技术演进的时间维度及其领域维度,具有很强的研究意义。融合KG与其他领域的发展,已然成为人工智能进一步发展的重要思路之一。本文对目前的KG以及RS技术进行了简单的介绍,对基于KG的RS进行了详细的阐述,并对其未来的发展趋势作出了展望,以其为光伏产业技术的发展和研究提供参考。