magicpieh28 / Paper-Summary

1 stars 0 forks source link

Context-Sensitive Lexicon Features for Neural Sentiment Analysis(2016) -uncompleted #8

Open magicpieh28 opened 5 years ago

magicpieh28 commented 5 years ago

about this paper

Author: Zhiyang Teng, Duy-Tin Vo, Yue Zhang Link: https://www.aclweb.org/anthology/D16-1169

多くの手法は、文脈を考慮せずsentiment lexiconを用いる。 著者らは、文脈に敏感なlexicon-based手法を提案する。 sentiment analysisタスクにsentiment lexiconとニューラルネットワークの組み合わせモデルを用いるのはこれが初めてである。

What are problems they want to solve?

problems

SemEvalのタスクでは、主にBoWモデルにlexicon-based手法を使っているが、意味合成性(Polanyi and Zaenen, 2006; Moilanen and Pulman, 2007; Taboada et al., 2011)をうまくコントロールできない問題と、単語の意味の変化にうまく対応できない問題(Devitt and Ahmad, 2007; Denecke, 2009)がある。 2つ目の問題の例:cold beer, cold pizza, cold personでのcoldの意味は同じではない

how to solve

文章中の意味要素を掴み出すために、recurrentニューラルネットワークを用いる。 lexicon sentimentの重み和と文章レベルのバイアスを使い、文章のsentimentの程度を計算する。 核になるアイディアは、全域的な統語上の依存性と意味情報を掴むためにbi-LSTMを用いることである。 また、Choi and Cardie(2008)の意味合成性を学習するための線形モデルと違い、意味を構成する特徴を自動的に得られるようにRNNを使う:意味合成性の重み和表現は、Taboda et al., 2011よりも簡単である。 sentiment lexiconを活用すると分類精度を上げることができ、単語の重みを隠れ変数として自動的に学習する。

model architecture

image

入力文章 s = w_1 w_2 ... wn D = sentiment lexicon s中の主観的単語 = w{j1}^D w{j2}^D ... w{jm}^D

image

: sentiment scoreの計算式(sentiment value) w{jt}, γ{jt} = sentiment重み b = バイアス sentiment valueと文章はpolarityを表すサインと強みを表す絶対値により実数として表現される。

上のモデルの図から見ると、入力層・特徴層・出力層に分かれている。 1)入力層に入力される文章の中の単語をdense実数ベクトルにマッピングする。

2)特徴層は、全体シークエンスにbi-LSTMをかけて地域的ではない意味情報を抽出する。 image

w_t --[Embedding]--> x_t \odot = element-wise掛け算 \sigma = sigmoid関数 W_i, U_i, V_i, b_i, W_g, U_g, W_o, U_o, V_o, b_o = LSTMパラメータ h_t^L, ht^R = bi-LSTMから得られる両方向の隠れベクトル 両方向にそれぞれ異なるパラメータを適用する。 γ = sentiment重み w{\<e>} = left-to-right LSTMの終わりを表し、he^Lと表記する。 w{\<s>} = right-to-left LSTMの始めを表し、h_s^Rと表記する。

3)出力層は、文章のsentiment biasをなるべく総合し各sentiment単語を計算する。 image image

入力文中に現れるlexicon単語w{jt}が与えられた時、特徴層から得られた隠れベクトルh{jt}^Lとh{jt}^Rを計算し、重み変数τ{jt}を計算する。

image

2tanh関数を選んだのは、学習された重みを有用にするためであり、2は範囲が[-1, 1]だったものを[-2, 2]にしてくれるため、例えば、1の重みを持っている単語をマッピングし文章sentimentに同一の値をもたらせる。

image

: 基本的に文章のsentimentスコアはこの式で計算する。 各単語のスコアの平均を求めることで、S{base}は[-2α, 2α]を従う。 W{ps}^L, W{ps}^R, b{ps}, W{pw}, b{pw} = モデルパラメータ

image image

全体のバイアスを求めるときにも重みを計算した上のモデルを用いる。 バイアスの値は、文章全体の情報に影響されるので、h_s^Rとhe^Lを使う。 W{pb}^L, W{pb}^R, b{pb}, W_b, b_p^L = パラメータ

ベーススコアであるS{base}とバイアスS{bias}が求められたら、 例えば、"not a bad movie at all"の場合、"bad"と"not"の重みの和によりスコアが計算される。

experiment

dataset

lexicon dataset

setting

results

conclusion

code

https://github.com/zeeeyang/lexicon_rnn