# 逆翻訳とフィルタリングによる擬似対話コーパスの生成と それを用いた対話システムの学習

榮田亮真
早稲田大学基幹理工学部
s.ryoma6317@akane.waseda.jp
}

河原大輔
早稲田大学基幹理工学部
dkw@waseda.jp

## 1 はじめに

深層ニューラルネットワーク (以下、DNN)を利用した自然言語処理が盛んになっており、分類、生成など、様々なタスクで高精度を達成している。大規模なコーパスで DNNを学習することで、どんな言語的情報を特徴量として扱うかを人が指定せずとも期待の結果が得られるというのが DNN の強みであり、対話システムについてもこれは同様である。

しかし、日本語の対話システムをDNNを用いて作ろうとすると、日本語の対話コーパスは規模が限られており、DNN の学習に十分な量が存在するとは言えない。これを原因の一つとして、現在のニューラル対話システムは、応答が発話に対して自然なものではない、多様な応答ができないという課題を持っている。特に多様性に関しては、「そうだね」などの、どんな発話に対しても破綻はしないが、おもしろみに欠ける応答が多くなってしまうという問題が挙げられる。

本研究では、対話コーパスの量の少なさを克服するため、少量のコーパスで学習したシステムの出力を学習データとして用いる。ただし、少量のコーパスで学習したシステムは性能が低く、出力はノイズを多分に含むため、フィルタリングを行い、コーパスの質を高める。具体的な手法は以下のとおりである。まず、機械翻訳で有効性が示されている逆翻訳 [1]の考え方を対話に応用する。つまり、少量の対話コーパスで学習した逆対話システムに非対話コーパスを入力し、その出力を用いて擬似対話コーパスを生成する。この擬似コーパスは「あー」など、意味のない表現、同じ表現の無意味な繰り返し、入力とほとんど同じ出力など、質の悪いぺアが多い。そのため、このコーパスをそのまま学習に用いるのではなく、いくつかのルールに基づきフィルタリングを行うことで、コーパスの質を高めてから利用する。
なお、対話システムとして、複数ターンの対話を扱うもの、発話以外の感情や Persona [2] などを扱うものも存在するが、本研究では、発話のみを入力し、応答を出力する 1 ターンの対話システムを扱う。

生成した擬似対話コーパスを利用して学習した対話システムをクラウドソーシングにより評価したところ、システムの応答が発話に対して関連していると判断される割合が、擬似対話コーパスを利用しないものより、 8 ポイント向上した。また、フィルタリングをしないコーパスを用いると、擬似対話コー パスを利用しないものより 2 ポイント低下し、フィルタリングの必要性も示された。

## 2 関連研究

対話コーパスではないデータセットを利用して、 ニューラル対話システムの出力を多様にする試みとして、Su ら [3] の研究がある。これは、機械翻訳で用いられる逆翻訳 [1] の考え方に基づくものである。 Sennrich ら [1] の研究ではまず、少数の対訳コーパスで、ターゲットとなる言語を入力し、ソースの言語を出力する逆システムを学習する。その逆システムにターゲット言語のコーパスを入力して擬似的な対訳コーパスをつくり、真の対訳コーパスと混ぜて学習を行うことで、BLEU の向上を達成している。逆翻訳についてはその後、Poncelas ら [4], Edunov ら [5] が、擬似コーパスの生成方法やそのコーパスを利用した学習方法を研究している。

逆翻訳を受けて、Su ら [3] の研究では、発話を入力すると応答を出力する順対話システムと、応答を入力すると発話を出力する逆対話システムを用意し、一方に非対話コーパスを入力したときの出力を、もう一方のシステムの学習データとすることを繰り返すことで、Distinct [6] の向上を達成している。 Distinct とは、生成文の全 n-gram 数に対する n-gram の種類数の割合であり、Distinct の向上は生成され
表 1: フィルタリングのルールとその対象

 & 「あー」など、無意味な表現の繰り返し \\

重複数が、短いほうの文長のn\%より多いペア & オウム返し \\

た応答の多様性が向上していることを示している。

