# 入れ子になっている固有表現に対する Distant Supervision

芝原 隆善 ${ }^{1,2}$, 山田 育矢 ${ }^{2,3}$, 西田 典起 ${ }^{2}$, Shanshan $\operatorname{Liu}^{2}$, 古崎 晃司 ${ }^{2,4}$, 渡辺 太郎 ${ }^{1}$, 松本 裕治 ${ }^{2}$
1 奈良先端科学技術大学院大学 \{shibahara.takayoshi.sk4, taro\}@is.naist.jp
2 理化学研究所 \{takayoshi.shibahara, ikuya.yamada, noriki.nishida, shanshan.liu, kouji.kozaki,
yuji.matsumoto \}@riken.jp
${ }^{3}$ Studio Ousia ikuya@ousia.jp
4 大阪電気通信大学 kozaki@osakac.ac.jp

## 1 はじめに

本研究では Nested NER と呼ばれるタスクに取り 組む。Nested NER とは、入れ子になっている語句を も対象にする固有表現抽出のタスクである。この タスクでは例えば、“... in the human immunoglobulin heavy-chain gene enhancer.”という文を入力として、 “human immunoglobulin heavy-chain” が protein であり "human immunoglobulin heavy-chain gene enhancer" が DNA であることを特定する。このタスクは近年様々な手法で取り組まれており、特にスパンを全て 列挙して分類する枠組みで取り組めることから、多 くのスパン分類のモデルでの研究が行われている $[1,2,3,4,5]$ 。

一方で入れ子でない固有表現抽出に対して、従来 からそのアノテーションコストが問題視されてき た。そこで既知の語句集合: 辞書を利用した擬似 データ作成に基づく、教師なし設定の固有表現抽出: Distant Supervision NER が行われてきた。Distant Supervision NER には辞書拡張を活用する手法 [6] 、 Self-training や Partial CRF などの辞書マッチを正し いとしてそのラベルを伝搬させる手法 $[7,8]$ など 様々な手法が提案されてきたが、辞書拡張を活用す る手法の中には Nested NER のようにスパン分類モ デルを利用する手法 [9] も知られている。

本研究では Nested NER に対して Distant Supervision の設定で問題に取り組む。つまり、辞書マッチによ る擬似データ生成と教師あり学習による手法で、入 れ子の固有表現を抽出する。この際、本研究では上記の二つの研究で利用されているスパン分類モデル を利用する。

本研究では GENIA [10] コーパスで評価を行った。辞書マッチによる $\mathrm{F}$ 值は $25 \%$ とかなり低かったが、
POS タグに基づくChunker を利用したことで、 $39 \%$ ほどの $\mathrm{F}$ 值へと改善した。同じ Chunker を活用する ことで、Distant Supervision において $48 \%$ の精度が 得られた。その一方で Distant Supervisionによる結果は、教師あり設定の $76 \%$ と比べて $28 \%$ 低い結果 となった。

## 2 手法

## 2.1 辞書マッチによる擬似データ作成

今回の擬似データ作成ではカテゴリごとに分けら れた語句: 辞書を活用する。文中に現れる辞書1)の 語に対して、出現したスパンと辞書中でのカテゴリ を擬似教師データとして活用する。この辞書マッチ の際に重複を許すことで入れ子の固有表現を考慮で きるようにした。2) 辞書に含まれるものはそのカテ ゴリに分類し、辞書に含まれないスパンは “Others” というカテゴリに分類する。この “Others” カテゴリ はテスト時には無視されるカテゴリである。

今回取り扱う辞書にはタンパク質名の “Beta1Tubulin” と遺伝子名の “beta1-tubulin” など 大文字・小文字の差異で区別される語句が存在した。その ような事例に対して precision を上げ、かつ全体とし ては recall を向上させるために、このような文字種 によって区別される複数の語句が存在する時には大文字と小文字を区別する辞書マッチを行い、そうで ない場合には大文字と小文字を区別しない辞書マッ チを行った。

## 2.1.1 Chunker を利用した辞書マッチ

辞書マッチを単純に行うだけでは、しばしばスパ ンを短く取ってしまうという問題が生じた。例え ば、図 1 で示された例では、辞書によって “HB24" と “mRNA” がマッチしているが、正解のスパン は “HB24 mRNA” だけである。そこで、まず“HB24 mRNA”というスパンを Chunkerによって獲得し、 このスパンの末端に位置する語句 (“mRNA”) の辞書での分類 (RNA) を利用して、スパンのラベル 付を行った。このような Chunker の利用は Disntant Supervision NER において以前から行われいる方法 である [11,9]。今回は scispaCy [12]を利用して得 られた POS タグを活用して、正規表現を利用し た Chunker ${ }^{3)}$ を作成した。この Chunker は入れ子の Chunk を予測できない。そのため、入れ子の疑似 データを作成できないが、入れ子の構造を考慮した Chunker は今後の研究課題とする

図 1 Chunker を利用した辞書マッチの例

## 2.1.2 Others $の$ Undersampling

上記の辞書マッチの手順から明らかな通り、辞書 に含まれないスパンに相当する “Others” カテゴリの 個数が多くなってしまい、うまく学習ができないこ とが想定される。そこで “Others”以外のカテゴリと “Others” が同じ頻度になるように “Others” のラベル をランダムにサンプリングした。

## 2.2 学習に利用したスパン分類モデル

今回利用するスパン分類モデルは [13] のモデル を参考にしている。特徴量抽出部分は BioBERT [14] を活用し、それぞれのスパンに対して、スパンのは じめと終わりの位置の最終隠れ層のベクトルを連結して利用する。この際に全ての ${ }^{4}$ スパンを列挙し て分類することで、入れ子になっている固有表現 に対応する。分類器部分は Dropout、線形変換及び softmax を利用し、それぞれのスパンに対して確率值を計算する。それぞれのスパンに対する確率値か ら擬似正解との相互エントロピーをロスとして利用 する。

事前実験によってこのスパン分類モデルが長い スパンを予測しがちであることがわかった。そのた め、POS タグに基づくChunker ${ }^{3}$ ）の予測する Chunk の範囲内に絞って学習と予測を行った。つまりこの Chunk を最大幅とするスパン内部においてのみ入れ 子構造を予測した。

## 3 データセット

## 3.1 擬似データ作成に利用した資源

疑似データの作成のため、辞書として UMLS を、辞書マッチの対象となるラベルなしコーパスとして PubMed を利用した。UMLS は 2020AA のバージョ ンを利用し、総計 290,706 個の語句からなる辞書 1) を活用した。また、PubMed からは 100,000 文を利用 し、train と developmentに 8 対 2 の割合で分割して 利用した。

## 3.2 評価データセット

評価データセットとして Nested NER の先行研究 でよく利用されている GENIA データセット [10]を 利用した。GENIA データセットには並列句など複数の語句が含まれるスパンに対するアノテーション が振られている。Nested NER の先行研究では、この ような並列句を含んだスパンを問題の対象に含める ものもあるが、本研究ではこれらのスパンを対象外 とした。BioBERTに入力する前に単語分割するた めに scispaCy [12]を利用した。

GENIA データセットの train/development/test の各 データ分割は、 $15,024 、 1,670 、 1,855$ 文である。教師 あり設定の場合はこれらのすべてを利用し、Distant Supervision 設定の場合は test データのみ利用してい る。つまり Distant Supervision 設定では学習の際に 擬似データのみしか利用しておらず、評価の際にの みアノテーションデータを利用している。GENIA データセットにおけるそれぞれのカテゴリの固有表現の数は表 1 の通りである。

表 1 GENIA データセットにおける

各カテゴリの固有表現数

## 4 実験と結果

## 4.1 擬似デー夕作成

表 2 には擬似データ作成手順による精度を GENIA コーパス [10] のテストデータに対して評価した結果を示した。“nest inside prediction”の列には予測さ れたスパンのうち他のスパンの内側に入っている スパンの個数を示している。“nest inside R.”が入れ 子の内側となっているスパン、“nest outside R.” が 入れ子の外側になっているスパンに対する recall の値が計算されている。“Dictionary Match” は辞書 マッチによるスパン同定とクラス分類を意味する。次に “Chunker + End Match” は POS タグを利用した Chunkerによるスパン同定と、そのスパンの末端語 に対して辞書を利用したクラス分類である。次の “Oracle Span + End Match” は、スパン同定には正解 のデータを利用し、クラス分類にはスパンの末端語句の辞書マッチを利用した手法であり、“Gold” は正解のテストデータから分かる数值を記載している。

## 4.2 Distant Supervision

表 3 は Distant Supervision を適用した時の精度に ついて述べている。この表 3 は表 2 と同様に、テ ストデータにおける固有表現抽出の精度と予測に おける入れ子の固有表現の数と、入れ子の内側の 正解数を示している。左側の Model 部分には手法名を示している。上から大きく、擬似データ作成手法、Distant Supervision, 教師あり手法 の精度を表 している。“Chunker + End Match” は擬似データ作成手法であり、POS タグベースの Chunker によるスパ ン同定とスパン末端語句によるスパン分類から構成されている。これは表 2 の “Chunker + End Match” と同じものである。"BioBERT (Distantly Supervised)" は “Chunker + End Match” の手法で作成した擬似デー タを元にスパン分類モデルを適用したものである。 “+ Chunker” は “BioBERT (Distantly Supervised)” に追加して、訓練と予測の対象とするスパンを POSに基 づいた Chunker で取得される Chunk の内部に限定し たものである。"BioBERT (Supervised)” は “BioBERT (Distantly Supervised)”と同じスパン分類モデルを教師ありデータで学習したモデルを意味している。

## 5 考察

## 5.1 擬似デー夕作成

表 2 の結果から、辞書だけだと精度が出ず、 Chunker を利用すると精度が改善することがわかる。 つまり、辞書の示すスパンとテストデータにおける スパンが一致していないことがわかる。また、正解 データのスパンを利用した結果とも乘離があること から、この POS タグを利用した Chunker はスパン同定を完全にはできていないということがわかる。

入れ子の予測観点では、単純に辞書マッチをした 場合に、Gold データよりも入れ子になることが多い ということがわかった。POS タグベースの Chunker を利用した場合、基本的には外側のスパンを取るよ うな設計になっている。そのため一部の例外的な事例を除き入れ子の予測はなく、入れ子の予測事例は 10 となっている。Oracle のスパンを利用した際には 241 個の内側のスパンしか取れておらず、Gold のも のに比べて約 $40 \%$ ほどであり、辞書の被覆率の小 ささが影響していると考えられる。

これらの実際の入れ子部分に対する予測精度を見 てみるとデータセット全体での精度と比べて大き な違いがないことが全ての手法で見て取れる。ただ し全ての場合で、外側のスパンを特定することが容易であることが分かる。基本的に外側のスパンを取得するように設計された Chunker に基づいているの で、“Chunker + End Match” では入れ子の内外の精度 に比較的大きなスコア差があることが見て取れる。 この Chunker は外側の一番大きなスパンを取ること を目的とした正規表現に基づいているものの、例外的に一部入れ子のスパンを出力している。

## 5.1.1 エラー分析: 曖昧なスパン

エラー分析を行ったところ、スパン境界が曖昧と 見える事例がいくつか存在した。特に修飾語がつ くかどうかという曖昧性が多かった。例えば“two nuclear proteins", "pure B cellline" などの修飾語が正解 スパンに含まれる事例があった。その一方で、novel “TH protein”, purified “NF-kappa B” など、修飾語を含

表 2 擬似データ作成手順による精度

表 3 Distant Supervision 適用による精度

まないスパンが正解スパンとされている事例も存在 した。このような事例に対して辞書に修飾語がつか ない語句が含まれているならば、修飾語の含まれる 場合・含まれない場合どちらが正解かを決めること は困難であると考えられる。

## 5.2 Distant Supervision

表 3 より “Chunker + End Match”と “BioBERT (Distantly Supervised)” の比較から、このノイズのある データに基づいて学習・予測させることは難しい ということがわかる。具体的には並列句のような 長いスパンを予測してしまうことが多かった。“+ Chunker”と予測範囲を Chunkerによるスパン内部に 限定しない “BioBERT (Distantly Supervised)” の比較 から、精度が改善していることがわかる。これは、先ほど述べたような長いスパンを抑制できているた めだと考えられる。一方で、教師あり手法を利用し た “BioBERT (Supervised)” と比較すると $20 \%$ ほどの 差があることから、データノイズの影響や Chunker の制限により予測できなくなったスパンなどの影響 で依然として教師あり手法にはかなり劣っているこ とがわかる。

入れ子になっている予測事例の数を確認すると、 “BioBERT (Distantly Supervised)” が飛び抜けて多い。 これは上記のような長いスパンの影響が考えられ る。精度が低いものの“+ Chunker”では一定数の入 れ子の事例を予測している。入れ子を直接訓練事例 として与えなくても、構成する単語などから、入れ 子の固有表現を予測しているのだと考えられる。興味深いのは教師あり学習の結果、アノテーション データと比べて約 1.5 倍入れ子のスパンを予測して
いる点である。教師あり学習の際にも、構成される 単語などから過剩に固有表現を予測してしまう傾向 がある可能性が考えられる。

実際の入れ子事例に対する精度を見てみると、 データセット全体のスコアと大きな違いが出ていな いことが分かる。これも擬似データ作成の場合と同様に、入れ子の外側と内側では入れ子の外側の特定 が容易であることが見て取れる。

## 6 結論

本稿では擬似データ作成に基づく入れ子の可能性 を考慮した固有表現抽出に取り組んだ。擬似データ の作成がそもそも難しく、不十分な擬似データ手法 によるノイズの多いデータに基づいた学習は難しい ということがわかる。

Distant Supervision NER の先行研究の BOND [9] で は、ノイズのあるデータに過学習させないことで、不十分な精度の擬似データに対処している。このよ うに今後はデータ中のノイズを考慮した手法 [15] を 試みる必要があると考えている。

また、5.1.1に述べたが、そもそもどれだけ複雑な 概念を取ってくるかには曖昧性がある。例えば辞書に“water”だけがある場合、“pure”を含めた “pure water”を抽出するかどうかは応用先の意図に依存 し、辞書だけで判定するのは困難である。そのため Distant Supervision NER において、固有表現が取れて いる/取れていないを判定するには、別の評価尺度 を併用することが必要なのではないだろうか。具体的には正解スパンの headword が取れているか [3] な どの評価方法が考えられる。

## 参考文献

[1] Mingbin Xu, Hui Jiang, and Sedtawut Watcharawittayakul. A Local Detection Approach for Named Entity Recognition and Mention Detection. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1237-1247, Vancouver, Canada, July 2017. Association for Computational Linguistics.

[2] Mohammad Golam Sohrab and Makoto Miwa. Deep Exhaustive Model for Nested Named Entity Recognition. In EMNLP, 2018.

[3] Yi Luan, Dave Wadden, Luheng He, Amy Shah, Mari Ostendorf, and Hannaneh Hajishirzi. A general framework for information extraction using dynamic span graphs. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 3036-3046, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[4] Hiroki Ouchi, Jun Suzuki, Sosuke Kobayashi, Sho Yokoi, Tatsuki Kuribayashi, Ryuto Konno, and Kentaro Inui. Instance-Based Learning of Span Representations: A Case Study through Named Entity Recognition. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, July 2020.

[5] L. Sun, F. Ji, K. Zhang, and C. Wang. Multilayer ToI Detection Approach for Nested NER. IEEE Access, Vol. 7, pp. 186600-186608, 2019. Conference Name: IEEE Access.

[6] Jingbo Shang, Liyuan Liu, Xiaotao Gu, Xiang Ren, Teng Ren, and Jiawei Han. Learning Named Entity Tagger using Domain-Specific Dictionary. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2054-2064, Brussels, Belgium, 2018. Association for Computational Linguistics.

[7] Zhanming Jie, Pengjun Xie, Wei Lu, Ruixue Ding, and Linlin Li. Better Modeling of Incomplete Annotations for Named Entity Recognition. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 729734, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[8] Nathan Greenberg, Trapit Bansal, Patrick Verga, and Andrew McCallum. Marginal Likelihood Training of BiLSTM-CRF for Biomedical Named Entity Recognition from Disjoint Label Sets. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2824-2829, Brussels, Belgium, October 2018. Association for Computational Linguistics.

[9] Chen Liang, Yue Yu, Haoming Jiang, Siawpeng Er, Ruijia Wang, Tuo Zhao, and Chao Zhang. BOND: BERTAssisted Open-Domain Named Entity Recognition with Distant Supervision. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining, KDD ’20, pp. 1054-1064, New York, NY, USA, August 2020. Association for Computing Machinery.
[10] J.-D. Kim, T. Ohta, Y. Tateisi, and J. Tsujii. GENIA corpus - a semantically annotated corpus for bio-textmining. Bioinformatics, Vol. 19, No. suppl_1, pp. i180-i182, July 2003.

[11] Jason Fries, Sen Wu, Alex Ratner, and Christopher Ré. SwellShark: A Generative Model for Biomedical Named Entity Recognition without Labeled Data. arXiv:1704.06360 [cs], April 2017. arXiv: 1704.06360.

[12] Mark Neumann, Daniel King, Iz Beltagy, and Waleed Ammar. ScispaCy: Fast and Robust Models for Biomedical Natural Language Processing. In BioNLP@ACL, 2019.

[13] Ikuya Yamada, Akari Asai, Hiroyuki Shindo, Hideaki Takeda, and Yuji Matsumoto. LUKE: Deep Contextualized Entity Representations with Entity-aware Self-attention. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 64426454, Online, November 2020. Association for Computational Linguistics.

[14] Jinhyuk Lee, Wonjin Yoon, Sungdong Kim, Donghyeon Kim, Sunkyu Kim, Chan Ho So, and Jaewoo Kang. BioBERT: a pre-trained biomedical language representation model for biomedical text mining. Bioinformatics, p. btz682, September 2019. arXiv: 1901.08746.

[15] Hwanjun Song, Minseok Kim, Dongmin Park, and JaeGil Lee. Learning from Noisy Labels with Deep Neural Networks: A Survey. arXiv:2007.08199 [cs, stat], October 2020. arXiv: 2007.08199.

