陌路茶色/

Is Word Segmentation Necessary for Deep Learning of Chinese Representations?

本篇论文是香侬科技2019年发表在ACL上的一篇论文,主要结论就是说基于深度学习的中文NLP任务中没有必要先进行分词,因为基于字的模型在NLP任务上要优于基于词的模型,然后给出了原因,我是觉得这篇论文中提到的一些原因可以学习,于是将其记录下来,当然只会记录部分我认为重要的。

Abstract

在处理中文文本的第一步是进行分词,但是分词却很少被人探索。在这篇文章中,我们提出了一个基本的问题,即基于深度学习的中文NLP任务是否有必要进行分词?我们在4个端到端的benchmark tasks下做测试:language modeling,machine translation,sentence matching/paraphrase,text classification。通过直接比较两个类型的模型,我们发现char-based 模型一致优于word-based 模型。

基于这个观察,我们进行了充分的实验来学习为什么在基于深度学习的NLP任务下word-based模型要比char-based模型差,我们展示了这个原因是因为word-based模型更容易导致数据稀疏,出现OOV(out-of-vocabulary)的词,因此更容易过拟合

Introduction

word-based 模型有一些基本的缺点,第一,数据稀疏导致过拟合,OOV限制了模型的学习能力,Zipf's law应用于大多数语言,包括中文(词的频次和其在语料中的排名成反比,即词的频次和其排名的乘积约等于一个常数)。我们使用CTB(Chinese Treebank dataset)数据集作为例子,使用Jieba来进行分词,最终该CTB数据集中含有615194个词(语料大小),包含50266个不同的词(词表大小),其中有24458个词只出现了一次,占比48.7%,有38889个词出现的次数少于或等于4次,占词表比例77.4%,但是仅仅为整个语料的10.1% 。这表明word-based 模型是非常稀疏的,数据稀疏就会导致过拟合,因为更多的单词意味着需要更多的参数。此外,因为获得巨大的词表是不现实的,因此许多词被当成OOV处理,这样就限制了模型的学习能力。

第二,分词的SOTA(state-of-the-art)表现离完美还差的远,这些错误将会延续到下游的NLP任务中,尤其的,CWS(chinese word segmentation)是一个相对来说比较困难的任务,因为中文单词的边界通常十分模糊。

第三,如果我们询问一个基本的问题:分词能够提供多少好处,即在有标签的CWS数据集中能够提供多少额外的语义信息。毕竟,在word-based模型和char-based模型之间基本的不同在于有标签的CWS数据集中的分割信息是否被利用。不幸的是,这个答案仍旧是不明朗的。

在神经网络变得流行之前,曾经被讨论过CWS是否有必要,CWS能够带给模型多大的提高。在IR(information retrieval)领域,Foo and Li讨论了CWS对IR系统的影响,表明CWS并不总是表现的比没有使用分词的模型要好很多。在该实验中,word-based 模型和char-based 模型之间的差距可以被弥补,如果char-based模型使用了bigram字符(二元信息)。本论文中同时提到即便是char和word混合也不会比char-based模型要好(这里的好指的是ppl),如下图所示:
屏幕快照 2019-10-07 下午5.07.19.png
ppl(perplexities):度量概率分布或概率模型的预测结果与样本的契合程度,语言模型越好,对应的困惑度越低(直观的理解就是:越困惑,越混乱,熵越大,困惑度越大,模型越差;越清晰,熵越小,困惑度越小,模型越好)
屏幕快照 2019-10-07 下午5.22.25.png

Analysis

相关工作和实验部分这里就略过了,主要想讲解一下结果分析。

Data Sparsity

避免词表过大的一个方法是设置词频阈值,将频次低于该阈值的token作为UNK,下图展示了该阈值设置和词表大小之间的关系,以及阈值和最终模型的正确率之间的关系:
屏幕快照 2019-10-07 下午5.04.20.png
由上图,直观的结果是word/char模型的阈值设置的越小,模型的效果越差,这是因为如果word/char的词频过小,就很难学习到对应的语义信息(这里char曲线似乎不是这样的,解释牵强)。

char-based模型最好的结果在阈值设置为5,其对应的词表大小是1432,其中中位数的字符频次为72。word-based模型最好的结果在阈值设置为50,对应的词表大小为1355,中位数的词频为83,即模型最好的结果对应的词表大小和中位数频数是差不多的,也就是说,对于一个数据集而言,为了让word/char学习到更好的语义信息,模型需要让每一个word/char有足够的曝光(即词表中的词应该出现的频次比较高)
【这里我理解的数据稀疏指的是word-based模型的词表数据,特征太多,如果都用上就不能保证其足够的曝光,因此需要削减】

Out-of-Vocabulary Words

word-based model 为什么表现差的一个解释是其中包含了太多的OOVs,但是在前面的Data Sparsity部分已经说明了,如果降低阈值将导致数据稀疏进而影响模型的效果。于是本论文做了如下实验:对于不同的阈值,将那些包含OOVs的句子从training,validation,test集中移除,下图显示了对于不同的阈值,移除数据集的效果:
屏幕快照 2019-10-07 下午5.05.20.png
可以看到当增加词频的时候,两个模型之间的差距在逐渐的缩小,但是最终之间的差距还是开始变大,因此OOV并不是影响两个模型表现的主要因素。

Overfitting

数据稀疏导致word-based模型需要学习更多的参数,因此更容易过拟合,我们在BQ数据集上做了如下实验验证了这一点:
屏幕快照 2019-10-07 下午5.06.06.png
上图中显示,为了达到最好的结果,word-based模型需要将dropout设置为0.5,而char-based模型只需要将dropout设置为0.3。这意味着overfitting对于word-based model来说是一个严峻的问题。同时我们注意到不同的dropout rate在word-based model上的效果比较接近,也就是说dropout并不能足够解决overfitting问题。char-based model不使用dropout的结果(80.82)要优于word-based model 使用dropout达到最好表现的结果(80.65)。

留下一条评论

暂无评论