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

フレーズ知識補完と生成の同時学習
浅野久子
富田準二
斉藤いつみ
西田京介
日本電信電話株式会社 NTT メディアインテリジェンス研究所{saito.itsumi, nishida.kyosuke, asano.hisako, tomita.junji}@lab.ntt.co.jp

1

はじめに

本研究では，フレーズ間の知識補完問題に取り組む．
一般に知識補完問題とは，あらかじめ与えられた知識グラフをモデル化し，知識グラフ上にリンクが存在しないノード同士の関係性を判定するもので，新たな知識の獲得などに用いることができる．知識グラフ中の情報は ⟨t1 , r,t2 ⟩ のように三つ組で表され，⟨cat, hasA, eye⟩などといった知識が存在する．t1 ,t2 がノード，r がノード間の関係を表し，ノードにはエンティティやテキストが与えられる．ここで，r(=hasA) が欠落している時に，cat と eye の 2 つからどのような関係があるかを予測することが知識補完の一例である．知識グラフの情報は，他の応用タスクにおいても外部知識として用いられるようになってきている．例えば対話システムや質問応答などの応用タスクにおいてこのような外部知識を用いて頑健な応答を生成する研究も増えてきて
おり [9, 6]，知識グラフのカバー率を上げていくことは言語の深い理解において重要な問題であると考えられる．
これまでの知識補完問題においては，WordNet やFreeBase などを用いて，ノードが全て既知の閉じたグラフに対する知識補完のモデルが多く検討されてきた[2, 8]．しかし，ConceptNet などのノードがフレーズの知識グラフを想定する場合，事前に全てのノードを網羅することは難しく，未知のノードに対しても頑健に関係性を判定できるモデルが必要となる．Shi ら [7]は，このような未知のノードを含む知識補完問題を次のように定義している．
定義 1 (知識補完問題) 欠損を含む知識グラフ G =(E, R, T ) が与えられたとき，与えられたグラフ G に存在しない三つ組 T ′ = {⟨t1 , r,t2 ⟩|⟨t1 , r,t2 ⟩ ∈/ T,t1 ∈ Ei ,t2 ∈Ei , r ∈ R} を見つけ補完する．ここで，E はフレーズの集合，R は関係ラベルの集合，T は G 中 に存在する三つ組の集合，E は Ei の部分集合である．
ここで，閉じたグラフ上の知識補完問題とは，上記の定義において E = Ei とする場合の問題設定を指す．
Shi ら [7] も指摘しているように，現実の問題においては未知ノードを含む問題設定が多いと考えられる．Liら [5] は，未知ノードを含む問題設定として，ノードがフレーズの知識補完問題について，三つ組 ⟨t1 , r,t2 ⟩が与えられたときその組み合わせが成り立つか否かの2 値判別問題として知識補完問題を具体化した．Li ら[5] の手法はシンプルなニューラルネットモデルで 2 値分類の問題において高い精度を示しているが，フレーズのベクトル表現の改良や外部の知識の利用などを行うことでさらなる精度向上が期待できる．
本研究では，Li ら [5] と同様に三つ組の 2 値判別問
題としてフレーズ知識補完問題に取り組むが，フレーズ知識の生成問題という新しいタスクを導入し同時に推定する新しい手法について提案する．本研究の貢献を下記に示す．

• フレーズ知識の生成問題という新しい問題を定義し，フレーズ補完問題と同時に解く手法について提案した．
• 三つ組知識について，人手アノテーションデータだけでなく非アノテーションデータを用いる方法について提案した．
• 実験により，知識補完問題において提案手法がstate-of-the-art の精度を達成した．

2

タスク設定

