Query Rewrite for Null and Low Search Results in eCommerce

论文:http://sigir-ecom.weebly.com/uploads/1/0/2/9/102947274/paper_8.pdf

问题

有些query其实在eBay上有很多相关的商品,但是这些query搜索返回的结果没有或很少。

模型

用更激进的query改写来搜索返回更多的商品
用query改写系统将原始query标准化成多个替代query来提升召回率,并且保证不改变真实搜索意图。

去掉不重要term的算法

适用长query
将长query缩短成多个短的候选query来提高召回率,并且保证与原始query意图保持一致


image.png
  1. query理解
    (1) 从eBay的结构化目录中挖掘出实体字典
    (2) 与字典匹配识别出实体:包括商品品牌、商品名称、颜色、材料、型号、度量单位
    (3) 对term进行词性标注
    (4) 从用户query日志中挖掘出词组phrase,保证同一phrase里的term同时去掉或者同时保留
  2. 生成候选改写
    第一级:商品品牌、商品名、第一个名词词组phrase
    第二级:商品属性(颜色、材料)、度量单位、形容词
    第三级:停用词、连接词
    拼接组合第一级和第二级生成改写query,相当于去掉不重要的第三极term
  3. 多个候选改写排序
    打分算法

商品品牌消歧

存在商品品牌歧义问题,如"white"或者"1928"


image.png

B是q的某一个term,P(B|q)表示q中的term B是商品品牌的概率
C_i是第i个购物类别,其实是隐变量。
P(B|C_i)可以直接从eBay的存货清单中计算出来

打分算法

考虑因素:改写后query的长度、质量
包含更多品牌或名词的改写query要比包含更多形容词的改写query的得分要高
总得分计算公式
score=w1 * tagging score+w2 * click score
其中的权重w1、w2是最大化discounted cumulative gain (DCG)的优化结果
tagging score是给评为这个tag的所有item都打固定的分数

因为搜索返回商品没有或很少的query,很多都包含拼写错误的单词。所以用交叉熵来计算click score,然后根据分值来排序


image.png

其中r是query中token搜索返回文档数。P(click|r)是从搜索没有返回商品的query的大量样本中计算出来的

替换term的算法

适用短query
从用户行为和语言模型中学出term替换算法
query q0=(w1,...,wm),包含m个单词
从用户行为日志中为每个单词wi生成候选改写单词,然后生成候选改写query C(q0)
候选改写query的概率是P(q0|q1)P(q1)
概率最高的就是最好的改写query


image.png

其中P(q0|q1)是噪音信道模型得出的概率
P(q1)是n-gram语言模型得出的概率
给噪音信道模型增加权重,乘以r次幂


image.png

噪音信道模型

P(q0|q1)描述了原始query q0被q1替换的概率
从用户同一搜索session中搜集替换term的query对
假设query q0改写成query q1只替换了其中一个token,所以


image.png

计算概率P(wi|wi')也要考虑到P(wi|wi'=wi),其实P(wi|wi'=wi)的计算公式如下


image.png

语言模型

n-gram语言模型,由于query中包含的单词是稀疏的,所以这里使用2-gram语言模型
语言模型单单从query中构建,只建立query的语言模型
语言模型概率为


image.png

用的2-gram,所以
P(w1,...,wm)=P(w1)P(w2|w1)

在电商搜索场景下,query的词序影响不大
"case iphone"跟"iphone case"的意思几乎相同
后向2-gram语言模型


image.png

其中加了参数r
用的2-gram,所以
P(w1,...,wm)=P(w2|w1)*P(w1|w2)^r
为了防止过度替换over-replace的问题,不只挑选概率最大的改写query,而是返回概率大于原始query的所有改写query。

看论文时的疑问

电商垂直搜索场景下的idea能否适用大搜环境

感觉这篇电商垂直搜索场景下的idea不调整的话,不适用于大搜环境,需要经过大的调整才能适用大搜环境
在电商垂直搜索场景下,商品的属性也被认为是实体,比如商品的品牌、材料、颜色、形状、性别等,而大搜环境对实体的识别应该没有这么细。
而且论文中用到的模型:去掉不重要term的算法,直接是将拼接组合第一级和第二级来生成改写query,相当于去掉了不重要的第三级term。而这里的第一级与第二级的定义不适用于大搜环境。而且商品品牌消歧也是属于电商领域的。

品牌消歧涉及到的P(C_i|q)模型如何训练和预测

应该是eBay不愿意透露训练的具体细节
P(C_i|q)是query属于购物类别C_i的概率,感觉直接用了个分类模型,然后带有概率。

如果商品品牌有歧义的很少的话,是否直接用一个有歧义品牌的list,而不用专门建立一个品牌消歧的模型

感觉可以将两者结合,将歧义品牌放在list里,然后来了一个query之后,先判断是否包含list中的string,如果不包含,则直接跳过品牌消歧模型,如果包含,则再用品牌消歧模型来判断query中包含的这个string是否是品牌

公式(2)的P(click|r)为什么是用null query的样本计算,而不是用null and low query的样本计算

没有具体解释,应该是eBay不愿意透露具体细节

如何从用户行为日志中为每个单词wi生成候选改写单词

应该是eBay不愿意透露具体细节。感觉应该是从用户日志中,找到相似(比如:用户同一搜索session中的多个query不相同的单词可以认为是相似的单词)的单词pair对,然后进行单词替换。

你可能感兴趣的:(Query Rewrite for Null and Low Search Results in eCommerce)