自然语言处理:有关单词含义理解、word2vec单词分布式表示的总结

目录

 一、单词含义理解方法:

二、分布式假设(相关概念):

 三 、word2vec


 一、单词含义理解方法:

  1 基于同义词词典 :单词含义相近的归为同一类,最著名的有WordNet
  2 基于计数的方法 :使用corpus 语料库(大量文本数据)生成单词的共现矩阵(对每个单词统计周围单词的数量生成的矩阵,
  3 共现矩阵的大小为(len(word_to_id),len(word_to_id)),改进:点互信息的共现矩阵,降维后的共现矩阵(密集向量)。
最终得到单词的分布式表示(周围单词出现的频数)。
  4 基于推理的方法(word2vec):通过神经网络推理获得目标单词的分布式表示
  

二、分布式假设(相关概念):

1 单词的含义由其周围的单词组成。

  2 上下文大小:窗口大小,某个居中单词周围的词汇个数,window_size=2,则表示目标词左右各取2个单词

  3 共现矩阵:表示某个单词周围出现单词的数量

  4 点互信息:PMI(x,y)表示随机变量x和y的相关性

 三 、word2vec

1 基于计数的单词含义表示存在的问题:大规模语料库计算共现矩阵的点互信息、降维会耗费大量计算成本

2 基于推理的单词含义表示:
    使用神经网络在mini_batch上反复学习,获得单词的分布式表示;基于上下文推理目标词,模型接收上下文向量作为输入,
输出各个单词出现的概率,使用语料库学习模型,最终做出正确的预测,作为模型学习的产物得到了单词的分布式表示。

3 计数和推理的区别:性能不相上下;更新分布式表示时耗费资源不同;基于推理的方法除了表达单词的相似性外,还能表达单词间更复杂的关系。

4 word2vec:指神经网络模型,CBOW(基于上下文预测中间词),skip-gram(基于中间词预测上下文)

5 简单的CBOW:两个输入(上下文)-->中间层-->输出层--softmax ;得到输入权重W_in为单词的分布式表示

6 skip-gram:一个输入(中间词)-->中间层-->两个输出W_out

7 word2vec高速化:Embedding层、Negative Sampling负采样损失函数,解决输入层one-hot和权重矩阵的乘积,以及中间层之后的计算

8 Embedding:从权重矩阵中选出单词向量所对应的行;Embedding层存放单词的分布式表示

9  word2vec高速化的实现:转化为二分类问题(输出层选出目标词对应的W_out,然后将中间层h*W_out输入到Sigmoid With Loss层)
   Embedding层(输入上下文向量)-->h=0.5*(h1+h2)-->NegativeSamplingLoss(中间层后的EmbeddingDot、包含负采样的损失层)

10 负采样:采样负例进行二分类学习,正例(目标词)和负例的损失之和为最终损失,根据最终损失进行参数更新

11 word2vec的应用:word2vec获得单词的分布式表示,进行迁移学习、自然语言领域(文本分类、文本聚类、情感分析、词性标注等)、将文档表示为向量

12 单词分布式表示的评价:相似度评价、类推问题评价

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲冲冲@chong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值