深度学习第43讲:自然语言处理之word2vec

图灵汇官网

上一讲我们讨论了自然语言处理中的词汇表征问题,由于 one-hot 表征存在明显缺陷,因此重点介绍了词嵌入表征方法。解决了词汇表征问题之后,自然语言处理的核心任务便是构建语言模型。

从深度学习的角度来看,可以将语言模型视为一个监督学习问题:给定上下文词 X,预测中间词 Y;或者给定中间词 X,预测上下文词 Y。这样的语言模型旨在判断 X 和 Y 组合起来是否符合自然语言规则。

因此,本文的主角——word2vec 就是一种基于神经网络训练的自然语言模型。Word2vec 是谷歌在 2013 年推出的一个工具,它通过将词汇转化为向量,使我们可以定量地分析和挖掘词汇间的联系。Word2vec 实际上是词嵌入表征的一种实现形式,只是这种向量化的表示需要通过神经网络训练获得。

Word2vec 通常有两种版本的语言模型:一种是根据上下文预测中间词,称为连续词袋模型(CBOW);另一种是根据中间词预测上下文词,称为 skip-gram 模型。每种模型都有不同的训练策略,本文将详细介绍这两种模型的基本原理。

CBOW 模型

CBOW 模型的主要应用场景是根据上下文预测中间词。输入是上下文词,输出是中间词的概率。CBOW 模型结构包括输入层、隐藏层和输出层。在 CBOW 中,输入是多个上下文词的 one-hot 向量,输出是中间词的概率分布。

尽管普通神经网络语言模型的输出层通常使用 softmax 函数,但这种方法计算效率较低,尤其是在词汇表较大时。因此,通常会采用分级 softmax 或负采样的技巧来提升训练速度。

Skip-gram 模型

Skip-gram 模型与 CBOW 模型相反,它根据中间词预测上下文词。输入是单个词,输出是上下文词的概率分布。Skip-gram 模型的结构与 CBOW 类似,也包含输入层、隐藏层和输出层。输入是中间词的 one-hot 向量,输出是上下文词的概率分布。

总结

关于 CBOW 和 skip-gram 模型的更多数学细节,例如损失函数的推导等内容,建议参考相关文献。从监督学习角度看,word2vec 是一个多分类问题,但其核心目的是通过神经网络训练得到词汇的向量化表征。这种表征能够将数以万计的词汇从高维空间降至低维空间,从而大大简化后续的自然语言处理任务。

希望这些信息对你有所帮助!如果你有兴趣了解更多相关内容,请参考以下参考资料:

希望这些信息对你有所帮助!如果你有任何疑问或需要进一步的信息,请随时告诉我。

本文来源: 图灵汇 文章作者: 每日咖啡资讯