自然语言建模的模型总体概述

概括word2vec

要解决的问题: 在神经网络中学习将word映射成连续(高维)向量, 其实就是个词语特征求取。

特点:

1. 不同于之前的计算cooccurrence次数方法,减少计算量

2. 高效

3. 可以轻松将一个新句子/新词加入语料库

主要思想:神经网络语言模型可以用两步进行训练:1. 简单模型求取word vector; 在求取特征向量时,预测每个词周围的词作为cost 2. 在word vector之上搭建N-gram NNLM,以输出词语的概率为输出进行训练。

相关工作

在传统求取word的空间向量表征时,LSA将词和文档映射到潜在语义空间,从而去除了原始向量空间中的一些“噪音”,但它无法保存词与词之间的linear regularities;LDA是一个三层贝叶斯概率模型,包含词、主题和文档三层结构。文档到主题服从Dirichlet分布,主题到词服从多项式分布, 但是只要训练数据大了, 计算量就一下飚了。

基于神经网络的词语向量表征方法在[Y. Bengio, R. Ducharme, P. Vincent. A neural probabilistic language model, JMLR 2003]中就有提出, 名为NNLM, 它是一个前向网络, 同时学习词语表征和一个统计语言模型(后面具体讲)。

在Mikolov的硕士论文[1]和他在ICASSP 2009上发表的文章[2]中, 用一个单隐层网络训练词语表征, 然后将这个表征作为NNLM的输入进行训练。 Word2vec是训练词语表征工作的一个拓展。

模型结构

首先回顾NNLM,RNNLM,然后来看Word2Vec中提出的网络——CBOW,skip-gram Model。

1 .NNLM[3]

NNLM的目标是在一个NN里,求第t个词的概率, 即

其中f是这个神经网络, 包括 input,projection, hidden和output。将其分解为两个映射:C和g,C是word到word vector的特征映射(通过一个|V|*D的映射矩阵实现),也称作look-up table, g是以word特征为输入,输出|V|个词语概率的映射:

如下图所示:

输入: n个之前的word(其实是他们的在词库V中的index)

映射: 通过|V|*D的矩阵C映射到D维

隐层: 映射层连接大小为H的隐层

输出: 输出层大小为|V|,表示|V|个词语的概率

用parameter个数度量网络复杂度, 则这个网络的复杂度为:

其中复杂度最高的部分为H*V, 但通常可以通过hierarchical softmax或binary化词库编码将|V|降至, 这样计算瓶颈就在于隐层了。在word2vec中,为了避免隐层带来的高计算复杂度而去掉了隐层。

2 .RNNLM

RNN在语言模型上优于其他神经网络,因为不用像上面NNLM中的输入要定死前N个词的N。(具体RNN的结构我会在下篇中讲)简单地说, RNN就是一个隐层自我相连的网络, 隐层同时接收来自t时刻输入和t-1时刻的输出作为输入, 这使得RNN具有短期记忆能力, 所以RNNLM的复杂度为:

同样地,其中也可以降至, 瓶颈就在于了。

由于复杂度最大的部分都在hidden layer, 而且我们的中级目标是提特征(而不是生成语言模型),文中就想能不能牺牲hidden layer的非线性部分, 从而高效训练。 这也是Word2vec中速度提升最多的部分。这也就是一个Log linear model。所以本质上, word2vec并不是一个深度模型。文中提出了两种log linear model,如下面所述。

3 . Proposed Method 1 -Continuous Bag-of-Words(CBOW) Model

CBOW的网络结构和NNLM类似,变化:

CBOW去掉了NNLM的非线性部分

CBOW不考虑word之间的先后顺序, 一起放进bag,也就是在上面NNLM的projection层将映射后的结果求和/求平均(而非按照先后顺序连接起来)

输入不止用了历史词语,还用了未来词语。 即, 用t-n+1…t-1,t+1,…t+n-1的word作为输入,目标是正确分类得到第t个word。

PS: 实验中得到的best n=4

CBOW的复杂度为:

CBOW结构图:

3 . Proposed Method 2 -Continuous Skip-gram Model

与CBOW相反,Continuous Skip-gram Model不利用上下文。 其输入为当前word,经过projection的特征提取去预测该word周围的c个词,其cost function为:

如下图所示。这里c增大有利于模型的完备性, 但过大的c可能造成很多无关词语相关联, 因此用随机采样方法,远的词少采, 近的多采。

比如定义最大周围距离为C,则对于每个词w(t),就选择距离为R=range(1,C), 选前后各R个词作为预测结果。

所以,Continuous Skip-gram Model的复杂度为:

具体来说,最简单的情况下,的表达式可以为:

其中v和v’分别为输入和输出中的word特征向量。所以说, word2vec方法本质上是一个动态的逻辑回归。

Count-based方法 vs. Directly predict

最后我们看一下之前我们讲过的几个基于统计的传统语言模型与word2vec这种直接预测的方法的比较:

图片摘自Stanford CS244。


原文参考:http://blog.csdn.net/abcjennifer/article/details/46397829

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容