题目: Word representations: A simple and general method for semi-supervised learning
作者: Joseph Turian, Lev Ratinov, Yoshua Bengio
单位: Universite de Montreal
出版: ACL
解决的问题
利用无监督的word representation来解决有监督NLP系统的data sparsity问题,评估了几种词表示对命名实体识别(named entity recognition, NER)和分块(chunking)问题的效果。
word representation
每个词对应的数学对象,通常是一个向量。每个维度的值与一个特征联系起来,并且可能有语法或语义上的解释,我们将每一维称为词特征。
data sparsity
对于在训练数据中出现很少的词,它们对应的模型参数几乎不会被评估。并且在测试过程中,模型无法处理训练集中没有出现过的词。传统的one-hot representation就面临着这样的问题。
词表示
基于矩阵的词表示(Distributional representations)
基于一个WxC的共生矩阵,W是词表长度,矩阵每一行是一个词w的初始表示,矩阵每一列是一些上下文。有各种文献研究如何构建F,包括上下文的类型,频率计算方法。有时也利用函数f=g(F)来将F映射到一个Wxd的矩阵,其中d远小于C。对于d的选择又是另一个问题了。
基于聚类的词表示(Clustering-based word representations)
Brown clustering
Brown clustering是一种将词进行聚类来使bigram的互信息最大化的层次聚类算法。层次聚类的特性意味着我们可以在不同层级选择一个词所属的类别,这就抵消了一小部分词的很差的聚类效果。它的一个缺点是严格基于二元统计,没有考虑到更长的上下文的应用。
其他聚类的词表示
- k-means聚类的词表示
- 基于HMM的聚类
- 基于CRF的聚类
词向量表示(Distributed representations)
词向量表示是一种密集的,低维度的实值表示,也叫词嵌入。词向量的每一维是词的一个潜在特征。
Collobert and Weston embeddings
此模型是一个判别,非概率模型。对每次训练更新,我们从数据集中读取一段n-gram x=(w1,w2,...,wn) ,模型学习了这n个词的embedding,即给出了 e(w1)⨁…⨁e(wn) ,其中e是lookup, ⨁ 表示连接。同时我们创建一个噪声n-gram x˜=(w1,…,w˜n) ,其中 w˜n≠wn ,是从词表中随机抽取的。为方便起见,用e(x)表示 e(w1)⨁…⨁e(wn) ,我们通过将e(x)通过一个单隐藏层的神经网络来预测x的分数s(x)。训练的准则是从训练集中取得的n-gram x的分数应高于随机得到的n-gram x˜ ,也就是 L(x)=max(0,1−s(x)+s(x˜)) ,对神经网络参数和embedding lookup table同时进行梯度下降。
HLBL embeddings
log-gilinear模型是一个概率的线性神经模型。给出一个n-gram,模型将前n-1个词的embedding连接起来,学习一个线性模型来预测最后一个词的embedding。预测的embedding和真实的embedding间的相似性通过取幂然后归一化求得。此模型经过优化后叫做hierarchical log-bilinear(HLBL)模型。