Query 改写

步骤:候选召回、改写判别

候选召回

  • 基于同义词

    • 直接通过同义词表映射对query进行改写
  • 基于行为统计

    • 核心思路 :-> 基于用户点击行为等统计信息找相似query,共同点击同一个item的query可能为意图一致的query。

    • 具体实现

      • 推荐i2i召回算法,如协同过滤方式:#card

        • 先构建query到doc的点击矩阵,得到query稀疏表示,

        • 进而通过表示距离计算得到源query的相似query;

      • swing算法 #card

        • 将query id看作user id,计算相应点击商品的swing,得到类似i2i的q2i。

        • 该类方法适用对点击行为丰富的头部query进行改写。

  • 基于内容

    • 对query进行内容理解,如word2vec、向量召回,找相似query。

    • 基于语义匹配的query改写 #card

      • 通过构建<query, query>的相似pair对作为训练数据,训练深度语义匹配模型(一般为双塔结构,方便向量方式召回候选),

      • 而相似pair对的构建可以基于上述行为统计的方法,也可直接训练query-item的语义匹配,间接也可得到query2query的语义度量模型。

    • 基于生成的query改写:#card

      • 通过seq2seq的模型架构,直接进行query2query的生成,训练数据仍可来源于行为统计的query pair对;

      • 另一种思路可以借鉴Skip-Thought Vectors,

        • 将一个session内的query作为一个序列(q_1, q_2, …, q_n),可以采样得到一条训练样本(q_i-1, q_i, q_i+1),在seq2seq架构下,通过encoder对q_i进行编码,decoder解码出q_i-1和q_i+1。

        • 这样得到的encoder输出的context向量即可作为query的表示向量,并可用于相似query召回。

    • 上述方法中,构造query pair对样本以及匹配/生成的方法还有很多,如引入比较流行的预训练+微调的方法。

    • 这类基于内容的query改写策略,可以将对头部query语义的理解泛化到用户行为不足的 长尾query ,提升长尾query的改写效果。

  • 基于session #card

    • 同session内作为一个序列,参考word2vec,训练query向量度量query相似度;或者根据用户session内换更换query的统计特征进行query改写候选召回。

      • 1是用户同一个session内query往往意图相似;

        • 可简单通过频率统计的方法
      • 2是将用户session内所有行为看作一个doc,query看作doc中的词,类似地,相同上下文的query很可能具有相同的语义。

        • 可参考word2vec或上文所述的生成模型方法

改写判别

  • 一般基于人工标注的训练数据,进行特征工程训练 二分类判别 模型,如GBDT或DNN模型等。
  • 这里以GBDT特征融合方法来介绍改写判别的一般方式,具体地,先经过特征工程得到源query和候选改写query的统计和语义相似度特征,再基于标注数据对特征进行融合,改写候选进行置信判别。除了改写召回阶段的中间特征可以直接利用外,还可进一步构造出更多的统计或匹配特征,如:#card
    • term重合率、实体term重合率、去停用词或引入term weighting的term重合率

    • 各种字面匹配距离,如编辑距离特征:

    • 基于频率或tf-idf的词袋模型表示的向量cosine距离。

    • word2vec表示距离、bert语义向量表示距离。

    • 点击doc集合的重合度、点击类目集合的分布差异距离(如Jaccard相似度,KL散度)。

    • 核心必要属性是否共同包含。

    • query pair对的基础特征,如term数、核心属性数等。

除了上述常规的query改写,还可以将query直接映射到意图ID,如类目ID、商品CPV ID等。该类改写常应用于类目、属性(年龄、尺码、型号等)等维度的搜索。#card

  • 如query"裙子"可以映射到“连衣裙”类目ID、“女式手表”改写为“CPV:3214221 AND 手表”,其中3214221为属性性别-女的ID。

  • 直接将query映射到意图ID一种常用的方式是使用规则映射,而映射规则一般来源于数据挖掘得到的词或短语到ID的映射。

Ref

作者

Ryen Xiang

发布于

2025-03-20

更新于

2025-03-20

许可协议


网络回响

评论