浅谈有赞搜索QP架构设计

发表于 2年以前  | 总阅读数:543 次

前言

在介绍QP前先简单介绍一下有赞搜索平台的整体设计,方便大家快速了解QP在搜索平台中的作用。下图简单展示了一个搜索请求开始到结束的全部流程。业务通过简洁的api接入los,管理员在搜索平台新建配置并下发,完成整个搜索接入,并通过A/B Test验证QP带来的优化效果。

文章主要分为5个章节:

  1. QP的作用
  2. QP应用整体设计
  3. QP应用分层设计
  4. QP算法插件设计
  5. 总结与展望

一、QP的作用

在NLP中,QP被称作Query理解(QueryParser),简单来说就是从词法、句法、语义三个层面对query进行结构化解析。这里query从广义上来说涉及的任务比较多,最常见的就是搜索系统中输入的查询词,也可以是FAQ问答或阅读理解中的问句,又或者可以是人机对话中用户的聊天输入。

在有赞,QP系统专注对查询内容进行结构化解析,整合了有赞NLP能力,提供统一对外接口,与业务逻辑解耦。通过配置化快速满足业务接入需求,同时将算法能力插件化,并支持人工干预插件执行结果。

以精选搜索为例,当用户输入衣服时用户往往想要搜的是衣服类商品,而不是衣服架,衣服配饰等衣服周边用品。通过将衣服类目进行加权,将衣服类的商品排在靠前的位置,优化用户搜索体验。

QP目前应用在新零售,微商城、精选、爱逛买手店、分销市场、帮助中心知识库、官网搜索等场景,通过类目加权,产品词识别,搜索词纠错,同近义词召回提升用户搜索效果。

二、QP应用整体设计

上图完整描述了QP请求流程和配置流程的执行情况。当搜索请求到达QP时,根据请求体中的场景标记获取QP配置。QP配置中包含搜索词位置标记,插件列表,dsl改写脚本等内容。

QP根据配置,按序执行相应插件。插件在执行后,可通过干预配置以及超参数对结果进行人工干预。

QP在获取到算法插件执行结果后,根据改写配置,对搜索dsl进行改写。如将纠错词放置在搜索词同一层级,将dsl改写成fuction score结构进行类目加权。

三、QP应用分层设计

上图按照请求流程从上到下展示了QP的分层设计,接下来将简单描述各层作用:

  • controller层:查询改写服务入口,对请求做预处理。
  • service层:根据场景获取QP改写配置,获取dsl里的搜索词,调用相应的插件返回qp结果。
  • plugin层:负责算法插件执行,调用插件对应的算法实现handler,对算法结果做干预并针对调用成功或者失败做处理。
  • handler层:算法具体实现放置在该层,该层会依赖各种算法服务(如小盒子,Milvus等)。
  • Intervener层:负责对handler结果做人工干预。
  • processor层:根据QP改写配置,调用改写插件,完成dsl的改写。

四、QP算法插件设计

01 预处理preprocess插件

按照配置规则对搜索词进行预处理,预处理方式如下:

1 . 删除特殊符号 " “ \ 等;

2 . 大写转小写,全角转半角;

3 . 连续英文联合切分,连续数字联合切分,其余单独切分;

4 . 默认截取list前50个字/词;

5 . 将list拼接成一个字符串。

样例

输入:"史蒂夫新款\时尚套装夏修身圆领百搭钩花DWF镂空雪纺两件套套裙;"
输出:"史蒂夫新款时尚套装夏修身圆领百搭钩花dwf镂空雪纺两件套套裙"

02 纠错Correction插件

纠错插件的作用是对搜索词中错误内容进行识别,返回正确内容。

样例


输入:[上海牛黄皂]
输出:[上海硫磺皂]

当用户输入“上海牛黄皂”时,通过纠错插件能正确输出“上海硫磺皂”,其技术架构如下图所示:

1 . 纠错模型在bert基础上采用知识蒸馏,提升模型精度降低模型时延。

2 . 根据同音字召回候选集,使用tri-gram语言模型对候选集排序。

03 细粒度分词Tokenzier插件(基础分词)

样例

输入:[雪地靴女2020年新款皮毛一体冬季加绒加厚防滑东北厚底保暖棉鞋子]
输出:[雪地 靴 女 2020 年 新款 皮毛 一体 冬季 加绒 加厚 防滑 东北 厚底 保暖 棉 鞋子]

该分词插件由Java版结巴 jieba-analysis 修改而来,修改内容如下:

  • 从全网商品标题数据,有赞行业数据,开源数据中统计出词频,作为基础分词词典;
  • 解决词典中由英文单词导致英文字符串被分开的问题;
  • 限制DAG的长度,即匹配词的长度,以此控制分词粒度,目前默认是2,分出来的词除英文和数字外,长度不会超过2。

04 语义分词sementicSegment插件

样例


