\label{sec-intro}音声対話システムとは，ユーザとの音声対話を通して，あらかじめ決められたタスクをユーザと協同で実行するシステムである．タスクとは，音声対話システムごとに定められた作業のことであり，たとえば，各種の予約，個人スケジュールの管理といったタスクがある．近年の音声情報処理技術，自然言語処理技術の発展に伴って，様々なタスクにおいて音声対話システムが実現されてきている~\cite{TRIPS,DUG1,PEGASUS}．音声対話インタフェースは，人にとって親しみやすく，手や目を占有しないという利点をもつ．人とコンピュータが，円滑な音声対話を通して意思疎通できるようになれば，音声対話は理想的な人−コンピュータのインタフェースとなることが期待される．しかし，円滑な音声対話を実現するためには，音声認識誤りに対処することが必要となる．システムは，ユーザ音声の認識結果からユーザ要求の内容を理解し，ユーザ要求内容に応じて適切な情報をユーザに伝達しなければならないが，音声認識誤りの可能性があるため，ユーザ音声の認識結果のみに頼ってユーザ要求の内容を確定してしまうと，ユーザ要求通りに正しくタスクを遂行できない場合が生じる．音声対話システムでは，この問題に対処するために，ユーザとの間で確認対話と呼ぶ対話を行い，確認対話を通してユーザ要求内容を確定するという方法をとることが普通である．音声認識誤りのため確認対話は必須であるが，確認対話の最中にも音声認識誤りが起きる可能性があるので，確認対話が長ければ長いほど，対話の円滑な流れが阻害される危険性が高まる．したがって、不必要な確認対話はできる限り避けることが望ましい．不必要な確認対話の一つの典型は，ユーザ要求内容がシステムの限られた知識の範囲を越えている場合に，システムがユーザ要求内容のすべてを逐一確認する場合に起きる．ここで，システム知識とは，システムが対話時点でデータベース内に保持しているタスク遂行のために必要なデータの集合を意味する．また，ユーザ要求内容がシステムの限られた知識の範囲を越えている状況とは，システムがユーザ発話を理解できるのだけれども，システムが保有していない情報をユーザが要求している，あるいは，システムが詳しい情報を保有していない事柄に関して，ユーザが詳細な情報を要求しているという状況である．\footnote{本稿では，システムが認識できる語彙の集合が限られているために，システムがユーザ発話を理解できない状況や，ユーザが期待するタスクとシステムが想定するタスクが相違しているために、ユーザが期待するタスクをシステムが実行できない状況は扱わない．}音声対話システムとユーザの対話は，ユーザの要求内容を確定するために確認対話を行い，その後で，確定した要求内容に応じて適切な情報をユーザに対し応答するという順序で進行する．確認対話でユーザ要求内容をすべて確認したところで，確認対話に続くシステム応答の長さを考慮しなければ，対話全体を効率的に実施することにはならない．システム応答の長さは，対話時点のシステム知識の内容に依存するので，システムの限られた知識の範囲を考慮した上で，対話全体を制御する必要がある．例として，気象情報を案内する音声対話システムを考える．システムは，各場所ごとに予報されている気象情報や，現在発表されている警報についてのデータをシステム知識として保有している．今，ユーザが神奈川県に大雨警報が発表されているかどうか尋ねているとシステムが理解した状況を想定する．また，どこにも警報が発表されていない，あるいは，警報が発表されている場所は少数であるという知識をシステムが保有しているとする．このとき，ユーザが関心のある場所が神奈川県であることや，警報の種別が大雨であるといった項目は確認する必要がない．なぜなら，システムは，ユーザ要求内容に含まれる場所や警報の種別が何であるかということを識別するに足るほど詳しい情報を保有しておらず，場所や警報の種別についての確認なしでも，システム応答の長さはほとんど同じであり，対話全体の長さが増大することもないからである．また，システムが認識している神奈川県，大雨といった項目は認識誤りかもしれず，それらの項目を確認すると，ユーザの訂正発話を招き，対話が不必要に長くなる危険性が高い．音声対話システムとユーザの間で効率的な対話を実現するための対話制御法について盛んに研究が進められている\cite{Chu:00,LPE:98,Niimi:96,LKSM:00,RPT:00}．これらの従来法は，音声認識結果の信頼度，音声認識率，システム理解状態といった情報を利用して，確認対話の長さを削減することに注目している．しかし，確認対話に続くシステム応答の長さを含めて対話全体を効率的に実施することは行っておらず，ユーザ要求内容がシステムの限られた知識の範囲を越えている場合に，著しく無駄な対話を行ってしまうという問題点がある．従来法の中には，強化学習を利用して最適な対話戦略を学習するという方法がある~\cite{LPE:98,LKSM:00,RPT:00}．これらの従来方法では，対話戦略の効率性を評価するための報酬関数あるいはコスト関数を定義し，システムとユーザの間の多くの対話例を使って，報酬関数を最大化あるいはコスト関数を最小化するような対話戦略が学習される．しかし，これらの従来法はシステムが対話時点で保有する知識の範囲が対話の効率性に対して及ぼす影響を報酬関数やコスト関数に組み入れてはいない．したがって，強化学習に基づく従来法によって学習される対話戦略を使っても，本稿で問題としているような無駄な対話を避けることはできない．ユーザ発話内容が曖昧なときに，ユーザ発話内容の曖昧さを解消してもシステム応答が同一で変化しないなら，ユーザ発話内容の曖昧さを解消せずに応答を生成するという方法が提案されている~\cite{Ardissono:96,RasZuk:94,vBkCoh:91}．これらの従来法は，システム応答の同一性が保証されていない場合には適用できないという問題がある．また，音声認識誤りにより発生する余分な対話については考慮されていない．そこで，本稿では，ユーザ要求内容がシステムの限られた知識の範囲を越えている場合であっても，無駄な確認を避けて効率的な対話を実施することを目的とした方法として，デュアルコスト法とよぶ対話制御法を提案する．デュアルコスト法では，確認対話の長さを表す確認コストと，確認対話後のシステム応答の長さを表す情報伝達コストという2つのコストを導入し，確認コストと情報伝達コストの和を最小化するように対話を制御する．音声認識が誤っていると，余分な確認を行わないといけないことを反映して，確認コストは音声認識率に依存する．情報伝達コストはシステムが対話時点で保有する知識の内容に依存する．確認コストと情報伝達コストという2種類のコストを導入するのは，対話全体を効率的に実施するためには，確認対話の長さだけでなく，システム応答の長さを考慮する必要があるためである．すなわち，確認対話に手間をかければかけるほど対話全体を効率的に実施できるというわけではなく，ユーザ要求内容確定のための手間は，システム応答の長さとのバランスによって決める必要があるということである．この2つのコストの和を最小化することにより，システム知識の内容に応じて，無駄な確認を避け，対話全体を効率的に実施することが可能となる．この提案方法は，システム応答の同一性が保証されない場合であっても，情報伝達コストの増大が確認コストの減少に見合う範囲内であれば，ユーザ発話理解結果の一部を確認しないという方法であり，従来方法~\cite{Ardissono:96,RasZuk:94,vBkCoh:91}を一般化したものとなっている．また，デュアルコスト法とユーザ要求内容のすべてを逐一確認する従来方法を対話の効率性の観点から比較したシミュレーション対話実験の結果を示し，デュアルコスト法が従来法よりも効率的に対話を実施できることを論じる．