NLP :词向量 word2vec(CBOW、skip-gram)斋藤康毅

斋藤康毅 深度学习进阶 学习笔记

自然语言处理(Natural Language Processing,NLP)

顾名思义,就是处理自然语言的科学。
简单地说,它是一种能够让计算机理解人类语言的技术。
换言之,自然语言处理的目标就是让计算机理解人说的话,进而完成对我们有帮助的事情。
 
语料库

单词的分布式表示

分布式假设:假设 “单词含义由其周围的单词构成”。
基于统计的方法 → 基于推理的方法:word2vec
 
one-hot 向量
 
continuous bag-of-words(CBOW)
CBOW 模型是根据上下文预测目标词的神经网络(“目标词”是指中间的单词,它周围的单词是“上下文”)。
通过训练这个 CBOW 模型,使其能尽可能地进行正确的预测,我们可以获得单词的分布式表示
 
skip-gram 是反转了 CBOW 模型处理的上下文和目标词的模型

 

  • 基于统计的方法 通过对整个语料库的统计数据进行一次学习来获得单词的分布式表示,
  • 基于推理的方法 则反复观察语料库的一部分数据进行学习(mini batch 学习)
GloVe 方法融合了基于推理的方法和基于计数的方法。
该方法的思想是,将整个语料库的统计数据的信息纳入损失函数,进行 mini-batch 学习。据此,这两个方法论成功地被融合在了一起。
 
在自然语言处理领域,单词的密集向量表示称为词嵌入(word embedding)或者单词的分布式表示(distributed representation)
过去,将基于计数的方法获得的单词向量称为distributional representation,将使用神经网络的基于推理的方法获得的单词向量称为 distributed representation。
不过,中文里二者都译为“分布式表示”。
 
  • 模型不同,精度不同(根据语料库选择最佳的模型)
  • 语料库越大,结果越好(始终需要大数据)
  • 单词向量的维数必须适中(太大会导致精度变差)
word2vec 对自然语言处理领域产生了很大的影响,基于它获得的单词的分布式表示被应用在了各种自然语言处理任务中。
另外,不仅限于自然语言处理,word2vec 的思想还被应用在了语音、图像和视频等领域中。
希望读者能切实理解本章所讲的 word2vec 的相关内容,这些知识在许多领域都能派上用场。

 

 
 

posted on 2022-12-14 21:33  HBU_DAVID  阅读(159)  评论(0编辑  收藏  举报

导航