(57)【要約】【課題】より高い精度の距離尺度を算出に要する負荷を抑制しながら提供することが可能な、情報処理装置、情報処理方法及びプログラムを提供すること。【解決手段】本発明に係る情報処理装置は、少なくとも２つの要素データを取得するデータ取得部と、データ取得部により取得された要素データ間の相違度を算出する相違度算出部と、データ取得部により取得された要素データのうち、一つの要素データから相異なる他の一つの要素データへと推移するために要するコストを算出する推移コスト算出部と、相違度算出部により算出された相違度と、推移コスト算出部により算出されたコストとを利用して、要素データ間の相違の度合いを表す要素間距離を算出する距離算出部と、を備える。【選択図】図３
2011243148.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの要素データを取得するデータ取得部と、
前記データ取得部により取得された要素データ間の相違度を算出する相違度算出部と、
前記データ取得部により取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出する推移コスト算出部と、
前記相違度算出部により算出された相違度と、前記推移コスト算出部により算出されたコストとを利用して、要素データ間の相違の度合いを表す要素間距離を算出する距離算出部と、
を備える、情報処理装置。
【請求項２】
前記推移コスト算出部は、
前記要素データを構成する単位要素の相違度に基づいて、
相対的に小さい値を有する相違度から相対的に大きい値を有する相違度へと推移するための第１の推移コスト、又は、相対的に大きな値を有する相違度から相対的に小さい値を有する相違度へと推移するための第２の推移コストを算出する、請求項１に記載の情報処理装置。
【請求項３】
前記距離算出部は、前記相違度算出部により算出された前記相違度と、前記推移コスト算出部により算出された前記第１の推移コスト及び前記第２の推移コストと、の総和を算出し、前記要素間距離とする、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記データ取得部により取得された前記要素データに対して、所定の前処理を実施するデータ前処理部を更に備える、請求項１に記載の情報処理装置。
【請求項５】
前記データ前処理部は、前記要素データが構造化されたデータである場合に、当該構造化されたデータを複数の構造要素へと分割し、
前記相違度算出部、前記推移コスト算出部及び前記距離算出部は、前記構造要素毎に処理を実施する、請求項４に記載の情報処理装置。
【請求項６】
少なくとも２つの要素データを取得するステップと、
前記データ取得部により取得された要素データ間の相違度を算出するステップと、
取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出するステップと、
算出された相違度及びコストを利用して、要素データ間の相違の度合いを表す要素間距離を算出するステップと、
を含む、情報処理方法。
【請求項７】
コンピュータに、
少なくとも２つの要素データを取得するデータ取得機能と、
前記データ取得機能により取得された要素データ間の相違度を算出する相違度算出機能と、
前記データ取得機能により取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出する推移コスト算出機能と、
前記相違度算出機能により算出された相違度と、前記推移コスト算出機能により算出されたコストとを利用して、要素データ間の相違の度合いを表す要素間距離を算出する距離算出機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な情報がデジタル化された上で蓄積されており、その規模は、増加する一方である。このような状況において、蓄積された情報源から必要な情報を効率よく検索する方法が求められることとなる。
【０００３】
生の情報源を記号化する様々な符号法が近年発明されるに伴い、近似文字列照合（ａｐｐｒｏｘｉｍａｔｅ  ｓｔｒｉｎｇ  ｍａｔｃｈｉｎｇ）が、文書のみならず、音声、音楽、画像、ビデオなどの記号化されたマルチメディアを含む、広い分野の情報検索および解析で使われている。記号情報検索および解析にとって、近似文字列照合で使われる文字列間距離尺度が、検索された結果の適合性と検索過程の効率に大きな影響を与える。
【０００４】
かかる文字列間距離尺度として、例えば、同じ長さの二つの文字列に適用されるハミング距離と、異なる長さの文字列に対しても利用可能なリーべンシュタイン距離（あるいは編集距離ともいう。）が広く使われている。
【０００５】
この際、距離の精度を上げて文字列を効率的に分離するために、不一致の場所と分散を反映する他の尺度が近似文字列照合に導入されてきた。かかる他の尺度として、例えば、エントロピー尺度やＮ−ｇｒａｍ法（以下の特許文献１）を挙げることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００９／０８５５５５号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のエントロピー尺度や特許文献１に記載されているＮ−ｇｒａｍ法は、高い精度の距離尺度を与えるものの、算出に要する負荷が大きいという問題があった。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、より高い精度の距離尺度を算出に要する負荷を抑制しながら提供することが可能な、情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、少なくとも２つの要素データを取得するデータ取得部と、前記データ取得部により取得された要素データ間の相違度を算出する相違度算出部と、前記データ取得部により取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出する推移コスト算出部と、前記相違度算出部により算出された相違度と、前記推移コスト算出部により算出されたコストとを利用して、要素データ間の相違の度合いを表す要素間距離を算出する距離算出部と、を備える情報処理装置が提供される。
【００１０】
前記推移コスト算出部は、前記要素データを構成する単位要素の相違度に基づいて、相対的に小さい値を有する相違度から相対的に大きい値を有する相違度へと推移するための第１の推移コスト、又は、相対的に大きな値を有する相違度から相対的に小さい値を有する相違度へと推移するための第２の推移コストを算出することが好ましい。
【００１１】
前記距離算出部は、前記相違度算出部により算出された前記相違度と、前記推移コスト算出部により算出された前記第１の推移コスト及び前記第２の推移コストと、の総和を算出し、前記要素間距離とすることが好ましい。
【００１２】
前記情報処理装置は、前記データ取得部により取得された前記要素データに対して、所定の前処理を実施するデータ前処理部を更に備えてもよい。
【００１３】
前記データ前処理部は、前記要素データが構造化されたデータである場合に、当該構造化されたデータを複数の構造要素へと分割し、前記相違度算出部、前記推移コスト算出部及び前記距離算出部は、前記構造要素毎に処理を実施してもよい。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、少なくとも２つの要素データを取得するステップと、前記データ取得部により取得された要素データ間の相違度を算出するステップと、取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出するステップと、算出された相違度及びコストを利用して、要素データ間の相違の度合いを表す要素間距離を算出するステップと、を含む情報処理方法が提供される。
【００１５】
また、上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、少なくとも２つの要素データを取得するデータ取得機能と、前記データ取得機能により取得された要素データ間の相違度を算出する相違度算出機能と、前記データ取得機能により取得された前記要素データのうち、一つの前記要素データから相異なる他の一つの前記要素データへと推移するために要するコストを算出する推移コスト算出機能と、前記相違度算出機能により算出された相違度と、前記推移コスト算出機能により算出されたコストとを利用して、要素データ間の相違の度合いを表す要素間距離を算出する距離算出機能と、を実現するためのプログラムが提供される。
【発明の効果】
【００１６】
以上説明したように本発明によれば、より高い精度の距離を、算出に要する負荷を抑制しながら提供することが可能である。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る情報処理方法を説明するための説明図である。
【図２】本発明の実施形態に係る情報処理方法を説明するための説明図である。
【図３】本発明の第１の実施形態に係る情報処理装置の構成を示したブロック図である。
【図４】同実施形態に係る情報処理方法を説明するための説明図である。
【図５】同実施形態に係る情報処理方法の流れを示した流れ図である。
【図６】同実施形態に係る情報処理方法の流れを示した流れ図である。
【図７】同実施形態に係る情報処理方法の流れを示した流れ図である。
【図８】同実施形態に係る情報処理方法の具体例を示した説明図である。
【図９】同実施形態に係る情報処理方法の第１変形例を説明するための説明図である。
【図１０】同実施形態に係る情報処理方法の第１変形例の流れを示した流れ図である。
【図１１】同実施形態に係る情報処理方法の第２変形例を説明するための説明図である。
【図１２】同実施形態に係る情報処理方法の第２変形例の流れを示した流れ図である。
【図１３】同実施形態に係る情報処理方法の第２変形例の流れを示した流れ図である。
【図１４】同実施形態に係る情報処理方法の第２変形例の流れを示した流れ図である。
【図１５】同実施形態に係る情報処理方法の第２変形例の流れを示した流れ図である。
【図１６】同実施形態に係る情報処理方法の第３変形例を説明するための説明図である。
【図１７】同実施形態に係る情報処理方法の第３変形例の流れを示した流れ図である。
【図１８】同実施形態に係る情報処理方法の適用例について説明するための流れ図である。
【図１９】同実施形態に係る情報処理方法の適用結果を示したグラフ図である。
【図２０】同実施形態に係る情報処理方法の適用結果を示したグラフ図である。
【図２１】同実施形態に係る情報処理方法の適用例について説明するための流れ図である。
【図２２】同実施形態に係る情報処理方法の適用結果を示した説明図である。
【図２３】同実施形態に係る情報処理方法の適用結果を示したグラフ図である。
【図２４】本発明の第２の実施形態に係る情報処理方法について示した説明図である。
【図２５】同実施形態に係る情報処理方法について示した説明図である。
【図２６】同実施形態に係る情報処理方法の適用例について説明するための流れ図である。
【図２７】同実施形態に係る情報処理方法の適用結果を示した説明図である。
【図２８】同実施形態に係る情報処理方法の適用結果を示した説明図である。
【図２９】本発明の実施形態に係る情報処理装置のハードウェア構成を示したブロック図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
なお、説明は、以下の順序で行うものとする。
（１）推移感受文字列間距離尺度について
（１−１）基盤技術
（１−２）基盤技術の問題点
（１−３）推移感受文字列間距離尺度の概略
（１−４）推移感受文字列間距離の定式化
（２）第１の実施形態
（２−１）情報処理装置の構成について
（２−２）情報処理方法について
（２−３）第１変形例
（２−４）第２変形例
（２−５）第３変形例
（２−６）推移感受文字列間距離尺度の適用例について
（３）推移感受配列間距離尺度について
（３−１）基盤技術とその問題点
（３−２）推移感受配列間距離尺度の概略
（３−３）推移感受配列間距離の定式化
（４）第２の実施形態
（４−１）情報処理装置の構成について
（４−２）情報処理方法について
（４−３）推移感受配列間距離尺度の適用例について
（５）本発明の各実施形態に係る情報処理装置のハードウェア構成について
【００２０】
（推移感受文字列間距離尺度について）
本発明の第１の実施形態に係る情報処理装置及び情報処理方法の詳細について説明するに先立ち、本発明の実施形態に係る推移感受文字列間距離尺度（Ｔｒａｎｓｉｔｉｏｎ−ｓｅｎｓｉｔｉｖｅ  Ｓｔｒｉｎｇ  Ｍｅｔｒｉｃ）について、簡単に説明する。
【００２１】
＜基盤技術について＞
まず、本発明の基盤となる技術（基盤技術）として、近似文字列照合に利用される距離尺度について、簡単に説明する。
【００２２】
［ハミング距離について］
近似文字列照合に利用される距離尺度の一つに、ハミング距離（Ｈａｍｍｉｎｇ  Ｄｉｓｔａｎｃｅ：ＨＤ）がある。このハミング距離は、同じ長さを有する２つの文字列の距離尺度を表わすものであり、一つの文字列から他の文字列へと変換するために必要な最小文字置換数として定義されるものである。
【００２３】
例えば、文字列ｆｏｒｍと、文字列ｆａｒｍとの間のハミング距離について着目する。この場合、文字列ｆｏｒｍを文字列ｆａｒｍに変換するためには、２番目の文字「ｏ」を「ａ」へと変換する処理を行えばよい。従って、かかる場合におけるハミング距離は、１となる。
【００２４】
［リーベンシュタイン距離について］
上記ハミング距離は、同じ長さの文字列に対して定義される距離尺度であるが、長さの異なってもよい２つの文字列に対する距離尺度の一つに、リーベンシュタイン距離（Ｌｅｖｅｎｓｈｔｅｉｎ  Ｄｉｓｔａｎｃｅ：ＬＤ）がある。このリーベンシュタイン距離は、編集距離とも呼ばれ、一つの文字列から他の文字列へと変換するために必要な文字の削除・挿入及び置換の最小総和数として定義されるものである。
【００２５】
ここで、文字列を構成する二つの要素ｘ，ｙの相違度（すなわち、正規化距離）ｄ（ｘ，ｙ）を、以下の式１１のように定義する。
【００２６】
【数１】
2011243148.tif 000003
・・・（式１１）
【００２７】
すると、長さＭの文字列Ｘと、長さＮの文字列Ｙとが与えられた場合、文字列Ｘと文字列Ｙとの間のリーベンシュタイン距離ＬＤ（Ｘ，Ｙ）は、以下の式１２として定義される。
【００２８】
ＬＤ（Ｘ，Ｙ）＝Ｄ［Ｍ，Ｎ］  ・・・（式１２）
【００２９】
ここで、上記式１２において、Ｄ［ｉ，ｊ］は距離行列であり、以下のように定義される。
【００３０】
【数２】
2011243148.tif 000004
・・・（式１３）
2011243148.tif 000005
・・・（式１４）
2011243148.tif 000006
・・・（式１５）
【００３１】
ここで、上記式１５において、０≦ｉ≦Ｍ、０≦ｊ≦Ｎであり、Ｘｉは、文字列Ｘのｉ番目の文字を表わし、Ｙｊは、文字列Ｙのｊ番目の文字を表わす。
【００３２】
例えば、文字列ｆｏｒｍに対して、二つの文字列ｆｏｒｍｓ及びｆｏｒｕｍは、どちらも一文字、「ｓ」又は「ｕ」が挿入されているため、リーベンシュタイン距離は、いずれの文字列の場合にも、同じ値（距離１）となる。
【００３３】
個々の文字列は、挿入（ｉｎｓｅｒｔｉｏｎ）、削除（ｄｅｌｅｔｉｏｎ）、置換（ｓｕｂｓｔｉｔｕｔｉｏｎ）といった不一致により、一致する文字列断片とそうでない文字列断片とに分断される。例えば、上記の例では、文字列ｆｏｒｍｓは、ｆｏｒｍ−ｓのように、長さ４の文字列（ｆｏｒｍ）と長さ１の文字（ｓ）の二つに断片化される。また、文字列ｆｏｒｕｍは、ｆｏｒ−ｕ−ｍのように、順に長さ３の文字列、長さ１の文字，長さ１の文字、の三つに断片化される。挿入が末尾にあろうと中間にあろうと、また、不一致が固まっていようと分散していようと、不一致文字数が同じ１である限り、リーベンシュタイン距離では、同じ距離１と判定される。
【００３４】
＜基盤技術の問題点＞
他方、近似文字列照合を使う数多くの応用分野において、問合わせ文字列と比べ、試験する文字列の先頭部又は末尾部が異なっている場合、問い合わせ文字列は、試験する文字列と関連性の高い文字列である可能性が高い、としばしば推定される。同様に、試験する文字列の中間部に異なる文字が挿入されていたり、試験する文字列の全域に異なる文字が分散していたりする場合、問合わせ文字列は、試験する文字列と関連性の低い独立した文字列である可能性が高い、としばしば推定される。
【００３５】
例えば、ｆｏｒｍｓ（ｆｏｒｍ−ｓ）はｆｏｒｍの変異語であり、ｆｏｒｕｍ（ｆｏｒ−ｕ−ｍ）は独立語である。このような変異語を独立語から容易に分離する方法が、自然言語処理では高く望まれている。このような分離を行うためには、近似文字列照合によって算出される距離の精度を向上させることが必要となる。
【００３６】
距離の精度を上げ、ある距離尺度（例えば、リーベンシュタイン距離尺度）において等距離に位置する文字列を分離するために、従来、不一致の場所と分散とを反映する他の尺度が、近似文字列照合に導入されてきた。このような他の尺度の例として、上記のように、エントロピー尺度や、Ｎ−ｇｒａｍ法がある。
【００３７】
かかる場合におけるエントロピーＨは、以下の式１６のように定義される値であり、文字列の分断化具合の尺度として広く使われ、リーベンシュタイン距離と組み合わせられて用いられる。なお、以下の式１６において、ｐｉは、ｉ番目の断片の占有度である。
【００３８】
【数３】
2011243148.tif 000007
・・・（式１６）
【００３９】
また、長さＮの枠を文字列上で移動させるＮ−ｇｒａｍ法は、不一致の場所を捕まえる方法として広く使われ、リーベンシュタイン距離と組合せられて用いられる。
【００４０】
ここで、エントロピー尺度の算出には、対象とする文字列について、全ての長さの断片の頻度を収集する必要があり、Ｎ−ｇｒａｍ法では、対象とする文字列について、一致する枠の頻度を測定する必要がある。このような頻度の特定は、対象とする文字列が大きくなればなるほど計算コストがかかるものであり、かかる方法は、より高い精度の距離を提供するものの、計算に要する負荷が高いという問題がある。
【００４１】
＜推移感受文字列間距離尺度の概略について＞
本発明者は、上述のような問題を解決するために鋭意検討を行った結果、より高い精度の距離を計算コストを抑制しながら算出することが可能な文字列間距離尺度（推移感受文字列間距離尺度）に想到した。以下では、まず、図１及び図２を参照しながら、本発明の実施形態に係る推移感受文字列間距離尺度の概略について説明する。
【００４２】
本発明の実施形態に係る推移感受文字列間距離尺度は、二つの文字列の間の距離を決定する文字列間距離尺度である。かかる距離尺度の算出には、二つの文字列の他に、少なくとも２つの環境変数が用いられる。
【００４３】
対象とする文字列は、量的比較が可能な記号要素の列であればよく、記号要素は、単体要素であっても、複合要素であってもよい。ここで、上記単体要素は、例えば文字や符号などのような、あらゆる種類の記号である。また、複合要素は、単語や符号ブロックなど、２つ以上の単体要素からなる要素である。
【００４４】
文字列間距離尺度の算出では、まず、二つの要素の比較から、二つの要素間の相違の度合い（要素間相違度：ｅｌｅｍｅｎｔ  ｄｉｓｓｉｍｉｌａｒｉｔｙ）を決定する。これは、一般に、０から１の範囲内の実数で表す。要素間の比較法は、厳密比較法又は近似比較法のいずれを用いてもよい。厳密比較法（ｅｘａｃｔ  ｍａｔｃｈｉｎｇ）は、二つの要素が一致した場合には０を出力し、二つの要素が不一致である場合には１を出力するものである。近似比較法（ｆｕｚｚｙ  ｍａｔｃｈｉｎｇ）は、要素間相違度として、０から１の範囲内の実数を出力するものであり、出力０は完全一致を表わし、出力１は完全不一致を表すものである。
【００４５】
本発明の実施形態に係る推移感受文字列間距離尺度は、要素の削除、挿入及び置換に相当する要素間相違度のみならず、隣接する要素上で観測される要素間相違度の推移（ｔｒａｎｓｉｔｉｏｎ）をも考慮し、距離の一部として要素間相違度に加算する。このような要素間相違度の推移として、上昇推移（ａｓｃｅｎｄｉｎｇ  ｔｒａｎｓｉｔｉｏｎ、短くはａｓｃｅｎｔ）と、下降推移（ｄｅｓｃｅｎｄｉｎｇｔｒａｎｓｉｔｉｏｎ、短くはｄｅｓｃｅｎｔ）とがある。
【００４６】
ここで、上記上昇推移は、要素間相違度が（相対的に）小さい値である状態から、要素間相違度が（相対的に）大きい値である状態への推移を意味するものである。また、上記下降推移は、要素間相違度が（相対的に）大きい値である状態から、要素間相違度が（相対的に）小さい値である状態への推移を意味するものである。
【００４７】
すなわち、本発明の実施形態に係る、二つの文字列の間の推移感受文字列間距離（ｔｒａｎｓｉｔｉｏｎ−ｓｅｎｓｉｔｉｖｅ  ｓｔｒｉｎｇ  ｄｉｓｔａｎｃｅ：ＴＤ）は、一つの文字列を他の文字列に変換するに必要な、要素の削除、挿入及び置換に相当する要素間相違度と、要素間相違度の推移の代価（コスト）を加算した総和の最小値として定義される。
【００４８】
続いて、図１及び図２を参照しながら、本発明の実施形態に係る推移感受文字列間距離尺度について、簡単に説明する。図１及び図２は、本発明の実施形態に係る情報処理方法を説明するための説明図である。
【００４９】
図１は、離散（ｄｉｓｃｒｅｔｅ）ＬＤ、連続（ｆｕｚｚｙ）ＬＤ、離散（ｄｉｓｃｒｅｔｅ）ＴＤ、連続（ｆｕｚｚｙ）ＴＤという４種類の距離尺度を用いて、二つの文字列ｆｏｒｍとＦｏｒｕｍｓの距離を計算する原理を図解したものである。
【００５０】
先に説明したように、ＬＤ尺度（リーベンシュタイン距離尺度）は、図中の矩形で表される要素間相違度を加算したものである。他方、本発明の実施形態に係るＴＤ尺度（推移感受文字列間距離尺度）は、矩形で表される要素間相違度に加え、要素間相違度を表わす矩形の端部に位置した三角形で示される上昇推移及び下降推移を加算したものである。換言すれば、従来のＬＤは矩形の総面積に相当するものであり、本発明の実施形態に係るＴＤは、台形の総面積に相当するものである。ここで、図１では、上昇推移に要する代価（上昇推移コスト）をＡと表わし、下降推移に要する代価（下降推移コスト）をＢと表わしている。
【００５１】
また、離散か連続かは、要素間相違度が二値化されているか否かの違いのみであり、矩形の高さで示される。例えば、ｆｏｒｍの先頭文字ｆとＦｏｒｕｍｓの先頭文字Ｆの相違度を、離散尺度では１とし、連続尺度では、例えば、０．４とみなす。
【００５２】
図１に示したように、文字列ｆｏｒｍと文字列Ｆｏｒｕｍｓについて、離散ＬＤ尺度は３であるが、離散ＴＤ尺度は４．８となり、両者は大きく異なる値となる。同様に、文字列ｆｏｒｍと文字列Ｆｏｒｕｍｓについて、連続ＬＤ尺度は２．４となるが、連続ＴＤ尺度は３．９となり、両者は大きく異なる値となる。
【００５３】
また、二つの文字列ｆｏｒｍｓとｆｏｒｕｍの場合に着目すると、文字列ｆｏｒｍに対して、文字列ｆｏｒｍｓはＤ＝１＋Ａ＝１．４となり、文字列ｆｏｒｕｍはＤ＝１＋Ａ＋Ｂ＝１．９となって、それぞれ異なる距離を与えることが可能となる。
【００５４】
このように、本発明の実施形態に係る推移感受文字列間距離（ＴＤ）尺度を用いると、不一致文字数が同じ１であっても、その文字が先頭や末尾にあるか中間にあるかにより距離は異なる。また、不一致文字数が複数ある場合、それらが局所的に固まっているか全域に分散しているかで、距離は大きく異なる。
【００５５】
図２に、長さＭ＝１０の文字列に対する、同じ長さでも不一致の割合、箇所、そして分散具合の異なる６つの文字列（１）〜（６）の推移感受文字列間距離（ＴＤ）を示す。ここで、上昇推移コストＡ及び下降推移コストＢが共に０である場合が、従来のリーベンシュタイン距離に相当する。
【００５６】
図２から明らかなように、上昇推移コストＡ及び下降推移コストＢの値に応じて、各々の推移感受文字列間距離（ＴＤ）は大きく変化することがわかる。また、上昇推移コストＡ及び下降推移コストＢの和Ａ＋Ｂが１に近づくにつれ、５割の不一致が全域に分散する文字列（４）及び（５）の距離は、全ての文字が異なる文字列（６）の距離、すなわち最大距離１０、に近づき、等しくさえなりうる。
【００５７】
このように、本発明の実施形態に係る推移感受文字列間距離尺度は、全域に渡って相違点が分散しているような文字列は、全てが異なっている文字列と同じように、全く関連性がない文字列とみなすことが可能である。
【００５８】
＜推移感受文字列間距離の定式化＞
以上のような性質を有する推移感受文字列間距離（ＴＤ）を、以下で定式化する。
長さＭの文字列Ｘと、長さＮの文字列Ｙとが与えられると、二つの文字列の間の推移感受文字列間距離（ＴＤ）は、以下の式１０１のように定義される。
【００５９】
ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）＝Ｄ［Ｍ，Ｎ］  ・・・（式１０１）
【００６０】
ここで、上記式１０１において、Ａは、上昇推移コストを表わす環境変数であり、Ｂは、下降推移コストを表わす環境変数である。また、上記式１０１において、Ｄ［ｉ，ｊ］（０≦ｉ≦Ｍ，０≦ｊ≦Ｎ）は、文字列間距離行列（ｓｔｒｉｎｇ  ｄｉｓｔａｎｃｅ  ｍａｔｒｉｘ）であり、以下の式１０２〜式１０４のように定義される。
【００６１】
【数４】
2011243148.tif 000008
・・・（式１０２）
2011243148.tif 000009
・・・（式１０３）
2011243148.tif 000010
・・・（式１０４）
【００６２】
また、上記式１０４において、ｄ［ｉ，ｊ］（０≦ｉ≦Ｍ，０≦ｊ≦Ｎ）は、要素間相違度行列（ｅｌｅｍｅｎｔ  ｄｉｓｓｉｍｉｌａｒｉｔｙ  ｍａｔｒｉｘ）であり、以下の式１０５〜式１０８のように定義される。
【００６３】
【数５】
2011243148.tif 000011
・・・（式１０５）
2011243148.tif 000012
・・・（式１０６）
2011243148.tif 000013
・・・（式１０７）
2011243148.tif 000014
・・・（式１０８）
【００６４】
ここで、上記式１０８において、Ｘｉは、文字列Ｘのｉ番目の要素であり、Ｙｊは、文字列Ｙのｊ番目の要素である。
【００６５】
また、上記式１０８において、ｄ（ｘ，ｙ）は、二つの要素ｘとｙとの間の要素間相違度（ｄｉｓｓｉｍｉｌａｒｉｔｙ）又は正規化距離（ｎｏｒｍａｌｉｚｅｄ  ｄｉｓｔａｎｃｅ）を出力する関数である。この要素間相違度は、以下の式１０９のように、０から１の範囲の実数で表わされる。
【００６６】
０≦ｄ（ｘ，ｙ）＝｜ｘ−ｙ｜≦１  ・・・（式１０９）
【００６７】
ここで、要素間相違度ｄ（ｘ，ｙ）＝０である場合、要素ｘと要素ｙとは完全一致していることを表わし、要素間相違度ｄ（ｘ，ｙ）＝１である場合、要素ｘと要素ｙとは完全不一致であることを表わす。また、同一要素間の要素間相違度ｄ（ｘ，ｘ）＝０である。
【００６８】
また、要素間相違度ｄ（ｘ，ｙ）は、以下の式１１０のように、相違度閾値（ｄｉｓｓｉｍｉｌａｒｉｙ  ｔｈｒｅｓｈｏｌｄ）と呼ばれる閾値Ｃを用いて二値化してもよい。
【００６９】
【数６】
2011243148.tif 000015
・・・（式１１０）
【００７０】
また、上記式１０４における関数ｔ（ｄ１，ｄ２，Ａ，Ｂ）は、ある要素間相違度ｄ１から、異なる要素間相違度ｄ２への推移に要するコスト（推移コスト）を出力する関数であり、以下の式１１１のように表わされる。
【００７１】
【数７】
2011243148.tif 000016
・・・（式１１１）
【００７２】
ここで、上記式１１１において、係数Ａは、上昇推移にかかるコストを表わす係数であり、係数Ｂは、下降推移にかかるコストを表わす係数である。また、係数Ａ及びＢは、条件０≦Ａ＋Ｂ≦１を満たす。この推移コストは、エントロピーの概念を反映した量となっている。
【００７３】
二つの環境変数である、上昇推移コスト係数（ａｓｃｅｎｔ  ｃｏｓｔ  ｃｏｅｆｆｉｃｉｅｎｔ）Ａ、下降推移コスト係数（ｄｅｓｃｅｎｔ  ｃｏｓｔ  ｃｏｅｆｆｉｃｉｅｎｔ）Ｂが与えられると、長さＭの文字列Ｘと長さＮの文字列Ｙとの間の推移感受文字列間距離ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）は、以下の性質を有する。ただし、ここでは、要素間相違度を正の閾値（Ｃ＞０）で二値化することは考慮しない。
【００７４】
性質１）：ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）≧０
性質２）：Ｘ＝Ｙである場合に限り、ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）＝０
性質３）：ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）＝ＴＤ（Ｙ，Ｘ，Ａ，Ｂ）
性質４）：ＴＤ（Ｘ，Ｚ，Ａ，Ｂ）≦ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）＋ＴＤ（Ｙ，Ｚ，Ａ，Ｂ）
性質５）：｜Ｍ−Ｎ｜＋ｍｉｎ（Ａ，Ｂ）・ｓｉｇｎ（｜Ｍ−Ｎ｜）
≦ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）≦ｍａｘ（Ｍ，Ｎ）
性質６−１）：Ａ１≦Ａ２ならばＴＤ（Ｘ，Ｙ，Ａ１，Ｂ）≦ＴＤ（Ｘ，Ｙ，Ａ２，Ｂ）
性質６−２）：Ｂ１≦Ｂ２ならばＴＤ（Ｘ，Ｙ，Ａ，Ｂ１）≦ＴＤ（Ｘ，Ｙ，Ａ，Ｂ２）
性質７）：ＬＤ（Ｘ，Ｙ）＝ＴＤ（Ｘ，Ｙ，０，０）≦ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）
【００７５】
以上のような定式化及び性質を踏まえて、以下では、上述のような推移感受文字列間距離を算出することが可能な情報処理装置及び情報処理方法について、詳細に説明する。
【００７６】
（第１の実施形態）
以上のように、文字列検索では、文字列照合の尺度としてリーベンシュタイン距離が一般的に使われている。リーベンシュタイン距離は、先に説明したように、長さが異なってもよい二つの文字列がある場合に、一つの文字列を他の文字列に変換するに必要な文字の置換（あるいは相違度）、挿入、削除の総和として定義される。リーベンシュタイン距離は、相違、挿入、削除を含めた不一致の箇所と分散具合を反映しないため、関連の無い文字列が同じ距離と評価され、誤陽判定に繋がる事が多い。
【００７７】
そこで、本発明者は、不一致の箇所と分散具合を反映した文字列間距離を実現するために、リーベンシュタイン距離に、隣接する要素間相違度の推移の総代価を加算した値を文字列間距離とする「推移感受文字列間距離尺度」に想到した。要素間相違度推移総代価を加算することにより、不一致文字が全体にばらばら分散している文字列には、より大きな距離を与え、ランクを下げさせ、適合グループからはずす、という優れた分離性能を得ることが可能となる。
【００７８】
＜情報処理装置の構成について＞
まず、図３を参照しながら、本発明の第１の実施形態に係る情報処理装置の構成について説明する。図３は、本実施形態に係る情報処理装置の構成を示したブロック図である。
【００７９】
本実施形態に係る情報処理装置１０は、図３に示したように、データ取得部１０１と、要素間距離算出部１０３と、記憶部１１３と、を主に備える。
【００８０】
データ取得部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、入力装置、通信装置等により実現される。データ取得部１０１は、前述のような推移感受文字列間距離を算出する少なくとも２つの要素データを取得する。データ取得部１０１の取得する要素データは、量的比較が可能な記号要素の列であればよく、データ形式は問わない。また、要素データを構成する記号要素は、単体要素であっても、複合要素であってもよい。
【００８１】
データ取得部１０１は、このような要素データを、インターネットやホームネットワークなどのネットワークを介して接続されている各種の装置から取得してもよく、情報処理装置１０に有線または無線を介して直接接続されている各種の装置から取得してもよい。また、データ取得部１０１は、ユーザがキーボードやタッチパネル等の各種の入力装置を介して情報処理装置１０に直接入力したデータを、要素データとしてもよい。
【００８２】
データ取得部１０１は、取得した要素データを、後述する要素間距離算出部１０３に出力する。また、データ取得部１０１は、取得した要素データを、要素データを取得した日時等に関する時刻情報と関連付けて、後述する記憶部１１３等に格納してもよい。
【００８３】
要素間距離算出部１０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等により実現される。要素間距離算出部１０３は、データ取得部１０１から出力された要素データを利用して、要素データ間の相違の度合いを表す要素間距離を算出する。
【００８４】
この要素間距離算出部１０３は、図３に示したように、データ前処理部１０５と、距離算出部１０７と、相違度算出部１０９と、推移コスト算出部１１１と、を更に備える。
【００８５】
データ前処理部１０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等により実現される。データ前処理部１０５は、データ取得部１０１から出力された要素データに対して、必要に応じて、各種の前処理を実施する。
【００８６】
データ前処理部１０５が実施する前処理は特に限定されるものではないが、かかる前処理として、例えば、要素データが構造性を有するデータである場合に、要素データを単語や物理ブロックのような複数の構造要素（ブロック）へと分離する処理等を挙げることができる。
【００８７】
かかる構造性を有するデータの一例として、例えば、言語的構造を挙げることができる。複数の文章から構成される文書データは、複数の文章から構成されるという構造性を有するものであり、文章は複数の節から構成され、各節は複数の単語から構成され、各単語は複数の文字から構成される。データ前処理部１０５は、言語的構造を有するデータを、このようなブロック（文章、節、単語・・・）ごとに分割することが可能である。また、データ前処理部１０５は、上述のような分割ではなく、文書データを、ページやブロックごとのように、ある長さの物理単位ごとに分割してもよい。
【００８８】
また、構造性を有するデータは、上述のような例に限定されるわけではなく、例えば、構造化されたプログラム言語のコードであってもよい。
【００８９】
データ前処理部１０５は、かかる前処理を実施する際に、例えば形態素解析等の様々な手法を利用したり、後述する記憶部１１３に格納されている各種の辞書ファイルやデータベースやプログラム等を利用したりすることが可能である。また、データ前処理部１０５は、かかる前処理の実施を、ネットワーク上に存在する各種サーバなど、情報処理装置１０が通信可能な各種の装置に要請し、前処理後のデータを各種の装置から取得してもよい。
【００９０】
かかる前処理は、上記のように、要素データをいくつかのまとまりに区分可能な際に実施されればよい。また、要素データが上述のような前処理を実施可能なデータであっても、かかる前処理を実施しなくともよい。
【００９１】
データ前処理部１０５による前処理を実施することで、要素データをいくつかのまとまりへと分割することが可能となり、後述する要素間距離を算出する際に、計算コスト等を更に抑制することが可能となる。
【００９２】
データ前処理部１０５は、前処理を実施した要素データを、後述する距離算出部１０７に出力する。また、データ前処理部１０５は、前処理を実施しなかった場合には、データ取得部１０１から出力された要素データを、そのまま距離算出部１０７に出力する。また、要素データに対する前処理を実施しない場合には、データ取得部１０１から出力された要素データは、直接距離算出部１０３に入力されてもよい。
【００９３】
距離算出部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。距離算出部１０７は、後述する相違度算出部１０９及び推移コスト算出部１１１と連携しながら、要素データ間の相違の度合いを表す要素間距離（推移感受文字列間距離：ＴＤ）を算出する。
【００９４】
距離算出部１０７は、データ前処理部１０５から出力された各要素データについて、要素データを構成する要素（例えば、文字や数字など）の個数をカウントし、先に説明したような要素間相違度行列や、文字列間距離行列を設定する。また、距離算出部１０７は、設定した要素間相違度行列及び文字列間距離行列の初期設定を行う。
【００９５】
ここで、距離算出部１０７は、初期設定した要素間相違度行列及び文字列間距離行列を記憶部１１３や要素間距離算出部１０３内などの所定の箇所に格納し、相違度算出部１０９及び推移コスト算出部１１１等が適宜利用可能なようにしてもよい。
【００９６】
その後、距離算出部１０７は、要素データを構成する要素ごとに、要素間相違度の算出を相違度算出部１０９に要請したり、推移コストの算出を推移コスト算出部１１１に要請したりする。
【００９７】
距離算出部１０７は、相違度算出部１０９から出力された相違度を示す情報を取得すると、取得した情報に基づいて、要素間相違度行列の該当箇所に、算出された相違度を格納していく。また、距離算出部１０７は、推移コスト算出部１１１から出力された推移コストを示す情報を取得すると、取得した情報と要素間相違度行列とを利用して、上記式１０４に基づいて、要素間距離（推移感受文字列間距離）を算出する。距離算出部１０７は、算出した要素間距離を、文字列間距離行列の該当箇所に格納していく。かかる処理を着目している要素データの末端まで実施することで、着目している要素データ間の推移感受文字列間距離を算出することができる。
【００９８】
また、距離算出部１０７は、算出した推移感受文字列間距離を利用して、更に、２つの要素データ間の全体の相違度を算出してもよい。要素データ間の全体の相違度を算出する方法は、公知の方法を利用することが可能である。
【００９９】
ここで、距離算出部１０７が着目する要素（要素データを構成する要素）は、アルファベットの１文字や「０」〜「９」までの数字のように、１つの文字や数字に限定されるわけではなく、複数の文字や数字からなる集合を、要素として利用することが可能である。例えば、要素データが、「１００、０．０５、４０、・・・」のように、ある数が羅列されたデータの集合である場合を考える。この際、距離算出部１０７は、「１、０、０、０、．、０、５、４、０・・・」のように、「１００」、「０．０５」、「４０」のような意味のあるデータの集合を更に分解して要素とせずに、「１００」、「０．０５」、「４０」のようなデータの集合そのものを要素として利用する。
【０１００】
距離算出部１０７は、データ前処理部１０５から出力された要素データについて要素間距離を算出すると、算出した要素間距離を、表示制御部（図示せず。）等を介してディスプレイ等の表示部に出力する。また、距離算出部１０７は、算出した要素間距離を、データのまま、他の装置へと出力してもよい。また、距離算出部１０７は、算出した要素間距離を、記憶部１１３等に格納してもよい。
【０１０１】
なお、距離算出部１０７は、データ前処理部１０５により要素データが複数の構造要素へと分割されている場合には、各構造要素ごとに処理を実施した上で、最終的に、要素データそのものの推移感受文字列間距離を算出する。
【０１０２】
相違度算出部１０９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。相違度算出部１０９は、距離算出部１０７から要請のあった要素（より詳細には、各要素データから抽出されたそれぞれの要素）について、要素間相違度を算出する。具体的には、相違度算出部１０９は、距離算出部１０７から、２つの要素ｘ及びｙが出力されると、要素ｘ及びｙを互いに比較して、式１０９に示した要素間相違度ｄ（ｘ，ｙ）を算出する。その後、相違度算出部１０９は、算出した相違度を、距離算出部１０７及び推移コスト算出部１１１に出力する。
【０１０３】
なお、相違度算出部１０９により算出される要素間相違度ｄ（ｘ，ｙ）は、０から１の範囲の実数で表わされるものであってもよく、０又は１に二値化されたものであってもよい。また、相違度算出部１０９は、アルファベットの大文字と小文字を同一のものとして扱ってもよく、異なるものとして扱ってもよい。アルファベットの大文字と小文字とを異なるものとして扱う場合に算出される相違度は、０から１の間で適宜設定することが可能である。
【０１０４】
推移コスト算出部１１１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等により実現される。推移コスト算出部１１１は、データ取得部１０１から出力された要素データのうち、一方の要素データから他方の要素データへと推移するために要するコストを算出する。より詳細には、推移コスト算出部１１１は、一方の要素データから他方の要素データへと推移するために要する推移コストを、着目している要素ごとに式１１１に基づいて算出する。推移コスト算出部１１１は、推移コストを算出すると、算出した推移コストを、距離算出部１０７に出力する。
【０１０５】
なお、推移コストの算出に利用される上昇推移コスト係数Ａ及び下降推移コスト係数Ｂは、適宜設定することが可能である。例えば、かかる係数は、ユーザ設定情報として予め要素間距離算出部１０３や記憶部１１３等に格納されていてもよく、要素間距離算出部１０３が推移感受文字列間距離を算出するごとに、ユーザにより指定されてもよい。
【０１０６】
このように、本実施形態に係る距離算出部１０７、相違度算出部１０９及び推移コスト算出部１１１は、互いに連携しながら推移感受文字列間距離を算出する。以下では、図４を参照しながら、距離算出部１０７、相違度算出部１０９及び推移コスト算出部１１１で実施される処理の具体例について説明する。図４は、要素間距離算出部１０３で実施される処理の具体例を示した説明図である。
【０１０７】
図４に示した表は、先に説明した要素間相違度行列と文字列間距離行列とをあわせて図示したものである。図４では、「ｆｏｒｍ」という文字列を表す要素データと、「Ｆｏｒｕｍｓ」という文字列を表す要素データとが要素間距離算出部１０３に入力された場合について、図示している。なお、図４に示した例では、データ前処理部１０５による前処理は実施されていないものとする。
【０１０８】
かかる２種類の文字列を表す要素データが距離算出部１０７に入力されると、距離算出部１０７は、各要素データを構成する要素の要素数をカウントする。従って、図４に示した例では、文字列「ｆｏｒｍ」の要素数は４と特定され、文字列「Ｆｏｒｕｍｓ」の要素数は６であると特定される。
【０１０９】
次に、距離算出部１０７は、各行列の初期化を行う。図４に示した例では、ｉ＝０に該当する行（ｉ＝０かつｊ＝０〜６に該当するカラムの集合）と、ｊ＝０に該当する列（ｊ＝０かつｉ＝０〜４に該当するカラムの集合）の内容が、所定の値に設定される。
【０１１０】
その後、距離算出部１０７は、（ｉ，ｊ）の組ごとに、相違度算出部１０９に対して要素間相違度の算出を要請するとともに、推移コスト算出部１１１に対して推移コストの算出を要請し、算出された各値を、図４に示した各カラムの該当位置に格納していく。
【０１１１】
ここで、図４において、各カラムには２つの数値が格納されているが、左上に位置する斜体で示した数値が、相違度算出部１０９により算出される要素間相違度行列ｄ［ｉ，ｊ］の値である。また、各カラムにおいて右下に位置する数値が、要素間相違度と推移コストとに基づいて式１０４により算出される文字列間距離行列Ｄ［ｉ，ｊ］の値である。また、図４に示した例では、上昇推移コスト係数Ａ＝０．４、下降推移コスト係数Ｂ＝０．５であり、大文字の「Ｆ」と小文字の「ｆ」が０．４と算出される場合の各数値が記載されている。
【０１１２】
ここで、図４の下方に示した拡大図を参照しながら、（ｉ，ｊ）＝（４，６）に対応するカラムに格納される文字列間距離行列Ｄ［４，６］がどのように算出されるかについて、具体的に説明する。
【０１１３】
式１０４から明らかなように、Ｄ［４，６］を算出する場合には、Ｄ［３，５］、Ｄ［３，６］、Ｄ［４，５］の３種類の文字列間距離行列の値と、ｄ［３，５］、ｄ［３，６］、ｄ［４，５］、ｄ［４，６］の４種類の要素間相違度行列の値とが用いられる。
【０１１４】
まず、（ｉ，ｊ）＝（３，５）のカラムから推移する場合について考える。この際、着目している２つのカラムに格納されている要素間相違度の値は、双方とも「１」である。従って、かかる場合の推移コストは、式１１１におけるｔ（１，１，０．４，０．５）に対応する値となるため、推移コストｔ＝０となる。よって、かかる場合に算出されるＤ［３，５］＋１＋ｔ（１，１，０．４，０．５）の値は、３＋１＋０＝４となる。
【０１１５】
同様に、（ｉ，ｊ）＝（３，６）のカラムから推移する場合について考える。この際、着目している２つのカラムに格納されている要素間相違度の値は、双方とも「１」である。従って、かかる場合の推移コストは、式１１１におけるｔ（１，１，０．４，０．５）に対応する値となるため、推移コストｔ＝０となる。よって、かかる場合に算出されるＤ［３，６］＋１＋ｔ（１，１，０．４，０．５）の値は、４＋１＋０＝５となる。
【０１１６】
また、（ｉ，ｊ）＝（４，５）のカラムから推移する場合について考える。この際、着目している２つのカラムに格納されている要素間相違度行列の値は、ｄ［４，５］＝０であり、ｄ［４，６］＝１である。従って、かかる場合の推移コストは、式１１１におけるｔ（０，１，０．４，０．５）に対応する値となるため、推移コストｔ＝０．４×（１−０）＝０．４となる。よって、かかる場合に算出されるＤ［４，５］＋１＋ｔ（０，１，０．４，０．５）の値は、２．５＋１＋０．４＝３．９となる。
【０１１７】
式１０４より、Ｄ［ｉ，ｊ］の値は、算出した３種類の値の中の最小値であるから、かかる場合においては、（４，５，３．９）の中の最小値である３．９が、Ｄ［４，６］の値となる。
【０１１８】
以上、図４を参照しながら、距離算出部１０７、相違度算出部１０９及び推移コスト算出部１１１で実施される処理の具体例について説明した。以下では、再び図３に戻って、情報処理装置１０が備える記憶部１１３について説明する。
【０１１９】
記憶部１１３は、本実施形態に係る情報処理装置１０が備えるストレージ装置の一例である。記憶部１１３には、推移感受文字列間距離を算出する際に用いられる要素データが格納されていてもよい。また、記憶部１１３には、推移感受文字列間距離の算出に関する履歴情報や要素データの取得に関する履歴情報など、各種の履歴情報が記録されていてもよい。また、記憶部１１３には、本実施形態に係る情報処理装置１０が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベースやプログラム等が、適宜記録される。
【０１２０】
この記憶部１１３は、本実施形態に係る情報処理装置１０が備える各処理部が、自由に読み書きを行うことが可能である。
【０１２１】
以上、本実施形態に係る情報処理装置１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１２２】
なお、上述のような本実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０１２３】
＜情報処理方法について＞
次に、図５〜図７を参照しながら、本実施形態に係る情報処理方法（推移感受文字列間距離の算出方法）について、その流れを説明する。図５〜図７は、本実施形態に係る情報処理方法の流れを示した流れ図である。
【０１２４】
［ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）の算出処理］
まず、図５を参照しながら、本実施形態に係る推移感受文字列間距離の算出方法の全体的な流れについて説明する。
【０１２５】
距離算出部１０７は、データ前処理部１０５（又は、データ取得部１０１）から推移感受文字列間距離を算出する要素データＸ及び要素データＹを取得すると、まず、各要素データを構成する要素の個数をカウントする（ステップＳ１０１）。ここで、距離算出部１０７は、要素データＸの要素数をＭと設定し、要素データＹの要素数をＮと設定する。
【０１２６】
次に、距離算出部１０７は、要素間相違度行列及び文字列間距離行列の値を初期設定する。具体的には、距離算出部１０７は、要素間相違度行列ｄ［０，０］の値を−１に設定するとともに、文字列間距離行列Ｄ［０，０］の値を０に設定する（ステップＳ１０３）。
【０１２７】
続いて、距離算出部１０７は、パラメータｉ（０≦ｉ≦Ｍ）の値を１に設定する（ステップＳ１０５）。このパラメータｉは、要素データＸにおいて着目している要素のデータ先頭からの位置を表すパラメータである。その後、距離算出部１０７は、設定されているパラメータｉの値が、Ｍ以下であるか否かを判断する（ステップＳ１０７）。
【０１２８】
パラメータｉの値がＭ以下である場合、距離算出部１０７は、要素間相違度行列ｄ［ｉ，０］の値を１に設定するとともに、文字列間距離行列Ｄ［ｉ，０］の値をｉ（パラメータｉの値）に設定する（ステップＳ１０９）。その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ１１１）、ステップＳ１０７の処理を再度実行する。
【０１２９】
他方、パラメータｉの値がＭ以下ではなかった場合（パラメータｉの値がＭ超過である場合）、距離算出部１０７は、パラメータｊ（０≦ｊ≦Ｎ）の値を１に設定する（ステップＳ１１３）。このパラメータｊは、要素データＹにおいて着目している要素のデータ先頭からの位置を表すパラメータである。その後、距離算出部１０７は、パラメータｊの値が、Ｎ以下であるか否かを判断する（ステップＳ１１５）。
【０１３０】
パラメータｊの値がＮ以下である場合、距離算出部１０７は、要素データＹのｊ番目の要素を、パラメータｙの値に設定する（ステップＳ１１７）。その後、距離算出部１０７は、要素間相違度行列ｄ［０，ｊ］の値を１に設定するとともに、文字列間距離行列Ｄ［０，ｊ］の値をｊ（パラメータｊの値）に設定する（ステップＳ１１９）。
【０１３１】
続いて、距離算出部１０７は、パラメータｉの値を１に設定する（ステップＳ１２１）。その後、距離算出部１０７は、パラメータｉの値がＭ以下であるか否かを判断する（ステップＳ１２３）。パラメータｉの値がＭ以下である場合には、距離算出部１０７は、要素データＸのｉ番目の要素を、パラメータｘの値に設定する（ステップＳ１２５）。また、パラメータｉの値がＭ以下ではない場合（パラメータｉの値がＭ超過である場合）には、距離算出部１０７は、パラメータｊの値を１加算して（ステップＳ１３１）、ステップＳ１１５を再び実行する。
【０１３２】
その後、距離算出部１０７は、パラメータｘ及びパラメータｙを相違度算出部１０９に出力し、要素間相違度の算出を相違度算出部１０９に要請する。また、距離算出部１０７は、パラメータｉ及びパラメータｊを推移コスト算出部１１１に出力し、推移コストの算出を推移コスト算出部１１１に要請する。相違度算出部１０９及び推移コスト算出部１１１は、出力された各パラメータや、格納されている要素間相違度行列を参照しながら、相違度と推移コストとを算出し、距離算出部１０７に出力する。
【０１３３】
距離算出部１０７は、相違度算出部１０９から出力された要素間相違度ｄ（ｘ，ｙ）を、要素間相違度行列ｄ［ｉ，ｊ］の値として設定する（ステップＳ１２７）。また、距離算出部１０７は、要素間相違度行列及び文字列間距離行列と、推移コスト算出部１１１から出力された推移コストとを利用して、ｍｉｎ（α，β，γ）の値を、文字列間距離行列Ｄ［ｉ，ｊ］の値として設定する（ステップＳ１２７）。ここで、α，β，γは、以下の式１２１〜式１２３の通りである。
【０１３４】
【数８】
2011243148.tif 000017
・・・（式１２１）
2011243148.tif 000018
・・・（式１２２）
2011243148.tif 000019
・・・（式１２３）
【０１３５】
その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ１２９）、ステップＳ１２３の処理を再度実行する。
【０１３６】
他方、ステップＳ１１５において、パラメータｊの値がＮ以下ではない場合（パラメータｊの値がＮ超過である場合）、距離算出部１０７は、Ｄ［Ｍ，Ｎ］に格納されている値を出力する（ステップＳ１３３）。これにより、要素データＸと要素データＹとの間の推移感受文字列間距離ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）が算出されたことになる。
【０１３７】
［ｄ（ｘ，ｙ）の算出処理］
続いて、図６を参照しながら、相違度算出部１０９における要素間相違度の算出方法の流れについて、簡単に説明する。
【０１３８】
まず、相違度算出部１０９は、距離算出部１０７からパラメータｘ及びパラメータｙの値が出力されると、パラメータｘの値とパラメータｙの値とを比較して、ｘ＝ｙが成立するか否かを判断する（ステップＳ１４１）。
【０１３９】
ｘ＝ｙが成立する場合には、相違度算出部１０９は、ｘとｙとは一致していると判断し、パラメータＲの値を０に設定する（ステップＳ１４３）。他方、ｘ＝ｙが成立しない場合には、相違度算出部１０９は、ｘとｙとは異なっていると判断し、パラメータＲの値を０超過１以下の所定値に設定する（ステップＳ１４５）。ここで、ｘ≠ｙの場合に設定されるパラメータＲの値は、特に限定されるわけではなく、０＜Ｒ≦１の範囲で適宜設定されればよい。
【０１４０】
続いて、相違度算出部１０９は、パラメータＲに設定された値を二値化するか否かを判断する（ステップＳ１４７）。値を二値化しない場合には、相違度算出部１０９は、後述するステップＳ１５５を実施する。また、値を二値化する場合には、相違度算出部１０９は、パラメータＲの値が、所定の閾値Ｃ以下であるか否かを判断する（ステップＳ１４９）。
【０１４１】
ここで、パラメータＲの値が閾値Ｃ以下である場合、相違度算出部１０９は、パラメータＲの値を０に設定する（ステップＳ１５１）。また、パラメータＲの値が閾値Ｃ超過である場合、相違度算出部１０９は、パラメータＲの値を１に設定する（ステップＳ１５３）。
【０１４２】
その後、相違度算出部１０９は、パラメータＲに設定されている値を、距離算出部１０７に出力する（ステップＳ１５５）。これにより、相違度算出部１０９は、パラメータｘとパラメータｙとの間の要素間相違度ｄ（ｘ，ｙ）を算出したこととなる。この要素間相違度ｄ（ｘ，ｙ）の値が、距離算出部１０７により要素間相違度行列ｄ［ｘ，ｙ］に格納される。
【０１４３】
なお、ステップＳ１４３またはステップＳ１４５において算出された値を、常に二値化せずに利用する場合には、相違度算出部１０９は、ステップＳ１４７〜ステップＳ１５３までの処理を実行しなくともよい。また、二値化を常に実行する場合には、相違度算出部１０９は、ステップＳ１４７の処理を省略してもよい。
【０１４４】
［ｔ（ｄ１，ｄ２，Ａ，Ｂ）の算出処理］
続いて、図７を参照しながら、推移コスト算出部１１１における推移コストの算出方法の流れについて、簡単に説明する。
【０１４５】
まず、距離算出部１０７からパラメータｉ及びパラメータｊが出力されると、推移コスト算出部１１１は、相違度算出部１０９から出力される要素間相違度ｄ［ｉ，ｊ］の値を取得する。また、推移コスト算出部１１１は、所定の箇所に格納されている要素間距離行列を参照し、パラメータｉ及びパラメータｊに基づいて、ｄ［ｉ−１，ｊ−１］の値及びｄ［ｉ，ｊ−１］の値を取得する。その後、推移コスト算出部１１１は、取得したこれらの値を利用して、以下の流れにより、ｔ（ｄ［ｉ，ｊ］，ｄ［ｉ−１，ｊ−１］，Ａ，Ｂ）、ｔ（ｄ［ｉ，ｊ］，ｄ［ｉ−１，ｊ］，Ａ，Ｂ）及びｔ（ｄ［ｉ，ｊ］，ｄ［ｉ，ｊ−１］，Ａ，Ｂ）の値を算出する。
【０１４６】
以下、推移コストｔ（ｄ１，ｄ２，Ａ，Ｂ）の算出の流れを説明する。推移コストの算出では、４種類の引数が用いられるが、引数ｄ１及びｄ２に相当するものが、要素間相違度ｄとなる。
【０１４７】
推移コスト算出部１１１は、引数ｄ１及びｄ２を特定すると、引数ｄ１及びｄ２の大小関係を比較する。すなわち、推移コスト算出部１１１は、０≦ｄ１＜ｄ２が成立するか否かを、まず判断する（ステップＳ１６１）。０≦ｄ１＜ｄ２が成立する場合、推移コスト算出部１１１は、上昇推移コスト係数Ａを用いて、Ａ・（ｄ２−ｄ１）を算出し、算出した値をパラメータＲの値として設定する（ステップＳ１６３）。
【０１４８】
他方、０≦ｄ１＜ｄ２が成立しない場合、推移コスト算出部１１１は、更に、０≦ｄ２＜ｄ１が成立するか否かを判断する（ステップＳ１６５）。０≦ｄ２＜ｄ１が成立する場合、推移コスト算出部１１１は、下降推移コスト係数Ｂを用いて、Ｂ・（ｄ１−ｄ２）を算出し、算出した値をパラメータＲの値として設定する（ステップＳ１６７）。
【０１４９】
また、０≦ｄ２＜ｄ１が成立しない場合は、ｄ１＝ｄ２が成立していることを意味するため、推移コスト算出部１１１は、パラメータＲの値として０を設定する（ステップＳ１６９）。
【０１５０】
その後、推移コスト算出部１１１は、パラメータＲに設定されている値を、推移コストｔ（ｄ１，ｄ２，Ａ，Ｂ）の算出結果として、距離算出部１０７に出力する（ステップＳ１７１）。かかる処理を実施することで、推移コスト算出部１１１は、ｔ（ｄ［ｉ，ｊ］，ｄ［ｉ−１，ｊ−１］，Ａ，Ｂ）、ｔ（ｄ［ｉ，ｊ］，ｄ［ｉ−１，ｊ］，Ａ，Ｂ）及びｔ（ｄ［ｉ，ｊ］，ｄ［ｉ，ｊ−１］，Ａ，Ｂ）の値を、距離算出部１０７に提供する。
【０１５１】
以上、図５〜図７を参照しながら、本実施形態に係る情報処理方法について、その流れを説明した。続いて、図８を参照しながら、本実施形態に係る情報処理方法の具体例について、簡単に説明する。
【０１５２】
図８では、本実施形態に係る推移感受文字列間距離の算出方法を、「ｐａｔｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ  ｆｏｒｍ」と「Ｐａｒｅｎｔ  Ｅｄｕｃａｔｉｏｎ  Ｆｏｒｕｍｓ」という二つの文字列の間の文字列間距離を算出する場合に適用した例を示している。ここで、第１の文字列「ｐａｔｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ  ｆｏｒｍ」は、空白も含め２３個の要素から構成されており、第２の文字列「Ｐａｒｅｎｔ  Ｅｄｕｃａｔｉｏｎ  Ｆｏｒｕｍｓ」についても、空白を含め２３個の要素から構成されている。
【０１５３】
また、図８では、（ｉ，ｊ）の組み合わせで規定されるカラムに２種類の数値が記載されているが、上側に斜体で記載されている数値が、要素間相違度行列ｄ［ｉ，ｊ］の値であり、下側に記載されている数値が、文字列間距離行列Ｄ［ｉ，ｊ］の値である。ここで、図８に示した文字列間距離行列Ｄ［ｉ，ｊ］の値は、上昇推移コスト係数Ａ＝０．４、下降推移コスト係数Ｂ＝０．５、ｄ（Ｆ，ｆ）＝０．４とした場合の値である。
【０１５４】
第１の文字列及び第２の文字列ともに構成要素数が２３であるため、これらの文字列間の推移感受文字列間距離は、文字列間距離行列Ｄ［２３，２３］の値となる。従って、図８に記載されているように、これらの文字列間の推移感受文字列間距離は、１２．５となる。
【０１５５】
また、図８に示した例では、距離算出部１０７が、要素データ間の全体の相違度（ｄ２）を算出している。この要素データ間の全体の相違度は、いわば、正規化された文字列間距離である。図８に示した例では、この要素データ間の全体の相違度ｄ２を、以下のようにして算出した。
【０１５６】
まず、パラメータＬとして、第１の文字列の構成要素数と第２の文字列の構成要素数のうち、大きい方の値を設定した。すなわち、パラメータＬの値は、図８に示した例では２３となる。また、パラメータＳとして、第１の文字列の構成要素数と第２の文字列の構成要素数のうち、小さい方の値を設定した。すなわち、パラメータＳの値は、図８に示した例では２３となる。更に、全体の相違度ｄ２を、算出された推移感受文字列間距離Ｌｄを利用して、以下の式１２４により算出した。
【０１５７】
【数９】
2011243148.tif 000020
・・・（式１２４）
【０１５８】
従って、図８に示した例では、全体の相違度ｄ２は、１−｛（２３−１２．５）２／（２３×２３）｝＝０．７９となる。
【０１５９】
このように、以上説明した推移感受文字列間距離の算出方法は、着目している要素データをそのまま利用して文字列照合を行う、いわば文字列全体照合法（ｗｈｏｌｅ−ｓｔｒｉｎｇ  ｍａｔｃｈｉｎｇ  ｍｅｔｈｏｄ）であるといえる。
【０１６０】
＜第１変形例＞
さて、以上説明した推移感受文字列間距離の算出方法は、着目している要素データをそのまま利用した方法であった。従って、長さＭの文字列Ｘと長さＮの文字列Ｙとに対して処理を行う場合には、要素相違度行列ｄ［ｉ，ｊ］及び文字列間距離行列Ｄ［ｉ，ｊ］は、それぞれ（Ｍ＋１）×（Ｎ＋１）の大きさの行列となる。また、かかる場合においては、パラメータｉ及びパラメータｊは、それぞれ０≦ｉ≦Ｍ、０≦ｊ≦Ｎの範囲内の値となる。従って、文字列の長さが長くなればなるほど、上記２種類の行列を格納するための記憶領域は、大きなものとなる。
【０１６１】
ここで、図４の下方に示した図や、式１０４からも明らかなように、行列ｄ［ｉ，ｊ］及びＤ［ｉ，ｊ］は、ｊ番目の列の値を算出するにあたって、（ｊ−１）番目の列の値だけが用いられる。また、続く（ｊ＋１）番目の列の値を算出する際には、（ｊ−１）番目の列の値は用いられず、ｊ番目の列の値だけが用いられる。従って、図９に示したように、要素間相違度行列ｄ及び文字列間距離行列Ｄの大きさを、長さＭの文字列Ｘと長さＮの文字列Ｙに対して、２（Ｍ＋１）の大きさまで削減することが可能となる。以下では、この方法を、二列処理法と呼ぶこととする。
【０１６２】
この場合、要素間距離算出部１０３（より詳細には、距離算出部１０７）は、２（Ｍ＋１）の大きさの要素間相違度行列ｄ［ｉ，ｋ］及び文字列間距離行列Ｄ［ｉ，ｋ］を準備する。また、かかる場合においては、パラメータｉ及びパラメータｋは、それぞれ０≦ｉ≦Ｍ、０≦ｋ＝ｊｍｏｄ２≦１の範囲内の値となる。
【０１６３】
［情報処理装置の構成について］
本変形例に係る情報処理装置の構成は、図３に示した本発明の第１の実施形態に係る情報処理装置１０の構成と同様であり、要素間距離算出部１０３により実施される推移感受文字列間距離の算出方法が異なっている。従って、以下では、本変形例に係る情報処理装置の構成に関する詳細な説明は、省略する。
【０１６４】
［情報処理方法について］
続いて、図１０を参照しながら、本変形例に係る要素間距離算出部１０３で実施される情報処理方法（推移感受文字列間距離の算出方法）について、その流れを説明する。図１０は、本変形例に係る推移感受文字列間距離の算出方法の流れを示した流れ図である。
【０１６５】
距離算出部１０７は、データ前処理部１０５（又は、データ取得部１０１）から推移感受文字列間距離を算出する要素データＸ及び要素データＹを取得すると、まず、各要素データを構成する要素の個数をカウントする（ステップＳ２０１）。ここで、距離算出部１０７は、要素データＸの要素数をＭと設定し、要素データＹの要素数をＮと設定する。
【０１６６】
続いて、距離算出部１０７は、パラメータｋの値を０に設定し（ステップＳ２０３）、その後、要素間相違度行列及び文字列間距離行列の値を初期設定する。具体的には、距離算出部１０７は、要素間相違度行列ｄ［０，０］の値を−１に設定するとともに、文字列間距離行列Ｄ［０，０］の値を０に設定する（ステップＳ２０５）。
【０１６７】
続いて、距離算出部１０７は、パラメータｉ（０≦ｉ≦Ｍ）の値を１に設定する（ステップＳ２０７）。その後、距離算出部１０７は、設定されているパラメータｉの値が、Ｍ以下であるか否かを判断する（ステップＳ２０９）。
【０１６８】
パラメータｉの値がＭ以下である場合、距離算出部１０７は、要素間相違度行列ｄ［ｉ，０］の値を１に設定するとともに、文字列間距離行列Ｄ［ｉ，０］の値をｉ（パラメータｉの値）に設定する（ステップＳ２１１）。その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ２１３）、ステップＳ２０９の処理を再度実行する。
【０１６９】
他方、パラメータｉの値がＭ以下ではなかった場合（パラメータｉの値がＭ超過である場合）、距離算出部１０７は、パラメータｊ（０≦ｊ≦Ｎ）の値を１に設定する（ステップＳ２１５）。その後、距離算出部１０７は、パラメータｊの値、Ｎ以下であるか否かを判断する（ステップＳ２１７）。
【０１７０】
パラメータｊの値がＮ以下である場合、距離算出部１０７は、要素データＹのｊ番目の要素を、パラメータｙの値に設定する（ステップＳ２１９）。
【０１７１】
続いて、距離算出部１０７は、パラメータｋ０の値を、パラメータｋに設定されている値とするとともに、パラメータｋの値を、（１−ｋ０）により算出される値に設定する（ステップＳ２２１）。
【０１７２】
その後、距離算出部１０７は、要素間相違度行列ｄ［０，ｋ］の値を１に設定するとともに、文字列間距離行列Ｄ［０，ｋ］の値をｊ（パラメータｊの値）に設定する（ステップＳ２２３）。
【０１７３】
続いて、距離算出部１０７は、パラメータｉの値を１に設定する（ステップＳ２２５）。その後、距離算出部１０７は、パラメータｉの値がＭ以下であるか否かを判断する（ステップＳ２２７）。パラメータｉの値がＭ以下である場合には、距離算出部１０７は、要素データＸのｉ番目の要素を、パラメータｘの値に設定する（ステップＳ２２９）。また、パラメータｉの値がＭ以下ではない場合（パラメータｉの値がＭ超過である場合）には、距離算出部１０７は、パラメータｊの値を１加算して（ステップＳ２３５）、ステップＳ２１７を再び実行する。
【０１７４】
その後、距離算出部１０７は、パラメータｘ及びパラメータｙを相違度算出部１０９に出力し、要素間相違度の算出を相違度算出部１０９に要請する。また、距離算出部１０７は、パラメータｉ及びパラメータｊを推移コスト算出部１１１に出力し、推移コストの算出を推移コスト算出部１１１に要請する。相違度算出部１０９及び推移コスト算出部１１１は、出力された各パラメータや、格納されている要素間相違度行列を参照しながら、相違度と推移コストとを算出し、距離算出部１０７に出力する。
【０１７５】
距離算出部１０７は、相違度算出部１０９から出力された要素間相違度ｄ（ｘ，ｙ）を、要素間相違度行列ｄ［ｉ，ｋ］の値として設定する（ステップＳ２３１）。また、距離算出部１０７は、要素間相違度行列及び文字列間距離行列と、推移コスト算出部１１１から出力された推移コストとを利用して、ｍｉｎ（α’，β’，γ’）の値を、文字列間距離行列Ｄ［ｉ，ｋ］の値として設定する（ステップＳ２３１）。ここで、α’，β’，γ’は、以下の式１３１〜式１３３の通りである。
【０１７６】
【数１０】
2011243148.tif 000021
・・・（式１３１）
2011243148.tif 000022
・・・（式１３２）
2011243148.tif 000023
・・・（式１３３）
【０１７７】
その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ２３３）、ステップＳ２２７の処理を再度実行する。
【０１７８】
他方、ステップＳ２１７において、パラメータｊの値がＮ以下ではない場合（パラメータｊの値がＮ超過である場合）、距離算出部１０７は、Ｄ［Ｍ，ｋ］に格納されている値を出力する（ステップＳ２３７）。これにより、要素データＸと要素データＹとの間の推移感受文字列間距離ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）が算出されたことになる。
【０１７９】
＜第２変形例＞
着目している要素データが何らかの構造性を有する文字列である場合、その構造性を文字列照合に利用することが、計算の効率化の観点からは望ましい。そこで、以下に説明する階層的文字列照合法（ｈｉｅｒａｒｃｈｉｃａｌ  ｓｔｒｉｎｇ  ｍａｔｃｈｉｎｇ  ｍｅｔｈｏｄ）では、まず、着目しているそれぞれの文字列を、例えば、単語や物理ブロックのような、粗粒度の要素に分ける。その上で、本変形例に係る方法は、粗粒度を構成する更に細かい粒度（細粒度）の要素について、まず比較を行う。続いて、本変形例に係る方法は、このような下位レベルにおける算出結果を利用して、更に上位のレベル（例えば、粗粒度の要素）に関する文字列間距離を算出していく。すなわち、以下で説明する階層的文字列照合法は、本発明の第１の実施形態に係る推移感受文字列間距離の算出方法を、再帰的に適用する方法である。
【０１８０】
以下の例では、要素データである文字列を２つの階層へと分割する場合について説明するが、階層の数はかかる場合に限定されるわけではなく、二段以上であってもよい。また、単語を粗粒度の要素として用いる場合、これを順序固定単語別文字列照合法（ｏｒｄｅｒｅｄ  ｗｏｒｄ−ｗｉｓｅ  ｍａｔｃｈｉｎｇ  ｍｅｔｈｏｄ）と呼ぶこととする。
【０１８１】
複数の異なる階層における算出結果を繋げていくために、以下に示す方法では、下位レベルの文字列照合手順から求められた距離を相違度に変換し、上位レベルの文字列照合手順に渡していく。算出した文字列間距離を相違度へと変換する方法は、適宜選択されればよく、特に限定されるわけではない。
【０１８２】
図１１は、上記順序固定単語別文字列照合法を、「ｐａｔｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ  ｆｏｒｍ」と「Ｐａｒｅｎｔ  Ｅｄｕｃａｔｉｏｎ  Ｆｏｒｕｍｓ」という二つの文字列の間の文字列間距離を算出する場合に適用した例を示している。図１１に示した例では、データ前処理部１０５による形態素解析により、入力された文字列を単語ごとに区分された上で、距離算出部１０７、相違度算出部１０９及び推移コスト算出部１１１による処理が実施される。
【０１８３】
図１１に示したように、本例では、各文字列とも、３つの単語に区分されるため、これら３つの単語が粗粒度の要素となり、上位レベルであるＬｅｖｅｌ２に区分される。また、各粗粒度は、アルファベットからなる要素（細粒度の要素）により構成されており、これら細粒度の要素に関する処理が、下位レベルであるＬｅｖｅｌ１における処理となる。
【０１８４】
Ｌｅｖｅｌ１の処理では、先に説明したような方法を用いて実施され、Ｌｅｖｅｌ１という階層における推移感受文字列間距離Ｄと、推移感受文字列間距離Ｄを正規化した相違度ｄ２とが、それぞれ算出される。
【０１８５】
Ｌｅｖｅｌ２の処理では、Ｌｅｖｅｌ１の処理により算出された、正規化された相違度ｄ２を用いて、粗粒度間での推移感受文字列間距離が算出される。また、得られた粗粒度間での推移感受文字列間距離を利用することで、文字列全体における正規化された相違度ｄ３を算出することも可能である。
【０１８６】
図１１に示した表について説明する。図１１に示したＬｅｖｅｌ１での処理結果を示す表は、先に説明したように、要素間相違度行列及び文字列間距離行列が併せて表示されたものであり、各カラムの左上に斜体で記載された数値が要素間相違度であり、右下に記載された数値が文字列間距離である。
【０１８７】
Ｌｅｖｅｌ２での処理結果を示す表は、各カラムに３つの数値が記載されているが、左側に記載されている２種類の数値が、下位階層における正規化された相違度（左上に位置するもの）と、文字列間距離（右下に位置するもの）である。また、右側に示した数値が、Ｌｅｖｅｌ２での処理により算出された粗粒度間での推移感受文字列間距離である。
【０１８８】
ここで、図１１に示した処理では、２つの階層を利用して処理を行っており、各階層における処理において、上昇推移コスト係数及び下降推移コスト係数や、同一文字における大文字と小文字との間の相違度を用いることとなる。ここで、Ｌｅｖｅｌ１における処理における上昇推移コスト係数及び下降推移コスト係数をそれぞれＡ、Ｂと記載し、Ｌｅｖｅｌ２における上昇推移コスト係数及び下降推移コスト係数をそれぞれＡ２、Ｂ２と記載することとする。図１１に示した文字列間距離行列Ｄ［ｉ，ｊ］の値は、上昇推移コスト係数Ａ＝Ａ２＝０．４、下降推移コスト係数Ｂ＝Ｂ２＝０．５、ｄ（Ｆ，ｆ）＝０．４とした場合の値である。
【０１８９】
［情報処理装置の構成について］
本変形例に係る情報処理装置の構成は、図３に示した本発明の第１の実施形態に係る情報処理装置１０の構成と同様であり、要素間距離算出部１０３により実施される推移感受文字列間距離の算出方法が異なっている。従って、以下では、本変形例に係る情報処理装置の構成に関する詳細な説明は、省略する。
【０１９０】
［情報処理方法について］
続いて、図１２〜図１５を参照しながら、本変形例に係る要素間距離算出部１０３で実施される情報処理方法（推移感受文字列間距離の算出方法）について、その流れを説明する。図１２〜図１５は、本変形例に係る推移感受文字列間距離の算出方法の流れを示した流れ図である。
【０１９１】
第１階層（Ｌｅｖｅｌ１）における推移感受文字列間距離の算出方法は、先に説明した本発明の第１の実施形態に係る方法や、第１変形例に係る方法を適宜利用すればよいため、以下では詳細な説明は省略する。なお、第１階層における算出処理により、推移感受文字列間距離Ｄと、正規化された相違度ｄ２とが算出されているものとする。
【０１９２】
［ＴＤ２（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）の算出処理］
まず、図１２を参照しながら、本変形例に係る第２階層での推移感受文字列間距離の算出方法の全体的な流れについて説明する。
【０１９３】
距離算出部１０７は、まず、要素データＸ及び要素データＹについて、第２階層要素の個数をカウントする（ステップＳ３０１）。ここで、距離算出部１０７は、要素データＸの第２階層要素数をＭと設定し、要素データＹの第２階層要素数をＮと設定する。
【０１９４】
続いて、距離算出部１０７は、パラメータｋの値を０に設定し（ステップＳ３０３）、その後、第２階層の要素間相違度行列及び文字列間距離行列の値を初期設定する。具体的には、距離算出部１０７は、要素間相違度行列ｄ［０，０］の値を−１に設定するとともに、文字列間距離行列Ｄ［０，０］の値を０に設定する（ステップＳ３０５）。
【０１９５】
続いて、距離算出部１０７は、パラメータｉ（０≦ｉ≦Ｍ）の値を１に設定する（ステップＳ３０７）。その後、距離算出部１０７は、設定されているパラメータｉの値が、Ｍ以下であるか否かを判断する（ステップＳ３０９）。
【０１９６】
パラメータｉの値がＭ以下である場合、距離算出部１０７は、要素間相違度行列ｄ［ｉ，０］の値を１に設定するとともに、文字列間距離行列Ｄ［ｉ，０］の値をｉ（パラメータｉの値）に設定する（ステップＳ３１１）。その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ３１３）、ステップＳ３０９の処理を再度実行する。
【０１９７】
他方、パラメータｉの値がＭ以下ではなかった場合（パラメータｉの値がＭ超過である場合）、距離算出部１０７は、パラメータｊ（０≦ｊ≦Ｎ）の値を１に設定する（ステップＳ３１５）。その後、距離算出部１０７は、パラメータｊの値、Ｎ以下であるか否かを判断する（ステップＳ３１７）。
【０１９８】
パラメータｊの値がＮ以下である場合、距離算出部１０７は、要素データＹの第２階層でのｊ番目の要素を、パラメータｙの値に設定する（ステップＳ３１９）。
【０１９９】
続いて、距離算出部１０７は、パラメータｋ０の値を、パラメータｋに設定されている値とするとともに、パラメータｋの値を、（１−ｋ０）により算出される値に設定する（ステップＳ３２１）。
【０２００】
その後、距離算出部１０７は、要素間相違度行列ｄ［０，ｋ］の値を１に設定するとともに、文字列間距離行列Ｄ［０，ｋ］の値をｊ（パラメータｊの値）に設定する（ステップＳ２２３）。
【０２０１】
続いて、距離算出部１０７は、パラメータｉの値を１に設定する（ステップＳ３２５）。その後、距離算出部１０７は、パラメータｉの値がＭ以下であるか否かを判断する（ステップＳ３２７）。パラメータｉの値がＭ以下である場合には、距離算出部１０７は、要素データＸの第２階層でのｉ番目の要素を、パラメータｘの値に設定する（ステップＳ３２９）。また、パラメータｉの値がＭ以下ではない場合（パラメータｉの値がＭ超過である場合）には、距離算出部１０７は、パラメータｊの値を１加算して（ステップＳ３３５）、ステップＳ３１７を再び実行する。
【０２０２】
その後、距離算出部１０７は、パラメータｉ及びパラメータｊを推移コスト算出部１１１に出力し、推移コストの算出を推移コスト算出部１１１に要請する。推移コスト算出部１１１は、出力された各パラメータや、格納されている要素間相違度行列を参照しながら推移コストを算出し、距離算出部１０７に出力する。
【０２０３】
距離算出部１０７は、第１階層における処理により得られた、正規化された相違度ｄ２（ｘ，ｙ，Ａ，Ｂ）を、要素間相違度行列ｄ［ｉ，ｋ］の値として設定する（ステップＳ３３１）。また、距離算出部１０７は、要素間相違度行列及び文字列間距離行列と、推移コスト算出部１１１から出力された推移コストとを利用して、ｍｉｎ（α”，β”，γ”）の値を、文字列間距離行列Ｄ［ｉ，ｋ］の値として設定する（ステップＳ３３１）。ここで、α”，β”，γ”は、以下の式１４１〜式１４３の通りである。
【０２０４】
【数１１】
2011243148.tif 000024
・・・（式１４１）
2011243148.tif 000025
・・・（式１４２）
2011243148.tif 000026
・・・（式１４３）
【０２０５】
その後、距離算出部１０７は、パラメータｉに入力されている値を１加算し（ステップＳ３３３）、ステップＳ３２７の処理を再度実行する。
【０２０６】
他方、ステップＳ３１７において、パラメータｊの値がＮ以下ではない場合（パラメータｊの値がＮ超過である場合）、距離算出部１０７は、Ｄ［Ｍ，ｋ］に格納されている値を出力する（ステップＳ３３７）。これにより、要素データＸと要素データＹとの間の推移感受文字列間距離ＴＤ２（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）が算出されたことになる。
【０２０７】
［ｄ２（Ｘ，Ｙ，Ａ，Ｂ）の算出処理］
続いて、図１３を参照しながら、第１階層での処理により算出された推移感受文字列間距離ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）を用いた、正規化された相違度ｄ２（Ｘ，Ｙ，Ａ，Ｂ）の算出方法の流れについて、簡単に説明する。
【０２０８】
まず、距離算出部１０７は、算出した推移感受文字列間距離ＴＤ（Ｘ，Ｙ，Ａ，Ｂ）の値を、パラメータＬｄの値に設定する（ステップＳ３４１）。また、距離算出部１０７は、各要素データを構成する要素の個数をカウントする（ステップＳ３４１）。ここで、距離算出部１０７は、要素データＸの要素数をＭと設定し、要素データＹの要素数をＮと設定する。更に、距離算出部１０７は、これらのパラメータと、以下で改めて説明する、正規化された相違度を算出する関数ｎ（Ｌｘ，Ｌｙ，Ｌｄ）とを用いて、ｎ（Ｍ，Ｎ，Ｌｄ）の値を算出し、パラメータＲの値に設定する（ステップＳ３４１）。
【０２０９】
続いて、距離算出部１０７は、パラメータＲに設定された値を二値化するか否かを判断する（ステップＳ３４３）。値を二値化しない場合には、距離算出部１０７は、後述するステップＳ３５１を実施する。また、値を二値化する場合には、距離算出部１０７は、パラメータＲの値が、所定の閾値Ｃ２以下であるか否かを判断する（ステップＳ３４５）。
【０２１０】
ここで、パラメータＲの値が閾値Ｃ２以下である場合、距離算出部１０７は、パラメータＲの値を０に設定する（ステップＳ３４７）。また、パラメータＲの値が閾値Ｃ２超過である場合、距離算出部１０７は、パラメータＲの値を１に設定する（ステップＳ３４９）。
【０２１１】
その後、距離算出部１０７は、パラメータＲに設定されている値を、正規化された相違度ｄ２（Ｘ，Ｙ，Ａ，Ｂ）として出力する（ステップＳ３５１）。
【０２１２】
なお、ステップＳ３４１において算出された値を、常に二値化せずに利用する場合には、距離算出部１０７は、ステップＳ３４３〜ステップＳ３４９までの処理を実行しなくともよい。また、二値化を常に実行する場合には、距離算出部１０７は、ステップＳ３４３の処理を省略してもよい。
【０２１３】
［ｄ３（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）の算出処理］
続いて、図１４を参照しながら、第２階層での処理により算出された推移感受文字列間距離ＴＤ２（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）を用いた、正規化された相違度ｄ３（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）の算出方法の流れについて、簡単に説明する。
【０２１４】
まず、距離算出部１０７は、算出した推移感受文字列間距離ＴＤ２（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）の値を、パラメータＬｄの値に設定する（ステップＳ３６１）。また、距離算出部１０７は、各要素データの第２階層を構成する要素の個数をカウントする（ステップＳ３６１）。ここで、距離算出部１０７は、要素データＸの第２階層要素数をＭと設定し、要素データＹの第２階層要素数をＮと設定する。更に、距離算出部１０７は、これらのパラメータと、以下で改めて説明する、正規化された相違度を算出する関数ｎ（Ｌｘ，Ｌｙ，Ｌｄ）とを用いて、ｎ（Ｍ，Ｎ，Ｌｄ）の値を算出し、パラメータＲの値に設定する（ステップＳ３６１）。
【０２１５】
続いて、距離算出部１０７は、パラメータＲに設定された値を二値化するか否かを判断する（ステップＳ３６３）。値を二値化しない場合には、距離算出部１０７は、後述するステップＳ３７１を実施する。また、値を二値化する場合には、距離算出部１０７は、パラメータＲの値が、所定の閾値Ｃ３以下であるか否かを判断する（ステップＳ３６５）。
【０２１６】
ここで、パラメータＲの値が閾値Ｃ３以下である場合、距離算出部１０７は、パラメータＲの値を０に設定する（ステップＳ３６７）。また、パラメータＲの値が閾値Ｃ３超過である場合、距離算出部１０７は、パラメータＲの値を１に設定する（ステップＳ３６９）。
【０２１７】
その後、距離算出部１０７は、パラメータＲに設定されている値を、正規化された相違度ｄ３（Ｘ，Ｙ，Ａ，Ｂ，Ａ２，Ｂ２）として出力する（ステップＳ３７１）。
【０２１８】
なお、ステップＳ３６１において算出された値を、常に二値化せずに利用する場合には、距離算出部１０７は、ステップＳ３６３〜ステップＳ３６９までの処理を実行しなくともよい。また、二値化を常に実行する場合には、距離算出部１０７は、ステップＳ３６３の処理を省略してもよい。
【０２１９】
［ｎ（Ｌｘ，Ｌｙ，Ｌｄ）の算出処理］
続いて、図１５を参照しながら、数値の正規化方法の流れについて、簡単に説明する。以下で説明する数値の正規化方法は、要素間距離算出部１０３の有する各処理部が、適宜実行することが可能であるが、以下では、距離算出部１０７が実施する場合を例にとって説明を行うものとする。また、図１５にて説明する数値の正規化方法はあくまでも一例であって、かかる正規化方法以外にも公知の方法を利用することが可能である。
【０２２０】
距離算出部１０７は、まず、関数ｎ（Ｌｘ，Ｌｙ，Ｌｄ）の引数として入力されたＬｘ及びＬｙを参照し、Ｌｘ及びＬｙについて値がより大きなものを、パラメータＬとして設定する（ステップＳ３８１）。また、距離算出部１０７は、Ｌｘ及びＬｙについて値がより小さいものを、パラメータＳとして設定する（ステップＳ３８１）。その後、距離算出部１０７は、引数Ｌｄと、パラメータＬ及びＳとを利用して、１−｛（Ｌ−Ｌｄ）２／Ｌ・Ｓ｝で表わされる値を算出し、パラメータＲの値として設定する（ステップＳ３８１）。
【０２２１】
続いて、距離算出部１０７は、パラメータＲの値を、ｎ（Ｌｘ，Ｌｙ，Ｌｄ）によって算出された値として出力する（ステップＳ３８３）。これにより、引数Ｌｄとして入力された値が正規化されたこととなる。
【０２２２】
＜第３変形例＞
第２変形例において説明した順序固定単語別文字列照合法は、二つの文字列を単語別に順序を固定して照合していく方法であったが、順序を固定せずに比較を行う方法も実現可能である。本変形例では、二つの文字列を単語別に順序不同で比較し、推移感受文字列間距離尺度を単語同士の比較に用いる場合について、簡単に説明する。この方式を、以下では、順列不同単語別照合法（ｏｒｄｅｒ−ｆｒｅｅ  ｗｏｒｄ−ｗｉｓｅ  ｍａｔｃｈｉｎｇ  ｍｅｔｈｏｄ）と呼ぶこととする。
【０２２３】
かかる方法においても、まず、着目しているそれぞれの文字列を、例えば、単語や物理ブロックのような、粗粒度の要素に分ける。その上で、本変形例に係る方法は、粗粒度を構成する更に細かい粒度（細粒度）の要素について、まず比較を行う。続いて、本変形例に係る方法は、このような下位レベルにおける算出結果を利用して、正規化された相違度を算出していく。
【０２２４】
以下の例では、要素データである文字列を２つの階層へと分割する場合について説明するが、階層の数はかかる場合に限定されるわけではなく、二段以上であってもよい。
【０２２５】
複数の異なる階層における算出結果を繋げていくために、以下に示す方法では、下位レベルの文字列照合手順から求められた距離を相違度に変換する。算出した文字列間距離を相違度へと変換する方法は、適宜選択されればよく、特に限定されるわけではない。
【０２２６】
図１６は、上記順列不同単語別文字列照合法を、「ｐａｔｅｎｔ  ａｐｐｌｉｃａｔｉｏｎ  ｆｏｒｍ」と「Ｐａｒｅｎｔ  Ｅｄｕｃａｔｉｏｎ  Ｆｏｒｕｍｓ」という二つの文字列の間の文字列間距離を算出する場合に適用した例を示している。図１６に示した例では、データ前処理部１０５による形態素解析により、入力された文字列を単語ごとに区分された上で、距離算出部１０７、相違度算出部１０９及び推移コスト算出部１１１による処理が実施される。
【０２２７】
本例では、各文字列とも、３つの単語に区分されるため、これら３つの単語が粗粒度の要素となり、上位レベルであるＬｅｖｅｌ２に区分される。また、各粗粒度は、アルファベットからなる要素（細粒度の要素）により構成されており、これら細粒度の要素に関する処理が、下位レベルであるＬｅｖｅｌ１における処理となる。
【０２２８】
Ｌｅｖｅｌ１の処理では、先に説明したような方法を用いて実施され、Ｌｅｖｅｌ１という階層における推移感受文字列間距離Ｄと、推移感受文字列間距離Ｄを正規化した相違度ｄ２とが、それぞれ算出される。また、Ｌｅｖｅｌ２の処理では、Ｌｅｖｅｌ１の処理により算出された、正規化された相違度ｄ２をそのまま利用して、正規化された相違度ｄ４が算出される。
【０２２９】
図１６に示した表について説明する。図１６に示したＬｅｖｅｌ１での処理結果を示す表は、先に説明したように、要素間相違度行列及び文字列間距離行列が併せて表示されたものであり、各カラムの左上に斜体で記載された数値が要素間相違度であり、右下に記載された数値が文字列間距離である。
【０２３０】
Ｌｅｖｅｌ２での処理結果を示す表は、各カラムに２つの数値が記載されているが、上側に斜体で記載された数値が、Ｌｅｖｅｌ１での処理により算出された正規化された相違度ｄ２に対応する値である。また、下側に記載された数値が、Ｌｅｖｅｌ１での処理により算出された推移感受文字列間距離Ｄである。
【０２３１】
本変形例に係る方法では、Ｌｅｖｅｌ２における処理として、パラメータｊが同一である列の中で、最も小さい値を与える相違度ｄ２を選択し、同一パラメータ内における最小の相違度ｄ２の合計を、全てのパラメータｊの範囲で算出する。その後、算出した相違度ｄ２の合計を、パラメータｊに対応する文字列の第２階層要素数で除することにより、正規化された相違度ｄ４が算出される。
【０２３２】
なお、図１６に示した文字列間距離行列Ｄ［ｉ，ｊ］の値は、上昇推移コスト係数Ａ＝０．４、下降推移コスト係数Ｂ＝０．５、ｄ（Ｆ，ｆ）＝０．４とした場合の値である。
【０２３３】
［情報処理装置の構成について］
本変形例に係る情報処理装置の構成は、図３に示した本発明の第１の実施形態に係る情報処理装置１０の構成と同様であり、要素間距離算出部１０３により実施される推移感受文字列間距離の算出方法が異なっている。従って、以下では、本変形例に係る情報処理装置の構成に関する詳細な説明は、省略する。
【０２３４】
［情報処理方法について］
続いて、図１７を参照しながら、本変形例に係る要素間距離算出部１０３で実施される情報処理方法（正規化された相違度の算出方法）について、その流れを説明する。図１７は、本変形例に係る正規化された相違度の算出方法の流れを示した流れ図である。
【０２３５】
第１階層（Ｌｅｖｅｌ１）における推移感受文字列間距離の算出方法は、先に説明した本発明の第１の実施形態に係る方法や、第１変形例に係る方法を適宜利用すればよいため、以下では詳細な説明は省略する。なお、第１階層における算出処理により、推移感受文字列間距離Ｄと、正規化された相違度ｄ２とが算出されているものとする。
【０２３６】
［ｄ４（Ｘ，Ｙ，Ａ，Ｂ）の算出処理］
距離算出部１０７は、まず、要素データＸ及び要素データＹについて、第２階層要素の個数をカウントする（ステップＳ４０１）。ここで、距離算出部１０７は、要素データＸの第２階層要素数をＭと設定し、要素データＹの第２階層要素数をＮと設定する。
【０２３７】
続いて、距離算出部１０７は、パラメータｊの値を１に設定するとともに、パラメータＤｓｕｍの値を０に設定する（ステップＳ３０３）。
【０２３８】
その後、距離算出部１０７は、パラメータｊ（０≦ｊ≦Ｎ）の値が、Ｎ以下であるか否かを判断する（ステップＳ４０５）。
【０２３９】
パラメータｊの値がＮ以下である場合、距離算出部１０７は、要素データＹの第２階層でのｊ番目の要素を、パラメータＹｊの値に設定する（ステップＳ４０７）。
【０２４０】
続いて、距離算出部１０７は、パラメータｉ（０≦ｉ≦Ｍ）の値を、１に設定するとともに、パラメータｄｍｉｎの値を、１に設定する（ステップＳ４０９）。
【０２４１】
その後、距離算出部１０７は、パラメータｉの値がＭ以下であるか否かを判断する（ステップＳ４１１）。パラメータｉの値がＭ以下である場合には、距離算出部１０７は、要素データＸの第２階層でのｉ番目の要素を、パラメータＸｉの値に設定する（ステップＳ４１３）。その後、距離算出部１０７は、ｄ２（Ｘｉ，Ｙｊ，Ａ，Ｂ）の値を、パラメータｄの値として設定するとともに、パラメータｄｍｉｎとパラメータｄのうち、小さい方の値を、パラメータｄｍｉｎの値として設定する（ステップＳ４１５）。次に、距離算出部１０７は、パラメータｉの値を１加算して（ステップＳ４１７）、ステップＳ４１１を再び実行する。
【０２４２】
ステップＳ４１１において、パラメータｉの値がＭ以下ではない場合（パラメータｉの値がＭ超過である場合）には、距離算出部１０７は、パラメータＤｓｕｍの値にパラメータｄｍｉｎの値を加算して、得られた値を、新たにパラメータＤｓｕｍの値に設定する（ステップＳ４１９）。その後、パラメータｊの値を１加算して（ステップＳ４２１）、ステップＳ４０５を再び実行する。
【０２４３】
ステップＳ４０５において、パラメータｊの値がＮ以下ではない場合（パラメータｊの値がＮ超過である場合）、距離算出部１０７は、パラメータＤｓｕｍの値をＮで割り、得られた結果をパラメータＲの値として設定する（ステップＳ４２３）。
【０２４４】
続いて、距離算出部１０７は、パラメータＲに設定された値を二値化するか否かを判断する（ステップＳ４２５）。値を二値化しない場合には、距離算出部１０７は、後述するステップＳ４３３を実施する。また、値を二値化する場合には、距離算出部１０７は、パラメータＲの値が、所定の閾値Ｃ４以下であるか否かを判断する（ステップＳ４２７）。
【０２４５】
ここで、パラメータＲの値が閾値Ｃ４以下である場合、距離算出部１０７は、パラメータＲの値を０に設定する（ステップＳ４２９）。また、パラメータＲの値が閾値Ｃ４超過である場合、距離算出部１０７は、パラメータＲの値を１に設定する（ステップＳ４３１）。
【０２４６】
その後、距離算出部１０７は、パラメータＲに設定されている値を、正規化された相違度ｄ４（Ｘ，Ｙ，Ａ，Ｂ）として出力する（ステップＳ４３３）。
【０２４７】
なお、ステップＳ４２３において算出された値を、常に二値化せずに利用する場合には、距離算出部１０７は、ステップＳ４２５〜ステップＳ４３１までの処理を実行しなくともよい。また、二値化を常に実行する場合には、距離算出部１０７は、ステップＳ４２５の処理を省略してもよい。
【０２４８】
以上、本実施形態に係る推移感受文字列間距離について、詳細に説明した。なお、本実施形態に係る推移感受文字列間距離（ＴＤ）尺度は、いわゆるｔｆ−ｉｄｆ重み因子やＮ−ｇｒａｍ法などの他の尺度や方法と組み合わせて、リーベンシュタイン距離（ＬＤ）尺度の代わりとして使用することが可能である。
【０２４９】
＜推移感受文字列間距離尺度の適用例について＞
続いて、図１８〜図２３を参照しながら、本実施形態に係る推移感受文字列間距離尺度の適用例について、具体的に説明する。
【０２５０】
［適用例１］
以下に示す図１８〜図２０では、本実施形態に係る推移感受文字列間距離（ＴＤ）尺度を、名前検索作業に適用し、その性能を検証した。図１８は、様々な環境変数及び各種照合法を利用して名前検索作業を実施した際の処理の流れを示した流れ図である。
【０２５１】
本適用例では、遺伝子名や蛋白質名などの生物学的名称を４６８８個含むデータベースを準備した上で、問合せ文字列（検索クエリ）Ｑとして、「ｒｉｂｏｓｏｍａｌ  ＲＮＡ  ｐｒｏｃｅｓｓｉｎｇ」を使用した。そのうえで、データベース内の各レコードを、この問合せ文字列に対して、様々な文字列間距離尺度と文字照合法とを用いて照合した。
【０２５２】
まず、距離算出部１０７は、クエリＱを示すデータを取得すると（ステップＳ５０１）、パラメータＳ及びパラメータＮＲの値を、それぞれ０に設定する（ステップＳ５０３）。その後、距離算出部１０７は、準備したデータベースの中からデータＥ［ｉ］の取得を試み（ステップＳ５０５）、データＥ［ｉ］が取得できたか否かを判断する（ステップＳ５０７）。
【０２５３】
データＥ［ｉ］が取得できた場合、距離算出部１０７は、先に説明した各種の方法を利用して、相違度算出部１０９及び推移コスト算出部１１１と連携しながら、データのマッチングを行う（ステップＳ５０９）。マッチングにより得られた文字列相違度ｄは、以下の式１５１により、文字列相似度（Ｓｉｍｉｌａｒｉｔｙ）Ｓ［ｉ］に変換される（ステップＳ５０９）。
【０２５４】
Ｓ［ｉ］＝１−ｄｘ（Ｑ，Ｅ（ｉ））  ・・・（式１５１）
【０２５５】
また、距離算出部１０７は、算出した文字列相似度Ｓ［ｉ］とパラメータＳｍａｘの大小比較を行い、より大きな値をパラメータＳｍａｘの値として設定する（ステップＳ５０９）とともに、パラメータＮＲの値を１加算する（ステップＳ５０９）。その後、距離算出部１０７は、再びステップＳ５０５に戻って、データベースから新たなデータＥ［ｉ］を取得する。
【０２５６】
また、ステップＳ５０７において新たなデータＥ［ｉ］が取得できなかった場合、距離算出部１０７は、算出した相似度Ｓ［ｉ］を、相似度の最大値Ｓｍａｘに対する比である相対相似度（ｒｅｌａｔｉｖｅ  ｓｉｍｉｌａｒｉｔｙ）ｓ［ｉ］に変換する（ステップＳ５１１）。この相対相似度ｓ［ｉ］は、以下の式１５２のように算出される。
【０２５７】
ｓ［ｉ］＝Ｓ［ｉ］／Ｓｍａｘ  ・・・（式１５２）
【０２５８】
その後、距離算出部１０７は、算出した相対相似度ｓ［ｉ］に応じてデータの並び変えを行い（ステップＳ５１１）、得られた結果の順位付けを行う。各データの順位（ｒａｎｋ）をＲ［ｉ］と表すこととすると、距離算出部１０７は、決定した順位を、レコード総数ＮＲに対する比である正規化順位（ｎｏｒｍａｌｉｚｅｄ  ｒａｎｋ）ｒ［ｉ］に変換する（ステップＳ５１１）。この正規化順位は、以下の式１５３のように算出される。
【０２５９】
ｒ［ｉ］＝Ｒ［ｉ］／ＮＲ  ・・・（式１５３）
【０２６０】
図１９は、様々な推移コスト係数Ａ，Ｂの組み合わせを用いて算出された相対相似度ｓ［ｉ］の正規化順位ｒ［ｉ］に対する関係を示したグラフ図である。各レコードＥ［ｉ］に対して、総文字列照合法が用いられ、相似度Ｓ［ｉ］は、以下の関数の値として求められた。なお、図１９に示したグラフ図の横軸は、対数表示となっている。
【０２６１】
Ｓ［ｉ］＝１−ｄ２（Ｑ，Ｅ［ｉ］，Ａ，Ｂ）
【０２６２】
□（白ぬきの正方形）がプロットされることで表された曲線は、環境変数がＡ＝Ｂ＝０である場合であり、リーベンシュタイン距離ＬＤを用いた場合に相当する。他の曲線は、Ａ＋Ｂ＝１の状態を満たす幾つかのＡとＢの組み合わせを用いて算出されたものである。これらの曲線は、互いに多少の差異はあるものの、群をなしており、リーベンシュタイン距離に相当する曲線からは隔たっていることがわかる。
【０２６３】
また、図２０は、以下の文字列間距離尺度と文字列照合法の異なる６種類の組合せで算出された相対相似度ｓ［ｉ］と正規化順位ｒ［ｉ］の関係を示したグラフ図である。
【０２６４】
（１）ＬＤ＋文字列全体照合法：Ｓ［ｉ］＝１−ｄ２（Ｑ，Ｅ［ｉ］，０，０）
（２）ＬＤ＋順序固定単語別照合法：Ｓ［ｉ］＝１−ｄ３（Ｑ，Ｅ［ｉ］，０，０，０，０）
（３）ＬＤ＋順序不同単語別照合法：Ｓ［ｉ］＝１−ｄ４（Ｑ，Ｅ［ｉ］，０，０）
（４）ＴＤ＋文字列全体照合法：Ｓ［ｉ］＝１−ｄ２（Ｑ，Ｅ［ｉ］，０．４，０．５）
（５）ＴＤ＋順序固定単語別照合法：Ｓ［ｉ］＝１−ｄ３（Ｑ，Ｅ［ｉ］，０．４，０．５，０．４，０．５）
（６）ＴＤ＋順序不同単語別照合法：Ｓ［ｉ］＝１−ｄ４（Ｑ，Ｅ［ｉ］，０．４，０．５）
【０２６５】
単語別照合法を用いた場合では、問合せ文字列とデータベースから読まれた各レコードはそれぞれ単語に分解される。例えば、問合せ文字列「ｒｉｂｏｓｏｍａｌ  ＲＮＡ  ｐｒｏｃｅｓｓｉｎｇ」は、「ｒｉｂｏｓｏｍａｌ」、「ＲＮＡ」、「ｐｒｏｃｅｓｓｉｎｇ」の３つの単語に分けられる。三種類の照合法を比べると、順序不同単語別照合法の曲線は一番外側に、文字列全体照合法の曲線はその内側に、順序固定単語別照合法の曲線は一番内側に現れた。どの照合法であっても、ＴＤ尺度の曲線はＬＤ尺度の曲線の内側にある。これらの結果から、ＴＤ尺度はＬＤ尺度に比べ、先頭順位のレコードをより差別化することがわかった。
【０２６６】
［適用例２］
文字列の要素は、比較可能で相違度が定量化できれば、いかなる種類の記号でも良いため、実数値を要素とする時系列データの解析に、本実施形態に係る推移感受文字列間距離尺度を応用できる。時系列データは、経済、音楽、ビデオ、生物など、いかなる分野のデータであってもよい。
【０２６７】
現在、医療、製薬、化粧品、食品の様々なライフサイエンス分野で、遺伝子発現の時系列データが蓄積されており、その効率良い解析法が求められている。そこで、以下では、時系列データ解析への応用の一例として、遺伝子発現時系列データ解析を行った結果について説明する。以下では、２０種類の遺伝子発現の時系列データを、推移感受文字列間距離尺度を用いて解析し、得られた相違度配列から、時系列が近似する遺伝子を分別した手順とその結果について説明する。
【０２６８】
○解析データ
Ｐｅｎｇらは、分裂酵母の一種であるＳｃｈｉｚｏｓａｃｃａｒｏｍｙｃｅｓ  ｐｏｍｂｅの４９２９種類の遺伝子に対して、３３時点で観測された時系列発現データを報告している（Ｐｅｎｇ  ｅｔ  ａｌ．２００５）。それらの中から、図２１に示す、未定（ＮＡ）のデータを含まない２０種類の時系列発現データ（Ｓ０１−Ｓ２０）について解析を行った。ここで、図２１において、縦軸が、正規化された遺伝子の発現量を表し、横軸が、発現時点を表している。
【０２６９】
○解析手順
（１）図２１に示すように、各時系列発現データをその最大値で割り、［０，１］の範囲に入るよう、正規化した。
（２）２０種類の系列から２種類取る組合せ、（２０×１９）／２＝１９０種類の各組み合せに対して、推移感受文字列距離ＴＤを測定し、得られた距離を文字列３３で割り正規化し、文字列間相違度とした。ここで、推移コスト係数は、Ａ＝Ｂ＝０．５と設定した。
（３）系列間相違度配列から、最大値を有する行を縦横の軸に、昇順に並べ替えを実行し、互いに相違度が小さい系列のグループ（あるいはクラスター）をまとめるよう、配列を並べ替えた。得られた結果を、図２２に示した。
（４）得られた近似系列グループ（クラスター）を、図２３に示す。ただし、ここでは、正規化しない元の時系列を表示している。
【０２７０】
図２１及び図２３を比較するとわかるように、図２１の状態では、同じような挙動を示す遺伝子の時系列発現データを特定することは困難であるが、本実施形態に係る推移感受文字列間距離尺度を用いることで、複雑なデータを同じような挙動を示すデータごとに分類することが可能となる。
【０２７１】
［適用例３］
２桁あるいは３桁の二進符号に関して、各二進符号間の推移感受文字列間距離について二つの環境変数Ａ及びＢを用いた定式化を行うと、ある一意的表現が得られる。それゆえ、推移感受文字列間距離尺度を二進符号の変換法として用いることができる。
【０２７２】
○２桁二進符号
２桁の二進符号に関して、二つの符号間の推移感受文字列間距離は、以下の表１のように定式化される。
【０２７３】
【表１】
2011243148.tif 000027
【０２７４】
上記表１から明らかなように、４種類の式表現、ｆ（０）、ｆ（１）＋Ａ、ｆ（１）＋Ｂ、ｆ（２）が、各行各列に一度しか現れないことがわかる。ここで、ｆ（Ｘ）＝Ｘ、Ａ＝１０、Ｂ＝００とすると、各式表現が二進符号に変換される。
【０２７５】
【表２】
2011243148.tif 000028
【０２７６】
従って、鍵として「０１」が与えられると、「００」→「１１」、「０１」→「００」、「１０」→「１０」、「１１」→「０１」のように、元の二進符号を、別の符号に変換することが可能となる。
【０２７７】
○３桁二進符号
２桁の場合と同様にして、３桁の二進符号に関して、二つの符号間の推移感受文字列間距離は、以下の表３のように定式化される。
【０２７８】
【表３】
2011243148.tif 000029
【０２７９】
上記表３から明らかなように、四種類の式表現、ｆ（０）、ｆ（１）＋Ａ、ｆ（１）＋Ｂ、ｆ（１）＋Ａ＋Ｂ、ｆ（２）＋Ａ＋Ｂ、ｆ（２）＋Ａ、ｆ（２）＋Ｂ、ｆ（３）は、各行各列に一度しか現れないことがわかる。ここで、ｆ（Ｘ）＝（Ｘ  ｍｏｄ  ２）×２２、Ａ＝０１０、Ｂ＝００１とすると、各式表現が二進符号に変換される。
【０２８０】
【表４】
2011243148.tif 000030
【０２８１】
従って、鍵として「００１」が与えられると、「０００」→「１１０」、「００１」→「０００」、「１００」→「０１１」、「０１０」→「０１０」、「１０１」→「１０１」、「０１１」→「１１１」、「１１０」→「１００」、「１１１」→「００１」のように、元の二進符号を別の符号に変換することが可能となる。
【０２８２】
以上説明したように、本発明の第１の実施形態では、二つの文字列の間の距離を決定する新たな尺度である、推移感受文字列間尺度について説明した。従来のリーベンシュタイン距離（ＬＤ）に比べ、推移感受文字列間距離（ＴＤ）は、同等の計算量、そして僅かな計算資源の追加で、より精度の高い距離を安価に決定することができ、これまでＬＤでは同じ距離とされた文字列を分離することが可能となる。
【０２８３】
また、推移感受文字列間距離尺度は、基本的な原理に基づいているため、簡単な文字列照合から、複雑な記号や階層からなる構造的文字列の照合にも適用することが可能であり、また他の尺度や方法と組み合わせて利用することも可能である。
【０２８４】
更に、推移感受文字列間距離尺度は、文字列照合のみならず、符号法など他の応用も可能である。今日の様々な情報の記号化に伴い、必要な情報を効率良く抽出する方法が求められている中、安価で高い分離機能を有する推移感受文字列間距離尺度は広い応用分野で活用できる価値あるものである。
【０２８５】
（第２の実施形態）
現在、二次元画像や三次元物体など、多次元配列で表現される情報の検索には、ハミング距離が利用されている。同じ長さの文字列（多次元の場合は、同じ大きさの配列）を比較対象とし、相違要素数（あるいは相違度総和）として定義されるハミング距離は、リーベンシュタイン距離と同様、相違要素の分散具合を反映しないため、全く関連の無い情報でも同じ距離に分別され、誤陽判定に繋がる可能性が高い。
【０２８６】
以下で説明する本発明の第２の実施形態では、同じ大きさの多次元配列を比較対象とし、推移感受性を有する配列間距離について説明を行う。
【０２８７】
ここで、配列要素は、量的比較が可能な記号要素であればよく、記号の種類および構造は問わない。二つの多次元配列間のハミング距離に、多次元空間で観測される要素間相違度の推移の総代価を加算した値を、推移感受配列間距離と定義する。要素間相違度推移総代価は、相違要素の分散具合を反映するため、二次元画像や三次元物体などの情報検索に推移感受配列間距離を用いた場合、ハミング距離を用いた場合に比べ、より適切な検索結果を得ることが可能となる。
【０２８８】
（推移感受配列間距離尺度について）
本発明の第２の実施形態に係る情報処理装置及び情報処理方法の詳細について説明するに先立ち、本発明の実施形態に係る推移感受配列間距離尺度（Ｔｒａｎｓｉｔｉｏｎ−ｓｅｎｓｉｔｉｖｅ  Ｍａｔｒｉｘ  Ｍｅｔｒｉｃ）について、簡単に説明する。
【０２８９】
＜基盤技術及びその問題点について＞
まず、本発明の基盤となる技術（基盤技術）として、多次元のデータの検索等を行う際に利用される多次元の距離尺度について、簡単に説明する。
【０２９０】
情報のデジタル化とともに、文字列検索のみならず、一般社会における個人認証を要する各種セキュリティシステムや、画像の自動判定を行う医療分野など、様々な分野で多次元画像あるいは多次元音声の同定・相違（近似）検定・検索が行われており、高精度、高速かつ安価に照合するための多次元の距離尺度が求められている。
【０２９１】
例えば、二次元画像を表現する場合、画像を点描画として表現するビットマップ形式と、線や文字を用いるベクトル形式とがある。ビットマップ形式での画像の加工あるいは解析のために、各点（画素）とその周辺画素を用いた局所積和演算を行うための、様々な乗数フィルタが提供されている。例えば、エッジを検出するために一次微分を用いる差分フィルタ、エッジを先鋭化するために二次微分を用いるラプラシアン・フィルタ（Ｌａｐｌａｃｉａｎ  ｆｉｌｔｅｒ）、画像を滑らかにするための平均化フィルタ、太字化するためのガウシアン・フィルタ（Ｇａｕｓｓｉａｎ  Ｆｉｌｔｅｒ）などがある。
【０２９２】
また、画像を高速・安価に照合検索するために、画像の局所領域あるいは全域から特徴が抽出され、この特徴情報が画像情報に付加されている。例えば、画像をフィルタ処理で線画に変換した後、各部分線に近似する関数を割り当てる方法や、周波数解析であるウェーブレット変換法など、関数主体の特徴抽出法があるが、適用できる画像の種類が限られており、コンテンツベース画像検索（Ｃｏｎｔｅｎｔ−ｂａｓｅｄ  ｉｍａｇｅ  ｒｅｔｒｉｅｖａｌ）では、ビットマップ形式の画像に対して、ビットマップ上をある特定の大きさの領域を固定あるいは移動させ、領域内のハミング距離を測る直接的な画像照合が行われている。
【０２９３】
ハミング距離は、先に説明したように、同じ長さの二つの文字列の距離尺度としてよく知られており、これは一つの文字列から他の文字列へ変換するために必要な最小文字置換数として定義される。長さｎの二つの文字列Ｘ及びＹの間のハミング距離は、以下の式２１のように定式化される。ここで、下記式２１において、Ｘ［ｉ］，Ｙ［ｉ］は、それぞれ文字列Ｘ，Ｙのｉ番目の要素（文字）を意味する。
【０２９４】
【数１２】
2011243148.tif 000031
・・・（式２１）
【０２９５】
比較対象が一次元の文字列ではなく多次元配列である場合、例えば、大きさｍ×ｎの二次元配列ＸとＹを例にとると、その間のハミング距離は、同様して以下の式２２のように定義される。ここで、下記式２２において、Ｘ［ｉ，ｊ］，Ｙ［ｉ，ｊ］は、二次元配列Ｘ，Ｙ上のｉ列ｊ行目の要素を意味する。
【０２９６】
【数１３】
2011243148.tif 000032
・・・（式２２）
【０２９７】
なお、式２１及び式２２におけるｄ（ｘ，ｙ）は、式１１に示した通りである。
また、連続（Ｆｕｚｚｙ）ハミング距離は、要素間相違度関数が、０と１の二値ではなく、相違度を表す［０，１］の範囲の実数を返すよう拡張されたものである。
【０２９８】
ハミング距離は、リーベンシュタイン距離と同様に、相違要素の箇所と分散具合を反映しないため、全く関連の無い情報でも同じ距離に評価され、誤陽判定に繋がる可能性が高い。従って、画像など多次元配列の照合においても、第１の実施形態にて説明したような、相違要素の箇所と分散具合を反映する推移感受性を距離に導入することで、誤陽判定率を下げ、より適した情報を高速・安価に検索することが実現できる。
【０２９９】
＜推移感受配列間距離尺度の概略について＞
以下では、まず、本発明の実施形態に係る推移感受配列間距離尺度の概略について説明する。
【０３００】
本実施形態に係る推移感受配列間距離尺度は、二つの多次元配列の間の距離を決定する配列間距離尺度である。比較対象の多次元配列は、同次元で、大きさ（各次元上の上限）が等しく、量的比較が可能な記号要素からなる配列である。二つの要素の比較から、二つの要素の違いの度合い（要素間相違度：ｅｌｅｍｅｎｔ  ｄｉｓｓｉｍｉｌａｒｉｔｙ）を決定する。これは、一般に、０から１の範囲内の実数で表す。ここで、比較法としては、厳密比較法あるいは近似比較法のいずれを用いてもよい。厳密比較法（ｅｘａｃｔ  ｍａｔｃｈｉｎｇ）は、一致に対して０を、不一致に対して１を出力するものである。近似比較法（ｆｕｚｚｙ  ｍａｔｃｈｉｎｇ）は、要素間相違度として０から１の範囲内の実数を出力するものであり、０は完全一致を、１は完全不一致を表す。
【０３０１】
推移感受配列間距離（Ｔｒａｎｓｉｔｉｏｎ−ｓｅｎｓｉｔｉｖｅ  Ｍａｔｒｉｘ  Ｄｉｓｔａｎｃｅ：ＴＭＤ）は、多次元配列の要素間相違度の総和として定義される多次元ハミング距離に、多次元空間で観測される要素相違度の推移（ｔｒａｎｓｉｔｉｏｎ）、すなわち上昇推移（ａｓｃｅｎｄｉｎｇ  ｔｒａｎｓｉｔｉｏｎ、短くはａｓｃｅｎｔ）および下降推移（ｄｅｓｃｅｎｄｉｎｇ  ｔｒａｎｓｉｔｉｏｎ、短くはｄｅｓｃｅｎｔ）、の総代価（総コスト）を加算した値と定義する。
【０３０２】
＜推移感受配列間距離の定式化＞
以上のような性質を有する推移感受配列間距離（ＴＭＤ）を、以下で定式化する。
なお、以下では、二次元配列及び三次元配列を例にとって定式化を行うが、同様にして４次元以上の多次元配列へも拡張可能であることは言うまでもない。
【０３０３】
大きさＭ×Ｎの二次元配列Ｘ及びＹが与えられると、推移感受配列間距離（ＴＭＤ）は、以下の式２０１のように定義される。
【０３０４】
【数１４】
2011243148.tif 000033
・・・（式２０１）
【０３０５】
ここで、上記式２０１において、ＨＤ（Ｘ，Ｙ）は、配列Ｘと配列Ｙとの間のハミング距離であり、以下の式２０２のように定義される。
【０３０６】
【数１５】
2011243148.tif 000034
・・・（式２０２）
【０３０７】
また、上記式２０２におけるｄ［ｉ，ｊ］（０≦ｉ≦Ｍ，０≦ｊ≦Ｎ）は、要素間相違度行列であり、以下の式２０３〜式２０６のように定義される。ここで、下記式２０６において、Ｘ［ｉ，ｊ］，Ｙ［ｉ，ｊ］は、それぞれ配列Ｘ，Ｙのｉ列ｊ行目の要素である。
【０３０８】
【数１６】
2011243148.tif 000035
・・・（式２０３）
2011243148.tif 000036
・・・（式２０４）
2011243148.tif 000037
・・・（式２０５）
2011243148.tif 000038
・・・（式２０６）
【０３０９】
また、上記式２０６におけるｄ（ｘ，ｙ）は、二つの要素ｘとｙとの間の相違度（ｄｉｓｓｉｍｉｌａｒｉｔｙ）あるいは正規化距離（ｎｏｒｍａｌｉｚｅｄ  ｄｉｓｔａｎｃｅ）を出力する関数であり、以下の式２０７のように、要素間相違度は０から１の範囲の実数で表される。
【０３１０】
０≦ｄ（ｘ，ｙ）＝｜ｘ−ｙ｜≦１  ・・・（式２０７）
【０３１１】
ここで、要素間相違度ｄ（ｘ，ｙ）＝０である場合、要素ｘと要素ｙとは完全一致していることを表わし、要素間相違度ｄ（ｘ，ｙ）＝１である場合、要素ｘと要素ｙとは完全不一致であることを表わす。また、同一要素間の要素間相違度ｄ（ｘ，ｘ）＝０である。
【０３１２】
また、要素間相違度ｄ（ｘ，ｙ）は、以下の式２０８のように、相違度閾値（ｄｉｓｓｉｍｉｌａｒｉｙ  ｔｈｒｅｓｈｏｌｄ）と呼ばれる閾値Ｃを用いて二値化してもよい。
【０３１３】
【数１７】
2011243148.tif 000039
・・・（式２０８）
【０３１４】
また、式２０１におけるＴ（Ｘ，Ｙ）は、要素相違度推移総コストであり、以下の式２０９のように、パラメータｉで表わされる列方向の要素相違度推移総コストと、パラメータｊで表わされる行方向の要素相違度推移総コストの和として定義される。
【０３１５】
【数１８】
2011243148.tif 000040
・・・（式２０９）
【０３１６】
また、上記式２０９における関数ｔ（ｄ１，ｄ２，Ａ，Ｂ）は、ある要素間相違度ｄ１から、異なる要素間相違度ｄ２への推移に要するコスト（推移コスト）を出力する関数であり、以下の式２１０のように表わされる。
【０３１７】
【数１９】
2011243148.tif 000041
・・・（式２１０）
【０３１８】
ここで、上記式２１０において、係数Ａは、上昇推移にかかるコストを表わす係数であり、係数Ｂは、下降推移にかかるコストを表わす係数である。この推移コストは、エントロピーの概念を反映した量となっている。
【０３１９】
また、上昇推移コスト係数Ａ１，Ａ２及び下降推移コスト係数Ｂ１，Ｂ２は、以下の式２１１で表わされる条件を満たす。ここで、以下の式２１１において、［ｘ］という表記は、ｘを超えない最大整数を表す。
【０３２０】
【数２０】
2011243148.tif 000042
・・・（式２１１）
【０３２１】
また、上記４つのコスト係数が全て等しい場合、要素間相違度推移総コストＴ（Ｘ，Ｙ）は、以下の式２１２及び式２１３のように簡略化される。
【０３２２】
【数２１】
2011243148.tif 000043
・・・（式２１２）
2011243148.tif 000044
・・・（式２１３）
【０３２３】
また、大きさＭ×Ｎ×Ｌの三次元配列Ｘ及びＹが与えられると、推移感受配列間距離（ＴＭＤ）は、以下の式２５１のように定義される。
【０３２４】
【数２２】
2011243148.tif 000045
・・・（式２５１）
【０３２５】
ここで、上記式２５１において、ＨＤ３（Ｘ，Ｙ）は、三次元配列Ｘと三次元配列Ｙとの間のハミング距離であり、以下の式２５２のように定義される。
【０３２６】
【数２３】
2011243148.tif 000046
・・・（式２５２）
【０３２７】
また、上記式２５２におけるｄ［ｉ，ｊ，ｋ］（０≦ｉ≦Ｍ，０≦ｊ≦Ｎ，０≦ｋ≦Ｌ）は、要素間相違度行列であり、以下の式２５３〜式２５７のように定義される。
【０３２８】
【数２４】
2011243148.tif 000047
・・・（式２５３）
2011243148.tif 000048
・・・（式２５４）
2011243148.tif 000049
・・・（式２５５）
2011243148.tif 000050
・・・（式２５６）
2011243148.tif 000051
・・・（式２５７）
また、式２５１におけるＴ３（Ｘ，Ｙ）は、要素相違度推移総コストであり、以下の式２５８のように、パラメータｉで表わされる方向の要素相違度推移総コストと、パラメータｊで表わされる方向の要素相違度推移総コストと、パラメータｋで表わされる方向の要素相違度推移総コストの和として定義される。
【０３２９】
【数２５】
2011243148.tif 000052
・・・（式２５８）
【０３３０】
また、上記式２５８における関数ｔ（ｄ１，ｄ２，Ａ，Ｂ）は、ある要素間相違度ｄ１から、異なる要素間相違度ｄ２への推移に要するコスト（推移コスト）を出力する関数であり、上記式２１０と同様のものである。
【０３３１】
これら二次元配列及び三次元配列における推移感受配列間距離の定義式を比較すれば明らかなように、本実施形態に係る推移感受配列間距離の算出方法は、四次元配列以上の高次元の配列に対しても、容易に拡張を行うことが可能である。
【０３３２】
＜情報処理装置の構成について＞
本実施形態に係る情報処理装置の構成は、図３に示した本発明の第１の実施形態に係る情報処理装置１０の構成と同様であり、要素間距離算出部１０３により実施される演算が、推移感受文字列間距離の算出演算ではなく、推移感受配列間距離の算出演算となっている。従って、以下では、本実施形態に係る情報処理装置の構成に関する詳細な説明は、省略する。
【０３３３】
＜情報処理方法の流れについて＞
また、本実施形態に係る情報処理方法は、本発明の第１の実施形態において示した情報処理方法の流れと同様にして実施されるものであるため、以下では、詳細な説明は省略する。
【０３３４】
＜具体例について＞
続いて、図２４及び図２５を参照しながら、本実施形態に係る推移感受配列間距離について、具体的に説明する。図２４及び図２５は、本実施形態に係る推移感受配列間距離の算出方法の一例を示した説明図である。
【０３３５】
まず、図２４を参照しながら、本実施形態に係る推移感受配列間距離を、３×３の大きさの二次元配列に適用した場合について説明する。図２４に示した例では、要素すべてが０である配列（ａ）に対する、他の５つの配列（ｂ）〜（ｆ）のハミング距離ＨＤと推移感受配列間距離ＴＭＤとを示している。
【０３３６】
配列（ｂ）及び配列（ｃ）はどちらも相違要素が１個であるので、ハミング距離ＨＤは１である。しかし、配列（ｂ）では相違要素が左上隅に存在するのに対し、配列（ｃ）では相違要素が中央に存在するため、ＴＭＤでは異なる値が算出されている。また、配列（ｄ）及び配列（ｅ）は、相違要素が５個の場合であり、配列（ｄ）では４個の相違要素が固まって位置しているが、配列（ｃ）は５個の配列が分散しており、ＴＭＤは互いに異なっている。また、配列（ｃ）のＴＭＤは８．６となり、要素すべてが異なっている配列（ｆ）の距離９に大変近い値であることがわかる。
【０３３７】
図２５は、本実施形態に係る推移感受配列間距離を、３×３×３の大きさの三次元配列に適用した場合について示している。図２４に示した例では、要素すべてが０である配列（ａ）に対する、他の５つの配列（ｂ）〜（ｆ）のハミング距離ＨＤ３と推移感受配列間距離ＴＭＤ３とを示している。
【０３３８】
三次元配列の場合であっても二次元配列の場合と同様に、相違要素個数が同じ配列であっても、相違要素が位置している空間的な位置が異なることで、算出されるＴＭＤ３の値は異なっていることが分かる。
【０３３９】
＜推移感受配列間距離尺度の適用例について＞
続いて、図２６〜図２８を参照しながら、本実施形態に係る推移感受配列間距離尺度の適用例について、具体的に説明する。図２６〜図２８は、本実施形態に係る推移感受配列間距離尺度を、二次元画像の照合及び分類処理に適用した例を示した説明図である。
【０３４０】
図２６に、２０種類の画像データＳ０１〜Ｓ２０を示した。各画像データは、１５０×１５０ピクセルのビットマップで表現されている。
【０３４１】
まず、それぞれの画像データの間の推移感受配列間距離ＴＭＤを算出した後、算出した配列間距離ＴＭＤを、配列の大きさ１５０×１５０＝２２５００で割って正規化し、相違度を算出した。ここで、推移コスト係数は、Ａ１＝Ｂ１＝Ａ２＝Ｂ２＝ｆｌｏｏｒ（１５０×１５０／２）／（２×（２×１５０×１５０−１５０−１５０））＝２．２２２×１０−５と設定された。すべての画像データの組み合わせに対して相違度を算出した。
【０３４２】
次に、図２７に示したように、最大相違度を有する列を軸に縦横に昇順に並べ替えを行い、相似する（すなわち、距離の最も近い）グループを抽出した。ここで、図２７に示した相違度配列は、自己相同を表す左上から右下の斜め線（０．００）に対して対称となっている。
【０３４３】
抽出されたグループを、図２８に示した。図２８から明らかなように、算出された距離が互いに近い値となっている画像データは、類似した外形を有していることがわかる。
【０３４４】
なお、以上説明した例では、着目している多次元配列をそのまま利用して推移感受配列間距離尺度を算出する場合について説明したが、第１の実施形態に示した推移感受文字列間距離尺度で示した場合と同様に、着目している多次元配列を複数の処理ブロックに分解して、再帰的に推移感受配列間距離尺度を算出していくことも可能である。
【０３４５】
このように、本実施形態に係る推移感受配列間距離は、従来のハミング距離（ＨＤ）に比べ、同等の計算量、そして僅かな計算資源の追加で、より精度の高い距離を安価に決定することができ、これまでＨＤでは同じ距離とされた多次元配列を分離することが可能となる。
【０３４６】
（ハードウェア構成について）
次に、図２９を参照しながら、本発明の実施形態に係る情報処理装置１０のハードウェア構成について、詳細に説明する。図２９は、本発明の実施形態に係る情報処理装置１０のハードウェア構成を説明するためのブロック図である。
【０３４７】
情報処理装置１０は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１０は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０３４８】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【０３４９】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０３５０】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１０の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、この入力装置９１５を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０３５１】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１０が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１０が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０３５２】
ストレージ装置９１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した音響信号データや画像信号データなどを格納する。
【０３５３】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、フラッシュメモリ、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【０３５４】
接続ポート９２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置１０は、外部接続機器９２９から直接音響信号データや画像信号データを取得したり、外部接続機器９２９に音響信号データや画像信号データを提供したりする。
【０３５５】
通信装置９２５は、例えば、通信網９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【０３５６】
以上、本発明の実施形態に係る情報処理装置１０の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０３５７】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０３５８】
１０    情報処理装置
１０１    データ取得部
１０３    要素間距離算出部
１０５    データ前処理部
１０７    距離算出部
１０９    相違度算出部
１１１    推移コスト算出部
１１３    記憶部
【図１】
2011243148.tif 000053
【図２】
2011243148.tif 000054
【図３】
2011243148.tif 000055
【図４】
2011243148.tif 000056
【図５】
2011243148.tif 000057
【図６】
2011243148.tif 000058
【図７】
2011243148.tif 000059
【図８】
2011243148.tif 000060
【図９】
2011243148.tif 000061
【図１０】
2011243148.tif 000062
【図１１】
2011243148.tif 000063
【図１２】
2011243148.tif 000064
【図１３】
2011243148.tif 000065
【図１４】
2011243148.tif 000066
【図１５】
2011243148.tif 000067
【図１６】
2011243148.tif 000068
【図１７】
2011243148.tif 000069
【図１８】
2011243148.tif 000070
【図１９】
2011243148.tif 000071
【図２０】
2011243148.tif 000072
【図２１】
2011243148.tif 000073
【図２２】
2011243148.tif 000074
【図２３】
2011243148.tif 000075
【図２４】
2011243148.tif 000076
【図２５】
2011243148.tif 000077
【図２６】
2011243148.tif 000078
【図２７】
2011243148.tif 000079
【図２８】
2011243148.tif 000080
【図２９】
2011243148.tif 000081