# 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 はボタンを押した後の数秒間しかボタンが起動状態にならないため，タイミングを合わせなければならないという点で異なる.

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


# 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.

(C) The Association for Natural Language Processing, (Licensed under CC BY 4.0）https://creativecommons.org/licenses/by/4.0/


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

徳久雅人 木村周平
鳥取大学 工学部
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

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

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


# 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.


# 傾聴の応答で繰り返される語句の検出性能の向上

川本稔己長谷川駿上垣外英剛船越孝太郎奥村 学
東京工業大学
kawamoto@lr.pi.titech.ac.jp

## 1 はじめに

対話において相手の話を聞いているという意思表示を行うことは円滑なコミュニケーションを行う上で重要である。その手段として, ジェスチャや発話をすることが挙げられる. ジェスチャの具体例は領くことや首をかしげることであり，発話だと相槌を打つことが代表的である. 相棺以外にも相手の発話に賛同を示すために話し手が使用した語句を反復し発話をする時がある．以下に例を示す。

話し手: 僕はやっぱり野球は無理だなと思いましてね.

聞き手: 野球は無理でしたか.

この例では，話し手の発話に含まれる「野球は無理」が応答で反復され，賛同を示している. このような応答を繰り返し応答という。人が傾聴するときと同様に，対話システムに傾聴をさせる際にも相槌だけではなく繰り返し応答も行うことで会話をより円滑に進める事が出来る．その生成を行うにはどの語句を反復するかを決めることが必要である. よって，本稿では話し手の発話の中から繰り返し応答に用いられる文節を検出する研究に取り組む.

伊藤ら [1] は個々の文節に関する素性を主に用いてSVM で検出する手法を示しているが，発話における文節間の関係を十分に考慮していない。この問題を解決するために，本稿では文節間の関係を捉えることが可能な BERT [2]を使用する。 さらに，発話をまたぐ文脈を考慮する目的で直前の話し手の発話も入力として用いる。

一般に繰り返し応答に対するデータを大量に準備することは難しい，その理由としては，賛同を示す発話の一種類である繰り返し応答が対話時に多用されるものではないという点が挙げられる. そのため，本稿では傾聴対話コーパス [3] の話し手の発話を用いて，その発話に対して取りうる繰り返し応答のバリエーションを人手でクラウドソーシング表 1 先行研究で使用された素性一覧文節の主辞の品詞文節の主辞の品詞細分類

文節の主辞の活用形

文節の機能語の品詞

文節の機能語の品詞細分類

文節の機能語の活用形

文節の形態素数が以下の 4 分類のいずれであるか (1, 2, 3-6, 7 以上)

文節が属する節境界単位の種類

節境界単位内で先頭から何番目の文節か

文節が固有名詞を含むか否か

文節が数詞を含むか否か

文節が固有表現を構成する形態素を含むか否か IREX の分類について，文節がその固有表現を構成する形態素を含むか否か文節内に内容語が存在し，文節の重要度 $I$ が全形態素の中央値 13.56 より大きいか否か直前の文節の最後の形態素がフィラーか否か

サービスを用いて作成することによりデータを用意する。

作成したデータを対象とした評価実験の結果，提案手法はベースラインである SVM を用いた手法より 24 ポイント高い $\mathrm{F}$ 值を達成した. それにより文脈を考慮した提案手法の有効性を確認できた。

## 2 先行研究

伊藤らは，文節ごとに与えられる素性を元に各文節が繰り返し語句を含む文節であるかを，分類器を用いて分類している。その際に用いられている素性を表 1 に示す.

先行研究から, 特に固有表現・フィラーの後の語句，重要度が高い語句は繰り返しの対象になりやすいことが分かっている. 固有表現の抽出および IREX タグの付与には CaboCha[4] が用いられている. フィラーの直後の語句は話し手が言いよどみした後に発言したものであり，比較的重要な意味を持つと考えられる。語句の重要度は以下の指標で計られている。

$
I\left(w_{i}\right)=\log _{2} \frac{\sum_{j} F\left(w_{j}\right)}{F\left(w_{i}\right)+1}
$

ここで， $w_{i}$ は形態素， $F\left(w_{i}\right)$ は『日本語話し言葉コーパス』短単位語彙表 ver $\left.1.0^{1}\right)$ における $w_{i}$ の出現頻度である. 語の異なり総数は 42,545 , 語の総頻度 $\sum_{j} F\left(w_{j}\right)$ は 7,479, 773 である. 素性 14 の文節の重要度 $I$ は, 文節に属する内容語の重要度 $I$ のうち最大のものとした.

## 3 提案手法

本節では文節間の関係を捉え，発話をまたぐ文脈を考慮し，繰り返し文節を検出する手法を提案する. 図 1 に提案モデルの概要を示す.

提案手法では, 事前学習された，日本語を対象とした Bidirectional Encoder Representations from Transformers (BERT)2)をエンコーダとして使用する. BERT を使うことで文節間の関係を捉えることが可能となる．入力には，発話をまたぐ文脈を考慮するために, 話し手の対象発話 $W=\left(W_{1,1}, \ldots\right)$ と対象発話の直前の話し手の発話 $W^{*}=\left(W_{1,1}^{*}, \ldots\right)$ を用いる. 以後話し手の対象発話を SP, 対象発話の直前の, 同じ話し手の発話を PreSP と呼ぶ (例は 4.1 節を参照).入力順序は時系列に沿い, PreSP の後 SP とする. 発話の前後には発話の開始記号として<CLS>, 発話の終端記号としてくSEP>を挿入する。なお，BERT は特徴量抽出のみに利用し, fine-tuning は行っていない.

次に，予め分割しておいた文節ごとに，文節が表現しているべクトルを得る。そのために BERT でエンコードした検出対象発話の単語単位のベクトルを，文節ごとに self-attentive span extractor[5]を利用して文節単位のベクトルに変換した. そうして得たベクトル $h_{i}^{s}$ に表 1 に示す素性を結合し, MLP (multi-layer perceptron)の入力とした. MLP は最終層に sigmoid 関数を使用しているので，出力は $[0,1]$ の連続値になる。その値に対する閾値を使用して二值に分類する. 閾値は開発データを用いて最適化した.

## 4 データ

本節では人手で繰り返し応答を作成し，繰り返し対象語句を含む文節のタグ付けを行う手順について説明する。

繰り返し応答は傾聴時に多く出現することから，話し手の発話についてはデータとして高齢者と介護

士による傾聴対話 [3] を用いた。この対話は，話し手となる高齢者と聞き手となる介護士が情報案内および傾聴を行うコーパスである。本コーパスの発話の総数は 9716 である.

## 4.1 繰り返し応答データの作成

繰り返し応答のデータをある程度の量用意するためにクラウドソーシングを利用して繰り返し応答を人手で作成した. ${ }^{3}$ クラウドソーシングには Lancers")を使用した. 具体的な手段としては，デー タの話し手の発話で, 内容語 (名詞, 動詞, 形容詞,副詞のいずれか)を含む文に対して以下のような設問を提示した. 内容語を特定するために必要な形態素解析器には $\mathrm{MeCab}^{5}$ を用いた. 作成してもらう際には，50 個の設問を 1 つのパートとし，合計 36 個のパートをそれぞれ 3 名に依頼した。したがって作成者はのべ 108 名である. 以下が作成作業時に提示された設問と発話の例である. 以後，聞き手の発話をLIと呼ぶ.

Q: 下線が引いてある $\mathrm{SP}$ の語句を使い応答文を作成してください，それ以前の対話は文脈理解に使用してください.

PreSP: はい私の名前が.

LI: 何が出るんです？釣った大きさ？

SP: 大きさとかね，そういう何匹釣ったとか， そんなん.

以上の設問に対する 3 名からの回答が以下である.

A-1: 何匹釣ったとかということが出ているのですね.

A-2： 釣った魚の大きさとか数の情報がでるのですね.

A-3: 大きさと何匹釣ったかとかですか.

これらの例では下線の話し手の文で使われている内容語「大き」・「何」・「匹」・「釣っ」を一つ以上含む繰り返し応答が作成できていることがわかる.

そして，提示した話し手の文と，人手で作成された，上のような 3 文のうち 1 文をランダムに選択し，それらを文対とする。以降，本稿においてLIとは作成した応答とする。

図 1 提案手法で使用するニューラルネットワークの構造. BERTには時系列順に話し手の対象発話 (SP) とその直前の話し手の発話 (PreSP)を入力する．MLPの入力には，文節ごとに SpanExtractor を使用したべクトルに表 1 の素性を追加している.

その結果 1760 の文対が得られた。

## 4.2 繰り返し対象語句を含む文節のタグ 付け

4.1 節で得られた文対に対して, 繰り返し対象となっている語句を含む SP の文節を以下の手続きで同定しアノテーションした. 文節の分割には CaboCha を用いた.
- LI 中と一致している内容語を含む SP の文節を繰り返し対象となる文節とする。

$\cdot$同じ内容語に対して複数の文節がある場合は,他の繰り返し対象となる文節に最も近いものを選択する。他の繰り返し対象文節が存在しない場合は，最初に出現したものを選択する。

以下にタグ付けの例を示す. 下線の箇所が繰り返し対象となる語句を含む文節である。なお，スラッシュは文節間の区切りを表す。

SP: それまではねね，/ちょっと/今儿ばらく终眠中です.佟眠さしても/うてます.

LI: 冬眠明けが/楽しみです.

## 5 実験

先行研究では，SPを節単位に分割し，繰り返し対象文節を 1 つも持っていない節は実験対象から除外
している.しかし，対話システムやチャットボットで実際に繰り返し応答を生成する際には，節よりも文が理解の単位として重要であり，また，繰り返し文節が存在しない文も対象として実験を行うことが望ましい. そこで本稿では, 先行研究の再現という目的で，参考として先行研究と同じ節単位での実験も行うが，文単位で実験を行う。

## 5.1 節単位での実験

先行研究の実験設定に沿うように，SPを節境界で分割し, 繰り返し対象文節を 1 つも持っていない節は実験の対象から除外した.このため実験対象の節には必ず 1 つ以上の繰り返し対象文節が含まれる. 節境界の検出には節境界解析ツール CBAP[6] を用いた.

上述したように，節には必ず少なくとも 1 つ繰り返し文節が含まれるという設定であるので, 繰り返し対象となる文節を検出する際，繰り返し対象文節と判定される文節が $1 \supset もない$ 節については, 二值分類する際のスコアが最大の文節を繰り返し対象文節とする。

## 5.2 文単位での実験

本設定では文を一つの単位とみなす。また，傾聴において繰り返し応答をしない場合も存在する方が自然である. よって，一つも繰り返し対象文節と判定されるものがない場合も，節単位での実験のように，後処理は行わないこととする。これにより，先行研究より自然な実験設定になる.

## 5.3 実験概要

実験には 4 節で作成したデータを用いた. データのサイズを表 2 に示す. 実験では訓練データ: 開発データ: テストデータ $=3: 1: 1$ として 5 分割交差検証をモデルの初期値を変更して 3 回ずつ実験し，計 15 回の平均を実験結果とした.

繰り返し対象文節を正解とし，正解に対する再現率・適合率・F 値により評価した. 再現率・適合率・ F 値はそれぞれ，

$
\begin{aligned}
& \text { 再現率 }=\frac{\text { 正しく検出できた繰り返し対象文節数 }}{\text { 正解の絽り返し対象文節数 }} \\
& \text { 適合率 }=\frac{\text { 焉しく検出できた繰り返し対象文節数 }}{\text { 数返対象として検出された文糗数 }} \\
& F \text { 值 }=\frac{2 * \text { 再現率 } * \text { 適合率 }}{\text { 再現率 }+ \text { 適合率 }}
\end{aligned}
$

