最近对之前看的部分论文论文进行一些总结(大部分论文都实在实验和模型上进行改进和创新,想看理论分析的可能要失望了)。
1. A Convolutional Neural Networkfor Modelling Sentences
看的第一篇使用卷积神经网络进行文本分类的文章,主要有两点:
1. K-max pooling 在序列中取前k大的数并且保持相对位置不变
2. 卷积是对每个词向量点乘以相同维数的向量后再相加。
3. 按作者的思路,这种CNN能够比RecNN更加泛化。
4. 具体过程大致如下(说实话,其中每行的k-maxpooling有点不直观)
2. Convolutional Neural Networksfor Sentence Classification
应该可以说是最经典的CNN进行文本分类的论文了,短小精悍,一张图片基本可以说明模型计算过程:
3. Deep Unordered CompositionRivals Syntactic Methods for Text Classification
相当简单的计算过程:
1. take thevector average of the embeddings associated with an input sequence of tokens
2. pass that averagethrough one or more feed- forward layers
3. perform (linear) classification on the final layer’srepresentation
The model can be improved by applying a noveldropout-inspired regularizer: for each training in- stance, randomly drop someof the tokens’ embed- dings before computing the average.
但是实际上这篇文章给出了一个比较令人失望的结论,在一些任务中,仅仅使用这种简单的网络结构就能达到比较好的效果,甚至比一些复杂的网络结构效果更好。
4. Sequential Short-TextClassification with Recurrent and Convolutional Neural Networks
Naacl的一篇短文,是对较短的文本进行分类,首先对每个句子使用CNN或者RNN计算出表示,之后使用每个句子和它的前几句话的表示作为输入。具体的结构如下所示:
5. Discriminative Neural SentenceModeling by Tree-Based Convolution
Natural Language Inference by Tree-Based Convolution andHeuristic Matching
1. 首先,使用parser对句子进行分析(组成分析或者依存分析),得到关于该句子的树形结构
2. 在该树形结构中两层(可以有更多层)的结构使用以下公式进行计算:
或
3. Pooling, 这点没怎么看懂, 只知道他的global pooling 是计算每一个y向量的每一维的最大值
6. A Sensitivity Analysis of (andPractitioners’ Guide to) Convolutional Neural Networks for SentenceClassification
使用卷积神经网络对一些数据集进行实验,分析各个参数对结果的影响。
7. Semantic Clustering andConvolutional Neural Network for Short Text Categorization
主要步骤如下:
1. 使用快速聚类算法(Rodriguez and Laio, 2014)发现semantic cliques。
2. 在文本中对n-gram进行语义合成。来发现候选语义单元(candidate Semantic Units)。
3. The part of candidate SUsmeeting the preset threshold are chose to constitue semantic matrices, whichare used as input for the CNN, otherwise dropout。
8. ABCNN: Attention-BasedConvolutional Neural Network for Modeling Sentence Pairs
文章主要是对一对句子进行建模,这篇文章首先使用了CNN的产生的局部特征作来计算attention。文章中给出了三种不同的网络结构(第三种是前两种网络结构的结合)
9. REASONING ABOUT ENTAILMENT WITHneural Attention
和第8篇文章一样,任务是RTE(Recognizing textual entailment)或者说是NLI。
使用两个不同参数的LSTM分别对Premise和Hypothesis进行处理(第二个LSTM的初始隐藏状态为第一个LSTM的最后一个隐藏状态)
使用以下公式计算出attentionα和加权后的表示r
之后再通过以下公式计算出final sentence-pair
以上计算过程是通过hypothesis的最后一个状态(h9)得到的attention。可以通过h7、h8、h9分别得到attention。