中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019

栏目: 编程工具 · 发布时间: 6年前

内容简介:作者| Yuxian Meng、Xiaoya Li、Xiaofei Sun、Qinghong Han、Arianna Yuan、 Jiwei Li译者 | Rachel

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019

作者| Yuxian Meng、Xiaoya Li、Xiaofei Sun、Qinghong Han、Arianna Yuan、 Jiwei Li

译者 | Rachel

责编 | Jane

出品 | AI科技大本营(ID: rgznai100)

【导读】通常,中文文本处理的第一步称为分词,这好像已经成为一种“共识”,但对其必要性的研究与探讨很少看到。本文中,作者就提出了一个非常基础的问题:基于深度学习方法的自然语言处理过程中,中文分词(CWS)是必要的吗?

近日,香侬科技 AI 团队(Shannon AI)与斯坦福大学联合联合发表了一篇研究《Is Word Segmentation Necessary for Deep Learning of Chinese Representations》,并被 ACL 2019 接收。

在这项研究中,作者在四个端到端 NLP 基线任务中进行评测,对比基于分词的 word model (“词”级别)和无需分词的 char model (“字”级别)两种模型的效果,评测内容包括语言建模、机器翻译、句子匹配/改写和文本分类。实验结果显示,基于char model 比 word model 效果更优。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019

论文中,本文还进一步通过实验分析了两种模型存在差异的原因。作者认为,除了大家都认为的 OOV(out-of-vocabulary) 带来的影响, word model 的 data sparsity (数据稀疏)问题也是导致过拟合的一个重要原因。也正是希望这项研究,可以让大家发现分词有意思的地方,还有它还未曾被大家挖掘、探索的一面,以及 rethinking 分词在基于深度学习模型的 NLP 任务的必要性。

论文作者之一,香侬科技(Shannon AI)李纪为也参与到这项研究中,还在知乎上回答了大家对这篇研究的疑问。

问:如何评价李纪为的论文Is Word Segmentation Necessary?

李纪为:中文分词确实是个非常有意思、也很重要的话题,这篇文章尝试抛砖引玉去探究一下这个问题,也希望这一问题获得学术界更广泛的重视。因为之前的工作,分词本身的优缺点并没有详尽地被探讨。鉴于笔者本身的局限性,文章在 intro 的结尾也提到:Instead of making a conclusive (and arrogant) argument that Chinese word segmentation is not necessary, we hope this paper could foster more discussions and explorations on the necessity of the long-existing task of CWS in the community, alongside with its underlying mechanisms.

这个问题涉及到的更本质的问题,就是语言学的structure在深度学习的框架下有多重要 (因为词是一种基本的语言学structure)。这个问题近两年学者有不同的争论,有兴趣的同学可以看 manning 和 lecun的 debate。更早的15年,manning 和 andrew ng 就有过讨论,当时 andrew的想法比lecun还要激进,认为如果有足够的训练数据和强有力的算法,哪怕英文都不需要word,char就够了。

debate 链接:https://www.youtube.com/watch?v=fKk9KhGRBdI

也有网友质疑论文中的实验:

@Cyunsiu To : 这类论文是有意义的,但是这篇论文的实验持质疑态度。

这篇文章在分析分词不 work 的时候,很大一部分把不 work 的原因归因于 oov 太多,我个人不认同,至少分类动不动就能开十万+ 级别的词表,一方面 oov 不会太多,另一方面即使 oov 太多,也应该分析一下哪些 oov 导致模型不 work 吧,其实我个人认为根本不是 oov 的原因造成的。要不然英文里面的 word 也不会 work 了。

对此,李纪为回答道:

李纪为:文章提到几个方面,OOV 是其中一个方面,但并不是所有。除了 OOV 之外, data sparsity 也是一个重要原因。从文章的图2上看,在同样的数据集上,对于不同 OOV 的frequency bar (意思是 frequency 小于 1 算作 OOV,还是 frequency 小于 5 算作 OOV),实验结果是先升再降的。这个其实也比较好理解,如果 frequency bar 小,对于那些 infrequent 的词会单独认为是词,而不是 OOV。因为 data sparsity 的问题,会使学习不充分,从而影响了效果。 从这个角度,char 模型比 word 模型会学习得更充分。

