N-gram模型和神经语言模型

概率模型

  • 统计语言模型实际上是一个概率模型,所以常见的概率模型都可以用于求解这些参数
  • 常见的概率模型有:N-gram 模型、决策树、最大熵模型、隐马尔可夫模型、条件随机场、神经网络等
  • 目前常用于语言模型的是 N-gram 模型和神经语言模型(下面介绍)

N-gram 语言模型

  • 马尔可夫(Markov)假设——未来的事件,只取决于有限的历史
  • 基于马尔可夫假设,N-gram 语言模型认为一个词出现的概率只与它前面的 n-1 个词相关


    image.png
  • 根据条件概率公式与大树定律,当语料的规模足够大时,有
    image.png
  • n=2 即 bi-gram 为例,有
    image.png
  • 假设词表的规模 N=200000(汉语的词汇量),模型参数与 `n· 的关系表
    image.png

可靠性与可区别性

  • 假设没有计算和存储限制,n 是不是越大越好?
  • 早期因为计算性能的限制,一般最大取到 n=4;如今,即使 n>10 也没有问题,
  • 但是,随着 n 的增大,模型的性能增大却不显著,这里涉及了可靠性与可区别性的问题
  • 参数越多,模型的可区别性越好,但是可靠性却在下降——因为语料的规模是有限的,导致 count(W) 的实例数量不够,从而降低了可靠性

OOV 问题

  • OOV 即 Out Of Vocabulary,也就是序列中出现了词表外词,或称为未登录词
  • 或者说在测试集和验证集上出现了训练集中没有过的词
  • 一般解决方案:
    **设置一个词频阈值,只有高于该阈值的词才会加入词表
    **所有低于阈值的词替换为 UNK(一个特殊符号)
  • 无论是统计语言模型还是神经语言模型都是类似的处理方式

平滑处理 TODO

  • count(W) = 0 是怎么办?
  • 平滑方法(层层递进):
    1 Add-one Smoothing (Laplace)
    2 Add-k Smoothing (k<1)
    3 Back-off (回退)
    4 Interpolation (插值法)
    5 Absolute Discounting (绝对折扣法)
    6 Kneser-Ney Smoothing (KN)
    7 Modified Kneser-Ney

神经概率语言模型 (NPLM)

  • 神经概率语言模型依然是一个概率语言模型,它通过神经网络来计算概率语言模型中每个参数
    image.png

    1 其中 g 表示神经网络,i_ww 在词表中的序号,context(w)w 的上下文,V_context 为上下文构成的特征向量。
    2 V_context 由上下文的词向量进一步组合而成

N-gram 神经语言模型

A Neural Probabilistic Language Model (Bengio, et al., 2003)

  • 这是一个经典的神经概率语言模型,它沿用了 N-gram 模型中的思路,将 w 的前 n-1 个词作为 w 的上下文 context(w),而 V_context 由这 n-1 个词的词向量拼接而成,即
    image.png
  1. 其中 c(w) 表示 w 的词向量
  2. 不同的神经语言模型中 context(w) 可能不同,比如 Word2Vec 中的 CBOW 模型
  • 每个训练样本是形如 (context(w), w) 的二元对,其中 context(w) 取 w 的前 n-1 个词;当不足 n-1,用特殊符号填充

    1. 同一个网络只能训练特定的 n,不同的 n 需要训练不同的神经网络

N-gram 神经语言模型的网络结构

  • 【输入层】首先,将 context(w) 中的每个词映射为一个长为 m 的词向量,词向量在训练开始时是随机的,并参与训练;

  • 【投影层】将所有上下文词向量拼接为一个长向量,作为 w 的特征向量,该向量的维度为 m(n-1)

  • 【隐藏层】拼接后的向量会经过一个规模为 h 隐藏层,该隐层使用的激活函数为 tanh

  • 【输出层】最后会经过一个规模为 N 的 Softmax 输出层,从而得到词表中每个词作为下一个词的概率分布

  • 其中 m, n, h 为超参数,N 为词表大小,视训练集规模而定,也可以人为设置阈值

  • 训练时,使用交叉熵作为损失函数

  • 当训练完成时,就得到了 N-gram 神经语言模型,以及副产品词向量

  • 整个模型可以概括为如下公式:
    image.png

    image.png

原文的模型还考虑了投影层与输出层有有边相连的情形,因而会多一个权重矩阵,但本质上是一致的:

image.png

image.png

模型参数的规模与运算量

  • 模型的超参数:m, n, h, N
    • m 为词向量的维度,通常在 10^1 ~ 10^2
    • n 为 n-gram 的规模,一般小于 5
    • h 为隐藏的单元数,一般在 10^2
    • N 位词表的数量,一般在 10^4 ~ 10^5,甚至 10^6
  • 网络参数包括两部分
    • 词向量 C: 一个 N * m 的矩阵——其中 N 为词表大小,m 为词向量的维度
    • 网络参数 W, U, p, q:
        - W: h * m(n-1) 的矩阵
        - p: h * 1      的矩阵
        - U: N * h    的矩阵
        - q: N * 1    的矩阵 
  • 模型的运算量
    • 主要集中在隐藏层和输出层的矩阵运算以及 SoftMax 的归一化计算
    • 此后的相关研究中,主要是针对这一部分进行优化,其中就包括 Word2Vec 的工作

相比 N-gram 模型,NPLM 的优势

  • 单词之间的相似性可以通过词向量来体现

    相比神经语言模型本身,作为其副产品的词向量反而是更大的惊喜

    词向量的理解

  • 自带平滑处理

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