没有合适的资源?快使用搜索试试~ 我知道了~
10830使用词典定义改进单词嵌入的组合性0Thijs Scheepers 阿姆斯特丹大学thijs.scheepers@student.uva.nl0Evangelos Kanoulas阿姆斯特丹大学e.kanoulas@uva.nl0Efstratios Gavves阿姆斯特丹大学e.gavves@uva.nl0摘要0我们对四种流行的单词嵌入(Word2Vec、GloVe、fastText和Paragram)进行了深入分析,以了解它们的语义组合性。此外,我们提出了一种方法来调整这些嵌入以获得更好的组合性。我们发现,将现有的嵌入训练为组合词典定义可以显著提高它们在这一任务中的性能,同时在词语相似性和句子嵌入评估中也获得了类似或更好的性能。我们的方法使用了一个简单的神经网络架构,使用了来自WordNet的定义和词元来调整单词嵌入。由于词典定义在语义上与其关联的词元相似,它们是我们调整方法的理想候选者,也是评估组合性的理想候选者。我们的架构允许使用简单的算术运算来组合嵌入,这使得这些嵌入特别适用于生产应用,如网络搜索和数据挖掘。我们还探索了更复杂和更复杂的组合模型。在我们的分析中,我们使用现有的词语相似性和句子嵌入评估方法评估原始嵌入和调整嵌入。除了相关工作中使用的这些评估方法之外,我们还使用了一种排名方法,该方法使用了已经提到的词典定义来测试组合向量。与其他评估方法不同,我们的方法对嵌入向量的大小不变——我们证明了这对于组合是重要的。我们认为这种名为CompVecEval的新的评估方法是一个重要的贡献。0ACM参考格式:Thijs Scheepers,Evangelos Kanoulas和EfstratiosGavves。2018年。使用词典定义改进单词嵌入的组合性。在2018年网络会议上,2018年4月23日至27日,法国里昂。ACM,美国纽约,11页。https://doi.org/10.1145/3178876.318600701 引言0组合性原则[17]指出,表达式的含义包括其构成部分的含义以及组合它们的规则。它最初是为了解释人类理解语言的方式而引入的。如今,同样的原则被用来模拟计算机表示含义的方式[49]。虽然对于单词特定含义的确切解释和影响有争议,但清楚的是,词典学,即编写0本文根据知识共享署名4.0国际许可(CC BY4.0)发布。作者保留在个人和公司网站上传播作品的权利,并附上适当的归属。WWW2018,2018年4月23日至27日,法国里昂©2018IW3C2(国际万维网会议委员会),根据知识共享CC BY 4.0许可发布。ACM ISBN978-1-4503-5639-8/18/04。https://doi.org/10.1145/3178876.31860070字典对于说明单词与其含义之间的关系非常重要[18]。字典中的单词,或称为词元,可以用一个或多个简短但准确的定义来描述。这些字典定义被称为词典定义。根据组合性原则,如果我们有这样一个定义,它应该能够与它描述的单词组合起来。例如,我们应该能够将“一种有柔软的毛、短吻和可伸缩爪的小型驯养食肉哺乳动物”组合成“猫”的词汇语义表示。使用实值向量进行词汇表示,即词嵌入[36],已成为信息检索、自然语言处理以及其他文本相关模型类的重要方面。自从使这些实值嵌入流行的论文出现以来,人们对它们的组合性质产生了兴趣[37]。在深度神经模型的背景下,这些性质尤其重要,因为在各种架构中,多个表示可以组合成一个更深层的表示。在无监督的情况下找到单词的良好表示通常依赖于单词的上下文。基于上下文的训练会得到一个既捕捉到语法又捕捉到语义的表示。虽然句法信息对于组合表示很重要,但对于在模型中应用单词嵌入的含义来说并不一定有用。当将单词组合成一个联合表示时,我们通常希望创建一个表示意义的表示,即语义,而通常不关心语法,尽管这些信息对于组合本身的行为至关重要。拥有一个紧凑的意义表示对于许多任务非常有用,例如问题回答、网络搜索、机器翻译和情感分析。在大多数这些任务中,我们需要将多个单词嵌入组合起来,以从单词的组合中创建一个语义的单一嵌入。我们将这样的操作定义为单词嵌入组合。在这项工作中,我们分析了四种广泛使用的预训练单词嵌入:Word2Vec[37]、GloVe[44]、fastText[8]和Paragram[57]。这些嵌入通常直接用作特征,或者用于迁移学习,以启动模型的训练操作并提高其最终性能。由于大多数单词嵌入的应用需要它们进行组合,我们决定分析最流行的预训练单词嵌入的组合性质,以便能够更明智地决定使用哪些嵌入。为了做到这一点,我们创建了一种名为CompVecEval的新的评估方法,该方法使用词典定义和词元的测试集来测试单词嵌入的组合性。我们使用了WordNet[38]中的定义和词元。这种新颖的评估方法检查了定义中组合的单词是否接近词元的嵌入。这意味着我们专门测试了这一点。0Track: Web Content Analysis, Semantics and Knowledge WWW 2018, April 23-27, 2018, Lyon, France10840对于多义词的各种意义,如果我们以“猫”为例,它不仅指的是毛茸茸的动物,还指的是:“一种通过扫描X射线并使用计算机沿单一轴构建一系列横断面扫描的方法”。我们的测试确保了“猫”的所有词典描述的嵌入能够组合成其词汇表示,而不仅仅是最常见的,因为在从大型语料库中学习嵌入时可能会出现这种情况。我们的测试与其他测试不同,因为它使用了一个球树排序[42]算法,这是一种精确的最近邻算法。因此,它考虑了与所有其他词汇表示的关系,并且对嵌入的幅度不变。其他评估方法对嵌入的这个方面是不变的。我们的结果表明,求和嵌入与平均嵌入一样有效,甚至更好。尽管平均值在流行的算法中经常出现,并且有一个支持它的理论框架[3]。此外,我们构建了一个模型来调整现有的嵌入,以实现更好的组合性,使用相同的词典定义。我们能够使用各种组合函数来调整嵌入,其中一些应该是学习的,一些是简单的代数函数。对于需要处理大量数据的大规模生产应用程序来说,使用简单的代数函数有时是必要的。正如我们的结果所显示的那样,它们也非常有效。我们能够创建出在CompVecE-val任务以及几个词相似度和句子嵌入评估任务中表现更好或相当的嵌入。因此,我们认为我们调整过的嵌入可能是直接用于应用特定模型或迁移学习的更好选择。我们调整这些嵌入的方法也可以应用于其他组合数据集。我们将这种使用组合数据调整词嵌入的方法称为CompVec 1。02 相关工作0语言学中的组合性最早由Frege[17]于1892年定义,并由Janssen[26]巧妙地放入现在的背景中。2010年,Coecke等人[12]描述了组合语义的数学基础。Mitchell和Lapata[39,40]是第一个使用简单的逐元素代数运算来语义组合词向量表示的人。这项工作没有使用当今流行的实值词嵌入。他们比较了词嵌入的各种操作以及它们对组合的影响。在他们的结果中,乘法模型优于加法模型,而在我们的分析中并非如此。0分布式组合。在神经方法流行之前,使用更复杂的分布式方法取得了进展。这些分布式方法可能会受到数据稀疏性问题的困扰,因为它们包含包含共现频率的大矩阵。Baroni和Zamparelli[5]使用形容词矩阵和名词向量来组合形容词-名词短语。Grefenstette和Sadrzadeh[22]做了类似的事情,但他们使用矩阵表示关系词,向量表示参数词。Yessenalina和Cardie[59]使用矩阵而不是向量来对每个词建模,并使用矩阵乘法来组合它们。矩阵乘法是不可交换的,并且在一定程度上可以考虑顺序。0我们提供了一个开源实现,以及一个开源数据集,网址为https://thijs.ai/CompVec/。0Yessenalina和Cardie[59]使用矩阵而不是向量来对每个词建模,并使用矩阵乘法来组合它们。矩阵乘法是不可交换的,并且在一定程度上可以考虑顺序。0通过神经网络进行词嵌入。Bengio等人[6]首次提出了“词嵌入”这个术语,其背景是训练神经语言模型。Collobert和Weston[13]表明,词嵌入实际上对下游任务有用,并且是预训练的很好选择。词嵌入的普及可以归功于Mikolov等人[36,37]的Word2Vec和skip-gram算法。在他们的工作中,他们讨论了词嵌入的组合性,以类比任务为例。他们清楚地描述了词嵌入的加法组合特性,然而,类比任务仍然有些选择性。创建段落表示的一种流行方法称为Paragraph2Vec或Doc2Vec[31],其中词向量被平均以及与单独的段落表示组合。然后可以在文档检索中使用这种组合表示。这种方法假设平均是一种好的组合方法。虽然平均是一种简单的操作,但我们的结果表明,在大多数嵌入中,另一种简单的操作可能会表现得更好。Wieting等人[57]表明,通过训练词嵌入(如Word2Vec和GloVe)来组合句子嵌入可以进一步增强其性能,用于释义的目的。他们的方法使用平均值,已经在语义文本相似性(STS)任务上取得了显著的改进。他们的模型结构与我们的类似,但在损失函数和训练目标上有所不同。他们的损失函数是幅度不变的,这就解释了为什么他们更喜欢平均值,因为如果归一化嵌入的幅度,平均值和求和本质上是完全相同的。我们的任务涉及直接组合成词典词形,而他们的训练任务是释义任务。Arora等人[3]在Wieting等人[57]的基础上进行了改进,使用了简单的加权平均值函数。0a +p(w),其中a是一个参数,p(w)是估计的词频。Kiros等人[30]提出了跳过算法。受到跳字的启发,它预测了给定当前组合句子表示的组合句子表示的上下文。这可以被描述为一种分解性方法来创建句子表示。Kenter等人[27]将Kiros等人[30]的方法与Wieting等人[57]的方法相结合,使用一个连体神经网络创建了一种无监督的学习句子嵌入的方法,该方法试图从上下文中预测一个句子(CBOW)。Kenter等人还对词嵌入进行平均,以创建句子的语义表示。最近,Tissier等人[54]引入了dict2vec,它通过将词对相关性纳入训练过程来扩展跳字算法。这些词对是从词汇定义中提取的,类似于我们使用的定义。然而,他们的方法直接包含在词汇词嵌入的训练过程中,而我们关注的是组合。0代数组合。除了Mitchell和Lapata的工作外,还有很多应用中应用了代数组合。0Track: Web Content Analysis, Semantics and Knowledge WWW 2018, April 23-27, 2018, Lyon, FranceTrack: Web Content Analysis, Semantics and KnowledgeWWW 2018, April 23-27, 2018, Lyon, France10850作为模型架构的一部分。例如:注意机制中的加权平均[4,34],或者在记忆网络[56]中。Paperno和Baroni[43]为代数组合表现良好提供了一些数学解释。Arora等人[3]引入了一个数学框架,试图对跳字向量的平均性能进行严格的理论理解。Gittens等人[20]在此基础上进行了改进,并证明了跳字算法在类比任务中确实保证了加法组合性。但是需要注意的是,他们假设了特定的组合定义和均匀的词分布。但是词根据Zipf定律[60]进行分布。0卷积组合。更复杂的神经网络组合工作可以分为两类:卷积方法和循环方法。卷积方法使用卷积神经网络(CNN)将词表示组合成n-gram表示。Kim[28]使用单层CNN组合嵌入进行主题分类和情感分析。Blunsom等人[7]提出了一种新的池化层,将CNN应用于可变长度的输入句子。Liu等人[33]后来改进了这个模型的架构。我们的结果表明,卷积模型可以用于组合词汇定义,尽管我们发现它不是最有效的方法。0循环组合。使用循环神经网络(RNN)的模型可以读取长度不同的输入句子。它们已经被用于神经机器翻译(NMT)[10]和神经问答(NQA)[21,56]以及其他模型类别。Cho等人[10]引入了编码器-解码器架构以及门控循环单元(GRU)作为比长短期记忆(LSTM)[25]更高效的替代方法。Sutskever等人[52]通过堆叠循环层并反转输入改进了编码器-解码器模型。GRU单元经过Chung等人[11]的实证评估,发现GRU在性能上与计算成本较低的方法相当。我们使用GRU作为有序的组合函数。在大多数深度学习模型中,词嵌入是以监督方式与模型一起训练的。这些模型中的嵌入矩阵是从无监督的上下文驱动方法中进行迁移学习的良好候选。在应用迁移学习时,考虑到所使用嵌入的组合特性是很重要的。现在我们转向注意机制[4,34],它们是NMT和NQA系统的重要组成部分。在这种机制中,创建注意向量归结为使用不同的组合方法,而不是RNN编码。在传统的注意力架构中,对如何组合表示进行了多个假设,例如使用编码器的隐藏状态作为输入,并使用所有源词或特定窗口的加权平均值。0递归组合。Socher等人[48-50]引入了一种矩阵-向量递归神经网络(MVRNN),它使用从组成解析中获取的句法树结构来组合嵌入。由于需要组成解析器,他们的模型不是端到端的。该模型依赖于正确的解析以进行良好的组合,但并非总是如此。但它是其中之一0首个试图将句法信息与词嵌入分离以仅关注语义的模型。0组合嵌入的评估。一般来说,评估词表示是一项困难的任务。这通常是通过两个词之间的相似性来完成,并且是针对特定示例进行手工制作的。Faruqui和Dyer聚合的方法[15]是一种流行的方法。他们的评估结合了13个不同的词对相似性集合[16,19,24],总共包含11,212个词对,并使用Spearman等级相关系数作为度量标准。因为他们的方法专注于词对,所以可以捕捉到词之间的语义相似性,但不能必然地说明它们的组合性。我们在这项工作中使用这些方法来显示在调整嵌入时词嵌入的词汇语义质量不会降低。Conneau等人聚合了不同的句子评估方法[14],包括一些关于组合性的方法。应用程序中的下游性能,如情感分类[46,48]或问题回答[32],提供了对组合性的外在评估,但结果可能受到影响分类器性能的其他混淆效应的影响。来自SemEval2014和2015的STS任务[1,2]是可以用来确定句子相似性的评估任务,也是间接测试组合性的良好候选。Marelli等人创建了涉及组合知识的句子(SICK)数据集,该数据集专门测试组合的两个重要方面:文本相关性和文本蕴涵。我们在这项工作中使用所有这些评估方法。这些工作似乎没有评估词汇定义的组合语义。我们的评估方法称为CompVecEval,通过直接尝试找到WordNet[38]中的字典定义与相关词形式之间的语义相似性来填补这个空白。03 数据集0为了测试语义组合,我们使用字典作为我们的数据。字典中的单词或词形式都有良好的定义,这些定义可以在语义上组合成该单词的含义,因此非常适合我们的任务。我们选择使用WordNet[38]作为我们数据集的基础。WordNet中的同义词集允许创建具有一个或多个与该定义相关联的词形式的定义对xd = (d,ld)。定义是一个由单词组成的序列,其中d = �wd1, wd2...wdn | wd∈W�。我们确保从该定义中删除停用词。对于我们的评估方法,我们只考虑单词,即一元词形式,这些词形式也在W中,这使得L �W。我们添加了这个约束,因为这使得评估方法更易用,因为词嵌入不一定要应用在目标方面,尽管这仍然是可能的。在原始的WordNet同义词图中,如果我们发现词形式实际上是定义中的一个词,我们不会将该词形式添加到ld中,对于特定的x。我们最终得到|X| =52,430个唯一数据点,词汇量为|D| =48,944个唯一单词,目标词汇量为|L| = 33,186个唯一词形式。02 更常被称为https://wordvectors.org。3评估方法集在SentEval软件库https://github.com/facebookresearch/SentEval中提供。f c10860预训练词嵌入。现在我们有了定义词W的词汇表和目标词L的词汇表,我们从四个流行的大型预训练词嵌入中为每个定义词和目标词找到向量表示:Word2Vec、GloVe、fastText和Paragram。这些预训练词嵌入都是在英文文本上训练的,维度为300,以保持我们最终的比较相对公平。Word2Vec使用原始的skip-gram算法,在一个包含1000亿个标记的Google新闻文章语料库上进行训练。GloVe向量使用本地上下文窗口进行训练,类似于skip-gram,结合了全局矩阵分解。通过这个全局矩阵向量,每个上下文词根据其全局共现频率进行加权。我们使用的GloVe表示是在CommonCrawl上训练的,该数据集包含8400亿个标记和220万个词汇。fastText使用基于skip-gram的训练算法,但它将每个词表示为字符n-gram的集合。每个n-gram都与一个向量表示相关联,而词则表示为这些n-gram的总和。fastText嵌入是在一个大型的英文维基百科数据集上训练的。我们使用的Paragram嵌入与Wieting等人的组合释义模型的调整嵌入相同,结合了Wieting等人的更大嵌入数据集。请注意,我们理解这些词嵌入是使用不同的算法和数据集进行训练的。我们并不试图确定哪种算法更好。我们只是试图提供对现有预训练公开可用词嵌入的组合性的见解。0训练-测试分割。由于我们的目标是使用这个新数据集为现有嵌入创建调整方法和评估方法,我们必须将数据集分割成训练集和测试集。X中的数据结构使得我们无法随机分割。在分割时,我们确保具有多个定义d的引理l都在同一个集合中。否则,训练算法将能够在测试集中训练也在的引理上,这将导致不平衡的结果。此外,我们确保训练集和测试集都包含至少一个定义词w与另一个集合中的引理l相同,以防止嵌入发散。我们最终得到一个包含49,807个数据点的训练集和一个包含2,623个数据点的测试集。我们将数据集和创建整个数据集的代码免费提供。04 组合方法0词嵌入组合的目标是将多个词嵌入组合成一个单一的组合嵌入。图1展示了如何实现这一目标。组合函数fc可以是非常复杂的神经网络,也可以是简单的逐元素加法。在我们的评估中,我们将测试四个简单的代数组合函数和六个可学习的组合函数。将多个中间表示组合成一个简单表示在许多深度学习架构中都会发生。但本身并没有被详细研究。04 数据集和伴随软件可以在以下网址找到:https://thijs.ai/CompVec/。0c0人类a0存在0人0x [0…2]0ypc0<随机引理>0yn0目标0最大化距离0最小化距离0图1:该图展示了CompVec模型的结构。输入嵌入进入组合函数fc。0并组合成一个单一的组合嵌入c。我们可以看到这个组合向量c在损失函数中与正例yp和负例yn进行比较。0在我们的案例中,我们研究了词嵌入的组合性,但这些方法很可能也可以扩展到其他类型的表示。类似的组合函数评估可以进行。在我们的实验中,我们将输入定义的标记截断到最大32个,并填充未使用的标记。为了确定这个截断点,我们查看了所有定义的长度。我们发现平均定义长度为:10个标记,第95百分位数为:22个标记,第99百分位数为:31个标记。此外,我们为填充标记创建了一个掩码,以正确处理可变输入长度的组合函数。04.1 代数组合0首先,我们将尝试通过逐元素操作来创建组合:+、×、max(d)和average(d)。毫不奇怪,通过简单的数学运算进行组合并不理想,因为组合的行为既不考虑单词之间的关系,也不考虑单词的顺序。相反,这样的关系应该已经存在于所有单词的空间中。但通过分析简单操作的结果,我们可以对词嵌入空间本身有新的见解,了解它已经具有的组合属性以及如何使用它。例如,文档表示模型Paragraph2Vec使用平均操作来组合任何类型的嵌入。我们的评估结果表明,这不一定是最佳操作。我们屏蔽填充标记,并确保我们的模型正确处理组合。例如,填充标记应该有一个填充了零值的向量作为+操作的嵌入。0Track: Web Content Analysis, Semantics and Knowledge WWW 2018, April 23-27, 2018, Lyon, Francef gruxi~hnexthprev(5)10870在进行向量组合时,对于加法操作,预训练嵌入的向量应该是填充了1值的向量,而对于乘法操作,应该是填充了0值的向量。值得注意的是,预训练嵌入的大小,即范数,有时被假设为1[45]。如果做出这个假设,平均是一种逻辑上的组合函数,而不是求和。然而,并非所有预训练嵌入的大小都是1。相反,它们的大小因嵌入而异。如果希望嵌入具有这个属性,就需要对嵌入进行归一化,但这可能会丢失有价值的信息。04.2 在组合时调整嵌入0现在我们已经定义了简单的代数组合和用于组合的数据集,我们可以尝试调整预训练嵌入以在特定组合函数fc下获得更好的组合效果。为了做到这一点,我们使用随机梯度下降和三元组损失函数[23]进行训练,如方程1所示。该损失函数与更流行的对比损失函数相关。0三元组损失:=0i = 1 max ||ci - ypi||2 - ||ci - yni||2 + α, 0 (1)0除了这个损失函数,我们还尝试了一种基于余弦相似度的三元组损失函数,类似于[57]的工作。使用基于余弦相似度的损失函数进行训练的结果在所有评估方法上都较差。0余弦三元组损失:=0i = 1 max cos(ci, ypi) - cos(ci, yni) + α, 0 (2)0通过下降三元组损失的梯度,可以确保组合嵌入c与参考词义嵌入yp更接近,但同时远离随机选择的其他参考词义嵌入yn。使用负例确保嵌入值不会收敛到0。损失函数还有一个边界参数α,它基本上确保如果嵌入c和yp已经足够接近,它们不会产生损失。经过一些实验,我们选择对加法组合使用边界值α = 5,对其他所有模型使用α =0.25。虽然大多数词嵌入算法在训练过程中不包括正则化形式,但我们在训练过程中尝试了添加这个。在实验过程中,我们发现添加dropout[51]显著改善了最终结果。因此,我们的最终模型在输入嵌入上使用了dropout概率Pdropout =0.25进行训练。我们使用Adam随机梯度下降优化器[29]对模型进行了205个epoch的训练,每个批次包含512个数据点。我们使用学习率lr = 1e-3,β1 = 0.9,β2 = 0.99和ϵ = 1e-8。04.3学习组合0除了简单的代数组合,我们还训练了模型来组合嵌入。我们学习了一个简单的投影层,循环模型以及卷积模型。使用学习模型而不是简单操作有三个重要优势。首先,我们学习组合函数的参数,以改进表示,使其不受原始嵌入空间及其组合属性的限制。其次,当组合表示时,我们可以进行非线性变换。最后,RNN和CNN将能够考虑词序,并因此能够更好地利用句法信息。我们对所有学习的组合函数执行两次训练过程。一次是固定嵌入的情况下,一次是在训练的前一部分(2500步或25个时期)固定嵌入,然后与模型的权重矩阵一起优化嵌入。在结果表中,使用固定嵌入进行训练的模型可以在标题为“原始”的列下找到,使用调整嵌入进行训练的模型可以在“CompVec”下找到。0c0h0ur0图2:这个图显示了GRU的内部工作原理。我们可以看到更新门和重置门及其输入和输出。我们可以看到˜h以及它如何影响最终输出c或h。0改进表示,使我们不受原始嵌入空间及其组合属性的限制。其次,当组合表示时,我们可以进行非线性变换。最后,RNN和CNN将能够考虑词序,并因此能够更好地利用句法信息。我们对所有学习的组合函数执行两次训练过程。一次是固定嵌入的情况下,一次是在训练的前一部分(2500步或25个时期)固定嵌入,然后与模型的权重矩阵一起优化嵌入。在结果表中,使用固定嵌入进行训练的模型可以在标题为“原始”的列下找到,使用调整嵌入进行训练的模型可以在“CompVec”下找到。0投影组合向量。我们的第一个和最简单的学习组合函数是一个投影。这类似于Wieting等人的方法。0c = tanh(xWx + b)(3)0我们将此投影应用于使用与先前讨论的代数组合函数相同的函数组合的向量。0循环组合。我们的第一个循环模型使用普通的RNN单元作为其隐藏层。我们的隐藏单元的维度为300,与我们的词嵌入类似。RNN的方程4描述了它。0h = tanh(xWx + ht-1Wh + b)(4)0我们的第二个循环模型使用GRU而不是普通的RNN单元。已经证明GRU非常适用于与语言相关的任务,并且在性能上与LSTM相当或更好[11]。该模型的参数是普通RNN模型的三倍。图2以示意图的方式显示了GRU的内部结构。方程5给出了GRU的数学定义。0r = σ(xWxr + ht-1Whr + br)重置门u = σ(xWxu +ht-1Whu + bu)更新门˜h = tanh(xWx˜h + r ∙ht-1Wh˜h + b˜h)候选更新h = 1.0 - u ∙ ht-1 + u ∙˜h最终更新0Track:Web Content Analysis,Semantics and Knowledge WWW 2018,2018年4月23日至27日,法国里昂f cTrack: Web Content Analysis, Semantics and KnowledgeWWW 2018, April 23-27, 2018, Lyon, France10880c0人类0存在0人0x [0…2]0Wf [0…3]0最大0图3:这个图显示了用于组合词嵌入的CNN的内部工作原理。我们可以看到滤波器的权重矩阵,最大池化操作以及最终输出。0我们最后的循环模型是一个双向GRU[47],我们将输入序列按正常顺序投影到一个具有150个单元的隐藏状态,并且我们有一个单独的模型来按相反顺序对输入序列进行投影。0卷积组合。对于我们的第一个CNN,我们将使用一个滤波器,其维度对应于嵌入大小(E = 300)和滑动窗口的宽度(F =3)。我们确保每个滤波器预测目标嵌入的一个维度。我们在图3中清楚地看到这一点。0˜hij = �Fab=0�Eab=0Wfabx(i+a)(j+b)卷积h = relu(˜h +b)非线性c = maxpool(h)池化(6)0对于第二个更复杂的CNN,我们使用不同的滑动窗口宽度选择不同的过滤器。这个CNN应该能够更好地捕捉长距离的依赖关系。我们选择滑动窗口大小为3、5、7和9的过滤器。05分析和评估0在我们对四种流行的词嵌入Word2Vec [37]、GloVe [44]、fastText[8]和Paragram[57]进行分析时,我们测试了它们在深度神经网络架构中使用特定类型的组合时的适用性。我们既提供了原始未调整的嵌入结果,也提供了使用我们的数据集和前一节中描述的架构进行调整的结果。为了直接分析这些词嵌入的组合性,我们引入了CompVecEval。此外,我们还使用各种现有的评估方法分析嵌入的语义文本相似性、相关性和蕴含关系。最后,我们通过查看词相似性测试的分数来判断词嵌入本身的质量是否受到调整优化的影响。05.1 CompVecEval0我们使用球树算法[42]将我们的组合表示与目标词表示进行最近邻排名,与使用余弦相似度等不变度量方法不同。向量的大小很重要,因为神经架构中的语义(中间)表示受到它的影响。通常不会对每个中间表示进行归一化,因为这可能会导致信息丢失并影响网络的性能。0球树算法产生了所有33,186个目标词的完整排名。在后续的排名中,我们将来自ld的所有目标词标记为同等相关,将其他单词标记为不相关。这将导致与基于余弦相似度的排名方法不同的+和average(d)的不同结果。我们认为排名优于其他评估方法,因为它不依赖于提供的嵌入空间。此外,排名可以计算出多个度量,可以以不同的方式解释,特别是关于组合性。此外,排名允许我们在非常嘈杂的组合表示中找到结构。当我们获得排名和相关结果后,我们应用几个众所周知的排名度量:平均倒数排名(MRR)[9]、平均平均精度(MAP)以及平均精度@10(MP@10)。此外,我们使用平均归一化排名(MNR)来评估,该度量描述了在遇到相关结果时不需要查看的总数据集的比例。对于MNR和MRR,我们使用ld中第一个相关目标词的排名。0MNR := 1 - 1 /|D|0空0d ∈ D0r0|L| MRR := 1 / |D|0空0d ∈ D0rank d (7)0在这里,rankd是定义d的第一个相关目标词的排名。MRR是更常见的方法,它是顶部重的,即排名较低的相关结果的贡献呈指数级下降。MNR对每个相关结果的排名都给予了相同的权重。这两个度量都是基于召回率的。0MAP := 1 /|D|0空0d ∈ D0|l d| (8)0MAP和MP@10捕捉了多个相关目标词的可能性,其中MAP是一种基于召回率的度量,MP@10是一种基于精确度的度量。对于所有的度量,我们可以说:“数值越高越好”。目前,我们将CompVecEval定义为在测试集的2,623个数据点上计算MRR度量,因为我们使用其余的数据来调整嵌入。如果一个任务不需要训练数据,可以使用所有可用的数据点(52,430)进行更准确的评估方法。每当我们想要更深入地了解词嵌入的组合性时,我们还可以看一下其他考虑的排名方法:MRR、MAP和MP@10。+(+5.2)(+8.7)(+11.1)58.3 (+1.5)average(d)34.230.7 (-3.4)25.432.2 (+6.8)23.029.2 (+6.2)56.855.7 (-1.1)GRU34.237.2 (+3.1)25.429.7 (+4.2)23.029.5 (+6.5)56.857.9 (+1.1)Bi-GRU34.236.9 (+2.8)25.429.5 (+4.1)23.029.9 (+6.9)56.858.1 (+1.3)WS-353 [16]+70.670.1 (-0.5)71.976.5 (+4.6)74.570.1 (-4.3)73.172.1 (-1.1)average(d)70.467.8 (-2.5)71.973.2 (+1.3)74.569.8 (-4.6)73.176.6 (+3.5)GRU70.470.3 (-0.1)71.972.9 (+0.9)74.576.5 (+2.1)73.174.4 (+1.2)Bi-GRU70.768.5 (-2.3)71.973.2 (+1.2)74.573.9 (-0.6)73.174.8 (+1.6)10890表1:此表显示了所有评估指标的结果。对于所有指标,计数:“数值越高越好”。CompVecEval和SICK-E得分的结果以 × 100表示。其他句子评估指标以Pearson's r × 100表示,而单词相似度指标以Spearman's r ×100表示。值得注意的是,在学习的组合函数(RNN、GRU、CNN等)下,我们对模型本身进行了训练,但未改变原始嵌入,而在CompVec下,我们也调整了嵌入。0Word2Vec GloVe fastText Paragram 测量组合 原始 CompVec 原始 CompVec 原始 CompVec 原始 CompVec0CompVecEval MRR + 17.0 23.0 (+6.0) 11.9 26.5 (+14.6) 20.7 26.3 (+5.6) 26.6 29.9 (+3.3) 平均 ( d ) 2.0 2.0 (-0.0) 3.3 4.1 (+0.8) 3.0 3.4 (+0.5) 3.8 4.1 (+0.3) × 0.6 0.9 (+0.2) 0.9 0.9 (-0.0)0.9 1.0 (+0.1) 1.0 0.5 (-0.5) 最大 ( d ) 6.6 15.6 (+9.0) 13.7 20.1 (+6.4) 14.6 18.6 (+4.0) 20.5 23.3 (+2.8) + Proj. 9.7 14.3 (+4.6) 17.5 22.7 (+5.2) 16.0 19.1 (+3.1) 20.3 24.8 (+4.6) RNN 8.57.3 (-1.2) 15.7 14.7 (-0.9) 14.2 12.6 (-1.7) 16.3 15.6 (-0.7) GRU 23.4 20.7 (-2.7) 28.9 28.9 (+0.0) 27.8 26.1 (-1.6) 29.2 29.8 (+0.6) Bi-GRU 23.6 20.4 (-3.2) 30.2 30.1 (-0.1) 29.0 26.3 (-2.7)29.7 30.3 (+0.5) CNN-3 11.4 14.8 (+3.3) 21.9 22.6 (+0.7) 22.2 22.4 (+0.2) 24.0 23.8 (-0.1) CNN-3,5,7,9 12.0 14.8 (+2.8) 23.4 23.7 (+0.4) 23.3 22.6 (-0.7) 22.4 24.2 (+1.8)0SentEval STS14 [2] + 31.4 61.8 (+30.4) 54.1 65.7 (+11.5) 52.7 65.2 (+12.5) 70.5 71.1 (+0.5) 平均 ( d ) 32.0 41.5 (+9.6) 54.1 48.0 (-6.1) 53.2 46.3 (-6.9) 70.5 49.9 (-20.6) × 4.6 1.9 (-2.7) 5.97.4 (+1.5) 8.6 21.2 (+12.6) 1.6 4.7 (+3.1) 最大 ( d ) 22.4 62.4 (+39.9) 60.6 67.1 (+6.5) 42.6 65.1 (+22.5) 61.6 66.3 (+4.7) + Proj. 10.1 27.1 (+16.9) 25.2 49.7 (+24.5) 22.6 39.3 (+16.8) 27.055.5 (+28.5) RNN 41.4 46.5 (+5.2) 52.4 48.0 (-4.4) 46.8 49.8 (+3.0) 55.7 47.6 (-8.1) GRU 48.2 62.5 (+14.2) 62.9 65.5 (+2.6) 57.9 63.9 (+6.0) 65.5 67.4 (+1.9) Bi-GRU 53.5 62.3 (+8.8) 66.167.5 (+1.4) 62.1 64.6 (+2.5) 66.8 67.9 (+1.1) CNN-3 36.0 52.9 (+16.8) 55.8 59.2 (+3.4) 51.0 57.4 (+6.4) 63.6 63.5 (-0.1) CNN-3,5,7,9 35.5 54.4 (+18.9) 59.2 61.6 (+2.4) 54.0 59.1 (+5.1)63.7 64.2 (+0.5)0STS15 [1] + 36.8 68.7 (+31.9) 58.1 66.6 (+8.5) 58.1 68.8 (+10.7) 75.0 75.2 (+0.2) 平均 ( d ) 36.3 47.3 (+10.9) 58.1 51.3 (-6.8) 58.2 52.2 (-6.0) 75.0 54.6 (-20.3) GRU54.3 65.0 (+10.7) 64.6 65.8 (+1.2) 57.4 63.9 (+6.5) 69.4 68.9 (-0.5) Bi-GRU 59.8 63.6 (+3.9) 67.6 69.6 (+2.0) 63.3 65.5 (+2.2) 70.4 70.0 (-0.3)0SICK-E [35]
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功