JP2011028379A - データ構造変換プログラムおよびデータ構造変換装置 - Google Patents

データ構造変換プログラムおよびデータ構造変換装置 Download PDF

Info

Publication number
JP2011028379A
JP2011028379A JP2009171275A JP2009171275A JP2011028379A JP 2011028379 A JP2011028379 A JP 2011028379A JP 2009171275 A JP2009171275 A JP 2009171275A JP 2009171275 A JP2009171275 A JP 2009171275A JP 2011028379 A JP2011028379 A JP 2011028379A
Authority
JP
Japan
Prior art keywords
information
data structure
data item
data
design information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009171275A
Other languages
English (en)
Inventor
Rei Yano
令 矢野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2009171275A priority Critical patent/JP2011028379A/ja
Publication of JP2011028379A publication Critical patent/JP2011028379A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることを可能とする。
【解決手段】設計情報解析処理部33は、設計情報ファイル22に格納されている第1のデータ構造設計情報に含まれる第1の説明情報を解析する。対応項目検索処理部34は、設計情報ファイル22に格納されている第2のデータ構造設計情報に含まれる第2の説明情報を解析する。対応項目検索処理部34は、第1の説明情報の解析結果および第2の説明情報の解析結果に基づいて、第1のデータ項目と第2のデータ項目との類似度を算出する。対応付処理部32は、類似度に基づいて設計情報ファイル22に格納されている第1のデータ構造設計情報に含まれる第1のデータ項目名および第2のデータ構造設計情報に含まれる第2のデータ項目名を対応づけて含む対応付情報を生成する。
【選択図】図2

Description

