快捷搜索:  汽车  科技

使用word2vec进行预测(Word2Vec深度学习的一小步)

使用word2vec进行预测(Word2Vec深度学习的一小步)将单词表示为唯一的、离散的 ID 还会进一步导致数据稀疏,还意味着我们可能需要更多的数据才能成功训练统计模型。使用向量表示就可以避免这些问题。但是,传统的自然语言处理系统通常将单词视为离散的原子符号,所以 cat 可以被表示为 Id537,dog 可以表示为 Id143。这些编码是任意的并且不能向系统提供任何关于各个原子符号之间关系的信息。这意味着,模型在处理 dogs 的数据时不能与模型已经学习过的 cats 的特征联系起来(如它们都有是动物,都有四条腿,都是宠物等等)。引言Word2Vec 模型用来学习单词的向量表示,我们称为「词嵌入」。通常作为一种预处理步骤,在这之后词向量被送入判别模型(通常是 RNN)生成预测结果和执行各种有趣的操作。 图像和声音处理系统所需丰富、高维的数据集,按各原始图像的像素强度被编码为向量的形式,所有信息都被编码在这样的数据中,因此就可以在系统中建立各种实体

雷锋网按:本文为雷锋网字幕组编译的技术博客,原标题 A、Word2Vec — a baby step in Deep Learning but a giant leap towards Natural Language Processing,作者为机器学习工程师 Suvro Banerjee

翻译 | 于志鹏 林骁 校对 | 程思婕 整理 | 孔令双

原文链接:

https://towardsdatascience.com/word2vec-a-baby-step-in-deep-learning-but-a-giant-leap-towards-natural-language-processing-40fe4e8602ba

引言

Word2Vec 模型用来学习单词的向量表示,我们称为「词嵌入」。通常作为一种预处理步骤,在这之后词向量被送入判别模型(通常是 RNN)生成预测结果和执行各种有趣的操作。

为什么要学习 word2vec

图像和声音处理系统所需丰富、高维的数据集,按各原始图像的像素强度被编码为向量的形式,所有信息都被编码在这样的数据中,因此就可以在系统中建立各种实体(如 cat 和 dog)之间的关系。

但是,传统的自然语言处理系统通常将单词视为离散的原子符号,所以 cat 可以被表示为 Id537,dog 可以表示为 Id143。这些编码是任意的并且不能向系统提供任何关于各个原子符号之间关系的信息。这意味着,模型在处理 dogs 的数据时不能与模型已经学习过的 cats 的特征联系起来(如它们都有是动物,都有四条腿,都是宠物等等)。

将单词表示为唯一的、离散的 ID 还会进一步导致数据稀疏,还意味着我们可能需要更多的数据才能成功训练统计模型。使用向量表示就可以避免这些问题。

让我们来看一个例子

传统的 NLP 方法涉及许多语言学领域知识,要求你理解诸如「音素」及「词素」等术语,因为语言学中有很多分类,音素学和词素学是其中的两种。让我们来看看传统的 NLP 方法如何尝试理解下面的单词。

假设我们要获取关于单词的一些信息(诸如它所表达的情绪、它的定义等),运用语言学的方法我们将词分为 3 个部分。即前缀、后缀、词干。

使用word2vec进行预测(Word2Vec深度学习的一小步)(1)

比如,我们知道「un」前缀表示相反或否定的意思,我们也知道「ed」可以指定表示单词的时态(过去时)。我们可以从「interest」的词干中很容易的推断出整个词的含义和表达的情感. 是不是非常简单?然而,当考虑所有不同的前后缀时需要非常娴熟的语言学家来理解所有可能组合的含义。

使用word2vec进行预测(Word2Vec深度学习的一小步)(2)

深度学习,本质上就是表示学习。我们将要采用一些方法通过大数据集的训练来创建单词的表示。

词向量

使用word2vec进行预测(Word2Vec深度学习的一小步)(3)

假设我们用一个 d 维向量表示每一个单词,假设 d=6。我们想要为句子中的每个不重复单词创建单词词向量。

使用word2vec进行预测(Word2Vec深度学习的一小步)(4)

现在来考虑一下如何赋值,我们希望可以用某种方式来表示这个单词和它的上下文、含义、语义。一种方法是创建一个共生矩阵。

共生矩阵是这样一种矩阵,它包含这个词在所有语料库(或训练集)中和所有其他词组合出现的次数。我们来看一下共生矩阵的样子。

使用word2vec进行预测(Word2Vec深度学习的一小步)(5)

猜您喜欢: