(57)【要約】【課題】１つのヒューマンインターフェースが備える処理機能を限定し、それにより処理中のヒューマンインターフェースで不要な処理を持つことによる処理負担の軽減を図ること。【解決手段】対話装置は、車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する選択部１０１と、選択部１０１によって選択されたヒューマンインターフェースからのメッセージを出力し、このヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する対話部１０２と、対話部１０２によって実行された対話内容に基づいて、車載装置の機能を実行する実行部１０３と、を備えることを特徴とする。【選択図】        図１９
2006188098.tif 000002
【特許請求の範囲】
【請求項１】
車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する選択手段と、
前記選択手段によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する対話手段と、
前記対話手段によって実行された対話内容に基づいて、前記車載装置の機能を実行する実行手段と、
を備えることを特徴とする対話装置。
【請求項２】
前記対話手段によって実行された対話の履歴を記録する履歴記録手段と、
前記履歴記録手段によって記録された対話の履歴を出力する履歴出力手段と、
を備えることを特徴とする請求項１に記載の対話装置。
【請求項３】
前記履歴記録手段によって記録された対話の履歴において範囲を指定する指定手段と、
前記指定手段によって指定された範囲を、スクラップとして記録するスクラップ記録手段を備え、
前記対話手段は、前記スクラップ記録手段によって記録されたスクラップの最後のメッセージから、対話を再開することを特徴とする請求項２に記載の対話装置。
【請求項４】
前記指定手段は、前記スクラップ記録手段によって記録されたスクラップに含まれるメッセージを指定し、
前記対話手段は、前記指定手段によって指定されたメッセージの位置から、対話を再開することを特徴とする請求項３に記載の対話装置。
【請求項５】
前記スクラップ記録手段は、前記スクラップ記録手段によって記録されたスクラップの中からさらに対話内容の範囲を指定し、該指定した対話内容の範囲を、さらに新たなスクラップとして記録することを特徴とする請求項３または４に記載の対話装置。
【請求項６】
前記スクラップ記録手段は、前記スクラップ記録手段によって記録されたスクラップを複数繰り返したものを、さらに新たなスクラップとして記録することを特徴とする請求項３〜５のいずれか一つに記載の対話装置。
【請求項７】
前記スクラップ記録手段によって記録されたスクラップから、予め指定した条件に合致するスクラップを検索する検索手段と、
前記対話手段は、前記検索手段によって検索されたスクラップの最後のメッセージから、対話を再開することを特徴とする請求項３〜６のいずれか一つに記載の対話装置。
【請求項８】
前記検索手段は、前記スクラップの最後のメッセージが予め定めた所定のメッセージである場合に、条件に合致するスクラップであるとすることを特徴とする請求項７に記載の対話装置。
【請求項９】
前記対話手段は、前記検索手段によって最後のメッセージが所定のメッセージである複数のスクラップが検索結果として得られた場合には、該当するスクラップを区別する質問をメッセージとして出力して該メッセージに対する返答の入力を受け付け、
前記検索手段は、該メッセージに対する返答の内容に基づいて、前記条件に合致するスクラップを検索することを特徴とする請求項８に記載の対話装置。
【請求項１０】
車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する選択工程と、
前記選択工程によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する対話工程と、
前記対話工程によって実行された対話内容に基づいて、前記車載装置の機能を実行する実行工程と、
を含むことを特徴とする対話方法。
【請求項１１】
請求項１０に記載の対話方法をコンピュータに実行させることを特徴とする対話プログラム。
【請求項１２】
請求項１１に記載の対話プログラムを記録したことを特徴とするコンピュータに読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、搭乗者との対話内容に基づいて車載装置の機能を実行する対話装置、対話方法、対話プログラムおよびコンピュータに読み取り可能な記録媒体に関する。ただし、この発明の利用は、上述の対話装置、対話方法、対話プログラムおよびコンピュータに読み取り可能な記録媒体に限らない。
【背景技術】
【０００２】
カーナビゲーション装置において、車両の状況および車両の状況に対応する経路誘導や警告などの情報を、ディスプレイや音声で搭乗者に案内するエージェントがある。このエージェント機能には、状況に応じて２つのエージェント機能を出現させ、１つのエージェントよりもきめ細かく、運転者の習熟度など車両状況に応じて、メッセージを出せるようにするものがある（たとえば、特許文献１参照。）。
【０００３】
【特許文献１】特開平１１−２５０３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一方、上述の案内処理は、１つのエージェントで全体が管理される。２つのエージェントがある場合でも、２つのエージェントはそれぞれキャラクタが異なるというだけであって、２つのエージェントの両方がそれぞれ全体を管理する。まったく別系統の案内処理であっても一元的に処理されるので、処理効率が悪いという問題が一例として挙げられる。
【０００５】
たとえば、多くの待ち受け語を１つのエージェントで用意しておく必要がある。オーディオ機能に対する案内処理では、「ロック」や「ジャズ」などの音楽のジャンルに関する待ち受け語が必要になるが、カーナビゲーションに対する案内処理では、音楽に関する待ち受け語を用意する必要がない。このように、不要な待ち受け語をもつことにより、処理負担が上がる場合があり、また、音声は似ているがまったく関係のない待ち受け語の間での誤認識が発生する場合があるという問題が一例として挙げられる。
【課題を解決するための手段】
【０００６】
請求項１の発明にかかる対話装置は、車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する選択手段と、前記選択手段によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する対話手段と、前記対話手段によって実行された対話内容に基づいて、前記車載装置の機能を実行する実行手段と、を備えることを特徴とする。
【０００７】
また、請求項１０の発明にかかる対話方法は、車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する選択工程と、前記選択工程によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する対話工程と、前記対話工程によって実行された対話内容に基づいて、前記車載装置の機能を実行する実行工程と、を含むことを特徴とする。
【０００８】
また、請求項１１の発明にかかる対話プログラムは、請求項１０に記載の対話方法をコンピュータに実行させることを特徴とする。
【０００９】
また、請求項１２の発明にかかるコンピュータに読み取り可能な記録媒体は、請求項１１に記載の対話プログラムを記録したことを特徴とする。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかる対話装置、対話方法、対話プログラムおよびコンピュータに読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。図１９は、この発明の実施の形態にかかる対話装置の機能的構成を示すブロック図である。この実施の形態の対話装置は、選択部１０１、対話部１０２、実行部１０３、履歴記録部１０４、履歴出力部１０５、指定部１０６、スクラップ記録部１０７、検索部１０８により構成されている。
【００１１】
選択部１０１は、車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する。ヒューマンインターフェースは、ユーザーとの対話によりユーザーの代わりに操作するエージェントとすることができ、たとえば、カーナビゲーション用のエージェントやオーディオ用のエージェントを含むことができる。
【００１２】
対話部１０２は、選択部１０１によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する。メッセージの出力および返答の入力は、音声認識および音声出力により可能であるが、画面上へのテキストの表示により実行することもできる。
【００１３】
実行部１０３は、対話部１０２によって実行された対話内容に基づいて、車載装置の機能を実行する。たとえば、車載機器がカーナビゲーション装置であり、選択されたヒューマンインターフェースがカーナビゲーション用のエージェントであるとする。対話の内容によりあるレストランへ向かうことになった場合、実行部１０３は、その対話の内容によって決定されたレストランへの経路を探索し、車両を目的地へ誘導する。
【００１４】
履歴記録部１０４は、対話部１０２によって実行された対話の履歴を記録する。対話の履歴は、対話の内容そのものを記録することができるが、対話のメッセージの主体のあとにメッセージを続けたものを一つのメッセージとして、その集合を対話の履歴とすることができる。対話のメッセージの主体は、たとえばユーザーの場合はユーザーの名前、ヒューマンインターフェースの場合は、選択されたヒューマンインターフェースの名前とすることができる。
【００１５】
履歴出力部１０５は、履歴記録部１０４によって記録された対話の履歴を出力する。出力の方法は、音声で全対話内容を出力することができる。また、テキストで出力することができる。また、テキストで出力する場合、文章だけで出力するのではなく、メッセージの内容に即した顔文字や画像をテキストに付加したものを出力することができる。
【００１６】
指定部１０６は、履歴記録部１０４によって記録された対話の履歴において範囲を指定する。また、指定部１０６は、スクラップ記録部１０７によって記録されたスクラップに含まれるメッセージを指定する。この場合、対話部１０２は、指定部１０６によって指定されたメッセージの位置から、対話を再開する。
【００１７】
スクラップ記録部１０７は、指定部１０６によって指定された範囲を、スクラップとして記録する。対話部１０２は、スクラップ記録部１０７によって記録されたスクラップの最後のメッセージから、対話を再開する。また、スクラップ記録部１０７は、スクラップ記録部１０７によって記録されたスクラップの中からさらに対話内容の範囲を指定し、指定した対話内容の範囲を、さらに新たなスクラップとして記録する。また、スクラップ記録部１０７は、スクラップ記録部１０７によって記録されたスクラップを複数繰り返したものを、さらに新たなスクラップとして記録する。
【００１８】
検索部１０８は、スクラップ記録部１０７によって記録されたスクラップから、予め指定した条件に合致するスクラップを検索する。対話部１０２は、検索部１０８によって検索されたスクラップの最後のメッセージから、対話を再開する。また、検索部１０８は、前記スクラップの最後のメッセージが予め定めた所定のメッセージである場合に、条件に合致するスクラップであるとすることができる。
【００１９】
最後のメッセージが所定のメッセージである複数のスクラップが検索結果として得られた場合には、対話部１０２は、該当するスクラップを区別する質問をメッセージとして出力して該メッセージに対する返答の入力を受け付け、検索部１０８は、メッセージに対する返答の内容に基づいて、条件に合致するスクラップを検索する。
【００２０】
図１は、この発明の実施の形態にかかる対話方法の処理を示すフローチャートである。まず、選択部１０１は、ヒューマンインターフェースを一つ選択する（ステップＳ２０１）。すなわち、車載装置が有する複数の機能のそれぞれに対応した、搭乗者との対話のための複数のヒューマンインターフェースの中から、所望の機能に対応したヒューマンインターフェースを一つ選択する。このヒューマンインターフェースの機能により、人間とコンピュータの情報伝達を仲介することができる。
【００２１】
次に、対話部１０２は対話を実行する（ステップＳ２０２）。すなわち、選択部１０１によって選択されたヒューマンインターフェースからのメッセージを出力し、該ヒューマンインターフェースが出力したメッセージに対する返答の入力を受け付けることにより対話を実行する。
【００２２】
次に、この対話内容にしたがった処理を実行するか否かを判定し（ステップＳ２０３）、処理を実行する場合（ステップＳ２０３：Ｙｅｓ）、実行部１０３は、対話部１０２によって実行された対話内容に基づいて、車載装置の機能を実行し（ステップＳ２０４）、一連の処理を終了する。処理を実行しない場合（ステップＳ２０３：Ｎｏ）、履歴記録部１０４は、対話部１０２によって実行された対話の履歴を記録する（ステップＳ２０５）。そして、履歴出力部１０５は、履歴記録部１０４によって記録された対話の履歴を出力し（ステップＳ２０６）、一連の処理を終了する。
【００２３】
図２は、この発明の実施の形態にかかる対話方法において、対話の履歴をスクラップする場合の処理を示すフローチャートである。まず、履歴記録部１０４によって記録された対話の履歴において、範囲を指定する（ステップＳ２１１）。スクラップ記録部１０７は、指定部１０６によって指定された範囲を、スクラップとして記録する（ステップＳ２１２）。
【００２４】
次に、対話を再開するか否かを判定し（ステップＳ２１３）、対話を再開する場合（ステップＳ２１３：Ｙｅｓ）、メッセージを指定するか否かを判定する（ステップＳ２１４）。メッセージを指定する場合（ステップＳ２１４：Ｙｅｓ）、指定部１０６は、スクラップ記録部１０７によって記録されたスクラップに含まれるメッセージを指定する（ステップＳ２１５）。そして、対話部１０２は、指定されたメッセージの位置から対話を再開し（ステップＳ２１６）、一連の処理を終了する。メッセージを指定しない場合（ステップＳ２１４：Ｎｏ）、対話部１０２は、スクラップ記録部１０７によって記録されたスクラップの最後のメッセージから、対話を再開し（ステップＳ２１６）、一連の処理を終了する。
【００２５】
次に、対話を再開しない場合（ステップＳ２１３：Ｎｏ）、再度スクラップするか否かを判定する（ステップＳ２１７）。再度スクラップしない場合（ステップＳ２１７：Ｎｏ）、ステップＳ２１９に進む。再度スクラップする場合（ステップＳ２１７：Ｙｅｓ）、スクラップ記録部１０７は、再度スクラップをする（ステップＳ２１８）。具体的には、スクラップ記録部１０７によって記録されたスクラップの中からさらに対話内容の範囲を指定し、指定した対話内容の範囲を、さらに新たなスクラップとして記録する。この再度のスクラップとして、スクラップ記録部１０７は、スクラップ記録部１０７によって記録されたスクラップを複数繰り返したものを、さらに新たなスクラップとして記録することもできる。
【００２６】
次に、検索部１０８は、スクラップ記録部１０７によって記録されたスクラップから、予め指定した条件に合致するスクラップを検索する（ステップＳ２１９）。条件に合致するスクラップがない場合（ステップＳ２２０：Ｎｏ）、一連の処理を終了する。条件に合致するスクラップがある場合（ステップＳ２２０：Ｙｅｓ）、条件に合致するスクラップが複数のスクラップか否かを判定する（ステップＳ２２１）。条件の合致については、前記スクラップの最後のメッセージが予め定めた所定のメッセージである場合に、条件に合致するスクラップであるとすることができる。
【００２７】
複数のスクラップでない場合（ステップＳ２２１：Ｎｏ）、対話部１０２は、検索部１０８によって検索されたスクラップの最後のメッセージから対話を再開する（ステップＳ２１６）。複数のスクラップである場合（ステップＳ２２１：Ｙｅｓ）、対話部１０２は、該当するスクラップを区別する質問をメッセージとして出力する（ステップＳ２２２）。そして、このメッセージから対話を再開し（ステップＳ２１６）、一連の処理を終了する。
【００２８】
以上説明した実施の形態により、搭乗者は所望の機能に対応したヒューマンインターフェースを選択し、選択したヒューマンインターフェースとの対話により所望の機能を実行することができるので、１つのヒューマンインターフェースが備える処理機能を限定することができる。それにより処理中のヒューマンインターフェースで必要のない処理をする必要がなくなり、たとえば不要な待ち受け語を持つことによる誤認識を回避することができる。
【実施例】
【００２９】
（ハードウエア構成）
図３は、この発明の実施例にかかる対話装置のハードウエア構成の一例を示すブロック図である。対話装置は、ナビゲーション制御部３００と、ユーザー操作部３０１と、位置認識部３０２と、記録媒体３０３と、記録媒体デコード部３０４と、エージェント制御部３１０と、表示部３１１と、表示制御部３１２と、案内音出力部３１３と、スピーカ３１４と、マイク３１５と、音声認識部３１６と、エージェント記憶部３２０と、スクラップ記憶部３３０とを含む構成となっている。
【００３０】
なお、ナビゲーション制御部３００、エージェント制御部３１０、案内音出力部３１３、音声認識部３１６は、たとえば所定の演算処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、各種制御プログラムを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＣＰＵのワークエリアとして機能するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などによって構成されるマイクロコンピュータなどによって実現することができる。
【００３１】
ナビゲーション制御部３００は、ナビゲーション装置全体を制御する。また、任意の地点を検索し、得られた地点情報に基づいて、当該地点までの最適な経路を算出する。また、この経路と自車位置情報に基づいて、リアルタイムな経路誘導情報の生成をおこなう。図１９に示した実行部１０３は、このナビゲーション制御部３００によって実現される。ユーザー操作部３０１は、操作ボタン、リモコン、タッチパネルなどを含む。図１９に示した指定部１０６はこのユーザー操作部３０１によって実現される。
【００３２】
位置認識部３０２は、自車位置情報を取得する。ここで自車位置情報は、ＧＰＳ衛星からの電波を受信し、ＧＰＳ衛星との幾何学的位置を求めるものであり、地球上どこでも計測可能である。電波としては、Ｃ／Ａ（Ｃｏａｒｓｅ  ａｎｄ  Ａｃｃｅｓｓ）コードおよび航法メッセージが乗っているＬ１電波を用いておこなわれる。これによって、現在の車両の位置（緯度および経度）を検知する。また、車速センサやジャイロセンサなど各種センサによって収集された情報を加味してもよい。
【００３３】
記録媒体３０３は、たとえば、ハードディスク（ＨＤ）であり、その代わりにあるいはＨＤに加えて、ＤＶＤ、コンパクトディスク（ＣＤ）などの着脱可能な記録媒体であってもよい。また、記録媒体デコード部３０４は、ＨＤ、ＤＶＤ、ＣＤを読み取り／書き込みの制御をおこなう。
【００３４】
エージェント制御部３１０は、自車の目的地、現在位置、進行経路など、エージェント制御部３１０による制御内容に関する情報を、運転者との対話形式で運転者に伝えたり、運転者に回答を促したりするメッセージを作成する。作成したメッセージは案内音出力部３１３に出力する。
【００３５】
エージェント制御部３１０は、ユーザーとの対話によりユーザーの代わりに操作するエージェントとしての動作を実行する。すなわち、このエージェントとしての動作は、人間とコンピュータの情報伝達を仲介する機能であり、ヒューマンインターフェースの一種である。以降、このエージェントとしての動作の主体をエージェントと呼ぶ。図１９に示した選択部１０１、対話部１０２、履歴記録部１０４、履歴出力部１０５、スクラップ記録部１０７、検索部１０８は、このエージェント制御部３１０によって実現される。
【００３６】
表示部３１１は、液晶ディスプレイや有機ＥＬディスプレイなどを含む。表示制御部３１２は、エージェント制御部３１０から入力されたメッセージを表示部３１１の表示画面に表示する。表示制御部３１２は、位置認識部３０２によって算出された自車位置情報と、記録媒体３０３から記録媒体デコード部３０４を経由して得られた地図ＤＢ情報とに基づいて、表示部３１１の表示画面に地図上のどの位置を走行しているかを表示する。
【００３７】
案内音出力部３１３は、パターンに対応したトーンと音声のデータを生成する。すなわち、エージェント制御部３１０で作成されたメッセージを音声のデータとして作成する。また、経路情報に基づいて、案内地点に対応した音声ガイダンス情報を生成する。そして、一つまたは複数のスピーカ３１４への出力を制御することによって、案内音を再生する。マイク３１５は、運転者の近くに配置され、運転者が話す音声を集音する。音声認識部３１６は、マイク３１５で集音された音声を解析して、集音された音声の内容を認識し、エージェント制御部３１０に出力する。
【００３８】
エージェント記憶部３２０は、エージェント制御部３１０で実行されるエージェントの情報を記憶する。エージェント記憶部３２０は、エージェント情報３２１〜３２３を記憶し、それぞれが各エージェントの待ち受け語やキャラクタデータ、シナリオデータ、回答および質問するメッセージの内容を含む。エージェント制御部３１０は、このエージェント記憶部３２０に記憶されるエージェント情報３２１〜３２３のいずれかを読み出すことにより、エージェントとしての動作を実行する。
【００３９】
エージェント情報３２１〜３２３は、たとえばカーナビ（カーナビゲーション装置）のエージェントや、オーディオのエージェント、携帯電話が接続されている場合（図示しない）、携帯電話のエージェントの情報とすることができる。なお、エージェント情報３２１〜３２３の３つを例に挙げて説明しているが、４つ以上であってもよい。
【００４０】
スクラップ記憶部３３０は、スクラップ情報３３１〜３３３を記憶する。スクラップ情報３３１〜３３３は、ユーザーとエージェントの間の対話ログ（履歴）から一部切り取ったメッセージの集合を含む。なお、スクラップ情報３３１〜３３３の３つを例に挙げて説明しているが、４つ以上であってもよい。
【００４１】
図４は、オーディオエージェントとの対話内容を説明する説明図である。オーディオエージェントは、図３で説明したエージェントの一例である。各エージェントはそれぞれ独立して存在しており、必要に応じて呼び出すことによりエージェント機能を実行することができる。オーディオエージェントは車両に備えられたオーディオの操作をするエージェントである。表示画面４００には、オーディオエージェントの対話の内容が表示されており、表示画面４００に示される対話の内容は、ログ４０１とログ４０２の通りである。
【００４２】
ログ４０１に示す内容の対話をする場合について説明する。最初に、ユーザーはオーディオエージェントを呼び出す。オーディオエージェントには「オーディオ太郎」という名前がつけられており、ユーザーは「オーディオ太郎」と呼ぶことによりオーディオエージェントを呼び出すことができる。ユーザーからのメッセージの内容およびオーディオエージェントからのメッセージの内容は、ログ４０１に示されるように順次記録されていく。
【００４３】
これに対し、オーディオエージェント（図中、オーディオ太郎）は、「何か用？」と返答する。これに対し、ユーザーは「ロック」と回答する。この指示は、ロックに分類された楽曲を選択する意味である。この回答を受けて、オーディオエージェントは、「ロックにするね。」と返答する。
【００４４】
次に、オーディオエージェントは、「年代はどうする？」と返答する。これに対してユーザーは、「７０年代」と回答する。これは、ロックに分類された楽曲の中から、さらに７０年代に分類される楽曲を選択する意味である。この回答を受けて、オーディオエージェントは、「了解。」と回答する。
【００４５】
ここで、ユーザーからオーディオエージェントに指示された内容は「ロック」「７０年代」だけである。この指示を受けて、オーディオエージェントは、ロックで７０年代の楽曲の中から該当する楽曲をさがして再生する。該当する楽曲が複数ある場合は、さらに質問をすすめるか、該当する楽曲の中から１つを選んで再生する。楽曲の選択は、ランダムでも、もっとも再生回数が多いものを優先することも、最近再生されたものを優先することもできる。
【００４６】
次に、ログ４０２に示す内容の対話をする場合について説明する。再生した後または再生している間に、ユーザーは次の曲を選択することができる。ここで、ユーザーは再び「オーディオ太郎」と呼ぶことにより、オーディオエージェントを呼び出す。これに対し、オーディオエージェントは、呼び出され、「何？」と返答する。これに対し、ユーザーは「明るい曲」と回答する。この指示は、明るい曲に分類された楽曲を選択する意味である。この回答を受けて、オーディオエージェントは、「オッケー。」と返答する。
【００４７】
さらに、オーディオエージェントは、「ジャンルは指定しなくていい？」と質問する。これに対し、ユーザーは、「はい」と回答する。そして、オーディオエージェントは、「了解。」と返答する。
【００４８】
ここで、ユーザーからオーディオエージェントに指示された内容は「明るい曲」「ジャンルは指定しなくていい。」だけである。この指示を受けて、オーディオエージェントは、明るい曲ですべてのジャンルの楽曲の中から該当する楽曲をさがして再生する。該当する楽曲が複数ある場合は、さらに質問をすすめるか、該当する楽曲の中から１つを選んで再生する。楽曲の選択は、ランダムでも、もっとも再生回数が多いものを優先することも、最近再生されたものを優先することもできる。
【００４９】
図５は、カーナビエージェントとの対話内容を説明する説明図である。カーナビエージェントも、オーディオエージェント同様に、図３で説明したエージェントの一例である。カーナビエージェントはカーナビゲーション装置の操作をするエージェントである。表示画面５００には、カーナビエージェントの対話の内容が表示されており、表示画面５００に示される対話の内容は、ログ５０１とログ５０２の通りである。
【００５０】
まず、ログ５０１に示す内容の対話をする場合について説明する。最初に、ユーザーはカーナビエージェントを呼び出す。カーナビエージェントには「カーナビ花子」という名前がつけられており、ユーザーはその略称である「ナビ子」を呼ぶことにより、カーナビエージェントを呼び出すことができる。
【００５１】
そして、カーナビエージェント（図中、ナビ子）が呼び出され、「何かご用ですか？」と返答する。これに対し、ユーザーは「自宅へ帰る」と回答する。この回答を受けて、カーナビエージェントは、「自宅へのルート設定をします。」と返答し、現在位置から自宅へのルートを探索する。
【００５２】
次に、ログ５０２に示す内容の対話をする場合について説明する。ユーザーは同様に「ナビ子」と呼ぶことによりカーナビエージェントを呼び出す。そして、カーナビエージェントは、呼び出され「何でしょうか？」と返答する。これに対し、ユーザーは「周辺のレストラン」と回答する。この回答を受けて、カーナビエージェントは、「周辺のレストランを検索します。」と返答する。
【００５３】
次に、カーナビエージェントは、「食べたいモノはありますか？」と質問する。これに対し、ユーザーは「カレー」と回答する。そして、カーナビエージェントは、「カレーのおいしいお店を検索します。」と返答する。
【００５４】
カーナビエージェントは、以上の回答内容に基づいて、現在位置から所定の範囲内にあるカレーを提供するレストランを検索する。現在位置からの範囲は、所要時間でも、直線距離でも、最短経路の合計距離でも、いずれでもよい。カレーを提供するレストランは、カレー専門店でも、ファミリーレストランなどのカレーがメニューに含まれるレストランでも、いずれでもよい。検索を可能にするために、各レストランの情報に、「カレー」という検索項目を対応して記憶させておく。
【００５５】
検索した結果、該当するレストランが１つだけの場合、そのレストランを提示するが、複数ある場合は、その中から１つを選ばせることになる。そこで、カーナビエージェントは、「いくつか候補がありますが、人気のあるお店にしましょうか？」と提案する。これに対し、ユーザーは「はい。」と回答する。そして、カーナビエージェントは、検索結果のレストランの中から人気のレストランを選択して提示し、選択されたレストランを目的地として経路を探索する。そして、探索された経路にしたがって車両の経路を誘導する。
【００５６】
以上の各エージェントとの間の対話の内容は、対話ログの形で保存しておくことができる。この対話ログは、タッチパネルなどでスクロールすることができ、過去のメッセージを指定することにより、指定したメッセージから対話を再開することができる。
【００５７】
また、音声認識により単語を認識し、認識された単語を対話ログの中から検索し、検索語に対応するメッセージを表示することもできる。その結果、エージェントからのメッセージを聞き逃したり、メッセージの内容を忘れたりした場合でも、対話ログから話の流れを再度確認することができる。また、対話ログをさかのぼって、さかのぼった時点から対話をやり直す、やり直し処理を実行することもできる。
【００５８】
図６は、複数のエージェントの切り替え処理を説明するフローチャートである。ここで、２つのエージェントがあることを例に挙げて説明するが、上述のようにエージェントの数は３つ以上でもよい。まず、ユーザーからの入力によりエージェントを選択する（ステップＳ６０１）。ユーザーは、発話ボタンの入力またはワードスポッティングによってエージェントを選択することができる。次に、選択したエージェントはどのエージェントであるかを判別する（ステップＳ６０２）。
【００５９】
選択したエージェントがオーディオエージェントの場合（ステップＳ６０２：オーディオ）、エージェント制御部３１０はオーディオエージェントを選択する（ステップＳ６０３）。そして、オーディオエージェントによってオーディオ操作の処理を実行し（ステップＳ６０４）、処理を終了する。
【００６０】
選択したエージェントがカーナビエージェントの場合（ステップＳ６０２：カーナビ）、エージェント制御部３１０はカーナビエージェントを選択する（ステップＳ６０５）。そして、カーナビエージェントによってカーナビ操作を行い（ステップＳ６０６）、処理を終了する。
【００６１】
以上のように、各エージェントがそれぞれ別の機能をもつので、たとえば、エージェントごとに待ち受け語を別々に持たせておくことができる。それにより、たとえば、オーディオエージェントでは「ロック」や「ジャズ」などの音楽のジャンルに関する待ち受け語を用意することにより所望の対話ができる一方で、カーナビエージェントでは音楽に関する待ち受け語を用意する必要がない。
【００６２】
図７は、対話ログのやり直し処理を説明する説明図である。ここで、図４で説明した表示画面４００に示すように対話し、メッセージ７０１から対話をやり直したい場合を例に挙げて説明する。表示画面４００に示されるように、対話の内容は、ログ４０１とログ４０２の通りである。つまり、メッセージ７０１が示す「年代はどうする？」という質問に対して、ユーザーが「７０年代」と回答したものの、その回答内容をやり直したいという場合である。
【００６３】
このやり直し処理を実行した場合、表示画面７００のようになる。表示画面７００に示すように、ログ７０２とログ７０３に示す内容の対話が進行する。すなわち、ログ７０２に示すように、ログ４０１の途中のメッセージ７０１のところから対話を再開する。そこで、再びメッセージ７０１が示す「年代はどうする？」の質問に戻ることができる。
【００６４】
ここで、ログ７０２に示す対話の内容は終了しているとして扱われる。そこで、ログ７０３に示すように、ユーザーは、「適当に」と回答することができる。これに対してオーディオエージェントは、「じゃあ、年代にこだわらずロックをかけるね。」と回答し、ロックに分類される楽曲の中から、ランダムに楽曲を選択する。
【００６５】
図８は、対話ログのやり直し処理の流れを説明するフローチャートである。まず、画面に対話ログを表示する（ステップＳ８０１）。次に、対話ログの操作を受け付ける（ステップＳ８０２）。具体的には、やり直したい位置を選択すべく、画面に表示された対話ログを、ユーザーからの操作によりスクロールさせる。
【００６６】
次に、対話ログからメッセージを選択する（ステップＳ８０３）。メッセージは、具体的にはエージェントによる質問語句、またはユーザーへの回答であり、スクロールさせた対話ログから、メッセージを選択する。
【００６７】
次に、メッセージを決定する（ステップＳ８０４）。具体的には、選択した質問語句または回答を、ダブルクリックまたはエンターボタンを利用して決定する。そして、指定した対話ログのメッセージから対話を再開する（ステップＳ８０５）。この決定されたメッセージが、やり直し位置として決定され、やり直し位置から再び対話することができる。
【００６８】
図９は、対話ログのスクラップ処理を説明する説明図である。ここで、図４で説明した表示画面４００に示すように対話内容において、ログ４０１の一部をスクラップとして作成したい場合を例に挙げて説明する。表示画面４００に示されるように、対話の内容は、ログ４０１とログ４０２の通りである。
【００６９】
ここで、対話の内容は対話ログとして記録されているが、この対話ログの集合を一つにしたスクラップを作成し、このスクラップを指定して処理する。シナリオスクラップ９００に示すように、ユーザーがログ４０１を呼び出し、楽曲のジャンルからロックを選択し、年代が問われるところまでの範囲９０１をスクラップ９０２にする。
【００７０】
スクラップ９０２の他、スクラップ９０３〜９０５に示すように複数のスクラップを保存することができる。このスクラップ９０２〜９０５を選択することにより、ユーザーは、一連の対話を繰り返すことなく、同一の処理の必要な部分の実行を指示することができる。
【００７１】
図１０は、対話ログの範囲を指定してのスクラップ処理を説明する説明図である。図９で説明したようにスクラップ９０２〜９０５を作成することができるが、この一部を１つのスクラップとして作成することができる。まず、メッセージ１００１により検索をかける。そして、図９に示すように、メッセージ１００１を含むログ４０１を選択し、ログ４０１から終了位置１００２を指定する。ログ４０１の最初から終了位置１００２までの範囲により指定された、新たなスクラップ９０２が作成される。
【００７２】
具体的に説明する。まず、ログ検索を実行する。ここで、「ロック」という検索語で検索され、ユーザーが「ロック」と回答するメッセージ１００１を含むスクラップであるログ４０１が選択される。
【００７３】
次に、スクラップしたい範囲を選択する。最初は「オーディオ太郎＞了解。」が指定されており、この指定位置を変更することにより、指定範囲の最終行を決定することができる。ここで、終了位置１００２に示すように、「オーディオ太郎＞年代はどうする？」を指定する。
【００７４】
その結果、「ユーザー＞オーディオ太郎」から「オーディオ太郎＞年代はどうする？」までを新しいスクラップの範囲として指定し、この指定された範囲が新たなスクラップ９０２として保存される。
【００７５】
図１１は、対話ログのスクラップ処理の流れを説明するフローチャートである。図９で説明したスクラップ処理と、図１０で説明した範囲を指定してのスクラップ処理を、図１１で説明する手順により実行することができる。
【００７６】
まず、スクラップをＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）表示する（ステップＳ１１０１）。次に、条件指定によってスクラップを絞り込む（ステップＳ１１０２）。具体的には、ユーザーからの入力に基づいて条件指定し、この条件指定によってスクラップを絞り込む。次に、スクラップを選択する（ステップＳ１１０３）。具体的には、絞り込まれたスクラップが一覧表示され、ユーザーの選択により一覧表示されたスクラップから１つを選択する。
【００７７】
次に、範囲指定をするか否かを判定する（ステップＳ１１０４）。範囲指定しない場合（ステップＳ１１０４：Ｎｏ）、選択したスクラップの最後の質問から対話が始まる（ステップＳ１１０５）。以上により、スクラップによりなされた対話の内容とその後の対話の内容から処理が選択され、途中で本来指示していない処理を省くことができ、ショートカット的な機能を実現することができる。
【００７８】
範囲指定する場合（ステップＳ１１０４：Ｙｅｓ）、スクラップする範囲を指定する（ステップＳ１１０６）。スクラップする範囲は、図１０で説明したように、ログ４０１の最初の行から終了位置１００２までになる。スクラップを選択した時点では、スクラップの最終行が指定されているので、指定の行を上に移動させていくことにより、範囲指定の最終行を指定することができる。そして指定された範囲が新たなスクラップ９０２として保存され（ステップＳ１１０７）、一連の処理を終了する。
【００７９】
図１２は、対話ログの自動スクラップ処理を説明する説明図である。ユーザーは、エージェントとの対話によって対話ログを進行するが、発話トリガーによる対話の開始から、たとえば次の発話トリガーが入力されるなどの、対話の終了までを常に保存する。ここで、シナリオスクラップ９００に示すように、スクラップ９０２〜９０５に示す複数のスクラップが保存される。
【００８０】
スクラップ９０２〜９０５は、ジャンル、カテゴリなどによって分類してフォルダ区分し、フォルダ１２０１に保存することができる。ユーザーは、このフォルダ区分されたフォルダ階層からさがすようにすることもできる。つまり、フォルダ１２０１をさがし、フォルダ１２０１からスクラップ９０２または９０４をさがすことができる。さらに、スクラップをいくつか選び、選んだスクラップをユーザースクラップ１２０２として登録しておくことにより、すぐに選び出すようにすることができる。
【００８１】
図１３は、対話ログの繰り返し処理を説明するフローチャートである。対話ログの繰り返し処理は、１つの処理を複数回繰り返したときに、その繰り返し全体を１つのスクラップとして保存する処理である。まず、処理Ａを実行する（ステップＳ１３０１）。処理Ａは、たとえばスクラップ９０２により示される処理であるとする。この処理Ａは繰り返し実行するように設定しておく。たとえば、処理Ａを５回繰り返すとして設定する。
【００８２】
処理中に、スクラップ操作を入力されたか否かを判定する（ステップＳ１３０２）。つまり、スクラップボタンや「スクラップ」の音声が入力されたか否かを判定する。スクラップ操作を入力された場合（ステップＳ１３０２：Ｙｅｓ）、スクラップ処理を実行し（ステップＳ１３０３）、一連の処理を終了する。具体的には、対話の開始から、現在の処理位置までを１つのまとまりとしてスクラップにする。たとえば、処理Ａの処理が３回目である場合、処理Ａの２回分と、３回目の途中までの処理を１つのまとまりのスクラップとして保存する。
【００８３】
スクラップ操作が入力されていない場合（ステップＳ１３０２：Ｎｏ）、設定回数同じ処理Ａを実行したか否か判定する（ステップＳ１３０４）。設定回数同じ処理Ａを実行していない場合（ステップＳ１３０４：Ｎｏ）、ステップＳ１３０１に戻り、処理Ａを設定回数まで繰り返す。
【００８４】
設定回数同じ処理Ａを実行した場合（ステップＳ１３０４：Ｙｅｓ）、たとえば上述の例では処理Ａを５回終了した場合に、ユーザーに対してスクラップするか否かを判定する（ステップＳ１３０５）。具体的には、「何度も同じ処理を行っていますが、スクラップして簡単にこの処理を呼び出せるようにしましょうか。」というメッセージによりユーザーに対して確認し、その回答によって判定することができる。スクラップすると判定された場合（ステップＳ１３０５：Ｙｅｓ）、ステップＳ１３０３に戻る。スクラップしないと判定された場合（ステップＳ１３０５：Ｎｏ）、一連の処理を終了する。
【００８５】
図１４は、対話ログでスクラップを利用した対話飛ばしの処理を説明するフローチャートである。対話飛ばしとは、スクラップの最後のメッセージを検索し、検索されたメッセージから対話を開始することにより、最後のメッセージまでの一連の対話を飛ばして処理することである。
【００８６】
まず、発話トリガーの入力を受け付ける（ステップＳ１４０１）。発話トリガーの入力に対して、エージェントから「何か用？」と返事される（ステップＳ１４０２）。次に、ユーザーは音声操作により、「年代はどうする？」から始めるよう指示する（ステップＳ１４０３）。エージェントは、複数のスクラップの中から「年代はどうする？」で終わるものを検索する（ステップＳ１４０４）。
【００８７】
そして、検索されたスクラップの最後から処理を再開する（ステップＳ１４０５）。ここで、エージェントは、「年代はどうする？」というメッセージを出力し（ステップＳ１４０６）、ユーザーとの対話を開始する。これにより、「ロック」を選択する動作を省略することができる。また、ユーザースクラップなどで一意の呼び名をつけて呼び出すこともできる。
【００８８】
図１５は、対話ログで類似のスクラップがある場合のスクラップ飛ばし処理を説明する説明図である。スクラップを複数保存したとき、同じ質問で終了するスクラップ処理が存在する場合がある。図１３で説明したように、検索によりスクラップを選択した場合、同一の質問で終了するものが複数挙がってくる場合があるので、その両者を区別する質問を、最後の質問の前に挿入する。
【００８９】
たとえば、図１５に示すように、「ロック」を選択して年代が問われた場合のスクラップ９０２と、「ジャズ」を選択して年代が問われた場合のスクラップ９０５は、オーディオエージェントにより「年代はどうする？」という問いで終了している点で同じである。そこで、音楽ジャンルを問う質問を挿入してスクラップ１５００のようなメッセージを作成することにより区別する。
【００９０】
図１６は、対話ログで類似のスクラップがある場合のスクラップ飛ばし処理を説明するフローチャートである。まず、終了メッセージが同じスクラップを複数検索する（ステップＳ１６０１）。次に、検索された複数のスクラップについて、１つ前の質問にて、さらに違いがあるか否かを判定する（ステップＳ１６０２）。
【００９１】
違いがない場合（ステップＳ１６０２：Ｎｏ）、さらに１つ前の質問にさかのぼる（ステップＳ１６０３）。それにより、さらに違いが見つかるまでさがす。違いがある場合（ステップＳ１６０２：Ｙｅｓ）、その違いのある質問について、必要とされる質問を選択する（ステップＳ１６０４）。
【００９２】
そして、選択された質問を挿入する（ステップＳ１６０５）。なお、質問は自動で作成してもよいし、状況に応じて一意のシナリオにすることもできる。そして、シナリオ飛ばしを再開する（ステップＳ１６０６）。すなわち、エージェントが、その挿入された質問と最後の質問にユーザーが回答することにより、スクラップの処理を実行する。
【００９３】
図１７は、対話ログで顔文字表現する場合の処理を説明する説明図である。一般に、人間同士の伝え切れない感情を表現するために、メール、メッセンジャーにて顔文字、絵、記号が用いられている。図１７に示すログ４０１では、ロック画像１７０１、顔文字１７０２〜１７０５が付加されて表示される。
【００９４】
ロック画像１７０１は、ユーザーの回答である「ロック」に対応し、ロックアーティストの画像をメッセージ表示の近くに表示される。顔文字１７０２は、「何か用？」というメッセージに対応させて表示される。顔文字１７０３は、「ロックにするね。」というメッセージに対応させて表示される。顔文字１７０４は、「年代はどうする？」というメッセージに対応させて表示される。顔文字１７０５は、「了解。」というメッセージに対応させて表示される。
【００９５】
この顔文字などをエージェントにも使用することにより、エージェントの意思を補完し、より自然でストレスのない対話にする。ユーザーの言葉について、イメージを自動的に検索してはめ込む。それにより、対話ログ検索がより容易になる。
【００９６】
図１８は、具体的な顔文字の例を説明する説明図である。質問メッセージ群１８０１に含まれる「何か用？」や「どうかした？」という問いに対しては、顔文字群１８０２が対応している。そこで、顔文字群１８０２に含まれる顔文字の中から、ランダムに１つを選択して顔文字１８０３を挿入する。
【００９７】
また、回答メッセージ群１８０４に含まれる「了解」という了承のメッセージに対しては、顔文字群１８０５が対応している。そこで、顔文字群１８０５に含まれる顔文字の中から、ランダムに１つを選択して顔文字１８０６を挿入する。
【００９８】
また、ユーザーからの回答には、メッセージ１８１０により示される「ロック」や、メッセージ１８１１により示される「ジャズ」が挙げられる。そこで、メッセージ１８１０およびメッセージ１８１１に対して、検索サイトのイメージ検索を用いて、単語に関連する画像を検索する。そして、メッセージ１８１０に対してはロック画像１８１２を、メッセージ１８１１に対してはジャズ画像１８１３を表示することにより、単語に関連するイメージを表現することができる。
【００９９】
以上説明したように、各エージェントがそれぞれ別の機能をもつので、たとえば、エージェントごとに待ち受け語を別々に持たせておくことができる。それにより、多くの待ち受け語を持つことにより処理負担が上がるのを防ぐことができ、１つのエージェントが持つ待ち受け語を少なくしても、エージェントは適切に応答することができる。
【０１００】
また、エージェントごとに待ち受け語を用意することから、余計な語句が減る。それにより、ユーザーはエージェントに対する操作目的とメッセージを明確に意識することができ、待ち受け語を絞ることができる。その結果、誤認識が減ると共に、誤認識時の誘導もやりやすくなる。また、名前呼びかけ時の認識率を向上させることができる。また、専門的な語句を増やすことにより、柔軟性を高めることもできる。その結果として、ユーザーに効率よい対話、情報を提供することができる。
【０１０１】
なお、本実施の形態で説明した対話方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体でもよい。
【図面の簡単な説明】
【０１０２】
【図１】この発明の実施の形態にかかる対話方法の処理を示すフローチャートである。
【図２】この発明の実施の形態にかかる対話方法において、対話の履歴をスクラップする場合の処理を示すフローチャートである。
【図３】この発明の実施例にかかる対話装置のハードウエア構成の一例を示すブロック図である。
【図４】オーディオエージェントとの対話内容を説明する説明図である。
【図５】カーナビエージェントとの対話内容を説明する説明図である。
【図６】複数のエージェントの切り替え処理を説明するフローチャートである。
【図７】対話ログのやり直し処理を説明する説明図である。
【図８】対話ログのやり直し処理の流れを説明するフローチャートである。
【図９】対話ログのスクラップ処理を説明する説明図である。
【図１０】対話ログの範囲を指定してのスクラップ処理を説明する説明図である。
【図１１】対話ログのスクラップ処理の流れを説明するフローチャートである。
【図１２】対話ログの自動スクラップ処理を説明する説明図である。
【図１３】対話ログの繰り返し処理を説明するフローチャートである。
【図１４】対話ログでスクラップを利用した対話飛ばしの処理を説明するフローチャートである。
【図１５】対話ログで類似のスクラップがある場合のスクラップ飛ばし処理を説明する説明図である。
【図１６】対話ログで類似のスクラップがある場合のスクラップ飛ばし処理を説明するフローチャートである。
【図１７】対話ログで顔文字表現する場合の処理を説明する説明図である。
【図１８】具体的な顔文字の例を説明する説明図である。
【図１９】この発明の実施の形態にかかる対話装置の機能的構成を示すブロック図である。
【符号の説明】
【０１０３】
１０１  選択部
１０２  対話部
１０３  実行部
１０４  履歴記録部
１０５  履歴出力部
１０６  指定部
１０７  スクラップ記録部
１０８  検索部
３００  ナビゲーション制御部
３１０  エージェント制御部
３１１  表示部
３１２  表示制御部
３１３  案内音出力部
３１４  スピーカ
３１５  マイク
３１６  音声認識部
３２０  エージェント記憶部
３３０  スクラップ記憶部
【図１】
2006188098.tif 000003
【図２】
2006188098.tif 000004
【図３】
2006188098.tif 000005
【図４】
2006188098.tif 000006
【図５】
2006188098.tif 000007
【図６】
2006188098.tif 000008
【図７】
2006188098.tif 000009
【図８】
2006188098.tif 000010
【図９】
2006188098.tif 000011
【図１０】
2006188098.tif 000012
【図１１】
2006188098.tif 000013
【図１２】
2006188098.tif 000014
【図１３】
2006188098.tif 000015
【図１４】
2006188098.tif 000016
【図１５】
2006188098.tif 000017
【図１６】
2006188098.tif 000018
【図１７】
2006188098.tif 000019
【図１８】
2006188098.tif 000020
【図１９】
2006188098.tif 000021