DEIM Forum 2019 C4-3

ターゲット表現と Neural Attention を利用した観点付き感情極性推定
谷健太郎†

新妻 弘崇††

太田学††† 岡山大学工学部情報系学科 〒 700–8530 岡山県岡山市北区津島中三丁目 1 番 1 号†† 岡山大学大学院自然科学研究科 〒 700–8530 岡山県岡山市北区津島中三丁目 1 番 1 号
E-mail: †plpa5yw5@s.okayama-u.ac.jp, ††{niitsuma, ohta}@cs.okayama-u.ac.jp
あらまし

文章には書き手の感情が含まれており，その観点を予測し，観点に対する感情極性を推定することは観点付き感情極性推定 (ABSA: Aspect-Based Sentiment Analysis) と呼ばれる文書分析のタスクの一つである．そのサブタ
スクの中に，観点 (Aspect Category)，感情極性 (Polarity)，意見の対象となる表現であるターゲット表現 (OTE: Opinion

Target Expression) を推定するタスクがある．本稿では，ターゲット表現と Neural Attention を利用しレストランレ
ビューの観点付き感情極性推定を行う．
キーワード Aspect-Based Sentiment Analysis，Neural Attention
も成功した手法の 1 つである. Collobert ら [3] は単語ベクトル

1 はじめに
文章分類における感情極性推定は, 自然言語処理における基本的なタスクであり, 文章に対して positive, negative などの感情極性ラベルを付与するものである. しかし文章の単純な感情極性推定だけでは不十分な情報しか得られない場合がある. それは文章に複数の異なる観点についての感情極性が含まれていることがあるためである. 観点付き感情極性推定 (ABSA: Aspect-Based

Sentiment Analysis) [1] はこれに対処するためのフレームワーク
である. ABSA では文書から様々な観点を抽出し, その観点に感情極性を付与する. これについて以下の飲食店のレビューの例
文で説明する.

“Sometimes I get good food and ok service.”
この飲食店のレビューには “料理の質” と “サービスの質”の 2 つの観点が存在している. 前者の “料理の質” については FOOD#QUALITY, 後者の “サービスの質” については SER-

VICE#GENERAL といった, 特性の組合せを # で区切った文字列のラベルで表すことにする. これらのラベルは Aspect Categoryと呼ばれる. この例文中で FOOD#QUALITY の対象は “food”,

SERVICE#GENERAL については “service” である. これらのような意見の対象となる表現をターゲット表現 (OTE: Opinion

Target Expression) と呼ぶ. この Aspect Category と OTE のペアに対して付与すべき, positive, negative, neutral のいずれかの感情極性を推定することが ABSA である.
具体的には, ABSA に対して, 朝倉ら [2] が提案したモデルを列である文章に対する Sequential Convolution が多くのベンチ
マークで高い精度を達成したことを報告している. Kim [4] はCollobert らの手法を拡張することで文書分類の様々なベンチマークで既存手法を上回る精度を達成した. 異なる属性を持つ
単語ベクトルをチャンネル方向に連結したものを CNN への入力とし, また異なるフィルタサイズの畳み込み層を複数重ねる
ことで様々な大きさの局所領域を要約できるというものである.

ABSA では, Wang ら [5] と Yanase ら [6] が Neural Attention
を感情極性抽出に利用した. これらはニューラル機械翻訳での利用法が元になっている. ただし, Neural Attention の利用法,

Aspect Category のベクトル表現の方法が異なり, 特に Yanase
らは Aspect Category が Entity#Attribute で表されることから,

Entity, Attribute をそれぞれ別のベクトルとして表現し, 選ばれたベクトルの期待値もそれぞれ別に計算している. そしてそれらを連結し, 感情極性を予測している. Wang ら, Yanase らはともに単語ベクトルを LSTM でエンコードしているが, 朝倉ら
は ABSA では局所領域への注目がより重要になっていると考え, Sequential Convolution を用いている. また Yanase らは Yelp

