(57)【要約】【課題】データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることを可能とする。【解決手段】設計情報解析処理部３３は、設計情報ファイル２２に格納されている第１のデータ構造設計情報に含まれる第１の説明情報を解析する。対応項目検索処理部３４は、設計情報ファイル２２に格納されている第２のデータ構造設計情報に含まれる第２の説明情報を解析する。対応項目検索処理部３４は、第１の説明情報の解析結果および第２の説明情報の解析結果に基づいて、第１のデータ項目と第２のデータ項目との類似度を算出する。対応付処理部３２は、類似度に基づいて設計情報ファイル２２に格納されている第１のデータ構造設計情報に含まれる第１のデータ項目名および第２のデータ構造設計情報に含まれる第２のデータ項目名を対応づけて含む対応付情報を生成する。【選択図】図２
2011028379.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ構造を構成する第１のデータ項目の名称を示す第１のデータ項目名および当該第１のデータ項目の内容を示す第１の説明情報を含む第１のデータ構造設計情報と前記第１のデータ構造とは異なる第２のデータ構造を構成する第２のデータ項目の名称を示す第２のデータ項目名および当該第２のデータ項目の内容を示す第２の説明情報を含む第２のデータ構造設計情報とを格納する設計情報格納手段を有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるデータ構造変換装置において、前記コンピュータによって実行されるデータ構造変換プログラムであって、
前記コンピュータに、
前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１の説明情報を解析するステップと、
前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２の説明情報を解析するステップと、
前記第１の説明情報の解析結果および前記第２の説明情報の解析結果に基づいて、前記第１のデータ項目と前記第２のデータ項目との類似度を算出するステップと、
前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１のデータ項目名および前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２のデータ項目名を対応づけて含む対応付情報を生成するステップと
を実行させるためのデータ構造変換プログラム。
【請求項２】
前記第１の説明情報は、第１の文字列を含み、
前記第２の説明情報は、第２の文字列を含み、
前記第１の説明情報を解析するステップにおいては、前記第１の説明情報を解析することによって、当該第１の説明情報に含まれる第１の文字列を取得し、
前記第２の説明情報を解析するステップにおいては、前記第２の説明情報を解析することによって、当該第２の説明情報に含まれる第２の文字列を取得し、
前記類似度を算出するステップは、
前記取得された第１の文字列および前記取得された第２の文字列が一致する場合、予め定められたスコアを取得するステップと、
前記取得されたスコアに基づいて、前記類似度を算出するステップと
を含む
ことを特徴とする請求項１記載のデータ構造変換プログラム。
【請求項３】
前記第１の説明情報は、第１の文字列を含み、
前記第２の説明情報は、第２の文字列を含み、
前記第１の説明情報を解析するステップにおいては、前記第１の説明情報を解析することによって、当該第１の説明情報に含まれる第１の文字列および当該第１の文字列の意味を表す意味クラスを取得し、
前記第２の説明情報を解析するステップにおいては、前記第２の説明情報を解析することによって、当該第２の説明情報に含まれる第２の文字列および当該第２の文字列の意味を表す意味クラスを取得し、
前記類似度を算出するステップは、
前記取得された第１の文字列および前記取得された第２の文字列が一致する場合、予め定められた第１のスコアを取得するステップと、
前記取得された第１の文字列の意味を表す意味クラスおよび前記取得された第２の文字列の意味を表す意味クラスが一致する場合、予め定められた第２のスコアを取得するステップと、
前記取得された第１のスコアおよび第２のスコアに基づいて、前記類似度を算出するステップと
を含む
ことを特徴とする請求項１記載のデータ構造変換プログラム。
【請求項４】
前記第１の説明情報は、第１の文字列を含み、
前記第２の説明情報は、第２の文字列を含み、
前記第１の説明情報を解析するステップにおいては、前記第１の説明情報を解析することによって、当該第１の説明情報に含まれる第１の文字列、当該第１の文字列の意味を表す意味クラスおよび当該第１の文字列の品詞を取得し、
前記第２の説明情報を解析するステップにおいては、前記第２の説明情報を解析することによって、当該第２の説明情報に含まれる第２の文字列、当該第２の文字列の意味を表す意味クラスおよび当該第２の文字列の品詞を取得し、
前記類似度を算出するステップは、
前記取得された第１の文字列および前記取得された第２の文字列が一致する場合、予め定められた第１のスコアを取得するステップと、
前記取得された第１の文字列の意味を表す意味クラスおよび前記取得された第２の文字列の意味を表す意味クラスが一致する場合、予め定められた第２のスコアを取得するステップと、
前記取得された第１の文字列の品詞および前記取得された第２の文字列の品詞が一致する場合、予め定められた第３のスコアを取得するステップと、
前記取得された第１のスコア、第２のスコアおよび第３のスコアに基づいて、前記類似度を算出するステップと
を含む
ことを特徴とする請求項１記載のデータ構造変換プログラム。
【請求項５】
第１のデータ構造を構成する第１のデータ項目の名称を示す第１のデータ項目名および当該第１のデータ項目の内容を示す第１の説明情報を含む第１のデータ構造設計情報と、前記第１のデータ構造とは異なる第２のデータ構造を構成する第２のデータ項目の名称を示す第２のデータ項目名および当該第２のデータ項目の内容を示す第２の説明情報を含む第２のデータ構造設計情報とを格納する設計情報格納手段と、
前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１の説明情報を解析する第１の解析手段と、
前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２の説明情報を解析する第２の解析手段と、
前記第１の解析手段による前記第１の説明情報の解析結果および前記第２の解析手段による前記第２の説明情報の解析結果に基づいて、前記第１のデータ項目と前記第２のデータ項目との類似度を算出する算出手段と、
前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１のデータ項目名および前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２のデータ項目名を対応づけて含む対応付情報を生成する生成手段と
を具備することを特徴とするデータ構造変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるデータ構造間のマッピングを行うためのデータ構造変換プログラムおよびデータ構造変換装置に関する。
【背景技術】
【０００２】
一般的に、例えばＷｅｂサービスのＡＰＩ（Application Program Interface）またはＸＭＬ（eXtensible Markup Language）−ＤＢ（以下、単にサーバと表記）は、ＸＭＬデータの授受を行うインタフェースを有し、クライアント（端末）に対してデータアクセスの手段を提供する。
【０００３】
例えばJava（登録商標）アプリケーションのようなクライアントは、サーバのインタフェースを経由してＸＭＬデータの登録または取得を行う。
【０００４】
しかしながら、クライアントが処理可能なデータ構造とサーバにおいて処理可能なデータ構造とが異なる場合がある。このため、両者の変換、つまり、クライアント側のデータ構造およびサーバ側のデータ構造を互いに変換する仕組みが必要となる。
【０００５】
近年では、クライアント側で処理可能なデータ構造とサーバ側が提供するデータ構造とのマッピング（対応づけ）を自動的に行うことで、機械的に変換を行う方法が採用されている。
【０００６】
このような自動的なマッピングに関する技術として、例えばスキーマが異なる複数の構造化文書（ＸＭＬデータ）間のスキーマを効率的に変換するための変換ルールを作成する技術（以下、第１の先行技術と表記）が開示されている（例えば、特許文献１を参照）。この第１の先行技術によれば、例えばＸＭＬタグ名の一致、タグ名自体の同義語によるマッピングが行われる。
【０００７】
また、例えば異なるデータスキーマ間で項目名の対応づけを行う際に、関係はあるが区別すべき語彙を抽出し、意味のある弁別関係を構築することでデータ項目名の対応づけの候補を高精度で絞り込むことができる技術（以下、第２の先行技術と表記）が開示されている（例えば、特許文献２を参照）。この第２の先行技術によれば、ノード間類似度、グループ間類似度によるマッピングが行われる。また、第２の先行技術では、ノード間距離（階層構造上の距離）が用いられる。
【０００８】
また、例えば第１の構造化文書の有する第１の木構造を構成する各ノードと第２の構造化文書の有する第２の木構造を構成する各ノードとの間の対応づけをより効率良くできるようにする技術（以下、第３の先行技術と表記）が開示されている（例えば、特許文献３と表記）。この第３の先行技術によれば、ＸＭＬタグ名の類似度をもとに構築されたオントロジが用いられる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−５８５２３号公報
【特許文献２】特開２００４−３４８３４１号公報
【特許文献３】特開２００７−１７９１４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記したような技術は、データ構造の項目名（つまり、ＸＭＬタグ名またはクラスの属性名）の一致または類似により自動的にマッピングを行うものである。
【００１１】
したがって、データ構造の項目名が例えばname＝Nameのような完全一致または部分一致の場合、または、mailAddress＝Emailのような同義語／類義語辞書において一致する場合であれば、データ構造（を構成するデータ項目）のマッピングが可能である。
【００１２】
しかしながら、上記したような技術においては、データ構造の項目名が例えば“fn”または“mbx”のような同義語／類義語辞書にはない略語または記号の場合には、当該データ構造の項目名からマッピングを行うことは困難である。
【００１３】
そこで、本発明の目的は、データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることが可能なデータ構造変換プログラムおよびデータ構造変換装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の１つの態様によれば、第１のデータ構造を構成する第１のデータ項目の名称を示す第１のデータ項目名および当該第１のデータ項目の内容を示す第１の説明情報を含む第１のデータ構造設計情報と前記第１のデータ構造とは異なる第２のデータ構造を構成する第２のデータ項目の名称を示す第２のデータ項目名および当該第２のデータ項目の内容を示す第２の説明情報を含む第２のデータ構造設計情報とを格納する設計情報格納手段を有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるデータ構造変換装置において、前記コンピュータによって実行されるデータ構造変換プログラムであって、前記コンピュータに、前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１の説明情報を解析するステップと、前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２の説明情報を解析するステップと、前記第１の説明情報の解析結果および前記第２の説明情報の解析結果に基づいて、前記第１のデータ項目と前記第２のデータ項目との類似度を算出するステップと、前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第１のデータ構造設計情報に含まれる第１のデータ項目名および前記設計情報格納手段に格納されている第２のデータ構造設計情報に含まれる第２のデータ項目名を対応づけて含む対応付情報を生成するステップとを実行させるためのデータ構造変換プログラムが提供される。
【発明の効果】
【００１５】
本発明は、データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることを可能とする。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るデータ構造変換装置のハードウェア構成を示すブロック図。
【図２】図１に示すデータ構造変換装置３０の主として機能構成を示すブロック図。
【図３】図２に示す設計情報ファイル２２に格納されているデータ構造設計情報の一例を示す図。
【図４】図２に示す設計情報一次格納部２３のデータ構造の一例を示す図。
【図５】解析辞書格納部２４に格納される意味クラス解析辞書の一例を示す図。
【図６】図２に示す対応付情報ファイル２５に出力された対応付情報のデータ構造の一例を示す図。
【図７】本実施形態に係るデータ構造変換装置３０の処理手順を示すフローチャート。
【図８】Ｊａｖａクラスの設計書の一例を示す図。
【図９】ＸＭＬスキーマの設計書の一例を示す図。
【図１０】図８に示すＪａｖａクラスの設計書から生成されたデータ構造設計情報の一例を示す図。
【図１１】図９に示すＸＭＬスキーマの設計書から生成されたデータ構造設計情報の一例を示す図。
【図１２】図１０に示す第１のデータ構造設計情報に含まれる説明情報の解析結果が格納された設計情報一次格納部２３のデータ構造の一例を示す図。
【図１３】品詞を示す番号の一覧を示す図。
【図１４】第２の説明情報「住所を表すタグ。番地を含む。」の解析結果を示す図。
【図１５】第２の説明情報「氏名を表すタグ。姓と名の間は空けない。」の解析結果を示す図。
【図１６】第２の説明情報「電子メールのアドレスを表すタグ。」の解析結果を示す図。
【図１７】図１０に示す第１のデータ構造設計情報および図１１に示す第２のデータ構造設計情報に対する処理により対応付情報ファイル２５に出力された対応付情報のデータ構造の一例を示す図。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施形態について説明する。
【００１８】
図１は、本実施形態に係るデータ構造変換装置のハードウェア構成を示すブロック図である。図１に示すように、コンピュータ１０は、例えばハードディスクドライブ（ＨＤＤ：Hard Disk Drive）のような外部記憶装置２０と接続されている。この外部記憶装置２０は、コンピュータ１０によって実行されるプログラム２１を格納する。コンピュータ１０および外部記憶装置２０は、データ構造変換装置３０を構成する。
【００１９】
図２は、図１に示すデータ構造変換装置３０の主として機能構成を示すブロック図である。
【００２０】
図２に示すように、データ変換装置３０は、設計情報読込処理部３１、対応付処理部３２、設計情報解析処理部３３、対応項目検索処理部３４、形態素／意味クラス解析処理部３５および対応付情報出力部３６を含む。本実施形態において、これらの各部３１〜３６は、図１に示すコンピュータ１０が外部記憶装置２０に格納されているプログラム（データ構造変換プログラム）２１を実行することにより実現されるものとする。このプログラム２１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム２１が例えばネットワークを介してコンピュータ１０にダウンロードされても構わない。
【００２１】
また、データ構造変換装置３０は、設計情報ファイル２２、設計情報一次格納部２３、解析辞書格納部２４および対応付情報ファイル２５を含む。本実施形態において、これらの設計情報ファイル２２、設計情報一次格納部２３、解析辞書格納部２４および対応付情報ファイル２５は、例えば外部記憶装置２０に格納される。
【００２２】
設計情報ファイル２２には、例えばＪａｖａアプリケーションのようなクライアントが処理可能なデータ構造（第１のデータ構造）を示すデータ構造設計情報（第１のデータ構造設計情報）およびサーバ（例えばＷｅｂサービスのＡＰＩまたはＸＭＬ−ＤＢ）が処理可能なデータ構造（第２のデータ構造）を示すデータ構造設計情報（第２のデータ構造設計情報）が予め格納される。なお、第１のデータ構造および第２のデータ構造は、互いに異なるデータ構造である。また、第１のデータ構造および第２のデータ構造は、それぞれ少なくとも１つのデータ項目から構成される。
【００２３】
設計情報ファイル２２に格納されている第１のデータ構造設計情報は、第１のデータ構造を構成するデータ項目（第１のデータ項目）の名称を示すデータ項目名（第１のデータ項目名）および当該第１のデータ項目の内容を示す説明情報（第１の説明情報）を含む。第１のデータ項目名および第１の説明情報は、文字列（第１の文字列）を含む。
【００２４】
また、設計情報ファイル２２に格納されている第２のデータ構造設計情報は、第２のデータ構造を構成する第２のデータ項目の名称を示す第２のデータ項目名および当該第２のデータ項目の内容を示す第２の説明情報を含む。第２のデータ項目名および第２の説明情報は、文字列（第２の文字列）を含む。
【００２５】
設計情報読込処理部３１は、設計情報ファイル２２に格納されているデータ構造設計情報（第１および第２のデータ構造設計情報）を、当該設計情報ファイル２２からデータ構造変換装置３０を構成するコンピュータ１０のメモリ（図示せず）上に読み込む処理を実行する。
【００２６】
対応付処理部３２は、設計情報読込処理部３１によって読み込まれた第１および第２のデータ構造設計情報のうちの一方（例えば、第１のデータ構造設計情報）を設計情報解析処理部３３に、他方（例えば、第２のデータ構造設計情報）を対応項目検索処理部３４に渡す。
【００２７】
また、対応付処理部３２は、後述する対応項目検索処理部３４による処理結果に基づいて、第１のデータ構造を構成する第１のデータ項目および第２のデータ構造を構成する第２のデータ項目を紐付ける処理を実行する。これにより、対応付処理部３２は、紐付けられた第１および第２のデータ項目（の名称を示す第１および第２のデータ項目名）を対応づけて含む対応付情報を、設計情報読込処理部３１によって読み込まれた第１および第２のデータ構造設計情報に基づいて生成する。この対応付情報は、上記したクライアントが処理可能なデータ構造（第１のデータ構造）およびサーバが処理可能なデータ構造（第２のデータ構造）において、対応するデータ項目（第１および第２のデータ項目）が紐付けられた情報である。
【００２８】
設計情報解析処理部３３は、対応付処理部３２から渡されたデータ構造設計情報（例えば、第１のデータ構造設計情報）に含まれる第１の説明情報を、形態素／意味クラス解析処理部３５を用いて解析する。設計情報解析処理部３３は、対応付処理部３２から渡された第１のデータ構造設計情報に含まれる第１の説明情報の解析結果を設計情報一時格納部２３に格納する。
【００２９】
対応項目検索処理部３４は、対応付処理部３２から渡されたデータ構造設計情報（例えば、第２のデータ構造設計情報）に含まれる第２の説明情報を、形態素／意味クラス解析処理部３５を用いて解析する。対応項目検索処理部３４は、対応付処理部３２から渡された第２のデータ構造設計情報に含まれる第２の説明情報の解析結果および設計情報解析処理部３３によって設計情報一次格納部２３に格納された解析結果（第１の説明情報の解析結果）に基づいて、当該第２の説明情報に対応する第２のデータ項目（当該第２の説明情報によって内容が示される第２のデータ項目）および当該第１の説明情報に対応する第１のデータ項目（当該第１の説明情報によって内容が示される第１のデータ項目）の類似度を算出する。
【００３０】
対応項目検索処理部３４は、算出された類似度に基づいて、紐付けるべき（対応づけるべき）第１のデータ項目および第２のデータ項目の組を対応付処理部３２に通知する。
【００３１】
形態素／意味クラス解析処理部３５は、第１および第２のデータ構造設計情報に含まれる第１および第２の説明情報を、解析辞書格納部２４を参照して解析する。これにより、形態素／意味クラス解析処理部３５は、第１および第２の説明情報を、当該第１および第２の説明情報に含まれる文字列（単語）に分解し、当該文字列の品詞または当該文字列の意味を表す意味クラスを付与（取得）する。
【００３２】
解析辞書格納部２４には、形態素解析処理に用いられる形態素解析辞書および意味クラス解析に用いられる意味クラス解析辞書が格納される。なお、形態素解析により第１および第２の説明情報に含まれる文字列の品詞が取得され、意味クラス解析により第１および第２の説明情報に含まれる文字列の意味を表す意味クラスが取得される。
【００３３】
対応付情報出力部３６は、対応付処理部３２によって生成された対応付情報を、例えば機械処理可能な形式で対応付情報ファイル２５に出力（格納）する処理を実行する。
【００３４】
図３は、図２に示す設計情報ファイル２２に格納されているデータ構造設計情報（第１および第２のデータ構造設計情報）の一例を示す。なお、設計情報ファイル２２に格納されている第１および第２のデータ構造設計情報の形式（構造）は同一であるものとする。
【００３５】
図３に示すように、データ構造設計情報には、当該データ構造設計情報によって示されるデータ構造を構成するデータ項目毎に、番号、データ項目名および説明情報が含まれる。番号は、データ構造を構成するデータ項目を識別するための識別子である。データ項目名は、データ構造を構成するデータ項目の名称を示す。説明情報は、データ構造を構成するデータ項目の内容を示す。なお、データ項目名および説明情報には、文字列が含まれる。
【００３６】
図３に示す例では、データ構造設計情報には、番号「１」、データ項目名「データ項目名１」および説明情報「データ項目の説明１」が含まれている。これによれば、データ構造設計情報によって示されるデータ構造を構成するデータ項目のうち、番号「１」によって識別されるデータ項目の名称は「データ項目名１」であり、当該データ項目は、「データ項目の説明１」によって示される内容であることが示されている。
【００３７】
ここでは、データ構造設計情報によって示されるデータ構造を構成するデータ項目のうち、番号「１」によって識別されるデータ項目について説明したが、他のデータ項目についても同様であるため、その詳しい説明を省略する。
【００３８】
図４は、図２に示す設計情報一次格納部２３のデータ構造の一例を示す。図４に示すように、設計情報一次格納部２３には、データ構造設計情報（例えば、第１のデータ構造設計情報）によって示されるデータ構造を構成するデータ項目毎に、当該データ項目を識別するための番号、当該データ項目名および当該データ項目の内容を示す説明情報の解析結果が格納される。
【００３９】
この説明情報の解析結果は、当該説明情報に対して形態素解析および意味クラス解析が実行された結果である。なお、この解析処理は、設計情報解析処理部３３（形態素／意味クラス解析処理部３５）によって実行される。
【００４０】
なお、形態素解析によれば、説明情報に含まれる文字列（単語）に対して当該文字列の品詞が付与される。意味クラス解析によれば、説明情報に含まれる文字列（単語）に対して当該文字列の意味を表す意味クラスが付与される。また、形態素解析によれば説明情報に含まれる文字列の全てに対して当該文字列の品詞が付与されるが、意味クラス解析によれば説明情報に含まれる文字列の全てに対して意味クラスが付与されるとは限らない。
【００４１】
図４に示す例では、設計情報一次格納部２３には、番号「１」、データ項目名「データ項目名１」および説明情報の解析結果「単語１（品詞１、意味クラス１）、単語２（品詞２）、…」が格納されている。これによれば、番号「１」によって識別されるデータ項目（データ項目名が「データ項目名１」であるデータ項目）の内容を示す説明情報には文字列として「単語１」および「単語２」が含まれており、当該「単語１」には「品詞１」および「意味クラス１」が付与されており、当該「単語２」には「品詞２」が付与されていることが示されている。
【００４２】
また、設計情報一次格納部２３には、番号「２」、データ項目名「データ項目名２」および説明情報の解析結果「単語１（品詞１、意味クラス１）、単語３（品詞３）、…」が格納されている。
【００４３】
更に、設計情報一次格納部２３には、番号「３」、データ項目名「データ項目名３」および説明情報の解析結果「単語４（品詞１、意味クラス１）、単語５（品詞５）、…」が格納されている。
【００４４】
図５は、解析辞書格納部２４に格納される意味クラス解析辞書の一例を示す。図５に示すように、意味クラス解析辞書においては、文字列（単語）に対して当該文字列の意味を表す意味クラスが対応づけられている。
【００４５】
図５に示す例では、意味クラス解析辞書においては、文字列「参加者」、「名」、「氏名」および「姓」に対応づけて人を表す意味クラス「Person（人）」が対応づけられている。これによれば、上記した説明情報に例えば「参加者」の文字列が含まれている場合には、当該「参加者」には意味クラス解析により人を表す意味クラス「Person」が付与される。
【００４６】
また、意味クラス解析辞書においては、文字列「住所」、「番地」および「丁目」に対応付けて場所を表す意味クラス「Geo（場所）」が対応づけられている。これによれば、上記した説明情報に例えば「住所」の文字列が含まれている場合には、当該「住所」には意味クラス解析により場所を表す意味クラス「Geo」が付与される。
【００４７】
図６は、図２に示す対応付情報ファイル２５に出力（格納）された対応付情報のデータ構造の一例を示す。なお、対応付情報は、上記したクライアントが処理可能なデータ構造（第１のデータ構造）およびサーバが処理可能なデー構造（第２のデータ構造）において、対応するデータ項目（第１および第２のデータ項目）が紐付けられた情報である。
【００４８】
図６に示すように、対応付情報には、対応するデータ項目の組毎に、番号、クライアントデータ項目（第１のデータ構造を構成するデータ項目）およびサーバデータ項目（第２のデータ構造を構成するデータ項目）が含まれる。番号は、対応するデータ項目の組を識別するための識別子である。クライアントデータ項目は、第１のデータ構造を構成するデータ項目のデータ項目名を示す。サーバデータ項目は、第２のデータ構造を構成するデータ項目のデータ項目名を示す。
【００４９】
図６に示す例では、対応付情報には、番号「１」、クライアントデータ項目「データ項目名１」およびサーバデータ項目「データ項目名３」が含まれている。これによれば、第１のデータ構造を構成するデータ項目のうち「データ項目名１」のデータ項目および第２のデータ構造を構成するデータ項目のうち「データ項目名３」のデータ項目が紐付けられている（対応づけられている）ことが示される。
【００５０】
また、対応付情報には、番号「２」、クライアントデータ項目「データ項目名２」およびサーバデータ項目「（対応なし）」が含まれている。これによれば、第１のデータ構造を構成するデータ項目のうち「データ項目名２」のデータ項目には第２のデータ構造を構成するデータ項目が紐付けられていない（つまり、対応するデータ項目がない）ことが示される。このように、データ項目（の内容を示す説明情報）によっては、互いに紐付けられない（対応づけられない）場合がある。
【００５１】
また、対応付情報には、番号「３」、クライアントデータ項目「データ項目名３」およびサーバデータ項目「データ項目名２」が含まれている。これによれば、第１のデータ構造を構成するデータ項目のうち「データ項目名３」のデータ項目および第２のデータ構造を構成するデータ項目のうち「データ項目名２」のデータ項目が紐付けられていることが示される。
【００５２】
次に、図７のフローチャートを参照して、本実施形態に係るデータ構造変換装置３０の処理手順について説明する。なお、設計情報ファイル２２には、クライアントが処理可能なデータ構造（第１のデータ構造）を示すデータ構造設計情報（第１のデータ構造設計情報）およびサーバが処理可能なデータ構造（第２のデータ構造）を示すデータ構造設計情報（第２のデータ構造設計情報）が予め格納されているものとする。
【００５３】
第１のデータ構造設計情報には、第１のデータ構造を構成する第１のデータ項目を識別するための番号、当該第１のデータ項目の名称を示す第１のデータ項目名および当該第１のデータ項目の内容を示す第１の説明情報が対応づけて含まれる。同様に、第２のデータ構造設計情報には、第２のデータ構造を構成する第２のデータ項目を識別するための番号、当該第２のデータ項目の名称を示す第２のデータ項目名および当該第２のデータ項目の内容を示す第２の説明情報が対応づけて含まれる。
【００５４】
まず、設計情報読込処理部３１は、設計情報ファイル２２に格納されている２つのデータ構造設計情報（第１および第２のデータ構造設計情報）を、当該設計情報ファイル２２からデータ構造変換装置３０（を構成するコンピュータ１０）のメモリ上に読み込む（ステップＳ１）。
【００５５】
対応付処理部３２は、設計情報読込処理部３１によって読み込まれた２つのデータ構造設計情報のうちの一方のデータ構造設計情報を設計情報解析処理部３３に渡す。
【００５６】
ここでは、設計情報読込処理部３１によって読み込まれた２つのデータ構造設計情報のうち、第１のデータ構造設計情報が設計情報解析処理部３３に渡されたものとする。以下、第１のデータ構造設計情報が設計情報解析処理部３３に渡されたものとして説明するが、当該第１のデータ構造設計情報の代わりに第２のデータ構造設計情報が設計情報解析処理部３３に渡されても構わない。
【００５７】
設計情報解析処理部３３は、対応付処理部３２から渡された第１のデータ構造設計情報によって示される第１のデータ構造を構成する第１のデータ項目の内容を示す第１の説明情報、つまり、第１のデータ構造設計情報に含まれる第１の説明情報を、形態素／意味クラス解析処理部３５を用いて解析する（ステップＳ２）。この解析処理は、解析辞書格納部２４に格納されている形態素解析辞書および意味クラス解析辞書を参照して実行される。
【００５８】
設計情報解析処理部３３は、第１のデータ構造設計情報に含まれる第１の説明情報の解析結果を、当該第１のデータ構造設計情報において当該第１の説明情報に対応づけられている番号および第１のデータ項目名に対応づけて設計情報一時格納部２３に格納する（ステップＳ３）。
【００５９】
なお、上記したステップＳ２およびステップＳ３の処理は、対応付処理部３２から渡された第１のデータ構造設計情報によって示される第１のデータ構造を構成する第１のデータ項目の全て（つまり、第１のデータ構造設計情報に含まれる第１の説明情報の全て）について実行される。つまり、設計情報一次格納部２３には、第１のデータ構造を構成する第１のデータ項目毎に、当該第１のデータ項目の内容を示す第１の説明情報の解析結果が格納される。
【００６０】
次に、設計情報読込処理部３１によって読み込まれた２つのデータ構造設計情報のうちの他方のデータ構造設計情報によって示されるデータ構造を構成するデータ項目の各々について以下に説明するステップＳ４〜ステップＳ７の処理が実行される。上記したように第１のデータ構造設計情報が設計情報解析処理部３３に渡されている場合には、第２のデータ構造設計情報によって示される第２のデータ構造を構成する第２のデータ項目の各々について処理が実行される。
【００６１】
なお、設計情報読込処理部３１によって読み込まれた２つのデータ構造設計情報のうちの第２のデータ構造設計情報が設計情報解析処理部３３に渡されている場合は、第１のデータ構造設計情報によって示される第１のデータ構造を構成する第１のデータ項目の各々についてステップＳ４〜ステップＳ７の処理が実行される。
【００６２】
対応付処理部３２は、処理の対象となる第２のデータ項目の内容を示す第２の説明情報（当該第２のデータ項目を識別するための番号に対応づけて第２のデータ構造設計情報に含まれる第２の説明情報）を対応項目検索処理部３４に渡す。
【００６３】
対応項目検索処理部３４は、対応付処理部３２から渡された第２の説明情報を、形態素／意味クラス解析処理部３５を用いて解析する（ステップＳ４）。
【００６４】
対応項目検索処理部３４は、ステップＳ４における第２の説明情報の解析結果および設計情報一時格納部２３に格納されている第１の説明情報の解析結果の各々に基づいて、処理対象の第２のデータ項目（当該第２の説明情報に対応する第２のデータ項目）と当該第１の説明情報に対応する第１のデータ項目の各々（設計情報一次格納部２３において当該第１の説明情報の解析結果に対応づけられている番号によって識別される第１のデータ項目）との類似度を算出する（ステップＳ５）。つまり、類似度は、処理対象の第２のデータ項目に対して第１のデータ項目毎に算出される。この類似度は、第１および第２の説明情報の解析結果に含まれる文字列（単語）、当該文字列の意味を表す意味クラスおよび当該文字列の品詞に基づいて算出される。この類似度の算出の詳細については後述する。
【００６５】
対応項目検索処理部３４は、第１のデータ項目の中から、算出された類似度が最も高い第１のデータ項目を特定（検索）する（ステップＳ６）。
【００６６】
対応項目検索処理部３４は、特定された第１のデータ項目の類似度が予め定められた値（以下、閾値と表記）以上であるか否かを判定する（ステップＳ７）。なお、この閾値は、適宜変更可能である。対応項目検索処理部３４は、判定結果を対応付処理部３２に通知する。
【００６７】
特定された第１のデータ項目の類似度が閾値以上であると判定された場合（ステップＳ７のＹＥＳ）、対応付処理部３２は、特定された第１のデータ項目と処理対象の第２のデータ項目とを紐付け、対応付情報を生成する（ステップＳ８）。この対応付情報には、特定された第１のデータ項目のデータ項目名（第１のデータ項目名）および処理対象の第２のデータ項目のデータ項目名（第２のデータ項目名）が対応づけて含まれる。なお、この第１のデータ項目名は第１のデータ構造設計情報に含まれており、第２のデータ項目名は第２のデータ構造設計情報に含まれている。
【００６８】
次に、第２のデータ構造設計情報によって示される第２のデータ構造を構成する全てのデータ項目（第２のデータ項目）について上記したステップＳ４〜ステップＳ８の処理が実行されたか否かが判定される（ステップＳ９）。
【００６９】
全ての第２のデータ項目について処理が実行されていないと判定された場合（ステップＳ９のＮＯ）、上記したステップＳ４に戻って処理が繰り返される。この場合、上記したステップＳ８の処理において第２のデータ項目と紐付けられた第１のデータ項目については処理が実行されない。つまり、第１のデータ項目および第２のデータ項目の対応関係は１対１とする。
【００７０】
一方、全ての第２のデータ項目について処理が実行されたと判定された場合（ステップＳ９のＹＥＳ）、対応付出力部３６は、対応付処理部３２によって生成された対応付情報を、機械処理可能な形式で対応付情報ファイル２５に出力（格納）する（ステップＳ１０）。
【００７１】
なお、上記したステップＳ７において、特定された第１のデータ項目の類似度が閾値以上でないと判定された場合、ステップＳ９の処理が実行される。つまり、この場合にはステップＳ８の処理は実行されず、処理対象の第２のデータ項目には第１のデータ項目は紐付けられない（対応づけられない）。
【００７２】
上記したように対応付情報ファイル２５に出力された対応付情報を用いることによって、例えばクライアントで処理可能なデータ構造（第１のデータ構造）をサーバで処理可能なデータ構造（第２のデータ構造）に、または、サーバで処理可能なデータ構造をクライアントで処理可能なデータ構造に自動的に変換することができる。
【００７３】
以下、図８〜図１７を参照して、本実施形態に係るデータ構造変換装置３０の動作について具体的に説明する。
【００７４】
ここで、図８は、Ｊａｖａクラスの設計書の一例を示す。図８に示すＪａｖａクラスの設計書におけるデータ項目（名）は、ｆｎ、ａｄｒｓおよびｍｂｘである。
【００７５】
また、図９は、ＸＭＬスキーマの設計書の一例を示す。図９に示すＸＭＬスキーマにおけるデータ項目（名）は、Ａｄｄｒｅｓｓ、ＮａｍｅおよびＥｍａｉｌである。
【００７６】
以下の説明においては、図８に示すＪａｖａクラスの設計書および図９に示すＸＭＬスキーマの設計書におけるデータ構造をマッピングする場合について説明する。
【００７７】
ところで、図８および図９に示す設計書からデータ構造設計情報を生成することは例えばＣａｓｅツールまたはＸＭＬ処理技術を用いることにより容易に実現できる。
【００７８】
図１０は、上記した図８に示すＪａｖａクラスの設計書から生成されたデータ構造設計情報（第１のデータ構造設計情報）の一例を示す。上述したように、第１のデータ構造設計情報には、番号、データ項目名（第１のデータ項目名）および説明情報（第１の説明情報）が含まれる。
【００７９】
図１０に示す例では、第１のデータ構造設計情報には、番号「１」、データ項目名「ｆｎ」および説明情報「参加者名」が含まれている。また、第１のデータ構造設計情報には、番号「２」、データ項目名「ａｄｒｓ」および説明情報「登録住所」が含まれている。更に、第１のデータ構造設計情報には、番号「３」、データ項目名「ｍｂｘ」および説明情報「携帯電話のメールアドレス」が含まれている。
【００８０】
また、図１１は、上記した図９に示すＸＭＬスキーマの設計書から生成されたデータ構造設計情報（第２のデータ構造設計情報）の一例を示す。上述したように、第２のデータ構造設計情報には、第１のデータ構造設計情報と同様に、番号、データ項目名（第２のデータ項目名）および説明情報（第２の説明情報）が含まれる。
【００８１】
図１１に示す例では、第２のデータ構造設計情報には、番号「１」、データ項目名「Ａｄｄｒｅｓｓ」および説明情報「住所を表すタグ。番地を含む。」が含まれている。また、第２のデータ構造設計情報には、番号「２」、データ項目名「Ｎａｍｅ」および説明情報「指名を表すタグ。姓と名の間は空けない。」が含まれている。更に、第２のデータ構造設計情報には、番号「３」、データ項目名「Ｅｍａｉｌ」および説明情報「電子メールのアドレスを表すタグ。」が含まれている。
【００８２】
以下の説明では、設計情報ファイル２２には、図１０に示す第１のデータ構造設計情報および図１１に示す第２のデータ構造設計情報が格納されているものとして説明する。
【００８３】
まず、設計情報読込処理部３１は、設計情報ファイル２２に格納されている第１および第２のデータ構造設計情報を読み込む。
【００８４】
次に、対応付処理部３２は、設計情報読込処理部３１によって読み込まれた第１および第２のデータ構造設計情報のうちの一方を設計情報解析処理部３３に渡す。ここでは、図１０に示す第１のデータ構造設計情報が設計情報解析処理部３３に渡されたものとする。
【００８５】
設計情報解析処理部３３は、対応付処理部３２から渡された第１のデータ構造設計情報に含まれる説明情報（第１の説明情報）の各々を、形態素／意味クラス解析処理部３５を用いて解析する。このとき、第１のデータ構造設計情報に含まれる第１の説明情報の各々は、解析辞書格納部２４に格納されている形態素解析辞書および意味クラス解析辞書を用いて形態素解析および意味クラス解析される。
【００８６】
設計情報解析処理部３３は、第１のデータ構造設計情報に含まれる第１の説明情報の各々の解析結果を、設計情報一時格納部２３に格納する。
【００８７】
ここで、図１２は、図１０に示す第１のデータ構造設計情報に含まれる第１の説明情報の各々の解析結果が格納された設計情報一次格納部２３のデータ構造の一例を示す。
【００８８】
上記したように設計情報一次格納部２３には、第１のデータ項目毎に、番号、第１のデータ項目名に対応づけて第１の説明情報の解析結果が格納される。設計情報一次格納部２３に格納されている第１の説明情報の解析結果においては、当該第１の説明情報に含まれる単語（文字列）の各々に品詞または意味クラスが付与されている。なお、図１２においては、ノイズを防ぐために第１の説明情報に含まれる単語のうち一般的な助詞については省略されている。
【００８９】
図１２に示す例によれば、設計情報一次格納部２３には、番号「１」および第１のデータ項目名「ｆｎ」に対応づけて図１０に示す第１のデータ構造設計情報に含まれる第１の説明情報「参加者名」の解析結果「参加者（９７，Ｐｅｒｓｏｎ）、名（１００，Ｐｅｒｓｏｎ）」が格納されている。
【００９０】
ここで、第１の説明情報の解析結果に含まれる単語（文字列）に付与されている数字は、当該単語の品詞を示す番号（品詞を識別するための識別子）である。また、第１の説明情報の解析結果に含まれる単語に付与されている文字列（例えば、「Ｐｅｒｓｏｎ」）は、当該単語の意味を表す意味クラスを示す。なお、単語の品詞を示す番号は、例えば図１３に示す品詞一覧（品詞を示す番号の一覧）を参照して当該単語に付与される。また、単語の意味を表す意味クラスは、前述した図５に示す意味クラス解析辞書を参照して当該単語に付与される。
【００９１】
この第１の説明情報「参加者名」の解析結果においては、品詞「名詞」を示す番号「９７」および人を表す意味クラス「Ｐｅｒｓｏｎ」が単語「参加者」に付与されている。また、第１の説明情報「参加者名」の解析結果においては、品詞「接尾」を示す番号「１００」および人を表す意味クラス「Ｐｅｒｓｏｎ」が単語「名」に付与されている。
【００９２】
また、図１２に示す例によれば、設計情報一次格納部２３には、番号「２」およびデータ項目名「ａｄｒｓ」に対応づけて図１０に示す第１のデータ構造設計情報に含まれる第１の説明情報「登録住所」の解析結果「登録（９８）、住所（９７，Ｇｅｏ）」が格納されている。
【００９３】
この第１の説明情報「登録住所」の解析結果においては、品詞「サ変名詞」を示す番号「９８」が単語「登録」に付与されている。なお、単語「登録」は前述した図５に示す意味クラス解析辞書には登録されていないため、当該単語「登録」には意味クラスは付与されていない。第１の説明情報「登録住所」の解析結果においては、品詞「名詞」を示す番号「９８」および場所を表す意味クラス「Ｇｅｏ」が単語「住所」に付与されている。
【００９４】
また、図１２に示す例によれば、設計情報一次格納部２３には、番号「３」およびデータ項目名「ｍｂｘ」に対応づけて図１０に示す第１のデータ構造設計情報に含まれる第１の説明情報「携帯電話のメールアドレス」の解析結果「携帯（９８）、電話（９８）、メール（９８）、アドレス（９７）」が格納されている。
【００９５】
この第１の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「９８」が単語「携帯」に付与されている。第１の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「９８」が単語「電話」に付与されている。第１の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「９８」が単語「メール」に付与されている。また、第１の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「名詞」を示す番号「９７」が単語「アドレス」に付与されている。
【００９６】
上記したような第１のデータ構造設計情報に含まれる第１の説明情報の解析結果が設計情報一次格納部２３に格納されると、対応付処理部３２は、他方のデータ構造設計情報（ここでは、第２のデータ構造設計情報）に含まれる第２の説明情報の各々を対応項目検索処理部３４に渡す。
【００９７】
まず、図１１に示す第２のデータ構造設計情報において番号「１」およびデータ項目名「Ａｄｄｒｅｓｓ」に対応づけられている第２の説明情報「住所を表すタグ。番地を含む。」が対応項目検索処理部３４に渡された場合について説明する。
【００９８】
この場合、対応項目検索処理部３４は、対応付処理部３２から渡された第２の説明情報「住所を表すタグ。番地を含む。」を、形態素／意味クラス解析処理部３５を用いて解析する。
【００９９】
ここで、図１４は、第２の説明情報「住所を表すタグ。番地を含む。」の解析結果を示す。なお、この解析結果に含まれる単語に付与されている数字および文字列は、上記した図１２と同様であるためその詳しい説明を省略する。また、図１４においては、図１２と同様に、ノイズを防ぐために第２の説明情報に含まれる単語のうち一般的な助詞については省略されている。以下に説明する図１５および図１６についても同様である。
【０１００】
図１４に示す例によれば、図１１に示す第２のデータ構造設計情報に含まれる第２の説明情報「住所を表すタグ。番地を含む。」の解析結果は、「住所（９７，Ｇｅｏ）、表（５０）、タグ（９７）、番地（９７，Ｇｅｏ）、含（５７）」である。
【０１０１】
この第２の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「９７」および場所を表す意味クラス「Ｇｅｏ」が単語「住所」に付与されている。第２の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「サ行５段活用」を示す番号「５０」が単語「表」に付与されている。第２の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「９７」が単語「タグ」に付与されている。第２の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「９７」および場所を表す意味クラス「Ｇｅｏ」が単語「番地」に付与されている。また、第２の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「ま行５段活用」を示す番号「５７」が単語「住所」に付与されている。
【０１０２】
次に、対応項目検索処理部３４は、図１２に示す設計情報一次格納部２３に格納されている第１の説明情報の解析結果および図１４に示す第２の説明情報の解析結果に基づいて、当該第１の説明情報に対応づけられている番号によって識別される第１のデータ項目の各々（当該第１の説明情報に対応する第１のデータ項目の各々）と当該第２の説明情報に対応づけられている番号によって識別される第２のデータ項目（当該第２の説明情報に対応する第２のデータ項目）との類似度を算出する。
【０１０３】
ここで、第１のデータ項目と第２のデータ項目との類似度の算出処理について具体的に説明する。
【０１０４】
この類似度の算出処理においては、第２の説明情報（の解析結果）に含まれる単語（列）をｗ１，ｗ２，…，ｗｎとすると、当該単語ｗ１，ｗ２，…，ｗｎのいずれか１つと第１の説明情報（の解析結果）に含まれている単語が一致する場合は予め定められたｓｃｏｒｅ＿ａのスコア（第１のスコア）が取得される。つまり、第２の説明情報および第１の説明情報において、同一の単語が１つでもあればｓｃｏｒｅ＿ａのスコアが取得される。
【０１０５】
また、第２の説明情報に含まれる単語ｗ１，ｗ２，…，ｗｎのいずれか１つの意味クラスと第１の説明情報に含まれている単語の意味クラスとが一致する場合は予め定められたｓｃｏｒｅ＿ｂのスコア（第２のスコア）が取得される。つまり、第２の説明情報および第１の説明情報において、意味クラスが一致する単語が１つでもあればｓｃｏｒｅ＿ｂのスコアが取得される。
【０１０６】
また、第２の説明情報に含まれる単語ｗ１，ｗ２，…，ｗｎのいずれか１つの品詞と第１の説明情報に含まれている単語の品詞とが一致する場合は予め定められたｓｃｏｒｅ＿ｃのスコア（第３のスコア）が取得される。つまり、第２の説明情報および第１の説明情報において、品詞が一致する単語が１つでもあればｓｃｏｒｅ＿ｃのスコアが取得される。
【０１０７】
類似度は、上記したように取得されたスコアに基づいて、ｆ（ｓｃｏｒｅ＿ａ，ｓｃｏｒｅ＿ｂ，ｓｃｏｒｅ＿ｃ）により算出される。つまり、このように算出された値が最大のデータ項目（第１のデータ項目）が最も類似度が高いデータ項目とされる。
【０１０８】
以下の説明においては、ｆ（ｓｃｏｒｅ＿ａ，ｓｃｏｒｅ＿ｂ，ｓｃｏｒｅ＿ｃ）＝ｓｃｏｒｅ＿ａ＋ｓｃｏｒｅ＿ｂ＋ｓｃｏｒｅ＿ｃであるものとする。また、ｓｃｏｒｅ＿ａ＝１００、ｓｃｏｒｅ＿ｂ＝５０、ｓｃｏｒｅ＿ｃ＝３０であるものとする。
【０１０９】
以下、図１２に示す設計情報一次格納部２３に格納されている第１の説明情報の解析結果および図１４に示す第２の説明情報の解析結果に基づいて、当該第１の説明情報に対応する第１のデータ項目の各々と当該第２の説明情報に対応する第２のデータ項目との類似度の算出処理について具体的に説明する。
【０１１０】
まず、図１２（または図１０）に示す設計情報一次格納部２３に格納されている番号「１」によって識別される第１のデータ項目と対応付処理部３２から渡された第２の説明情報に対応する第２のデータ項目との類似度を対応項目検索処理部３４が算出する場合について説明する。この類似度は、図１２に示す設計情報一次格納部２３において番号「１」に対応づけられている第１の説明情報の解析結果「参加者（９７，Ｐｅｒｓｏｎ）、名（１００，Ｐｅｒｓｏｎ）」および対応付処理部３２から渡された第２の説明情報の解析結果、つまり、図１４に示す第２の説明情報の解析結果「住所（９７，Ｇｅｏ）、表（５０）、タグ（９７）、番地（９７，Ｇｅｏ）、含（５７）」に基づいて算出される。
【０１１１】
この場合、第１の説明情報の解析結果に含まれる単語（ここでは、「参加者」および「名」）および第２の説明情報の解析結果に含まれる単語（ここでは、「住所」、「表」、「タグ」、「番地」および「含」）は、いずれも一致しない。
【０１１２】
また、第１の説明情報の解析結果に含まれる単語の意味クラス（ここでは、「Ｐｅｒｓｏｎ」）および第２の説明情報の解析結果に含まれる単語の意味クラス（ここでは、「Ｇｅｏ」）は、一致しない。
【０１１３】
また、第１の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「９７」および「１００」によって示される品詞）および第２の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「５０」、「５７」および「９７」によって示される品詞）は、番号「９７」によって示される品詞が一致するため、ｓｃｏｒｅ＿ｃ（＝３０）が取得される。
【０１１４】
よって、第１の説明情報「参加者名」に対応する第１のデータ項目と第２の説明情報「住所を表すタグ。番地を含む。」に対応する第２のデータ項目との類似度は、ｆ（０，０，３０）、つまり、３０となる。
【０１１５】
次に、図１２に示す設計情報一次格納部２３に格納されている番号「２」によって識別される第１のデータ項目と対応付処理部３２から渡された第２の説明情報に対応する第２のデータ項目との類似度を対応項目検索処理部３４が算出する場合について説明する。この類似度は、図１２に示す設計情報一次格納部２３において番号「２」に対応づけられている第１の説明情報の解析結果「登録（９８）、住所（９７，Ｇｅｏ）」および図１４に示す第２の説明情報の解析結果「住所（９７，Ｇｅｏ）、表（５０）、タグ（９７）、番地（９７，Ｇｅｏ）、含（５７）」に基づいて算出される。
【０１１６】
この場合、第１の説明情報の解析結果に含まれる単語（ここでは、「登録」および「住所」）および第２の説明情報の解析結果に含まれる単語（ここでは、「住所」、「表」、「タグ」、「番地」および「含」）は、単語「住所」が一致するため、ｓｃｏｒｅ＿ａ（＝１００）が取得される。
【０１１７】
また、第１の説明情報の解析結果に含まれる単語の意味クラス（ここでは、「Ｇｅｏ」）および第２の説明情報の解析結果に含まれる単語の意味クラス（ここでは、「Ｇｅｏ」）は、意味クラス「Ｇｅｏ」が一致するため、ｓｃｏｒｅ＿ｂ（＝５０）が取得される。
【０１１８】
また、第１の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「９７」および「９８」によって示される品詞）および第２の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「５０」、「５７」および「９７」によって示される品詞）は、番号「９７」によって示される品詞が一致するため、ｓｃｏｒｅ＿ｃ（＝３０）が取得される。
【０１１９】
よって、第１の説明情報「登録住所」に対応する第１のデータ項目と第２の説明情報「住所を表すタグ。番地を含む。」に対応する第２のデータ項目との類似度は、ｆ（１００，５０，３０）、つまり、１８０となる。
【０１２０】
また、図１２に示す設計情報一次格納部２３に格納されている番号「３」によって識別される第１のデータ項目と対応付処理部３２から渡された第２の説明情報に対応する第２のデータ項目との類似度を対応項目検索処理部３４が算出する場合について説明する。この類似度は、図１２に示す設計情報一次格納部２３において番号「３」に対応づけられている第１の説明情報の解析結果「携帯（９８）、電話（９８）、メール（９８）、アドレス（９７）」および図１４に示す第２の説明情報の解析結果「住所（９７，Ｇｅｏ）、表（５０）、タグ（９７）、番地（９７，Ｇｅｏ）、含（５７）」に基づいて算出される。
【０１２１】
この場合、第１の説明情報の解析結果に含まれる単語（ここでは、「携帯」、「電話」、「メール」、「アドレス」）および第２の説明情報の解析結果に含まれる単語（ここでは、「住所」、「表」、「タグ」、「番地」および「含」）は、一致しない。
【０１２２】
また、第１の説明情報の解析結果に含まれる単語の意味クラス（ここでは、意味クラスは付与されていない）および第２の説明情報の解析結果に含まれる単語の意味クラス（ここでは、「Ｇｅｏ」）は、一致しない。
【０１２３】
また、第１の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「９７」および「９８」によって示される品詞）および第２の説明情報の解析結果に含まれる単語の品詞（ここでは、番号「５０」、「５７」および「９７」によって示される品詞）は、番号「９７」によって示される品詞が一致するため、ｓｃｏｒｅ＿ｃ（＝３０）が取得される。
【０１２４】
よって、第１の説明情報「携帯電話のメールアドレス」に対応する第１のデータ項目と第２の説明情報「住所を表すタグ。番地を含む。」に対応する第２のデータ項目との類似度は、ｆ（０，０，３０）、つまり、３０となる。
【０１２５】
上記したように全ての第１のデータ項目（第１の説明情報）毎に類似度が算出された場合、対応項目検索処理部３４は、当該第１のデータ項目の中から、算出された類似度が最も高い第１のデータ項目を特定（検索）する。
【０１２６】
ここでは、第１の説明情報「参加者名」に対応する第１のデータ項目と第２の説明情報「住所を表すタグ。番地を含む。」に対応する第２のデータ項目との類似度は３０であり、第１の説明情報「登録住所」に対応する第１のデータ項目と当該第２のデータ項目との類似度は１８０であり、第１の説明情報「携帯電話のメールアドレス」に対応する第２のデータ項目との類似度は３０である。したがって、対応項目検索処理部３４は、第１のデータ項目の中から、第１の説明情報「登録住所」に対応する第１のデータ項目（つまり、番号「２」によって識別される第１のデータ項目）が特定される。
【０１２７】
次に、対応項目検索処理部３４は、特定された第１のデータ項目の類似度（ここでは、１８０）が閾値以上であるか否かを判定する。
【０１２８】
特定された第１のデータ項目の類似度が閾値以上であると判定された場合、対応付処理部３２は、第１の説明情報「登録住所」に対応する第１のデータ項目（番号「２」によって識別される第１のデータ項目）と第２の説明情報「住所を表すタグ。番地を含む。」に対応する第２のデータ項目（番号「１」によって識別される第２のデータ項目）とを紐付ける。この場合、対応付処理部３２は、紐付けられた第１のデータ項目のデータ項目名「ａｄｒｓ」および第２のデータ項目のデータ項目名「Ａｄｄｒｅｓｓ」を対応づけて含む対応付情報を生成する。
【０１２９】
上記したように、図１１に示す第２のデータ構造設計情報において番号「１」およびデータ項目名「Ａｄｄｒｅｓｓ」に対応づけられている第２の説明情報「住所を表すタグ。番地を含む。」が対応項目検索処理部３４に渡され、処理されることによって当該第２の説明情報に対応する第２のデータ項目および第１のデータ項目（ここでは、図１０に示す番号「１」によって識別される第１のデータ項目）を紐付ける（マッピングする）ことができる。
【０１３０】
次に、図１１に示す第２のデータ構造設計情報において番号「２」およびデータ項目名「Ｎａｍｅ」に対応づけられている第２の説明情報「氏名を表すタグ。姓と名の間は空けない。」が対応項目検索処理部３４に渡された場合について簡単に説明する。なお、図１５は、第２の説明情報「氏名を表すタグ。姓と名の間は空けない。」の解析結果を示す。
【０１３１】
ここで、図１２に示す設計情報一次格納部２３に格納されている第１の説明情報の解析結果および図１５に示す第２の説明情報の解析結果に基づいて、当該第１の説明情報に対応する第１のデータ項目の各々と当該第２の説明情報に対応する第２のデータ項目との類似度が算出された場合について説明する。
【０１３２】
この場合、図１２に示す設計情報一次格納部２３に格納されている番号「１」によって識別される第１のデータ項目と対応付処理部３２から渡された第２の説明情報に対応する第２のデータ項目との類似度は、上記した類似度の算出処理によれば１８０となり、最も高くなる。
【０１３３】
したがって、第１の説明情報「参加者名」に対応する第１のデータ項目（番号「１」によって識別される第１のデータ項目）と第２の説明情報「氏名を表すタグ。姓と名の間は空けない。」に対応する第２のデータ項目（番号「２」によって識別される第２のデータ項目）とが紐付けられる。この場合、紐付けられた第１のデータ項目のデータ項目名「ｆｎ」および第２のデータ項目のデータ項目名「Ｎａｍｅ」を対応づけて含む対応付情報が生成される。
【０１３４】
同様に、図１１に示す第２のデータ構造設計情報において番号「３」およびデータ項目名「Ｅｍａｉｌ」に対応づけられている第２の説明情報「電子メールのアドレスを表すタグ。」が対応項目検索処理部３４に渡された場合について簡単に説明する。なお、図１６は、第２の説明情報「電子メールのアドレスを表すタグ。」の解析結果を示す。
【０１３５】
ここで、図１２に示す設計情報一次格納部２３に格納されている第１の説明情報の解析結果および図１６に示す第２の説明情報の解析結果に基づいて、当該第１の説明情報に対応する第１のデータ項目の各々と当該第２の説明情報に対応する第２のデータ項目との類似度が算出された場合について説明する。
【０１３６】
この場合、図１２に示す設計情報一次格納部２３に格納されている番号「３」によって識別される第１のデータ項目と対応付処理部３２から渡された第２の説明情報に対応する第２のデータ項目との類似度は、上記した類似度の算出処理によれば１３０となり、最も高くなる。
【０１３７】
したがって、第１の説明情報「携帯電話のメールアドレス」に対応する第１のデータ項目（番号「３」によって識別される第１のデータ項目）と第２の説明情報「電子メールのアドレスを表すタグ。」に対応する第２のデータ項目（番号「３」によって識別される第２のデータ項目）とが紐付けられる。この場合、紐付けられた第１のデータ項目のデータ項目名「ｍｂｘ」および第２のデータ項目のデータ項目名「Ｅｍａｉｌ」を対応づけて含む対応付情報が生成される。
【０１３８】
上記したように全ての第２のデータ項目（図１１に示す第２のデータ構造設計情報に含まれる番号「１」〜「３」によって識別される第２のデータ項目）について対応付情報が生成されると、対応付情報出力部３６は、当該生成された対応付情報を対応付情報ファイル２５に出力する。
【０１３９】
ここで、図１７は、図１０に示す第１のデータ構造設計情報および図１１に示す第２のデータ構造設計情報に対する処理により対応付情報ファイル２５に出力された対応付情報のデータ構造の一例を示す。
【０１４０】
図１７に示すように、対応付情報には、クライアントデータ項目およびサーバデータ項目が対応づけて含まれる。
【０１４１】
図１７に示す例では、対応付情報には、クライアントデータ項目「ｆｎ」およびサーバデータ項目「Ｎａｍｅ」が対応づけて含まれている。また、対応付情報には、クライアントデータ項目「ａｄｒｓ」およびサーバデータ項目「Ａｄｄｒｅｓｓ」が対応づけて含まれている。更に、対応付情報には、クライアントデータ項目「ｍｂｘ」およびサーバデータ項目「Ｅｍａｉｌ」が対応づけて含まれている。
【０１４２】
図１７に示すような対応付情報を用いることによって、クライアントが処理可能なデータ構造（第１のデータ構造）およびサーバが処理可能なデータ構造（第２のデータ構造）間のマッピングを自動的に行うことが可能となる。
【０１４３】
上記したように本実施形態においては、クライアントが処理可能な第１のデータ構造を示す第１のデータ構造設計情報に含まれる第１の説明情報の解析結果およびサーバが処理可能な第２のデータ構造を示す第２のデータ構造設計情報に含まれる第２の説明情報の解析結果に基づいて、当該第１のデータ構造を構成する第１のデータ項目（第１の説明情報に対応する第１のデータ項目）と当該第２のデータ構造を構成する第２のデータ項目（第２の説明情報に対応する第２のデータ項目）との類似度が算出される。この類似度は、第１および第２の説明情報の解析結果に含まれる単語、当該単語の意味クラスおよび当該単語の品詞に基づいて算出される。本実施形態においては、算出された類似度に基づいて第１のデータ項目および第２のデータ項目を紐づけることによって、当該第１のデータ項目（のデータ項目名）および当該第２のデータ項目（のデータ項目名）を対応づけて含む対応付情報が生成される。
【０１４４】
これにより、本実施形態においては、第１のデータ構造の項目名および第２のデータ構造の項目名に依存することなく、当該第１および第２のデータ構造間において第１および第２のデータ項目を対応づけることが可能となる。
【０１４５】
本実施形態において生成された対応付情報を用いることによって、例えばＪａｖａのクラスおよびＸＭＬとのマッピングをデータ項目名に頼ることなく自動的に行うことが可能になる。これにより、例えば開発者が人手でマッピングを行う必要がないため、当該人手によるマッピング作業におけるミスを削減することができ、品質向上に貢献することが可能となる。
【０１４６】
なお、本実施形態においては、ｆ（ｓｃｏｒｅ＿ａ，ｓｃｏｒｅ＿ｂ，ｓｃｏｒｅ＿ｃ）＝ｓｃｏｒｅ＿ａ＋ｓｃｏｒｅ＿ｂ＋ｓｃｏｒｅ＿ｃとして類似度が算出されるものとして説明したが、ｆ（ｓｃｏｒｅ＿ａ，ｓｃｏｒｅ＿ｂ，ｓｃｏｒｅ＿ｃ）についてはどのような評価関数を用いても構わない。
【０１４７】
また、本実施形態に係るデータ構造変換装置３０は例えばクライアントで処理可能な第１のデータ構造およびサーバで処理可能な第２のデータ構造を互いに変換するために利用される対応付情報を生成するものとして説明したが、当該データ構造変換装置３０が当該生成された対応付情報を用いて当該データ構造を互いに変換する機能を有していても構わない。
【０１４８】
また、本実施形態においては、データ構造変換装置３０が独立の装置であるものとして説明したが、当該データ構造変換装置３０が例えばクライアント−サーバシステムにおいてクライアント側またはサーバ側の一方（または両方）に組み込まれている構成であっても構わない。
【０１４９】
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。  
【符号の説明】
【０１５０】
１０…コンピュータ、２０…外部記憶装置、２２…設計情報ファイル（設計情報格納手段）、２３…設計情報一次格納部、２４…解析辞書格納部、２５…対応付情報ファイル、３０…データ構造変換装置、３１…設計情報読込処理部、３２…対応付処理部、３３…設計情報解析処理部、３４…対応項目検索処理部、３５…形態素／意味クラス解析処理部、３６…対応付情報出力部。
【図１】
2011028379.tif 000003
【図２】
2011028379.tif 000004
【図３】
2011028379.tif 000005
【図４】
2011028379.tif 000006
【図５】
2011028379.tif 000007
【図６】
2011028379.tif 000008
【図７】
2011028379.tif 000009
【図８】
2011028379.tif 000010
【図９】
2011028379.tif 000011
【図１０】
2011028379.tif 000012
【図１１】
2011028379.tif 000013
【図１２】
2011028379.tif 000014
【図１３】
2011028379.tif 000015
【図１４】
2011028379.tif 000016
【図１５】
2011028379.tif 000017
【図１６】
2011028379.tif 000018
【図１７】
2011028379.tif 000019