本研究では，フレーズ知識補完とフレーズ知識生成という二つのタスクを扱う．それぞれのタスク設定について，説明する．
問題 1 (フレーズ知識補完問題:識別) 三 つ 組 ⟨t1 , r,t2 ⟩の入力に対し，その組み合わせが成り立つか否かの2 値分類結果を出力する
問題 2 (フレーズ知識補完問題:ランキング) フレーズ
t1 ∈ Ei (t2 ∈ Ei ) と関係ラベル r ∈ R が与えられたとき，t1 (t2 ), r との関係性スコアで t2 (t1 ) をランキングする．
問題 3 (フレーズ知識生成問題) フレーズ t1 (t2 ) と関係
ラベル r ∈ R が与えられたとき，t1 (t2 ) と r の関係が成り立つ任意長のフレーズ t2 (t1 ) を生成する．
問題 2 については，問題 1 のモデルを使って実現することも可能であるため，今回は従来研究 [5] と同様に問題 1 に取り組む．問題 3 については我々が新規に設定したタスクである．

3

提案手法

提案手法の全体像を図 1 に示す．既存手法と提案手法の大きな違いは，提案手法が知識補完モデルだけでなく知識生成モデルを同時に推定する点である．具体的には，フレーズをベクトル化するための LSTM と語彙，関係ラベルの embedding を知識補完モデルと知識生成モデルで共有する．それぞれの具体的な構成を下記に示す．

3.1

フレーズ知識補完モデル

モデルの基本的な構造は Li ら [5] と類似したモデルを使用するが，入力となるベクトルの生成方法が異なっている．以下具体的に説明するため，まず Li らの提案したモデルについて説明する．
Li ら [5] は，任意の三つ組 ⟨t1 , r,t2 ⟩ が与えられた時，三つ組の信頼度スコア score(t1 , r,t2 ) を推定するモデルをニューラルネットワークを用いて次のように定義している．

score(t1 , r,t2 ) = W2 g(W1 vin + b1 ) + b2(1)

ここで，vin = concat(v12 , vr )，v12 ∈ Rd は t1 ,t2 を結合した単語列のベクトル表現，vr ∈ Rd は関係ラベル rのベクトル表現を表す．g は非線形関数を表し，本研
究では ReLU を用いる．最終層のスコアは 1 次元の出― 951 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

図 1: 提案手法のモデル構造．提案モデルは，⟨t1 = “play game”, r = “HasPrerequisit”,t2 = “know rule”⟩ のスコアを出力する知識補完モデルと，⟨t1 , r⟩ から t2 , ⟨t2 , r′ ⟩ から t1 をそれぞれ生成するモデルを同時に学習する．生成モデ
ルでは，関係ラベル r をデコーダの各時刻の入力に追加する．
力とする．これらは，任意の三つ組が与えられた時その三つ組が正しい組み合わせか否かを判別するモデルと考えることができる．我々のモデルも上記と同様の定式化を用いて知識補完モデルを定義するが，vin のモデル化が Li ら [5] と異なる．Li らは，フレーズのベクトル表現として，単語ベクトルの平均，LSTM のmaxpooling の二種類とシンプルなモデル化を行っている．一方，我々のモデル化では各フレーズのベクト
ルを LSTM の attention pooling を用いて下記のように定義する．ここで，xij ，hij はそれぞれフレーズ ti の j
番目単語の embedding と LSTM の隠れ層ベクトルを表す．

hij = BiLSTM(xij , hij−1 )(i = 1, 2)(2)

Jexp(et )hijJ
j=1 ∑k=1 exp(ek )vi = ∑(3)

ek = v⊤ tanh(W hk )v12 = Bilinear(v1 , v2 )vin = concat(v12 , vr )

(4)
(5)
(6)

vin は，batch normalization と dropout を行った上で上位の層に受け渡す．各フレーズをベクトル化するための LSTM，単語・関係ラベルの embedding は次に説明するフレーズ知識生成モデルと共有する．