[16] Olivier Bodenreider. The Unified Medical Language System (UMLS): integrating biomedical terminology. Nucleic Acids Research, Vol. 32, No. Database issue, pp. D267270, January 2004.

## A POS に基づく Chunker

本稿で利用した POSに基づくChunker は POS タグを 取得した後、正規表現を利用して Chunk を取得する。な お POS タグの検出には sciSpacy [12]を利用した。この正規表現は Chunk の左部分の検出と右部分の検出、修飾語及び語句末端の検出部分から構成されている。例え ば、“The United States is ...”という文に対して “DT NNP NNP VBZ ..." という POS タグ系列が得られたとする。こ の時、Chunk の左側として “DT”を、右側として “VBZ” を、修飾語として“NNP”を語句未端として“NNP”を検出 する。

Chunk の左側 は “DT”, “IN”, “CC”, “,", "RB”, "RBR”, "RBS", "RP", "VB”, "VBD”, "VBZ", "VBP”, “.", “-LRB-", “WDT”, “TO”, “.", “NNS”, “-RRB-”, “PRP\$” のいずれか の POS タグである。ただし、文頭の可能性もあるとする。 Chunk の右側は “,", “., "IN”, “VB”, "VBD”, “VBZ", “VBN", "VBP", "CC", "MD”, "DT", "RB", "RBR", "RBS”, "JJ”, "JJR", "JJS", "RP", “-LRB-", “-RRB-”, “WDT”, “TO”, “:” のいずれ かの POS タグである。ただし文末の可能性もあり、語句末端の語句が複数形の場合 “NN” もふくむとする。修飾語 は “JJ”, “NN”, "NNP", “CD”, “VBG", "VBN", “”” の POS タ グのうちのいずれかの繰り返しである。

語句末端の POS タグを考慮するにあたって、複数形と 単数形で対応を変えた。単数形の場合、語句末端は “NN” あるいは “VBG”であるとした。複数形の場合 “NNS” で あるとした。また、“interleukin 2” のような事例に対応す るために未端に数字: “CD”が来ても良いとした。

以上の説明を python の正規表現にまとめるの次のよう にかける。まず単数形の場合、

(DT | IN $|C C|,|R B| R B R|R B S| R P|V B| V B D|V B Z| V B P \mid$

. |-LRB-|WDT |TO| : |NNS|-RRB-|PRP\$|<S>)

( ( $J$ J |NN |NNP $|C D| V B G|V B N| '$ ' $) *(N N \mid V B G)(C D) ?)$

(, | . I IN | VB | VBD |VBZ | VBN | VBP |CC |MD |DT |RB |RBR |

RBS $|J J| J J R|J J S| R P|-L R B-|-R R B-|W D T| T O|:|</ s>)$

とかける。(スペースの都合上改行を入れている) 次に複数形の場合は

(DT | IN |CC | , |RB |RBR |RBS |RP |VB | VBD |VBZ | VBP | . |

-LRB-|WDT|TO| : |NNS|-RRB-|PRP\$|<S>)

( (JJ|NN|NNP $|C D| V B G|V B N| ' ~ ') *(N N S)$ (CD)?)

(, | . I IN |VB | VBD |VBZ | VBN |VBP |CC |MD |DT |RB |RBR |

RBS |JJ|JJR|JJS|RP|-LRB-|-RRB-|WDT|TO| : |</s>|NN)

となる。ただし、“<s>”を文頭、“<//s>”を文末の意味とし て利用している。

## B UMLS からの辞書作成

今回テストデータとして利用した GENIA コーパスに直接対応する辞書は存在しない。そこで本研究では UMLS [16] の情報を変換し、今回の擬似データ生成に利用する辞書を作成した。利用した UMLS のバージョンは 2020AA であり、その知識グラフの全体を利用した。ただし、問題 の多かった “HGNC", “OMIM", "NCI", "SNOMEDCT_US", "PDQ", "CHV", "LNC" の知識グラフについては除外した。次に GENIA コーパスにおける五つのそれぞれのカ テゴリ (protein, DNA, RNA, cell type, cell line) に対して、 そのカテゴリの語句をどのように取得したかを述べ る。まず “protein”に対しては、“Proteins” C0033684 及び その子孫を利用した。さらにそこから後述の “DNA", “RNA" の語句として得られる UMLS Concept を取り除
いた。ただし、ここで UMLS Sematic Type T116: “Amino Acid, Peptide, or Protein", T087: “Amino Acid Sequence" に含 まれる UMLS Concept だけを残した。“DNA”に関しては C0012854: "DNA", C0162326: "DNA Sequence", C0008633: “Chromosomes", C0019652: “Histones”及びその子孫を利用 し、“DNA", "DNA Sequence" 及び、“Histones” でない “Chromosomes”を“DNA” のカテゴリとして利用した。ただし、 UMLS Sematic Type T028: "Gene or Genome", T114: "Nucleic Acid, Nucleoside, or Nucleotide", T086: "Nucleotide Sequence", T026: “Cell Component”に含まれる UMLS Concept だけを 残した。“RNA”に関しては C0035668: “RNA”及びその子孫を利用した。ただし、UMLS Sematic Type T114: “Nucleic Acid, Nucleoside, or Nucleotide", T086: "Nucleotide Sequence" に含まれる UMLS Concept のみに限定した。“cell type” に関しては UMLS Semantic Type が “T025”であるよう な UMLS Conceptを利用した。“cell line”に関しては C0007600: “Cultured Cell Line” 及びその子孫を利用した。

その後、複数のカテゴリに含まれるような曖昧性の ある語句を除去した。例えば“IL2”という文字列は、 “Interleukin-2" というタンパク質名としても、“IL2 gene”と いう遺伝子名としても登録されている。この段階でのそ れぞれのカテゴリの語句数は表 4 のとおりである。また、辞書マッチの recall を上げるために inflect ${ }^{5)}$ という python ライブラリを利用して、それぞれの語句に対して複数形 を辞書に追加した。

表 4 UMLS を元にした辞書中の各カテゴリごとの語彙数


# 質問・応答集からの文選択による 雑談対話システムの学習

太刀岡勇気

デンソーアイティーラボラトリ

ytachioka@d-itlab.co.jp
## 1 はじめに

ユーザからの質問に応答するチャットボットのよ うな対話システムでは，大量の質問・応答ペアを用意してユーザの質問と用意した質問との類似度に 基づいて対応する応答を選択する用例ベースの手法がよく利用される [1]. 近年ではこのような方法 がある程度実用化されてきたことから, 質問・応答 だけでない，雑談のような，より難しい非タスク指向型対話システムの研究も盛んである. その場合, ルールを記述することはほぼ不可能であり, ユーザ の発話は予見不能であることから，すべての対応関係を収集することは難しい. そこで seq 2 seq の手法 [2] が良く用いられる. seq2seq は, ユーザの発話に 対するシステムの応答を翻訳問題として結びつけ るもの [3] であり, どのようなユーザ発話に対して も応答を生成できるという利点がある一方で, 学習 に大量のペアデータが必要であるという問題もあ る. 大量のテキストデータが利用可能な資源として は, twitterや『おーぷん 2 ちゃんねる対話コーパス [4]』がある．ただし，これをそのまま対話エージェ ントの応答生成に適用しようとすると, 文のスタイ ルが適さない点が問題になる1). 対話エージェント には, 特に商用に用いる場合, ある程度フォーマル で丁寧な応答が求められるからである.

これに対して，「Yahoo!知恵袋」等の質問・応答集 を使うと，丁寧に書かれていることが多いため，ス タイルの問題は起こりにくい. さらに, すでに集め てある質問・応答集の再利用ができる.しかし, 質問・応答ともに長文であることが多いため, seq 2 seq の学習が難しいことに加え, 生成される応答が長 すぎるという問題がある. 例えば後に示すように 『Yahoo!知恵袋』では, 100 文字程度の回答が多い が，音声での対応を考えた場合，エージェントが 1

1）特に後者では独特の関西弁風のスタイルが問題となる.

\author{
欅惇志 \\ デンソーアイティーラボラトリ \\ akeyaki@d-itlab.co.jp
}

分間に話せるのは 300 文字程度なので, 100 文字発話するのには 20 秒程度かかる. 質問に対する必要 な情報提供であれば適切な長さであるが，雑談とし ては応答が 20 秒続くとかなり長く感じられる。ま た, 現状の seq 2 seq 方式での生成では, それだけの 長文を理路整然とさせるのは難しい．意味不明な文 や自己矛盾した文が生成される可能性も高く, これ はユーザの満足度を著しく低下させる．そこで，質問・応答集に対して適切な文選択を行い，ペアデー タを短い文で構築することで，この問題を解決する ことを試みる。選択法はいくつか考えられるため, ここでは可能な選択法を 7 種に関して, seq2seqに よる応答文生成のパープレキシティと生成された応答文長の変化を検討した。

## 2 seq2seq に基づく応答生成

## 2.1 手法概要

翻訳での成功 [2]を受けて，対話でもソース (src) からターゲット $(\mathrm{tgt}) へ の$ 変換をニューラルネット で直接学習する seq2seq に基づく応答生成 [3] が用 いられてきており, 雑談応答生成への適用も行われ ている [5, 6]. 通常入力は文字単位ではなく, 単語 やそれに類するまとまりの単位とする。いくつかの 方式が提案されているが，ここでは opennmt[7] で使 われている固定次元の埋め込みべクトルに基づき LSTM で encode-decode する方式を採用した.

## 2.2 係り受け解析による冗長箇所の除去

seq2seqによる応答文には, 応答が相槌のような無難なものになりやすいという問題が指摘されている [5, 6]. また同一の語句の繰り返しが多くみられると いう問題がある ${ }^{2)}$. 例えば「ステーキのステーキは,肉が柔らかくて美味しいですよね」というような過
応答文に繰り返しが増える傾向がみられた。
度に壳長な文が頻繁に生成され, これがユーザの満足度を著しく低下させる．そこで，係り受け解析を 行い, 係元が係先と同じ名詞を含む場合は係元を削除することで冗長箇所を除去することとする．先の 文に対しては，「ステーキの」が「ステーキは」にか かっているので，「ステーキの」を削除する。

## 3 質問・応答集からの文選択

提案法では，質問・応答集を「．?」で文に分割 し，そこから対象の文を選択することで，情報をな るべく失わずに，ぺアの文の長さを短くする．文選択には，以下の 7 種を検討した。

1. allpairs: 質問文と応答文の全組み合わせ

2. crosspairs: 質問文と応答文のはじめの文と終わ りの文の最大 4 通りの組み合わせ

3. crosspairs2: 質問文と応答文のはじめの文とは じめの文，質問文の終わりの文と応答文のは じめの文の最大 2 通りの組み合わせ (下に示す first-first と last-first の組み合わせ)

4. longest: 最大の文字数の文同士の組み合わせ

5. last-first: 質問文の終わりの文と応答文のはじめ の文の組み合わせ

6. first-first: 質問文と応答文のはじめの文とはじめ の文の組み合わせ

7. first-first \& longest: first-first と longest の組み合 わせ

allpairs は, すべての組み合わせを考えるもので, 例 えば質問・応答のペアが $\operatorname{src}$ が 2 文, tgt が 3 文か らなる場合, この 1 ペアから $6(=2 \times 3)$ 通りのペア データを作成する．質問文と応答文に関しては中間 の文はあまり重要ではなく, はじめの文と終わりの 文が重要であると考えられる 3$)$ ので，それらの組み 合わせをとる crosspair と, 応答文についてははじめ の文のみを追加した crosspair2 を検討した ${ }^{4)}$. また 短い文は挨拶や「ありがとうございます」のように 情報が少ないことが多いため, 最大の長さの文を 組み合わせる方法も考えられる (longest). さらには crosspair2を別々にした last-first と first-first を検討し

3）特に質問文に関しては，はじめの文で「〜は〜ですか」の ように質問したあとで「ちなみに〜です」のように補足を行 う場合 (はじめの文が重要) と,「16歳です。～は〜ですか」の ように自分の前提を述べた後に質問する場合 (終わりの文が 重要) の 2 種類が典型的である.

4）応答文に関しても「通りすがりのものです. 〜です」のよ うに，はじめの文に情報がない場合もあるが，質問文よりは はじめの文が重要である比率が高いため, 応答文に関しては, はじめの文だけとした場合も検討した。
た。また first-first と longestを組み合わせた方法につ いても検討した。 3 手法 (first-first,last-first,longest) 以外はぺア数を増やすことができるため，学習データ を拡大する効果も得られる可能性がある.

## 4 実験

## 4.1 実験条件

seq2seq は大量のペアデータから学習する必要が あるため, ベースのモデルは『おーぷん 2 ちゃんね る対話コーパス [4](以下 open2ch)』を用いて構築し た $^{5)}$. ベースモデルの学習後, 質問・応答集でファ インチューニングする．質問・応答集には，『現代日本語書き言葉均衡コーパス (以下 bccwj) [8]』に含 まれる「Yahoo!知恵袋 (OC)」を利用した。OC から 差別や性的な内容等を含む不適切な文を除外するた め, [4] で行われているフィルタリング処理を行い,最終的に 5.4 万ペアが得られた. さらに, slack 上で 収集した『テキスト雑談コーパス (以下 slack) $[9,10] 』$ を用いた。発話ぺア数は 1.4 万と少ないが，丁寧な 口語調のデータである. 表 1 に学習に用いたペア数 と平均文字数を示す. open2ch に比べると, bccwj と slack のペア数がかなり少ないことと, 文長が 3～4 倍程度とかなり長いことがわかる。

opennmt [7] を用いて seq2seq モデルを構築した.前処理に sentencepiece[11] を用いて 16,000ピースに より，文を分割した。これを 500 次元の埋め込みべ クトルに変換し，LSTM2 層により encode し， LSTM と attentionを用いて decodeを行う。ビームサーチに より最終的な応答文を得る. open2ch の学習は 20 万回6)繰り返し行った.これに対して, 7 万回 open $2 \mathrm{ch}$ で学習したモデルを初期モデルとして, 学習率を 低減させて bccwj+slack により最大 5 万回ファイン チューニングを行う. 提案の文選択を行った場合を 同じく表 1 の 3 段目に示す. longestを除き, open2ch とほぼ同等な平均文長を得ることができた 7 ) $。$ また 異なる組み合わせを利用することでぺア数を増やす ことができている．ただし(特に allpairs では)，異 なる質問に対して同一の応答が対応する，あるい は，同一の質問に対して異なる応答が対応する例が 多い.

5）「サンガツ」「ワイ」等の open2ch に特有ないくつかの表現 は，「ありがとう」「私」などの対応する語句と置き換えた。

6）エポックではなく, バッチ単位での繰り返し数である.

7）応答文は若干長い。
表 1 学習とテストに用いたぺア数と平均文字数. 検証 データは別に用意

図 1 open2ch データベース学習時のパープレキシティ

## 4.2 結果 (パープレキシティでの比較)

図 1 に, open2ch で学習した際のパープレキシ ティを示す8)，学習 (train), 検証 (valid), テスト (test) のすべてで繰り返しに伴い単調に減少している.

図 2 には，質問・応答集 (bccwj+slack) でファイン チューニングした際のパープレキシティを示す. 検証は各手法に合わせて文選択を行ったもので評価 した。テストは文選択をしない bccwj+slack の 1,999 ペアで行っているため, baseline のテストのみ学習 とマッチした条件で，それ以外はミスマッチな条件 になっている，そのため，すべての場合でテストの パープレキシティは baseline の場合に比べて悪化し ている.

個別にみると，まず，すべての組み合わせを使う

8）学習のパープレキシティは直近 1,000 回の平均を 1,000 回ご と, 検証とテストのパープレキシティはそれぞれ 1,000 回, 5,000 回ごとに測定した。以降も同一である.

図 2 質問・応答集 (bccwj+slack) でファインチューニング 時のパープレキシティ

allpairs は学習のパープレキシティも十分に低下せ ず最も悪い結果となった。これは上述の通り, 同一 の (異なる) 質問に対して異なる (同一の) 応答が対応することで学習がうまくいかなかったためと考 えられる. crosspairsに関しても同様の理由で学習 のパープレキシティが単調減少せず，期待された学習データ拡大の効果は得られなかった. 最も検証の パープレキシティが小さくなったのは, first-first の 1 万〜2 万回のファインチューニングを行った場合 であった. テストのパープレキシティでも first-first が最もよく，ミスマッチ条件にもかかわらず，マッ チ条件の baseline と近い值となっている. first-first に longest を足すと検証のパープレキシティは安定 したが，テストセットのパープレキシティは低下し

図 3 テストセット (bccwj+slack) の $\operatorname{src}$ に対して生成され た応答文の平均文字数

た。これから文選択は first-first が最もよいと考えら れる。

## 4.3 結果 (文長での比較)

図 3 に，テストセット (bccwj+slack) に対して生成された応答文の平均文字数を示す. テストセッ トは，表 1 に示した通り, src が 77.4 文字, target が 102.4 文字であった. 全体として, ファインチューニ ングの繰り返し回数によらず，ほぼ文選択法により 文長が決まっていることがわかる．個別にみると， baseline はかなり長く平均で 60 文字程度の応答を生成していた。それから longest, first-first_and_longest と続く.これらが平均で約 40 文字を超えている.一方，それ以外の方法では 40 文字以下となって いて, open2ch での文長と同等であり, first-first か crosspair2(first-first を含む) が最も文長が短くなって いる. first-first による文選択では，元の文の情報低下を抑えながら (パープレキシティは維持しなが ら)，文長を短くできているといえる。

## 4.4 結果 (応答例と几長箇所除去の効果)

雑談を想定したユーザ発話 (上記テストセットに は含まれない) に対する応答例を図 4 に示す. はじ めに述べた通り, open2chの応答はエージェントと してはふさわしくなく，これに限らず回答の多く が,「まじかよ $\cdots$, 「ありがとう!(もともとは「サン ガツ!」)」，「そうなんか」になってしまう． baseline はスタイルはよいが冗長な出力が出ている.ただし 「ステーキのステーキは，...」に関しては，壳長箇所除去を行うことでかっこ内の文に変換できた ${ }^{9)}$. 提

## \%open2ch

先週は神戸に行ったよ > まじかよ....

明日は何しよっか > おーぷん民

昨日はステーキを食べたよ > ありがとう!

