(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-07
(45)【発行日】2022-01-21
(54)【発明の名称】音声キーワードの認識方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータデバイス
(51)【国際特許分類】
G10L 15/10 20060101AFI20220114BHJP
G10L 15/16 20060101ALI20220114BHJP
G10L 15/32 20130101ALI20220114BHJP
【FI】
G10L15/10 200W
G10L15/16
G10L15/32 210E
(21)【出願番号】P 2020540799
(86)(22)【出願日】2019-01-22
(86)【国際出願番号】 CN2019072590
(87)【国際公開番号】W WO2019149108
(87)【国際公開日】2019-08-08
【審査請求日】2020-07-27
(31)【優先権主張番号】201810096472.X
(32)【優先日】2018-01-31
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】王 ▲ジュン▼
(72)【発明者】
【氏名】▲蘇▼ 丹
(72)【発明者】
【氏名】▲兪▼ ▲棟▼
【審査官】渡部 幸和
(56)【参考文献】
【文献】米国特許出願公開第2017/0301341(US,A1)
【文献】米国特許出願公開第2017/0270919(US,A1)
【文献】特開2016-177214(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
(57)【特許請求の範囲】
【請求項1】
ユーザ端末又はサーバが実行する、音声キーワードの認識方法であって、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するステップと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するステップであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含むステップと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するステップであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含むステップと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するステップと、を含
み、
各前記第1の確率と所定の決定ロジックとに基づいて、前記認識対象音声信号に前記所定のキーワードが存在すると判定した場合に、前記の、前記認識対象音声信号に基づいて各第2の音声セグメントを取得するステップに進むことを特徴とする、方法。
【請求項2】
各前記第1の確率と所定の決定ロジックとに基づいて、前記認識対象音声信号に前記所定のキーワードが存在することを判定する方法は、
現在の認識対象分割単語ユニットを決定するステップであって、前記現在の認識対象分割単語ユニットが、前記所定のキーワードにおける各前記所定の分割単語ユニットの現れる順番に基づき決定される、最初に現れた認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットであるステップと、
現在の判断対象音声セグメントを決定するステップであって、前記現在の判断対象音声セグメントが、前記認識対象音声信号における各前記第1の音声セグメントの現れる順番に基づき決定される、最初に現れた判断対象音声セグメントとして使用されたことのない第1の音声セグメントであるステップと、
前記現在の判断対象音声セグメントが前記現在の認識対象分割単語ユニットに対応する確率が所定の閾値よりも大きく、且つ、前記現在の認識対象分割単語ユニットが前記所定のキーワードのうち最後に現れた前記所定の分割単語ユニットではない場合に、前記の、現在の認識対象分割単語ユニットを決定するステップに戻るステップと、
前記現在の判断対象音声セグメントが前記現在の認識対象分割単語ユニットに対応する確率が前記所定の閾値よりも大きく、且つ、前記現在の認識対象分割単語ユニットが前記所定のキーワードのうち最後に現れた前記所定の分割単語ユニットである場合に、前記認識対象音声信号に前記所定のキーワードが存在すると判定するステップと、を含むことを特徴とする請求項
1に記載の方法。
【請求項3】
前記方法は、さらに、
前記現在の判断対象音声セグメントが前記現在の認識対象分割単語ユニットに対応する確率が前記所定の閾値以下であり、且つ、前記所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが有効な状態にある場合に、前記の、現在の判断対象音声セグメントを決定するステップに戻るステップと、
前記現在の判断対象音声セグメントが前記現在の認識対象分割単語ユニットに対応する確率が前記所定の閾値以下であり、且つ、前記所定の閾値よりも大きいと前回判断した際に対応する認識対象分割単語ユニットが無効な状態にある場合に、前記所定のキーワードの各前記所定の分割単語のうち最初に現れた前記所定の分割単語ユニットを現在の認識対象分割単語ユニットとして決定し、前記の、現在の判断対象音声セグメントを決定するステップに戻るステップと、を含むことを特徴とする請求項
2に記載の方法。
【請求項4】
前記第1の分類モデルを決定する方法は、
所定のコーパスに基づき、サンプル音声信号を取得するステップであって、前記所定のコーパスが汎用のコーパスを含む、ステップと、
各前記サンプル音声信号に基づき第3の音声セグメントを取得するステップと、
各前記第3の音声セグメントの第1の音響特徴及び各前記第3の音声セグメントにそれぞれ対応する各第3の確率を取得するステップであって、前記第3の確率に、前記第3の音声セグメントが、前記所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率が含まれる、ステップと、
各前記第3の音声セグメントの第1の音響特徴及び各前記第3の確率に基づき、所定の第1のニューラルネットワークモデルをトレーニングして、前記第1の分類モデルを決定するステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記第2の分類モデルを決定する方法は、
各前記サンプル音声信号に基づき、第4の音声セグメントを取得するステップと、
各第4の音声セグメントに対応する第3の音声セグメントに対応する第3の確率に基づき、各前記第4の音声セグメントの第2の予測特徴をそれぞれ生成するステップと、
各前記第4の音声セグメントにそれぞれ対応する各第4の確率を取得するステップであって、前記第4の確率には、前記第4の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つが含まれる、ステップと、
各前記第4の音声セグメントの第2の予測特徴及び各前記第4の確率に基づき、所定の第2のニューラルネットワークモデルをトレーニングして、第2の分類モデルを決定するステップを含むことを特徴とする請求項
4に記載の方法。
【請求項6】
前記の、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップの前に、
各前記第2の音声セグメントの第2の音響特徴を取得するステップをさらに含み、
前記の、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップは、
各前記第2の音声セグメントの第2の音響特徴及び各第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づき、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記所定のキーワードの各所定の分割単語ユニットを取得する方法は、
所定の単語分割単位に基づいて前記所定のキーワードに対して単語分割処理を行って、前記所定のキーワードの各所定の分割単語ユニットを取得するステップを含み、
前記所定の単語分割単位に、ピンイン、音素、及び字の少なくとも1つが含まれることを特徴とする請求項1に記載の方法。
【請求項8】
前記第1の分類モデルは、互いにカスケード接続された各サブ分類モデルを含み、前記サブ分類モデルのレベル数が2以上であることを特徴とする請求項1から
7のいずれか1項に記載の方法。
【請求項9】
音声キーワードの認識装置であって、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するための第1の音声セグメント取得モジュールと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するための第1の確率取得モジュールであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む、第1の確率取得モジュールと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するための予測特徴生成モジュールと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するための第2の確率取得モジュールであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含む、第2の確率取得モジュールと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するためのキーワード認識モジュールと、を含
み、
各第1の確率と所定の決定ロジックとに基づいて、認識対象音声信号に所定のキーワードが存在すると判定した場合に、前記予測特徴生成モジュールを呼び出すための仮認識モジュールをさらに含むことを特徴とする、装置。
【請求項10】
前記仮認識モジュールは、
現在の認識対象分割単語ユニットを決定するための現在の分割単語決定ユニットであって、前記現在の認識対象分割単語ユニットが、前記所定のキーワードにおける各所定の分割単語ユニットの現れる順番に基づき決定される、最初に現れた認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットである、現在の分割単語決定ユニットと、
現在の判断対象音声セグメントを決定するための現在のセグメント認識ユニットであって、前記現在の判断対象音声セグメントが、認識対象音声信号における各第1の音声セグメントの出現順序に基づき決定される、最初に現れた判断対象音声セグメントとして使用されたことのない第1の音声セグメントである、現在のセグメント認識ユニットと、
現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットではない場合に、前記現在の分割単語決定ユニットを呼び出すための第1の呼び出しユニットと、
現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットである場合に、認識対象音声信号に所定のキーワードが存在すると判定するための仮判定ユニットとを含むことを特徴とする請求項
9に記載の装置。
【請求項11】
前記仮認識モジュールは、
現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが有効な状態にある場合に、前記現在のセグメント認識ユニットを呼び出すための第2の呼び出しユニットと、
現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率、が所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが無効な状態にある場合に、所定のキーワードの各所定の分割単語のうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、前記現在のセグメント認識ユニットを呼び出すための分割単語リセットユニットと、を含むことを特徴とする請求項
10に記載の装置。
【請求項12】
所定のコーパスに基づいて、サンプル音声信号を取得するためのサンプルデータ取得モジュールであって、前記所定のコーパスが汎用のコーパスを含むサンプルデータ取得モジュールと、
各サンプル音声信号に基づき、第3の音声セグメントを取得するための第1のセグメント取得モジュールと、
各第3の音声セグメントの第1の音響特徴及び各第3の音声セグメントにそれぞれ対応する各第3の確率を取得するための第1のサンプル特徴取得モジュールであって、第3の確率に、前記第3の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率が含まれる、第1のサンプル特徴取得モジュールと、
各第3の音声セグメントの第1の音響特徴及び各第3の確率とに基づき、所定の第1のニューラルネットワークモデルをトレーニングして、第1の分類モデルを決定するための第1のモデルトレーニングモジュールと、をさらに含むことを特徴とする請求項
9に記載の装置。
【請求項13】
各サンプル音声信号に基づき、第4の音声セグメントを取得するための第2のセグメント取得モジュールと、
各第4の音声セグメントに対応する第3の音声セグメントに対応する第3の確率に基づき、各第4の音声セグメントの第2の予測特徴をそれぞれ生成するための第2のサンプル特徴取得モジュールと、
各第4の音声セグメントにそれぞれ対応する各第4の確率を取得するためのサンプル確率取得モジュールであって、第4の確率には、当該第4の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つが含まれる、サンプル確率取得モジュールと、
各第4の音声セグメントの第2の予測特徴及び各第4の確率とに基づき、所定の第2のニューラルネットワークモデルをトレーニングして、第2の分類モデルを決定するための第2のモデルトレーニングモジュールと、をさらに含むことを特徴とする請求項
12に記載の装置。
【請求項14】
各第2の音声セグメントの第2の音響特徴を取得するための音響特徴取得モジュールをさらに含み、
第2のサンプル特徴取得モジュールは、各前記第2の音声セグメントの第2の音響特徴、及び各第2の音声セグメント対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するために使用されることを特徴とする請求項
9に記載の装置。
【請求項15】
所定の単語分割単位に基づいて、所定のキーワードに対して単語分割処理を行って、所定のキーワードの各所定の分割単語ユニットを取得するための単語分割処理モジュールをさらに含み、
所定の単語分割単位に、ピンイン、音素、及び字の少なくとも1つが含まれることを特徴とする請求項
9に記載の装置。
【請求項16】
第1の分類モデルは、互いにカスケード接続された各サブ分類モデルを含み、サブ分類モデルのレベル数が2以上であることを特徴とする請求項
9から
15のいずれか1項に記載の装置。
【請求項17】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行される場合に、請求項1から
8のいずれか1項に記載の方法のステップを前記プロセッサに実行させる、コンピュータ読み取り可能な記憶媒体。
【請求項18】
メモリとプロセッサとを含むコンピュータデバイスであって、前記メモリにコンピュータプログラムが記憶され、前記コンピュータプログラムは、前記プロセッサによって実行される場合に、請求項1から
8のいずれか1項に記載の方法のステップを前記プロセッサに実行させるコンピュータデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年01月31日に中国専利局に提出した、出願番号が201810096472.Xであって、発明の名称が「音声キーワードの認識方法と装置」である中国特許出願の優先権を主張し、本出願で、その全ての内容を援用するものとする。
【0002】
本出願は、コンピュータ技術の分野に関し、特に、音声キーワードの認識方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータデバイスに関する。
【背景技術】
【0003】
音声技術の開発とインタラクティブ体験の向上に伴い、ユーザは、特定のタスクを完了するために電子機器の音声制御など、音声を介して電子機器とインタラクションをする意欲をますます高めている。音声キーワードの認識とは、連続音声信号に所定のキーワードが存在するかどうかを認識することを指し、電子機器ウェイクアップ、対話型インタラクティブインターフェース初期化、音声インデックスと検索、及び音声パスワード認証などの方面で広く適用される。
【0004】
従来の音声キーワード認識方法は、まず、認識対象音声信号から音響特徴を抽出し、当該音響特徴を1つの予めトレーニングされたディープニューラルネットワークモデルに入力し、さらに、当該ディープニューラルネットワークモデルによって出力された確率と、人為的に設定された決定ロジックに基づいて、当該音声信号に所定のキーワードが存在するかどうかを認識することである。ただし、従来の方法は、人為的に設定された決定ロジックに非常に敏感であり、通常、適用シナリオ又は所定のキーワードが変更されるたびに、新しい適用シナリオに適応させるために、人為的に決定ロジックを真面目に調整する必要があり、普遍性は高くない。
【発明の概要】
【課題を解決するための手段】
【0005】
本出願で提供される様々な実施例によれば、音声キーワードの認識方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータデバイスを提供する。
【0006】
ユーザ端末又はサーバが実行する音声キーワードの認識方法であって、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するステップと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するステップであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含むステップと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するステップであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含むステップと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するステップと、を含む。
【0007】
音声キーワードの認識装置であって、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するための第1の音声セグメント取得モジュールと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するための第1の確率取得モジュールであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む第1の確率取得モジュールと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するための予測特徴生成モジュールと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するための第2の確率取得モジュールであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含む第2の確率取得モジュールと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するためのキーワード認識モジュールと、を含む。
【0008】
コンピュータ読み取り可能な記憶媒体であって、コンピュータプログラムが記憶されており、前記コンピュータプログラムは、プロセッサによって実行される場合に、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するステップと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するステップであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含むステップと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するステップであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含むステップと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するステップと、を前記プロセッサに実行させる。
【0009】
コンピュータデバイスであって、メモリとプロセッサとを含み、前記メモリにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、前記プロセッサによって実行される場合に、
認識対象音声信号に基づいて、各第1の音声セグメントを取得するステップと、
事前設定された第1の分類モデルにより、各前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得するステップであって、前記第1の確率には、前記第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含むステップと、
前記認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各前記第2の音声セグメントの第1の予測特徴をそれぞれ生成するステップと、
事前設定された第2の分類モデルにより、各前記第1の予測特徴に基づいて分類して、各前記第2の音声セグメントにそれぞれ対応する各第2の確率を取得するステップであって、前記第2の確率には、前記第2の音声セグメントが前記所定のキーワードに対応する確率及び前記所定のキーワードに対応しない確率の少なくとも1つを含むステップと、
前記第2の確率に基づいて、前記認識対象音声信号に前記所定のキーワードが存在するかどうかを決定するステップとを、前記プロセッサに実行させる。
【0010】
本出願の一つ又は複数の実施例の詳細は、以下の添付の図面及び説明において提供される。本出願の他の特徴、目的、及び利点は、明細書、添付の図面、及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0011】
本出願の実施例における技術案をより明確に説明するために、以下、実施例の説明において使用する必要がある図面を簡単に紹介し、もちろん、以下に記述の図面が本出願のいくつかの実施例に過ぎず、当業者にとって、創造的な労力をしない前提で、これらの図面に応じて他の図面を得ることもできる。
【0012】
【
図1】一実施例における音声キーワードの認識方法の適用環境の図である。
【
図2】一実施例における音声キーワードの認識方法の概略フローチャートである。
【
図3】一実施例におけるCNNモデルのトポロジー構造の概略図である。
【
図4】一実施例における音声キーワードの認識システムのアーキテクチャの概略図である。
【
図5】一実施例における音声信号のスペクトル及び対応する第1の確率の概略図である。
【
図6】一実施例における所定の決定ロジックに基づく仮判断の概略フローチャートである。
【
図7】一実施例における
図6に基づいて追加されたステップの概略フローチャートである。
【
図8】一実施例における所定の決定ロジックに基づく仮判断の概略フローチャートである。
【
図9】一実施例における第1の分類モデルをトレーニングする方法の概略フローチャートである。
【
図10】一実施例における第2の分類モデルをトレーニングする方法の概略フローチャートである。
【
図11】他の実施例における音声キーワードの認識方法の概略フローチャートである。
【
図12】一実施例における音声キーワードの認識装置の構成ブロック図である。
【
図13】一実施例におけるコンピュータデバイスの構成ブロック図である。
【
図14】一実施例におけるコンピュータデバイスの構成ブロック図である。
【発明を実施するための形態】
【0013】
本出願の目的、技術案及び利点をより明確にするために、本出願について、添付の図面及び実施例と合わせて以下にさらに詳細に説明する。ここで記述される具体的な実施例は、本出願を解釈するためにのみ使用され、本出願を限定するために使用されないことを理解されたい。
【0014】
他に定義されない限り、本明細書で使用される全ての技術用語及び科学用語は、本出願の技術分野に属する当業者によって一般的に理解されるのと同じ意味を有する。ここで、本出願の明細書で使用される用語は、具体的な実施例を説明することのみを目的としており、本出願を限定することを意図していない。
【0015】
本出願の書類で使用される「第1」、「第2」などの用語は、類似するオブジェクトの命名を区別するためのものであり、ただし、これらのオブジェクト自体はこれらの用語によって制限されない。これらの用語は、本出願の範囲から逸脱することなく、適切な場合において交換可能である。
【0016】
本出願の各実施例で提供される音声キーワードの認識方法は、
図1に示される適用環境に適用することができる。当該適用環境は、ユーザ端末110及びサーバ120に関し得、ユーザ端末110とサーバ120はネットワークを介して通信する。
【0017】
具体的に、ユーザ端末110は、認識対象音声信号を取得し、ネットワークを介して、認識対象音声信号をサーバ120に送信する。サーバ120は、認識対象音声信号に基づいて、各第1の音声セグメントを取得し、さらに、事前設定された第1の分類モデルにより、各第1の音声セグメントにそれぞれ対応する各第1の確率を取得し、第1の確率は、第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含み、その後、認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成し、さらに、事前設定された第2の分類モデルにより、各第1の予測特徴に基づいて分類して、各第2の音声セグメントにそれぞれ対応する各第2の確率を取得し、第2の確率は、当該第2の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含み、最後に、第2の確率に基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを決定する。
【0018】
他の実施例では、ユーザ端末110は、認識対象音声信号を取得してから、第2の確率に基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを決定するまでのステップを実行してもよく、サーバ120は参加する必要がない。
【0019】
なお、ユーザ端末110は、モバイル端末又はデスクトップ端末であってもよく、モバイル端末は、携帯電話、スピーカ、ロボット、タブレット、ノートパソコン、パーソナル携帯情報機器、ウェアラブルデバイスなどのうちの少なくとも1つであってもよい。サーバ120は、独立した物理サーバ、又は、複数の物理サーバからなるサーバクラスタにより実現されてもよい。
【0020】
一実施例では、
図2に示すように、音声キーワードの認識方法を提供する。当該方法がコンピュータデバイス(
図1におけるユーザ端末110又はサーバ120)によって実行されることを例として説明する。当該方法は以下のステップS202~S210を含むことができる。
【0021】
S202において、認識対象音声信号に基づいて、各第1の音声セグメントを取得する。
【0022】
認識対象音声信号とは、その中に所定のキーワードが存在するかどうかを決定する必要がある音声信号を指す。実際の応用では、一般的に、ユーザが実際のニーズに応じて音声信号を発し(例えば、ユーザが言葉を言った)、コンピュータデバイスは、当該音声信号を収集し、当該音声信号を電気信号に変換して、認識対象音声信号を取得する。
【0023】
第1の音声セグメントとは、認識対象音声信号におけるユニットフレームに対応する第1のスプライシングフレームシーケンスを指す。具体的に、コンピュータデバイスは、認識対象音声信号を取得した後に、まず、当該認識対象音声信号に対してフレーム分割処理を行って各ユニットフレームを取得し、つまり、当該認識対象音声信号をいくつかのセグメントに分割し、各セグメントが1フレームのユニットフレームであり、さらに、コンピュータデバイスは、所定の第1のスプライシングルールに基づいて、各ユニットフレームと1対1に対応する各第1のスプライシングフレームシーケンス、即ち、各第1の音声セグメントを取得することができる。
【0024】
一実施例では、ウィンドウ関数を移動することでフレーム分割処理を実現することができ、例えば、ウィンドウ関数のフレームウィンドウ長さを25ms、ウィンドウシフトを10msとして、フレーム分割処理を行うことで、得られた各ユニットフレームの長さはともに25msであり、隣り合う2フレームのユニットフレームの間に15msの重畳部分がある。
【0025】
一実施例では、任意のユニットフレームについて、認識対象音声信号における当該ユニットフレームの現れる順番に基づき、当該ユニットフレームの前に現れた第1のプリセットフレーム数のユニットフレーム、当該ユニットフレーム自身、及び当該ユニットフレームの後に現れた第2のプリセットフレーム数のユニットフレームに対してスプライシング処理を行うことで、当該ユニットフレームに対応する第1の音声セグメントを取得することができる。
【0026】
なお、第1のプリセットフレーム数、及び第2のプリセットフレーム数は、事前設定された第1の分類モデルに対応する所定のキーワードの所定の分割単語ユニットの長さに基づいて設定されてもよい。例えば、所定のキーワードが「耳朶」であり、第1の分類モデルに対応する当該所定のキーワードの各所定の分割単語ユニットはそれぞれ「er」と「duo」である。この場合、第1のプリセットフレーム数を10に設定し、第2のプリセットフレーム数を5に設定してもよく、任意のユニットフレームについて、当該ユニットフレームの前の10フレーム、当該ユニットフレーム自身、及び当該ユニットフレームの後の5フレームに対してスプライシング処理を行うことができ、スプライシングによって得られた当該ユニットフレームに対応する第1の音声セグメントは、16フレームのユニットフレームを含む。
【0027】
なお、認識対象音声信号にはNフレームのユニットフレームが含まれる場合、認識対象音声信号に現れる順番に基づき、当該Nフレームのユニットフレームは、前から、それぞれ、第1フレームユニットフレーム、第2フレームユニットフレーム、第3フレームユニットフレーム、…、第Nフレームユニットフレームである。あるフレームユニットフレームについて、当該ユニットフレームの前にあるユニットフレームの総数が第1のプリセットフレーム数未満である場合、複数のフレームのうち第1フレームユニットフレームをコピーして、第1のプリセットフレーム数を構成してもよい。例えば、第1のプリセットフレーム数が10であり、第2のプリセットフレーム数が5である。第1フレームユニットフレームに対応する第1の音声セグメントについて、当該第1の音声セグメントは11フレームの第1フレームユニットフレーム、及び第2~6フレームユニットフレーム、即ち、合計で16フレームのユニットフレームを含み得、第3フレームユニットフレームに対応する第1の音声セグメントについて、当該第1の音声セグメントは9フレームの第1フレームユニットフレーム、及び第2~8フレームユニットフレーム、即ち、合計で16フレームのユニットフレームを含み得る。
【0028】
同様に、あるフレームユニットフレームについて、当該ユニットフレームの後にあるユニットフレームの総数が第2のプリセットフレーム数未満である場合、複数のフレームのうち第Nフレームユニットフレームをコピーして、第2のプリセットフレーム数を構成してもよい。
【0029】
S204において、事前設定された第1の分類モデルにより、各第1の音声セグメントにそれぞれ対応する各第1の確率を取得する。
【0030】
第1の分類モデルは、予めトレーニングされたニューラルネットワークモデルである。各第1の音声セグメントの音響特徴を第1の分類モデルに入力し、さらに、第1の分類モデルにより、各第1の音声セグメントの音響特徴に基づいて各第1の音声セグメントに対して分類処理を行うことにより、各第1の音声セグメントと1対1に対応する各第1の確率を取得することができる。なお、第1の音声セグメントに対応する第1の確率は、当該第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含むことができる。第1の確率は事後確率であってもよい。
【0031】
その中、第1の音声セグメントの音響特徴は、当該第1の音声セグメントに含まれる各ユニットフレームの音響特徴を含んでもよい。一実施例では、第1の音声セグメントの音響特徴は、次元t×fの特徴ベクトルであり、tが時間フレーム次元、即ち、第1の音声セグメントに含まれるユニットフレームの総数を表し、fがスペクトル次元、即ち、各ユニットフレームの音響特徴の次元を表す。
【0032】
ユニットフレームの音響特徴は、ユニットフレームに対して音響特徴の抽出処理を行うことで得られる。具体的に、ユニットフレームに対応する波形を多次元ベクトルに変換し、当該多次元ベクトルは、当該ユニットフレームに含まれるコンテンツ情報を表すために使用されてもよく、当該ユニットフレームの音響特徴であってもよい。ユニットフレームの音響特徴はメルスペクトラム、対数メルスペクトラム(メルスペクトラムに対して対数演算を行うことで得られる)、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficient、MFCC)などのいずれか1つ又は任意の複数の組み合わせを含んでもよい。ユニットフレームから対数メルスペクトラムである音響特徴を抽出することを例にとると、当該ユニットフレームに対応する40次元ベクトルを得ることができる。
【0033】
各第1の音声セグメントがともに16フレームのユニットフレームを含み、且つ、抽出された各ユニットフレームの音響特徴がともに40次元の対数メルスペクトラム特徴であることを例にとると、t=16、f=40、即ち、各第1の音声セグメントの音響特徴はともに、次元16×40のベクトルを含む。
【0034】
所定の分割単語ユニットは、所定の単語分割単位に基づいて所定のキーワードに対して単語分割処理を行うことで得られる。所定のキーワードが「耳朶」であり、所定の単語分割単位がピンインであることを例にとると、「耳朶」という所定のキーワードの各所定の分割単語ユニットはそれぞれ「er」と「duo」であり得る。それに対応して、任意の第1の音声セグメントについて、第1の分類モデルによって出力される当該第1の音声セグメントに対応する第1の確率は、当該第1の音声セグメントが「er」に対応する確率、及び当該第1の音声セグメントが「duo」に対応する確率を含み得る。また、例えば、所定のキーワードが「小藍精霊」であり、所定の単語分割単位がピンインである場合、「小藍精霊」という所定のキーワードの各所定の分割単語ユニットはそれぞれ「xiao」、「lan」、「jing」及び「ling」であり、第1の分類モデルによって出力される当該第1の音声セグメントに対応する第1の確率は、当該第1の音声セグメントが「xiao」に対応する確率、当該第1の音声セグメントが「lan」に対応する確率、当該第1の音声セグメントが「jing」に対応する確率、及び当該第1の音声セグメントが「ling」に対応する確率を含み得る。
【0035】
一実施例では、第1の確率は、第1の音声セグメントが各所定の分割単語ユニットに対応する各確率加えて、第1の音声セグメントが第1のパディング情報に対応する確率も含んでもよい。第1のパディング情報とは、各所定の分割単語ユニット以外の他の情報を指す。例えば、各所定の分割単語ユニットがそれぞれ「er」と「duo」である場合に、「er」と「duo」以外の他の全ての情報は、第1のパディング情報である。また、例えば、各所定の分割単語ユニットが「xiao」、「lan」、「jing」及び「ling」である場合に、「xiao」、「lan」、「jing」及び「ling」以外の他の全ての情報は第1のパディング情報である。
【0036】
第1の確率には、第1の音声セグメントが各所定の分割単語ユニットに対応する各確率、及び第1のパディング情報に対応する確率を含む場合に、任意の第1の音声セグメントについて、それに対応する第1の確率に含まれる各確率の和は1であり得る。
【0037】
一実施例では、第1の分類モデルは、CNN(Convolutional Neural Network、畳み込みニューラルネットワーク)、LSTM(Long Short-Term Memory、長・短期記憶ネットワーク)、TDNN(Time-Delay Neural Network、時間遅延ニューラルネットワーク)、又はゲート付き畳み込みニューラルネットワークなどであってもよい。
【0038】
第1の分類モデルがCNNであることを例として説明し、CNNは、畳み込み層、max-pooling層、完全接続層及びsoftmax層を含んでもよい。上記のように、第1の分類モデルの入力情報は、第1の音声セグメントの音響特徴(即ち、次元t×fの特徴ベクトル)であり、
図3に示すように、畳み込み層により、第1の音声セグメントに対応する次元t×fの特徴ベクトルと、次元s×v×wの畳み込みカーネル(即ち、フィルタリング重み行列)とに対して、畳み込み処理を行うことで、s個の特徴マップを取得することができ、vは、時間フレーム次元における各畳み込みカーネルの大きさであり、v≦tであり、rは、スペクトル次元における各畳み込みカーネルの大きさであり、w≦fであり、sは、畳み込みカーネルの数であり、つまり、当該CNNについて、合計でs個の次元v×wの畳み込みカーネルがある。その後、max-pooling層により、それぞれ、このs個の特徴マップに対して最大プーリング処理(即ち、近傍内の特徴点に対して最大値をとる処理であるサンプリング処理)を行うことで、時間周波数次元の大きさを低減し、s個の次元削減された特徴マップを取得する。さらに、完全接続層により、s個の次元削減された特徴マップに対して分類処理を行い、完全接続層の出力をsoftmax層に入力する。最後に、softmax層により、完全接続層の出力に対して正規化処理を行うことで、当該第1の音声セグメントに対応する第1の確率を得る。
【0039】
一実施例では、ネットワーク複雑さとシステムパフォーマンスとの間のトレードオフを考慮して、CNNは、1層の畳み込み層を採用し、畳み込みカーネルの時間フレーム次元の大きさを入力された特徴の時間フレーム次元の大きさと同じになるように設定してもよく、即ち、v=t=16である。また、当該CNNは、5つの完全接続層を採用してもよく、その中、前の4つの層が512の隠し層を含み、最後の層が128の隠し層を含む。
【0040】
S206において、認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成する。
【0041】
第2の音声セグメントとは、認識対象音声信号におけるユニットフレームに対応する第2のスプライシングフレームシーケンスを指す。第1の音声セグメントと同様に、コンピュータデバイスは、所定の第2のスプライシングルールに基づいて、各ユニットフレームと1対1に対応する各第2のスプライシングフレームシーケンス、即ち、各第2の音声セグメントを取得することができる。
【0042】
一実施例では、任意のユニットフレームについて、認識対象音声信号における当該ユニットフレームの現れる順番に基づいて、当該ユニットフレームの前に現れた第3のプリセットフレーム数のユニットフレーム、当該ユニットフレーム自身、及び当該ユニットフレームの後に現れた第4のプリセットフレーム数のユニットフレームに対してスプライシング処理を行うことで、当該ユニットフレームに対応する第2の音声セグメントを取得することができる。
【0043】
その中、第3のプリセットフレーム数と、第4のプリセットフレーム数は、所定のキーワードの長さに基づいて設定されてもよい。所定のキーワードが「耳朶」であることを例にとると、第3のプリセットフレーム数を40に設定し、第4のプリセットフレーム数を20に設定してもよく、即ち、任意のユニットフレームについて、当該ユニットフレームの前に現れた40フレームのユニットフレーム、当該ユニットフレーム自身、及び当該ユニットフレームの後に現れた20フレームのユニットフレームに対してスプライシング処理を行うことができ、スプライシングによって得られた当該ユニットフレームに対応する第2の音声セグメントは、61フレームのユニットフレームを含む。
【0044】
なお、第1の音声セグメントよりも、第2の音声セグメントに含まれるユニットフレームの総数は多くなる。そのため、第2の音声セグメントは、第1の音声セグメントよりも多い「コンテクスト」情報を含む。
【0045】
第2の音声セグメントの第1の予測特徴は、当該第2の音声セグメントに対応する各第1の音声セグメントに対応する第1の確率に基づいて生成されてもよい。一実施例では、第2の音声セグメントの第1の予測特徴は、当該第2の音声セグメントに含まれる各ユニットフレームと1対1に対応する各第1の音声セグメントに対応する各第1の確率を含んでもよい。例えば、第2の音声セグメントは61フレームのユニットフレームを含み、当該第2の音声セグメントに含まれる61フレームのユニットフレームのそれぞれは、それに対応する第1の音声セグメントを有し、それによれば、当該第2の音声セグメントは61個の第1の音声セグメントに対応し、且つ、各第1の音声セグメントは、それに対応する第1の確率を有するので、当該第2の音声セグメントの第1の予測特徴は、当該第2の音声セグメントに対応する61個の第1の音声セグメントに対応する第1の確率を含む。
【0046】
第2の音声セグメントが61フレームのユニットフレームを含み、所定のキーワードが「耳朶」であり、各所定の分割単語ユニットがそれぞれ「er」と「duo」であり、第1の分類モデルによって出力される第1の確率が、第1の音声セグメントが「er」に対応する確率、「duo」に対応する確率、及び第1のパディング情報に対応する確率を含むことを例にとる。この場合、第2の音声セグメントの第1の予測特徴は、次元61×3のベクトルを含んでもよい。
【0047】
S208において、第2の分類モデルにより、各第1の予測特徴に基づいて分類して、各第2の音声セグメントにそれぞれ対応する各第2の確率を取得する。
【0048】
第2の分類モデルも、予めトレーニングされたニューラルネットワークモデルである。各第2の音声セグメントの音響特徴を第1の分類モデルに入力し、さらに、第2の分類モデルにより、各第2の音声セグメントの音響特徴に基づいて各第1の音声セグメントに対して分類処理を行うことにより、各第2の音声セグメントと1対1に対応する各第2の確率を取得することができる。第2の音声セグメントに対応する第2の確率は、当該第2の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含み得る。第1の確率と同様に、第2の確率は事後確率であってもよい。
【0049】
一実施例では、第2の確率は、第2の音声セグメントが所定のキーワードに対応する確率のみを含み得る。所定のキーワードが「耳朶」であることを例にとると、第2の音声セグメントに対応する第2の確率は、当該第2の音声セグメントが「er duo」に対応する確率を含み得る。また、所定のキーワードが「小藍精霊」であることを例にとると、第2の音声セグメントに対応する第2の確率は、当該第2の音声セグメントが「xiao lan jing ling」に対応する確率を含み得る。
【0050】
他の実施例では、第2の確率は、第2の音声セグメントが所定のキーワードに対応しない(即ち、該当しない)確率のみを含み得る。所定のキーワードが「耳朶」であることを例にとると、第2の音声セグメントに対応する第2の確率は、当該第2の音声セグメントが「er duo」以外の他の情報に対応する確率のみを含み得る。
【0051】
さらに別の実施例では、第2の確率は、第2の音声セグメントが所定のキーワードに対応する確率と、第2の音声セグメントが所定のキーワードに対応しない確率とを同時に含み得る。この場合、第2の音声セグメントに対応する第2の確率に含まれる各確率の和は1であってもよい。
【0052】
一実施例では、第2の分類モデルは、CNN(Convolutional Neural Network、畳み込みニューラルネットワーク)、LSTM(Long Short-Term Memory、長・短期記憶ネットワーク)、TDNN(Time-Delay Neural Network、時間遅延ニューラルネットワーク)、ゲート付き畳み込みニューラルネットワーク、又は完全接続に基づくFCDNNニューラルネットワークなどであってもよい。
【0053】
また、第2の分類モデルが完全接続に基づくFCDNNニューラルネットワークを採用する場合に、当該ニューラルネットワークは、2つの完全接続層を含んでもよく、各完全接続層は128のノードを含み、これにより、システムパフォーマンスを保証しながら複雑さを軽減させることを実現する。
【0054】
S210において、第2の確率に基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを決定する。
【0055】
第2の確率を取得した後、各第2の音声セグメントと1対1に対応する各第2の確率は、所定の確率閾値と1つずつ比較され得る。一実施例では、認識対象音声信号における各第2の音声セグメントに対応するユニットフレームの現れる順番に基づいて、前から、各第2の音声セグメントと1対1に対応する各第2の確率を所定の確率閾値と1つずつ比較することができる。
【0056】
一実施例では、第2の確率を所定の確率閾値と比較することは、具体的に、第2の確率に含まれる第2の音声セグメントが所定のキーワードに対応する確率、又は、含まれる第2の音声セグメントが所定のキーワードに対応しない確率が、対応する所定の確率閾値よりも大きいかどうかを判断することであってもよい。
【0057】
第2の確率に含まれる第2の音声セグメントが所定のキーワードに対応する確率が、所定の確率閾値よりも大きいかどうかを判断することを例にとると、得られた第2の確率に基づいて認識対象音声信号に所定のキーワードが存在するかどうかを決定する手順は以下通りである。
【0058】
1番目の第2の音声セグメント(それに対応するユニットフレームが認識対象音声信号の最初に現れた第2の音声セグメント)が所定のキーワードに対応する確率が、所定の確率閾値よりも大きい場合に、当該1番目の第2の音声セグメントに所定のキーワードが存在すると判定し、認識対象音声信号に所定のキーワードが存在することを表す認識結果を出力し、認識フローを終了する。逆に、当該1番目の第2の音声セグメントが所定のキーワードに対応する確率が、所定の確率閾値よりも小さい場合に、当該1番目の第2の音声セグメントに所定のキーワードが存在しないと判定し、2番目の第2の音声セグメントが所定のキーワードに対応する確率と所定の確率閾値の大きさとを比較し続ける。このような類推によって、ある第2の音声セグメントが所定のキーワードに対応する確率が所定の確率閾値よりも大きくなるまで、当該第2の音声セグメントに所定のキーワードが存在すると判定し、認識対象音声信号に所定のキーワードが存在することを表す認識結果を出力し、認識フローを終了する。最後の第2の音声セグメントが所定のキーワードに対応する確率が依然として所定の確率閾値よりも小さい場合に、当該認識対象音声信号に所定のキーワードが存在しないと判定し、認識対象音声信号に所定のキーワードが存在しないことを表す認識結果を出力し、認識フローを終了する。
【0059】
上記の音声キーワードの認識方法によれば、第1の分類モデルに基づいて認識対象音声信号の各第1の音声セグメントにそれぞれ対応する第1の確率を取得した後、人為的に設定した決定ロジックに基づいて最終的に認識対象音声信号に所定のキーワードが存在するかどうかを決定する必要はなく、認識対象音声信号に基づいて各第2の音声セグメントを取得し、各第2の音声セグメントにそれぞれ対応する各第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの予測特徴を生成し、当該予測特徴を第2の分類モデルに入力することにより、各第2の音声セグメントが所定のキーワードに対応する確率、及び所定のキーワードに対応しない確率の少なくとも1つを取得し、さらに、第2の分類モデルによって出力される確率に基づいて、最終的に、当該認識対象音声信号に当該所定のキーワードが存在するかどうかを決定する。人為的に設定した決定ロジックに敏感であるという従来の方法の問題を効果的に克服することができ、これにより、普遍性を向上させる。
【0060】
また、従来の方案は、所定の決定ロジックに敏感であり、また、製品の柔軟な開発及び迅速な立ち上げを制限し、システムの汎化能力は乏しい。それに対応して、上記の音声キーワードの認識方法は、上記の制限を軽減し、システムの汎化能力を向上させることもできる。
【0061】
なお、音声キーワード認識について、再現率と誤認識率は、システムパフォーマンスを評価するための2つの重要な指標である。その中、再現率は、陽性のクラスが陽性のクラスとして認識される割合を表すためのものである。誤認識率は、陰性のクラスが陽性のクラスとして認識される割合を表すためのものである。電子機器のウェイクアップシナリオに適用される場合に、誤認識率は低くなり、これは、実際に認識対象音声信号に所定のキーワードが存在しない場合に、当該認識対象音声信号に所定のキーワードが存在すると誤認識された現象が発生する可能性が低いことを意味する。
【0062】
一般に、システムの再現率と誤認識率との間のよいバランスをとるために、通常、キーワードを慎重に設定する必要がある。重要な設定条件の1つは、所定のキーワードの長さが十分に長くなければならず、また、所定のキーワードに含まれる音節又は音素が十分に豊かである必要があることである。例えば、所定のキーワードに「Okay Google」、「天猫精霊(TIAN MAO JING LING)」、
【数1】
【数2】
「小愛同学(XIAO AI TONG XUE)」、及び
【数3】
などの少なくとも4つの音節又は少なくとも5つの音素が含まれる。従来の方案は、所定のキーワードが長く、認識対象音声信号の背景環境が静かである場合にのみ、かろうじて満足できるシステムパフォーマンスを達成することができる。
【0063】
しかしながら、本出願の各実施例では、第1の分類モデルと第2の分類モデルを用いて所定のキーワードの認識を段階的に行い、まず、各第1の音声セグメントと1対1に対応する第1の確率を取得し、次に、各第2の音声セグメントに対応する各第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントと1対1に対応する第2の確率を取得する。第2の音声セグメントにはより多くの「コンテクスト」情報が含まれているので、認識の精度を効果的に向上させることができる。そして、本出願の各実施例における方案は、キーワードが長く、背景環境が静かである場合によく適用できるだけでなく、所定のキーワードが短く、認識対象音声信号の背景環境が真実の遠隔発話環境である場合に、システムの再現率と誤認識率との間のよいバランスが取れる。
【0064】
一実施例では、各第1の確率と所定の決定ロジックとに基づいて、認識対象音声信号に所定のキーワードが存在すると判定した場合に、認識対象音声信号に基づいて各第2の音声セグメントを取得するステップに進む。
【0065】
本実施例では、
図4に示すように、第1の分類モデルによって出力される各第1の確率を取得した後、認識対象音声信号に基づいて各第2の音声セグメントを取得する前に、まず、各第1の確率と所定の決定ロジックとに基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを仮判断することができる。所定のキーワードが存在すると仮判定した場合にのみ、認識対象音声信号に基づいて各第2の音声セグメントを取得するステップに進む。逆に、所定のキーワードが存在しないと仮判定した場合に、認識対象音声信号に所定のキーワードが存在しないことを表す認識結果を直接出力し、認識フローを終了する。一実施例では、決定ロジックは、隠れマルコフモデル(Hidden Markov Model、HMM)に基づいて実現されてもよい。
【0066】
本実施例では、仮判断のステップが追加され、所定の決定ロジックに基づいて所定のキーワードが存在すると仮判定した場合にのみ、第2の分類モデルにより、分類処理を行う。一方、二重判断により認識の正確性を向上させることができる。一方、所定のキーワードが存在しない認識対象音声信号について、認識フローを早期に終了し、第2の分類モデルにより分類処理を行う必要はなく、無意味な動作を回避し、システムパフォーマンスを効果的に最適化できる。
【0067】
また、システムは、所定の決定ロジックにより、比較的低い偽陰性率を達成することができる(実際に認識対象音声信号に所定のキーワードが存在する場合に、所定のキーワードが存在しないと誤認識された現象が発生する可能性は低くなる)。例えば、実際の適用において、システムの偽陰性率を0.05未満にする。なお、所定の決定ロジックに基づいて仮判断する手順において、一時的に偽陽性率を考慮せず、第2の分類ネットワークにより所定の決定ロジックの構成に対して偽陽性率を最適化してもよい。
【0068】
実際の適用において、所定のキーワードが「耳朶」である場合、「er duo」に対応する音声信号A、及び「ao duo」に対応する音声信号Bについて、第1の分類モデルにより当該音声信号Aを分類した後、出力された各第1の確率は、
図5の左の座標軸の縦座標に示され、第1の分類モデルにより当該音声信号Bを分類した後、出力された各第1の確率は、
図5の右の座標軸の縦座標に示される。また、
図5の左のスペクトルグラフの白線は、第1の確率と所定の決定ロジックとに基づいて音声信号Aにおける所定のキーワードの出現位置を認識したことを示し、
図5の右のスペクトルグラフの白線は、第1の確率と所定の決定ロジックとに基づいて、音声信号Bにおける所定のキーワードの出現位置を認識したことを示す。これにより、第1の分類モデルと所定の決定ロジックとに基づいて仮認識するだけで、まだ誤認識が発生する(実際に所定のキーワードが存在しない音声信号Bについて、当該音声信号Bに所定のキーワードが存在すると認識された)可能性があることが分かる。しかし、本実施例では、所定の決定ロジックにより認識対象音声信号に所定のキーワードが存在すると仮判定した後、さらに、第2の分類モデルに基づいて認識するので、誤認識を効果的に低減することができ、これにより、認識精度を向上させる。
【0069】
一実施例では、所定のキーワードの各所定の分割単語ユニットが認識対象音声信号に存在するかどうかをそれぞれ検出し、また、認識対象音声信号における各所定の分割単語ユニットの現れる順番が所定のキーワードにおける各所定の分割単語ユニットの現れる順番と一致するかどうかを検出する。
【0070】
図6に示すように、一実施例では、各第1の確率と所定の決定ロジックとに基づいて認識対象音声信号に所定のキーワードが存在することを判定する方法は、以下のステップS602~S608を含むことができる。
【0071】
S602において、現在の認識対象分割単語ユニットを決定する。
【0072】
現在の認識対象分割単語ユニットは、所定のキーワードにおける各所定の分割単語ユニットの現れる順番に基づいて決定される、最初に現れた認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットである。
【0073】
所定のキーワードが「小藍精霊」であり、各所定の分割単語ユニットがそれぞれ「xiao」、「lan」、「jing」及び「ling」であることを例にとる。1回の認識手順において、現在の認識対象分割単語ユニットを最初に決定する場合に、「xiao」、「lan」、「jing」及び「ling」は、認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットであり、この場合、最初に現れた「xiao」を、現在の認識対象分割単語ユニットとして決定する。現在の認識対象分割単語ユニットを2度目に決定する場合に、「lan」、「jing」及び「ling」は、認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットであり、最初に現れた「lan」を、現在の認識対象分割単語ユニットとして決定し、このように類推する。
【0074】
S604において、現在の判断対象音声セグメントを決定し、現在の判断対象音声セグメントは、認識対象音声信号における各第1の音声セグメントの現れる順番に基づき決定される、最初に現れた判断対象音声セグメントとして使用されたことのない第1の音声セグメントである。
【0075】
認識対象音声信号にはNフレームのユニットフレームを含む場合、それに対応してN個の第1の音声セグメントがある。認識対象音声信号における第1の音声セグメントに対応するユニットフレームの現れる順番に基づいて、各第1の音声セグメントは、前から、それぞれ、1番目の第1の音声セグメント、2番目の第1の音声セグメント、…、N番目の第1の音声セグメントである。一回の認識手順において、現在の判断対象音声セグメントを最初に決定する場合に、これらのN個の第1の音声セグメントは、判断対象音声セグメントとして使用されたことがなく、1番目の第1の音声セグメントを現在の認識対象音声セグメントとして決定する。現在の判断対象音声セグメントを2度目に決定する場合に、2番目の第1の音声セグメント、3番目の第1の音声セグメント…N番目の第1の音声セグメントは、判断対象音声セグメントとして使用されたことがなく、最初に現れた2番目の第1の音声セグメントを現在の判断対象音声セグメントとして決定し、このように類推する。
【0076】
S606において、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットではない場合に、現在の認識対象分割単語ユニットを決定するステップに戻る。
【0077】
S608において、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットである場合に、認識対象音声信号に所定のキーワードが存在すると判定する。
【0078】
本実施例では、現在の認識対象分割単語ユニットと現在の判断対象音声セグメントとを決定した後、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値よりも大きいかどうかを判断する。
【0079】
所定の閾値よりも大きいと、現在の認識対象分割単語ユニットが現在の判断対象音声セグメントに存在することを意味する。このとき、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットであるかどうかをさらに判断する。NOの場合、現在、認識対象音声信号に現在の認識対象分割単語ユニットが存在するのみが検出され、当該認識対象音声信号に他の所定の分割単語ユニットが存在するかどうかをさらに検出する必要があることを意味するので、現在の認識対象分割単語ユニットを決定するステップに戻る。YESの場合、認識対象音声信号に所定のキーワードの各所定の分割単語ユニットが存在することが既に検出されたことを意味するので、認識対象音声信号に所定のキーワードが存在すると仮判定することができる。
【0080】
所定の閾値以下であると、現在の認識対象分割単語ユニットが現在の判断対象音声セグメントに存在しないことを意味する。一実施例では、所定の閾値以下であると判定した場合に、現在の判断対象音声セグメントを決定するステップに戻り、次の第1の音声セグメントを現在の判断対象音声セグメントとして決定し、現在の認識対象分割単語ユニットが当該次の第1の音声セグメントに存在するかどうかを検出し続けてもよい。
【0081】
本実施例では、現在の判断対象音声セグメントが、認識対象音声信号のうち最後に現れた1フレームのユニットフレームに対応する第1の音声セグメントであり、且つ、当該第1の音声セグメントに所定のキーワードのうち最後に現れた所定の分割単語ユニットが存在しないことが検出された場合に、認識対象音声信号に所定のキーワードが存在しないと仮判定することができ、認識対象音声信号に所定のキーワードが存在しないことを表す認識結果を直接出力し、認識フローを終了する。
【0082】
なお、上記のように、システムは、所定の決定ロジックにより、比較的低い偽陰性率を達成することができる。これに対応して、本実施例では、システムは、所定の閾値を調整することにより、比較的低い偽陰性率を達成することもできる。
【0083】
一実施例では、
図6に示された実施例に基づいて、
図7に示すように、音声キーワードの認識方法は、以下のステップS702~S704をさらに含むことができる。
【0084】
S702において、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが有効な状態にある場合に、現在の判断対象音声セグメントを決定するステップ(S604)に戻る。
【0085】
S704において、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが無効な状態にある場合に、所定のキーワードの各所定の分割単語のうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、現在の判断対象音声セグメントを決定するステップ(S604)に戻る。
【0086】
なお、認識対象音声信号については、以下の場合が発生する可能性があり、当該認識対象音声信号に各所定のキーワードの各所定の分割単語ユニットが存在し、且つ、当該認識対象音声信号における各所定の分割単語ユニットの現れる順番も、所定のキーワードにおける当該各所定の分割単語ユニットの現れる順番と一致するが、当該認識対象音声信号において、各所定の分割単語ユニットが連続的に接続して所定のキーワードを構成することができず、他のパディング情報によって分離されている。例えば、所定のキーワードが「小藍精霊」であり、各所定の分割単語ユニットがそれぞれ「xiao」、「lan」、「jing」及び「ling」であり、しかしながら、認識対象音声信号において、現れるのは「xiao lan jing ling」ではなく、「xiao peng you ai lan jing ling」であり、つまり、「peng you ai」によって分離されている。この場合、実際には認識対象音声信号に所定のキーワードが存在しないが、当該認識対象音声信号に所定のキーワードが存在すると認識される可能性があり、つまり、誤認識が発生する。
【0087】
これに基づいて、本実施例では、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値以下であると判定した場合に、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語が有効な状態にあるかどうかをさらに判断する。YESの場合、現在の判断対象音声セグメントを決定するステップに直接戻る。NOの場合、所定のキーワードの各所定の分割単語ユニットのうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、その後、現在の判断対象音声セグメントを決定するステップに戻り、例えば、所定のキーワードが「小藍精霊」であり、各所定の分割単語ユニットがそれぞれ「xiao」、「lan」、「jing」及び「ling」である場合、全ての所定の分割単語ユニットのうち最初に現れた「xiao」を、現在の認識対象分割単語ユニットとして決定し、その後、現在の判断対象音声セグメントを決定するステップに戻る。
【0088】
一実施例では、カウント値により、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語が有効な状態にあるかどうかを判断してもよい。現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値よりも大きいと判定したが、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットではない場合に、まず、現在のカウント値を所定のトリガー初期値に設置し(当該トリガー初期値はビジネス経験に基づいて設定される正の数であってもよく、例えば30である)、その後、現在の認識対象分割単語ユニットを決定するステップに戻る。
【0089】
現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値以下であると判定した場合に、現在のカウント値から所定の調整値を減算する(例えば1を減算する)ことによって、現在のカウント値を更新し、現在のカウント値が所定の基準値(例えば、0)よりも大きいかどうかを判断する。所定の基準値よりも大きい場合に、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語が有効な状態にあることを意味するので、現在の判断対象音声セグメントを決定するステップに直接戻る。所定の基準値以下である場合に、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語が既に無効な状態にあることを意味するので、所定のキーワードの各所定の分割単語ユニットのうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、その後、現在の判断対象音声セグメントを決定するステップに戻る。
【0090】
一実施例では、認識対象音声信号に基づいてN個の第1の音声セグメントを取得し、第1の音声セグメントのインデックス値をnに設定すると、n番目の第1の音声セグメントは、当該認識対象音声信号において現れる順番が前からn番目の第1の音声セグメントであり、nはN以下である。また、所定のキーワードは、M個の所定の分割単語ユニットを含み、所定の分割単語ユニットのインデックス値をmに設定すると、m番目の所定の分割単語ユニットは、所定のキーワードにおいて現れる順番が前からm番目の所定の分割単語ユニットであり、mは、M以下である。また、カウント値はkであり、且つ、カウント値の初期トリガー値が30であると仮定する。
図8に示すように、本実施例では、所定の決定ロジックに基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを仮判断するステップは、以下のステップS801~S811を含むことができる。
【0091】
S801において、nを0、mを1、kを0に設定する。
【0092】
S802において、nを1増やす。
【0093】
S803において、nがNよりも大きいかどうかを判断する。YESの場合、ステップS804に進み、NOの場合、ステップS805に進む。
【0094】
S804において、認識対象音声信号に所定のキーワードが存在しないと仮判定し、フローを終了する。
【0095】
S805において、n番目の第1の音声セグメントがm番目の所定の分割単語ユニットに対応する確率が、所定の閾値よりも大きいかどうかを判断する。YESの場合、ステップS806に進み、NOの場合、ステップS808に進む。
【0096】
S806において、mがMに等しいかどうかを判断する。NOの場合、ステップS807に進み、YESの場合、ステップS811に進む。
【0097】
S807において、kを30に設定し、mを1増やし、ステップS802に戻る。
【0098】
S808において、kを1減らす。
【0099】
S809において、kが0よりも大きいかどうかを判断する。YESの場合、ステップS802に戻り、NOの場合、ステップS810に進む。
【0100】
S810において、mを1に設定し、ステップS802に戻る。
【0101】
S811において、認識対象音声信号に所定のキーワードが存在すると仮判定し、フローを終了する。
【0102】
一実施例では、
図9に示すように、第1の分類モデルを決定する方法は、以下のステップS902~S908を含むことができる。
【0103】
S902において、汎用のコーパスを含む所定のコーパスに基づいて、サンプル音声信号を取得する。
【0104】
S904において、各サンプル音声信号に基づいて第3の音声セグメントを取得する。
【0105】
S906において、各第3の音声セグメントの第1の音響特徴と、各第3の音声セグメントに対応する第3の確率を取得し、第3の確率は、当該第3の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む。
【0106】
S908において、各第3の音声セグメントの第1の音響特徴と各第3の確率に基づいて、所定の第1のニューラルネットワークモデルをトレーニングして、第1の分類モデルを決定する。
【0107】
第1の分類モデルにより分類処理を行う前に、まず、サンプルデータに基づいて所定のニューラルネットワークモデルをトレーニングして、第1の分類モデルを取得する必要があることが理解され得る。
【0108】
従来の方案では、一般に、専用コーパスのみに基づいてサンプル音声信号を取得することができる。専用コーパスとは、所定のキーワードに対して専用に構築したコーパスを指し、専用コーパスには、様々な異なる音響条件下で収集した所定のキーワードに対応する音声信号が含まれる。異なる所定のキーワードごとに、異なる専用コーパスを構築する必要があり、専用コーパスの構築は非常に時間と労力を消費する作業であり、製品の柔軟な開発と迅速な立ち上げを制限することが理解され得る。
【0109】
これに基づいて、本実施例では、汎用のコーパスに基づいてサンプル音声信号を取得することができ、上記の制限を効果的に低減することができる。そして、汎用のコーパスは、より広い音響条件をカバーし、より大きいデータ規模を有し、音声信号の品質が保証されるという利点を備えるので、所定のキーワードの認識を効率的且つロバストに実現することができる。
【0110】
汎用のコーパスには、各音声信号に対応するラベルがあり、当該ラベルが対応する各音声信号のコンテンツ情報を表すために使用されることが理解され得る。本実施例では、サンプル音声信号を取得した後、認識対象音声信号の処理手順と同様に、フレーム分割処理、及びスプライシング処理により、各第3の音声セグメントを取得し、次に、第3の音声セグメントに含まれる各サンプルユニットフレームの音響特徴に基づいて、第3の音声セグメントの第1の音響特徴を取得する。ただし、認識対象音声信号の処理との違いは、サンプル音声信号を処理する際に、フレームアラインメント処理も必要になることであり、フレームアラインメント処理により、サンプル音声信号のどのフレームのサンプルユニットフレームからどのフレームのサンプルユニットフレームまでのラベルが、対応する所定の分割単語ユニットに対応するかを決定する。また、第1の音響特徴は、上記の第1の音声セグメントの音響特徴と類似し、ここで説明を省略する。
【0111】
一実施例では、汎用のコーパスにおけるラベルに基づいて、各第3の音声セグメントが所定のキーワードの各所定の分割単語ユニットに対応する各確率を取得してもよい。他の実施例では、汎用のコーパスにおけるラベルに基づいて、各第3の音声セグメントが所定のキーワードの各所定の分割単語ユニットに対応する各確率、及び第2のパディング情報に対応する確率を取得してもよい。なお、第2のパディング情報は、上記の第1のパディング情報と類似し、ここで説明を省略する。
【0112】
さらに、各第3の音声セグメントの第1の音響特徴と第3の確率とに基づいて、所定の第1のニューラルネットワークモデルをトレーニングし、即ち、第1のニューラルネットワークモデルに関する各モデルパラメーターを決定することにより、第1の分類モデルを取得する。
【0113】
一実施例では、
図9に示す実施例に基づいて、
図10に示すように、第2の分類モデルをトレーニングする方法は、以下のステップS1002~S1008を含むことができる。
【0114】
S1002において、各サンプル音声信号に基づいて第4の音声セグメントを取得する。
【0115】
S1004において、各第4の音声セグメントに対応する第3の音声セグメントに対応する第3の確率に基づいて、各前記第4の音声セグメントの第2の予測特徴をそれぞれ生成する。
【0116】
S1006において、各第4の音声セグメントにそれぞれ対応する各第4の確率を取得し、第4の確率は、当該第4の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含む。
【0117】
S1008において、各第4の音声セグメントの第2の予測特徴と各第4の確率とに基づいて、所定の第2のニューラルネットワークモデルをトレーニングして、第2の分類モデルを決定する。
【0118】
第1の分類モデルと同様に、第2の分類モデルにより分類処理を行う前に、まず、サンプルデータに基づいて所定の第2のニューラルネットワークモデルをトレーニングして、第2の分類モデルを取得する必要がある。
【0119】
本実施例では、サンプル音声信号に基づいて第4の音声セグメントを取得することは、認識対象音声信号に基づいて第2の音声セグメントを取得する処理手順と類似し、ここで説明を省略する。また、第4の確率と上記の第2の確率とは、オブジェクトが異なる(第2の確率は第2の音声セグメントに対するもので、第4の確率は第4の音声セグメントに対するものである)以外、他の性質が類似するので、ここで説明も省略する。
【0120】
なお、クロスエントロピーの最適化を目標として、分散非同期勾配降下法を用いてトレーニングすることにより、第1のニューラルネットワークモデルと、第2のニューラルネットワークモデルとに関するモデルパラメーターを決定してもよい。
【0121】
また、スプライシング処理を行うことで第2の音声セグメント、第3の音声セグメント、及び第4の音声セグメントを得るときに、特定のユニットフレームの前後のユニットフレームの総数が対応するプリセットフレーム数未満である場合に、上記のスプライシング処理を行うことで第1の音声セグメントを得る説明で述べたコピー処理方法を参照して、対応するプリセットフレーム数を構成することができ、ここで説明を省略する。
【0122】
一実施例では、各第2の音声セグメントの第1の予測特徴を生成する前には、各第2の音声セグメントの第2の音響特徴を取得するステップをさらに含んでもよい。それによれば、第2の音声セグメントの第1の予測特徴は、当該第2の音声セグメントの第2の音響特徴、及び当該第2の音声セグメントに対応する各第1の音声セグメントに対応する第1の確率に基づいて生成される。
【0123】
本実施例では、第2の音声セグメントの第1の予測特徴は、当該第2の音声セグメントに対応する各第1の音声セグメントに対応する第1の確率を含むことに加えて、当該第2の音声セグメントの第2の音響特徴を含んでもよい。第1の予測特徴には、より多い有効な特徴情報が含まれるので、認識の正確率を向上させることができる。また、第2の音響特徴は、上記の第1の音声セグメントの音響特徴と類似し、ここで説明を省略する。
【0124】
一実施例では、所定のキーワードの各所定の分割単語ユニットの取得方法は、所定の単語分割単位に基づいて所定のキーワードに対して単語分割処理を行って、所定のキーワードの各所定の分割単語ユニットを取得するステップをさらに含み、所定の単語分割単位は、ピンイン、音素及び字の少なくとも1つを含んでもよい。
【0125】
なお、上記の実施例では、所定の単語分割単位がピンインであることを例として説明した。本出願では、単語分割単位は、実際のニーズ(例えば、認識精度、システムパフォーマンスなど)に基づいて設定されてもよい。例えば、音素を所定の単語分割単位として、又は字を所定の単語分割単位として使用してもよい。
【0126】
一実施例では、第1の分類モデルは、互いにカスケード接続された各サブ分類モデルを含み、サブ分類モデルのレベル数が2以上である。
【0127】
それによれば、各第1の音声セグメントの音響特徴を予めトレーニングされた第1の分類モデルに入力して、各第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する第1の確率を取得するステップは、レベルごとに、各レベルのサブ分類モデルに対応する入力情報を各レベルのサブ分類モデルに入力して、各レベルのサブ分類モデルによって出力される第5の確率を取得することを含んでもよい。
【0128】
なお、第1レベルのサブ分類モデルの入力情報は、当該第1レベルのサブ分類モデルに対応する各第1の音声セグメントの音響特徴を含み、第1レベルのサブ分類モデル以外の各レベルのサブ分類モデルの入力情報は、その上のレベルのサブ分類モデルによって出力される第5の確率に基づいて生成される。
【0129】
また、任意のレベルのサブ分類モデルについて、当該レベルのサブ分類モデルによって出力される第5の確率は、当該レベルのサブ分類モデルに対応する各第1の音声セグメントが、所定のキーワードの当該レベルのサブ分類モデルに対応する所定の分割単語ユニットにそれぞれ対応する確率を含む。また、第1の分類モデルにおける最後のレベルのサブ分類モデルによって出力される第5の確率は第1の確率である。
【0130】
なお、各レベルのサブ分類モデルのそれぞれは、第1の音声信号及び所定の分割単語ユニットに対応し、且つ、各レベルのサブ分類モデルに対応する第1の音声信号及び所定の分割単語ユニットは互いに異なる。また、実際のニーズ(例えば、システム複雑さ及びシステムパフォーマンスの要件)に基づいて、第1の分類モデルに含まれるサブ分類モデルのレベル数を設定することができる。
【0131】
所定のキーワードが「小藍精霊」であり、所定の分割単語ユニットがピンインであることを例として、所定のキーワードに対して単語分割処理を行うことで、以下の3グループの所定の分割単語ユニットが得られる。第1のグループに含まれる各所定の分割単語ユニットはそれぞれ「xiao」、「lan」、「jing」及び「ling」である。第2のグループに含まれる各所定の分割単語ユニットはそれぞれ「xiao lan」、「lan jing」及び「jing ling」である。第3のグループに含まれる各所定の分割単語ユニットはそれぞれ「xiao lan jing」及び「lan jing ling」である。
【0132】
この場合、第1の分類モデルに含まれるサブ分類モデルのレベル数は3であってもよい。それに対応して、第1レベルの分類サブモデルに対応する各所定の分割単語ユニットは、第1のグループに含まれる各所定の分割単語ユニットであり、第2レベルの分類サブモデルに対応する各所定の分割単語ユニットは第2のグループに含まれる各所定の分割単語ユニットであり、第3レベルの分類サブモデルに対応する各所定の分割単語ユニットは第3のグループに含まれる各所定の分割単語ユニットである。
【0133】
また、説明の便宜上、以下、第1レベル、第2レベル及び第3レベルのサブ分類モデルにそれぞれ対応する第1の音声セグメントを、1レベルの第1の音声セグメント、2レベルの第1の音声セグメント、3レベルの第1の音声セグメントとそれぞれ呼ぶことがある。
【0134】
それに基づいて、本実施例では、まず、1レベルの第1の音声セグメントの音響特徴を第1レベルのサブ分類モデルに入力し、また、第1レベルのサブ分類モデルにより、1レベルの第1の音声セグメントの音響特徴に基づいて分類して、1レベルの第1の音声セグメントが「xiao」、「lan」、「jing」及び「ling」にそれぞれ対応する確率を出力する。
【0135】
そして、第1レベルのサブ分類モデルによって出力される確率に基づいて、2レベルの第1の音声セグメントの第3の予測特徴を生成する。さらに、各第3の予測特徴を第2レベルのサブ分類モデルに入力し、第2レベルのサブ分類モデルにより、各第3の予測特徴に基づいて分類して、2レベルの第1の音声セグメントが「xiao lan」、「lan jing」及び「jing ling」にそれぞれ対応する確率を出力する。
【0136】
さらに、第2レベルのサブ分類モデルによって出力される確率に基づいて、3レベルの第1の音声セグメントの第4の予測特徴を生成する。また、各第4の予測特徴を第3レベルのサブ分類モデルに入力し、第3レベルのサブ分類モデルにより、各第4の予測特徴に基づいて分類して、3レベルの第1の音声セグメントが「xiao lan jing」及び「lan jing ling」にそれぞれ対応する確率を出力し、第3レベルのサブ分類モデルによって出力される確率は、第1の分類モデルによって出力される第1の確率である。さらに、各第2の音声セグメントに対応する各第1の音声セグメントの第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成し、次に、各第1の予測特徴を第2の分類モデルに入力して、対応する後続のステップを実行する。
【0137】
一実施例では、
図11に示すように、音声キーワードの認識方法は、以下のステップS1101~S1111を含むことができる。
【0138】
S1101において、認識対象音声信号に基づいて各第1の音声セグメントを取得し、事前設定された第1の分類モデルにより、前記第1の音声セグメントにそれぞれ対応する各第1の確率を取得し、前記第1の確率は、当該第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む。
【0139】
S1102において、現在の認識対象分割単語ユニットを決定し、現在の認識対象分割単語ユニットは、所定のキーワードにおける各所定の分割単語ユニットの現れる順番に基づき決定される、最初に現れた認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットである。
【0140】
S1103において、現在の判断対象音声セグメントを決定し、現在の判断対象音声セグメントは、認識対象音声信号における各第1の音声セグメントの現れる順番に基づき決定される、最初に現れた判断対象音声セグメントとして使用されたことのない第1の音声セグメントである。
【0141】
S1104において、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値よりも大きいかどうかを判断し、YESの場合、S1105に進み、NOの場合、S1107に進む。
【0142】
S1105において、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットであるかどうかを判断し、NOの場合、S1102に戻り、YESの場合、S1106に進む。
【0143】
S1106において、認識対象音声信号に所定のキーワードが存在すると仮判定し、S1109に進む。
【0144】
S1107において、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが有効な状態にあるかどうかを判断し、YESの場合、S1103に戻り、NOの場合、S1108に進む。
【0145】
S1108において、所定のキーワードの各所定の分割単語のうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、S1103に戻る。
【0146】
S1109において、各第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成する。
【0147】
S1110において、各第1の予測特徴を事前設定された第2の分類モデルに入力し、事前設定された第2の分類モデルにより、各第1の予測特徴に基づいて分類して、各第2の音声セグメントにそれぞれ対応する各第2の確率を取得し、第2の確率は、当該第2の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含む。
【0148】
S1111において、第2の確率に基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを決定する。
【0149】
なお、本実施例における各ステップの技術的特徴は、上記の各実施例における対応するステップの技術的特徴と同じであってもよく、ここで説明を省略する。
【0150】
合理的な条件下で、理解すべきことは、上記の各実施例に係るフローチャートにおける各ステップは、矢印の指示に従って順次に表示されるが、これらのステップは、必ずしも矢印によって示される順序に従って順次に実行されるわけではない。本明細書において明確に説明されていない限り、これらのステップの実行は、順序に対する厳しい制限がなく、これらのステップは他の順序で実行されてもよい。そして、各フローチャートにおける少なくとも一部のステップは、複数のサブステップ又は複数の段階を含むことができ、これらのサブステップ又は段階は、必ずしも同じ時刻において実行されるわけではなく、異なる時刻において実行されてもよく、これらのサブステップ又は段階の実行順序も必ずしも順次に実行されるわけではなく、他のステップ又は他のステップのサブステップ又は段階の少なくとも一部と順番又は交互に実行されてもよい。
【0151】
なお、本出願の各実施例で提供される音声キーワードの認識方法は、電子機器ウェイクアップ、対話型インタラクティブインターフェース初期化、音声インデックスと検索、及び音声パスワード検証などのシナリオに適用可能である。また、当該認識方法は、自動音声認識システムの重要なフロントエンド処理モジュールとして使用でき、自動音声認識システムのリソースの占有と消費を大幅に節約し、ユーザエクスペリエンスを向上させることができる。より具体的には、スマートスピーカー、AI Lab(人工知能研究所)の音声認識、及びインテリジェント音声アシスタントなどに適用できる。
【0152】
一実施例では、
図12に示すように、音声キーワードの認識装置1200を提供し、以下のモジュール1202~1210を含むことができる。
【0153】
第1の音声セグメント取得モジュール1202は、認識対象音声信号に基づいて、各第1の音声セグメントを取得するために使用される。
【0154】
第1の確率取得モジュール1204は、事前設定された第1の分類モデルにより、各第1の音声セグメントにそれぞれ対応する各第1の確率を取得するために使用され、第1の音声セグメントの第1の確率は、当該第1の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む。
【0155】
予測特徴生成モジュール1206は、認識対象音声信号に基づいて各第2の音声セグメントを取得し、各前記第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成するために使用される。
【0156】
第2の確率取得モジュール1208は、第2の分類モデルにより、各第1の予測特徴に基づいて分類して、各第2の音声セグメントにそれぞれ対応する各第2の確率を取得するために使用され、第2の音声セグメントに対応する第2の確率は、当該第2の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含む。
【0157】
キーワード認識モジュール1210は、第2の確率に基づいて、認識対象音声信号に所定のキーワードが存在するかどうかを決定するために使用される。
【0158】
上記の音声キーワードの認識装置によれば、第1の分類モデルに基づいて認識対象音声信号の各第1の音声セグメントにそれぞれ対応する第1の確率を取得した後、人為で設定した決定ロジックに基づいて最終的に認識対象音声信号に所定のキーワードが存在するかどうかを決定する必要がなく、認識対象音声信号に基づいて各第2の音声セグメントを取得し、各第2の音声セグメントにそれぞれ対応する各第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの予測特徴を生成し、当該予測特徴を第2の分類モデルに入力することにより、各第2の音声セグメントが所定のキーワードに対応する確率、及び所定のキーワードに対応しない確率の少なくとも1つを取得し、さらに、第2の分類モデルによって出力される確率に基づいて、最終的に、当該認識対象音声信号に当該所定のキーワードが存在するかどうかを決定する。従来の方法において人為で設定した決定ロジックに敏感であるという問題を効果的に克服することができ、これにより、普遍性を向上させる。
【0159】
一実施例では、装置1200は、仮認識モジュールさらに含んでもよい。当該仮認識モジュールは、各第1の確率と所定の決定ロジックとに基づいて、認識対象音声信号に所定のキーワードが存在すると判定した場合に、予測特徴生成モジュールを呼び出すために使用される。
【0160】
一実施例では、仮認識モジュールは、現在の分割単語決定ユニット、現在のセグメント認識ユニット、第1の呼び出しユニット、及び仮判定ユニットをさらに含んでもよい。
【0161】
その中、現在の分割単語決定ユニットは、現在の認識対象分割単語ユニットを決定するために使用され、現在の認識対象分割単語ユニットは、所定のキーワードにおける各所定の分割単語ユニットの現れる順番に基づき決定される、最初に現れた認識対象分割単語ユニットとして使用されたことのない所定の分割単語ユニットである。
【0162】
現在のセグメント認識ユニットは、現在の判断対象音声セグメントを決定するために使用され、現在の判断対象音声セグメントは、認識対象音声信号における各第1の音声セグメントの現れる順番に基づき決定される、最初に現れた判断対象音声セグメントとして使用されたことのない第1の音声セグメントである。
【0163】
第1の呼び出しユニットは、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が、所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットではない場合に、前記現在の分割単語決定ユニットを呼び出すために使用される。
【0164】
仮判定ユニットは、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値よりも大きく、且つ、現在の認識対象分割単語ユニットが所定のキーワードのうち最後に現れた所定の分割単語ユニットである場合に、認識対象音声信号に所定のキーワードが存在すると判定するために使用される。
【0165】
一実施例では、仮認識モジュールは、第2の呼び出しユニットと、分割単語リセットユニットとをさらに含んでもよい。
【0166】
その中、第2の呼び出しユニットは、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが有効な状態にある場合に、前記現在のセグメント認識ユニットを呼び出すために使用される。
【0167】
分割単語リセットユニットは、現在の判断対象音声セグメントが現在の認識対象分割単語ユニットに対応する確率が所定の閾値以下であり、且つ、所定の閾値よりも大きいと前回判定した際に対応する認識対象分割単語ユニットが無効な状態にある場合に、所定のキーワードの各所定の分割単語のうち最初に現れた所定の分割単語ユニットを、現在の認識対象分割単語ユニットとして決定し、前記現在のセグメント認識ユニットを呼び出すために使用される。
【0168】
一実施例では、装置1200は、サンプルデータ取得モジュール、第1のセグメント取得モジュール、第1のサンプル特徴取得モジュール、及び第1のモデルトレーニングモジュールをさらに含んでもよい。
【0169】
その中、サンプルデータ取得モジュールは、汎用のコーパスを含む所定のコーパスに基づいて、サンプル音声信号を取得するために使用される。
【0170】
第1のセグメント取得モジュールは、各サンプル音声信号に基づいて、第3の音声セグメントを取得するために使用される。
【0171】
第1のサンプル特徴取得モジュールは、各第3の音声セグメントの第1の音響特徴と、各第3の音声セグメントにそれぞれ対応する各第3の確率を取得するために使用され、第3の音声セグメントの第3の確率は、当該第3の音声セグメントが所定のキーワードの各所定の分割単語ユニットにそれぞれ対応する各確率を含む。
【0172】
第1のモデルトレーニングモジュールは、各第3の音声セグメントの第1の音響特徴と各第3の確率とに基づいて、所定の第1のニューラルネットワークモデルをトレーニングして、第1の分類モデルを決定するために使用される。
【0173】
一実施例では、装置1200は、第2のセグメント取得モジュール、第2のサンプル特徴取得モジュール、サンプル確率取得モジュール、及び第2のモデルトレーニングモジュールをさらに含んでもよい。
【0174】
その中、第2のセグメント取得モジュールは、各サンプル音声信号に基づいて、第4の音声セグメントを取得するために使用される。
【0175】
第2のサンプル特徴取得モジュールは、各第4の音声セグメントに対応する第3の音声セグメントに対応する第3の確率に基づいて、各第4の音声セグメントの第2の予測特徴をそれぞれ生成するために使用される。
【0176】
サンプル確率取得モジュールは、各第4の音声セグメントにそれぞれ対応する各第4の確率を取得するために使用され、第4の確率は、当該第4の音声セグメントが所定のキーワードに対応する確率及び所定のキーワードに対応しない確率の少なくとも1つを含む。
【0177】
第2のモデルトレーニングモジュールは、各第4の音声セグメントの第2の予測特徴と各第4の確率とに基づいて、所定の第2のニューラルネットワークモデルをトレーニングして、第2の分類モデルを決定するために使用される。
【0178】
一実施例では、装置1200は、各第2の音声セグメントの第2の音響特徴を取得する音響特徴取得モジュールをさらに含む。それによれば、第2のサンプル特徴取得モジュールは、各第2の音声セグメントの第2の音響特徴、及び各第2の音声セグメントに対応する第1の音声セグメントに対応する第1の確率に基づいて、各第2の音声セグメントの第1の予測特徴をそれぞれ生成するために使用される。
【0179】
一実施例では、装置1200は、単語分割処理モジュールをさらに含んでもよい。当該単語分割処理モジュールは、所定の単語分割単位に基づいて、所定のキーワードに対して単語分割処理を行って、所定のキーワードの各所定の分割単語ユニットを取得するためのものであり、所定の単語分割単位は、ピンイン、音素及び字の少なくとも1つを含む。
【0180】
一実施例では、第1の分類モデルは、互いにカスケード接続された各サブ分類モデルを含み、サブ分類モデルのレベル数が2以上である。
【0181】
一実施例では、メモリとプロセッサを含むコンピュータデバイスを提供し、メモリは、コンピュータプログラムが記憶されており、コンピュータプログラムは、プロセッサによって実行される場合に、本出願のいずれかの実施例で提供される音声キーワードの認識方法のステップをプロセッサに実行させる。
【0182】
一実施例では、当該コンピュータデバイスは、
図1に示されるユーザ端末110であってもよく、その内部構成は、
図13に示されるものであってもよい。当該コンピュータデバイスは、システムバスで接続されるプロセッサ、メモリ、ネットワークインターフェース、ディスプレイ、入力装置、及び収音装置を含む。なお、プロセッサは、計算及び制御機能を提供するためのものである。メモリは、不揮発性記憶媒体及び内部メモリを含み、当該コンピュータデバイスの不揮発性記憶媒体は、オペレーティングシステム及びコンピュータプログラムが記憶されており、当該コンピュータプログラムは、プロセッサによって実行される場合に、本出願の各実施例で提供される音声キーワードの認識方法をプロセッサに実現させることができ、当該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行のための環境を提供する。ネットワークインターフェースは、外部の端末とネットワーク接続を介して通信するためのものである。ディスプレイは、液晶ディスプレイ又は電子インクディスプレイであってもよい。入力装置は、ディスプレイを覆うタッチ層、或いは、コンピュータデバイスのハウジングに設置されるボタン、トラックボール、又はタッチパッド、或いは、外付けのキーボード、タッチパッド、マウスであってもよい。
【0183】
別の実施例では、当該コンピュータデバイスは、
図1に示されるサーバ120であってもよく、その内部構成図は、
図14に示されるものであってもよい。当該コンピュータデバイスは、システムバスで接続されるプロセッサ、メモリ、ネットワークインターフェースを含む。なお、当該プロセッサは、計算及び制御機能を提供するためのものである。当該メモリは、不揮発性記憶媒体及び内部メモリを含み、当該不揮発性記憶媒体は、オペレーティングシステム及びコンピュータプログラムが記憶されており、当該内部メモリは、不揮発性記憶媒体におけるオペレーティングシステム及びコンピュータプログラムの実行のための環境を提供し、当該コンピュータプログラムは、プロセッサによって実行される場合に、本出願のいずれかの実施例で提供される音声キーワードの認識方法を実現させる。当該ネットワークインターフェースは、外部の端末とネットワーク接続を介して通信するためのものである。
【0184】
当業者は、
図13と
図14に示した構成が、本出願の方案に関連する一部の構成のブロック図のみであり、本出願の方案が適用されるコンピュータデバイスに対する限定を構成しないことを理解できる。具体的なコンピュータデバイスは、
図13に示されるものよりも多い又は少ない構成要素を含むか、又は特定の構成要素を組み合わせるか、又は異なる構成要素配置を有し得る。
【0185】
一実施例では、本出願で提供される音声キーワードの認識装置は、コンピュータプログラムの形式として実現されてもよく、コンピュータプログラムは、
図13又は
図14に示したコンピュータデバイス上で実行されてもよい。コンピュータデバイスのメモリには、当該装置を構成する各プログラムモジュール、例えば、
図12に示した第1の確率取得モジュール1204、予測特徴生成モジュール1206、第2の確率取得モジュール1208、及びキーワード認識モジュール1210が記憶され得る。各プログラムモジュールから構成されるコンピュータプログラムは、本出願のいずれかの実施例で提供される音声キーワードの認識方法におけるステップをプロセッサに実行させる。
【0186】
例えば、
図13又は
図14に示されたコンピュータデバイスは、
図12に示した音声キーワードの認識装置1200における第1の確率取得モジュール1204によりステップS202を実行し、予測特徴生成モジュール1206によりステップS204などを実行することができる。
【0187】
当業者は、上記の実施例の方法における全部又は一部の流れの実現が、コンピュータプログラムにより関連するハードウェアに命令することによって完成され得ることを理解することができる。プログラムは、不揮発性のコンピュータ読み取り可能な記憶媒体に記憶されることができ、当該プログラムが実行される際に、上記の各方法の実施例のようなフローが含まれ得る。なお、本出願で提供される各実施例で使用される、メモリ、ストレージ、データベース又は他の媒体に対する任意の参照は、不揮発性メモリ及び/又は揮発性メモリを含み得る。不揮発性メモリは、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、又はフラッシュメモリを含み得る。揮発性メモリは、ランダムアクセスメモリ(RAM)又は外部キャッシュメモリを含み得る。限定ではなく説明として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、enhancedSDRAM(ESDRAM)、SynchlinkDRAM(SLDRAM)、Rambus直接RAM(RDRAM)、直接RambusRAM(DRRAM(登録商標))、RambusダイナミックRAM(RDRAM)などの様々な形態で得られる。
【0188】
それによれば、一実施例では、コンピュータ読み取り可能な記憶媒体を提供し、コンピュータプログラムが記憶されており、コンピュータプログラムはプロセッサによって実行される場合に、本出願のいずれかの実施例方法のステップをプロセッサに実行させる。
【0189】
上記の実施例の各技術的特徴は、任意に組み合わせてもよく、説明を簡潔にするために、上記の実施例内の各技術的特徴のすべての可能な組み合わせが説明されていないが、これらの技術的特徴の組み合わせが矛盾しない限り、本明細書に記載の範囲内であるとみなすべきである。
【0190】
上記の実施例は、単に本出願のいくつかの実現態様を表すものであり、その説明は比較的具体的且つ詳細であるが、これらは、本出願の特許範囲への限定として解釈されるべきではない。当業者であれば、本出願の思想から逸脱することなく、様々な変更及び改良を行うことができ、これらの変更と改良が本出願の保護範囲に属することに留意されたい。従って、本出願の特許の保護範囲は添付の特許請求の範囲に従うべきである。
【符号の説明】
【0191】
1200 音声キーワードの認識装置
1202 第1の音声セグメント取得モジュール
1204 第1の確率取得モジュール
1206 予測特徴生成モジュール
1208 第2の確率取得モジュール
1210 キーワード認識モジュール