当前位置: 代码迷 >> 综合 >> NLP论文解读《Efficient Estimation of Word Representations inVector Space》
  详细解决方案

NLP论文解读《Efficient Estimation of Word Representations inVector Space》

热度:19   发布时间:2023-12-23 13:34:50.0

目录

 

在向量空间中的单词表示法的有效估计

1、介绍

1.1 本论文的目标

1.2 之前的工作

2、模型架构

2.1 正反馈神经训练模型(NNLM)

2.2 递归神经网络语言模型(RNNLM)

2.3  神经网络的平行训练

3、新对数线性模型

3.1 连续词袋模型

3.2 连续跳跃模型

4、结果

4.1 任务描述

4.2 最大化准确率

4.3 模型架构的比较

4.4 大规模的并行训练模型

4.5 微软研究句子完成挑战赛

5、学习关系的例子

6、总结

7、后续工作


在向量空间中的单词表示法的有效估计

        我们提出了两种新颖的架构,来计算大量训练集中的单词的连续向量表示。这些表示的质量在一些列相似的任务中得到检验,并且将结果与之前基于不同神经网络的性能最好的技术进行了比较。我们观察到在计算成本很低的情况下能够提升很高的准确率等等。花费了不到一天的时间从1600亿单词中学习高质量单词向量。更重要的是,我们发现这些向量在我们的训练集中用于句法和于一词的相似性中提供了最先进的性能。

1、介绍

       许多NLP系统和技术将单词视原子单位,在单词之间没有相似性的概念,因此在单词表中表示为索引。这种选择以下几种原因 --  简单性、健壮性以及通过观察发现在大数据集上训练的简单模型优于在较少训练集上训练的较复杂的模型。一个简单的例子是较为流行的N-gram模型使用了统计学语言模型。今天,对几乎所有可用的数据进行N-gram模型训练是可能的。

       然而,在许多任务中简单的技术有他们的局限性。例如用于自动语音识别的相关的域内的相关的数据数量也是受限的。性能通常取决于高质量转录语音数据的大小(通常只有几百万字)。许多语言的现有语料库只包含几十亿或者更少的单词。因此,在某些情况下,基本技术的简单扩展不会导致取得任何重要的进展。我们必须专注于更新进的技术。

        近些年来, 随着机器学习技术的发展,在大数据集上训练更加复杂的训练模型是可能的,而且他们的表现是要由于其他简单的模型的。或许最成功的部分是使用单词的分布式表示。例如,基于神经网络的语言模型要优于N-gram模型。

1.1 本论文的目标

        本文的主要目标是介绍一些技术,这些技术可以用于从包含数十亿的庞大数据集合中学习高质量的单词向量,并且在词汇表汇包含数百万个单词。据我们所知,之前提出的体系架构没有一个可以在成功的训练超过几百万个单词的数据集,单词向量的适度维度在50-100之间。

        我们使用最近提出的技术来测量结果向量表示的质量。期望相似的词汇不仅接近彼此,但是这些词有多个相似程度。这一点在早期的曲折语言 (inflectional languages)中已经被观察到。例如名词可以有多个词尾,如果我们在一个原始向量空间的子空间中找到一个相似的单词,发现有相似结尾的单词是有可能的。

        有点令人吃惊的是,研究发现词语表达的相似性超出了简单的句法规则。使用在字向量上执行简单的算数运算的自偏移向量,例如用例子说明 向量king - 向量man + 向量women的结果生成最接近的单词是单词queen表示的向量表示。

        在这篇论文中,我们试图通过构建新型的模型架构来提高这些向量操作的准确性,以保持单词之间的线性规律。我们设计了一个新的全面的测试集来测量句法和语义的规律,表明很多这样的规律可以高精度的学习。更重要的是,我们讨论了训练时间和精度如何依赖于词向量的维数和训练数据的数量。

