ドライバーとの対話処理を行う車両用装置であって、サーバと通信する通信部と、ドライバーに対して音声情報を出力する出力部と、ドライバーの発話に基づく情報を入力する入力部と、前記通信部と前記出力部と前記入力部とを制御する制御部とを備え、前記制御部は、前記車両用装置または前記サーバにおいて対話処理を開始するトリガー情報が発生した場合に、対話処理における始点とする第一の対話の種類を示す情報と、前記第一の対話の種類とは異なる、対話処理における終点とする第二の対話の種類を示す情報とを前記サーバより受信し、受信した情報に基づいて対話処理を実行する制御を行う。
【発明を実施するための形態】
【0009】
以下、本発明に係る実施例を図面を用いて説明する。
先ず、
図1を用いて本実施例に係るドライバーとの対話処理システムの構成について説明する。
【0010】
図1は、本実施例に係るシステム全体の機能構成図である。本実施例に係る対話処理システムは、
図1に示すように車両用装置2とサーバ3とから構成され、車両用装置2とサーバ3とが通信回線31により接続されている。車両用装置2とサーバ3とを接続する通信回線31は、例えば3G回線などの無線回線である。
【0011】
図1を用いてサーバ3のソフトウェア構成について説明する。
サーバ3は対話制御処理部4を備える。対話制御処理部4は、外部サーバイベント受信処理部5、車両用装置イベント受信処理部6、対話ドメイン・センテンス選択処理部7、発話制御処理部8、提示手段選択処理部9、ドライバー状態推定処理部10、一連の対話状態管理処理部11、環境情報受信処理部12、サービス契約状態記憶部21、環境情報記憶部22、ID関連記憶部23、センテンス記憶部24、トリガーキュー25、トリガー優先度定義26を含む。
【0012】
外部サーバイベント受信処理部5は、外部サービスサーバ(51〜55)から後述する外部サーバイベントを受信する。
車両用装置イベント受信処理部6は、車両用装置2から後述する車両用装置イベントを受信する。
環境情報受信処理部12は、車両用装置2から後述する環境情報を受信する。
サービス契約状態記憶部21は、ドライバーが契約する後述する外部サービスの契約状態を記憶する。
環境情報記憶部22は、環境情報受信部12で受信した環境情報を記憶する。
【0013】
ID関連記憶部23は、イベントID、トリガーID、対話ドメインID、センテンスIDの関連を記憶する。
【0014】
ここで、各IDについて説明する。対話制御処理部4は、イベント、トリガー、対話ドメイン、センテンスの各々に固有のIDを付与することで、各々を一意に識別する。
イベントとは後述する外部サーバイベントまたは車両用装置イベントである。トリガーとは、単一のイベント、または、複数のイベントの組み合わせに対応づけて定義される、一連の対話を開始するためのきっかけとする情報である。
ID関連記憶部23は、イベントIDが入力された場合に、対応するトリガーIDを出力できるようなデータ構造を構成する。
【0015】
また、対話ドメインとは、ドライバーと対話制御処理部4とが一連の対話を行う際の具体的な話題や目的などを含む対話の種類であり、例えば、交通情報、ニュース、エコ運転診断などの名称によって定義される。
ID関連記憶部23は、トリガーIDが入力された場合に、対応する対話ドメインIDを出力できるようなデータ構造を構成する。
【0016】
センテンスとは、上記の対話ドメインの文脈において、ドライバーと対話制御処理部4とがやりとりする対話文である。
各々のセンテンスは、何れかの対話ドメインにおける一連の対話においてやりとりされることから、各々のセンテンスは、何れかの対話ドメインに包含されるという関係が成立する。このため、ID関連記憶部23は、ある対話ドメインIDが入力された場合に、対応する、複数または単数のセンテンスIDを出力できるようなデータ構造を構成する。
【0017】
ここで、対話の始点または終点とするセンテンスと、対話の始点または終点としないセンテンスとを識別可能とできるように、センテンスIDには、「始点かつ終点」、「始点」、「終点」、「始点でも終点でもない」、「中間報告」等の属性を付加して記憶し、センテンスIDを出力する際に、当該属性も併せて出力可能とする。
【0018】
このように属性を付加することで、ID関連記憶部23は、ある対話ドメインIDと属性情報とを入力された場合に、対応するセンテンスIDのうち、当該属性を有するセンテンスIDのみを抽出して出力することができる。
【0019】
なお、上記のデータ構造は、例えば、イベントIDを上位として、トリガーID、対話ドメインID、センテンスIDを順次下位に配置していく木(ツリー)状構造によって実現することもできる。
【0020】
図1に戻り、対話ドメイン・センテンス選択処理部7は、外部サーバイベント受信処理部5と車両用装置イベント受信処理部6とから受信するイベントに応じて、サービス契約状態記憶部21および環境情報記憶部22に記憶される情報、および、ID関連記憶部23に記憶する情報によって、一連の対話のきっかけとなるトリガーを生成し、センテンス記憶部24に記憶する情報によって、始点とするセンテンスIDおよび終点とするセンテンスIDを抽出する。そして、生成したトリガーと抽出したセンテンスIDを発話制御処理部8に送信する。ここで、一連の対話とは、ドライバーが発話するセンテンスと、システム側が発話するセンテンスとの複数のセンテンスによって構成される対話をいう。一連の対話については後述する。
【0021】
センテンス記憶部24は、一連の対話において発話されるセンテンスとセンテンスIDとを対応づけて記憶する。
ドライバー状態推定処理部10は、環境情報記憶部22の環境情報によって後述するドライバーの状態を推定する。
一連の対話状態管理処理部11は、ドライバーとシステムとが一連の対話中か否かの状態を管理する。
【0022】
発話制御処理部8は、ドライバー状態推定処理部10で管理するドライバーの状態に応じて、対話ドメイン・センテンス選択処理部7から受信した複数のセンテンスIDから、実際に対話に使用するセンテンスのセンテンスIDをさらに抽出する。また、ドライバーが発話する内容に基づくドライバー発話データのセンテンスに対応するセンテンスを、予め定義された対応付けに従ってドライバーに対して発話する制御を行う。なお、ドライバー発話データは音声データであってもドライバーが発話した音声データをテキストデータに変換したものであっても良い。
【0023】
また、トリガーを受信した際に、一連の対話状態管理処理部11の状態を参照し、一連の対話の途中であると判定した場合は、1)受信したトリガーをトリガーキュー25に一時的に保存するか、または、2)トリガー優先度定義26を参照して受信したトリガーの優先度が高優先度である場合には既に実施中の一連の対話を中断して受信したトリガーに対応する一連の対話を開始する。また、終点とするセンテンスIDに対応するセンテンスを発話した場合には一連の対話が終了したことを一連の対話記憶部11に記録する。
【0024】
提示手段選択処理部9は、ドライバーの状態に応じて、ドライバーに対して発話するか、システム側からの問いかけに対する回答を選択するためのGUI(Graphical User Interface)を提示するか、発話と提示をともに行うか等を選択し、選択されたコンテンツを車両用装置2に送信する。
【0025】
ここで、コンテンツはシステム発話データおよび/または選択リストによって構成される。システム発話データはテキストデータであっても音声データであっても良い。
【0026】
次に、
図1を用いて車両用装置2のソフトウェア構成について説明する。
車両用装置2は、車両信号入力処理部41、位置検知処理部42、車両用装置操作状態検知処理部43、音声入力処理部44、車両用装置イベント・環境情報送信処理部45、コンテンツ受信・提示処理部46を備えている。
【0027】
車両信号入力処理部41は、車両信号インタフェース207から車両のCAN(Control Area Network)の情報を参照する。CANの情報として、例えば、後述する環境情報の車両状況を参照する。車両状況とは、例えば、加速度や速度が大きく変化したことなどに基づく情報である。
位置検知処理部42は、後述する測位センサ204、ジャイロセンサ205、加速度センサ206から車両の位置を検知する。
車両用装置操作状態検知処理部43は、車両用装置が記憶するドライバーによる車両用装置操作状態を参照する。なお、車両用装置操作状態とは、例えば後述する環境情報の車両用装置状況であり、例えば、ナビ操作中(カーナビゲーションアプリのメニューを操作中等)であることなどに基づく情報である。
【0028】
音声入力処理部44は、後述する入力部202のマイクによってドライバーからの音声入力を受ける。また、後述する環境情報の車室内状況を参照する。車室内状況とは、例えば、単数人または複数人の声がマイクに入力されていることなどに基づく情報である。
車両用装置イベント・環境情報送信処理部45は、車両信号入力処理部41、位置検知処理部42、車両用装置操作状態検知処理部43からの情報をもとに車両用装置イベントおよび/または環境情報を生成してサーバ3に送信する。
コンテンツ受信・提示処理部46は、サーバ3からコンテンツを受信し、ドライバーに提示する。コンテンツのシステム発話データの再生にあたっては、テキストデータを音声データに変換して再生するためのTTS(Text To Speech)機能を使用することができる。なお、、上記したコンテンツの選択リストは、ドライバーに対して、例えば、「A.はい、B.いいえ」、「A.名詞1、B.名詞2」等のAかBかの選択肢を提示するためのリストである。この選択肢は、コンテンツ受信・提示処理部46がGUIのボタンと重畳させて提示し、ドライバーに対して選択を促すことができる。
【0029】
図2は、車両用装置のハードウェア構成図である。
車両用装置2は、
図2に示すようにハードウェア構成として、CPU200、ベースバンドプロセッサ201、入力部202、メインメモリ203、測位センサ204、ジャイロセンサ205、加速度センサ206、車両信号インタフェース207、補助記憶部208、表示部209、無線通信インタフェース211を備え、各構成部がバス210で結合されている。
【0030】
CPU(Central Processing Unit)200は、車両用装置2の各構成部を制御し、メインメモリ203上にロードされる車両用装置のアプリケーションソフトウェアを実行する演算、制御のためのユニットである。なお、
図1にて示した車両用装置2の各処理部は、このアプリケーションソフトウェアとして実行される。また、
図1にて示した車両用装置2の各記憶部は、補助記憶装置208に実装され、各処理部から参照される。
【0031】
入力部202は、ユーザが車両用装置2を指で操作するボタン、スイッチ、キーボード、タッチパネル、あるいは、マイク等から構成される。
メインメモリ203は、補助記憶部208に記憶されているプログラムをロードして一時的に保管したり、ワークデータを記憶する半導体記憶装置である。
【0032】
無線通信インタフェース211は、ベースバンドプロセッサ201の信号を無線帯域の高周波信号に変換したり、逆に、無線帯域の高周波信号をベースバンドプロセッサ201の信号に変換するためのインタフェース装置である。車両用装置2は、無線通信インタフェース201を介してインターネットなどの通信回線31によりサーバ3と通信し、必要な情報のやりとりや、データのダウンロードをおこなう。
【0033】
測位センサ204は、地球上での緯度および経度で示される自身の位置を測位するためのセンサである。
ジャイロセンサ205は、搭載されている車両の角度や角速度を計測するためのセンサである。
加速度センサ206は、搭載されている車両の加速度を計測するためのセンサである。
【0034】
車両信号インタフェース207は、車両信号線を接続するためのインタフェースであり、車両走行状態や内部状態を取り込むことができる。
補助記憶部208は、地図データベースなどの各種データと、車両用装置のアプリケーションソフトウェアを記憶する大容量の記憶装置であり、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)である。
出力部209は、液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ、または、スピーカー等、ドライバーに画像情報や音声情報を出力する構成部である。
【0035】
図3は、サーバ3のハードウェア構成図である。
サーバ3は、
図3に示すようにハードウェア構成として、CPU300、入力部301、表示部302、メインメモリ303、補助記憶部304、ネットワークインタフェース305を備え、各構成部がバス310により結合されている。
【0036】
CPU300は、サーバ3の各構成部を制御し、補助記憶部304に格納されたプログラムとデータをメインメモリ303上にロードして実行する。なお、
図1にて示したサーバ3の各処理部は、このアプリケーションソフトウェアとして実行される。また、
図1にて示したサーバ3の各記憶部は、補助記憶装置304に実装され、各処理部から参照される。
入力部301は、キーボードやマウスなどであり、管理者はこれらの入力部301からコマンドなどを入力する。
【0037】
表示部302は、液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ等であり、稼動状況のモニタや出力結果が表示される。
メインメモリ303は、補助記憶部304に記憶されているプログラムをロードして一時的に保管したり、ワークデータを記憶する半導体記憶装置である。
【0038】
補助記憶部304は、データやプログラムを格納するHDDなどの記憶装置である。サーバ3の場合、HDDはアレイ上に接続されてディスクアレイを構成する場合もある。
ネットワークインタフェース305は、通信回線31と接続するインターフェースであり、これにより外部の装置と通信をおこなう。
【0039】
なお、
図1にて説明した対話制御処理部4は、上記のようにサーバ3と車両用装置2とによって構成されるシステム上に備えても良いし、車両用装置2のみによって構成されるシステムに備えても良い。
【0040】
次に、
図4を用いて、上記した一連の対話について説明する。
本実施例においては、例えば、車両用装置2またはサーバ3に搭載されるアプリケーションである、「エコ運転診断」、「SNS」(Social Networkin Service)、「カレンダー」などの外部サービスの種類(401)に対応する対話ドメインを定義する。なお、一つの対話ドメインは外部サービスの種類に一対一で対応させても良く、複数の外部サービスの種類に対応させても良い。また、外部サービスの種類以外に対応させても良い。本実施例においては、まず対話ドメインを選択し、その後、ドライバーの状態等に応じて実際に発話するセンテンスをその対話ドメイン内で選ぶことにより、一連の対話を構成するものとする。これによって、ドライバーが利用を意図して契約やダウンロードしたサービスを活用しつつ対話を行うことができる。また、ドライバーが対話に適した状態である場合は対話ドメインの目的を達成できるように対話を進めることができ、ドライバーが対話に適していない状態である場合は、対話ドメインの目的の達成を後ほど行うこととして対話を手短に切り上げることができる。
なお、
図4では、対話ドメインを外部サービスの種類として「エコ運転診断」に一対一で対応させた例と、複数の外部サービスの種類に対応させた例として、「SNS」から「カレンダー」へと対話ドメインを遷移させる例を挙げている。
【0041】
対話開始のきっかけの種類(402)としては、車両用装置からのイベント(車両用装置イベント)、または、外部サービスサーバからのイベント(外部サーバイベント)とがある。
【0042】
それぞれの対話ドメインにおける一連の対話は、
図4の403に記載したような、ドライバーが発話するセンテンスと、システムが発話するセンテンスとの複数のセンテンスによって構成されるものとする。
【0043】
次に、
図5を用いて本実施例におけるイベントと環境情報、および、環境情報から推定するドライバーの状態について説明する。
【0044】
イベントには、外部サーバイベントと車両用装置イベントとが含まれ、外部サーバイベントとは、外部サーバによって発生するイベントであり、例えば外部サーバ上に新着ニュースが存在する場合や、外部サーバ上でSNSでメッセージを受信した場合や、外部サーバ上のカレンダーにスケジュールが登録されている場合や、外部サーバ上にニュース、天気等に基づく情報がある場合に発生する。
また、車両用装置イベントとは、車両用装置によって発生するイベントであり、例えば車両用装置に搭載されるアプリケーションの動作状態に変化があった場合や、アプリケーションに対してドライバーが操作を行った場合、車両用装置に搭載されるナビゲーションアプリケーションにおける案内中のルート上において事故が発生する等の状況変化が起こった場合、「この先、左からの合流車両に注意してください」「およそ700メートル先、高速道路、入口です」等の車両状況に関する情報を車両用装置が読み上げた場合、等に発生する。或いは、ACC/ONされた場合、位置情報がガソリンスタンド等所定の建物の近傍である場合、パーキングブレーキが解除された(或いは解除されてから所定時間以内である)場合、乗車後に目的地を設定した場合、位置情報が車両用装置からサーバに送信された場合、等に発生する。
【0045】
そして、環境情報には、車両状況と車室内状況と車両用装置状況とが含まれ、車両状況とは車両信号インタフェース207を介して検出される情報であり、例えば、加速度または速度が大きく変化したことや、クラクションが押下されたこと、パーキング中(駐車場に駐車するための運転中である)のこと等に基づく情報である。
【0046】
車室内状況とは、車室内に人が居るかや、車室内で人がマイクに対して発話しているか、車室内で人同士が会話しているか、などに基づく情報であり、例えば、声がマイクに入力されているか、複数人の声がマイクに入力されているか、などによって判定する。
【0047】
車両用装置状況とは、ドライバーによる車両用装置の操作状態(カーナビゲーションのメニュー操作中等)や、車両用装置が搭載するアプリケーションによるマイクやスピーカなどの音声リソースの使用状態、車両用装置のカーナビゲーションなどのアプリケーションが検出可能な「高速道路進入/退出中」「高速道路ジャンクション進入/退出中」「バック走行(開始/終了)」等に基づく情報である。
【0048】
図1にて説明したドライバー状態推定処理部10は、環境情報によりドライバーの状態を推定する。
例えば本実施例では、ドライバーの状態を「とても忙しい」「やや忙しい」「忙しくない」のように段階をつけて定義し、環境情報に含まれる情報のうち何れかを受信後、所定時間(例えば30秒間)を「とても忙しい」状態とし、その後更に所定時間が経過するまでの間(例えば受信後30秒から120秒後まで)を「やや忙しい」状態とし、それ以外(例えば受信後120秒後から)を「忙しくない」と定義する。また、環境情報の種類によっては、その情報を受信した場合であっても「とても忙しい」状態とみなさず、「やや忙しい」状態とみなすようにしても良い。例えば、
図5の#3に記載している車両状況を受信した場合は「とても忙しい」状態とみなすが、
図5の#4に記載している車室内状況を受信した場合は「やや忙しい」状態とみなしても良い。これにより、ドライバーの状態をより反映した処理を行うことができる。
【0049】
図6は、本実施例に係る対話制御処理部4の対話ドメインとその遷移方針の選択を示す図であり、対話ドメインとその遷移方針として、イベントに応じて始点とする対話ドメイン(始点対話ドメイン)を、ドライバーの状態と外部サービス契約の有無とに応じて、終点とする対話ドメイン(終点対話ドメイン)を選択する例を示している。
図6では、外部サービスの種類として「メモ」と「カレンダー」を挙げている。
【0050】
なお、外部サービス契約の有無は、ドライバーが「メモ」や「カレンダー」といった外部サービスを利用するための契約を実施済であるか否かによって判別され、例えば、契約を実施済であれば「有」とし、未実施であれば「無」とする。ここで、「有」「無」は、外部サービスを利用するためのユーザIDとパスワード等のアカウントを取得済であるか否かによって判別することができる。
【0051】
図1にて説明した対話ドメイン・センテンス選択処理部7は、イベントとして外部サーバイベントである「SNSで催事の案内あり(近日中)」というイベントを受信したものとする。この場合、ドライバーの状態が「とても忙しい」である場合は、上記イベントに対応するトリガーをトリガーキュー25に入れ、その時は発話しないことでドライバーを煩わせないようにする。
【0052】
一方、ドライバーの状態が「やや忙しい」または「忙しくない」である場合は、外部サービス契約の有無に応じて、始点対話ドメインと始点センテンス(始点とするセンテンス)を選択する。例えば「やや忙しい」である場合は、単一のセンテンスを発話するだけで一連の対話を終えるなど、ドライバーを煩わせないようにする。「忙しくない」である場合は、複数のセンテンスによってドライバーを契約している外部サービスの機能を活用できるように誘導する対話を行う。
【0053】
図7は、本実施例に係る対話制御処理部4の対話ドメインとその遷移方針の選択の別の一例を示す図であり、外部サービスの種類が「天気」と「交通情報」の場合の例である。
図7では、対話ドメイン・センテンス選択処理部7がイベントとして外部サーバイベントである「SNSで催事の案内あり(本日)」というイベントを受信したものとする。「天気」「交通情報」の対話ドメインに関わるセンテンスはそれぞれ下線で示す箇所である。
【0054】
図8は、本実施例に係る対話制御処理部4の対話ドメインとその遷移方針の選択の更に別の一例を示す図であり、外部サービスの種類がパブリックモードとプライベートモードを持つ「SNS」と「カレンダー」の場合の例である。
図8では、対話ドメイン・センテンス選択部7がイベントとして外部サーバイベントである「SNSで催事の案内あり(近日中)」というイベントを受信したものとする。なお、パブリックモードとは、外部サービスを利用する本人が、本人と本人以外の双方が情報参照できるという前提のもとで情報登録や情報参照を行うモードである。一方、プライベートモードとは、外部サービスを利用する本人のみが情報参照できるという前提のもとで情報登録や情報参照を行うモードである。本実施例では、「SNS(パブリックモード)」「SNS(プライベートモード)」「カレンダー(パブリックモード)」「カレンダー(プライベートモード)」等が、それぞれ対話ドメインを構成するものとする。
【0055】
ここで、
図8中、「同乗者の有無」は、対話ドメイン・センテンス選択処理部7が車両信号入力処理部41から取得する着座センサの情報、或いは、音声入力処理部44から取得する複数人の声がマイクに入力されているか否かなどの環境情報によって判断する。
【0056】
同乗者が「有り」の場合は、SNS(パブリック)で取り扱われる情報(ここでは●●で図示)のみを話題とし、カレンダー(パブリック)で取り扱われる情報のみを参照、表示、登録する。
一方、同乗者が「無し」の場合は、SNS(プライベート)で取り扱われる情報(ここでは○○で図示)も話題とし、カレンダー(プライベート)で取り扱われる情報も参照、表示、登録する。
【0057】
図9は、本実施例に係る一連の対話の始点と終点の説明図である。
対話ドメイン・センテンス選択処理部7は、始点センテンスと終点センテンスを選択する。センテンスは複数候補を選択しても良い。また、始点かつ終点とするセンテンスがあっても良い。
【0058】
発話制御処理部8は、始点センテンスを発話することで一連の対話の途中状態に入る。また、終点センテンスの何れかを発話することで一連の対話が終了したと判定する。
【0059】
図10は、本実施例に係る発話制御処理部8の処理のフローチャートである。
発話制御処理部8は始点センテンスを発話する。(S601)
次に、ドライバーが発話するセンテンスに応じたセンテンスを発話する。(S602)
次に、発話制御処理部8が終点センテンスを発話した場合(S603:Yes)、一連の対話を終了する。
【0060】
一方、発話制御処理部8が終点センテンスをまだ発話していない場合(S603:No)は、ドライバーの状態が「やや忙しい」か否かをチェックする(S604)。「やや忙しい」状態である場合(S604:Yes)は、「カレンダーにスケジュール登録してもらおうと思っていたけど、いったんその話はやめますね。」等の、終点対話ドメインへの誘導を意図していたことを示唆する中間報告のセンテンスを発話して一連の対話をシステム側から強制終了する。ここで、「やや忙しい」かをチェックする代わりに、予め定義された上限ステップ数まで対話を繰り返したか否かによって一連の対話をシステム側から強制終了しても良い。
【0061】
なお、ドライバーの状態が「やや忙しい」でない場合として、「とても忙しい」「忙しくない」の状態があるが、「とても忙しい」の場合はそもそも始点センテンス(S601)の発話を開始せず、一連の対話を開始しないものとする。また、S601〜S605の実施中に、他の2つの状態から「とても忙しい」の状態に遷移した場合は、例えば、サーバ3から車両用装置2に対して一連の対話を終了するための情報を送信する等して、S601〜S605の実施を直ちに中断して終了(End)としても良い。これにより、ドライバーへの負荷を低減させることができる。
【0062】
ドライバーの状態が「やや忙しい」でない場合(S604:No)、即ち「忙しくない」の場合は、引き続きセンテンスを発話して一連の対話を継続する(S602)。
【0063】
このようにすることで、一連の対話が開始した後でドライバーの状態が「やや忙しい」の状態に変化した場合や、対話がなかなか終点に至らずドライバーを目的とする外部サービス機能に誘導することができない場合であっても、それまでの対話を無駄にすることなく一連の対話を終えることができる。
【0064】
図11は、
図1にて説明したセンテンス記憶部24のデータ構造である。各センテンスにセンテンスIDを対応付けて記憶している。
【0065】
対話ドメイン・センテンス選択処理部7は、前述のように、センテンス記憶部24に記憶する情報によって、始点とするセンテンスIDや終点とするセンテンスID、始点かつ終点とするセンテンスIDを抽出する。
【0066】
次に、発話制御部処理部8は、前述のように、対話ドメイン・センテンス選択処理部7が抽出したセンテンスIDを一時的に記憶する。
【0067】
そして、発話制御処理部8は、ドライバーが発話するセンテンスに対応するセンテンスを、予め定義された対応付けに従ってドライバーに対して発話する制御を行う際に、センテンス記憶部24のセンテンスを参照すると共にセンテンスIDを参照する。そして、そのセンテンスIDが、前述の一時的に記憶した、始点とするセンテンスIDや終点とするセンテンスID、始点かつ終点とするセンテンスIDに該当するか否かをチェックする。
【0068】
そして、発話制御処理部8は、発話しようとするセンテンスが始点とするセンテンスIDに該当する場合は、一連の対話状態管理処理部11に一連の対話の途中であるという情報を登録する。一方、終点とするセンテンスID、または、始点かつ終点とするセンテンスIDに該当する場合は、一連の対話状態管理処理部11に一連の対話の途中でないという情報を登録する。なお、始点でも終点でもないセンテンスIDの場合は、一連の対話状態管理処理部11で管理する状態を変更しない。
【0069】
図12は、
図1にて説明したトリガー優先度定義26のデータ構造である。
トリガー優先度定義26には、それぞれのイベントに対応するトリガー、および、その優先度を数値で記載する。
【0070】
ここで、トリガーは複数のイベントの組合せ(例えば、「ACC/ONされた」と「位置情報がガソリンスタンド近傍」の組合せ等)によって生成しても良い。
優先度については、例えば0〜99を優先度「高」とし、優先度「高」のトリガーに対応する一連の対話は、別の一連の対話の途中であっても割り込むことを許容する。そして例えば100〜199を優先度「中」とし、優先度「中」のトリガーに対応する一連の対話は、別の一連の対話の途中である場合は、当該トリガーを
図1にて説明したトリガーキュー25に一時保存する。そして例えば200〜299を優先度「低」とし、優先度「低」のトリガーに対応する一連の対話は、別の一連の対話の途中である場合は、トリガーをトリガーキュー25に一時保存せずに破棄する。
【0071】
なお、優先度の数値はシステム運用者などが事前に設定すれば良い。また、トリガーキュー25に一時保存したトリガーには所定の有効期限(例えば480秒)を付与し、有効期限が満了した場合に当該トリガーを破棄することもできる。
【0072】
ここで、別の処理の一例として、
図13を用いて、ドライバーの意図によって、一連の対話への割り込み可否を決定する手順について説明する。
【0073】
対話制御処理部4は、一連の対話中にイベントに対応するトリガーの発生を検知した場合に、当該トリガーをトリガーキュー25に保存し、1)当該トリガーに対応する対話ドメインや発話内容の要約文、2)トリガー発生時刻、3)対話制御処理部4がトリガーを一意に識別するためのトリガー識別IDを、車両用装置2のコンテンツ受信・提示処理部46に送信する。
【0074】
コンテンツ受信・提示処理部46は、情報を受信すると、通知音などによりドライバーに通知すると共に、受信した上記1)2)の情報を操作ボタン(703)(例えば「破棄」や「開始」を促すボタン)と共に車両用装置画面(701)に提示する(702)。
【0075】
ドライバーは、実施中の一連の対話を中断して提示された対話を開始したい場合は、「開始」ボタンを押下する。コンテンツ受信・提示処理部46は、ボタンが押下されるとトリガー識別IDと共に対話制御処理部4に送信する。
【0076】
対話制御処理部4は、情報を受信すると、トリガー識別IDに対応するセンテンスを前述のようにID関連記憶部23とセンテンス記憶部24を参照することによって選択して、コンテンツ受信・提示処理部46に対して送信する。このようにして、ドライバーが選択した一連の対話を新たに開始することができる。
【0077】
また、ドライバーは、提示された対話に興味が無い場合は、「破棄」ボタンを押下する。そして、対話制御処理部4とコンテンツ受信・提示処理部46の情報伝達を行うことで、選択された一連の対話を意図的に破棄することもできる。
【0078】
さらに、対話制御処理部4は、ドライバーの「開始」ボタン押下によって、実施中の対話ドメインの一連の対話よりも、選択された対話ドメインの一連の対話の方がドライバーによって優先されていることを検出する。対話制御処理部4は、例えば所定の回数この事象を検出したことによって、ある対話ドメインがある対話ドメインに対して優先されることを記録し、ドライバーの「開始」ボタンの押下を待つこと無く、実施中の一連の対話に対して新たな一連の対話を割り込ませることもできる。
【0079】
この場合、
図14に示すようなメッセージ(704)をドライバーに提示して、事前にドライバーから了承を得てから新たな一連の対話を自動的に割り込ませるようにしても良い。例えば、ドライバーがSNS(催事)についての一連の対話中に、交通情報の「開始」ボタンが押下されることが多い場合等は、メッセージ(704)のような了承を得るための文章を提示する。
【0080】
また、新たな一連の対話に移行した場合は、
図13に示すように、中断された話題が一時保存された旨のメッセージ(705)を表示しても良い。これにより、ドライバーにとっての利便性を更に高めることができる。
【0081】
さらに、対話制御処理部4は、「破棄」ボタンの押下を例えば所定の回数検出した場合に、実施中の対話ドメインの一連の対話中には、選択された対話ドメインの一連の対話が破棄されることを記録し、ドライバーの「破棄」ボタンの押下を待つこと無く、自動的に新たな一連の対話を破棄することもできる。
【0082】
また、所定の有効期限(例えば180秒)を設定することで、有効期限内のみ提示(7702)を行っても良い。
【0083】
なお、本実施例における提示手段選択処理部9のGUIの例としては、例えばSNSから催事案内があった場合に、「メモする」「カレンダーに登録する」などの回答が記載されたボタンなどがある。このGUIの例は、例えば、「メモしますか?それとも、カレンダーに登録しますか?」といったシステム側からの発話に対応する。提示手段選択処理部9は、例えば、ドライバーの状態が「やや忙しい」である場合には、システム側からの発話のみを行い、「忙しくない」場合には、システム側からの発話とGUI表示の双方を実施できるようにコンテンツを車両用装置2に対して送信する。
【0084】
以上説明した本実施例によれば、音声対話処理技術において、送信元が異なる複数のイベントを契機とする自発的な発話を起点として「一連の対話」を行う場合に、ドライバーの状態やサービス契約状態に即した対話ドメインとその遷移方針を選択することができる。また、対話への割り込みを抑止しつつ、発話の機会を保存し、適時を見計らって発話することができる。
【0085】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0086】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【0087】
また、以上の実施例では、対話制御処理部4をサーバが備える例を説明したが、車両用装置2において、対話制御処理部4と同様の処理を行っても良い。