Efficient Estimation of Word Representations/zh
| Research Paper | |
|---|---|
| Authors | Tomas Mikolov; Kai Chen; Greg Corrado; Jeffrey Dean |
| Year | 2013 |
| Venue | ICLR Workshop |
| Topic area | NLP |
| Difficulty | Research |
| arXiv | 1301.3781 |
| Download PDF | |
Efficient Estimation of Word Representations in Vector Space 是 Mikolov 等人于 2013 年在 Google 发表的论文,提出了 Word2Vec,一类用于从大规模文本语料库中学习分布式词表示(词嵌入)的高效计算方法。该论文提出了两种新颖的架构 —— Continuous Bag-of-Words(CBOW)和 Skip-gram —— 它们能够在数小时内基于数十亿词进行训练,产生能够捕捉词语句法和语义关系的向量表示,包括著名的词类比特性。
概述
先前关于分布式词表示的工作使用神经语言模型,联合学习词向量和语言模型,但这些方法计算开销大,难以扩展到非常大的语料库。较简单的模型,如潜在语义分析(LSA),能够捕获共现统计信息,但无法保留词语之间的线性规律。
Mikolov 等人提出了两种架构,剥离了完整神经语言模型的复杂性 —— 去除了非线性隐藏层 —— 以专注于高效地学习词向量。所得模型能够在使用适度计算资源的情况下,在一天之内基于数十亿词的语料库完成训练,同时产生质量出人意料地高的词向量。
主要贡献
- CBOW 模型:一种根据周围上下文词预测目标词的架构,使用上下文词向量的平均值作为输入。
- Skip-gram 模型:一种在给定目标词的情况下预测周围上下文词的架构,实际上反转了 CBOW 的目标。
- 词类比评估:引入了用于评估词向量质量的词类比测试集,证明向量算术能够捕捉语义和句法关系。
- 可扩展性:证明可以从非常大的语料库(最多 60 亿个词元)中学习高质量的词向量,训练时间不到一天。
方法
两种模型都在文本语料库上以滑动窗口方式运行,学习根据上下文预测词语(CBOW)或根据词语预测上下文(Skip-gram)。
Continuous Bag-of-Words(CBOW)模型在给定上下文词窗口 $ \{w_{t-c}, \ldots, w_{t-1}, w_{t+1}, \ldots, w_{t+c}\} $ 的情况下预测中心词 $ w_t $。其输入是上下文词向量的平均值:
$ \mathbf{h} = \frac{1}{2c} \sum_{-c \leq j \leq c, j \neq 0} \mathbf{v}_{w_{t+j}} $
目标词的概率使用 softmax 计算:
$ P(w_t \mid \text{context}) = \frac{\exp(\mathbf{v}'_{w_t} \cdot \mathbf{h})}{\sum_{w \in V} \exp(\mathbf{v}'_w \cdot \mathbf{h})} $
其中 $ \mathbf{v}_w $ 和 $ \mathbf{v}'_w $ 分别是词 $ w $ 的输入和输出向量表示。
Skip-gram 模型则相反,从中心词预测上下文词。在给定中心词 $ w_t $ 的情况下,模型最大化:
$ \frac{1}{T} \sum_{t=1}^{T} \sum_{-c \leq j \leq c, j \neq 0} \log P(w_{t+j} \mid w_t) $
其中:
$ P(w_O \mid w_I) = \frac{\exp(\mathbf{v}'_{w_O} \cdot \mathbf{v}_{w_I})}{\sum_{w \in V} \exp(\mathbf{v}'_w \cdot \mathbf{v}_{w_I})} $
在大词汇表上计算完整的 softmax 代价过高。该论文采用了基于霍夫曼树的分层 softmax,将复杂度从 $ O(V) $ 降低到 $ O(\log V) $。后续论文引入了 negative sampling 作为更简单且通常更有效的替代方案。
一个关键的架构决策是去除了先前神经语言模型中存在的非线性隐藏层。这一简化对计算效率至关重要,而且令人惊讶的是,并未损害所学习表示的质量。
结果
最引人注目的结果是词向量之间出现了线性关系。所学习的表示通过向量算术支持词类比:
$ \text{vector}(\text{"king"}) - \text{vector}(\text{"man"}) + \text{vector}(\text{"woman"}) \approx \text{vector}(\text{"queen"}) $
该论文引入了一个综合的词类比测试集,包含 8,869 个语义类比问题和 10,675 个句法类比问题。结果表明:
- Skip-gram 在 7.83 亿词的训练语料库上取得了最佳的语义准确率(55%)和具有竞争力的句法准确率。
- CBOW 训练更快,取得了最佳的句法准确率,以及具有竞争力的语义准确率。
- 准确率随训练数据规模和向量维度的增加而持续提高,直至达到收益递减的程度。
- 两个模型在类比任务上均显著优于包括 NNLM 和 RNNLM 在内的先前方法,且训练速度快几个数量级。
在 60 亿词的 Google News 语料库上使用 300 维向量进行训练(采用后续的 negative sampling 方法),生成了广泛使用的预训练 Word2Vec 向量。
影响
Word2Vec 通过将词嵌入确立为神经 NLP 系统的标准输入表示,变革了 NLP 领域。在 Word2Vec 之前,大多数 NLP 系统依赖于稀疏的高维表示,如 one-hot 向量或 TF-IDF。Word2Vec 证明,稠密的低维向量能够捕捉丰富的语言结构,并在不同任务之间有意义地迁移。
类比特性吸引了公众的想象力,成为所学表示编码有意义结构的标志性范例。Word2Vec 嵌入在 2010 年代中期几乎每个 NLP 系统中都被用作特征,从情感分析到机器翻译。
这些模型直接影响了后续关于嵌入的工作,包括 GloVe、FastText 以及 ELMo 和 BERT 等上下文嵌入。尽管静态词向量在很大程度上已被来自大型语言模型的上下文表示所取代,Word2Vec 仍是一个基础性的参考点,并且在计算效率至关重要的应用中仍被使用。
参见
- Attention Is All You Need
- BERT Pre-training of Deep Bidirectional Transformers
- Language Models are Few-Shot Learners
参考文献
- Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. ICLR 2013 Workshop. arXiv:1301.3781
- Mikolov, T., Sutskever, I., Chen, K., Corrado, G., & Dean, J. (2013). Distributed Representations of Words and Phrases and their Compositionality. NeurIPS 2013. arXiv:1310.4546.
- Pennington, J., Socher, R., & Manning, C. D. (2014). GloVe: Global Vectors for Word Representation. EMNLP 2014.