1.2 之前的工作

       词作为连续向量的表示有一个很长的历史。文献【1】中提出了一种非常流行的用于估计神经网络语言模型(NNLM)的模型结构,其中使用具有线性投影层和非线性隐藏性的前馈神经网络联合学习单词向量表示和统计语言模型。这项工作之后还有其他很多工作!

      NNLM 另一个有趣的架构是是在文献【13】【14】中被陈述的,在论文中首先使用具有单个隐藏层的神经网络学习单词向量。然后单词向量被使用用作训练NNLM模型.然而,即使不构建完整的NNLM模型,词向量也可以构建。在单词中,我们直接扩展了这个架构,仅仅关注第一步,即使用简单的模型来学习单词向量。 

        后来表明,词向量可以用来显著提高和简化许多NLP的应用程序。使用不同模型架构对词向量本身进行进行评估,并在不同的语料库上进行训练。得到的一些词向量的结果将用于未知的比较和研究。然而,据我们所知,这些架构在花费成本比在论文【13】中提出的体系架构要搞很多,除了使用对角权重矩阵的对数双线性模型的某些版本。

整个第一章节部分阐述了当前训练模型的缺点,即将单词视为原子单位,词与词联系较少,无法解决词之间相似度的计算。且当时的一些模型中无法训练大数据量的数据集。由此引出了分布式词向量的思想,下一章节介绍LSA和LDA模型都是分布式词向量思想的模型。

2、模型架构

       许多种类的模型被提出用作估计单词的连续性表示,包括著名的LSA(潜在索引分析)和LDA(潜在狄雷特分布)模型。在这篇论文中,我们通过神经网络专注于单词的分布式表示,正如先前所表示的那样,他们在保持单词的线性规律的性能方面明显优于LSA(潜在索引分析)。此外,在大数据集上,LDA(潜在狄雷特分布)在计算上变得非常的昂贵。

      和论文【18】相似,和不同的模型架构相比,首先我们将一个模型的计算复杂度定义为完全训练模型所需访问的参数数量。紧接着,我们将最大限度的提升准确性,而尽可能降低时间复杂度。对于以下所有的模型,时间复杂度由下面公式确定: 

O = E * T  * Q

其中E是训练的周期数目,T是训练集中单词的数目,Q是对每个模型架构进一步定义。通常的选择是E = 3 - 50,T高达10亿。所有的模型都使用随机梯度下降和反向传播训练。

2.1 正反馈神经训练模型(NNLM)

        文献【1】中提出了概率前反馈神经网络语言模型。他包含输入层、投影层、隐藏层和输出层。在输出层,N前面的单词使用 1-of-V 编码,而 V 是词汇的大小。使用一个共享投影矩阵把输入层投影到N*D维度的投影层。因为输入N在任何输入状态下都是活跃状态,所以投影层的操作是一种相对便宜的操作。由于保护层中的值比较密集,NNLM体系结构在投影层和隐藏层之间的计算就变得复杂。对于N = 10的常见操作,保护层(P)的大小可能在500 到 2000个单位之间,而隐藏层的大小(H)通常在500到1000之间。 更重要的是,隐藏层计算词汇表中所有单词的概率的分布,生成一个维度是V的输出层。因此,每个训练模型的计算复杂度是:

Q = N * D + N * D * H + H * V

其中,主导术语是H * V. 

        然而,为了避免这种情况的发生,提出了几种实用性的方法。要么使用softmax函数的分层版本,要么通过使用在训练期间未标准化的模型来避免标准化模型。使用词汇的二进制树表示法,需要计算的输出单位的数量可以下降到。因此,复杂度大多数是因为公式N * D * H引起的。 

        在模型中,我们使用分层softmax ,其中词汇表示为哈夫曼树二叉树。这遵循了之前的结果,单词的频率对获得神经网络语言模型中的类很有效。哈夫曼树把段二进制码分配给频繁出现的单词,这就进一步减少了需要被评估的单词数量;然而平衡二叉树需要对个输出进行评估,基于哈夫曼树的分层softmax需要大约个。例如,档单词表的大小只要一百万个单词时,这会导致评估结果提高两倍。虽然这对于神经网络LMS来说不是关键的加速,因为计算瓶颈是公式N*D*H.后面我们将提出不带隐藏层的架构,因此严重依赖softmax规范化的效率。