3.2 フレーズ知識生成モデル
次に，フレーズ知識を生成するモデルについて説明する．本研究では，フレーズ知識を生成するためにアテンションベースの Encoder-decoder モデルを用いる．また，エンコーダの LSTM と単語・関係ラベル embedding 部分はフレーズ知識補完モデルと共有する．Encoder-decoder モデルのエンコーダ部分を文やフレーズのベクトル表現として用いる方法については，[3] らが提案しており効果が示されている．本研究でもフレーズのベクトル化部分を Encoder-decoder の情報と共有することでより高品質なフレーズの表現が得られることが期待できる．今回は単語列に加えて，関係ラベル r の情報が存在するため，関係ラベルを考慮した Encoder-decoder モデルを構築する．ここで，入力フレーズの単語列を X = (x1 , x2 , ..., xJ ), 出力フレーズの単語列を Y = (y1 , y2 , ..., yT ) とすると，Y の出力確率は下記のように定式化できる．
Lp(Y |X, θ ) = ∏ p(yt |y<t , ct , r)

(7)

t=1

p(yt |y<t , ct , r) = g(yt−1 , st , ct , r)
st = LSTM(concat(vyt−1 , vr ), st−1 )

(8)
(9)

ここで，ct は attention で重みづけられた入力側のコンテキストベクトル，st は LSTM の隠れ層を表す．上記に示すように，デコーダの入力として vr を結合して用いている．このような方法でデコーダ側に追加情報としてラベルを入れる方法については [4] などでも類似の手法が提案されている．パラメータ θ は学習によって求める．
また，今回は Encoder-decoder モデルの学習データとして三つ組データを用いる．三つ組データの場合，どちらのフレーズを入力としても問題ないと考えられるため，入力と出力を入れ替えたデータについても学習を行う．この際，関係ラベルには方向があるため，新たに逆向きのラベル r′ を導入する．従って，Encoderdecoder モデルにおいては，関係ラベルの語彙数は元のラベルの語彙数の 2 倍になる．

3.3 学習3.3.1 損失関数提案手法では，上記に示した 2 つのモデルの損失関数を同時に考慮しながら学習を行う．具体的には，下記の式を用いて学習を行う．
L(θ ) = Ltriple + λ Lencdec(10)

ここで，θ はモデルパラメータであり，Ltriple はフレー
ズ知識補完モデルに関する損失関数，Lencdec はフレーズ知識生成モデルに関する損失関数を表す．フレーズ
知識補完モデルの損失関数 Ltriple については Li ら [5]の結果から最も精度が良かった binary cross entropy を用いて下記の式で表す．

Ltriple (τ , l)= −(11)1 N∑ (llogσ (score(τ )) + (1 − l)log(1 − σ (score(τ ))))
N n=1

ここで，τ は三つ組を表す変数，l は正例に対して 1，負例に対して 0 となるバイナリ変数，σ はシグモイド関― 952 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

数である．上記の定式化は，任意の三つ組 τ = ⟨t1 , r,t2 ⟩に対して正例のスコアが 1，負例のスコアが 0 に近くなるように学習を行う．
Encoder-decoder の損失関数については，通常のEncoder-decoder モデルと同様に cross entropy 関数を用いて次のように表す．

Lencdec = −1 N L(n) (n) (n)∑ ∑ logp(yt |y<t , ct , r(n) )
N n=1
t=1

表 1: 実験データの概要
train
validation1
validation2
test
関係ラベル数
語彙数
フレーズ平均単語数(12)

ここで，N はデータ数，L は出力側のフレーズ Y の単語数，ct は入力側のコンテキストベクトル，r は関係ラベルを表す．

3.3.2 負例サンプリング
Binary cross entropy を用いて 2 値分類モデルの学習を行う場合，負例を用意する必要がある．今回扱うフレーズ知識データは，人手アノテーションデータが正例のみであるため，Li ら [5] の研究では負例を自動生成することで学習を行っている．本研究では，Li ら[5] の研究で最も精度が良かったランダムサンプリングを用いて負例の生成を行う．具体的には，それぞれの正例三つ組データ τ = ⟨t1 , r,t2 ⟩ に対して，t1 , t2 , r を1 つずつランダムに置き換えたデータ τneg1 = ⟨t1′ , r,t2 ⟩,τneg2 = ⟨t1 , r′ ,t2 ⟩, τneg3 = ⟨t1 , r,t2′ ⟩ を生成する．ランダ
ムにサンプリングされる t1′ ，t2′ はそれぞれ学習時のミニバッチ中に出現した候補からサンプリングされ，r′は全ラベル候補の中からサンプリングされる．従って，学習中は，正例 1 つにつき 3 個の負例をサンプリングしながら学習を行う．ただし，負例はフレーズ知識補完モデルのみに用いる．フレーズ知識生成モデルは正しい三つ組から学習を行いたいため，正例の三つ組のみから学習を行う．

3.4 非アノテーションデータの利用
3.4.1 三つ組データの自動抽出
フレーズ知識は，ノードが単語列になっているため十分な学習のためには多量の学習データが必要と考えられる．人手で作成可能なデータ量には限界がある
ため，人手アノテーションがされていない非アノテーションテキストの情報も効果的にモデルに導入できれば，さらなる精度の向上が期待できる．本研究では，非アノテーションデータの効果を確認するため，非アノテーションテキストとアノテーションデータから学習した学習済みモデルを使って，擬似的な三つ組データを自動生成し効果を確認した．具体的な生成手順を下記に示す．
1. 係り受け解析と接続表現を用いて接続表現を含む文節と係り受け関係にある文節から三つ組候補データを抽出．接続表現は「ので」「ため」など，17 種類の接続表現をあらかじめ定義した．(抽出例：⟨ 免税地域である, ので, 品物は格安である ⟩)2. 抽出した三つ組候補の接続表現を，知識補完モデルで定義した関係ラベル r ∈ R に置き換えた三つ組を作成する．
（例：⟨ 免税地域である, Antonym, 品物は格安である ⟩）3. 関係ラベルを置き換えた三つ組に対し，学習済みモデルでスコアリングを行い，閾値以上の候補を擬似データとして抽出する（例：⟨ 免税地域である,Causes, 品物は格安である ⟩）本研究では閾値を 0.85 とし，Wikipedia テキストから312,736 トリプルを抽出した．また，今回は日本語のみ実験を行ったが，英語についても同様にデータを追加することが可能である．

ConceptNet
100,000
1,200
1,200
2,400
34
21,471
2.02

Ja
192,714
6,889
6,889
7
18,1193.96

3.4.2 自動抽出データを用いた追加学習
自動抽出したデータは，ラベルの空間やデータの性質が人手アノテーションデータとは異なっている．そのため，本研究ではまず非アノテーションデータと人手アノテーションデータを結合したデータを用いて事前学習を行い，その後人手データで再学習（fine tuning）を行った．

4 実験
4.1 実験データ
実験データは，Li ら [5] が公開している ConceptNet（英語）のデータ1 と，我々が独自にアノテーションした日本語のオープンドメインデータを用いる．表 1 にそれぞれのデータの概要を示す．ConceptNet の方がラベル数が多い．語彙数はいずれも 2 万程度だが，フレーズの平均単語長は日本語データが ConceptNet の倍程度と長くなっている．日本語データに関しては，クラウドソーシングを用いて web 上からクロールした頻出単語に関連する三つ組 ⟨t1 , r,t2 ⟩ を作成した．ノイズとなるデータを除去するため，ある作成者が作成した三つ組 ⟨t1 , r,t2 ⟩ について，r を隠した状態で別の3 名のワーカーに適切な r を選択するタスクを行ってもらい，2 人以上が同じラベルを選択したデータのみを使用した．また，test データと validation データに関しては，全員の選択した r が一致したデータからランダムに選択し，それ以外を学習データとした．日本
語の test, validation データは，ConceptNet データと同様に正例と負例が 1:1 となるようにデータを作成した．
具体的には，まず正例をサンプリングした後，各正例の 3 つ組みの要素 1 つをランダムに選択しテストデー
タ中の別の要素と置換して作成した．

