商城商品搜索功能

文摘   科技   2024-08-08 09:29   山东  

2024年 第16篇


解决搜索不准确、找不到预期目标商品问题


  • 业界技术介绍

  • 我们的实现

  • 行业对标

  • 我们优化了什么

  • 搜索词分析


前言:搜索介绍



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


01 遇到的问题



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



02 业界技术介绍



| 2.1 搜索演化

| 2.2 方案架构

| 2.3 技术要点

「 2.3.1 召回 」

query改写

内容分词

分词的应用场景

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

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

我们的关键词

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

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

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

分词开源框架

分词类型

ik

jieba (结巴分词)

SnowNLP

HanLP

FoolNLTK

LTP

THULAC

PKUSeg

实现语言

Java

C++/Python

Python

Java/Python

Python

C++

C++

Python

原理

基于词典的分词

基于序列标注分词

基于统计学分词

深度学习模型

基于规则和统计方法实现

基于统计机器学习和深度学习模型

基于序列标注分词

深度学习模型

适用场景

高性能、高准确度的中文分词

适用于快速原型开发、中小规模文本处理任务,尤其适合对分词速度要求较高的项目

适合对中文社交媒体文本、网络评论等进行快速分析

适用于对分词准确性要求较高的科研项目、企业级应用

适合教学、学习、小规模实验项目

适用于大规模、高性能的NLP项目

适用于对词法分析精度要求高的研究项目、文本挖掘任务

适用于处理特定领域或跨领域文本的分词任务


智能纠错

「 2.3.2 排序 」


03 我们的实现



| 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端身份用型号和物料直接查询习惯,做模糊匹配,避免分词原因导致查询不到商品

04 行业对标




淘宝

京东

拼多多

商城

数据量

超过15亿

已超过10亿

超过亿级

万级

品类量级

万级

万级

万级

百级

sku级别

店铺

店铺

店铺

平台

召回

分词

智能+自定义分词

智能+自定义分词

智能+自定义分词

智能分词,基于公共词典的分词

纠错

智能纠错

智能纠错

智能纠错

拼音纠错

权重

智能化分析

智能化分析

智能化分析

query改写

智能改写

智能改写

智能改写

简单丢词处理,按拼音首字母丢词

排序

粗排

匹配度召回

匹配度召回

匹配度召回

匹配度召回

精排

个性化智能化排序

个性化智能化排序

个性化智能化排序

销量排序无个性化

筛选



05 我们优化了什么



| 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中,减少查询次数。

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

预发环境效果示例

「 进一步方案(Q3完成) 」

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

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

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

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

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



06 搜索词分析



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

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

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

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

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

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

用户成交情况如下:

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

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


07 团队介绍



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

    _________________ END__________________

三翼鸟数字化科技
三翼鸟数字化技术团队官方订阅号,提供技术前沿洞察、技术实践分享、最佳实践整合、技术规范发布、团队文化输出。