「はい」は本当に「Yes」なの─発話の意図認識─
1.はじめに
「はい」という日本語の英訳を一つだけ挙げなさい。こう言われれば“Yes”と答えたくなります。確かに和英辞書を見ると最初に“Yes”と書かれています。
しかし私たちの扱っている旅行対話では、この他にもいろいろな訳語があります。
例えば
“Hello”(電話での『呼び掛け』。例えば「はいATR でございます」の場合。)
“uh huh”(『相づち』の「はい」。)
などです。
音声翻訳システムでこれを正しく訳し分けるには発話の背後にある目的を理解する必要があります。「はい」を『了解』、つまり“Yes”として使ったのか、それとも『呼び掛け』として使ったかの理解です。発話には多くの場合『了解』や『相づち』などの目的があります。この目的のことを発話意図と呼びます。
発話意図を間違って翻訳しますと意思の疎通ができなくなる場合があります。単なる『相づち』を『了解』の“Yes”として翻訳したのでは困ります。また「はい」と同じような肯定表現には「そうですか」「そうですね」「わかりました」など多くの種類があり、いろいろな意図で使われます。このような肯定表現は旅行対話データベース中の発話の3分の1を占めるほど高頻度に出現します。このようなことは英語についても同様に言えます。
このことから分かるように高品質な音声翻訳システムを実現するには、発話意図の正しい認識が必須になります。私たちは日本語と英語の発話を対象としてその意図が何であるかを自動的に認識する研究を行っています。
2.発話意図のデータベース
旅行会話の発話意図を計算機で自動認識するには、まずそこに出現する発話意図を調査する必要があります。このため発話意図を記述したデータベースを作成しました。具体的には日本語話者と英語話者が通訳を介して行った会話を書き起こして、それらに人手で発話意図を認定して作成しました。
発話意図はあらかじめ適切な数を設定してタグ(標識)として整理しておきます。具体的には『質問』『確認』『挨拶』『呼び掛け』『相づち』『了解』などのタグがあります。私たちは日本語用に30種類のタグを設定し、また英語には19種類のタグを設定しました。発話意図タグを付与した日本語データの具体例を表1に示します。
3.発話意図認識の方法
発話意図認識の手法を具体例を使って説明します。
ホテルの受付とお客さんの間で次のような会話がかわされたとします。
お客:「あのーそちらのホテルを予約したいのですが」 (A)
ホテル:「はい、かしこまりました 」 (B)
(A)や(B)のように一人の話者が続けて発声した単位をターンと呼びます。そして各ターンに対して次の二つの作業を行います。
(1)発話の分割
長いターンには複数の発話意図が入る場合があります。このような場合、ターンを一つの発話意図を含む単位に分割します。この単位を発話単位と呼ぶことにします。
(2)発話意図の認定
あらかじめ設定されているタグ集合から適切なタグを選んで発話単位に与えます。
(A)のターンに対してこの二つの問題を考えてみます。参考のためタグ付与結果の三つの例を図1に示します。矢印が発話単位を表しておりそれぞれにタグが与えられています。ターン(A)の単語区切り位置は分かっているのでこれらで発話の分割可能性を調べることになります。この数は膨大になり、(A)のような短い例でも約500通りになります1。
さらに分割したそれぞれの発話単位に 30のタグの中から最適なタグを選んで与える必要があるため、組み合わせ総数はさらに大きな数になります。
この膨大な組み合わせ数の問題をうまく解く方法があります。これには図1の中のタグのついた各矢印にその良さの得点を与えます。そして得点合計が最大になるようなタグ付きの矢印でターンの単語を覆う問題にします。こうしますと動的計画法[1]
と呼ばれる手法で最適な答えを効率良く求めることができます。
私たちはこの得点を確率で与えることにし、これをさらに二つの確率の積として表現しました。一つは単語群(矢印部分)が一つの発話単位になり得る確率PE
です。もう一つはその発話単位がいろいろなタグを取る確率PT です。これらの確率を直接求めるのは難しいため近似的に求める工夫が必要です。
まずPE は二単語間のつながりやすさの確率で近似しました。図1の「そちらのホテルを予約」の「のホテルを」という部分が発話単位になる確率は「そちら」と「の」の間に発話単位の境界がある確率、「の」と「ホテル」、「ホテル」と「を」の単語間に境界があり得ない確率、「を」と「予約」の間に境界がある確率の積で近似します。このとき単純に二単語を見るのでなく、品詞や単語と単語の間の無音時間(ポーズ)の情報も使います。このような確率は表1のような正しく分割されたタグ付きデータを元に計算できます。
一方、PT は二つの情報を使って近似しました。一つは発話に現れる単語です。発話の意図は単語によってかなり予測できます。例えば(A)の発話の「たい」は『要望』の発話意図を表しやすいことが分かります。このような「手掛り語」をあらかじめ収集して確率の計算に使いました。もう一つは直前の発話の発話意図です。(B)の発話中の「はい」は前の発話(A)の意図が『要望』であれば『了解』の意図を持つ可能性が高いと思われます。このように直前の発話の意図は重要な情報を持っています。以上の方法で求めた確率が全体として最大となるようなターンの分割とタグを求めます。
このような手法を使って発話意図の認識実験を行いました。実験に使ったのは表1に示したようなタグ付きのデータで詳しい内容は表2の通りです。平均発話単位数、平均単語数、発話意図種類数を見ると日本語の方が大きく、得点を評価する組み合わせ数が英語より格段に大きくなります。すなわち日本語の方が発話意図認識が難しいと予想できます。
このデータの一部を確率の学習データとして使い、残りを評価データとして使う交差確認法 [2]
を用いた実験を行いました。評価は分割だけの正しさを対象とした場合と、分割と意図認定の両方の正しさを対象にした場合で行いました。結果を表
3に示します。
実験データの観察からは日本語の方が難しいと予想していたのに、意外にも英語の方が悪い成績になりました。英語は分割の性能が悪いため意図認識の性能も悪い結果となっています。詳しい調査を行った結果、日本語は品詞の情報でかなり正確に発話単位へ分割できるのに対して英語はそうではないことがわかりました。日本語には文の終わりを示す「よ、ね、か」などの「終助詞」という品詞があります。これに相当する品詞は英語にはありません。このような品詞の機能の差が性能の差の大きな原因になったものと思われます。
4.おわりに
発話の意図を機械で認識する研究の歴史は浅く、特に計算機を使った実証的な研究は最近始まったばかりです。それだけに未知の問題も多く興味は尽きません。今回見つけた日英言語での性能の差もその一つです。この原因をさらに追及し意図認識の精度を高めたいと思います。
一方で意図認識の技術を音声翻訳システムへ応用する研究も進めています。すでに肯定表現の翻訳に発話意図がかなり貢献することを確認しています。さらに今後は正しいとは限らない音声認識結果に対して発話意図をうまく推定する手法を検討していく考えです。このような研究が進めばより高品質な音声翻訳システムが実現できると考えています。
参考文献
Copyright(c)2002(株)国際電気通信基礎技術研究所