ケーキを作ってみようと思って作り方を調べ た > そうなんか

## \%baseline

先週は神戸に行ったよ> 神戸に行ったことない なあ

明日は何しよっか > 明日に備える

昨日はステーキを食べたよ>ステーキのステーキ は，肉を食うのが一般的です (=ステーキは，肉を食 うのが一般的です)

ケーキを作ってみようと思って作り方を調べ

た>ケーキやケーキ，ケーキ，ケーキ，お菓子，

( ...ケーキ，お菓子を繰り返す)

## $\%$ first-first

先週は神戸に行ったよ > 私も神戸に行ったことが あります

明日は何しよっか $>$ 明日休みます

昨日はステーキを食べたよ > 私はステーキを食べ ます

ケーキを作ってみようと思って作り方を調べ た > ケーキを作るのは簡単ですね

図 4 ユーザ発話 ('>’ の左) に対する生成された応答 ('>’ の右) の例

案の first-first は, 短い文で比較的適切な応答を返せ ている.

## 5 まとめと今後の課題

雑談対話システムの学習に，大量のデータがある 質問・応答集を利用する場合，文長が長いためモデ ルの学習が難しく，生成される文が長くなりすぎる という問題があるため，文選択を行うことで文長を 制限する方法を提案した. 7 種の異なる文選択法を 検討した結果，はじめの文同士を組み合わせたもの が最もパープレキシティが低く，文長も短くできる ことがわかった.今回は比較的単純な方法で文選択 を行ったが，今後，重要文の推定に基づき，主題と なる文の選択を行った場合との比較を行う予定で ある.

## 参考文献

[1] 東中竜一郎, 稲葉通将, 水上雅博. Python でつくる対話システム. オーム社, 2020.

[2] Ilya Sutskever, Oriol Vinyals, and Quoc V. Le. Sequence to sequence learning with neural networks. In Proc. NIPS, 2014.

[3] Oriol Vinyals and Quoc V Le. A neural conversational model. In Proc. ICML, 2015

[4] 稲葉通将. おーぷん 2 ちゃんねる対話コーパスを用 いた用例ベース対話システム. 第 87 回言語・音声理解と対話処理研究会 (第 10 回対話システムシンポジ ウム), 人工知能学会研究会資料 SIG-SLUD-B902-33, pp. 129-132, 2019.

[5] Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. A diversity-promoting objective function for neural conversation models. In Proc. NAACL-HLT, pp. 110-119, 2016.

[6] 高山隼矢, 荒瀬由紀. Distant supervision を用いた情報量を制御可能な雑談応答生成. 言語処理学会第 26 回年次大会 発表論文集, pp. 323-326, 32020.

[7] Guillaume Klein, Yoon Kim, Yuntian Deng, Jean Senellart, and Alexander M. Rush. Opennmt: Open-source toolkit for neural machine translation. In Proc. ACL, 2017.

[8] Kikuo Maekawa, Makoto Yamazaki, Toshinobu Ogiso, Takehiko Maruyama, Hideki Ogura, Wakako Kashino, Hanae Koiso, Masaya Yamaguchi, Makiro Tanaka, and Yasuharu Den. Balanced corpus of contemporary written japanese. Language Resources and Evaluation, Vol. 48, No. 2, pp. 345-371, 62014.

[9] Hiroshi Tsukahara and Kei Uchiumi. System utterane generation by label propagation over association graph of words and utterance patterns for opendomain dialogue systems. In Proc. PACLIC-29, 2015.

[10] 塚原裕史, 内海慶. 言い換えを利用した対話行為推定 の汎化性能向上. 言語処理学会 第 22 回年次大会 発表論文集, pp. 87-90, 32016.

[11] Taku Kudo and John Richardson. SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proc. Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71, Brussels, Belgium, 11 2018. Association for Computational Linguistics.

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


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

山田涼太
北陸先端科学技術大学院大学
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 月閲覧).


# 相互情報量最小化による例文に基づく制御可能な言い換え生成

杉浦昇太 $^{1}$ 西田典起 $^{2}$ 朱中元 $^{3}$ 中山英樹 ${ }^{1}$
1 東京大学大学院 \{sugiura, nakayama\}@nlab.ci.i.u-tokyo.ac.jp
2 理化学研究所 AIP noriki.nishida@riken.jp
${ }^{3}$ NAVER AI Research shu.raphaelenavercorp.com

## 1 はじめに

言葉を同じ意味内容を表す異なる表現に言い換え ることは，コミュニケーションをより円滑にするた めに重要である．意図が伝わらない場合はより平易 な表現に言い換え，あるいは場の状況に合わせてよ りくだけた表現や丁寧な表現に言い換える.このよ うに言葉を適切に言い換える能力は，人間のみなら ず機械にも求められる。

言い換え生成とは，所与の文の言い換えを自動的 に生成する自然言語処理技術である。近年，ニュー ラルネットワークを用いた言い換え生成の手法が数多く提案されており，妥当で自然な言い換えの生成 を達成しつつある [1,2]. 一方で，自然言語の持つ 表現の多様性を踏まえると，利用者の望むような表現で書かれた文を得るためには，与えられた文に対 してただ一つの言い換えを生成するだけでは不十分 である.

本研究では，利用者が言い換えのスタイルを制御可能な言い換え生成の手法を提案する。ここでスタ イルとは，文体や言い回し，構文など，文の意味内容に関わらないような表層的な表現のことである.図 1 に，提案手法の概要を示す. 提案手法では，言 い換えの対象となる入力文とともに利用者によって 指定された例文を入力として，入力文の意味を保ち つつ例文のスタイルを持つような言い換え文を生成 する。例えば， 入力文として “What is the best way to earn money?"，例文として “How can I learn English?” という文が提示される状況を考える。システムは入力文の意味を保ちつつ, 例文の構造, 言い回しなど を可能な限り真似た出力文を生成する。この例では “How can I earn money?” が条件に即した妥当な言い 換えであると言える。

Iyyer ら [3] や Chen ら [4] は, 出力の統語構造を指定する言い換え生成手法を開発した. しかし，利用

図 1 提案手法の概要. 言い換え生成システムは,入力文 (input) と例文 (exemplar)を受け取り，言い換え (output)を生成する.

者が望むような文を出力するのに統語構造だけで十分であるとは限らず，また言語学的な素養のない一般の利用者にとっては統語構造による操作は負担が 大きい，そこで本研究では，生の例文に基づき，統語構造だけでなく文体や言い回しなども含めてより それに近しい文を生成することを目指す。

## 2 手法

本研究では，データセットとして言い換え文の対 を含むパラレルコーパス $\langle\mathbf{x}, \mathbf{y}\rangle \in \mathscr{D}$ 使用する.こ こで， $\mathbf{x}$ と $\mathbf{y}$ はぼ同じ意味を持つが，異なる表現 で書かれた文である.

提案手法のモデルは，二つの構成要素からなる.符号化モデル $g_{\boldsymbol{\theta}}$ は，例文 $\mathbf{e}$ を符号化してスタイル の潜在変数 $z$ を生成する機構である. 系列変換モデ ル $p_{\boldsymbol{\theta}}$ は, 文 $\mathbf{x}$ と潜在変数 $z$ を受け取り, 出力とし て $\mathbf{x}$ の言い換え文を生成する機構である。この 2 つ のモデルのパラメータをまとめて $\boldsymbol{\theta}$ と表記する。

推論時には，系列変換モデルは入力文 $\mathrm{x}$ を参照し て生成するべき文の意味を,$z_{\mathrm{e}}=g_{\theta}(\mathbf{e})$ を参照して スタイルの情報を得て，これらに従って言い換え文 を生成する。

学習時には，例文は提示されず，言い換え文の対 $\langle\mathbf{x}, \mathbf{y}\rangle$ のみが与えられる．そこで，例文ではなく $\mathbf{y}$ を符号化してスタイルの情報 $z_{\mathbf{y}}=g_{\theta}(\mathbf{y})$ を抽出し, $\mathbf{x}$

と $z_{\mathbf{y}}$ から $\mathbf{y}$ を復元するような学習を行う. 推論時 に適切な言い換えを生成するためには，学習に際し て以下の 2 点に留意する必要がある。

(1)入力文 $\mathbf{x}$ と潜在変数 $z$ を受け取り, 条件に沿っ た言い換えを生成するような系列変換モデルを 学習する。

(2)潜在変数 $z$ が，例文 (学習時には $\mathbf{y}$ ) の意味内容 ではなく，スタイルに関わる情報のみを保持す るように符号化モデルを学習する.

(2) の重要性について触れる. 仮に $z_{\mathbf{y}}=g_{\theta}(\mathbf{y})$ が $\mathbf{y}$ に 関する情報を完全に保持している場合，系列変換モ デルは $z_{\mathbf{y}}$ のみを見て $\mathbf{y}$ を復元するように学習して しまう，そうすると，推論時には入力文 $\mathbf{x}$ と同義な 文を生成できなくなり，言い換え生成として成立し なくなる. 従って， $z$ が文の意味ではなくスタイル の情報のみを保持するような制約を加えて学習する ことが必要となる.

## 2.1 損失関数の設計

学習時は，言い換え対 $\langle\mathbf{x}, \mathbf{y}\rangle \in \mathscr{D}$ を受け取り， $\mathbf{x}$ から $\mathbf{y}$ を生成するようにモデルを訓練する。 Cross-Entropy 損失関数 $\mathscr{L}_{\mathrm{GEN}}$ は次のように定義で きる.

$
\mathscr{L}_{\mathrm{GEN}}=\frac{1}{|\mathscr{D}|} \sum_{i=1}^{|\mathscr{D}|}-\log p_{\theta}\left(\mathbf{y}_{i} \mid \mathbf{x}_{i}, z_{\mathbf{y}_{i}}=g_{\boldsymbol{\theta}}\left(\mathbf{y}_{i}\right)\right)
$

相互情報量に基づく損失 符号化モデル $g_{\theta}$ が文 の意味内容ではなく，スタイルに関わる情報のみを 抽出するように制約を導入する。言い換え対 $\mathbf{x}$ と $\mathbf{y}$ は意味は同じであるが，それぞれ表層的に異なる言語表現のはずである. つまり, 符号化モデルは言 い換え文の対が共有する意味に関わる情報ではな く，それらが共有しないスタイルに関わる情報のみ を抽出できれば良いということになる。これは， $\mathbf{x}$ と $\mathbf{y}$ をそれぞれ符号化したべクトル表現 $z_{\mathbf{x}}=g_{\theta}(\mathbf{x})$, $z_{\mathbf{y}}=g_{\boldsymbol{\theta}}(\mathbf{y})$ が，相互に依存することがないような制約を損失関数に導入することで実現できると考えら れる。

本研究では, そのような制約を相互情報量 $I\left(z_{\mathrm{x}}, z_{\mathrm{y}}\right)$ の最小化問題として定式化する。相互情報量を学習 の過程で直接推定することは困難であるため，ここ ではサンプルベースの相互情報量の上界 $[5,6]$ を計算し，これを損失関数に加えることで，相互情報量 を上から抑えることとする。 ミニバッチとして与え られる言い換え対のサンプル $\mathscr{B}=\left.\{\left(\mathbf{x}_{j}, \mathbf{y}_{j}\right)\right.\}_{j=1}^{M}$ につ
いて，これらを符号化モデルによって変換して得ら れた潜在変数 $\left.\{\left(\boldsymbol{z}_{\mathbf{x}_{j}}, z_{\mathbf{y}_{j}}\right)\right.\}_{j=1}^{M}$ を考える. このサンプ ルを用いて，相互情報量 $I\left(z_{\mathrm{x}}, z_{\mathrm{y}}\right)$ の上界は以下のよ うに推定できる.

$
\begin{aligned}
& I\left(z_{\mathbf{x}}, z_{\mathbf{y}}\right) \leq \\
& \mathbb{E}\left[\frac{1}{|\mathscr{B}|} \sum_{j=1}^{|\mathscr{B}|}\left[\log p\left(z_{\mathbf{y}_{j}} \mid z_{\mathbf{x}_{j}}\right)-\frac{1}{|\mathscr{B}|} \sum_{k=1}^{|\mathscr{B}|} \log p\left(z_{\mathbf{y}_{k}} \mid z_{\mathbf{x}_{j}}\right)\right]\right] .
\end{aligned}
$

以上から，損失関数 $\mathscr{L}_{\mathrm{MI}}$ を以下のように定義する。

$
\begin{aligned}
& \mathscr{L}_{\mathrm{MI}}= \\
& \frac{1}{|\mathscr{B}|} \sum_{j=1}^{|\mathscr{B}|}\left[\log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{j}} \mid z_{\mathbf{x}_{j}}\right)-\frac{1}{|\mathscr{B}|} \sum_{k=1}^{|\mathscr{R}|} \log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{k}} \mid z_{\mathbf{x}_{j}}\right)\right] .
\end{aligned}
$

ここで, $q_{\phi}\left(z_{\mathbf{y}} \mid z_{\mathrm{x}}\right)$ は， $p\left(z_{\mathbf{y}} \mid z_{\mathbf{x}}\right)$ を近似したもので， ガウス分布 $q_{\phi}\left(z_{\mathbf{y}} \mid z_{\mathbf{x}}\right)=\mathcal{N}\left(\mu_{\phi}\left(z_{\mathbf{x}}\right), \Sigma_{\phi}\left(z_{\mathbf{x}}\right)\right)$ に従うと する. $\mu_{\phi}$ と $\Sigma_{\phi}$ は，パラメータ $\phi$ を持つニューラル ネットワークである. $q_{\phi}\left(z_{\mathrm{y}} \mid z_{\mathrm{x}}\right)$ の負の対数尤度を最小化することで， $\boldsymbol{\phi}$ の学習を行う。

$
\mathscr{L}_{\mathrm{NLL}}=\frac{1}{|\mathscr{D}|} \sum_{i=1}^{|\mathscr{D}|}-\log q_{\boldsymbol{\phi}}\left(z_{\mathbf{y}_{i}} \mid z_{\mathbf{x}_{i}}\right)
$

パラメータ $\boldsymbol{\theta}$ に関しては，次の損失関数を最小化 することで最適化する。

$
\mathscr{L}=\mathscr{L}_{\mathrm{GEN}}+\beta \mathscr{L}_{\mathrm{MI}} .
$

$\beta$ は $\mathscr{L}_{\mathrm{MI}}$ 項の大きさを決めるハイパーパラメータで ある。学習には確率的勾配降下法を利用し，各イテ レーションの中で $\boldsymbol{\phi}$ と $\boldsymbol{\theta}$ それぞれを更新する.

## 2.2 モデルの設計

符号化モデルは, Transformer Encoder [7] と多層パーセプトロンによって構成されている. Transformer の最終層の隠れべクトルの平均をとり, これを多層パーセプトロンで変換したものを出力と する.

系列変換モデルの構造は，通常の Transformer と 同じである．ただし，デコーダの最初のステップの 入力には SOS トークンではなく, 符号化モデルが出力した潜在変数 $z$ に対してアフィン変換を適用して 得られたベクトルを用いる.

$\mu_{\phi}$ と $\Sigma_{\phi}$ はそれぞれ多層パーセプトロンである. $\Sigma_{\phi}$ は対角行列を出力する.

## 3 実験と考察

## 3.1 データセット

Quora Question Pairs ${ }^{1}$ は，約 14 万件の質問文の言 い換えの対を含むデータセットである. 10 万件を 学習データ， 1 万件を検証データとした. テスト データについては， 100 件のデータに対して適当な 例文を手動で用意した。まず参照文 $\mathbf{y}$ と構文が近 く，また単語一致率の高い文を，学習データと検証 データに利用しない文の集合から抽出した. その中 で，入力文 $\mathbf{x}$ および参照文 $\mathbf{y}$ とは意味内容の異なる 文を一つ手動で選び，必要があれば多少の編集を行 い，それを例文 $\mathbf{e}$ とした．以上のようにして，参照文と意味は異なるものの，スタイルの似ている文を アノテーションした. 用意したテストデータの一部 を付録に掲載する。

## 3.2 評価指標

テストデータは，入力文 $\mathrm{x}$ ，例文 $\mathrm{e}$ ，参照文 $\mathrm{y}$ の三 つから構成されている. モデルが $\mathbf{x}$ と から生成し た文を，以下の二つの観点から評価する。

(1)妥当性: 生成された文が入力文の言い換えと なっているか，つまり生成された文の意味が入力文の意味と同じであるか?

(2)可制御性: 生成された文が例文と似たようなス タイルの文となっているか?

参照文との比較 本研究では，問題設定に合った テストデータを用意しているので，より参照文と類似している文を生成できれば，(1) 妥当性と (2) 可制御性を満たしていることになる。 そのため, 本研究 では BLEU [8]により参照文との類似性を評価した。

入力文との比較 生成した文と入力文の意味的な類似度を調べることで，(1) 妥当性につい て評価する。意味的な類似度の計算方法として Sentence-BERT 類似度を使う. 具体的には，入力文 と出力文をそれぞれ Sentence-BERT [9] によってべ クトルに変換し ${ }^{2}$, それらのコサイン類似度を意味的な近さとする。

例文との比較 生成した文と例文のスタイルの類似度を調べることで，(2) 可制御性を評価する。ス タイルの類似度として，次の二つの尺度を用いた。

1) https://www.kaggle.com/c/quora-question-pairs

2) 本研究では https://github.com/UKPLab/sentence-transformers の学習済みモデルを用いた。表 1 Quora のテストデータにおける結果. それぞれ 3 回 の試行の結果を平均したものを示している．BLEU は参照文，Sentence-BERT 類似度は入力文，TED及び LCS は 例文と，生成文を比較したものを示す。

TED (tree edit distance of syntax tree) TEDによっ て文同士の構文的な類似度を測る，TEDでは，2つ の文の句構造 (終端ノードは除去) に関する編集距離を計算する．距離であるため，値が小さいほど構文的に近いことを表す. $\mathrm{Zss}^{3}$ )によって TED を計算 した.

LCS (longest common sequence) LCS によって文同士の言い回しの共有度を測る．LCS では，与え られた列の集合に共通する最長の部分列を求め る. LCS の長さは，文書要約の自動評価尺度である ROUGE-L [10] に見られるように，自然言語の類似度評価にも利用されてきた。本研究では，文を単語 の系列とみなし, 生成文と例文との LCS の長さを評価する．LCS が長いほど，生成文が例文に含まれる 言い回しを含んでいることを示す.