のように計算される.

ベースラインには Support Vector Machine (SVM) による先行研究を用いた. 表 1 の素性に基づいた先行研究の再現を可能な限り行った. SVM は scikit-learn ライブラリ6)の SVMを，初期設定されたハイパー パラメータに基づいて使用した. 節単位での実験は, 先行研究からの本手法による改善を確認するために行うので， ベースラインであるSVM と提案手法の 2 種類のモデルで比較を行う.

文単位の実験においてはその 2 種類に加えて, ablation study として提案手法の入力にPreSP を組み込まない w/o PreSP，提案手法の MLP の入力に表 1 の素性を追加しない w/o 素性, そのどちらも組み込まない w/o PreSP and 素性の 3 種類の設定下でも実験を行った.

6) https://scikit-learn.org/stable/表 3 実験結果（節単位）（\%）

表 4 実験結果（文単位）（\%）

## 5.4 実験結果

節単位での実験結果を表 3，文単位での実験結果を表 4 にそれぞれ示す。

節単位では，ベースラインのSVM の F 値が $57.59 \%$ であったのに対し提案手法の $\mathrm{F}$ 值が $68.39 \%$ となり, 約 11 ポイントの向上を確認した. これは先行研究と同様の設定において提案手法が有効であることを示している.

文単位では，ベースラインの SVM の F 值が $32.01 \%$ であったのに対し提案手法の $\mathrm{F}$ 値が $56.21 \%$ となり，約 24 ポイントと大幅に向上したことが確認された. その上で, 提案手法と提案手法 w/o PreSP を比較すると, PreSPを入力に加えることで発話をまたぐ文脈を考慮することが出来ていることがわかる. また，提案手法と提案手法 $\mathrm{w} / \mathrm{o}$ 素性を比較すると，素性を入れた手法がより高い $\mathrm{F}$ 值を得ていることから, 先行研究の素性はSVM だけでなく提案手法においても効果的であることが分かる.

## 6 おわりに

本稿では，文節間と発話間の文脈を考慮することで傾聴の応答で繰り返される語句の検出性能を向上させる手法を提案した。提案手法は従来の手法とは異なり，BERTを用いることで文節間の関係を考慮している。その上で直前の話し手の文（PreSP）を加えることで発話をまたぐ文脈を考慮することが可能であり，また，MLPの入力に先行研究の素性を結合することによりさらなるスコアの向上も実現している. 実験の結果, $\mathrm{F}$ 値の大幅な向上が確認された.今後は本手法で検出した繰り返しとなる語句を用いて，傾聴における応答の生成を目指したい.

## 参考文献

[1]伊藤, 村田, 大野, 松原. 傾聴を示す応答で繰り返される語りの語句の検出. 言語処理学会, 2019.

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

[3]Yoshino, Tanaka, Sugiyama, Kondo, and Nakamura. Japanese dialogue corpus of information navigation and attentive listening annotated with extended iso-24617-2 dialogue act tags. In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018), 2018.

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

[5]Kenton Lee, Luheng He, Mike Lewis, and Luke Zettlemoyer. End-to-end neural coreference resolution. arXiv preprint arXiv:1707.07045, 2017.

[6]丸岡, 柏岡, 熊野, 田中. 節境界自動検出ルールの作成と評価. 言語処理学会, 2004.


# ニューラル対話モデルの自動評価に向けた 対照応答対評価セットの試作

岡野功士朗 1 川村真也 ${ }^{2}$ 鈴木優 $^{1}$ 加藤恒夫 ${ }^{2}$ 田村晃裕 ${ }^{2}$ 呉剣明 ${ }^{3}$

1 同志社大学大学院理工学研究科 2 同志社大学理工学部 ${ }^{3}$ KDDI 総合研究所

ctwf0136@mail4.doshisha.ac.jp
## 1 はじめに

非タスク指向型対話における応答生成は正解が一つしかないわけではないが，文脈を適切に踏まえたものであることが望ましい. 注意機構付き Encoder-Decoder RNN[1] や Transformer[2] によって比較的流暢な応答が生成されている. しかしながら，非タスク指向型対話における応答品質の自動評価手法は確立されていない. 応答の仕方は多様であるため，コーパスから抽出した応答文を参照する BLEU のような指標は主観評価値との相関が低いことが報告されている [3]. この課題に対して，対話相手からの問い掛けとの関係も評価する指標 [4], 主観評価と統計的な評価を統合した指標 [5], さらには, 対話応答の品質は対話のやりとりからしか評価できないとしてインタラクティブに評価する手法 [6] などが提案されている.

一方，文レベルの翻訳品質が向上した機械翻訳では，一連の文章を翻訳する場合に前後の翻訳文間の意味的な整合性が新たな課題となっている. この場合も，文脈に関わる意味的な整合性を BLEU で測るのは難しく， Sennrich らは，機械翻訳システムが生成する翻訳文の言語的な傾向を分析するために自身が提案した対照翻訳対 [7]を発展させ，英仏翻訳において前方照応代名詞の翻訳と語彙選択の一貫性を評価する評価セットを提案している [8]. さらに，文脈を考慮した英露翻訳において，頻出する典型的な誤りを分析し，その誤りに関する翻訳モデルの性能を評価するための対照翻訳対を設計している [9].英日翻訳では，永田らが共参照と一貫性を評価する対照翻訳対を設計している [10]. これらの対照翻訳対は, 対訳コーパスから抽出した正解翻訳文に必要最小限の誤りを加えて誤り文とし，正解翻訳文と誤
り文に対して翻訳モデルが算出する生成確率の比較において正解翻訳文の方が高い割合を測ることでモデル性能を定量化する.

本研究では，非タスク指向型対話システムにおける応答品質の自動評価に向けて，文脈を考慮した機械翻訳の評価のための対照翻訳対 [9] に倣い，対照応答対を提案する。大規模な雑談対話コーパスから学習したニューラル対話モデルが生成する応答文の誤り傾向を分析し，頻度の高い 3 種類の誤りを加えた対照応答対を試作した. 作成した対照応答対評価セットを用いて性能差がある 3 種類のニューラル対話モデルを評価し，主観評価で測った性能差が対照応答対評価セットによる自動評価値と整合するか検証した。

## 2 対照応答対の作成手順

文脈を考慮した機械翻訳を評価するための対照翻訳対の設計手順に倣い，まずニューラル対話モデルが生成する応答文の誤り分析を行い，その結果を踏まえて頻度の高い誤りを含む対照応答対を作成し，評価する。具体的には以下の手順で進める。

1. 誤り分析: ニューラル対話モデルが生成した多数の応答文に対して，自然であるか否かを人手で 2 値分類する. 自然でないと判定された応答文を誤りの種別に分類し，各誤り種別の頻度をカウントする.

2. 対照応答対作成：対話コーパスに含まれる正しい文に，頻度の高い誤りを加えて誤り文とし，正しい文と組み合わせて対照応答対（ペア）とする.このときの誤り文は，正しい文に含まれる形態素の最小限の置換によって作成する.

3. モデル評価：評価対象のニューラル対話モデルで，対照応答対の正しい文と誤り文の生成確率
表 1 定義した誤りラベルとその概要

図 1 Double Attention モデル

図 2 各評価者の誤りラベル使用割合

を算出し，正しい文の生成確率の方が誤り文の生成確率よりも高いペアの割合を，モデルの正解率とする.

以降，手順 1 の誤り分析を第 3 節に，手順 2 の対照応答対作成を第 4 節に，手順 3 のモデル評価を第 5 節に記述する。

## 3 ニューラル対話モデルによる 応答文の誤り分析

非タスク指向型対話は女性同士の雑談を対象にした. 大規模な雑談対話コーパスとして，クラウドソーシングを用いて作成した架空の 20 代女性 2 名「吉田さん」と「佐々木さん」の間の仮想雑談コーパスを用いた。二人のペルソナを細かく規定し，クラウドワーカーの間で共有することで，一貫性のある雑談を約 168 万発話分集めている. 吉田さんと佐々木さんの雑談は交互に最大 10 ターン続くので，比較的長い文脈に対する応答の整合性を評価することも可能である．今回は「吉田さん」の対話モデル用に対照応答対評価セットの試作と評価を行うため，同コーパスより学習データ約 110 万文，検証データ約 6.4 万文，評価データ約 6.4 万文を抽出した.

「吉田さん」の対話モデルとして，GRU ベースの注意機構付き Encoder-Decoder モデルとその変形版の 2 種類を用いた。前者のモデル構造を図 1 に示す. 1 つ前の吉田さん自身の発話と直前の佐々木さんの発話を別の Encoderに入力し，Decoder は $2 \supset$ の Encoder の隠れ層に対してそれぞれ注意機構を用いるので Double Attention モデルと呼ぶ。変形版は図に示していないが，2つの注意機構のいずれにより強い注意を向けるかを考慮する機構を加えたものである。モデル学習はクロスエントロピ誤差を損失関数とする教師あり学習で行った。

検証データから無作為抽出した 1500 種類の対話文脈に対して，上記の 2 種類のニューラル対話モデルで応答文を生成した。応答生成は相互情報量最大化を基準にして行っている [11]. 計 3000 種類の応答文に対して，著者ら 3 名が誤り分析を行った. 最初に 3 名それぞれが，応答が文脈に照らして自然であるか否かを基準に 2 值分類した。次に，自然でないと考えた応答文を対象に各評価者がその原因を分析し，その結果を評価者間で擦り合わせることで最終的に表 1 に示す 10 種類の誤りラベルを定義した.

評価者 3 名が，自然でないと考えた応答文は全体

した誤りラベルの割合を図 2 に示す. 頻度の高いものから，文脈上不適切な内容語を含む誤り (ICW, $28.9 \%$ ), 助詞の誤り (FNC, 9.8\%), 文末表現の誤り (ESE, $8.9 \%$ )であった. そこで，頻度上位 3 種類の誤りに関わるモデル性能評価のための対照応答対を作成することにした。なお，誤り分析の詳細については文献 [12]を参照されたい。
表 2 内容語を置換した対照応答対の例

## 4 対照応答対評価セットの試作

## 4.1 内容語を置換した対照応答対

文脈上不適切な内容語を含む誤り (ICW) に対応する対照応答対は，正しい文に含まれる文脈上重要な名詞を他の名詞に置換して誤り文とした. 置換後の語として単に言語確率の低い語を選択してしまうことを避けるため, 同じコーパスから bi-gram 言語モデルを学習し, 置換後の語を 1)bi-gram 言語確率が置換前の名詞と同等になる名詞 (Equally-likely, EL), 2)bi-gram 言語確率が最大の名詞 (Most-likely, ML), の 2 種類の基準で選択した. 具体的には，正しい文 $W=\left.\{w_{1}, \ldots, w_{n}\right.\}$ 中の単語 $w_{i}(1 \leq i \leq n)$ を置換する場合, EL の置換後の語は式 (1), ML の置換後の語は式(2)によって選択する。

$\hat{w}_{i}=\arg \min \left[\left.\{\log \frac{P\left(v \mid w_{i-1}\right)}{P\left(w_{i} \mid w_{i-1}\right)}\right.\}^{2}+\left.\{\log \frac{P\left(w_{i+1} \mid v\right)}{P\left(w_{i+1} \mid w_{i}\right)}\right.\}^{2}\right]$

$
\hat{w}_{i}=\arg \max \left.\{\log P\left(v \mid w_{i-1}\right)+\log P\left(w_{i+1} \mid v\right)\right.\}
$

ただし，置換後の語は，コーパス中に 2 回以上出現する名詞を候補として, Encoder に入力される語は除外して選択する. 表 2 に内容語を置換した対照応答対 (ML) の例を示す.

