# テキストチャットを用いた雑談対話コーパスの構築と 対話破綻の分析

東中竜一郎 ・船越孝太郎 ${ }^{\dagger+}$ ・荒木 雅弘 ${ }^{\dagger \dagger}$ ・

対話システムが扱う対話は大きく課題指向対話と非課題指向対話（雑談対話）に分 けられるが, 近年 Web からの自動知識獲得が可能になったことなどから, 雑談対話 への関心が高まってきている。課題指向対話におけるエラーに関しては一定量の先行研究が存在するが, 雑談対話に関するエラーの研究はまだ少ない. 対話システム がエラーを起こせば対話の破綻が起こり，ユーザが円滑に対話を継続することがで きなくなる. しかし複雑かつ多様な内部構造を持つ対話システムの内部で起きてい るエラーを直接分析することは容易ではない。そこで我々はまず，音声誤認識の影響を受けないテキストチャットにおける雑談対話の表層に注目し, 破綻の類型化に 取り組んた。本論文では, 雑談対話における破綻の類型化のために必要な人・機械間の雑談対話コーパスの構築について報告し，コーパスに含まれる破綻について分析・議論する。

キーワード：対話システム，非課題指向対話，雑談，破綻，エラー分析
## Text Chat Dialogue Corpus Construction and Analysis of Dialogue Breakdown

\author{
Ryuichiro Higashinaka ${ }^{\dagger}$, Kotaro Funakoshi ${ }^{\dagger \dagger}$, Masahiro Araki $^{\dagger \dagger \dagger}$, \\ Hiroshi Tsukahara ${ }^{\dagger \dagger \dagger}$, Yuka Kobayashi ${ }^{\dagger \dagger \dagger \dagger \dagger}$ and Masahiro Mizukami ${ }^{\dagger \dagger \dagger \dagger \dagger}$
}

In general, there are two types of dialogue systems: the task-oriented dialogue system and the non-task-oriented or chat dialogue system. In recent years, chat dialogue systems have received much attention mainly because of the advances in automatic knowledge acquisition from the web. Nevertheless, few studies are dedicated to the error analysis of chat dialogue systems. This is in contrast with the many error-analysisrelated studies on task-oriented dialogue systems. An error in a chat dialogue system can lead to the dialogue breakdown, where users are no longer willing to continue the conversation. Therefore, error analysis is crucial in such systems. However, it is difficult to analyze errors in chat dialogue systems because of the complex internal structures of the systems. In the present study, we analyze and categorize the errors

in a text chat dialogue system on the basis of the surface form of the conversations. We construct a chat dialogue corpus between a chat system and users and analyze the dialogue breakdowns included in the corpus.

Key Words: Dialogue System, Non-Task-Oriented Dialogue, Chat, Breakdown, Error Analysis

## 1 はじめに

近年 Twitter による人間同士の短文のやりとりを始めとしたインターネット上の大量の会話データから自動知識獲得 (稲葉, 神園, 高橋 2014) が可能になったことや, 高性能な音声認識機能が利用可能なスマートフォン端末を多くの利用者が所有するようになったことで，雑談対話システムへの関心が，研究者・開発者側からも利用者側からも高まっている.

対話システムが扱う対話は大きく課題指向対話と非課題指向対話に分けられるが，雑談は非課題指向対話に分類される。課題指向対話との違いについていえば，課題指向対話では対話によって達成する（比較的）明確な達成目標がユーザ側にあり，一般に食事・天気など特定の閉じたドメインの中で対話が完結するのに対し，雑談では，対話をすること自体が目的となり，明確な達成目標がないなかで多様な話題を扱う必要がある。また, 課題指向対話では基本的に対話時間（目標達成までの時間）が短い方が望ましいのに対し，雑談ではユーザが望む限り対話を長く楽しめることが望まれる。そのため, 適切な応答を返すという点において, 雑談対話システムは，課題指向対話とは異なる側面で，様々な技術的困難さを抱える.

これまで, 雑談対話システムの構築における最も大きな技術的障壁の 1 つは, 多様な話題に対応する知識（応答パターン）を揃えるコストであった，上記のように，この問題はインターネットからの自動獲得によって解消されつつある。また，ユーザを楽しませる目的 (Wallace 2004； Banchs and Li 2012; Wilcock and Jokinen 2013) だけであれば，システムがおかしな発言をしてしまうことを逆手にとって，適切な応答を返しつづける技術的な困難さを（ある程度）回避してしまうことも可能である.

その一方で，雑談対話には，ユーザを楽しませるという噈楽的な価値だけでなく，ユーザとシステムの間の信頼関係の構築 (Bickmore and Cassell 2001) や, ユーザに関する情報（ユーザの好みやユーザの知識の範囲）をシステムが取得することでユーザによりよいサービスを提供することを可能にする (Bang, Noh, Kim, and Lee 2015), 遠隔地にいる老齢ユーザの認知・健康状態を測定したり認知症の進行を予防する (小林, 山本, 大内，長，瀬戸口，土井 2011), グループ内のコミュニケーションを活性化し人間関係を良好にする (Matsuyama, Akiba, Saito, and Kobayashi 2013), といった工学的・社会的価値が存在する. このため, 情報爆発, 少子高齢化, 生活様式の多様化と急激な変化による人間関係の複雑化といった諸問題を抱える現代社会において, 雑
談対話技術の更なる高精度化, すなわち適切な応答を返しつづける能力の向上が今まで以上に求められている.

雑談対話の高精度化のためには, 現状の技術の課題をエラー分析によって特定することが必要である。しかしながら, 課題指向対話, 特に音声対話システムにおける, 主に音声誤認識に起因するエラーに関しては一定量の先行研究が存在するが, テキストのレベルでの雑談対話に関するエラーの研究はまだ少なく, エラー分析の根本となる人・機械間の雑談対話デー夕の蓄積もなければ，そのデータに含まれるエラーを分析するための方法論・分類体系も十分でない.雑談対話システムがその内部でエラーを起こせば対話の破綻が起こり，ユーザが円滑に対話を継続することできなくなる。しかし, 対話システムは, 形態素解析, 構文解析, 意味解析, 談話解析，表現生成など多くの自然言語処理技術の組み合わせによって実現され，かつシステム毎に採用している方式・構成も異なるため, システム内部のエラーを直接分析することは困難であるし，システム間で比較したり，知見を共有することも容易ではない。そこで我々はまず雑談対話の表層に注目し，破綻の類型化に取り組んだ。本論文では，対話破綻研究を目的とした雑談対話コーパスの構築，すなわち人・機械間の雑談対話データの収集と対話破綻のアノテー ションについて報告する。そして，構築したコーパスを用いた分析によって得た破綻の分類体系の草案を示し, 草案に認められる課題について議論する。

以降，2 節で対話データの収集について説明する，今回，新たに対話データ収集用の雑談対話システムを 1 つ用意し， 1,146 対話の雑談対話データを収集した． 3 節及び 4 節では，上記の雑談対話データに対するアノテーションについて述べる。 24 名のアノテータによる 100 対話への初期アノテーションについて 3 節で説明し，その結果を踏まえて，残りの 1,046 対話について, 異なりで計 22 名, 各対話約 2 名のアノテータが行ったアノテーションについて 4 節で説明する．５節では，4節で説明した 1,046 対話に対するアノテーション結果の分析に基づく，雑談対話における破綻の類型について議論する，6節で関連研究について述べ，7節でまとめ，今後の課題と展開を述べる。

## 2 雑談対話データの収集

本研究は, Project Next NLP の対話タスク (関根 2015)の活動の一部として行われた。そのため，データ収集も対話タスクの参加者を中心に行った。本タスクに参加したのは，表 1 に示す大学・企業を含む 15 の拠点からの総勢 32 名である。これは，対話システムに関する国内のプロジェクトとして最大級の規模である.

雑談対話の収集は, 本研究のために新たに設けた専用のWeb サイト1で行った.この Web サ
^{1}$ http://beta.cm.info.hiroshima-cu.ac.jp/ inaba/projectnext/
}

イトでは，NTT ドコモが一般公開している雑談対話 API(大西，吉村 2014）２を用いた雑談対話システムが稼動しており，Web ブラウザでアクセスすることで，テキストでの雑談を行える。 このサイトでは，ユーザが 10 発話を入力すると対話が終了し，対話ログが出力されるようになっている。サイト側ではユーザ管理を行っておらず，ユーザが自己の対話を䌂めて後日提出することによって，ユーザと対話ログの対応が取れるようになっている。図 1 に雑談対話収集サイトのスクリーンショットを示す.

各拠点の参加者および参加者の知人にこの雑談対話システムと対話をしてもらい, 全部で 1,146 対話を収集した。収集は 2014 年 8 月 2 日から 31 日の間に行った。対話をする際には，図 2 に示す「対話ガイドライン (10箇条)」に沿うように教示をした。これは，現状の雑談対話システム技術が成熟していないこともあって，破綻だらけの対話ばかり収集されてしまわないためである。

ユーザ毎の対話数は 1 から 40 までばらつきがあるが, 全体のユーザ数は 100 名を超えている.表 2 は収集された雑談対話データの統計情報である. 収集した雑談対話の一例を以下に示す.

表 1 対話タスクの参加状況

 \\

図 1 雑談対話収集サイトの画面
^{2}$ https://www.nttdocomo.co.jp/service/developer/smart_phone/analysis/chat/
}

（1）たまたま待合室や飛行機などで隣り合った見知らぬ人と話すイメージで対話しましょう．特定の個人を想定して対話を行わないように注意してください。

（2）システムの発話はなるべく好意的に解釈し，対話を続けるように努力しましょう．システムの力量を試すような発話は控えてください. また，長文の入力や，人間でも答えにくいような難しい問いかけは避けてください.

(3) 対話毎に新しい気持ちで話しましょう．残念ながら，システムは前のあなたとの対話を覚えていません．新しい対話セッションでは，前回の対話のことは忘れて対話してください。

（4）自分から話題を開始しましょう. システムは, 話題となる単語（主に名詞）があると, その単語に基づいて対話を行うことができますが, そのような単語が見つからないとうまく対話ができないことがあります. システムから話題を振られるのを待つのではなく, 自分から話題を振りましょう。なお, マニアックな話題にはうまく対応できないことがあります.

(5) 自分から話題を変えましょう. システムは, 自分から話題を変えることをあまりしません. 対話が進展しなかったり, システムがよく分からない応答を繰り返したりするようなときは, 自分から新しい話題に変えてみましょう。

（6）何度も同じことを繰り返さないようにしましょう. システムの理解力が対話中に突然改善することはありません. ある発話について満足のいく回答が得られなくても, システムに対して, 同じ質問や発話を繰り返ししたりしないようにしましょう。

（7）誹謗中傷は控えましょう．ここで収集しているデータは公開されます。データを見た人が不快になるような発言は避けて下さい。誹謗中傷とは, システムに対するもの, 特定の個人に対するものの両方を含みます.

（8）個人情報を人力しないようにしましょう，公開されるデータであることを念頭において，名前，住所，電話番号などの個人情報は発話に含めないで下さい. 第三者の個人情報の入力は絶対にやめてください.

（9）日本語で大力しましょう．システムは日本語しか理解できません．また，大阪弁や博多弁などの方言にも対応していませんので，標準語で大力してください，顔文字・フェイスマークなども理解できませんので使用しないでください.

(10) 上記を守っていれば，あとは自由です．対話を楽しみましょう.

図 2 対話ガイドライン（10箇条）

表 2 収集された雑談対話データの統計情報

形態素解析には MeCab の version 0.996 （辞書は ipadic-2.7.0-20070801）を使用した. システム発話数は 12,606 となっているが，これは最初のプロンプト発話の 1,146 とユーザへの返答の 11,460 を合わせた値である.

S はシステム発話, U はユーザ発話を表す.

S: こんにちは! 声かけてくれるのを待ってたんだ。

$\mathrm{U}$ : 今日は最高気温 36 度だって。暑いねえ

$\mathrm{S}$ : 最高気温は 17 度が予想されます？？

U: いやいや猛暑ですよ

$\mathrm{S}:$ 猛暑に備えてますか？

$\mathrm{U}:$ うん、日傘さしたり、水飲んたり、クーラー入れたりしてる
$\mathrm{S}:$ クーラーは快適ですね

$\mathrm{U}:$ うん、会社だと朝はつけられないから死にそう

S：会社は冷房が効きますよねえ

$\mathrm{U}$ : 昼間は効くね。ここはパソコンがいっぱいあるからないと大変

S: 動きが悪いです

$\mathrm{U}:$ そうなの？こっちは快適だよ

$\mathrm{S}:$ パソコンは使い勝手が悪いです

## 3 初期アノテーション

収集した雑談対話データ全体に対して対話破綻をアノテーションする前に，その一部について初期アノテーションを行った。具体的には, 1,146 対話からランダムに 100 対話を抽出し, 夕スク参加者の中で全 100 対話のアノテーションを行える 24 人によってアノテーションを行った。作業期間は 2014 年 10 月 7 日から 17 日の間である。このアノテーションの目的は, 残りの 1,046 対話に対して，1 対話あたり何人のアノテータを割り当てるのが妥当かを検討することである。ここで作成したデータセットのことを以後 init100と呼ぶ.

アノテーションについては, どのようなエラーがあるのかを網羅的に分析したいという目的

ンするように指示した。それぞれの意味は以下の通りである。

破綻ではない：当該システム発話のあと対話を問題無く継続できる.

破綻と言い切れないが，違和感を感じる発話：当該システム発話のあと対話をスムーズに継続することが困難.

× 明らかにおかしいと思う発話（破綻）：当該システム発話のあと対話を継続することが困難.

多人数でアノテーションする場合には，○×の判断の分布によりそれらの中間状態を表現できるため，必ずしも $\triangle$ ような中間レベルを表すカテゴリを用意する必要はないが，アノテー

アノテーションには, 図 3 に示す専用のツールを使用した. ツールでは, 非文のチェックの他に，各発話に対してコメントを記入できるようになっている．また，先行する文脈のみに基づいて対話破綻のアノテーションが出来るように， 1 発話アノテーションする毎に，次のユー

つけた後の発話をどうアノテーションするかについては, 対話の先頭から, 破綻と夕グ付けされた発話を含むこれまでの文脈を「ありき（与えられたもの）」として，アノテーションするように教示した。すなわちアノテータは，破綻があったところで対話がリセットされたとはせず，
破綻も含めて先行文脈として作業を行った.

非文の定義は，「文法エラーなどにより日本語としての意味をなさない文」とし，会話体で許容される程度の「助詞落ち」や「ら抜き」は非文に該当しないとした。また, 全く意味が通らない発話であれば当然×を付けることになるが，非文であっても発話意図が汲み取れるのであれば，○やメを付けてもよいとした。

## 3.1 非文の割合

使用した対話システム (大西, 吉村 2014)の応答生成は, 人がすべて確認したテンプレートによるものではないので，非文の発生を完全に無くすことはできない. そこで，アノテーション時の非文のチェックの結果に基づき，文法レベルでの対話コーパスの品質を確認しておく.

最初のプロンプトを除くシステム発話全 1,000 発話において非文のチェックが付けられた発話の分布を表 3 に示す. 表 3 の 1 行目は, ある発話に対して非文と判断したアノテータの数を

図 3 雑談データ用破綻アノテーションツール

表 3 init100における非文の分布

表す. 2 行目は各人数のアノテータに非文と判断された発話の数を表す. 1 人でも非文と付けた発話は 1,000 発話中 127 あったが，過半数（13 人以上）が非文と付けたものはわずか 7 発話しかなかった，実際のデータを見ると，非文と判定したのが数名である発話はどれもアノテー ション指示者からみて非文と判断するようなものではなかった。（「ルールは多いです」「価値観は欲しいです」「話し相手に飢えます」など，不自然ではあるが『日本語としての意味をなさない文』とまでいえない発話であった)，仮に過半数以上が非文としたものを真の非文とし，それ以外をアノテーションの誤りとすれば，init100での非文の発生率は $1 \%$ 未満である。

今回の初期アノテーションでは, 24 人全員が 100 対話を同じ順序でアノテーションしている。その中で最も非文であると判定したアノテータが多いシステム発話は「熱中症に気をつけか？？」というものであった。この発話は 100 対話中で 4 回発生しており，4 発話に対して非文とチェックした人数は, 出現順で 19 人, 17 人, 13 人, 9 人であった. つまり過半数が破綻と付与した 7 発話のうち 3 発話は同一の発話であった.

同一内容の発話に対して「非文」とアノテーションした人数が大きくばらついているのは, 既に非文と付けた発話に対する非文のチェックをアノテータが省略したことが原因と思われる。非文のチェックは，任意とも指示していないが，厳守するようにも指示しなかった。また，非文のチェックボックスは任意入力のフィールドであったコメント闌の直前に置かれていた（図 3 参照).このため, 非文のチェックがアノテーションの主たる目的ではなく補助的な作業であったことから，後の方になるほどチェックを省略されてしまった可能性が高い。その事を考慮して，仮に四半（7 人）以上が非文と判定したものを「真の非文」と考えても，非文の発生率はおよそ $2 \%$ \%゙る。このことから, 今回のデータ中のシステム発話の品質は, 個々の発話の日本語文法のレベルでは，当面の研究に必要なレベルが担保されていると考える.

## 3.2 アノテータ間の一致度の分析

init100 に対して， 24 人のアノテータが付与したラベル $\bigcirc ， \triangle ， \times$ の割合を表 4 に示す. 24 人のアノテータ間の一致の程度を測るために Fleiss の $\kappa を$ 算出すると, 0.276 であった. (Landis and Koch 1977) も参考にすると，この値の解釈は「ランダムではないが，よく一致していると

と, 0.396 とやや一致の具合が高まる。 $\triangle$ ○含めると $\kappa$ は 0.277 にしか改善されないため,【は×により近いことが分かる。

表 4 init100 中の $\bigcirc \triangle \times$ の発生割合（発生数）

24 人のアノテータを Cohenの $\kappa$ 値をもとに Ward 法で階層クラスタリングを行うと, 図 4 のようになった，距離の定義やクラスタリングの手法を変えると， 2 つのクラスタの中でのまとまり方は細かく変わるものの, 大きな 2 つのクラスタ間での移動はほとんど見られなかった.図 5 に示す 24 人のアノテータの分布を見ると，○をつける傾向の大小で，前述の 2 クラスタ

0.414 (11人) と 0.474 (13人) であり，これらの值は「適度に一致している」と解釈できる。前者, 図 4 の左側のクラスタ, を $\mathrm{C} 1$ と呼ぶ. このクラスタは○を多く付けるアノテータのクラスタである．後者, 同右側のクラスタ，を $\mathrm{C} 2$ と呼ぶ. このクラスタは○を少なく付ける破綻に厳しいアノテータのクラスタである。

表 5 に， 24 人のアノテータの属性（性別, 年齢層, 職業, 関係性）の分布を示す. 職業の「学生」は大学生および大学院生, 教員は大学教員を指す. 関係性の「当事者」は, 対話タスクに参加している研究者 (会社員, 教員, 学生) のことで, 関係者は, 対話タスクには直接参加し

図 4 アノテータのクラスタリング結果（番号はアノテータ ID）

図 5 アノテータ毎の $\bigcirc \triangle \times$ を付与した割合（横軸はアノテータ ID）

ていないが，前述の当事者と同じグループで対話システムに普段から関わりのある仕事をしていることを意味する，無関係は，当事者と知己であるが，対話システムの研究開発とは普段関わりがないことを指す。性別・年齢層には， C1 と $\mathrm{C} 2$ の間に目立った違いは見て取れない．職業・関係性をみると，教員・当事者が C1 側にやや多い印象を受けるが，Fisher の正確確率検定では $\mathrm{C} 1, \mathrm{C} 2$ 間に統計的に優位な差はない（いずれも $p>.2$ ），従って，表 5 に示した属性だけでは，新規のアノテータがどちらのグループに属するかを予測することは難しく，実際にアノテーションを行ってもらって傾向を把握するしかない.

24 人のアノテータからランダムに $N$ 人を選び出したとき，ラベルの分布がどれだけ全体の分布から離れているのかを表したグラフを図 6 に示す。横軸は $N$ の数で，縦軸は Kullback-Leibler divergence の対称平均の値である。黒丸が 1,000 回サンプリングした際の平均値を示す。下向き三角は 1,000 回中の最大值，上向き三角は 1,000 回中の最小値を表す. アノテータが 1 人から 2 人になる段階で，平均值からの乘離は半分近く縮まり，あとは，なだらかに 24 人の分布に近寄っていくことが分かる.

図 7 に， $\triangle \times$ の各ラベルを付与された数毎の発話数のグラフを示す. 左側のグラフは集計結果をそのまま示したもので，横軸が，ある発話について付与された特定のラベルの数（0 から

表 5 アノテータの属性分布

図 624 人のラベル分布とランダムサンプリングした $N$ 人のラベル分布の異なり