4.2 評価方法と比較手法
知識補完モデル ベースラインとして，Li ら [5] の手法 (DNN AVG, DNN LSTM) を用いる．これらは，入力ベクトル vin がそれぞれ単語ベクトルの平均，LSTM のmaxpooling をとったものである．ただし，LSTM のモデルでは，t1 と t2 を別々にベクトル化して concat した．
提案手法に関しては，知識補完モデルを単独で用いた場合（proposed w/o EncDec）と双方を同時に学習した場合（proposed w/ EncDec）の精度評価を行った．評価指標は 2 値判別の正解率を用いた．また，ConceptNetの実験に関しては Li ら [5] と同様に，train データで学習を行い，val1 データでハイパーパラメータの調整，評価を valid2, test データで行った．日本語データも同様に train, validation でパラメータを決定し test で評価をした．
知識生成モデル ベースラインとして，関係ラベルを用いない Encoder-decoder 単独モデル（EncDec w/orelation single）を用いた．また，関係ラベルを考慮した単独モデル（EncDec w/relation single）と，知識補― 953 ―

1 http://ttic.uchicago.edu/ kgimpel/commonsense.html

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

表 2: フレーズ知識補完（2 値分類）の結果

methodbase (DNN AVG)
base (DNN LSTM)
proposed w/o EncDec
proposed w/ EncDec
proposed w/ EncDec (+data)
proposed w/ EncDec (+augdata)
Li et al [5]Li et al (+data)[5]
human [5]ConceptNet
valid2
test
0.905
0.923
0.910
0.928
0.911
0.927
0.928
0.938
0.936
0.948
0.913
0.920
0.918
0.925
〜0.950-

表 3: フレーズ知識生成の結果
Ja
test
0.889
0.877
0.881
0.897
0.897
-

完モデルとの同時学習（EncDec w/relation Multi）を比較した．評価は，単語レベルの正解率で評価を行った．

4.3 実験設定
本研究で用いたパラメータについて説明する．LSTMの隠れ層，単語・関係ラベルの embedding は 200 次元，知識補完モデルの中間層の次元を 1000，学習時のバッチサイズは 128，ドロップアウトは 0.2, weight decayは 0.00001 に設定した．また，知識生成モデルのエンコーダには 1 層の双方向 LSTM，デコーダには 1 層のLSTM を用いた．最適化法は SGD を用い，初期学習率は 1.0 に設定し減衰率を 0.5 としてスケジューリングを行った．ただし，非アノテーションデータを用いた学習における fine tuning 時は初期学習率を 0.2 に設定した．
loss 関数の λ は 1.0 に固定した．単語，関係ラベルのembedding 初期値は，三つ組学習データと Wikipediaを結合したテキストファイルを基に fastText[1] を用いて事前に計算したベクトルを用いた．

4.4

実験結果

4.4.1 フレーズ知識補完
表 2 に知識補完（2 値分類）の評価結果を示す．下層の行には，Li ら [5] が論文中で報告している中で最も良い精度を示している．ここで+data という行は，学習データを 100k から 300k に増やした場合の評価である．表 2 の結果より，提案手法は既存手法に比べて精度が向上しており，ConceptNet のデータでは従来研究の最高値を超える結果が得られた．特に，データを増やした条件では 2%以上の精度向上が見られ，人間による上限 (〜0.95) にも近づいている．単独モデル(proposed w/o EncDec) と同時学習モデル (proposed w/EncDec) の比較により，ConceptNet, Japanese データともに，同時学習によって単独モデルよりも良い精度が得られていることがわかる．これは，知識補完問題にとっては生成問題の損失関数が制約として働き，より良いフレーズベクトルが得られたためと考えられる．
4.4.2 フレーズ知識生成
表 3 に，フレーズ知識生成モデルの精度を示す．結果から，ベースラインと関係を考慮した Encoder-decoderモデルで大きな精度差が見られ，関係ラベルを考慮することにより生成の精度が大幅に向上していることがわかる．マルチタスク学習にしたことによる生成モデ
ル側の精度向上はあまり見られないが，教師なしデー
タを追加することにより生成モデルの精度も向上させることができる．
4.4.3 非アノテーションデータの効果
非アノテーションデータを用いた場合の精度について，表 2, 表 3 の+augdata に示した．非アノテーショ
ンデータについては日本語のみで実験を行っている．

