Keras在NLP中的应用与实现外文翻译资料

 2022-07-24 02:07

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


词语和短语的分布式表示及其组成性

托马斯米科洛夫 Ilya Sutskever 陈凯

Google Inc. Google Inc. Google Inc.

Mountain View Mountain View Mountain View

mikolov@google.com ilyasu@google.com kai@google.com

Greg Corrado 杰弗里·迪恩

Google Inc. Google Inc.

Mountain View Mountain View

gcorrado@google.com jeff@google.com

摘要

最近引入的连续Skip-gram模型是一种高效的方法,用于学习高质量分布式向量表示,捕获大量精确的语法和语义词关系。 在本文中,我们提出几个扩展,提高矢量的质量和训练速度。 通过对频繁词的二次抽样,我们获得显着的加速,并且还学习更规则的词表示。 我们还描述了一个简单的替代层次softmax称为负取样。

词表示的固有限制是它们对词顺序的无关性和它们不能表示习语短语。 例如,“加拿大”和“航空”的含义不能轻易组合以获得“加拿大航空”。 受此示例的启发,我们提出了一种在文本中查找短语的简单方法,并且表明学习数百万个短语的良好向量表示是有可能的。

1简介

在矢量空间中的单词的分布式表示帮助学习算法通过分组相似单词在自然语言处理任务中实现更好的性能。由于Rumelhart,Hinton和Williams [13],最早使用单词表征的一种方法可以追溯到1986年。这个想法已经应用于统计语言建模相当成功[1]。后续工作包括自动语音识别和机器翻译的应用[14,7],以及广泛的NLP任务[2,20,15,3,18,19,9]。

最近,Mikolov等人[8]引入了Skip-gram模型,一种用于从大量非结构化文本数据学习单词的高质量矢量表示的有效方法。与大多数先前使用的用于学习单词向量的神经网络架构不同,对Skipgram模型(见图1)的训练不涉及密集矩阵乘法。这使得培训极其高效:优化的单机实施可以在一天内训练超过1000亿个词。

使用神经网络计算的单词表示非常有趣,因为学习的矢量显式编码许多语言规律和模式。有些令人惊讶的是,这些模式中的许多可以表示为线性平移。例如,向量计算vec(“Madrid”)-vec(“Spain”) vec(“France”)的结果比任何其他单词向量[9,8 ]。

输入 投影 输出

w(t-2)

w(t-1)

w(t 1)

w(t) w(t 2)

图1:Skip-gram模型架构。 训练目标是学习良好预测附近词语的词向量表示。

在本文中,我们提出了原始Skip-gram模型的几个扩展。 我们显示在训练期间频繁词的二次采样导致显着加速(大约2x - 10x),并提高较不频繁词表示的准确性。 此外,我们提出了一个简化的噪声对比估计(NCE)变量[4],用于训练Skip-gram模型,导致更快的训练和更好的矢量表示的频繁词,与更复杂的分层softmax使用于以前的工作[8]。

词表示受到它们不能表示不是单个单词的组合的习语短语的限制。 例如,“波士顿环球报”是一份报纸,因此它不是“波士顿”和“环球”含义的自然组合。 因此,使用向量来表示整个短语使得Skip-gram模型更具表达力。 旨在通过组成单词向量来表示句子意义的其他技术,例如递归自动编码器[15],也将从使用短语向量而不是单词向量中受益。

从基于字词到基于短语的模型的扩展相对简单。 首先,我们使用数据驱动的方法识别大量的短语,然后我们在训练期间将短语作为个别令牌。 为了评估短语向量的质量,我们开发了一个包含单词和短语的模拟推理任务的测试集。 我们的测试集的典型类比对是“蒙特利尔”:“蒙特利尔加拿大人”:“多伦多”:“多伦多枫叶”。 如果vec(“蒙特利尔加拿大人”)-vec(“蒙特利尔”) vec(“多伦多”)的最近表示是vec(“多伦多枫叶”),则认为已正确回答。