输入:[雪地 靴 女 2020 年 新款 皮毛 一体 冬季 加绒 加厚 防滑 东北 厚底 保暖 棉 鞋子]
输出:[雪地靴 女 2020年 新款 皮毛一体 冬季 加绒加厚 防滑 东北 厚底 保暖 棉鞋子]

该插件在细粒度分词的基础上,通过模型生成语义树将关联度大的词列表进行合并,输出语义分词结果。在样例中,雪地与靴关联度更大,所以在语义分词中将雪地与靴合并输出。

04 实体识别Tagging插件

样例

输入:["汽车","脚垫","刷子"]
输出:[{"word":"汽车","tag":"产品修饰词"},{"word":"脚垫","tag":"产品修饰词"},{"word":"刷子","tag":"产品词"}]

实体识别插件主要用于识别出搜索内容中的产品词。比如用户在输入“汽车脚垫刷子”时,如果没有做产品词识别,“脚垫”相关的商品会因为商品分高而排在“刷子”商品前面,影响用户搜索体验。

反之,经过命名实体识别,对“刷子”做产品词提权,刷子类商品就可以排在脚垫类商品前面,优化搜索体验。

目前有赞规划的实体类别列表如下所示:


产品词 eg:“修身连衣裙”中的“连衣裙”
产品修饰词 eg:“汽车脚垫”中的“汽车”
普通词
新词
修饰
品牌
机构实体
地点地域
材质
人名
功能功效
专有名词
影视名称
型号
文娱书文曲
系列
游戏名称
款式元素
颜色
场景
风格
营销服务
人群
时间季节
性别
类目
母婴
规格
新品
前缀
后缀
数字
符号

实体识别方法

基于正则可以识别数字、符号、规格、时间季节。


private numWordRegex = "[0-9]+";
// 符号
private String symbolWordRegex = "[\\[\\]\\{\\}【】「」\\\\\\|、|‘'\"“”’;:;:>.。》/?\\?<《,,~`·!\\!@#\\$¥%\\^…&\\*(\\(\\))\\-_—=\\+\\s]+";
// 规格
private String unitRegex = "(?:\\d+|\\d+\\.\\d+|[一二三四五六七八九十百千万]+)\\s*(?:m|米|cm|厘米|ml|毫升|l|升|度|平米|件|块|元|片|张|本|条|瓶|部|辆|个|桶|包|盒|g|克|kg|千克|吨|寸|斤)";
// 时间季节
private String seasonRegex = "[春夏秋冬]+[季天]?";
private String yearRegex = "(?:18|19|20)\\d{2}";

基于词库可以识别产品词、品牌、产品修饰词。

品牌:query->二级类目->品牌,条件:在当前类目品牌词库里且模型预测不是“产品词”,此时打“品牌”实体标。
产品词:在产品词库且模型预测是普通词。
产品修饰词:多个词出现时,除最后一个,其余打“产品修饰词”实体标。

基于模型可以识别剩余23类实体,类别如下所示:

产品词
普通词
新词
修饰
品牌
机构实体
地点地域
材质
人名
功能功效
专有名词
影视名称
型号
文娱书文曲
系列
游戏名称
款式元素
颜色
场景
风格
营销服务
人群
时间季节

模型结构如下所示:

04 类目预测categoryPredict插件

样例


输入:牛奶绒
输出: {
        "categoryId": "101000010001",
        "categoryName": "被套",
        "categoryChainList": [
            "家居建材",
            "床上用品",
            "被套"
        ],
        "parentCategoryId": "10100001",
        "level": 3,
        "hasChildren": true,
        "percent": 0.9010684490203857
    }

该插件会根据用户的搜索内容输出类目结果,主要应用在类目加权上。例如当用户在有赞精选上输入牛奶绒,期望返回牛奶绒床单。未使用类目加权,返回的商品大多为牛奶相关产品,不符合用户的搜索期望。使用类目加权后,将床上用品类产品提权,返回的商品牛奶绒床单,符合用户期望。

类目预测模型是在对比学习基础上实现,具体内容可看[对比学习在有赞的应用] 。

04 同义词插件

样例


输入:[衬衣]
输出:[衬衫]

同近义词插件目前非常实现轻量,通过离线同义词表,搜索内容中的产品词作为输入,输出同义词。

五、总结与展望来展望

本文从QP整体设计,分层设计,插件设计较为完整的介绍了QP的架构设计。目前经过一年多的迭代,QP已经实现业务场景小时级接入,优化了零售,微商城,精选,爱逛,分销等场景搜索效果。后续将会继续丰富算法插件能力同时完成QP可视化配置能力方便业务自主接入。

本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/1Qg8dFRqQhnsGBPf8bO6Rg

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:1年以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:1年以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:1年以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:1年以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:1年以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:1年以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:1年以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:1年以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:1年以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:1年以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:1年以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:1年以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:1年以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:1年以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:1年以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:1年以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:1年以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:1年以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:1年以前  |  398次阅读  |  详细内容 »
 相关文章
Android插件化方案 5年以前  |  237236次阅读
vscode超好用的代码书签插件Bookmarks 2年以前  |  8071次阅读
 目录