0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

知识图谱在推荐系统中可能的应用价值

8g3K_AI_Thinker 来源:未知 作者:胡薇 2018-06-06 14:33 次阅读

我们几乎每天都会接收到各种各样的推荐信息,从新闻、购物到吃饭、娱乐。个性化推荐系统作为一种信息过滤的重要手段,可以依据我们的习惯和爱好推荐合适的服务。但传统的推荐系统容易出现稀疏性和冷启动的问题,而知识图谱作为一种新兴类型的辅助信息,近几年逐渐引起了研究人员的关注,本文将向大家介绍知识图谱的相关知识以及知识图谱在推荐系统中可能的应用价值。一起来学习一下吧!

小王是一名程序员。早上八点,他被闹铃叫醒,拿起手机开始浏览手机上的新闻APP推荐的最新消息:

随后,小王想起昨晚放在购物车里的鞋还没有下单。于是,他打开了某购物APP,查看了一下自己的购物车:

但是他觉得下面推荐的板鞋似乎更适合自己,于是他买了一双。

吃完早饭,小王坐地铁去上班。地铁上无聊的小王打开了某音乐APP,系统已经为他选好了推荐的歌曲:

到了公司后,小王开始继续写没有完成的代码,但是始终无法把参数调到满意的水平。有些烦躁的小王想歇一歇,于是打开了某资讯APP,看了几个为他推荐的话题

就在他认真阅读的时候,经理注意到了他不在干活,很生气,于是严肃地批评了小王。小王感到很委屈,这时手机里的某求职类APP给他发来了推送:

小王觉得这几个职位都挺适合自己的,于是心里有了跳槽的打算。到了午饭时间,小王打开了某外卖APP,查看了一下系统推荐的附近餐厅:

小王一边吃着刚刚送来的外卖,一边浏览着某娱乐类APP,查看适合晚上和女朋友一起观看的演出推荐:

晚上看完演出,小王和女朋友都非常满意,觉得这个APP的系统推荐很棒。

推荐系统

跟小王一样,我们几乎每个人每天都会使用多个APP中的推荐功能,这些功能的背后都是个性化推荐系统(personalized recommender systems)。随着互联网技术和产业的迅速发展,接入互联网的服务器数量和网页数量也呈指数级上升。用户面临着海量的信息,传统的搜索算法只能呈现给用户(user)相同的物品(item)排序结果,无法针对不同用户的兴趣爱好提供相应的服务。信息爆炸使得信息的利用率反而降低,这种现象被称为信息超载(information overload)。

推荐问题从本质上说就是代替用户评估其从未看过、接触过和使用过的物品,包括书籍、电影、新闻、音乐、餐馆、旅游景点等。推荐系统作为一种信息过滤的重要手段,是当前解决信息超载问题的最有效的方法之一,是面向用户的互联网产品的核心技术。

推荐系统的任务和难点

按照预测对象的不同,推荐系统一般可以分成两类:一类是评分预测(rating prediction),例如在电影类应用中,系统需要预测用户对电影的评分,并以此为根据推送其可能喜欢的电影。这种场景下的用户反馈信息表达了用户的喜好程度,因此这种信息也叫显式反馈(explicit feedback);另一类是点击率预测(click-through rateprediction),例如在新闻类应用中,系统需要预测用户点击某新闻的概率来优化推荐方案。这种场景下的用户反馈信息只能表达用户的行为特征(点击/未点击),而不能反映用户的喜爱程度,因此这种信息也叫隐式反馈(implicit feedback)。

传统的推荐系统只使用用户和物品的历史交互信息(显式或隐式反馈)作为输入,这会带来两个问题:一,在实际场景中,用户和物品的交互信息往往是非常稀疏(sparse)的。例如,一个电影类APP可能包含了上万部电影,然而一个用户打过分的电影可能平均只有几十部。使用如此少量的已观测数据来预测大量的未知信息,会极大地增加算法的过拟合(overfitting)风险;二,对于新加入的用户或者物品,由于系统没有其历史交互信息,因此无法进行准确地建模和推荐,这种情况也叫做冷启动问题(cold start problem)。

解决稀疏性和冷启动问题的一个常见思路是在推荐算法中额外引入一些辅助信息(side information)作为输入。辅助信息可以丰富对用户和物品的描述、增强推荐算法的挖掘能力,从而有效地弥补交互信息的稀疏或缺失。常见的辅助信息包括:

社交网络(social networks):一个用户对某个物品感兴趣,他的朋友可能也会对该物品感兴趣;

用户/物品属性(attributes):拥有同种属性的用户可能会对同一类物品感兴趣;

图像/视频/音频/文本等多媒体信息(multimedia):例如商品图片、电影预告片、音乐、新闻标题等;

上下文(context):用户-物品交互的时间、地点、当前会话信息等。

……

如何根据具体推荐场景的特点将各种辅助信息有效地融入推荐算法一直是推荐系统研究领域的热点和难点,如何从各种辅助信息中提取有效的特征也是推荐系统工程领域的核心问题。

