有点意思:一篇关于词嵌入(Word Embedding)的介绍

有点意思:一篇关于词嵌入(Word Embedding)的介绍

​译者:袁欣原作者:Roger Huang

链接:https://www.springboard.com/blog/introduction-word-embeddings/

人类语言是描述人类与世界之间联系的一种惊人有效的方式。大部分情况下,我们只需一些简短的词语就能够互通心意并进行与之相关的活动。
正因为我们可以看到并描述如此之多的复杂事物,所以很多结构被悄然编码成我们的语言。计算机在学习自然语言方面并不容易,因为它如果不知道如何观察世界,则需要了解人类如何观察世界。
在大多数情况下,计算机无法理解自然语言。我们的程序仍然是通过逐行说明来告诉计算机应该做什么 – 他们经常错过细微差别和上下文语境。那么你又如何向一台机器解释讽刺(表现手法)呢?
什么是词嵌入
对此,好消息是自然语言处理(NLP)领域已有一些重要突破,研究人员试图教授计算机人类语言。
其中著名的一项突破是,2013年Google研究人员(Mikolov 2013)发现了一种方法使计算机能够学习如下语句之间的关系:
king-man+woman≈queen
这种有望深入发展的方法被称为词嵌入它甚至可能揭示在我们眼中世界的隐藏结构。我们可以考虑如下使用词嵌入方法发现的一种关系:

president-power≈prime minister
当然,这也许只是一种似是而非的关系。
为什么要学习词嵌入
言归正传,至少有两个原因值得我们学习词嵌入。首先,词嵌入可以实现多方面应用。

第二,我们可以从研究人员解决解密机器自然语言问题的方式中学习并了解这种方法。

词嵌入的用途
我们没有显而易见的方法有效比较两个词,除非我们已经知道他们的含义。因此,词嵌入算法旨在根据单词间的相似性或彼此间的关系来嵌入具有意义的词。
在实践中,单词被嵌入到一个存在距离和角度概念的真实向量空间中。我们希望这些概念能够有效扩展至词嵌入范畴,从而量化不同单词之间的关系或相似性。而且他们实际上是这样做的!
例如,上面提到的Google算法发现某些名词是单数/复数具有性别之分(Mikolov 2013abc):
它们还发现一种国家与首都关系
为了进一步证明一个词的含义可以从其他词语的关系中被暗示,他们的确发现,通过学习得到一种语言的结构经常与另一种语言的习得结构相关,这也许暗示了通过词嵌入进行机器翻译的可能性(Mikolov 2013c) :
该团队发布了他们的C代码并成为word2vec工具包,不久之后,其他人将该算法编为更多编程语言。其中较为有名的是gensim(Python)和deeplearning4j(Java)工具包。
如今,许多公司和数据科学家已找到不同方法将word2vec与其业务和研究相配合。 Spotify使用它来帮助其提供音乐推荐服务。 

Stitch Fix使用它来推荐服装。

据了解, Google也在RankBrain中使用word2vec作为其搜索算法的一部分。

其他研究人员正在使用word2vec进行情感分析,试图确定人们用于沟通的语句背后的情感。例如,一个斯坦福大学的研究小组研究了不同Reddit论坛区中所使用的相同词语是否具有不同的含义。这里有一个关于“soft”一词的例子:

如你所见,当你在谈论运动时(你可能会想到“软弱的”),“soft”这个词就具有负面的含义,而当你在谈论卡通(mylittlepony)的时候,它们则包含着一种积极的含义。 

许多例子中,计算机可以分析不同讨论区同一词的情感情绪
它们甚至可以持续采用同样的方法进行分析。比如“terrific”,这个在20世纪大部分时间里意思为“令人恐惧的”的词语,现如今已经主要用于表示“非常的”。
有趣的例子是,一个研究组曾使用word2vec来帮助他们确定一个事实是否是令人惊讶的,这样他们就可以自动生产琐事。
word2vec的成功也有助于促进其他形式词嵌入算法的产生 –  主要包括WordRank,斯坦福的GloVe和脸书的fastText等 。
这些算法旨在改善word2vec  – 他们还采用不同的单位来查看文本:字符,子词,单词,短语,句子,文档,甚至是思维单元。因此,通过使用这些算法,我们不仅考虑到单词相似性,还考虑到句子相似性和文档相似性 – 正如这篇文章(Kusner 2015):
词嵌入将人类语言有意义地转化为一种有利于数值分析的形式。这样它们就可以实现电脑探索大量以人类语言编译的知识 。而这其中的潜力是我们难以预料的。
任何程序员或学者都可以使用这些工具并为之贡献力量。许多可从NLP中受益的研究项目和行业领域尚待探索。词嵌入和神经语言模型是强大的技术。但也许机器学习最有力的一面是它的协作文化,因为许多最先进的方法与相关研究都属于开放资源 。
因此,如果我们愿意,这些方法一直都能为我们所用 。而现在主要的障碍就是我们自己……又或许是一个昂贵的图形处理器(GPU)。