电商搜索如何让你买得又快又好「整流程」(五)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电商搜索如何让你买得又快又好「整流程」(五)相关的知识,希望对你有一定的参考价值。

参考技术A 其它相关文章整理: https://zhuanlan.zhihu.com/p/51015148

本文介绍用户感知较弱的召回和排序模块,主要以技术方案和实现为主进行介绍(主要为下图中,搜索服务的一些工作)。这一过程和推荐非常类似,区别主要为召回源更多地考虑了当前搜索词,排序特征也加入搜索词特征及其影响到的交叉特征,排序依据建立在相关性基础上。

往简单来讲,用户输入了搜索词,系统通过搜索词找到与搜索词相关的商品集合,系统通过用户及商品的情况进行排序,最终展现给用户。

0.找不到

但是在构建搜索系统的初期总是无法精准地帮助用户找到想要的商品主要原因有以下几点:

不同的用户对同一种诉求的表达往往是有差别的,往往会存在一种比较常见的现象,用户输入的query并不能清晰准确的表达需求。这一块是可以通过较好的产品设计及实时反馈来做精确需求表达捕捉,产品设计主要是前面介绍的引导类产品(下拉推荐、筛选、锦囊等),实时反馈是指快速捕捉用户在当前query下的正负反馈,系统捕捉其中的query意图。

搜索系统对用户query的理解能力较弱,无法挖掘出用户的真实需求。这一块则更多是算法发力的点,通过文本、行为、session等数据挖掘query本身的内涵,这一块更多是QU(query understanding)的工作。

用户输入了长尾词,过多条件无法匹配到商品。这一块也可以通过QU和QR(query rewrite)来逐步解决。

召回结果集的排序不合理,可能用户需求的内容被排在后面而未曝光。这一块则是排序的问题了,建立一个良性的评分排序公式,并且利用算法合理建模用户决策过程。

从流程上来说,如下图

接下来我们分别通过讲解QP、召回、排序来对上述流程解构。首先来看以下QP里面的各个模块。

1.QP模块

1.1 QU/query understanding

1.1.1 概述

1.1.1.1 目的

拆解用户搜索词的意图

比如新品,年龄,尺码,属性,类目等搜索意图识别及归一

1.1.1.2 任务

Query词性及主体结构,主要词/描述词等: 2018最新款适合胖胖的女生穿的连衣裙

预测用户搜索商品类目(category)性别(gender): 手提电脑、t恤 女

属性&标签识别: 品牌,颜色,尺寸: 裙子红色,43码nike球鞋

搜&逛:强意图/转化&弱意图/逛: 连衣裙 & Iphone XR 256G

1.1.1.3 方法

方法词表穷举法,规则解析法,机器学习方法

1.1.1.4 意图识别的难点

输入不规范,不同的用户对同一诉求的表达存在差异。

多意图,“苹果” 可以是产品词,也可以是品牌词;可以是手机,也可以是水果。

数据冷启动。当用户行为数据较少时,很难获取准确的意图。

1.1.2 词性&主体识别&属性/标签识别

词性的识别有助于整个搜索系统快速地找到和定位相关商品,也可以帮助快速定位核心词、属性词等。

搜索过程中,不同term对于检索有不同的意义,不能本末倒置。不同重要程度的词,应该在召回排序阶段给予相应不同的影响,核心词具有更高的分值。当用户搜”children toys“召回商品时,核心词是toys,children为修饰词,根据term weight来进行排序降权的。细粒度地还可以做进一步区分产品词、品牌词、型号词、停用词。query被完整匹配和部分匹配的权重是不同的、单词命中和多词命中同一商品也需要考虑权重情况。

其它还包括了中心词逻辑、热词逻辑、纠错系统、丢弃词逻辑、词性标注等工作。常见方法词性识别有,基于规则和基于统计的词性标注(HMM)。

1.1.3 词画像

词属性

基础属性:pv、uv、gmv、ctr、cvr等

业务属性:品牌词、大促属性

词质量分

词关系

同义词、形近词、同音词、子母品牌、类目、文本相似性

词维度的用户画像

1.1.4 强弱意图

用户强弱意图/转化意图识别,可以快速帮助搜索系统定位召回及排序策略,不同的意图可以带来不同的排序和展现效果。如强意图下相关性因子应该加强,弱意图下应该更加注重点击/转化等反馈行为量。

强意图/转化型: 需要快速帮助用户定位所需的商品 (因素:价格、品牌、品质、商家等),推送引导的目的是让用户作出购买,收藏等决策,追求转化的数量+速度+质量。

弱意图/闲逛型: 需要帮助用户发掘新的兴趣、新的话题,但同时不能让用户 感觉无聊,目的是满足用户需求,把用户喜欢的推荐给他,追求 pv/点击率。

根据用户行为和query的静态信息,分析query是搜索型(偏向买)还是浏览型(偏向逛)。后续利用模型对query分类,用以分析排序策略对不同类型query的影响,方便对不同类型query作不同排序。

分析用户个性化标签的浏览行,转化型趋势。

若干特征举例:

session+query内商品的点击率

Session内不同query的个数

空格数量

相关一级类目个数

停留时长再逛和搜query中表现差异大

行业分布:服装鞋包/3c、美容护理、食品保健、话费充值差异大

1.1.5 类目预测

Query的类目预测主要是,分析Query和哪些类目的意图更相关(当然这里用户维度的信息也会被考虑进来)。query通过搜索引擎召回后,一般将类目相关性作为重要的海选排序因子,保留一部分商品,一方面保证了效率,另一方面也从源头保证类目的相关性,保证用户体验。从实际工作来看,fasttext是一个非常不错,实践也较快的算法。

类目举例

常见模型

1.2 QR/query rewrite

1.2.1 概述

1.2.1.1 问题

query和商品描述之间存在gap,特别是中长尾query。多种描述,信息冗余,属性检索,宽泛意图。

1.2.1.2 目标

文本和意图,通过对原始Query进行改写,生成一系列相关Query,把相关Query作为原始Query的补充,与原始Query一起参与搜索,从而得到更加丰富和准确的匹配结果

1.2.1.3 方法

query embedding和multi-method

1.2.2 query embedding

query embedding(query映射到query),可以针对“多种描述”和信息冗余问题意图改写:query映射到意图,主要针对属性检索和宽泛意图类型;也可以进行相似query挖掘。

向量改写流程: query向量化->向量相似查找->相关性判断;借鉴skip-throught-vector,使用seq2seq重建句子周围的句子,假设某个session序列是(s1,s2,…,sn),那么一条训练数据为(si-1,si,si+1),encoder是si的词序列的lstm,decoder是分别si-1和si+1,这样训练下来decoder的上下文向量就学到了这个句子在session中的上下文表示。

1.2.3 multi-method

通过语义、行为、session log等挖掘出相似的query。

多维度相似融合再排序: 按照点击相似度、文本相似度、Session相似度衡量Query之间的相似度,得到候选的Pair(可选)交给重排序模块,对Query pair的优先级做优化,生成Top K的改写结果。

基于行为Item cf/swing、Simrank++

基于session Word2vec、seq2seq

基于内容 Word2vec

融合 LR/GBDT

2.召回&检索模块: ltm/learn to match

2.1 检索依据

电商商品: 图片+标题+属性+交互,检索项包括但不限于:商品名称,商品标题、副标题,商品描述,商品参数、规格,商品品牌,商品品类,别名关联商品,促销类型

相关性(query&tittle/content,行为,session): 融合点击相似度、文本相似度、Session相似度衡量Query之间的相似度,除了前面介绍的通过query session来做query embedding,用query来重建其点击过的宝贝标题/描述序列同样适用,只不过decoder阶段换成query点击过的标题。

2.2 语义搜索

语义搜索是指不单单考虑词维度的精确匹配,而是语义层面来做。增加搜索结果的相关性,提升用户体验外,也可以一定程度上遏制商家商品标题堆砌热门关键词的问题。

2.2.1 常见doc&query匹配方法

BM25通常计算query和Doc文本term的匹配程度。由于query和doc之间的语义gap,可能存在很多语义相关,但文本并不匹配的情况。

通过商品内容理解和语义标签: 通过商品图片,详情页,评价和同义词,上下位词等给商品打标签和扩充商品索引内容

语义匹配: Dssm模型将query和文本变成向量,用向量内积表达语义相似度

匹配深度与高度: 词->短语->语义->主题->句法

词->短语->语义->主题->句法

embedding-similar

2.3 无结果优化

二次/三次召回:放弃权重低term,扩大检索字段和检索范围

Query 纠错 & 同义词改写:同时用原词和同义词去检索,最后对两者返回的结果取并集。

分类意图识别的优化,首先根据 Query 分布定义了 8 类意图:可以通过识别 Query 中 Term 的意图来判定整个 Query 的意图

3.ltr/learn to rank

精排系统主要服务于个性化排序,召回粗排由搜索引擎负责完成,精排侧重更细粒度特征,更复杂模型,实时性。精排所需特征,模型基本复用搜索引擎的技术,可以支持高密度的数据存储和高并发读取。

3.1 评分体系: 静态分 * 动态分

静态分体现商品的转化,商品品质,背后供应商品质

动态分体现商品与query的相关性,个性化分,用二元分类(Binary Classification)来优化点击/购买概率。

3.1.1 评分系统-静态分

• 稳定性,连续性,区分度

3.1.2 评分系统-动态分

预测出每一条商品在给定以上条件组合(q,u,o)下发生交易行为的概率。

p(q,i,u)预估

gmv最大化模型-洪亮颉老师

相关特征-洪亮颉老师

3.2 其它加权因子主要分为几个维度:

相关度、商业化因素、个性化因素、人为因素、数据模型统计。

4.总结

搜索技术服务模块必然与产品设计迭代并行,并且通过数据分析来支持整个流程优化,抓住重点和系统最大短板进行迭代。

下一篇文章以搜索相关的数据分析为导向,介绍搜索产品与功能需要关注的一些指标,以及对整个平台的作用。

以上是关于电商搜索如何让你买得又快又好「整流程」(五)的主要内容,如果未能解决你的问题,请参考以下文章

IT运维如何又快又好的进行数据备份?

Python 操作 Excel,如何又快又好?

又快又好,行人检测和人脸检测和人脸关键点检测(C++/Android源码)

如何利用开源插件?又快又好地搞好数据接口开发,连通不同应用系统

如何利用开源插件?又快又好地搞好数据接口开发,连通不同应用系统

怎么让Word编辑公式又快又好