以下、本発明の実施形態を図面に基づいて説明する。
以下、図面に基づいて、本実施形態に係る情報提供システムの構成を示す図である。図1に示すように、本実施形態に係る情報提供システムは、複数の車両に搭載された複数の車載装置100と、データセンタ200と、携帯端末300と、外部装置400とから構成される。データセンタ200は、複数の車載装置100、携帯端末300、及び外部装置400のそれぞれと、通信回線を介して各種情報の授受が可能となっている。通信回線としては、例えば、携帯電話網、無線LAN網、DSRC(Dedicated Short Range Communications)網および電力線通信網などが挙げられる。なお、図1に示す例では、1つの車両に搭載された1つの車載装置100のみを例示しているが、情報提供システムは、車載装置100を複数備える構成とすることができる。また、図1に示す例では、特定の人物が所有する1つの携帯端末300のみを例示しているが、情報提供システムは、携帯端末300を複数備える構成とすることができる。さらに、図1に示す例では、特定の場所に設けられた1つの外部装置400のみを例示しているが、情報提供システムは、外部装置400を複数備えることができる。
車載装置100は、車載カメラ110、車載マイク120、ナビゲーション装置130、車載コントローラ140、車載記憶装置150、車載通信装置160、コンテンツ情報取得装置170、入力装置180、出力装置190を備える。これら装置は、相互に情報の授受を行うためにCAN(Controller Area Network)その他の車載LANによって接続されている。
車載カメラ110は、車両の室内に設置され、室内にいる乗員を撮影する。車載カメラ110は、静止画又は動画が撮影可能な撮影機能を有している。車載カメラ110の設置位置は特に限定されないが、各乗員の顔画像が撮影できる位置に設置するのが好ましい。なお、車載カメラ110の数は特に限定されない。車載カメラ110は、撮影した静止画又は動画のデータを、車載コントローラ140に出力する。
車載マイク120は、車両の室内に設置され、室内にいる乗員が発する音声を電気信号に変換する。車載マイク120は、集音機能を有している。車載マイク120の設置位置は特に限定されないが、各乗員の音声を収集できる、車両のシート近傍に設置するのが好ましい。なお、車載マイク120の数は特に限定されない。車載マイク120は、収集した音声を電気信号に変換し、変換した電気信号を車載コントローラ140に出力する。
ナビゲーション装置130は、位置検出装置131と、地図情報132とを備える。ナビゲーション装置130は、自車両の現在位置から目的地までの経路を算出する。経路の算出手法は、ダイキストラ法やA*などのグラフ探索理論に基づく出願時に知られた手法を用いることができる。ナビゲーション装置130は、算出した走行経路の情報と、目的地の情報を車載コントローラ140に出力する。
位置検出装置131は、GPS(Global Positioning System)を備える。位置検出装置131は、路側装置に搭載された高度道路交通システム:ITS(Intelligent Transport Systems)が提供する位置情報を、近距離通信を介して、自車両の現在位置として取得してもよい。
地図情報132は、いわゆる電子地図であり、緯度経度と地図情報が対応づけられた情報である。地図情報132には、車両の乗員が予め登録した目的地の情報が含まれる。
車載記憶装置150は、車載マイク120で録音された音声と、後述するコンテンツ情報取得装置170により取得されたコンテンツを記憶する。車載記憶装置150としては、例えば、HDDやROM等が挙げられる。車載記憶装置150には、車載コントローラ140からのアクセスに応じて、車載コントローラ140を経由して入力される情報を記憶し、又は記憶している情報を車載コントローラ140に出力する。
車載通信装置160は、電話回線網などを介して、データセンタ200の通信装置210と通信可能な装置である。車載通信装置160は、車載コントローラ140から取得したプローブ情報又はリクエスト情報を通信装置210に送信するとともに、データセンタ200から、車両の室外で取得された情報に基づく学習結果の情報(以降、車外情報という。)を受信し、受信した車外情報を車載コントローラ140に出力する。なお、車外情報については後述する。
コンテンツ情報取得装置170は、無線LANやWifiなどを介して、インターネットと接続可能な装置である。コンテンツ情報取得装置170には、後述する車載コントローラ140からコンテンツを取得するための指令信号が入力される。コンテンツ情報取得装置170は、入力信号に応じて、インターネットからコンテンツを取得する。コンテンツとは、テキスト情報、画像、動画、音声、音楽、その他のデータ、あるいはプログラム、またはそれらの組み合わせのことである。コンテンツには、例えば、ニュースサイト、キュレーションサービス、SNS(Social Networking Service)、インターネットラジオ等が挙げられる。コンテンツ情報取得装置170は、取得したコンテンツを車載コントローラ140に出力する。
入力装置180は、車両の室内で利用するコンテンツについて、車両の乗員が操作可能な操作部材である。入力装置180には、ディスプレイ191に表示出力されたコンテンツを変更するための操作スイッチ、スピーカ192から音声出力されるコンテンツを変更するための操作スイッチを少なくとも含む。車両の乗員が入力装置180を操作すると、入力装置180は、操作に応じた信号を車載コントローラ140に出力する。
出力装置190は、車両の室内にコンテンツを出力する。出力装置190は、ディスプレイ191と、スピーカ192を備える。ディスプレイ191は、コンテンツ情報取得装置170が取得したコンテンツを表示する。例えば、ディスプレイ191は、室内にいる乗員に対して、動画やニュースサイトを表示する。ディスプレイ191としては、例えば、液晶パネルが挙げられる。スピーカ192は、コンテンツ情報取得装置170が取得したコンテンツを出力する。例えば、スピーカ192は、室内にいる乗員に対して、音楽やインターネットラジオを流す。
車載コントローラ140は、コンテンツ情報提供処理を実行させるプログラムが格納されたROM(Read Only Memory)と、このROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)と、を備えるコンピュータである。なお、動作回路としては、CPUに代えて、MPU(Micro Processing Unit)、ASIC(Application Specified Integrated Circuit)、FPGA(Field Programmable Gate Array)等を用いてもよい。
車載コントローラ140は、ROMに格納されたプログラムをCPUにより実行することにより、同乗者特定機能と、関心事項取得機能と、コンテンツ情報提供機能と、コンテンツ利用履歴送信機能とを実現する。車載コントローラ140は、各機能を実現するため、又は各処理を実行するためのソフトウェアと、上述したハードウェアの協働により各機能を実行する。以下に、車載コントローラ140が備える各機能について説明する。
まず、同乗者特定機能について説明する。車載コントローラ140は、同乗者特定機能により、車両の室内にいる同乗者を特定する。本実施形態の車載コントローラ140は、車載カメラ110及び車載マイク120から入力されるデータのうち少なくとも何れか一方に基づいて、同乗者を特定する。例えば、車載コントローラ140は、車載カメラ110から入力される顔画像のデータを、予めROM等に記憶されている人物データに対して、パターンマッチング処理を実行することで、同乗者を特定する。また、例えば、車載コントローラ140は、車載マイク120から入力される電気信号に対しソフトウェア処理を実行し、発話者の発話回数を算出する。そして、車載コントローラ140は、最も発話回数が人物を運転者として特定し、次に発話回数が多い人物を同乗者として特定する。また、例えば、車載コントローラ140は、車載マイク120から入力される電気信号に対してソフトウェア処理を実行し、声紋を抽出する。そして、車載コントローラ140は、抽出した声紋を、予めROM等に記憶されている人物データに対して、パターンマッチング処理を実行することで、同乗者を特定する。また以降では、車載カメラ110により撮像された車内の撮像画像、車載マイク120により収集された車内の音声を、車内情報と称する。
人物データには、顔画像のデータ、及び声紋のデータが含まれる。また、予めROM等に記憶させる際に、運転者との関係性を示す情報を人物データに登録しておいてもよい。なお、人物データに記憶されていない顔画像のデータが入力された場合、又は人物データに記憶されていない声紋が抽出された場合、車載コントローラ140は、これらのデータを新規データとして人物データに登録する。
また、上述した例では、同乗者が一人の場合を説明したが、同乗者が複数人の場合でも、車載コントローラ140は、同乗者特定機能により、上述した何れかの方法を用いて、又はこれらの方法を組み合わせて、複数の同乗者をそれぞれ特定する。
次に、関心事項取得機能について説明する。車載コントローラ140は、関心事項取得機能により、運転者と同乗者との間に共通する関心事項を取得するために、データセンタ200へリクエスト情報を送信する。この機能は、運転者又は同乗者が乗車するタイミングで、データセンタ200にリクエストすることで、データセンタ200から運転者と同乗者の間に共通する関心事項等を取得するための機能である。これにより、乗車してから暫くの間、運転者と同乗者との間で会話がない又は会話数が少ない場合であっても、共通の関心事項の情報を取得することができる。
車載コントローラ140は、運転者又は同乗者が乗車したタイミングにて、車載通信装置160を介して、データセンタ200に対してリクエスト情報を送信する。リクエスト情報には、運転者及び同乗者の情報が含まれている。車載コントローラ140は、運転者及び同乗者を属性に応じて分類し、運転者の属性及び同乗者の属性を運転者及び同乗者の情報とする。属性としては、性別、年代等が挙げられる。また、車載コントローラ140は、関心事項取得機能により、リクエスト情報に対する返答として、データセンタ200から現在の乗員に対応する車外情報(乗員の車外情報ともいう。)を受信する。
次に、コンテンツ情報提供機能について説明する。車載コントローラ140は、コンテンツ情報提供機能により、車両の乗員に対して、コンテンツを提供する。車載コントローラ140は、関心事項取得機能により、データセンタ200から受信した乗員の車外情報に基づいて、乗員に提供するコンテンツを選択する。
車載コントローラ140は、乗員の車外情報に含まれるコンテンツの候補リストの中から所定のコンテンツを選択する。コンテンツとして音楽を例に挙げて説明する。例えば、車載コントローラ140は、コンテンツの候補リストの中に楽曲のリストが含まれている場合、このリストの中から一の楽曲を選択し、コンテンツ情報取得装置170に取得させ、スピーカ192から出力させる。なお、上述の例では、提供するコンテンツを音楽として説明したが、他のコンテンツであってもよい。またコンテンツの候補リストは、後述するデータセンタ200が備えるサーバ220により生成される。
次に、コンテンツ利用履歴送信機能について説明する。車載コントローラ140は、コンテンツ利用履歴送信機能により、車内で利用されたコンテンツの利用履歴をデータセンタ200へ送信する。この機能は、データセンタ200から送信される乗員の車外情報を更新するために、車内で利用されたコンテンツをデータセンタ200に送信する機能である。車載コントローラ140は、運転者又は同乗者が乗車してから所定の期間が経過したタイミングにおいて、現在利用中のコンテンツの情報とそれまでの車内の音声情報に対応させた情報をコンテンツ利用履歴として作成する。そして、車載コントローラ140は、車載通信装置160を介してコンテンツ利用履歴をデータセンタ200に送信する。なお、コンテンツ利用履歴は、プローブ情報に含めてもよい。
携帯端末300について説明する。携帯端末300は、端末マイク310と、端末位置検出装置320と、端末通信装置330と、端末記憶装置340とを備える。携帯端末300は、所有者が携帯することが可能な大きさの装置である。携帯端末300は、所有者の移動に応じて移動するものである。一般的には、所有者は車両の室内に滞在する時間よりも車両の室外にいる時間が多い。そのため、本実施形態では、携帯端末300は、車両の室外で用いられる装置として説明する。携帯端末300としては、例えば、スマートフォン、ノートパソコン、タブレット端末等が挙げられる。
端末マイク310は、携帯端末300を携帯する人物の周辺で発話された音声を電気信号に変換する。端末マイク310は、集音機能を有しており、複数の人物の間で行われる会話を集音することができる。端末マイク310は、収集した音声を電気信号に変換し、変換した電気信号を端末コントローラ350に出力する。
端末位置検出装置320は、GPSを備える。端末位置検出装置320は、携帯端末300の所在地を高精度で検出する。携帯端末300の所有者が、例えば、勤務先の建物内、自宅、車両の室内、車両の周辺のうちいずれかの場所にいたとしても、端末位置検出装置320は、それぞれの場所を判別することができる。端末位置検出装置320は、例えば、緯度及び経度を用いて、携帯端末300の所在地を示すことができる。端末位置検出装置320により検出された位置情報は、端末コントローラ350に出力される。
端末通信装置330は、電話回線網などを介して、データセンタ200の通信装置210と通信可能な装置である。端末通信装置330は、端末コントローラ350から入力される音声情報と位置情報を通信装置210に送信する。
端末記憶装置340は、端末マイク310により録音された音声と端末位置検出装置320により検出された位置情報を記憶する。端末記憶装置340としては、不揮発性メモリ等が挙げられる。
端末コントローラ350は、携帯端末300の現在位置に応じて、携帯端末300の周囲で行われている会話の分析を行う。端末コントローラ350は、蓄積された会話を声紋分析等することで、携帯端末300の所有者と会話している人物を推定する。推定方法としては、車載コントローラ140による同乗者特定機能の方法と同様の方法が例示でき、その説明を援用する。そして、端末コントローラ350は、一度推定した人物の情報を端末記憶装置340に記憶させることで、次に同様の推定結果が得られた場合、推定した人物についてはその後同一人物とみなすことができる。
端末コントローラ350の分析対象の場所としては、例えば、携帯端末300の所有者の自宅、勤務先、取引先等、自車両の周辺等、予め設定可能な場所が例示できる。例えば、車両の運転者と携帯端末300の所有者が同一人物の場合、端末コントローラ350は、自車両の周辺において、運転者とこれから乗車する可能性のある人物との会話又は運転者とこれから乗車する人物との会話を分析対象とすることができる。
また、分析対象の場所は、特定の場所ではなく、ある程度の範囲まで広げてもよい。例えば、分析場所として予め自宅が登録されているとする。この場合、自宅の周囲100m程度の範囲内で、携帯端末300の所有者が移動すると、端末コントローラ350は、この範囲内において端末マイク310により録音された音声を分析する。
また、分析対象の場所は、予め登録されている場所に限らず、例えば、携帯端末300が所定の期間内移動していない場所であってもよい。例えば、携帯端末300の所有者が30分以上所定の場所から移動しない場合には、端末コントローラ350は、端末位置検出装置320で検出される現在の位置を、分析対象の場所として設定してもよい。これにより、携帯端末300の所有者が高い頻度で滞在する場所が分析対象の場所として設定される。
また、端末コントローラ350は、所定の周期ごとに、分析された人物の情報、分析された日付、及び分析対象の場所を関連付けて、端末通信装置330を介して、通信装置210に送信する。
外部装置400について説明する。外部装置400は、本実施形態の外部装置400は、車外に存在する人物に対して、映像再生や音楽再生等のサービスを提供する装置である。外部装置400の設置場所は特に限定されず、設置場所としては、商業施設又は公共施設等の施設に限られず、家庭内であってもよい。外部装置400としては、人工知能(AI:Artificial intelligence)が搭載されたスマートスピーカが例示できる。外部装置400は、外部マイク410と、外部通信装置420と、外部記憶装置430と、外部コントローラ440を備える。外部装置400を構成する各装置は、相互に情報の授受を行うため、LAN等の信号線で接続されているか、又はWifiやBluetooth(登録商標)等の無線通信により通信可能となっている。
外部マイク410は、車両の室外に設けられ、外部装置400の周辺で発生した音声を収取する。外部マイク410は、収集した音声を電気信号に変換し、変換した電気信号を外部コントローラ440に出力する。
外部通信装置420は、電話回線網やインターネット回線網などを介して、データセンタ200の通信装置210と通信可能な装置である。外部通信装置420には、外部通信装置420は、外部コントローラ440から入力される音声情報を通信装置210に送信する。
外部記憶装置430は、外部マイク410により録音された音声を記憶する。外部記憶装置430としては、不揮発性メモリ等が挙げられる。
外部コントローラ440は、外部装置400の周囲で行われている会話の分析を行う。外部コントローラ440は、蓄積された会話を声紋分析等することで、外部装置400の周囲で会話を行っている人物を推定する。推定方法としては、車載コントローラ140による同乗者特定機能の方法と同様の方法が例示でき、その説明を援用する。また、外部コントローラ440は、不特定多数の人物の会話を分析対象とするため、推定した人物を属性に応じて分類する。属性としては、性別、年代等が挙げられる。
また、外部コントローラ440は、所定の周期ごとに、分析した人物の情報を、端末通信装置330を介して、通信装置210に送信する。
データセンタ200について説明する。データセンタ200は、車両の外部に設置されるものであり、通信装置210と、サーバ220と、データベース230とを備える。
通信装置210は、電話回線網等を介して、車載装置100の車載通信装置160、携帯端末300の端末通信装置330、外部装置400の外部通信装置420のそれぞれと通信可能な装置である。通信装置210は、複数の車両にそれぞれ搭載された複数の車載装置100から複数のリクエスト情報及び複数のプローブ情報を受信する。プローブ情報には、コンテンツ利用履歴の情報が含まれている。また、通信装置210は、携帯端末300から分析結果の情報を受信する。さらに、通信装置210は、外部装置400から分析結果の情報を受信する。
データベース230は、複数の車両から取得した複数のプローブ情報を格納している。また、データベース230は、携帯端末300から受信した分析結果の情報、及び外部装置400から受信した分析結果の情報を格納している。プローブ情報や分析結果の情報は、車載装置100、携帯端末300、又は外部装置400から不定期に送信されるため、データセンタ200がこれらの情報を受信するたびに、データベース230には、これらの情報が蓄積されていく。
またデータベース230には、サーバ220により実行された学習結果が蓄積される。学習結果については後述する。
サーバ220は、車両からのリクエスト情報に応じて、乗員の車外情報を提供する車外情報提供処理と、利用されたコンテンツを学習する車外情報生成処理を実行させるプログラムが格納されたROM(Read Only Memory)と、このROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、アクセス可能な記憶装置として機能するRAM(Random Access Memory)と、を備えるコンピュータである。なお、動作回路としては、CPUに代えて、MPU(Micro Processing Unit)、ASIC(Application Specified Integrated Circuit)、FPGA(Field Programmable Gate Array)等を用いることができる。
サーバ220は、ROMに格納されたプログラムをCPUにより実行することにより、車外情報提供処理と、車外情報生成処理と、を実現する。サーバ220は、各機能を実現するため、又は各処理を実行するためのソフトウェアと、上述したハードウェアの協働により各機能を実行する。
以下に、サーバ220の具体的な制御を説明する。図2〜4は、サーバ220が実行する各処理を説明するための図である。図2~4では、車載装置100からはリクエスト情報又はプローブ情報がデータセンタ200に対して不定期に送信され、また携帯端末300及び外部装置400からも分析結果の情報がデータセンタ200に対して不定期に送信されているものとする。このため、データベース230には、携帯端末300からの分析結果の情報、及び外部装置400からの分析結果の情報が随時入力され、データベース230に格納されている情報はその都度更新される。また携帯端末300の所有者は車両の運転者とする。
ステップS101では、サーバ220は、車載装置100の車載通信装置160と通信を行い、リクエスト情報を受信したか否かを判定する。リクエスト情報には、運転者及び同乗者の属性が含まれる。リクエスト情報を受信した場合、ステップS102に進み、リクエスト情報を受信していない場合、ステップS201(図3参照)に進む。
ステップS102では、サーバ220は、同乗者が乗車直前まで運転者と会話していた人物か否かを判定する。例えば、サーバ220は、まず、ステップ101にて受信したリクエスト情報から、同乗者の属性を示すカテゴリを抽出する。次に、サーバ220は、データベース230に蓄積されている携帯端末300の分析結果のうち直近で更新された情報を参照する。そして、サーバ220は、同乗者の属性を示すカテゴリが、データベース230に蓄積されている情報のうち直近で更新された情報に含まれている場合には、同乗者は乗車直前まで運転者と会話していた人物と判定する。反対に、サーバ220は、同乗者の属性を示すカテゴリが、直近で更新された情報に含まれていない場合には、同乗者は乗車直前まで運転者と会話していた人物ではないと判定する。同乗者を乗車直前まで運転者と会話していた人物と判定した場合、ステップS103へ進み、同乗者を乗車直前まで運転者と会話していない人物と判定した場合、ステップS106へ進む。
また、サーバ220は、同乗者の属性が含まれているかの判定だけでなく、携帯端末300により検出された位置情報を併せて参照することで、より精度良く同乗者の判定をすることができる。例えば、サーバ220は、直近で更新された情報に同乗者の属性を示すカテゴリが含まれており、かつ、携帯端末300により検出された位置情報が自車両の周辺を示している場合、同乗者は自車両の周辺にて運転者と会話をしていた判断することができる。これにより、サーバ220は、同乗者が乗車前までは自車両の周辺にて運転者と会話を行い、その後運転者が所有する車両に乗車したことを判定することができる。
ステップS103では、サーバ220は、データベース230に格納されている情報のうち、携帯端末300により更新された直近の分析結果の情報を抽出するとともに、乗車直前に運転者と同乗者との間で行われた会話の分析を行う。サーバ220は、会話を分析することで、同乗者、運転者と同乗者との関係性、運転者と同乗者との間に共通する関心事項を推定する。
サーバ220は、会話の中に含まれる複数のキーワードを抽出するとともに、抽出したキーワードごとに、使用された回数をカウントすることで、会話で高頻出のキーワードを特定することができる。そして、サーバ220は、高頻出のキーワードに基づいて、同乗者、運転者と同乗者との関係性、運転者と同乗者に共通する関心事項を推定する。例えば、サーバ220は、「お父さん」、「お母さん」等の家族の呼び名が高頻出のキーワードとして特定されると、運転者と同乗者との関係性を「家族」と推定する。そして、サーバ220は、同乗者を「子供」と推定する。そして、サーバ220は、「芸能人の名前」が高頻出のキーワードとして特定されると、運転者と同乗者との間に共通する関心事項は、「芸能ニュース」と推定する。なお、上述の説明は、同乗者、運転者と同乗者との関係性、及び共通の関心事項の推定方法の一例であって、特に限定されるものではない。
またサーバ220は、会話から発話回数をカウントすることで、発話者を推定してもよいし、会話から分析された声紋に基づいて、発話者を推定してもよい。またサーバ220は、発話者と他の発話者との関係性を推定するにあたり、発話回数を考慮してもよい。
ステップS104では、サーバ220は、ステップS103で得られた分析結果に基づいて、コンテンツの候補リストを作成する。例えば、サーバ220が分析した結果、ステップS103での説明で用いた分析結果が得られたとする。この場合、サーバ220は、共通の関心事項として推定した「芸能ニュース」に基づいて、複数のコンテンツの中から、複数の「芸能ニュース」を選択し、コンテンツの候補リストを作成する。コンテンツの種類は、複数の種類を含めるのが好ましい。例えば、「芸能ニュース」の場合には、ニュースの動画、ニュースサイト、インターネットラジオ等の複数のコンテンツの種類が挙げられる。
ステップS105では、サーバ220は、ステップS103で得られた分析結果とステップS104で作成されたコンテンツの候補リストが含まれる情報を乗員の車外情報として生成するとともに、乗員の車外情報を車両に送信する。リクエスト情報を受信してから乗員の車外情報を送信するまでの処理が終了すると、サーバ220の処理は終了する。
ステップS102において同乗者が乗車直前まで運転者と会話している人物と判定されない場合、ステップS106に進む。
ステップS106では、サーバ220は、データベース230に格納されている情報のうち、リクエスト情報を受信するよりも前に、携帯端末300又は外部装置400により更新された分析結果の情報を抽出する。そして、サーバ220は、運転者等が乗車する時点よりも前の所定の期間内において、運転者と同乗者との間で行われた会話の分析を行う。このステップでは、ステップS103と異なり、サーバ220は、同乗者、運転者と同乗者との関係性、及び共通の関心事項を推定するために、所定の期間内に得られた複数の分析結果を対象とする。所定の期間としては、例えば、リクエスト情報を受信した時点を基準とし、この基準から一週間前や一カ月前などが挙げられる。なお、所定の期間は一例であって特に限定されるものではない。
また、このステップでは、サーバ220は、ステップS103での分析結果と同様の方法を用いて、同乗者、運転者と同乗者との関係性、及び共通の関心事項を推定する。例えば、サーバ220は、まず、所定期間内の複数の分析結果の中から、同乗者の属性を示すカテゴリが含まれている分析結果を抽出する。次に、サーバ220は、所定の期間内に、運転者と同乗者又は同乗者と同じ属性を示す他者との間で行われた会話の中から、高頻出のキーワードを特定する。そして、サーバ220は、高頻出のキーワードに基づいて、同乗者、運転者と同乗者との関係性、及び共通の関心事項を推定する。
ステップS106が終了すると、ステップS104に進む。ステップS104では、上述のとおり、サーバ220は、コンテンツの候補リストを作成する。ステップS106を経由した場合、サーバ220は、ステップS106で得られた分析結果に基づいて、コンテンツの候補リストを作成する。
図3は、図2に示すステップS101においてリクエスト情報を受信していないと判定された以降の処理を示すフローチャートである。図3は、車載装置100からのコンテンツ利用履歴を受信した場合の処理を示す。
ステップS201では、コンテンツ利用履歴又は分析結果の情報を受信したか否かを判定する。分析結果の情報には、携帯端末300から送信された情報と外部装置400から送信された情報が含まれる。いずれかの情報も受信していない場合には、ステップS201にて待機し、いずれかの情報を受信した場合、ステップS202に進む。
ステップS202では、サーバ220は、受信した情報がコンテンツ利用履歴か否かを判定する。コンテンツ利用履歴の場合には、ステップS203へ進み、コンテンツ利用履歴ではなく分析結果の場合には、ステップS301(図4参照)に進む。
ステップS203では、サーバ220は、コンテンツ利用履歴を参照し、乗車してから提供されていたコンテンツが、乗員により変更されたか否かを判定する。コンテンツの変更履歴がある場合には、ステップS204に進み、コンテンツの変更履歴がない場合には、ステップS207に進む。
ステップS204では、サーバ220は、コンテンツ利用履歴の中に含まれる車内での音声情報から、コンテンツが変更される前の会話を抽出する。
ステップS205では、サーバ220は、会話とコンテンツの関係性を分析する。具体的には、サーバ220は、会話から高頻出のキーワードを抽出し、キーワードと変更後のコンテンツとの関係性を分析する。サーバ220は、コンテンツが変更される前の会話を分析することで、変更後のコンテンツと乗員の会話の中で使用されるキーワードの関連性を推定することができる。
ステップS206では、サーバ220は、ステップS205にて分析された結果を学習結果としてデータベース230に格納する。これにより、データベース230には、運転者及び同乗者等の人物の情報と、コンテンツの情報が関連付けられた学習結果が格納される。
ステップS203において、コンテンツの変更履歴がない場合には、ステップS207に進む。
ステップS207では、サーバ220は、コンテンツ利用履歴の中に含まれる車内の音声情報から、車内の会話を抽出する。
ステップS208では、サーバ220は、車内で行われた会話の分析を行う。サーバ220は、会話を分析することで、同乗者、運転者と同乗者との関係性、及び運転者と同乗者との間に共通する関心事項を推定する。推定方法については、ステップS103、S106と同様の方法が用いられるため、その説明を援用する。なお、このステップで推定される関心事項は、車内で実際に行われた会話に基づくものであり、現在の関心事項になる。
ステップS209では、サーバ220は、ステップS208で行われた分析結果に基づいて、コンテンツの候補リストを作成する。このステップは、ステップS104と同じステップのため、その説明を援用する。
ステップS210では、サーバ220は、現在利用中のコンテンツがステップS209で作成されたコンテンツの候補リストに含まれているか否かを判定する。現在利用中のコンテンツがコンテンツの候補リストに含まれている場合は、処理を終了する。現在利用中のコンテンツがコンテンツの候補リストに含まれていない場合、ステップS211に進む。
ステップS211では、サーバ220は、ステップS209で作成されたコンテンツの候補リストを、現在の関心事項に基づくコンテンツの候補リストとして車載装置100へ送信し、処理を終了する。
図4は、図3に示すステップS202おいてコンテンツ利用履歴を受信していないと判定された以降の処理を示すフローチャートである。図4は、携帯端末300又は外部装置400から分析結果の情報を受信した場合の処理を示す。
ステップS301では、サーバ220は、情報の送信先が携帯端末300であるか否かを判定する。送信先が携帯端末300の場合、ステップS302に進み、反対に、送信先が携帯端末300ではなく外部装置400の場合、ステップS304に進む。
ステップS302では、サーバ220は、携帯端末300の周辺で行われた会話を分析する。具体的には、サーバ220は、携帯端末300の所有者(本実施形態では、車両の運転者に相当)と他者との間で行われた会話を分析する。サーバ220は、携帯端末300から送信される分析結果の情報に基づいて、携帯端末300の所有者と会話している人物、所有者と会話している人物との関係性を推定する。また、サーバ220は、会話の中から、複数の高頻出のキーワードを抽出するとともに、頻度の高い順にキーワードを並べ変える。
ここで、図5及び図6を参照しながら、携帯端末300からの情報に基づいて行う分析方法の一例について説明する。図5は、携帯端末300及び外部装置400からの情報に基づいて行う分析方法の一例である。図5は、携帯端末300及び外部装置400において推定された特定の人物の分析結果の一例である。
図5では、携帯端末300の「分析対象場所」として、P1〜P3を示す。一箇所の分析対象場所に対して、所定の人物が推定された頻度を示す「頻度」の項目と、「平日」及び「休日」の項目が対応づけられている。さらに、「平日」の項目は「月曜」から「金曜」の曜日の項目に分類されている。また分析対象場所は、緯度及び経度で示される。
例えば、図5では、分析対象場所P1について「頻度」が5/7で示されていることから、携帯端末300の所有者と会話を行っていた人物は、分析対象場所P1では一週間に5回、所有者と会話している。また、この人物は、分析対象場所P1では携帯端末300の所有者と平日に100%の割合で会話している。分析対象場所P1について図5に示す結果が得られた場合、サーバ220は、所有者とこの人物との関係性や共通の関心事項を推定するにあたって、分析対象場所P1を学習範囲の地点として設定する。また、例えば、「頻度」が0/7で示される分析対象場所が存在する場合、サーバ220は、この人物の分析を行うにあたって、この分析対象場所を学習範囲の地点に含めない。このように、サーバ220は、推定したそれぞれの人物について学習範囲を選別することで、不要な処理を防ぐとともに、携帯端末300の所有者との関係性や関心事項の推定精度を向上させることができる。なお、外部装置400については後述する。
図6は、図5に示す結果を人物ごとにまとめた集計結果の一例である。図6では、図5に示す項目が人物ごとに示されている。図6に示す各人物によって、携帯端末300の所有者と会話を行う場所や頻度が異なる。このため、サーバ220は、人物ごとに傾向を分析することで、携帯端末300の所有者との関係性や共通する関心事項を推定することができる。
再び、図4に戻ってサーバ220が実行する処理について説明する。ステップS303では、サーバ220は、ステップS302又はステップS304で得られた学習結果をデータベース230に格納する。
ステップS301において送信元が携帯端末300ではなく外部装置400と判定された場合、ステップS304に進む。
ステップS304では、サーバ220は、外部装置400の周辺で行われた会話を分析する。サーバ220は、会話の中から、複数の高頻出のキーワードを抽出するとともに、頻度の高い順にキーワードを並べ変える。サーバ220は、図5に示すように、家庭で設置された外部装置400での分析結果から、特定の人物が所定の基準以上の割合で現れていることを推定すると、この人物を家族と推定することができる。また、例えば、外部装置400が運転者の勤務先に設置されている場合、サーバ220は、特定の人物が所定の基準以上の割合で現れていることを推定すると、この人物を職場の同僚と推定することができる。
図7は、サーバ220による学習結果の一例である。サーバ220は、図2〜図4に示す処理を繰り返し行うことで、データベース230には、図7の一例のような学習結果が蓄積される。
例えば、データベース230に学習結果が蓄積されるまでサーバ220の処理が繰り返し行われると、サーバ220は、コンテンツの候補リストを作成するにあたり、データベース230の学習結果を用いることができる。
図2のステップS106を経由してステップS104の処理を実行する場面を一例として挙げて説明する。このステップでは、サーバ220は、乗車する時点から所定の期間前の会話に基づいて、コンテンツの候補リストを作成していたが、データベース230に格納された学習結果を用いてコンテンツの候補リストを作成してもよい。例えば、サーバ220は、同乗者の属性を示すカテゴリと同一又は類似のカテゴリの人物についての学習結果を、データベース230から抽出する。そして、サーバ220は、抽出された人物の学習結果を参照し、図9の例のように4時間以内の会話において高頻出のキーワードからコンテンツの候補リストを作成してもよい。またサーバ220は、図9の例のように利用コンテンツをコンテンツの候補リストに含めてもよい。このように、所定の時間が経過すると、データベース230には学習結果が蓄積されるため、サーバ220は、同乗者そのものの情報ではなく、同乗者の属性と同一又は類似する他人の情報に基づいて、コンテンツの候補リストを作成することができる。
この場合、図2のステップS106において、サーバ220は、ステップS104で作成されたコンテンツの候補リストを含めた情報を他者の車外情報として、車載装置100に送信する。
図8は、車載装置100が実行する処理を説明するための図である。図8に示す処理は、車載装置100の車載コントローラ140によって実行される。
ステップS501では、車載コントローラ140は、車内情報に基づいて、車両の室内に同乗者が存在するか否かを判定する。例えば、車載コントローラ140は、車載カメラ110により撮像された撮像画像を解析することで、同乗者の存否を判定する。また、車載コントローラ140は、車載マイク120により収集された車両の室内で発せられた音声を解析することで、同乗者の存否を判定する。同乗者が存在すると判定された場合、ステップS502に進み、同乗者が存在しないと判定された場合、ステップS501で待機する。
ステップS502では、車載コントローラ140は、運転者と同乗者との間に共通する関心事項を取得するために、リクエスト情報をデータベース230に送信する。データベース230がリクエスト情報を受信すると、図2に示すステップS102に以降の処理が開始される。
ステップS503では、車載コントローラ140は、ステップS502で送信したリクエスト情報に対する応答として、車外情報を受信したか否かを判定する。車外情報を受信した場合、ステップS504へ進み、車外情報を受信していない場合、ステップS503で待機する。受信する車外情報には、乗員の車外情報と他者の車外情報が含まれる。
ステップS504では、車載コントローラ140は、ステップS503で受信した車外情報に基づいて、コンテンツを選択する。車外情報には、複数のコンテンツの候補として、コンテンツの候補リストが含まれているため(図2参照)、車載コントローラ140は、コンテンツの候補リストの中から所定のコンテンツを選択する。
ステップS505では、車載コントローラ140は、ステップS504で選択したコンテンツを乗員に提供する。車載コントローラ140は、ディスプレイ191に表示させたり、スピーカ192から音声を出力させたりする。
ステップS506では、車載コントローラ140は、所定時間経過したか否かを判定する。所定時間が経過した場合、ステップS507に進み、所定時間が経過していない場合、ステップS506で待機する。
ステップS507では、車載コントローラ140は、コンテンツ利用履歴をデータベース230に送信する。コンテンツ利用履歴には、ステップS501からステップS506までの車内での音声情報と、ステップS504で選択されたコンテンツの情報が含まれる。また、ステップS506での所定時間が経過する間に、乗員によりステップS505で提供されたコンテンツが変更された場合、コンテンツ利用履歴には、変更されたコンテンツの情報が含まれる。
ステップS508では、車載コントローラ140は、現在の関心事項に基づくコンテンツの候補リストを受信したか否かを判定する。このステップは、ステップS507で送信したコンテンツ利用履歴に対して、データベース230側でコンテンツの候補リストが作成されたか否かを判定するためのステップである(図3参照)。コンテンツの候補リストを受信した場合、ステップS509に進み、コンテンツの候補リストを受信していない場合、車載装置100が実行する処理は終了する。
ステップS509では、車載コントローラ140は、ステップS508で受信したコンテンツの候補リストに基づいて、コンテンツを再選択する。
ステップS510では、車載コントローラ140は、ステップS509で選択したコンテンツを乗員に提供する。ステップS510の処理が終了すると、車載装置100が実行する処理は終了する。
以上のように、本実施形態に係る情報提供システムでは、車両の室外で発話された音声を車外の音声情報として取得し、車外の音声情報に基づいて、発話者、発話者と他の発話者との関係性、及び発話者との間に共通する関心事項を推定し、推定したそれぞれの情報を含む車外情報に基づいて、車両の乗員に対して提供するコンテンツを選択する。これにより、運転者又は同乗者が乗車してから車内での会話が行われない又は会話数が少ない場合であっても、運転者及び同乗者に適したコンテンツを短時間で提供することができる。
また、本実施形態では、車外情報をデータベース230に蓄積させる。これにより、過去の情報も含めて、発話者、発話者と他の発話者との関係性、及び発話者との間に共通する関心事項を推定することができ、これらの情報の推定精度を向上させることができる。
また、本実施形態では、車外で収集された音声情報に含まれる発話者の発話回数、及びこの音声情報から解析された声紋のうち少なくとも何れか一方に基づいて、発話者を推定する。これにより、発話者の推定精度を向上させることができる。
さらに、本実施形態では、車外で収集された音声情報に含まれる発話者の回数及び発話者と他の発話者との会話に基づいて、発話者と他の発話者との関係性を推定する。これにより、発話者と他の発話者との関係性の推定精度を向上させることができる。
加えて、本実施形態では、車外で収集された音声情報に含まれる発話者と他の発話者との会話に基づいて、発話者と他の発話者との間に共通する関心事項を推定する。発話者と他の発話者との間に共通する関心事項の推定精度を向上させることができる。
また、本実施形態では、車両の室内で発話された音声及び車両の室内が撮像された撮像画像のうち少なくとも何れか一方を車内情報として取得し、車内情報に基づいて、車両の乗員を特定し、データベース230に格納された車外情報のうち、車両の乗員に対応する車外情報を乗員の車外情報として取得し、乗員の車外情報に基づいて、コンテンツを選択する。これにより、乗車してから乗員に適したコンテンツを提供するまでの時間を短縮することができる。
さらに、本実施形態では、車外情報のうち、乗員と関係性のない発話者の車外情報を他者の車外情報として取得し、他者の車外情報に基づいて、コンテンツを選択する。これにより、運転者が所有する車両に初めて乗車する人物であっても、運転者と同乗者に適したコンテンツを選択することができる。
加えて、本実施形態では、乗員が所定の基準頻度よりも高い頻度で現れる位置で発話された音声を、車外の音声情報として取得する。これにより、車外における運転者と同乗者と関係性や関心事項の推定精度を向上させることができる。
また、本実施形態では、乗員が車両に乗車する直前に発話された音声を、車外の音声情報として取得する。そして、取得した車外の音声情報に基づいて、コンテンツを選択する。これにより、乗車する前後においても運転者と同乗者が同じ内容で会話をすることができ、車内の雰囲気により運転者及び同乗者に違和感を与えることを防ぐことができる。
さらに、本実施形態では、乗員が所定の基準時間よりも長く滞在する位置で発話された音声を、車外の音声情報として取得する。これにより、予め設定された特定の場所でなくても、乗員が高頻度で訪れる場所で収集された音声情報を分析することができ、乗員の行動パターンに応じた分析をすることができる。
加えて、本実施形態では、車内情報に基づいて、車両の乗員の間で共通する関心事項を現在の関心事項として推定し、乗員の車外情報よりも現在の関心事項を優先してコンテンツを選択する。これにより、運転者と同乗者が乗車後と乗車前で異なる話題の会話をしていた場合であっても、運転者及び同乗者に適したコンテンツを提供することができる。
また、本実施形態では、車両の室内で発話された音声に含まれる所定のキーワードが出現する頻度に応じて、現在の関心事項を推定する。これにより、現在の関心事項の推定精度を向上させることができる。
さらに、本実施形態では、車両の室内で利用されたコンテンツを特定し、車両の乗員の属性を性別及び年代に応じて、複数のカテゴリに分類し、利用されたコンテンツとカテゴリとの関連性を推定し、推定した結果を学習結果としてデータベース230に蓄積させる。これにより、カテゴリごとに学習結果が蓄積されるため、異なる同乗者であっても同じカテゴリに属する場合には、学習結果の流用が可能となり、初めて運転者が所有する車両に乗車する人物に対しても適切なコンテンツを選択することができる。
なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
例えば、上述の実施形態では、サーバ220が現在の車内の会話に基づいてコンテンツの候補リストを作成及び現在の関心事項に基づくコンテンツの候補リストを車載装置に送信する構成を例に挙げて説明したが、これに限られない。例えば、現在の関心事項に基づいて、コンテンツを変更する処理は、車載装置100が実行してもよい。例えば、車載コントローラ140は、データセンタ200からコンテンツの候補リストを受信したとしても、コンテンツの候補リストよりも、現在車内で利用されているコンテンツを優先して乗員に提供してもよい。
なお、本明細書では、本発明に係るコントローラを、車載装置100が備える車載コントローラ140、データセンタ200が備えるサーバ220、携帯端末300が備える端末コントローラ350、外部装置400が備える外部コントローラ440を例に説明するが、本発明はこれに限定されるものではない。