《中国人工智能学会通讯》——7.23 知识图谱在信息检索中的应用

简介: 本节书摘来自CCAI《中国人工智能学会通讯》一书中的第7章,第7.23节, 更多章节内容可以访问云栖社区“CCAI”公众号查看。

7.23 知识图谱在信息检索中的应用

随着知识图谱相关技术的逐渐成熟,近年来,学术界也开始了对知识图谱的在搜索引擎中的应用的探索。目前常用的方法是:先通过实体标注等技术将搜索引擎和知识图谱联系起来;然后利用知识图谱中的信息来更好地理解查询词条和改进排序模型。

知识图谱和搜索引擎的结合

知识图谱和之前搜索引擎中常见的数据有很大不同。首先,知识图谱是图结构的,而搜索引擎中更常见的是文本和网页;同时,知识图谱中的信息更语义化。要想能够在搜索引擎中使用知识图谱,首要要做的是把知识图谱,或者更具体地说,其中的实体,和搜索引擎给对接起来。目前常见的方法有如下四种。

●  人工标注:人工挑选相关和查询词条相关的实体。这种方法直观、可靠。但是只能一定程度上代表知识图谱效果的某种上限,很难大规模使用。

●  搜索词条中的实体标注[3] :使用实体标注系统找出在搜索词条中出现的实体,并连接到知识图谱中对应的节点上。因为实际用户在搜索词条中提到的实体很大概率上反映用户的意图,所以通过搜索词条上的实体标注可以提供相对高质量的相关实体。

●  实体搜索:建立一个实体搜索引擎,将查询词条的前几条实体搜索结果当作相关实体[5] 。

●  文档实体标注:对候选文档进行实体标注,然后所有候选文档的实体标注中选择最频繁出现的那部分当作相关实体。这种方法使用了经典的伪相关反馈假设。即被搜索引擎排在前面的文档结果应当是相关的,这些文档中常出现的实体也应该是相关的[4] 。

总的来说,这四种方法各有特点。人工标注能够保证相关实体的准确性,但是只具有指导意义;搜索词条中的实体标注能够提供更直接、更精确的相关实体,但是数量有限;实体搜索和文档实体标注结果从不同角度提供了更丰富的相关实体,但是也引入了更多噪声。表 1 给出了几种不同的方法找出的相关实体结果,作为示例。image
基于知识图谱的用户查询词条理解

得到了查询词条的相关实体之后,最直观的方法是用这些实体来帮助理解查询词条。目前主要的方法有查询词条扩展和排序模型的特征扩展两种。

基于 Freebase 的查询词条扩展[6]

本 方 法 利 用 Freebase 这 个 目 前 最 大、 覆盖面最广的知识图谱,来提升查询扩展(queryexpansion)的效果。查询扩展是搜索中很常用的技术。一般用户给的查询词条很短,平均约 2~3 词。这导致了用户意图很难被搜索引擎准确理解。为了解决这个问题,查询扩展技术找到一系列能够反映用户意图的词语(扩展词),作为查询词条的补充。

在知识图谱里,实体的文本描述是由领域专家提供的对实体的解释。这些文本解释不但质量比网页更高,也提供了更丰富的语义信息。例如,“微软中国”这个实体的文本描述中会提到大量的微软公司以及中国分公司的知识。这些知识能够帮助搜索引擎更好地理解和“微软中国”相关的搜索词条。

具体做法可以分成两步。第一步,先找到查询词条的相关实体。由于查询扩展一般需要一个较大的候选集合来投票得出扩展词。这里主要使用的方法是实体搜索和文档实体标注来找到相关实体。第二步,从相关实体的文本描述中选择扩展词。这一步也有两种方法:第一种方法用经典的 TF-IDF,在文本描述中选择出现更频繁(TF),在整个数据集中又相对少见(IDF)的词。第二种方法用Freebase 中的分类信息训练一个分类器,将查询词和候选词语分类。之后再选择和查询词在类别上相似的词语作为扩展词。

本方法在 TREC 评测中网页搜索的数据集上,将查询扩展的效果提升了 10%~30%。和之前的方法相比,这个方法主要的区别就是使用了知识图谱中的信息。这样能带来最高可达 30% 搜索效果的提升,也反映了知识图谱在搜索中的有效性。

排序模型中特征扩展[7]

搜索引擎中目前常见的排序方法都是基于机器学习的(learning to rank)。一个好的排序算法可以分为特征和模型两个部分。知识图谱中的信息,除了可以拿来扩展查询词条之外,也可以给排序算法提供更丰富的特征。

本方法首先利用实体搜索和查询词条,以及文档上实体标注,从 Freebase 中找到到相关实体。然后,将相关实体的各种文本属性,包括类别名、名称,以及实体在文档中的上下文等,作为虚拟的子查询词条。这些子查询词条和文档的各种文本相似度被当作新的特征加入到现有的排序模型中。这些排序特征引入了来自于知识图谱不同维度的语义信息,提供了一个更大的模型空间供机器学习模型来学习排序函数。在 TREC 的网页搜索任务上和新闻搜索数据集上,这个方法能够达到或者超过之前的排序模型效果。

