当你搜索时,发生了什么?(中)
编辑导语:正如“万物皆可百度”这句话所说的,当我们遇到生活上、工作上的难题时,第一反应就是善用检索,通过各种搜索软件解决我们的困惑。你知道,当按下搜索键时,发生了什么吗?
全文目录如下:
之前的内容可前往当你搜索时,发生了什么?(上)
2.3 检索
检索就是将信息按一定的方式组织和存储起来,根据用户的需要、信息属性、特征分,利用检索工具找出有关信息的过程和技术。
在检索之前,搜索引擎会经过大量文本数据的的收集,以及处理。但是对于用户来说,最关键的并不是找到所有结果,将查询到的所有信息展现给用户没有太大的意义,也并非用户的真实意图,过多的信息浏览和筛选反而会给用户带来糟糕的产品体验。
如何恰当的理解用户搜索内容的本意,如何在上千万的页面信息中把最相关、最切合需求的结果排在最前面,推荐给用户选择,才是搜索更好服务用户的关键。
2.3.1 检索流程
检索流程由用户特定的信息需求出发,采用一定的方法、技术手段,根据一定的线索与规则从中找出相关信息,将最终结果返回至用户界面。经过了分词处理、query分析、评分排序、打散重排等流程。在检索过程中需要在意前台用户输入原始文本与返回结果的相关性,以及返回结果的重要程度,并依此排序展示。
相关性是指返回结果和输入query之间的线性关系的强度和方向,重要性是指商品被信赖的程度。如何把相关性强、重要度高的结果返回给用户,如何根据业务需求去权衡现阶段产品带给用户的价值、合理分配评分权重,尤为重要。
其在商品繁杂、用户需求模糊的电商的搜索场景下,商品的评分、排序策略可以减少用户鉴别商品的成本,带来优质的用户体验和转化。
2.3.2 Qurey分析
检索过程中的关键技术有很多,其中最著名的是query分析技术。
Query分析是对用户原始文本分析、理解实际意图的过程,是标准的自然语言处理的任务。用户在表达意图时,原始query的组织会出现各种各样的表达形式,和检索语料语义表达相同,但是文字描述可能会出现相差较大的情形,如:
- 用户地方性语言的表达差异化,原意想要搜索钢琴,拼音输入 “gangqing”;
- 为快速搜索,只输入首字母等,原意搜索天气预报,输入“tqyb”;
- 在中文字符输入的缺字、错词、惯用称呼等情况,原意为王者荣耀,输入为“王者农药”;
- 从其他地方整段文字的摘入,原始文本的不完整和其他字符的代入;
- 陌生词汇的搜索,如想要搜索 “宿摊” ,并不是很清楚想要查询内容的读音,就会有 “宿摊”、“咒术宿” 等有误的输入;
- 搜索信息冗余,带有诸多商品属性,原意搜索为冰箱,输入“冷冻食物大容量冰箱”;
- ..
Query分析可能会涉及到原始文本的分词、音形转换、词语过滤、词性标注、纠错、归一、意图识别等,实际应用和前台显示包括有我们常见的搜索联想词、相关推荐、关键词预测等。处理后的检索词可以快速、准确的查询出值得用户信赖的优质结果。
面对用户形式多样的意图表达,可能会出现查询结果不符合用户意愿、或者是无查询结果的情况,因此对检索字符的分析可谓是关键一步。
2.3.2.1 拼写纠错
用户在输入文本搜索时,内容不一定完全正确,可能会出现别字、纯拼音、模糊音、拼音汉字混合等问题,在这种情境下就需要提供给接错功能,提升用户体验。
拼写涉及复杂的流程,如下图所示,以淘宝搜索为例,用户在搜索框输入 “shuji” ,原意为“书籍”搜索,判定文本属于全拼输入的问题。点击搜索之后,页面展示为书籍的搜索结果,但仍然提示是否搜索 “shuji” ,点击 “仍搜索shuji”,呈现包含 shuji 关键词的内容。
可见在对query进行纠错时,对于可以产生搜索结果的关键词进行了原query的保留,以及拼写纠错的操作。用户在搜索过程中,提示用户仍按照原query搜索,或者是选择纠错后query进行搜索,在对用户意图把握不准确的情况下,提供给用户自主的选择权。
1)拼写纠错
在英文中,最基本的语义单元是单词,单个英文词的拼写和组合都可能会出现失误,因此在英文拼写纠错流程中,错误类型可以分为两种:Non-word Error 和 Real-word Error , 假词错误和实词错误。
Non-word 为拼写为不存在的单词,如将 “fight” 拼写成 “fght” ;Real-word 为拼写正确但是结合上下文语境,表达意思错误的情况,如 “too much ”,拼写成 “two much”。
在中文中,最基础的语义单元是字,用户通过键盘输入的字符不会出现错字的情况,但是会在输入过程中因为拼写错误,出现错意的情况,因此以拼音作为发音中文,其纠错主要基于拼音纠错。
拼写纠错包括以下步骤,首先对原query的进行相应的拼音扩展变换,得到与原query读音相似的候选集;接下来将优选的纠错query,与原文本进行比对,判断是否进行拼写纠错、纠错文本的优先级等;最终将决策好的结果展示给用户。
- 拼音构成错误:拼音构成错误,即用户输入无法构字、不存在的拼音形式,多字母、少字母、错误输入字母。类似于英文拼写错误中的Non-word Error;如 “ag — ang” 、“uoi— ui ” 等,都为实际不存在的拼音形式。
- 模糊音错误:模糊音的错误,即用户输入为可构字正确拼音形式,受到地域性语言文化的影响,会出现前后鼻音、平卷舌音不分;对相似读音输入有误等情况。类似于Real-word Error; 如 “ pin—ping ”、“nan—lan”等,都为可构词,表意有误的拼音形式。
2)可信度分析
原query的拼音构成与纠错词越接近,可信度越高;纠错词与原文本对比,原文本被替换的字词越多,该纠错词的可信度越低;原query文本内容越短,出错的几率越小,纠错词可信度相应降低;原query在索引有结果,非不存在词汇,纠错词的可信度相应降低。
可信度高的纠错,会直接用到纠错后的查询词执行本次查询;可信度低的纠错,还是用原查询词执行本次查询。如上文举例 “shuji” 搜索,无法准确判断用户意图时,可将原关键词以及纠错后的关键词,于前台展示,由用户做出选择。
2.3.2.2 词权重分析
词权重是检索查询中每个词的重要程度,将其量化为权重,权重较低的词可能不会参与召回。
如在google中查询“有什么悬疑小说推荐”;经过词权重的处理,包含“悬疑小说推荐”的文档会被保留召回。如下图,被标红召回的词有 “悬疑小说”、“悬疑”、“小说” 、“推荐”。
2.3.2.3 实体识别
实体识别全称为命名实体识别(Named Entity Recognition),简称NER,识别实体的边界和类型,如文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,在电商行业中包括材质、款式、尺寸规模、场景、颜色、服务、品质、影视名称、后缀等。
确定实体边界主要和分词相关,发现命名实体首先需要截取部分与定义相关的特征词,如query为 “鬼灭炭之郎同款耳饰”,NER任务从query中提取信息:
- 影视名称:鬼灭之刃
- 人名:炭治郎
- 后缀:同款
- 品类:耳饰
目前在NER表现良好的模型基于规则、深度学习、统计学习,其在查询实践中,主要用于query改写和类目预测中。
1)query改写
Query改写是query分析的一个重要组成部分。query改写可以生成系列相关的query,并将选取重要性、可信度最高的一个query召回。精确召回结果数不够时,选取相关Top querys同原始query一起参与搜索,扩大召回,得到更准确、丰富的匹配结果。
Query改写的召回策略有基于点击的统计、query自身、session、词典同义,主要目的是为了学习字、短语粒度的语义信息,从而扩展到其他query;利用模型解决相关判定的问题;最后选择原query以及重要性高的query召回。如用户搜索 “欧美凉鞋” ,得到可信度高的改写词 “罗马鞋” ,与原query一起参与召回。
query改写会根据其重要性、优先级去选择实体进行召回。重要性高,重要性中、重要性低的实体,在查询配置中按照相关召回策略,召回匹配结果。
2)类目预测
电商类目中,每一件商品都会挂在某一叶子类目之下,并有多个上级类目;某些活动商品可能会从属于多个前台类目。
电商后台商品的数量、类目复杂繁多,再加上用户在电商平台的搜索时,原query可能会出现无类目预测结果、与多个类目相关、长尾query繁多、类目重叠等情况,如用户输入 “红色” ,对原query进行类目预测,可能预测出服饰、鞋包、配饰等类目。用户输入“男鞋”,会关联到多个类目运动、母婴、服饰鞋包下。
类目预测模型可选取人工方式、统计文本类目相关性、语义相关模型匹配等方式,预测用户意图,类目预测对用户搜索结果可以产生较大影响。
- 人工方式:项目初期可以采用人工的方式配置query,提升用户的搜索体验。在用户数据不是很庞大的情况下,通过统计用户搜索、点击等行为,统计出使用频次高的query相关类目。
- 统计文本相关性:通过统计词和类目,利用一些方法进行相关性得分、彼此关联性的计算;从类目维度求和得出每个词与类目之间的重要性,以及权重值。
2.3.3 排序
搜索结果排序可以说是查询服务中的关键一步,决定了搜索功能的优劣和用户的满意程度。搜索引擎对检索结果的排序,涉及两个排序流程,包括基础排序以及业务排序,即粗排和精排。
在基础排序中主要是对相关、相似文档的抽取排序,以及规划业务逻辑排序所需的top n文档数量。业务排序是更为精细化、个性化的排序策略,针对不同业务下的设计相应的评分策略,完整产品可提供给用户的服务。
- 基础排序:从大量的网页文档中,取出主词对应的TOP N 个结果再进行精排;
- 业务排序:搜索引擎从TOP N中,经过更复杂的排序规则,将最终结果返回给用户。
在电商搜索中,基础排序和业务排序中的排序方法可以包括相关性排序、商品属性排序、个性化排序。
2.3.3.1 相关性排序
使用搜索系统时,用户希望获得的,并非是全部的查询结果,大量重复的信息会给用户造成困扰。理想的排序需要使用评分函数,去评估文档和用户查询之间的度量和评级,根据相关度的高低评判合理的分数值,再加上权重控制,成为最终文档排序的依据。被使用的评分函数,包括有TF-IDF、Length Nromdeng 。
TF-IDF相关性排序:TF-IDF(Term frequency / Inverse document frequency)是一种基于信息检索和文本挖掘的常用加权技术。TF/IDF的概念分为TF、DF、IDF介绍。
- Term:Term分词后的最小单位,如“我喜欢吃火锅”,“我”、“喜欢”、“吃”、“火锅”,每一个词为一个term。
- TF (Term frequency):词频,即某一个给定term在该文件中出现的频率,公式为 Nt / N ,给定term次数/总term数。TF对词数的归一化,防止偏向较长的文件,同一个词语在长文件中出现的频率高于在短文件中出现的频率,不管该词的重要程度。如上文中的“火锅”的TF为1/4,TF越高该term在该文件中越重要。
- DF (Document frequency):文档频率,即某一个给定term在总文档中出现的频率,计算公式为 包含给定term的文档数/文档的总数量 Dt/D。
- IDF(Inverse document frequency):逆文档频率,与DF相反,公式为 log(D / Dt),用总文档数除以包含给定term的文档数,再求对数。term出现的文档数量越多,权重越小,IDF越高,信息量越大,就越能体现term的重要性。
- 信息量(Amount of information):在日常生活中,极少发生的事件一旦发生是容易引起人们关注的,而司空见惯的事不会引起注意,也就是说,极少见的事件所带来的信息量多。如果用统计学的术语来描述,就是出现概率小的事件信息量多。因此,事件出现得概率越小,信息量愈大。即信息量的多少是与事件发生频繁成反比,即事件发生的概率为P,那么他的信息量就是 -logP。
TF-IDF将 TF*IDF 两个值相乘,表达该term的相关性。
TF从term出现的次数、频率这一方面,计算给定词的重要性;IDF从信息量的角度出发,去判断term的信息量值,两者的乘积可以去掉一些高频、信息量较低的词,如“的”、“是”、“和”这类词频较高,信息量较少的词。
2.3.3.2 商品属性排序
商品属性通常包括关键属性、销售属性、商品属性、普通属性这四种,平台可以根据自己的需求,为商品附加新的属性描述。
本小节所提及的商品属性包括你能想到所有与商品本身相关的特征属性,如与商品描述相关的商品标题、商品副标题、商品详情等;与品类相关的前后台类目、各级分类,包括一级分类、二级分类等;与用户行为相关的属性,包括曝光率、下单数、浏览次数、用户评论、发货速度等,来作为评分因素影响商品的排序。其中的属性还可以进一步细分,如用户评论中可以细化到评论数、好评率、差评率、评论图片数、追评率等。
用户在搜索时,60%的用户会选择搜索到的前四页推荐商品进行购买,就本人而言,在购买一些生活日消品时,会在综合排序的topN中,筛选销量最好的商品。
而且不同场景下的消费者,消费意图不同,比如第二天需要出差,急需旅行用品,就会挑选距离近、配送快的商品。如何去权衡属性分配的权重,成为搜索的难点,搜索排序排序的优化,还需要工程师们持续的投入。
2.4 搜索引导
2.4.1 联想词
联想词即我们在搜索服务中常见的下拉提示词,主要通过前缀匹配,在用户执行点击搜索行为之前,猜测用户意图。
- 内容获取:可以通过中文前缀、拼音全拼、拼音首字母简拼查询以及汉字加拼音、分词前缀、中文同音别字等查询获取。
- 动态推荐:搜索框输入内容发生变化时,下拉列表中需展示最新输入内容的联想词。
如下图:当我们输入“xia”、“xiaji”,如图从query候选集中选择topN进行展示。query候选集的生成策略与用户热搜记录、历史记录等相关,通过分析用户的海量行为数据,结合人工运营的干预,提高用户的搜索效率,更快帮助用户获得想要的内容。
2.4.2 搜索推荐
电商产品的搜索功能,在商品推荐这方面下了很大的功夫。在下单的每个环节都可以看到推荐运营的模块,搜索框及搜索页面中的搜索发现、热搜、购物车中的满折、满减促销、以及处处可见的商品推荐等。
搜索功能相关的推荐包括搜索发现、热搜精选、搜索框关键词,多数产品会通过智能推荐和人工干预结合的方式,完善搜索模块的内容推荐。
通过人工干预配置搜搜关键词,把搜索框当成的产品的广告资源位管理,增加平台广告的曝光,是一种主动的推荐方式;使用数据分析,个性化展示,可以根据用户特征、兴趣爱好,实时更新改,可以称呈现给用户更多相关内容,相比较而言,为被动的推荐方式。
2.4.3 相关搜索词
相关搜索词区别于搜索前的引导,是用户点击搜索之后,猜测用户想要搜索什么,相比较来说,相关搜索更类似于推荐系统。在网页查询中经常可以见到相关搜索的推荐,当通过某个关键词无法精准获得内容时,可用相关搜索推荐补充和扩展。如下图为在谷歌中搜索“百度”的相关搜索信息示例。
相关搜索从深度、广度两个方面去帮助用户找到所需的内容,可以更加精确地找到商品,以及扩展商品范围,找到更多的商品。从深度出发会应用到相似于搜索排序相关的算法模型,从广度出发,即使用query扩展,从而延伸出更宽范围的、贴合用户意图的词汇。
三、前台页面设计
– 未完待续 –
本文主要是从小白的角度尝试理解搜索引擎的工作原理及工作流程。初次涉及搜索领域,文中概念、措辞如有偏差,请留言指教,将虚心学习更正。
本文由 @大仓鼠 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
干货满满,搜索的三篇写得太好了。感谢