Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

简介:

雷锋网 AI科技评论按:就在前几天,Yann LeCun(中文名:杨立昆,被称为卷积网络之父)与其学生 张翔在arXiv上发表了一篇新作《Which Encoding is the Best for Text Classification in Chinese, English, Japanese and Korean?》。这篇文章做了一个包含473种模型的大型对比实验,实验的目的是对文本分类任务中不同语言(英语、汉语、韩语和日语)不同的level(utf-8 、字符等)和不同的encoding(bag-of-words等)在不同模型(linear models、fastText、ConvNets等)中组合使用的效果进行测试,得到了一系列有参考价值的结论。本文中雷锋网将对这篇论文进行详细分析。

Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

文本分类是自然语言处理中最普遍的一个应用,例如文章自动分类、邮件自动分类、垃圾邮件识别、用户情感分类等等,在生活中有很多例子。但是由于不同语言之间差别很大(例如像汉语、韩语、日语这样的CJK语言与英语这样的字母语言在处理上有很大不同)。例如最近有人使用字符级编码的神经网络(ConvNets)来处理语言中的单词分割问题,但是很不幸的是,用字符来处理CJK语言并不很好,因为这时候字符的数量会变得非常巨大。所以能否找到一种在处理所有这些自然语言上都表现优良的模型呢?作者的方法就是,列出一系列模型(473个), 然后比较它们的表现。

一、数据集(data sets)

这篇文章考虑了4种语言,分别为汉语、英语、日语和韩语。作者分别从大众点评(汉语,餐饮)、京东(汉语,网店)、Rakuten(网店,日语)、11st(网店,韩语)、Amazon(英语,网店)、凤凰网(汉语,新闻)、中国日报(汉语,新闻)、NYnews(英语,新闻)等八个网站爬取了8个情感分类数据集。其中京东、Rakuten、11st和Amazon的数据集又分为全五星分类和双分法类(1、2星为负,3星舍弃,4、5星为正)。另外因为这四个网站都是网店类型,所以可以用它们来组合成两个joint数据集(全五星和双分法),这两个数据集由于是混合了四种语言,所以可以用来检测模型处理不同语言的能力。综上共有14个情感分类的数据集

二、编码级别(encoding level)

所谓编码级别,简单说就是考虑文本分析时的最小单位。在文中提及的编码级别包括:字符(characters)、UTF-8(byte)、罗马化字符(romanized characters)、词(words)、罗马化词(romanized words)等。

三、编码机制(encoding Mechanism)

本文选择的深度学习模型为卷积网络模型(ConvNets),根据网络层数分为large Net(12层)和small Net(8层)。在卷积网络模型训练中,必须对文本进行编码机器才能识别。在这篇文章中包含三种编码机制,分别为:字符字形编码(Character Glyph)、独热编码(One-hot Encoding)、嵌入编码(Embedding)。

1、字符字形编码(Character Glyph)

所谓字形就是在读写中可以识别的一个符号,例如汉字中的笔画“丿”或英语中的“a”,都是一个可识别的字形。在这篇文章中作者将每一个字形转化成一个16*16的像素点阵。很明显这种编码机制对于CJK语言(字符较为丰富)非常合适。不过这种方式只能在字符级进行,所以只能构建出一种卷积网络模型,称之为GlyphNet。

2、独热编码(One-hot Encoding)

独热码, 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。例如,有6个状态的独热码状态编码为:000001,000010,000100,001000,010000,100000。如果是英文字母的编码,那么就需要状态码长度为26了。独热码编码的最大优势在于状态比较时仅仅需要比较一个位,从而一定程度上简化了译码逻辑。但是,很显然,如果字符数量非常多(CJK语言)的情况下,独热码的码长就会非常大。不过在这篇文章中,作者考虑了两种方式来解决这个问题:第一种是将所有的文本(UTF-8)看成是一个字节序列,在字节层次进行编码,构建的卷积网络模型称之为byte-level OnehotNet;第二种是将文本罗马化,也即用英语字母来编码(值得注意的是,这种方式等价于用罗马化文本在字节层次进行编码),构建的卷积网络模型称之为Romanization OnehotNet。字节级处理的优势在于,它们可以应用到任何一种语言当中,无论这种语言在字符或者字体级别有多少实体,所以它们也可以很容易地应用到CJK语言当中。

3、嵌入编码(Embedding)

所谓嵌入码,即将每一个实体用一个固定长度的向量来表示。比如,对于“A B A C B F G”这样的一个序列,也许我们最后能得到:A对应的向量为[0.1 0.6 -0.5],B对应的向量为[-0.2 0.9 0.7]  (此处的数值只用于示意)。由于这种向量表示是随机的初始化的,它不像独热码那样严格,所以相比独热码它在内存中会更小。另外一个优点就是它可以应用到任何编码级别。所以在本文当中,作者使用嵌入编码从字节、字符、单词、罗马化字符、罗马化单词等不同的编码级别来分别编码比较,嵌入码向量长度都为256。

通过这种方式构建的卷积网络模型称之为EmbedNet。这种模型编码可以分别在characters、byte、romanized characters、words、romanized words五个级别进行,所以共有五种模型。

综上所述,共有(1+2+5)*2=16种卷积网络模型。

三、线形模型和fastText模型

除了卷积网络模型外,在这篇文章中作者还选取了线形模型(linear model)和fastText模型进行对比。

1、线形模型(linear model)