2.2 递归神经网络语言模型(RNNLM)

        提出的递归神经网络语言模型已克服了前馈神经网络的某些局限性,例如需要指定上下文长度(模型N的顺序),因为理论上讲RNNS模型能够比千层神经网络高效的表示更加复杂的模式。RNN模型没有投影层,只有输入层、隐藏层和输出层。这种模型特殊之处在于使用延时连接时将隐藏层连接到自身的递归矩阵。这使得回归模型能够形成短期记忆,因为来自过去的信息能够被隐藏层的状态表示,隐藏层的状态可以根据当前输入和以前时间步中的隐藏层的状态进行更新。

      RNN模型每个复杂训练实例的复杂性为Q = H * H + H * V ,    其中D代表的单词和隐藏层H有一样的维度。再一次,公式H * V 能够通过分层的softmax精确的减少到H *  。复杂性中的大部分来自H * H .

2.3  神经网络的平行训练

        为了在大规模数据集上训练模型,我们已经在一个被称为 DistBelief 的大规模分布式框架上实施了几个模型,包括前馈NNLM和在论文中提出的新型模型。该框架允许我们并行的在同一个框架运行多个副本,每个副本通过一个中央服务器同步它的梯度更新,该服务器保留的参数。对于这种评选训练,我们使用称为Adagrad的小批量异步梯度下降和自适应学习率程序。在这种框架下,使用100甚至更多模型副本都是很常见的。每个副本在数据中心的不同机器上使用许多cpu内核。

整个第二章节 模型结构重点讨论了NNLM和RNNLM两种模型以及对着两种模型的计算复杂度进行了讨论。下面第三章节讨论并提出的两种新的模型架构---- CBOE模型和Skip-gram模型

3、新对数线性模型

        在这部分,我们提出了两种新型的模型架构,用于学习单词的分布式表示,以尽可能地减少计算复杂度。从上一节的主要部分可知复杂性的大部分是由于模型中的非线性隐藏层引起的。虽然这正是神经网络如此吸引人的原因,可能无法像神经网络那样精确地表示数据,但是可以更有效的训练数据集。

        新型的模型架构遵循我们早期工作提出的结构,我们发现神经网络语言模型可以成功的分为两步训练。第一步,连续的单词向量能够被简单的模型训练,然后在这些词的分布式表示上训练 N-gram NNLM 模型。尽管后来有大量的工作都用来学习单词向量,我们认为在论文【13】中提出的方法是最简单的。注意相关的模型也已经被提出了很久。

3.1 连续词袋模型

        和正反馈 NNLM 相似,这个模型是第一次被提出。模型中非线性隐藏层被移除,投影层被所有的单词共享(不仅仅是投影矩阵)。因此,所有单词被投影到相同的位置(他们的向量被平均)。我们称这种架构为连续词袋模型,因为记忆中的单词的顺序不会影响注射层。此外,我们仍是用来自未知的单词;在下一部分介绍的任务中,我们通过构建一个长线性分类器,输入4个未知单词和已知单词,已经获得了最佳表现,其中训练标准正是正确分类当前(中间)单词。

        训练时间复杂度是:

Q = N * D+ D * 

        我们将这种模型进一步表示为CBOW模型,因为不像是标准的词袋模型,他使用连续的上下文的连续分布式表示。这种模型架构在论文【1】中图中显示。注意,输入层和投影层的权重矩阵对于所有单词位置都是共享的,共享方式与NNLM中的方式一样的。

3.2 连续跳跃模型

        第二种架构和CBOW相似,但是却不是基于上下文预测当前单词,他试图根据同一句话中的另一个单词最大限度的对一个单词进行分类。更准确的说,我们使用当前的每一个当前的单词作为连续投影层的对数线性分类器到一个输入,并且当前单词前后预测一定范围的单词。我们发现,提高单词预测范围可以提高单词向量的质量,但是他也增加了计算复杂度。因为和距离较近的单词相比,较远的单词通常何当前单词没有较强的相关性,所以我们通过在训练样例中去少量的较远的单词来减少较远单词的权重。

        这种架构的训练复杂度是和Q = C x (D + D X )成比例的。其中,其中C是单词的最元距离。因此,如果我们选择C = 5 , 对于每一个训练单词我们将选择随机<1: C>中的一个数字 R ,然后使用R个已知单词和R个未知单词作为当前单词正确的标签。这将需要我们做R*2个单词的分类,需要当前单词作为输入,R+R个单词中的每一个单词作为输出。在接下来的实验中,我们使用C = 10.

 图一:新模型架构.CBOW模型基于上下文预测当前单词,而Skip-gram模型基于当前单词的预测周围单词。 

