NLP

作者: oword | 来源:发表于2021-04-29 17:00 被阅读0次

    coursera deeplearning
    1、Word Embeddings 词嵌入
    为什么用词嵌入?
    one-hot向量无法表示各个词语之间的关系,因此将词语的one-hot向量映射到维度更低的word embedding词嵌入向量,关系相近的词,在词嵌入向量空间中的位置也相对接近,利用t-SNE算法可以将高维向量映射到2维空间,可以直观地看出各个词语之间的分布关系

    可以通过大量的文本语料库学习到词嵌入,或者下载其他人训练好的词嵌入,将获得的词嵌入矩阵应用到自己的具体的训练任务当中,特别是自己的数据集比较少的时候(除非自己的数据集很大,否则一般不会微调词嵌入),这就是学习迁移

    analogy reasoning 类比推理
    可以利用词嵌入向量进行类比推理,常用的相似函数有余弦函数cos(x)


    image.png

    Embedding Matrix 词嵌入矩阵


    image.png

    E : 词嵌入矩阵
    O : 词的one-hot编码
    e : 词嵌入向量

    2、Learning Word Embeddings 通过训练得到嵌入矩阵
    一、普通方法
    在一句话里面由前几个词经过嵌入矩阵和神经网络后预测输出下一个词进行训练


    image.png

    二、skip-gram 与 cbow
    skip-gram
    根据句子上下文 context 的一个词语预测目标 target


    image.png

    θt : 与词语t有关的需要优化的参数

    Hierarchical Softmax 层次Softmax (理解不完全)
    为了解决计算量大的问题,引入Hierarchical Softmax 层次softmax , 它将词语根据使用频率进行哈夫曼编码形成哈夫曼树,在哈夫曼树的节点中有参数θ,节点输出为sigmoid(θx),根据目标词语编码,找到目标词语的路径,每段路径概率相乘得到目标词语概率

    Negative Sampling 负采样
    为了解决softmax计算量大的问题,除了Hierarchical Softmax ,也可以使用Negative Sampling 负采样方法,根据上下文context词语选出需要预测的词语target,得到正采样,然后通过随机或者根据文本词语分布选出其他 k 个负采样,一共 k+1 个样本,即一个正样本, k 个负样本。然后根据公式


    image.png

    θt : 正负样本对应的参数
    ec : 上下文对应的词嵌入
    σ : sigmoid函数
    只对 k+1 个正负样本进行训练

    cbow与skip-gram


    image.png

    三、GloVe Word Vectors


    image.png

    Xij : 在单词 j 的周围出现单词 i 的频率
    ej : 单词 j 的词嵌入向量
    θi : 单词 i 的参数,作用和 ei 是对称的
    b : 偏执
    与skip-gram&Cbow不同的是GloVe中的词嵌入向量不具有可解释性

    3、应用词嵌入
    一、Sentiment Classification 情绪分类


    image.png

    二、Debiasing Word Embeddings 词嵌入偏见消除
    找到偏差方向,中立化

    相关文章

      网友评论

          本文标题:NLP

          本文链接:https://www.haomeiwen.com/subject/xyzirltx.html