Query term weighting

如query “家用的跑步机”,例子 #card

  • “跑步机”为品类词,权重最高、

  • “家用”为属性词,权重次之、

  • “的”为助词权重最低。

例: 冬季卫⾐推荐:冬季 / 卫⾐ / 推荐 #card
image.png

image.png

静态term重要性

  • 静态term重要性计算,顾名思义,term权重不随上下文变化而变化,其依赖特征多为term粒度的离线统计特征。#card

    • 比较经典的有搜索term词在语料库中的IDF(Inverse Document Frequency)、term词在搜索日志中的搜索频率、term词典规则(是否为停用词、专名词等)等。

    • 得到静态term重要性后,对query中多term的权重归一化,即可得到相应query term weighting结果。

  • 静态term重要性计算优缺点 #card

    • 特点是简单,无需复杂算法,

    • 缺点也很明显:准确率低、对上下文信息考虑不充分、长尾term效果差等。

动态term重要性

  • 主要思想是从 query整体 考虑各term重要性,主要方法则是通过特征工程得到可能对term重要性预测相关的特征,然后通过机器学习方法对term权重进行拟合,相应地可分为传统方法和深度学习方法两种。

  • 传统方法

    • 传统机器学习term重要性计算的核心在于特征工程,而经典的特征主要有统计特征、tagging特征、文本语义特征等:
      统计特征:主要包括基础统计特征和行为统计特征。query的基础统计特征包括 query长度、term长度、term在query中的位置,以及上述的term IDF值、term粒度的互信息、左右邻熵等。而行为统计特征则多依赖搜索点击日志,如:
      query中各term在query点击的doc集合中出现的频次。
      点击的doc集合中term出现频次/点击doc数。
      单term搜索次数、term在query中被搜索次数、出现当前term的query平均长度。

      tagging特征:该部分特征主要基于query tagging识别出各term类型,如电商领域中重要的tagging类型:品牌、品类、型号、尺码等,又如基础词性、句法成分等tagging信息。不同类型的term权重往往有较大差异,同样是term重要性计算的强特征。
      文本语义特征:该部分特征主要为文本和语义维度的特征,如文本层面term是否为英文、数字等,语义层面删除当前term后,源query多大程度可以保留原语义。具体的有:
      去掉各term后query的语言模型概率/query语言模型概率。
      利用深度语义相似度模型,去掉各term后的新query的模型输出和原query的模型输出相似性偏离程度。

      得到query中各term的特征后,可通过常用的机器学习模型(LR/GBDT/NN)对目标权重进行拟合。而支持模型训练的训练数据一方面可以直接来源于人工标注数据(如常见地将term权重分成若干档位),另一方面也可以通过搜索行为数据进行自动term权重打标,并通过人工审核得到最终训练数据。
      对于自动打标,可以利用上述特征工程中高准确率的统计特征(如term在命中doc中的频率占比),并根据特征值分布进行分档,对应到标注标准。而对于长尾query或term等低置信样本,则通过人工校验,得到相对准确的训练样本,避免模型对单一特征过分关注。
  • 深度学习方法

    • 在训练数据充足的情况下,也可通过深度学习直接预测term权重,在深度学习框架下,query term weighting问题对应序列标注任务,因而常用的序列标注深度模型都可以用来尝试解决term权重计算问题,如经典的LSTM、LSTM+CRF、BERT等。具体地,序列标注模型输入为term序列,对应位置的输出层接分类或回归任务进行term重要性目标拟合。

Ref

作者

Ryen Xiang

发布于

2025-03-20

更新于

2025-04-20

许可协议


网络回响

评论