这是word2vec的作者在《Efficient Estimation of Word Representations in
Vector Space》这篇论文的基础上进行扩展的另一篇论文。
详情看我在语雀做的笔记:
《Distributed Representations of Words and Phrasesand their Compositionality》论文翻译和解读 · 语雀
下面只摘抄一小部分
1、什么是Word Embedding词嵌入?
它们是特定单词的向量表示。
2、Word Embedding 有什么作用?
词嵌入是最流行的文档词汇表表示之一。它能够捕获文档中单词的上下文、语义和句法相似性、与其他单词的关系等。
3、为什么提出word2vec?
Word2Vec 是使用浅层神经网络学习词嵌入的最流行的技术之一。
文本数据的传统(基于计数)特征工程策略涉及属于通常称为词袋模型的模型家族的模型。这包括词频、TF-IDF(词频-逆文档频率)、N-gram等。虽然它们是从文本中提取特征的有效方法,但由于模型的固有性质只是一堆非结构化单词,我们会丢失每个文本文档中附近单词周围的语义、结构、序列和上下文等附加信息。这为我们探索更复杂的模型提供了足够的动力,这些模型可以捕获这些信息并为我们提供作为单词向量表示的特征,通常称为嵌入。
4、word2vec的一些概括。
该模型由 Google 于 2013 年创建,是一种基于预测性深度学习的模型,用于计算和生成高质量、分布式和连续的单词密集向量表示,从而捕获上下文和语义相似性。本质上,这些是无监督模型,可以接收大量文本语料库,创建可能单词的词汇表,并为表示该词汇表的向量空间中的每个单词生成密集的词嵌入。通常你可以指定词嵌入向量的大小,向量的总数本质上就是词汇表的大小。这使得这个密集向量空间的维数远低于使用传统词袋模型构建的高维稀疏向量空间。Word2Vec 利用CBOW和skip-gram两种不同的模型架构来创建这些词嵌入表示。
虽然 Word2Vec 系列模型是无监督的,但这意味着您可以只给它一个语料库而无需额外的标签或信息,它可以从语料库构建密集的词嵌入。但是,一旦您拥有此语料库来获取这些嵌入,您仍然需要利用有监督的分类方法。但我们将在语料库内部进行,无需任何辅助信息。
1、摘要
最近介绍的连续词袋模型(Skip-gram)对于学习高质量的分布式向量表示是一个有效的方法,该方法可以获取大量精准的语法和语义的单词关系。在这篇论文中,我们提出了几个扩展,提高了向量的质量和训练速度。通过对常用词的二次抽样,我们可以获得显著的加速效果,同时还可以学习到更有规律的单词关系。我们还描述了一种简单替换分层Softmax的方案,称之为负采样。
词语表征的一个固有局限性是他们不关心词序,而且无法表达惯用短语。
- 例如,“波士顿环球”是一份报纸,所以它不是“波士顿”和“环球”的意思的自然组合。
本文提出了一种在文本中查找短语的简单方法,并且表明学习数以百万计短语的良好向量是有可能的。
2、介绍
在一个向量空间中单词的分布式表示可以帮助学习算法在NLP任务中通过把相似的单词分组来获得更好的性能。
- 补充:单词的分布式表示:把一句话或一段话当做固定长度的向量表示。如果能够用一个向量精准地表示一句话,那么可以直接用这个向量用于文本分类、信息检索、机器翻译等等各个领域。
- 比如"The dog is running on the grass",把这句话表示成一个300维的向量,这个向量包含了这个句子的一些信息,可以用这个向量来做一些任务。字符的向量表示为char embedding,词的向量表示为word embedding,句子的向量表示叫sentence embedding。得到句子的分布式表示之后可以将这个向量用于文本分类、信息检索、机器翻译等。如果能将一个句子准确地表示成向量,那就可以用这个向量来做各种任务。
最近,Mikolov等人介绍了Skip-gram模型,一种有效的从大规模非结构化文本数据中学习高质量单词向量表示的方法。与以前用于学习单词向量的大多数神经网络架构不同,训练Skip - gram 模型(见图1)不涉及密集的矩阵乘法。这也使得训练十分的有效: 一种优化的单机实现一天以内能够训练超过1000亿个单词。
用神经网络计算单词表示法是非常有趣的,因为学习的向量明确的编码了许多语言规则和模式。有些令人吃惊地是,这些模式中的许多都可以表示为线性平移。例如,向量计算: vec("Madrid") - vec("Spain") + vec("France") 计算的结果和其他任何按此向量表示,vec("Paris")是最接近的。