## 3 提案手法:逆翻訳の対話への応用 とフィルタリング

提案手法は以下の 2 つの要素で構成される。1つめの要素は逆翻訳の対話への応用である。これは、応答を入力して発話を生成するように学習したシステム (以下、逆対話システム) に非対話コーパスを入力して、擬似対話コーパスを得ることを意味している。2つ目の要素はルールベースのフィルタリングである。これは、逆対話システムから得た擬似対話コーパスの質を高めるために行う。

## 3.1 逆翻訳の対話への応用

擬似的な対話コーパスの生成を目的として、 ニューラル逆対話システムの学習を行う。このシステムに非対話コーパスを入力することで、その入出カペアが、非対話コーパスを応答とする擬似対話コーパスとなる。その様子を以下の (1) に示す。文 (1a) が非対話コーパスに含まれる文であり、これを逆対話システムに入力することで、(1b) の出力を得る。

(1) a.おかず少ない。

b.今日の晚御飯はカレーです。

この擬似対話コーパスの応答文は自動生成したものではなく既存の文であるため、質が保証されている。このコーパスを利用することで、ニューラル対話システムが、非対話コーパスに含まれるような応答を生成できるようになることが期待される。

## 3.2 フィルタリング

3.1 節で述べた方法で擬似対話コーパスを生成すると、「あー」「あああ」など、意味のない言葉の羅表 2: 逆対話システムの学習に利用した対話コーパ Х

列、同じ単語の繰り返しなど、ノイズの多い生成結果が得られる。これは対話システムの学習を行ううえで悪影響をもたらすと考えられる。そこで、表 1 に示すルールを設けてフィルタリングを行うことで、擬似対話コーパスの質の向上を目指す。

## 4 擬似対話コーパスの生成

## 4.1 逆翻訳

ニューラル対話システムのモデルとして fairseq の MBART [7] を用いる。これは、英語だけではなく、多言語で事前学習された BART [8] である。対話コーパスを用いて、MBART を Fine-tuning する。 ここで用いる対話コーパスは以下の 3 種類である。

・名大会話コーパス [9]

・BTSJ 自然会話コーパス [10]
- Twitter コーパス

Twitterコーパスは、Tweet-Reply 対を、Twitter API を用いて我々が収集したものである。

これらの対話コーパスを用いて、入力が応答、出力が発話になるような学習を行う。利用したコーパス量を表 2 にまとめる。学習した逆対話システムに Web コーパス [11]を入力し、擬似対話コーパスを得た。

生成した擬似対話コーパスの例を表 3 に示す。 3.2 節で述べたように、生成結果はノイズが多い、「お
表 3: 擬似対話コーパスの生成例

表 4: フィルタリングの実行結果の例

はようございます」などのありきたりな表現が多い、などの問題がある。このコーパスをそのまま利用して対話システムの学習をすることは、対話システムの性能を下げると考えられる。

## 4.2 フィルタリング

4.1 節で生成した擬似対話コーパスに対して、3.2 節で述べたルールに基づき、フィルタリングを実行する。発話と応答のサブワードの重複数に関する条件については、 $\mathrm{n}=50,40$ の 2 パターンを設定した。フィルタリングの実行により、 $\mathrm{n}=50 \%$ のときは $3.5 \% 、 \mathrm{n}=40 \%$ のとは $2.1 \%$ のペアが残った。フィルタリングを実行した結果の例を表 4 に示す。フィルタリングにより、多くのノイズが取り除けていることがわかる。また、ペア中には、「プログラミング」 と「Web」、試合」と「交代」など、関連する単語が含まれており、対話システムの学習に効果があることが期待できる。ただし、本研究のフィルタリングルールは意味的な情報は全く扱っていないため、対話ぺアとして不自然なものも残っている。この点の改善は今後の課題である。表 5: 対話システムの学習に用いた対話コーパス量

## 5 対話システムの学習

## 5.1 擬似対話コーパスを利用した対話シス テムの学習

