# 自動獲得された因果関係知識に基づく文間の因果関係の推定

山田涼太
北陸先端科学技術大学院大学
yamada224@jaist.ac.jp

## 1 はじめに

文間の因果関係の推定は，質問応答システムなど，自然言語処理における幅広い場面で応用できる技術である。ここで，文間の因果関係の推定とは， 2 つ文 $C$ と $E$ が与えらたとき, $C$ が $E$ によって表される事象を引き起こす原因になっているか否かを推定するタスクとする。これまでの因果関係推定の研究は教師あり機械学習に基づく手法が主流であった。しかし，教師あり機械学習のためには因果関係の有無が付与された大量の文の組の集合が必要である。

本研究は，ブートストラップの手法によって因果関係が付与されたデータセットを自動構築し，それを元に文間の因果関係推定モデルを学習する手法を探究する [1]. データセットの構築, および因果関係推定モデルの学習には, 近年自然言語処理の様々なタスクで良い成果が得られている Bidirectional Encoder Representationsfrom Transformers (BERT)[2] を用いる. また, 自動獲得された因果関係知識の量と推定精度の相関を実験的に検証する。

## 2 関連研究

Kruengkrai らは, 訓練デー夕における原因文と結果文のそれぞれから得られた単語ベクトルや, 質問応答システムの回答から得られた情報から, 畳み込みニューラルネットワークを用いて因果関係を判定する手法を提案した [3]. 実験の結果, こ

た. Hashimoto らは，文間の因果関係を推定する SVM(Support Vector Machine) を学習し, 得られた原因-結果の因果関係を推移律によって繋げることで，先に起こることを予測するシナリオを生成した [4].実験では， $68 \%$ の精度で 50,000 のシナリオを作成できたと報告している。これらの研究では, 因果関係を推定するモデルは人手で構築された訓練データから学習されている。

\author{
白井清昭 \\ 北陸先端科学技術大学院大学 \\ kshirai@jaist.ac.jp
}

Abe らは，特定の関係が成立する単語の組とそれを抽出するためのパターンを同時に獲得するアルゴリズム [5]を応用し，因果関係の文の組とそれを抽出するパターンを自動獲得する手法を提案した [6].例えば，同じ文内に出現しかつ同じ目的語を持つ 2 つの節を因果関係が成立する文の組として抽出するパターンが得られた。

本研究は, 人手によるアノテーションを必要としない手法によって文間の因果関係を推定するモデルを学習する点に特徴がある。文献 [6] の手法でも因果関係が付与されたデータを必要としないが，コー パスから因果関係が成立する文の組を抽出することを目的としているのに対し, 本研究は 2 文間の因果関係の推定モデルの学習を目的としている点が異なる。

## 3 提案手法

## 3.1 概要

提案手法の処理の流札を図 1 に示す.まず，コー パスから，ヒューリスティクスによって因果関係の有無のラベルが付与された初期のデータを作成する。作成した初期デー夕は, 訓練デー夕, 開発デー 夕，検証デー夕に分割する。一方，コーパスから因果関係の有無のラベルが付与されていない文の組の集合をあらかじめ獲得する。

推定モデルの学習は通常のブートストラップ法にしたがう。まず，初期の訓練データと開発データから，因果関係の有無を判定するモデルを学習する。次に，ラベルなしデー夕に学習した因果関係推定モデルを適用し, 判定結果が付与された新たなデー夕セットを得る。この中から判定の信頼度が高いデー 夕を選別し, 訓練デー夕に追加する。この処理を繰り返すが，推定モデルを学習する度に，検証デー夕を用いてモデルによる因果関係推定の正解率を測り，ひとつ前のステップで学習されたモデルから正解率が改善されなければ，学習を終了する (図 1 の

図 1 提案手法の概要

「終了判定」). 最終的に得られる因果関係推定モデルは，初期データと自動拡張したデー夕を合わせたデータから学習されたものとなる.

## 3.2 初期データの作成

コーパスから因果関係が成立する可能性の高い文の組を収集する，具体的には，接続詞「から」「ので」を含む文を検出し，その前後に出現する文を抽出する，以下に示す例文のように，「から」「ので」 で結ばれた文の間には因果関係が成立する可能性が高いと考える。

電車が止まったからバスが混む雨が降ったので地面がぬかるんでいる

因果関係が成立する文の組 $(C, E, y e s)$ を以下の手続きで抽出する.

1. 接続詞「から」「ので」(以下，「因果関係キー ワード」と記す)を含み，かつその直前が動詞または助動詞である文を抽出する。