最后,我们描述了Skip-gram模型的另一个有趣的属性。 我们发现简单的向量加法往往可以产生有意义的结果。 例如,vec(“俄罗斯”) vec(“河流”)接近vec(“伏尔加河”),vec(“德国”) vec(“首都”)接近vec 。 这种组合性表明,通过对单词向量表示使用基本的数学运算可以获得非显而易见的语言理解程度。

2 Skip-gram模型

Skip-gram模型的训练目标是找到对于预测句子或文档中的周围词有用的词表示。 更正式地,给定训练词w1,w2,w3,...的序列。 。 。 ,wT,Skip-gram模型的目的是最大化平均对数概率

其中c是训练上下文的大小(其可以是中心词wt的函数)。 大c导致更多的训练示例,从而可以导致更高的精度,牺牲训练时间。 基本Skip-gram公式使用softmax函数定义p(wt j | wt)

其中vw和v#39;是w的“输入”和“输出”向量表示,W是num-在词汇中的词。 这种公式是不切实际的,因为计算的成本nabla;log p(wO | wI)与W成正比,这通常很大(10的5次方-10的7次方项)。

2.1分层Softmax

完全softmax的计算上有效的近似是分层softmax。 在神经网络语言模型的上下文中,它首先由Morin和Bengio引入[12]。 主要优点是,不是评估神经网络中的W个输出节点来获得概率分布,而是仅需要评估log2(W)节点。

分层softmax使用输出层的二进制树表示,其中W个字作为其叶子,并且对于每个节点,显式地表示其子节点的相对概率。 这些定义了将概率分配给词的随机游走。

更精确地,每个词w可以通过从树的根的适当路径到达。 令n(w,j)是从根到w的路径上的第j个节点,并且令L(w)为该路径的长度,因此n(w,1)= root和n (w))= w。 此外,对于任何内部节点n,令ch(n)是n的任意固定子节点,如果x为真,则let [x]为1,否则为1。 然后分层softmax定义

其中sigma;(x)= 1 /(1 exp(-x))。 可以验证了W p(w | wI)= 1.这意味着

计算log p(wO | wI)和nabla;log p(wO | wI)的成本与L(w0)成比例,不大于log W。 此外,不同于Skip-gram的标准softmax公式分配两个表示vw和v#39; 对于每个词w,分层softmax公式具有每个单词w的一个表示vw和一个表示v#39; 对于每个内部节点n 二叉树。

层次softmax使用的树的结构对性能有相当大的影响。 Mnih和Hinton探索了许多构建树结构的方法以及对训练时间和结果模型精度的影响[10]。 在我们的工作中,我们使用二进制哈夫曼树,因为它将短代码分配给频繁的词,导致快速训练。 在之前已经观察到,通过它们的频率将词汇组合在一起作为基于神经网络的语言模型的非常简单的加速技术[5,8]。

2.2负抽样

层次softmax的替代方案是噪声对比估计(NCE),由Gutmann和Hyvarinen [4]引入并应用于Mnih和Teh的语言建模[11]。 NCE假设一个好的模型应该能够通过逻辑回归来区分数据和噪声。 这类似于Collobert和Weston [2]使用的铰链损耗,他们通过将数据排在噪声之上来训练模型。

虽然NCE可以显示近似最大化softmax的对数概率,但是Skipgram模型只涉及学习高质量矢量表示,因此只要矢量表示保持其质量,我们就可以自由简化NCE。 我们通过目标定义负取样(NEG)

国家和资本向量由PCA投影

图2:国家及其首都的1000维Skip-gram向量的二维PCA投影。 该图说明了模型自动组织概念和隐含地学习它们之间的关系的能力,因为在训练期间,我们没有提供关于首都城市意味着什么的监督信息。

它用于替换Skip-gram目标中的每个log P(wO | wI)项。 因此,任务是使用逻辑回归将目标词w0与噪声分布Pn(w)进行区分,其中对于每个数据样本存在k个负样本。 我们的实验表明,5-20范围内的k值可用于小训练数据集,而对于大数据集,k可以小至2-5。 负取样和NCE之间的主要区别是NCE需要两者样本和噪声分布的数值概率,而负采样仅使用样本。 虽然NCE近似最大化softmax的对数概率,但这个属性对我们的应用并不重要。

