zoukankan      html  css  js  c++  java
  • 『TensorFlow』读书笔记_Word2Vec

    由于暂时不会深入接触NLP相关领域,所以本章的内容就不过多涉及了,以后会进行学习,应该。

    Word2Vec又称Word Embeddings,中文称为"词向量"、"词嵌入"等。

    One_Hot_Encoder

    图像和语音天然可以表示为稠密向量,自然语言处理领域在Word2Vec之前都是使用离散符号,如"中国"表示为5178,"北京"表示为3987这样,即One_Hot_Encoder,一个词对应一个向量(向量中一个值为1其余值为0),这使得整篇文章变为一个稀疏矩阵。而在文本分类领域,常使用Bag of Words模型,将文章对应的稀疏矩阵进行合并,比如"中国"出现23次,则5178位置特征值为23这样。

    由于One_Hot_Encoder的特征编码是随机的,完全忽视了字词之间可能的关联。而且稀疏向量作为存储格式时,其效率比较低,即我们需要更多的训练数据,另外,稀疏矩阵计算也非常麻烦。

    向量空间模型

    向量表达可以有效的解决这些问题,向量空间模型会将意思相近的词映射到邻近的位置。向量空间模型在NLP中依赖的假设是Distributional Hypothesis,即相同语境中出现的词其意义也相近。

    向量空间模型有两个子类,

    • 其一是计数模型,计数模型会统计相邻词出现的频率,然后将之处理为小而稠密的矩阵
    • 其二是预测模型,预测模型则是根据一个词相邻的词去推测出这个词,以及其空间向量

    Word2Vec就属于一种预测模型,其分为两个模式,

    • CBOW模式从缺词的原始语句推测目标词,适用于小型数据
    • Skip-Gram利用目标词逆推原始语句,对大型语料库效果很好

    预测模型一般是给定前h个词的情况下去最大化目标词的概率,CBOW模型并不需要计算全部词汇表中的可能性,随机选择k个词汇和目标词汇进行计算loss,这个方法由tf.nn.nce_loss()已经实现了。

    以一句话为例;“the quick brown fox jumped over the lazy dog”为例,滑窗尺寸为一时映射关系有:【the、brown】->【quick】这样的,而Skip-Gram中相反,我们希望得到的是(quick,the)、(quick,brown)这样的关系。面对随机生成的负样本时,我们希望概率分布在the的位置尽可能的大。

  • 相关阅读:
    蓝奏云的链接打不开
    数据链路层
    markdown(md)
    物理层
    计算机网络概述
    86五笔学习笔记
    Ubuntu初次使用的问题
    Hello Word!
    快速创建Flask Restful API项目
    Ubuntu环境下部署Django+uwsgi+nginx总结
  • 原文地址:https://www.cnblogs.com/hellcat/p/8068198.html
Copyright © 2011-2022 走看看