## 3.3 ハイパーパラメータ

Transformer は，エンコーダレイヤ及びデコーダレ イヤのスタック数をそれぞれ 6 ，ヘッド数を 8 ，隠 れ層と単語埋め込みの次元数を 256 とした。

モデルの学習には Adam [11]を用い, Vaswani ら [7] と同じ学習率のアニーリングを行った。ミニバッチ サイズは 128 で，検証データに対する損失が 10 エ ポックに渡って減少しなかったときに学習を終了す る早期終了を行った．正則化のため，0.1 のドロッ プアウトを用い，また交差エントロピー誤差の計算 に際して 0.1 のラベル平滑化を行った.

Stanford CoreNLP Toolkit [12] によって単語分割を 行い, さらに SentencePiece [13] によってサブワード に分割した. サブワードの語彙数は 8000 とした.

## 3.4 結果

実験結果を表 1 に示す. Seq2Seq [7] は例文による 操作がなく，入力文のみから言い換え文を生成す

表 2 Quora のテストデータにおいて生成された言い換え 結果の例. 入力文 (source) と例文 (exemplar)をイタリック

 &  \\

る. SCPN [3] は例文の句構造に関する条件の下で入力文の言い換えを生成する。

参照文との類似度を示す BLEU スコアをみると， $\beta=1$ のときの提案手法が最も品質の高い言い換え を生成できていることがわかる. 従来の Seq2Seq と 比較して大幅なスコアの向上が見られ，例文による 操作の元で望ましい言い換えが生成できていること が定量的に確認できた。

注目すべきことに， $\beta$ の值が小さすぎる場合も大 きすぎる場合も BLEU スコアが大幅に低下する． $\beta$ が小さすぎるときは入力文との Sentence-BERT 類似度が小さくなっている. これは入力文の意味を生成結果が保てておらず，その結果，BLEU スコアが小 さくなっていると考えられる。一方で， $\beta$ が大きす ぎるときは例文との TED が大きく, LCS も小さく なっている。これは例文のスタイルが生成結果に反映されていないということを表し，その結果とし て，BLEUスコアが小さくなっていると考えられる。

定量評価に加えて，生成された結果を定性的に分析した. 表 3.4 に $\beta=1$ のときの生成結果を示す.提案手法では, $\beta=1$ のとき，入力文の意味を保ち つつ，例文のスタイルに似た表現を生成できている ことが分かる.

図 2 Sentence-BERT 類似度と $\mathrm{TED}$ (左) 及び $\mathrm{LCS}$ (右) の 関係.

## 3.5 妥当性と可制御性のトレードオフ

ここでは, 入力文の意味内容の保持と例文によ る操作性のトレードオフについて調べる. 図 2 に,生成結果を入力文と比較した Sentence-BERT 類似度 と，例文と比較した TED 及び LCS の関係を示す.

TED が低いほど例文の構文構造を反映しているこ ととなるため，図の右下にある点がより良い結果と なる. Seq2Seq の生成結果は，例文の情報を推論時 に全く使っていないため，当然例文との構造的な距離は大きい．SCPN は例文の句構造を推論時に用い てそれに沿った言い換えを出力するため，TEDの スコアが Seq 2 Seq と比較して小さくなっている. 提案手法の結果は， $\beta$ の値が増加するにつれて図中左下から右上に推移している. $\beta=1$ の結果をみると， SCPN の結果と Sentence-BERT 類似度はほぼ同じで あるにも関わらず，TEDがょり小さくなっている. すなわち，SCPN と比較してより良いトレードオフ を達成していることが確認できる.

LCS は高いほど例文の言い回しを含む文が生成で きていると言えるため，図の右上にある点がより良 い結果となる. 入力文との意味的な類似度を低下さ せず，LCS を高くできている。すなわち，言い換え としての品質を落とさないまま，語彙的にも例文に より近い文を生成できている。

## 4 おわりに

本研究では，例文を用いた制御可能な言い換え生成の手法を提案した，文のスタイルに関する情報の みを抽出するために，相互情報量に基づく損失関数 を導入した。評価用に，Quora データセットについ て例文のアノテーションを行った。

実験の結果，提案手法によって入力文の意味を保持しつつ例文のスタイルを持つような言い換えが生成できていることを定量・定性的に確認した.

## 参考文献

[1] Aaditya Prakash, Sadid A. Hasan, Kathy Lee, Vivek Datla, Ashequl Qadir, Joey Liu, and Oladimeji Farri. Neural paraphrase generation with stacked residual LSTM networks. In Proceedings of COLING 2016, the 26th International Conference on Computational Linguistics: Technical Papers, pp. 2923-2934, Osaka, Japan, December 2016. The COLING 2016 Organizing Committee.

[2] Zichao Li, Xin Jiang, Lifeng Shang, and Hang Li. Paraphrase generation with deep reinforcement learning. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 3865-3878, Brussels, Belgium, October-November 2018. Association for Computational Linguistics.

[3] Mohit Iyyer, John Wieting, Kevin Gimpel, and Luke Zettlemoyer. Adversarial example generation with syntactically controlled paraphrase networks. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pp. 18751885, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.

[4] Mingda Chen, Qingming Tang, Sam Wiseman, and Kevin Gimpel. Controllable paraphrase generation with a syntactic exemplar. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pp. 59725984, Florence, Italy, July 2019. Association for Computational Linguistics.

[5] Pengyu Cheng, Martin Renqiang Min, Dinghan Shen, Christopher Malon, Yizhe Zhang, Yitong Li, and Lawrence Carin. Improving disentangled text representation learning with information-theoretic guidance. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7530-7541, Online, July 2020. Association for Computational Linguistics.

[6] Pengyu Cheng, Weituo Hao, Shuyang Dai, Jiachang Liu, Zhe Gan, and Lawrence Carin. CLUB: A contrastive logratio upper bound of mutual information. In Hal Daumé III and Aarti Singh, editors, Proceedings of the 37th International Conference on Machine Learning, Vol. 119 of Proceedings of Machine Learning Research, pp. 17791788, Virtual, 13-18 Jul 2020. PMLR.

[7] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Ł ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30, pp. 5998-6008. Curran Associates, Inc., 2017.

[8] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. Bleu: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, pp. 311-318, Philadelphia, Pennsylvania, USA, July 2002. Association for Computational Linguistics.

[9] Nils Reimers and Iryna Gurevych. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In
Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 3982-3992, Hong Kong, China, November 2019. Association for Computational Linguistics.

[10] Chin-Yew Lin. ROUGE: A package for automatic evaluation of summaries. In Text Summarization Branches Out, pp. 74-81, Barcelona, Spain, July 2004. Association for Computational Linguistics.

[11] Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, 2015.

[12] Christopher Manning, Mihai Surdeanu, John Bauer, Jenny Finkel, Steven Bethard, and David McClosky. The Stanford CoreNLP natural language processing toolkit. In Proceedings of 52nd Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pp. 55-60, Baltimore, Maryland, June 2014. Association for Computational Linguistics.

[13] Taku Kudo and John Richardson. SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71, Brussels, Belgium, November 2018. Association for Computational Linguistics.

## A 作成したテストデータ

表 3 に，本研究で評価のために作成した例文の一部を，大力文及び参照文と共に示す.

表 3 評価用に用意した Quora のテストデータの一部. 作成した例文を太字で示している.

source Is the iPhone really more expensive? Why or why not?

reference Why is iPhone so expensive?

exemplar Why is mathematics so hard?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

Why is UK better than USA?

Which country do you like the most, UK or USA? Why?

Which sports do you like the most, soccer or basketball? Why?

What are the movies worth watching after getting high ?

Which are the Best movies to watch after getting high?

Which are the best books to read after getting negative?

How many songs can a 16 GB iPhone hold -LRB- approximately -RRB- ?

How many songs does a 16 GB iPhone hold?

How many calories does a Dominos pizza have?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

Which are some of the most popular questions on Quora

with high number of followers?

Which question on Quora has the most followers?

Which province in Canada needs the most immigrants ?

What are the best tips to study philosophy?

What are the best tips to save money?

Why is space expanding?

How and why is space expanding?

How and why is history repeating?

How can I download Tor browser?

How do I download the Tor browser?

How do I find the dipole moment?

exemplar

What is the best question anyone has ever asked you ? How did you answer?

What is the best question you have ever been asked?

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar

source

reference

exemplar What is the best joke you have ever heard?

Is it possible to make a time machine?

Can we create a time machine?

Can we survive a heart attack ?

How can we make money from YouTube?

How can you make money on YouTube?

How can you find people on Instagram?

Why China is threat to India?

Is China a threat to India?

Is Kngine a competitor to Google?

How do I get a Rhodes scholarship ?

What should I do to get a Rhode 's scholarship ?

What should I do to become an automobile engineer?

What are some ways to make more time?

How do I make more time?

How do I get more clients?


# BERT を利用した Zero-shot 学習による同音異義語の誤り検出

藤井真新納浩幸
茨城大学大学院 理工学研究科情報工学専攻
\{19nm727r, hiroyuki.shinnou.0828\}@vc.ibaraki.ac.jp

## 1 はじめに

本研究では，かな漢字変換や音声入力に起因する 同音異義語の誤りについて, BERT[1] と Zero-shot 学習を組み合わせて検出する手法を試みる。

日本語文を電子的に入力する機会は PC やスマー トフォン，タブレット端末などの普及に伴い増加，低年齢化している．近年は，小学校や中学校の授業 にもタブレット端末が導入されている.このような 利用環境の中で，言語の音だけを頼りにかな入力 し，十分な識別認識を欠いたまま変換後の漢字を用 いるといったケースも散見される. 特に「追求」と 「追及」のような，意味や用法の差異が小さい同音異義語について顕著である．入力を支援するシステ ムの教育的な重要性は高まり，誤りを検出し再確認 を促すシステムの必要性も高まっている。

同音異義語の誤りを検出する既存の手法は，複合語に着目し文字連鎖を用いる手法 [2] や決定リス 卜を用いる手法 [3], 確率的 LSA を用いる手法 [4], Earth Mover's Distance を用いる手法 [5]がある.

本研究では，ニューラルネットワークを用いた言語モデル BERTを同音異義語の誤り検出に用いる.同時に, 機械学習の学習コストを減らす取り組みで ある Zero-shot 学習の形式も合わせて取り入れる.

Zero-shot 学習は, 学習時にアクセスできない未知 のラベルを推定する手法で，主に画像処理の物体認識の分野で未知の物体を推定する際に用いられてい る.この推定を可能にするため，事前知識という領域を設定することが特徵となる。この事前知識には データ，モデル，アルゴリズムなどが想定される. これにより，未知のデータに対して頑健なモデルを 得ようとする取り組みである.

本研究では，この事前知識に BERTをあてる。 BERTを用いてテストデータの同音異義語部に適す る単語を 10,000 語予測させ，その結果を同音異義語 の誤り検出に用いる. 実験では五組の同音異義語を 対象とした。テストデータは毎日新聞記事の中から対象単語の載る文を抽出し, それらから人為的に誤 りを含ませて作成した。実験の結果から，人が細か いニュアンスの差異を頼りに識別する同音異義語 の誤りを検出できる可能性が得られた. 実験精度の 悪かった同音異義語の検証から，事前知識に用いた モデルの一部に過剰適合が生じている知見が得ら れた。

## 2 BERT

BERT (Bidirectional Encoder Representations from Transformers) は双方向の Transformer[6] を用い，大規模データによって事前学習された言語モデルであ る. 大規模データにより事前学習することで強力な 汎用言語モデルを作成し，そのモデルを各タスクの 教師ありデータに fine-tuning する二段階のフレーム ワークを用いている．BERT の構造は Transformer の self-attention を中心とした多層の双方向 Transformer エンコーダである.

BERT の入力表現はラベルの無い二文をトークン 化したものと特殊トークンを合わせた一つのシー ケンスとなる。特殊トークンは [CLS] と [SEP] に表現され，[CLS] はシーケンス最初に設置されるトー クンであり, [SEP] は文の区切りに設置されるトー クンである。これらの各トークンに対し，シーケン ス中の位置と二文のどちらに属するかの情報を合 わせ，埋め込み表現とする。この埋め込み表現を Transformer ブロックを中心とした多層で学習し，そ の結果を MLM や NSP に用いて下流タスクの精度を 高めている。これまでの内容を図 1 として示す.

## 2.1 MLM

MLM (Masked Language Model) は文献により cloze タスクとも呼ばれる処理である．BERTにおいては 入力トークンの $12 \%$ をンダムに [MASK] トークン に置き換え，それら [MASK] されたトークンを交差 エントロピー誤差を元に予測するタスクを行う．最終的な [MASK] トークンの埋め込み表現はソフト
表 1 機械学習の分類

図 1 BERT モデル

マックスを通じて各単語と結びつくこととなる.こ のタスクにより従来の事前学習手法に比べて，文脈 の前後を捉えた双方向性を獲得している.

## 2.2 NSP

NSP (Next Sentence Prediction) は，言語モデリング で得られない二文間の関係を BERT に理解させる タスクである。学習に用いられる単一のコーパスか ら，シーケンス用の文 $\mathrm{A}$ と文 $\mathrm{B}$ を選ぶ際，文 B は 文 $\mathrm{A}$ に連続する文と非連続の文の 2 パターンが半々 で選ばれる. 非連続の文はにコーパス中からランダ ムに選ばれる。この連続・非連続に二値化された，次の文を予測するタスクが図 1 の左下の記される埋 め込み表現 Cを元に行われる。これにより，質問応答や自然言語推論といった文間関係の理解が重要な 下流タスクの精度を高めている。

## 3 Zero-shot 学習による誤り検出

## 3.1 Zero-shot 学習

一般的な機械学習は学習コストが課題となる. 学習コストはモデル作成のための計算コストや教師あ り学習の教師データを作成するコストなどが挙げ られる. 後者に対しては半教師あり学習，教師なし 学習，弱教師あり学習といった対策を生んだ. しか し，これらのいずれも基本的にはデータの量を前提 にしている。一般的な機械学習のアプローチを用い ると小規模データからは脆弱なモデルが生まれると いう課題があるためである.
Zero-shot 学習は,これらの課題について改善を試 みる取り組みとなる. Zero-shot 学習は Few-shot 学習 の考え方に基づいているため, Few-shot 学習の概要 から説明する. Few-shot 学習は, wang らの定義 [7] から，従来の一般的な機械学習の分類 (教師の有無 など）を横断する概念となる。まず，機械学習の定義を wang らの方針を参照し設定しておく．「ある タスク Tのためのプログラムが，その性能評価値 $\mathrm{P}$ に関して，経験 Eによって改善される場合，その プログラムは経験 E から学習している.」と設定す る. few-shot はタスク固有の限られた数のラベル付 きデータを意味し，経験 $\mathrm{E}$ にあたる。この段階では 小規模データの教師あり学習と同じ様相となるが,小規模データのモデル脆弱化に対して, Few-shot 学習は事前知識という後ろ盾を用いる点が異なる.こ の事前知識も経験 E にあたり，その選定制約の基本 は few-shot の持つ情報に触れないことである. その 上で事前知識の対象には，タスク $\mathrm{T}$ を処理するのに 適したデータ，モデル，アルゴリズムなど多様な対象が挙げられる. Zero-shot 学習はタスク固有のラべ ル付きデータを用いず，事前知識を中心にタスクを 処理する。これまでに説明した機械学習の分類につ いて wang らの定義に基づき表 1 に示す.

wang らは Zero-shot 学習については，Eに他のモ ダリティを含ませる必要があることにも言及して いる.

## 3.2 提案手法

wang らの定義に基づいて提案手法を表現すると， タスク $\mathrm{T}$ はクラス分類としての同音異義語の誤り 検出，経験 E は事前知識として事前学習モデルの BERT，性能評価値 $\mathrm{P}$ は分類精度となる。

まず，対象の同音異義語が含まれる文を誤り検出 の対象文として入力する．入力文中から対象となる 同音異義語部を BERT の [MASK] トークンに置き換 える。その後，BERTを用いて [MASK] 部を予測する 処理を行う。予測結果を BERT の尤度順に 10,000 語取得し，対象となる同音異義語の出現順を調べる.出現順の早い，BERT の尤度が高い方を入力文で用

いられるべき同音異義語の推測結果とする. 推測結果と大力文の同音異義語が異なる場合に誤りとして 検出する.

## 4 実験

## 4.1 実験設定

誤り検出に用いる同音異義語は筆者の主観によ り，表 2 に示す五組を対象とする．実験には 1993 年から 1999 年の毎日新聞の記事データを用いる. テストデータは，この記事データの中から対象の 同音異義語が含まれる文を取り出すことで作成し た. 取り出す際に $\mathrm{MeCab}^{1}$ を経て単語の確認をして いる. MeCab 用の辞書は mecab-ipadic-NEologd[8]を 用いている. 利用するデータ数は比較する同音異義語の文数が少ない方に合わせてランダムに抽出して いる. 同音異義語の誤ったデータは，記事の内部に 記載されている同音異義語について当該箇所だけ をもう一方の同音異義語に置き換えることで作成 した. 誤りデータは全体の 50 \%分作成する. BERT の事前学習モデルには東北大学から公開されている 日本語版 BERT $^{2)}$ を用いている。この BERT の設定 は「bert-base-japanese-whole-word-masking」のモデル を公開されているデフォルトのままで用いている.

二值分類として偏りの無いテストデータを用いて いるが，正解率や再現率を考慮するため実験の評価 には $\mathrm{F}$ 値を用いた。

また，事前知識として用いた BERT の事前学習 モデルが本実験で対象とした同音異義語について fine-tuning 無しにどの程度の識別するのかを検証す るため，誤りを含めない新聞記事のままで予測させ る実験も行っている。

## 4.2 実験結果

表 2 に，本研究で設定した内容の一部と実験の結果を示す.

誤り検出の結果を示す $\mathrm{F}$ 值は比較する同音異義語 により様々な值となった。人が細かいニュアンスの 差異を頼りに識別する同音意義語を対象としてい るので，「追及」と「追求」については精度が良い と言える。一方，「修行」と「修業」の精度は悪く，二値分類の結果としては脆弱となった. 実験に用い たデータ数による影響は，データ数の最も多い「体

