苏宁网页版(海量商品查找利器—苏宁搜索系统)

一:搜索系统概述

在互联网崛起的过程中,搜索起到了至关重要的作用。我们熟知的谷歌和百度都是全网搜索引擎,对互联网的发展起到了强大的推动作用。在电商垂直领域,搜索是一个无处不在的工具,也是每个电商平台的主要流量入口。它集成了海量数据处理和查询、机器学习、深度学习等技术。对时效性和并发性要求非常高。Suning.cn搜索是一个垂直电子商务搜索引擎,具有商品、推荐、金融和虚拟商品功能。

苏宁的搜索系统主要经历以下三个阶段:一是2008-2011年的搜索引擎商业版;二、2011-2015年基于开源的搜索引擎;2016年将走自主研发之路,打造符合苏宁商业模式的高性能搜索引擎。无论是基于开源还是自主研发,搜索系统在历年大促(如苏宁818、苏宁11.11 O2O购物节)中经历了数千万UV、上亿PV,实现了零问题、零事故,有效保障了大促的圆满达成。

二:搜索系统架构

搜索主要分为离线计算和在线实时计算两部分。离线计算主要包括数据处理、加工和数据索引生成。在线计算主要包括流计算、准实时增量索引、实时用户查询分析、查询响应、排序等功能。整个架构如下:



这种架构的特点:

1.采用轻型倒排机制,实现倒排索引的准实时更新。

2.定期切换在线状态,同步循环中的索引,减少SMART-SHARD的倒排长度。

3.大量使用前排缓存,无需索引数据即可实现准实时更新,提升排序的时效性。

4.增加缓存机制,在发动机机器故障时缓冲机舱。有效降低机房事故率。

5.搜索支持系统提供了对外围系统接口信息的统一访问,减少了过多请求的数量。

6.查询分析实现了中心词识别、类别预测、组件识别、纠错、扩展、个性化标签等一系列查询分析功能。个性化标签内容在个性化服务系统中单独处理,需要查询分析系统调用和打包。

基于以上特点,搜索采用短链+前排的方式实现索引更新的秒级更新,保证了流入搜索的数据能够被快速索引并及时响应用户。11月11日 今年苏宁O2O购物节,数亿价格变化无需缓存数十亿次访问即可更新。在排名层面,目前电商的底层排名主要基于规则和机器学习(LTR)。在上层,有政策、营销策略的排序规则,以及门店、品牌、品类的多样性(当然像上层的排序会在单独的排序系统中处理,上层结构中没有体现)。其中,机器学习和训练的数据是半年内的数据。这里数据是差异化的,不是一般的半年数据。有些数据其实只有四分之一的数据,有些快消品和季节相关的商品是苏宁搜索精心挑选的。如果使用太过笼统的数据,实验发现效果与人工拟合权重排序没有特别大的区别。下面重点介绍以下搜索工具:

1:搜索工具-用户反馈系统

那么,当用户访问搜索系统时,苏宁搜索系统需要了解用户的点击、访问和购买情况。如果没有这些数据,搜索只是一个静态的输出引擎,当然不是我们追求的目标。我们期望的系统是一个可以和用户互动的系统。通过用户过去的行为数据和现在的行为数据,可以调整搜索排名,保证给用户更合理的排名结果。系统的整体架构如下:



系统功能:

苏宁网上商城首页

1.实时收集用户行为(点击、翻页、收藏、购买等。)

2.数据流,将实时用户行为数据与历史数据相结合,生成供产品/运营使用的报告。

3.实时数据处理用于反馈影响在线排序。

4.因为底层的排序规则是由不同的模块组成的,所以这里有一个路由规则,通过它将一定比例的用户分配到不同的排序规则中。

2:搜索工具-用户意图识别系统

分析的总体结构如下:



该系统结合了用户行为采集、商品数据、人工序列标注(包括机器自动序列标注)、品类关系模型和商品信息组。实现分类预测、类别扩展、构件识别等功能。核心算法采用条件随机场实现中心词识别。经过多年的语料积累和规律数据,在线识别率达到98%以上。当然,机器学习的结果过于依赖数据,也会导致学习到的模型预测的分类出现马太效应。还是要学习机器学习上层的人工规则。

整个处理流程如下:



3:搜索工具-反作弊系统

整体画面如下:



产品的曝光和排序对商家来说非常重要。如果产品排名靠前,流量会很大。但是列表前面的产品不一定是用户需要的产品,中间可能存在恶意点击和刷机的情况。反作弊系统非常重要。如何才能准确识别哪些流量有问题?它成为系统设计的关键点。

系统辨识可能比较容易理解,因为系统是一个二元分类问题,可以用二元分类算法(可以实现LR或者NBM)对输入数据进行分类。要么输出作弊,要么不作弊。为了降低出错率,系统。使用黑白分类器。最小化错误率。

4:搜索工具-LTR

前期搜索的排序叫一个累,一个线性公式,一堆要排序的因素,每个因素,拍着脑袋,权重刚出来,结果就是这个商家反馈,那个反馈。然后分析师不断调整。又累又吃力不讨好。为了减少人为调整因素的权重,需要收集查询-文档列表数据,并根据用户行为对其进行标注。在海量数据的基础上,通过机器学习的方法拟合出各因素的权重。如下所示:



