7.1 语义搜索简介

优质
小牛编辑
128浏览
2023-12-01

搜索也称信息检索(Information Retrieval),是从信息资源集合获得与信息需求相关的信息资源的活动 [1] 。近年来,在互联网和企业应用上,搜索技术受到了广泛的关注和应用。其中,最广泛的信息检索主要是面向文档为单位的检索(Document Retrieval)。此外,面向数据的检索(Data Retrieval)也受到越来越多的关注,主要包括基于数据库的检索和基于知识库的检索,其特点是能够提供更精确的答案[5]

面向文档和面向数据两种模式间的技术差异大致可以分为三个部分,即对用户需求的表示(Query Model)、对底层数据的表示(Data Model)和匹配技术(Matching Technique)。面向文档的信息检索主要通过轻量级的语法模型(Lightweight Syntax-Centric Model)表示用户的检索需求和资源的内容,即目前占主导地位的关键词模式——词袋模型(Bag-of- Words)。这种技术对主题搜索(Topic Search)的效果很好,即给定一个主题检索相关的文档,但不能应对更加复杂的信息检索需求。相比来说,基于数据库和基于知识库的检索系统能够通过使用表达能力更强的模型来表示用户的需求,并且利用数据内在的结构和语义关联,允许更为复杂的查询,进而提供更加精确和具体的答案。

语义关注的是能用于搜索的资源的含义。这些含义是通过语义模型构建的,例如语言学模型和概念模型。其中,语言学模型主要侧重对词语级别的关系建模、分类以及构建同义词库,而概念模型主要侧重对论域中的语法元素的关系建模,以及从语法元素到论域的映射。此外,语义模型要求必须具备表达能力,即语言和建模结构的数量。同时,语义模型还必须能够形式化,即解析过程必须是可计算的。可见,不同的语义模型对应的搜索技术也不同。也就是说,并不存在单一类型的语义搜索技术,而是利用各种不同表达能力的语义模型的搜索系统。

显然,基于数据库和基于知识库的检索系统属于重量级语义搜索系统,因为它们采用显式的和形式化的模型,例如关系数据库中的E-R图、RDF和OWL中的知识模型。近年来,语义数据的数量不断增加,特别是 RDF 数据,通过标记的方式已经嵌入在许多网页文档中,或与文档形成了关联。通过在检索过程中结合使用这些表达能力更强的类型数据,纯粹面向文档的检索系统已经包含了一定程度的语义使用,已经变成了轻量级的语义搜索系统。

如图7-1所示,一个语义搜索系统的基本框架包括查询构建、查询处理、结果展示、查询优化、语义模型、资源及文档等。受益于结构化和语义数据的可用性的增加,重量级语义搜索系统的使用不再局限于专用领域,可能在更大规模的场景(例如Web)中找到其应用。目前,大量的语义网络搜索系统已经被构建,其目的是利用互联网上大量的 RDF数据及表达Web上可用的OWL本体。一方面,可以采用应用于信息检索领域的方法和技术来解决可扩展性问题,以克服 Web 数据的质量问题,并处理与长文本描述相关的数据元素[6] 。另一方面,也可以直接将数据库和语义网技术应用于信息检索问题,将丰富的结构化和高度表达的数据的可用性提高到搜索过程中。总的来说,不同的技术路线和语义搜索系统不仅在使用的数据方面存在趋同,而且在搜索中应用的技术也趋于一致。文档检索与数据检索之间逐渐因为语义搜索的出现变得没有明确的界限,语义在一定程度上始终参与检索过程。目前,最先进的语义搜索系统结合了一系列技术,包括结构化查询语言的构建、基于统计的信息检索排序方法、有效索引和查询处理的数据库方法以及复杂推理等技术。

图7-1 语义搜索基本框架