2. CaboCha[7] を用いて文の文節の係り受け解析を行う.

3. 因果関係キーワードを含む文節に係り，かつその末尾が助詞である文節を抽出する。また，抽出した文節に係り, かつその末尾が助詞である文節も抽出する。この操作を再帰的に繰り返す。最後に，抽出した文節を連結し，「から」「ので」を削除して，文 $C$ を得る.

4. 因果関係キーワードの後に最初に出現する動詞を検出する，同様に，動詞に係りかつ末尾が助

図 2 因果関係が成立する文の組の抽出例

詞である文節を再帰的に抽出する．抽出した文節を連結して文 $E$ を得る。
5. $C, E$ のいずれかの文字数が 7 未満のとき，これを除外する。

6. これらの文に因果関係が成立するというラベル 「yes」をつけ, $(C, E$, yes $)$ という組を抽出する.

上記の手続きによる抽出の例を図 2 に示す。

因果関係を推定するモデルを学習するためには,因果関係が成立する文の組 (正例) だけでななく, 成立しない文の組 (負例) も必要である。負例は以下の手続きで獲得する．先の手続きで得られた正例のデータセットの集合を $\left.\{\left(C_{i}, E_{i}, y e s\right)\right.\}$ と記す. 原因文 $C_{i}$ に対し, 他の組の結果文 $E_{j}(i \neq j)$ の中からランダムに 1 つを選択し, 負例 $\left(C_{i}, E_{j}, n o\right)$ を生成する.この操作を全ての $C_{i}$ について繰り返す。結果として，正例と同数の負例を得る.

初期デー夕は, あらかじめ 8:1:1 の比率で, 訓練データ，開発デー夕，検証デー夕にランダムに分割する。

## 3.3 因果関係推定モデルの学習

原因文 $C$ と結果文 $E$ の組が与えられたとき，それらの間に因果関係が成立するか否かを判定するモデルを学習する. このモデルを BERTを用いて学習する。すなわち，入力を以下のような系列に変換する。

[CLS] $c w_{1} \cdots c w_{n}$ [SEP] $e w_{1} \cdots e w_{m}$ [SEP]

[CLS] は文の組の分類のための抽象表現を得るた

めのトークン, $[\mathrm{SEP}]$ は 2 つの文の境界を示すトー クン, $c w_{i}$ は原因文の単語, $e w_{i}$ は結果文の単語を表す。

BERT による分類モデルの学習は, pre-training(事前学習) と fine-tuning の 2 つのステップから構成される。事前学習済みの言語モデルとして, 日本語版 Wikipedia から事前学習され, 京都大学によって公開されているモデル [8] を使用する。一方, fine-tuning は因果関係の有無のラベルが付与された訓練デー 夕と開発デー夕を用いて行う。学習率 (learning rate) は $2^{-5}$, バッチサイズは 32 , エポック数は 10 と設定する。

## 3.4 訓練データの拡張

訓練データを抬張するために，ラベルなしデー夕をあらかじめ用意する。接続詞「ため」をキーワー ドとし, 初期データの作成と同様の手続きで原因文 $C$ と結果文 $E$ の候補の組を抽出する。「ため」の前後に出現する文は, 以下の文 1 のように因果関係が成立する場合もあれば，文 2 のように従属節が主節の目的を表す場合もあるため, 正例と負例が混在したデータが得られることが期待できる。

文1: 雪が降ったため遠足は中止になった

文 2: 学会で発表するため何回も練習した

$n$ 回目の反復ステップで学習された因果関係推定モデルを $M_{n}$ と記す。すなわち， $M_{n-1}$ を用いて訓練デー夕を拡張し, 拡張後のデー夕で $M_{n}$ を再学習する。初期データから学習された因果関係推定モデルは $M_{0}$ とする. ラベルなしデー夕の集合 $\left.\{\left(C_{i}, E_{i}, ?\right)\right.\}$ (?は因果関係の有無が不明であることを表す) は, 因果関係判定モデルの反復学習のたびに,別のものを用意する. 以降， $n$ 回目の反復で訓練デー夕抎張のために用いるラベルなしデー夕の集合を $U_{n}$ と記す。

訓練デー夕の拡張では, モデル $M_{n-1}$ を用いて $U_{n}$内の文の組に対して因果関係の有無を判定する。さらに, 判定の信頼度も求める. 判定の信頼度は, ここでは BERTによる因果関係推定モデルにおける出カノードの値とする． $U_{n}$ の中から判定の信頼度の大きいデー夕を選別し, 訓練デー夕に追加する.

