(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
本実施形態の音声認識処理装置の構成を説明する。
【0013】
図1は本実施形態の音声認識処理装置の構成を説明するためのブロック図である。
【0014】
音声認識処理装置1は、話者4が発する会話を文字化した情報を閲覧者5に閲覧可能に出力する情報処理装置である。音声認識処理装置1は、デスクトップ型またはノートブック型のPCであってもよく、PCより小型のPDA(Personal Digital Assistants)等の携帯型情報端末であってもよい。話者4および閲覧者5のそれぞれの人数は複数であってもよい。
【0015】
音声認識処理装置1は、クラウド型音声認識サービスを提供する音声認識サーバ3とネットワーク6を介して接続される。クラウド型音声認識サービスは、例えば、非特許文献2に開示されたクラウド型音声認識サービスである。
【0016】
図1に示すように、音声認識処理装置1は、順列番号記憶手段13と、認識要求送受信手段14と、制御部30とを有する。制御部30には、コンピュータプログラム(以下では、単にプログラムと称する)を記憶するメモリ(不図示)と、プログラムにしたがって処理を実行するCPU(Central Processing Unit)(不図示)とが設けられている。
【0017】
制御部30は、音声採取手段11と、音声分割手段12と、認識結果集約手段15と、認識結果表示手段16とを有する。制御部30内のCPUがプログラムにしたがって処理を実行することで、音声採取手段11、音声分割手段12、認識結果集約手段15および認識結果表示手段16が音声認識処理装置1に仮想的に構成される。
【0018】
なお、音声採取手段11にはマイクが接続され、認識結果表示手段16には表示部が接続されているが、図に示すことを省略している。また、認識結果文の出力手段として表示部が認識結果表示手段16に接続された場合で説明するが、プリンタであってもよい。
【0019】
また、
図1に示す音声採取手段11、音声分割手段12、認識結果集約手段15および認識結果表示手段16のうち、一部または全部が各機能に特化したASIC(Application Specific Integrated Circuit)等の専用集積回路で構成されてもよい。特に、音声認識技術では、音声の入力速度に応じて音声認識処理を行う必要があり、情報処理の速度が重要となる。上記複数の手段のうち、一部でも、その機能に特化した専用集積回路を設けることで、全体の情報処理の速度向上を図れる。
【0020】
図1に示した音声認識処理装置1の各構成について詳しく説明する。
【0021】
音声採取手段11は、単数または複数の話者4が発する音声情報を、マイク(不図示)を介して連続的に入力される音声データをデジタルデータとして受信し、ストリームデータのように連続した情報として取得する。本実施形態では、音声採取手段11は取得した音声データを無加工で音声分割手段12に出力する場合で説明するが、音声データを加工して出力してもよい。音声データの加工として、例えば、ノイズを除去するノイズキャンセリング処理や人間の音声を示す周波数帯のみ抽出するフィルタリング処理が考えられる。
【0022】
音声分割手段12は、音声採取手段11が取得した音声データを解析し、音声データをそれよりも小さい単位である音声データ片に分割する。分割する方法は、音声データ内で人の音声情報が存在しない部分(例えば、人の音声が存在しない部分)や息継ぎの部分を検出し、その前後のデータを音声データの断片として抽出するものである。検出した部分に挟まれる領域の音声データが音声データ片に相当する。人の音声が存在するか否かの判定方法として、対象となる音声データにおいて、通常、人の音声として認識される周波数帯域(例えば、約200Hz〜約4KHz)のデータの有無を調べることで、音声情報があるか否かを判断する方法がある。また、音声情報があるか否かの判定方法として、人の音声が含まれない状態での音声データを採取し、その音声を環境音として記録しておき、環境音と一致する場合に「音声情報がない」と判定する方法が考えられる。音声情報の有無を検出する方法は、ここで説明した方法に限定されず、他の方法であってもよい。
【0023】
また、音声分割手段12は、分割した音声データ片に音声データの出現順番を表す順列番号を割り当てる。ここで、音声分割手段12は音声採取手段11から受け取る音声データの先頭の音声データ片から順に順列番号を割り当てる。そのため、音声データ片に割り当てられる順列番号は音声採取手段11に入力される順になる。
【0024】
認識要求送受信手段14は、音声分割手段12が分割した音声データ片とその音声データ片に割り当てられた順列番号とを対にして音声分割手段12から受け取ると、音声データ片を含む音声要求を音声認識サーバ3に対して送信する。その際、認識要求送受信手段14は、音声認識サーバ3に対して、音声認識要求を複数、かつ並行に送信する。以下に、このことを具体的に説明する。
【0025】
認識要求送受信手段14には、音声認識サーバ3とデータを送受信するための通信ポート(通信チャネル)の数が予め設定されている。通信ポートの数はデータの送受信先となる音声認識サーバ3の情報処理能力によって決められる。本実施形態では、認識要求送受信手段14に複数の通信ポートが利用可能に設定されている。認識要求送受信手段14は、論理的に使用可能な複数の通信ポートを有し、複数の通信ポートのそれぞれに音声分割手段12から渡される、順列番号および音声データ片の対を対応づけ、通信ポートと順列番号の組み合わせの情報を保持する。そして、認識要求送受信手段14は、各通信ポートを介して音声データ片を含む認識要求を音声認識サーバ3に送信することで、音声認識要求を複数、かつ並行に送信することができる。その際、通信ポート間で同期を取る必要もなく、非同期で送信することができる。なお、一度に音声認識要求できる数は認識要求送受信手段14内に固定で設定されていてもよく、設定ファイル等により自由に設定できるようにしてもよい。
【0026】
また、認識要求送受信手段14は、送信した音声データ片が音声認識サーバ3によって認識処理された結果である音声認識結果を音声認識サーバ3から通信ポートを介して受信すると、その通信ポートに対応づけていた順列番号を受信した音声認識結果に割り当てる。さらに、認識要求送受信手段14は、音声認識結果と順列番号を関連づけて順列番号記憶手段13に格納する。
【0027】
順列番号記憶手段13は、音声分割手段12が分割した音声データ片に割り当てられる順列番号を記録する。
図2は順列番号記憶手段に保存されるデータの構成例を示す図である。
【0028】
図2を参照して、順列番号記憶手段13に設けられた記憶領域に保存されるデータの構成を説明する。
【0029】
図2に示すT1301の記憶領域は、音声分割手段12が分割した音声データ片に割り当てた順列番号の最大値が記録されるフィールドである。順列番号が1つも採番されていない初期段階では、順列番号の最大値の初期値として0が順列番号記憶手段13のフィールドT1301に記録されている。初期段階とは、本実施形態の音声認識処理のプログラムが起動したときである。
【0030】
音声分割手段12は、順列番号を採番する際、順列番号記憶手段13から順列番号の最大値を読み出し、読み出した値に1を加えた値を次の音声データ片に割り当て、その後、更新した順列番号の最大値を順列番号記憶手段13に記録する。また、順列番号記憶手段13は認識要求送受信手段14が受信した音声認識結果を順列番号と対にして記憶する。
【0031】
順列番号記憶手段13における、
図2に示したデータ構造とは別のデータ構造のスキーマを説明する。
図3は
図1に示した順列番号記憶手段に保存されるデータの別の構成例を示す図である。
【0032】
図3に示すT1311の記憶領域は、音声分割手段12が分割した音声データ片に割り当てられた番号(順列番号)を格納するためのフィールドである。
図3に示すT1312の記憶領域は、認識要求送受信手段14が受信した音声認識結果を格納するためのフィールドである。
【0033】
なお、順列番号記憶手段13は、上述したデータ構造に限らず、上記のようにデータの参照および記録ができるようにデータベース等で実現してもよい。
【0034】
認識結果集約手段15は、認識要求送受信手段14が音声認識サーバ3から受信した音声認識結果とその認識結果に対応づけられた順列番号を順列番号記憶手段13から読み出し、順列番号の順に音声認識結果を並べ、一定の語数または音節数から構成される認識結果文を作成する。また、認識結果集約手段15は、定期的に順列番号記憶手段13を検索することにより、最小の順列番号から一定の個数以上の音声認識結果が格納されているかを判定する。認識結果集約手段15は、一定の個数以上の音声認識結果が連結できると判断した場合、それらの音声認識結果を順番に繋ぎ合わせて認識結果文を作成し、作成した認識結果文を認識結果表示手段16に渡す。そして、認識結果集約手段15は、順列番号記憶手段13に保存されているデータから、連結した音声認識結果とその順列番号のレコードを削除する。なお、文章を確定する音声認識結果数は、認識結果集約手段15内に固定で設定されていてもよいし、設定ファイル等で自由に設定できるようにしてもよい。
【0035】
認識結果表示手段16は、認識結果集約手段15から認識結果文を受け取ると、認識結果文を文字列にして閲覧者5が閲覧できるように表示部(不図示)に出力する。表示方法はGUI(Graphical User Interface)によりウインドウ表示させてもよいし、ファイル等に出力してもよい。また、表示の際には、出力文を全て「ひらがな」または「カタカナ」に変換する処理を行ってもよく、一部または全部をローマ字などに変換する処理を行ってもよい。
【0036】
次に、本実施形態の音声認識処理装置の動作手順を説明する。
【0037】
図4は本実施形態の音声認識処理装置の動作手順を示すフロー図である。
【0038】
ステップS01:音声採取手段11が、単数または複数の話者4が発する音声情報をマイク(不図示)から連続的に音声データをデジタルデータとして受信し、ストリームデータ等連続した情報として取得する。
【0039】
ステップS02:音声分割手段12は、音声採取手段11によって採取された音声データの中から息継ぎや無音部分を検出してその前後で音声データを分割する。続いて、音声分割手段12は、分割した音声データ片に順列番号を採番し、順列番号記憶手段13に順列番号を登録し、分割された音声データ片と採番された順列番号を組みにして認識要求送受信手段14に渡す。
【0040】
ここで、
図4に示すステップS02の動作を、
図5を参照して詳細に説明する。
【0041】
ステップS0201:音声分割手段12は、採取した音声データの中から息継ぎや無音部分を検出する。
【0042】
ステップS0202:音声分割手段12は、検出した息継ぎや無音部分の前後で音声データを分割して音声データ片を作成する。
【0043】
ステップS0203:音声分割手段12は、音声データ片のそれぞれに、分割した順番で順列番号を採番する。そして、音声分割手段12は順列番号記憶手段13のフィールドT1301から順列番号の現在の最大値を取得し、その値を1増加させ順列番号記憶手段13のフィールドT1301に記録する。
【0044】
ステップS0204:音声分割手段12は、ステップS0203にて採番した順列番号を分割した音声データ片に割り当てて認識要求送受信手段14に渡す。
【0045】
以上で、ステップS02の動作の詳細な説明を終了する。
【0047】
ステップS03:認識要求送受信手段14は、音声分割手段12によって分割された複数の音声データ片を非同期、かつ並列で音声認識サーバ3に送信することで音声認識を要求する。送信の際、認識要求送受信手段14は複数の通信ポートをもち、認識要求の送信に使用する通信ポートと音声分割手段12から渡された順列番号を対応づけ、その対応づけの情報を保持する。
【0048】
ステップS04:認識要求送受信手段14は、音声認識サーバ3から音声認識結果を受信すると、ステップS03で保持していた順列番号を用いて、順列番号記憶手段13のフィールドT1311の順列番号を検索し、値が一致するレコードのフィールドT1312に音声認識結果を格納する。
【0049】
ステップS05:認識結果集約手段15は、定期的に順列番号記憶手段13内の音声認識結果格納状態を検索し、音声認識結果がある一定の長さ分連続して格納されている場合、それらの結果を繋ぎ合わせて認識結果文を作成する。
【0050】
図4に示すステップS05の動作を、
図6を参照して詳細に説明する。
【0051】
ステップS0501:認識結果集約手段15は、定期的に順列番号記憶手段13内の音声認識結果格納状態を検索し、最小の順列番号から連続して一定の数だけ連続して音声認識結果が登録されている状態を見つけ出す。
【0052】
ステップS0502:認識結果集約手段15は、ステップS0501で見つかった複数の順列番号(フィールドT1311)と音声認識結果(フィールドT1312)の対を順列番号記憶手段13から取得し、順列番号の順番で音声認識結果を並べ直し、それぞれの音声認識結果を繋いで認識結果文を生成する。
【0053】
ステップS0503:認識結果集約手段15は、ステップS0502で取得した音声認識結果および順列番号が格納されているレコードを順列番号記憶手段13から削除する。
【0054】
ステップS0504:認識結果集約手段15は、ステップS0502で生成した認識結果文を認識結果表示手段16に渡す。
【0055】
以上で、ステップS05の動作の詳細な説明を終了する。
【0057】
ステップS06:認識結果表示手段16は、認識結果集約手段15が生成した認識結果文を閲覧者5に閲覧可能に表示する。本実施形態では、認識結果表示手段16は認識結果文を表示部(不図示)に出力する。
【実施例1】
【0058】
本実施形態の音声認識処理装置による音声認識処理方法を、実施例を用いて具体的に説明する。なお、
図1に示した構成と同様な構成についての詳細な説明を省略する。
【0059】
図7は本実施例の音声認識処理装置の構成例を示すブロック図である。
【0060】
本実施例の音声認識処理装置1は、一般的なPCに、上述した音声認識処理方法を実行するためのプログラムが制御部30内のメモリ(不図示)に予め格納された構成である。音声を入力するための装置として、マイク21が音声認識処理装置1の音声採取手段11に接続されている。また、認識結果文を表示するための装置として、表示部22が音声認識処理装置1の認識結果表示手段16に接続されている。
【0061】
本実施例では、ネットワーク6はインタ―ネットを含むネットワークである。音声認識処理装置1と音声認識サーバ3は、通信プロトコルとして、TCP(Transmission Control Protocol)/IP(Internet Protocol)を使用する。音声認識処理装置1と音声認識サーバ3のそれぞれには、自装置および相手装置の端末識別が予め格納されている。
【0062】
順列番号記憶手段13のフィールドT1301には、順列番号最大値の初期値として0が記録されている。また、認識要求送受信手段14は同時に音声認識要求を送信することのできる通信ポートを5つ有している。認識結果集約手段15は、3個の音声認識結果が連続してそろえば認識結果文を作成するものとする。
【0063】
本実施例の音声認識処理装置1の動作を、
図4を参照して説明する。
【0064】
閲覧者5が音声認識処理装置1を操作して音声認識処理のプログラムを起動する指示を入力した後、話者4が「今日は、晴れ、です。」と話す。ただし、この文中において句点は実際の発生では息継ぎを示し、読点は無音部分を示す。
【0065】
ステップS01:音声採取手段11が、話者4が発する音声情報(今日は、晴れ、です。)を、マイク21から連続的に音声データをデジタルデータとして受信し、ストリームデータとして取得する。
【0066】
ステップS02:音声分割手段12が採取した音声データ(今日は、晴れ、です。)の中から息継ぎや無音部分を検出してその前後で音声データを分割する。続いて、音声分割手段12は、分割した音声データ片に順列番号を採番し、順列番号記憶手段13に順列番号を登録し、分割された音声データ片と採番された順列番号を組みにして認識要求送受信手段14に渡す。
【0067】
ここで、上記ステップS02の動作を、
図5を参照して詳細に説明する。
【0068】
ステップS0201:音声分割手段12は、採取された音声データ(今日は、晴れ、です。)の中から息継ぎや無音部分を検出する。本実施例では、音声データを表す文面の句読点を検出する。検出する方法は200Hz〜4KHzの音声データが60デシベル未満であり、その状態が0.5秒以上継続される場合を息継ぎおよび無音と判断する。
【0069】
ステップS0202:音声分割手段12は、検出した息継ぎや無音部分の前後で音声データを分割して音声データ片を作成する。本実施例では「今日は」という音声データ片と「晴れ」という音声データ片と「です」という音声データ片に分割される。
【0070】
ステップS0203:音声分割手段12は、音声データ片のそれぞれに、分割した順番で順列番号を採番する。そして、音声分割手段12は順列番号記憶手段13のフィールドT1301から順列番号の現在の最大値を取得し、その値を1増加させ順列番号記憶手段13のフィールドT1301に記録する。
【0071】
ステップS0204:音声分割手段12は、ステップS0203にて採番した順列番号を分割した音声データ片に割り当て認識要求送受信手段14に渡し、順列番号の情報を順列番号記憶手段13に記録する。本実施例では、音声分割手段12は、「今日は」という音声データ片に順列番号1を採番し、「晴れ」という音声データ片に順列番号2を採番し、「です」という音声データ片に順列番号3を採番する。このときの順列番号記憶手段13の状態を
図8に示す。
【0072】
以上で、ステップS02の動作の詳細な説明を終了する。
【0073】
図4に示すフロー図の説明に戻る。
【0074】
ステップS03:認識要求送受信手段14は、音声分割手段12によって分割された複数の音声データ片を非同期、かつ並列に音声認識サーバ3に送信して音声認識を要求する。送信の際、認識要求送受信手段14は5つの通信ポートをもち、認識要求の送信に使用する通信ポートと音声分割手段12から渡された順列番号を、
図9に示すように対応づけて保持する。
図9は認識要求が通信ポート毎に音声認識処理装置から音声認識サーバに送られる状態を示す図である。
図9において、ポート1〜3は通信ポートの番号を表し、「ポート1:順列番号1」は通信ポート1に対応づけて順列番号1が保持されていることを意味する。
図9では通信ポート4、5を省略している。音声認識処理装置1はプログラムを実行することによりPC上で実現されるので、各通信ポートおよび対応する順列番号はPCから割り当てられるメモリ(不図示)上に記録される。
【0075】
ステップS04:認識要求送受信手段14は、音声認識サーバ3から音声認識結果を、
図10に示すように受信する。
図10は認識結果が通信ポート毎に音声認識サーバから音声認識処理装置に返信される状態を示す図である。
図9と
図10を見比べると、認識要求に対応した認識結果が同じ通信ポートに音声認識サーバ3から返信されることがわかる。
認識要求送受信手段14は、ステップS03で保持していた順列番号を用いて、順列番号記憶手段13のフィールドT1311の順列番号を検索し、値が一致するレコードのフィールドT1312に音声認識結果を、
図11に示すように格納する。
【0076】
このとき、音声認識結果が到着した順番は、順列番号2、順列番号3、順列番号1の順番とし、その順番で音声認識結果が順列番号記憶手段13に格納されたとする。
【0077】
ステップS05:認識結果集約手段15は、定期的に順列番号記憶手段13内の音声認識結果格納状態を検索し、音声認識結果が3個分連続して格納されているデータ列を見つける。そして、認識結果集約手段15は、その結果を繋ぎ合わせて認識結果文である「今日は 晴れ です」を作成する。繋ぎ合わせる際に、認識結果集約手段15は、音声認識結果間に空白文字を挿入する。
【0078】
上記ステップS05の動作を、
図5を参照して詳細に説明する。
【0079】
ステップS0501:認識結果集約手段15は、定期的に順列番号記憶手段13内の音声認識結果格納状態を検索し、最小の順列番号から連続して3個連続して音声認識結果が登録されている状態、すなわち順列番号1、2、3のレコードを見つけ出す。
【0080】
ステップS0502:認識結果集約手段15は、ステップS0501で発見した複数の順列番号(フィールドT1311)と音声認識結果(フィールドT1312)の対を順列番号記憶手段13から取得する。本実施例では、認識結果集約手段15は、順列番号1のレコードから「今日は」を取得し、順列番号2のレコードから「晴れ」を取得し、順列番号3のレコードから「です」を取得する。その後、認識結果集約手段15は、順列番号の順番にしたがって音声認識結果を並べ直し、それぞれの音声認識結果を繋いで認識結果文「今日は 晴れ です」を生成する。それぞれの音声認識結果を繋ぐ際は、間に空白を挿入する。
【0081】
ステップS0503:認識結果集約手段15は、ステップS0502で取得した音声認識結果および順列番号が格納されているレコードを順列番号記憶手段13から削除する。今回の場合は、順列番号1、2、3のレコードが該当する。
【0082】
ステップS0504:認識結果集約手段15はステップS0502で生成した認識結果文「今日は 晴れ です」を認識結果表示手段16に渡す。
【0083】
以上で、ステップS05の動作の詳細な説明を終了する。
【0084】
図4に示すフロー図の説明に戻る。
【0085】
ステップS06:認識結果表示手段16は、認識結果集約手段15が生成した認識結果文「今日は 晴れ です」を、
図12に示すように、表示部22の結果表示領域2201に出力し認識結果閲覧者に表示する。
図12は表示画面の一例である。
【0086】
このようにして、長い会話文の音声認識処理を行い、閲覧者は、会話文に対応する認識結果文を閲覧することが可能となる。
【0087】
なお、実施例1のステップS03〜S05で説明したように、先に送った認識要求よりも後に送った認識要求の音声認識結果が先に届けられる場合が考えられる。この場合における次の認識要求の処理方法を説明する。
【0088】
認識要求送受信手段14は、ポート1が音声認識結果受信待ちの間に、ポート2を介して受信した音声認識結果に順列番号2を割り当て、ポート3を介して受信した音声認識結果に順列番号3を割り当て、音声認識結果と順列番号の組みを順列番号記憶手段13に保存する。
【0089】
認識要求送受信手段14は、次の認識処理対象となる音声データ片と順列番号の組みを音声分割手段12から受け取ると、その組を認識結果受信待ちになっていない通信ポートに対応づける。ここで、次の認識処理対象の音声データ片が4つある場合、認識要求送受信手段14は、4つの音声データ片のそれぞれをポート2から5のそれぞれに対応づける。つまり、認識要求送受信手段14は、ポート1の音声認識結果の受信を待たずに、使用されていないポート2〜5に順次、次の認識処理対象の音声データ片を振り分ける。
【0090】
このように、先に送った認識要求よりも後に送った認識要求の音声認識結果が先に届けられても、使用されていない通信ポートに順次、次の認識処理対象の音声データ片を対応づけることで、情報処理を効率よく行うことが可能となる。
【0091】
本実施形態では、上述したように、長い会話文の音声データをクラウド型音声認識サービスで認識可能な単語レベルである音声データ片に分割し、クラウド型音声認識サービスを利用して各音声データ片の音声認識結果を取得し、取得した音声認識結果を元の順番に並べて長い会話文の認識結果文を出力する。そのため、ユーザは、認識処理に必要な大量のデータを自分のPC、スマートフォンおよびタブレット端末等の端末装置内に蓄積しなくても、複数の文章から構成される長い会話文が文字情報に変換された音声認識結果を取得できる。
【0092】
また、端末装置内に大量の言語モデルや教師データを配置していないため、これらデータの更新作業やバックアップといった管理を必要とせず、端末装置内の記憶領域を圧迫することなく比較的低負荷で音声認識処理を実現することができる。その理由は、本実施形態では、ネットワークを介して提供されるクラウド型音声認識サービスに音声認識を依頼し、その結果を受け取って認識結果文を提示するようにしているからである。
【0093】
なお、上述の実施形態および実施例では、本発明の音声認識処理装置を理解しやすくするために具体的に説明したが、音声認識処理装置は
図13に示すような情報処理装置であってもよい。
【0094】
図13は本実施形態の音声認識処理装置の別の構成例を示すブロック図である。
図13に示すように音声認識処理装置は、記憶部33と、通信部34と、制御部30とを有する。
図13に示す通信部34および記憶部33のそれぞれは、
図1に示した認識要求送受信手段14および順列番号記憶手段13のそれぞれに相当する。
【0095】
図13に示す装置でも、上述の実施形態と同様な効果を得ることができる。
【0096】
なお、本実施形態で説明した音声認識処理方法をコンピュータに実行させるためのプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよい。この場合、プログラムを記録媒体から他の情報処理装置にインストールすることで、他の情報処理装置にも上述した情報処理方法を実行させることが可能となる。
【0097】
本発明の効果の一例を説明する。本発明によれば、ユーザは自分の端末装置に音声認識処理に必要な大量のデータを蓄積していなくても、長い会話文の音声認識結果を取得することができる。
【0098】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。