论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...

前言
   
在统计自然语言处理任务中,最基础也是最关键的一步是将人能够理解的文本编码为机器能够计算的向量,并且在编码过程中,尽量保留原有的语法和语义特征。语法特征包括词法:形容词,动词,名词等;句法:主谓宾,定状补;语义角色:如施事、受事、与事。语义特征则是需要结合上下文推到出的文本真正的含义,对歧义句式进行更严格的分化,可以解释某些同形格式产生歧义的原因。这篇 paper 讨论的是如何利用卷积的方式对语义特征进行编码,


The CLSM Architecture    

卷积潜在语义模型(CLSM),基于卷积神经网络的潜在语义模型,捕捉重要的上下文特征用于语义建模,传统的 LSM 比较常用的有 LSA ,主要是构造 doc-term 矩阵,然后进行 svd 分解,得到 term vector 和 doc vector,缺点是只能建模到 semantic level,对于lexical level 效果不佳,基于此改进的模型如 PLSA(probabilstic LSA), LDA 等等,但是不具备上下文信息的捕捉能力。CLSM 能够同时捕捉到 word n-gram level 的特征和 sentence level 上下文特征,下图是 CLSM 的整体架构。

    论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...

Convoltuion Network
           
在 convotulion netword 主要有四个操作:input 、conv 、pooling、output,分别对应着 word-n-gram 的 特征表示, word-n-gram-level 的上下文建模,sentence-level 的语义特征抽取,潜在语义向量的表示。


1. word-n-gram representation

在 CLSM 中使用卷积操作来抽取 lexical level 特征,lexical level 特征的表示方式是基于 word-n-gram 的 letter-trigram,一张图说明下  letter-trigram 的操作方式:


               论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...
 因此,表示一个 word-n-gram 就是将每个 word 的 letter-trigram 连接起来得到向量论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval..., ft 是第 t 个 word 的 letter-trigram 表示,n = 2d + 1 是上下文窗口大小,实验中有 30K 的 letter-trigram,所以,letter-trigram 层的维度是 n * 30K 。


2. Modeling Word-n-gram-Level Contextual Features 

从 letter-trigram 层  经过 卷积操作 论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval... 得到 卷积层, Wc 为卷积操作的 convolution matrix , 卷积层是用于捕捉 word-n-gram 的上下文特征,contexts 中的 word 被投射到了向量中,相似的 semantic 会有相近的表示向量,文章中给出了一组实验数据:
 论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...
 可以看出,第一个例子中,针对 office 这个重要的词的上下文语义信息已经能够很好的表示出来了。

3. Modeling Sentence-Level Semantic Features

经过卷积操作之后,已经完成了词的上下文特征抽取,这些特征需要聚合在一起,得到一组定长的向量表示,作为句子层面的语义特征,很明显,pooling 操作 论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...可以达到特征抽取的目的,实际操作中,使用 max-pooling ,抽取最具代表性的词,可视化后的结果如下:  论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...
可以看出,在 pooling 层,能够将句子中语义信息重要的词 (加粗的词) 抽取出来,到此卷积操作已经完成了。
             
4. Latent Semantic Vector Representations

到这一步,sentenct-level 的语义特征已经由 max-pooling 操作生成了,后面再加一个线形**层,论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...用于抽取最终的 high-level semantic representation , 也可以理解为接一个 output 层,网络结构就搭建完成了。

Appliation

文章将 CLSM 模型应用到 IR (信息检索中),给定一个 query 和 doc ,对 query 和 doc 同时用 CLSM 抽取 high-level semantic representation,然后计算 cosine 相似度作为 query 和 doc 的语义相似度。在 IR 任务中学习一个 CLSM 也比较方便,估计 query 和 doc 的后验概率,论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval..., D+ 为query 点击的 doc ,D`为全部 docs ,然后利用最大似然 论文札记之 - A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval...作为目标函数,完成端到端的优化。
           
Summary

这篇文章是 微软 DSSM 模型的改进版本,DSSM 是将 query 和 doc 以词袋模型进行建模,比较粗糙,很多细粒度的上下文特征全部丢失了,CLSM 借鉴 CNN 的思想,综合 n-gram 完成了词法和句法特征的抽取,也算是应用型创新的好例子,文章是 2014 年发表的,后续还有 RNN(LSTM) 的引入,类似于拼积木,根据实际任务组合一些算法插件。
 

Reference

 A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval,Yelong Shen, etc