## 4.2 文末表現を置換した対照応答対

図 2 で $8.9 \%$ 占めた文末表現の誤り (ESE) に対応する対照応答対を作成するため，誤りを細かく分類した結果を表 3 に示す.「平叙文と疑問文の反転」 とは，コーパス中の正しい文が平叙文であるのに対表 4 文末表現を置換した対照応答対の例

吉田私はカレーは甘口なんです

佐々木カレーは辛いのは苦手ですか?

吉田(正しい文) そうなんですよね〜

吉田(誤り文) そうなんですか?

表 5 助詞を置換した対照応答対の例

してモデル応答が疑問文の場合，またはその逆の誤りを指す。「肯定文と否定文の反転」も同様である.「省略された主語の変化」とは，例えば対話相手の彼氏がいない発言に対して“彼氏募集中ですょ”という応答を返す誤りを指す。彼氏を募集するのは対話相手であるため，“彼氏募集中ですね”という応答が正しい。このように文末表現の違いにより，省略された主語が変化する場合にこの誤りラベルを用いる。「共感表現の欠如」とは，「ですよね」のような共感を含む応答が期待される場合に「ですよ」のような共感が含まれない表現が現れる場合を指す.「願望表現の欠如」も同様である。「時制の誤り」は時制，「動詞の誤り」は生成された動詞が文脈的に誤っている場合を指す。

頻度上位の 2 種類「平叙文と疑問文の反転」と 「肯定文と否定文の反転」それぞれの 2 方向の誤り， すなわち「平叙 $\rightarrow$ 疑問 $」$, 「疑問 $\rightarrow$ 平叙 $」$, 「肯定 $\rightarrow$否定」，「否定 $\rightarrow$ 肯定」の計 4 種類の誤りを人手で付与した. 表 4 に文末表現を置換した対照応答対の一例を示す。

## 4.3 助詞を置換した対照応答対

助詞を置換した対照応答対も，文末表現を置換した対照応答対と同様に人手で作成した. 内容語の置換と同様に bi-gram 言語モデルを用いた自動作成も試みたが，置換後の語として文脈・文法的に適切な助詞しか候補として挙がらなかったために人手で作成した. 作成時の注意点として, 置換後も同じ深層格（動作主格・対象格など）になる助詞を選択しないようにルールを設けた。例えば，「私は学生です」 という正しい文の主語「私」に続く助詞「は」を，「が」に置換した「私が学生です」は誤り文にならない，そこで，明らかに誤りとなる助詞に置換するようにした. 表 5 に助詞を置換した対照応答対の一例を示す。
表 63 種類のモデルが生成した応答文の適切性に関する主観評価値の割合

## 5 対照応答対評価セットの評価実験

## 5.1 比較対象のニューラル対話モデルと主観評価による応答文の品質

内容語を置換した対照応答対を EL, ML で 350 ぺアずつ，文末表現を置換した対照応答対を 231 ペア (内訳：平叙 $\rightarrow$ 疑問 89 ，疑問 $\rightarrow$ 平叙 51 ，肯定 $\rightarrow$ 否定 66，否定 $\rightarrow$ 肯定 25)，助詞を置換した対照応答対を 100 ペアの計 1031 ペアを作成した.

この対照応答対評価セットが，対話モデルの応答性能を正しく反映できるか評価するために， 3 種類のニューラル対話モデルを用意した。
- Double Attention: 第 3 節の誤り分析に用いた 2 つの Encoderとそれぞれに対する注意機構をもつモデル.
- Single Attention: 佐々木さんの直前の発話用の Encoder 1つと注意機構をもつモデル. 吉田さんの一つ前の発話は考慮できない.
- No Attention: 佐々木さんの直前の発話用の Encoderを持つが，注意機構は持たないモデル。

Single Attention モデル, No Attention モデルは, Double Attention モデルをベースに性能を劣化させたモデルなので，生成される応答文の品質は順に低くなると予想されるが，それを確認するために主観評価を実施した.

主観評価には，評価データから無作為抽出した 1200 セットについて，各モデルが生成した応答文を用いた.まず応答の適切性について，1:応答が不適切，2:どちらともいえない，3:応答が適切の 3 段階で評価してもらった. 次に，1:の不適切な応答について，1）文脈上不適切な内容語を含む誤り (ICW), 2）文末表現の誤り (ESE), 3) 助詞の誤り (FNC), に該当するかチェックしてもらった. 各モデル 1200 個の応答文について， 1 応答文あたり 5 名の評価者に評価してもらったため，各モデル 6000 の主観評価値を得た。応答文の適切性に関する 3 段階評価の割合を表 6 に示す. No Attention, Single Attention, Double Attention の順に，適切な応答は増加し，不適切な応答は減少した．ただし，適切な応答の差分は表 7 不適切と判定された応答文に対して評価者が該当す

表 8 対照応答対評価セットならびにサブセットに対する 3 種類のモデルの正解率

$2.5 \%$ に収まった. 評価者が不適切と判定した応答文に対して該当するとされた 3 種類の誤りラベルの割合を表 7 に示す. No Attention, Single Attention, Double Attention の順に，文脈上不適切な内容語を含む誤り (ICW) は減少したが，助詞の誤り (FNC) は逆に増加した。文末表現の誤り (ESE) は 3 種類のモデルで僅かな差であった。

## 5.2 対照応答対による評価結果比較

対照応答対評価セット全体と各サブセットに対する正解率を表 8 に示す. 評価セット全体 (ALL) に対する正解率は，No Attention, Single Attention, Double Attention の順に上昇したが，サブセットに対する正解率は表 7 に示した主観評価による誤りラベルの割合と整合するものと整合しないものがあった. 内容語を置換した対照応答対について，ELでは正解率が高すぎて，モデルの性能を測るよい指標になっていないと考えられる。これに対して，MLでは正解率が $80 \%$ 前後となり，モデルの性能を測るのに適当な值を示している. 文末表現を置換した対照応答対については，主観評価ではモデル間の差が小さかったが，正解率は Double Attention モデルが高かった.助詞を置換した対照応答対については，主観評価では Double Attention モデルの誤りが僅かに多かったが，正解率は Double Attention モデルが高かった.

## 6 おわりに

本稿では，ニューラル対話モデルの自動評価に向けた対照応答対評価セットを試作した. ニューラル対話モデルの性能を粗く評価できる感触は得られたが，評価セットのサイズを大きくするとともに，より多くのモデルを用いて検証を進める必要があると考えている。 さらに，非タスク指向型対話モデルといってもドメインは様々に異なるため，対照応答対の自動生成を検討する予定である.

## 参考文献

[1]A. Sordoni, M. Galley, M. Auli, C. Brockett, Y. Ji, M. Mitchell, J. Nie, J. Gao and B. Dolan, "A Neural Network Approach to Context-Sensitive Generation of Conversational Responses", in Proc. NAACL-HLT 2015, pp. 196-205, 2015.

[2]A. Vaswani, N. Shazeer, N. Parmer, J. Uszkoreit, L. Jones, A. Gomez, L. Kaiser and I. Polosukhin, "Attention Is All You Need”, in NIPS 2017, pp. 5998-6008, 2017.

[3]C. Liu, R. Lowe, I. Serban, M. Noseworthy, L. Charlin and J. Pineau, "How NOT to Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation", in Proc. EMNLP 2016, pp. 2122-2132, 2016.

[4]C. Tao, L. Mou, D. Zhao and R. Yan, "RUBER: An Unsupervised Method for Automatic Evaluation of Open-Domain Dialog Systems" arXiv:1701.03079, 2017.

[5]T. Hashimoto, H. Zhang and P. Liang, "Unifying Human and Statistical Evaluation for Natural Language Generation”, in Proc. NAACL 2019, pp. 1689-1701, 2019.

[6]A.Ghandeharioun, J. Shen, N. Jaques, C. Ferguson, N. Jones, A. Lapedriza and R. Picard, "Approximating Interactive Human Evaluation with Self-Play for Open-Domain Dialog Systems", in NIPS 2019, pp.13658-13669, 2019.

[7]R Sennrich, "How Grammatical is Character-level Neural Machine Translation? Assessing MT Quality with Contrastive Translation Pairs", in Proc. EACL, pp.376-382, 2017.

[8]R. Bawden, R. Sennrich, A. Birch and B. Haddow, "Evaluating Discourse Phenomena in Neural Machine Translation”, in Proc. NAACL-HLT 2018, pp. 1304-1313, 2018.

[9]E. Voita, R. Sennrich and I. Timov, "When a Good Translation is Wrong in Context: Context-Aware Machine Translation Improves on Deixis, Ellipsis, and Lexical Cohesion”, in Proc. ACL 2019, pp.1198-1212, 2019

[10]永田, 森下, “日本語から英語への文脈翻訳テストの提案”, 言語処理学会第 25 回年次大会, 2019 .

[11]J. Li, M. Galley, C. Brockett, J. Gao and B. Dolan, "A Diversity-Prompting Objective Function for Neural Conversation Models, in Proc. NAACL-HLT 2016, pp. 110-119, 2016.

[12]鈴木, 加藤, 田村, 呉, 楊, 服部, “ニューラル対話モデルの自動評価に向けた応答文の誤り分析”, 電子情報通信学会総合大会 2021, 発表予定.


# ルールベースと生成ベースを融合した雑談対話の発話生成手法

薛強
神戸大学システム情報研究科
xueqiang@kobe-u.ac.jp
}

滝口 哲也
神戸大学システム情報研究科
takigu@kobe-u.ac.jp
}

有木 康雄

神戸大学システム情報研究科

ariki@kobe-u.ac.jp
## 1 はじめに

オープンドメイン雑談対話システムの発話生成手法は主に三種類ある。一つ目は、手作業によるルー ルに従って作動するルールベースである。二つ目は、大量テキストデータから、現在の入力の応答として相応しいテキストを検索する検索べースである。三つ目は、会話形式のテキストデータを用いて機械学習により学習した生成モデルを用いて、発話を生成する生成べースである。

近年、生成ベースモデルの研究が主流となっている。その中で、Microsoft が開発した大規模な対話データを使った対話生成モデルである DialoGPT[6] や、Googleが開発した膨大なパラメータを持つ対話生成モデルである Meena[7] などの、attention 機構を持つ transformer[5] ベース対話モデルが知られている。

しかし、生成ベース型の対話システムで生成した応答文は、多様性は高いが適切な生成内容を制御することが難しいため、自然性が低いという問題がある。一方、ルールベース型の対話システムで生成した応答文は、自然性は高いが事前設定した応答文が限られているため、多様性が低いという問題がある。

本研究では、雑談対話システムにおいて出力する応答文を前半と後半に分け、それぞれルールベースと生成ベースで生成することで、自然性が高くかつ多様性が高い応答文を生成する手法を提案する。

## 2 関連研究

ルールベースと検索ベースの融合型対話システムとして、目黒らは、ユーザ発話がルールを用いて返答すべき発話か否かを識別することで，ルールベー

図 1 従来システムのアーキテクチャ

ス型対話システムと統計的発話生成手法との融合に基づく対話システムを提案した [1]。

ルールベースと生成ベースの融合型対話システムとして、我々は感情と欲求に基づく融合型雑談対話システムをこれまでに提案している [2]。図 1 に示すように、このシステムの言語計画部では、ユー ザの発話に対して、まずルールベースと生成ベースにより複数の応答文を生成し、次に言語出力部でどの応答文を返答すべきかを判断する。このシステムは、ルールベース型の対話システムとして取り扱うことができ、生成べースの役割が低く、応答文の多様性が低いという問題があった。

提案システムは, このシステムのアーキテクチャを発展させたものであり、感情と欲求に基づくルー ルベースを採用している。