基于迭代的方法 - Word2vec的两种算法:CBOW 和 Skip-gram.

大致思想:设计一个模型,用模型的参数来作为单词的向量表示,然后对模型进行训练,在每次迭代中根据loss对参数进行更新,最终得到的更新过后的参数就是单词的向量表示。

1、CBOW模型是根据上下文预测或生成中心词的方法

了解CBOW的算法之后,就是对矩阵U和V的构造过程,需要根据目标损失函数使用梯度下降的方法求解。根据信息论当中对两个分布的距离的计算方法,使用交叉熵来计算损失函数:

 因此优化目标为:

优化的过程中使用SGD对参数进行更新。

2、Skip-gram模型是利用中心词对上下文单词出现的概率进行预测。

 同样的,定义目标函数:

 对于目标函数,也可以使用SGD来进行优化和参数更新。

Skip-gram实例:

本例中,  = “into”, 是前面提到过的中心词 c.
中心词会随着遍历位置的改变而不断改变 (中心词: “into” --> “banking” --> “crises”…)

 最小化目标函数 ? 最大化预测准确率

3、包含两种训练方法:负采样(通过采集负样本来构造新的目标函数) 和  分层softmax(使用不对称的树结构来高效地计算每个词出现的概率)。

        负采样可提高训练效率。对单词预测时计算的概率是一个softmax函数(max: 表示放大最大值的概率; soft: 表示对较小的值依旧分配一定的概率)在计算的过程中,分母包含对所有点乘的加和,每一次迭代都需要对分母进行一次计算,这样会导致巨大的计算量,因此需要找到更加高效的训练方法——负采样(negative sampling)。使用负采样的方法对loss进行近似,此时参数的求解就变成了对下述问题的求解:

 进而损失函数为:

对soft采取分层softmax的办法(hierarchical softmax)进行改进。一般而言,分层softmax适用于对非常用词,非频繁词的改进,而负采样则更适用于频繁词即低纬向量。分层softmax的思想是根据词频构造一棵二叉树,词汇越频繁,该词汇对应的叶节点距离根节点就越近。每次需要根据一个给定的词去预测另外一个词时,只需要对二叉树上位于被预测的词路径上的节点向量进行更新。因此,对于频繁词汇的更新比较快速,且整个模型的算法复杂度低。给定词汇预测词汇W的概率为

其中,σ 表示sigmoid函数,L(w) 代表从根节点到词汇w的叶节点路径上所需要经过的节点总数。n(w,j)表示从根节点到词汇w叶节点路径上的第j个节点,其中n(w,1)表示根节点。ch()表示某一个节点的子节点,可能是左子节点也可能是右子节点。函数[x]的含义是,当x为真时,该函数值取1,否则取0,是节点n(w,j)的向量表示,即需要学习的向量。模型训练的目标函数则为  ,训练过程中只需要对二叉树中位于路径上的节点的向量进行更新。

4、结果

        比较不同版本的单词向量的质量,之前的论文代表性的使用了有个表格展示单词实例和他们大部分相似单词,以便可以直接的观察他们。虽然很容易的证明出单词France与单词Italy和其他一些其他的国家是相似的,如下,在一个更加复杂相似的任务中表示这些向量时会遇到更多的挑战。我们遵循之前的观察,单词之间可能有许多不同类型的相似之处。例如,单词big和单词bigger相似,正如单词small和单词smaller相似。另一种类型的关系可以是单词对big-biggest和small-smallest。我们进一步将两对具有相同关系的单词表示为问题。正如我们所问,什么词和单词small相似,正如 单词biggest 和 单词big 相似。

        有点吃惊的是,通过对单词的向量表示执行简单的代数运算,这些问题就可以解决。找一个和small相似的词与biggest和big是相似的词具有相同的意义,我们可以简单计算向量X = vector("biggest") - vector("big") + vector("small")。然后,我们通过测试余弦值距离寻找在向量空间中最接近X的单词。当单词向量经过良好训练时,通过这种方法可能会发现正确的答案(单词smallest)。

        最终我们发现在一大数量的数据集上训练高维度的单词向量时,结果向量能够用来回答单词间非常微妙的语义关系。例如,一个城市和他所属的国家。法国之于巴黎,正如德国之于柏林。单词向量间如此微妙的关系能够能够被用作提高许多已经存在的NLP模型,例如机器翻译、信息检索和问答系统,以及可能实现其他尚未发明的未知应用。

