(57)【特許請求の範囲】
【請求項１】
対話システムが行う第1の発話に対して行われる人の発話に対して対話システムが行う第2の発話を3個の発話が対応付けられた発話組に基づいて生成するために用いる3個の発話が対応付けられた発話組を取得するために取得システムが行う取得方法であって、
前記取得システムの記憶部には、2個の発話が対応付けられた発話組が複数個記憶されており、
前記取得システムの記憶部に記憶されたある発話組に含まれる連続する2個の発話である発話t(1)と発話t(2)を順に提示する提示ステップと、
前記発話t(2)の提示後に、人の発話である3番目の発話t(3)の入力を受け付ける発話受付ステップと、
前記発話t(1)と前記発話t(2)と前記発話t(3)とを対応付けたものを、3個の発話が対応付けられた発話組として前記取得システムの記憶部に記憶する記憶ステップとを含む、
取得方法。
【請求項２】
請求項１記載の取得方法であって、
前記発話t(2)と前記発話t(3)とを対応付けたものを、2個の発話が対応付けられた発話組として前記取得システムの記憶部に記憶する第2記憶ステップを更に含む、
取得方法。
【請求項３】
Nは3以上の整数の何れかとし、対話システムまたは／および人が行う１番目からN-2番目までの発話の後に行われるN-1番目の人の発話に対して対話システムが行うN番目の発話を、N個の発話が対応付けられた発話組に基づいて生成するために用いるN個の発話が対応付けられた発話組を取得するために取得システムが行う取得方法であって、
前記取得システムの記憶部には、N-1個の発話が対応付けられた発話組が記憶されており、
前記取得システムの記憶部に記憶されたある発話組に含まれる連続するN-1個の発話である発話t(1)から発話t(N-1)までを順に提示する提示ステップと、
N-1番目の発話である前記発話t(N-1)の提示後に、人の発話であるN番目の発話t(N)の入力を受け付ける発話受付ステップと、
pを1以上P以下の各整数とし、各pについてmpは2以上N以下の整数の何れかとし、各mpについて、発話t(N-mp+1)から前記発話t(N)までを対応付けたものを、mp個の発話が対応付けられた発話組として前記取得システムの記憶部に記憶する記憶ステップとを含む、
取得方法。
【請求項４】
請求項３記載の取得方法であって、
上記記憶ステップは、少なくともmp=Nである発話組を記憶する、
取得方法。
【請求項５】
人の発話に対して対話システムが行う発話を生成システムが生成する生成方法であって、
取得システムが提示した1番目の発話と、前記取得システムが提示した2番目の発話と、前記2番目の発話の提示後に行われた人ａの発話である3番目の発話とが、対応付けられた発話組が前記対話システムの記憶部に記憶されているものとし、
前記対話システムの記憶部に記憶されている発話t'(1)を提示する提示ステップと、
前記発話t'(1)の提示後に、人ｂの発話である2番目の発話t'(2)の入力を受け付ける発話受付ステップと、
前記対話システムの記憶部に記憶されている発話組のうち、1番目の発話と前記発話t'(1)とが同一または類似し、かつ、2番目の発話と前記発話t'(2)が同一または類似する発話組の3番目の発話を、前記発話t'(2)の後の前記対話システムの発話として生成する生成ステップとを含む、
生成方法。
【請求項６】
人の発話に対して対話システムが行う発話を生成システムが生成する生成方法であって、
Nを3以上の何れかの整数とし、人ａと取得システムとの間で行われた1番目の発話からN-1番目の発話までと、前記N-1番目の発話の後に行われた人ａの発話であるN番目の発話とが、対応付けられた発話組が前記対話システムの記憶部に記憶されているものとし、
mを2以上N未満の何れかの整数とし、人ｂの発話であるm番目の発話t'(m)の入力を受け付ける発話受付ステップと、
jを1以上N-m以下の整数の何れかとし、前記対話システムの記憶部に記憶に記憶されている発話組のうち、発話組に含まれるm個の連続する発話t(N-m+1-j)から発話t(N-j)が、前記人ｂと前記対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似する発話組の前記m個の連続する発話t(N-m+1-j)から発話t(N-j)に続く発話のうち、少なくとも発話t(N-j+1)を、前記発話t'(m)の後の前記対話システムの発話として生成する生成ステップとを含む、
生成方法。
【請求項７】
対話システムが行う第1の発話に対して行われる人の発話に対して対話システムが行う第2の発話を3個の発話が対応付けられた発話組に基づいて生成するために用いる3個の発話が対応付けられた発話組を取得する取得システムであって、
2個の発話が対応付けられた発話組が複数個記憶される記憶部と、
前記記憶部に記憶されたある発話組に含まれる連続する2個の発話である発話t(1)と発話t(2)を順に提示する提示部と、
前記発話t(2)の提示後に、人の発話である3番目の発話t(3)の入力を受け付ける発話受付部とを含み、
前記記憶部に前記発話t(1)と前記発話t(2)と前記発話t(3)とを対応付けたものを、3個の発話が対応付けられた発話組として記憶する、
取得システム。
【請求項８】
Nは3以上の整数の何れかとし、対話システムまたは／および人が行う１番目からN-2番目までの発話の後に行われるN-1番目の人の発話に対して対話システムが行うN番目の発話を、N個の発話が対応付けられた発話組に基づいて生成するために用いるN個の発話が対応付けられた発話組を取得する取得システムであって、
N-1個の発話が対応付けられた発話組が記憶される記憶部と、
前記取得システムの記憶部に記憶されたある発話組に含まれる連続するN-1個の発話である発話t(1)から発話t(N-1)までを順に提示する提示部と、
N-1番目の発話である前記発話t(N-1)の提示後に、人の発話であるN番目の発話t(N)の入力を受け付ける発話受付部とを含み、
pを1以上P以下の各整数とし、各pについてmpは2以上N以下の整数の何れかとし、前記記憶部には、各mpについて、発話t(N-mp+1)から前記発話t(N)までを対応付けたものを、mp個の発話が対応付けられた発話組として前記記憶部に記憶する、
取得システム。
【請求項９】
人の発話に対して対話システムが行う発話を生成する生成システムであって、
取得システムが提示した1番目の発話と、前記取得システムが提示した2番目の発話と、前記2番目の発話の提示後に行われた人ａの発話である3番目の発話とが、対応付けられた発話組が記憶される記憶部と、
前記対話システムの記憶部に記憶されている発話t'(1)を提示する提示部と、
前記発話t'(1)の提示後に、人ｂの発話である2番目の発話t'(2)の入力を受け付ける発話受付部と、
前記対話システムの記憶部に記憶されている発話組のうち、1番目の発話と前記発話t'(1)とが同一または類似し、かつ、2番目の発話と前記発話t'(2)が同一または類似する発話組の3番目の発話を、前記発話t'(2)の後の前記対話システムの発話として生成する生成部とを含む、
生成システム。
【請求項１０】
人の発話に対して対話システムが行う発話を生成する生成システムであって、
Nを3以上の何れかの整数とし、人ａと取得システムとの間で行われた1番目の発話からN-1番目の発話までと、前記N-1番目の発話の後に行われた人ａの発話であるN番目の発話とが、対応付けられた発話組が記憶されている記憶部と、
mを2以上N未満の何れかの整数とし、人ｂの発話であるm番目の発話t'(m)の入力を受け付ける発話受付部と、
jを1以上N-m以下の整数の何れかとし、前記対話システムの記憶部に記憶に記憶されている発話組のうち、発話組に含まれるm個の連続する発話t(N-m+1-j)から発話t(N-j)が、前記人ｂと前記対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似する発話組の前記m個の連続する発話t(N-m+1-j)から発話t(N-j)に続く発話のうち、少なくとも発話t(N-j+1)を、前記発話t'(m)の後の前記対話システムの発話として生成する生成部とを含む、
生成システム。
【請求項１１】
請求項７若しくは請求項８の取得システムとしてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項９若しくは請求項１０の生成システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人とコミュニケーションを行うロボットなどに適用可能な、コンピュータが人間と自然言語を用いて対話を行う技術に関する。
【背景技術】
【０００２】
近年、人とコミュニケーションを行うロボットの研究開発が進展しており、様々な現場で実用化されてきている。例えば、コミュニケーションセラピーの現場において、ロボットが孤独感を抱える人の話し相手となる利用形態がある。具体的には、老人介護施設においてロボットが入居者の傾聴役となることで、入居者の孤独感を癒す役割を担うことができると共に、ロボットとの会話している姿を見せ、入居者とその家族や介護士など周りの人々との会話のきっかけを作ることができる。また、例えば、コミュニケーション訓練の現場において、ロボットが練習相手となる利用形態がある。具体的には、外国語学習施設においてロボットが外国語学習者の練習相手となることで、外国語学習を効率的に進めることができる。また、例えば、情報提示システムとしての応用において、ロボット同士の対話を聞かせることを基本としながら、時折人に話しかけることで、退屈させずに人を対話に参加させ、人が受け入れやすい形で情報を提示することができる。具体的には、街中の待ち合わせ場所やバス停、駅のホームなどで人が時間を持て余している際や、自宅や教室などで対話に参加する余裕がある際に、ニュースや商品紹介、蘊蓄及び知識紹介、教育（例えば、子供の保育及び教育、大人への一般教養教授、モラル啓発など）など、効率的な情報提示が期待できる。さらに、例えば、情報収集システムとしての応用において、ロボットが人に話しかけながら情報を収集する利用形態がある。ロボットとのコミュニケーションにより対話感を保持できるため、人に聴取されているという圧迫感を与えずに情報収集することができる。具体的には、個人情報調査や市場調査、商品評価、推薦商品のための趣向調査などに応用することが想定されている。このように人とロボットのコミュニケーションは様々な応用が期待されており、ユーザとより自然に対話を行うロボットの実現が期待される。また、スマートフォンの普及により、LINE(登録商標)のように、複数ユーザでほぼリアルタイムにチャットを行うことにより、ユーザ間での会話を楽しむチャットサービスも実施されている。このチャットサービスにユーザとロボットとの会話の技術を適用すれば、チャット相手となるユーザがいなくても、ユーザとより自然に会話を行うチャットサービスの実現が可能となる。【０００３】
本明細書では、これらのサービスで用いられるロボットやチャット相手などのユーザの対話相手となるハードウェアやユーザの対話相手となるハードウェアとしてコンピュータを機能させるためのコンピュータソフトウェアなどを総称してエージェントと呼ぶこととする。エージェントは、ユーザの対話相手となるものであるため、ロボットやチャット相手などのように擬人化されていたり、人格化されていたり、性格や個性を有していたりするものであってもよい。【０００４】
これらのサービスの実現のキーとなるのは、ハードウェアやコンピュータソフトウェアにより実現されるエージェントが人間と自然に対話を行うことができる技術である。【０００５】
人の発話に対してエージェントの発話を適切に生成、又は、選択することは難しい課題である。人の発話に対してエージェントが行う発話を生成する従来技術としてルールベースによるものが研究され，実用化されている(非特許文献１参照)。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Weizenbaum, Joseph (January 1966), “ELIZA - A Computer Program For the Study of Natural Language Communication Between Man And Machine”, Communications of the ACM 9 (1), 1966, pp. 36-45.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１では、任意の話題が現れる雑談に対応するためには、莫大な量のルールを人手で記述する必要があり、膨大なコストがかかる。また、網羅性を確保するのが難しく、刻々と変化する時事の話題に対応するためには、常に人手でメンテナンスを行う必要があり、ランニングコストも高いという欠点がある。【０００８】
本発明は、ルール記述のコストを不要とする生成方法、その生成方法に用いるデータの取得方法、それらの装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の一態様によれば、取得方法は、対話システムが行う第1の発話に対して行われる人の発話に対して対話システムが行う第2の発話を3個の発話が対応付けられた発話組に基づいて生成するために用いる3個の発話が対応付けられた発話組を取得するために取得システムが行う方法である。取得方法は、取得システムの記憶部には、2個の発話が対応付けられた発話組が複数個記憶されており、取得システムの記憶部に記憶されたある発話組に含まれる連続する2個の発話である発話t(1)と発話t(2)を順に提示する提示ステップと、発話t(2)の提示後に、人の発話である3番目の発話t(3)の入力を受け付ける発話受付ステップと、発話t(1)と発話t(2)と発話t(3)とを対応付けたものを、3個の発話が対応付けられた発話組として取得システムの記憶部に記憶する記憶ステップとを含む。【００１０】
上記の課題を解決するために、本発明の他の態様によれば、取得方法は、Nは3以上の整数の何れかとし、対話システムまたは／および人が行う１番目からN-2番目までの発話の後に行われるN-1番目の人の発話に対して対話システムが行うN番目の発話を、N個の発話が対応付けられた発話組に基づいて生成するために用いるN個の発話が対応付けられた発話組を取得するために取得システムが行う方法である。取得方法は、取得システムの記憶部には、N-1個の発話が対応付けられた発話組が記憶されており、取得システムの記憶部に記憶されたある発話組に含まれる連続するN-1個の発話である発話t(1)から発話t(N-1)までを順に提示する提示ステップと、N-1番目の発話である発話t(N-1)の提示後に、人の発話であるN番目の発話t(N)の入力を受け付ける発話受付ステップと、pを1以上P以下の各整数とし、各pについてmpは2以上N以下の整数の何れかとし、各mpについて、発話t(N-mp+1)から発話t(N)までを対応付けたものを、mp個の発話が対応付けられた発話組として取得システムの記憶部に記憶する記憶ステップとを含む。【００１１】
上記の課題を解決するために、本発明の他の態様によれば、生成方法は、人の発話に対して対話システムが行う発話を生成システムが生成する方法である。生成方法は、取得システムが提示した1番目の発話と、取得システムが提示した2番目の発話と、2番目の発話の提示後に行われた人ａの発話である3番目の発話とが、対応付けられた発話組が対話システムの記憶部に記憶されているものとし、対話システムの記憶部に記憶されている発話t'(1)を提示する提示ステップと、発話t'(1)の提示後に、人ｂの発話である2番目の発話t'(2)の入力を受け付ける発話受付ステップと、対話システムの記憶部に記憶されている発話組のうち、1番目の発話と発話t'(1)とが同一または類似し、かつ、2番目の発話と発話t'(2)が同一または類似する発話組の3番目の発話を、発話t'(2)の後の対話システムの発話として生成する生成ステップとを含む。【００１２】
上記の課題を解決するために、本発明の他の態様によれば、生成方法は、人の発話に対して対話システムが行う発話を生成システムが生成する方法である。生成方法は、Nを3以上の何れかの整数とし、人ａと取得システムとの間で行われた1番目の発話からN-1番目の発話までと、N-1番目の発話の後に行われた人ａの発話であるN番目の発話とが、対応付けられた発話組が対話システムの記憶部に記憶されているものとし、mを2以上N未満の何れかの整数とし、人ｂの発話であるm番目の発話t'(m)の入力を受け付ける発話受付ステップと、jを1以上N-m以下の整数の何れかとし、対話システムの記憶部に記憶に記憶されている発話組のうち、発話組に含まれるm個の連続する発話t(N-m+1-j)から発話t(N-j)が、人ｂと対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似する発話組のm個の連続する発話t(N-m+1-j)から発話t(N-j)に続く発話のうち、少なくとも発話t(N-j+1)を、発話t'(m)の後の対話システムの発話として生成する生成ステップとを含む。【００１３】
上記の課題を解決するために、本発明の他の態様によれば、取得システムは、対話システムが行う第1の発話に対して行われる人の発話に対して対話システムが行う第2の発話を3個の発話が対応付けられた発話組に基づいて生成するために用いる3個の発話が対応付けられた発話組を取得する。取得システムは、2個の発話が対応付けられた発話組が複数個記憶される記憶部と、記憶部に記憶されたある発話組に含まれる連続する2個の発話である発話t(1)と発話t(2)を順に提示する提示部と、発話t(2)の提示後に、人の発話である3番目の発話t(3)の入力を受け付ける発話受付部とを含み、記憶部に発話t(1)と発話t(2)と発話t(3)とを対応付けたものを、3個の発話が対応付けられた発話組として記憶する。【００１４】
上記の課題を解決するために、本発明の他の態様によれば、取得システムは、Nは3以上の整数の何れかとし、対話システムまたは／および人が行う１番目からN-2番目までの発話の後に行われるN-1番目の人の発話に対して対話システムが行うN番目の発話を、N個の発話が対応付けられた発話組に基づいて生成するために用いるN個の発話が対応付けられた発話組を取得する。取得システムは、N-1個の発話が対応付けられた発話組が記憶される記憶部と、取得システムの記憶部に記憶されたある発話組に含まれる連続するN-1個の発話である発話t(1)から発話t(N-1)までを順に提示する提示部と、N-1番目の発話である発話t(N-1)の提示後に、人の発話であるN番目の発話t(N)の入力を受け付ける発話受付部とを含み、pを1以上P以下の各整数とし、各pについてmpは2以上N以下の整数の何れかとし、記憶部には、各mpについて、発話t(N-mp+1)から発話t(N)までを対応付けたものを、mp個の発話が対応付けられた発話組として記憶部に記憶する。【００１５】
上記の課題を解決するために、本発明の他の態様によれば、生成システムは、人の発話に対して対話システムが行う発話を生成する。生成システムは、取得システムが提示した1番目の発話と、取得システムが提示した2番目の発話と、2番目の発話の提示後に行われた人ａの発話である3番目の発話とが、対応付けられた発話組が記憶される記憶部と、対話システムの記憶部に記憶されている発話t'(1)を提示する提示部と、発話t'(1)の提示後に、人ｂの発話である2番目の発話t'(2)の入力を受け付ける発話受付部と、対話システムの記憶部に記憶されている発話組のうち、1番目の発話と発話t'(1)とが同一または類似し、かつ、2番目の発話と発話t'(2)が同一または類似する発話組の3番目の発話を、発話t'(2)の後の対話システムの発話として生成する生成部とを含む。【００１６】
上記の課題を解決するために、本発明の他の態様によれば、生成システムは、人の発話に対して対話システムが行う発話を生成する。生成システムは、Nを3以上の何れかの整数とし、人ａと取得システムとの間で行われた1番目の発話からN-1番目の発話までと、N-1番目の発話の後に行われた人ａの発話であるN番目の発話とが、対応付けられた発話組が記憶されている記憶部と、mを2以上N未満の何れかの整数とし、人ｂの発話であるm番目の発話t'(m)の入力を受け付ける発話受付部と、jを1以上N-m以下の整数の何れかとし、対話システムの記憶部に記憶に記憶されている発話組のうち、発話組に含まれるm個の連続する発話t(N-m+1-j)から発話t(N-j)が、人ｂと対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似する発話組のm個の連続する発話t(N-m+1-j)から発話t(N-j)に続く発話のうち、少なくとも発話t(N-j+1)を、発話t'(m)の後の対話システムの発話として生成する生成部とを含む。
【発明の効果】
【００１７】
本発明によれば、ルール記述のコストを不要とすることができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】第一実施形態に係る対話システムの機能ブロック図。
【図２】第一実施形態に係る対話システムのデータ取得時の処理フローの例を示す図。
【図３】第一実施形態に係る対話システムの発話生成時の処理フローの例を示す図。
【図４】第一実施形態に係る対話システムのデータ取得時に記憶部に記憶されるデータの例を示す図。
【図５】第一実施形態に係る対話システムの発話生成時の処理を説明するための図。
【図６】第一実施形態に係る対話システムの提示部、入力部の変形例を示す図。
【図７】第二実施形態に係る対話システムのデータ取得時の処理フローの例を示す図。
【図８】第二実施形態に係る対話システムの発話生成時の処理フローの例を示す図。
【図９】第二実施形態に係る対話システムのデータ取得時に記憶部に記憶されるデータの例を示す図。
【図１０】第二実施形態の変形例２に係る対話システムの発話生成時の処理を説明するための図。
【図１１】第二実施形態の変形例３に係る対話システムの発話生成時の処理を説明するための図。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００２０】
＜第一実施形態のポイント＞
人が対話システムと対話を行うときには、人はシステムの発話レベルや内容に合わせた発話を行う傾向がある。そのため、人が対話システムに向けて行った発話は、その後、その対話システムの発話として採用するのに適している発話だと言える。本実施形態では、この傾向を利用して、ロボットＲ１とロボットＲ２を含む対話システムと人の対話の中で、ロボットＲ１、ロボットＲ２、人ａの順で発話されたものを、3つ組発話としてデータベース（以下DBともいう）に追加することで、対話システムを発話組の取得システムとして機能させる。
【００２１】
また、本実施形態では、ロボットＲ１とロボットＲ２を含む対話システムと人の対話におけるロボットの発話を、以下の機能で生成することで、対話システムを発話の生成システムとして機能させる。ロボットの発話を生成する機能は、具体的には、まず、DBに入っているある3つ組発話の先頭（1つ目)の発話t'(1)をロボットＲ１が行い、ロボットＲ１の発話の次に人ｂ(人ｂは、人ａと同一人物でもよいし、異なる人物でもよい)が行った発話t'(2)を受け付ける。対話システムは、DBに記憶されている3つ組発話のうち、DBに記憶されている3つ組発話の1番目の発話と発話t'(1)とが同一または類似し、かつ、DBに記憶されている3つ組発話の2番目の発話と発話t'(2)が同一または類似する3つ組発話を検索する。対話システムは、該当する3つ組発話が存在する場合には、その3つ組発話の最後の発話（DBに記憶されている3番目の発話。DBに追加した3つ組発話の人ａの発話など）をロボットＲ２が行う。
【００２２】
以下に二つの具体例を示す。以下の具体例は、発話t(1)、発話t(2)、・・・の順、発話t'(1)、発話t'(2)、・・・の順、に発話されているものとする。
具体例(1)：
・発話取得システムとして機能させる時
発話t(1):ロボットＲ１:こんにちは
発話t(2):ロボットＲ２:こんにちは
発話t(3):人ａ:今日はいい天気だね
・発話生成システムとして機能させる時
発話t'(1):ロボットＲ１:こんにちは
発話t'(2):人ｂ:こんにちは
発話t'(3):ロボットＲ２:今日はいい天気だね
【００２３】
具体例(2)：
・発話取得システムとして機能させる時
発話t(1):ロボットＲ１:今夜何が食べたい？
発話t(2):ロボットＲ２:焼きそば
発話t(3):人ａ:おお！焼きそばいいね！私も食べたい！
・発話生成システムとして機能させる時
発話t'(1):ロボットＲ１:今夜何が食べたい？
発話t'(2):人ｂ:焼きそばがいいなあー(DBに入っている発話とまったく同じでなくてもよい)
発話t'(3):ロボットＲ２: おお！焼きそばいいね！私も食べたい！
対話システムをこのように機能させることで、ルール記述のコストをなくすことができる。
【００２４】
なお、twitter(登録商標)などで大量に人の発言を収集し、それを元に発話を生成する手法がある(参考文献１参照)。
(参考文献１)Ritter, A., Cherry, C., and Dolan, B. "Unsupervised Modeling of Twitter Conversations", in Proc. HLT-NAACL, 2010, pp.172-180
【００２５】
このような手法は、様々な話題について人手を要さずに発話を生成することができ、ルールベース型の対話システムと比較してコストは低い。しかしながら、人手でチェックされていないために、不適切な応答が生成され得るという欠点がある。また、不特定多数の人の発話を一つのDBとして収集するため、対話システムとしてキャラクタの一貫性を保つことが難しく、適切な発話(返答)を生成することができないことが多いという問題がある。また、twitter上以外のやりとりを前提とする対話も多く含まれており、その文脈を共有しない状況での発話には不適切なものも多く含まれるという問題もある。本実施形態であれば、DBへの発話の取得時に一人の人物に絞ることでキャラクタの一貫性を保つことができる。DBへの発話の取得時の人ａとDBを用いた発話の生成時の人ｂとを同一人物とすると、自分の言い回しと同一または類似した言い回しで対話システムが返答するため(言い換えると、少なくとも自分が使わないような言い回しで対話システムが返答することがないため)、対話システム発話(返答)に対して人が感じる違和感は、従来の手法より低減する。なお、参考文献１において、収集時の対象となる人物を一人に絞ることで、キャラクタの一貫性を保つことはできる。しかし、参考文献１では、投稿(ツイート)を対象としているため、発話生成時に選択できる発話として不適切なものが大量に含まれる。一方、本実施形態の場合には、DBに記憶される発話は人と対話システムとの対話に基づくため、対話システムによる発話生成時に選択できる発話として適切なものが多くDBに含まれているため、効率がよい。なお、本実施形態において、対話システムを発話組の取得システムとして機能させる際に、対話システムと対話する人を必ずしも一人の人物に絞らずに、対話システムと対話する人を複数人としてもよい。その場合には、取得されDBに記憶される発話組においてキャラクタの一貫性を保つことが難しい。しかし、ルール記述のコストを不要とし、発話生成時に選択できる発話として適切なものがDBに多く含まれるようにでき、効率がよいという点は変わらない。
【００２６】
＜第一実施形態＞
図１は第一実施形態に係る対話システム１００の機能ブロック図を、図２はデータ取得時の処理フローを、図３は発話作成時の処理フローを示す。
【００２７】
対話システム１００は、ロボットＲ１、Ｒ２と、対話装置１９０と、を含む。対話装置１９０は、音声合成部１１０と、発話決定部１２０と、記憶部１３０と、音声認識部１４０と、発話記憶処理部１５０とを含む。ロボットＲ１は再生部１０１−１と収音部１０２−１とを含み、ロボットＲ２は再生部１０１−２と収音部１０２−２とを含む。再生部１０１−１、１０１−２は例えばスピーカからなり、収音部１０２−１、１０２−２は例えばマイクロホンからなる。
【００２８】
対話システム１００は、人の発話に対して対話システム１００が行う発話を生成する発話生成システムとして機能する。また、対話システム１００は、対話システム１００を発話生成システムとして機能させるために必要なデータを取得する発話取得システムとして機能する。以下、対話システム１００の動作を説明する。
【００２９】
＜データ取得時（対話システム１００を発話取得システムとして機能させるとき）＞
記憶部１３０には、ある対話における二つの発話の組合せ(以下「2つ組発話」ともいう)が予め記憶されている。2つ組発話は、2個の発話が対応付けられた発話組とも言う。なお、本実施形態では、2つ組発話は、テキスト形式で、すなわちテキストデータで、記憶されているものとする。ここでは、「予め記憶されている」とは、データ取得時に先立って記憶されていることを意味する。図４は、記憶部１３０に記憶されるデータの例を示す。1番目の発話tx(1)から(N-1)番目の発話tx(N-1)までの（N-1）組発話(本実施形態ではN=3)がX個、記憶部１３０に予め記憶されている。すなわち、1番目の発話tx(1)から(N-1)番目の発話tx(N-1)までの（N-1）個の発話による組がX組、記憶部１３０に予め記憶されている。そして、記憶部１３０は、対話システム１００が順次発話した発話tx(1)〜tx(N-1)に対して、人が発話したN番目の発話tx(N)の発話を取得し、発話tx(1)〜tx(N-1)と取得した発話tx(N)とのN個の発話を組にしたN組発話を記憶する。なお、下付き添え字xはN組発話を示すインデックスであり、x=1,2,…,Xである。
【００３０】
発話決定部１２０は、記憶部１３０に記憶されている複数の2つ組発話の中から1つの2つ組発話を決定し（Ｓ１）、決定した2つ組発話に対応するテキストデータを音声合成部１１０に出力する。
【００３１】
音声合成部１１０は、2つ組発話t(1)〜t(2)に含まれる１番目の発話t(1)に対応するテキストデータに対して音声合成を行い（Ｓ２−１）、合成音声データをロボットＲ１の再生部１０１−１に出力する。さらに、音声合成部１１０は、2つ組発話t(1)〜t(2)に含まれる２番目の発話t(2)に対応するテキストデータに対して音声合成を行い（Ｓ２−２）、合成音声データをロボットＲ２の再生部１０１−２に出力する。
【００３２】
各再生部は、発話の順番に従って合成音声データに対応する音声を再生する、すなわち、発話の順番に従って発話を提示する。なお、対話システム１００が生成した発話を人に提示するという意味で、再生部のことを提示部ともいう。例えば、再生部１０１−１は、1番目の発話t(1)を提示する（Ｓ３−１）。再生部１０１−２は、発話t(1)の提示後に、2番目の発話t(2)を提示する（Ｓ３−２）。Ｓ３−１，Ｓ３−２では記憶部１３０に記憶されたある発話組に含まれる連続する2つの発話である発話t(1)と発話t(2)を順に提示している。
【００３３】
収音部は、発話t(2)の提示後に人ａが発話した発話t(3)の入力を受け付ける、すなわち、発話t(2)の提示後に、人ａが発話した発話t(3)の発話音声を収音する（Ｓ４）。収音部は、収音された音声データを音声認識部１４０に出力する。なお、人ａの発話t(3)は、収音部１０２−１、１０２−２の少なくとも何れかにおいて収音される。収音部は人ａが発話した発話音声を収音可能とすればよいので、収音部１０２−１、１０２−２の何れか一方を備えないでもよい。また、人ａの近傍などの、ロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを収音部１０２とし、収音部１０２−１、１０２−２の双方を備えない構成としてもよい。なお、収音部のことを人から対話システム１００に情報が入力される部分という意味で入力部ともいう。
【００３４】
音声認識部１４０は、収音された音声データに対して音声認識を行い（Ｓ５）、音声認識結果を発話t(3)のテキストデータとして発話記憶処理部１５０に出力する。
【００３５】
発話記憶処理部１５０は、発話t(3)のテキストデータを受け取り、発話決定部１２０で決定された2つ組発話である発話t(1)、t(2)のテキストデータと、音声認識部１４０が出力した発話t(3)のテキストデータと、を対応付けて、3個の発話が対応付けられた発話組である3つ組発話t(1)〜t(3)として記憶部１３０に記憶する（Ｓ６）。
【００３６】
対話システム１００は、以上の処理Ｓ１〜Ｓ６を所定の個数(本実施形態ではX個)の3つ組発話を取得するまで繰り返す（Ｓ７）。なお、1つの2つ組発話に対して1つの3つ組発話を取得してもよいし、1つの2つ組発話に対して2つ以上の3つ組発話(発話t(1)及び発話t(2)が同じであり、発話t(3)が異なる3つ組発話)を取得してもよい。
【００３７】
なお、上述の実施形態では発話tx(1)〜tx(N-1)を対話システムが発話している。しかし、本発明では発話tx(1)〜tx(N-1)に対して人が発話するN番目の発話tx(N)は適切なものである可能性が高いという特徴を利用すればよい。そのため、上述の実施形態のように発話tx(1)〜tx(N-1)を必ずしも対話システムが発話する必要はない。tx(1)〜tx(N-1)の何れかの発話を人が発話する形態としてもよい。ただし、発話tx(1)〜tx(N-1)には必ず1つ以上の対話システムの発話が含まれる必要がある。これは、人が対話システムと対話を行うときには、人は対話システムの発話レベルや内容に合わせた発話を行うという傾向を利用するためである。
【００３８】
＜発話生成時（対話システム１００を発話生成システムとして機能させるとき）＞
記憶部１３０には、対話システム１００を発話取得システムとして機能させて取得した3つ組発話、すなわち、対話システム１００に上述の＜データ取得時（対話システム１００を発話取得システムとして機能させるとき）＞で説明した動作をさせて取得した3つ組発話、が予め所定の個数記憶されている。記憶部１３０に記憶されている3つ組発話は、対話システム１００を発話取得システムとして機能させた際に対話システム１００が提示した1番目の発話と、対話システム１００が提示した2番目の発話と、2番目の発話の提示後に行われた人ａの発話である3番目の発話とが、対応付けられた発話組である。なお、本実施形態では、3つ組発話は、テキスト形式で、すなわちテキストデータで、記憶されているものとする。ここでは、「予め記憶されている」とは、発話生成時に先立って記憶されていることを意味する。
【００３９】
発話決定部１２０は、記憶部１３０に記憶されている所定の個数の3つ組発話の中から1つの3つ組発話を決定する（Ｓ１１）。発話決定部１２０は、決定した3つ組発話に含まれる1番目の発話に対応するテキストデータを音声合成部１１０に出力する。ここで、１番目の発話を発話t'(1)とする。
【００４０】
音声合成部１１０は、発話決定部１２０が出力した発話t'(1)に対応するテキストデータに対して音声合成を行い（Ｓ１２）、合成音声データをロボットＲ１の再生部１０１−１に出力する。
【００４１】
再生部１０１−１は、発話t'(1)の合成音声データに対応する音声を再生する、すなわち、発話t'(1)を提示する（Ｓ１３）。
【００４２】
収音部は、発話t'(1)の提示後に人ｂ（対話システム１００と対話を行う利用者ｂ）が発話した発話t'(2)の入力を受け付ける、すなわち、発話t'(1)の提示後に、人ｂが発話した発話t'(2)の発話音声を収音する（Ｓ１４）。収音部は、収音された音声データを音声認識部１４０に出力する。なお、人ｂの発話t'(2)は、収音部１０２−１、１０２−２の少なくとも何れかにおいて収音され、音声認識部１４０に出力される。収音部は人ｂが発話した発話音声を収音可能とすればよいので、収音部１０２−１、１０２−２の何れか一方を備えないでもよい。また、人ｂの近傍などの、ロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを収音部１０２とし、収音部１０２−１、１０２−２の双方を備えない構成としてもよい。
【００４３】
音声認識部１４０は、収音された音声データに対して音声認識を行い（Ｓ１５）、音声認識結果を発話t'(2)のテキストデータとして発話決定部１２０に出力する。
【００４４】
発話決定部１２０は、発話t'(2)のテキストデータを受け取り、記憶部１３０に記憶されている複数組の3つ組発話の中から、発話t(1)と発話t'(1)とが同一または類似し、かつ、発話t(2)と発話t'(2)とが同一または類似する3つ組発話t(1)〜t(3)を検索する。すなわち、発話決定部１２０は、記憶部１３０に記憶されている3つ組発話中の第１の発話のテキストデータと人ｂの発話の直前に対話システム１００が提示した発話のテキストデータとが同一または類似し、かつ、記憶部１３０に記憶されている当該3つ組発話中の第２の発話のテキストデータと人ｂの発話のテキストデータとが同一または類似する3つ組発話を検索する（Ｓ１６）。発話決定部１２０は、例えば、発話t(2)と発話t'(2)そのものや発話文中の単語を利用して、(a)word2vecを利用した話題語間の距離、(b)文全体の単語をword2vecにかけて平均を取った場合の文間距離、(c)単語のcos類似度などを求め、距離が所定の値以内の場合またはcos類似度が所定の値以上の場合(要は、二つの発話が同一または類似することを所定の指標が示している場合)、同一または類似と判定する。発話t(1)と発話t'(1)についても同様に判定する。発話t(1)と発話t'(1)、及び、発話t(2)と発話t'(2)、がそれぞれ同一または類似する3つ組発話が存在する場合、発話決定部１２０は、その3つ組発話の3番目の発話t(3)と同一または類似する発話のテキストデータを、発話t'(2)の後の対話システム１００が提示する発話t'(3)のテキストデータとして生成し（Ｓ１７）、音声合成部１１０に出力する。例えば、発話決定部１２０は、図５に示すように、発話t'(1)〜t'(N-1)を含むクエリを生成し(本実施形態ではN=3)、記憶部１３０に記憶されているX個のN組発話tx(1)〜tx(N)にそれぞれ対応する(N-1)組発話tx(1)〜tx(N-1)の中から、発話t'(1)〜t'(N-1)と発話tx(1)〜tx(N-1)とがそれぞれ同一または類似する(すなわち、q=1,2,…,N-1の全てにおいて発話t'(q)と発話tx(q)とが同一または類似する)発話ty(1)〜ty(N-1)を検索する。ただし、yは1,2,…,Xの何れかである。発話決定部１２０は、同一または類似する発話ty(1)〜ty(N-1)のN番目の発話ty(N)と同一または類似する発話を対話システム１００の発話t'(N)として生成する。N番目の発話t(N)と同一または類似する発話のテキストデータを生成する方法としては、例えば、N番目の発話t(N)の、(A)語尾を変化させる、(B)内容語(名詞・形容詞・動詞・副詞のように実質的な内容を表すことば)を言い換える（同義で単語難易度を変更する，類義語で言い換える、等）、(C)一部省略する、等の方法を利用して、発話決定部１２０は、発話t(N)に類似する発話t'(N)を生成する。
【００４５】
なお、記憶部１３０に記憶されている3つ組発話の中に、発話t'(1)及び発話t'(2)とそれぞれ類似する発話t(1)及び発話t(2)を含む3つ組発話が存在しない場合に、発話決定部１２０が行う処理について特に決まりはない。例えば、発話決定部１２０が、会話の流れを崩さないような発話、例えば、相槌や確認等を意味する発話（新しい内容を含まない発話）を生成するようにしてもよい。新しい内容を含まない発話とは、例えば、一連の会話の流れの中で、直前の数発話に含まれない内容語を含まない発話、言い換えると、内容語としては直前の数発話に含まれるものしか含まない発話、例えば「そっかー、○×△なんだ〜。」等の確認を意味する発話（ただし○×△は発話t(2)からの引用）などである。もちろん、新しい内容を含まない発話に含まれる各内容語は、直前の数発話に含まれる内容語と完全に一致している必要はなく、同義関係にある内容語であってもよい。
【００４６】
記憶部１３０に記憶されてい3つ組発話の中に、発話t(1)と発話t'(1)とが同一または類似し、かつ、発話t(2)と発話t'(2)とが同一または類似する3つ組発話が複数個存在する場合があり得る。その場合、発話決定部１２０は、適宜一つの3つ組発話を選択すればよい。例えば、発話決定部１２０は、より類似度の高い3つ組発話を選択してもよいし、ランダムに選択してもよいし、類似度を重みとしてランダムに選択してもよい。
【００４７】
音声合成部１１０は、発話決定部１２０から入力された発話t'(3)のテキストデータに対して音声合成を行い（Ｓ１８）、合成音声データを得て、得られた合成音声データをロボットＲ１の再生部１０１−１に出力する。
【００４８】
ロボットＲ１の再生部１０１−１は、音声合成部１１０から入力された発話t'(3)の合成音声データに対応する音声を再生する、すなわち、発話t'(3)を提示する（Ｓ１９）。
【００４９】
＜効果＞
以上の構成により、対話システム１００を発話生成システムとして機能させるために必要なデータを取得する発話取得システムとして対話システム１００を機能させた時にはルール記述のコストを不要とすることができる。また、人の発話に対して対話システム１００が行う発話を生成する発話生成システムとして対話システム１００を機能させた時にはルールを定めずに取得したデータから違和感の少ない発話を生成することができる。上述の通り、人の発話に対して対話システムの発話を適切に生成、又は、選択することは難しい課題である。しかし、本実施形態では、発話t(3)は発話t(1),t(2)を受けて行われた人ａの発話なので、発話t(3)と同一または類似する発話t'(3)は、少なくとも人ａにとって不自然な発話ではないと考えられる。また、発話t(3)は人と対話システムとの対話の流れの中で発話t(1),t(2)を受けて取得されるものであることから、人の発話に対して対話システムが行う発話を生成する時において、1番目の発話t'(1)と2番目の発話t'(2)とを用いて人と対話システムとの対話の流れを確定し、その流れに沿った3番目の発話t'(3)を生成することができる。そのため、3番目の発話t'(3)として、対話の流れを無視した不自然な発話を選択する可能性を低減している。
【００５０】
＜変形例１＞
本実施形態では、記憶部１３０にテキストデータのみを記憶していたが、テキストデータとそのテキストデータに対応する音声データとの組合せを記憶しておき、発話決定部１２０が決定した発話のテキストデータに対応する音声データを再生部１０１が再生する構成としてもよい。この場合には、音声合成部１１０を省略できる。
【００５１】
＜変形例２＞
第一実施形態の対話システムは、２台のロボットが協調して人との対話を行う情報処理装置であったが、１台のロボットが人との対話を行う情報処理装置であってもよいし、3台以上のロボットが人との対話を行う情報処理装置であってもよい。例えば、Ｓ１３の発話t'(1)の提示、Ｓ１４の人の発話t'(2)（返答）に基づいて対話システムが生成（Ｓ１７）した発話t'(3)の提示（Ｓ１９）を同じ１台のロボットが行うようにしてもよい。この場合は、例えば、Ｓ１９以降の人との対話は、複数台のロボットで協調して行ってもよいし、Ｓ１９までと同じ１つのロボットが行ってもよい。なお、ロボットが1台の場合には、ロボットが続けて発話していると、不自然だが、その部分を独り言のように設定したり、自分の発話に自分で応じる演技のように設定すればよい。また、どのロボットが対話しているのかを判別できれば、再生部（提示部）や入力部の個数は、１つでもよいし、２つ以上であってもよい。
【００５２】
＜変形例３＞
本実施形態では、対話システム１００がデータ取得処理と発話生成処理と、すなわち、発話取得システムとしての機能と発話生成システムとしての機能の双方、を行っている。しかし、それぞれの機能を別々の装置で構成してもよい。また、対話システム１００が、発話取得システムとしての機能と発話生成システムとしての機能の何れかのみの機能を有するように構成してもよい。その場合、発話取得システムとして機能させるシステムや装置が取得して記憶部１３０に記憶したデータを、発話生成システムとして機能させるシステムや装置の記憶部１３０に記憶すればよい。なお、対話システム１００や対話装置１９０を発話生成システムとして機能させる場合には、発話記憶処理部１５０を備えないでよい。上述の対話システムのうち、対話システムが行う第1の発話に対して行われる人の発話に対して対話システムが行う第2の発話を3個の発話が対応付けられた発話組に基づいて生成するために用いる3個の発話が対応付けられた発話組を取得するために用いられる部分を取得システムともいう。また、上述の対話システムのうち、人の発話に対して対話システム１００が行う発話を生成する部分を生成システムともいう。
【００５３】
＜変形例４＞
上述した実施形態では、エージェントとしてロボットを用いて音声による対話を行う例を説明したが、上述した実施形態のロボットは身体等を有する人型ロボットであっても、身体等を有さないロボットであってもよい。また、この発明の対話技術はこれらに限定されず、ロボットのように身体等の実体がなく、発声機構を備えないエージェントを用いて対話を行う形態とすることも可能である。そのような形態としては、例えば、コンピュータの画面上に表示されたエージェントを用いて対話を行う形態が挙げられる。より具体的には、「LINE」や「２ちゃんねる（登録商標）」のような、複数アカウントがテキストメッセージにより対話を行うグループチャットにおいて、ユーザのアカウントと対話装置のアカウントとが対話を行う形態に本対話システムを適用することも可能である。この形態では、エージェントを表示する画面を有するコンピュータは人の近傍にある必要があるが、当該コンピュータと対話装置とはインターネットなどのネットワークを介して接続されていてもよい。つまり、本対話システムは、人とロボットなどの話者同士が実際に向かい合って話す対話だけではなく、話者同士がネットワークを介してコミュニケーションを行う会話にも適用可能である。
【００５４】
変形例の対話システム１００は、図６に示すように、入力部１０２、発話記憶処理部１５０、記憶部１３０、発話決定部１２０、および提示部１０１を備える。図６の例では、変形例の対話システム１００は１台の対話装置１９０からなり、変形例の対話装置１９０は、入力部１０２、発話記憶処理部１５０、記憶部１３０、発話決定部１２０、および提示部１０１を備える。
【００５５】
変形例の対話装置は、例えば、スマートフォンやタブレットのようなモバイル端末、もしくはデスクトップ型やラップトップ型のパーソナルコンピュータなどの情報処理装置である。以下、対話装置がスマートフォンであるものとして説明する。提示部１０１はスマートフォンが備える液晶ディスプレイである。この液晶ディスプレイにはチャットアプリケーションのウィンドウが表示され、ウィンドウ内にはグループチャットの対話内容が時系列に表示される。グループチャットとは、チャットにおいて複数のアカウントが互いにテキストメッセージを投稿し合い対話を展開する機能である。このグループチャットには、対話装置が制御する仮想的な人格に対応する複数の仮想アカウントと、ユーザのアカウントとが参加しているものとする。すなわち、本変形例は、エージェントが、対話装置であるスマートフォンの液晶ディスプレイに表示された仮想アカウントである場合の一例である。ユーザはソフトウェアキーボードを用いて入力部１０２へ発話内容を入力し、自らのアカウントを通じてグループチャットへ投稿することができる。発話決定部１２０は、本実施形態で説明した何れかの機能に従って、対話装置が行う発話内容を決定し、各仮想アカウントを通じてグループチャットへ投稿する。なお、スマートフォンに搭載されたマイクロホンと音声認識機能を用い、ユーザが発声により入力部１０２へ発話内容を入力する構成としてもよい。スマートフォンに搭載されたタッチパネルと文字認識機能を用い、ユーザが手書きにより入力部１０２へ発話内容を入力する構成としてもよい。また、スマートフォンに搭載されたスピーカと音声合成機能を用い、各対話システムから得た発話内容を、各仮想アカウントに対応する音声でスピーカから出力する構成としてもよい。
【００５６】
なお、エージェントの発話が複数連続する場合に、エージェントの発話が提示部１０１（ディスプレイ）に同時に表示されると、対話が活発である、あるいは盛り上がっている、と好意的に感じられる可能性がある一方、ユーザが一度に読み切れないほどの量のテキストが提示されると、ユーザが対話を継続しにくく感じる可能性がある。そのため、ユーザに認知負荷をかけられない場面、落ち着いた雰囲気が求められる場面など、使用される状況に応じて、発話を順次表示することにしてもよい。
【００５７】
＜第二実施形態のポイント＞
人と対話システムとが対話をするときに、一問一答形式が続くと自然な対話感が損なわれる。そこで、1つの人の発話に対して対話システムが2つ以上の発話を行い、自然な対話感を実現する。そのためのデータの取得方法と発話の生成方法について説明する。
【００５８】
まず、対話システム１００を発話生成システムとして機能させるときに、1つの人の発話に対して対話システムが2つ以上の発話を行う方法について説明する。発話生成時において、すなわち、対話システム１００を発話生成システムとして機能させるときに、第一実施形態では、2番目の発話t'(2)を人の発話としたが、本実施形態では、1番目の発話t'(1)を人の発話とする。本実施形態では、発話決定部１２０は、記憶部１３０に記憶されている複数組の3つ組発話について、3つ組発話の1番目の発話t(1)と人が発話した発話t'(1)とが同一または類似するか否かを判定し、発話t(1)と発話t'(1)とが同一または類似する3つ組発話の、2番目の発話t(2)と同一または類似する発話及び3番目の発話t(3)と同一または類似する発話を、対話システム１００の発話t'(2)及びt'(3)として生成してもよい。このような構成とすれば、1つの発話に対して2つ以上の発話を行い、自然な対話感を実現することができる。ただし、対話の流れを発話t'(1)のみで確定しているため、第一実施形態と比べると、対話の流れを無視した不自然な発話を選択する可能性が高い。
【００５９】
次に、対話システム１００が、4つ組発話、5つ組発話、…を用いることで、1つの人の発話に対して対話システムが2つ以上の発話を行う方法を説明する。例えば、データ取得時、すなわち、対話システム１００を発話取得システムとして機能させるときには、記憶部１３０に記憶された3つ組発話の1番目から3番目までの発話をロボットが行い、3番目の発話の後に人が行った発話を4番目の発話とした4つ組発話を記憶部１３０に記憶する。発話生成時、すなわち、対話システム１００を発話生成システムとして機能させるときには、記憶部１３０に記憶された4つ組発話の1番目の発話t'(1)及び2番目の発話t'(2)をロボットが行い、2番目の発話の後に人が発話t'(3)を行う。記憶部１３０に記憶されている複数組の4つ組発話について、4つ組発話の1〜3番目の発話t(1)〜t(3)と、ロボット及び人の発話t'(1)〜t'(3)とがそれぞれ同一または類似するか否かを判定し、例えば、全てが同一または類似する4つ組発話の4番目の発話t(4)と同一または類似する発話を、対話システム１００の発話t'(4)として生成する。組に含まれる発話数を増やせば増やすほど、自然な発話を選択できる可能性は高まる。ただし、あまり増やしても自然な発話を選択できる可能性は収束してしまい、それほど増加しない。また、発話数が多くなるほど、組合せの種類が多くなり、記憶部１３０に記憶しておく必要があるデータが膨大になる。必要となるデータの量と生成する発話の適切さのバランスを考慮すると第一実施形態の3つ組発話を用いるのが最も効率的であると考えられる。しかし、記憶部１３０の記憶容量や発話決定部１２０の演算処理量によっては、4つ組発話、5つ組発話、…を用いてもよい。
【００６０】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。図７はデータ取得時の処理を示し、図８は発話作成時の処理フローを示す。
【００６１】
＜データ取得時（対話システム１００を発話取得システムとして機能させるとき）＞
本実施形態のデータ取得時には、N個の発話が対応付けられた発話組を取得する。Nは3以上の整数の何れかである。なお、N個の発話が対応付けられた発話組は、対話システムまたは／および人が行う1番目からN-2番目までの発話の後に行われるN-1番目の人の発話に対して対話システムが行うN番目の発話を、N個の発話が対応付けられた発話組に基づいて生成するために用いられる。
【００６２】
記憶部１３０には、ある対話における(n-1)個の発話の組合せ(以下「(n-1)組発話」ともいう)が予め記憶されている。なお、n=2,3,…,Nとする。(n-1)組発話には必ず1つ以上の対話システムの発話が含まれる。これは、人が対話システムと対話を行うときには、人はシステムの発話レベルや内容に合わせた発話を行うという傾向を利用するためである。
【００６３】
本実施形態では、(n-1)組発話は、テキスト形式で、すなわちテキストデータで、記憶されているものとする。ここでは、「予め記憶されている」とは、後述するn組発話のデータ取得時に先立って記憶されていることを意味する。
【００６４】
図９は、記憶部１３０に記憶されるデータの例を示す。1番目の発話tx,n-1(1)から(n-1)番目の発話tx,n-1(n-1)までの（n-1）組発話がX個、記憶部１３０に予め記憶されている。そして、記憶部１３０は、（n-1）組発話の発話tx,n-1(1)〜tx,n-1(n-1)をn組発話の発話tx,n(1)〜tx,n(n-1)とし、対話システム１００が順次発話した発話tx,n-1(1)〜tx,n-1(n-1)に対して人が発話したn番目の発話をn組発話の発話tx,n(n)としたn組発話を記憶する。なお、下付き添え字xはn組発話を示すインデックスであり、x=1,2,…,Xである。第一実施形態と同様に、発話tx,n-1(1)〜tx,n-1(n-1)を必ずしもロボットが発話する必要はなく、人が発話してもよいが、発話tx,n-1(1)〜tx,n-1(n-1)には必ず1つ以上の対話システムの発話が含まれる。
【００６５】
発話決定部１２０は、記憶部１３０に記憶されている複数の(n-1)組発話の中から1つの(n-1)組発話を決定し（Ｓ２１）、決定した(n-1)組発話に対応するテキストデータtx,n-1(1)〜tx,n-1(n-1)を音声合成部１１０に出力する。
【００６６】
音声合成部１１０は、(n-1)組発話に含まれる各発話に対応するテキストデータtx,n-1(1)〜tx,n-1(n-1)に対して音声合成を行い（Ｓ２２）、合成音声データをロボットＲ１またはロボットＲ２の再生部１０１−１または再生部１０１−２に出力する。
【００６７】
各再生部では、発話の順番に従って合成音声データに対応する音声を再生する、すなわち、１番目の発話tx,n-1(1)から順に(n-1)番目の発話tx,n-1(n-1)までを提示する（Ｓ２３）。
【００６８】
収音部は、発話tx,n-1(n-1)の提示後に人ａが発話した発話tx,n(n)の入力を受け付ける。すなわち、収音部は、発話tx,n-1(n-1)の提示後に、人ａが発話した発話tx,n(n)の発話音声を収音する（Ｓ２４）。収音部は、収音された音声データを音声認識部１４０に出力する。なお、人ａの発話tx,n(n)は、収音部１０２−１、１０２−２の少なくとも何れかにおいて収音される。第一実施形態と同様に、収音部１０２−１、１０２−２の何れか一方を備えないでもよい。また、人ａの近傍などの、ロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを収音部１０２とし、収音部１０２−１、１０２−２の双方を備えない構成としてもよい。
【００６９】
音声認識部１４０は、収音された音声データに対して音声認識を行い（Ｓ２５）、音声認識結果を発話tx,n(n)のテキストデータとして発話記憶処理部１５０に出力する。
【００７０】
発話記憶処理部１５０は、音声認識部１４０から発話tx,n(n)のテキストデータを受け取り、発話決定部１２０で決定された(n-1)組発話に含まれる発話tx,n-1(1),tx,n-1(2),…,tx,n-1(n-1)のテキストデータをそれぞれ発話tx,n(1),tx,n(2),…,tx,n(n-1)のテキストデータとし、音声認識部１４０から入力された発話tx,n(n)のテキストデータと対応付けて、tx,n(1),tx,n(2),…,tx,n(n-1) ,tx,n(n)のテキストデータからなるn組発話として記憶部１３０に記憶する（Ｓ２６）。
【００７１】
以上の処理Ｓ２１〜Ｓ２６を所定の個数のn組発話を取得するまで繰り返す（Ｓ２７）。なお、1つの(n-1)組発話に対して1つのn組発話を取得してもよいし、1つの(n-1)組発話に対して2つ以上のn組発話(発話t(1)〜t(n-1)が同じであり、発話t(n)が異なるn組発話)を取得してもよい。
【００７２】
さらに、以上の処理をn=2からn=Nまで行う（Ｓ２０，Ｓ２８）。このような構成により、(n-1)組発話を用いてn組発話を取得することができる。
【００７３】
＜発話生成時（対話システム１００を発話生成システムとして機能させるとき）＞
図８を用いて発話生成時の処理を説明する。
【００７４】
記憶部１３０には、対話システム１００を発話取得システムとして機能させて取得したn'組発話、すなわち、対話システム１００に上述の＜データ取得時（対話システム１００を発話取得システムとして機能させるとき）＞で説明した動作をさせて取得したn'組発話が予め所定の個数記憶されている。ただし、n'は3以上N以下の何れかの整数である。例えば、n'=Nのとき、対話システム１００を発話取得システムとして機能させた際に対話システム１００が提示した1番目の発話からN-1番目の発話までと、N-1番目の発話の提示後に行われた人ａの発話であるN番目の発話とが、対応付けられた発話組(N組発話)が記憶部１３０に記憶されている。なお、本実施形態では、n'組発話は、テキスト形式で、すなわちテキストデータで、記憶されているものとする。ここでは、「予め記憶されている」とは、発話生成時に先立って記憶されていることを意味する。ここで、所定の個数のn'組発話のうちのx個目のn'組発話に含まれる発話をそれぞれ発話tx(1), …, tx(n')とする。
【００７５】
発話決定部１２０は、記憶部１３０に記憶されている所定の個数のn'組発話の中から1つのn'組発話を決定する（Ｓ３１）。発話決定部１２０は、決定したn'組発話に含まれる1番目の発話から(m-1)番目の発話までに対応するテキストデータを音声合成部１１０に出力する。ただし、mは1以上n'未満の何れかの整数である。ここで、発話決定部１２０が決定したn'組発話に含まれる１番目の発話から(m-1)番目の発話までをt'(1), …, t'(m-1)とする。
【００７６】
音声合成部１１０は、発話決定部１２０が出力した1番目の発話t'(1)から(m-1)番目の発話t'(m-1)までに対応するテキストデータに対してそれぞれ音声合成を行い（Ｓ３２）、合成音声データをロボットＲ１またはロボットＲ２の再生部１０１−１または１０１−２に出力する。
【００７７】
再生部１０１−１または１０１−２は、1番目の発話t'(1)から(m-1)番目の発話t'(m-1)までの合成音声データに対応する音声を順に再生する、すなわち、1番目の発話t'(1)から(m-1)番目の発話t'(m-1)まで順に提示する（Ｓ３３）。
【００７８】
収音部は、発話t'(m-1)の提示後に人ｂ（対話システム１００と対話を行う利用者ｂ）が発話した発話t'(m)の入力を受け付ける。すなわち、収音部は、発話t'(m-1)の提示後に、人ｂが発話した発話t'(m)の発話音声を収音する（Ｓ３４）。収音部は、収音された音声データを音声認識部１４０に出力する。なお、人ｂの発話t'(m)は、収音部１０２−１、１０２−２の少なくとも何れかにおいて収音され、音声認識部１４０に出力される。ただし、m=1の場合には、Ｓ３２，Ｓ３３の処理を省略し、発話t'(m-1)の提示することなく人ｂが発話した発話t'(m)の入力を受け付ける（Ｓ３４）。第一実施形態と同様に、収音部１０２−１、１０２−２の何れか一方を備えないでもよい。また、人ｂの近傍などの、ロボットＲ１，Ｒ２とは異なる場所に設置されたマイクロホンを収音部１０２とし、収音部１０２−１、１０２−２の双方を備えない構成としてもよい。
【００７９】
音声認識部１４０は、収音された音声データに対して音声認識を行い（Ｓ３５）、音声認識結果を発話t'(m)のテキストデータとして発話決定部１２０に出力する。
【００８０】
発話決定部１２０は、発話t'(m)のテキストデータを受け取り、記憶部１３０に記憶されている複数組のn'組発話の中から、発話t'(1)から発話t'(m)とそれぞれ同一または類似する発話tx(1)から発話tx(m)を含むn'組発話を検索する（Ｓ３６）。発話t'(1)から発話t'(m)とそれぞれ同一または類似する発話tx(1)から発話tx(m)を含むn'組発話が存在する場合、発話決定部１２０は、そのn'組発話の(m+1)番目の発話tx(m+1)からn'番目の発話tx(n')と同一または類似する発話のテキストデータを、対話システム１００の発話t'(m+1)〜t'(n')のテキストデータとして生成し（Ｓ３７）、音声合成部１１０に出力する。なお、同一または類似するか否かの判定方法、及び、同一または類似する発話の生成方法は第一実施形態と同様の方法を用いることができる。なお、本実施形態では、mは1以上n'未満の何れかの整数としたが、対話の流れを確定するために、mは2以上n'未満の何れかの整数であることが望ましい。
【００８１】
音声合成部１１０は、発話決定部１２０から入力された発話t'(m+1)から発話t'(n')に対応するテキストデータに対してそれぞれ音声合成を行い（Ｓ３８）、合成音声データを得て、得られた合成音声データをロボットＲ１またはＲ２の再生部１０１−１または１０１−２に出力する。
【００８２】
ロボットＲ１またはＲ２の再生部１０１−１または１０１−２は、音声合成部１１０から入力された発話t'(m+1)から発話t'(n')の合成音声データに対応する音声を再生する、すなわち、発話t'(m+1)から発話t'(n')を提示する（Ｓ３９）。
【００８３】
＜効果＞
このような構成とすることで、第一実施形態と同様、対話システム１００を発話生成システムとして機能させるためのデータを取得する発話取得システムとして対話システム１００を機能させた時にはルール記述のコストを不要とすることができる。また、人の発話に対して対話システム１００が行う発話を生成する発話生成システムとして対話システム１００を機能させた時にはルールを定めずに取得したデータから違和感の少ない発話を生成することができる。さらに、対話システム１００が発話t'(m+1)〜t'(n')を生成する際に、それまでの発話t'(1)〜t'(m)が多いほど、つまり、mの値が大きいほど、自然な発話を選択できる可能性は高まる。すなわち、mの値を大きくした場合には、取得された人の発話t'(m)は、人と対話システムとの対話の流れの中で複数の発話t'(1)〜t'(m-1)を受けて発話されたものであることから、人の発話t'(m)に対して対話システムが行う発話t'(m+1)〜t'(n')を生成する際には、人と対話システムとの間の複数の発話t'(1)〜t'(m)で対話の流れを確定し、その流れに沿った発話を生成することができる。なお、N=n'=3、m=2のときに第一実施形態と同じ構成となるため、第一実施形態は第二実施形態の一例と言える。
【００８４】
なお、第二実施形態についても、第一実施形態と同様に、第一実施形態の変形例１〜４と同様に変形した形態で実施してもよい。
【００８５】
＜変形例１＞
第二実施形態のデータ取得時には、(n-1)組発話を用いてn組発話を取得しているが、本変形例では、データ取得時に、(n-1)組発話を用いてn組発話を取得するとともに、(n-1)組発話、(n-2)組発話、…、2つ組発話を取得する方法について説明する。以下では、第二実施形態と異なる部分を中心に説明する。本変形例が第二実施形態と異なるのは、図７のＳ２６のn組発話を取得した後に下記の処理を行うことである。下記では、所定の個数がX個である場合を例に説明する。発話記憶処理部１５０は、発話記憶処理部１５０が生成したX個のn組発話のそれぞれについて、発話tx,n(1)〜発話tx,n(n)から、発話tx,n(n-1),tx,n(n)を含む2つ組発話、発話tx,n(n-2),tx,n(n-1),tx,n(n)を含む3つ組発話、…、tx,n(2),tx,n(3),…,tx,n(n-1),tx,n(n)を含む(n-1)組発話を得て、記憶部１３０に記憶する。
【００８６】
このような構成とすることで、第二実施形態よりも多くの各組発話を取得することができる。各組発話には、必ず、人が対話システムに向けて行った発話t(n)が含まれるので、その対話システムの発話として採用するのに適している発話だと言える。
【００８７】
なお、本変形例では、n組発話を取得するとともに、(n-1)組発話、(n-2)組発話、…、2つ組発話を全て取得しているが、(n-1)組発話、(n-2)組発話、…、2つ組発話の少なくとも1つ以上を取得する構成とすれば、第二実施形態よりも多くの発話を取得することができる。なお、本変形例ではn組発話を必ず取得しているが、必ずしも取得しないでもよい。すなわち、本変形例では、発話記憶処理部１５０は、X個のn組発話のそれぞれについて、n番目の発話を含み、かつ、発話順が連続する2以上n以下の少なくとも何れかの個数の発話による組を、2つ組発話〜n組発話の少なくとも何れかとして得て、記憶部１３０に記憶する。より具体的には、pを1以上P以下の各整数とし、各pについてmpは2以上n以下の整数の何れかとしたとき、発話記憶処理部１５０は、各mpについて、発話t(n-mp+1)から発話t(n)までを対応付けたものを、mp個の発話が対応付けられた発話組、すなわち、(mp)組発話として得て、記憶部１３０に記憶する。
【００８８】
例えば、第一実施形態と本変形例とを組合せることで、3つ組発話を取得するとともに、2つ組発話を取得することができる。つまり、発話t(1)と発話t(2)と発話t(3)とを対応付けたものを3つ組発話として記憶部１３０に記憶するとともに、発話t(2)と発話t(3)とを対応付けたものを2つ組発話として記憶部１３０に記憶する処理を行う。
【００８９】
＜変形例２＞
第二実施形態と異なる部分を中心に説明する。
【００９０】
第二実施形態の発話生成時には、発話決定部１２０は、記憶部１３０に記憶されている所定の個数のn'組発話の中から、発話t'(1)から発話t'(m)とそれぞれ同一または類似する発話tx(1)から発話tx(m)を含むn'組発話を検索する。発話決定部１２０は、同一または類似するn'組発話が存在する場合、そのn'組発話の(m+1)番目の発話tx(m+1)からn'番目の発話tx(n')と同一または類似する発話を、対話システム１００の発話t'(m+1)〜t(n')として生成している。
【００９１】
本変形例では、発話決定部１２０は、記憶部１３０に記憶に記憶されている所定の個数のn'組発話の中から、n'組発話に含まれるm個の連続する発話tx(n'-m+1-j)から発話tx(n'-j)が、人ｂと対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似するn'組発話のm個の連続する発話tx(n'-m+1-j)から発話tx(n'-j)に続く発話のうち、少なくとも発話tx(n'-j+1)と同一または類似する発話を、発話t'(m)の後の対話システムの発話t'(m+1)として生成する。ただし、jは1以上n'-m以下の整数の何れかである。
【００９２】
例えば、m=2、n'=5の場合に発話決定部１２０が行う発話生成時の処理の具体例を、図１０を用いて説明する。本具体例では、記憶部１３０にX個の5つ組発話が記憶されているものとする。本具体例では、発話決定部１２０は、人ｂと対話システムとの間で行われた発話t'(1)から発話t'(2)に含まれる発話である発話t'(1)、発話t'(2)とそれぞれ同一または類似する発話組の2個の連続する発話tx(4-j)から発話tx(5-j)を記憶部１３０に記憶されたX個の5つ組発話から検索する。ただし、jは1以上3以下の整数である。
【００９３】
例えば、発話決定部１２０は、図１０の検索結果の例１のように、発話t'(1)、t'(2)と、記憶部１３０に記憶に記憶されている5つ組発話のうちの１組である発話組ty(1),ty(2),ty(3),ty(4),ty(5)のty(1),ty(2)と、が同一または類似する場合、発話ty(2)に続く発話のうち、少なくとも発話ty(3)と同一または類似する発話を、発話t'(2)の後の対話システムの発話t'(3)として生成する。なお、発話ty(4),発話ty(5) と同一または類似する発話は、対話システムの発話として生成してもよいし、しなくてもよい。このとき、j=3である。
【００９４】
または、例えば、発話決定部１２０は、図１０の検索結果の例２のように、発話t'(1)、t'(2)と、記憶部１３０に記憶に記憶されている5つ組発話のうちの１組である発話組ty(1),ty(2),ty(3),ty(4),ty(5)のうちのty(3),ty(4)と、が同一または類似する場合、発話ty(4)に続く発話ty(5)と同一または類似する発話を、発話t'(2)の後の対話システムの発話t'(3)として生成する。このとき、j=1である。なお、この場合、発話ty(1),ty(2)は発話生成に使用しない。
【００９５】
このような構成とすることで、第二実施形態と同様の効果を得ることができるとともに、記憶部１３０に記憶されたデータに対してより柔軟にデータ取得を行うことができる。j=n'-mのときであって、n'組発話の(m+1)番目の発話t(m+1)(=t(n'-j+1))からn'番目の発話t(n')と同一または類似する発話を、対話システム１００の発話t'(m+1)〜t'(n')として生成するときに、第二実施形態と同一となるため、第二実施形態は変形例２の一例と言える。
【００９６】
なお、本変形例と変形例１とを組合せてもよい。
【００９７】
＜変形例３＞
第二実施形態の変形例２と異なる部分を中心に説明する。
【００９８】
変形例２では、発話決定部１２０は、記憶部１３０に記憶に記憶されている所定の個数のn'組発話の中から、n'組発話に含まれるm個の連続する発話tx(n'-m+1-j)から発話tx(n'-j)が、人ｂと対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似するn'組発話のm個の連続する発話tx(n'-m+1-j)から発話tx(n'-j)に続く発話のうち、少なくとも発話tx(n'-j+1)と同一または類似する発話を、発話t'(m)の後の対話システムの発話t'(m+1)として生成した。ただし、jは1以上n'-m以下の整数の何れかとした。
【００９９】
本変形例２では、発話決定部１２０は、記憶部１３０に記憶に記憶されている所定の個数のn'組発話、所定の個数のn'-1組発話、・・・、所定の個数の3つ組発話、の中から、何れかの発話組に含まれるm個の連続する発話部分が、人ｂと対話システムとの間で行われた1番目の発話t'(1)からm番目の発話t'(m)と同一または類似する発話組のm個の連続する発話部分に続く発話のうち、少なくとも１つの発話と同一または類似する発話を、発話t'(m)の後の対話システムの発話t'(m+1)として生成する。ただし、jは1以上n'-m以下の整数の何れかである。
【０１００】
例えば、m=2、n'=5の場合に発話決定部１２０が行う発話生成時の処理の具体例を、図１１を用いて説明する。本具体例では、記憶部１３０にX5個の5つ組発話と、X4個の4つ組発話と、X3個の3つ組発話と、が記憶されているものとする。なお、X5,X4,X3は、それぞれ1以上の整数の何れかである。本具体例では、発話決定部１２０は、人ｂと対話システムとの間で行われた発話t'(1)から発話t'(2)に含まれる発話である発話t'(1)、発話t'(2)とそれぞれ同一または類似する発話組の2個の連続する発話を記憶部１３０に記憶されたX5個の5つ組発話及びX4個の4つ組発話及びX3個の3つ組発話から検索する。すなわち、発話決定部１２０は、5つ組発話からは、jは1以上3以下の整数として、発話t'(1)から発話t'(2)とそれぞれ同一または類似する発話tx,5(4-j)から発話tx,5(5-j)を検索し、4つ組発話からは、jは1以上2以下の整数として、発話t'(1)から発話t'(2)とそれぞれ同一または類似する発話tx,4(3-j)から発話tx,4(4-j)を検索し、3つ組発話からは、発話t'(1)から発話t'(2)とそれぞれ同一または類似する発話tx,3(1)から発話tx,3(2)を検索する。
【０１０１】
例えば、発話決定部１２０は、図１１の検索結果の例１のように、発話t'(1)、t'(2)と、記憶部１３０に記憶に記憶されている4つ組発話のうちの１組である発話組ty,4(1),ty,4(2),ty,4(3),ty,4(4)のty,4(1),ty,4(2)と、が同一または類似する場合、発話ty,4(2)に続く発話のうち、少なくとも発話ty,4(3)を、発話t'(2)の後の対話システムの発話t'(3)として生成する。なお、発話ty,4(4)は、対話システムの発話として生成してもよいし、しなくてもよい。
【０１０２】
または、例えば、発話決定部１２０は、図１１の検索結果の例２のように、発話t'(1)、t'(2)と、記憶部１３０に記憶に記憶されている4つ組発話のうちの１組である発話組ty,4(1),ty,4(2),ty,4(3),ty,4(4)のty,4(2),ty,4(3)と、が同一または類似する場合、発話ty,4(3)に続く発話ty,4(4)を、発話t'(2)の後の対話システムの発話t'(3)として生成する。なお、この場合、発話ty,4(1)は発話生成に使用しない。
【０１０３】
このような構成とすることで、第二実施形態や第二実施形態の変形例２と同様の効果を得ることができるとともに、記憶部１３０に記憶されたデータに対してより柔軟にデータ取得を行うことができる。
【０１０４】
なお、本変形例と変形例１とを組合せてもよい。
【０１０５】
＜変形例４＞
本実施形態では、データ取得時に、発話tx,n-1(1)〜発話tx,n-1(n-1)を対話システムが行っているが、本変形例では、発話tx,n-1(1)〜発話tx,n-1(n-1)の中に人の発話を含む形態について説明する。例えば、k番目の発話を人の発話th(k)とする。その場合、対話システム１００は、人の発話th(k)の発話音声を収音部が収音して得た音声データに対して、音声認識部１４０が音声認識を行い発話th(k)のテキストデータを得て、発話記憶処理部１５０が人の発話th(k)が(n-1)組発話のk番目の発話tx,n-1(k)と同一または類似するか否かを判定する。発話th(k)と発話tx,n-1(k)とが同一または類似する場合、その後、k+1番目の発話tx,n-1(k+1)からn-1番目の発話tx,n-1(n-1)までを対話システム１００が行い、発話tx,n-1(n-1)の提示後に人ａが発話した発話tx,n(n)の発話音声を収音部が収音する。得られた音声データに対して音声認識部１４０が音声認識を行い発話tx,n(k)のテキストデータを得る。発話記憶処理部１５０が、発話tx,n-1(1)〜tx,n-1(n-1)を発話tx,n(1)〜tx,n(n-1)とし、発話tx,n(n)のテキストデータと対応付けたものを記憶部１３０に記憶する。なお、同様の方法により、対話システムが行うk+1番目からn-1番目までの発話の中に人の発話を含めてもよい。ただし、発話tx,n-1(1)〜発話tx,n-1(n-1)の中に対話システムの発話が必ず1つ以上含まれるようにする。これは、人は対話システムと対話を行うときには、人は対話システムの発話レベルや内容に合わせた発話を行うという傾向を利用するためである。なお、この変形例と変形例１とを組合せてもよい。
【０１０６】
本実施形態では、発話生成時に、(m+1)番目の発話t(m+1)からn'番目の発話t(n')を対話システムが行っている。本変形例では、発話t(m+1)〜発話t(n')の中に人の発話を含む形態について説明する。例えば、k番目の発話を人の発話th(k)とする。このとき、kは、m+1以上n'未満であり、上述の発話t'(m)に対して行った処理と同様の処理を行えばよい。なお、この変形例と変形例２や変形例３とを組合せてもよい。
【０１０７】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【０１０８】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【０１０９】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【０１１０】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【０１１１】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１１２】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006667855.tif 000002
【図２】
0006667855.tif 000003
【図３】
0006667855.tif 000004
【図４】
0006667855.tif 000005
【図５】
0006667855.tif 000006
【図６】
0006667855.tif 000007
【図７】
0006667855.tif 000008
【図８】
0006667855.tif 000009
【図９】
0006667855.tif 000010
【図１０】
0006667855.tif 000011
【図１１】
0006667855.tif 000012