## 3 提案手法

ルールベースの発話生成手法では、生成する応答文の多様性に問題がある。これを改善するため、提案手法は，発話を全て事前に設定するのではなく、発話の前半部分のみを事前に設定し、これを受け

図 2 提案システムのアーキテクチャ

て, 多様性が高い発話生成手法である生成ベースにより、発話の後半部分を生成するものである。

後半の生成ベースの発話生成では、停止トークンを認識するまで単語または単語の一部であるトークンを順番に生成することから、発話の後半部分を連続的に生成することが可能になる。また、生成べー スでは、ルールベースで生成した適切な応答に基づいて生成できるため、生成する応答文の自然性も改善できると考えられる。

提案手法の対話システムは、図 2 のようなアーキテクチャーになっている。まず，ルールベースモデルでは、ユーザの発話文に対して、感情生成部と段階欲求部が出力した感情と欲求の値により、手作業で設定したパタンを用いて前半の応答文を生成する。生成ベースモデルでは、テキスト対話文を学習データとして学習させたニューラルネットワークモデルを用いて、応答文を生成する。このとき、ルー ルベースモデルで生成した前半の応答文の一部を、生成ベースモデルの入力として、停止トークンを認識するまで連続に生成ベースモデルで後半の応答文を生成する。

図 3 に示すプロセスのように、従来の生成ベースモデルは，入力文に対して開始トークン、応答文を構成する各トークン、停止トークンの順番で応答文を生成する。提案システムの言語出力部における生成ベースモデルは，最初に入力されるのが入力文だけではなく、開始トークンと前半の応答文を構成している各トークンも入力される。モデルはそれらの入力に対して、後半の応答文を構成している各トー クン、停止トークンの順番で応答文を生成する。

## 4 実験および結果

実験では、まず大量のテキスト対話文を生成ベー スモデルに学習させ、そのモデルを用いて生成内容の制御手法を評価することで、提案手法の有効性を

図 3 生成ベースモデルの生成プロセスの違い

表 1 制御手法の評価

明らかにする。次に、提案手法を用いた融合型雑談対話システムと、従来の融合型雑談対話システムの比較実験を行う。

融合型雑談対話システムの生成ベースモデルとして、100M パラメータ数を持つ DIaloGPT モデルを用いている。学習データは Twitter で収集した 10 万の対話文である。デコーダ戦略は最も生起確率が高い上位 $\mathrm{k}$ 個のトークンから確率的に選択する top-k sampling[3]、及び生起確率が最大のトークンから順番に取り、確率の和を計算し、和が $\mathrm{p}$ 以下のトークンから確率的に選択する top-p sampling[4] 手法を用いている。ルールベースモデルでは、感情と欲求の種類と値により、全部で応答文 100 文を事前設定した。

## 4.1 制御手法の評価実験

生成ベースモデルの出力として、与えられたター ゲット応答文とシステム応答文の適切性の関係について、機械翻訳評価手法である BLEU を用いて、評価実験を行った。評価実験の結果を表 1 に示す。值が大きいほど良い評価であることを意味する。生成モデルは、DialoGPT- $N$ T で表している。ここで、 $N$ とは生成ベースモデルに与えられたトークンの数である。与えられたトークン数の増大により、生成ベースモデルがよりターゲット応答文の内容に近づくことが分かった。4つのトークンが与えられたときに、約半分の生成内容は与えられた応答文と関係があった。
表 2 各対話システムの対話例

## 4.2 対話システムの比較実験

生成ベースモデル DialoGPT、従来システム、提案システムで生成した発話例を表 2 に示す。赤色部分は提案システムの生成ベースにより、生成した後半の応答文である。サンプリングのデコーダ戦略を用いているため、提案システムの二つ異なる対話例を挙げ、それぞれ提案システム 1 と提案システム 2 で表している。

第一の対話例では、ユーザ発話に対して認識した感情と欲求がない場合であり、ルールベースで応答を出力することができず、生成べースのみで応答を生成したため、三つのシステムが同じ応答を生成している。

第二と第三の対話例では、ユーザ発話に対して認識した感情と欲求がある場合であり、従来システムと提案システムのルールベースが作動する。従来システムは多様性がない同じ応答文を生成する一方、提案システムでは, 自然性が高い前半の応答文の内容に基づいて、多様性が高い後半の応答文を生成できていることが分かる。

第三の対話例では、時間情報によって欲求が食欲になったため、ルールベースモデルはもう一つの応答文を生成している。

## 5 おわりに

本稿では、ルールベースモデルと生成ベースモデルにより各々, 前半と後半部分の応答文を生成
する、発話生成手法を提案した。提案手法により、 ルールベースモデルで応答文を全て設定する必要がなくなり、ルールベースを構築するコストが減少できると考えられる。

今後、異なるルールベースモデルを用いて比較実験を行う予定である。また、提案手法で生成した応答文の多様性を向上させるため、応答文を前後に分けるのではなく、品詞や意味などに沿って分ける手法を研究する予定である。

## 参考文献

[1] 目黒豊美, 杉山弘晃, 東中竜一郎, 南泰浩. ルールベー ス発話生成と統計的発話生成の融合に基づく対話システムの構築. The 28th Annual Conference of the Japanese Society for Artificial Intelligence, ,2014.

[2] 薛強, 滝口哲也, 有木康雄. 感情・欲求に基づく主観性を持つ雑談対話システム. 言語処理学会第 26 回年次大会発表論文集,2020 年 3 月.

[3] Angela Fan, Mike Lewis and Yann Dauphin. Hierarchical Neural Story Generation, 2018; arXiv:1805.04833.

[4] Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes and Yejin Choi. The Curious Case of Neural Text Degeneration, 2019; arXiv:1904.09751.

[5] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin. Attention Is All You Need, 2017; arXiv:1706.03762.

[6] Yizhe Zhang, Siqi Sun, Michel Galley, Yen-Chun Chen, Chris Brockett, Xiang Gao, Jianfeng Gao, Jingjing Liu and Bill Dolan. DialoGPT: Large-Scale Generative Pretraining for Conversational Response Generation, 2019; arXiv:1911.00536.

[7] Daniel Adiwardana, Minh-Thang Luong, David R. So, Jamie Hall, Noah Fiedel, Romal Thoppilan, Zi Yang, Apoorv Kulshreshtha, Gaurav Nemade, Yifeng Lu and Quoc V. Le. Towards a Human-like Open-Domain Chatbot, 2020; arXiv:2001.09977.


# 文献抄録中の主題材料に着目した超伝導材料に関する情報抽出

山口京佑 ${ }^{1}$ 旭 良司 ${ }^{2}$ 佐々木裕 ${ }^{1}$
1 豊田工業大学
2 株式会社 豊田中央研究所
${ }^{1}$ \{sd19453, yutaka.sasaki\}@toyota-ti.ac.jp,
${ }^{2}$ ryoji.asahi@chem.material.nagoya-u.ac.jp

## 1 はじめに

近年物質科学の分野では，機械学習をはじめとする情報科学のアプローチを物質科学に適用することで，属人的な知見に依存しない効率的な材料探索を目指すマテリアルズインフォマティクス (Materials Infomatics; MI) の研究が活発化している [1]. MI においては所望の材料および物質特性に関する大量のデータが必要となるが，現状ではその多くが関係データベースのような形で構造化されておらず，開発を進める上でのボトルネックとなっている.

超伝導材料は医療機器やリニア新幹線といった幅広い分野へ応用されている材料であり, 物質科学において重要な材料の一つである．銅酸化物系の高温超伝導体 [2] が発見されて久しいが，実応用に向けては転移温度や臨界磁場がより高く，加工しやすい材料が必要とされている $[3,4]$.

本研究では，文献抄録から超伝導材料に関する情報をスロット抽出するシステムの構築を目指す. 本研究の概要を図 1 に示す. システム構築に際して, まずは抄録 1,000 件に対して抽出したい超伝導材料情報を注釈付けし，教師データを作成する。提案システムは固有表現・関係・イベント抽出モデルと主題材料分類モデルの 2 つのニューラルネットワークと，これらの予測結果を統合して最終的なスロット抽出を行うルールベースのモジュールで構成される. 作成した教師データを基に 2 つのモデルを独立に学習し, 予測時にはパイプラインでつなげて運用する.

## 2 超伝導情報の注釈付け

我々の先行研究 [5] において，超伝導材料に関する文献抄録 1,000 件に対して7つの固有表現クラスを注釈付けした。本研究ではこれを拡張する形で，

図 1 本研究の概要

超伝導材料に固有の情報である転移温度とドーピング情報を関係付けし，これらを対応する材料組成に紐づけることでスロット抽出を行う。抄録 1 件に注釈付けした例を図 A. 1 に示す. 本研究で特に重要な固有表現クラスは以下の 3 つである。その他のクラスに関しては表 A. 1 を参照されたい。

Element "Ti", "oxygen", " $\mathrm{YBa}_{2} \mathrm{Cu}_{3} \mathrm{O}_{7}$ " といった元素名や化合物名を対象とする．2.1 節と 2.2 節で述べる転移温度・ドーピング情報の紐づけ対象である。

Doping: “doping", "substitute", "addition”などのドーピング操作を表すエンティティを対象とする。本研究ではイベントトリガーとして再定義される.

Value: “ $45 \%$ ” “ $95 \mathrm{~K}$ ”といった単位まで含めた定量表現全般を対象とする。

超伝導材料に固有の情報を抽出するにあたり，本研究では上記に加えて新たにSC クラスを定義した。

SC: 超伝導を意味する “superconductivity” や超伝導への転移温度を表す “Tc” など，超伝導特性に関するエンティティを対象とする。

## 2.1 転移温度の注釈付け定義

物質科学における定量情報は多くの場合，属性名と属性値の関係で整理できる。これらの間の等価性を表す関係クラスとして Equivalent を定義した。

ここで Equivalent は属性名から属性値に対して注釈付けされ，文内の関係のみを対象とする. 転移温度の場合，文献中では “ $T_{c}=95 K$ ” のように記述されることが多く，抽出したい属性名は固有表現クラス SC に，属性値は Value に属する。

## 2.2 ドーピング情報の注釈付け定義

文献中でのドーピングに関する情報はイベントの枠組みで定義可能である．例として“Zn doping into the $\mathrm{CuO}_{2}$ plane” を仮定すると，この場合 “doping” がイベント発生を表すトリガーとなり，イベント引数として “Zn”が材料へ添加物であるドーパント， “ $\mathrm{CuO}_{2}$ ” がドーパントの受け入れ先であるサイトと解釈できる. これを踏まえ, 本研究では先行研究 [5] で固有表現クラスとして定義した Doping をイベントトリガークラスとして再定義し，イベントロールクラスとして Dopant と Siteを新たに定義した.

## 2.3 超伝導材料情報の注釈付け定義

本研究では固有表現クラス Element に属する材料組成に対して転移温度・ドーピング情報を紐づける形でスロット抽出を行う。これらを紐づけるための関係クラスとして Target を定義した. ただし Target は転移温度・ドーピング情報から材料組成に対して注釈付けされ，文内のみを対象とする。

ここで問題となるのが，材料組成と転移温度・ ドーピング情報が文を跨いで言及される場合であり，文内の関係を対象とする Target による紐づけのみでは情報の取りこぼしが発生してしまう。本研究では，抄録において文献の主題となる材料に関する事実や実験結果が集約して述べられている場合が多い事実に着目し，抄録中の主題材料を特定した上で転移温度・ドーピング情報を紐づける方法を提案する。

