商城商品搜索功能

avatar
@海尔优家智能科技(北京)有限公司

前言:搜索介绍

通过用户输入的关键词,搜集库中的信息,用来帮助用户快速获取信息、提高效率、探索新内容、解决问题和做出决策。

1. 遇到的问题

商城搜索CSI用户体验群里反馈的问题:搜索结果不准确

2. 业界技术介绍

2.1 搜索演化

2.2 方案架构

2.3 技术要点

2.3.1 召回

query改写

内容分词

分词的应用场景

1、商品索引构建时,识别关键词

2、在用户搜索时,识别用户搜索诉求

我们的关键词

BCD-449WDCO Haier/海尔 冰箱 冰冷电器 冰箱 多门 冰箱 Myzone变温,高配双变频,变频一级能耗 ,彩晶法式四门,铝合金把手 轻奢金,220V/50HZ,0.76,多门,变频,675,钢化玻璃,6757001908,1级,BCD-449WDCO,0,1908,电子控温,彩晶,700

BCD-426WDCEU1 Haier/海尔 冰箱 冰冷电器 冰箱 多门 冰箱 阻氧干湿分储,全新渐变玻璃,金属匀温背板,全温区变温 BCD-426WDCEU1,6757001908,700,675,1级,1908,43,多门,彩晶,钢化玻璃,0.76,电脑控温,变频 智能

BCD-503WDCEU1 Haier/海尔 冰箱 冰冷电器 冰箱 多门 冰箱 全空间保鲜,阻氧干湿分储,冷冻智能恒温,全新渐变玻璃 220V/50HZ,多门,0.82,BCD-503WDCEU1,变频,钢化玻璃,657,1级,0,6578331910,电子控温,1910,彩晶,833 智能

分词开源框架

分词类型ikjieba (结巴分词)SnowNLPHanLPFoolNLTKLTPTHULACPKUSeg
实现语言JavaC++/PythonPythonJava/PythonPythonC++C++Python
原理基于词典的分词基于序列标注分词基于统计学分词深度学习模型基于规则和统计方法实现基于统计机器学习和深度学习模型基于序列标注分词深度学习模型
适用场景高性能、高准确度的中文分词适用于快速原型开发、中小规模文本处理任务,尤其适合对分词速度要求较高的项目适合对中文社交媒体文本、网络评论等进行快速分析适用于对分词准确性要求较高的科研项目、企业级应用适合教学、学习、小规模实验项目适用于大规模、高性能的NLP项目适用于对词法分析精度要求高的研究项目、文本挖掘任务适用于处理特定领域或跨领域文本的分词任务

智能纠错

2.3.2 排序

3. 我们的实现

3.1 分词

召回方式用的es的最大分词(ik_max_word),匹配得分方式用的es的智能分词(ik_smart)

ik_max_word:基于词典的正向最大匹配法/逆向最大匹配法,取并集

ik_smart:基于词典的双向最长匹配法

词形式

支持:拼音、汉字、拼音+汉字、汉字转拼音、简单截词

搜索目标字段及分数

命中累加分数越高,排序越靠前,一次搜索抓取分数前一千商品。

字段分数是否模糊备注
品牌-中文1是(分词)
品牌-英文1是(分词)
品牌-拼音0.5是(空格分词)
类型-中文0.6是(匹配度越高分数值越大)动态分值
类型-中文0.6是(分词)
类型-拼音0.5是(空格分词)
标题0.5是(空格分词)
标题-中文0.5是(分词)
标题-拼音0.25是(空格分词)
标签-中文0.5是(分词)
标签-拼音0.2是(空格分词)
卖点-中文0.5是(分词)
卖点-拼音0.2是(空格分词)
商品属性0是(分词)
商品副标题0是(分词)
活动信息0是(分词)
产品组名称0是(分词)
物料编码(sku)0是(分词)

3.2 个性化业务支持

滤芯搜索: 根据净水产业要求搜索净水器型号,模糊匹配,带出适用的滤芯

型号搜索: 针对B端身份用型号和物料直接查询习惯,做模糊匹配,避免分词原因导致查询不到商品

4. 行业对标

淘宝京东拼多多商城
数据量超过15亿已超过10亿超过亿级万级
品类量级万级万级万级百级
sku级别店铺店铺店铺平台
召回分词智能+自定义分词智能+自定义分词智能+自定义分词智能分词,基于公共词典的分词
纠错智能纠错智能纠错智能纠错拼音纠错
权重智能化分析智能化分析智能化分析
query改写智能改写智能改写智能改写简单丢词处理,按拼音首字母丢词
排序粗排匹配度召回匹配度召回匹配度召回匹配度召回
精排个性化智能化排序个性化智能化排序个性化智能化排序销量排序无个性化
筛选

