关键字搜索框已经演变成查找数据和浏览大多数网站及应用的事实上的标准用户界面。“聪明”的站内搜索引擎能给用户想要的结果,帮助你留住用户。 本书所讲的“相关性”是一门交叉学科,涵盖特征工程、机器学习、本体理论、用户测试、自然语言处理,还要与业务紧密结合。作者用一个在影片库中搜索想看的电影为例,系统展现了相关的技术和知识。
售 价:¥
纸质售价:¥68.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
译者序
推荐序
前言
致谢
关于本书
关于作者
1 搜索的相关性问题
1.1 我们的目标:掌握相关性技术研发的技能
1.2 为什么搜索的相关性如此之难
1.2.1 什么是具备“相关性”的搜索结果
1.2.2 搜索:没有银弹
1.3 来自相关性研究的启示
1.3.1 信息检索
1.3.2 能否利用信息检索解决相关性问题
1.4 如何解决相关性
1.5 不只是技术:管理、协作与反馈
1.6 本章小结
2 搜索—幕后揭秘
2.1 搜索101
2.1.1 什么是搜索文档
2.1.2 对内容进行搜索
2.1.3 通过搜索来探索内容
2.1.4 获取进入搜索引擎的内容
2.2 搜索引擎的数据结构
2.2.1 倒排索引
2.2.2 倒排索引的其他内容
2.3 对内容进行索引:提取、充实、分析和索引
2.3.1 将内容提取为文档
2.3.2 充实文档以清理、强化与合并数据
2.3.3 执行分析
2.3.4 索引
2.4 文档的搜索和获取
2.4.1 布尔搜索:AND/OR/NOT
2.4.2 基于Lucene搜索的布尔查询(MUST/MUST_NOT/SHOULD)
2.4.3 位置和短语匹配
2.4.4 助力用户浏览:过滤、切面和聚合
2.4.5 排序、结果排名,以及相关性
2.5 本章小结
3 调试我们的第一个相关性问题
3.1 Solr和Elasticsearch的应用:基于Elasticsearch的例子
3.2 最了不起的数据集:TMDB
3.3 用Python语言编写的例子
3.4 第一个搜索应用
3.4.1 针对TMDB Elasticsearch索引的第一次搜索
3.5 调试查询匹配
3.5.1 检查底层查询策略
3.5.2 剖析查询解析
3.5.3 调试分析,解决匹配问题
3.5.4 比较查询条件和倒排索引
3.5.5 通过修改分析器来修正我们的匹配
3.6 调试排名
3.6.1 利用Lucene的解释功能来剖析相关性评价
3.6.2 向量空间模型、相关性解释信息和我们
3.6.3 向量空间模型在实践中的注意事项
3.6.4 通过对匹配的评价来度量相关性
3.6.5 用TF×IDF计算权重
3.6.6 谎言、该死的谎言和相似度
3.6.7 决定搜索词重要性的因素
3.6.8 解决Space Jam和alien的排名问题
3.7 问题解决了?工作永远做不完!
3.8 本章小结
4 驾驭token
4.1 将token作为文档特征
4.1.1 匹配的流程
4.1.2 token,不只是单词
4.2 控制查准率和查全率
4.2.1 查准率和查全率的例子
4.2.2 查准率或查全率的分析
4.2.3 一味提高查全率
4.3 查准率和查全率—让鱼和熊掌兼得
4.3.1 评价单一字段中特征的强度
4.3.2 超越TF×IDF的评价:多搜索词与多字段
4.4 分析策略
4.4.1 处理分隔符
4.4.2 捕获同义词的语义
4.4.3 在搜索中为专指性建模
4.4.4 利用同义词为专指性建模
4.4.5 利用路径为专指性建模
4.4.6 对整个世界分词
4.4.7 对整数分词
4.4.8 对地理数据分词
4.4.9 对歌曲分词
4.5 本章小结
5 多字段搜索基础
5.1 信号及信号建模
5.1.1 什么是信号
5.1.2 从源数据模型开始
5.1.3 实现信号
5.1.4 信号建模:为数据的相关性建模
5.2 TMDB—搜索,人类最后的边疆
5.2.1 违反基本法则
5.2.2 让嵌套文档扁平化
5.3 在以字段为中心的搜索中给信号建模
5.3.1 从best_fields开始
5.3.2 控制搜索结果中的字段偏好
5.3.3 可以使用信号更精准的best_fields吗
5.3.4 让失败者分享荣耀:为best_fields校准
5.3.5 利用most_fields统计多个信号
5.3.6 在most_fields中缩放信号
5.3.7 什么时候其他匹配才无关紧要
5.3.8 有关most_fields的结论是什么
5.4 本章小结
6 以词为中心的搜索
6.1 什么是以词为中心的搜索
6.2 我们为什么需要以词为中心的搜索
6.2.1 猎寻“白化象”
6.2.2 在“星际迷航”的例子中寻找白化象问题
6.2.3 避免信号冲突
6.2.4 理解信号冲突的机理
6.3 完成第一个以词为中心的搜索
6.3.1 使用以词为中心的排名函数
6.3.2 运行以词为中心的查询解析器(深入底层)
6.3.3 理解字段同步
6.3.4 字段同步和信号建模
6.3.5 查询解析器和信号冲突
6.3.6 对以词为中心的搜索进行调优
6.4 在以词为中心的搜索中解决信号冲突
6.4.1 将字段合并成自定义全字段
6.4.2 利用cross_fields解决信号冲突
6.5 结合以字段为中心和以词为中心的策略:鱼与熊掌兼得
6.5.1 将“相似字段”分到一组
6.5.2 理解相似字段的局限
6.5.3 将贪婪的简单搜索和保守的放大器结合起来
6.5.4 以词为中心与以字段为中心,查准率与查全率
6.5.5 考虑过滤、放大,以及重新排名
6.6 本章小结
7 调整相关性函数
7.1 何谓评价调整
7.2 放大:通过突出结果来实现调整
7.2.1 放大:最后的边疆
7.2.2 放大时—选择加法运算还是乘法运算,布尔查询还是函数查询?
7.2.3 选择第一扇门:利用布尔查询进行加法放大
7.2.4 选择第二扇门:利用数学运算进行排名的函数查询
7.2.5 函数查询实践:简单的乘法放大
7.2.6 放大处理的基础:信号,处处是信号
7.3 过滤:通过排除的方法对结果进行调整
7.4 满足业务需求的评价调整策略
7.4.1 搜索所有影片
7.4.2 对放大信号进行建模
7.4.3 构造排名函数:增加具有较高价值的层级
7.4.4 利用函数查询对具有较高价值的层级进行评价
7.4.5 忽略TF×IDF
7.4.6 捕捉综合质量指标
7.4.7 达成用户的时效性目标
7.4.8 结合函数查询
7.4.9 把一切联系起来
7.5 本章小结
8 提供相关性反馈
8.1 搜索框中的相关性反馈
8.1.1 利用“即输即搜”提供即时结果
8.1.2 利用“搜索补全”帮助用户找到最佳查询
8.1.3 利用搜索建议来修正输入和拼写错误
8.2 浏览期间的相关性反馈
8.2.1 构建基于切面的浏览
8.2.2 提供面包线导航
8.2.3 选择其他的结果排序方式
8.3 搜索结果清单中的相关性反馈
8.3.1 什么信息应该出现在搜索结果中
8.3.2 通过文本片段与高亮提供相关性反馈
8.3.3 对相似文档分组
8.3.4 在用户搜不到结果时给予帮助
8.4 本章小结
9 设计以相关性为核心的搜索应用
9.1 Yowl!一个绝佳的新起点
9.2 信息和需求的收集
9.2.1 理解用户及其信息需求
9.2.2 理解业务需求
9.2.3 找出必要及可用的信息
9.3 搜索应用的设计
9.3.1 将用户体验可视化
9.3.2 定义字段和模型的信号
9.3.3 信号的组合与平衡
9.4 部署、监控和改进
9.4.1 监控
9.4.2 找出问题并解决它们
9.5 知道什么是恰到好处
9.6 本章小结
10 以相关性为核心的企业
10.1 反馈:以相关性为核心的企业所依赖的基石
10.2 为什么以用户为中心的文化比数据驱动的文化更重要
10.3 无视相关性的天马行空
10.4 相关性反馈的觉醒:领域专家和专业用户
10.5 相关性反馈的成长:内容管理
10.5.1 内容管理员的角色
10.5.2 与内容管理员缺乏交流的风险
10.6 让相关性更加流畅:工程师/内容管理员的结对
10.7 让相关性加速:测试驱动的相关性
10.7.1 理解测试驱动的相关性
10.7.2 使用带用户行为数据的测试驱动相关性
10.8 超越测试驱动的相关性:学习排序
10.9 本章小结
11 语义和个性化搜索
11.1 基于用户概况的个性化搜索
11.1.1 收集用户的概况信息
11.1.2 将概要信息与文档索引紧密关联
11.2 基于用户行为的个性化搜索
11.2.1 引入协同过滤
11.2.2 使用共现计数的基本协同过滤算法
11.2.3 将用户行为信息与文档索引紧密关联
11.3 构建概念性搜索的基本方法
11.3.1 构建概念性信号
11.3.2 利用同义词对内容进行扩充
11.4 利用机器学习来构建概念性搜索
11.4.1 概念性搜索中短语的重要性
11.5 连接个性化搜索与概念性搜索
11.6 推荐是一种广义的搜索
11.6.1 用推荐代替搜索
11.7 祝愿大家有一个美好的相关性搜索之旅
11.8 本章小结
附录A 直接根据TMDB建立索引
附录B Solr读者指南
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