热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NLP:词向量word2vec(CBOW、skipgram)斋藤康毅

斋藤康毅深度学习进阶学习笔记自然语言处理(NaturalLanguageProcessing,NLP)顾名思义,就是处理自然语言的科学。简单地说,它是一种能够让计算机理解人类语言的

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


自然语言处理(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 的相关内容,这些知识在许多领域都能派上用场。

 

 

 



推荐阅读
author-avatar
少年放肆的温存
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有