搜索引擎优化高级编程(如何构建一个好的电商搜索引擎?智能搜索的应用)

优采云 发布时间: 2021-12-09 18:19

  搜索引擎优化高级编程(如何构建一个好的电商搜索引擎?智能搜索的应用)

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

  01 电商搜索需求背景

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

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

  

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

  2. 搜索用户体验痛点

  

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

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

  

  如果搜索做得不好,用户搜索了很多次,浏览搜索结果超过一定时间,或者翻了几页,却找不到结果,就会因为找不到结果而丢失' t 承担搜索经验。

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

  

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

  5. 电子商务搜索示例

  

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

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

  

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

  02 技术方案探索

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

  

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

  1. 查询预处理

  

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

  2. 实体识别

  

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

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

  ① 领域知识积累

  

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

  ②词库挖掘

  

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

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

  ③商品知识图谱构建

  

  如何构建产品知识图谱,我们可以构建很多不同类型的知识图谱。本文构建了一个基于不同实体的知识图谱。例如,基于三类实体构建知识图谱。就像上图最右边的*敏*感*词*一样,苹果有很多,如果用户搜索苹果,用户可能想购买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。智能搜索推出后,搜索结果都与“苹果”有关。

  

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

  

  按品牌搜索,优化前搜索“Anmuxi”,Top 5 返回完全不相关的产品到“Xiyiou”,优化后搜索“Anmuxi”,Top 5 返回与品牌密切相关的产品。

  

  按同义词搜索,优化前搜索“樱花”,Top5返回与“果汁饮料”和“芒果味果冻”无关的产品,优化后搜索“樱花”,Top5返回与樱花密切相关商品。

  

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线