知识图谱

在各种辅助信息中,知识图谱作为一种新兴类型的辅助信息近几年逐渐引起了研究人员的关注。知识图谱(knowledge graph)是一种语义网络,其结点(node)代表实体(entity)或者概念(concept),边(edge)代表实体/概念之间的各种语义关系(relation)。一个知识图谱由若干个三元组(h、r、t)组成,其中h和t代表一条关系的头结点和尾节点,r代表关系。

上图展示的三元组表达了“陈凯歌导演了霸王别姬”这样一条事实,其中h=陈凯歌、t=霸王别姬、r=导演。

知识图谱包含了实体之间丰富的语义关联,为推荐系统提供了潜在的辅助信息来源。知识图谱在诸多推荐场景中都有应用的潜力,例如电影、新闻、景点、餐馆、购物等。和其它种类的辅助信息相比,知识图谱的引入可以让推荐结果更加具有以下特征:

精确性(precision)。知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣;

多样性(diversity)。知识图谱提供了不同的关系连接种类,有利于推荐结果的发散,避免推荐结果局限于单一类型;

可解释性(explainability)。知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。

这里值得一提的是知识图谱和物品属性的区别。物品属性可以看成是在知识图谱中和某物品直接相连的一跳(1-hop)的节点,即一个弱化版本的知识图谱。事实上,一个完整的知识图谱可以提供物品之间更深层次和更长范围内的关联,例如,“《霸王别姬》-张国荣-香港-梁朝伟-《无间道》”。正因为知识图谱的维度更高,语义关系更丰富,它的处理也因此比物品属性要更加复杂和困难。

一般来说,现有的可以将知识图谱引入推荐系统的工作分为两类:

以LibFM[1]为代表的通用的基于特征的推荐方法(generic feature-based methods)。这类方法统一地把用户和物品的属性作为推荐算法的输入。例如,LibFM将某个用户和某个物品的所有属性记为x,然后令该用户和物品之间的交互强度y(x)依赖于属性中所有的一次项和二次项:

基于该类方法的通用性,我们可以将知识图谱弱化为物品属性,然后应用该类方法即可。当然,这种做法的缺点也显而易见:它并非专门针对知识图谱设计,因此无法高效地利用知识图谱的全部信息。例如,该类方法难以利用多跳的知识,也难以引入关系(relation)的信息。

以PER [2]、MetaGraph[3]为代表的基于路径的推荐方法(path-based methods)。该类方法将知识图谱视为一个异构信息网络(heterogeneous information network),然后构造物品之间的基于meta-path或meta-graph的特征。简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。这类方法的优点是充分且直观地利用了知识图谱的网络结构,缺点是需要手动设计meta-path或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。

知识图谱特征学习

知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。事实上,知识图谱特征学习是网络特征学习(network embedding)的一个子领域,因为知识图谱包含特有的语义信息,所以知识图谱特征学习比通用的网络特征学习需要更细心和针对性的模型设计。一般而言,知识图谱特征学习的模型分类两类:

基于距离的翻译模型(distance-based translational models)。这类模型使用基于距离的评分函数评估三元组的概率,将尾节点视为头结点和关系翻译得到的结果。这类方法的代表有TransE、TransH、TransR等;

基于语义的匹配模型(semantic-based matching models)。这类模型使用基于相似度的评分函数评估三元组的概率,将实体和关系映射到隐语义空间中进行相似度度量。这类方法的代表有SME、NTN、MLP、NAM等。

由于知识图谱特征学习为每个实体和特征学习得到了一个低维向量,而且在向量中保持了原图的结构和语义信息,所以一组好的实体向量可以充分且完全地表示实体之间的相互关系,因为绝大部分机器学习算法都可以很方便地处理低维向量输入。因此,利用知识图谱特征学习,我们可以很方便地将知识图谱引入各种推荐系统算法中。概括地说,知识图谱特征学习可以:

降低知识图谱的高维性和异构性;

增强知识图谱应用的灵活性;

减轻特征工程的工作量;

减少由于引入知识图谱带来的额外计算负担。

在本篇中,我们分别介绍了推荐系统、知识图谱、以及知识图谱在推荐系统中的应用价值。作为推荐算法的辅助信息,知识图谱的引入可以极大地提高推荐系统的精准性、多样性和可解释性。在下周的文章中,我们将详述将知识图谱引入推荐系统的各种思路与实现,敬请期待!

参考文献

[1] Factorization machines with libfm

[2] Personalized entity recommendation: A heterogeneous information network approach

[3] Meta-graph based recommendation fusion over heterogeneous information networks

[4] Knowledge graph embedding: A survey of approaches and applications

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 推荐系统
    +关注

    关注

    1

    文章

    42

    浏览量

    10021
  • 知识图谱
    +关注

    关注

    2

    文章

    131

    浏览量

    7590

原文标题:推荐算法不够精准?让知识图谱来解决

