(57)【要約】【課題】  部分記号列のマッチングを行う際には、DPマッチング方法は適さないため、範囲をずらしながら複数回のマッチングを行うなど計算量が多くなる。【解決手段】  記号列"kuroneko"と、その部分記号列"neko"とのマッチングを行う際に、まず記号列間におけるDPマッチング遷移の配列を作成する。このとき、正解C以外のペナルティを挿入I、置換S、削除Dの各状態に分類しておく。そして、終点ノードから各状態の並びに基づいて矢印方向に戻りながら、連続する状態Cの個数をカウントすることによって、正解の連続する長さの最大長pc=4を検出し、該最大長pcに基づいて類似度PCor=1.0を算出する。【選択図】  図6A
2007047575.tif 000002
【特許請求の範囲】
【請求項１】
第1の記号列と、該第1の記号列よりも短い第2の記号列とのマッチングを行うパターンマッチング方法であって、
前記第1および第2の記号列間においてDPマッチングを行うことによって、DPマッチング遷移の配列を作成するDPマッチングステップと、
前記DPマッチング遷移の配列に基づいて、正解の連続する長さの最大長を検出する最大長検出ステップと、
前記最大長に基づいて類似度を算出する類似度算出ステップと、
を有することを特徴とするパターンマッチング方法。
【請求項２】
前記DPマッチングステップにおいては、DPマッチングにおける正解以外のペナルティを複数種類の状態に分類して、DPマッチング遷移の配列を作成することを特徴とする請求項１記載のパターンマッチング方法。
【請求項３】
前記ペナルティの状態は、挿入、置換、削除を含むことを特徴とする請求項２記載のパターンマッチング方法。
【請求項４】
前記最大長検出ステップにおいては、前記配列における前記正解および前記状態の並びに基づいて、前記最大長を検出することを特徴とする請求項２または３記載のパターンマッチング方法。
【請求項５】
前記類似度算出ステップにおいては、前記第1の記号列に対する前記第2の記号列の再現率を、前記類似度として前記最大長に基づいて算出することを特徴とする請求項１乃至４のいずれかに記載のパターンマッチング方法。
【請求項６】
前記最大長検出ステップにおいては、前記正解の連続部分が複数ある場合、近接する連続部分についてそれぞれの長さを加算して前記最大長とすることを特徴とする請求項１乃至５のいずれかに記載のパターンマッチング方法。
【請求項７】
音声を認識して音素列を出力する音声認識手段と、
前記音素列を蓄積する音素列蓄積手段と、
検索対象としてのキーワードを入力するキーワード入力手段と、
前記キーワードを音素列に変換する音素列変換手段と、
前記音素列に変換されたキーワードと前記音素列蓄積手段に蓄積された音素列とのマッチングを行うマッチング手段と、
該マッチング結果を出力するマッチング結果出力手段と、を有し、
前記マッチング手段においては、前記音素列蓄積手段に蓄積された音素列を前記第1の記号列とし、前記音素列に変換されたキーワードを前記第2の記号列として、請求項１乃至６のいずれかに記載のパターンマッチング方法を実行することを特徴とする音声情報検索システム。
【請求項８】
前記キーワード入力手段は、前記キーワードを文字入力することを特徴とする請求項７記載の音声情報検索システム。
【請求項９】
前記キーワード入力手段は、前記キーワードを音声入力することを特徴とする請求項７記載の音声情報検索システム。
【請求項１０】
第1の記号列と、該第1の記号列よりも短い第2の記号列とのマッチングを行うパターンマッチング装置であって、
前記第1および第2の記号列間においてDPマッチングを行うことによって、DPマッチング遷移の配列を作成するDPマッチング手段と、
前記DPマッチング遷移の配列に基づいて、正解の連続する長さの最大長を検出する最大長検出手段と、
前記最大長に基づいて類似度を算出する類似度算出手段と、
を有することを特徴とするパターンマッチング装置。
【請求項１１】
前記DPマッチング手段は、DPマッチングにおける正解以外のペナルティを複数種類の状態に分類して、DPマッチング遷移の配列を作成することを特徴とする請求項１０記載のパターンマッチング装置。
【請求項１２】
情報処理装置で実行されることによって、該情報処理装置上において請求項１乃至６の何れかに記載されたパターンマッチング方法を実現することを特徴とするプログラム。
【請求項１３】
請求項１２に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記号列のDPマッチングを行うパターンマッチング方法およびその装置、およびそれを用いた音声情報検索システムに関する。
【背景技術】
【０００２】
情報検索や音声認識の分野において使用されているパターンマッチング方法として、動的計画法(Dynamic Programming)による、いわゆるDPマッチングが知られている（例えば、特許文献１参照）。これは、一致すなわち正解以外のマッチング（挿入・削除・置換など）をペナルティとして、2つの記号列の似ている度合いを算出する手法である。
【特許文献１】特開平11-282488号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したDPマッチングは、比較する2つの記号列の似ている度合い(類似度)を算出するためのものである。具体的には、2つの記号列の長さが異なり、片方がもう一方の記号列を包含する場合には挿入誤りがあるものとして計算されるため、類似度が低く算出される。例えば、"aaabbb"と"aaa"をマッチングした場合、"bbb"の挿入があるものとしてペナルティが加算されてしまうため、"aaabbb"の中に"aaa"が含まれることを調べるような場合にはDPマッチングは適さない。
【０００４】
このような部分記号列のマッチングを行うためには、単純に、挿入誤りを考慮しない方法が考えられる。しかしながらその場合、マッチングする記号列の並びが部分記号列としてある場合も、記号列が離れて表れた場合でも、同じ類似度となってしまう。例えば、"acccb"の中に"ab"があるかを調べた場合と、"abccc"の中に"ab"があるかを調べた場合とは、同じ得点(類似度)となる。
【０００５】
したがって、DPマッチングによって部分記号列のマッチングを行う場合には、マッチングする範囲をずらしながら繰り返し計算を行う方法が知られているが、この方法ではかなりの計算量が発生してしまうという問題があった。
【０００６】
本発明は上述した問題を解決するためになされたものであり、DPマッチングによる部分記号列のパターンマッチングを、少ない計算量で実現するパターンマッチング方法およびその装置を提供することを目的とする。
【０００７】
さらに、本発明のパターンマッチング方法を実行することによって効率的な音声情報検索を実現する音声情報検索システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための一手法として、本発明のパターンマッチング方法は以下のステップを備える。
【０００９】
すなわち、第1の記号列と、該第1の記号列よりも短い第2の記号列とのマッチングを行うパターンマッチング方法であって、前記第1および第2の記号列間においてDPマッチングを行うことによって、DPマッチング遷移の配列を作成するDPマッチングステップと、前記DPマッチング遷移の配列に基づいて、正解の連続する長さの最大長を検出する最大長検出ステップと、前記最大長に基づいて類似度を算出する類似度算出ステップと、を有することを特徴とする。
【００１０】
例えば、前記DPマッチングステップにおいては、DPマッチングにおける正解以外のペナルティを複数種類の状態に分類して、DPマッチング遷移の配列を作成することを特徴とする。
【００１１】
例えば、前記ペナルティの状態は、挿入、置換、削除を含むことを特徴とする。
【００１２】
例えば、前記最大長検出ステップにおいては、前記配列における前記正解および前記状態の並びに基づいて、前記最大長を検出することを特徴とする。
【００１３】
また、上記パターンマッチング方法を実行するための音声情報検索システムは以下の構成を備える。
【００１４】
すなわち、音声を認識して音素列を出力する音声認識手段と、前記音素列を蓄積する音素列蓄積手段と、検索対象としてのキーワードを入力するキーワード入力手段と、前記キーワードを音素列に変換する音素列変換手段と、前記音素列に変換されたキーワードと前記音素列蓄積手段に蓄積された音素列とのマッチングを行うマッチング手段と、該マッチング結果を出力するマッチング結果出力手段と、を有し、前記マッチング手段においては、前記音素列蓄積手段に蓄積された音素列を前記第1の記号列とし、前記音素列に変換されたキーワードを前記第2の記号列として、本発明のパターンマッチング方法を実行することを特徴とする。
【発明の効果】
【００１５】
以上の構成からなる本発明によれば、DPマッチングによる部分記号列のパターンマッチングを、少ない計算量で実現することができる。
【００１６】
さらに、効率的な音声情報検索を実現する音声情報検索システムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
【００１８】
＜第１実施形態＞
●システム概要
図1は、本実施形態に係る音声情報検索システムの構成を示すブロック図である。同図において、101は音声入力部、102はキーワード入力部、103は音声を認識して音素列を出力する音素タイプライタ、104は音素列を蓄積する音素列データベース(DB)である。また、105は音素列に変換した検索キーワードと音素列DB104の音素列のマッチングを行うマッチング部、106は文字入力した検索キーワードを音素列に変換する言語解析部である。そして、107は音声認識用辞書、108はマッチングの結果を出力する結果出力部、109は言語解析用辞書である。
【００１９】
図2は、本実施形態の音声情報検索システムにおける動作概要を示す図である。例えば、まず音声入力部101より「ねんねんころり」,「黒猫」,「化け猫」などの発声を入力する。そして、それぞれについて音素タイプライタ103で音声認識を行って「neXneXkorori」,「kuroneko」,「bakenego」などの音素列に変換し、検索対象となる音素列DB104へ予め蓄積しておく。ここでは、「化け猫」の音声認識結果が「bakeneko」でなく「bakenego」に誤認識されたものとする。
【００２０】
そして検索を行う場合には、キーワード入力部102よりキーワードを文字で入力する。例えば、日本語の場合は漢字かな混じりで「猫」と入力する。そして、この入力されたキーワードを言語解析部106で解析することによって、検索音素列「neko」に変換する。そして、この検索音素列「neko」と、検索対象の音素列DB104のマッチングを行い、その類似度によってランク付けを行った結果として、音素列と確認のための音声データをあわせて結果出力部108から出力する。
【００２１】
●DPマッチング
上述したように、本実施形態ではDPマッチングによって算出された類似度に基づき、検索結果を出力する。以下、本実施形態におけるDPマッチングについて、詳細に説明する。
【００２２】
まず、一般的なDPマッチングの計算式を示す。なお、以下ではマッチングにおける検索対象側文字列、参照側文字列をそれぞれs,tとし、siが検索対象側文字列sにおけるi番目の文字を、tjが参照側文字列におけるj番目の文字列を示す。
【００２３】
f(0,0)=0
f(i,j)=min{f(i-1,j)+1, f(i,j-1)+1, f(i-1,j-1)+d(si,tj)}
ただし、si＝tj のとき、d=0
si≠tj のとき、d=1
このような一般式によれば、正解でない場合のペナルティはどれも1として計算するが、本実施形態では、ペナルティの種類を「挿入」,「置換」,「削除」に分類し、それぞれに異なるペナルティを付与して計算することを特徴とする。
【００２４】
次に、本実施形態におけるDPマッチングの計算式を示す。
【００２５】
f(0,0)=0
f(i,0)=-3*i
f(0,j)=-3*j
f(i,j)=max{f(i-1,j)-3, f(i,j-1)-3, f(i-1,j-1)-d(si,tj)}
ただし、si＝tj のとき、d=0
si≠tj のとき、d=4
さらに、f(i,j)がどれをmaxに選んだかに応じて、以下に示すように状態statを決定する。
【００２６】
stat(i,0)=I
stat(0,j)=D
stat(i,j)=C  ・・・ f(i-1,j-1)-0  (si＝tj)が選択されたとき
stat(i,j)=I  ・・・ f(i-1,j)-3  が選択されたとき
stat(i,j)=S  ・・・ f(i-1,j-1)-4  (si≠tj)が選択されたとき
stat(i,j)=D  ・・・ f(i,j-1)-3  が選択されたとき
以上のように、本実施形態のDPマッチングではf(i,j)の値を計算していくが、遷移経路において、その場所のマッチング状態(stat)も決定しておき、この状態数を加算していく。ここでマッチング状態statとしては上式に示したように、マッチングが正解の場合はC、削除誤りがあった場合はD、置換誤りがあった場合はS、挿入誤りがあった場合はI、とする。
【００２７】
●類似度算出
以下、本実施形態におけるDPマッチングに基づく類似度計算について説明する。
【００２８】
まず、全記号列のDPマッチングの類似度計算は、参照側文字列t(図2の例では"neko"）の長さt_len、削除誤りの総数del、置換誤りの総数sub、挿入誤りの総数insを用いて、以下のように計算される。
【００２９】
Acc = (t_len−del−sub−ins)/t_len      ・・・(1)
Cor = (t_len−sub−del)/t_len          ・・・(2)
ここでAccは、検索対象側文字列sと参照側文字列tの類似する精度を示し、Corは、参照側文字列tにおける検索対象側文字列sの再現率を示す。本発明において全記号列のDPマッチングにおいては、Accを類似度として採用する。
【００３０】
図3A〜図3Cに、本実施形態のDPマッチングを行うことによって、全記号列の類似度Accおよび再現率Corを算出した例を示す。図3Aは"neko"と"kuroneko"、図3Bは"neko"と"neXneXkorori"、図3Cは"neko"と"bakenego"、をそれぞれマッチングした例である。図3A〜図3Cの各図における配列は、横が"neko"、縦がそれぞれ"kuroneko","neXneXkorori","bakenego"を示す。また、各配列中のi,C,D,S,Iはそれぞれのマッチング状態を示す。すなわち、マッチングが正解の場合はC、削除誤りがあった場合はD、置換誤りがあった場合はS、挿入誤りがあった場合はI、が記載される。なお、(0,0)におけるiは初期状態を表す。なお、配列上の矢印は、最後まで到達した計算の遷移を示す。
【００３１】
図3Aの場合、矢印上のCの総数corは4、Dの総数delは0、Sの総数subは0、Iの総数insは4であり、上記(1),(2)式によれば、その類似度Accは0.0、再現率Corは1.0となる。この結果によれば、全記号列マッチングに使用されるAccの値は、比較する記号数の長さが異なる部分記号列のマッチングには不適切であることが分かる。そこで、再現率であるCorに注目すると、図3AのCorは1.0、図3BのCorは1.0、図3CのCorは0.75となり、"neko"の内部に挿入のある"neXneXkorori"が挿入のない"kuroneko"と同じ数値となっている。したがって、再現率Corも部分記号列マッチングの計算式としては不適切である。
【００３２】
そこで本実施形態においては、部分記号列マッチングに用いる再現率Corの計算式を以下のように変更することによって、再現率PCorを部分記号列マッチングに適用する。
【００３３】
PCor = (pc−del−sub)/t_len      ・・・(3)
ここで、pcは正解の連続の最大長
●正解の最大連続長算出
以下、(3)式における正解の連続の最大長pcを算出する処理について、図4のフローチャートを用いて説明する。この処理はすなわち、DPマッチングの結果を最終のノードからたどって、正解の連続数の最大長を求めるものである。
【００３４】
まずステップS601で、連続した正解の終点としての終点ノードを選択する。この終点ノードの選択には、DPマッチングの遷移の途中経過の値を使用する。
【００３５】
この終点ノードの選択処理について、図5A,図5Bを用いて詳細に説明する。図5Aは"neko"と"kuroneko"、図5Bは"neko"と"neXneXkorori"による、それぞれのDPマッチングの遷移を示している。両図とも、遷移の途中経過をnodeとして、その内容を[f(評価値) cor(正解累積) del(削除累積) sub(置換累積) ins(挿入累積)]stat(状態)として示している。なお、図5A,図5Bにおける配列は、i=0〜s_len, j=0〜t_lenまでを表示している。
【００３６】
図5A,図5Bの遷移図において、まずi=s_len,j=t_lenとし、node[i-1][j]のcorがnode[i][j]のcorよりも小さければ、node[i][j]を終点ノードとする。そうでなければ、iを1づつ減らしながら終点ノードを探索してゆく。図5Aではnode[8][4]が終点ノードとなり、図5Bではcorの値が"4"から"3"に変わる直前のnode[8][4]が終点ノードとなる。
【００３７】
以上のようにステップS601で正解の終点ノードが選択されると、これを注目ノードとして、以降は正解ノードを探索していく。そのためにまずステップS602において、正解の連続長を示すカウンタcと、連続長の最大値cmaxを0に初期化する。
【００３８】
次にステップS603では、現在の注目ノードをもってノード探索処理が終了となるか否かを判定する。ここでは、正解の終点ノードが見つからなかった場合や、注目ノードがi==0もしくはj==0である場合に、ノード探索を終了する。終了する場合には、ステップS610でカウンタcと最大値cmaxを比較し、カウンタcが最大値cmaxより大きければステップs611でcmax=cとし、そうでなければそのまま終了する。この最大値cmaxが、正解の連続長pcとなる。
【００３９】
ステップS603でまだノード探索を続行する場合には、ステップS604でノードの状態(stat)がCであるか否かを判定する。statがCであればステップS609でカウンタcをインクリメントしてステップS608へ進む。
【００４０】
一方、ステップS604でstatがC以外であればステップS605へ進む。ステップS605でカウンタcと最大値cmaxを比較する。カウンタcが最大値cmaxより大きければ、ステップS606でcmax=cとしてステップS607へ進むが、そうでなければそのままステップS607へ進んでc=0にリセットした後、ステップS608へ進む。
【００４１】
ステップS608では、注目ノードから一つ戻る戻り先ノードの選択を行う。戻り先ノードの選択アルゴリズムは、以下の(1)〜(5)の順に従う。
(1)node[i][j]のstatがC、かつnode[i-1][j-1]のstatがCで、さらにnode[i][j]のcorがnode[i-1][j-1]より1だけ大きい場合
→node[i-1][j-1]を戻り先とする。
(2)node[i][j]のstatがC、かつnode[i-1][j-1]のstatがCで、さらにnode[i][j]のcorがnode[i-1][j-1]のcorと同じである場合
→node[i-1][j]とnode[i][j-1]のうち、statがCでなく、さらにfがnode[i][j]のf以上でかつ最大のものを戻り先とする。
(3)node[i][j]のstatがC、かつnode[i-1][j-1]のstatがCでない場合
→node[i][j-1],node[i-1][j-1],node[i-1][j]のうち、statがCでなく、さらにfがnode[i][j]のf以上でかつ最大のものを戻り先とする。
(4)node[i][j]のstatがC以外の場合
→node[i][j-1],node[i-1][j-1],node[i-1][j]のうち、fがnode[i][j]のf以上でかつ最大のものを戻り先とする。
(5)上記に該当しするものがない場合
→node[i-1][j]を戻り先とする。
【００４２】
以上のように一つ戻るノードを選択したら、その戻り先ノードを注目ノードとしステップS603へ戻り、上記処理を繰り返す。これにより、例えば図5Aおよび図5Bに示す例では、下線を付して示されるような経路によって、終点ノードから一つづつノードを戻っていく。図5Aは、終点であるnode[8][4]からstatがCであるノードを順次、node[4][0]まで戻る例を示し、図5Bは、終点であるnode[8][4]からstatがC以外であるノードも経由しつつ、node[0][0]まで戻る例を示す。
【００４３】
以上説明した図4のフローチャートに示す処理によって得られる、正解の連続長の最大値cmaxがすなわち、(3)式における正解の連続の最大長pcとなる。
【００４４】
●部分記号列の類似度算出例
図6A〜図6Cは、図4で説明したアルゴリズムによって得られた正解の連続の最大長pcに基づき、部分記号列の類似度を算出した例を示す図である。図6Aは"neko"と"kuroneko"、図6Bは"neko"と"neXneXkorori"、図6Cは"neko"と"bakenego"、をそれぞれマッチングした例である。各図においては本実施形態のマッチングにより、終点ノードから矢印方向に戻りながら、連続する状態Cの個数(pc)がカウントされることによって、図6A,図6B,図6Cのpcの値がそれぞれ、"4","2","2"として得られる。これにより、それぞれの部分文字列の類似度PCorは(3)式に従い、"1.0","0.5","0.25"となる。これによりすなわち、図6Aのマッチングにおいて、部分文字列の類似度が最も高いことが分かる。
【００４５】
なお、本実施形態のマッチングにおいては、連続する状態Cの個数について数え落としてしまう場合がある。例えば図7に示す"neko"と"nekko"のマッチング例において、正解の最大長pcは"2"となってしまう。
【００４６】
以上説明したように本実施形態によれば、部分記号列の類似度を、一度のマッチング結果に基づいて算出することができるため、DPマッチングによる部分記号列のパターンマッチングを少ない計算量で実現し、検索速度を向上させることができる。
【００４７】
＜変形例1＞
本実施形態のDPマッチングで途中のfの値の受け渡しが行われたノードをprevとして記録しておき、そのprevを辿って、連続する状態Cの最大長を求めても良い。但しこのようなマッチングによれば、連続する状態Cの個数について数え落とす場合がある。
【００４８】
例えば図8に示す"neko"と"nekoo"のマッチング例について説明する。図8において、矢印が本変形例におけるDPマッチングの遷移のであり、prevを辿る場合には、node[5][4]から、矢印の向きを逆に辿る。図8において、"n","e","k","o"までマッチングした経路は最後の"o"まで到達せず、最後の"o"まで到達した経路は、中間に状態Iを含む遷移となり、この矢印で示されるprevを逆に辿る方法では状態Cの連続の最大長は"2"となる。本実施形態のマッチングを行うと、下線部分で示す経路で探索が行われ、状態Cの連続の最大長は"3"になる。
【００４９】
＜変形例2＞
DPマッチングの結果を最初から順に探索してゆき、statがCであるノードを検出したら、i,jをそれぞれインクリメントすることによって、右斜めに連続するCの数をカウントし、その最大長を求めることもできる。
【００５０】
この場合、一度カウントしたCを再度カウントすることがないように、一度カウントされたノードについては、そのstatを"i"とすることによって、無効である旨を示す。図9に、本変形例による状態Cのカウントの様子を示す。
【００５１】
なおこの方法によれば、連続するCの個数を数え落とすことはないが、計算量が増えてしまう可能性がある。
【００５２】
＜変形例3＞
DPマッチング結果において、状態Cの連続が分離して存在する場合には、その間にあるのが置換(S)や削除(D)であればこれを無視して、前後のCの連続長を加算して最大長を求めてもよい。
【００５３】
例えば図10の"neko"と"bakenego"のマッチング例のように、"neko"と"nego"間に'k'と'g'の置換がある場合、その状態Sを無視し、'o'のマッチングの長さ"1"と、'ne'のマッチングの長さ"2"を加算してpc=3としてもよい。
【００５４】
なお、Cの連続にはさまれる置換(S)や削除(D)の連続については、その個数について許容する上限を設けてもよい。
【００５５】
＜変形例4＞
本実施形態における記号列のマッチングについて、記号が一致しているか否かの判定に評価関数を用いることにより、まったく一致していなくてもほぼ同じであるとみなすような判定を行うことも有効である。
【００５６】
＜変形例5＞
本実施形態のDPマッチングとして、挿入(I)、削除(D)、置換(S)の区別を設けない従来形のDPマッチングを行い、連続する正解の最大長pcと文字列tの長さ(t_len)を用いて、次のような計算式により部分記号列の類似度を求めてもよい。
【００５７】
PCor = pc/t_len
＜変形例6＞
本実施形態の音声情報検索システムにおいては、音素列DB104で音素列のみを扱うのではなく、文字データや画像データに音声をメモとして付与する形態とすることもできる。この場合、音素列をキーワードとして付与しておき、検索結果として、マッチングした音素列とリンク付けされた文字や画像などのデータを提示するようにしてもよい。また、検索キーワードを文字で指定するだけでなく、発声された音声を認識した結果の音素列を、検索キーワードとして用いてもよい。
【００５８】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５９】
本発明は、前述の実施形態の機能を実現するソフトウェア（図のフローチャートに対応したプログラム）を、システムまたは装置に直接または遠隔から供給し、システムまたは装置のコンピュータが供給されたプログラムを実行することで達成される場合も含む。
【００６０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００６１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００６２】
プログラムを供給するための記録媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CDROM、CDR、CDRW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVDROM，DVDR)などがある。
【００６３】
その他、プログラムの供給方法として、クライアントコンピュータのブラウザによりインターネットのホームページに接続し、ホームページからプログラムまたは圧縮され自動インストール機能を含むファイルをハードディスク等にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００６４】
また、本発明のプログラムを暗号化してCDROM等に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵をダウンロードさせる。そして、その鍵を使用して暗号化されたプログラムを実行してコンピュータにインストールすることも可能である。
【００６５】
また、コンピュータが読み出したプログラムを実行することにより、実施形態の機能が実現される他、そのプログラムの指示に基づきコンピュータ上で稼動するOSなどが、実際の処理の一部または全部を行い、その処理によっても実施形態の機能が実現され得る。
【００６６】
さらに、記録媒体から読み出したプログラムをコンピュータの機能拡張ボードや機能拡張ユニットのメモリに書き込む。そして、そのプログラムの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるCPUが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６７】
【図１】本発明に係る一実施形態としての音声情報検索システムの構成を示すブロック図である。
【図２】本実施形態における音声情報検索システムの動作概要を示す図である。
【図３Ａ】,
【図３Ｂ】,
【図３Ｃ】DPマッチングによる全文字列の類似度の算出例を示す図である。
【図４】本実施形態における正解の連続の最大長を求める処理を示すフローチャートである。
【図５Ａ】,
【図５Ｂ】本実施形態におけるDPマッチングの遷移例を示す図である。
【図６Ａ】,
【図６Ｂ】,
【図６Ｃ】本実施形態における部分記号列の類似度の算出例を示す図である。
【図７】本実施形態における部分記号列の類似度の算出例を示す図である。
【図８】変形例における部分記号列の類似度を算出する例を示す図である。
【図９】変形例における正解の連続の最大長を算出する例を示す図である。
【図１０】変形例における部分記号列の類似度を算出する例を示す図である。
【図１】
2007047575.tif 000003
【図２】
2007047575.tif 000004
【図３Ａ】
2007047575.tif 000005
【図３Ｂ】
2007047575.tif 000006
【図３Ｃ】
2007047575.tif 000007
【図４】
2007047575.tif 000008
【図５Ａ】
2007047575.tif 000009
【図５Ｂ】
2007047575.tif 000010
【図６Ａ】
2007047575.tif 000011
【図６Ｂ】
2007047575.tif 000012
【図６Ｃ】
2007047575.tif 000013
【図７】
2007047575.tif 000014
【図８】
2007047575.tif 000015
【図９】
2007047575.tif 000016
【図１０】
2007047575.tif 000017