zoukankan      html  css  js  c++  java
  • 序列模型-NLP和词嵌入

    1、词汇表征:

    one-hot表征、词嵌入

    2、学习词嵌入

    word2vec:Word2vec算法是一种简单的计算更加高效的方式来实现对词嵌入的学习

    Skip-gram:所做的是在语料库中选定某个词(Context),随后在该词的正负10个词距内取一些目标词(Target)与之配对,构造一个用Context预测输出为target的监督学习问题,训练一个如下图结构的网络:

    o(c)  -> E -> e(c) -> O(softmax) -> y_

    softmax:输出context下target出现的条件概率:

    p(t|c) = exp(θte(c))/∑exp()

    Word2vec中还有一种CBOW模型,它的工作方式是采样上下文中的词来预测中间的词,与Skip-gram相反

    负采样模型中构造了一个预测给定的单词是否为一对Context-target的新监督学习问题,网络结构可以是skip-gram或者cbow

     

     训练过程中,从预料库中选定Context,输入的词为一对Context-Target,则标签设置为1。另外任取k对非Context-Target,作为负样本,标签设置为0.只有较少的数据,k的取值5~20的话,能达到比较好的效果;拥有大量的训练数据,k的取值取2~5较为合适。原网络中的softmax变成多个Sigmoid单元,输出Context-Target(c,t)对为正样本(y=1)的概率

    模型中一般采用以下公式来计算选择某个词作为负样本的概率:

    其中代表语料库中单词wi的出现的频率

    softmax:

    将n维实值向量转化为取值范围在(0,1)之间的n维实值向量,且和为1,多用于表征函数,softmax(x) = softmax(x+c);

  • 相关阅读:
    Sublime Text 3 快捷键汇总
    jquery远程引用地址大全
    我的网站以后要如何设计
    word中特殊符号的替换
    如何有效地提升JavaScript 水平?
    HTML5坦克大战(2)绘制坦克复习
    JavaScript中的对象冒充
    让年轻程序员少走弯路的14个忠告
    ASCII
    可以用旋转法绘制平行四边形
  • 原文地址:https://www.cnblogs.com/lxw003/p/8602765.html
Copyright © 2011-2022 走看看