以下、図面を参照し、本発明の情報処理装置、情報処理方法、及びプログラムの実施形態について説明する。
図1は、実施形態の情報提供システム1の構成図である。情報提供システム1は、例えば、情報提供装置100と、情報提供システム1のユーザU1が利用する通信端末300と、情報提供システム1のユーザU2が利用する車両Mとを備える。これらの構成要素は、ネットワークNWを介して互いに通信可能である。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、電話回線、公衆回線、専用回線、プロバイダ装置、無線基地局等を含む。情報提供システム1には、通信端末300または車両Mの一方または双方が複数含まれてもよい。車両Mは、例えば、エージェント装置500を備える。情報提供装置100は、「情報処理装置」の一例である。
情報提供装置100は、通信端末300からユーザU1の問い合わせや要求等を受け付け、受け付けた問い合わせや要求に応じた処理を行い、処理結果を通信端末300に送信する。また、情報提供装置100は、車両Mに搭載されたエージェント装置500からユーザU2の問い合わせや要求等を受け付け、受け付けた問い合わせや要求に応じた処理を行い、処理結果をエージェント装置500に送信する。情報提供装置100は、例えば、通信端末300およびエージェント装置500と、ネットワークNWを介して互いに通信し、各種データを送受信するクラウドサーバとして機能してもよい。
通信端末300は、例えば、スマートフォンやタブレット端末等の携帯型端末である。通信端末300は、ユーザU1からの問い合わせや要求等の情報を受け付ける。通信端末300は、ユーザU1から受け付けた情報を情報提供装置100に送信し、送信した情報に対する回答として得られた情報を出力する。つまり、通信端末300は、音声ユーザインターフェースとして機能する。
エージェント装置500が搭載される車両Mは、例えば、二輪や三輪、四輪等の車両であり、その駆動源は、ディーゼルエンジンやガソリンエンジン等の内燃機関、電動機、或いはこれらの組み合わせである。電動機は、内燃機関に連結された発電機による発電電力、或いは二次電池や燃料電池の放電電力を使用して動作する。また、車両Mは、自動運転車両であってもよい。自動運転とは、例えば、車両の操舵または速度のうち、一方または双方を自動的に制御することである。上述した車両の運転制御には、例えば、ACC(Adaptive Cruise Control)や、ALC(Auto Lane Changing)、LKAS(Lane Keeping Assistance System)といった種々の運転制御が含まれてよい。自動運転車両は、乗員(運転者)の手動運転によって運転が制御されることがあってもよい。
エージェント装置500は、車両Mの乗員(例えば、ユーザU2)と対話したり、乗員から問い合わせや要求等に対する情報を提供したりする。エージェント装置500は、例えば、ユーザU2からの問い合わせや要求等の情報を受け付け、その受け付けた情報を情報提供装置100に送信し、送信した情報に対する回答として得られた情報を出力する。つまり、エージェント装置500は、通信端末300と同様に、音声ユーザインターフェースとして機能する。
[情報提供装置]
以下、情報提供装置100の構成を説明する。情報提供装置100は、例えば、通信部102と、認証部104と、取得部106と、音声認識部108と、自然言語処理部110と、判定部112と、ユーザベクトル生成部114と、解析部116と、収集部118と、辞書生成部120と、検証部122と、提供部124と、記憶部130とを備える。音声認識部108と自然言語処理部110とを合わせたものは、「抽出部」の一例である。ユーザベクトル生成部114は「第1生成部」の一例である。辞書生成部120は「第2生成部」の一例である。
認証部104と、取得部106と、音声認識部108と、自然言語処理部110と、判定部112と、ユーザベクトル生成部114と、解析部116と、収集部118と、辞書生成部120と、検証部122と、提供部124は、それぞれ、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリ等の記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROM等の着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置等に装着されることで情報提供装置100の記憶装置にインストールされてもよい。
記憶部130は、上記の各種記憶装置、或いはEEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等により実現される。記憶部130には、上記のプロセッサによって参照されるプログラムに加えて、例えば、ユーザ認証情報132、発話履歴情報134、行動履歴情報136などが格納される。
ユーザ認証情報132には、例えば、情報提供装置100を利用するユーザを識別する情報や認証部104による認証時に用いられる情報等が含まれる。ユーザ認証情報132は、例えば、ユーザID、パスワード、住所、氏名、年齢、性別、趣味、特技、指向情報等である。指向情報とは、ユーザの指向性を示す情報であり、例えば、ユーザの考え方を示す情報や、好みなどを示す情報(嗜好性の情報)、ユーザが重視する事項を示す情報等である。
発話履歴情報134は、音声ユーザインターフェースとして機能する通信端末300又はエージェント装置500に対して、ユーザが話しかけた言葉(つまり発話)の履歴情報である。発話履歴情報134には、一人のユーザの発話履歴である個人発話履歴情報134Aと、複数のユーザの発話履歴である集団発話履歴情報134Bとが含まれる。例えば、エージェント装置500が搭載された車両Mに一人のユーザのみが乗車している場合(エージェント装置500によって一人のユーザの発話のみが収音された場合)、そのユーザの発話履歴は、個人発話履歴情報134Aとして記録される。一方、車両Mに複数のユーザが集団で乗車している場合(エージェント装置500によって複数のユーザの発話が収音された場合)、それら複数のユーザの発話履歴は、集団発話履歴情報134Bとして記録される。
行動履歴情報136は、観光地への訪問やインターネット検索といったユーザの行動の履歴情報である。行動履歴情報136には、一人のユーザの行動履歴である個人行動履歴情報136Aと、複数のユーザの行動履歴である集団行動履歴情報136Bとが含まれる。例えば、エージェント装置500が搭載された車両Mに一人のユーザのみが乗車している場合、そのユーザを乗せた車両Mの位置の遷移履歴(移動履歴)は、個人発話履歴情報134Aとして記録される。一方、車両Mに複数のユーザが集団で乗車している場合、それら複数のユーザを乗せた車両Mの位置の遷移履歴(移動履歴)は、集団発話履歴情報134Bとして記録される。また、一人のユーザが通信端末300を携行して移動した場合、その通信端末300の位置の遷移履歴(移動履歴)は、個人発話履歴情報134Aとして記録される。一方、複数のユーザのそれぞれが通信端末300を携行して移動した場合、それら複数の通信端末300の位置の遷移履歴(移動履歴)は、集団発話履歴情報134Bとして記録される。
通信部102は、ネットワークNWを介して通信端末300、エージェント装置500、その他の外部装置と通信するインターフェースである。例えば、通信部102は、NIC(Network Interface Card)や、無線通信用のアンテナなどを備える。
認証部104は、情報提供システム1を利用するユーザ(例えば、ユーザU1、U2)に関する情報を、ユーザ認証情報132として記憶部130に登録する。例えば、認証部104は、通信端末300又はエージェント装置500からユーザ登録要求を受け付けた場合に、ユーザ認証情報132に含まれる各種情報を入力するためのGUI(Graphical User Interface)を、登録要求を受け付けた装置に表示させる。ユーザがGUIに各種情報を入力すると、認証部104は、その装置からユーザに関する情報を取得する。そして、認証部104は、通信端末300又はエージェント装置500から取得したユーザに関する情報を記憶部130にユーザ認証情報132として登録する。
図2は、ユーザ認証情報132の内容について説明するための図である。ユーザ認証情報132は、例えば、ユーザの認証情報に対して、そのユーザの住所、氏名、年齢、性別、連絡先、指向情報等の情報が対応付けられたものである。認証情報には、例えば、ユーザを識別する識別情報であるユーザIDやパスワード等が含まれる。また、認証情報には、指紋情報や虹彩情報等の生体認証情報が含まれてもよい。連絡先は、例えば、そのユーザによって使用される音声ユーザインターフェース(通信端末300又はエージェント装置500)と通信するためのアドレス情報であってもよいし、ユーザの電話番号やメールアドレス、端末識別情報等であってもよい。情報提供装置100は、連絡先の情報に基づいて、各移動通信機器と通信し、各種情報を提供する。
認証部104は、予め登録しておいたユーザ認証情報132に基づいて情報提供システム1のサービスのユーザを認証する。例えば、認証部104は、通信端末300またはエージェント装置500からサービスの利用要求を受け付けたタイミングでユーザを認証する。具体的には、認証部104は、利用要求を受け付けた場合に、ユーザIDやパスワード等の認証情報を入力するためのGUIを、要求のあった端末装置に表示させると共に、そのGUI上に入力された入力認証情報とユーザ認証情報132の認証情報とを比較する。認証部104は、ユーザ認証情報132の中に、入力認証情報に合致する認証情報が格納されているか否かを判定し、入力認証情報に合致する認証情報が格納されている場合、サービスの利用を許可する。一方、認証部104は、入力認証情報に合致する認証情報が格納されていない場合、サービスの利用を禁止したり、或いは新規登録を行わせるための処理を行う。
取得部106は、通信部102を介して(ネットワークNWを介して)、通信端末300またはエージェント装置500から、一人又は複数人のユーザの発話を取得し、それを発話履歴情報134として記憶部130に格納する。ユーザの発話は、音声データ(音響データや音響ストリームともいう)であってもよいし、その音声データから認識されたテキストデータであってもよい。また、取得部106は、通信部102を介して(ネットワークNWを介して)、通信端末300またはエージェント装置500から、一人又は複数人のユーザの行動履歴を取得し、それを行動履歴情報136として記憶部130に格納する。
図3は、個人発話履歴情報134Aの内容について説明するための図である。個人発話履歴情報134Aは、例えば、ユーザが発話した日時に、その発話がなされた場所、その発話の内容発話、および提供情報が対応付けられたものである。発話内容は、ユーザが発話した音声であってもよいし、後述する音声認識部108による音声認識によって得られたテキストであってもよい。提供情報は、ユーザの発話に対するレスポンスとして提供部124により提供された情報である。提供情報には、例えば、対話用の音声情報や、画像や動作等の表示情報が含まれる。
図4は、集団発話履歴情報134Bの内容について説明するための図である。集団発話履歴情報134Bは、例えば、ユーザが発話した日時に対して、その発話がなされた場所、その発話の内容発話、提供情報といった情報に加えて、更に、集団メンバ情報が対応付けられたものである。集団メンバ情報とは、例えば、同じ車両Mに乗車した他のユーザや、同じ場所に同行した他のユーザ、位置情報から同時刻に同じ場所にいたとみなせる他のユーザに関する情報(例えばユーザID等)である。
図5は、個人行動履歴情報136Aの内容について説明するための図である。個人行動履歴情報136Aは、例えば、ユーザIDおよびに日時に対して、行動履歴が対応付けられたものである。行動履歴には、例えば、ユーザが訪問先や、その移動手段などが含まれる。上述したように、行動履歴には、インターネット上の行動履歴が含まれていてもよい。
図6は、集団行動履歴情報136Bの内容について説明するための図である。集団行動履歴情報136Bは、例えば、ユーザIDおよびに日時に対して、行動履歴と、集団メンバ情報とが対応付けられたものである。
音声認識部108は、ユーザの発話音声を認識する音声認識(音声をテキスト化する処理)を行う。例えば、音声認識部108は、取得部106によって取得されたユーザの発話を表す音声データに対して音声認識を行い、音声データをテキスト化したテキストデータを生成する。テキストデータには、発話の内容が文字として記述された文字列が含まれる。
例えば、音声認識部108は、音響モデルと、自動音声認識のための辞書(以下、ASR辞書と称する)とを用いて、音声データをテキスト化してよい。音響モデルは、入力された音声を周波数に応じて分離し、その分離した各音声を音素(スペクトログラム)に変換するよう予め学習又は調整されたモデルであり、例えば、ニューラルネットワークや隠れマルコフモデルなどである。ASR辞書は、複数の音素の組み合わせに対して文字列が対応付けれており、更に、構文によって文字列の区切る位置が定義付けられたデータベースである。ASR辞書は、いわゆるパターンマッチ辞書である。例えば、音声認識部108は、音声データを音響モデルに入力し、その音響モデルによって出力された音素の集合をASR辞書の中から探し、その音素の集合に対応した文字列を取得する。音声認識部108は、このように得られた文字列の組み合わせをテキストデータとして生成する。なお、音声認識部108は、ASR辞書を使用する代わりに、例えばn-gramモデル等によって実装された言語モデルを用いて、音響モデルの出力結果からテキストデータを生成してもよい。
自然言語処理部110は、テキストの構造や意味を理解する自然言語理解を行う。例えば、自然言語処理部110は、意味解釈のために予め用意された辞書(以下、NLU辞書)を参照しながら、音声認識部108によって生成されたテキストデータの意味を解釈する。NLU辞書は、テキストデータに対して抽象化された意味情報が対応付けられたデータベースである。例えば、NLU辞書は、「私」という単語と「同僚」という単語が互いに関係性が高く、「ハンバーガー」という単語と「食べる」という単語が互いに関係性が高い、といったことを定義している。これにより例えば、「私は同僚とハンバーガーを食べた」という文章が、「私」という単一の主体が「同僚」及び「ハンバーガー」という2つの客体に対して、「食べる」という行為を行ったという意味で解釈されるのではなく、「私」及び「同僚」という2つの主体が「ハンバーガー」という単一の客体に対して、「食べる」という行為を行ったという意味で解釈されることになる。NLU辞書は、同義語や類義語などを含んでもよい。音声認識と自然言語理解は、必ずしも段階が明確に分かれる必要はなく、自然言語理解の結果を受けて音声認識の結果を修正するなど、相互に影響し合って行われてよい。
また、自然言語処理部110は、音声認識部108によって生成されたテキストデータから固有表現を抽出する。例えば、自然言語処理部110は、TF(Term Frequency)-IDF(Inverse Document Frequency)などを用いて、固有表現を抽出してよい。
固有表現とは、例えば、名詞のような一つの単語(ワード)であってもよいし、名詞と名詞とが他の品詞(例えば助詞)で接続された一つの句(フレーズ)であってもよいし、名詞や動詞、助詞、助動詞などの種々の品詞を含む一つの文(センテンス)であってもよい。
例えば、固有表現には、ある地名や、その地名の言い回し、ある標章や、その標章の言い回しなどが含まれる。標章には、例えば、企業名、ブランド名、店舗名などが含まれる。例えば、ある企業の公式名称が「本田技研工業株式会社」であり、その「本田技研工業株式会社」という企業の本社が存在する地域のユーザが、その企業のことを親しみをこめて「本田技研」などとを呼称していたとする。この場合、「本田技研」という固有表現は、「本田技研工業株式会社」という固有表現の言い回しとして扱われる。また、ある飲食店の公式名称が「ABCDEF」であるときに、ある地域のユーザがその飲食店のことを「ABC」と省略して呼称しているのに対して、別の地域のユーザがその飲食店のことを「DEF」と省略して呼称していたとする。この場合、「ABC」や「DEF」のように地域で呼び方が異なる固有表現は、「ABCDEF」という固有表現の言い回しとして扱われる。また、固有表現とその言い回しとの関係は、地域に限らず、若者と大人といったように年齢や世代の違いのなかにも存在していてよいし、コミュニティや派閥などの違いのなかにも存在していてよい。このような関係は、例えば、広く一般的に知られているメジャーな名称と、メジャーな名称と同一の意味で使用されるマイナーな名称との間にも存在していてよい。このように、自然言語処理部110は、文字列的に互いに異なる表現であるものの、その意味する対象が同一である表現を、それぞれ固有表現として抽出する。
判定部112は、行動履歴情報136に含まれる複数のユーザのそれぞれの行動履歴に基づいて、各々のユーザが訪問回数が急増した地点を訪問したか否かを判定する。「訪問回数が急増した地点」とは、例えば、他のユーザによって訪問された回数が閾値以上の地点、又は他のユーザによって訪問された回数の所定期間あたりの増加率が閾値以上の地点である。
ユーザベクトル生成部114は、自然言語処理部110によって抽出された固有表現と、判定部112による判定結果とを組み合わせた多次元の特徴量を、ユーザごとに生成する。例えば、ユーザベクトル生成部114は、TF-IDFなどを用いて得られた固有表現のベクトル(以下、「発話ベクトル」という)と、判定部112による判定結果に基づくベクトル(以下、「行動ベクトル」という)とを組み合わせ、それらの組み合わせを一つのベクトルとして生成する。以下、発話ベクトルと行動ベクトルとを組み合わせたベクトルのことを、「ユーザベクトル」と称して説明する。発話ベクトルは「第1特徴量」の一例であり、行動ベクトルは「第2特徴量」の一例である。
解析部116は、ユーザベクトルが生成された複数のユーザのクラスタリングを行い、発話内容や訪問地点といった特徴が類似するユーザ同士を同一のクラスタに分類する。この際、解析部116は、ユーザベクトルの次元を圧縮してよい。次元圧縮には、例えば、主成分分析や、LDA(Latent Dirichlet Allocation)に代表されるようなトピックモデル、Word2Vecなどのニューラルネットワークなどが利用されてよい。また、次元圧縮には、正則化回帰の一つであるLASSO(Least Absolute Shrinkage and Selection Operator)や、NMF(Nonnegative Matrix Factorization)などが利用されてもよい。
収集部118は、クラスタリングによって生成されたクラスタごとに、そのクラスタに属するユーザの発話から抽出された固有表現の共起表現を収集する。共起表現とは、例えば、ウェブサイトなどにおいて、ユーザの発話から抽出された固有表現とともに出現しやすい単語などである。例えば、収集部118は、通信部102を介してウェブサーバ等にアクセスし、そのウェブサーバによって提供されるウェブサイトをクロールし、コンテンツを収集する。収集部118は、アソシエーション分析等を利用して、収集したコンテンツから共起表現を抽出する。このように、収集部118は、Webクローラーのように機能してよい。
辞書生成部120は、クラスタリングによって生成されたクラスタごとに、音声認識や自然言語理解といった各情報処理のための辞書(以下、情報処理辞書と称する)を生成する。情報処理辞書とは、上述した音声認識(音声のテキスト化)の際に参照されるASR辞書と、自然言語理解(テキストの意味解釈)の際に参照されるNLU辞書とのうち、いずれか一方又は双方の辞書である。例えば、音声認識の際にASR辞書ではなく言語モデルが利用される場合、情報処理辞書には、NLU辞書のみが含まれる。情報処理辞書には、収集部118によって収集された共起表現が包含される。
検証部122は、辞書生成部120によって生成された情報処理辞書の精度を検証する。検証方法の詳細については後述する。
提供部124は、通信部102を介して、音声ユーザインターフェースである通信端末300又はエージェント装置500に各種情報を提供(送信)する。例えば、取得部106が通信端末300又はエージェント装置500から問い合わせや要求を発話として取得した場合、提供部124は、その問い合わせや要求のレスポンスとなる情報を生成する。例えば、「今日の天気を教えて」という意味の発話が取得された場合、提供部124は、「今日」と「天気」という固有表現に対応したコンテンツ(天気予報の結果を表す画像や映像、音声など)を生成してよい。そして、提供部124は、通信部102を介して、生成した情報を問い合わせや要求のあった音声ユーザインターフェースに返信する。
また、提供部124は、辞書生成部120によって生成された情報処理辞書の利用案内情報を、通信端末300又はエージェント装置500に提供する。利用案内情報とは、例えば、ASR辞書が音声認識の際に新たに参照(使用)されるようユーザに設定を推奨したり、或いは、NLU辞書が自然言語理解の際に新たに参照(使用)されるようユーザに設定を推奨したりする情報である。
[通信端末]
次に、通信端末300の構成について説明する。図7は、実施形態の通信端末300の構成図である。通信端末300は、例えば、端末側通信部310と、入力部320と、ディスプレイ330と、スピーカ340と、マイクロフォン(以下、マイク)350と、位置取得部355と、カメラ360と、アプリ実行部370と、出力制御部380と、端末側記憶部390とを備える。位置取得部355と、アプリ実行部370と、出力制御部380とは、例えば、CPU等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSIやASIC、FPGA、GPU等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDDやフラッシュメモリ等の記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROM等の着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置やカードスロット等に装着されることで通信端末300の記憶装置にインストールされてもよい。
端末側記憶部390は、上記の各種記憶装置、或いはEEPROM、ROM、RAM等により実現されてもよい。端末側記憶部390には、例えば、上記のプログラムや、情報提供アプリケーション392、その他の各種情報が格納される。
端末側通信部310は、例えば、ネットワークNWを利用して、情報提供装置100、エージェント装置500、その他の外部装置と通信を行う。
入力部320は、例えば、各種キーやボタン等の操作によるユーザU1の入力を受け付ける。ディスプレイ330は、例えば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイ等である。入力部320は、タッチパネルとしてディスプレイ330と一体に構成されていてもよい。ディスプレイ330は、出力制御部380の制御により、実施形態における各種情報を表示する。スピーカ340は、例えば、出力制御部380の制御により、所定の音声を出力する。マイク350は、例えば、出力制御部380の制御により、ユーザU1の音声の入力を受け付ける。
位置取得部355は、通信端末300の位置情報を取得する。例えば、位置取得部355は、GPS(Global Positioning System)などに代表されるGNSS(Global Navigation Satellite System)受信機を含む。位置情報とは、例えば、二次元の地図座標でもよく、緯度経度情報でもよい。位置取得部355は、端末側通信部310を介して、取得した位置情報を情報提供装置100に送信してよい。
カメラ360は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子(イメージセンサ)を利用したデジタルカメラである。例えば、ナビゲーション装置などの代用として通信端末300が車両Mのインストルメントパネルに取り付けられた場合、その通信端末300のカメラ360は、自動的に、又はユーザU1の操作に応じて、車両Mの車室内を撮像してよい。
アプリ実行部370は、端末側記憶部390に記憶された情報提供アプリケーション392を実行する。情報提供アプリケーション392は、情報提供装置100から提供された画像をディスプレイ330に出力させたり、情報提供装置100から提供された情報に対応する音声をスピーカ340から出力させたりするように、出力制御部380を制御するためのアプリケーションプログラムである。また、アプリ実行部370は、入力部320により入力された情報を、端末側通信部310を介して情報提供装置100に送信する。情報提供アプリケーション392は、例えば、ネットワークNWを介して外部装置からダウンロードされたものが通信端末300にインストールされてよい。
出力制御部380は、アプリ実行部370の制御により、ディスプレイ330に画像を表示させたり、スピーカ340に音声を出力させたりする。その際、出力制御部380は、ディスプレイ330に表示させる画像の内容や態様を制御したり、スピーカ340に出力させる音声の内容や態様を制御したりしてよい。
[車両]
次に、エージェント装置500が搭載された車両Mの概略構成について説明する。図8は、エージェント装置500が搭載された車両Mの概略構成の一例を示す図である。図8に示す車両Mには、エージェント装置500と、マイク610と、表示・操作装置620と、スピーカユニット630と、ナビゲーション装置640と、MPU(Map Positioning Unit)650と、車両機器660と、車載通信装置670と、乗員認識装置690と、自動運転制御装置700とが搭載される。また、スマートフォンなどの汎用通信装置680が車室内に持ち込まれ、通信装置として使用される場合がある。汎用通信装置680は、例えば、通信端末300である。これらの装置は、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。
先にエージェント装置500以外の構成について説明する。マイク610は、車室内で発せられた音声を収集する。表示・操作装置620は、画像を表示すると共に、入力操作を受付可能な装置(或いは装置群)である。表示・操作装置620は、典型的には、タッチパネルである。表示・操作装置620は、更に、HUD(Head Up Display)や機械式の入力装置を含んでもよい。スピーカユニット630は、例えば、車室内や車外に音声や警報音等を出力する。表示・操作装置620は、エージェント装置500とナビゲーション装置640とで共用されてもよい。
ナビゲーション装置640は、ナビHMI(Human machine Interface)と、GPSなどの位置測位装置と、地図情報を記憶した記憶装置と、経路探索などを行う制御装置(ナビゲーションコントローラ)とを備える。マイク610、表示・操作装置620、およびスピーカユニット630のうち一部または全部がナビHMIとして用いられてもよい。ナビゲーション装置640は、位置測位装置によって特定された車両Mの位置に基づいて地図情報を参照し、地図情報から車両Mの位置からユーザによって入力された目的地まで移動するための経路(ナビ経路)を探索し、経路に沿って車両Mが走行できるように、ナビHMIを用いて案内情報を出力する。経路探索機能は、ネットワークNWを介してアクセス可能な情報提供装置100やナビゲーションサーバにあってもよい。この場合、ナビゲーション装置640は、情報提供装置100やナビゲーションサーバから経路を取得して案内情報を出力する。なお、エージェント装置500は、ナビゲーションコントローラを基盤として構築されてもよく、その場合、ナビゲーションコントローラとエージェント装置500は、ハードウェア上は一体に構成される。
MPU650は、例えば、ナビゲーション装置640から提供された地図上経路を複数のブロックに分割し(例えば、車両進行方向に関して100[m]毎に分割し)、ブロックごとに推奨車線を決定する。例えば、MPU650は、左から何番目の車線を走行するといった決定を行う。また、MPU650は、ナビゲーション装置640の記憶装置に記憶された地図情報よりも高精度な地図情報(高精度地図)を用いて推奨車線を決定してもよい。高精度地図は、例えば、MPU650の記憶装置に記憶されていてもよく、ナビゲーション装置640の記憶装置やエージェント装置500の車両側記憶部560に記憶してもよい。高精度地図は、車線の中央の情報あるいは車線の境界の情報、交通規制情報、住所情報(住所・郵便番号)、施設情報、電話番号情報などが含まれてよい。
車両機器660は、例えば、カメラやレーダ装置、LIDAR(Light Detection and Ranging)、物体認識装置である。カメラは、例えば、CCDやCMOS等の固体撮像素子を利用したデジタルカメラである。カメラは、車両Mの任意の箇所に取り付けられる。レーダ装置は、車両Mの周辺にミリ波などの電波を放射すると共に、物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。LIDARは、車両Mの周辺に光を照射し、散乱光を測定する。LIDARは、発光から受光までの時間に基づいて、対象までの距離を検出する。物体認識装置は、カメラ、レーダ装置、およびLIDARのうち一部または全部による検出結果に対してセンサフュージョン処理を行って、車両Mの周辺に存在する物体の位置、種類、速度などを認識する。物体認識装置は、認識結果をエージェント装置500や自動運転制御装置700に出力する。
また、車両機器660は、例えば、運転操作子や、走行駆動力出力装置、ブレーキ装置、ステアリング装置等を含む。運転操作子は、例えば、アクセルペダル、ブレーキペダル、シフトレバー、ステアリングホイール、異形ステア、ジョイスティックその他の操作子を含む。運転操作子には、操作量あるいは操作の有無を検出するセンサが取り付けられており、その検出結果は、エージェント装置500や自動運転制御装置700、もしくは、走行駆動力出力装置、ブレーキ装置、およびステアリング装置のうち一部または全部に出力される。走行駆動力出力装置は、車両Mが走行するための走行駆動力(トルク)を駆動輪に出力する。ブレーキ装置は、例えば、ブレーキキャリパーと、ブレーキキャリパーに油圧を伝達するシリンダと、シリンダに油圧を発生させる電動モータと、ブレーキECUとを備える。ブレーキECUは、自動運転制御装置700から入力される情報、或いは運転操作子から入力される情報に従って電動モータを制御し、制動操作に応じたブレーキトルクが各車輪に出力されるようにする。ステアリング装置は、例えば、ステアリングECUと、電動モータとを備える。電動モータは、例えば、ラックアンドピニオン機構に力を作用させて転舵輪の向きを変更する。ステアリングECUは、自動運転制御装置700から入力される情報、或いは運転操作子から入力される情報に従って、電動モータを駆動し、転舵輪の向きを変更させる。
また、車両機器660は、例えば、ドアロック装置、ドア開閉装置、窓、窓の開閉装置および窓の開閉制御装置、シート、シート位置の制御装置、ルームミラーおよびその角度位置制御装置、車両内外の照明装置およびその制御装置、ワイパーやデフォッガーおよびそれぞれの制御装置、方向指示灯およびその制御装置、空調装置などの車両情報装置などが含まれてもよい。
車載通信装置670は、例えば、セルラー網やWi-Fi網を利用してネットワークNWにアクセス可能な無線通信装置である。
乗員認識装置690は、例えば、着座センサ、車室内カメラ、画像認識装置などを含む。着座センサは座席の下部に設けられた圧力センサ、シートベルトに取り付けられた張力センサなどを含む。車室内カメラは、車室内に設けられたCCDカメラやCMOSカメラである。画像認識装置は、車室内カメラの画像を解析し、座席ごとのユーザの有無、ユーザの顔などを認識して、ユーザの着座位置を認識する。また、乗員認識装置690は、予め登録された顔画像とのマッチング処理を行うことで、画像に含まれる運転席や助手席等に着座するユーザを特定してもよい。
自動運転制御装置700は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより処理を行う。自動運転制御装置700の構成要素のうち一部または全部は、LSIやASIC、FPGA、GPU等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予め自動運転制御装置700のHDDやフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体(非一過性の記憶媒体)がドライブ装置に装着されることで自動運転制御装置700のHDDやフラッシュメモリにインストールされてもよい。
自動運転制御装置700は、車両機器660の物体認識装置を介して入力された情報に基づいて、車両Mの周辺にある物体の位置、および速度、加速度等の状態を認識する。自動運転制御装置700は、原則的にはMPU650により決定された推奨車線を走行し、更に、車両Mの周辺状況に対応できるように、車両Mが自動的に(運転者の操作に依らずに)将来走行する目標軌道を生成する。目標軌道は、例えば、速度要素を含んでいる。例えば、目標軌道は、車両Mの到達すべき地点(軌道点)を順に並べたものとして表現される。
自動運転制御装置700は、目標軌道を生成するにあたり、自動運転のイベントを設定してよい。自動運転のイベントには、定速走行イベント、低速追従走行イベント、車線変更イベント、分岐イベント、合流イベント、テイクオーバーイベント、自動駐車イベントなどがある。自動運転制御装置700は、起動させたイベントに応じた目標軌道を生成する。また、自動運転制御装置700は、生成した目標軌道を、予定の時刻通りに車両Mが通過するように、車両機器660の走行駆動力出力装置、ブレーキ装置、およびステアリング装置を制御する。例えば、自動運転制御装置700は、目標軌道(軌道点)に付随する速度要素に基づいて、走行駆動力出力装置またはブレーキ装置を制御したり、目標軌道の曲がり具合に応じて、ステアリング装置を制御する。
次に、エージェント装置500について説明する。エージェント装置500は、車両Mの乗員と対話を行う装置である。例えば、エージェント装置500は、乗員の発話を情報提供装置100に送信し、その発話に対する回答を情報提供装置100から受信する。エージェント装置500は、受信した回答を、音声や画像を用いて乗員に提示する。
エージェント装置500は、例えば、管理部520と、エージェント機能部540と、車両側記憶部560とを備える。管理部520は、例えば、音響処理部522と、表示制御部524と、音声制御部526とを備える。図8において、これらの構成要素の配置は説明のために簡易に示しており、実際には、例えば、エージェント機能部540と車載通信装置60の間に管理部520が介在してもよく、その配置は任意に改変することができる。
エージェント装置500の車両側記憶部560以外の各構成要素は、例えば、CPUなどのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。これらの構成要素のうち一部または全部は、LSIやASIC、FPGA、GPUなどのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
車両側記憶部560は、上記の各種記憶装置、或いはEEPROM、ROM、またはRAM等により実現されてよい。車両側記憶部560には、例えば、プログラム、その他各種情報が格納される。
管理部520は、OS(Operating System)やミドルウェアなどのプログラムが実行されることで機能する。
音響処理部522は、車両Mの乗員(例えば、ユーザU2)から受け付けた各種音声のうち、問い合わせや要求等に関する情報を認識するのに適した状態になるように、入力された音に対して音響処理を行う。具体的には、音響処理部522は、ノイズ除去などの音響処理を行ってよい。
表示制御部524は、エージェント機能部540からの指示に応じて、表示・操作装置620等の出力装置に車両Mの乗員からの問い合わせや要求に対する回答結果に関する画像を生成する。回答結果に関する画像とは、例えば、問い合わせや要求等に対する回答結果を示す店舗や施設の一覧リストを示す画像や、各店舗や施設に関する画像、目的地までの走行経路を示す画像、その他レコメンド情報や処理の開始または終了を示す画像等である。また、表示制御部524は、エージェント機能部540からの指示に応じて、乗員とコミュニケーションを行う擬人化されたキャラクタ画像(以下、エージェント画像と称する)を生成してもよい。エージェント画像は、例えば、乗員に対して話しかける態様の画像である。エージェント画像は、例えば、少なくとも観者(乗員)によって表情や顔向きが認識される程度の顔画像を含んでよい。表示制御部524は、生成した画像を表示・操作装置620に出力させる。
音声制御部526は、エージェント機能部540からの指示に応じて、スピーカ630に含まれるスピーカのうち一部または全部に音声を出力させる。音声には、例えば、エージェント画像が乗員と対話を行うための音声や、表示制御部524により画像を表示・操作装置620に出力された画像に対応する音声が含まれる。また、音声制御部526は、複数のスピーカ630を用いて、エージェント画像の表示位置に対応する位置にエージェント音声の音像を定位させる制御を行ってもよい。エージェント画像の表示位置に対応する位置とは、例えば、エージェント画像がエージェント音声を喋っていると乗員が感じると予測される位置であり、具体的には、エージェント画像の表示位置付近(例えば、2~3[cm]以内)の位置である。また、音像が定位するとは、例えば、ユーザの左右の耳に伝達される音の大きさを調節することにより、乗員が感じる音源の空間的な位置を定めることである。
エージェント機能部540は、管理部520により取得される各種情報に基づいて、情報提供装置100と協働してエージェント画像等を出現させ、車両Mの乗員の発話に応じて、音声による応答を含むサービスを提供する。例えば、エージェント機能部540は、音響処理部522により処理された音声に含まれる起動ワードに基づいてエージェントを起動したり、終了ワードに基づいてエージェントを終了させたりする。また、エージェント機能部540は、音響処理部522により処理された音声データを、車載通信装置670を介して情報提供装置100に送信したり、情報提供装置100から得られる情報を乗員に提供したりする。また、エージェント機能部540は、汎用通信装置680と連携し、情報提供装置100と通信する機能を備えていてもよい。この場合、エージェント機能部540は、例えば、Bluetooth(登録商標)によって汎用通信装置680とペアリングを行い、エージェント機能部540と汎用通信装置680とを接続させる。また、エージェント機能部540は、USB(Universal Serial Bus)などを利用した有線通信によって汎用通信装置680に接続されるようにしてもよい。
[情報処理装置の処理フロー]
次に、情報提供装置100による一連の処理の流れについてフローチャートを用いて説明する。図9及び10は、実施形態の情報提供装置100による一連の処理の流れを表すフローチャートである。
まず、取得部106は、通信部102を介して、通信端末300またはエージェント装置500から、複数のユーザの発話及び行動履歴を取得する(ステップS100)。取得部106は、ユーザの発話及び行動履歴を取得すると、それらを発話履歴情報134及び行動履歴情報136として記憶部130に記憶させる。
次に、音声認識部108は、音声認識により複数のユーザのそれぞれの発話からテキストデータを生成する(ステップS102)。通信端末300またはエージェント装置500において既に発話がテキスト化されていた場合、つまり、取得部106によって取得されたユーザの発話がテキストデータであった場合、S102の処理は省略されてよい。
次に、自然言語処理部110は、音声認識部108によって生成された各ユーザの発話のテキストデータの中から、一人の対象ユーザの発話由来のテキストデータを選択し、その選択したテキストデータから固有表現を抽出する(ステップS104)。つまり、自然言語処理部110は、不特定多数のユーザの中から対象ユーザを選択し、その対象ユーザの発話から固有表現を抽出する。
次に、判定部112は、複数のユーザの行動履歴に基づいて、それら複数のユーザが訪れた地点の中に訪問回数が急増した地点が存在するか否かを判定する(ステップS106)。
図11は、訪問回数が急増した地点とそうでない地点とを説明するための図である。図示の例では、地図上に観光地のような3つの候補地X1~X3が存在している。例えば、候補地X1では、訪問数が急増しており、ユーザの訪問回数が閾値以上、又はユーザの訪問回数の所定期間あたりの増加率が閾値以上となっている。一方、候補地X2やX3では、訪問数に変動がなく、ユーザの訪問回数が閾値未満、又はユーザの訪問回数の所定期間あたりの増加率が閾値未満となっている。このような場合、判定部112は、候補地X1が訪問回数が急増した地点であり、候補地X2やX3が訪問回数が急増していない地点であると判定する。
また、判定部112は、観光地のような人が集まりやすい地点でなくとも、ユーザの訪問回数が閾値以上、又はユーザの訪問回数の所定期間あたりの増加率が閾値以上の地点を、訪問回数が急増した地点として判定してよい。例えば、判定部112は、不特定多数のユーザの位置情報を参照し、とある地点に多数のユーザが集まっており、その地点におけるユーザの訪問回数が閾値以上、又はその増加率が閾値以上である場合には、当該地点を訪問回数が急増した地点として判定してよい。つまり、何らかの理由によって多数のユーザを感化させている地点が存在する場合、その地点が訪問回数が急増した地点として判定される。
図9及び10のフローチャートの説明に戻る。次に、判定部112は、対象ユーザが訪問回数が急増した地点を実際に訪問したか否かを判定する(ステップS108)。
例えば、判定部112は、地図上において、対象ユーザの位置座標と、訪問回数が急増した地点を訪問した他のユーザの位置座標とを比較し、それらユーザ同士の位置座標が同じ場合、対象ユーザが訪問回数が急増した地点を訪問したと判定してよい。また、訪問回数が急増した地点として判定された施設(例えば商業ビルや駐車場)内において無料Wi-Fiなどの通信サービスが提供されており、そこで対象ユーザと他のユーザとが共にその通信サービスを利用したとする。この場合、対象ユーザ及び他のユーザのそれぞれの位置情報には、Wi-Fiのアクセスポイントの位置情報が含まれる。従って、判定部112は、対象ユーザ及び他のユーザのそれぞれの位置情報の中に共通のアクセスポイントの位置情報が含まれる場合、対象ユーザが訪問回数が急増した地点を訪問したと判定してよい。
ユーザベクトル生成部114は、対象ユーザが訪問回数が急増した地点を訪問したと判定部112によって判定された場合、「訪問した」ということを表す対象ユーザの行動ベクトルを生成する(ステップS110)。
一方、ユーザベクトル生成部114は、訪問回数が急増した地点が存在しない、又は対象ユーザが訪問回数が急増した地点を訪問していないと判定部112によって判定された場合、「訪問していない」ということを表す対象ユーザの行動ベクトルを生成する(ステップS112)。
例えば、ユーザベクトル生成部114は、「訪問した」ということを「1」とし、「訪問していない」ということを「0」とした一次元のベクトル(スカラ)を行動ベクトルとして生成してよい。また、ユーザベクトル生成部114は、対象ユーザが何度も繰り返し訪問回数が急増した地点を訪問している場合、訪問回数Nを要素とした行動ベクトルを生成してもよい。
次に、ユーザベクトル生成部114は、対象ユーザの発話から抽出された固有表現がベクトル化された発話ベクトルと、対象ユーザの行動ベクトルとを組み合わせて、対象ユーザのユーザベクトルを生成する(ステップS114)。例えば、発話ベクトルが10次元であり、行動ベクトルが1次元である場合、ユーザベクトルは11次元のベクトルとなる。ユーザベクトルは、対象ユーザのユーザID等に対応付けられてよい。
次に、自然言語処理部110は、発話及び行動履歴が取得された全ユーザについてユーザベクトルが生成されたか否かを判定する(ステップS116)。全ユーザについてユーザベクトルが生成されていない場合、自然言語処理部110は、S104に処理を戻し、前回対象ユーザとして選択したユーザと異なる他のユーザを新たな対象ユーザとして選択し直し、その新たな対象ユーザの発話から固有表現を抽出する。以降、新たな対象ユーザに関してS106からS114の処理が行われ、新たな対象ユーザのユーザベクトルが生成される。このようにしてユーザベクトルが繰り返し生成される。
一方、全ユーザについてユーザベクトルが生成された場合、解析部116は、それら複数のユーザベクトルのそれぞれの次元を圧縮する(ステップS118)。例えば、解析部116は、ユーザベクトルが11次元である場合、10次元又はそれ以下まで圧縮する(ベクトルの要素数を減らす)。
次に、解析部116は、次元を圧縮した複数のユーザベクトルのクラスタリングを行い、発話内容や訪問地点といった特徴が類似するユーザ同士を同一のクラスタに分類する(ステップS120)。
次に、収集部118は、クラスタリングによって生成されたクラスタごとに、そのクラスタに属するユーザの発話から抽出された固有表現の共起表現を収集する(ステップS122)。
図12は、ユーザベクトルのクラスタリング結果の一例を表す図である。図示の例では、複数のユーザベクトルが、A、B、Cの3つのクラスタに分類されている。この場合、収集部118は、クラスタAにユーザベクトルが属するユーザ(以下、ユーザ群Aという)の固有表現に対する共起表現をウェブサイトなどから収集する。クラスタA、B、Cのうちいずれか一つは「特定クラスタ」の一例である。
同様に、収集部118は、クラスタBにユーザベクトルが属するユーザ(以下、ユーザ群Bという)の固有表現に対する共起表現と、クラスタCにユーザベクトルが属するユーザ(以下、ユーザ群Cという)の固有表現に対する共起表現とを、ウェブサイトなどから収集する。
例えば、ユーザ群Aでは、「ABCDEF」という飲食店の言い回しである「ABC」が頻繁に発話されていたとする。この場合、収集部118は、ウェブページなどにおいて「ABC」という表現とともに出現しやすい表現を、ユーザ群Aの共起表現として収集する。一方、ユーザ群Bでは、「ABCDEF」という飲食店の言い回しである「DEF」が頻繁に発話されていたとする。この場合、収集部118は、ウェブページなどにおいて「DEF」という表現とともに出現しやすい表現を、ユーザ群Bの共起表現として収集する。
図9及び10のフローチャートの説明に戻る。次に、辞書生成部120は、クラスタリングによって生成されたクラスタごとに、音声認識のためのASR辞書や自然言語理解のためのNLU辞書を含む情報処理辞書を生成する(ステップS124)。
図13は、情報処理辞書の生成方法を説明するための図である。図示のように、辞書生成部120は、クラスタAについて、ユーザ群Aの固有表現や共起表現が互いに対応付けられた情報処理辞書DICT_Aを生成してよい。同様に、辞書生成部120は、クラスタBについて、ユーザ群Bの固有表現や共起表現が互いに対応付けられた情報処理辞書DICT_Bを生成し、クラスタCについて、ユーザ群Cの固有表現や共起表現が互いに対応付けられた情報処理辞書DICT_Cを生成してよい。このように、辞書生成部120は、クラスタごとに情報処理辞書を生成する。
図9及び10のフローチャートの説明に戻る。次に、辞書生成部120は、通信端末300又はエージェント装置500の各記憶装置の中に既存辞書が存在するか否かを判定するか否かを判定する(ステップS126)。既存辞書とは、例えば、携帯電話やパーソナルコンピュータなどにおいて利用される文字の予測変換機能や入力予測機能(サジェスト機能)を実現するための各種辞書である。
辞書生成部120は、既存辞書が存在すると判定した場合、情報処理辞書と既存辞書とを組み合わせた新情報処理辞書を生成する(ステップS128)。新情報処理辞書には、音声認識のためのASR辞書及び/又は自然言語理解のためのNLU辞書に加えて、更に既存辞書が含まれる。新情報処理辞書は「新辞書」の一例である。
次に、検証部122は、辞書生成部120によって生成された情報処理辞書(新情報処理辞書を含む)の精度を検証する(ステップS130)。例えば、検証部122は、ユーザ群Aの発話に基づいて、クラスタAの情報処理辞書の精度を検証する。より具体的には、検証部122は、ユーザ群A(クラスタAにユーザベクトルが所属するユーザ)における発話頻度に対するカバレッジ(被覆率)とユーザに対するカバレッジとが、予め設定された閾値以上である場合、クラスタAの情報処理辞書の精度が閾値以上であると判定する。同様に、検証部122は、ユーザ群Bの発話に基づいて、クラスタBの情報処理辞書の精度を検証し、ユーザ群Cの発話に基づいて、クラスタCの情報処理辞書の精度を検証する。
次に、提供部124は、情報処理辞書の精度が閾値以上である場合、その情報処理辞書の利用案内情報を、通信端末300又はエージェント装置500に提供する(ステップS132)。これによって本フローチャートの処理が終了する。
図14は、情報処理辞書の利用案内情報が提供される場面を模式的に表す図である。図中のU3は、クラスタリングの特徴空間上において、ユーザベクトルがクラスタAに近いユーザである。つまり、ユーザU3は、ユーザ群Aと発話内容や行動履歴といった特徴が類似しているユーザである。このようなユーザU3には、例えば、ユーザ群Aの固有表現や共起表現を含む情報処理辞書DICT_Aと既存辞書DICT_Xとの組み合わせである新情報処理辞書DICT_NEWを音声ユーザインターフェース上において設定するよう推奨される。例えば、ユーザU3が、音声ユーザインターフェース上において、推奨された新情報処理辞書DICT_NEWの利用を設定したとする。この場合、音声ユーザインターフェースは、新情報処理辞書DICT_NEWの利用が許可された旨の情報を情報提供装置100に送信する。情報提供装置100は、この許可情報を受けると、ユーザU3によって許可された新情報処理辞書DICT_NEWを用いて、ユーザU3の発話に対して音声認識を行ったり、認識した音声の意味を解釈したりする。これによって、ユーザU3が日常的に使用している固有表現の言い回しの意味を解釈できるようになり、その言い回しの問い合わせや要求に対して適切な回答を提供することができる。この結果、ユーザが親しみをもって音声ユーザインターフェースを利用することができる。
以上説明した実施形態によれば、情報提供装置100は、複数のユーザの発話をテキスト化し、そのテキストデータから固有表現を抽出する。情報提供装置100は、複数のユーザのそれぞれの行動履歴に基づいて、各々のユーザが訪問回数が急増した地点を訪問したか否かを判定する。情報提供装置100は、各ユーザのテキストデータから抽出した固有表現をベクトル化した発話ベクトルと、訪問回数が急増した地点への各ユーザによる訪問の有無やその回数の結果をベクトル化した行動ベクトルとを組み合わせて、各ユーザのユーザベクトルを生成する。情報提供装置100は、ユーザベクトルが生成された複数のユーザのクラスタリングを行い、発話内容や訪問地点といった特徴が類似するユーザ同士を同一のクラスタに分類する。情報提供装置100は、クラスタリングによって生成されたクラスタごとに、音声認識のためのASR辞書や自然言語理解のためのNLU辞書を含む情報処理辞書を生成する。そして、情報提供装置100は、複数のクラスタのうち、例えばクラスタAのユーザに、そのクラスタAに対応した情報処理辞書の利用案内情報を提供する。
これによって、地域や年齢、流行などに応じて変化し得る発話の多様性に対応することができる。この結果、音声ユーザインターフェースのユーザビリティが向上し、例えば、ユーザが親しみのある言い回しなどを用いて音声ユーザインターフェースを利用することができる。また、辞書に登録された言葉が廃れてしまったり、或いは辞書に登録されていない新たな言葉が流行り出したりしても、その辞書を自動的に更新することができる。
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶したメモリと、
プロセッサと、を備え、
前記プロセッサが前記プログラムを実行することにより、
複数の対象ユーザのそれぞれの発話から固有表現を抽出し、
前記対象ユーザの行動履歴に基づいて、訪問回数が急増した特定地点を前記対象ユーザが訪問したか否かを、前記対象ユーザごとに判定し、
前記抽出した固有表現と、前記判定した結果とを組み合わせた多次元の特徴量を、前記対象ユーザごとに生成し、
前記特徴量を生成した前記複数の対象ユーザのクラスタリングを行い、
前記クラスタリングによって生成したクラスタごとに、音声認識及び自然言語理解の少なくとも一方のための辞書を生成する、
ように構成されている、情報処理装置。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。