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

0.找不到

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

  • 不同的用户对同一种诉求的表达往往是有差别的,往往会存在一种比较常见的现象,用户输入的query并不能清晰准确的表达需求。这一块是可以通过较好的产品设计及实时反馈精确需求表达捕捉,产品设计主要是前面介绍的引导类产品(下拉推荐、筛选、锦囊等),实时反馈是指快速捕捉用户在当前query下的正负反馈,系统捕捉其中的query意图。
  • 搜索系统对用户query的理解能力较弱,无法挖掘出用户的真实需求。这一块则更多是算法发力的点,通过文本、行为、session等数据挖掘query本身的内涵,这一块更多是QU(query understanding)的工作。
  • 用户输入了长尾词,过多条件无法匹配到商品。这一块也可以通过QU和QR(query rewrite)来逐步解决。
  • 召回结果集的排序不合理,可能用户需求的内容被排在后面而未曝光。这一块则是排序的问题了,建立一个良性的评分排序公式,并且利用算法合理建模用户决策过程

1. QP (query process)

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.总结

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

搜索-Query Understanding (QU)相关推荐

  1. 搜索-Query理解(全)

    Query 模块: 纠错 分词 紧密度 同义词 词权重 实体词识别 意图识别 长尾 query 的多样性对于搜索系统来说是一个很大的挑战,原因有: ❶ 存在输入错误.例如上图中的错误 query &q ...

  2. 【打卡】医学搜索Query相关性判断学习赛

    入坑传送门 赛事介绍 文本匹配拥有广泛的应用场景,可以用于去除重复问题和文本相似度中.在本次学习中我们将学习: 如何计算文本之间的统计距离 如何训练词向量 & 无监督句子编码 BERT模型搭建 ...

  3. 问答系统技术--DeepQA

    文章目录 1.概念与特点 2.微信搜一搜中的DocQA路线 2.1.语义检索 2.2.答案抽取 3.QQ浏览器问答技术中的DeepQA路线 3.1.系统性解决方法 3.2.query理解 3.3.意图 ...

  4. Query理解在美团搜索中的应用

    分享嘉宾:刘亮 美团 资深算法工程师 编辑整理:吴雪松 出品社区:DataFunTalk 导读:在过去的20年中,搜索过程中处理查询的方式以及向用户显示结果的方式已完全改变.该过程已经从仅基于文本匹配 ...

  5. 搜索中的 Query 理解及应用

    文章作者:Joelchen 腾讯 研究员 编辑整理:Hoh 内容来源:腾讯技术工程 出品平台:DataFunTalk 注:转载请联系原作者. 导读:Query 理解 ( QU,Query Unders ...

  6. 知乎搜索框背后的Query理解和语义召回技术

    一只小狐狸带你解锁 炼丹术&NLP 秘籍 前言 随着用户规模和产品的发展, 知乎搜索面临着越来越大的 query 长尾化挑战,query 理解是提升搜索召回质量的关键.本次分享将介绍知乎搜索在 ...

  7. 电商搜索全链路(PART II)Query理解

    作者 | kaiyuan 整理 | NewBeeNLP 大家好,我是kaiyuan.电商搜索全链路系列文章们躺在我的草稿箱里已经N久了,上一篇整理还是在上次,错过的小伙伴点击传送门:电商搜索全链路(P ...

  8. 万字长文解读电商搜索——如何让你买得又快又好

    文章作者:姚凯飞 Club Factory 推荐算法负责人 内容来源:作者授权发布 出品社区:DataFun 注:欢迎转载,转载请注明出处. 一. 概述 一个产品的搜索功能,是用户快速触达所需信息的通 ...

  9. 北大AI公开课2019 | 微软亚洲研究院周明:NLP的进步将如何改变搜索体验?

    本文由InfoQ家整理首发,未经授权请勿转载 4月3日,北大AI公开课第七讲如期开讲,微软亚洲研究院副院长周明与大家分享了近期自然语言技术取得的进展和创新成果,并探讨了自然语言技术和搜索引擎如何进一步 ...

最新文章

  1. 如何编辑PDF文件,怎么修改PDF中的文字
  2. linux中sort不对的问题
  3. JZOJ 5266. number
  4. 【算法学习笔记】07.数据结构基础 链表 初步练习
  5. C++教程之lambda表达式一
  6. ubuntu没有声音-只有类比立体声输入
  7. Entity Framework 简介
  8. 消息中间件学习总结(13)——Kafka与RocketMQ的单机系统可靠性比较分析
  9. word 编辑域中的汉字_Word中根号2、根号3怎么打?
  10. azure备份存储层分类_备份到Azure –为什么要这样做?
  11. 四足机器人动力学建模(一)
  12. Word中有些空行无法删除,我是这样解决的.............
  13. POJ3764 The xor-longest Path
  14. 矩阵补全(Matrix Completion)和缺失值预处理
  15. 次氯酸钠发生器选型依据,再也不怕选不对设备了
  16. 彻底关闭搜狗输入法更新
  17. 在vscode中查看当前项目的工作环境
  18. 牛牛的Link Power II
  19. 4210: 孙壕请一盘青岛大虾呗【递归/注意结束条件】
  20. php字符串去掉空,php去掉字符串空

热门文章

  1. 硝烟四起!看三大移动操作系统终极较量
  2. Fiddler工具使用与配置 【实例整理】
  3. 时域分析瞬时自相关算法、频域分析复倒频分析法、调制域分析过零检测算法以及时频分析小波换算法matlab仿真
  4. 用计算机精确查找,Excel函数教程: 根据首列精确查找同一行的数据-excel技巧-电脑技巧收藏家...
  5. Google Authenticator windows client 谷歌身份验证器 windows 电脑端
  6. mysql高级功能怎么开启_MySQL高级
  7. 什么是强化学习,强化学习在控制系统中的应用以及matlab强化学习工具箱的介绍
  8. 昨晚,奔奔第一次哭伤心了。。。
  9. 博客开张篇 人生的几大境界和追求
  10. PHP中使用SHA256,如何在php5.3.0中使用sha256