该⽅法适⽤于 ⽤户query短,多数点击doc都会包含query中所有term,从⽽使得 词共现 ⽅法失效。
3.2 模型选型
应⽤场景的不同,会对应不同的模型选型⽅案:
(1) DeepCT/DeepRT
基于深度上下⽂语义的词权重。(a) 通过深度模型⽣成上下⽂化的词embedding + (b) 线性回归预测词权重。
优势:利⽤上下⽂语义,效果好。
劣势:模型略复杂,需要控制模型复杂程度,满⾜实时推理。
(2) Feature+ML
基于特征设计+机器学习回归模型预测词权重得分。
优势:计算⾼效,满⾜实时推理。
劣势:需要⼈⼯精细化设计特征。
下⾯就两类模型选型详细展开介绍。
weight是什么词性
3.2.1 D e e p C T / D e e p RT
DeepCT/DeepRT框架中整体使⽤的是:(a) 通过深度模型⽣成上下⽂化的词embedding + (b) 线性回归预测词权重。
如果数据集是基于词共现的得分,则可直接⽤MSE等损失函数,如果是基于偏序关系构建的训练集,则可以使⽤Pairwise Hinge Loss。
论⽂中使⽤的是BERT做上下⽂语义提取,我⾃⼰的实践中⽤的是BiLSTM+Attention,⽆论哪种⽅法,其核⼼本质是希望利⽤NMT结合上下⽂语义来动态判断term在当前语境的重要程度。
国际惯例,⼀图以蔽之
如果系统RT要求较⾼,则推荐使⽤BiLSTM,如果追求效果,预训练语⾔模型的更有优势,需要结合⾃⼰的业务场景做选型。
3.2.2 F e atur e + ML
Feature+ML的整体思路是:通过⼈⼯设计有效特征,再利⽤机器学习中的GBDT/LR等模型来做回归预测或排序。常⽤的模型有
Xgboost,LightGBM等。
很明显,该类⽅法的效果取决于特征设计的好坏,不同业务场景具体特征会有差别,下⾯总结⼀些常⽤特征。
term静态特征:idf值、词频、term长度、term词性、词位置、是否停⽤词、是否语⽓词、是否专有名词(⼈名/地名)等等。
term交互特征:term长度占query长度⽐值、text-rank值、term在query中相对位置、term对query的ppl贡献度等等。
ngram特征:包含该term的ngram统计特征、以该term开始的ngram统计特征、以该term结尾的ngram统计特征等等(通常⽤bigram和trigram)。
特征设计后,再⽤ML模型做回归预测或排序即可,⽐较简单,不再赘述。
参考⽂献