基于知识图谱的排序模型

之前的方法是首先通过知识图谱来扩展查询词条,或者抽取更多特征,然后在此基础上应用传统的模型进行排序。相比之下,一个更直观做法是从最终的查询结果优化的角度出发,直接利用知识图谱构建新的搜索模型。目前有效的做法是将找到的相关实体作为联系查询词条和文档之间的桥梁,并在排序模型中统一考虑查询词条、相关实体和候选文档之间的联系。根据是否使用了训练数据,现今做法可以分为无监督和有监督这两类。

无监督的实体隐变量模型(LES) [8]

本方法使用人工标注的实体来作为查询词条和候选文档之间的中间层,然后利用标注的实体的文本描述和查询词条,以及文档的文本相似度对文档进行排序。

具体来说,假定查询词条是 q,一篇候选文档是 d,则传统语言模型假设下的相关性可以认为是p(q|d),即文档 d 的语言模型生成 q 的概率。而给定相关实体之后,可以假设 q 和 d 之间的互动是通过相关实体作为中间层实现的。这样的话,相关性可以被表示为e /p(q|e)p(e|d)。其中 e 表示一个相关实体,p(e|d) 和 p(q|e)则通过文档、实体和查询词条的文本描述的文本相似度来计算。

作为一个简单的无监督方法,此模型在 2015年的 TREC 网页搜索比赛中获得了最好的搜索效果,超过了诸多基于机器学习和传统排序特征的有监督模型。当然,这种方法很依赖相关实体的精确度,目前主要依靠人工标注来保证效果,很难自动地在实际系统中上使用。但是,作为一个简单的方法,它的效果也进一步反映了知识图谱在排序模型中的潜力。

有监督的实体隐变量模型 (EsdRank) [9]

EsdRank 和 LES 同样将相关实体作为排序模型中的查询词和文档之间的隐含层进行建模。不同的是 EsdRank 利用各种特征表示查询词、相关实体和文档之间的相关性,并使用 Learning to Rank学习这些特征的权重。通过使用有监督的模型和相关性标注数据,EsdRank摆脱了对人工标注的依赖,可以在自动得到相关实体上也获得好的效果。

EsdRank 中的相关实体也来自查询词条中的实体标注、实体搜索和候选文档的实体标注。实体和查询词条之间的关系,以及实体和候选文档之间的关系,均用特征来表示。查询词条和实体之间的特征可以是查询词条和实体各个属性(文本描述、名称等)的文本相似度,以及查询词和实体在知识图谱中所在类别的相似度、实体和查询词在实体标注中的关系、实体本身的重要性等。实体和文档之间的特征包括类似的文本、分类、实体标注,以及知识图谱中的距离等。这些特征既包含了传统的排序模型中的文本特征,也引入了知识图谱特中的语义信息。

整个排序过程被一个两层的生成式模型刻画。模型首先从查询词条生成相关实体(p(e|q)),进而根据相关实体对相关文档进行排序(p(d|e))。其中相关实体则是隐含变量。模型的训练使用了 EM 方法,直接从查询词 - 文档的相关性中学习实体的打分和文档的排序。

EsdRank 在医疗搜索和网页搜索这两个不同的搜索领域上,都显著提高了搜索精确度。在医疗搜索上,EsdRank 选择了传统的 MeSH 控制词表作为知识图谱;在网页搜索上,EsdRank 选择的是Freebase。面对这两个不同的搜索领域和不同的知识图谱,EsdRank 使用了相同的框架、相同的模型和几乎一样的特征,并均取得了好的效果。这个结果也反映了知识图谱目前在搜索上已经接近,或者达到了实际可用的效果,并对不同的搜索领域有一定的普世性。

相关文章
|
7月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
1718 72
|
8月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1494 87
|
7月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
725 30
|
7月前
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
742 2
|
7月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
7月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
455 3
|
7月前
|
消息中间件 人工智能 安全
构建企业级 AI 应用:为什么我们需要 AI 中间件?
阿里云发布AI中间件,涵盖AgentScope-Java、AI MQ、Higress、Nacos及可观测体系,全面开源核心技术,助力企业构建分布式多Agent架构,推动AI原生应用规模化落地。
719 0
构建企业级 AI 应用:为什么我们需要 AI 中间件?
|
8月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
758 12
|
7月前
|
人工智能 安全 Serverless
再看 AI 网关:助力 AI 应用创新的关键基础设施
AI 网关作为云产品推出已有半年的时间,这半年的时间里,AI 网关从内核到外在都进行了大量的进化,本文将从 AI 网关的诞生、AI 网关的产品能力、AI 网关的开放生态,以及新推出的 Serverless 版,对其进行一个全面的介绍,期望对正在进行 AI 应用落地的朋友,在 AI 基础设施选型方面提供一些参考。
1256 102
|
7月前
|
人工智能 缓存 运维
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
本文介绍联调造数场景下的AI应用演进:从单Agent模式到多Agent协同的架构升级。针对复杂指令执行不准、响应慢等问题,通过意图识别、工具引擎、推理执行等多Agent分工协作,结合工程化手段提升准确性与效率,并分享了关键设计思路与实践心得。
1093 20
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