本発明は、異なるデータ構造間のマッピングを行うためのデータ構造変換プログラムおよびデータ構造変換装置に関する。
一般的に、例えばWebサービスのAPI(Application Program Interface)またはXML(eXtensible Markup Language)−DB(以下、単にサーバと表記)は、XMLデータの授受を行うインタフェースを有し、クライアント(端末)に対してデータアクセスの手段を提供する。
例えばJava(登録商標)アプリケーションのようなクライアントは、サーバのインタフェースを経由してXMLデータの登録または取得を行う。
しかしながら、クライアントが処理可能なデータ構造とサーバにおいて処理可能なデータ構造とが異なる場合がある。このため、両者の変換、つまり、クライアント側のデータ構造およびサーバ側のデータ構造を互いに変換する仕組みが必要となる。
近年では、クライアント側で処理可能なデータ構造とサーバ側が提供するデータ構造とのマッピング(対応づけ)を自動的に行うことで、機械的に変換を行う方法が採用されている。
このような自動的なマッピングに関する技術として、例えばスキーマが異なる複数の構造化文書(XMLデータ)間のスキーマを効率的に変換するための変換ルールを作成する技術(以下、第1の先行技術と表記)が開示されている(例えば、特許文献1を参照)。この第1の先行技術によれば、例えばXMLタグ名の一致、タグ名自体の同義語によるマッピングが行われる。
また、例えば異なるデータスキーマ間で項目名の対応づけを行う際に、関係はあるが区別すべき語彙を抽出し、意味のある弁別関係を構築することでデータ項目名の対応づけの候補を高精度で絞り込むことができる技術(以下、第2の先行技術と表記)が開示されている(例えば、特許文献2を参照)。この第2の先行技術によれば、ノード間類似度、グループ間類似度によるマッピングが行われる。また、第2の先行技術では、ノード間距離(階層構造上の距離)が用いられる。
また、例えば第1の構造化文書の有する第1の木構造を構成する各ノードと第2の構造化文書の有する第2の木構造を構成する各ノードとの間の対応づけをより効率良くできるようにする技術(以下、第3の先行技術と表記)が開示されている(例えば、特許文献3と表記)。この第3の先行技術によれば、XMLタグ名の類似度をもとに構築されたオントロジが用いられる。
特開2003−58523号公報 特開2004−348341号公報 特開2007−179146号公報
上記したような技術は、データ構造の項目名(つまり、XMLタグ名またはクラスの属性名)の一致または類似により自動的にマッピングを行うものである。
したがって、データ構造の項目名が例えばname=Nameのような完全一致または部分一致の場合、または、mailAddress=Emailのような同義語/類義語辞書において一致する場合であれば、データ構造(を構成するデータ項目)のマッピングが可能である。
しかしながら、上記したような技術においては、データ構造の項目名が例えば“fn”または“mbx”のような同義語/類義語辞書にはない略語または記号の場合には、当該データ構造の項目名からマッピングを行うことは困難である。
そこで、本発明の目的は、データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることが可能なデータ構造変換プログラムおよびデータ構造変換装置を提供することにある。
本発明の1つの態様によれば、第1のデータ構造を構成する第1のデータ項目の名称を示す第1のデータ項目名および当該第1のデータ項目の内容を示す第1の説明情報を含む第1のデータ構造設計情報と前記第1のデータ構造とは異なる第2のデータ構造を構成する第2のデータ項目の名称を示す第2のデータ項目名および当該第2のデータ項目の内容を示す第2の説明情報を含む第2のデータ構造設計情報とを格納する設計情報格納手段を有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるデータ構造変換装置において、前記コンピュータによって実行されるデータ構造変換プログラムであって、前記コンピュータに、前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1の説明情報を解析するステップと、前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2の説明情報を解析するステップと、前記第1の説明情報の解析結果および前記第2の説明情報の解析結果に基づいて、前記第1のデータ項目と前記第2のデータ項目との類似度を算出するステップと、前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1のデータ項目名および前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2のデータ項目名を対応づけて含む対応付情報を生成するステップとを実行させるためのデータ構造変換プログラムが提供される。
本発明は、データ構造の項目名に依存することなく、異なるデータ構造を構成するデータ項目を対応づけることを可能とする。
本発明の実施形態に係るデータ構造変換装置のハードウェア構成を示すブロック図。 図1に示すデータ構造変換装置30の主として機能構成を示すブロック図。 図2に示す設計情報ファイル22に格納されているデータ構造設計情報の一例を示す図。 図2に示す設計情報一次格納部23のデータ構造の一例を示す図。 解析辞書格納部24に格納される意味クラス解析辞書の一例を示す図。 図2に示す対応付情報ファイル25に出力された対応付情報のデータ構造の一例を示す図。 本実施形態に係るデータ構造変換装置30の処理手順を示すフローチャート。 Javaクラスの設計書の一例を示す図。 XMLスキーマの設計書の一例を示す図。 図8に示すJavaクラスの設計書から生成されたデータ構造設計情報の一例を示す図。 図9に示すXMLスキーマの設計書から生成されたデータ構造設計情報の一例を示す図。 図10に示す第1のデータ構造設計情報に含まれる説明情報の解析結果が格納された設計情報一次格納部23のデータ構造の一例を示す図。 品詞を示す番号の一覧を示す図。 第2の説明情報「住所を表すタグ。番地を含む。」の解析結果を示す図。 第2の説明情報「氏名を表すタグ。姓と名の間は空けない。」の解析結果を示す図。 第2の説明情報「電子メールのアドレスを表すタグ。」の解析結果を示す図。 図10に示す第1のデータ構造設計情報および図11に示す第2のデータ構造設計情報に対する処理により対応付情報ファイル25に出力された対応付情報のデータ構造の一例を示す図。
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本実施形態に係るデータ構造変換装置のハードウェア構成を示すブロック図である。図1に示すように、コンピュータ10は、例えばハードディスクドライブ(HDD:Hard Disk Drive)のような外部記憶装置20と接続されている。この外部記憶装置20は、コンピュータ10によって実行されるプログラム21を格納する。コンピュータ10および外部記憶装置20は、データ構造変換装置30を構成する。
図2は、図1に示すデータ構造変換装置30の主として機能構成を示すブロック図である。
図2に示すように、データ変換装置30は、設計情報読込処理部31、対応付処理部32、設計情報解析処理部33、対応項目検索処理部34、形態素/意味クラス解析処理部35および対応付情報出力部36を含む。本実施形態において、これらの各部31〜36は、図1に示すコンピュータ10が外部記憶装置20に格納されているプログラム(データ構造変換プログラム)21を実行することにより実現されるものとする。このプログラム21は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム21が例えばネットワークを介してコンピュータ10にダウンロードされても構わない。
また、データ構造変換装置30は、設計情報ファイル22、設計情報一次格納部23、解析辞書格納部24および対応付情報ファイル25を含む。本実施形態において、これらの設計情報ファイル22、設計情報一次格納部23、解析辞書格納部24および対応付情報ファイル25は、例えば外部記憶装置20に格納される。
設計情報ファイル22には、例えばJavaアプリケーションのようなクライアントが処理可能なデータ構造(第1のデータ構造)を示すデータ構造設計情報(第1のデータ構造設計情報)およびサーバ(例えばWebサービスのAPIまたはXML−DB)が処理可能なデータ構造(第2のデータ構造)を示すデータ構造設計情報(第2のデータ構造設計情報)が予め格納される。なお、第1のデータ構造および第2のデータ構造は、互いに異なるデータ構造である。また、第1のデータ構造および第2のデータ構造は、それぞれ少なくとも1つのデータ項目から構成される。
設計情報ファイル22に格納されている第1のデータ構造設計情報は、第1のデータ構造を構成するデータ項目(第1のデータ項目)の名称を示すデータ項目名(第1のデータ項目名)および当該第1のデータ項目の内容を示す説明情報(第1の説明情報)を含む。第1のデータ項目名および第1の説明情報は、文字列(第1の文字列)を含む。
また、設計情報ファイル22に格納されている第2のデータ構造設計情報は、第2のデータ構造を構成する第2のデータ項目の名称を示す第2のデータ項目名および当該第2のデータ項目の内容を示す第2の説明情報を含む。第2のデータ項目名および第2の説明情報は、文字列(第2の文字列)を含む。
設計情報読込処理部31は、設計情報ファイル22に格納されているデータ構造設計情報(第1および第2のデータ構造設計情報)を、当該設計情報ファイル22からデータ構造変換装置30を構成するコンピュータ10のメモリ(図示せず)上に読み込む処理を実行する。
対応付処理部32は、設計情報読込処理部31によって読み込まれた第1および第2のデータ構造設計情報のうちの一方(例えば、第1のデータ構造設計情報)を設計情報解析処理部33に、他方(例えば、第2のデータ構造設計情報)を対応項目検索処理部34に渡す。
また、対応付処理部32は、後述する対応項目検索処理部34による処理結果に基づいて、第1のデータ構造を構成する第1のデータ項目および第2のデータ構造を構成する第2のデータ項目を紐付ける処理を実行する。これにより、対応付処理部32は、紐付けられた第1および第2のデータ項目(の名称を示す第1および第2のデータ項目名)を対応づけて含む対応付情報を、設計情報読込処理部31によって読み込まれた第1および第2のデータ構造設計情報に基づいて生成する。この対応付情報は、上記したクライアントが処理可能なデータ構造(第1のデータ構造)およびサーバが処理可能なデータ構造(第2のデータ構造)において、対応するデータ項目(第1および第2のデータ項目)が紐付けられた情報である。
設計情報解析処理部33は、対応付処理部32から渡されたデータ構造設計情報(例えば、第1のデータ構造設計情報)に含まれる第1の説明情報を、形態素/意味クラス解析処理部35を用いて解析する。設計情報解析処理部33は、対応付処理部32から渡された第1のデータ構造設計情報に含まれる第1の説明情報の解析結果を設計情報一時格納部23に格納する。
対応項目検索処理部34は、対応付処理部32から渡されたデータ構造設計情報(例えば、第2のデータ構造設計情報)に含まれる第2の説明情報を、形態素/意味クラス解析処理部35を用いて解析する。対応項目検索処理部34は、対応付処理部32から渡された第2のデータ構造設計情報に含まれる第2の説明情報の解析結果および設計情報解析処理部33によって設計情報一次格納部23に格納された解析結果(第1の説明情報の解析結果)に基づいて、当該第2の説明情報に対応する第2のデータ項目(当該第2の説明情報によって内容が示される第2のデータ項目)および当該第1の説明情報に対応する第1のデータ項目(当該第1の説明情報によって内容が示される第1のデータ項目)の類似度を算出する。
対応項目検索処理部34は、算出された類似度に基づいて、紐付けるべき(対応づけるべき)第1のデータ項目および第2のデータ項目の組を対応付処理部32に通知する。
形態素/意味クラス解析処理部35は、第1および第2のデータ構造設計情報に含まれる第1および第2の説明情報を、解析辞書格納部24を参照して解析する。これにより、形態素/意味クラス解析処理部35は、第1および第2の説明情報を、当該第1および第2の説明情報に含まれる文字列(単語)に分解し、当該文字列の品詞または当該文字列の意味を表す意味クラスを付与(取得)する。
解析辞書格納部24には、形態素解析処理に用いられる形態素解析辞書および意味クラス解析に用いられる意味クラス解析辞書が格納される。なお、形態素解析により第1および第2の説明情報に含まれる文字列の品詞が取得され、意味クラス解析により第1および第2の説明情報に含まれる文字列の意味を表す意味クラスが取得される。
対応付情報出力部36は、対応付処理部32によって生成された対応付情報を、例えば機械処理可能な形式で対応付情報ファイル25に出力(格納)する処理を実行する。
図3は、図2に示す設計情報ファイル22に格納されているデータ構造設計情報(第1および第2のデータ構造設計情報)の一例を示す。なお、設計情報ファイル22に格納されている第1および第2のデータ構造設計情報の形式(構造)は同一であるものとする。
図3に示すように、データ構造設計情報には、当該データ構造設計情報によって示されるデータ構造を構成するデータ項目毎に、番号、データ項目名および説明情報が含まれる。番号は、データ構造を構成するデータ項目を識別するための識別子である。データ項目名は、データ構造を構成するデータ項目の名称を示す。説明情報は、データ構造を構成するデータ項目の内容を示す。なお、データ項目名および説明情報には、文字列が含まれる。
図3に示す例では、データ構造設計情報には、番号「1」、データ項目名「データ項目名1」および説明情報「データ項目の説明1」が含まれている。これによれば、データ構造設計情報によって示されるデータ構造を構成するデータ項目のうち、番号「1」によって識別されるデータ項目の名称は「データ項目名1」であり、当該データ項目は、「データ項目の説明1」によって示される内容であることが示されている。
ここでは、データ構造設計情報によって示されるデータ構造を構成するデータ項目のうち、番号「1」によって識別されるデータ項目について説明したが、他のデータ項目についても同様であるため、その詳しい説明を省略する。
図4は、図2に示す設計情報一次格納部23のデータ構造の一例を示す。図4に示すように、設計情報一次格納部23には、データ構造設計情報(例えば、第1のデータ構造設計情報)によって示されるデータ構造を構成するデータ項目毎に、当該データ項目を識別するための番号、当該データ項目名および当該データ項目の内容を示す説明情報の解析結果が格納される。
この説明情報の解析結果は、当該説明情報に対して形態素解析および意味クラス解析が実行された結果である。なお、この解析処理は、設計情報解析処理部33(形態素/意味クラス解析処理部35)によって実行される。
なお、形態素解析によれば、説明情報に含まれる文字列(単語)に対して当該文字列の品詞が付与される。意味クラス解析によれば、説明情報に含まれる文字列(単語)に対して当該文字列の意味を表す意味クラスが付与される。また、形態素解析によれば説明情報に含まれる文字列の全てに対して当該文字列の品詞が付与されるが、意味クラス解析によれば説明情報に含まれる文字列の全てに対して意味クラスが付与されるとは限らない。
図4に示す例では、設計情報一次格納部23には、番号「1」、データ項目名「データ項目名1」および説明情報の解析結果「単語1(品詞1、意味クラス1)、単語2(品詞2)、…」が格納されている。これによれば、番号「1」によって識別されるデータ項目(データ項目名が「データ項目名1」であるデータ項目)の内容を示す説明情報には文字列として「単語1」および「単語2」が含まれており、当該「単語1」には「品詞1」および「意味クラス1」が付与されており、当該「単語2」には「品詞2」が付与されていることが示されている。
また、設計情報一次格納部23には、番号「2」、データ項目名「データ項目名2」および説明情報の解析結果「単語1(品詞1、意味クラス1)、単語3(品詞3)、…」が格納されている。
更に、設計情報一次格納部23には、番号「3」、データ項目名「データ項目名3」および説明情報の解析結果「単語4(品詞1、意味クラス1)、単語5(品詞5)、…」が格納されている。
図5は、解析辞書格納部24に格納される意味クラス解析辞書の一例を示す。図5に示すように、意味クラス解析辞書においては、文字列(単語)に対して当該文字列の意味を表す意味クラスが対応づけられている。
図5に示す例では、意味クラス解析辞書においては、文字列「参加者」、「名」、「氏名」および「姓」に対応づけて人を表す意味クラス「Person(人)」が対応づけられている。これによれば、上記した説明情報に例えば「参加者」の文字列が含まれている場合には、当該「参加者」には意味クラス解析により人を表す意味クラス「Person」が付与される。
また、意味クラス解析辞書においては、文字列「住所」、「番地」および「丁目」に対応付けて場所を表す意味クラス「Geo(場所)」が対応づけられている。これによれば、上記した説明情報に例えば「住所」の文字列が含まれている場合には、当該「住所」には意味クラス解析により場所を表す意味クラス「Geo」が付与される。
図6は、図2に示す対応付情報ファイル25に出力(格納)された対応付情報のデータ構造の一例を示す。なお、対応付情報は、上記したクライアントが処理可能なデータ構造(第1のデータ構造)およびサーバが処理可能なデー構造(第2のデータ構造)において、対応するデータ項目(第1および第2のデータ項目)が紐付けられた情報である。
図6に示すように、対応付情報には、対応するデータ項目の組毎に、番号、クライアントデータ項目(第1のデータ構造を構成するデータ項目)およびサーバデータ項目(第2のデータ構造を構成するデータ項目)が含まれる。番号は、対応するデータ項目の組を識別するための識別子である。クライアントデータ項目は、第1のデータ構造を構成するデータ項目のデータ項目名を示す。サーバデータ項目は、第2のデータ構造を構成するデータ項目のデータ項目名を示す。
図6に示す例では、対応付情報には、番号「1」、クライアントデータ項目「データ項目名1」およびサーバデータ項目「データ項目名3」が含まれている。これによれば、第1のデータ構造を構成するデータ項目のうち「データ項目名1」のデータ項目および第2のデータ構造を構成するデータ項目のうち「データ項目名3」のデータ項目が紐付けられている(対応づけられている)ことが示される。
また、対応付情報には、番号「2」、クライアントデータ項目「データ項目名2」およびサーバデータ項目「(対応なし)」が含まれている。これによれば、第1のデータ構造を構成するデータ項目のうち「データ項目名2」のデータ項目には第2のデータ構造を構成するデータ項目が紐付けられていない(つまり、対応するデータ項目がない)ことが示される。このように、データ項目(の内容を示す説明情報)によっては、互いに紐付けられない(対応づけられない)場合がある。
また、対応付情報には、番号「3」、クライアントデータ項目「データ項目名3」およびサーバデータ項目「データ項目名2」が含まれている。これによれば、第1のデータ構造を構成するデータ項目のうち「データ項目名3」のデータ項目および第2のデータ構造を構成するデータ項目のうち「データ項目名2」のデータ項目が紐付けられていることが示される。
次に、図7のフローチャートを参照して、本実施形態に係るデータ構造変換装置30の処理手順について説明する。なお、設計情報ファイル22には、クライアントが処理可能なデータ構造(第1のデータ構造)を示すデータ構造設計情報(第1のデータ構造設計情報)およびサーバが処理可能なデータ構造(第2のデータ構造)を示すデータ構造設計情報(第2のデータ構造設計情報)が予め格納されているものとする。
第1のデータ構造設計情報には、第1のデータ構造を構成する第1のデータ項目を識別するための番号、当該第1のデータ項目の名称を示す第1のデータ項目名および当該第1のデータ項目の内容を示す第1の説明情報が対応づけて含まれる。同様に、第2のデータ構造設計情報には、第2のデータ構造を構成する第2のデータ項目を識別するための番号、当該第2のデータ項目の名称を示す第2のデータ項目名および当該第2のデータ項目の内容を示す第2の説明情報が対応づけて含まれる。
まず、設計情報読込処理部31は、設計情報ファイル22に格納されている2つのデータ構造設計情報(第1および第2のデータ構造設計情報)を、当該設計情報ファイル22からデータ構造変換装置30(を構成するコンピュータ10)のメモリ上に読み込む(ステップS1)。
対応付処理部32は、設計情報読込処理部31によって読み込まれた2つのデータ構造設計情報のうちの一方のデータ構造設計情報を設計情報解析処理部33に渡す。
ここでは、設計情報読込処理部31によって読み込まれた2つのデータ構造設計情報のうち、第1のデータ構造設計情報が設計情報解析処理部33に渡されたものとする。以下、第1のデータ構造設計情報が設計情報解析処理部33に渡されたものとして説明するが、当該第1のデータ構造設計情報の代わりに第2のデータ構造設計情報が設計情報解析処理部33に渡されても構わない。
設計情報解析処理部33は、対応付処理部32から渡された第1のデータ構造設計情報によって示される第1のデータ構造を構成する第1のデータ項目の内容を示す第1の説明情報、つまり、第1のデータ構造設計情報に含まれる第1の説明情報を、形態素/意味クラス解析処理部35を用いて解析する(ステップS2)。この解析処理は、解析辞書格納部24に格納されている形態素解析辞書および意味クラス解析辞書を参照して実行される。
設計情報解析処理部33は、第1のデータ構造設計情報に含まれる第1の説明情報の解析結果を、当該第1のデータ構造設計情報において当該第1の説明情報に対応づけられている番号および第1のデータ項目名に対応づけて設計情報一時格納部23に格納する(ステップS3)。
なお、上記したステップS2およびステップS3の処理は、対応付処理部32から渡された第1のデータ構造設計情報によって示される第1のデータ構造を構成する第1のデータ項目の全て(つまり、第1のデータ構造設計情報に含まれる第1の説明情報の全て)について実行される。つまり、設計情報一次格納部23には、第1のデータ構造を構成する第1のデータ項目毎に、当該第1のデータ項目の内容を示す第1の説明情報の解析結果が格納される。
次に、設計情報読込処理部31によって読み込まれた2つのデータ構造設計情報のうちの他方のデータ構造設計情報によって示されるデータ構造を構成するデータ項目の各々について以下に説明するステップS4〜ステップS7の処理が実行される。上記したように第1のデータ構造設計情報が設計情報解析処理部33に渡されている場合には、第2のデータ構造設計情報によって示される第2のデータ構造を構成する第2のデータ項目の各々について処理が実行される。
なお、設計情報読込処理部31によって読み込まれた2つのデータ構造設計情報のうちの第2のデータ構造設計情報が設計情報解析処理部33に渡されている場合は、第1のデータ構造設計情報によって示される第1のデータ構造を構成する第1のデータ項目の各々についてステップS4〜ステップS7の処理が実行される。
対応付処理部32は、処理の対象となる第2のデータ項目の内容を示す第2の説明情報(当該第2のデータ項目を識別するための番号に対応づけて第2のデータ構造設計情報に含まれる第2の説明情報)を対応項目検索処理部34に渡す。
対応項目検索処理部34は、対応付処理部32から渡された第2の説明情報を、形態素/意味クラス解析処理部35を用いて解析する(ステップS4)。
対応項目検索処理部34は、ステップS4における第2の説明情報の解析結果および設計情報一時格納部23に格納されている第1の説明情報の解析結果の各々に基づいて、処理対象の第2のデータ項目(当該第2の説明情報に対応する第2のデータ項目)と当該第1の説明情報に対応する第1のデータ項目の各々(設計情報一次格納部23において当該第1の説明情報の解析結果に対応づけられている番号によって識別される第1のデータ項目)との類似度を算出する(ステップS5)。つまり、類似度は、処理対象の第2のデータ項目に対して第1のデータ項目毎に算出される。この類似度は、第1および第2の説明情報の解析結果に含まれる文字列(単語)、当該文字列の意味を表す意味クラスおよび当該文字列の品詞に基づいて算出される。この類似度の算出の詳細については後述する。
対応項目検索処理部34は、第1のデータ項目の中から、算出された類似度が最も高い第1のデータ項目を特定(検索)する(ステップS6)。
対応項目検索処理部34は、特定された第1のデータ項目の類似度が予め定められた値(以下、閾値と表記)以上であるか否かを判定する(ステップS7)。なお、この閾値は、適宜変更可能である。対応項目検索処理部34は、判定結果を対応付処理部32に通知する。
特定された第1のデータ項目の類似度が閾値以上であると判定された場合(ステップS7のYES)、対応付処理部32は、特定された第1のデータ項目と処理対象の第2のデータ項目とを紐付け、対応付情報を生成する(ステップS8)。この対応付情報には、特定された第1のデータ項目のデータ項目名(第1のデータ項目名)および処理対象の第2のデータ項目のデータ項目名(第2のデータ項目名)が対応づけて含まれる。なお、この第1のデータ項目名は第1のデータ構造設計情報に含まれており、第2のデータ項目名は第2のデータ構造設計情報に含まれている。
次に、第2のデータ構造設計情報によって示される第2のデータ構造を構成する全てのデータ項目(第2のデータ項目)について上記したステップS4〜ステップS8の処理が実行されたか否かが判定される(ステップS9)。
全ての第2のデータ項目について処理が実行されていないと判定された場合(ステップS9のNO)、上記したステップS4に戻って処理が繰り返される。この場合、上記したステップS8の処理において第2のデータ項目と紐付けられた第1のデータ項目については処理が実行されない。つまり、第1のデータ項目および第2のデータ項目の対応関係は1対1とする。
一方、全ての第2のデータ項目について処理が実行されたと判定された場合(ステップS9のYES)、対応付出力部36は、対応付処理部32によって生成された対応付情報を、機械処理可能な形式で対応付情報ファイル25に出力(格納)する(ステップS10)。
なお、上記したステップS7において、特定された第1のデータ項目の類似度が閾値以上でないと判定された場合、ステップS9の処理が実行される。つまり、この場合にはステップS8の処理は実行されず、処理対象の第2のデータ項目には第1のデータ項目は紐付けられない(対応づけられない)。
上記したように対応付情報ファイル25に出力された対応付情報を用いることによって、例えばクライアントで処理可能なデータ構造(第1のデータ構造)をサーバで処理可能なデータ構造(第2のデータ構造)に、または、サーバで処理可能なデータ構造をクライアントで処理可能なデータ構造に自動的に変換することができる。
以下、図8〜図17を参照して、本実施形態に係るデータ構造変換装置30の動作について具体的に説明する。
ここで、図8は、Javaクラスの設計書の一例を示す。図8に示すJavaクラスの設計書におけるデータ項目(名)は、fn、adrsおよびmbxである。
また、図9は、XMLスキーマの設計書の一例を示す。図9に示すXMLスキーマにおけるデータ項目(名)は、Address、NameおよびEmailである。
以下の説明においては、図8に示すJavaクラスの設計書および図9に示すXMLスキーマの設計書におけるデータ構造をマッピングする場合について説明する。
ところで、図8および図9に示す設計書からデータ構造設計情報を生成することは例えばCaseツールまたはXML処理技術を用いることにより容易に実現できる。
図10は、上記した図8に示すJavaクラスの設計書から生成されたデータ構造設計情報(第1のデータ構造設計情報)の一例を示す。上述したように、第1のデータ構造設計情報には、番号、データ項目名(第1のデータ項目名)および説明情報(第1の説明情報)が含まれる。
図10に示す例では、第1のデータ構造設計情報には、番号「1」、データ項目名「fn」および説明情報「参加者名」が含まれている。また、第1のデータ構造設計情報には、番号「2」、データ項目名「adrs」および説明情報「登録住所」が含まれている。更に、第1のデータ構造設計情報には、番号「3」、データ項目名「mbx」および説明情報「携帯電話のメールアドレス」が含まれている。
また、図11は、上記した図9に示すXMLスキーマの設計書から生成されたデータ構造設計情報(第2のデータ構造設計情報)の一例を示す。上述したように、第2のデータ構造設計情報には、第1のデータ構造設計情報と同様に、番号、データ項目名(第2のデータ項目名)および説明情報(第2の説明情報)が含まれる。
図11に示す例では、第2のデータ構造設計情報には、番号「1」、データ項目名「Address」および説明情報「住所を表すタグ。番地を含む。」が含まれている。また、第2のデータ構造設計情報には、番号「2」、データ項目名「Name」および説明情報「指名を表すタグ。姓と名の間は空けない。」が含まれている。更に、第2のデータ構造設計情報には、番号「3」、データ項目名「Email」および説明情報「電子メールのアドレスを表すタグ。」が含まれている。
以下の説明では、設計情報ファイル22には、図10に示す第1のデータ構造設計情報および図11に示す第2のデータ構造設計情報が格納されているものとして説明する。
まず、設計情報読込処理部31は、設計情報ファイル22に格納されている第1および第2のデータ構造設計情報を読み込む。
次に、対応付処理部32は、設計情報読込処理部31によって読み込まれた第1および第2のデータ構造設計情報のうちの一方を設計情報解析処理部33に渡す。ここでは、図10に示す第1のデータ構造設計情報が設計情報解析処理部33に渡されたものとする。
設計情報解析処理部33は、対応付処理部32から渡された第1のデータ構造設計情報に含まれる説明情報(第1の説明情報)の各々を、形態素/意味クラス解析処理部35を用いて解析する。このとき、第1のデータ構造設計情報に含まれる第1の説明情報の各々は、解析辞書格納部24に格納されている形態素解析辞書および意味クラス解析辞書を用いて形態素解析および意味クラス解析される。
設計情報解析処理部33は、第1のデータ構造設計情報に含まれる第1の説明情報の各々の解析結果を、設計情報一時格納部23に格納する。
ここで、図12は、図10に示す第1のデータ構造設計情報に含まれる第1の説明情報の各々の解析結果が格納された設計情報一次格納部23のデータ構造の一例を示す。
上記したように設計情報一次格納部23には、第1のデータ項目毎に、番号、第1のデータ項目名に対応づけて第1の説明情報の解析結果が格納される。設計情報一次格納部23に格納されている第1の説明情報の解析結果においては、当該第1の説明情報に含まれる単語(文字列)の各々に品詞または意味クラスが付与されている。なお、図12においては、ノイズを防ぐために第1の説明情報に含まれる単語のうち一般的な助詞については省略されている。
図12に示す例によれば、設計情報一次格納部23には、番号「1」および第1のデータ項目名「fn」に対応づけて図10に示す第1のデータ構造設計情報に含まれる第1の説明情報「参加者名」の解析結果「参加者(97,Person)、名(100,Person)」が格納されている。
ここで、第1の説明情報の解析結果に含まれる単語(文字列)に付与されている数字は、当該単語の品詞を示す番号(品詞を識別するための識別子)である。また、第1の説明情報の解析結果に含まれる単語に付与されている文字列(例えば、「Person」)は、当該単語の意味を表す意味クラスを示す。なお、単語の品詞を示す番号は、例えば図13に示す品詞一覧(品詞を示す番号の一覧)を参照して当該単語に付与される。また、単語の意味を表す意味クラスは、前述した図5に示す意味クラス解析辞書を参照して当該単語に付与される。
この第1の説明情報「参加者名」の解析結果においては、品詞「名詞」を示す番号「97」および人を表す意味クラス「Person」が単語「参加者」に付与されている。また、第1の説明情報「参加者名」の解析結果においては、品詞「接尾」を示す番号「100」および人を表す意味クラス「Person」が単語「名」に付与されている。
また、図12に示す例によれば、設計情報一次格納部23には、番号「2」およびデータ項目名「adrs」に対応づけて図10に示す第1のデータ構造設計情報に含まれる第1の説明情報「登録住所」の解析結果「登録(98)、住所(97,Geo)」が格納されている。
この第1の説明情報「登録住所」の解析結果においては、品詞「サ変名詞」を示す番号「98」が単語「登録」に付与されている。なお、単語「登録」は前述した図5に示す意味クラス解析辞書には登録されていないため、当該単語「登録」には意味クラスは付与されていない。第1の説明情報「登録住所」の解析結果においては、品詞「名詞」を示す番号「98」および場所を表す意味クラス「Geo」が単語「住所」に付与されている。
また、図12に示す例によれば、設計情報一次格納部23には、番号「3」およびデータ項目名「mbx」に対応づけて図10に示す第1のデータ構造設計情報に含まれる第1の説明情報「携帯電話のメールアドレス」の解析結果「携帯(98)、電話(98)、メール(98)、アドレス(97)」が格納されている。
この第1の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「98」が単語「携帯」に付与されている。第1の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「98」が単語「電話」に付与されている。第1の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「サ変名詞」を示す番号「98」が単語「メール」に付与されている。また、第1の説明情報「携帯電話のメールアドレス」の解析結果においては、品詞「名詞」を示す番号「97」が単語「アドレス」に付与されている。
上記したような第1のデータ構造設計情報に含まれる第1の説明情報の解析結果が設計情報一次格納部23に格納されると、対応付処理部32は、他方のデータ構造設計情報(ここでは、第2のデータ構造設計情報)に含まれる第2の説明情報の各々を対応項目検索処理部34に渡す。
まず、図11に示す第2のデータ構造設計情報において番号「1」およびデータ項目名「Address」に対応づけられている第2の説明情報「住所を表すタグ。番地を含む。」が対応項目検索処理部34に渡された場合について説明する。
この場合、対応項目検索処理部34は、対応付処理部32から渡された第2の説明情報「住所を表すタグ。番地を含む。」を、形態素/意味クラス解析処理部35を用いて解析する。
ここで、図14は、第2の説明情報「住所を表すタグ。番地を含む。」の解析結果を示す。なお、この解析結果に含まれる単語に付与されている数字および文字列は、上記した図12と同様であるためその詳しい説明を省略する。また、図14においては、図12と同様に、ノイズを防ぐために第2の説明情報に含まれる単語のうち一般的な助詞については省略されている。以下に説明する図15および図16についても同様である。
図14に示す例によれば、図11に示す第2のデータ構造設計情報に含まれる第2の説明情報「住所を表すタグ。番地を含む。」の解析結果は、「住所(97,Geo)、表(50)、タグ(97)、番地(97,Geo)、含(57)」である。
この第2の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「97」および場所を表す意味クラス「Geo」が単語「住所」に付与されている。第2の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「サ行5段活用」を示す番号「50」が単語「表」に付与されている。第2の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「97」が単語「タグ」に付与されている。第2の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「名詞」を示す番号「97」および場所を表す意味クラス「Geo」が単語「番地」に付与されている。また、第2の説明情報「住所を表すタグ。番地を含む。」の解析結果においては、品詞「ま行5段活用」を示す番号「57」が単語「住所」に付与されている。
次に、対応項目検索処理部34は、図12に示す設計情報一次格納部23に格納されている第1の説明情報の解析結果および図14に示す第2の説明情報の解析結果に基づいて、当該第1の説明情報に対応づけられている番号によって識別される第1のデータ項目の各々(当該第1の説明情報に対応する第1のデータ項目の各々)と当該第2の説明情報に対応づけられている番号によって識別される第2のデータ項目(当該第2の説明情報に対応する第2のデータ項目)との類似度を算出する。
ここで、第1のデータ項目と第2のデータ項目との類似度の算出処理について具体的に説明する。
この類似度の算出処理においては、第2の説明情報(の解析結果)に含まれる単語(列)をw1,w2,…,wnとすると、当該単語w1,w2,…,wnのいずれか1つと第1の説明情報(の解析結果)に含まれている単語が一致する場合は予め定められたscore_aのスコア(第1のスコア)が取得される。つまり、第2の説明情報および第1の説明情報において、同一の単語が1つでもあればscore_aのスコアが取得される。
また、第2の説明情報に含まれる単語w1,w2,…,wnのいずれか1つの意味クラスと第1の説明情報に含まれている単語の意味クラスとが一致する場合は予め定められたscore_bのスコア(第2のスコア)が取得される。つまり、第2の説明情報および第1の説明情報において、意味クラスが一致する単語が1つでもあればscore_bのスコアが取得される。
また、第2の説明情報に含まれる単語w1,w2,…,wnのいずれか1つの品詞と第1の説明情報に含まれている単語の品詞とが一致する場合は予め定められたscore_cのスコア(第3のスコア)が取得される。つまり、第2の説明情報および第1の説明情報において、品詞が一致する単語が1つでもあればscore_cのスコアが取得される。
類似度は、上記したように取得されたスコアに基づいて、f(score_a,score_b,score_c)により算出される。つまり、このように算出された値が最大のデータ項目(第1のデータ項目)が最も類似度が高いデータ項目とされる。
以下の説明においては、f(score_a,score_b,score_c)=score_a+score_b+score_cであるものとする。また、score_a=100、score_b=50、score_c=30であるものとする。
以下、図12に示す設計情報一次格納部23に格納されている第1の説明情報の解析結果および図14に示す第2の説明情報の解析結果に基づいて、当該第1の説明情報に対応する第1のデータ項目の各々と当該第2の説明情報に対応する第2のデータ項目との類似度の算出処理について具体的に説明する。
まず、図12(または図10)に示す設計情報一次格納部23に格納されている番号「1」によって識別される第1のデータ項目と対応付処理部32から渡された第2の説明情報に対応する第2のデータ項目との類似度を対応項目検索処理部34が算出する場合について説明する。この類似度は、図12に示す設計情報一次格納部23において番号「1」に対応づけられている第1の説明情報の解析結果「参加者(97,Person)、名(100,Person)」および対応付処理部32から渡された第2の説明情報の解析結果、つまり、図14に示す第2の説明情報の解析結果「住所(97,Geo)、表(50)、タグ(97)、番地(97,Geo)、含(57)」に基づいて算出される。
この場合、第1の説明情報の解析結果に含まれる単語(ここでは、「参加者」および「名」)および第2の説明情報の解析結果に含まれる単語(ここでは、「住所」、「表」、「タグ」、「番地」および「含」)は、いずれも一致しない。
また、第1の説明情報の解析結果に含まれる単語の意味クラス(ここでは、「Person」)および第2の説明情報の解析結果に含まれる単語の意味クラス(ここでは、「Geo」)は、一致しない。
また、第1の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「97」および「100」によって示される品詞)および第2の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「50」、「57」および「97」によって示される品詞)は、番号「97」によって示される品詞が一致するため、score_c(=30)が取得される。
よって、第1の説明情報「参加者名」に対応する第1のデータ項目と第2の説明情報「住所を表すタグ。番地を含む。」に対応する第2のデータ項目との類似度は、f(0,0,30)、つまり、30となる。
次に、図12に示す設計情報一次格納部23に格納されている番号「2」によって識別される第1のデータ項目と対応付処理部32から渡された第2の説明情報に対応する第2のデータ項目との類似度を対応項目検索処理部34が算出する場合について説明する。この類似度は、図12に示す設計情報一次格納部23において番号「2」に対応づけられている第1の説明情報の解析結果「登録(98)、住所(97,Geo)」および図14に示す第2の説明情報の解析結果「住所(97,Geo)、表(50)、タグ(97)、番地(97,Geo)、含(57)」に基づいて算出される。
この場合、第1の説明情報の解析結果に含まれる単語(ここでは、「登録」および「住所」)および第2の説明情報の解析結果に含まれる単語(ここでは、「住所」、「表」、「タグ」、「番地」および「含」)は、単語「住所」が一致するため、score_a(=100)が取得される。
また、第1の説明情報の解析結果に含まれる単語の意味クラス(ここでは、「Geo」)および第2の説明情報の解析結果に含まれる単語の意味クラス(ここでは、「Geo」)は、意味クラス「Geo」が一致するため、score_b(=50)が取得される。
また、第1の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「97」および「98」によって示される品詞)および第2の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「50」、「57」および「97」によって示される品詞)は、番号「97」によって示される品詞が一致するため、score_c(=30)が取得される。
よって、第1の説明情報「登録住所」に対応する第1のデータ項目と第2の説明情報「住所を表すタグ。番地を含む。」に対応する第2のデータ項目との類似度は、f(100,50,30)、つまり、180となる。
また、図12に示す設計情報一次格納部23に格納されている番号「3」によって識別される第1のデータ項目と対応付処理部32から渡された第2の説明情報に対応する第2のデータ項目との類似度を対応項目検索処理部34が算出する場合について説明する。この類似度は、図12に示す設計情報一次格納部23において番号「3」に対応づけられている第1の説明情報の解析結果「携帯(98)、電話(98)、メール(98)、アドレス(97)」および図14に示す第2の説明情報の解析結果「住所(97,Geo)、表(50)、タグ(97)、番地(97,Geo)、含(57)」に基づいて算出される。
この場合、第1の説明情報の解析結果に含まれる単語(ここでは、「携帯」、「電話」、「メール」、「アドレス」)および第2の説明情報の解析結果に含まれる単語(ここでは、「住所」、「表」、「タグ」、「番地」および「含」)は、一致しない。
また、第1の説明情報の解析結果に含まれる単語の意味クラス(ここでは、意味クラスは付与されていない)および第2の説明情報の解析結果に含まれる単語の意味クラス(ここでは、「Geo」)は、一致しない。
また、第1の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「97」および「98」によって示される品詞)および第2の説明情報の解析結果に含まれる単語の品詞(ここでは、番号「50」、「57」および「97」によって示される品詞)は、番号「97」によって示される品詞が一致するため、score_c(=30)が取得される。
よって、第1の説明情報「携帯電話のメールアドレス」に対応する第1のデータ項目と第2の説明情報「住所を表すタグ。番地を含む。」に対応する第2のデータ項目との類似度は、f(0,0,30)、つまり、30となる。
上記したように全ての第1のデータ項目(第1の説明情報)毎に類似度が算出された場合、対応項目検索処理部34は、当該第1のデータ項目の中から、算出された類似度が最も高い第1のデータ項目を特定(検索)する。
ここでは、第1の説明情報「参加者名」に対応する第1のデータ項目と第2の説明情報「住所を表すタグ。番地を含む。」に対応する第2のデータ項目との類似度は30であり、第1の説明情報「登録住所」に対応する第1のデータ項目と当該第2のデータ項目との類似度は180であり、第1の説明情報「携帯電話のメールアドレス」に対応する第2のデータ項目との類似度は30である。したがって、対応項目検索処理部34は、第1のデータ項目の中から、第1の説明情報「登録住所」に対応する第1のデータ項目(つまり、番号「2」によって識別される第1のデータ項目)が特定される。
次に、対応項目検索処理部34は、特定された第1のデータ項目の類似度(ここでは、180)が閾値以上であるか否かを判定する。
特定された第1のデータ項目の類似度が閾値以上であると判定された場合、対応付処理部32は、第1の説明情報「登録住所」に対応する第1のデータ項目(番号「2」によって識別される第1のデータ項目)と第2の説明情報「住所を表すタグ。番地を含む。」に対応する第2のデータ項目(番号「1」によって識別される第2のデータ項目)とを紐付ける。この場合、対応付処理部32は、紐付けられた第1のデータ項目のデータ項目名「adrs」および第2のデータ項目のデータ項目名「Address」を対応づけて含む対応付情報を生成する。
上記したように、図11に示す第2のデータ構造設計情報において番号「1」およびデータ項目名「Address」に対応づけられている第2の説明情報「住所を表すタグ。番地を含む。」が対応項目検索処理部34に渡され、処理されることによって当該第2の説明情報に対応する第2のデータ項目および第1のデータ項目(ここでは、図10に示す番号「1」によって識別される第1のデータ項目)を紐付ける(マッピングする)ことができる。
次に、図11に示す第2のデータ構造設計情報において番号「2」およびデータ項目名「Name」に対応づけられている第2の説明情報「氏名を表すタグ。姓と名の間は空けない。」が対応項目検索処理部34に渡された場合について簡単に説明する。なお、図15は、第2の説明情報「氏名を表すタグ。姓と名の間は空けない。」の解析結果を示す。
ここで、図12に示す設計情報一次格納部23に格納されている第1の説明情報の解析結果および図15に示す第2の説明情報の解析結果に基づいて、当該第1の説明情報に対応する第1のデータ項目の各々と当該第2の説明情報に対応する第2のデータ項目との類似度が算出された場合について説明する。
この場合、図12に示す設計情報一次格納部23に格納されている番号「1」によって識別される第1のデータ項目と対応付処理部32から渡された第2の説明情報に対応する第2のデータ項目との類似度は、上記した類似度の算出処理によれば180となり、最も高くなる。
したがって、第1の説明情報「参加者名」に対応する第1のデータ項目(番号「1」によって識別される第1のデータ項目)と第2の説明情報「氏名を表すタグ。姓と名の間は空けない。」に対応する第2のデータ項目(番号「2」によって識別される第2のデータ項目)とが紐付けられる。この場合、紐付けられた第1のデータ項目のデータ項目名「fn」および第2のデータ項目のデータ項目名「Name」を対応づけて含む対応付情報が生成される。
同様に、図11に示す第2のデータ構造設計情報において番号「3」およびデータ項目名「Email」に対応づけられている第2の説明情報「電子メールのアドレスを表すタグ。」が対応項目検索処理部34に渡された場合について簡単に説明する。なお、図16は、第2の説明情報「電子メールのアドレスを表すタグ。」の解析結果を示す。
ここで、図12に示す設計情報一次格納部23に格納されている第1の説明情報の解析結果および図16に示す第2の説明情報の解析結果に基づいて、当該第1の説明情報に対応する第1のデータ項目の各々と当該第2の説明情報に対応する第2のデータ項目との類似度が算出された場合について説明する。
この場合、図12に示す設計情報一次格納部23に格納されている番号「3」によって識別される第1のデータ項目と対応付処理部32から渡された第2の説明情報に対応する第2のデータ項目との類似度は、上記した類似度の算出処理によれば130となり、最も高くなる。
したがって、第1の説明情報「携帯電話のメールアドレス」に対応する第1のデータ項目(番号「3」によって識別される第1のデータ項目)と第2の説明情報「電子メールのアドレスを表すタグ。」に対応する第2のデータ項目(番号「3」によって識別される第2のデータ項目)とが紐付けられる。この場合、紐付けられた第1のデータ項目のデータ項目名「mbx」および第2のデータ項目のデータ項目名「Email」を対応づけて含む対応付情報が生成される。
上記したように全ての第2のデータ項目(図11に示す第2のデータ構造設計情報に含まれる番号「1」〜「3」によって識別される第2のデータ項目)について対応付情報が生成されると、対応付情報出力部36は、当該生成された対応付情報を対応付情報ファイル25に出力する。
ここで、図17は、図10に示す第1のデータ構造設計情報および図11に示す第2のデータ構造設計情報に対する処理により対応付情報ファイル25に出力された対応付情報のデータ構造の一例を示す。
図17に示すように、対応付情報には、クライアントデータ項目およびサーバデータ項目が対応づけて含まれる。
図17に示す例では、対応付情報には、クライアントデータ項目「fn」およびサーバデータ項目「Name」が対応づけて含まれている。また、対応付情報には、クライアントデータ項目「adrs」およびサーバデータ項目「Address」が対応づけて含まれている。更に、対応付情報には、クライアントデータ項目「mbx」およびサーバデータ項目「Email」が対応づけて含まれている。
図17に示すような対応付情報を用いることによって、クライアントが処理可能なデータ構造(第1のデータ構造)およびサーバが処理可能なデータ構造(第2のデータ構造)間のマッピングを自動的に行うことが可能となる。
上記したように本実施形態においては、クライアントが処理可能な第1のデータ構造を示す第1のデータ構造設計情報に含まれる第1の説明情報の解析結果およびサーバが処理可能な第2のデータ構造を示す第2のデータ構造設計情報に含まれる第2の説明情報の解析結果に基づいて、当該第1のデータ構造を構成する第1のデータ項目(第1の説明情報に対応する第1のデータ項目)と当該第2のデータ構造を構成する第2のデータ項目(第2の説明情報に対応する第2のデータ項目)との類似度が算出される。この類似度は、第1および第2の説明情報の解析結果に含まれる単語、当該単語の意味クラスおよび当該単語の品詞に基づいて算出される。本実施形態においては、算出された類似度に基づいて第1のデータ項目および第2のデータ項目を紐づけることによって、当該第1のデータ項目(のデータ項目名)および当該第2のデータ項目(のデータ項目名)を対応づけて含む対応付情報が生成される。
これにより、本実施形態においては、第1のデータ構造の項目名および第2のデータ構造の項目名に依存することなく、当該第1および第2のデータ構造間において第1および第2のデータ項目を対応づけることが可能となる。
本実施形態において生成された対応付情報を用いることによって、例えばJavaのクラスおよびXMLとのマッピングをデータ項目名に頼ることなく自動的に行うことが可能になる。これにより、例えば開発者が人手でマッピングを行う必要がないため、当該人手によるマッピング作業におけるミスを削減することができ、品質向上に貢献することが可能となる。
なお、本実施形態においては、f(score_a,score_b,score_c)=score_a+score_b+score_cとして類似度が算出されるものとして説明したが、f(score_a,score_b,score_c)についてはどのような評価関数を用いても構わない。
また、本実施形態に係るデータ構造変換装置30は例えばクライアントで処理可能な第1のデータ構造およびサーバで処理可能な第2のデータ構造を互いに変換するために利用される対応付情報を生成するものとして説明したが、当該データ構造変換装置30が当該生成された対応付情報を用いて当該データ構造を互いに変換する機能を有していても構わない。
また、本実施形態においては、データ構造変換装置30が独立の装置であるものとして説明したが、当該データ構造変換装置30が例えばクライアント−サーバシステムにおいてクライアント側またはサーバ側の一方(または両方)に組み込まれている構成であっても構わない。
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
10…コンピュータ、20…外部記憶装置、22…設計情報ファイル(設計情報格納手段)、23…設計情報一次格納部、24…解析辞書格納部、25…対応付情報ファイル、30…データ構造変換装置、31…設計情報読込処理部、32…対応付処理部、33…設計情報解析処理部、34…対応項目検索処理部、35…形態素/意味クラス解析処理部、36…対応付情報出力部。

