(57)【要約】【課題】表示プログラムを変更することなく、より性能の高いプログラム、例えばメトリクス計測プログラムを使用することを可能にする。【解決手段】定義が不明な構造化文書が保持する値と、定義が既知の構造化文書が保持する値との同一性及び近似性を判定し、定義が不明な構造化文書の各要素と、定義が既知の構造化文書の各要素を対応づけることで、定義が不明な構造化文書の構造を判定する。【選択図】図１
2010211567.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付ける入力手段と、
前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一性判定手段と、
前記生成された構造化文書変換ルールを出力する出力手段と
を具備する
同一性判定装置。
【請求項２】
請求項１に記載の同一性判定装置であって、
前記同一性判定手段は、
定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換する標準構造化文書変換手段と、
前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一情報の固まりとして判別する同一項目判定手段と、
前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるか判定し、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一要素値判定手段と
を具備する
同一性判定装置。
【請求項３】
請求項２に記載の同一性判定装置であって、
前記標準構造化文書変換手段は、定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
前記同一項目判定手段は、前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第１の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第２の指標を抽出し、
前記同一要素値判定手段は、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記前記第１の指標の指標値と前記第２の指標の指標値の差分の２乗を計算し、前記差分の２乗を前記第１の指標の要素毎に足し合わせ、一番小さな差分の２乗に対応した前記第１の指標と前記第２の指標を対応付けて、構造化文書変換ルールに追加する
同一性判定装置。
【請求項４】
請求項２又は３に記載の同一性判定装置であって、
前記同一要素値判定手段は、
類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行なう手段と、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行なう手段と、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行なう手段と、
前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成する手段と
を具備する
同一性判定装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の同一性判定装置であって、
前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に変換する構造変換手段
を更に具備する
同一性判定装置。
【請求項６】
所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付け、
前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、
前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成し、
前記生成された構造化文書変換ルールを出力する
同一性判定方法。
【請求項７】
請求項６に記載の同一性判定方法であって、
定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一情報の固まりとして判別し、
前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるか判定し、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する
同一性判定方法。
【請求項８】
請求項７に記載の同一性判定方法であって、
定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換し、
前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第１の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、
前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第２の指標を抽出し、
前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記前記第１の指標の指標値と前記第２の指標の指標値の差分の２乗を計算し、前記差分の２乗を前記第１の指標の要素毎に足し合わせ、一番小さな差分の２乗に対応した前記第１の指標と前記第２の指標を対応付けて、構造化文書変換ルールに追加する
同一性判定方法。
【請求項９】
請求項７又は８に記載の同一性判定方法であって、
類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行ない、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行ない、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行ない、
前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成する
同一性判定方法。
【請求項１０】
請求項６乃至９のいずれか一項に記載の同一性判定方法であって、
前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に変換する
同一性判定方法。
【請求項１１】
所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、前記所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付けるステップと、
前記入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと、
前記生成された構造化文書変換ルールを出力するステップと
をコンピュータに実行させるための
同一性判定用プログラム。
【請求項１２】
請求項１１に記載の同一性判定用プログラムであって、
定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換するステップと、
前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された特定の構造要素を表わす同一項目判定要素を基にして、前記「文書構造が不明なプログラム実行結果」に記述された同一名称及び近似名称のいずれかの要素を、同一情報の固まりとして判別するステップと、
前記「文書構造が不明なプログラム実行結果」に記述された要素の値と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された要素の値とを比較して、同じ意味を持つ値であるか判定し、前記比較された両方の要素の対応付けを行ない、前記対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと
を更にコンピュータに実行させるための
同一性判定用プログラム。
【請求項１３】
請求項１２に記載の同一性判定用プログラムであって、
定義済みの構造化文書変換ルールを基に、前記「文書構造が既知のプログラム実行結果」を前記「文書構造が既知のプログラム実行結果の標準構造化文書」に変換するステップと、
前記同一項目判定要素で指定された情報を基に、前記「文書構造が既知のプログラム実行結果の標準構造化文書」の特定要素の組と、それぞれの特定要素に紐付いた第１の指標とを抽出し、前記特定要素の組の任意の要素に対して、前記「文書構造が不明なプログラム実行結果」の要素と文字列マッチングをとり、特定要素が繰り返される位置と特定属性を抽出し、前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から特定要素に紐付いた第２の指標を抽出するステップと、
前記特定要素が繰り返される位置と特定属性を基に、前記「文書構造が不明なプログラム実行結果」から当該要素に紐付いた情報が格納された部分を識別し、前記前記第１の指標の指標値と前記第２の指標の指標値の差分の２乗を計算し、前記差分の２乗を前記第１の指標の要素毎に足し合わせ、一番小さな差分の２乗に対応した前記第１の指標と前記第２の指標を対応付けて、構造化文書変換ルールに追加するステップと
を更にコンピュータに実行させるための
同一性判定用プログラム。
【請求項１４】
請求項１２又は１３に記載の同一性判定用プログラムであって、
類義語集に登録された類義語の組に含まれる文字列を構造要素名として参照して、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標の対応付けを行なうステップと、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在する場合、両方の構造要素名の対応付けを行なうステップと、
前記「文書構造が不明なプログラム実行結果」と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」との各々に、前記類義語集に登録された類義語の組に含まれる文字列のいずれかと同一の構造要素名が存在しない場合、前記「文書構造が不明なプログラム実行結果」に記述された指標と、前記「文書構造が既知のプログラム実行結果の標準構造化文書」に記述された指標を比較して、同じ指標値として記述された値であるか判定し、同じ指標値として記述された値の対応付けを行なうステップと、
前記対応付けが行われた指標値同士を変換するルールを示す構造化文書変換ルールを生成するステップと
を更にコンピュータに実行させるための
同一性判定用プログラム。
【請求項１５】
請求項１１乃至１４のいずれか一項に記載の同一性判定用プログラムであって、
前記生成された構造化文書変換ルールに従って、前記「文書構造が不明なプログラム実行結果」を、前記「文書構造が既知のプログラム実行結果の標準構造化文書」と同じ構造に従った「文書構造が不明なプログラム実行結果の標準構造化文書」に変換するステップ
を更にコンピュータに実行させるための
同一性判定用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一性判定装置に関し、特に構造化文書の同一性判定装置に関する。
【背景技術】
【０００２】
従来のメトリクス計測においては、プログラム自体の機能の進歩等によって、計測するプログラムを交換する場合に、指標値の名称及び計測方法が標準化されていないために、また、プログラムが通常多数の指標値を同時に出力するために、新しいプログラムで計測した結果と、従来のプログラムで計測した結果との対応付け及び比較がし辛い（困難である）という課題があった。
【０００３】
同様の機能を持ち、実行の結果として、構造化された文書を生成するプログラムは多数存在するが、例え同じ意味の結果項目でも、出力されたそれぞれの文書の構造、及び構造要素名は異なっていることが多い。また、実行に使用するアルゴリズムの違いから、同じ結果項目でも構造要素の値が完全に一致しないこともある。
【０００４】
特開２００４−１０２９２６号公報（特許文献１）においては、本来同一の意味を持った文書において、同一の識別子を判定する方法が記述されている。しかし、この方式では、形式として同一の構造化文書した判定することができず、識別子名が異なるが同一の意味を持つ要素を識別する場合や、構造が異なるが同一の識別子名を持つ要素を識別する場合等に、同一性を判定することができないという問題があった。
【０００５】
また、ある構造化文書を入力として、構造化文書の各要素の値を取り出して利用するプログラムが存在する場合、構造化文書の要素名称、及び要素の順番が異なる構造化文書が入力されると、構造化文書の構造を理解した上で、プログラムの書き換えが必要となるという問題があった。
【０００６】
また、関連する技術として、特開２００３−０５８５２３号公報（特許文献２）に構造化文書の変換ルール作成方法、及び装置と変換ルール作成プログラム、及び該プログラムを記録した記録媒体が開示されている。この関連技術では、変換ルール生成要求を受け取ると、各構造化文書のスキーマをデータベースから取得する。このスキーマからタグ名（構造要素名）を抽出して比較し、一致する場合にはタグ名の対応関係を変換ルールとし、一致しない場合にはタグ名の同義語を用いたタグ名の対応関係を変換ルールとして追加してスキーマの変換ルールを変換ルール自動生成部で生成する。この変換ルールをユーザに提示して確認、修正を依頼し、ユーザにより確認修正された変換ルールを変換ルール蓄積装置に格納し、該変換ルールに基づき構造化文書間のスキーマの変換を変換部で行なう。
【０００７】
更に、特開平０６−２５９４２１号公報（特許文献３）に文書処理装置が開示されている。この関連技術では、メモリには、文書構造要素同志の接続関係が記述された情報を示すパターン記述情報が格納されている。また、文書ファイルには、構造化文書が格納されている。解釈部は、パターン記述情報を解釈して、階層構造を表現している文書構造パターンを生成し、この文書構造パターンをメモリに格納する。再編成部は、文書ファイルの構造化文書を走査（ｓｃａｎ）して、照合処理可能な形式の構造に再編成し、この結果である再編成構造化文書をメモリに格納する。照合部は、文書構造パターンと再編成構造化文書とを照合する。出力処理部は、照合部の照合により一致したものを出力する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１０２９２６号公報
【特許文献２】特開２００３−０５８５２３号公報
【特許文献３】特開平０６−２５９４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、定義が不明な構造化文書が保持する値と、定義が既知の構造化文書が保持する値との同一性及び近似性を判定し、定義が不明な構造化文書の各要素と、定義が既知の構造化文書の各要素を対応づけることで、定義が不明な構造化文書の構造を判定する同一性判定装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の同一性判定装置は、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付ける入力手段と、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成する同一性判定手段と、生成された構造化文書変換ルールを出力する出力手段とを具備する。
【００１１】
本発明の同一性判定方法では、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付け、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成し、生成された構造化文書変換ルールを出力する。
【００１２】
本発明の同一性判定用プログラムは、所定のプログラムを実行することにより出力された「文書構造が不明なプログラム実行結果」と、所定のプログラムと同様の目的を持つプログラムを実行することにより出力された「文書構造が既知のプログラム実行結果」とを入力として受け付けるステップと、入力された両方のプログラム実行結果の構造要素及び要素値の対応付けを行ない、対応付けが行われた特定の要素の構造同士を変換するルールを示す構造化文書変換ルールを生成するステップと、生成された構造化文書変換ルールを出力するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１３】
表示プログラムを変更することなく、例えばメトリクス計測プログラム等の、より性能の高いプログラムを使用することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態の同一性判定装置の構成例を示すブロック図である。
【図２】文書構造が既知のプログラム実行結果の標準構造化文書、及び文書構造が不明なプログラム実行結果がＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の場合の例を示す図である。
【図３】文書構造が既知のプログラム実行結果の例を示す図である。
【図４】文書構造が既知のプログラム実行結果の標準構造化文書がＸＭＬ形式の場合の例を示す図である。
【図５】文書構造が不明なプログラム実行結果がＸＭＬ形式の場合の例を示す図である。
【図６】同一項目判定要素がＸＭＬ形式の場合の例を示す図である。
【図７】構造化文書変換ルールの例を示す図である。
【図８】本発明の第１実施形態の全体の動作を示すフローチャートである。
【図９】文書構造が既知のプログラム実行結果の標準構造化文書の特定要素の組の例を示す図である。
【図１０】文書構造が既知のプログラム実行結果の標準構造化文書のそれぞれの特定要素に紐付いた指標を示す図である。
【図１１】文書構造が不明なプログラム実行結果の特定要素が繰り返される位置と特定属性の例を示す図である。
【図１２】文書構造が不明なプログラム実行結果の特定要素に紐付いた指標の例を示す図である。
【図１３】本発明の第２実施形態の同一性判定装置の構成例を示すブロック図である。
【図１４】文書構造が不明なプログラム実行結果の標準構造化文書の例を示す図である。
【図１５】本発明の第３実施形態の同一性判定装置の構成例を示すブロック図である。
【図１６】類義語集の例を示す図である。
【発明を実施するための形態】
【００１５】
＜第１実施形態＞
以下に、本発明の第１実施形態について添付図面を参照して説明する。
図１に示すように、本発明の第１実施形態の同一性判定装置１００は、第１の標準構造化文書変換部１０１と、同一項目判定部１０２と、第１の同一要素値判定部１０３を含む。
【００１６】
第１の標準構造化文書変換部１０１は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果１を、文書構造が既知のプログラム実行結果の標準構造化文書２に変換する。文書構造が既知のプログラム実行結果１は、あるプログラムを実行することにより出力されたプログラム実行結果である。
【００１７】
定義済みの構造化文書変換ルールとは、この後で説明する構造化文書変換ルール５と同等な変換ルールを指している。また、上記の変換の手段は、この後で説明する第２の標準構造化文書変換部１０４と同等の処理を行なう手段のことである。
【００１８】
同一項目判定部１０２は、文書構造が不明なプログラム実行結果３を読み取り、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された特定の要素（例えば、要素「ファイル名」）の情報を表わす同一項目判定要素４を基にして、文書構造が不明なプログラム実行結果３に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果３は、文書構造が既知のプログラム実行結果１と同一の対象に対して、文書構造が既知のプログラム実行結果１を出力させたプログラムと同様の目的を持つ新規のプログラムを実行した結果である。
【００１９】
ファイル名の表記にゆれがある可能性がある場合は、例えば、特開２００４−１０２９２６号公報（特許文献１）の規範化処理（Ｓ１０２）を利用して、事前に表記をそろえてから同一項目判定部１０２を実施する。
【００２０】
図２に、文書構造が既知のプログラム実行結果の標準構造化文書２及び文書構造が不明なプログラム実行結果３がＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式の場合の例を記述している。但し、実際には、ＸＭＬ形式に限定されない。この例においては、同一項目判定部１０２は、要素「ｆａｃｔｏｒ１」と「ｅｌｅｍｅｎｔＹ」の対応付けを行なう。
【００２１】
第１の同一要素値判定部１０３は、文書構造が不明なプログラム実行結果３に記述された特定の構造要素単位の指標と、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された当該構造要素単位の指標を比較して、同じ指標値として記述された指標の対応付けを行なう。
【００２２】
第１の同一要素値判定部１０３は、指標の対応付けにおいて、同一項目判定部１０２で同一と判定された要素を除いて、判定処理を実行する。
【００２３】
また、第１の同一要素値判定部１０３は、指標の対応付けが行われた「特定の要素の構造」同士を変換するルールを、構造化文書変換ルール５として出力する。なお、実際には、第１の同一要素値判定部１０３は、構造化文書変換ルール５を同一性判定装置１００の外部に出力するとは限らない。例えば、第１の同一要素値判定部１０３は、同一性判定装置１００の内部の記憶装置等に出力して記憶するようにしても良い。
【００２４】
ここでは、構造化文書変換ルール５は、文書構造が不明なプログラム実行結果３の「特定の要素の構造」を、文書構造が既知のプログラム実行結果の標準構造化文書２の「特定の要素の構造」に変換するルールである。
【００２５】
図３に、文書構造が既知のプログラム実行結果１の例を記述している。
【００２６】
図４に、文書構造が既知のプログラム実行結果の標準構造化文書２がＸＭＬ形式の場合の例を記述している。但し、実際には、ＸＭＬ形式に限定されない。
【００２７】
図５に、文書構造が不明なプログラム実行結果３がＸＭＬ形式の場合の例を記述している。但し、実際には、ＸＭＬ形式に限定されない。
【００２８】
また、図６に、同一項目判定要素４がＸＭＬ形式の場合の例を記述している。但し、実際には、ＸＭＬ形式に限定されない。
【００２９】
図４の文書構造が既知のプログラム実行結果の標準構造化文書２では、図６の同一項目判定要素４で指定された特定の位置「ｆｉｌｅ」タグ毎に、特定の構造要素としてその子要素の「ｎａｍｅ」要素で指定されたプログラムの実行結果の例として、ソースコードメトリクスの計測結果が「ｆｉｌｅ」タグ内に保存されている。
【００３０】
図５の文書構造が不明なプログラム実行結果３では、「ｐａｔｈ」タグの「ｎａｍｅ」属性で指定されたファイルのメトリクスの結果が同じく「ｐａｔｈ」タグ内に保存されている。
【００３１】
第１の同一要素値判定部１０３は、パスの文字列マッチングを実施することで、図５における構造化文書要素「ｐａｔｈ」が図４における構造化文書要素「ｆｉｌｅ」と同一の情報を持つ要素と判断する。
【００３２】
第１の同一要素値判定部１０３は、図５の文書構造が不明なプログラム実行結果３の「ｐａｔｈ」要素の構造を、図４の文書構造が既知のプログラム実行結果の標準構造化文書２の「ｆｉｌｅ」要素の構造に変換するルールを、構造化文書変換ルール５として出力する。
【００３３】
図７に、構造化文書変換ルール５の例を記述している。
【００３４】
図７は、図５に示すＸＭＬ文書を「文書構造が不明なプログラム実行結果３」とし、図４に示すＸＭＬ文書を「文書構造が既知のプログラム実行結果の標準構造化文書２」として、その変換ルールを記述したものである。各メトリクスの計測アルゴリズムが正確に同じで、同一の値が出力される場合、子要素を含む「ｆｉｌｅ」タグ以下の要素の各属性値や要素のテキスト値を抽出して比較することにより、標準計測結果変換ルール８を作成することができる。
【００３５】
次に、図８のフローチャートを参照して、本実施形態の全体の動作について詳細に説明する。
【００３６】
（１）ステップＳ１０１
第１の標準構造化文書変換部１０１は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果１を、文書構造が既知のプログラム実行結果の標準構造化文書２に変換する。
【００３７】
（２）ステップＳ１０２
同一項目判定部１０２は、同一項目判定要素４で指定されたパスの情報を基に、文書構造が既知のプログラム実行結果の標準構造化文書２の特定要素の組２１と、それぞれの特定要素に紐付いた指標２２を抽出する。
【００３８】
図９に、特定要素の組２１の例が記述してある。
【００３９】
図９の特定要素の組２１では、図４の文書構造が既知のプログラム実行結果の標準構造化文書２において、図６の同一項目判定要素４で指定された特定の位置「ｆｉｌｅ」タグ毎に、特定の構造要素としてその子要素の「ｎａｍｅ」要素で指定されたプログラムの所在情報「Ｄ：￥ａａａ￥ｘｘｘ．ｊａｖａ」、及び「Ｄ：￥ａａａ￥ｙｙｙ．ｊａｖａ」が抽出されている。
【００４０】
図１０に、指標２２の例が記述してある。
【００４１】
図１０の指標２２では、図９の特定要素の組２１において、特定の構造要素としてその子要素の「ｎａｍｅ」要素で指定された「Ｄ：￥ａａａ￥ｘｘｘ．ｊａｖａ」、及び「Ｄ：￥ａａａ￥ｙｙｙ．ｊａｖａ」に紐付いた子要素を含む「ｆｉｌｅ」タグ以下の要素の各属性値や要素のテキスト値「ｆｉｌｅ／ｔｌｏｃ／ｔｅｘｔ（）」と、「ｆｉｌｅ／ｅｌｏｃ／ｔｅｘｔ（）」と、「ｆｉｌｅ／ｃｌｏｃ／ｔｅｘｔ（）」と、「ｆｉｌｅ／ｂｌｏｃ／ｔｅｘｔ（）」が抽出されている。
【００４２】
（３）ステップＳ１０３
同一項目判定部１０２は、特定要素の組２１の任意の要素に対して、文書構造が不明なプログラム実行結果３の要素と文字列マッチングをとることで、特定要素が繰り返される位置と特定属性３１を抽出する。すなわち、同一項目判定部１０２は、特定要素の組２１の任意の要素と、文書構造が不明なプログラム実行結果３の要素とを、両方の要素の文字列同士が一致するか否かを判定し、一致していれば、この文書構造が不明なプログラム実行結果３の要素を特定要素とし、特定要素が繰り返される位置と特定属性３１を抽出する。
【００４３】
図１１に、特定要素が繰り返される位置と特定属性３１の例が記述してある。
【００４４】
図１１の特定要素が繰り返される位置と特定属性３１では、図５の文書構造が不明なプログラム実行結果３の「ｐａｔｈ」要素が特定要素であり、その子要素の「ｎａｍｅ」要素が特定属性であるため、特定要素が繰り返される位置「ｒｅｓｕｌｔ／ｐａｔｈ」と、特定属性「ｐａｔｈ［＠ａｔｔ＝‘ｎａｍｅ’］」が抽出されている。
【００４５】
（４）ステップＳ１０４
同一項目判定部１０２は、特定要素が繰り返される位置と特定属性３１を基に、文書構造が不明なプログラム実行結果３から特定要素に紐付いた指標３２を抽出する。
【００４６】
図１２に、指標３２の例が記述してある。
【００４７】
図１２の指標３２では、図５の文書構造が不明なプログラム実行結果３の「ｐａｔｈ」要素が特定要素であり、「ｐａｔｈ」タグ以下の要素の各属性値や要素のテキスト値「ｐａｔｈ［＠ａｔｔ＝‘ｌｏｃ’］」、「ｐａｔｈ／ｅｌｏｃ／ｔｅｘｔ（）」、「ｐａｔｈ／ｂｌａｎｋ／ｔｅｘｔ（）」、「ｐａｔｈ／ｃｏｍｍｅｎｔ／ｔｅｘｔ（）」が抽出されている。
【００４８】
（５）ステップＳ１０５
第１の同一要素値判定部１０３は、指標２２の各要素毎に以下の処理を実行する。
【００４９】
（６）ステップＳ１０６
第１の同一要素値判定部１０３は、特定要素の組２１の各要素毎に以下の処理を実行する。
【００５０】
（７）ステップＳ１０７
第１の同一要素値判定部１０３は、特定要素が繰り返される位置と特定属性３１を基に、文書構造が不明なプログラム実行結果３から当該要素に紐付いた情報が格納された部分を識別する。
【００５１】
（８）ステップＳ１０８
第１の同一要素値判定部１０３は、指標３２の各要素毎に以下の処理を実行する。
【００５２】
（９）ステップＳ１０９
第１の同一要素値判定部１０３は、指標２２の指標値と指標３２の指標値の差分の２乗１０を計算する。
【００５３】
（１０）ステップＳ１１０
第１の同一要素値判定部１０３は、差分の２乗１０を指標２２の要素毎に足し合わせる。
【００５４】
（１１）ステップＳ１１１
第１の同一要素値判定部１０３は、一番小さな差分の２乗１０に対応した指標２２と指標３２を対応付けて、構造化文書変換ルール５に追加する。
【００５５】
以上の動作により、正確に値の一致する、図５の「ｌｏｃ」タグの表わす指標と図４の「ｔｌｏｃ」タグの表わす指標、図５の「ｂｌａｎｋ」タグの表わす指標と図４の「ｂｌｏｃ」タグの表わす指標が、それぞれ対応付けられる。
【００５６】
また、図５の「ｃｏｍｍｅｎｔ」タグの表わす指標と図４の「ｃｌｏｃ」タグの表わす指標も値が近似しているということで対応付けることができる。
【００５７】
本発明の第１実施形態を利用することにより、表示プログラムを変更することなく、より性能の高いプログラム、例えばメトリクス計測プログラムを使用することができるようになる。その理由は、新しく使用するメトリクスプログラムで計測した結果である文書構造が不明なプログラム実行結果３と、これまで利用していたメトリクスプログラムで計測した結果である文書構造が既知のプログラム実行結果１を同一性判定装置１００の入力として渡して、標準計測結果変換ルーツ８を出力することにより、容易に新しく使用するメトリクスプログラムの結果構造を判定することができるからである。
【００５８】
＜第２実施形態＞
以下に、本発明の第２実施形態について説明する。
図１３に示すように、本発明の第２実施形態の同一性判定装置１００は、第１の標準構造化文書変換部１０１と、同一項目判定要素４と、同一項目判定部１０２と、第１の同一要素値判定部１０３と、第２の標準構造化文書変換部１０４を含む。
【００５９】
第１の標準構造化文書変換部１０１は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果１を、文書構造が既知のプログラム実行結果の標準構造化文書２に変換する。
【００６０】
定義済みの構造化文書変換ルールとは、構造化文書変換ルール５と同等な変換ルールを指している。また、上記の変換の手段は、この後で説明する第２の標準構造化文書変換部１０４と同等の処理を行なう手段のことである。
【００６１】
同一項目判定部１０２は、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された特定の要素（例えば、要素「ファイル名」）の情報を表わす同一項目判定要素４を基にして、文書構造が不明なプログラム実行結果３に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果３は、文書構造が既知のプログラム実行結果１と同一の対象に対して、新規のプログラムを実行した結果である。
【００６２】
ファイル名の表記にゆれがある可能性がある場合、特開２００４−１０２９２６号公報（特許文献１）の規範化処理（Ｓ１０２）を利用して、事前に表記をそろえてから同一項目判定部１０２を実施する。
【００６３】
第１の同一要素値判定部１０３は、文書構造が不明なプログラム実行結果３に記述された特定の構造要素単位の指標と、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された当該構造要素単位の指標を比較して、同じ指標値として記述された指標の対応付けを行なう。
【００６４】
第１の同一要素値判定部１０３は、指標の対応付けにおいて、同一項目判定部１０２で同一と判定された要素を除いて、判定処理を実行する。
【００６５】
また、第１の同一要素値判定部１０３は、図５の文書構造が不明なプログラム実行結果３の構造を図４の文書構造が既知のプログラム実行結果の標準構造化文書２の構造に変換するルールを、構造化文書変換ルール５として出力する。
【００６６】
第２の標準構造化文書変換部１０４は、構造化文書変換ルール５に従って、文書構造が不明なプログラム実行結果３を、文書構造が不明なプログラム実行結果の標準構造化文書６に変換する。なお、文書構造が不明なプログラム実行結果の標準構造化文書６は、文書構造が既知のプログラム実行結果の標準構造化文書２と同じ構造に従った標準構造化文書である。
【００６７】
本発明の第２実施形態の同一性判定装置１００は、第２の標準構造化文書変換部１０４を有することで、構造変換装置として機能する。
【００６８】
図１４に、文書構造が不明なプログラム実行結果の標準構造化文書６の例を記述している。
【００６９】
図１４は、図３に示すＸＭＬ文書を「文書構造が既知のプログラム実行結果１」とし、図２に示すＸＭＬ文書を「文書構造が既知のプログラム実行結果の標準構造化文書２」として、標準計測結果変換ルール５を基に、図３の「文書構造が既知のプログラム実行結果１」を標準形式に変換したものである。
【００７０】
本発明の第２実施形態を利用することにより、計測するメトリクスプログラムの交換が容易になる。その理由は、第２の標準構造化文書変換部１０４によって、文書構造が不明なプログラム実行結果３を、文書構造が不明なプログラム実行結果の標準構造化文書６に自動で変換することができるからである。
【００７１】
＜第３実施形態＞
以下に、本発明の第３実施形態について説明する。
図１５に示すように、本発明の第３実施形態の同一性判定装置１００は、第１の標準構造化文書変換部１０１と、同一項目判定要素４と、同一項目判定部１０２と、第２の同一要素値判定部１０５と、類義語集７を含む。
【００７２】
第１の標準構造化文書変換部１０１は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果１を、文書構造が既知のプログラム実行結果の標準構造化文書２に変換する。
【００７３】
定義済みの構造化文書変換ルールとは、構造化文書変換ルール５と同等な変換ルールを指している。また、上記の変換の手段は、第２の標準構造化文書変換部１０４と同等の処理を行なう手段のことである。
【００７４】
同一項目判定部１０２は、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された特定の要素（例えば、要素「ファイル名」）の情報を表わす同一項目判定要素４を基にして、文書構造が不明なプログラム実行結果３に記述された当該要素単位に記述された要素の固まりを識別する。なお、文書構造が不明なプログラム実行結果３は、文書構造が既知のプログラム実行結果１と同一の対象に対して新規のプログラムを実行した結果である。
【００７５】
ファイル名の表記にゆれがある可能性がある場合、特開２００４−１０２９２６号公報（特許文献１）の規範化処理（Ｓ１０２）を利用して、事前に表記をそろえてから同一項目判定部１０２を実施する。
【００７６】
第２の同一要素値判定部１０５は、類義語集７を参照して、類義語の組に含まれる文字列をタグ名、又は属性名として参照して、文書構造が不明なプログラム実行結果３に記述された指標３２と、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された指標２２の対応付けを行なう。
【００７７】
また、第２の同一要素値判定部１０５は、同一の名称のタグ名、又は要素名があった場合、それらの情報の対応付けも行なう。
【００７８】
第２の同一要素値判定部１０５は、該当するタグ、又は属性が存在しない指標に対しては、発明の第１実施形態の第１の同一要素値判定部１０３で記述された方法を用いて、文書構造が不明なプログラム実行結果３に記述された指標３２と、文書構造が既知のプログラム実行結果の標準構造化文書２に記述された指標２２を比較して、同じ指標値として記述された値の対応付けを行ない、そのルールを構造化文書変換ルール５として出力する。
【００７９】
図１６に、類義語集７の例を記述している。
【００８０】
図１６に示す類義語集７は、２つ以上の文字列の組である類義語を集めたものからなる。図１６に示す類義語集７では、文字列「ｔｌｏｃ」と、文字列「ｌｏｃ」と、文字列「ｔｏｔａｌ」を類義語としている。また、文字列「ｃｌｏｃ」と、文字列「ｃｏｍｍｅｎｔ」を類義語としている。また、文字列「ｂｌｏｃ」と、文字列「ｂｌａｎｋ」を類義語としている。
【００８１】
類義語集７を利用したマッチング検索により、まず、図５の「ｌｏｃ」タグの表わす指標と図４の「ｔｌｏｃ」タグの表わす指標が対応付けられる。また、図５の「ｃｏｍｍｅｎｔ」タグの表わす指標と図４の「ｃｌｏｃ」タグの表わす指標が対応付けられる。また、図５の「ｂｌａｎｋ」タグの表わす指標と図４の「ｂｌｏｃ」タグの表わす指標が対応付けられる。
【００８２】
本発明の第３実施形態を利用することにより、文書構造が不明なプログラム実行結果３の要素同士のマッチングをとる精度を高めることができるようになる。その理由は、第２の同一要素値判定部１０５において、類義語集８を参照することにより、指標値の近似だけではなく、指標の名称によってもマッチングをとることができるからである。
【００８３】
すなわち、第１実施形態においては、値が近似しているということで対応付けていた、図５の「ｃｏｍｍｅｎｔ」タグの表わす指標と、図４の「ｃｌｏｃ」タグの表わす指標を、要素の名称によって対応付けることにより、対応付けの精度が高められたことになる。
【００８４】
＜本発明の特徴＞
以上のように、本発明の同一性判定装置は、定義が不明な構造化文書が保持する値と、定義が既知の構造化文書が保持する値との同一性及び近似性を判定し、定義が不明な構造化文書の各要素と、定義が既知の構造化文書の各要素を対応づけることで、定義が不明な構造化文書の構造を判定することを特徴とする。
【００８５】
本発明においては、あるプログラムを実行することにより出力された、文書構造が不明なプログラム実行結果と、このプログラムと同様の目的を持つプログラムを実行することにより出力された文書構造が既知のプログラム実行結果とを、同一性判定装置の入力として、両者の各構造要素及び各要素値の対応付けを行ない、構造化文書変換ルールを出力する。
【００８６】
標準構造化文書変換手段は、定義済みの構造化文書変換ルールを基に、文書構造が既知のプログラム実行結果を文書構造が既知のプログラム実行結果の標準構造化文書に変換する。
【００８７】
同一項目判定手段は、文書構造が既知のプログラム実行結果の標準構造化文書に記述された特定の構造要素（例えば、要素「ファイル名」）を表わす同一項目判定要素を基にして、文書構造が不明なプログラム実行結果に記述された同一名称、又は近似名称の要素を、同一情報の固まりとして判別する。
【００８８】
同一要素値判定手段は、文書構造が不明なプログラム実行結果に記述された要素の値と、文書構造が既知のプログラム実行結果の標準構造化文書に記述された要素の値を比較して、同じ意味を持つ値であるか判定し、要素の対応付けを行ない、そのルールを構造化文書変換ルールとして出力する。
【００８９】
同一要素値判定手段における、同じ意味を持つ値の判定には、値が文字列で正確に同一であることを判定する場合、特開２００４−１０２９２６号公報（特許文献１）の段落００３０で記載された一方向関数等を利用することができる。
【００９０】
本発明を利用すれば、プログラム開発のコーディングフェーズにおける進捗管理データや品質管理データの利用に際して、異なるプログラムで計測した結果を容易に比較することができるため、利用するメトリクス計測プログラムを特定することなく、また、容易に交換することもできるようになる。
【００９１】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００９２】
１…  文書構造が既知のプログラム実行結果
２…  文書構造が既知のプログラム実行結果の標準構造化文書（ＸＭＬ形式の例）
２１…  文書構造が既知のプログラム実行結果の標準構造化文書の特定要素の組
２２…  文書構造が既知のプログラム実行結果の標準構造化文書のそれぞれの特定要素に紐付いた指標
３…  文書構造が不明なプログラム実行結果（ＸＭＬ形式の例）
３１…  文書構造が不明なプログラム実行結果の特定要素が繰り返される位置と特定属性
３２…  文書構造が不明なプログラム実行結果の特定要素に紐付いた指標
４…  同一項目判定要素（ＸＭＬ形式の例）
５…  構造化文書変換ルール
６…  文書構造が不明なプログラム実行結果の標準構造化文書
７…  類義語集
１０…  指標値の差分の２乗
１００…  同一性判定装置、
１０１…  第１の標準構造化文書変換部
１０２…  同一項目判定部
１０３…  第１の同一要素値判定部
１０４…  第２の標準構造化文書変換部
１０５…  第２の同一要素値判定部
【図１】
2010211567.tif 000003
【図２】
2010211567.tif 000004
【図３】
2010211567.tif 000005
【図４】
2010211567.tif 000006
【図５】
2010211567.tif 000007
【図６】
2010211567.tif 000008
【図７】
2010211567.tif 000009
【図８】
2010211567.tif 000010
【図９】
2010211567.tif 000011
【図１０】
2010211567.tif 000012
【図１１】
2010211567.tif 000013
【図１２】
2010211567.tif 000014
【図１３】
2010211567.tif 000015
【図１４】
2010211567.tif 000016
【図１５】
2010211567.tif 000017
【図１６】
2010211567.tif 000018