表 2 実験結果

表 3 誤りを含めない識別結果

制」と「態勢」，データ数の最も少ない「回答」と 「解答」の結果を見る限り言及するほどに影響を与 えていないと推察される。

誤りの検出は，BERT の事前学習モデルが予測す る単語を元に行っている。その影響を検証するた め，誤りを含めない新聞記事のままで対象単語を予測させた結果を表 3 に示す。

検出精度の悪い同音異義語について，BERT の事前学習モデルは一方の単語に偏って予測していると いう傾向が得られた.「修業」を「修行」と取り違 えた文の例を表 4 に示す. 表中の上二文については 文が短く，文脈を想定しなければ「修業」と「修行」 のどちらも正解と言って良いもので，テストデータ の設定に調整が必要である．表中の下二文について は, 「修業」と「修行」の違いに話者の精神性や他者 との関係性が含まれる点をよく理解する必要がある ため，人が「修行」と誤っても責められず，より良 いニュアンスとして「修業」を用いた方が良い文と 言える。このようなニュアンスを優れた機械学習の
山田さんは修業 3 年目だ。

まだまだ修業中の身ということを思い知らされた.

大学を卒業後, 神戸のレストランでしばらく修業し, 再度フランスヘ.

修業感覚を欠いた現在中心の快楽志向が日本の若者の特徴.

モデルは内包しきるのか，今後も検証を進めたい.

## 5 おわりに

本研究では Zero-shot 学習の形式に基づき，BERT を用いた同音異義語の誤り検出を試みた. 実験の結果は，現段階の提案手法ではニュアンスの差異が小 さい同音異義語の誤り検出について様々な精度と なることを確認した. これは Zero-shot 学習の事前知識として用いた BERT の事前学習モデルが，検出精度の悪くなる同音異義語を予測する際に，一方に 偏って予測することに起因している．偏りの生じる 原因は事前学習の際に用いられるデータの質と量が 関わると推察する. 本実験の BERT モデルは日本語版 Wikipediaコーパスを用いて事前学習されている.新聞記事よりも誤植について制約がないため同音異義語が使用される場面での質が担保されない。ま た，大規模データを前提とする事前学習モデルに，本実験のような単語ごとの量的な調整は行われな い.このような事前学習データの質と量の問題が,機械学習の過剰適合に繋がったのではないかと推察 する. 本実験の様に fine-tuning を介さない Zero-shot 学習の形式をとることで，fine-tuning で見失われや すい汎用モデル自体の課題が生じた.

今後の課題として，まずは本実験の対象を拡大 し結果の傾向をより詳細に分析することが挙げら れる. 次に, BERT の学習に用いられた日本語版 Wikipediaコーパスにおいて，本実験で対象とした 同音異義語の量的な検証を行い，その影響を調べる 必要もある. 以上の内容を踏まえた BERT の事前学習モデルを作成し，本実験との比較も試みたい。ま た，本実験は Zero-shot 学習の事前知識として単一 のモデルを用いたが，複数のモデルを用い集合知の 形式を取り入れるなどの検証を進めたい.

## 参考文献

[1] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[2] 奥雅博, 松岡浩司. 文字連鎖を用いた複合語同音異義語誤りの検出手法とその評価. 自然言語処理, Vol. 4,
No. 3, pp. 83-99, 1997.

[3]新納浩幸ほか. 複合語からの証拠に重みをつけた決定 リストによる同音異義語判別. 情報処理学会論文誌, Vol. 39, No. 12, pp. 3200-3206, 1998.

[4] 三品拓也, 貞光九月, 山本幹雄ほか. 確率的 $1 \mathrm{sa}$ を用い た日本語同音異義語誤りの検出・訂正. 情報処理学会論文誌, Vol. 45, No. 9, pp. 2168-2176, 2004.

[5] 河原直人, 梅澤猛, 大澤範高ほか. E-016 earth mover's distance を用いた同音異義語判別 (e 分野: 自然言語 $\cdot$音声・音楽). 情報科学技術フォーラム講演論文集, Vol. 12, No. 2, pp. 217-218, 2013.

[6] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pp. 5998-6008, 2017.

[7] Yaqing Wang, Quanming Yao, James T Kwok, and Lionel M Ni. Generalizing from a few examples: A survey on fewshot learning. ACM Computing Surveys (CSUR), Vol. 53, No. 3, pp. 1-34, 2020.

[8] 奥村学佐藤敏紀. 単語分かち書き辞書 mecab-ipadicneologd の実装と情報検索における効果的な使用方法 の検討. 言語処理学会第 23 回年次大会 (NLP2017), pp. NLP2017-B6-1. 言語処理学会, 2017.


# Minecraft を用いた状況付けられたタスク指向型対話データの 収集

小河 晴菜 ${ }^{1}$ 徳永 健伸 ${ }^{1}$ 横野 光 $^{2}$
1 東京工業大学 情報理工学院 2 株式会社富士通研究所
\{ogawa.h.ai@m, take@c\}.titech.ac.jp yokono.hikaru@fujitsu.com

## 1 はじめに

自然言語処理では，大規模なデータを用いてモデ ルを学習する手法が主流となっており，対話処理の 分野もこの例外ではない. 雑談型の対話と比べて夕 スク指向型対話のデータ収集は，タスクに相当する 既存のデータを見つけるのが難しいことから，タス クに応じて人間を用いたデータ収集が必要となる。本稿では，Minecraft $(\mathrm{MC})^{1)}$ 上に構築したタスク指向型の対話データ収集基盤 [1](以下，DDCraft)を用い たデータ収集実験について報告する．MCをデータ 収集基盤として使う利点は以下の 2 点である.

対話データの収集にクラウドソーシングを使う手法がある [2]. この場合，作業者の主な発話動機が 対話目的の達成ではなく作業報酬となり，対話者が 目的を達成するために行う発話とは動機が異なって しまう $[3,4]$. この動機のずれが，タスク本来の対話からのずれとしてデータに反映される恐れがあ る．MCを土台にすることにより，タスクを容易に ゲーム化でき，ゲーム参加者の発話の動機を対話目的に近づけることができる.

人間と物理的な場を共有するロボットや，道案内 タスクなどでは，言語情報に加えて対話者が視覚的・空間的な状況を共有することが重要である.こ のような状況付けられたタスク指向型対話データ の収集には，仮想世界を用いた例 $[5,6]$ や現実世界 で行った例 $[7,8]$ がある. MCには仮想空間を操作 するための基本的な枠組みが用意されているため, MC を土台にすることにより，様々なタスクの状況付けられた対話データの収集が容易になる。

## 2 関連研究

対象とするタスクにゲームの要素を導入する 「ゲーミフィケーション」[9]は，これまでにもデー

1) https://www.minecraft.net/ja-jp
タ収集で活用されている。画像のラベル付けにゲー ムを利用した ESP game [10] は，インターネット上 に公開され 1 万人以上のプレイヤーを集め，アノ テーションタスクにおけるゲーミフィケーションの 有用性を示した。また，Vannella ら [3] はバリデー ションタスクのための複数のゲームを提案し，イン ターネット上に公開したこれらのゲームの結果と， ゲームを用いない同様のタスクをクラウドソーシ ングの作業者に行わせた結果を比べ，ゲーム形式で 行った場合のほうが結果の質が高いことを示した.

対話収集への適用例としては， Manuvinakurike ら [11] が，クラウドソーシングによって話し言葉 での対話を収集するブラウザゲームを作成した他， Asher ら [12] が複数人で行うオンラインボードゲー ム上にチャット機能を実装し，複数人の書き言葉で の対話を収集している。

これらの研究はゲームを用いてタスク指向型対話 を収集しているが，タスクが固定されており，他の タスクにゲームを流用することができない。一方， DDCraft は MC 上における対話収集のための汎用的 な機能を提供し，対話収集者はその上でタスクを設計するという点で異なる。これにより，対話収集者 は $\mathrm{MC}$ 本来の機能を活用しつつ実装の手間を削減す ることができる.

## 3 対話データ収集基盤

DDCraft [1] は，MCサーバ上の仮想世界で行われ る対話について，ペアごとに，発話内容，発話時の 発話者の位置情報と視界の情報，操作可能な物体の 操作ログを収集する。サーバに接続した作業者らを 自動でマッチングし，対話ペアを生成した後，ペア ごとの個別の仮想世界を用意する機能を持つ.これ により，データ収集者は作業者のペア組みを調整す る必要がない. さらに，DDCraft は仮想世界内の地図画像を出力するなど，ゲームを設計するための補
助機能を提供する.これらの機能は $\mathrm{MC}$ の拡張機能 として実装しており，MCにこれらを導入すること で基盤を運用できる.

## 4 対話収集実験

DDCraft の基本的な機能を検証し，実際にどのよ うなデータが収集可能か, また, 状況付けられた対話の特徴である参照表現の誘発が行えるかを確認 するためにクラウドソーシングを使って参加者を 募った.

## 4.1 対話タスク

対話データ収集には，DDCraft 上で行う対話タス クの例として我々が考案した Mansion Taskを用い る. Mansion Task は協力的なタスク指向型対話を収集することを目的とした二人用のタスクで，Map Task [13] を元にしている.このタスクでは, 作業者 はそれぞれ内容が一部異なる地図を渡される，地図 には部屋の配置とゴール地点, 更にゴールに到達す るために行うべき複数のサブタスクの情報が記され ている. 作業者らの目的はこれらのサブタスクを達成し，ゴールに辿り着くことである. サブタスクを 達成するための情報は二枚の地図に分割されて記載 されるため，作業者らは対話によって情報を交換す ることになる．また，各サブタスクは二人が協力し ないと達成できないよう設定されている.

本研究では，状況付けられた対話の特徴の一つで ある参照表現の誘発を目的としたサブタスクを設定 した. Stoia ら [6]にならい, 同一の物体を複数配置 することで, 特定の物体を表現しょうとした作業者 に参照表現を使用させることを狙う．実験に用いた Mansion Task の設定の詳細は付録を参照されたい.

## 4.2 実験方法

クラウドソーシングサービスの Amazon Mechanical Turk(MTurk) ${ }^{2}$ 上で, Mansion Taskを用いた対話 データ収集実験を行なった. MTurkでは作業者が行 うタスク (HIT)を登録することで仕事を依頼でき る. また，その際に受諾条件を設定できる。作業者 は自分が行いたい HIT を選択し，受諾する。

今回の実験では作業者同士がペアを組む必要が ある. ペア組みには基盤のマッチング機能を用い，我々は個々のぺア組みに関与せずに，サーバへの接続時間が合うよう HIT の説明内で大まかな接続推奨

時間帯を指定するにとどめ，自然にマッチングする ようにした。

## 4.3 作業者の募集

我々はまず，募集人数を 20 人 (10ペア分) として HIT を登録した.この試行では 5 人の作業者がサー バへ接続したが，接続時間がばらついておりぺアが 組まれなかった. また, HIT の登録後 10 分未満で 受諾人数が募集人数に達した. 受諾した作業者の中 には，タスクを行わずに提出した作業者や，実行せ ず放置した作業者が含まれている。短時間のうちに そういった作業者で人数の枠が埋まってしまったこ とは， 1 回目の試行が上手く行かなかった一つの原因だと考える。

1 回目の結果を踏まえて，設定を二点変更した. まず，接続時間のばらつきに対応するため，接続推奨時間帯を 15 枠から 3 枠に削減した. また，タス クを実行できない作業者が HIT を受諾するのを防ぐ ため, 過去の成果の承認率と, MC のライセンスの 有無を確認する設問への回答を受諾条件として追加 した. その上で再度 HIT を登録したが，この 2 回目 の試行ではサーバへの接続が一件のみだった. 我々 はこの原因が追加した設問にあると考えている. 作業者が HIT の一覧を表示する際，自分が受諾条件を 満たす HIT だけを抽出することができる．だが今回 のような設問が設定されている場合，任意の作業者 は初め条件を満たしていないため, 抽出表示した作業者には HIT が表示されない. そのため, 作業者数 が大きく減ったのではないかと推測している.

設問を削除し，その分タスクを実行できない作業者が受諾しても募集人数が埋まらないよう，人数を 10 倍の 200 人に変更した. その上で 3 回目の HIT 登録を行なったところ，6人の作業者が接続し， 3 ペア分の対話を収集することに成功した. 接続推奨時間帯を狭めたことで，作業者の接続時間を重ねる ことができたと考えている．また，受諾人数が募集人数に達するまで一日半程度の猶予があったため, タスクを行える作業者が受諾する余裕があったと考 えられる。この試行では，基盤の設定不足が原因で サーバへの接続に失敗した作業者が 4 人いた. これ は HIT 説明の設定手順が主に文章で構成されていた ため，理解しづらかった可能性がある．

説明に図を追加した上で 4 回目の募集を行った. この試行では, 13 人の作業者がサーバに接続した. うち 4 人は一度設定不足で接続に失敗したが，その
後接続に成功している。これは，設定手順の説明の わかりやすさを改善したことが有効に働いたと考え ている。しかしながら，ペアが成立したのは 2 組の みだった．接続ログを調べたところ，接続推奨時間帯外の接続が多かった (13 人中 7 人). これが，ペア 成立数が伸びなかった原因であると考えている.

## 4.4 募集における課題

4.3 節の結果から，DDCraft を用いた作業者の募集 における二つの課題が示唆された。

一つ目は，DDCraft を用いるために，作業者が自 ら拡張機能をインストールしなければならない点で ある. HITを受諾したが放置した作業者が多かった 点から，接続するための設定が手間であると思われ た可能性がある. 取得できる情報に制限がかかるも のの， MC の拡張をサーバ側のみに留めるオプショ ンを用意し，作業者が設定を行わずに接続できるよ うにすることで，この問題を緩和できると考える。

二つ目は，対話ぺアを組むために，作業者が同時にサーバに接続している必要がある点である. DDCraft は作業者のマッチングを自動で行うため， データ収集者はぺア組みを調整する必要がない。た だしその分，同じタイミングでサーバに接続した作業者がいなければ，作業者はタスクを行うことがで きない. これに対し, 我々は接続推奨時間帯を設定 したが，4 回目の例からも分かるように，作業者が 必ずしもその時間帯に接続を行うわけではない. 接続時間を指定するだけでなく，作業者のサーバ停留時間を延ばすことが重要であると考えられる。停留時間を延ばすための取り組みとして，我々は MC の 特徴を活かし，作業者らが待機する仮想世界を探索 して遊べるょうなものに設定している. 実験では，実際に遊んで待機する作業者が確認された. 現在の 仮想世界は単純なものであるため，ミニゲームの追加などより面白さを増やす改良を行うことで，作業者が同じ時間にサーバに接続している状況を作りや すくできる可能性がある.

## 5 作業結果の考察

## 5.1 作業者の動機づけ

表 1 にタスクを行った 10 人の作業者によるタス ク後のアンケート結果を示す. アンケートは任意回答だったが，10 人全員から回答を得た.また，図 1 に自由記述コメントの抜粋を示す. アンケート
では，「もう一度遊びたいか」という問いに対して “Yes” の回答が 8 割を占めており，「報酬がなくても 遊びたいか」についても，少し消極的な回答が増え るものの, “Rather Yes”以上の回答が 8 割を占めて いる.これらの回答やコメントの内容から, 作業者 が楽しんでタスクを行ったことが推測できる。この ことから，ゲーム形式でタスクを行うことで，本研究が目的とする作業者の動機づけができていると考 えられる。また，全てのペアが最後までタスクを達成しており，DDCraft での対話収集では，基盤の設定やペア組みなどの壁があるものの，それらを乗り 越えれば作業者が意欲的にタスクに取り組むことが 示唆された。

表 1 タスク後の任意アンケート結果. RN は Rather No, Ne は Neither, RY は Rather Yes を表す.

図1作業者によるタスクへの自由記述コメント (抜粋)

## 5.2 収集した対話データの特徴

表 2 に，収集した対話データの対話時間，発話数，参照表現および空間的な表現の出現回数を示す.こ こで，参照表現・空間的な表現として「他との位置関係によって説明されているもの」「this, that などの 指示語で説明されているもの」を数えた。一発話中 に複数の表現が出現した場合，それぞれを一つとし てカウントする．また，対話 1３ は収集実験の 3 回目の試行で，対話 $4 ， 5$ は 4 回目で取得したもの である. 対話はすべて英語のチャットで行われた.

各ペアを比較すると，対話 $1 \sim 3$ と 4,5 で発話数 の合計が大きく違っている.しかし， 3 回目と 4 回目の試行ではタスク内容を変えていないため，作業者の性格が原因で偶然この差異が現れたと考えて いる。また，対話 3 のペアでは参照表現が一度しか 出現していない. 作業者が入力したコメントによれ ば，このペアの主なコミュニケーションは MC 内の キャラクターの移動・腕の動きといった非言語情報

図 2 同一の対象に対する参照表現が現れた発話の内容，発話者の地図上の位置およびその視界. ここで，各発話は全て 異なる対話のものである。また，地図は一部分のみを載せている。

で行われた，とあり，実際，収集した対話ログを見 ると，このペアではタスクを達成するための操作に 関する発言が 2 回しかされていない。

表 2 Mansion Task v2を用いて収集したデータの情報.

図 2 に，ある同一の物体に対して用いられた参照表現を含む発話と，その際の周辺情報を示す. 基盤 は発話者の位置のみを記録するため，図には対話相手の位置情報は含まれない。三つの発話はそれぞれ 別の対話であり，図内の破線で囲まれた物体 (感圧板) を踏むよう発話者が相手に指示した際のもので ある。同じ対象を表すのに，三人の発話者が異なる 表現を用いていることがわかる。 それぞれの発話内容を見ると，対象から離れた位置で行われた 1 番の 発話では建物内の位置を参照して対象を表現してい るのに対し, 対象と近い位置で起きた 2,3 番の発話では発話者の位置を基準とした表現が用いられて いる. 収集した対話データからは，このような作業者の位置による表現の違いや，周囲の情報がなけれ ば意味を理解できない発話が確認できた．MCの仮想世界を利用することで，状況付けられた対話が行 われたことがわかる。