図 7 各ラベルを付与された数毎の発話数（横軸：付与されたラベルの数, 縦軸：発話の度数）左図 : 元データ, 右図 : 5 区間に集約した結果

24）を表し, 縦軸が，そのような発話の度数を表す。右側のグラフは, 解り易さのため, 左側のグラフを加工したものである。 0 から 24 までのラベルの数を 5 区間に区切り, 各区間の積算值をプロットしてある。このグラフから，破綻ラベル×が過半数以上に付与されてる発話の数

ことを表している， $\triangle$ とを併せて計数した場合のグラフは，図中の○のグラフを左右反転させたものに等しくなる。

○の数と， $\triangle$ と庰せた数とが 12 対 12 で半分に割れた発話の分析も行った。すると，表面的には間違ってるとは言えないけれども, 違和感がありそうな応答が多かった.「こういうことは普通ここでは言わない」という印象は持つものの，なぜそれを言わないかの説明が難しいものが多い。また，発言の意図が読みにくそうな発話，ユーザの話を聞いていないと感じられる発話, 社会的に問題がある発話, ふざけているようにも見える発話なども判断が割れていた. これらの判定を分析することは, 対話における認知の研究として学術的に面白い課題となり得る。以下は，評価が半分に割れた発話（下線部）を含む対話の例である。

$\mathrm{U}:$ 他に好きな楽器はありますか？

S: サックスがいいですね

$\mathrm{U}:$ サックスは木管楽器なんですよね

S: 相性がいいですね

$\mathrm{U}:$ 台風は大丈夫でしたか

S: 台風は必要です

U: 雨は必要ですよね

## $\mathrm{S:$ 朝から雨が降るのです}

これは発話の意図が読みにくいため，「それがどうしたのか」という印象を受ける発話である.

U: 夏って感じがします

S: 海は騒がしいですよねえ

$\mathrm{U}:$ 海に行くと盛り上がりますもんね

$\mathrm{S}: \quad$ 海は静かなんですよねー

U: 騒がしいのか静かなのかどっちですか

$\mathrm{S}: \quad$ 海はサイコーですよねえ

$\mathrm{U}:$ サイコーですねえ

これは人によっては，質問に答えずにごまかしているように感じられるだろう発話である。

## 3.3 コメントに基づく破綻の分類

init100 中の一部の対話について，アノテータによって対話破綻箇所に付与されたコメントを人手で分類したところ，大きく「同じ内容の繰り返し」「矛盾した内容」「発話として唐突」「ユー ザ発言内容の無視」「質問に答えていない」に分類できることが分かった.

同じ内容の繰り返し表層としては少し異なっていたとしても内容として同じものを繰り返す場合，破綻とアノテーションされることが多かった。たとえば，「美味しいですね」「いいですね」などと同じような発話を繰り返す場合である.

矛盾した内容システム発話間で矛盾が見られる場合は破綻とされることが多かった。たとえば，「イチゴが好き」という発言の直後に「リンゴが好き」と発言するなど，一貫性を欠く発話は問題視された。

発話として唐突 「おはようございます」に対して「明けましておめでとうございます」のように，文脈とは関係のない発言を突然行うことがあり，このような発話は破綻とされていた。

ユーザ発言内容の無視対話はお互いが協調して進めていくものであるので，ユーザ発話を全く受けずにシステムが発話を行った場合には対話の破綻とみなされることが多かった. たとえば，旅行の話をしていて「車で行きましょう」とユーザが話しかけたのに「車はかっこいいですね」と車そのものについて言及したりする場合である。

質問に答えていないユーザ発言内容の無視に近いが，特に質問に答えていないものが破綻とされていた。たとえば，「チワワは欲しいですね」とシステムが話し，それに応じてユー ザが「飼う予定はあるの？」と質問したが，システムは「チワワはいいらしいですよ」と答えたような場合である。

上記以外にも口調の唐突な変化などが, 問題のある現象として観察された. さらに詳しい分類については 5 節で述べる.

## 4 残りの対話へのアノテーション

init100 に対するアノテーション結果について, タスク参加者で議論を行った結果, 残りの 1,046 対話 (以後, rest1046 と呼ぶ）のアノテーションについては, 1 対話につき 2 人で実施するという結論に至った。2 名とした理由は以下の通りである.
- 人的・経済的コストの面から，アノテーションにかかる作業量は最小限が望ましい.

$\cdot$ アノテーションのコストを最小化できるのは1名でアノテーションを行う場合であるが, この場合, アノテータ間の摇れのために, 破綻とされるべき発話が見逃されてしまう可能性がある。よって, 複数名が望ましい.

・前述の分析でアノテータは大きく 2 つのクラスタに分かれることが分かっている. これらの 2 つのクラスタから 1 名ずつ割り当てることで, 見逃しを最も効率的に減らせる可能性がある.

実際に，init100にアノテーションをした 24 人からランダムに $N$ 人をランダムに選んた場合と, $\mathrm{C} 1$ と $\mathrm{C} 2$ の両クラスタから $N / 2$ 人ずつ選び出した場合とで, 図 6 と同じ方法でラベル分布の距離を比較すると，図 8 に示す結果になる。 $1, \mathrm{C} 2$ のクラスタから 1 人ずつ, 計 2 名選んた場合の結果は, 全体からランダムに 3 人選んだ場合と 4 人選んだ場合の中間程度になっており, より少ない人数で全体での分布に近い結果を得られることが分かる.

1,046 対話をランダムに 11 個のサブセット $(\mathrm{a}-\mathrm{k})$ に分割した. $\mathrm{a}-\mathrm{j}$ の 10 個のサブセットはそれぞれ 100 対話を含み, 最後のサブセット $\mathrm{k}$ だけが 46 対話を含む.

図 824 人のラベル分布とランダムサンプリングした $N$ 人のラベル分布の異なりの比較: 完全にランダムな場合 (random) と, クラスタ $\mathrm{C} 1 \cdot \mathrm{C} 2$ を考慮した場合 (cluster)

アノテーションには， 22 名のアノテータの協力が得られることになった. 22 名のうち 19 名が，init100 に対するアノテーションに参加していたアノテータである。まずこの 19 名について, 図4のクラスタに基づき, 2 つの大クラスタ $\mathrm{C} 1$ および $\mathrm{C} 2$ からなるべく 1 名ずつのアノテー タが割り当てられるように，サブセット $\mathrm{k}$ を除く 10 サブセットに割り当てた。その後残りの 3 名を同 10 サブセットに割り当てた. 1 名当りの分担量を 2 サブセットと固定して 22 名を 10 サブセットに割り当てたので，i, jの 2 つのサブセットだけ 3 名のアノテータを割り当てた。サブセット $\mathrm{k} については ，$ 余力のある 2 名に割り当てた。

アノテータが各対話にアノテーションを行う方法は, init100の場合（3 節）と同じである. ア

せて見た場合には，init100のときとほぼ同じ分布と考えられる。また，各サブセット毎の Fleiss の $\kappa$ 值を表 7 に示す. 2 名のアノテータが同じ判断傾向を持つかどうかによって，サブセット間で $\kappa$ 值にばらつきが生じているが，全体平均としては init100とほぼ同じ値になっている。

rest1046 全体について，2 名のアノテータが付けたラベルの組み合わせ毎の頻度と割合を図 9 に示す（計算にあたりサブセット $\mathrm{i}, \mathrm{j}$ の 3 人目のアノテーションは利用していない）。先に述べたように，アノテータは $\bigcirc を$ 多く付ける傾向のクラスタ $\mathrm{C} 1$ と, そうでないクラスタ $\mathrm{C} 2$ とに大きく分かれており，各サブセットに割り当てるアノテータは，なるべく 2 つのクラスタから 1 名ずつ選ぶようにした。図 9 では，整合した判定である $(\times, \times)$ の組よりも，矛盾した判定である $(\bigcirc, \times)$ の方が数が多くなってしまっているが, これは上記の割当の結果を反映しているもので想定内の結果であると同時に，破綻の捉え方が人によって異なることを改めて示している. rest1046のアノテーションに際しては, 担当する対話の最初の 5 対話と最後の 5 対話, 計 10 対話だけ， $\triangle, \times$ をつけた箇所には，必ずその判断理由をコメントとして書くことを求めた。こ

表 6 rest1046 中の $\bigcirc \triangle \times$ の発生割合（発生数）

表 7 サブセット $\mathrm{a}-\mathrm{k}$ 毎の Fleiss の $\kappa$ 値（i, $\mathrm{j}$ のみ 3 名でのアノテーション，その他は 2 名ずつ）

図92名のアノテー夕によるラベルの組み合わせの頻度と割合

れにより，総数で 3,748 個，異なりで 2,468 個のコメントを得た。アノテーション作業は 2014 年 12 月 2 日から 20 日の間に行った.

## 5 対話破綻の類型化

本節では，収集したデータを基に策定を進めている対話破綻の分類体系の，現時点での案と課題について議論する． 3 節では init100 に対して付与された $\triangle ， \times$ の破綻アノテーションに付随するコメントを大まかに分類した結果を示したが，ここではそれを土台としつつ， rest1046に対して付与されたコメントを分析し, 雑談対話における対話破綻の類型化を行った結果を示す.対話が，ある発話によって破綻するとき，原因はその発話だけにあるとは限らない。もちろん，その発話が文法的におかしなものであったり，意味がわからなかったりする場合もある。 しかし, その発話が文として正しいものであったとしても，「相手の発話に対して，このように応答するのはおかしい」場合や，「前に言ったことと矛盾している」という場合においても，対話の継続が困難となる。このように，対話の破綻を分析するに当たっては，当該発話そのものに原因があるのか，または広い意味での文脈（直前の発話，対話履歴，状況なども含む）に原因があるのかを特定する必要がある。

また，破綻が生じた原因が存在する範囲が同じであっても，その内容は様々である。必要な情報の欠落や曖昧性のために意味が特定出来ない場合や，意味が特定できても文脈と矛盾する場合，矛盾はしなくても冗長な場合などがある.

そこでまず，破綻の根拠となっている情報に基づき大分類を決定し，その後，破綻の種類を表す小分類を決定した，大分類は，破綻を認定する際にどの範囲に関連した破綻であるかという基準で，以下の 4 つに決定した（図 10 参照).

発話

応答

文脈

環境

図 10 大分類を決める基準（範囲の違いを模式化した図であり，図中の発話は必ずしも各ケースに実際に該当する発話ではない)。太字は破綻と認定された発話.
- 発話

当該システム発話のみから破綻が認定できるケース．典型的には非文が該当する．「意味不明」というコメントの場合でも，この発話単独で意味がわからないのではなく，前の発話や文脈との関係で意味が取れない，というケースがあるので注意した.
- 応答

直前のユーザ発話と当該システム発話から破綻が認定できるケース，典型的には，発話対制約違反や，前発話の話題を無視した応答などが該当する。あくまでもそれまでの対話の流れは無視して，1つ前の発話との関係たけで判断した。
- 文脈

対話開始時点から当該システム発話までの情報から破綻が認定できるケース。典型的には，対話の流れから判断できる不適切な発話・矛盾する情報の提供・不要な繰り返しなどが該当する。
- 環境

破綻原因が，「環境」すなわち「外部要因」にあり，上記の 3 分類には当てはまらないケース，典型的には，一般常識に反するシステム発話が該当する.

## 5.1 対話破綻の分類体系案

表 8 に示す対話破綻の分類体系案を考案した．「発話」・「環境」の大分類については，検討の段階で多数を占めた「誤り」と分類される発話に対して，より分解能が高まるようにそれぞれ小分類を設定した。

一方，「応答」・「文脈」の大分類においては，(Bernsen, Dybkjær, and Dybkjær 1996; Dybkjær, Bernsen, and Dybkjær 1996) に倣い，対話における協調の原則である Griceの公準 (Grice 1975) に基づき小分類を設定した，Griceの公準は，量・質・関係・様態の各公準からなるもので，対話において参与者が遵守するように期待されている原則である。つまり，ユーザの直前の発話あるいはこれまでの対話履歴を受けてなされるシステム発話が守ると期待されている原則であ
表 8 分類体系草案

 &  &  \\

るので，一般的にはこの原則が守られていないと，ユーザはシステムの発話意図を推測することができずに，対話が破綻すると考えられる。 (Bernsen et al. 1996; Dybkjær et al. 1996)は，課題指向対話のエラー分析に Griceの公準を用いて，一定の成果を得ている。アノテータのコメントに「答えていない」「無視しすぎ」「唐突すぎる」といった「違反」を示唆するものが多かったことも，対話の「規範」である Griceの公準を用いた理由の1つである．破綻を分類することの一義的な目的は，ユーザが破綻であると考えた箇所で，システム内部のどこに問題（エラー） があったのかを探ることであり，それを知ることによって，システムの改善が可能になる。しかしながら，一般にシステム内部でおきたエラーを対話の表面から直接特定することは難しい. そこで，システムが何をしてしまったのか（どういう問題行動をしたか）を Grice の公準に基づいて分類することを基本とした。ただし，問題行動の原因が比較的解り易いエラーについては，「応答」大分類中の「誤解」および「文脈」大分類中の「不追随」として追加した.

以下で，大分類毎に，小分類について事例を基に説明する。

## 5.1.1「発話」の小分類

基本的に, システム発話の生成過程に問題がある場合が該当する.「非文」の概念に近い.
- 構文制約違反（構文制約違反）

必須格の欠如や助詞の誤りなどが原因で，発話内容が理解できないもの.

例）「S: 熱中症に気をつけか？？」
- 意味制約違反（意味制約違反）

意味素性の異なる語の組合せなどが原因で, 発話内容が理解できないもの.

例）「S: 便乗に重ねますよねえ」
- 不適切発話 (不適切発話)

発話として機能を果たさないもの.

例）「S: ちゅっちゅ」

## 5.1.2「応答」の小分類

前発話との関係において協調の原則が守られていない破綻を, Griceの公準に基づいて分類する。誤解は内部的なエラーであり，対話行動自体の問題ではないが，比較的解り易いので小分類として加えた。
- 量の公準違反（情報過不足）

前発話に対して，応答に含むべき内容が欠落している，あるいは，不要な内容が含まれており，これが会話の進行を阻害する場合.

例）「U: ラーメンが好きです」 $\rightarrow$ 「S: 豚骨で有名ですね」
- 質の公準違反 (不理解)

前発話と矛盾する内容の発話. 前発話の話題に追随しながらも, 前発話で示された命題内容と矛盾する命題内容を含む場合。なお，意味理解の失敗などによって生じる「ずれ」を含む発話は，関係の公準違反とする。

例）「U: 最近，山登りを始めました」 $\rightarrow$ 「S: 山登りが出来ないのですか？」
- 関係の公準違反 (無関係)

発話対として不自然な発話で，これによって会話の継続ができなくなっている状況. あるいは，前発話の意味内容と関係しない内容の発話を行った場合．相手の発話を無視している状況を含む。

- 様態の公準違反（意図不明）

発話意図の曖昧性のため, 会話の継続ができなくなっている状況.

例）「U: 退屈は嫌いですか？」 $\rightarrow$ 「S: 退屈は心ですね」
- 誤解 (誤解)

内容の解釈エラーによって, 不適当な発話になっている状況. 多義語の意味の取り違いなどが該当する。

例）「U: スイカを食べたらお腹を壊します」 $\rightarrow$ 「S: スイカで買い物できてるのですか？」

## 5.1.3「文脈」の小分類

基本的には,「応答」の小分類と同様の考え方で, 協調の原則に対する違反で分類する.
- 量の公準違反 (不要情報)

与える情報が何もない無情報発話, あるいは, これまでの文脈に出現した発話の不要な繰り返し。

例）海に行っていないという文脈において：「S: 海に行かないなあ」
- 質の公準違反 (矛盾)

これまでの文脈と矛盾する内容の発話。また, これまでの話題に対する態度（Positive/Negative の極性）が急に転換する発話.

例）人間関係が薄いという文脈において：「S: 人間関係は深いです」
- 関係の公準違反 (無関係話題)

これまでの文脈における話題から逸脱する発話. 話の主たる話題ではなく, 直前のユー ザ発話中の話題語でない単語から話を展開させてしまうような場合が典型例.

例）定期券を無くすという文脈において：「U: 首からかけておくとか？」～「S: 左右に振りますよねえ」
- 様態の公準違反（関連性不明）

話題は継続しており，直前発話との関係だけで見ると意味が通るように見えるが，それ以前の文脈を踏まえると，その発話の意図が理解できない状況.

例）薬の話題において：「S: 薬は大丈夫ですね」
- 話題展開への不追随（不追随）

ユーザからの話題の展開が起こっているにも関わらず，それに追随できていない状況。

例）ドイツの話題の後：「U: あなたは海外経験ありますか？」～「S: ドイツは小売価格が高いです」

## 5.1.4「環境」の小分類

会話の文脈以外の原因で生じた破綻を分類する。
- 無根拠（共通基盤欠如）

根拠のない, 一方的な主張.

例）「S: マグロは鮮度が悪いですよねえ」
- 矛盾 (一般常識欠如)

一般的に正しいと信じられている常識と矛盾する発話.

例）「S: 熱中症はいいですね」
- 非常識（社会性欠如）

黑䍗雑言など，対話相手との社会的関係を破壊する発話. あるいは口調（人格や社会
的属性）が突然変化する発話.

## 5.2 分類体系草案の課題

考案した分類体系は一見よく䌂まっており，それなりの一致度で分類を行えることが期待できた。そこで，破綻アノテータが付けたコメントを参考にしながら，夕スク参加者で予備的に破綻の分類を行ってみた。しかしながら，予想以上にアノテータ間で一致しないことがわかった ( $\kappa$ 値で 0.1 から 0.3 程度の範囲 $)$ ，個々人の主観に任せた破綻アノテーションでは低めの一致度でもよいが，破綻の分類についてはなるべく客観性の高い分類ができることが望ましい。

破綻の分類においてアノテータ間の不一致が大きい原因が，主にアノテーションの手順や教示，アノテータの訓練不足などにあるのか，それとも分類体系自体にあるのか，まだはっきりしていないが，少なくとも以下のような課題が分かっている.
- 検討に際しての分類作業は排他的に一発話・一分類で行ったが, 複数の大分類に渡ると思われる破綻がいくつか見られた。例えば，非文・発話対制約違反・話題からの逸脱のように，複数の大分類に渡る破綻が同時に起こることがあり得る.
- 発話の意味制約違反については, 典型的な例は「発話」レベルのものと判断しやすいが,解釈次第であることも多い。例えば，「仕事は真面目ですね」という発話は，「仕事」を一般的な概念として捉えれば意味制約違反と判断できるが，ある個人の「業績・仕事ぶり」を意味すると解釈すれば，発話のレベルでは問題がないことになる。「文脈という概念を持ち达むと, 文の意味と発話（話し手）の意味を区別することはもはやできない (Levinson 2000)」という見方に立てば，そもそも意味制約違反の小分類を「発話」のレベルに設けることが不適切かもしれない.
- 誤解は, 直前の発話に対するものという定義から「応答」の大分類に含めていたが, 実際には文脈まで見ないと誤解とは言えない場合も見つかった。これも「応答」でなく「文脈」に含めるか，あるいは「応答」「文脈」の両方に設ける必要があると思われる.
- 分類の問題というよりは, 多分に破綻の認定自体の問題であるが, 読み手側の知識不足や，表現に対する不慣れによって解釈できなかったため，破綻とされていることもある.例えば，「みんっ」という発話は，意味のある表現に解釈できない人と，「見ない」という意味に解釈できる人がいる。この場合, 結果的に, 破綻の分類も人により異なってくる.
- 「応答」「文脈」のレベルに導入した Griceの公準に基づく分類は, 特に一致率が低かった.これは現状のシステムが出力する発話が, 自分のことなのに伝聞で話すなどの不自然な様態や，対話相手のキャラクタが突然変わるなど，通常の人同士の対話で見られないようなものであるために，解釈が難しいことも一因であると考えている. Griceの公準に基づく類型化は, 典型例の整理・説明には有用であっても, あまり典型的ではない破
綻の分類には適していない可能性がある。そうたとすれば，小分類のレベルで，各公準違反を事例別にさらに細分化するか，あるいは別の視点での分類を用意する必要がある.

## 6 関連研究

本研究では, 非課題指向型対話（雑談対話）に焦点を絞っているが, 課題指向型対話システムの文脈では対話システムのエラー分析は活発に行われてきており，いくつものエラーの分類体系が提案されている。

