# 固有名詞に注目した Transformer による雑談対話モデルの構築

郭 恩孚 ${ }^{1}$ 南泰浩 ${ }^{1}$
1 電気通信大学大学院
enfu.guo@uec.ac.jp minami.yasuhiro@is.uec.ac.jp

## 概要

ユーザーの提示する固有名詞にうまく注目するた め、本研究では、対話モデルの事前学習において、固有名詞をマスクし、マスクされた部分を予測する 固有名詞マスク学習を用いる対話モデルを提案す る。モデルを用いて、発話の自然性と応答性を評価 する実験を行った結果、固有名詞マスク学習を用い る提案手法のモデルがベースラインモデルと比べ、自然性スコアで 0.45 ポイント、固有名詞応答スコア で 0.54 ポイントの向上を示し、提案手法の有用性を 確認した。

## 1 はじめに

日常会話において、人は相手が提示した固有名詞 について応答することで、対話がより円滑に行え る。近年、雑談対話モデルの研究が進み、生成され る発話を一文としてみると、自然な発話を生成でき つつある。しかし、対話の接続性に関して「固有名詞について応答する」という観点からみると、無関係の固有名詞での応答や、固有名詞を無視する応答 など、ユーザーの発話に含まれる固有名詞にうまく 注目できていないことが問題点として挙げられて いる。

本研究の関連研究としては、ランダムマスク学習 [1] とシングル応答生成学習 [2] を事前学習として用 いる雑談対話モデルを構築することが挙げられる。 ランダムマスク学習とは、トークンレベルでの学習 を行うため、トークンをランダムに置き換え、元の 文を復元する学習である。シングル応答生成学習と は、句レベルでの学習を行うため、入力された発話文に対する応答文を生成する学習である。

ランダムマスクでの学習では、トークン分割方法 によって、一つの固有名詞が複数のトークンに分割 され、固有名詞の復元の学習がうまくいかない場合 がある。そこで、本研究では、固有名詞により注目 するため、事前学習において、固有名詞をマスクし、元の文を復元する学習を提案する。実験により、そ の有用性を検証した。ここでの事前学習時の概念図 を図 1 に示す。図に示すように、事前学習では、固有名詞マスクだけではなく、ランダムマスク、シン グル応答生成も実施する。

図 1 事前学習時の概念図

## 2 対話学習データ

本研究では Wikipedia[3]、CC-100[4]、ツイートの 3つのソースを用いて、学習コーパスを構築した。

各データソースに対して、以下の条件に該当する データを除外するクリーニング処理を行った。ま た、単語の分割には MeCab[5] を用いた。

・URL・絵文字などを含む文

・日本語・英語以外の言語のシンボルを含む文

・日本語が含まれない文

・同じ表現が連続で出現する文

・不適切表現が出現する文

クリーニング処理後の各データに基づいて、下記 の学習コーパスを構築した。

・Wiki コーパス：Wikipedia データ

・CC-100コーパス：CC-100データ

・ツイートリプライコーパス：ツイートとそのリ プライのペアデータ

・ツイート疑似対話コーパス：ツイートとそのリ プライからなるリプライチェーン

構築したコーパスのうち、Wikiコーパス、CC-100 コーパス、ツイートリプライコーパスを用いて事前学習を行う。また、ツイート疑似対話コーパスを用

いて Fine-tune を行う。各コーパスのデータ数を表 1 に示す。

## 3 学習および評価設定の詳細

本研究は 3 つ事前学習: ランダムマスク学習、 シングル応答生成学習、固有名詞マスク学習、で 事前学習を行った。事前学習後、ツイート疑似対話コーパスを用いて Fine-tune を行った。事前学習 と Fine-tune の学習時、入力文脈からトークンへの 分割はSentencePiece[6] を用いた。この時、クリー ニング処理後の 2,000 万のツイートから、語彙数が 32,000、文字カバー率が $99.995 \%$ となるように学習 を行った。

