词嵌入要解决什么问题
在自然语言系统中,词被看作最为基本的单元,如何将词进行向量化表示是一个很基本的问题,词嵌入(word embedding)就是把词映射为低维实数域向量的技术。
下面先介绍几种词的离散表示技术,然后总结其缺点,最后介绍词的分布式表示及其代表技术(word2vec)。
词的离散表示
One-hot表示
根据语料构造一个大小为V的词汇表,并为每一个词分配一个id。
每个词都可以表示为一个V维向量,除了该词id对应的维度为1外,其余维度为0。
n-gram
与One-hot类似,只是统计单元由单个的词变成了连续的几个词,如2-gram是统计连续的两个单词构造词典。
离散表示的缺点
词的分布式表示
词的分布式表示的核心思想是:一个词是由这个词的周边词汇一起来构成精确的语义信息,因此可以用一个词附近的其他词来表示该词。词的分布式表示有以下几种代表方法:
共现矩阵
使用固定大小的滑窗统计词与词在窗口内的共现次数,然后将每个词表示为一个大小为V的矩阵,每个维度为该词与该维度对应词的共现次数。
共现矩阵方法仍然会存在内存问题以及稀疏性问题。
Word2Vec
谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一,它实