大纲
语义搜索简介
语义数据搜索
混合搜索
语义搜索的交互范式
实践展示:使用Elasticsearch实现简单语义数据检索
语义搜索简介
不同搜索模式之间的技术差异可分为:
对用户需求的表示(query model);
对底层数据的表示(data model);
匹配方法(matching technique)
信息检索(IR)支持对文档的检索(document retrieval)
文档检索vs.数据检索
数据库(DB)和知识库专家系统(Knowledge-based Expert System)可以提供更加精确的答案
语义模型
- 语义关注的是能用于搜索的资源的含义(meaning)
- 语言学模型
对词语级别的关系建模;分类系统,同义词库 - 概念模型
- 表达能力
- 形式化
语义搜索分类
- DB和KB系统属于重量级语义搜索系统
对语义显式的和形式化的建模,例如,ER图,RDF(S)和OWL中的知识模型(knowledge model),主要为语义的数据检索系统。 - 基于语义的IR系统属于轻量级的语义搜索系统
轻量级的语义模型,例如分类系统或者辞典
搜索模式趋向一致:结构化和语义数据的可用性越来越高
语义数据搜索
语义Web - 数据Web
利用链接数据进行搜索
三元组存储
- 基于IR:Sindice,FalconS...
单一数据结构和查询算法,针对文本数据进行排序检索来优化(倒排序优化);
高度可压缩,可访问;
排序是组成部分;
不能处理简单的select,joins等操作。 - 基于DB:Oracle的RDF扩展,DB2的SOR
各种索引和查询算法,以适应各种对结构化数据的复杂查询;
能完成复杂的selects,joins,(SQL,SPARQL)
能应对高动态场景(许多插入/删除) - 原生存储(Native stores):Dataplore,YARS,RDF-3x
存储和索引
- IR索引基于以下概念
文档;
字段(field),例如,标题,摘要,正文...
词语(terms);
Posting list和Position list - 增量索引——处理当前索引
基于块的索引扩展 - 索引构建 vs. 索引更新
- 四种基本操作
基础的检索:(f, t)
归并排序:m(S1, op, S2)
概念表达式计算(Concept Expression Evaluation)
关系扩展(Relation Expansion)
排序原则
- 质量传播(quality propagation):更新一个元素质量的度量,同时反应该元素的相邻元素的质量
- 数量聚合:有更多的邻居,元素排名会更高
高效和可扩展的数据Web搜索
使用结构索引做结构匹配,
在多知识库中查询
索引
特征选择
- 分块(Blocking)
直观:共享稀有特征的实体更可能是同一个实体;
根据文档频率来排序每个实体的特征;
每个保留的倒排索引列表对应一个分块。 - 聚类(Clustering)
紧致集合 Compact Set (CS);
稀疏邻居 Sparse Neighborhood (SN);
基于CS&SN原则在每个分块中进行聚类;
混合搜索
结合文本,结构化和语义数据;以整体的方式管理不同类型的资源;支持结果为信息单元(文档、数据)的集成的检索。
DB和IR轻量级集成
资源(查询)图 => 系统架构(CE2) => 查询分解和执行 => 答案合并
语义搜索的交互范式
usability,用户友好
- 交互范式
自然语言接口
基于表单的查询接口
基于可视化的查询接口
基于关键词的查询接口
混合的查询接口,结合自然语言,关键词,表单,facets和形式化查询
查询,数据和结果可视化
一种基于本体的查询解释的通用方法
1 将关键词映射为本体实体
2 发掘本体实体间的连接,基于元素递归遍历的KB探索
3 从连接中到处DL(描述逻辑)合取查询
对查询排序,路径长度越小越好。
- Top-k关键词查询 - 工作流程
线下:汇总,评分,术语扩展;
线上:查询计算,查询处理
摘要图生成
关键词映射和摘要图扩充
Top-k图探索
将查询图映射到合取查询
- 评估 - 效果
路径长度,越短越好;
关键词匹配分数,越高越好;
图元素的流行性计算,类似pagerank算法
facet搜索系统
结论
- 表达式(expressive)关键字查询
基于本体的查询解析
Top-k关键字查询在汇总图上的解析
使用映射信息扩展到多个数据源场景 - 动态facet计算 w.r.t 结果
facet 排序和值划分