(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
以下図面について、本発明の一実施の形態を詳述する。
【0014】
(1)データ蓄積システムの構成
図1は、本発明の一実施の形態に係るデータ蓄積システム1の構成例を示すブロック図である。
図1に示すように、データ蓄積システム1は、端末2と通信可能に接続され、また、ネットワーク4を介してオープンデータ3と通信可能に接続されている。
【0015】
データ蓄積システム1は、非構造データを含むオープンデータ3を収集してローカルなストレージ(ストレージ13)に蓄積する情報処理装置であって、情報処理装置のCPU(Central Processing Unit)がROM(Read Only Memory)に記憶された所定のプログラムを読み出して実行すること等によって、後述する各構成(データ収集部11、スキーマ管理部12、特徴抽出部14、及び検索部15)による機能を実現する。
【0016】
端末2は、データ蓄積システム1に蓄積されたデータに対する検索操作や検索結果の表示を行うことができる情報処理装置であって、例えば、検索を行うユーザが保持するタブレット等が想定される。簡略のため、
図1には1つの端末2しか示していないが、本実施の形態では、複数の端末2がデータ蓄積システム1に通信可能に接続される構成を想定することができる。
【0017】
図1に示すように、端末2は、検索操作が行われる検索操作部21と、画像を表示する表示部22とを備える。
【0018】
検索操作部21は、検索操作用のアプリケーションプログラムである検索アプリ211が動作することによって、データ蓄積システム1のストレージ13に蓄積されたオープンデータ3(データ16)を対象とする検索の検索条件等をユーザによって指定する操作(検索操作)を実現する。この検索操作では、具体的には例えば、表示部22において、GUI(Graphical User Interface)を用いて所定の検索入力画面が表示され、この検索入力画面に対してユーザが検索条件等を指定する操作を行う。そして、検索操作が行われると、指定された検索条件等を示す検索条件データ19が、データ蓄積システム1の検索部15に送信される。詳細は後述するが、検索条件データ19には、指定されたキーワードや原画データ等が含まれる。また、表示部22は、上記のように検索入力画面を表示する他に、データ蓄積システム1の検索部15による検索処理の結果として出力される検索結果データ18に基づいて、検索結果を表示する(検索結果画面の表示)。
【0019】
検索入力画面は、後述する
図2,
図3に具体例が示され、検索結果画面は、後述する
図2に具体例が示される。
【0020】
オープンデータ3は、ウェブページ等に公開された、自由に使用・再利用・再配布を行うことができるオープンデータである。具体的には、論文データや地図データ、気象データ、あるいは人口統計等の様々なデータに相当する。一般に、これらのオープンデータの多くは、所定の構造定義がされていない非構造データである。以降、本明細書においては、本発明を適用可能な非構造データのオープンデータの代表例として、画像を含む論文データを中心に説明する。なお、
図1に示したオープンデータ3は、ウェブページ等に公開されたあらゆる種類のオープンデータのうち、本実施の形態においてデータ蓄積システム1に収集されるオープンデータを意味している。また、データ蓄積システム1がオープンデータ3を収集する際に介在するネットワーク4は、例えばインターネットであるが、これに限定されるものではない。
【0021】
(2)各構成による機能
図1に示すように、データ蓄積システム1は、データ収集部11と、スキーマ管理部12と、ストレージ13と、特徴抽出部14と、検索部15と、を備えて構成される。以下に、各構成による機能について詳しく説明する。
【0022】
(2−1)データ収集部
データ収集部11は、非構造データを含むオープンデータ3を収集し、ストレージ13に記憶する。
図1に示すように、データ収集部11は、データ取得部111と、構文解析部112と、スキーマ生成部113と、データ登録部114とを備えている。
【0023】
データ取得部111は、ネットワーク4を介してオープンデータ3を取得する。オープンデータ3の取得方法は、プログラムの実行に基づいて自動実行するようにしてもよいし、管理者による手動操作に基づいて実行するようにしてもよい。
【0024】
構文解析部112は、データ取得部111が取得したオープンデータ3の構文解析を行う。具体的には例えば、オープンデータ3がXML(eXtensible Markup Language)形式の文書やファイルである場合に、テキストデータの部分だけを抜き出して変換するXMLパース機能等を実行する。構文解析によって得られる結果は、例えばCSV(Comma-Separated Values)形式のテキストデータ(またはテキストファイル)にまとめられる(
図1に示すCSVデータに相当)。なお、構文解析部112による構文解析の手法については特に限定されない。
【0025】
スキーマ生成部113は、構文解析部112による構文解析の結果を用いて、スキーマ管理部12によるスキーマ管理を行うためのスキーマ情報(
図1に示すスキーマに相当)を生成し、スキーマ管理部12に登録する。なお、データ蓄積システム1においてスキーマ管理を行わない場合は、スキーマ生成部113やスキーマ管理部12は不要としてもよい。
【0026】
データ登録部114は、構文解析部112による構文解析後のオープンデータ3(データ16)をストレージ13に格納する。なお、データ16の格納形式は特に限定されるものではないが、例えば、テキストデータ部分をCSV形式とし、画像データ部分を所定の画像ファイル形式とする等が考えられる。また、構文解析部112による構文解析を行わずに、データ取得部111が取得したままのオープンデータ3(所謂、生のオープンデータ)をデータ16としてストレージ13に格納するようにしてもよい。
【0027】
また、データ登録部114は、上記のようにオープンデータ3をデータ16に格納する際に、オープンデータ3に含まれる画像データにおける各軸の単位やスケールを所定の単位やスケールに変換しておくことが好ましい。画像データの色彩(濃淡や輝度を含む)が値を表している場合、色彩と値が所定の関係になるように規格化してもよい。スケール変換は、単位のみならず、次元の変換も含んでいてよい。例えば、長さにかかるデータを乗算することで面積にしたり、重さにかかるデータを体積で除算して密度にしたりすることが、次元の変換に該当する。このような事前変換を行ったデータ16をストレージ13に格納することにより、後述する特徴抽出部14における特徴抽出の処理負荷を低減することができる。
【0028】
(2−2)スキーマ管理部
スキーマ管理部12は、データ蓄積システム1において、ストレージ13に蓄積するデータ16を所定のスキーマ情報を用いて管理(スキーマ管理)するための機能を有する。具体的には例えば、オープンデータ3のスキーマ情報を生成したスキーマ生成部113からの登録要求を受けて、当該スキーマ情報の属性を定義してデータ辞書に格納する等の処理を行う。そして、前述したように、構文解析部112によって生成されるCSVデータは、取得したオープンデータ3がスキーマ情報に基づくデータ構造に変換されたものであり、このCSVデータに基づくデータ16がストレージ13に蓄積される。したがって、スキーマ管理部12は、ストレージ13に蓄積されるデータ16をスキーマ管理することができる。なお、スキーマ管理の具体的な方法は、データベース管理システム(DBMS)で従来知られている種々の方法を採用することができるため、詳細な説明は省略する。
【0029】
本実施の形態に係るデータ蓄積システム1では、ストレージ13に蓄積するデータ16に対して必ずしもスキーマ管理を行う必要はないが、スキーマ管理を行うことによって、大量に蓄積されるデータ16を構造的に管理することができ、例えば検索部15による検索処理(特にSQLクエリエンジン151による処理)において処理負荷を低減することができる。
【0030】
(2−3)ストレージ
ストレージ13は、データ蓄積システム1のローカルなストレージである。本実施の形態に係るデータ蓄積システム1では、ウェブサイト等に公開されているオープンデータ3(データ16)をローカルなストレージに蓄積することによって、蓄積したデータ16に対する後述の処理(特徴抽出部14による特徴抽出や、特徴抽出によって生成される高度メタデータ17の付加)を実現可能としている。
【0031】
なお、本明細書における「ローカルなストレージ」とは、オープンデータ3が置かれたウェブサイトのようなグローバル環境に対する「ローカル環境」のストレージを意味している。したがって、ストレージ13は、必ずしも、データ蓄積システム1の情報処理装置において物理的な内部に配置されるストレージに限定されるものではなく、例えば、リモート接続されるストレージ(データセンタのストレージやVPNで接続されるクラウドストレージ等)であってもよい。
【0032】
(2−4)特徴抽出部
特徴抽出部14は、ストレージ13に蓄積されたデータ16(以後、広義にはオープンデータ3と読み替えられる)の内容に基づく特徴抽出を行って当該データ16の高度メタデータ17を生成し、生成した高度メタデータ17を当該データ16に紐付けてストレージ13に記憶する。以降ではこのような特徴抽出部14による処理をまとめて高度メタデータ付加処理とも称する。
【0033】
ここで、高度メタデータ17について詳しく説明する。まず、メタデータとは、データについてのデータを意味する。ファイルシステムにおいて、データはファイルやディレクトリに含まれ、これらの各オブジェクトに関する情報がメタデータに記録される。データ収集部11が収集するオープンデータ3には、例えば、データ名、データサイズ、及びデータ作成日等が一般的なメタデータとして付随している。特に、オープンデータ3が画像を含む論文データである場合は、著者、サマリー(要約)、分野等もメタデータに記録され得る。本明細書では、このような一般的なメタデータを「第1のメタデータ」とも称する。これら第1のメタデータは、オープンデータ3の内容を確認しなくても(すなわち、オープンデータ3を開くことなく)取得可能な情報であるという特徴を有する。
【0034】
これに対し、本実施の形態における特徴抽出部14は、オープンデータ3(ストレージ13に記憶されたデータ16)の内容に基づく特徴抽出によって、一般的なメタデータ(第1のメタデータ)とは別に、当該データ16に対する新たなメタデータとして高度メタデータ17を生成する。本明細書では、この新たなメタデータ(高度メタデータ17)を「第2のメタデータ」とも称する。この第2のメタデータは、オープンデータ3の内容を確認しないと把握することができない(すなわち、オープンデータ3を開いて初めて取得可能な)情報であって、具体的には例えば、オープンデータ3が画像を含む論文データである場合、当該論文におけるキーワードやキーセンテンス等の他、画像データの特徴(グラフにおける各軸の単位やスケール、変曲点、面積、形状等)が第2のメタデータに相当する。
【0035】
前述したように、本実施の形態では、オープンデータ3(データ16)を収集してローカルなストレージ13に蓄積するため、特徴抽出部14は、ストレージ13に記憶されたデータ16を開いて特徴抽出を行うことにより、その内容を確認することができる。データ(テキストデータ及び画像データ)の特徴抽出を行う方法は、従来様々な解析方法が知られており、それらの何れかを採用すればよい。
【0036】
例えば、ストレージ13に記憶されたデータ16(オープンデータ3)が画像を含む論文データであるとき、当該論文データには、論文を記述するテキストデータと、論文に添付される画像データとが含まれる。特徴抽出部14は、このような論文データを解析して特徴抽出を行うことにより、テキストデータに含まれるキーワードや画像データの特徴等を抽出し、これらを高度メタデータ17とする。抽出可能な画像データの特徴として、より具体的には、画像データに示されたグラフにおける各軸(例えばX軸,Y軸)の単位やスケールが挙げられる。また、画像データの切り出し解析によって、グラフ中の変曲点(その位置や個数等)、面積、形状等も特徴として抽出することができる。
【0037】
以上に説明したように、特徴抽出部14による高度メタデータ付加処理が行われることによって、ストレージ13に蓄積された非構造データ(データ16,オープンデータ3)には、元々付随する第1のメタデータとは別に、第2のメタデータ(高度メタデータ17)が紐付けられることになる。そして、紐付けされた第2のメタデータ(高度メタデータ17)の各情報項目は、ストレージ13に蓄積された非構造データに対する処理(検索処理と呼び、詳細は後述する)が行われるときに、その検索条件として指定可能である。
【0038】
また、本実施の形態において、特徴抽出部14による高度メタデータ付加処理は、端末2におけるユーザによる検索操作に応じて検索部15による検索処理が行われる前に実行される。具体的には例えば、ストレージ13にデータ16が記憶されるごとに高度メタデータ付加処理が行われてもよいし、定期的にストレージ13に蓄積されたデータ16に対して高度メタデータ付加処理が行われてもよい。さらに、何れのパターンにおいても、データ蓄積システム1におけるその他の処理の進行を妨げずにバックグラウンドで処理を実行することが好ましい。
【0039】
また、本実施の形態に係るデータ蓄積システム1では、特徴抽出部14によってストレージ13に記憶されたデータ16に付加された(または付加される)高度メタデータ17について、管理者やユーザによって手動でこれらの追加や修正が行えるように構成されてもよい。このように構成されることによって、例えば、過去と現在とで呼称が異なる語句が存在するとき、付加された高度メタデータ17におけるキーワードが過去の呼称であった場合に、現在の呼称に置き換える(修正)ことができる。この結果、同一内容をキーワードに持つ過去の論文データと現在の論文データとを関連付けて検索することが可能となり、検索精度の向上に期待できる。
【0040】
(2−5)検索部
図2は、検索部による検索処理のイメージを説明するための図である。
図2には、端末2の表示部22における検索入力画面23及び検索結果画面24の一例が示されている。なお、
図2に示す検索入力画面23は、
図3に詳述するものと同じである。また、
図2に示されたイメージのうち、検索部15側の処理については、以下に詳述する。
【0041】
検索部15は、端末2においてオープンデータ3(データ16)の検索操作が行われた場合に(換言すれば、検索操作部21が操作されて、所定の検索入力画面において検索条件等が指定された場合に)、当該検索条件等(検索条件データ19)に基づいて、ストレージ13に記憶された高度メタデータ17を検索し、該当する高度メタデータ17に紐付けられたデータ16を検索結果(検索結果データ18)として出力する検索処理を行う。
【0042】
検索部15による検索処理では、検索操作において検索条件として与えられたキーワード等について、該当する高度メタデータ17を検索する「キーワード検索(本例ではSQL検索に相当)」が行われ、また、検索操作において原画データとして与えられた画像データについて、当該画像データに示される画像(例えば、グラフ等の図形)と、キーワード検索でヒットした高度メタデータ17に紐付いたデータ16に含まれる画像と、の比較検索を行う「画像マッチング検索」が行われる。画像マッチング検索には、画像同士の類似度を算出して類似の画像を抽出する公知の様々な検索方法を適用可能である。なお、画像マッチング検索における画像の比較検索では、完全一致の判定に限らず、所定の類似精度に従って類似性を判断する類似性検索を行うことができる。類似精度は、ユーザ等によって指定することができる(不図示)。
【0043】
また、本実施の形態では、検索操作において詳細検索条件が与えられた場合に、指定された詳細検索条件に基づいて、画像マッチング検索(画像の比較検索)における類似性の判定基準を変更することができる。例えば、詳細検索条件で、「グラフ形状の類似(相似)」が指定されたときには、画像に示された図形(グラフ)の形状について、軸のスケールが一致しなくても形状が類似していることを重視して画像マッチング検索を行う。このように詳細検索条件を反映することによって、より多様な類似性について画像マッチング検索を行うことができる。
【0044】
以上をまとめると、以下のようにも言える。すなわち、検索部15は、検索操作においてキーワード等による検索条件のみが指定された場合は、キーワード検索だけを行い、その検索結果を出力する(簡単検索)。また、検索操作においてキーワード等による検索条件と原画データとが指定された場合には、キーワード検索と画像マッチング検索とを組み合わせて行い、その検索結果を出力する(拡張検索)。さらに、検索操作において詳細検索条件が指定された場合には、検索部15は、指定された詳細検索条件に基づいた類似性を比較するように画像マッチング検索を行い、その検索結果を出力する(類似性拡張検索)。
【0045】
(2−5−1)検索入力画面
ここで、端末2の説明で前述した「検索入力画面」について、具体例を示して詳述する。
【0046】
図3は、検索入力画面の一例を説明するための図である。
図3に示した検索入力画面23は、表示領域231〜233を有している。
【0047】
このうち、表示領域231では、検索における比較元の画像データ(原画データ)を指定するための操作が行われる。比較元の画像データとしては、端末から指定された画像データを用い、ストレージ13に格納してある画像データや、端末2から送信される画像データが比較元の画像データになりうる。検索操作で原画データが指定された場合は、検索部15によって、原画データに一致または類似する画像を有するオープンデータ3が検索される。例えば
図3の表示領域231では、「A0001.jpg」というファイルが指定され、そのサムネイル画像234が表示されている。
【0048】
表示領域232では、グラフの軸の単位(X軸,Y軸)、検索結果の上限数(Max件数)、キーワード(関連キーワード)等の検索条件を指定するための操作が行われる。例えば
図3の表示領域232では、グラフの軸の単位はX軸、Y軸ともに「nm」、検索結果は最大20件まで、検索するキーワードとしては「電子顕微鏡」、「磁性体」、「白」が指定されている。
【0049】
なお、表示領域232に配置された「検索開始」のボタン235を押下すると、検索入力画面23で指定した検索条件等が確定し、検索条件データ19としてデータ蓄積システム1に送信される。また、表示領域232に配置された「表示」のボタン236を押下すると、表示部22の表示は、指定した検索条件等に基づく検索結果を示す検索結果画面(
図2の検索結果画面24を参照)の表示に切り替わる。
【0050】
表示領域233は、表示領域232における「詳細検索条件」のプルタブを選択することによって表示される領域であって、表示領域232で指定する検索条件に加えて、類似性の判断基準とする検索基準を指定するための操作が行われる。
図3の表示領域233では、「グラフ形状」の詳細検索条件として「面積(絶対値)」が選択されているが、これは、グラフが示す面積(例えば、グラフとX軸とで閉じられた部分の面積)の絶対値が、原画データにおける当該面積に類似することを重視して検索することを指定するものである。
【0051】
また例えば、表示領域233で「類似(相似)」が選択された場合は、仮に軸の単位が異なっていたとしても、図形(例えばグラフ)の形状が、原画データにおける図形の形状に類似することを重視して検索することを指定するものである。「類似(相似)」が選択されていない場合には、グラフであれば大きさ(軸における範囲)のみならず、位置(軸における値)まで考慮することが可能である。検索におけるグラフの重ね合わせに軸における位置を考慮してもよい。「色彩(彩度)」が選択された場合は、画像データにおける色彩が、彩度の点で原画データにおける色彩に類似することを重視して検索することを指定するものである。色彩が数値を表している場合、実質的には数値による検索になる。
【0052】
なお、当然のことながら、
図3に示した検索条件及び詳細検索条件の各項目は一例に過ぎず、他の情報項目が設定されてもよい。また、表示領域231における原画データの指定、並びに表示領域233における詳細検索条件の指定は、必須の操作項目ではない。
【0053】
(2−5−2)SQL検索
検索部15の説明に戻る。
図1に示したように、検索部15は、SQLクエリエンジン151、スケール単位変換部152、変換テーブル153、及びマッチング判定部154を備える。
【0054】
SQLクエリエンジン151は、SQL検索を行う検索エンジンである。ユーザによる検索操作によって検索アプリ211上でキーワード等の語句が検索条件として指定されると(
図3の表示領域232参照)、SQLクエリエンジン151は、当該キーワード等の語句(検索キーワード)についてストレージ13に記憶された高度メタデータ17をSQL検索する。
【0055】
なお、SQLクエリエンジン151は、SQL検索を行う際に、スキーマ管理部12を参照してストレージ13におけるデータ構造を把握することによって、効率的にストレージ13に記憶された高度メタデータ17を検索することができる。
【0056】
また、SQLクエリエンジン151は、ストレージ13にアクセスする際に、スケール単位変換部152を介することにより、検索対象のデータ16に含まれる画像(例えばグラフ)の単位やスケールを変換した上で、SQL検索を行うことができる。すなわち、画像(例えばグラフ)に関する高度メタデータ17の単位やスケールを、スケール単位変換部152が検索条件に合わせて変換し、変換後の高度メタデータ17に対してSQLクエリエンジン151がSQL検索を行うものであり、このようにすることで検索精度を高めることができる。
【0057】
そして、SQLクエリエンジン151によるSQL検索で選ばれた高度メタデータ17は、マッチング判定部154に送られてマッチング判定される。
【0058】
(2−5−3)スケール単位変換
スケール単位変換部152は、検索条件で指定された情報項目(あるいは、原画データに示される図形の軸)のスケールや単位に合わせて、高度メタデータ17のスケールや単位を変換する機能(スケール単位変換)を有する。なお、上記単位やスケールの変換規則は変換テーブル153に登録されているが、これらの変換規則は予め用意されるとしてもよいし、適宜更新可能としてもよい。
【0059】
また、スケール単位変換部152が、画像に関する高度メタデータ17のスケールや単位を変換した場合、当該変換に応じて、画像に示された図形(例えばグラフ)の形状も変換される。
【0060】
なお、本実施の形態に係るデータ蓄積システム1においては、原画データに示された図形(グラフ等)に関するスケールや単位等を示す情報は、ユーザが毎回登録(入力)するのではなく、既存のマッチングエンジンを用いて自動解析されることが好ましい。このように構成されることによって、ユーザによる登録の手間を省くことができ、検索操作全体におけるユーザの負担や時間消費を大きく抑えることができる。
【0061】
(2−5−4)マッチング判定
マッチング判定部154は、検索操作で指定された検索条件等(原画データ及び検索条件)と、スケール単位変換部152によって変換された後の高度メタデータ17(あるいは、変換が行われない場合は、SQLクエリエンジン151によるSQL検索で選ばれたままの高度メタデータ17)とのマッチング判定を行う。マッチング判定に用いられる判定アルゴリズムは、既存の検索アルゴリズムを利用可能である。
【0062】
図4は、検索部による検索処理の処理手順の一例を説明するフローチャートである。
図4には、端末2における検索操作において検索条件等(原画データ及び検索条件)が指定された場合に、検索部15で実行される検索処理のうち、特にスケール単位変換からマッチング判定に係る処理を中心に処理手順の一例が示されている(すなわち、必ずしも検索部15による検索処理のすべての処理手順を示すものではない)。
【0063】
図4によれば、まず、ステップS11において、スケール単位変換部152が、所定の初期設定を行う。初期設定の項目としては例えば、詳細検索条件のON/OFF、分析対象範囲の指定、判定精度(認識精度や類似精度等)の指定、並びに、使用する変換テーブル153の指定等が挙げられるが、これらに限定されるものではない。
【0064】
次にステップS12において、スケール単位変換部152は、ストレージ13から蓄積されたデータ16を読み出す。ステップS12で読み出したデータ16は、所定の記憶領域に保存され、ステップS13以降の変換処理が行なわれる(このデータを、以後は比較対象データと呼ぶ)。なお、ステップS12では、ストレージ13に蓄積された全てのデータ16を一気に読みだすのではなく、段階的に(例えば1個ずつ)読み出すようにしてもよく、読み出したデータ16のそれぞれについて、ステップS13以降の処理が行われる。
【0065】
また、検索条件でキーワード等が指定されている場合には、当該キーワード等によるSQL検索を行い、SQL検索で該当したデータ16だけ(具体的には例えば、当該キーワード等に関する画像を有するデータ16だけ)をステップS13において読み出すようにすると、読み出すデータ量を低減でき、処理性能を高めることができる。
【0066】
ステップS13において、スケール単位変換部152は、ステップS12で読み出した各データ16(比較対象データ)について、データ16に含まれる画像のスケール単位情報を原画情報に合わせて変換する。ここで、「スケール単位情報」とは、画像が示す図形(グラフなど)における軸の単位やスケール等の情報を意味し、原画情報とは、原画データに示された図形における「スケール単位情報」を意味する。
【0067】
次に、ステップS14では、スケール単位変換部152は、ステップS13におけるスケール単位情報の変換に応じて、比較対象データにおける画像の図形の形状を変換する。ステップS13,S14の処理が行われることにより、非構造データである比較対象データに含まれる画像の図形は、原画データに示された図形と、スケール単位情報が共通化される。
【0068】
次に、ステップS15では、マッチング判定部154が、ステップS14で変換された比較対象データの図形と、原画データに示された図形とを比較する(マッチング判定)。マッチング判定は、既存の検索アルゴリズムを利用して行われ、ステップS11の初期設定で設定された類似精度の範囲内で、類似性の有無を判断する。前述したように、ステップS13,S14に処理によって、比較対象データと原画データとは、スケール単位情報が共通化されている(共通の構造化されたデータとなっている)ので、ステップS15では、既存の検索アルゴリズム(類似性検索)を利用することができる。
【0069】
そしてステップS16では、マッチング判定部154は、ステップS15において類似性が検出されたか否かを確認する。なお、ここでの「類似」には「一致」を含んでよい。
【0070】
ステップS16において類似性が検出された場合は(ステップS16のYes)、ステップS15においてマッチング判定を行った比較対象データの変換前のデータ16を、所定の記憶領域(サムネイル候補格納領域)に転送する(ステップS17)。その後、ステップS19に進む。
【0071】
サムネイル候補格納領域に保存されたデータ16は、すべての比較対象データに対するステップS12〜S18の処理が終了したのち、検索結果の上限数(Max件数)の範囲内で検索結果として出力される。また、検索結果表示画面において何れかの検索結果が選択された場合には、選択されたデータ16のサムネイル画像が表示される(
図2の検索結果画面24を参照)。なお、サムネイル画像は、単位スケール変換が行われる前の形式(すなわち、元のデータ16の形式のまま)で表示することが好ましい。
【0072】
一方、ステップS16において類似性が検出されなかった場合は(ステップS16のNo)、ステップS15においてマッチング判定を行った比較対象データを廃棄し(ステップS18)、ステップS19に進む。なお、ステップS18において廃棄(削除)されるデータは、ステップS12でストレージ13から読み出されたデータ(比較対象データ)であって、ストレージ13に蓄積されたデータ16そのものではない。
【0073】
なお、検索操作において詳細検索条件が指定された場合には、ステップS16において類似性が検出されなかった比較対象データに対して、指定された詳細検索条件に応じたスケール単位変換を再度行ってマッチング判定を行うようにする。そしてこの再度のマッチング判定において類似性が検出された場合は、ステップS17に進み、それでも類似性が検出されなかった場合は、ステップS18に進んで比較対象データを廃棄(削除)する。
【0074】
ステップS19では、全ての比較対象データについてステップS12〜S18の処理が終わったか否かを判断する。処理が残っている比較対象データがあった場合は(ステップS19のNo)、次の比較対象データについてステップS12からの処理を繰り返す。全ての比較対象データについて処理済みと判断した場合は(ステップS19のYes)、全体の処理を終了する。
【0075】
以上、説明したように、検索部15の各部による処理が行なわれることによって、検索操作において指定された検索条件等に基づいて、ストレージ13に記憶された高度メタデータ17を検索し、さらに原画データが指定された場合には、高度メタデータ17のスケール単位変換を行って画像マッチング検索が行われ、これらの検索によって類似性が検出されたデータ16(高度メタデータ17に紐付けられたデータ16)が、検索結果(検索結果データ18)として端末2に出力される。そして、検索結果が入力された端末2では、検索結果画面24が表示部22に表示される。
【0076】
表示部22における検索結果画面24の表示態様は特に限定されるものではないが、例えば、
図3に例示した検索結果画面24をイメージすることができる。
図3の検索結果画面24は、表示領域241及び表示領域242を有している。このうち、表示領域241には、原画データのサムネイル画像(例えば、
図3の検索入力画面23の表示領域231を参照)が表示される。また、表示領域242には、検索結果として選ばれたデータ16のうちの1つのサムネイル画像が表示される。なお、表示領域242に表示されるサムネイル画像は、検索部15による検索処理によって最も類似性が高いと判定されたデータ16のサムネイル画像であってもよいし、検索結果として複数のデータ16が提示されたうちから、ユーザが選択した1つのデータ16のサムネイル画像であってもよい。
図3の検索結果画面24のように、比較元の画像(原画データ)と比較先の画像(検索結果)とが並べて表示されることによって、視覚上で容易に類似点及び相違点を把握でき、優れた比較効果を奏することができる。なお、
図3の検索結果画面24にように、サムネイル画像だけを比較表示するのではなく、対象画像を含むデータ全体(または1ページ分)を比較表示するようにしてもよい。また、前述した通り、
図3の検索結果画面24は一例に過ぎないため、例えば、比較結果として選ばれたデータ16だけを検索結果画面に表示する等であってもよい。
【0077】
また、本実施の形態に係るデータ蓄積システム1では、検索結果画面24において、検索結果に対応するサムネイル画像が自動で表示されるように構成すれば、例えば、検索結果として選択されたデータ16が複数ページに亘る論文データ等の場合であっても、原画データと最も関係する部分を、ユーザが簡単に把握できる態様で表示できるため、検索の利便性を更に高めることができる。
【0078】
(3)効果
以上に説明したように、本実施の形態に係るデータ蓄積システム1によれば、オープンデータ3をローカルなストレージ13に収集し、その内容に基づいた高度メタデータ17(第2のメタデータ)を生成して当該データに紐付け、検索時には高度メタデータ17を検索することにより、オープンデータ3が非構造データであっても検索可能なデータ蓄積システム及びデータ検索方法を実現することができる。
【0079】
より詳細には、検索部15による検索処理において、スケール単位変換部152が、検索の基準として指定された検索条件(キーワード等)や原画データにおけるスケールや単位に基づいて、ストレージ13に収集された比較先のデータ16におけるスケールや単位を変換することにより、比較元と比較先とを同一構造(比較可能な構造)にすることができるため、キーワード等の検索条件によるキーワード検索(SQL検索)や、原画データとの画像マッチング検索において、既存の検索アルゴリズムを利用して類似性検索を実行することができる(簡単検索や拡張検索)。
【0080】
ここで上述したスケールや単位の変換による効果について、
図5の具体例を用いて補足する。
図5は、スケールの異なる図形の第1の具体例を示す図である。なお、
図5(A)及び
図5(B)に示された図形(グラフ)における各軸の単位は共通とする。
【0081】
図5(A)と
図5(B)とを比較すると、各軸のスケールが異なっていることが分かる。具体的には、
図5(A)では、縦軸は「a」をおよその上限とし、横軸は「d」をおよその上限としているのに対し、
図5(B)では、縦軸は「a」よりも大きい「c」をおよその上限とし、横軸は「d」よりも小さい「b」をおよその上限としている。
【0082】
このような
図5(A)及び
図5(B)は、一見すると異なる内容を示すグラフのように考えられるが、各図のグラフの軸のスケールに注視すると、異なる見解が見えてくる。すなわち、
図5(A)及び
図5(B)の何れも、グラフの縦軸の最大値は「a」で、横軸の最大値は「b」であり、共通している。また、変曲点の個数(ここでは縦軸方向で3個)や縦軸の最大値をとる横軸の値の相対位置等を加味すると、両図のグラフは極めて類似していることが分かる。すなわち、本実施の形態においてスケール単位変換部152が行うように、
図5(A)のグラフのスケールに合わせて
図5(B)のグラフのスケールを変換することによって、両図のグラフは高い類似性を持つ形状に変換され、このような変換後に類似性検索を行うことによって、
図5(B)の図形(グラフ)は
図5(A)の図形(グラフ)に類似しているという検索結果を容易に得ることができる。このような検索結果の具体的な表示例として、前述した
図3では、原画データのサムネイル画像が表示される表示領域241に
図5(A)のサムネイル画像が示され、検索結果の1つのサムネイル画像が表示される表示領域242に
図5(B)のサムネイル画像が示されている。
【0083】
以上のように、本実施の形態に係るデータ蓄積システム1によれば、比較先の画像における図形のスケールが異なっていた場合に、そのスケールを共通化させるように変換することで、類似性の判断を容易に行うことができ、構造の異なるデータ間であっても検索を可能とすることができる。すなわち、従来のデータ蓄積システムでは、非構造データが検索対象となった場合には、単位やスケールの不一致によって、類似性検索を行うことが困難であるという課題があったが、本実施の形態に係るデータ蓄積システム1は、このような従来の課題を解決することができ、類似性検索が可能な対象を増やすことができ、画像データ(非構造データ)を含むオープンデータに対する精度の高い検索を実現することができる。なお、
図5の第1の具体例では、スケールの相違例を示したが、単位が相違する場合も、適宜変換を行うことによって、検索処理による同様の効果を得ることができる。
【0084】
また、前述したように、本実施の形態に係るデータ蓄積システム1によれば、検索操作において詳細検索条件が指定された場合には、指定された詳細検索条件に応じたスケール単位変換を再度行ってマッチング判定を行うことから、画像データ(非構造データ)を含むオープンデータに対してより多様な類似性検索を行うことが可能となる(類似性拡張検索)。
【0085】
ここで上述した類似性拡張検索におけるスケールや単位の変換による効果について、
図6の具体例を用いて補足する。
図6は、スケールの異なる図形の第2の具体例を示す図である。
図6(A)は、検索操作において指定された原画データに示された図形を示し、
図6(B)は、検索対象とされる1つの画像データに示された図形を示している。
図6(C)については後述する。なお、
図6(A)〜
図6(C)に示されたグラフにおける各軸の単位が共通とする。
【0086】
ここで、
図6(A)と
図6(B)とを比較すると、何れも、縦軸の上限は「a」、横軸の上限は「b」であり、類似した楕円状の図形が示されている点で共通している。すなわち、
図6(B)は、
図5の第1の具体例で説明したところの、各軸のスケールを共通化するスケール単位変換が行われた後の比較画像データと捉えることもできる。このような
図6(A)及び
図6(B)は、画像全体のスケールが共通となっているなかで、図形の形状が類似(相似)しているように見える。
【0087】
しかし、楕円状の図形を詳細に比べると、横軸の最大値は何れも「b」であるが、縦軸の最大値は、
図6(A)では「b」であるのに対し、
図6(B)では「c」と異なる値となっている。すなわち、
図6(A)と
図6(B)とでは、縦軸と横軸とのスケール比が異なっているために類似(相似)に見えるだけで、実際には類似性が低い可能性がある。
【0088】
すなわち、上記の拡張検索におけるスケール単位変換だけでは、詳細検索条件で指定された項目に着目した類似性検索が十分に行えない可能性があり、このような場合でも適切な画像マッチング検索を実現するために、本実施の形態では、詳細検索条件で「図形の類似(相似)」が指定された場合の類似性拡張検索において、スケール単位変換部152が、
図6(A)の各軸のスケール比に基づいて、
図6(B)の各軸のスケール比をさらに変換(再変換)することができる。具体的な再変換処理としては、例えば、
図6(B)の図形を縦軸方向に「a/c」倍することによって、
図6(B)における縦軸の最大値「c」を
図6(A)における縦軸の最大値「a」に合わせ、両画像に示された図形の各軸方向の最大値のスケールを一致させる。
図6(C)には、
図6(B)にこのような再変換を行った後の図形が示されている。
図6(C)の図形の形状を
図6(A)と比較すると、類似性が低いことが分かる。
【0089】
そして、このように比較元(原画データ)の図形のスケール比に応じて拡大または縮小の再変換を行った
図6(C)を
図6(A)と比較することによって、本実施の形態に係るデータ蓄積システム1は、類似性拡張検索において「図形の類似(相似)」が指定された場合でも、適切に類似性の判断を行うことが可能となる。なお、上述した再変換の具体的な処理は一例であって、他にも例えば、縦軸方向の再変換は行わずに、
図6(B)の横軸の「b」の位置を、
図6(A)の横軸の「b」と同じ位置になるように拡大/縮小する再変換を行うようにしてもよい。
【0090】
以上のように、本実施の形態に係るデータ蓄積システム1によれば、構造の異なるデータ間であっても、検索操作において詳細検索条件が指定された場合には、指定された詳細検索条件に応じたスケール単位変換を再度行ってマッチング判定を行うことで、詳細検索条件に基づいた類似性の判断を容易に行うことができる。なお、
図6ではスケールの相違例(より厳密には、図形の最大スケール比の相違例)を示したが、単位が相違する場合も、適宜再変換を行うことによって、検索処理による同様の効果を得ることができる。
【0091】
(4)補足
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。実施の形態の構成の一部について、必要に応じて構成の追加・削除・置換をすることが可能である。
【0092】
例えば、本実施の形態に係るデータ蓄積システム1では、ストレージ13に蓄積したデータ16は、所定の処理を行う等の目的のために、一時的に外部システムと送受信されるように構成されてもよい。具体的には例えば、データ16をPDF(Portable Document Format)形式に変換するためにPDF変換サーバに送信し、PDF形式に変換したデータ16を再度ストレージ13に蓄積する等の構成が考えられる。この他にも例えば、ストレージ13に蓄積されたオープンデータ3(データ16)に対して公的な認証を得るために、当該データを所定の外部機関に一旦送信し、与信確認を行ったうえで、再度ストレージ13に蓄積する等の構成も考えられる。
【0093】
また例えば、本実施の形態に係るデータ蓄積システム1では、特徴抽出部14または検索部15の少なくとも一部の機能について、外部システム(外部アルゴリズムエンジン)が代行するように構成されてもよい。具体的には例えば、特徴抽出部14による特徴抽出を学習できるようにする場合に、学習を行う外部システムを利用して特徴抽出を行うようにする構成が考えられる。また例えば、検索部15において、マッチング判定部154によるマッチング判定に利用するためのデータ処理の一部を外部システムで実行するようにしたり、スケール単位変換部152によるスケール単位変換において内部の変換テーブル153ではなく外部の変換テーブルを参照するようにしたりする構成が考えられる。
【0094】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現したり、ネットワークを介して接続される複数の情報処理装置によって実現したりしてもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0095】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。