主題材料の特定は Element エンティティを対象にそれぞれが文献の主題であるか否かを判定する二値分類問題として設定し, 注釈付けは Element エンティティの内，主題材料であるものを新たに定義した固有表現クラス Main で上書きする形で行う．なお，転移温度・ドーピング情報の主題材料への紐づけは 3.3 節で述べるルールに従って行われる.

抄録中では材料組成に対するドーピングの結果として転移温度が記述される場合がある.この場合ドーピングが転移温度を条件付けしていると解釈でき，この時成り立つ関係クラスとして Conditionを

図 2 主題材料分類モデルの概要

定義した。ただしCondition は転移温度からドーピングのイベントトリガーに向かって注釈付けされ，文内の関係のみを対象とする。

## 3 提案システム

提案システムは固有表現・関係・イベントを抽出

ルネットワークと，これらの結果を統合しスロット抽出するルールベースのモジュールで構成される.以下ではそれぞれについて詳しく述べる。

## 3.1 固有表現・関係・イベント抽出

本研究では固有表現・関係・イベントの同時抽出手法である DyGIE++ [6] を用いる. DyGIE++は各タスクを解く手掛かりとなる情報を相互にグラフ伝搬する機構により，それぞれのエンドタスクで高い抽出性能を実現している．原著論文ではこれら 3 つのタスクの補助タスクとして共参照解析も同時に解いているが，本研究では共参照を注釈付けしていないため，このタスクは対象外とした。

## 3.2 主題材料分類

DyGIE++で抽出されたElement エンティティを対象に，それぞれが主題材料であるか否かの二値分類問題を解く. 提案モデルの概要を図 2 に示す.

主題材料を特定する上では抄録全体の文脈を考慮する必要があるため，モデル入力は文単位ではなく抄録全体とする。単語埋め込み手法は BERT [7] を長い系列長が扱えるように改良した Longformer [8] を用いる. 入力系列を $T=\left.\{x_{1}, x_{2}, \ldots, x_{L}\right.\}$ とすると， Longformer の表現ベクトルは以下で表される.

$
\boldsymbol{x}_{1}, \boldsymbol{x}_{2}, \ldots, \boldsymbol{x}_{L}=\text { Long former }\left(x_{1}, x_{2}, . ., x_{L}\right)
$

$
\text { ただし, } \boldsymbol{x}_{i} \in \mathbb{R}^{d} \text { である. }
$
次に抄録中の各 Element エンティティについて， スパンを構成する全トークンの表現ベクトルの要素平均を以下のように計算し，スパン表現 $g_{i}$ を得る.

$
\boldsymbol{g}_{i}=\frac{1}{n-m+1} \sum_{j=m}^{n} \boldsymbol{x}_{j}
$

ただし， $m, n$ はそれぞれスパン $\boldsymbol{g}_{i}$ の先頭トークンインデックス，末尾トークンインデックスであり， $0 \leq m \leq n \leq L$ である.

さらにスパン表現 $\boldsymbol{g}_{i}$ を以下の式で計算することで，スパンが主題材料である確率 $p_{i}$ を得る. $p_{i}$ が 0.5 よりも小さい場合には「主題材料でない」，大きい場合には「主題材料である」としてモデルの予測結果が得られる.

$
p_{i}=\operatorname{Sigmoid}\left(\boldsymbol{w}^{t}\left(\operatorname{ReL} U\left(\boldsymbol{g}_{i}\right)\right)\right)
$

ただし， $w \in \mathbb{R}^{d}$ である.

学習時は損失関数としてバイナリ交差エントロピー損失 (Binary Cross Entoropy Loss; BCELoss) を用い，パラメータ更新は Longformer を含めたネットワーク全体に対して抄録単位で行う。

## 3.3 ルールによるスロット抽出

DyGIE++と主題材料分類モデルにより抽出された情報は事前に定義したルールにより，材料組成・ ドーパント・サイト・転移温度の４つからなるスロットとして抽出される。大まかなルールは以下の通りである。

1. Condition クラスで関係付けされた転移温度とドーピング情報をスロットに埋める

2. Target クラスで関係付けされた材料組成と転移温度・ドーピング情報をスロットに埋める
3. 2 で紐づけされなかった転移温度・ドーピング情報について，最も近いMainエンティティを対応する材料組成とみなしてスロットに埋める

## 4 実験

作成した注釈付きコーパスを 10 分割して訓練データ 800 件，検証データ 100 件，テストデータ 100 件の組み合わせを 10 パターン用意し，提案システムの学習と評価を行った. コーパス全体の解析結果を表 A.2, 表 A.3，表 A. 4 に示す。なお，以下で述べる表中の評価スコアは 10 個のモデルの平均および標準偏差である.

## 4.1 固有表現・関係・イベント抽出の評価

実験は著者実装のモデル1)を用いて行った．実験設定の詳細を表 A. 5 に示す. 各タスクの評価結果はそれぞれ表 1 , 表 2 , 表 3 の通りである.

表 1 より本研究で重要な 3 つの固有表現クラス Element, Value, SC は高い精度で抽出できていることが分かる. 表 2 の関係クラスの評価はエンティティペアの固有表現クラスと関係クラスの予測結果が正しい場合のみ真陽性とした。 スロット抽出を行う上で特に重要な Target は $\mathrm{F}$ 值が $77.1 \%$ という結果となった. 表 3 の Total はイベント全体の評価であり， トリガーと引数の固有表現クラス，トリガーと引数間のイベントロールが全て正しい場合を真陽性としてカウントした. Total のスコアが高いのは全体としてドーパントがサイトの約 4.5 倍の出現回数あり，ドーパントの精度に引っ張られていることに起因している。

## 4.2 主題材料分類の評価

ここではモデルへの入力として人手で注釈付けした正しいElement を与えた場合と，DyGIE++が予測したElementを与えた場合の 2 通りで評価した. 実験設定を表 A. 6 に，評価結果を表 4 に示す.

人手による正解の Element 情報を与えた場合は， $\mathrm{F}$ 值が平均で $83.9 \%$ という結果となった (Gold). この結果が主題材料分類モデルの本来の分類性能である. DyGIE++による予測結果の Element 情報を与えた場合には， $\mathrm{F}$ 值が平均で $75.7 \%$ という結果となった (DyGIE++) 。表 1 から DyGIE++の Element の予測精度は $89.4 \%$ であるため，この分の誤差が含まれたスコアとなっている。

## 4.3 End-to-End でのスロット抽出の評価

ここではまず，注釈付きコーパスをルールで変換した際の主題材料への紐づけ精度の検証を行った。 ランダム選択した 200 件を対象にルールによる主題材料への紐づけで抽出されたスロットが正しいかを

変換であることが分かった. これを踏まえ，ここでは注釈付きコーパスに対してルールを適用して得られたスロットを正解として扱うこととした。得られたスロットの解析結果を表 A. 7 に示す.

上記の正解スロットに対して，材料組成への明

1) https://github.com/dwadden/dygiepp
示的な紐づけを行う DyGIE++のみを用いて得られたスロットの抽出精度 (Rel. only) と, これと併せて材料組成への暗黙的な紐づけを行う主題材料分類モデルを用いて得られたスロットの抽出精度 (E2E: End-to-End)を表 5 に示す.

Rel. only と E2Eを比較すると再現率が 2 倍近く向上しており，主題材料を用いた暗黙的な紐づけが効果的であることが明らかとなった. 一方で適合率は， Rel. onlyよりも E2E の方が若干低下しており，主題材料へ暗黙的に紐づけする場合よりも明示的な紐づけを行う場合の方が正確性が高くなるだろうという直感に従う結果が得られた. E2E の $\mathrm{F}$ 值は $64.7 \%$ となり,これが提案システムにおける最終的なスロット抽出精度である。

## 5 関連研究

Tshitoyan ら [9] は，無機材料全般に関する文献抄録 330 万件を用いて word2vec [10]を学習し, 単語間のベクトル表現の類似度が高いもの同士を調査することで文献中に埋め込まれた知識を獲得するアプローチを提案している。

Weston ら [11] は無機材料に関する抄録を，山口ら [5] は超伝導材料に関する抄録を対象に，材料名や分析手法といった材料全般に共通する固有表現抽出の取り組みを報告している。

大西ら [12] は学術文献から材料設計で重要となるプロセス・構造・特性に関するエンティティとその相関関係を遠距離教師あり学習の枠組みで抽出する手法を提案している. 抽出されたエンティティとそれらの相関関係は知識グラフとして整理される。

ChemDataExtractor [13] は論文中の見出し・パラグラフ・キャプション・表を対象として, 化学組成とそれに紐づく属性情報を抽出する手法である. 具体的には，まず品詞情報と固有表現を機械学習を用いて取り出し, それらの情報を基にテキストを句構造解析することで所望の情報を抽出する流れとなっている. 句構造解析では人手で定義したルールが用いられている。

超伝導に関する学術文献に ChemDataExtractor を適用した研究として [14] が報告されている.ここでは磁性・超伝導特性を発現する材料とその転移温度を抽出し，それを元に機械学習を用いた転移温度の予測モデルが提案されている. また，別のアプロー チで同様の超伝導材料とその転移温度のペア情報を抽出する研究として [15]が報告されている. これら
の先行研究では, 本研究が抽出対象としているドー ピングに関する情報は扱われていない。

## 6 おわりに

本研究では文献抄録中で記述される超伝導材料に固有の情報として，定量情報である転移温度と実験操作であるドーピング情報をそれぞれ関係抽出とイベント抽出の枠組みでタスク化し，これらを関係抽出と主題材料情報を用いて対応する材料組成に紐づけることにより，スロット抽出システムを構築した. End-to-End のスロットの抽出精度として F 值約 64\%が得られることを世界で初めて明らかにした。今後の主な課題として, スロット情報の拡張と文書レベルでのシステム構築が挙げられる。

## 参考文献

[1]Rampi Ramprasad, Rohit Batra, Ghanshyam Pilania, Arun Mannodi-Kanakkithodi, and Chiho Kim. Machine learning in materials informatics: recent applications and prospects. npj Computational Materials, Vol. 3, No. 1, pp. 1-13, 2017.

[2]J.G Bednorz and K.A. Müller. Possible hightc superconductivity in the ba-la-cu-o system. Zeitschrift für Physik B Condensed Matter, Vol. 64, No. 2, pp. 189-193, 1986.

[3]Malozemoff et al. High-temperature cuprate superconductors get to work. Physics Today, Vol. April, pp. 41-47, 2005.

[4]Foltyn et al. Materials science challenges for hightemperature superconducting wire. Nature Mater., Vol. 6, pp. 631-642, 2007.

[5]Kyosuke Yamaguchi, Ryoji Asahi, and Yutaka Sasaki. SCCoMIcs: A superconductivity corpus for materials informatics. In Proceedings of the 12th Language Resources and Evaluation Conference, pp. 6753-6760, Marseille, France, May 2020. European Language Resources Association.

[6]David Wadden, Ulme Wennberg, Yi Luan, and Hannaneh Hajishirzi. Entity, relation, and event extraction with contextualized span representations. In EMNLP/IJCNLP, 2019.

[7]Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: pre-training of deep bidirectional transformers for language understanding. In Jill Burstein, Christy Doran, and Thamar Solorio, editors, Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2019, Minneapolis, MN, USA, June 2-7, 2019, Volume 1 (Long and Short Papers), pp. 4171-4186. Association for Computational Linguistics, 2019.

[8]Iz Beltagy, Matthew E. Peters, and Arman Cohan. Longformer: The long-document transformer. arXiv:2004.05150, 2020.

[9]Vahe Tshitoyan, John Dagdelen, Leigh Weston, Alexander Dunn, Ziqin Rong, Olga Kononova, Kristin A Persson, Gerbrand Ceder, and Anubhav Jain. Unsupervised word embeddings capture latent knowledge from materials science literature. Nature, Vol. 571, No. 7763, pp. 95-98, 2019.

