(57)【要約】【課題】重複又は類似する案内データを繰り返し出力させないデータ提供装置を提供すること。【解決手段】案内データと案内データの出力履歴と案内データの出力を開始させる開始条件とを有するノードＮ１〜Ｎ７から構成されるシナリオＡに沿ってユーザに案内データを提供するデータ提供装置１００は、案内データの出力を開始させたノードにおける案内データの出力履歴を記録する出力履歴記録手段１２と、案内データの出力を開始させたノードに関連する関連ノードにおける案内データの出力履歴を記録する仮想出力履歴制御手段１３とを備える。また、関連ノードの開始条件は、出力履歴を含めて構成される。【選択図】図１
2008158563.tif 000002
【特許請求の範囲】
【請求項１】
案内データと該案内データの出力履歴と該案内データの出力を開始させる開始条件とを有するノードから構成されるシナリオに沿ってユーザに案内データを提供するデータ提供装置であって、
案内データの出力を開始させたノードにおける案内データの出力履歴を記録する出力履歴記録手段と、
前記案内データの出力を開始させたノードに関連する関連ノードにおける案内データの出力履歴を記録する仮想出力履歴制御手段と、を備え、
前記関連ノードにおける開始条件は、出力履歴を含めて構成される、
ことを特徴とするデータ提供装置。
【請求項２】
出力履歴を含む開始条件を生成する開始条件生成手段を更に備える、
ことを特徴とする請求項１に記載のデータ提供装置。
【請求項３】
所定時間内に記録された出力履歴を有するノードにおける案内データの出力を制限するデータ提供手段を備える、
ことを特徴とする請求項１又は２に記載のデータ提供装置。
【請求項４】
前記仮想出力履歴制御手段は、前記関連ノードにおける案内データの出力履歴を削除する、
ことを特徴とする請求項１乃至３の何れか一項に記載のデータ提供装置。
【請求項５】
案内データと該案内データの出力履歴と該案内データの出力を開始させる開始条件とを有するノードから構成されるシナリオに沿ってユーザに案内データを提供するデータ提供方法であって、
案内データの出力を開始させたノードにおける案内データの出力履歴を記録する出力履歴記録ステップと、
前記案内データの出力を開始させたノードに関連する関連ノードにおける案内データの出力履歴を記録する仮想出力履歴制御ステップと、を備え、
前記関連ノードにおける開始条件は、出力履歴を含めて構成される、
ことを特徴とするデータ提供方法。
【請求項６】
出力履歴を含む開始条件を生成する開始条件生成ステップを更に備える、
ことを特徴とする請求項５に記載のデータ提供方法。
【請求項７】
所定時間内に記録された出力履歴を有するノードにおける案内データの出力を制限するデータ提供ステップを備える、
ことを特徴とする請求項５又は６に記載のデータ提供方法。
【請求項８】
前記仮想出力履歴制御ステップにおいて、前記関連ノードにおける案内データの出力履歴を削除する、
ことを特徴とする請求項５乃至７の何れか一項に記載のデータ提供方法。
【請求項９】
請求項５乃至８の何れかに記載のデータ提供方法をコンピュータに実行させるためのデータ提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、案内データを有するノードで構成されるシナリオに沿ってノードを遷移させながらユーザに案内データを提供するデータ提供装置、データ提供方法及びデータ提供プログラムに関し、特に、重複又は類似する案内データを短期間に繰り返し出力させないようにするデータ提供装置、データ提供方法及びデータ提供プログラムに関する。
【背景技術】
【０００２】
従来、状況に応じた質問や提案等を通じて車輌の搭乗者とコミュニケーションを取り機器操作等を自律的に行う車載装置が知られている（例えば、特許文献１参照。）。
【０００３】
この車載装置は、自律起動条件を満たしたシナリオが複数存在する場合、シナリオの種類による実行優先順位、自律起動条件による実行優先順位、及び、シナリオ作成者が設定した実行優先順位に基づいてシナリオの実行順位を決定する。
【０００４】
これにより、この車載装置は、一定の統一された順序でシナリオを実行することができ、安全装置系や制御系に関するシナリオを優先的に実行させたりすることもできる。
【特許文献１】特開２００５−１９０１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の車載装置は、現時点における状況のみに基づいてシナリオの実行順位を決定するので、重複又は類似するシナリオを連続して起動させてしまい、ユーザに煩わしさや不快感を与えてしまう場合がある。
【０００６】
上述の点に鑑み、本発明は、重複又は類似する案内データを繰り返し出力させないようにするデータ提供装置、データ提供方法及びデータ提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の目的を達成するために、第一の発明に係るデータ提供装置は、案内データと該案内データの出力履歴と該案内データの出力を開始させる開始条件とを有するノードから構成されるシナリオに沿ってユーザに案内データを提供するデータ提供装置であって、案内データの出力を開始させたノードにおける案内データの出力履歴を記録する出力履歴記録手段と、前記案内データの出力を開始させたノードに関連する関連ノードにおける案内データの出力履歴を記録する仮想出力履歴制御手段と、を備え、前記関連ノードにおける開始条件は、出力履歴を含めて構成されることを特徴とする。
【０００８】
また、第二の発明は、第一の発明に係るデータ提供装置であって、出力履歴を含む開始条件を生成する開始条件生成手段を更に備えることを特徴とする。
【０００９】
また、第三の発明は、第一又は第二の発明に係るデータ提供装置であって、所定時間内に記録された出力履歴を有するノードにおける案内データの出力を制限するデータ提供手段を備えることを特徴とする。
【００１０】
また、第四の発明は、第一乃至第三の何れかの発明に係るデータ提供装置であって、前記仮想出力履歴制御手段は、前記関連ノードにおける案内データの出力履歴を削除することを特徴とする。
【００１１】
また、第五の発明に係るデータ提供方法は、案内データと該案内データの出力履歴と該案内データの出力を開始させる開始条件とを有するノードから構成されるシナリオに沿ってユーザに案内データを提供するデータ提供方法であって、案内データの出力を開始させたノードにおける案内データの出力履歴を記録する出力履歴記録ステップと、前記案内データの出力を開始させたノードに関連する関連ノードにおける案内データの出力履歴を記録する仮想出力履歴制御ステップと、を備え、前記関連ノードにおける開始条件は、出力履歴を含めて構成されることを特徴とする。
【００１２】
また、第六の発明は、第五の発明に係るデータ提供方法であって、出力履歴を含む開始条件を生成する開始条件生成ステップを更に備えることを特徴とする。
【００１３】
また、第七の発明は、第五又は第六の発明に係るデータ提供方法であって、所定時間内に記録された出力履歴を有するノードにおける案内データの出力を制限するデータ提供ステップを備えることを特徴とする。
【００１４】
また、第八の発明は、第五乃至第七の何れかの発明に係るデータ提供方法であって、前記仮想出力履歴制御ステップにおいて、前記関連ノードにおける案内データの出力履歴を削除することを特徴とする。
【００１５】
また、第九の発明に係るデータ提供プログラムは、第五乃至第八の何れかの発明に係るデータ提供方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
上述の手段により、本発明は、重複又は類似する案内データを繰り返し出力させないようにするデータ提供装置、データ提供方法及びデータ提供プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【実施例】
【００１８】
（１）実施例の概要
図１は、本発明に係るデータ提供装置１００の構成例を示すブロック図であり、図１に示すデータ提供装置１００は、シナリオに沿って音声案内を出力しながらユーザが必要とするデータを提供する装置であり、例えば、カーナビゲーションシステムにおける目的地設定や観光案内に利用される。
【００１９】
「シナリオ」とは、音声案内データとその音声案内データの出力を開始させるための開始条件と音声案内データの出力履歴とから構成される情報の集合（以下、「ノード」という。）をツリー状に連結したデータ構造をいい、このデータ構造により音声案内の順序を規定する。
【００２０】
また、各シナリオは、例えば、高速道路走行中に出力されるシナリオ、登録された施設に接近した場合に出力されるシナリオといった特定の内容（テーマ）を有し、ルートノード（ツリー構造の最上位にあるノードをいう。）の開始条件が満たされた場合に実行が開始され、その後、ブランチノード（ツリー構造の分岐点にあるノードをいう。）又はリーフノード（ツリー構造の末端にあるノードをいう。）の開始条件を判定しながらユーザに音声案内を提供する。
【００２１】
なお、開始条件が満たされシナリオ又はシナリオ内の各ノードにおける音声案内等の所定の処理が開始されることをシナリオ又はシナリオ内の各ノードの「発火」といい、シナリオ又はシナリオ内の各ノードの開始条件のことを「発火条件」という。
【００２２】
また、シナリオ又はシナリオ内の各ノードの発火条件が満たされたか否かを判定し、発火条件が満たされた場合に音声案内等の所定の処理を開始させ、発火条件が満たされない場合にその判定処理を周期的に繰り返し実行させる制御のことを「発火制御」といい、シナリオ又はシナリオ内の各ノードが開始した場合にそのシナリオ又はシナリオ内の各ノードに関連付けて生成される履歴を「発火履歴データ」という。
【００２３】
図２は、シナリオのツリー構造を示す図であり、シナリオＡがルートノードＮ１、ブランチノードＮ２、Ｎ３、リーフノードＮ４、Ｎ５、Ｎ６を有することを示す。
【００２４】
図３は、ノードの構成例を示す図であり、各ノードは、発火条件部５０、音声案内データ部５１、発火履歴部５２を有し、データ提供装置１００は、発火制御により各ノードの発火条件が満たされたと判定すると、対応する音声案内データに基づいて音声案内を音声出力部４から出力させ、対応する発火履歴部５２に発火履歴データを記録する。
【００２５】
図４は、発火履歴部５２の構成例を示す図であり、発火履歴部５２は、ＩＤ、発火日、発火時刻等を有する発火履歴データから構成される。
【００２６】
また、シナリオの各ノードが有する音声案内データに基づいて出力される音声案内は、複数のシナリオにおける複数のノードでその内容が重複又は類似する場合がある。例えば、高速道路走行中に出力されるシナリオには、昼食のためのお店を紹介する音声案内データを有するノードがあり、登録された施設に接近した場合に出力されるシナリオにも、昼食のためのお店を紹介する音声案内データを有するノードがあるといった場合である。
【００２７】
そこで、データ提供装置１００は、あるシナリオにおけるノードの音声案内データに基づいて音声案内を行った場合に、その音声案内データと重複又は類似する音声案内データを有するノードを他のシナリオ群から探し出し、探し出したノードの発火を禁止することにより、短期間の間に重複又は類似する内容の音声案内を繰り返し音声出力させないようにする。例えば、運転者が昼食休憩を取った直後に昼食の案内をするようなシナリオを発火させないようにする。
【００２８】
これにより、データ提供装置１００は、ユーザに不快感を与えてしまうのを防止することができる。
（２）実施例の詳細
図１を参照すると、データ提供装置１００は、制御部１、音声取得部２、記憶部３及び音声出力部４から構成され、所定のシナリオに沿って記憶部３に記憶された音声案内データを読み出して音声出力部４からその音声案内データを出力する。
【００２９】
制御部１は、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）等を備えたコンピュータであり、音声認識手段１０、データ提供手段１１、出力履歴記録手段１２、仮想出力履歴制御手段１３及び開始条件生成手段１４に対応するプログラムをＲＯＭに記憶し、それらプログラムをＲＡＭ上に展開して対応する処理をＣＰＵに実行させる。
【００３０】
音声取得部２は、ユーザが発する音声を取得するための装置であり、例えば、車輌を運転するドライバの音声を確実に認識できるよう指向性を備えたマイクが用いられる。
【００３１】
また、音声取得部２は、入力音検知機能を備え、定常雑音以外の音をユーザの発話による音声として取得してもよく、音量や音の長さに基づいて取得する音声を取捨選択してもよい。また、音声取得部２は、発話検出機能を備え、入力される音声のうち人の発話部分のみを検出して取得するようにしてもよい。なお、音声取得部２は、取得したユーザの音声を制御部１に出力する。
【００３２】
記憶部３は、データ提供装置１００が必要とする各種情報を記憶するための装置であり、例えば、図２乃至図４で示したデータ構造を有する複数のシナリオを体系的に構成したシナリオデータベース３０を格納するハードディスクである。
【００３３】
音声出力部４は、音声案内データを音声出力するための装置であり、例えば、制御部１から出力される音声案内データを音声出力する車載スピーカである。
【００３４】
次に、制御部１が有する各種手段について詳細に説明する。
【００３５】
音声認識手段１０は、ユーザ音声をテキストデータとして認識するための手段であり、例えば、音声取得部２を介して取得したユーザ音声をテキストデータに変換する。
【００３６】
また、音声認識手段１０は、ユーザ音声をテキストデータとして認識するばかりでなく、認識結果の信頼度、ユーザ音声の長さ（語数又は時間）、ユーザ音声の発話速度若しくは発話速度変化、又は、ユーザ音声の発話音量等の特徴を検出し、それら特徴をテキストデータに関連付けて記憶するようにしてもよい。ユーザが発話に込めた意思をより正確に認識するためである。
【００３７】
データ提供手段１１は、シナリオに沿って音声案内データを提供するための手段であり、例えば、複数のシナリオのルートノードに規定された発火条件を周期的に順番に判定し（例えば、各発火条件を５秒毎に判定する。）、発火条件を満たしたルートノードの音声案内データを音声出力部４から出力させる。
【００３８】
発火条件は、例えば、所定のキーワードが発話されたか否かに基づいて設定されてもよく、外部情報又はユーザプロファイルに基づいて設定されてもよい。
【００３９】
「所定のキーワード」とは、音声案内に対する応答としてユーザが発話するものと期待される語又は語の組み合わせをいい、データ提供手段１１は、音声認識手段１０がテキストデータを形態素解析等により形態素に分割して取得した語と登録されたキーワードとを照合することにより発火条件が満たされるか否かの判定を行う。
【００４０】
また、「外部情報」とは、ウィンドウの開閉状態、エンジンの始動・停止状態、燃料残量、ブレーキ使用状態、車速、アクセル開度、エアコン設定温度、車載ラジオ使用状態等の情報をいう。
【００４１】
また、「ユーザプロファイル」とは、運転者の性別、家族構成、誕生日、趣味、長時間運転する場合の休憩取得間隔、車輌使用頻度（朝晩毎日、朝晩平日、週末、月一回、夕方毎日等）、好きな食べ物、好きな音楽等をいう。
【００４２】
このように、データ提供装置１００は、例えば、「ユーザが“○○”を発話した場合に発火させる」、「車輌を週末に使用するユーザが車輌を平日に使用した場合に発火させる」、「ウィンドウが開いている状態でエンジンを停止させた場合に発火させる」、又は、「通常６０分間隔で休憩を入れるユーザが９０分を超えても休憩を取っていない（運転を継続させる）場合に発火させる」等の発火条件を設定することができる。
【００４３】
また、データ提供装置１００は、発火履歴を用いて発火条件を設定するようにしてもよい。例えば、「６０分に一回だけしか発火させない」といったインターバル時間（あるシナリオ又はノードが一度発火した後、次に発火できるようになるまでの時間をいう。）や「一日に三回だけ発火させる」といった発火頻度に関する条件を、上述のようなキーワード、外部情報又はユーザプロファイルに基づく発火条件に代え、或いは、加えるようにしてもよい。
【００４４】
また、データ提供装置１００は、インターバル時間や発火頻度に関する条件を予め発火条件に含めておいてもよく（例えば、シナリオ作成時にシナリオ作成者が発火条件を設定する。）、動的に発火条件に追加するようにしてもよい。
【００４５】
出力履歴記録手段１２は、シナリオ又はノードが発火した場合にそのシナリオ又はノードにおける発火履歴を生成するための手段であり、例えば、データ提供手段１１が発火制御により発火させたシナリオＡのルートノードＮ１にある発火履歴部５２にシナリオＡが発火した日時を記憶し（図２及び図４参照。）、シナリオツリーに沿ってノードが発火するに従い、発火した各ノードにある発火履歴部５２に各ノードが発火した日時を記憶していく。
【００４６】
仮想出力履歴制御手段１３は、あるシナリオ又はノードが発火した場合に、実際には発火していない別のシナリオ又はノードの発火履歴を制御するための手段である。
【００４７】
仮想出力履歴制御手段１３は、ノード対応データベース（あるノードとそのノードに音声案内データの内容が重複又は類似するノード（以下、「関連ノード」という。）とを予め対応付けて登録したデータベースである。）を参照して、実際には発火していない別のシナリオ又はノードの発火履歴データを生成してそれぞれの発火履歴部５２に記録する。
【００４８】
また、仮想出力履歴制御手段１３は、ノード対応データベースを参照して、実際には発火していないシナリオ又はノードにおける発火履歴部５２に記録された発火履歴データを削除するようにしてもよい。仮想的に発火履歴が生成され発火が制限されたノードを再度発火できるようにするためである。
【００４９】
この場合、仮想出力履歴制御手段１３は、実際には発火していないシナリオ又はノードにおける発火履歴部５２に記録された発火履歴データのうち、過去の所定期間内（例えば、一日、６時間、１時間等である。）に出力履歴記録手段１２が記録した発火履歴、又は、過去の所定期間内に仮想出力履歴制御手段１３が生成し記録した発火履歴を削除するようにしてもよく、出力履歴記録手段１２又は仮想出力履歴制御手段１３により過去に記録された所定数の発火履歴を削除するようにしてもよい。
【００５０】
なお、データ提供装置１００は、ＴＦ−ＩＤＦ(Term  Frequency−Inverse  Document  Frequency)法を用いてノードとその関連ノードとを静的に対応付けるようにしてもよく（予め対応付けを登録しておくことをいう。）、或いは、動的に対応付けるようにしてもよい（リアルタイムで随時対応付けを行うことをいう。）。
【００５１】
この場合、データ提供装置１００は、ＴＦ−ＩＤＦ法を用いることで、各ノードにおける音声案内データに含まれるキーワードの中から重要なキーワードを特定し、その重要なキーワードが同一となる音声案内データを有するノードを関連ノードとして相互に対応付ける。
【００５２】
データ提供装置１００は、動的に関連ノードを対応付ける場合、現在の外部情報やユーザプロファイルを考慮するようにしてもよい。例えば、高速道路走行中にキーワード「Ａ」を含む音声案内データを有するノードを発火させた場合、キーワード「高速道路」及び「Ａ」を含む音声案内データを有するノードを関連ノードとして対応付けるようにする。
【００５３】
また、データ提供装置１００は、例えば、上位概念「食事」に対応付けてキーワード「ランチ」、「レストラン」、「お昼」等を登録しておき、ＴＦ−ＩＤＦ法を用いて特定したキーワードのうち上位概念が等しくなるキーワード（例えば、キーワード「ランチ」に対してキーワード「お昼」をいう。）を有するノードを関連ノードとして対応付けてもよい。
【００５４】
この方法を用いることで、データ提供装置１００は、新たなシナリオを追加した場合にも、迅速かつ確実にノード同士を対応付けることができる。
【００５５】
さらに、データ提供装置１００は、重複又は類似の対応付けをシナリオ単位で行ってもよい。ノード単位では重複又は類似するが、シナリオ単位では重複も類似もしない場合があるからである。
【００５６】
なお、ノード単位で重複又は類似を設定する場合、排他制御（重複又は類似するノードを繰り返し発火させないようにする発火制御をいう。）をより詳細に実行できるという利点があり、シナリオ単位で重複又は類似を設定する場合、排他制御を簡略化させ、データ提供装置１００全体の処理速度を向上させることができるという利点がある。
【００５７】
開始条件生成手段１４は、開始条件（発火条件）を動的に生成する手段であり、例えば、あるノードが発火した場合に、別のシナリオ又はノードの発火条件にインターバル時間や発火頻度に関する条件を付加したり、別のシナリオ又はノードの発火条件からインターバル時間や発火頻度に関する条件を削除したりする。
【００５８】
次に、データ提供装置１００がノードの発火履歴を制御する処理の流れについて説明する。なお、図５は、この処理の流れを示すフローチャートであり、この処理は、周期的（例えば、５秒毎）に繰り返し実行されるものとする。
【００５９】
最初に、データ提供手段１１は、複数のシナリオのルートノードにある発火条件が満たされるか否かを所定の順番で判定し（ステップＳ１）、発火条件を満たすルートノードが見つかるまでこの発火制御を継続させる（ステップＳ１のＮＯ）。
【００６０】
発火条件を満たすルートノードを見つけた場合（ステップＳ１のＹＥＳ）、データ提供手段１１は、そのルートノードを有するシナリオを発火させ（ステップＳ２）、そのルートノードにおける音声案内データに基づいて音声案内を音声出力部４から出力させる。
【００６１】
その後、データ提供手段１１は、出力履歴記録手段１２によりそのルートノードの発火履歴部５２に発火履歴データを記録する（ステップＳ３）。
【００６２】
その後、データ提供装置１００は、記憶部３に記憶されたノード対応データベースを参照し、上述において発火させたルートノードに関連する関連ノードが存在するか否かを判定し（ステップＳ４）、関連ノードが存在する場合（ステップＳ４のＹＥＳ）、仮想出力履歴制御手段１３によりそのルートノードに関連する関連ノードの発火履歴部５２に発火履歴データを記録する（ステップＳ５）。
【００６３】
その後、開始条件生成手段１４は、その関連ノードにおける発火条件に発火履歴による関係式（例えば、インターバル時間や発火頻度に関する条件をいう。）を追加し（ステップＳ６）、新たに生成された発火条件が満たされない限りその関連ノードを発火させないようにして（重複又は類似する音声案内を出力させないようにして）、一旦処理を終了させる。
【００６４】
その後、データ提供手段１１は、次のノード（この場合、遷移可能なノードは、原則的に、発火させたルートノードの下位にあるブランチノード又はリーフノードに限定される。）が発火条件を満たすか否かを判定し、そのノード又は関連ノードの発火履歴を制御するためにステップＳ１からの処理を再開させる。
【００６５】
関連ノードが存在しない場合（ステップＳ４のＮＯ）にも、データ提供手段１１は、一旦処理を終了させ、次のノードが発火条件を満たすか否かを判定し、そのノード又は関連ノードの発火履歴を制御するためにステップＳ１からの処理を再開させる。
【００６６】
次に、データ提供装置１００が重複又は類似する音声案内を回避する処理の流れについて説明する。図６は、その処理を模式的に説明するための図であり、景勝地に接近した場合に発火するシナリオＡ、高速道路を走行中に所定時間（例えば、一時間）経過する毎に発火するシナリオＢ、及び、高速を降りた場合に発火するシナリオＣを示す。
【００６７】
なお、シナリオＡのノードＮ６、シナリオＢのノードＮ１５、及び、シナリオＣのノードＮ２４は、昼食のためのお店を紹介する音声案内が割り当てられており、関連ノードとして相互に対応付けられているものとする。
【００６８】
また、図６は、シナリオＡのノードＮ１、Ｎ２、Ｎ３及びＮ６が順次発火し、出力履歴記録手段１２がノードＮ１、Ｎ２、Ｎ３及びＮ６の各発火履歴部５２に発火履歴データを記録した状態を示す（発火履歴データが記録されたノードを灰色で示す。）。
【００６９】
これは、景勝地に接近したことで発火したシナリオＡによって、データ提供装置１００は、ノードＮ１、Ｎ２、Ｎ３を経て、ノードＮ６を発火させ、景勝地に関するいくつかの音声案内を出力した後、昼食のためのお店を運転者に紹介したことを意味する。
【００７０】
また、図６は、シナリオＡのノードＮ６が発火し、出力履歴記録手段１２によりノードＮ６の発火履歴部５２に発火履歴データが記録された時点で、仮想出力履歴制御手段１３によりシナリオＢのノードＮ１５及びシナリオＣのノードＮ２４における発火履歴部５２に発火履歴データが記録された状態を示す（発火履歴データが記録されたノードを灰色で示す。）。
【００７１】
なお、シナリオＢのノードＮ１５における発火条件は、「最近の発火履歴から所定時間（例えば、三時間）が経過した場合に発火可能」の条件を含み、シナリオＣのノードＮ２４における発火条件は、「一日に一回だけ発火可能」の条件を含むものとする。
【００７２】
これは、高速道路を走行中に前回のシナリオＢの発火から所定時間が経過しシナリオＢのルートノードＮ１１が再度発火した場合であっても、シナリオＡのノードＮ６が発火してから所定時間（例えば、三時間）が経過していない限り、シナリオＢのノードＮ１５を発火させないことを意味する。但し、ノードＮ１１からノードＮ１３、又は、ノードＮ１１からノードＮ１２、Ｎ１４を経てノードＮ１６若しくはノードＮ１７へ遷移することは可能である。
【００７３】
同様に、高速を降りたことでシナリオＣのルートノードＮ２１が発火した場合であっても、シナリオＡのノードＮ６が同日に発火していた場合には、データ提供手段１１は、シナリオＣのノードＮ２４（ノードＮ２４の下位にあるノードＮ２７も含む。）を発火させないことを意味する。但し、ノードＮ２１からノードＮ２２、Ｎ２３を経てノードＮ２５又はノードＮ２６へ遷移することは可能である。
【００７４】
なお、シナリオＡ、Ｂ、Ｃ以外の他のシナリオが発火され、仮想出力履歴制御手段１３により更にノードＮ２３にも発火履歴データが記録された場合（シナリオＣのノードＮ２３における発火条件は、「一日に一回だけ発火可能」の条件を含むものとする。）、データ提供手段１１は、シナリオＣのノードＮ２３（ノードＮ２３の下位にあるノードＮ２５及びＮ２６も含む。）を発火させないこととなり、遷移可能な下位ノードを失ったノードＮ２２、ひいては、ルートノードＮ２１（シナリオＣ自体を意味する。）を発火させないようにしてもよい。
【００７５】
なお、データ提供装置１００は、シナリオＡのノードＮ６を発火させた場合に、外部情報として車輌が高速道路を走行中であることを取得し、ルートノードＮ１１の発火条件に「高速道路走行中であること」を含むシナリオＢにおけるノードＮ１５のみに発火履歴データを記録し、ルートノードＮ２１の発火条件に「高速道路走行中であること」を含まないシナリオＣにおけるノードＮ２４には発火履歴データを記録しないようにしてもよい。
【００７６】
高速道路走行中に既に昼食のためのお店を紹介していた場合であっても、高速を降りた場合では走行環境が異なるため、再度、昼食のためのお店を紹介したとしても、ユーザに不快感を与えることはないからである。
【００７７】
以上の構成により、データ提供装置１００は、重複又は類似する案内データを短期間に繰り返し出力させないようにすることで、ユーザに煩わしさや不快感を与えないようにすることができる。
【００７８】
また、データ提供装置１００は、重複又は類似する案内データを短期間に繰り返し出力させないようにすることで、情報処理に掛かる負荷を低減させることができる。
【００７９】
また、データ提供装置１００は、インターバル時間や発火頻度を発火条件として用いるので、ユーザに煩わしさや不快感を与えないようにしながらも、案内データを適切なタイミングで繰り返し提供することができる。
【００８０】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【００８１】
例えば、上述の実施例では、データ提供装置１００は、発火したノード及びその関連ノードに対して発火履歴データ（例えば、発火した日時）を記録し、かつ、発火条件に発火履歴データを利用することで音声案内データの出力を制御するが、発火履歴として各種フラグを設定するようにしてもよい。
【００８２】
例えば、昼食のためのお店を紹介するノードを発火させた場合には、「昼食紹介済み」のフラグをオンにしたり、「昼食はお済みですか？」といった質問に対するユーザの応答を音声認識しユーザが昼食を済ましたことを認識した場合に「昼食済み」のフラグをオンにしたりすることで発火履歴データ（特定のノードを発火させたという事実）を記録するようにし、かつ、発火条件に各種フラグの真偽を利用するようにしてもよい。
【００８３】
また、データ提供装置１００は、「昼食済み」フラグをオンにしてから所定時間経過した場合に同フラグをオフにしたり、「お腹が空きましたか？」といった質問に対するユーザの応答を音声認識しユーザの空腹を認識した場合に「昼食済み」のフラグをオフにしたりしてもよい。
【００８４】
また、上述の実施例では、音声案内データの発火を制御するが、画像データやテキストデータの発火を制御するようにしてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明に係るデータ提供装置の構成例を示すブロック図である。
【図２】シナリオのツリー構造を示す図である。
【図３】ノードの構成例を示す図である。
【図４】発火履歴部の構成例を示す図である。
【図５】データ提供装置がノードの発火履歴を制御する処理の流れを示すフローチャートである。
【図６】データ提供装置が重複又は類似する音声案内を回避する処理を模式的に説明するための図である。
【符号の説明】
【００８６】
１      制御部
２      音声取得部
３      記憶部
４      音声出力部
１０    音声認識手段
１１    データ提供手段
１２    出力履歴記録手段
１３    仮想出力履歴制御手段
１４    開始条件生成手段
３０    シナリオデータベース
５０    発火条件部
５１    音声案内データ部
５２    発火履歴部
１００  データ提供装置
Ｎ１〜Ｎ６、Ｎ１１〜Ｎ１７、Ｎ２１〜Ｎ２７  ノード
【図１】
2008158563.tif 000003
【図２】
2008158563.tif 000004
【図３】
2008158563.tif 000005
【図４】
2008158563.tif 000006
【図５】
2008158563.tif 000007
【図６】
2008158563.tif 000008