(57)【特許請求の範囲】
【請求項１】
処理装置を用いて入力データの組合せ可能性を判断するデータ処理システムであって、
データの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を予め記憶部に記憶し、
該処理装置はプログラムの実行により、
データ組合せ可能性の判定対象とするデータを取得するデータ取得部と、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携部と、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断部と、を有し、
該組合せ可能性判断部は、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携部は、該組合せ可能性判断部によって求められた組合せ候補を提示し、
前記記憶部は、データの項目名及び項目値についての一致、類似、包含の関係、及び組合せの可能性の高低を数値化したスコアを前記組合せ条件情報として記憶し、
更に、項目及び項目値に関する加点条件と、該加点条件に対応して規定したスコアを有する加点スコア情報を記憶し、
前記組合せ可能性判断部は、データ組合せ候補について、該加点スコア情報の条件を満たすか否か判断し、条件を満たす場合は数値化されたデータ組合せ可能性に対してさらに追加でスコアを加算する
ことを特徴とするデータ処理システム。
【請求項２】
処理装置を用いて入力データの組合せ可能性を判断するデータ処理システムであって、
データの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を予め記憶部に記憶し、
該処理装置はプログラムの実行により、
データ組合せ可能性の判定対象とするデータを取得するデータ取得部と、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携部と、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断部と、を有し、
該組合せ可能性判断部は、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携部は、該組合せ可能性判断部によって求められた組合せ候補を提示し、
前記記憶部は、さらに、データの項目間の関係を階層的に表したカテゴリ情報と、各用語に対する類義語を定義した情報である語彙情報を記憶し、
前記組合せ可能性判断部は、該カテゴリ情報と該語彙情報を用いて、項目名及び項目値の関係を判断して、データ組合せ可能性を判断する
ことを特徴とするデータ処理システム。
【請求項３】
前記処理装置は、入力データを生成する外部装置から組合せ候補の提示についての指定を受け、該指定に基づいて、提示すべき該組合せ候補を特定することを特徴とする請求項１又は２に記載のデータ処理システム。
【請求項４】
前記データ取得部は、内部または外部のサイトからデータ組合せ可能性の判定対象とするファイルを取得し、
前記組合せ可能性判断部は、該ユーザ連携部に接続された外部装置からの入力および要求に基づき、該入力データ及び該データ取得部が取得したデータの項目について、
前記組合せ条件情報に定義する項目名及び項目値を解析し、項目名及び項目値の一致、類似、包含といった関係の有無に基づきデータの組合せ可能性を数値化し、
該ユーザ連携部は、数値の高いものから優先的に組合せ候補として提示する
ことを特徴とする請求項１又は２に記載のデータ処理システム。
【請求項５】
前記組合せ可能性判断部は、さらにデータの組合せ可能性判定対象のファイルが、過去に組合せ可能性を判定済みであるファイルの更新ファイルであるか否か判断し、更新ファイルである場合は、判定済みのファイルからの差分部分の項目について、他のファイルとのデータ組合せ可能性の判断を行う
ことを特徴とする請求項１又は２に記載のデータ処理システム。
【請求項６】
前記組合せ可能性判断部は、
組合せ候補として、複数の要素間の関係及び前記加点スコア情報に基づいて求めたスコアを含む項目レベルの組合せ候補、及び又は、
組合せ候補として、複数の要素の組合せ候補及び該組合せ候補のスコアを含む項目値レベルの組合せ候補を求め、
該ユーザ連携部は、該該組合せ可能性判断部によって求められた該組合せ候補のリストを、外部装置へ送信し、
該外部装置は、受信した該組合せ候補のリストを表示器に表示する
ことを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
更に、該記憶部に記憶された前記組合せ条件情報の変更を行う組合せ条件管理部を有することを特徴とする請求項１又は２に記載のデータ処理システム。
【請求項８】
処理装置を用いて入力データの組合せ可能性を判断するデータ処理方法であって、
データの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を予め記憶部に記憶する記憶ステップと、
該処理装置はプログラムの実行により、
データ組合せ可能性の判定対象とするデータを取得するデータ取得ステップと、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携ステップと、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断ステップと、を有し、
該組合せ可能性判断ステップにおいて、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携ステップにおいて、該組合せ可能性判断によって求められた組合せ候補を提示し、
前記記憶ステップにおいて、データの項目名及び項目値についての一致、類似、包含の関係、及び組合せの可能性の高低を数値化したスコアを前記組合せ条件情報として記憶し、
更に、項目及び項目値に関する加点条件と、該加点条件に対応して規定したスコアを有する加点スコア情報を記憶し、
前記組合せ可能性判断ステップにおいて、データ組合せ候補について、該加点スコア情報の条件を満たすか否か判断し、条件を満たす場合は数値化されたデータ組合せ可能性に対してさらに追加でスコアを加算する
ことを特徴とするデータ処理方法。
【請求項９】
処理装置を用いて入力データの組合せ可能性を判断するデータ処理方法であって、
データの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を予め記憶部に記憶する記憶ステップと、
該処理装置はプログラムの実行により、
データ組合せ可能性の判定対象とするデータを取得するデータ取得ステップと、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携ステップと、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断ステップと、を有し、
該組合せ可能性判断ステップにおいて、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携ステップにおいて、該組合せ可能性判断によって求められた組合せ候補を提示し、
前記記憶ステップにおいて、さらに、データの項目間の関係を階層的に表したカテゴリ情報と、各用語に対する類義語を定義した情報である語彙情報を記憶し、
前記組合せ可能性判断ステップにおいて、該カテゴリ情報と該語彙情報を用いて、項目名及び項目値の関係を判断して、データ組合せ可能性を判断する
ことを特徴とするデータ処理方法。
【請求項１０】
予めデータの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を記憶する記憶部を有するデータ処理システムにおいて、処理装置で実行されて入力データの組合せ可能性を判断するためのプログラムであって、
データ組合せ可能性の判定対象とするデータを取得するデータ取得ステップと、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携ステップと、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断ステップと、を有し、
該組合せ可能性判断ステップにおいて、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携ステップにおいて、該組合せ可能性判断によって求められた組合せ候補を提示し、
データの項目名及び項目値についての一致、類似、包含の関係、及び組合せの可能性の高低を数値化したスコアを前記組合せ条件情報として前記記憶部に記憶し、
更に、項目及び項目値に関する加点条件と、該加点条件に対応して規定したスコアを有する加点スコア情報を前記記憶部に記憶し、
前記組合せ可能性判断ステップにおいて、データ組合せ候補について、該加点スコア情報の条件を満たすか否か判断し、条件を満たす場合は数値化されたデータ組合せ可能性に対してさらに追加でスコアを加算する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、データ処理方法、及びプログラムに係り、特に、データ処理のために入力可能なデータが大量に存在するような環境においてこれらのデータの組合せの可能性を判断するデータ処理に関する。
【背景技術】
【０００２】
最近、オープンデータなどの公共データを活用した新サービスの創出の期待が高まっている。例えば、公共データを活用したサービスとして、街中の共用のレンタル自転車の空き状況をリアルタイムで検索するサービスが提案されている。一方で、公共データの利用にあたっては、どこにどのようなデータがあるかわからない、機械的に処理できず使い勝手が低い、膨大なデータのどれを使ったらいいか判断し難い、等の課題がある。このような課題に対して、政府は民間による公共データの利用が促進されるように、データの公開方法や内容などについて様々な工夫を巡らせようとしている。
【０００３】
複数のデータを組合せて使うことで、単一のデータからだけでは得られない新たな知見が得られる場合がある。例えば、気温のデータと農作物の収穫量のデータを組合せて、気温と収穫量に相関関係があることがわかる。一方で、全く接点の無いデータ例えば横浜市の職員数と東京都の気温のデータなどからは、新たな知見が得られず、そもそもこのデータを組合せることができない。データの組合せに関して、従来はどのデータを組合せれば意味がありそうか、まず人間が判断して仮説を立ててから、データを組合せるといったアプローチが多くとられている。しかし、オープンデータなどの利用可能なデータ数が膨大なものを取り扱う場合、人間がデータの組合せを判断するやり方では、網羅できる組合せ数に限界がある。
【０００４】
データの組合せに関して、異なるデータテーブル間で共通の項目（カラム）を見つけてデータを組合せる技術として、例えば特許文献１及び特許文献２がある。特許文献１には、２つのテーブルの各項目の項目値を調べて、同じ項目値の多い項目同士を共通の項目と見なし、さらに共通の項目において、項目値が同じ部分を組合せる、表形式のデータの結合方法が開示されている。
【０００５】
また、特許文献２には、２つのテーブルの各項目について、項目値をもとに数値型と文字列型に分類するデータの分析支援装置が開示されている。数値型の項目については、項目値の範囲（最小〜最大）の一致率が高い項目同士を共通の項目と判断し、文字列型の項目については、項目値を形態素解析して単語に分解する（例えば「記入誤り」を「記入」と「誤り」に分解）。そして、一致する単語数が多い項目同士を共通の項目と判断して組合せる、としている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１３５２２１公報
【特許文献２】特開２０１２−１８１６０５公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来技術では、項目値を一個ずつ調べて判断するやり方のため、処理が膨大化し時間がかかる。また、「都道府県」と「都市」の項目などのように、項目名および項目値は必ずしも一致しないが、組合せて新たな知見が得られる可能性のある項目同士を組合せ候補として抽出できない。例えば、各都道府県の犯罪件数のテーブルと、各都市の交番・駐在所数のテーブルがある場合、「都道府県」と「都市」を組合せ候補として抽出できれば、全国の犯罪件数と交番・駐在所数の関係の情報を得ることができる。また、従来技術では、項目名が同じであっても項目値が異なる項目同士についても同様に組合せ候補として抽出できない。例えば、東京都の各市町村の予算情報のテーブルと、神奈川県の各市町村の予算情報のテーブルがある場合、「市町村」の項目について、項目値が一致しないものでも組合せ候補として抽出できれば、東京都や神奈川県など全国の市町村の予算の一覧情報を得ることができる。
【０００８】
本発明は、項目名や項目値が一致しないデータについても組合せ候補として抽出し、かつデータの組合せ可能性をデータ処理によって判断して、組合せ可能性が高いものから優先的に組合せ候補として提示するデータ処理を提供することにある。
【課題を解決するための手段】
【０００９】
本発明によるデータ処理システムは、好ましくは、処理装置を用いて入力データの組合せ可能性を判断するデータ処理システムであって、
データの項目名及び項目値についての一致、類似、包含の関係を定義したデータの組合せ可能性の判断に用いられる組合せ条件情報を予め記憶部に記憶し、
該処理装置はプログラムの実行により、
データ組合せ可能性の判定対象とするデータを取得するデータ取得部と、
入力データの受付け及び組合せ可能性判断の結果を提示するユーザ連携部と、
入力データと該データ取得部によって取得されるデータの組合せ可能性の判断を行うデータ組合せ可能性判断部と、を有し、
該組合せ可能性判断部は、該入力データの項目について項目名及び項目値を解析し、該組合せ条件情報で定義された、該項目名及び項目値の一致、類似、包含の関係に基づきデータの組合せ可能性を数値化して組合せ候補を求め、
該ユーザ連携部は、該該組合せ可能性判断部によって求められた組合せ候補を提示するデータ処理システムとして構成される。
本発明はまた、上記データ処理システムにおけるデータの組合せ可能性判断のためのデータ処理方法及びそのプログラムとしても把握される。
【発明の効果】
【００１０】
本発明の好ましい実施形態によれば、項目名や項目値が一致しないデータであっても組合せ候補として抽出することができる。また、データ処理サーバの処理によって多数の組合せ候補を網羅することができ、膨大な組合せ候補がある場合でも組合せ可能性が高いものから優先的に組合せ候補として提示することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】一実施例におけるデータ処理システムの構成を示すブロック図である。
【図２】公共データの一例を示す図である。
【図３】一実施例におけるデータ組合せ条件情報109の一例を示す図である。
【図４】一実施例における加点スコア情報110の一例を示す図である。
【図５】一実施例におけるカテゴリ情報111の一例を示す図である。
【図６】一実施例における語彙情報112の一例を示す図である。
【図７】一実施例におけるスコア管理情報113の一例を示す図である。
【図８】一実施例におけるデータ組合せ可能性判定の概要を説明するための図である。
【図９】実施例１によるデータ組合せ可能性判定の処理を示すフローチャートである。
【図１０】実施例２によるデータ組合せ可能性判定の処理を示すフローチャートである。
【図１１】実施例３によるデータ組合せ可能性判定の処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の好ましい実施形態について説明する。
【実施例１】
【００１３】
図１は、一実施例によるデータ処理システムの構成を示す。  
データ処理システムは、データ処理サーバ101と、データ公開サーバ131と、複数のクライアント端末121a、121b（以下、これらを総称してクライアント端末121と記載することがある）が、ネットワークを介して接続して構成される。データ処理サーバ（以下単に処理サーバという）101はI/F104を介してネットワークに接続され、外部装置であるクライアント端末121からの種々の要求の受付けや処理結果のクラアイント端末への応答を行う。
【００１４】
データ公開サーバ（以下単に公開サーバという）131は、様々なデータを一般に公開、保持するサーバであり、一般市民や専門のデータ加工業者等がこのデータを使って新たなサービスを提供する目的で利用されることを意図している。公開されるデータとしては、例えば都道府県の地図情報や、学校や役所等の公共機関で生成される公共データや、これら公開データを独自に加工した結果のデータが該当する。なお、図１には、１つの公開サーバ131しか示されていないが、通常は複数の公開サーバ131がネットワークを介して処理サーバ101に接続されると想定してよい。
【００１５】
処理サーバ101は、ハードウェア構成として、CPU103、メモリ102およびI/F104を有する。処理装置としてのCPU103はプログラムを実行して、クライアント端末121からの操作要求に従って操作要求に伴ってプログラムを実行し、処理結果をクラアイント端末へ提供する。メモリ102は組合せ可能性判断部105、組合せ条件管理部106、データ取得部107、ユーザ連携部108、組合せ条件情報109、加点スコア情報110、カテゴリ情報111、語彙情報112、スコア管理情報113、サイト情報114、ファイル情報115から構成されており、CPU103、I/F104と接続されている。
【００１６】
クライアント端末121は、ハードウェア構成として、CPU124、メモリ122、I/F123、及び入力器や表示器（図示せず）を有する。CPU124は、メモリ122に格納されているプログラム（本例ではサーバ連携部125及びユーザ連携部126を実現するプログラム）を実行して、I/F123を介して処理サーバ101へ実行要求やファイルを送信し、処理サーバ101から処理結果を受信する。メモリ122は、サーバ連携部125及びユーザ連携部126を実現するプログラムを格納する。サーバ連携部125は、処理サーバ101と連携して、入力器から指示されるユーザの操作要求（データの入力や機能の実行要求など）を処理サーバ101へ送信し、及びサ処理サーバ101の処理結果を受信する処理を行う。ユーザ連携部126は、クライアント端末121の入力器によるユーザの操作要求を受付け、及び処理サーバ101の処理結果を表示器に表示する処理を行う。
【００１７】
次に、処理サーバ101におけるソフトウェアの構成について詳述する。ここでいうソフトウェアには、メモリ102に格納されるプログラム（105〜108）及びプログラム以外の情報（109〜115)がある。まずプログラム以外の情報109〜115について説明し、次にプログラム105〜108について説明する。  
プログラム以外の情報には、組合せ条件情報109、加点スコア情報110、カテゴリ情報111、語彙情報112、スコア管理情報113、サイト情報114、ファイル情報115がある。
【００１８】
組合せ条件情報109は、処理サーバ101がデータの組合せ可能性を判断するために使用される組合せパタンの情報である。図３に示すように、組合せ条件情報109は、条件ID301、項目名302、項目値303、スコア304の４つのデータ項目を含む。条件ID301は組合せパタンを識別するID情報を示す。項目302,303は組合せるデータ間の関係を示す。即ち、項目名302は項目名の関係を示し、項目値303は項目値の関係を示す。ここで、項目名とは、例えば後述の図２(A)の例では、テーブルの一番上の行にある、「都市」「人口」といった、項目の名称を示す情報である。項目値とは、「横浜市」「川崎市」といった、各項目の値を示す情報である。スコア304は、組合せ可能性を数値化したものであり、組合せの可能性が高いか否かを示す情報である。
【００１９】
例えば、条件ID301が「１」の条件は、項目名302が一致でかつ項目値303が一致する項目を組合せ可能性があると判断する条件であり、この条件を満たす組合せについては、スコア304が「５０」加算される。また、条件ID301が「２」の条件は、項目名302が類似でかつ項目値303が一致する項目を組合せ可能性があると判断する条件であり、この条件を満たす組合せについては、スコア304が「４０」加算される。スコアが高いほど組合せ可能性が高いと判断する。尚、類似とは「氏名」と「名前」のように内容（用語の意味）は同じであるが、表記が異なる関係を示す。類似は後述の語彙情報112を基に判断される。包含とは、前述の「都道府県」と「都市」のように、一方の項目が他方に含まれるような関係を示し、これは後述のカテゴリ情報111を基に判断される。
【００２０】
図４は、加点スコア情報110の一例を示す。  
加点スコア情報110は、加点条件401と、スコア402の２つのデータ項目を含む。加点条件401はスコアを加点する条件を示す。スコア402は加点する値を示す。図示の例で、組合せ候補である項目Ａと項目Ｂが何れも主キーである（項目値に重複がなく一意に識別できる）場合は、追加でスコア402が「１０」加算される。他の例として、項目は主キーではないが、テーブルの左端から５列以内の場合はスコア402が「２」加算される。この意味は、例えば図２のデータテーブルの内容が組合せ候補の場合、このテーブルの左端ほど主キーに近いと判断して５列以内ならば、「２」加算するという意味である。
【００２１】
図５は、カテゴリ情報111の一例を示す。  
カテゴリ情報111は、項目間の関係を階層的に表す情報である。例えば、Lv0の「国」を最上位として、その配下に「地域」「産業」等の項目がLv1に登録されている。また、Lv1「地域」の配下には「都道府県」の項目がLv2として登録されている。このように、カテゴリ情報は、上位の項目に何れの項目が含まれるか、即ち包含関係にある項目を示している。
【００２２】
図６は、語彙情報112の一例を示す。  
語彙情報112は類義語を定義した情報である。例えば、用語「氏名」について、「名前」や「名称」等の類義語が登録される。
【００２３】
図７は、スコア管理情報113の一例を示す。  
スコア管理情報113は、処理サーバ101によって抽出されるデータの各組合せ候補とそのスコアを管理する情報である。スコア管理情報113は、組合せ候補の情報が主であるので、組合せ候補情報と言ってもよく、この組合せ候補情報が記載されたものを組合せ候補リストと言うことができる。
【００２４】
図７(A)は項目値レベルでのより細かい組合せ候補を示し、図７(B)は項目名レベル（項目値の一つ上のレベル）での組合せ候補を示している。スコア管理情報をクライアント端末121の表示器に表示する際に、より細かい項目値レベルの候補を表示してもよいし、図７(B)のような、より上位の項目名レベルで組合せ候補を表示してもよい。つまり、図７(A)と図７(A)の２つの形式のものを用意しておけば、項目値レベルで組合せ候補を得たい場合（図7(A)）と、より粗くに項目名レベルで組合せ候補を得たい場合（図7(B)）の何れにも対応できる。
【００２５】
図７(A)において、＃１の組合せ候補が、1.csvファイルの項目名「都市」の項目値「横浜市」と、2.csvファイルの項目名「都市」の項目値「横浜市」は、組合せ候補としてスコア「５０」で登録されている。また、＃２において、組合せ候補が、1.csvファイルの項目名「会社」の項目値「Ａ社」と、2.csvファイルの項目名「企業」の項目値「Ａ社」は組合せ候補としてスコア「４０」で登録されている。
【００２６】
図７(B)において、「関係」は、要素1と要素2の項目名同士の関係（一致など）を示す。「一致項目値数」は、要素1と要素2の項目値について、一致している項目値の個数を示す。
「主キー」は、要素1と要素2の項目が主キーであるか否か（両方が主キー：○、片方が主キー：△）を示す。「スコア」は、一致項目値数分を集計し（例えば50×4）、さらに主キーであるかなどの加算点「１０」を加えた値になっている。
【００２７】
また、ファイル間の組合せ可能性について、上記のように項目名レベルで組合せ候補を算出する以外に、ファイルレベルで組合せ候補を算出するようにしてもいい。例えば最も組合せ可能性の高いファイルは1.csvと2.csvで、スコアは「３４０」であり、次に組合せ可能性が高いのは1.csvと3.csvである、として組合せ候補を算出、表示するなどである。この際のスコアの出し方としては、例えばファイル内の各項目の項目名レベルのスコアを集計して、ファイル単位のスコアとする。例えば図７(B)の例では、1.csvと2.csvの組合せ可能性のスコアは、都市という項目名についてのスコア「２１０」と会社という項目名についてのスコア「１３０」を集計した「３４０」になる。
【００２８】
特に図示していないが、サイト情報114は、データ組合せ可能性の判定対象とするファイルの取得先を示す情報であり、例えば公開サーバ131のURL情報等である。ファイル情報115は、処理サーバ101が保持するファイルのデータに関する情報であり、例えば公開サーバ131から取得したデータや、クライアント端末121を通してユーザから受け付けた入力データ、或いは独自に作成して保存したデータなどが含まれる。
【００２９】
次に、メモリ102に格納されたプログラム105〜108について説明する。これらのプログラムは処理サーバ101のCPU103で実行されることで所定の機能を実現する。具体的には、図９に示すフローチャートに基づく処理によりこれらプログラムの機能が実現される。
【００３０】
組合せ可能性判断部105は、あるデータとあるデータが組合せ可能であるかの判断を行う。具体的には組合せ可能性をスコアとして数値化し、スコア管理情報113に登録する処理を行う。組合せ条件管理部106は、組合せ条件情報109の修正、追加、削除等の変更を行う。組合せ条件情報109の修正等は、管理者またはユーザがクライアント端末121又は処理サーバ101に直接接続される入出力装置を操作することで行える。
【００３１】
データ取得部107は、組合せ可能性を判断するデータを外部または内部から取得する。例えば、サイト情報114に登録されているURL情報に基づいて公開サーバ131のサイトへアクセスしてデータを取得する。尚、データの取得は、クライアント端末121によるユーザからの要求に基づいて行ってもよいし、データ組合せ可能性判断部105の処理に合わせて予め登録された目的のサイトから自動的に取得するようにしてもよい。
【００３２】
ユーザ連携部108は、クライアント端末121から入力ファイル及び操作要求を受付けて、処理サーバ101の処理結果をクライアント端末121へ応答する処理を行う。即ち、ユーザから組合せ可能性判断処理の要求を受付けて、処理結果である組合せ候補をクラアイント端末121へ送信する。
【００３３】
図２は、公開サーバ131から取得される公共データの一例を示す。（A）は各都市の人口情報の例を示し、（B）は各都市の予算情報の例を示し、（C）は都道府県の境界線情報の例を示す。
【００３４】
＜データ組合せ可能性判定処理＞
次に、上記データ処理システムにおける組合せ可能性判定処理について説明する。この処理は、クラアイント端末121におけるユーザの操作に基いて処理サーバ101に対して処理の実行要求があったとき、或いは処理サーバ101が任意のタイミングで自動的に判断した場合に行われる。
【００３５】
図９を参照して、実施例１によるデータ組合せ可能性判定処理の例について説明する。この処理は、処理サーバ101でプログラムを実行することで行われる。
【００３６】
クライアント端末121のユーザ連携部126は、ユーザから入力ファイル及び操作要求を受付ける（901）。クライアント端末121は、I/F123を介して例えばファイルaを入力ファイルとして送信し、処理サーバ101にデータ組合せ可能性判定の実行要求を送る。処理サーバ101はユーザ連携部108を介して入力ファイル及び実行要求を受ける。そして、データ取得部107は、サイト情報114に登録されている情報を基に、外部サイトや社内に保持されているファイルを取得する（902）。組合せ可能性判断部105は、ユーザからの入力ファイルと上記取得したファイルの組合せ可能性を判断するため、上記両者のファイル間で、各項目について、項目名および項目値を比較する（903）。比較の結果、ファイル間で項目名が「一致」「類似」「包含」の何れかの関係にある項目が存在する場合は（904:YES）、さらに上記項目の項目値について、組合せ条件情報109に登録されている条件を満たしているものがあるか判断する（905）。その判断の結果、合致するものがあれば上記の項目および項目値を入力ファイルに対して組合せ可能性があると判断してスコアを可算する（906）。
【００３７】
ここで、図８を参照して、データ組合せ判定処理の例を説明する。  
（A）は項目名が同じ場合のデータ組合せの例、（B）は項目名が異なる場合のデータ組合せの例を示す。
【００３８】
図８（A）では、テーブル1とテーブル2の２つのテーブルが存在する。テーブル1をユーザからの入力ファイル、テーブル2を外部から取得した判定対象ファイルとする。処理サーバ101は２つのテーブル間で項目名を比較すると、どちらにも「都市」という項目名の項目があることがわかる。さらに本項目の項目値を比較すると、「横浜市」という項目値がどちらにもあることがわかる。即ち、両者のファイル間において「都市」という項目は、項目名が一致し、さらにその項目値のうち「横浜市」は項目値が一致していることになる。これは条件ID301の「1」の条件である、項目名が「一致」かつ項目値が「一致」の関係を満たすので、スコア「50」が加算される。そこで、ユーザがクライアント端末121から、上記の２つのデータを組合せたいという要求を処理サーバ101に送った場合、例えばテーブル3のようなデータ組合せが作成される。
【００３９】
一方、テーブル1の「多摩市」とテーブル2の「川崎市」は、項目名は一致だが、項目値が異なる。これは条件ID301の「5」の条件に該当するため、このデータ組合せ可能性としてスコア「10」が加算される。そこで、ユーザがクライアント端末121から、上記データ組合せ候補のうち、項目値が一致するもの以外に不一致のものも含めてデータを組合せたいという要求を処理サーバ101に送った場合、例えばテーブル4のような各データを縦に連結して一覧化した、データ組合せが作成される。
【００４０】
次に、図８（B）を参照して、データ組合せ可能性判定処理について説明する。  
図８（B）ではテーブル5とテーブル6の２つのテーブルが存在する。まず、（１）で２つのテーブルの項目を比較すると、項目名が不一致であることがわかる（「都市」≠「都道府県」）。次に（２）で語彙情報112を参照すると、「都市」と「市町村」が類義であることがわかる（「都市」≒「市町村」）。さらに（３）でカテゴリ情報111を参照すると、「市町村」は「都道府県」に含まれることがわかる（「市町村」⊂「都道府県」）。
【００４１】
図８（B）の（２）および（３）から、「都市」と「都道府県」は、項目名は異なるが「都市」⊂「都道府県」という包含関係にあることがわかる。このことから、２つの項目は組合せ可能性があると判断できる。尚、単純に項目名が一致するものを組合せた場合、テーブルの単なる各行の識別子（「ID」等）どうしを組合せ候補としてあげて、意味のない候補が大量に抽出されてしまう可能性がある。そのため、予め「ID」等の項目は組合せ候補にしないような除外リストを設けて組合せ候補の判断処理を行ってもよい。
【００４２】
また、「都市」と「都道府県」のように項目名が異なる項目を組合せる場合は、「都市」または「都道府県」のどちらかの項目名に統一して一つの項目として組合せてもよい。また、上記２つの項目のどちらも残した状態で組合せて（組合せたテーブル内に「都市」という項目の列と「都道府県」という項目の列ができる）、上記２つの項目が同義であるというグルーピング情報を別に管理して組合せるようにしてもよい。
【００４３】
ステップ906の処理の後、組合せ可能性判断部105は、ステップ906で組合せ可能性があると判断した組合せ候補について、さらに追加の加算条件を満たしているか否か加点スコア情報110を基に判断する（907）。その結果、条件を満たしている場合はスコアを加算する（908）。例えば図４のような加点条件の場合、組合せ候補の双方の項目が何れも主キーであれば、一つめの加点条件に該当するため、スコア「10」が加算される。また、組合せ候補の項目が、主キーではないがテーブルの左端から5列目以内の項目である場合は、スコア「2」加算される。これは、例えばテーブルの左端側の列の項目ほどそのテーブルの各行データを一意に識別できる項目であるということを想定した場合の条件である。加点条件はこれに限らず他の条件であってもよい。
【００４４】
ステップ908の処理の後、またはステップ904の条件を満たさない場合、またはステップ905の条件を満たさない場合、またはステップ907の条件を満たさない場合、組合せ可能性判断部105は、ユーザからの入力ファイルと、取得した組合せ可能性判定対象ファイル間で、他に比較可能な項目名や項目値があるか否か判断する（909）。その結果、他に比較可能な項目名や項目値がある場合はステップ903に戻り、無い場合はステップ910に進む。
【００４５】
ステップ910において、組合せ可能性判定部105は、他に組合せ可能性の判断対象となるファイルがあるか判断する（910）。例えば、組合せ可能性判定部105は、サイト情報114のサイトに公開されているファイルに順次アクセスし、全てのファイルもしくは既定数以上のファイルにアクセスした場合に、他に判断対象となるファイルがないと判断する。ステップ910の判断の結果、他にファイルがある場合はステップ902に戻る。他にファイルが無い場合、ユーザ連携部108はスコア順に組合せ候補をクラアイント端末121に送信して提示する（911）。クライアント端末121では、ユーザ連携部125の処理の下、受信した組合せ候補を表示器に表示する。例えば、図７に示すような、（A）項目値レベルの組合せ候補リストや、(B)項目レベルの組合せ候補リストが表示器に表示される。
【００４６】
＜代案・変形例＞
以下、実施例１における幾つかの代案、変形例について説明する。  
例えば、上記ステップ901では、クライアント端末121を介してユーザからの入力ファイルを受付けて組合せ候補を探索する。代案では、処理サーバ101がユーザからの入力ファイルの受信が無い場合であっても、データ取得部107が任意のタイミングで様々なWebサイトや自社のファイル保存先にクローリングを行い、任意のファイルのペアを取得し、これらファイルについて組合せ可能性判断部105が上記と同様に組合せ可能性を判断し、判断結果をスコア管理情報113に登録するように処理してもよい。
【００４７】
また、ユーザからの入力ファイルが、上記クローリング処理によって既に他のファイルとの組合せ可能性を判断済みである場合は、再度その組合せ可能性を判断するのではなく、判断済みの結果をそのまま活用して組合せ候補として、クライアント端末121に提示するようにしてもよい。
【００４８】
また、ステップ902において、判断対象のファイルの取得にあたり、任意のサイトからファイルを取得する以外に、予めユーザが取得対象のファイルについての条件を定め、取得対象を絞るようにしてもよい。例えば、自社内のデータから組合せ対象を探す、またはドメインを跨って組合せ対象を探す、または特定の項目名や項目値に絞って組合せ対象を探す、等方法で対象を絞ることができる。尚、ステップ902において、データ取得部107が内部や外部からデータを取得して、組合せ可能性判断部105が入力ファイルとの組合せ可能性を判断する以外に、ステップ901でユーザから複数の入力ファイルを受付けてその入力ファイル間でデータ組合せ可能性を判断するように処理してもよい。
【００４９】
また、ステップ903において、項目名と項目値の情報以外にテーブル名やファイル名の情報やヘッダ情報を組合せ可能性の判定に使用してもよい。例えば、データの作成日時等の鮮度の情報を活用して鮮度が近いデータほど組合せ可能性が高いと判断したり、データの出所情報を活用して出所の近さに応じて組合せ可能性の高さを変えることができる。さらにステップ903において、各項目の項目値としてNULL値や全く異なる外れ値が含まれている可能性がある。このようなデータについては、事前処理により除去しておくようにしてもよい。
【００５０】
また、ステップ904及び905において、項目の類似や包含の関係を、語彙情報112やカテゴリ情報111を用いて判断する以外に、これらの情報を用いずに名称や値の一致の具合、例えば8割以上一致する情報や、地理的なデータであれば、点の座標データが組合せ対象の面的な座標データに含まれるか否かによって判断するようにしてもよい。
【００５１】
また、ステップ911において、全く無作為にスコア順に組合せ候補を、クラアイント端末に提示してもよい。或いはユーザからファイル1とファイル2についての組合せのスコアの指示を受けて、特定のファイルに絞って組合せ候補をスコア順に提示してもよいし、その他特定の項目名や項目値に絞って組合せ候補をクラアイント端末に提示してもよい。
【実施例２】
【００５２】
＜データ組合せ可能性判定処理の他の例＞
この例は、入力されたファイルの組合せ候補を探索するにあたり、入力ファイルが、過去に組合せ可能性を判断済みのファイルの更新ファイルであると判断された場合に、その判断済みのファイルからの差分の項目について、他のファイルとの組合せ可能性を判断するものである。このように、データの組合せ可能性を判断する対象を差分データに絞るので、実施例１に比べて、処理サーバにおけるデータ処理量を抑えることができる。
【００５３】
以下、図１０を参照して、実施例２によるデータ組合せ可能性判定処理について説明する。この処理は、処理サーバ101でプログラムを実行することで行われる。
【００５４】
実施例１と同様に、処理サーバ101のユーザ連携部108は、クライアント端末121から送信される入力ファイル及び実行要求を受付ける（1001）。上記要求を受け、組合せ可能性判断部105は、入力ファイルが組合せ可能性判定済みのあるファイルの更新ファイルであるか判断する（1002）。ここで、あるファイルが他のファイルの更新ファイルであるかの判断は、ユーザ入力により指定させることにより、またはファイル名を比較してファイル名が一致するもの又はファイル名が大部分一致するもの（例えば年度が違うが他の部分は一致）などの情報を基に判断することができる。この判断の結果、入力ファイルが組合せ可能性判定済みのファイルの更新ファイルではない場合はステップ901に進み、更新ファイルである場合は、ステップ902と同様にして、組合せ可能性を判定する対象ファイルの取得を行う（1003）。
【００５５】
そして、組合せ可能性判断部105は、入力ファイルのうち、組合せ可能性判定済みのファイルからの差分の項目について、判定対象ファイルとの間で項目名および項目値を比較する（1004）。これら対象の項目について、ステップ904〜908と同様にして組合せ可能性を判断する（1005）。その結果、他に比較可能な項目や項目値があればステップ1004に戻り（1006）、無ければ他に組合せ可能性を判断する対象ファイルがあるか判断し（1007）、他のファイルがあればステップ1003に戻り、無ければスコア順に組合せ候補をクライアント端末122に提示する（1008）。
【実施例３】
【００５６】
＜データ組合せ可能性判定処理の他の例＞
実施例１では、処理サーバ101が２つのファイルを用いてデータ組合せ可能性の判定を行っている。これに対して、実施例３では、処理サーバ101が、２つファイルだけでなく３つ以上のファイルを用いてデータ組合せ可能性の判定を行う。３つ以上のファイルのデータを組合せることで、２つのファイルのデータの組合せだけでは得られない新しい知見が得られる可能性がある。本実施例では、このような３つ以上のファイルでのデータ組合せ可能性を判定する。尚、本実施例では既に２つのファイル間でのデータ組合せ可能性判定処理は終了済みであり、その処理結果を用いて３つ以上のファイルでのデータ組合せ可能性判定処理を行う。ここでは、これを多重データ組合せ可能性判定処理と言いうことにする。
【００５７】
図１１を参照して、実施例３によるデータ組合せ可能性判定処理について説明する。この処理は、処理サーバ101でプログラムを実行することで行われる。  
処理サーバ101のユーザ連携部108は、クライント端末121から送信される、データ組合せの多重度についての指定を受付ける（1101）。例えば多重度が「３」であれば、３つのファイル間でのデータ組合せ可能性を判定する。組合せ可能性判断部105は、スコア管理情報113に登録されている、組合せ候補リストを参照し、各行を比較する（1102）。そして、組合せ可能性判断部105は、異なる行の組合せ候補との間で項目名および項目値の何れもが同じか類似である項目があるか判断する（1103）。その結果、該当するものがあれば組合せの多重度を「1」上げた組合せ候補としてスコアを算出する（1104）。尚、一番初期の状態では２ファイル間での組合せ可能性の判定処理が完了した状態（組合せの多重度は「２」）であり、スコア管理情報113には２つのファイルを組合せる場合の候補リストが登録されている。この候補リストの各行を比較して、例えば組合せ候補1：（1.csvの項目名A・項目値a1）と（2.csvの項目名A・項目値a1）、組み合わせ候補2：（2.csvの項目名A・項目値a1）と（3.csvの項目名A1・項目値a1）、であった場合に、上記２つの候補は、項目名および項目値が同じか類義の条件を満たすため、多重度「３」の組合せ候補（３ファイル間での組合せ候補）として判断して、スコアを算出する。
【００５８】
尚、スコア管理情報113は２ファイル間の組合せでのスコア、３ファイル間での組合せでのスコアというように、多重度ごとに分けて管理することができる。例えば上記の例では、多重度「３」での組合せ候補として、（1.csvの項目名A・項目値a1）と（2.csvの項目名A・項目値a1）と（3.csvの項目名A1・項目値a1）というようにスコア管理情報113に登録される。尚、上記の多重度「３」での組合せ候補の例において、スコアは上記組合せ候補1のスコアと組合せ候補２のスコアを合計して算出する。尚、処理の簡略化のため、全ての組合せ候補を比較するのではなく、スコア管理情報113の上位スコアの組合せ候補に絞って多重の組合せ候補を算出してもよい。
【００５９】
ステップ1104の後、またはステップ1103において該当するものが無かった場合、処理サーバ101は、スコア管理情報113の組合せ候補について、他に比較可能な行があるか判断する（1105）。判断の結果、他の行がある場合はステップ1102に戻り、無い場合はユーザから指定された多重度のスコア算出が完了したか判断する（1106）。例えば、クライアント端末121のユーザ連携部126を介してユーザから多重度「３」が指定されている場合は、上記の処理フローを１回通して行うだけで多重度「３」でのデータ組合せ候補が算出される。しかし、多重度「４」が指定されている場合は、上記の処理フローを再度繰り返して行い、多重度「３」でのデータ組合せ候補から多重度「４」でのデータ組合せ候補を算出することになる。そしてステップ1106においてスコア算出が完了していない場合は、ステップ1102に戻り、スコア算出が完了している場合は、ユーザ連携部108はスコア順に組合せ候補をクライアント端末121に提示する（1107）。クライアント端末121では、受信した組合せ候補を表示器に表示する。
【００６０】
以上、幾つかの好ましい実施例によれば、項目名および項目値は必ずしも一致しない項目や、項目値が異なる項目などであってもデータを組合せることで新たな知見が得られる可能性のある項目を組合せ候補として抽出することができる。また、データの組合せ可能性を人間ではなくサーバによるデータ処理で判断することで、多数の組合せ候補を網羅することができるとともに、組合せ可能性の数値化により、膨大な組合せ候補の中からの優先順位付けが可能になる。
【００６１】
なお、本発明は、上記幾つかの実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内においてさらに様々な形態で実施し得る。例えば更なる例として、データ組合せ可能性判定処理を処理サーバで実行するのではなくて、クライアント端末に備えたアプリケーションの機能として実施することも可能である。これは、実施例１ないし３における処理サーバ101の上記処理機能をクライアント端末に持たせることで実現できる。
【符号の説明】
【００６２】
101…データ処理サーバ、102,122…メモリ、103,124…CPU、104,123…I/F、105…組合せ可能性判定部、106…組合せ条件管理部、107…データ取得部、108…ユーザ連携部、109…組合せ条件情報、110…加点スコア情報、111…カテゴリ情報、112…語彙情報、113…スコア管理情報、114…サイト情報、115…ファイル情報、121…クライアント端末、125…サーバ連携部、126…ユーザ連携部、131…データ公開サーバ、301…条件ID、302…項目名、303…項目値、304，402…スコア、401…加点条件
【図１】
0006352761.tif 000002
【図２】
0006352761.tif 000003
【図３】
0006352761.tif 000004
【図４】
0006352761.tif 000005
【図５】
0006352761.tif 000006
【図６】
0006352761.tif 000007
【図７】
0006352761.tif 000008
【図８】
0006352761.tif 000009
【図９】
0006352761.tif 000010
【図１０】
0006352761.tif 000011
【図１１】
0006352761.tif 000012