2003/03/23
next:話者交代を考慮した会話モデル >> Next Session:人工無脳の条件
前項で取り上げた会話のモデル化は今日の人工無脳の基本原理そのもので、そのできの良し悪しが人工無脳の出来を決定するといえるだろう。その中で考えられているのは完全に形式の上だけに現れたルールを追いかけるアプローチである。その対極にあるのは会話の目的や意味を重んじる考えであるが、これはほとんど人工無脳業界で取り上げられたことはなかったし、人工知能業界でも本質的には大差ないであろう。意味を考えるというアプローチが容易なものではないことはもちろん明らかなので、ひとつの問題提起として議論を試みる。
遊びにきてくれた友達をもてなす場面を考えてみよう。お茶とお菓子をだして、楽しくおしゃべりをすることが「もてなし」の具体的な目標である。そこで次のような行動の候補が挙げられる。
ここで、飲み物やお菓子をを出すには前もって現在用意できる飲み物の種類を決め、友達の希望を聞いてメニューを決めなければならない。従って人工無脳はお菓子のメニューを決めるやり取り、飲み物の種類を決めるやり取りができなければならず、それも用意する前に行なわなければならない。ところが実際の会話では、それらが人工無脳の予期した順番で行なわれるとは限らない。「お菓子はなにがいい?」「クッキーがいいね。あとコーヒー」のように、お菓子の名前を決める質問に対して飲み物の値が一緒に帰ってくることもある。「コーヒーは飲めないんだけど」のような指定の仕方もある。コーヒー豆を切らしていてリクエストに答えられない場合もある。これらを整理してみると、状況によって次に何をすればいいのかを示す多次元の行列ができあがるだろう。実装に際しては人工無脳の製作者が漏れのないように注意深く行列を作り、全てのマス目を矛盾のないように埋め尽くさなければならない。
![]() |
| 3種類の飲み物からひとつを選ぶための行動の選択肢 |
要するにこれはシナリオである。未来に起きるであろう事象を全て予見し、行動を決めておくのである。この作業は実際やってみるとかなり面白くない。なぜなら非常に多くの場合について考えをめぐらせなければならないということもあるが、人工無脳の行動をひたすら縛る結果になるからである。人工無脳の行動を全て記述してしまえば、もはやそれは人工無脳ではない。よく似たケースを以前に見たことがあるだろう。それは人工無脳の辞書である。
ひるがえって、我々はこのようなケースでどのような過程で思考しているだろうか。それをモデル化したのが制約プログラミングと呼ばれるアルゴリズムである11紹介程度であるが、橋田浩一, "知のエンジニアリング", ジャストシステム(1994) ISBN4-88309-071-X。制約プログラミングでは、次のようにやるべき行動を列挙する。
そして最終目標である「会話を始める」を実行するために満たすべき条件を順番に検査し、解決していくのである。一つ一つの制約には特に順序が指定されておらず、前述の「クッキーとコーヒー」のような応答があっても、単に複数の制約が一度に解消されただけのことでまったく問題ない。ようするに、会話を制約解決の過程そのものだと考えるわけである。
つづく