logo
企业版

用户案例

腾讯音乐:腾讯音乐知识图谱搜索实践

本文来自于 腾讯音乐 高级工程师 -Elvin 在 NebulaGraph 社区的分享,详情见 博客

公司简介

腾讯音乐娱乐集团 (NYSE: TME) 简称腾讯音乐,是中国在线音乐娱乐服务领航者,拥有中国广受喜爱和独具匠心的音乐平台:QQ音乐、酷狗音乐、酷我音乐和全民K歌,总月活用户数超过8亿。

业务挑战

原有的搜索召回主要是基于文本匹配,召回后还需进行相关性排序,存在召回流程/排序策略复杂,精准度不足,以及过度召回的问题,难以满足业务需求。

解决方案

腾讯音乐 知识图谱项目架构介绍

Product architecture

由于音乐数据有实时的新增数据(例如新增发行的唱片),还有全量数据的更新,所以选择了全量+增量的方案。数据通过 IndexBuilder 模块完成格式转换后上传到 HDFS,通过运行 Spark 任务,把数据转为 NebulaGraph 底层所需的数据文件,IndexMgr 发现有新的常量数据生成后,将数据文件下载下来,将全量数据加载到 NebulaProxy,这样全量数据就生成好了。每隔几分钟,业务修改数据再转为特定的格式,形成一个增量的源数据,通过 NebulaProxy 发送到集群。

场景1: 复杂搜索查询

音乐知识图谱不仅可以做简单的搜索,还可以实现复杂搜索需求。

例如:查询周杰伦的男女对唱的歌曲有哪些,在传统关系型数据中要进行多重限制,而知识图谱只要两跳就可以实现。

场景2:搜索结果关联推荐

根据搜索的关键词查询图谱中的实体节点,进而查询出关联的节点,用关联的节点给出推荐的结果。

例如:用户搜索周华健,通过关联信息可以自动推荐出李宗盛(歌手名- 组合名「纵贯线」- 自动联想:同组合成员)

场景3:基于知识计算给出答案

通过图谱的关联信息、实体上下位信息、实体属性信息,根据知识图谱的计算结果查询出相应的答案。

例如:用户想知道刘德华在90年代的歌曲,输入“刘德华”+“90年代” 即可获得

使用收益

1、召回流程短,搜索更快更精准:传统的搜索召回是基于文本匹配,流程复杂准确度不足,而知识图谱搜索召回是基于实体之间的关系进行查询,搜索召回具有结果精准、流程短的优点

2、想用户所想,搜索体验明显提升:基于图数据技术实现的知识库具备一定的推理能力,增强了检索、推荐、可视化等功能,提高了客户的搜索体验感,提升 APP 使用黏性