文章出处:【微信号:AI_Thinker,微信公众号:人工智能头条】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NLPIR系统KGB知识图谱技术助力大数据深度挖掘

    (Knowledge Graph Builder)知识图谱引擎是我们自主研发的知识图谱构建与推理引擎,基于汉语词法分析的基础上,采用KGB语法实现了实时高效的知识生成,可以从非结构化文本
    发表于 12-05 11:49

    NLPIR大数据知识图谱完美展现文本数据内容

    。现在,一种有效获取知识、发现知识和探测知识前沿的新领域与新手段——以知识单元为分析基础的知识图谱知识
    发表于 07-01 11:40

    知识图谱相关应用

    智慧风控的背后,是知识图谱的深度应用
    发表于 08-22 14:40

    KGB知识图谱基于传统知识工程的突破分析

    知识图谱本质上是一种大规模的语义网络。从2012年谷歌提出知识图谱知识图谱一直在快速发展,其应用也不再局限于“语义网络”范畴。现如今的知识图谱在实际应用
    发表于 10-22 15:25

    KGB知识图谱技术能够解决哪些行业痛点?

    `知识图谱和行业应用相互结合时,需要充分发挥其技术特色,且要适用于现在的企业应用。那么知识图谱的应用可以解决那些行业问题呢?知识图谱在行业应用方面实现的突破具体表现在知识表示、
    发表于 10-30 15:34

    知识图谱的三种特性评析

    知识图谱的目标类别是否明确的定义了很多种,例如人物知识图谱是否能根据职业角色将人物定义划分为几百种,并自动识别每一个新目标的职业角色;当职业角色带来特定的关系限制时,能否自动补全这些关系,例如当
    发表于 12-13 13:57

    KGB知识图谱帮助金融机构进行风险预判

    格式文件,保留文件中表格与文字格式等重要信息。对于图片信息,OCR可自动识别并抽取图片中的文字信息。2. 知识抽取:KGB知识图谱引擎,可从结构化表格与非结构化文本自适应识别并抽取关键知识
    发表于 06-18 23:07

    KGB知识图谱通过智能搜索提升金融行业分析能力

    知识图谱作为知识的一种形式,已经在语义搜索、智能问答、数据分析、自然语言理解、视觉理解、物联网设备互联等多个方面发挥出越来越大的价值。尤其在金融领域,KGB知识图谱能够实现数据可视化,
    发表于 06-22 21:23

    一文带你读懂知识图谱

    1 什么是知识图谱? 通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。 知识图谱这个网络具备以下3种特性: 1.1
    的头像 发表于 12-26 10:23 3265次阅读

    知识图谱划分的相关算法及研究

    知识图谱是人工智能的重要基石,因其包含丰富的图结构和属性信息而受到广泛关注。知识图谱可以精确语义描述现实世界中的各种实体及其联系,其中顶点表示实体,边表示实体间的联系。知识图谱划分是大规模知识
    发表于 03-18 10:10 9次下载
    <b class='flag-5'>知识图谱</b>划分的相关算法及研究

    知识图谱在工程应用中的关键技术、应用及案例

    近年来,知识图谱及其相关技术得到快速发展,并被广泛应用于工业界各种认知智能场景中。在简述知识图谱相关研究的基础上,介绍知识图谱在工程应用中的关键技术,研究工业级知识图谱的典型应用场景与
    发表于 03-30 15:12 13次下载
    <b class='flag-5'>知识图谱在</b>工程应用中的关键技术、应用及案例

    通用知识图谱构建技术的应用及发展趋势

    知识图谱的概念由谷歌于2012年提出,随后逐渐成为人工智能领域的一饣研究热点,已在信息搜索、自动问答、决策分析等应用中发挥作用。虽然知识图谱在各领域展现出了巨大的潜力,但不难发现目前缺乏成熟的知识图谱
    发表于 04-14 11:37 27次下载
    通用<b class='flag-5'>知识图谱</b>构建技术的应用及发展趋势

    知识图谱是NLP的未来吗?

    我的看法:知识图谱不是NLP的未来,因为知识图谱是另外一种与NLP有很多交集的技术。在目前所有已知的发展方向中,知识图谱是最有可能长期和NLP互利共生的技术。
    的头像 发表于 04-15 14:36 3349次阅读
    <b class='flag-5'>知识图谱</b>是NLP的未来吗?

    知识图谱Knowledge Graph构建与应用

    一、知识图谱概论         1.1知识图谱的起源和历史 1.2知识图谱的发展史——从框架、本体论、语义网、链接数据到知识图谱 1.3知识图谱
    发表于 09-17 10:12 444次阅读

    知识图谱知识图谱的典型应用

    的数据,是一个超级知识库,所以我们可以依赖它进行搜索一些内容,由于知识图谱的数据组织方式是计算机能理解的,具有语义,这种搜索可以定义为语义搜索。第二,对搜索进行延伸,搜索的结果可能会有很多,按照一定的规则排序,如果只取最
    的头像 发表于 10-18 09:26 1144次阅读
    <b class='flag-5'>知识图谱</b>:<b class='flag-5'>知识图谱</b>的典型应用