Claims (5)

  1. 第1のデータ構造を構成する第1のデータ項目の名称を示す第1のデータ項目名および当該第1のデータ項目の内容を示す第1の説明情報を含む第1のデータ構造設計情報と前記第1のデータ構造とは異なる第2のデータ構造を構成する第2のデータ項目の名称を示す第2のデータ項目名および当該第2のデータ項目の内容を示す第2の説明情報を含む第2のデータ構造設計情報とを格納する設計情報格納手段を有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成されるデータ構造変換装置において、前記コンピュータによって実行されるデータ構造変換プログラムであって、
    前記コンピュータに、
    前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1の説明情報を解析するステップと、
    前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2の説明情報を解析するステップと、
    前記第1の説明情報の解析結果および前記第2の説明情報の解析結果に基づいて、前記第1のデータ項目と前記第2のデータ項目との類似度を算出するステップと、
    前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1のデータ項目名および前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2のデータ項目名を対応づけて含む対応付情報を生成するステップと
    を実行させるためのデータ構造変換プログラム。
  2. 前記第1の説明情報は、第1の文字列を含み、
    前記第2の説明情報は、第2の文字列を含み、
    前記第1の説明情報を解析するステップにおいては、前記第1の説明情報を解析することによって、当該第1の説明情報に含まれる第1の文字列を取得し、
    前記第2の説明情報を解析するステップにおいては、前記第2の説明情報を解析することによって、当該第2の説明情報に含まれる第2の文字列を取得し、
    前記類似度を算出するステップは、
    前記取得された第1の文字列および前記取得された第2の文字列が一致する場合、予め定められたスコアを取得するステップと、
    前記取得されたスコアに基づいて、前記類似度を算出するステップと
    を含む
    ことを特徴とする請求項1記載のデータ構造変換プログラム。
  3. 前記第1の説明情報は、第1の文字列を含み、
    前記第2の説明情報は、第2の文字列を含み、
    前記第1の説明情報を解析するステップにおいては、前記第1の説明情報を解析することによって、当該第1の説明情報に含まれる第1の文字列および当該第1の文字列の意味を表す意味クラスを取得し、
    前記第2の説明情報を解析するステップにおいては、前記第2の説明情報を解析することによって、当該第2の説明情報に含まれる第2の文字列および当該第2の文字列の意味を表す意味クラスを取得し、
    前記類似度を算出するステップは、
    前記取得された第1の文字列および前記取得された第2の文字列が一致する場合、予め定められた第1のスコアを取得するステップと、
    前記取得された第1の文字列の意味を表す意味クラスおよび前記取得された第2の文字列の意味を表す意味クラスが一致する場合、予め定められた第2のスコアを取得するステップと、
    前記取得された第1のスコアおよび第2のスコアに基づいて、前記類似度を算出するステップと
    を含む
    ことを特徴とする請求項1記載のデータ構造変換プログラム。
  4. 前記第1の説明情報は、第1の文字列を含み、
    前記第2の説明情報は、第2の文字列を含み、
    前記第1の説明情報を解析するステップにおいては、前記第1の説明情報を解析することによって、当該第1の説明情報に含まれる第1の文字列、当該第1の文字列の意味を表す意味クラスおよび当該第1の文字列の品詞を取得し、
    前記第2の説明情報を解析するステップにおいては、前記第2の説明情報を解析することによって、当該第2の説明情報に含まれる第2の文字列、当該第2の文字列の意味を表す意味クラスおよび当該第2の文字列の品詞を取得し、
    前記類似度を算出するステップは、
    前記取得された第1の文字列および前記取得された第2の文字列が一致する場合、予め定められた第1のスコアを取得するステップと、
    前記取得された第1の文字列の意味を表す意味クラスおよび前記取得された第2の文字列の意味を表す意味クラスが一致する場合、予め定められた第2のスコアを取得するステップと、
    前記取得された第1の文字列の品詞および前記取得された第2の文字列の品詞が一致する場合、予め定められた第3のスコアを取得するステップと、
    前記取得された第1のスコア、第2のスコアおよび第3のスコアに基づいて、前記類似度を算出するステップと
    を含む
    ことを特徴とする請求項1記載のデータ構造変換プログラム。
  5. 第1のデータ構造を構成する第1のデータ項目の名称を示す第1のデータ項目名および当該第1のデータ項目の内容を示す第1の説明情報を含む第1のデータ構造設計情報と、前記第1のデータ構造とは異なる第2のデータ構造を構成する第2のデータ項目の名称を示す第2のデータ項目名および当該第2のデータ項目の内容を示す第2の説明情報を含む第2のデータ構造設計情報とを格納する設計情報格納手段と、
    前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1の説明情報を解析する第1の解析手段と、
    前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2の説明情報を解析する第2の解析手段と、
    前記第1の解析手段による前記第1の説明情報の解析結果および前記第2の解析手段による前記第2の説明情報の解析結果に基づいて、前記第1のデータ項目と前記第2のデータ項目との類似度を算出する算出手段と、
    前記算出された類似度に基づいて、前記設計情報格納手段に格納されている第1のデータ構造設計情報に含まれる第1のデータ項目名および前記設計情報格納手段に格納されている第2のデータ構造設計情報に含まれる第2のデータ項目名を対応づけて含む対応付情報を生成する生成手段と
    を具備することを特徴とするデータ構造変換装置。
