智能推荐:“相关性搜索”只给你最想要的

简介: 在过去十年里,搜索已经变得无处不在——搜索框已然成为各类网站、应用的基础标配。一个网站或者应用不提供搜索框,这是无法想象的事情。随着搜索在基础架构方面越来越多的难题得到解决,加之解决方案的商品化进程,搜索引擎的竞争已经从如何提供快速、可伸缩的搜索,转变成如何针对用户的信息需求提供最相关的匹配。

在过去十年里,搜索已经变得无处不在——搜索框已然成为各类网站、应用的基础标配。一个网站或者应用不提供搜索框,这是无法想象的事情。随着搜索在基础架构方面越来越多的难题得到解决,加之解决方案的商品化进程,搜索引擎的竞争已经从如何提供快速、可伸缩的搜索,转变成如何针对用户的信息需求提供最相关的匹配。换言之,就是如何正确地理解用户意图,提高搜索的相关性,为用户提供满意的搜索结果。

什么是相关性

  所谓相关性,就是根据内容对用户及业务需求的满足程度,对搜索内容进行排名的一门学问。它会将搜索引擎打造成一个看似智能的系统,能够理解用户和业务的需求。让搜索引擎理解内容中包含的重要特征(feature):比如餐厅的位置,书中出现的词汇,或者衬衫的颜色这样的属性。有了准确的特征,当用户在应用内搜索时,就可以计算出什么对他们而言是重要的:这家餐厅离我有多远?这本书上讲的内容对我有帮助吗?这件衬衫和我刚买的裤子搭配吗?这些在搜索期间影响排名的因素,是用来衡量用户所关心的内容的,称之为信号(signal)。搜索引擎面临的挑战,就是在不同特征之间做出选择,并实现能满足用户与业务需求的信号。

  然而,技术只是实现相关性的工具,明白要做什么可能比知道怎么做更重要。“相关性”在某个具体应用里的含义大相径庭。

在不同的应用中其搜索相关性大不相同

  我们很容易误以为搜索是一个单一问题。事实上,不同的搜索应用之间,彼此差异非常大。每个应用都有截然不同的相关性预期。

  通用型搜索应用,比如Google,要返回有用而可靠的信息。利用PageRank,Google不仅为用户返回了与搜索相匹配的内容,而且这些内容还是被网络上其他地方认为是可靠和可信的。

  电商网站对于被搜索的内容拥有完全的控制,它们较少关注可信度。电商网站为了达成交易,就要根据用户的搜索行为、历史数据等信息,为用户推荐合适的商品,促进销售。

  医疗、法律和学术研究领域的专家搜索,通过更为深入地挖掘文本来定义相关性。这种专家搜索依赖于对专业人员输入的行业术语的理解。这类解决方案必须掌握专业领域里各种事物之间的微妙关联。比如,“HeartAttack(心脏病)”和“MyocardialInfarction(心肌梗死)”是一回事;或者急性“MyocardialInfarction”是一种特殊类型的“HeartAttack”。

  再往下细分,还会发现更多的不同。比如房产搜索是一种电商搜索吗?两者固然有相似之处(让用户买得称心),但对于一名购房者而言,还有许多其他因素需要考虑(所在学区、邻里关系、户型)。本地餐饮的搜索应用呢?就医的搜索呢?用餐馆菜单来订餐呢?企业内网的搜索呢?

  相关性需求多种多样,有时候用户甚至有可能还没有意识到自己的需求是什么,但是开发者却必须通过各种方法,挖掘出其真实需求,迎接业务带来的挑战。

信息检索与相关性

  那么,搜索的相关性有系统性的基础和通用的工程性原则吗?答案是有的。事实上,在相关性的背后藏着一门学问:学术领域里的信息检索(informationretrieval)。它包含被普遍接受的各种实践,可以对广泛分布在各行各业的相关性加以改进。

  在信息检索中,相关性被定义为一种返回搜索结果的实践,它能最大限度地满足用户的信息需求。而且,典型的信息检索关注的是文本排名。信息检索中的很多发现,都是在试图衡量给定的文章与用户的文本查询在多大程度上具有相关性。这些发现中有很多都已经在开源的搜索引擎中被实现了。

  然而应用的相关性取决于各种因素,有些因素具有广泛性和普遍性,它们所涉及的就是信息检索中的文本排名;还有很多因素都是和具体应用息息相关的(比如,用户距离餐厅有多远)。经典的信息检索技术对于解决相关性问题,确实能有所帮助,但是还有一些问题则爱莫能助。这些问题很大程度上游离于搜索技术之外,且涉及更为广泛的各种产品策略问题:我们的用户是谁?他们希望通过这个应用得到什么?搜索要解决的那些隐含在其中而未加指明的信息需求是什么?