予備実験では, 信頼度が上位のデー夕の多くが,因果関係推定モデルによって 2 つの文の間に因果関係が成立すると判定されていた。つまり，判定の信頼度が上位のデータのほとんどが正例であった。 そのため，訓練デー夕に追加するデー夕を作成する際に，正例と負例のバランスを取る。具体的には,追加デー夕の数を $N_{\text {add }}$ と設定するとき, 信頼度の大きい順に正例の数が $N_{a d d} / 2$ 件に到達するまで追加データを取得する。この中に含まれる負例の数が $N_{\text {neg }}$ のとき $N_{\text {add }} / 2-N_{\text {neg }}$ 件の負例を新たに作成する.この負例は, 初期デー夕の作成時と同様に, ラベルなしデータ $U_{n}$ の中から原因文と結果文をランダムに組み合わせて作成する. 最終的に正例と負例の数が等しい $N_{a d d}$ 件のデータを拡張データとし, これを訓練データに追加する．以降，拡張した訓練データを用いて因果関係推定モデルを再学習する。

## 4 評価実験

## 4.1 実験データ

初期データは, 毎日新聞の 2009 年から 2013 年の記事から獲得した. 初期データの数は 2,796(正例,負例が 1,398 ずつ)であった。

ラベルなしデータは, 同様に毎日新聞の新聞記事データから獲得した。 $U_{1}$ は 2013 年, $U_{2}$ は 2012 年, $U_{3}$ は 2011 年の新聞記事から獲得した。提案手法では, 検証デー夕の正解率が向上しなくなった時点で訓練デー夕の追加を停止するが，今回の実験では試験的に反復回数を 3 回と設定している. $U_{i}$ は互いに重なりはなく, また抽出に用いた因果関係キーワー ドが異なるため, 初期デー夕とも重なりはない.前述の検証デー夕は自動構築されたものである. これとは別に, 因果関係推定モデルの性能を正確に測るため, テストデー夕を人手で作成した。接続詞「から」をキーワードとして抽出した文の組を 50 件,「ので」について 50 件,「ため」について 100 件,合計 200 件の文の組を抽出した。これらに対して,著者 2 名が独立に因果関係の有無を判定した。二者の判定の一致率は $72 \%, \kappa$ 係数は 0.44 であった。一致率や $\kappa$ 係数は低いが，これは因果関係が成立するかを判定する際に，どれだけ常識的知識を使って情報を補うかに関して見解が分かれることが主な原因であった。例えば， $\mathrm{C}=\ulcorner 2$ 歳だった」, $\mathrm{E}=\ulcorner$ 原爆の記憶はない」のとき, 1 名の判定者は 2 歳という幼ない年齢では記憶が残らないと判断し, 因果関係があると判定したが，もう 1 名の判定者は 2 つの文に強い関連性がないと判断した。判定が異なる文の組については, 著者 2 名の合議により最終的なラベルを決めた。テストデータの正例数は 69 , 負例数は 131 となった.
表 1 判定の信頼度と判定精度の関係

 &  \\

0.9 & $0.787(70 / 89)$ & $63: 26$ & $57: 13$ \\
1.0 & $0.797(55 / 69)$ & $58: 11$ & $54: 1$ \\
1.1 & $0.839(47 / 56)$ & $47: 9$ & $47: 0$ \\
1.2 & $0.860(43 / 50)$ & $43: 7$ & $43: 0$ \\
1.3 & $0.897(35 / 39)$ & $35: 4$ & $35: 0$ \\
1.4 & $0.906(29 / 32)$ & $29: 3$ & $29: 0$ \\
1.5 & $0.895(17 / 19)$ & $17: 2$ & $17: 0$ \\

表 2 因果関係推定モデルの反復学習の結果

## 4.2 実験結果と考察

提案手法では，BERT モデルの出力ノードの値を判定の信頼度とし，これが高いデー夕を訓練デー夕に追加する。この妥当性を検証するために，判定の信頼度が閾値 $t$ 以上のデー夕に対する精度を $P_{t}$ とし, $t$ を変化させたときの $P_{t}$ の変動を調べた. 検証に用いた因果関係推定モデルは初期データで学習したもの $\left(M_{0}\right), P_{t}$ を調べるためのデー夕は (自動作成した) 検証デー夕を用いた。結果を表 1 に示す。閾值 $t$ が大きいほど判定の精度が高いことから，BERT モデルの出力ノードの値を判定の信頼度とすることは妥当であるといえる。また，判定の信頼度が高くなると, 負例の数が正例の数よりもかなり少なくなる傾向も見られた。