JP2009171275A 2009-07-22 2009-07-22 データ構造変換プログラムおよびデータ構造変換装置 Pending JP2011028379A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009171275A JP2011028379A (ja) 2009-07-22 2009-07-22 データ構造変換プログラムおよびデータ構造変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009171275A JP2011028379A (ja) 2009-07-22 2009-07-22 データ構造変換プログラムおよびデータ構造変換装置

Publications (1)

Publication Number Publication Date
JP2011028379A true JP2011028379A (ja) 2011-02-10

Family

ID=43637085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009171275A Pending JP2011028379A (ja) 2009-07-22 2009-07-22 データ構造変換プログラムおよびデータ構造変換装置

Country Status (1)

Country Link
JP (1) JP2011028379A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181605A (ja) * 2011-02-28 2012-09-20 Toshiba Corp データ分析支援装置およびプログラム
WO2013145230A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 情報分析支援装置、情報分析支援方法、及び情報分析支援プログラム
JP2013225200A (ja) * 2012-04-20 2013-10-31 Ntt Comware Corp 意味的対応付け装置及びその処理方法とプログラム
JP2018005451A (ja) * 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2018081716A (ja) * 2018-01-09 2018-05-24 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249338A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース概念スキーマ統合支援装置
JP2002099561A (ja) * 2000-09-21 2002-04-05 Toshiba Corp データ変換方法およびデータ変換システム並びに記憶媒体
JP2007179146A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd データスキーマのマッピングプログラム及び計算機システム
JP2007188343A (ja) * 2006-01-13 2007-07-26 Mitsubishi Electric Corp スキーマ統合支援装置、スキーマ統合支援方法およびスキーマ統合支援プログラム
WO2008031666A1 (en) * 2006-09-13 2008-03-20 Alcatel Lucent Discovery web service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249338A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース概念スキーマ統合支援装置
JP2002099561A (ja) * 2000-09-21 2002-04-05 Toshiba Corp データ変換方法およびデータ変換システム並びに記憶媒体
JP2007179146A (ja) * 2005-12-27 2007-07-12 Hitachi Ltd データスキーマのマッピングプログラム及び計算機システム
JP2007188343A (ja) * 2006-01-13 2007-07-26 Mitsubishi Electric Corp スキーマ統合支援装置、スキーマ統合支援方法およびスキーマ統合支援プログラム
WO2008031666A1 (en) * 2006-09-13 2008-03-20 Alcatel Lucent Discovery web service

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181605A (ja) * 2011-02-28 2012-09-20 Toshiba Corp データ分析支援装置およびプログラム
WO2013145230A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 情報分析支援装置、情報分析支援方法、及び情報分析支援プログラム
JP2013225200A (ja) * 2012-04-20 2013-10-31 Ntt Comware Corp 意味的対応付け装置及びその処理方法とプログラム
JP2018005451A (ja) * 2016-06-30 2018-01-11 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム
JP2018081716A (ja) * 2018-01-09 2018-05-24 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理システム、その制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP5011751B2 (ja) 訳語情報出力処理プログラム,処理方法および処理装置
JP5054210B2 (ja) 属性抽出装置および方法
JP2009015512A (ja) 機械翻訳を行う装置、方法およびプログラム
JP6447161B2 (ja) 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法
JP2013105321A (ja) 文書処理装置、文書構成要素間の関係解析方法およびプログラム
JP2011028379A (ja) データ構造変換プログラムおよびデータ構造変換装置
JP2002099561A (ja) データ変換方法およびデータ変換システム並びに記憶媒体
WO2007088902A1 (ja) 文字処理装置、方法、プログラムおよび記録媒体
JP4478042B2 (ja) 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置
JP5466376B2 (ja) 情報処理装置、姓名識別方法、情報処理システム、およびプログラム
JP2004192374A (ja) 文書検索装置、プログラムおよび記録媒体
JP2022002034A (ja) 抽出方法、抽出プログラム、及び、抽出装置
JP2016189154A (ja) 翻訳方法、装置、及びプログラム
JP4208402B2 (ja) 文書検索装置、文書検索方法および記録媒体
JP2001101184A (ja) 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体
JP5137140B2 (ja) 出現表記レコード同定装置、削除規則生成装置、その方法、プログラム及び記録媒体
JP2019008477A (ja) 判別プログラム、判別装置及び判別方法
JP5324903B2 (ja) 類似度計算装置、方法及びプログラム、データ検索システム及び方法
JPH11259482A (ja) 複合名詞の機械翻訳方式
JP2011095802A (ja) 機械翻訳装置及びプログラム
JP2008197759A (ja) 翻訳システム、翻訳方法、辞書管理システム及び辞書管理方法
JP5250463B2 (ja) 意味的対応付け装置及びその処理方法とプログラム
JP6106616B2 (ja) データベース作成装置、単語検索装置、情報端末、単語検索方法、プログラム
JP2004264960A (ja) 用例ベースの文変換装置、およびコンピュータプログラム
JP2005235099A (ja) メタデータ抽出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130917