(57)【特許請求の範囲】
【請求項１】
複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とを入力データとし、前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索手段と、
前記照合データを格納する照合データ記憶部と、
前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理とを行う類推変換処理部を有することを特徴とするデータ変換装置。
【請求項２】
前記類推変換処理部により前記生成された変換ルールに基づいて比較元データ集合中の各データを比較先データ集合中のデータに変換した場合に、
変換後のデータがコンピュータに対してあらかじめ与えられた制限事項を満たしていない場合、または変換元データが異なるにもかかわらず変換先データが同じ場合に、これを変換エラーとして評価する評価手段を有する請求項１に記載のデータ変換装置。
【請求項３】
複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とをコンピュータに対する入力データとし、
前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索処理と、
前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、
前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理を実行することを特徴とするデータ変換方法。
【請求項４】
前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換した場合に、変換後のデータがコンピュータに対してあらかじめ与えられた制限事項を満たしていない場合、または変換元データが異なるにもかかわらず変換先データが同じ場合に、これを変換エラーとして評価する処理を実行する請求項３に記載のデータ変換方法。
【請求項５】
コンピュータに対して、
複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とを入力データとし、
前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索処理と、
前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、
前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理を実行させるためのデータ変換用プログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多量の文字列の変換を行うデータ変換装置及びデータ変換方法に関する。
【０００２】
【従来の技術】
文字列データの集合は様々なアプリケーションに利用され、それぞれ所望の加工がなされる。このように異なるアプリケーションで文字列データを扱う場合、各アプリケーションが必要とする体系の文字列に変換しなくてはならない場合がある。
【０００３】
例えば、流体を制御する制御装置のプログラムを作成するＡ社が、Ｂ社が販売している商品コード“ＦＣ−１１２８”、“ＢＣ−１００１”、“ＡＣ−０００１”である機器をプログラム上で識別するとする。また、Ａ社の制御装置では、制御対象となる機器の識別コードを“アルファベット１文字＋数字”で表さなければならないものとする。
この場合、Ａ社のプログラマーは、制御対象となる機器の識別コードを、Ａ社の制御装置が読み取れる体系に変換しなければならない。定められた体系でなおかつ機器を識別できる値としては、例えば、“Ｆ１１２８”、“Ｂ１００１”、“Ａ０００１”が候補として挙げられる。
【０００４】
このように、与えられた文字列データを所望の体系の文字列データに変換する方法としては、ユーザが予め変換ルールを記述し、その変換ルールに従って、与えられた文字列データを変換する方法がある。この変換ルールとしては、例えば、文字列を置換するためのパターンを表現する正規表現で記述を行うものがある。また、この場合、プログラムについて詳しくないユーザ向けに、記述が容易な入力用ＧＵＩが提供されることが一般的である。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したような従来のデータ変換方法では、データ量が多くなった場合、ユーザが文字列を調べてすべての変換ルールを作成するのは非常に困難であり、また、膨大なコストがかかる。
【０００６】
一方、近年、ある問題に対して人間が行うような類推のメカニズムについて研究がなされている。このような類推システムの一つとして、Melanie Mitchellらが提案したCopycat （"Analogy-Making as Perception: A Computer Model", Melanie Mitchell）がある。このCopycat は文字列置換問題を題材にした推論システムである。以下、その概略を説明する。
【０００７】
すなわち、Copycat が目的とするところは、与えられた問題に対して正しい答えを返すことではなく、与えられた問題を人間がどう捉えるかをモデル化することである。
また、Copycat は、Slipnet, Workspace, Coderack, 温度の４部分からなっており、Slipnet は長期記憶に相当し、文字に関する意味ネットである。Workspace は短期記憶に相当し、与えられた文字列に対する表象が作られる場所である。この表象は、簡単な特徴や構造を検出する codeletと呼ばれるperceptual agentが多数起動されることによって作られる。
このcodelet は、前記Coderackの中に置かれてランダムに起動されるが、今システムが注目している概念や構造に関係のある codeletは、Coderack中に比較的多数置かれるため選ばれる確率が高くなる。そして codelet選択のランダムネスを温度によって制御し、表象の形成に伴って温度を下げていき、解が収束するようになっている。
【０００８】
本発明者等は、このような推論システムに着目し、すでに格納されたデータ集合上の文字列をサンプルとして類推を行い、その類推結果に従って文字列を変換することにより、ユーザの負荷を軽減することができるデータ変換方法を開発すべく、鋭意検討を重ねたものである。
【０００９】
本発明は、上述したような従来技術の問題点を解消するために提案されたもので、その目的は、変換ルールに基づくデータ変換処理と類推に基づくデータ変換処理とを併用することにより、変換ルールの登録の負荷を大幅に削減することを可能としたデータ変換装置、データ変換方法及びデータ変換プログラムを記録した媒体を提供することにある。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、請求項１に記載の発明は、複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とを入力データとし、前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索手段と、前記照合データを格納する照合データ記憶部と、前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理とを行う類推変換処理部を有することを特徴とする。
【００１１】
請求項３の発明は、前記請求項１の発明を方法の観点から把握したものであって、複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とをコンピュータに対する入力データとし、前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索処理と、前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理を実行する実行することを特徴とする。
【００１２】
請求項５の発明は、前記請求項１発明をデータ変換用プログラムを記録したコンピュータ読取可能な記録媒体の観点から把握したものであって、コンピュータに対して、複数のデータを含む比較元データ集合と複数のデータを含む比較先データ集合とを入力データとし、前記比較元データ集合中に含まれた複数のデータについて比較先データ集合に含まれた各データとの類似度を比較して、比較元データ集合中の複数のデータについて比較先データ集合中のデータの中からもっとも類似度の高いデータである照合データを検索する照合データ検索処理と、前記照合データ検索処理によって発見された照合データに基づいて、比較元データ集合中のデータをこれに対応する比較先データ集合中のデータに変換するための変換ルールを生成する例題入力処理と、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換する変換処理を実行させるためのデータ変換用プログラムを記録したコンピュータ読取可能な記録媒体に関するものである。
【００１３】
このような構成を有する請求項１、請求項３および請求項５の発明によれば、コンピュータに格納された変換元データと変換先データの組合せである照合データに基づいて類推を行い、この類推によってデータの変換処理を行うことができるので、ユーザが全ての変換ルールを構築しなくてもデータの変換が可能となる。特に、類推を行うための変換ルールとなる照合データは、あらかじめユーザーが用意しておくものではなく、変換元データ集合と変換先データ集合中の各データを比較して、その類似度を検査することにより生成されるものであり、コンピュータが自動的に変換ルールを生成することができるため、多量のデータ変換処理が自動化される。
【００１４】
請求項２に記載の発明は、請求項１の発明において、変換されたデータの適否を評価する評価手段を備えたことを特徴とするものである。すなわち、前記類推変換処理部により、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換した場合に、変換後のデータがコンピュータに対してあらかじめ与えられた制限事項を満たしていない場合、または変換元データが異なるにもかかわらず変換先データが同じ場合に、これを変換エラーとして評価する評価手段を有することを特徴とするものである。
【００１５】
請求項４に記載の発明は、前記請求項２の発明を方法の観点から把握したものであって、前記生成された変換ルールに基づいて、比較元データ集合中の各データを比較先データ集合中のデータに変換した場合に、変換後のデータがコンピュータに対してあらかじめ与えられた制限事項を満たしていない場合、または変換元データが異なるにもかかわらず変換先データが同じ場合に、これを変換エラーとして評価する処理を実行することを特徴とする。
【００１６】
このような構成を有する請求項２または請求項４の発明によれば、コンピュータによる類推変換だけでは処理しきれないような場合においても、それをコンピュータが評価しユーザーに報告することで、変換ルールあるいは類推に基づくデータの自動変換による間違いと、その間違いによるデバッグの負荷を軽減することが可能となる。
【００２２】
【発明の実施の形態】
以下、本発明の実施形態を図１〜図１４を用いて具体的に説明する。
【００２３】
［１．構成］
図１は本発明の一実施形態の構成を示すブロック図である。すなわち、本実施形態のデータ変換装置には、与えられた文字列を所望の文字列に変換するための変換ルールを記憶する変換ルール記憶手段１が設けられている。また、前記変換ルール記憶手段１には入力手段２が接続され、この入力手段２を用いてユーザが所望の変換ルールを記述し、その変換ルールを前記変換ルール記憶手段１に格納することができるように構成されている。
なお、前記変換ルールには、例えば図２に示したように、検索パターン、置換する文字及び転送文字が記述されている。また、図３は、前記入力手段２を用いて変換ルールを入力するＧＵＩの例を示したものである。
【００２４】
また、本実施形態のデータ変換装置には、前記変換ルール記憶手段１に記憶された変換ルールの中から適用する変換ルールを選択し、その変換ルールに付された優先度に従って、与えられた文字列データの変換を行う文字列変換処理手段３が設けられている。
【００２５】
そして、前記変換ルール記憶手段１、入力手段２及び文字列変換処理手段３によって、予め定められた変換ルールに基づく文字列の変換処理が実行される。
【００２６】
次に、類推により文字列を変換する手段について説明する。
すなわち、本実施形態のデータ変換装置には、照合データ記憶部４ａと類推変換処理部４ｂを備えた類推手段４が設けられている。なお、類推手段４は、すでに変換処理がなされた変換元の文字列と変換先の文字列の組み合わせを入力し、これに基づいて類推を行い、与えられた文字列を変換するものである。
この類推手段４には前記入力手段２が接続され、ユーザが変換元の文字列と変換先の文字列の組み合わせ（照合データ）を入力することができるように構成されている。なお、図４は、前記入力手段２を用いて照合データを入力するＧＵＩの例を示したものである。
【００２７】
また、前記類推手段４には、照合データ検索手段５を介して、データベース６が接続されている。この照合データ検索手段５は、データベース６に記憶された２つのテーブル間で文字列の比較を行い、それらの類似度を計算し、最も大きい類似度を持つ組み合わせを照合データ（例題）として、類推手段４に出力するものである。
【００２８】
そして、前記入力手段２を介してユーザが入力した照合データと、前記照合データ検索手段５を介して入力された照合データの双方が、照合データ記憶部４ａに記憶され、これらの照合データに基づいて、類推変換処理部４ｂにおいて類推変換処理がなされるように構成されている。
これら類推手段４，入力手段２、照合データ検索手段５及びデータベース６によって、類推に基づく文字列の変換処理が実行される。
【００２９】
なお、類推変換処理部４ｂにおける類推のアルゴリズムは種々考えられるが、本実施形態では、類推に上述したMelanie Mitchellらが提案したCopycat （"Analogy-Making as Perception : A Computer Model", Melanie Mitchell ）という類推システムのアルゴリズムを利用するものとする。
【００３０】
さらに、本実施形態のデータ変換装置には変換評価手段７が設けられ、前記文字列変換処理手段３あるいは類推手段４の類推変換処理部４ｂによって実行された変換処理に矛盾がないか、変換後の文字列に重複するものがないかといった評価を行い、その評価結果を表示部８に表示するように構成されている。
【００３１】
［２．作用］
以下、本実施形態のデータ変換装置の作用を、各処理ごとに例を用いて説明する。
【００３２】
［２−１．変換ルールに基づく文字列変換処理］
まず、文字列変換処理手段３によって実行される、変換ルールに基づく文字列変換処理について、図５に示すフローチャートを用いて説明する。
なお、ここでは、変換ルールとして図２に示すルールが変換ルール記憶手段１に登録され、この変換ルールの登録および適用のＧＵＩは図３に示すものとする。また、図６に示すデータベースの客先データの属性値から、“アルファベット１文字＋数字４桁”の制限がある制御コードを作成するものとする。
【００３３】
（ステップ５０１）
まず、文字列変換に適用する変換ルールを図３に示すＧＵＩで選択し、変換ルール記憶手段１から指示された優先度順に変換ルールを取り出す。図３では、ルール３→ルール１→ルール２の順で処理を行うように優先順位が指示されている。
【００３４】
（ステップ５０２）
ステップ５０１で取り出した変換ルールの内、未処理のものがあるか否かを調べ、未処理のものがあれば次のステップ５０３に進み、なければ文字列の変換処理を終了する。ここでは、変換処理が開始されたばかりなので、ルール３が適用されると仮定する。なお、ルール３は「１番目の文字が数字、２番目の文字が英字、３番目の文字が“−”の場合、Ｈ＄４＄５＄６＄１に変換する」というものである。
【００３５】
（ステップ５０３）
変換元となる文字列を取り出す。例えば、図６に示す表から、ＦＣ−１１２８、ＢＣ−１００１、ＡＣ−０００１、６３ＦＣ−１、６５ＦＣ−５、ＦＣ−６３０１、８Ｃ−１１２を取り出す。
【００３６】
（ステップ５０４）
ステップ５０３で取り出した文字列の内、未処理のものがあるか否かを調べ、未処理のものがあれば次のステップ５０５に進み、すべての文字列の処理が済んでいる場合には、ステップ５０２に戻り、次の変換ルールを適用する。図６の例では、ＦＣ−１１２８、ＢＣ−１００１、ＡＣ−０００１、６３ＦＣ−１、６５ＦＣ−５、ＦＣ−６３０１、８Ｃ−１１２のすべての文字列について処理が終わっていれば、ステップ５０２に戻る。
【００３７】
（ステップ５０５）
ステップ５０３で取り出した文字列が、変換ルールの検索パターンにマッチするか否かを調べる。今、ルール３と上記６つの文字列とを照合すると、８Ｃ−１１２がマッチするので、ステップ５０６に進み、ルール３に従って文字列を変換する。
一方、それ以外の文字列はルール３の条件にマッチしないので、ステップ５０８に進み、次の文字列が選択され、ステップ５０４〜ステップ５０８の処理が繰り返される。
【００３８】
（ステップ５０６）
変換ルールの転送文字に従い、文字列を変換する。ルール３と８Ｃ−１１２の場合、ルール３の転送文字より“Ｈ１１２８”に変換される。
（ステップ５０７）
変換元の文字列と変換先の文字列、および適用した変換ルールを記録する。上記の例では変換元“８Ｃ−１１２”、変換先“Ｈ１１２８”、適用ルール“ルール３”という記録が作成される。
【００３９】
（ステップ５０８）
ステップ５０５〜ステップ５０７によって、ある文字列について変換処理が終了すると、次の文字列が選択され、ステップ５０４に戻る。
今、ルール３について、すべての文字列の処理が終了したとすると、ステップ５０２に戻り、次のルールとして、優先順位に基づいてルール１が選択され、また、ステップ５０３において、文字列としてＦＣ−１１２８が選択されたと仮定する。なお、ルール１は「２番目の文字が“Ｃ”、３番目の文字が“−”の場合、＄１＄４＄５＄６＄７に変換する」というものである。
【００４０】
（ステップ５０５）
今、ルール１とＦＣ−１１２８とを照合すると、マッチするのでステップ５０６の処理を行う。なお、ルール１と６５ＦＣ−５であればマッチしないので、ステップ５０８の処理を行う。
（ステップ５０６）
変換ルールの転送文字に従い、文字列を変換する。ルール１とＦＣ−１１２８の場合、ルール１の転送文字より“Ｆ１１２８”に変換される。
（ステップ５０７）
変換元の文字列と変換先の文字列、および適用した変換ルールを記録する。上記の例では変換元“ＦＣ−１１２８”、変換先“Ｆ１１２８”、適用ルール“ルール１”という記録が作成される。
【００４１】
このように、変換対象となるすべての文字列について、適用すべきすべての変換ルールを適用して、変換処理がなされる。
なお、変換ルールに付された優先度によって変換結果が異なる場合もある。例えば、“８Ｃ−１１２”という文字列は、上述したように優先度がルール３→ルール１→ルール２の順であれば、“Ｈ１１２８”に変換される。しかし、優先度がルール１→ルール２→ルール３の順であれば、先にルール１によってパターンマッチが起こり、“８１１２”となる。
【００４２】
［２−２．類推に基づく文字列変換処理］
次に、類推手段４によって実行される文字列変換処理について、図７に示すフローチャートを用いて説明する。
【００４３】
（ステップ７０１）
類推手段４においては、まず、「１．例題入力」か「２．変換」のいずれかの処理を選択する。
【００４４】
（ステップ７０２）
ステップ７０１において、「１．例題入力」が選択された場合、図４に示したようなユーザによって入力された文字列の組み合わせ、あるいは、次項で説明する照合データ検索手段５によって選ばれた文字列の組み合わせを例題として取り出す。
例えば、ＦＣ−１１２８とＦ１１２８の組み合わせ、ＢＣ−１００１とＢ１００１の組み合わせ、６３ＦＣ−１とＦ６３０１の組み合わせを照合データとして取得する。
【００４５】
（ステップ７０３）
ステップ７０２で取り出した照合データの内、未処理のものがあるか否かを調べ、未処理の照合データがある場合には、ステップ７０４に進み、すべての照合データについて処理が終了している場合には、例題の入力処理を終了する。
（ステップ７０４）
所定の類推機構に、未処理の照合データを例題として与える。ここでは、 Copycatのアルゴリズムを適用した類推機構に、未処理の照合データを例題として与える。
（ステップ７０５）
次の照合データを取得し、この照合データが未処理であった場合には、所定の類推機構に、この照合データを例題として与える。このようにして、すべての照合データを所定の類推機構に例題として与えると、例題の入力処理は終了する。
【００４６】
次に、類推手段４における文字列変換処理について説明する。
【００４７】
（ステップ７０６）
上述したように例題の入力処理が終了し、ステップ７０１において、「２．変換」が選択されると、変換元のデータが取得される。
例えば、上記ステップ７０２に示した文字列の組み合わせが、所定の類推機構に例題として与えられている場合に、ＡＣ−２２２３、１２ＦＣ−３の文字列が変換元の文字列として入力されたとする。
（ステップ７０７）
ステップ７０６で取得された変換元の文字列データの内、未処理のものがあるか否かを調べ、未処理の文字列があればステップ７０８に進み、なければ文字列の変換処理を終了する。
【００４８】
（ステップ７０８）
所定の類推機構に変換元の文字列データを与えて、ステップ７０４で与えられた例題に基づいて、類推により文字列の変換を行う。ここでは Copycatのアルゴリズムを適用した類推機構に、文字列データＡＣ−２２２３、１２ＦＣ−３を与えて変換する。この場合、ＡＣ−２２２３はＡ２２２３に、１２ＦＣ−３はＦ１２０３に変換されることが期待できる。
【００４９】
（ステップ７０９）
変換元の文字列データと変換先の文字列データ、および推論のために与えられた例題を記録する。上記の例では、変換元“ＡＣ−２２２３”、変換先“Ａ２２２３”、与えられた例題“ＦＣ−１１２８→Ｆ１１２８”という記録、変換元“１２ＦＣ−３”、変換先“Ｆ１２０３”、与えられた例題“６３ＦＣ−１→Ｆ６３０１”という記録が作成される。
（ステップ７１０）
ある文字列について類推変換処理が終了すると、次の文字列が選択され、ステップ７０７に戻り、変換対象となるすべての文字列について類推に基づく文字列変換処理がなされる。
【００５０】
［２−３．照合データ検索処理］
次に、照合データ検索手段５によって実行される照合データの検索処理について、図８に示すフローチャートを用いて説明する。なお、ここでは、図６に示した表データの「客先コード」を比較元データ、図９に示す表データの「制御コード」を比較先データとする。
【００５１】
（ステップ８０１）
図６の客先コードの文字列ＦＣ−１１２８、ＢＣ−１００１、ＡＣ−０００１、６３ＦＣ−１、６５ＦＣ−５、ＦＣ−６３０１、８Ｃ−１１２を比較元データとして取得し、図９の制御コードの文字列Ａ０００１、Ｆ６３０１、Ｆ１１２８、Ｆ６５０５、Ｈ１１２８、Ｂ１００１を比較先データとして取り出す。
（ステップ８０２）
ステップ８０１で取り出した比較元データの内、未処理のものがあるか否かを調べ、未処理の比較元データがある場合にはステップ８０３に進み、すべてのデータの処理が終了している場合には、後述するステップ８０７に進む。
（ステップ８０３）
ステップ８０１で取り出した比較先データの内、未処理のものがあるか否かを調べ、未処理の比較先データがある場合にはステップ８０４に進み、すべての比較先データの処理が終了している場合には、ステップ８０２に戻り、次の比較元データについて処理がなされる。
【００５２】
（ステップ８０４）
比較元データと比較先データの類似度が、改良したＤＰマッチング（以下、ＤＰマッチング＋αという）により計算される。なお、このＤＰマッチング＋αについては、後述する。
このＤＰマッチングに基づいて求められた比較元データと比較先データの類似度は、図１０に示したようになる。このうち、ＦＣ−１１２８とＦ１１２８の類似度は“１”であり、また、ＦＣ−１１２８とＨ１１２８の類似度も同様に“１”である。
従って、ＤＰマッチングのみでは、いずれの類似度がより高いかが不明であるので、両者の「文字数の差」及び「不一致文字数」を勘案して、類似度を求める。すなわち、ＦＣ−１１２８とＦ１１２８においては、「文字数の差」は“２”、「不一致文字数」は“Ｃ−”の２つである。これに対し、ＦＣ−１１２８とＨ１１２８においては、「文字数の差」は“２”、「不一致文字数」は“ＦＣ−”の３つである。その結果、ＦＣ−１１２８とＦ１１２８の類似度の方が、より高いと判断される。
【００５３】
（ステップ８０５）
ステップ８０４で類似度を計算した比較元データと比較先データの組み合わせと、得られた類似度とを記録する。例えば、図１０に示すような記録が作成される。
（ステップ８０６）
次に、別の比較先データを取り出し、ステップ８０３に戻る。そして、その比較先データが未処理であるか否かが判断され、未処理の場合には、ステップ８０４〜ステップ８０６の処理が繰り返される。
また、この類似度の計算が、すべての比較元データと比較先データの組み合わせについてなされ、類似度の記録が作成されると、ステップ８０７に進み、どの組み合わせがもっとも類似度が高いかが検索される。
【００５４】
（ステップ８０７）
まず、ステップ８０５で記録された類似度データの中から、一つの比較元データが選択される。
（ステップ８０８）
続いて、この比較元データが未処理か否かが判断され、未処理であった場合には、ステップ８０９に進み、一方、すべての比較元データについて処理が終了している場合には、照合データ検索処理を終了する。
【００５５】
（ステップ８０９）
ある比較元データについて、ステップ８０４で求められた類似度が予め設定した値以上であるか否かを調べ、設定値以上ならばステップ８１０に進み、一方、設定値以下ならば、適切な照合データが得られないので、照合データ検索処理を終了する。
（ステップ８１０）
ステップ８０５で得られた記録を参照し、最も類似度が高い組み合わせを検索する。図１０の例では、ＦＣ−１１２８とＦ１１２８の類似度が最大値である。
【００５６】
（ステップ８１１）
ステップ８１０で検索した最大の類似度を持つ組み合わせを、照合データとして前記類推手段に出力する。図１０の例では、ＦＣ−１１２８とＦ１１２８の組み合わせを照合データとして出力する。
（ステップ８１２）
ある比較元データについて最大類似度の検索処理が終了すると、次の比較元データが選択され、ステップ８０８に戻る。そして、すべての比較元データについて最大類似度が検索され、最適な照合データが類推手段に出力される（図７のステップ７０２参照）。
【００５７】
ここで、ＤＰマッチングについて説明する。
このＤＰマッチングは、文字列全体にわたってできるだけもっともらしいマッチングが行われるように考えられた方法であって、タイナミックプログラミングの考え方を用いる方法である。
いま、文字列ｓ１ｓ２…ｓｍとｔ１ｔ２…ｔｎとの照合を行うと仮定する。そして、文字ｓｉとｔｊとの近さ（距離）という概念を導入して、これをｄ（ｓｉ，ｔｊ）とし、また、部分文字列ｓ１ｓ２…ｓｉとｔ１ｔ２…ｔｊとがもっとも良くマッチしたというときのずれの量ｆ（ｉ，ｊ）を導入し、これを次のような漸化式によって計算するものである。すなわち、ずれの量ｆ（ｉ，ｊ）が小さいほど、類似度は高いということができる。
【００５８】
【数１】
0003718328.tif 000002
［２−４．変換評価処理］
次に、変換評価手段７によって実行される、上記変換処理に対する評価処理について、図１１に示すフローチャートを用いて説明する。
【００５９】
（ステップ１１０１）
類推手段４あるいは文字列変換処理手段３に記録された変換の記録を取得する。例えば、図１２のような記録を取得する。なお、図１２に示した記録においては、例えば、変換元“６３ＦＣ−１”は、変換ルール２に基づいて“Ｆ６３０１”に変換されたことを表し、また、変換元“ＡＣ−２２２３”は、例題“ＦＣ−１１２８→Ｆ１１２８”に基づいて“Ａ２２２３”に変換されたことを表している。
【００６０】
（ステップ１１０２）
続いて、変換後の文字列を使用するアプリケーションの文字列制限データベースより、変換後の文字列に対する制限を取得する。例えば、変換後の文字列は“アルファベット1 文字＋数字4 桁”でなければならないとする。
（ステップ１１０３）
ステップ１１０１で取り出した変換記録の内、未処理のものがあるか否かを調べ、未処理のものがあればステップ１１０４へ進み、一方、すべての変換記録について処理が終了している場合には、変換評価処理を終了する。
【００６１】
（ステップ１１０４）
変換先データがステップ１１０２で取り出した制限を満たしているかどうか調べ、満たしてない場合にはステップ１１０６に進み、エラー表示を行う。一方、制限を満たしている場合には、ステップ１１０５に進む。
（ステップ１１０５）
変換元データが異なるにも関わらず、変換先データが同じであるか否かが判断され、変換先データが同じ場合（すなわち、重複している場合）には、ステップ１１０６に進み、エラー表示を行う。一方、変換先データが重複していない場合には、ステップ１１０７に進む。
【００６２】
（ステップ１１０６）
変換先データが制限に違反している場合や、重複している場合には、そのエラー内容及びエラーの状況等をユーザに表示する。
例えば、図１３に示したように、変換元データは異なるのに（６３ＦＣ−１、ＦＣ−６３０１）、変換先データが同一（共に、Ｆ６３０１）となった場合には、重複エラーとして表示される。また、図１４に示したように、変換後の文字列は“アルファベット1 文字＋数字4 桁”でなければならないのに、変換先データが“ＡＢ１０”となり、与えられた制限に違反している場合には、制限エラーとして表示される。
（ステップ１１０７）
ある変換記録について評価処理が終了すると、次の変換記録が選択され、ステップ１１０３に戻る。そして、すべての変換記録について評価がなされると、変換評価処理は終了する。
【００６３】
［３．効果］
このように本実施形態においては、膨大な文字列データを、所定の変換ルールを用いて希望する文字列体系に変換することができる。さらに、すでに格納されたデータの集合上の文字列を例題として類推を行い、この類推に基づいて文字列の変換処理を可能とすることにより、ユーザが全ての変換ルールを構築しなくても文字列の変換が可能になる。
また、本実施形態においては、変換評価機能を備えることにより、変換結果に不具合がある場合には、ユーザに不具合とその原因を提示することができるので、変換ルールあるいは類推に基づく文字列の自動変換による間違いと、その間違いによるデバッグの負荷を軽減することが可能となる。
【００６４】
［４．他の実施形態］
なお、本発明は上述した実施形態に限定されるものではなく、文字列データの変換に限らず、他のデータ変換処理に適用できることは言うまでもない。
【００６５】
また、類推変換処理部における類推のアルゴリズムとしては、Melanie Mitchellらが提案したCopycat の他に、Holyoak and Thagard らが提案したACME、Gentner らが提案した SME、 Erman and V.Lesser らが提案したHearsay-IIなどの手法を適用することができる。また、類似度の判断もＤＰマッチングに限られないことは言うまでもない。
さらに、本発明に係るデータ変換方法における処理は、コンピュータプログラムがコンピュータを制御することによって実現され、このプログラムは記録媒体に記録されて提供される。
【００６６】
【発明の効果】
以上述べたように、本発明によれば、変換ルールに基づくデータ変換処理と類推に基づくデータ変換処理とを併用することにより、変換ルールの登録の負荷を大幅に削減することを可能としたデータ変換装置、データ変換方法及びデータ変換プログラムを記録した媒体を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態の構成を示すブロック図
【図２】変換ルールの一例を示す図
【図３】変換ルールの登録画面の一例を示す図
【図４】照合データの登録画面の一例を示す図
【図５】変換ルールに基づく文字列変換処理の流れを示すフローチャート
【図６】変換対象のデータベースの一例を示す図
【図７】類推に基づく文字列変換処理の流れを示すフローチャート
【図８】照合データ検索処理の流れを示すフローチャート
【図９】照合データベースの一例を示す図
【図１０】類似度記録の一例を示す図
【図１１】変換評価処理の流れを示すフローチャート
【図１２】文字列変換の記録の一例を示す図
【図１３】重複エラー表示の一例を示す図
【図１４】制限エラー表示の一例を示す図
【符号の説明】
１…変換ルール記憶手段
２…入力手段
３…文字列変換処理手段
４…類推手段
４ａ…照合データ記憶部
４ｂ…類推変換処理部
５…照合データ検索手段
６…データベース
７…変換評価手段
８…表示手段
【図１】
0003718328.tif 000003
【図２】
0003718328.tif 000004
【図３】
0003718328.tif 000005
【図４】
0003718328.tif 000006
【図５】
0003718328.tif 000007
【図６】
0003718328.tif 000008
【図７】
0003718328.tif 000009
【図８】
0003718328.tif 000010
【図９】
0003718328.tif 000011
【図１０】
0003718328.tif 000012
【図１１】
0003718328.tif 000013
【図１２】
0003718328.tif 000014
【図１３】
0003718328.tif 000015
【図１４】
0003718328.tif 000016