数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
- 线性模型
- 支持向量机
- 朴素贝叶斯
- 决策树
- knn
- 集成学习
- 梯度提升树
- 数据预处理
- 模型评估
- 降维
- 聚类
- 半监督学习
- EM 算法
- 最大熵算法
- 隐马尔可夫模型
- 概率图与条件随机场
- 边际概率推断
- 主题模型
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- CRF ++
- lightgbm
- xgboost
- xgboost 使用指南
- scikit-learn
- spark
- numpy
- matplotlib
- matplotlib 使用指南
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
一、DSSM [2013]
-
现代搜索引擎主要通过将
document
中的关键词keywords
和搜索query
中的关键词进行匹配matching
来检索web document
。然而,词汇匹配lexical matching
可能不准确,因为同一个概念通常在document
和query
中使用不同的词汇vocabulary
和语言风格language styles
来表达。潜在语义分析
latent semantic analysis: LSA
等潜在语义模型latent semantic models
能够在词汇匹配经常失败的语义级别semantic level
将query
映射到query
相关的document
。这些潜在语义模型通过将出现在相似上下文中的不同term
分组到相同的语义簇semantic cluster
,从而解决web document
和搜索query
之间的语义差异。因此,query
和document
在低维语义空间中表示为两个向量,即使它们不共享任何term
,它们仍然可以具有很高的相似度得分similarity score
。根据
LSA
扩展,人们还提出了诸如probabilistic LSA: PLSA
、Latent Dirichlet Allocation: LDA
之类的概率主题模型probabilistic topic models
用于语义匹配semantic matching
。然而,这些模型通常以无监督的方式使用目标函数进行训练,该目标函数与检索任务的评估指标联系不紧密。因此,这些模型在
web
搜索任务上的表现并不如最初预期的那么好。最近,已经进行了两个研究方向来扩展上述的潜在语义模型,下面对其进行简要的回顾:-
首先,由
query
及其点击document
组成的点击数据集被用于语义建模semantic modeling
,从而弥合搜索query
和web document
之间的语言差异language discrepancy
。例如,Gao
等人提出使用Bi-Lingual Topic Model: BLTM
和线性的判别投影模型Discriminative Projection Model: DPM
在语义级别进行query-document matching
。这些模型使用针对document ranking
任务定制的目标函数对点击数据进行训练。具体而言:BLTM
是一种生成模型,它要求query
及其点击的document
不仅共享相同的主题分布,而且还包含分配给每个主题的相似词组。- 相比之下,
DPM
是使用S2Net
算法学习的,该算法遵循《Learning to rank using gradient descent》
中概述的pairwise learning-to-rank
范式。将query
和document
的term vectors
投影到低维语义空间的概念向量concept vectors
之后,query
及其点击document
的概念向量比query
及其未点击document
的概念向量距离更近。
Gao
等人报告说,在document ranking
任务中,BLTM
和DPM
的表现都显著优于无监督的潜在语义模型,包括LSA
和PLSA
。然而,
BLTM
的训练虽然使用点击数据,但最大化对数似然函数,这对于document ranking
任务的评估指标而言是次优的。另一方面,
DPM
的训练涉及大规模矩阵乘法,这些矩阵的大小通常随着词表规模vocabulary size
的增加而迅速增长。而在web
搜索任务中,词表规模可能达到数百万的量级。为了使训练时间可以接受,词表被激进地裁剪。尽管更小规模的词表使得模型使得训练可以进行,但是会导致性能欠佳。 -
其次,
Salakhutdinov
和Hinton
使用深度自编码器deep auto-encoder
扩展了语义建模semantic modeling
。他们证明了嵌入在query
和document
中的层次语义结构hierarchical semantic structure
可以通过深度学习来提取。据报道,这种方法的性能优于传统
LSA
。然而,他们使用的深度学习方法仍然采用无监督学习方法,其中模型参数针对document
的重建进行优化,而不是针对给定的query
将相关的document
和无关的document
区分开。因此,深度学习模型并没有显著优于基于关键词匹配的baseline
检索模型。此外,语义哈希模型
semantic hashing model
还面临大规模矩阵乘法的可扩展性挑战。然而,学习大词表的能力对于在现实世界的web
搜索任务中获得良好结果至关重要。
在论文
《"Learning Deep Structured Semantic Models for Web Search using Clickthrough Data》
中,从上述两个研究方向出发,论文提出了一系列用于web
搜索的深度结构化语义模型Deep Structured Semantic Model: DSSM
。具体而言,论文的最佳模型使用深度神经网络DNN
对给定query
的一组document
进行排序,如下所示:- 首先,执行非线性投影从而将
query
和document
映射到公共语义空间。 - 然后,每个
document
和给定query
的相关性计算为它们在这个公共语义空间中的向量之间的余弦相似度。
神经网络模型使用点击数据进行有区别地
discriminatively
训练,从而最大化给定query
条件下点击document
的条件概率。和之前以无监督方式学习的潜在语义模型不同,DSSM
模型直接针对web document ranking
进行了优化,因此具有卓越的性能。此外为了处理大型词表
vocabulary
,作者提出了所谓的哈希方法hashing method
,通过该方法将query
或document
的高维term vectors
投影到低维的letter based n-gram vectors
,信息损失很小。在论文的实验中,实验表明:通过在语义模型中添加这一个额外的layer
,word hashing
使得我们能够有区别地学习大词表的语义模型,这对于web
搜索至关重要。论文使用真实世界的数据集在
web document ranking
任务上评估了DSSM
,结果表明:DSSM
的最佳模型在NDCG@1
中以2.5%-4.3%
的显著优势优于所有竞争方法(包括之前被认为是state-of-the-art
的方法)。 -
-
论文的主要贡献在于论文在三个关键方面对先前的潜在语义模型(如
LSA
)进行了重大扩展。-
首先,论文直接针对
document ranking
的目标,利用点击数据来优化模型参数。 -
其次,论文使用多个
hidden-representation layer
将线性语义模型扩展到非线性语义模型。采用深层架构可以进一步增强建模能力,从而捕获和表达
query
和document
中更复杂的语义结构。 -
第三,论文使用
letter n-gram based word hashing
技术,该技术证明有助于扩展深度模型的训练,以便可以在现实的web
搜索中使用非常大的词表。
论文的实验表明上述三个方面的每一个新技术都可以显著提高
document
排序任务的性能。三种新技术的组合产生了一个新的state-of-the-art
的语义模型,该模型以显著的优势击败了所有之前的baseline
模型。 -
-
相关工作:论文的工作是基于对信息检索
IR
的潜在语义模型的两个最新扩展。第一个是探索用于以监督方式学习潜在语义模型的点击数据,第二个引入深度学习方法进行语义建模。-
潜在语义模型以及使用点击数据:使用潜在语义模型进行
query-document mathcing
是IR
社区中一个长期存在的研究课题。流行的模型可以分为两类:线性投影模型linear projection model
和生成主题模型generative topic model
。最著名的
$ \hat{\mathbf{\vec d}} = \mathbf A^\top \mathbf{\vec d} $IR
线性投影模型是LSA
。通过使用document-term
矩阵的奇异值分解singular value decomposition: SVD
,可以将document
(或者term
)映射到低维概念向量concept vector
。给定document
$ D $ 的term vector
$ \mathbf{\vec d}\in \mathbb R^k $ ,其中 $ k $ 为词表大小,则:其中: $ \mathbf A\in \mathbb R^{k\times k^\prime} $ 为投影矩阵 ; $ \hat{\mathbf{\vec d}}\in \mathbb R^{k^\prime} $ 为
document
$ D $ 投影后的低维概念向量, $ k^\prime $ 为低维概念空间维度。在
$ \text{sim} \left(\mathbf{\vec q},\mathbf{\vec d};\mathbf A\right) = \frac{\hat{\mathbf{\vec q}}\cdot \hat{\mathbf{\vec d}}}{\left\|\hat{\mathbf{\vec q}}\right\|\times \left\|\hat{\mathbf{\vec d}}\right\|} $document
搜索中,query
$ Q $ (由term vector
$ \mathbf{\vec q} $ 表示)和document
$ D $ (由term vector
$ \mathbf{\vec d} $ 表示)之间的相关性得分relevance score
,与它们对应的概念向量 $ \hat{\mathbf{\vec q}} $ 和 $ \hat{\mathbf{\vec d}} $ 的余弦相似度得分similarity score
成正比:除了潜在语义模型之外,在点击的
query-document pair
对上训练的翻译模型translation model
提供了另一种语义匹配方法。和潜在语义模型不同,基于翻译的方法直接学习document
中的term
和query
中的term
之间的翻译关系。最近的研究表明,给定大量用于训练的点击数据,这种方法非常有效。论文还将通过实验将DSSM
和翻译模型进行比较,细节参考后面的内容。 -
深度学习:最近,深度学习方法已经成功地应用于各种语言和信息检索
application
。通过利用深度架构,深度学习技术能够从训练数据中发现对任务有用的不同抽象级别abstractions level
的隐藏结构和特征。在
《Semantic hashing》
中,Salakhutdinov
和Hinton
通过使用深度网络(自编码器auto-encoder
)来扩展LSA
模型,从而发现嵌入在query
和document
中的层次语义结构hierarchical semantic structure
。他们提出了一种语义哈希semantic hashing: SH
方法,该方法使用从深度自编码器中学到的bottleneck
特征进行信息检索。这些深度模型分为两个阶段学习。- 首先,学习一系列生成模型(即受限玻尔兹曼机
restricted Boltzmann machine
)将document
的term vector representation
逐层映射到低维的语义概念向量semantic concept vector
。 - 其次,对模型参数进行微调,从而最小化
document
的原始term vector
和重构的term vector
之间的交叉熵误差。
中间层
activation
用作document
排序的特征(即bottleneck
)。他们的评估表明,SH
方法取得了优于LSA
的文档检索性能。然而,
SH
存在两个问题,并且无法超越基于标准的lexical matching based
的检索模型(例如,使用TF-IDF term weighting
的余弦相似度)。- 第一个问题是模型参数针对
document
的term vector
重建进行了优化,而不是针对给定query
从而将相关的document
和不相关的document
区分开来。 - 第二个问题是为了降低计算成本,
document
的term vector
仅包含最常用的2000
个单词。
接下来论文将展示对这两个问题的解决方案。
- 首先,学习一系列生成模型(即受限玻尔兹曼机
-
1.1 模型
1.1.1 DNN 架构
-
我们开发的
DNN
架构可以将原始的高维稀疏文本特征映射到语义空间中的低维稠密特征,如下图所示。DNN
的输入(原始文本特征)是一个高维稀疏的term vector
,如query
或document
中term
未归一化的原始计数。输入层500k
表示采用500k
个单词的大型词表。DNN
的第一个隐层有30k
个单元,从而完成word hashing
。- 然后通过多层非线性投影来映射经过
word hashed
的特征。 DNN
的输出是低维语义特征空间中的概念向量concept vector
。
-
这个
DNN
模型用于web document ranking
如下:- 将
term vectors
映射到它们对应的语义概念向量semantic concept vectors
。 - 计算
document
和query
对应的语义概念向量的余弦相似度cosine similarity
作为它们之间的相关性得分relevance score
。
形式化地,假设输入向量为 $ \mathbf{\vec x} $ ,输出向量为 $ \mathbf{\vec y} $ ,网络一共有 $ L $ 层。第 $ l $ 层的隐向量为:
$ \mathbf{\vec h}_1 = \mathbf W_1\mathbf{\vec x}\\ \mathbf{\vec h}_{l} = \sigma\left(\mathbf W_i\mathbf{\vec h}_{i-1} + \mathbf{\vec b}_i\right),\quad i=2,3,\cdots,L\\ \mathbf{\vec y} = \mathbf{\vec h}_L $其中:
- $ \sigma(\cdot) $ 为激活函数,这里采用
tanh
激活函数。 - $ \mathbf W_i,\mathbf{\vec b}_i $ 为待学习的网络参数。注意, $ \mathbf W_1 $ 为第一层
word hashing layer
固定的权重矩阵,不需要学习,详细内容参考后文所述。
对于
$ R(Q,D) = \cos(\mathbf{\vec y}_q,\mathbf{\vec y}_d) = \frac{\mathbf{\vec y}_{\mathbf q}\cdot \mathbf{\vec y}_{\mathbf d}}{||\mathbf{\vec y}_{\mathbf q}||\times ||\mathbf{\vec y}_{\mathbf d}||} $query
$ Q $ ,输入就是 $ \mathbf{\vec q} $ ,输出就是 $ \mathbf{\vec y}_q $ ;对于document
$ D $ ,输入就是 $ \mathbf{\vec d} $ ,输出就是 $ \mathbf{\vec y}_d $ 。对于query
$ Q $ 和document
$ D $ ,它们之间的相关性得分为: - 将
-
一般而言,
term vector
(可以视为IR
中的原始bag-of-words
特征)的维度与用于索引web document
集合的词表大小相同。在现实世界的web
搜索任务中,词表大小通常非常大。因此,当使用term vector
作为输入时,神经网络输入层的尺寸将无法用于模型推断和模型训练。为了解决这个问题,我们为
DNN
的第一层开发了一种称作word hashing
的方法,如上图的下半部分所示。word hashing layer
仅由线性隐单元组成,其中包含一个不需要学习的、规模很大的权重矩阵。接下来我们将详细描述word hashing
方法。
1.1.2 word hash
-
word hashing
方法旨在降低bat-of-word
向量的维度。该方法基于letter n-gram
,是一种专门为我们的任务开发的新方法。给定一个单词(如good
):- 我们首先为单词添加开始标记、结束标记(如
#good#
)。 - 然后我们将单词分解为
letter n-gram
(例如letter trigrams
:#go, goo, ood, od#
)。 - 最后,单词使用
letter n-grams
的向量来表示。
这种方法的一个问题是冲突
collision
,即两个不同的单词可能具有相同的letter n-gram
向量表示。下表展示了对两个词表进行
word hashing
的一些统计数据。和one-hot
向量的原始尺寸相比,word hashing
允许我们使用维度低得多的向量来表示query
或document
。- 以
40K-word
词表为例,每个单词都可以使用letter trigrams
由一个10306
维的向量来表示,从而在几乎没有冲突的情况下将维度降低了4
倍。 - 当该技术应用于更大规模的词表时,维度的降低更为显著。如下表所示,
500K-word
词表中每个单词都可以使用letter trigrams
由一个30621
维的向量来表示,维度降低了16
倍,而且冲突率0.0044%
(22/500000
)几乎可以忽略不计。
- 我们首先为单词添加开始标记、结束标记(如
-
虽然英语单词的数量可以是无限的,但是英语(或者其他类似语言)中
letter n-gram
的数量通常是有限的。此外,word hashing
能够将同一个单词的形态变化映射到letter n-gram
空间中彼此靠近的点。更重要的是,letter n-gram based representation
可以解决在训练集中看不到的单词(即out-of-vocabulary: OOV
)的问题。唯一的风险是
representation
冲突,虽然冲突比例较小。因此,基于letter n-gram
的word hashing
对OOV
问题具有鲁棒性,使得我们能够将DNN
解决方案扩展到词表非常大的web
搜索任务中。我们将在实验部分演示该技术的好处。 -
在我们的实现中,基于
letter n-gram
的word hashing
可以被视为一种固定的(不需要学习的)线性变换。通过该变换,输入层中的term vector
将被投影到下一层的letter n-gram vector
。由于letter n-gram vector
的维度要低得多,因此可以有效地进行DNN
学习。
1.1.3 DSSM 学习
-
点击日志由
query
及其点击的document
组成。我们假设每个query
与对应的点击document
至少部分相关。受语音和语言处理中判别式训练
discriminative training
方法的启发,我们提出了一种监督训练方法来学习我们的模型参数(即模型中的权重矩阵 $ \mathbf W_i $ 和偏置向量 $ \mathbf{\vec b}_i $ ),以便最大化给定query
的条件下点击document
的条件概率。给定
$ p(D\mid Q) = \frac{\exp(\gamma\times R( Q,D))}{\sum_{D^\prime\in \mathbb D}\exp\left(\gamma\times R( Q,D^\prime)\right)} $query
$ Q $ 和document
$ D $ ,我们通过softmax
函数从query-document
之间的语义相关性得分得到后验概率:其中:
-
$ \gamma $ 为平滑因子,它是一个超参数,需要根据验证集来执行超参数搜索。
-
$ \mathbb D $ 是需要排序的候选
document
集合。理论上应该考虑所有的候选文档,但是实际应用中给定一对点击样本 $ (Q,D^+) $ ,我们从曝光但是未点击的文档中随机选择 $ K $ 篇文档作为负样本 $ (Q,D^-_k),k=1,2,\cdots,K $ ,则 $ \mathbb D = \{D^+,D^-_1,\cdots,D^-_K\} $ 。我们选择 $ K= 4 $ ,并且在实验中发现: 不同的负采样策略对结果没有显著影响。
-
-
我们的目标函数是在给定
$ \mathcal L(\mathbf \Theta) = -\log \prod_{\left(Q,D^+\right)} p\left(D\mid Q\right) $query
的情况下最大化点击document
的可能性,即:其中 $ \mathbf \Theta $ 表示模型的参数集合。
该模型很容易使用基于梯度的数值优化算法进行训练,限于篇幅我们省略了梯度的推导过程。
注意:这里并没有计算负样本的概率 $ p(D^-_k\mid Q) $ ,负样本的信息在计算概率 $ p(D^+\mid Q) $ 时被使用。
-
DSSM
模型配置:-
为了训练模型并避免过拟合,我们将点击数据分为训练集和验证集。模型在训练集上训练,超参数在验证集上优化。
-
在实验中,我们的
DSSM
使用了具有三层隐层的架构。第一层隐层是word hashing layer
,包含大约30k
个节点(letter-trigramms
);接下来的两层隐层各有300
个隐节点。此外,输出层包含
128
个节点。 -
word hashing
基于固定的投影矩阵,相似性度量基于维度为128
的输出层。 -
我们初始化网络权重为 $ \left[-\sqrt{6/(\text{fanin + fanout})},\sqrt{6/(\text{fanin + fanout})}\right] $ 范围之间的均匀分布,其中 $ \text{fanin} $ 和 $ \text{fanout} $ 分别为输入单元数量和输出单元数量。
-
实验结果表明:在采用逐层预训练时我们没有观察到更好的性能。
-
在训练阶段我们使用基于
mini-batch
的随机梯度下降SGD
优化模型,每个mini-batch
包含1024
个训练样本。我们观察到模型训练通常会在20
个epoch
内收敛。
-
1.2 实验
-
数据集:我们在大规模真实世界数据集(称作评估数据集)的
web document
排序任务中评估了DSSM
。评估数据集包含
16510
个英语query
,这些query
来自商业搜索引擎的一年的query
日志文件。平均而言,每个query
都和15
个web document
(URL
)相关联。我们仅使用web document
的标题字段进行排序。我们使用了大约1
亿对的随机采样子集,这些document
很受欢迎并且具有丰富的点击信息。每个
query-title pair
都有一个人工生成的相关性标签,标签等级从0 ~ 4
一共五级相关性:4
级表示document
和query
最相关,0
级表示document
和query
最不相关。所有
query
和document
都经过预处理:单词被空格分开,字母小写,数字被保留,并且不执行词干化。 -
评估方式:评估指标是
Normalized Discounted Cumulative Gain: NDCG
。我们在这里报告NDCG@1, NDCG@3, NDCG@10
。我们还使用
paired t-test
来进行显著性检验,当 $ p < 0.05 $ 时才认为差异具有统计显著性。本文中使用的所有排序模型(即
DSSM
模型、主题模型、线性投影模型)都包含很多需要凭经验设置的超参数,我们使用2-fold
交叉验证来调优超参数。 -
baseline
方法:我们将DSSM
和三组baseline
模型进行比较。-
第一组
baseline
方法包括一些广泛使用的lexical matching
方法,如TF-IDF
和BM25
。TF-IDF
和BM25
都是基于lexical matching
的state-of-the-art
的document ranking
模型。-
在
TF-IDF
方法中,query
和document
都表示为具有TF-IDF
权重的term-vector
。给定query
,document
按照query vector
和document vector
之间的余弦相似度排序。 -
在
$ \text{BM25}(Q,D) = \sum_{q_i\in Q} w_i\times R(q_i,D)\times R(q_i,Q) $BM25
方法中,query
和document
相关性表示为:query
中每个term
和document/query
相关性的加权和,权重为term
的重要性,即:其中: $ q_i $ 为
query
$ Q $ 中第 $ i $ 个term
; $ w_i $ 为 $ q_i $ 的重要性; $ R(q_i,D) $ 为 $ q_i $ 和document
的相关性; $ R(q_i,Q) $ 为 $ q_i $ 和query
的相关性。
-
-
第二组
baseline
是单词翻译模型,如WTM
,它旨在通过学习query
单词和document
单词之间的lexical mapping
来直接解决query-document
语言差异问题。 -
第三组
baseline
是state-of-the-art
的潜在语义模型,这些模型包括无监督方法(如LSA, PLSA, DAE
)以及有监督方法(BLTM-PR, DPM
)。-
对于
LSA
,我们使用PCA
而不是SVD
来计算线性投影矩阵。query
和title
被视为单独的文档,因此模型中并未使用来自点击数据的pair
信息。 -
PLSA
仅针对document
(即title
)进行训练,另外我们的PSLA
版本是使用MAP
估计学习的。 -
DAE
是基于深度自编码器的语义哈希模型的实现。由于模型训练的复杂性,输入的term vector
基于40k
的词表。DAE
架构包含四个隐层,每个隐层包含300
个节点。中间有个bottleneck layer
,它包含128
个节点。该模型仅以无监督的方式对document
进行训练。在微调阶段,我们使用交叉熵误差作为目标函数。bottleneck
激活用作计算query
和document
之间余弦相似度的特征。 -
BLTM
是PLSA
的扩展。DPM
也可以视为LSA
的扩展,其中线性投影矩阵是使用点击数据以监督方式训练的。
-
为了使得结果具有可比性,我们按照
《Clickthrough-based latent semantic models for web search》
中的描述重新实现了这些模型。例如,由于模型复杂性的限制,LSA
和DPM
的模型使用40k-word
的词表进行训练,其它模型采用500k-word
的词表进行训练。 -
-
实验结果如下表所示。第
9
行到第12
行显式了DSSM
不同设置的结果。-
DNN
(第9
行)是一个不使用word hashing
的DSSM
。它使用与DAE
相同的结构,但是在点击数据上以监督方式进行训练。输入term vector
基于DAE
使用的40k
词表。 -
L-WH linear
(第10
行)是使用letter trigram based word hashing
和监督训练构建的单隐层模型。它和L-WH no-linear
的不同之处在于:我们没有对L-WH linear
输出层采用任何非线性激活函数,例如tanh
。注:但是隐层还是使用了非线性激活函数。 -
L-WH DNN
(第12
行)是我们最好的、基于DNN
的语义模型。它使用三层隐层,包括具有Letter-trigram-based Word Hashing: L-WH
的层和一个输出层,并在query-title pair
上进行有区分性地地训练。虽然基于letter n-gram
的word hashing
方法可以应用于任意大的词表,但是为了和其它方法进行公平地比较,该模型使用了500-k word
的词表。它和
L-WH no-linear
的不同之处在于:L-WH no-linear
是单隐层,但是L-WH DNN
是三层隐层。
可以看到:
WTM
显著优于TF-IDF
和BM25
,这证明了《Clickthrough-based translation models for web search: from word models to phrase models”》
中得到的结论。DAE
的结果与之前在《Semantic hashing》
中报告的结果一致。基于DNN
的潜在语义模型(如DAE
)优于线性投影模型(如LSA
)。然而,LSA
和DAE
都是以无监督方式训练,因此无法超越state-of-the-art
的lexical matching
排序模型。- 引入点击数据进行监督训练会带来一些显著的提升,
BLTM-PR
和DPM
都优于baseline
模型。 DSSM
模型表现最佳,在NDCG
中以统计显著的优势超越了其它方法。这证明了使用DNN
进行语义匹配的有效性。
此外,我们还有以下结论:
-
很明显,对点击数据的监督学习,再加上
IR-centric
优化准则的排序,对于获得卓越的document
排序性能至关重要。例如
DNN
(第9
行)和DAE
(第6
行)使用相同的40k-word
词表并采用相同的深度架构,前者在NDCG@1
中比后者高出0.032
。 -
word hashing
允许我们使用非常大的词表进行建模。例如第
12
行中的模型使用500k-word
词表,显著优于第9
行中使用`40k-word
词表的模型,尽管前者的参数规模更少(因为word hashing layer
的权重矩阵是固定的)。 -
深层架构比浅层架构在对嵌入在
query
和document
中的语义信息建模方面效果更好。例如在无监督模型中,
DAE
(第3
行) 深层模型优于LSA
(第2
行) 浅层模型。在监督模型中我们也观察到类似的结果:- 比较第
11
行和12
行,我们观察到将非线性层从1
增加到3
会使得NDCG
得分提高0.004 ~ 0.005
,这在统计上是显著的。 - 比较第
10
行和11
行(它们都是一层隐层的浅层模型),我们观察到线性模型和非线性模型之间没有显著差异。
- 比较第
-
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论