目前这个过程还是离线拟合,每天更新为一个周期。所以还是有弊端的,比如如何在一天内快速的表达出热门产品,这种模式还是有很大的提升空。但要想快速曝光热销产品,还是要通过运营反馈,通过规则模块快速调整。

三。搜索系统的智能应用

这里的智能应用并不一定意味着我们理解苹果Siri和微软萧冰。在这里,我们将简化用户操作,降低运维成本。从经验拍手到数据支持的过程,叫做搜索智能应用。这里主要举两个例子:一是价格区间划分,二是默认选择。

1:搜索的价格范围划分:



该功能价格区间的制定经历了几个阶段。起初采用暴力五部法,满足了价格区间划分的需求。但如果价格区间跨度大,不合理的价格区间划分就很明显。到这个时期的中期,我们会对价格数据建立一个聚类模型,利用这个模型划分价格区间,同时对数据进行去噪,会在一定程度上解决初期的问题,但是会造成部分数据大部分集中在一个区间,导致部分区间没有数据。这种模式还有一个缺点,完全基于数据划分,忽略了用户的行为。划分的区间在数字上可能感觉更客观,但不一定是用户喜欢的区间。为了改善这一劣势,搜索团队和用户行为,整合用户筛选便利性、企业利润和商户满意度为优化目标,提取相应特征,建立策略优化模型P(价格区间|用户、企业、商户),制定量化指标,完善指标,不断迭代更新策略模型,使策略逐渐成熟。主要流程如下:

& ampOslash收集用户行为和商品的相关数据;

& ampOslash数据融合和特征转换

& ampOslash隔离林检测并拒绝异常数据;

& ampOslash模型训练,包括训练测试和模型选择;

& ampOslash将训练好的模型部署到在线服务系统,并用于离线处理;

在这个过程中,最大的干扰就是数据噪声,有些数据是非常离散的。如何选择数据将决定该功能的质量。如何处理这些有噪声的数据成为该功能成功与否的关键。经过不断的采样和不断的处理,最终在实验中发现采样隔离林来检测和剔除异常数据能够达到预期的效果。





如上图,左图使用隔离林识别异常数据。其实红点是异常点,蓝点是正常点。右图显示了剔除异常值后的数据。

2:默认过滤/选择功能:



功能底层采用用户行为数据、内网品牌、产品类库,结合外网品牌和产品类库。这个过程中有很多问题需要解决,比如当关键词回忆起太多分类的时候应该选择哪个分类?当我们搜索一个品牌名称,但品牌在我们的意识中是一个范畴,我们该怎么办?这些都是需要解决的困难。我们踩过很多坑,比如过去搜小米。根据内网的用户行为和数据,小米手机品牌的用户行为甚至在某些周期是压倒性的。但在我们的意识中,小米不一定是手机,甚至不是粮油米等商品。此时,我们采取了一系列措施,如采用商品数据、延长用户周期、精选和横切后的权重行为反馈、把握和完善外部品牌品类类库、品类品牌规则模板、人工辅助修正等。使默认选择的状态尽可能合理准确。当然,没有一成不变的数据,也没有一成不变的函数来对抗数据,类似于那句话:道高一尺,魔高一丈。数据在变,方法也在变。我们不能靠改变一切来做到,但我们可以为了数据而不断改变。

四:场景搜索应用

1:图片搜索:

在某些场景下,用户无法表达自己的意图或者用户表达了自己的意图,但是用户的表达过于个性化,最终导致引擎没有输出或者输出结果不理想。比如在街上看到别人穿的很漂亮,就上去问,担心尴尬。那么这个时候如果你手里拿着手机,只需要简单的拍照就可以检索到相同款式的产品。想想这个功能就兴奋。这个技术就是图像识别技术。应用于搜索场景时,就是图像检索。通过图像检索,召回相似度高的产品。下图是苏宁的图片搜索效果:



当然,图像识别的技术应用广泛,比如无人商店、无人车、无人飞行器、无人配送等。

2:(搜索+)服务:

搜索+服务,我们都知道搜索可以检索网页和产品,因为它是海量的,所以搜索。互联网的爆发导致了用户可用功能和产品的爆炸。“搜索+”的意思是搜索产品或功能。让用户在最短的时间内找到最好的产品和最常用的功能。如下图:



I:搜索+进行准确的商品查询

当用户打开搜索时,在即将翻页之前没有点击行为,是否希望用户继续翻页?或者在这种场景下,提示用户“有更精准的召回功能,可以尝试使用这个功能,里面包含了你想要的商品”,那么这个商品必须具备识别用户意图和用户自然语言表达的能力,同时利用商品的多维度标签提醒用户为什么召回这样的商品。所以,让用户更自然地表达自己的想法,可以覆盖更多的信息,融入更多的情感因素。让用户更清晰地表达自己的需求。同时利用多维度的用户分析和丰富的产品内容展示,给用户精准的产品召回。下图是搜索创新的精准搜索:



目前,该产品已经得到使用和验证。search+的功能检索还在验证中,敬请关注!

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友