传统的文本分类方法的流程就是人工设计一些特征,从原始文档中提取特征,然后指定分类器如LR、SVM,训练模型对文本进行分类。比较经典的特征提取方法如频次法(文章中用plain表示)、TF-IDF等。所谓频次法顾名思义就是记录和统计每个文本中实体(例如character、word、romanized word)的次数分布,以此来分类。但是有些词如“的”“了”等虽然出现的次数比较多,但实际并没有意义。所以就提出了另一种线形模型TF-IDF。TF即term frequency,仍然表示项目在文本中出现的频次,但加入了IDF(inverse document frequency)的权重,在全部文档中出现频次越大,该term在样本中的IDF就越小。于是TF*IDF就可以作为一个项目的统计结果了,这要比简单的频率统计更为准确。

2、fastText模型

fastText模型是2016年Joulin等人提出的一个快速分类模型。该模型并入了分层softmax和特征散列等技巧,这种模型能够以ConvNets模型几个数量级的速度处理输入文本。本质上fastText模型就是一个没有非线性的2层全连接神经网络。

在以上这两个模型中,作者选择了character、word、romanized word三种编码级别,但是还有一个问题没有解决,即以多大的单位进行统计/判断?这就涉及到一个概念: n-gram。它的意思就是将给定文本转化为长度为n的项目(term)的序列。例如“你今天休假了吗”,它的2-gram依次是:“你今,今天,天休,休假,假了,了吗”。作者为线形模型选择了1-gram和5-gram两种,为fastText模型选择了1-gram、2-gram和5-gram。

综上所述,作者共构建了3*2*2=12种线形模型和3*3=9种fastText模型。

四、结果

针对以上四种语言,汉语、日语、韩语以及joint共11个数据集,每个数据集都有37个模型;英语的3个数据集,每个有22个模型。总计有473个模型参与到对比中。表格中的数据表示训练误差的百分比。

Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

另外每一种模型所花费的时间也是不一样,其量级差别非常大。作者通过对joint 二分数据集的100万个样本进行训练得到下面这个对比数据。这个对比只是作为参考,具体情况会根据计算环境而变。

 Yann LeCun新作:473种模型大对比,中日韩文本分类到底要用哪种编码?

五、结论

通过比较以上表格中的误差率,作者得出以下结论:

1、fastText模型对中、日、韩文本(CJK语言文本)在character级编码的处理结果更好;而对英语文本则在word级编码的处理结果更好;

2、对于fastText和线性模型,CJK语言的word级编码在没有完美分割的情况下效果相当;

3、卷积网络的最佳编码机制是byte级独热编码(byte-level one-hot encoding)。 这表明卷积网络能够从低级别的表示中理解文本,并提供了一致的和统一的方式来处理多种语言。

4、fastText相比于卷积网络更倾向于过拟合,而相比于线形模型也并没有表现出更多的表示能力(representation capacity)。

当然,尽管作者在此列了473种模型进行对比,但仍不是全部。例如深度学习模型本文只用了卷积网络模型,但其实还有别的一些有意思的模型,例如周期性网络(recurrent networks)等。作者似乎计划在之后会对周期性网络进行研究,同时还会改进卷积网络模型,看会有什么样的效果。

本文作者:Camel

本文转自雷锋网禁止二次转载,原文链接


相关文章
|
4月前
|
机器学习/深度学习 计算机视觉
【论文速递】ICLR2023 - 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究
【论文速递】ICLR2023 - 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究
41 0
|
11月前
|
机器学习/深度学习 存储 人工智能
蛋白质界的 ChatGPT:AlphaFold1 论文必备知识,不会有人还不知道吧
AlphaFold1是一种人工智能模型,由DeepMind公司开发,用于预测蛋白质的三维结构。它是基于深度学习的方法,使用了神经网络来预测蛋白质的结构。AlphaFold1的预测准确率非常高,已经被证明可以在很短的时间内预测出数千个蛋白质的结构。 AlphaFold1的核心思想是将蛋白质的结构预测问题转化为一个优化问题。具体来说,它使用了一种称为“残基-残基接触预测”的方法,通过预测蛋白质中不同残基之间的接触情况来推断出蛋白质的三维结构。这种方法需要大量的训练数据和计算资源,但是它可以在很短的时间内预测出高质量的蛋白质结构
115 0
蛋白质界的 ChatGPT:AlphaFold1 论文必备知识,不会有人还不知道吧
|
12月前
|
机器学习/深度学习 Web App开发 人工智能
当自监督遇上语言-图像预训练,UC伯克利提出多任务框架SLIP
当自监督遇上语言-图像预训练,UC伯克利提出多任务框架SLIP
111 0
|
12月前
|
自然语言处理 数据挖掘 语音技术
INTERSPEECH 论文解读〡口语语言处理的音素与文本融合技术及区分式自训练技术
INTERSPEECH 是由国际语音通讯协会(International Speech Communication Association, ISCA)创办的语音信号处理领域顶级旗舰国际会议。历届 INTERSPEECH 会议都备受全球各地语音语言领域人士的广泛关注。 本文介绍我们在 INTERSPEECH 2021 发表的两篇论文工作:一种在预训练 (pre-training) 和微调 (fine-tuning) 中融合音素和文本信息的技术,提升下游 SLP 任务对于 ASR 错误的鲁棒性,以及一种区分式自训练技术 (discriminative self-training) ,减缓对于有
INTERSPEECH 论文解读〡口语语言处理的音素与文本融合技术及区分式自训练技术
|
机器学习/深度学习 自然语言处理
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。
162 0
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
|
机器学习/深度学习 自然语言处理 数据挖掘
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)
|
机器学习/深度学习 自然语言处理
|
自然语言处理
|
机器学习/深度学习 自然语言处理
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。
107 0
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
|
机器学习/深度学习 自然语言处理 数据挖掘
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。 那么为什么要做无监督的句法分析呢?主要原因还是一些小语种标注语料太少了甚至没有,不能用监督句法分析来做。而且无监督句法分析学到的信息还可以用来增强语言模型或者更为下游的任务的性能,使它们能更好的融合句法结构信息。
175 0
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)