【文献】
WANG et al.,Context Dependent Acoustic Keyword Spotting Using Deep Neural Network,2013 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference,2013年11月01日
【文献】
Sainath et al.,Convolutional Neural Networks for Small-footprint Keyword Spotting,INTERSPEECH 2015,2015年09月10日
(58)【調査した分野】(Int.Cl.,DB名)
前記重み付き有限状態トランスデューサネットワークは、ディープニューラルネットワークと、隠れマルコフモデルと、辞書と、言語モデルとを含み、前記複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより、前記複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得するステップは、
前記複数のフレームの音声セグメントを前記ディープニューラルネットワークに入力することにより、前記複数のフレームの音声セグメントのうちの各フレームの音声セグメントに対応する隠れ状態の事後確率を取得するステップと、
前記各フレームの音声セグメントに対応する隠れ状態の事後確率に基づいて、前記隠れマルコフモデルによって、前記各フレームの音声セグメントに対応する隠れ状態を取得するステップと、
前記各フレームの音声セグメントに対応する隠れ状態に基づいて、前記複数のフレームの音声セグメントに対応する音素を取得するステップと、
前記複数のフレームの音声セグメントに対応する音素に基づいて、前記辞書及び前記言語モデルを参照することにより、前記複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得するステップと、を含み、
前記辞書には、前記音素と単語との対応関係が含まれ、前記言語モデルには、前記単語と文法及び/又は構文との対応関係が含まれる、
ことを特徴とする請求項2に記載の方法。
前記各フレームの音声セグメントに対応する隠れ状態の事後確率に基づいて、前記隠れマルコフモデルによって、前記各フレームの音声セグメントに対応する隠れ状態を取得するステップは、
ベイズの公式によって、前記各フレームの音声セグメントに対応する隠れ状態の事後確率を変換することにより、前記各フレームの音声セグメントに対応する隠れ状態の出力確率を取得するステップと、
前記各フレームの音声セグメントに対応する隠れ状態の出力確率、前記隠れマルコフモデルにおける各隠れ状態の初期確率及び前記各隠れ状態間の遷移確率に基づいて、前記隠れマルコフモデルによって順方向復号を行うことにより、前記各フレームの音声セグメントに対応する隠れ状態を取得するステップと、
を含むことを特徴とする請求項3に記載の方法。
前記機械学習モデルは、畳み込みニューラルネットワークであり、前記候補音声セグメントを機械学習モデルに入力し、前記機械学習モデルによって、前記候補音声セグメントに所定のキーワードが含まれるか否かを検出するステップは、
前記候補音声セグメントを前記畳み込みニューラルネットワークに入力するステップと、
前記畳み込みニューラルネットワークによって、前記候補音声セグメントに対して畳み込み及びプーリングを行うことにより、前記候補音声セグメントの高レベルの意味的特徴を抽出するステップと、
前記畳み込みニューラルネットワークにおける全結合層及びソフトマックス関数によって、前記候補音声セグメントの高レベルの意味的特徴を分類し、前記候補音声セグメントに前記所定のキーワードが含まれるか否かを検出するステップと、を含む、
ことを特徴とする請求項1〜4のいずれか1項に記載の方法。
前記処理モジュールは、さらに、前記音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得し、前記複数のフレームの音声セグメントを前記重み付き有限状態トランスデューサネットワークに入力することにより、前記複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得し、
前記取得モジュールは、さらに、前記言語情報に所定のキーワードが含まれる場合、前記所定のキーワードに対応する候補音声セグメントの前記音声情報における開始位置及び終了位置を決定し、前記候補音声セグメントには、少なくとも前記複数のフレームの音声セグメントのうち1フレームの音声セグメントが含まれる、
ことを特徴とする請求項8に記載の装置。
前記処理モジュールは、さらに、ベイズの公式によって、前記各フレームの音声セグメントに対応する隠れ状態の事後確率を変換することにより、前記各フレームの音声セグメントに対応する隠れ状態の出力確率を取得し、前記各フレームの音声セグメントに対応する隠れ状態の出力確率、前記隠れマルコフモデルにおける各隠れ状態の初期確率及び前記各隠れ状態間の遷移確率に基づいて、前記隠れマルコフモデルによって順方向復号を行うことにより、前記各フレームの音声セグメントに対応する隠れ状態を取得する、
ことを特徴とする請求項10に記載の装置。
音声認識デバイスであって、プロセッサとメモリとを備え、前記メモリには、少なくとも1つの命令が記憶され、前記少なくとも1つの命令は、前記プロセッサによりロードされて実行されることで、請求項1〜7のいずれか1項に記載の音声認識方法を実現させる、ことを特徴とする音声認識デバイス。
コンピュータ読み取り可能な記憶媒体であって、少なくとも1つの命令が記憶され、少なくとも1つの命令は、プロセッサによりロードされて実行されることで、請求項1〜7のいずれか1項に記載の音声認識方法を実現させる、ことを特徴とする記憶媒体。
【発明を実施するための形態】
【0011】
本願の目的、構成、及びメリットをより明確にするために、以下、図面を参照しながら、本願の実施形態をさらに詳しく説明する。
【0012】
わかりやすくするために、以下、本願の実施例に係る用語を解釈する。
【0013】
機械学習モデルは、演算モデルであり、大量のノード(ニューロンとも呼ばれる)同士が相互に結合して構成される。各々のノードは1つの方策関数に対応し、2つずつのノード間の結合は、重みと呼ばれる、該結合を通過する信号の加重値を表す。サンプルが機械学習モデルのノードに入力された後、各ノードから1つの出力結果が出力され、該出力結果が次のノードへの入力サンプルとされ、機械学習モデルは、サンプルの最終的な出力結果に基づいて、各ノードの方策関数及び重みを調整する。この過程は、訓練と呼ばれる。
【0014】
重み付き有限状態トランスデューサネットワークは、有限個の状態、並びにこれらの状態間の遷移及び動作などの振る舞いを示す数学モデルである。本願の実施例では、重み付き有限状態トランスデューサネットワークは、音響モデルと、辞書と、言語モデルとを含む。
【0015】
音響モデルは、音声情報に基づいて、対応する事後確率が最大となる隠れ状態を出力する数学モデルである。隠れ状態は、音素であってもよいし、音素よりも小さい音声単位であってもよい。本願の実施例における音響モデルは、隠れマルコフ−ディープニューラルネットワークモデルである。
【0016】
音素は、音声の自然な属性に基づいて分割された最小音声単位である。音響特性から見ると、音素は、音質の観点から分割された最小音声単位である。生理的特性から見ると、1つの発音動作は、1つの音素を形成する。
【0017】
隠れマルコフモデル(HMM:Hidden Markov Model)は、統計解析モデルの1種であり、隠れた未知パラメータが含まれるマルコフ過程を記述するためのものである。隠れマルコフモデルでは、状態は、直接的に見えるものではなく、状態の影響を受ける何らかの変数が見える。
【0018】
多層パーセプトロン(MLP:Multilayer Perceptron)は、順伝播型ニューラルネットワークの1種であり、1組の入力ベクトルを1組の出力ベクトルに非線形にマッピングする。多層パーセプトロンは、誤差逆伝播法を用いて訓練することができる。
【0019】
ディープニューラルネットワーク(DNN:Deep Neural Network)は、機械学習モデルの1種であり、2つを超える隠れ層が含まれる多層パーセプトロンである。入力ノードを除いて、各ノードは、いずれも、非線形活性化関数を持つニューロンである。多層パーセプトロンと同様に、ディープニューラルネットワークは、誤差逆伝播法を用いて訓練することができる。
【0020】
畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)は、機械学習モデルの1種であり、縦続接続される少なくとも2つの畳み込み層と、最上位の全結合層(FC:Fully Connected Layers)と、ソフトマックス関数(Softmax)とを含み、各畳み込み層の後に1つのプーリング層を含む。ここで、ソフトマックス関数は、正規化指数関数又はSoftmax関数とも呼ばれ、任意の実数を含むあるK次元ベクトルzを、各要素の範囲が(0,1)の間にあって、かつ全ての要素の和が1となるように、他のK次元実数ベクトルσ(z)に「圧縮」することができる。
【0021】
畳み込みニューラルネットワークは、パラメータを共有することによりモデルのパラメータ量を低減させるため、画像認識及び音声認識に広く適用されている。
【0022】
いくつかの実施例では、音声認識方法は、音声情報に対して特徴の抽出を行い、重み付き有限状態トランスデューサ(WFST:Weighted Finite State Transducer)ネットワークによって、音声情報を対応するテキスト情報に変換し、テキスト情報に所定のキーワードが含まれるか否かを検出する、ことを含む。
【0023】
音声情報を対応するテキスト情報に変換する過程では、音声情報に対して意味認識を行う必要がある。重み付き有限状態トランスデューサネットワークの制限により、意味がないが所定のキーワードに類似する音声情報、例えば雑音、背景音楽の音などが、意味のある音声情報として認識され、電子デバイスの誤ウェイクアップが発生し、認識の正解率が低くなる。
【0024】
図1A及び
図1Bを参照されたいが、
図1A及び
図1Bは、本願の例示的な一実施例で提供された音声認識方法の実施環境図を示す。
【0025】
図1Aは、本願の実施例で提供された第1種の可能な実施環境であり、該実施環境は、端末110及びサーバ120を含む。ここで、端末110は、有線ネットワーク又は無線ネットワークを介して、サーバ120と接続を確立する。
【0026】
本実施例では、端末110が、音声情報を取得し、サーバ120が、音声情報を認識し、端末110に休止状態及び/又は画面ロック状態の解除を指示する。
【0027】
端末110の無音検出部は、無音環境にユーザの音声があるか否かを決定し、ユーザの音声があると決定した場合、ユーザの音声を録音するために録音部を起動することにより、相応のオリジナル音声信号を取得し、有線ネットワーク又は無線ネットワークを介して、オリジナル音声信号をサーバ120に送信する。
【0028】
サーバ120は、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得し、音声情報に所定のキーワードが含まれるか否かを検出し、音声情報に所定のキーワードが含まれる場合、音声情報から候補音声セグメントを切り取り、候補音声セグメントに対して二次検証を行うことにより、候補音声セグメントに所定のキーワードが含まれるか否かを検出し、候補音声セグメントに所定のキーワードが含まれる場合、端末110にウェイクアップ指示を送信する。該候補音声セグメントは、所定のキーワードに対応する音声情報セグメントである。
【0029】
端末110は、サーバ120から送信されたウェイクアップ指示を受信すると、該ウェイクアップ指示に従って、本機の休止状態及び/又は画面ロック状態を解除する。
【0030】
図1Bは、本願の実施例で提供された第2種の可能な実施環境であり、該実施環境は、端末110、端末130、及びサーバ120を含む。ここで、端末110は、有線ネットワーク又は無線ネットワークを介して、サーバ120と接続を確立し、端末130は、有線ネットワーク又は無線ネットワークを介して、サーバ120と接続を確立する。該実施例では、端末110が、音声情報を取得し、サーバ120が、音声情報を認識し、端末130に休止状態及び/又は画面ロック状態の解除を指示する。
【0031】
端末110の無音検出部は、無音環境にユーザの音声があるか否かを決定し、ユーザの音声があると決定した場合、ユーザの音声を録音するために録音部を起動することにより、相応のオリジナル音声信号を取得し、有線ネットワーク又は無線ネットワークを介して、オリジナル音声信号をサーバ120に送信する。
【0032】
サーバ120は、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得し、音声情報に所定のキーワードが含まれるか否かを検出し、音声情報に所定のキーワードが含まれる場合、音声情報から候補音声セグメントを切り取り、候補音声セグメントに対して二次検証を行うことにより、候補音声セグメントに所定のキーワードが含まれるか否かを検出し、候補音声セグメントに所定のキーワードが含まれる場合、端末130にウェイクアップ指示を送信する。該候補音声セグメントは、所定のキーワードに対応する音声情報セグメントである。
【0033】
端末130は、サーバ120から送信されたウェイクアップ指示を受信すると、該ウェイクアップ指示に従って、本機の休止状態及び/又は画面ロック状態を解除する。
【0034】
一実施例では、端末110が、音声情報を取得し、音声情報を認識し、本機の休止状態及び/又は画面ロック状態を解除する。
【0035】
端末110の無音検出部は、無音環境にユーザの音声があるか否かを決定し、ユーザの音声があると決定した場合、ユーザの音声を録音するために録音部を起動することにより、オリジナル音声信号を取得し、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得し、音声情報に所定のキーワードが含まれるか否かを検出し、音声情報に所定のキーワードが含まれる場合、音声情報から候補音声セグメントを切り取り、候補音声セグメントに対して二次検証を行うことにより、候補音声セグメントに所定のキーワードが含まれるか否かを検出し、候補音声セグメントに所定のキーワードが含まれる場合、本機の休止状態及び/又は画面ロック状態を解除する。該候補音声セグメントは、所定のキーワードに対応する音声情報セグメントである。
【0036】
上記端末は、無音検出部及び録音部を含む電子デバイスであってもよく、携帯電話、タブレットコンピュータ、電子ブックリーダー、ラップトップコンピュータ、デスクトップコンピュータ、スマートスピーカー、スマートロボット、車載制御センターなどであってもよい。
【0037】
図2を参照されたいが、
図2は、本願の例示的な一実施例で提供された音声認識方法のフローチャートを示す。該方法は、
図1A及び
図1Bに示すようなサーバ120に適用してもよいし、端末に適用してもよい。該方法は、以下のステップを含む。
【0038】
ステップ201で、音声情報を取得する。
【0039】
サーバは、端末から送信されたオリジナル音声信号を受信し、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得する。
【0040】
例示的に、端末は、ユーザの音声があると決定すると、ユーザの音声を録音することにより、オリジナル音声信号を取得し、有線ネットワーク又は無線ネットワークを介して、オリジナル音声信号をサーバに送信する。サーバは、該オリジナル音声信号を受信する。
【0041】
ステップ202で、音声情報における候補音声セグメントの開始位置及び終了位置を決定する。
【0042】
例示的に、サーバは、重み付き有限状態トランスデューサネットワークによって、音声情報に対応する事後確率が最大となる言語情報を取得し、言語情報に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を決定する。
【0043】
音声情報が時間領域での関数である場合、開始位置及び終了位置は、候補音声セグメントの音声情報における開始時刻及び終了時刻であり、音声情報が周波数領域での関数である場合、開始位置及び終了位置は、候補音声セグメントの音声情報における開始周波数及び終了周波数である。
【0044】
候補音声セグメントには、少なくとも1フレームの音声セグメントが含まれる。例えば、所定のキーワードが「kai qi」であり、サーバが重み付き有限状態トランスデューサネットによって取得した、音声情報に対応する事後確率が最大となる言語情報に「kai qi」が含まれ、「kai」が音声セグメント1に対応し、「qi」が音声セグメント2に対応し、音声セグメント1は、開始時刻がt1であり、終了時刻がt2であり、音声セグメント2は、開始時刻がt3であり、終了時刻がt4である。t1がt3の前であり、t4がt2の後である場合、候補音声セグメントは、音声情報における開始時刻がt1であり、終了時刻がt4であるセグメントであり、即ち、候補音声セグメントの音声情報における開始位置及び終了位置がt1及びt4であると決定される。
【0045】
ステップ203で、候補音声セグメントの開始位置及び終了位置に基づいて、音声情報から該候補音声セグメントを切り取る。
【0046】
サーバは、候補音声セグメントの音声情報における開始位置及び終了位置に基づいて、音声情報から候補音声セグメントを切り取る。
【0047】
ステップ204で、候補音声セグメントを機械学習モデルに入力し、機械学習モデルによって、候補音声セグメントに所定のキーワードが含まれるか否かを検出する。
【0048】
機械学習モデルは、畳み込みニューラルネットワーク又は重み付き有限状態トランスデューサネットワークを含む。サーバは、重み付き有限状態トランスデューサネットワークによって、候補音声セグメントに対して粗い位置決定を行った後、畳み込みニューラルネットワークによって、候補音声セグメントを検出したり、重み付き有限状態トランスデューサネットワークによって、候補音声セグメントを検出したりしてもよい。例示的に、サーバは、畳み込みニューラルネットワークにおける1番目の畳み込み層によって、候補音声セグメントに対して畳み込み処理を行うことにより、第1高レベルの意味的特徴を取得し、第1高レベルの意味的特徴を1番目のプーリング層に入力することにより、一次圧縮された高レベルの意味的特徴を取得し、一次圧縮された高レベルの意味的特徴を2番目の畳み込み層に入力することにより、第2高レベルの意味的特徴を取得し、第2高レベルの意味的特徴を2番目のプーリング層に入力することにより、二次圧縮された高レベルの意味的特徴を取得し、…、畳み込み処理及びプーリング処理を複数回繰り返すことにより、候補音声セグメントの高レベルの意味的特徴を抽出する。
【0049】
例示的に、サーバは、重み付き有限状態トランスデューサネットワークによって、候補音声セグメントに対応する事後確率が最大となる言語情報を取得し、該言語情報に所定のキーワードが含まれるか否かを検出する。
【0050】
ステップ205で、候補音声セグメントに所定のキーワードが含まれる場合、音声情報に所定のキーワードが含まれると決定する。
【0051】
例示的に、畳み込みニューラルネットワークから、候補音声セグメントに所定のキーワードが含まれるという結果が出力される場合、サーバは、音声情報に所定のキーワードが含まれると決定する。
【0052】
例示的に、候補音声セグメントに対応する事後確率が最大となる言語情報に所定のキーワードが含まれる場合、サーバは、音声情報に所定のキーワードが含まれると決定する。
【0053】
説明すべきものとして、重み付き有限状態トランスデューサネットワークを用いて候補音声セグメントを検出するのに時間がかかり、かつ畳み込みニューラルネットワークを用いて候補音声セグメントを検証するのに対して、正確度が低い。
【0054】
以上説明したように、本願の実施例では、機械学習モデルによって、重み付き有限状態トランスデューサネットワークによって粗い位置決定を行った候補音声セグメントを検証し、候補音声セグメントに所定のキーワードが含まれるか否かを決定し、関連技術において、意味のない音声情報を意味のある音声情報として認識することで、誤ウェイクアップを発生させる恐れがあるという問題を解決し、音声認識の正確率を向上させる。
【0055】
図3を参照されたいが、
図3は、本願の例示的な一実施例で提供された音声認識方法のフローチャートを示す。該方法は、
図1A及び
図1Bに示すようなサーバ120に適用してもよいし、端末に適用してもよい。該方法は、
図2の実施例におけるステップ202の1つの実施形態であってもよい、該方法は、以下のステップを含む。
【0056】
ステップ202aで、音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得する。
【0057】
例示的に、サーバは、移動窓で音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得する。移動窓は、所定の窓長及びステップ長を有する。各フレームの音声セグメントは、それぞれに対応する開始位置及び終了位置並びに番号インデックスを有する。
【0058】
音声情報が時間領域での関数である場合、窓長及びステップ長は、所定の時間長を単位とする。
図4に示すように、移動窓400の窓長が20ミリ秒であり、ステップ長が10ミリ秒である場合、移動窓400によって、音声情報は、20ミリ秒の長さを1フレームとする音声情報に分割され、複数のフレームの音声セグメントの間の重なり長さは、10ミリ秒である。
【0059】
ステップ202bで、複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得する。
【0060】
例示的に、
図5に示すように、重み付き有限状態トランスデューサネットワークは、音響モデルと、辞書と、言語モデルとを含む。ここで、音響モデルは、ディープニューラルネットワーク及び隠れマルコフモデルで構成されてもよい。
【0061】
ディープニューラルネットワークは、縦続接続される少なくとも2つのディープニューラルネットワーク層と、全結合層とを含み、入力された音声セグメントに基づいて、該音声セグメントに対応する隠れ状態の事後確率の数学モデルを出力することができる。
図5におけるVは、ディープニューラルネットワークに入力された音声セグメントを表す。Wは、ディープニューラルネットワーク層のうちの各ニューラルネットワーク層のパラメータを表し、例えば、W1は、1番目のニューラルネットワーク層のパラメータを表し、WMは、第M層のニューラルネットワーク層のパラメータを表す。h(i)は、ディープニューラルネットワーク層のうちの第i層のニューラルネットワーク層の出力結果を表し、例えば、h(1)は、1番目のニューラルネットワーク層の出力結果を表し、h(M)は、第M層のニューラルネットワーク層の出力結果を表す。S
iは、第i種の隠れ状態、例えば、第1種の隠れ状態S
1、第K種の隠れ状態S
Kを表す。a
SiSjは、第i種の隠れ状態S
iと第j種の隠れ状態S
jとの間の遷移確率を表し、例えば、a
S1S2は、第1種の隠れ状態S
1と第2種の隠れ状態S
2との間の遷移確率を表す。
【0062】
隠れマルコフモデルは、音声セグメントに対応する隠れ状態の事後確率に基づいて、音声セグメントに対応する隠れ状態を出力する数学モデルである。
【0063】
辞書は、音素と単語との対応関係である。少なくとも1つの音素を辞書に入力することにより、少なくとも1つの音素に対応する事後確率が最大となる文字又は単語を取得することができる。
【0064】
言語モデルは、単語と構文及び/又は文法との対応関係である。文字又は単語を言語モデルに入力することにより、単語に対応する事後確率が最大となる言語情報を取得することができる。ここで、言語情報は、単語であってもよいし、文であってもよい。
【0065】
サーバは、複数のフレームの音声セグメントをディープニューラルネットワークに入力して特徴を抽出することにより、各フレームの音声セグメントに対応する隠れ状態の事後確率を取得し、各フレームの音声セグメントに対応する隠れ状態の事後確率に基づいて、隠れマルコフモデルによって、各フレームの音声セグメントに対応する隠れ状態を取得し、各フレームの音声セグメントに対応する隠れ状態に基づいて、複数のフレームの音声セグメントに対応する音素を取得し、辞書によって、複数のフレームの音声セグメントに対応する事後確率が最大となる文字又は単語を取得し、複数のフレームの音声セグメントに対応する事後確率が最大となる文字又は単語に基づいて、言語モデルによって、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得する。
【0066】
上記の変換過程では、全て事後確率が最大となる経路を選択するため、複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより得られるのは、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報である。
【0067】
ステップ202cで、言語情報に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を取得する。該ステップにおいて、所定のキーワードに対応する音素に基づいて、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を決定する。
【0068】
サーバは、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報に所定のキーワードが含まれるか否かを検出し、言語情報に所定のキーワードが含まれると決定した場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を取得する。
【0069】
例示的に、1フレームの音声セグメントが1つの隠れ状態に対応し、少なくとも1つの隠れ状態が1つの音素に対応し、少なくとも1つの音素が1つの単語に対応する。所定のキーワードにおける各単語に対応する音素により、キーワードに対応する候補音声セグメントを取得する。音声情報をフレーム化する際に、各音声セグメントに番号インデックスが付与され、各音声セグメントがいずれも開始位置及び終了位置の属性を有するため、候補音声セグメントの音声情報における開始位置及び終了位置を取得することができる。
【0070】
以上説明したように、本願の実施例では、複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得し、言語情報に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を取得し、候補音声セグメントを認識する正確率を向上させることができる。
【0071】
さらに、本願の実施例では、複数のフレームの音声セグメントをディープニューラルネットワークに入力することにより、各フレームの音声セグメントに対応する隠れ状態の事後確率を取得し、ディープニューラルネットワークが強い特徴抽出能力を有するため、ディープニューラルネットワークによって得られた、各フレームの音声セグメントに対応する隠れ状態の事後確率がより正確になり、候補音声セグメントを認識する正確率が向上する。
【0072】
図6を参照されたいが、
図6は、本願の例示的な一実施例で提供された音声認識方法のフローチャートを示す。該方法は、
図1A及び
図1Bに示すようなサーバ120に適用されてもよいし、端末に適用されてもよい。該方法は、
図2の実施例におけるステップ204の1つの実施形態であってもよい。該方法は、以下のステップを含む。
【0073】
ステップ204aで、候補音声セグメントを畳み込みニューラルネットワークに入力する。
【0074】
サーバは、
図2の実施例又は
図3の実施例の方法で候補音声セグメントを取得した後、候補音声セグメントを畳み込みニューラルネットワークに入力する。
【0075】
例示的に、
図7Aに示すように、畳み込みニューラルネットワークは、少なくとも2つの畳み込み層と、1つの全結合層と、1つのソフトマックス関数とを含み、各層の畳み込み層の後に1つのプーリング層をさらに含む。図中では2つの畳み込み層を例に説明しているが、畳み込みニューラルネットワークが2つのみの畳み込み層を含むことを表すのではない。
【0076】
ステップ204bで、畳み込みニューラルネットワークによって、候補音声セグメントに対して畳み込み及びプーリングを行うことにより、候補音声セグメントの高レベルの意味的特徴を抽出する。
【0077】
例示的に、サーバは、畳み込みニューラルネットワークにおける1番目の畳み込み層によって、候補音声セグメントに対して畳み込み処理を行うことにより、第1高レベルの意味的特徴を取得し、第1高レベルの意味的特徴を1番目のプーリング層に入力することにより、一次圧縮された高レベルの意味的特徴を取得し、一次圧縮された高レベルの意味的特徴を2番目の畳み込み層に入力することにより、第2高レベルの意味的特徴を取得し、第2高レベルの意味的特徴を2番目のプーリング層に入力することにより、二次圧縮された高レベルの意味的特徴を取得し、…、畳み込み処理及びプーリング処理を複数回繰り返すことにより、候補音声セグメントの高レベルの意味的特徴を抽出する。
【0078】
ステップ204cで、畳み込みニューラルネットワークにおける全結合層及びソフトマックス関数によって、候補音声セグメントの高レベルの意味的特徴を分類し、候補音声セグメントに所定のキーワードが含まれるか否かを検出する。
【0079】
例示的に、候補音声セグメントに対して多層の畳み込み層及びプーリング層の処理を行うことにより、高レベルの意味的特徴を取得し、全結合層によって、各層の畳み込み層及びプーリング層で抽出された高レベルの意味的特徴を結合して、ソフトマックス関数に渡し、ソフトマックス関数によって、高レベルの意味的特徴を分類し、候補音声セグメントに所定のキーワードが含まれるか否かの結果を出力する。
【0080】
図7Bは、本願の実施例で提供された音声認識方法の全体的なアーキテクチャ図である。図示されたように、複数のフレームの音声セグメントを音響モデルに入力することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる音素を取得し、辞書によって、複数のフレームの音声セグメントに対応する事後確率が最大となる文字又は単語を取得し、言語モデルによって、複数のフレームの音声セグメントに対応する事後確率が最大となる単語又は文を取得し、これにより、単語又は文に所定のキーワードが含まれるか否かを検出し、単語又は文に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントを切り取り、候補音声セグメントを畳み込みニューラルネットワークに入力して検証し、最終的な検証結果を出力する。
【0081】
以上説明したように、本願の実施例では、候補音声セグメントを畳み込みニューラルネットワークに入力して、畳み込み及びプーリングを行うことにより、候補音声セグメントの高レベルの意味的特徴を抽出し、全結合層によって、抽出された高レベルの意味的特徴を結合して、分類のためにソフトマックス関数に渡すことにより、候補音声セグメントに所定のキーワードが含まれるか否かの結果を取得し、候補音声セグメントが、重み付き有限状態トランスデューサネットワークによって予備的な位置決定を行うことにより取得されたものであるため、認識率を確保すると同時に、音声認識の正確率を向上させる。
【0082】
図8を参照されたいが、
図8は、本願の例示的な一実施例で提供された音声認識方法のフローチャートを示す。該方法は、
図1Aに示すような実施環境に適用されてもよい。該方法は、以下のステップを含む。
【0083】
ステップ801で、端末は、取得されたオリジナル音声信号をサーバに送信する。
【0084】
例示的に、端末の無音検出モジュールは、ユーザの音声があるか否かを判断し、ユーザの音声があると決定した場合、ユーザの音声を録音するために録音モジュールを起動することにより、相応のオリジナル音声信号を取得し、有線ネットワーク又は無線ネットワークを介して、オリジナル音声信号をサーバに送信する。
【0085】
ステップ802で、サーバは、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得する。
【0086】
サーバは、受信されたオリジナル音声信号に対して予備的な特徴抽出を行うことにより、音声情報を取得する。該音声情報は、時間領域又は周波数領域での関数である。
【0087】
ステップ803で、サーバは、音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得する。
【0088】
例示的に、サーバは、移動窓で音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得する。ここで、移動窓は、所定の窓長及びステップ長を有する。各フレームの音声セグメントは、それぞれに対応する開始位置及び終了位置並びに番号インデックスを有する。
【0089】
ステップ804で、サーバは、複数のフレームの音声セグメントをディープニューラルネットワークに入力することにより、複数のフレームの音声セグメントのうちの各フレームの音声セグメントと、それに対応する隠れ状態との間の事後確率を取得する。
【0090】
ディープニューラルネットワークから出力されるのは、各フレームの音声セグメントと、それに対応する隠れ状態との間の事後確率であるため、ディープニューラルネットワークによって、各フレームの音声セグメントに対応する隠れ状態を取得できず、隠れマルコフモデルによって、各フレームの音声セグメントに対して順方向復号を行う必要がある。
【0091】
ステップ805で、サーバは、ベイズの公式によって、各フレームの音声セグメントに対応する隠れ状態の事後確率を変換することにより、各フレームの音声セグメントに対応する隠れ状態の出力確率を取得する。
【0092】
例示的に、隠れマルコフモデルによって、各フレームの音声セグメントに対して順方向復号を行うには、音声セグメントに対応する隠れ状態の出力確率が必要となる。サーバは、ベイズの公式によって、各フレームの音声セグメントに対応する隠れ状態の事後確率を変換することにより、各フレームの音声セグメントに対応する隠れ状態の出力確率を取得する。
【0093】
ステップ806で、サーバは、各フレームの音声セグメントに対応する隠れ状態の出力確率、隠れマルコフモデルにおける各隠れ状態の初期確率及び各隠れ状態間の遷移確率に基づいて、隠れマルコフモデルによって順方向復号を行うことにより、複数のフレームの音声セグメントに対応する事後確率が最大となる隠れ状態を取得する。
【0094】
隠れマルコフモデルにおける各隠れ状態の初期確率及び各隠れ状態間の遷移確率は、訓練済みのパラメータである。ステップ804で取得された各フレームの音声セグメントに対応する隠れ状態の出力確率に基づいて、各隠れ状態の初期確率及び各隠れ状態間の遷移確率を参照しながら、隠れマルコフモデルによって、各フレームの音声セグメントに対して順方向復号を行うことにより、複数のフレームの音声セグメントに対応する事後確率が最大となる隠れ状態を取得する。
【0095】
ステップ807で、サーバは、各フレームの音声セグメントに対応する隠れ状態に基づいて、複数のフレームの音声セグメントに対応する音素を取得する。
【0096】
音素は、少なくとも1つの隠れ状態で構成される。サーバは、各フレームの音声セグメントに対応する隠れ状態に基づいて、複数のフレームの音声セグメントに対応する音素を取得する。
【0097】
ステップ808で、サーバは、複数のフレームの音声セグメントに対応する音素に基づいて、辞書及び言語モデルを参照することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得する。
【0098】
単語は、少なくとも1つの音素で構成され、辞書には、単語と音素との対応関係が含まれる。サーバは、辞書によって、複数のフレームの音声セグメントに対応する事後確率が最大となる文字又は単語を取得し、複数のフレームの音声セグメントに対応する事後確率が最大となる文字又は単語に基づいて、言語モデルによって、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得する。ここで、言語情報は、単語であってもよいし、文であってもよい。言語モデルは、単語と文法及び/又は構文との対応関係である。
【0099】
上記辞書における単語と音素との対応関係、及び言語モデルにおける単語と文法及び/又は構文との対応関係は、確率的な対応関係である。サーバが、複数のフレームの音声セグメントに対応する音素に基づいて、辞書及び言語モデルにより取得された、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報は、確率が最大となる検索経路で取得された、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報である。
【0100】
ステップ809で、言語情報に所定のキーワードが含まれる場合、サーバは、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を取得する。該ステップにおいて、サーバは、所定のキーワードに対応する音素に基づいて、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を決定する。
【0101】
サーバは、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報に所定のキーワードが含まれるか否かを検出し、言語情報に所定のキーワードが含まれると決定した場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を決定する。複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報に所定のキーワードが含まれない場合、本ステップを終了する。
【0102】
ステップ810で、サーバは、候補音声セグメントの音声情報における開始位置及び終了位置に基づいて、音声情報から候補音声セグメントを切り取る。
【0103】
サーバは、候補音声セグメントの音声情報における開始位置及び終了位置に基づいて、音声情報から候補音声セグメントを切り取る。
【0104】
ステップ811で、サーバは、候補音声セグメントを前記畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワークによって、候補音声セグメントに対して畳み込み及びプーリングを行うことにより、候補音声セグメントの高レベルの意味的特徴を抽出する。
【0105】
例示的に、サーバは、切り取られた候補音声セグメントを前記畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワークにおける1番目の畳み込み層によって、候補音声セグメントに対して畳み込み処理を行うことにより、第1高レベルの意味的特徴を取得し、第1高レベルの意味的特徴を1番目のプーリング層に入力することにより、一次圧縮された高レベルの意味的特徴を取得し、一次圧縮された高レベルの意味的特徴を2番目の畳み込み層に入力することにより、第2高レベルの意味的特徴を取得し、第2高レベルの意味的特徴を2番目のプーリング層に入力することにより、二次圧縮された高レベルの意味的特徴を取得し、…、畳み込み及びプーリングの処理を複数回繰り返すことにより、候補音声セグメントの高レベルの意味的特徴を抽出する。
【0106】
ステップ812で、サーバは、畳み込みニューラルネットワークにおける全結合層及びソフトマックス関数によって、候補音声セグメントの高レベルの意味的特徴を分類し、候補音声セグメントに前記所定のキーワードが含まれるか否かを検出する。
【0107】
例示的に、候補音声セグメントに対して多層の畳み込み層及びプーリング層の処理を行うことにより、高レベルの意味的特徴を取得し、全結合層によって、各層の畳み込み層及びプーリング層で抽出された高レベルの意味的特徴を結合して、ソフトマックス関数に渡し、ソフトマックス関数によって、高レベルの意味的特徴を分類し、候補音声セグメントに所定のキーワードが含まれるか否かの結果を出力する。
【0108】
ステップ813で、候補音声セグメントに所定のキーワードが含まれる場合、サーバは、端末にウェイクアップ指示を送信する。
【0109】
畳み込みニューラルネットワークから出力された結果として、候補音声セグメントに所定のキーワードが含まれる場合、サーバは、有線ネットワーク又は無線ネットワークを介して、端末にウェイクアップ指示を送信する。
【0110】
ステップ814で、端末は、ウェイクアップ指示に従って、本機の休止状態及び/又は画面ロック状態を解除する。
【0111】
端末は、サーバから送信されたウェイクアップ指示を受信すると、該ウェイクアップ指示に従って、本機の休止状態及び/又は画面ロック状態を解除する。
【0112】
以上説明したように、本願の実施例では、畳み込みニューラルネットワークによって、重み付き有限状態トランスデューサネットワークによって粗い位置決定を行った候補音声セグメントを検証し、候補音声セグメントに所定のキーワードが含まれるか否かを決定し、関連技術において、意味のない音声情報を意味のある音声情報として認識することで、誤ウェイクアップを発生させる恐れがあるという問題を解決し、音声認識の正確率を向上させる。
【0113】
さらに、本願の実施例では、複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得し、言語情報に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を取得し、候補音声セグメントを認識する正確率を向上させることができる。
【0114】
さらに、本願の実施例では、複数のフレームの音声セグメントをディープニューラルネットワークに入力することにより、各フレームの音声セグメントに対応する隠れ状態の事後確率を取得し、ディープニューラルネットワークが強い特徴抽出能力を有するため、ディープニューラルネットワークによって得られた、各フレームの音声セグメントに対応する隠れ状態の事後確率がより正確になり、候補音声セグメントを認識する正確率が向上する。
【0115】
さらに、本願の実施例では、候補音声セグメントを畳み込みニューラルネットワークに入力して、畳み込み及びプーリングを行うことにより、候補音声セグメントの高レベルの意味的特徴を抽出し、全結合層によって、抽出された高レベルの意味的特徴を結合して、分類のためにソフトマックス関数に渡すことにより、候補音声セグメントに所定のキーワードが含まれるか否かの結果を取得し、候補音声セグメントが、重み付き有限状態トランスデューサネットワークによって予備的な位置決定を行うことにより取得されたものであるため、認識率を確保すると同時に、音声認識の正確率を向上させる。
【0116】
図9及び
図10は、本願の例示的な一実施例で提供された音声認識方法の適用シナリオを示す。
【0117】
図9の適用シナリオでは、スマートロボット910、スマートスピーカー920、スマートフォン930などの端末が、有線ネットワーク又は無線ネットワークを介して、取得された音声情報をクラウドに伝送し、クラウドが、上記実施例における方法で、各音声情報には、それぞれに対応する所定のキーワードが含まれるか否かを検出し、所定のキーワードが含まれる場合、対応する端末にウェイクアップ指示を送信し、該端末を休止状態及び/又は画面ロック状態から解除する。
【0118】
図10は、オフラインの音声認識の適用シナリオを提供している。ユーザ1010は、電子デバイス1020にウェイクワード(即ち、所定のキーワード)を言う。電子デバイス1020は、ユーザがウェイクワードを言ったことを検出すると、録音によりオリジナル音信号を取得し、オリジナル音声信号に対して予備的な特徴抽出を行うことにより、上記実施例における方法で、音声情報に所定のキーワードが含まれるか否かを検出し、音声情報に所定のキーワードが含まれる場合、本機の休止状態及び/又は画面ロック状態を解除する。
【0119】
通常、電子デバイスの演算リソースが限られており、異なるハードウェアの電子デバイスに対してカスタマイズを行う必要がある。カスタマイズの流れは、以下のとおりである。電子デバイスメーカーが、電子デバイスの、音声ウェイクアップモジュールに割り当て可能なハードウェアリソースを提供し、サーバが、メーカーから提出されたデータを受信すると、該電子デバイスの割り当て可能なハードウェアリソースの状況に応じて、該電子デバイス上で動作可能なモデルを設計し、電子デバイスの応用環境に適合する訓練データを用いてモデルを訓練し、取得されたモデルに対して結合テスト及び個別最適化を行い、合格になった後、統合のために、モデルを電子デバイスメーカーに送信し、統合が完了すると、ユーザが、オフライン環境下で電子デバイスのウェイクアップを行うことができ、ウェイクアップ方法がオンラインサービスと同じである。
【0120】
図11を参照されたいが、
図11は、本願の例示的な一実施例で提供された音声認識装置の構成ブロック図を示す。図示されたように、該装置は、
図1Bに示す端末110、端末130、又はサーバ120に適用可能である。該装置は、取得モジュール1110と、処理モジュール1120とを含む。
【0121】
取得モジュール1110は、音声情報を取得する。
【0122】
処理モジュール1120は、重み付き有限状態トランスデューサネットワークによって、音声情報における候補音声セグメントの開始位置及び終了位置を決定し、開始位置及び終了位置に基づいて、音声情報から候補音声セグメントを切り取り、候補音声セグメントを機械学習モデルに入力し、機械学習モデルによって、候補音声セグメントに所定のキーワードが含まれるか否かを検出し、候補音声セグメントに所定のキーワードが含まれる場合、音声情報に所定のキーワードが含まれると決定する。
【0123】
一実施例では、
処理モジュール1120は、さらに、音声情報をフレーム化することにより、複数のフレームの音声セグメントを取得し、複数のフレームの音声セグメントを重み付き有限状態トランスデューサネットワークに入力することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得し、
取得モジュール1110は、さらに、言語情報に所定のキーワードが含まれる場合、所定のキーワードに対応する候補音声セグメントの音声情報における開始位置及び終了位置を決定し、候補音声セグメントには、少なくとも複数のフレームの音声セグメントのうち1フレームの音声セグメントが含まれる。
【0124】
一実施例では、重み付き有限状態トランスデューサネットワークは、ディープニューラルネットワークと、隠れマルコフモデルと、辞書と、言語モデルとを含み、
処理モジュール1120は、さらに、複数のフレームの音声セグメントをディープニューラルネットワークに入力することにより、複数のフレームの音声セグメントのうちの各フレームの音声セグメントに対応する隠れ状態の事後確率を取得し、各フレームの音声セグメントに対応する隠れ状態の事後確率に基づいて、隠れマルコフモデルによって、各フレームの音声セグメントに対応する隠れ状態を取得し、各フレームの音声セグメントに対応する隠れ状態に基づいて、複数のフレームの音声セグメントに対応する音素を取得し、複数のフレームの音声セグメントに対応する音素に基づいて、辞書及び言語モデルを参照することにより、複数のフレームの音声セグメントに対応する事後確率が最大となる言語情報を取得し、ここで、前記辞書には、前記音素と単語との対応関係が含まれ、前記言語モデルには、前記単語と文法及び/又は構文との対応関係が含まれる。
【0125】
一実施例では、
処理モジュール1120は、さらに、ベイズの公式によって、各フレームの音声セグメントに対応する隠れ状態の事後確率を変換することにより、各フレームの音声セグメントに対応する隠れ状態の出力確率を取得し、各フレームの音声セグメントに対応する隠れ状態の出力確率、隠れマルコフモデルにおける各隠れ状態の初期確率及び各隠れ状態間の遷移確率に基づいて、隠れマルコフモデルによって順方向復号を行うことにより、各フレームの音声セグメントに対応する隠れ状態を取得する。
【0126】
一実施例では、
処理モジュール1120は、さらに、候補音声セグメントを畳み込みニューラルネットワークに入力し、畳み込みニューラルネットワークによって、候補音声セグメントに対して畳み込み及びプーリングを行うことにより、候補音声セグメントの高レベルの意味的特徴を抽出し、畳み込みニューラルネットワークにおける全結合層及びソフトマックス関数によって、候補音声セグメントの高レベルの意味的特徴を分類し、候補音声セグメントに前記所定のキーワードが含まれるか否かを検出する。
【0127】
図12を参照されたいが、
図12は、本願の例示的な一実施例で提供された音声認識デバイスの構成ブロック図を示す。該デバイスは、プロセッサ1210とメモリ1220とを備える。
【0128】
プロセッサ1210は、中央処理装置(CPU:central processing unit)、ネットワークプロセッサ(NP:network processor)、又はCPUとNPとの組み合わせであってもよい。プロセッサ1210は、ハードウェアチップをさらに含んでもよい。上記ハードウェアチップは、特定用途向け集積回路(ASIC:application−specific integrated circuit)、プログラマブルロジックデバイス(PLD:programmable logic device)、又はこれらの組み合わせであってもよい。上記PLDは、複雑なプログラマブルロジックデバイス(CPLD:complex programmable logic device)、フィールドプログラマブルゲートアレイ(FPGA:field−programmable gate array)、汎用アレイロジック(GAL:generic array logic)、又はこれらの任意の組み合わせであってもよい。
【0129】
メモリ1220は、バスを介して又は他の方式で、プロセッサ1210に接続される。メモリ1220には、少なくとも1つの命令、少なくとも1つのプログラム、コードセット、又は命令セットが記憶される。上記の少なくとも1つの命令、少なくとも1つのプログラム、コードセット、又は命令セットは、プロセッサ1210によりロードされて実行されることで、
図2、
図3、
図6、又は
図8のような音声認識方法を実現させる。メモリ1220は、揮発性メモリ(volatile memory)、不揮発性メモリ(non−volatile memory)、又はこれらの組み合わせであってもよい。揮発性メモリは、ランダムアクセスメモリ(RAM:random−access memory)、例えば、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory)であってもよい。不揮発性メモリは、読み出し専用メモリ(ROM:read only memory)、例えば、プログラマブル読み出し専用メモリ(PROM:programmable read only memory)、消去可能なプログラマブル読み出し専用メモリ(EPROM:erasable programmable read only memory)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM:electrically erasable programmable read−only memory)であってもよい。不揮発性メモリは、フラッシュメモリ(flash memory)、磁気メモリ、例えば、磁気テープ(magnetic tape)、フロッピーディスク(floppy disk)、ハードディスクであってもよい。不揮発性メモリは、光ディスクであってもよい。
【0130】
また、本願では、コンピュータ読み取り可能な記憶媒体が提供されている。前記記憶媒体には、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットは、前記プロセッサによりロードされて実行されることで、上記の方法の実施例で提供された音声認識方法を実現させる。
【0131】
また、本願では、命令を含むコンピュータプログラム製品が提供されている。前記コンピュータプログラム製品は、コンピュータ上で動作する際に、上記各態様に記載の音声認識方法をコンピュータに実行させる。
【0132】
理解すべきものとして、本文で言及される「複数」とは、2つ以上を意味する。「及び/又は」は、関連対象の関連関係を記述するものであり、3種類の関係が存在し得ることを表す。例えば、A及び/又はBは、Aが単独で存在すること、A及びBが同時に存在すること、Bが単独で存在することの3種類の場合を表すことができる。符号「/」は、一般的に、前後の関連対象に「又は」という関係があることを表す。
【0133】
上述した本願の実施例の番号は、記述のためのものにすぎず、実施例の優劣を示すものではない。
【0134】
当業者であれば理解できるように、上記実施例を実現するステップの全部又は一部は、ハードウェアによって実現されてもよいし、プログラムによって関連ハードウェアに指示することにより実現されてもよい。前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。上記で言及された記憶媒体は、読出し専用メモリ、磁気ディスク、又は光ディスクなどであってもよい。
【0135】
上記は、本願の好ましい実施例にすぎず、本願の保護範囲を限定するものではない。本願の精神および原則内で行われる種々の修正、均等置換え、改善などは全て本願の保護範囲内に含まれるべきである。