言語処理学会 第25回年次大会 発表論文集 (2019年3月)

Variational AutoEncoder を利用した感情分析の領域適応
芝山 直希
新納 浩幸
古宮 嘉那子茨城大学 工学部 情報工学科{15t4032g, hiroyuki.shinnou.0828, kanako.komiya.nlp}@vc.ibaraki.ac.jp

1

はじめに

2

関連研究

本論文では Variational AutoEncoder (以下、VAE）

ターゲット領域のラベル付きデータを用いない教師を次元縮約器として利用し、文書データをソース領域なしの領域適応の手法としては、一般に素性ベースのとターゲット領域の共通の空間に埋め込む。その埋め手法が用いられる [4]。素性ベースの手法の基本的な考込みベクトルを追加の素性として利用することで、感え方はソース領域とターゲット領域の共通空間にそれ情分析の領域適応を試みる。

ぞれのデータをマッピングし、共通空間上で学習と識感情分析とはレビュー文書（例えば映画のレビュー）別を行うというものである。共通空間の求め方としてが肯定的なものか、否定的なものかを判定するタスクでは、単純には、ソース領域とターゲット領域を合わせたある。これは文書分類の一種であり、教師あり学習を空間を特異値分解などで次元縮約を行えばよい。古典用いて解決できる。しかし判定先の文書が学習データ的手法である SCL [1] や近年提案されている CORALの領域とは異なる領域の文書（例えば書籍のレビュー）[6] なども、この考え方に基づいている。本論文ではこの次元縮約する部分に VAE を利用したものと捉えられる。次元縮約したベクトルをそのまま利用することもできるが、SCL のように基のベクトルに連結して利用する方が、精度が高くなるため、本論文でもそのような使い方を行う。

であった場合に、教師あり学習で得られた分類器の精度が下がってしまう。これが領域適応の問題である。
領域適応の問題に対する有効な手法の一つとして、データをソース領域とターゲット領域の共通の空間に埋め込むことが行われている。共通の空間で学習と識別を行えば、領域適応の問題は起こらない。問題はどのようにして共通の空間に埋め込むかである。簡易な方法として、ソース領域の空間とターゲット領域の空3間を合わせた空間を考え、主成分分析（特異値分解）を用いて次元を縮約することが考えられる。一方、近年、深層生成モデルとして VAE が提案された [3][2]。

VAE の Encoder はデータに対してその潜在変数を求めるが、その潜在変数はデータを次元縮約したベクトルと見なすこともできる。このため VAE から構築できる潜在変数を、ソース領域とターゲット領域の共通の空間に埋め込まれたベクトルとして扱える。本論文
では上記の考えに基づき、VAE を次元縮約器として利用し、感情分析の領域適応に応用する。具体的には
ソース領域とターゲット領域の文書ベクトル x を VAEの Encoder により z に次元縮約する。学習と識別には x の代わりに x と z を連結した [x; z] を用いる。実験では次元縮約の手法として特異値分解（SVD）を用いた物と比較し、感情分析の領域適応に対して、VAEの利用可能性について検討する。

VAE による次元縮約
次元縮約の標準的手法は特異値分解である。これは行列分解を利用した低ランク近似であり、次元縮約は線形変換により行われるため、その能力には自ずと限界がある。そのため非線形な変換法がいくつか提案されている。本論文で行う VAE による次元縮約もその１つと捉えられる。

VAE は生成モデルであり、データ x を生成する確率モデル p(x) を構築するのが目的である。基本的には p(x) の対数尤度を最大化するモデルを求めればよい。Jensen の不等式を用いると以下が示せる。
∫log p(x) ≥ −DKL (q(z)||p(z)) + q(z) log p(x|z)dz(1)
VAE は p(x) の対数尤度を最大化する代わりに、その下限である式 1 の右辺を最大化する。つまり式 1 の右辺の符号を反転させた式 2 を最小化することで p(x)― 570 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

のパラメータを求める。

1. 全データを使用して学習∫
DKL (q(z)||p(z)) −q(z) log p(x|z)dz

(2)

ソース領域

訓練

ターゲット領域

式 2 で z は x の潜在変数であり、q は z の分布である。

VAE
Encoder

Decoder

2. 学習したEncoderからZを得る

q に制限はなく、正規分布に設定すれば、式 2 の第 1項は解析的にパラメータの式に変形される。また式 2

ソース領域

Z(ソース領域)
Encoderの第 2 項は Reparametrization trick を用いることで、ターゲット領域パラメータのサンプリングの形で表現できる。

Z(ターゲット領域)

3. 元データとZを結合する

図 1 に VAE のネットワーク図を示す。VAE では

append

ソース領域

データ x からその潜在変数 z への Encoder と z からZ(ソース領域)

ターゲット領域x を生成する Decoder を学習している。本論文では

Z(ターゲット領域)
appendVAE を次元縮約として利用する。z を x の次元縮約したベクトルとして考える。
図 2: 提案手法概要

最小化|| x − f ( z ) ||2

DKL ( N ( µ , σ 2 ), N (0,1))

実験

5f ( z)

実験には Webis-CLS-10[5] の日本語データ1 を使用
p: Decoder

した。このデータセットは books, DVD, music の 3つの領域を持ち、それぞれ Bag of Words 形式で記録

z= µ + εσµ

された文章データの集合である。各データは positive,negative の二値に分類・ラベル付与された Amazon カ

σ2

スタマーレビューであり、訓練用、テスト用、その他(Unlabeled) の 3 つのファイルに分けられている。
q: Encoderε  N (0,1)

5.1x

前処理

まず全領域の全データを用いて Bag of Words 形式か
図 1: VAE のネットワーク図

ら配列上の index に対応させる変換表を作成した。良い結果を得るために、作成工程において Unlabeled ファイルを最後に読み込むようにした。Unlabeled ファイ

4ルの情報を含まない変換表も別途作成した。

提案手法

その後変換表を元に Python のライブラリの一つでここでは以下の 3 ステップにより訓練およびテスある SciPy の疎行列型の配列に変換して保存した。この際訓練用、テスト用のデータは 2 つの変換表から次トのデータを変換する（図 2 参照）。

元数の小さい配列と大きい配列にそれぞれ変換し保存

1. ターゲット領域とソース領域の全データを用いてVAE の学習を行う。

した。以後 Unlabeled データに対応した変換表を用いて作成したデータを Large データ、対応していない変2. 各領域のデータ x に対して VAE の Encoder を換表を用いて作成したデータを Small データとする。

用いて、その次元縮約ベクトル z を得る。

3. x に z を連結したデータ [x; z] を作成する。
以降の分類器の学習、テストデータの識別は、上記の [x; z] を用いて行う。

1 [5] の本来のタスクはクロスリンガル感情分析であるが、各言語のデータは「対象言語での感情分析をタスクとするデータセット」として流用できる。

― 571 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

5.2

提案手法の適用領域のテストデータを識別した結果である。SVD は実験を簡略化する為、全ての Large データを用いてVAE を学習した。VAE は Chainer のサンプルプログラムのモデルを利用した。学習時のハイパーパラメー

特異値分解を利用して次元縮尺する領域適応の手法、VAE は VAE を利用して次元縮尺する領域適応の手法（提案手法）を表す。

タを表 1 に示す。

表 3: 実験結果（正解率 %）表 1: Variational AutoEncoder 学習時のモデルのパ

領域適応

None

SVDVAE

ラメーター
epoch 数

B→D

77.75

77.65

76.65

100

B→M

72.50

75.20

74.80

隠れ層の次元数

100

D→B

77.65

76.90

77.00

縮約後ベクトルの次元数

100

D→M

76.40

77.65

77.75

ミニバッチサイズ

400

その後、学習したモデルの Encoder を用いて訓練・テスト用の Large データの次元縮約を行なった。そしM→B

76.65

76.80

75.90

M→D

80.00

79.45

78.70

平均76.8377.28

76.77て、各 Small データに対応する縮約された Large デー
タを付加した。付加が完了したデータを実験データと提案手法となる VAE を用いた領域適応の手法は、する。また、SVD を用いて同様の次元縮約及び負荷領域適応の手法を全く利用しないものよりも悪い結果を行った。SVD による縮約データが付加されたデーとなり、本実験に限れば提案手法は有効でなかったと

タを SVD データとする。

言える。

5.3

検証用分類器の訓練

6

訓練用実験データを用いて各領域の分類器を訓練した。分類器には scikit-learn にて実装されている SVMを用いた。訓練時のハイパーパラメータを表 2 に示す。

考察
提案手法を用いる場合よりも SVD を用いる方が領域適応時の平均精度が 0.51%高いという結果が得られた。この結果から提案手法及び実験の問題点を考察していく。

表 2: SVM 学習時のモデルのパラメーター
使用モデル SVC
事前処理

MinMaxScalerC

1,10,100,1000 GridSearchCV を用

まず考えられる実験時の問題点が、VAE の訓練エポック数が適切でなかった可能性である。当実験と同条件下で訓練した VAE の損失は次のように遷移した。

いて最適なものを選択
備考図 3 から学習進行度に比例して損失のばらつきが大表記のないパラメータはモデルのきくなっている印象を受けた。また、全体を通して損初期値を使用失が激増する頻度が高い。これは特定領域への適応度が高い状態のモデルに適応度の低い領域のデータが入その後、各分類器に各領域のテスト用実験データを力される現象が多発していると見ることが出来る。こ分類させ、精度を記録した。また、SVD データに対の点から、訓練スクリプトに問題があり、訓練時の入して同様の操作・記録を行った。

力順に領域依存の偏りが発生していると推測した。
訓練スクリプトは大規模なデータに対応可能にする

5.4

ために SciPy 疎行列型で読み込んだ全データを結合す

実験結果

ることなく、プログラム引数の順にミニバッチ学習さ実験の結果を表 3 に示す。表 3 における None は領せる方式を用いている。引数は訓練・テストデータ、域適応の手法を用いず、ソース領域の訓練データのみ

Unlabeld データ (領域順は book, DVD, music) の順から分類器を学習し、その分類器を用いてターゲットとなっていた。読み込む全てのデータを単一の配列に― 572 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

参考文献:loss[1] John Blitzer, Ryan McDonald, and Fernando:loss(700iteration)+5[×10 ]Pereira. Domain adaptation with structural cor0

respondence learning. In EMNLP-2006, pages
120–128, 2006.
[2] Carl Doersch. Tutorial on variational autoen--1coders. arXiv preprint arXiv:1606.05908, 2016.
[3] Diederik P Kingma and Max Welling.

-2

encoding variational bayes.

Auto-arXiv preprint

arXiv:1312.6114, 2013.
-3[4] Sinno Jialin Pan and Qiang Yang.
0200004000060000

A survey

on transfer learning. Knowledge and Data En-80000

gineering, IEEE Transactions on, 22(10):1345–[iteration]1359, 2010.
図 3: VAE の損失の推移[5] Peter Prettenhofer and Benno Stein.

Cross-Language Text Classification using Structural
統合し、ランダムな順番でミニバッチ学習させればよCorrespondence Learning. In 48th Annual Meet-

り領域依存度の低い出力が得られるだろう。

ing of the Association of Computational Linguistics (ACL 10), pages 1118–1127. Association for

7

Computational Linguistics, July 2010.

おわりに[6] Baochen Sun, Jiashi Feng, and Kate Saenko. Re本論文では感情分析の領域適応に対して、Variational

AutoEncoder の Encoder を利用した領域適応の手法

turn of Frustratingly Easy Domain Adaptation.
AAAI, 2016.

を提案した。ソース領域とターゲット領域のデータを用いて訓練した Variational AutoEncoder の Encoder
で両データを次元縮約し、得られたデータを対応するデータに付加することでターゲット領域に適応する。
実験では、提案手法と SVD の 2 つの手法を SVM での識別精度を用いて比較した。その結果は、SVD を使用した方が有効度がわずかに高いというものだった。
実験結果及び実験に使用したプログラムを再度確認・推敲したところ、提案手法のモデル訓練の過程で、領域に依存しない出力が得られるような訓練ができていなかった可能性が存在することが分かった。まずは提案手法の訓練過程の問題点を解消して出力の領域依存度を低下させ、VAE の利用可能性を再度検証していきたい。

― 573 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.