本篇文章3372字,读完约8分钟
雷锋的人工智能技术评论:就在几天前,yann lecun(被称为卷积网络之父)和他的学生张祥发表了一个新的作品“哪个编码是最好的中文,英文,日文和韩文文本分类?本文对473个模型进行了大规模的对比实验。实验的目的是测试不同语言(英语、汉语、韩语和日语)、不同水平(UTF-8、汉字等)的组合效应。)和不同的编码(单词包等。)在不同的模型中(线性模型、fasttext、convnets等)。)在文本分类任务中,得到的结果如下:本文中,雷(公开号:雷)将对本文进行详细分析。
文本分类是自然语言处理中最流行的应用之一,如文章自动分类、邮件自动分类、垃圾邮件识别、用户情感分类等。生活中有很多例子。然而,不同的语言之间有很大的差异(例如,cjk语言如汉语、韩语和日语在处理上与字母语言如英语有很大的不同)。例如,最近一些人使用字符级编码神经网络(convnets)来处理语言中的分词,但是不幸的是,用字符来处理cjk语言不是很好,因为此时字符的数量将变得非常大。那么我们能找到一个在处理所有这些自然语言时表现良好的模型吗?作者的方法是列出一系列模型(473),然后比较它们的性能。
1.数据集本文考虑了四种语言,即汉语、英语、日语和韩语。作者从八个网站上搜索,包括公共评论(中文,餐饮),京东(中文,网店),乐天(网店,日语),11号(网店,韩语),亚马逊(英语,网店),凤凰城。其中,京东、乐天、11st和亚马逊的数据集被分为完整的五星分类和二分(1星和2星为负,3星被丢弃,4星和5星为正)。此外,由于这四个网站都是网上商店,它们可以合并成两个联合数据集(全五星法和二进制法)。这两个数据集混合了四种语言,因此它们可以用来测试模型处理不同语言的能力。综上所述,情感分类有14个数据集。
第二,编码级别(encoding level)当考虑文本分析时,所谓的编码级别只是最小的单位。本文提到的编码级别包括:字符、utf-8(字节)、罗马化字符、单词、罗马化单词等。
3.编码机制本文选择的深度学习模型是convnets,根据网络层数分为大网(12层)和小网(8层)。在卷积网络模型的训练中,文本必须经过编码才能被机器识别。本文提出了三种编码机制,即:字符字形编码、一热编码和嵌入编码。
1.字符字形编码所谓的字形是阅读和书写中可识别的符号。例如,汉字中的笔画“吴”或英语中的笔画“A”都是可识别的字形。在本文中,作者将每个字形转换成一个16*16像素的点阵。显然,这种编码机制非常适合cjk语言(具有丰富的字符)。但是,这种方法只能在字符级执行,因此只能构建一个称为glyphnet的卷积网络模型。
2.一热编码一热编码是一种编码系统,其中有多少个比特就有多少个状态,只有一个比特是1,其余的都是0。例如,具有六种状态的唯一热代码状态代码是:000001,000010,000100,001000,010000,100000。如果代码是英文字母,那么状态代码的长度是26。独特的热码编码的最大优点是在比较状态时只需要比较一位,从而在一定程度上简化了解码逻辑。然而,很明显,如果字符的数量非常大(cjk语言),唯一热代码的代码长度将非常大。然而,在本文中,作者考虑了两种方法来解决这个问题:第一种是将所有的文本(utf-8)作为一个字节序列,并在字节级对其进行编码,所构造的卷积网络模型称为字节级onehotnet;二是对文本进行罗马化,即用英文字母进行编码(值得注意的是,这种方法相当于用罗马化文本在字节级进行编码),构建的卷积网络模型称为罗马化onehotnet。字节级处理的优点是它们可以应用于任何语言,无论在字符或字体级别有多少实体,因此它们也可以很容易地应用于cjk语言。
3.嵌入所谓的嵌入码意味着每个实体都由一个固定长度的向量来表示。例如,对于像“a b a c b f g”这样的序列,也许我们最终可以得到对应于a的向量是[0.1 0.6 -0.5],对应于b的向量是[-0.2 0.9 0.7](这里的值仅用于说明)。因为这个向量表示是随机初始化的,所以它没有唯一的热代码严格,所以它在内存中比唯一的热代码小。另一个优点是它可以应用于任何编码级别。因此,本文采用嵌入式编码来比较不同的编码层次,如字节、字符、单词、罗马化字符、罗马化单词等。嵌入代码向量的长度是256。
以这种方式构建的卷积网络模型称为嵌入式网络。模型编码可以在五个层次上执行:字符、字节、罗马化字符、单词和罗马化单词,因此有五个模型。
综上所述,卷积网络模型有(1+2+5)*2=16种。
3.线性模型和快速文本模型除了卷积网络模型外,作者还选择了线性模型和快速文本模型进行比较。
1.线性模型(linear model)传统文本分类方法的过程是手工设计一些特征,从原始文档中提取特征,然后指定分类器如lr和svm,并训练模型对文本进行分类。经典的特征提取方法,如频率法(本文简单介绍)、tf-idf等。所谓的频率方法,顾名思义,就是记录和统计每个文本中实体(如字符、单词、罗马化单词)的频率分布,以进行分类。然而,有些词,如“的”和“的”,出现得更频繁,但它们实际上没有意义。因此,提出了另一种线性模型tf-idf。Tf是术语频率,它仍然表示项目在文本中出现的频率,但是随着idf(反向文档频率)的权重增加,项目在所有文档中出现的频率越大,样本中术语的idf越小。因此,tf*idf可以用作项目的统计结果,这比简单的频率统计更准确。
2.fasttext模型fasttext模型是joulin等人在2016年提出的一种快速分类模型。该模型结合了分层的softmax和特征散列技术,可以以convnets模型的几个数量级的速度处理输入文本。本质上,fasttext模型是一个无非线性的两层全连通神经网络。
在上述两个模型中,作者选择了三个编码级别:字符、单词和罗马化单词,但是仍然有一个问题没有解决,那就是,在什么单元中进行统计/判断?这涉及到一个概念:n-gram。它的意思是把给定的文本转换成一系列长度为n的项。例如,“你今天休假了吗?”它的2克序列是:“你今天休假了吗,今天,今天?”。作者选择1克和5克为线性模型,1克、2克和5克为快速文本模型。
总之,作者构建了3*2*2=12个线性模型和3*3=9个快速文本模型。
4.结果上述四种语言共有11个数据集,分别为汉语、日语、韩语和联合语,每个数据集有37个模型。英语有三个数据集,每个数据集有22个模型。共有473个模型参与了比较。表中的数据表示训练误差的百分比。
此外,每个模型花费的时间也不同,而且幅度差异很大。作者通过训练100万个联合二进制数据集样本,得到了以下对比数据。此比较仅供参考,细节将根据计算环境而变化。
V.结论通过比较上表中的错误率,作者得出以下结论:
1.快速文本模型对汉字级编码的中、日、韩文文本有较好的处理效果;然而,英语文本编码在词级的处理效果更好。
2.对于快速文本和线性模型,cjk语言中的词级编码在没有完美分割的情况下具有相同的效果;
3.卷积网络的最佳编码机制是字节级一热编码。这表明卷积网络可以从低级表示中理解文本,并提供一种一致和统一的方式来处理多种语言。
4.与卷积网络相比,fasttext倾向于过拟合,并且与线性模型相比,不表现出更多的表示能力。
当然,尽管作者列出了473个模型进行比较,但仍然不是全部。例如,本文中的深度学习模型仅使用卷积网络模型,但也有其他有趣的模型,如递归网络。作者似乎计划在将来研究周期网络,并改进卷积网络模型,看看它会有什么效果。
据雷锋说。据说论文中使用的所有源代码和数据集将在以后发表。
论文下载:arxiv/pdf/1700.02657.pdf
相关文章:
Yann lecun的最新研究成果:可以帮助gan使用离散数据
在约夫·戈德堡和扬·莱昆的辩论背后:arxiv是一个很好的平台,但它不同于学术会议
人工智能技术评论访谈yann lecun:关于未来深度学习的14个问题
论文被拒绝了数千次,团队也不见踪影。为什么yann lecun还需要深入研究,比如初恋?
雷锋原创文章。严禁擅自转载。详情请参考转载说明。
标题:Yann LeCun新作:473种模型大对比,寻找统一处理多种语言好模型
地址:http://www.hcsbodzyz.com/hcxw/5707.html