表格一 : Sematic-Syntactic Word Relationship测试数据集中的五种语义类型和9种句法问题的实例

4.1 任务描述

为了测试单词向量的质量,我们定义了一个综合全面的数据集,其中数据集包含了5种语义问题和9种句法问题。表中显示出了每一类的两个示例。总的来说,公寓8869个语义问题和10675个句法问题。每一类的问题都分两步创建,第一步手动的创建一系列相似的单词对,紧接着通过连接两个单词对形成一系列问题列表。例如,我们列出了68个美国大城市名以及他们所属的州,通过随机挑选2个单词对提出了2500个问题。我们在测试集中只包含了单个标记词,因此不存在多词实体(例如New York)。

        我们评估了所有问题类型的总体准确性,并评估了每个问题类型(语义、句法)。仅当使用上述方法计算的想想最接近单词与问题中正确的单词完全相同时,我们才加假设问题得到正确回答,因此,同义词被视为错误。这也标志着达到100%正确率是不可能的,因为现在的模型关于词法没有任何输入信息。然而,单词向量在某些应用中的有用性应该和这个精度指标正相关。进一步的进展可以通过加入单词结构的信息来实现,特别是语法问题。

4.2 最大化准确率

        我们已经使用谷歌新闻语料库来训练单词向量。这个语料库包含6B个符号。我们已经将词汇量限制在100万个常用词汇之间。显然,我们面临时间优化问题,因为可以预期我们使用更多的数据和跟高维度的数据将提高实验的准确率。为了评估更好模型架构的最佳选择,以快速获得尽可能好的结果,我们首先在训练数据自己上训练的模型,词汇限制在最常规的30k个单词。使用不同的词向量维度的选择和增加词向量训练的数量的CBOW模型在下面表格2中进行展示。

表格二: 使用有限词汇表的CBOW架构的单词向量,测试语义 - 句法 - 词关系的训练集子集合的精确度。仅使用包含最常见的30k单词的问题。

 表格三:在同一相同数据集(640维字向量)训练的模型对体系结构进行比较,准确度在我们的语义- 句法词关系测试集和论文【20】中的句法关系测试集合中报告。

        可以看出,在某些点后,增加更多的规模,或者增加更多训练数据只能带来越来越小的改进。因此,我们不得不同时增加次的维度和训练数据的数量。然而这种观察结果似乎微不足道,我们必须注意到,在相对大数量的数据集上训练词向量是非常受欢迎的,但是小规模不行。给出方程式4,将训练数据增加两倍导致计算复杂度的增加,这与向量增加两倍是一样的效果。

        对于表格2和表格4报告的实验,我们使用了三个具有随机梯度下降和反向传播的训练时段。我们选择开始学习率0.025 并线性的减少他,因此最后的训练时间段结束时结果接近0.