まず, Clarkの提案するコミュニケーション階層モデルに基づくエラーの分類体系 (Clark 1996) が挙げられる。 Clarkによれば，コミュニケーションのエラーは 4 つのレベルからなっている. チャネルレベル, 信号レベル, 意図レベル, 会話レベルである。 チャネルレベルとはやり取りが開始されているかどうかに関わる。信号レベルとはシンボルのやり取りに関わり，意図レベルは対話相手の意図の認識に関わる。会話レベルは，共同行為に関わるものである。下位レべルのエラーが起きていれば，上位レベルでもエラーとなり (upward causality), 上位レベルにエラーがなければ，下位レベルにエラーがないとされる (downward evidence).このような階層に基づいて, 会議室予約システムの不理解によるエラーを分析するという研究がなされている (Bohus and Rudnicky 2005)。また，スマートホームとレストラン情報案内というドメインにおいて, 同様の分析もなされている (Möller, Engelbrecht, and Oulasvirta 2007). Paek は Clark の 4 つ階層が対話システムのエラー分析に一般性を持っているということを, 教育や医療といった複数分野での対話分析の事例から議論している (Paek 2003).

本論文では Grice の公準 (Grice 1975) をエラーの類型化に用いているが, 課題指向型対話システムのエラー分析においても Grice の公準は利用されてきた. Dybkjær et al. (Dybkjær et al. 1996) および Bernsen et al. (Bernsen et al. 1996) はフライト情報案内システムのエラー分析を Griceの公準および独自の対話分析から得られた知見をもとにエラーの類型化を行っている．たとえば，Griceの公準以外の要素として，対話の非対称性, 背景知識, メ夕対話能力に関わるエラーが挙げられている。電話応答システムにおける対話評価の観点として, Griceの公準に基づく要素を導入することも提案されている (Möller 2005).

特定のモデルや理論をべースにするのではなく, 特定のシステムや対話ドメインの対話を綿密に分析することによりエラーを類型化した例も多い. Aberdeen and Ferro はフライト情報案内システムの分析により, 命令に応答しない, 何度も同じプロンプトを表示するなどのエラーに類型化している (Aberdeen and Ferro 2003). また, Green らによって対話機能を持つサービスロボットについてもエラー分析がされており，ロボットに特有のエラーとして，動作と発話のタイミングがずれるというエラーや，指さしなどのポインティング動作のエラーなどが独自のカテゴリとして分類されている (Green, Eklundh, Wrede, and Li 2006). Dzikovska らは, 教育
対話システム (tutoring system)のエラーの類型化を行っている (Dzikovska, Callaway, Farrow, Moore, Steinhauser, and Campbell 2009).

対話システムはいくつかのモジュールから構成される。このため, エラーの類型化の一つの方法として，エラーを起こしたモジュールがどれかによって分類する研究もある (Ward, Rivera, Ward, and Novick 2005)。たとえば，音声認識，音声理解，発話生成，音声合成といった単位でエラーを類型化する。音声認識によるエラーが多ければ，音声認識モジュールを改善すればよいという方針に繋がる。モジュール構成が明確で，各モジュールのエラーが比較的独立と考えられるのであれば, このような類型化の手法は有効である.

本研究の類型化の手順は (Dybkjær et al. 1996)のものに近い. Grice の公準を用いながら，対話コーパスについて独自の分析を行いエラーを類型化しているからである. 本研究と Dybkjær らのものとの違いは，本研究が雑談対話システムを扱っていることである。課題指向型対話システムに比べタスクやドメインの制約が少ない雑談対話において, エラーの定義, どのようなエラーが起こりうるかは把握されてこなかった。本研究は，そのような背景に基づき，雑談対話コーパスの作成およびその類型化を行ったものである。なお，本研究では Clarkの階層モデルは用いていない。これは，主にテキスト対話を扱っていることによる。テキストのやり取りであれば，チャネルレベルと信号レベルのやり取りは基本的に担保されており，残りの二つの階層のみに基づいて分類をすることになる。雑談対話の内容の複雑さを鑑みればこの粒度は粗い. また，モジュールごとにエラーを分析する方法論についてであるが，雑談対話システムの構成は複雑であり，単体のモジュールにエラーの分析を起因させることは難しい．また，エラー分析として対話システムの内部構造に立ち入らない方が，システムに依らないエラー分析が可能であり，特定のシステムに依存しない，汎用性の高いエラーの類型化が期待できる。

なお，雑談対話システムのエラー分析は，対話破綻の自動検出につながるものとして期待されている。自動検出ができれば，対話システムが自身の発話を行う前に，その発話に問題があれば，別の発話候補に切り替えるといったことが可能になる。また，何らかのエラーを伴う発話をしてしまった後に，自身の誤りに気づいて，それを訂正するといったことも可能となる。

課題指向型の音声対話対話システムの文脈では，音声認識，発話理解，対話管理などの各モジュールから得られる特徵量から対話に破綻が起きているかどうかを判定する手法がいくつか提案されている。たとえば, Walker ら (Walker, Langkilde, Wright, Gorin, and Litman 2000)や Herm ら (Herm, Schmitt, and Liscombe 2008) は, コールセンタにおける通話について, 問題が起こっているかどうかを数ターンで判定する判定器を機械学習の手法で構築している. 対話中のユーザの満足度の遷移を推定する研究もされている (Schmitt, Schatz, and Minker 2011).これらは雑談対話を扱ってはいないが，目的意識は本論文での取り組みと近い.

雑談対話においては, Chai らがユーザの対話行為の系列の情報を用いて，問題のある質問応答ペアかどうかの判別を行っている (Chai, Zhang, and Baldwin 2006). Xiang らは, 対話行為に加

え，感情の系列を用いることで，雑談対話における問題発話の検出を行っている (Xiang, Zhang, Zhou, Wang, and Qin 2014). Higashinaka らも, 雑談対話システムの発話の結束性をさまざまな素性から推定する手法を提案している (Higashinaka, Meguro, Imamura, Sugiyama, Makino, and Matsuo 2014b). しかしながら, これらの研究は精度がいまだ高いとは言えず，また，対話破綻の類型化なども行われていない，今後エラー分析を詳細に行うことで，対話破綻の原因を明らかにし，高精度な破綻検出を実現したいと考えている。

## 7 おわりに

本論文では, 雑談対話におけるエラー分析にむけた人・機械間の雑談対話コーパスの構築と対話破綻のアノテーションについて報告した。そして，構築したコーパスに含まれる破綻を分析し，考案した破綻の分類体系について議論した。

アノテーション方法の開発にあたっては，破綻の認定における主観性の高さを認めつつ，許容可能な範囲のコストで, 客観的な分析の対象となりうる有用なデータを得られるように, 著者らを含む 15 拠点からの研究者で議論・試行し, 工夫を施した. 今回報告した方法と結果は,破綻に関する今後のコーパス構築に限らず，同じように主観性の高い別種の言語現象についてのコーパス構築においても手法開発の参考として寄与するものと考える.

構築したコーパスでは, 対話を破綻させているシステムの発話に対して, 複数の作業者によってラベルとコメントが付与されている。破綻の判断については, 事細かなガイドライン・判定方法は示さず，各個の主観に基づいたアノテーションを行った。このためアノテーションの一致率はそれほど高くないが，システムとの対話に対して人間が不満を持つ点, 持たない点, その個人差について，興味深いデータを収集できた。また，アノテータ間の一致についての分析からは，破綻でない発話よりも破綻発話のほうが判定が摇らぎがちであること，アノテータが大きな傾向の違いを持つグループに分かれる可能性があること，などが明らかになった.

一方で, 今回のコーパス構築手法には, 改善の余地があることも確かである. 破綻の判定が摇らぐ要因の 1 つとして，ユーザが想定した対話相手のイメージの違いが存在する。今回は「待合室や飛行機などで隣り合った見知らぬ人」とだけ指定したが，性別・年齢・性格など，ユーザができる想定には依然大きな自由度があった。例えば，子供染みた発言や冗談は，想定する相手によって許容できる範囲が変わってくる，今後のデー夕収集においては, 対話相手のイメー ジをもっと細かくユーザに指定する，あるいは対話前にユーザが想定した相手のイメージ，対話後に残った相手のイメージを，対話データと同時に収集すると，より踏み达んだ分析が可能になるだろう。

アノテーションにおける, 破綻を含む先行文脈の扱いについても, さらなる検討が望まれる.例えば，今回は破綻があったところで対話がリセットされたとはせず，破綻も含めて先行文脈

として作業を行うように指示をした。これにより，会話が進んでいけばいくほど破綻が認定されやすくなった可能性があるが，一度破綻したことで文脈上の制約が減り破綻が認定されにくくなっていた可能性もある.

これまで人・機械の雑談対話を体系的に収集し，整備したコーパスは存在せず，今回の収集は初の試みである。今回構築したコーパス中の雑談対話は，1つの雑談システムだけを用いて収集したものであるので，破綻の種類の網羅性やその分布の普遍性について言えることには限りがあるが，システム構築に使用した雑談 API は (Higashinaka, Imamura, Meguro, Miyazaki, Kobayashi, Sugiyama, Hirano, Makino, and Matsuo 2014a）に基づく, 現時点で最も複雑な雑談システムの 1 つであり, 少なくとも網羅性については他のシステムを利用した場合と同等かそれ以上, 確保できていると考えている。今後, 他の雑談システムを使い, 本論文で示した方法でデータの収集とアノテーション・分析を行っていくことで，破綻の分布の普遍性を高め，現在の雑談技術・自然言語処理技術が抱える課題により深くアプローチできると期待している.

本稿で示した破綻の分類体系の草案にはまた改善しなければならない点があるが，破綻の種類を事例的に整理したことで，雑談対話で起こりうる問題について一定の見通しを示すことができた。雑談対話において破綻の種類を分類しようする際に何が問題となるのかを明らかにしたことも，今回の取り組みで得た成果の1つである.

今回構築したコーパスは, 破綻検出技術の開発・評価データとして利用することができる ${ }^{3}$.雑談システム自体はそれぞれの目的や利用状況，対象ユーザの想定などが異なるため，直接に比較することが難しく, システム内部の技術的課題について研究者間で議論することが難しい. しかし, 雑談システムの入出力であるテキストたけを対象とし, 複数の機関が並行して共通のデータで破綻検出技術について開発とエラー分析を進めれば，より一般性の高い議論ができるし，そこから各々の雑談システム自体の技術課題に対しても知見を得られるだろう。また開発された破綻検出技術は，それ自体，多くの研究者・開発者にとって有用なツールを提供できるだうう。

今後は, 別システムでのデータの収集や破綻の分類体系の改良を行いながら, 破綻検出技術の研究を進めていきたい.

## 謝 辞

対話データの収集，および，対話破綻アノテーションにご協力頂いた Project Next NLP 対話タスクの拠点参加者とその関係者の皆さま, 対話データ収集のためのシステム構築とサーバ運営にご協力いただた広島市立大の稲葉通将氏に感謝いたします。システム構築には株式会社 NTT ドコモの雑談対話 API を使わせていただきました。

本稿の著者は, タスク共同リーダ 2 名と， 5 節の類型化に直接的に貢献したワーキンググルー プのメンバに限っていますが，その他の拠点参加者の方々におかれても，電話会議やメーリングリストでの議論を通じて本稿の執筆に様々に貢献していたたききました。一人一人お名前を挙げるのは控えさせていただきますが, 改めて拠点参加者の皆さまのご協力にお礼申し上げます.

最後になりますが，有益なコメントをいただいた編集委員・査読者の皆さまにお礼申し上げます。

## 参考文献

Aberdeen, J. and Ferro, L. (2003). "Dialogue Patterns and Misunderstandings." In Proceedings of ISCA Workshop on Error Handling in Spoken Dialogue Systems, pp. 17-21.

Banchs, R. E. and Li, H. (2012). "IRIS: A Chat-oriented Dialogue System Based on the Vector Space Model." In Proceedings of the ACL 2012 System Demonstrations, pp. 37-42.

Bang, J., Noh, H., Kim, Y., and Lee, G. G. (2015). "Example-based Chat-oriented Dialogue System with Personalized Long-term Memory." In Proceedings of BigComp, pp. 238-243.

Bernsen, N. O., Dybkjær, H., and Dybkjær, L. (1996). "Principles for the design of cooperative spoken human-machine dialogue." In Proceedings of ICSLP, Vol. 2, pp. 729-732.

Bickmore, T. W. and Cassell, J. (2001). "Relational Agents: A Model and Implementation of Buliding User Trust." In Proceedings of CHI, pp. 396-403.

Bohus, D. and Rudnicky, A. I. (2005). "Sorry, I Didn't Catch That!-An Investigation of Nonunderstanding Errors and Recovery Strategies." In Proceedings of SIGDIAL, pp. 128-143.

Chai, J. Y., Zhang, C., and Baldwin, T. (2006). "Towards Conversational QA: Automatic Identification of Problematic Situations and User Intent." In Proceedings of COLING/ACL, pp. 57-64.

Clark, H. H. (1996). Using Language. Cambridge University Press.

Dybkjær, L., Bernsen, N. O., and Dybkjær, H. (1996). "Grice Incorporated: Cooperativity in Spoken Dialogue." In Proceedings of COLING, Vol. 1, pp. 328-333.

Dzikovska, M. O., Callaway, C. B., Farrow, E., Moore, J. D., Steinhauser, N., and Campbell,

G. (2009). "Dealing with Interpretation Errors in Tutorial Dialogue." In Proceedings of SIGDIAL, pp. 38-45.

Green, A., Eklundh, K. S., Wrede, B., and Li, S. (2006). "Integrating Miscommunication Analysis in Natural Language Interface Design for a Service Robot." In Proceedings of IEEE/RSJ, pp. 4678-4683.

Grice, H. P. (1975). "Logic and Conversation." In Cole, P. and Morgan, J. (Eds.), Syntax and Semantics 3: Speech Acts, pp. 41-58. New York: Academic Press.

Herm, O., Schmitt, A., and Liscombe, J. (2008). "When Calls Go Wrong: How to Detect Problematic Calls Based on Log-files and Emotions?" In Proceedings of INTERSPEECH, pp. 463-466.

東中竜一郎, 船越孝太郎, 小林優佳, 稲葉通将 (2015). 対話破綻検出チャレンジ. 言語・音声理解と対話処理研究会第 75 回研究会 (第 6 回対話システムシンポジウム), 人工知能学会研究会資料 SIG-SLUD-75-B502 巻, pp. 27-32.

Higashinaka, R., Imamura, K., Meguro, T., Miyazaki, C., Kobayashi, N., Sugiyama, H., Hirano, T., Makino, T., and Matsuo, Y. (2014a). "Towards an Open-domain Conversational System Fully Based on Natural Language Processing." In Proceedings of COLING, pp. 928-939.

Higashinaka, R., Meguro, T., Imamura, K., Sugiyama, H., Makino, T., and Matsuo, Y. (2014b). "Evaluating Coherence in Open Domain Conversational Systems." In Proceedings of INTERSPEECH, pp. 130-133.

稲葉通将, 神園彩香, 高橋健一 (2014). Twitter を用いた非タスク指向型対話システムのための発話候補文獲得. 人工知能学会論文誌, 29 (1), pp. 21-31.

小林優佳, 山本大介，大内一成，長健太，瀬戸口久雄，土井美和子 (2011). 安心でワクワクさせるロボット対話インタフェースを目指して：対話とセンサによる高齢者の健康情報収集.電子情報通信学会技術研究報告クラウドネットワークロボット, 111 巻, pp. 11-16.

Landis, J. R. and Koch, G. G. (1977). "The Measurement of Observer Agreement for Categorical Data." Biometrics, 33, pp. 159-174.

Levinson, S. C. (2000). Presumptive Meaning: The Theory of Generalzied Conversational Implicature. MIT. (邦訳 :「意味の推定：新グライス学派の語用論」, 研究社, 2007）.

Matsuyama, Y., Akiba, I., Saito, A., and Kobayashi, T. (2013). "A Four-Participant Group Facilitation Framework for Conversational Robots." In Proceedings of SIGDIAL, pp. 284-293.

Möller, S. (2005). "Parameters for Quantifying the Interaction with Spoken Dialogue Telephone Services." In Proceedings of SIGDIAL, pp. 166-177.

Möller, S., Engelbrecht, K.-P., and Oulasvirta, A. (2007). "Analysis of Communication Failures for Spoken Dialogue Systems." In Proceedings of INTERSPEECH, pp. 134-137.
大西可奈子, 吉村健 (2014). コンピュータとの自然な会話を実現する雑談対話技術. NTT DoCoMo テクニカル・ジャーナル, 21 (4), pp. 17-21.

Paek, T. (2003). "Toward a Taxonomy of Communication Errors." In Proceedings of ISCA Workshop on Error Handling in Spoken Dialogue Systems, pp. 53-58.

Schmitt, A., Schatz, B., and Minker, W. (2011). "Modeling and Predicting Quality in Spoken Human-computer Interaction." In Proceedings of SIGDIAL, pp. 173-184.

関根聡 (2015). Project Next NLP 概要 (2014/3-2015/2). 言語処理学会第 21 回年次大会ワークショップ：自然言語処理におけるエラー分析.

Walker, M., Langkilde, I., Wright, J., Gorin, A., and Litman, D. (2000). "Learning to Predict Problematic Situations in a Spoken Dialogue System: Experiments with How May I Help You?" In Proceedings of NAACL, pp. 210-217.

Wallace, R. S. (2004). "The Anatomy of A.L.I.C.E." Tech. rep., A.L.I.C.E Artificial Intelligence Foundation, Inc.

Ward, N. G., Rivera, A. G., Ward, K., and Novick, D. G. (2005). "Root Causes of Lost Time and User Stress in a Simple Dialog System." In Proceedings of INTERSPEECH, pp. 1565-1568.

Wilcock, G. and Jokinen, K. (2013). "Wikitalk Human-robot Interacitons." In Proceedings of ICMI, pp. 73-74.

Xiang, Y., Zhang, Y., Zhou, X., Wang, X., and Qin, Y. (2014). "Problematic Situation Analysis and Automatic Recognition for Chinese Online Conversational System." In Proceedings of $C L P$, pp. 43-51.

## 略歴

東中竜一郎：1999 年慶應義塾大学環境情報学部卒業, 2001 年同大学大学院政策 $\cdot$ メディア研究科修士課程, 2008 年博士課程修了. 2001 年日本電信電話株式会社入社. 現在, NTTメディアインテリジェンス研究所に所属. 質問応答システム・音声対話システムの研究開発に従事. 博士 (学術). 言語処理学会, 人工知能学会, 情報処理学会, 電子情報通信学会各会員.

船越孝太郎：2000 年東京工業大学工学部情報工学科卒業. 2002 年同大学大学院情報理工学研究科計算工学専攻修士課程修了. 2005 年同博士課程修了. 同年同大学院特別研究員. 2006 年より株式会社ホンダ・リサーチ・インスティチュート・ジャパン入社. 2013 年より同シニア・リサーチャ. 博士 (工学).自然言語理解, マルチモーダル対話に関する研究に従事. 情報処理学会, 人工知能学会, 言語処理学会, ヒューマンインタフェース学会, ACM SIGCHI 各会員.
荒木雅弘：1988 年京都大学工学部卒業. 1993 年京都大学大学院工学研究科博士課程研究指導認定退学. 京都大学工学部助手, 同総合情報メディアセンター 講師を経て, 現在京都工芸繊維大学大学院工芸科学研究科准教授. 音声対話システムおよびマルチモーダル対話記述言語の研究に従事．ACL，ISCA，情報処理学会等各会員. 博士 (工学).

小林優佳 : 2004 年東京工業大学大学院理工学研究科修士課程終了（機械制御システム専攻)。同年東芝家電製造株式会社（現東芝ライフスタイル株式会社）入社. 2008 年株式会社東芝研究開発センター入社. 音声対話システムの研究開発に従事. 電子情報通信学会, 情報処理学会, 人工知能学会各会員.塚原裕史：1994 年中央大学理工学部物理学科卒業. 1996 年同大学大学院博士課程前期修了. 1999 年同大学院博士課程後期修了. 博士（理学）。2000 年日立ソフトウェアエンジニアリング株式会社入社. 分散オブジェクト地理情報システムの研究・開発に従事. 2005 年株式会社デンソーアイティーラボラトリ入社. 現在同社研究開発グループ勤務. 自動車向け人工知能応用システムに関する研究・開発に従事. 日本物理学会, 情報処理学会各会員.

水上雅博：2012 年同志社大学理工学部卒業. 2014 年奈良先端科学技術大学院大学情報科学研究科修士課程修了. 同年より同大学院博士後期課程在学. 自然言語処理および音声対話システムに関する研究に従事. 人工知能学会, 音響学会, 言語処理学会各会員.


# 機械翻訳システムの誤り分析のための誤り箇所選択手法

赤部 晃一 $^{\dagger} \cdot$ Graham Neubig ${ }^{\dagger} \cdot$ Sakriani Sakti ${ }^{\dagger}$ 戸 戸田 智基 ${ }^{\dagger}$ 中村 哲 $\dagger$
}

