IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ソリューションズの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046177
(43)【公開日】2024-04-03
(54)【発明の名称】データセットマッチングシステム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240327BHJP
   G06F 16/27 20190101ALI20240327BHJP
【FI】
G06Q50/10
G06F16/27
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022151412
(22)【出願日】2022-09-22
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110002572
【氏名又は名称】弁理士法人平木国際特許事務所
(72)【発明者】
【氏名】針生 健
(72)【発明者】
【氏名】小山 和宏
(72)【発明者】
【氏名】川崎 崇寛
(72)【発明者】
【氏名】荒川 啓之
【テーマコード(参考)】
5B175
5L049
【Fターム(参考)】
5B175AA01
5L049CC12
(57)【要約】
【課題】複数のデータセットを結合することにより、所望する条件を満たすデータセットを得る可能性を高めることができる技術を提供する。
【解決手段】本発明に係るデータセットマッチングシステムは、第1データセットと第2データセットそれぞれについて真偽判定を実施した上で結合データセットを作成し、前記結合データセットと所望条件との間の一致度を提示する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数のデータセットを組み合わせてユーザに対して提示するデータセットマッチングシステムであって、
第1データプロバイダが提供する第1データセットと第2データプロバイダが提供する第2データセットをそれぞれ格納する格納部、
前記第1データセットと前記第2データセットそれぞれの信頼性を判定するための真偽判定を実施する真偽判定部、
前記第1データセットと前記第2データセットを結合した結合データセットを作成する作成部、
前記結合データセットと前記ユーザが前記結合データセットに対して所望する条件との間の一致度を計算するマッチング部、
前記一致度を前記ユーザに対して提示する提示部、
を備えることを特徴とするデータセットマッチングシステム。
【請求項2】
前記格納部は、前記第1データセットと併せて、前記第1データセットが有するデータ項目名を記述した第1メタデータを格納し、
前記格納部は、前記第2データセットと併せて、前記第2データセットが有するデータ項目名を記述した第2メタデータを格納し、
前記作成部は、前記第1メタデータが有する第1データ項目名と前記第2メタデータが有する第2データ項目名のうち互いに対応しているものを特定し、
前記作成部は、前記対応にしたがって、前記第1データセットのうち前記第1データ項目名に対応する部分と前記第2データセットのうち前記第2データ項目名に対応する部分をキーとして前記第1データセットと前記第2データセットを結合することにより、前記結合データセットを作成する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項3】
前記作成部は、前記第1データ項目名と前記第2データ項目名との間の類似度が閾値以上である場合は、前記第1データ項目名と前記第2データ項目名が互いに対応しているものとして特定する
ことを特徴とする請求項2記載のデータセットマッチングシステム。
【請求項4】
前記作成部は、前記第1データセットが有するデータ項目と、前記第2データセットが有するデータ項目とが、全て互いに一致しない場合であっても、
前記第1データ項目名に対応する部分と前記第2データ項目名に対応する部分を結合するとともに、
互いに一致しないデータ項目については前記第1データセットと前記第2データセットのうちいずれか一方を空データのまま結合する
ことにより、前記結合データセットを作成する
ことを特徴とする請求項2記載のデータセットマッチングシステム。
【請求項5】
前記第1メタデータは、前記第1データセットが記述しているデータの単位を記述しており、
前記第2メタデータは、前記第2データセットが記述しているデータの単位を記述しており、
前記作成部は、前記第1メタデータと前記第2メタデータの記述にしたがって、前記第1データセットが記述しているデータの単位と前記第2メタデータが記述しているデータの単位を統一した上で、互いに結合する
ことを特徴とする請求項2記載のデータセットマッチングシステム。
【請求項6】
前記格納部は、第3データプロバイダが提供する第3データセットを格納し、
前記格納部は、前記第3データセットと併せて、前記第3データセットが有するデータ項目名を記述した第3メタデータを格納し、
前記作成部は、前記第3メタデータが有する第3データ項目名と前記第1データ項目名と前記第2データ項目名のうち互いに対応しているものを特定し、
前記作成部は、前記第1データセット、前記第2データセット、および、前記第3データセットの組み合わせのうち、前記第1データ項目名、前記第2データ項目名、または前記第3データ項目名が互いに対応しているもの全てについて、データセット同士を互いに結合することにより、前記第3データセットを加味した前記結合データセットを作成する
ことを特徴とする請求項2記載のデータセットマッチングシステム。
【請求項7】
前記真偽判定部は、前記第1データプロバイダから過去に取得したデータの第1統計値を保持しており、
前記真偽判定部は、前記第1統計値と前記第1データセットを比較することにより、前記第1データセットの信頼度を表すスコアを、前記真偽判定の結果として計算する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項8】
前記真偽判定部は、前記第1データセットが改竄されていないことを表す第1改竄防止データを保持しており、
前記真偽判定部は、前記第1改竄防止データに基づき前記真偽判定を実施する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項9】
前記真偽判定部は、前記第1データプロバイダの信頼度を表す第1プロバイダ信頼度データを保持しており、
前記真偽判定部は、前記第1プロバイダ信頼度データを用いて、前記第1データセットの信頼度を表すスコアを計算することにより、前記真偽判定を実施する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項10】
前記真偽判定部は、前記第1データプロバイダまたは前記第1データセットに対する前記ユーザからの評価結果を受け取り、
前記真偽判定部は、前記評価結果を前記第1プロバイダ信頼度データへ反映する
ことを特徴とする請求項9記載のデータセットマッチングシステム。
【請求項11】
前記マッチング部は、前記結合データセットのデータ項目または前記結合データセットの統計値のうち少なくともいずれかを、前記条件の項目として受け取り、
前記マッチング部は、前記条件の項目ごとに前記一致度を計算するとともに、その総合評価値を計算し、
前記提示部は、前記条件の項目ごとに計算した前記一致度または前記総合評価値のうち少なくともいずれかを提示する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項12】
前記マッチング部は、前記条件の項目を前記結合データセットが充足する場合は前記一致度を加点し、
前記マッチング部は、前記加点の結果を前記条件の全項目について合算することにより前記一致度を計算する
ことを特徴とする請求項11記載のデータセットマッチングシステム。
【請求項13】
前記データセットマッチングシステムはさらに、前記第1データセット、前記第2データセット、または、前記結合データセットのうち少なくともいずれかを前記ユーザに対して提供する提供部を備え、
前記提供部は、前記第1データセット、前記第2データセット、または、前記結合データセットに対する、前記ユーザからの評価結果を受け取り、
前記提供部は、前記第1データセット、前記第2データセット、または、前記結合データセットを定期的に提供することを要求する前記評価結果を受け取った場合は、その提供するように要求されているデータセットを取得するごとに、前記ユーザに対してそのデータセットを提供する
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【請求項14】
前記提示部は、
前記第1データセットまたは前記第2データセット、前記一致度、を前記ユーザに対して提示する、
前記第1データセットまたは前記第2データセット、前記真偽判定の結果、を前記ユーザに対して提示する、
前記第1データセットまたは前記第2データセット、前記一致度、前記真偽判定の結果、を前記ユーザに対して提示する、
前記結合データセットを前記ユーザに対して提示する、
前記結合データセットと前記一致度を前記ユーザに対して提示する、
前記結合データセットと前記真偽判定の結果を前記ユーザに対して提示する、
前記結合データセットと前記一致度と前記真偽判定の結果を前記ユーザに対して提示する、
のうちいずれを実施するかを選択可能に構成されている
ことを特徴とする請求項1記載のデータセットマッチングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のデータセットを組み合わせてユーザに対して提示するデータセットマッチングシステムに関する。
【背景技術】
【0002】
機械学習やAIの発展によりデータの価値が上がってきている。そのためにはまず有用なデータセットを用意することが重要である。しかし、自社内だけで有用なデータセットを見つけるのは難しく、また、社外においても希望するデータセットが手に入るとは限らない。
【0003】
下記特許文献1は、データセットの品質向上に関する技術を記載している。同文献は、『機械学習に用いるデータセットの品質向上として、データセットを生成する過程に基づいて、ラベリング担当者の評価を行うことが可能な情報処理装置、情報処理方法、およびプログラムを提供する。情報処理装置は、機械学習のための入力データの所定の位置に仮ラベルを付与する仮ラベル付加処理と、前記仮ラベルに対するラベリング担当者の修正入力に応じてラベルデータを生成する処理と、前記ラベリング担当者が修正したラベルデータと、予め取得した正解ラベルデータとを比較し、前記ラベリング担当者のラベリング精度を算出する処理と、を行う制御部を備える。』という技術を提供する(要約参照)。
【0004】
下記特許文献2は、結合可能なデータテーブルを探索する技術を記載している。同文献は、『結合テーブル探索装置530は、結合索引記憶部520から結合索引の入力を受け付ける入力手段531と、類似度関数ごとの結合索引を用いて対象カラムのレコードを検索した場合に推定される結合可能なレコードペアの数である結果数を結合索引ごとに算出し、算出された結果数の多い順に結合索引の利用順を規定した検索プランを生成する検索プラン生成手段532と、検索プランで規定された順に結合索引を用いて、対象カラムのレコードの検索を行い、予め定めた閾値以上のレコードが検索された外部テーブルを結合テーブルと特定するレコード検索手段533とを含む。』という技術を提供する(要約参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】WO2019/187421
【特許文献2】WO2022/049680
【発明の概要】
【発明が解決しようとする課題】
【0006】
データ分析などの所望する目的に適したデータセットを探すことは、一般に経験が必要な作業であり、かつ多大な時間を要する。また、単独のデータソースから得られるデータセットのみでは、所望する条件を満たさない場合がある。しかしデータセットを収集する従来技術においては、単独のデータソースから得られるデータセットを評価するのが一般的である。
【0007】
特許文献2記載の技術は、データテーブルを結合する技術を記載している。しかし同文献においては、結合するデータセットが信頼性の低いものである可能性について、必ずしも厳密に考慮していないと考えられる。また同文献記載の技術は、ユーザが要求する条件に対応するデータセットを探索するものではない。
【0008】
本発明は、上記のような課題に鑑みてなされたものであり、複数のデータセットを結合することにより、所望する条件を満たすデータセットを得る可能性を高めることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係るデータセットマッチングシステムは、第1データセットと第2データセットそれぞれについて真偽判定を実施した上で結合データセットを作成し、前記結合データセットと所望条件との間の一致度を提示する。
【発明の効果】
【0010】
本発明に係るデータセットマッチングシステムによれば、複数のデータセットを結合することにより、所望する条件を満たすデータセットを得る可能性を高めることができる。本発明のその他の課題、構成、利点、などについては、以下の実施形態を参照することによって明らかになる。
【図面の簡単な説明】
【0011】
図1】実施形態1に係るデータセットマッチングシステム1の構成図である。
図2】データセットマッチングシステム1の運用イメージ図である。
図3】データプロバイダが提供するデータセットの構造とデータ例を示す。
図4】ユーザ3がデータセットマッチングシステム1に対してデータセットに関する所望条件を要求するときのリクエスト形式を示す。
図5】スコアリング情報132の例である。
図6】結合データセットの構造とデータ例を示す。
図7】データセットマッチングシステム1が実施するPhase1の動作を説明するフローチャートである。
図8】データセットマッチングシステムが実施するPhase2の動作を説明するフローチャートである。
図9】S701の詳細を説明するフローチャートである。
図10】S702の詳細を説明するフローチャートである。
図11A】S801の詳細を説明するフローチャートである。
図11B】結合データセットを作成する様子を示す概念図である。
図11C】結合データセットを作成する様子を示す概念図である。
図11D】結合データセットを作成する様子を示す概念図である。
図11E】結合データセットを作成する様子を示す概念図である。
図12】S802の詳細を説明するフローチャートである。
図13】S803の詳細を説明するフローチャートである。
図14】S805の詳細を説明するフローチャートである。
図15】ユーザ3が結合データセットに対して要求する条件をデータセットマッチングシステム1に対して通知するために用いるユーザインターフェースの例である。
図16】S1302においてデータセットマッチング結果表示部121がユーザ3に対して提示するマッチング結果の表示例である。
【発明を実施するための形態】
【0012】
<実施の形態1>
図1は、本発明の実施形態1に係るデータセットマッチングシステム1の構成図である。データセットマッチングシステム1は、複数のデータセットを組み合わせることによって生成した結合データセットをユーザに対して提示するシステムである。データセットマッチングシステム1は、処理装置11、表示装置12、記憶装置13を備える。
【0013】
処理装置11は、データセット格納部111、データセット真偽判定部112、データセット作成部113、データセットマッチング部114、データセットダウンロード部115、を備える。各機能部は、これらの機能を実装した回路デバイスなどのハードウェアによって構成することもできるし、これらの機能を実装したソフトウェアを処理装置11が実行することによって構成することもできる。以下においては後者の構成を例として説明する。各機能部の動作については後述する。図面中のPhase1とPhase2については各機能部の動作と併せて説明する。
【0014】
データセットマッチング結果表示部121(提示部)は、処理装置11が実施したデータセットマッチングの結果を、ユーザ3に対して提示する。データセットマッチング結果表示部121は、表示装置12が備える機能部として構成することもできるし、処理装置11が備える機能部として構成することもできる。以下では記載の便宜上、表示装置12が備える機能部であるものとする。
【0015】
記憶装置13は、格納データセット131、スコアリング情報132、提供データセット133、を格納する。これらデータの詳細については後述する。データプロバイダ2は、データセットを提供する。1つのデータプロバイダが複数のデータセットを提供する場合もある。以下では記載の便宜上、1つのデータプロバイダが1つのデータセットを提供するものとする。
【0016】
図2は、データセットマッチングシステム1の運用イメージ図である。ユーザ3は所望するデータセットの条件を、データセットマッチングシステム1に対して要求する。ここでは弁当購入に関するリクエストを例示した。リクエストは自然文形式でもよいし、キーワードのみであってもよい。自然文形式のリクエストを受け取った場合、データセットマッチングシステム1は、その自然文からキーワードを抽出する。例えばキーワードの候補をあらかじめ保持しておいてこれに合致するものを抽出する、などの手法が考えられるがこれに限るものではない。
【0017】
データセットマッチングシステム1は、1つ以上のキーワードの組み合わせごとに、そのキーワードに対応するデータセットを取得する。このとき、データセットの信頼度をあらかじめ評価した上で、評価スコアを付与しておく。この処理を本実施形態においては真偽判定と呼ぶ。真偽判定の手順については後述する。評価スコアが低いデータセットは、後述するマッチングの対象から除外し、あるいはそのデータセットを用いたマッチング結果の評価が低くなる場合がある。
【0018】
データセットマッチングシステム1は、キーワードの組み合わせに対応するデータセットを1つ以上取得し、それらのデータセットを結合することにより、結合データセットを作成する。例えばキーワード「購入」に対応するデータセットとして、A社の弁当屋販売データを取得する。さらにキーワード「地域」に対応するデータセットとして、C社の気象予想データを取得する。これら2つのデータを結合することにより、キーワード「購入」「地域」の組み合わせに対応する結合データセットを得ることができる。弁当屋販売データを単独でユーザ3に対して提供する場合と比較すると、気象予想データを結合することにより、データセットとしての価値が上がる可能性が考えられる。ユーザ3が所望しているデータセットは、弁当購入と地域に関するものだからである。
【0019】
データセットマッチングシステム1は、各データプロバイダから取得したデータセットおよび/または結合データセットを、ユーザ3に対して提示する。このとき、ユーザ3からのリクエストと各データセットとの間の一致度をあらかじめ評価してその結果を併せて提示してもよい。ユーザ3は、所望条件に合致するデータセットを、データセットマッチングシステム1から取得する。
【0020】
図3は、データプロバイダが提供するデータセットの構造とデータ例を示す。データセットは、例えば1つのレコードがカラムごとに値を有するテーブル形式のデータとして提供される。同等のデータ内容を記述できればデータ形式はテーブルでなくともよい。データセットは、各レコードを識別するためのIDを有し、さらにデータセット自身を識別するためのIDも有する。
【0021】
データセットはさらに、データレコードとは別に、メタデータを有する。メタデータはデータセットの属性を記述したデータである。例えばデータセットの内容を表すキーワード(すなわちカラム名のリスト)などをメタデータとして記述することができる。メタデータはその他に、データセットのレコードのデータタイプ(画像データ、数値データ、テキストデータ、など)、データ件数、データフォーマット、などの属性を記述してもよい。メタデータはデータセット本体と一体化してもよいしデータセット本体とは別に構成してもよい。
【0022】
図4は、ユーザ3がデータセットマッチングシステム1に対してデータセットに関する所望条件を要求するときのリクエスト形式を示す。ユーザ3は、所望するデータセットの内容を表すキーワードを指定する。その他、所望データ件数や所望データフォーマットなどを指定することもできる。さらに、所望条件の優先度を指定してもよい。例えば3つのキーワードのうち最初の1つは優先度が他の2つのキーワードよりも高い、データ件数については指定件数よりも不足していても構わない、その他の条件は必ず準拠する、などである。図4においてはデータ件数を充足必須(MUST)とし、データ形式を充足必須ではないが充足していれば後述する一致度が加点される項目(BETTER)とした。
【0023】
結合データセットは、ユーザ3が指定するキーワードを充足する必要がある。ただしキーワードごとに優先度を設けてもよい。例えばキーワード『弁当』を充足した場合は、条件に対する一致度評価を大きく加点し、キーワード『地域』を充足した場合は小さく加点する、などのようにキーワードごとに一致度評価の重みを付与することにより、キーワードごとの優先度を設けることができる。具体例については一致度を計算する手順において改めて説明する。
【0024】
図5は、スコアリング情報132の例である。スコアリング情報132は、真偽判定の結果を評価スコアとして記述したデータである。評価スコアは評価項目ごとに計算し、その総合評価(例えば各評価項目のスコアの平均値)を最終的な評価スコアとして用いることができる。評価項目としては例えば以下のようなものが挙げられる:改竄されている可能性はないか;データプロバイダの信頼性はあるか;データセットまたはデータプロバイダのユーザーレビューが高評価か;以前の同種データセットと比較して、傾向や分布が変わっていないか。
【0025】
各評価項目についてあらかじめ評価スコアの閾値を設けておき、全ての評価項目について閾値以上の評価スコアを得たデータセットのみを、結合データセットとして結合するようにしてもよい。例えば結合データセットを作成する処理を開始する前にスコアリング情報をあらかじめ計算しておき、いずれかの評価項目について評価スコアが閾値未満であるデータセットは、結合データセットを作成する処理の対象から外せばよい。
【0026】
図6は、結合データセットの構造とデータ例を示す。データセットマッチングシステム1は、データプロバイダが提供するデータセットを結合することにより、結合データセットを生成する。結合手順については後述する。データセットマッチングシステム1は、結合データセットについてもメタデータ(結合メタデータと呼ぶ)を付与する。結合メタデータは、例えば各データセットのメタデータの論理和などによって生成できる。
【0027】
図7は、データセットマッチングシステム1が実施するPhase1の動作を説明するフローチャートである。Phase1は準備段階の動作であり、データセット格納部111とデータセット真偽判定部112によって実施される。データセット格納部111は、データセット格納処理を実施する(S701)。データセット真偽判定部112は、S701において取得したデータセットの真偽判定を実施する(S702)。各ステップの詳細は後述する。
【0028】
図8は、データセットマッチングシステムが実施するPhase2の動作を説明するフローチャートである。Phase2は、データセット作成部113(S801)、データセットマッチング部114(S802)、データセットマッチング結果表示部121(S803)、データセットダウンロード部115(S804~S805)によって実施される。各ステップの詳細は後述する。
【0029】
図9は、S701の詳細を説明するフローチャートである。データセット格納部111は、データプロバイダ(この例においてはデータセット提供会社)が提供するデータセットおよびデータセットのメタデータを、それぞれ取得する(S901)。データセット格納部111は、取得したデータセットおよびメタデータを、格納データセット131として記憶装置13へ格納する(S902)。
【0030】
図10は、S702の詳細を説明するフローチャートである。データセット真偽判定部112は、格納データセット131から各データセットを取り出す(S1001)。データセット真偽判定部112は、以下の手順によって評価項目ごとに真偽判定評価を実施してその評価スコアを計算し(S1002)、その結果をスコアリング情報132として格納する(S1003)。
【0031】
(評価項目例その1)データセット真偽判定部112は、データセットが改竄されている可能性を、評価スコアとして計算することができる。例えばデータセットの電子署名やハッシュ値(改竄防止データ)を用いて、そのデータセットが改ざんされている可能性を判定することができる。改竄されていると推測されるデータセットについては、改竄されていないデータセットよりも、真偽判定評価スコアを低くセットする。
【0032】
(評価項目例その2)データセット真偽判定部112は、データプロバイダの信頼性を、評価スコアとして組み込むことができる。例えばデータプロバイダごとに信頼性スコアを記述した信頼性データをあらかじめ保持しておき、その信頼性スコアを真偽判定評価スコアへ加算する(あるいは評価係数として乗算する、などのようなその他計算手順であってもよい、以下の真偽判定評価スコアについても同様)などによって、データプロバイダの信頼性を真偽判定評価スコアのなかに組み込むことができる。
【0033】
(評価項目例その3)データセット真偽判定部112は、データセットまたはデータプロバイダのユーザーレビューが高評価であるか否かを、評価スコアとして組み込むことができる。例えばデータセットごとまたはデータプロバイダごとにユーザレビュースコアを記述した信頼性データをあらかじめ保持しておき(上述のデータプロバイダごとの信頼性スコアと一体化してもよい)、そのユーザレビュースコアを真偽判定評価スコアへ加算するなどによって、データプロバイダの信頼性を真偽判定評価スコアのなかに組み込むことができる。
【0034】
(評価項目例その4)データセット真偽判定部112は、以前の同種データセットと比較して、傾向や分布が変わっているか否かを、評価スコアとして組み込むことができる。例えばデータセットの統計値(例:移動平均、標準偏差など)をあらかめ計算しておき、新たなデータセットがその統計値から閾値以上逸脱した場合は、その逸脱量に応じて真偽判定評価スコアを下げる(あるいは統計値からの距離が近いほど真偽判定評価スコアを高くする)、などによって、データセットの傾向や分布の変化を真偽判定評価スコアのなかに組み込むことができる。
【0035】
評価項目例その1は、フェイクデータなどのような評価対象外とすべきデータを排除するために用いることができる。したがって評価項目例その1の評価スコアが閾値未満であるデータセットは、結合データセットの対象外とすることが望ましい。評価項目例その2~その4は、結合データセットの対象外とするデータセットを特定するために用いることもできるし、結合データセットを作成する際に用いるものの一致度評価を低くするために用いることもできる。
【0036】
図11Aは、S801の詳細を説明するフローチャートである。データセット作成部113は、格納データセット131から各データセットとメタデータを取り出し、さらに各データセットのスコアリング情報132を取り出す(S1101)。データセット作成部113は、ユーザ3が指定した所望するデータセットの条件にしたがって、結合データセットを作成する(S1102)。S1102の具体例については後述する。データセット作成部113は、結合データセットのメタデータを作成する(S1103)。データセット作成部113は、結合データセットと結合メタデータを、提供データセット133として格納する(S1104)。
【0037】
図11Bは、結合データセットを作成する様子を示す概念図である。データセット作成部113は、カラム構成が異なる2つのデータセットを結合する際には、同じカラムを対応させた上でデータレコードを結合することができる。図11Bの例においては、日時カラムの値が同じレコードについて、カラムを追加する結合態様で結合する。例えば1つ目のデータセットの1行目レコードと、2つ目のデータセットの1行目レコードは、日時カラムの値が同じなので、これらを1つのレコードとして集約することができる、という結合態様が考えられる。このような結合態様は、横方向の結合と呼ぶ場合もある。
【0038】
図11Cは、結合データセットを作成する様子を示す概念図である。データセット作成部113は、カラム構成が同じである2つのデータセットを結合する際には、同じカラムを対応させた上でデータレコードを結合することができる。図11Cの例においては、日時カラムと弁当名称カラムと価格カラムは共通しているので、レコードを追加する結合態様で結合することができる。このような結合態様は、縦方向の結合と呼ぶ場合もある。ただし弁当種別カラムは一方のデータセットのみが有しているので、同カラムを有さないデータセットについては、弁当種別カラムの値を空白のままで結合してもよい。
【0039】
図11Dは、結合データセットを作成する様子を示す概念図である。データセット作成部113は、カラム名が異なるが実質的には同じ内容を表すカラムについては、同じカラムとみなして結合してもよい。図11Dの例においては、名称とNAMEは同義語であるので、これらは同じカラムとみなして、図11Cと同様にレコードを追加する結合態様(縦方向の結合)で結合した。図11Bと同様にカラムを追加する結合態様(横方向の結合)においても同様に、同じ内容を表すとみなすことができるカラムを基準として結合することもできる。図11Dの結合態様は、いわゆる名寄せと同様の考え方に基づく。
【0040】
異なるカラム名が同じであるか否かをデータセット作成部113が判断する際には、例えば以下のような判断手法を用いることができる:(a)同義語辞書をあらかじめ保持しておき、これに基づき、異なるカラム名が同じ内容のカラムであるか否かを判定する。図11Dの例においては、名称とNAMEが同義語である旨の同義語辞書を保持しておけばよい;(b)同じカラム名に属するべきデータ値を機械学習器によってあらかじめ学習しておき、その学習器に対して新たなレコードを投入することにより、そのレコードが属するべきカラム名を判断する。例えば入力として与えたテキストが人名であるか否かを判断するように機械学習をあらかじめ実施しておく(すなわち、与えられたテキストを人名とそれ以外へ分類するように学習器を構成する)。『NAME』カラムに属するレコード値を学習器に対して投入し、そのカラムが人名を記述しているか否かについての判断結果を学習器から得ることができる。
【0041】
同義語辞書を用いる場合、機械学習を用いる場合、あるいはその他の手法を用いる場合のいずれにおいても、データセット作成部113は、カラム間の類似度が閾値以上である場合はそれらカラムが同じ内容を表しているとみなして、データセットを結合することができる。機械学習を用いる場合、分類結果の推定精度が閾値以上である場合はそれらカラムが同じであると取り扱うことができる。同義語辞書を用いる場合は、対応する同義語があれば閾値を満たし、そうでなければ閾値を満たさないことになる。その他の手法を用いる場合も、その手法に応じた閾値を用いればよい。
【0042】
図11Eは、結合データセットを作成する様子を示す概念図である。データセット作成部113は、同じ内容を記述したカラムであってもデータの単位が異なる場合は、単位をいずれかのカラムへ揃えた上で結合する。レコード値の単位は例えばメタデータ上に記述することができる。図11Eの例においては、日時カラムのフォーマットが互いに異なる例と、価格の単位が互いに異なる例を示した。
【0043】
日時カラムについては、より詳細に日時を記述したカラムのデータ形式へ揃えることが考えられる。例えば一方のカラムが日付と時刻を記述しており、他方のカラムが日付のみを記述している場合、結合データセットは日付と時刻を記述するように構成し、時刻が不足しているレコードについては固定時刻(例:12:00)をセットすればよい。価格カラムについては、より詳細に価格を記述したカラムのデータ単位へ揃えることが考えられる。例えば一方のカラムが1円単位で価格を記述し、他方のカラムが100円単位で価格を記述している場合、結合データセットは1円単位で価格を記述するように構成すればよい。
【0044】
上記の他に、例えば時間を記述したカラムについて、時/分/秒のうちいずれかの単位に揃えることが考えられる。あるいは重量を記述したカラムについて、kg/gのうちいずれかの単位に揃えることが考えられる。その他の単位の違いについても同様に処理することができる。
【0045】
データセット作成部113は、S1102において、ユーザ3からのリクエスト条件を満たすデータセットを、結合データセットを作成するために用いる。例えばリクエスト条件が指定するキーワードが『弁当、購入、地域』であれば、少なくともこれらのうちいずれかに関連するカラムを有するデータセットを選択する。その上で、選択したデータセット間において共通するカラムを基準として図11B図11Eのように結合することにより、結合データセットを作成する。
【0046】
データセットの組み合わせについては、データセット間において共通するカラムが存在する限り(かつリクエスト条件を充足する限り)、なるべく多くの組み合わせパターンを用いることが望ましい。例えばリクエスト条件を充足する3つのデータセット(データセットA~C)を選択した場合、それらのデータセットが全て共通するカラムを有するのであれば、4パターンの結合データセットを作成することが可能である(データセットAB、データセットAC、データセットBC、データセットABCそれぞれの組み合わせ)。さらには、各データセット単独でそのまま広義の結合データセットとして提供することも可能である。本発明においては各データセット単独で提供する場合においても、そのデータセットは結合処理の結果として提供されるのであるから、結合データセットの1例として取り扱うこととする。
【0047】
カラム名が共通するという基準のみでデータセットを結合すると、一見無関係なデータセット間の結合が発生する可能性が考えられる。例えば東京都における販売データと神奈川県における天候データは、仮にいずれも日時カラムを有しているとしても、一見すると無関係である。しかしこのようなデータであっても、結合することにより、意外な相関関係を見出すことができる可能性も考えられる。したがって、なるべく多くの組み合わせパターンで結合データセットを作成することは、そのような観点において有用であるといえる。
【0048】
図12は、S802の詳細を説明するフローチャートである。データセットマッチング部114は、ユーザ3からのリクエスト条件にしたがって作成した結合データセットと結合メタデータを全て、提供データセット133から取得する(S1201)。データセットマッチング部114は、結合メタデータセットとリクエスト条件との間の一致度を計算する(S1202)。結合メタデータセットとリクエスト条件との間の一致度は、例えば以下のようにして計算することができる。
【0049】
リクエスト条件は、1つ以上の条件項目によって構成されている。図4の例においては、キーワード/形式/データ件数/データフォーマットの4つの条件項目がある。結合データセットが条件項目を充足するごとに、一致度を加点することができる。条件項目ごとの加点幅は同じであってもよいし、条件項目ごとに異なっていてもよい。例えばデータ件数を充足すれば20点、データフォーマットを充足すれば10点、などのように一致度を加点することができる。条件項目ごとの加点結果を合算することにより、一致度を求めることができる。
【0050】
データ件数のような統計的値を有する評価項目については、充足/非充足のいずれかに加えて、これらの中間的な加点評価をすることもできる。例えばユーザ3はリクエスト条件として1000件以上のレコードを所望し、結合データセットは800件のレコードを有する場合、20×800/1000=16点を加点することが考えられる。
【0051】
リクエスト条件が指定するキーワードが複数ある場合、結合データセットが有するそのキーワードごとに、加点評価することもできる。例えばリクエスト条件が指定するキーワードが『弁当、購入、地域』である場合、結合データセットが弁当に関するカラムを有する場合は20点を加点し、購入に関するカラムを有する場合は15点を加点し、地域に関するカラムを有する場合は10点を加点する、などが考えられる。
【0052】
図13は、S803の詳細を説明するフローチャートである。データセットマッチング結果表示部121は、S802において計算した一致度の降順に、結合データセットを並び替える(S1301)。データセットマッチング結果表示部121は、以下をユーザ3に対して提示する(S1302):一致度;結合メタデータ;結合データセットの一部。提示画面の1例は後述する。
【0053】
図14は、S805の詳細を説明するフローチャートである。データセットダウンロード部115は、S804においてユーザが指定した結合データセットを、ユーザ3(が使用するコンピュータなど)に対して送信する。この例においてはデータセットマッチングシステム1が結合データセットを提供するが、これに代えてあるいはこれと併用して、データセットマッチングシステム1は結合データセットを構成するデータセットを識別するID、リンク、などの参照情報のみを提示し、ユーザ3自身がそのデータセットを提供元(例えばデータプロバイダ)から直接取得してもよい。
【0054】
図15は、ユーザ3が結合データセットに対して要求する条件をデータセットマッチングシステム1に対して通知するために用いるユーザインターフェースの例である。この画面は例えばデータセット作成部113(その他の機能部でもよい)がWebアプリケーションなどの形式で提供することができる。ここでは図4に示した条件項目に対応するインターフェース例を示したが、条件項目に応じてインターフェースを変更してもよい。例えば図15に加えてキーワードごとに優先度を付与する場合は、そのための入力欄を設けてもよい。
【0055】
図16は、S1302においてデータセットマッチング結果表示部121がユーザ3に対して提示するマッチング結果の表示例である。このユーザインターフェース上においては、一致度と結合メタデータが表示され、さらに結合データセットの一部を『サンプル表示』リンクから表示することができる。例えば結合データセットのうち先頭10レコードをポップアップウインドウ内に表示する。ユーザ3は取得したい結合データセットを画面右端のチェックボックスによって選択する(S804)。ユーザ3がダウンロード実行ボタンを押下すると、データセットダウンロード部115は選択された結合データセットを送信する。ここでは一致度の総合評価のみを提示しているが、ユーザ3が提示した条件項目ごとの一致度をさらに提示してもよい。
【0056】
<実施の形態1:まとめ>
本実施形態に係るデータセットマッチングシステム1は、データセットの信頼性を判定するための真偽判定を実施した上で、ユーザリクエストにしたがってデータセットを結合することにより結合データセットを作成し、結合データセットとユーザリクエストとの間の一致度を提示する。これにより、ユーザは所望条件に合致する様々な結合データセットを得ることができる。さらに、結合する前のデータセットに対してあらかじめ真偽判定を実施しているので、結合データセットの信頼性を確保することができる。したがって、信頼性とデータバリエーションを両立した様々な結合データセットを、ユーザに対して過度な負担をかけることなく提供することができる。
【0057】
<実施の形態2>
実施形態1においては、ユーザ3が結合データセットを指定してダウンロード実行ボタンを押下すると、データセットダウンロード部115がその結合データセットをユーザ3に対して送信する例を説明した。データセットダウンロード部115はさらに、ユーザ3が選択した結合データセットについて、ユーザ3から評価結果を受け取ってもよい。例えばその結合データセットがリクエスト条件に対してよく合致しているので定期的に提供するように要求する旨の評価結果を受け取った場合、データセットダウンロード部115はその結合データセットと同じ構成の新たなレコードを有する新たな結合データセットを得るごとに(例:1か月ごと)、ユーザ3に対して定期送信あるいはデータ取得を促す通知を発信してもよい。
【0058】
実施形態1においては、データプロバイダまたはデータセットに対するユーザ3からのレビュー結果を記述した信頼性データをあらかじめ保持しておき、これを真偽判定において用いることを説明した。この信頼性データは、例えばユーザ3からレビュー結果を受け取るごとに更新してもよい。これにより、データプロバイダまたはデータセットの信頼性を常時正確に真偽判定結果として反映することができる。
【0059】
以上の実施形態において、データセットマッチング結果表示部121およびデータセットダウンロード部115は、ユーザ3に対して提供するデータおよび情報を、サービスレベルに応じて段階付けしてもよい。例えば以下のように提供内容を段階付けすることができる。いずれのサービスレベルを提供するかについては、ユーザ3が指定できるようにすることが望ましい。結合前のデータセットのみを提供するのはデータプロバイダ自身が可能であるので、以下の例からは除外した。
【0060】
(提供サービスレベルの例その1)結合する前のデータセットと一致度評価結果のみを提供し、結合データセット、真偽判定評価結果については提示しない。
(提供サービスレベルの例その2)結合する前のデータセットと真偽判定評価結果のみを提供し、結合データセットと一致度評価結果については提供しない。
(提供サービスレベルの例その3)結合する前のデータセット、一致度評価結果、真偽判定評価結果、を提供し、結合データセットは提供しない。
(提供サービスレベルの例その4)結合データセットを提供し、一致度評価結果と真偽判定評価結果は提供しない。
(提供サービスレベルの例その5)結合データセットと一致度評価結果を提供し、真偽判定評価結果は提供しない。
(提供サービスレベルの例その6)結合データセットと真偽判定評価結果を提供し、一致度評価結果は提供しない。
(提供サービスレベルの例その7)結合データセットと一致度評価結果と真偽判定評価結果を提供する。
【0061】
以上の実施形態において、データプロバイダはデータセットごとに異なってもよいし、データセットのうちいずれか2つ以上が同一のデータプロバイダから提供されるものであってもよい。
【符号の説明】
【0062】
1:データセットマッチングシステム
2:データプロバイダ
3:ユーザ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図11E
図12
図13
図14
図15
図16