著名的「词类比」现象可能只是一场高端作弊

2019-08-21 15:18:51 浏览数 (1)

词类比又被 Diss了?

编译 | MrBear

编辑 | Pita  

「词类比」可谓是自然语言处理领域最为人津津乐道的经典案例之一。然而,进来一系列针对词类比现象的理论依据的讨论似乎要将这一明星案例拉下神坛。然而,无论结果如何,这一场围绕爆炸新闻和真理的大讨论都大大吸引了人们对于自然语言处理领域的关注,激发了大家的研究热情!

自然语言处理(NLP)是现代机器学习工具的重要应用领域之一。它涉及到使用数字化的工具来分析、解释、甚至生成人类(自然的)语言。

目前,NLP 领域最著名的算法莫过于「Word2Vec」,几乎所有该领域的从业者都知道它(甚至许多对机器学习感兴趣,但不研究 NLP 的人也知道它)。WordVec 有几种不同的实现方式,非常易于使用。在许多机器学习/人工智能或 NLP 入门课程中,往往会将其作为一个教学示例。

人们喜欢它的一个主要原因是:它似乎非常直观。通常,Word2Vec 的名气是由一些吸引眼球的、直观构建的例子得来的,这些例子常常被用来展示 Word2Vec 的能力。下面,我们简要介绍一下 Word2Vec 的工作原理:

Word2Vec 会查看大量的文本,然后统计哪些词会经常与其它单词一同出现。基于这种词共现统计,Word2Vec 会为每个单词生成抽象表征,也就是所谓的词嵌入。词嵌入是一些低维向量(可以想象成一个包含 200 或 300 个数字的列表)。有了这些词向量,你就可以用单词做一些「神奇」的数学运算了!当我们拥有「国王」、「男人」、「女人」的词向量时,我们可以计算「国王-男人 女人」,最终会得到「女王」的向量!

我强烈推荐大家研究一下词向量!词向量非常有趣,你可以找到许多预训练好的网络,这样一来你就可以迅速上手了。不妨试试这里的词向量运算器:http://vectors.nlpl.eu/explore/embeddings/en/calculator/。如果你想自己在各种各样的书籍数据上进行训练,我强烈推荐 Dave Arnold 编撰的「Liquid Intelligence」。

太神奇了!国王-男人 女人=女王!

这就是见证奇迹的时刻。因此,我们可以认为算法学到了这些单词的「意义」。它似乎能够在某种程度上「理解」这些单词。至少,看起来是这样...

但问题是,简单地用这个著名的例子来解释 Word2Vec 在我看来是一个巨大的错误。对我来说(我相信其他许多人也是如此),这种说法非常容易让人误解。

需要澄清的是:算法本身并没有任何问题!算法的概念非常有趣,在大多数情况下都非常有效。如果处理得当,它可以很好地表征单词的相似性或意义。但是「国王-男人 女人=女王」的例子远远夸大了算法的实际能力。

以下是我认为应该停止使用这个经典的例子来介绍 Word2Vec 的原因:

1. 事实证明,为了让这个例子成立,你必须采取一些「作弊」手段。实际上我们更容易得到「国王-男人 女人=国王」。因此,最终得到的向量更接近于「国王」而不是「女王」。这个广为人知的例子之所以成立,是因为算法将原始的向量(国王)排除在了可能的结果之外!这意味着「国王-男人 女人」的结果与「国王」的词向量更接近。排在第二位的才是「女王」,而这也就是计算机程序最终选择的输出。这太让人失望了,不是吗?