如何解决相关性

  开源搜索引擎可以通过编程的方式将我们对相关性的理解植入搜索引擎,打造相关性解决方案,使之既满足用户需求,又符合业务目标。采用开源引擎怎样定义出一个框架,既包含狭义的领域特定因素,又用到广义的信息检索技术呢?以下几点是需要考虑的。

  • 识别出能够刻画内容、用户或搜索查询的关键特征。
  • 通过对特征的提取和对内容的丰富,想办法让搜索引擎理解这些特征。
  • 在搜索期间,通过构造信号来对用户搜索的相关性加以度量。
  • 在对结果进行排名时,通过控制排名函数,仔细平衡多个信号之间的影响。

  以上内容节选自《相关性搜索:利用Solr与Elasticsearch创建智能应用》,点此链接可在博文视点官网查看此书。
                   图片描述
  想及时获得更多精彩文章,可在微信中搜索“博文视点”或者扫描下方二维码并关注。
                    图片描述

相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
如何将传统的关键字搜索与现代向量搜索结合?
如何将传统的关键字搜索与现代向量搜索相结合,找到更相关的搜索结果优化 RAG。
如何将传统的关键字搜索与现代向量搜索结合?
|
3月前
|
人工智能 开发工具 git
语义搜索测试
语义搜索测试
28 0
|
8月前
|
人工智能 自然语言处理 算法
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
|
11月前
|
小程序 数据库
小程序搜索功能,云开发搜索,小程序云开发模糊搜索,同时搜索多个字段
小程序搜索功能,云开发搜索,小程序云开发模糊搜索,同时搜索多个字段
242 0
|
存储 并行计算 算法
秒懂算法 | 搜索基础
本篇介绍了BFS和DFS的概念、性质、模板代码。
114 0
秒懂算法 | 搜索基础
|
存储 自然语言处理 搜索推荐
【转】关于搜索挖掘所想
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。
107 0
|
自然语言处理 算法 知识图谱
电商搜索如何“想用户所想,提高搜索结果质量”?
本文针对电商搜索中如何“想用户所想,提高搜索结果质量”的问题进行剖析,并通过阿里云开放搜索电商行业解决方案和大家聊一聊如何优化解决~
3737 0
电商搜索如何“想用户所想,提高搜索结果质量”?
|
数据采集 机器学习/深度学习 编解码
神马搜索如何提升搜索的时效性?
什么是搜索的时效性?有哪些特征?如何优化?本文分享神马搜索在搜索排序时效性问题上的实践和探索,从基础特征优化开始,通过标注数据进行排序和召回模型优化,以及时效性排序的召回体系和收录体系。较长,同学们可收藏后再看。
2696 0
神马搜索如何提升搜索的时效性?
Google展示“配方搜索”概念 利用语义搜索学做菜
谷歌上周四公布了一项新的概念性服务,它可以根据语义让用户自行过滤其结果,所实现的第一个应用就是食谱配方,这种新功能以丰富的片段标记语言数据为基础,可以提供菜色制作流程、难度评级、卡路里计算和用户评价等多种功能,用户只要在导航栏点选配方即可,该功能目前仅在美国和日本上市,不久后将在更多国家推出。
759 0
EPZS搜索过程
EPZS(Enhance Predictive Zonal Search) 增强预测区域搜索,是一种整像素运动估计的搜索算法。 EPZS采用的是相关性较高的预测方法。这里的相关性较高是指,更多地根据已有的条件,来进行运动向量的预测(如采用相邻块的mv作为当前搜索块的mv进行预测)。
918 0