"文字列又は音声認識により変換された文字列を検索文字列として入力する入力インタフェースを備え、複数の検索対象文書から前記検索文字列と類似する部分を含む検索対象文書を検索する検索装置において、大量の文書における多数のサブワード音節又は音素から予め決められた所望数のサブワードを繋げた組み合わせで形成されるサブワード連鎖音節列又は音素列を作成し、前記各サブワード連鎖間の距離に基づいてクラスタリングした複数のサブワード連鎖が属するグループをサブワード連鎖クラスタ音節列クラスタ又は音素列クラスタとして登録し、登録された複数のサブワード連鎖クラスタと前記検索対象文書との音素列同士を比較して類似度をそれぞれ算出し、前記各サブワード連鎖クラスタに対応させた類似度のテーブルを検索用INDEXとして予め作成する検索用INDEX作成手段と、前記入力インタフェースに入力された検索文字列を構成する音節又は音素から前記所望数を繋げた多数の音節列又は音素列をサブワード連鎖として抽出するサブワード連鎖抽出手段と、前記サブワード連鎖抽出手段により抽出した各サブワード連鎖について、各サブワード連鎖が属するサブワード連鎖クラスタに対応する各類似度を前記検索用INDEXから求め、前記各類似度の合計を前記各検索対象文書に対する類似度として演算する類似度演算手段と、前記類似度に基づいた文書データの検索結果を出力する出力インタフェースとを備え、前記類似度演算手段は、検索用INDEXから求めた前記各サブワード連鎖が属するサブワード連鎖クラスタに対応する類似度の合計が高い順で上位複数個の検索対象文書候補の絞り込みを行う第1パスINDEX検索と、前記上位複数個の検索対象文書候補を音素列に変換し、検索文字列の音素列との間で音素を単位とした文字列類似度計算を行って得られる類似度により出力順位を決める第2パス文字列類似度計算による検索とを含み、前記第2パス文字列類似度計算による検索は、前記第1パスINDEX検索で検索した検索対象文書候補について上位からM個毎を一つのグループとする複数セッションに分割し、上位候補のセッション順に順次各セッションに属する検索対象文書候補について文字列類似度計算を行って類似度を算出し、セッション内における類似度の最小値と平均値に基づいて算出されるセッション類似度Dが所定の閾値αより小さい場合に、以降のセッションでの文字列類似度計算による類似度算出を打ち切り、その時点で算出された類似度により検索対象文書候補の出力順位を決めることを特徴とする類似文書検索装置。前記セッション類似度D及び前記閾値αは、セッション内における類似度の最小値D、平均値Dに対して、セッション類似度D=D/D、閾値α=0.0~1.0とした請求項1に記載の類似文書検索装置。前記セッション内の標準偏差値をDとした場合、セッション類似度D=Ds/D‐D、とした請求項2に記載の類似文書検索装置。前記INDEX作成手段における類似度は、各サブワード連鎖クラスタを代表する音節列または音素列と検索対象文書をそれぞれ音素列に変換し、二つの音素列において音素を単位とした文字列類似度計算を行って得られた累積文字列類似度値に基づいて算出する請求項1に記載の類似文書検索装置。前記音素列間の文字列類似度計算は、音素の置換コスト値、音素の挿入コスト値、音素の脱落コスト値を音声認識実験による音素混同行列に基づいて計算する請求項4に記載の類似文書検索装置。前記置換コスト値、挿入コスト値及び脱落コスト値は、経験値や発音辞書により決められる値である請求項5に記載の類似文書検索装置。前記サブワード連鎖クラスタは、複数のサブワード連鎖が属するグループとなり、一つだけのサブワード連鎖である請求項1に記載の類似文書検索装置。前記入力インタフェースは、歌詞の一部分をテキストデータで入力する請求項1に記載の類似文書検索装置。前記入力インタフェースは、歌詞の一部分を音声で入力し、入力した音声を音声認識手法によってテキストデータに変換してから検索する請求項1に記載の類似文書検索装置。前記出力インタフェースは、検索結果となる歌詞の楽曲名、アーティスト名、歌詞全文が提示される請求項1に記載の類似文書検索装置。前記出力インタフェースは、歌詞全文がリンクして表示され、表示する際に、クエリとマッチングした歌詞部分をハイライト処理する請求項1に記載の類似文書検索装置。前記サブワード連鎖音節列又は音素列は、複数のサブワード音節又は音素を繋げた組み合わせで作成される請求項1に記載の類似文書検索装置。前記サブワード連鎖音節列又は音素列は、一つのサブワード音節又は音素で構成される請求項1に記載の類似文書検索装置。前記文字列類似度計算は、二つの音素列において音素を単位とし、音素の挿入や削除、置換のコストを考慮した端点フリーDPマッチング方法を用いる請求項1に記載の類似文書検索装置。前記文字列類似度計算は、二つの音素列の中で異なる音素の数に基づく類似度計算方法で行う請求項1に記載の類似文書検索装置。歌詞検索や映画の台本検索などの文書検索を行うに際し、検索文字列に聞き間違いや記憶違い等に起因する部分的誤りが含まれることがしばしば生じる。例えば、歌詞の原文に存在する文字列がムスウノヒカリであるのに対して、検索文字列について、表記が異なるが音響的には類似するマッスグナヒカリと誤って入力して検索するような場合である。このような検索を行う場合、非特許文献1では2パス処理による検索高速化を実現しているが、第1パスでは、検索対象となる文書や文字列において、検索文字列のNGram要素が含まれる割合一致度の高い部分を検索対象候補とするため、含まれないNGram要素と検索対象との類似度を考慮しないという問題点がある。すなわち、上述した検索例に対しては、検索対象となるムスウノヒカリにおいて、検索文字列マッスグナヒカリのNGram要素中にヒカリだけ含まれていて、NGram要素の一致度が低くなるため、正解のムスウノヒカリが第1パスにて検索候補から外されてしまい検索精度が低くなる。特許文献1のシステムでは音響的な類似度を考慮しているが、検索するたびに、音声認識辞書の全ての単語において、検索文字列の類似単語列候補を求めるための類似度計算を行う必要がある。現状では、Web上の検索対象が多い商用歌詞検索システムでは数万、数十万以上の歌詞を対象とする場合に、類似度を計算する際の探索空間単語組合せの種類数が膨大になるため、オンラインでの検索が非常に遅くなるという問題点があった。特許文献2の検索装置では、検索文字列に出現可能な単語を予測してINDEXに登録するため、実際に入力された検索文字列の単語が未登録OUTOFVOCABULRY問題である場合には、オンラインでその検索文字列を音素列に変換し、各検索対象文書の音素列とのDPマッチングを行い、その結果得られたDPマッチングコスト値に基づいて検索を行うので、検索時間が遅くなるという問題点があった。また、仮に存在する全ての単語をINDEXに登録するとすれば、INDEXのサイズが膨大になるため、実際のシステムへの実装にはコストが高くなるという問題点があった。また、特許文献2の検索装置では、第2パスでは、第1パスの近似距離計算によるソート情報などを利用せず、全ての検索対象候補についてDPマッチングによる計算を行うため、検索効率が低下するという問題点があった。本発明は、上記実情に鑑みて提案されたもので、文書検索を行うに際して、検索文字列に聞き間違いや記憶違い等に起因する部分的誤りが含まれる場合であっても、複数の検索対象文書から目的の文書の検索を高速かつ高精度に実現できる類似文書検索装置を提供することを目的としている。本発明は上記目的を達成するため、類似文書検索装置において、文書の構成要素となるサブワード連鎖連続する一定数の音素または音節を単位として検索文字列と検索対象文書との類似度を考慮するものである。そして、検索文字列と検索対象文書との類似度を考慮する場合、予め構築した検索用INDEXを用いて第1段階の検索第1パスを行って検索対象文書の候補を絞り、続いて第2段階の検索第2パスを行う2種類のパス検索アルゴリズムを導入する。先ず、上記検索用INDEXの構築では、未知の検索文字列に対応するため、N個の音節又は音素の組合せ若しくは大量の文書から所望数の音節又は音素から構成される音節列音節NGram又は音素列、平均値Dに対して、セッション類似度D=D/D、閾値α=0.0~1.0としたことを特徴としている。請求項3は、請求項2の類似文書検索装置において、セッション内の標準偏差値をDとした場合、セッション類似度D=Ds/D‐D、としたことを特徴としている。請求項4は、請求項1の類似文書検索装置において、前記INDEX作成手段における類似度は、各サブワード連鎖クラスタを代表する音節列または音素列と検索対象文書をそれぞれ音素列に変換し、二つの音素列において音素を単位とした文字列類似度計算を行って得られた累積文字列類似度値に基づいて算出することを特徴としている。請求項5は、請求項4の類似文書検索装置において、前記音素列間の文字列類似度計算は、音素の置換コスト値、音素の挿入コスト値、音素の脱落コスト値を音声認識実験による音素混同行列に基づいて計算することを特徴としている。請求項6は、請求項5の類似文書検索装置において、前記置換コスト値、挿入コスト値及び脱落コスト値は、経験値や発音辞書により決められる値であることを特徴としている。請求項7は、請求項1の類似文書検索装置において、前記サブワード連鎖クラスタは、複数のサブワード連鎖が属するグループとなり、一つだけのサブワード連鎖であることを特徴としている。請求項8は、請求項1の類似文書検索装置において、前記入力インタフェースは、歌詞の一部分をテキストデータで入力することを特徴としている。請求項9は、請求項1の類似文書検索装置において、前記入力インタフェースは、歌詞の一部分を音声で入力し、入力した音声を音声認識手法によってテキストデータに変換してから検索することを特徴としている。請求項10は、請求項1の類似文書検索装置において、前記出力インタフェースは、検索結果となる歌詞の楽曲名、アーティスト名、歌詞全文が提示されることを特徴としている。請求項11は、請求項1の類似文書検索装置において、前記出力インタフェースは、歌詞全文がリンクして表示され、表示する際に、クエリとマッチングした歌詞部分をハイライトすることを特徴としている。請求項12は、請求項1の類似文書検索装置において、前記サブワード連鎖音節列又は音素列は、複数のサブワード音節又は音素を繋げた組み合わせで作成されることを特徴としている。請求項13は、請求項1の類似文書検索装置において、前記サブワード連鎖音節列又は音素列は、一つのサブワード音節又は音素で構成されることを特徴としている。請求項14は、請求項1の類似文書検索装置において、前記文字列類似度計算は、二つの音素列において音素を単位とし、音素の挿入や削除、置換のコストを考慮した端点フリーDPマッチング方法を用いることを特徴としている。請求項15は、請求項1の類似文書検索装置において、前記文字列類似度計算は、二つの音素列の中で異なる音素の数に基づく類似度計算方法で行うことを特徴としている。本発明によれば、検索用INDEXの作成段階において、各サブワード連鎖クラスタと検索対象文書との類似度を事前に計算しておくため、類似検索文字列の検索時における第1パスINDEX検索での絞り込み処理には類似度の計算が不要となる。したがって、検索文字列と検索対象文書との音素間で行われる計算量の多い文字列類似度計算は、第2パスで少量の検索対象候補に限定して行われるため、全体の計算量を減少させることで高速検索を実現することができる。更に、第2パスの文字列類似度計算において、セッション内における類似度の最小値と平均値に基づいて算出されるセッション類似度Dが所定の閾値αより小さい場合に、類似度が小さく検索文字列と似ている検索対象文書候補が存在すると判断し、以降のセッションでの文字列類似度計算による類似度算出を打ち切るので、文字列類似度計算を行う検索文書候補の数を減少させることで、検索率を低下させることなく検出処理の速度向上を図ることができる。また、検索用INDEXの作成時に、検索文字列の構成部分となる可能性があるサブワード連鎖が含まれる音節列クラスタと検索対象文書の類似度を考慮するため、第1パスINDEX検索において正解となる検索対象文書を候補から外してしまう確率を低下させることができる。この結果、全検索対象に対する文字列類似度計算による検索と同程度の検索精度が実現できる。また、検索用INDEX作成と検索文字列検索の際に、単語の代わりに、サブワード連鎖音節列または音素列を利用することによって、検索文字列と検索対象文書との間で対応する単語が存在しないOUTOFVOCABULRYという問題が生じることがなくなる。さらに、クラスタリングによって検索用INDEXへのエントリ数が音節列または音素列の数から音節列クラスタまたは音素列クラスタの数になったため減るので、検索用INDEX作成のための音節列または音素列の種類が多い場合でも検索用INDEXサイズを削減することができる。以下、本発明の類似文書検索装置の一実施形態について、図1のブロック図を参照しながら説明する。類似文書検索装置の一例として、歌詞の一部のフレーズ等を検索文字列として入力し、歌詞データや楽曲情報を出力する歌詞検索装置を例に説明する。歌詞検索装置では、歌詞の構成要素となるサブワード連鎖連続する一定数の音素または音節を単位として検索文字列と登録されている歌詞データとの類似度を考慮する。サブワード連鎖音節列又は音素列は、サブワード音節又は音素から予め決められた所望数のサブワードを繋げた組み合わせで形成されるものである。歌詞検索装置となる類似文書検索装置1は、楽曲の歌詞の一部のフレーズ等を検索文字列として入力する入力インタフェース2と、歌詞データ文書データの検索結果を出力する出力インタフェース3と、検索対象となる複数の歌詞データ検索対象文書が格納された歌詞データベース4と、入力インタフェース2に入力された検索文字列から歌詞データベース4に格納されている歌詞データの検索処理を行う制御部10を有して構成されている。入力インタフェース2に入力される検索文字列は、音声認識により変換された文字列であってもよい。より具体的には、本発明の類似文書検索装置は、中央演算処理部CPU,ハードディスク等の記憶部,ドライバ等の読取部,キーボード等の入力部,ディスプレイ等の表示部等を備えた汎用のパーソナルコンピュータPCや携帯情報機器に専用プログラムをインストールすることで構成される。したがってPCにおいて、入力インタフェース2は入力部に、出力インタフェース3は表示部に該当し、歌詞データベース4は記憶部内に構築され、音節列クラスタ作成手段11、検索用INDEX作成手段12、サブワード連鎖抽出手段13、類似度演算手段14における各種処理は中央演算処理部CPUで実行される。また、入力インタフェース2を携帯端末とし、検索処理をPCで行うようにしてもよい。入力インタフェース2へは、例えば、歌詞の一部分を入力部からのテキストデータで入力される。また、入力インタフェースは、歌詞の一部分を音声で入力し、入力した音声を音声認識手法によってテキストデータに変換するようにしてもよい。制御部10は、後述する音節NGram間の距離に基づいてクラスタリングしてサブワード連鎖クラスタ音節列クラスタを登録する音節列クラスタ作成手段11と、サブワード連鎖クラスタ音節列クラスタと歌詞データベース4の各歌詞データ検索対象文書の音素列との類似度をテーブルとした検索用INDEXを予め作成する検索用INDEX作成手段12と、検索文字列から複数のサブワード連鎖として抽出するサブワード連鎖抽出手段13と、検索文字列に対する各歌詞データ検索対象文書の類似度を演算する類似度演算手段14を備えている。音節列クラスタ作成手段11は、大量の文書における多数の音節から予め設定された個数N個の音節を組み合わせることでサブワード連鎖として複数の音節NGramを作成し、各音節NGram間の距離に基づいてクラスタリングした複数の音節NGramが属するグループをサブワード連鎖クラスタ音節列クラスタとして登録する。サブワード連鎖クラスタは、複数のサブワード連鎖が属するグループとなり、一つだけのサブワード連鎖であってもよい。なお、音節の代わりに音素を使用してもよい。この場合、音節列クラスタ作成手段11は、音素列クラスタ作成手段11となり、予め設定された個数N個の音素を組み合わせることで複数の音素NGramを作成し、各音素NGram間の距離に基づいてクラスタリングした複数の音素NGramが属するグループを音素列クラスタとして登録すればよい。各音節NGram間各音素NGram間の距離は、各音節NGramを構成するN個の音節を構成する音素同士音素の数が異なる場合もあるの比較で行う文字列類似度計算DPマッチングで算出する。DPマッチングについては後述する。検索用INDEX作成手段12は、登録された複数の音節列クラスタと歌詞データベース4の各歌詞データの音素列との距離をテーブルとした検索用INDEXを予め作成する。各音節列クラスタは、それぞれ複数の音節NGramを代表する音節NGramである。検索用INDEXには、予め算出された各音節列クラスタに対する各歌詞データの距離が記憶されている。検索用INDEXの作成手順については後述する。サブワード連鎖抽出手段13は、入力された検索文字列を、N個の音節毎に分けて複数のサブワード連鎖として抽出する。例えば、検索文字列が8個の音節で構成され、Nを3個とした場合、それぞれ先頭から1,2,3番目の音節、2,3,4番目の音節、3,4,5番目の音節、4,5,6番目の音節、5,6,7番目の音節、6,7,8番目の音節音節3Gramがサブワード連鎖として抽出される。前記音素列クラスタ作成手段11に応じて、サブワード連鎖抽出手段13では、音節の代わりに音素を使用し、検索文字列をN個の音節毎に分けて複数のサブワード連鎖音素NGramとして抽出する。サブワード連鎖音節列又は音素列は、複数のサブワード音節又は音素を繋げた組み合わせで作成されるが、一つのサブワード音節又は音素で構成されるものであってもよい。類似度演算手段14による検索文書は、検索用INDEXを参照して検索文字列に対する歌詞データ候補を絞り込む第1パスINDEX検索と、この歌詞データ候補と検索文字列との音素列同士のDPマッチングを行って最終的な歌詞データの検索を行う第2パスDPマッチング検索とにより行われる。第1パスINDEX検索は、前記した検索用INDEXを参照して抽出した各サブワード連鎖音節3Gramに対応するサブワード連鎖クラスタ音節列クラスタの距離の合計から各歌詞データの音素列との類似度を演算することで行われる。すなわち、各サブワード連鎖が属するクラスタに対応する各距離を検索用INDEXから求め、各距離の合計を各検索対象文書各歌詞データの音素列に対する類似度として演算する。第2パスDPマッチング検索は、歌詞データ候補と検索文字列との音素列同士のDPマッチングにより類似度を演算して最終的な歌詞データの検索を行う。出力インタフェース3は、類似度演算手段14での演算結果に基づいて歌詞データ検索対象文書の検索結果を出力する。検索結果は、入力インタフェース2に入力される検索文字列との類似度の高い順で出力される。また、出力インタフェースでは、検索結果となる歌詞の楽曲名、アーティスト名、歌詞全文が提示されるようにしてもよい。あるいは、出力インタフェースは、歌詞全文がリンクして表示され、表示する際に、クエリとマッチングした歌詞部分について、異なる色で表示したり、大きな文字で表記したりする等で強調するようなハイライト処理を行うようにしてもよい。次に、第1パスINDEX検索における検索文字列に対する歌詞データの検索時に使用する検索用INDEXの作成手順について、図2を参照しながら説明する。検索用INDEXは、音節列クラスタ作成手段11及び検索用INDEX作成手段12に対して予め入力される情報により作成される。先ず、歌詞データや新聞コーパス等の大量の文書データをサブワード連鎖抽出手段13に入力し、所望の数Nを指定して形態素解析を行って音節列に変換することで、文書データに含まれる音節N個から構成された全ての音節列を音節NGramAiとして算出する。例えば、図2に示すように、文書データに文字列好きな事がないが存在しサブワード連鎖抽出手段13に入力された場合ステップ21、音節変換処理を施すことで音節列sukinakotoganaiを求めステップ22、所望の数Nを3とした場合、これを3音節で構成される複数の音節NGram音節3GramAmに変換する。音節NGramA1~6は、それぞれsukinakinakonakotokotogatoganaganaiに変換されるステップ23。次に、作成された全ての音節NGramAmについて、音節NGram同士の距離行列を計算するステップ24。音節NGram同士間の距離の計算ついては、二つの音節NGramをそれぞれ音素列に変換し、二つの音素列間の音響距離を求めることになる。音素列間の音響距離の計算の仕方については、二つの音素列において、音素を単位とするDPマッチング系列になっているデータ同士の類似度の計算を行う。DPマッチングとは、既存の技術である動的計画法による文字列類似度計算であり、二つの音素列間の音響類似距離値を求めるに際し、音素間の差違や音素の挿入や脱落を考慮した計算手段により計算する。DPマッチングの具体的な計算例については後述する。図2のフローチャートに戻り、DPマッチングにより各音節間の音響距離に基づいてクラスタリングした複数の音節NGramが属するグループを音節列クラスタCnとして登録するステップ25。複数の音節NGramAmのクラスタリングは、次のような手順で行われる。音節NGram同士の距離行列で構成される各音響距離値の計算音節NGram同士間の距離の計算については、上述したように、二つの音節NGramをそれぞれ音素列に変換し、二つの音素列間の音響距離を求める。そして、各音節NGramを音響距離値空間上にプロットし、距離の近い音響距離値同士で空間をクラスタリングして、各クラスタの代表ベクトルとなる音節列クラスタCnを算出する。音節列クラスタCnは、複数クラスタにより異なる一定でない数の音節NGramAmを代表する。クラスタリングの具体的な実現手段としては、公知技術であるkmeansを用いることができる。kmeansによるクラスタリングは、以下の1~4の手順により行われる。1データを指定された任意の数であるk個のクラスタに分割する。例えば、音節列クラスタCnの個数nを1000個とする。2各クラスタについて重心を計算する。3全てのデータについて、重心との距離を最小にするクラスタを求め、各データを最小のクラスタに割り当てる。4前回のクラスタから変化がなければ終了する。変化がある場合は、2に戻る。上述した例では、文書データをサブワード連鎖抽出手段13に入力して音節列に変換することで音節NGram音節3GramAmを作成したが、文書データを入力することなく得ることもできる。すなわち、音節列クラスタ作成手段11において、50音及びしゃじゃ等の濁音や促音を含んだ多数の音素最大で120~130程度存在するから所望例えば3音の数N個の音素を繋げた全ての音節NGram音節3GramAmを作成すればよい。この場合、例えば、アイウやシャカイのような3音の音素の連結を単位として全ての音節NGramAmを作成する。音素として100音を選択すれば、100の3乗個の音節NGram音節3GramAmが存在することになる。音節NGram同士間の距離に基づいたkmeans法を用いてクラスタリングすることで、複数の音節NGramを代表する音節NGramが音節列クラスタCnとして自動的に分類され、この音節列クラスタCnと歌詞データベース4に登録された検索対象文書である複数の歌詞データLkの音素列との各音響距離値を算出し、図3に示すような検索用INDEXのテーブル30を予め作成しておく。音節列クラスタCnと歌詞データLkの音素列との類似度は、DPマッチングで算出する。この場合、音節列クラスタCnの音素数に対して、歌詞データLkの音素数が多くなるので、二つの音素列の長さが異なるため、端点フリーDPマッチングを利用する。端点フリーDPマッチングを使用することで、音節列クラスタCnを構成する音素の連続と歌詞データの最も長い共通部分列を算出し、その共通部分の類似度を算出できる。すなわち、端点フリーDPマッチングは、二つの音素列において音素を単位とし、音素の挿入や削除、置換のコストを考慮して文字列類似度計算が行われる。また、文字列類似度計算において、二つの音素列の中で異なる音素の数置換された音素のみに基づいて類似度計算を行ってもよい。端点フリーDPマッチングによる具体的な計算方法について説明する。二つの音素列S1,S2が存在し、DPマッチング計算における挿入、脱落、置換のコスト値をそれぞれCins,CdelCsubとした場合、DPマッチング計算式の初期値は数1、計算値は数2、結果値は数3でそれぞれ表わされる。検索用音素列S1がtoganaiであり、検索対象音素列S2が...kotowanania...である場合を例に、DP距離の計算処理結果を図4に示す。この場合において、計算する際の単純化を図るため、Cins=1,Cdel=1Csub=1とした。実際には、後述する音素混同行列によって各音素に対してCins,CdelCsubのコスト値が算出される。先ず、数1の初期化計算式により検索対象音素列S2の各値の初期化を行うSTEP1。次に、検索用音素列S1のtに対する検索対象音素列S2の各要素の計算値を数2により計算するSTEP2。数2では、4つの式のうちの最小値が選択される。この計算を、検索用音素列S1のoganaiに対して順次行いSTEP3~8、全てのDijが算出される。Dlenjの最小値を終点とし、終点からバックトレースすることで、Dijを最小値最短距離となる最適経路を導き出すSTEP9。その結果、検索用音素列S1toganaiは、検索対象音素列S2...kotowanania...のtowanaと類似し、DP距離は2となる。検索用INDEXのテーブル30では、図3に示すように、算出された各音節列クラスタを縦に配置し、各歌詞データを横に配置し、予め計算されたクラスタ音節と歌詞データの音素列同士の類似度が対応箇所に記載された表で構成されている。DPマッチングの計算においては、音素の置換コスト値異なる音素間の置換コスト値、音素挿入コスト値、音素脱落コスト値をそれぞれ予め数値を与え、音素列間の類似度を表す累積DPマッチングコストを求める。この累積DPマッチングコストを音素列間の音響距離値とする。上述した音素の置換、挿入及び脱落コストの数値については、音声認識実験による音素混同行列phoneticconfusionmatrixに基づいて計算される。前記挿入コスト値及び脱落コスト値は、音声認識実験における経験値や発音辞書により決められる値である。音素混同行列とは、音声認識実験などにより求められるもので、行列の要素を確率で表したものである。音声認識実験は、音声データを学習データとして大量に集め、HMM学習アリゴリズムによって学習データを利用して音声認識用の音素の音響モデルを作成する。また、音素間混同行列を使用した各音素の挿入、脱落及び他の音素との置換コストの算出例について、表1を参照して説明する。この場合、テスト用音声データを音声認識器に入力し、認識結果となった音素列を出力し、テスト用音声データを書き起こした正解音素列と前記認識結果となった音素列を比較することで音素間混同行列が作成される。表1は、a,b...zの各音素についての置換、脱落、挿入の回数を示すもので、npkは音声認識器によって音素pを音素kとして認識した回数、nφpは音声認識器によって音素pが音声認識結果に挿入された正解音素列には存在しない回数、npφは音声認識器によって音素pが脱落した回数をそれぞれ示している。DPマッチング計算における挿入、脱落、置換のコスト値Cins,CdelCsubは、Mを音素の集合とした場合、数4~6により求められる。次に、検索文字列を入力して類似する歌詞データを検索する場合について、図5のフローチャートを参照して説明する。先ず、ユーザが歌詞の一部であるとして記憶しているフレーズ聞き覚えのある単語の集合である文字列。例えば好きな事がないを検索文字列として入力インタフェース2から入力するステップ41。前記したフレーズ好きな事がないは、実際の歌詞に含まれている音節と完全に一致していなくてもよい。入力されたフレーズは、サブワード連鎖抽出手段13により、フレーズを構成する文字から音節変換処理が行われるステップ42。具体的には、フレーズ好きな事がないを音節列であるsukinakotoganaiに変換する。続いて、指定された数Nこの例では3の音節数から構成される複数の音節NGram音節3GramQに変換するステップ43。音節NGramQは、上記例の音節列sukinakotoganaiに対して、Q1sukina,Q2kinako,Q3nakoto,Q4kotoga,Q5togana,Q6ganaiの6個に変換される。次に、歌詞データLkに対する類似度Rkを検索用INDEXのテーブル30を使用し、値が小さい上位複数個P個の歌詞データを候補として選択する第1パスINDEX検索が行われるステップ44。この検索は、図6に示すように、検索文字列のフレーズに対応する各音節NGramQが含まれる音節列クラスタCと、歌詞データの音節列との距離の総和である類似度Rk=D35k...Dnk...D1000kをテーブルに記憶された値に基づいて計算することで求める。具体的は、Q1sukinaが含まれる音節列クラスタがC35であり、Qmnakotoが含まれる音節列クラスタがCnであり、Q6ganaiが含まれる音節列クラスタがC1000である場合、これを加算した値が類似度Rkとなる。そして、第1パスINDEX検索結果として、図7に示すように、各歌詞データに対する類似度Rの値の低い順で歌詞データをランキングし、その上位P個例えば800個の歌詞データLkを検索対象候補として絞り込む。歌詞データの絞り込み個数であるPは、可変にできるようになっている。続いて、検索文字列の音素列と歌詞データの音素列との音響距離が最も小さい歌詞データを決めるため第2パスDPマッチング検索が行われるステップ45。この検索は、検索文字列の音素列と、第1パスINDEX検索によって検索対象候補となった歌詞データの音素列との類似度R ́をDPマッチングで算出する。そして、DPマッチングを行うに際しては、第1パスINDEX検索によって検索対象候補となったP800個の歌詞データについて、上位からM10~100個毎を一つのグループとする複数P/M個のセッションに分割し、セッション毎に各セッションに属する歌詞データに対してDPマッチングを行う。以下、第2パスDPマッチング検索の手順について、図8のフローチャートを参照しながら説明する。先ず、第1パスINDEX検索によって検索対象候補となったP800個の歌詞データについて、M10~100個を一つのグループとする複数P/Mセッションに分割するステップ51。続いて、上位候補のセッション順に順次各セッションに属する検索対象文書候補歌詞データについてDPマッチングによる類似度の算出が行われるが、先ずセッション1に属するM個の各歌詞データLkに対してそれぞれDPマッチングを行ってM個の各類似度を算出するステップ52。そして、セッション内での全ての歌詞データに対するDPマッチングの計算終了時に、セッション内における類似度の最小値DとM個の類似度の平均値Dから、セッション類似度D=D/Dを計算するステップ53。次に、セッション類似度Dが所定の閾値α0.4~0.5より小さいかどうかを判断するステップ54。セッション類似度Dが所定の閾値αより小さい場合には、類似度が小さく検索文字列と似ている歌詞データがセッション内に存在すると判断し、以降のセッションでのDPマッチングによる類似度算出を打ち切り、その時点で算出された類似度により検索対象文書候補の出力順位を決め、上位X個を検索結果として出力するステップ55。すなわち、DPマッチング計算済のセッションにおいて算出された音響距離値類似度R ́が低いX個について、歌詞データ及びそれらの楽曲情報を検索結果として出力インタフェース3に出力する。出力するX個は、DPマッチング計算済である少なくとも1以上のセッションにおいて算出された全ての類似度に対応する歌詞データ及びそれらの楽曲情報でもよいしその場合、XはMの倍数となる、その中の上位のものであってもよい。セッション類似度Dが所定の閾値αより小さくない場合は、DPマッチング計算済のセッションの番号に1を加算した次のセッションをDPマッチング計算対象としステップ56、ステップ52からステップ54の処理が繰り返して行われる。上述の例では、セッション類似度D=D/D、閾値α=0.4~0.5とすることで、検索文字列と似ている歌詞データの存在の有無を判断したが、セッション類似度Dは、セッション内における類似度の最小値と平均値に基づいて算出される値であればよく、また、閾値αは、0.0~1.0の範囲で所定値を決めればよい。例えばセッション内の標準偏差値をDとした場合、以下に示す数式からセッション類似度Dを求めても良い。セッション類似度D=Ds/D‐D上述した第2パスDPマッチング検索によれば、セッション内における類似度の最小値と平均値に基づいて算出されるセッション類似度D例えば、D=D/Dが所定の閾値αより小さい場合に、類似度が小さく検索文字列と似ている歌詞データが存在すると判断し、以降のセッションでのDPマッチングによる類似度算出を打ち切るので、DPマッチングを行う歌詞データの数を減少させることで、検索率を低下させることなく検出処理の速度向上を図ることができる。また、上述したDPマッチングによる類似度算出の場合、検索文字列の音素の数と、歌詞データLkの音素の数が異なるので、上述した検索用INDEXの作成時の音節列クラスタと歌詞データとの類似度の算出と同様に端点フリーDPマッチングを利用する。例えば、入力した検索文字列が好きな事がないである場合に、歌詞データを構成する音素列との比較を行い、歌詞データに好きな事が何が含まれる場合、検索文字列の好きな事がないの音素列sukinakotoganai15音素と、歌詞データ15音素以上と端点フリーDPマッチングで比較し、歌詞データに含まれる最も類似する好きな事は何の音素列sukinakotowananiとの類似度R ́が算出される。上述した類似文書検索装置によれば、検索用INDEX作成手段12におけるテーブル30の作成段階において、各音節列クラスタCnと歌詞データ検索対象文書Lkとの類似度を事前に計算しておくため、検索文字列の検索時における第1パスINDEX検索での歌詞データの絞り込み処理にはテーブル30の類似度を加算するだけで類似度のDPマッチングによる計算が不要となる。したがって、検索文字列と検索対象文書との音素間同士で行われる計算量の多いDPマッチングは、少量の検索対象候補に限定して行う第2パスDPマッチング検索のみで行われるため、全体の計算量を減少させることで高速検索を実現することができる。また、検索用INDEX作成手段12におけるテーブル30の作成時に、検索文字列のサブワード連鎖となる可能性がある音節NGramが含まれる音節列クラスタと歌詞データ検索対象文書の類似度を考慮するため、第1パスINDEX検索において正解となる歌詞データ検索対象文書を候補から外してしまう確率を低下させることができる。この結果、全検索対象に対するDPマッチングによる検索と同程度の検索精度が実現できる。また、検索用INDEX作成手段12におけるテーブル30の作成時、及び、検索文字列を入力して類似文書検索を行い際に、単語の代わりに、音節NGramサブワード連鎖を利用することによって、検索文字列と歌詞データ検索対象文書との間で対応する単語が存在しないOUTOFVOCABULRYという問題が生じることがなくなる。さらに、検索用INDEX作成手段12におけるテーブル30の作成時に、クラスタリングによって検索用INDEXへのエントリ数が音節NGramの数から音節列クラスタの数になったため減るので、検索用INDEX作成のための音節NGramの種類が多い場合でも検索用INDEXサイズを削減することができる。上述した類似文書検索装置では、類似度演算手段14において類似度を考慮して検索文字列から歌詞データ検索対象文書を検索する場合、第1パスINDEX検索での歌詞データの絞り込み処理と、検索文字列と検索対象文書との音素間同士のDPマッチングによる第2パスDPマッチング検索処理を行っている。そして、第1パスINDEX検索での歌詞データの絞り込み個数Pは変数となっているので、検索精度を高める場合は個数Pを多くして第2パスDPマッチング検索処理を行い、検索処理時間を短縮する場合には個数Pを少なくして第2パスDPマッチング検索処理を行うように個数Pを設定すればよい。"