複雑化する機械翻訳システムを比較し，問題点を把握・改善するため，誤り分析が 利用される。 その手法として, 様々なものが提案されているが, 多くは単純にシス テムの翻訳結果と正解訳の差異に着目して誤りを分類するものであり, 人手による 分析への活用を目的とするものではなかった。本研究では, 人手による誤り分析を 効率化する手法として, 機械学習の枠組みを導入した誤り箇所選択手法を提案する.学習によって評価の低い訳出と高い訳出を分類するモデルを作成し, 評価低下の手 がかりを自動的に獲得することで, 人手による誤り分析の効率化を図る。実験の結果，提案法を活用することで，人手による誤り分析の効率が向上した.

キーワード：統計的機械翻訳，誤り分析，誤り検出，評価尺度，コーパス
## Error Selection Methods for Machine Translation Error Analysis

\author{
Koichi Akabe ${ }^{\dagger}$, Graham Neubig ${ }^{\dagger}$, Sakriani Sakti ${ }^{\dagger}$, \\ Tomoki Toda ${ }^{\dagger}$ and Satoshi NaKamura ${ }^{\dagger}$
}

Error analysis is used to improve accuracy of machine translation (MT) systems. Various methods of analyzing MT errors have been proposed; however, most of these methods are based on differences between translations and references that are translated independently by human translators, and few methods have been proposed for manual error analysis. This work proposes a method that uses a machine learning framework to identify errors in MT output, and improves efficiency of manual error analysis. Our method builds models that classify low and high quality translations, then identifies features of low quality translations to improve efficiency of the manual analysis. Experiments showed that by using our methods, we could improve the efficiency of MT error analysis.

Key Words: Statistical Machine Translation, Error Analysis, Error Detection, Evaluation Metric, Corpus

## 1 はじめに

最新の機械翻訳システムは, 年々精度が向上している反面, システムの内部は複雑化しており，翻訳システムの傾向は必ずしも事前に把握できるわけではない.このため, システムによっ

てある文章が翻訳された結果に目を通すことで，そのシステムに含まれる問題点を間接的に把握し，システム同士を比較することが広く行われている。このように，単一システムによって発生する誤りの分析や，各システムを比較することは，各システムの利点や欠点を客観的に把握し，システム改善の手段を検討することに役立つ。ところが，翻訳システムの出力結果を分析しようとした際，機械翻訳の専門家である分析者は，システムが出力した膨大な結果に目を通す必要があり，その作業は労力がかかるものである.

この問題を解決するために，機械翻訳の誤り分析を効率化する手法が提案されている (Popović and Ney 2011; Kirchhoff, Rambow, Habash, and Diab 2007; Fishel, Bojar, Zeman, and Berka 2011; El Kholy and Habash 2011). この手法の具体的な手続きとして，機械翻訳結果を人手により翻訳された参照訳と比較し，機械翻訳結果のどの箇所がどのように誤っているかを自動的にラベル付けする。さらに，発見した誤りを既存の誤り体系 (Flanagan 1994; Vilar, Xu, d'Haro, and Ney 2006) に従って「挿入・削除・置換・活用・並べ替え」のように分類することで，機械翻訳システムの誤り傾向を自動的に捉えることができる.

しかし, このような自動分析で誤りのおおよその傾向をつかめたとしても，機械翻訳システムを改善する上で，詳細な翻訳誤り現象を把握するためには，人手による誤り分析が欠かせない.ところが, 先行研究と同じように, 参照文と機械翻訳結果を比較して差分に基づいて誤りを集計する手法で詳細な誤り分析を行おうとした際に，問題が発生する。具体的には，機械翻訳結果と参照訳の文字列の不一致箇所を単純な方法でラベル付けすると, 人間の評価と一致しなくなる場合がある。つまり，機械翻訳結果が参照訳と同様の意味でありながら表層的な文字列が異なる換言の場合, 先行研究では不一致箇所を誤り箇所として捉えてしまう。このような誤った判断は，誤り分析を効率化する上で支障となる.

本研究では, 前述の問題点を克服し, 機械翻訳システムの誤りと判断されたものの内，より誤りの可能性が高い箇所を優先的に捉える手法を提案する。図 1 に本研究の概略を示す。まず，対訳コーパスに対して翻訳結果を生成し，翻訳結果と参照訳を利用して誤り分析を優先的に行うべき箇所を選択する。次に，重点的に選択された箇所を中心に人手により分析を行う。誤りの可能性が高い箇所を特定するために，機械翻訳結果に含まれる $n$-gram を，誤りの可能性の高い順にスコア付けする手法を提案する（3節）。また，誤りかどうかの判断を単純な一致不一致より頑健にするために，与えられた機械翻訳結果と正解訳のリストから，機械翻訳文中の各 $n$-gram に対して誤りらしさと関係のあるスコア関数を設計する。設計されたスコア関数を用いることで, 誤り $n$-gram を誤りらしさに基づいて並べ替えることができ，より誤りらしい箇所を重点的に分析することが可能となる，単純にスコアに基づいて選択を行った場合，正解訳と一致するような明らかに正しいと考えられる箇所を選択してしまう恐れがある。この問題に対処するため, 正解訳を利用して誤りとして提示された箇所をフィルタリングする手法を提案し,選択精度の向上を図る (4 節).

図 1 本研究の流れ図

実験では，まず 5.1 節〜 5.2 節で提案法の誤り箇所選択精度の測定を行い，単一システムの分析，及びシステム間比較における有効性の検証を行う，実験の後半では，提案法の課題を分析し (5.3 節), 提案法を機械翻訳システムの改善に使用した場合の効果について検討を行う（5.4 節).

## 2 機械翻訳の自動評価と問題点

本節では, 従来から広く行われている機械翻訳の自動評価について説明し，その問題点を明らかにする。

## 2.1 評価の手順

自動評価尺度は，機械翻訳結果 $\boldsymbol{e}$ と参照訳 $\boldsymbol{r}$ の差異に基づき機械翻訳結果の良し悪しをスコアとして計算するものである (Papineni, Roukos, Ward, and Zhu 2002; Doddington 2002; Banerjee and Lavie 2005)．また，「品質推定」と呼ばれる技術は，参照訳を利用せずに評価を行う，具体的には，誤りのパターンを学習したモデルによって機械翻訳文の精度を推定することや (Specia， Turchi, Cancedda, Dymetman, and Cristianini 2009)，翻訳結果の精度を部分的に評価することが行われている (Bach, Huang, and Al-Onaizan 2011).

自動評価尺度を利用する場合は参照訳を用意する必要があるが，翻訳精度の計算を翻訳システムに依らず一貫して行える利点がある。一方, 品質推定は参照訳を必要としない分, 翻訳精度を正しく推定することが比較的困難である。本研究は，参照訳が与えられた状況で機械翻訳の誤り分析を行う場合を対象とする。

## 2.2 代表的な自動評価尺度

機械翻訳の自動評価尺度は，様々なものが提案されており，尺度ごとに異なった特徴がある。

BLEU (Papineni et al. 2002) は機械翻訳の文章単位の自動評価尺度として最も一般的に使われるものであり, 参照訳 $\boldsymbol{r}$ と機械翻訳結果 $\boldsymbol{e}$ の間の $n$-gram の一致率に基づきスコアを計算する.機械翻訳結果と参照訳が完全に一致すれば 1 となり，異なりが多くなるに連れて 0 に近くなる。BLEU を文単位の評価に対応させたものに BLEU+1 (Lin and Och 2004) がある． BLEU や $\mathrm{BLEU}+1$ は， $\boldsymbol{e} \boldsymbol{r}$ の表層的な文字列の違いにしか着目しないため, $\boldsymbol{e}$ が $\boldsymbol{r}$ の換言である場合にスコアが不当に低くなる場合がある1.

BLEU とは異なり，評価尺度自体が換言に対応したものに， METEOR (Banerjee and Lavie 2005) がある．METEOR を利用する場合，単語やフレーズの換言を格納したデータベースを事前に用意しておく。これにより，参照訳と機械翻訳結果の $n$-gram が一致しない場合であっても，データベース中に含まれる換言を利用することで一致する場合，スコアの低下を小さくすることが可能となる.

## 2.3 自動評価の課題

表 1 に，英日翻訳における原文，機械翻訳結果，参照訳の例を示す。機械翻訳システムとして，句構造に基づく機械翻訳システムを利用した。自動評価尺度の一例として，BLEU +1 スコアを示す。また, 図 2 はシステムが翻訳結果を出力した際の導出過程の一部である。自動評価尺度を用いることで，翻訳システムの性能を数値で客観的に比較することが可能であるが，この例から自動評価尺度に頼り切ることの危険性も分かる。前節で述べたように，自動評価尺度は人間の評価と必ずしも一致しない評価を行う場合がある。表 1 の例では, "For this reason" が機械翻訳で「このため」と正しく翻訳されているが，参照訳では「それゆえ」と翻訳されているため, 文字列の表層的な違いにしか着目しない BLEU+1 では誤訳と判断されて， スコアが不当に低くなる．METEOR を用いた場合，換言によるスコアの低下は発生しにくくなるが，逆

表 1 機械翻訳の誤訳の例

文脈から “right”は「正しい」と訳すべきだが「右」と訳されている。また“choose"に相当する語句が機械翻訳結果では削除されている。
^{1} \mathrm{BLEU}$ や BLEU+1 を用いる場合，複数の異なった言い回しの参照訳を与えることで，複数の言い回しに対応した評価が行える。
}

図 2 機械翻訳システムの導出過程の例

この文脈で形容詞 (JJ) “right”を「右」と訳すのは誤りである。また動詞 (VB) “choose"を削除する規則をここで使用することも誤りである.

に誤った換言が使用され，スコアが不当に高くなることも考えられる。

自動評価尺度は，機械翻訳結果の正確さを判断する上で有用であるが，その結果からシステムの特徴を把握することは困難である。しかし，このように翻訳結果に目を通すことで，自動評価尺度の数値たけからは分からない情報を把握することが可能となる。

## 3 スコアに基づく誤り候補 $n$-gram の順位付け

機械翻訳の誤り箇所を自動的に提示する際に，単純に誤り箇所を列挙するのではなく，より誤りの可能性が高い箇所から順に示すことができれば，後の人手による誤り分析の効率が上がると考えられる。本節では, 機械翻訳結果に含まれる $n$-gramに対して, 分析の優先度に対応するスコアを与える手法を提案する，分析者はこのスコアを参考にし，最初に分析する箇所を決定する。図 3 に $n$-gram のスコアに基づく誤り分析の例を示す.この例では, 提案法によってい.」が最も優先的に分析すべき $n$-gram と判断されているため, 最初に機械翻訳結果全体からこの $n$-gram が含まれる箇所を見つけ, 誤り分析をする。分析が終了したら, 次に優先度の高いれるがを，最後にられる。を分析する。

ある $n$-gram を提示した際に，もし分析者が機械翻訳の誤りでない箇所を分析対象としてしまうと，余計な分析作業を行うこととなり，分析効率が低下する原因となる。このため, 効率的な誤り分析が行われるためには, 最初に提示される $n$-gram ほどシステムの特徴的な誤りを捉えていることが望ましい.

## 3.1 正解訳を用いた $n$-gram のスコア計算法

本節では，このようなスコア付けを行う手法を 5 つ説明する。 そのうち, 2 つ（ランダム選択と誤り頻度に基づく選択）はべースラインであり，3つ（自己相互情報量に基づく選択，平滑化

図 $3 n$-gram のスコアに基づく誤り分析

された条件付き確率に基づく選択，識別言語モデルの重みに基づく選択）は提案法である.

まず，すべての手法に共通する以下の関数を定義する。

$\phi(e)$ : 文 $e$ に対する素性ベクトル，各要素は文 $e$ に含まれる $n$-gram の出現頻度.

$e_{M T}(n):$ コーパス中の $n$ 番目の文に対応する機械翻訳結果.

$e_{C}(n):$ コーパス中の $n$ 番目の文に対応する正解訳 (3.2 節で定義).

これらの関数を利用し, 次節以降で述べるスコア関数に従って, コーパス全体から $n$-gram のスコアを計算する。

## 3.1.1 ランダム選択

ランダム選択は， $n$-gram の順位付けを一切行わずに誤り分析を進めることに等しい. 4 章で誤り候補のフィルタリングの説明を行うが，フィルタリングを一切行わない場合はチャンスレー トとなる。また，ランダム選択と参照訳を用いた厳密一致フィルタリングを組み合わせた場合は, 先行研究 (Popović and Ney 2011) で提案されている参照訳との差分に基づく分析となる.

## 3.1.2 誤り頻度に基づく選択

誤り頻度に基づく手法は，機械翻訳結果に多く含まれ，正解訳に含まれない回数が多い $n$-gram は重点的に分析すべきという考え方に基づく． $n$-gram のスコア計算では，ある $n$-gram $x$ が機械翻訳結果 $e_{M T}(n)$ に含まれていて，かつ正解訳 $\boldsymbol{e}_{C}(n)$ に含まれていない回数を計算し，スコアとする。

$
S(x)=-\sum_{n}\left[\phi_{x}\left(\boldsymbol{e}_{M T}(n)\right)-\phi_{x}\left(\boldsymbol{e}_{C}(n)\right)\right]_{+}
$

ここで []$_{+}$はヒンジ関数である。このスコアが低い $n$-gram から順に選択することで，誤って出現した回数が多い $n$-gram を優先的に分析することとなる.

しかし，頻繁に発生する誤りが必ずしも分かりやすく有用な誤りとは限らない，表 2 は，ある英日機械翻訳システムが出力した翻訳結果に含まれ，参照訳には含まれなかった $n$-gram を，
表 2 機械翻訳で頻繁に起こる誤り

回数が多いものから順に一覧にしたものである。この表で，右側の数字はテストコーパス内で誤って出現した回数を示している。この表を見ると, 単純に頻繁に検出される誤りは目的言語に頻繁に出現するものに支配されており, この結果だけからは翻訳システムの特徴を把握しにくいことが分かる.

## 3.1.3 自己相互情報量に基づく選択

誤り頻度に基づいて $n$-gram の選択を行った場合, 表 2 に示したように誤りとして検出されるものの多くは単純に目的言語の特徴を捉えたものとなってしまう. 本研究ではこの問題に対処するため, 出現頻度より正しく, ある $n$-gram が誤った文の特徴であるかどうかを判断する手法を提案する。

最初のスコア付け基準として, 自己相互情報量 (PMI: Pointwise Mutual Information) に基づく手法を提案する，PMI は， 2 つの事象の関係性を計る尺度であり，本研究では与えられた $n$-gram と機械翻訳結果との関係性をスコアとして定式化する。機械翻訳結果と関係が強い $n$-gram は,正解訳との関係は逆に弱くなる. PMI は以下の式によって計算される (Church and Hank 1990).

$
\begin{aligned}
P M I\left(x, \boldsymbol{e}_{M T}\right) & =\log \frac{p\left(\boldsymbol{e}_{M T}, x\right)}{p\left(\boldsymbol{e}_{M T}\right) \cdot p(x)} \\
& =\log \frac{p\left(\boldsymbol{e}_{M T} \mid x\right)}{p\left(\boldsymbol{e}_{M T}\right)}
\end{aligned}
$

ここで, 各原文につき機械翻訳結果と正解訳が 1 つずつ与えられるため, $p\left(\boldsymbol{e}_{M T}\right)=1 / 2$ である.条件付き確率 $p\left(\boldsymbol{e}_{M T} \mid x\right)$ は以下の式で計算される.

$
p\left(\boldsymbol{e}_{M T} \mid x\right)=\frac{\sum_{n} \phi_{x}\left(\boldsymbol{e}_{M T}(n)\right)}{\sum_{n}\left.\{\phi_{x}\left(\boldsymbol{e}_{M T}(n)\right)+\phi_{x}\left(\boldsymbol{e}_{C}(n)\right)\right.\}}
$

最終的に, 自己相互情報量の期待値に比例する以下の値をスコアとし, スコアが低いものから順に $n$-gram を選択する。

$
\begin{aligned}
S(x) & =\phi_{x}\left(\boldsymbol{e}_{M T}(n)\right) \cdot\left(-P M I\left(x, \boldsymbol{e}_{M T}\right)\right) \\
& \propto p\left(x, \boldsymbol{e}_{M T}\right) \cdot\left(-P M I\left(x, \boldsymbol{e}_{M T}\right)\right)
\end{aligned}
$

## 3.1.4 平滑化された条件付き確率に基づく選択

「誤り頻度に基づく選択」では, 目的言語に頻繁に出現する $n$-gram が分析対象の上位を占めてしまう問題があった。そこで，2つ目のスコア付け基準は，誤り頻度を全体の出現回数で正規化し, 条件付き確率として定式化することを考える。平滑化された条件付き確率に基づく選択では, ある $n$-gram がシステム出力に含まれながら参照文に含まれない確率をスコアとし, このスコアが高いものを優先的に分析する。まず，以下の関数を定義する。

$
\begin{aligned}
F_{M T}(x) & =\sum_{n}\left[\phi_{x}\left(\boldsymbol{e}_{M T}(n)\right)-\phi_{x}\left(\boldsymbol{e}_{C}(n)\right)\right]_{+} \\
F_{C}(x) & =\sum_{n}\left[\phi_{x}\left(\boldsymbol{e}_{C}(n)\right)-\phi_{x}\left(\boldsymbol{e}_{M T}(n)\right)\right]_{+}
\end{aligned}
$

ここで, $F_{M T}(x)$ は誤り頻度に基づく選択で利用した式 (1) に等しい. また， $F_{C}(x)$ は $n$-gram が正解訳により多く出現した回数を表す。ある $n$-gram を選択した際，その $n$-gram が正解訳に多く含まれる条件付き確率は以下の通りである.

$
p\left(\boldsymbol{e}_{M T} \mid x\right)=\frac{F_{M T}(x)}{F_{M T}(x)+F_{C}(x)}
$

しかし, 確率を最尤推定で計算すると，正解訳として出現せず，機械翻訳結果に 1 回しか出現しないような稀な $n$-gram の確率が 1 となり，頻繁に選択されてしまう。上述の問題点を解決するために, 確率の平滑化を行う. 文献 (Mackay and Petoy 1995) では平滑化の手法としてディリクレ分布を事前分布として確率を推定しており，本手法もこれに習う。平滑化を用いた際の $n$-gram $x$ についての評価関数は式 (4) の通りであり， $S(x)$ が低いものを代表的な $n$-gram とする.

$
S(x)=-\frac{F_{M T}(x)+\alpha P_{M T}}{F_{M T}(x)+F_{C}(x)+\alpha}
$

ただし，

$
P_{M T}=\frac{\sum_{x} F_{M T}(x)}{\sum_{x} F_{M T}(x)+\sum_{x} F_{C}(x)}
$

このとき平滑化係数 $\alpha$ を決定する必要がある． $n$-gram を利用して参照文もしくはシステム出力文を選択する際，選択される文の種類がディリクレ過程に従うと仮定すると，コーパス全体に対する尤度は式 (5) で表される.

$
P=\prod_{x} \frac{\left.\{\prod_{k=0}^{F_{M T}(x)-1}\left(k+\alpha P_{M T}\right)\right.\}\left.\{\prod_{k=0}^{F_{C}(x)-1}\left(k+\alpha P_{C}\right)\right.\}}{\prod_{k=0}^{F_{M T}(x)+F_{C}(x)}(k+\alpha)}
$

式 (5)の $P$ が最大化されるような $\alpha$ をパラメーターとする，Pは全区間で微分可能であり，唯
一の極があるとき，その点で最大値となる。 よって $\alpha$ は $P$ の微分からニュートン法により計算できる.

## 3.1.5識別言語モデルの重みに基づく選択

最後に, 識別言語モデルの重みに基づくスコア付け基準を提案する。識別言語モデルは, 自然な出力言語文の特徴を捉えるように学習される通常の言語モデルとは異なり，ある特定のシステムについて, 起こりやすい出力誤りを修正するように学習される。 さらに学習時に正則化を行えば, モデルのサイズが小さくなり, 少ない修正で出力を改善するような効率的な修正パターンが学習される。誤り分析の観点から見ると, モデルによって学習された効率的な修正パターンに目を通せば，システムの特徴的な誤りを発見できると考えられる。

## 構造化パーセプトロンによる識別言語モデル

識別言語モデルの学習は構造学習の一種である. 先行研究では, 構造学習の最も単純な手法である構造化パーセプトロン (Collins 2002) を, 識別言語モデルの学習において有用な手法であると示している (Roark, Saraclar, and Collins 2007). 構造化パーセプトロンでは, 候補集合の中で誤りの修正先として学習される目標 $E^{*}$ を定める。本研究では目標として, 機械翻訳結果の $n$-best の中で評価尺度が最も高かった文（オラクル訳, 3.2 節参照）を選択する。学習では, モデルによって最も大きなスコアが与えられる現在の仮説 $\hat{E}$ と $E^{*}$ の素性列を比較する. 1 回の更新において， $\hat{E}$ と $E^{*}$ の差分を用いて重み $\boldsymbol{w}$ を更新する。重みが更新されると，重みと素性列から計算されるスコアが変化し，仮説 $\hat{E}$ が更新される。 $\hat{E}$ と $E^{*}$ が等しいときは差分が $\mathbf{0}$ のため更新を行わない，重みの更新はコーパス全体に対して一文ごとに逐次的に行い，反復回数や重みの収束といった終了条件が満たされるまで反復する。学習のアルゴリズムを Algorithm 1 に示す.ここで， $\hat{\boldsymbol{E}}(n)$ は $n$ 番目の文に対応する機械翻訳結果の $n$-best リスト， $T$ は反復回数である。また， $E V(E)$ は機械翻訳結果 $E$ の翻訳精度を評価するための自動評価尺度である.