NCE和NEG都具有作为自由参数的噪声分布Pn(w)。 我们研究了Pn(w)的多个选择,并且发现提高到3/4幂(即U(w)3/4 / Z)的单数分布U(w)明显优于单数形式和均匀分布, 对于NCE和NEG在我们尝试的每个任务包括语言建模(这里不报告)。

2.3频繁词的抽样

在非常大的语料库中,最常用的词容易出现数亿次(例如,“in”,“the”和“a”)。 这样的词通常提供比罕见词更少的信息值。 例如,虽然Skip-gram模型受益于观察“法国”和“巴黎”的共同出现,但是从观察“法国”和“the”的频繁共同出现的好处少得多,因为几乎每个词co - 经常在句子中出现“the”。 这个想法也可以在相反的方向上应用; 频繁词的向量表示在对几百万个例子训练之后不会显着改变。

为了抵消罕见和频繁词之间的不平衡,我们使用一个简单的子采样方法:训练集中的每个词wi被丢弃,具有由公式计算的概率。

P(Wi)=1-P(Wi)

表1:各种Skip-gram 300维模型对[8]定义的模拟推理任务的准确性。 NEG-k代表对于每个阳性样品的具有k个阴性样品的阴性取样; NCE表示噪声对比估计,HS-Huffman表示具有基于频率的霍夫曼码的分层Softmax。

其中f(wi)是词wi的频率,t是选择的阈值,通常大约为10-5。 我们选择了这个子采样公式,因为它主动地子采样频率大于t的单词,同时保持频率的排名。 虽然这种子采样方法是启发式选择,我们发现它在实践中工作良好。 它加速学习,甚至显着提高稀有词的学习向量的准确性,如以下部分所示。

3实证结果

在本节中,我们评估训练词的分级Softmax(HS),噪声对比估计,负取样和子采样。我们使用Mikolov等人介绍的模拟推理任务1。 [8]。任务包括类似“德国”:“柏林”::“法国”:?,

其通过找到矢量x使得vec(x)最接近vec(“Berlin”)-vec(“Germany”)来解决

vec(“法国”)根据余弦距离(我们舍弃来自搜索的输入词)。如果x是“Paris”,则该具体示例被认为已经被正确回答。任务有两个

大类:句法类比(如“快”:“快”“慢”:“慢”)和语义类比,如国家到首都城市的关系。

为了训练Skip-gram模型,我们使用了一个由各种新闻文章(一个包含10亿字的内部Google数据集)组成的大型数据集。我们从训练数据中丢弃了在词汇表中出现不到5次的所有单词,这导致了大小为692K的词汇。在表1中报告了各种Skip-gram模型在字模拟测试集上的性能。该表显示负取样优于模拟推理任务的分层Softmax,并且甚至比噪声对比估计稍微更好的性能。频繁词的二次抽样提高了训练速度几次,并且使得词表示显着更准确。

可以说,skip-gram模型的线性使其向量更适合这种线性模拟推理,但Mikolov等人的结果。 [8]还表明,通过标准S形反复神经网络(其是高度非线性的)学习的向量随着训练数据量的增加而显着改进这个任务,这表明非线性模型也优选线性结构的词表示。

4学习短语

如前所述,许多短语具有的意义不是其单个单词的意义的简单组合。 为了学习短语的向量表示,我们首先寻找频繁出现在一起,而在其他语境中很少出现的单词。 例如,“纽约时报”和“多伦多枫叶”由训练数据中的唯一令牌替换,而两字组“这是”将保持不变。

表2:短语的模拟推理任务的示例(完整测试集具有3218个示例)。 目标是使用前三个来计算第四个短语。 我们最好的模型在这个数据集上达到72%的精度。

这样,我们可以形成许多合理的短语,而不大大增加词汇的大小; 在理论上,我们可以使用所有的n-gram训练Skip-gram模型,但这将是太内存密集型。 先前已经开发了许多技术来识别文本中的短语; 然而,我们

全文共11218字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[145599],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。