(57)【要約】  【課題】  ユーザが言い直し発声を行った場合に、人間同士の会話のように言い直しを正しく受理できる音声認識システムおよび音声処理システムを提供する。  【解決手段】  発話音声データを特徴量に変換する音響処理部１１と、発話音声データから音声区間を判定する音声区間判定部１２と、音声区間判定部１２により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定部１８と、優先度判定部１８により選択された音声区間の特徴量と音響モデルとを用いて、認識語彙との一致度を算出する照合部１３とを備える。優先度判定部１８は、前記所定の優先度判定基準として下記の少なくとも一つを用いる。  （１）音声区間長  （２）音声区間のパワーまたはＳＮ比  （３）音声区間の時系列的な前後関係【選択図】  図１
2007057844.tif 000002
【特許請求の範囲】
【請求項１】
入力された発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定部と、
前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定部と、
前記優先度判定部により選択された音声区間の前記特徴量と前記音響モデルを用いて、前記認識語彙との一致度を算出する照合部と、
照合部の照合した結果、最もスコアの良かった単語系列を認識結果として出力する結果出力部とを備え、
前記優先度判定部が、前記所定の優先度判定基準として、下記の（１）〜（３）から選ばれる少なくとも一つを用いることを特徴とする音声認識システム。
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
【請求項２】
入力された発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記特徴量と前記音響モデルを用いて前記認識語彙との一致度を算出する照合部と、
前記照合部が検出した単語が対応する区間を音声区間と判定する音声区間判定部と、
前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定部と、
照合部の照合した結果、最もスコアの良かった認識単語系列を認識結果として出力する結果出力部とを備え、
前記優先度判定部が、前記所定の優先度判定基準として、下記の（１）〜（３）から選ばれる少なくとも一つを用いることを特徴とする音声認識システム。
（１）前記照合部により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合部により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理部によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
【請求項３】
前記優先度判定部が、前記所定の優先度判定基準として、下記の（４）および（５）から選ばれる少なくとも一つを合わせて用いる、請求項２に記載の音声認識システム。
（４）前記照合部により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合部により算出された一致度
【請求項４】
入力された発話音声データから発話語彙系列を認識する音声認識部と、
前記音声認識部による前記発話音声データの認識結果を用いてユーザからの入力を行う音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
特定語彙の情報を予め格納した特定語彙辞書記憶部と、
前記特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定部と、
前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする音声処理システム。
【請求項５】
入力された発話音声データから発話語彙系列を認識する音声認識部と、
前記音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部とを備えた音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出部と、
前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする音声処理システム。
【請求項６】
入力された発話音声データを特徴量に変換する音響処理と、
前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定処理と、
前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定処理と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記優先度判定処理により選択された音声区間の前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、
前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、下記の（１）〜（３）から選ばれる少なくとも一つを用いることを特徴とするプログラム。
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
【請求項７】
入力された発話音声データを特徴量に変換する音響処理と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、
前記照合処理により算出された一致度に基づき、前記発話音声データから音声区間を判定する音声区間判定処理と、
前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定処理と、
前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、下記の（１）〜（３）から選ばれる少なくとも一つを用いることを特徴とするプログラム。
（１）前記照合処理により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合処理により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
【請求項８】
前記優先度判定処理が、前記所定の優先度判定基準として、下記の（４）および（５）から選ばれる少なくとも一つを合わせて用いる、請求項７に記載のプログラム。
（４）前記照合処理により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合処理により算出された一致度
【請求項９】
入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
特定語彙の情報を予め格納した特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定処理と、
前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする音声対話プログラム。
【請求項１０】
入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出処理と、
前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの音声から発話語彙系列を認識してシステムへの入力として受け付ける音声認識システムおよび音声処理システムに関し、特に、言い誤りがあった直後の言い直しを入力として適切に受理することが可能な音声認識システムおよび音声処理システムに関する。
【背景技術】
【０００２】
従来、ユーザからの入力を受け付ける一手段として、音声認識エンジンを利用し、ユーザの音声から発話語彙系列を認識してシステムへの入力として受け付ける音声認識システムが知られている。このような音声認識システムは、例えば、音声ポータルやカーナビゲーションシステムをはじめとする情報提供システム等において、既に実用化されている。
【０００３】
従来の音声認識システムの一構成例を、図１０に示す。図１０に示す音声認識システム９０は、音響処理部９１、音声区間判定部９２、照合部９３、文法記憶部９４、音響モデル記憶部９５、語彙辞書記憶部９６、および、結果出力部９７を備えている。
【０００４】
音声区間判定部９２は、ユーザが発声した音声が入力されると、入力された音声中の音声区間を判定する。すなわち、一定時間（フレーム）毎の音声のパワー情報（フレームパワー情報）から背景雑音レベルを推定し、推定された背景雑音レベルよりもフレームのパワーの方が既定の閾値より高い場合、そのフレームは音声区間であると判定する。そして、音声区間を検出した後、所定の時間Ｔ（発話終了検出時間長）を超えても次の音声区間が見つからない場合、入力音声の終了と判定する。時間Ｔ以内に次の音声区間が始まった場合、検出済みの音声区間長を延ばす。このようにして、音声区間判定部９２は、１つの音声区間を決定する。
【０００５】
音響処理部９１は、音声区間判定部９２により決定された各音声区間の音声を特徴量に変換する。照合部９３は、どの音素がどういう特徴量になりやすいかという情報をモデル化した音響モデル（音響モデル記憶部９５から取得）と、音響処理部９１により算出された特徴量とを比較し、フレーム毎に音素のスコアを算出する。さらに、照合部９３は、算出したスコアを基に、文法記憶部９４に記憶されている文法と、語彙辞書記憶部９６に記憶されている認識語彙情報とに従って単語系列（文）を仮定し、各単語系列のスコアを算出する。照合部９３は、得られた単語系列とスコアとを結果出力部９７へ送信する。また、照合部９３は、音響処理部９１から入力された特徴量を最後まで処理したら、処理が終了したことを結果出力部９７へ送信する。結果出力部９７は、照合部９３から処理が終了した旨の通知を受けたら、照合部９３で算出されたスコアが一番良い単語系列を、認識結果候補として出力する。
【０００６】
以上のように、従来の音声認識システムでは、ユーザが発声した音声からその発話語彙系列を認識することができる。
【０００７】
ところで、人間の自然な発声には、言い誤りや言いよどみ、あるいは咳払い等の不要音が含まれることが多い。人間同士の会話であれば、言い誤りや言いよどみがあった後の言い直しを正確に認識したり、不要音を無視したりすることができる。音声認識システムにおいても、そのような言い直しを正しく認識したり不要音を無視したりするために、従来、いくつかの提案がなされている。
【０００８】
例えば、セグメント単位で音声認識を行う際に、文中の時間的に先行するセグメントの認識結果に対応して、それに続くセグメントの取り扱いを変更することにより、発話者の発話の自由度および音声の認識率を向上させる音声認識装置が提案されている（特許文献１参照）。
【特許文献１】特開平７−２３０２９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来の音声認識装置では、先行するセグメントの認識結果が得られてからでないと、続くセグメントの取り扱いを決定できないという問題がある。
【００１０】
本発明は、ユーザが発声中に言い誤った直後に言い直し発声を行った場合や、言いよどみ後に本来入力したい発声を行った場合に、誤認識がなされる前に、人間同士の会話のように言い直しや、本来入力したい発声のみを正しく受理できる音声認識システムおよび音声処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明にかかる第１の音声認識システムは、入力された発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定部と、前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定部と、前記優先度判定部により選択された音声区間の前記特徴量と前記音響モデルを用いて、前記認識語彙との一致度を算出する照合部と、照合部の照合した結果、最もスコアの良かった単語系列を認識結果として出力する結果出力部とを備え、前記優先度判定部が、前記所定の優先度判定基準として、
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする。
【００１２】
なお、音声区間とは、連続した発声があった区間であり、単語区間と一致していても良いし、単語区間と一致していなくても良い。
【００１３】
上記の構成において、（１）音声区間長、（２）音声区間のパワーまたはＳＮ比、および、（３）音声区間の時系列的な前後関係、から選ばれる少なくとも一つを判定基準として用いることにより、音声区間の発話語彙系列を認識しなくても、言い直しを含むと予想される音声区間を優先的に選択することができる。なお、本発明における「発話語彙系列」とは、発話内容を意味するが、その語彙の意味まで認識する必要はない。上記の構成によれば、ユーザが発声中に言い誤った直後に言い直し発声を行った場合に、誤認識がなされる前に、人間同士の会話のように言い直しを正しく受理することが可能となり、音声の再入力に要する時間（タスク達成時間）を短縮できるという効果を奏する。
【００１４】
上記の目的を達成するために、本発明にかかる第２の音声認識システムは、入力された発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記特徴量と前記音響モデルを用いて前記認識語彙との一致度を算出する照合部と、前記照合部が検出した単語が対応する区間を音声区間と判定する音声区間判定部と、前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定部と、照合部の照合した結果、最もスコアの良かった認識単語系列を認識結果として出力する結果出力部とを備え、前記優先度判定部が、前記所定の優先度判定基準として、
（１）前記照合部により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合部により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理部によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする。
【００１５】
なお、特定語彙とは、例えば、言い誤りの後であって言い直しの前にユーザが発声すると想定される語彙等である。上記の構成によれば、（１）前記照合部により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係、（２）前記照合部により、予め登録された長母音が検出された音声区間との時系列的な前後関係、（３）前記音響処理部によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係、から選ばれる少なくとも一つを判定基準として用いる。特定語彙を含む音声区間、長母音を含む音声区間、または、特徴量の変化量が所定範囲内で連続する音声区間、を検出した場合、例えば、この音声区間より後の音声区間に言い直しの発話が含まれる可能性が高いので、その音声区間を認識結果として優先的に用いるべき認識語彙が含まれる音声区間として優先的に用いることができる。
【００１６】
また、上記第２の音声認識システムにおいて、前記優先度判定部が、前記所定の優先度判定基準として、
（４）前記照合部により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合部により算出された一致度
から選ばれる少なくとも一つを合わせて用いることが好ましい。
【００１７】
また、上記の目的を達成するために、本発明にかかる第１の音声処理システムは、入力された発話音声データから発話語彙系列を認識する音声認識部と、前記音声認識部による前記発話音声データの認識結果を用いてユーザからの入力を行う音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
特定語彙の情報を予め格納した特定語彙辞書記憶部と、前記特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定部と、前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする。
【００１８】
また、上記の目的を達成するために、本発明にかかる第２の音声処理システムは、入力された発話音声データから発話語彙系列を認識する音声認識部と、前記音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部とを備えた音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記発話音声データから発話区間を判定する音声切り出し部と、前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出部と、前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする。
【００１９】
また、本発明にかかる第１のプログラムは、入力された発話音声データを特徴量に変換する音響処理と、前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定処理と、前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定処理と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記優先度判定処理により選択された音声区間の前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする。
【００２０】
また、本発明にかかる第２のプログラムは、入力された発話音声データを特徴量に変換する音響処理と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、前記照合処理により算出された一致度に基づき、前記発話音声データから音声区間を判定する音声区間判定処理と、前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定処理と、前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、
（１）前記照合処理により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合処理により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする。
【００２１】
また、前記第２のプログラムは、前記優先度判定処理が、前記所定の優先度判定基準として、
（４）前記照合処理により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合処理により算出された一致度
から選ばれる少なくとも一つを合わせて用いることが好ましい。
【００２２】
また、本発明にかかる第３のプログラムは、入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
特定語彙の情報を予め格納した特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定処理と、前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする。
【００２３】
また、本発明にかかる第４のプログラムは、入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部と、前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出処理と、前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、ユーザが発声中に言い誤った直後に言い直し発声を行った場合に、誤認識がなされる前に、人間同士の会話のように言い直しを正しく受理できる音声認識システムおよび音声処理システムを提供することができる。
【発明を実施するための最良の形態】
【００２５】
［第１の実施形態］
本発明の一実施形態について、図面を参照しながら以下に説明する。図１は、本発明の一実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。図２は、本実施形態にかかる音声認識エンジンの概略動作手順を示すフローチャートである。
【００２６】
つまり、本実施形態は、ユーザの入力音声から発話語彙系列を認識する音声認識処理を専ら行う音声認識エンジンであり、音声対話アプリケーション等の上位プログラムからユーザの音声を渡され、認識結果を上位プログラムへ返す機能を有する。このため、図１に示すように、本実施形態の音声認識エンジン１０は、音響処理部１１、音声区間判定部１２、照合部１３、文法記憶部１４、音響モデル記憶部１５、語彙辞書記憶部１６、および、結果出力部１７を備えている。
【００２７】
音声認識エンジン１０は、パーソナルコンピュータ等の任意のコンピュータにプログラムをインストールすることによって実現される。すなわち、音響処理部１１、音声区間判定部１２、照合部１３、結果出力部１７は、コンピュータのＣＰＵがこれらの機能を実現するプログラムに従って動作することによって具現化される。従って、音響処理部１１、音声区間判定部１２、照合部１３、結果出力部１７の機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も、本発明の一実施態様である。また、文法記憶部１４、音響モデル記憶部１５、語彙辞書記憶部１６は、コンピュータの内蔵記憶装置またはこのコンピュータからアクセス可能な記憶装置によって具現化される。
【００２８】
音声区間判定部１２は、ユーザの音声が入力されると、所定の音声区間判定基準により、入力された音声中の音声区間を判定する。この例では、音声区間判定部１２は、入力音声中の一定時間（フレーム）の音声のパワー情報（フレームパワー情報）から背景雑音レベルを推定し、推定された背景雑音レベルとフレームパワーとの差が既定の閾値より大きい場合、そのフレームは音声を含むフレーム（以後、音声フレーム）であると判定する。一方、音声区間判定部１２は、推定された背景雑音レベルとフレームパワーとの差が既定の閾値より小さい場合は、そのフレームは無音フレームであると判定する。
【００２９】
音声区間判定部１２は、ユーザの入力音声中に最初の音声フレームを見つけると、音声区間が始まったものと判定する。そして、音声区間判定部１２は、次に無音フレームを見つけた時点を音声区間の終了時点候補とする。終了時点候補から所定時間Ｔ1（ポーズ検出時間長）以内に次の音声フレームが始まった場合は、音声区間が継続していると判定し、先に見つけた終了時点候補をクリアすると共に、検出済みの音声区間長を延ばす。一方、終了時点候補から所定時間Ｔ1を超えた場合、音声区間の終了が確定する。音声区間判定部１２は、前の音声フレームの終了時点から所定時間Ｔ2（発話終了検出時間長；なお、Ｔ2＞Ｔ1である。）を超えても次の音声フレーム（次の音声区間の開始時点）が見つからない場合、音声区間判定部１２は、入力音声の終了と判定する。一方、所定時間Ｔ2までに、次の音声フレームを見つけた場合、新しく後続する音声区間がはじまったものと判定する。
【００３０】
このように、音声区間判定部１２は、一続きの音声フレーム、または、所定時間Ｔ2よりも短い無音フレームを挟んで連続する複数の音声フレームのまとまりを、音声区間と判定する。よって、音声区間長は可変長である。そして、全音声区間を含む範囲が、ユーザの発話区間として検出される。
【００３１】
また、音声区間判定部１２は発話語彙系列に関係なくポーズ（無発声区間）の有無に従って音声区間を決定するので、音声区間は、単語区間（１つの単語のみからなる区間）と一致する場合もあるし、一致しない場合もある。例えば、「大阪じゃなくて、新大阪」というようにユーザが言い直しを行った場合、例えば「大阪」と「じゃなくて」との間に十分な（Ｔ1以上の）長さのポーズが入っていなければ、音声区間判定部１２は、「大阪じゃなくて」と「新大阪」という、単語区間とは一致しない２つの音声区間を検出することとなる。
【００３２】
以上のとおり、音声区間判定部１２は、ユーザによる入力音声から１つまたは複数の音声区間を決定する。音声区間判定部１２は、音声区間の各々に関する音声区間情報を、優先度判定部１８へ出力する。音声区間情報は、例えば、音声区間の開始時点、音声区間長、および、各フレームのパワーまたはＳＮ比等の情報を含む。なお、音声区間の開始時点と音声区間長とは、音声認識エンジン１０において各音声区間を個々に識別するための音声区間識別情報として用いられる。
【００３３】
音響処理部１１は、入力音声からフレーム毎の特徴量を算出する。特徴量には、ＭＦＣＣ、ＬＰＣケプストラムやパワー、それらの一次や二次の回帰係数の他、それらの値を主成分分析や判別分析により次元圧縮したものなどの多次元ベクトルが使用されることが多いが、ここでは特に限定しない。算出された特徴量は、各フレームに固有の情報（フレーム固有情報）と共に、内部のメモリ（図示せず）に格納される。なお、フレーム固有情報は、例えば、各フレームが先頭から何番目のフレームであるかを示すフレーム番号や、各フレームの開始時点、終了時点、パワーなどを表すデータである。
【００３４】
優先度判定部１８は、入力音声に音声区間が複数含まれる場合、音声区間判定部１２から得られた音声区間情報に基づいて、照合部１３での照合に使用する音声区間を１つまたは複数選択する。そして、優先度判定部１８は、照合部１３での照合に使用するものとして選択した音声区間に属するフレームのみの特徴量を音響処理部１１より取得して、照合部１３へ送る。これにより、照合部１３は、優先度判定部１８が選択した音声区間の音声のみについて、後述する照合処理を行うこととなる。
【００３５】
なお、優先度判定部１８は、音声区間の選択の際に、言い直しの単語を含む音声区間を優先的に選択するために、
（１）音声区間長、
（２）音声区間のパワーまたはＳＮ比、
（３）音声区間の時系列的な前後関係、
の少なくとも一つを判定基準として用いる。
【００３６】
上記（１）を判定基準として用いる場合は、音声区間判定部１２から優先度判定部１８へ送られる音声区間情報に、各音声区間の音声区間長か、音声区間長が計算できるようにするための開始時間と終了時間か、音声区間が何フレームからなるかを示すフレーム数（フレーム長）か、開始フレーム番号と終了フレーム番号かが含まれている必要がある。フレーム数単位から時間単位への変換は、フレームシフトとフレーム幅の時間長（通常、これらの値は既定固定値である）があれば良い。本実施形態では、音声区間識別情報として、音声区間の開始時点と、終了時点と、音声区間長を含むものとする。
【００３７】
また、上記（２）を判定基準として用いる場合は、音声区間情報に、各音声区間のパワーまたはＳＮ比に関する情報が含まれている必要がある。各音声区間のパワーとして、各音声区間に含まれる各フレームのパワーの最大値を用いても良いし、平均値を用いても良い。また、各音声区間のＳＮ比として、各音声区間のＳＮ比の最大値を用いても良いし、各音声区間のＳＮ比の平均値を用いても良い。ＳＮ比は、音声区間のパワーとノイズ区間のパワーの比であるので、音声区間以外のフレームの平均パワーを推定ノイズレベルとし、これと各音声区間のパワーとの比をＳＮ比とすれば良い。
【００３８】
また、上記（３）を判定基準として用いる場合は、音声区間情報に、各音声区間の時系列上の順序を表す情報が含まれている必要がある。なお、各音声区間の時系列上の順序は、例えば連番を付した音声区間識別情報から判断することができる。
【００３９】
判定基準として上記（１）の音声区間長を用いる場合、言い直しの単語を含む音声区間を優先的に選択するためには、優先度判定部１８は、例えば、入力音声に含まれる複数の音声区間のうち、音声区間長が長い順に上位のＮ（Ｎは所定の自然数）個の音声区間を、照合に使用する音声区間として選択することが好ましい。一般的に、言い直しの単語を含む音声区間の方が、言いよどみや言い誤りの単語を含む音声区間よりも区間長が長いからである。また、咳払いや「えー」または「あー」等の不要音からなる音声区間に比べて、認識語彙の音節区間は複数音節から成るので発話区間が長いことが予想される。したがって、音声区間長が長い音声区間を優先的に選択することにより、不要音を除外できるという効果が期待できる。
【００４０】
または、優先度判定部１８が、音声区間長が指定発声長に最も近い音声区間から順に選択することも好ましい。例えば、音声入力される内容が住所であり、住所の文法が３階層構造（例えば、都道府県名、市名、町名の３階層）である場合、言い誤りや言いよどみのない１発声の時間長は、経験的に３秒以内である。このようなタスク（受理可能文）による正しい発声の場合の最大時間長の上限値Ｔ3は、多数の評価データから求められる。その上限値を利用して、優先度判定部１８が、音声区間長の合計が既定の時間Ｔ3を超えないことを条件として、音声区間長が最も長いものから順に複数の音声区間を選択することも、言い直しの単語を含む音声区間を優先的に選択するために効果的である。逆に、短い発声（音節数が少ない語彙）が無いようなタスクの場合、音節区間に対して、最短時間長の制約をかけることも可能である。
【００４１】
また、判定基準として上記（２）の音声区間のパワーまたはＳＮ比を用いる場合、言い直しの単語を含む音声区間を優先的に選択するためには、優先度判定部１８は、入力音声に含まれる複数の音声区間のうち、音声区間のパワーまたはＳＮ比が大きい順に上位Ｎ個の音声区間を、照合に使用する音声区間として選択することが好ましい。人間は、言い直しを行う場合、正しく発声しようと意識するため、言いよどみや言い誤り時の発声よりも大きな声で発声することが多いからである。
【００４２】
また、判定基準として上記（３）の音声区間の時系列的な前後関係を用いる場合に、言い直しの単語を含む音声区間を優先的に選択するためには、優先度判定部１８は、入力音声に含まれる複数の音声区間のうち時系列的に後方に位置する音声区間（孤立単語認識の場合、最も好ましくは最後の音声区間）を選択することが好ましい。言い直し発声が、言い誤り、言いよどみ発声に対して先行することはあり得ないので、時系列的に後方に位置する音声区間の方が正しく発声された単語を含む可能性が高いからである。また、文法がＭ（Ｍは自然数）階層構造である場合、入力音声に含まれる複数の音声区間のうち、時系列的に最後尾からＭ個の音声区間を選択することが好ましい。
【００４３】
さらに、判定基準として上記（１）および（３）を組み合わせて用いる場合、言い直しの単語を含む音声区間を優先的に選択するためには、優先度判定部１８は、入力音声に含まれる複数の音声区間のうち、時系列的に最後の音声区間から順に、音声区間長の合計値ＳＵＭが既定の条件（例えば、ｔlower≦ＳＵＭ≦ｔupper；ｔlower，ｔupperは、タスク依存であり実験的に求めた既定値）を満たすように、時系列的に連続する複数の音声区間を選択することが好ましい。
【００４４】
以上のとおり、優先度判定部１８によって、上記（１）〜（３）の判定基準を用いて、照合部１３における照合に用いるべき音声区間を選択することにより、言い直し、言い誤り発声を除いた認識すべき（正しく発声された）単語だけを含む音声区間のみで照合できる確率が高まる。
【００４５】
なお、全音声区間が選択されることも有り得るので、言い誤りや言い淀みなどが無い、通常の発声も従来通り認識可能である。そのために、ＳＮ比のしきい値など選択基準は、正しい発声を除外しないように実験的に決めるのが好ましい。
【００４６】
前述のとおり、優先度判定部１８は、照合部１３における照合に用いるものとして選択した１つまたは複数の音声区間の特徴量を、音響処理部１１から取得し、照合部１３へ送る。
【００４７】
照合部１３は、優先度判定部１８から音声区間の特徴量を受け取ると、この特徴量に基づいて、以下のとおり照合処理を行う。まず、照合部１３は、各音声区間の特徴量と音響モデルとを比較することにより、音声区間に含まれるフレーム毎に音素のスコアを算出する。なお、音響モデルは、どの音素がどういう特徴量になりやすいかという情報をモデル化したものであり、現在の主流は音素ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）である。音響モデルは、音響モデル記憶部１５に予め格納されている。
【００４８】
さらに、照合部１３は、算出した音素スコアを基に、文法記憶部１４に記憶されている文法と、語彙辞書記憶部１６に記憶されている認識語彙情報とに従って単語系列（文）を仮定し、各単語系列のスコア（尤度）を算出する。なお、認識語彙の情報としては、例えば、単語を識別するＩＤと、読み（どのように発声するのか）もしくは読みと等価の音素系列とを含むが、他に任意の情報を含み得る。照合部１３は、得られた単語系列とスコアとを結果出力部１７へ送信する。文法には、文脈自由文法（ＣＦＧ：Ｃｏｎｔｅｘｔ  Ｆｒｅｅ  Ｇｒａｍｍａｒ）や有限状態文法（ＦＳＧ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｇｒａｍｍａｒ）などが存在し、本発明では用いられる文法を特に限定するものではないが、以下の例では、ＦＳＧを使用するものとする。
【００４９】
また、照合部１３は、優先度判定部１８より送られた特徴量を最後まで処理したら、処理が終了したことを結果出力部１７へ送信する。結果出力部１７は、照合部１３から処理が終了した旨の通知を受けたら、照合部１３で算出されたスコアが一番良い単語系列を、認識結果として出力する。
【００５０】
ここで、音声認識エンジン１０の概略動作について、図２を参照しながら説明する。ユーザが音声入力を開始すると（Ｏｐ１１）、入力音声は音響処理部１１と音声区間判定部１２とに送られる。音響処理部１１は、入力音声の各フレームから特徴量を抽出し、抽出した特徴量を内部メモリ（図示せず）に格納する（Ｏｐ１２）。音声区間判定部１２は、所定の音声区間判定基準により、入力音声中の音声区間を決定し、決定した音声区間情報を優先度判定部１８へ出力する（Ｏｐ１３）。なお、図２においては、Ｏｐ１２とＯｐ１３の処理が直列的に実行される態様としているが、Ｏｐ１２とＯｐ１３とが並列的に実行される態様であっても良い。
【００５１】
そして、音声入力が終了すると、優先度判定部１８が、音声区間判定部１２から与えられる音声区間情報と上述したいずれかの優先度判定基準とに基づいて、照合部１３による照合処理に用いるべき音声区間を選択する（Ｏｐ１４）。優先度判定部１８は、選択した音声区間の音声区間識別情報（例えば、各音声区間の開始時点を表すデータと区間長）を音響処理部１１へ渡す。音響処理部１１は、音声区間識別情報に基づいて、その音声区間に対応するフレームのみの特徴量を前記内部メモリから抽出し、優先度判定部１８へ返す。優先度判定部１８は、その特徴量を照合部１３へ渡す（Ｏｐ１５）。照合部１３は、前記特徴量に基づいて前述の照合処理を行う（Ｏｐ１６）。照合処理の結果は、照合部１３から結果出力部１７へ送られ、結果出力部１７が認識結果を出力する（Ｏｐ１７）。
【００５２】
以上のとおり、本実施形態によれば、言いよどみや言い誤りの後に言い直しを含む音声が入力された場合、言い直しを含む確率が高い音声区間を優先的に選択し、その音声区間の特徴量を用いた認識結果を出力することができる。
【００５３】
なお、音声発話は、発声し始めや、単語・文節末尾等でパワーが小さくなりがちであり、音声フレームか否かの判定を誤りやすいので、音声区間判定部１２が、音声区間と判定した区間の前後の既定長のフレーム（ガードフレーム）を結合する場合もあり得る。音声区間の間隔が短い場合、ガードフレーム長によっては、複数の音声区間が１つになる場合もあり得る。逆に、あまりに短い音声区間は突発的雑音と想定されるので、棄却するような処理を追加するのも可能である。
【００５４】
また、優先度判定部１８が、各音声区間を照合部１３の照合において使用すべきか否かを判定するのではなく、上記（１）〜（３）の判定基準に基づいて、各音声区間の優先度を、優先度スコアとして算出するようにしても良い。この場合、照合部１３は、認識結果候補である単語系列のスコアに、各単語が含まれる音声区間の優先度スコアを加算または積算し、その結果に基づいて認識結果を決定すれば良い。優先度スコアの例としては、上記（２）の場合、単純にＳＮ比を優先度にするのも可能である。さらに、優先度の値が既定値以下の場合は、照合部１３に送らないという構成も可能である。
【００５５】
なお、各単語は複数の音声区間に跨がらない（単語間にポーズを挟まない）という制約条件を照合部１３で用いることにより、単語が位置する音声区間の優先度スコアが一意に決められる。この制約条件を用いずに照合を行う場合は、複数の音声区間の平均や、音声区間中の単語区間の比率などから、優先度判定部１８において優先度スコアを算出し直す構成も可能である。
【００５６】
また、本実施形態では、優先度判定部１８が、上記（１）〜（３）の判定基準を用いて、入力音声に含まれる複数の音声区間のうち優先的に選択すべき音声区間を決定するものとした。しかし、これとは逆に、上記（１）〜（３）の判定基準に準じて、入力音声に含まれる音声区間から排除すべき音声区間、すなわち照合部１３における照合に用いるべきでない音声区間、を決定するようにしても良い。
【００５７】
また、本実施形態では、優先度判定部１８が、選択した音声区間の特徴量のみを音響処理部１１から取得して照合部１３へ送るものとした。しかし、音響処理部１１が全ての音声フレームの特徴量を優先度判定部１１へ出力し、優先度判定部１１が、選択された音声区間に属するフレームの特徴量だけを選択して照合部１３へ出力する構成としても良い。
【００５８】
また、本実施形態では、発話区間が確定するまで全ての処理を待つ必要はなく、音響処理部１１が、音声区間判定部で音声区間が確定した順に逐次的に特徴量を照合部に送り、照合部ではその時点で入力されたフレームまでの特徴量を用いて逐次処理を進め、レスポンスタイムを短縮することも可能である。
【００５９】
また、本実施形態では、全入力フレームの特徴量を算出しているが、発話区間と確定したフレームだけ算出する構成として処理量を削減する事も可能である。この場合、図２では、音声区間判定（Ｏｐ１３）は、特徴量抽出（Ｏｐ１２）より前段にくる事になる。
【００６０】
［第２の実施形態］
本発明の他の実施形態について、図面を参照しながら以下に説明する。図３は、本実施形態にかかる音声認識エンジン２０の概略構成を示すブロック図である。なお、第１の実施形態と同様の機能を有する構成については、第１の実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００６１】
図３に示すように、本実施形態にかかる音声認識エンジン２０は、音響処理部１１、音声区間判定部１２、照合部２３、文法記憶部１４、音響モデル記憶部１５、語彙辞書記憶部１６、結果出力部１７、優先度判定部２８を備えている。
【００６２】
なお、第１の実施形態にかかる音声認識エンジン１０と異なり、本実施形態の音声認識エンジン２０では、音声区間判定部１２は、発話区間（全音声区間を含む範囲）を音響処理部にも通知する。音響処理部１１は、通知された発話区間に含まれる各フレームのみ特徴を算出し、照合部２３へ与える。
【００６３】
照合部２３は、図３に示すように、単語展開部２３１と、単語スポッティング部２３２とを備えている。単語展開部２３１は、まず、語彙辞書記憶部１６を参照し、文法上の各階層に応じた単語候補リストを単語スポッティング部２３２に提示する。
【００６４】
単語スポッティング部２３２は、単語展開部２３１によって提示された単語候補リストに含まれる各単語を構成する音素列に対応する各音素のモデルを音響モデル記憶部１５から取得し、取得した各音素モデルと音響処理部１１から与えられた特徴量とを用いて、ワードスポッティング技術により、各単語が入力音声中に出現するか、出現するならば、その位置とスコアを算出する。スコアが所定閾値ＳW以上となった単語について、その単語ＩＤと、対応づけられた単語区間を特定する情報（以下、単語区間情報と称する。）と、そのスコアとを優先度判定部２８と単語展開部２３１に送る。単語区間情報としては、例えば、その単語区間の開始時点および区間長、あるいは、その単語区間の開始時点および終了時点等のデータを用いることができる。
【００６５】
上記の単語ＩＤは、単語を識別するためのものであり、各単語固有の数値や表記であればよい。以下では、簡略化のため、特に単語ＩＤと明示しないこともある（例えば単語系列の実体は単語ＩＤ系列であるなど）。
【００６６】
優先度判定部２８は、音声区間判定部１２から送られる音声区間情報と、単語スポッティング部２３２から送られた単語区間情報とを照合し、その単語がどの音声区間に含まれるか判断し、その音声区間にその単語スコアを対応づける。既に対応づけられている単語スコアがある場合、スコアが良い方を残す。これを繰り返す事により、各音声区間に対応づけられた単語のうち最大のスコアを記憶することになる。そして、優先度判定部２８は、対応づけられたスコアが所定の閾値ＳH（ＳH＞ＳW）以上になった音声区間のみを採用と判定する。条件ＳH＞ＳWは、ワードスポッティングによる、文法外発声の棄却性能以上の効果を得るためである。
【００６７】
なお、１つの音声区間に複数の単語が入った場合を考慮し、優先度判定部２８は以下の処理を行うことも可能である。各音声区間に対応づけられた単語同士を単語区間が重複しない範囲で組み合わせ、その組の単語スコアの和を、その組のスコアとする。全ての組の内、スコアが最良のものを選び、その単語境界により音声区間を分割してから、各音声区間のスコアを算出し、スコアが所定の閾値以上になった場合、その音声区間を採用と判断する。
【００６８】
また、単語スポッティング部２３２が使用するワードスポッティング技術（アルゴリズム）には、多くのものが存在する（例えば、青山健治、"ワードスポッティング音声認識," 日本ファジィ学会誌 VOL. 11, No.3 p.403-407 1999等を参照のこと）が、本発明では特に限定しない。単語スポッティング部２３２が使用するアルゴリズムによるが、音響処理部がフレーム単位で特徴量を出力し、これに同期して処理を進める事が可能である。優先度判定部２８と、単語展開部２３１は、優先度判定のための音声区間のスコア確定が特徴量フレームより遅れるが、その分だけ遅延させれば、単語スポッティング部の処理が全音声区間分の処理が済む前から開始可能である。
【００６９】
単語展開部２３１は、文法情報を展開しながら、単語スポッティング部２３２の出力結果中の単語を組み合わせた単語系列中から、文法で受理可能、系列中の各単語の単語区間が時間軸上で重複しない、かつ、文法上の出現順と時間軸上の位置関係が同じ、かつ、単語系列中の各単語の単語区間が優先度判定部２８で採用された音声区間全てと対応付けられる、かつ、単語スコアの和が最良のものを選び出し、認識結果として結果出力部１７へ出力するものであり、以下に詳細にその動作を説明する。
【００７０】
単語展開部２３１は、文法記憶部１４に記憶されている文法情報と語彙辞書記憶部１６に記憶されている語彙辞書とを参照し、文法による単語並びの制約に応じて、単語系列を順次展開し、それぞれをバッファ（ＦＩＦＯ）ＢAに入れる。次に、バッファＢA中の単語系列を順次取り出し、最終単語が直前の単語と重複しないで、単語スポッティング部２３２の出力結果に存在するか確認し、存在する場合、認識結果候補としてバッファＢBに入れる。
【００７１】
例えば、ここで、音声入力される内容が住所であり、最初に入力される単語（第１階層）は都道府県名であり、その次に入力される単語（第２階層）は、各都道府県の市町村名を表す単語である、といった内容の文法情報が文法記憶部１４に予め登録されているものとする。この場合、単語展開部２３１は、最初は、都道府県名の階層の処理から始まり、「沖縄県」から「北海道」までを順次、一単語からなる単語系列としてバッファＢAに入れる。
【００７２】
次に、バッファＢAの先頭の「沖縄県」だけからなる単語系列を抜き出し、系列の最後に存在する単語「沖縄県」に注目する。「沖縄県」より前に単語は存在しないので、位置に関係なく、この単語が単語スポッティング部２３２の検出結果にあるか確認する。「沖縄県」が検出されていた場合、その単語ＩＤと単語区間情報とスコアとを、「沖縄県」だけから成る単語系列と結びつけて記憶し、これをバッファＢBに入れる。ここで、「沖縄県」が単語スポッティング部２３２の検出結果中に複数あった場合、その全てを別々の単語系列として、バッファＢBに入れる。そして、「沖縄県」が検出結果にあってもなくても、処理済みとなった「沖縄県」だけからなる単語系列を破棄する。これをバッファＢAが空になるまで繰り返す。
【００７３】
バッファＢAが空になった時点で、バッファＢBの先頭の単語系列を取り出す。取り出した系列が、「沖縄県」の場合、「沖縄県」に続く第２階層の単語を展開（「沖縄県」と、「沖縄県」に続く市町村名１単語の２単語系列になる）し、バッファＢAに登録する。
【００７４】
バッファＢAが空でないので、バッファＢAの処理に移る。バッファＢAの先頭が「沖縄県  那覇市」という単語系列とすると、単語スポッティング部２３２の検出結果に、「那覇市」が「沖縄県」の音声区間より後にあり、音声区間が重複しないであるか確認する。あれば、その単語ＩＤと単語区間情報とスコアとを記憶すると共に、「沖縄県」と「那覇市」のスコアを加算して、「沖縄県  那覇市」のスコアとして、この単語系列と結びつけて記憶し、「那覇市」に続く単語を文法に従い展開し、バッファＢBに登録する。そして、「那覇市」が「沖縄県」の音声区間より後にあってもなくても、処理済みの「沖縄県  那覇市」の単語系列を破棄する。
【００７５】
以上のようにして、文法に従い、単語を順次展開、処理していく。バッファＢBの先頭の単語系列が文法の終端状態に達しており、これ以上展開できない場合、その単語系列を認識結果候補単語系列として認識結果候補リストに登録する。バッファＢA、ＢBが共に空になれば、展開処理は終了となる。
【００７６】
上記で、文法で受理可能な単語系列の展開（探索）の手法を特に限定せず、幅優先探索や、深さ優先探索や、スコアを元にしたbest-firstなど、他の探索も可能である。
【００７７】
また、本発明で使用できる文法は木構造に限定される訳ではない。例えば、ループがあるような文法については、深さ優先探索では無限ループに陥るなど、文法の構造からくる探索手法の制限が存在するが、単語スポッティング部２３２の検出結果に単語があるか否かの確認時に、単語区間の制限があるため、深さ優先探索でも無限ループには陥らない。
【００７８】
また、言語モデルとして文法（オートマトン情報）を用いず、Ｎ単語組の確率モデル（Ｎ−ｇｒａｍ）を利用して、単語系列の生起確率と単語スコアの和を単語系列のスコアとする構成も可能である。
【００７９】
一般的に、１つの単語（読みは同じだが、文法上の位置が異なるものなど）が、１入力間に複数発声されることは起こりうる。また、各単語の検出に、単語スポッティング技術を用いたとしても、単語の境界の判定は難しいため、検出区間に何フレームかの幅を持たせる方が文としての認識確率は上がる。これらに対応するために、単語スポッティング部は、１つの単語を（区間が重複しても）複数検出した形で結果を出力してもかまわないものとする。
【００８０】
また、これに併せて、単語展開部２３１は、注目した単語を単語スポッティング部２３２の出力結果の内、先行する単語の単語区間より後ろに複数（それぞれ音声区間と、おそらくはスコアが異なる）見つけた場合、それぞれの単語区間に対応するように単語系列を複数に分割する。
【００８１】
なお、単語系列スコアは、発声時間長に依存し易いので、単語系列中の単語時間長の和で割るなどの正規化処理を加えるのも好ましい。
【００８２】
単語展開部２３１は、展開処理終了後、認識結果候補リストの内から、系列内の単語の全てが、優先度判定部２８によって採用されている音声区間と対応づけられているものを選び、その中でスコア（認識結果候補系列に含まれる単語スコアの合計値）が最良のものを認識結果として結果出力部１７へ出力する。このとき、スコアも同時に送信するのも可能である。
【００８３】
以上の構成により、音声認識エンジン２０によれば、単語スコアが優先度判定部２８での閾値ＳH以上の単語を含む音声区間のみを使用した認識結果が得られる。例えば、言い誤りがあった場合、言い誤った単語は、その文法の単語候補リストに含まれていない（すなわち、認識語彙外発話である）確率が高いことから、その単語のスコアは閾値を下回り、その単語を含む音声区間が優先度判定部２８によって正しく棄却される可能性が高い。一方で、言い直された単語はその文法階層の単語候補リストに含まれている確率が高いので、単語スコアが閾値以上となり、その単語を含む音声区間が優先度判定部２８によって採用される可能性が高い。これにより、言い誤りや言いよどみのような想定外の単語を含む音声区間を除外して、認識語彙が発声されたらしい音声区間を正しく選択することが可能となる。
【００８４】
ここで、図４を参照し、本実施形態の音声認識エンジン２０の概略動作手順について説明する。まず、照合部２３の単語展開部２３１が、文法記憶部１４から文法情報、語彙辞書記憶部１６から認識語彙情報をそれぞれ取得し、単語スポッティング部２３２が音響モデル記憶部１５から音響モデル情報を取得する（Ｏｐ２１）。単語展開部２３１は、取得した認識語彙情報を単語スポッティング部２３２に送る（Ｏｐ２２）。そして、ユーザが音声入力を開始すると（Ｏｐ２３）、音声区間判定部１２は、入力音声中の音声区間を決定し、決定結果としての音声区間情報を音響処理部１１と優先度判定部１８へ出力する（Ｏｐ２４）。音響処理部１１は、入力された音声区間の特徴量を算出し、単語スポッティング部２３２へ出力する（Ｏｐ２５）。単語スポッティング部２３２は、音響処理部１１が入力音声から抽出する特徴量を逐次受け取り、語彙辞書中の単語をスポッティング処理により検出し、検出した単語について、単語区間情報と単語スコアとを優先度判定部２８と単語展開部２３２へ送る（Ｏｐ２６）。
【００８５】
優先度判定部２８は、音声区間判定部１２から送られる音声区間情報と、単語スポッティング部２３２から送られた単語区間情報とを照合し、各音声区間に含まれる単語のうち最高の単語スコアが、既定しきい値を越えていれば、その音声区間を採用と判定する（Ｏｐ２７）。
【００８６】
ここで、単語展開部２３１は、文法情報に従い受理可能な単語系列を展開し、単語スポッティング部２３２の出力結果中の単語を組み合わせた単語系列中から、文法で受理可能、かつ、系列中の各単語の単語区間が時間軸上で重複しない、かつ、文法上の出現順と時間軸上の位置関係が同じものを、認識結果候補リストに登録する（Ｏｐ２８）。続けて、認識結果候補リスト中の単語系列中から、系列中の各単語の単語区間が優先度判定部２８で採用された音声区間全てと対応付けられる、かつ、単語スコアの和が最良のものを選び出し（Ｏｐ２９）、認識結果として結果出力部１７へ出力する（Ｏｐ３０）。
【００８７】
以上のとおり、本実施形態にかかる音声認識エンジンは、語彙辞書内の各単語をワードスポッティングで検出した際の単語スコアに基づいて、各音声区間の音声区間スコアを決定し、所定の閾値以上となった音声区間のみを採用する。これにより、言い誤り等からなる音声区間を、語彙外発話の音声区間として効率的に除去することができる。また、言い直しの無い発声では、各音声区間に認識語彙がスポッティングされてスコアが良くなるので、全音声区間が棄却されず残り、従来通り正しく認識できる。
【００８８】
［第３の実施形態］
本発明のさらに他の実施形態について、図面を参照しながら以下に説明する。図５は、本実施形態にかかる音声処理システム（音声認識エンジン３０）の概略構成を示すブロック図である。なお、前述の各実施形態と同様の機能を有する構成については、その実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００８９】
音声認識エンジン３０は、図５に示すように、特定語彙辞書が予め格納された特定語彙辞書記憶部３１をさらに備えている。特定語彙とは、言い誤りに気付いた話者が、言い直しの直前に、意識的にまたはほぼ無意識に発する可能性が高い単語である。特定語彙辞書は、製造時に所定の特定語彙が格納されても良いし、必要に応じて、使用者が登録内容を追加、削除、または変更できるようにしても良い。特定語彙の具体例としては、これらに限定されないが、「言い直し」、「いや」、「間違えた」、「じゃなくて」等が挙げられる。
【００９０】
また、音声認識エンジン３０は、単語展開部３３１と単語スポッティング部３３２とを含む照合部３３を備えている。単語スポッティング部３３２は、第２の実施形態とは異なり、語彙辞書中の単語だけではなく、特定語彙辞書記憶部３１の特定語彙のそれぞれについても、音響処理部１１から与えられる特徴量と音響モデルの情報から、各単語が入力音声中に出現するか検出し、出現するならば、その位置とスコアを算出する。そして、単語スポッティング部３３２は、スコアが所定の閾値以上となった特定語彙がある場合、入力音声から特定語彙を検出したことと、その特定語彙が含まれる音声区間を特定する情報（以下、特定語彙区間情報と称する）とを、優先度判定部３８へ通知する。特定語彙区間情報としては、例えば、その特定語彙が含まれる音声区間の開始時点および区間長、あるいは、その音声区間の開始時点および終了時点等のデータを用いることができる。特定語彙以外の通常の語彙辞書中の単語の検出時は、第２の実施形態と同様に、その単語ＩＤと、対応づけられた単語区間を特定する情報（単語区間情報）と、そのスコアとを優先度判定部２８と単語展開部２３１に送る。
【００９１】
優先度判定部３８は、単語スポッティング部３３２から上記の通知を受けると、入力音声に含まれる音声区間のうち、特定語彙が検出された音声区間より後の音声区間のみを採用する。そのため、優先度判定部３８は、特定語彙検出された音声区間より時間軸上で前に位置する音声区間全てを棄却する（採用と判定されていたものを取り消す）。
【００９２】
例えば、ユーザは、「新大阪から東京まで」と言うべきところを「大阪から、いや、新大阪から東京まで」と発声しても、特定語彙として「いや」という単語が登録されていれば、「大阪から、いや」に対応する音声区間が棄却され、言い直し発声の「新大阪から東京まで」に対応する音声区間だけが認識対象となり、正しく認識できる。従来例では、「大阪から」と発声して、誤った場合、ユーザはそこで発話を止めて、誤認識結果が返って来るのを待ってから、再入力として「新大阪から東京まで」と発声し直していた。従って、本実施形態によれば、この従来例に比較して非常に効率良く音声入力できるようになる。
【００９３】
なお、上述の例では、ユーザが言い誤った場合は、特定語彙が検出された音声区間以前の全音声区間がキャンセルされるので、ユーザは、入力文（単語系列）が長くても文の先頭から言い直しを行う必要がある。しかし、この例に限らず、１単語だけの言い直しの受理を可能とする構成も考えられる。その場合は、優先度判定部３８は、特定語彙が検出された音声区間とその直前の音声区間をキャンセルすればよい。これにより、「東京から神戸まで大人２枚」と言うべきところを「東京から神戸まで大人１枚、いや、２枚」と発声しても、特定語彙として「いや」という単語が登録されていれば、「１枚、いや」に対応する音声区間が棄却され、言い直しを含む「東京から神戸まで大人２枚」に対応する音声区間だけが認識対象となり、正しく認識できる。
【００９４】
以上のとおり、本実施形態の音声認識エンジン３０によれば、ユーザが言い誤った直後に発する特定語彙を認識すると、これ以前の少なくとも１つの音声区間を破棄した後に認識処理を再開するので、言い誤りを含む音声区間を正しく棄却し、言い直された音声区間を正しく受理することができる。また、特定語彙を含まないような言い直しの無い発声は、音声区間が棄却されないので、従来通り、正しく認識できる。
【００９５】
また、図５の構成を若干変更して、図６のような構成とするのも可能である。図６において、単語スポッティング部４３２は、語彙辞書記憶部１６および特定語彙辞書記憶部３１から語彙辞書を自ら読み込み、単語検出結果を優先度判定部４８だけに出力する。優先度判定部４８は、入力された単語検出結果のうち、採用と判断した音声区間に対応付けられたものだけを単語展開部４３１に出力する。この構成により図５と同様に、言い誤りを含む音声区間を正しく棄却し、言い直された音声区間を正しく受理することができる。
【００９６】
［第４の実施形態］
本発明のさらに他の実施形態について、図面を参照しながら以下に説明する。図７は、本実施形態にかかる音声処理システム５０の概略構成を示すブロック図である。なお、前述の各実施形態と同様の機能を有する構成については、その実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００９７】
前述した各実施形態は、音声認識エンジン自体が、どの音声区間を優先すべきかを決定する構成であった。これに対して、本実施形態にかかる音声処理システム５０は、音声認識部（音声認識エンジン）と、その上位アプリケーションである音声対話部とが、各音声区間の優先度を決定する処理を分担する。このため、音声処理システム５０は、図７に示すように、音声認識部６０と、その上位アプリケーションとしての音声対話部７０とを備えている。音声対話部７０は、音声対話の状況を管理し、音声認識部６０による音声認識結果を利用した音声合成を行って、ユーザと対話する。
【００９８】
音声認識部６０と音声対話部７０とは、パーソナルコンピュータ等の任意のコンピュータにプログラムをインストールすることによってそれぞれ実現される。なお、音声認識部６０および音声対話部７０のそれぞれの機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も、本発明の一実施態様である。
【００９９】
音声認識部６０は、第３の実施形態の音声認識エンジン３０と同様の、音響処理部１１、文法記憶部１４、語彙辞書記憶部１６、音響モデル記憶部１５、結果出力部１７、特定語彙辞書記憶部３１、および、照合部７３を備えている。音声認識部６０は、その他に、音声切り出し部６１と設定部６２とを備えている。
【０１００】
音声対話部７０は、音声ストリーム送出部７１、指定部７２、特定語彙判定部７１０、認識結果選択部７４、音声認識駆動部７５、対話管理部７６、音声合成駆動部７７、文法・辞書保管部７８、および、特定語彙辞書記憶部７９を備えている。
【０１０１】
対話管理部７６は、既定の対話シナリオに沿って、音声認識部６０が使用すべき語彙辞書、文法、および特定語彙を、文法・辞書保管部７８および特定語彙辞書記憶部７９から読み出して、指定部７２を通じて音声認識部６０へ送る。そして、対話管理部７６は、音声認識駆動部７５に指示を出して、オーディオデバイスから入力される音声データを、音声ストリーム送出部７１から音声認識部６０へ送出する。
【０１０２】
音声認識部６０では、設定部６２が、音声対話部７０の指定部７２から送られた情報、すなわち、その時点の対話フェーズにおいて用いるべき語彙辞書、文法、および特定語彙を、語彙辞書記憶部１６、文法記憶部１４、特定語彙辞書記憶部３１のそれぞれに格納する。これにより、単語展開部７３１および単語スポッティング部７３２は、ここで指定された語彙辞書、文法、特定語彙辞書を参照して照合処理を行うこととなる。
【０１０３】
音声切り出し部６１は、認識すべき文が存在する区間（発話区間）を検出する。すなわち、前述の各実施形態で用いられる「音声区間判定部」が、発声中のポーズを検出することにより、ポーズで区切られた複数の音声区間を検出するのに対して、音声切り出し部６１は、音声区間の検出は行わない。このため、音声切り出し部６１は、入力音声ストリームのパワー変動に基づいて発声の開始（発話区間の開始）を検知し、発声検知後に一定時間発声が無い場合、入力発声が終わった（発話区間の終了）と判断する。そして、音声切り出し部６１は、音響処理部１１へ、発話区間の開始時点と終了時点を表す情報（発話区間情報）を出力する。
【０１０４】
なお、音声ストリーム送出部７１から送出された音声データは、音響処理部１１へも与えられる。音響処理部１１は、音声切り出し部から入力された発話区間情報に基づき、音声区間中の音声データのみから特徴量を抽出し、照合部７３へ渡す。
【０１０５】
照合部７３では、単語展開部７３１は、第３の実施形態と同様に、認識語彙情報を単語スポッティング部７３２に設定する。単語スポッティング部７３２は、第３の実施形態の説明とは優先度判定部に結果を出力しない以外は同様に、語彙辞書および特定語彙辞書中の各単語についてスポッティング処理し、その結果を単語展開部７３１に出力する。単語展開部７３１は、第３の実施形態の説明とは優先度判定部の判定結果と照合しない以外は同様に、認識語彙情報を単語スポッティング部７３２に設定し、単語スポッティング部７３２から結果を受け取ると、文法情報を展開しながら、単語スポッティング部の出力結果中の単語の組み合わせた単語系列中から、文法で受理可能、系列中の各単語の単語区間が時間軸上で重複しない、かつ、文法上の出現順と時間軸上の位置関係が同じものを選び出し、結果出力部１７へ出力する。これらの単語系列は、特定語彙を含んでいる可能性がある。
【０１０６】
なお、文法は、言い直し発声時に、特定語彙が発声される可能性を考慮した文法になっている必要がある。例えば、言い直し発声を考慮しない文法の各状態から特定語彙を経由して１単語前に戻る遷移を追加すれば、１単語の言い直しに対応できる。同様に、特定語彙を経由して開始状態に戻る遷移を追加すれば、発話頭からの言い直しに対応できる。
【０１０７】
結果出力部１７は、音声切り出し部６１から送られる発話区間情報と、照合部３３による照合結果とに基づいて、認識結果の各単語系列に含まれる単語が、時間軸上でどこに位置するかを示す情報（単語区間情報）を生成する。さらに、結果出力部１７は、照合部３３から受け取った複数の単語系列のそれぞれについて、単語のスコアの合計（単語系列のスコア）を求める。そして、前記複数の単語系列のうち、単語系列のスコアが大きい方から順にＮ個を認識結果候補として音声対話部７０へ返す（Ｎ−Ｂｅｓｔ処理）。なお、Ｎは一定値でも良いし、対話状況に応じて対話管理部７６が動的に変更できるようにしてもよい。結果出力部１７から音声対話部７０へ返される認識結果候補の情報には、各単語系列に含まれる単語の単語区間情報も含まれている。
【０１０８】
認識結果選択部７４は、音声認識部６０から返された認識結果候補として返された各単語系列を特定語彙判定部７３に送る。特定語彙判定部７３は、特定語彙辞書記憶部７９を参照し、認識結果候補としての各単語系列に特定語彙が含まれるか、また、特定語彙が含まれる場合は、どの単語区間に特定語彙が含まれるかをチェックする。特定語彙判定部７３から、特定語彙が含まれるとの回答を得た場合、認識結果選択部７４は、特定語彙を含む単語区間の直後の単語区間に含まれる単語のスコアに所定のポイントを加算し、上記Ｎ個の単語系列の全てをリスコアリングする。特定語彙の直後の単語区間に言い直しの語彙が含まれる可能性が高いからである。同時に、特定語彙自身と言い直し区間は不要なので単語系列中から削除する。ここで、言い直し区間として、特定語彙以前の単語すべてを削除する場合、ユーザは文頭から全てを言い直す必要がある。特定語彙の直前の単語だけを削除する場合、ユーザは、１単語の言い誤りを言い直して修正できる。
【０１０９】
認識結果選択部７４は、Ｎ個の単語系列についてリスコアリングした結果、単語系列としてのスコアが最も良いものを、最終的な認識結果として音声認識駆動部７５に返す。音声認識駆動部７５は、認識結果が返って来たので、音声ストリーム送出部７１へ、音声認識部６０への音声データの送出を停止する指示を出すと共に、最終的な認識結果を対話管理部７６へ返す。対話管理部７６は、最終的な認識結果に従って、音声合成駆動部７７において適切な応答音声を合成させる。
【０１１０】
以上の構成により、例えば「言い直し」、「間違えた」、「じゃなくて」など、言い直しの直前にくると思われる特定語彙が発声された場合に、その語彙と直前の音声区間または単語を棄却し、その直後の単語区間を音声対話部７０が優遇することが可能となる。これにより、言い直し発声の受理確率が高まることが期待される。
【０１１１】
なお、音声対話部７０が、言い直し直後の単語を優遇するためにどの程度のポイントを加算するかを、対話の状況（例えば、音声入力する情報の複雑さ等）に応じて調整可能とすることも好ましい。
【０１１２】
［第５の実施形態］
本発明のさらに他の実施形態について、図面を参照しながら以下に説明する。図８は、本実施形態にかかる音声認識エンジン８０の概略構成を示すブロック図である。なお、前述の各実施形態と同様の機能を有する構成については、その実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【０１１３】
本実施形態の音声認識エンジン８０は、図８に示すように、音響処理部１１、音声区間判定部１２、照合部８３、文法記憶部１４、音響モデル記憶部１５、語彙辞書記憶部１６、結果出力部１７、優先度判定部８８を備えている。照合部８３は、単語展開部８３１、単語スポッティング部８３２、長音検出部８３３を備えている。
【０１１４】
長音検出部８３３は、音響処理部１１から送られる入力特徴量と、音響モデル記憶部１５から得られる音響モデルとを比較し、長音が連続する音声区間を検出したら、優先度判定部８８にその音声区間を特定する情報を通知する。優先度判定部８８は、長音が最後に検出された音声区間の直後の音声区間を採用する。または、優先度判定部８８は、長音が最後に検出された音声区間の直後の音声区間を優先するように、当該音声区間の単語スコアに優遇ポイントを加算しても良い。
【０１１５】
長音が連続する音声区間は、「えー」または「うー」等の言いよどみの発声を含んでいる可能性が高い。このため、上記の構成により、長音が最後に検出された音声区間の直後の音声区間を採用または優先することにより、発声の受理確率が有意に高まることが期待される。
【０１１６】
なお、上記では、長音が連続する音声区間を検出する長音検出部８３３を備えた構成を例示した。しかし、これに限らず、長音検出部８３３の代わりに、入力音声の特徴量の変化が少ない音声区間を検出する機能ブロックを備えた構成としても、同様の効果を得ることができる。
【０１１７】
また、認識語彙中の長音に反応しないように、優先度判定部において、既定時間以上の長音のみを言いよどみと見なすのが好ましい。あるいは、長音検出部が検出する長音の継続時間長を既定時間以上にするのも同様に好ましい。なお、既定時間は実験的に最適値を求めるのが好ましい。
【０１１８】
［第６の実施形態］
本発明のさらに他の実施形態について、図面を参照しながら以下に説明する。図９は、本実施形態にかかる音声処理システム９０の概略構成を示すブロック図である。なお、前述の各実施形態と同様の機能を有する構成については、その実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【０１１９】
本実施形態にかかる音声処理システム９０は、図９に示すように、音声認識部１００と、その上位アプリケーションとしての音声対話部１１０とを備えている。音声対話部１１０は、音声対話の状況を管理し、音声認識部１００による音声認識結果を利用した音声合成を行って、ユーザと対話する。
【０１２０】
音声認識部１００と音声対話部１１０とは、パーソナルコンピュータ等の任意のコンピュータにプログラムをインストールすることによってそれぞれ実現される。なお、音声認識部１００および音声対話部１１０のそれぞれの機能をコンピュータで実現するためのプログラムまたはそれを記録した記録媒体も、本発明の一実施態様である。
【０１２１】
音声処理システム９０において、音声対話部１１０は、音声認識部１００が返した認識結果（単語系列とその読み、単語の時間軸上での位置（発話時間））を用いて、各音声区間（単語区間）での発話速度を求め、言い直しのためにゆっくり発話されている音声区間を推定し、その区間を優遇する。
【０１２２】
このため、音声処理システム９０は、以下の構成を有する。音声認識部１００は、第３の実施形態の音声認識エンジン３０と同様の、音響処理部１１、文法記憶部１４、語彙辞書記憶部１６、音響モデル記憶部１５、結果出力部１７、および照合部３３を備えている。音声認識部１００は、その他に、音声切り出し部６１と設定部６２とを備えている。音声対話部１１０は、音声ストリーム送出部７１、指定部７２、認識結果選択部７４、音声認識駆動部７５、対話管理部７６、音声合成駆動部７７、および文法・辞書保管部７８を備えている。なお、第４の実施形態と同様の機能を有する構成には、同じ参照符号を付記し、その詳細な説明を省略する。
【０１２３】
音声対話部１１０の対話管理部７６は、既定の対話シナリオに沿って、音声認識部１００が使用すべき語彙辞書および文法を文法・辞書保管部７８から読み出し、指定部７２を通じて音声認識部１００へ送る。そして、対話管理部７６は、音声認識駆動部７５に指示を出して、オーディオデバイスから入力される音声データを、音声ストリーム送出部７１から音声認識部１００へ送出する。
【０１２４】
音声認識部１００では、設定部６２が、音声対話部１１０の指定部７２から送られた情報、すなわち、その時点の対話フェーズにおいて用いるべき語彙辞書および文法を、語彙辞書記憶部１６および文法記憶部１４のそれぞれに格納する。これにより、単語展開部３３１および単語スポッティング部３３２は、ここで指定された語彙辞書および文法を参照して照合処理を行うこととなる。
【０１２５】
音声切り出し部６１は、入力音声ストリームのパワー変動に基づいて発声の開始を検知する。そして、音声切り出し部６１は、発声検知後、一定時間発声が無い場合に、入力発声が終わったと判断し、結果出力部１７にその旨を通知する。
【０１２６】
単語展開部９３１は、結果出力部１７へ認識候補の単語系列を送出するが、その際に、各単語の読みと音声区間情報を付加する。結果出力部１７は、音声切り出し部６１からの発声の終了通知を受けた時点で、照合部３３の認識結果として受信している単語系列のうち、スコアが高いものから順にＮ個の単語系列を、各単語の読みと音声区間情報と共に、音声対話部１１０へ送信する。
【０１２７】
発話速度算出部１１１は、結果出力部１７から受信した全単語系列中の各単語について、読みと音声区間長から各単語の発話速度（例えば、音節数／ｍｓｅｃ）を算出し、対応する単語と組み合わせて優先度判定部１１２に送信する。
【０１２８】
優先度判定部１１２では、発話速度が遅い音声区間のスコアを優遇するように、受信した単語系列中の単語スコアを上書き（リスコアリング）する。これは、話者が、言い直しを行う際には、再度言い誤らないようにゆっくり丁寧に話す場合が多いからである。つまり、発話速度が遅い音声区間には、言い直された有意な単語が含まれている確率が高いからである。リスコアリングの一例としては、既定の標準発話速度との比率で単語スコアを割ることにより、発話速度が速い単語ではスコアを下げ、発話速度が遅い単語ではスコアを上げる処理などが考えられるが、これに限定されない。
【０１２９】
認識結果選択部７４は、各単語系列について、優先度判定部１１２によりリスコアリングされた単語のスコアを合計し、単語系列としてのスコアを算出し直す。そして最もスコアが高い単語系列を、最終的な認識結果として、音声認識駆動部７５に通知する。
【０１３０】
以上の構成により、言い直しのゆっくりした発声部分を受理しやすくなることが期待される。
【０１３１】
なお、優先度判定部１１２において、発話速度が遅い音声区間のスコアを優遇するだけでなく、発話速度が遅い音声区間の直前の音声区間（単語）を、言い誤りと見なしてキャンセルする構成とすることも好ましい。また、照合部３３が文法外発話（単語）を無視する機能を備えている場合、認識結果選択部７４において、発話速度が遅い音声区間の直前の音声区間が無視されている認識候補を選択する構成とすることも好ましい。
【０１３２】
以上、本発明のいくつかの実施形態を説明したが、本発明はこれらの実施形態にのみ限定されず、発明の範囲内で種々の変更が可能である。
【０１３３】
例えば、各実施形態の照合部における照合の単位は、音素単位に限らず、音節、モーラ、半音節、または単語単位でも構わない。また、それらのＫ（Ｋは自然数）個組を単位（３音素単位のtriphoneなど）とした照合を行っても構わない。
【０１３４】
また、音素の各フレームのスコア（尤度）から、単語スコアまたは単語系列スコアを算出する手法として、従来多くのアルゴリズムが提案されている。本発明については、単語スコアまたは単語系列スコアを算出するに際してどのようなアルゴリズムを用いても良い。
【０１３５】
また、第１〜４の実施形態は、第５または第６の実施形態に含まれる音声切り出し部と組み合わせることも可能である。また、音声切り出し部の内部情報から、音声区間判定を行う構成も可能である。
【０１３６】
以上の各実施形態に加えて、以下の付記を開示する。
【０１３７】
（付記１）
入力された発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定部と、
前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定部と、
前記優先度判定部により選択された音声区間の前記特徴量と前記音響モデルを用いて、前記認識語彙との一致度を算出する照合部と、
照合部の照合した結果、最もスコアの良かった単語系列を認識結果として出力する結果出力部とを備え、
前記優先度判定部が、前記所定の優先度判定基準として、下記の（１）〜（３）、すなわち、
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする音声認識システム。
【０１３８】
（付記２）
入力された発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記特徴量と前記音響モデルを用いて前記認識語彙との一致度を算出する照合部と、
前記照合部が検出した単語が対応する区間を音声区間と判定する音声区間判定部と、
前記音声区間判定部により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定部と、
照合部の照合した結果、最もスコアの良かった認識単語系列を認識結果として出力する結果出力部とを備え、
前記優先度判定部が、前記所定の優先度判定基準として、下記の（１）〜（３）、すなわち、
（１）前記照合部により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合部により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理部によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とする音声認識システム。
【０１３９】
（付記３）
前記優先度判定部が、前記所定の優先度判定基準として、下記の（４）および（５）、すなわち、
（４）前記照合部により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合部により算出された一致度
から選ばれる少なくとも一つを合わせて用いる、付記２に記載の音声認識システム。
【０１４０】
（付記４）
入力された発話音声データから発話語彙系列を認識する音声認識部と、
前記音声認識部による前記発話音声データの認識結果を用いてユーザからの入力を行う音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
特定語彙の情報を予め格納した特定語彙辞書記憶部と、
前記特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定部と、
前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする音声処理システム。
【０１４１】
（付記５）
入力された発話音声データから発話語彙系列を認識する音声認識部と、
前記音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部とを備えた音声処理システムにおいて、
前記音声認識部が、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話部が、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出部と、
前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択部とを備えたことを特徴とする音声処理システム。
【０１４２】
（付記６）
入力された発話音声データを特徴量に変換する音響処理と、
前記発話音声データから所定の音声区間判定基準により、音声区間を判定する音声区間判定処理と、
前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、優先すべき音声区間を選択する優先度判定処理と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記優先度判定処理により選択された音声区間の前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、
前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、下記の（１）〜（３）、すなわち、
（１）音声区間長
（２）音声区間のパワーまたはＳＮ比
（３）音声区間の時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とするプログラム。
【０１４３】
（付記７）
入力された発話音声データを特徴量に変換する音響処理と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、認識語彙の情報を予め格納した語彙辞書記憶部とを参照し、前記特徴量と前記音響モデルとを用いて、前記認識語彙との一致度を算出する照合処理と、
前記照合処理により算出された一致度に基づき、前記発話音声データから音声区間を判定する音声区間判定処理と、
前記音声区間判定処理により判定された音声区間のうち、所定の優先度判定基準により、認識結果として優先的に用いるべき認識語彙が含まれる音声区間を選択する優先度判定処理と、
前記照合処理の結果、最もスコアの良かった単語系列を認識結果として出力する結果出力処理とをコンピュータに実行させるプログラムであって、
前記優先度判定処理において、前記所定の優先度判定基準として、下記の（１）〜（３）、すなわち、
（１）前記照合処理により、予め登録された特定語彙が検出された音声区間との時系列的な前後関係
（２）前記照合処理により、予め登録された長母音が検出された音声区間との時系列的な前後関係
（３）前記音響処理によって得られた特徴量の変化量が、所定範囲内で連続する音声区間との時系列的な前後関係
から選ばれる少なくとも一つを用いることを特徴とするプログラム。
【０１４４】
（付記８）
前記優先度判定処理が、前記所定の優先度判定基準として、下記の（４）および（５）、すなわち、
（４）前記照合処理により算出された一致度が所定の閾値よりも低い音声区間との時系列的な前後関係
（５）前記照合処理により算出された一致度
から選ばれる少なくとも一つを合わせて用いる、付記７に記載のプログラム。
【０１４５】
（付記９）
入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
特定語彙の情報を予め格納した特定語彙辞書記憶部を参照し、前記認識結果候補が特定語彙に該当するか否かを判定する特定語彙判定処理と、
前記位置情報に基づき、特定語彙に該当する認識結果候補との時系列的な前後関係を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする音声対話プログラム。
【０１４６】
（付記１０）
入力された発話音声データから発話語彙系列を認識する音声認識部による前記発話音声データの認識結果を用いて対話処理を行う音声対話部の機能をコンピュータに実現させるための音声対話プログラムであって、
前記音声認識部は、
前記発話音声データを特徴量に変換する音響処理部と、
音声がどのような特徴量になりやすいかをモデル化した音響モデルを予め格納した音響モデル記憶部と、
認識語彙の情報を予め格納した語彙辞書記憶部と、
前記発話音声データから所定の発話区間判定基準により、発話区間を判定する音声切り出し部と、
前記特徴量と前記音響モデルとを照合し、その照合結果と前記認識語彙との一致度を算出し、算出された一致度に基づいて認識結果候補を決定すると共に、当該認識結果候補の前記発話区間内における位置を示す位置情報を生成する照合部と、
前記照合部により決定された認識結果候補と前記位置情報とを前記音声対話部へ出力する結果出力部とを備え、
前記音声対話プログラムは、
前記位置情報に基づき、認識結果候補の発話速度を求める発話速度算出処理と、
前記発話速度を判定基準として、認識結果として採用すべき認識結果候補を選択する認識結果選択処理とをコンピュータに実行させることを特徴とする音声対話プログラム。
【０１４７】
（付記１１）
前記所定の優先度判定基準として前記（１）音声区間長が用いられ、優先度判定部が、音声区間長が長い順に上位の所定数の音声区間を選択する、付記１に記載の音声認識システム。
【０１４８】
（付記１２）
前記所定の優先度判定基準として前記（１）音声区間長が用いられ、優先度判定部が、音声区間長が所定の発声長に最も近い音声区間から順に所定数の音声区間を選択する、付記１に記載の音声認識システム。
【０１４９】
（付記１３）
前記所定の優先度判定基準として前記（１）音声区間長が用いられ、優先度判定部が、音声区間長の合計が所定時間を超えないことを条件として、音声区間長が最も長いものから順に所定数の音声区間を選択する、付記１に記載の音声認識システム。
【０１５０】
（付記１４）
前記所定の優先度判定基準として前記（２）音声区間のパワーまたはＳＮ比が用いられ、優先度判定部が、音声区間のパワーまたはＳＮ比が大きい順に所定数の音声区間を選択する、付記１に記載の音声認識システム。
【０１５１】
（付記１５）
前記所定の優先度判定基準として前記（３）音声区間の時系列的な前後関係が用いられ、優先度判定部が、前記発話音声データに含まれる複数の音声区間のうち時系列的に最後尾から所定数の音声区間を選択する、付記１に記載の音声認識システム。
【０１５２】
（付記１６）
前記所定の優先度判定基準として前記（３）音声区間の時系列的な前後関係が用いられ、前記照合部において用いられる文法がＭ（Ｍは自然数）階層構造である場合、優先度判定部が、入力音声に含まれる複数の音声区間のうち、時系列的に最後尾からＭ個の音声区間を選択する、付記１に記載の音声認識システム。
【０１５３】
（付記１７）
前記所定の優先度判定基準として、前記（１）音声区間長と（３）音声区間の時系列的な前後関係とが合わせて用いられ、優先度判定部が、入力音声に含まれる複数の音声区間のうち、時系列的に最後の音声区間から順に、選択した音声区間の音声区間長の合計値が所定範囲内を満たすように、時系列的に連続する複数の音声区間を選択する、付記１に記載の音声認識システム。
【産業上の利用可能性】
【０１５４】
本発明は、ユーザの音声から発話語彙系列を認識してシステムへの入力として受け付ける音声認識エンジンまたは音声処理システムとして利用可能である。
【図面の簡単な説明】
【０１５５】
【図１】本発明の第１の実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。
【図２】第１の実施形態にかかる音声認識エンジンの概略動作手順を示すフローチャートである。
【図３】第２の実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。
【図４】第２の実施形態にかかる音声認識エンジンの概略動作手順を示すフローチャートである。
【図５】第３の実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。
【図６】第３の実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。
【図７】第４の実施形態にかかる音声処理システムの概略構成を示すブロック図である。
【図８】第５の実施形態にかかる音声認識エンジンの概略構成を示すブロック図である。
【図９】第６の実施形態にかかる音声処理システムの概略構成を示すブロック図である。
【図１０】従来の音声処理システムの概略構成を示すブロック図である。
【符号の説明】
【０１５６】
１０  音声認識エンジン
１１  音響処理部
１２  音声区間判定部
１３  照合部
１４  文法記憶部
１５  音響モデル記憶部
１６  語彙辞書記憶部
１７  結果出力部
２０  音声認識エンジン
２３  照合部
２３１  単語展開部
２３２  単語スポッティング部
２８  優先度判定部
３０  音声認識エンジン
３１  特定語彙辞書記憶部
３３  照合部
３３１  単語展開部
３３２  単語スポッティング部
３８  優先度判定部
４０  音声認識エンジン
４３  照合部
４３１  単語展開部
４３２  単語スポッティング部
４３２  文法照合部
４８  優先度判定部
５０  音声処理システム
６０  音声認識部
６１  音声切り出し部
６２  設定部
７０  音声対話部
７１  音声ストリーム送出部
７２  指定部
７３  照合部
７３１  単語展開部
７３２  単語スポッティング部
７４  認識結果選択部
７５  音声認識駆動部
７６  対話管理部
７７  音声合成駆動部
７８  文法・辞書保管部
７９  特定語彙辞書記憶部
７１０  特定語彙判定部
８０  音声認識エンジン
８３  照合部
８３１  単語展開部
８３２  単語スポッティング部
８３３  長音検出部
８８  優先度判定部
９０  音声処理システム
９３  照合部
９３１  単語展開部
９３２  単語スポッティング部
１００  音声認識部
１１０  音声対話部
【図１】
2007057844.tif 000003
【図２】
2007057844.tif 000004
【図３】
2007057844.tif 000005
【図４】
2007057844.tif 000006
【図５】
2007057844.tif 000007
【図６】
2007057844.tif 000008
【図７】
2007057844.tif 000009
【図８】
2007057844.tif 000010
【図９】
2007057844.tif 000011
【図１０】
2007057844.tif 000012