4.3 模型架构的比较

        首先我们比较了使用相同的训练数据和640个词向量的相同维度来推导词向量的不同模型结构。在进一步的实验中,我们使用了在新语义 - 句法  - 词关系测试集合中的测试了所有的问题,在测试集中包含不受限制的30K个词汇。我们还在论文【20】中介绍了一个测试集的结果。该测试集集中于单词之间语法相似性。

        该训练集包含了一些最不发达国家的语料库,该语料库在论文18中具体的被展示(有320M个单词,82K个词汇)。我们使用这些数据来和之前训练的递归神经网络进行了一个比较,其中该模型在单CPU上训练了8周。我们使用之前的8个单词已知记录,使用论文【6】中的平行训练方法训练了一个具有相同数量的640个隐藏单元的前馈神经单元(因此,前馈神经网络模型NNLM比RNNLM模型的参数要多,因为投影层的尺寸的大小有640*8)。

        在表格3中,我们可以观察到RNN(论文【20】中用到)的单词向量在句法问题上表现得比大部分要好。NNLM向量的性能明显要优于RNN,这个是一点也不吃惊地,因为RNNLM中的字向量直接连接到非线性隐藏层。其中,CBOW模型在句法任务上比NNLM模型效果要好,在语义任务下两者效果差不多。最后,Skip-gram体系结构在句法任务上的效果比CBOW模型稍差(但是其效果任然要优于NNLM),在测试的语义部分效果要比所有其他模型要好!

      紧接着我们仅仅使用CPU评估了我们的模型,并比较了公开的词向量的结果。比较结果在表格4中进行展示。CBOW模型在Goole新闻数据的子集上训练了大约一天以内,然而Skip-gram模型大约训练了三天。

    表格4,语义 - 句法 - 词关系测试数据集中公开可以使用的向量的比较,以及来自我们构建的模型的向量。使用完整的词汇表格。

 表格5 : 对同一数据集上在三个时期和一个时期训练的模型进行对比。在完整的语义和句法数据集上报告准确性。

·

 对于进一步报告的实验,我们只使用了一个训练时段(同样,我们线性降低学习速率,以便在训练的最后阶段时学习速率可以降到 0 )。使用一个训练时段来训练一个2倍数据量的模型,得到结果与在三个时期中的相同数据进行迭代的结果相当或者更好,并提供额外的加速比。

4.4 大规模的并行训练模型

        如前所述,我们已经在DistBelief的分布式架构中进行了各种方法。下面我们报告基于Google新闻6B数据集训练的一些模型的结果,这些模型采用了小批量的异步梯度下降和成为Adagrad的自适应学习率的程序。在整个训练期间我们使用了50 - 100个模型副本。 其中CPU内核的数量是一个估计值,因为数据中心机器是被其他生产任务共享的,而且用法可能会有很大的波动。注意到,由于分布式框架的开销,CBOW模型和Skip-gram模型中对CPU的使用比他们单机实现相比要接近的多。其结果将在表格6中进行展示。

表格6 :  比较使用分布式框架训练的模型。请注意,使用1000维度向量训练的NNLM模型将需要花费太长的时间才可以完成。

 表格7 : 微软句子模型挑战赛模型的比较和模型

4.5 微软研究句子完成挑战赛

        最近,微软句子完成挑战赛作为一种推进语言建模和其他NLP技术的任务被引入 。这项任务包含1040个句子组成,其中在每一个句子中缺少一个单词,目标是给出一系列合理的选择列表后,选择与句子其余部分最连贯的单词。几项技术的表现在这个数据集中已经被展示,包含N- gram模型  , LSA(潜在索引分析)基础模型 , 对数双线性模型 。一种递归神经网络的结合 , 目前在这种基准上拥有55.4%的表现性能。

        我们对这项任务探索过用Skip-gram模型的表现 。首先我们训练了论文【32】中提供的640维模型的50M单词数据 。因此我们通过使用输入的位置单词测试每个句子的分数,并预测一个句子中的周围的所有单词。最终的句子分数就是这些预测的累积和。使用这些分数,我们选择最可能的句子。

        表7简要总结了一些以前的结果以及新的结果。虽然Skip-gram模型本身在这项任务上的表现并不比LSA相似性好,但该模型的分数与RNNLMs获得的分数是互补的,加权组合会产生最新的结果58。9%的准确率(开发部分为59.2%,测试部分为58.7%)。

5、学习关系的例子

        表格8 显示了遵循各种关系的单词,我们遵循上述方法:通过减去两个词向量来定义关系,并且把结果添加进另外一个单词中。然后,举个例子,Pairs - france + Italy = Rom . 可以看出,准确度相当好,尽管仍然有一些可以提高的空间(请注意,使用我们假设完全匹配的精度度量,表格8中的得分仅为60%)。我们相信基于大数据集和大维度训练的单词向量将表现得更好,我将推动新的应用的发展。另一个提升精度的方法是提供多于一种的关系样例。通过使用10个示例而不是一个来形成关系向量(我们将各个向量平均在一起)。我们已经观察到,在语义-句法测试中,我们的最佳模型的准确率绝对提高了大约10%。例如,我们观察到,通过计算单词列表中的平均向量,并找到最远的单词向量,从列表中选择单词的准确性很高。这是某些人类治理测试任务中常见的一类问题。很显然,使用这些技术仍然有许多发现有待发现。