## L1 正則化による素性選択

機械翻訳システムの誤り傾向をより明確にするため，重みの学習時にL1 正則化を行う．L1 正則化は, 重みべクトルに対して L1ノルム $\|\boldsymbol{w}\|_{1}=\sum_{i}\left|w_{i}\right|$ に比例するペナルティを与える. L1 正則化を用いる時に，重み $\boldsymbol{w}$ の中で多くの素性に対応するものが 0 となるため, 識別能力に大きな影響を与えない素性をモデルから削除することが可能となる。

L1 正則化された識別モデルを学習する簡単かつ効率的な方法として, 前向き後ろ向き分割 (forward-backward splitting; FOBOS) アルゴリズムがある (Duchi and Singer 2009). 一般的なパーセプトロンでは正則化を重みの更新時に行うが，FOBOSでは重みの更新と正則化の処理を分割し，重みの利用時に前回からの正則化分をまとめて計算し，効率化を図る.

## 識別言語モデルの素性

識別言語モデルの素性として様々な情報を利用できるが，本研究では $n$-gram に基づく選択を行うため，以下の 3 種類の素性を利用する。

翻訳仮説を生成したシステムのスコア： システム出力を修正するように学習するため, 学習の初期においてシステムスコアによる順位付けが必要である.

翻訳仮説に含まれる $n$-gram の頻度： $n$-gram に対して重み付けをすることで，システムが出力する誤った $n$-gram を捉える。

翻訳仮説の単語数：翻訳システムが利用する評価尺度が単語数によって大きく影響される場

合，単語数を調整するのに用いられる。

$n$-gram の選択時には, 識別言語モデルによって学習された重みが低いものを優先的に選択する。

## 3.2 スコア計算に用いる正解訳 $e_{C(n)$ の選択}

機械翻訳の評価では，正解訳として事前に人手で翻訳された参照訳を利用することが多い. しかし参照訳は機械翻訳とは独立に翻訳されるため, 使用する語彙が機械翻訳結果とは異なる場合が多いと考えられる。本研究では参照訳の代わりに，機械翻訳システムが出力した翻訳候補の中で，自動評価尺度により最も高いスコアが与えられた文（オラクル訳）を正解訳として利用し，参照訳を用いた場合との比較を行う.

表 3 にオラクル訳の例を示す。この例では, 日本語の「宗派」が機械翻訳結果で “sect”と正しく翻訳されているが，参照訳では “school” となっているため, 差分を取ると誤り $n$-gram として選択されやすくなってしまう。オラクル訳は機械翻訳システムの探索空間の中で，参照訳の表現に最も近い文であるため, 訳出に近い表現を維持しながら正しい翻訳に近づく。この場合,誤りでない “sect” がオラクル訳でも使用されているため，差分をとった際に誤り $n$-gram として扱われにくくなる。このように，オラクル訳は翻訳仮説と同じシステムから出力されるため,
表 3 オラクル訳の例

 &  & BLEU+1 \\

オラクル訳は参照訳に比べて翻訳仮説との表層的な異なりが少なくなり，換言を誤り $n$-gram として誤選択する可能性が低くなると考えられる。一方，オラクル訳は機械翻訳システムから出力されている以上，誤訳を含む場合もあることに注意されたい.

## 4 誤り候補 $n$-gram のフィルタリング

$n$-gram に基づく誤り箇所選択では， $n$-gram のスコアはコーパス全体から計算される。このため，コーパス全体を見た際に分析すべきと判断された $n$-gramであっても，ある特定の文では誤りとは考えにくい場合がある。本節では，選択された箇所に対してフィルタリングを適用することにより誤選択を回避し，機械翻訳の誤り箇所選択率の向上を行う.

## 4.1 厳密一致フィルタリング

このフィルタリングは, 機械翻訳結果中のある $n$-gram が誤り箇所として選択された際に, その $n$-gram が正解訳の一部に厳密一致するかどうかを確認し, 一致する場合は選択を行わないようにする。フィルタリングの具体例を表 4 に示す. $n$-gram「、右」が誤り箇所の候補とされた際，1つ目の例では機械翻訳結果の一致箇所が選択されるが，2つ目の例では正解訳に同一の $n$-gram があるため, 誤り箇所の候補から除外される。これは, 正解訳に含まれている文字列は翻訳誤りではないだろうという直感に基づく.

## 4.2 換言によるフィルタリング

機械翻訳結果と正解訳の文字列が，表層的に異なりながら意味が等しい場合, 厳密一致フィルタリングを用いただけでは選択された箇所が正解訳に含まれず，誤選択を回避することができない。この問題を解決するため, 本研究では正解訳の換言を用いたフィルタリングを行う.

換言によるフィルタリングの例を図 4 に示す. 正解訳として “I don't like IT!”が与えられている中, 機械翻訳結果が "I like information technology!" となり, "like information" が誤りの候補として挙げられたとする。換言によるフィルタリングでは，まず正解訳に含まれる全ての部分単語列を用意した換言データベースの中から検索し，ある閥値以上の確率で置換可能な換言を抽出する。次に，抽出された換言を利用して参照訳のパラフレーズラティス (Onishi，
表 4 厳密一致フィルタリングの例

 &  \\

図 4 パラフレーズラティスによる誤り箇所候補のフィルタリング

Utiyama, and Sumita 2010) を構築する。最後にラティス上を探索し, 誤りの候補として挙げられた $n$-gram “like information”が見つかった場合は，この $n$-gramを誤りの候補から除外する.

## 4.3 フィルタリングに用いる正解訳の選択

3.2 節で，スコア計算に用いる正解訳として参照訳またはオラクル訳を利用するが，フィルタリングの際にも正解訳として参照訳のみ用いた場合と，参照訳に加えてオラクル訳を用いた場合で比較を行う。オラクル訳の選択では，機械翻訳の自動評価尺度を用いるが，本研究では以下の 2 つの評価尺度で選択を行った場合の比較を行う。

BLEU+1： 機械翻訳の自動評価に一般的に用いられる尺度である BLEUを, 文単位の評価に対応させたもの．換言を考慮しない.

METEOR: BLEU +1 は，参照訳と機械翻訳結果の表層的な文字列の違いにしか着目しないため，換言に対して不当な罰則を行ってしまう，METEOR は事前に与えられた換言テー ブルを用いるため，換言に対する罰則が BLEU+1に比べて小さくなる．METEORを用いた場合，BLEU+1を用いた場合に比べ，オラクル訳と参照訳の違いは表層的に多くなると考えられるが，逆に機械翻訳結果との表層的な違いが少なくなり，換言の誤選択が発生しにくくなると考えられる。

## 5 実験

本節では，各実験を通して，提案法を利用することで機械翻訳の誤り分析をより効率的に行えることを示す。まず, 各スコア基準に従って単一の機械翻訳システム（5.1.2 節）及び複数の機械翻訳システム (5.1.4 節) の誤り箇所選択を行い, 人手評価を行う。これにより, 提案法の選択精度とシステム間比較における有効性を検証する。次に，誤りとして選択された箇所のフィルタリングを複数の手法によって行い，フィルタリングの効果を自動評価によって測定する（5.2 節)。さらに, 提案法が翻訳誤りでない箇所を誤選択する場合についても分析を行い，提案法が抱える課題を明らかにし, その改善策について検討する（5.3 節)。また, 提案法によって発見された翻訳誤りを修正した際の効果について検討する（5.4 節）.

## 5.1 選択された誤り箇所の調査

本節では，各手法によって順位付けされた誤り $n$-gram を人手で分析する。人手評価の方法は赤部, Neubig, Sakti, 戸田, 中村 (2014a) に従い 2 段階で行う。まず，各誤り箇所選択手法によって選択された箇所に対し, 分析者はその箇所が機械翻訳の誤り箇所を捉えているかどうかをアノテーションする。これにより, 優先的に選択された上位 $k$ 個の $n$-gramについて, 誤り箇所の適合率を測定することが可能となる。次に，誤り箇所を捉えている場合は，以下に示す誤りの種類をアノテーションする.

文脈依存置換誤り：別の文脈では正しい翻訳だが，この文脈では不適切な翻訳。

文脈非依存置換誤り：いかなる文脈であっても，不適切な翻訳.

挿入誤り：不必要な語句の挿入.

削除誤り：必要な語句の不適切な削除.

並べ換え誤り：選択された箇所が語順の誤りを捉えている。

活用誤り： 活用形が誤っている.

これにより, 選択された誤り箇所の誤り傾向を把握する。これらの結果を元に, 翻訳システ么の比較を行う。

## 5.1.1 実験設定

すべての実験で京都フリー翻訳タスク (KFTT) (Neubig 2011)の日英翻訳を利用した。コー パスの大きさを表 5 に示す. 単一の機械翻訳システムを用いた実験では, Travatarツールキット (Neubig 2013)に基づく forest-to-string (F2S) システムを利用した。システム間比較では, F2S システムに加え, Moses ツールキット (Koehn, Hoang, Birch, Callison-Burch, Federico, Bertoldi, Cowan, Shen, Moran, Zens, Dyer, Bojar, Constantin, and Herbst 2007) に基づくフレーズベース翻訳 (PBMT) システム及び階層的フレーズベース (HIERO) システムを利用した。
翻訳システムを構築する上で， $\mathrm{F} 2 \mathrm{~S}$ システムでは単語間アラインメントに $\mathrm{Nile}^{2}$ を利用し，構文木の生成には Egret $^{3}$ を利用した，PBMT システムと HIERO システムでは，単語間アラインメントに GIZA++ (Och and Ney 2003) を利用した。チューニングには MERT (Och 2003)を利用し，評価尺度を BLEU (Papineni et al. 2002) とした.

$n$-gram の選択には 3 章で説明したスコア計算法を利用した。実験を行ったスコア計算法とスコアの学習に利用したデータの組み合わせを表 6 に示す. $n$-best による識別言語モデルの学習は, 反復回数を 100 回とした。学習時に FOBOS (Duchi and Singer 2009)によるL1 正則化を行った. 正則化係数は $10^{-7}-10^{-2}$ の中から選び，KFTT のテストセットに対して高い精度を示す値を利用した。学習には 1-gram から 3 -gram までの $n$-gram を長さによる区別を行わずに利用した。

オラクル文の選択には BLEU +1 を利用し，選択される $n$-gram の誤り傾向を分析した。各手法で，参照訳を用いた厳密一致フィルタリングを行った。

## 5.1 .2 選択する $n$-gram の個数と適合率の関係

まず，識別言語モデルの重みに基づく選択，機械翻訳結果と参照訳から計算された誤り頻度に基づく選択，ランダム選択の比較を行った。図 5 に，上位の $n$-gramを順に選んだ際の誤り箇所適合率を示す。この結果から，識別言語モデルの重みに基づき選択された $n$-gram が，ランダ

表 5 KFTT のデータサイズ

表 6 実験に用いた誤り箇所選択手法

} & 誤り頻度 & O & O & \\

^{3}$ http://code.google.com/p/egret-parser/
}
么選択，誤り頻度に基づく選択の 2 手法に比べ，機械翻訳の誤り箇所を高い精度で捉えていることが分かる.

## 5.1.3選択された $n$-gram の統計

次に, 各手法で上位 30 個に選ばれた誤り $n$-gram を選択した際の誤り箇所適合率を調査した。結果を表 7 に示す.

表から，誤り箇所選択率が高い手法は，平滑化された条件付き確率に基づく手法と，識別言語モデルの重みに基づく手法であることが分かる。その他の手法はランダム選択を下回っており，誤り箇所選択率が高いとは言えない。上位 3 つの手法を比較すると，参照文を利用した条件付き確率に基づく手法では，置換誤りや挿入誤りを多く捉えているが，削除誤りをほとんど

図 5 分析対象となった $n$-gram の誤り箇所選択率横軸は選択した $n$-gram の種類数，縦軸は誤り箇所適合率.

表 7 各手法により選択された $n$-gram の内訳

誤り箇所選択率がランダムよりも高い 3 つの手法を太字で示した。また， 3 つの手法の中で各種類の誤りについて多く検出されたものを太字とした。
捉えていないことが分かる。一方，識別言語モデルの重みに基づく手法では，他の手法に比べて 2 倍以上の削除誤りを捉えていることが分かる.

識別言語モデルの重みに基づく手法以外で削除誤りの検出率が悪い原因として，削除誤りを検出する際には削除された単語列ではなく，その前後の文脈を見る必要があることが挙げられる. 削除誤りが発生する前後の文脈は原文によって大きく変わるため, $n$-gram の発生頻度が小さく候補から外れやすくなる。しかし識別言語モデルの重みに基づく手法の場合，同じ文脈における削除誤りが $n$-best 中の複数の候補に発生するため, 削除誤りが修正されるまで $n$-gram の重みを大きくしようとする，結果として，識別言語モデルの重みに基づく手法では，削除誤りも多く捉えることができる。

各手法とも，ランダム選択に対して捉えられた誤りの分布は大きく異なる。この点から, 別々の手法によって捉えられた誤りの分布を比較することはできないことが分かる。また，あるシステムの分析結果に対して，どの誤りが多い，あるいは少ないという絶対的な評価はできず，システム同士の相対的な評価にしか利用できないことに注意されたい.

識別言語モデルの重みによって選択された箇所の例を表 8 に示す.この結果を見ると, 誤り頻度に基づいて選択した場合（表 2）に比べ，選択された $n$-gram が目的言語の言語現象に支配されていないことが分かる.

表 8 識別言語モデルによって選択された上位の $n$-gram

 \\

枠で囲まれた部分は選択された箇所および選択箇所に対応する箇所を示す.

## 5.1.4 システム間比較

分析対象とするシステムによって, 含まれる誤りの分布が異なる。本節では, 提案法によって検出される誤りが, 本来の誤り分布を適切に捉えることを確認する。具体的には, PBMT, HIERO, $\mathrm{F} 2 \mathrm{~S}$ の 3 つの翻訳システムで日英・英日の両方向に対して翻訳を行い，単一システムの評価を行った際と同様に，識別言語モデルの重みに基づく誤り箇所選択法を利用して抽出された上位 30 個の誤り $n$-gramに対し，分析を行った。その結果を表 9 に示す.

この結果から, PBMT と HIEROの両システムでは, 並べ換え誤りが上位の誤りとして検出されている一方，F2S システムの特に英日翻訳では下位の誤りとして検出された。一般的に, 統語情報を使った翻訳システムは並べ換え誤りに強いことが知られており, 本結果はこれを裏付けることとなった。次に，日英翻訳では挿入誤りが多く検出され，逆に英日翻訳では日本語で多様な活用誤りが多く検出されていることが分かる.

このように僅か 30 個の誤り $n$-gramに目を通すだけで，各翻訳システムが苦手とする分野に目を通すことがある程度できたことが分かる。

## 5.2 選択された箇所に対するフィルタリングの効果

