JP5235210B2 - 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体 - Google Patents

音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体 Download PDF

Info

Publication number
JP5235210B2
JP5235210B2 JP2010500522A JP2010500522A JP5235210B2 JP 5235210 B2 JP5235210 B2 JP 5235210B2 JP 2010500522 A JP2010500522 A JP 2010500522A JP 2010500522 A JP2010500522 A JP 2010500522A JP 5235210 B2 JP5235210 B2 JP 5235210B2
Authority
JP
Japan
Prior art keywords
label
unit
query
confusion network
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010500522A
Other languages
English (en)
Other versions
JP2010522923A (ja
Inventor
貴明 堀
アイ. リー ヘザーリントン、
ティモシー ジェイ. ヘーゼン、
ジェームズ アール. グラス、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Massachusetts Institute of Technology
Original Assignee
Nippon Telegraph and Telephone Corp
Massachusetts Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Massachusetts Institute of Technology filed Critical Nippon Telegraph and Telephone Corp
Publication of JP2010522923A publication Critical patent/JP2010522923A/ja
Application granted granted Critical
Publication of JP5235210B2 publication Critical patent/JP5235210B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/685Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、音声データベースに登録された複数の音声データから、ユーザから入力されたクエリに対応する音声データを検索する、音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体に関する。
テキストを検索する方法の1つとして、転置索引テーブルを構築する方法が従来から知られている。単語を検索単位とする場合、転置索引テーブルは次のステップで構築される:(1)検索対象の単語を含んだ1つ以上の文書に割り当てられた1つ以上の文書ID番号が検索対象の単語に対応付けられる;(2)検索対象の単語と1つ以上の文書ID番号のリストの組がデータベースに記録される。転置索引テーブルが音声データ検索装置に予め記憶されている場合、ユーザが、クエリとして、ある検索対象の単語を音声データ検索装置に入力すると、音声データ検索装置は、転置索引テーブルを参照して、入力された検索対象の単語を含んだ1つ以上の文書に割り当てられた1つ以上の文書ID番号を瞬時に取得して、当該1つ以上の文書ID番号をユーザに提示することができる。
図1に示すように、転置索引テーブルは複数のデータ組からなる。各データ組は単語と文書ID番号のリストを含む。例えば、単語“Osaka”は2つの文書“2”,“8”に含まれている。
ユーザが、クエリとして、ある単語列を音声データ検索装置に入力すると、音声データ検索装置は、入力された単語列を複数の単語に分割して、全ての単語を含んだ1つ以上の文書に割り当てられた1つ以上の文書ID番号を検索する。それから、音声データ検索装置は、単語間の隣接性を確認するために、転置索引テーブルを参照して、入力された単語列中の単語の配列どおりに単語が並んでいる1つ以上の文書に割り当てられた1つ以上の文書ID番号を取得して、当該1つ以上の文書ID番号をユーザに提示する。なお、音声データ検索装置が単語間の隣接性を簡単に確認するために、文書ID番号と一緒に、検索対象の単語列における各単語の出現位置を、転置索引テーブルに記録してもよい。
図2に示すように、転置索引テーブルは複数のデータ組からなる。各データ組は、単語と、文書ID番号と単語の出現位置の組とを含む。例えば、単語“Osaka”は文書“2”の11番目と文書“8”の14番目に出現している。単語列“Tokyo Osaka”を含んだ1つ以上の文書を検索する場合、音声データ検索装置は、転置索引テーブルを参照して、“Tokyo”と“Osaka”の両単語を含んだ1つ以上の文書を検索して、各検索された文書に対して、単語“Tokyo”の出現位置が単語“Osaka”の出現位置に隣接するか否かを照合する。具体的には、音声データ検索装置は、転置索引テーブルを参照して、“Tokyo”と“Osaka”の両単語を含んだ文書“2”,“8”を検索する。そして、音声データ検索装置は、文書“2”では、単語“Tokyo”は10番目に出現し、かつ、単語“Osaka”は11番目に出現し、文書“8”では、単語“Tokyo”は16番目に出現し、かつ、単語“Osaka”は14番目に出現していることから、単語列“Tokyo Osaka”を含んだ文書は文書“2”であると判断する。
非特許文献1(M. Saraclar and R. Sproat “Lattice-Based Search for Spoken Utterance Retrieval” Proc. HLT-NAACL, 2004) は、転置索引テーブルを使用して、音声データを検索する方法を開示している。具体的には、非特許文献1は、音声データを高速で検索するために、音声認識の結果として生成された発話のラティスを用いて、転置索引テーブルを構築する方法を記述している。この方法では、検索対象の単語を含んだ文書として、発話が仮定されている。もちろん、この方法では、単語を検索単位と設定する代わりに、音素又は音節を検索単位と設定してもよい。
ラティスは、発話された文を構成する可能性のある1つ以上の単語、音素、又は音節を、有向グラフとして表現したグラフである(図3参照)。なお、図3に示した、数字“0”乃至“11”はノード番号を表しており、アーク“A”乃至“J”は、単語、音素、又は音節などのアークのラベルを表している。左端の開始ノードから右端の終了ノードまでの1つの経路上の複数のアークにそれぞれ割り当てられた複数のラベルの系列が、音声認識の結果として生成された、発話された文の1つの仮説を表す。各アークには、ラベルの他に、そのラベルの尤もらしさを表す重みと、そのラベルに対応する音声区間の開始時刻と終了時刻が付与される。図3に示したラティスは、図4に示すような表形式のデータとして、音声データ検索装置に記憶される。図4に示した表は、図3に示したラティスのノードとアークの結合関係を表している。
非特許文献1の方法では、音声データ検索装置は、ラベルと、そのラベルに対応する全てのアークのリストとの組を含んだ転置索引テーブルを構築する(図5参照)。例えば、音声データ検索装置は、アークeがラティスに存在する場合、データ組(id[e], k[e], n[e], p(e|k[e]), f(k[e])) を転置索引テーブルのラベルl[e]に対応するアークのリストに記録する。ここで、id[e]はアークeが含まれるラティスに割り当てられた発話ID番号、k[e]はアークeの前に位置する先行ノードの番号、n[e]はアークeの後に位置する後続ノードの番号、p(e|k[e])はノードk[e]から出て行く複数のアークからアークeが選ばれる確率、f(k[e])はラティスの全ての経路にノードk[e]が出現する確率をそれぞれ表す。
確率p(e|k[e])及びf(k[e])の値は、ラティス内のアークの重みに基づいて計算される。ラティスの一方のノードから他方のノードへの経路に対する重みを、その経路上に存在する複数のアークの重みの積によって与える場合、確率f(k[e])の値は、ラティスの始端ノードからノードk[e]を経由して終端ノードへ到る複数の経路の重みの総和を、ラティスの始端ノードから終端ノードへ到る全ての経路の重みの総和で割ることで求められる。確率p(e|k[e])の値は、ノードk[e]からアークeを通って終端ノードまで到る複数の経路の重みの総和を、ノードk[e]から終端ノードに到る全ての経路の重みの総和で割ることで求められる。
重み付き非巡回有向グラフにおいて、グラフの始端ノードから任意のノードvに到る全ての経路の重みの総和α(v)はForwardアルゴリズムによって効率的に求められる。グラフの任意のノードvから終端ノードに到る全ての経路の重みの総和β(v)はBackwardアルゴリズムによって効率的に求められる。
最初に、Forwardアルゴリズムを説明する。音声データ検索装置は、Forwardアルゴリズムに従って、グラフGの始端ノードから任意のノードvに至る全ての経路の重みの総和α(v)を求めると同時に、グラフGの始端ノードから終端ノードに至る全ての経路の重みの総和αも求める。Forwardアルゴリズムは、次のとおりである。

Forward (G)
1 S←I
2 Q←I
3 for each q∈I do
4 α(q)=1
5 while S≠Φ do
6 q←HEAD(S)
7 DEQUEUE(S)
8 for each e∈E[q] do
9 α(n[e])←α(n[e])+f(q)*w(e)
10 If not n[e]∈Q then
11 Q←Q∪{n[e]}
12 ENQUEUE(S, n[e])
13 α←0
14 for each q∈F do
15 α←α+α(q)

ここで、グラフGは、ノードの集合V、アークの集合E、始端ノードの集合I、終端ノードの集合Fを有し、アークの集合E(v)はノードvから出て行くアークの集合、k[e]はアークeの先行ノード、n[e]はアークeの後続ノード、l[e]はアークeのラベル、w[e]はアークeの重み、HEAD(S)は待ち行列Sの先頭の要素を返す関数、DEQUEUE(S)は待ち行列Sの先頭の要素を削除する関数、ENQUEUE(S, x)は待ち行列Sの最後に要素xを挿入する関数である。
次に、Backwardアルゴリズムを説明する。音声データ検索装置は、Backwardアルゴリズムに従って、グラフGの任意のノードvから後続ノードに至る全ての経路の重みの総和β(v)を求めると同時に、グラフGの始端ノードから終端ノードに至る全ての経路の重みの総和βも求める。Backwardアルゴリズムは、次のとおりである。

Backward (G)
1 S←F
2 Q←F
3 for each q∈F do
4 β(q)=1
5 while S≠Φ do
6 q←HEAD(S)
7 DEQUEUE(S)
8 for each e∈H[q] do
9 β(k[e])←β(k[e])+w(e)*β(q)
10 if not k[e]∈Q then
11 Q←Q∪{k[e]}
12 ENQUEUE(S, k[e])
13 β←0
14 for each q∈I do
15 β←β+β(q)

ここで、グラフGは、ノードの集合V、アークの集合H、始端ノードの集合I、終端ノードの集合Fを有し、アークの集合H(v)はノードvに入ってくるアークの集合、k[e]はアークeの先行ノード、n[e]はアークeの後続ノード、l[e]はアークeのラベル、w[e]はアークeの重み、HEAD(S)は待ち行列Sの先頭の要素を返す関数、DEQUEUE(S)は待ち行列Sの先頭の要素を削除する関数、ENQUEUE(S, x)は待ち行列Sの最後に要素xを挿入する関数である。
このように、始端ノードからノードk[e]を経由して終端ノードへ到る複数の経路の重みの総和はα(k[e])×β(k[e])で与えられる。始端ノードから終端ノードへ到る全ての経路の重みの総和はβ(始端ノード)で与えられる。ノードk[e]からアークeを通って終端ノードに到る複数の経路の重みの総和はw[e]×β(n[e])で与えられる。ノードk[e]から終端ノードに到る全ての経路の重みの総和はβ(k[e])で与えられる。それゆえ、上述の値を用いて、確率p(e|k[e])及びf(k[e])の値は次の式に従って計算される。

f(k[e])= α(k[e])×β(k[e])/β(始端ノード)
p(e|k[e])= w[e]×β(n[e])/β(k[e])

ある発話のラティスにおいて、クエリのラベル列L1,L2,…,LMに対応するアーク列e1,e2,…,eMが見付かると、出現確率は次の式に従って計算される。

P(e1,e2,…,eM)=f(k[e1])×p(e1|k[e1])×p(e2|k[e2])×・・・×p(eM|k[eM])

出現確率P(e1,e2,…,eM)は、ノードk[e1]が出現し、かつ、アーク列e1,e2,…,eMが、k[e1]からアークe1を通り、k[e2]からアークe2を通り、…、k [eM]からアークeMを通る確率である。ただし、アーク列e1,e2,…,eMにおいて、n[em-1]はk[em]であり、l[em]はLmである(1≦m≦M)。ある発話のラティスにおいて、クエリのラベル列に対応する全てのアーク列の出現確率の総和は、その発話におけるクエリのラベル列の出現確率になる。
音声データ検索装置は、あるクエリのラベル列に対応するアーク列を検索する処理において、発話ID番号のリストの各発話ID番号を、その各発話ID番号に関連付けられた発話における、クエリのラベル列に対応するアーク列の出現確率に付与して、付与された出現確率を基準にして、発話ID番号のリストをソートしても良い。また、音声データ検索装置は、相対的に低い出現確率が付与された発話の発話ID番号を発話ID番号のリストから削除しても良い。
次に、図6を参照して、検索対象とする全ての発話に対して、N個のラティスG1,…,GNに基づいて転置索引テーブルを構築する方法を説明する。
ステップS1において、音声データ検索装置は、引数i, j に1を代入する。ステップS2において、音声データ検索装置は、Forwardアルゴリズムに従って、ラティスGiに含まれるアークejの始端ノードから先行ノードk[ej]に至る全ての経路の重みの総和α(k[ej])を求め、かつ、Backwardアルゴリズムに従って、ラティスGiの先行ノードk[ej]から終端ノードに至る全ての経路の重みの総和β(k[ej])を求める。ステップS3において、音声データ検索装置は、ラティスGiに含まれるアークejについて、データ組(id[ej], k[ej], n[ej], p(ej|k[ej]), f(k[ej]))を求める。ステップS4において、音声データ検索装置は、データ組(id[ej], k[ej], n[ej], p(ej|k[ej]), f(k[ej]))を、ラティスGiの転置索引テーブルのラベルl[ej]に対応付けられたアークのリストE(l[ej])に記録する。ステップS5において、音声データ検索装置は、引数jの値がラティスGiに含まれるアークの総数Mに等しいか否かを判断する。引数jの値がアークの総数Mに等しくない場合には、音声データ検索装置はステップS6の処理を行う。引数jの値がアークの総数Mに等しい場合には、音声データ検索装置はステップS7の処理を行う。ステップS6において、音声データ検索装置は、引数jの値を1つ増加させて、ステップS2の処理に戻る。ステップS7において、音声データ検索装置は、引数iの値がラティスの総数Nに等しいか否かを判断する。引数iの値がラティスの総数Nに等しくない場合には、音声データ検索装置はステップS8の処理を行う。引数iの値がラティスの総数Nに等しい場合には、音声データ検索装置は一連の処理を終了する。ステップS8において、音声データ検索装置は、引数iの値を1つ増加させて、引数jに1を代入して、ステップS2の処理に戻る。
上述の方法に従って、音声データ検索装置は、例えば、図3に示したラティスから、図5に示した転置索引テーブルを構築する。
次に、図7及び8を参照して、ラティスG1,…,GN に対して、クエリのラベル列L1,…,LMに一致するアーク列を含む1つ以上のラティスに割り当てられた1つ以上の発話ID番号のリストを、転置索引テーブルから効率的に検索する方法を説明する。最初に、図7を参照して、クエリのラベル列L1,…,LMを構成する全てのラベルを含む1つ以上のラティスを検索し、検索された1つ以上のラティスに割り当てられた1つ以上の発話ID番号のリストを求める方法を説明する。なお、この方法では、ラベルの出現順序は考慮されていない。
ステップS11において、音声データ検索装置は、引数i, j, k に1,1,2を代入する。ステップS12において、音声データ検索装置は、ラベルLiについて、転置索引テーブルからアークのリストE(Li)を取得する。ステップS13において、音声データ検索装置は、アークのリストE(Li)から、j番目のデータ組に含まれるアークejに対応付けられた発話ID番号id[ej]を読み込み、リストRij(1≦j≦S:SはアークのリストE(Li)に含まれるデータ組の総数)に記録する。なお、音声データ検索装置は、リストRijの中で重複した発話ID番号を削除する。ステップS14において、音声データ検索装置は、引数jの値が、アークのリストE(Li)に含まれるデータ組の総数Sに等しいか否かを判断する。引数jの値がデータ組の総数Sに等しくない場合には、音声データ検索装置はステップS15の処理を行う。引数jの値がデータ組の総数Sに等しい場合には、音声データ検索装置はステップS16の処理を行う。ステップS15において、音声データ検索装置は、引数jの値を1つ増加させて、ステップS13の処理に戻る。ステップS16において、音声データ検索装置は、引数iの値がラベルの総数Mに等しいか否かを判断する。引数iの値がラベルの総数Mに等しくない場合には、音声データ検索装置はステップS17の処理を行う。引数iの値がラベルの総数Mに等しい場合には、音声データ検索装置はステップS18の処理を行う。ステップS17において、音声データ検索装置は、引数iの値を1つ増加させて、引数jに1を代入して、ステップS12の処理に戻る。
ステップS18において、音声データ検索装置は、リストR1j (1≦j≦S) に記録された1つ以上の発話ID番号を出力リストCに記録する。ステップS19において、音声データ検索装置は、引数iの値が1であるか否かを判断する。引数iの値が1である場合には、音声データ検索装置は一連の処理を終了する。引数iの値が1でない場合には、音声データ検索装置はステップS20の処理を行う。ステップS20において、音声データ検索装置は、リストRkj (1≦j≦S) において、出力リストCに含まれる1つ以上の発話ID番号に一致する1つ以上の発話ID番号が存在するか否かを判断する。出力リストCに含まれる1つ以上の発話ID番号に一致する1つ以上の発話ID番号が存在しない場合には、音声データ検索装置はステップS21の処理を行う。出力リストCに含まれる1つ以上の発話ID番号に一致する1つ以上の発話ID番号が存在する場合には、音声データ検索装置はステップS22の処理を行う。ステップS21において、音声データ検索装置は、出力リストCの中身を空にして、一連の処理を終了する。ステップS22において、音声データ検索装置は、出力リストCから、リストRkjに含まれるいずれの発話ID番号とも一致しない発話ID番号を削除する。ステップS23において、音声データ検索装置は、引数kの値がラベルの総数Mに等しいか否かを判断する。引数kの値がラベルの総数Mに等しくない場合には、音声データ検索装置はステップS24の処理を行う。引数kの値がラベルの総数Mに等しい場合には、音声データ検索装置は一連の処理を終了する。ステップS24において、音声データ検索装置は、引数kの値を1つ増加させて、ステップS20の処理に戻る。
次に、図8を参照して、図7に示した手順に従って検索されたラベルの出現順序が、クエリのラベル列L1,…,LMを構成する全てのラベルを含むラティスの各々ごとに、クエリのラベルの出現順序に一致するか否かを判断する方法を説明する。なお、この方法では、ラベルの出現順序がクエリのラベルの出現順序に一致する結果として取得されるアーク列の出現確率の総和も同時に求められる。具体的には、この方法は、このようなアーク列が存在しない場合には、出現確率の総和は0になることを利用している。
ステップS31において、音声データ検索装置は、引数i, j, mに1,1,1を代入する。ステップS32において、音声データ検索装置は、出力リストCに含まれる発話ID番号に対して、“1”から順に割り当てられた登録番号jに対応するアークのリストEj(Li)を出力リストCから読み込む。ステップS33において、音声データ検索装置は、引数iの値がラベルの総数Mに等しいか否かを判断する。引数iの値がラベルの総数Mに等しくない場合には、音声データ検索装置はステップS34の処理を行う。引数iの値がラベルの総数Mに等しい場合には、音声データ検索装置はステップS35の処理を行う。ステップS34において、音声データ検索装置は、引数iの値を1つ増加させて、ステップS32の処理に戻る。ステップS35において、音声データ検索装置は、アークのリストEj(Lm)の各データ組に含まれるアークejmに対して、
Figure 0005235210
を計算する。ステップS36において、音声データ検索装置は、引数mの値がラベルの総数Mに等しいか否かを判断する。引数mの値がラベルの総数Mに等しい場合には、音声データ検索装置はステップS37の処理を行う。引数mの値がラベルの総数Mに等しくない場合には、音声データ検索装置はステップS39の処理を行う。ステップS37において、音声データ検索装置は、引数jの値が登録番号の最大値Tに等しいか否かを判断する。引数jの値が登録番号の最大値Tに等しくない場合には、音声データ検索装置はステップS38の処理を行う。引数jの値が登録番号の最大値Tに等しい場合には、音声データ検索装置はステップS42の処理を行う。ステップS38において、音声データ検索装置は、引数jの値を1つ増加させて、ステップS32の処理に戻る。ステップS39において、音声データ検索装置は引数mの値を1つ増加させる。ステップS40において、音声データ検索装置は、アークのリストEj(Lm)の各データ組に含まれるアークejmに対して、
Figure 0005235210
を計算する。ただし、Fm-1が未計算の場合には、音声データ検索装置はFm-1(e)=0として上述の式を計算する。ステップS41において、音声データ検索装置は、引数mの値がラベルの総数Mに等しいか否かを判断する。引数mの値がラベルの総数Mに等しくない場合には、音声データ検索装置はステップS39の処理を行う。引数mの値がラベルの総数Mに等しい場合には、音声データ検索装置はステップS42の処理を行う。ステップS42において、音声データ検索装置は、ラベル列L1,…,LMが発話jに含まれる確率
Figure 0005235210
を計算する。ステップS43において、音声データ検索装置は確率P(L1,…,LM)が0より大きいか否かを判断する。確率P(L1,…,LM)が0より大きい場合には、音声データ検索装置はステップS44の処理を行う。確率P(L1,…,LM)が0より大きくない場合には、音声データ検索装置はステップS45の処理を行う。ステップS44において、音声データ検索装置は、発話ID番号と確率P(L1,…,LM)の組をリストSに記録する。ステップS45において、音声データ検索装置は、引数jの値が登録番号の最大値Tに等しいか否かを判断する。引数jの値が登録番号の最大値Tに等しくない場合には、音声データ検索装置はステップS38の処理を行う。引数jの値が登録番号の最大値Tに等しい場合には、音声データ検索装置は一連の処理を終了する。
M. Saraclar and R. Sproat "Lattice-Based Search for Spoken Utterance Retrieval" Proc. HLT-NAACL, 2004
従来の音声データを検索する方法では、音声データ検索装置は、音声認識の結果として、音声データベースに記録された複数の音声データに基づいて取得されるラティスを用いて、転置索引テーブルを構築している。しかしながら、この方法では、ラティスは冗長なアークを含んでいるため、転置索引テーブルのファイルサイズが大きくなるという問題が存在する。また、候補単語に関して、ラティスは、音声認識に用いられた言語モデルによって許される単語間の接続のみを含んでいるので、音声データ検索装置は、その言語モデルによって許されない単語間の接続を含んだ単語列を検索することは不可能である。それゆえ、従来の方法では、検索性能が劣化するという問題が存在する。
本発明の第1目的は、転置索引テーブルのファイルサイズを抑えることを可能とする音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体を提供することにある。
本発明の第2目的は、音声認識に用いられる言語モデルに拘束されない、高精度な検索を可能とする音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体を提供することにある。
本発明の第3目的は、転置索引テーブルのファイルサイズを抑えるために構築されるコンフュージョンネットワークを利用する際に、転置索引テーブルを効率的に検索することを可能とする音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体を提供することにある。
上記の課題を解決するために、本発明は、複数の音声データを記憶する音声データベースと、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力する音声認識部と、前記音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力するコンフュージョンネットワーク生成部と、前記コンフュージョンネットワーク生成部から出力された前記コンフュージョンネットワークに基づいて転置索引テーブルを生成する転置索引テーブル生成部と、ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、前記クエリ入力部から出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換するクエリ変換部と、前記クエリ変換部から読み出したラベル列を前記転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力するラベル列照合部と、を備え、前記ラベル列照合部は、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記ラベル列からクエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする音声データ検索装置を提供する。
本発明によれば、音声データ検索装置は、従来の音声データ検索装置と比較して、転置索引テーブルのファイルサイズを抑えることができる。また、音声データ検索装置は、従来の音声データ検索装置と比較して、音声認識に用いられる言語モデルに拘束されない、高精度な検索を行うことができる。
本発明の好適な実施形態にあっては、前記ラベル列照合部は、前記転置索引テーブルを参照して、前記ラベル列に含まれる1つ以上のラベルに割り当てられた1つ以上のアークによって構成されるように前記部分コンフュージョンネットワークを生成し、前記ラベル列を1次元配列のグラフで表し、自身のノードに戻るアークを前記1次元配列のグラフの各ノードに付与して前記クエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算する。
本実施形態によれば、音声データ検索装置は、転置索引テーブルのファイルサイズを抑えるために構築されたコンフュージョンネットワークを利用する際に、有効な転置索引テーブルの検索を行うことができる。
上記の課題を解決するために、本発明は、複数の音声データを記憶する音声データベースと、2つ以上の音声認識部と、各音声認識部は、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力し、ある音声認識部から出力されるあるラティスの基本単位は、他の音声認識部から出力される他のラティスの基本単位とは異なり、前記2つ以上の音声認識部にそれぞれ接続された2つ以上のコンフュージョンネットワーク生成部と、各コンフュージョンネットワーク生成部は、前記各音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果をコンフュージョンネットワークとして出力し、前記2つ以上のコンフュージョンネットワーク生成部にそれぞれ接続された2つ以上の転置索引テーブル生成部と、各転置索引テーブル生成部は、前記各コンフュージョンネットワーク生成部から出力された前記コンフュージョンネットワークに基づいて転置索引テーブルを生成し、ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、2つ以上のクエリ変換部と、各クエリ変換部は、前記クエリ入力部から出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換し、あるクエリ変換部で変換されるあるラベル列の基本単位は、他のクエリ変換部で変換される他のラベル列の基本単位とは異なり、前記2つ以上の転置索引テーブル生成部及び前記2つ以上のクエリ変換部にそれぞれ接続された2つ以上のラベル列照合部と、各ラベル列照合部は、前記各クエリ変換部から読み出したラベル列を前記各転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索し、前記2つ以上のラベル列照合部から検索結果を読み出して、前記読み出された検索結果を統合して検索結果リストを生成して、前記検索結果リストに含まれる音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力する前記検索結果統合部と、を備え、前記各ラベル列照合部は、前記各転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記ラベル列からクエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする音声データ検索装置を提供する。
本発明によれば、音声データ検索装置は、従来の音声データ検索装置と比較して、複数のラベル体系を用いた音声データ検索を並列に処理することができる。
上記の課題を解決するために、本発明は、複数の音声データを記憶する音声データベースと、2つの音声認識部と、各音声認識部は、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素又は単語を基本単位とするラティスとして出力し、一方の音声認識部から出力されるあるラティスの基本単位は、他の音声認識部から出力される他のラティスの基本単位とは異なり、前記2つの音声認識部にそれぞれ接続された2つのコンフュージョンネットワーク生成部と、各コンフュージョンネットワーク生成部は、前記各音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力し、前記2つのコンフュージョンネットワーク生成部から出力された音素コンフュージョンネットワークと単語コンフュージョンネットワークを結合して、音素‐単語結合ネットワークを生成し、前記音素‐単語結合ネットワークを出力するコンフュージョンネットワーク結合部と、前記コンフュージョンネットワーク結合部は、前記音素コンフュージョンネットワークの各音素ラベルを第1入力ラベルと第1出力ラベルの組に変換して第1有限状態変換器を生成し、前記第1入力ラベルは、対応する音素ラベルと、前記対応する音素ラベルが付与されたアークの始端ノードと終端ノードの番号からなり、前記第1出力ラベルは、前記対応する音素ラベルからなり、前記コンフュージョンネットワーク結合部は、前記単語コンフュージョンネットワークの各単語ラベルと前記単語ラベルのアークを、前記単語の発音を表す音素列ラベルと前記音素列ラベルを構成する音素ラベルが付与されたアークにそれぞれ置き換えて、更に各音素ラベルを第2入力ラベルと第2出力ラベルの組に変換して第2有限状態変換器を生成し、前記第2入力ラベルは、対応する音素ラベルからなり、前記第2出力ラベルは、対応する単語ラベルと、前記対応する単語ラベルの位置情報からなり、前記コンフュージョンネットワーク結合部は、前記第1有限状態変換器と前記第2有限状態変換器を合成して、前記音素−単語結合ネットワークを生成し、前記コンフュージョンネットワーク結合部から出力された音素‐単語結合ネットワークに基づいて転置索引テーブルを生成する転置索引テーブル生成部と、ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、前記クエリ入力部から出力された文字列を、音素及び単語を基本単位とするラベル列に変換するクエリ変換部と、前記クエリ変換部から読み出したラベル列を前記転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力するラベル列照合部と、を備えることを特徴とする音声データ検索装置を提供する。
本発明によれば、音声データ検索装置は、従来の音声データ検索装置と比較して、クエリに登録単語と未登録単語の両方が含まれていても音声データを検索することができる。
上記の課題を解決するために、本発明は、コンピュータにより、複数の音声データを記憶した音声データベースから音声データを読み出し、前記コンピュータにより、前記読み出された音声データに対して音声認識処理を実行し、前記コンピュータにより、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力し、前記コンピュータにより、前記出力されたラティスに基づいてコンフュージョンネットワークを生成し、前記コンピュータにより、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力し、前記コンピュータにより、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成し、前記コンピュータにより、ユーザにより入力されたクエリを受け付けて、前記コンピュータにより、前記受け付けたクエリに対して音声認識処理を実行し、前記コンピュータにより、音声認識処理の結果を文字列として出力し、前記コンピュータにより、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換し、前記コンピュータにより、前記ラベル列を前記転置索引テーブルと照合し、前記コンピュータにより、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記コンピュータにより、前記ラベル列からクエリのグラフを生成し、前記コンピュータにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索するために、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算し、前記コンピュータにより、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力することを特徴とする音声データ検索方法を提供する。
本発明によれば、音声データ検索方法は、従来の音声データ検索方法と比較して、転置索引テーブルのファイルサイズを抑えることができる。また、音声データ検索方法は、従来の音声データ検索方法と比較して、音声認識に用いられる言語モデルに拘束されない、高精度な検索を行うことができる。
上記の課題を解決するために、本発明は、コンピュータに対して、複数の音声データを記憶した音声データベースから音声データを読み出させる第1音声データ検索プログラムコードと、前記コンピュータに対して、前記読み出された音声データに対して音声認識処理を実行させる第2音声データ検索プログラムコードと、前記コンピュータに対して、音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力させる第3音声データ検索プログラムコードと、前記コンピュータに対して、前記出力されたラティスに基づいてコンフュージョンネットワークを生成させる第4音声データ検索プログラムコードと、前記コンピュータに対して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力させる第5音声データ検索プログラムコードと、前記コンピュータに対して、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成させる第6音声データ検索プログラムコードと、前記コンピュータに対して、ユーザにより入力されたクエリを受け付けさせる第7音声データ検索プログラムコードと、前記コンピュータに対して、前記受け付けたクエリに対して音声認識処理を実行させる第8音声データ検索プログラムコードと、前記コンピュータに対して、音声認識処理の結果を文字列として出力させる第9音声データ検索プログラムコードと、前記コンピュータに対して、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換させる第10音声データ検索プログラムコードと、前記コンピュータに対して、前記ラベル列を前記転置索引テーブルと照合させる第11音声データ検索プログラムコードと、前記コンピュータに対して、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成させ、前記ラベル列からクエリのグラフを生成させ、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算させることにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索させる第12音声データ検索プログラムコードと、前記コンピュータに対して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力させる第13音声データ検索プログラムコードと、を備えることを特徴とする音声データ検索プログラムを提供する。
本発明によれば、音声データ検索プログラムは、従来の音声データ検索プログラムと比較して、コンピュータに対して、転置索引テーブルのファイルサイズを抑えることができる。また、音声データ検索プログラムは、従来の音声データ検索プログラムと比較して、コンピュータに対して、音声認識に用いられる言語モデルに拘束されない、高精度な検索を行わせることができる。
上記の課題を解決するために、本発明は、コンピュータが読み取り可能な音声データ検索プログラムを内蔵する前記コンピュータが使用可能な記録媒体であって、前記音声データ検索プログラムは、コンピュータに対して、複数の音声データを記憶した音声データベースから音声データを読み出させる第1音声データ検索プログラムコードと、前記コンピュータに対して、前記読み出された音声データに対して音声認識処理を実行させる第2音声データ検索プログラムコードと、前記コンピュータに対して、音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力させる第3音声データ検索プログラムコードと、前記コンピュータに対して、前記出力されたラティスに基づいてコンフュージョンネットワークを生成させる第4音声データ検索プログラムコードと、前記コンピュータに対して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力させる第5音声データ検索プログラムコードと、前記コンピュータに対して、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成させる第6音声データ検索プログラムコードと、前記コンピュータに対して、ユーザにより入力されたクエリを受け付けさせる第7音声データ検索プログラムコードと、前記コンピュータに対して、前記受け付けたクエリに対して音声認識処理を実行させる第8音声データ検索プログラムコードと、前記コンピュータに対して、音声認識処理の結果を文字列として出力させる第9音声データ検索プログラムコードと、前記コンピュータに対して、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換させる第10音声データ検索プログラムコードと、前記コンピュータに対して、前記ラベル列を前記転置索引テーブルと照合させる第11音声データ検索プログラムコードと、前記コンピュータに対して、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成させ、前記ラベル列からクエリのグラフを生成させ、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算させることにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索させる第12音声データ検索プログラムコードと、前記コンピュータに対して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力させる第13音声データ検索プログラムコードと、を備えることを特徴とする記録媒体を提供する。
本発明によれば、音声データ検索プログラムは、従来の音声データ検索プログラムと比較して、コンピュータに対して、転置索引テーブルのファイルサイズを抑えることができる。また、音声データ検索プログラムは、従来の音声データ検索プログラムと比較して、コンピュータに対して、音声認識に用いられる言語モデルに拘束されない、高精度な検索を行わせることができる。
図1は、単語と文書ID番号のリストを含んだ複数のデータ組からなる従来の転置索引テーブルである。 図2は、単語と、文書ID番号と単語の出現位置の組を含んだ複数のデータ組からなる従来の転置索引テーブルである。 図3は、発話文を構成する1つ以上の候補である1つ以上の単語、音素、又は音節を有向グラフとして表した従来のラティスである。 図4は、図3に示したラティスにおけるノードとアークとの間の結合関係を表した表形式のデータである。 図5は、非特許文献1の方法に従って、図3に示したラティスに基づいて構築された転置索引テーブルである。 図6は、N個のラティスに基づいて転置索引テーブルを構築する従来の方法を示したフローチャートである。 図7は、クエリのラベル列を構成する全てのラベルを含む1つ以上のラティスを検索し、検索された1つ以上のラティスに割り当てられた1つ以上の発話ID番号のリストを検索する従来の方法を示したフローチャートである。 図8は、図7に示した手順で検索されたラベルの出現順序が、クエリのラベル列を構成する全てのラベルを含むラティスの各々ごとに、クエリのラベルの出現順序に一致するか否かを判断する従来の方法を示したフローチャートである。 図9は、本発明の第1実施形態に係る音声データ検索装置の構成図である。 図10は、本発明の第1実施形態に係る、図3に示したラティスに基づいて構築されるコンフュージョンネットワークである。 図11は、図10に示したコンフュージョンネットワークにおけるノードとアークとの間の結合関係を表した表形式のデータである。 図12は、図10に示したコンフュージョンネットワークに基づいて構築された転置索引テーブルである。 図13Aは、図10に示したコンフュージョンネットワークから抽出された、クエリのラベル列を構成するラベルと特殊ラベルからなる部分コンフュージョンネットワークである。 図13Bは、クエリのグラフである。 図13Cは、図13Aに示した部分コンフュージョンネットワークと図13Bに示したクエリのグラフとの間のインターセクションの結果として構築されたグラフを示した図である。 図14は、本発明の第1実施形態に係る、クリエのラベル列に基づいて、このラベル列の発話ID番号と出現確率の組を取得する方法を示したフローチャートである。 図15は、本発明の第1実施形態に係る音声データ検索方法を示したフローチャートである。 図16は、本発明の第1実施形態に係る転置索引テーブルの削減効果及び音声データの検索性能を表した表形式のデータである。 図17は、本発明の第2実施形態に係る音声データ検索装置の構成図である。 図18は、本発明の第2実施形態に係る音声データ検索方法を示したフローチャートである。 図19は、本発明の第3実施形態に係る音声データ検索装置の構成図である。 図20は、本発明の第3実施形態に係る結合ネットワークを構築する方法を示したフローチャートである。 図21Aは、本発明の第3実施形態に係る音素コンフュージョンネットワークである。 図21Bは、本発明の第3実施形態に係る単語コンフュージョンネットワークである。 図21Cは、本発明の第3実施形態に係る単語−音素結合ネットワークである。 図22Aは、本発明の第3実施形態に係る第1有限状態変換器である。 図22Bは、本発明の第3実施形態に係る第2有限状態変換器である。 図22Cは、本発明の第3実施形態に係る第3有限状態変換器である。 図23は、本発明の第3実施形態に係る音声データ検索方法を示したフローチャートである。
以下、図9乃至23を参照して、本発明の第1乃至3実施形態を説明する。従来の音声データ検索装置は、音声認識部から出力されるラティスに基づいて転置索引テーブルを構築していた。これに対して、本発明に係る音声データ検索装置は、音声認識部から出力されるラティスをコンフュージョンネットワークに変換して、このコンフュージョンネットワークに基づいて転置索引テーブルを構築する。このように、本発明に係る音声データ検索装置は、ラティスではなくコンフュージョンネットワークに基づいて転置索引テーブルを構築するので、ラベル列照合部で行われるラベル照合方法は、従来のラベル照合方法と異なる。
(第1実施形態)
図9乃至16を参照して、本発明の第1実施形態を説明する。
図9に示すように、音声データ検索装置10は、音声データベース1、音声認識部2、コンフュージョンネットワーク生成部3、転置索引テーブル生成部4、転置索引テーブル記憶部5、クエリ入力部6、クエリ変換部7、ラベル列照合部8、検索結果出力部9を備えている。
音声データベース1は、検索対象である複数の音声データを含んでいる。各音声データは様々なファイルから取得される。例えば、音声データは、テレビ番組、映画などの音声トラックファイル、インターネット上の音声ファイル、又はインターネット上の音声付動画ファイルから取得される。なお、各音声データは、音声信号の無音区間を自動的に検出する手段を用いて、より細かい発話単位に分割されても良い。
音声認識部2は、音声データベース1から複数の音声データを読み込み、音声認識処理を実行する。それから、音声認識部2は、1つの音声認識結果の候補、又は、音素ラティス、音節ラティス、単語ラティスなどの有向グラフ型のデータ構造で複数の音声認識結果の候補をコンフュージョンネットワーク生成部3に出力する。本実施形態では、音声認識部2は、有向グラフ型のデータ構造で複数の音声認識結果の候補をコンフュージョンネットワーク生成部3に出力する。
音声認識処理では、一般的に、音響モデル、発音辞書、及び言語モデルが利用される。音響モデルは、音声認識の基本単位(例えば音素)ごとに、音響パターンの特徴を保持している。音声認識の基本単位が音素である場合、音響モデルは、基本単位を複数のサブ単位に区分したうちの1つのサブ単位である時間区間(例えば、前半部、中間部、後半部の3つの時間区間)ごとに認識された平均的な音響パターンを保持している。発音辞書は、単語とその単語の音素列の間の関係を示す表を保持している。発音辞書は、音声認識処理に使用される処理ステップやメモリ量を抑えるために、一般的に数万程度の単語からなる。言語モデルは、2つ以上の単語を接続する規則と、単語間の接続の尤もらしさを表す重みとを有した有向グラフとして表される。
次に、1つの音声認識結果の候補を生成して、コンフュージョンネットワーク生成部3に出力する過程を説明する。
音声認識部2は、発話音声の音響パターン系列を、言語モデルによって許容される各単語列に対応する音素列の音響パターン系列と比較して、2つの音響パターン系列の音響的類似度を計算する。それから、音声認識部2は、計算された音響的類似度に、言語モデルによって許容される単語間の接続の尤もらしさを表す重みを加えることにより、スコアを計算する。音声認識部2は、上述の処理を繰り返した後、複数の計算されたスコアの中から、最も高い値を有するスコアを選択する。
具体的には、音声認識処理は次の過程をとる。音声認識部2は、発話の始端から一定の時間間隔(例えば10ミリ秒ごと)で音響パターン(例えばMel-Frequency Cepstrum Coefficient: MFCC)を計算して、音響パターン系列を生成する。それから、音声認識部2は、音響パターン系列から最初の音響パターンを読み込んで、最初の音響パターンが、言語モデル(例えばN-gramモデル)によって文の最初に位置することが許容される各単語の最初の音素の1番目の音響パターンに類似する音響的類似度を計算する。音声認識部2は、時刻“1”の仮説として、計算された音響的類似度を登録する。
次に、音声認識部2は、音響パターン系列から2番目の音響パターンを読み込んで、時刻“1”の音響パターンが継続する可能性と、各単語の音素列に従って時刻“1”の音響パターンが変化する可能性とを考慮して、時刻“1”の仮説に続く時刻“2”の仮説として2つの仮説を生成する。具体的には、音声認識部2は、(1)2番目の音響パターンが、時刻“1”の音響パターンに一致する、各単語の最初の音素の2番目の音響パターンに類似する音響的類似度と、(2)時刻“1”の音響パターンと異なる、各単語の最初の音素の2番目の音響パターンに類似する音響的類似度を計算する。それから、音声認識部2は、時刻“1”の仮説として登録された音響的類似度に、計算された各音響的類似度を加えて、新規の2つの音響的類似度を生成する。音声認識部2は、時刻“2”の仮説として、新規の2つの音響的類似度を登録する。
このように、音声認識部2は、時刻を1つずつ進めて、音響パターン系列から音響パターンを順番に読み込んで、前時刻の仮説として登録された各音響的類似度に、現時刻で計算された各音響的類似度を加えて、前時刻の仮説に続く現時刻の仮説として、計算された音響的類似度を登録する。なお、前時刻の音響パターンが単語の最後の音響パターンである場合には、音声認識部2は、前時刻の音響パターンが継続する可能性と、前時刻の音響パターンが、言語モデルによって、その単語の次に位置することが許容される単語の最初の音素の1番目の音響パターンに変化する可能性を考慮して、現時刻の仮説としてM+1個(M:言語モデルによって、その単語の次に位置することが許容される単語の数)の仮説を生成する。単語が変化する場合には、音声認識部2は、言語モデルによって許容される単語間の接続の尤もらしさを表す重みを、前時刻の仮説として登録された音響的類似度に加えることにより、スコアを計算する。
音声認識部2は、音響パターン系列から最後の音響パターンを読み込んで、現時刻の複数の仮説を生成した後、言語モデルによって文の最後に位置することが許容される単語の最後の音素の最後の音響パターンに対応する、現時刻の複数の仮説の中から、最も高いスコアを有する仮説を選ぶ。そして、音声認識部2は、選ばれた仮説に対応する単語列(又は音素列)を音声認識結果の候補としてコンフュージョンネットワーク生成部3に出力する。
音声認識処理において、各時刻の2つ以上の音響パターンが、同じ単語列(又は同じ音素列)における音響パターン列の始端から数えて同じ位置に出現する場合には、音声認識部2は、その時刻の2つ以上の仮説の中から、最も高いスコアを有する仮説だけを残して、他の仮説を削除しても良い。この場合、音声認識部2は、その時刻の2つ以上の仮説の中から、ある閾値以下のスコアを有する1つ以上の仮説を削除しても良い。
次に、複数の音声認識結果の候補を生成して、コンフュージョンネットワーク生成部3に出力する過程を説明する。
音声認識部2は、先に説明したように、音響パターン系列から最後の音響パターンを読み込んで、現時刻の複数の仮説を生成した後、有向グラフ型のデータ構造で、生成された複数の仮説に対応する単語列(又は音素列)を複数の音声認識結果の候補としてコンフュージョンネットワーク生成部3に出力する。このデータ構造は、グラフのアークとして、単語名(又は音素名)、開始時刻、終了時刻、スコア情報を有する。各アークは、注目した単語(又は音素)の後に位置可能な1つ以上の単語(又は音素)の中から選択された単語(又は音素)に関する、単語名(又は音素名)、開始時刻、終了時刻、スコア情報を有しており、先行ノードを後続ノードに接続する。この作業により、複数の音声認識結果の候補を表す有向グラフが生成される。この有向グラフはラティスと呼ばれる。各アークが1つの単語を表す場合には、この有向グラフは単語ラティスと呼ばれる。また、各アークが1つの音素を表す場合には、この有向グラフは音素ラティスと呼ばれる。
ラティスは、音声認識処理に用いられた言語モデルによって許容される単語間の接続を有した単語列のみを含んでいる。また、ラティスは、複数の単語が互いに同じ単語であっても、複数の単語の開始時刻や終了時刻が互いに異なると、複数の単語は互いに異なるアークとして記録されるので、冗長なアークを含んでいる。
コンフュージョンネットワーク生成部3は、音声認識部2から出力された音素ラティス、音節ラティス、又は単語ラティスなどの有向グラフ型のデータ構造をコンフュージョンネットワークに変換する。図10は、図3に示したラティスから得られるコンフュージョンネットワークを示している。なお、図10に示した、アーク“A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”は、音素、音節、又は単語などのラベルを表している。記号“@”は、対応するラベルがなく、先行ノードと後続ノードの間をスキップする特殊ラベルを表している。図11は、図10に示したコンフュージョンネットワークの表形式のデータを示している。
コンフュージョンネットワークは、ラティスと同様に、複数の音声認識結果の候補をグラフ型のデータ構造で表している。コンフュージョンネットワークの左端の始端ノードから右端の終端ノードまでの1つのラベル列が1つの音声認識結果の候補を表している。コンフュージョンネットワーク生成部3は、ラティス内で近い時間帯に属する同一のラベルを1つのラベルに縮約し、かつ、ラティス内で近い時間帯に属する異なるラベルを集めて1つの対立候補グループを生成することにより、図3に示したラティスを図10に示したコンフュージョンネットワークに変換する。ここで、ラベルの組{@,B,C}、{A,D}、{@,E,F}、{G,H}、{I,J}は対立候補グループを表している。これらの対立候補グループが、この順番で接続されて、コンフュージョンネットワークを形成している。ここで、記号“@”は、対応するラベルがないことを表す特殊ラベルである。例えば、図3に示したラティスでは、ノード“0”からラベル“A”を通る経路が存在するが、図10に示したコンフュージョンネットワークでは、特殊ラベル“@”によってラベル“B”や“C”をスキップして、ノード“0”からラベル“A”を通る経路が存在する。このように、コンフュージョンネットワークは、コンパクトなデータ構造であり、かつ、多くの経路を有する(例えば、図3に示したラティスと比較して、ノード“0”からラベル“D”を通る経路が増えている)ので、より多くの音声認識結果の候補を含むことができる。
ラティスをコンフュージョンネットワークに変換するためのアルゴリズムは、非特許文献2(L. Mangu, E. Brill, and A. Stolcke, “Finding consensus in speech recognition: word error minimization and other applications of confusion networks,” Computer Speech and Language, 14, pp. 373-400, 2000)に明記されている。コンフュージョンネットワーク生成部3は、ラティスをコンフュージョンネットワークに変換するために、まず、ラティス上の各アークに対して、アークの重みをアークの事後確率に変換する。例えば、ラティスGにおけるアークeの事後確率P(e|G)の値は、ラティスGの始端ノードからアークeを通って終端ノードへ至る経路の重みの総和を、ラティスGの始端ノードから終端ノードへ至る全ての経路の重みの総和で割ることにより求められる。すなわち、事後確率P(e|G)の値は、下記の式に従って計算される。

P(e|G)=α(k[e])×w[e]×β(n[e])/β(始端ノード)

それから、コンフュージョンネットワーク生成部3は、アーク間の類似度が一定値以上の値を有する2つ以上のアーク、又はアーク間の類似度が最も高い値を有する2つのアークを縮約して、1つのアークを生成する。なお、アーク間の類似度は、時間区間の重複度や発音の類似度などに基づいた尺度である。2つ以上のアーク(又は2つのアーク)を縮約するとき、コンフュージョンネットワーク生成部3は、2つ以上のアーク(又は2つのアーク)の事後確率を加えた値を、縮約されたアークの事後確率とする。
次に、コンフュージョンネットワーク生成部3は、残ったアークをそれぞれ含んだ複数の対立候補グループを生成して、対立候補グループ間の類似度が一定値以上の値を有する2つ以上の対立候補グループ、又は対立候補グループ間の類似度が最も高い値を有する2つの対立候補グループを縮約して、1つの対立候補グループを生成する(ラベル間クラスタリング)。対立候補グループ間の類似度は、一方のグループに含まれるアークの時間区間と他方のグループに含まれるアークの時間区間との間の重複度、一方のグループに含まれるアークの発音と他方のグループに含まれるアークの発音の間の類似度などに基づいた尺度である。コンフュージョンネットワーク生成部3は、2つ以上の対立候補グループ(又は2つの対立候補グループ)を縮約して、1つの対立候補グループに生成するとき、ラティスにおけるアークの順序関係を壊さないように、ラティスの始端ノードから終端ノードに至る全ての経路の中で、残ったアークを経由する1つ以上の経路が存在すれば、残ったアークを含んだ2つ以上の対立候補グループ(又は2つの対立候補グループ)を縮約しない。
コンフュージョンネットワーク生成部3は、オリジナルのラティスにおけるアークの時間的前後関係に従って、残った対立候補グループを一列に並べて、各隣接する2つの対立候補グループの間に1つのノードを置いて、各対立候補グループ内の各アークを2つの隣接したノードに結ぶ。これにより、図10に示したコンフュージョンネットワークが構築される。ただし、対立候補グループ内に含まれるアークの事後確率の総和が1に満たない場合には、これは、オリジナルのラティスの始端ノードから終端ノードに至る全ての経路の中で、その対立候補グループに含まれるアークを通らない経路が存在することを意味している。このような経路に対応するラベル列を表現するために、コンフュージョンネットワーク生成部3は、その対立候補グループをスキップできることを意味する特殊ラベル@を有するアークを、その対立候補グループ内に追加する(図11参照)。追加されたアークの事後確率は、下記の式に従って計算される。

1 − (対立候補グループに含まれるアークの事後確率の総和)

転置索引テーブル生成部4は、コンフュージョンネットワーク生成部3から出力された各コンフュージョンネットワークの各アーク情報を、各アークに付与されたラベルごとに分類して、転置索引テーブルを構築する。コンフュージョンネットワークに基づいて転置索引テーブルを構築する手順は、ラティスに基づいて転置索引テーブルを構築する手順と同じである。
コンフュージョンネットワークでは、始端ノードから終端ノードに到る経路はすべてのノードを通るので、ノードの出現確率f(k[e])は常に“1”となる。したがって、転置索引テーブルにノードの出現確率f(k[e])の値を記録する必要はない。また、ノード番号を始端ノードから順にノードに付与することで、先行ノードと後続ノードの番号の間には、次の関係が成立する。

k[e](先行ノード番号) = n[e](後続ノード番号)−1

この関係から、転置索引テーブル生成部4は、先行ノード番号k[e]と後続ノード番号n[e]の両方ではなく、先行ノード番号k[e]だけを転置索引テーブルに登録しておけばよい。すなわち、ラティスをコンフュージョンネットワークに変換することにより、転置索引テーブルに登録するアークの数を削減でき、かつ、アークの情報を削減できる。
図12は、図10に示したコンフュージョンネットワークに基づいて構築された転置索引テーブルを示している。転置索引テーブルに登録された各アークは、データ組(発話ID番号id[e]、先行ノード番号k[e]、事後確率P(e|G))を有する。転置索引テーブル生成部4は、構築された転置索引テーブルをファイルに書き出して、転置索引テーブル記憶部5に出力する。なお、転置索引テーブル生成部4は、構築された転置索引テーブルを直接ラベル列照合部8に出力しても良い。
クエリ入力部6は、ユーザからのクエリの入力を受け付ける。クエリの入力は、キーボードによる文字列入力や、ユーザによる音声入力である。音声入力の場合には、クエリ入力部6は、音声認識処理を行って、音声入力を文字列に変換する。
クエリ変換部7は、クエリとして入力された文字列を、音素、音節、又は単語を単位とするラベル列に変換する。文字列を単語を単位とするラベル列に変換する場合、クエリ変換部7は、単語名と単語間の隣接のしやすさ(連接尤度)に関する情報を利用して、文字列を単語単位に分割した際の隣接する単語間の連接尤度の総和が最大となる単語列を選んで、選ばれた単語列をラベル列とする。文字列を音素又は音節を単位とするラベル列に変換する場合、クエリ変換部7は、単語とその単語の発音表記(音素列又は音節列)の情報を記録した辞書を利用して、文字列に含まれる単語を発音表記に置き換えて、音素列又は音節列を求めて、求められた音素列又は音節列をラベル列とする。なお、この辞書は、音声認識部2で使用される発音辞書とは異なり、英語辞書などの網羅的な辞書であり、一般的に数十万程度の単語を含んでいる。
ラベル列照合部8は、クエリ変換部7から読み込んだラベル列を、転置索引テーブル生成部4から出力された転置索引テーブル又は転置索引テーブル記憶部5に記憶されたファイルから読み込んだ転置索引テーブルと照合して、そのラベル列に含まれる音声データ(発話)の集合を取得する。
コンフュージョンネットワークにおいて、2つのラベル間の隣接性を調べるのは、従来の方法と比較して複雑である。ラティスの場合には、2つのラベル間の隣接性を調べるために、ラベル列照合部は、一方のラベルを有するアーク“e”と他方のラベルを有するアーク“r”に対して、“n[e]=k[r]”が成立しているか否かを調べるだけでよかった。これに対して、コンフュージョンネットワークの場合には、コンフュージョンネットワークが特殊ラベル@を有するので、2つのラベル間の隣接性を調べるために、ラベル列照合部8は、“n[e]=k[r]”が成立しているか否か、アーク“e”とアーク“r”の間に特殊ラベル“@”を有するアークがあるか否か、アーク“e”とアーク“r”の間に特殊ラベル“@”だけを有するアークを通過する経路があるか否かを、調べる必要がある。
本実施形態では、ラベル列照合部8は、クエリのラベル列を1次元配列のグラフで表し、そのクエリのグラフの各ノードに、先行ノードに戻ることを意味する特殊ラベル“@”を有したアークを付与する。それから、ラベル列照合部8は、クエリのグラフとコンフュージョンネットワークの間でインターセクションを計算する。インターセクションの結果として生じたグラフが、空のグラフ、又は始端ノードから終端ノードに到る経路が存在しないグラフであれば、クエリのラベル列はコンフュージョンネットワークに含まれない。ただし、ラベル列照合部8は、インターセクションを計算するときに、クエリのラベル列に出現するラベルを有するアークのみを使用して部分コンフュージョンネットワークを構築して、クエリのグラフと部分コンフュージョンネットワークの間でインターセクションを計算する。部分コンフュージョンネットワークのサイズは、コンフュージョンネットワークのサイズより小さいので、計算量を抑えることができる。
例えば、ラベル列照合部8が、図10に示したコンフュージョンネットワークに、クエリのラベル列“AH”が出現するか否かを調べて、ラベル列“AH”の出現確率を求める場合を考える。ラベル列照合部8は、まず、ラベル“A”、ラベル“H”、特殊ラベル“@”に対応付けられたアークだけからなる部分コンフュージョンネットワークを構築する(図13A参照)。次に、ラベル列照合部8は、クエリのラベル列“AH”に関して、ノード“1”を介して、ラベル“A”を有するアークをラベル“H”を有するアークに接続して、ラベル“A”とラベル“H”に始端ノード“0”と終端ノード“2”をそれぞれ付与する。それから、ラベル列照合部8は、各ノードに特殊ラベル“@”を有するアークを付与して、クエリのグラフを生成する(図13B参照)。最後に、ラベル列照合部8は、クエリのグラフと部分コンフュージョンネットワークの間でインターセクションを計算して、インターセクションの結果として生じたグラフを取得する(図13C参照)。なお、インターセクションの結果として生じたグラフにおいて、各ノードに割り当てられた2つの番号(i, j)は、部分コンフュージョンネットワークのノード番号とクエリのグラフのノード番号にそれぞれ対応する。インターセクションの結果として生じたグラフが、空ではなく、かつ、少なくとも1つの始端ノードから終端ノードに到る経路を有していれば、クエリのラベル列はコンフュージョンネットワークに含まれる。
ここで、2つのグラフG1, G2の間のインターセクションを計算して、計算結果を1つのグラフGに返すアルゴリズムを説明する。このアルゴリズムは次のとおりである。

Intersection (G1, G2)
1 V←I1 × I2
2 S←I1 × I2
3 while S≠Φ do
4 (v1, v2)←HEAD(S)
5 DEQUEUE(S)
6 if (v1, v2) ∈ I1 × I2 then
7 I←I∪{(v1, v2)}
8 if (v1, v2) ∈ F1 × F2 then
9 F←F∪{(v1, v2)}
10 for each (e1, e2)∈E[v1] × E[v2] such that l[e1] =l[e2] do
11 if not (n[e1], n[e2]) ∈ V then
12 V←V∪{(n[e1], n[e2])}
13 ENQUEUE(S, (n[e1], n[e2]))
14 E←E∪{((v1,v2),(n[e1],n[e2]),l[e1],w[e1]×w[e2])}
15 return G

ここで、グラフGは、ノードの集合V、アークの集合H、始端ノードの集合I、終端ノードの集合Fを有し、アークの集合H(v)はノードvに入ってくるアークの集合、k[e]はアークeの先行ノード、n[e]をアークeの後続ノード、l[e]をアークeのラベル、w[e]をアークeの重み、HEAD(S)は待ち行列Sの先頭の要素を返す関数、DEQUEUE(S)は待ち行列Sの先頭の要素を削除する関数、ENQUEUE(S, x)は待ち行列Sの最後に要素xを挿入する関数である。なお、2つのグラフG1, G2に対応するノードとアークを区別するために、各アルファベットに添え字“1”,“2”を付している。
ラベル照合列部8は、インターセクションの結果として生じたグラフにおいて、始端ノードから終端ノードに到る全ての経路の出現確率の総和をForwardアルゴリズムに従って求め、求められた値をクエリのラベル列の出現確率とする。クエリのラベル列の出現確率が0より大きいならば、ラベル列照合部8は、このラベル列を含むコンフュージョンネットワークの転置索引テーブルから発話ID番号を読み取り、このラベル列の発話ID番号と出現確率の組を、検索結果リストに記録する。
図14を参照して、クエリのラベル列に基づいて、このラベル列の発話ID番号と出現確率の組を取得する手順を説明する。
図7に示したフローチャートに従って出力リストCを生成した状態で、ステップS51において、ラベル列照合部8は、引数i, j に“1”,“1”を代入する。ステップS52において、ラベル列照合部8は、クエリのラベル列L1…LMに対応するアークのリストE(L1)…E(LM)に共通して含まれる1つ以上の発話ID番号を出力リストCから抽出して、1つ以上の発話ID番号に番号をつける(すなわち、1つ以上の発話ID番号に登録番号を順に割り当てる)。ステップS53において、ラベル列照合部8は、登録番号jに対応する、アークのリストEj(Li)を転置索引テーブルから読み込む。ステップS54において、ラベル列照合部8は、引数iの値がクエリのラベルの総数Mに等しいか否かを判断する。引数iの値がクエリのラベルの総数Mに等しくない場合には、ラベル列照合部8はステップS55の処理を行う。引数iの値がクエリのラベルの総数Mに等しい場合には、ラベル列照合部8はステップS56の処理を行う。ステップS55において、ラベル列照合部8は、引数jの値を1つ増加させて、ステップS53の処理に戻る。ステップS56において、ラベル列照合部8は、登録番号jに対応するアークのリストEj(@)を転置索引テーブルから読み込む。ステップS57において、ラベル列照合部8は、読み込んだアークのリストの集合{Ej(L1)…Ej(LM), Ej(@)}に含まれる全てのアークを用いて、部分コンフュージョンネットワークDを構築する。ラベル列照合部8は、インターセクションの計算において、部分コンフュージョンネットワークDに含まれる各ノードを始端ノード及び終端ノードと見なす。代わりに、ラベル列照合部8は、クエリの最初のラベルL1と同じラベルを有するアークの先行ノードのみを始端ノード、クエリの最後のラベルLMと同じラベルを有するアークの後続ノードのみを終端ノードと見なしても良い。
ステップS58において、ラベル列照合部8は、クエリのラベル列L1…LMからクエリのグラフQを構築する。具体的には、ラベル列照合部8は、クエリのラベル列L1…LMのラベルLi(1≦i≦M)を有するアークを用意して、クエリのラベル列L1…LMと同じ配列になるように、アークを並べる。そして、ラベル列照合部8は、隣接するアークをノードを介して接続して、クエリのグラフQを構築する。ラベル列照合部8は、アークのリストEj(@)が空でなければ、クエリのグラフQのノードに対して、先行ノードに戻るアークを用意して、そのアークにラベル“@”を割り当てる。なお、クエリのグラフQにおいて、クエリの最初のラベルL1を有するアークの先行ノードを始端ノード、クエリの最後のラベルLMを有するアークの後続ノードを終端ノードとする。
ステップS59において、ラベル列照合部8は、部分コンフュージョンネットワークDとクエリのグラフQとの間のインターセクションを計算して、計算結果をグラフXに返すとともに、部分コンフュージョンネットワークDとクエリのグラフQの合成を計算して、計算結果をグラフXに返す。具体的には、ラベル列照合部8は、インターセクションにおいて、部分コンフュージョンネットワークDの始端ノードとクエリのグラフQの始端ノードから出発して、部分コンフュージョンネットワークDのラベルをクエリのグラフQのラベルと比較して、部分コンフュージョンネットワークDのラベルがクエリのグラフQのラベルに一致するアークを検索する。ラベル列照合部8は、アークを検索するとき、部分コンフュージョンネットワークD(又はクリエのグラフQ)のアークの後続ノードに進んで、後続ノードから出て行く各アークに対して、部分コンフュージョンネットワークDのラベルをクエリのグラフQのラベルと比較して、部分コンフュージョンネットワークDのラベルがクエリのグラフQのラベルに一致する次のアークを検索する。ラベル列照合部8は、上述の処理を繰り返して、検索されたアークと、検索されたアークの先行ノードと後続ノードとの1つ以上の組を取得する。それから、ラベル列照合部8は、1つ以上の組を接続して、新たなグラフXを構築する。新たなグラフXにおいて、検索されたアークを介して始端ノードから終端ノードに至る経路と、検索されたアークの先行ノードと後続ノードが存在すれば、ラベル列照合部8は、クエリのグラフQに含まれるクエリのラベル列が部分コンフュージョンネットワークDに含まれると判断する。
ステップS60において、ラベル列照合部8は、グラフXに終端ノードが存在するか否かを判断する。グラフXに終端ノードが存在しない場合には、ラベル列照合部8はステップS64の処理を行う。グラフXに終端ノードが存在する場合には、ステップS61の処理を行う。ステップS61において、ラベル列照合部8は、グラフXに含まれる経路の重みの総和の値P(L1…LM)をForwardアルゴリズムに従って求める。ステップS62において、ラベル列照合部8は、重みの総和の値P(L1…LM)が0より大きいか否かを判断する。重みの総和の値P(L1…LM)が0より大きくない場合には、ラベル列照合部8はステップS64の処理を行う。重み総和の値P(L1…LM)が0より大きい場合には、ラベル列照合部8はステップS63の処理を行う。ステップS63において、ラベル列照合部8は、発話ID番号と重みの総和の値P(L1…LM)の組を検索結果リストSに記録する。ステップS64において、ラベル列照合部8は、引数jの値が登録番号の最大値Tに等しいか否かを判断する。引数jの値が登録番号の最大値Tに等しくない場合には、ラベル列照合部8はステップS65の処理を行う。引数jの値が登録番号の最大値Tに等しい場合には、ラベル列照合部8はステップS66の処理を行う。ステップS65において、ラベル列照合部8は、引数jの値を1つ増加させるとともに引数Iに“1”を代入して、ステップS53の処理に戻る。ステップS66において、ラベル列照合部8は、検索結果リストSに基づいて、クエリのラベル列に対応する1つ以上の音声データが記憶された音声データベース1内のアドレスを示すポインタを求めて、求められたポインタのリストを検索結果出力部9に出力して、一連の処理を終了する。
検索結果出力部9は、ラベル列照合部8で得られたポインタのリストを読み込む。それから、検索結果出力部9は、読み込んだポインタのリストに基づいて、クエリのラベル列に対応する音声データの情報を音声データベース1から抽出して、抽出された音声データの情報をディスプレイに出力する。検索結果出力部9は、音声データのファイル名とその音声データの時間区間情報の組のリストをディスプレイに表示しても良い。また、ユーザが、ディスプレイに表示されたリストの項目をマウスでクリックすると、検索結果出力部9はクエリのラベル列に対応する音声データを再生しても良い。
次に、図15を参照して、本実施形態の音声データ検索方法を、一例を挙げて説明する。この説明において、図3乃至5,10乃至13Cに示したアーク(ラベル)“A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”は、単語“Kyoto”,“to”,“at”,“Tokyo”,“the”,“this”,“Asian”,“ancient”,“capital”,“capacity”をそれぞれ表していると仮定する。
ステップS71において、音声認識部2は、音声データベース1から音声データを読み込み、図3に示した有向グラフ型(単語ラティス)のデータ構造で、複数の音声認識結果の候補をコンフュージョンネットワーク生成部3に出力する。ステップS72において、コンフュージョンネットワーク生成部3は、単語ラティスを、図10に示したコンフュージョンネットワークに変換して、コンフュージョンネットワークを転置索引テーブル生成部4に出力する。ステップS73において、転置索引テーブル生成部4は、コンフュージョンネットワークに基づいて図12に示した転置索引テーブルを構築して、転置索引テーブルを転置索引テーブル記憶部5に出力する。ステップS74において、クエリ入力部6は、ユーザからのクエリの入力(Kyoto ancient)を受け付ける。ステップS75において、クエリ変換部7は、クエリとして入力された文字列 “Kyoto ancient” を、単語を単位とするラベル列 “Kyoto”,“ancient” に変換する。なお、ステップS74,S75の処理は、ステップS71の処理前に行ってもよいし、ステップS71乃至S73の処理と同時に行ってもよい。
ステップS76において、ラベル列照合部8は、クエリ変換部7から読み込んだクエリのラベル列 “Kyoto”,“ancient”と、転置索引テーブル記憶部5に記憶された転置索引テーブルを読み込む。ステップS77において、ラベル列照合部8は、クエリのラベル列“Kyoto”,“ancient”と転置索引テーブルを参照して、ラベル“Kyoto”,ラベル“ancient”,特殊ラベル@に対応付けられたアークだけからなる、図13Aに示した部分コンフュージョンネットワークを構築する。ステップS78において、ラベル列照合部8は、クエリのラベル列 “Kyoto”,“ancient” から、図13Bに示したクエリのグラフを構築する。ステップS79において、ラベル列照合部8は、クエリのグラフと部分コンフュージョンネットワークの間でインターセクションを計算して、図13Cに示したグラフを生成する。ステップS80において、ラベル列照合部8は、図13Cに示したグラフにおいて、始端ノードから終端ノードに至る全ての経路に対する出現確率の総和を求めて、求められた値をクエリのラベル列の出現確率とする。ステップS81において、ラベル列照合部8は、ラベル列 “Kyoto”,“ancient” を含むコンフュージョンネットワークの転置索引テーブルから発話ID番号を読み取り、ラベル列の発話ID番号と出現確率の組を検索結果リストに加える。ステップS82において、ラベル列照合部8は、検索結果リストに基づいて、クエリのラベル列に対応する1つ以上の音声データが記録された音声データベース1内の1つ以上のアドレスを示す1つ以上のポインタを求めて、求められたポインタのリストを検索結果出力部9に出力する。ステップS83において、検索結果出力部9は、ラベル列照合部8で得られたポインタのリストを読み込んで、クエリのラベル列に対応する音声データの情報を音声データベース1から抽出する。ステップS84において、検索結果出力部9は、抽出された音声データの情報をディスプレイに出力する。
次に、本実施形態における転置索引テーブルの削減効果及び音声データ検索性能を説明する。
音声データベース1は、マサチューセッツ工科大学のコンピュータ科学の約6時間分の講義音声データからなる。音声認識処理は、単語をラベルとする単語ラティスを出力する連続単語認識システムと、音素をラベルとする音素ラティスを出力する連続音素認識システムを利用する。音声認識部2は、連続単語認識システムと連続音素認識システムを、任意のタイミングで切り替えることができる。また、音声認識部2は、信号のパワー情報などを利用して、講義音声データを3,4秒程度の発話に分割して、分割された発話ごとにラティスを生成する。コンフュージョンネットワーク生成部3は、各生成されたラティスをコンフュージョンネットワークに変換し、コンフュージョンネットワークを転置索引テーブル生成部4に出力する。転置索引テーブル生成部4は、コンフュージョンネットワークに基づいて転置索引テーブルを生成して、転置索引テーブル記憶部5に出力する。その後、音声データ検索装置10はクエリの入力待ちの状態になる。
クエリ入力部6は、キーボード、又はキーワードを記録したデータファイルからクエリを受け付ける。クエリ変換部7は、音素をラベルとする場合には、予め用意した辞書を利用して、クエリの各単語を音素列に変換する。ラベル列照合部8は、クエリのラベル列と転置索引テーブルを照合して、クエリのラベル列を含む発話ID番号のリストをディスプレイに出力する。
図16は、本実施形態における転置索引テーブルの削減効果及び音声データ検索性能を示す。無作為に設定した115個のクエリを用いた。115個のクエリは、音声認識部2で使用される発音辞書及び言語モデルに登録されていない未登録語である15個のクエリを含んでいる。クエリの長さは平均2.3単語である。本発明の音声データ検索方法と従来の音声データ検索方法を比較するために、単語ラティスに基づいてクエリのラベル列を解析するシステムと、音素ラティスに基づいてクエリのラベル列を解析するシステムを構築した。
検索性能の評価にはF値という尺度を用いた。F値は、検索された音声データのうち、正しかった音声データの割合(適合率)と、実際に存在する音声データのうち、見付かった音声データの割合(再現率)の調和平均をとった値である。F値は0〜100%の値をとる。F値が増加するにつれて、検索性能が向上する。
図16に示すように、1つの音声認識候補(単語列)を用いる音声データ検索方法は、複数の音声認識候補(単語列又は音素列)を用いる他の音声データ検索方法と比較して、転置索引テーブルのファイルサイズは低く抑えられているが、F値は最も低い値を示している。単語コンフュージョンネットワークを用いる音声データ検索方法は、単語ラティスを用いる従来の音声データ検索方法と比較して、転置索引テーブルのファイルサイズは低く抑えられており、かつ、F値は比較的高い値を示している。音素コンフュージョンネットワークを用いる音声データ検索方法は、音素ラティスを用いる従来の音声データ検索方法と比較して、転置索引テーブルのファイルサイズは低く抑えられており、かつ、F値は比較的高い値を示している。特に、音素コンフュージョンネットワークを用いた音声データ検索方法は、音声認識部2において発音辞書及び言語モデルに登録されていない未登録語を含む未登録語クエリ(out-of-vocabulary word (OOV) query)におけるF値は比較的高い値を示しており、かつ、他の音声データ検索方法と比較して、F値は最も高い値を示している。
次に、音声データ検索装置10の有利な特徴を説明する。
音声データ検索装置10が実行する音声データ検索方法は、ラティスを用いる従来の音声データ検索方法と比較して、転置索引テーブルのファイルサイズを抑えることができる。
音声データ検索装置10が実行する音声データ検索方法は、音素ラティスを用いる従来の音声データ検索方法と比較して、音声認識に用いられる言語モデルに拘束されない、高精度な検索を行うことができる。
音声データ検索装置10を使用した音声データ検索方法は、コンフュージョンネットワークに基づいて、クエリのラベル列に出現するラベルを有するアークだけからなる部分コンフュージョンネットワークを構築するので、コンフュージョンネットワークを利用する際に、有効な転置索引テーブルの検索を行うことができる。

(第2実施形態)
図17及び18を参照して、本発明の第2実施形態を説明する。第1実施形態の音声データ検索装置10は、1種類の有向グラフ(音素ラティス、音節ラティス、又は単語ラティス)を用いて音声データを検索している。これに対して、第2実施形態の音声データ検索装置30は、N(N≧2)種類の有向グラフを用いて音声データを検索する。
図17に示すように、音声データ検索装置30は、音声データベース1、音声認識部2…2、コンフュージョンネットワーク生成部3…3、転置索引テーブル生成部4…4、転置索引テーブル記憶部5…5、クエリ入力部6、クエリ変換部7…7、ラベル列照合部8…8、検索結果出力部9、検索結果統合部20を備えている。
音声認識部2(1≦i≦N)は、音声データベース1に接続されている。コンフュージョンネットワーク生成部3(1≦i≦N)は、音声認識部2と転置索引テーブル生成部4(1≦i≦N)に接続されている。転置索引テーブル記憶部5(1≦i≦N)は、転置索引テーブル生成部4とラベル列照合部8(1≦i≦N)に接続されている。ラベル列照合部8iは、クエリ変換部7(1≦i≦N)と検索結果統合部20に接続されている。
音声認識部2…2の構成は、第1実施形態の音声認識部2の構成と同じである。音声認識部2…2で使用されるN個の有向グラフは互いに異なっている。音声認識部2…2は、音声データベース1から音声データを読み取り、音声認識処理を実行する。コンフュージョンネットワーク生成部3…3の構成は、第1実施形態のコンフュージョンネットワーク生成部3の構成と同じである。コンフュージョンネットワーク生成部3…3は、音声認識部2…2から出力された音素ラティス、音節ラティス、又は単語ラティスなどのN個の有向グラフ型のデータ構造をコンフュージョンネットワークにそれぞれ変換する。転置索引テーブル生成部4…4の構成は、第1実施形態の転置索引テーブル生成部4の構成と同じである。転置索引テーブル生成部4…4は、コンフュージョンネットワーク生成部3…3から出力された各コンフュージョンネットワークの各アーク情報を、各アークに付与されたラベルごとに分類して、N個の転置索引テーブルをそれぞれ構築する。転置索引テーブル記憶部5…5の構成は、第1実施形態の転置索引テーブル記憶部5の構成と同じである。転置索引テーブル記憶部5…5は、転置索引テーブル生成部4…4から出力されたN個の転置索引テーブルをそれぞれ記憶する。
クエリ変換部7…7の構成は、第1実施形態のクエリ変換部7の構成と同じである。クエリ変換部7…7は、クエリとして入力された文字列をN個のラベル列にそれぞれ変換する。ラベル列照合部8…8の構成は、第1実施形態のラベル列照合部8の構成と同じである。ラベル列照合部8…8は、クエリ変換部7…7で生成されたラベル列のN個のグラフと、コンフュージョンネットワーク生成部3…3で生成されたN個のコンフュージョンネットワークに基づいて構築されたN個の部分コンフュージョンネットワークの間でインターセクションを計算する。
検索結果統合部20は、ラベル列照合部8…8で得られた1つ以上の検索結果リストを読み込んで、1つの検索結果リストに統合する。検索結果統合部20は、2つ以上の検索結果リストを読み込んだ場合には、これらの検索結果リストを統合する過程において、同一のラベル列の発話IDを有する2つ以上の組が存在するか否かを検索する。同一のラベル列の発話IDを有する2つ以上の組が存在すれば、検索結果統合部20は、ラベル列の出現確率が一番大きな値を有する組を残して、他の組を削除する。それから、検索結果統合部20は、統合された検索結果リストに基づいて、クエリのラベル列に対応する1つ以上の音声データが記憶された音声データベース1内の1つ以上のアドレスを示す1つ以上のポインタを求めて、求められたポインタのリストを検索結果出力部9に出力する。検索結果出力部9は、検索結果統合部20で得られたポインタのリストを読み込む。それから、検索結果出力部9は、読み込んだポインタのリストに基づいて、クエリのラベル列に対応する音声データの情報を音声データベース1から抽出して、抽出された音声データの情報をディスプレイに出力する。
次に、図18を参照して、本実施形態の音声データ検索方法を、一例を挙げて説明する。
ステップS91において、音声認識部2i(1≦i≦N)は、音声データベース1から音声データを読み込み、音響モデル、発音辞書、及び言語モデルを参照して、音声認識部2iに対応する有向グラフ型のデータ構造で、複数の音声認識結果の候補をコンフュージョンネットワーク生成部3i(1≦i≦N)に出力する。ステップS92において、コンフュージョンネットワーク生成部3iは、音声認識部2iに対応する有向グラフをコンフュージョンネットワークに変換して、コンフュージョンネットワークを転置索引テーブル生成部4i(1≦i≦N)に出力する。ステップS93において、転置索引テーブル生成部4iは、コンフュージョンネットワークに基づいて転置索引テーブルを構築して、転置索引テーブルを転置索引テーブル記憶部5i(1≦i≦N)に出力する。ステップS94において、クエリ入力部6は、ユーザからのクエリの入力を受け付ける。ステップS95において、クエリ変換部7i(1≦i≦N)は、自身の辞書を参照して、クエリとして入力された文字列を、対応するラベル列に変換する。なお、ステップS94,S95の処理は、ステップS91の処理前に行ってもよいし、ステップS91乃至S93の処理と同時に行ってもよい。
ステップS96において、ラベル列照合部8i(1≦i≦N)は、クエリ変換部7iから読み込んだクエリのラベル列と、転置索引テーブル記憶部5iに記憶された転置索引テーブルを読み込む。ステップS97において、ラベル列照合部8iは、クエリのラベル列と転置索引テーブルを参照して、クエリのラベル列を構成する1つ以上のラベル及び特殊ラベル@に対応付けられたアークだけからなる、部分コンフュージョンネットワークを構築する。ステップS98において、ラベル列照合部8iは、クエリのラベル列に基づいてクエリのグラフを生成する。ステップS99において、ラベル列照合部8iは、クエリのグラフと部分コンフュージョンネットワークの間でインターセクションを計算して、グラフを生成する。ステップS100において、ラベル列照合部8iは、ステップS99で生成されたグラフにおいて、始端ノードから終端ノードに至る全ての経路に対する出現確率の総和を求めて、求められた値をクエリのラベル列の出現確率とする。ステップS101において、ラベル列照合部8iは、クエリのラベル列を含むコンフュージョンネットワークの転置索引テーブルから発話ID番号を読み取り、ラベル列の発話ID番号と出現確率の組を検索結果リストに加える。ステップS102において、検索結果統合部20は、ラベル列照合部8…8で得られた1つ以上の検索結果リストを読み込んで、1つの検索結果リストに統合して、統合された検索結果リストに基づいて、クエリのラベル列に対応する1つ以上の音声データが記憶された音声データベース1内の1つ以上のアドレスを示す1つ以上のポインタを求めて、求められたポインタのリストを検索結果出力部9に出力する。ステップS103において、検索結果出力部9は、検索結果統合部20で得られたポインタのリストを読み込んで、読み込んだポインタのリストに基づいてクエリのラベル列に対応する音声データの情報を音声データベース1から抽出する。ステップS104において、検索結果出力部9は、抽出された音声データの情報をディスプレイに出力する。
次に、音声データ検索装置30の有利な特徴を説明する。
音声データ検索装置30が実行する音声データ検索方法は、音声データ検索装置10が実行する音声データ検索方法の有利な特徴に加えて、複数のラベル体系を用いた音声データ検索処理を並列に実行することができる。

(第3実施形態)
図19及び23を参照して、本発明の第3実施形態を説明する。第2実施形態の音声データ検索装置20は、ラベル体系ごとに独立して音声データを検索している。これに対して、本実施形態の音声データ検索装置50は、全てのラベル体系を結合した結合ネットワークを用いて音声データを検索する。本実施形態の音声データ検索方法は、クエリとして入力される文字列が、音声認識部2で使用される発音辞書と言語モデルに登録されていない未登録単語を含む場合に有効である。
図19に示すように、音声データ検索装置50は、音声データベース1、音声認識部2…2、コンフュージョンネットワーク生成部3…3、転置索引テーブル生成部4、転置索引テーブル記憶部5、クエリ入力部6、クエリ変換部7、ラベル列照合部8、検索結果出力部9、コンフュージョンネットワーク結合部40を備えている。例えば、音声データ検索装置50は、2種類の有向グラフ(音素ラティス及び単語ラティス)を用いて音声データを検索する場合には、音声認識部2,2及びコンフュージョンネットワーク生成部3,3を有する。
音声認識部2(1≦i≦N)は、音声データベース1に接続されている。コンフュージョンネットワーク生成部3(1≦i≦N)は、音声認識部2とコンフュージョンネットワーク結合部40に接続されている。転置索引テーブル生成部4は、コンフュージョンネットワーク結合部40と転置索引テーブル記憶部5に接続されている。
音声認識部2…2の構成は、第1実施形態の音声認識部2の構成と同じである。音声認識部2…2で使用されるN個の有向グラフは互いに異なっている。音声認識部2…2は、音声データベース1から音声データを読み取り、音声認識処理を実行する。コンフュージョンネットワーク生成部3…3の構成は、第1実施形態のコンフュージョンネットワーク生成部3の構成と同じである。コンフュージョンネットワーク生成部3…3は、音声認識部2…2から出力された音素ラティス、音節ラティス、又は単語ラティスなどのN個の有向グラフ型のデータ構造をN個のコンフュージョンネットワークにそれぞれ変換する。
コンフュージョンネットワーク結合部40は、コンフュージョンネットワーク生成部3…3から出力されたN個のコンフュージョンネットワークを結合して、1つの結合ネットワークを生成する。例えば、音声データ検索装置50が、2種類の有向グラフ(音素ラティス及び単語ラティス)を用いて音声データを検索する場合、コンフュージョンネットワーク生成部3から出力された音素コンフュージョンネットワーク(又は単語コンフュージョンネットワーク)と、コンフュージョンネットワーク生成部3から出力された単語コンフュージョンネットワーク(又は音素コンフュージョンネットワーク)を結合して、単語−音素結合ネットワークを構築する。転置索引テーブル生成部4は、コンフュージョンネットワーク結合部40から出力された結合ネットワークの各アーク情報を、各アークに付与されたラベルごとに分類して、転置索引テーブルを構築する。
クエリ変換部7は、クエリとして入力された文字列をラベル列に変換する。例えば、音声データ検索装置50が、2種類の有向グラフ(音素ラティス及び単語ラティス)を用いて音声データを検索する場合、クエリ変換部7は、最初に、辞書を利用して、クエリとして入力された文字列を単語列に変換する。それから、クエリ変換部7は、音声認識部2で使用される発音辞書と言語モデルに登録されている登録単語を単語として扱い、かつ、音声認識部2で使用される発音辞書と言語モデルに登録されていない未登録単語を音素列として扱うことにより、単語列を、音素と単語が混合したラベル列に変換する。
ラベル列照合部8は、クエリ変換部7で生成されたラベル列のグラフと、コンフュージョンネットワーク結合部40で生成された結合ネットワークから構築された部分コンフュージョンネットワークの間でインターセクションを計算する。そして、ラベル列照合部8は、検索結果リストSに基づいて、クエリのラベル列に対応する1つ以上の音声データが記録された音声データベース1内の1つ以上のアドレスを示す1つ以上のポインタを求めて、求められたポインタのリストを検索結果出力部9に出力する。例えば、音声データ検索装置50が2種類の有向グラフ(音素ラティス及び単語ラティス)を用いて音声データを検索する場合、ラベル列照合部8は、クエリ変換部7で生成されたラベル列のグラフと、コンフュージョンネットワーク結合部40で生成された単語−音素結合ネットワークから構築された部分コンフュージョンネットワークの間でインターセクションを計算する。
次に、図20乃至図22Cを参照して、コンフュージョンネットワーク結合部40において結合ネットワークを生成する方法を、一例を挙げて説明する。ここで、コンフュージョンネットワーク結合部40は、コンフュージョンネットワーク生成部3から、図21Aに示した音素コンフュージョンネットワークを受け取り、かつ、コンフュージョンネットワーク生成部3から、図21Bに示した単語コンフュージョンネットワークを受け取る。なお、単語Aの発音表記は記号“a1”,“a2”,“ a3”であり、単語Bの発音表記は記号“b1”,“b2”であり、単語Cの発音表記は記号“c1”である。
ステップS111において、コンフュージョンネットワーク結合部40は、音素コンフュージョンネットワークの各音素ラベルを、入力ラベルと出力ラベルの組に変換して、音素コンフュージョンネットワークに基づいて第1有限状態変換器を生成する(図22A参照)。入力ラベルは、音素ラベルと、その音素ラベルが付与されたアークの始端ノードと終端ノードの番号からなる。出力ラベルは音素ラベルからなる。第1有限状態変換器は、各アークのラベルとして、入力ラベルと出力ラベルの組を有する有向グラフである。第1有限状態変換器は、第1有限状態変換器の始端ノードから終端ノードに至る実現可能な経路を表現した入力ラベル列を、その入力ラベル列に対応する出力ラベル列に置き換えるモデルとして、ラベル列の変換規則を表現している。例えば、図21Aに示した音素コンフュージョンネットワークにおいて、音素ラベル“a3”は、音素ラベル“a3”が付与されたアークの始端ノードの番号が“2”、終端ノードの番号が“3”であるため、入力ラベルと出力ラベルの組“a3(2-3):a3”に変換される。ただし、“:”は入力ラベルと出力ラベルを区切るための記号である。
ステップS112において、コンフュージョンネットワーク結合部40は、単語コンフュージョンネットワークの各単語ラベルとその単語ラベルのアークを、その単語の発音を表す音素列ラベルとその音素列ラベルを構成する1つ以上の音素ラベルが付与された1つ以上のアークに置き換える。音素ラベルが付与された2つの隣接したアークの間には、ノードが置かれる。さらに、コンフュージョンネットワーク結合部40は、各音素ラベルを、入力ラベルと出力ラベルの組に変換して、単語コンフュージョンネットワークに基づいて第2有限状態変換器を生成する(図22B参照)。入力ラベルは音素ラベルからなる。出力ラベルは、単語ラベルとその単語ラベルの位置情報(単語の最初の音素、単語の最後の音素、又は単語の最初又は最後以外の位置で出現する音素)からなる。例えば、単語“A”の最初の音素が音素“a1”である場合、第2有限状態変換器のアークは、音素“a1”が付与された入力ラベルと、単語“A”と単語“A”の最初を表す記号“_s”を結合した記号“A_s”が付与された出力ラベルの組“a1:A_s”で表現される。単語“A”の最後の音素が“a3”である場合、第2有限状態変換器のアークは、音素“a3”が付与された入力ラベルと、単語“A”と単語“A”の最後を表す記号“_e”を結合した記号“A_e”が付与された出力ラベルの組“a3:A_e”で表現される。単語“A”の最初又は最後以外の音素が音素“a2”である場合、第2有限状態変換器のアークは、音素“a2”を付与された入力ラベルと、記号“@”が付与された出力ラベルの組“a2:@”で表現される。単語“C”の最初かつ最後の音素が“c1”である(発音が一音素である)場合、第2有限状態変換器のアークは、音素“c1”が付与された入力ラベルと、単語“C”が付与された出力ラベルの組“c1:C”で表現される。また、コンフュージョンネットワーク結合部40は、第2有限状態変換器の各ノードに、自身の先行ノードに戻るアークを加えて、加えられたアークにラベル“@:@”を付与する。
ステップS113において、コンフュージョンネットワーク結合部40は、2つのグラフの合成を計算するアルゴリズムに従って、第1有限状態変換器と第2有限状態変換器を合成して、第3有限状態変換器を生成する(図22C参照)。具体的には、コンフュージョンネットワーク結合部40は、第1有限状態変換器の出力ラベル列が第2有限状態変換器の入力ラベル列に一致するように、第1有限状態変換器の各経路を第2有限状態変換器の各経路に対応付けて、第1有限状態変換器と第2有限状態変換器を合成する。第3有限状態変換器において、各ノードは、第1有限状態変換器の対応するノードの番号と、第2有限状態変換器の対応するノードの番号の組を有する。また、第3有限状態変換器において、各アークは、音素の位置情報と単語の位置情報を組にしたラベルを有する。
2つのグラフG1, G2の合成するアルゴリズムを説明する。このアルゴリズムは次のとおりである。

Composition (G1, G2)
1 V←I1 × I2
2 S←I1 × I2
3 while S≠Φ do
4 (v1, v2)←HEAD(S)
5 DEQUEUE(S)
6 if (v1, v2) ∈ I1 × I2 then
7 I←I∪{(v1, v2)}
8 if (v1, v2) ∈ F1 × F2 then
9 F←F∪{(v1, v2)}
10 for each (e1, e2)∈E[v1] × E[v2] such that o[e1] = i[e2] do
11 if not (n[e1], n[e2]) ∈ V then
12 V←V∪{(n[e1], n[e2])}
13 ENQUEUE(S, (n[e1], n[e2]))
14 E←E∪{((v1, v2),(n[e1],n[e2]), i[e1],o[e2])}
15 return G

ここで、グラフGは、ノードの集合V、アークの集合H、始端ノードの集合I、終端ノードの集合Fを有し、アークの集合H(v)はノードvに入ってくるアークの集合、k[e]はアークeの先行ノード、n[e]をアークeの後続ノード、i[e]をアークeの入力ラベル、o[e]をアークeの出力ラベル、HEAD(S)は待ち行列Sの先頭の要素を返す関数、DEQUEUE(S)は待ち行列Sの先頭の要素を削除する関数、ENQUEUE(S, x)は待ち行列Sの最後に要素xを加える関数である。なお、2つのグラフG1, G2は有限状態変換器を表している。2つのグラフG1, G2に対応するノードとアークを区別するために、各アルファベットに添え字“1”,“2”を付している。
ステップS114において、コンフュージョンネットワーク結合部40は、第3有限状態変換器に基づいて単語‐音素結合ネットワークを生成する(図21C参照)。例えば、第3有限状態変換器のラベル“a1(0-1):A_s”は、音素“a1”が音素コンフュージョンネットワークのノード“0”とノード“1”の間に張られたアークのラベルであり、かつ、単語“A”の最初の音素であることを表している。また、第3有限状態変換器のラベル“a3(2-3):A_e”は、音素“a3”が音素コンフュージョンネットワークのノード“2”とノード“3”の間に張られたアークのラベルであり、かつ、単語“A”の最後の音素であることを表している。それゆえ、単語コンフュージョンネットワークにおいて、コンフュージョンネットワーク結合部40は、単語“A”のラベルが付与されたアークを、音素コンフュージョンネットワークのノード“0”とノード“3”の間に付与できる。さらに、第3有限状態変換器のラベル“c1(3-4):C”は、音素“c1”が音素コンフュージョンネットワークのノード“3”とノード“4”の間に張られたアークのラベルであり、かつ、単語“C”の最初かつ最後の音素であることを表している。それゆえ、コンフュージョンネットワーク結合部40は、単語コンフュージョンネットワークにおいて、単語“C”のラベルが付与されたアークを、音素コンフュージョンネットワークのノード“3”とノード“4”の間に付与できる。このように、単語‐音素結合ネットワークでは、単語コンフュージョンネットワークのアークが、単語の順序関係を変えることなく、音素コンフュージョンネットワークに追加されており、各単語のアークの先行ノードと後続ノードの間に、各単語の発音(音素列)を表す経路が含まれている。
音声データ検索装置50が、クエリとして単語列“BD”を検索する場合を考える。なお、単語“D”は未登録単語であって、単語“D”の発音は“a3”,“c1”であると仮定する。ラベル列照合部8は、登録単語“B”を単語として扱い、未登録単語“D”を音素列“a3”,“c1”として扱う。ラベル列照合部8は、ラベル列“B”,“a3”,“c1”が図21Cに示した単語‐音素結合ネットワークの経路に含まれるので、クエリとして単語列“BD”を検索することができる。
次に、図23を参照して、本実施形態の音声データ検索方法を、一例を挙げて説明する。
ステップS121において、音声認識部2i(1≦i≦N)は、音声データベース1から音声データを読み込み、音響モデル、発音辞書、及び言語モデルを参照して、音声認識部2iに対応する有向グラフ型のデータ構造で、複数の音声認識結果の候補をコンフュージョンネットワーク生成部3i(1≦i≦N)に出力する。ステップS122において、コンフュージョンネットワーク生成部3iは、音声認識部2iに対応する有向グラフをコンフュージョンネットワークに変換して、コンフュージョンネットワーク結合部40に出力する。ステップS123において、コンフュージョンネットワーク結合部40は、コンフュージョンネットワーク生成部3…3から出力されたN個のコンフュージョンネットワークを結合して、1つの結合ネットワークを生成して、結合ネットワークを転置索引テーブル生成部4に出力する。ステップS124において、転置索引テーブル生成部4は、結合ネットワークに基づいて転置索引テーブルを構築して、転置索引テーブルを転置索引テーブル記憶部5に出力する。ステップS125において、クエリ入力部6は、ユーザからのクエリの入力を受け付ける。ステップS126において、クエリ変換部7は、自身の辞書を参照して、クエリとして入力された文字列を、対応するラベル列に変換する。なお、ステップS125,S126の処理は、ステップS121の処理前に行ってもよいし、ステップS121乃至S124の処理と同時に行ってもよい。
ステップS127において、ラベル列照合部8は、クエリ変換部7から読み込んだクエリのラベル列と、転置索引テーブル記憶部5に記憶された転置索引テーブルを読み込む。ステップS128において、ラベル列照合部8は、登録単語を単語として扱い、かつ、未登録単語を音素列として扱うことにより、クエリのラベル列と転置索引テーブルを参照して、クエリのラベル列を構成する1つ以上のラベル及び特殊ラベル“@”に対応付けられたアークだけからなる、部分コンフュージョンネットワークを生成する。ステップS129において、ラベル列照合部8は、登録単語を単語として扱い、かつ、未登録単語を音素列として扱うことにより、クエリのラベル列から、クエリのグラフを生成する。ステップS130において、ラベル列照合部8は、クエリのグラフと部分コンフュージョンネットワークの間でインターセクションを計算して、グラフを生成する。ステップS131において、ラベル列照合部8は、ステップS130で生成されたグラフにおいて、始端ノードから終端ノードに至る全ての経路に対する出現確率の総和を求めて、求められた値をクエリのラベル列の出現確率とする。ステップS132において、ラベル列照合部8は、クエリのラベル列を含むコンフュージョンネットワークの転置索引テーブルから発話ID番号を読み取り、ラベル列の発話ID番号と出現確率の組を検索結果リストに記録する。ステップS133において、ラベル列照合部8は、検索結果リストに基づいて、クエリのラベル列に対応する1つ以上の音声データが記録された音声データベース1内の1つ以上のアドレスを示す1つ以上のポインタを求めて、求められたポインタのリストを検索結果出力部9に出力する。ステップS134において、検索結果出力部9は、ラベル列照合部8で得られたポインタのリストを読み込んで、クエリのラベル列に対応する音声データの情報を音声データベース1から抽出する。ステップS135において、検索結果出力部9は、抽出された音声データの情報をディスプレイに出力する。
次に、音声データ検索装置50の有利な特徴を説明する。
音声データ検索装置50が実行する音声データ検索方法は、音声データ検索装置10が実行する音声データ検索方法の有利な特徴に加えて、クエリに登録単語と未登録単語の両方が含まれていても音声データを検索することができる。
単語をラベルとして音声認識を行う場合、クエリに未登録単語が含まれていると、未登録単語は、従来の音声データ検索装置では正しく認識されず、かつ、コンフュージョンネットワークの中にも出現しない。それゆえ、クエリに未登録単語が含まれていると、従来の音声データ検索装置は、その未登録単語により、音声データを検索することができない。一方、音素をラベルとして音声認識を行う場合、従来の音声データ検索装置は、クエリに含まれる全ての単語を音素列に変換してからラベル列の照合を行う。それゆえ、クエリに未登録単語が含まれていても、従来の音声データ検索装置は、音声データを検索することができる可能性がある。しかしながら、単語を音素列などの発音表記に変換すると、従来の音声データ検索装置は、同音異義語(発音は同じで表記が異なる単語)の区別ができなくなるので、登録単語に関する音声データ検索の精度が劣化する可能性がある。
本実施形態のように、クエリに含まれる登録単語を単語として扱い、かつ、クエリに含まれる未登録単語を音素列として扱うことにより、上述の問題を解決することができる。
本発明に係る音声データ検索装置、音声データ検索方法、及び音声データ検索プログラムは、次の有利な特徴を有している:(1)転置索引テーブルのファイルサイズを抑えることができる;(2)音声認識に用いられる言語モデルに拘束されない、高精度な検索ができる;(3)転置索引テーブルのサイズを抑えるために作成されるコンフュージョンネットワークを利用する際に、有効な転置索引テーブルの検索ができる。

Claims (8)

  1. 複数の音声データを記憶する音声データベースと、
    前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力する音声認識部と、
    前記音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力するコンフュージョンネットワーク生成部と、
    前記コンフュージョンネットワーク生成部から出力された前記コンフュージョンネットワークに基づいて転置索引テーブルを生成する転置索引テーブル生成部と、
    ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、
    前記クエリ入力部から出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換するクエリ変換部と、
    前記クエリ変換部から読み出したラベル列を前記転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力するラベル列照合部と、
    を備え、
    前記ラベル列照合部は、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記ラベル列からクエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする音声データ検索装置。
  2. 前記ラベル列照合部は、前記転置索引テーブルを参照して、前記ラベル列に含まれる1つ以上のラベルに割り当てられた1つ以上のアークによって構成されるように前記部分コンフュージョンネットワークを生成し、前記ラベル列を1次元配列のグラフで表し、自身のノードに戻るアークを前記1次元配列のグラフの各ノードに付与して前記クエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする請求項1に記載の音声データ検索装置。
  3. 複数の音声データを記憶する音声データベースと、
    2つ以上の音声認識部と、
    各音声認識部は、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力し、
    ある音声認識部から出力されるあるラティスの基本単位は、他の音声認識部から出力される他のラティスの基本単位とは異なり、
    前記2つ以上の音声認識部にそれぞれ接続された2つ以上のコンフュージョンネットワーク生成部と、
    各コンフュージョンネットワーク生成部は、前記各音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果をコンフュージョンネットワークとして出力し、
    前記2つ以上のコンフュージョンネットワーク生成部にそれぞれ接続された2つ以上の転置索引テーブル生成部と、
    各転置索引テーブル生成部は、前記各コンフュージョンネットワーク生成部から出力された前記コンフュージョンネットワークに基づいて転置索引テーブルを生成し、
    ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、
    2つ以上のクエリ変換部と、
    各クエリ変換部は、前記クエリ入力部から出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換し、
    あるクエリ変換部で変換されるあるラベル列の基本単位は、他のクエリ変換部で変換される他のラベル列の基本単位とは異なり、
    前記2つ以上の転置索引テーブル生成部及び前記2つ以上のクエリ変換部にそれぞれ接続された2つ以上のラベル列照合部と、
    各ラベル列照合部は、前記各クエリ変換部から読み出したラベル列を前記各転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索し、
    前記2つ以上のラベル列照合部から検索結果を読み出して、前記読み出された検索結果を統合して検索結果リストを生成して、前記検索結果リストに含まれる音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力する検索結果統合部と、
    を備え、
    前記各ラベル列照合部は、前記各転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記ラベル列からクエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする音声データ検索装置。
  4. 複数の音声データを記憶する音声データベースと、
    つの音声認識部と、
    各音声認識部は、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素又は単語を基本単位とするラティスとして出力し、
    一方の音声認識部から出力されるあるラティスの基本単位は、他の音声認識部から出力される他のラティスの基本単位とは異なり、
    前記2つの音声認識部にそれぞれ接続された2つのコンフュージョンネットワーク生成部と、
    各コンフュージョンネットワーク生成部は、前記各音声認識部から出力されたラティスに基づいてコンフュージョンネットワーク生成して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力し、
    前記2つのコンフュージョンネットワーク生成部から出力された音素コンフュージョンネットワークと単語コンフュージョンネットワークを結合して、音素‐単語結合ネットワーク生成し、前記音素‐単語結合ネットワークを出力するコンフュージョンネットワーク結合部と、
    前記コンフュージョンネットワーク結合部は、前記音素コンフュージョンネットワークの各音素ラベルを第1入力ラベルと第1出力ラベルの組に変換して第1有限状態変換器を生成し、
    前記第1入力ラベルは、対応する音素ラベルと、前記対応する音素ラベルが付与されたアークの始端ノードと終端ノードの番号からなり、
    前記第1出力ラベルは、前記対応する音素ラベルからなり、
    前記コンフュージョンネットワーク結合部は、前記単語コンフュージョンネットワークの各単語ラベルと前記単語ラベルのアークを、前記単語の発音を表す音素列ラベルと前記音素列ラベルを構成する音素ラベルが付与されたアークにそれぞれ置き換えて、更に各音素ラベルを第2入力ラベルと第2出力ラベルの組に変換して第2有限状態変換器を生成し、
    前記第2入力ラベルは、対応する音素ラベルからなり、
    前記第2出力ラベルは、対応する単語ラベルと、前記対応する単語ラベルの位置情報からなり、
    前記コンフュージョンネットワーク結合部は、前記第1有限状態変換器と前記第2有限状態変換器を合成して、前記音素−単語結合ネットワークを生成し、
    前記コンフュージョンネットワーク結合部から出力された音素‐単語結合ネットワークに基づいて転置索引テーブルを生成する転置索引テーブル生成部と、
    ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、
    前記クエリ入力部から出力された文字列を、音素及び単語を基本単位とするラベル列に変換するクエリ変換部と、
    前記クエリ変換部から読み出したラベル列を前記転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力するラベル列照合部と、
    を備えることを特徴とする音声データ検索装置。
  5. コンピュータにより、複数の音声データを記憶した音声データベースから音声データを読み出し、
    前記コンピュータにより、前記読み出された音声データに対して音声認識処理を実行し、
    前記コンピュータにより、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力し、
    前記コンピュータにより、前記出力されたラティスに基づいてコンフュージョンネットワークを生成し、
    前記コンピュータにより、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力し、
    前記コンピュータにより、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成し、
    前記コンピュータにより、ユーザにより入力されたクエリを受け付けて、
    前記コンピュータにより、前記受け付けたクエリに対して音声認識処理を実行し、
    前記コンピュータにより、音声認識処理の結果を文字列として出力し、
    前記コンピュータにより、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換し、
    前記コンピュータにより、前記ラベル列を前記転置索引テーブルと照合し、
    前記コンピュータにより、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、
    前記コンピュータにより、前記ラベル列からクエリのグラフを生成し、
    前記コンピュータにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索するために、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算し、
    前記コンピュータにより、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力することを特徴とする音声データ検索方法。
  6. コンピュータに対して、複数の音声データを記憶した音声データベースから音声データを読み出させる第1音声データ検索プログラムコードと、
    前記コンピュータに対して、前記読み出された音声データに対して音声認識処理を実行させる第2音声データ検索プログラムコードと、
    前記コンピュータに対して、音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力させる第3音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力されたラティスに基づいてコンフュージョンネットワークを生成させる第4音声データ検索プログラムコードと、
    前記コンピュータに対して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力させる第5音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成させる第6音声データ検索プログラムコードと、
    前記コンピュータに対して、ユーザにより入力されたクエリを受け付けさせる第7音声データ検索プログラムコードと、
    前記コンピュータに対して、前記受け付けたクエリに対して音声認識処理を実行させる第8音声データ検索プログラムコードと、
    前記コンピュータに対して、音声認識処理の結果を文字列として出力させる第9音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換させる第10音声データ検索プログラムコードと、
    前記コンピュータに対して、前記ラベル列を前記転置索引テーブルと照合させる第11音声データ検索プログラムコードと、
    前記コンピュータに対して、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成させ、前記ラベル列からクエリのグラフを生成させ、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算させることにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索させる第12音声データ検索プログラムコードと、
    前記コンピュータに対して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力させる第13音声データ検索プログラムコードと、
    を備えることを特徴とする音声データ検索プログラム。
  7. コンピュータが読み取り可能な音声データ検索プログラムを内蔵する前記コンピュータが使用可能な記録媒体であって、前記音声データ検索プログラムは、
    コンピュータに対して、複数の音声データを記憶した音声データベースから音声データを読み出させる第1音声データ検索プログラムコードと、
    前記コンピュータに対して、前記読み出された音声データに対して音声認識処理を実行させる第2音声データ検索プログラムコードと、
    前記コンピュータに対して、音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力させる第3音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力されたラティスに基づいてコンフュージョンネットワークを生成させる第4音声データ検索プログラムコードと、
    前記コンピュータに対して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力させる第5音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力されたコンフュージョンネットワークに基づいて転置索引テーブルを生成させる第6音声データ検索プログラムコードと、
    前記コンピュータに対して、ユーザにより入力されたクエリを受け付けさせる第7音声データ検索プログラムコードと、
    前記コンピュータに対して、前記受け付けたクエリに対して音声認識処理を実行させる第8音声データ検索プログラムコードと、
    前記コンピュータに対して、音声認識処理の結果を文字列として出力させる第9音声データ検索プログラムコードと、
    前記コンピュータに対して、前記出力された文字列を、音素、音節、又は単語を基本単位とするラベル列に変換させる第10音声データ検索プログラムコードと、
    前記コンピュータに対して、前記ラベル列を前記転置索引テーブルと照合させる第11音声データ検索プログラムコードと、
    前記コンピュータに対して、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成させ、前記ラベル列からクエリのグラフを生成させ、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算させることにより、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索させる第12音声データ検索プログラムコードと、
    前記コンピュータに対して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力させる第13音声データ検索プログラムコードと、
    を備えることを特徴とする記録媒体。
  8. 複数の音声データを記憶する音声データベースと、
    2つ以上の音声認識部と、
    各音声認識部は、前記音声データベースから音声データを読み出し、前記読み出された音声データに対して音声認識処理を実行して、前記音声認識処理の結果を、音素、音節、又は単語を基本単位とするラティスとして出力し、
    ある音声認識部から出力されるあるラティスの基本単位は、他の音声認識部から出力される他のラティスの基本単位とは異なり、
    前記2つ以上の音声認識部にそれぞれ接続された2つ以上のコンフュージョンネットワーク生成部と、
    各コンフュージョンネットワーク生成部は、前記各音声認識部から出力されたラティスに基づいてコンフュージョンネットワークを生成して、前記音声認識処理の結果を前記コンフュージョンネットワークとして出力し、
    前記2つ以上のコンフュージョンネットワーク生成部から出力されたコンフュージョンネットワークを結合して、結合ネットワーク生成し、前記結合ネットワークを出力するコンフュージョンネットワーク結合部と、
    前記コンフュージョンネットワーク結合部から出力された結合ネットワークに基づいて転置索引テーブルを生成する転置索引テーブル生成部と、
    ユーザにより入力されたクエリを受け付けて、前記受け付けたクエリに対して音声認識処理を実行して、音声認識処理の結果を文字列として出力するクエリ入力部と、
    前記クエリ入力部から出力された文字列を、音素、音節、及び単語のうち2つ以上を基本単位とするラベル列に変換するクエリ変換部と、
    前記クエリ変換部から読み出したラベル列を前記転置索引テーブル生成部から読み出した転置索引テーブルと照合して、前記ラベル列と前記音声データベースの両方に含まれる音声データを検索して、前記検索された音声データが記憶された前記音声データベース内のアドレスを示すポインタのリストを出力するラベル列照合部と、
    を備え、
    前記ラベル列照合部は、前記転置索引テーブルに基づいて、前記ラベル列に含まれるラベルを有するアークのみからなる部分コンフュージョンネットワークを生成し、前記ラベル列からクエリのグラフを生成し、前記部分コンフュージョンネットワークと前記クエリのグラフとの間でインターセクションを計算することを特徴とする音声データ検索装置。
JP2010500522A 2007-04-13 2008-04-11 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体 Active JP5235210B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91173107P 2007-04-13 2007-04-13
US60/911,731 2007-04-13
PCT/JP2008/057554 WO2008130018A1 (en) 2007-04-13 2008-04-11 Speech data retrieval apparatus, speech data retrieval method, speech data retrieval program and computer usable medium having computer readable speech data retrieval program embodied therein

Publications (2)

Publication Number Publication Date
JP2010522923A JP2010522923A (ja) 2010-07-08
JP5235210B2 true JP5235210B2 (ja) 2013-07-10

Family

ID=39651247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010500522A Active JP5235210B2 (ja) 2007-04-13 2008-04-11 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体

Country Status (5)

Country Link
US (1) US8386264B2 (ja)
EP (1) EP2137641B1 (ja)
JP (1) JP5235210B2 (ja)
CN (1) CN101647021B (ja)
WO (1) WO2008130018A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270344A1 (en) * 2007-04-30 2008-10-30 Yurick Steven J Rich media content search engine
US7983915B2 (en) * 2007-04-30 2011-07-19 Sonic Foundry, Inc. Audio content search engine
US20080270110A1 (en) * 2007-04-30 2008-10-30 Yurick Steven J Automatic speech recognition with textual content input
EP2522012A1 (en) * 2010-05-27 2012-11-14 Nuance Communications, Inc. Efficient exploitation of model complementariness by low confidence re-scoring in automatic speech recognition
US8880399B2 (en) * 2010-09-27 2014-11-04 Rosetta Stone, Ltd. Utterance verification and pronunciation scoring by lattice transduction
US9600565B2 (en) * 2010-10-15 2017-03-21 Nec Corporation Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium
CN102122506B (zh) * 2011-03-08 2013-07-31 天脉聚源(北京)传媒科技有限公司 一种语音识别的方法
WO2013043165A1 (en) * 2011-09-21 2013-03-28 Nuance Communications, Inc. Efficient incremental modification of optimized finite-state transducers (fsts) for use in speech applications
US9081578B1 (en) * 2011-10-04 2015-07-14 Amazon Technologies, Inc. System and method for graph conditioning with non-overlapping orderable values for efficient graph evaluation
CN102521262A (zh) * 2011-11-21 2012-06-27 广东国笔科技股份有限公司 实现语音智能索引的数据处理设备、系统及方法
JP5679345B2 (ja) * 2012-02-22 2015-03-04 日本電信電話株式会社 音声認識精度推定装置、音声認識精度推定方法、プログラム
JP5679346B2 (ja) * 2012-02-22 2015-03-04 日本電信電話株式会社 識別的音声認識精度推定装置、識別的音声認識精度推定方法、プログラム
US8832108B1 (en) * 2012-03-28 2014-09-09 Emc Corporation Method and system for classifying documents that have different scales
US8595235B1 (en) * 2012-03-28 2013-11-26 Emc Corporation Method and system for using OCR data for grouping and classifying documents
US9069768B1 (en) * 2012-03-28 2015-06-30 Emc Corporation Method and system for creating subgroups of documents using optical character recognition data
US8843494B1 (en) * 2012-03-28 2014-09-23 Emc Corporation Method and system for using keywords to merge document clusters
US9396540B1 (en) 2012-03-28 2016-07-19 Emc Corporation Method and system for identifying anchors for fields using optical character recognition data
JP5526209B2 (ja) * 2012-10-09 2014-06-18 株式会社Ubic フォレンジックシステムおよびフォレンジック方法並びにフォレンジックプログラム
US8972243B1 (en) * 2012-11-20 2015-03-03 Amazon Technologies, Inc. Parse information encoding in a finite state transducer
CN103354089B (zh) * 2013-06-25 2015-10-28 天津三星通信技术研究有限公司 一种语音通信管理方法及其装置
JP6193736B2 (ja) * 2013-11-15 2017-09-06 日本電信電話株式会社 同音異義語除去方法と複合語除去方法と同音異義語・複合語除去方法とそれらの装置とプログラム
CN104142974B (zh) * 2014-01-20 2016-02-24 腾讯科技(深圳)有限公司 一种语音文件查询方法和装置
US9727548B2 (en) 2014-02-28 2017-08-08 Ricoh Company, Ltd. Cloud service for hospital form auto filling system
US20150248391A1 (en) * 2014-02-28 2015-09-03 Ricoh Company, Ltd. Form auto-filling using a mobile device
US9196243B2 (en) 2014-03-31 2015-11-24 International Business Machines Corporation Method and system for efficient spoken term detection using confusion networks
JP6400936B2 (ja) * 2014-04-21 2018-10-03 シノイースト・コンセプト・リミテッド 音声検索方法、音声検索装置、並びに、音声検索装置用のプログラム
KR102117082B1 (ko) * 2014-12-29 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
US9384188B1 (en) * 2015-01-27 2016-07-05 Microsoft Technology Licensing, Llc Transcription correction using multi-token structures
US10019514B2 (en) * 2015-03-19 2018-07-10 Nice Ltd. System and method for phonetic search over speech recordings
TWI607325B (zh) * 2016-07-21 2017-12-01 虹光精密工業股份有限公司 檢索索引產生方法及應用此方法之伺服器
JP6585022B2 (ja) * 2016-11-11 2019-10-02 株式会社東芝 音声認識装置、音声認識方法およびプログラム
JP6852167B2 (ja) * 2017-09-04 2021-03-31 日本電信電話株式会社 コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム
CN109903758B (zh) 2017-12-08 2023-06-23 阿里巴巴集团控股有限公司 音频处理方法、装置及终端设备
CN108415898B (zh) * 2018-01-19 2021-09-24 思必驰科技股份有限公司 深度学习语言模型的词图重打分方法和系统
US11276390B2 (en) * 2018-03-22 2022-03-15 Casio Computer Co., Ltd. Audio interval detection apparatus, method, and recording medium to eliminate a specified interval that does not represent speech based on a divided phoneme
JP7009338B2 (ja) * 2018-09-20 2022-01-25 Tvs Regza株式会社 情報処理装置、情報処理システム、および映像装置
JP7014142B2 (ja) * 2018-11-30 2022-02-01 日本電信電話株式会社 キーワード抽出装置、キーワード抽出方法、およびプログラム
CN109902100A (zh) * 2019-01-31 2019-06-18 平安科技(深圳)有限公司 报表查询方法、装置及存储介质
US11145296B1 (en) * 2019-03-25 2021-10-12 Amazon Technologies, Inc. Language and grammar model adaptation
US20240202234A1 (en) * 2021-06-23 2024-06-20 Sri International Keyword variation for querying foreign language audio recordings
WO2023209857A1 (ja) * 2022-04-27 2023-11-02 ファナック株式会社 機械動作指令プログラム検索装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6198479B1 (en) * 1997-06-25 2001-03-06 Samsung Electronics Co., Ltd Home network, browser based, command and control
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US6615172B1 (en) * 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
GB0011798D0 (en) * 2000-05-16 2000-07-05 Canon Kk Database annotation and retrieval
US7904296B2 (en) * 2003-07-23 2011-03-08 Nexidia Inc. Spoken word spotting queries
US7912699B1 (en) * 2004-08-23 2011-03-22 At&T Intellectual Property Ii, L.P. System and method of lattice-based search for spoken utterance retrieval
US8150872B2 (en) * 2005-01-24 2012-04-03 The Intellection Group, Inc. Multimodal natural language query system for processing and analyzing voice and proximity-based queries
US7634407B2 (en) 2005-05-20 2009-12-15 Microsoft Corporation Method and apparatus for indexing speech
US7809568B2 (en) * 2005-11-08 2010-10-05 Microsoft Corporation Indexing and searching speech with text meta-data

Also Published As

Publication number Publication date
US8386264B2 (en) 2013-02-26
CN101647021B (zh) 2013-03-27
CN101647021A (zh) 2010-02-10
EP2137641A1 (en) 2009-12-30
US20100121642A1 (en) 2010-05-13
JP2010522923A (ja) 2010-07-08
WO2008130018A1 (en) 2008-10-30
EP2137641B1 (en) 2015-11-04

Similar Documents

Publication Publication Date Title
JP5235210B2 (ja) 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体
JP6188831B2 (ja) 音声検索装置および音声検索方法
JP4887264B2 (ja) 音声データ検索システム
US7634407B2 (en) Method and apparatus for indexing speech
JP3768205B2 (ja) 形態素解析装置、形態素解析方法及び形態素解析プログラム
US7949524B2 (en) Speech recognition correction with standby-word dictionary
JP4215418B2 (ja) 単語予測方法、音声認識方法、その方法を用いた音声認識装置及びプログラム
JP2002063199A (ja) インデックス方法及び装置
WO2004034378A1 (ja) 言語モデル生成蓄積装置、音声認識装置、言語モデル生成方法および音声認識方法
JPWO2009081861A1 (ja) 単語カテゴリ推定装置、単語カテゴリ推定方法、音声認識装置、音声認識方法、プログラム、および記録媒体
WO2010044123A1 (ja) 検索装置、検索用索引作成装置、および検索システム
JP5740368B2 (ja) 識別的音声認識精度推定装置、識別的音声認識精度推定方法、プログラム
JP5360414B2 (ja) キーワード抽出モデル学習システム、方法およびプログラム
JP5590549B2 (ja) 音声検索装置および音声検索方法
JP5436307B2 (ja) 類似文書検索装置
JP3950957B2 (ja) 言語処理装置および方法
JP4733436B2 (ja) 単語・意味表現組データベースの作成方法、音声理解方法、単語・意味表現組データベース作成装置、音声理解装置、プログラムおよび記憶媒体
KR101072890B1 (ko) 데이터베이스 정제 장치 및 그 방법, 이를 이용한 음성 이해 장치 및 그 방법
JP2022067223A (ja) 生成装置および生成方法
Pilar Knowledge-driven subword grammar modeling for automatic speech recognition in tamil and kannada
Arora et al. An investigative study of multi-modal cross-lingual retrieval
JP2008242607A (ja) 言語処理結果から妥当な候補を選択する装置、方法およびプログラム
JP4511274B2 (ja) 音声データ検索装置
JP2006084942A (ja) 変換情報生成方法、音素系列生成方法、音声認識方法、ならびにこれらの装置、及びプログラム
JP5679345B2 (ja) 音声認識精度推定装置、音声認識精度推定方法、プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130325

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5235210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250