美文网首页
电商搜索如何让你买得又快又好「搜索中」(三)

电商搜索如何让你买得又快又好「搜索中」(三)

作者: 当流年不返 | 来源:发表于2019-06-22 11:34 被阅读0次

    其它相关文章整理:https://zhuanlan.zhihu.com/p/51015148

    当然还有很多因素也会去影响这个闭环,如用户(历史行为,性别、年龄等)、地域、天气,一个宏观、长周期的链路等。

          根据搜索的过程,可以拆解用户的搜索流程如下:搜索入口-搜索触发-内容输入-点击搜索-反馈结果。我们从这个流程的各个环节上来看四大电商app(京东、天猫、手淘、拼多多)的搜索功能,进行对比分析。

        前文已经介绍了搜索前的一些产品及技术方案;本文还是电商搜索为例,以用户搜索过程中输入搜索词(点击“搜索“按钮到按下”回车“之间发生的事)的过程为切入点,结合产品及技术方案展开,结合相关搜索词功能进行论述。

    搜索词自动补全产品形态

    关键词匹配/补全/联想/纠错的作用主要有三个:引导、纠错和高效。

        通过统计发现,用户在第一次查询中得到预期搜索结果的概率非常低,所以需要引导查询自动建议可以减少用户搜索的工作量,并通过数据挖掘(群体行为和智慧)来给出高频恰当的搜索建议。

          四个电商均使用了前缀匹配,但是手淘和天猫使用了拓展icon,可快速将推荐词黏贴至搜索框,京东使用了属性、标签、类目扩展 (除了对输入内容做联想,还会展示出与关键词相关的维度,自动补全关键词,增加用户的选择),拼多多则相对搜索词产品探索较少。不过目的都是帮助用户快速锁定意图,并开展搜索。

        用户在搜索框输入字符时,会在搜索框下面实时显示下拉提示词给用户,方便用户选择。可以帮助用户快速输入和优化搜索条件,且避免输入错误;在此基础上很多电商app也出现了筛选功能,在当前搜索建议词基础上进行扩展,进一步减少用户操作。一般在用户搜索的不够具体,会推荐该搜索词更细的分类。淘宝的辅助多重筛选搜索,输入时展现的一系列联想内容,点击右边的一个拓展icon,就可以采用联想出的内容,在此基础上继续缩小范围筛选,从而帮助用户获得最接近需求的内容。

    通过当前实时输入的词去匹配候选词,一般查询频度和同查询词的历史查询记录为重要参考依据。

          在搜索词补全和联想数量上,淘宝为10条,拼多多为10条,京东/天猫超过10条,但是不能过多,过多的选择会给用户造成记忆负担,并且占据空间,有损用户体验,所以需要控制数量以便信息不会过载。

        当然部分电商在历史的版本迭代中会尝试在搜索输入阶段进行纠错,比如输入联衣群,下拉框中自动纠正为连衣裙的一些选项,目前四个电商app均并无此功能,而是在搜索结果展示内做纠错及提醒;自动容错功能,将极大地提升用户体验,并提升用户的购买率。

    技术方案

          主旨:前缀匹配原则,完整词未出现时一般使用补全/联想功能,品类引导词为主;当出现明显品类词后开始出现更细粒度属性及标签筛选词。一般从query log中挖掘出大量候选query,并且保证前缀相同,然后根据某种计算模型给候选query 计算一个分数,最后按照分数选出topK作为最终结果。

        主要考虑因素:当前搜索词,用户(性别、年龄等特征),日志中的群体智慧

    极简版:

        常见搜索引擎均带有suggestion功能,直接使用

    统计版:

        使用前缀匹配后的候选词(Trie树 + TopK算法,回溯算法遍历trie树),使用用户搜索频度最高的topK个搜索词,但是这样会使长尾词无法得到曝光机会。

    trie树

      AC算法

    简单模型版:

          在用户进行搜索商品时,通过用户与搜索词信息进行意图预测,并辅之以类目、性别预测,前缀匹配后最终将某个性别和类目下的共现最高的topK热搜词作为搜索框下拉框提示词。

    复杂模型版1:

          复杂模型版,使用前缀匹配算法进行候选集召回(若召回量过少,考虑非前缀匹配结果),并做简单截断;然后使用用户特征(性别、年龄、行为序列)、context特征(季节、天气、温度、地理位置)进行、当前搜索词的embedding vector,然后候选搜索词也有一个embedding vector,三个vector分别与候选vector计算cosine similarity,最终使用一个线性模型融合三个分数,最终的排序结果会进行语义去重再选择topK(这里也可以用生成模型来做排序)。

    context embedding的方式

    这里可以将用户、context均视为搜索词,就可以用日志数据构造doc,最终使用doc2vec或word2vec。

      生成式-user-embedding-《云栖社区-query生成与推荐》

    生成式-query generate-《云栖社区-query生成与推荐》

    复杂模型版2:

    主要针对复杂模型版1的排序特征上,继续增加特征,并考虑更多的维度

        通过语义、行为、session log等挖掘出query间相似分,并加入用户、搜索词、context类特征及其交叉特征。多维度相似融合再排序: 按照点击相似度、文本相似度、Session相似度衡量Query之间的相似度,得到候选的Pair(可选)交给重排序模块,对Query pair的优先级做优化,生成Top K的改写结果。

    query2query召回

    基于行为: item cf/swing、simrank++

      基于session: word2vec、seq2seq

      基于内容: query2vec(类似word2vec,构建query序列)

    query排序

    模型: LR/GBDT

      样本: 用户日志,行为加权(展现:1,点击:5,购买:50)

      特征: 搜索词的pv/ctr/cvr,用户是否活跃,用户画像/特征,用户+候选词(查询词/浏览详情页与热搜候选词相似度),context特征(地理位置,温度,天气等)

    其它算法&产品模块

    纠错

          针对纠错,还可以做一个模型,但是上述query方式可以一定程度上避免了很多的输入有误问题。针对纠错可以考虑如下2种:

          Non-word纠错(准备一个电商语料库字典,输入词不在整体字典中,即可以判定为错词)

          Real-word纠错HMM(噪声信道模型,利用unigram+bigram+trigram,选择最优的token组合,Query pair,正确及错误词候选集合训练转移矩阵)

    语义归一

    针对候选词进行语义归一,一般将候选query相对搜索query的扩展部分进行相似度计算,以高于某个阈值后,只保留得分高的一个候选词,这样可以节省有限的坑位资源。

    产品模块

    清除的icon: 输入内容时,引导信息消失,有的还会伴随在搜索框中出现清除的icon,清除的icon主要方便用户进行二次搜索时一键清空当前信息,省去了逐字删除的麻烦;根据输入内容,进行关键词的匹配。

    联想词下商品数量: 产品层面还可以做一个事情,就是将关键词对应的搜索结果数量前置,便于用户控制搜索词的颗粒度,也避免出现无结果或者少结果的情况,特别是针对相对稍长尾的搜索词而言。

    后续文章主题:《国内主流电商搜索功能对比》、《电商搜索-数据分析》、《搜索算法-QR》、《搜索算法-QU》、《搜索算法-相关性》、《搜索算法-排序》。

    前几篇文章:

    姚凯飞:电商搜索如何让你买得又快又好(一)

    姚凯飞:电商搜索如何让你买得又快又好「搜索前」(二)

    对电商搜索感兴趣,并想深入了解算法的小伙伴,可参与我的live:

    如何让搜索算法提升电商用户体验

    其它相关文章及live整理:

    姚凯飞:推荐&搜索&广告&用户画像&深度学习整理

    谢谢大家的支持!

    相关文章

      网友评论

          本文标题:电商搜索如何让你买得又快又好「搜索中」(三)

          本文链接:https://www.haomeiwen.com/subject/ktvmqctx.html