表格8 : 单词对关系的实例,表格4中使用最好的单词向量。

(Skip-gram模型训练了300维度的783M数据量 的单词)

6、总结

        在本篇文章中,我们研究了一系列语义和句法语言任务的中,由各种模型导出的词的向量表示的质量。我们观察到和流行的神经网络语言(前馈神经网络和递归神经网络)相比,使用非常简单的模型可以训练高质量的单词向量 。 因为较低的计算复杂度,在一个打的数据集种计算一个高纬度的单词向量是有可能的。使用DistBelief分布式框架,即使在1万亿单词的语料库上训练CBOW和Skip-gram模型都是有可能的,甚至对于基本上无限制大小的词汇。这比之前公布的同类训练模型的最优结果要大几个数量级。

        论文【11】中的SemEval-2012任务2是一个有趣的任务,最近已经证明单词向量的性能明显优于先前的最新水平。公开可以使用的RNN向量和其他技术一起使用,使Spearman的等级相关性提升了大约50%以上。基于单词向量的神经网络之前被应用在许多NLP任务中,例如情感分析和语义检测。我们可以预测到这些应用程序可以通过这篇论文中描述的模型架构中获得收益。

        我们正在进行的任务表明,词向量可以成功的应用于知识库中实事的自动扩展,也可以验证已存在实事的正确性。机器翻译实验的结果也很让人值的期待,在未来,我们将我们的技术和潜在关系分析和其他技术进行比较有趣的。我们相信我们较为全面的比较测试集将帮助研究团体提高确立单词向量的现存技术。我们也期待着高质量的单词向量将能够成为未来NLP应用程序的重要组成部分。

7、后续工作

        这篇论文的最初版本被写出以后,我们出版了单机器多线程C++程序来计算单词向量,使用连续词袋模型和Skip-gram模型。训练模型的速度比这篇论文之前报道的论文的效果要明显的高。对于典型的超参数选择,每小时有数十亿个单词处。我们也出版了超过1400000表示实体的向量,训练了超过1000000000000个单词。我们的一些后续工作会在即将出版的2013年NIPS论文【21】中出版。

reference