[10]Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, and K. Q. Weinberger, editors, Advances in Neural Information Processing Systems, Vol. 26, pp. 3111-3119. Curran Associates, Inc., 2013.

[11]L. Weston, V. Tshitoyan, J. Dagdelen, O. Kononova, A. Trewartha, K. A. Persson, G. Ceder, and A. Jain. Named entity recognition and normalization applied to large-scale information extraction from the materials science literature. Journal of Chemical Information and Modeling, Vol. 59, No. 9, pp. 3692-3702, 2019. PMID: 31361962.

[12]Takeshi Onishi, Takuya Kadohira, and Ikumu Watanabe. Relation extraction with weakly supervised learning based on process-structure-property-performance reciprocity. Science and technology of advanced materials, Vol. 19, No. 1, pp. 649-659, 2018.

[13]Matthew C Swain and Jacqueline M Cole. Chemdataextractor: a toolkit for automated extraction of chemical in- formation from the scientific literature. Journal of chemical information and modeling, Vol. 56, No. 10, pp. 1894-1904, 2016.

[14]Callum J Court and Jacqueline M Cole. Magnetic and superconducting phase diagrams and transition temperatures predicted using text mining and machine learning. npj Computational Materials, Vol. 6, No. 1, pp. 1-9, 2020.

[15]Luca Foppiano, Thaer Dieb, Akira Suzuki, and Masashi Ishii. Proposal for automatic extraction framework of superconductors related information from scientific literature. 電子情報通信学会サービスコンピューティング研究会 2019 年度第一回研究会, 第 43 回 MaDIS 研究交流会合同研究会, 2019.

## A 付録

図 A. 1 抄録 1 件に注釈付けした例

表 A. 1 その他の固有表現クラス

表 A. 2 固有表現クラスの解析結果

表 A. 3 関係クラスの解析結果

表 A. 4 Doping イベントの解析結果

表 A. 5 DyGIE++の実験設定

エポック 50

最適化手法 AdamW

学習率 $5 \mathrm{e}-4$

ターゲットタスク関係抽出

スパン長さ 10

表 A. 6 主題材料分類モデルの実験設定エポック 30

最適化手法 AdamW

学習率 $2 \mathrm{e}-5$

表 A. 7 ルールにより抽出されたスロットの解析結果


# STILTs を適用した機械読解による Wikipedia 記事の構造化

石井 愛
日本ユニシス株式会社 総合技術研究所
ai.ishii@unisys.co.jp

## 1 はじめに

自然なコミュニケーションで問題解決に導いていく人に寄り添う AI を実現するためには，人の言葉の文脈を理解することや，人の常識や知識を共有することが必要とされる. より大規模で体系だった知識ベースの整備が望まれる中で，森羅プロジェクト [1]では, Wikipediaを機械可読な構造に変換する構造化を目指している. 既存の知識べースの一貫性の課題を解決するため，森羅では，あらかじめ定義された名前のオントロジーである「拡張固有表現」[2]（以降，ENE）にWikipedia 記事を分類し，ENE に定義されている属性に対応する値を記事中から抽出する.森羅では, ENE に定義されている属性に対応する値を記事中から抽出する部分を「日本語 Wikipedia 構造化タスク」として, 評価型ワークショップを開催し, 同時に参加者のシステムによるリソース構築を進めている.

本稿では, 日本語 Wikipedia 構造化タスクを, 機械読解タスクとして定式化し, BERT[3]の事前学習モデルを用いて解くシステムにおいて, STILTs[4] と呼ばれる中間タスクを用いる手法を提案する。提案手法は，スパースなデータセットにおいて，限られた GPU リソース上で実行可能で, かつ機械読解の性能を向上させる効果的な学習を可能とする．評価実験では，中間タスクを用いない場合と比較し，提案手法の有効性を検証する。

## 2 日本語 Wikipedia 構造化タスク

日本語 Wikipedia 構造化タスクは, Wikipedia 記事のカテゴリごとに ENE に定義されている属性に対応する値を Wikipedia 記事中から抽出するタスクである. たとえば「企業名」カテゴリでは, 属性として「正式名称」,「事業内容」など 34 種類の属性が ENE で定義されている[5]. あらかじめ各カテゴリに分類された Wikipedia 記事と, 属性値の記事中の出現箇所をアノテーションした教師データが与えられ， それをもとに未アノテーションの記事を含むすべて
の記事から属性値を抽出する。そのうち非公開の 100 記事を用いて評価が行われる[6].

2019 年に開催された「森羅 2019-JP」では, 記事数の多いカテゴリを中心とした JP-5 グループの，人名, 市区町村名, 企業名, 化合物名, 空港名の 5 力テゴリおよび，地名グループと組織名グループからなる 28 カテゴリが対象とされた. アノテーションデータは, JP-5 は各カテゴリ約 1000 記事, 地名および組織名は各カテゴリ約 200 記事である. 属性值は, 1 記事内に複数存在する場合や, 一つも存在しない場合がある. JP-5 のアノテーションデータにおける，一つの記事内の属性値の個数を平均すると, 最大の属性で 46.8 , 最小の属性で 0.03 , カテゴリごとの中央値は $0.53 \sim 1.03$ であり，属性によっては非常にスパースなデータである.

## 3 関連研究

日本語 Wikipedia 構造化タスクと直接関連が強い固有表現抽出において，Li ら[7,8]は，BERT を用いた機械読解手法で他の手法よりも良い精度を達成している[9].これまで開催された日本語 Wikipedia 構造化タスクにおいても，DrQA[10]を応用した機械読解システム[11]や RoBERTa[12]を用いた機械読解システム[13]が良い成績を収めている $[1,6]$. 評価型夕スクの結果の分析では, 属性值が単語ではなく文で記載されやすい「製造方法」などの属性の抽出，および訓練データが少ないカテゴリにおける属性値の抽出で精度が伸びないことが課題として示された。訓練データが少ないカテゴリにおいては，カテゴリ間で共通する属性が存在するため，[13]のシステムのようにカテゴリを横断して学習を行うことの有効性が示唆されている[6]. ただし, BERT や RoBERTa のような事前学習モデルを用いて多数あるカテゴリを横断して学習を行うには，大きな GPU リソースが必要となる.
表 1 機械読解用に変換したデータの例

 \\

機械読解は, 質問と, 解答のための情報源となるテキスト (パッセージ) を入力として，解答となる情報をパッセージから抽出するタスクである。機械読解システムは, 質問に答えるだけでなく, 与えられたパッセージに解答となる情報が含まれていない場合にそれを判断する必要がある. 解答できない問題を含む機械読解のデータセットである SQuAD 2.0[14]において, Retrospective Reader[15]は, パッセ ージに解答が含まれているかどうかを 2 値分類するタスクと，パッセージから解答を抽出する機械読解タスクに役割をわけ, 別々のモデルで学習, 予測した結果を統合することで, 良い精度を達成している。

BERT のような事前学習モデルの性能をさらに改善する方法の一つとして, 最初に中間タスクで事前学習モデルをファインチューニングしてから, 対象とするターゲットタスクで再度ファインチューニングする手法が提案されている[4,16-18]. これらの手法はSTILTs と呼ばれている.ターゲットタスクごとに事前学習モデルを一から作成することは計算コストが非常に高いため, 計算コストが低く実装が容易な手法として注目されている.

## 4 提案手法

## 4.1 提案手法の概要

日本語 Wikipedia 構造化タスクを, Wikipedia 記事内のパッセージから質問（属性名）の値となる解答 （属性値）出力する, 解答できない問題を含む機械読解タスクとして解く. 本タスクのデータセットでは属性によって属性値が一つも含まれない記事が多数存在し, さらに記事をパッセージに分割するため解答できない問題が非常に多くなる. そこで, 解答
できない問題を除外し，グループ内の全カテゴリを横断して学習する中間タスクを用いることを提案する. 解答できない問題を除外することでデータ件数を削減し, 限られた GPU リソース上で実行可能とする. カテゴリを横断して学習することで，訓練デ一タが少ないカテゴリにおいて類似するカテゴリからの学習結果が得られること, 解答可能かどうかの判断は行わないことで役割分担ができ, 効果的な学習が行われることを狙う，中間タスクでファインチユーニングしたモデルを用いて対象のカテゴリのみで学習するターゲットタスクでは，解答できない問題も含めて学習する.

提案手法は Retrospective Reader[15] と同様に役割をわけて学習を行うが，別々のモデルではなく中間タスクとした点と, 解答可能かどうかの判断をする 2 值分類タスクではなく機械読解タスクとする点で異なる. 予備調查の結果から, 2 值分類タスクの場合, 正解データに抽出する箇所の情報が含まれないため, 学習の際の情報量が不足すると考えられたためである.

BERT の出力は, [13]を参考に, 各単語の $\mathrm{BIO}$ 夕グとする，BIO夕グは固有表現抽出においてよく用いられる正解ラベルで, B, I, O は, それぞれ単語が解答の先頭，内側，外側にあることを示すものである。

## 4.2 機械読解用データセットへの変換

Wikipedia 記事内を，HTML タグを分析して小見出しごとに区切ったものをパッセージpとし, $p$ の範囲内に含まれる属性値のデータから属性を質問 $q$, 属性值を解答 $A=a_{1}, a_{2}, \ldots, a_{k}$ とするデー夕に変換する. $p$ に属性値が含まれない属性は $k=0$ となる. $a_{i}$ は $p$ 内における開始・終了位置情報および,解答の文字列である. 表 1 に機械読解用に変換したデータの例を示す. pは HTML タグ中のオプション部分を空白で置き換える処理を行って作成する.

## 4.3 機械読解モデル

BERT を用いた機械読解モデルは， $(p, q, A)$ を入力として, 各単語の $\mathrm{BIO}$ タグを出力する. 中間夕スクとターゲットタスクのモデルは共通である.

BERT への入力系列は, 質問 $q$ の単語トークン列 $\mathrm{q}=q_{1}, q_{2}, \ldots, q_{m}$ およびパッセージ $p$ の単語トークン列 $\mathrm{x}=x_{1}, x_{2}, \ldots, x_{n}$ を以下のように連結したものとする.
表 2 データ件数

} & \multicolumn{3}{|c|}{} \\

$\left.\{[\mathrm{CLS}], q_{1}, q_{2}, \ldots, q_{m},[\mathrm{SEP}], x_{1}, x_{2}, \ldots, x_{\mathrm{n}}\right.\}$

ここで, [CLS], [SEP] は BERT の特別なトークンである. 単語トークン系列 $\mathrm{x}=x_{1}, \ldots, x_{j}, \ldots, x_{n}$ に対応する BERT の最終層の隠れ状態べクトル $T_{\mathrm{x}}$ を力とする分類層で，ラベルごとのスコア $S_{\mathrm{x}}=$ $S_{x_{1}}, \ldots, S_{x_{j}}, \ldots, S_{x_{n}}$ を出力する. $S_{x_{j}}$ が最も大きいラべルを予測ラベル $y_{x_{j}}^{\prime}$ とし, 正解ラベル $\mathrm{y}=y_{x_{1}}$,

$\ldots, y_{x_{j}}, \ldots, y_{x_{n}}, y_{x_{j}} \in\{\mathrm{B}, \mathrm{I}, 0\}$ との交差エントロピー 誤差を用いて BERT のファインチューニングを行い，単語トークンごとに 3 値に分類する問題を解く. 予測時には予測ラベルy'がB, Iの系列となった単語トークン列を解答候補とし, 単語トークン列および単語トークン列のラベルのスコアの平均値をスコアとして出力する.

