0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

神经网络时代,中文分词还有必要吗?

WpOh_rgznai100 来源:lq 2019-07-18 14:26 次阅读

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

论文中,本文还进一步通过实验分析了两种模型存在差异的原因。作者认为,除了大家都认为的 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,进一步限制了模型的学习能力。

表1 CTB 词语统计数据

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

表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 包也进行了实验,并获得了相同的结果。

表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表示英译中结果。

表4 中译英机器翻译评测结果(Mixed RNN, Bi-Tree-LSTM, PKI 模型效果)

表5 英译中机器翻译评测结果

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

3.3 句子匹配

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

表6 LCQMC 和 BQ 语料库的评测结果

3.4 文本分类

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

表7 文本分类任务的验证和测试情况

领域适应能力

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

表8 基于字符的模型和基于词语的模型的领域适应能力

四、分析

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

4.1 数据稀疏性

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

图2 数据稀疏性对基于词语和基于字符的模型的影响

4.2OOV

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

图4 移除包含OOV的训练实例带来的影响

4.3 过拟合

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

图1 dropout 对基于词语和基于字符的模型的影响

4.4 可视化

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

图4 基于词语和基于字符的模型对两个中文语句的语义匹配情况

五、结论

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98736
  • 机器翻译
    +关注

    关注

    0

    文章

    138

    浏览量

    14793
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119903

原文标题:中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解深度学习、神经网络与卷积神经网络的应用

    在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过深度学习解决若干问题的案例越来越多。一些传统的图像
    的头像 发表于 01-11 10:51 715次阅读
    详解深度学习、<b class='flag-5'>神经网络</b>与卷积<b class='flag-5'>神经网络</b>的应用

    神经网络教程(李亚非)

      第1章 概述  1.1 人工神经网络研究与发展  1.2 生物神经元  1.3 人工神经网络的构成  第2章人工神经网络基本模型  2.1 MP模型  2.2 感知器模型  2.3
    发表于 03-20 11:32

    神经网络简介

    神经网络简介
    发表于 08-05 21:01

    MATLAB神经网络

    MATLAB神经网络
    发表于 07-08 15:17

    神经网络基本介绍

    神经网络基本介绍
    发表于 01-04 13:41

    【PYNQ-Z2试用体验】神经网络基础知识

    前言前面我们通过notebook,完成了在PYNQ-Z2开发板上编写并运行python程序。我们的最终目的是基于神经网络,完成手写的数字识别。在这之前,有必要讲一下神经网络的基本概念和工作原理。何为
    发表于 03-03 22:10

    神经网络资料

    基于深度学习的神经网络算法
    发表于 05-16 17:25

    全连接神经网络和卷积神经网络有什么区别

    全连接神经网络和卷积神经网络的区别
    发表于 06-06 14:21

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历了曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    【案例分享】ART神经网络与SOM神经网络

    今天学习了两个神经网络,分别是自适应谐振(ART)神经网络与自组织映射(SOM)神经网络。整体感觉不是很难,只不过一些最基础的概念容易理解不清。首先ART神经网络是竞争学习的一个代表,
    发表于 07-21 04:30

    人工神经网络实现方法有哪些?

    人工神经网络(Artificial Neural Network,ANN)是一种类似生物神经网络的信息处理结构,它的提出是为了解决一些非线性,非平稳,复杂的实际问题。那有哪些办法能实现人工神经网络呢?
    发表于 08-01 08:06

    什么是LSTM神经网络

    简单理解LSTM神经网络
    发表于 01-28 07:16

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播优化输入变量权重的层,以提高模型的预测
    发表于 07-12 08:02

    基于BP神经网络的PID控制

    最近在学习电机的智能控制,上周学习了基于单神经元的PID控制,这周研究基于BP神经网络的PID控制。神经网络具有任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。利用BP
    发表于 09-07 07:43

    神经网络移植到STM32的方法

    神经网络移植到STM32最近在做的一个项目需要用到网络进行拟合,并且将拟合得到的结果用作控制,就在想能不能直接在单片机上做神经网络计算,这样就可以实时计算,不依赖于上位机。所以要解决的主要是两个
    发表于 01-11 06:20