(57)【特許請求の範囲】
【請求項１】
ユーザの発話を音声認識して得られるテキストおよび正解意図を関連付けて構成される学習データを複数含む第１の学習データ群と、
前記第１の学習データ群に含まれる複数の前記学習データおよび前記第１の学習データ群に含まれない複数の前記学習データを含む第２の学習データ群と、
前記学習データを用いて、前記テキストが入力されると当該テキストの意図を推定して意図推定結果を出力するための統計モデルを作成するモデル作成部と、
前記モデル作成部により前記第１の学習データ群を用いて作成された第１の統計モデルと、
前記モデル作成部により前記第２の学習データ群を用いて作成された第２の統計モデルと、
前記第１の統計モデルに基づいて出力される意図推定結果が正しく、かつ前記第２の統計モデルに基づいて出力される意図推定結果が誤りである前記第２の学習データ群に含まれるテキストを含む学習データを、誤りデータとして前記第２の学習データ群から抽出し、
前記第２の統計モデルに基づく前記誤りデータの意図推定結果が誤りとなる原因の学習データを、対立データとして前記第２の学習データ群から抽出し、
前記モデル作成部による前記統計モデルの作成における前記誤りデータまたは前記対立データの影響を変化させるように前記第２の学習データ群の修正を行うデータ修正部を備え、
前記データ修正部は、オペレータによる判断、または前記ユーザの行動に基づく入力を利用する正解判定部により前記意図推定結果が誤りであるか否かを判断し、
前記誤りデータと同一または類似するテキストおよび、前記誤りデータに関連付けられた正解意図とは異なる正解意図とを有する学習データを、前記対立データとして抽出し、
前記学習データは、当該テキストの意図推定における重要性の指標を示す優先度をさらに含み、
前記データ修正部は、前記誤りデータの優先度と前記対立データの優先度を比較し、その比較結果に基づいて、前記第２の学習データ群の修正を行い、
前記誤りデータの優先度が前記対立データの優先度よりも大きい場合には、前記データ修正部は、前記統計モデルの作成における前記誤りデータの影響を大きくするか、または前記対立データの影響を小さくするように、前記第２の学習データ群の修正を行い、
前記誤りデータの優先度が前記対立データの優先度よりも小さい場合には、前記データ修正部は、前記統計モデルの作成における前記誤りデータの影響を小さくするか、または前記対立データの影響を大きくするように、前記第２の学習データ群の修正を行う意図推定装置。
【請求項２】
請求項１に記載の意図推定装置において、
前記学習データは、前記モデル作成部による前記統計モデルの作成における当該テキストの重みを表す倍率をさらに含み、
前記データ修正部は、前記誤りデータまたは前記対立データの前記倍率を増減させることにより、前記第２の学習データ群の修正を行う意図推定装置。
【請求項３】
請求項１に記載の意図推定装置において、
任意のテキストを前記第２の統計モデルに入力して得られた意図推定結果に基づいて、前記第２の統計モデルが所定の基準を満たすか否かを判断するモデル評価部をさらに備え、
前記データ修正部は、前記第２の統計モデルが前記所定の基準を満たさないと前記モデル評価部が判断した場合に、前記第２の学習データ群を修正し、
前記モデル作成部は、前記データ修正部により修正された前記第２の学習データ群を用いて、第２の統計モデルを再度作成する意図推定装置。
【請求項４】
請求項１に記載の意図推定装置において、
前記第２の学習データ群は、入力部を備える端末から送信される情報であってオペレータによる判断を含む情報に基づいて作成された学習データ、および前記第１の学習データ群から構成される、意図推定装置。
【請求項５】
請求項２に記載の意図推定装置において、
テキストおよび当該テキストの正解意図が関連付けられて保存されるルールテーブルと、
前記第１の統計モデルおよび前記ルールテーブルに基づいて、入力されたテキストに対する意図推定結果を出力する意図推定部とをさらに備え、
前記データ修正部は、前記第２の学習データ群に含まれる学習データのうち前記倍率が所定の範囲外にある学習データを前記ルールテーブルに移動し、
前記意図推定部は、前記入力されたテキストが前記ルールテーブルに含まれる場合は、前記第１の統計モデルを用いずに、前記ルールテーブルに基づいて前記意図推定結果を出力する意図推定装置。
【請求項６】
請求項４に記載の意図推定装置において、
前記ユーザの行動に基づく入力を検出する入力部を備えた端末との間で情報の送受信を行う通信部と、
前記第１の統計モデルに基づいて、入力されたテキストに対する意図推定結果を出力する意図推定部と、
前記意図推定部による意図推定結果の正誤を判断する正解判定部と、をさらに備え、
前記データ修正部は、オペレータによる判断、または前記ユーザの行動に基づく入力を利用する正解判定部により前記意図推定結果が誤りであるか否かを判断し、
前記通信部は、前記意図推定部から出力された意図推定結果を前記端末に送信すると共に、前記意図推定結果を受信してから所定時間以内に前記入力部により検出された入力に基づく入力情報を前記端末から受信し、
前記正解判定部は、前記通信部により受信された前記入力情報に基づいて、前記意図推定部による意図推定結果の正誤を判断する意図推定装置。
【請求項７】
請求項１または請求項２に記載の意図推定装置において、
前記ユーザの行動に基づく入力を利用して意図推定結果が正しいか否かを判断する正解判定部と、
前記第１の統計モデルに基づいて出力される意図推定結果が誤りであり、かつ前記第２の統計モデルに基づいて出力される意図推定結果が正しいテキストをオペレータによる判断および前記正解判定部のいずれかを用いて抽出し、抽出したテキストを通知する通知部をさらに備える意図推定装置。
【請求項８】
請求項１に記載の意図推定装置において、
正解意図、誤った意図推定結果、および当該誤った意図推定結果を出力することにより前記ユーザの受ける不利益の大きさである不利益度の関係を示す意図重要度表に関する情報を含む優先度基礎情報と、
前記意図重要度表を参照し、前記優先度が前記不利益度よりも小さい場合は前記優先度を前記不利益度に書き換え、前記優先度が前記不利益度と同等以下の場合は前記優先度を変更しない優先度設定部とをさらに備える意図推定装置。
【請求項９】
請求項８に記載の意図推定装置において、
意図推定結果は、機能についての推定結果である機能推定結果と前記機能を実行する際に決定する必要のある変数についての推定結果である変数推定結果とから構成され、
前記意図重要度表は、機能推定結果の誤りに対応する第１の意図重要度表と、変数推定結果の誤りに対応する第２の意図重要度表とから構成され、
前記優先度設定部は、機能推定結果に誤りがある場合に前記第１の意図重要度表を参照し、変数推定結果に誤りがある場合に前記第２の意図重要度表を参照し、前記不利益度の大きさに基づいて前記優先度を設定する、意図推定装置。
【請求項１０】
請求項１に記載の意図推定装置において、
前記ユーザの行動に基づく入力を検出する入力部を備えた端末との間で情報の送受信を行い、前記入力部により検出された入力に基づく入力情報を前記端末から受信する通信部と、
前記通信部により受信された前記ユーザの発話である入力情報に基づいて作成されたテキストの頻度に基づいて前記優先度を設定する優先度設定部と、をさらに備える意図推定装置。
【請求項１１】
請求項１から請求項５まで、および請求項７から請求項９までのいずれか１項に記載の意図推定装置、および前記意図推定装置とネットワークを介して接続される端末から構成される意図推定システムであって、
前記端末は、
前記ユーザの入力を受け付ける入力部と、
前記入力部に入力された前記ユーザの入力を前記意図推定装置に送信する送信部と、
前記意図推定装置が前記ユーザの入力を意図推定した結果を受信し、当該意図推定した結果にしたがい動作する実行部とを備える、意図推定システム。
【請求項１２】
請求項６または請求項１０に記載の意図推定装置、および前記意図推定装置とネットワークを介して接続される端末から構成される意図推定システムであって、
前記端末は、
前記入力部と、
前記入力部に入力された前記ユーザの入力を前記意図推定装置に送信する送信部と、
前記意図推定装置が前記ユーザの入力を意図推定した結果を受信し、当該意図推定した結果にしたがい動作する実行部とを備える、意図推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、意図推定装置、および意図推定システムに関する。
【背景技術】
【０００２】
近年、スマートフォンやカーナビゲーションなどの電子機器では、ユーザが行うことができる操作は多数存在する。そのため、ユーザにとって、すべての操作を覚えることは困難である。この問題を解決するため、ユーザが操作を意図したときに考えついた自然言語を音声情報や文字情報として入力してもらい、その自然言語入力から、ユーザの意図を推定する意図推定装置を利用した機器が存在する。しかし、ユーザが実際に入力する自然言語には多数のバリエーションがあるため、すべての自然言語を網羅する意図推定を行うことは難しい。この解決策として、ユーザが実際に電子機器を利用するときの自然言語のログの情報を用いて、意図推定装置の推定精度を高めることが考えられる。
特許文献１には、ユーザの自然言語入力による電子機器の操作において、それぞれのユーザが優先的に使用する操作を学習し、ユーザごとに意図推定のパラメータを変更することで、意図推定装置の推定精度を高める方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４７９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明では、ユーザごとの特徴に注目しているので、複数のユーザの自然言語のログを用いた意図推定装置の学習により、ユーザの利便性を高めることができない。
【課題を解決するための手段】
【０００５】
本発明の第１の態様による意図推定装置は、ユーザの発話を音声認識して得られるテキストおよび正解意図を関連付けて構成される学習データを複数含む第１の学習データ群と、前記第１の学習データ群に含まれる複数の前記学習データおよび前記第１の学習データ群に含まれない複数の前記学習データを含む第２の学習データ群と、前記学習データを用いて、前記テキストが入力されると当該テキストの意図を推定して意図推定結果を出力するための統計モデルを作成するモデル作成部と、前記モデル作成部により前記第１の学習データ群を用いて作成された第１の統計モデルと、前記モデル作成部により前記第２の学習データ群を用いて作成された第２の統計モデルと、前記第１の統計モデルに基づいて出力される意図推定結果が正しく、かつ前記第２の統計モデルに基づいて出力される意図推定結果が誤りである前記第２の学習データ群に含まれるテキストを含む学習データを、誤りデータとして前記第２の学習データ群から抽出し、前記第２の統計モデルに基づく前記誤りデータの意図推定結果が誤りとなる原因の学習データを、対立データとして前記第２の学習データ群から抽出し、前記モデル作成部による前記統計モデルの作成における前記誤りデータまたは前記対立データの影響を変化させるように前記第２の学習データ群の修正を行うデータ修正部を備え、前記データ修正部は、オペレータによる判断、または前記ユーザの行動に基づく入力を利用する正解判定部により前記意図推定結果が誤りであるか否かを判断し、前記誤りデータと同一または類似するテキストおよび、前記誤りデータに関連付けられた正解意図とは異なる正解意図とを有する学習データを、前記対立データとして抽出し、前記学習データは、当該テキストの意図推定における重要性の指標を示す優先度をさらに含み、前記データ修正部は、前記誤りデータの優先度と前記対立データの優先度を比較し、前記誤りデータの優先度が前記対立データの優先度よりも大きい場合には、前記データ修正部は、前記統計モデルの作成における前記誤りデータの影響を大きくするか、または前記対立データの影響を小さくするように、前記第２の学習データ群の修正を行い、前記誤りデータの優先度が前記対立データの優先度よりも小さい場合には、前記データ修正部は、前記統計モデルの作成における前記誤りデータの影響を小さくするか、または前記対立データの影響を大きくするように、前記第２の学習データ群の修正を行う。
本発明の第２の態様による意図推定システムは、上述した意図推定装置、および前記意図推定装置とネットワークを介して接続される端末から構成される意図推定システムであって、前記端末は、前記ユーザの入力を受け付ける入力部と、前記入力部に入力された前記ユーザの入力を前記意図推定装置に送信する送信部と、前記意図推定装置が前記ユーザの入力を意図推定した結果を受信し、当該意図推定した結果にしたがい動作する実行部とを備える。
【発明の効果】
【０００６】
本発明によれば、複数のユーザの自然言語のログを用いた意図推定装置の学習により、ユーザの利便性を高めることができる。
【図面の簡単な説明】
【０００７】
【図１】意図推定システムの構成を示すブロック図
【図２】中継サーバの構成を示すブロック図
【図３】基礎学習データ群の一例を示す図
【図４】追加学習データ群の一例を示す図
【図５】ユーザログの一例を示す図
【図６】トピック意図重要度の一例を示す図
【図７】スロット意図重要度の一例を示す図
【図８】ルールテーブル
【図９】データ修正部が実行する処理を示すフローチャート
【図１０】追加学習データ群を作成するサブルーチン
【図１１】学習データ群を修正するサブルーチン
【図１２】統計モデルが更新される過程を示す概要図
【図１３】発話回数データの一例を示す図
【図１４】機器／ユーザデータの一例を示す図
【図１５】ポイント表の一例を示す図
【図１６】第２の実施の形態において図１０のサブルーチンを置き換えるフローチャート
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
以下、図１〜１２を参照して、本発明による意図推定システムの一実施形態を説明する。
【０００９】
図１は、意図推定システム１の構成を示すブロック図である。意図推定システム１は、車載器２００と、中継サーバ１０００と、音声認識サーバ３００と、施設検索サーバ４００と、管理端末５００とから構成される。中継サーバ１０００、車載器２００、音声認識サーバ３００、施設検索サーバ４００、および管理端末５００は、通信網Ｘを介して互いに通信を行う。中継サーバ１０００の構成は、後に図２を用いて説明する。以下では図１を参照して車載器２００の構成を説明する。
【００１０】
車載器２００は、たとえば、自動車に搭載されるカーナビゲーション装置である。車載器２００は、音声入力部１０２０と、操作入力部１０３０と、表示部１０４０と、音声出力部１０５０と、位置取得部１０６０と、制御部１０７０と、通信部１０８０とを備える。制御部１０７０は、後述するように、音声入力部１０２０、操作入力部１０３０、表示部１０４０、音声出力部１０５０、位置取得部１０６０、および通信部１０８０に動作指令を出力し様々な情報を授受する。
【００１１】
音声入力部１０２０は、たとえばマイクである。音声入力部１０２０は、制御部１０７０から指令を受けると動作を開始する。音声入力部１０２０は、車載器２００のユーザが発話した音声を検出して電気信号に変換し、制御部１０７０に出力する。
操作入力部１０３０は、たとえば押しボタンおよびポインティングデバイスである。操作入力部１０３０は、ユーザによる入力操作を検出して制御部１０７０に出力する。操作入力部１０３０はこれから音声入力を行うユーザを選択するボタン、および音声入力を開始するボタンを備える。
【００１２】
表示部１０４０は、たとえば液晶ディスプレイである。表示部１０４０は、制御部１０７０からの出力に従い、文字および画像を表示してユーザに提示する。
音声出力部１０５０は、たとえばスピーカである。音声出力部１０５０は、制御部１０７０からの出力に従い、音声を発してユーザに報知する。
位置取得部１０６０は、たとえばＧＰＳ受信機である。位置取得部１０６０は、制御部１０７０からの指令により衛星から電波を受信し、当該車載器２００の位置を算出する。位置取得部１０６０は、算出した位置を制御部１０７０に出力する。
【００１３】
制御部１０７０は、ＣＰＵ、ＲＯＭ、およびＲＡＭを備える。ＲＯＭには、当該車載器２００を識別する端末ＩＤが保存される。制御部１０７０は、操作入力部１０３０からユーザを選択するボタンの信号を受信すると、ユーザを識別するユーザＩＤをＲＡＭに保存する。制御部１０７０は、操作入力部１０３０から音声入力を開始するボタンの信号を受信すると、音声入力部１０２０および位置取得部１０６０に動作指令を出力する。制御部１０７０は、音声入力部１０２０が出力する音声信号、位置取得部１０６０が出力する位置、ＲＯＭに保存される端末ＩＤ、およびユーザＩＤを中継サーバ１０００に送信する。送信した情報は中継サーバ１０００で意図推定され、通信部１０８０がその意図推定結果を受信する。制御部１０７０は、通信部１０８０から入力された意図推定結果に従って動作する。たとえば、制御部１０７０が「自宅ルート設定」という意図推定結果を受信すると、ルート検索部１０１０に予め設定されている自宅へのルートを検索させる。その検索結果を表示部１０４０に表示させるとともに、音声出力部１０５０から音声を出力して処理が完了したことをユーザに報知する。
【００１４】
通信部１０８０は、通信網Ｘを介して中継サーバ１０００と通信を行う。通信部１０８０は、中継サーバ１０００から意図推定結果を受信すると、受信した意図推定結果を制御部１０７０に出力する。
音声認識サーバ３００は、発話の音声信号が入力されると、対応する文字情報、すなわちテキストを出力する不図示の音声認識部を備える。音声認識サーバ３００は、中継サーバ１０００から音声信号を受信すると、音声認識部に当該音声信号を入力し、得られたテキストを中継サーバ１０００に送信する。
施設検索サーバ４００は、施設に関する情報を記憶した不図示のＰＯＩデータベースを備える。施設検索サーバ４００は、中継サーバ１０００から検索クエリを受信すると、検索クエリを用いてＰＯＩデータベースを検索し、得られた検索結果を中継サーバ１０００に送信する。
管理端末５００は、オペレータの操作に従い、中継サーバ１０００を管理する。
【００１５】
（中継サーバの構成）
図２を用いて中継サーバ１０００の構成を説明する。中継サーバ１０００は、外部と通信を行う通信部１１１０と、不図示の制御部と、不図示の記憶部を備える。図２では、制御部により実行される複数の機能、および記憶部に保存される複数のデータを、概念的に機能ブロックとして表現している。ここでは全ての構成要素の概要、および各構成要素の相関を説明し、その後にデータの構造や具体的な動作を説明する。
【００１６】
不図示の制御部により実行される機能は、意図推定を実行する意図推定部１１２０と、ＰＯＩ検索の指令を出力する検索部１１４０と、基礎学習データ群１２０１および追加学習データ群１２０２が入力されると評価用統計モデル１２４０およびルールテーブル１１３２を出力する学習部１２２０と、評価用統計モデル１２４０を評価する評価部１２３０と、基礎学習データ群１２０１および追加学習データ群１２０２の修正をはじめとして、学習部１２２０や評価部１２３０に動作指令を出力するデータ修正部１２６０、である。
【００１７】
不図示の記憶部に保存されるデータは、意図推定部１１２０が意図推定に用いる意図推定モデル１１３０と、意図推定部１１２０の推定結果およびその正誤が記されるユーザログ１１８０と、ユーザログ１１８０から作成される学習データである追加学習データ群１２０２、および基礎学習データ群１２０１と、評価用統計モデル１２４０の評価に用いる評価データ１２１０と、学習部１２２０により作成される評価用統計モデル１２４０と、後に説明する優先度を算出する際に利用する優先度基礎情報１２７０である。
【００１８】
（機能の概要）
通信部１１１０は、通信網Ｘを介して車載器２００、音声認識サーバ３００、施設検索サーバ４００、管理端末５００と通信を行う。通信部１１１０は、車載器２００から音声信号、位置情報、端末ＩＤ、およびユーザＩＤを受信すると、音声信号を音声認識サーバ３００に送信し、位置情報を検索部１１４０に出力し、音声信号、端末ＩＤ、ユーザＩＤ、現在の日付および現在時刻をユーザログ１１８０に記録する。通信部１１１０は、音声認識サーバ３００から音声信号を認識した結果であるテキストを受信すると、そのテキストを意図推定部１１２０に出力する。通信部１１１０は、検索部１１４０から検索クエリが入力されると、その検索クエリを施設検索サーバ４００に送信する。通信部１１１０は、施設検索サーバ４００から検索結果を受信すると、その検索結果を検索部１１４０に出力する。
【００１９】
意図推定部１１２０は、意図推定モデル１１３０を用いて、通信部１１１０から入力されたテキストの意図を推定し、意図推定結果を出力する。意図推定結果は、後に詳しく説明する。意図推定部１１２０は、推定結果を通信部１１１０を通じて車載器２００に出力するとともに、ユーザログ１１８０に書き込む。ただし、意図推定結果が周辺検索などのようにＰＯＩ検索を要するものの場合は、車載器２００に直接出力せず検索部１１４０に出力する。そして、検索部１１４０が検索した結果とともに車載器２００に出力する。
【００２０】
検索部１１４０は、通信部１１１０から入力された位置情報、および意図推定部１１２０から入力された検索条件にしたがい検索クエリを作成し、通信部１１１０を通じて施設検索サーバ４００に送信する。検索部１１４０は、施設検索サーバ４００から受信した検索結果を意図推定部１１２０に出力する。
【００２１】
学習部１２２０は、追加学習データ群１２０２および基礎学習データ群１２０１を用いて、評価用統計モデル１２４０を作成する。評価用統計モデル１２４０は、統計モデル１１３１を置き換えるために作成される。評価部１２３０が評価用統計モデル１２４０に対して肯定的な評価を行うと、従前の統計モデル１１３１が破棄され、評価用統計モデル１２４０が新たな統計モデル１１３１として意図推定モデル１１３０に記憶される。詳しくは後述するが、学習部１２２０は評価用統計モデル１２４０を作成する過程において、または評価用統計モデル１２４０を作成した後において、ルールテーブル１１３２を更新する。
【００２２】
評価部１２３０は、評価データ１２１０を用いて評価用統計モデル１２４０を評価する。評価方法および評価基準は後述する。評価部１２３０が肯定的な評価を行うと、上記のようにして評価用統計モデル１２４０が統計モデル１１３１に置き換わる。評価部１２３０が否定的な評価を行うと、データ修正部１２６０が動作を開始する。
【００２３】
データ修正部１２６０は、追加学習データ群１２０２の作成を行う。また、追加学習データ群１２０２および基礎学習データ群１２０１を後述するように修正する。この修正には、増加方式と減少方式があり、いずれの方式を採用するかは、事前に管理端末５００から入力される。この修正を行った後に、再度、学習部１２２０に評価用統計モデル１２４０の作成を指示する。すなわち、データ修正部１２６０における追加学習データ群１２０２および基礎学習データ群１２０１の修正は、再度作成される評価用統計モデル１２４０が、評価部１２３０により肯定的な評価を得られることを意図している。
【００２４】
正解判定部１２８０は、ユーザログ１１８０に記録されているテキスト、およびそのテキストを意図推定部１１２０が処理した意図推定結果を参照し、意図推定部１１２０の意図推定結果が正しいか否かを判断する。正解判定部１２８０は、その判断結果、および間違っていたと判断する場合には、正しい意図（以後、正解意図表現）をユーザログ１１８０に記録する。オペレータが管理端末５００を操作して、正解判定部１２８０を動作させる。すなわち、意図推定部１１２０の意図推定結果が正しいか否か、および正解意図表現が何であるかは、オペレータが判断する。
【００２５】
（データの概要）
意図推定モデル１１３０は、統計モデル１１３１およびルールテーブル１１３２から構成される。統計モデル１１３１およびルールテーブル１１３２は、意図推定部１１２０が音声認識サーバ３００の出力したテキストを意図推定するために用いられる。前述のように、統計モデル１１３１は、学習部１２２０により評価用統計モデル１２４０として作成され、評価部１２３０により肯定的な評価がされたものである。
【００２６】
ユーザログ１１８０は、通信部１１１０、意図推定部１１２０、および正解判定部１２８０から情報が書きこまれる。通信部１１１０は、端末ＩＤ、ユーザＩＤ、および受信時刻を書き込む。意図推定部１１２０は、音声認識サーバ３００から受信したテキスト、および意図推定部１１２０が処理した意図推定結果を互いに関連付けて、ユーザログ１１８０に書き込む。正解判定部１２８０は、入力されたテキストに対する意図推定部１１２０の意図推定結果が正しいか否か、および意図推定結果が正しくない場合には、正解意図表現を書き込む。ユーザログ１１８０は、データ修正部１２６０により後述する一連の処理の後で削除される。
【００２７】
追加学習データ群１２０２は、ユーザログ１１８０に基づいて作成された学習データ（追加学習データ）を複数集めて構成される。追加学習データは、データ修正部１２６０によりユーザログ１１８０から抽出されたデータに、後述する優先度と倍率を加えたものである。データ修正部１２６０は、ユーザログ１１８０を読込み、正解判定部１２８０が不正解であると判断したデータのテキスト、およびそのテキストに対して正解判定部１２８０が付与した正解意図表現を抽出する。そして、抽出したこれらの情報を互いに関連付けて、追加学習データとして追加学習データ群１２０２に記録する。このとき、後述する手法により優先度および倍率を記録する。追加学習データ群１２０２に含まれるデータは、後述する処理により基礎学習データ群１２０１に移動される。
【００２８】
基礎学習データ群１２０１は、テキスト、正解意図、優先度および倍率が関連付けられた学習データ（基礎学習データ）を複数集めて構成される。基礎学習データ群１２０１に含まれる基礎学習データは、システム運用開始時に最初から用意しておいた学習データと、過去に追加学習データとして追加学習データ群１２０２に蓄積されたものとを合わせたものである。すなわち、ある時点における基礎学習データ群１２０１は、それまでに追加学習データ群１２０２が有していた全ての学習データを含む。
評価データ１２１０は、評価用統計モデル１２４０の評価に使用されるデータであり、テキストと正解意図の組合せから構成される。本実施の形態では、評価データ１２１０は、追加学習データ群１２０２および基礎学習データ群１２０１と同じ内容のデータから構成されるものとする。すなわち、追加学習データ群１２０２および基礎学習データ群１２０１の各学習データにおけるテキストと正解意図の組合せが、評価データ１２１０として用いられる。
【００２９】
評価用統計モデル１２４０は、学習部１２２０により基礎学習データ群１２０１および追加学習データ群１２０２に基づいて作成される。評価用統計モデル１２４０は、評価部１２３０により評価され、肯定的な評価がされると統計モデル１１３１となり、否定的な評価がされると後述する処理により再度作成される。すなわち、評価用統計モデル１２４０は、一時的にしか存在しない。
優先度基礎情報１２７０は、データ修正部１２６０が後述する優先度を決定する際に読み込まれる。
【００３０】
（トピックとスロット）
統計モデル１１３１を用いた意図推定は、音声認識サーバ３００から受信したテキストを、ユーザが意図した車載器２００に対する操作を表す意図表現に変換する。意図表現の形式は、任意の形式を採用することができるが、本実施形態では、文字列で表すこととする。また、１個の意図表現は、実行する機能の種類に相当する「トピック」と、機能を実行する際に決める必要があり多様に変わりうる変数を表す「スロット」との２つに分けて推定する。トピックとは、たとえば、周辺検索、ルート沿い検索、エアコン設定、自宅ルート検索、などである。スロットとは、たとえば、周辺検索やルート沿い検索における施設検索クエリ、エアコン設定におけるエアコンの設定温度、などである。また、本実施形態では、１個の意図表現を、トピックとスロットをカンマで区切った文字列で表現する。
【００３１】
たとえば、“周辺検索、クエリ=レストラン”は、「自車位置の周辺でレストランを検索する」という意図を示す意図表現である。“ルート沿い検索、クエリ=レストラン”は、「自車位置から目的地まで行く途中のルートの周辺でレストランを検索する」という意図を示す意図表現である。また、“自宅ルート検索”は、「車載器に設定されている自宅位置へのルートを検索し、ルート案内を開始する」という意図を示す意図表現である。自宅ルート検索のように、スロットが存在せずトピックだけで表現される意図表現もある。この意図表現は、車載器が、どのような機能を実行すればよいかが特定できる表現になっている。
【００３２】
（学習データ）
図３〜４を参照して基礎学習データ群１２０１、追加学習データ群１２０２、およびこの２つを併せた学習データ群１２００、のデータ構造を説明する。これらはいずれも、１または複数の学習データから構成される。学習データは、それぞれ１つの、テキストと、当該テキストの正しい意図である正解意図表現と、倍率と、優先度とから構成される。学習データを構成する、テキストと、正解意図表現と、倍率と、優先度とは、互いに関連付けられている。
【００３３】
テキストは、車載器２００のユーザの発話を文字列に変換したものである。テキストは、音声認識サーバ３００の出力するテキストでもよいし、人が音声を聞いて書き起こした音声認識誤りのないテキストでもよい。正解意図表現は、テキストの正しい意図をトピックとスロットに分けて記述したものである。管理端末５００のオペレータが正解判定部１２８０を操作して、テキストに関連付けられる正解意図表現を決定する。優先度は、関連付けられたテキストが正しく意図推定されることの重要さを示す指標である。倍率は、学習における当該倍率に関連付けられたテキストの重みを示す値である。
【００３４】
図３に基礎学習データ群１２０１の一例を、図４に追加学習データ群１２０２の一例を示す。なお、以降の説明では、基礎学習データ群１２０１と追加学習データ群１２０２とをあわせて、学習データ群１２００と呼ぶこともある。図３および図４に示す例では、たとえば、優先度は０〜１の実数、倍率は０〜１０の実数である。
図３に示す例では、基礎学習データ群１２０１の先頭の６つのレコード、すなわち６つの学習データが示されている。先頭のレコードは、「近くのレストラン」というテキストの正しい意図表現は、機能の種類に相当するトピックは「周辺検索」であり、変数に相当するスロットは「レストラン」であることを示している。
基礎学習データ群１２０１は複数のレコードから構成される。
【００３５】
（ユーザログ）
図５を参照して、ユーザログ１１８０のデータ構造を説明する。図５は、ユーザログ１１８０の一例を示す図である。ユーザログ１１８０は、複数のレコードから構成される。１つのレコードは、音声信号を受信した日付および時刻と、車載器２００を識別する機器ＩＤと、車載器２００のユーザを識別するユーザＩＤと、テキストと、意図推定部１１２０がテキストを意図推定した結果である意図表現と、管理端末５００のオペレータにより付与される正解フラグ、および正解意図表現とから構成される。ただし、正解フラグが正解の場合には、正解意図表現は存在しない。図５の例では、正解フラグが正解の場合には、正解意図表現は、ブランク（−）として表現している。
【００３６】
（トピック意図重要度、スロット意図重要度）
図６〜８を参照して、優先度基礎情報１２７０を構成する、トピック意図重要度１２７１、およびスロット意図重要度１２７２のデータ構造を説明する。いずれも、ユーザの発話に基づいて生成されたテキストが、統計モデル１１３１により誤って意図推定されたときに、どの程度ユーザに不利益をもたらすかを数値化している。数値が大きいほど不利益が大きいことを示している。本実施の形態では、優先度と重要度は、直接の大小比較が可能な関係にある。
【００３７】
トピック意図重要度１２７１は、トピックの推定が正しくない場合にユーザへ与える不利益の大きさを重要度として数値化した表である。図６は、トピック意図重要度１２７１の一例を示す図である。正解意図表現のトピックにより行を特定し、意図表現のトピックにより列を特定し、その行と列の交点の数値がユーザへ与える不利益の大きさ、すなわち重要度である。たとえば、図５に示すユーザログ１１８０の、上から３つ目のレコードを用いて説明する。正解意図表現が「自宅ルート設定」なので１行目を選択し、意図表現が「周辺検索」なので２列目を選択する。この交点は「０．６」なので、重要度は０．６である。
【００３８】
トピック意図重要度１２７１の値はたとえば、以下のように決定される。たとえば、ユーザが「一画面戻り」の発話をした結果、意図推定結果が「自宅ルート設定」となった場合を考える。この場合、ユーザは単に一個だけ前の画面に戻りたかっただけのに、車載器２００は、ユーザが見ていた表示部１０４０の表示を消去し、自宅へのルートを検索してルート案内を開始する。ルート案内が開始した状態から、ユーザが見たかった画面に遷移するには、まず自宅へのルート案内をキャンセルしたのち、さきほどユーザが見ていた画面を見るための操作を行う必要がある。このように、ユーザが行いたい操作を行うまでの手間が多くかかる。そのため、ユーザの不利益の度合いが大きいと判断し、表の値を大きく設定している。一方、ユーザが「周辺検索」を行うために、「このあたりでレストラン探して」と発話したのに、意図推定結果が「ルート沿い検索」になった場合を想定する。
【００３９】
この場合、車載器２００は、ルート沿いにてレストランを検索した結果を表示するが、そのなかには、自車の周辺に存在するレストランも多く含まれていると考えられる。また、「簡単に行けるレストラン」のように、周辺検索でもルート沿い検索でもユーザの希望に合致するような発話も多く存在する。そのため、周辺検索をルート沿い検索と誤って意図推定するときのユーザの不利益の程度は相対的に小さく、表の値を小さく設定する。
【００４０】
スロット意図重要度１２７２は、スロットの推定が正しくない場合にユーザへ与える不利益の大きさを数値化した表である。図７は、スロット意図重要度１２７２の一例を示す図である。正解意図表現のトピックにより行を特定し、意図表現のスロットの誤りのパターンにより列を特定する。スロットの誤りのパターンとは、たとえば、内包、部分一致、不一致、などである。以下、例を用いてスロットの誤りのパターンを説明する。
【００４１】
たとえば、テキストが「近くのおいしいイタリアンへ行く」だった場合、正解意図表現は“周辺検索、クエリ=おいしいイタリアン”である。内包とは、推定されたスロットに正解の文字列だけではなく正解以外の文字列が混入していることをいう。上記の例で内包に該当するスロットの誤りは、たとえば、「クエリ=おいしいイタリアンへ行く」である。この場合、必要となるクエリは抽出されたクエリに内包されているため、ＰＯＩ検索は正しく行われる可能性が高い。そのため、この誤りパターンに対する表の値は小さくする。
【００４２】
部分一致とは、推定されたスロットが、正解のスロットの一部であることをいう。上記の例で部分一致に該当するスロットの誤りは、たとえば「クエリ=イタリアン」である。この場合、必要となるクエリの一部は検索に使用されるため、ＰＯＩ検索が正しく行われる可能性は中程度である。そのため、この誤りパターンに対する表の値は中程度にする。
不一致とは、推定されたスロットが、正解のスロットをまったく含まない文字列であることをいう。上記の例で不一致に該当するスロットの誤りは、たとえば「クエリ＝行く」である。この場合、正しく検索される可能性は無い。そのため、この誤りパターンに対する表の値は大きく設定する。
【００４３】
（ルールテーブル）
図８を参照してルールテーブル１１３２の構造を説明する。
ルールテーブル１１３２は、複数のレコードから構成される。１つのレコードは、テキストと正解意図表現とから構成される。ルールテーブル１１３２の各レコードは、学習データ群１２００のうち対応するレコードから、優先度および倍率を除いて作成される。意図推定部１１２０は、音声認識サーバ３００の出力するテキストと一致する、ルールテーブル１１３２の文字列を検索する。意図推定部１１２０は、テキストと一致する文字列に関連付けられた正解意図表現を、意図表現として通信部１１１０およびユーザログ１１８０に出力する。ただし、ユーザログ１１８０へはルールテーブル１１３２を参照したことを明示するために、ユーザログ１１８０の正解フラグを、「ルール」とする。
【００４４】
（統計モデルとルールテーブルの関係）
意図推定モデル１１３０に含まれる統計モデル１１３１およびルールテーブル１１３２を説明する。統計モデル１１３１は、統計的手法により意図推定を実行する際に用いられる。ルールテーブル１１３２は、パターンマッチングにより意図推定を実行する際に用いられる。本実施の形態では、２つの手法による意図推定を相補的に用いる。パターンマッチングによる意図推定は、ルールテーブル１１３２に記載されたルールにしたがって明示的にユーザ発話と特定の意図に理解することができる。そのため、パターンマッチングによる意図推定は、特定の発話パターンを狙って意図推定させることができるメリットがある。しかし、あらかじめ用意した発話パターンに沿った発話しか理解できないため、多様な言い回しを受理する手法としては、一般に統計的な手法のほうが向いている。そのため、本実施の形態では、入力されたテキストがルールテーブル１１３２に含まれる場合には、統計モデル１１３１を用いずに、ルールテーブル１１３２を用いたパターンマッチングによる意図推定を行う。
【００４５】
（統計モデル）
統計的手法による意図推定を実行するためには、あらかじめ、多数のテキストと正解意図表現の対を集めた学習データから、両者の関係を統計的手法によりモデル化した意図推定モデルを構築しておく必要がある。このプロセスを学習という。たとえば、非特許文献１では、本実施の形態におけるトピックに相当する部分を、Support Vector Machineと呼ばれる統計的手法を用いた分類器により推定し、スロットに相当する部分を、Conditional Random Fieldと呼ばれる手法により推定する技術が開示されている。非特許文献２の方法では、本実施の形態におけるスロットに相当する部分を、最大エントロピー法と呼ばれる統計的手法で実現している。非特許文献３では、１個のトピックを表す多次元空間上の代表点を学習データから求めておき、入力文から求めた多次元ベクトルと、トピックの代表点との距離を計算し、もっとも距離が小さかったトピックを意図推定結果として出力するベクトルベースの手法が開示されている。
【００４６】
（非特許文献１）
X. Liu, R. Sarikaya, C. Brockett, C. Quirk, W.B. Dolan: ``Paraphrase features to improve natural language understanding," Proc. of Interspeech 2013, pp.3776-3779, 2013
（非特許文献２）
C. Chelba, M. Mahajan, A. Acero: ``Speech utterance classification,” Proc. of ICASSP, pp.280-283, 2003
（非特許文献３）
J. Chu-Carroll, B. Carpenter: "Vector-based natural language call routing," Computational Linguistics, vol.25, no.3, pp.361-388, 1999
【００４７】
（優先度）
本実施の形態では、この統計的手法による意図推定に、独自の概念である優先度および倍率を導入する。優先度および倍率は、テキストに関連付けられる、優先度同士、倍率同士で大小比較が可能な概念である。たとえば、０．０〜１．０や−１０〜＋１０の数値で表してもよいし、Ａ〜Ｚのアルファベットで表してもよい。優先度と倍率は異なる概念なので、優先度と倍率の大小比較は行わない。本実施の形態では、優先度は０〜１の実数、倍率は０〜１０の実数とする。
優先度は、関連付けられたテキストが正しく意図推定されることの重要さを示す指標である。優先度は、統計モデル１１３１の学習には用いられず、統計モデル１１３１の評価、および学習データ群１２００の修正に用いられる。優先度は、データ修正部１２６０により設定される。
【００４８】
たとえば、図３に示す基礎学習データ群１２０１の例では、テキスト「近くのレストラン」の優先度が「０．９」という高い値に設定されている。この理由は、「近くのレストラン」と発話するユーザが多いため、正しく意図推定が行われないとユーザの不利益が大きいと判断されているためである。同じく図３において、テキスト「我が家に戻る」の優先度が、「０．２」という低い値に設定されている。この理由は、「我が家に戻る」と発話するユーザが少ない、または、「我が家に戻る」と過去に発話したユーザがいたが、すでに車載器を使用していない、などの理由により、正しく意図推定できなくてもユーザの不利益が少ないと判断されているためである。
【００４９】
（倍率）
倍率は、学習における当該倍率に関連付けられたテキストの重みを示す値である。倍率２０３０の初期値は「１」であり、データ修正部１２６０により後述する処理により更新される。
この倍率は、学習部１２２０における学習において、たとえば、以下のように利用される。非特許文献２に示した最大エントロピー法を使用する統計モデルの学習において、倍率に記載された値に応じて、学習に用いるテキストの数を増加させる方法がある。図３に示す基礎学習データ群１２０１の例では、テキストが「一個戻る」であるレコードは、倍率が２に設定されている。そのため、統計モデルの学習において、「一個戻る」というテキストと、「一画面戻り」という正解意図表現の組を２つ入力する。
【００５０】
また、次のように倍率を利用することもできる。非特許文献３に示したベクトルベースの手法を使用する統計モデルの学習では、あらかじめ学習データのテキストを単語ごとのベクトル要素による多次元ベクトルに変換する。この際、各単語に対応するベクトルの要素値として、単に１にする手法だけでなく、その単語がそのトピックにおいてどの程度重要であるかを示す値を何らかの手法で計算して、要素値に使用することが行われる。たとえば、非特許文献3の場合には、当該単語が出現するトピックの種類数が少ないほど大きくなるような値(IDF: inverse document frequency)を要素値として使用する。本実施の形態においては、本実施の形態で計算した倍率を、ベクトルの要素値として使用することができる。たとえば、「一個戻る」から得られる「一個」「戻る」というそれぞれの単語に該当するベクトルの要素を、１ではなく２にする。そのほか、使用する統計的手法に依存して、テキストが倍率の値に応じて重要視される方法をとることができる。
【００５１】
（増加法と減少法）
あるテキストを正しく意図推定させたい場合には、そのテキストに関連付ける倍率を高く設定すればよい。これを本実施の形態では増加法と呼ぶ。しかし、あるテキストの倍率が高いために、他のテキストの学習へ悪影響を及ぼすことがある。たとえば、「我が家に戻る」が学習データに存在するために、他の優先度が高いデータ（たとえば、「自宅に帰る」など）が正しく意図推定できないような場合である。そこで、倍率を変更する方法として逆のアプローチをとることも考えられる。
【００５２】
すなわち、正しく意図推定させたいテキスト以外の、全ての学習に用いるテキストに関連付けられた倍率を減少させることでも同様の効果が得られる。ただし、多数の倍率を変更することは煩雑なので、高い効果が期待できる以下の対象に限定する。すなわち、倍率を減少させるべきテキストとは、正しく意図推定させたいテキストと正解意図表現が異なり、かつテキストが類似しているテキストである。このように、正しく意図推定を行わせたいテキストと所定の関係にあるテキストの倍率を減少させる方法を、本実施の形態では減少法と呼ぶ。なお、減少法により倍率が減少されると、そのテキストは正しく意図推定されない可能性があるので、優先度が高いテキストの倍率はなるべく減少させないことが望ましい。
【００５３】
（メインのフローチャート）
オペレータは、所定の時間ごと、たとえば１２時間ごとに管理端末５００を用いて中継サーバ１０００にアクセスし、通信部１１１０を介して正解判定部１２８０にアクセスする。オペレータは、ユーザログ１１８０を閲覧して、これまでの経験などに基づき正解フラグをユーザログ１１８０に書き込む。正解フラグを不正解とする場合は、正解意図表現も併せて書きこむ。
【００５４】
データ修正部１２６０は、オペレータによるユーザログ１１８０の書き込みが終わるたびに正解フラグが不正解であるレコードの数をカウントし、所定の数よりも多いと判断すると、図９〜１２のフローチャートにより動作が示されるプログラムの実行を開始する。このプログラムは、追加学習データ群１２０２の作成、優先度の設定、統計モデル１１３１およびルールテーブル１１３２の更新、および車載器２００のユーザへの通知を行う。このプログラムの実行が開始される時点で、ユーザログ１１８０は図５に示すように正解フラグや正解意図表現が付された複数のレコードを有している。このプログラムの実行が開始される時点で、追加学習データ群１２０２は空であり、基礎学習データ群１２０１は図３に示すように複数のレコードを有している。
【００５５】
以下で説明するフローチャートの実行主体は、中継サーバ１０００の不図示のＣＰＵである。
まず図９を参照してメインのフローチャートの動作を説明し、その後に、図１０〜１２を参照してサブルーチンの動作を説明する。
【００５６】
ステップＳ４０１０において、データ修正部１２６０は、基礎学習データ群１２０１を読み込む。
ステップＳ４０２０において、データ修正部１２６０は、追加学習データ群１２０２を作成するために、図１０に示すサブルーチンを実行する。このサブルーチンにおいて、図３に示すように複数のレコードを有する追加学習データ群１２０２が作成される。図１０に示すサブルーチンの動作は後に説明する。その後、ステップＳ４０３０に進む。
ステップＳ４０３０において、データ修正部１２６０は、ステップＳ４０１０において読み込んだ基礎学習データ群１２０１と、ステップＳ４０２０において作成した追加学習データ群１２０２とを用いて、学習部１２２０に評価用統計モデル１２４０を作成させる。学習部１２２０は、たとえば、トピックを推定するためのSupport Vector Machineの手法を用いた統計モデル、およびスロットを推定するためのConditional Random Fieldの手法を用いた統計モデルを作成する。前述のとおり、統計モデルを作成するための学習では、テキスト、正解意図表現、および倍率が用いられる。次にステップＳ４０４０に進む。
【００５７】
ステップＳ４０４０において、データ修正部１２６０は、評価データ１２１０に基づいて、ステップＳ４０３０において作成した評価用統計モデル１２４０を評価部１２３０に評価させる。すなわち、追加学習データ群１２０２および基礎学習データ群１２０１の各学習データにおけるテキストと正解意図の組合せを用いて、評価部１２３０により、評価用統計モデル１２４０の評価を行う。たとえば、評価部１２３０は、次の３つの基準について評価用統計モデル１２４０を評価する。
（Ａ）統計モデル１１３１と評価用統計モデル１２４０の両方に評価データ１２１０のテキストを入力し、それぞれ推定意図表現を得る。その推定意図表現が、入力したテキストに関連付けられた正解意図表現に一致する場合を正解とする。評価用統計モデル１２４０の方が、統計モデル１１３１よりも所定の割合以上、正解となる割合が多い。
（Ｂ）統計モデル１１３１と評価用統計モデル１２４０の両方に評価データ１２１０のテキストを入力し、それぞれ推定意図表現を得る。その推定意図表現が、入力したテキストに関連付けられた正解意図表現に一致しない場合を不正解とする。統計モデル１１３１では正解であるが、評価用統計モデル１２４０では不正解である評価データ１２１０の割合が所定の割合より少ない。
（Ｃ）評価用統計モデル１２４０に評価データ１２１０のテキストを入力し、推定意図表現を得る。正解数が所定の数より多い、または正解の割合が所定の割合よりも高い。
以上の３つを全て評価し、ステップＳ４０５０に進む。
【００５８】
ステップＳ４０５０において、データ修正部１２６０は、ステップＳ４０４０における評価部１２３０による評価の結果、評価用統計モデル１２４０が所定の合格基準に達したか、たとえば３つの基準の全てを満たすか否かを判断する。合格基準に達したと判断する場合はステップＳ４２００に進み、合格基準に達しないと判断する場合はステップＳ４０６０に進む。
【００５９】
ステップＳ４０６０において、データ修正部１２６０は、追加学習データ群１２０２および基礎学習データ群１２０１から誤りデータの抽出を行う。ここでは、統計モデル１１３１に基づいて出力される意図推定結果が正しく、かつ評価用統計モデル１２４０に基づいて出力される意図推定結果が誤りとなるようなテキストを特定する。そして、追加学習データ群１２０２および基礎学習データ群１２０１において、このテキストに対応する学習データを特定し、誤りデータとして抽出する。具体的には、追加学習データ群１２０２および基礎学習データ群１２０１を構成する複数の学習データの中から、統計モデル１１３１は正解を出力するが、評価用統計モデル１２４０は不正解を出力するテキストを含む全ての学習データを、誤りデータとして抽出する。すなわち、誤りデータのいずれかのテキストを統計モデル１１３１に入力すると、そのテキストに関連付けられた正解意図表現を出力するが、同一のテキストを評価用統計モデル１２４０に入力しても、正解意図表現を得られない。抽出した誤りデータのデータ数をｍとする。次にステップＳ４０６１に進む。
【００６０】
ステップＳ４０６１において、データ修正部１２６０は、追加学習データ群１２０２および基礎学習データ群１２０１を修正するために、図１１に示すサブルーチンを実行する。このサブルーチンにおいて、追加学習データ群１２０２および基礎学習データ群１２０１に含まれる倍率が修正される。図１１に示すサブルーチンの動作は後に説明する。その後、ステップＳ４０３０に戻る。
評価用統計モデル１２４０が合格基準に達していると判断されたときに実行されるステップＳ４２００において、データ修正部１２６０は、ステップＳ４０６０と同様に、追加学習データ群１２０２および基礎学習データ群１２０１から誤りデータを抽出する。そして、抽出した各誤りデータが表すテキストと正解意図表現の組み合わせを、ルールテーブル１１３２に追加する。次にステップＳ４２２０に進む。
【００６１】
ステップＳ４２２０において、データ修正部１２６０は、追加学習データ群１２０２の全てのレコードを基礎学習データ群１２０１に移動させ、既存のレコードと併せて基礎学習データ群１２０１に格納する。これにより、追加学習データ群１２０２を用いて基礎学習データ群１２０１を更新する。また、ステップＳ４２００において抽出した誤りデータを含むレコードは、更新後の基礎学習データ群１２０１から削除してもよい。次にステップＳ４２３０に進む。
ステップＳ４２３０において、データ修正部１２６０は、ステップＳ４２２０で更新した基礎学習データ群１２０１から新規理解テキストを抽出する。ここでは、基礎学習データ群１２０１に含まれる複数の学習データのテキストの中で、統計モデル１１３１に基づいて出力される意図推定結果が誤りであり、かつ評価用統計モデル１２４０に基づいて出力される意図推定結果が正しくなるようなテキストを、新規理解テキストとして抽出する。換言すると、ステップＳ４２１０において作成された評価用統計モデル１２４０は正解を出力するが、統計モデル１１３１は不正解を出力するテキストを、新規理解テキストとして基礎学習データ群１２０１から抽出する。すなわち、新規理解テキストを評価用統計モデル１２４０に入力すると、そのテキストに関連付けられた正解意図表現を出力するが、同一のテキストを統計モデル１１３１に入力しても、正解意図表現を得られない。さらに、Ｓ４２００でルールテーブル１１３２に追加されたテキストのうち、統計モデル１１３１とＳ４２００の処理の前のルールテーブル１１３２の組み合わせによる意図推定では、正しく理解できなかったテキストもある。このテキストも、新規理解テキストに追加する。次にステップＳ４２４０に進む。
【００６２】
ステップＳ４２４０において、データ修正部１２６０は、ユーザログ１１８０を検索し、新規理解テキストを含み、なおかつ正解フラグが不正解であるレコードに記載されている機器ＩＤを抽出する。すなわち、その機器ＩＤを有する車載器２００から新規理解テキストを表す音声信号が過去に出力され、その際には中継サーバ１０００が正解意図表現を出力できなかった機器ＩＤを、ユーザログ１１８０から抽出する。次にステップＳ４２５０に進む。
【００６３】
ステップＳ４２５０において、データ修正部１２６０は、ステップＳ４２５０において抽出した機器ＩＤを有する車載器２００に対して、その新規理解テキストが意図推定可能になった旨の通知を行う。たとえば、データ修正部１２６０は、新規理解テキストを○○で表現すると、「システム更新により○○を理解できるようになりました」というメッセージを車載器２００に送信する。このメッセージを受信した車載器２００は、表示部１０４０または音声出力部１０５０を用いてユーザに報知する。次にステップＳ４２６０に進む。
ステップＳ４２６０において、データ修正部１２６０は、現在の統計モデル１１３１を削除し、ステップＳ４０３０で作成した評価用統計モデル１２４０を、新しい、更新された統計モデル１１３１とする。以上で図９に示したフローチャートの動作を終了する。
【００６４】
（追加学習データを作成するサブルーチン）
図９のステップＳ４００１から呼び出されるサブルーチンの動作を、図１０を用いて説明する。
ステップＳ４００２において、データ修正部１２６０は、ユーザログ１１８０を読込み、その総レコード数をｎとして保存する。この総レコード数ｎは、後のステップＳ４０１５において利用される。次にステップＳ４００３に進む。
ステップＳ４００３において、データ修正部１２６０は、変数ｉに１を代入してステップＳ４００４に進む。
【００６５】
ステップＳ４００４において、データ修正部１２６０は、ユーザログ１１８０のｉ番目のレコードの一部、すなわち、テキスト、意図表現、正解フラグ、および正解意図表現を読み込む。次にステップＳ４００５に進む。
ステップＳ４００５において、データ修正部１２６０は、読込んだ正解フラグが「不正解」か否かを判断する。「不正解」であると判断する場合はステップＳ４００６に進み、「正解」、または「ルール」であると判断する場合はステップＳ４０１５に進む。
【００６６】
ステップＳ４００６において、データ修正部１２６０は、意図表現のトピックと、正解意図表現のトピックが一致するか否かを判断する。一致すると判断する場合はステップＳ４００７に進み、一致しないと判断する場合はステップＳ４００８に進む。
トピックが一致するが不正解の場合、すなわちスロットが不正解である場合に実行されるステップＳ４００７において、データ修正部１２６０は、図７に例示したスロット意図重要度１２７２を参照し、該当する重要度を読み取る。すなわち、まずスロット誤りのパターンが、内包、部分一致、不一致、などのいずれのパターンに該当するかを判断する。そして、正解意図表現のトピックからスロット意図重要度１２７２の行を特定し、判断したスロット誤りのパターンからスロット意図重要度１２７２の列を特定し、重要度を読取る。次にステップＳ４００９に進む。
【００６７】
トピックが一致しない場合に実行されるステップＳ４００８において、データ修正部１２６０は、図６に例示したトピック意図重要度１２７１を参照し、該当する重要度を読み取る。すなわち、正解意図表現のトピックからトピック意図重要度１２７１の行を特定し、意図表現のトピックからトピック意図重要度１２７１の列を特定し、重要度を読み取る。次にステップＳ４００９に進む。
ステップＳ４００９において、データ修正部１２６０は、ユーザログ１１８０のｉ番目のレコードに記載のテキストと同一のテキストを有するレコードを、追加学習データ群１２０２および基礎学習データ群１２０１から検索し、ステップＳ４０１０に進む。
【００６８】
ステップＳ４０１０において、データ修正部１２６０は、ステップＳ４００９における検索の結果、同一のテキストを有するレコードが検索されたか否かを判断する。同一のテキストを有するレコードが検索によりヒットしたと判断する場合はステップＳ４０１１に進み、ヒットしなかったと判断する場合はステップＳ４０１３に進む。
同一のテキストを有するレコードが検索された場合に実行されるステップＳ４０１１において、データ修正部１２６０は、ステップＳ４００９における検索により得られたレコードの優先度（以後、レコードの優先度）と、ステップＳ４００７またはステップＳ４００８において読取った重要度（以後、読取り重要度）の大きさを比較する。レコードの優先度の方が大きいと判断する場合はステップＳ４０１２に進み、それ以外の場合はステップＳ４０１３に進む。
【００６９】
レコードの優先度の方が読取り優先度よりも大きいと判断する場合に実行されるステップＳ４０１２において、データ修正部１２６０は、レコードの優先度を新たに設定する優先度として決定し、ステップＳ４０１４に進む。ここでは、従前に優先度が大きく設定されたにもかかわらず、同一のテキストに小さな優先度を付与することを避けることを意図している。
同一のテキストを有するレコードが検索されなかった場合、または読取り重要度がレコードの優先度以下であると判断された場合に実行されるステップＳ４０１３において、データ修正部１２６０は、読取り重要度を新たに設定する優先度として決定し、ステップＳ４０１４に進む。
【００７０】
ステップＳ４０１４において、データ修正部１２６０は、ユーザログ１１８０のｉ番目のレコードのテキスト、正解意図表現、ステップＳ４０１２またはステップＳ４０１３において決定した優先度、および初期値である「１」に設定した倍率を追加学習データ群１２０２の新たなレコードに書き込む。次にステップＳ４０１５に進む。
【００７１】
ステップＳ４０１５において、データ修正部１２６０は、変数ｉがユーザログ１１８０の総レコード数であるｎと同一か否かを判断する。変数ｉがｎと同一であると判断する場合はステップＳ４０１７に進み、変数ｉがｎと同一でない、すなわち変数ｉがｎ未満であると判断する場合はステップＳ４０１６に進む。
ステップＳ４０１６において、データ修正部１２６０は、変数ｉに１を加えてステップＳ４００４に戻る。
ステップＳ４０１７において、データ修正部１２６０は、ユーザログ１１８０を削除し、図１０に示すフローチャートを終了し、図９のステップＳ４０３０に進む。
【００７２】
（学習データを修正するサブルーチン）
図９のステップＳ４０６１から呼び出されるサブルーチンの動作を、図１１を用いて説明する。図１１に示すサブルーチンは、データ総数がｍである誤りデータを用いて、追加学習データ群１２０２および基礎学習データ群１２０１の倍率を修正する。誤りデータは抽出された順番に１〜ｍの番号が付されている。
ステップＳ４０７０において、データ修正部１２６０は、処理対象の誤りデータを示す変数ｊに１を代入してステップＳ４０８０に進む。
【００７３】
ステップＳ４０８０において、データ修正部１２６０は、ｊ番目の誤りデータに対する対立データを追加学習データ群１２０２および基礎学習データ群１２０１から抽出する。対立データとは、学習データ群１２００のレコードであって、学習データ群１２００にその対立データが存在するがゆえに、その学習データ群１２００を用いて構築した統計モデルに誤りデータを入力した際に、正解意図表現が得られない原因になると考えられるデータ」である。具体的には、たとえば、ｊ番目の誤りデータに対する対立データとして、当該誤りデータと同一または類似するテキストと、当該誤りデータに関連付けられた正解意図とは異なる正解意図とを有する学習データを、学習データ群１２００から抽出することができる。
【００７４】
統計的手法にもとづいた意図推定技術では、ユーザが発話したテキストを、多次元ベクトル表現に変換することが一般的である。具体的には、テキストを単語分割し、各単語の表記、単語の２個連鎖(2-gram)、単語の３個連鎖(3-gram)、各単語の品詞、各単語の意味を表す別に定義されたＩＤ、などに変換される。これらテキストから得られたそれぞれの情報は、素性(feature)と呼ばれる。学習データ群１２００、評価データ１２１０がすべて既知である場合には、データに含まれるテキストから得られる素性の種類数は有限である。そこで、素性のそれぞれを多次元ベクトルの１個の要素とみなして、あるテキストにおいて得られる素性に対応する要素を１とし、他の要素を０とした多次元ベクトルが得られる。
【００７５】
意図推定におけるトピック推定では、多次元空間のなかに、それぞれのトピックを代表する点や、それぞれのトピックと解釈される空間が定義されている状態を考える。そして、テキストから得られた多次元ベクトルを空間にマッピングしたとき、どのトピックの代表点といちばん近いのか、または、どのトピックの空間に属するのか、ということを計算により求める。そして、得られたトピックを意図推定結果として出力する。以上の処理を考えた場合、誤りデータのテキストから得られた多次元ベクトルと、学習データのテキストから得られた多次元ベクトルの類似度を計算し、この距離が基準値以下である学習データを、対立データとする。ベクトルの類似度を計算する方法としては、純粋なユークリッド距離を使う方法や、ベクトルコサイン類似度を計算する方法などが考えられる。さらに、テキストから得られた多次元ベクトルに対して変換行列を掛け合わせて次元数を削減する方法を用いることもできる（潜在的意味インデキシング）。この手法を使用する場合には、変換行列をかけたあとの多次元ベクトル間において距離を計算する。次にステップＳ４０９０に進む。
【００７６】
ステップＳ４０９０において、データ修正部１２６０は、学習データ群１２００から、ｊ番目の対立データとステップＳ４０８０において検索した誤りデータの優先度を抽出する。次にステップＳ４１００に進む。
ステップＳ４１００において、データ修正部１２６０は、ステップＳ４０９０において抽出した対立データの優先度と誤りデータの優先度の大小関係を比較する。誤りデータの優先度の方が大きいと判断する場合はステップＳ４１４０に進み、誤りデータの優先度が対立データの優先度以下であると判断する場合はステップＳ４１１０に進む。
【００７７】
ステップＳ４１１０において、データ修正部１２６０は、データ修正部１２６０が管理端末５００から予め指定された調整方式を判断する。前述の増加方式を指定されたと判断する場合はステップＳ４１２０に進み、減少方式を指定されたと判断する場合はステップＳ４１３０に進む。
ステップＳ４１２０において、データ修正部１２６０は、対立データである学習データ群１２００の１レコードに含まれる倍率を所定の量、たとえば１増加させてステップＳ４１６２に進む。
ステップＳ４１３０において、データ修正部１２６０は、誤りデータである学習データ群１２００の１レコードに含まれる倍率を所定の量、たとえば０．５減少させてステップＳ４１６２に進む。
【００７８】
ステップＳ４１４０において、データ修正部１２６０は、データ修正部１２６０が管理端末５００から指定された調整方式を判断する。増加方式を指定されたと判断する場合はステップＳ４１５０に進み、減少方式を指定されたと判断する場合はステップＳ４１６０に進む。
ステップＳ４１５０において、データ修正部１２６０は、誤りデータである学習データ群１２００の１レコードに含まれる倍率を所定の量、たとえば１増加させてステップＳ４１６２に進む。
ステップＳ４１６０において、データ修正部１２６０は、対立データである学習データ群１２００の１レコードに含まれる倍率を所定の量、たとえば０．５減少させてステップＳ４１６２に進む。
以上説明したステップＳ４１２０、Ｓ４１３０、Ｓ４１５０、Ｓ４１６０のいずれかの処理を実行することにより、データ修正部１２６０は、学習部１２２０による評価用統計モデル１２４０の作成における誤りデータまたは対立データの影響を変化させるように、学習データ群１２００の修正を行うことができる。
【００７９】
ステップＳ４１６２において、データ修正部１２６０は、直前のステップにおいて行った倍率の増減により、増減後の倍率が所定の範囲、たとえば０．５以上１０未満の範囲内か否かを判断する。範囲内であると判断する場合はステップＳ４１７０に進み、範囲外であると判断する場合はステップＳ４１６４に進む。
【００８０】
ステップＳ４１６４において、データ修正部１２６０は、ステップＳ４１６２において倍率が所定の範囲外であると判断した対立データである学習データ群１２００の１レコード、またはステップＳ４１６２において倍率が所定の範囲外であると判断した誤りデータである学習データ群１２００の１レコードを、ルールテーブル１１３２に移動する。すなわち、そのレコードを学習データ群１２００から削除し、そのレコードのテキストおよび正解意図表現を、ルールテーブル１１３２に追記する。次に、ステップＳ４１７０に進む。
【００８１】
ステップＳ４１７０において、データ修正部１２６０は、処理対象の誤りデータを示す変数ｊが、誤りデータの総数を表すｍと同一か否かを判断する。ｊがｍと同一、すなわち最後の誤りデータの処理が完了したと判断する場合は図１１に示すフローチャートの実行を終了し、図９のステップＳ４０３０に戻る。ｊがｍと同一でない、すなわちまだ最後の誤りデータまで処理していないとい判断する場合はステップＳ４１８０に進む。
ステップＳ４１８０において、データ修正部１２６０は、変数ｊに１を追加して処理対象の誤りデータを次の番号が付されたものに変更し、ステップＳ４０８０に戻る。
【００８２】
（統計モデルと学習データの遷移）
中継サーバ１０００の動作のまとめとして、フローチャートを適宜参照しながら、統計モデル１１３１と評価用統計モデル１２４０の関係、およびユーザログ１１８０と、追加学習データ群１２０２と、基礎学習データ群１２０１との関係を説明する。
図１２は、統計モデル１１３１が更新される過程を示す概要図である。図１２において時間は上から下に向かって経過している。ここまでの説明では更新の前後に関わらず統計モデル１１３１の名称を区別していなかったが、ここでは作成するたびにバージョンを１増加させて区別する。また、ユーザログ１１８０と、追加学習データ群１２０２と、基礎学習データ群１２０１のレコード数の例も明示する。
【００８３】
時刻ｔ１において、中継サーバ１０００は、たとえばバージョン３の統計モデル１１３１と、レコード数１０００の基礎学習データ群１２０１とを有する。ユーザログ１１８０および追加学習データ群１２０２は、ともにレコード数がゼロなので記載していない。この後、中継サーバ１０００は車載器２００からの音声信号の受信や、バージョン３の統計モデルを用いた意図推定などを行い、ユーザログ１１８０に記録を行った。
【００８４】
時刻ｔ２において、中継サーバ１０００は、時刻ｔ１と同様に、バージョン３の統計モデル１１３１とレコード数１０００の基礎学習データ群１２０１とを有する。さらに、たとえばレコード数８００のユーザログ１１８０を有する。追加学習データ群１２０２はレコード数がゼロなので記載していない。ユーザログ１１８０に保存されている各レコードには、正解判定部１２８０により正解フラグが付与されており、そのうち不正解のフラグはたとえば２００レコードに付されている。時刻ｔ２からデータ修正部１２６０による図９のフローチャートで示す処理が開始した。これ以後、時刻ｔ４までは、車載器２００から音声信号は出力されず、ユーザログ１１８０に追加されるデータはない。
【００８５】
時刻ｔ３において、中継サーバ１０００は、時刻ｔ１およびｔ２と同様に、バージョン３の統計モデル１１３１と基礎学習データ群１２０１とを有する。さらに、追加学習データ群１２０２と、バージョン４の統計モデルすなわち評価用統計モデル１２４０を有する。基礎学習データ群１２０１のレコード数は、時刻ｔ２から変わらず１０００である。図１０のステップＳ４００５に示すように、ユーザログ１１８０の正解フラグが不正解の場合のみ、追加学習データ群１２０２のレコードが作成される。そのため、追加学習データ群１２０２のレコード数は、時刻ｔ２におけるユーザログ１１８０の正解フラグが不正解であるレコード数と同じ、２００である。ユーザログ１１８０は、図１０のステップＳ４０１７の処理により削除、すなわちレコード数がゼロになったので記載していない。バージョン４の統計モデルは、１０００レコードの基礎学習データ群１２０１と、２００レコードの追加学習データ群１２０２を用いて、学習部１２２０により作成された（図９のステップＳ４０３０）。
【００８６】
この時刻ｔ３の状態において、評価部１２３０における評価（ステップＳ４０４０）が１回目で合格基準に達したので（ステップＳ４０５０：ＹＥＳ）、ステップＳ４２００以降の処理が実行される。すなわち、図１２に関連することに限定すれば、ステップＳ４２２０において追加学習データ群１２０２を基礎学習データ群１２０１に追加し、ステップＳ４２６０において統計モデル１１３１が更新される。
【００８７】
時刻ｔ４において、中継サーバ１０００は、バージョン４の統計モデル１１３１と、レコード数１２００の基礎学習データ群１２０１とを有する。基礎学習データ群１２０１は、時刻ｔ３における基礎学習データ群１２０１に、追加学習データ群１２０２を追加したものなのでレコード数は１２００である。バージョン３の統計モデル１１３１は、バージョン４に置き換えられたために削除された。
この時刻ｔ４の状態は、統計モデル１１３１のバージョン番号、および基礎学習データ群１２０１のレコード数を除けば、時刻ｔ１の状態と同一である。すなわち、中継サーバ１０００は、この時刻ｔ１〜ｔ３の状態を繰り返す。
【００８８】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）本実施の形態における中継サーバ１０００、すなわち意図推定装置は、テキストおよび正解意図表現を関連付けて構成される学習データを複数含む第１の学習データ群、すなわち基礎学習データ群１２０１と、この第１の学習データ群に含まれる複数の学習データおよび第１の学習データ群に含まれない複数の学習データを含む第２の学習データ群、すなわち基礎学習データ群１２０１と追加学習データ群１２０２を合わせた学習データ群１２００と、テキストが入力されると当該テキストの意図を推定して意図推定結果を出力する統計モデルを学習データを用いて作成するモデル作成部、すなわち学習部１２２０（図１１のステップＳ４０３０）と、学習部１２２０により基礎学習データ群１２０１を用いて作成された第１の統計モデル、すなわち統計モデル１１３１と、学習部１２２０により学習データ群１２００を用いて作成された第２の統計モデル、すなわち評価用統計モデル１２４０と、を備える。
【００８９】
中継サーバ１０００は、さらに、統計モデル１１３１に基づいて出力される意図推定結果が正しく、かつ評価用統計モデル１２４０に基づいて出力される意図推定結果が誤りであるテキストに対応する学習データを、誤りデータとして学習データ群１２００から抽出する誤りデータ抽出部（図９のステップＳ４０６０）と、評価用統計モデル１２４０に基づく誤りデータの意図推定結果が誤りとなる原因の学習データを、対立データとして学習データ群１２００から抽出する対立データ抽出部（図１１のステップＳ４０８０）と、を備える。
【００９０】
中継サーバ１０００は、さらに、学習部１２２０による統計モデルの作成における誤りデータまたは対立データの影響を変化させるように学習データ群１２００の修正を行う、データ修正部１２６０（図１１のステップＳ４１２０、Ｓ４１３０、Ｓ４１５０、Ｓ４１６０）と、を備える。
このような中継サーバ１０００によれば、複数のユーザの自然言語のログを用いた学習により、テキストがより正しく意図推定されるので、ユーザの利便性を高めることができる。
誤りデータの倍率を増加させる場合は、優先度が低いテキストも正しく意図推定される可能性が残る。対立データの倍率を減少させる場合は、優先度が高いテキストに対する悪影響が速やかに取り除かれるため、優先度が高いデータは正しく理解されるようになる。また、学習データの増加が起こらないため、学習時間が増加しない。
【００９１】
（２）学習データ群１２００に含まれる学習データは、当該テキストの意図推定における重要性の指標を示す優先度をさらに含む。データ修正部１２６０は、誤りデータの優先度と対立データの優先度を比較し（図１１のステップＳ４１１０）、その比較結果に基づいて、ステップＳ４１２０、Ｓ４１３０、Ｓ４１５０、Ｓ４１６０のいずれかの処理を実行することにより、学習データ群１２００の修正を行う。このようにしたので、誤りデータおよび対立データの意図推定における重要性を考慮して、学習データ群１２００の修正を適切に行うことができる。
（３）データ修正部１２６０は、誤りデータの優先度が対立データの優先度よりも大きい場合には、ステップＳ４１５０において誤りデータの倍率を増加させることにより、統計モデルの作成における誤りデータの影響を大きくするか、または、ステップＳ４１６０において対立データの倍率を減少させることにより、統計モデルの作成における対立データの影響を小さくするように、学習データ群１２００の修正を行う。このようにしたので、優先度がより高い誤りデータに対応するテキストが正しく意図推定されるように、学習データ群１２００を修正することができる。
（４）一方、データ修正部１２６０は、誤りデータの優先度が対立データの優先度よりも小さい場合には、ステップＳ４１３０において誤りデータの倍率を減少させることにより、統計モデルの作成における誤りデータの影響を小さくするか、または、ステップＳ４１２０において対立データの倍率を増加させることにより、統計モデルの作成における対立データの影響を大きくするように、学習データ群１２００の修正を行う。このようにしたので、優先度がより高い対立データに対応するテキストが正しく意図推定されるように、学習データ群１２００を修正することができる。
【００９２】
（５）学習データ群１２００に含まれる学習データは、学習部１２２０による統計モデルの作成における当該テキストの重みを表す倍率をさらに含む。データ修正部１２６０は、ステップＳ４１２０、Ｓ４１３０、Ｓ４１５０、Ｓ４１６０において、誤りデータまたは対立データの倍率を増減させることにより、学習データ群１２００の修正を行う。このようにしたので、学習部１２２０による統計モデルの作成における誤りデータまたは対立データの影響を変化させるような学習データ群１２００の修正を、簡潔な処理で容易に行うことができる。
【００９３】
（６）データ修正部１２６０は、ステップＳ４０８０において、学習データ群１２００から、誤りデータと同一または類似するテキストと、誤りデータに関連付けられた正解意図とは異なる正解意図とを有する学習データを、対立データとして抽出する。このようにしたので、誤りデータに対する対立データを確実かつ容易に抽出することができる。
【００９４】
（７）中継サーバ１０００は、任意のテキストを評価用統計モデル１２４０に入力して得られた意図推定結果に基づいて、評価用統計モデル１２４０が所定の基準を満たすか否かを判断する評価部１２３０（図９のステップＳ４０４０、Ｓ４０５０）をさらに備える。データ修正部１２６０は、評価用統計モデル１２４０が所定の基準を満たさないと評価部１２３０が判断した場合に、ステップＳ４０６１の処理を実行して学習データ群１２００を修正する。学習部１２２０は、こうしてデータ修正部１２６０により修正された学習データ群１２００を用いて、ステップＳ４０３０の処理を再度実行することにより、評価用統計モデル１２４０を再度作成する。このようにしたので、学習データ群１２００の修正を繰り返し行って、高い水準で評価用統計モデル１２４０を作成することができる。
【００９５】
（８）データ修正部１２６０は、以下に示すＡ〜Ｃの少なくとも１つの条件に基づいて、評価用統計モデル１２４０が所定の基準を満たすか否かを判断する。（Ａ）評価用統計モデル１２４０は、正解意図が得られる割合が、統計モデル１１３１に比べて所定の割合以上高い。（Ｂ）統計モデル１１３１からは正解意図が得られ、評価用統計モデル１２４０からは正解意図が得られない割合が、所定の割合以下である。（Ｃ）前記第２の学習データ群に含まれるが前記第１の学習データ群に含まれない学習データを評価用統計モデル１２４０に入力すると、所定の割合以上で正解意図が得られる。
そのため、評価用統計モデル１２４０を異なる観点から評価することができる。（Ａ）による評価では、意図推定の正解率が高いことを評価する。（Ｂ）による評価では、これまで正しく意図推定が可能であったのに、不可能となったテキストが十分に少ないことを評価する。（Ｃ）による評価では、新たに意図推定が正しく行えるようになったことを評価する。
【００９６】
（９）第２の学習データ群、すなわち学習データ群１２００は、第１の学習データ群、すなわち基礎学習データ群１２０１、および音声入力部１０２０を備える車載器２００から送信される情報に基づいて、音声認識サーバ３００および正解判定部１２８０により作成された追加学習データ群１２０２から構成される。
そのため、学習部１２２０は、意図推定部１１２０が意図推定を行う場合と同様のデータを用いて学習を行うことができる。
【００９７】
（１０）中継サーバ１０００は、テキストおよび当該テキストの正解意図が関連付けられて保存されるルールテーブル１１３２と、統計モデル１１３１またはルールテーブル１１３２に基づいて入力されたテキストに対する意図推定結果を出力する意図推定部１１２０とをさらに備える。データ修正部１２６０は、学習データ群１２００に含まれる学習データのうち倍率が所定の範囲外にある学習データをルールテーブル１１３２に移動する（図１１のステップＳ４１６４）。意図推定部１１２０は、入力されたテキストがルールテーブル１１３２に含まれる場合は、統計モデル１１３１を用いずに、ルールテーブル１１３２に基づいて意図推定結果を出力する。
【００９８】
そのため、性質の異なる２つの意図推定手法を組み合わせることにより、多くのテキストを正しく意図推定し、ユーザの利便性を高めることができる。また、学習データ群１２００の修正を行った結果、ある学習データにおいてテキストに関連付けられた倍率が所定の範囲外となった場合には、その学習データがルールテーブル１１３２に移動され、学習データ群１２００からは削除される。そのため、学習部１２２０が評価用統計モデル１２４０を作成する際に、倍率の高い学習データが他の学習データに悪影響を与えるのを防止することができる。さらに、倍率が低く評価用統計モデル１２４０には反映されにくい学習データについても、ルールテーブル１１３２を用いて正しく意図推定を行うことができる。したがって、様々なテキストに対して頑健に意図推定を行うことができる。
【００９９】
（１１）データ修正部１２６０は、統計モデル１１３１に基づいて出力される意図推定結果が誤りであり、かつ評価用統計モデル１２４０に基づいて出力される意図推定結果が正しいテキストを、そのテキストを表す音声信号を過去に出力した車載器２００に対して、新規理解テキストとして通知する（図９のステップＳ４２３０〜Ｓ４２５０）。そのため、評価用統計モデル１２４０を更新後の統計モデル１１３１とした場合に、これを用いることで意図推定部１１２０が正しく意図推定できるようになったテキストを、当該テキストの音声を過去に発話したことがあるユーザに明示することができる。したがって、意図推定部１１２０の機能向上をわかりやすく、簡潔にアピールすることができる。たとえば、ユーザにとってみれば、自分向けに改善してくれたという実感を持つことができ、より車載器に対して親近感や信頼感を持つことができるようになり、より快適に使用することができるようになる。
【０１００】
（１２）中継サーバ１０００は、正解意図、誤った意図推定結果、および当該誤った意図推定結果を出力することによりユーザの受ける不利益の大きさである不利益度の関係を示す意図重要度表、すなわちトピック意図重要度１２７１、およびスロット意図重要度１２７２に関する情報を含む優先度基礎情報１２７０と、これらの意図重要度表を参照し、不利益度の大きさに基づいて優先度を設定する優先度設定部（図１０のステップＳ４００７、Ｓ４００８、Ｓ４０１４）とを備える。
そのため、不利益度が大きいほど優先度が高く設定されるので、ユーザが大きい不利益を受けることが少ない。すなわち、ユーザの利便性を高めることができる。
【０１０１】
（１３）意図推定結果は、機能推定結果すなわちトピックと、変数推定結果すなわちスロットとから構成される。優先度基礎情報１２７０は、トピック誤りに対応する第１の意図重要度表、すなわちトピック意図重要度１２７１と、スロット誤りに対応する第２の意図重要度表、すなわちスロット意図重要度１２７２とから構成される。
優先度設定部（図１０のステップＳ４００６〜Ｓ４０１４）は、トピックに誤りがある場合にトピック意図重要度１２７１を参照し、スロットに誤りがある場合にスロット意図重要度１２７２を参照し、不利益度の大きさに基づいて優先度を設定する。
そのため、トピックの誤り、およびスロットの誤りに対して独立した不利益度を設定し、詳細に優先度を設定することができる。
【０１０２】
（変形例）
以上説明した第１の実施の形態を以下のように変形して実施することができる。
（１）図１１に示した倍率の更新（Ｓ４１１０〜Ｓ４１６０）において、増加方式または減少方式のいずれかの方式を採用したが、両者を併用してもよい。すなわち、たとえば誤りデータの方が優先度が大きい場合に（Ｓ４１００：ＹＥＳ）、対立データの倍率を減少させるとともに、誤りデータの倍率を増加させてもよい。また、誤りデータの方が優先度が小さい場合は、学習データの倍率を変更しなくてもよい。
【０１０３】
増加方式、減少方式のいずれかを使用するかに関しては、事前に管理端末５００から入力される方式に従う方法が考えられるが、データ修正の最中に自動的にいずれを使用するか、または切り替える方法もある。たとえば、データ修正の初期段階においては、まず減少方式を用いて、学習データの倍率を減少させる。この修正により、対立データおよび誤りデータの双方が正しく意図推定される状態を保つことを目指す。両データが正しく意図推定させることに成功すれば、データ修正は終了となる。しかしながら、ある学習データの倍率を減少させることにより、当該学習データの意図推定結果が誤りに転ずることがある。この場合のみ、減少方式による修正をやめて、増加方式による修正に移行する。すなわち、片方の学習データが正しく意図推定される最低限の倍率を保ちつつ、もう片方の学習データも正しく意図推定されるように倍率を増加させていく。このアルゴリズムにより、学習データ全体の意図推定正解率を高く保ちつつ、かつ特異的に倍率が大きい学習データの存在を防ぐことができる。
【０１０４】
（２）中継サーバ１０００は、車載器２００から音声信号を受信し、車載器２００に推定意図表現を送信したが、車載器２００は、携帯電話でもよいし、コンピュータでもよい。すなわち、通信部と音声入力部を備え、中継サーバ１０００から受信する推定意図表現にしたがって動作する端末であればよい。
【０１０５】
（３）中継サーバ１０００は、必要に応じて音声認識サーバ３００および施設検索サーバ４００と通信を行ったが、中継サーバ１０００が音声認識サーバ３００の機能、または施設検索サーバ４００の機能、の少なくとも１つを備えてもよい。
車載器２００、中継サーバ１０００は、別のユニットになっている必要は無く、同一のユニットにあってもよい。
本実施の形態は、中継サーバ以外のサーバにて、施設検索のサービスを行う構成としたが、楽曲検索やＷｅｂ検索など、別のサービスを提供するサーバが存在する構成でもよい。また、中継サーバ以外のサーバに接続しない形態でもよい。
【０１０６】
（４）中継サーバ１０００は、車載器２００から音声信号を受信したが、テキストを受信してもよい。すなわち、車載器２００が音声認識部を備えてもよいし、車載器２００がテキスト入力部を備えてもよい。
（５）評価用統計モデル１２４０の評価において、データ修正部１２６０は３つの基準の全てを満たすことを合格基準とした（ステップＳ４０４０）。しかし、２つ以上を満たすことを合格基準としてもよいし、少なくとも１つを満たすことを合格基準としてもよい。
また、第１の実施の形態で説明した（Ａ）（Ｂ）（Ｃ）の合格基準における「正解（不正解）の割合」は、正解数（不正解数）を評価データの数で割った値として算出する方法が基本的な方法である。これに加えて、それぞれの評価データの優先度を考慮した値を計算することもできる。たとえば、「正解（不正解）の割合」として、正解（不正解）だった評価データの優先度を合計した値を、すべての評価データの優先度を合計した値で割った値を使ってもよい。または、優先度の大きさを低（０〜０．３）、中（０．３〜０．７）、高（０．７〜１．０）のように数段階に分けておき、それぞれの段階の優先度の評価データごとに「正解（不正解）の割合」「正解（不正解）数」を計算し、それぞれの段階ごとに合格と判定する基準値を別に設けてもよい。
【０１０７】
（６）オペレータが管理端末５００から正解判定部１２８０を操作して、ユーザログ１１８０に正解フラグおよび正解意図表現を付与していた。しかし、中継サーバ１０００が意図推定モデル１１３０とは異なる、第２の意図推定モデルを有し、第２の意図推定モデルを用いて正解フラグ、および正解意図表現を付与してもよい。
（７）評価部１２３０は、評価データ１２１０として学習データ群１２００を用いたが、学習データ群１２００と無関係のデータを用いてもよい。すなわち、学習部１２２０が学習に用いたか否かに関わらず、複数の、テキストとそのテキストの正解意図表現の組合せを評価データ１２１０として用いてもよい。
【０１０８】
（８）データ修正部１２６０による評価用統計モデル１２４０の評価基準、すなわち合否判定（図９のステップＳ４０５０）を行う際の基準は、データ修正を行った回数が多くなるほど、基準を緩和してもよい。たとえば、前述のＡ〜Ｃの条件を満たす数を減らしてもよいし、Ａ〜Ｃに含まれる所定の割合を、条件を満たしやすいように低減してもよい。
（９）通信部１０８０は、車載器２００に内蔵せず、他の通信機器が有する通信機能を利用してもよい。
（１０）データ修正部１２６０による評価用統計モデル１２４０の評価において、優先度を考慮してもよい。たとえば、正解意図表現が得られた数をカウントする際に、一律に１を加えるのではなく、０．０〜１．０の優先度を加算してもよい。これにより、優先度が高いデータの正解・不正解が合否判定における重要さを増すように計算される。
【０１０９】
（１１）学習データ群１２００から対立データを抽出するために、第１の実施の形態では多次元ベクトルを用いたが、実験的手法を用いてもよい。具体的には、それぞれの学習データを順に注目し、注目されたデータだけを学習データ群１２００から除外して評価用統計モデル１２４０を生成し、さらに誤りデータの意図推定を実行する。もし、この結果、誤りデータの意図推定結果が正解になれば、除外した学習データが対立データだと考えられる。この手法は、対立データを抽出できていることの確証が得られること、スロット推定誤りの対立データの抽出にも利用できる、という利点がある。
【０１１０】
（１２）意図推定モデル１１３０は、統計モデル１１３１とルールテーブル１１３２とから構成されたが、統計モデル１１３１のみから構成されてもよい。その場合には、図１１のステップＳ４１６４の処理を行わなくてもよいし、ルールテーブルに移動する代わりに学習データ群１２００から削除してもよい。
（１３）図９のステップＳ４２２０において、データ修正部１２６０は、追加学習データ群１２０２の全てのレコードを基礎学習データ群１２０１に追加したが、倍率が所定の値より小さいレコードは基礎学習データ群１２０１に追加しなくてもよい。たとえば、倍率が０．２未満のレコードは基礎学習データ群１２０１に追加することなく、追加学習データ群１２０２から削除してもよい。
【０１１１】
（１４）データ修正部１２６０は、追加学習データ群１２０２の優先度を決定する際に、既存の同一のテキストを有する学習データの優先度を考慮しなくてもよい。すなわち、図１０においてステップＳ４００７およびステップＳ４００８を実行した後に、ステップＳ４０１３、ステップＳ４０１４と進み、読取った重要度をそのまま優先度としてもよい。
（１５）ルールテーブル１１３２は、学習データのうち統計手法では正しく意図推定できないものが自動的に格納されるという前提で説明した。しかし、ルールテーブル１１３２のデータには、自動的に格納されるもののほかに、人が追加したデータがあってもよい。また、学習データから選定されたデータを運用者が見て、文字列や正解意図表現を編集したうえで、ルールテーブル１１３２に追加する方式をとってもよい。
【０１１２】
（１６）トピック意図重要度１２７１は、正解の意図表現と誤りの意図表現のペアで決定されるものとした。しかし、正解の意図表現のみ、または誤りの意図表現のみから、一意にトピック意図重要度を決定する方式でも良い。
（１７）上述した実施の形態では、ステップＳ４００５の動作を、読み込んだ正解フラグが「不正解」である場合のみ、ステップＳ４００６に進むとした。しかし、実際には「正解」であったデータも、正しく意図推定される状態が継続することが望ましく、そのことを検証するには、「正解」であったデータも追加学習データに入れる必要がある。そのため、Ｓ４００５の分岐の条件を、「正解」「不正解」のいずれかであったときにＳ４００６に遷移するように変更してもよい。
【０１１３】
（変形例１）
上述した実施の形態では、オペレータが管理端末５００から正解判定部１２８０を操作して、ユーザログ１１８０に正解フラグを付与していたが、正解判定部１２８０はオペレータの操作なく正解フラグを付与してもよい。
意図推定部１１２０が統計モデル１１３１の出力した推定意図表現を車載器２００に送信すると、車載器２００は受信した推定意図表現に従って動作する。このとき、車載器２００のユーザは自らの意図と異なる動作が行われると、ユーザはたとえば次のＡ〜Ｄのような行動を行うと考えられる。
【０１１４】
（Ａ）受信した推定意図表現によって実行された車載器の機能を取り消す。
（Ｂ）受信した推定意図表現によって機能が実行された直後に、操作入力部１０３０から本来意図していた機能を実行する。
（Ｃ）ユーザがもう一度同じ発話を行い音声入力部１０２０に入力する。
（Ｄ）ユーザが、同じ意図を実行させるために、異なる言い回しによる発話を行い音声入力部１０２０に入力する。
たとえば、異なる言い回しの検出には、複数回のユーザ発話から、単語列の一致数、多次元ベクトルに変換したときの空間上の距離、などの値を測定することにより、検出することができる。
【０１１５】
そこで、車載器２００は中継サーバ１０００から受信した意図推定表現に従って動作を開始するとともに、所定時間、たとえば３０秒間にわたって音声入力部１０２０および操作入力部１０３０からの入力（以後、動作ログ）を記録し、中継サーバ１０００に送信する。動作ログを受信した中継サーバ１０００の通信部１１１０は、正解判定部１２８０に動作ログを出力する。正解判定部１２８０は、動作ログを解析して上記Ａ〜Ｄのいずれかの動作を推定すると正解フラグに不正解を設定し、いずれの動作も推定されないと正解フラグに正解を設定する。
【０１１６】
この変形例１によれば、以下の作用効果を奏する。
（１）中継サーバ１０００は、ユーザの発声行動および入力操作行動に基づく入力をそれぞれ検出する音声入力部１０２０および操作入力部１０３０を備える車載器２００との間で情報の送受信を行う通信部１１１０と、統計モデル１１３１に基づいて入力されたテキストに対する意図推定結果を出力する意図推定部１１２０と、意図推定部１１２０による意図推定結果の正誤を判断する正解判定部１２８０とを備える。通信部１１１０は、意図推定部１１２０から出力された意図推定結果を車載器２００に送信すると共に、意図推定結果を受信してから所定時間以内に音声入力部１０２０および操作入力部１０３０により検出された入力に基づく入力情報を車載器２００から受信する。正解判定部１２８０は、通信部１１１０により受信された入力情報に基づいて、意図推定部１１２０による意図推定結果の正誤を判断する。
そのため、正解判定部１２８０がユーザログに正解フラグを付与するので、オペレータの負荷を軽減することができる。
【０１１７】
変形例１は、さらに以下のように変形できる。
音声認識の意図推定結果が正しかった場合、および誤りであった場合のユーザ操作ログを事前に用意する。ユーザおよび機器の状態が確率的に遷移するマルコフモデルを想定し、各状態において各ユーザ行為が行われる確率、および状態間を遷移する確率をモデル化しておく。このマルコフモデルを、意図推定結果が正しかった場合と、誤りであった場合のそれぞれで、ユーザ操作ログから学習しておく。実際にユーザが行った行為順序が、どちらのマルコフモデルから生成される確率が高いかを評価する。確率が高かったモデルが、正しかった場合のモデル／誤りであった場合のモデル、のいずれであるかにより、正解フラグを正解／不正解としてもよい。
【０１１８】
（第２の実施の形態）
図１３〜１６を参照して、本発明による意図推定システムの第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態では、主に、優先度の決定方法が第１の実施の形態と異なる。
【０１１９】
（構成）
第２の実施の形態における、車載器２００と、音声認識サーバ３００と、施設検索サーバ４００と、管理端末５００の構成、および動作は、第１の実施の形態と同様である。中継サーバ１０００の構成は、第１の実施の形態における構成に加えて、発話回数ポイントデータ３０００、機器／ユーザデータ３１００、およびポイント表を備える点が異なり、データ修正部１２６０の動作が異なる。データ修正部１２６０が、発話回数ポイントデータ３０００、機器／ユーザデータ３１００、およびポイント表を更新する。データ修正部１２６０が、発話回数ポイントデータ３０００、機器／ユーザデータ３１００、およびポイント表を用いて優先度を決定する。
【０１２０】
発話回数ポイントデータ３０００は、これまでに音声認識サーバ３００から中継サーバ１０００が受信したテキストの種類と同じ数のレコードを有するデータベースである。すなわち、各レコードのテキストは異なる。発話回数データ３０００の一例を図１３に示す。発話回数ポイントデータ３０００の１レコードは、テキストと、そのテキストが発話された回数と、詳細情報と、詳細情報および機器／ユーザデータ３１００から算出されたポイントとから構成される。詳細情報とは、同一レコードに含まれるテキストの音声信号を出力した車載器２００のＩＤ、その車載器２００のユーザＩＤ、およびテキストの音声信号を受信した日時である。
【０１２１】
機器／ユーザデータ３１００は、これまでに中継サーバ１０００が通信した音声認識サーバ３００と同じ数のレコードを有するデータベースである。すなわち、１レコードに１台の車載器２００に関する情報が保存される。機器／ユーザデータ３１００の一例を図１４に示す。機器／ユーザデータ３１００の１レコードは、車載器２００の機器ＩＤと、その車載器２００を使用するユーザのユーザＩＤと、その車載器２００から中継サーバ１０００に音声信号が送信される１月あたりの回数と、最終利用日と、初回利用日と、その車載器２００が重要であることを示す重要フラグと、から構成される。
【０１２２】
中継サーバ１０００の通信部１１１０が車載器２００から音声信号を受信すると、通信部１１１０が音声信号に付帯する端末ＩＤおよびユーザＩＤをデータ修正部１２６０に伝達する。データ修正部１２６０は、機器／ユーザデータ３１００の利用頻度、および最終利用日を更新する。ただし、伝達された機器ＩＤおよびユーザＩＤが機器／ユーザデータ３１００のいずれのレコードにも記録されていない場合は、新たにレコードを作成してサービス利用開始日に処理している日を記録する。重点フラグは、オペレータにより管理端末５００からの操作により付与される。
【０１２３】
ポイント表３２００は、優先度と発話回数ポイントデータ３０００に記載のポイントとの関係を示すものである。ポイント表３２００の一例を図１５に示す。図１５の例では、最高の１．０から０．１までの０．１刻みの優先度と、それぞれの優先度に該当する最小のポイントが記載されている。たとえば、ポイントが１５０００の場合には、１７０００未満で１４０００以上なので、優先度は０．８である。
【０１２４】
（動作）
中継サーバ１０００の通信部１１１０が音声認識サーバ３００からテキストを受信すると、通信部１１１０がそのテキストを意図推定部１１２０とデータ修正部１２６０に伝達する。データ修正部１２６０は、伝達されたテキストと、テキストが伝達される直前に伝達された機器ＩＤおよびユーザＩＤとを対応させて扱う。データ修正部１２６０は、伝達されたテキストに一致するテキストを発話回数データ３０００から検索し、一致するレコードの発話回数を１増加させる。データ修正部１２６０は、機器／ユーザデータ３１００を参照し、その伝達されたテキストに対応する機器ＩＤを有するレコードの、利用頻度、最終利用日、初回利用日、および重点フラグを所定の算出式に代入してポイントを算出する。データ修正部１２６０は、算出したポイントを発話回数データ３０００の、伝達されたテキストを含むレコードのポイントに追加する。
【０１２５】
ポイントの算出式は、利用頻度、最終利用日、初回利用日、および重点フラグによる重みづけであり、たとえば利用頻度が高いほど、最終利用日から日数が経過していないほど、初回利用日から日数が経過しているほど、重点フラグがあると、ポイントが多くなるように構築されている。たとえば、利用頻度をＡ、最終利用日からの経過日数をＢ、初回利用日からの経過日数をＣ、中継サーバ１０００の稼働開始からの日数をｗｏｒｋ、重点フラグをＤとすると、ポイントＰは、以下の（式１）で表される。
Ｐ＝Ａ÷１０＋１÷Ｂ＋Ｃ÷ｗｏｒｋ＋Ｄ・・・・・・（式１）
ただし、Ｄは、重点フラグを有する場合は所定の値、たとえば５を設定し、重点フラグを有さない場合は０を設定する。
【０１２６】
（追加学習データを作成するサブルーチン）
図１６のフローチャートに示すプログラムは、第１の実施の形態における図１０に示すサブルーチンに代わって、第２の実施の形態においてデータ修正部１２６０が実行する処理手順を示すものである。
ステップＳ５００１において、データ修正部１２６０は、発話回数データ３０００を読込み、ステップＳ５００２に進む。
【０１２７】
ステップＳ５００２において、データ修正部１２６０は、発話回数データ３０００に記載されている全てのポイントに注目し、ポイントにより降順に並べ替える。すなわち、並べ替えにより先頭のレコードが発話回数データ３０００の最大のポイントを有し、最後のレコードは発話回数データ３０００の最小のポイントを有する。次に、ステップＳ５００３に進む。
ステップＳ５００３において、データ修正部１２６０は、既知である発話回数データ３０００の総レコード数を勘案し、並べ替えた１０％ごとの境界となるポイントを算出する。たとえば、最上位の１０％のグループと次の１０％の境界となるポイントである。次にステップＳ５００４に進む。
【０１２８】
ステップＳ５００４において、データ修正部１２６０は、ステップＳ５００３において算出したポイントをポイント表５３００に記録して、ポイント表５３００を更新する。図１６に示すポイント表５３００の例では、左の列、すなわち優先度の１．０、０．９、などは変更されず、右の列、すなわち境界となるポイントが更新される。次にステップＳ５００５に進む。
ステップＳ５００５において、データ修正部１２６０は、ユーザログ１１８０を読込み、その総レコード数をｎとして保存する。この総レコード数ｎは、後のステップＳ５０１２において利用される。次にステップＳ５００６に進む。
【０１２９】
ステップＳ５００６において、データ修正部１２６０は、変数ｉに１を代入してステップＳ５００７に進む。
ステップＳ５００７において、データ修正部１２６０は、ユーザログ１１８０のｉ番目のレコードの一部、すなわち、テキスト、および正解フラグを読み込む。次にステップＳ５００８に進む。
ステップＳ５００８において、データ修正部１２６０は、読込んだ正解フラグが「不正解」か否かを判断する。「不正解」であると判断する場合はステップＳ５００９に進み、「正解」、または「ルール」であると判断する場合はステップＳ５０１１に進む。
【０１３０】
ステップＳ５００９において、データ修正部１２６０は、発話回数データ３０００を参照し、読込んだテキストを含むレコードのポイントを読み取る。たとえば、発話回数データが図１３に示す例の場合に、読込んだテキストが「周辺のコンビニ」の場合には、ポイントとして「２３４５６」を読み取る。次に、ステップＳ５０１０に進む。
ステップＳ５０１０において、データ修正部１２６０は、ポイント表３２００を参照し、ステップＳ５００９において読取ったポイントが該当する優先度を読み取る。たとえば、ポイント表３２００が図１５に示す例の場合に、読取ったポイントが「２３４５６」の場合には、２１０００よりも大きいことから優先度は「１．０」であると読取る。次に、ステップＳ５０１１に進む。
【０１３１】
ステップＳ５０１１において、データ修正部１２６０は、ユーザログ１１８０のｉ番目のレコードのテキスト、正解意図表現、ステップＳ５０１０において読取った優先度、および初期値である「１」に設定した倍率を追加学習データ群１２０２の新たなレコードに書き込む。次にステップＳ５０１２に進む。
ステップＳ５０１２において、データ修正部１２６０は、変数ｉがユーザログ１１８０の総レコード数であるｎと同一か否かを判断する。変数ｉがｎと同一であると判断する場合は図１６に示すフローチャートを終了し、図９のステップＳ４０３０に進む。変数ｉがｎと同一でない、すなわち変数ｉがｎ未満であると判断する場合はステップＳ５０１３に進む。
ステップＳ５０１３において、データ修正部１２６０は、変数ｉに１を加えてステップＳ５００７に戻る。
【０１３２】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）学習データ群１２００に含まれるテキストは、音声入力部１０２０を備える車載器２００から送信される音声信号に基づいて音声認識サーバ３００において作成される。中継サーバ１０００は、通信部１１１０により受信されたユーザからの入力情報に基づいて音声認識サーバ３００により作成されたテキストの頻度に基づいて、学習データ群１２００の優先度を設定する優先度設定部、すなわちデータ修正部１２６０を備える。
そのため、中継サーバ１０００が受信する頻度が高いテキストほど高い優先度が付され、正しく意図推定が行われるようにデータ修正部１２６０が倍率を変更するので、受信する頻度が高いテキストほど正しく意図推定が行われるようになる。すなわち、ユーザが高い頻度で発話する言葉が正しく意図推定が行われるため、ユーザの利便性が向上する。
【０１３３】
（２）データ修正部１２６０は、以下のＡ〜Ｄの少なくとも１つに基づき、学習データ群１２００の優先度を設定する。
【０１３４】
（Ａ）あらかじめ設定された車載器２００の重要度、すなわち機器／ユーザデータ３１００の重点フラグ
（Ｂ）車載器２００が前記情報を送信する頻度、すなわち機器／ユーザデータ３１００の利用頻度
（Ｃ）車載器２００が直前に前記情報を送信してからの経過時間、すなわち機器／ユーザデータ３１００の最終利用日から算出される経過日数
（Ｄ）車載器２００が最初に前記情報を送信してからの経過時間、すなわち機器／ユーザデータ３１００の初回利用日から算出される経過日数
【０１３５】
そのため、上記のＡ〜Ｄのそれぞれに以下の利点がある。
Ａに示すように重点フラグを用いる場合は、当該システムにおいて重要であるとオペレータが判断し、重点フラグを付与した車載器２００に入力された発話音声が、正しく意図推定されやすくなる。すなわち、利用頻度や利用期間などを問わず、オペレータの操作により任意の車載器２００を優先することができる。
Ｂに示すように利用頻度を用いる場合は、利用頻度が高い熱心なユーザの発話を優先することができる。
【０１３６】
Ｃに示すように直前に送信してからの経過時間を用いる場合は、経過時間が短いほど利用頻度が高いと推測できるので、利用頻度を用いる場合と同様に熱心なユーザの発話を優先することができる。
Ｄに示すように初回利用日からの経過時間を用いる場合は、利用期間の長いユーザの発話を優先することができる。
【０１３７】
（変形例）
以上説明した実施の形態を以下のように変形して実施することができる。
（１）機器／ユーザデータ３１００の重点フラグは、車載器２００に対してではなく、車載器２００を使用するユーザに対して付与してもよい。すなわち、ユーザＩＤがあらかじめ設定されたユーザＩＤと一致するか否かにより重点フラグを設定してもよい。
なお、ユーザＩＤを車載器２００が送信しない場合であっても、車載器２００にユーザのニックネームを入力してもらいそれをＩＤの代わりとして送信する方法や、車載器２００に接続して使用するスマートフォンのユーザ情報を利用する方法や、ユーザの声を車載器または中継サーバにあらかじめ保存しておき、ユーザが音声認識にて発話した音声からユーザを推定する方法などを取ることができる。
【０１３８】
（２）第２の実施の形態では、式（１）を用いて、利用頻度、直前の利用からの経過日数、初回利用日からの経過日数、重点フラグ、の全てを用いて優先度を算出したが、少なくとも１つを用いればよい。
（３）第２の実施の形態では、利用頻度が高いほど、直前の利用からの経過日数が短いほど、初回利用日からの経過日数が長いほど、優先度を高く設定した。しかし、利用頻度が低いほど、直前の利用からの経過日数が長いほど、初回利用日からの経過日数が短いほど、優先度を高く設定してもよい。これらの場合は、あまり利用していないユーザや使い始めたばかりのユーザに、サービスを継続的に使用する意欲を増すことができる。
または、利用頻度の高低とポイントの大小の関係は、ユーザＩＤごとに変えてもよい。
【０１３９】
（４）ステップＳ５００８動作は、読み込んだ正解フラグが「不正解」である場合のみ、ステップＳ５００９に進むとした。しかし、実際には「正解」であったデータも、正しく意図推定される状態が継続することが望ましく、そのことを検証するには、「正解」であったデータも追加学習データに入れる必要がある。そのため、Ｓ５００８の分岐の条件を、「正解」「不正解」のいずれかであったときにＳ５００９に遷移するように変更してもよい。
【０１４０】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【０１４１】
２００    …  車載器                  ３００    …  音声認識サーバ
４００    …  施設検索サーバ          ５００    …  管理端末
１０００  …  中継サーバ              １０２０  …  音声入力部
１０７０  …  制御部                  １０８０  …  通信部              
１１１０  …  通信部                  １１２０  …  意図推定部          
１１３０  …  意図推定モデル          １１３１  …  統計モデル              
１１３２  …  ルールテーブル          １１４０  …  検索部                  
１１８０  …  ユーザログ              １２００  …  学習データ群            
１２０１  …  基礎学習データ群        １２０２  …  追加学習データ群        
１２１０  …  評価データ              １２２０  …  学習部                  
１２３０  …  評価部                  １２４０  …  評価用統計モデル        
１２６０  …  データ修正部            １２７０  …  優先度基礎情報          
１２７１  …  トピック意図重要度      １２７２  …  スロット意図重要度      
１２８０  …  正解判定部              
【図１】
0006514503.tif 000002
【図２】
0006514503.tif 000003
【図３】
0006514503.tif 000004
【図４】
0006514503.tif 000005
【図５】
0006514503.tif 000006
【図６】
0006514503.tif 000007
【図７】
0006514503.tif 000008
【図８】
0006514503.tif 000009
【図９】
0006514503.tif 000010
【図１０】
0006514503.tif 000011
【図１１】
0006514503.tif 000012
【図１２】
0006514503.tif 000013
【図１３】
0006514503.tif 000014
【図１４】
0006514503.tif 000015
【図１５】
0006514503.tif 000016
【図１６】
0006514503.tif 000017