また，BERT の入力系列には長さの制限があり，最大トークン長以内に収める必要がある. 入力系列が最大トークン長よりも長くなる場合, [SEP]の後ろの系列を，設定したトークン数（ストライド）分ずらしながら複数の入力系列を生成する.

## 4.4 解答候補のルールによる整形

機械読解モデルが出力する解答候補は, 以下のル ールで整形する.
- 解答文字列前後の HTML タグの削除
- 空文字および漢字以外で 1 文字の解答を除外
- HTML タグ，および記号のみの解答を除外

## 5 実験

## 5.1 実験設定

モデルの構築には，公開されているBERTの事前学習済みモデルである「NICT BERT 日本語 Pretrained モデル BPEあり」[19]（以降，NICT BERT モデル) を利用した. 解答可能性付き読解データセ
ット[20]を利用した既存の日本語BERTモデルとの比較[21]において, 最も高い性能となったモデルである.システムの実装は，BERTのpytorchの実装 [22]利用した。いくつかのカテゴリにおける事前調查の結果から, バッチサイズは 32 , 学習率は $2 \mathrm{e}-$ 05 , トークンの最大長は 384 , ストライドは 128 とした. エポック数は最大值を 10 とし，Devセットにおいて精度が最も良いモデルを選択した. 入力文字列はNICT BERTモデルの仕様に合わせ，MeCab-Juman 辞書[23]で形態素に分割後, subword-nmt[24]で生成された語彙を用いてsubwordに分割してトークン化した.

## 5.2 データセット

森羅 2019-JP においてシステム開発用に配布されたアノテーションデータを, 提案手法の入力形式に変換した．データセットは訓練（以降 Train），検証 (以降 Dev)，テスト(以降 Test)それぞれ， $85 \%$ ， $5 \% ， 10 \%$ の割合で分割し，Trainでモデルの訓練， Dev でモデル選択, Test でモデルの評価を行った.生成した BERT 用の入力系列の Train, Dev, Test の件数を表 2 に示す. 中間タスクのデータセットは，グループ内のすべてのカテゴリを横断したデー タセットである．表 2 で示したように，Train と

Dev から解答できない問題を除外することで，おおよそ 10 分の 1 程度のデータ件数になった。

## 5.3 評価指標

森羅のスコアラー[25]にて算出される属性ごとの F値のマイクロ平均を, 各カテゴリの評価指標とする. 地名および組織名に関しては, グループに含まれるカテゴリごとのF值のマイクロ平均をさらに平均した値を用いる。

## 6 結果と考察

## 6.1 提案手法の有効性

提案手法の有効性を評価するため, 森羅2019-JP における非公開の 100 記事を用いた評価型ワークシヨップでの評価との比較結果をを表 3に示す. 他のシステムと比較し, 提案手法は, JP-5の5カテゴリおよび地名, 組織名の平均值において, 他の手法を0.01から0.12上回る結果となった。
$ 全カテゴリの結果が提出されたチームの結果を掲載.
}
表 3 他の手法との比較結果

 &  & Tanaka &  \\

表 4 中間タスクの有効性の評価

} & 空港名 & 0.819 & $\mathbf{0 . 8 3 0}$ \\
\cline { 2 - 4 } & 市区町村名 & 0.630 & $\mathbf{0 . 6 6 1}$ \\
\cline { 2 - 4 } & 企業名 & 0.590 & $\mathbf{0 . 6 0 8}$ \\
\cline { 2 - 4 } & 化合物名 & 0.518 & $\mathbf{0 . 5 8 1}$ \\
\cline { 2 - 4 } & 人名 & 0.750 & $\mathbf{0 . 7 5 1}$ \\

表 5 抽出が難しい属性についての調査結果

 & 属性名 &  &  \\

## 6.2 中間タスクの有効性

中間タスクの有効性を評価するため, 以下のモデルの比較結果を表 4亿示す.
- BERT モデル:中間タスク無しでカテゴリごとにファインチューニングするモデル
- 提案手法: 中間タスクでファインチューニング後に，カテゴリごとにファインチューニングするモデル

表 4のとおり, 提案手法はBERTモデルと比較して，寸べてのカテゴリで結果が改善した．訓練デー 夕件数が少ない地名および組織名においても，中間タスクが有効であることが示された.次に，抽出が難しい属性について抽出能力を向上させることができたかどうかを検証する．抽出が難しい属性として，解答文字列長の平均が 100 文字以上の属性を対象として調査した結果を表 5亿示す.提案手法はBERTモデルと比較して，調查したすべての属性で結果が改善した。地名および組織名の「名前の謂れ」,「地名の謂れ」という属性は, 正解デ一夕が1カテゴリに平均60件前後と少なく，かつ，解答文字列長は長いことから，特に抽出が難しい属性である。中間タスクにおいて，グループ内の複数のカテゴリの正解データを用いることができたことが精度の改善につながったと考える。また，化合物名の「製造方法」や，市区町村名の「地名の謂孔」 については, JP-5グループ内に同じ属性は存在しないにもかかわらず，精度が向上している，中間タスクにおいて解答できない問題を除外したことで，解答可能かどうかの判断はターゲットタスクにまかせ ，機械読解能力を効果的に学習できたと考える.

## 7 おわりに

本論文では，日本語Wikipedia構造化タスクを，解答できない問題を含む機械読解タスクとして定式化し，中間タスクを用いたBERTによる機械読解システムを提案した，中間タスクでは，解答できない問題を除外することでデータ件数を削減し，複数の力テゴリを横断した学習を可能とした。解答が含まれているかどうかの判断をターゲットタスク学習時のみにする施策と，複数のカテゴリを横断することで正解データが少ない属性に対応する施策が有効に働き，これまでの手法よりも優れた性能を達成することが示された。しかしながら, 生成した知識データを利用するには，データ件数の少ないカテゴリや属性の抽出精度をさらに改善していく必要がある．類似度の高い属性を集めて学習するなどの工夫を今後の課題としたい.

## 謝辞

本研究は, 森羅プロジェクトからデータを提供していただいて実施しました。森羅プロジェクトの皆様，意見交換させていただいたプロジェクト参加者の皆様に感謝を申し上げます。

## 参考文献

1. SATOSHI, Sekine, KOBAYASHI, Akio and NAKAYAMA, Kouta. SHINRA: Structuring Wikipedia by Collaborative Contribution. In : AKBC. 2019.

2. SEKINE, Satoshi. Extended Named Entity Ontology with Attribute Information. In : LREC. 2008.

3. DEVLIN, Jacob, CHANG, Ming-Wei, LEE, Kenton and TOUTANOVA, Kristina. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. In : NAACL. 2019.

4. PHANG, Jason, FÉVRY, Thibault and BOWMAN, Samuel R. Sentence Encoders on STILTS: Supplementary Training on Intermediate Labeled-data Tasks. ArXiv, 2018. ArXiv ID: 1811.01088v2

5. 拡張固有表現階層定義 Version 8.0.0. http://1iat-

aip. sakura. ne. jp/ene/ene8/definition_jp/

6. 小林暁雄, 中山功太, 安藤まや and 関根聡. Wikipedia構造化プロジェクト「森羅2019-JP」. In：言語処理学会第26回年次大会(NLP2020). 2020.

7. LI, Xiaoya, FENG, Jingrong, MENG, Yuxian, HAN, Qinghong, WU, Fei and LI, Jiwei. A Unified MRC Framework for Named Entity Recognition. In : ACL. 2020

8. LI, Xiaoya, SUN, Xiaofei, MENG, Yuxian, LIANG, Junjun, WU, Fei and LI, Jiwei. Dice Loss for Data-imbalanced NLP Tasks. In : ACL. 2020

9. LI, Jing, SUN, Aixin, HAN, Jianglei and LI, Chenliang. A Survey on Deep Learning for Named Entity Recognition. 2020. arXiv:1812. 09449

10. CHEN, Danqi, FISCH, Adam, WESTON, Jason and BORDES, Antoine. Reading Wikipedia to Answer Open-Domain Questions. In : BARZILAY, Regina and KAN, Min-Yen (eds.), ACL. 2017.

11. 石井愛. 機械読解によるWikipediaからの情報抽出. In ：言語処理学会第25回年次大会 (NLP2019). 2019.

12. LIU, Yinhan, OTT, Myle, GOYAL, Naman, DU, Jingfei, JOSHI, Mandar, CHEN, Danqi, LEVY, Omer, LEWIS, Mike, ZETTLEMOYER, Luke and STOYANOV, Veselin. RoBERTa: A Robustly Optimized BERT Pretraining Approach. 2019. arXiv:1907. 11692

13. 中山功太. RoBERTaを用いたQA式属性値抽出システム. In：森羅2019-JP 最終報告会資料。2019

14. RAJPURKAR, Pranav, JIA, Robin and LIANG, Percy. Know What You Don' $t$ Know: Unanswerable Questions for SQuAD. In : ACL. 2018.

15. ZHANG, Zhuosheng, YANG, Junjie and ZHAO, Hai. Retrospective Reader for Machine Reading Comprehension. arXiv. 2020. arXiv:2001. 09694.

16. WANG, Alex, HULA, Jan, XIA, Patrick, PAPPAGARI, Raghavendra, MCCOY, R. Thomas, PATEL, Roma, KIM, Na joung, TENNEY, Ian, HUANG, Yinghui, YU, Katherin, JIN, Shuning, CHEN, Berlin, VAN DURME, Benjamin, GRAVE, Edouard, PAVLICK, Ellie and Bowman, Samuel R. Can You Tell Me How to Get Past Sesame Street? Sentence-Level Pretraining Beyond Language Modeling. In : ACL. 2019.

17. CLARK, Christopher, LEE, Kenton, CHANG, MingWei, KWIATKOWSKI, Tom, COLLINS, Michael, TOUTANOVA, Kristina and ALLEN, Paul G. BoolQ: Exploring the Surprising Difficulty of Natural Yes/No Questions. In : NAACL-HLT. 2019

18. SAP, Maarten, RASHKIN, Hannah, CHEN, Derek, LEBRAS, Ronan and CHOI, Yejin. SocialIQA: Commonsense Reasoning about Social Interactions. EMNLP-IJCNLP. 22 April 2019

19. NICT BERT 日本語 Pre-trained モデル. https://alaginrc. nict. go. jp/nictbert/index. html

20. 鈴木正敏, 松田耕史, 岡崎直観 and 乾健太郎. 読解による解答可能性を付与した質問応答データセットの構築. In ：言語処理学会第24回年次大会 (NLP2018). 2018.

21. Experiments_on_RCQA. https://alaginrc. nict. go. jp/nictbert/Experiments_on_RCQA. html

22. WOLF, Thomas, DEBUT, Lysandre, SANH, Victor, CHAUMOND, Julien, DELANGUE, Clement, MOI, Anthony, CISTAC, Pierric, RAULT, Tim, LOUF, Rémi, FUNTOWICZ, Morgan and BREW, Jamie. HuggingFace's Transformers: State-of-the-art Natural Language Processing. 2019. arXiv:1910. 03771

23. KUDO, T. MeCab: Yet Another Part-of-Speech and Morphological Analyzer.

http://chasen. org/taku/software/mecab/.

24. GitHub - rsennrich/subword-nmt: Unsupervised Word Segmentation for Neural Machine Translation and Text Generation. https://github. com/rsennrich/subword-nmt

25. GitHub-k141303/shinra_jp_scorer：森羅2020夕スク用のスコアラー.

https://github.com/k141303/shinra_jp_scorer


# 日本語文章における Katz K Mixture Model の分析

服部 祥大 ${ }^{1}$ 吉田 光男 ${ }^{2}$ 梅村 恭司 ${ }^{1}$
1,2 豊橋技術科学大学 情報・知能工学系
 }^{1}$ hattori.shota.mu,umemura $\} @$ tut.jp