以上回答来源

https://www.zhihu.com/question/324672243  

究竟这项论文中是如何实验对比得出 char 模型效果优于 word 模型效果的?OOV 和 data sparsity 又带来了哪些影响?下面我们就为大家解读分析。

一、介绍

英文(以及其他基于拉丁字母的语言)和中文(以及其他没有明显的词语分隔符的语言,如韩文和日文)存在一个明显的差别:根据空格就能很明显、直接地识别每个英文词,但中文中并不存在这样的词语分隔符,这也是中文分词任务(CWS)的来源。在深度学习中,词往往是操作的基本单位,本文将此种模型称为基于词语的模型(word model)。在模型中,分词后得到的词语,再使用固定长度的向量来表示,这就和英语词语的处理方式相同了。 那 word model 存在哪些缺陷呢?

首先,data sparsity 会导致模型出现过拟合,OOV 则会限制模型的学习能力。根据齐普夫定律(Zipf’s law),很多中文词的出现频率都非常低,这使得模型难以学习到词语的语义信息。以使用较为广泛的 Chinese Treebank 数据集(Chinese Treebank dataset, CTB)为例进行说明。通过使用结巴分词对 CTB 数据集进行切词,可以得到615,194个词语,其中不同词语50,266个。这些词语中,有24,458个词仅出现一次,占总词数的48.7%,仅占语料的4%。表1展示了针对这一语料的统计数据,可以看出基于词语的数据集非常稀疏。由于词语数的增加会使模型参数增多,数据稀疏很容易引起过拟合问题。另外,由于维护大规模的词语-向量表存在难度,很多词语都会被处理为OOV,进一步限制了模型的学习能力。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表1 CTB 词语统计数据

第二,现在的分词技术还存在很多问题,分词不当产生的错误会导致 NLP 任务出现偏差。中文中词语并没有清晰的边界,增加了中文分词的难度和复杂性。从不同的语言学角度来看,中文分词也可以有不同的标准。从表2展示的例子可以看出,在使用最广泛的两个中文分词数据库 PKU 和 CTB 中,相同的句子存在不同的分词结果。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表2 CTB 和 PKU 不同的分词标准

第三,分词产生的收益效果尚不明确。还取决于带标签的 CWS 数据能够带来附加语义信息的多少。对于word model 和 char model 而言,两者的差异在于是否使用了带标签的 CWS 数据作为模型学习使用的信号。但在现有研究中,针对这一问题讨论较少。举例来说,在机器翻译模型中,学者往往使用百万级的样例进行训练,但带标签的 CWS 数据集规模往往较小( CTB 有6.8万 条数据,PKU 有2.1 万条数据),而且领域较为狭窄。这一数据似乎并不能为模型效果带来明显的增益。

其实在大规模使用神经网络模型方法之前,就有学者对分词是否必要及其能够带来增益的多少进行了讨论。在信息检索领域,有学者指出,如果在查询词和检索内容中应用相同的分词方法,就能提升检索效果。但如果在char model 中使用 bigram 对字符进行表示,则word model 的优势就会大大减弱;在机器翻译的相关研究中,有学者指出,分词并不能带来明显的效果提升,也并非提升模型效果的关键因素。

在本文中,探讨基于深度学习的中文自然语言处理任务中分词的必要性,作者首先在不涉及分词的任务中比较了word model 和 char model 的效果差异。作者通过语言建模、文本分类、机器翻译和句子匹配四个 NLP 任务比较了两个模型的效果,并发现char model 的效果更佳,比混合模型的效果更佳或等同。这一结果说明,实际上cahr model 已经对足够的语义信息进行了编码。