4.1 節, 4.2 節で生成した擬似対話コーパスと、 3 種の対話コーパスを用いて、fairseq の MBARTを Fine-tuningする。学習は以下の 6 パターンで行った。
- GOLD
- GOLD+MBART-50
- GOLD+MBART-50 $\rightarrow$ GOLD
- GOLD+MBART-40
- GOLD+MBART- $40 \rightarrow$ GOLD
- GOLD+MBART-w/o filter

ここで GOLD は 4.1 節で述べた 3 種の対話コーパス、MBART-50、MBART-40 4.1 節, 4.2 節で生成した擬似対話コーパスのうちそれぞれ、フィルタリングの $\mathrm{n}$ 动 $=50,40$ と設定したもの、MBART-w/o filter は 4.1 節で生成した擬似対話コーパスをフィルタリングせずにそのまま用いたことを表す。また $\rightarrow$ は、矢印の左側のコーパスで学習したのちに、右側のコーパスで再度学習したことを表す。これは、逆翻訳を利用した翻訳タスクにおいて、擬似対訳コーパスを利用した後、対訳コーパスで再度学習している [5] ことに由来する。

学習に用いた各コーパスの量を表 5 に示す。対話システムの評価は、BLEU [12], Distinct-N [6] に基づく自動評価と、クラウドソーシングによる人手評価で行った。BLEU は翻訳タスクでよく用いられる評価手法であり、応答文と参照文を構成する N-gram の一致度を表す。

## 5.2 対話システムの評価

## 5.2.1 自動評価

テストコーパスは名大会話コーパス 7,172 文、 BTSJ 自然会話コーパス 3,000 文、Twitter コーパス 30,374 文から構成され、計 40,172 文である。 5.1 節
表 6: 対話システムの自動評価結果

で学習した対話システムを、BLEU、Distinct の指標を用いて評価した結果を表 6 に示す。BLEU、 Distinct 共に、ベースラインである GOLD と比べて上がる事も下がる事もあるという結果であった。しかし、Liu ら [2]によって、BLEU と対話システムの人手評価には相関がほとんどないことが指摘されている。よって、この結果からは、提案手法で対話システムがどう変化したか結論づけることができず、 5.2.2 節で述べる、クラウドソーシングによる人手評価を行った。

## 5.2.2 人手評価

人手評価は Yahoo!クラウドソーシングを用いて行った。観点は関連度、おもしろさ、流暢さの 3 観点とし、各対話ぺアの各観点を Yes/Noで 3 人に評価してもらい、多数決をとった。各学習パターンにつき 400 文を評価した。発話と応答をそれぞれ A と B の発言とし、A の発言に対して B の応答が各観点を満たしているかを尋ねた。各観点を尋ねる質問は以下である。

1. 関連度 「B の応答は $\mathrm{A}$ の発言に関係したものですか」

2. おもしろみ 「B の応答はおもしろいですか」

3. 流暢さ 「B の応答は日本語として自然ですか」

5.1 節で学習した対話システムの人手評価を行った結果を表 7 に示す。スコアは、400 文のうち Yes と判断されたものの割合である。

関連度については、GOLDに比べて、提案手法の評価が高くなった。また、GOLD+MBART-w/o filter では評価が低くなっており、フィルタリングの必要性がわかる。よって、提案手法が対話システムの応答の発話に対する関連度を上げていると言える。

おもしろさについては、提案手法によってどのような影響があるかは一概には言えない結果となった。おもしろさの向上には、外部知識の導入、感情の考慮など、本研究では扱っていない工夫が求められると考えられ、今後の課題といえる。表 7: 対話システムの人手評価結果

流暢さについては、提案手法の評価が GOLDより高くなっているが、GOLD+MBART-w/o filter についても高くなっている。GOLD+MBART-w/o filter のどんな対話ぺアが流暢であると評価されているか見てみると、GOLD+MBART-w/o filter の応答のほとんどが「そうだね」という応答であり、流暢であると判断されることが多かった。これはニューラル対話システムの問題点である、どんな発話に対しても、問題はないが、つまらない応答である。よって、流暢さという評価指標は、対話システムの評価指標として適切ではないと考えられ、評価の観点についても再考が必要である。