本節では，翻訳誤りとして選択された箇所に対し，各フィルタリング法を適用した際の効果について，誤り箇所アノテーションコーパスを用いた自動評価により検証する。自動評価には，先行研究で提案されている機械翻訳結果を後編集した際の編集パターンを利用した手法 (赤部, Neubig, Sakti, 戸田，中村 2014b）を利用する。評価の際は，事前に選択精度評価用の機械翻訳結果を後編集したコーパスを作成する。後編集のパターンから，機械翻訳結果の各部分に対して, 挿入誤り, 削除誤り, 置換誤り, 並べ換え誤りのラベルを付与することが可能である.これを誤り箇所の正解ラベルとし，評価用の機械翻訳結果に対して各誤り箇所選択法を適用した際に，誤り箇所の正解ラベルをどの程度予測できるかを適合率と再現率により評価する.

表 93 種類のシステムで両方向の翻訳を行った際の比較

太字は各システムで発生した誤りの上位 3 種類.

## 5.2.1 実験設定

人手評価の際と同様に, 機械翻訳システムとして京都フリー翻訳タスク (KFTT) (Neubig 2011) の日英データで構築された $\mathrm{F} 2 \mathrm{~S}$ システムを利用した。誤り候補のフィルタリングでは，正解訳として参照訳のみ利用した場合と, 参照訳とオラクル訳の 2 つを利用した場合で比較を行った. オラクル訳の選択には, 評価尺度として BLEU+1 または, METEOR version 1.5 (Denkowski and Lavie 2014) を利用し，それぞれ 500-best の中で評価尺度が最大となるものを選択し，比較を行った. パラフレーズラティスの構築のため, 英語換言データベース (PPDB) (Ganitkevitch, Van Durme, and Callison-Burch 2013)のXL サイズ（43.2 M ルール）を利用した。また日本語のラティス構築のため, 日本語換言データベース (Mizukami, Neubig, Sakti, Toda, and Nakamura 2014)の XL サイズ（11.7 M ルール）を利用した.

誤り箇所選択率の評価のため, KFTT の開発セットを日英翻訳した結果 503 文 (12,333 単語),英日翻訳した結果 200 文（4,846 単語）に対して後編集を行い，誤り箇所アノテーションコーパスを作成した。

## 5.2.2参照訳による厳密一致フィルタリングの効果

予備実験として，コーパス全体をランダムに選択した場合と，参照訳によるフィルタリングを行った場合で，誤り箇所の選択精度がどのようになるか確認を行った．表 10 はすべての箇所をランダムに分析した場合の結果である。「フィルタリングなし」はチャンスレート，「フィルタリングあり」は分析の際にフィルタリングを行った結果である ${ }^{4}$.この表から, 参照訳によるフィルタリングを行うだけでも，再現率の低下を抑えつつ適合率が大きく改善したことが分かる。

## 5.2.3換言を考慮した正解訳の効果

各正解訳（参照訳，参照訳＋オラクル訳）を用いたフィルタリング法を，換言あり・なしの場合について適用した実験を行った。表 11 は各設定における誤り箇所適合率と再現率の結果である.この表から，フィルタリングに用いる正解訳として，参照訳のみを用いた場合に比べて

表 10 参照訳によるフィルタリングの効果

BLEU +1 によるオラクル訳を加えた方が適合率が高く，また評価尺度として METEORを用いた場合は，BLEU+1を用いた場合に比べ更に適合率が高くなったことが分かる。このことから， METEORにより選択されたオラクル訳は，機械翻訳の 1-best 出力で利用される語彙に似ており，換言表現が含まれにくくなっていることが分かる.

次に正解訳の換言を用いた場合の結果を見ても，選択箇所の誤り箇所適合率が高くなっていることが分かる。これらから，正解訳の換言を用いたフィルタリングを行うことによって，機械翻訳の誤り箇所がより適切に捉えられるようになったことが分かる.

一方，再現率について注意しなければならない点がある。特にオラクル訳を正解訳として利用した場合に，誤り箇所選択の再現率が大きく低下している。これは，オラクル訳は機械翻訳システムが出力した文であり，1-best と同様の誤りが発生する場合があるためである。しかし,今回提案した各手法は，コーパスの中の少なくとも $20 \%$ の誤り箇所を捉えており，提案法を利用する際には大きな問題とはならないと考えられる。誤り分析を効率的に行う際には, 適合率の高い手法から先に利用し，選択された箇所を全て分析してしまった場合は順次再現率の高い選択法に切り替えることが可能である.

表 12 にフィルタリングされた箇所の例を示す. 1 つ目の日英翻訳の例では, “foundation of" が誤り箇所の候補として選択されている。しかし参照訳に含まれる “a foundation for" は換言デー タベースによると“a foundation of"に置き換えることが可能である。その結果, “foundation of" は誤りの候補から正しく除外された，2つ目の英日翻訳の例では，換言データベースにより

表 11 各フィルタリング法における適合率と再現率

表 12 換言によりフィルタリングされた $n$-gram の例

 &  \\

句点「、」が削除されたことで，不適切な選択箇所が正しく除外された。

この際注意すべきこととして，生成されたパラフレーズラティスが言語的に正しいものとは限らないという点が挙げられる。このため, 誤った翻訳が発生している箇所が候補から除外される可能性もあることに注意されたい.

## 5.2.4換言テーブルのドメインの影響

次に，日英翻訳において異なる換言データベースを使用した際の選択精度の調査を行った。前節の実験で利用した英語 PPDB には，分析対象であるKFTTのデータが含まれていない。このため，KFTTのデータが含まれている日本語 PPDB の構築データを利用して英語の PPDBを新たに作成した．前者を「ドメイン外」，新しく作成した後者を「ドメイン内」とし，評価結果を表 13 に示す.

この表から, 分析対象のドメインのデータが含まれた換言データベースを利用することで,誤り箇所選択の適合率が向上したことが分かる。換言データベースは機械翻訳のパラレルデー タがあれば容易に作成可能なため (Bannard and Callison-Burch 2005)，誤り分析で利用する際には独自に作成することが望ましいと言える。

## 5.2.5 選択された誤り箇所の分布

誤り箇所選択法によって見つかった誤りの傾向が，本来の誤り傾向と異なる場合，機械翻訳システムの傾向を正しく把握できないことにつながる。このため, 誤り分析コーパスに含まれる誤りの分布と，各誤り箇所選択法によって見つかった誤りの分布の比較を行った.

各手法によって見つかった誤りの統計を図 6 に示し, 表 14 に KL ダイバージェンス (Kullback and Leibler 1951) $D_{\mathrm{KL}}\left(P_{\text {corpus }} \| P_{\text {select }}\right)$ を示す.ここで， $P_{\text {corpus }}$ はコーパスに含まれる誤りの分布, $P_{\text {select }}$ は各手法によって見つかった誤りの分布である。この結果から，参照訳を用いたフィルタリング法によって検出される誤りが，翻訳システムの誤り傾向を最も正確に捉えていると言えるが，他の手法でも KL ダイバージェンスの値が 0.001 程度に収まっている。この結果から， いずれの手法においても選択された誤りの種類に大きな偏りが生じず，機械翻訳システムの誤り傾向を適切に捉えていることが分かった。

表 13 異なるドメインの PPDB を利用した場合の結果

図 6 各手法で選択された誤り箇所の分布 “All”は誤り分析コーパスに含まれる誤りの分布を示す.

表 14 コーパスに含まれる誤り分布と見つかった誤り分布の間の KL ダイバージェンス

## 5.3 誤選択箇所の分析

5.1 節及び 5.2 節の実験から，各誤り箇所選択法が誤って正しい翻訳箇所を選択する場合，またはフィルタリングによって誤り箇所が選択できなくなってしまう場合が存在することが明らかとなった。また，誤り箇所選択の自動評価の際，後編集結果に基づいて誤り箇所がアノテー ションされたコーパスを用いるが，そもそもこのコーパスに誤りが含まれている場合は，精度評価が正しく行えないと考えられる。本節では, 5.2 節と同様に, 日英翻訳の誤り箇所アノテー ションコーパスを用いて誤り箇所選択を行い, 自動評価によって誤選択と判断された箇所について原因の調査を行った.

## 5.3.1誤選択された正しい翻訳箇所に対する分析

誤り箇所選択法は，優先的に分析すべきと判断された箇所を選択するが，選択された箇所が本当は誤りでない場合がある。このような誤選択の分析を行うため, 各手法により誤り箇所選択を行い，さらに選択箇所の自動評価を行った際に，誤選択と判断された部分について以下のアノテーションを人手で行う.

厳密一致： $n$-gram は正解訳にも存在し, 換言を利用しないフィルタリングによって除外可能.換言： $n$-gram は正解訳の局所的な換言であり, 適切な換言ルールを利用できれば, 除外可能.統語的換言： $n$-gram は正解訳の換言だが，局所的な換言が困難と考えられる．文全体に影響

する複雑な換言を利用できれば，除外可能.

正解訳の誤り： 正解訳が誤っているため, フィルタリングによって除外されない.

無くても良い： $n$-gram は正解訳に一致せず，フィルタリングできない。しかし，その $n$-gram が正解訳に含まれていなくても正解訳は誤りでない.

後編集誤り： 正解ラベルの誤り（後編集誤り）により誤選択と判断されたが，実際は適切な選択.

その他： 上記以外の誤り。 $n$-gram が長すぎるためフィルタリングできない等.

## 実験設定

京都フリー翻訳タスク (KFTT) の日英データで構築された $\mathrm{F} 2 \mathrm{~s}$ システムに対し，「識別言語モデルの重みに基づく誤り箇所選択」を行い，再現率が $5 \%$ となる上位の $n$-gram について分析を行った。選択の際，各手法によりフィルタリングを行った。オラクル訳を選択する際の評価尺度として BLEU+1を利用した。

## 実験結果

まず，選択箇所のフィルタリングを一切しない場合に検出された誤選択箇所の内訳を表 15 に示す. 誤選択と判断された箇所の内，誤り箇所アノテーションコーパスの誤りであり，誤選択

次に，各フィルタリング法を適用した場合に検出された誤選択箇所の個数を表 16 に示す。この結果から，識別言語モデルの重みに基づく誤り箇所選択を行った際に，参照訳を用いたフィルタリングを行うことによって 4 割以上の誤選択を回避できることが分かった。また，誤選択された箇所が正解訳の換言に含まれる場合，参照訳の換言を用いたフィルタリングによって 3 割以上，さらにオラクル訳やオラクル訳の換言を用いたフィルタリングを合わせることで 8 割以上の誤選択を回避できることが分かった。

表 15 誤選択された $n$-gram の内訳

正解訳を「参照訳」とした場合の統計.

オラクル訳を正解訳としてフィルタリングを行った場合の「正解訳の誤り」がフィルタリングをしなかった場合に比べて多く現れている。これは，オラクル訳に含まれる誤りが参照訳に対して多いためである。また，「厳密一致」に分類される誤選択箇所であっても，フィルタリングで除外されない誤りがある。これは短い $n$-gram で一致していても，長い $n$-gram では一致しない場合にフィルタリングを通過し，誤選択されてしまうためである。

表 17 に誤り箇所の誤選択例を示す。「統語的換言」に分類された例を見ると，機械翻訳結果の“1392 , started” が誤り箇所として選択されている。これは参照訳の統語的な換言であり，実験で使用した PPDB では対応できないため，参照訳のみを正解訳とした場合は誤り箇所として扱われてしまう。しかし，オラクル訳は機械翻訳結果と同じ文の構造をしており，“began”を "started"に置き換えるだけで選択箇所に一致する。このため, オラクル訳の換言を使ったフィルタリングによって分析対象から除外可能となる.

表 16 各フィルタリング適用後の誤選択箇所の個数

} & \multicolumn{6}{|c|}{ + 参照訳 } \\

括弧内の数字は，フィルタリングを行わなかった場合（－参照訳，－オラクル）に対する比率 $(\%)$.

表 17 各種類の誤選択例

 &  &  \\

枠で囲まれた文字列は誤選択箇所を示す.

## 5.3.2選択されなかった誤り箇所に対する分析

誤り箇所選択によって選択された箇所に対してフィルタリング法を適用することで，正解訳に一致する $n$-gram や正解訳の換言に含まれる $n$-gram を誤り箇所から除外することができる. しかしそれらの手法によって，逆に正しく選択されるべき機械翻訳の誤り箇所を誤り箇所の候補から除外する場合があり，再現率の低下として現れている。このような問題の分析を行うため, 誤り箇所アノテーションコーパスで誤りとされている箇所で，フィルタリングにより選択できなくなる部分について，以下の基準に従って分類を行う.

誤った部分に一致： 正解訳の異なる位置に対応する $n$-gram に一致した.

誤った換言： 換言テーブルの不適切なルールが使用された。

文脈的に誤った換言：この文脈では使うべきでない換言ルールが使用された.

文脈的後編集： 文脈に依存する誤り箇所．後編集の表現方法を変えれば，誤り箇所ではなくなる。

正解訳の誤り： 正解訳が誤っているため, 誤り箇所がフィルタリングによって除外された.

後編集誤り： 正解ラべルの誤り（後編集誤り，または不要な後編集）により誤り箇所とされているが，実際は適切な翻訳。

日本人の名前：日本人の名前（姓名の順序が正解訳・機械翻訳結果と後編集の間で異なる）.

コーパス特有の問題であり後編集誤りに分類できるが，多く含まれているため特別に分類を行う。

## 実験設定

5.2 節で利用した日英機械翻訳の誤り箇所アノテーションコーパスについて，「参照訳を用いた厳密一致フィルタリング」及び「参照訳のパラフレーズを用いたフィルタリング」を適用し,選択されなくなってしまう誤り箇所の調査を行った。

## 実験結果

各フィルタリング法を適用することによって選択されなくなった誤り箇所の統計を表 18 に示す.この結果から, 参照訳のみによるフィルタリングを行った場合, 選択されなくなる箇所の約 3 割は誤り箇所アノテーションコーパスの誤りによるもの, 約 6 割は姓名の順序の違いに起因する誤りであり，実用上問題となる誤り箇所がほとんど除外されていないことが分かった.次に，参照訳の換言によるフィルタリングを適用した場合の結果を見ると，間違った換言が使用されたことによる誤選択が $20 \%$ 以上あることが分かった.

また，誤り箇所アノテーションコーパスの誤りにより誤り箇所として誤判断された箇所が約 3 割検出されており，各選択法の再現率を評価する際，無視できないほどの影響が出ることが分かった。

## 5.4 誤り箇所選択の誤り分析における効果

本節では，実際の誤り分析を想定し，各誤り箇所選択法を用いて一定時間分析を行った際の効果を検証する。

図 7 は本節の実験の手順を示す。まず， 3 章で述べた各手法によって $n$-gram にスコアを与え,優先的に分析すべき $n$-gram を順に抽出する。次に，機械翻訳の訳出の中で各 $n$-gram が含まれている文を列挙し， $n$-gram に一致する箇所を選択する。その際， 4 章で述べたフィルタリング処理を行う．分析シートは， $n$-gram が正解訳に含まれないものを先に表示し, 正解訳に含まれるものを後に表示するようにした。このようにすることで，分析者はフィルタリングの対象とならなかった結果を優先的に分析しつつ，分析者の時間が許せば，誤ってフィルタリングされた機械翻訳文も分析対象とすることができる。分析者は各 $n$-gram が選択した箇所について誤り分析を行い，翻訳時に誤って使用された翻訳ルールを記録する。その際，誤り箇所が 5.1 節で

表 18 フィルタリングで除外された誤り箇所の内訳

図 7 分析時間と誤り発見数の関係の調査
述べた「文脈依存誤り」か「文脈非依存誤り」かを記録しておくことで，翻訳ルールそのものが誤っているのか，あるいはモデル化が誤っているのかが把握可能となる。 1 個の $n$-gramにより複数の文が選択された場合は，実際の誤り分析と同様に，分析者の判断ですべての文を見ずに分析を中断しても良いこととする。最後に，各 $n$-gram 毎に誤り分析に要した時間を記録する.

## 5.4.1 実験設定

機械翻訳システムとして京都フリー翻訳タスク (KFTT) で構築された $\mathrm{F} 2 \mathrm{~s}$ 英日翻訳システムを利用した， $n$-gramのスコアリングに「ランダム」，「誤り頻度」，「識別言語モデルの重み」に基づく3つの手法を利用し, 自動評価で $\mathrm{F}$ 値が最大となった「参照訳の換言によるフィルタリング」を利用した．KFTTの開発セットに対して誤り箇所選択を行い，誤って使用された翻訳ルールを記録した。

## 5.4.2 実験結果

各手法を利用して誤り分析を行った際に，経過した分析時間と誤って使用された翻訳ルールが発見された個数の関係を図 8(a) に示す.また図 8(b) は発見された誤りの中でも文脈非依存誤りの原因となるルールが見つかった個数を示す．グラフの傾きが大きいほど，誤りルールを効率的に発見できることを意味する。これらの結果から，各手法とも分析時間と誤りルール発見数の間に大きな違いは見られなかった。一方で，文脈非依存誤りの原因に限って見れば，識別言語モデルの重みに基づく誤り箇所選択では，他の手法に比べて早い段階から誤りが見つかることが分かった。

文脈非依存誤りは，その誤りを修正しようとした際に文脈を考慮する必要がないため，文脈依存誤りに比べて誤りを容易に修正できる。このため，識別言語モデルの重みに基づく手法を

(a) すべての種類

（b）文脈非依存誤りのみ

図 8 分析時間と記録された誤りルール数の関係
表 19 文脈非依存誤りの原因として記録されたルールが KFTT のテストセット翻訳時に使用された回数

利用することで，修正が容易な誤りを早期に発見することができ，システムの改善を比較的効率良く行うことができると言える。

次に，文脈非依存誤りの原因として記録された翻訳ルールを機械翻訳システムから削除することによって，システムをどの程度改善できるかを見積もった．KFTTのテストセット 1,160 文を機械翻訳した際，21,080 個の翻訳ルールが使用された。この内，各手法で文脈非依存誤りの原因として記録されたルールが使用された回数を表 19 に示す.

この結果から，文脈非依存の誤りの原因となるルールを具体的に記録しても，そのルールが機械翻訳システムで使用されることは稀であることが分かる。翻訳システムの誤りを修正する際には，見つかった誤りルールを 1 つずつ修正するのではなく，見つかった誤りルールを一般化し，テストセットにおけるカバー率を向上させる必要がある.

## 6 おわりに

本論文では，機械翻訳システムの比較・改善のための誤り分析を効率的に行うことを目的として, 機械学習の枠組みを利用した機械翻訳の誤り箇所選択法, 及び選択箇所のフィルタリング法を提案した。その結果, 人手評価において従来法に比べて高い精度で適切な誤り箇所を捉えることに成功した。また，優先的に選択された少量の誤り箇所を分析するだけで，各システムの誤り傾向を捉えることができ，システム間比較の効率化に貢献した.

次に，機械翻訳の誤り箇所選択法が誤選択した箇所の分析を行ったところ，オラクル訳や換言を利用したフィルタリングは適合率の向上に効果的であるが，誤った換言が使用されることによる再現率の低下が明らかとなった。

最後に，今回の提案法を実際の誤り分析に利用した場合の効果を検証した。その結果，翻訳システムを容易に修正可能な文脈非依存誤りについては，提案法により比較的早い段階から捉えることが可能であることが分かった. 一方ですべての種類の誤りについて見ると, 各手法とも誤りの発見数に大きな違いが見られなかった. この理由として, 各手法によって選択された誤り箇所の特徴が挙げられる。誤り頻度に基づき選択された誤り箇所は, 識別言語モデルの重みに基づいて選択された箇所に比べ，目的言語に頻繁に出現する $n$-gram を多く含む。このため, 識別言語モデルの重みに基づく手法を利用した際, 誤り分析者が比較的効率良く選択箇所

に目を通すことができたと考えられる。今回の実験では，目を通した文の数については記録を行っていないため, 今後の調査項目として検討する必要がある.

また，発見したルールを単独で見ても，システム全体から見ればそのような翻訳ルールが使用されることはごく稀であることが分かった。一方で，具体的な誤りルールを一般化することで，同様の翻訳ルールをまとめて修正することは可能と考えられる。

今後の課題として，見つかった具体的な誤りをどのように一般化するかを検討する必要がある。具体的には，見つかった翻訳ルールを品詞列などのより抽象的な情報に自動的に変換することや，誤ったルールを元に，人手によって複数の修正ルールを列挙する手法が考えられる.

## 謝 辞

本研究の一部は, JSPS 科研費 25730136 と (独) 情報通信研究機構の委託研究「知識・言語グリッドに基づくアジア医療交流支援システムの研究開発」の助成を受け実施したものである.

## 参考文献

赤部晃一, Graham Neubig, Sakriani Sakti, 戸田智基, 中村哲 (2014a). 機械翻訳システムの詳細な誤り分析のための誤り順位付け手法. 情報処理学会第 216 回自然言語処理研究会 (SIG-NL), 東京.

赤部晃一, Graham Neubig, Sakriani Sakti, 戸田智基, 中村哲 (2014b). パラフレーズを考慮した機械翻訳の誤り箇所選択. 情報処理学会第 219 回自然言語処理研究会 (SIG-NL), 神奈川.

Bach, N., Huang, F., and Al-Onaizan, Y. (2011). "Goodness: A Method for Measuring Machine Translation Confidence." In Proceeding of ACL, pp. 211-219.

Banerjee, S. and Lavie, A. (2005). "METEOR: An Automatic Metric for MT Evaluation with Improved Correlation with Human Judgments." In Proceeding of ACL Workshop on Intrinsic and Extrinsic Evaluation Measures for Machine Translation and/or Summarization.

Bannard, C. and Callison-Burch, C. (2005). "Paraphrasing with Bilingual Parallel Corpora." In Proceeding of $A C L$, pp. 597-604.

Church, K. W. and Hank, P. (1990). "Word Association Norms, Mutual Information, and Lexicography." Computational Linguistics, 16 (1), pp. 22-29.

Collins, M. (2002). "Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms." In Proceeding of EMNLP, pp. 1-8.

Denkowski, M. and Lavie, A. (2014). "Meteor Universal: Language Specific Translation Evaluation for Any Target Language." In Proceedings of the EACL 2014 Workshop on Statistical

## Machine Translation.

Doddington, G. (2002). "Automatic Evaluation of Machine Translation Quality using N-gram Co-occurrence Statistics." In Proceeding of HLT, pp. 128-132, San Diego, CA.

Duchi, J. and Singer, Y. (2009). "Efficient Online and Batch Learning using Forward Backward Splitting." Journal of Machine Learning Research, 10, pp. 2899-2934.

El Kholy, A. and Habash, N. (2011). "Automatic Error Analysis for Morphologically Rich Languages." In Proceeding of MT Summit, pp. 225-232.

Fishel, M., Bojar, O., Zeman, D., and Berka, J. (2011). "Automatic Translation Error Analysis." In Text, Speech and Dialogue, pp. 72-79. Springer.

Flanagan, M. (1994). "Error classification for MT evaluation." In Proceeding of AMTA, pp. 65-72. Ganitkevitch, J., Van Durme, B., and Callison-Burch, C. (2013). "PPDB: The Paraphrase Database." In Proceeding of NAACL, pp. 758-764.

Kirchhoff, K., Rambow, O., Habash, N., and Diab, M. (2007). "Semi-automatic Error Analysis for Large-scale Statistical Machine Translation Systems." In Proceeding of MT Summit.

Koehn, P., Hoang, H., Birch, A., Callison-Burch, C., Federico, M., Bertoldi, N., Cowan, B., Shen, W., Moran, C., Zens, R., Dyer, C., Bojar, O., Constantin, A., and Herbst, E. (2007). "Moses: Open Source Toolkit for Statistical Machine Translation." In Proceeding of ACL, pp. 177-180.

Kullback, S. and Leibler, R. (1951). "On Information and Sufficiency." The Annals of Mathematical Statistics, 22, pp. 79-86.

Lin, C.-Y. and Och, F. J. (2004). "Orange: A Method for Evaluating Automatic Evaluation Metrics for Machine Translation." In Proceeding of COLING, pp. 501-507.

Mackay, D. J. and Petoy, L. C. B. (1995). "A Hierarchical Dirichlet Language Model." Natural Language Engineering, 1 (3), pp. 289-308.

Mizukami, M., Neubig, G., Sakti, S., Toda, T., and Nakamura, S. (2014). "Building a Free, General-Domain Paraphrase Database for Japanese." In Proceeding of COCOSDA.

Neubig, G. (2011). "The Kyoto Free Translation Task." http://www.phontron.com/kftt.

Neubig, G. (2013). "Travatar: A Forest-to-String Machine Translation Engine based on Tree Transducers." In Proceeding of ACL Demo Track, pp. 91-96.

Och, F. J. (2003). "Minimum Error Rate Training in Statistical Machine Translation." In Proceeding of ACL, pp. 160-167.

Och, F. J. and Ney, H. (2003). "A Systematic Comparison of Various Statistical Alignment Models." Computational Linguistics, 29 (1), pp. 19-51.

Onishi, T., Utiyama, M., and Sumita, E. (2010). "Paraphrase Lattice for Statistical Machine

Translation." In Proceeding of $A C L$, pp. 1-5.

Papineni, K., Roukos, S., Ward, T., and Zhu, W.-J. (2002). "BLEU: A Method for Automatic

Evaluation of Machine Translation." In Proceeding of ACL, pp. 311-318.

Popović, M. and Ney, H. (2011). "Towards Automatic Error Analysis of Machine Translation Output." Computational Linguistics, 37 (4), pp. 657-688.

Roark, B., Saraclar, M., and Collins, M. (2007). "Discriminative N-gram Language Modeling." Computer Speech 83 Language, 21 (2), pp. 373-392.

Specia, L., Turchi, M., Cancedda, N., Dymetman, M., and Cristianini, N. (2009). "Estimating the Sentence-level Quality of Machine Translation Systems." In Proceeding of EAMT, pp. 28-37.

Vilar, D., Xu, J., d'Haro, L. F., and Ney, H. (2006). "Error Analysis of Statistical Machine Translation Output." In Proceeding of LREC, pp. 697-702.