表 2 は，それぞれの反復ステップ $i$ について，ラベルなしデータ $U_{i}$ の数 (3 列目), 訓練デー夕の総数 (4 列目), および検証データでの正解率 (5 列目) を示している，今回の実験では，一回の反復で追加するラベル付きデータの数 $N_{a d d}$ を 2000 と設定した. 検証デー夕での正解率は, 1 回目の反復で向上し， 0.657 となったが，それ以降は変動はあるものの，この正解率を越えることはなかった。

表 3 は学習したモデルを用いてテストデー夕の因果関係を判定した結果である。2 行目の「正解率」 はモデルによる因果関係の有無の判定が正解と一致した割合である。また，本実験の夕スクは因果関係表 3 因果関係推定モデルの評価

} & 精度 & 0.368 & 0.383 & 0.378 & 0.364 \\

が成立するか否の二値分類問題なので，因果関係ありのクラスとなしのクラスのそれぞれについて，精度, 再現率, $\mathrm{F}$ 値を調べた。正解率は反復回数が 2 のときに最大で， 0.520 となった。初期デー夕のみから学習したモデル $M_{0}$ と比べて 0.045 ポイント上昇したことから, 訓練デー夕の拡張は効果があることが確認された。しかし, 正解率自体は 5 割程度であり，二者の判定の一致率 $72 \%$ と比べても決して高くなく，改善が必要である。

「因果関係あり」クラスの $\mathrm{F}$ 值は反復が進むにつれて低下するが，「因果関係なし」クラスの $\mathrm{F}$ 値は反復回数 2 回までは向上する。このことから，訓練データの拡張は，因果関係が成立しない文の組に対して正しく判定ができるようになる効果が大きいと言える。

正解率のピークは，表 2 の検証データでは反復回数が 1 のとき，表 3 のテストデータでは反復回数が 2 のときと，一致していない．検証デー夕は自動作成されたものであり，テストデータと性質が異なることが原因のひとつと考えられる，反復をいつ停止するかは重要な研究課題である。

## 5 おわりに

本論文は，人手によるアノテーションなしに文間の因果関係を推定する手法を提案した。ブートストラップ法によって自動獲得された訓練データが推定モデルの正解率の向上に寄与することを確認した。今後の課題として, 初期デー夕の正例の中には誤りも少なからず含まれているため，真に因果関係が成立する文の組をより正確に選別するルールを開発することが挙げられる。また，本研究では負例はランダムに文を組み合わせて作成したが，2つの文は明らかに無関係であり，因果関係推定モデルの学習にどれだけ寄与するか疑問が残る。より適切な負例の作成方法の探究も今後の重要な課題である.

## 参考文献

[1]山田涼太. 自動獲得された因果関係知識に基づく文間の因果関係の推定. 修士論文, 北陸先端科学技術大学院大学, 32021.

[2]Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 4171-4186, 2019.

[3]Canasai Kruengkrai, Kentaro Torisawa, Chikara Hashimoto, Julien Kloetzer, Jong-Hoon Oh, and Masahiro Tanaka. Improving event causality recognition with multiple background knowledge sources using multi-column convolutional neural networks. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, pp. 3466-3473, 2017.

[4]Chikara Hashimoto, Kentaro Torisawa, Julien Kloetzer, Motoki Sano, István Varga, Jong-Hoon Oh, and Yutaka Kidawara. Toward future scenario generation: Extracting event causality exploiting semantic relation, context, and association features. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics, pp. 987-997, 2014.

[5]Patrick Pantel and Marco Pennacchiotti. Espresso: Leveraging generic patterns for automatically harvesting semantic relations. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics, pp. 113-120, 2006.

[6]Shuya Abe, Kentaro Inui, and Yuji Matsumoto. Acquiring event relation knowledge by learning cooccurrence patterns and fertilizing cooccurrence samples with verbal nouns. In Proceedings of the Third International Joint Conference on Natural Language Processing, pp. 497-504, 2008.

[7]工藤拓, 松本裕治. チャンキングの段階適用による日本語係り受け解析. 情報処理学会論文誌, Vol. 43, No. 6, pp. 1834-1842, 2002.

[8]BERT 日本語 pretrained モデル. http://nlp.ist.i.kyotou.ac.jp/index.php?ku_bert_japanese. (2020 年 12 月閲覧).