(57)【特許請求の範囲】
【請求項１】
自動音声認識方法であって、
１つまたは複数のプロセッサと、前記プロセッサによって実行されるべき１つまたは複数のプログラムを格納するためのメモリとを備えたコンピュータにおいて、
生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するステップと、
前記生の音声コーパスの単語特性を計算し、前記単語特性に基づき分類することによって、複数の音声コーパスカテゴリを取得するステップと、
各音声コーパスカテゴリに適用された言語モデル学習によって、前記複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するステップと、
音響モデルおよび前記プライマリ言語モデルに従って、プライマリデコードリソースを構築するステップと、
前記複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するステップと、
前記プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からｎ個の確率値を有するｎ個の文字列を出力するステップと、
前記複数の分類されたデコードリソースの各々を用いて前記ｎ個の文字列をデコードし、最も高い合成確率を有する文字列を、前記入力音声の認識結果として出力するステップと
を有し、
前記生の音声コーパスの単語特性を計算し、前記単語特性に基づき分類することによって、複数の音声コーパスカテゴリを取得する前記ステップが、
前記生の音声コーパスに基づいて、単語間のアフィリエーション行列を計算するステップと、
単語頻度−逆文書頻度（ＴＦ−ＩＤＦ）方法を用いて、前記生の音声コーパスから単語特性を抽出するステップと、
前記アフィリエーション行列に基づいて、抽出された前記単語特性に次元縮小方法を実施するステップと、
学習のために、次元縮小後に前記単語特性を分類器に入力し、前記複数の音声コーパスカテゴリを出力するステップと
を含み、
前記生の音声コーパスに基づいて、単語間のアフィリエーション行列を計算する前記ステップが、
式
【数１】
0006436494.tif 000006
を用いて、各単語と他の任意の単語との同時発生率を計算し、前記同時発生率に基づいて同時発生行列を構築するステップであって、ここで、fijは、単語iが単語jよりも前に発生する回数であり、dijは、単語iと単語jとの間の平均距離であり、fiは単語iの単語頻度であり、fjは単語jの単語頻度である、ステップと、
前記同時発生行列に基づいて、式
【数２】
0006436494.tif 000007
を用いて、各単語と他の任意の単語との間のアフィリエーション率を計算するステップであって、ここで、ORは、論理OR演算子であって、COijは、単語iと単語jとの間の同時発生率である、ステップと、
前記アフィリエーション率に基づいて前記アフィリエーション行列を構築するステップとをさらに含む、方法。
【請求項２】
前記次元縮小方法が、主成分分析（ＰＣＡ）次元縮小方法である、請求項１に記載の方法。
【請求項３】
前記分類器が、サポートベクトルマシン（ＳＶＭ）分類器である、請求項１に記載の方法。
【請求項４】
前記複数の分類されたデコードリソースの各々を用いて前記ｎ個の文字列をデコードし、最も高い合成確率を有する文字列を、前記入力音声の認識結果として出力する前記ステップが、
前記プライマリデコードリソースを用いてデコードされた各文字列の確率値ｌ（ｗ）を取得するステップと、
分類された各デコードリソースを用いてデコードされた各文字列の確率値ｎ（ｗ）を取得するステップと、
前記確率値ｎ（ｗ）に前記確率値ｌ（ｗ）を乗じて、各文字列の合成確率値ｐ（ｗ）を取得するステップと
を含む、請求項１に記載の方法。
【請求項５】
自動音声認識システムであって、
１つまたは複数のプロセッサと、
前記プロセッサによって実行されるべき１つまたは複数のプログラムを格納するためのメモリと、
生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するように構成されたプライマリ言語モデル学習モジュールと、
前記生の音声コーパスの単語特性を計算し、前記単語特性に基づき分類することによって、複数の音声コーパスカテゴリを取得するように構成された分類処理モジュールと、
各音声コーパスカテゴリに適用された言語モデル学習によって、前記複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するように構成された分類言語モデル学習モジュールと、
音響モデルおよび前記プライマリ言語モデルに従って、プライマリデコードリソースを構築するように構成されたプライマリリソース構築モジュールと、
前記複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するように構成された分類リソース構築モジュールと、
前記プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からｎ個の確率値を有するｎ個の文字列を出力するように構成されたプライマリデコーダと、
前記複数の分類されたデコードリソースの各々を用いて前記ｎ個の文字列をデコードし、最も高い合成確率を有する文字列を、前記入力音声の認識結果として出力するように構成された分類デコーダと
を備え、
前記分類処理モジュールが、
前記生の音声コーパスに基づいて、単語間のアフィリエーション行列を計算するように構成されたアフィリエーション行列モジュールと、
単語頻度−逆文書頻度（ＴＦ−ＩＤＦ）方法を用いて、前記生の音声コーパスから単語特性を抽出するように構成された特性抽出モジュールと、
前記アフィリエーション行列に基づいて、抽出された前記単語特性に次元縮小方法を実施するように構成された次元縮小モジュールと、
次元縮小後に前記単語特性を学習し、前記複数の音声コーパスカテゴリを出力するように構成された分類器とを備え、
前記生の音声コーパスに基づいて、単語間のアフィリエーション行列を計算することが、
式
【数３】
0006436494.tif 000008
を用いて、各単語と他の任意の単語との同時発生率を計算し、前記同時発生率に基づいて同時発生行列を構築することあって、ここで、fijは、単語iが単語jよりも前に発生する回数であり、dijは、単語iと単語jとの間の平均距離であり、fiは単語iの単語頻度であり、fjは単語jの単語頻度であり、
前記同時発生行列に基づいて、式
【数４】
0006436494.tif 000009
を用いて、各単語と他の任意の単語との間のアフィリエーション率を計算することであって、ここで、ORは、論理OR演算子であって、COijは、単語iと単語jとの間の同時発生率であり、
前記アフィリエーション率に基づいて前記アフィリエーション行列を構築することをさらに備えるシステム。
【請求項６】
前記次元縮小モジュールが、主成分分析（ＰＣＡ）次元縮小モジュールである、請求項５に記載のシステム。
【請求項７】
前記分類器が、サポートベクトルマシン（ＳＶＭ）分類器である、請求項５に記載のシステム。
【請求項８】
前記複数の分類されたデコードリソースの各々を用いて前記ｎ個の文字列をデコードし、最も高い合成確率を有する文字列を、前記入力音声の認識結果として出力することが、
前記プライマリデコードリソースを用いてデコードされた各文字列の確率値ｌ（ｗ）を取得することと、
分類された各デコードリソースを用いてデコードされた各文字列の確率値ｎ（ｗ）を取得することと、
前記確率値ｎ（ｗ）に前記確率値ｌ（ｗ）を乗じて、各文字列の合成確率値ｐ（ｗ）を取得することと
を含む、請求項５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2013年1月29日出願の中国特許出願第201310033201.7号、「METHOD AND SYSTEM FOR AUTOMATIC SPEECH RECOGNITION」に対する優先権を主張するものである。引用により、上記中国出願の全内容が本明細書に組み込まれる。
【０００２】
本発明は、自動音声認識(Automatic Speech Recognition，ASR)の技術分野に関し、特に、自動音声認識のための方法およびシステムに関する。
【背景技術】
【０００３】
自動音声認識技術は、人間の音声の語彙内容を、コンピュータによって読取り可能な入力文字に変換する技術の一種である。音声認識は、音響モデル学習、言語モデル学習、デコードリソース構築、およびデコードの4つの処理を主に含む複雑な処理フローを有する。図1は、従来の自動音声認識システムでのメイン処理フローの概略図である。図1を参照すると、メイン処理フローは、以下を含む。
【０００４】
ステップ101およびステップ102において、音響モデルを取得するために、音響マテリアルに従って音響モデル学習を実行することと、同様に、言語モデルを取得するために、生のコーパスに従って言語モデル学習を実行することとを必要とする。
【０００５】
上記の音響モデルは、音声認識システムの最も重要な部分のうちの1つであり、主流である音声認識システムのほとんどは、モデルを構築するために隠れマルコフモデル(Hidden Markov Model，HMM)を採用する。HMMは、隠された未知のパラメータを含むマルコフ処理を記述するために使用される統計モデルである。HMMでは、状態は直接的には目に見えないが、状態によって影響を受けたいくつかの変化が目に見える。音声と単音との間の対応確率は、音響モデルとして記述される。上記の単音は、音声の自然な特性に従って分割された最小の音声単位である。音響特性の態様から、単音は、音質の態様から分割された最小の音声単位であり、生理的特性の態様から、有節発音動作が単音を形成する。
【０００６】
上記の言語モデルの主な構造は、文字列sの確率分布p(s)であり、文として現れる文字列sの確率を反映している。wは、文字列sにおけるすべての語を表すと仮定する。すなわち、以下のように表される。
p(s)=p(w1w2w3...wn)=p(w1)p(w2|w1)p(w3|w1w2)...p(wk|w1w2...wk-1)
【０００７】
ステップ103において、上記の音響モデル、言語モデル、およびプリセットされた辞書に従って、デコードリソースが結果的に構築される。上記のデコードリソースは、重み付け有限状態トランスデューサ(Weighted Finite State Transducer，WFST)ネットワークである。
【０００８】
ステップ104において、デコーダに音声を入力する。上記の音声は、構築されているデコードリソースに従ってデコーダによってデコードされる。そして、最も高い確率値を有する文字列を、上記の入力音声の認識結果として出力する。
【０００９】
しかしながら、従来の音声認識技術のほとんどは、一般的な音声認識のためのモデルを構築する普遍的な音声認識アプリケーションに基づいており、この状況では、言語モデルの学習コーパスは、例えば薬の名前、場所の名前等のように、言語モデルの学習コーパスにおいて不明瞭な語がさほど頻繁ではないので、ユーザの音声の癖をある程度良好に反映し、しばしば日常表現にはより良好な認識効果を有しているが、データ収集およびユーザの実際の入力に基づいているので、効果的な確率統計モデルを形成することはできず、言語モデルにおける不明瞭な語に対応する文字列の確率値が非常に低い。よって、ユーザによって発声された不明瞭な語を認識する必要がある場合、データオフセットの問題がしばしば発生する。これは、認識された文字列がユーザによって発声された語ではないこと、換言すれば、不明瞭な語の音声の認識精度が低く、したがって、より良好な認識結果を達成することが困難であることを意味する。
【発明の概要】
【課題を解決するための手段】
【００１０】
いくつかの実施形態によれば、自動音声認識方法は、1つまたは複数のプロセッサと、これらプロセッサによって実行されるべき1つまたは複数のプログラムを格納するためのメモリとを備えたコンピュータにおいて、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップと、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するステップと、分類された各言語モデルに、重み付け補間を実施することによって、補間言語モデルを取得し、補間された複数の分類された言語モデルをマージするステップと、音響モデルおよび補間言語モデルに従ってデコードリソースを構築するステップと、デコードリソースを用いて入力音声をデコードし、最も高い確率を有する文字列を、入力音声の認識結果として出力するステップとを有する。
【００１１】
いくつかの実施形態によれば、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップは、生のコーパスに基づいて、単語間のアフィリエーション行列を計算するステップと、単語頻度-逆文書頻度(term frequency - inverse document frequency，TF-IDF)方法を用いて、生のコーパスから単語特性を抽出するステップと、アフィリエーション行列に基づいて、抽出された単語特性に次元縮小方法を実施するステップと、学習のために、次元縮小後に単語特性を分類器に入力し、複数の音声コーパスカテゴリを出力するステップとをさらに含む。
【００１２】
いくつかの実施形態によれば、生のコーパスに基づいて、単語間のアフィリエーション行列を計算するステップは、式
【数５】
0006436494.tif 000002
を用いて、各単語と他の任意の単語との同時発生率を計算し、同時発生率に基づいて同時発生行列を構築するステップであって、ここで、fijは、単語iが単語jよりも前に発生する回数であり、dijは、単語iと単語jとの間の平均距離であり、fiは単語iの単語頻度であり、fjは単語jの単語頻度である、ステップと、同時発生行列に基づいて、式
【数６】
0006436494.tif 000003
を用いて、各単語と他の任意の単語との間のアフィリエーション率を計算するステップと、アフィリエーション率に基づいてアフィリエーション行列を構築するステップとをさらに含む。
【００１３】
いくつかの実施形態によれば、次元縮小方法は、主成分分析(principal components analysis，PCA)次元縮小方法である。
【００１４】
いくつかの実施形態によれば、分類器は、サポートベクトルマシン(support vector machine，SVM)分類器である。
いくつかの実施形態によれば、重み付け補間処理は、分類された各言語モデルに対して、それぞれの音声コーパスカテゴリの不明瞭さの度合いに基づいて実施される。音声コーパスカテゴリの不明瞭さの度合いは、重み付け値と正の相関関係にある。
【００１５】
いくつかの実施形態によれば、自動音声認識方法は、1つまたは複数のプロセッサと、これらプロセッサによって実行されるべき1つまたは複数のプログラムを格納するためのメモリとを備えたコンピュータにおいて、生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するステップと、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップと、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するステップと、音響モデルおよびプライマリ言語モデルに従って、プライマリデコードリソースを構築するステップと、複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するステップと、プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からn個の確率値を有するn個の文字列を出力するステップと、複数の分類されたデコードリソースの各々を用いてn個の文字列をデコードし、最も高い合成確率を有する文字列を、入力音声の認識結果として出力するステップとを有する。
【００１６】
いくつかの実施形態によれば、複数の分類されたデコードリソースの各々を用いてn個の文字列をデコードし、最も高い合成確率を有する文字列を、入力音声の認識結果として出力するステップは、プライマリデコードリソースを用いてデコードされた各文字列の確率値l(w)を取得するステップと、分類された各デコードリソースを用いてデコードされた各文字列の確率値n(w)を取得するステップと、確率値n(w)に確率値l(w)を乗じて、各文字列の合成確率値p(w)を取得するステップとをさらに含む。
【００１７】
いくつかの実施形態によれば、自動音声認識システムは、1つまたは複数のプロセッサと、これらプロセッサによって実行されるべき1つまたは複数のプログラムを格納するためのメモリと、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するように構成された分類処理モジュールと、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するように構成された分類言語モデル学習モジュールと、分類された各言語モデルに重み付け補間を実施することによって、補間言語モデルを取得し、補間された複数の分類された言語モデルをマージするように構成された重み付けマージモジュールと、音響モデルおよび補間言語モデルに従ってデコードリソースを構築するように構成されたリソース構築モジュールと、デコードリソースを用いて入力音声をデコードし、最も高い確率を有する文字列を、入力音声の認識結果として出力するように構成されたデコーダとを備える。
【００１８】
いくつかの実施形態によれば、自動音声認識システムは、1つまたは複数のプロセッサと、これらプロセッサによって実行されるべき1つまたは複数のプログラムを格納するためのメモリと、生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するように構成されたプライマリ言語モデル学習モジュールと、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するように構成された分類処理モジュールと、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するように構成された分類言語モデル学習モジュールと、音響モデルおよびプライマリ言語モデルに従って、プライマリデコードリソースを構築するように構成されたプライマリリソース構築モジュールと、複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するように構成された分類リソース構築モジュールと、プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からn個の確率値を有するn個の文字列を出力するように構成されたプライマリデコーダと、複数の分類されたデコードリソースの各々を用いてn個の文字列をデコードし、最も高い合成確率を有する文字列を、入力音声の認識結果として出力するように構成された分類デコーダとを備える。
【００１９】
本発明の前述した特徴および利点は、その追加の特徴および利点と同様に、図面と連携して理解された場合に、好適な実施形態の詳細な説明の結果として以下においてより明確に理解されるであろう。
【図面の簡単な説明】
【００２０】
【図１】従来の自動音声認識システムにおけるメイン処理フローの概略図である。
【図２】本発明による自動音声認識方法の処理フローチャートである。
【図３】本発明による自動音声認識方法の別の処理フローチャートである。
【図４】本発明による生のコーパスのためのコーパス分類計算から取得される2つ以上の分類コーパスのうちの異なるカテゴリの具体的な処理フローチャートである。
【図５】本発明による音声認識システムの構成概略図である。
【図６】本発明による別の音声認識システムの構成概略図である。
【図７】図5および図6に記載の分類処理モジュールの構成概略図である。
【図８】本発明のいくつかの実施形態に従う自動音声認識方法のフローチャートである。
【図９】本発明のいくつかの実施形態に従う自動音声認識方法の別のフローチャートである。
【図１０】本発明のいくつかの実施形態に従う自動音声認識システム方法のコンピュータ図である。
【図１１】本発明のいくつかの実施形態に従う自動音声認識方法のさらに別のフローチャートである。
【図１２】本発明のいくつかの実施形態に従う自動音声認識システム方法の別のコンピュータ図である。
【発明を実施するための形態】
【００２１】
同一の参照符号は、これら図面のいくつかの見方を通じて対応する部分を指している。
【００２２】
実施形態に対する参照が詳細になされ、これらの例は、添付の図面に例示される。以下の詳細な説明では、本明細書で示されている主題の十分な理解を提供するために、多くの具体的な詳細が記載されている。しかしながら、この主題は、これら具体的な詳細無しで実現され得ることが当業者に明らかになるであろう。他の事例では、周知の方法、手順、構成要素、および回路は、実施形態の態様を不必要に不明瞭にしないように、詳細には記載されていない。
【００２３】
以下は、添付の図面および具体的な実施形態と組み合わされて、本発明に対するさらに詳細な説明となるであろう。
【００２４】
図2は、本発明による自動音声認識方法の処理フローチャートである。図2を参照すると、このフローは、以下を含む。
【００２５】
ステップ201において、2つ以上の分類コーパスのうちの異なるカテゴリを取得するために、生のコーパスのコーパス分類計算を実行する。例えば、上記の分類コーパスは、人の名前、場所の名前、コンピュータ用語、医学用語等のような多くのタイプに分割され得る。例えば、「isatis root」は医学用語の分類に属する。用語は、マルチ分類に属し得る。
【００２６】
ステップ202において、2つ以上の対応する分類言語モデルを取得するために、上記のすべての分類コーパスのための言語モデル学習計算を実行する。
【００２７】
ステップ203において、上記の分類言語モデルの各々のための重み付け補間の処理を、分類の不明瞭さの度合いに基づいて実行する。このモデルの中では、分類の不明瞭さの度合いと、この分類に対応する重み付け値とが、正の相関関係を有する。換言すれば、不明瞭さの度合いが高くなるほど、対応する重み付け値が高くなる。そして、重み付け補間の処理後、補間言語モデルを取得するために、分類言語モデルがマージされる。したがって、補間言語モデルでは、不明瞭な語に対応する文字列の確率値がそれに対応して増加し、したがって、一般に使用されている語に対応する文字列の確率値との差分が減少し、不明瞭な語の音声認識確率が向上するであろう。
【００２８】
ステップ204において、音響モデルおよび上記の補間言語モデルに従ってデコードリソースを構築する。ここで、音響モデルは良好に学習されており、本発明は、現在の音響モデルを直接使用できることが仮定される。さらに、この分野における専門家は、デコードリソースを構築する処理において、デコードリソースを構築するために、辞書の関与が必要であることを理解している。
【００２９】
ステップ205において、上記のデコードリソースに従って、入力音声をデコードし、最も高い確率値を有する文字列を、上記の入力音声の認識結果として出力する。
【００３０】
図3は、本発明による自動音声認識方法の別の処理フローチャートである。図3を参照すると、このフローは、以下を含む。
【００３１】
ステップ301において、プライマリ言語モデルを取得するために、生のコーパスに従って、言語モデル学習の計算を実行する。ここで、言語モデル学習は、従来の規則的な言語モデル学習である。
【００３２】
ステップ302において、2つ以上の分類コーパスのうちの異なるカテゴリを取得するために、生のコーパスのコーパス分類計算を実行する。
【００３３】
ステップ303において、2つ以上の対応する分類言語モデルを取得するために、上記のすべての分類コーパスのための言語モデル学習計算を実行する。
【００３４】
ステップ304からステップ305において、音響モデルおよび上記のプライマリ言語モデルに従って、プライマリデコードリソースを構築し、上記の分類言語モデルの各々に従って、対応する分類デコードリソースを構築する。上記のプライマリデコードリソースは、第1のデコード中に使用され、上記の分類デコードリソースは、第2のデコード中に使用される。
【００３５】
ステップ306において、上記のプライマリデコードリソースに従って、入力音声をデコードする。これは、第1のデコードである。そして、確率値l(w)が上位n個にランクしているn個の文字列を出力する。上記の確率値l(w)は、プライマリ言語モデルにおける音声に対応する文字列の確率値である。
【００３６】
ステップ307において、すべての分類言語モデルにおけるすべての文字列の確率値n(w)を取得するために、上記の様々な分類言語モデルに順に対応する様々なデコードリソースに従って、上記のn個の文字列をそれぞれデコードする。ここで、m個の分類言語モデルが存在し、n×m個の確率値n(w)が取得されるであろうと仮定される。その後、n×m個の合成確率p(w)を得るために、プライマリ言語モデルにおけるこのような文字列の確率値l(w)を、各分類言語モデルにおける各文字列の確率値n(w)に乗じ、最も高い合成確率p(w)を有する文字列を、上記の入力音声の認識結果として出力する。
【００３７】
上記のステップ201およびステップ302において、2つ以上の分類コーパスのうちの異なるカテゴリを取得するために、生のコーパスのコーパス分類計算を実行する、上記の具体的な方式は、図4に図示されたようなものであり、具体的には以下を含む。
【００３８】
ステップ401において、生のコーパスに従って、単語間のアフィニティ行列を計算する。
【００３９】
上記の生のコーパスは、学習テキストである。本発明は、単語のアフィニティ行列(同時発生行列という用語としても知られている)を構築することによって、単語間の意味的な関係を記述する。人間の認識レベルでは、単語は常に、他の単語に関連付けられているが、分離して存在していない。この関係は、例えば、「医者」という語を聞くことで、人が、「患者」または「看護婦」に関連付けたり、「猫」という語を聞くことで、人が「犬」を関連付けたり、「男の子」という語を聞くことで、人が「女の子」を関連付けたり、「ドリンク」が「水」に関連付けられるような活性化効果によって表現され得る。
【００４０】
よって、このステップ401では、まず、すべての単語と別の単語との単語同時発生を計算する。具体的な内容は以下を含む。
【００４１】
すべての単語と別の単語との単語同時発生を計算するために、式
【数３】
0006436494.tif 000004
に従って生のコーパスを分析し、単語間の単語同時発生行列を構築する。ここで、上記のfijは、単語iが単語jよりも前に発生する回数であり、dijは、単語iと単語jとの間の平均距離であり、fiは、単語iの単語頻度であり、fjは、単語jの単語頻度である。
【００４２】
上記の単語同時発生行列および式
【数７】
0006436494.tif 000005
に従って、単語間のアフィニティを計算し、単語間のアフィニティ行列を構築する。
【００４３】
上記のアフィニティは、2つの単語のインリンク間のみならず、アウトリンク間のオーバラップ部分の相乗平均として定義される。当然ながら、アフィニティ行列という用語は、対称行列であり、無向ネットワークである。隣接の順序において、前面における単語は、基本的には、同義語、同義語に近い、または、非常に関連した単語である。アフィニティネットワークでは、2つの結節点の間の端部のアフィニティがより強ければ、より関連性があり、アフィニティは非常に弱く、2つの結節点の間に端部さえも存在しないのであれば、それらがほとんど無関係であることを示す。Aijを計算することによって、単語間の共分散行列を構築できる。この共分散行列は、アフィニティ行列であり、このアフィニティ行列では、アフィニティによってソートされることによって、非常に小さなアフィニティの部分が省略され得る。これによって、オリジナルの生のコーパスの単語特性ベクトルの次元と比較して、このアフィニティ行列の次元は、はるかに小さい。
【００４４】
ステップ402において、単語頻度-逆文書頻度(TF-IDF)の方法を用いて、生のコーパスから単語特性を抽出する。
【００４５】
本発明のテキスト分類で適用される主なモデルは、テキストのベクトル空間モデル(Vector Space Model，VSM)である。VSMの基本概念は、テキストの特性ベクトル<W1, W2, W3, ..., Wn>を用いてテキストを表現することである。この中で、Wiはi番目の特性項目の重みである。よって、VSMに基づく分類の重要なステップは、テキストから、分類を反映する有効な特性をどのように抽出するかである。このステップ402では、本発明は、TF-IDF特性を用いて、wの重みを示す生のコーパスから単語特性を抽出するTF-IDF方法を採用する。
【００４６】
所与のファイルにおいて、単語頻度(term frequency，TF)は、所与の単語がこのファイルにおいて現れる回数を指す。この数は、しばしば、長いファイルに対する誤った傾向を回避するために、標準化されるであろう。この単語が重要であるか否かに関わらず、同じ単語は、短いファイルよりも、長いファイルにおいて、より高い頻度を有し得る。逆文書頻度(inverse document frequency，IDF)は、単語の一般化可能な重要度のスケールである。具体的な単語のIDFは、ファイルの合計数を、この単語を含むファイルの数で除し、結果として得られた商の対数を取ることによって計算され得る。具体的なファイルにおける高い単語頻度のみならず、ファイル全体におけるこの単語の低いファイル頻度が、高い重み付けを持つTF-IDFを生成し得る。したがって、TF-IDFは、ファイル内に特別な単語を維持し、高い頻度の単語をフィルタする傾向にある。したがって、このTF-IDF方法を用いて、生のコーパスから、比較的不明瞭な語の単語特性を抽出し得る。
【００４７】
ステップ403において、上記のアフィニティ行列に従って、抽出された単語特性の次元縮小を処理するために、次元縮小方法を使用し得る。
【００４８】
このステップ403では、上記の次元縮小方法は様々であり得る。しかしながら、好適な実施形態では、実施するために主成分分析(PCA)次元縮小方法を適用し得る。ステップ402において抽出された単語特性ベクトルの次元が高いことによって、例えば、ここでは、N次元であると仮定されるが、ステップ401では、より低い次元のアフィニティ行列が言及され、例えば、ここでは、M次元であると仮定される。Nは、Mよりもはるかに大きい。その後、次元縮小の処理後、上記のN次元の単語特性ベクトルの次元が、M次元に縮小される。換言すれば、次元縮小の処理によって、ノイズデータの影響を低減し、時間複雑性および空間複雑性等を低減し、小さなアフィニティしか有さない単語の組合せがフィルタされ得る。
【００４９】
ステップ404において、次元縮小の処理後、学習のために単語特性を分類器に入力し、2つ以上の分類コーパスのうちの異なるカテゴリを出力する。
【００５０】
分類器は一種のコンピュータプログラムであり、入力データを既知の分類に自動的に分類し得る。このステップ404では、上記の分類器は、現在のある分類器を採用し得る。例えば、好適な実施形態では、上記の分類器は、サポートベクトルマシン(SVM)分類器である。テスト後、20の分類における本発明の分類結果は、92%の精度に達し得る。
【００５１】
当然ながら、本発明は、図4に記載の生のコーパスのコーパス分類計算を実行する方法に加えて、生のコーパスを分類するためのその他の現在のコーパス分類計算方法をも適用し得る。しかしながら、図4に記載の方法は、より高い精度およびより速い速度を有している。
【００５２】
また、前述した方法に対応して、本発明は、前述した方法を実施するための音声認識システムを開示する。
【００５３】
図5は、本発明による、ある音声認識システムの構成概略図である。図5を参照すると、このシステムは、分類処理モジュール501と、分類言語モデル学習モジュール502と、重み付けマージモジュール503と、リソース構築モジュール504と、デコーダ505とを含む。
【００５４】
分類処理モジュール501は、2つ以上の分類コーパスのうちの異なるカテゴリを取得するために、生のコーパスのためのコーパス分類計算を実行するように構成される。
【００５５】
分類言語モデル学習モジュール502は、2つ以上の対応する分類言語モデルを取得するために、上記のすべての分類コーパスのための言語モデル学習計算を実行するように構成される。
【００５６】
重み付けマージモジュール503は、分類の不明瞭さの度合いに基づいて、上記の分類言語モデルの各々のための重み付け補間の処理を実行するように構成される。このモデルの中では、分類の不明瞭さの度合いと、この分類に対応する重み付け値とが、正の相関関係を有する。換言すれば、不明瞭さの度合いが高くなるほど、対応する重み付け値が高くなる。そして、補間言語モデルを取得するために、重み付け補間の処理後、分類言語モデルがマージされる。
【００５７】
リソース構築モジュール504は、音響モデルおよび上記の補間言語モデルに従ってデコードリソースを構築するように構成される。
【００５８】
デコーダ505は、上記のデコードリソースに従って、入力音声をデコードし、最も高い確率値を有する文字列を、上記の入力音声の認識結果として出力するように構成される。
【００５９】
図6は、本発明による別の音声認識システムの構成概略図である。図6を参照すると、このシステムは、プライマリ言語モデル学習モジュール601と、分類処理モジュール602と、分類言語モデル学習モジュール603と、プライマリリソース構築モジュール604と、分類リソース構築モジュール605と、第1デコーダ606と、第2デコーダ607とを含む。
【００６０】
プライマリ言語モデル学習モジュール601は、プライマリ言語モデルを取得するために、生のコーパスに従って、言語モデル学習の計算を実行するように構成される。ここで、言語モデル学習は、従来の規則的な言語モデル学習である。
【００６１】
分類処理モジュール602は、2つ以上の分類コーパスのうちの異なるカテゴリを取得するために、生のコーパスのコーパス分類計算を実行するように構成される。
【００６２】
分類言語モデル学習モジュール603は、2つ以上の対応する分類言語モデルを取得するために、上記のすべての分類コーパスのための言語モデル学習計算を実行するように構成される。
【００６３】
プライマリリソース構築モジュール604は、音響モデルおよび上記のプライマリ言語モデルに従って、プライマリデコードリソースを構築するように構成される。
【００６４】
分類リソース構築モジュール605は、上記の様々な分類言語モデルに従って、対応する分類デコードリソースを構築するように構成される。
【００６５】
第1デコーダ606は、上記のプライマリデコードリソースに従って、入力音声をデコードし、確率値l(w)が上位n個にランクしているn個の文字列を出力するように構成される。
【００６６】
第2デコーダ607は、上記の様々な分類言語モデルに順に対応する様々な分類デコードリソースに従って、すべての分類言語モデルにおけるすべての文字列の確率値n(w)を取得するために、上記のn個の文字列をそれぞれデコードし、合成確率p(w)を得るために、プライマリ言語モデルにおけるこのような文字列の確率値l(w)を、各分類言語モデルにおける各文字列の確率値n(w)に乗じ、最も高い合成確率p(w)を有する文字列を、上記の入力音声の認識結果として出力するように構成される。
【００６７】
図7は、図5および図6に記載の分類処理モジュールの構成概略図である。図7を参照すると、上記の分類処理モジュールは、具体的には、アフィニティ行列モジュール701と、特性抽出モジュール702と、次元縮小モジュール703と、分類器704とを含む。
【００６８】
アフィニティ行列モジュール701は、生のコーパスに従って、単語間のアフィニティ行列を計算するように構成される。具体的な計算方法に関しては、前述したステップ401およびステップ404を参照されたい。
【００６９】
特性抽出モジュール702は、生のコーパスから単語特性を抽出するためにTF-IDF方法を用いるように構成される。
【００７０】
次元縮小モジュール703は、上記のアフィニティ行列に従って、抽出された単語特性の次元縮小を処理するために、次元縮小方法を使用するように構成される。好適な実施形態では、上記の次元縮小モジュールは、PCA次元縮小モジュールである。
【００７１】
分類器704は、次元縮小の処理後、学習のために単語特性を分類器に入力し、2つ以上の分類コーパスのうちの異なるカテゴリを出力するように構成される。好適な実施形態では、上記の分類器は、SVM分類器である。
【００７２】
本発明による音声認識方法およびシステムは、垂直場における音声認識、音声キーワードの認識、および音声Q&Aシステム等の技術分野において適用可能である。さらに、これは、埋込式プラットフォームおよびPCプラットフォームを含む複数のプラットフォームをサポートし得る。
【００７３】
図8は、本発明のいくつかの実施形態に従う自動音声認識方法のフローチャートである。自動音声認識方法は、1つまたは複数のプロセッサと、これらプロセッサによって実行されるべき1つまたは複数のプログラムを格納するためのメモリとを備えたコンピュータにおいて、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップ801と、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するステップ802と、分類された各言語モデルに、重み付け補間を実施することによって、補間言語モデルを取得し、補間された複数の分類された言語モデルをマージするステップ803と、音響モデルおよび補間言語モデルに従ってデコードリソースを構築するステップ804と、デコードリソースを用いて入力音声をデコードし、最も高い確率を有する文字列を、入力音声の認識結果として出力するステップ805とを有する。
【００７４】
図9は、本発明のいくつかの実施形態に従う自動音声認識方法の別のフローチャートである。生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップは、生のコーパスに基づいて、単語間のアフィリエーション行列を計算するステップ901と、単語頻度-逆文書頻度(TF-IDF)方法を用いて、生のコーパスから単語特性を抽出するステップ902と、アフィリエーション行列に基づいて、抽出された単語特性に次元縮小方法を実施するステップと、学習のために、次元縮小後に単語特性を分類器に入力するステップ903と、複数の音声コーパスカテゴリを出力するステップ904とをさらに含む。
【００７５】
図10は、本発明のいくつかの実施形態に従う自動音声認識システム方法のコンピュータ図解である。自動音声認識システムは、CPU 1002と、ディスプレイ1003と、ネットワークインターフェース1004と、入力デバイス1005と、メモリ1006と、オペレーティングシステム1010と、ネットワーク通信モジュール1012と、ユーザインターフェースモジュール1014と、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するように構成された分類処理モジュール1016と、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するように構成された分類言語モデル学習モジュール1050と、分類された各言語モデルに、重み付け補間を実施することによって、補間言語モデルを取得し、補間された複数の分類された言語モデルをマージするように構成された重み付けマージモジュール1052と、音響モデルおよび補間言語モデルに従ってデコードリソースを構築するように構成されたリソース構築モジュール1054と、デコードリソースを用いて入力音声をデコードし、最も高い確率を有する文字列を、入力音声の認識結果として出力するように構成されたデコーダ1056とを備える。分類処理モジュール1016は、生のコーパスに基づいて、単語間のアフィリエーション行列を計算するように構成されたアフィリエーション行列モジュール1018と、単語頻度-逆文書頻度(TF-IDF)方法を用いて、生のコーパスから単語特性を抽出するように構成された特性抽出モジュール1020と、アフィリエーション行列に基づいて、抽出された単語特性に次元縮小方法を実施するように構成された次元縮小モジュール1022と、次元縮小後に単語特性を学習し、複数の音声コーパスカテゴリを出力するように構成された分類器1024とをさらに備える。
【００７６】
図11は、本発明のいくつかの実施形態に従う自動音声認識方法のさらに別のフローチャートである。自動音声認識方法は、生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するステップ1101と、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するステップ1102と、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するステップ1103と、音響モデルおよびプライマリ言語モデルに従って、プライマリデコードリソースを構築するステップ1104と、複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するステップ1105と、プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からn個の確率値を有するn個の文字列を出力するステップ1106と、複数の分類されたデコードリソースの各々を用いてn個の文字列をデコードし、最も高い合成確率を有する文字列を、入力音声の認識結果として出力するステップ1107とを有する。
【００７７】
図12は、本発明のいくつかの実施形態に従う自動音声認識システム方法の別のコンピュータ図解である。自動音声認識システムは、CPU 1202と、ディスプレイ1203と、ネットワークインターフェース1204と、入力デバイス1205と、メモリ1206と、オペレーションシステム1210と、ネットワーク通信モジュール1212と、ユーザインターフェースモジュール1214と、生の音声コーパスに適用された言語モデル学習によって、プライマリ言語モデルを取得するように構成されたプライマリ言語モデル学習モジュール1216と、生の音声コーパスの分類および計算によって、複数の音声コーパスカテゴリを取得するように構成された分類処理モジュール1218と、各音声コーパスカテゴリに適用された言語モデル学習によって、複数の音声コーパスカテゴリにそれぞれ対応する、複数の分類された言語モデルを取得するように構成された分類言語モデル学習モジュール1250と、音響モデルおよびプライマリ言語モデルに従って、プライマリデコードリソースを構築するように構成されたプライマリリソース構築モジュール1252と、複数の分類された言語モデルにそれぞれ従って、複数の分類されたデコードリソースを構築するように構成された分類リソース構築モジュール1254と、プライマリデコードリソースを用いて入力音声をデコードし、最も高い方からn個の確率値を有するn個の文字列を出力するように構成されたプライマリデコーダ1256と、複数の分類されたデコードリソースの各々を用いてn個の文字列をデコードし、最も高い合成確率を有する文字列を、入力音声の認識結果として出力するように構成された分類デコーダ1258とを備える。分類処理モジュール1218は、生のコーパスに基づいて、単語間のアフィリエーション行列を計算するように構成されたアフィリエーション行列モジュール1220と、単語頻度-逆文書頻度(TF-IDF)方法を用いて、生のコーパスから単語特性を抽出するように構成された特性抽出モジュール1222と、アフィリエーション行列に基づいて、抽出された単語特性に次元縮小方法を実施するように構成された次元縮小モジュール1224と、次元縮小後に単語特性を学習し、複数の音声コーパスカテゴリを出力するように構成された分類器1226とをさらに備える。
【００７８】
特定の実施形態が前述されたが、本発明をこれら特定の実施形態に限定することは意図されていないことが理解されるであろう。一方、本発明は、添付された特許請求の範囲の精神および範囲内にある代替例、修正例、および均等物を含んでいる。本明細書において示された主題の完全な理解を提供するために、多くの具体的な詳細が記載されている。しかしながら、この主題は、これら具体的な詳細無しで実現され得ることが当業者には明白であろう。他の事例では、周知の方法、手順、構成要素、および回路は、実施形態の態様を不必要に不明瞭にしないように、詳細には記載されていない。
【００７９】
本明細書における本発明の記載において使用される用語は、特定の実施形態を記載することだけを目的とし、本発明を限定することは意図されていない。本発明および添付された特許請求の範囲の記載において使用されているように、単数形である「a」、「an」、および「the」は、そうではないと明確にコンテキストが示していないのであれば、複数形をも同様に含むことが意図されている。本明細書において使用されるような用語「および/または」は、関連付けられて列挙された項目のうちの1つまたは複数のうちの任意およびすべての可能な組合せを称し、かつ包含していることもまた理解されるであろう。「含む」、「含んでいる」、「備える」、および/または、「備えている」といった用語は、本明細書において使用されている場合、述べられた特徴、動作、要素、および/または、構成要素の存在を明示しているが、1つまたは複数のその他の特徴、動作、要素、構成要素、および/またはこれらのグループの存在または追加を除外していない、ということがさらに理解されるであろう。
【００８０】
本明細書で使用されるように、「〜であれば」という用語は、コンテキストに依存して、先に述べられた条件文が真「である場合」または「であれば」または「であると判定することに応じて」または「であるとの判定に従って」または「であることを検知することに応じて」を意味するように解釈され得る。同様に、「[先に述べられた条件文が真]であると判定されたのであれば」または「[先に述べられた条件文が真]であれば」または「[先に述べられた条件文が真]である場合」という句は、コンテキストに依存して、先に述べられた条件文が真「であると判定されると」または「であると判定することに応じて」または「であるとの判定に従って」または「であると検知されると」または「であることを検知することに応じて」を意味するように解釈され得る。
【００８１】
様々な図面のうちのいくつかは、多くの論理ステージを特定の順序で例示しているが、順序に依存しないステージが再び順序付けられ、他のステージが組み合わされるか、または分割され得る。いくつかの再順序付けまたは別のグルーピングが具体的に述べられているが、その他のものが当業者に対して明らかになるであろうから、代替例の網羅的なリストを示してはいない。さらに、これらステージは、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せで実現され得ることが認識されよう。
【００８２】
前述した記載は、説明を目的として、特定の実施形態に関して記載されている。しかしながら、上記の例示的な議論は、網羅的であることも、または、開示された正確な形態に本発明を限定することも意図されていない。上記の教示を考慮して、多くの修正例および変形例が実現可能である。実施形態は、本発明およびその現実的な応用の原理を最も良く説明し、それによって、他の当業者が、本発明および様々な実施形態を、様々な修正とともに、考慮されている特定の用途に適合されたものとして最も良く利用できるようにするために、選択および記載される。
【符号の説明】
【００８３】
501  分類処理モジュール
502  分類言語モデル学習モジュール
503  重み付けマージモジュール
504  リソース構築モジュール
505  デコーダ
601  プライマリ言語モデル学習モジュール
602  分類処理モジュール
603  分類言語モデル学習モジュール
604  プライマリリソース構築モジュール
605  分類リソース構築モジュール
606  第1デコーダ
607  第2デコーダ
701  アフィニティ行列モジュール
702  特性抽出モジュール
703  次元縮小モジュール
704  分類器
1000  コンピュータ
1002  CPU
1003  ディスプレイ
1004  ネットワークインターフェース
1005  入力デバイス
1006  メモリ
1010  オペレーティングシステム
1012  ネットワーク通信モジュール
1014  ユーザインターフェースモジュール
1016  分類処理モジュール
1018  アフィリエーション行列モジュール
1020  特性抽出モジュール
1022  次元縮小モジュール
1024  分類器
1050  分類言語モデル学習モジュール
1052  重み付けマージモジュール
1054  リソース構築モジュール
1056  デコーダ
1200  コンピュータ
1202  CPU
1203  ディスプレイ
1204  ネットワークインターフェース
1205  入力デバイス
1206  メモリ
1210  オペレーティングシステム
1212  ネットワーク通信モジュール
1214  ユーザインターフェースモジュール
1216  プライマリ言語モデル学習モジュール
1218  分類処理モジュール
1220  アフィリエーション行列モジュール
1222  特性抽出モジュール
1224  次元縮小モジュール
1226  分類器
1250  分類言語モデル学習モジュール
1252  プライマリリソース構築モジュール
1254  分類リソース構築モジュール
1256  プライマリデコーダ
1258  分類デコーダ
【図１】
0006436494.tif 000010
【図２】
0006436494.tif 000011
【図３】
0006436494.tif 000012
【図４】
0006436494.tif 000013
【図５】
0006436494.tif 000014
【図６】
0006436494.tif 000015
【図７】
0006436494.tif 000016
【図８】
0006436494.tif 000017
【図９】
0006436494.tif 000018
【図１０】
0006436494.tif 000019
【図１１】
0006436494.tif 000020
【図１２】
0006436494.tif 000021