智能搜索如何构建一个好的电商搜索引擎?

优采云 发布时间: 2021-06-08 20:17

  智能搜索如何构建一个好的电商搜索引擎?

  编辑整理:刘元景

  制作平台:DataFunTalk

  指南:机器学习算法的不断进步,搜索引擎巧妙的人机交互设计,分布式系统的创新,在不知不觉中,让搜索引擎成为了人们生活中不可或缺的一部分。与此同时,随着人们新需求的不断涌现,搜索引擎也没有停止其变革的步伐。本文主要分享智能搜索在电子商务中的应用探索,介绍如何构建一个好的电子商务搜索引擎。主要内容包括:

  01

  电商搜索需求背景

  首先,让我与您分享为什么您需要搜索。

  1.被忽视和低估的搜索行为

  

  在电子商务应用中,流量来自许多不同的渠道,例如搜索、推荐、事件、直播等。搜索是电商APP非常重要的流量入口,很多电商APP可能占据搜索流量的一半以上。需求明确的用户主要通过搜索获得,需求不明确的用户主要通过推荐获得。然后,对于搜索来说,因为需求更明确,所以转化起来会更容易。

  2.Search 用户体验痛点

  

  一些电商巨头其实已经把搜索体验做得很好,但是一些小客户还是做不好搜索体验,所以这给我们提供了市场机会。

  3.搜索痛点下的用户流失

  

  如果搜索做得不好,用户搜索了很多次,浏览搜索结果超过一定时间,或者翻了几页,却找不到结果,就会失去搜索体验是因为他们无法忍受。

  4.智能搜索挖掘用户行为数据价值

  

  因此应优化搜索体验以留住用户。智能搜索呢?您可以通过用户行为日志挖掘出大量有价值的数据,从这些数据中发现丰富的特征,并利用这些特征来最大化搜索流量的价值。

  5.电子商务搜索示例

  

  一般来说,对于搜索来说,除了我们经常看到的搜索框输入一些关键词进行搜索之外,搜索中还有其他场景,比如搜索发现、搜索建议、热门搜索、猜你喜欢和搜索阴影,其实这些不再是单纯的搜索,而是结合推荐的场景。

  6. 产品搜索 VS。网络搜索

  

  日常生活中,大家最熟悉的网络搜索和商品搜索有什么区别?可以从这几个方面来分析:

  02

  技术方案探索

  接下来介绍整体技术方案。

  

  技术架构图主要分为三部分,一是数据,二是模型,二是搜索引擎本身。数据和模型用于搜索引擎。会有一些数据接入模块,将客户的数据接入系统,放入数据平台计算素材画像、用户画像等;接下来,你需要用这些数据建立一些模型,这些模型会用到搜索引擎的各个环节,比如intent和recall,每一个环节都会用到,粗排序,细排序;再往下,有一些基本的数据存储中间件。我们主要关注搜索引擎本身的过程。最右边是搜索引擎的进程。接下来,我们将介绍整个搜索是如何从上到下进行的。

  1.查询预处理

  

  当用户在电子商务应用中输入搜索词时,搜索词将被预处理。这种预处理包括常用停用词、归一化、拼音转文本、同义词替换和分词。完成、改写、纠错等一系列处理,然后将用户搜索到的不规则或不正确的查询处理成规范的、正确的形式,并做一些分词和转换处理。

  2.实体识别

  

  预处理完成后,得到用户搜索词切分的结果。当得到分词结果时,分词结果中的每个词都必须被识别为一个实体。什么是实体?电子商务中的实体实际上有很多种。这里列出了三个。有商品实体类型。矿泉水是一个实体,属于商品实体类型;农夫山泉是品牌的实体类型;饮用水是一个类别。或称为类。这些都是实体类型。实体类型下有特定的实体。实体是矿泉水,农夫山泉,所以需要知道输入的词是什么,比如输入“Oreo cookies”,做预处理后,得到“Oreo”和“biscuits”这两个词。这时候就需要实体识别。经过识别,可以知道“奥利奥”是一个品牌,“饼干”是一个商品。可以做后续处理。

  实体识别是一种序列标注。可用于实体识别的方法有很多,如CRF、BERT等。在工程处理的时候,这些算法不一定在线使用,因为这些算法在线计算成本比较高,一般都是离线计算,计算结果存放在缓存中,这样在线只需要做一些简单的匹配即可,处理会快很多,有时需要一些人工修正才能得到更准确的实体词。实体识别有一些先决条件。你怎么知道矿泉水是商品?农夫山泉是品牌吗?这个知识其实需要外部输入才能知道,这就是领域知识,所以首先要积累一些领域知识。

  ① 领域知识积累

  

  领域知识其实并不容易分析。比如猪舌和烟嘴其实是一回事,西葫芦和西葫芦是一回事。当然,这个知识是可以分析的,那么如何分析呢?事实上,有很多现成的知识可以抓取和使用,积累为领域知识。这个领域有许多形式的知识。最简单的就是词典。知识图谱也可以构建。知识图谱构建是最常用的领域知识构建方式。

  ②词库挖掘

  

  如何构建同义词库需要挖掘出各种类型的词,例如最常用的同义词和上位词。使用前面的例子可以理解同义词。西瓜和西葫芦是同一个东西。有很多方法可以获得同义词。预训练的词向量求共现关系的方法可以找到大量的同义词(也就是类似word2vec的方法),但是找到后可能不准确,需要后期处理才能使用它。很多同义词可以从百度百科中抓取,同义词可以在企业经营数据库和企业现有词库中找到。有多种方法可以构建同义词库。

  然后如何挖掘上位词,举个例子理解上位词,比如商品类别是具体商品的上位词,矿泉水的上位词是饮用水。词库的构建是为搜索做必要的工作,但是在词库的构建过程中,不一定是人工的过程。完全可以使用其他自动化的方法甚至模型来过滤词库,最后再做一些人工修正。

  ③商品知识图谱构建

  

  如何构建产品知识图谱,我们可以构建很多不同类型的知识图谱。本文基于不同的实体构建知识图谱,比如基于三类实体构建知识图谱,如上图中最右边的*敏*感*词*。苹果有很多型号。如果用户搜索Apple,用户可能想购买iPhone 11、iPhone X 或仍然无法买到的iPhone 12。可以通过先验知识构建知识图谱,并将这些知识用于最终排名。整合,比如用户更倾向于购买iPhone X,iPhone X在后期排序的时候会更高级。对于品类,搜索苹果可能是手机或水果。不管是买手机还是吃水果,都是有概率的。不同的用户有不同的倾向,但是我们目前构建的地图还不能个性化。这只是一个宏观统计。在搜索苹果时,80%的用户实际上是想买苹果手机,20%的用户想买水果。这给了我们一种参考。知识图谱实际上是一种非个性化的全局知识构建。通过商品库分析静态概率。最后会根据用户的点击行为进行一些动态调整。调整后的知识图谱用于后续排名。

  3.意图识别

  

  用户搜索词预处理后,根据分词结果识别搜索词对应的实体类型。当用户搜索产品时,可以知道用户搜索的是什么实体,是品牌还是产品名称。您还可以通过图表猜测用户的搜索意图。如果他只输了一个苹果,他可以猜测他很有可能会购买一部手机,他也可以猜测其他实体类型。经过猜测,还有一些部分是猜不出来的。猜不出来的部分怎么办?使用意图识别。

  那么如何做意图识别,利用用户导入的素材库来自动训练意图模型。意图识别就是进行类别预测,甚至是对其他没有字面表达的实体类型进行预测。在最初的材料库中,产品的各种属性都是一些自然的标注数据。使用这些注释数据来训练初始意图模型来预测隐式实体类型。初始模型训练完成后,使用搜索日志动态调整这个意图模型。

  经过预处理、分词、实体识别、基于知识图谱的预测和意图识别,能达到什么效果?可以搜索“手机”,根据用户的信息,可以知道手机是一个产品名称,可以猜出具体的产品,但猜的可能不是那么准确。这个用户可能有80%的概率购买苹果手机,而他购买的苹果手机可能是iPhone 11,他可能猜到他要买的颜色是红色。这样,当用户输入一个词时,他就可以预测他可能想要搜索的所有信息。当然,这种预测有时准确有时不准确,但稍后会进行调整。这样,你就可以带着这些信息做一些回忆了。

  

  意图识别的方法有哪些?意图识别的方法有很多,因为意图识别本身使用分类器。分类器的种类其实很多,但是经过各种比较,我们选择了FastText,可以在线使用,在同样的效果下,FastText是最快、最简单、最高效、最实用的。

  4.粗排

  

  完成前面的工作后,我们将开始召回。从用户搜索一个词经过一系列的过程,通过知识图谱(其实知识图谱放了一些相对头部的实体,但是长尾实体词还是需要用意图识别方法来预测)各种信息被预测,并用这些信息构建召回条件,召回条件用于召回完整的结果集。至此,召回工作完成。

  召回工作完成后,下一步就是粗选。一个简单的模型可用于粗略排序。这个模型中的特征可以是相关的(搜索和推荐不同,一开始搜索会相关,但是推荐不会有相关性,推荐不会先输入一些搜索词)、时间、人气、销量、数量点赞数和采集数等,训练一个简单的模型,做一些粗略的排序,截断,进入下一个链接,如果想要更简单,可以找出核心特征,做一个加权平均粗略的排序无法达到个性化的效果。当然,粗排序可以做得更加个性化,可以根据不同的搜索用户制作个性化的粗排序模型。

  5.精排

  

  得到粗排序结果后,下一步就是细排序。对于搜索,目前主要的优化目标是CTR,主要采用CTR估算方法。 CTR估计的方法很多,比如传统的特征工程方法、深度学习方法等,也可以使用自研的第四范式HyperCycle。

  

  特征工程方法主要是利用不同类型的特征来构建机器学习排名模型。上面列出了几组特征,包括搜索词特征、相关性特征、用户特征、产品特征和行为特征。

  

  深度学习方法也是常用的CTR估算方法。可用于对搜索场景进行排序的深度学习模型有很多,例如DeepFM、Wide&Deep等。

  

  我们的系统主要使用自主研发的HyperCycle。简单来说,它会自动储水积累数据,自动探索模型,自动挖掘特征,自动训练上线,自动定时更新。更多信息请参考石广川分享的HyperCycle。

  6. 其他

  

  推荐相关的应用场景会出现在搜索中,比如搜索阴影、搜索发现、搜索提示、猜你喜欢和相关搜索等,都与推荐相关。

  搜索模式是搜索框中唯一的词。它实际上是对搜索框top1的推荐。根据用户的历史行为,推荐用户最可能的搜索词,将top1放入搜索模式。然后推荐给用户。用户看到这个底纹后,可以搜索这个底纹上的搜索词。目的是引导用户,猜测用户想要搜索什么,提高转化率;搜索发现和搜索底纹原理类似,但是推荐的搜索词比较多;搜索提示是在搜索中做一些推荐,相关搜索是在没有搜索结果时做一些相关推荐;有些地方会出现猜你喜欢,猜你喜欢其实是一个纯推荐场景中,当用户打开搜索页面的时候,他猜测用户最想搜索什么,然后推荐给用户。这些其实就是搜索中的推荐,搜索中的流量和推荐中的流量是可以完全相连的。

  

  上面,我已经一一讲了整个搜索过程。现在让我们一步一步地看一下搜索单词的过程。第一步,输入搜索词“康师傅方便面”。第二步是预处理。预处理会做一些事情。第一步是分词,然后计算搜索词可能的实体类型。比如康师傅是一个品牌,它认可楚康大师是一个品牌。方便面可以是修饰符,也可以是类型。还有一些同义词:袋装面、桶装面和方便面。经过第二步的处理,你会得到类似这样的处理结果;第三步意图识别,可以看到该类别有96%的概率属于粮油调味品;

  

  第四步是构造一个搜索查询来召回来自ES的结果;第五步,得到ES召回的结果,做粗排序和截断;第六步,精细排序;最后根据业务规则进行操作干预,将最终的搜索结果返回给用户,以上就是完整的技术流程。

  03

  应用案例及效果

  最后,我们来看看搜索技术解决方案的应用案例并分析结果。

  

  应用部分零售企业场景后,搜索结果准确率提升50%,全产品覆盖率提升3倍,解决客户搜索体验痛点。

  

  这是上线前后的搜索结果对比。在发布前搜索“Apple”时,排名第一的并不是Apple。启动Smart Search后,搜索结果都与“Apple”相关。

  

  按类别搜索,优化前搜索“水”,前5名返回“风水梨”“柔肤露”等完全不相关的产品,优化后搜索“水”,前5名返回密切相关的产品浇水。

  

  按品牌搜索,优化前搜索“安木喜”。前 5 名返回与“希翼”完全无关的产品。优化后搜索“安木喜”,Top 5返回与品牌密切相关的产品。

  

  同义词搜索,优化前搜索“机会”,Top5返回“果汁饮料”和“芒果味果冻”无关产品,优化后搜索“机会”,Top5返回与圣人水果密切相关的商品.

  

  优化后,可以进行智能纠错和拼音搜索。比如搜索“pingguo”、“pingguo”、“pinguo”,就可以准确搜索到苹果相关产品。

  客人介绍:

  邢少民,17年加入第四范式,一直在做商业产品研发。最初,他做智能客服系列产品。去年,他孵化了智能搜索产品。今年也在做智能推荐产品的研发。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线