## 6 おわりに

本研究では、多様で自然な応答が可能なニューラル対話システムを構築するうえで課題となっている、対話コーパス量の少なさの克服を目指した。逆翻訳とフィルタリングによって生成した擬似対話コーパスをニューラル対話システムの学習に用いることで、発話との関連度が高い応答を生成できるようになることがクラウドソーシングによる人手評価によって示された。

本研究では、逆対話システムは GOLDコーパスで学習しただけであり、工夫はしていない。また、 フィルタリングには表層的な条件しか用いていない。今後の課題として、逆対話システムの性能の向上、意味的な情報を考慮したフィルタリングが挙げられる。

本研究を応用することで、大規模な対話コーパスを持たない言語での対話システムの実現や、対話コーパスに含まれていないドメインをトピックとする対話への応用が期待される。

1）「GOLD ゚゚ア自体」は、3種類の対話コーパスそのものをクラウドソーシングで評価したものである。

## 参考文献

[1]Rico Sennrich, Barry Haddow, and Alexandra Birch. Improving neural machine translation models with monolingual data. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 86-96, Berlin, Germany, August 2016. Association for Computational Linguistics.

[2]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.

[3]Hui Su, Xiaoyu Shen, Sanqiang Zhao, Zhou Xiao, Pengwei Hu, Randy Zhong, Cheng Niu, and Jie Zhou. Diversifying dialogue generation with non-conversational text. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7087-7097, Online, July 2020. Association for Computational Linguistics.

[4]Alberto Poncelas, Dimitar Shterionov, Andy Way, Gideon Maillette De Buy Wenniger, and Peyman Passban. Investigating backtranslation in neural machine translation. EAMT 2018 - Proceedings of the 21st Annual Conference of the European Association for Machine Translation, pp. 249-258. European Association for Machine Translation, 2018.

[5]Sergey Edunov, Myle Ott, Michael Auli, and David Grangier. Understanding back-translation at scale. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 489-500, Brussels, Belgium, OctoberNovember 2018. Association for Computational Linguistics.

[6]Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, and Bill Dolan. A diversity-promoting objective function for neural conversation models. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp. 110-119, San Diego, California, June 2016. Association for Computational Linguistics.

[7]Yinhan Liu, Jiatao Gu, Naman Goyal, Xian Li, Sergey Edunov, Marjan Ghazvininejad, Mike Lewis, and Luke Zettlemoyer. Multilingual denoising pre-training for neural machine translation. ArXiv, 2020.

[8]Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Veselin Stoyanov, and Luke Zettlemoyer. BART: Denoising sequence-tosequence pre-training for natural language generation, translation, and comprehension. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pp. 7871-7880, Online, July 2020. Association for Computational Linguistics.

[9]小磯花絵. 『日本語日常会話コーパス』モニター公開版の構築. 計量国語学, Vol. 32, No. 2, pp. 133-142, 2019. [10]宇佐美まゆみ, 宇佐美まゆみ監修 (2020)『BTSJ日本語自然会話コーパス（トランスクリプト・音声）2020年版』、国立国語研究所、機関拠点型基幹研究プロジェクト「日本語学習者のコミュニケーションの多角的解明」、サブ・プロジェクト「日本語学習者の日本語使用の解明」（リーダー：宇佐美まゆみ）. 2020.

[11]Daisuke Kawahara and Sadao Kurohashi. Case frame compilation from the web using high-performance computing. In Proceedings of the Fifth International Conference on Language Resources and Evaluation (LREC'06), Genoa, Italy, May 2006. European Language Resources Association (ELRA).

[12]Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing 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.
表 8: 学習で用いたハイパーパラメータ

## A 付録

5.1 節で対話システムの学習に用いた主なハイパーパラメータを表 8 に示す。エポック数としては、検証データに対するロスが最小となるエポックを採用した。

表 9: 擬似対話コーパスを用いて学習した対話システムによる対話例

 &  \\

5.2 節で評価したテストコーパスの発話応答ぺアの例を表 9 に示す。モデルは GOLD+MBART- $50 \rightarrow$ GOLD である