また，図２の「作業者の視界」は，各作業者が実際に見ていた光景からゲームのUIを除いたもので ある。現実世界で作業者の視線や視界の情報を得る
ためには専用の機材が必要であるが，ゲームを用い れば，現実より単純化された視界ではあるものの，作業者の行動を妨げることなくこれらの情報を取得 できる。これも $\mathrm{MC}$ を利用する利点の一つである。

以上の結果から，ゲームの世界であっても状況付 けられた対話が収集できることが分かった。一方 で，現状の基盤が記録していない，動作のような非言語情報や発話時の対話相手の位置情報が，より正確な状況の把握に必要であることが示唆された. そ れらの情報を取得できるよう基盤の改良を行うこと で，より細かく作業者の行動を把握できると考えら れる。

## 6 おわりに

本研究では，MCを用いた対話データ収集基盤 DDCraft 上で，クラウドソーシングによって状況付 けられたタスク指向型対話の収集を行なった。 その 結果として，ゲーミフィケーションにより作業者が 動機づけられることや，MCを用いることで状況付 けられた対話を周辺情報と共に収集できることが確認できた。一方で，基盤を用いた対話収集における 課題が確認された. 今後は，大規模な対話データ収集のためにこれらの課題の有効な解決方法を検討す る必要がある他，今回収集を行わなかった非言語情報を収集対象に含めるよう基盤の改良を行う。

## 謝辞

本研究は JSPS 科研費 JP19H04167 の助成を受けた ものです.

## 参考文献

[1] Haruna Ogawa, Hitoshi Nishikawa, Takenobu Tokunaga, and Hikaru Yokono. Gamification Platform for Collecting Task-oriented Dialogue Data. In Proceedings of the 12th Language Resources and Evaluation Conference, pp. 7084-7093, Marseille, France, May 2020. European Language Resources Association (ELRA).

[2] Walter Lasecki, Ece Kamar, and Dan Bohus. Conversations in the crowd: Collecting data for task-oriented dialog learning. In In Proceedings of the Human Computation Workshop on Scaling Speech and Language Understanding and Dialog through Crowdsourcing at HCOMP 2013., January 2013.

[3] Daniele Vannella, David Jurgens, Daniele Scarfini, Domenico Toscani, and Roberto Navigli. Validating and extending semantic knowledge bases using video games with a purpose. In Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 1294-1304, Baltimore, Maryland, June 2014. Association for Computational Linguistics.

[4] Mikhail Burtsev and Varvara Logacheva. Conversational intelligence challenge: Accelerating research with crowd science and open source. AI Magazine, Vol. 41, No. 3, pp. 18-27, 2020

[5] Donna K. Byron and Eric Fosler-Lussier. The OSU quake 2004 corpus of two-party situated problem-solving dialogs. In Proceedings of the Fifth International Conference on Language Resources and Evaluation (LREC'06), pp. 395-400, Genoa, Italy, May 2006. European Language Resources Association (ELRA).

[6] Laura Stoia, Darla Magdalene Shockley, Donna K Byron, and Eric Fosler-Lussier. SCARE: A situated corpus with annotated Referring expressions. In Proceedings of the 6th International Conference on Language Resources and Evaluation, LREC 2008, pp. 650-653, 2008.

[7] Susan E Brennan, Katharina S Schuhmann, and Karla M Batres. Entrainment on the Move and in the Lab: The Walking Around Corpus. In Proceedings of the 35th Annual Meeting of the Cognitive Science Society, CogSci 2013, pp. 1934-1939, 2013.

[8] Kris Liu, Jean Fox Tree, and Marilyn Walker. Coordinating communication in the wild: The artwalk dialogue corpus of pedestrian navigation and mobile referential communication. In Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC'16), pp. 3159-3166, Portorož, Slovenia, May 2016. European Language Resources Association (ELRA).

[9] Sebastian Deterding, Dan Dixon, Rilla Khaled, and Lennart Nacke. From game design elements to gamefulness: Defining "gamification". In Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments, MindTrek '11, p. 9-15, New York, NY, USA, 2011. Association for Computing Machinery,

[10] Luis von Ahn and Laura Dabbish. Labeling images with a computer game. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '04, pp.
319-326, New York, NY, USA, 2004. ACM.

[11] Ramesh Manuvinakurike and David DeVault. Pair me up: A web framework for crowd-sourced spoken dialogue collection. In G.G. Lee, H.K. Kim, M. Jeong, and J.H. Kim, editors, Natural Language Dialog Systems and Intelligent Assistants, pp. 189-201. Springer International Publishing, Cham, 2015.

[12] Nicholas Asher, Julie Hunter, Mathieu Morey, Benamara Farah, and Stergos Afantenos. Discourse structure and dialogue acts in multiparty dialogue: the STAC corpus. In Proceedings of the Tenth International Conference on Language Resources and Evaluation (LREC'16), pp. 27212727, Portorož, Slovenia, May 2016. European Language Resources Association (ELRA).

[13] Anne H. Anderson, Miles Bader, Ellen Gurman Bard, Elizabeth Boyle, Gwyneth Doherty, Simon Garrod, Stephen Isard, Jacqueline Kowtko, Jan McAllister, Jim Miller, Catherine Sotillo, Henry S. Thompson, and Regina Weinert. The HCRC map task corpus. Language and Speech, Vol. 34, No. 4, pp. 351-366, 1991.

## 付録：Mansion Task の詳細

本節では，本文中で触れた Mansion Task の設定に ついて述べる. 図 A1 に，作業者二人に分けて与え られる情報を纏めた Mansion Task の地図を示す.こ の地図は, DDCraft の地図画像生成機能が出力した 画像に，矢印や説明書きを加えたものである。これ らの説明は，作業者の発話に影響を与えないよう記号のみで記した。作業者に与えられる際は，一方の 地図には図の “RED” と“YELLOW”に関する説明の みが，もう一方には “BLUE”と “GREEN”に関する 説明のみが記載される。

図 A1 Mansion Task の地図 (作業者二人分の情報を統合 したもの)

このタスクの目的は，スタート地点の目の前にあ るゴールに辿り着くことである。ただし，ゴールの 前には扉があり，作業者らはその扉を開くために四 つあるサブタスクを達成する必要がある. このサブ タスクの達成方法は，すべて「閉ざされた扉を開 け，その奥のレバーを起動する」というものであ る. 扉の開け方はサブタスクごとに異なる. 図 A2 にサブタスクの扉を示す. 各サブタスクの扉の上部 には色のついたマークが記されており，これらはそ れぞれ地図の RED, BLUE, YELLOW, GREEN に対応 している. サブタスクの扉を開けるには，地図の情報に従って仮想世界内の操作可能な物体 (ギミック) を操作する必要がある. Mansion Task のギミックは 三種類あり，右クリックで起動できる「レバー」の 他に，右クリックで起動できるが数秒後に起動状態が解除される「ボタン」，上に乗っている間起動 できる「感圧板」が存在する. 図 A3 にこれらのギ ミックを示す.

次に，各サブタスクの扉を開ける方法について述 べる．RED は，片方の作業者がボタンを押すことで 離れた位置にあるドアを開け，その間にもう一方の

図 A2 サブタスクの扉. 扉の上に色のついたマークが示 されている. 図はRED

図 A3 ギミックの一覧. 左から，ボタン，感圧板， レバー

作業者がドアの奥にあるボタンを押すことで達成で きる．BLUEでは，五つ並んだ感圧板のうち正しい 二つを同時に踏むことでサブタスクを達成できる。 YELLOW は，一方の作業者がある部屋の感圧板を 踏んで別の部屋にあるドアを開け，もう一方がドア の奥にある感圧板を踏むことで達成できるサブタス クである。このサブタスクのみ，二人の作業者らが 別々の部屋で作業を行う．GREEN は，ある部屋の 向かい合う壁にそれぞれ二つと三つ存在するボタ ンの中から，正しい二つを同時に押すことで達成で きる.

RED と YELLOW は同様に「一方が扉を開け，も う一方がその奥のギミックを操作する」というサブ タスクであるが，REDでは作業者らが同じ部屋で 作業を行い，相手の行動を見ることができるのに対 し，YELLOW ではそれぞれ別の部屋でギミックを 操作する必要があり，自分の作業の結果や相手の 動きが見えないという点で異なる。また，BLUE と GREEN はどちらもギミックを同時に操作するサブ タスクであるが，感圧板の上に立ち続けていればよ い BLUE に対し，GREEN はボタンを押した後の数秒間しかボタンが起動状態にならないため，タイミ ングを合わせなければならないという点で異なる.

これらのサブタスクの達成順序は問われないた め，作業者らは自由な順序でそれぞれのサブタスク を行う。


# UserRNN の追加による話者ごとの発話情報を考慮したマルチ ターン対話生成

大西孝宗
岡山理科大学大学院総合情報研究科情報科学専攻
i20im02ot@ous.jp
椎名広光
岡山理科大学総合情報学部情報科学科
shiina@mis.ous.ac.jp

## 1 はじめに

ニューラルネットワークを用いた対話生成におい

て、Encoder-Decoder(Seq2Seq) モデル $[1,2,3]$ の応用 が Vinyals ら [4]により提案されている. 対話は一般的に話者の交代が複数回行われるマルチターンと なっているが、Encoder-Decoder モデルはひとつの入力に対しひとつの出力が対応するため、マルチター ンの対話を扱う場合には複数の発話をひとつにまと めることで入力としている. このため、発話の始め のあたりの情報が失われやすく、しばしば会話の流 れに沿わない応答を生成してしまうことが報告され ている.

これに対し、Serban らによる Hierarchical Recurrent Encoder-Decoder (HRED) モデル [5] は EncoderDecoder モデルを複数個重ねて階層構造をつくる ことでマルチターンの対話に対応したモデルと なっている. 更に Serban らは HRED モデルを改良し、潜在変数を追加することで多様な応答を 生成するモデルとして、Latent Variable Hierarchical Recurrent Encoder-Decoder (VHRED) モデル [6] を提案している。

一方で、これらのモデルは発話したユーザを考慮 していないため、同一の対話のなかで一貫性がない 応答を生成することが課題としてあげられる． Li ら [7] や Bak ら [8] は、応答の生成時にユーザの埋め込 みべクトルを用いることでユーザごとの発話の一貫性を持たせる手法を提案している。しかし、ユーザ の埋め込みベクトルを用意出来ない場合には既存 のモデルと同様に一貫性のない応答を生成してし まう。

本研究ではユーザの埋め込みベクトルを用いるの

図 1 HRED モデル

ではなく、UserRNN を追加することで話者ごとの 発話情報を保持し、一貫性のある応答生成を行って いる.

## 2 関連研究

## 2.1 HRED モデル

HRED モデルはマルチターンの対話のために Encoder-Decoder モデルを拡張した対話生成モデル であり、発話 1 から発話 n-1 までを入力として発話 $\mathrm{n}$ を予測し生成する.

HRED モデルの構造は、Encoder-Decoder モデルを 複数個重ねた階層構造となっており、階層構造中の 各 Encoder-Decoder モデル間は ContextRNNによって 結ばれている. ContextRNN は対話の流れを保持し ている。これによって過去の発話を考慮した応答の 生成を可能としている．HRED モデルの概略図を図 1 に図示する。

図 2 VHRED モデル

## 2.2 VHRED モデル

VHRED モデルは HRED モデルを改良したモデ ルであり、HRED モデルでは “I don't know” のよう な無難な応答を生成してしまうことが多かった が、VHRED モデルでは潜在変数を加えることで ContextRNN に対して確率的なノイズを与え、多様 な応答を生成することを可能にしている．特に、 HRED モデルに比べて長文の応答を生成しやすいこ とが報告されている. VHRED モデルの概略図を図 2 に図示する.

## 3 発話者ごとの対話情報を考慮する ための提案手法

本研究では既存のモデルである HRED モデルおよ び VHRED モデルに対して、話者の発話情報を保持 する UserRNN を追加することで、話者ごとの発話 の一貫性を保った応答の生成を試みている。

## 3.1UserRNN を追加した提案モデル

HRED モデルおよび VHRED モデルに対して UserRNN を追加した提案モデルについて説明する。構成の異なる 3 種類のモデルを提案する。

(1) ContextRNN と UserRNN の出力の和をデコー ダの入カとするモデル エンコーダからの出力 をUserRNNおよび ContextRNN それぞれに入力し、 その出力の和をデコーダへの入力としている. UserRNN は ContextRNN と同一の構造としている. (提案モデル 1 : HRED (Context RNN + User RNN) 図 3 および提案モデル 4 : VHRED (Context RNN + User

図 3 提案モデル 1 : HRED (Context RNN + User RNN) (HRED モデルの構成を ContextRNN と UserRNN の出力の 和をデコーダの入力とするように変更)

RNN))

(2) UserRNN のみの構成に変更したモデル ContextRNN を除き、UserRNN からの出力のみをデコー ダへの入力としている。(提案モデル 2：HRED (User RNN only) 図 4 および提案モデル 5 : VHRED (User RNN only))

(3) UserRNN の出力を ContextRNN に入力するモデ ル 提案モデル 3 の概略図を図 5 に図示する. エン コーダからの出力を UserRNN に入力し、さらにそ の出力を ContextRNNへの入力とする．デコーダへ の入力は ContextRNN からの出力のみとしている. (提案モデル 3: HRED (User RNN $\rightarrow$ Context RNN) 図 5 および提案モデル 6 : VHRED (User RNN $\rightarrow$ Context RNN))

## 4 対話の生成実験と評価

各モデルについてマルチターンの対話応答生成 を行う．データセットには Ubuntu Dialogue Corpus [9] および Cornell Movie-Dialogs Corpus [10] を用い た. Ubuntu Dialogue Corpus はインターネットリレー チャットの Ubuntu チャンネルから 1 対 1 の対話を 抽出したデータセットとなっており、約 100 万件の 対話データが含まれている. Cornell Movie Corpus は 映画の対話を抽出したデータセットであり、約 22 万件の対話データとなっている.

図 4 提案モデル 2: HRED (User RNN only) (HRED モデルの構成を UserRNN のみへ変更)

## 4.1 評価手法

生成した応答文と実際の応答との関連性を評価す るため、Liu らが提案した Embedding-based Metrics [11]を用いて自動評価を行う． Embedding-based Metrics は事前学習済みの単語ベクトルを用いて文 の類似性を評価するものであり、Embedding Average,
Greedy Matching, Vector Extrema の 3 つの算出方法が 提案されている。事前学習済みの単語ベクトルに は、Google News Corpus で学習させた Word2Vec の 単語ベクトルを用いた。

(1) Embedding Average モデルが生成した発話文中の単語ベクトルの平均と、実際の応答文中の単語 ベクトルの平均をそれぞれの文のベクトルとして両者のコサイン類似度を算出しスコアとする。

(2) Greedy Matching 生成文と実際の応答文に含 まれる単語べクトルを比較した際に、最もコサイン 類似度が高くなる単語の組についてそれぞれコサイ ン類似度を算出し、その平均をスコアとする。

Greedy Matching は次の式で表される.

$
\begin{gathered}
G(r, \hat{r})=\frac{\sum_{w \in r} \max _{\hat{w} \in \hat{r}} \text { cos_sim }\left(e_{w}, e_{\hat{w}}\right)}{|r|} \\
G M(r, \hat{r})=\frac{G(r, \hat{r})+G(\hat{r}, r)}{2}
\end{gathered}
$

なお、 $r$ を実際の応答、 $\hat{r}$ を生成した応答とする。

(3) Vector Extrema モデルが生成した発話文およ び実際の応答文について、それぞれの文に含まれる 単語ベクトルの各次元ごとの最大値を用いて文のべ クトルをつくり、生成文と実際の応答文のコサイン 類似度を算出しスコアとする。

Context

hello, guys! i want to know, if i have a debian vps, how can i install ubuntu to replace debian? $\rightarrow$ hmm.. wipe and reinstall is the safest way to do it. but it's not the only way. but it is the only way to be absolutely sure. $\rightarrow$ i've only got ssh access to it : $\rightarrow$ why're you downgrading any how?

hello, guys! i want to know, if i have a debian vps, how can $\mathrm{i}$ install ubuntu to replace debian? $\rightarrow \mathrm{hmm}$.. wipe and reinstall is the safest way to do it. but it's not the only way. but it is the only way to be absolutely sure. $\rightarrow$ i've only got ssh access to it : $\rightarrow$ why're you downgrading any how?

図 5 提案モデル 3：HRED (User RNN $\rightarrow$ Context RNN) (HRED モデルの構成を UserRNN の出力を ContextRNN に 入力するよう変更)

Vector Extrema は次の式で表される.

$
e_{r d}= \begin{cases}\max _{w \in r} e_{w d} & \text { if } e_{w d}>\left|\min _{w^{\prime} \in r} e_{w^{\prime} d}\right| \\ \min _{w \in r} e_{w d} & \text { otherwise }\end{cases}
$

## 4.2 実験結果

## 4.2.1 Embedding-based Metrics による評価

モデルに入力するコンテキストのターン数が 1 ターンの場合と 5 ターンの場合について評価を行っ た. 各モデルの Embedding-based Metrics によるスコ アを表 1 に示す.

1 ターンの場合には既存のモデルに比べ、おおむ ね提案モデルのスコアが上回っている. 特に Ubuntu コーパスでは、VHRED モデルの構成をUserRNN の

## Response

HRED モデル: $i$ ' $m$ trying to upgrade from 8.04 to 8.10 提案モデル 1:i want to upgrade to breezy

提案モデル 2:i m trying to get my <unk> to work with the latest version of the kernel and the <unk> <unk> <unk>提案モデル 3:because i want to install a new version of ubuntu, and i want to install a newer version of ubuntu, and $i$ want to install ubuntu on

VHRED モデル because the ubuntu server is only updated, which are you currently in the boot order?

提案モデル 4:what do you mean

提案モデル 5:because i don't want to upgrade to edgy , because i can't get it to work

提案モデル 6:because i want to upgrade to the latest version of apt get, and it 's just that they have broken dependencies, so if it fails

みに変更を加えた提案モデル 5 のスコアが良い.

一方で、5 ターンの場合ではスコアの改善はあま

り見られず、提案モデルのスコアが既存のモデル

のスコアを僅かに下回る場合が多い. 特に Ubuntu

コーパスにおいて VHRED モデルの構成を UserRNN

のみに変更を加えた提案モデル 5 のスコアは他の モデルに比べて大きく下回っている.このことは、 ContextRNN がないことによって対話全体の流れを 保持することが出来ず、結果としてコンテキストの ターン数が増えた場合の応答生成が困難になってい る可能性を示している。

## 4.2.2 応答文の生成例について

Ubuntuコーパスを用いた各モデルの応答文の生成例を表 2 に示す. HRED モデルおよび HRED モ デルを変更した提案モデル $1,2,3$ はコンテキストに まったく沿わない応答や文としておかしい応答が見受けられる. VHRED モデルおよび VHRED モデル を変更した提案モデル 4,5,6 については、比較的に コンテキストにふさわしい応答を生成している。一方で、UserRNN の追加による差は少ない.

## 5 まとめ

UserRNN の追加によって、生成した応答と実際の 応答との関連性の向上に一定の効果は得られた.し かしながら、一貫性のある応答の生成という点は、 Embedding-based Metrics では評価が難しく、コンテ キストと生成した応答の関連性についての評価や、人手による評価によって、UserRNN の追加による応答生成への影響を詳しく調べる必要がある.

## 参考文献

[1]Ilya Sutskever, Oriol Vinyals, and Quoc V Le. Sequence to sequence learning with neural networks. In Advances in Neural Information Processing Systems 27 (NIPS 2014), pp. 3104-3112, 2014.

[2]Thang Luong, Hieu Pham, and Christopher D. Manning. Effective approaches to attention-based neural machine translation. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 1412-1421, Lisbon, Portugal, September 2015. Association for Computational Linguistics.

[3]Alexander M. Rush, Sumit Chopra, and Jason Weston. A neural attention model for abstractive sentence summarization. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 379-389, Lisbon, Portugal, September 2015. Association for Computational Linguistics.

[4]Oriol Vinyals and Quoc V. Le. A neural conversational model. In ICML Deep Learning Workshop, 2015.

[5]Iulian Vlad Serban, Alessandro Sordoni, Yoshua Bengio, Aaron C. Courville, and Joelle Pineau. Building end-to-end dialogue systems using generative hierarchical neural network models. In Dale Schuurmans and Michael P. Wellman, editors, Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, February 12-17, 2016, Phoenix, Arizona, USA, pp. 3776-3784. AAAI Press, 2016.

[6]Iulian Vlad Serban, Alessandro Sordoni, Ryan Lowe, Laurent Charlin, Joelle Pineau, Aaron C. Courville, and Yoshua Bengio. A hierarchical latent variable encoder-decoder model for generating dialogues. In Satinder P. Singh and Shaul Markovitch, editors, Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, February 4-9, 2017, San Francisco, California, USA, pp. 3295-3301. AAAI Press, 2017.

[7]Jiwei Li, Michel Galley, Chris Brockett, Georgios Spithourakis, Jianfeng Gao, and Bill Dolan. A personabased neural conversation model. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 994-1003, Berlin, Germany, August 2016. Association for Computational Linguistics.

[8]JinYeong Bak and Alice Oh. Variational hierarchical user-based conversation model. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp. 1941-1950, Hong Kong, China, November 2019. Association for Computational Linguistics.

[9]Ryan Lowe, Nissan Pow, Iulian Serban, and Joelle Pineau. The Ubuntu dialogue corpus: A large dataset for research in unstructured multi-turn dialogue systems. In Proceedings of the 16th Annual Meeting of the Special Interest Group on Discourse and Dialogue, pp. 285-294, Prague, Czech Republic, September 2015. Association for Computational Linguistics.

[10]Cristian Danescu-Niculescu-Mizil and Lillian Lee. Chameleons in imagined conversations: A new approach to understanding coordination of linguistic style in dialogs. In Proceedings of the 2nd Workshop on Cognitive Modeling and Computational Linguistics, pp. 76-87, Portland, Oregon, USA, June 2011. Association for Computational Linguistics.

[11]Chia-Wei Liu, Ryan Lowe, Iulian Serban, Mike Noseworthy, Laurent Charlin, and Joelle Pineau. How NOT to evaluate your dialogue system: An empirical study of unsupervised evaluation metrics for dialogue response generation. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pp. 2122-2132, Austin, Texas, November 2016. Association for Computational Linguistics.


# 駐車記録を支援する車載器における対話アーキテクチャ

徳久雅人 木村周平
鳥取大学 工学部
tokuhisa@tottori-u.ac.jp

## 1. はじめに

本研究では, 自動車旅行を支援する車載器の開発 を進めている[1]. 車載器はユーザに音楽再生や観光ガイド[2]などのサービスを提供する．ユーザと 同行することでユーザに適したサービスとしたい. ユーザ適応のためにユーザに関する情報が必要であ る. 本稿ではユーザの情報として駐車地点名および 駐車期間中の事態 (ユーザの体験や感想等)を扱う.

駐車地点名および事態は, ユーザから入力される. しかし,ユーザは乗車時に入力し忘れることがある. そこで，ユーザからの入力（ユーザ主導対話）を待 つだけでなく, 車載器（システム）からユーザに問 い掛けを行うこと（システム主導対話）を可能とす る対話アーキテクチヤの構築を本稿の目的とする.

本稿では, 欲求・感情を考慮した処理部で対話ア ーキテクチャを構成することを提案する．ユーザ主導対話のためには認識およびサービスの処理部を働 かせ, またシステム主導対話のためには欲求に起因 する対話管理を追加して働かせる. さらに，対話行為の論理的な側面だけでなく感情の主観的な側面も 含めた素性設計により, 対話管理モデルの機械学習 を容易に実現する方法を示す。

## 2. 対話アーキテクチャ

車載器の対話アーキテクチヤを, 岡田の心のモデ ル[3]をベースにした処理部で構成する（図 1). 本章では，処理部の動きを対話例に沿って概説する。

対話例 1：ユーザ主導対話

1User（以下 U）: Wikipedia で検索してください 2System（以下 S）: 何を調べますか

3U: 鳥取砂丘です

(S: 鳥取砂丘のページを読み上げる)

ユーザの発話 (1U) を認識部が解析する. 観光ガイ ドサービスの検索メソッドが起動する．クエリをユ ーザに質問する (2S). $3 \mathrm{U}$ を受けて認識部は観光ガ イドサービスに「鳥取砂丘」を添えてコールする。観光ガイドサービスがガイドを始める[4].

対話例 2 : システム主導対話

（初期：駐車地点名が未登録である。）

図 1. 心のモデルに基づく対話処理部の構成

1S: 駐車地点名を教えて下さい

2U:ここは砂の美術館です

（S: 地点名を車載モニタに表示する）

初期状態は走行軌跡サービス (ServiceTraceDB) に問い合わせることで得られる。欲求部がその確認結果 (未登録)を受けてプラン部に反応を要請する.反応として ServiceTraceDB に地名の推定値を要求する。推定値がないので質問する(1S). $2 \mathrm{U}$ を受 けて，地点名をServiceTraceDB に登録する。

## 対話例 3：感情の関わり

$1 \mathrm{U}:$ ここはエスマート湖山店です

（S: 駐車地点名を登録する.

事態が未登録である。事態を推定する.)