${ }^{2}$ yoshida@cs.tut.ac.jp

## 1 はじめに

文書中における語の繰り返し出現を表現するモデルとして，Katz K Mixture Model が存在する。このモデルは，文章中に語がちょうど $k$ 回出現する確率を推定することができる [1].

文章中における語の繰り返しは，語の持つ意味と深く関わっていることが知られている。 ある文章に語が 1 回以上出現した場合に，その文章に語が 2 回以上出現する条件付き確率は反復度と呼ばれ，固有名詞や専門用語，キーワードなどにおいて高くなる [2]. 更に，日本語のような語の境界の情報を持たない言語においても，部分文字列の反復度を用いることで語の境界を特定し，キーワード抽出を行うことが可能である [3]. また，Katz K Mixture model における語の再出現の条件付き確率が一定であるという仮定をもとにして，条件付き確率が，繰り返しの回数に応じて単調増加しないものをテンプレートに使用される語句として抽出する試みも行われている [4].

これらの手法を利用するためには文書頻度を求める必要がある. この文書頻度を効率的に計算するアルゴリズムが存在し，コーパス中のすべての部分文字列に対して文書頻度を求めることができる [5]. このアルゴリズムを用いることでコーパス中の語を網羅的に調査することが可能となる.

Xu らは Katz K Mixture Model の仮定によって発生する問題に対応することで，推定の精度が向上することを報告している [6]. この報告は英字新聞コー パスにおいて実験・観察を行った結果に基づいており, 日本語で同様の現象が生じるかは確認されていない。そのため，本論文では英字新聞コーパスにおいて確認された振る舞いが日本語コーパスにおいても生じているかを確認し, 日本語においても同様の改善が可能であるかを調査した結果を報告する.日本語では，英語と言語の構造が異なり，特に代名詞が使われることが少ないことから，語の繰り返しの出現はより顕著であると考えられる．また，今回の実験では，コーパスに百科事典である Wikipedia を用いており，百科事典は特定の項目に対する説明の集合である。そのため, 主題となりうる語の繰り返しは，新聞よりも顕著になると考えられる。

この 2 点から, Wikipedia 日本語版における実験では, 繰り返しが多いときに問題となる Katz K Mixture Model における仮定について，より考慮するべきであると考えられる．本論文では，英字新聞の場合と同じようにこの仮定が問題となることを確認した。

## 2 Katz K Mixture Model

Katz K Mixture Model は 3-way classification をもとに考案されている [1]. 3-way classification とはある語に対して文章を

unrelated 語が出現せず，語と文章が関係ない non-topical 語が出現し，語が文章の主題ではない topical 語が出現し，語が文章の主題である

の 3 つに分類するもので，これらの文章の比率が Katz K Mixture Model のパラメータとなる.ここで，non-topical な文章と topical な文章の分類は，主題となる語は著者によって繰り返し用いられるという仮定をもとに，語が 1 回のみ出現する文章が non-topical に分類され，複数回出現する文章は topical に分類される。また，topical な文章における語の再出現の条件付き確率は一定であると仮定され, モデル化される. このとき, non-topical の文書を特別扱いしない，2 パラメータモデルも提案されている.

Xu らは繰り返しの条件付き確率が一定値として扱われることで，non-topical な文章において語が偶然に繰り返す場合が見落とされていると考え，再出現の条件付き確率について調査を行った。調査によ

り，形容詞や代名詞，接続詞などの機能語では上記の仮定が成り立つが，固有名詞などの内容語では，語の繰り返しが多いほど再出現の条件付き確率は高くなり，大きな出現数で安定する傾向にあることが分かった. また，この結果を元にして語の出現回数が少ない場合に対応する減衰係数と, 分布の末尾に対応する減衰係数を組み合わせることで頻度推定の精度が高まることが示された。

本論文で使用する記号の定義を以下に示す。これらの記号は Xu らの論文に従っている。

 \\

以降は $w$ を省略して $c f や d f(k)$ のように表記をする。

Xu らの論文において Katz の 3 パラメータモデルは次の式で表されている.

$
\begin{aligned}
& P(t f(D)=k) \\
& =(1-\alpha) \delta_{k, 0}+\alpha \times(1-\gamma) \times \delta_{k, 1} \\
& \quad+\frac{\alpha \times \gamma}{\beta+1}\left(\frac{\beta}{\beta+1}\right)^{k-2} \times\left(1-\delta_{k, 0}-\delta_{k, 1}\right) \\
& \delta_{i, j}= \begin{cases}1 & \text { iff } i=j \\
0 & \text { otherwise }\end{cases}
\end{aligned}
$

パラメータは次の式で推定される.

$
\begin{aligned}
\hat{\alpha} & =\frac{d f(1)}{N} \\
\hat{\gamma} & =\frac{d f(2)}{d f(1)} \\
\hat{\beta} & =\frac{c f-d f(1)-d f(2)}{d f(2)}=\frac{c d f(3)}{d f(2)}
\end{aligned}
$

ここで

$
\frac{\beta}{\beta+1}=\frac{c d f(3)}{c d f(2)}
$

が topical な文章における再出現の条件付き確率となり，この減衰係数に従って繰り返し回数が多くなるほど語が丁度 $k$ 回出現する確率が減少していく。

2 パラメータモデルでは, その減衰係数は次の式で表される.

$
\frac{\beta}{\beta+1}=\frac{c d f(2)}{c f}
$

## 3 実験

本論文の実験ではコーパスとして日本語 Wikipedia のダンプデータ（総記事数 $1,225,965$ 件） を使用し，本文の抽出には WikiExtractor.pyを用いた.また，長い文章が多い Wikipedia の本文をそのまま使用すると語が偶然に繰り返すことが多く発生し, 条件付き確率の分布の様子を確認することが難しくなってしまったため, 本文の最初から 4 段落目までを対象とすることで文章長の制限した.

$\mathrm{Xu}$ らと同じように条件付き確率を $P(k+1 \mid k), 1 \geq$ $k \geq 8$ において観察するため, 分析の対象とする語は $d f(9) \geq 2$ かつ $d f(k+1) \neq d f(k)$ を満たすものとした.

## 3.1 機能語と内容語の分布の違い

機能語と内容語の間では，再出現の条件付き確率の分布の様子が異なると，Xu らは報告している.日本語コーパスにおいても同様の特徴があるか確認するため，いくつかの機能語と内容語について条件付き確率の分布を求めた. それぞれの分布を図 1 と図 2 にプロットする.

Katz は，語が一回だけ使用されている non-topical な状態から，語が繰り返し使用される topical な状態へと変化する確率が $P(2 \mid 1)$ であり $, P(k+1 \mid k), k \geq 2$ は topical な状態のときにどの程度の確率で, 語が再度使われるかの確率であるとしている. 図 1 を確認すると，機能語では，分布の末尾部分が不安定になっていることを無視すれば，殆どの語の条件付き

図 $1:$ 機能語の条件付き確率の分布

図 2: 内容語の条件付き確率の分布

確率がおおよそ $\mathrm{x}$ 軸に水平であり，Katz K Mixture Model の仮定に沿っているといえる。

図 2 の内容語では, $P(2 \mid 1)$ が $P(3 \mid 2)$ と比べて明らかに小さいことが確認できる。 また， $P(3 \mid 2)$ と $P(4 \mid 3)$ を比較すると $P(4 \mid 3)$ の方が大きな値をとっており, 出現回数 $k$ が増えるとともに, $P(k+1 \mid k)$ の值が徐々に大きくなり，安定していくことが分かる. これは，繰り返し出現の回数が大きくなるほど，偶発的な再出現が減り, 主題となる再出現の影響が大きくなるためである.この条件付き確率の振る舞いは Katz K Mixture Model における条件付き確率が一定値であるという仮定とは一致していない.

## 3.2 減衰係数と条件付き確率の比較

より詳しく内容語の条件付き確率の分布について調査する. 142 個の内容語においてそれぞれのモデルの減衰係数と条件付き確率の平均値, 中央値, 第 1 ・第 3 四分位数を比較したグラフを図 3 に示す. すべての統計值において 3.1 で確認された結果と同様に， $P(2 \mid 1)$ の確率が $P(k+1 \mid k), k \geq 2$ と比較してかなり小さいことが分かる。また，条件付き確率は繰
り返し回数に応じて大きくなっていき一定の值で落ち着く傾向にあることが確認できる。これは，語の繰り返し回数が少ない場合には偶然に語が繰り返すことの影響が残っており, 繰り返し回数が多くなるほどに主題に関連した繰り返しの影響が大きくなっていくことが理由であると考えられる。ここで，2 パラメータモデルの減衰係数である $c d f(2) / c f$ を条件付き確率と比較すると $P(k+1 \mid k), k \geq 2$ はこのモデルにおいて実際の値よりも小さく見積もられていることがわかる．同様に 3 パラメータモデルの減衰係数である $c d f(3) / c d f(2)$ においては $P(3 \mid 2)$ が過大に見積もられる一方で， $P(k+1 \mid k), k \geq 3$ が実際の値よりも小さく見積もられている.

それぞれの語に対する減衰係数と $P(2 \mid 1), P(3 \mid 2)$ の比較をを図 4 にプロットする．殆どの語において $d f(3) / d f(2)$ が， $c d f(2) / c f$ と $c d f(3) / c d f(2)$ の間に存在することが確認でき，日本語においても Katz の 3 パラメータモデルは繰り返しの確率 $P(3 \mid 2)$ を高く見積もり過ぎているということが示された。

Xu らは，特に $P(3 \mid 2)$ について， un-topical な状態と topical な状態の双方の影響を受けているとして， $\mathrm{k}$ に応じて減衰係数が変化するモデルを構築することでより実際の分布に近いモデルを作成した [6].

## 4 おわりに

本論文では，日本語において Xu らが提案したモデルを Katz K Mixture Model の代替として使用することが適当であるか検討した。

結果から，日本語においても語の再出現確率が実際の値よりも高く見積もられる問題が存在することが確認され，Xu らが提案したモデルによって，推定精度の改善が見込めることがわかった。

これから，日本語において Xu らのモデルを用いることで精度の改善が実際に行えるかなどを調査したい.

(a) 平均値

(c) 第 1 四分位数

(b) 中央値

(d) 第 3 四分位数

図 3: 条件付き確率 $P(k+1 \mid k)$ の統計值と減衰率の比較

図 4: 語ごとの条件付き確率と減衰率の比較

## 参考文献

[1] SLAVA M. KATZ. Distribution of content words and phrases in text and language modelling. Natural Language Engineering, Vol. 2, No. 1, p. 15-59, 1996.

[2] Kenneth W. Church. Empirical estimates of adaptation: The chance of two noriegas is closer to $p / 2$ than $p^{2}$. In $C O L-$ ING 2000 Volume 1: The 18th International Conference on Computational Linguistics, 2000.

[3] 武田善行, 梅村恭司. キーワード抽出を実現する文書頻度分析. 情報処理学会研究報告. NL, 自然言語処理研究会報告, Vol. 146, pp. 27-32, 2001.

[4] 藤原大輔, 高瀬暁央, 梅村恭司. テンプレートを構成する名詞の Katz モデルによる抽出の試み. 情報処理学会研究報告, 2007-NL-180, No. 25, pp. 145-149.

[5] Kyoji Umemura and Kenneth Church. Substring Statistics. In Computational Linguistics and Intelligent Text Processing, pp. 53-71, 2009.

[6] Yinghui Xu and Kyoji Umemura. Improvements of katz k mixture model. Journal of Information Processing, Vol. 12, pp. 131-155, 2005.