[关闭]
@Frankchen 2016-06-05T07:13:30.000000Z 字数 1755 阅读 1351

Note for "How to Generate a Good Word Embedding?"

Paper Word2Vec


ABSTRACT

词嵌入的三要素:模型、语料和参数。通过同一个语料来比较当前基于神经网络模型的词嵌入,而每一个词嵌入用三种方式来评估:语义特性、用做监督学习的参数以及神经网络模型的初始值。得出了以下结论:

  1. 语料的领域比语料的大小作用更重要。
  2. 训练速度更快的模型在大多数情况下效果已经足够好。
  3. 使用实际任务作为验证集比用训练数据集作为验证集来选择迭代停止时机更好。

1. INTRODUCTION

现有的模型多种多样,没有一种统一的评价模型的优劣的标准,对于实际任务来讲,也没有标准告诉我们如何设计好的词嵌入算法。因此,本文从模型构建、训练语料和参数选择三方面详细分析了训练词嵌入模型。

  1. 首先,对于模型构建,几乎所有词嵌入算法都源自分布假说,也即是:拥有相似的上下文的词语拥有相似的含义。所以,这些模型都专注于目标词汇和上下文,它们都被嵌入为向量。现有的模型可以总结为关注目标词和上下文关系以及关注上下文表示方法两种。在目标词和上下文关系方面,除C&W是通过的共现来打分之外,主流的五个方法都是通过来预测。从如何表示上下文方面看,从Skip-gram 、CBOW、Order、LBL、NNLM 到C&W,模型复杂度越来越高。Skip-gram 和CBOW不计词序,这样带来效率提示但是丢失信息。文中提出的Order模型加入了词序,LBL、NNLM 和C&W在Order模型上添加了隐藏层。通过以上分析,提出问题:
    1. 哪个模型表现最好?
    2. 从模型的两种方面来讲,我们应该怎么选择?
  2. 这一方面,我们的问题是语料的领域和大小会怎样影响词嵌入的表现?
  3. 在这一方面,我们的问题是迭代次数和词向量维度会怎样影响词嵌入的表现?

通过在三种应用场景下的8个task的实验,得出以下结论:
- 对于模型构建,复杂模型相比简单模型需要更大的语料,但是大多数情况下,简单模型已经足够有效。在语义分析任务中,通过来预测的模型(前五个)比通过的共现来打分的C&W更有效。
- 对于语料,给定领域下,语料越大越好,领域越相关,表现也越好,而语料的领域对于词嵌入表现的影响比语料的大小更加显著。
- 用实际任务的表现来评估过拟合比交叉验证效果更好
- 对于语义分析任务,更大的词向量维度能带来更好的表现,而对于NLP任务,维度影响有限,多数情况下50维足够。

2. MODELS

2.1 Model Overview

分别介绍了Skip-gram 、CBOW、Order、LBL、NNLM 、C&W 以及GloVe模型。

2.2 模型分析

2.1.1 NNLM

NNLM是这些模型的始祖,基本定义了之后的语言模型的诸多要素

2.1.2 LBL

相比NNLM移除了非线性变换函数

2.1.3 C&W

只是对于相关的上下文和目标词进行打分,目标词是上下文中间的那个词。

2.1.4 CBOW 和 Skip-gram

忽略词的词序信息,对于上下文的表示只使用逻辑回归预测目标词(没有了隐藏层),引入负采样代替softmax函数,都是为了减小复杂度。

2.1.5 Order

Order是为了对比词顺序和隐藏层对于词嵌入的分别影响创造的,其保留词顺序信息而去除隐藏层。

2.1.6 GloVe

GloVe是一种词文矩阵(矩阵元素代表上下文和词汇的共现)。

2.2.1 目标词和上下文的关系

主要是五种NNLM衍生模型与C&W模型的区别

2.2.2 上下文的表示

代表是上下文时的嵌入,五种NNLM衍生模型对于上下文的表示是的不同变种。

3. TASKS

3.1 嵌入的语义特性

3.2 作为特征的嵌入

3.3 作为神经网络的初始值的嵌入

4 EXPERIMENTS AND RESULTS

4.1 性能增加比率(RGR)

由于两点原因:

  1. 不同任务的衡量标准处于不同的范围
  2. 不同任务的方差不同
    于是有必要提出一个普适的衡量标准,这里就是PGR:

4.2 Model and Implementation

在8个任务上比较各种模型的性能。

4.2.1 Implementation Details

主要介绍实现任务的工具,模型的设置,各种参数的统一等等。

4.2.2 模型对比

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注