(57)【要約】【課題】会話制御による情報入力に対する反応表現をどのように実行するかを、会話の文脈や流れに応じて判断することで、様々な情報出力の表現パターンを用いて出力を行うことができるようにする【解決手段】本発明は、会話制御システムとして提案される。入力文に対する回答文を決定し、この回答とともに回答文に応じた動作を指示する情報である動作制御情報を送信する会話サーバと、利用者から入力された入力文を前記サーバに送信し、前記サーバから送信された回答文及び動作制御情報を受信し、受信した回答文を出力するとともに、この動作制御情報に応じた動作を実行する利用者端末装置とを有する【選択図】図１
2010015266.tif 000002
【特許請求の範囲】
【請求項１】
入力文に対する回答文を決定する第１の決定手段と、
前記決定された回答文に応じた動作を指示する情報である動作指示情報を決定する第２の決定手段と、
前記決定された回答文を出力するとともに前記決定された前記動作指示情報に応じた動作を実行する制御手段と
を有することを特徴とする会話制御システム。
【請求項２】
前記回答文は利用者を誘導するための一連の発話文であることを特徴とする請求項１に記載の会話制御システム。
【請求項３】
前記制御手段は、利用者からの入力がない場合、前記動作制御情報に基づいて前記第１の決定手段に回答文を要求するメッセージを送信し、このメッセージに応じて前記サーバから送信される、利用者に入力を催促する回答文を出力することを特徴とする請求項１又は２に記載の会話制御システム。
【請求項４】
前記第１の決定手段は、利用者の入力の内容にかかわらず、予め定めた回答文を予め定めた順番で出力させることを特徴とする請求項１又は２に記載の会話制御システム。
【請求項５】
利用者の入力文をサーバに送信する受付手段と、
前記サーバから送信される、入力文に対する回答文及び動作制御情報を受信し、受信した回答文を利用者のために出力するとともに、受信した動作制御情報に対応する動作を実行する制御手段と
を有することを特徴とする端末装置。
【請求項６】
前記制御手段は、予め定めた条件が満たされた場合、回答文に対応する動作とは別の特別の動作を決定することを特徴とする、請求項５に記載の端末装置。
【請求項７】
前記動作制御情報は、前記サーバに回答文を要求するメッセージの送信であることを特徴とする、請求項５に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者からの入力文に回答する回答文を出力する会話制御システム、並びに端末装置に関する。
【背景技術】
【０００２】
従来より、インターネット等で情報処理装置を介して利用者の情報入力に対して情報出力を行うシステムが知られている。これらの一例として、ユーザ端末に表示される主表示(ポータルサイト)に付加して表示されるイメージデータに対して、ユーザが入力したアクションに応じて、第三者のデータサーバにアクション情報が送信され、その送信された情報に基づいた返信データに対応する表示を、前記イメージデータに行うことができるデータ送受信方法等について提案されている（例えば、特許文献１、特許文献２）。
【特許文献１】特開２００５−２０８６９１号公開公報
【特許文献２】特開２００６−２５１９５０号公開公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、これら従来の情報出力システムにおいては、利用者からの入力とＤＢに用意された回答パターンとの１対１のパターンマッチングとなり、利用者端末装置である情報処理装置における情報出力のパターンにも限界がある。この点から、クライアント(利用者)に受け入れられない、或いは関心を引きつけ続けることができないなどの問題点が生じる虞がある。
【０００４】
本発明の目的は、会話制御による情報入力に対する反応表現をどのように実行するかを、会話の文脈や流れに応じて判断することで、様々な情報出力の表現パターンを用いて出力を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための手段として、本発明は、以下の特徴を有する。
本発明の第１の態様は、会話制御システムとして提案される。この会話制御システムは、
入力文に対する回答文を決定する第１の決定手段（例えば、サーバ側会話制御部）と、決定された回答文に応じた動作を指示する情報である動作指示情報を決定する第２の決定手段（例えば、端末側会話制御部、サーバ側会話制御部）と、決定された回答文を出力するとともに決定された動作指示情報に応じた動作を実行（制御）する制御手段（例えば、会話制御部（回答制御部））とを有することを特徴としている。
【０００６】
この会話制御システムによれば、会話制御による情報入力に対する反応表現をどのように実行するかを、端末装置側で判断することにより、様々な情報出力の表現パターンを用いて情報出力を行うことができる。
【０００７】
前記会話制御システムにおいて、前記回答文は利用者を誘導するための一連の発話文であるようにしてもよい。かかる会話制御システムによれば、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた項目についての回答を取得することが可能となる。
【０００８】
また、前記会話制御システムにおいて、前記制御手段は、利用者からの入力がない場合、前記動作制御情報に基づいて前記第１の決定手段に回答文を要求するメッセージを送信し、このメッセージに応じて前記第１の決定手段から送信される、利用者に入力を催促する回答文を出力するようにしてもよい。かかる会話制御システムによれば、不自然な沈黙期間を発生させることなく、より自然な会話を成立させることが可能となる。また、端末装置が催促する回答文の出力を判断するため、サーバに判断を求めるためのデータ伝送を増大させることがない。
【０００９】
また、前記会話制御システムにおいて、前記第１の決定手段は、利用者の入力の内容にかかわらず、予め定めた回答文を予め定めた順番で出力させるようにしてもよい。ここでいう「順番」は、いわゆる一本道である会話の流れに限定される趣旨ではなく、利用者の入力内容に応じて、会話のシナリオが分岐する場合も「順番で出力される」ものに含まれるものとする。かかる会話制御システムによれば、利用者に質問を繰り返して行うことで、利用者にある結論やアドバイスなどの情報にたどり着かせることが可能となる。
【００１０】
本発明の別の態様は、端末装置（例えば、利用者端末装置）として提案される。
この端末装置は、  前記サーバから送信される、入力文に対する回答文及び動作制御情報を受信し、受信した回答文を利用者のために出力するとともに、受信した動作制御情報に対応する動作を実行する制御手段とを有することを特徴としている。
【００１１】
この端末装置において、制御手段は、予め定めた条件が満たされた場合、回答文に対応する動作とは別の特別の動作（例えば、広告主が利用者を誘導したい目的のサイトへのジャンプ）を決定するようにしてもよい。
【００１２】
また、この端末装置において、前記動作制御情報は、前記サーバに回答文を要求するメッセージの送信であるようにしてもよい。かかる端末装置によれば、不自然な沈黙期間を発生させることなく、より自然な会話を成立させることが可能となる。また、会話の流れに応じた回答文を選択するサーバが、利用者に対して催促する回答文をそれまでの会話の流れに応じた回答文を選択できるため、より自然な回答文による回答の催促を行うことができる。
【発明の効果】
【００１３】
本発明によれば、会話制御による情報入力に対する反応表現をどのように実行するかを、会話の文脈や流れに応じて判断することで、様々な情報出力の表現パターンを用いて出力を行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明の実施の形態について説明する。
［１．第１の実施の形態］
本発明の第１の実施の形態は、利用者の入力文に対して回答を出力し、回答に応じた反応を演出する会話制御システムとして提案される。なお、この第１の実施の形態では、いわゆるポータルサイトなどのWebサイトに含まれるバナーと呼ばれる領域（以下、広告表示領域）を、利用者の入力文の入力領域、回答文の表示領域、及び回答に応じた反応を演出する表示領域として使用するのであるが、本発明がこの実施形態に限定される趣旨ではない。
【００１５】
［１．１．システム構成例］
まず、本実施形態にかかる会話制御システムの構成例について説明する。図１は、本実施形態にかかる会話制御システムの構成例を示すブロック図である。  
会話制御システム１は、利用者端末装置１０と、ＷＷＷサーバ１１と、広告配信サーバ１２と、会話制御サーバ１３とで構成される。利用者端末装置１０は、通信網１４を介してＷＷＷサーバ１１、広告配信サーバ１２、及び会話制御サーバ１３と通信可能である。
【００１６】
［１．１．１．利用者端末装置］
利用者端末装置１０は、利用者から入力文を受け付け、この入力文に対する回答文を出力し、かつ回答文に応じた動作制御を実行する機能を有する装置である。  
【００１７】
利用者端末装置１０は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、必要な場合にはハードディスク装置等の外部記憶装置を具備している情報装置であって、例えばパーソナルコンピュータ、携帯電話機、携帯ゲーム機である。利用者端末装置１０として機能する情報処理装置は、通信網１４を介して他の装置とデータの送受信を行うことのできる通信機能を有する必要がある。前記ＲＯＭ、若しくはハードディスク装置などに情報処理装置を利用者端末装置１０として機能させるためのプログラムが記憶されており、このプログラムを主メモリ上に載せ、ＣＰＵがこれを実行することにより利用者端末装置１０が実現される。また、上記プログラムは必ずしも情報処理装置内の記憶装置に記憶されていなくともよく、外部の装置（例えば、ＡＳＰ（アプリケーション・サービス・プロバイダ）のサーバなど）から提供され、これを主メモリに乗せる構成であってもよい。
【００１８】
図２は、利用者端末装置１０の構成例を示す機能ブロック図である。利用者端末装置１０は、通信制御部２０１と、通信制御部２０１に接続された情報処理部２０２と、情報処理部２０２に接続された入力部２０３及び出力部２０４とを有している。なお、利用者に入力文を入力させるための入力手段（例えば、入力部２０３）、利用者に会話サーバ１３から受信した回答文に対応する動作を実行（制御）する制御手段（会話制御部２０６）で実行（制御）される動作を出力する出力手段（例えば、出力部２０４）は、会話制御システム１（通信網１４）に個別で配置させても良い。
【００１９】
通信制御部２０１は、通信網１４を介して他の装置とデータの送受信を実行するための処理を行う機能を有し、例えば通信ボード、ＬＡＮボード、モデムなどである。
【００２０】
情報処理部２０２は、他の装置へのデータのリクエストを生成し、生成したリクエストを通信制御部２０１に送信させ、リクエストに応じて他の装置から受け取ったデータを解釈して、出力部２０４に表示させる機能を有する。本実施の形態では、情報処理部２０２は、ブラウザ部２０５と会話制御部２０６とで構成されている。会話制御部２０６は、本発明の第２の決定手段、及び制御手段に相当する。
【００２１】
ブラウザ部２０５は、利用者にＷｅｂサイトを閲覧させる機能を有する。ブラウザ部２０５は、例えば利用者によって指定されたＵＲＬに宛ててリクエストメッセージを送信し、リクエストメッセージを受信したノードから返信される、ＵＲＬによって指定されたＷｅｂ文書（例えばＨＴＭＬファイル）を受信し、このＨＴＭＬを解釈してＷｅｂ文書の内容を画像として出力部２０４に表示させる。ブラウザ部２０５は、例えばブラウザと呼ばれるソフトウエア（インターネット・エクスプローラー、ファイアー・フォックスなど）である。但し、ブラウザはＯＳ（Operating System；基本ソフトウエア）上で動作するためＯＳもブラウザ部２０５を構成する要素であるともいえる。
【００２２】
会話制御部２０６は、入力部２０３を介して、利用者から入力文を受け取り、これを会話サーバ１３に通信制御部２０１，通信網１４を介して送信し、会話サーバ１３から送信される、入力文に対する回答文及び動作制御情報を，通信網１４、通信制御部２０１を介して取得し、回答文を出力するとともに動作制御情報に基づいて動作を実行させる機能を有する。
図３に、会話制御部２０６の構成例を示す機能ブロック図を掲げる。  
会話制御部２０６は入力受付部３０１と、回答制御部３０２とを有している。  
【００２３】
入力受付部３０１は、利用者の入力文（例えば、「こんにちは」というユーザ発話）を受付け、その入力文を含む回答文要求メッセージを通信制御部２０１、通信網１４を介して会話サーバ１３に送信する機能を有する。なお、この入力文の送信は入力文をブラウザ部２０５に渡し、ブラウザ部２０５に入力文を含む回答文要求メッセージの生成及び送信を行わせるようにしてもよい。
【００２４】
回答制御部３０２は、回答文要求メッセージを受信した会話サーバ１３から送信された回答文及び動作制御情報を受信し、回答文をブラウザ部２０５に出力させ、且つ動作制御情報に基づいて指定された動作をブラウザ部２０５などに実行ないし制御させる機能を有する。
【００２５】
動作制御情報は、回答文に応じた動作を指示する情報である。、ただし、必ずしも回答文と一対一の対抗関係になっている必要はなく、一つの回答文について、実行する条件の異なる動作を規定することも、本発明の動作制御情報では可能である。例えば、ある動作制御情報には、回答文の出力時に動作Ａ（例えば、女性が微笑みながら挨拶する動画の再生）を実行することを規定するとともに、前記動作Ａの実行後規定時間（例えば３０秒）ないに利用者からの新たな入力文がない場合には動作Ｄ（例えば、会話サーバ１３に回答文を要求するメッセージの送信）を規定することも可能である。
動作制御情報は、後述する会話サーバ１３の会話データベース５００（図１１参照）の回答文８３０に関連付けられて記憶されている。図４は、後述する会話データベース５００における回答文８３０と動作制御情報との対応関係の例を示す。この会話データベース５００では回答文８３０とその回答文に付加される動作制御情報を対にして記憶している。会話サーバ１３は、入力文を受信すると、動作会話データベース５００を調べて回答文及び対応する動作制御情報を抽出し、回答文と動作制御情報を利用者端末装置１０に送信する。
【００２６】
また、回答制御部３０２は、会話サーバ１３からの回答文受信をトリガとして回答文の出力及び動作制御情報により指定された動作の実行を行わせるだけでなく、会話サーバ１３からの回答文受信以外の所定の条件が満たされた場合に、自立的に回答文の決定及びその回答文に対応する動作の決定を行う機能を有している。
図２に戻り、利用者端末装置１０の構成例の説明を再開する。  
【００２７】
利用者端末装置１０の情報処理部２０２には、入力部２０３及び出力部２０４が設けられている。入力部２０３は、利用者の入力を信号に変換して情報処理部２０２に出力する機能を有し、例えば、キーボード、ポインティングデバイス、タッチパネルなどである。
【００２８】
出力部２０４は、回答文を含む出力内容を利用者が了知可能な態様で出力する機能を有し、例えば液晶ディスプレイ装置、スピーカ（音声出力がある場合）、アクチュエータ、モータなどの駆動装置（物理的動作がある場合）などである。
【００２９】
図５に、利用者端末装置１０の出力部２０４に表示される画面例を示す。図５では、出力部２０４（ここでは、一例として液晶ディスプレイとする）の表示領域を示している。表示領域５１０には、ウインドウ５０１が開かれている。ウインドウ５０１内にはＷＷＷサーバ１１から受信したＷｅｂ文書（サイト）の内容が表示されている。ここでは内容の例としてテキスト領域５０２と画像領域５０３があるものとした。ウインドウ５０１内にはＷｅｂ文書の一部として埋め込まれている広告表示領域５０４が生成されている。広告表示領域５０４は動画が表示されているとともに、利用者の入力文のための入力ボックス５０５が設けられている。利用者は入力部２０３を用いて入力文を入力ボックス５０５に入力し、所定の操作（例えば、エンターキーの押下）を行うことにより、入力文が会話サーバ１３に送信される。
以上で、利用者端末装置１０の構成例の説明を終了する。
【００３０】
図１に戻り、会話制御システム１の構成要素の説明を再開する。  
［１．１．２．ＷＷＷサーバ(又はＷｅｂサーバ)］
ＷＷＷサーバ１１は、利用者端末装置１０からのリクエストに応じて、リクエスト対象となったＷｅｂ文書（ＨＴＭＬファイルなど）をデータとして通信網１４を介してその利用者端末装置１０に送信する機能を有する。ＷＷＷサーバ１１は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、必要な場合にはハードディスク装置等の外部記憶装置を具備している情報装置であって、例えばコンピュータ、ワークステーション、サーバ装置などである。
【００３１】
［１．１．２．広告配信サーバ］
広告配信サーバ１２は、広告表示領域に表示させるデータを、利用者端末装置１０に送信する機能を有する。ＷＷＷサーバ１１から送信されるＷｅｂ文書内には、広告配信サーバ１２に対応するＵＲＬが記述されており、利用者端末装置１０、より詳しくはブラウザ部２０５は、広告配信サーバ１２に対応するＵＲＬをＷｅｂ文書から読み取り、広告表示領域に表示するコンテンツ（画像、テキストなど）をデータを送信するよう広告配信サーバ１２に要求する（リクエストメッセージを送信する）。広告配信サーバ１２は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、必要な場合にはハードディスク装置等の外部記憶装置を具備している情報装置であって、例えばコンピュータ、ワークステーション、サーバ装置などである。
【００３２】
［１．１．３．通信網］
通信網１４は、有線・無線、専用回線・交換回線を問わず、これに接続されている装置がそれぞれ目的とする装置に対しセッションを確立したときにその装置間での情報の送受を可能とするように作用する。通信網１４は、インターネットのように、ゲートウエイを介して複数のネットワークが組み合わされて実現しても構わない。また、その接続についてもいわゆるバックボーンといわれる基幹線に直接接続せずとも、ＰＰＰ接続などによって一時的に接続してあっても、セッションを確立したときにその間で情報の送受ができるようになっていれば構わない。なお、上記「通信網」は専用回線を固定的に張りめぐらせたような、交換機、スイッチ、ルータなど経路切り替え手段を用いない通信網も含むものとする。
【００３３】
［１．１．４．会話サーバ］
会話サーバ１３は、その筐体内部に、例えばコンピュータ、ワークステーションなどの情報処理装置若しくは情報処理装置に相当するハードウエアを搭載している。会話サーバ１３が有する情報処理装置は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、ハードディスク装置等の外部記憶装置を具備している装置で構成されている。前記ＲＯＭ、若しくは外部記憶装置などに情報処理装置を会話サーバ１３として機能させるためのプログラムが記憶されており、該プログラムを主メモリ上に載せ、ＣＰＵがこれを実行することにより会話サーバ１３が実現される。また、上記プログラムは必ずしも当該装置内の記憶装置に記憶されていなくともよく、磁気ディスク、光ディスク、光磁気ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Video Disc）などのコンピュータ読み取り可能なプログラム記録媒体や、外部の装置（例えば、ＡＳＰ（アプリケーション・サービス・プロバイダ）のサーバなど）から提供され、これを主メモリに乗せる構成であってもよい。
【００３４】
図６に、会話サーバ１３の構成例を示す機能ブロック図を掲げる。図６に示すように、会話サーバ１３は、通信制御部２００と、サーバ側会話制御部３００と、文解析部４００と、会話データベース５００とを備えている。サーバ側会話制御部３００は、本発明の第１の決定手段、第２の決定手段に相当する。
通信制御部２００は、通信網１４を介して他の装置とデータの送受信を実行するための処理を行う機能を有し、例えば通信ボード、ＬＡＮボード、モデムなどである。
【００３５】
次に、図７を参照しながらサーバ側会話制御部３００及び文解析部４００の構成例について説明する。図７は、会話サーバ１３の部分拡大ブロック図であって、サーバ側会話制御部３００及び文解析部４００の具体的構成例を示すブロック図である。なお、図７においては、サーバ側会話制御部３００、文解析部４００、及び会話データベース５００のみ図示しており、その他の構成要素は表示を省略している。
【００３６】
文解析部４００は、入力文である文字列を解析するものである。この文解析部４００は、本実施の形態では、図７に示すように、文字列特定部４１０と、形態素抽出部４２０と、形態素データベース４３０と、入力種類判定部４４０と、発話種類データベース４５０とを有している。文字列特定部４１０は、一連の文字列を一文節毎に区切るものである。この一文節とは、文法の意味を崩さない程度に文字列をできるだけ細かく区切った一区切り文を意味する。具体的に、文字列特定部４１０は、一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部４１０は、その区切った各文字列を形態素抽出部４２０及び入力種類判定部４４０に出力する。なお、以下で説明する「文字列」は、一文節毎の文字列を意味するものとする。
【００３７】
形態素抽出部４２０は、文字列特定部４１０で区切られた一文節の文字列に基づいて、その一文節の文字列の中から、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するものである。ここで、形態素とは、本実施の形態では、文字列に現された語構成の最小単位を意味するものとする。この語構成の最小単位としては、例えば、名詞、形容詞、動詞などの品詞が挙げられる。
【００３８】
各形態素は、図８に示すように、本実施の形態ではm１、m２、m３…、と表現することができる。図８は、文字列とこの文字列から抽出される形態素との関係を示す図である。図８に示すように、文字列特定部４１０から文字列が入力された形態素抽出部４２０は、入力された文字列と、形態素データベース４３０に予め格納されている形態素群（この形態素群は、それぞれの品詞分類に属する各形態素についてその形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として用意されている）とを照合する。その照合をした形態素抽出部４２０は、その文字列の中から、予め記憶された形態素群のいずれかと一致する各形態素（m１、m２、…）を抽出する。この抽出された各形態素を除いた要素（n１、n２、n３…）は、例えば助動詞等が挙げられる。
【００３９】
この形態素抽出部４２０は、抽出した各形態素を第一形態素情報として話題特定情報検索蔀３２０に出力する。なお、第一形態素情報は構造化されている必要はない。ここで「構造化」とは、文字列の中に含まれる形態素を品詞等に基づいて分類し配列することをいい、例えば発話文である文字列を、「主語＋目的語＋述語」などの様に、所定の順番で形態素を配列してなるデータに変換することをいう。もちろん、構造化した第一形態素情報を用いたとしても、それが本実施の形態の実現をさまたげることはない。
【００４０】
入力種類判定部４４０は、文字列特定部４１０で特定された文字列に基づいて、発話内容の種類（発話種類）を判定するものである。この発話種類は、発話内容の種類を特定する情報であって、本実施の形態では、例えば図９に示す「発話文のタイプ」を意味する。図９は、「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図である。
【００４１】
ここで、「発話文のタイプ」は、本実施の形態では、図９に示すように、陳述文（D ; Declaration）、時間文（T ; Time）、場所文（L ; Location）、反発文（N ; Negation）などから構成される。この各タイプから構成される文は、肯定文又は質問文で構成される。「陳述文」とは、利用者の意見又は考えを示す文を意味するものである。この陳述文は本実施の形態では、図９に示すように、例えば"私は佐藤が好きです"などの文が挙げられる。「場所文」とは、場所的な概念を伴う文を意味するものである。「時間文」とは、時間的な概念を伴う文を意味するものである。「反発文」とは、陳述文を否定するときの文を意味する。「発話文のタイプ」についての例文は図９に示す通りである。
【００４２】
入力種類判定部４４０が「発話文のタイプ」を判定するには、入力種類判定部４４０は、本実施の形態では、図１０に示すように、陳述文であることを判定するための定義表現辞書、反発文であることを判定するための反発表現辞書等を用いる。具体的に、文字列特定部４１０から文字列が入力された入力種類判定部４４０は、入力された文字列に基づいて、その文字列と発話種類データベース４５０に格納されている各辞書とを照合する。その照合をした入力種類判定部４４０は、その文字列の中から、各辞書に関係する要素を抽出する。
【００４３】
この入力種類判定部４４０は、抽出した要素に基づいて、「発話文のタイプ」を判定する。例えば、入力種類判定部４４０は、ある事象について陳述している要素が文字列の中に含まれる場合には、その要素が含まれている文字列を陳述文として判定する。入力種類判定部４４０は、判定した「発話文のタイプ」を回答取得部３８０に出力する。
【００４４】
次に、会話データベース５００が記憶するデータのデータ構成例について図１１を参照しながら説明する。図１１は、会話データベース５００が記憶するデータの構成例を示す概念図である。
【００４５】
会話データベース５００は、図１１に示すように、話題を特定するための話題特定情報８１０を予め複数記憶している。また、それぞれの話題特定情報８１０は、他の話題特定情報８１０と関連付けられていてもよく、例えば、図１１に示す例では、話題特定情報Ｃ（８１０）が特定されると、この話題特定情報Ｃ（８１０）に関連付けられている他の話題特定情報Ａ（８１０）、話題特定情報Ｂ（８１０），話題特定情報Ｄ（８１０）が定まるように記憶されている。
具体的には、話題特定情報８１０は、本実施の形態では、利用者から入力されると予想される入力内容、又は利用者への回答文に関連性のある「キーワード」を意味する。
【００４６】
話題特定情報８１０には、一又は複数の話題タイトル８２０が対応付けられて記憶されている。話題タイトル８２０は、一つの文字、複数の文字列又はこれらの組み合わせからなる形態素により構成されている。各話題タイトル８２０には、利用者への回答文８３０が対応付けられて記憶されている。また、回答文８３０の種類を示す複数の回答種類は、回答文８３０に対応付けされている。また、回答文に対応する動作制御情報８３５も記憶されている。
【００４７】
次に、ある話題特定情報８１０と他の話題特定情報８１０との関連付けについて説明する。図１２は、ある話題特定情報８１０Ａと他の話題特定情報８１０Ｂ、８１０Ｃ１〜８１０Ｃ４、８１０Ｄ１〜８１０Ｄ３…との関連付けを示す図である。なお、以下の説明において「関連付けされて記憶される」とは、ある情報Ｘを読み取るとその情報Ｘに関連付けられている情報Ｙを読み取りできることをいい、例えば、情報Ｘのデータの中に情報Ｙを読み出すための情報（例えば、情報Ｙの格納先アドレスを示すポインタ、情報Ｙの格納先物理メモリアドレス、論理アドレスなど）が格納されている状態を、「情報Ｙが情報Ｘに『関連付けされて記憶され』ている」というものとする。
【００４８】
図１２に示す例では、話題特定情報は他の話題特定情報との間で上位概念、下位概念、同義語、対義語（本図の例では省略）が関連付けされて記憶させることができる。本図に示す例では、話題特定情報８１０Ａ（＝「映画」）に対する上位概念の話題特定情報として話題特定情報８１０Ｂ（＝「娯楽」）が話題特定情報８１０Ａに関連付けされて記憶されており、例えば話題特定情報（「映画」）に対して上の階層に記憶される。
【００４９】
また、話題特定情報８１０Ａ（＝「映画」）に対する下位概念の話題特定情報８１０Ｃ１（＝「監督」）、話題特定情報８１０Ｃ２（＝「主演」）、話題特定情報８１０Ｃ３（＝「配給会社」）、話題特定情報８１０Ｃ４（＝「上映時間」）、及び話題特定情報８１０Ｄ１（＝「七人の侍」）、話題特定情報８１０Ｄ２（＝「乱」）、話題特定情報８１０Ｄ３（＝「用心棒」）、…、が話題特定情報８１０Ａに関連付けされて記憶されている。
【００５０】
また、話題特定情報８１０Ａには、同義語９００が関連付けられている。この例では、話題特定情報８１０Ａであるキーワード「映画」の同義語として「作品」、「内容」、「シネマ」が記憶されている様子を示している。このような同意語を定めることにより、発話にはキーワード「映画」は含まれていないが「作品」、「内容」、「シネマ」が発話文等に含まれている場合に、話題特定情報８１０Ａが発話文等に含まれているものとして取り扱うことを可能とする。
【００５１】
本実施の形態にかかる会話サーバ１３は、会話データベース５００の記憶内容を参照することにより、ある話題特定情報８１０を特定するとその話題特定情報８１０に関連付けられて記憶されている他の話題特定情報８１０及びその話題特定情報８１０の話題タイトル８２０、回答文８３０などを高速で検索・抽出することが可能となる。
【００５２】
次に、話題タイトル８２０（「第二形態素情報」ともいう）のデータ構成例について、図１３を参照しながら説明する。図１３は、話題タイトル８２０のデータ構成例を示す図である。
【００５３】
話題特定情報８１０Ｄ１、８１０Ｄ２、８１０Ｄ３、…はそれぞれ複数の異なる話題タイトル８２０１、８２０２、…、話題タイトル８２０３、８２０４、…、話題タイトル８２０５、８２０６、…を有している。本実施の形態では、図１３に示すように、それぞれの話題タイトル８２０は、第一特定情報１００１と、第二特定情報１００２と、第三特定情報１００３によって構成される情報である。ここで、第一特定情報１００１は、本実施の形態では、話題を構成する主要な形態素を意味するものである。第一特定情報１００１の例としては、例えば文を構成する主語が挙げられる。また、第二特定情報１００２は、本実施の形態では、第一特定情報１００１と密接な関連性を有する形態素を意味するものである。この第二特定情報１００２は、例えば目的語が挙げられる。更に、第三特定情報１００３は、本実施の形態では、ある対象についての動きを示す形態素、又は名詞等を修飾する形態素を意味するものである。この第三特定情報１００３は、例えば動詞、副詞又は形容詞が挙げられる。なお、第一特定情報１００１、第二特定情報１００２、第三特定情報１００３それぞれの意味は上述の内容に限定される必要はなく、別の意味（別の品詞）を第一特定情報１００１、第二特定情報１００２、第三特定情報１００３に与えても、これらから文の内容を把握可能な限り、本実施の形態は成立する。
【００５４】
例えば、主語が「七人の侍」、形容詞が「面白い」である場合には、図１３に示すように、話題タイトル（第二形態素情報）８２０２は、第一特定情報１００１である形態素「七人の侍」と、第三特定情報１００３である形態素「面白い」とから構成されることになる。なお、この話題タイトル８２０２には第二特定情報１００２に該当する形態素は含まれておらず、該当する形態素がないことを示すための記号「＊」が第二特定情報１００２として格納されている。
【００５５】
なお、この話題タイトル８２０２（七人の侍；＊；面白い）は、「七人の侍は面白い」の意味を有する。この話題タイトル８２０を構成する括弧内は、以下では左から第一特定情報１００１、第二特定情報１００２、第三特定情報１００３の順番となっている。また、話題タイトル８２０のうち、第一から第三特定情報に含まれる形態素がない場合には、その部分については、「＊」を示すことにする。
【００５６】
なお、上記話題タイトル８２０を構成する特定情報は、上記のような第一から第三特定情報のように３つに限定されるものではなく、例えば更に他の特定情報（第四特定情報、及びそれ以上）を有するようにしてもよい。
【００５７】
次に、回答文８３０について図１４を参照して説明する。回答文８３０は、図１４に示すように、本実施の形態では、利用者から入力（発話）された入力文（発話文）のタイプに対応した回答をするために、陳述（D ; Declaration）、時間（T ; Time）、場所（L ; Location）、否定（N ; Negation）などのタイプ（回答種類）に分類されて、タイプ毎に用意されている。また肯定文は「Ａ」とし、質問文は「Ｑ」とする。
【００５８】
話題特定情報８１０のデータ構成例について、図１５を参照して説明する。図１５は、ある話題特定情報８１０「佐藤」に対応付けされた話題タイトル８２０，回答文８３０の具体例を示す。  
【００５９】
話題特定情報８１０「佐藤」には、複数の話題タイトル（８２０）１−１、１−２、…が対応付けされている。それぞれの話題タイトル（８２０）１−１，１−２，…には回答文（８３０）１−１，１−２、…が対応付けされて記憶されている。回答文８３０は、回答種類８４０毎に用意されている。
【００６０】
話題タイトル（８２０）１−１が(佐藤；＊；好き){これは、「佐藤が好きです」に含まれる形態素を抽出したもの}である場合には、その話題タイトル（８２０）１-１に対応する回答文（８３０）１−１は、(DA；陳述肯定文「私も佐藤が好きです」)、(TA；時間肯定文「私は打席に立ったときの佐藤が好きです」)などが挙げられる。後述する回答取得部３８０は、入力種類判定部４４０の出力を参照しながらその話題タイトル８２０に対応付けられた一の回答文８３０を取得する。
【００６１】
各回答文には、当該回答文に対応するように、ユーザ発話に対して優先的に出力される回答文（「次回答文」と呼ぶ）を指定する情報である次プラン指定情報８４０が定められている。次プラン指定情報８４０は、次回答文を特定できる情報であれば、どのような情報であってもよく、例えば、会話データベース５００に格納されているすべての回答文から少なくとも一つの回答文を特定できる回答文ＩＤ、などである。
【００６２】
なお、本実施の形態においては、次プラン指定情報８４０は、回答文単位で次回答文を特定する情報（例えば、回答文ＩＤ）として説明するが、次プラン指定情報８４０は、話題タイトル８２０、話題特定情報８１０単位で、次回答文（この場合には、複数の回答文が次回答文として指定されるので、次回答文群と呼ぶ。但し、実際に回答文として出力されるのは、この回答文群に含まれるいずれかの回答文となる）を特定する情報であっても構わない。例えば、話題タイトルＩＤ、話題特定情報ＩＤを次プラン指定情報として使用しても本実施の形態は成立する。
［１．１．６．会話制御部］
ここで図７に戻り、サーバ側会話制御部３００の構成例を説明する。  
【００６３】
サーバ側会話制御部３００は、会話サーバ１３内の各構成要素（文解析部４００、会話データベース５００）間のデータの受け渡しを制御するとともに、利用者入力文（ユーザ発話）に応答する回答文の決定、出力及び回答文に応じた動作制御情報の出力を行う機能を有する。
【００６４】
サーバ側会話制御部３００は、本実施の形態では、図７に示すように、管理部３１０と、プラン会話処理部３２０と，談話空間会話制御処理部３３０と、CA会話処理部３４０とを有している。以下これらの構成要素について説明する。  
【００６５】
管理部３１０は談話履歴を記憶し、且つ必要に応じて更新する機能を有する。管理部３１０は話題特定情報検索部３５０と、省略文補完部３６０と、話題検索部３７０と、回答取得部３８０からの要求に応じて、記憶している談話履歴の全部又は一部をこれら各部に渡す機能を有する。
【００６６】
プラン会話処理部３２０は、プランを実行し、プランに従った会話をユーザとの間で成立させる機能を有する。「プラン」とは、予め定めた順番に従って予め定めた回答をユーザに提供することをいう。以下、プラン会話処理部３２０について説明する。
プラン会話処理部３２０は、ユーザ発話に応じて、予め定めた順番に従って予め定めた回答を出力する機能を有する。
【００６７】
図１６は、プランを説明するための概念図である。図１６に示すように、プラン空間１４０１には複数のプラン１、プラン２，プラン３、プラン４など様々なプラン１４０２が予め準備されている。プラン空間１４０１とは、会話データベース５００に格納された複数のプラン１４０２の集合をいう。会話サーバ１３は、装置起動時若しくは会話開始時に予め開始用に定められたプランを選択し、若しくは各利用者入力（ユーザ発話）の内容に応じて、プラン空間１４０１の中から適宜いずれかのプラン１４０２を選択し、選択したプラン１４０２を用いてユーザ発話に対する回答文の出力を行う。
【００６８】
図１７は、プラン１４０２の構成例を示す図である。プラン１４０２は、回答文１５０１と、これに関連付けられた次プラン指定情報１５０２を有している。次プラン指定情報１５０２は、当該プラン１４０２に含まれる回答文１５０１の次に、ユーザに出力する予定の回答文（次候補回答文と呼ぶ）を含むプラン１４０２を特定する情報である。この例では、プラン１は、プラン１実行時に会話サーバ１３が出力する回答文Ａ（１５０１）と、この回答文Ａ（１５０１）に関連付けられた次プラン指定情報１５０２とを有している。次プラン指定情報１５０２は、回答文Ａ（１５０１）についての次候補回答文である回答文Ｂ（１５０１）を有するプラン１４０２を特定する情報「ＩＤ：００２」である。同様に、回答文Ｂ（１５０１）についても、次プラン指定情報１５０２が定められており、回答文Ｂ（１５０１）が出力された場合に、次候補回答文を含むプラン２（１４０２）が指定される。このように、プラン１４０２は次プラン指定情報１５０２により連鎖的につながり、一連の連続した内容をユーザに出力するというプラン会話を実現する。すなわち、ユーザに伝えたい内容（説明文、案内文、アンケート、など）を複数の回答文に分割し、かつ各回答文の順番を予め定めてプランとして準備しておくことにより、ユーザの発話に応じてこれら回答文を順番にユーザに提供することが可能となる。なお、次プラン指定情報１５０２によって指定されたプラン１４０２に含まれる回答文１５０２は、直前の回答文の出力に応答するユーザ発話があれば、必ずしも直ちに出力される必要はなく、ユーザと会話サーバ１３との間で、当該プラントは別の話題についての会話を挟んだ後に、次プラン指定情報１５０２によって指定されたプラン１４０２に含まれる回答文１５０１が出力されることもあり得る。
【００６９】
なお、図１７に示す回答文１５０１は、図１５に示す回答文８３０の中のいずれか一の回答文文字列に対応し、また図１７に示す次プラン指定情報１５０２は、図１５に示す次プラン指定情報８４０に対応している。
【００７０】
なお、プラン１４０２のつながりは、図１７に示すような一次元的配列に限られるものではない。図１８は、図１７とは別のつながり方を有するプラン１４０２の例を示す図である。図１８に示す例では、プラン１（１４０２）は次候補回答文となる２つの回答文１５０１，すなわちプラン１４０２を指定できるよう、２つの次プラン指定情報１５０２を有している。ある回答文Ａ（１５０１）を出力した場合の次候補回答文を有するプラン１４０２として、回答文Ｂ（１５０１）を有するプラン２（１４０２）、及び回答文Ｃ（１５０１）を有するプラン３（１４０２）の２つのプラン１４０２が定まるよう、次プラン指定情報１５０２が２つ設けられる。なお、回答文Ｂ、回答文Ｃは選択的・択一的であり、一方が出力された場合は他方は出力されず、当該プラン１（１４０２）は終了する。このように、プラン１４０２のつながりは一次元的順列の形態に限定されるものではなく、樹形図的な連結、網的な連結であっても構わない。
【００７１】
なお、各プランがいくつの次候補回答文を有するかは限定されるものではない。また、話の終了となるプラン１４０２については、次プラン指定情報１５０２が存在しないこともあり得る。
【００７２】
図１９に、ある一連のプラン１４０２の具体例を示す。この一連のプラン１４０２１〜１４０２４は、危機管理に関する情報をユーザに知らせるための４つの回答文１５０１１〜１５０１４に対応している。４つの回答文１５０１１〜１５０１４は全部で一つのまとまりのある話（説明文章）を構成する。各プラン１４０２１〜１４０２４はそれぞれ「１０００−０１」「１０００−０２」「１０００−０３」「１０００−０４」というＩＤデータ１７０２１〜１７０２４を有している。なお、ＩＤデータ中のハイフン以下の番号は、出力の順番を示す情報である。また、各プラン１４０２１〜１４０２４はそれぞれ次プラン指定情報１５０２１〜１５０２４を有している。次プラン指定情報１５０２４の内容は、「１０００−０Ｆ」というデータであるが、このハイフン以下の番号「０Ｆ」は、次に出力する予定のプランは存在せず、当該回答文が一連の話（説明文章）の終わりであることを示す情報である。
【００７３】
この例では、ユーザ発話が「大地震が発生したときの危機管理を教えて」である場合に、プラン会話処理部３２０がこの一連のプランを実行開始する。すなわち、ユーザ発話「大地震が発生したときの危機管理を教えて」をプラン会話処理部３２０が受け付けると、プラン会話処理部３２０はプラン空間１４０１を検索して、ユーザ発話「大地震が発生したときの危機管理を教えて」に対応する回答文１５０１１を有するプラン１４０２があるかどうかを調べる。この例では、「大地震が発生したときの危機管理を教えて」に対応するユーザ発話文字列１７０１１が、プラン１４０２１に対応するものとする。
【００７４】
プラン会話処理部３２０はプラン１４０２１を発見すると、そのプラン１４０２１に含まれる回答文１５０１１を取得し、この回答文１５０１１をユーザ発話に対する回答として出力するとともに、次プラン指定情報１５０２１により次候補回答文を特定する。
【００７５】
次に、回答文１５０１１の出力後に入力部１００や音声認識部２００などを介してユーザ発話を受け付けると、プラン会話処理部３２０は、プラン１４０２２の実行を行う。すなわち、プラン会話処理部３２０は、次プラン指定情報１５０２１により指定されたプラン１４０２２の実行、すなわち２番目の回答文１５０１２を出力するか否かを判定する。具体的には、プラン会話処理部３２０は当該回答文１５０１２に対応付けられたユーザ発話文字列（用例文ともいう）１７０１２、あるいは話題タイトル８２０（図１９において図略）と、受け付けたユーザ発話とを比較し、これらが一致するか否かを判定する。一致する場合には、２番目の回答文１５０１２を出力する。また、２番目の回答文１５０１２を含むプラン１４０２２には、次プラン指定情報１５０２２が記述されているので、次候補回答文が特定される。
【００７６】
同様に、これ以降継続してなされるユーザ発話に応じて、プラン会話処理部３２０はプラン１４０２３、プラン１４０２４に順に移行して、３番目の回答文１５０１３、４番目の回答文１５０１３の出力を行うことができる。なお、４番目の回答文１５０１４は最終回答文であり、４番目の回答文１５０１４の出力が完了すると、プラン会話処理部３２０はプラン実行を終了する。
このように、プラン１４０２１〜１４０２４を次々と実行することにより、予め用意した会話内容を定めた順番通りにユーザに提供することが可能となる。
図７に戻り、サーバ側会話制御部３００の構成例の説明を続ける。  
【００７７】
談話空間会話制御処理部３３０は、話題特定情報検索部３５０と、省略文補完部３６０と、話題検索部３７０と、回答取得部３８０とを有している。前記管理部３１０は、サーバ側会話制御部３００の全体を制御するものである。
【００７８】
「談話履歴」とは、ユーザと会話サーバ１３間の会話の話題や主題を特定する情報であって、談話履歴は後述する「着目話題特定情報」「着目話題タイトル」「利用者入力文話題特定情報」「回答文話題特定情報」の少なくともいずれか一つを含む情報である。また、談話履歴に含まれる「着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」は直前の会話によって定められたものに限定されず、過去の所定期間の間に「着目話題特定情報」「着目話題タイトル」「回答文話題特定情報」となったもの、若しくはそれらの累積的記録であってもよい。
以下、談話空間会話制御処理部３３０を構成するこれら各部について説明する。  
【００７９】
話題特定情報検索部３５０は、形態素抽出部４２０で抽出された第一形態素情報と各話題特定情報とを照合し、各話題特定情報の中から、第一形態素情報を構成する形態素と一致する話題特定情報を検索するものである。具体的に、話題特定情報検索部３５０は、形態素抽出部４２０から入力された第一形態素情報が「佐藤」及び「好き」の二つの形態素で構成される場合には、入力された第一形態素情報と話題特定情報群とを照合する。
【００８０】
この照合をした話題特定情報検索部３２０は、着目話題タイトル８２０focus（前回までに検索された話題タイトル、他の話題タイトルと区別するため８２０focusと表記する）に第一形態素情報を構成する形態素（例えば「佐藤」）が含まれているときは、その着目話題タイトル８２０focusを回答取得部３８０に出力する。一方、着目話題タイトル８２０focusに第一形態素情報を構成する形態素が含まれていないときは、話題特定情報検索部３５０は、第一形態素情報に基づいて利用者入力文話題特定情報を決定し、入力された第一形態素情報及び利用者入力文話題特定情報を省略文補完部３６０に出力する。なお、「利用者入力文話題特定情報」は、第一形態素情報に含まれる形態素のうち、利用者が話題としている内容に該当する形態素に相当する話題特定情報、若しくは第一形態素情報に含まれる形態素のうち、利用者が話題としている内容に該当する可能性がある形態素に相当する話題特定情報をいう。
【００８１】
省略文補完部３６０は、前記第一形態素情報を、前回までに検索された話題特定情報８１０（以下、「着目話題特定情報」と呼ぶ）及び前回の回答文に含まれる話題特定情報８１０（以下、「回答文話題特定情報」と呼ぶ）を利用して、補完することにより複数種類の補完された第一形態素情報を生成する。例えばユーザ発話が「好きだ」という文であった場合、省略文補完部３６０は、着目話題特定情報「佐藤」を、第一形態素情報「好き」に含めて、補完された第一形態素情報「佐藤、好き」を生成する。
【００８２】
すなわち、第一形態素情報を「Ｗ」、着目話題特定情報や回答文話題特定情報の集合を「Ｄ」とすると、省略文補完部３６０は、第一形態素情報「Ｗ」に集合「Ｄ」の要素を含めて、補完された第一形態素情報を生成する。
【００８３】
これにより、第一形態素情報を用いて構成される文が、省略文であって日本語として明解でない場合などにおいて、省略文補完部３６０は、集合「Ｄ」を用いて、その集合「Ｄ」の要素(例えば、"佐藤")を第一形態素情報「Ｗ」に含めることができる。この結果、省略文補完部３６０は、第一形態素情報「好き」を補完された第一形態素情報「佐藤、好き」にすることができる。なお、補完された第一形態素情報「佐藤、好き」は、「佐藤が好きだ」というユーザ発話に対応する。
【００８４】
すなわち、省略文補完部３６０は、利用者の発話内容が省略文である場合などであっても、集合「Ｄ」を用いて省略文を補完することができる。この結果、省略文補完部３６０は、第一形態素情報から構成される文が省略文であっても、その文が適正な日本語となるようにすることができる。
【００８５】
また、省略文補完部３６０が、前記集合「Ｄ」に基づいて、補完後の第一形態素情報に一致する話題タイトル８２０を検索する。補完後の第一形態素情報に一致する話題タイトル８２０を発見した場合は、省略文補完部３６０はこの話題タイトル８２０を回答取得部３８０に出力する。回答取得部３８０は、省略文補完部３６０で検索された適切な話題タイトル８２０に基づいて、利用者の発話内容に最も適した回答文８３０を出力することができる。
【００８６】
なお、省略文補完部３６０は、集合「Ｄ」の要素を第一形態素情報に含めるだけに限定されるものではない。この省略文補完部３６０は、着目話題タイトルに基づいて、その話題タイトルを構成する第一特定情報、第二特定情報又は第三特定情報のいずれかに含まれる形態素を、抽出された第一形態素情報に含めてもよい。
【００８７】
話題検索部３７０は、省略文補完部３６０で話題タイトル８１０が決まらなかったとき、第一形態素情報と、利用者入力文話題特定情報に対応する各話題タイトル８１０とを照合し、各話題タイトル８１０の中から、第一形態素情報に最も適する話題タイトル８１０を検索するものである。  
【００８８】
具体的に、省略文補完部３６０から検索命令信号が入力された話題検索部３７０は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトルの中から、その第一形態素情報に最も適した話題タイトル８１０を検索する。話題検索部３７０は、その検索した話題タイトル８１０を検索結果信号として回答取得部３８０に出力する。
【００８９】
先に掲げた図１５は、ある話題特定情報８１０（＝「佐藤」）に対応付けされた話題タイトル８２０，回答文８３０の具体例を示す。図１５に示すように、例えば、話題検索部３７０は、入力された第一形態素情報「佐藤、好き」に話題特定情報８１０（＝「佐藤」）が含まれるので、その話題特定情報８１０（＝「佐藤」）を特定し、次に、その話題特定情報８１０（＝「佐藤」）に対応付けられた各話題タイトル（８２０）１-１,１-２,…と入力された第一形態素情報「佐藤、好き」とを照合する。  
【００９０】
話題検索部３７０は、その照合結果に基づいて、各話題タイトル（８２０）１-１〜１-２の中から、入力された第一形態素情報「佐藤、好き」と一致する話題タイトル（８２０）１-１(佐藤；＊；好き)を特定する。話題検索部３４０は、検索した話題タイトル（８２０）１-１(佐藤；＊；好き)を検索結果信号として回答取得部３８０に出力する。
【００９１】
回答取得部３８０は、省略文補完部３６０，或いは話題検索部３７０で検索された話題タイトル８２０に基づいて、その話題タイトル８２０に対応付けられた回答文８３０を取得する。また、回答取得部３８０は、話題検索部３７０で検索された話題タイトル８２０に基づいて、その話題タイトル８２０に対応付けられた各回答種類と、入力種類判定部４４０で判定された発話種類とを照合する。その照合をした回答取得部３８０は、各回答種類の中から、判定された発話種類と一致する回答種類を検索する。
【００９２】
図１５に示す例においては、回答取得部３５０は、話題検索部３７０で検索された話題タイトルが話題タイトル１-１(佐藤；＊；好き)である場合には、その話題タイトル１-１に対応付けられている回答文１-１（DA,TAなど）の中から、入力種類判定部４４０で判定された「発話文のタイプ」(例えばDA)と一致する回答種類(DA)を特定する。この回答種類(DA)を特定した回答取得部３８０は、特定した回答種類(DA)に基づいて、その回答種類(DA)に対応付けられた回答文１-１（「私も佐藤が好きです。」）を取得する。  
【００９３】
ここで、上記"DA"、"TA"等のうち、"A"は、肯定形式を意味する。従って、発話種類及び回答種類に"A"が含まれているときは、ある事柄について肯定することを示している。また、発話種類及び回答種類には、"DQ"、"TQ"等の種類を含めることもできる。この"DQ"、"TQ"等のうち"Q"は、ある事柄についての質問を意味する。
【００９４】
回答種類が上記質問形式(Q)からなるときは、この回答種類に対応付けられる回答文は、肯定形式(A)で構成される。この肯定形式(A)で作成された回答文としては、質問事項に対して回答する文等が挙げられる。例えば、発話文が「あなたはスロットマシンを操作したことがありますか?」である場合には、この発話文についての発話種類は、質問形式(Q)となる。この質問形式(Q)に対応付けられる回答文は、例えば「私はスロットマシンを操作したことがあります」(肯定形式(A))が挙げられる。
【００９５】
一方、発話種類が肯定形式(A)からなるときは、この回答種類に対応付けられる回答文は、質問形式(Q)で構成される。この質問形式(Q)で作成された回答文としては、発話内容に対して聞き返す質問文、又は特定の事柄を聞き出す質問文等が挙げられる。例えば、発話文が「私はスロットマシンで遊ぶのが趣味です」である場合には、この発話文についての発話種類は、肯定形式(A)となる。この肯定形式(A)に対応付けられる回答文は、例えば"パチンコで遊ぶのは趣味ではないのですか?"(特定の事柄を聞き出す質問文(Q))が挙げられる。
【００９６】
回答取得部３８０は、取得した回答文８３０を回答文信号として管理部３１０に出力する。回答取得部３５０から回答文信号が入力された管理部３１０は、入力された回答文信号を出力部６００に出力する。
【００９７】
ＣＡ会話処理部３４０は、ユーザ発話に対して、プラン会話処理部３２０及び談話空間会話制御処理部３３０のいずれにおいても回答文が決定しない場合に、ユーザ発話の内容に応じて、ユーザとの会話を継続できるような回答文を出力する機能を有する。
以上で会話サーバ１３の構成例の説明を終了する。
【００９８】
［２．会話制御方法］
上記構成を有する会話サーバ１３は、以下のように動作することにより会話制御方法を実行する。
次に、本実施の形態にかかる会話サーバ１３，より詳しくはサーバ側会話制御部３００の動作について説明する。
【００９９】
図２０は、サーバ側会話制御部３００のメイン処理の一例を示すフローチャートである。このメイン処理は、サーバ側会話制御部３００がユーザ発話を受け付ける毎に実行される処理であり、このメイン処理が行われることによりユーザ発話に対する回答文の出力が行われ、ユーザと会話サーバ１３間の会話（対話）が成立する。
【０１００】
メイン処理にはいると、サーバ側会話制御部３００、より詳しくはプラン会話処理部３２０はまずプラン会話制御処理（Ｓ１８０１）を実行する。プラン会話制御処理は、プランを実行する処理である。
図２１、図２２はプラン会話制御処理の一例を示すフローチャートである。以下に図２１、図２２を参照しながら、プラン会話制御処理の例について説明する。
【０１０１】
プラン会話制御処理を開始すると、プラン会話処理部３２０はまず、基本制御状態情報チェックを行う（Ｓ１９０１）。基本制御状態情報は、プラン１４０２の実行の完了の有無が、基本制御状態情報として所定の記憶領域に格納される。  
基本制御状態情報は、プランの基本制御状態を記述する役割を有する。
図２３は、シナリオと呼ばれるタイプのプランについて生じうる４つの基本制御状態を示す図である。以下、それぞれの状態について説明する。
（１）結束
【０１０２】
この基本制御状態は、ユーザ発話が実行中のプラン１４０２、より詳しくはプラン１４０２に対応する話題タイトル８２０や用例文１７０１に一致する場合である。この場合は、プラン会話処理部３２０は当該プラン１４０２を終了し、次プラン指定情報１５０２にて指定された回答文１５０１に対応するプラン１４０２に移行する。
（２）破棄
【０１０３】
この基本制御状態は、ユーザ発話内容がプラン１４０２の終了を要求していると判断される場合、又はユーザの関心が実行中のプラン以外の事項に移ったと判定される場合に、設定される基本制御状態である。基本制御状態情報が破棄を示している場合は、プラン会話処理部３２０は、破棄の対象となったプラン１４０２以外にユーザ発話に対応するプラン１４０２がないかどうかを検索し、存在する場合にはそのプラン１４０２の実行を開始し、存在しない場合には、プランの実行を終了する。
（３）維持
【０１０４】
この基本制御状態は、ユーザ発話が、実行中のプラン１４０２に対応するに対応する話題タイトル８２０（図１７参照）や用例文１７０１（図１９参照）に該当しない場合であって、かつユーザ発話が基本制御状態「破棄」に該当するものではないと判断される場合に、基本制御状態情報に記述される基本制御状態である。
【０１０５】
この基本制御状態である場合には、プラン会話処理部３２０は、ユーザ発話を受け付けると、まず保留・中止しているプラン１４０２を再開するか否かを検討し、ユーザ発話がプラン１４０２再開に適さない場合、例えばユーザ発話がプラン１４０２に対応する話題タイトル８０２や用例文１７０２に対応しない場合は、他のプラン１４０２の実行を開始し、或いは後述の談話空間会話制御処理（Ｓ１９０２）などを行う。ユーザ発話がプラン１４０２再開に適している場合は、記憶している次プラン指定情報１５０２に基づいて、回答文１５０１の出力を行う。
【０１０６】
基本制御状態が「維持」である場合は、プラン会話処理部３２０は、当該プラン１４０２に対応する回答文１５０１以外の回答を出力できるように、他のプラン１４０２を検索し、あるいは後述の談話空間会話制御処理などを行うが、ユーザ発話が再びプラン１４０２に関するものとなった場合は、そのプラン１４０２の実行を再開する。
（４）継続
【０１０７】
この状態は、ユーザ発話が、実行中のプラン１４０２に含まれる回答文１５０１に対応しない場合であって、かつユーザ発話内容が基本制御状態「破棄」に該当するものではないと判断され、かつユーザ発話から解釈されるユーザの意図が明瞭でない場合に、設定される基本制御状態である。
【０１０８】
基本制御状態が「継続」である場合は、プラン会話処理部３２０は、ユーザ発話を受け付けるとまず保留・中止しているプラン１４０２を再開するか否かを検討し、ユーザ発話がプラン１４０２再開に適さない場合は、ユーザからさらなる発話を引き出すための回答文を出力できるように、後述のＣＡ会話制御処理などを行う。
図２１に戻り、プラン会話制御処理の説明を続ける。  
【０１０９】
基本制御状態情報を参照したプラン会話処理部３２０は、基本制御状態情報が示す基本制御状態が「結束」であるか否かを判定する（Ｓ１９０２）。基本制御状態が「結束」であると判定した場合（Ｓ１９０２、Ｙｅｓ）は、プラン会話処理部３２０は、基本制御状態情報が示す実行中のプラン１４０２において、回答文１５０１が最終回答文であるかどうかを判定する（Ｓ１９０３）。
【０１１０】
最終回答文１５０１が出力済みであると判定した場合（Ｓ１９０３、Ｙｅｓ）、プラン会話処理部３２０は、すでにそのプラン１４０２においてユーザに回答すべき内容をすべて伝え終えているので、新たな別のプラン１４０２を開始するかいなかを判定するため、プラン空間内にユーザ発話に対応するプラン１４０２が存在するか検索を行う（Ｓ１９０４）。この検索の結果ユーザ発話に対応するプラン１４０２が発見できなかった場合（Ｓ１９０５、Ｎｏ）、ユーザに提供すべきプラン１４０２は存在していないので、プラン会話処理部３２０はそのままプラン会話制御処理終了する。
【０１１１】
一方、この検索の結果、ユーザ発話に対応するプラン１４０２を発見した場合（Ｓ１９０５、Ｙｅｓ）、プラン会話処理部３２０は当該プラン１４０２に移行する（Ｓ１９０６）。これは、ユーザに提供すべきプラン１４０２が存在しているため、当該プラン１４０２の実行（プラン１４０２に含まれる回答文１５０１の出力）を開始するためである。
【０１１２】
次に、プラン会話処理部３２０は当該プラン１４０２の回答文１５０１を出力する（Ｓ１９０８）。出力された回答文１５０１は、ユーザ発話に対する回答となり、プラン会話処理部３２０はユーザに伝えたい情報を提供することとなる。  
回答文出力処理（Ｓ１９０８）後、プラン会話処理部３２０はプラン会話制御処理を終了する。
【０１１３】
一方、先に出力した回答文１５０１が最終の回答文１５０１であるか否かの判定（Ｓ１９０３）において、先に出力した回答文１５０１が最終の回答文１５０１でない場合（Ｓ１９０３，Ｎｏ）は、プラン会話処理部３２０は、先に出力した回答文１５０１に続く回答文１５０１、すなわち次プラン指定情報１５０２により特定されている回答文１５０１に対応するプラン１４０２に移行する（Ｓ１９０７）。
【０１１４】
この後、プラン会話処理部３２０は該当するプラン１４０２に含まれる回答文１５０１を出力し、ユーザ発話に対する回答を行う（Ｓ１９０８）。出力された回答文１５０１は、ユーザ発話に対する回答となり、プラン会話処理部３２０はユーザに伝えたい情報を提供することとなる。回答文出力処理（Ｓ１９０８）後、プラン会話処理部３２０はプラン会話制御処理を終了する。
【０１１５】
さて、Ｓ１９０２の判定処理において、基本制御状態情報が「結束」でない場合（Ｓ１９０２，Ｎｏ）は、プラン会話処理部３２０は基本制御状態情報が示す基本制御状態が「破棄」であるか否かを判定する（Ｓ１９０９）。基本制御状態が「破棄」であると判定した場合（Ｓ１９０９、Ｙｅｓ）は、継続すべきプラン１４０２が存在していないため、プラン会話処理部３２０は、開始すべき新たな別のプラン１４０２が存在するか判定すべく、プラン空間１４０１内にユーザ発話に対応するプラン１４０２が存在するか検索を行う（Ｓ１９０４）。この後、先に述べたＳ１９０３（Ｙｅｓ）における処理と同様に、Ｓ１９０５からＳ１９０８までの処理をプラン会話処理部３２０は実行する。
【０１１６】
一方、基本制御状態情報が示す基本制御状態が「破棄」であるか否かの判定（Ｓ１９０９）において、基本制御状態が「破棄」でないと判定した場合（Ｓ１９０９，Ｎｏ）は、プラン会話処理部３２０は、基本制御状態情報が示す基本制御状態が「維持」であるか否かの判定（Ｓ１９１０）をさらに行う。
【０１１７】
基本制御状態情報が示す基本制御状態が「維持」である場合（Ｓ１９１０、Ｙｅｓ）には、プラン会話処理部３２０は、保留・停止しているプラン１４０２についてユーザが再び関心を示したか否かを調べ、関心を示した場合には、一時保留・停止しているプラン１４０２を再開するように動作する。すなわち、プラン会話処理部３２０は、保留・停止中のプラン１４０２を検査（図２２；Ｓ２００１）し、ユーザ発話が保留・停止中の当該プラン１４０２が対応するか否かを判定する（Ｓ２００２）。
【０１１８】
ユーザ発話が当該プラン１４０２に対応すると判定された場合（Ｓ２００２、Ｙｅｓ）は、プラン会話処理部３２０はそのユーザ発話に対応するプラン１４０２に移行し（Ｓ２００３）、その後、そのプラン１４０２に含まれる回答文１５０１を出力するように、回答文出力処理（図２１；Ｓ１９０８）を実行する。このように動作することにより、プラン会話処理部３２０は、保留・中断していたプラン１４０２を、ユーザ発話に応じて、再開することが可能となり、予め用意していたプラン１４０２に含まれる内容をすべてユーザに伝達することが可能となる。
【０１１９】
一方、先のＳ２００２（図２２参照）において、保留・停止中のプラン１４０２がユーザ発話に対応しないと判定された場合（Ｓ２００２、Ｎｏ）は、プラン会話処理部３２０は、開始すべき新たな別のプラン１４０２が存在するか判定すべく、プラン空間１４０１内にユーザ発話に対応するプラン１４０２が存在するか検索を行う（図２１；Ｓ１９０４）。この後、先に述べたＳ１９０３（Ｙｅｓ）における処理と同様に、Ｓ１９０５からＳ１９０９までの処理をプラン会話処理部３２０は実行する。
【０１２０】
さて、Ｓ１９１０の判定において、基本制御状態情報が示す基本制御状態が「維持」でない場合（Ｓ１９１０、Ｎｏ）は、基本制御状態情報が示す基本制御状態が「継続」であることを意味する。この場合には、プラン会話処理部３２０は、回答文の出力を行うことなく、プラン会話制御処理を終了する。  
以上で、プラン会話制御処理の説明を終了する。
【０１２１】
図２０に戻り、メイン処理の説明を続ける。  
プラン会話制御処理（Ｓ１８０１）を終了すると、サーバ側会話制御部３００は談話空間会話制御処理を開始する（Ｓ１８０２）。但し、プラン会話制御処理（Ｓ１８０１）において回答文出力を行った場合は、サーバ側会話制御部３００は談話空間会話制御処理（Ｓ１８０２）、及び後に説明するＣＡ会話制御処理（Ｓ１８０３）のいずれも行わず、基本制御情報更新処理（Ｓ１８０４）を行ってメイン処理を終了する。
図２４は、本実施の形態にかかる談話空間会話制御処理の一例を示すフローチャートである。  
まず、利用者からの入力内容を取得するステップを行う（ステップＳ２２０１）。
次いで、取得した入力内容に基づいて、入力内容に対応する文字列を特定するステップを行う（ステップＳ２２０２）。
【０１２２】
そして、文字列特定部４１０が、特定された一連の文字列を一文毎に区切るステップを行う（ステップＳ２２０３）。具体的には、管理部３１０から文字列信号（あるいは形態素信号）が入力された文字列特定部４１０は、その入力された一連の文字列の中に、ある一定以上の時間間隔があるときは、その部分で文字列を区切る。文字列特定部４１０は、その区切った各文字列を形態素抽出部４２０及び入力種類判定部４４０に出力する。なお、文字列特定部４１０は、入力された文字列がキーボードから入力された文字列である場合には、句読点又はスペース等のある部分で文字列を区切るのが好ましい。
【０１２３】
その後、形態素抽出部４２０が、文字列特定部４１０で特定された文字列に基づいて、文字列の最小単位を構成する各形態素を第一形態素情報として抽出するステップを行う（ステップＳ２２０４）。具体的に、文字列特定部４１０から文字列が入力された形態素抽出部４２０は、入力された文字列と、形態素データベース４３０に予め格納されている形態素群とを照合する。なお、その形態素群は、本実施の形態では、それぞれの品詞分類に属する各形態素について、その形態素の見出し語・読み・品詞・活用形などを記述した形態素辞書として準備されている。  
【０１２４】
この照合をした形態素抽出部４２０は、入力された文字列の中から、予め記憶された形態素群に含まれる各形態素と一致する各形態素（m１、m２、…）を抽出する。形態素抽出部４２０は、抽出した各形態素を第一形態素情報として話題特定情報検索部３５０に出力する。
【０１２５】
次いで、入力種類判定部４４０が、文字列特定部４１０で特定された一文を構成する各形態素に基づいて、「発話文のタイプ」を判定するステップを行う（ステップＳ２２０５）。具体的には、文字列特定部４１０から文字列が入力された入力種類判定部４４０は、入力された文字列に基づいて、その文字列と発話種類データベース４５０に格納されている各辞書とを照合し、その文字列の中から、各辞書に関係する要素を抽出する。この要素を抽出した入力種類判定部４４０は、抽出した要素に基づいて、その要素がどの「発話文のタイプ」に属するのかを判定する。入力種類判定部４４０は、判定した「発話文のタイプ」（発話種類）を回答取得部３８０に出力する。
【０１２６】
そして、話題特定情報検索部３５０が、形態素抽出部４２０で抽出された第一形態素情報と着目話題タイトル８２０focusとを比較するステップを行う（ステップＳ２２０６）。  
【０１２７】
第一形態素情報を構成する形態素と着目話題タイトル８２０focusとが一致する場合、話題特定情報検索部３５０は、その話題タイトル８２０を回答取得部３８０に出力する。一方、話題特定情報検索部３５０は、第一形態素情報を構成する形態素と話題タイトル８２０とが一致しなかった場合には、入力された第一形態素情報及び利用者入力文話題特定情報を検索命令信号として省略文補完部３６０に出力する。
【０１２８】
その後、省略文補完部３６０が、話題特定情報検索部３５０から入力された第一形態素情報に基づいて、着目話題特定情報及び回答文話題特定情報を、入力された第一形態素情報に含めるステップを行う（ステップＳ２２０７）。具体的には、第一形態素情報を「Ｗ」、着目話題特定情報及び回答文話題特定情報の集合を「Ｄ」とすると、省略文補完部３６０は、第一形態素情報「Ｗ」に話題特定情報「Ｄ」の要素を含めて、補完された第一形態素情報を生成し、この補完された第一形態素情報と集合「Ｄ」に関連付けされたすべての話題タイトル８２０とを照合し、補完された第一形態素情報と一致する話題タイトル８２０があるか検索する。補完された第一形態素情報と一致する話題タイトル８２０がある場合は、省略文補完部３６０は、その話題タイトル８２０を回答取得部３８０に出力する。一方、補完された第一形態素情報と一致する話題タイトル８２０を発見しなかった場合は、省略文補完部３６０は、第一形態素情報と利用者入力文話題特定情報とを話題検索部３７０に渡す。
【０１２９】
次いで、話題検索部３７０は、第一形態素情報と、利用者入力文話題特定情報とを照合し、各話題タイトル８２０の中から、第一形態素情報に適した話題タイトル８２０を検索するステップを行う（ステップＳ２２０８）。具体的には、省略文補完部３６０から検索命令信号が入力された話題検索部３７０は、入力された検索命令信号に含まれる利用者入力文話題特定情報及び第一形態素情報に基づいて、その利用者入力文話題特定情報に対応付けられた各話題タイトル８２０の中から、その第一形態素情報に適した話題タイトル８２０を検索する。話題検索部３７０は、その検索の結果得られた話題タイトル８２０を検索結果信号として回答取得部３８０に出力する。
【０１３０】
次いで、回答取得部３８０が、話題特定情報検索部３５０、省略文補完部３６０，あるいは話題検索部３７０で検索された話題タイトル８２０に基づいて、文解析部４００により判定された利用者の発話種類と、話題タイトル８２０に対応付けられた各回答種類とを照合し、回答文８３０の選択を行う（ステップＳ２２０９）。
【０１３１】
具体的には、以下のようにして回答文８３０の選択が行われる。すなわち、話題検索部３７０から検索結果信号と、入力種類判定部４４０から「発話文のタイプ」とが入力された回答取得部３８０は、入力された検索結果信号に対応する「話題タイトル」と、入力された「発話文のタイプ」とに基づいて、その「話題タイトル」に対応付けられている回答種類群の中から、「発話文のタイプ」（DAなど）と一致する回答種類を特定する。
続いて、回答取得部３８０は、管理部３１０を介して、ステップＳ２２０９において取得した回答文８３０を出力する（ステップＳ２２１０）。
以上で、談話空間会話制御処理の説明を終了し、図２０に戻りメイン処理の説明を再開する。  
【０１３２】
サーバ側会話制御部３００は談話空間会話制御処理を終了すると、ＣＡ会話制御処理を実行する（Ｓ１８０３）。但し、プラン会話制御処理（Ｓ１８０１）及び談話空間会話制御処理（Ｓ１８０１）において回答文出力を行った場合は、サーバ側会話制御部３００はＣＡ会話制御処理（Ｓ１８０３）を行わず、基本制御情報更新処理（Ｓ１８０４）を行ってメイン処理を終了する。
【０１３３】
ＣＡ会話制御処理（Ｓ１８０３）は、ユーザ発話が、「何かを説明している」のか、「何かを確認している」のか、「非難や攻撃をしている」のか、「これら以外」なのかを判定し、ユーザ発話の内容及び判定結果に応じた回答文を出力する処理である。このＣＡ会話制御処理を行うことにより、プラン会話制御処理、及び談話空間会話制御処理のいずれにおいても、ユーザ発話に適した回答文が出力できなくとも、ユーザとの会話の流れをとぎれさせることなく継続できるような、いわば「つなぎ」の回答文を出力することを可能とする役割を有している。
図２５は、ＣＡ会話処理部３４０の構成例を示す機能ブロック図である。ＣＡ会話処理部３４０は、判定部２３０１と、回答部２３０２とを有している。  
【０１３４】
判定部２３０１は、管理部３１０又は談話空間会話制御処理部３３０からユーザ発話文を受け取ると共に、回答文出力命令を受け取る。この回答文出力命令は、前記プラン会話処理部２０及び談話空間会話制御処理部３３０が回答文出力を行わない、又は行ない場合になされる。また、判定部２３０１は、文解析部４００（より詳しくは入力種類判定部４４０）より入力種類、すなわちユーザ発話のタイプ（図９参照）を受け取る。判定部２３０１は、これに基づいてユーザ発話意図を判定する。例えば、ユーザ発話が「佐藤が好きです」という文であった場合には、この文に含まれる「佐藤」「好き」という自立語と、ユーザ発話のタイプが陳述肯定文（ＤＡ）であることに基づいて、「佐藤」「好き」についてユーザが説明を行っていると判定する。
【０１３５】
回答部２３０２は、判定部２３０１からの判定結果に応じて、回答文を決定し、出力する。この例では、回答部２３０２は、説明会話対応文テーブル、確認会話対応文テーブル、非難攻撃会話対応文テーブル、反射会話文テーブルを有している。
【０１３６】
説明会話対応文テーブルは、ユーザ発話が何かを説明していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「はいそうなんですか。」のような聞き返しをされない回答文が用意されている。
【０１３７】
確認会話対応文テーブルは、ユーザ発話が何かを確認・質問していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「ちょっとわかりません。」のような聞き返しをされない回答文が用意されている。
【０１３８】
非難攻撃会話対応文テーブルは、ユーザ発話が会話制御システムを非難攻撃していると判定された場合にその発話に対する回答として出力する回答文を複数種類格納したテーブルである。例えば、回答文例としては、「ごめんなさい。」のような回答文が用意されている。
【０１３９】
反射会話文テーブルは、ユーザ発話「『＊＊＊』なら興味ありません。」のような回答文が用意されている。なお、『＊＊＊』は当該ユーザ発話に含まれる自立語が格納されることを意味する。
【０１４０】
回答部２３０２は、これら説明会話対応文テーブル、確認会話対応文テーブル、非難攻撃会話対応文テーブル、反射会話文テーブルを参照して、回答文を決定し、決定した回答文を管理部３１０に渡すように機能する。
【０１４１】
次に、上記ＣＡ会話処理部３４０が実行する処理であるＣＡ会話処理（Ｓ１８０３）の具体例について説明する。図２６は、ＣＡ会話処理の具体例を示すフローチャートである。なお、先に述べた様に、プラン会話制御処理（Ｓ１８０１）及び談話空間会話制御処理（Ｓ１８０２）において回答文出力を行った場合は、サーバ側会話制御部３００はＣＡ会話制御処理（Ｓ１８０３）を行わない。すなわち、ＣＡ会話制御処理（Ｓ１８０３）はプラン会話制御処理（Ｓ１８０１）及び談話空間会話制御処理（Ｓ１８０２）において回答文出力が保留されている場合にのみ、回答文出力を行う。
【０１４２】
ＣＡ会話処理（Ｓ１８０３）において、ＣＡ会話処理部３４０（判定部２３０１）はまず、ユーザ発話が何かを説明している文か否かを判定する（Ｓ２４０１）。ユーザ発話が何かを説明している文であると判定した場合（Ｓ２４０１，Ｙｅｓ）には、ＣＡ会話処理部３４０（回答部２３０２）は説明会話対応文テーブルを参照するなどの方法によって回答文を決定する。
【０１４３】
一方、ユーザ発話が何かを説明している文ではないと判定した場合（Ｓ２４０１，Ｎｏ）には、ＣＡ会話処理部３４０（判定部２３０１）は、ユーザ発話が何かを確認又は質問している文か否かを判定する（Ｓ２４０３）。ユーザ発話が何かを確認又は質問している文であると判定した場合（Ｓ２４０３，Ｙｅｓ）には、ＣＡ会話処理部３４０（回答部２３０２）は確認会話対応文テーブルを参照するなどの方法によって回答文を決定する（Ｓ２４０４）。
【０１４４】
一方、ユーザ発話が何かを確認又は質問している文ではないと判定した場合（Ｓ２４０３，Ｎｏ）には、ＣＡ会話処理部３４０（判定部２３０１）は、ユーザ発話が非難又は攻撃をしている文か否かを判定する（Ｓ２４０５）。ユーザ発話が非難又は攻撃をしている文であると判定した場合（Ｓ２４０５，Ｙｅｓ）には、ＣＡ会話処理部３４０（回答部２３０２）は攻撃非難会話対応文テーブルを参照するなどの方法によって回答文を決定する（Ｓ２４０６）。
【０１４５】
一方、ユーザ発話が非難又は攻撃をしている文ではないと判定した場合（Ｓ２４０５，Ｎｏ）には、ＣＡ会話処理部３４０（判定部２３０１）は、回答部２３０２に反射会話回答文を決定するよう要求する。この要求に応じて、ＣＡ会話処理部３４０（回答部２３０２）は反射会話対応文テーブルを参照するなどの方法によって回答文を決定する（Ｓ２４０７）。
【０１４６】
以上でＣＡ会話処理（Ｓ１９０３）は終了する。このＣＡ会話処理により、会話サーバ１３はユーザ発話状態に応じて会話の成立を維持することが可能な回答を行る。
図２０に戻り、サーバ側会話制御部３００のメイン処理を続ける。  
【０１４７】
ＣＡ会話処理（Ｓ１８０３）が終了すると、サーバ側会話制御部３００は基本制御情報更新処理を行う（Ｓ１８０４）。この処理において、サーバ側会話制御部３００，より詳しくは管理部３１０は、プラン会話処理部３２０が回答文出力を行った場合は基本制御情報を「結束」に設定し、プラン会話処理部３２０が回答文出力を停止した場合は基本制御情報を「破棄」に設定し、談話空間会話制御処理部３３０が回答文出力を行った場合は基本制御情報を「維持」に設定し、ＣＡ会話処理部３４０が回答文出力を行った場合は基本制御情報を「継続」に設定する。
この基本制御情報更新処理で設定された基本制御情報は、前述のプラン会話制御処理（Ｓ１８０１）において参照され、プランの継続や再開に利用される。  
【０１４８】
以上、メイン処理を、ユーザ発話を受け付ける毎に実行することにより、会話サーバ１３は、ユーザ発話に応じて、予め用意したプランを実行できるとともに、プランに含まれない話題についても適宜応答することができる。
［会話サーバの第２の態様］
【０１４９】
次に、会話サーバ１３の第２の態様について述べる。第２の実施の形態にかかる会話サーバ１３は、ユーザ発話内容がいかなる内容であっても、ユーザ発話の内容がいかなるものであっても、予め定めた回答文を予め定めた順番で出力させるように回答文を出力されるプランである、強制型シナリオと呼ぶタイプのプランを扱うことができることを特徴としている。かかる会話サーバ１３は、会話データベース５００に記憶されているプラン１４０２（複数）の少なくとも一部は、例えば、順番に出力される第１から第Ｍまでの回答文を格納したＮ個のプランであって、このＮ個のプランのうちの第Ｍ番目のプランは、第Ｍ＋１番目の回答文を指定する次候補指定情報を有している（但し、Ｍ、Ｍは整数、且つ１≦Ｍ＜Ｎ）。
【０１５０】
なお、第２の態様にかかる会話サーバ１３の説明は、先に述べた会話サーバ１３と異なる部分についてのみ説明し、同様の構成・動作については説明を省略する。
【０１５１】
図２７に、強制型シナリオと呼ばれるタイプのプラン１４０２の具体例を示す。この一連のプラン１４０２１１〜１４０２１６は、車に関係するアンケートを構成する回答文１５０１１１〜１５０１１６に対応している。プラン１４０２１１〜１４０２１６におけるユーザ発話文字列１７０１１１〜１７０１１６は、「＊」として表示されているが「＊」はすべてのユーザ発話にも対応することを意味する。
【０１５２】
なお、ここに示した例では、図２７において、プラン１４０２１０は、強制型シナリオの開始のきっかけとなるプランであって、強制型シナリオの一部とはしていない。
【０１５３】
各プラン１４０２１０〜１４０２１６はそれぞれ「２０００−０１」「２０００−０２」「１０００−０３」「２０００−０４」「２０００−０５」「２０００−０６」「２０００−０７」というＩＤデータ１７０２１０〜１７０２１６を有している。また、各プラン１４０２１０〜１４０２１６はそれぞれ次プラン指定情報１５０２１０〜１５０２１６を有している。また、次プラン指定情報１５０２１６の内容は、「２０００−０Ｆ」というデータであるが、このハイフン以下の番号「０Ｆ」は、次に出力する予定のプランは存在せず、当該回答文がアンケートの終わりであることを示す情報である。
【０１５４】
さて、この例では、ユーザと会話サーバ１３との会話が進行する中で、ユーザが「車が欲しい」というユーザ発話を発した（若しくは入力した）場合に、プラン会話処理部３２０がこの一連のプランを実行開始する。すなわち、ユーザ発話「車が欲しい」を会話サーバ１３、より詳しくはプラン会話処理部３２０が受け付けると、プラン会話処理部３２０はプラン空間１４０１を検索して、ユーザ発話「車が欲しい」に対応する回答文１５０１を有するプラン１４０２があるかどうかを調べる。
この例では、「車が欲しい」に対応するユーザ発話文字列１７０１１０が、プラン１４０２１０に対応するものとする。
【０１５５】
プラン会話処理部３２０はプラン１４０２１０を発見すると、そのプラン１４０２１０に含まれる回答文１５０１１０を取得し、この回答文１５０１１０をユーザ発話に対する回答「それでは簡単なアンケートにお答えください。質問は五つです。アンケートにお答えいただける方は、『アンケートに答えてもよい』と入力してください」として出力するとともに、次プラン指定情報１５０２１０により次候補回答文を特定する。この例では、次プラン指定情報１５０２１０は、ＩＤデータ「２０００−０２」を含んでいる。プラン会話処理部３２０は、ＩＤデータ「２０００−０２」に対応するプラン１４０２１１の回答文を次候補回答文として記憶保持する。
【０１５６】
上記回答文「それでは簡単なアンケートにお答えください。質問は五つです。アンケートとにお答えいただける方は、『アンケートに答えてもよい』と入力してください」に対するユーザの回答、すなわちユーザ発話が「アンケートに答えてもよい」ではない場合には、プラン会話処理部３２０、或いは談話空間会話制御処理部３３０、或いはＣＡ会話処理部３４０が、このユーザ発話に対応する何らかの回答文の出力を行い、アンケートの開始には至らない。
【０１５７】
一方、ユーザ発話「アンケートに答えてもよい」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されているプラン１４０２１１を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１１の有する回答文１５０１１１であるという回答を出力させると共に、当該プラン１４０２１１の有する次プラン指定情報１５０２１１により次候補回答文を特定する。この例では、次プラン指定情報１５０２１１は、ＩＤデータ「２０００−０３」を含んでいる。プラン会話処理部３２０は、ＩＤデータ「２０００−０３」に対応するプラン１４０２１２が有する回答文を次候補回答文とする。これで強制型シナリオであるアンケートの実施が開始することになる。
【０１５８】
この会話サーバ１３から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか？中古車にしますか？」に対して何らかのユーザ発話があった場合は、次候補回答文として指定されているプラン１４０２１２を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１２の有する回答文１５０１１２である「第２問。国産車か外車かどちらをお望みですか？」という回答を出力させると共に、当該プラン１４０２１２の有する次プラン指定情報１５０２１２により次候補回答文を特定する。この例では、次プラン指定情報１５０２１２は、「２０００−０４」であり、このＩＤを有するプラン１４０２１３が次候補回答文として選択される。
【０１５９】
なお、この強制型シナリオと呼ばれるタイプのプランは、ユーザ発話文字列１７０１の内容がすべてのユーザ発話内容を示す記述「＊」となっているため、どのような内容のユーザ発話がなされても、プラン会話処理部３２０は選択したプランを実行する。例えば、ユーザ発話が「わからないなあ」「もうやめようよ」等のアンケートの回答ではないと思われる場合でも、次の質問である回答文の出力を継続して行うこととなる。
【０１６０】
これ以降、会話サーバ１３、より詳しくはプラン会話処理部３２０は、ユーザ発話を受け付ける毎に、ユーザ発話の内容の如何を問わず、プラン１４０２１３、プラン１４０２１４、プラン１４０２１５、プラン１４０２１６の実行を順番に行う。すなわち、会話サーバ１３、より詳しくはプラン会話処理部３２０は、ユーザ発話を受け付ける毎に、ユーザ発話の内容の如何を問わず、プラン１４０２１３、プラン１４０２１４、プラン１４０２１５、プラン１４０２１６の回答文１５０１１３〜１５０１１６である「第３問。車種は？セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか？」、「第４問。予算はいくらくらいをお考えですか？」、「第５問。お求めになるとすれば、いつ頃でしょうか？」、「質問は以上です。どうもありがとうございました。」を順番に出力する。
【０１６１】
なお、プラン会話処理部３２０は、プラン１４０２１６の有する次プラン指定情報１５０２１６より当該回答文がアンケートの終わりと認識し、プラン会話処理を終了する。
図２８は、強制型シナリオと呼ばれるタイプのプランの別の例を示す図である。
【０１６２】
図２７に示した例においては、ユーザ発話がアンケートの回答であるか否かを問わず、アンケートの質問を進めていく会話制御方式であったが、図２８に示す例では、ユーザ発話がアンケートの回答である場合にのみ、次のアンケート質問に進み、そうでない場合はアンケート質問を繰り返してアンケートの回答を取得することを試みる会話制御方式である。
【０１６３】
図２８に示す例は、図２７と同様の車に関係するアンケートを構成する回答文を有するプランであって、このアンケートのうち第一問（図２７，プラン１４０２１１参照）、第二問（図２７，プラン１４０２１２参照）、第三問（図２７，プラン１４０２１３参照）に対応するプランを図示しており、第四問以降に対応するプランは省略している。なお、ユーザ発話文字列１７０１２４は、ユーザ発話が「新車」又は「中古車」のいずれでもない発話であることを示すデータであり、同様にユーザ発話文字列１７０１２７は、ユーザ発話が「国産車」又は「外車」のいずれでもない発話であることを示すデータである。
【０１６４】
さて、図２８に示す例において、「アンケートに回答してもよい」というユーザ発話がなされたものとする。すると、プラン会話処理部３２０はプラン空間１４０１を検索して、プラン１４０２２１を発見する。そのプラン１４０２２１に含まれる回答文１５０１２１を取得し、この回答文１５０１２１をユーザ発話に対する回答「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか？中古車にしますか？」として出力するとともに、次プラン指定情報１５０２２１により次候補回答文を特定する。この例では、次プラン指定情報１５０２２１は、３つのＩＤデータ「２０００−０２」「２０００−０３」「２０００−０４」を含んでいる。プラン会話処理部３２０は、この３つのＩＤデータ「２０００−０２」「２０００−０３」「２０００−０４」に対応するプラン１４０２２２、プラン１４０２２３、プラン１４０２２４の回答文を次候補回答文として記憶保持する。
【０１６５】
ここで、会話サーバ１３から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか？中古車にしますか？」に答えるユーザ発話「新車」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つの１４０２２２、プラン１４０２２３、プラン１４０２２４のうち、このユーザ発話に対応するユーザ発話文字列１７０１２２を有するプラン１４０２２２を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２２の有する回答文１５０１２２である「第２問。国産車か外車かどちらをお望みですか？」という回答を出力させると共に、当該プラン１４０２２２の有する次プラン指定情報１５０２２２により次候補回答文を特定する。この例では、次プラン指定情報１５０２２２は、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」に対応する３つのプラン１４０２２５、１４０２２６、１４０２２７が有する回答文を次候補回答文とする。すなわち、会話サーバ１３は、アンケート第一問の答え「新車」の収集を完了し、アンケート第二問の答えの取得へ進むよう、会話制御を実行している。
【０１６６】
一方、会話サーバ１３から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか？中古車にしますか？」に答えるユーザ発話「中古車」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つの１４０２２２、プラン１４０２２３、プラン１４０２２４のうち、このユーザ発話に対応するユーザ発話文字列１７０１２３を有するプラン１４０２２３を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２３の有する回答文１５０１２３である「第２問。国産車か外車かどちらをお望みですか？」という回答を出力させると共に、当該プラン１４０２２３の有する次プラン指定情報１５０２２３により次候補回答文を特定する。この例では、次プラン指定情報１５０２２３は、先の次プラン指定情報１５０２２２と同様に、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」に対応する３つのプラン１４０２２５、１４０２２６、１４０２２７が有する回答文を次候補回答文とする。すなわち、会話サーバ１３は、アンケート第一問の答え「中古車」の収集を完了し、アンケート第二問の答え取得へ進むよう、会話制御を実行している。
【０１６７】
また、会話サーバ１３から出力された回答文「ありがとうございます。それでは第一問。車をお買いになるとしたら新車にしますか？中古車にしますか？」に答えるユーザ発話が「新車」でも「中古車」でもない場合、例えば「わからない」とか「どちらでもよい」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つの１４０２２２、プラン１４０２２３、プラン１４０２２４のうち、このユーザ発話に対応するユーザ発話文字列１７０１２４を有するプラン１４０２２４を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２４の有する回答文１５０１２４である「とりあえず第１問の回答をお願いします。車をお買いになるとしたら、新車にしますか？中古車にしますか？」という回答を出力させると共に、当該プラン１４０２２４の有する次プラン指定情報１５０２２４により次候補回答文を特定する。この例では、次プラン指定情報１５０２２４は、３つのＩＤデータ「２０００−０３」「２０００−０４」「２０００−０５」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０３」「２０００−０４」「２０００−０５」に対応する３つのプラン１４０２２２、１４０２２３、１４０２２４が有する回答文を次候補回答文とする。すなわち、会話サーバ１３は、再びユーザにアンケート第一問を繰り返し、アンケート第一問に対する答えの収集を試みる会話制御を実行する。言い換えれば、会話サーバ１３、より詳しくはプラン会話処理部３２０は、ユーザが「新車」若しくは「中古車」のいずれかのユーザ発話するまでユーザにアンケート第一問を繰り返す。
【０１６８】
さて、プラン会話処理部３２０が先のプラン１４０２２２又は１４０２２３を実行し、回答文「第２問。国産車か外車かどちらをお望みですか？」を出力した後の処理について説明を進める。会話サーバ１３から出力された回答文「第２問。国産車か外車かどちらをお望みですか？」に対して、ユーザ発話「国産車」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つのプラン１４０２２５、プラン１４０２２６、プラン１４０２２７のうち、このユーザ発話に対応するユーザ発話文字列１７０１２５を有するプラン１４０２２５を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２５の有する回答文１５０１２５である「第３問。車種は？セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか？」という回答を出力させると共に、当該プラン１４０２２５の有する次プラン指定情報１５０２２５により次候補回答文を特定する。この例では、次プラン指定情報１５０２２５は、３つのＩＤデータ「２０００−０９」「２０００−１０」「２０００−１１」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０９」「２０００−１０」「２０００−１１」に対応する３つのプランが有する回答文を次候補回答文とする。すなわち、この時点で会話サーバ１３は、アンケート第二問の答え「国産車」の収集を完了し、アンケート第三問の答え取得へ進むよう、会話制御を実行している。なお、「２０００−０９」「２０００−１０」「２０００−１１」に対応するプランは図２８においては省略されている。
【０１６９】
一方、会話サーバ１３から出力された回答文「第２問。国産車か外車かどちらをお望みですか？」に答えるユーザ発話「外車」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つのプラン１４０２２５、プラン１４０２２６、プラン１４０２２７のうち、このユーザ発話に対応するユーザ発話文字列１７０１２６を有するプラン１４０２２６を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２６の有する回答文１５０１２６である「第３問。車種は？セダンかスポーツカーか、ワゴンかワンボックスか、どのようなタイプが欲しいですか？」という回答を出力させると共に、当該プラン１４０２２６の有する次プラン指定情報１５０２２６により次候補回答文を特定する。この例では、次プラン指定情報１５０２２５は、３つのＩＤデータ「２０００−０９」「２０００−１０」「２０００−１１」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０９」「２０００−１０」「２０００−１１」に対応する３つのプランが有する回答文を次候補回答文とする。すなわち、会話サーバ１３は、アンケート第二問の答え「外車」の収集を完了し、アンケート第三問の答え収集へ進むよう、会話制御を実行している。
【０１７０】
また、会話サーバ１３から出力された回答文「第２問。国産車か外車かどちらをお望みですか？」に答えるユーザ発話が「国産車」でも「外車」でもない場合、例えば「わからない」とか「どちらでもよい」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている３つのプラン１４０２２５、プラン１４０２２６、プラン１４０２２７のうち、このユーザ発話に対応するユーザ発話文字列１７０１２７を有するプラン１４０２２７を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２２７の有する回答文１５０１２７である「とりあえず、第２問にご回答ください。国産車か外車かどちらをお望みですか？」という回答を出力させると共に、当該プラン１４０２２７の有する次プラン指定情報１５０２２７により次候補回答文を特定する。この例では、次プラン指定情報１５０２２７は、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」を含んでいる。プラン会話処理部３２０は、３つのＩＤデータ「２０００−０６」「２０００−０７」「２０００−０８」に対応する３つのプラン１４０２２５、１４０２２６、１４０２２７が有する回答文を次候補回答文とする。すなわち、会話サーバ１３は、再びユーザにアンケート第二問を繰り返し、アンケート第二問に対する答えの収集を試みる会話制御を実行する。言い換えれば、会話サーバ１３、より詳しくはプラン会話処理部３２０は、ユーザが「国産車」若しくは「外車」のいずれかのユーザ発話するまでユーザにアンケート第二問を繰り返す。
【０１７１】
以下、上記と同様の会話制御方式により、会話サーバ１３、より詳しくはプラン会話処理部３２０は、アンケート第三問からアンケート第五問の答えの収集を行う。
【０１７２】
上記のような第２の実施の形態にかかる会話サーバ１３によれば、ユーザの発話内容が本来の目的とするところと異なっていても、決められた順番で、決められた項目についての回答を取得することが可能な会話制御システムを提供できる。
【０１７３】
次に、会話サーバ１３の第３の態様について述べる。第３の態様にかかる会話サーバ１３は、ユーザに質問を繰り返して行うことで、ユーザにある結論やアドバイスなどの情報にたどり着かせるための、誘導談話と呼ぶタイプのプランを扱うことができることを特徴としている。かかる会話サーバ１３は、会話データベース５００に記憶されているプラン１４０２（複数）の少なくとも一部は、ユーザを誘導するための一連の質問を回答文として有しており、そのプランの有する次プラン指定情報は、複数の次候補回答文を指定する情報である。
【０１７４】
なお、第３の態様にかかる会話サーバ１３の説明は、第１の実施の形態と異なる部分についてのみ説明し、第１の実施の形態と同様の構成・動作については説明を省略する。
【０１７５】
図２９に、ユーザに質問を繰り返して行うことで、ユーザにある結論やアドバイスなどの情報にたどり着かせるための、一連の質問文を回答文として有するプラン１４０２の具体例を示す。この一連のプラン１４０２１０〜１４０２１６は、育児中の母親などからの育児相談に対する４回答文１５０１１０〜１５０１１６に対応している。この例では、プラン１４０２１１、１４０２１２，及びプラン１４０２１１、１４０２１２は選択的な関係にあり、一方が選択された場合は、他方は選択されない関係となっている。
【０１７６】
各プラン１４０２１０〜１４０２１６はそれぞれ「２０００−０１」「２０００−０２」「１０００−０３」「２０００−０４」「２０００−０５」「２０００−０６」というＩＤデータ１７０２１０〜１７０２１６を有している。また、各プラン１４０２１０〜１４０２１６はそれぞれ次プラン指定情報１５０２１０〜１５０２１６を有している。なお、次プラン指定情報１５０２１１及び１５０２１４は、複数の次プランを指定するものであるため、複数のＩＤデータを有している。また、次プラン指定情報１５０２１２、１５０２１３、１５０２１６の内容は、「２０００−０Ｆ」というデータであるが、このハイフン以下の番号「０Ｆ」は、次に出力する予定のプランは存在せず、当該回答文が一連の話（質問）の終わりであることを示す情報である。
【０１７７】
この例では、ユーザ発話が「赤ちゃんが頭を打った」である場合に、プラン会話処理部３２０がこの一連のプランを実行開始する。すなわち、ユーザ発話「赤ちゃんが頭を打った」をプラン会話処理部３２０が受け付けると、プラン会話処理部３２０はプラン空間１４０１を検索して、ユーザ発話「赤ちゃんが頭を打った」に対応する回答文１５０１を有するプラン１４０２があるかどうかを調べる。この例では、「赤ちゃんが頭を打った」に対応するユーザ発話文字列１７０１１０が、プラン１４０２１０に対応するものとする。
【０１７８】
プラン会話処理部３２０はプラン１４０２１０を発見すると、そのプラン１４０２１０に含まれる回答文１５０１１０を取得し、この回答文１５０１１０をユーザ発話に対する回答「意識はある？」として出力するとともに、次プラン指定情報１５０２１０により次候補回答文を特定する。この例では、次プラン指定情報１５０２１０は、２つのＩＤデータ「２０００−０２」「２０００−０３」を含んでいる。プラン会話処理部３２０は、２つのＩＤデータ「２０００−０２」及び「２０００−０３」に対応する２つのプラン１４０２１１、１４０２１２の回答文を次候補回答文とする。
【０１７９】
ここで、会話サーバ１３から出力された回答文「意識はある？」に答えるユーザ発話「はい」がなされた場合には、プラン会話処理部３２０は、次候補回答文として指定されている２つのプラン１４０２１１、１４０２１２のうち、このユーザ発話に対応するユーザ発話文字列１７０１１１を有するプラン１４０２１１を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１１の有する回答文１５０１１１である「麻痺や呼吸の乱れはある？」という回答を出力させると共に、当該プラン１４０２１１の有する次プラン指定情報１５０２１１により次候補回答文を特定する。この例では、次プラン指定情報１５０２１１は、２つのＩＤデータ「２０００−０４」「２０００−０５」を含んでいる。プラン会話処理部３２０は、２つのＩＤデータ「２０００−０４」及び「２０００−０５」に対応する２つのプラン１４０２１３、１４０２１４が有する回答文を次候補回答文とする。
【０１８０】
一方、会話サーバ１３から出力された回答文「意識はある？」に答えるユーザ発話が「いいえ」であった場合には、プラン会話処理部３２０は、このユーザ発話に対応するユーザ発話文字列１７０１１２を有するプラン１４０２１２の実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１２の有する回答文１５０１１２である「すぐに救急車を呼んでください！」という回答を出力させると共に、当該プラン１４０２１２の有する次プラン指定情報１５０２１２により、当該回答文が質問の終わりと認識し、プラン会話処理を終了する。
【０１８１】
さて、会話サーバ１３から出力された回答文「麻痺や呼吸の乱れはある？」に答えるユーザ発話が「はい」であった場合には、プラン会話処理部３２０は、プラン１４０２１１において次候補回答文として指定されている２つのプラン１４０２１３、１４０２１４のうち、このユーザ発話「はい」に対応するユーザ発話文字列１７０１１３を有するプラン１４０２１３を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１３の有する回答文１５０１１３である「すぐに救急車を呼んでください！」という回答を出力させると共に、当該プラン１４０２１３の有する次プラン指定情報１５０２１３により、当該回答文が質問の終わりと認識し、プラン会話処理を終了する。
【０１８２】
さて、会話サーバ１３から出力された回答文「麻痺や呼吸の乱れはある？」に答えるユーザ発話が「いいえ」であった場合には、プラン会話処理部３２０は、プラン１４０２１１において次候補回答文として指定されている２つのプラン１４０２１３、１４０２１４のうち、このユーザ発話「いいえ」に対応するユーザ発話文字列１７０１１４を有するプラン１４０２１４を選択し、このプランの実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１４の有する回答文１５０１１４である「生あくびや嘔吐はありますか？」という回答を出力させると共に、次プラン指定情報１５０２１４により次候補回答文を特定する。この例では、次プラン指定情報１５０２１４は、２つのＩＤデータ「２０００−０４」「２０００−０６」を含んでいる。プラン会話処理部３２０は、２つのＩＤデータ「２０００−０４」及び「２０００−０６」に対応する２つのプラン１４０２１３、１４０２１５の回答文を次候補回答文とする。
【０１８３】
上記に続いて、会話サーバ１３から出力された回答文「生あくびや嘔吐はありますか？」に答えるユーザ発話が「はい」であった場合には、プラン会話処理部３２０は、プラン１４０２１４において次候補回答文として指定されている２つのプラン１４０２１３、１４０２１６のうち、このユーザ発話に対応するユーザ発話文字列１７０１１３を有するプラン１４０２１３の実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１３の有する回答文１５０１１３である「すぐに救急車を呼んでください！」という回答を出力させると共に、当該プラン１４０２１３の有する次プラン指定情報１５０２１３により、当該回答文が質問の終わりと認識し、プラン会話処理を終了する。
【０１８４】
一方、会話サーバ１３から出力された回答文「生あくびや嘔吐はありますか？」に答えるユーザ発話が「いいえ」であった場合には、プラン会話処理部３２０は、プラン１４０２１４において次候補回答文として指定されている２つのプラン１４０２１３、１４０２１６のうち、このユーザ発話に対応するユーザ発話文字列１７０１１５を有するプラン１４０２１５の実行を行う。すなわち、プラン会話処理部３２０は、当該プラン１４０２１５の有する回答文１５０１１５である「頭を打った直後に大声で泣き、やがて泣きやんだ後、機嫌良くしていたら、とりあえず大きな心配はないでしょう」という回答を出力させると共に、当該プラン１４０２１３の有する次プラン指定情報１５０２１３により、当該回答文が質問の終わりと認識し、プラン会話処理を終了する。
【０１８５】
図３０は、図２９に示すような、ユーザに質問を繰り返して行うことで、ユーザにある結論やアドバイスなどの情報にたどり着かせるための、一連の質問文を回答文として有するタイプのプランについて生じうる４つの基本制御状態を示す図である。以下、それぞれの状態について説明する。
【０１８６】
（１）目標達成
この基本制御状態は、シナリオと呼ぶタイプのプランの基本制御状態を示した図２３における「結束」に対応する状態である。ユーザ発話が実行中のプラン１４０２、より詳しくはプラン１４０２に対応する話題タイトル８２０や用例文１７０１に一致する場合である。この場合は、プラン会話処理部３２０は当該プラン１４０２を終了し、次プラン指定情報１５０２にて指定された回答文１５０１に対応するプラン１４０２に移行する。
【０１８７】
（２）破棄
この基本制御状態は、シナリオと呼ぶタイプのプランの基本制御状態を示した図２３における「破棄」と同様である。ユーザ発話内容がプラン１４０２の終了を要求していると判断される場合、又はユーザの関心が実行中のプラン以外の事項に移ったと判定される場合に、設定される基本制御状態である。基本制御状態情報が破棄を示している場合は、プラン会話処理部３２０は、破棄の対象となったプラン１４０２以外にユーザ発話に対応するプラン１４０２がないかどうかを検索し、存在する場合にはそのプラン１４０２の実行を開始し、存在しない場合には、プランの実行を終了する。
【０１８８】
（３）維持
この基本制御状態は、シナリオと呼ぶタイプのプランの基本制御状態を示した図２３における「維持」と同様である。すなわち、基本制御状態「維持」は、ユーザ発話が、実行中のプラン１４０２に対応するに対応する話題タイトル８２０（図１５参照）や用例文１７０１（図１９参照）に該当しない場合であって、かつユーザ発話が基本制御状態「破棄」に該当するものではないと判断される場合に、基本制御状態情報に記述される基本制御状態である。
【０１８９】
この基本制御状態である場合には、プラン会話処理部３２０は、ユーザ発話を受け付けると、まず保留・中止しているプラン１４０２を再開するか否かを検討し、ユーザ発話がプラン１４０２再開に適さない場合、例えばユーザ発話がプラン１４０２に対応する話題タイトル８０２や用例文１７０２に対応しない場合は、他のプラン１４０２の実行を開始し、或いは前述の談話空間会話制御処理（Ｓ１８０２）などを行う。ユーザ発話がプラン１４０２再開に適している場合は、記憶している次プラン指定情報１５０２に基づいて、回答文１５０１の出力を行う。
【０１９０】
基本制御状態が「維持」である場合は、プラン会話処理部３２０は、当該プラン１４０２に対応する回答文１５０１以外の回答を出力できるように、他のプラン１４０２を検索し、あるいは前述の談話空間会話制御処理などを行うが、ユーザ発話が再びプラン１４０２に関するものとなった場合は、そのプラン１４０２の実行を再開する。
【０１９１】
（４）催促
この基本制御状態は、シナリオと呼ぶタイプのプランの基本制御状態を示した図２３における「継続」に対応している。この基本制御状態は、ユーザ発話が、実行中のプラン１４０２に含まれる回答文１５０１に対応しない場合であって、かつユーザ発話内容が基本制御状態「破棄」に該当するものではないと判断され、かつユーザ発話から解釈されるユーザの意図が明瞭でない場合に、設定される基本制御状態である。
【０１９２】
基本制御状態が「催促」である場合は、プラン会話処理部３２０は、ユーザ発話を受け付けるとまず保留・中止しているプラン１４０２を再開するか否かを検討し、ユーザ発話がプラン１４０２再開に適さない場合は、ユーザからさらなる発話を引き出すための回答文を出力できるように、前述のＣＡ会話制御処理などを行う。
【０１９３】
図３１、図３２は、第３の形態にかかる会話サーバ３において、誘導談話と呼ぶタイプのプランを扱うプラン会話制御処理の一例を示すフローチャートである。図３１，３２に示す第３の態様にかかる会話サーバ１３において、誘導談話と呼ぶタイプのプランを扱うプラン会話制御処理は、Ｓ２５０２において「結束」が「目標達成」に変わっている点を除いて、図２１，２２に示した第１の態様におけるプラン会話制御処理と同様である。具体的には、図３１におけるＳ２５０１からＳ２５１０は、図２１におけるＳ１９０１からＳ１９１０とそれぞれ同様の処理であり、図３２におけるＳ２６０１からＳ２６０３は、図２２におけるＳ２００１からＳ２００３とそれぞれ同様の処理であるので、これらの詳細な説明は省略する。
【０１９４】
上記のような第３の態様にかかる会話サーバ１３によれば、ユーザに質問を繰り返して行うことで、ユーザにある結論やアドバイスなどの、予め準備した情報にたどり着かせるための会話を提供することが可能となる。
なお、上記では特に明記しなかったが、いずれの態様においても、会話サーバ１３は、回答文の出力に際しては、回答文とともにその回答文に応じた動作制御情報を出力する。
また、動作制御情報は、必ずしも会話サーバ１３により決定されなくとも良く、通信網１４に接続された他の装置（例えば利用者端末装置１０，或いは他のサーバ装置など）が決定する構成としても本実施の形態及び本発明は成立する。
【０１９５】
［２．会話制御システムの動作］
次に、上記の会話制御システム１の動作例を説明する。  
図３３は、会話制御システム１の動作例を示したシーケンス図である。
ここでは、利用者が利用者端末装置１０のブラウザ部２０５を起動させ、ＷＷＷサーバ１１に設けられたあるサイトを閲覧しようとしたものとする。利用者端末装置１０は、利用者によって指定されたサイトに相当するＷｅｂ文書を求めるリクエストメッセージをＷＷＷサーバ１１に宛てて送信する（Ｓ１０）。ＷＷＷサーバ１１はそのリクエストメッセージに応答して、求められたＷｅｂ文書のデータを利用者端末装置１０に宛てて送信する（Ｓ２０）。
【０１９６】
このＷｅｂ文書には、その構成要素として広告配信サーバ１２に設定された広告動画のＵＲＬが記述されている。利用者端末装置１０は、広告動画のＵＲＬに基づいて、広告表示領域５０４に相当するデータを求めるリクエストメッセージを広告配信サーバ１２に宛てて送信する（Ｓ３０）。広告配信サーバ１２はそのリクエストメッセージに応答して、求められたデータを利用者端末装置１０に宛てて送信する（Ｓ４０）。
利用者端末装置１０は、広告表示領域５０４を含む画面内容を出力部２４に表示させる（Ｓ５０）。その画面内容は、図５にて示したようになる。
【０１９７】
利用者は、広告表示領域に示される人物と会話を試みる場合、広告表示領域５０４に設けられた入力ボックス５０５に入力文を入力する（Ｓ６０）。入力文が入力され、所定の操作が行われると、利用者端末装置１０は入力文を会話サーバ１３に宛てて送信する（Ｓ７０）。入力文の送信は、この実施の形態では、回答文要求メッセージとして行われるものとするが、どのような送信方式であっても構わない。
【０１９８】
回答文要求メッセージを受信した会話サーバ１３は、入力文に応じた回答文を決定（Ｓ８０）するとともに、回答文に応じた動作制御情報を決定する（Ｓ９０）。次に、会話サーバ１３は決定した回答文及び動作制御情報を利用者端末装置１０に宛てて送信する（Ｓ１００）。
【０１９９】
利用者端末装置１０は回答文及び動作制御情報を受信する（Ｓ１１０）。回答文及び動作制御情報を受信した利用者端末装置１０は、回答文を出力部２０４に出力させる（Ｓ１２０）。例えば、回答文をテキストとして広告表示領域５０４に表示させるようにしてもよいし、新たなポップアップウインドウを広告表示領域５０４近傍に生成させ、そのポップアップウインドウ内に回答文であるテキストを表示させてもよい。或いは人工音声を生成させ、出力部１２０４であるスピーカから発生させるようにしてもよい。本発明において回答文の出力形態は特に制限はない。
【０２００】
回答文の出力（Ｓ１２０）を行う一方、利用者端末装置１０、より詳しくは会話制御部２０６は、受信した動作制御情報に基づいて実行すべき動作を決定し、決定した動作を実行（制御）する（Ｓ１３０）。例えば、受信した動作制御情報が「こんにちは、初めまして」というものである場合には、広告表示領域５０４内に、女性が「こんにちは、初めまして」と発話しながらお辞儀をする動画を表示させる動作が指定されている場合には、ブラウザ部２０５にこのような動画データを取得させ再生させる。なお、動画制御情報は、広告表示領域５０４内に表示される内容の制御に限定されないことは前述したとおりである。利用者端末装置１０が実行可能な動作であれば、どのようなものでも動作制御情報の対象とすることができる。例えば、現在表示しているＷｅｂサイトとは別のＷｅｂサイトをウインドウ５０１内に表示させる動作制御情報としてもよいし、新たなウインドウを生成し、そこに動作制御情報により指定されたＷｅｂサイトを表示させてもよい。
【０２０１】
また、動作制御情報は回答文の受信後、利用者端末装置１０において成立する条件に基づいて実行される内容でも良い。この場合、利用者端末装置１０は、条件成立の判定を行い（Ｓ１４０）、条件が成立した場合には、所定の動作制御情報を生成し、これを実行する（Ｓ１５０）。例えば、回答文の送信回数が所定数を超えた場合、広告主が利用者の訪問を期待するサイトに画面遷移させるようにしてもよい。
以上で、会話制御システムの動作例の説明を終了する。
［３．変形例］
利用者の入力を音声により行うように本会話制御システム１を変形しても、本発明は成立する。この変形例の場合には、利用者端末装置１０の入力部２０３を音声認識部とする。音声認識部は、音声信号に対応する文字列を特定しこれを入力文として出力する機能を有する構成要素である。
また、さらなる変形例としては、音声認識部を会話サーバ１３或いは通信網１４に接続されている別のサーバに設けて、利用者端末装置１０から音声信号を通信網１４を介して音声認識部に送信し、音声認識部が受信した音声信号に基づいて文字列を特定しこれを入力文として出力するようにしてもよい。
［３．本実施の形態の利点］
（１）本実施の形態によれば、出力される回答文は、従来のような１対１のパターンマッチングのようなものではなく、会話の文脈に応じた回答文を出力することができ、汎用性（どのような会話の流れにも対応可能である性質）を有している。
（２）さらには、本発明によれば、誘導会話や利用者からの入力が発生しない場合等における、利用者に対する入力の催促をも含んだ反応を演出することを可能とする。
なお、同等の会話処理を、パターンマッチングを用いて行う場合に比べて、本発明によれば、サーバのデータ量を遙かに軽減できる。
【図面の簡単な説明】
【０２０２】
【図１】会話制御システムの構成例を示すブロック図
【図２】利用者端末装置の構成例を示す機能ブロック図
【図３】会話制御部の構成例を示す機能ブロック図
【図４】会話データベースにおける回答文と動作制御情報とを示す図
【図５】利用者端末装置の出力部に表示される画面例を示す図
【図６】会話サーバの構成例を示す機能ブロック図
【図７】会話サーバの部分拡大ブロック図
【図８】文字列とこの文字列から抽出される形態素との関係を示す図
【図９】「発話文のタイプ」と、その発話文のタイプを表す二文字のアルファベット、及びその発話文のタイプに該当する発話文の例を示す図
【図１０】文のタイプとそのタイプを判定するための辞書の関係を示す図
【図１１】会話データベースが記憶するデータのデータ構成の一例を示す概念図
【図１２】ある話題特定情報と他の話題特定情報との関連付けを示す図
【図１３】話題タイトル（「第二形態素情報」ともいう）のデータ構成例を示す図
【図１４】回答文のデータ構成例を説明するための図
【図１５】ある話題特定情報に対応付けされた話題タイトル，回答文、次プラン指定情報の具体例を示す図
【図１６】プラン空間を説明するための概念図
【図１７】プランの例を示す図
【図１８】別のアクション列の例を示す図
【図１９】プラン会話処理の具体例を示す図
【図２０】サーバ側会話制御部のメイン処理の一例を示すフローチャート
【図２１】プラン会話制御処理の一例を示すフローチャート
【図２２】図２１に続く、プラン会話制御処理の一例を示すフローチャート
【図２３】基本制御状態を示す図
【図２４】談話空間会話制御処理の一例を示すフローチャート
【図２５】ＣＡ会話処理部の構成例を示す機能ブロック図
【図２６】ＣＡ会話処理の一例を示すフローチャート
【図２７】プラン会話処理の具体例を示す図
【図２８】プラン会話処理の、別の具体例を示す図
【図２９】第３の形態にかかる会話サーバでのプラン会話処理の具体例を示す図
【図３０】第３の形態にかかる会話サーバでの基本制御状態を示す図
【図３１】第３の形態にかかる会話サーバでのプラン会話制御処理の一例を示すフローチャート
【図３２】第３の形態にかかる会話サーバでの、図３１に続く、プラン会話制御処理の一例を示すフローチャート
【図３３】会話制御システムの動作例を示すシーケンス図
【符号の説明】
【０２０３】
１  会話制御システム
１０  利用者端末装置
１３  会話サーバ
２０６  会話制御部
３０１  入力受付部
３０２  回答制御部
【図１】
2010015266.tif 000003
【図２】
2010015266.tif 000004
【図３】
2010015266.tif 000005
【図４】
2010015266.tif 000006
【図５】
2010015266.tif 000007
【図６】
2010015266.tif 000008
【図７】
2010015266.tif 000009
【図８】
2010015266.tif 000010
【図９】
2010015266.tif 000011
【図１０】
2010015266.tif 000012
【図１１】
2010015266.tif 000013
【図１２】
2010015266.tif 000014
【図１３】
2010015266.tif 000015
【図１４】
2010015266.tif 000016
【図１５】
2010015266.tif 000017
【図１６】
2010015266.tif 000018
【図１７】
2010015266.tif 000019
【図１８】
2010015266.tif 000020
【図１９】
2010015266.tif 000021
【図２０】
2010015266.tif 000022
【図２１】
2010015266.tif 000023
【図２２】
2010015266.tif 000024
【図２３】
2010015266.tif 000025
【図２４】
2010015266.tif 000026
【図２５】
2010015266.tif 000027
【図２６】
2010015266.tif 000028
【図２７】
2010015266.tif 000029
【図２８】
2010015266.tif 000030
【図２９】
2010015266.tif 000031
【図３０】
2010015266.tif 000032
【図３１】
2010015266.tif 000033
【図３２】
2010015266.tif 000034
【図３３】
2010015266.tif 000035