Bengio 实验室呆过一段时间,也一起发表过 paper。而且相关的语言模型也被这
几个大牛翻江倒海搞了好多年。
还有一个 Deep Learning 相关开源工具 SENNA 的作者 Ronan Collobert 则是
Samy Bengio(也是张栋的博士生导师)的博士生,而 Samy Bengio 则是 Yoshua
Bengio 的亲弟弟。
四、背景知识
4.1 词向量
1. One-hot Representation
NLP 相关任务中最常见的第一步是创建一个词表库并把每个词顺序编号。这
实际就是词表示方法中的 One-hot Representation,这种方法把每个词顺序编号,
每个词就是一个很长的向量,向量的维度等于词表大小,只有对应位置上的数字
为 1,其他都为 0。当然在实际应用中,一般采用稀疏编码存储,主要采用词的
编号。
这种表示方法一个最大的问题是无法捕捉词与词之间的相似度,就算是近义
词也无法从词向量中看出任何关系。此外这种表示方法还容易发生维数灾难,尤
其是在 Deep Learning 相关的一些应用中。
2. Distributed Representation
Distributed representation 最早由 Hinton 在 1986 年提出
[8]
。其基本思想是
通过训练将每个词映射成 K 维实数向量(K 一般为模型中的超参数), 通过词之
间的距离(比如 cosine 相似度、欧氏距离等)来判断它们之间的语义相似度。而
word2vec 使用的就是这种 Distributed representation 的词向量表示方式。
4.2 统计语言模型
传统的统计语言模型是表示语言基本单位(一般为句子)的概率分布函数,
这个概率分布也就是该语言的生成模型。一般语言模型可以使用各个词语条件概
率的形式表示:
(s) = (
(
,
,
)=
Context)
其中 Context 即为上下文,根据对 Context 不同的划分方法,可以分为五大类:
(1)上下文无关模型(Context=NULL)
该模型仅仅考虑当前词本身的概率,不考虑该词所对应的上下文环境。这是
一种最简单,易于实现,但没有多大实际应用价值的统计语言模型。
Context)=
=
这个模型不考虑任何上下文信息,仅仅依赖于训练文本中的词频统计。它是
n-gram 模型中当 n=1 的特殊情形,所以有时也称作 Unigram Model(一元文法统
计模型)。实际应用中,常被应用到一些商用语音识别系统中。