特許第6974421号(P6974421)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 北京百度网▲訊▼科技有限公司の特許一覧

<>
  • 特許6974421-音声認識方法及び装置 図000003
  • 特許6974421-音声認識方法及び装置 図000004
  • 特許6974421-音声認識方法及び装置 図000005
  • 特許6974421-音声認識方法及び装置 図000006
  • 特許6974421-音声認識方法及び装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6974421
(24)【登録日】2021年11月8日
(45)【発行日】2021年12月1日
(54)【発明の名称】音声認識方法及び装置
(51)【国際特許分類】
   G10L 15/04 20130101AFI20211118BHJP
   G10L 25/78 20130101ALI20211118BHJP
【FI】
   G10L15/04 300C
   G10L25/78
【請求項の数】13
【外国語出願】
【全頁数】16
(21)【出願番号】特願2019-218463(P2019-218463)
(22)【出願日】2019年12月3日
(65)【公開番号】特開2020-187340(P2020-187340A)
(43)【公開日】2020年11月19日
【審査請求日】2020年3月30日
(31)【優先権主張番号】201910405521.8
(32)【優先日】2019年5月16日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】515002757
【氏名又は名称】北京百度网▲訊▼科技有限公司
【氏名又は名称原語表記】BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】110002675
【氏名又は名称】特許業務法人ドライト国際特許事務所
(72)【発明者】
【氏名】シャオ,ジュンヤオ
(72)【発明者】
【氏名】キアン,シェン
【審査官】 中村 天真
(56)【参考文献】
【文献】 特開2019−020685(JP,A)
【文献】 特開2013−182150(JP,A)
【文献】 特開2012−048119(JP,A)
【文献】 特開平01−260496(JP,A)
【文献】 特許第6462936(JP,B1)
【文献】 特許第6336219(JP,B1)
【文献】 国際公開第2015/059947(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00−25/93
(57)【特許請求の範囲】
【請求項1】
音声認識方法であって、
音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定することと、
前記音声フレームの音響スコアに基づいて、隣接する非静音フレーム間に、対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定することと、
前記音声信号からバッファフレームが除去された音声フレームを復号し、音声認識結果を得ることと、
を含む音声認識方法。
【請求項2】
前記音響スコアは、
前記音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、
前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを、含み、
前記音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定することは、
前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することを含む請求項1に記載の方法。
【請求項3】
前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することは、
前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応答して、前記音声フレームを非静音フレームとして特定することを含む請求項2に記載の方法。
【請求項4】
前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することは、
前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であると判定することに応答して、前記音声フレームを静音フレームにマーキングし、
前記音声信号における静音フレームにマーキングされない音声フレームを非静音フレームとして特定することを含む、請求項2に記載の方法。
【請求項5】
前記方法は、
前記音声信号における音声フレームの音響スコアに基づいて、前記音声信号における静音フレームを特定すること、を含み、
前記音声信号からバッファフレームが除去された音声フレームを復号することは、
前記音声信号から前記バッファフレーム及び前記静音フレームが除去された音声フレームを復号することを含む、
請求項1〜4のいずれか1項に記載の方法。
【請求項6】
音声認識装置であって、
音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定するように構成される第1の特定ユニットと、
前記音声フレームの音響スコアに基づいて隣接する非静音フレームの間に、対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定するように構成される第2の特定ユニットと、
前記音声信号から前記バッファフレームが除去された音声フレームを復号し、音声認識結果を得るように構成される復号ユニットと、
を含む音声認識装置。
【請求項7】
前記音響スコアは、音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、
前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを、含み、
前記第1の特定ユニットは、さらに、
前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて前記音声信号における非静音フレームを特定するように構成される請求項6に記載の装置。
【請求項8】
前記第1の特定ユニットは、さらに、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応答して、前記音声フレームを非静音フレームとして特定することにより、前記音声信号における非静音フレームを特定するように構成される、請求項7に記載の装置。
【請求項9】
前記第1の特定ユニットは、さらに、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であると判定することに応答して、前記音声フレームを静音フレームにマーキングし、前記音声信号における静音フレームにマーキングされない音声フレームを非静音フレームとして特定することにより、前記音声信号における非静音フレームを特定するように構成される、請求項7に記載の装置。
【請求項10】
前記装置は、
前記音声信号における音声フレームの音響スコアに基づいて、前記音声信号における静音フレームを特定するように構成される第3の特定ユニットを、さらに含み、
前記復号ユニットは、さらに
前記音声信号から前記バッファフレーム及び前記静音フレームが除去された音声フレームを復号するように構成される、
請求項6〜9のいずれか1項に記載の装置。
【請求項11】
電子機器であって、
一つまたは複数のプロセッサと、
一つまたは複数のプログラムを記憶する記憶装置と、を含み、
前記一つまたは複数のプログラムが前記一つまたは複数のプロセッサにより実行されると、前記一つまたは複数のプロセッサに、請求項1〜5のいずれか1項に記載の方法を実行させる電子機器。
【請求項12】
コンピュータプログラムを格納したコンピュータ可読媒体であって、
前記コンピュータプログラムは、プロセッサにより実行されると、請求項1〜5のいずれか1項に記載の方法を実行させるコンピュータ可読媒体。
【請求項13】
コンピュータプログラムであって、
前記コンピュータプログラムは、プロセッサにより実行されると、請求項1〜5のいずれか1項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願の実施例は、コンピュータの技術分野に関し、具体的には、音声認識方法及び装置に関する。
【背景技術】
【0002】
音声認識とは、人工知能技術分野における重要な研究方向の一つである。音声認識アルゴリズムのフローでは、まず音響特徴を抽出して音響スコアを算出し、そして、デコーダにより音響スコアに応じて各音声フレームに対し、時間次元で復号し、復号パスに応じて対応する言語モデルスコアを付け、最終フレームの復号が完了した後に最適な復号パスを認識結果として選択する。
【0003】
デコーダの復号速度は音声認識システムの速度に大きく影響する。デコーダの復号速度を最適化することにより、ユーザ体験が向上するだけでなく、システムの演算圧力を低減することができる。
【発明の概要】
【0004】
本願の実施例は、音声認識方法及び装置を提供する。
【0005】
第1態様において、音声認識方法であって、音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定することと、前記音声フレームの音響スコアに基づいて、隣接する非静音フレーム間に、対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定することと、前記音声信号からバッファフレームが除去された音声フレームを復号し、音声認識結果を得ることと、を含む音声認識方法を提供する。
【0006】
幾つかの実施例において、前記音響スコアは、前記音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを、含み、音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定することは、前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することを含む。
【0007】
幾つかの実施例において、前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することは、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応答して、前記音声フレームを非静音フレームとして特定することを含む。
【0008】
幾つかの実施例において、前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて、前記音声信号における非静音フレームを特定することは、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であると判定することに応答して、前記音声フレームを静音フレームにマーキングし、前記音声信号における静音フレームにマーキングされない音声フレームを非静音フレームとして特定することを含む。
【0009】
幾つかの実施例において、前記方法は、音声信号における音声フレームの音響スコアに基づいて、前記音声信号における静音フレームを特定すること、を含み、前記音声信号からバッファフレームが除去された音声フレームを復号することは、前記音声信号から前記バッファフレーム及び前記静音フレームが除去された音声フレームを復号することを含む。
【0010】
第2態様において、音声認識装置であって、音声信号における音声フレームの音響スコアに基づいて、前記音声信号における非静音フレームを特定するように構成される第1の特定ユニットと、前記音声フレームの音響スコアに基づいて隣接する非静音フレームの間に、対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定するように構成される第2の特定ユニットと、前記音声信号から前記バッファフレームが除去された音声フレームを復号し、音声認識結果を得るように構成される復号ユニットとを含む音声認識装置を提供する。
【0011】
幾つかの実施例において、前記音響スコアは、音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを、含み、前記第1の特定ユニットは、さらに、前記音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの間の差に基づいて前記音声信号における非静音フレームを特定するように構成される。
【0012】
幾つかの実施例において、前記第1の特定ユニットは、さらに、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応答して、前記音声フレームを非静音フレームとして特定することにより、前記音声信号における非静音フレームを特定するように構成される。
【0013】
幾つかの実施例において、前記第1の特定ユニットは、さらに、前記音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であると判定することに応答して、前記音声フレームを静音フレームにマーキングし、前記音声信号における静音フレームにマーキングされない音声フレームを非静音フレームとして特定することにより、前記音声信号における非静音フレームを特定するように構成される。
【0014】
幾つかの実施例において、前記装置は、音声信号における音声フレームの音響スコアに基づいて、前記音声信号における静音フレームを特定するように構成される第3の特定ユニットを、さらに含み、前記復号ユニットは、さらに前記音声信号から前記バッファフレーム及び前記静音フレームが除去された音声フレームを復号するように構成される。
【0015】
第3態様において、電子機器であって、一つまたは複数のプロセッサと、一つまたは複数のプログラムを記憶する記憶装置と、を含み、前記一つまたは複数のプログラムが前記一つまたは複数のプロセッサにより実行されると、前記一つまたは複数のプロセッサに、第1態様に記載の方法を実行させる電子機器を提供する。
【0016】
第4態様において、コンピュータプログラムを格納したコンピュータ可読媒体であって、前記プログラムは、プロセッサにより実行されると、第1態様に記載の方法を実行させるコンピュータ可読媒体を提供する。
【図面の簡単な説明】
【0017】
以下の図面を参照して行われた限定的ではない実施例の詳細な説明により、本願の他の特徴、目的及び利点がより明らかになる。
図1】本開示の一実施形態を適用可能で例示的なシステムアーキテクチャ図である。
図2】本開示の音声認識方法による一実施形態のフローチャートである。
図3】本開示の音声認識方法による他の実施形態のフローチャートである。
図4】本開示の音声認識装置の一実施形態の構造概略図である。
図5】本願の実施例の電子機器を実現するためのコンピュータシステムの構造概略図である。
【発明を実施するための形態】
【0018】
以下、図面及び実施例を合わせて本願をさらに詳細に説明する。なお、ここで説明された具体的な実施例は本発明を解釈するためのものだけで、この発明を限定するものではないと理解されるべきである。なお、図面には、説明の便宜上、発明に関連するユニット分のみが示されている。
【0019】
なお、対立しない場合、本願における実施例及び実施例における特徴は、互いに組み合わせることができる。以下、図面を参照しながら実施例を合わせて本願を詳細に説明する。
【0020】
図1は、本開示の一実施形態を適用可能で例示的なシステムアーキテクチャ図100である。
【0021】
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103と、ネットワーク104と、サーバ105とを含んでもよい。ネットワーク104は、端末装置101、102、103とサーバ105との間に通信リンクを提供するための媒体である。ネットワーク104は、有線、無線通信リンク、または光ファイバケーブル等の各種接続タイプを含んでもよい。
【0022】
端末装置101、102、103は、ネットワーク104を介してサーバ105とインタラクティブし、ワードやオーディオメッセージ等を受信または送信することができる。端末装置101、102、103には、例えば、音声アシスタントアプリケーション、情報検索アプリケーション、地図アプリケーション、ソーシャルプラットフォームアプリケーション、オーディオ再生アプリケーション等の各種情報インタラクティブアプリケーションがインストールされていてもよい。
【0023】
端末装置101、102、103は、オーディオ信号収集機能を有する装置であってもよく、マイクロフォンを有し、インターネットアクセスをサポートする様々な電子機器であってもよく、スマートスピーカー、スマートフォン、タブレット、スマートウォッチ、ノートパソコン、ラップトップ携帯型コンピュータ、電子ブックリーダーなどを含むが、これらに限定されない。
【0024】
サーバ105は、オーディオ信号処理サービスを提供するサーバあってもよく、例えば音声認識サーバであってもよい。サーバ105は、端末機器101、102、103が送信した音声信号を解析してもよく、音声認識アルゴリズムにより音声信号を対応するテキストに変換してもよい。サーバ105は、音声信号の認識結果を、ネットワーク104を介して端末装置101、102、103にフィードバックしてもよい。
【0025】
なお、本願の実施例が提供する音声認識方法は、サーバ105により実行されてもよく、その分、音声認識装置がサーバ105に設けられてもよい。
【0026】
なお、サーバは、ハードウェアであってもよいが、ソフトウェアであってもよい。サーバがハードウェアである場合、複数のサーバからなる分散型サーバクラスタとして実現してもよいが、1つのサーバとして実現してもよい。サーバがソフトウェアである場合、複数のソフトウェアまたはソフトウェアモジュール(例えば分散サービスを提供するための複数のソフトウェアモジュール)として実現してもよいが、1つのソフトウェアまたはソフトウェアモジュールとして実現してもよい。ここでは特に限定されない。
【0027】
端末機器が物理演算を実行するための部材(例えばGPUなどのプロセッサ)を含む場合、本願の実施例が提供する音声認識方法は、端末装置101、102、103により実行されてもよく、その分、端末装置101、102、103に設けられてもよい。
【0028】
図1における端末装置、ネットワーク、サーバの数は、ただ例示的なものであると理解されるべきである。実現の必要に応じて、任意の数の端末装置、ネットワーク、サーバを有していてもよい。
【0029】
続いて、図2を参照すると、本願の音声認識方法の一実施例によるフロー200を示す。該音声認識方法は、以下のステップを含む。
【0030】
ステップ201は、音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームを特定する。
【0031】
本実施例において、音声認識方法の実行主体は、音声信号を取得し、該音声信号は認識待ち音声信号であり、音収集部材で話者が発した音を信号収集して生成された信号であり、音声信号に対して音響特徴抽出を行うことができる。なお、音響特徴は、音声信号のシーケンス特性と周波数特性を示す特徴であってもよい。具体的には、時間領域の音声信号を周波数領域の信号に変換し、その中のスペクトル特性を抽出することができ、例えば、基本周波数特徴、メル周波数特徴等を抽出することができる。
【0032】
音声信号は、時間的に連続する信号であり、音声信号を一定の時間周期で複数の音声フレームに区切ってもよいが、一定の時間長度の音声フレームを時間次元で接続して形成されるものであってもよい。本実施形態において、音響特徴抽出は、これらの音声フレームの強度と周波数特性を表す特徴であってもよい。
【0033】
音響特徴を抽出した後、音響モデルで音響採点を行ってもよい。音響モデルは、音響特徴の分布をGMM(Gaussian Mixed Model,ガウス混合モデル)または隠れマルコフモデルに基づいて音響特徴の分布にモデル化し、音響特徴を対応する音響モデリングユニットにマッピングして各音響モデリングユニットに対応するスコアを計算するために用いられる。音響特徴を音響モデルに入力し、異なる音響モデリングユニットに対応する音響スコアを得ることができる。ここで、音響モデリングユニットは、空白モデリングユニットと非空白モデリングユニットを含んでもよい。非空白モデリングユニットが発音の最小ユニットに対応してもよく、例えば1つの音素に対応し、一例として漢語の1つの声母または1つの韻母を1つの音素とし、各非空白モデリングユニットが1つの声母または1つの韻母に対応し、空白モデリングユニットは静音または非音声を示す。
【0034】
本実施例において、各音声フレームの音響スコアに従って非静音フレームを特定してもよい。非静音フレームは、話者の発音による音声情報を含む音声フレームであり、非空白モデリングユニットに対応する。具体的には、異なる音響モデリングユニットに対応する音声フレームの音響スコアに基づいて、複数の方式で音声フレームが非静音フレームであるか否かを判定してもよい。いくつかの代替実施形態において、1つの音声フレームがいずれかの非空白モデリングユニットに対応する音響スコアがプリセット閾値よりも高ければ、該音声フレームが非静音フレームであると判定してもよいが、あるいは、1つの音声フレームが少なくとも2つの非空白モデリングユニットに対応する音響スコアが0より大きい場合、その音声フレームが非静音フレームであると判定してもよい。
【0035】
本実施例のいくつかの代替実施形態において、音声フレームの音響スコアは、音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを含む。ここで、同一の音声フレームの異なる第2の音響スコアは、異なる音声フレームが異なる非空白モデリングユニットに対応する確率を示す。このとき、音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの差に基づいて、音声信号における非静音フレームを特定してもよい。
【0036】
実際には、第1の音響スコアと第2の音響スコアとの差が大きいと、音声フレームが空白モデリングユニットに対応する確率と非空白モデリングユニットに対応する確率が大きく、音声フレームを非静音フレームまたは静音フレームとして特定する誤差が小さい。第1の音響スコアと第2の音響スコアとの差が小さいと、音声フレームが空白モデリングユニットに対応する確率と非空白モデリングユニットに対応する確率が小さく、音声フレームを非静音フレームまたは静音フレームとして特定する誤差が大きい。
【0037】
具体的には、いくつかの代替実施形態において、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判断することに応じて、音声フレームが非静音フレームであると判定してもよい。すなわち、音声フレームの第1の音響スコアと各第2の音響スコアとの差が第1のプリセット閾値以下である場合、該音声フレームが静音フレームである確率と非静音フレームである確率との差が小さく、該音声フレームが非静音フレームであると判定できる。
【0038】
別の代替実施形態において、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であることに応じて、音声フレームを非静音フレームにマーキングし、音声信号における静音フレームにマーキングされない音声フレームを非静音フレームに判定してもよい。このような実装形態において、まず、第1の音響スコアと各第2の音響スコアとの差が第2のプリセット閾値以上である音声フレームが静音フレームであると判定し、それ以外の他の音声フレームを非静音フレームに判定してもよい。
【0039】
上記第1のプリセット閾値及び第2のプリセット閾値は統計結果または経験に基づいて設定された値であってもよく、第1のプリセット閾値と第2のプリセット閾値は等しくてもよい。
【0040】
一例として、「今日の天気」の音声信号における各音声フレーム(番号はそれぞれ1〜14である)の第1の音響スコアと各第2の音響スコアにおける最大値の間の差を[表1]に示す。1行目は音声フレームの番号を示し、2行目は音声フレームの音響スコアが最も高いモデリングユニット(ここでは漢字をモデリングユニットとする)を示し、3行目は音声フレームに対応する第1の音響スコアと各第2の音響スコアとの最大値の差gapを示す。
[表1]
【0041】
ここで、「<S>」、「</S>」が文頭及び文末に対応するモデリングユニットを示し、「B」が空白モデリングユニットを示す。上記第1のプリセット閾値と第2のプリセット閾値を4とすると、gap≦4の音声フレーム、すなわち0、3、4、5、8、9、10、11、14番目のフレームが非静音フレーム、gap>4の音声フレーム、すなわち1、2、6、7、12、13番目のフレームが静音フレームに判定される。
【0042】
ステップ202は、音声フレームの音響スコアに基づいて隣接する非静音フレーム間にバッファフレームを特定する。
【0043】
ここで、バッファフレームに対応するモデリングユニットが語句の先頭または終了を表す。上記表1の例では、第1フレームと第14フレームはそれぞれ「<S>」、「</S>」であり、それぞれ語句の先頭と終了を示す。音声信号の任意の位置が<「<S>」、「</S>」のジャンプを行うことができることを確保するために、各非静音フレームの後に2つのバッファフレームを予約する。
【0044】
本実施形態において、ステップ201により判定された非静音フレームに基づいて、非静音フレームの後に予約する2つの音声フレームが上記バッファフレームであると判定してもよい。漢字をモデリングユニットとし、各漢字が1つの音声フレームに対応すれば、各非静音フレームの後の2つのフレームがバッファフレームであると判定してもよい。声母、韻母等の音素をモデリングユニットとすると、各要因が1つの音声フレームに対応し、少なくとも一つの音声フレームに対応する非静音フレームを合わせて形成される非静音フレーム列の後の2フレームをバッファフレームとしてもよく、例えば「n」、「i」に対応する非静音フレームを合わせて形成される非静音フレーム「ni」の後の2フレームをバッファフレームとして特定する。
【0045】
ステップ203は、音声信号からバッファフレームが除去された後の音声フレームを復号し、音声認識結果を得る。
【0046】
各音声フレームの音響スコアに基づいて、デコーダで音声信号に対して復号し、復号の時、上記バッファフレームをスキップしてもよい。具体的には、上記バッファフレームの音響スコアを0として発音辞書、音響モデルおよび言語パターンに基づいて構築されるネットワークにおいて、復号パスを探索し、確率が最も大きい経路を得て音声認識の結果とし、あるいは、音声信号から上記バッファフレームを削除し、残りの音声フレームにより形成された系列をフレーム毎に復号してもよい。
【0047】
あるいは、上記バッファフレームをマーキングし、フレーム毎に復号するときに、対象フレームがバッファフレームにマーキングされた場合、対象フレームをスキップして次のフレームをフレーム毎に復号してもよい。
【0048】
復号する時に上記バッファフレームをスキップし、復号する必要がある音声フレームの数が減少するため、本開示の上記実施例の音声認識方法は、デコーダの演算圧力を低減し、復号速度を向上させ、音声認識効率を向上させることができる。
【0049】
続いて、図3を参照すると、本開示による音声認識方法の他の実施例のフローチャートを示す。図3に示すように、音声認識方法のフロー300は、以下のステップを含む。
【0050】
ステップ301は、音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームと静音フレームを特定する。
【0051】
本実施例において、音声認識方法の実行主体は、音声信号を取得し、音声信号から音響特徴を抽出し、音響モデルを入力して採点し、音声フレームの音響スコアを得ることができる。ここで、音声フレームの音響スコアは、音声フレームが異なる音響モデリングユニットに対応する音響スコアを含んでもよい。音響モデリングユニットは、空白モデリングユニットと非空白モデリングユニットとを含んでもよい。非空白モデリングユニットは音素または漢字に対応し、空白モデリングユニットは静音を示してもよい。音響スコアは、音声フレームが各プリセット非空白モデリングユニットに対応する音響スコア及び空白モデリングユニットに対応する音響スコアを含んでもよい。
【0052】
本実施例において、音声フレームが各プリセットの非空白モデリングユニットに対応する音響スコアと、空白モデリングユニットに対応する音響スコアに基づいて、複数の方式で各音声フレームが静音フレームまたは非静音フレームであると判定してもよい。一代替実施形態において、各音声フレームに対応する音響スコアが最大となるモデリングユニットに従って、音声フレームが静音フレームであるか否かを判定し、例えば、空白モデリングユニットと非空白モデリングユニット1、非空白モデリングユニット2に対応する音声フレーム、…の音響スコアが順次S1、S2、S3であってもよい、…最大値がS1であると、空白モデリングユニットに対応する該音声フレームの音響スコアが最も高く、該音声フレームが静音フレームであると判定することができる、最大値がS2であると、いずれかの非空白モデリングユニットに対応する該音声フレームの音響スコアが最も高く、その音声フレームが非静音フレームであると判定することができる。
【0053】
別の代替実施形態において、いずれかの非空白モデリングユニットに対応する1つの音声フレームの音響スコアがプリセット閾値よりも高ければ、該音声フレームが非静音フレームであると判定してもよく、あるいは、少なくとも2つの非空白モデリングユニットに対応する1つの音声フレームの音響スコアが0より大きい場合、その音声フレームが非静音フレームであると判定してもよい。
【0054】
別の代替実施形態において、音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアとを含み、ここで、同一の音声フレームの異なる第2の音響スコアは、音声フレームが異なる非空白モデリングユニットに対応する確率を表す。音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの差に基づいて、音声信号における非静音フレームを特定することができる。具体的には、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応じて、音声フレームが非静音フレームであると判定してもよいが、また、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセットの閾値以上であると判定することに応じて、音声フレームを静音フレームにマーキングし、音声信号における静音フレームにマーキングされない音声フレームを非静音フレームと判定してもよい。
【0055】
例として、上記表1の例において、モデリングユニットが「B」であることは、対応する音声フレームが静音フレームであることを示し、モデリングユニットが漢字であることは、対応する音声フレームが非静音フレームであることを示す。
【0056】
ステップ302は、音声フレームの音響スコアに基づいて、隣接する非静音フレーム間にバッファフレームを特定する。
【0057】
バッファフレームに対応するモデリングユニットは、語句の先頭または終了を表し、「<S>」、「</S>」で示してもよい。音声信号の任意の位置が<「<S>」、「</S>」のジャンプを行うことができることを確保するために、各非静音フレームの後に2つのバッファフレームを予約する。
【0058】
本実施例のステップ302は、前述した実施例のステップ202と一致し、ステップ302の具体的な実現形態は前述した実施例におけるステップ202の説明を参照してもよいが、ここで説明を省略する。
【0059】
ステップ303は、音声信号からバッファフレームと静音フレームが除去された音声フレームを復号し、音声認識結果を得る。
【0060】
各音声フレームの音響スコアに基づいて、デコーダで音声信号を復号してもよい。上記音声信号における静音フレームとバッファフレームを削除した後に残りの非静音フレームにより形成される系列をデコーダで復号してもよい。あるいは、復号する時に、上記バッファフレームと上記静音フレームをスキップしてもよい。具体的には、ステップ301およびステップ302において、それぞれ静音フレームまたはバッファフレームをマーキングしてもよく、フレーム毎に復号する時に、対象フレームが静音フレームまたはバッファフレームにマーキングされる場合、対象フレームをスキップし、次のフレームが静音フレームまたはバッファフレームであるか否かを判断する。対象フレームが静音フレームまたはバッファフレームにマーキングされない場合、対象フレームが発音辞書、音響モデルおよび言語モデルに基づいて構築されるネットワークをトラバースすることに基づいて、対象フレーム位置の最大確率経路を探索してもよい。音声信号における全ての音声フレームをトラバースして経路を検索した後、音声識別結果を得る。
【0061】
実際の復号する過程において、静音フレームの数が非静音フレームの数よりもはるかに大きいが、復号する時に静音フレームとバッファフレームをスキップすることで、復号する必要がある音声フレームの数を低減し、復号する過程においてネットワークでのトラバース過程を簡略化し、復号速度をさらに向上させることができる。
【0062】
さらに、図4を参照して、上記各図において示される方法の実現として、本願は、音声認識装置の一実施例を提供し、該装置の実施例は、図2または図3おいて示される方法実施例に対応し、該装置は、具体的には、各種電子機器に適用可能である。
【0063】
図4に示すように、本実施形態の音声認識装置400は、第1の特定ユニット4001と、第2の特定ユニット402と、および復号ユニット403とを含む。ここで、第1の特定ユニット401は、音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームを特定するように構成され、第2の特定ユニット402は、音声フレームの音響スコアに基づいて、隣接する非静音フレーム間に対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定するように構成され、復号ユニット403は、音声信号からバッファフレームが除去された音声フレームを復号し、音声認識結果を得るように構成される。
【0064】
いくつかの実施形態において、上記音響スコアは、音声フレームが空白モデリングユニットに対応する確率を表す第1の音響スコアと、前記音声フレームがプリセット非空白モデリングユニットに対応する確率を表す少なくとも1つの第2の音響スコアと含み、上記第1の特定ユニット401は、さらに、音声信号における音声フレームの第1の音響スコアと第2の音響スコアとの差に基づいて、音声信号における非静音フレームを特定するように構成される。
【0065】
いくつかの実施形態において、上記第1の特定ユニット401は、さらに以下の方式で音声信号における非静音フレームを特定するように構成され、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第1のプリセット閾値以下であると判定することに応じて、音声フレームが非静音フレームであると判定する。
【0066】
いくつかの実施形態において、上記第1の特定ユニット401は、さらに、以下の方式で音声信号における非静音フレームを特定するように構成され、音声フレームの第1の音響スコアと各第2の音響スコアにおける最大値の間の差が第2のプリセット閾値以上であると判定することに応じて、音声フレームを静音フレームにマーキングし、音声信号における静音フレームにマーキングされない音声フレームを非静音フレームとして特定する。
【0067】
いくつかの実施形態において、上記装置400は、音声信号における音声フレームの音響スコアに基づいて、音声信号における静音フレームを特定するように構成される第3の特定ユニットをさらに含んでもよいが、上記復号ユニット403は、さらに、音声信号からバッファフレームと静音フレームが除去された音声フレームを復号するように構成されてもよい。
【0068】
本発明の上記実施例の音声識別装置400は、音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームを特定し、音声フレームの音響スコアに基づいて隣接する非静音フレーム間に対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定し、音声信号からバッファフレームが除去された音声フレームを復号し、音声認識結果を得ることにより、復号する必要がある音声フレームの数を効果的に減少させ、デコーダの演算圧力を低減し、復号速度を向上させ、音声認識速度を向上させることができる。
【0069】
以下、図5を参照して、本開示の実施例を実現するための電子機器(例えば図1における検索エンジンサーバ)500の構造概略図を示す。図5において示される電子機器は一例に過ぎず、本開示の実施形態の機能および使用範囲にいかなる制限も与えるべきではない。
【0070】
図5に示すように、電子機器500は、処理装置(例えば、中央プロセッサ、グラフィックプロセッサなど)501を含んでもよく、リードオンリーメモリ(ROM)502に格納されたプログラム、または記憶装置508からランダムアクセスメモリ(RAM)503にロードされたプログラムに従って、適切な動作、処理を実行してもよい。また、RAM503において、電子機器500の動作に必要な各種プログラムやデータが格納される。処理装置501、ROM502、およびRAM503は、バス504により互いに接続される。バス504にはまた、入力/出力インタフェース505も接続されている。
【0071】
一般的に、以下の装置は、I/Oインターフェース505に接続されてもよいが、例えば、タッチパネル、タッチパッド、キーボード、マウス、カメラ、マイクロフォン、加速度計、ジャイロ等の入力装置506と、液晶ディスプレイ(LCD)、スピーカ、バイブレータ等の出力装置507と、ハードディスク等の記憶装置508と、及び通信装置509とを含む。通信装置509は、データを交換できるように、電子機器500が他の装置と無線または有線通信を行うことを許可してもよい。図5は、種々の装置を有する電子機器500を示すが、必ずしも全ての示される装置を実施しまたは備えることを要求するものではないことが理解されるべきである。代替的に実施するかまたはより少ない装置を備えることができる。図5に示される各ブロックは、1つの装置を示してもよいが、必要に応じて複数の装置を示してもよい。
【0072】
特に、本開示の実施例によれば、上記したフローチャートを参照して説明された処理を、コンピュータのソフトウェアプログラムとして実現することができる。例えば、本開示の実施例は、コンピュータ可読媒体にベアラされるコンピュータプログラムを含むコンピュータプログラム製品を含み、該コンピュータプログラムは、フローチャートに示される方法を実行するためのプログラムコードを含む。このような実施例において、該コンピュータプログラムは、通信装置509を介してネットワークからダウンロードされてインストールされ、または記憶装置508からインストールされ、またはROM502からインストールされてもよい。該コンピュータプログラムが、処理装置501により実行される場合、本開示の実施例に説明された方法に限定された上記機能が実行される。
なお、本開示の実施例に説明されたコンピュータ可読媒体は、コンピュータ可読信号媒体であっても、コンピュータ可読記憶媒体であってもよいが、上記両者の任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば電気、磁気、光、電磁、赤外線、または半導体のシステム、装置またはデバイス、または任意の組み合わせであってもよいがこれらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、一つまたは複数の導線を有する電気的接続、携帯型コンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、または上記任意の適切な組み合わせを含むがこれらに限定されない。本発明の実施例において、コンピュータ可読記憶媒体は、プログラムを含みまたは記憶する実体のある記憶媒体であってよく、該プログラムは、命令実行システム、装置またはデバイスにより使用されるかまたはそれを組み合わせて使用されてもよい。しかしながら、本開示の実施例において、コンピュータ可読信号媒体は、ベースバンドにおけるまたはキャリアの部分として伝搬するデータ信号を含んでもよく、ここでコンピュータが可読プログラムコードをベアラする。このような伝搬するデータ信号は、多種の形式を採用してもよく、電磁信号、光信号、または上記任意の適切な組み合わせを含むがこれらに限定されない。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、該コンピュータ可読媒体は、命令実行システム、装置またはデバイスにより使用されるかまたはそれを組み合わせて使用されるためのプログラムを送信、伝搬または伝送してもよい。コンピュータ可読媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されてもよく、電線、光ケーブル、RF高周波)等、または上記任意の適切な組み合わせを含むがこれに限定されない。
【0073】
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよいが、単独で存在し該電子機器に組み込まれなくてもよい。上記コンピュータ可読媒体は、一つまたは複数のプログラムをベアラし、上記一つまたは複数のプログラムが該電子機器により実行される場合、該電子機器に、音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームを特定し、音声フレームの音響スコアに基づいて隣接する非静音フレーム間に対応するモデリングユニットが語句の先頭または終了を表すバッファフレームを特定し、音声信号からバッファフレームが除去された音声フレームを復号し、音声認識結果を得ることを実現させる。
【0074】
本発明の実施例の動作を実行するためのコンピュータプログラムコードを一つまたは複数のプログラミング言語またはその組み合わせで書いてもよく、プログラミング言語はオブジェクト指向プログラミング言語であるjava、Smalltalk、C++等のプログラミング言語を含み、「C」言語等の一般的なプロセス式のプログラミング言語をさらに含む。プログラムコードは、完全にユーザーコンピュータで実行してもよいが、部分的にユーザーコンピュータで実行してもよく、独立したソフトウェアパッケージとして実行してもよいが、部分的にユーザーコンピュータで部分的に遠隔コンピュータで実行してもよく、または完全に遠隔コンピュータまたはサーバで実行してもよい。遠隔コンピュータに係る場合、遠隔コンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続されてもよいが、インターネットを介して外部のコンピュータに接続されてもよい(例えばインターネットサービス事業者を利用してインターネットで接続される)。
【0075】
図面におけるフローチャート及びブロック図は本願の様々な実施例によるシステム、方法及びコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能及び動作を示す。ここで、フローチャートまたはブロック図における各ブロックは、1つのモジュール、プログラムブロック、またはコードの一部を示してもよく、該モジュール、プログラムブロック、またはコードの一部は、所定の論理機能を実現するための一つまたは複数の実行可能命令を含む。なお、代替の実現において、ブロックに付された機能は、図中に付された順序とは異なる順序で発生してもよい。例えば、2つの連続して示されるブロックは、実質的に並列的に実行されてもよいが、それらが逆の順序で実行されてもよく、係る機能に依存する場合もある。なお、ブロック図及び/またはフローチャートにおける各ブロック、及びブロック図及び/またはフローチャートにおけるブロックの組み合わせは、所定の機能または動作を実行する専用のハードウェアによるシステムで実現してもよいが、専用ハードウェアとコンピュータ命令との組み合わせで実現してもよい。
【0076】
本願の実施例に係るユニットは、ソフトウェアの形態で実現されてもよいが、ハードウェアの形態で実現されてもよい。なお、説明された各ユニットは、プロセッサに設けられていてもよく、例えば、第1の特定ユニットと、第2の特定ユニットと、復号ユニットとを含むプロセッサのように構成されてもよい。ここで、これらの各ユニットの名称は、場合によって該ユニット自体を限定するものではなく、例えば、「音声信号における音声フレームの音響スコアに基づいて、音声信号における非静音フレームユニットを判定する」と説明されてもよい。
【0077】
以上の説明は、本願の好適な実施例及び運用技術原理の説明である。当業者であれば、本願に係る発明の範囲は、上記技術的特徴の特定の組み合わせで形成される技術的解決手段に限定されるものではないと同時に、上記発明の構想から逸脱せず、上記技術的特徴とその均等の特徴から任意に組み合わせて形成される他の技術的解決手段も含むものである。例えば、上記特徴は、本願において開示される(ただし、特許請求の範囲に記載された)類似した機能を有する技術的特徴を相互に入れ替えて形成されたものである。

図1
図2
図3
図4
図5