5. 我们优化了什么

5.1 解决搜索不准确问题

query改写

query归一:大小写转化、清理特殊字符、繁体转化简体

query改写:丢词(根据词库匹配数量丢词)

『格力空调』搜索词,之前搜的是『格力』,当前搜的是『空调』

类目预测

类目模糊匹配并加强命中类目可能性

排序优化

粗排:召回时用了基础分+销量分

精排:在粗排基础上加上了运营分

搜索得分规则

搜索分数=基础分5+销量分+运营分4

基础分:搜索商品关联得分,按匹配字段分数高的返回,最多100分

销量分:指商品总销量*0.01,销量超过一万按一万计算,最多100分

运营分:指商品配置活动上得分,一种类型活动10分,活动数据每五分钟全量获取一次。

搜索目标字段及分数

基础分取命中最高分数,一次搜索抓取分数前一千商品。

字段分类召回方式匹配得分方式分数
物料编码(sku)原文分词精确召回分词精确匹配100
类目一级-中文分词召回,模糊匹配分词精确匹配80
分词模糊匹配64
二级-中文分词召回,模糊匹配分词精确匹配85
分词模糊匹配64
三级-中文分词召回,模糊匹配分词精确匹配90
分词模糊匹配64
四级-中文分词召回,模糊匹配分词精确匹配95
分词模糊匹配64
拼音分词召回0
商品类型中文分词召回分词精确匹配80
分词模糊匹配64
拼音分词召回0
商品品牌中文分词召回分词精确匹配70
分词模糊匹配56
拼音分词召回0
商品名称中文分词召回分词精确匹配30
模糊匹配召回分词模糊匹配24
拼音分词召回0
商品属性中文分词召回分词模糊匹配16
适用型号模糊匹配召回0

效果对比

改动点效果
原来现在
基础分由累加分改为最大分优先
新增类目分值
类目模糊召回和分词召回结合

5.2 搜索找不到预期目标商品的问题

案例

测试反馈:券适用列表页,返回热水器商品,但是搜索“热水器”时,返回结果中无此商品,建议优化

列表逻辑

原因

最大召回数量是1000,例如『热水器』搜索词实际匹配商品数量1375,实际返回最大数量是1000

为什么限制1000

如果加大商品召回数量,会导致首页搜索热水器时『获取门店商品及详情』效率降低

看效果

以公域搜索『热水器』为例

初步解决方案

全量召回商品,优化『获取门店商品及详情』效率

提前处理数据,实时监控商品和门店信息变更,20张表数据实时处理成综合表,并存储到es中,减少查询次数。

进度: 综合表具体实现方案(已完成),只剩平台搜索列表和对外统一列表逻辑迁移工作,计划跟商城改版上线

预发环境效果示例

进一步方案

深入分析原因:召回数据不够准确,应提高召回商品数据有效性。

这样是否彻底解决了搜不到商品的问题吗?

基于我们商城商品展示特性,我们是搜索平台商品,不是店铺商品(我们找店逻辑的特殊化)。

如果某个店,只上了几款冷门海尔商品,如果搜索『海尔』,依旧可能会出现搜不到的情况,原因是这个时候的过滤点在后面『找商品承接门店』。

二次全量召回:优化代码逻辑,当一次召回后,进行精确限制导致商品不足时,做二次全量召回(做好二次召回占比分析)

6. 搜索词分析

工作台和私域小程序为私域使用,按具体型号搜索占比超过95%,属于特殊场景不做通用性分析

对智家APP商城搜索词分析如下:

其中占比前五位的分类是 商品类型(不包含滤芯)、按型号、滤芯、其他、配件

其中商品类型(滤芯)搜索占比如下:

特殊说明的是洗衣机和热水器首页点击用类目来做的,所以所占比例较小。

点击率高的有类型、型号、配件,高点击证明用户对该部分商品感兴趣。

用户成交情况如下:

其中销量最高的三类商品为滤芯、洗衣液、清洗剂,三类商品都有两个共同的特性:绑定家电、消耗品使用,当然,洗衣液还有洗护产业的活动支持,带来了高订单量

洗衣机和空调较多,深入分析滚筒洗衣机订单 同一IP同一收货区域同一店铺订单超过一单的占比91.77%,这类订单通常为代客下单,实际成交订单只有40多单。结合搜索数据,家电搜索的实际转化很低。

7. 团队介绍

三翼鸟数字化技术平台-商城」负责搭建门店数字化转型工具,包括:海尔智家体验店小程序、三翼鸟工作台APP、商家中心等产品形态,通过数字化工具,实现门店的用户上平台、交互上平台、交易上平台、交付上平台,从而助力海尔专卖店的零售转型,并实现三翼鸟店的场景创新。