2S: 食品を買いましたか

3U: はいそうです

（S: 事態を車載モニタに表示する）

ユーザ主導で駐車地点名が登録される(1U). 欲求部は事態が未登録であることを受けてプラン部に反応を要請する。その結果, ServiceTraceDB に事態 の推定値を要求する。過去の「エスマート湖山店」 での記録から事態が推定できたので，感情部が期待 を生起させる．期待できるので推定值を用いた確認 を発話する(2S).

## 背景にある処理

認識部, サービス部, 欲求部, 感情部の処理結果 は言語部に報告される。言語部は対話文脈部やプラ ン部に報告を配信する。対話文脈部は対話処理用に
報告を取捨選択しシステムの状態としてまとめ, プ ラン部に提供する. プラン部はシステムの振る舞い にタイミングを合わせてアクションを実行する.

## 3. システム主導と対話管理

本章では，情報収集のための車載器において，シ ステムが対話を動機付ける部分, および，状況に応 じて対話の進行を管理する部分について説明する.

## 3.1 欲求による動機付け

本稿では車載器に次の 2 つの欲求を設ける。
- 駐車地点名 (parking) を知る欲求
- 駐車期間中の事態 (affairs) を知る欲求

なお，欲求の生起については 4 章で述べる.

## 3.2 管理されるアクション

欲求を基準にアクションを定義する。「Xを知る 欲求」に対応するアクションの一覧を付録 A1 に示 す.「act_」はシステムが行うアクション,「res_」 はユーザが行うアクションである. アクションのタ イプとして, 質問 (ask), 確認 (confirm), 伝達 (inform), 肯定や同意 (yes), 否定や拒否 (no), 不明 (unknown), 主張の取り込み (acknowledge), およ び, 話題終了 (close) がある. 一般に対話行為と 呼ばれる. 話し手から聞き手に向けられるため, 本稿では「外向きのアクション」と呼ぶ. さらに，「内向きのアクション」を導入する。「infer」は推論 を行らアクションでありシステム内部での動きを指 す. 推論処理は負荷が高いため頻繁に実行してはい けない. 発話のタイミングに合わせて実行すること が適切であるため, 管理されるアクションとする.

## 3.3 アクション選択の基準と素性

アクションの選択基準として以下を設ける.

(a) 論理的基準

(b) 主観的基準

## 3.3.1 論理的基準と素性

論理的基準は, (a1) 行為に必要な事柄, (a2) 行為 により確定する事柄, および, (a3) 重複発話の回避 のための事柄がある.

例えば，「駐車地点名の確認」の行為は「ここは エスマート湖山店ですか」という発話文に対応する のだが，確認内容として具体的な店名が得られてい ること，および，何度も確認しないことに注意して 選択される. 他に, 「駐車地点名の肯定」（はい，そ うです) の行為は, 「仮定された地点名」があると きに意味をもつ行為であり, 行為の結果, 「真の地点名」が得られることになる.

論理的基準を扱うために素性として以下の 3 つを 導入する.

-var_temp_ $X=0$ or $1: X$ の仮り值を有するか
- var_real_ $X=0$ or $1: X$ の真値を有するか
- hst_ $A_{-} X=0$ or $1: X$ の行為 $A$ を実行したか

ここで $X$ は欲求内容 \{parking, affairs\}, $A$ はア クションタイプ \{infer, ask, .., close \} である.

## 3.3.2 主観的基準と素性

発話を選択する理由が多様である。例えば，駐車地点名が推定されているとき，「エスマート湖山店 ですか」とも「ここはどこですか」とも尋赦ること ができる。地点名を言うことが面倒だったり, 珍し い名前なので無理に言ってみたりするのかもしれな い. 細かな事柄を素性に入れることができれば良い が, 車載器のサービスと釣り合う実装作業であるか を考えておきたい. 本稿では, 感情というラベルで 細かな状況をまとめることとし, 非 end-to-end 型コ 一パスベース機械学習において簡単に学習データを 作成できることを狙う.

主観的基準は，(b1）欲求，および，(b2) 感情であ る. 欲求は, 既に述べた 2 つを本稿では扱う. 感情 は，「ユーザから事態についての返事が得られる期待」を扱う。素性として以下の 2 つを導入する。

-desire_know_ $X=0$ or $1: X$ を知る欲求が生起
- emotion_expectancy_response_affairs $=0.0 \sim 1.0$ : 上記の期待が生起

## 3.3.3 アクション知識の記述

対話管理での選択において, 複数欲求の生起に対 しての選択，アクション間の選択，対話継続の選択 などが多様にあるように見えるかもしれない。これ らを考慮してアクション知識を記述するのだろう か? 本稿ではそうせず，1 つのアクションの知識に はそのアクションのためだけの条件的な記述を行う こととする．他のアクションとの競合解消は, 対話文脈で得られる全体的な状態における識別問題とし て扱う。

アクション知識には，プランニングに用いられる

「前提」と「効果」の属性を参考にする。しかし，本稿は, ゴール状態を目指す効果やその前提を連鎖 させるプランニングを行うものではない.

論理的基準のための素性を，前提と効果の位置に 記述する. 欲求の素性を, 前提の位置に記述する.感情の素性は, 必ずしもアクションの知識に記述す るわけではない。

具体例を付録 A3，A4 に示す. 前者は駐車地点名

を推定するアクションの知識である. 内向きのアク ションである (:inward). 前提 (precondition) に は, 駐車地点名を知る欲求の生起, 仮りの駐車地点名が無いこと, 真の駐車地点名が無いこと, 駐車地点名の推論が未実行であることが記述されている.

効果 (effect) には，推論が実行済みであること，

仮りの駐車地点名が推論処理に応じて決まること (exsit)が記述されている。

## 3.4 論理と諸事情を考慮した学習

アクション選択を対話状態からの識別問題として 扱う。まず，対話文脈として徐々に送られてくる素性 feature を蓄積する. 次に, アクション選択の要請があると, 素性をまとめて対話状態 state に変換 し, 状態に応じてアクションの予測を行う.

$
\begin{gathered}
\text { action }^{*}=\underset{a \in \text { Actions }}{\operatorname{argmax}} \operatorname{Predict}(a \mid \text { state }) \\
\text { state }=\operatorname{vector}(\text { feature }, \ldots)
\end{gathered}
$

学習用のコーパスには, 初期設定として欲求や感情の素性を記入できる. 対話の進行に合わせてシス テムやユーザの発話に対応するアクションを記述で きる. 対話の途中で生起する感情や推定される感情 などの処理結果も素性として追記できる.

コーパスからの学習データの自動生成を次の手順 で行う（図 2).まず, 初期設定の素性に, 最初の システムのアクションの前提に記述されている素性 を重ねる。得られた素性集から状態べクトルを生成 する. この状態ベクトルを入力状態とし, システム のアクションを出力目標とするぺアを，学習データ に加える. 次に, システムの 2 番目のアクションの ための状態べクトルは, 先ほど得た素性集合に最初 のアクションの効果に記述されている素性を重ね, さらに 2 番目のアクションの前提の素性を重ねるこ とで生成する. 状態ベクトルと 2 番目のアクション のぺアを学習データに加える。なお，ユーザのアク ションや各種処理による素性を重ねられる。

## 3.5 プラン実行における同期と割り込み

プラン部の処理は図 3 の状態遷移に従う. システ ム全体の状態は言語部からの配信を通じて把握す る.そのためアクションの実行結果が得られてから， その影響がシステム全体に伝わり終えるまでを考慮 した同期が必要である.

しかし, 感情や欲求に対応した判断はこうした同期にさらに割り込むものである. そこで, 欲求・感情の状態は言語部の配信と異なる経路でプラン部に 伝わるようにしている。これにより, 生起や躊薯に 敏感に反応してアクションの中止が可能となる.

図 2.コーパスからの学習データの生成

図 3 プラン部の状態遷移図

## 4. 対話に至る処理

2 章で処理の全体像を示し, 3 章で対話処理の中心部として欲求の生起後からアクション選択までの 部分を示した. 本章では, 欲求の生起前について処理部ごとに説明する.

## 4.1 サービス部

サービス部の影響で, 感情や欲求が生起するので, まずはサービス部を説明する。走行軌跡サービス ServiceTraceDB は走行軌跡の保存と検索を行う.自動車のエンジンの始動から停止までの地点の時系列を 1 つの軌跡とする．地点は約 $100 \mathrm{~m}$ 毎に記録す る. 駐車地点には地点名および事態を記録する。同 じ地点名を有する近隣地点の集合を場所として記録 する.ユーザとともに訪れた施設などの場所が管理 できる[5].

本稿では以下の 4 つの機能を使用する.
地点名検索: 指定地点の地点名を返す.

事態検索: 指定地点に登録された事態を返す。

地点名推定: 指定座標を含む場所の地点名を返す。

事態推定: 指定座標を含む場所の事態を返す.

2 つの検索は, 単に登録された値を返す. 駐車地点名を知る欲求, 事態を知る欲求の直接の生起要因 となる。地点名推定は, 座標に関するガウス分類器 により指定座標が強く属する場所 (地点のクラスタ) を識別し, その場所の名前を返す. 事態推定は同様 に場所を識別し，その場所を構成する地点における 事態集を返す.