在我看到的许多课程和教程中,都没有提及这个问题。因此,我认为这一点仍然没有广为人知。实际上,我是在一门更「良心」的自然语言处理在线课程中,最终才了解到了这个令人失望的「技巧」。(俄罗斯国立高等经济大学的在线 Coursera 自然语言处理课程,值得一看:https://www.coursera.org/lecture/language-processing/word-analogies-without-magic-king-man-woman-queen-lpSIA)

最近,格罗宁根大学的三名研究人员针对 Word2Vec 测试了一些著名出版物上提及的例子。虽然有些例子确实可以达到预期的效果,但令人沮丧的是,大量给定的例子只有在使用「不允许查询单词本身」的「小技巧」时才能成立(详情请参阅 Nissim 等人于 2019 年发表的论文「Fair is Better than Sensational:Man is to Doctor as Woman is to Doctor」:https://arxiv.org/abs/1905.09866)

图表选自 Nissim 等人于 2019 发表的论文「Fair is Better than Sensational:Man is to Doctor as Woman is to Doctor」。作者使用 Word2Vec 测试了一系列关键文章中的类比示例。他们执行了一系列类似于「C 之于 B,相当于 A 之于 X」这样的查询。「索引」(Index)指的是报告的答案(“Reported”)实际上被找到的位置(通常不是“1”)。此外,右边两列也展示出了算法给出的排序第一、第二的答案。

2. 很不幸的是,事实往往更加糟糕。Finley 等人于 2017 年对「男性=女性/国王-女王/男人-女人」之外的词类比进行了更加差地的分析。他们对大量的句法和语义类比进行了评估,发现基于词嵌入(即词向量)的计算对于某些类型的类比效果良好,但是在有的类比任务中的表现又要差一些。在「词汇语义」这一种类比任务中,这些算法似乎表现得特别糟糕...但只有一个非常明显的例外:「男性-女性」的类比!因此,从某种程度上说,这些通常在讲座或教程中给出的例子代表的是一种例外情况,而不是常规的规则(详情请参阅 Finley 等人于 2017 年发表的论文「What Analogies Reveal about Word Vectors and their Compositionality」:https://www.aclweb.org/anthology/S17-1001)

3. 让我们跳出这个著名的例子,来比较不同产生词嵌入的方法,人们通常会比较方法在大量的不同的文本语料库上的准确率。即使在这种情况下,事情也比人们通常所认为的复杂的多。一些有趣的研究(例如 Levy 等人在 2016 年发表的工作)清晰地表明,在比较不同的算法时,我们需要十分小心谨慎(包括 Word2Vec)。

通常情况下,「新」方法会针对测试数据集进行优化,从而获得良好的性能。然后,这些方法会拿来与「旧」方法进行对比,这很好。但问题是,这些旧方法针对各自的数据集进行的优化相对于新方法要少得多。即使处理得当,实验的结果往往不那么令人信服,而且许多情况都说明,旧方法(处理得当)和新方法的性能几乎没有什么差别(详情请参阅 Levy 等人于 2014 年、2016 年发表的论文

  • 「Neural Word Embedding as Implicit Matrix Factorization」(https://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf)
  • 「Improving Distributional Similarity with Lessons Learned from Word Embeddings」(https://www.aclweb.org/anthology/Q15-1016)

至此,我学到了两件事:

  • 在使用一个或几个特定的数据集上的对比基准测试对方法进行比较时,需要特别小心。这条原则远远不止局限于讨论「Word2Vec」的例子!
  • 不要再简单地认为「国王-男人 女人=女王」的例子就可以解释「Word2Vec」。人们对它产生了不切实际的过高的期望。而且...如果不能作弊的话,这个例子甚至都不成立!

PS:在本文中,我主要写的是 Word2Vec(或与其非常相关的算法)。但是,考虑到上面列举出的问题的严重性,我也希望人们能找出其它流行的词嵌入算法中的类似的问题。这似乎真的值得一试!

参考文献:

1.俄罗斯国立高等经济学院的 NLP 在线课程可以在 Coursera 上看到。这是我看到的比较优质的 NLP 课程,它清晰地分析了 Word2Vec。

  • HSE/Coursera NLP 课程链接(https://www.coursera.org/learn/language-processing)
  • 「国王-男人 女人=女王」的课程视频链接(https://www.coursera.org/lecture/language-processing/word-analogies-without-magic-king-man-woman-queen-lpSIA)
  • Github 代码仓库链接(https://github.com/hse-aml/natural-language-processing)

2.如果你对动手研究词嵌入感兴趣,那么网上有很多预训练好的、可以直接使用的资源。不妨试着动手实现一下下面该出的语义运算器:http://vectors.nlpl.eu/explore/embeddings/en/calculator/。你可以选用在谷歌新闻,英文维基百科等语料库上训练的模型。这个小工具很有趣,看看它能做些什么、不能做些什么也很有意义。

3.Nissim, van Noord, van der Goot (2019): Fair is Better than Sensational: Man is to Doctor as Woman is to Doctor(https://arxiv.org/abs/1905.09866)

4.Levy, Goldberg, Dagan (2016): Improving Distributional Similarity with Lessons Learned from Word Embeddings.(https://www.aclweb.org/anthology/Q15-1016)

5.Levy and Goldberg (2014): Neural Word Embedding as Implicit Matrix Factorization.(https://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf)

6.Finley, Farmer, Pakhomov (2017): What Analogies Reveal about Word Vectors and their Compositionality.(https://www.aclweb.org/anthology/S17-1001)

via https://blog.esciencecenter.nl/king-man-woman-king-9a7fd2935a85.

封面图来源:https://stackoverflow.com/questions/42281078/word2vec-output-vectors

0 人点赞