## 略歴

赤部晃一：2015 年奈良先端科学技術大学院大学情報科学研究科博士前期課程修了. 同大学院博士後期課程に在学中. 機械翻訳, 自然言語処理に関する研究に従事.

Graham Neubig: 2005 年米国イリノイ大学アーバナ・シャンペーン校工学部コンピュータ・サイエンス専攻卒業. 2010 年京都大学大学院情報学研究科修士課程修了. 2012 年同大学院博士後期課程修了. 同年奈良先端科学技術大学院大学助教. 機械翻訳，自然言語処理に関する研究に従事.

Sakriani Sakti: 1999 年インドネシア・バンドン工科大学情報卒業. 2002 年ドイツ・ウルム大学修士，2008 年博士課程修了。2003 2011 年 ATR 音声言語コミュニケーション研究所研究員, 情報通信研究機構主任研究員. 現在, 奈良先端科学技術大学院大学情報科学研究科助教。2015～2016 年フランス INRIA 滞在研究員. 統計的パターン認識, 音声認識, 音声翻訳, 認知コミュニケー ション, グラフィカルモデルの研究に従事. JNS, SFN, ASJ, ISCA, IEICE, IEEE 各会員.

戸田智基：1999 年名古屋大学工学部電気電子・情報工学科卒業. 2003 年奈良先端科学技術大学院大学情報科学研究科博士後期課程修了. 同年日本学術振興会特別研究員-PD. 2005 年奈良先端科学技術大学院大学情報科学研究科助手． 2007 年同助教。2011 年同准教授。2015 年より名古屋大学情報基盤センター教授. 工学博士．音声情報処理の研究に従事． IEEE，電子情報通信学会，情報処理学会，日本音響学会各会員.
中村哲：1981 年京都工芸繊維大学工芸学部電子工学科卒業. 京都大学工学博士. シャープ株式会社. 奈良先端科学技術大学院大学助教. 2000 年 ATR 音声言語コミュニケーション研究所室長, 所長. 2006 年独立行政法人情報通信研究機構研究センター長, けいはんな研究所長などを経て, 現在, 奈良先端科学技術大学院大学教授. ATRフェロー. カールスルーエ大学客員教授. 音声翻訳, 音声対話, 自然言語処理の研究に従事. 情報処理学会喜安記念業績賞. 総務大臣表彰, 文部科学大臣表彰, Antonio Zampoli 賞受賞. IEEE SLTC 委員, ISCA 理事, IEEE フェロー.

(2015 年 5 月 21 日受付)

(2015 年 8 月 6 日再受付)

(2015 年 8 月 29 日採録)

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


# 自動生成した学習データを用いた文書分類器に基づく FAQ 検索システム

牧野 拓哉 $\dagger$ ・野呂 智哉 $\dagger$ $\cdot$岩倉 友哉 $\dagger$
}

本論文では，ユーザからの自然文による問い合わせを対応する Frequently Asked Question (FAQ) に分類する文書分類器を用いた FAQ 検索手法を提案する. 本文書分類器は, 問い合わせ中の単語を手掛かりに，対応する $\mathrm{FAQ}$ を判別する。しかし, FAQの多くは宇長性がないため, FAQを学習データとして文書分類器を作成する方法では，ユーザからの多様な問い合わせに対応するのが難しい。 そこで，この問題 に対処するために，蓄積されたユーザからの問い合わせ履歴から学習データを自動生成し, 文書分類器を作成する。 さらに, FAQ および文書分類用に自動生成した学習デー夕を用いて, 通常使われる表層的な手がかりに加えて, 本文書分類器の出力 を考慮するランキングモデルを学習する。ある企業のコールセンターの 4,738 件の FAQ および問い合わせ履歴 54 万件を用いて本手法を評価した。その結果，提案手法が, pseudo-relevance feedback および，統計的機械翻訳のアライメント手法を用い て得られる語彙知識によるクエリ拡張手法と比較し, 高いランキング性能を示した. キーワード：FAQ 検索，文書分類，ランキング学習
## An FAQ Search Method Using a Document Classifier Trained With Automatically Generated Training Data

\author{
Takuya Makino ${ }^{\dagger}$, Tomoya $\mathrm{Noro}^{\dagger}$ and Tomoya Iwakura ${ }^{\dagger}$
}

We propose an Frequently Asked Question (FAQ) search method that uses a document classifier for classifying a natural language query to a corresponding FAQ. The document classifier classifies a query with words that occur in the query. However, since FAQs have little redundancy, using FAQs as training data for the document classifier is not sufficient for classifying queries that have the similar meaning but different surface expressions. To tackle this problem, our method generates training data automatically from FAQs and corresponding histories and trains the document classifier with them. Furthermore, with the automatically generated training data, our method learns a ranking model that uses classification results of the document classifier. Experimental results on a company FAQs and corresponding histories showed that our method outperformed pseudo-relevance feedback and query expansion model that uses word alignment model in statistical machine translation.

Key Words: FAQ Retrieval, Document Classification, Learning to Rank

## 1 はじめに

製品やサービスを提供する多くの企業は顧客の問い合わせに対応するために，コールセンター を運営している。

コールセンターでは, オペレータが電話やメールによる顧客問い合わせに対応する際や, 顧客自身が答えを探す際の支援のために, Frequently Asked Question (FAQ)の整備および，FAQ 検索システムを導入していることが多い.

FAQ 検索の利用者は, 自然文や単語の集合を検索クエリとして, 検索を実施するのが一般的である。しかし, FAQは過去の問い合わせ履歴の中から，同様の質問をまとめ，それらを代表するような抽象的な表現で作成されることが多いため, 類義語や同義語, 表記の摇れといった問題により，正しく検索できない場合がある，たとえば，以下の例のように入力の問い合わせと対応する FAQ で語彙が一致しないことがある.
- 問い合わせ：○○カードの再度発行をしたい. 今から出張だが、カードが見当たらない. どうしたらよいか.
- 正解の FAQの質問部分：○○カードを紛失・盗難・破損した場合の手続き方法
- 不正解の FAQの質問部分：○○カードを新規発行する方法

この例では, 正解の FAQへの語彙の一致は「○○カード」のみである. 一方, 不正解の FAQ には,「○○カード」に加え,「発行」も一致するため, 不正解の FAQが上位にランクされてしまう。

このような問題に対して, たとえば, Yahoo!知恵袋などのコミュニティ型質問応答サイトにおける類似質問検索では, 統計的機械翻訳で用いられるアライメントモデルを適用する方法が提案されている (Riezler, Vasserman, Tsochantaridis, Mittal, and Liu 2007; Soricut and Brill 2004; Xue, Jeon, and Croft 2008).また，Web 検索においては，ユーザのクエリに対して得られた検索結果の上位の文書集合を適合文書とみなしてクエリを拡張する pseudo-relevance feedback といった手法も用いられている.

しかし, アライメントモデルが学習しているのは, 単語と単語の対応確率であり, FAQを特定するために有効な語を学習しているとは言えない. また, Webやコミュニテイ型質問応答サイトなど複数の適合文書が得られる可能性がある場合に用いられる pseudo-relevance feedback は, 適合する FAQが複数存在することが Web 検索ほど期待できない FAQ 検索では十分な効果が得られない可能性がある.

本論文では, 問い合わせを対応する FAQに分類する文書分類器を利用した FAQ 検索システムを提案する．本システムでは，機械学習を基に各FAQに関連のある単語を学習することで，問い合わせ中の単語が検索対象の FAQに一致していなくてもFAQを精度良く検索することを目指す.

しかし，FAQだけを文書分類器のための学習データとして用いる場合は，FAQに出現する単語だけの判別しかできないという問題が残る。 そこで, 文書分類器を学習するために, コー ルセンターにて蓄積されている顧客からの問い合わせとオペレータの対応内容である問い合わせ履歴から自動生成した学習データを用いる。問い合わせ履歴には，問い合わせに対するオぺレータの対応内容は記入されているものの, 明示的にどの FAQが対応するという情報は付与されていない場合がある。そのため，本論文では，Jeon らの (Jeon, Croft, and Lee 2005)「似た意味の質問には似た回答がされる」という仮定に基づき，FAQの回答部分と問い合わせ履歴の対応内容の表層的類似度を計算し, 閾値以上となった対応内容と対になっている問い合わせをそのFAQに対応するものとみなして学習データとする方法を用いる。

さらに，本論文では，文書分類器の判別結果に加え, 問い合わせと検索対象のコサイン類似度といった多くの手法で用いられている特徴を考慮するために, 教師有り学習に基づくランキングモデルの適用を提案する。素性には，問い合わせと FAQの単語ベクトル間のコサイン類似度などに加えて，文書分類器が出力するスコアを用いる。

ある企業のコールセンターの FAQ および問い合わせ履歴を用いて提案手法を評価をした。提案手法は, pseudo-relevance feedback および統計的機械翻訳のアライメント手法を用いて得られる語彙知識によるクエリ拡張手法と比較して, 高いランキング性能を示した.

## 2 関連研究

類似質問を検索する方法として，機械翻訳で用いられる単語単位のアライメントモデルである IBM Model (Brown, Pietra, Pietra, and Mercer 1993) を用いた手法が提案されている (Jeon et al. 2005; Riezler et al. 2007; Soricut and Brill 2004; Xue et al. 2008). IBM Model は単語の対応確率を EM アルゴリズムで推定する手法である．統計的機械翻訳では，アライメントモデルは, 原言語と, 目的言語の文の対からなる対訳コーパスを用いて, 単語間の対応確率を推定するために用いられる。類似質問検索においては，質問とその回答の対を対訳コーパスとみなしたり, あるいは類似する回答を持つこの方法では, FAQ と問い合わせ間の単語の対応確率を学習する。しかしながら, 単語間の対応確率は, 対応する FAQを検索するために有効な語彙知識であるとは言えない. 例えば，入力の「方法」とFAQの「方法」が対訳コーパス中で良く共起して出現し, 学習の結果, 対応確率が高くなったとする。この対応確率を利用して FAQをスコアリングすると,「方法」が出現する誤った FAQが上位になりうる.

Cao ら (Cao, Cong, Cui, and Jensen 2010; Cao, Cong, Cui, Jensen, and Zhang 2009) は Yahoo! Answersのカテゴリ情報を考慮して，回答済みの質問を検索する手法を提案した．Yahoo! Answers の質問にはユーザによってカテゴリが付与されているため, この手法はカテゴリが付与された質問を学習データとして, 事前に入力の質問をカテゴリに分類するための分類器を作成する.
実際に検索する際には，まず入力の質問が検索対象の質問に付与されているカテゴリに所属する確率を分類器を使って計算する。入力の質問と検索対象の質問との間の単語の一致や, 単語の対応確率に対して，カテゴリの確率を重みとして与え，検索対象の質問に対するスコアを計算する．文書分類器を用いて検索するという観点で本論文と類似する研究であるが，本論文で扱う問い合わせ履歴の問い合わせには事前にカテゴリが付与されていないこと，本論文では FAQ を直接カテゴリとみなしていることが異なる。

Singh(Singh 2012), Zhou ら (Zhou, Liu, Liu, Zeng, and Zhao 2013) は Wikipedia を外部知識として利用して，コミュニティ質問応答サイトの類似質問検索性能を上げる手法を提案した。 たとえば FAQ 検索においては，業務ルールなどのドメイン固有の知識を含むため，一般的な知識源だけでは十分ではない.

## 3 提案手法

提案手法の学習時の処理を図 1 に示す. 提案手法の学習は大きく 3 つの処理からなる.まず,既存の方法を用いて FAQ と問い合わせ履歴を用いて学習データを自動生成する (3.1節)。続いて, 問い合わせを対応する FAQに分類するための文書分類器を学習する (3.2 節). 最後に, 学

図 1 提案手法のモデルを学習する処理の概要と例
習データと, 分類器の出力を素性に加えて, 問い合わせに対して, 正解の FAQ が不正解の FAQ よりもスコアが高くなるようにランキングモデルを学習する (3.3 節)。文書分類器の出力するスコアは問い合わせと FAQの単語の厳密一致や単語の関連度に依存せずに出力することができる。ランキング学習を適用することで，文書分類器から得られるスコアを，問い合わせと FAQ の単語べクトルのコサイン類似度などの素性とともに用いて FAQ 検索結果のランキングをおこなうことが可能となる.

## 3.1 学習データの自動生成

先行研究 (Jeon et al. 2005) に従い, FAQ と問い合わせのぺアについてお互いの回答部分の類似度をもとに自動で学習データを生成する。

この手法は，似た意味の質問には似た回答がされるという仮説に基づき，回答間の表層的な類似度が閾値以上の回答済み質問文の対を収集した。この仮説はコールセンターではより有効であると考えられる．なぜならば，オペレータは問い合わせに対して対応する際に，対応する FAQ を検索し，その回答部分を引用することが少なくないためである.

学習データの生成には, FAQの質問 $Q$ および回答 $A$, 問い合わせ履歴中の問い合わせ $I$ およびオペレータの対応内容 $R$ を用いる。図 1 の例では $Q, A, I, R$ はそれぞれ $\Gamma \bigcirc$ カードを紛失」，「ヘルプデスクへご連絡ください」，「○○カードを失くしたかも」，「へルプデスクへご連絡くたさい」を形態素解析して得た名詞，動詞，形容詞の集合である.

学習データの自動生成には, 質問 $Q$ と回答 $A$ の対からなる FAQの集合 $F=\left.\{\left(Q_{1}, A_{1}\right), \ldots\right.$, $\left.\left(Q_{|F|}, A_{|F|}\right)\right.\}$ および, 問い合わせ $I$ とオペレータの対応内容 $R$ の対からなる問い合わせ履歴の集合 $H=\left.\{\left(I_{1}, R_{1}\right), \ldots,\left(I_{|H|}, R_{|H|}\right)\right.\}$ を用いる.

具体的には全文検索を使って，オペレータの対応内容，FAQの回答の内容語でお互いに OR 検索し，式 (1)によってスコア $\operatorname{hrank}\left(A_{i}, R_{j}\right)$ を計算する.

$
\operatorname{hrank}\left(A_{i}, R_{j}\right)=\frac{1}{2}\left(\frac{1}{\operatorname{rank}_{A_{i}}}+\frac{1}{\operatorname{rank}_{R_{j}}}\right)
$

$\operatorname{rank}_{A_{i}}$ は問い合わせ履歴の回答 $R_{j}$ を入力として FAQの回答 $A_{1}, \ldots, A_{|F|}$ を検索した場合の $A_{i}$ の順位, $\operatorname{rank}_{R_{j}}$ は FAQの回答 $A_{i}$ を入力として問い合わせ履歴の回答 $R_{1}, \ldots, R_{|H|}$ を検索した場合の $R_{j}$ の順位である. $\operatorname{hrank}\left(A_{i}, R_{j}\right)$ があらかじめ人手で設定した閥値を超えた FAQ と問い合わせのぺアの集合 $D=\left.\{\left.\langle\left(Q_{i}, A_{i}\right), I_{j}\right.\rangle|1 \leq i \leq| F|, 1 \leq j \leq| H \mid\right.\}$ を生成する. 例えば，問い合わせ履歴の回答 $R_{j}$ で FAQの回答を検索して, FAQの回答 $A_{i}$ の順位が 2 位で FAQの回答 $A_{i}$ で問い合わせ履歴の回答を検索して，問い合わせ履歴の回答 $R_{j}$ が 1 位だった場合, hrank は 0.75 となる.

学習データの自動生成手順を Algorithm 1 に示す. hrankを計算するために, 事前に問い合わせ履歴の回答を入力としたときの FAQの回答の順位の逆数を $\mathbf{M}_{1} \in \mathbb{N}^{|F| \times|H|}, \mathrm{FAQ}$ の回答

を入力としたときの問い合わせ履歴の回答の順位の逆数を $\mathbf{M}_{2} \in \mathbb{N}^{|H| \times|F|}$ に格納する。順位のリスト ranks を得るために, GetRanks の第一引数を入力 $(A$ もしくは $R$ ), 第二引数を順位を付与する対象の文書集合（Fもしくは $H$ ) として実行する。順位を付与するために，全文検索エンジンを使う。もし検索時に該当の文書が得られない場合, その文書の順位は, 入力が問い合わせ履歴の回答であれば $|F|, \mathrm{FAQ}$ の回答であれば $|H|$ とする.

## 3.2 文書分類器の学習

文書分類器の学習には, 3.1 節で生成した学習データ $D$ を用いて, FAQごとに正例と負例を作成して二值分類器を学習する。対象の FAQ と対応する問い合わせの集合を正例, その他の FAQ と対応する問い合わせの集合をすべて負例として学習データとする．対応する問い合わせを持たない FAQも存在するため, 対象の FAQ そのものも正例に追加している.
例えば，「○○カードを紛失・盗難・破損した場合の手続き方法」という FAQ の分類器を学習するときには，正例に「○○カードの再発行をしたい，今から出張だが、カードが見当たらない. どうしたらよいか.」という問い合わせがあった場合，「○○カード」，「再発行」，「見当らない」といった素性の重みを正の方向に大きく更新する。学習には Adaptive Regularization of Weights Learning (Crammer, Kulesza, and Dredze 2009)を用いた.

素性には，内容語（名詞，動詞，形容詞），係り受け関係にある名詞と動詞の対を用いる。名詞句は同一の文節中に連続して出現する接頭詞と名詞とした。また，少なくとも片方が内容語であるような単語 bigram の出現も素性として用いる.

## 3.3 ペアワイズランキング学習

ペアワイズランキング学習では, 3.1 節で生成した学習データ $D$ を用いて, 問い合わせに対して, 正解の FAQが, 不正解の FAQよりもスコアが高くなるように重みべクトルを更新する.

ランキングの重みの学習アルゴリズムには SOLAR-IIを用いた (Wang, Wan, Zhang, and Hoi 2015). SOLAR-II はペアワイズランキングのオンライン学習手法であり, Adaptive Regularization of Weights Learning (Crammer et al. 2009)のように, 素性の重み $\mathbf{w} \in \mathbb{R}^{d}$ に対して共分散行列 $\Sigma \in \mathbb{R}^{d \times d}$ を保持する，重みの更新時に，分散の値が小さい素性ほど，学習の信頼度が高いとみなして，重みの更新幅を小さくする。

ランキングの重みべクトルの更新手順を Algorithm 2 に示す。最初に重み $\mathbf{w}$ を , 共分散行列 $\Sigma$ を単位行列 $\mathbf{E}$ として初期化する。問い合わせに対する正解の FAQ およびランダムに選択した不正解の FAQ から抽出した素性べクトル $\mathbf{x}_{p} \in \mathbb{R}^{d}$ および $\mathbf{x}_{n} \in \mathbb{R}^{d}$ を ExtractFeatureVector

り，値が大きいほど重みの更新幅を小さくする．本論文では 1.0 とした， $\alpha$ はヒンジ損失であり， 正解の FAQ のスコアが不正解の FAQ のスコアよりも低い値となったときに 0 以上の値を取る。 $\beta$ は事例に含まれる素性の分散が小さい，つまり信頼度が高いほど大きな値を取る。そのため，信頼度が高い素性を多く含む事例に対して順位の予測を誤った場合には重みの更新幅や信頼度の更新幅を減らし，学習が過敏になり過ぎないようにする役割を持つ.

学習を高速化するために，負例の生成にランダムサンプリングを適用した。 ランダムサンプリングによるランキング学習でも, ペアワイズランキング学習で良い性能を出している Ranking SVM(Joachims 2002) と同等の性能であることが示されている (Sculley 2009). 負例の数 $K$ は 300 とした.

ExtractFeatureVector では基本的な素性のグループ Base features および自動生成した学習データを用いた素性 tfidf_FAQ+query および faq-scorer を抽出する.

## - Base features
- cos-q, cos-a: cos-q は, 問い合わせと FAQの質問に対する内容語（名詞, 動詞,形容詞）のコサイン類似度. cos-a は, 問い合わせと FAQ の回答に対する内容語のコサイン類似度. これらの値は, 問い合わせに出現する単語をより含み, 出現する単語の異なり数が少ない FAQ ほど 1 に近い值を取り, そうでないほど 0 に近い値を取る。
- dep: 係り受け関係にある文節に出現する名詞, 名詞句, 動詞の対の一致回数.
- np: FAQの質問と問い合わせに対して, 出現する名詞句が一致する割合.
- tfidf_FAQ+query: FAQの質問 $Q$, 回答 $A$ および $D$ 中のその FAQ に対して生成された $L$ 個の学習データ $\left.\{I_{l}^{\prime}\right.\}_{l=1}^{L}$ を用いて計算する tfidf に基づくスコア $\operatorname{score}\left(Q, A,\left.\{I_{l}^{\prime}\right.\}_{l=1}^{L}, I\right)=\max _{Q, A}\left(\operatorname{tfidf}\right.$ _sim $\left.(Q, I), \operatorname{tfidf\_ sim}(A, I)\right)+\max _{I^{\prime}{ }_{l}}$ tfidf_sim $\left(I, I_{l}^{\prime}\right)$.付録 $\mathrm{A}$ の式 (8) を用いて計算した。 入力の問い合わせに対して質問もしくは回答と一致している単語が多いほど高く, さらに学習データの問い合わせ集合の中で一致している単語が多いものが存在する FAQに対して高いスコアとなる.
- faq-scorer: 問い合わせに対して, 該当する FAQの二値分類器のマージンを計算し, sigmoid 関数によって $[0,1]$ へ変換した値を素性に用いる.この分類器は過去の問い合わせ履歴を使って, どのような表現が出現する問い合わせならばこの FAQが正解らしいかどうかを学習したものである。 そのため, この素性は問い合わせに対してこの FAQが正解らしいほどスコアが 1 に近く，そうでないほど 0 に近い值を取る。