methodEncDec w/o relation (single)
EncDec w/relation (single)
EncDec w/relation (Multi)
EncDec w/relation (Multi + augdata)

ConceptNet
valid2
test
0.535 0.564
0.598 0.633
0.602 0.633
-Ja
test
0.529
0.544
0.542
0.553

結果より，補完問題については精度の向上が見られなかったが，生成問題において精度が向上していることがわかる．人手で作成されたアノテーションデータではないノイジーなデータでも生成問題に対しては精度の向上に寄与するということがわかった．補完問題についてもノイジーなデータを加えても悪化はしていないため，擬似的な三つ組データの作り方をさらに工夫することやデータ量を増やすことでさらなる精度の向上も期待できると考える．

5

まとめ

本研究では，任意のフレーズ間の知識を推定する知識補完問題において，フレーズ知識生成モデルを同時に考慮するモデルを提案し，単独モデルで学習するよりも精度が向上することを確認した．ConceptNet の実
験では，SOTA を達成した．また，アノテーションされていないテキストも同時に学習に用いることで，さらに精度が向上可能であることを示した．今後は，さらに大規模な教師なしデータの同時活用により，モデルの汎化性能を高める方法を検討する．

参考文献[1] Piotr Bojanowski, Edouard Grave, Armand Joulin, andTomas Mikolov. Enriching word vectors with subword information. arXiv preprint arXiv:1607.04606, 2016.
[2] Antoine Bordes, Nicolas Usunier, Alberto Garcia-Durán,
Jason Weston, and Oksana Yakhnenko. Translating embeddings for modeling multi-relational data. In Proceedings ofthe 26th International Conference on NIPS, pp. 2787–2795,
2013.
[3] Ryan Kiros, Yukun Zhu, Ruslan Salakhutdinov, Richard S.
Zemel, Antonio Torralba, Raquel Urtasun, and Sanja Fidler. Skip-thought vectors. In Proceedings of the 28th International Conference on NIPS, pp. 3294–3302. MIT Press,
2015.
[4] Jiwei Li, Michel Galley, Chris Brockett, Georgios Spithourakis, Jianfeng Gao, and Bill Dolan. A persona-basedneural conversation model. In Proceedings of the 54th Annual Meeting of the ACL, pp. 994–1003, 2016.
[5] Xiang Li, Aynaz Taheri, Lifu Tu, and Kevin Gimpel. Commonsense knowledge base completion. In Proceedings ofthe 54th Annual Meeting of the ACL, pp. 1445–1455, 2016.
[6] Teng Long, Emmanuel Bengio, Ryan Lowe, Jackie Chi Kit
Cheung, and Doina Precup. World knowledge for reading comprehension: Rare entity prediction with hierarchical lstms using external descriptions. In Proceedings ofthe 2017 Conference on EMNLP, pp. 825–834, September
2017.
[7] Baoxu Shi and Tim Weninger. Open-world knowledge
graph completion. CoRR, Vol. abs/1711.03438, , 2017.
[8] Qizhe Xie, Xuezhe Ma, Zihang Dai, and Eduard Hovy. Aninterpretable knowledge transfer model for knowledge basecompletion. In Proceedings of the 55th Annual Meeting ofthe ACL), pp. 950–962, July 2017.
[9] Bishan Yang and Tom Mitchell. Leveraging knowledge
bases in lstms for improving machine reading. In Proceedings of the 55th Annual Meeting of the ACL, pp. 1436–1446,July 2017.

― 954 ―

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