(57)【要約】本発明は言語モデルの訓練方法及び装置、機器を提供する。前記方法は、オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することと、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することと、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することと、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することとを含む。上記方法は、従来技術におけるオフラインで取得される言語モデルの新たなコーパスに対するカバーが悪く、言語認識率が低下してしまう問題を解決する。【選択図】図１
2018502344.tif 000002
【特許請求の範囲】
【請求項１】
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することとを含むことを特徴とする言語モデルの訓練方法。
【請求項２】
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することは、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得することと、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであることを特徴とする請求項１に記載の方法。
【請求項４】
オフライン訓練方式を用いて汎用言語モデルを取得することは、
各分野のモデル訓練コーパスを収集することと、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得することと、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することとを含むことを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項５】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得することと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することとを含むことを特徴とする請求項４に記載の方法。
【請求項６】
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択することと、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードすることと、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化することと、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップすることと、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返すこととを含み、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下であることを特徴とするデコーダークラスターにおける言語モデル更新方法。
【請求項７】
少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動することをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
オフライン訓練方式を用いて汎用言語モデルを取得するための汎用言語モデル取得ユニットと、
前記汎用言語モデルを切り取り、切り取った後の言語モデルを取得するための切り取りユニットと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得するためのログ言語モデル取得ユニットと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得するための第１補間合併ユニットと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得するための第２補間合併ユニットとを備えることを特徴とする言語モデルの訓練装置。
【請求項９】
前記ログ言語モデル取得ユニットは、具体的には、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することに用いられることを特徴とする請求項８に記載の装置。
【請求項１０】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであることを特徴とする請求項８に記載の装置。
【請求項１１】
前記汎用言語モデル取得ユニットは、具体的には、
各分野のモデル訓練コーパスを収集し、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することに用いられることを特徴とする請求項８〜１０のいずれか１項に記載の装置。
【請求項１２】
前記切り取りユニットは、具体的には、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することに用いられることを特徴とする請求項１１に記載の装置。
【請求項１３】
請求項８〜請求項１２のいずれか１項に記載の言語モデルの訓練装置を備えることを特徴とする機器。
【請求項１４】
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられることを特徴とする言語モデルの訓練装置。
【請求項１５】
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むことを特徴とするコンピュータプログラム。
【請求項１６】
請求項１５に記載のコンピュータプログラムを記憶する記憶媒体。
【請求項１７】
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられることを特徴とするデコーダークラスターにおける言語モデル更新装置。
【請求項１８】
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むことを特徴とするコンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムを記憶する記憶媒体。
【発明の詳細な説明】
【相互参照】
【０００１】
本願は２０１５年１０月２９日に提出された特許名称が「言語モデルの訓練方法及び装置、機器」である中国特許出願第２０１５１０７１９２４３５号を引用し、そのすべての内容を援用によって本願に組み込む。
【技術分野】
【０００２】
本発明の実施例は自然言語処理技術に関し、特に言語モデルの訓練方法及び装置、機器に関する。
【背景技術】
【０００３】
言語モデル（Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌ、ＬＭ）は指定した単語列の言語における出現確率を記述できる分布を作成することを目的とする。すなわち、言語モデルは語彙確率分布を記述するモデルであり、言語認識時の言葉の確率分布を確実に反映できるモデルである。
【０００４】
言語モデル技術は機械学習、手書き認識、音声認識等の分野で幅広く用いられている。例えば、言語モデルを利用することで、音声認識における複数種の単語列のうち可能性が最も高い単語列を得、或いはいくつかの単語を指定して、次の出現する可能性が最も高い単語を予測すること等ができる。
【０００５】
現在、一般的な言語モデル訓練方法はいずれもオフラインで汎用言語モデルを取得し、且つ汎用言語モデルを利用して、いくつかの人名、地名等のようなモデルとオフライン補間を行い、それにより、訓練済みの言語モデルを取得し、これらの言語モデルはリアルタイムでオンラインのログ更新方式をカバーしていないため、使用過程において、新たなコーパス（例えば新しい単語、ホットワード等）に対するカバーが悪くて、言語認識率が低下してしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術の欠陥に対して、本発明の実施例は、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決するための言語モデルの訓練方法及び装置、機器を提供する。
【課題を解決するための手段】
【０００７】
本発明の実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することとを含む言語モデルの訓練方法を提供する。
【０００８】
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することは、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得することと、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することとを含んでもよい。
【０００９】
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することは、
補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することを含み、
及び／又は、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することは、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することを含んでもよい。
【００１０】
補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行う前、さらに、
所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得することを含み、
相応的に、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行うとは、具体的には、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、
及び／又は、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行う前、さらに、
所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得することを含み、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行うとは、具体的には、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行ってもよい。
【００１１】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであってもよい。
【００１２】
オフライン訓練方式を用いて汎用言語モデルを取得することは、
各分野のモデル訓練コーパスを収集することと、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得することと、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することとを含んでもよい。
【００１３】
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することは、
最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成することを含んでもよい。
【００１４】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得することと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することとを含んでもよい。
【００１５】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、前記言語モデル２ ＬＭ２の規模が前記第１のパープレキシティ値の変動範囲にマッチングすることと、
前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、前記言語モデル３ ＬＭ３の規模が前記第２のパープレキシティ値の変動範囲にマッチングすることと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することと、
抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得し、前記切り取った後の言語モデルＬＭ４の規模が前記第３のパープレキシティ値の変動範囲にマッチングすることとを含んでもよい。
【００１６】
本発明の実施例は、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択することと、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードすることと、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化することと、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップすることと、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返すこととを含み、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下であるデコーダークラスターにおける言語モデル更新方法を提供する。
【００１７】
前記方法は、
少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動することをさらに含んでもよい。
【００１８】
コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする前、前記方法は、
前記第１の融合言語モデルと前記第２の融合言語モデルに対してそれぞれコンパイル処理を行い、第１の融合言語モデルの第１の復号化状態図と第２の融合言語モデルの第２の復号化状態図を取得して、汎用テスト集合を用いて前記第１の復号化状態図と前記第２の復号化状態図の言語認識率を検証することと、
前記言語認識率が所定範囲内にあると、前記第１の融合言語モデルと前記第２の融合言語モデルが検証に成功したと確認し、且つコンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを取得することとをさらに含んでもよい。
【００１９】
本発明の実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得するための汎用言語モデル取得ユニットと、
前記汎用言語モデルを切り取り、切り取った後の言語モデルを取得するための切り取りユニットと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得するためのログ言語モデル取得ユニットと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得するための第１補間合併ユニットと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得するための第２補間合併ユニットとを備える言語モデルの訓練装置を提供する。
【００２０】
前記ログ言語モデル取得ユニットは、具体的には、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することに用いられてもよい。
【００２１】
前記第１補間合併ユニットは、具体的には、
補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、
前記第２補間合併ユニットは、具体的には、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられてもよい。
【００２２】
前記第１補間合併ユニットは、具体的には、
所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得し、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、
前記第２補間合併ユニットは、具体的には、
所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得し、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられてもよい。
【００２３】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであってもよい。
【００２４】
前記汎用言語モデル取得ユニットは、具体的には、
各分野のモデル訓練コーパスを収集し、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することに用いられてもよい。
【００２５】
前記汎用言語モデル取得ユニットは、具体的には、
各分野のモデル訓練コーパスを収集し、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、
最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成することに用いられてもよい。
【００２６】
前記切り取りユニットは、具体的には、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することに用いられてもよい。
【００２７】
前記切り取りユニットは、具体的には、
前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、前記言語モデル２ ＬＭ２の規模が前記第１のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、前記言語モデル３ ＬＭ３の規模が前記第２のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得し、
抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得し、前記切り取った後の言語モデルＬＭ４の規模が第３のパープレキシティ値の変動範囲にマッチングすることに用いられてもよい。
【００２８】
本発明の実施例は、上記のいずれかに記載の言語モデルの訓練装置を備える機器を提供する。
【００２９】
本発明の実施例は、
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられる言語モデルの訓練装置をさらに提供する。
【００３０】
本発明の実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むコンピュータプログラムをさらに提供する。
【００３１】
本発明の実施例は、上記のようなコンピュータプログラムを記憶する記憶媒体をさらに提供する。
【００３２】
本発明の実施例は、
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられるデコーダークラスターにおける言語モデル更新装置をさらに提供する。
【００３３】
本発明の実施例は、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むコンピュータプログラムをさらに提供する。
【００３４】
本発明の実施例は、上記のようなコンピュータプログラムを記憶する記憶媒体をさらに提供する。
【発明の効果】
【００３５】
上記技術案から明らかなように、本発明の言語モデルの訓練方法及び装置、機器は、オフライン訓練方式によって汎用言語モデルを取得し、オンライン訓練方式によってログ言語モデルを取得し、更に汎用言語モデル、ログ言語モデルによって一次復号化用の第１の融合言語モデルと二次復号化用の第２の融合言語モデルを取得し、ログ言語モデルは新しい単語、ホットワード等のコーパスにより生じたものであるため、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決でき、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【図面の簡単な説明】
【００３６】
【図１】は本発明の一実施例に係る言語モデルの訓練方法の概略フローチャートである。
【図２】は本発明の別の実施例に係る言語モデルの訓練方法の一部の概略フローチャートである。
【図３】は本発明の別の実施例に係る言語モデル更新方法の概略フローチャートである。
【図４】は本発明の実施例における言語モデル更新のシステムアーキテクチャ図である。
【図５】は本発明の一実施例に係る言語モデルの訓練装置の構成概略図である。
【図６】は本発明の一実施例の言語モデルの訓練装置の論理ブロック図である。
【図７】は本発明の一実施例のデコーダークラスターにおける言語モデル更新装置の論理ブロック図である。
【発明を実施するための形態】
【００３７】
以下、図面と実施例を参照し、本発明の具体的な実施形態を更に詳しく説明する。以下の実施例は本発明を説明するためのものであるが、本発明の範囲を限定するものではない。
【００３８】
現在、ｎ−ｇｒａｍに基づく言語モデルは音声認識技術の重要な構成要素であり、音声認識の精度に対して重要な役割を果たす。ｎ−ｇｒａｍに基づく言語モデルは、第ｎ個の単語の出現が直前のｎ−１個の単語のみに依存し、他のいかなる単語と無関係であるという仮定に基づくものであり、このように、センテンスの確率は各単語の出現確率の積である。
【００３９】
図１は本発明の一実施例に係る言語モデルの訓練方法の概略フローチャートを示し、図１に示されるように、言語モデルの訓練方法は下記のステップ１０１〜１０４を含む。
【００４０】
ステップ１０１では、オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得する。
【００４１】
例えば、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、更に補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することができる。
【００４２】
本実施例のモデル訓練コーパスは、言語モデルを作成し、モデルパラメータを確定するための既知のコーパスである。
【００４３】
さらに、上記分野はデータの応用シーン、例えばニュース、地名、サイト、人名、地図ナビゲーション、チャット、ショートメッセージ、問答、マイクロブログ等の一般的な分野であってもよい。具体的に応用する際に、特定の分野に対して、専門的なキャプチャー、協力等の方法によって対応するモデル訓練コーパスを取得できる。本発明の実施例は各分野のモデル訓練コーパスを収集する具体的な方法を限定しない。
【００４４】
１０２では、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得する。
【００４５】
本実施例において、まず、所定期間内（例えば３日間、１週間又は一ヶ月間等）のログ情報を取得し、例えば、毎日更新された検索ログから規則に従って対応するログをキャプチャーし、次に、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得する。
【００４６】
ここで、前記フィルタリングとして、ログ情報におけるノイズ情報を削除してもよい。ノイズ情報は句読点、二重山括弧、誤字等を含んでもよい。さらにフィルタリング後のログ情報を平滑化処理してもよく、最終的にログモデル訓練コーパスにおける高頻度のセンテンスを削除する。
【００４７】
また、フィルタリング後のログ情報に対する単語分割処理は、ＣＲＦ単語分割、フォワード最小単語分割、バックワード最大単語分割及びフォワードバックワード組合せ単語分割等の方式によって達成できる。本実施例はバックワード最大単語分割とフォワード最小単語分割を組み合わせる方式を優先的に用いて、フィルタリング後のログ情報に対する単語分割操作を行う。それにより、新しい単語／ホットワードに中国語や英語が混在する場合を兼ねる。
【００４８】
本実施例において、毎日の新たな検索ログ情報をデコーダークラスターに使用される言語モデルに反映するために、所定期間おきに新たな検索ログをログモデル訓練コーパスに形成し、ログ言語モデルの訓練作業を行う必要があると理解できる。
【００４９】
１０３では、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得する。
【００５０】
例えば、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得する。
【００５１】
ここで、補間方式における補間パラメータは前記切り取った後の言語モデル及び前記ログ言語モデルの前記第１の融合言語モデルにおける重みを調整することに用いられる。
【００５２】
１０４では、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する。
【００５３】
例えば、補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得し、
ここで、補間方式における補間パラメータは前記汎用言語モデル及び前記ログ言語モデルの前記第２の融合言語モデルにおける重みを調整することに用いられる。
【００５４】
例えば、本実施例において、切り取った後の言語モデルはトライグラム言語モデルであると、第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであると、前記第２の融合言語モデルはフォーグラム文法融合言語モデルである。
【００５５】
本実施例において、最終的に取得されたデコーダークラスター用の言語モデル（例えばトライグラム融合言語モデルとフォーグラム文法融合言語モデル）は大量の新しい単語、新しい構成タイプのセンテンスを兼ね、それにより、これらの新しい単語及び新しい構成タイプのセンテンスを、訓練して得られたログ言語モデルに反映し、且つ汎用言語モデル及びオンラインで更新して得られたログ言語モデルに対して補間合併を行い、それにより、いくつかの新しい単語及び新しい構成タイプのセンテンスをリアルタイムにカバーすると理解できる。
【００５６】
そのために、本実施例において、トライグラム融合言語モデルを用いて迅速に復号化し、更にフォーグラム文法融合言語モデルを用いて二次復号化することにより、言語認識率を効果的に向上させる。
【００５７】
別の代替可能な実現シーンにおいて、図示されていないが、上記ステップ１０３は、具体的には、
所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得するサブステップ１０３１と、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、一次復号化用の第１の融合言語モデルを取得するサブステップ１０３２とをさらに含んでもよい。
【００５８】
また、図示されていないが、上記ステップ１０４は、具体的には、
所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得するサブステップ１０４１と、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、二次復号化用の第２の融合言語モデルを取得するサブステップ１０４２とをさらに含んでもよい。
【００５９】
上記ステップ１０３１とステップ１０４１において、単文確率の調整は主に２つの文字又は３つの文字を有するセンテンス確率に対して、いくつかの特殊処理を行い、所定の規則に従ってセンテンス確率を低下させたり向上させたりすること等を含む。
【００６０】
ステップ１０３２とステップ１０４２において、モデル補間の具体的な形態を、例を挙げて説明し、
補間合併すべき２つの言語モデルがｂｉｇ＿ｌｍとｓｍａｌｌ＿ｌｍと命名され、２つの言語モデルの合併時の重みがλであると仮定し、具体的な補間方式は下記例１〜４のいずれかによって達成できる。
【００６１】
１、ｓｍａｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率値を（１−λ）＊Ｐ（ｂｉｇ＿ｌｍ）＋λ＊Ｐ（ｓｍａｌｌ＿ｌｍ）に更新し、
２、ｌｍ＿ｓａｍｌｌにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｌｍ＿ｓａｍｌｌに発見できないｎ−ｇｒａｍをｂｉｇ＿ｌｍに挿入し、且つその確率値をλ＊Ｐ（ｓｍａｌｌ＿ｌｍ）と設定し、
３、ｓｍａｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率をｍａｘ（Ｐ（ｂｉｇ＿ｌｍ），Ｐ（ｓｍａｌｌ＿ｌｍ））に更新し、この場合では重みパラメータλが使われていなく、
４、ｓａｍｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率をｍａｘ（（１−λ）＊Ｐ（ｂｉｇ＿ｌｍ），λ＊Ｐ（ｓｍａｌｌ＿ｌｍ））に更新する。
【００６２】
上記４種類の補間方式は実際応用の異なる応用分野のニーズに応じて選択できる。本実施例において、言語モデルのログ情報におけるセンテンスに対するカバー、特にいくつかの新しい単語又は新しい構成タイプのセンテンスに対するカバーを拡げるために、本案は上記２番目の種類の方法を選択して対応する補間操作を行う。
【００６３】
本実施例の言語モデルの訓練方法は、オフライン訓練方式によって汎用言語モデルを取得し、オンライン訓練方式によってログ言語モデルを取得し、更に汎用言語モデル、ログ言語モデルによって一次復号化用の第１の融合言語モデルと二次復号化用の第２の融合言語モデルを取得し、ログ言語モデルは新しい単語、ホットワード等のコーパスにより生じたものであるため、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決し、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【００６４】
実際の応用では、上記図１に示される方式によって第１の融合言語モデルと第２の融合言語モデルを取得した後、これらの２つのモデルをデコーダークラスターに応用する前、さらにこれらの２つのモデルに対して言語認識率の検証を行う必要がある。例えば、上記２つの融合言語モデルに対してコンパイル操作を実行し、音声認識に必要な復号化状態図を取得する。更にコンパイルして構築された復号化状態図の言語モデルに対してモデル検証を行う。
【００６５】
具体的には、本実施例において、汎用テスト集合の３つの音声コーパスを用いて音声認識を行い、且つ注記テキストコーパスと対比する。認識テキストが注記テキストと完全に一致すると、モデル検証に成功し、更に上記２つの融合言語モデルをデコーダークラスターの復号化サーバにロードでき、一致しないと、関係者にエラーメッセージをフィードバックする。
【００６６】
図１に示される言語モデルの訓練方法をよりよく説明するために、以下、図２を用いて上記図１におけるステップ１０１を詳しく説明する。
【００６７】
２０１では、各分野のモデル訓練コーパスを収集する。
【００６８】
例えば、ブログデータ、ショートメッセージデータ、ニュースデータ、百科事典、小説及びユーザー音声入力方式データのような少なくとも６つの異なる分野のモデル訓練コーパスを収集し、６種類のモデル訓練コーパスのデータ総量が１０００Ｇより大きくてもよい。
【００６９】
２０２では、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得する。
【００７０】
例えば、各分野のモデル訓練コーパスに対してコーパスクリーニング又はコーパス単語分割等のような前処理を予め行い、更に前処理後のモデル訓練コーパスをそれぞれの言語モデルに生成する。
【００７１】
なお、ある分野のモデル訓練コーパスの規模が非常に大きいが、該分野において訓練して取得された言語モデルの規模に限りがある場合、該分野のモデル訓練コーパスにより該分野の一番目の言語モデルを訓練した後、該一番目の言語モデルに対して、モデル切り取り方式、又は大きな統計回数カットオフ値ｃｕｔｏｆｆを設定する方式を用いて言語モデルを調整し、それにより、該分野の最終的に取得された言語モデルを所定規模の言語モデルに合致させることができる。
【００７２】
２０３では、補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルＬＭ１に生成する。
【００７３】
例えば、最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成する。
【００７４】
２０４では、エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得する。
【００７５】
具体的な応用では、ステップ２０４の前、さらに前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得し、
更に、ステップ２０４を実行する時、言語モデル２ ＬＭ２の規模を前記第１のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００７６】
２０５では、エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得する。
【００７７】
例えば、ステップ２０５の前、さらに前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得し、
これにより、ステップ２０５を実行する時に、言語モデル３ ＬＭ３の規模を前記第２のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００７８】
２０６では、前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得する。
【００７９】
相応的に、ステップ２０６を実行する時、さらに抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得し、この場合、切り取った後の言語モデルＬＭ４の規模を前記第３のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００８０】
つまり、ステップ２０４〜ステップ２０６において、ステップ２０３における汎用言語モデルＬＭ１を一次切り取り言語モデル２ ＬＭ２を得て、ＬＭ２を二次切り取り言語モデル３ ＬＭ３を得て、ＬＭ３から３−ｇｒａｍ言語モデルを抽出し、且つ引き続きそれを切り取り、規模がさらに小さい３−ｇｒａｍ言語モデルＬＭ４を得る。
【００８１】
本実施例の切り取り方式はいずれも下記の最大エントロピーモデルに基づく切り取り方式を採用する。毎回切り取った言語モデルの規模は汎用テスト集合により得られたｐｐｌ値の変動範囲に応じて設定される。
【００８２】
本実施例において、言語モデルの切り取り方式を限定せず、更に、本実施例において、言語モデルの切り取り規模の大きさは経験値に応じて設定されてもよく、本実施例はそれを限定しない。さらに、本実施例において、言語認識率の精度を向上させるために、３回の切り取りを行い、他の実施例において、さらに必要に応じて切り取り回数を設定してもよく、本実施例は例示的なものに過ぎず、それを限定するものではない。
【００８３】
また、上記ステップ２０２にモデル切り取り方式が言及されており、そのため、以下、モデル切り取りの方法を詳しく説明する。
【００８４】
モデル切り取りの方法は主にエントロピーに基づく言語モデル切り取り方法を採用する。具体的には、あるｎグラムの元の言語モデルにおける確率値がｐ（．｜．）であり、切り取った後の言語モデルにおける確率値が
2018502344.tif 000003
であると仮定する。式（１）に示すように切り取る前後の２つの言語モデル間の相対エントロピーを計算し、
2018502344.tif 000004
式（１）では、
2018502344.tif 000005
は出現したすべての単語を示し、
2018502344.tif 000006
はテキスト履歴語彙を示す。エントロピーに基づく言語モデル切り取り方法は切り取り可能なｎグラムを選択して
2018502344.tif 000007
の値を最小化することにより、切り取った後の言語モデル及び切り取った後の言語モデルの規模を確定することを目標とする。
【００８５】
また、上記ステップ２０２に記載の大きな統計回数カットオフ値ｃｕｔｏｆｆを設定する方式は以下のとおりに理解してもよい。
【００８６】
通常、ｃｕｔｏｆｆ値を設定するとは、言語モデルの異なる次数に対して、訓練過程において異なるｎグラム単語の個数のしきい値を設定し、各次の言語モデルにおけるｎグラム単語の個数が該次のしきい値より低いｎグラム単語の個数をゼロに設定する。通常、ｎグラム単語の個数がｃｕｔｏｆｆ値より小さく、算出されるｎグラム単語対の統計確率値が正確ではないからである。
【００８７】
上記ステップ２０２において、主に大きなｃｕｔｏｆｆ値を設定する方式を用いて言語モデルの規模を制御する。具体的な応用では、経験値に応じて各分野の異なるｃｕｔｏｆｆ値を設定する。各分野の言語モデルの訓練を行う過程において、さらに異なる次数の言語モデルのｎグラム単語の個数ファイルを生成できる。
【００８８】
更に、上記ステップ２０３に対して、例を挙げて以下のように説明する。
【００８９】
ステップ２０３において、各分野で訓練して生成された言語モデルを補間により汎用言語モデルＬＭ１に生成する。一般的な補間方式として、最大事後確率補間及びモデル直接補間等の方式が挙げられる。
【００９０】
以下、例を挙げて、最大事後確率補間方法を以下のように説明する。現在汎用訓練コーパス集合Ｉ及び挿入すべき訓練コーパス集合Ａがあるとすると、最大事後確率補間の表現式は、式（２）に示すようになり、
2018502344.tif 000008
式（２）では、３グラムを例として説明し、３−ｇｒａｍの場合で、現在の単語の出現確率が該単語の直前の２つの単語のみに依存する。そのうち、
2018502344.tif 000009
はセンテンスにおける単語を示し、
2018502344.tif 000010
は補間後の３グラムの確率値を示し、
2018502344.tif 000011
は集合Ｉにおける３次単語の個数を示し、
2018502344.tif 000012
は集合Ａにおける３グラムの個数を示し、
2018502344.tif 000013
パラメータは２つの３グラム個数の間の補間重みを示す。
【００９１】
以下、例を挙げてモデル直接補間方法を説明する。モデル直接補間方法は生成された各分野の言語モデルを利用し、上記式（２）に基づき、式（３）に示すように異なる重みに応じて補間により新たな言語モデルを生成し、
2018502344.tif 000014
式（３）では、３グラムを例として説明し、３−ｇｒａｍの場合で、現在の単語の出現確率が該単語の直前の２つの単語のみに依存する。そのうち、
2018502344.tif 000015
は補間後の３グラムの確率値を示し、
2018502344.tif 000016
は補間前の言語モデルｊにおけるｎグラムの確率値を示し、
2018502344.tif 000017
はモデルｊの補間重みを示し、
2018502344.tif 000018
は補間すべきモデルの個数を示す。
【００９２】
実際の応用では、下記２種類の方法に基づいて、ステップ２０３における各言語モデルの補間合併時の重み値を計算できる。
【００９３】
第１種の補間重みの計算方法は、上記の例示した６種類の言語モデルに対して、それぞれ汎用テスト集合においてパープレキシティｐｐｌ推定を行い、ｐｐｌの比に基づいて各種の言語モデルの補間合併時の重みを算出することである。
【００９４】
本実施例におけるパープレキシティは言語モデルの品質を反映し、通常、パープレキシティが小さければ小さいほど、言語モデルの品質が高く、その定義は以下の通りであり、
2018502344.tif 000019
式（４）では、ｎグラムを例として説明する。
2018502344.tif 000020
はｎグラムの確率値を示し、
2018502344.tif 000021
はテストセンテンスにおける単語の個数を示す。
【００９５】
第２種の補間重みの計算方法は、直接に異なる分野のモデル訓練コーパスの大きさの比に基づき、補間重みを設定することである。
【００９６】
本実施例のステップ２０３において、モデル直接補間方式を用いて、各分野で訓練された言語モデルを上記第２種の補間重み計算方法によって計算して得られた重みで、補間によりＬＭ１と記す汎用言語モデルに生成してもよい。
【００９７】
上記図１に示された方法を参照し、本実施例において、オンラインで更新される検索ログ言語モデルを導入し、該モデルと汎用言語モデル及び切り取った後の言語モデルに対して異なる方式の補間演算を行い、２つの異なる規模の融合言語モデルを生成し、且つバックエンド（例えばデコーダークラスター）に提供して複数回の復号化に用いられ、セマンティクス理解の精度を向上させ、ユーザー体験を向上させることに寄与する。
【００９８】
図３は本発明の別の実施例に係る言語モデル更新方法の概略フローチャートを示し、図４は本発明の実施例における言語モデル更新のシステムアーキテクチャ図を示し、図３と図４を参照し、以下、本実施例の言語モデル更新方法を説明する。
【００９９】
３０１では、前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択する。
【０１００】
例えば、図４に示されたデコーダークラスターは６つの復号化サーバを含む。
【０１０１】
言語モデルのコンパイルと検証を完了した後、コンパイル済みの言語モデルをデコーダークラスターにおける各復号化サーバにロードできると理解できる。本実施例において、各デコーダークラスターにおける１／３以下の復号化サーバを言語モデルを更新すべき復号化サーバとすることを優先的に選択する。
【０１０２】
つまり、本実施例において、Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である。
【０１０３】
３０２では、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする。
【０１０４】
本実施例におけるコンパイル後の第１の融合言語モデルと第２の融合言語モデルは図４に示された言語モデル自動訓練サーバにより出力される。
【０１０５】
具体的な応用では、ローカルサーバはオフライン訓練方式によって上記図１に示された汎用言語モデルと切り取った後の言語モデルを取得し、言語モデル自動訓練サーバはオンライン訓練方式によってログ言語モデルを取得し、上記第１の融合言語モデルと第２の融合言語モデルを取得してコンパイル検証を行い、検証に成功した後にデコーダークラスターに出力して言語モデルを更新する。
【０１０６】
３０３では、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化する。
【０１０７】
例えば、ロードされた言語モデルを利用して音声認識復号化を行う。具体的には、一次復号化する際に、第１の融合言語モデルを利用して１つの大きな復号化経路ネットワークを生成し、この復号化経路をもとにして第２の融合言語モデルを利用して二次復号化する。
【０１０８】
３０４では、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断する。
【０１０９】
３０５では、ステップ３０４において各復号化サーバの復号化プロセスがいずれも正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返す。
【０１１０】
３０６では、ステップ３０４において少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動する。
【０１１１】
つまり、復号化に成功し且つ復号化プロセスがいずれも正常であると、復号化サーバは更新後の言語モデルをバックアップする。復号化に失敗すると、該復号化サーバはロードした言語モデルを削除し、元の言語モデルを改めてロードし、言語モデルを更新せず、同時にエラーメッセージをフィードバックし、且つエラー分析を行う。
【０１１２】
デコーダークラスターにおけるほとんどの復号化サーバの言語モデルが更新に成功した場合、エラーが発生した復号化サーバの内容を人工的に確認し、且つリロードのプロセスを達成することができると理解できる。
【０１１３】
なお、図３に示されたステップ３０２において、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする前、図示されていないが、図３に示された方法は、
前記第１の融合言語モデルと前記第２の融合言語モデルに対してそれぞれコンパイル処理を行い、第１の融合言語モデルの第１の復号化状態図と第２の融合言語モデルの第２の復号化状態図を取得し、汎用テスト集合を用いて前記第１の復号化状態図と前記第２の復号化状態図の言語認識率を検証するステップ３００をさらに含んでもよく、
前記言語認識率が所定範囲内にあると、前記第１の融合言語モデルと前記第２の融合言語モデルが検証に成功したと確認し、且つコンパイルされた第１の融合言語モデル及びコンパイルされた第２の融合言語モデルを取得する。
【０１１４】
さもないと、図４に示されたローカルサーバと言語モデル自動訓練サーバによって新たな言語モデルを再取得できる。
【０１１５】
なお、デコーダークラスターにおける各復号化サーバがロードに成功した後、さらにテストステートメントを利用して、異なる復号化サーバの復号化結果をリアルタイムにサンプリングして検証できる。又は、デコーダークラスターの正常使用を確保するために、汎用テスト集合を利用して言語モデル更新後のクラスターに対して音声認識結果の監視テストを行って、認識結果をリアルタイムに印刷出力し、それにより、汎用テスト集合の音声認識結果の精度を正常の変動範囲内に維持することを確保する。
【０１１６】
つまり、音声復号化の全過程において、汎用テスト集合を利用して作動中の復号化サーバをリアルタイムにサンプリングして検証し、各クラスターにおける各復号化サーバの復号化が正確であることを確保する必要があり、復号化サーバにエラーが発生すると、エラーメッセージをユーザーにリアルタイムにフィードバックし、且つエラー分析を行う。
【０１１７】
それにより、デコーダークラスターは所定期間内に収集された検索ログに基づいて、クラスター内の言語モデルをオンラインで更新し、新しい単語、ホットワードの単語分割の正確率を大幅に向上させ、音声認識の精度を向上させ、最終的にセマンティクス理解のユーザー体験を向上させることができる。
【０１１８】
図５は本発明の一実施例に係る言語モデルの訓練装置の構成概略図を示し、図５に示されるように、本実施例の言語モデルの訓練装置は、汎用言語モデル取得ユニット５１、切り取りユニット５２、ログ言語モデル取得ユニット５３、第１補間合併ユニット５４及び第２補間合併ユニット５５を備え、
汎用言語モデル取得ユニット５１はオフライン訓練方式を用いて汎用言語モデルを取得することに用いられ、
切り取りユニット５２は前記汎用言語モデルを切り取り、切り取った後の言語モデルを取得することに用いられ、
ログ言語モデル取得ユニット５３はオンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することに用いられ、
第１補間合併ユニット５４は前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することに用いられ、
第２補間合併ユニット５５は前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することに用いられる。
【０１１９】
本実施例において、上記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルである。
【０１２０】
例えば、前記ログ言語モデル取得ユニット５３は、具体的には、所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することに用いられる。
【０１２１】
具体的な応用では、前記第１補間合併ユニット５４は、具体的には、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、前記第２補間合併ユニット５５は、具体的には、補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられる。
【０１２２】
別の代替可能な実現シーンでは、前記第１補間合併ユニット５４は、具体的には、所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得し、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、前記第２補間合併ユニット５５は、具体的には、所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得し、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられる。
【０１２３】
前記汎用言語モデル取得ユニット５１は、具体的には、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することに用いられてもよい。
【０１２４】
別の代替可能な実現シーンでは、前記汎用言語モデル取得ユニット５１は、具体的には、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成することに用いられる。
【０１２５】
更に、上記切り取りユニット５２は、具体的には、エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することに用いられる。
【０１２６】
或いは、別の実施例において、前記切り取りユニット５２はさらに、具体的には、前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、前記言語モデル２ ＬＭ２の規模が前記第１のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、前記言語モデル３ ＬＭ３の規模が前記第２のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得し、
抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得して、前記切り取った後の言語モデルＬＭ４の規模が前記第３のパープレキシティ値の変動範囲にマッチングすることに用いられる。
【０１２７】
本実施例の言語モデルの訓練装置は上記図１〜図２のいずれかに記載の方法のフローを実行してもよく、以上に記載されたので、ここで詳細な説明を省略する。
【０１２８】
本実施例の言語モデルの訓練装置は、オンラインで更新されるログ言語モデルを導入し、該ログ言語モデルと汎用言語モデル、切り取った後の言語モデルに対して異なる方式の補間演算を行い、２つの異なる規模の融合言語モデルを生成し、且つバックエンド（例えばデコーダークラスター）に提供して複数回の復号化に用いられ、セマンティクス理解の精度を向上させ、ユーザー体験を向上させることに寄与する。
【０１２９】
本実施例の言語モデルの訓練装置はサーバのような任意の独立した機器に位置してもよい。すなわち、本発明はさらに上記のいずれかに記載の言語モデルの訓練装置を含む機器を提供する。
【０１３０】
また、具体的な応用では、本実施例はさらに２つ又は複数の機器、例えば複数のサーバによって上記言語モデルの訓練装置の機能を達成できる。例えば、図４に示されたローカルサーバは、言語モデルの訓練装置における汎用言語モデル取得ユニット５１、切り取りユニット５２の機能を達成することに用いられ、図４に示された言語モデル自動訓練サーバは、言語モデルの訓練装置におけるログ言語モデル取得ユニット５３、第１補間合併ユニット５４及び第２補間合併ユニット５５の機能を達成でき、更に言語モデル自動訓練サーバをデコーダークラスターに接続し、検索ログによって新たなコーパスをカバーする言語モデルを取得する時、デコーダークラスターにおける各復号化サーバに使用される言語モデルを更新することを実現し、それにより、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決でき、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【０１３１】
図６は本発明の一実施例の言語モデルの訓練装置の論理ブロック図を示し、図６を参照し、該装置は、
プロセッサ６０１、メモリ６０２、通信インターフェース６０３及びバス６０４を備え、
前記プロセッサ６０１、メモリ６０２、及び通信インターフェース６０３は前記バス６０４を介して相互間の通信を行い、
前記通信インターフェース６０３は前記復号化サーバとローカルサーバとの通信装置間の情報伝送を行うことに用いられ、
前記プロセッサ６０４は、前記メモリ６０２における論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられる。
【０１３２】
図１を参照し、本実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを開示する。
【０１３３】
本実施例は上記のようなコンピュータプログラムを記憶する記憶媒体を開示する。
【０１３４】
図７は本発明の一実施例のデコーダークラスターにおける言語モデル更新装置の論理ブロック図を示す。図７を参照し、該装置は、
プロセッサ７０１、メモリ７０２、通信インターフェース７０３及びバス７０４を備え、
前記プロセッサ７０１、メモリ７０２、及び通信インターフェース７０３は前記バス７０４を介して相互間の通信を行い、
前記通信インターフェース７０３は前記復号化サーバとローカルサーバとの通信装置間の情報伝送を行うことに用いられ、
前記プロセッサ７０１は、前記メモリ７０２における論理命令を呼び出すことにより、
前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられる。
【０１３５】
図３を参照し、本実施例は、
前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを開示する。
【０１３６】
本実施例は上記のようなコンピュータプログラムを記憶する記憶媒体を開示する。
【０１３７】
当業者は、上記方法の実施例を実現する全部又は一部のステップをプログラム命令に関連するハードウェアにより実行させることができ、上記プログラムがコンピュータ読み取り可能な記憶媒体に記憶されてもよく、該プログラムを実行すると、上記方法の実施例を含むステップを実行し、上記記憶媒体はＲＯＭ、ＲＡＭ、磁気ディスクや光ディスクなどのプログラムコードを記憶できる様々な媒体を含むと理解できる。
【０１３８】
また、当業者は、ここで説明されるいくつかの実施例は、他の特徴ではなく、他の実施例に含まれるいくつかの特徴を含むが、異なる実施例の特徴の組合せが本発明の範囲内にあり、且つ異なる実施例を形成すると意味すると理解できる。例えば、以下の特許請求の範囲では、保護しようとする実施例のいずれかを任意に組み合わせて使用することができる。
【０１３９】
なお、上記実施例は本発明を説明するものであり、本発明を限定するものではない。当業者は特許請求の範囲を逸脱せずに、代替的な実施例を設計できる。特許請求の範囲では、括弧の間に位置するいかなる参考記号は特許請求の範囲を限定するものではない。単語「含む」は特許請求の範囲に記載されていない素子又はステップを除外しない。素子の前の単語「１つ」又は「１個」は複数のこのような素子を有する場合を除外しない。本発明は複数の異なる素子を備えるハードウェア及び適切にプログラミングされたコンピュータによって達成できる。複数の装置が挙げられるユニットの請求項では、これらの装置のうち、複数の装置は同一ハードウェアによって具体的に具現することができる。単語第１、第２、及び第３等の使用はいずれの順序を意味しない。これらの単語を名称と解釈できる。
【０１４０】
最後に、上記の各実施例は、本発明の技術案を説明するためのものに過ぎず、本発明を限定するものではない。上記各実施例を参照しながら本発明を詳しく説明したが、当業者は、上記の各実施例に記載の技術案を変更するか、或はその一部又は全部の技術的特徴を同等置換することができ、それらの変更や置換によって、対応する技術案の趣旨は本発明の特許請求の範囲に限定される範囲を逸脱することがないと理解できる。
【図１】
2018502344.tif 000022
【図２】
2018502344.tif 000023
【図３】
2018502344.tif 000024
【図４】
2018502344.tif 000025
【図５】
2018502344.tif 000026
【図６】
2018502344.tif 000027
【図７】
2018502344.tif 000028
【手続補正書】
【提出日】平成28年10月24日(2016.10.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【相互参照】
【０００１】
本願は２０１５年１０月２９日に提出された特許名称が「言語モデルの訓練方法及び装置、機器」である中国特許出願第２０１５１０７１９２４３５号を引用し、そのすべての内容を援用によって本願に組み込む。
【技術分野】
【０００２】
本発明の実施例は自然言語処理技術に関し、特に言語モデルの訓練方法及び装置、機器に関する。
【背景技術】
【０００３】
言語モデル（Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌ、ＬＭ）は指定した単語列の言語における出現確率を記述できる分布を作成することを目的とする。すなわち、言語モデルは語彙確率分布を記述するモデルであり、言語認識時の言葉の確率分布を確実に反映できるモデルである。
【０００４】
言語モデル技術は機械学習、手書き認識、音声認識等の分野で幅広く用いられている。例えば、言語モデルを利用することで、音声認識における複数種の単語列のうち可能性が最も高い単語列を得、或いはいくつかの単語を指定して、次の出現する可能性が最も高い単語を予測すること等ができる。
【０００５】
現在、一般的な言語モデル訓練方法はいずれもオフラインで汎用言語モデルを取得し、且つ汎用言語モデルを利用して、いくつかの人名、地名等のようなモデルとオフライン補間を行い、それにより、訓練済みの言語モデルを取得し、これらの言語モデルはリアルタイムでオンラインのログ更新方式をカバーしていないため、使用過程において、新たなコーパス（例えば新しい単語、ホットワード等）に対するカバーが悪くて、言語認識率が低下してしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術の欠陥に対して、本発明の実施例は、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決するための言語モデルの訓練方法及び装置、機器を提供する。
【課題を解決するための手段】
【０００７】
本発明の実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することとを含む言語モデルの訓練方法を提供する。
【０００８】
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することは、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得することと、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することとを含んでもよい。
【０００９】
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することは、
補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することを含み、
及び／又は、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することは、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することを含んでもよい。
【００１０】
補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行う前、さらに、
所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得することを含み、
相応的に、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行うとは、具体的には、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、
及び／又は、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行う前、さらに、
所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得することを含み、
補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行うとは、具体的には、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行ってもよい。
【００１１】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであってもよい。
【００１２】
オフライン訓練方式を用いて汎用言語モデルを取得することは、
各分野のモデル訓練コーパスを収集することと、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得することと、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することとを含んでもよい。
【００１３】
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することは、
最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成することを含んでもよい。
【００１４】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得することと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することとを含んでもよい。
【００１５】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、前記言語モデル２ ＬＭ２の規模が前記第１のパープレキシティ値の変動範囲にマッチングすることと、
前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、前記言語モデル３ ＬＭ３の規模が前記第２のパープレキシティ値の変動範囲にマッチングすることと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することと、
抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得し、前記切り取った後の言語モデルＬＭ４の規模が前記第３のパープレキシティ値の変動範囲にマッチングすることとを含んでもよい。
【００１６】
本発明の実施例は、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択することと、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードすることと、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化することと、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップすることと、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返すこととを含み、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下であるデコーダークラスターにおける言語モデル更新方法を提供する。
【００１７】
前記方法は、
少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動することをさらに含んでもよい。
【００１８】
コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする前、前記方法は、
前記第１の融合言語モデルと前記第２の融合言語モデルに対してそれぞれコンパイル処理を行い、第１の融合言語モデルの第１の復号化状態図と第２の融合言語モデルの第２の復号化状態図を取得して、汎用テスト集合を用いて前記第１の復号化状態図と前記第２の復号化状態図の言語認識率を検証することと、
前記言語認識率が所定範囲内にあると、前記第１の融合言語モデルと前記第２の融合言語モデルが検証に成功したと確認し、且つコンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを取得することとをさらに含んでもよい。
【００１９】
本発明の実施例は、
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられる言語モデルの訓練装置をさらに提供する。
【００２０】
本発明の実施例は、オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを記憶する記憶媒体をさらに提供する。
【００２１】
本発明の実施例は、
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられるデコーダークラスターにおける言語モデル更新装置をさらに提供する。
【００２２】
本発明の実施例は、デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを記憶する記憶媒体をさらに提供する。
【発明の効果】
【００２３】
上記技術案から明らかなように、本発明の言語モデルの訓練方法及び装置、機器は、オフライン訓練方式によって汎用言語モデルを取得し、オンライン訓練方式によってログ言語モデルを取得し、更に汎用言語モデル、ログ言語モデルによって一次復号化用の第１の融合言語モデルと二次復号化用の第２の融合言語モデルを取得し、ログ言語モデルは新しい単語、ホットワード等のコーパスにより生じたものであるため、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決でき、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【図面の簡単な説明】
【００２４】
【図１】は本発明の一実施例に係る言語モデルの訓練方法の概略フローチャートである。
【図２】は本発明の別の実施例に係る言語モデルの訓練方法の一部の概略フローチャートである。
【図３】は本発明の別の実施例に係る言語モデル更新方法の概略フローチャートである。
【図４】は本発明の実施例における言語モデル更新のシステムアーキテクチャ図である。
【図５】は本発明の一実施例に係る言語モデルの訓練装置の構成概略図である。
【図６】は本発明の一実施例の言語モデルの訓練装置の論理ブロック図である。
【図７】は本発明の一実施例のデコーダークラスターにおける言語モデル更新装置の論理ブロック図である。
【発明を実施するための形態】
【００２５】
以下、図面と実施例を参照し、本発明の具体的な実施形態を更に詳しく説明する。以下の実施例は本発明を説明するためのものであるが、本発明の範囲を限定するものではない。
【００２６】
現在、ｎ−ｇｒａｍに基づく言語モデルは音声認識技術の重要な構成要素であり、音声認識の精度に対して重要な役割を果たす。ｎ−ｇｒａｍに基づく言語モデルは、第ｎ個の単語の出現が直前のｎ−１個の単語のみに依存し、他のいかなる単語と無関係であるという仮定に基づくものであり、このように、センテンスの確率は各単語の出現確率の積である。
【００２７】
図１は本発明の一実施例に係る言語モデルの訓練方法の概略フローチャートを示し、図１に示されるように、言語モデルの訓練方法は下記のステップ１０１〜１０４を含む。
【００２８】
ステップ１０１では、オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得する。
【００２９】
例えば、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、更に補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することができる。
【００３０】
本実施例のモデル訓練コーパスは、言語モデルを作成し、モデルパラメータを確定するための既知のコーパスである。
【００３１】
さらに、上記分野はデータの応用シーン、例えばニュース、地名、サイト、人名、地図ナビゲーション、チャット、ショートメッセージ、問答、マイクロブログ等の一般的な分野であってもよい。具体的に応用する際に、特定の分野に対して、専門的なキャプチャー、協力等の方法によって対応するモデル訓練コーパスを取得できる。本発明の実施例は各分野のモデル訓練コーパスを収集する具体的な方法を限定しない。
【００３２】
１０２では、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得する。
【００３３】
本実施例において、まず、所定期間内（例えば３日間、１週間又は一ヶ月間等）のログ情報を取得し、例えば、毎日更新された検索ログから規則に従って対応するログをキャプチャーし、次に、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得する。
【００３４】
ここで、前記フィルタリングとして、ログ情報におけるノイズ情報を削除してもよい。ノイズ情報は句読点、二重山括弧、誤字等を含んでもよい。さらにフィルタリング後のログ情報を平滑化処理してもよく、最終的にログモデル訓練コーパスにおける高頻度のセンテンスを削除する。
【００３５】
また、フィルタリング後のログ情報に対する単語分割処理は、ＣＲＦ単語分割、フォワード最小単語分割、バックワード最大単語分割及びフォワードバックワード組合せ単語分割等の方式によって達成できる。本実施例はバックワード最大単語分割とフォワード最小単語分割を組み合わせる方式を優先的に用いて、フィルタリング後のログ情報に対する単語分割操作を行う。それにより、新しい単語／ホットワードに中国語や英語が混在する場合を兼ねる。
【００３６】
本実施例において、毎日の新たな検索ログ情報をデコーダークラスターに使用される言語モデルに反映するために、所定期間おきに新たな検索ログをログモデル訓練コーパスに形成し、ログ言語モデルの訓練作業を行う必要があると理解できる。
【００３７】
１０３では、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得する。
【００３８】
例えば、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得する。
【００３９】
ここで、補間方式における補間パラメータは前記切り取った後の言語モデル及び前記ログ言語モデルの前記第１の融合言語モデルにおける重みを調整することに用いられる。
【００４０】
１０４では、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する。
【００４１】
例えば、補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得し、
ここで、補間方式における補間パラメータは前記汎用言語モデル及び前記ログ言語モデルの前記第２の融合言語モデルにおける重みを調整することに用いられる。
【００４２】
例えば、本実施例において、切り取った後の言語モデルはトライグラム言語モデルであると、第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであると、前記第２の融合言語モデルはフォーグラム文法融合言語モデルである。
【００４３】
本実施例において、最終的に取得されたデコーダークラスター用の言語モデル（例えばトライグラム融合言語モデルとフォーグラム文法融合言語モデル）は大量の新しい単語、新しい構成タイプのセンテンスを兼ね、それにより、これらの新しい単語及び新しい構成タイプのセンテンスを、訓練して得られたログ言語モデルに反映し、且つ汎用言語モデル及びオンラインで更新して得られたログ言語モデルに対して補間合併を行い、それにより、いくつかの新しい単語及び新しい構成タイプのセンテンスをリアルタイムにカバーすると理解できる。
【００４４】
そのために、本実施例において、トライグラム融合言語モデルを用いて迅速に復号化し、更にフォーグラム文法融合言語モデルを用いて二次復号化することにより、言語認識率を効果的に向上させる。
【００４５】
別の代替可能な実現シーンにおいて、図示されていないが、上記ステップ１０３は、具体的には、
所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得するサブステップ１０３１と、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、一次復号化用の第１の融合言語モデルを取得するサブステップ１０３２とをさらに含んでもよい。
【００４６】
また、図示されていないが、上記ステップ１０４は、具体的には、
所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得するサブステップ１０４１と、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、二次復号化用の第２の融合言語モデルを取得するサブステップ１０４２とをさらに含んでもよい。
【００４７】
上記ステップ１０３１とステップ１０４１において、単文確率の調整は主に２つの文字又は３つの文字を有するセンテンス確率に対して、いくつかの特殊処理を行い、所定の規則に従ってセンテンス確率を低下させたり向上させたりすること等を含む。
【００４８】
ステップ１０３２とステップ１０４２において、モデル補間の具体的な形態を、例を挙げて説明し、
補間合併すべき２つの言語モデルがｂｉｇ＿ｌｍとｓｍａｌｌ＿ｌｍと命名され、２つの言語モデルの合併時の重みがλであると仮定し、具体的な補間方式は下記例１〜４のいずれかによって達成できる。
【００４９】
１、ｓｍａｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率値を（１−λ）＊Ｐ（ｂｉｇ＿ｌｍ）＋λ＊Ｐ（ｓｍａｌｌ＿ｌｍ）に更新し、
２、ｌｍ＿ｓａｍｌｌにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｌｍ＿ｓａｍｌｌに発見できないｎ−ｇｒａｍをｂｉｇ＿ｌｍに挿入し、且つその確率値をλ＊Ｐ（ｓｍａｌｌ＿ｌｍ）と設定し、
３、ｓｍａｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率をｍａｘ（Ｐ（ｂｉｇ＿ｌｍ），Ｐ（ｓｍａｌｌ＿ｌｍ））に更新し、この場合では重みパラメータλが使われていなく、
４、ｓａｍｌｌ＿ｌｍにおけるすべてのｎ−ｇｒａｍをトラバーサルし、ｂｉｇ＿ｌｍにおける対応するｎ−ｇｒａｍ確率をｍａｘ（（１−λ）＊Ｐ（ｂｉｇ＿ｌｍ），λ＊Ｐ（ｓｍａｌｌ＿ｌｍ））に更新する。
【００５０】
上記４種類の補間方式は実際応用の異なる応用分野のニーズに応じて選択できる。本実施例において、言語モデルのログ情報におけるセンテンスに対するカバー、特にいくつかの新しい単語又は新しい構成タイプのセンテンスに対するカバーを拡げるために、本案は上記２番目の種類の方法を選択して対応する補間操作を行う。
【００５１】
本実施例の言語モデルの訓練方法は、オフライン訓練方式によって汎用言語モデルを取得し、オンライン訓練方式によってログ言語モデルを取得し、更に汎用言語モデル、ログ言語モデルによって一次復号化用の第１の融合言語モデルと二次復号化用の第２の融合言語モデルを取得し、ログ言語モデルは新しい単語、ホットワード等のコーパスにより生じたものであるため、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決し、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【００５２】
実際の応用では、上記図１に示される方式によって第１の融合言語モデルと第２の融合言語モデルを取得した後、これらの２つのモデルをデコーダークラスターに応用する前、さらにこれらの２つのモデルに対して言語認識率の検証を行う必要がある。例えば、上記２つの融合言語モデルに対してコンパイル操作を実行し、音声認識に必要な復号化状態図を取得する。更にコンパイルして構築された復号化状態図の言語モデルに対してモデル検証を行う。
【００５３】
具体的には、本実施例において、汎用テスト集合の３つの音声コーパスを用いて音声認識を行い、且つ注記テキストコーパスと対比する。認識テキストが注記テキストと完全に一致すると、モデル検証に成功し、更に上記２つの融合言語モデルをデコーダークラスターの復号化サーバにロードでき、一致しないと、関係者にエラーメッセージをフィードバックする。
【００５４】
図１に示される言語モデルの訓練方法をよりよく説明するために、以下、図２を用いて上記図１におけるステップ１０１を詳しく説明する。
【００５５】
２０１では、各分野のモデル訓練コーパスを収集する。
【００５６】
例えば、ブログデータ、ショートメッセージデータ、ニュースデータ、百科事典、小説及びユーザー音声入力方式データのような少なくとも６つの異なる分野のモデル訓練コーパスを収集し、６種類のモデル訓練コーパスのデータ総量が１０００Ｇより大きくてもよい。
【００５７】
２０２では、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得する。
【００５８】
例えば、各分野のモデル訓練コーパスに対してコーパスクリーニング又はコーパス単語分割等のような前処理を予め行い、更に前処理後のモデル訓練コーパスをそれぞれの言語モデルに生成する。
【００５９】
なお、ある分野のモデル訓練コーパスの規模が非常に大きいが、該分野において訓練して取得された言語モデルの規模に限りがある場合、該分野のモデル訓練コーパスにより該分野の一番目の言語モデルを訓練した後、該一番目の言語モデルに対して、モデル切り取り方式、又は大きな統計回数カットオフ値ｃｕｔｏｆｆを設定する方式を用いて言語モデルを調整し、それにより、該分野の最終的に取得された言語モデルを所定規模の言語モデルに合致させることができる。
【００６０】
２０３では、補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルＬＭ１に生成する。
【００６１】
例えば、最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成する。
【００６２】
２０４では、エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得する。
【００６３】
具体的な応用では、ステップ２０４の前、さらに前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得し、
更に、ステップ２０４を実行する時、言語モデル２ ＬＭ２の規模を前記第１のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００６４】
２０５では、エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得する。
【００６５】
例えば、ステップ２０５の前、さらに前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得し、
これにより、ステップ２０５を実行する時に、言語モデル３ ＬＭ３の規模を前記第２のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００６６】
２０６では、前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得する。
【００６７】
相応的に、ステップ２０６を実行する時、さらに抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得し、この場合、切り取った後の言語モデルＬＭ４の規模を前記第３のパープレキシティ値の変動範囲にマッチングさせてもよい。
【００６８】
つまり、ステップ２０４〜ステップ２０６において、ステップ２０３における汎用言語モデルＬＭ１を一次切り取り言語モデル２ ＬＭ２を得て、ＬＭ２を二次切り取り言語モデル３ ＬＭ３を得て、ＬＭ３から３−ｇｒａｍ言語モデルを抽出し、且つ引き続きそれを切り取り、規模がさらに小さい３−ｇｒａｍ言語モデルＬＭ４を得る。
【００６９】
本実施例の切り取り方式はいずれも下記の最大エントロピーモデルに基づく切り取り方式を採用する。毎回切り取った言語モデルの規模は汎用テスト集合により得られたｐｐｌ値の変動範囲に応じて設定される。
【００７０】
本実施例において、言語モデルの切り取り方式を限定せず、更に、本実施例において、言語モデルの切り取り規模の大きさは経験値に応じて設定されてもよく、本実施例はそれを限定しない。さらに、本実施例において、言語認識率の精度を向上させるために、３回の切り取りを行い、他の実施例において、さらに必要に応じて切り取り回数を設定してもよく、本実施例は例示的なものに過ぎず、それを限定するものではない。
【００７１】
また、上記ステップ２０２にモデル切り取り方式が言及されており、そのため、以下、モデル切り取りの方法を詳しく説明する。
【００７２】
モデル切り取りの方法は主にエントロピーに基づく言語モデル切り取り方法を採用する。具体的には、あるｎグラムの元の言語モデルにおける確率値がｐ（．｜．）であり、切り取った後の言語モデルにおける確率値が
2018502344.tif 000029
であると仮定する。式（１）に示すように切り取る前後の２つの言語モデル間の相対エントロピーを計算し、
2018502344.tif 000030
式（１）では、
2018502344.tif 000031
は出現したすべての単語を示し、
2018502344.tif 000032
はテキスト履歴語彙を示す。エントロピーに基づく言語モデル切り取り方法は切り取り可能なｎグラムを選択して
2018502344.tif 000033
の値を最小化することにより、切り取った後の言語モデル及び切り取った後の言語モデルの規模を確定することを目標とする。
【００７３】
また、上記ステップ２０２に記載の大きな統計回数カットオフ値ｃｕｔｏｆｆを設定する方式は以下のとおりに理解してもよい。
【００７４】
通常、ｃｕｔｏｆｆ値を設定するとは、言語モデルの異なる次数に対して、訓練過程において異なるｎグラム単語の個数のしきい値を設定し、各次の言語モデルにおけるｎグラム単語の個数が該次のしきい値より低いｎグラム単語の個数をゼロに設定する。通常、ｎグラム単語の個数がｃｕｔｏｆｆ値より小さく、算出されるｎグラム単語対の統計確率値が正確ではないからである。
【００７５】
上記ステップ２０２において、主に大きなｃｕｔｏｆｆ値を設定する方式を用いて言語モデルの規模を制御する。具体的な応用では、経験値に応じて各分野の異なるｃｕｔｏｆｆ値を設定する。各分野の言語モデルの訓練を行う過程において、さらに異なる次数の言語モデルのｎグラム単語の個数ファイルを生成できる。
【００７６】
更に、上記ステップ２０３に対して、例を挙げて以下のように説明する。
【００７７】
ステップ２０３において、各分野で訓練して生成された言語モデルを補間により汎用言語モデルＬＭ１に生成する。一般的な補間方式として、最大事後確率補間及びモデル直接補間等の方式が挙げられる。
【００７８】
以下、例を挙げて、最大事後確率補間方法を以下のように説明する。現在汎用訓練コーパス集合Ｉ及び挿入すべき訓練コーパス集合Ａがあるとすると、最大事後確率補間の表現式は、式（２）に示すようになり、
2018502344.tif 000034
式（２）では、３グラムを例として説明し、３−ｇｒａｍの場合で、現在の単語の出現確率が該単語の直前の２つの単語のみに依存する。そのうち、
2018502344.tif 000035
はセンテンスにおける単語を示し、
2018502344.tif 000036
は補間後の３グラムの確率値を示し、
2018502344.tif 000037
は集合Ｉにおける３次単語の個数を示し、
2018502344.tif 000038
は集合Ａにおける３グラムの個数を示し、
2018502344.tif 000039
パラメータは２つの３グラム個数の間の補間重みを示す。
【００７９】
以下、例を挙げてモデル直接補間方法を説明する。モデル直接補間方法は生成された各分野の言語モデルを利用し、上記式（２）に基づき、式（３）に示すように異なる重みに応じて補間により新たな言語モデルを生成し、
2018502344.tif 000040
式（３）では、３グラムを例として説明し、３−ｇｒａｍの場合で、現在の単語の出現確率が該単語の直前の２つの単語のみに依存する。そのうち、
2018502344.tif 000041
は補間後の３グラムの確率値を示し、
2018502344.tif 000042
は補間前の言語モデルｊにおけるｎグラムの確率値を示し、
2018502344.tif 000043
はモデルｊの補間重みを示し、
2018502344.tif 000044
は補間すべきモデルの個数を示す。
【００８０】
実際の応用では、下記２種類の方法に基づいて、ステップ２０３における各言語モデルの補間合併時の重み値を計算できる。
【００８１】
第１種の補間重みの計算方法は、上記の例示した６種類の言語モデルに対して、それぞれ汎用テスト集合においてパープレキシティｐｐｌ推定を行い、ｐｐｌの比に基づいて各種の言語モデルの補間合併時の重みを算出することである。
【００８２】
本実施例におけるパープレキシティは言語モデルの品質を反映し、通常、パープレキシティが小さければ小さいほど、言語モデルの品質が高く、その定義は以下の通りであり、
2018502344.tif 000045
式（４）では、ｎグラムを例として説明する。
2018502344.tif 000046
はｎグラムの確率値を示し、
2018502344.tif 000047
はテストセンテンスにおける単語の個数を示す。
【００８３】
第２種の補間重みの計算方法は、直接に異なる分野のモデル訓練コーパスの大きさの比に基づき、補間重みを設定することである。
【００８４】
本実施例のステップ２０３において、モデル直接補間方式を用いて、各分野で訓練された言語モデルを上記第２種の補間重み計算方法によって計算して得られた重みで、補間によりＬＭ１と記す汎用言語モデルに生成してもよい。
【００８５】
上記図１に示された方法を参照し、本実施例において、オンラインで更新される検索ログ言語モデルを導入し、該モデルと汎用言語モデル及び切り取った後の言語モデルに対して異なる方式の補間演算を行い、２つの異なる規模の融合言語モデルを生成し、且つバックエンド（例えばデコーダークラスター）に提供して複数回の復号化に用いられ、セマンティクス理解の精度を向上させ、ユーザー体験を向上させることに寄与する。
【００８６】
図３は本発明の別の実施例に係る言語モデル更新方法の概略フローチャートを示し、図４は本発明の実施例における言語モデル更新のシステムアーキテクチャ図を示し、図３と図４を参照し、以下、本実施例の言語モデル更新方法を説明する。
【００８７】
３０１では、前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択する。
【００８８】
例えば、図４に示されたデコーダークラスターは６つの復号化サーバを含む。
【００８９】
言語モデルのコンパイルと検証を完了した後、コンパイル済みの言語モデルをデコーダークラスターにおける各復号化サーバにロードできると理解できる。本実施例において、各デコーダークラスターにおける１／３以下の復号化サーバを言語モデルを更新すべき復号化サーバとすることを優先的に選択する。
【００９０】
つまり、本実施例において、Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である。
【００９１】
３０２では、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする。
【００９２】
本実施例におけるコンパイル後の第１の融合言語モデルと第２の融合言語モデルは図４に示された言語モデル自動訓練サーバにより出力される。
【００９３】
具体的な応用では、ローカルサーバはオフライン訓練方式によって上記図１に示された汎用言語モデルと切り取った後の言語モデルを取得し、言語モデル自動訓練サーバはオンライン訓練方式によってログ言語モデルを取得し、上記第１の融合言語モデルと第２の融合言語モデルを取得してコンパイル検証を行い、検証に成功した後にデコーダークラスターに出力して言語モデルを更新する。
【００９４】
３０３では、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化する。
【００９５】
例えば、ロードされた言語モデルを利用して音声認識復号化を行う。具体的には、一次復号化する際に、第１の融合言語モデルを利用して１つの大きな復号化経路ネットワークを生成し、この復号化経路をもとにして第２の融合言語モデルを利用して二次復号化する。
【００９６】
３０４では、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断する。
【００９７】
３０５では、ステップ３０４において各復号化サーバの復号化プロセスがいずれも正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返す。
【００９８】
３０６では、ステップ３０４において少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動する。
【００９９】
つまり、復号化に成功し且つ復号化プロセスがいずれも正常であると、復号化サーバは更新後の言語モデルをバックアップする。復号化に失敗すると、該復号化サーバはロードした言語モデルを削除し、元の言語モデルを改めてロードし、言語モデルを更新せず、同時にエラーメッセージをフィードバックし、且つエラー分析を行う。
【０１００】
デコーダークラスターにおけるほとんどの復号化サーバの言語モデルが更新に成功した場合、エラーが発生した復号化サーバの内容を人工的に確認し、且つリロードのプロセスを達成することができると理解できる。
【０１０１】
なお、図３に示されたステップ３０２において、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードする前、図示されていないが、図３に示された方法は、
前記第１の融合言語モデルと前記第２の融合言語モデルに対してそれぞれコンパイル処理を行い、第１の融合言語モデルの第１の復号化状態図と第２の融合言語モデルの第２の復号化状態図を取得し、汎用テスト集合を用いて前記第１の復号化状態図と前記第２の復号化状態図の言語認識率を検証するステップ３００をさらに含んでもよく、
前記言語認識率が所定範囲内にあると、前記第１の融合言語モデルと前記第２の融合言語モデルが検証に成功したと確認し、且つコンパイルされた第１の融合言語モデル及びコンパイルされた第２の融合言語モデルを取得する。
【０１０２】
さもないと、図４に示されたローカルサーバと言語モデル自動訓練サーバによって新たな言語モデルを再取得できる。
【０１０３】
なお、デコーダークラスターにおける各復号化サーバがロードに成功した後、さらにテストステートメントを利用して、異なる復号化サーバの復号化結果をリアルタイムにサンプリングして検証できる。又は、デコーダークラスターの正常使用を確保するために、汎用テスト集合を利用して言語モデル更新後のクラスターに対して音声認識結果の監視テストを行って、認識結果をリアルタイムに印刷出力し、それにより、汎用テスト集合の音声認識結果の精度を正常の変動範囲内に維持することを確保する。
【０１０４】
つまり、音声復号化の全過程において、汎用テスト集合を利用して作動中の復号化サーバをリアルタイムにサンプリングして検証し、各クラスターにおける各復号化サーバの復号化が正確であることを確保する必要があり、復号化サーバにエラーが発生すると、エラーメッセージをユーザーにリアルタイムにフィードバックし、且つエラー分析を行う。
【０１０５】
それにより、デコーダークラスターは所定期間内に収集された検索ログに基づいて、クラスター内の言語モデルをオンラインで更新し、新しい単語、ホットワードの単語分割の正確率を大幅に向上させ、音声認識の精度を向上させ、最終的にセマンティクス理解のユーザー体験を向上させることができる。
【０１０６】
図５は本発明の一実施例に係る言語モデルの訓練装置の構成概略図を示し、図５に示されるように、本実施例の言語モデルの訓練装置は、汎用言語モデル取得ユニット５１、切り取りユニット５２、ログ言語モデル取得ユニット５３、第１補間合併ユニット５４及び第２補間合併ユニット５５を備え、
汎用言語モデル取得ユニット５１はオフライン訓練方式を用いて汎用言語モデルを取得することに用いられ、
切り取りユニット５２は前記汎用言語モデルを切り取り、切り取った後の言語モデルを取得することに用いられ、
ログ言語モデル取得ユニット５３はオンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することに用いられ、
第１補間合併ユニット５４は前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することに用いられ、
第２補間合併ユニット５５は前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することに用いられる。
【０１０７】
本実施例において、上記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルである。
【０１０８】
例えば、前記ログ言語モデル取得ユニット５３は、具体的には、所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得し、前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することに用いられる。
【０１０９】
具体的な応用では、前記第１補間合併ユニット５４は、具体的には、補間方式を用いて前記切り取った後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、前記第２補間合併ユニット５５は、具体的には、補間方式を用いて前記汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられる。
【０１１０】
別の代替可能な実現シーンでは、前記第１補間合併ユニット５４は、具体的には、所定の規則に基づいて前記切り取った後の言語モデルにおける単文確率を調整し、調整後の言語モデルを取得し、
補間方式を用いて前記調整後の言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第１の融合言語モデルを取得することに用いられ、
及び／又は、前記第２補間合併ユニット５５は、具体的には、所定の規則に基づいて前記汎用言語モデルにおける単文確率を調整し、調整後の汎用言語モデルを取得し、
補間方式を用いて前記調整後の汎用言語モデルと前記ログ言語モデルに対して補間合併を行い、前記第２の融合言語モデルを取得することに用いられる。
【０１１１】
前記汎用言語モデル取得ユニット５１は、具体的には、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することに用いられてもよい。
【０１１２】
別の代替可能な実現シーンでは、前記汎用言語モデル取得ユニット５１は、具体的には、各分野のモデル訓練コーパスを収集し、それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得し、最大事後確率補間方式又はモデル直接補間方式を用いて、収集されたすべての分野の言語モデルを汎用言語モデルに生成することに用いられる。
【０１１３】
更に、上記切り取りユニット５２は、具体的には、エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することに用いられる。
【０１１４】
或いは、別の実施例において、前記切り取りユニット５２はさらに、具体的には、前記汎用言語モデルの汎用テスト集合における第１のパープレキシティ値を計算し、第１のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得し、前記言語モデル２ ＬＭ２の規模が前記第１のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル２ ＬＭ２の汎用テスト集合における第２のパープレキシティ値を計算し、第２のパープレキシティ値の変動範囲を取得し、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得し、前記言語モデル３ ＬＭ３の規模が前記第２のパープレキシティ値の変動範囲にマッチングし、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得し、
抽出されたトライグラム言語モデルの汎用テスト集合における第３のパープレキシティ値を計算し、第３のパープレキシティ値の変動範囲を取得して、前記切り取った後の言語モデルＬＭ４の規模が前記第３のパープレキシティ値の変動範囲にマッチングすることに用いられる。
【０１１５】
本実施例の言語モデルの訓練装置は上記図１〜図２のいずれかに記載の方法のフローを実行してもよく、以上に記載されたので、ここで詳細な説明を省略する。
【０１１６】
本実施例の言語モデルの訓練装置は、オンラインで更新されるログ言語モデルを導入し、該ログ言語モデルと汎用言語モデル、切り取った後の言語モデルに対して異なる方式の補間演算を行い、２つの異なる規模の融合言語モデルを生成し、且つバックエンド（例えばデコーダークラスター）に提供して複数回の復号化に用いられ、セマンティクス理解の精度を向上させ、ユーザー体験を向上させることに寄与する。
【０１１７】
本実施例の言語モデルの訓練装置はサーバのような任意の独立した機器に位置してもよい。すなわち、本発明はさらに上記のいずれかに記載の言語モデルの訓練装置を含む機器を提供する。
【０１１８】
また、具体的な応用では、本実施例はさらに２つ又は複数の機器、例えば複数のサーバによって上記言語モデルの訓練装置の機能を達成できる。例えば、図４に示されたローカルサーバは、言語モデルの訓練装置における汎用言語モデル取得ユニット５１、切り取りユニット５２の機能を達成することに用いられ、図４に示された言語モデル自動訓練サーバは、言語モデルの訓練装置におけるログ言語モデル取得ユニット５３、第１補間合併ユニット５４及び第２補間合併ユニット５５の機能を達成でき、更に言語モデル自動訓練サーバをデコーダークラスターに接続し、検索ログによって新たなコーパスをカバーする言語モデルを取得する時、デコーダークラスターにおける各復号化サーバに使用される言語モデルを更新することを実現し、それにより、従来技術におけるオフラインで取得された言語モデルの新たなコーパスに対するカバーが悪くて、言語認識率が低下してしまう問題を解決でき、更に言語認識率をよく向上させ、ユーザー体験を向上させることができる。
【０１１９】
図６は本発明の一実施例の言語モデルの訓練装置の論理ブロック図を示し、図６を参照し、該装置は、
プロセッサ６０１、メモリ６０２、通信インターフェース６０３及びバス６０４を備え、
前記プロセッサ６０１、メモリ６０２、及び通信インターフェース６０３は前記バス６０４を介して相互間の通信を行い、
前記通信インターフェース６０３は前記復号化サーバとローカルサーバとの通信装置間の情報伝送を行うことに用いられ、
前記プロセッサ６０４は、前記メモリ６０２における論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられる。
【０１２０】
図１を参照し、本実施例は、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを開示する。
【０１２１】
本実施例は上記のようなコンピュータプログラムを記憶する記憶媒体を開示する。
【０１２２】
図７は本発明の一実施例のデコーダークラスターにおける言語モデル更新装置の論理ブロック図を示す。図７を参照し、該装置は、
プロセッサ７０１、メモリ７０２、通信インターフェース７０３及びバス７０４を備え、
前記プロセッサ７０１、メモリ７０２、及び通信インターフェース７０３は前記バス７０４を介して相互間の通信を行い、
前記通信インターフェース７０３は前記復号化サーバとローカルサーバとの通信装置間の情報伝送を行うことに用いられ、
前記プロセッサ７０１は、前記メモリ７０２における論理命令を呼び出すことにより、
前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられる。
【０１２３】
図３を参照し、本実施例は、
前記デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバがコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを開示する。
【０１２４】
本実施例は上記のようなコンピュータプログラムを記憶する記憶媒体を開示する。
【０１２５】
当業者は、上記方法の実施例を実現する全部又は一部のステップをプログラム命令に関連するハードウェアにより実行させることができ、上記プログラムがコンピュータ読み取り可能な記憶媒体に記憶されてもよく、該プログラムを実行すると、上記方法の実施例を含むステップを実行し、上記記憶媒体はＲＯＭ、ＲＡＭ、磁気ディスクや光ディスクなどのプログラムコードを記憶できる様々な媒体を含むと理解できる。
【０１２６】
また、当業者は、ここで説明されるいくつかの実施例は、他の特徴ではなく、他の実施例に含まれるいくつかの特徴を含むが、異なる実施例の特徴の組合せが本発明の範囲内にあり、且つ異なる実施例を形成すると意味すると理解できる。例えば、以下の特許請求の範囲では、保護しようとする実施例のいずれかを任意に組み合わせて使用することができる。
【０１２７】
なお、上記実施例は本発明を説明するものであり、本発明を限定するものではない。当業者は特許請求の範囲を逸脱せずに、代替的な実施例を設計できる。特許請求の範囲では、括弧の間に位置するいかなる参考記号は特許請求の範囲を限定するものではない。単語「含む」は特許請求の範囲に記載されていない素子又はステップを除外しない。素子の前の単語「１つ」又は「１個」は複数のこのような素子を有する場合を除外しない。本発明は複数の異なる素子を備えるハードウェア及び適切にプログラミングされたコンピュータによって達成できる。複数の装置が挙げられるユニットの請求項では、これらの装置のうち、複数の装置は同一ハードウェアによって具体的に具現することができる。単語第１、第２、及び第３等の使用はいずれの順序を意味しない。これらの単語を名称と解釈できる。
【０１２８】
最後に、上記の各実施例は、本発明の技術案を説明するためのものに過ぎず、本発明を限定するものではない。上記各実施例を参照しながら本発明を詳しく説明したが、当業者は、上記の各実施例に記載の技術案を変更するか、或はその一部又は全部の技術的特徴を同等置換することができ、それらの変更や置換によって、対応する技術案の趣旨は本発明の特許請求の範囲に限定される範囲を逸脱することがないと理解できる。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することと、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することと、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得することと、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得することとを含むことを特徴とする言語モデルの訓練方法。
【請求項２】
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得することは、
所定期間内のログ情報を取得し、前記ログ情報をフィルタリングし、且つフィルタリング後のログ情報に対して単語分割処理を行い、所定期間内のログモデル訓練コーパスを取得することと、
前記ログモデル訓練コーパスを訓練し、ログ言語モデルを取得することとを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記切り取った後の言語モデルはトライグラム言語モデルであり、相応的に、前記第１の融合言語モデルはトライグラム融合言語モデルであり、
前記汎用言語モデルはフォーグラム文法言語モデルであり、相応的に、前記第２の融合言語モデルはフォーグラム文法融合言語モデルであることを特徴とする請求項１に記載の方法。
【請求項４】
オフライン訓練方式を用いて汎用言語モデルを取得することは、
各分野のモデル訓練コーパスを収集することと、
それぞれの分野に対して、該分野のモデル訓練コーパスを訓練し、該分野の言語モデルを取得することと、
補間方式を用いて、収集されたすべての分野の対応する言語モデルを汎用言語モデルに生成することとを含むことを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項５】
該汎用言語モデルを切り取り、切り取った後の言語モデルを取得することは、
エントロピーに基づく言語モデル切り取り方式で、前記汎用言語モデルに対して切り取り処理を行い、言語モデル２ ＬＭ２を取得することと、
エントロピーに基づく言語モデル切り取り方式で、前記言語モデル２ ＬＭ２に対して切り取り処理を行い、言語モデル３ ＬＭ３を取得することと、
前記言語モデル３ ＬＭ３からトライグラム言語モデルを抽出し、且つ抽出されたトライグラム言語モデルに対して切り取り処理を行い、切り取った後の言語モデルＬＭ４を取得することとを含むことを特徴とする請求項４に記載の方法。
【請求項６】
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択することと、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードすることと、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化することと、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップすることと、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返すこととを含み、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下であることを特徴とするデコーダークラスターにおける言語モデル更新方法。
【請求項７】
少なくとも１つの復号化サーバの復号化プロセスが正常に完了しなかった場合、該少なくとも１つの復号化サーバの復号化サービスを停止させ、該少なくとも１つの復号化サーバにバックアップされた元の第１の言語モデルと元の第２の言語モデルをロードし、且つ元の第１の言語モデルと元の第２の言語モデルをロードした少なくとも１つの復号化サーバを起動することをさらに含むことを特徴とする請求項６に記載の方法。
【請求項８】
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する方法を実行することに用いられることを特徴とする言語モデルの訓練装置。
【請求項９】
オフライン訓練方式を用いて汎用言語モデルを取得し、且つ該汎用言語モデルを切り取り、切り取った後の言語モデルを取得し、
オンライン訓練方式を用いて所定期間内のログのログ言語モデルを取得し、
前記切り取った後の言語モデルと前記ログ言語モデルを融合し、一次復号化用の第１の融合言語モデルを取得し、
前記汎用言語モデルと前記ログ言語モデルを融合し、二次復号化用の第２の融合言語モデルを取得する操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを記憶する記憶媒体。
【請求項１０】
プロセッサ、メモリ、通信インターフェース及びバスを備え、
前記プロセッサ、メモリ、通信インターフェースは前記バスを介して相互間の通信を行い、
前記通信インターフェースは前記復号化サーバとローカルサーバとの通信装置間の情報伝送に用いられ、
前記プロセッサは前記メモリにおける論理命令を呼び出すことにより、
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である方法を実行することに用いられることを特徴とするデコーダークラスターにおける言語モデル更新装置。
【請求項１１】
デコーダークラスターにおけるＮ個の言語モデルを更新すべき復号化サーバを選択し、
Ｎ個の復号化サーバの復号化サービスを停止させ、コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルを前記Ｎ個の復号化サーバにロードし、
Ｎ個の復号化サーバを起動して、それにより、各復号化サーバはコンパイル後の第１の融合言語モデルを用いて一次復号化し、且つコンパイル後の第２の融合言語モデルを用いて二次復号化し、
各復号化サーバの復号化プロセスが正常に完了したかどうかを判断し、正常に完了した場合、Ｎ個の復号化サーバのそれぞれに対して、前記コンパイル後の第１の融合言語モデルとコンパイル後の第２の融合言語モデルをバックアップし、
前記デコーダークラスターにおけるすべての復号化サーバの更新が完了するまで、Ｎ個の言語モデルを更新すべき復号化サーバを選択するステップを繰り返し、
前記Ｎは正の整数であり、且つ前記デコーダークラスターにおける復号化サーバの総数の１／３以下である操作を実行することに用いられるプログラムコードを含むコンピュータプログラムを記憶する記憶媒体。
【国際調査報告】
2018502344.tif 000048
2018502344.tif 000049
2018502344.tif 000050
2018502344.tif 000051
2018502344.tif 000052
2018502344.tif 000053