学習した重みべクトル $\mathrm{w}$ を使って未知の問い合わせ $I$ に対して FAQをランキングするときには，各 FAQ から抽出した素性べクトル $\mathrm{x}$ と $\mathrm{w}$ の内積を計算して，その值をもとに $\mathrm{FAQ}$ ソートする.

## 4 実験

本実験では, 文書分類器の出力を用いたランキングの有効性を確認するために, ある企業の FAQ および問い合わせ履歴を用いて, 既存手法との比較をおこなう. また, 自動生成した学習データを分析し，ランキングの評価値への影響を調べる。

## 4.1 実験設定

実験にはある企業の FAQ および問い合わせ履歴を用いた。問い合わせ履歴は個人情報を含むため, 人名や個人を特定しうる数字列や地名, 所属などの情報をパターンマッチによって秘匿化している，そのため，本来は個人情報ではない文字列も秘匿化されていることがある。

今回の実験で用いた FAQの数は 4,738 件で, 問い合わせ履歴はおよそ 54 万件である。評価のために, 問い合わせ履歴中の 286 件に対し, 3 人のアノテータで正解の FAQ を付与したデー 夕を作成した. アノテータには, 問い合わせに対してもっとも対応する FAQを 1 つ付与するよう依頼した。評価データ中に付与された FAQの異なり数は 186 件となった.

正解を付与した問い合わせ履歴の 286 件のうち, 86 件は開発用のデータ, 残りは評価デー夕に用いた。開発用データは，学習データ自動生成の閾値を決定するために用いた。本実験では,閾値を 0 から 1 まで 0.1 刻みで変えて, MRRが最も高くなる 0.4 とした. 評価デー夕は, 各手法の精度評価に用いる。回答が短いFAQ は, 誤った問い合わせが多くぺアになりうるため, 文字数が 10 文字以下の FAQに対しては学習データの自動生成候補から除外した. また, 学習デー 夕の生成後, 学習データの中から評価データに含まれる問い合わせを削除した.

形態素解析器, 係り受け解析器にはそれぞれ, $\mathrm{MeCab}^{1}, \mathrm{CaboCha}{ }^{2}$ を用いた. システム辞書には mecab-ipadic-NEologd (Sato 2015)を用いた. ユーザ辞書には秘匿化で用いた夕グを追加し，秘匿化した際に用いたタグが分割されないようにしている.

評価尺度にはランキングの評価で用いられる MRR (Mean Reciprocal Rank), Precision@N $(\mathrm{P} @ \mathrm{~N})$ を用いた. MRR は式 $(2)$ で表され, 正解の順位 $r_{i}$ の逆数に対して平均を取った值であり，正解のFAQを 1 位に出力できるほど 1 に近い值を取り，そうでないほど 0 に近い值を取る. $\mathrm{P} @ \mathrm{~N}$ は式 (3) で表され, 正解が $N$ 位以上になる割合である. 正解が $N$ 位以上に出力している問い合わせが多いほど 1 に近い値を取り, そうでないほど 0 に近い値を取る.

$
\operatorname{MRR}=\frac{1}{N} \sum_{i=1}^{N} \frac{1}{r_{i}}
$
^{1}$ MeCab: Yet Another Part-of-Speech and Morphological Analyzer 〈https://taku910.github.io/mecab/〉 (2016 年 5 月 20 日アクセス)

2 CaoboCha: Yet Another Japanese Dependency Structure Analyzer 〈https://taku910.github.io/cabocha/〉 (2016 年 5 月 20 日アクセス)
}

$
\mathrm{P} @ \mathrm{~N}=\frac{\text { 正解が } \mathrm{N} \text { 位以上の評価データの数 }}{\text { 評価データの数 }}
$

## 4.2 比較手法

tf-idf 法に基づく全文検索 2 種類，pseudo-relevance feedback および翻訳モデルを用いる手法と比較する。

全文検索には Elasticsearch ${ }^{3}$ を用いた。索引語は形態素解析器の kuromoji ${ }^{4}$ にって形態素解析をおこない, 品詞で指定された条件 ${ }^{5}$ と一致しない形態素の原形とした. また, 全角半角は統一し，アルファベットはすべて小文字化した.

tfidf_FAQ 検索対象は FAQの質問および回答として tfidfにもとづく類似度を計算する。類似度は付録 $\mathrm{A}$ の式 (7)を用いた。

tfidf_FAQ+query 3.3 節と同じ計算式を用いた.

pseudo-relevance feedback pseudo-relevance feedback には offer weight (Robertson and Jones 1994)を用いた. offer weight は式 (4)のようにして, 単語 $w$ に対するスコアを計算する.

$
\operatorname{score}(w)=r \log \left(\frac{(r+0.5)(N-n-R+r+0.5)}{(n-r+0.5)(R-r+0.5)}\right) \text {, }
$

翻訳モデル翻訳モデルに基づく検索には, Jeon ら (Jeon et al. 2005)の手法を用いる. この手法では入力の問い合わせ $I$ を受け付け, 式 (5) によって検索対象の FAQを，質問部分 $Q$ を用いてスコアリングする.

$
P(Q \mid I)=\prod_{w \in Q} P(w \mid I)
$

ただし $P(w \mid I)$ は式 $(6)$ のように計算する.

$
P(w \mid I)=(1-\lambda) \sum_{t \in Q}\left(P_{t r}(w \mid t) P_{m l}(t \mid I)\right)+\lambda P_{m l}(w \mid C)
$

式 $(6)$ の $P_{t r}(w \mid t)$ は，3.1 節で生成した $D$ における $\mathrm{FAQ}$ の質問と問い合わせを対訳部分とみなして GIZA $++{ }^{6}$ 使って学習した単語 $w$ と $t$ の対応確率である. $P_{m l}(t \mid I)$ は問い合わせ $I$ における単語 $t$ の相対的な重要度である。本論文では文書頻度の逆数に対して対数を掛けた値を求め, 問い合わせに出現する単語の値の総和で割った値とした. $C$ は
^{3}$ Elastic Revealing Insights from Data (Formerly Elasticsearch)〈https://www.elastic.co/jp/〉（2016 年 5 月 20 日アクセス)

4 elastic/elasticsearch-analysis-kuromoji: Japanese (kuromoji) Analysis Plugin 〈https://github.com/elastic/ elasticsearch-analysis-kuromoji〉（2016 年 5 月 20 日アクセス）

5 〈https://svn.apache.org/repos/asf/lucene/dev/branches/lucene3767/solr/example/solr/conf/lang/stoptags_ ja.txt〉（2016 年 5 月 20 日アクセス）

6 GIZA++〈http://www.statmt.org/moses/giza/GIZA++.html〉（2016 年 5 月 20 日アクセス）
}
$D$ の問い合わせの集合とした。そのため $P_{m l}(w \mid C)$ は単語 $w$ の一般的な重要度を表す. Jeon らの設定に従い， $P_{t r}(w \mid w)=1$ というヒューリスティクスを加えている．入は 0 から 1 まで 0.1 刻みで変えて実験をおこない，開発データのMRR が最も良くなる值を用いた.

## 4.3 実験結果

## 4.3.1 自動生成した学習データの分析

Algorithm 1 の自動生成手法により，学習データ $D$ のサイズは 38,420 件となった， 3,185 件の FAQ に対して学習データを生成し，学習データが生成されていないFAQも含めて平均すると 1 件の FAQ につき 8.03 件の問い合わせを生成した。

問い合わせと対応する FAQの対は自動生成するため，学習データ $D$ の問い合わせと FAQが正しく対応しているとは限らない。自動生成した学習データ $D$ の中からランダムに 50 件の事例を抽出し, 問い合わせと FAQの対応が正しいかそうでないかを人手で評価した結果を表 1 に示す. おおよそ半分のデータは正解の FAQ と正しい対応になっており, 残りの半分は不正解の FAQ と対応する. FAQの回答が短い場合には, 類似する回答がされる問い合わせが多くなることがあるのと，回答の内容は同じであるが，FAQの質問と対応する問い合わせの内容が意味的に一致しないような事例がみられた。

提案手法の文書分類器の性能は FAQ に対して学習データとして生成できた問い合わせの数が影響すると想定される。FAQごとに正例として生成できた問い合わせ数を調べた。図 2 は評価データおよび開発データに含まれる FAQ に対して生成された問い合わせ数を表すヒストグラムである。区間の幅を 10 とした，評価デー夕に含まれる FAQのうち， 1 件も正例となる学習データが生成できなかった FAQは 7 件となった.

## 4.3.2 ランキングの評価

比較手法と提案手法の実験結果を表 2 に示す. faq-scorer は, 3.2 節で作成した文書分類器の出力に応じて FAQをランキングした場合の結果である. Base features\&tfidf_FAQ+query および Base features\&tfidf_FAQ+query\&faq-scorer は 3.3 節で挙げた素性を用いて学習したランキングモデルである.

faq-scorer は比較手法よりも高い P@1となった。一方で他の評価値は tfidf_FAQ+query を下

表 1 人手による FAQと問い合わせの対応の評価

図 2 正例として生成された問い合わせ数ごとの FAQ の度数分布. $\mathrm{x}$ 軸はひとつの FAQに対して正例として生成された問い合わせの数で， $\mathrm{y}$ 軸は FAQの数を表す.

表 2 評価結果

paired t-testをおこない, 有意水準 0.05 で Base features\&tfidf_FAQ+query\&faq-scorer と有意差がある比較手法の結果に†を付与した。

回った. Base features およびtfidf_FAQ+query に加えて faq-scorerを素性としてランキングモデルを学習することでどの評価値も他の比較手法より高くなったことから, 文書分類器を素性として加えることで，精度改善に貢献することがわかる.

## 4.3.3 結果分析

正例として生成された問い合わせ数が文書分類器に及ぼす影響を調べるため, 評価デー夕に含まれるFAQを正例として生成された問い合わせ数でまとめて faq-scorer およびtfidf_FAQ+query のMRR を算出した結果を図 3 に示す.プロットする学習データの数は 25 までとした。評価データの数が多くないためばらつきがみられるが, 生成される学習データの数が多い FAQ ほど，文書分類器は正しく分類できる傾向にあることを確認できる。一方で学習データが少ない

FAQ に対しては tfidf_FAQ+query よりも誤りが多い.

提案手法に対する学習データの影響を調べるため, 学習データの数を変えて実験した.

Base features+tfidf_FAQ+query の MRR の学習曲線を図 4 に示す。MRR の学習曲線をプロットするために，学習データとして FAQ と問い合わせの対応を 1,000 件ずつ増やして文書分類器およびランキングモデルを学習している。提案手法は学習データの量に応じて MRRが向上している。表 1 が示すようなある程度ノイズを含むような学習データであっても，量を増やすことでランキングの性能向上に貢献していることがわかる.

文書分類器は問い合わせに出現する単語などを素性として分類するため, 問い合わせのトピックが複数存在するような場合に誤りやすいと考えられる。ただし，トピックを明示的に与える

図 3 評価データ中の FAQ の集合を正例として生成された問い合わせ数でまとめて算出した MRR

図 4 Base features+tfidf_FAQ+query の MRR の学習曲線.横軸は利用した学習データの件数を表し,縦軸は MRRを表す。
表 3 全文検索と Base features+tfidf_FAQ+query の単語数ごとの MRR

表 4 FAQ「○○カードを紛失・盗難・破損した場合の手続き」の学習結果の中で重みが大きい素性

ことが難しい。そこで問い合わせの単語数が長いほど複数のトピックが出現しやすいという仮定のもと, 問い合わせの単語数に応じて MRRの評価値を算出する.

評価データを単語数で 10 刻みで分割し, 単語数が 1 から 100 までの問い合わせ集合に対して, Base features\&faq-scorer と tfidf_FAQについて MRR を評価した. 結果を表 3 に示す。単語数が 1 から 10 個の問い合わせは, 単語数が 10 個以上の問い合わせに比べて MRRが高くなる傾向にあるが分かる. このことから，単語数が多い問い合わせに対しては質問のトピックを認識するような技術が必要であるが, これは今後の課題とする.

最後に, 学習結果の内容の詳細を確認するため,「○○カードを紛失・盗難・破損した場合の手続き」という FAQについて, 文書分類器の学習結果の内容を調べた. 大きい重みのついた素性から順に眺め，人手で選択した素性を表 4 に示す。自動生成した学習データを用いることで，「磁気不良」「おとした」等のこのFAQの質問や回答には出現しない表現であるが, 判別に寄与する語彙を学習していることがわかる.

## 5 おわりに

本論文では, FAQおよび問い合わせ履歴が持つ特徴を利用して自動生成した学習デー夕を用いて, 問い合わせを対応する FAQへ分類する文書分類器を学習し, その文書分類器の出力をランキング学習の素性として用いる手法を提案した。ある企業の FAQを用いた評価実験から, 提案手法が $\mathrm{FAQ}$ 検索の性能向上に貢献することを確認した. 今後は, 学習データの自動生成方法をより改善すること, さらに, より検索対象が多い場合でも同様の結果が得られるか検証したい.

## 参考文献

Brown, P. F., Pietra, V. J. D., Pietra, S. A. D., and Mercer, R. L. (1993). "The Mathematics of Statistical Machine Translation: Parameter Estimation." Computational Linguistics, 19 (2), pp. 263-311.

Cao, X., Cong, G., Cui, B., and Jensen, C. S. (2010). "A Generalized Framework of Exploring Category Information for Question Retrieval in Community Question Answer Archives." In Proceedings of the 19th International Conference on World Wide Web, WWW '10, pp. 201-210. ACM.

Cao, X., Cong, G., Cui, B., Jensen, C. S., and Zhang, C. (2009). "The Use of Categorization Information in Language Models for Question Retrieval." In Proceedings of the 18th ACM Conference on Information and Knowledge Management, CIKM '09, pp. 265-274. ACM.

Crammer, K., Kulesza, A., and Dredze, M. (2009). "Adaptive Regularization of Weight Vectors." In Bengio, Y., Schuurmans, D., Lafferty, J. D., Williams, C. K. I., and Culotta, A. (Eds.), Advances in Neural Information Processing Systems 22, pp. 414-422. Curran Associates, Inc.

Jeon, J., Croft, W. B., and Lee, J. H. (2005). "Finding Similar Questions in Large Question and Answer Archives." In Proceedings of the 14th ACM International Conference on Information and Knowledge Management, CIKM '05, pp. 84-90. ACM.

Joachims, T. (2002). "Optimizing Search Engines Using Clickthrough Data." In Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD '02, pp. 133-142. ACM.

Riezler, S., Vasserman, A., Tsochantaridis, I., Mittal, V., and Liu, Y. (2007). "Statistical Machine Translation for Query Expansion in Answer Retrieval." In Proceedings of the 45th Annual Meeting of the Association of Computational Linguistics, pp. 464-471. Association
for Computational Linguistics.

Robertson, S. E. and Jones, K. S. (1994). "Simple, Proven Approaches to Text Retrieval." Tech. rep. Technical Report No. 356.

Sato, T. (2015). "Neologism Dictionary based on the Language Resources on the Web for MeCab." https://github.com/neologd/mecab-ipadic-neologd.

Sculley, D. (2009). "Large Scale Learning to Rank." In NIPS Workshop on Advances in Ranking. Singh, A. (2012). "Entity based Q\&A Retrieval." In Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 1266-1277. Association for Computational Linguistics.

Soricut, R. and Brill, E. (2004). "Automatic Question Answering Using the Web: Beyond the Factoid." In Susan Dumais, D. M. and Roukos, S. (Eds.), HLT-NAACL 2004: Main Proceedings, pp. 57-64. Association for Computational Linguistics.

Wang, J., Wan, J., Zhang, Y., and Hoi, S. (2015). "SOLAR: Scalable Online Learning Algorithms for Ranking." In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 1692-1701. Association for Computational Linguistics.

Xue, X., Jeon, J., and Croft, W. B. (2008). "Retrieval Models for Question and Answer Archives." In Proceedings of the 31st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, SIGIR '08, pp. 475-482. ACM.

Zhou, G., Liu, Y., Liu, F., Zeng, D., and Zhao, J. (2013). "Improving Question Retrieval in Community Question Answering Using World Knowledge." In Proceedings of the 23rd International Joint Conference on Artificial Intelligence, IJCAI '13, pp. 2239-2245. AAAI Press.

## 付録

## A Elasticsearch で利用した tfidf スコアの計算式

本論文で Elasticsearch を利用した FAQのスコア計算は 2 種類ある。1つは FAQの質問と回答を利用する場合で，もう 1 つは FAQの質問と回答および $D$ 中のその FAQに対して生成された学習データを利用する場合である.

FAQ が質問 $Q$, 回答 $A$ とフィールドを分けて索引付けしている場合, 問い合わせ $I$ を力としたときの FAQのスコアは次のように計算する.

$
\operatorname{score}(Q, A, I)=\max _{Q, A}(\text { tfidf_sim }(Q, I), \text { tfidf_sim }(A, I)),
$

この計算では入力の問い合わせに対して, 質問もしくは回答と一致している単語が多いほど高いスコアとなる.

FAQ が質問 $Q$, 回答 $A$ に加えて, $D$ 中でその FAQに対して生成された学習データ $\left.\{I_{l}^{\prime}\right.\}_{l=1}^{L}$ と 3 つのフィールドで索引付けしている場合, 問い合わせ $I$ に対する FAQのスコアを次のように計算する.

$
\operatorname{score}\left(Q, A,\left.\{I_{l}^{\prime}\right.\}_{l=1}^{L}, I\right)=\max _{Q, A}\left(\operatorname{tfidf} \_\operatorname{sim}(Q, I), \text { tfidf_sim }(A, I)\right)+\max _{I^{\prime} l} \text { tfidf_sim }\left(I, I_{l}^{\prime}\right)
$

この計算では入力の問い合わせに対して，質問もしくは回答と一致している単語が多いほど高く, さらに学習データの問い合わせ集合の中で一致している単語が多いものが存在する FAQに対して高いスコアとなる.

質問, 回答, 学習データなどの検索対象を $T, T$ の索引語の数を $|T|, T$ の索引語と一致する問い合わせ中の名詞, 動詞, 形容詞からなる単語集合を $\left.\{i_{s}\right.\}_{s=1}^{S}$ とすると, 以下のように tfidf に基づく類似度を次のように設定した。

$
\operatorname{tfidf\_ sim}(T, I)=\text { coord } \sum_{s=1}^{S}\left(\operatorname{tf}\left(i_{s}\right) \cdot \operatorname{idf}\left(i_{s}\right)^{2} \cdot \text { fieldNorm }\right),
$

ただし，

$
\begin{aligned}
\text { coord } & =\frac{S}{|I|}, \\
\text { fieldNorm } & =\frac{1}{|T|},
\end{aligned}
$

とする。 coord は $T$ がより多くの単語を含んでいる検索クエリを含んでいるほど高い値を取る. fieldNorm は $T$ の索引語の数 $|T|$ が大きいほど小さい値を取る.

## 略歴

牧野拓哉：2012 年東京工業大学総合理工学研究科物理情報システム専攻修士課程修了. 同年, (株) 富士通研究所入社. 自然言語処理の研究開発に従事.言語処理学会会員.

野呂智哉：2002 年東京工業大学大学院情報理工学研究科計算工学専攻修士課程修了。2005 年同専攻博士課程修了. 同専攻助手, 助教を経て, 2015 年 (株)富士通研究所入社．現在に至る．博士 (工学)．自然言語処理の研究開発に従事. 言語処理学会会員.

岩倉友哉：2003 年 (株) 富士通研究所入社. 2011 年東京工業大学大学院総合
理工学研究科物理情報システム専攻博士課程修了. 博士 (工学). 現在, (株)富士通研究所主任研究員. 自然言語処理の研究開発に従事. 情報処理学会,言語処理学会会員.

$(2016$ 年 5 月 20 日 $\quad$ 受付 $)$
$(2016$ 年 8 月 5 日 $\quad$ 再受付 $)$
$(2016$ 年 9 月 30 日 $\quad$ 採録 $)$