## 3.1 ランダムマスク

トークンレベルで学習するため、ランダムマスク 学習を設定した。ランダムマスク学習では、入力 トークンの 15\%を [MASK] トークンに置き換え、元 の文を復元する。

## 3.2 シングル応答生成

Suchin ら [7] の研究により、Fine-tune 時のデータ と同じドメインのデータを用いて事前学習するこ とで、モデルの性能が向上することが報告されてい る。本研究では、その結果を踏まえて、ツイートと リプライツイートのペアで、ツイートを入力とし、 リプライツイートをターゲット発話とするシングル 応答生成学習を設定した。シングル応答生成学習で は、入力からターゲット発話を生成する。

## 3.3 提案手法：固有名詞マスク

SentencePiece は Byte Pair Encoding (BPE)を用い て、トークン分割を行っている。この分割では、辞書サイズが圧縮される一方、一つの固有名詞が複数 のトークンに分割され、ランダムマスク学習だけで は、固有名詞を生成する学習がうまくいかない場合 がある。この問題に対処するため、本研究では、対話モデルが文脈の中にある固有名詞を陽に捉えられ るよう、固有名詞マスク学習を提案する。固有名詞 のマスク学習は、入力文を事前に Mecab で形態素解析を行い、入力文にあるすべての固有名詞を事前に [MASK] トークンに置き換えた上で、トークン分割 し、元の文を復元する。

## 3.4 Fine-tune

一般に、生成型雑談対話モデルでは、過去の発話履歴を考慮する、応答を生成する必要がある。連続する対話を含む対話コーパスで事前学習済み モデルを Fine-tune することで、発話履歴を考慮し て応答生成できると考えられる。そこで、本研究 では、収集したツイートデータから、一連のリプ ライ関係にあるツイートを抽出した。ツイートと その一連のリプライに該当するツイートをリプ ライがなくなるまで抽出し、リプライチェーンを 作成し、ツイート疑似対話コーパスを作成した。例えば、一つのリプライチェーンに $n$ 個のツイー トである場合、入力とターゲット発話のペアは $\left[\left(t_{1}, t_{2}\right),\left(t_{1}-t_{2}, t_{3}\right),\left(t_{1}-t_{2}-t_{3}, t_{4}\right), \ldots,\left(t_{1}-\ldots-t_{n-1}, t_{n}\right)\right]$ となる。

## 3.5 評価時の応答生成設定

モデルが生成する発話は自然性と多様性の両方を 満たすことが望ましい。本研究では Beam Search に より提案モデルから発話を生成した、そのパラメー タを表 2 に示す。繰り返し同じ表現が出現する発話 の生成を防ぐため、生成された系列中にすでに出現 した N-gram を出現させないようにした。さらに、「そうですね」といった無難な発話を繰り返し応答 しないように、difflib の SequenceMatcher を用いて、現在の生成候補と過去のモデル発話と比べ、類似度 が 0.7 以上の発話は候補から除外した。

以上の設定により、多様性を満たすことができ る。加えて、候補中、perplexity が比較的小さな発話 を選択することで、自然性を満たすこともできる。

## 4 実験

## 4.1 実験設定

モデルアーキテクチャについて、先行研究 [8] で は、シンプルな Transformer Encoder-Decoder モデル

が Transformer Encoder のみのモデルよりよい性能を 示すことが報告されている。その結果を踏まえて、本研究でもシンプルな Transformer Encoder-Decoder モデルを使用した。モデル設定の詳細を表 3 に 示す。

表 3 モデル設定

## 4.1.1 事前学習

事前学習では、2. で構築した Wiki コーパス、 CC100 コーパス、ツイートリプライコーパスを利用 した。学習毎の Encoderへの入力形式、Decoder から の出力の形式の例を表 4 に示す。学習の Optimizer には Adafactor[9] を用い、学習率を 1e-4、warmup stepを 1000 にそれぞれ設定し、目的関数には label smoothed cross entropy を使用した。