Academic Dataset 1 による事前学習を行っているが，本稿で基礎とする朝倉らの研究 [2] では, 同データセットで半教師あり学習を行うため, Yelp Academic Dataset を教師データに用いない.

3 観点付き感情極性推定
3. 1 概要基礎とした新しいモデルを提案する. 本稿では朝倉らの考案し文章分類における感情極性推定は自然言語処理における基本たモデルのうち感情極性推定で最も精度の高かった M0 モデル

的なタスクで, 文章に対して positive, negative, neutral の感情極を利用する. また, 朝倉らのモデルでは利用されていなかった性ラベルを付与するものである. しかし文章の感情極性推定だけ

OTE を新たに学習するモデルを提案し, これを朝倉らのモデルでは不十分な情報しか得られない場合がある. それは文章に複と比較する.

数の異なる観点についての感情極性が含まれることがあるためである. 観点付き感情極性推定 (ABSA: Aspect-Based Sentiment2 関連研究文書分類において Convolutional Neural Network (CNN) は最

1：https://www.yelp.com/dataset_challenge/Analysis) [1] はこれに対処するためのフレームワークである.
3. 2 データセット
SemEval-2016 Task 5 Subtask 1 (SE16T5S1) 2 は英語の飲食店や商品レビューのデータセットから ABSA を行うタスクである.
本稿では飲食店のレビューを扱うレストランドメインのデータセットを用いる. 以下はこれらのデータセットの例文の 1 つである. またこの例文に付与されているラベルも同時に示す.

“The sushi is amazing!!!”< O p i n i o n c a t e g o r y =”FOOD#QUALITY”
p o l a r i t y =” p o s i t i v e ”
t a r g e t =” s u s h i ” from =”4” t o =”9” / >図 1: 推定スコア計算モデル<Opinion>内に付与されているラベルが記述されており, Aspect Category は category, 感情極性は polarity の属性に対応している. OTE は target, from, to で表される. 1 レビュー内に複数の<Opinion> が存在する場合もある. category は Entity#Attributeの形で表現され, 全部で 13 種が定義されている. polarity は

positive, negative, neutral の 3 種類がある. target が OTE の単語
もしくは熟語の文字列, from, to は OTE の開始と終了の文字位置を表す.

SE16T5S1 は以下の Slot1, Slot2, Slot3 のサブタスクから構成される.

Slot1 文中に含まれる 0 個以上の Aspect Category を抽出する.
抽出の精度は F 値で評価する

Slot2 文中に含まれる OTE を抽出する, 抽出の精度は F 値で評価する. OTE は単語かフレーズである.

Slot3 与えられたレビュー文と Aspect Category のペアに対して positive, negative, neutral のいずれかの感情極性を付与する.
結果はテストデータ中のすべてのペアに対して正しく付与できた割合で評価する.
本稿では, Slot3 に取り組む.

4 感情極性推定モデル

形をしたモデルに多く利用されている.
本稿では, 入力文字列をトークンに分割し, 分割したトークンに対して Neural Attention を行う.

4. 2 提案モデル
本稿で提案する感情極性推定モデルについて説明する. 先ず,基本となるモデルを図 1 に示す. 図 1 の左上の入力では入力するレビュー本文をトークンに分割する. それぞれのトークンの対応する分散表現のベクトルを並べた行列が X である. それを別の形式にエンコードしたものが H である. 図 1 の中央上から
は Aspect Category にそれぞれ id を割り振ったものを入力する.
これを順に Embedding によってベクトル化し, 並べた行列を Cとし, H と C から Alignment を計算する. 計算後, Alignment とH から Attended を計算し, 最後に Attended と重み WP から感情極性の推定スコアのベクトルをまとめた行列 Y を計算する.
このとき, Alignment と Y から損失を計算する. それぞれの計
算方法については, 4. 2. 1 項, 4. 2. 2 項, 4. 3 節で述べる.

4. 2. 1 記号の定義
ここではモデルを構成する要素を表現するための記号や数式について説明する. L は入力レビューのトークン数とする. N を朝倉らは Neural Attention を用いた感情極性推定モデル, それ

Aspect Category 数とする. d x , dh はそれぞれトークンの分散表を拡張した Aspect Category の推定モデル, 半教師あり学習によ

現のベクトルの次元数とする． dc は Aspect Category に対応す

る感情極性推定モデルの 3 つのモデルを提案した [2]. 本稿でるベクトルの次元数, d p は感情極性数とする. 本稿では Google

は, 朝倉らの研究に用いられた Neural Attention を用いた観点付

News Corpus の 300 次元の単語ベクトルを用いるため d x = 300,

き感情極性推定モデルと Aspect Category の推定モデルを元に

dh = 300, それに合わせ Aspect Category に対応するベクトルのOTE を学習する新しいモデルを構築する.

次元数も dc = 300, 感情極性数は positive, negative, neutral の 3

4. 1 Neural Attention

つの極性を扱うので d p = 3 である. また,

Neural Attention とは, ある状態を生成するにあたり, 情報を選択的に参照する処理を Neural Network に推定させる仕組みである. 情報に対する重み付けを Neural Network で行うことで, 有用なデータを強調し, 不要なデータの影響を弱めることで必要な情報を選択する. Neural Attention は画像のキャプション生成 [7],
文書要約 [8], ニューラル機械翻訳 [9] など Encoder-Decoder の

X はトークン化したレビュー文の各トークンにそれぞれ対応するベクトルを並べた行列,

H は X を変換したベクトルを並べた行列,

各 Aspect Category に対応するベクトルを並べた行列,

Cは
Y はそ

れぞれの Aspect Category に対して, d p 個の Polarity の確率を表すベクトルを並べた行列である. 入力されたレビューの Aspect

Category の一つに対応する行列 C の行番号を cat とする. 入力
されたレビューに与えられている全ての Aspect Category を 1,
それ以外を 0 としたベクトルを C f lags ∈ [0, 1]N とする. レビュー

2：http://alt.qcri.org/semeval2016/task5/

のトークン列に対して, cat に対応したターゲット表現であればと (3) で定義される目的関数である.

1, それ以外を 0 としたベクトルを T f lags ∈ [0, 1] とする.
L

Loss M0 = LossP(2)

LossP = cross entropy(Y[cat, :], Ytrue [cat, :])(3)

本稿では, 朝倉らの提案した教師ありの学習モデルで感情極性の推定精度が最も良い M0 モデルを基礎とする. またそのモデルと同様に H の初期値として X の初期値を利用する. ここで
図 1 に現れる行列の要素を以下で表す.

X = [x1 , · · · , xL ],xi ∈ R ,X∈R

H = [h1 , · · · , hL ],hi ∈ Rdh ,H ∈ RL×dh , (dh = 300)

C = [c1 , · · · , cN ],ci ∈ Rdc ,C ∈ RN×dc , (dc = 300)

Y = [y1 , · · · , yN ],y i ∈ Rd p ,Y ∈ RN×d p , (d p = 3)

dx

L×d x

cross entropy は以下の関数である.
cross entropy(logits, labels) =, (d x = 300)+∑∑

−labels ∗ log(logits)−(1 − labels) ∗ log(1 − logits)(1)

次に本稿で利用する活性化関数について説明する. sigmoid 関数
は次式に従い入力したテンソルの値それぞれについて区間 (0,1)に射影する関数である.

1
sigmoid(x) =1 + exp(−x)(4)
M1 モデルでは, Alignment から推定対象の Aspect Categoryに 対 応 す る ベ ク ト ル を 抽 出 し た Alignment[cat, :] ∈ RL とT f lags ∈ [0, 1]L とのクロスエントロピー LossT を計算し, 定
数 α を掛けて LossP と足し合わせ目的関数 Loss M1 とする. こ
こで Loss M1 , LossT は式 (5) と式 (6) で定義する.

Loss M1 = LossP + α ∗ LossT(5)

softmax 関数は入力を指数関数に入力し, それぞれベクトル単位
内での比率を出力する関数である.

exp(x)
softmax(x) = ∑exp(x)
Alignment ∈ RN×L とは, 各 Aspect Category ごとにトークンに対する Neural Attention での選択の際の重みであり, 次式で計算される.

Alignment = score c(C · HT )LossT = cross entropy(Alignment[cat, :], T f lags )(6)

M2 モ デ ル で は, C f lags ∈ [0, 1]N と 式 (9) で 定 義 さ れ る\
Alignment∈ RN のクロスエントロピー LossC を計算し, 定
数 β を掛けて LossP と足し合わせ目的関数 Loss M2 とする. こ
こで Loss M2 , LossC は式 (7) と式 (8) で定義する.

ここで score c 関数は Alignment を生成する際の活性化関数でLoss M2 = LossP + β ∗ LossC(7)\
LossC = cross entropy(Alignment,
C f lags )

(8)

L−1
∑
\ = softmax( Alignment[:, k])
Alignment(9)

あり sigmoid 関数か softmax 関数のどちらかを利用する. それぞれの変換関数を利用した場合についての比較は 5 節で説明する.

Attended ∈ RN×dh は, Alignment の重みで抽出したベクトル
を各 Aspect Category ごとで加算したものであり, 次式で計算される.

Attended = Alignment · H
WP ∈ Rdh ×d p は加算したベクトルからそれぞれ Aspect Category ごとの感情極性の推定スコアを計算するための重みである. score p 関数は Y を生成する際の活性化関数であり sigmoid
関数か softmax 関数のどちらかを利用する. それぞれの変換関数を利用した場合についての比較は 5 節で説明する.

Y = score p(Attended · WP )4. 2. 2 目 的 関 数

k=0

M3 モデルでは, 定数 α を掛けた LossT と定数 β を掛けた
LossC , LossP を足し合わせ目的関数 Loss M3 とする. ここでLoss M3 は式 (10) で定義する.
Loss M3 = LossP + α ∗ LossT + β ∗ LossC(10)

これらの目的関数において定数 α と β は実験により決定する.

4. 3 評 価 方 法
モデルを評価するに当たり, 推定スコア Y[cat, :] ∈ Rd p の最

本稿で提案するモデルは朝倉らが [2] で提案したモデル M0

大値のみを 1 とみなすことで one-hot 表現として解釈することの, 主に目的関数を変更したものである. なお, 本稿でこの朝倉とする. この解釈で推定したラベルを Y Max [cat, :] ∈ [0, 1]d p とすらのモデルを MA とする. そして提案するモデルを M0, M1,

る. この推定したラベルと正解ラベル Ytrue [cat, :] ∈ [0, 1]d p とのM2, M3 とし, 以下ではこの目的関数について説明する.

比較は以下の式で定義する評価基準の F 値を用いて評価する.

M0 モデルでは, 入力レビューと推定対象の Aspect Category

F 値は以下の式 (11) のものである.

(id: cat) から感情極性を推定するため, 推定対象の Aspect Category に対し抽出した正解ラベル Ytrue [cat, :] ∈ [0, 1]d p と推定ス
コア Y[cat, :] ∈ Rd p からクロスエントロピー LossP を計算し, それを目的関数 Loss M0 とする. ここで Loss M0 , LossP は式 (2) 式

2 ∗ Precision ∗ Recall(11)
Precision + Recall
ここで Precision と Recall は以下で定義される値である.
F S core =Precision =TP
TP + FPる. ただし, SemEval-2016 と SemEval-2015 で重複するレビュー(12)

文があり, そのため重複するものは, SemEval-2015 から削除し,

SemEval-2016 のレビューを用いる. その結果全体で, 学習デー

TP
(13)
Recall =TP + FN
ここでそれぞれの評価基準の意味は次のようなものである.

タが 2268 レビュー, テストデータが 872 レビューとなった.
レビュー文のトークン化には NLTK [10] を用いる. トークン

Precision： 精度, 適合率. 1(Positive) と推定した中で正しく推定できた割合英字についてはトークン化の後, 大文字を小文字へ変換した. まRecall： 再現率. 1(Positive) であるものの中で正しく推定できた割合

た, 単語ベクトル X の初期値は Google News Corpus の 300 次
元の単語ベクトル 3 を用い, 学習中にさらに最適化されるように

F–Score (F–measure)： F 値 (Precision と Recall の調和平均).
1(Positive) と推定したものと 1(Positive) であるものの中で正しく推定できた割合

した.
実験結果の分析のために Alignment も可視化する. 可視化に用いるレビュー文は以下のものである.

上式で用いた TP，TN，FP，FN は以下の値である.

“Good Food, Great Service, Average Prices (For the Strip)”

TP = count nonzero(predicted ∗ actual)<Opinion

TN = count nonzero((predicted − 1) ∗ (actual − 1))
FP = count nonzero(predicted ∗ (actual − 1))t a r g e t =” Food ” from =”5” t o =”9”(14)c a t e g o r y =”FOOD#QUALITY”
p o l a r i t y =” p o s i t i v e ”/ >FN = count nonzero((predicted − 1) ∗ actual)<Opinion

ここで predicted，actual は以下で定義されるテンソルである.

predicted： 推定データ (全レビューでの Y

化後, 記号を表すタグが付与されたトークンは削除し, その他のMax

t a r g e t =” S e r v i c e ” from =”17” t o =”24”[cat, :] ∈ [0, 1]

dpをまとめたテンソル)

actual： 正解データ (全レビューでの Ytrue [cat, :] ∈ [0, 1]d p をま

c a t e g o r y =”SERVICE#GENERAL”
p o l a r i t y =” p o s i t i v e ”/ ><Opinion

とめたテンソル)t a r g e t =”NULL” from =”0” t o =”0”count nonzero() は入力されたデータの 0 以外の数値を数える関c a t e g o r y =”RESTAURANT#PRICES ”

数である. なお, テンソルとスカラの演算は演算対象のテンソル

p o l a r i t y =” n e u t r a l ”/ >要素全てに対する演算と同様で, “*” による演算は同型テンソ
ルにおいて同位置の要素を掛ける演算である. また TP, TN, FP,FN は以下の意味を持つ値である.

5. 2 実 験 方 法
評価実験としては全データを利用した 5 分割交差検定とTP (True Positive)： 1(Positive) と推定し, 結果も 1 で正しかっSemEval-2016 と SemEval-2015 のデータセットで指定されていた個数る学習データとテストデータを利用したホールドアウト法によTN (True Negative)： 0(Negative) と推定し, 結果も 0 で正しる評価を行った. 交差検定による評価では 30 epoch の実験を 3かった個数回行って，その平均の精度で評価する. ホールドアウト法によるFP (False Positive)： 1(Positive) と推定し, 結果が 0 で間違って評価では 40 epoch の実験を 5 回行って，交差検定と同様に 5 回いた個数の平均の精度で評価する. モデルの最適化は Adam アルゴリズ

FN (False Negative)： 0(Negative) と推定し, 結果が 1 で間違っム [11] によって行う. Adam アルゴリズムのパラメータは [11]ていた個数

で推奨されているパラメータを用いる.

5 評価実験

5. 3 実験結果と考察

ここでは 4 節で説明した M0, M1, M2, M3 について, 3. 2 節で述べた SemEval-2016 および SemEval-2015 のデータセットを用いて感情極性推定実験を行い, 精度を比較する.

5. 1 実験データ
実験に利用する学習データ及びテストデータは 3. 2 節で説明した SemEval-2016 および 類似するデータセットである SemEval-

2015 Task 12 Subtask 1 のレストランドメインのデータセット
も実験データに加える. 前者のデータセットは学習データ 2000
レビュー, テストデータ 676 レビュー, 後者のデータセットは学
習データ 1315 レビュー, テストデータ 685 レビューとなってい以下の説明では, 簡単のため次の略記を用いる. score c を Sc,

score p を Sp, softmax を sof, sigmoid を sig と表す. α, β の記載がないモデルでは, その値を 0.0 とする.

5. 4 F値朝 倉 ら の 提 案 す る モ デ ル MA は, モ デ ル M0 で Sc を

sof (Sc: sof), Sp を sof (Sp: sof) に そ れ ぞ れ 設 定 し たも の で あ る.

評 価 す る モ デ ル の パ ラ メ ー タ 等 は Sc:[sig, sof], Sp: [sig, sof], α: [0.0, 0.02, 0.04, 0.06, 0.08, 0.10, 0.20],
β: [0.0, 0.02, 0.04, 0.06, 0.08, 0.10, 0.20] の組み合わせで, 全部で3：https://code.google.com/p/word2vec/

図 5: ホールドアウト法での各モデルにおける F 値の最大値
図 2: 交差検定での F 値の epoch 毎の推移
表 2: ホールドアウト法での組み合わせの順位ごとの組み合わせ数
範囲

M0 M1 M2 M3 Sc[sig:sof] Sp[sig:sof]

100 以内

4

11

22

63

76 : 24

49 : 51

50 以内

3

3

14

30

47 : 327 : 23

10 以内

2

0

8

0

10 : 0

5:5

5 以内

0

0

5

0

5:0

3:2

表 3: 各モデルのその組み合わせと F 値の最大値

図 3: 交差検定での各モデルにおける F 値の最大値

表 1: 交差検定での組み合わせの順位ごとの組み合わせ数
範囲

M0 M1 M2 M3 Sc[sig:sof] Sp[sig:sof]

100 以内

4

8

22

66

78 : 2248 : 52

50 以内

3

3

14

30

47 : 3

23 : 27

10 以内

2

0

5

3

10 : 0

4:6

5 以内

1

0

2

2

5:0

2:3

MA

M0

M1

M2

Sc

sof

sig

sig

sig

sig

Sp

sof

sig

sof

sof

sof

α

–

–

0.02

–

0.02

–

–

–

0.10

0.20

β
交差検定

M3

0.8776 0.8829 0.8794 0.8828 0.8827

ホールドアウト法 0.8595

0.8662 0.8622 0.8680 0.8623

表 1, 表 2 から交差検定, ホールドアウト法どちらも, Sc: sig
であるとき精度が高いことが見て取れる. 一方, Sp は sig, sof のどちらでも同程度の精度を示している. これは, Sc で計算する

Alignment がラベル分類ではなく, 二値分類に相当するためであると考えられる. 一方, Sp では計算する Y はラベル分類だと考えられるが, 置き換えたことによる影響を受けなかった. 本稿
でのクロスエントロピーの計算方法はバイナリクロスエントロ
ピーを利用しているが, このモデルにおいて活性化関数 Sp のsig, sof の違いは結果に大きく影響しなかった. 次に各モデルで最大の F 値を示したパラメータの組み合わせとその時の F 値の最大値を表 3 にまとめる. 表 3 から M1 の F 値が低いことが分
図 4: ホールドアウト法での F 値の epoch 毎の推移

かる. しかし M0, M1 に LossC を加えた M2, M3 の F 値が上昇
していることから, LossC を加えることで精度を向上させる効

196 通りである. 交差検定の結果で F 値の最大値が大きい上位
5 通りのモデルと MA の F 値の推移をグラフ化したものを図 2に示す. また, 上位の 50 通りの最大値を図 3 の左から順に示す.

果があったといえる.

5. 5 Alignment の考察

ここで MA は図 3 でオレンジ色のもので順位は 46 位であった.

Alignment を可視化して考察する. それぞれのモデルの表 3

ホールドアウト法の結果で F 値の最大値が大きい上位 5 通りのパラメータにおいて, 学習の初期 (a) と F 値が最大時 (b) ののモデルと MA の F 値の推移をグラフ化したものを図 4 に示

Alignment を次の 5 つのモデルについて可視化する. MA を可視す. また, 上位の 50 通りの最大値を図 5 の左から順に示す. ここ化したものが図 6, M0 を可視化したものが図 7, M1 を可視化しで MA は図 5 でオレンジ色のもので順位は 34 位であった. 図たものが図 8, M2 は図 9, M3 は図 10 に示し, F 値の順に並べた.

3, 図 5 から最大値の差はわずかであることが分かる. そこでそどれも学習が進み F 値が大きくなることで, 推定における重要

れぞれのパラメータ等の組み合わせで一定の順位以内に入って度の高いトークンと Aspect Category に対応する Alignment のいる組み合わせの数を表 1, 表 2 に示す.

値が上昇していることが分かる. また, 逆に推定における重要度

(a) F 値: 0.694(a) F 値: 0.771(b) F 値: 0.862(b) F 値: 0.869

図 6: MA における Alignment の可視化

図 7: M0 (Sc: sig, Sp: sig) における Alignment の可視化の低いトークンと Aspect Category に対応する Alignment の値

次に M2 の Alignment の図 9 では, トークン, Aspect Cate-が低下している. これらから Neural Attention が適切に機能してgory ともに妥当な値が上昇している. 例えば, “food”, “service”,

いることが確認できた.

“prices” などで適切な Aspect Category の値が高くなっている.

また, MA を可視化した図 6 においてはどの Aspect Category

そして, “good”, “great” でもある程度適切な分布が見られ, “for”,

においても, 特定のトークンに値が集中している. 例えば, “aver-“the” では比較的低い値となっている. 可視化の結果と最も性

age” の値は多くの Aspect Category において高い値を示してい能が高かったことから他と比べ, 適切な Neural Attention によるるが, 他のトークンは相対的に低い値となっている.

トークンの選択が行えたといえる.

一方, M0 を可視化した図 7 では, 同じトークンへの Alignment

最後に M3 の Alignment の図 10 では, トークン, Aspect Cate-の集中が起こっていない. MA と比較することで, score c 関数

gory ともに適した値が上昇しており, さらに推定における重要を sigmoid 関数にするモデルの推定する Alignment がより妥当度の低いトークンの値が低下している. 5. 4 節に示したように,なものになることを確認できた.

交差検定では高い結果を出したのはこのためであるが, ホール

M1 の Alignment を示す図 8 では, M0 よりも強く推定におけ

ドアウト法では結果が良くないことから, これはテストデータ

る重要度の低いトークンに対応する Alignment の値が低下してが交差検定よりもわずかに少量になっていることから安定したいる. 例えば, 値の低くなっている “for”, “the” はどのような文で結果が出せていないためだと考える.

もよく使われ, 提案モデルでは推定における重要度の低いトークンであり, 学習が進むに毎に Alignment の値が低くなっている. しかし, 同時に推定における重要度の高い “good”, “great” な
どの値が上昇していない. すなわち, これは OTE を強調することで不要なトークンの除去ができたが, 同時に必要なトークンに対応する Alignment の値が上昇しづらくなっているといえる.
これによって, M1 において性能の低下が起こったと考えられる.

6 おわりに本稿では, 観点付き感情極性推定を行うモデルを新たに構築した. 具体的には SE16T5S1 の Slot 3 を行う朝倉ら [2] のNeural Attention を用いた感情極性推定のモデルを改良し, さらに Aspect Category や OTE も同時に学習させるよう拡張したモデルを提案した.

(a) F 値: 0.774(b) F 値: 0.861
図 8: M1 (Sc: sig, Sp: sof, α: 0.02) における Alignment の可視化改良として, Neural Attention による選択を行うための重みである Alignment の計算を行う際の活性化関数 score c と出力 Y の計算を行う際の活性化関数 score p を, softmax 関数から sigmoid関数に置き換えた. score c 関数を sigmoid 関数に置き換えたことで精度の向上を確認した. しかし, score p 関数を sigmoid 関数に置き換えても, 精度に大きな影響は確認できなかった. また,
拡張として行った Aspect Category 及び OTE を利用した損失関数も目的関数に利用するモデルでは, Aspect Category に関する拡張により推定精度の向上を確認した. OTE に関する拡張では
本稿の提案モデルにおいて推定精度の向上は見られなかったが,Aspect Category に関する拡張と併用したモデルにおいて精度の向上を確認した. これにより, Neural Attention における重みの学習方法に新たに情報を与えることで, 精度を向上させる効果があることが確認できた.
また今後の課題としては, SE16T5S1 の Slot3 以外のタスクに対する応用や朝倉らの半教師あり学習モデルへ適用などが考え
られる.
文

献

[1] Bing Liu. Sentiment Analysis and Opinion Mining, 2012.
[2] 朝倉遼, 新妻弘崇, 太田学. “Aspect-Based Sentiment Analysis における Neural Attention の効率的な利用方法”. 第 10 回データ工学と情報マネジメントに関するフォーラム (DEIM2018), G4-4,
2018.

(a) F 値: 0.746(b) F 値: 0.872
図 9: M2 (Sc: sig, Sp: sof, β: 0.1) における Alignment の可視化

[3] Ronan Collobert, Jason Weston, Léon Bottou, Michael Karlen, Koray
Kavukcuoglu, and Pavel Kuksa. Natural Language Processing (Almost) from Scratch. J. Mach. Learn. Res., Vol. 12, pp. 2493–2537,
2011.
[4] Yoon Kim. Convolutional Neural Networks for Sentence Classification. In Proceedings of the 2014 Conference on Empirical Methods in
Natural Language Processing, EMNLP 2014, October 25-29, 2014,
Doha, Qatar, A meeting of SIGDAT, a Special Interest Group of the
ACL, pp. 1746–1751, 2014.
[5] Yequan Wang, Minlie Huang, xiaoyan zhu, and Li Zhao. Attentionbased LSTM for Aspect-level Sentiment Classification. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 606–615, 2016.
[6] Toshihiko Yanase, Kohsuke Yanai, Misa Sato, Toshinori Miyoshi,
and Yoshiki Niwa. bunji at SemEval-2016 Task 5: Neural and Syntactic Models of Entity-Attribute Relationship for Aspect-based Sentiment Analysis. In Proceedings of the 10th International Workshop
on Semantic Evaluation (SemEval-2016), pp. 289–295, 2016.
[7] Kelvin Xu, et al. Show, Attend and Tell: Neural Image Caption Generation with Visual attention. CoRR, Vol. abs/1502.03044, 2015.
[8] Alexander M. Rush, Sumit Chopra, and Jason Weston. A neural attention model for abstractive sentence summarization. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 379–389, 2015.
[9] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neuralmachine translation by jointly learning to align and translate. arXiv
preprint arXiv:1409.0473, 2014.
[10] Edward Loper and Steven Bird. Nltk the natural language toolkit.
Association for Computational Linguistics, Vol. 1, pp. 63–70, 2002.

(a) F 値: 0.785(b) F 値: 0.866
図 10: M3 (Sc: sig, Sp: sof, α: 0.02, β: 0.20) における Alignment の可視化[11] Diederik P. Kingma and Jimmy Ba. Adam: A Method for Stochastic
Optimization. CoRR, Vol. abs/1412.6980, 2014.