美文网首页
《Baseline Needs More Love: On Si

《Baseline Needs More Love: On Si

作者: NWKYEKJ | 来源:发表于2019-04-04 15:04 被阅读0次

这是发表于ACL2018的长文,本文系统地对基于词嵌入的带有池化的简单方法和 LSTM 和 CNN 这样的复杂模型进行了对比。他们发现对大多数数据集而言,基于词嵌入的方法表现出了竞争性,甚至可以说这些方法的表现更胜一筹。本文的实验非常细致认真,并没有提出新的模型,而是从实验中解释了现有任务最重要的信息和现有模型的缺陷,非常有启发性。对于不同数据构建模型也非常具有指导意义。

In this paper, we conduct a point-by-point comparative study between Simple Word-Embedding-based Models (SWEMs), consisting of parameter-free pooling operations, relative to word-embedding-based RNN/CNN models. Surprisingly, SWEMs exhibit comparable or even superior performance in the majority of cases considered. Based upon this understanding.

在句子建模中,词向量通常是第一步,然后使用各种的组成函数(论文中为compositional function)将句子矩阵编码压缩成一个向量:X \to z。现有的深度学习模型中最常用的组成函数有RNN和CNN,本文提出了一种基于词向量的简单模型Simple Word-Embedding-based Models(SWEMS)和上两种深度学习模型对比。具体来说提出了四种不同的SWEMS:

  • SWEM-aver:将一个句子所有词向量求平均得到句子表示。
  • SWEM-max:将一个句子所有词向量在不同维度进行max-pooling。
  • SWEM-concat:将SWEMS-aver和SWEMS-max拼接。
  • SWEM-hier:使用不同宽度的卷积核对每个窗口进行average-pooling,然后再进行max-pooling得到一个标量,然后将不同宽度卷积核对应的值拼接。这种策略作者称为hierarchical pooling。

上面四种组成函数非常简单,没有任何的可学习参数。实验采用的词向量是300维的GloVe词向量,为了适应不同数据集,在训练时首先将词向量通过300维的带有relu激活的MLP,相当于在输入到组成函数前多走了一步。

作者在多个不同数据集上进行了实验:

Document Categorization

在文本分类的结果如下:



上图中Yahoo! Answer、AG News和DBPedia是领域识别数据集,而Yelp Polarity 和Yelp Full是情感分类数据集。可以看出简单的SWEMS几乎在所有的数据集上超过了深度学习的模型。不过对于情感分类的两个数据集来说,深度学习模型还是比简单的SWEMS-aver、max和concat模型好的,因为情感分析对与语序非常敏感,如'not really good'和'really not good'的情感是不同的。但是SWEM-hier仍然和深度学习模型效果相当,原因在于SWEMS-hier捕获到了n-gram的信息,对于这种序列信号重要的任务十分有效。然而在领域分类问题中,对于序列顺序并不敏感,因此用SWEM能获得较好的效果。从这个角度,对句子建模的方法就退化成了一个词袋模型了。

另外从这个实验中还可以发掘的一点是,如果将词向量加入到训练参数中,当采用SWEM-max训练时,词向量会倾向于非常稀疏,如下图:


导致向量稀疏的主要原因还是领域识别问题中,决定一个句子类别的是关键词,因此模型倾向于将关键词的词向量幅度变大,以便于max-pooling操作的捕捉。如果将词向量幅度大的词列举出来,发现刚好是这个领域的关键词,如下表:

这其实也提供了一个除了TF-IDF以外寻找关键词的思路。
Text Sequence Matching

在匹配任务上的结果如下:


如果使用基于表示的模型,简单的SWEM在不同的匹配任务上都能和深度学习的模型效果相当。实际上这个结果在之前的ARC的论文中就已经有了,当时作者使用的一个baseline就是SWEM-aver,在MSRP上达到了68.7的准确率和80.49的的F1值,甚至好于作者提出的模型ARC-I,而ARC-I实际上就是本文CNN的一个变种。从这个实验以及上面的分类实验结果上看,判断句子关系或者分类的任务似乎和语序关系不大,因为编码了位置信息的CNN和RNN也不过如此。为了验证这个观点,作者将训练集中的句子顺序随机打乱,然后再用LSTM进行训练,得到了下面的结果:

结果确实令人非常吃惊,在SNLI数据集上的效果下降很小,而在Yahoo上的效果居然还提升了。可以看出这两个任务确实和语序关系不大,另外LSTM从这两个数据集中也确实没有学到太多的语序特征。而在Yelp Polarity上的衰减还是比较明显,也符合之前的实验结论,即对于情感分析任务,语序确实是一个比较重要的特征。
Short Sentence Processing

之前的文本分类任务中,实验的数据集中每一个句子都比较长,这里在句子长度较短的数据集上进行了实验,结果如下:



这时候SWEM的效果就比深度模型差了。原因作者分析为短句受到顺序的影响较大,而SWEM不能对顺序进行建模。

从上面的实验,本文主要有以下几个结论:

• Simple pooling operations are surprisingly effective at representing longer documents (with hundreds of words), while recurrent/convolutional compositional functions are most effective when constructing representations for short sentences.
• Sentiment analysis tasks are more sensitive to word-order features than topic categorization tasks. However, a simple hierarchical pooling layer proposed here achieves comparable results to LSTM/CNN on sentiment analysis tasks.
• To match natural language sentences, e.g., textual entailment, answer sentence selection, etc., simple pooling operations already exhibit similar or even superior results, compared to CNN and LSTM.
• In SWEM with max-pooling operation, each individual dimension of the word embeddings contains interpretable semantic patterns, and groups together words with a common theme or topic.

另外文章的附录还做了一个实验,探究了不同模型的鲁棒性,方法是只使用原始数据集的一部分数据来训练,然后评估效果,结果如下:



这分别是Yahoo和SNLI数据集上的结果,可以看出SWEM非常鲁棒性,在数据量小的情况下依然效果不错。而深度学习模型受制于过拟合,在小数据上的结果很差。

相关文章

网友评论

      本文标题:《Baseline Needs More Love: On Si

      本文链接:https://www.haomeiwen.com/subject/ludfiqtx.html