## 4.1.2 Fine-tune

Fine-tune では、2. で構築したツイート疑似対話 コーパスを利用した。Encoderへの入力は、話者情報を表す $[\mathrm{SPK}]$ トークンを導入し、過去の全発話 を入力する。ユーザーの発話に該当する部分の先頭に [SPK1] トークン、モデルの発話に該当する部分の先頭に [SPK2] トークンを用いた。入力のテン プレートを表 5 に、入力の例を表 6 に示す。また、 Feed-Forward Network および Attention の dropout 率を 0.1 に設定し、学習の Optimizer には事前学習時と同様に Adafactor を使用した。学習率を 1e-4、warmup step を 2000 にそれぞれ設定し、目的関数には label smoothed cross entropy を用いた。

## 4.2 実験結果および分析

固有名詞マスク学習を実施していないモデルを ベースラインモデルとし、固有名詞マスク学習を実施した提案モデルと比較するため、実験参加者 7 名 でそれぞれ 5 会話について評価した。評価者と異な る実験参加者とモデルを使った対話システムの会話では、実験参加者に 2 つの固有名詞を提示し、 10 ターン以上継続した対話となるよう指示した。ま
た、評価では、下記の軸について 5 段階（1：とても そう思わない〜 5: とてもそう思う）評価とした。

-自然性：対話全体が自然か
- 固有名詞応答 (1)：実験参加者が提示した 1 つ 目の固有名詞について応答できているか
- 固有名詞応答 (2)：実験参加者が提示した $2 \supset$目の固有名詞について応答できているか

自然性の評価結果を図 2 に、応答の評価結果を図 3 と図 4 に示す。また、各軸のスコアの平均を表 7 に示す。さらに、各軸の平均スコアに有意な差があ るかどうかを検定した。有意水準を 0.05 、帰無仮説 を「各軸の平均スコアに差がない」とした。その検定結果を表 8 に示す。

図 2 自然性の評価結果

図 3 固有名詞応答 (1) の評価結果

図 4 固有名詞応答 (2) の評価結果

表 8 により、各軸の $\mathrm{P}$ 値は有意水準の 0.05 より小 さいため、結果は有意であり、「各軸の平均スコア
表 4 各事前学習学習の入出力形式の例 (トークナイズ後)

表 5 Fine-tune 時の入力形式のテンプレート 雑談:[SPK1] ユーザーの発話: $U_{1}[\mathrm{SEP}]$ [SPK2] モデ ルの発話 $S_{1}$ [SEP][SPK1]...[SEP][SPK2]

表 6 Fine-tune 時の入力例 (トークナイズ後)雑談: [SPK1] みんなで 浅草 に行くの だよ [SEP] [SPK2] めちゃくちゃ楽しそう やん [SEP] [SPK1]食べ 歩きする [SEP] [SPK2]

に差がない」という帰無仮説は棄却された。

表 7 により、事前学習時に固有名詞マスク学習を 設定した提案モデルがベースラインモデルより自然性、固有名詞応答 (1) と (2) のスコアがともに向上す ることが確認できた。ユーザーが提示した固有名詞 により注目し、応答することで、対話全体の自然性 も上がったと考えられる。

提案モデルとベースラインモデルによる生成例を 図 5 に示す。ユーザーが提示した「鬼怒川温泉」と いう固有名詞について、ベースラインモデルでは、「そうですね。」といった無難な応答を生成している ことに対して、提案モデルでは「鬼怒川温泉」とい う固有名詞を含んだ、「鬼怒川温泉、有名ですね」と いう応答を生成している。

今回の評価では実験参加者に 1 対話で提示した 2 つの固有名詞に対する発話の分析を行った。

図 3 と表 7 みると、ユーザーが提示した 1 つ目の 固有名詞について、応答スコアが 0.45 ポイント向上 している。図 4 と表 7 みると、ユーザーが提示した 2 つ目の固有名詞について、応答スコアが 0.63 ポイ ント向上している。