事態推定においては，未登録頻度，高頻度語（一般名詞 $N$, 开変接続名詞 $N S$, 自立動詞 $V$ ), 高頻度語 を含む単語 Trigram $(N+P+V, N+P+N S$. ただし $P$ は 助詞）を求める。例えば，「エスマート湖山店」の 事態推定を行うと, 高頻度語が「買う」であり高頻度の Trigram が「食品を買う」となる。

## 4.2 感情部

システムの感情の生起を処理する．処理の原理は 生起要因を検出する処理を，検出先のモジュールに 組み込む形式である[6].

期待の感情「ユーザが事態を答える」の生起を EmotionExpectancyResponseAffairs が担当す る. その生起は, 4.1 節で示した事態推定の内容に 基づく方法である. Trigram が得られた場合を期待 1.0, Trigram は無いが高頻度語が得られた場合を期待 0.8 , 未登録頻度の方が高いが訪問頻度が低い地点であれば期待 0.3 , 未登録頻度が高く訪問頻度が 高い地点であれば期待 0.0 とする. 期待の度合いは 現在のところ試験的に与えた。

## 4.3 欲求部

システムの欲求の生起・躊躇・充足を処理する.欲求は充足されていない状況が続くことで生起への 度合いが高まるものとした。時間周期で活性化する スレッドにより状況を検查し，閾値を超えることで 欲求の生起とする.

駐車地点名を知る欲求 DesireKnowParking およ び駐車期間での事態を知る欲求 DesireKnowAffairs を，4.1 節の地点名検索および事態検索をそれ ぞれ用いて実装する.

自動車のエンジンを始動後, 車載器が起動する.

一ザ主導による地点名・事態の入力が無いと判断す る時間の設定は試験的に与えている.

ユーザの応答が事態入力を拒むものであれば，知
る欲求は躊躇の状態となり, システム主導の対話が 中止となる。躊躇基準によりシステムの主張の強さ という性格付けを行うことが可能である.

## 5. 動作確認

学習データの規模は, 素性 57 次元, アクション 41 次元, ペア数 52 件であった (本稿以外の素性・ア クションを含む）．走行試験にて欲求生起による駐車地点名や事態の問い掛けを確認した。感情の効果 として, 車載器からの質問の抑制が見られた。例え ば，自宅において，事態がほぼ登録されていないた め期待されず，質問されなかった。

## 6. おわりに

本稿では，車載器に駐車記録を登録するための対話処理のアーキテクチャを示した。構築すべきもの としてアクション知識とコーパスがあるが，知識は アクションの論理を注意するのみであり，アクショ ン間や欲求間の競合はコーパスからの学習を通じて 解決されるため, 実装しやすくできた. 今後は欲求 の種類を追加しスケジュールの聞き取りを行う.

## 謝辞

本研究は JSPS 科研費 JP19K12548 の助成を受け たものです.

## 参考文献

[1] 徳久雅人，木村周平: 旅行支援のための情報を提示する車載器の試作, 観光情報学会第 14 回研究発表会講演論文集, pp.5-8, 2016.

[2] Tokuhisa, M., Ishihara, Y., Kimura, S., Oku, K.: Recommending Paragraphs of Wikipedia Pages as a Travel Guide, Proc. of IEEE 9th International Workshop on Computational Intelligence and Applications, pp.57-62, 2016.

[3] 岡田直之: 語の概念の表現と蓄積, 電子情報通信学会, コロナ社, 1991.

[4] 徳久雅人, 木村周平: 小型計算機におけるサービ 又指向発話文解析，自然言語処理，26 (3), pp.545-578, 2019.

[5] 德久雅人, 木村周平: 自動車旅行の走行軌跡と走行目的の収集支援 - - - 地点名について, 観光情報学会第 20 回研究発表会講演論文集, pp.9-12, 2019.

[6] 徳久雅人, 岡田直之: パターン理解的手法に基づ く知能エージェントの情緒生起, 情報処理学会論文誌, 39 (8), pp.2440-2451, 1998.

## 付録

A1.「Xを知る欲求」に対応するアクション

$※ X \in\{$ parking, affairs $\}$

act_はシステムの行為, res_はユーザの行為

act_infer_ $X: X$ を推定（内向きの行為）

act_confirm_ $X: X$ を確認 (Yes/No 質問)

act_ask_ $X: X$ を質問 （具体值を尋敞る）

act_ask_another_ $X$ : 他の $X$ を質問

act_acknowledge_ $X$ : ユーザの発言を受理

act_close_ $X$ : $X$ の話題をやめる

res_yes_ $X$ : 確認内容 $X$ は正しい

res_no_ $X$ : 確認内容 $X$ は誤り

res_unknown_ $X$ : 確認内容 $X$ は不明

res_inform_ $X$ : $X$ の具体値を伝達

res_close_ $X$ : $X$ の話題をやめる

## A2. 対話文脈を構成する素性

var_temp_ $X=0$ or 1

var_real_ $X=0$ or 1

hst_ $A_{-} X=0$ or 1

desire $X=0$ or 1

emotion_E_T=0.0 1.0

$※ A \in\{$ infer, confirm, ask, ask_another, acknowledge, close $\}$

$※ E \in\{$ expectancy \}

$※ T \in\{$ response_affairs $\}$

## A3. アクション知識の例 1

acFrame(

\# name

"act_infer_parking",

\# desire

"desireKnowParking",

\# executor

"serviceTraceDB", "actInferParking",

\# direction

:inward,

\# precondition

[ "desire_know_parking=1",

"var_temp_parking $=0$ ",

"var_real_parking $=0$ ",

"hst_infer_parking=0" ],

\# effect

[ "hst_infer_parking=1",

"var_temp_parking=exist(infer_parking)"])

## A4. アクション知識の例 2

acFrame(

\# name

"act_confirm_parking",

\# desire

"desireKnowParking",

\# executor

"serviceTraceDB", "actConfirmParking",

\# direction

:outward,

\# precondition

[ "desire_know_parking=1",

"var_temp_parking=1",

"var_real_parking=0",

"hst_confirm_parking=0" ],

\# effect

[ "hst_confirm_parking=1" ])

## A5. アクション知識の例 3 (抜粋)

acFrame(

"res_yes_parking", - - -,

\# precondition (effect で改訂される場合, 不要)

\# effect

[ "var_temp_parking=1",

"var_real_parking=1"])

A6. コーパスの例

dialogue step actor utterance action

$11 \mathrm{~S}$ " " desire_know_parking=1

$2 \mathrm{~S}$ "" act_infer_parking

$3 \mathrm{~S}$ "ここは<loc>エスマート湖山店</loc>ですか"

act_confirm_parking

4 U "はいそうです" res_yes_parking

$5 \mathrm{~S}$ "" desire_know_affairs=1

$6 \mathrm{~S}$ " " act_infer_affairs

7 S "何をしましたか" act_ask_affairs

$21 \mathrm{~S}$ " " desire_know_parking=1

$2 \mathrm{~S}$ "" act_infer_parking

3 S "ここはどこですか" act_ask_parking
- - - 略 - - -

$141 \mathrm{~S}$ " " desire_know_affairs $=1$

$2 \mathrm{~S}$ " " act_infer_affairs

$3 \mathrm{~S}$ " " emotion_expectany_response_affairs $=1.0$

$4 \mathrm{~S}$ "" act_confirm_affairs

$151 \mathrm{~S}$ " " desire_know_affairs $=1$

2 S" " act_infer_affairs

$3 \mathrm{~S}$ " " emotion_expectany_response_affairs $=0.3$

$4 \mathrm{~S}$ " " act_ask_affairs

※ 発話文は参考表現（無記入可）.

※ 対話文脈の部分を与えることが可能.


# SentencePiece を用いたキャラクターの特徴語抽出

岸野望叶
茨城大学工学部情報工学科
17t4036s@vc.ibaraki.ac.jp
}

古宮嘉那子
茨城大学理工学研究科工学野情報科学領域
kanako.komiya.nlp@vc.ibaraki.ac.jp

## 1 はじめに

自然言語処理の分野では、ジェンダー、または年代などのキャラクターの特徴表現に注目した研究 がなされている。しかしこれらの特徴語は、主に年代やジェンダーの分類にとどまり、個々のキャラク ターの特徴的な話し方については注目されてこな かった。そこで本研究では、年代やジェンダーに限 らずどのような言葉がキャラクター性を表している かを抽出、分析した。

Mecab などの従来の形態素解析器では、キャラク ターのセリフのような砕けた表現や、辞書に載って いないキャラクター固有の語尾などの分割が上手く できない。そのため、SentencePiece を使ってセリフ を分割することで頻出する文字列の並びとしてセリ フから特徴的な部分を切り出すことでよりキャラク ター性をとらえた表現の抽出を行う手法を提案す る。また、 $\mathrm{TF}$ ・IDFにより、性別、年代別、キャラ クター別に特徴づける部分の重み付けを行い、それ ぞれの特徴にあった言語表現の抽出を行った。

## 2 関連研究

宮崎ら [1] は、部分的に発話を書き換えることに よって話者のキャラクタ性を表現する技術の実現 を目指し、話者のキャラクタ性に寄与する言語表現 の基礎的分析を行った。また、宮崎らのその後の研究 [2] では対話エージェントに発話にキャラクタ性 を付与し、かつバリエーションを豊かにする方法と して、各文節の機能部を目的のキャラクタに適した 確率で適した表現に書き換え、キャラクタ性が読み 手に伝わるかの実験を行った。また、音変化表現に 注目し、それらを収集、分類を行った論文もある ([3])。また、奥井ら [4] はポインタ生成機構から、複数の異なるキャラクター応答を参照しながら少量 データで学習する研究を行っている。

## 3 SentencePiece による特徵的な単語の抽出

キャラクターのセリフは、語尾にキャラクターの 特徴を表す言葉がついていたり、砕けた表現だっ たりと、辞書に載っていない単語も多く出現する。 ゆるキャラの「ふなっしー」のように、語尾に「〜 なっしー」とつけるようなものや、「危ない」という 単語を「危ねえ」と変化していたりなどが例に挙げ られる。そのため、辞書を使った既存の形態素解析 では上手く特徴をとらえキャラクターのセリフ分割 することが難しいと考えられる。そこで本稿では、 SentencePiece によってキャラクターコーパスを分割 し、それによって得た単語を TF・IDFによって重み 付けすることで、キャラクターの特徴と言える部分 を抽出する手法を提案する。

手法の評価のため、求めた $\mathrm{TF}$ ・IDF の値を入力べ クトルとしてサポートベクターマシン（SVM）で性別、年代の分類を行い、既存の形態素解析器と比較 した。

## 4 コーパス

インターネットから 22 作品、100人のキャラク ターのセリフを収集した。以下このセリフ集をキャ ラクターコーパスと呼ぶ。収集方法には、以下の三 つを利用した。

1. インターネットに載っているアニメ・ゲームの セリフのまとめサイトから収集

2. アニメ動画サイトから得る

3. 漫画の電子書籍から、文章検出アプリを使って テキスト化

キャラクター選ぶ際は、作品内でセリフの多いキャ ラクターを優先的に集めた。また、メインキャラク ターとして出てくるキャラクターの年代は少年や青年に分類される者が多くなることが予想されたた め、老人や子供に分類されるキャラクターでセリフ の量が多いキャラクターは優先的に選出した。

## 5 キャラクターの特徵語抽出の実験

## 5.1 SentencePiece による特徵語抽出

SentencePiece とは、文章から直接分割方法を学習 し、文章をサブワードへ分割するものである。サ ブワードとは、事前に単語の出現頻度を調べ、出現頻度の低い単語は文字やより小さい単語に分解 するという考え方である。つまり SentencePiece で は、辞書に載っている単語ではなく、出現頻度が高 い文字列を1つの単語として扱う。この実験では、 SentencePiece の Python モジュールを利用した。1)

SentencePiece による特徴語抽出の手順は以下の通 りである。まず作成したキャラクターコーパス全体 を入力とし SentencePiece で分割モデルを作成する。 この際単語数は 1 万個に設定した。また同時に単語 リストも作成した。作成した単語リストから、漢字 1 文字の単語を削除した。これは漢字 1 文字の単語 はキャラクター性を表すことはないと考えたから である。次に作成した分割モデルを使ってキャラク ターコーパスを分割する。作成した単語リストと分割したキャラクターコーパスを使って TF・IDFを求 める。TF・IDF は次の式で求めた。

$
t f(t, d)=\frac{n_{(t, d)}}{\sum_{s \in d} n_{(s, d)}}
$

$t f(t, d)$ : 文書 $d$ 内のある単語 $t$ の $T F$ 値 $\left.n_{(} t, d\right)$ : ある単語 $t$ の文書 $d$ 内での出現回数 $\sum_{s \in d} n_{(}(d)$ : 文書 $d$ 内のすべての単語の出現回数 の和

$
i d f(t)=\log \frac{N}{d f(t)}
$

$i d f(t)$ : ある単語 $t$ の $I D F$ 値

$N$ : 全文書数

$d f(t)$ : ある単語 $t$ が出現する文書の数

$
T F \cdot I D F=t f(t, d) \cdot i d f(t)
$

性別ごとの特徴語の抽出は、割合を使った方法 と、 $\mathrm{TF}$ ・IDFを使ったやり方の二通りの方法で行っ た。割合を使う方法は、

$
\frac{\left.n_{(} t, d 1\right)}{\left.n_{(} t, d 2\right)}
$

$\left.n_{(} t, d 1\right)$ : ある単語 $t$ の文書 $d 1$ 内での出現回数 $\left.n_{(} t, d 2\right)$ : ある単語 $t$ の文書 $d 2$ 内での出現回数 の式で求めた。この際、 $\mathrm{d} 1$ と $\mathrm{d} 2$ は男性または女性 の全キャラクターのセリフ集とする。片方の出現回数が 0 回の単語は、 0 の代わりに 0.001 で計算を行 い、スムージングを行った。(4) 式は数値が大きく なるほど、その単語は片方の性別のみによく使われ ていることを示す。

性別の TF・IDF 値を求めるときは、どちらかの性別の全キャラクターのセリフを 1 文書とし、対する 性別は各キャラクターのセリフをそれぞれ 1 文書と する。年代別の際は、各年代のキャラクターのセリ フを 1 文書とした。キャラクターごとの際は、キャ ラクターコーパス全体を全文書、各キャラクターの セリフを 1 文書とした方法と、キャラクターコーパ スを作品ごとに分け、作品ごとのセリフを全文書と し、その中での各キャラクターのセリフを 1 文書と する方法の 2 通りで行った。以降前者を全文書、後者を作品別文書と略記する。

## 5.2 Mecab による特徴語抽出

キャラクターコーパスを Mecabを使って分割し、分割されてできた単語を集めた Mecab 単語リストを 作成した。SentencePiece と同様に、性別、年代別、 キャラクター別で TF・IDFを求めた。

## 6 結果

得られた単語の $\mathrm{TF} \cdot \mathrm{IDF}$ 値上位 10 単語を表 1-4 に示す。また、キャラクター別の特徴は、一部を結果例として載せる。例として挙げるキャラクター は、アニメ「約束のネバーランド」からエマ、アニ メ「エヴァンゲリオン」からシンジ、ゲーム「ドラ ゴンクエスト」からヤンガスである。

## 7 SVM による分類実験

求めた TF・IDF 值を入力として SVMを用いて性別、年代の分類をした。性別は、男性、女性、その 他の 3 種類に分類をおこなった。アニメなどに登場 するキャラクターには、性別不明のキャラクターも いるが、そのような場合はその他に分類する。年代 は、1. 子供 ( 12 歳)、2. 少年 ( 12 歳 17 歳、 18 歳 の学生)、3. 青年 (18 歳 29 歳)、4. 大人 (30 歳 49 歳)、5. 老人 (50 歳〜) の 5 種類に分類を行った。

実験は 5 分割交差検証により行った。比較に用い 丞既存の辞書を使った形態素解析器には Mecabを

SentencePiece

Mecab

表 1 性別特徴語

表 2 年代別特徴語

表 3 キャラクター別特徴語全文書

表 4 SentencePiece キャラクター別特徴語作品別文書

利用した。この実験では、sklearnをライブラリとし て利用した2)。SVM の入力は、キャラクター 1 人を 1 ベクトルとした。性別の分類では SentencePiece で 得られた全単語の TF・IDF 值を入力した場合、TF・ IDF 値の男女それぞれ上位 1000 単語を大力とした 場合、Mecab で得られた単語を入力とした場合で比較する。年代の分類では、SentencePiece で得られた 全単語の TF・IDF 值を入力した場合、TF・IDF 值 の各年代それぞれ上位 500 単語を入力とした場合、 Mecabで得られた単語を入力とした場合で比較を 行った。

性別、年代の分類結果は以下の表 7-8 に示す。

表 5 性別データ数

表 6 年代別データ数

## 8 考察

表 1 から SentencePiece を用いて抽出した特徴語 のほとんどが性別に特徴的な単語であること、ま た、特に一人称や語尾が特徴として抽出されやす いことが分かった。また SentencePiece では、「でが す」「わよね」「のね」などのような辞書に載ってい ない表記も取ることができた。年代別の特徴語は、 SentencePiece、Mecab どちらも固有名詞が多く、特徴的な表記を取ることができなかった。その理由と しては、年代ごとに共通する表記が少なかったこと が考えられる。また、大人世代と老人世代は一見固

2) https://sklearn.org/

表 75 分割交差検証性別分類

表 85 分割交差検証年代別分類

有名詞が少なく特徴語が取れているようにみえる が、これは年代の特徴というより、その年代の中の あるキャラクターの特徴である。このような結果に なった要因として、大人世代と老人世代は人数が少 なかったこと、その中でもキャラクターのセリフ量 にばらつきがあり、セリフの多いキャラクターの特徵になってしまったことが挙げられる。キャラク ター別の特徴語は、こちらも SentencePiece、Mecab 両方で固有名詞や一般名詞がよく出てきた。しか し、Mecab のほうでは「アッシ」という単語が「アッ シ」だったり「シ」だったりと、文脈によって分割 のされ方が変わってしまった。SentencePiece の手法 では、キャラクターコーパスを作品ごとに分け、そ の中で $\mathrm{TF}$ ・IDF 値をとることで、表 4 のように、よ り特徴とは言えない固有名詞や一般名詞を削除し、特徴語のみをとることができた。

SVM の結果を見ても性別年代別共に SentencePiece で分割した全単語の TF・IDF 值を入力としたときが 最もよい精度となった。

## 9 まとめ

本稿では、SentencePiece を用いてアニメなどの キャラクターのセリフを分割し、TF・IDF 值で重み づけをすることによって、既存の辞書を用いた形態素解析器ではとれなかったキャラクターに固有の特徴語を抽出したことを示した。また、抽出した特徴語を素性としてキャラクターの性別と年代を分類し たところ、MeCabを用いてセリフを単語分割した場合に比べて、分類精度が向上したことを示した。

## 謝辞

本研究は、茨城大学の特色研究加速イニシアティ ブ個人研究支援型「自然言語処理、データマイニ ングに関する研究」に対する研究支援および JSPS 科研費 17KK0002、18K11421 の助成を受けたもの です。

## 参考文献

[1] 宮崎千明, 平野徹, 東中竜一郎, 牧野俊朗, 松尾義博, 佐藤理史. 話者のキャラクタ性に寄与する 言語表現の基礎的分析. 言語処理学会第 20 回年次大会 発表論文集, pp. 232-235, 2014.

[2] 宮崎千明, 平野徹, 東中竜一郎, 牧野俊朗, 松尾義博, 佐藤理史. 文節機能部の確率的書き換えに よる言語表現のキャラクタ性変換. 人工知能学会論文誌, Vol. 31, No. 1, pp. DSF-515, 2016.

[3] 宮崎千明, 佐藤理史. 発話テキストへのキャラ クタ性付与のための音変化表現の分類. 自然言語処理, Vol. 26, No. 2, pp. 407-440, 2019.

[4] 奥井颯平, 中辻真. ポインタ生成機構を用いた キャラクター応答生成の検証. 第 34 回人工知能学会全国大会論文集, pp. 1I4-GS-2-01, 2020.