【干货】深度学习、自然语言处理和表征方法

机器学习 489 Views

大家好,这里是“黑龙江大学自然语言处理实验室”。我们将成为大家了解科研,了解自然语言处理的一个很好的途径。如果大家有什么意见或者看法,都可以和我留言的。欢迎大家提问,多多互动~

程序员的那些事的微信公众平台:iProgrammer,并已征询伯乐在线的转载许可。其他朋友如需转载,请自行联系伯乐在线咨询许可。

阅读原文”即可查看该链接

简介

单隐层神经网络

单词嵌入(Word Embeddings)

判断5元组是否成立的模块网络(来自于Bottou (2011))

t-SNE对单词嵌入的可视化结果。左图:数字区间。右图:工作岗位区间。来源:Turianet al.(2010)

哪些词的嵌入离一个给定词最近?来自于Collobertet al.(2011)

couple people sing well”),句子的成立性并没有变化。虽然从字面上看,句子变化很大,但如果W把同义词(像“few”和”couple”这种)映射到相近的空间,从R的角度来看句子的变化很小。

red” )。进一步地,我们可以替换多个单词(例如“the wall is blue” → “theceiling is red”)。它的影响对单词数目来说是指数级的 (参见注解4)。

来自于Mikolovet al.(2013a)

单词嵌入展示了一个更引人注目的属性:单词间的类比仿佛是被编码在了单词向量的区别中。比如,这个看来是个男-女区别向量:

W(‘‘woman”)−W(‘‘man”) ≃ W(‘‘aunt”)−W(‘‘uncle”)

W(‘‘woman”)−W(‘‘man”) ≃ W(‘‘queen”)−W(‘‘king”)

she is the aunt” ,“he is the uncle.”。同样的,“he is the King”, “she is the Queen.”。如果你看见“she is the uncle,” 最可能的解释就是这句话有语法错误。这个情况看起来很可能是:一半的时候单词都被随机地替换了。

单词嵌入中的关系对。来自 Mikolovet al.(2013b).

共同表征

W和F学习完成任务A, G可以根据W来学习完成任务B

“利用单词特征表示…已经成为近年来许多NLP系统成功的秘密武器,包括命名实体识别,词性标注,语法分析和语义角色标注。(Luong et al. (2013)

et al. (2013a) 提出的双语单词嵌入。我们可以从两种不同语言中把单词嵌入到一个共享的空间去。在这个例子里,我们学习把汉语和英语嵌入到同一个空间去。

双语单词嵌入的t-SNE可视化图。绿色是中文,黄色是英文。来自(Socheret al.(2013a))

(来自Socher et al. (2013b)

(来自Socher et al. (2013b))

et al. (2013))。之后他们又做了一个新的版本(Norouziet al.(2014))。两者都基于非常有效的图像分类模型(来自 Krizehvsky et al.(2012)),但它们使用了不同的方式把图像嵌入到单词嵌入空间去。

这些结果都利用到一种“这些词是相似的”的推断。但是看起来根据词之前的关系应该有更有力的结果。在我们的单词嵌入空间里,在男性和女性词上有一个一致的差异向量。相似的,在图像空间中,也有一致的可以区分男性和女性的特征。胡子,八字胡,秃顶都是强烈的,可见的男性特征。胸部,及没那么可靠的如长发,化妆品及珠宝这些是明显的女性特征(参见注解6)。即使你从来没见过一个国王,如果一个带着王冠的王后突然有了胡子,那把她变成男人也是很合理的。

递归神经网络

学习单词嵌入的模块化网络(来自Bottou (2011))

(来自 Bottou (2011))

我们可以通过加入一个关联模块A来解决这个问题。这个关联模块可以将两个单词或词组的表征合并起来。

(来自Bottou (2011))

这样的模型通常被称作“递归神经网络”因为一个模块经常会使用另外一个同类型模块的输出。有时候它们也被称作“树形神经网络tree-structured neural networks”。

et al. (2013c) 就利用了一个递归神经网络来预测句子的情感:

(来自 Socher et al. (2013c))

(来自 Bottou (2011))

et al. (2014)在词组表征上有了一些进展,他们做了一个能把英语词组编码,解码成法语的模型。来看看它学习出来的词组表征吧!

词组表征的t-SNE的一小部分(来自Choet al.(2014))

批判

有关上面我们综述的一些结果,我也听说有其他领域的研究人员,尤其是NLP和语言学的人,对他们进行了批判。他们的顾虑倒不是针对结果本身的,反而是从结果中得出的结论以及他们和其他方法的区别。

结论

github来pull。)

致谢

  1. 当你有n个输入神经元时,构建所有可能的输入情况需要2^n个隐神经元。在实际操作中,通常不会这么严重。你可以采取能够包含不同输入的情况。你也可以采用重叠的情况,他们利用叠加的方式来在交集处获得正确的输入。

  2. 不仅是感知器网络才有普适性。多层感知器(sigmoid neurons)网络(及其他激发函数)也具有普适性:给予足够的隐节点,他们估算任何连续函数都可以得到不错的结果。因为你不能简单地孤立输入,所以想看明白这点是十分复杂的。

  3. 单词嵌入最初是由(Bengio et al, 2001; Bengio et al, 2003)开发的。那是2006年深度学习重构开始的前几年,那时神经网络被认为是过时的。而符号话的向量表示(distributed representations)的概念就更老了,比如(Hinton 1986)。

  4. 这篇开创性的文章:A Neural Probabilistic Language Model (Bengio, et al.2003)里包含了很多单词嵌入为何有力的解释。

  5. 之前也有对图像和标签联合分布建模的工作,但他们的观点和我们要描述的截然不同。

  6. 编辑:潘达

    点击阅读原文查看更多

如未说明则本站原创,转载请注明出处:NULL » 【干货】深度学习、自然语言处理和表征方法