第1回 『対話システムとは』

皆様こんにちは,同志社大学の土屋誠司です.これまで,最近ブームになっている人工知能と自然言語処理について,合わせて61回の記事にして配信させていただきました.この続きとして,人工知能と自然言語処理の技術を応用利用して作成することができる『対話システム』について,記事を書かせていただくことになりました.引き続き,よろしくお願いいたします.

 さて,第1回目の今回は,『対話システム』とはいったいどのようなものなのか?について,触れてみたいと思います.

 そもそも『対話』とは何でしょうか?よく似た意味の言葉として『談話』や『会話』というものがあります.一般的には,『対話』は1対1で話をすること,『会話』は少人数で話をすることを表し,『談話』は,対話や会話に加えて,1方向のコミュニケーションも包含しています.このような「話をする」ことをシステムにしたものが『対話システム』や『会話システム』です.前者は,目的がはっきりしているもの,例えば,予約システムや情報検索を,後者は,話をすること自体が目的であるもの,例えば,雑談などを対象としています.今後,本シリーズの記事では,対話システムと会話システムの区別をせず,単に『対話システム』と呼びたいと思います.

 対話システムは,自然言語(言葉)を用いて人と話をします.よく似たシステムに『質問応答システム』というものがあります.例えば,スマートスピーカーなどがこれにあたります.質問応答システムでは,人からの質問に対して,コンピュータが答えてくれるという基本的には一問一答になります.一方,対話システムでは,一問一答ではなく,人とコンピュータとがやり取りを繰り返すことで,人とコンピュータが共に何らかの目的を達成することになります.つまり,対話の履歴を利用しながら話を繰り広げることになります.

 このような対話システムは,結構昔から開発されています.1960年代には,ELIZA(イライザ)という精神分析医のインタビュー代行システムが開発されています.人の発言に含まれるキーワードに反応し,あらかじめ登録されているパターンに応じて返事をし,キーワードがない場合には「話を続けてください.」と人に発言を促すという非常に簡単な仕組みでした.そのため,人の発話内容は一切理解していないのですが,どんな話題に対しても返答ができることから,システムを利用した患者さんからの評判は良く,「人間の先生に話を聞いてもらうより良かった」と言った評価も聞かれたほどであったと言われています.

 また同じころ,言葉の意味を理解できるSHRDLU(シュルドゥル)という対話システムも開発されています.これは,積み木が置かれた空間で,その積み木を動かす指示が対話でできるというものでした.「赤く四角い積み木を持って」や「それを青く丸い積み木の上に置いて」というように言葉で操作を指示することができました.対話システムには,積み木に関する知識や物理の法則をすべてデータベースに登録されており,人間の言葉を理解することで「青く丸い積み木の上に赤く四角い積み木は乗せられません」のように返答することができました.しかし,データベースに登録されている知識しか理解することができないため,それ以外のことは一切できませんでした.このように,ある特定の限られた分野だけの世界のことを閉世界(人工知能 第11回 『人工知能が得意なこと』参照)と呼び,それのみにしか対応できないというフレーム問題(人工知能 第17回 『人工知能の基本的な問題点』参照)に直面しました.

対話システムは,コンピュータを創造した当初から実現が望まれてきたものですが,未だに人間が満足するものは開発できていないというのが現状です.それほど,複雑で,考えるべきことがたくさんあるということなのです.次回は,対話システムを作るにはどのような機能が必要かという構成について書いてみたいと思います.