話し手の考えを予測しながら対話を
理解する計算機モデル
ATR自動翻訳電話研究所 言語処理研究室 山岡 孝行、飯田 仁
1.はじめに
最近、機械が話しているのをよく耳にするようになりました。ジュースの自動販売機にお金を入れると、「ボタンを押して下さい」と話しかけてきますし、ボタンを押して商品が出てくると、「ありがとうございました」と言ってくれます。しかし、店員さんと話すように、販売機との会話ができるでしょうか。残念ながらまだそのような自動販売機に出会ったことがありません。
それに対して、我々人間は、話された内容を理解するための約束事や、話したいことを表現するための約束事を身につけていて、それらに則って情報交換を行っています。つまり、それらの約束事を自動販売機や計算機が了解して初めて人間にとって代われる機械になれるわけです。それらの約束事には、文を組み立てるための文法や、相手を敬うための敬語法や、さらには問合せの仕方やそれに対する応答の表現の仕方などがあります。文法や敬語法などを計算機がどのように扱えばよいかについては、「対話文の日英翻訳」と題した本ジャーナル5号などで説明しています[1],[2]。ここでは、3番目の約束事として例示した言語の「運用規則」について説明します。そして、この規則を対話の状況に照らしてみることにより、話された内容(発話)同士の関係を明らかにしていくことができます。そのような新しい対話理解のモデルを本研究所では提唱しています。
電話対話などにみられるコミュニケーションを計算機が理解し、翻訳しようとすれば、話の筋道に従って適切に発話を理解していくことが必要となります。本稿では、先の運用規則や話題に関する知識を利用して、計算機が文脈を認識しながら対話を理解していく新しい計算機処理の方法を示します。さらに、その対話理解の方法を使って次に現れる発話を予測する試みについても説明します。
2.対話における目的遂行
自動販売機の例では、「商品購入」という目的に限定されたコミュニケーションが登場します。その目的を遂行するためには、コインの投入などの簡単な行為を実行すれば、そのコミュニケーションは完了します。ここでは、もう少し複雑でかつ実際的な対話を対象に考えていきましょう。
本研究所では、従来より「国際会議の参加・登録に関する問合せ」を対象とした電話対話を収集し[3]、それらを対象として自動翻訳電話の基礎実験を進めています。そこでの対話の最終的な目的は、「国際会議の参加」であり、それを遂行するための情報を対話を通して獲得しようとします。図1に示した対話例に基づいて対話の目的について見てみましょう。
対話例の発話−1は挨拶を目的としていて、その発話自体で一つの目的を達成します。次の発話−2は質問であり、それ自体では目的は達成されません。応答の発話−3(例文では肯定の発話)があって初めて相手先の確認という目的が達成されます。そして、それら一連の目的達成の結果として対話全体の目的が達成されます。
3.発話の担う行為−情報伝達行為−
目的を遂行するということは、一般的にはなんらかの行為がなされるわけで、対話によってある目的を遂行しようというときも、なんらかの行為が実行されていると見なせます。この意味で、それぞれの発話はなんらかの行為を担っています。発話が持つこのような作用は「言語行為論」として論じられます。ここで対象としている対話は、目的をもった情報交換に基づいていますから、登場する発話が担う行為はある一定のものに限定することができます。このように情報交換で限定された行為を、情報伝達行為と呼びます。情報伝達行為は、例えば、発話−5の「送って下さい」では「依頼」、発話−6の「わかりました」では「受諾」というように具体的な行為の形態が異なります。
また、情報伝達行為を表す言語表現は色々な発話となって現れます。例えば、それが依頼であれば、「送ってください」の他に、「送ってもらえますか」、「お送り願えますか」、「お送りいただけますか」などがあるでしょう。このように色々な表現と情報伝達行為との関係を規定した知識を、発話表現の知識(図1)と呼びます。この発話表現の知識を使って、情報交換における言語表現を解釈します。
次に、目的が達成されるときの情報伝達行為の系列を見てみましょう。
4.目的達成のための発話の対
2節では、対話の目的が幾つかの小さな目的に分割され、それらの遂行によって対話全体の目的が達成されることを説明しました。ここでは分割された小さな目的を、対話の小目的と呼びます。そのような小目的を遂行するための発話のやり取りを対話単位として捉えるようにします。図1の対話例では、それぞれの発話が担っている情報伝達行為、あるいはその組合せにより、挨拶や値の確認などの小目的の遂行が可能となることがわかります。そのときの情報伝達行為の組合せは、一つあるいは二つとは限らず、対話例には現れていませんが、要求−提示−確認などのような系列もよく現れます。ここでは、それらを総称して発話対と呼びます。
小目的を遂行するために利用できる発話対を規定した知識を(1):情報交換の知識と呼びます。
5.対話展開のための運用知識
前節に挙げた小目的は具体的な発話と関係を持っていますが、対話を円滑に進めていくための抽象的な目的が設定できます。それは、小目的の達成をどのような発話対を使って達成していけばよいかという目的であり、対話を展開していくために必要となります。
ある場面でどのような対話により行動目的を達成していくかという知識が、(2):対話運用の知識として現れています。例えば、発話−5「登録用紙を送ってください」という依頼の発話に対して、その依頼を遂行しようとするときの条件「送り先を知る」が満たされていない場合を考えます。このとき、図1の前提の充足と書かれた目的が呼び起こされます。対話運用の知識には、この前提の充足を対話の中で遂行するための方法として、値の入手を行えばよいということが記されています。
またさらに、文章の起承転結に相当する対話全体の構成に関する約束事として、(3):対話構成の知識を挙げることができます。図1においては、対話の開始、対話内容、対話の終了という最も一般的な構成を例示しています。
6.対話の対象に依存する話題の知識
個々の依頼や要求に対してどのように振る舞っていくかは、対話運用の知識によって知ることができます。しかし、この知識は対話を運用するための一般的な約束事であり、例えば行動の実行といっても、具体的にはどのような行動の実行であるかは、話している話題に依存します。図1の発話−7の時点では、「登録用紙の送付」という行動の実行が問題になっているわけです。同じように、別の話題として「登録用紙への記入」とか「登録用紙の返送」などが考えられます。そして、それらの行動の系列が「会議申込み」という大目的を達成します。このような話題に応じた行動手順の知識を(4):話題の知識と呼びます。
7.文脈を捉えることと発話の理解
以上の(1)から(4)の知識を新たに導入することにより、発話間の関係付けが可能となり、図1に示すような小目的達成のための発話対が構成できます。また、発話対が対話展開のためにどのような役割を果たすか、また、どのような話題に関して発話のやり取りがあったかを知ることができます。
ここで、もし発話−6の代わりに、「それでは、お送りします」という応答がある場合、行動の依頼という小目的の下に登録用紙は話し手と聞き手との間の共通の了解事項となるので、応答者が「登録用紙」を口に出さなくとも対話が成立します。そのような対話成立の状況を把握できていることが、文脈を捉えていることと言えます。
8.文脈を捉えた対話理解の方法
対話理解の方法はこれまでに述べてきたように、まず1):各発話の情報伝達行為を特定し、その前後の情報伝達行為との関連を情報交換の知識に従って捉えます。さらに、2):そのときの小目的と対話全体の目的との関係を、対話運用の知識、および話題の知識と照らして把握します。このとき、3):対話構成の知識の下に2)の処理を進めます。そうすることにより関係付けられた図1のような対話全体の構成を作り出します。それを対話構造と呼ぶことにします。
その対話構造を作り出す基本技術として、プラン認識法というものを採用しています[4]。人工知能の問題解決の方法には、ロボットの行動計画などに使われるプランニング手法があります。それに対し、プラン認識法は、その逆の操作により、相手のプランを推測します。
図2にプラン認識の概要を示します。プランとは、ある目的遂行のための行動の系列を記したものです。図2の例では、「ご住所をお願いします」という発話の情報伝達行為は要求であり、その内容は「住所を尋ねる」となります。図2に示す情報交換のプランでは、行動手順の系列の一つに「値を尋ねる」という行動が記されていて、前記発話の情報伝達行為の内容と一致します。そこで、もしこのプランが実行されると、次に記される行動手順が期待される行動となります。またこのプランが達成されれば、話し手が住所を知るだろうということが、このプランの効果として予測できることになります。これが、プランを使って話し手のプランを推測する方法です。
(1)から(3)の運用知識と(4)の話題の知識をプランの形式で記述し、同様のプラン認識法を適用することを繰り返して、図1に示したような対話構造を作ります[5],[6]。対話構造ができれば対話全体に渡る目的を把握したことになります。すなわち、対話を理解したということになります。
もちろん、発話の目的が何であるか一つに決まるとは限りません。いくつかの可能性が考えられる場合があります。例えば図1の点線部分のように、発話−2、3による「値の確認」が「データの確認」を目的としたものかも知れません。しかし、対話の開始であるという状況を考えれば、その目的を「相手の確認」であると決めることができます。そして、利用する知識が豊富になればなるほど、多くの構造がプラン認識の過程で推定されるようになります。そのような状況に対処するために、プラン認識の効率的な処理手法についても研究を進めています[7]。
9.文脈情報を使った次の発話の予測
さて、図2の発話の後に期待される行動は、聞き手が住所を提示することです。情報交換の知識を使えば、その行動は「提示」として、図1の発話−8の位置に現れるはずです。その時の話題は住所であるので、言語表現としては、例えば「住所は京都府です」という形で現れます。3節で既に触れましたように、情報伝達行為を表す言語表現は多様ですから、どのような表現になるかまで予測することはできません。しかし例えば、提示に対して、そのための表現として典型的なものを幾つか用意しておくことはできます。このように、ある発話に対するプラン認識ができれば、その次の発話がどのようなものであるか予測できるわけです〕[8],[9]。
現在の音声認識技術では、例えば文末の「です」と「ですか」など、どちらとも決めかねる場合が生じたりします。そのとき、複数の候補が提示されますが、文脈情報を使った予測法を導入することにより、候補から適切なものだけを選び出すことが可能になります。例えば、「住所は京都府です」と共に「住所は京都府ですか」という候補も現れます。そのようなとき、予測できる情報伝達行為が「提示」であれば、疑問系の候補を排除することができます。このようにして、文脈情報を音声認識のためにも応用していくことができます。
10.おわりに
文脈を考慮して対話を理解する方法について説明しました。文脈を扱うようにすることで、より人間らしい対話の解釈や、話される内容に対する計算機側の心の準備ができるようになります。そのための基礎研究の一つとして計算機処理モデルを示しました。このモデルは、収集した標準対話例7種について、目標の対話構造を作り出すことに成功しています。それにより、文脈を捉えることが可能になりました。また、このモデルを利用して、次の発話に関する文脈情報が予測できることを示しました。現在、この文脈情報が音声認識に与える効果を、実験により調べています。今のところ、質問に答えたり、情報交換の成立を確認したりする発話に対して、その約9割について、音声認識結果の文候補を一つに絞ることができます[10]。
しかし、本研究を含む文脈処理の研究は、言語学はもとより計算機処理の分野でもその歴史が浅く、様々な対話のやり取りの状況に対応できるようなアイデアが望まれます。今後は、色々な性格のモデルを実験していくことにより、望ましい対話理解モデルの姿を追求していきたいと考えています。
参考文献