《A Neural Probabilistic Language Model》
Yoshua Bengio 2003
Abstract
统计语言模型建模(Statistical Language Modeling)目标是学习一种语言中单词序列的联合概率函数。维度限制会导致:模型中测试的单词序列与训练集中的单词序列不同。本文提出通过学习单词的分布式表示来解决维度问题。模型通过训练语句对指数级语义相关的句子进行建模。同时学习(1)每个单词的分布式表示(2)单词序列的概率函数。泛化(Generalization)是指从未出现的单词序列,可以通过类似的词的组成的已经出现的句子来获得较高的概率。本文介绍了使用神经网络的概率函数的实验,改进了n-gram模型,可以利用更长的上下文,并在两个文本预料上都显示了很好的效果。
关键词: 统计语言模型 人工神经网络 分布式表示 维数灾难
1 Introduction
当要模拟许多离散的随机变量之间的联合分布时,如句子中的单子和数据挖掘中的离散属性,维度灾难尤其明显。对于离散空间,泛化结构不明显:任何离散变量的变化都可能对估计函数造成重大影响。而每个离散变量的取值数目很大时,大多数观察对象的汉明距离就几乎是最远的。
根据给定的前 t−1 个词,统计语言模型可以由第 t 个词的条件概率表示
其中, wt 是第 t 个单词,将子序列写为
建立自然语言模型时可以利用词序显著降低建模问题的难度。对于大量上下文中的 n−1 个单词组合,n-gram模型为下一个单词构造条件概率函数:
我们只考虑语料库中实际出现的连续词组合,或者频繁出现的连续词组合。
对于语料库中未出现的n元单词新组合,为避免为其分配零概率,考虑 back-off trigram models (Katz, 1987)或者 smoothed (or interpolated) trigram models(Jelinek and Mercer, 1980)中使用的方法:使用更小的语料进行概率预测。获得新的单词序列的方法主要是与插值(interpolated)或者n元回退(backoff n-gram)模型相关的生成模型,通过“粘合(gluing)”训练数据中短且重复的长度为1,2甚至n个频繁出现的单词来生成新的单词序列。
1.2 Previous Work
- 利用神经网络对高维离散的分布进行建模,对于学习 Z1...Zn 的联合概率分布有很大用处(Bengio and Bengio, 2000a,b)。在该模型中,联合概率分布被分解为条件概率的乘积:
P^(Zt=z1,...,Zn=zn)=∏iP^(Zi=zi|gi(Zi−1=z