美文网首页
2019-06-15 情感分类中 WordEmbedding

2019-06-15 情感分类中 WordEmbedding

作者: LoveAnny | 来源:发表于2019-06-15 15:14 被阅读0次

    wordvector

    NLP 任务中最基本的运算单元应该是词了,处理的所有词组成在一起就行成了词库,但是词库是稀疏的,所以我们需要将词转换成计算所熟知的实数,这种表示方式就是词嵌入(Word Embedding)。

    One-hot

    最简单也是最直接的方式应该是使用One-hot方法,假设词表的数量是V,则每一个词就是一个长度为V的向量,所有词依次排开,每个词相对应位置为1,否则就是0,该种方式其实就是一个词和向量的映射表。但是这种方法表示方便,直接,但是有如下几个缺点:

    1. 词向量的长度和词库长度相关,如果词库很长,则每个词表示一个非常长的向量,其中只有一个地方为1,其余都是0,表示效率低下
    2. 无法表示词和词之间的关系,比如:good 和prefect 两个词都表示好的意思,但是拿两者之间的cos 距离是0,也就是说两者无关系,这明显是不合适的。

    所以人们为了更好表示Word,就想出了很多词嵌入方法。

    基本假设

    在将词表示成向量时,人民大多基于下面假设:“如果两个词有相同上下文,则两个词就有相似的含义”,这个观点在一些NLP任务中很直接,也很有用。比如对于POS任务,两个词有相同的使用方法,则两个词的词性非常有可能是相同的。但是对于特定任务时却有很大偏差。比如情感分类任务,Good 和Bad 有相同的词性,但是意义却完全相反。

    所以人们如上问题提出过很多Word Embedding方法。

    方法

    Context-base

    Context-Base方法,这种方法就是利用上下文信息,计算当前词和上下文的关联度如何,尽可能提高训练数据中上下文关联度,降低噪音关联度。其损失如下:

    1.png

    其中f(w,h)表示经过神经网络计算当前词和上下文相关度。w^n表示噪音,噪音可以是词库中随机搜索的词。从loss 可以看出,上下文相关度越高越好,而噪音计算的相关度越低越好。

    sentiment-base

    Sentiment-Special Base,这种方法和Context-Base的假设不同,这是一种积分模型,只要对情感的预测时正确的概率比错误概率高就可以不需要对gold polarity 预测达到最高。损失如下:


    2.png

    其中 f_0^rank表示预测正类分数,f_1^rank表示预测负类分数,\delta是一个指示函数,当gold 是True 是为1,否则为-1。

    skip-gram

    Skip-Gram 应该是最熟悉的一种word embedding了,其原理是使用中间词预测上下文。


    3.png

    这种方法应该不用多数

    extend sentiment-base

    这种方式是对sentiment-base 的一种扩展,或者说是 sentiment-base+skip-gram 的组合,该种方法就是把skip-gram 和sentiment-base显性表示。不仅需要预测出上下文还要对句子的整体polarity最初正确预测。

    4.png

    相关文章

      网友评论

          本文标题:2019-06-15 情感分类中 WordEmbedding

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