(57)【要約】【課題】異なる言語に対応する複数のコーパスを混合した言語モデルの学習を実現する。【解決手段】サーバ２００は、学習データ２７４を生成する学習データ生成部２５０と、学習データ生成部２５０により生成された学習データ２７４を用いて言語モデル２７５の学習を行う言語モデル学習部２６０とを備える。学習データ生成部２５０による学習データ２７４の生成方法は、第１コーパス２７２から第１のデータを抽出し、第２コーパス２７３から第２のデータを抽出する。そして、これらのデータを学習データ２７４にそれぞれ登録することで、第１のデータと第２のデータとを混合して学習データ２７４を生成する。好ましくは、第２コーパス２７３は、第１コーパス２７２が対応する言語と文法的に共通の言語に対応する。【選択図】図１
2019095606.tif 000002
【特許請求の範囲】
【請求項１】
第１のコーパスと、前記第１のコーパスと言語的に類似する第２のコーパスとを用いて、言語モデルの学習を行うための学習データを生成する方法であって、
前記第１のコーパスから第１のデータを抽出し、
前記第２のコーパスから第２のデータを抽出し、
前記第１のデータと前記第２のデータとを混合して前記学習データを生成する、学習データ生成方法。
【請求項２】
請求項１に記載の学習データ生成方法において、
前記第２のコーパスは、前記第１のコーパスが対応する言語と文法的に共通の言語に対応する学習データ生成方法。
【請求項３】
請求項１または請求項２に記載の学習データ生成方法において、
前記第２のコーパスから抽出した前記第２のデータが所定の登録条件を満たすか否かを判定し、
前記登録条件を満たさないと判定した前記第２のデータを除外して前記学習データを生成する学習データ生成方法。
【請求項４】
請求項３に記載の学習データ生成方法において、
前記第２のデータは、発話文のテキストと、前記発話文に対応する発話者の意図とを含み、
前記登録条件は、前記第２のデータにおける前記意図が特定の意図分類に属することを含む学習データ生成方法。
【請求項５】
請求項３または請求項４に記載の学習データ生成方法において、
前記第２のデータは、発話文のテキストと、前記発話文に対応する発話者の意図とをそれぞれ含み、
前記登録条件は、前記第２のデータにおける前記意図と同じ意図を示す前記第１のコーパスのデータ数が所定値未満であることを含む学習データ生成方法。
【請求項６】
請求項３から請求項５までのいずれか一項に記載の学習データ生成方法において、
前記第２のデータは、発話文のテキストと、前記発話文に対応する発話者の意図とをそれぞれ含み、
前記登録条件は、前記第２のデータにおける前記テキストの形態素数が所定値未満であることを含む学習データ生成方法。
【請求項７】
請求項３から請求項６までのいずれか一項に記載の学習データ生成方法において、
前記第２のデータは、発話文のテキストと、前記発話文に対応する発話者の意図とをそれぞれ含み、
前記登録条件は、前記第２のデータにおける前記テキストの形態素と同じ意味を示す前記第１のコーパスの形態素の種類数が所定値未満であることを含む学習データ生成方法。
【請求項８】
請求項３から請求項６までのいずれか一項に記載の学習データ生成方法において、
前記第２のデータは、発話文のテキストと、前記発話文に対応する発話者の意図とをそれぞれ含み、
前記登録条件は、前記第２のデータにおける前記テキストの発音記号列に対する前記第１のコーパスの発音記号列の最小編集距離が所定値未満であることを含む学習データ生成方法。
【請求項９】
第１のコーパスと、前記第１のコーパスと言語的に類似する第２のコーパスとを用いて、言語モデルの学習を行うための学習データをコンピュータに生成させるプログラムであって、
前記第１のコーパスから第１のデータを抽出させる処理と、
前記第２のコーパスから第２のデータを抽出させる処理と、
前記第１のデータと前記第２のデータとを混合して前記学習データを生成させる処理と、を前記コンピュータに実行させる学習データ生成プログラム。
【請求項１０】
端末装置と通信可能なサーバであって、
請求項１から請求項８までのいずれか一項に記載の学習データ生成方法により生成された前記学習データを用いて、前記言語モデルの学習を行う言語モデル学習部と、
前記端末装置から送信された音声情報を受信する通信制御部と、
前記音声情報に基づく音声認識処理を実行する音声認識部と、
前記音声認識部による前記音声認識処理の結果に基づき、前記言語モデル学習部による学習が行われた前記言語モデルを用いてユーザの意図を推定する意図推定部と、を備え、
前記通信制御部は、前記意図推定部による前記ユーザの意図推定結果を示す意図推定情報を前記端末装置に送信するサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習データ生成方法、学習データ生成プログラムおよびサーバに関する。
【背景技術】
【０００２】
従来、ユーザから入力された音声信号をテキストに変換し、意図推定器によりテキストからユーザの意図を推定することで、ユーザの意図に応じた操作を実現する音声認識システムが知られている。こうした意図推定器では一般に、ユーザの使用言語に応じた言語データベースであるコーパスを利用して作成および学習された言語モデルを用いて、テキストに対応する意図推定が行われる。
【０００３】
上記のような意図推定器に関して、下記の特許文献１には、認識精度の高い音声認識システムの提供を目的として、複数のコーパスを混合して言語モデルの学習を行う言語モデル学習システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１０６８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された言語モデル学習システムでは、たとえば日本語など、同一言語に対応して用途の異なる複数のコーパスを混合することを前提としている。そのため、異なる言語に対応する複数のコーパスを混合して言語モデルの学習を行うことはできない。
【課題を解決するための手段】
【０００６】
本発明による学習データ生成方法は、第１のコーパスと、前記第１のコーパスと言語的に類似する第２のコーパスとを用いて、言語モデルの学習を行うための学習データを生成する方法であって、前記第１のコーパスから第１のデータを抽出し、前記第２のコーパスから第２のデータを抽出し、前記第１のデータと前記第２のデータとを混合して前記学習データを生成する。
本発明による学習データ生成プログラムは、第１のコーパスと、前記第１のコーパスと言語的に類似する第２のコーパスとを用いて、言語モデルの学習を行うための学習データをコンピュータに生成させるプログラムであって、前記第１のコーパスから第１のデータを抽出させる処理と、前記第２のコーパスから第２のデータを抽出させる処理と、前記第１のデータと前記第２のデータとを混合して前記学習データを生成させる処理と、を前記コンピュータに実行させる。
本発明によるサーバは、端末装置と通信可能なものであって、上記の学習データ生成方法により生成された前記学習データを用いて、前記言語モデルの学習を行う言語モデル学習部と、前記端末装置から送信された音声情報を受信する通信制御部と、前記音声情報に基づく音声認識処理を実行する音声認識部と、前記音声認識部による前記音声認識処理の結果に基づき、前記言語モデル学習部による学習が行われた前記言語モデルを用いてユーザの意図を推定する意図推定部と、を備え、前記通信制御部は、前記意図推定部による前記ユーザの意図推定結果を示す意図推定情報を前記端末装置に送信する。
【発明の効果】
【０００７】
本発明によれば、異なる言語に対応する複数のコーパスを混合した言語モデルの学習を実現できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る音声認識システムの構成を示す図
【図２】第１コーパスおよび第２コーパスの例を示す図
【図３】本発明の第１の実施形態に係る学習データの生成方法を示すフローチャート
【図４】本発明の第１の実施形態に係る学習データ生成部が生成した学習データの例を示す図
【図５】本発明の第２の実施形態に係る学習データの生成方法を示すフローチャート
【図６】本発明の第２の実施形態に係る学習データ生成部が生成した学習データの例を示す図
【図７】本発明の第３の実施形態に係る学習データの生成方法を示すフローチャート
【図８】本発明の第４の実施形態に係る学習データの生成方法を示すフローチャート
【図９】本発明の第５の実施形態に係る学習データの生成方法を示すフローチャート
【図１０】本発明の第６の実施形態に係る学習データの生成方法を示すフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下で説明する実施形態では、カーナビゲーションシステムに代表される車載端末を音声により操作するシステムを例として、本発明に係る音声認識システムを説明する。ただし、本発明は音声入力機能を有する他の装置やシステム、たとえば携帯電話、スマートフォン、ロボットなどにも適用できる。
【００１０】
図１は、本発明の一実施形態に係る音声認識システム１の構成を示す図である。図１に示す音声認識システム１は、端末装置１００とサーバ２００とが、通信端末３００および通信ネットワーク４００を介して接続されることで構成されている。通信端末３００は、携帯電話網やインターネット等の公衆通信回線を用いて構成された通信ネットワーク４００と接続可能であり、通信ネットワーク４００を介してサーバ２００との間で通信を行う。通信端末３００には、たとえば携帯電話やスマートフォンが用いられる。
【００１１】
端末装置１００は、たとえば車両に搭載されており、その機能として、音声区間検出部１１０、音声符号化部１２０、通信制御部１３０、演算部１４０および表示制御部１５０の各機能ブロックを備える。なお、端末装置１００は、たとえば不図示のＣＰＵやメモリ、記録媒体等を備えており、メモリや記録媒体に記憶された所定のプログラムをＣＰＵにおいて実行することで、これらの機能ブロックを実現することができる。
【００１２】
音声区間検出部１１０は、マイク１０を通してユーザから入力された音声を検出する。音声区間検出部１１０は、たとえばマイク１０から入力される音声信号から実際にユーザが発話している部分を抽出し、その部分の信号波形をサンプリングして音声データ化することで、ユーザの音声を検出する。
【００１３】
音声符号化部１２０は、音声区間検出部１１０で検出されたユーザの音声を、サーバ２００に送信するためのデータ形式に変換する。音声符号化部１２０は、たとえば音声区間検出部１１０から出力される音声データに対して所定の圧縮処理を行うことでデータ量を削減し、サーバ２００への送信に適した音声情報を生成する。
【００１４】
通信制御部１３０は、音声区間検出部１１０で検出されたユーザの音声に基づく音声情報、すなわち音声符号化部１２０で生成された音声情報を通信端末３００に出力し、通信端末３００および通信ネットワーク４００を介してサーバ２００に送信する。端末装置１００から音声情報が送信されると、サーバ２００はこれを用いてユーザの意図推定を行い、ユーザの意図推定結果を示す意図推定情報を送信する。サーバ２００から送信された意図推定情報は、通信ネットワーク４００を介して通信端末３００により受信され、通信端末３００から通信制御部１３０に出力される。通信制御部１３０は、サーバ２００から通信ネットワーク４００および通信端末３００を介して受信した意図推定情報を演算部１４０に出力する。
【００１５】
演算部１４０は、サーバ２００から受信した意図推定情報に基づき、ユーザの意図に応じた処理や演算を実行する。演算部１４０による処理や演算の実行結果は、表示制御部１５０を介してディスプレイ２０に表示され、ユーザに提示される。たとえば、ユーザの意図が特定の施設の検索であれば、演算部１４０が不図示の地図データを用いて当該施設の検索処理を行い、得られた検索結果を表示制御部１５０に出力する。表示制御部１５０は、演算部１４０から入力された検索結果に基づいて、ディスプレイ２０に表示された地図上に当該施設の位置を示すなどの方法により、当該施設の検索結果をユーザに提示する。これ以外にも、ユーザの意図に応じた様々な処理や演算を演算部１４０において実行し、ユーザに提示することができる。
【００１６】
サーバ２００は、端末装置１００から離れた場所に設置されており、通信制御部２１０、音声復号化部２２０、音声認識部２３０、意図推定部２４０、学習データ生成部２５０および言語モデル学習部２６０の各機能ブロックと、辞書データベース２７１、第１コーパス２７２、第２コーパス２７３、学習データ２７４および言語モデル２７５の各データベースとを備える。なお、サーバ２００は、たとえば不図示のＣＰＵやメモリ、記録媒体等を備えており、メモリや記録媒体に記憶された所定のプログラムをＣＰＵにおいて実行することで、上記の各機能ブロックを実現することができる。また、記録媒体内の所定の記憶領域を用いて、上記の各データベースを実現することができる。
【００１７】
通信制御部２１０は、端末装置１００から送信された音声情報を通信ネットワーク４００を介して受信する。また、受信した音声情報に基づいて意図推定部２４０が意図推定処理を実行し、その結果に基づく意図推定情報が意図推定部２４０から入力されると、通信ネットワーク４００を介して端末装置１００に送信する。通信制御部２１０は、通信ネットワーク４００と接続可能であり、通信ネットワーク４００および通信端末３００を介して端末装置１００との間で通信を行う。
【００１８】
音声復号化部２２０は、端末装置１００から送信された音声情報に基づき、ユーザの音声を復元する。音声復号化部２２０は、たとえば端末装置１００の音声符号化部１２０において圧縮された音声データを解凍することで、マイク１０を介して端末装置１００に入力されたユーザの音声を復元する。
【００１９】
音声認識部２３０は、サーバ２００に備えられている音声認識エンジンであり、端末装置１００から受信した音声情報に基づくユーザの音声を認識するための音声認識処理を実行する。音声認識部２３０が実行する音声認識処理では、辞書データベース２７１が用いられる。音声認識部２３０は、辞書データベース２７１を用いて、音声復号化部２２０から入力された音声データに対応するテキストを検索することで、ユーザの音声に対応するテキストを特定する。なお、辞書データベース２７１において予め複数の辞書データを登録しておき、この複数の辞書データのいずれかを用いて、音声認識部２３０がユーザの音声に対応するテキストを特定するようにしてもよい。具体的には、たとえば音声認識部２３０は、端末装置１００を用いてユーザに提供されるコンテンツの内容（たとえばナビゲーション情報、音楽再生等）や、端末装置１００が搭載されている車両の状態などに応じて、辞書データベース２７１に登録されている複数の辞書データの中から、ユーザが発する可能性の高い音声の種類に対応する辞書データを選択する。そして、選択した辞書データを用いて入力された音声データに対応するテキストを検索することで、ユーザの音声に対応するテキストを特定してもよい。音声認識部２３０による音声認識結果、すなわち音声認識部２３０で特定されたユーザの音声に対応するテキストは、意図推定部２４０に出力される。
【００２０】
意図推定部２４０は、音声認識部２３０で得られた音声認識結果に基づき、言語モデル２７５を用いて、マイク１０から入力された音声に対するユーザの意図を推定するための意図推定処理を実行する。言語モデル２７５は、ユーザの使用言語における様々な発話文と意図との関係を示したデータベースであり、言語モデル学習部２６０が学習データ２７４を統計処理することによって作成されたものである。意図推定部２４０は、音声認識結果が示すテキストに対応する発話文を言語モデル２７５から検索することで、その発話文に対応するユーザの意図を推定することができる。たとえば、音声認識結果として得られたテキストが施設の検索を示唆するものであれば、ユーザの意図が「施設検索」であると推定する。同様にして、たとえば「電話発信」、「オーディオ再生」などのユーザの意図を推定することができる。意図推定部２４０によるユーザの意図推定結果を示す意図推定情報は、意図推定部２４０から通信制御部２１０に出力され、通信制御部２１０によって端末装置１００に送信されると共に、言語モデル学習部２６０にも出力される。
【００２１】
学習データ生成部２５０は、第１コーパス２７２および第２コーパス２７３を用いて学習データ２７４を生成する。第１コーパス２７２および第２コーパス２７３は、ユーザの使用言語に応じて予め収集された様々な発話文と意図との関係を示した多数のサンプリングデータによってそれぞれ構成されたデータベースである。学習データ生成部２５０は、第１コーパス２７２および第２コーパス２７３からそれぞれ所定の条件を満たすサンプリングデータを抽出して学習データ２７４に登録することで、第１コーパス２７２と第２コーパス２７３を組み合わせて学習データ２７４を生成することができる。なお、学習データ生成部２５０による学習データ２７４の生成方法の詳細については、後で説明する。
【００２２】
言語モデル学習部２６０は、学習データ２７４に基づいて言語モデル２７５を生成すると共に、意図推定部２４０から入力された意図推定情報に基づいて言語モデル２７５の学習を行う。言語モデル２７５の学習では、言語モデル学習部２６０は、意図推定部２４０から入力された意図推定情報が示すユーザの意図推定結果を反映して学習データ２７４を統計処理し、その処理結果に基づいて既存の言語モデル２７５を更新する。これにより、ユーザの発話履歴に応じて言語モデル２７５の内容を逐次更新し、意図推定部２４０によるユーザ意図の推定精度を向上させるようにする。
【００２３】
図２は、学習データ生成部２５０が行う学習データ２７４の生成において用いられる第１コーパス２７２および第２コーパス２７３の例を示す図である。図２に示すように、たとえば第１コーパス２７２および第２コーパス２７３は、不特定多数者への聞き取り調査等によって予め収集された複数のサンプルデータを示す複数のレコードによりそれぞれ構成されており、データＩＤ２８１、発話文２８２、意図２８３、スロット２８４の各フィールドをそれぞれ有する。
【００２４】
データＩＤ２８１は、第１コーパス２７２、第２コーパス２７３の各レコードを識別するためのＩＤ番号である。データＩＤ２８１には、レコードごとに固有の値が格納されている。発話文２８２には、各サンプルデータにおける具体的な発話文の内容を示すテキスト（文字列）が格納される。なお、発話文２８２に格納されるテキストは一般に、第１コーパス２７２や第２コーパス２７３がそれぞれ対応する言語の特徴を強く反映したものである。意図２８３には、各サンプルデータの発話文に対する発話者の意図を示す情報が格納される。スロット２８４には、意図２８３が示す発話者の意図を補完する情報が必要に応じて格納される。
【００２５】
第１コーパス２７２、第２コーパス２７３は、以上説明した各フィールドの情報を有するレコードをそれぞれ多数保有している。これにより、対応する言語での様々な発話文に対して、発話者がどのような意図で発話したものであるかを示している。たとえば、データＩＤ２８１の値がＩＤ＝００１のレコードは、発話者が「スキー場に行きたい」という発話文を発話した場合、その発話者は「スキー場の検索」という意図で当該発話を行ったことを示している。
【００２６】
次に、学習データ生成部２５０による学習データ２７４の生成方法の詳細について説明する。本実施形態の音声認識システム１は、それぞれ異なる言語に対応する第１コーパス２７２と第２コーパス２７３を様々な方法で組み合わせることにより、言語モデル２７５の学習に用いられる学習データ２７４を生成することを特徴としている。以下では、学習データ生成部２５０による第１コーパス２７２と第２コーパス２７３の様々な組み合わせ方法を、第１〜第６の実施形態としてそれぞれ説明する。
【００２７】
なお、以下の各実施形態では、第１コーパス２７２が対応する言語を「言語Ａ」、第２コーパス２７３が対応する言語を「言語Ｂ」として説明する。すなわち、第１コーパス２７２が有する各サンプルデータは、言語Ａでの発話文と意図の関係を表しており、第２コーパス２７３が有する各サンプルデータは、言語Ｂでの発話文と意図の関係を表している。ここで、上記の言語Ａと言語Ｂとは、言語的に互いに類似しているものとする。言語的な類似とは、たとえば、両言語間で使用される単語には差異があるものの、文法的には言語Ａと言語Ｂが共通であることを意味する。こうした言語Ａと言語Ｂの具体例としては、たとえばアメリカ英語とイギリス英語や、スペイン語とメキシコスペイン語などが該当する。また、同じ言語に属する方言や、発話者の年代に応じた言い回しの差異などを含めてもよい。
【００２８】
（第１の実施形態）
本実施形態では、第１コーパス２７２と第２コーパス２７３をそのまま組み合わせて、学習データ２７４を生成する例を説明する。
【００２９】
図３は、本発明の第１の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図３のフローチャートに従って学習データ２７４の生成処理を行う。
【００３０】
ステップＳ１０１において、学習データ生成部２５０は、第１コーパス２７２に含まれる複数のサンプルデータのうちいずれかを抽出することで、言語Ａのサンプルデータを第１コーパス２７２から抽出する。ステップＳ１０２において、学習データ生成部２５０は、ステップＳ１０１で抽出した言語Ａのサンプルデータを学習データ２７４に登録する。
【００３１】
ステップＳ１０３において、学習データ生成部２５０は、ステップＳ１０１で第１コーパス２７２に含まれる全てのサンプルデータを抽出済みであるか否かを判定する。第１コーパス２７２において未抽出のサンプルデータが残っている場合は、ステップＳ１０１に戻ってサンプルデータの抽出を続ける。一方、全てのサンプルデータを第１コーパス２７２から抽出済みである場合は、処理をステップＳ１０４に進める。
【００３２】
ステップＳ１０４において、学習データ生成部２５０は、第２コーパス２７３に含まれる複数のサンプルデータのうちいずれかを抽出することで、言語Ｂのサンプルデータを第２コーパス２７３から抽出する。ステップＳ１０５において、学習データ生成部２５０は、ステップＳ１０４で抽出した言語Ｂのサンプルデータを学習データ２７４に登録する。
【００３３】
ステップＳ１０６において、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３に含まれる全てのサンプルデータを抽出済みであるか否かを判定する。第２コーパス２７３において未抽出のサンプルデータが残っている場合は、ステップＳ１０４に戻ってサンプルデータの抽出を続ける。一方、全てのサンプルデータを第２コーパス２７３から抽出済みである場合は、図３の処理フローを終了する。
【００３４】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータとを混合して、学習データ２７４を生成することができる。
【００３５】
図４は、本発明の第１の実施形態に係る学習データ生成部２５０が生成した学習データ２７４の例を示す図である。図４に示すように、たとえば学習データ２７４は、データＩＤ２９１、発話文２９２、意図２９３、スロット２９４の各フィールドをそれぞれ有する。これらの各フィールドに格納される情報は、図２に例示した第１コーパス２７２および第２コーパス２７３におけるデータＩＤ２８１、発話文２８２、意図２８３、スロット２８４の各フィールドに格納される情報とそれぞれ対応している。
【００３６】
図４の学習データ２７４の例では、第１コーパス２７２から抽出したサンプルデータに対応する各レコードについては、発話文２９２の内容を「Ｔａ１」〜「Ｔａ７」、意図２９３の内容を「Ｉａ１」〜「Ｉａ７」、スロット２９４の内容を「Ｓａ１」〜「Ｓａ７」でそれぞれ示している。すなわち、データＩＤ２９１の値がＩＤ＝００１〜００７のレコードは、第１コーパス２７２から抽出したサンプルデータに相当する。一方、第２コーパス２７３から抽出したサンプルデータに対応する各レコードについては、発話文２９２の内容を「Ｔｂ１」〜「Ｔｂ７」、意図２９３の内容を「Ｉｂ１」〜「Ｉｂ７」、スロット２９４の内容を「Ｓｂ１」〜「Ｓｂ７」でそれぞれ示している。すなわち、データＩＤ２９１の値がＩＤ＝００８〜０１４のレコードは、第２コーパス２７３から抽出したサンプルデータに相当する。
【００３７】
以上説明した本発明の第１の実施形態によれば、以下の作用効果を奏する。
【００３８】
（１）学習データ生成部２５０による学習データ２７４の生成方法は、第１コーパス２７２から第１のデータを抽出し（ステップＳ１０１）、第２コーパス２７３から第２のデータを抽出する（ステップＳ１０４）。そして、これらのデータを学習データ２７４にそれぞれ登録することで（ステップＳ１０２、Ｓ１０５）、第１のデータと第２のデータとを混合して学習データ２７４を生成する。このようにしたので、異なる言語に対応する複数のコーパスを混合した言語モデルの学習を実現できる。
【００３９】
（２）第２コーパス２７３は、第１コーパス２７２が対応する言語と文法的に共通の言語に対応する。このようにしたので、言語的に類似する二つのコーパスを利用して学習データ２７４を充実させることができ、その結果、第１コーパス２７２のサンプルデータ数が少ない場合でも、ユーザ意図の推定精度を向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００４０】
（３）端末装置１００と通信可能なサーバ２００は、学習データ生成部２５０により生成された学習データ２７４を用いて言語モデル２７５の学習を行う言語モデル学習部２６０と、端末装置１００から送信された音声情報を受信する通信制御部２１０と、この音声情報に基づく音声認識処理を実行する音声認識部２３０と、音声認識部２３０による音声認識処理の結果に基づき、言語モデル学習部２６０による学習が行われた言語モデル２７５を用いてユーザの意図を推定する意図推定部２４０とを備える。通信制御部２１０は、意図推定部２４０によるユーザの意図推定結果を示す意図推定情報を端末装置１００に送信する。このようにしたので、異なる言語に対応する複数のコーパスを混合して学習された言語モデル２７５を用いてユーザの意図を高精度で推定し、その推定結果を端末装置１００において利用することができる。
【００４１】
（第２の実施形態）
本実施形態では、特定の意図分類に属するサンプルデータを第２コーパス２７３から抽出し、第１コーパス２７２と組み合わせて学習データ２７４を生成する例を説明する。
【００４２】
図５は、本発明の第２の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図５のフローチャートに従って学習データ２７４の生成処理を行う。なお、図５のフローチャートにおいて、第１の実施形態で説明した図３のフローチャートと共通する部分には同一のステップ番号を付している。以下では、この図３と共通の部分については、特に必要のない限り説明を省略する。
【００４３】
ステップＳ１０４の実行後、学習データ生成部２５０はステップＳ１０４Ａの処理を実行する。ステップＳ１０４Ａにおいて、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３から抽出した言語Ｂのサンプルデータにおける意図が特定の意図分類に属するか否かを判定する。ここでは、抽出したサンプルデータの意図２８３を参照し、意図２８３で示された発話者の意図が、特定の意図分類として予め設定された意図のグループに含まれているか否かを判定する。その結果、特定の意図分類に属すると判定した場合は処理をステップＳ１０５に進め、当該サンプルデータを学習データ２７４に登録する。一方、特定の意図分類に属しないと判定した場合は処理をステップＳ１０６に進め、当該サンプルデータを学習データ２７４から除外して登録しないようにする。
【００４４】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータのうち所定の登録条件、すなわち当該サンプルデータにおける意図が特定の意図分類に属するという条件を満たすものとを混合して、学習データ２７４を生成することができる。
【００４５】
図６は、本発明の第２の実施形態に係る学習データ生成部２５０が生成した学習データ２７４の例を示す図である。図６に示す学習データ２７４では、図４に示した第１の実施形態における学習データ２７４と比較して、発話文２９２が「Ｔｂ３」、意図２９３が「Ｉｂ３」、スロット２９４が「Ｓｂ３」であるレコードと、発話文２９２が「Ｔｂ５」、意図２９３が「Ｉｂ５」、スロット２９４が「Ｓｂ５」であるレコードとが含まれていない。すなわち、これらのレコードに対応する言語Ｂのサンプルデータは、特定の意図分類に属するという本実施形態の登録条件を満たさないと判断されたため、図６の学習データ２７４から除外されている。
【００４６】
以上説明した本発明の第２の実施形態によれば、第１の実施形態で説明した（１）〜（３）に加えて、さらに以下の作用効果を奏する。
【００４７】
（４）学習データ生成部２５０による学習データ２７４の生成方法は、第２コーパス２７３から抽出した第２のデータが所定の登録条件を満たすか否かを判定し（ステップＳ１０４Ａ）、登録条件を満たさないと判定した第２のデータを除外して学習データ２７４を生成する。すなわち、第２コーパス２７３から抽出した第２のデータは、発話文のテキストを示す発話文２８２のフィールドと、発話文に対応する発話者の意図を示す意図２８３のフィールドとを含み、登録条件は、第２のデータにおける意図が特定の意図分類に属することを含む。このようにしたので、第２コーパス２７３のうち特定の意図分類に属するデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。
【００４８】
一般に、類似する言語間であっても発話者の意図によっては、言語ごとに発話文が大きく異なることがある。たとえば、使用される地域が異なる言語において地域ごとに特有の施設を検索する意図で行われる発話では、発話文の中に施設名が含まれるため、類似する言語間でも発話文の内容が異なることが多い。そこで、このように言語間で発話文の表現に多様性が生じやすい意図については登録条件から除外し、そうではない意図、すなわち発話文の表現に多様性が少ない意図を登録条件として設定しておくことにより、第２コーパス２７３のうちで適切なデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。その結果、ユーザ意図の推定精度をさらに向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００４９】
（第３の実施形態）
本実施形態では、第１コーパス２７２で同じ意図のデータが少ないサンプルデータを第２コーパス２７３から抽出し、第１コーパス２７２と組み合わせて学習データ２７４を生成する例を説明する。
【００５０】
図７は、本発明の第３の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図７のフローチャートに従って学習データ２７４の生成処理を行う。なお、図７のフローチャートにおいて、第１の実施形態で説明した図３のフローチャートと共通する部分には同一のステップ番号を付している。以下では、この図３と共通の部分については、特に必要のない限り説明を省略する。
【００５１】
ステップＳ１０４の実行後、学習データ生成部２５０はステップＳ１０４Ｂ、Ｓ１０４Ｃの処理を実行する。ステップＳ１０４Ｂにおいて、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３から抽出した言語Ｂのサンプルデータにおける意図に対して、第１コーパス２７２で同じ意図を示すサンプルデータの数を算出する。ここでは、抽出したサンプルデータの意図２８３を参照し、意図２８３で示された発話者の意図と同じ内容が意図２８３に格納されているサンプルデータを第１コーパス２７２において特定する。そして、特定したサンプルデータの数を数えることにより、第２コーパス２７３から抽出した当該サンプルデータに対して第１コーパス２７２で同じ意図を示すサンプルデータの数を算出する。ステップＳ１０４Ｃにおいて、学習データ生成部２５０は、ステップＳ１０４Ｂで算出したサンプルデータ数が所定値未満であるか否かを判定する。その結果、所定値未満であると判定した場合は処理をステップＳ１０５に進め、当該サンプルデータを学習データ２７４に登録する。一方、所定値以上であると判定した場合は処理をステップＳ１０６に進め、当該サンプルデータを学習データ２７４から除外して登録しないようにする。
【００５２】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータのうち所定の登録条件、すなわち当該サンプルデータにおける意図と同じ意図を示す第１コーパス２７２のデータ数が所定値未満であるという条件を満たすものとを混合して、学習データ２７４を生成することができる。
【００５３】
以上説明した本発明の第３の実施形態によれば、第１の実施形態で説明した（１）〜（３）に加えて、さらに以下の作用効果を奏する。
【００５４】
（５）学習データ生成部２５０による学習データ２７４の生成方法は、第２コーパス２７３から抽出した第２のデータが所定の登録条件を満たすか否かを判定し（ステップＳ１０４Ｂ、Ｓ１０４Ｃ）、登録条件を満たさないと判定した第２のデータを除外して学習データ２７４を生成する。すなわち、第２コーパス２７３から抽出した第２のデータは、発話文のテキストを示す発話文２８２のフィールドと、発話文に対応する発話者の意図を示す意図２８３のフィールドとを含み、登録条件は、第２のデータにおける意図と同じ意図を示す第１コーパス２７２のデータ数が所定値未満であることを含む。このようにしたので、第２コーパス２７３のうち第１コーパス２７２で同じ意図のデータが少ないデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。
【００５５】
一般に、コーパスは不特定多数者への聞き取り調査等によって収集された情報により構成されるため、意図によっては必要な数の発話文が事前に収集できず、第１コーパス２７２において十分な数のサンプルデータが存在しないことがある。そこで、第１コーパス２７２で同じ意図のデータ数が所定値未満であることを登録条件として設定しておくことにより、第２コーパス２７３のうちで適切なデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。その結果、ユーザ意図の推定精度をさらに向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００５６】
（第４の実施形態）
本実施形態では、発話文が短いサンプルデータを第２コーパス２７３から抽出し、第１コーパス２７２と組み合わせて学習データ２７４を生成する例を説明する。
【００５７】
図８は、本発明の第４の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図８のフローチャートに従って学習データ２７４の生成処理を行う。なお、図８のフローチャートにおいて、第１の実施形態で説明した図３のフローチャートと共通する部分には同一のステップ番号を付している。以下では、この図３と共通の部分については、特に必要のない限り説明を省略する。
【００５８】
ステップＳ１０４の実行後、学習データ生成部２５０はステップＳ１０４Ｄ、Ｓ１０４Ｅの処理を実行する。ステップＳ１０４Ｄにおいて、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３から抽出した言語Ｂのサンプルデータにおける発話文の形態素数を算出する。ここでは、抽出したサンプルデータの発話文２８２を参照し、発話文２８２で示されたテキストを一つまたは複数の形態素（意味を持つ表現要素の最小単位）に分解して、その数を算出する。なお、各サンプルデータにおける発話文の形態素数の情報を第２コーパス２７３に予め記憶させておき、その情報を取得することでステップＳ１０４Ｄの処理を実行してもよい。ステップＳ１０４Ｅにおいて、学習データ生成部２５０は、ステップＳ１０４Ｄで算出した形態素数が所定値未満であるか否かを判定する。その結果、所定値未満であると判定した場合は処理をステップＳ１０５に進め、当該サンプルデータを学習データ２７４に登録する。一方、所定値以上であると判定した場合は処理をステップＳ１０６に進め、当該サンプルデータを学習データ２７４から除外して登録しないようにする。
【００５９】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータのうち所定の登録条件、すなわち当該サンプルデータにおける発話文のテキストの形態素数が所定値未満であるという条件を満たすものとを混合して、学習データ２７４を生成することができる。
【００６０】
以上説明した本発明の第４の実施形態によれば、第１の実施形態で説明した（１）〜（３）に加えて、さらに以下の作用効果を奏する。
【００６１】
（６）学習データ生成部２５０による学習データ２７４の生成方法は、第２コーパス２７３から抽出した第２のデータが所定の登録条件を満たすか否かを判定し（ステップＳ１０４Ｄ、Ｓ１０４Ｅ）、登録条件を満たさないと判定した第２のデータを除外して学習データ２７４を生成する。すなわち、第２コーパス２７３から抽出した第２のデータは、発話文のテキストを示す発話文２８２のフィールドと、発話文に対応する発話者の意図を示す意図２８３のフィールドとを含み、登録条件は、第２のデータにおける発話文のテキストの形態素数が所定値未満であることを含む。このようにしたので、第２コーパス２７３のうち発話文が短いデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。
【００６２】
一般に、発話文が長ければ長いほど、発話文の表現に多様性が生じやすくなる。そこで、発話文の長さをテキストの形態素数で規定し、テキストの形態素数が所定値未満であることを登録条件として設定しておくことにより、第２コーパス２７３のうちで適切なデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。その結果、ユーザ意図の推定精度をさらに向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００６３】
（第５の実施形態）
本実施形態では、第１コーパス２７２で同じ意味を表す発話文の種類が少ないサンプルデータを第２コーパス２７３から抽出し、第１コーパス２７２と組み合わせて学習データ２７４を生成する例を説明する。
【００６４】
図９は、本発明の第５の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図９のフローチャートに従って学習データ２７４の生成処理を行う。なお、図９のフローチャートにおいて、第１の実施形態で説明した図３のフローチャートと共通する部分には同一のステップ番号を付している。以下では、この図３と共通の部分については、特に必要のない限り説明を省略する。
【００６５】
ステップＳ１０４の実行後、学習データ生成部２５０はステップＳ１０４Ｆ、Ｓ１０４Ｇ、Ｓ１０４Ｈの処理を実行する。ステップＳ１０４Ｆにおいて、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３から抽出した言語Ｂのサンプルデータにおける発話文の形態素を抽出する。ここでは、抽出したサンプルデータの発話文２８２を参照し、発話文２８２で示されたテキストを一つまたは複数の形態素に分解する。ステップＳ１０４Ｇにおいて、学習データ生成部２５０は、ステップＳ１０４Ｆで抽出した各形態素に対して、第１コーパス２７２で同じ意味の形態素の種類数を算出する。ここでは、抽出した各形態素と同じ意味を持つ形態素を含むテキストが発話文２８２に格納されているサンプルデータを第１コーパス２７２において特定する。そして、特定したサンプルデータにおける形態素の種類数、すなわち同じ意味を持つ形態素が何種類あるかを数えることにより、第２コーパス２７３から抽出した当該サンプルデータに対して第１コーパス２７２で同じ意味を持つ形態素の種類数を算出する。ステップＳ１０４Ｈにおいて、学習データ生成部２５０は、ステップＳ１０４Ｇで算出した形態素の種類数が所定値未満であるか否かを判定する。その結果、所定値未満であると判定した場合は処理をステップＳ１０５に進め、当該サンプルデータを学習データ２７４に登録する。一方、所定値以上であると判定した場合は処理をステップＳ１０６に進め、当該サンプルデータを学習データ２７４から除外して登録しないようにする。
【００６６】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータのうち所定の登録条件、すなわち当該サンプルデータにおける発話文のテキストの形態素と同じ意味を示す第１コーパス２７２の形態素の種類数が所定値未満であるという条件を満たすものとを混合して、学習データ２７４を生成することができる。
【００６７】
以上説明した本発明の第５の実施形態によれば、第１の実施形態で説明した（１）〜（３）に加えて、さらに以下の作用効果を奏する。
【００６８】
（７）学習データ生成部２５０による学習データ２７４の生成方法は、第２コーパス２７３から抽出した第２のデータが所定の登録条件を満たすか否かを判定し（ステップＳ１０４Ｆ、Ｓ１０４Ｇ、Ｓ１０４Ｈ）、登録条件を満たさないと判定した第２のデータを除外して学習データ２７４を生成する。すなわち、第２コーパス２７３から抽出した第２のデータは、発話文のテキストを示す発話文２８２のフィールドと、発話文に対応する発話者の意図を示す意図２８３のフィールドとを含み、登録条件は、第２のデータにおける発話文のテキストの形態素と同じ意味を示す第１コーパス２７２の形態素の種類数が所定値未満であることを含む。このようにしたので、第２コーパス２７３のうち第１コーパス２７２で同じ意味を表す発話文の種類が少ないデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。
【００６９】
一般に、コーパスは不特定多数者への聞き取り調査等によって収集された情報により構成されるため、発話文の内容によっては多様な表現の発話文が事前に収集できず、第１コーパス２７２において十分な種類数の発話文が存在しないことがある。そこで、発話文の表現の多様性をテキストの形態素の種類数で規定し、第１コーパス２７２で同じ意味を持つ形態素の種類数が所定値未満であることを登録条件として設定しておくことにより、第２コーパス２７３のうちで適切なデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。その結果、ユーザ意図の推定精度をさらに向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００７０】
（第６の実施形態）
本実施形態では、第１コーパス２７２と発話文の発音が近いサンプルデータを第２コーパス２７３から抽出し、第１コーパス２７２と組み合わせて学習データ２７４を生成する例を説明する。
【００７１】
図１０は、本発明の第６の実施形態に係る学習データ２７４の生成方法を示すフローチャートである。サーバ２００の学習データ生成部２５０は、たとえばＣＰＵにおいて所定のプログラムを実行することにより、図１０のフローチャートに従って学習データ２７４の生成処理を行う。なお、図１０のフローチャートにおいて、第１の実施形態で説明した図３のフローチャートと共通する部分には同一のステップ番号を付している。以下では、この図３と共通の部分については、特に必要のない限り説明を省略する。
【００７２】
ステップＳ１０４の実行後、学習データ生成部２５０はステップＳ１０４Ｉ、Ｓ１０４Ｊ、Ｓ１０４Ｋの処理を実行する。ステップＳ１０４Ｉにおいて、学習データ生成部２５０は、ステップＳ１０４で第２コーパス２７３から抽出した言語Ｂのサンプルデータにおける発話文の発音記号列を抽出する。ここでは、抽出したサンプルデータの発話文２８２を参照し、発話文２８２で示されたテキストを発音記号列に変換する。ステップＳ１０４Ｊにおいて、学習データ生成部２５０は、ステップＳ１０４Ｉで抽出した発音記号列に対して、第１コーパス２７２の発音記号列の最小編集距離を算出する。ここでは、抽出したサンプルデータの意図２８３の内容と第１コーパス２７２の各サンプルデータの意図２８３の内容とを比較し、これらが一致するサンプルデータを第１コーパス２７２において特定する。そして、特定した各サンプルデータの発話文２８２を参照し、発話文２８２で示されたテキストを発音記号列に変換して、ステップＳ１０４Ｉで抽出した発音記号列に対する編集距離をそれぞれ算出する。ここでいう編集距離とは、二つの発音記号列間の類似度を表す指標であり、たとえば一方の発音記号列を発音記号単位で何回変化させると他方の発音記号列に一致するかの回数で表される。こうして第１コーパス２７２で特定した各サンプルデータについて、第２コーパス２７３から抽出したサンプルデータに対する編集距離を算出したら、その中で最も値が小さい編集距離を第１コーパス２７２の発音記号列の最小編集距離として決定する。ステップＳ１０４Ｋにおいて、学習データ生成部２５０は、ステップＳ１０４Ｊで算出した最小編集距離が所定値未満であるか否かを判定する。その結果、所定値未満であると判定した場合は処理をステップＳ１０５に進め、当該サンプルデータを学習データ２７４に登録する。一方、所定値以上であると判定した場合は処理をステップＳ１０６に進め、当該サンプルデータを学習データ２７４から除外して登録しないようにする。
【００７３】
学習データ生成部２５０は、以上説明した処理を実行することにより、第１コーパス２７２から抽出したサンプルデータと、第２コーパス２７３から抽出したサンプルデータのうち所定の登録条件、すなわち当該サンプルデータにおける発話文のテキストの発音記号列に対する第１コーパス２７２の発音記号列の最小編集距離が所定値未満であるという条件を満たすものとを混合して、学習データ２７４を生成することができる。
【００７４】
以上説明した本発明の第６の実施形態によれば、第１の実施形態で説明した（１）〜（３）に加えて、さらに以下の作用効果を奏する。
【００７５】
（８）学習データ生成部２５０による学習データ２７４の生成方法は、第２コーパス２７３から抽出した第２のデータが所定の登録条件を満たすか否かを判定し（ステップＳ１０４Ｉ、Ｓ１０４Ｊ、Ｓ１０４Ｋ）、登録条件を満たさないと判定した第２のデータを除外して学習データ２７４を生成する。すなわち、第２コーパス２７３から抽出した第２のデータは、発話文のテキストを示す発話文２８２のフィールドと、発話文に対応する発話者の意図を示す意図２８３のフィールドとを含み、登録条件は、第２のデータにおける発話文のテキストの発音記号列に対する第１コーパス２７２の発音記号列の最小編集距離が所定値未満であることを含む。このようにしたので、第２コーパス２７３のうち第１コーパス２７２と発話文の発音が近いデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。
【００７６】
言語によっては、同じ意味の発話文であっても語尾や助詞の組み合わせが多数存在し、そのため発音の多様性が高いことがある。そこで、発話文の発音の多様性を発音記号列の編集距離で規定し、第１コーパス２７２の発音記号列の最小編集距離が所定値未満であることを登録条件として設定しておくことにより、第２コーパス２７３のうちで適切なデータのみを第１コーパス２７２と混合して学習データ２７４を生成することができる。その結果、ユーザ意図の推定精度をさらに向上させる言語モデルの学習に寄与する学習データ２７４を生成することが可能となる。
【００７７】
なお、以上説明した第３〜第６の各実施形態では、ステップＳ１０４Ｃ、Ｓ１０４Ｅ、Ｓ１０４Ｈ、Ｓ１０４Ｋの各判定における閾値としての所定値を、第２コーパス２７３から抽出したサンプルデータに応じて変化させてもよい。たとえば、第４の実施形態におけるステップＳ１０４Ｅの閾値を、ステップＳ１０４で抽出したサンプルデータの意図２８３で示された意図に応じて変化させることができる。このようにすれば、第２コーパス２７３から抽出したサンプルデータの登録条件を柔軟に設定することが可能となる。
【００７８】
また、以上説明した第２〜第６の各実施形態は、それぞれ任意に組み合わせて適用することも可能である。たとえば、第４の実施形態と第５の実施形態とを組み合わせて、発話文の形態素の数だけでなく、形態素の種類についても考慮して、第２コーパス２７３のうちで第１コーパス２７２と混合するサンプルデータを選択してもよい。
【００７９】
以上説明した実施形態や変形例はあくまで一例である。本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。
【符号の説明】
【００８０】
１：音声認識システム、１０：マイク、２０：ディスプレイ、１００：端末装置、１１０：音声区間検出部、１２０：音声符号化部、１３０：通信制御部、１４０：演算部、１５０：表示制御部、２００：サーバ、２１０：通信制御部、２２０：音声復号化部、２３０：音声認識部、２４０：意図推定部、２５０：学習データ生成部、２６０：言語モデル学習部、２７１：辞書データベース、２７２：第１コーパス、２７３：第２コーパス、２７４：学習データ、２７５：言語モデル、３００：通信端末、４００：通信ネットワーク
【図１】
2019095606.tif 000003
【図２】
2019095606.tif 000004
【図３】
2019095606.tif 000005
【図４】
2019095606.tif 000006
【図５】
2019095606.tif 000007
【図６】
2019095606.tif 000008
【図７】
2019095606.tif 000009
【図８】
2019095606.tif 000010
【図９】
2019095606.tif 000011
【図１０】
2019095606.tif 000012