另外,本文对word model 的不足也做了进一步的探究,并指出了导致模型缺陷的主要原因,例如,OOV、data sparsity 会导致过拟合,以及领域转换能力较差。

二、回顾

对分词的研究并不是一项新研究,曾经大家都是如何进行实验与研究的呢?

自2003年第一个国际中文分词库出现以来,中文分词取得了很多进展。在早期,大多时候,分词都基于一个预定义的词典进行。在这一时期,一个最为简单且具有健壮性的模型即最大匹配模型,该模型最简单的版本即从左至右的最大匹配模型(maxmatch)。这一时期,新模型的提出主要来源于出现新的分词标准。

随着统计机器学习模型的出现, CWS 问题逐渐变为打标签问题。例如,使用 BEMS 标签进行标注,确认句子的起始词(Start),结尾词(End),中间词(Middle)或独立词(Single)。传统的序列标注方法包括 HMM,、MEMN,、CRF 等。

到了神经网络时代,基于神经元的 CWS 模型包括CNN、RNN、LSTM等。这类模型能更灵活地使用上下文语义信息对词语进行标注,并且使特征工程更简单易行。词语的神经元表示可以作为 CRF 模型的特征,也可作为决策层的输入。

三、实验结果

在这一部分,我们将为大家展示研究中作者将两种模型在 4 个 NLP 任务中实验的评测结果。在模型训练中,为便于比较,作者使用网格搜索对超参数进行了微调,包括学习率、dropout、batch size 等。

3.1 语言建模

该任务要求模型通过给定的前述语境信息的表示,预测后续词语。在语言建模任务中使用CTB 6.0 数据集来对比两模型效果。将数据划分为训练集、验证集和测试集,占比分别为80%,10%,10%,使用 Jieba 进行分词,LSTM 模型对字符和词语进行了编码。

实验中,对比了不同维度下,单独的 word、char 模型和混合模型的效果。可以发现,char 模型的效果都优于 word 模型,维度为 2048 时,ppl 达到最优的结果差距明显 。作者在标准 CWS 包和 LTP 包也进行了实验,并获得了相同的结果。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表3 语言建模结果:char model 优于 word model

另外,本文对混合模型的效果也进行了探究,为便于比较,本文构建了两种不同的混合模型,对 word+char 及 only char 进行表示。词的表示由其组成词的表示向量和剩余字符的表示向量联合构成。由于中文词语的构成字符数量不定,为保证输出数据维度一致,本文使用 CNN 对字符向量的结合进行了处理。

可以发现,在语言建模任务中,分词没有带来明显的模型增益,加入词嵌入信息还降低了模型效果。

3.2 机器翻译

本部分评测使用中英翻译,使用语料为从 LDC 语料中抽取的125万个句子对。验证数据使用的是NIST 2002 ,测试数据使用的是NIST 2003,2004,2005,2006和2008。实验使用了出现频次最高的前30,000个英语词语,以及前27,500个中文词语。char model 的词语量设置为4500。作者对中译英和英译中两种任务都进行了评测,表4所示中译英结果,表5表示英译中结果。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表4 中译英机器翻译评测结果(Mixed RNN, Bi-Tree-LSTM, PKI 模型效果)
中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表5 英译中机器翻译评测结果

在机器翻译中,无论是「中译英」还是「英译中」任务,char 模型效果都优于word 模型。

3.3 句子匹配

作者基于 BQ 和 LCQMC 两个语料对句子匹配任务进行了评测。这两个语料为每一个语句对提供了一个二元标签,以标示两个句子是否具有相似性(或相同意图)。在这部分实验中,评测内容为使用不同模型对语句对的二元标签进行预测。评测结果如表6所示。在句子匹配任务中,基于char 模型效果优于基于word 的模型效果,表明 char 模型更能捕捉单元之间的语义联系。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表6 LCQMC 和 BQ 语料库的评测结果

3.4 文本分类

