知识图谱(11)-基于知识的搜索和推荐

date
Sep 27, 2022
slug
KG-Search-and-recommendation
status
Published
tags
KG
搜索
推荐
summary
type
Post

知识图谱驱动的搜索与推荐:三大核心任务与技术全景

notion image
参考:知识图谱发展报告(2022)下载链接 (访问密码: 2096)
从谷歌、百度等通用搜索,到电商、学术网站的垂直搜索,我们每天都在与各种搜索和推荐系统打交道。它们的核心使命始终如一:精准捕获用户意图,返回匹配的结果。近年来,知识图谱(Knowledge Graph)作为一种能描述世界知识的“超级大脑”,正深刻地改变着搜索与推荐的技术范式。本文将系统性地剖析基于知识的搜索与推荐,带你了解其三大核心任务,并一窥背后的关键技术与未来趋势。

一、核心任务:我们究竟在“搜索”什么?

当我们将知识图谱引入搜索与推荐,其描述的实体和关系本身既可以是搜索的目标,也可以是增强搜索能力的辅助资源。根据用户需求的不同,我们可以将“基于知识的搜索与推荐”的核心任务划分为三大类:
  1. 实体搜索与推荐 (Entity Search & Recommendation): 这是最常见和应用最广泛的任务,目标是从知识图谱中找出用户需要的实体。例如,在电商中搜索一部手机、在学术网站上推荐一篇论文,都属于此范畴。
  1. 实体关系搜索 (Entity Relationship Search): 当我们关心的不再是单个实体,而是实体之间的联系时,就进入了关系搜索的领域。其目标是从知识图谱中找出用户关注的一组实体之间的关系,例如挖掘企业间的投资链条,或推荐社交网络中的人际关系路径。
  1. 基于关键词的知识探索 (Keyword-based Knowledge Exploration): 这是前两类任务的泛化形式。用户可能没有明确的实体或关系目标,只是想通过一组关键词来探索和理解知识图谱的某个领域。其目标是返回一个与关键词相关的、有意义的知识子图。

二、实体搜索与推荐:找到你想要的那个“点”

实体搜索与推荐是整个领域技术最成熟、应用最广泛的方向。其输入通常是一组关键词或用户感兴趣的实体,输出则是一个排序后的实体列表。
1. 核心模型:如何从输入到输出?
  • 从关键词到实体: 最直接的方法是关键词匹配。但用户往往描述的是实体的属性,而非其精确名称。因此,早期技术会将一个实体的所有属性信息整合成一个“虚拟文档”,再使用经典的文档搜索技术(如VSM、TF-IDF)进行匹配。然而,这种方法无法区分不同属性的重要性。后续的BM25F、FSDM等模型则通过为不同属性赋予不同权重来优化,而排序学习(Learning to Rank)技术则能综合更多特征,得到更优的排序结果。
  • 从实体到实体: 这类任务更偏向于“推荐”。当用户输入一个或一组实体后,系统需要推荐其他相关实体。核心思路有两类:一类是从输入实体出发,在知识图谱上进行“随机游走”,根据到达其他实体的概率来衡量相关性;另一类是分析输入实体集共有的结构特征(如共同的类型、属性、关联路径模式等),再基于这些特征去发现更多相似实体。其中,元路径 (Meta-path) 是一个关键概念,它定义了实体间特定的语义关系模式,极大地提升了推荐的准确性和可解释性。
2. 关键挑战:排序、探索与摘要
  • 实体排序: 除了与查询的相关性,实体自身的“重要性”也至关重要。这通常通过图论中的中心性算法来度量,如PageRank、HITS等,它们能有效评估一个实体(节点)在整个知识图谱中的影响力。
  • 结果探索: 当搜索结果数量巨大时,如何帮助用户高效筛选?分面搜索 (Faceted Search) 是主流方案。系统自动按实体的关键属性(如品牌、类别、价格区间)进行分组,用户通过点选这些“分面”即可快速过滤掉无关结果。
  • 实体摘要: 在结果列表中,每个实体应该展示哪些信息?实体摘要算法的目标就是自动从海量属性中挑选一个最优子集,既能突出核心信息,又能保证多样性和可读性,帮助用户快速判断其相关性。

三、实体关系搜索:连接知识的“边”

实体关系搜索关注的是知识图谱中的连接结构,其技术挑战与实体搜索有所不同。
1. 核心算法:如何找到连接?
  • 两个实体间: 关系通常被定义为连接两个实体的路径。当需要寻找最重要的关系时,问题可以转化为在带权图上寻找最短路径,可通过经典的Dijkstra等算法解决。
  • 多个实体间: 当输入是多个实体时,目标是找到一个能连通所有这些实体的“最小”子图。这个问题在图论中是一个经典的NP难问题——斯坦纳树 (Steiner Tree) 问题。由于其计算复杂度极高,工业界和学术界通常采用各种近似算法和启发式搜索策略来求解。
2. 关键挑战:关系排序与探索
如何评价一条关系(一个子图)的重要性?一种直观但有效的方法是,规模越小、结构越紧凑的子图,其所描绘的关系通常越重要。此外,子图中顶点和边的类型多样性、平均相似度等宏观特征,也比简单地累加单个边或点的权重更为有效。

四、基于关键词的知识探索:在知识海洋中自由漫游

这是最灵活但也最具挑战性的任务。用户仅提供一组关键词,系统需要返回一个包含这些关键词的、有意义的知识子图。
这个问题通常被建模为组斯坦纳树 (Group Steiner Tree, GST) 问题。即每个关键词可能对应图谱中的多个实体节点,目标是找到一棵权和最小的树,它能连接上每个关键词所对应的节点组中的至少一个节点。这同样是一个NP难问题。为了在超大规模知识图谱上实现高效搜索,研究者们设计了大量精巧的近似算法和索引技术(如双向搜索、距离索引、中心标记索引等),用以在保证效果的前提下,大幅提升搜索性能。

总结与展望

基于知识的搜索与推荐已经形成了一个层次分明、技术多样的研究体系。从“找点”(实体搜索)、到“连边”(关系搜索)、再到“探图”(知识探索),技术正不断深化,以满足日益复杂的用户需求。
关键启示 (Takeaways):
  1. 从“能用”到“好用”:可解释性是下一站。 对于已相对成熟的实体搜索与推荐,未来的研究重点将转向如何提升结果的可解释性,让用户明白“为什么推荐这个给我”。
  1. 关系搜索:沉睡的巨人正在苏醒。 实体关系搜索虽然研究历史悠久,但受限于性能瓶颈,应用发展较缓。随着技术成熟,它有望成为知识图谱应用的下一个爆发点。
  1. 更大的图景:从图内搜索到图的搜索。 当前研究大多局限于单个给定的知识图谱。然而,在开放的网络环境下,首先需要解决的问题是“应该去哪个知识图谱里搜索?”。数据集搜索(Dataset Search)以及将搜索能力深度内化为知识图谱管理系统的基础组件,将是未来广阔的研究空间。

© Baiye 2022 - 2025