過去の対話履歴をモデルの入力としているため、過去の発話が直前の発話のノイズになる場合もある ことを考えると、上記の結果により、固有名詞マス ク学習を事前学習時に設定することで、実験参加者 が 2 つ目の固有名詞を提示する時、提案モデルは 1

表 7 モデルの評価結果

 &  \\

提案モデル & $\mathbf{3 . 6 5}$ & $\mathbf{3 . 8 2}$ & $\mathbf{3 . 4 0}$ \\

表 8 モデルの評価の検定結果

図 5 モデルによる生成例

つ目の固有名詞から 2 つ目の固有名詞に注目を切り 替えることができ、固有名詞マスク学習の有用性を 確認できた。

## 5 おわりに

ユーザーが提示した固有名詞に注目する対話モデ ルを構築した。固有名詞に注目するため、事前学習時に、入力文脈に含む固有名詞を [MASK] トークン に置き換え、元のトークンを予測する固有名詞マス ク学習を提案した。実験により、提案手法の人手評価を行い、固有名詞マスク学習を設定したモデルの 自然性、固有名詞応答スコアを評価した結果、提案手法の有用性を確認できた。

事前学習時固有名詞マスク学習を実施することに より、対話モデルがより会話文脈中に含まれた固有名詞に注目できることがわかった。一方で固有名詞 マスク学習において、学習データに含まれなかった 固有名詞については、会話中に注目しておらず、そ れらに注目するようモデルの構築は今後の課題で ある。

## 参考文献

[1] Yu Sun, Shuohuan Wang, Shikun Feng, Siyu Ding, Chao Pang, Junyuan Shang, Jiaxiang Liu, Xuyi Chen, Yanbin Zhao, Yuxiang Lu, Weixin Liu, Zhihua Wu, Weibao Gong, Jianzhong Liang, Zhizhou Shang, Peng Sun, Wei Liu, Xuan Ouyang, Dianhai Yu, Hao Tian, Hua Wu, and Haifeng Wang. Ernie 3.0: Large-scale knowledge enhanced pretraining for language understanding and generation, 2021.

[2] 杉山弘晃, 成松宏美, 水上雅博, 有本庸浩, 千葉祐弥, 目黒豊美, 中嶋秀治. Transformer encoder-decoder モデル による趣味雑談システムの構築. 人工知能学会研究会資料言語・音声理解と対話処理研究会, Vol. 90 , p. 24, 2020.

[3] Wikimedia Foundation. Wikimedia downloads. 2021.

[4] Alexis Conneau, Kartikay Khandelwal, Naman Goyal, Vishrav Chaudhary, Guillaume Wenzek, Francisco Guzmán, Edouard Grave, Myle Ott, Luke Zettlemoyer, and Veselin Stoyanov. Unsupervised cross-lingual representation learning at scale. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Online, July 2020.

[5] Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields to Japanese morphological analysis. In Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing, pp. 230-237, Barcelona, Spain, July 2004. Association for Computational Linguistics.

[6] Taku Kudo and John Richardson. Sentencepiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. Vol. abs/1808.06226, 2018.

[7] Suchin Gururangan, Ana Marasović, Swabha Swayamdipta, Kyle Lo, Iz Beltagy, Doug Downey, and Noah A. Smith. Don't stop pretraining: Adapt language models to domains and tasks. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Online, July 2020.

[8] Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Myle Ott, Kurt Shuster, Eric Michael Smith, Y-Lan Boureau, and Jason Weston. Recipes for building an open-domain chatbot. Vol. abs/2004.13637, 2020

[9] Noam Shazeer and Mitchell Stern. Adafactor: Adaptive learning rates with sublinear memory cost. Vol. abs/1804.04235, 2018 .
 郭 恩孚 ${ }^{1}$ 南泰浩 ${ }^{1}$ 1 電気通信大学大学院 enfu.guo@uec.ac.jp minami.yasuhiro@is.uec.ac.jp  