文本分类任务中使用的评测基线包括 ChinaNews, Ifeng, JD_Full, JD _binary, Dianping。作者使用双向 LSTM 模型对基于word 和基于char 的模型分别进行训练用于评测,评测结果如表7所示。除 ChinaNews语料库外,基于字符的模型的表现均优于基于词语的模型。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表7 文本分类任务的验证和测试情况

领域适应能力

模型的领域适应能力展现了模型基于对已有数据分布(源领域)的训练,学习新数据分布(目标领域)的能力。作者基于不同的情感分析数据库对两种模型进行了评测,结果如表8所示。可以发现,基于字符的模型具有更强的领域适应能力,且表现更优。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
表8 基于字符的模型和基于词语的模型的领域适应能力

四、分析

在这一部分,作者探究了 char model 效果优于 word model 的原因,尽管未能完全指出基于词语的模型的运行机制,但作者尝试分析了几个主要的影响因素。

4.1 数据稀疏性

防止词规模过大的常用方法是设置词频率的阈值,并使用 UNK 字符替代所有未达到阈值的词语。阈值的设置对词规模的大小有直接影响,并进一步影响了模型参数的数量。图2展示了词汇量、频率阈值以及模型效果之间的联系。无论是char 模型还是model 模型,当词规模过大,模型效果都会明显下降。模型对于低频词的语义的学习是存在困难的。因此,要获得较好的基于词语或字符的模型训练效果,必须保证词语或字符的出现频率。但对于word 模型,这一条件更难以达到。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
图2 数据稀疏性对基于词语和基于字符的模型的影响

4.2 OOV

对word model 来说,OOV 是另一重要影响因素。但考虑到简单降低词频率的阈值以减少OOV,会使数据稀疏问题更加严重,因此本文采用了一个替代性策略,即基于不同的词频率阈值,分别移除验证集和测试集中包含OOV 的句子。图4展示了训练集词汇数量、准确度和词频率阈值间的关系。随着词频率阈值的增加,两种模型效果的差异在逐渐减小。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
图4 移除包含OOV 的训练实例带来的影响

4.3 过拟合

数据稀疏导致模型需要学习的参数增加,使得模型更加容易过拟合。本文在 BQ 数据集上进行了实验,结果如图1所示。要获得与基于词语的模型相似的效果,基于词语的模型需要设置更高的 dropout 值。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
图1 dropout 对基于词语和基于字符的模型的影响

4.4 可视化

图3 展示了char model 在 BQ 数据集上获得更好的语义匹配效果的原因。该热图展示了 BiPMP 计算出的两句子间的注意力匹配值。对于char model 而言,句子间的映射更加容易。

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019
图4 基于词语和基于字符的模型对两个中文语句的语义匹配情况

五、结论

这项研究探究了基于深度学习方法中文 NLP 任务中,分词的必要性这一基础性问题,并在四类端到端自然语言处理任务上发现char 模型效果更优于 word 模型。本文认为,word 模型效果不佳的原因在于OOV、数据稀疏导致的过拟合和领域转换能力差问题。也希望这篇论文可以启发更多针对中文分词必要性的探讨工作。

原文链接:

https://arxiv.org/abs/1905.05526

(*本文为 AI科技大本营编译文章,转载请微信联系  1092722531

【️CSDN 6月技术福利】

《程序员大本营》6月刊来啦~更多福利限时免费领取:CSDN重磅技术大会精选视频以及200+PPT;机器学习、知识图谱、计算机视觉、区块链等100+技术公开课及PPT全奉送...

识别海报二维码,邀请3位好友扫码助力,即可免费领取

中文NLP的分词真有必要吗?李纪为团队四项任务评测 | ACL 2019


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Think About Algorithms

How to Think About Algorithms

Jeff Edmonds / Cambridge University Press / 2008-05-19 / USD 38.99

HOW TO THINK ABOUT ALGORITHMS There are many algorithm texts that provide lots of well-polished code and proofs of correctness. Instead, this one presents insights, notations, and analogies t......一起来看看 《How to Think About Algorithms》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具