(57)【特許請求の範囲】
【請求項１】
入力音声信号に対し分析をし当該特徴ベクトル時系列に変換をする分析手段と、該分析手段による特徴ベクトル時系列に対し、別途設けるスポッティング対象音声に先行／後続をする種々の発話内容音声の特徴ベクトル時系列に対し音素環境依存モデルによるモデル化をする先行／後続ヒューリスティック言語モデルを用い、時間軸上の順／逆方向に当該先行／後続ヒューリスティック言語モデルの最終／初期状態でヒューリスティック前／後向き尤度を算出するヒューリスティック言語モデル照合手段と、該ヒューリスティック言語モデル照合手段によるヒューリスティック前向き尤度と前記分析手段による特徴ベクトル時系列とに対し、別途設けるスポッティング対象音声の特徴ベクトル時系列に対し音素環境依存モデルによるモデル化をするスポッティング用ネットワークを用い、当該スポッティング用ネットワークの複数個の最終ノードごとに最尤前向き尤度とノード履歴情報とを算出するネットワーク照合手段と、該ネットワーク照合手段による最尤前向き尤度に対し、当該値が高い１個以上の前記スポッティング用ネットワークの最終ノード番号を選択するバックトラックノード選択手段と、該バックトラックノード選択手段による最終ノード番号と前記ヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度とネットワーク照合手段によるノード履歴情報とに対し、当該スポッティング用ネットワークのすべての最終ノードのうち前記最終ノード番号だけから初期ノードへと当該ノード履歴情報を辿るバックトラック処理を施して算出するスポッティング結果を出力するスポッティング結果出力手段とを備える音声スポッティング装置。
【請求項２】
バックトラックノード選択手段でネットワーク照合手段による最尤前向き尤度に代えてヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度に対し、当該値が高い１個以上の後続ヒューリスティック言語モデルの初期状態を接続するスポッティング用ネットワークの最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【請求項３】
バックトラックノード選択手段でネットワーク照合手段による最尤前向き尤度に加えてヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度とから各最終ノードごとに算出をする最尤両方向尤度に対し、当該値が高い１個以上のスポッティング用ネットワークの最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【請求項４】
バックトラックノード選択手段でネットワーク照合手段による最尤前向き尤度に対し、スポッティング用ネットワークの最終ノードに対し当該ノードへ遷移する母音のモデルで分類し構成をする母音別最終ノードクラスタごとの各クラスタ内で当該最尤前向き尤度の値が最も高いスポッティング用ネットワークの最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【請求項５】
バックトラックノード選択手段で請求項３記載の最尤両方向尤度に対し、請求項４記載の母音別最終ノードクラスタごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワークの最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【請求項６】
バックトラックノード選択手段で請求項３記載の最尤両方向尤度に対し、まず請求項４記載の母音別最終ノードクラスタごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワークの最終ノードを抽出し、つぎに当該抽出最終ノード内で当該最尤両方向尤度の値が高い１個以上の最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【請求項７】
バックトラックノード選択手段で請求項３記載の最尤両方向尤度に対し、まず請求項４記載の母音別最終ノードクラスタごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワークの最終ノードを抽出し、つぎに当該抽出最終ノード内で当該最尤両方向尤度の値と当該最大値との尤度差が所定閾値以上の最終ノード番号を選択することを特徴とする請求項１記載の音声スポッティング装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は連続発声をされた音声中からある特定の単語や文節（意味的なまとまりをもつ部分文）のスポッティング（当該発声開始／終了時刻と当該音声区間の存否信頼度とを求めること）をし出力する音声スポッティング装置に関する。
【０００２】
【従来の技術】
たとえば文献（河原ほか：ヒューリスティックな言語モデルを用いた会話音声中の単語スポッティング、信学論（Ｄ−ＩＩ）、Ｖｏｌ．Ｊ７８−Ｄ−ＩＩ、ｎｏ．７、ｐｐ．１０１３−１０２０、１９９５）に示す従来の音声スポッティング装置は図２（ａ）のように、分析手段１は、入力端からの入力音声信号１０１に対したとえばＬＰＣ（ｌｉｎｅａｒ  ｐｒｅｄｉｃｔｉｖｅ  ｃｏｄｉｎｇ）ケプストラム分析をし、当該特徴ベクトル時系列１０２Ｘ1 、Ｘ2 、Ｘ3 ・・・ＸT （添字は各特徴ベクトルＸの時刻を示す）に変換をする。ヒューリスティック言語モデル照合手段２は、分析手段１による特徴ベクトル時系列１０２に対し、別途格納をする先行と後続ヒューリスティック言語モデル格納手段６による先行と後続ヒューリスティック言語モデルを用い、たとえば文献（中川：確率モデルによる音声認識、電子情報通信学会、ｐｐ．４０−４６、１９８８）に示すトレリスアルゴリズムまたはビタビアルゴリズムで算出をする前向きと後向き確率値の対数化をすることにより、時間軸上で順方向に当該先行ヒューリスティック言語モデルの最終状態ＳFjの時刻ｔにおけるヒューリスティック前向き尤度１０３Ｓfw（ＳFj，ｔ）（ｔ＝１〜Ｔ、ｊ＝１〜ＮF 、ＮF は先行ヒューリスティック言語モデルの最終状態数）と逆方向に当該後続ヒューリスティック言語モデルの初期状態ＳIjの時刻ｔにおけるヒューリスティック後向き尤度１０４Ｓbw（ＳIj，ｔ）（ｔ＝１〜Ｔ、ｊ＝１〜ＮI 、ＮI は後続ヒューリスティック言語モデルの初期状態数）とを算出する。スポッティング手段９は、分析手段１による特徴ベクトル時系列１０２とヒューリスティック言語モデル照合手段２によるヒューリスティック前向きと後向き尤度１０３と１０４とに対し、別途格納をするスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークを用い、各時刻ｔ＝１〜Ｔごとに別途定義をする手順の処理を繰り返しスポッティング結果１０８を求め出力する。
【０００３】
上記従来の音声スポッティング装置は、入力音声は無秩序な発話内容ではなくある言語的な制約を満たしていると仮定し、当該言語的な制約をヒューリスティック言語モデルと称する音声パタンモデルで表現し、ヒューリスティック言語モデルとスポッティング用ネットワークとを併用し入力音声全体を考慮するスポッティングスコア（スポッティング対象単語音声のスペクトル特徴時系列をモデル化した音声パタンモデルと入力音声のスペクトル特徴時系列１０２との類似度を算出し、スポッティング音声区間に実際に当該単語が存在するかどうかの信頼度を数値化して表現したもの）算出をする方式（音素環境依存モデルを用いるヒューリスティック音声スポッティング方式）を採る。
【０００４】
精度の高いスポッティングはたとえば図２（ｂ）のように、スポッティング用ネットワークの前方と後方に先行と後続ヒューリスティック言語モデルを接続し、入力音声中のスポッティング対象およびそれ以外の音声区間はそれぞれ当該スポッティング用ネットワークおよび先行と後続ヒューリスティック言語モデルでモデル化をし入力音声全体に対する尤度を算出し、異なる時刻の検出単語同士でスポッティングスコア比較をすることにより可能となる。ただし当該先行と後続ヒューリスティック言語モデルは、なるべく多く入力音声に含むことが想定される単語や文節などのモデル化をし構成することが必要になる。
【０００５】
先行ヒューリスティック言語モデルと後続ヒューリスティック言語モデルとスポッティング用ネットワークは、通常ＨＭＭ（ｈｉｄｄｅｎ  ｍａｒｋｏｖ  ｍｏｄｅｌ：隠れマルコフモデル）を用いて構成する。ＨＭＭはモデル化する音声単位の違いによって幾つかの種類に分類できるが、音素環境依存モデルといわれるＨＭＭが認識性能が高いことが知られており最もよく用いられている。音素環境依存モデルは、同じ音素のモデル化をするときでも前後の音素環境の違いで別モデルとして扱う。たとえば後続（右）音素環境を考慮したモデルの右音素環境依存モデルのとき、／ｉａ／と／ｉｕ／では第１音素はともに／ｉ／で後続音素は異なる／ａ／と／ｕ／だから、第１音素の／ｉ／を別モデルとする。後続音素の違いで別モデルを使う必要があるからヒューリスティック言語モデルとスポッティング用ネットワークに複数状態同士の接続となる右音素環境依存モデルを用いたときの先行と後続ヒューリスティック言語モデルの各構成例は図３（語尾セグメントを示し語頭部分を省略）と図４（語頭セグメントを示し語尾部分を省略）のように、１個以上の右音素環境依存モデルを接続し単語や文節等部分区間のモデル化をし、各音素環境依存モデルと同じに初期状態と最終状態をもつセグメントに対し四角で、また先行ヒューリスティック言語モデルの複数最終状態と先行スポッティング対象モデルの語尾音素の違いで分かれる後続ヒューリスティック言語モデルの初期状態とに対し丸でそれぞれ表す。たとえば当該セグメントがａ（ｉ）という長方形中文字表現は、／ｉ／という括弧内の音素を右音素環境として／ａ／という音声をモデル化していることを示す。
上記のように先行と後続ヒューリスティック言語モデルは、なるべく多く入力音声に含むことが想定される単語や文節などのモデル化をし構成することが必要だから、複数個のセグメントが必要になる。また右音素環境依存モデルを用いたときのスポッティング用ネットワークの構成例は図５（点線の左側と右側とにスポッティング用ネットワークと後続ヒューリスティック言語の初期状態への接続状況とを示す）のように、複数個のスポッティング対象音声単位（たとえば「おととい」、「あさって」、「おおさかに」、「おおさかまで」、「とーきょーに」、「とーきょーまで」という６個の文節）を１個のネットワークでモデル化をし、種々の遷移履歴情報を保持する番号付与ノードと上記に同じ番号付与セグメントとをもつスポッティング用ネットワークに対しノードとセグメントとを示す横長の楕円と長方形とでそれぞれ表す。たとえば当該セグメントがｏｏｓａｋ（ａ）という長方形中文字表現は、／ａ／という括弧内の音素を右音素環境として／ｏｏｓａｋ／という音声をモデル化していることを示す。後続セグメントの語頭音素の違いで最後の音素／ａ／を別々の右音素環境依存モデルでモデル化をする必要があるから、当該セグメントでモデル化をしない。またスポッティング用ネットワークは、先行ヒューリスティック言語モデルの最終状態と後続ヒューリスティック言語モデルの初期状態とに接続する複数個の初期ノード（図５のＮI1〜ＮI3）と最終ノード（図５のＮF1〜ＮF10 ）とをもつ。複数個になるのは、先行と後続ヒューリスティック言語モデルの語頭音素が異なるごとに、スポッティング対象モデルの語尾音素モデルを別モデルとして音声環境が整合する当該先行と後続ヒューリスティック言語モデルを接続するからである。たとえば図５に示すように「に」の語尾／ｉ／が後続ヒューリスティック言語モデルの語頭音素の違いで／ｉ（ａ）／、／ｉ（ｉ）／、／ｉ（ｕ）／、／ｉ（ｅ）／、／ｉ（ｏ）／、・・・というモデルに分かれる。またすべてのノードは各時刻（ｔ＝１〜Ｔ）ごとに、初期ノードＮIjでは前向き尤度ｇａ(1) （ＮIj，ｔ）だけ、初期ノード以外では時刻ｔにおけるノードＮj のｋ（ｋ＝１〜Ｋj 、Ｋj はノードＮj に遷移するセグメント個数）番目前向き尤度ｇａ(k) （Ｎj ，ｔ）と、時刻ｔにノードＮj に遷移するｋ番目セグメントのセグメント番号ｇｗ(k) （Ｎj ，ｔ）および開始時刻ｇｂ(k) （Ｎj ，ｔ）とをそれぞれ履歴情報として保持する。一方すべてのセグメントは各時刻（ｔ＝１〜Ｔ）ごとに、状態Ｓj （ｊ＝１〜Ｊm 、Ｊm はセグメントｍの状態数）の前向き尤度α(m) （Ｓj ，ｔ）と、セグメントｈm の開始時刻ｂｔｋ(m) （Ｓj ，ｔ）とを情報として保持する。
【０００６】
スポッティング手段９は、各時刻ｔ＝１〜Ｔごとに、以下の手順１から６の処理を繰り返すことによってスポッティング結果１０８を求めて出力する。
（手順１）初期ノードの履歴情報のセット
ヒューリスティック言語モデル照合手段２の出力であるヒューリスティック前向き尤度１０３の値を、スポッティング用ネットワークの初期ノードにコピーすることで履歴情報をセットする。具体的には（１）式によってスポッティング用ネットワークの全ての初期ノードＮIj（ｊ＝１〜ＧI，ＧI：初期ノード数）の履歴情報である前向き尤度ｇａ(1) （ＮIj，ｔ）を求める。
ｇａ(1) （ＮIj，ｔ）＝Ｓfw（ＳFk，ｔ），ｊ＝１〜ＧI       （１）
ここで、Ｓfw（ＳFk，ｔ）は先行ヒューリスティック言語モデルの最終状態ＳFkのヒューリスティック前向き尤度１０３である。ＳFkは先行ヒューリスティック言語モデルの最終状態のうちでスポッティング用ネットワークの初期ノードＮIjに接続する状態である。図３と図５の接続ではたとえばＮI1にはＳF5、ＮI2にはＳF6がそれぞれ接続する。
（手順２）ノードからセグメントの初期状態への履歴情報の伝搬
スポッティング用ネットワークの全てのセグメントｈm （ｍ＝１〜Ｐ，Ｐ：スポッティング用ネットワークの総セグメント数）に対して以下の（２）、（３）式によってセグメントｈm の初期状態Ｓ1 、時刻ｔにおける前向き尤度であるα(m) （Ｓ1，ｔ）を求める。また（４）式によってセグメントｈmの開始時刻を求める。
0003873418.tif 000002
ここで、Ｎm はセグメントｈm へ遷移するスポッティング用ネットワークのノード、ａ11はセグメントｈm の初期状態Ｓ1 の自己ループ確率、ｂ11（Ｘt ）は初期状態Ｓ1 での自己ループの際に特徴ベクトルＸt を出力する確率である。時刻ｔ＝１では全ノードのうち初期ノードのみが前向き尤度の値を持っている。したがって初期ノードから遷移するセグメントのみが前向き尤度と開始時刻の値をセットされることになるが、時刻ｔが進むにしたがって以下に述べる手順（３）と（４）の処理によって全てのノードの前向き尤度がセットされるので、本手順（２）によって全てのセグメントの初期状態の前向き尤度と開始時刻の値がセットされることになる。
（手順３）セグメントの初期状態以外の尤度計算
スポッティング用ネットワークの全てのセグメントｈm （ｍ＝１〜Ｐ，Ｐ：スポッティング用ネットワーク中の総セグメント数）に対して（５）式によってセグメントｈmの初期状態以外の状態Ｓi（ｉ＝２〜Ｊm，Ｊm：セグメントｍの状態数）の時刻ｔにおける前向き尤度であるα(m)（Ｓi，ｔ）を求める。また（６）、（７）式によってセグメントｈmの開始時刻の情報を求める。
0003873418.tif 000003
ここで、ａjiはセグメントｈmの状態Ｓjから状態Ｓiへの遷移確率、ｂji（Ｘt）は状態Ｓj から状態Ｓi への遷移の際に特徴ベクトルＸt を出力する確率である。
（手順４）初期ノード以外の履歴情報のセット
スポッティング用ネットワークの全ての初期ノード以外のノードＮj （ｊ＝１〜Ｇm，Ｇm：初期以外のノード数）の履歴情報は、そのノードに遷移するセグメントの前向き尤度やそのセグメントの開始時刻などを（８）、（９）、（１０）式によってコピーすることでセットする。
0003873418.tif 000004
ここで、ＫjはノードＮjへ遷移するセグメントの数、ｇａ(k)（Ｎj，ｔ）は時刻ｔにおけるノードＮjのｋ番目の前向き尤度、α(k)（ＳJ，ｔ）はノードＮjへ遷移するｋ番目のセグメントの最終状態ＳJの時刻ｔにおける前向き尤度、ｇｗ(k)（Ｎj，ｔ）は時刻ｔにノードＮjに遷移したｋ番目のセグメントのセグメント番号、ｗ(k)はノードＮjを遷移先とするｋ番目のセグメントのセグメント番号である。またｇｂ(k) （Ｎj，ｔ）は時刻ｔにノードＮjへ遷移するｋ番目のセグメントの開始時刻、ｂｔｋ(k) （ＳJ，ｔ）は時刻ｔに最終状態ＳJに到達したｋ番目のセグメントの開始時刻である。（８）、（９）、（１０）式からわかるとおり、スポッティング用ネットワークの各ノードにはそのノードに遷移する全てのセグメントの前向き尤度とセグメント番号とそのセグメントの開始時刻を履歴情報として保持することになる。
（手順５）最終ノードからのバックトラック
スポッティング用ネットワークの全ての最終ノードＮFj（ｊ＝１〜ＧF，ＧF：最終ノード数、図５ではＮF1〜ＮF10 ）からバックトラック処理を行なう。バックトラックとは上記手順４で求めたノード履歴情報を用いてスポッティング用ネットワークの最終ノードから初期ノードへと遷移の履歴を辿ることである。バックトラック処理はｇｗ(k)（Ｎj，ｔ）とｇｂ(k)（Ｎj，ｔ）によって当該ノードに遷移したセグメント番号とそのセグメントの開始時刻を得、そのセグメントの遷移元のノードから、さらに同様の手続きによって遷移元のノードを辿ることを初期ノードに到達するまで繰り返すことによって実現できる。本例ではバックトラック処理は文献（Ｒｉｃｈａｒｄ  Ｓｃｈｗａｒｔｚ  ａｎｄ  Ｓｔｅｖｅ  Ａｕｓｔｉｎ，“Ａ  ｃｏｍｐａｒｉｓｏｎ  ｏｆ  ｓｅｖｅｒａｌ  ａｐｐｒｏｘｉｍａｔｅ  ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  ｆｉｎｄｉｎｇ  ｍｕｌｔｉｐｌｅ（Ｎ−ｂｅｓｔ）ｓｅｎｔｅｎｃｅ  ｈｙｏｉｔｈｅｓｅｓ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  １９９１  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｃｏｕｓｔｉｃｓ，Ｓｐｅｅｃｈ  ＆  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，７０１−７０４頁）に示されているｌａｔｔｉｃｅ  Ｎ−Ｂｅｓｔの方式を用いる。このｌａｔｔｉｃｅ  Ｎ−Ｂｅｓｔの方式を用いることにより、最終ノードＮFjごとに複数個のバックトラック結果を得ることができる。バックトラック結果とはセグメントの系列と、そのセグメントの系列の開始時刻と、そのセグメントの系列に対する前向き尤度である。前記セグメントの系列に対する前向き尤度は、上述の手順４で説明したノードの前向き尤度であるｇａ(k)（Ｎj，ｔ）を用いて計算できる。本例では時刻ｔにおける最終ノードＮFjからのｋ番目のバックトラック結果であるセグメントの系列をｓｅｑ(k) （ＮFj，ｔ）、セグメントの系列の開始時刻をｓｔｉｍｅ(k) （ＮFj，ｔ）、前向き尤度をＳＣ(k)fw （ＮFj，ｔ）と表すことにする。この前向き尤度ＳＣ(k)fw （ＮFj，ｔ）は先行ヒューリスティック言語モデル５にセグメント系列であるｓｅｑ(K) （ＮFj，ｔ）を接続して構成した音声パタンモデルを用いて、特徴ベクトルの時系列１０２に対する時刻１からｔまでの前向き尤度を計算した値を近似したものになっている。
（手順６）スポッティング結果の決定
手順５で求めたバックトラック結果の全て、すなわちスポッティング用ネットワーク中の全ての最終ノードＮFj（図５ではＮF1〜ＮF10 ）からの全てのバックトラック結果に対して（１１）式によりスポッティングスコアを求める。
ＳＣ(k) （ＮFj，ｔ）＝ＳＣ(k)fw （ＮFj，ｔ）＋Ｓbw（ＳNFj ，ｔ），ｊ＝１〜ＧF ，ｋ＝１〜ＫFj                                      （１１）
ここで、ＮFjはスポッティング用ネットワークの最終ノード、ＳＣ(k) （ＮFj，ｔ）はノードＮFjのｋ番目のスポッティングスコア、ＳＣ(k)fw （ＮFj，ｔ）は手順５で求めたノードＮFjのｋ番目の前向き尤度、Ｓbw（ＳNFj ，ｔ）は後続ヒューリスティック言語モデルの初期状態ＳNFj の時刻ｔにおける後向き尤度、ＳNFj は後続ヒューリスティック言語モデルの初期状態のうちでスポッティング用ネットワーク１０の最終ノードＮFjに接続する状態である。図５ではたとえば、ＮF1にはＳI1、ＮF2にはＳI2がそれぞれ接続する。（１１）式の右辺の第１項と第２項の和は、スポッティング用ネットワークの後方に後続ヒューリスティック言語モデルを接続して、特徴ベクトルの時系列４に対する時刻１からＴまで、すなわち特徴ベクトルの時系列１０２の全区間に対するスコアを求めることを意味している。スポッティング手段９は、（１１）式で求めた全てのスポッティングスコアの中から、その値の大きい上位Ｚ個を選択し、そのスポッティングスコアとセグメントの系列とその開始時刻をスポッティング結果１０８として出力する。ここでＺはあらかじめ決めておいた定数である。図の例では６個の文節がスポッティング対象モデルとなっているが、Ｚ＝３とすれば、スポッティングスコアの高い上位３個の文節に対するスポッティング結果が得られる。
【０００７】
【発明が解決しようとする課題】
上記のような従来の音声スポッティング装置では、音素環境依存モデルを用いるヒューリスティック音声スポッティング方式を採るから、スポッティングスコアを算出するには、各時刻ごとにスポッティング用ネットワークの全最終ノードからバックトラックをし前向き尤度を求める必要があり、スポッティング対象音声単位数が多くなるほどスポッティング用ネットワーク規模も大きくなりかつ最終ノード数も多くなるから、バックトラック回数が膨大になり所要演算量が非常に大きくなる問題点があった。
【０００８】
この発明が解決しようとする課題は、音声スポッティング装置で上記問題点を解消するように、バックトラック処理を施すスポッティング用ネットワークの最終ノードを各時刻ごとに選択しスポッティングスコア算出をする方式（音素環境依存モデルを用いる最終ノード選択ヒューリスティック音声スポッティング方式）を提供することにある。
【０００９】
【課題を解決するための手段】
この発明の音声スポッティング装置は、上記課題を解決するためつぎの手段を設け、音素環境依存モデルを用いる最終ノード選択ヒューリスティック音声スポッティング方式を採ることを特徴とする。
【００１０】
分析手段は、入力音声信号に対し分析をし当該特徴ベクトル時系列に変換をする。
【００１１】
ヒューリスティック言語モデル照合手段は、分析手段による特徴ベクトル時系列に対し、別途設けるスポッティング対象音声に先行／後続をする種々の発声内容音声の特徴ベクトル時系列に対し音素環境依存モデルによるモデル化をする先行／後続ヒューリスティック言語モデルを用い、時間軸上の順／逆方向に当該先行／後続ヒューリスティック言語モデルの最終／初期状態でヒューリスティック前／後向き尤度を算出する。
【００１２】
ネットワーク照合手段は、ヒューリスティック言語モデル照合手段によるヒューリスティック前向き尤度と分析手段による特徴ベクトル時系列とに対し、別途設けるスポッティング対象音声の特徴ベクトル時系列に対し音素環境依存モデルによるモデル化をするスポッティング用ネットワークを用い、当該スポッティング用ネットワークの複数個の最終ノードごとに最尤前向き尤度とノード履歴情報とを算出する。
【００１３】
バックトラックノード選択手段は、ネットワーク照合手段による最尤前向き尤度に対し、当該値が高い１個以上の、またはスポッティング用ネットワークの最終ノードに対し当該ノードへ遷移する母音のモデルで分類し構成をする母音別最終ノードクラスタごとの各クラスタ内で当該最尤前向き尤度の値が最も高いスポッティング用ネットワークの最終ノード番号を選択する。またはネットワーク照合手段による最尤前向き尤度に代えてヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度に対し、当該値が高い１個以上の後続ヒューリスティック言語モデルの初期状態と接続するスポッティング用ネットワークの最終ノード番号を選択する。またはネットワーク照合手段による最尤前向き尤度に加えてヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度とから各最終ノードごとに算出をする最尤両方向尤度に対し、当該値が高い１個以上のスポッティング用ネットワークの最終ノード番号を選択する。または上記最尤両方向尤度に対し、上記母音別最終ノードクラスタごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワークの最終ノード番号を選択する。または上記最尤両方向尤度に対し、まず上記母音別最終ノードクラスタごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワークの最終ノードを抽出し、つぎに当該抽出最終ノード内で当該最尤両方向尤度の値が高い１個以上の、もしくは当該最尤両方向尤度の値と当該最大値との尤度差が所定閾値以下の、最終ノード番号を選択する。
【００１４】
スポッティング結果出力手段は、バックトラックノード選択手段による最終ノード番号とヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度とネットワーク照合手段によるノード履歴情報とに対し、スポッティング用ネットワークのすべての最終ノードのうち当該最終ノード番号だけから初期ノードへと当該ノード履歴情報を辿るバックトラック処理を施して算出するスポッティング結果を出力する。
【００１５】
【発明の実施の形態】
この発明の実施の一形態を示す音声スポッティング装置は図１のように、分析手段１とヒューリスティック言語モデル照合手段２と先行／後続ヒューリスティック言語モデル格納手段６／７とスポッティング用ネットワーク格納手段８は、上記従来例の図２に対応する。ネットワーク照合手段３は、分析手段１による特徴ベクトル時系列１０２とヒューリスティック言語モデル照合手段２によるヒューリスティック前向き尤度１０３とに対し、スポッティング用ネットワーク格納手段８によるスポッティング用ネットワークを用い、各時刻ｔ＝１〜Ｔごとに別途定義をする手順の処理をしスポッティング用ネットワークの複数個の最終ノードごとに最尤前向き尤度１０５とノード履歴情報１０６を算出する。バックトラックノード最終手段４は、ネットワーク照合手段３による最尤前向き尤度１０５に対し、当該値が高い上位Ｌ（１≦Ｌ＜最終ノード数ＧF を満たす予め決める定数）個のスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノード番号１０７を選択する。スポッティング結果出力手段５は、バックトラックノード選択手段４による最終ノード番号１０７とヒューリスティック言語モデル照合手段２によるヒューリスティック後向き尤度１０４とネットワーク照合手段３によるノード履歴情報１０６とに対し、スポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの全最終ノードのうち当該最終ノード番号１０７だけから初期ノードへと当該ノード履歴情報１０６を辿るバックトラック処理を施し算出をするスポッティング結果１０８を出力する。最尤前向き尤度１０５の値が高い方を選択し低い最終ノードに対しバックトラック処理をしないことにより、当該所要演算量を小さく抑えられる。
【００１６】
上記実施の形態の音声スポッティング装置は、バックトラック処理を施すスポッティング用ネットワークの最終ノードを各時刻ごとに選択しスポッティングスコア算出をする方式（音素環境依存モデルを用いる最終ノード選択ヒューリスティック音声スポッティング方式）を採る。
【００１７】
ネットワーク照合手段３は、特徴ベクトルの時系列１０２とヒューリスティック前向き尤度１０３を入力とし、スポッティング用ネットワークを用いて、以下に示す手順１〜５の動作を行なうことによって、各時刻ｔ＝１〜Ｔ毎にスポッティング用ネットワークの最終ノードごとに最尤度前向き尤度１０５とノード履歴情報１０６を計算し、出力する。ネットワーク照合手段３で求めるノード履歴情報１０６は従来技術で求めた履歴情報と同じものであるが、最尤前向き尤度１０５は本発明で新たに用いるものである。
（手順１）初期ノードの履歴情報のセット
従来技術のスポッティング手段の動作で説明した手順１と同じ動作をしてスポッティング用ネットワークの初期ノードＮIjの履歴情報である前向き尤度ｇａ(1) （ＮIj，ｔ）を求める。
（手順２）ノードからセグメントの初期状態への履歴情報の伝搬
従来技術のスポッティング手段の動作で説明した手順２と同じ動作をして、スポッティング用ネットワークの全てのセグメントｈm （ｍ＝１〜Ｐ，Ｐ：スポッティング用ネットワークの総セグメント数）に対してセグメントｈm の初期状態Ｓ1 、時刻ｔにおける前向き尤度であるα(m) （Ｓ1 ，ｔ）と開始時刻であるｂｔｋ(m) （Ｓ1 ，ｔ）を求める。
（手順３）セグメントの初期状態以外の尤度計算
従来技術のスポッティング手段の動作で説明した手順３と同じ動作をして、スポッティング用ネットワークの全てのセグメントｈm （ｍ＝１〜Ｐ，Ｐ：スポッティング用ネットワーク１０の総セグメント数）に対して初期状態以外の状態Ｓi （ｉ＝２〜Ｊm ，Ｊm ：セグメントｍの状態数）の時刻ｔにおける前向き尤度であるα(m) （Ｓ1 ，ｔ）と開始時刻であるｂｔｋ(m)（Ｓ1 ，ｔ）を求める。（手順４）初期ノード以外の履歴情報のセット
従来技術のスポッティング手段の動作で説明した手順４と同じ動作をして、スポッティング用ネットワークの全ての初期ノード以外のノードＮj （ｊ＝１〜Ｇm ，Ｇm ：初期以外のノード数）の履歴情報であるｇａ(k) （Ｎj ，ｔ）とｇｗ(k) （Ｎj ，ｔ）とｇｂ(k) （Ｎj ，ｔ），（ｊ＝１〜Ｇm ，ｋ＝１〜Ｋj ）を求める。
（手順５）最終ノードの最尤前向き尤度セット
スポッティング用ネットワークの全ての最終ノードＮFj（ｊ＝１〜ＧF ，ＧF ：最終ノード数、図５ではＮF1〜ＮF10 ）の最尤前向き尤度１０５であるＳＣ(max)fw （ＮFj，ｔ）を（１２）式により求める。
ＳＣ(max)fw （ＮFj，ｔ）＝ｇ(max) （ＮFj，ｔ），ｊ＝１〜ＧF （１２）
（１２）式からわかるとおり最尤前向き尤度１０５であるＳＣ(max)fw （ＮFj，ｔ）は最終ノードＮFjが保持している複数個の前向き尤度のうち最大値の尤度であり、その値はバックトラックすることなしに得ることができる。また最終ノードＮFjの最尤前向き尤度１０５であるＳＣ(max)fw （ＮFj，ｔ）は、従来技術でスポッティング手段の動作の手順５で述べたバックトラック処理によって求める前向き尤度ＳＣ(k)fw （ＮFj，ｔ）とは（１３）式の関係にあることは、最尤前向き尤度であるＳＣ(max)fw （ＮFj，ｔ）と前向き尤度であるＳＣ(k)fw （ＮFj，ｔ）の定義により明らかなことであり、最尤前向き尤度１０５であるＳＣ(max)fw （ＮFj，ｔ）の値が低ければ前向き尤度ＳＣ(k)fw （ＮFj，ｔ）の値も低いことになる。
ＳＣ(max)fw （ＮFj，ｔ）≧ＳＣ(k)fw （ＮFj，ｔ），ｊ＝１〜ＧF （１３）
バックトラックノード選択手段４は、ネットワーク照合手段３の出力である各最終ノードごとの最尤前向き尤度１０５であるＳＣ(max)fw （ＮFj，ｔ）（ｊ＝１〜ＧF，ＧF：最終ノード数）を入力として、最尤前向き尤度１０５の値が高い上位Ｌ個の最終ノードの最終ノード番号１０７を出力する。この上位Ｌ個のノード番号１０７をＦq(n)（ｎ＝１〜Ｌ）と記すことにする。ここで前記Ｌは１≦Ｌ＜ＧFの関係を満たすあらかじめ決められた定数である。
【００１８】
スポッティング結果出力手段５は、ヒューリスティック言語モデル照合手段２の出力であるヒューリスティック後向き尤度１０４とネットワーク照合手段の出力であるノード履歴情報１０６とバックトラックノード選択手段４の出力である最終ノード番号１０７を入力として、各時刻ｔ＝１〜Ｔ毎に以下に示す手順１、２の動作を繰り返すことによってスポッティング結果１０８を出力する。
（手順１）選択されたノードに対するバックトラック処理
ネットワーク照合手段３の出力であるノード履歴情報１０６を用い、全最終ノードのうちバックトラックノード選択手段から出力された最終ノード番号１０７であるＦq(n)（ｎ＝１〜Ｌ）のみからバックトラック処理を行なう。バックトラック処理は従来技術と同じ方法で行ない、最終ノードＮFq(n) からのｋ番目のバックトラック結果であるセグメントの系列ｓｅｑ(k) （ＮFq(n) ，ｔ）とセグメントの系列の開始時刻ｓｔｉｍｅ(k) （ＮFq(n) ，ｔ）と、前向き尤度をＳＣ(k)fw （ＮFq(n) ，ｔ）を求める。
（手順２）スポッティング結果の決定
手順１で求めたバックトラック結果に対して（１４）式によりスポッティングスコアを求める。
ＳＣ(k) （ＮFg(n)，ｔ）＝ＳＣ(k)fw （ＮFq(n)，ｔ）＋Ｓbw（ＳNFq(n)，ｔ）ｎ＝１〜Ｌ                                            （１４）
ここで、ＮFq(n) はバックトラックノード選択手段で選択されたｎ番目の最終ノード、ＳＣ(k) （ＮFq(n) ，ｔ）はノードＮFq(n) のｋ番目のスポッティングスコア、ＳＣ(k)fw （ＮFq(n) ，ｔ）が手順１で求めたノードＮFq(n) のｋ番目の前向き尤度、Ｓbw（ＳNFq(n)，ｔ）が後続ヒューリスティック言語モデルの状態ＳNFq(n)の時刻ｔにおける後向き尤度、ＳNFq(n)は後続ヒューリスティック言語モデルの初期状態のうちでスポッティング用ネットワークの最終ノードＮFq(n) に接続する状態である。スポッティング結果出力手段５は（１４）式で求めた全てのスポッティングスコアの中から、その値の大きい上位Ｚ個を選択し、そのスポッティングスコアとセグメントの系列とその開始時刻をスポッティング結果１２として出力する。ここでＺはあらかじめ決めておいた定数である。上記のようにバックトラックノード選択手段４によって最尤前向き尤度１０５の値が高い最終ノードを選択し、最尤前向き尤度１０５の値が低い最終ノードに対してはバックトラック処理をしないことによってバックトラックに要する演算量を小さく抑えられる。最尤前向き尤度１０５の値が低い最終ノードからのバックトラックが不要となる理由は最尤前向き尤度１０５が低ければ（１３）式で示した関係により（１４）式の右辺の第１項であるノードの前向き尤度の値も低いので、（１４）式で計算されるスポッティングスコアも低い値となり、最終的にスポッティング結果として出力される、スポッティングスコアの高い上位Ｚ個に含まれる可能性は小さいからである。
【００１９】
なお上記図１に示す発明の実施の形態でバックトラックノード選択手段４に代えて後向き／両方向／母音別／両方向母音別／母音別二段階／母音別閾値バックトラックノード選択手段４ａ／４ｂ／４ｃ／４ｄ／４ｅ／４ｆとして構成してもよい。
後向きバックトラックノード選択手段４ａは、ネットワーク照合手段３による最尤前向き尤度１０５に代えてヒューリスティック言語モデル照合手段によるヒューリスティック後向き尤度１０４に対し、当該値が高い上位Ｌ個の後続ヒューリスティック言語モデルの初期状態と接続するスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノード番号１０７を選択する。たとえば図４で選択をする後続ヒューリスティック言語モデルの初期状態ＳI1およびＳI2と接続するスポッティング用ネットワークの最終ノードはそれぞれ図５でＮF1とＮF6およびＮF5とＮF10 だから、当該各最終ノード番号Ｆ1 とＦ6 とＦ5 とＦ10を出力する。ヒューリスティック後向き尤度１０４の値が高い方を選択し低い最終ノードに対しバックトラック処理をしないことにより、当該所要演算量を小さく抑えられる。
両方向バックトラックノード選択手段４ｂは、ネットワーク照合手段３による最尤前向き尤度１０５に加えてヒューリスティック言語モデル照合手段２によるヒューリスティック後向き尤度１０４とから、各最終ノードごとに算出をする最尤両方向尤度ＳＣfw(max) （ＮFj，ｔ）＝ＳＣfw(max) （ＮFj，ｔ）＋Ｓbw（ＳＮFj，ｔ）（ただしｊ＝１〜ＧF 、ＧF は最終ノード数）に対し、当該値が高い上位Ｌ個のスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノード番号１０７を選択する。最尤両方向尤度の値が高い方を選択し低い最終ノードに対しバックトラック処理をしないことにより、当該所要演算量を小さく抑えられる。
母音別バックトラックノード選択手段４ｃは、ネットワーク照合手段３による最尤前向き尤度１０５に対し、別途設定をする母音別最終ノードクラスタごとの各クラスタ内で当該最尤前向き尤度１０５の値が最も高いスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノード番号１０７を選択する。母音別最終ノードクラスタは、各遷移元セグメントがモデル化をする母音の同じ（ただし右音素環境は異なる）スポッティング用ネットワークの各最終ノード同士をまとめ１つのクラスタとして設定をする。たとえば図５で遷移元セグメントがモデル化をする母音／ｅ／の同じ各最終ノードＮF6〜ＮF10 同士をまとめ１つのクラスタとする。遷移元セグメントがモデル化をする母音の同じ最終ノード同士では、最尤前向き尤度１０５の値が最も高い最終ノードだけを選択することにより、後続（右側）音素環境だけが異なりセグメントがモデル化をする音声の同じスポッティング結果同士（たとえば／ｏｔｏｔｏｉ（ａ）／と／ｏｔｏｔｏｉ（ｉ）／）では、スポッティングスコアが最高となる可能性が高い最終ノードだけからバックトラック処理をすることになり、当該所要演算量を小さく抑えかつ効率的にスポッティング結果を出力できる。
両方向母音別バックトラックノード選択手段４ｄは、ネットワーク照合手段３による最尤前向き尤度１０５に加えてヒューリスティック言語モデル照合手段２によるヒューリスティック後向き尤度１０４とから各最終ノードごとに算出をする最尤両方向尤度（両方向バックトラックノード選択手段４ｂに同じ）に対し、母音別最終ノードクラスタ（母音別バックトラックノード選択手段４ｃに同じ）ごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノード番号１０７を選択する。上記母音別バックトラックノード選択手段４ｃで最尤前向き尤度１０５に代えて最尤両方向尤度とし同じ効果を得る。
母音別二段階バックトラックノード選択手段４ｅは、ネットワーク照合手段３による最尤前向き尤度１０５に加えてヒューリスティック言語モデル照合手段２によるヒューリスティック後向き尤度１０４とから各最終ノードごとに算出をする最尤両方向尤度（両方向バックトラックノード選択手段４ｂに同じ）に対し、まず母音別最終ノードクラスタ（母音別バックトラックノード選択手段４ｃに同じ）ごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノードＮFg(n) （ｎ＝１〜Ｃ、Ｃは最終ノードクラスタ数）を抽出する。つぎに当該抽出最終ノード内で当該最尤両方向尤度の値が高い上位Ｄ（１≦Ｄ＜Ｃを満たす予め決める定数）個の最終ノード番号１０７を選択する。母音別最終ノードクラスタごとに抽出をする最尤両方向尤度の値が最も高い最終ノード内で当該最尤両方向尤度の値が高い上位１個以上の最終ノードを選択することにより、両方向母音別バックトラックノード選択手段４ｄよりもさらにバックトラック処理の所要演算量を小さく抑えられる。
母音別閾値バックトラックノード選択手段４ｆは、ネットワーク照合手段３による最尤前向き尤度１０５に加えてヒューリスティック言語モデル照合手段２によるヒューリスティック後向き尤度１０４とから各最終ノードごとに算出をする最尤両方向尤度（両方向バックトラックノード選択手段４ｂに同じ）に対し、まず母音別最終ノードクラスタ（母音別バックトラックノード選択手段４ｃに同じ）ごとの各クラスタ内で当該最尤両方向尤度の値が最も高いスポッティング用ネットワーク格納手段８によるスポッティング用ネットワークの最終ノードＮFg(n) （ｎ＝１〜Ｃ、Ｃは最終ノードクラスタ数）を抽出する。つぎに当該抽出最終ノード内で当該最尤両方向尤度の値と当該最大値との尤度差が所定閾値ＴＨ（≧０）以下の最終ノード番号１０７Ｆu(n)（ｎ＝１〜ＥTH、ＥTHは１≦ＥTH≦Ｃを満たす閾値ＴＨにより決まる数）を選択する。母音別最終ノードクラスタごとに抽出をする最尤両方向尤度の値が最も高い最終ノード内で当該最尤両方向尤度の値が所定閾値以上の最終ノードを選択することにより、両方向母音別バックトラックノード選択手段４ｄよりもさらにバックトラック処理の所要演算量を小さく抑えられる。
【００２０】
【発明の効果】
上記のようなこの発明の音声スポッティング装置では、バックトラック処理を施すスポッティング用ネットワークの最終ノードを各時刻ごとに選択しスポッティングスコア算出をする方式を採るから、各時刻ごとにすべての最終ノードからバックトラック処理をする必要がなくなり、当該所要演算量は小さく抑えられる効果がある。
【図面の簡単な説明】
【図１】  この発明の実施の一形態を示す音声スポッティング装置の機能ブロック図。
【図２】  従来の技術を示す音声スポッティング装置の機能ブロック図および先行／後続ヒューリスティック言語モデルとスポッティング用ネットワークとの接続方法を説明する概略ブロック図。
【図３】  右音素環境依存モデルを用い構成する先行ヒューリスティック言語モデル構成を説明する図。
【図４】  右音素環境依存モデルを用い構成する後続ヒューリスティック言語モデル構成を説明する図。
【図５】  右音素環境依存モデルを用い構成するスポッティング用ネットワーク構成を説明する図。
【符号の説明】
１  分析手段、２  ヒューリスティック言語モデル照合手段、３  ネットワーク照合手段、４  バックトラックノード選択手段、５  スポッティング結果出力手段、６  先行ヒューリスティック言語モデル格納手段、７  後続ヒューリスティック言語モデル格納手段、８  スポッティング用ネットワーク格納手段、１０１  入力音声信号、１０２  特徴ベクトル時系列、１０３  ヒューリスティック前向き尤度、１０４  ヒューリスティック後向き尤度、１０５  最尤前向き尤度、１０６  ノード履歴情報、１０７  最終ノード番号、１０８  スポッティング結果。
なお図中、同一符号は同一または相当部分を示す。
【図１】
0003873418.tif 000005
【図２】
0003873418.tif 000006
【図３】
0003873418.tif 000007
【図４】
0003873418.tif 000008
【図５】
0003873418.tif 000009