[1] Y. Bengio, R. Ducharme, P. Vincent. A neural probabilistic language model. Journal of Machine Learning Research, 3:1137-1155, 2003.
[2] Y. Bengio, Y. LeCun. Scaling learning algorithms towards AI. In: Large-Scale Kernel Machines, MIT Press, 2007.
[3] T. Brants, A. C. Popat, P. Xu, F. J. Och, and J. Dean. Large language models in machinetranslation. In Proceedings of the Joint Conference on Empirical Methods in Natural LanguageProcessing and Computational Language Learning, 2007.
[4] R. Collobert and J. Weston. A Unified Architecture for Natural Language Processing: DeepNeural Networks with Multitask Learning. In International Conference on Machine Learning,ICML, 2008.
[5] R. Collobert, J. Weston, L. Bottou, M. Karlen, K. Kavukcuoglu and P. Kuksa. Natural Language Processing (Almost) from Scratch. Journal of Machine Learning Research, 12:2493-2537, 2011.
[6] J. Dean, G.S. Corrado, R. Monga, K. Chen, M. Devin, Q.V. Le, M.Z. Mao, M.A. Ranzato, A.Senior, P. Tucker, K. Yang, A. Y. Ng., Large Scale Distributed Deep Networks, NIPS, 2012.
[7] J.C. Duchi, E. Hazan, and Y. Singer. Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, 2011.
[8] J. Elman. Finding Structure in Time. Cognitive Science, 14, 179-211, 1990.
[9] Eric H. Huang, R. Socher, C. D. Manning and Andrew Y. Ng. Improving Word Representations via Global Context and Multiple Word Prototypes. In: Proc. Association for Computational Linguistics, 2012.
[10] G.E. Hinton, J.L. McClelland, D.E. Rumelhart. Distributed representations. In: Parallel distributed processing: Explorations in the microstructure of cognition. Volume 1: Foundations, MIT Press, 1986.
[11] D.A. Jurgens, S.M. Mohammad, P.D. Turney, K.J. Holyoak. Semeval-2012 task 2: Measuring degrees of relational similarity. In: Proceedings of the 6th International Workshop on Semantic Evaluation (SemEval 2012), 2012.
[12] A.L. Maas, R.E. Daly, P.T. Pham, D. Huang, A.Y. Ng, and C. Potts. Learning word vectors for sentiment analysis. In Proceedings of ACL, 2011.
[13] T. Mikolov. Language Modeling for Speech Recognition in Czech, Masters thesis, Brno University of Technology, 2007.
[14] T. Mikolov, J. Kopecky, L. Burget, O. Glembek and J. ? Cernock ˇ y. Neural network based lan-guage models for higly inflective languages, In: Proc. ICASSP 2009.
[15] T. Mikolov, M. Karafiat, L. Burget, J. ? Cernock ˇ y, S. Khudanpur. Recurrent neural network based language model, In: Proceedings of Interspeech, 2010.
[16] T. Mikolov, S. Kombrink, L. Burget, J. Cernock ˇ y, S. Khudanpur. Extensions of recurrent neural network language model, In: Proceedings of ICASSP 2011.
[17] T. Mikolov, A. Deoras, S. Kombrink, L. Burget, J. Cernock ˇ y. Empirical Evaluation and Com-bination of Advanced Language Modeling Techniques, In: Proceedings of Interspeech, 2011.
[18] T. Mikolov, A. Deoras, D. Povey, L. Burget, J. Cernock ˇ y. Strategies for Training Large Scale Neural Network Language Models, In: Proc. Automatic Speech Recognition and Understanding, 2011.
[19] T. Mikolov. Statistical Language Models based on Neural Networks. PhD thesis, Brno University of Technology, 2012.
[20] T. Mikolov, W.T. Yih, G. Zweig. Linguistic Regularities in Continuous Space Word Representations. NAACL HLT 2013.
[21] T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean. Distributed Representations of Words and Phrases and their Compositionality. Accepted to NIPS 2013.
[22] A. Mnih, G. Hinton. Three new graphical models for statistical language modelling. ICML, 2007.
[23] A. Mnih, G. Hinton. A Scalable Hierarchical Distributed Language Model. Advances in Neural Information Processing Systems 21, MIT Press, 2009.
[24] A. Mnih, Y.W. Teh. A fast and simple algorithm for training neural probabilistic language models. ICML, 2012.
[25] F. Morin, Y. Bengio. Hierarchical Probabilistic Neural Network Language Model. AISTATS, 2005.
[26] D. E. Rumelhart, G. E. Hinton, R. J. Williams. Learning internal representations by backpropagating errors. Nature, 323:533.536, 1986.
[27] H. Schwenk. Continuous space language models. Computer Speech and Language, vol. 21, 2007.
[28] R. Socher, E.H. Huang, J. Pennington, A.Y. Ng, and C.D. Manning. Dynamic Pooling and Unfolding Recursive Autoencoders for Paraphrase Detection. In NIPS, 2011.
[29] J. Turian, L. Ratinov, Y. Bengio. Word Representations: A Simple and General Method for Semi-Supervised Learning. In: Proc. Association for Computational Linguistics, 2010.
[30] P. D. Turney. Measuring Semantic Similarity by Latent Relational Analysis. In: Proc. International Joint Conference on Artificial Intelligence, 2005.
[31] A. Zhila, W.T. Yih, C. Meek, G. Zweig, T. Mikolov. Combining Heterogeneous Models for Measuring Relational Similarity. NAACL HLT 2013.
[32] G. Zweig, C.J.C. Burges. The Microsoft Research Sentence Completion Challenge, Microsoft Research Technical Report MSR-TR-2011-129, 2011.

  相关解决方案