修 士 論 文 構文構造に基づく ニューラルネットワークを用いた

修
士
論
文
構文構造に基づく
ニューラルネットワークを用いた
自然言語の分散表現の学習
Learning Distributed Representations of
Natural Language Using
Syntactic Structure-Based Neural Networks
指導教員
鶴岡 慶雅 准教授
東京大学工学系研究科
電気系工学専攻
氏 名
37-136476 橋本 和真
提 出 日
平成 27 年 2 月 5 日
概要
自然言語処理において文の意味を計算機上で扱う試みが近年盛んに研究されている. その多くは, 単
語や文をベクトル空間で表す手法であり, 単語や文がもつ意味や用法の類似性をベクトル間の距離と
して定義することができるようになる. それにより, 単語や文の意味の類似性を考慮した文書検索, 文
の感情分析, 文の言い換え認識など, 様々な応用先が見込まれている. 単語をベクトル空間で表現する
手法が様々に研究されているなかで, 特に注目されているのは, ニューラルネットワークに基づく学習
手法である. ニューラルネットワークの学習過程で得られる単語のベクトルは単語の分散表現などと
呼ばれ, 単語だけでなく文の分散表現まで学習する研究にまで発展している. 単語の分散表現から文
の分散表現を組み立てる際には, 構文解析器によって得られる構文情報を利用することが多い. しか
し, 長年にわたって積み重ねられてきた構文解析技術がもたらす構文情報が, 従来の研究では十分に
活用されておらず, 文の意味を分散表現によって表す際に構文情報が果たし得る役割が明らかになっ
ていない.
そこで本研究では, 文の意味表現を計算する際に構文情報が果たし得る役割を明らかにするために,
構文情報を効果的に用いたニューラルネットワークのモデルを提案する. 着目する構文情報は, (1) 句
構造, (2) 述語項構造の二種類である. これらの構文情報は独立したものではなく, 互いに密接に関係
している. まず (1) 句構造に関しては, 単語の分散表現を基に句や文全体の分散表現を計算するニュー
ラルネットワークのモデルを用いる際に, 句構造の構文木上に付与されている様々な情報の利用法を
提案する. 具体的には, 単語や句のカテゴリと, 構文木の構造を利用することで, 句や文全体がより構
造を意識した表現になることを目指す. 次に (2) 述語項構造に関しては, 述語を介した項と項の依存関
係に着目し, 大規模なコーパスから自動で句の意味の分散表現を獲得する手法を提案する. 述語の項
は句構造に基づく句 (構文木上のノード) に対応しているため, 句構造の分散表現の獲得手法との関連
が深く, 本研究では句構造と述語項構造を同時に解析できる構文解析器を用いることで効率的に両者
を利用することができる.
句構造と述語項構造に関する提案手法の有効性を確認する評価実験を, (a) 文レベルでの表現を必
要とするタスク, (b) 二, 三単語から成る簡単な句の表現を必要とするタスクの二種類を用いて行った.
タスク (a) は文中の名詞間の意味的な関係を分類するタスクであり, 提案手法によってベースライン
のニューラルネットワークの手法の分類精度が大きく改善することを確認した. また, タスク (b) は短
い句の意味的な類似度を測るタスクであり, 特に動詞句のタスクにおいて, 人間の評価との相関を測
る指標において最高スコアを達成した.
本研究の成果により, ニューラルネットワークを用いて文の意味を分散表現を用いて計算する際に,
様々な構文情報が有効に働くことが分かった. これは今後, 大規模コーパスを用いて文全体の表現を
自動で学習し, 実世界のアプリケーションに適用していく際の大きな足掛かりとなる.
目次
第 1 章 はじめに
1
1.1
1.2
1.3
背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
本研究の貢献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
3
1.4
本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
本研究の提案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 2 章 自然言語処理におけるニューラルネットワークの利用
2.1
2.2
ニューラルネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1
入出力と目的関数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2
2.1.3
2.1.4
誤差逆伝播法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
勾配降下法によるパラメータの推定 . . . . . . . . . . . . . . . . . . . . . . .
実装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
自然言語の分散表現とその応用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
9
10
2.2.1
単語の分散表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2
文の分散表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
19
句構造に基づく文の分散表現による
名詞間の意味的関係分類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
5
5
11
11
第 3 章 構文情報を利用した分散表現の学習
3.1
5
3.1.1
導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2
3.1.3
関連研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.4
3.1.5
3.1.6
実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
まとめと今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
21
23
26
29
35
述語項構造に基づく
単語とその意味構成関数の同時学習 . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.2.1
3.2.2
3.2.3
導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
38
40
3.2.4
3.2.5
実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
関連研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
定量的評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
47
50
定性的評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
3.2.7 まとめと今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
テンソル分解に基づく述語項構造のモデル化と
58
動詞句の分散表現の学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 導入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 関連研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
63
64
3.3.3
3.3.4
提案手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
71
3.3.5
3.3.6
3.3.7
定性的評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.6
3.3
実験設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
定量的評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
まとめと今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
第 4 章 おわりに
72
74
76
4.1
本研究のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
77
4.2
今後の展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 より長い文を表現するベクトルの学習 . . . . . . . . . . . . . . . . . . . . .
77
78
実用性の検討 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
78
4.2.2
4.2.3
他分野データの活用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
図目次
2.1
ニューラルネットワークで用いられる代表的なシグモイド関数. . . . . . . . . . . . .
6
2.2
2.3
2.4
Eigen を用いたサンプルコード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
単語の分散表現の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ニューラルネットワーク言語モデルにより学習された単語の分散表現の可視化の例. .
10
12
13
2.5
2.6
句構造に基づく構文木の例.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
構文木を用いた RNN の例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
3.1
3.2
RNN による名詞間の関係分類. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
三語からなる句 “a word vector” の分散表現を計算する例. . . . . . . . . . . . . . . .
22
24
3.3
3.4
3.5
学習中の F1 スコアの推移. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
33
34
3.6
3.7
提案モデル PAS-CLBLM の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PAS-CLBLM の学習データの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
49
3.8
3.9
3 階のテンソルによる主語-動詞-目的語の共起統計. . . . . . . . . . . . . . . . . . . .
Van de Cruys et al. (2013) の主語-動詞-目的語のテンソル分解. . . . . . . . . . . . . .
67
67
構文解析の誤りの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
理想的な構文木. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
表目次
3.1
実験に用いた句のカテゴリ.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2
3.3
3.4
SemEval 2010 Task 8 の学習データの分布. . . . . . . . . . . . . . . . . . . . . . . . .
RNN のハイパーパラメータ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SemEval 2010 Task 8 のテストデータにおける評価の結果. . . . . . . . . . . . . . . .
28
29
30
3.5
3.6
提案手法の各要素の効果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
構文解析器 Enju による述語項構造の出力例. . . . . . . . . . . . . . . . . . . . . . .
31
41
3.7
3.8
3.9
項の主辞をとることで簡単化された述語項構造. . . . . . . . . . . . . . . . . . . . .
PAS-CLBLM で用いる意味構成関数. . . . . . . . . . . . . . . . . . . . . . . . . . . .
AN データセットの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
49
51
3.10 NN データセットの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 VO データセットの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 SVO データセットの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
51
52
3.13 AN, NN, VO データセットにおけるスピアマンの相関係数を用いた評価結果. . . . . .
3.14 SVO データセットでの評価結果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
54
3.15 50 次元ベクトルと 1000 次元ベクトルの結果の比較. . . . . . . . . . . . . . . . . . .
3.16 Bag of words の文脈情報の効果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17 意味構成関数を用いる場合と用いない場合の, 句の表現ベクトルの例. . . . . . . . . .
56
57
60
3.18 PAS-CLBLM の意味構成関数 Waddnl のカテゴリ別重みベクトルの L2 ノルムの比較.
3.19 意味構成関数を用いた場合の, 動詞句の表現の類似度の例. . . . . . . . . . . . . . . .
61
62
3.20 動詞と前置詞に関する述語項構造の例. . . . . . . . . . . . . . . . . . . . . . . . . .
3.21 作成した学習データの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22 パラメータ化された (主語)-動詞-目的語の表現ベクトルの例. . . . . . . . . . . . . .
64
71
73
3.23 copy-subject により計算された 主語-動詞-目的語の表現ベクトルの例. . . . . . . . . .
3.24 各データセットにおけるスピアマンの相関係数. . . . . . . . . . . . . . . . . . . . .
74
75
iv
第 1 章 はじめに
1.1
背景
自然言語処理は, 計算機上で日本語や英語といった言語を扱う研究分野である. 近年では計算機の
性能向上や電子テキストデータの増大に伴い, 大規模なテキストデータに基づく統計的機械学習によ
る手法が広く研究されている. その中でも, ニューラルネットワークを用いた研究が盛んに行われる
ようになってきた. 特にその傾向が顕著である統計的機械翻訳の分野では, 長年研究されてきた手法
に頼らずに, ニューラルネットワーク単体の翻訳システムを構築する研究も現れている [Bahdanau et
al., 2014; Cho et al., 2014].
最近のニューラルネットワークを用いて自然言語を扱う研究では, 単語が 50 次元や 100 次元の実
数値ベクトルとして表現されていると見なすことが多い [Collobert et al., 2011]. そのような単語を表
すベクトルは, 単語ベクトル, 単語の分散表現, word embedding などと呼ばれている. 単語をベクトル
として表現することで, 単語の意味的・用法的な類似度をベクトル間の距離として測ることができる
ようになるため, 有用性が高い. 例えば一般的には, ベクトル空間で “car” と “truck”, “vehicle” などの
単語が近くなる. また, 文書の感情分析などのタスクで用いられる場合には, “good” と “excellent” が
近く, “bad” と “terrible” が近い, などといった単語のもつ感情の極性をベクトル空間で表現すること
が可能になる. Mikolov et al. (2013c) は, ニューラルネットワークに基づいて単語のベクトルを大規模
なコーパスから学習することで, “king”−“man”+“woman” をベクトル空間で計算すると, “queen” に
近くなるといった, 「男女」などの概念の関係をベクトルの足し引きによって高精度で表現できるこ
とを示した. 大規模コーパスを用いて単語のベクトルを自動で獲得する手法は, 基本的に「単語の意
味はそれが出現する文脈によって決まる」という考え方 [Firth, 1957] に基づいており, 似たような使
われ方をする単語が近い意味をもつとされている. このような単語の共起に基づく単語ベクトルの学
習手法が様々に提案されているなかで, 特に最近では Mikolov et al. (2013a) と Mikolov et al. (2013b)
の手法を実装したツール word2vec が分野内外を問わず注目を集めている.
自然言語を表すためには単語の意味を考えるだけでは不十分であり, 複数の単語から成る文の意味
も考える必要がある. 単語だけでなく文もベクトル空間で表現する際に, 最も簡単で, かつ広く用い
られている手法は「文中の全ての単語のベクトルの要素ごとの和 (または積) をとる」というもので
あり, Mitchell and Lapata (2008) などがその有効性を示している. しかし, 単語ベクトルの和や積をと
る手法は bag of words の情報しか捉えることができないため, 文中の語順や構造が考慮されていな
い. 文に内在する構造を利用して文全体をベクトルで表現するために, Goller and Küchler (1996) の手
法に基づいてニューラルネットワークを句構造の構文木上で再帰的に用いる手法 (再帰的ニューラル
ネットワーク, Recursive Neural Network, RNN) が提案された [Socher et al., 2011a; Socher et al., 2012].
1
1.2 本研究の提案
第 1 章 はじめに
RNN により, 構文木に基づいて任意の長さの文を全て同一次元のベクトル空間で表現することが可
能になった. ただし, Socher et al. (2011a) と Socher et al. (2012) の RNN は, 構文木の木構造の情報し
か用いておらず, 構文解析の結果としてもたらされる情報 (句のカテゴリ情報, 主辞, など) が活用さ
れていなかった. ある句の表現を考える際に, その句は「動詞句と名詞句から成る動詞句である」と
いった情報は重要であると考えられる.
特定の品詞の組み合わせからなる構造に着目し, それらの単語を組み合わせる際の言語現象のモデ
ル化を試みた研究が存在する [Baroni and Zamparelli, 2010; Grefenstette and Sadrzadeh, 2011]. Baroni
and Zamparelli (2010) は, 特に形容詞と名詞の修飾関係に着目して, 形容詞を行列で, 名詞をベクトル
で表現することによって行列演算を用いて形容詞と名詞から成る名詞句の表現ベクトルの計算手法を
提案した. Grefenstette and Sadrzadeh (2011) は, 主語-動詞-目的語の関係をテンソルによって数学的に
モデル化する手法を実現した. ニューラルネットワークに関して言えば, Tsubaki et al. (2013) が動詞目的語といった二単語間の依存関係に着目したニューラルネットワーク言語モデルを提案している.
それぞれ個別の単語の依存関係 (形容詞-名詞, 主語-動詞-目的語, など) に着目することの有効性を示
しているが, 実際にはそれらは独立して扱われるものではなく, 文全体の中で互いに関わり合いを持
つことが多い. 例えば, 形容詞-名詞からなる名詞句が他動詞の主語や目的語になることがあり, また,
前置詞句が動詞句に付加的な意味を与えるといったようなことがある. 以上のようなことを考えると,
従来の研究では自然言語処理の研究者が長年にわたって積み重ねてきた構文解析の技術が十分に活
かされているとは言えない. そこで本研究では, 単語や文の意味を数学的に表現する際に, 構文解析器
から得られる構文情報をより効果的に用いることで, 自然言語の意味表現における構文情報の果たす
役割を明らかにすることを目的とする.
1.2
本研究の提案
本研究では, 単語や文をベクトルなどで数学的に表現する際に, 構文情報を効果的に用いたニュー
ラルネットワークのモデルを提案する. 構文情報としては, 特に
• 句構造
• 述語項構造
から得られるものに着目する.
句構造 単語の分散表現を基に句や文全体の分散表現を計算するニューラルネットワークのモデルを
用いる際に, 句構造の構文木上に付与されている様々な情報の利用法を提案する. 具体的には,
単語や句のカテゴリなどを活用することで, 句や文全体がより構造を意識した表現になること
を目指す. また, このような構造に基づくニューラルネットワークの学習を安定させ, 汎化性能
を向上させることも試みる.
述語項構造 述語 (predicate) を介した項 (argument) と項の依存関係に着目し, 大規模なコーパスから
自動で句の意味の分散表現を獲得する手法を提案する. 本研究で扱う述語項構造では, 文中の
2
1.3 本研究の貢献
第 1 章 はじめに
任意の単語が述語としての役割を持ち, それぞれの役割に応じて特定の数の項をとることで, 単
語と句の関係が記述される. つまり, 句構造と述語項構造は互いに密接に関係している. その際,
形容詞-名詞, 主語-動詞-目的語, といった依存関係を個別に扱うのでなく, 文中に内在する様々
な依存関係を同時に活用する. さらに, 特に動詞句に関する言語現象を表現することが困難であ
り, そこに改善の余地があることに着目し述語と項の数学的表現の相互作用を強めるモデルを
提案する. その中で, 動詞句の意味を考えるうえでの付加部 (adjunct) の有用性を調査する.
1.3
本研究の貢献
本研究の貢献としては, 以下の点が挙げられる:
句構造に基づく基礎的な情報の有用性の実証 句構造に基づく再帰的ニューラルネットワークを用い
る際に, 句構造における基礎的な情報 (句のカテゴリ, 主辞など) を利用することで, 文全体の意
味を考慮したうえで名詞間の意味的な関係を分類するタスクにおける精度向上を確認した. さら
にその際に, 関係分類のタスクに特化した情報として, 構文木上における名詞間の最短経路の情
報も有効であることを示した. これらの結果は, 構文情報を効果的に利用したニューラルネット
ワークの柔軟なモデル化の可能性を示すものとして, 今後の研究において有益であると言える.
文の表現を学習するモデルの学習の安定性と汎化性能向上の実現 句構造に基づく再帰的ニューラル
ネットワークを学習する際に生じる学習の不安定性を, モデルパラメータの平均化によって解
消した. パラメータの平均化は, 学習の安定性の実現だけでなく, 未知データへの汎化性能の向
上にも大きく寄与することを示した. これらの結果は, 再帰的ニューラルネットワークのような
モデルを学習して利用する際に, 安定性と汎化性能の向上を図る際の有力な手掛かりとなる.
述語項構造に基づいた句と句の共起関係のモデル化の提案 大規模コーパスを用いた従来の「単語と
単語の共起」に基づく学習から発展し, 「述語項構造による特定の関係下での句と句の共起」に
基づいて単語だけでなく句の表現までニューラルネットワークを用いて同時に学習する手法を
提案した. 提案手法によって学習された動詞句のベクトル表現を用いることで, 動詞句の意味的
な類似度を測るタスクにおいて最高スコアを達成して, 提案手法の有効性を示した. この手法
は, 単語だけでなく一般的な文の表現も大規模コーパスから自動で学習する次のステップへの
大きな足掛かりとなる.
動詞句の意味に関する付加部の役割への着目 述語項構造を用いて動詞句の表現を学習する際に, 付
加部が大きな役割を果たし得ることを示した. 動詞句に付加的な意味を与える前置詞による付
加部を利用することで, 動詞句の意味的な類似度を測るタスクでのスコアが向上することを示
した. この結果から, 動詞句の意味表現の学習における重要な手掛かりが判明し, 今後さらに接
続詞などによる付加部の利用可能性が期待される.
3
1.4 本論文の構成
1.4
第 1 章 はじめに
本論文の構成
本論文の以降の構成は以下のようになっている:
第 2 章 自然言語処理におけるニューラルネットワークの利用 Deep Learning などと呼ばれて様々な
分野で注目を集めているニューラルネットワークの基礎的な考え方を説明し, ニューラルネッ
トワークがいかに自然言語の単語や文の意味を表現することに利用されているかということに
関して説明する.
第 3 章 構文情報を利用した分散表現の学習 言語の持つ構文構造から得られる構文情報に着目し, 単
語や文の分散表現の効果的な学習方法を提案する. 構文構造としては, 句構造と述語項構造に着
目する. まず, 3.1 節では, 句構造に基づく構文木上に付与されている様々な基礎的な構文情報
を, 再帰的ニューラルネットワークにより文の意味表現を構築する際に効果的に利用する手法
を提案する. またその際, モデルの学習の安定化と汎化性能の向上を図る手法も提案する. 次に
3.2 節では, 述語項構造に着目し, 述語を介して記述される項と項の関係, つまり句と句の関係を
利用することで大規模コーパスから自動で単語と句の分散表現を同時に学習する手法を提案す
る. そこで判明した動詞句の表現の学習に関する課題を解決するため, 3.3 節でテンソル分解に
よる述語項構造のモデル化を提案する. その中で, 動詞句の意味を考えるうえで付加部の有用性
を示す.
第 4 章 おわりに 最後に, 本論文のまとめと今後の展望について述べる.
4
第 2 章 自然言語処理におけるニューラルネッ
トワークの利用
本章では, ニューラルネットワークの基礎的な考え方と, その自然言語処理への応用に関して説明
する. 自然言語処理の応用に関しては特に, 単語や文をベクトル空間で表現する際に用いる手法に関
して焦点を当てる.
2.1
ニューラルネットワーク
近年, 画像認識 [Krizhevsky et al., 2012], 音声認識 [Dahl et al., 2012], 自然言語処理 [Collobert et al.,
2011] などの様々な分野でニューラルネットワークに基づく手法が成功を収めており, 総称して Deep
Learning や Representation Learning と呼ばれている [Bengio et al., 2012]. ニューラルネットワークはそ
の階層構造が深くなるに従って学習が困難になることが知られていたが, 2006 年に起こったブレーク
スルーにより, 再び注目を集めるに至った [Hinton and Salakhutdinov, 2006; Hinton et al., 2006]. ニュー
ラルネットワークは機械学習の代表的な手法であり, 様々な種類が存在するが, ここでは本研究に関
連する多層パーセプトロンを説明する.
2.1.1
入出力と目的関数
多層パーセプトロンは一般に, 入力層, 任意個の隠れ層, 出力層から構成される. ここでは隠れ層が
1 層の場合, つまり 3 層パーセプトロンを仮定する. 3 層パーセプトロンの各層を以下のようにベクト
ルを用いて定義する:
• 入力層 v = (v1 , v2 , . . . , vV )T ∈ RV
• 隠れ層 h = (h1 , h2 , . . . , hH )T ∈ RH
• 出力層 o = (o1 , o2 , . . . , oO )T ∈ RO
ここで, V, H, O は各層の次元である. 例えば画像分類では, 分類対象の画像データを V 次元ベクトル
で表現したものが入力層に相当する. 隠れ層は入力層の情報を変換 (抽象化) したものである. 最後の
出力層は, 入力データから得られるべき情報を表すものであり, 目的によって様々に変わる. 画像分類
では, 事前に定義されたラベル (犬, 猫, など) を推定するために出力層が用いられる.
5
2.1 ニューラルネットワーク
第 2 章 自然言語処理におけるニューラルネットワークの利用
図 2.1: ニューラルネットワークで用いられる代表的なシグモイド関数.
一般に, 隠れ層と出力層は以下のように行列演算によって計算される:
h = fh (Wh v + bh )
(2.1)
o = fo (Wo h + bo )
(2.2)
ここで, Wh ∈ RH×V , Wo ∈ RO×H は重み行列と呼ばれ, bh ∈ RH , bo ∈ RO はバイアス項と呼ばれ
る. また, fh , fo は変換に非線形性や正規化を導入するために用いられる関数であり, ベクトルの要素
ごとに適用される. これらの関数としては, 線形関数
f (x) = x
(2.3)
シグモイド関数
f (x) = logistic(x) =
f (x) = tanh(x) =
1
1 + e−x
ex − e−x
ex + e−x
(2.4)
(2.5)
などが用いられる. 非線形関数として式 (2.4) や式 (2.5) を用いることにより, 図 2.1 のように値域を
(0, 1) や (−1, 1) におさえることができる. また, 式 (2.4) の場合には
∂f (x)
= f (x)(1 − f (x))
∂x
(2.6)
∂f (x)
2
= 1 − f (x)
∂x
(2.7)
で, 式 (2.5) の場合には
6
2.1 ニューラルネットワーク
第 2 章 自然言語処理におけるニューラルネットワークの利用
となり, 次節の誤差逆伝播法を用いる際に効率よく計算を行うことが可能となる. ここでは,
fh (x) = tanh(x)
(2.8)
fo (x) = x
(2.9)
とする.
3 層ニューラルネットワークのパラメータ
θ = (Wh , Wo , bh , bo )
(2.10)
は, 入力に対して理想の出力を実現するように学習される. その理想的な出力が人手で与えられてい
る場合, このニューラルネットワークの学習を教師有り学習と呼ぶ. 入力と理想的な出力が N 組
(v1 , t1 ), (v2 , t2 ), . . . , (vN , tN )
(2.11)
与えられているとき, この N 個の学習データに関して, ニューラルネットワークの出力と理想的な出
力の誤差を定義する. ここでは, 二乗誤差
1
∥oi − ti ∥2
2
(2.12)
として誤差を定義する. 最後に, 全ての学習データに関して誤差の和をとることで目的関数を定義する:
J=
N
∑
1
i=1
2
∥oi − ti ∥2
(2.13)
実際には, N 個の学習データへのパラメータの過度な適合 (過学習) を防ぐために,
J=
N
∑
1
i=1
2
∥oi − ti ∥2 +
λ
∥θ∥2
2
(2.14)
のように正則化項
λ
∥θ∥2
2
(2.15)
を加えることが多い. これを L2 正則化という.
2.1.2
誤差逆伝播法
式 (2.13) の目的関数を最小化するためには, 目的関数をニューラルネットワークの全てのパラメー
タに関する偏微分
N
∂ ∑1
∂J
=
∥oi − ti ∥2
∂θ
∂θ i=1 2
(2.16)
を計算する必要がある. ニューラルネットワークの計算は一般に非常に複雑であるが, 誤差逆伝播
法 [Rumelhart et al., 1988] により効率よく式 (2.16) を計算することが可能である.
7
2.1 ニューラルネットワーク
第 2 章 自然言語処理におけるニューラルネットワークの利用
誤差逆伝播法では, 出力層に近いパラメータから順に, そのパラメータに関する目的関数の偏微分
を計算していく. 隠れ層と出力層の計算を以下のように書き直す:
hi = fh (Wh vi + bh ) = fh (ahi )
(2.17)
oi = fo (Wo hi + bo ) = fo (aoi )
(2.18)
ここでは, i 番目の学習データのみに関する誤差の偏微分を計算する. その後, 全ての学習データに関
する計算結果の和をとればよい. まず, 出力層に関するパラメータから順に考えていく.
∂J
∂oi ∂J
=
∂aoi
∂aoi ∂oi
=
fo′ (aoi )
(2.19)
⊙ (oi − ti )
ここで, ⊙ はベクトルの要素ごとの積を表し, fo (x) = x であるから,
∂J
= (oi − ti )
∂aoi
(2.20)
となる. 式 (2.20) を
δoi =
∂J
∂aoi
(2.21)
と書き直すと, 出力層に関するパラメータに関する偏微分が求められる:
∂J
∂J ∂aoi
=
∂Wo
∂aoi ∂Wo
=
(2.22)
δoi hT
i
∂J
∂J ∂aoi
=
∂bo
∂aoi ∂bo
(2.23)
= δoi
次に, 隠れ層に関するパラメータについて考える.
∂hi ∂aoi ∂J
∂J
=
∂ahi
∂ahi ∂hi ∂aoi
=
fh′ (ahi )
⊙
(2.24)
(WoT δoi )
ここで, fh (x) = tanh(x) であるから,
∂J
= (1 − h2i ) ⊙ (WoT δoi )
∂ahi
(2.25)
となる. 式 (2.25) を
δhi =
8
∂J
∂ahi
(2.26)
2.1 ニューラルネットワーク
第 2 章 自然言語処理におけるニューラルネットワークの利用
と書き直すと, 隠れ層に関するパラメータに関する偏微分が求められる:
∂J
∂J ∂ahi
=
∂Wh
∂ahi ∂Wh
(2.27)
= δhi viT
∂J
∂J ∂ahi
=
∂bh
∂ahi ∂bh
(2.28)
= δhi
以上のように, 出力に近い層から順に δ を計算していくことにより効率よく偏微分を行うことが出来
る. 誤差逆伝播法により計算された結果が正しいかどうかを確認するためには, θ 中の各パラメータ
θj に関して,
∂J
J(θj + ∆) − J(θj − ∆)
= lim
∆→0
∂θj
2∆
(2.29)
J(θj + ϵ) − J(θj − ϵ)
≈
2ϵ
を計算し, 誤差逆伝播法で計算したものを比較すればよい. ϵ の値は 10−4 などが用いられる.
2.1.3
勾配降下法によるパラメータの推定
式 (2.16) を計算した後に, 実際に式 (2.13) の目的関数を最小化するためにパラメータの更新を行う.
最適化の手法として, 全ての学習データを用いてパラメータの更新を行っていく L-BFGS 法や, 確率
的勾配降下法がよく用いられる. 確率的勾配降下法では, 次の 1. から 3. を繰り返し行う:
1. 学習データのうち m 個をランダムに取り出す.
2. それらの学習データに関する誤差の平均
1 ∑
Ji
m i=1
(2.30)
∂J
∂θ
(2.31)
m
J=
をパラメータで偏微分する.
3. パラメータの更新を行う.
θ ←θ−α
α は学習率と呼ばれ, パラメータの更新の大きさを決めるものである. 一般に学習率の調整は人手で
行われ, 非常に手間がかかる. 近年, 学習率をパラメータごとに自動で調整するアルゴリズムが提案さ
9
2.1 ニューラルネットワーク
第 2 章 自然言語処理におけるニューラルネットワークの利用
図 2.2: Eigen を用いたサンプルコード.
れており, AdaGrad [Duchi et al., 2011] がその一例である. AdaGrad では, 以下のように各パラメータ
ごとに異なる学習率を用いて更新を行う:
α
∂Ji
θj ← θj − √
∑ ( ∂Ji )2 ∂θj
t
ここで,
(
∂Ji
∂θj
∂θj
(2.32)
t
)
(2.33)
t
は t 回目の更新時の誤差のパラメータ θj に関する偏微分である.
確率的勾配法では, 1 つの学習データのみだけでなく, 複数のデータをまとめて処理するミニバッチ
学習も行われる.
2.1.4
実装
ニューラルネットワークではベクトル演算や行列演算を多用することになる. 本論文の全ての実験
プログラムは主に C++言語によって用いて書かれているが, その際には線形代数に関するテンプレー
トライブラリ Eigen1 が利用されている. Eigen を用いると, 例えば入力ベクトル v ∈ R50×1 , 重み行列
W ∈ R50×50 , バイアス b ∈ R50×1 による隠れ層 h ∈ R50×1 の計算
h = tanh(Wv + b)
は, 図 2.2 のように実装できる.
1 http://eigen.tuxfamily.org/.
10
(2.34)
2.2 自然言語の分散表現とその応用
2.2
第 2 章 自然言語処理におけるニューラルネットワークの利用
自然言語の分散表現とその応用
本論文における研究は, 自然言語の単語や文を, 要素が実数値で密なベクトルで表現する手法を基
にしている. そのような表現を単語や文の分散表現と呼ぶ. シンボリックデータに関する分散表現と
いう考え方は, Hinton (1986) によって提唱された. ここでは, 本論文の基礎となっている考え方や先行
研究に関して説明する.
2.2.1
単語の分散表現
自然言語処理では, 計算機上で単語をどのように表現するかということが重要である. 最も基本的
かつ中心的な考え方は, システムで扱う辞書 V 中の各単語を番号で表すことである. 例えば, V 中の
単語が 4 つ (dog, cat, car, truck) の時, それぞれに番号を割り当てる:
1: dog
2: cat
3: car
4: truck
これにより, テキスト中に “dog” が出てきたら, 番号 1 に変換されて扱われる. 実際には, 数十万, 数百
万の単語が扱われることが多い. これらの番号を用いると, |V| 次元で, 特定の単語に対応する番号の
次元だけ 1 で, 他の要素が全て 0 であるベクトルを定義することができる. そのような単語の表現を
one-hot representation と呼ぶ. 先述の 4 単語の例では, 各単語の one-hot representation は以下のように
なる:
e(dog) = (1, 0, 0, 0)T
(2.35)
e(cat) = (0, 1, 0, 0)T
(2.36)
e(car) = (0, 0, 1, 0)T
(2.37)
e(truck) = (0, 0, 0, 1)T
(2.38)
この one-hot representation は, 大半の自然言語処理システムの基礎となっている.
one-hot representation だけでは, 例えば以下のようなことが表現できない:
• “dog” と “cat” はペットになる動物である, という点で似ている.
• “car” と “truck” は人工的な乗り物である, という点で似ている.
11
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
図 2.3: 単語の分散表現の例.
ここで, 仮にこれらの 4 単語が,
v(dog) = (0.1, 0.2)T
(2.39)
v(cat) = (0.08, 0.23)T
(2.40)
v(car) = (−0.2, 0.11)T
(2.41)
v(truck) = (−0.21, 0.1)T
(2.42)
と表されたとすると, 図 2.3 のように単語をベクトル空間に配置することができ, 単語間の類似度
が定義できるようになる. このような単語のベクトル表現を, 単語の分散表現, 単語ベクトル, word
embedding などと呼ぶ. 類似度を測る指標として最もよく用いられるものは, コサイン距離である. コ
サイン距離は, 2 つのベクトル x, y に関して以下のように定義される:
cos(x, y) =
x·y
∥x∥∥y∥
(2.43)
例えば,
cos(v(dog), v(cat)) = 0.992
(2.44)
cos(v(car), v(truck)) = 0.998
(2.45)
cos(v(dog), v(car)) = 0.039
(2.46)
のように計算でき, 単語間の類似度を実数値にて表現できる. また, 単語の分散表現を並べた行列 We
を
(
We =
0.1 0.08 −0.2 −0.21
0.2 0.23 0.11
0.1
12
)
(2.47)
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
図 2.4: ニューラルネットワーク言語モデルにより学習された単語の分散表現の可視化の例.
と定義すると, 各単語の分散表現は以下のように計算できる:
v(dog) = We e(dog)
(2.48)
v(cat) = We e(cat)
(2.49)
v(car) = We e(car)
(2.50)
v(truck) = We e(truck)
(2.51)
一般に, We のサイズは d × |V| であり, 単語の分散表現の次元は d = 50 や d = 100 などがよく用い
られる. 単語を表現する手法に関しては, 分散表現の他にも様々なものが存在する [Turian et al., 2010]
が, ここでは本研究の基礎となっている分散表現に関して説明する.
ここで問題になるのは, どのように単語の分散表現のパラメータ, つまり, 各単語の各ベクトルの要
素を決定するか, ということである. この問題に関して, 近年の単語のベクトル表現手法のほぼ全ては,
Firth (1957) の
単語の意味はその周辺に出てくる単語によって決まる
という考え方に基づいている [Turian et al., 2010]. 単語の分散表現のパラメータを学習する際には,
ニューラルネットワークを用いることが多い. Bengio et al. (2003) は, ニューラルネットワークを用い
た N グラム言語モデルを提案した. N グラム言語モデルとは, テキスト中で N − 1 単語が与えられ
た際に, それに続く N 単語目を確率的に予測するモデルである. つまり,
13
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
どの単語とどの単語がテキストデータ中で共起しやすいか
ということをモデル化できる. この考え方に基づき, Collobert et al. (2011) は単語の分散表現を大規
模なテキストデータから自動で学習する手法を提案した. Collobert et al. (2011) の手法により学習さ
れた単語の分散表現は, 様々な自然言語処理の基礎的なタスク (品詞タグ付け, 固有表現抽出, など)
の性能向上に寄与することが知られており, 広く使われることになった. しかし, 近年では, “単語と
単語の共起” という基礎的な考え方に基づき Mikolov et al. (2013b) が新しい手法を提案し, その手法
が word2vec2 というツールに実装され, 話題になっている. Collobert et al. (2011) の手法では, 例えば
Wikipedia のテキストデータ (数千万文) を用いて十分な学習を行うのに数か月かかる 3 とされている
が, word2vec に実装されている手法を用いると, [分] から [時間] のオーダーで学習を行うことが出来
る. 図 2.4 に, Collobert et al. (2011) の手法によって学習された単語の分散表現を 2 次元に可視化した
ものの例を示す. テキスト中で同じような使われ方をする単語の距離が近くなっていることが見て取
れる.
単語の分散表現の学習に関しては, 上記の大規模コーパス上での共起情報に基づくもののほかに,
教師有り学習も可能である. 例えば Collobert et al. (2011) は, 英語 Wikipedia などを用いて単語の共起
情報に基づいて単語ベクトルを学習した後に,
• 品詞タグ付け
• チャンキング
• 固有表現抽出
• 意味役割付与
などの自然言語処理の様々な基礎タスクに適合するように単語ベクトルを学習しなおしている. その
他にも, 次節で紹介する Socher et al. (2012) の文の分散表現の学習手法では単語ベクトルが基礎的な
モデルパラメータとなっており,
• 評判分析
• 関係分類
などのタスクに適合するように単語ベクトルのパラメータを学習している. このように実際には, 大
規模コーパスで自動で単語ベクトルを学習した後に, 個々の目的・タスクのために単語ベクトルを学
習しなおして用いることが多い. その際, 大規模コーパスであらかじめ単語ベクトルを事前学習して
いる場合と, それをせずに単語ベクトルを乱数で初期化して教師有り学習のみをする場合とでは, 最
終的なタスクの結果で大きな差が出ることが多い.
2 https://code.google.com/p/word2vec/.
3 http://ml.nec-labs.com/senna/.
14
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
文の分散表現
2.2.2
自然言語の意味を捉えるには, 単語だけでは不十分であり, 文単位でその意味を扱う必要が出てく
る. 文を扱うことに関して, 長さが一定ではない, ということがその難しさのひとつとなる. 文を表現
するうえで最も基本的かつ広く用いられているのは, Bag of Words (BoW) である. BoW では, ある文
中にどの単語が (何回) 出現したか, ということをその語順を無視して表現する. 例えば, 以下の文を
考える:
The people killed the animals.
この文の BoW は, one-hot representation の和として以下のように計算される:
e(The) + e(people) + e(killed) + e(the) + e(animals)
(2.52)
BoW はその簡単さと有力さから広く使われているが, 以下の 2 文の違いを表現することができない
という致命的な問題を内在する:
(a) The people killed the animals.
(b) The animals killed the people.
つまり, この 2 文 (a), (b) の BoW を式 (2.52) と同様に計算すると,
e(The) + e(people) + e(killed) + e(the) + e(animals)
(2.53)
=e(The) + e(animals) + e(killed) + e(the) + e(people)
となり, 全く同じになってしまう. 主語と目的語が入れ替わったことで (a) と (b) の意味は大きく異な
るが, 語順を考慮できないため, その違いを BoW は表現できない. また, 仮に単語の分散表現に変換
して計算しても, その問題は解決しない:
v(The) + v(people) + v(killed) + v(the) + v(animals)
(2.54)
=v(The) + v(animals) + v(killed) + v(the) + v(people)
この違いを表現するには, 語順を考慮し, 任意の長さの文に対応できる文の表現手法を考える必要が
ある.
語順を考慮するためには, 従来 n-gram がよく用いられる. n = 2 ではバイグラム, n = 3 ではトラ
イグラムと呼ばれる. n-gram は非常に簡明な手法であり, 単語だけでなく任意の n 単語の並びに番号
を割り当てる手法である. 例えば, (a), (b) の例では以下のように文の表現がバイグラムの集合として
計算される:
e(The people) + e(people killed) + e(killed the) + e(the animals)
(2.55)
e(The animals) + e(animals killed) + e(killed the) + e(the people)
(2.56)
15
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
図 2.5: 句構造に基づく構文木の例.
図 2.6: 構文木を用いた RNN の例.
これにより, この 2 文の違いを表現することが出来る. 実際, バイグラムとトライグラムは自然言語処
理において広く用いられており, 現在でも有力な要素として様々な自然言語処理のシステムで用いら
れている. しかし, n-gram の n が大きくなるにつれて, 単語の組み合わせの数が爆発的に増大し, 新し
いデータにおいてほとんどが未知の n-gram になってしまう. 結局, あまり大きな n を用いることが出
来ず, 2, 3 単語の並びのみしか考えることが出来なくなってしまう.
このような問題を解決すべく Socher et al. (2012) が提案した, 構文木に基づく再帰的ニューラルネッ
トワーク (Recursive Neural Network, RNN) が本研究の基礎のひとつとなっている. RNN は木構造に
基づくニューラルネットワークであり, Goller and Küchler (1996) の手法に基づいている. 図 2.5 に, 句
構造に基づく構文木の例を示す. このような構文解析技術は, 自然言語処理において基礎的かつ重要
なものとして長く研究されてきた. 図 2.5 は, 本研究で度々用いる構文解析器 Enju [Miyao and Tsujii,
2008] によるものである. 図 2.5 の構文木を用いると, 図 2.6 に示すような RNN が構築可能である.
Socher et al. (2012) の RNN では, 図 2.6 のような二分木構造に基づいて, 各ノードに対応する句, 文の
分散表現が再帰的にニューラルネットワークによって計算される. それにより, 任意の長さの文に関
して, 語順と文に内在する構造に基づいて柔軟に文全体の分散表現を得ることが可能になった. 例え
16
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
ば, 句 “the animals” の分散表現 v(the animals) は, “the” と “animals” の分散表現を用いて以下の様に
計算される:
v(the animals) = tanh(Wl v(the) + Wr v(animals) + b)
(2.57)
ここで, 各単語の分散表現の次元は d とし, Wl , Wr ∈ Rd×d はニューラルネットワークの重み行列,
b ∈ Rd はバイアス項とする. これらのニューラルネットワークのパラメータを木構造に従って順次
適用していくことで,
v(killed the animals) = tanh(Wl v(killed) + Wr v(the animals) + b)
(2.58)
v(The people) = tanh(Wl v(The) + Wr v(people) + b)
(2.59)
v(The people killed the animals) = tanh(Wl v(The people) + Wr v(killed the animals) + b)
(2.60)
のように, 文全体の分散表現を計算することが可能である. あとは, 場合に応じて適切な目的関数を設
定して RNN のパラメータを学習すればよい.
ここでは
文全体が表す内容が現実で起こり得るか
ということを判定するタスクがあると仮定する. そのためには, 文全体の分散表現に関して出力層を
定義する必要がある:
p = σ(Wo v(The people killed the animals) + bo )
(2.61)
σ は式 (2.4) で定義した関数であり, Wo ∈ R1×d と bo ∈ R は出力層のパラメータである. この例文が
表す内容は現実に起こり得る, つまり, 正例の学習データであるとすると. 式 (2.61) の理想的な出力は
1 である (負例なら 0) であるから, 最小化すべき誤差が以下のように定義される:
E = − log p
(2.62)
E = − log (1 − p)
(2.63)
もし負例ならば,
となる. 誤差が定義された後は, 基本的に多層パーセプトロンの場合と同様に誤差逆伝播法に基づい
て各パラメータを更新していけばよい. 木構造に基づく誤差逆伝播法は, Goller and Küchler (1996) に
詳しい. 今, 更新対象となるニューラルネットワークのパラメータは,
θ = (We , Wl , Wr , b, Wo , bo )
である. 前述の通り, We は単語の分散表現をまとめた行列である.
17
(2.64)
2.2 自然言語の分散表現とその応用
第 2 章 自然言語処理におけるニューラルネットワークの利用
まずは出力層に関するパラメータに関して誤差逆伝播法を適用する:
δo = p − 1
(2.65)
∂E
= δo v(The people killed the animals)T
∂Wo
∂E
= δo
∂bo
(2.66)
(2.67)
次に, 子ノードに情報を伝播し, 誤差逆伝播法を適用する:
δ = (1 − v(The people killed the animals)2 ) ⊙ (WoT δo )
(2.68)
∂E
= δv(The people)T
∂Wl
(2.69)
∂E
= δv(killed the animals)T
∂Wr
(2.70)
∂E
=δ
∂b
(2.71)
この処理を再帰的に行い, 入力層 (葉ノード) まで誤差逆伝播を行うことで, RNN に関する全てのパラ
メータの更新を行うことが出来る.
RNN のように構文木に基づいて文の分散表現を組み立てる手法が存在する一方で, 構文木に依存
せずに文の表現を計算する試みも存在する [Kalchbrenner et al., 2014; Le and Mikolov, 2014; Socher et
al., 2011c]. そのような手法は文の持つ構文的な情報を利用することが出来ないが, 様々な言語への適
用可能性を秘めている. 例えば, 英語だけでなく日本語, 中国語などにも適用できる. 実際に, Socher et
al. (2011c) の構文木に依存しない RNN は, 言語非依存の性質を活かして英語と中国語の翻訳のタスク
で効果的に用いられている [Li et al., 2013; Zhang et al., 2014]. また, 機械翻訳という観点からすると,
リカレントニューラルネットワークによる文の表現手法も注目されている [Cho et al., 2014; Sutskever
et al., 2014]. さらに, Le and Mikolov (2014) の手法は, 文だけでなく任意の長さの文書に関してもその
表現ベクトルを学習できるため, 非常に注目されており, Wikipedia の記事や論文の内容の分散表現を
学習する研究などが出現している [Dai et al., 2014].
18
第 3 章 構文情報を利用した分散表現の学習
本章では, 構文情報に基づいた単語と文の分散表現の学習手法を提案し, その有効性を確認する. 構
文情報としては, 句構造 (3.1 節) と述語項構造 (3.2 節) に着目し, それぞれの効果的な利用方法を提案
し, その効果を評価するための実験を行う. さらに, 3.2 節で判明した動詞句の表現に関する課題を解
決することを目的として, テンソル分解による述語項構造のモデル化 (3.3 節) を提案する. その際, 付
加部 (adjunct) が動詞句に与える文脈情報に着目することで動詞句の学習のさらなる改善を図る. そ
れぞれの節は, 以下の発表文献と主に対応する:
3.1 節 Kazuma Hashimoto, Makoto Miwa, Yoshimasa Tsuruoka, and Takashi Chikayama. Simple Customization of Recursive Neural Networks for Semantic Relation Classification. In Proceedings of
the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 1372–1376, Seattle, Washington, October 2013.
3.2 節 Kazuma Hashimoto, Pontus Stenetorp, Makoto Miwa, and Yoshimasa Tsuruoka. Jointly Learning
Word Representations and Composition Functions Using Predicate-Argument Structures. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, pp. 1544–
1555, Doha, Qatar, October 2014.
3.3 節 橋本和真, 鶴岡慶雅. テンソル分解に基づく述語項構造のモデル化と動詞句の表現ベクトルの
学習. 言語処理学会第 21 回年次大会発表論文集, 京都, 2015 年 3 月.
3.1
句構造に基づく文の分散表現による名詞間の意味的関係分類
本節では, 文をベクトルで表現する手法である再帰的ニューラルネットワーク (Recursive Neural
Network, RNN) に着目し, 基本的な構文情報を持つ句構造の有効活用法を提案する. さらに, モデルの
汎化性能の向上のため, 教師有り学習時の RNN のモデルパラメータの平均化を提案する. これらの提
案手法の有効性は, 文中の名詞間の意味的な関係を分類するタスクにおいて実験的に示され, より複
雑で計算コストの高いモデルと同等の分類精度を達成した. これらの結果は, 自然言語処理における
ニューラルネットワークの有効活用に関して有益な情報をもたらすと言える.
3.1.1
導入
RNN は, 自然言語処理における有力なニューラルネットワークのモデルであり, 評判分析, 関係分
類, 構文解析など様々なタスクにおいて効果的に適用されている [Hermann and Blunsom, 2013; Socher
19
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
et al., 2012; Socher et al., 2013a]. RNN は任意の長さの文を固定長のベクトル空間で表現する (分散表
現を計算する) 手法である. 従来の RNN では, 基本的に木構造のみといった必要最低限の構文情報の
みが用いられていた [Socher et al., 2012].
近年, より構文情報を活用するために Hermann and Blunsom (2013) が組み合わせ範疇文法 (Combinatory Categorial Grammar, CCG) に基づく RNN を提案した. 彼らの RNN では, 句の分散表現を計算
する際に CCG の演算が利用されている. 彼らの提案モデルは, 評判分析と句の類似度判定タスクに効
果的に適用されているが, ここでいくつかの疑問が生じる:
• 自然言語処理の他のタスクでも同様に構文情報が効果的に働きうるのか.
• 句カテゴリなどの, より一般的な構文情報によっても良い結果が得られるのか.
本節では, 名詞間の意味的関係分類のタスクに特化した RNN を提案する. 本手法の貢献は大きく分
けて以下の 2 つである:
1. タスク特有の句の重要度を明示的に導入することにより, 関係分類のタスクにおいて大幅な精
度向上を達成したこと.
2. 教師有り学習時に汎化性能が不安定である問題を, パラメータの平均化によって解決したこと.
一つ目の貢献に関して, 本手法では
• 品詞タグ
• 句カテゴリタグ
• 主辞
を基礎的かつ一般的な構文情報として用いる. 品詞タグは, 単語の分散表現を品詞ごとに使い分ける
ために利用される. 句カテゴリタグは, 句の分散表現を計算する際に適切な重み行列を選択するため
に利用される. また, 主辞は句の分散表現を計算する際に明示的に重みづけされる. このような一般的
な構文情報に加え, 本手法では関係分類に特化した情報を組み込むため, 構文木上における分類対象
の名詞間の経路の情報を利用する.
二つ目の貢献に関して, RNN の教師有り学習時にパラメータの平均化を提案する. その動機は, 事
前実験において, 教師有り学習のパラメータ更新時に, 有意に予測精度が揺らぐことが観測されたこ
とにある. このような揺らぎは,
• 不安定な予測性能
• パラメータ調整の困難さ
などにつながるため, 解決することは有意義である. このような問題を解決する有力な手法として
dropout [Hinton et al., 2012] が提案されているが, パラメータの平均化はより簡明であるため, ここで
はパラメータの平均化を実装し, その効果を検証する.
20
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
名詞間の意味的関係分類のタスクを用いた実験では, 提案手法が, 木構造のみを用いた RNN による
分類精度を大きく上回ることを示す. さらに, 平均化による汎化性能向上のため, Socher et al. (2012)
の MV-RNN による分類精度をも上回ることも示す. MV-RNN は, より計算コストの高い RNN のモデ
ルの一種であり, 本手法は計算コストを上げることなくその分類精度を上回ることが可能である.
3.1.2
関連研究
提案手法の基礎となる RNN は 2.2.2 節で説明した. 本節では, 名詞間の意味的な関係を分類するタ
スクに RNN を適用した Socher et al. (2012) の手法について説明する.
3.1.2.1 名詞間の意味的関係分類
SemEval-20101 の Task 8 は, 文中の 2 つの名詞間の意味的な関係を分類するタスクである [Hendrickx
et al., 2010]. 例えば,
The [author]E1 of a keygen uses a [disassembler]E2 to look at the raw assembly code.
の文中の 2 つの名詞 E1 (“author”) と E2 (“disassembler”) の関係は,
Instrument-Agency (E2, E1)
であると答えるタスクである. つまり, 道具 (E2) とその使用者 (E1), という関係である. このタスク
で扱われる関係は,
• Cause-Effect
• Component-Whole
• Content-Container
• Entity-Destination
• Entity-Origin
• Instrument-Agency
• Member-Collection
• Message-Topic
• Product-Producer
• Other
1 http://semeval2.fbk.eu/semeval2.php.
21
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
図 3.1: RNN による名詞間の関係分類.
の 10 種類である. ただし, Other 以外の 9 種類に関しては関係の方向も考慮する. 例えば, Cause-Effect
の関係の場合, E1 と E2 のどちらが Cause でどちらが Effect なのか, ということまで判定する. 方向を
考慮した関係が 9 種類で, その他の関係をまとめた Other が 1 種類あるので, 19 クラス分類問題と考
えることができる. また, Rink and Harabagiu (2010) のように, 10 クラス分類問題を始めに行い, Other
以外の 9 クラスに関してその関係の方向を識別する分類を別に行う, という方法も可能である.
このような意味的関係分類は, 情報抽出, ドキュメント要約, 機械翻訳, シソーラス辞書の構築など
に有用である [Hendrickx et al., 2010]. また, 語義曖昧性の解消, 言語モデル, 言い換えなどのタスクに
も有用である. 関係分類のタスクとしては, 時間的関係を分類するタスクなども存在する [UzZaman
et al., 2013].
3.1.2.2 関係分類における RNN
Socher et al. (2012) は, 3.1.2.1 節の関係分類のタスクに RNN を適用することを提案した. 図 3.1 に
その適用例を示す. この図は,
[A]E1 is caused by [B]E2
という句のなかにある名詞 A, B の意味的な関係を分類する例である. Socher et al. (2012) は, 以下の
手順によって RNN を用いた名詞間の関係分類システムを実現した:
1. A と B を含む文の構文木を取得,
2. 構文木上における A と B の間の最短経路 (図 3.1 中の実線) を特定,
3. A と B を含む最小の部分木のトップノードに対応する句の表現ベクトルによってその関係を
分類.
これにより, RNN が A と B を含む句を適切に表現できていれば, A と B の間の意味的な関係を上手
く分類できることになる.
この手法において, Socher et al. (2012) は Matrix-Vector RNN (MV-RNN) を適用することで, 3.1.2.1
節の関係分類のタスクにおいて最高分類精度を達成した.
22
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
3.1.3
第 3 章 構文情報を利用した分散表現の学習
提案手法
本節では, 二文木の句構造に基づく構文情報を有効活用した RNN の教師有り学習手法を提案する.
まず, 句構造の構文木から得られる最も基本的な情報として, 単語の品詞タグを活用する. さらに, 句
構造の情報に基づいて RNN の重み行列を使い分けることで, 子ノードの情報によって適切な計算が
行われるようにする. そして最後に, 学習の安定性と汎化性能の向上を実現するために, RNN のモデ
ルパラメータの平均化を行う.
3.1.3.1 単語-品詞の組み合わせの分散表現
2.2.1 節で述べたように, 単語の分散表現を扱う際には通常は一単語に一つベクトルを割り当てる.
しかし, 多くの単語は同じ綴りで異なる用法を持つことがある. 例えば, “can” という単語には, 名詞
の「缶」という意味もあれば, 助動詞の「∼できる」という意味もある. また, “caused” という単語は,
動詞の過去形, 過去分詞形のどちらにもなりうる. 複数の用法を持つ単語をそれぞれ一つの単語ベク
トルで扱うと, 学習データ中で使用頻度の高い意味に強く影響されてしまう. つまり, たいていの場合
に, “can” という単語は助動詞として使われるため, 名詞の「缶」の意味で使われる場合にも「∼でき
る」という意味に強く影響されてしまうという問題が生じる.
このような問題を解決するため, ここでは全ての単語に関して, その品詞ごとに異なるベクトルを
割り当てる. 先述の例のように, “can” に助動詞と名詞の用法がある場合, “can” は以下の 2 単語に区
別される:
• “can MD”
• “can NN”
ここで, “MD” と “NN” は Penn Treebank 形式の品詞タグで, それぞれ助動詞と名詞に対応する. 同様
に, 動詞の過去形と過去分詞形になり得る単語 “caused” は以下の 2 単語に区別される:
• “caused VBD”
• “caused VBN”
特に 3.1.2.1 節で説明した名詞間の意味的分類のタスクでは, 名詞間の関係の方向まで考える必要が
あるため, 能動態か受動態かという区別は重要である.
実際に扱う単語-品詞の組み合わせの集合を V とし, 各単語-品詞ベクトルの次元を d とすると, そ
れらは行列 We ∈ Rd×|V| の各列ベクトルとして表される. つまり, 2.2.1 節と同様に, “caused VBD”
に対応するベクトルは,
v(caused VBD) = We e(caused VBD)
として計算される.
23
(3.1)
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
図 3.2: 三語からなる句 “a word vector” の分散表現を計算する例.
3.1.3.2 構文情報に基づく意味構成関数
本手法では, 2.2.2 節で紹介した RNN を基に, 句構造に基づく二分木上の全てのノードを d 次元ベ
クトルで表現する. 図 3.2 にその再帰的な計算の例を示す. 計算手順は以下のようになる:
1. 各単語を品詞タグと組み合わせて,
c1 = v(a DT) = We e(a DT)
(3.2)
c2 = v(word NN) = We e(word NN)
(3.3)
c3 = v(vector NN) = We e(vector NN)
(3.4)
を計算する. これらのベクトルが葉ノードに対応する d 次元の分散表現となる.
2. c2 と c3 から句 “word vector” を表現するベクトル p1 を計算する:
p1 = v(word NN vector NN)
(3.5)
= tanh(αc2 WlN,N c2 + αc3 WrN,N c3 + bN,N )
ここで, WlN,N , WrN,N ∈ Rd×d , bN,N ∈ Rd×1 は, c2 と c3 に対応する子ノードの句のカテゴリの
組み合わせ (N, N) に対応した RNN の重み行列とバイアス項である. N は名詞句を表すカテゴ
リタグである. さらに, スカラ値 αc2 と αc3 によって, RNN を適用するタスク特有の情報や, 構
文情報に基づく子ノードの重要度を定義して, どちらのノードを重要視するかを制御する. 例え
ば, αc2 + αc3 = 1 のもとで αc2 = 0.2, αc3 = 0.8 として主辞 “vector” を重視する, などといった
ことが可能になる.
3. c1 と p1 から句 “a word vector” を表現するベクトル p2 を計算する:
p2 = v(a DT word NN vector NN)
(3.6)
=
tanh(αc1 WlD,N c1
24
+
αp1 WrD,N p1
+b
D,N
)
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
ここで, WlD,N , WrD,N ∈ Rd×d , bD,N ∈ Rd×1 は, c1 と p1 に対応する子ノードの句のカテゴリ
の組み合わせ (D, N) に対応した RNN の重み行列とバイアス項である. D は冠詞句を表すカテ
ゴリタグである. さらに, スカラ値 αc1 と αp1 によって, RNN を適用するタスク特有の情報や,
構文情報に基づく子ノードの重要度を定義して, どちらのノードを重要視するかを制御する.
これらをより一般的に書くと, 左側の子ノードのベクトル cl ∈ Rd×1 と, 右側の子ノードのベクトル
cr ∈ Rd×1 が与えられた時, その親ノードを表現するベクトル p ∈ Rd×1 は以下のように計算される:
Tcl ,Tcr
p = tanh(αcl Wl
Tcl ,Tcr
Tcl ,Tcr
cl + αcr Wr
cr + bTcl ,Tcr )
(3.7)
Tc ,Tc
, Wr l r ∈ Rd×d , bTcl ,Tcr ∈ Rd×1 は, cl と cr に対応する子ノードの句のカテゴリ
の組み合わせ (Tcl , Tcr ) に対応した RNN の重み行列とバイアス項である. さらに, スカラ値 αcl と αcr
ここで, Wl
によって, RNN を適用するタスク特有の情報や, 構文情報に基づく子ノードの重要度を定義して, ど
ちらのノードを重要視するかを制御する. ここでは, αcl , αcr ∈ [0, 1] とし, αcl + αcr = 1 とする. 以上
のように,
• 構文情報
• 適用するタスクに関する事前知識
を効率的に RNN に組み込むことで, 単一の重み行列を用いていた従来の RNN に比べて柔軟に,
構文木上の各ノードに対応する句を表現するベクトルを計算することが可能になる. 以降では,
Tcl ,Tcr
Wl
Tcl ,Tcr
, Wr
, bTcl ,Tcr を全てまとめたものを Wlr , b と書く.
3.1.3.3 目的関数と学習
あるノードに対応する句に関してクラスラベル (ここでは K クラス分類とする) が付いているとき,
そのラベルを予測するためにソフトマックス関数を用いる. クラス分類対象のノードに対応する句を
表現するベクトルを x ∈ Rd×1 とするとき, そのノードがクラス l (1 ≤ l ≤ K) に属する確率 p(l|x) は
ソフトマックス関数によって以下のように計算される:
o = Wlabel x + blabel
eo(l)
p(l|x) = ∑K
o(i)
i=1 e
(3.8)
(3.9)
ここで, Wlabel ∈ RK×d , blabel ∈ RK×1 はクラスラベルを予測するためのパラメータであり, o(i) は
o ∈ RK×1 の i 番目の要素を表す. ノード x のクラスラベルを lx とするとき, 誤差関数は
E(x) = − log p(lx |x)
(3.10)
と定義される. 最終的な目的関数は, ラベルが付けられた学習データ (ノード) 全てに関して E(x) の
和をとり, 正則化項を加えたものになる:
J=
∑
E(x) +
x
25
λ
∥θ∥2
2
(3.11)
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
ここで, θ = (We , Wlr , b, Wlabel , blabel ) は学習される RNN のモデルパラメータである. また, λ は
L2 正則化を制御するハイパーパラメータである. ただし実際には, 各モデルパラメータごとに異なる
λ を以下のように用いた:
λ
1
∥θ∥2 = (λe ∥We ∥2 + λlr ∥Wlr ∥2 + λlabel ∥Wlabel ∥2 + 0∥b∥2 + 0∥blabel ∥2 )
2
2
目的関数 J に関する勾配
∑ ∂E(x)
∂J
=
+ λθ
∂θ
∂θ
x
(3.12)
(3.13)
は 2.2.2 節で説明した通り, 木構造上での誤差逆伝播法 [Goller and Küchler, 1996] によって効率的に
計算される. 実際に目的関数 J を最小化するためには, Hermann and Blunsom (2013) や Socher et al.
(2013a) と同様に L-BFGS 法を用いて行う.
3.1.3.4 パラメータの平均化
実際に学習されたモデルを用いて未知データにおける分類性能をテストする際には, 平均化したパ
ラメータ
1 ∑
θt
T + 1 t=0
T
θ=
(3.14)
を用いる. θt は, 本研究で用いた L-BFGS 法のライブラリ libLBFGS2 による t 回目 (0 ≤ t ≤ T ) の
更新後のモデルパラメータである. 平均化しない場合には, T 回目の更新後にテストする際に単に θT
を用いる.
3.1.4
実験設定
本節では, 提案手法の評価実験における実験設定を説明する. 全ての実験は, Intel Xeon CPU X5680
3.33GHz プロセッサのシングルコアを用いて行われた.
3.1.4.1 構文情報
構文情報を利用するために, 構文解析器 Enju [Miyao and Tsujii, 2008] を用いた. 句のカテゴリとし
ては, 出力された元々のカテゴリを, NX と NP をひとまとめにするなどして簡単化した 13 種類を用
いた. 表 3.1 に, 元々の句のカテゴリと簡単化後の句のカテゴリの対応を示す.
元々の RNN では, 構文木上で子ノードの表現ベクトルから親ノードの表現ベクトルを計算する
ニューラルネットワークが一種類しかなかった. しかし, 本提案手法では 13 種類の句のカテゴリ情報
の組み合わせを利用するため, 169 通りの RNN の重み行列が用いられることになる.
26
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
元々のカテゴリ
ADJP
ADJX
第 3 章 構文情報を利用した分散表現の学習
簡単化後のカテゴリ
ADJ
ADVP
ADVX
ADV
CONJP
CONJP
COOD
COOD
CP
CX
C
DP
DX
D
NP
NX
PN
PP
PX
N
PN
P
PRT
PRT
S
S
SCP
SCX
VP
VX
SC
V
表 3.1: 実験に用いた句のカテゴリ.
3.1.4.2 タスク
提案手法の評価実験には, 3.1.2.1 節で説明した Hendrickx et al. (2010) の関係分類のタスク
SemEval 2010 Task 8: Multi-Way Classification of Semantic Relations Between Pairs of Nominals
を用いた. Socher et al. (2012) と同様に, このタスクを 19 クラス分類問題として扱った. また, 公式の
評価指標である F1 スコアを用いることで, 先行研究の手法との性能の比較を行った. このデータセッ
トには学習データが 8,000 事例あり, テストデータが 2,717 事例ある. 表 3.2 に学習データの各クラス
の事例数の分布を示す 3 .
学習データの 8,000 事例のうち 2.182 事例を, パラメータの調整用の開発データとして用いた. 最終
的には, 開発データで決定した設定で全学習データで学習を行い, テストデータで評価を行った.
2 http://www.chokkan.org/software/liblbfgs/.
3 データセットは, https://docs.google.com/document/d/1QO_CnmvNRnYwNWu1-QCAeR5ToQYkXUqFeAJbdEhsq7w/
preview で入手可能である.
27
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
クラス
学習データ数
Other
1,410
Cause-Effect
Component-Whole
1,331
1,253
Entity-Destination
Entity-Origin
Product-Producer
1,137
974
948
Member-Collection
Message-Topic
Content-Container
923
895
732
Instrument-Agency
660
表 3.2: SemEval 2010 Task 8 の学習データの分布.
3.1.4.3 句の重みづけ
式 (3.7) の重みパラメータ αcl (= 1 − αcr ) を,
• 構文情報
• 関係分類に特有の事前知識
によって設定した.
一般的に, 句の意味を考える際には主辞が重要である. 例えば, 図 3.2 では,
• 名詞句 “word vector” の主辞は名詞 “vector”
• 名詞句 “a word vector” の主辞は名詞句 “word vector”
となる. そこで, 親ノードを表現するベクトルを計算する際に, 主辞のベクトルを β ∈ [0.5, 1] 倍し, 主
辞でないほうを 1 − β 倍する.
関係分類のタスクでは, 分類対象の名詞間の, 構文木上での経路の情報が重要であるとされてい
る [Zhang et al., 2006]. そこで, 親ノードを表現するベクトルを計算する際に, 構文木上の名詞間の経
路に存在する子ノードの表現ベクトルを γ ∈ [0.5, 1] 倍し, そうでないほうを 1 − γ 倍する. ただし, ど
ちらの子ノードも経路上に存在する場合, γ = 0.5 とする.
以上の重み β と γ を用いて最終的な重み αcl と αcr を計算する. 具体的には, この二つの要素を足
して 2 で割った値を最終的な重みとする. 例えば,
• 右の子ノードが主辞で,
• 左の子ノードが名詞間の経路上に存在する
28
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
ハイパーパラメータ
値
λe
1.0 × 10−6
λlr
λlabel
1.0 × 10−4
1.0 × 10−3
β
0.7
γ
0.9
表 3.3: RNN のハイパーパラメータ.
時,
αcl =
(1 − β) + γ
2
(3.15)
αcr =
β + (1 − γ)
2
(3.16)
となる.
3.1.4.4 モデルパラメータの初期化とハイパーパラメータの調整
単語の分散表現をまとめた行列 We は, Collobert et al. (2011) の手法によって学習された 50 次元の
単語ベクトル 4 を用いて初期化した. また, Wlr の各行列は,
0.5I + ε
(3.17)
で初期化した. I ∈ R50×50 は単位行列であり, ε は平均 0, 分散 0.01 のガウスノイズである. この単位
行列を用いた初期化手法は, Socher et al. (2013a) のものと同様である. その他のモデルパラメータは
全て 0 で初期化した.
ハイパーパラメータに関しては, 開発データを用いて調整を行った. RNN の重み行列の正則化項の
係数 λ, 構文情報などに基づく重み β, γ がハイパーパラメータである. 最終的に用いられたハイパー
パラメータを表 3.3 に示す.
3.1.5
評価
表 3.4 に, SemEval 2010 Task 8 のテストデータにおける提案手法の分類精度と, 主な先行研究の結果
を示す. Bag of words に基づくサポートベクターマシン (Support Vector Machine, SVM) による分類精
度は Rink and Harabagiu (2010) によって報告されており, RNN と MV-RNN による分類精度は Socher
et al. (2012) によって報告されている.
4 実験に用いた単語ベクトルは
http://ronan.collobert.com/senna/ で入手可能である.
29
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
F1 (%)
提案手法
79.4
RNN
MV-RNN
[Socher et al., 2012]
RNN with POS, WordNet, NER
[Socher et al., 2012]
MV-RNN with POS, WordNet, NER
SVM with bag of words
SVM with lexical and semantic features
[Rink and Harabagiu, 2010]
74.8
79.1
77.6
82.4
73.1
82.2
表 3.4: SemEval 2010 Task 8 のテストデータにおける評価の結果.
まず表 3.4 から, 提案手法は, bag of words と SVM のシステムの分類精度 (73.1%) を大きく上回る
分類精度 (79.4%) を達成していることがわかる. また, RNN の分類精度 (74.8%) をも大きく上回って
いる. さらにここで重要なのは, 提案手法の分類精度は MV-RNN の分類精度 (79.1%) に匹敵すると
いうことである. MV-RNN は, 全単語にベクトルだけでなく行列も割り当てるモデルであり, 元々の
RNN に比べてその計算コストは非常に高くなっている. この計算コストに関する考察は, Hermann and
Blunsom (2013) に詳しい. 提案手法は, 計算コストを元々の RNN とほぼ同等に保ちつつ, 構文情報な
どを効果的に利用することで高い性能を発揮している.
ここからは, 辞書などの意味的な情報を用いたシステムとの性能比較を行う. まず, 提案手法の分類
精度は,
• 品詞タグ (POS)
• 上位語 (WordNet)
• 固有表現 (NER)
の情報を追加した RNN の分類精度 (77.6%) を上回っている. これらの情報は Ciaramita and Altun
(2006) の手法によって得られたものである. しかし, 同様の情報を追加した MV-RNN の分類精度
(82.4%) を下回る結果となった. また, Rink and Harabagiu (2010) の最高精度を達成したシステムでは,
他にも様々なツールから得られる情報を用いており, 82.2% の分類精度を達成している. ただし, 提案
手法は WordNet や NER の情報を用いていないため, ここでの比較は必ずしも対等なものではない. 今
後, 提案手法に関しても意味に関する情報を追加することでさらなる分類精度向上が見込める.
3.1.5.1 提案手法の各要素の効果
提案手法の各要素
• 句のカテゴリ
• 主辞
30
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
F1 (%)
提案手法
提案手法
提案手法
79.4
without 句のカテゴリ
without 主辞
without 構文木上の経路
77.7
78.8
78.7
without 平均化
76.9
without 句のカテゴリ, 主辞, 構文木上の経路, 平均化
74.1
表 3.5: 提案手法の各要素の効果.
• 構文木上の経路
• 平均化
の効果を調べるため, 各要素を用いない場合のテストデータにおける分類精度を測る実験を行った.
表 3.5 にその結果を示す. 句のカテゴリ, 主辞, 構文木上の経路の情報を用いない場合でも, 提案手法
による分類精度が RNN と意味的な情報を組み合わせた場合の分類精度 (77.6%) を上回っていること
がわかる. しかし, 平均化を適用しない場合には, その分類精度を下回る結果となってしまった. ただ
し, 依然として元々の RNN のみによる分類精度 (74.8%) を大きく上回っている. これらの結果から,
RNN のモデルパラメータの平均化の重要性が見て取れる.
提案手法の全ての要素を用いないと, その分類精度は 74.1% となり, 大きく性能が低下した. これ
らの一連の結果は, 提案手法による各要素が大きな効果を持っていることがわかる. 重要なのは, 提案
手法の全てが簡明であり, 高い計算コストを伴う複雑なものではないことである.
3.1.5.2 学習中のパラメータ平均化の効果
3.1.5.1 節で, RNN のモデルパラメータの平均化が, 分類精度の向上に関して大きな効果を持つこと
がわかった. 図 3.3 に, 平均化の効果を表すグラフを示す. 横軸は L-BFGS 法によるパラメータの更新
の回数であり, 縦軸は学習データと開発データにおける分類精度である.
まず, 学習データに関しては分類精度 (training set vs. training set (AVE)) の向上具合が抑えられて
いることがわかる. これは, モデルパラメータの平均化によって過学習が抑制されていることを示唆
する.
また, 開発データに関しては, 分類精度 (validation set vs. validation set (AVE)) が
• 安定し,
• 向上している
ことがわかる. 開発データに関するこのような挙動は極めて理想的であり, モデルパラメータの平均
化による過学習の抑制が大きな効果を持つことが確かめられた.
31
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
図 3.3: 学習中の F1 スコアの推移.
3.1.5.3 構文解析の誤りによる影響
提案手法では構文解析器から得られる構文情報に依存した手法であるため, 構文解析の誤りによっ
て悪影響を受ける可能性がある. 以下に, 実際に SemEval 2010 Task 8 の学習データ中に存在する文を
示す:
(a) We placed some [wax]E1 into the old tin [can]E2 .
(b) An unexploded [bomb]E1 was discovered inside a powdered milk [can]E2 two months ago.
例文 (a), (b) のいずれの文中にも単語 “can” が存在し, そのどちらも関係分類の対象となっている. 例文
(a) の “can” は, 空き缶という意味の “tin can” の一部であるため, 名詞であると品詞タグ付けされる必
要がある. しかし, 本実験で用いた構文解析器 Enju によると, この “can” は助動詞とタグ付けされてい
た. 3.1.3.1 節の通り, 提案手法では単語のベクトルを品詞ごとに使い分けることで, 名詞の “can NN”
と助動詞の “can MD” を区別できると述べたが, そもそも品詞タグ付の時点で誤りがあると, この手法
は結果に悪影響を及ぼす原因になる. 例文 (b) の “can” も同様に助動詞としてタグ付けされてしまっ
ていた.
さらに例文 (b) では, 品詞タグ付けだけでなく, 構文木に関しても誤りが存在する. Enju による構文
木の中で, 例文 (b) の部分的な句
discovered inside a powdered milk can two months ago
32
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
図 3.4: 構文解析の誤りの例.
に対応する部分木を図 3.4 に示す. 本来, 例文 (b) の “cause” は名詞句 “a powdered milk can” の一部で
あるはずだが, “a powdered milk” が名詞句としてみなされ, “can” が助動詞として動詞句を成すよう
に解析されてしまっている. 正しくは, 図 3.5 のような構文木が生成されるべきである. このような構
文解析の誤りは, 名詞間の関係を分類するという目的のもとで構築されたモデルにとっては望ましく
ない.
以上のような構文解析誤りは, 今後の構文解析技術の発展により削減される可能性があり, それに
よって本手法の効果もより大きくなることが予想される. しかし, そもそも構文解析を正しく行うた
めには, 文の意味を考慮する必要があると考えられるため, 句や文の分散表現といった意味を考慮す
るようなモデルが構文解析の精度向上に寄与する可能性がある. 実際, 構文情報を利用して RNN を学
習するだけでなく, RNN を利用して構文解析を行う試みが存在する [Le and Zuidema, 2014; Socher et
al., 2010; Socher et al., 2011b; Socher et al., 2013a; Stenetorp, 2013].
3.1.5.4 学習後の句の表現ベクトル
最後に, 学習後に実際に得られた句の表現ベクトルの例を紹介する. 開発データから取り出した句
(分類対象の名詞を含む)
Liver [cancer]E1 caused by HBV [virus]E2
の表現ベクトルを計算し, そのベクトルと類似度の高い (ここでは, コサイン距離で近い) ベクトルを
持つ句を開発データから取り出す実験を行った. まずは, 学習前の状態では, 以下のような句が類似度
の高い順に得られた:
√
1) Cervical [cancer]E1 is caused by [infection]E2 with the human papillomavirus (HPV) and is one
of the most common cancers in women in developing countries
33
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
第 3 章 構文情報を利用した分散表現の学習
図 3.5: 理想的な構文木.
2) the [cancer]E1 spreads into other [areas]E2
√
3) [disease]E1 caused by the H5N1 [virus]E2
√
4) [disease]E1 caused by the [organism]E2 , its transmission , geographical distribution
5) rare and incurable congenital [disease]E1 which causes [blindness]E2 .
チェックマークがついているものは, クエリの句と同じクラスラベル (E2 によって E1 が引き起こされ
る) をもつ句である. まずここで大事なことは, RNN ベースのモデルを用いることにより, 任意の長さ
の句が, 直接にコサイン距離によってその類似度を測れるようになっている点である. これを見ると,
“caused by” という句に反応して同じクラスの句がある程度近くなっていることが見て取れる. その
一方で, 因果関係とは関係ない句が近くなってしまったりしている. また, 5 つ目に関しては, “causes”
という単語はあるが, E1 と E2 の因果関係が逆になっている. 次に学習後の結果を同様に示す:
√
1) direct [catastrophe]E1 caused by the [earthquake]E2
√
2) ecological [catastrophe]E1 caused by the Prestige oil [spill]E2
√
3) natural [disasters]E1 caused by the climate [change]E2
√
4) environmental [damage]E1 caused by the Olympic [flame]E2
√
5) economic and social [damage]E1 caused by the [crisis]E2 .
学習後は “E1 caused by E2” という句が明確に近くなっていることがわかる.
34
3.1 句構造に基づく文の分散表現による
名詞間の意味的関係分類
3.1.6
第 3 章 構文情報を利用した分散表現の学習
まとめと今後の課題
本節では, 関係分類に特化した RNN の構築手法と, 学習時のモデルパラメータの平均化を提案し,
その効果を SemEval 2010 Task 8 を用いて確認した. 実験結果より, 構文情報とタスク特有の事前知識
が効果的に働くことを示し, さらに, モデルパラメータの平均化が汎化性能の向上に非常に大きな効
果を持つことを示した. これらの知見は, 自然言語処理においてニューラルネットワークの手法を開
発し, 様々なタスクに適用していく際に有益であると言える.
今後は,
• 他のタスクにおける提案手法の有効性
• より深い構文情報の活用
などを課題とする. このうち二つめに関しては, 次の 3.2 節で取り組む.
35
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
図 3.6: 提案モデル PAS-CLBLM の概要.
3.2
述語項構造に基づく単語とその意味構成関数の同時学習
本節では, 述語項構造に基づく意味構成関数を用いた単語予測モデルを提案する. 提案手法では, 従
来の手法で主に用いられている bag of words に加え, 述語と項の依存関係に着目することで, 単語の
分散表現と句の意味構成関数が同時に学習される. 述語のカテゴリ情報に基づいて述語と項の依存関
係に着目することにより, (主語)-動詞-目的語といった, 必ずしも隣接しない単語 (句) から成る構造の
表現をより良く扱うことができる.
提案手法により学習された句の分散表現を評価するために, 短い句の意味の類似度を測るタスクを
用いて評価実験を行った. 特に, 動詞句に関するタスクでは既存研究に比べて最高精度を達成した. そ
の結果は, 他の単語ベクトル学習モデルによる事前学習を必要とせず, 従来の研究に比べて小さなコー
パスによって達成された. 一連の実験により, 従来の多くの研究とは異なり, 大規模コーパスを用いて
単語だけでなく句の分散表現も同時に学習することができる可能性が示された. これは今後, より長
い文の表現まで学習する際の手掛かりとなる.
3.2.1
導入
2.2.1 節で述べたように, 自然言語処理において, 単語をベクトル空間で表現する研究が盛んに行わ
れている. 単語を表現するベクトルは, 単語に内在する構文的・意味的な性質を捉えることができる
と言われている [Turney and Pantel, 2010]. また, そのような単語ベクトルは自然言語処理のシステム
において重要な要素として認識され始めている. 特に, 2.2.1 節でも紹介したニューラルネットワーク
言語モデル [Bengio et al., 2003] により学習された低次元の単語のベクトル表現が, 自然言語処理の幅
広いタスクにおいて有用であることが示されている [Collobert et al., 2011; Turian et al., 2010].
近年では, 2.2.2 節で述べた通り, ベクトル空間を用いた言語の表現に関する研究は, 単語だけでな
く句や文をベクトルで表現する方向に進み始めている [Baroni and Zamparelli, 2010; Grefenstette and
Sadrzadeh, 2011; Mitchell and Lapata, 2010; Socher et al., 2012]. 句や文をベクトル空間で表現するた
めに,
36
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
1. 構成要素の単語をベクトルなどによって表現する,
2. 各単語の表現を用いて句や文全体の表現を計算する,
といった手順に基づく意味構成の手法が中心的に研究されている. そのような意味構成の考え方と
ニューラルネットワーク言語モデルを組み合わせることにより, Tsubaki et al. (2013) は動詞-目的語の
依存関係に着目した新たなニューラルネットワーク言語モデルを提案した. また, Levy and Goldberg
(2014) は, 二単語間の様々な依存関係に基づくニューラルネットワーク言語モデルを提案している. し
かし,
• 二単語に限らず様々な単語間の依存関係に着目し,
• 単語だけでなく句や文の意味表現を構成する関数も同時に学習する
ような手法はこれまで存在していない. ここで, 以下のような問題が提起される:
複数単語の関係を表す様々な種類の依存関係に基づいて, 従来の単語ベクトルだけでなく, 複数
単語からなる句の表現ベクトルを構成する関数を学習できるか.
そこで本節では,
• 従来の単語ベクトルの学習手法 [Levy and Goldberg, 2014; Mikolov et al., 2013b; Mnih and
Kavukcuoglu, 2013] と,
• 意味構成を考慮したニューラルネットワーク言語モデル [Tsubaki et al., 2013]
のギャップを埋めることを目的とし, そのために述語項構造の利用を提案する. より具体的には,
述語項構造に基づき, 意味構成関数を用いた単語予測モデル: PAS-CLBLM (Compositional Log-
Bilinear Language Model using Predicate-Argument Structures)
を提案する. PAS-CLBLM の概要を図 3.6 に示す. このモデルは,
• bag of words に基づく文脈
• 依存関係に基づく文脈
を用いて, 文中の単語の予測精度を最大化することにより学習される. 特に, 依存関係を用いることで,
選択選好に基づいて学習が行われる. 選択選好とは, ある述語 (例えば動詞) がどのような項 (例えば
主語・目的語) をとりやすいかといった情報である. 図 3.6 (b) に示す通り, PAS-CLBLM の大きな特
徴は,
単語だけでなく, 複数単語を組み合わせた表現も文脈として扱える
ということである. つまり, 複数単語を組み合わせた表現も単語と同様に, 単語予測モデルの文脈情報
として扱われるため, 似た意味を持つ単語と複合語などの表現がベクトル空間で近くなることが期待
できる. 例えば, 図 3.6 の例に関連して,
37
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
ア) [heavy rain] cause [car accident]
イ) [downpour] cause [car accident]
という主語-動詞-目的語の関係があるとき,
名詞句 “heavy rain” と名詞 “downpour” は共に “car accident” (自動車事故) を引き起こすもので
ある,
という情報が得られるため, “heavy rain” と “downpour” を表すベクトルの類似度が高くなることが期
待される.
実験では, 実際に形容詞-名詞, 名詞-名詞といった構造の名詞句や, 主語-動詞-目的語, 動詞-目的語
といった構造の動詞句の表現に関して, 期待通りの学習が行われることを示す. PAS-CLBLM によっ
て学習された意味構成関数を用いることで, 動詞句 (動詞-目的語) と名詞句 (形容詞-名詞, 名詞-名詞)
に関してその意味的な類似度を測る 3 つのタスクにおいて, 先行研究の最高スコアに迫る結果を達成
した. さらに, より複雑な構造をもつ動詞句 (主語-動詞-目的語) の意味的な類似度を測るタスクにお
いては, 現状の最高スコアを達成した. その際, 先行研究で最高スコアを達成していた Tsubaki et al.
(2013) と Van de Cruys et al. (2013) で用いられていた学習コーパスに比べて, PAS-CLBLM は非常に
小さなコーパスによってその最高スコアを得た. また, 単語ベクトルに関する事前学習をあらかじめ
別のステップとして行う必要が無いことも重要である. PAS-CLBLM では, 単語のベクトルと, それら
を組み合わせる関数が全て一から同時に学習される.
3.2.2
関連研究
3.2.2.1 単語をベクトル空間で表現する手法
2.2.1 節で述べた通り, 単語のもつ意味をベクトル空間で表現する研究が盛んに行われている. その
多くは, 単語の意味はその単語が出現する文脈によって決まる, という仮説 [Firth, 1957] に基づいてい
る. ある単語の文脈として最もよく用いられるのは, その単語の前後の数単語の情報である. 例えば,
There is a large body of work on how to represent the meaning of a word in a vector space.
という文の単語 “meaning” に着目し, その前後三単語を文脈として定義すると,
to, represent, the, of, a, word
が順不同で, つまり, bag of words の形で “meaning” の文脈語として扱われる. 実際には, テキストデー
タを大量に集めたコーパスの中で出現した全ての “meaning” に関して文脈語を調べて数え上げるこ
とになる. このように, 単語とその前後の文脈との共起の統計に基づいて単語を表現するベクトルを
計算する手法はよく用いられている [Mitchell and Lapata, 2008; Mitchell and Lapata, 2010; Blacoe and
Lapata, 2012]. また, 単語に関する文脈情報としては, 文中での前後数単語だけでなく, 単語の依存関
係をもとにしたものも用いられている [Goyal et al., 2013; Erk and Padó, 2008; Thater et al., 2010].
38
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
以上のような単語のベクトル表現の手法に比べて, 単語の分散表現は, 単語を低次元空間で表現す
る手法である [Bengio et al., 2003; Collobert et al., 2011]. 様々な単語の表現手法に関する比較などは,
Turian et al. (2010) に詳しい. 最近では, Mikolov et al. (2013b) や Mnih and Kavukcuoglu (2013) が, 従
来の 50 次元や 100 次元などと比べて, より大きな次元で単語の分散表現を学習する手法を提案した.
また, Levy and Goldberg (2014) は, Mikolov et al. (2013b) の手法を応用して, 構文的な依存関係を文脈
として用いることで単語の分散表現を学習する手法を提案した.
3.2.2.2 句や文をベクトル空間で表現する手法
2.2.2 節で説明したように, 単語だけでなく, 句や文をベクトル空間で表現する手法も盛んに研究さ
れ始めている. Mitchell and Lapata (2008) は, 単語の表現ベクトルを組み合わせることで句の表現ベ
クトルを計算する手法に関して, 様々な意味構成関数を用いてその効果を確かめる実験を行った. そ
の中で, 最も単純で, かつ, 広く用いられている手法は, 句を構成する単語を表すベクトルを要素ごと
に値を足す, もしくは掛けるというものである [Mitchell and Lapata, 2008; Mitchell and Lapata, 2010].
ベクトルの要素ごとの和・積による句の意味構成の手法は, 2, 3 単語からなる短い句を表現する際に
非常に効果的に用いられている. また, その簡明さから, 短い句だけでなく, 文や文書全体を表現する
際にも用いられることがある. しかし, その簡明さゆえに,
• 語順が考慮できない,
• 単語間の構文的な関係が考慮できない
といった問題を内在している.
ベクトル空間での意味構成の手法に, 構文的な情報を導入するために様々な意味構成モデルが提案
されている. それらの中には,
• 3.1 節で提案したような句構造の構文木に基づくモデル [Socher et al., 2012; Socher et al., 2013b]
や,
• 単語が持つ構文的な役割とその関係を考慮した意味構成のモデル [Baroni and Zamparelli, 2010;
Grefenstette and Sadrzadeh, 2011; Hermann and Blunsom, 2013; Socher et al., 2013a]
が存在する.
より最近では, 単語間の構文的な依存関係に着目した意味構成のモデルが提案され始めている [Pa-
perno et al., 2014; Socher et al., 2014; Tsubaki et al., 2013]. 句構造に基づくモデルに比べて, 単語間の
依存関係に基づくモデルは語順に影響されにくいという特徴を持つ. これらの研究の中で, Tsubaki et
al. (2013) は, 特に動詞と目的語の依存関係に着目することで, それらの意味構成を考慮したニューラ
ルネットワーク言語モデルを提案し, 主語-動詞-目的語からなる動詞句の意味の類似度を測るタスク
において最高スコアを達成した.
39
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
3.2.3
第 3 章 構文情報を利用した分散表現の学習
提案手法
近年のニューラルネットワークに基づく単語の表現ベクトルの学習は, 単語の予測問題をモデル化
することによって行われる [Mikolov et al., 2013a; Mnih and Kavukcuoglu, 2013]. 単語の予測問題とは,
ある文中で一つの単語に着目したとき, その単語に関する文脈情報からその単語を予測することであ
る. 例えば, 先述の例文
There is a large body of work on how to represent the [ ] of a word in a vector space.
の中で, [ ] に入る単語が “meaning” であり, その他の単語は入らない, ということを識別できるよう
なモデルを作ることになる. その際に用いられる文脈は, 予測対象となる単語の前後数単語 (この例
では前後三単語) として定義されることが多い [Mikolov et al., 2013a; Mnih and Kavukcuoglu, 2013].
Mikolov et al. (2013a) は文脈語の語順を考慮しないモデルを提案したが, Mnih and Kavukcuoglu (2013)
は文脈語の語順を考慮したモデルも提案した. このようなモデルは, 文脈 c が与えられた時にある単
語 w が出現する確率
p(w|c)
(3.18)
を定義することにより実現される. つまり, 文脈 c から予測されるべき単語に関しては p(w|c) が高く
なり, それ以外の単語に関しては p(w|c) が低くなるように学習を行う. Mikolov et al. (2013a) や Mnih
and Kavukcuoglu (2013) のモデルでは, 文脈 c は文脈語の単語を表現するベクトルの和などによって
計算される. 単語を表現するベクトルは乱数を用いて初期化されるため, 始めのうちは単語間の類似
度を測るものとして意味をなさないが, 単語の予測問題を解けるように単語ベクトルのパラメータを
更新していくうちに,
• ある単語から特定の単語が予測されやすい (共起しやすい)
• ある単語から特定の単語が予測されにくい (共起しにくい)
といった統計情報を反映した単語ベクトルが学習されていく. その結果, 似たような文脈に出現する
単語がベクトル空間で近くなる.
本節では, このような単語の予測問題に基づく単語ベクトルの学習モデルに従い,
述語項構造に基づいて単語の予測問題を解くことにより, 単語だけでなく複数語からなる表現
のベクトルを構成する関数も同時に学習するモデル
を提案する. 本節ではまず, 提案手法の基礎となる述語項構造について説明する. 次に, 述語項構造に基
づく単語予測モデル PAS-LBLM (Log-Bilinear Language Model using Predicate-Argument Structures) を
説明する. 最後に, 意味構成関数を導入したモデル PAS-CLBLM (Compositional Log-Bilinear Language
Model using Predicate-Argument Structures) を説明する. 図 3.6 に提案手法の概要を示す.
3.2.3.1 述語項構造
ここでは, 提案手法の基礎となる述語項構造に関して説明する. 近年の構文解析に関する研究の
発展に伴い, 述語項構造解析を行うことが出来る構文解析器は, 現実のアプリケーションで用いるこ
40
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
カテゴリ
第 3 章 構文情報を利用した分散表現の学習
述語
項1
項2
adj arg1
heavy
rain
noun arg1
car
accident
verb arg12
cause
heavy rain
car accident
prep arg12
at
eat
expensive restaurant
表 3.6: 構文解析器 Enju による述語項構造の出力例.
カテゴリ
述語
項1
項2
adj arg1
heavy
rain
noun arg1
car
accident
verb arg12
cause
rain
accident
prep arg12
at
eat
restaurant
表 3.7: 項の主辞をとることで簡単化された述語項構造.
とが可能なほど十分に速くて正確になってきている. そのなかでも, 本研究では主辞駆動句構造文法
(Head-driven Phrase Structure Grammar, HPSG) に基づく構文解析器 Enju [Miyao and Tsujii, 2008] に
よって出力される述語項構造を利用する. 一般的に述語というと, 動詞を指し, その項は主語や目的語
であることが多い. しかし, Enju の文法では, 文中の全ての単語がある種の述語 (predicate) として扱
われ, それらに対して特定数の項 (argument) が定義される. 表 3.6 に述語のカテゴリと, 実際の述語と
項の関係の例を示す.
• “adj arg1” は, 項を一つとる形容詞を表すカテゴリである. 表 3.6 の例では, 形容詞 “heavy” が述
語であり, それに修飾される名詞 “rain” が項になっている.
• “noun arg1” は, 項を一つとる名詞を表すカテゴリである. 表 3.6 の例では, 名詞 “car” が述語で
あり, それに修飾される名詞 “accident” が項である.
これらの例は項を一つだけとる述語である.
• “verb arg12” は, 項を二つとる動詞を表すカテゴリである. 表 3.6 の例では, 動詞 “cause” が述語
であり, その主語に相当する名詞句 “heavy rain” が一つ目の項で, 目的語に相当する名詞句 “car
accident” が二つ目の項である.
• “prep arg12” は, 項を二つとる前置詞を表すカテゴリである. 表 3.6 の例では, 前置詞 “at” が述
語として扱われており, 動詞 “eat” が一つ目の項で, 場所を表す名詞句 “expensive restaurant” が
二つ目の項になっている.
41
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
このように, 動詞だけでなく様々な述語を定義することによって, 項と項の関係が述語によって定義
される 5 . 表 3.6 に示す通り, 基本的には項は句構造に基づく句になっているが, それらの主辞をとる
ことで, 表 3.7 のように, 表 3.6 中の例を単語間の依存関係を表す簡単化したものに変換することがで
きる. 本研究ではこのように簡単化された単語と単語の依存関係に基づいて提案モデルの構築を行う.
以上のような述語項構造を用いることの利点の一つは, 二単語以上の関係を様々なカテゴリの述
語によって表すことができる点である. 一般的な構文解析器による単語の係り受け解析 (dependency
parsing) では, 二単語間の関係のみを扱うことが多い. 例えば, 述語項構造解析によると,
(a) the heavy rain caused the car accident
という文からは, 表 3.7 にある例
述語: “cause”, 項 1: “rain”, 項 2: “accident”
という述語と項の関係が取り出せる. また,
(b) the car accident was caused by the heavy rain
という文を考えると, 例文 (a) と全く同様の述語項構造
述語: “cause”, 項 1: “rain”, 項 2: “accident”
を取り出すことができる. つまり, 文法上では文 (a) と (b) は能動態・受動態という違いがあるが, 意
味的には同じことを言っている, ということを述語項構造によって知ることが出来る. このように, 述
語項構造は文の意味を考えるうえで有用であり, 「誰が何に何をした」といった情報を扱う際に便利
である.
3.2.3.2 述語項構造に基づく単語予測モデル
PAS-LBLM は, 述語項構造に基づく文脈情報を用いて単語を予測するモデルである. ここでは, 語
彙 V 中の各単語 w が d 次元のベクトル v(w) ∈ Rd×1 として表されていると仮定する. カテゴリ c の
述語とその項が文中から得られた時, PAS-LBLM は
1. 述語と項のうち一単語を予測対象の単語として選択し,
2. 残りの単語とカテゴリ情報を文脈情報として扱い, 対象単語を予測する.
文脈語を w1 , w2 , . . . , wm とするとき, 予測対象の単語 wt を予測するための特徴ベクトル p(wt ) ∈ Rd×1
を
p(wt ) = f
(m
∑
)
hci
⊙ v(wi )
(3.19)
i=1
5 よ り 具 体 的 な Enju の 述 語 の カ テ ゴ リ に 関 し て は,
enju-output-spec.html に詳しい.
42
http://www.nactem.ac.uk/enju/enju-manual/
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
として計算する. ここで, hci ∈ Rd×1 はカテゴリ c に依存した重みベクトルであり, ⊙ はベクトルの要
素ごとの積を表す. また, f はベクトルの要素ごとに作用する非線形関数であり, ここでは tanh を用
いる. 重みベクトル hci の役割は, カテゴリ c の述語と項の関係において, 単語 wi が役割 i を持つとい
う情報を単語ベクトル v(wi ) に付与することである. ここで, 役割 i とは, 述語か, 項 1 か項 2 か, と
いったことを表す.
図 3.6 (a) の例を用いると, 述語 “cause” が項 1 “rain”, 項 2 “accident” と共に文中から取得されたと
き, PAS-LBLM は p(cause) ∈ Rd×1 を式 (3.19) に従って計算する:
arg12
verb arg12
p(cause) = f (hverb
⊙ v(rain) + harg2
⊙ v(accident))
arg1
(3.20)
式 (3.20) では, 述語が予測対象単語として扱われており, その項が予測のための文脈情報として用い
られている. 同様に, 項のうち一つを予測対象単語とすることもできる:
arg12
verb arg12
p(rain) = f (hverb
⊙ v(cause) + harg2
⊙ v(accident))
verb
(3.21)
式 (3.21) では, 項 1 が予測対象単語として扱われており, 述語とその他の項が予測のための文脈情報
として用いられている.
先行研究のモデルとの関連性
ここでは, PAS-LBLM と先行研究で提案されているモデルとの関係を
説明する. PAS-LBLM の文脈語にかかる重みベクトル hci を無視すると, 文脈表現は単に文脈語の単語
ベクトルの和となるため, Mikolov et al. (2013a) の Continuous Bag Of Words (CBOW) と似たものにな
る. CBOW は, 予測対象の周辺に存在する単語を bag of words として扱って単語を予測するモデルで
あり, 文に内在する構造を考慮していない. PAS-LBLM では, 述語項構造に基づく情報を効果的に利用
するため, 述語のカテゴリに依存した重みベクトル hci を用いている. 同様に, Mnih and Kavukcuoglu
(2013) の vLBL モデルにおいても, 予測対象の単語からの相対的な距離に基づいた異なる重みベクト
ルが用いられている. 従来のニューラルネットワーク言語モデル [Bengio et al., 2003; Collobert et al.,
2011; Huang et al., 2012] と同様に, PAS-LBLM も vLBL も hci のような重みベクトルの代わりに重み
行列を用いることが可能である. しかし, Mnih and Teh (2012) によって議論されている通り, 重み行列
の代わりに重みベクトルを用いることで, 質の高い単語ベクトルが非常に高速に学習されることが分
かっている. 重みベクトル hci と単語ベクトルの要素ごとの積という簡明な定式化ではあるが, 次節に
示す通り, PAS-LBLM の重みベクトル hci によって述語項構造に基づく情報を効率的に伝播させるこ
とができる.
3.2.3.3 単語ベクトルの学習
述語項構造に基づく単語の予測問題によって単語ベクトルを学習するため, PAS-LBLM ではある単
語 w が, 与えられた文脈にどれだけ出現しやすいか, という指標となるスコアを計算するスコア関数
を定義する:
s(w, p(wt )) = ṽ(w) · p(wt )
43
(3.22)
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
ここで, ṽ(w) ∈ Rd×1 はスコア計算用の単語 w に関する重みベクトルである. 以上から, 学習される
べき PAS-LBLM のモデルパラメータは
θ = (V, Ṽ, H)
(3.23)
となる. V ∈ Rd×|V| は単語ベクトルを集めたものであり, Ṽ ∈ Rd×|V| はスコア計算用の重みベクト
ルを集めたものである. また, H ∈ Rd×|H| は PAS-LBLM の文脈用の重みベクトルを集めたものであ
り, H は存在する述語カテゴリとその項の組み合わせの集合である.
Collobert et al. (2011) のモデルにおける目的関数に従って, PAS-LBLM のモデルパラメータは, 学
習コーパス中の全ての予測対象の単語 wt に関して以下の誤差関数を定義してその総和を最小化する
ことで学習される:
J = max(0, 1 − s(wt , p(wt )) + s(wn , p(wt )))
(3.24)
ここで, wn は wt とは異なる単語で, 語彙中からランダムに選択されたノイズサンプルである. この誤
差関数は, 特定の文脈での wt の出現しやすさと, wn の出現しやすさをスコア関数によって識別でき
るようにすることを目的に作られている. つまり, 出現しやすい単語にくらべて, 出現しにくい単語の
スコアが相対的に低くなる. wn の選び方は様々に考えられるが, Mikolov et al. (2013b) で提案されて
いるノイズ分布を用いて wn の選択を行う. Mikolov et al. (2013b) の手法では, 単語 wn がノイズ分布
から選択される確率は,
∑
f req(wn )0.75
0.75
wj ∈V f req(wj )
(3.25)
として定義される. ここで, f req(wj ) は単語 wj が学習コーパス中に出現する回数である. 直観的に
は, 頻繁に出現する単語 (“the” や “of” など) ほど頻繁にノイズサンプルとして扱われる, ということ
である 6 . 全体の目的関数は, 2.1.3 節で紹介した AdaGrad [Duchi et al., 2011] によって最小化される.
より具体的な学習設定は 3.2.4.5 節で述べる.
ソフトマックス回帰モデルとの関係
本来は, ソフトマックス関数に基づいて計算される単語の予測
確率
p(w|p(wt )) = ∑
exp(s(w, p(wt )))
wi ∈V exp(s(wi , p(wt )))
(3.26)
を用いて, 学習データ中の予測対象の単語に関する対数尤度の総和
∑
log p(wt |p(wt ))
(3.27)
wt
を最大化することで PAS-LBLM のモデルパラメータを学習することができる. これは, ソフトマック
ス回帰と呼ばれるモデルであるが, 語彙 V が大きいとき, 式 (3.26) の分母の計算コストが非常に高く
なる. しかし, 実際に単語の予測確率 p(w|p(wt )) を使用する必要が無い場合には, 必ずしもソフトマッ
クス回帰を行う必要は無い. 近年では, 予測単語の確率分布を介することなく効率よく単語ベクトル
を学習する手法が提案されている [Collobert et al., 2011; Mikolov et al., 2013b; Mnih and Kavukcuoglu,
6 f req(w
j)
の代わりに f req(wj )0.75 を用いる方がよいという報告がある [Mikolov et al., 2013b].
44
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
2013]. Mikolov et al. (2013b) と Mnih and Kavukcuoglu (2013) は, PAS-LBLM と同様に, 単語に依存し
た重みベクトルを用いたスコア関数を定義して学習を行っている. 事前実験では, Mikolov et al. (2013b)
の Negative Sampling と呼ばれる学習法も試したが, 有意な結果の向上が確認できなかったため, ここ
では上述した誤差関数を用いて単語ベクトルの学習を行う.
PAS-LBLM の学習による効果 ここでは, PAS-LBLM の学習によってどのように単語ベクトルが学
習されるか, ということに関して直観的な説明を行う. 述語のカテゴリに依存した重みベクトルは, 学
習される文脈語の単語ベクトルに, 述語項構造に基づく役割の情報を与える. 例えば, ある単語は項を
二つとる動詞であり, ある単語は項を二つとる動詞の項 1 になりやすい, などといった情報である. 学
習中に, そのような情報によって, 述語項構造における似たような役割ももつ単語のベクトルは似た
ような更新をされるため, 結果としてそれらの単語ベクトルの類似度が高くなる. 単語に依存したス
コア計算用の重みベクトルは, 特定の文脈からどの単語が予測されるべきか, されるべきでないか, と
いった情報を伝播する役割を持つ. 結果として, 単語の予測に似たように寄与する文脈語の単語ベク
トルが似たように更新される. さらに, 非線形関数 f = tanh によって, 同じ述語項構造の中で他にど
のような単語が文脈語として存在するのか, という情報を文脈語の単語ベクトルの更新時に反映する
ことができる. 以上のようにして, PAS-LBLM は述語項構造に基づいて効率的に単語ベクトルの学習
を行うことが出来る.
以下では, 実際に式 (3.24) の誤差関数 J を各モデルパラメータに関して誤差逆伝播によって偏微分
した結果を示す. これらの結果によって, 実際にモデルパラメータの更新が行われる.
∂J
= − p(wt )
∂ ṽ(wt )
(3.28)
∂J
= p(wt )
∂ ṽ(wn )
)
(m
∑
′
c
δ=f
hi ⊙ v(wi ) ⊙ (ṽ(wn ) − ṽ(wt ))
(3.29)
(3.30)
i=1
∂J
= δ ⊙ hci
∂v(wi )
(3.31)
∂J
= δ ⊙ v(wi )
∂hci
(3.32)
3.2.3.4 意味構成関数の学習
ここでは, 文全体の述語項構造によって得られる単語のグラフを利用することで, PAS-LBLM に意
味構成関数を導入することを考える. 単語のグラフを利用することで, 複数のカテゴリの述語項構造
の情報を一度に扱うことがきるようになり, さらに意味構成関数の学習も行えるようになる.
式 (3.19) の文脈語 wi (ただし, 述語の場合を除く) が別のカテゴリ c′ の述語項構造を持っていると
45
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
き, 式 (3.19) 中の文脈語の単語ベクトル v(wi ) を以下の式で計算されるベクトルで置き換える:
(1)
(2)
gc′ (v(wi ), v(wi ), v(wi ), . . .)
(3.33)
ここで, gc′ は述語のカテゴリ c′ に依存する意味構成関数であり, その引数は, 単語 wi の単語ベクト
ルと, カテゴリ c′ で関係づけられる述語項構造に関わる単語の単語ベクトル v(wi ), v(wi ), . . . で
(1)
(2)
ある.
図 3.6 (b) を用いて具体例を示す. 述語 “cause” の項 1 “rain” が別の述語 “heavy” の項にもなってい
るため, まず式 (3.33) によって “heavy rain” を表す d 次元ベクトルを計算する:
gadj arg1 (v(heavy), v(rain))
(3.34)
ここでは, カテゴリ c′ は “adj arg1” である. つまり, 式 (3.34) によって, 形容詞と名詞の修飾関係か
ら成り立つ名詞句 “heavy rain” の表現ベクトルが計算されることになる. その際に用いる意味構成関
数 gc′ はどのようなものを用いてもよい. 例えば, ベクトルの要素ごとの和・積 [Mitchell and Lapata,
2008] や, ニューラルネットワーク [Socher et al., 2012] を用いることが出来る. 同様に, 述語 “cause”
の項 2 “accident” に関しても, 以下のように名詞と名詞の修飾関係からなる名詞句 “car accident” のベ
クトルを意味構成関数によって計算することが出来る:
gnoun arg1 (v(car), v(accident))
(3.35)
これらを v(heavy rain) と v(car accident) と定義すると, 式 (3.20) は以下のように書き換えることが
できる:
verb arg12
verb arg12
p(cause) = f (harg1
⊙ v(heavy rain) + harg2
⊙ v(car accident))
(3.36)
このように, 意味構成関数を導入したモデルを PAS-CLBLM と呼ぶ. PAS-CLBLM により, 単語だけ
でなく, 意味構成関数によって計算された簡単な句のベクトルも文脈として扱うことができるように
なるため, 本研究の目的のひとつである, 句の表現ベクトルを同時に学習することが実現される.
3.2.3.5
Bag of Words に基づく文脈の導入
以上で述べた通り, PAS-CLBLM は述語項構造に基づいた文脈情報を用いて効率良く単語ベクトル
と意味構成関数を学習することができる. しかし, その性質上, 文脈として扱える単語数が限られてし
まうという制約も生じる. 先述した Mikolov et al. (2013a) の CBOW や, Mnih and Kavukcuoglu (2013)
の vLBL などのモデルでは, bag of words を用いることで 10 単語以上を文脈語として同時に扱うこ
とが可能である. Huang et al. (2012) は, ニューラルネットワーク言語モデルの学習において, 局所的
な文脈情報で欠けている情報を補うために, より広範囲にわたる文脈情報も同時に利用することを提
案した. そこで, PAS-LBLM と PAS-CLBLM においても, 利用可能な文脈情報を増やすために, bag of
words に基づく文脈情報を述語項構造の文脈情報に追加する. 具体的には, 式 (3.19) に, 以下のように
bag of words を表す文脈ベクトルを追加することで実現する:
(m
)
∑
c
c
p(wt ) = f
hi ⊙ v(wi ) + hBoW ⊙ v(BoW)
(3.37)
i=1
46
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
ここで, hcBoW ∈ Rd×1 は bag of words の文脈用の重みベクトルであり, v(BoW) ∈ Rd×1 は,
v(BoW) =
N
1 ∑
v(bi )
N i=1
(3.38)
として計算される. v(bi ) ∈ Rd×1 は, 予測対象の単語 wt と同じ文中に出てくる単語のうち, 述語項構
造の文脈として用いられていない単語 bi の単語ベクトルを表す. 本稿では特に, bi の対象として
• 名詞
• 動詞
を用いる.
3.2.4
実験設定
本節では, PAS-LBLM と PAS-CLBLM の性能を評価するために行った実験の設定について説明する.
3.2.4.1 学習コーパス
学習用コーパスには, British National Corpus7 (BNC) を用いた. BNC の元のファイルから, 一行一文
として, 6,051,206 行を取得することができた. それらの全ての文に関して, 3.2.3.1 節で説明した構文
解析器 Enju を用いて構文情報を取得し, その述語項構造を利用した.
3.2.4.2 品詞タグによる語義曖昧性の解消
3.1.3.1 節と同様に, 単語のベクトルをその役割, つまり品詞によって使い分けることを行った. 例
えば, 単語 “cause” は名詞にも動詞にもなり得るが, 多くの単語ベクトルを扱う手法ではこれらの違
いは無視され, “cause” という文字列に一つだけベクトルを割り当てている. しかしそのような場合に
も, 文脈に応じた語義曖昧性の解消を事後的に行うことが可能であることが示されている [Huang et
al., 2012; Kartsaklis and Sadrzadeh, 2013; Kartsaklis et al., 2013]. また, Kartsaklis and Sadrzadeh (2013)
は 3.1.3.1 節と同様に, 品詞ごとに異なるベクトルを割り当てる手法を採っている. その他には, Baroni
and Zamparelli (2010) のように, 形容詞は行列で表し, 名詞はベクトルで表す, などといった手法も存
在する.
本実験では, 3.1.3.1 節と同様に, 単語と品詞を組み合わせたものに一つベクトルを割り当てること
にした. 以下では, 3.1.3.1 節で採った手法と異なる点を示す:
• Enju から出力された単語の基本形を用いた
• 品詞タグの最初の二文字のみを用いた
7 http://www.natcorp.ox.ac.uk/.
47
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
単語の基本形を用いることで, 例えば, “cause”, “causes”, “caused” は全て “cause” として扱われること
になる. これにより, 動詞の場合には, 現在形, 過去形, 過去分詞形などの区別が無くなる. 名詞の場合
には, 単数形, 複数形の違いが無くなる. また, 品詞タグの最初の二文字のみを用いることで, 例えば,
動詞に関する品詞タグ “VB”, “VBP”, “VBZ”, “VBG”, “VBD”, “VBN” が全て “VB” として扱われるた
め, 能動態, 受動態などの区別や, 時制の区別がすべて無くなる. 以上により, 単語 “cause” は以下の二
種類に分類される:
• 名詞の “cause N”
• 動詞の “cause V”
実験では, BNC での出現頻度上位順に 100,000 の品詞タグと単語の組み合わせを用いた.
3.2.4.3 述語のカテゴリに基づく学習データの選択
PAS-LBLM と PAS-CLBLM を学習する際には, あらゆるカテゴリの述語を用いることが出来る. し
かし, 本実験で行う名詞句と動詞句の意味の類似度を測るタスクを考えるうえで, 必ずしも重要とは
いえない述語のカテゴリが存在することが事前実験において確認された. 例えば, 本研究で用いてい
る構文解析器 Enju では, あらゆる品詞の単語が述語として扱われるため, 冠詞も名詞を修飾するもの
として述語になる. しかし, 冠詞に関する述語項構造のデータからは, 名詞は冠詞 “the” に修飾されや
すい, といった情報しか得られない. そこで, 学習に用いる述語のカテゴリを, 3.2.3.1 節で説明した表
3.7 中の 4 カテゴリ
• “adj arg1”
• “noun arg1”
• “prep arg12”
• “verb arg12”
に限定した. これらのカテゴリは, 選択選好 (selectional preference) に関する重要な情報をもたらすと
考えられる. 選択選好とは, 例えば, ある他動詞に関してどのような主語や目的語を伴うのが尤もらし
いか, という概念である. つまり, 動詞 “eat” の目的語には食べ物を表す単語がきやすく, “car” などの
単語はきにくい, といったことである. 特に, 述語として前置詞を扱うことは, 動詞の表現を学習する
うえで重要である. 前置詞が述語で, 項 1 が動詞, 項 2 が名詞などのとき, その前置詞句を項 1 の動詞
に関する動詞句の付加部と呼ぶ. 付加部を考えることにより, 例えば,
eat at restaurant
という関係から, “eat” という行為は “restaurant” で (“at”) 起こり得るものである, という重要な情報
が得られる. このように, 前置詞は付加部と関連して動詞を項にとれるため, 動詞 (句) の表現を学習
する際の大きな手がかりになる.
48
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
図 3.7: PAS-CLBLM の学習データの例.
意味構成関数
Addl
v(heavy) + v(rain)
Addnl
tanh(v(heavy) + v(rain))
Waddl
arg1
adj arg1
madj
⊙ v(rain)
⊙ v(heavy) + marg1
adj
Waddnl
adj arg1
adj arg1
tanh(madj
⊙ v(rain))
⊙ v(heavy) + marg1
表 3.8: PAS-CLBLM で用いる意味構成関数.
PAS-CLBLM を学習する際には, どのカテゴリに関する意味構成を考慮するか, ということを考え
る必要がある. 本実験では, 名詞句と動詞句を評価対象としているため, 3.2.3.4 節におけるカテゴリ c′
が
• “adj arg1”
• “noun arg1”
• “verb arg12”
の場合にのみ, PAS-CLBLM の学習データとした. 図 3.7 に, PAS-CLBLM の学習データの例を示す.
例えば図 3.7 中の右の例
[eat food] at [expensive restaurant]
からは, 「食事をする」というのは「高価なレストラン」で起こり得るものであるという情報が得ら
れる. このような学習データにより PAS-CLBLM を学習することで, 効果的に名詞句と動詞句の表現
が学習される.
3.2.4.4 意味構成関数の選択
3.2.3.4 節で述べた通り, PAS-CLBLM では式 (3.33) の gc′ に任意の意味構成関数を用いることが出
来る. 本実験では, PAS-LBLM の高速な学習速度を維持するために, ニューラルネットワークなどの
密な行列演算を伴う意味構成関数 [Socher et al., 2012] は用いないことにする. 表 3.8 に, 本実験で用
49
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
いる意味構成関数を列挙する. 表 3.8 は, 形容詞と名詞の修飾関係 “heavy rain” のベクトルを意味構成
関数により計算する例を示している. 以下でそれぞれの意味構成関数の説明を行う:
Addl 単語ベクトルの要素ごとの和をとったもの
Addnl Addl の出力を非線形関数 tanh に入力したもの
Waddl 述語のカテゴリと述語項の役割に依存した重みベクトル mci ∈ Rd×1 を要素ごとに単語ベク
トルに掛け, その結果の要素ごとの和をとったもの
Waddnl Waddl の出力を非線形関数 tanh に入力したもの
Waddl または Waddnl を用いる場合には, 述語のカテゴリごとに用意する意味構成関数用の重みベク
トル mci もモデルパラメータに追加する. 非線形関数は, 誤差逆伝播法によってモデルパラメータを
更新する際に, 入力単語ベクトル間の相互作用を考慮する効果があるため, 動詞句のように単語間の
複雑な関係をモデル化する際には有効であると考えられる.
3.2.4.5 モデルパラメータの初期化と学習
単語のベクトルの次元は d = 50 に設定した. つまり, 語彙中の全ての品詞-単語の組み合わせに 50
次元のベクトルがパラメータとして割り当てられる. それらの単語ベクトルと, 各単語に対応するス
コア計算用の重みベクトル, および文脈語に作用する重みベクトルは, Glorot and Bengio (2010) に基
づいて全て一様乱数で初期化した. 意味構成関数の重みベクトルの初期化は, Socher et al. (2013a) に
関連して, 全て 1 で初期化した. つまり, 学習前の段階では, 意味構成関数 Waddl と Waddnl のどちら
においても, 単語ベクトルが単に足し合わされることになる.
PAS-LBLM と PAS-CLBLM に関する目的関数に関しては, ミニバッチを用いた AdaGrad [Duchi et
al., 2011] で最適化を行った. PAS-LBLM と PAS-CLBLM の学習では, 単語の出現頻度や, 述語のカ
テゴリの出現頻度に差があるので, 個々のパラメータごとに学習率が自動で調整される AdaGrad が
適していると言える. ミニバッチの大きさは 32 とし, 学習率は 0.05 とした. つまり, 学習データから
32 事例をサンプリングし, それらに関する誤差関数を小さくするように毎回のモデルパラメータの更
新を行った. 学習中に単語ベクトルが意味的な情報をとらえているかどうか, ということに関しては
WordSim-353 [Finkelstein et al., 2001] というデータセット 8 を用いて確認した. WordSim-353 は, 名詞
間の意味的な類似度を測るためのデータセットであり, 単語ベクトルの研究の評価実験で広く用いら
れているものである.
3.2.5
定量的評価
PAS-LBLM と PAS-CLBLM によって学習された単語ベクトルと, 意味構成関数により計算された句
のベクトルを定量的に評価するために, 短い句の意味的な類似度を測るタスクを用いて実験を行った.
8 http://www.cs.technion.ac.il/
˜gabr/resources/data/wordsim353/.
50
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
句1
句2
類似度スコア
vast amount
large quantity
7
important part
significant role
7
efficient use
little room
1
early stage
dark eye
1
表 3.9: AN データセットの例.
句1
句2
類似度スコア
wage increase
tax rate
7
education course
training programme
6
office worker
kitchen door
2
study group
news agency
1
表 3.10: NN データセットの例.
句1
句2
類似度スコア
start work
begin career
7
pour tea
drink water
6
shut door
close eye
1
wave hand
start work
1
表 3.11: VO データセットの例.
3.2.5.1 評価実験の設定
提案手法によって獲得される句の表現ベクトルの質を評価するために, 短い句の意味的な類似度を
測る四つのタスクを用いて評価実験を行った. そのうち三つは, Mitchell and Lapata (2010) の
• 形容詞と名詞から成る名詞句 (Adjective-Noun, AN) のデータセット
• 名詞と名詞から成る名詞句 (Noun-Noun, NN) のデータセット
• 動詞と目的語から成る動詞句 (Verb-Object, VO) のデータセット
である 9 . もう一つは, Grefenstette and Sadrzadeh (2011) の,
• 主語, 動詞, 目的語からなる動詞句 (Subject-Verb-Object, SVO) のデータセット
である 10 .
9 http://homepages.inf.ed.ac.uk/s0453356/share.
10 http://www.cs.ox.ac.uk/activities/compdistmeaning/GS2011data.txt.
51
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
句1
句2
類似度スコア
student write name
student spell name
7
child show sign
child express sign
6
river meet sea
river visit sea
1
system meet criterion
system visit criterion
1
表 3.12: SVO データセットの例.
AN, NN, VO のデータセットはそれぞれ 108 個の句の組から成っている. また, SVO データセット
は, 200 個の句の組から成っている. それぞれの組には, 人手で付けられた, 意味的な類似度を表すス
コアが [1, 7] の範囲の整数でつけられている. そのスコアが高いほど, 句の組の意味的な類似度が高い
ことを意味する. 基本的に, 各データに関して複数人がスコアを付けている. 特に, SVO データセット
では, 異なる他動詞が同じ主語・目的語を伴ったときにどのように意味が変化するか, といった語義
曖昧性解消の側面も含まれている.
これらのデータセットでは, 人手で付けたスコアと, システムが出力したスコアに関して, スピアマ
ンの順位相関係数を測ることで評価が行われる. システムが出力したスコアとは, ここでは, 意味構成
関数によって計算された二つの句のコサイン類似度を指す. 人手でつけたスコアを評価に利用する際
には,
• それらの各データごとに平均する
• 平均せずに全て別々のデータとして扱う
という二通りの方法が存在する. 本実験では, 主に個々のスコアを平均しない方法を採用するが, 先行
研究との比較のため, SVO データセットでは平均する場合の評価も行う.
PAS-CLBLM の場合には, 各データセットの全ての句を, 表 3.8 に示した意味構成関数を用いて表現
する. 例えば, 意味構成関数 Waddnl を用いて PAS-CLBLM を学習した際には, 評価時に句の表現を計
算する際にも意味構成関数 Waddnl を用いる. また, 意味構成関数を考慮しない PAS-LBLM を用いて
学習を行った際には, 意味構成関数にはベクトルの要素ごとの積 (Addl ) を用いる. 意味構成関数に関
するカテゴリとしては,
• AN データセットでは “adj arg1”
• NN データセットでは “noun arg1”
• VO, SVO データセットでは “verb arg12”
を用いた.
比較対象のベースラインとしては, Mikolov et al. (2013b) の Skip-gram モデルに基づくツール
word2vec を用いて学習した単語ベクトルを選択した. 提案手法が品詞タグを用いているという
条件を反映させるため, word2vec を学習する際にも, 品詞タグ付けを行った BNC コーパスを用い
52
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
コーパス
AN
NN
VO
PAS-CLBLM (Addl )
0.52
0.44
0.35
PAS-CLBLM (Addnl )
PAS-CLBLM (Waddl )
0.52
0.48
0.46
0.39
0.45
0.34
0.48
0.41
0.40
0.44
0.39
0.39
BNC
PAS-CLBLM (Waddnl )
PAS-LBLM
word2vec
BNC
0.52
0.48
0.42
Blacoe and Lapata (2012)
BNC
0.48
0.50
0.35
Hermann and Blunsom (2013)
Kartsaklis and Sadrzadeh (2013)
BNC
ukWaC
0.41
n/a
0.44
n/a
0.34
0.45
Kartsaklis et al. (2013)
BNC
n/a
n/a
0.41
0.52
0.49
0.55
Human agreement
表 3.13: AN, NN, VO データセットにおけるスピアマンの相関係数を用いた評価結果.
た. 単語ベクトルは PAS-LBLM と PAS-CLBLM と同様に 50 次元とした. この word2vec のベース
ラインで句の表現ベクトルを計算する際には, PAS-LBLM の場合と同様にベクトルの要素ごとの和を
用いた. なお, Skip-gram モデルは PAS-LBLM とは異なり, 文の持つ構造を利用せず, 周辺にある単語
を文脈として用いるモデルである.
3.2.5.2 二単語の句の類似度を測るタスクの結果
表 3.13 に, AN, NN, VO の三つのデータセットにおける評価結果を示す. “Human agreement” とい
うのは, 複数人がデータにスコア付けした際に, 複数人の間でどれだけスコアのつけ方に相関がある
かというのを測ったものである. つまり, ある種のスコアの上限値としてはたらく. この結果から分か
る通り, word2vec によるベースラインが非常に高いスコアを出している. word2vec に実装されて
いるような近年提案されたモデル [Mikolov et al., 2013b; Mnih and Kavukcuoglu, 2013] は, 従来は単語
のアナロジーのタスクや, 単語レベルでの意味の類似度を測るタスクで評価されていた. しかし, この
結果が示す通り, word2vec のモデルは単語レベルだけでなく, 短い句を表現するタスクにおいても
非常に高い性能を発揮しうることが分かった. つまり, 今後このようなタスクでの評価を行う際には,
強力なベースライン手法として積極的に採用すべきであると言える.
表 3.13 では, 先行研究における評価結果 [Blacoe and Lapata, 2012; Hermann and Blunsom, 2013;
Kartsaklis and Sadrzadeh, 2013; Kartsaklis et al., 2013] も引用して掲載している. これらの先行研究の
なかで, Kartsaklis and Sadrzadeh (2013) は本研究や他の先行研究で用いられているコーパスよりも一
桁ほどデータ数が大きいコーパスである ukWaC [Baroni et al., 2009] を用いている. 一般的に, この
ような大規模コーパスベースの手法では, 大きいコーパスを使用するほうが有利であることが多い.
表 3.13 から分かる通り, 提案手法の PAS-CLBLM を用いることにより, 三つのタスクにおいて, ベー
53
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
平均有り
コーパス
PAS-CLBLM (Addl )
PAS-CLBLM (Addnl )
平均無し
SVO-SVO
SVO-V
SVO-SVO
SVO-V
0.29
0.27
0.34
0.32
0.24
0.24
0.28
0.28
PAS-CLBLM (Waddl )
PAS-CLBLM (Waddnl )
PAS-LBLM
BNC
0.25
0.42
0.21
0.26
0.50
0.06
0.21
0.34
0.18
0.23
0.41
0.08
word2vec
BNC
0.12
0.32
0.12
0.28
Grefenstette and Sadrzadeh (2011)
Tsubaki et al. (2013)
BNC
ukWaC
n/a
n/a
n/a
0.47
0.21
n/a
n/a
n/a
Van de Cruys et al. (2013)
ukWaC
n/a
n/a
0.32
0.37
Human agreement
0.75
0.62
表 3.14: SVO データセットでの評価結果.
スラインおよび先行研究に匹敵するスコアを達成した. 特に VO データセットでは, ukWaC を用いた
Kartsaklis and Sadrzadeh (2013) の結果と同等の結果を, 比較的小さい BNC コーパスを用いて達成で
きたことは注目すべき点である. また, これらの結果から, 重みベクトルを用いた意味構成関数 Wadd
を用いた場合の結果が, 重みベクトルを用いない意味構成関数 Add の結果に及ばないこともわかる.
つまり, 二単語から成るような簡単な句の表現に関しては, ベクトルの要素ごとの和といった簡明な
手法で十分対応できるという可能性を示唆している. ただし, 名詞句である AN, NN のデータセット
に比べて, 動詞句である VO のデータセットでは, 最高スコアをもってしても人間のスコア (Human
agreement) には遠く及ばない結果となっているため, 改善の余地が存在するといえる.
3.2.5.3 三単語の句の類似度を測るタスクの結果
SVO データセットに関しても評価実験を行った結果を表 3.14 に示す. 先述したとおり, SVO デー
タセットでは, 人手のスコアを平均する場合としない場合に分けて結果を報告する. また, この SVO
データセットでは, 動詞の語義曖昧性解消という側面も存在することから, SVO と SVO の表現を比較
するのではなく, 片方の動詞のみ主語と目的語との意味構成を考え, 他方は動詞のままの表現で, SVO
と V の類似度の計算を行うことも可能である [Tsubaki et al., 2013; Van de Cruys et al., 2013]. この件
も考慮し, 表 3.14 では, 平均の有無の区別に加えて, SVO と SVO の比較をした場合と, SVO と V の比
較をした場合の区別も反映して, 合計四通りの評価結果を示した.
表 3.14 の結果から分かる通り, AN, NN, VO のデータセットでの評価結果とは異なり, 重みベクト
ルと非線形関数付きの意味構成関数 Waddnl が最も高いスコアを達成していることがわかる. この結
果は, 二単語の名詞句のような単純な句に比べて, より複雑な構造をもつ SVO の表現を計算するには,
より複雑な意味構成関数が必要になるということを示唆している. しかし, VO データセットと同様
54
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
で, 最も良いスコアでも人間のスコアには達していないため, やはり動詞句の表現に関しては今後改
善の余地があると言える.
提案手法の PAS-CLBLM (Waddnl ) は, Tsubaki et al. (2013) と Van de Cruys et al. (2013) によって報
告された最高スコアを上回るスコアを達成した. ここで, 注目すべき点が三つ存在する:
(1) 学習コーパスの大きさの違い
(2) 単語ベクトルの事前学習の必要性
(3) Deep Learning などのより複雑なモデルとの接続性
(1) Tsubaki et al. (2013) と Van de Cruys et al. (2013) は ukWaC コーパスを用いている. つまりこの
結果は, PAS-CLBLM はデータ数に一桁ほどの差がある小さな BNC コーパスを用いても, より良く
はたらくモデルであると言える. Grefenstette and Sadrzadeh (2011) も BNC コーパスを用いているが,
PAS-CLBLM ほど良い結果を出していないため, 単に BNC を用いることが有利に働くというわけで
もないことがわかる.
(2)
Tsubaki et al. (2013) のモデルは, PAS-LBLM と関連して, 動詞と目的語の依存関係を用いてモデ
ル化されたニューラルネットワーク言語モデルである. 彼らのモデルの優れている点は, 動詞や目的
語のベクトル表現が, 意味構成を行う際の相手の情報によって直接に変化を受ける点である. つまり,
多義的な他動詞の意味が, その目的語によって意味を変える, といったことがモデル化できるという
特徴をもつ. 実際に Tsubaki et al. (2013) のモデルは SVO データセットで良い結果を得ているが, あら
かじめ別のモデルの別のコーパスにおける単語ベクトルの事前学習の結果を利用しているため, 事前
学習なしにそのモデル単体で良い結果を達成できるかどうかは明確でない. 事前学習なしで単一コー
パスを与えて一から学習できるということは, どの事前学習手法が適しているか, などといったこと
を考慮する必要がなくなるため, 異なるドメインでモデルを用いる際に有利であると考えられる.
(3) Mikolov et al. (2013b) や Mnih and Kavukcuoglu (2013) のモデルと関連するモデルであるため,
PAS-CLBLM の学習は高速に行うことができる. しかし, 実際には 50 次元という小さなベクトル空間
をもって SVO データセットで最高スコアを達成した. 低い次元のベクトル表現で良い結果を出すこ
とが出来るということは, より複雑な意味構成関数の導入の可能性へつながる. つまり, 50 次元程度
であれば, より複雑なテンソルに基づく意味構成関数 [Socher et al., 2013b] や, Tsubaki et al. (2013) の
共構成性を備えた優れた意味構成関数を今後利用することができると考えられる. そのような複雑な
意味構成関数の導入は学習速度を大幅に低下させるが, そのかわりにより複雑な言語現象を捉えるこ
とができるようになる.
3.2.5.4 単語の分散表現の次元の効果
単語ベクトルの次元が評価結果に与える影響を調べるため, 50 次元に比べて非常に大きな次元であ
る 1000 次元のベクトルを用いて同様の実験を行った. 表 3.15 は, PAS-CLBLM の全ての実験設定に
55
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
d
AN
NN
VO
SVO-SVO
50
0.52
0.44
0.35
0.24
1000
0.51
0.51
0.43
0.31
Addnl
50
1000
0.52
0.51
0.46
0.50
0.45
0.45
0.24
0.31
Waddl
50
1000
0.48
0.50
0.39
0.49
0.34
0.43
0.21
0.32
50
0.48
0.40
0.39
0.34
1000
0.51
0.48
0.48
0.34
50
1000
0.52
0.53
0.48
0..49
0.42
0.44
0.12
0.11
Addl
Waddnl
word2vec
表 3.15: 50 次元ベクトルと 1000 次元ベクトルの結果の比較.
関して 1000 次元ベクトルの実験を行った結果を, 元々の 50 次元の結果に合わせて示している. また,
それらに加えて word2vec のベースラインに関しても 1000 次元で実験を行った結果を示す. ここで
は, SVO データセットに関しては, スコアを平均せず, SVO と SVO の類似度を測ることによる評価結
果のみを示す.
表 3.15 に示す通り, 一部の例外を除いて, 基本的には全て 50 次元から 1000 次元にすることで結果
が改善されている. 特に, NN データセットのスコア (0.51) と, VO データセットのスコア (0.48) は, 現
状で最も高いスコアであると言える. しかし, SVO データセットに関しては, 1000 次元にしてもスコ
アの改善は確認できなかった. この結果は, SVO のような複雑な構造をもつ句の意味を表現するため
には, 単にベクトルの次元を大きくすればよいというわけでなく, より洗練された意味構成関数を必
要とする, ということを示唆している.
3.2.5.5
Bag of Words による文脈の効果
最後に, bag of words による文脈情報の効果を確認する評価実験を行った. 具体的には, 3.2.3.5 節の
bag of words の文脈情報を用いずに PAS-CLBLM の学習を 50 次元ベクトルで行った. その結果, 表
3.16 に示す通り, bag of words の文脈情報は VO と SVO, つまり動詞句のデータセットにおいて効果
的であることがわかる. しかしこの結果は, bag of words の文脈をどのように構築するか, という点に
依存する可能性があるため, 決定的なことは言えない. 本手法のように同一文中の全ての単語の bag
of words を考慮することもできれば, 予測対象単語の前後数単語のみの bag of words を用いることも
可能である. AN と NN は名詞句であり, VO と SVO は動詞句という文に近い表現である, という違い
から, その意味を学習するうえで有効な文脈情報にも差が出ることが予想される.
56
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
BoW
AN
NN
VO
SVO
w/
0.52
0.44
0.35
0.24
w/o
0.48
0.46
0.38
0.23
Addnl
w/
w/o
0.52
0.50
0.46
0.47
0.45
0.41
0.24
0.15
Waddl
w/
w/o
0.48
0.47
0.39
0.39
0.34
0.38
0.21
0.21
w/
0.48
0.40
0.39
0.34
w/o
0.52
0.42
0.33
0.26
Addl
Waddnl
表 3.16: Bag of words の文脈情報の効果.
3.2.6
定性的評価
ここまでで, PAS-CLBLM によって学習された意味構成関数の評価を, 句の類似度を測るタスクを
用いて定量的に行ってきた. しかし, ここからは実際にどのような表現が意味構成関数によって計算
されているのか, ということを具体例を通じてみていく. まずは, どのような句の表現が学習されうる
のか, ということを確認するために, PAS-CLBLM で意味構成関数を用いる代わりに, 全ての複数語表
現に個別のベクトルを割り当てて学習する実験を行った. 例えば, 形容詞と名詞の依存関係からなる
“heavy rain” という表現は, PAS-CLBLM では形容詞 “heavy” と名詞 “rain” の表現ベクトルから計算さ
れるが, ここでは “heavy rain” という表現に固有のベクトル, つまりパラメータを与える. 学習データ
中で出現頻度が高い順に上位 100,000 個の形容詞-名詞, 名詞-名詞, (主語)-動詞-目的語の表現を語彙
に追加した. 結果として, 元々の 100,000 と合わせて, 語彙サイズは 400,000 となった. このように, 複
数単語の表現を単一のトークンとして扱う試みは Mikolov et al. (2013b) によって行われているが, 彼
らの手法では, 有意な頻度で隣接する二単語を繋げて単一トークンとして扱う. 一方で, PAS-CLBLM
の場合には, 述語項構造を用いているため, 必ずしも隣接しない主語-動詞-目的語などの文的な表現ま
で単一のトークンとして扱って学習を行うことが出来る.
表 3.17 (意味構成関数無し) は, 以上のように複数単語表現を単一トークンとして扱って PAS-
(C)LBLM を学習した結果, どのような表現がベクトル空間で近くなっているか, という例を示し
ている. ベクトル間の類似度の指標としてはコサイン距離を用いた. この表に示す通り, 複数語表現
が単一トークンとして扱われることで, ある程度の意味的な類似度を捉えている表現ベクトルが学習
できていることがわかる. 例えば, “heavy rain” という表現は, “downpour” や “much rain” などと近く
なっており, 「大雨」に関連する意味を捉えていると言える. また, “new york” の表現は, 世界各国の
有名な都市を表すベクトルと近くなっている. このような名詞句の表現は, Mikolov et al. (2013b) のよ
うに隣接単語を繋げるような手法でも学習できる可能性がある. そこで, そのような手法との大きな
違いである, 動詞句の表現に関しても例を見ると, 動詞句の表現に関しても意味的な類似度を捉えら
れていることがわかる. 例えば, “make payment” という表現は「支払いをする」という意味を捉えて
いる. また, “solve problem” は「問題を解決する」という意味であるが, その表現ベクトルが “achieve
57
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
objective” (目的を達成する), “bridge gap” (ギャップを埋める) などといった表現と近くなっており, 単
語の表層に依らない広い意味の類似度が捉えられていることが見て取れる. 主語も含めた動詞句の表
現 “meeting take place” に関しても, “hold meeting” と近くなっていることから, 「ミーティングを開催
する」という意味が捉えられていることがわかる. 以上のことから, PAS-CLBLM の学習において意
味構成関数も同時に学習する場合にも, 句の意味的な類似度を上手く測れるようなものが学習される
ことが期待される.
そこで次に, 実際に PAS-CLBLM で学習された意味構成関数 Waddnl を用いて同様の実験をした結
果を表 3.17 (意味構成関数有り) に示す. この結果から, PAS-CLBLM によって学習された意味構成関
数は主辞を顕著に強調する傾向があることがわかる. 表 3.17 (意味構成関数有り) のなかの全ての例に
おいて, 名詞句か動詞句かを問わず, 複数語の表現とその主辞の単語のベクトルの距離が近くなって
いる. これをより明確にするため, PAS-CLBLM の学習後に, その意味構成関数 Waddnl の各重み行列
の L2 ノルムを計算し, 表 3.18 に示した. この表を見ると, 明らかに主辞の重みが大きくなっているこ
とがわかる. 名詞句の場合には名詞を, 動詞句の場合には動詞を強調するような意味構成関数になっ
ている. 元々の PAS-LBLM の学習において名詞が入力されるべき部分に名詞句を, 動詞が入力される
べき部分に動詞句を入力するようにしたモデルが PAS-CLBLM であるから, このような結果は自然で
ある. 主辞を明確に強調するという性質は, 名詞句を表現する際には有効であるが, 動詞句の場合には
必ずしも有効であるとは限らない. 例えば, “make payment” という表現では, 動詞 “make” よりは, そ
の目的語 “payment” の意味に重きを置くべきであると考えられる. このように, 動詞句の表現に関し
ては今回 PAS-CLBLM で用いた意味構成関数は十分な表現力を持つとはいえない. これは, 動詞句の
類似度を測るタスクにおける結果において観測された, 「名詞句のタスクに比べて, 動詞句のタスク
に改善の余地が大きく存在する」という状況と一致している.
表 3.17 では, 複数語表現と単語の表現の比較を行ったが, PAS-CLBLM で学習された意味構成関数
Waddnl を用いて, 意味構成関数によって計算した表現どうしの類似度を測る実験を行った結果を表
3.19 に示す. この結果を見ると, 前述通りで主辞を強調する性質が確認できると共に, 主語と目的語の
意味の類似度まで考慮したうえで全体として意味の近い表現のベクトルが近くなっていることがわ
かる. 特に, “people kill animal” と “animal kill people” の例では, 主語と目的語が入れ替わったことに
よって, それらとベクトル空間で近い表現が適切に変わっていることが見て取れる. このような性質
は, 単に単語ベクトルの要素ごとの和をとるような手法では実現不可能である.
3.2.7
まとめと今後の課題
本節では, 述語項構造に基づく単語予測モデル PAS-LBLM を提案し, それによって単語のベクトル
が効率的に学習されることを示した. また, PAS-LBLM の学習の際の文脈情報として意味構成関数を
利用した PAS-CLBLM を提案し, 複数語からなる表現のベクトルも効率的に学習できることを示した.
短い句の意味的な類似度を測るタスクでは, PAS-CLBLM によって学習された句の表現ベクトルを用
いることで, 名詞句のタスクに関しては先行研究の最高スコアに匹敵する結果を達成し, さらに, 動詞
句のタスクでは最高精度を達成した. このように, 大規模コーパスとニューラルネットワーク言語モ
デルを用いて単語だけでなく, 様々な種類の構文構造を考慮した意味構成関数の学習も同時に行った
58
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
研究は本研究が初めてであり, 今後, より長い現実の文の表現を学習する際の大きな手がかりとなる
と考えられる.
今後は,
• 二, 三単語だけでなくより長い句や文の表現を学習可能にする
• 動詞句の表現手法の改善を図る
といったことを課題にして研究を進める. 特に二つ目の課題に関しては, 次節で取り組む.
59
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
クエリ
(AN)
heavy rain
(AN)
chief executive
(NN)
world war
(NN)
new york
(VO)
make payment
(VO)
solve problem
(SVO)
meeting take place
第 3 章 構文情報を利用した分散表現の学習
意味構成関数無し
意味構成関数有り
rain
rain
thunderstorm
downpour
sunshine
storm
blizzard
much rain
drizzle
chill
general manager
executive
vice president
executive director
project manager
director
representative
officer
managing director
administrator
second war
plane crash
war
world
riot
last war
race
holocaust
great war
warfare
oslo
paris
york
toronto
birmingham
moscow
madrid
paris
edinburgh
glasgow
make order
carry survey
pay tax
make
allow
demand
pay
impose tax
produce
bring
achieve objective
solve
bridge gap
improve quality
alleviate
overcome
deliver information
encourage development
resolve
circumvent
hold meeting
take
event take place
end season
discussion take place
get
win
put
do work
gain
表 3.17: 意味構成関数を用いる場合と用いない場合の, 句の表現ベクトルの例.
60
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
述語のカテゴリ
述語
項1
項2
adj arg1
2.38
6.55
-
noun arg1
verb arg12
3.37
6.78
5.60
2.57
2.18
表 3.18: PAS-CLBLM の意味構成関数 Waddnl のカテゴリ別重みベクトルの L2 ノルムの比較.
61
3.2 述語項構造に基づく
単語とその意味構成関数の同時学習
第 3 章 構文情報を利用した分散表現の学習
クエリ
(VO)
make payment
make repayment
make money
make indemnity
make saving
make sum
(VO)
solve problem
(VO)
run company
solve dilemma
solve task
solve difficulty
solve trouble
solve contradiction
run firm
run industry
run corporation
run enterprise
run club
anyone kill animal
(SVO)
people kill animal
man kill animal
person kill animal
people kill bird
predator kill animal
creature kill people
(SVO)
animal kill people
effusion kill people
elephant kill people
tiger kill people
people kill people
briefing take place
(SVO)
meeting take place
party take place
session take place
conference take place
investiture take place
表 3.19: 意味構成関数を用いた場合の, 動詞句の表現の類似度の例.
62
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
3.3
第 3 章 構文情報を利用した分散表現の学習
テンソル分解に基づく述語項構造のモデル化と動詞句の分散表
現の学習
本節では, 3.2 節で見つかった動詞句の表現手法に関する課題を解決するために, 述語と項の数学的
表現が互いに掛け算的に相互作用し合うモデルを提案する. また, 3.2 節では, 動詞句の表現の学習に
おいて前置詞句による付加部が重要な文脈情報を与えることが判明したため, 特に付加部に焦点を当
てて動詞句の表現の改善を試みる. 具体的には, 以下の二点に関して調査を行う:
• テンソル分解による述語項構造のモデル化
• 動詞句の表現の学習における付加部の有用性
評価実験では, テンソル分解による述語項構造のモデル化と, 付加部によって与えられる文脈情報
の有効性を確認し, 主語-動詞-目的語の動詞句の意味的な類似度を測るタスクにおいて, 3.2 節で達成
したスコアをさらに上回るスコアを達成した.
3.3.1
導入
本論文の 3.2 節では, 述語項構造に基づいて, 単語と, 複数単語からなる句の表現ベクトルを同時に
学習する手法を提案し, その有効性を示した. そのなかで, 短い句の意味的な類似度を測るタスクにお
いて, 名詞句のタスクに比べて動詞句のタスクにおいて大きな改善の余地があることがわかった. 動詞
句を表現することに関する難しさは, 動詞のもつ多義性に起因する. 例えば他動詞は目的語をとるが,
その際の動詞の意味は目的語に依存して変わることがある. Tsubaki et al. (2013) はそのような現象を
捉えることの重要性に着目し, 実際に共構成という考え方に基づいて動詞と目的語の表現を組み合わ
せる手法を提案した. Tsubaki et al. (2013) の手法では, 動詞の表現ベクトルと目的語の表現ベクトル
が組み合わせられる際に, 動詞は目的語から影響を受け, 逆に目的語は動詞から影響を受ける, といっ
た現象がモデル化されている. 例えば, 動詞 “run” は様々な意味を持つが, 目的語として “company” を
とると, 様々な意味を含む “run” の意味のうち「経営する」といった意味が引き出され, 結果として動
詞 “operate” と近くなる, といったことが可能であることが示された.
その一方で, 3.2 節で提案した PAS-CLBLM で用いた意味構成関数では, 動詞 “run” とその目的語
“company” から動詞句 “run company” の表現ベクトルを
v(run company) = tanh(WV ⊙ v(run) + WO ⊙ v(company))
(3.39)
のように計算する. WV は動詞のベクトルに作用する重みベクトルであり, WO はその目的語のベク
トルに作用する重みベクトルである. 重みベクトルの代わりに重み行列を用いることも可能だが, い
ずれにしても, その重みのパラメータが入力に依らず常に同じであるという特徴がある. 実際そのよ
うな特徴により, PAS-CLBLM によって学習された意味構成関数では, 常に主辞を強調するようになっ
ていた. しかし, 常に主辞, つまり動詞句の場合には動詞を強調すればよいというわけではなく, 目的
語の意味が大事な場合にはその意味も十分に考慮して意味構成を行う必要がある. 式 (3.39) では, 入
63
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
述語
第 3 章 構文情報を利用した分散表現の学習
項1
項2
make
an importer
payment
in
make payment
his own domestic currency
表 3.20: 動詞と前置詞に関する述語項構造の例.
力に依らない一定の重みベクトルを掛け合わせた後に入力の和をとることしかしないため, 入力, つ
まり動詞と目的語のパラメータの相互作用が非常に弱い. また, 意味構成関数に関してだけでなく,
PAS-CLBLM の単語予測モデル自体においても, 述語と項のベクトルの相互作用は足し算的なもので
あった. 述語と項が互いに強く影響しあうようなモデルを構築するには, 述語と項の数学的表現が掛
け算的に相互作用し合うことが望ましい.
また, PAS-CLBLM を用いて動詞句の表現を学習する際に, 前置詞句による動詞の付加部が重要な
役割を果たす可能性が示唆された. つまり, ある動詞句に関して, それは
• どこで行うことなのか
• 何のために行うことなのか
• 誰と行うことなのか
• 何を使って行うことなのか
といった情報が付加部との関係から得られる. 付加部の働きに特に着目することで, 複雑な意味構成
を要する動詞句の表現の学習にはどのような文脈情報が大事であるのか, ということが明らかになる.
そこで本研究ではまず, PAS-CLBLM の考え方を継承したうえで, 述語と項の数学的表現が掛け算
的に影響を及ぼしあうモデルを提案する. より具体的には, テンソル分解に基づく述語項構造のモデ
ル化を提案する. テンソル分解の考え方は Van de Cruys et al. (2013) に基づいており, 述語と項の掛け
算的な相互作用が実現される. さらにその際に, 動詞句の表現を学習するうえでの付加部の有用性を
調査する. PAS-CLBLM に比べてより述語項間の相互作用を意識したモデルによって動詞句の表現力
が豊かになり, かつ, 付加部の働きによって有用な文脈情報が供給されることが期待される.
評価実験では, 動詞の意味が目的語によって選択される現象が確認された. また, 3.2 節でも用いた
動詞句の意味の類似度を測るタスクによって, テンソル分解に基づく動詞句の表現手法を評価した結
果, 主語-動詞-目的語という複雑な構造を有する動詞句のタスクにおいて, PAS-CLBLM のスコアを上
回る結果を達成した.
3.3.2
関連研究
3.3.2.1 述語項構造に基づく付加部の扱い
3.2 節でも説明したとおり, 述語項構造は述語とその任意個の項の関係を記述するものである. 例え
ば, 本研究で用いてきた HPSG に基づく構文解析器 Enju によると, 以下の文
64
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
An importer might be able to make payment in his own domestic currency
に関して表 3.20 のような述語と項の関係が得られる. 前述した通り, Enju における述語項構造では動
詞だけでなく任意の品詞の単語が述語として扱われる. 表 3.20 では, 主語と目的語に対応する名詞句
を項とする他動詞 “make” に加え, 動詞句の付加部を構成する前置詞 “in” も述語として扱われている.
これにより, 様々な種類の述語を介して句と句の関係が記述される.
付加部を構成する前置詞のような語も述語として扱うことは, 動詞句の意味を考えるうえで重要で
あると考えられる. 例えば表 3.20 では, 付加部を構成する前置詞 “in” を介して,
動詞句 “make payment” が表す行為は, 名詞句 “his own domestic currency” が表す内容によって
行われる
ということがわかる. 仮に “currency” という単語の意味が「通貨」であると知っていたとすると, “make
payment” という行為が「支払いをする」という意味であることを知るための十分な手掛かりとなり
得る. 付加部を構成する単語としては他にも接続詞などが存在する. 接続詞 “because” を介して動詞
句と動詞句の関係に着目すれば, ある二つの動作を表す動詞句の因果関係に関する情報が得られると
予想される. このように付加部に着目することは, 動詞句の表現を学習する際に有効であることが 3.2
節の実験で示唆されたが, 付加部の情報の他にも様々なカテゴリの述語の情報も同時に活用していた
ため, 付加部による効果が不明確であった. 付加部に基づく句と句の関係に特に着目することで, 動詞
句 (もしくは文) の表現を学習するうえで付加部が果たし得る役割が明らかになると期待される.
3.3.2.2 テンソルによる単語の意味表現
本論文では, 単語の分散表現として単語をベクトルで表現する手法に基づいて研究を行ってきた. そ
の一方で, 単語の意味をベクトルだけでなく行列などで表す試みもある. 例えば Baroni and Zamparelli
(2010) は, 名詞をベクトルで表現し, 形容詞は行列で表現することによって,
• 行列 A で表される形容詞と
• ベクトル n で表される名詞
からなる形容詞-名詞の表現を,
An
(3.40)
という行列演算によって計算する手法を提案した. つまり, 同じ「単語」という単位であっても, 名詞
と形容詞は対等ではなく, それぞれの役割に応じた数学的表現を割り当てるという考え方である. 形
容詞の場合には,
修飾する名詞の属性を変化させる (決定する)
という役割を持つと考えられる. 例えば, “car” という名詞を “red” という形容詞が修飾すると, 車に
関して「色」という属性が特定される. また, “small” という形容詞で修飾する場合には, 車に関して
65
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
「大きさ」という属性が決定される. このような現象を行列とベクトルの積によって実現しようとし
たのが Baroni and Zamparelli (2010) の手法である.
行列やベクトルをより一般的に扱うと, テンソルという数学的な表現によって記述される. 特に, 1
階のテンソルがベクトルであり, 2 階のテンソルが行列に相当する. Coecke et al. (2010) は単語はその
カテゴリごとに異なる役割を持ち, それぞれの意味はテンソルによって数学的に表されるという考え
を提唱した. Grefenstette and Sadrzadeh (2011) は, そのような考え方に基づく手法を具体化し, 特に動
詞の意味のテンソルによる表現を実際に試みた. 特に本研究で着目する他動詞に関して, その意味は
コーパス中に実際に出現した主語と目的語の組み合わせ
によって決まる. つまり, これまでに本論文で用いてきた考え方で言うと, 主語と目的語の組み合わせ
が文脈情報として扱われることになる. Grefenstette and Sadrzadeh (2011) によると, 主語と目的語の
組み合わせは数学的には, 主語と目的語, つまり名詞がベクトルで表現されているとすると
v(sbj) ⊗ v(obj)
(3.41)
というテンソル積 (ベクトルの場合には直積) によって計算される. ここで, v(subj) と v(obj) は, それ
ぞれ主語と目的語に対応する同次元のベクトルである. これにより, ある他動詞 verb のテンソル (行
列) 表現 M(verb) は,
M(verb) =
N
∑
v(sbji ) ⊗ v(obji )
(3.42)
i=1
として, 実際にコーパス中に出現した N 通りの主語・目的語の組合わせによって計算される. このよ
うに, 他動詞は主語と目的語の関係を表す単語として, 2 階のテンソル, つまり行列によってその意味
が表現された. ただし, Grefenstette and Sadrzadeh (2011) は, 動詞のテンソルを構築する際に用いる名
詞のベクトルは, 何かしらの手法によって予め得られていると仮定している.
Grefenstette and Sadrzadeh (2011) の考え方に基づいて, Kartsaklis et al. (2012) は他動詞を表現する
行列と, その主語・目的語を表現する単語ベクトルを組み合わせて, 主語-動詞-目的語からなる動詞
句 (文) の表現ベクトルを計算する手法を提案した. Kartsaklis et al. (2012) の copy-subject という手法
では,
v(subj verb obj) = v(subj) ⊙ (M(verb)v(obj))
(3.43)
として動詞句の表現がベクトルとして計算され, copy-object という手法では,
v(subj verb obj) = v(obj) ⊙ (M(verb)T v(subj))
(3.44)
として動詞句のベクトルが計算される. 特に copy-subject では, 式 (3.43) の
M(verb)v(obj)
(3.45)
の部分が, 動詞-目的語を表現するベクトルであると見なすことができると考えられる. このように
Grefenstette and Sadrzadeh (2011) や Kartsaklis et al. (2012) の動詞句の表現をテンソルに基づいて計
算する手法は, 動詞の意味を考えるタスクにおいて有効であることが示されている [Kartsaklis and
Sadrzadeh, 2013; Kartsaklis et al., 2013; Kartsaklis et al., 2014; Milajevs et al., 2014].
66
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
図 3.8: 3 階のテンソルによる主語-動詞-目的語の共起統計.
図 3.9: Van de Cruys et al. (2013) の主語-動詞-目的語のテンソル分解.
3.3.2.3 テンソル分解による主語-動詞-目的語の関係のモデル化
本論文でも着目しているような主語-動詞-目的語の三要素の関係を, 3 階のテンソルによって表現
する研究がある [Van de Cruys, 2009; Van de Cruys et al., 2013]. 図 3.8 に示す 3 階のテンソルは, 主語動詞-目的語の共起の統計情報を表現する. つまり, テキストコーパス中に実際に出現した (主語, 動
詞, 目的語) の組み合わせを全て数え上げた統計情報に基づいて, 特定の (主語, 動詞, 目的語) の組み
合わせがどれほど尤もらしいか, という値を 3 次元配列で表したものである. 図 3.8 中の 3 階のテン
ソル T の各軸はそれぞれ主語, 動詞, 目的語に対応しており, その各要素 T (主語, 動詞, 目的語) はそ
の組み合わせの尤もらしさを表す値になっている. 例えば, 特定の (主語, 動詞, 目的語) の組み合わせ
(s, v, o) の尤もらしさの指標としては,
pmi3(s, v, o) =
p(s, v, o)
p(s)p(v)p(o)
(3.46)
という三つ組みの共起統計に基づく自己相互情報量 (Pointwise Mutual Information, PMI) が用いられ
ている [Van de Cruys, 2009; Van de Cruys et al., 2013]. p(x) は, コーパス中で単語 x が出てくる確率で
あり, p(x, y, z) は三単語 x, y, z が共起する確率, つまり, 全ての可能な (主語, 動詞, 目的語) の組み合
わせの数のうち, (x, y, z) の出現回数の占める割合である. この pmi3(s, v, o) が高いほど, その (s, v, o)
67
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
の組み合わせが尤もらしい, つまり, 動詞 v が主語 s と目的語 o をとりやすい, ということになる.
Van de Cruys et al. (2013) はこのテンソル T を,
• 主語を表現するベクトルの集合 (行列)
• 動詞を表現する行列の集合 (3 階のテンソル)
• 目的語を表現するベクトルの集合 (行列)
の 3 要素に分解する手法を提案した. 図 3.9 にテンソル分解の様子を示す. このテンソル分解により,
主語と目的語になる単語の表現ベクトルと, 他動詞の表現行列を得ることができる. Van de Cruys et
al. (2013) はこれらのベクトルと行列を用いることで, 主語-動詞-目的語からなる動詞句の表現を計算
する手法を提案した. また, 動詞の行列の各要素に着目することで, どのような主語と目的語の組をと
りやすいか, という情報が動詞の行列に内在されていることを示した. 例えば, 動詞 “run” に関して
• 主語 “athlete” と目的語 “race”
• 主語 “user” と目的語 “command”
の組み合わせが起こりやすいということがわかると, それは, 動詞 “run” が「走る」や「実行する」と
いった意味をとるということを示唆する. つまり, このような一種の語義曖昧性の解消の側面が動詞
の行列表現によってモデル化可能であることが示された. ただし実際には, Van de Cruys et al. (2013)
はテンソルを分解するというよりは, 分解後の主語と目的語のベクトルの集合をあらかじめ別の手法
で計算された名詞ベクトルによって初期化することで, 元々のテンソルと合わせて動詞テンソルを逆
算して求めるということを行った.
3.3.3
提案手法
ここでは, 3.3.2.3 節で説明した Van de Cruys et al. (2013) のテンソル分解の考え方を応用した述語
項構造のモデル化手法を提案する. 簡単のため, 主語-動詞-目的語のように項を二つとる述語のみを本
論文では扱うが, 項を三つ以上とる場合に関しても一般化は可能である.
3.3.3.1 テンソル分解による述語とその二項の関係のモデル化
まず, 3.3.2.3 節に関連して, 述語とその二項の共起に関する統計情報を保持する 3 階のテンソル
T ∈ R|P|×|A1 |×|A2 | を仮定する. P はコーパス中の述語の集合であり, A1 , A2 は項 1, 2 の集合である.
例えば, T が他動詞を扱う時, 表 3.20 の例では, “make”∈ P, “an importer”∈ A1 , “payment”∈ A2 とな
る. また, T が前置詞を扱う時, 表 3.20 の例では, “in”∈ P, “make payment”∈ A1 , “his own domestic
currency”∈ A2 となる. このように, P は単語の集合であるが, A1 と A2 の要素は単語に限らない.
実際に T を扱うとパラメータの空間が非常に大きくなるが, Van de Cruys et al. (2013) の手法に従い,
T = P × A1 × A2
68
(3.47)
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
の形で, d 次元の潜在変数を用いて T が暗にテンソル分解されているとする. P ∈ R|P|×d×d は述語の
パラメータを表す 3 階のテンソルで, A1 ∈ Rd×|A1 | , A2 ∈ Rd×|A2 | は項 1, 2 に関するパラメータ行列
である. 具体的には, P の各スライス P(i) ∈ Rd×d は各述語を表す行列であり, A1 , A2 の各列ベクト
ル a1 (j), a2 (k) ∈ Rd×1 は各項を表すベクトルである. ここで, 特定の述語項の組 (i, j, k) が与えられ
たとき, その組の尤もらしさ (つまり, T の各要素) は以下のように計算される:
Ti,j,k = a1 (j)T P(i)a2 (k)
(3.48)
Van de Cruys et al. (2013) は, 主語-動詞-目的語の三つ組みに関して, あらかじめ T を式 (3.46) の
PMI により計算し, 単語ベクトルを別の手法により与えることで, 動詞のテンソル P を計算した. し
かし, 本節の提案手法は,
• 式 (3.47) の右辺の全てを学習パラメータとしている
• 項が単語に限らない
• 動詞以外の述語にも適用する
という点で異なる. このように暗に巨大なテンソルを分解するという考え方は, Levy and Goldberg
(2014) の, Skip-gram モデル [Mikolov et al., 2013b] に関する解釈と類似している. また, 提案手法では,
項が単語に限らないため, 3.2 節で提案した PAS-CLBLM のように, 意味構成関数を導入して項 (句) の
表現ベクトルを計算することも可能である. つまり, 表 3.20 で, 前置詞 “in” の項 1 の “make payment”
を表現する際には,
• “make payment” という動詞句に独立の表現ベクトルを与えるか,
• 二単語 “make”, “payment” の表現から計算するか,
の二通りが可能である.
PAS-CLBLM との関係 本節での提案手法は, 単語予測モデルではないので, 3.2 節で提案した PASCLBLM とは異なる. また, PAS-CLBLM では全ての単語がベクトルで表されていたが, ここでは述語
(例えば動詞) がベクトルでなく行列になっている. しかし, 述語と項の共起関係に基づいて述語と項
の表現を学習する, という点では類似している. 3.3.1 節で述べた通り, PAS-CLBLM では述語と項の
表現ベクトルの相互作用が弱かったが, 式 (3.48) に示す通り, 本節の提案手法では述語と項の数学的
表現が掛け算的に相互作用し合うことが実現されている.
3.3.3.2 モデルパラメータの学習
提案手法のモデルパラメータは, 尤もらしい述語項の組とそうでないものをロジスティック回帰の
形で区別するように学習される. この考え方は, 定式化の方法こそ違えど, 3.2.3.3 節の PAS-LBLM の
69
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
学習の際と考え方は同様である. コーパスから得られた全ての述語項の組 (i, j, k) に関して, (i′ , j ′ , k ′ )
を i′ ∈ P, j ′ ∈ A1 , k ′ ∈ A2 としてサンプリングし,
− log σ(Ti,j,k )− log(1 − σ(Ti′ ,j,k ))
− log(1 − σ(Ti,j ′ ,k ))
(3.49)
− log(1 − σ(Ti,j,k′ ))
を誤差関数として定義する. σ はロジスティック関数である. ただし, ランダムサンプリングによって
作られた負例 (i′ , j, k), (i, j ′ , k), (i, j, k ′ ) はいずれも学習コーパスに存在しないものとする. この誤差
関数の総和をとって目的関数として, それを最小化するように AdaGrad [Duchi et al., 2011] により学
習を行う. この学習により, 例えば, 同じような項をとる述語を表す行列表現が近くなることなどが期
待される.
Grefenstette and Sadrzadeh (2011) との関係
実際に, 式 (3.49) の誤差関数を小さくするようにパラ
メータの更新を行うことを考えると, 3.3.2.2 節で説明した Grefenstette and Sadrzadeh (2011) の
他動詞を行列で表現する
という手法との関連性が見えてくる. Grefenstette and Sadrzadeh (2011) の手法では, 二項をとる述語 (例
えば, 他動詞) は, コーパス中に実際に出現した二項の表現ベクトルの直積の総和で表される (式 (3.42))
とした. 本提案手法でも, 式 (3.49) に関して, 述語の行列 P(i) の更新式は項のベクトルの直積を基に
計算される:
{
P(i) ← P(i) − α (σ(Ti,j,k ) − 1)a1 (j) ⊗ a2 (k)+
σ(Ti,j ′ ,k )a1 (j ′ ) ⊗ a2 (k)+
(3.50)
}
σ(Ti,j,k′ )a1 (j) ⊗ a2 (k ′ )
ここで, α は学習率である. この更新式を見ると, Grefenstette and Sadrzadeh (2011) の手法とは異なり,
• コーパス中に出現される二項の組み合わせ
• コーパス中には出現しない二項の組み合わせ
の両方を考慮して述語の行列のパラメータが学習されることがわかる. 参考のため, 以下に二項のベ
クトルに関する更新式も示す:
{
a1 (j) ← a1 (j) − α (σ(Ti,j,k ) − 1)P(i)a2 (k)+
σ(Ti′ ,j,k )P(i′ )a2 (k)+
σ(Ti,j,k′ )P(i)a2 (k ′ )
70
}
(3.51)
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
述語
第 3 章 構文情報を利用した分散表現の学習
項1
項2
make
importer
payment
in
importer make payment
currency
表 3.21: 作成した学習データの例.
{
a2 (k) ← a2 (k) − α (σ(Ti,j,k ) − 1)P(i)T a1 (j)+
σ(Ti′ ,j,k )P(i′ )T a1 (j)+
(3.52)
}
σ(Ti,j ′ ,k )P(i)T a1 (j ′ )
3.3.4
実験設定
ここでは, 提案手法の評価のために行った実験の設定を説明する.
3.3.4.1 学習用コーパス
3.2 節での実験と同様に, British National Corpus (BNC) を学習コーパスとして用いた. まず構文解
析器 Enju を用いて述語項構造を取得し, 単語を基本形に直した後に表 3.20 のように,
(a) 2 項をとる動詞で, 項が名詞句
(b) 2 項をとる前置詞で, 項が他動詞句と名詞句
であるものを選択した. ここでは簡単のため, 項の名詞句に関しては主辞をとり, 単語にした. また, 前
置詞の項 1 の他動詞句に関しては, 主語が存在する場合にはそれも含めて動詞句とした. 例えば, 表
3.20 からは表 3.21 のような学習データが作られる. BNC で, 単語の品詞を考慮した出現頻度上位 10
万単語を対象にしたところ,
• (a) に関しては 138 万事例 (123 万種類)
• (b) に関しては 93 万事例 (88 万種類)
のデータが得られた.
3.3.4.2 モデルパラメータの初期化と学習
本節での全ての実験において, 潜在空間の次元は d = 50 に設定した. 動詞と前置詞を表現する行列
は全て, 平均 0, 分散
1
d2
のガウスノイズで初期化した. また, 項を表現するベクトルは全て, 平均 0, 分
71
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
散
1
d
第 3 章 構文情報を利用した分散表現の学習
のガウスノイズで初期化した. その際, 動詞の二項と前置詞の項 2 は全て名詞であるから, それら
のパラメータは全て共有した. 例えば, 名詞 “man” が動詞の主語になる場合にも, 目的語になる場合
にも, 前置詞の項 2 になる場合にも, 全て同じ “man” のベクトルが使用される. 学習時のハイパーパ
ラメータ
• 学習率
• ミニバッチサイズ
• 学習のイテレーション数
は, 未知データに対して式 (3.49) の誤差関数を小さくするように 5 分割交差検定によって決めた. た
だし, 学習には AdaGrad を用いているためか, 学習の後半ではイテレーション数はそれほど結果に影
響しなかった. ミニバッチサイズもそれほど影響しなかったが, 最終的には 1, 000 にした. 学習率の影
響が一番大きかったが, 最終的に 0.04 となった.
3.3.4.3 項 (他動詞句) の表現ベクトルの意味構成関数
本実験では, 前置詞の項 1 が主語-動詞-目的語, または動詞-目的語の動詞句になっているため, 構成
要素の 2, 3 単語から項のベクトルを構成することが可能である. これに関しては様々な手法が考えら
れるが, ここでは特に, 3.3.2.2 節で説明した Kartsaklis et al. (2012) の copy-subject という手法を用い
る. copy-subject では, 動詞の行列 P(i) と主語, 目的語のベクトル a1 (j), a2 (k) が与えられた時,
a1 (j) ⊙ (P(i)a2 (k))
(3.53)
として主語-動詞-目的語からなる動詞句の表現ベクトルを計算する. また, 式 (3.53) の
P(i)a2 (k)
(3.54)
の部分は動詞-目的語の表現ベクトルに対応すると解釈できる. Kartsaklis et al. (2012) は, 動詞の行列
を得る手法に関して Grefenstette and Sadrzadeh (2011) に基づいているため, 提案手法でも copy-subject
を用いることが有効であると考えられる. それは, 3.3.3.2 節で説明した通り, 本手法も Grefenstette and
Sadrzadeh (2011) の手法と関連が深いからである.
3.3.5
定性的評価
ここでは, 実際に提案手法で学習された動詞句の表現がどのようなものであるかを確認する.
72
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
クエリ
第 3 章 構文情報を利用した分散表現の学習
類似度の高い表現
operate business
run company
carry duty
support project
break record
win race
win title
win championship
become leader
take role
play part
play role
hold meeting
meeting take place
gene encode protein
hold race
ceremony take place
gene encode enzyme
gene encode receptor
表 3.22: パラメータ化された (主語)-動詞-目的語の表現ベクトルの例.
3.3.5.1 意味構成関数無しの学習
まず, 付加部を構成する前置詞が動詞句の表現の学習に及ぼす影響を確認するため, 前置詞のみの
データを用いて学習を行った. また, 動詞句の意味構成関数は用いず, 全て単一のトークンとして扱っ
た. この実験は, 3.2.6 節で行った実験と類似している. 表 3.22 に学習結果の例を示す. 表 3.22 では, 全
ての動詞句表現 (“run company” など) が独立にパラメータ化されて学習されており, いくつかのクエ
リに対してコサイン類似度が最も高いものを順に列挙した.
表 3.22 を見ると, 前置詞を介した項の共起関係の情報により, 動詞句の意味的な類似度を測ること
が可能な表現が学習されていることがわかる. 例えば, “run company” は「会社を経営する」といった
意味を捉えていることがわかる. また, “win race” (競争に勝つ) と “break record” (記録を破る) といっ
た表現が近くなっていることも興味深い. 主語まで考慮した表現に関しても, 意味の類似度がうまく
捉えられていることがわかる. これらの結果は, 動詞句の表現を学習するうえで, 付加部に基づく述語
の項と項の関係に着目することの有効性を示している.
3.3.5.2 意味構成関数有りの学習
次に, 動詞と前置詞のデータの両方を用い, copy-subject による意味構成関数も導入して学習を行っ
た. 表 3.22 と同様に, 表 3.23 に学習結果の例を示す. “man make payment” の例では, “make payment”
が「支払いをする」という意味を持つことが表現されていることがわかる. また,
73
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
クエリ
第 3 章 構文情報を利用した分散表現の学習
類似度の高い表現
man pay maintenance
man make payment
man pay contribution
husband make payment
director run airline
director run company
manager run firm
manager run company
表 3.23: copy-subject により計算された 主語-動詞-目的語の表現ベクトルの例.
• “man make payment” と “man pay maintenance” の表現ベクトルのコサイン類似度は 0.91 であ
るが,
• “man make payment” と “man pay attention” のコサイン類似度は 0.60 である
ということから, 動詞の意味が目的語に依って適切に変化することが可能になっている. このような
性質は, 3.2 節で提案した PAS-CLBLM の学習結果においては確認できなかった.
以上の結果は,
• テンソル分解による述語と項の関係の数学的表現の相互作用の強化
• 付加部を構成する前置詞のもたらす文脈情報
が, 動詞句の表現を学習する際に有用であるということを示唆している.
3.3.6
定量的評価
最後に, 提案手法により学習された動詞句の表現がどの程度の意味的な類似度を測れるものになっ
ているか確かめるための評価実験を行った.
3.3.6.1 評価データ
評価には, 3.2.5 節で用いた,
• 動詞-目的語の動詞句の意味の類似度を測るタスク (VO)
• 主語-動詞-目的語の動詞句の意味の類似度を測るタスク (SVO)
を使用した. この実験においても, 各データセットに関して人手で付けたスコアを,
• データごとに平均する方法
• 平均しない方法
の両方を用いて評価を行った. この設定に関して詳しくは 3.2.5.1 節に述べた.
74
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
SVO
平均無し 平均有り
(動)
(動/前)
VO
平均無し 平均有り
0.417
0.451
0.517
0.552
0.360
0.434
0.512
0.621
PAS-CLBLM*
0.311
0.385
0.406
0.613
PAS-CLBLM (表 3.13, 表 3.14)
0.344
0.422
0.454
0.669
提案手法
表 3.24: 各データセットにおけるスピアマンの相関係数.
3.3.6.2 比較手法
本稿における比較手法は, 3.2 節で提案した PAS-CLBLM である. 3.2.5.2 節と 3.2.5.3 節で示した通
り, PAS-CLBLM は VO データセットと SVO データセットで最高スコアを達成したモデルである. こ
こでは, 3.2.5.2 節と 3.2.5.3 節で報告した結果に加え, 本稿で用いた学習データを使った場合の結果
(PAS-CLBLM*) も報告する. その際, 意味構成関数としては 3.2.4.4 節の Waddnl を用いた. 3.2.5.2 節
と 3.2.5.3 節での結果は, 形容詞-名詞などの他の述語項構造や, bag of words も利用した場合の結果で
あり, 本実験よりも多くの有益な情報を用いている.
3.3.6.3 結果
表 3.24 に, VO データセットと SVO データセットに関するスピアマンの相関係数を示す. 「提案
手法 (動)」は動詞の学習データのみを用いた場合の結果であり, 「提案手法 (動/前)」は動詞と前置詞
の学習データを共に用いた場合の結果である. 提案手法の動詞句の表現ベクトルは, いずれの場合も
3.3.4.3 節の方法で計算した.
まず, SVO データセットに関しては, 動詞の学習データのみを用いた段階で PAS-CLBLM のスコア
(0.344) を大きく上回るスコア (0.417) を達成している. これは, 表 3.23 で示した通り, 動詞の意味が
適切に主語と目的語から影響を受ける性質を表現できているからであると考えられる. この性質は,
PAS-CLBLM で用いられた意味構成関数には無かった. また, 前置詞のデータも組み合わせることで,
さらにスコアが改善されたことがわかる (0.417 から 0.451).
VO データセットでは, 動詞の学習データのみでは PAS-CLBLM のスコア (0.454) を大きく下回る
スコア (0.360) となった. しかし, この段階では, 式 (3.48) からわかる通り, 動詞-目的語の表現を学習
する手がかりは
どのような主語をとりやすいか
ということだけであるから, スコアが低くても不自然ではない. そこで前置詞の学習データを追加し
て学習を行うと, スコアが大幅に改善された (0.360 から 0.434). これにより, 前置詞を介して項と項の
関係を考慮することで, 動詞句の意味の学習に有用な情報が得られたことがわかる. ただし, 依然とし
て PAS-CLBLM のスコア (0.454) には及ばないが, PAS-CLBLM と同様に, 形容詞-名詞などの他の述
75
3.3 テンソル分解に基づく述語項構造のモデル化と
動詞句の分散表現の学習
第 3 章 構文情報を利用した分散表現の学習
語項構造の情報の利用によってさらにスコアを改善する余地があると考えられる. 実際, 3.3.6.2 節で
述べた学習データの差により, PAS-CLBLM と PAS-CLBLM*のスコアには差が出ている.
以上から, 動詞句の表現の学習において付加部が有用であることがわかる. 本稿では付加部として
前置詞句のみに着目したが, 接続詞などの付加部を用いると, 動詞句と動詞句の関係 (例えば, 因果関
係など) を考慮した動詞句の表現の学習が可能になると考えられる.
3.3.7
まとめと今後の課題
本節では, テンソル分解によって述語項構造をモデル化する手法を提案した. その中で, 付加部を構
成する前置詞を介した項の関係に着目することで, 動詞句の表現の学習を改善し, 動詞句の意味的な
類似度を測るタスクでその効果を確認した. 今後は, 述語の項が句になっていることを活かし, より長
い文の表現を学習して文の言い換え認識などのタスクで評価する.
76
第 4 章 おわりに
4.1
本研究のまとめ
本研究では, ニューラルネットワークを用いて単語や文の意味をベクトル空間で表現する際に, 構
文情報を効果的に用いる手法を提案した. 構文情報としては, 句構造と述語項構造という互いに関連
した構文構造から得られるものに着目した.
まず句構造から得られる構文情報に関しては, 句のカテゴリと主辞に着目した. それらの情報を再
帰的ニューラルネットワークのモデルに効果的に組み込むことで, 文中の名詞間の意味的な類似度を
測るタスクにおける精度向上を示した. また, 関係分類という特定のタスクに着目した構文情報であ
る, 分類対象の名詞間の構文木上での最短経路という情報も効果的に再帰的ニューラルネットワーク
に組み込むことが出来ることがわかった. これらの結果により, 言語を表現するモデルとしてのニュー
ラルネットワークの柔軟性を示した. さらに, 再帰的ニューラルネットワークの学習時に観測された
不安定性を, モデルパラメータの平均化によって改善することで, モデルの安定性と汎化性能の向上
を実現した.
句構造の情報が効果的に利用できることが分かったため, 次はより一般的な意味の類似度を捉える
ことができる文の表現ベクトルを学習することを目的として, 述語項構造の利用法を提案した. 述語
項構造から得られる述語と項の特定の関係に着目することで, 句と句の共起関係をモデル化した. 従
来は単語と単語の共起関係に基づいて単語のベクトルを学習する手法が大半占めていたが, 本手法に
より, 大規模コーパスから自動で句の表現ベクトルまで学習することが可能になった. 実際には, 簡単
化した二, 三単語からなる短い句を表現するベクトルを学習した. 名詞句と動詞句の意味的な類似度
を測るタスクを用いて提案手法の有効性を確認し, 特に, 動詞句のタスクにおいては先行研究と比較
して最高スコアを達成した. その中で, 動詞句の意味表現の学習が名詞句に比べてより複雑であるこ
とがわかった. 動詞と主語や目的語の数学的表現の相互作用をテンソル分解によってモデル化するこ
とで, 本手法の弱点を改善し, さらに動詞句の意味的類似度を測るタスクのスコアを向上させた. また,
動詞句の意味表現を学習する際に付加部の役割に着目することで, 前置詞句などから成る付加部の利
用可能性を示した.
4.2
今後の展望
本研究を踏まえて, 今後は
• より長い文を表現するベクトルの学習
77
• 実用性の検討
• 他分野データの活用
に関して研究を行っていく.
4.2.1
より長い文を表現するベクトルの学習
本研究では, 述語項構造に着目することで大規模コーパスから句の表現ベクトルを自動で学習する
手法を提案したが, 実際に扱える句の長さは二, 三単語であり, 限られた用途でしか用いることが出来
ない. しかし, 本研究での実験のように簡単化を行わなければ, 実際には述語の項は全て句構造に基づ
く句になっているので, 句構造の表現手法と組み合わせることで任意の句に関する学習手法に拡張す
ることは可能である. ただし, 動詞の扱いに関しては, 他の名詞句などと比べて複雑なモデル化を要す
る可能性が示唆されたため, その点を考慮する必要がある. 二, 三単語に限らず一般の句や文に関して
も本論文の手法で表現ベクトルが学習できれば, より一般的な文の言い換え認識などのタスクに適用
可能となる.
4.2.2
実用性の検討
本研究で学習するような文の表現ベクトルが, 実世界のアプリケーションで有効に働くかどうかを
検討する必要がある. 最近では, 文書の表現ベクトルを学習する手法 [Le and Mikolov, 2014] を応用し
て Wikipedia や論文の類似度を測る試み [Dai et al., 2014] がなされた. そのような手法は, 単語の表層
だけでなく意味も考慮した文書検索システムの実現などに繋がる可能性を秘めている. より構造を意
識して構築された文の表現手法が, 実際にどのように活用されうるのか, ということを調査すること
は重要な課題である.
4.2.3
他分野データの活用
本研究ではテキストデータと, その文中にある構文構造に基づいて自然言語の文の表現を学習する
手法を提案してきたが, テキストデータのみに関して得られる情報には限界があると考えている. 例
えば, 一般に人間はテキストのみから言語を習得するわけではなく, 知覚などを駆使して言語を習得
していく. 実際, 近年では言語データと画像データなどを組み合わせて機械学習を行う手法が流行し
ている. 特に本研究に関係あるのは Karpathy et al. (2014) と Kiros et al. (2014) などである. Karpathy et
al. (2014) は, 説明文付きの画像データを用いることで, 画像データ中の物体と説明文の一部を対応づ
ける手法を提案した. 例えば, 「庭で白い犬がボールを追って走り回っている」といった文があるとき,
「白い犬」という表現が画像中の白い犬の領域に対応付けられたりする. Kiros et al. (2014) は, ニュー
ラルネットワーク言語モデルを用いて単語ベクトルを学習する際に, 画像データとセットになってい
るテキストを用いることで, 単語を予測する際に画像データの情報も用いる手法を提案した. このよ
78
うに画像データを用いることで, 本研究で学習する文のベクトル表現がどのような影響を受け, 意味
表現の質の改善につながるか, ということを調査していきたい.
79
参考文献
[Bahdanau et al.2014] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural Machine
Translation by Jointly Learning to Align and Translate. CoRR, abs/1409.0473.
[Baroni and Zamparelli2010] Marco Baroni and Roberto Zamparelli. 2010. Nouns are Vectors, Adjectives
are Matrices: Representing Adjective-Noun Constructions in Semantic Space. In Proceedings of the
2010 Conference on Empirical Methods in Natural Language Processing, pages 1183–1193.
[Baroni et al.2009] Marco Baroni, Silvia Bernardini, Adriano Ferraresi, and Eros Zanchetta. 2009. The
WaCky Wide Web: A Collection of Very Large Linguistically Processed Web-Crawled Corpora. Language Resources and Evaluation, 43(3):209–226.
[Bengio et al.2003] Yoshua Bengio, Réjean Ducharme, Pascal Vincent, and Christian Jauvin. 2003. A
Neural Probabilistic Language Model. Journal of Machine Learning Research, 3:1137–1155.
[Bengio et al.2012] Yoshua Bengio, Aaron C. Courville, and Pascal Vincent. 2012. Unsupervised Feature
Learning and Deep Learning: A Review and New Perspectives. CoRR, abs/1206.5538.
[Blacoe and Lapata2012] William Blacoe and Mirella Lapata. 2012. A Comparison of Vector-based Representations for Semantic Composition. In Proceedings of the 2012 Joint Conference on Empirical
Methods in Natural Language Processing and Computational Natural Language Learning, pages 546–
556.
[Cho et al.2014] Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi
Bougares, Holger Schwenk, and Yoshua Bengio. 2014. Learning Phrase Representations using RNN
Encoder–Decoder for Statistical Machine Translation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, pages 1724–1734.
[Ciaramita and Altun2006] Massimiliano Ciaramita and Yasemin Altun. 2006. Broad-Coverage Sense
Disambiguation and Information Extraction with a Supersense Sequence Tagger. In Proceedings of the
2006 Conference on Empirical Methods in Natural Language Processing, pages 594–602.
[Coecke et al.2010] Bob Coecke, Mehrnoosh Sadrzadeh, and Stephen Clark. 2010. Mathematical Foundations for a Compositional Distributional Model of Meaning. CoRR, abs/1003.4394.
80
[Collobert et al.2011] Ronan Collobert, Jason Weston, Léon Bottou, Michael Karlen, Koray Kavukcuoglu,
and Pavel Kuksa. 2011. Natural Language Processing (Almost) from Scratch. Journal of Machine
Learning Research, 12:2493–2537.
[Dahl et al.2012] George E Dahl, Dong Yu, Li Deng, and Alex Acero. 2012. Context-dependent pretrained deep neural networks for large-vocabulary speech recognition. IEEE Transactions on Audio,
Speech, and Language Processing, 20(1):30–42.
[Dai et al.2014] Andrew Dai, Christopher Olah, Quoc Le, and Greg Corrado. 2014. Document Embedding
with Paragraph Vectors. In Proceedings of Deep Learning Workshop at the 2014 Conference on Neural
Information Processing Systems.
[Duchi et al.2011] John Duchi, Elad Hazan, and Yoram Singer. 2011. Adaptive Subgradient Methods for
Online Learning and Stochastic Optimization. Journal of Machine Learning Research, 12:2121–2159.
[Erk and Padó2008] Katrin Erk and Sebastian Padó. 2008. A Structured Vector Space Model for Word
Meaning in Context. In Proceedings of the 2008 Conference on Empirical Methods in Natural Language
Processing, pages 897–906.
[Finkelstein et al.2001] Lev Finkelstein, Gabrilovich Evgenly, Matias Yossi, Rivlin Ehud, Solan Zach,
Wolfman Gadi, and Ruppin Eytan. 2001. Placing Search in Context: The Concept Revisited. In
Proceedings of the Tenth International World Wide Web Conference.
[Firth1957] John Rupert Firth. 1957. A synopsis of linguistic theory 1930-55. In Studies in Linguistic
Analysis, pages 1–32.
[Glorot and Bengio2010] Xavier Glorot and Yoshua Bengio. 2010. Understanding the difficulty of training deep feedforward neural networks. In Proceedings of the Thirteenth International Conference on
Artificial Intelligence and Statistics, pages 249–256.
[Goller and Küchler1996] Christoph Goller and Andreas Küchler. 1996. Learning Task-Dependent Distributed Representations by Backpropagation Through Structure. In International Conference on Neural
Networks.
[Goyal et al.2013] Kartik Goyal, Sujay Kumar Jauhar, Huiying Li, Mrinmaya Sachan, Shashank Srivastava, and Eduard Hovy. 2013. A Structured Distributional Semantic Model : Integrating Structure with
Semantics. In Proceedings of the Workshop on Continuous Vector Space Models and their Compositionality, pages 20–29.
[Grefenstette and Sadrzadeh2011] Edward Grefenstette and Mehrnoosh Sadrzadeh. 2011. Experimental
Support for a Categorical Compositional Distributional Model of Meaning. In Proceedings of the 2011
Conference on Empirical Methods in Natural Language Processing, pages 1394–1404.
81
[Hendrickx et al.2010] Iris Hendrickx, Su Nam Kim, Zornitsa Kozareva, Preslav Nakov, Diarmuid
Ó Séaghdha, Sebastian Padó, Marco Pennacchiotti, Lorenza Romano, and Stan Szpakowicz. 2010.
SemEval-2010 Task 8: Multi-Way Classification of Semantic Relations between Pairs of Nominals. In
Proceedings of the 5th International Workshop on Semantic Evaluation, pages 33–38.
[Hermann and Blunsom2013] Karl Moritz Hermann and Phil Blunsom. 2013. The Role of Syntax in
Vector Space Models of Compositional Semantics. In Proceedings of the 51st Annual Meeting of the
Association for Computational Linguistics (Volume 1: Long Papers), pages 894–904.
[Hinton and Salakhutdinov2006] G E Hinton and R R Salakhutdinov. 2006. Reducing the dimensionality
of data with neural networks. Science, 313(5786):504–507.
[Hinton et al.2006] Geoffrey E. Hinton, Simon Osindero, and Yee-Whye Teh. 2006. A fast learning algorithm for deep belief nets. Neural Computation, 18(7):1527–1554.
[Hinton et al.2012] Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, and Ruslan
Salakhutdinov. 2012. Improving neural networks by preventing co-adaptation of feature detectors.
CoRR, abs/1207.0580.
[Hinton1986] Geoffrey E. Hinton. 1986. LEARNING DISTRIBUTED REPRESENTATIONS OF CONCEPTS. In Proceedings of the Eigth Annual Conference of the Cognitive Science Society, pages 1–12.
[Huang et al.2012] Eric Huang, Richard Socher, Christopher Manning, and Andrew Ng. 2012. Improving
Word Representations via Global Context and Multiple Word Prototypes. In Proceedings of the 50th
Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 873–
882.
[Kalchbrenner et al.2014] Nal Kalchbrenner, Edward Grefenstette, and Phil Blunsom. 2014. A Convolutional Neural Network for Modelling Sentences. In Proceedings of the 52nd Annual Meeting of the
Association for Computational Linguistics (Volume 1: Long Papers), pages 655–665.
[Karpathy et al.2014] Andrej Karpathy, Armand Joulin, and Fei Fei F Li. 2014. Deep Fragment Embeddings for Bidirectional Image Sentence Mapping. In Advances in Neural Information Processing
Systems 27, pages 1889–1897.
[Kartsaklis and Sadrzadeh2013] Dimitri Kartsaklis and Mehrnoosh Sadrzadeh. 2013. Prior Disambiguation of Word Tensors for Constructing Sentence Vectors. In Proceedings of the 2013 Conference on
Empirical Methods in Natural Language Processing, pages 1590–1601.
[Kartsaklis et al.2012] Dimitri Kartsaklis, Mehrnoosh Sadrzadeh, and Stephen Pulman. 2012. A Unified
Sentence Space for Categorical Distributional-Compositional Semantics: Theory and Experiments. In
Proceedings of the 24th International Conference on Computational Linguistics, pages 549–558.
82
[Kartsaklis et al.2013] Dimitri Kartsaklis, Mehrnoosh Sadrzadeh, and Stephen Pulman. 2013. Separating
Disambiguation from Composition in Distributional Semantics. In Proceedings of 17th Conference on
Natural Language Learning, pages 114–123.
[Kartsaklis et al.2014] Dimitri Kartsaklis, Nal Kalchbrenner, and Mehrnoosh Sadrzadeh. 2014. Resolving Lexical Ambiguity in Tensor Regression Models of Meaning. In Proceedings of the 52nd Annual
Meeting of the Association for Computational Linguistics (Volume 2: Short Papers), pages 212–217.
[Kiros et al.2014] Ryan Kiros, Ruslan Salakhutdinov, and Rich Zemel. 2014. Multimodal Neural Language Models. In Proceedings of The 31st International Conference on Machine Learning, pages 595–
603.
[Krizhevsky et al.2012] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E. Hinton. 2012. ImageNet Classification with Deep Convolutional Neural Networks. In Advances in Neural Information Processing
Systems 25, pages 1097–1105.
[Le and Mikolov2014] Quoc Le and Tomas Mikolov. 2014. Distributed Representations of Sentences and
Documents. In Proceedings of the 31st International Conference on Machine Learning, pages 1188–
1196.
[Le and Zuidema2014] Phong Le and Willem Zuidema. 2014. The Inside-Outside Recursive Neural Network model for Dependency Parsing. In Proceedings of the 2014 Conference on Empirical Methods in
Natural Language Processing, pages 729–739.
[Levy and Goldberg2014] Omer Levy and Yoav Goldberg. 2014. Dependency-Based Word Embeddings.
In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 2:
Short Papers), pages 302–308.
[Li et al.2013] Peng Li, Yang Liu, and Maosong Sun. 2013. Recursive Autoencoders for ITG-Based Translation. In Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing,
pages 567–577.
[Mikolov et al.2013a] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013a. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at the International
Conference on Learning Representations.
[Mikolov et al.2013b] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. 2013b.
Distributed Representations of Words and Phrases and their Compositionality. In Advances in Neural
Information Processing Systems 26, pages 3111–3119.
[Mikolov et al.2013c] Tomas Mikolov, Wen-tau Yih, and Geoffrey Zweig. 2013c. Linguistic Regularities
in Continuous Space Word Representations, booktitle = Proceedings of the 2013 Conference of the North
American Chapter of the Association for Computational Linguistics: Human Language Technologies.
pages 746–751.
83
[Milajevs et al.2014] Dmitrijs Milajevs, Dimitri Kartsaklis, Mehrnoosh Sadrzadeh, and Matthew Purver.
2014. Evaluating Neural Word Representations in Tensor-Based Compositional Settings. In Proceedings
of the 2014 Conference on Empirical Methods in Natural Language Processing, pages 708–719.
[Mitchell and Lapata2008] Jeff Mitchell and Mirella Lapata. 2008. Vector-based models of semantic
composition. In Proceedings of 46th Annual Meeting of the Association for Computational Linguistics:
Human Language Technologies, pages 236–244.
[Mitchell and Lapata2010] Jeff Mitchell and Mirella Lapata. 2010. Composition in Distributional Models
of Semantics. Cognitive Science, 34(8):1388–1439.
[Miyao and Tsujii2008] Yusuke Miyao and Jun’ichi Tsujii. 2008. Feature Forest Models for Probabilistic
HPSG Parsing. Computational Linguistics, 34(1):35–80, March.
[Mnih and Kavukcuoglu2013] Andriy Mnih and Koray Kavukcuoglu. 2013. Learning word embeddings
efficiently with noise-contrastive estimation. In Advances in Neural Information Processing Systems 26,
pages 2265–2273.
[Mnih and Teh2012] Andriy Mnih and Yee Whye Teh. 2012. A fast and simple algorithm for training
neural probabilistic language models. In Proceedings of the 29th International Conference on Machine
Learning, pages 1751–1758.
[Paperno et al.2014] Denis Paperno, Nghia The Pham, and Marco Baroni. 2014. A practical and
linguistically-motivated approach to compositional distributional semantics. In Proceedings of the 52nd
Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 90–
99.
[Rink and Harabagiu2010] Bryan Rink and Sanda Harabagiu. 2010. UTD: Classifying Semantic Relations
by Combining Lexical and Semantic Resources. In Proceedings of the 5th International Workshop on
Semantic Evaluation, pages 256–259.
[Rumelhart et al.1988] David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams. 1988. Learning
Representations by Back-propagating Errors. Neurocomputing: Foundations of Research, pages 696–
699.
[Socher et al.2010] Richard Socher, Christopher D. Manning, and Ng Andrew Y. 2010. Learning Continuous Phrase Representations and Syntactic Parsing with Recursive Neural Networks. In Proceedings
of Deep Learning and Unsupervised Feature Learning Workshop at the 2010 Conference on Neural
Information Processing Systems.
[Socher et al.2011a] Richard Socher, Eric H. Huang, Jeffrey Pennin, Christopher D Manning, and Andrew Y. Ng. 2011a. Dynamic Pooling and Unfolding Recursive Autoencoders for Paraphrase Detection.
In Advances in Neural Information Processing Systems 24, pages 801–809.
84
[Socher et al.2011b] Richard Socher, Cliff Chiung-Yu Lin, Andrew Ng, and Chris Manning. 2011b. Parsing Natural Scenes and Natural Language with Recursive Neural Networks. In Proceedings of the 28th
International Conference on Machine Learning, pages 129–136.
[Socher et al.2011c] Richard Socher, Jeffrey Pennington, Eric H. Huang, Andrew Y. Ng, and Christopher D. Manning. 2011c. Semi-Supervised Recursive Autoencoders for Predicting Sentiment Distributions. In Proceedings of the 2011 Conference on Empirical Methods in Natural Language Processing,
pages 151–161.
[Socher et al.2012] Richard Socher, Brody Huval, Christopher D. Manning, and Andrew Y. Ng. 2012.
Semantic Compositionality through Recursive Matrix-Vector Spaces. In Proceedings of the 2012 Joint
Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pages 1201–1211.
[Socher et al.2013a] Richard Socher, John Bauer, Christopher D. Manning, and Ng Andrew Y. 2013a.
Parsing with Compositional Vector Grammars. In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 455–465.
[Socher et al.2013b] Richard Socher, Alex Perelygin, Jean Wu, Jason Chuang, Christopher D. Manning,
Andrew Ng, and Christopher Potts. 2013b. Recursive Deep Models for Semantic Compositionality
Over a Sentiment Treebank. In Proceedings of the 2013 Conference on Empirical Methods in Natural
Language Processing, pages 1631–1642.
[Socher et al.2014] Richard Socher, Quoc V. Le, Christopher D. Manning, and Andrew Y. Ng. 2014.
Grounded Compositional Semantics for Finding and Describing Images with Sentences. Transactions
of the Association for Computational Linguistics, 2:207–218.
[Stenetorp2013] Pontus Stenetorp. 2013. Transition-based Dependency Parsing Using Recursive Neural
Networks. In Proceedings of Deep Learning Workshop at the 2013 Conference on Neural Information
Processing Systems.
[Sutskever et al.2014] Ilya Sutskever, Oriol Vinyals, and Quoc V. Le. 2014. Sequence to Sequence Learning with Neural Networks. In Advances in Neural Information Processing Systems 27, pages 3104–3112.
[Thater et al.2010] Stefan Thater, Hagen Fürstenau, and Manfred Pinkal. 2010. Contextualizing Semantic Representations Using Syntactically Enriched Vector Models. In Proceedings of the 48th Annual
Meeting of the Association for Computational Linguistics, pages 948–957.
[Tsubaki et al.2013] Masashi Tsubaki, Kevin Duh, Masashi Shimbo, and Yuji Matsumoto. 2013. Modeling
and Learning Semantic Co-Compositionality through Prototype Projections and Neural Networks. In
Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, pages
130–140.
85
[Turian et al.2010] Joseph Turian, Lev-Arie Ratinov, and Yoshua Bengio. 2010. Word Representations: A
Simple and General Method for Semi-Supervised Learning. In Proceedings of the 48th Annual Meeting
of the Association for Computational Linguistics, pages 384–394.
[Turney and Pantel2010] Peter D. Turney and Patrick Pantel. 2010. From Frequency to Meaning: Vector
Space Models of Semantics. Journal of Artificial Intelligence Research, 37(1):141–188.
[UzZaman et al.2013] Naushad UzZaman, Hector Llorens, Leon Derczynski, James Allen, Marc Verhagen, and James Pustejovsky. 2013. SemEval-2013 Task 1: TempEval-3: Evaluating Time Expressions,
Events, and Temporal Relations. In Second Joint Conference on Lexical and Computational Semantics
(*SEM), Volume 2: Proceedings of the Seventh International Workshop on Semantic Evaluation, pages
1–9.
[Van de Cruys et al.2013] Tim Van de Cruys, Thierry Poibeau, and Anna Korhonen. 2013. A Tensor-based
Factorization Model of Semantic Compositionality. In Proceedings of the 2013 Conference of the North
American Chapter of the Association for Computational Linguistics: Human Language Technologies,
pages 1142–1151.
[Van de Cruys2009] Tim Van de Cruys. 2009. A Non-negative Tensor Factorization Model for Selectional
Preference Induction. In Proceedings of the Workshop on Geometrical Models of Natural Language
Semantics, pages 83–90.
[Zhang et al.2006] Min Zhang, Jie Zhang, Jian Su, and GuoDong Zhou. 2006. A Composite Kernel to
Extract Relations between Entities with Both Flat and Structured Features. In Proceedings of the 21st
International Conference on Computational Linguistics and 44th Annual Meeting of the Association for
Computational Linguistics, pages 825–832.
[Zhang et al.2014] Jiajun Zhang, Shujie Liu, Mu Li, Ming Zhou, and Chengqing Zong. 2014. Bilinguallyconstrained Phrase Embeddings for Machine Translation. In Proceedings of the 52nd Annual Meeting
of the Association for Computational Linguistics (Volume 1: Long Papers), pages 111–121.
86
本研究に関する発表文献
査読付き会議論文
1. Kazuma Hashimoto, Makoto Miwa, Yoshimasa Tsuruoka, and Takashi Chikayama. Simple Customization of Recursive Neural Networks for Semantic Relation Classification. In Proceedings of
the 2013 Conference on Empirical Methods in Natural Language Processing, pp. 1372–1376, Seattle, Washington, October 2013.
2. Kazuma Hashimoto, Pontus Stenetorp, Makoto Miwa, and Yoshimasa Tsuruoka. Jointly Learning
Word Representations and Composition Functions Using Predicate-Argument Structures. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, pp. 1544–
1555, Doha, Qatar, October 2014.
査読無し会議・シンポジウム
1. 橋本和真, 三輪誠, 鶴岡慶雅, 近山隆. 半教師有り再帰的オートエンコーダの生体医学分野のテキ
ストへの適用. 言語処理学会第 19 回年次大会発表論文集, pp. 838–841, 名古屋, 2013 年 3 月.
2. 橋本和真, 三輪誠, 鶴岡慶雅, 近山隆. 構文情報を用いた平均化再帰的ニューラルネットワークに
よる意味的関係分類. NLP 若手の会第 8 回シンポジウム, 発表 14, 東京, 2013 年 9 月. (奨励賞)
3. 橋本和真, 三輪誠, 鶴岡慶雅, 近山隆. 述語項構造に基づくニューラルネットワーク言語モデルの
学習. 言語処理学会第 20 回年次大会発表論文集, pp. 532–535, 札幌, 2014 年 3 月. (若手奨励賞)
4. 橋本和真, 鶴岡慶雅. テンソル分解に基づく述語項構造のモデル化と動詞句の表現ベクトルの学
習. 言語処理学会第 21 回年次大会発表論文集, 京都, 2015 年 3 月. (発表予定)
87
その他の発表文献
査読無し会議・シンポジウム
1. 橋本和真, 鶴岡慶雅. 関係分類に特化した特徴量の分散表現学習. NLP 若手の会第 9 回シンポジ
ウム, 発表 O04, 三浦海岸, 2014 年 9 月. (奨励賞)
2. 外山翔平, 橋本和真, 鶴岡慶雅. 構文情報を利用した事前並べ替えとニューラルネットワーク機
械翻訳の同時学習. 言語処理学会第 21 回年次大会発表論文集, 京都, 2015 年 3 月. (発表予定)
88
謝辞
本研究を進めるにあたって, 多くの方にお世話になりました.
指導教員の鶴岡慶雅准教授には, 卒論生の頃から 3 年間に渡って数多くのことをご指導いただきま
した. 普段の研究室ミーティングにおける進捗報告の際には, 研究の方向性などに関して非常に参考
になるご意見をたくさんいただきました. また, 論文を書く際には細かい添削をしていただきました.
特に, 英語で論文を書く際には内容だけでなく, 英語の文法や表現に関するアドバイスをしていただ
き, 非常に勉強になりました. いつも締め切り直前まで論文の添削に付きあっていただき, ありがとう
ございました. 今後はもっと自分の力で上手く書けるようになっていきたいと思っています.
近山隆名誉教授には, 修士課程の 1 年次まで, 研究室ミーティングなどにおいて様々な有益なアド
バイスをいただきました. 提案する手法の細部のみに留まらず, より広い視野を持ったアドバイスに
はいつも感心させられました.
研究室 OB の豊田工業大学准教授の三輪誠さんには, 研究室に配属されてから 2 年間に渡って, 同じ
学生室にいる先生的な存在として非常に多くのことを教えていただきました. 特に修士 1 年の頃に研
究の方向性に関して行き詰まっている際にはいつも助けていただきました. 別の大学に移られた今で
も英語論文の執筆などに関してアドバイスをいただき, 大変感謝しています. また, NaCTeM での研究
プロジェクトに参加できるように推薦していただくなど, 多方面にわたってご厚意をいただきました.
外国人特別研究員の Pontus Stenetorp さんには, 普段から頻繁に話しかけていただき楽しい議論を
させていただきました. 日常的な英会話や, 論文を書きながらの議論など, 様々な面において英語を話
す機会を与えていただいたことは非常にありがたいことでした.
研究室の先輩の浦晃さんには, 普段から研究内容に限らず様々なアドバイスをいただいたり, 相談に
のっていただきました. 平日, 土日に関わらず, いつも夜遅くまで研究を頑張っている姿を見ると, 自
然と自分の研究のやる気も高まりました. 研究で行き詰まっているときなどに, とりあえずどこかに
英語で論文を書いてみたらどうか, などといった励ましの言葉をいただき, ありがとうございました.
研究室の同期である亀甲博貴君と水上直紀君の存在は, これまでもこれからも, 長い研究生活を続
ける中で非常に貴重でありがたいものです. 研究内容は異なれど, 二人が熱心に研究している姿は大
変励みになりました.
個別に名前を挙げた方々にとどまらず, 研究室の先輩や後輩の皆様には, 研究室でのミーティング
の際に意見をいただいたり, 日常生活など様々な面で大変お世話になりました. 特に卒論生の有賀竣
哉君と外山翔平君には, 自身の研究と関わりのある研究課題に取り組んでいただき, 進捗報告や日々
の議論などを楽しませていただきました.
最後に, 長いこと学生でいることを許容してくれ, 応援してくださっている家族には大変感謝して
います. 自分だけでは, ここまで来られることは有り得ませんでした.
89