(57)【要約】【解決課題】データの特徴が多岐に亘っても、データベースに対するデータ検索をユーザの負荷を低減しながら、精度よく行えるデータ処理システムを提供する。【課題解決手段】ユーザーデータの特徴量に基づいて類似データを検索するためのデータ処理システムであって、コントローラと、メモリと、を備え、前記コントローラは前記メモリに記録されたデータ処理プログラムを実行することにより、前記ユーザーデータが属するデータ構造を認識し、当該データ構造は、前記ユーザーデータを有する第１のノードと、当該第１のノードの近傍の第２のノードを備え、前記第２のノードの情報に基づいて前記特徴量を算出する。【選択図】図１
2020009078.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーデータの特徴量に基づいて類似データを検索するためのデータ処理システムであって、
コントローラと、
メモリと、を備え、
前記コントローラは前記メモリに記録されたデータ処理プログラムを実行することにより、
前記ユーザーデータが属するデータ構造を認識し、当該データ構造は、前記ユーザーデータを有する第１のノードと、当該第１のノードの近傍の第２のノードを備え、
前記第２のノードの情報に基づいて前記特徴量を算出する、
データ処理システム。
【請求項２】
前記コントローラは、
前記第２のノードの情報から前記ユーザーデータの特徴の種別に関連する関連情報を取得し、
前記関連情報に基づいて前記ユーザーデータの特徴を特定し、
前記特定された特徴に基づいて前記特徴量を算出する、
請求項１記載のデータ処理システム。
【請求項３】
前記メモリは、前記関連情報と前記特徴とを対応させるテーブルを備え、
前記コントローラは、当該テーブルに基づいて、前記関連情報から前記特徴を特定する、
請求項２記載のデータ処理システム。
【請求項４】
前記メモリは、前記特定された特徴と前記特徴量のための計算式とを対応させるテーブルを備え、
前記コントローラは、
当該該デーブルに基づいて計算式を特定し、
当該特定された計算式に前記ユーザーデータを適用して前記特徴量を算出する、
請求項３記載のデータ処理システム。
【請求項５】
前記コントローラは、前記第２のノードを、前記第１のノードを起点ノードとした相対パス数に基づいて抽出する、
請求項１記載のデータ処理システム。
【請求項６】
前記第１のノードはテキストベースのフォーマットに基づいて構成され、
前記コントローラは、前記第２のノードのテキスト情報に基づいて前記関連情報を取得する、
請求項２記載のデータ処理システム。
【請求項７】
前記コントローラは、
前記ユーザーデータについて複数の特徴を特定し、
当該複数の特徴の夫々に前記ユーザーデータに対する影響度に応じた重みを設定し、
当該重みを前記特徴量の算出に適用する、
請求項２記載のデータ処理システム。
【請求項８】
前記コントローラは、
前記複数の特徴のうち、同一の特徴に設定されている重みを合計し、
当該重みの合計値を前記特徴量の算出に適用する、
請求項７記載のデータ処理システム。
【請求項９】
前記コントローラは、
前記第１のノードへのアクセス履歴を取得し、
前記相対パス数と前記アクセス履歴とに基づいて、前記第２のノードを抽出する、
請求項５記載のデータ処理システム。
【請求項１０】
コンピュータが、ユーザーデータの特徴量に基づいて類似データを検索するデータ処理方法であって、
前記コンピュータは、データ処理プログラムを実行することにより、
前記ユーザーデータが属するデータ構造を認識し、当該データ構造は、前記ユーザーデータを有する第１のノードと、当該第１のノードの近傍の第２のノードを備え、
前記第２のノードの情報に基づいて前記特徴量を算出する、
データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーデータに類似するデータをデータベースから検索するためのデータ処理に関する。
【背景技術】
【０００２】
半導体、医薬等様々な材料を扱う技術分野では、材料の開発や研究にデータベースが活用されている。データベースのユーザは、データベースに、材料に関する実験データやシミュレーションデータ等を格納し、そして、例えば、自己が開発している材料に参考になる情報を得ようにして、データベースに対してデータ検索を行うことが多々ある。
【０００３】
データベースに対する検索のためのシステムとして、例えば、特許文献１に記載されたものが知られている。特許文献１は、それぞれが多要素・多成分の性質を持つ物質を組み合わせ配合して新しい物質を生成する場合において使用に不明な物質が存在する場合に、過去のシミュレーションや実験から候補となる物質情報をユーザに提供でき、また過去の実験や物質ごとのコストや入手容易性などを保存し、それらを計算に反映させる手法を具備し、それにより配合された物質が検索できる物質作用配合解析データ保存抽出機構を開示している。
【０００４】
さらに、特許文献２は、検索対象データベース抽出手段が、検索条件が入力された際に、検索条件の絞り込みの対象となるデータを含んでいるデータベースを抽出し、統合検索手段は、検索条件が入力されると、実施的に同じレコードに対してデータベースにおいて個別に付加されているデータを統合し、そして、統合された情報に基づいて、検索条件に適合するレコードを検索し、系統検索手段は、特定のレコードを指定した系統検索指令を受けると、指定されたレコードに系統的に近い他のレコードを検索し、検索結果表示手段は、統合検索手段による検索結果や系統検索手段による検索結果を、表示装置の画面に表示する、データベース検索装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2012-048615号公報
【特許文献２】特開1999-175552号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
データベースにおいて材料を検索する際、検索対象の材料とデータベースに登録されている材料との類似度を判定するための尺度として、材料が持つ特徴が利用されている。特徴には、物理的に測定可能な、長さ、質量、強度等があり、その他、コンピュータによって計算される分子・原子に関する情報、例えば、電子状態（エネルギー等）の他、統計処理等の演算処理によって得られるものもある。このように特徴の種類が多岐に及ぶため、データベースでデータ検索を行う際や材料を登録する際、ユーザに特徴を選択、あるいは、指定させることを強いると、ユーザの負荷が大きくなるばかりか、データ検索の精度が低下するおそれがある。
【０００７】
そこで、本発明は、データの特徴が多岐に亘っても、データベースに対するデータ検索をユーザの負荷を低減しながら、精度よく行えるデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記目的を達成するために、ユーザーデータの特徴量に基づいて類似データを検索するためのデータ処理システムであって、コントローラと、メモリと、を備え、前記コントローラは前記メモリに記録されたデータ処理プログラムを実行することにより、前記ユーザーデータが属するデータ構造を認識し、当該データ構造は、前記ユーザーデータを有する第１のノードと、当該第１のノードの近傍の第２のノードを備え、前記第２のノードの情報に基づいて前記特徴量を算出する、ことを特徴とする。さらに、本発明は、前記目的を達成するために、ユーザーデータの特徴量に基づいて類似データを検索するためのデータ処理方法でもある。
【発明の効果】
【０００９】
本発明によれば、データの特徴が多岐に亘っても、データベースに対するデータ検索をユーザの負荷を低減しながら、精度よく行えるデータ処理システム、そして、データ処理方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１はデータ処理システムのブロック図の一例である。
【図２】図２は、データベースＤＢ１，ＤＢ２夫々のデータ構造を表すブロック図である。
【図３】図３は、データベースのデータ構造と、ユーザーデータのカテゴリと、ユーザーデータの特徴との関係のブロック図である。
【図４】図４は業務サーバのブロック図である。
【図５】図５は端末計算機のブロック図である。
【図６】図６は、端末計算機の既述の類似データ検索画面の一例である。
【図７】図７は、端末計算機のユーザーデータ登録画面一例である。
【図８】図８は、端末計算機のカテゴリ判定条件の入力画面の一例である。
【図９】図９は、業務サーバのカテゴリ対応テーブルの一例である。
【図１０】図１０は、業務サーバの特徴対応テーブルの一例である。
【図１１】図１１は、業務サーバの特徴対応テーブルの他の例である。
【図１２】図１２は、業務サーバの計算式リストテーブルの一例である。
【図１３】図１３は、端末計算機からユーザーデータの入力を受けてから特徴量を算出するまでの業務サーバに処理の流れをのフローチャートである。
【図１４】図１４は、相対パス数の範囲の近傍ノードに複数の経路があることを説明する、データ構造のブロック図である。
【図１５】図１５は、近傍ノードへの他の経路を備える、データ構造のブロック図である。
【図１６】図１６は、業務サーバのアクセス履歴テーブルの一例である。
【発明を実施するための形態】
【００１１】
次に、本発明の実施形態を図面に基づいて説明する。図１はデータ処理システムのブロック図の一例である。データ処理システムは、複数のデータベース（データベースサーバ）１０−ｎにネットワーク（Net1）を介して接続する業務サーバ１０１と、業務サーバ１０１にネットワーク（Net2）を介して接続し、業務サーバ１０１に対してデータベースへのデータ登録やデータ検索等をリクエストするユーザ側端末計算機１０２とを備える。
【００１２】
業務サーバ１０１は、複数のデータベースに対する、データの検索、データの登録のためのクラウドサービスを複数の端末計算機１０２に提供する。端末計算機１０２は、クラウドサービスを利用することによって、例えば、材料開発のソルーションを強化することができる。
【００１３】
データベースは特に限定されるものではなく、例えば、MongoDB, PostgreSQL, MySQL, MariaDB（以上、データベースの固有名称）であってよい。データベースは、オープンデータ、及び、ユーザの内部データを保存する。データベースは、ユーザによって管理、運例されるものであってもよい、端末計算機１０２は、材料開発に伴う実験データ、解析データ（三次元シミュレーション等）を業務サーバ１０１を介してデータベースに登録し、又は、類似データをデータベースに基づいて検索することができる。
【００１４】
従来、ユーザは、自身のデータである、実験データやシミュレーションデータが持つ、或いは、データに付帯する特徴に着目して、ユーザーデータに類似するデータをデータベースから検出、抽出することを広く行っている。特徴とは、例えば、材料データの個別情報であって、これは、引っ張り強さ、密度、強度等多種類に及ぶ。
【００１５】
そして、材料の組成、形状、構造、物性等材料の種類や分類の違いによって、材料が備える特徴と材料が備えない特徴との組み合わせは膨大な数になる。それにも拘わらず、従来、ユーザ自身が、特徴を選択、選定、或いは、決定した上で特徴量を計算し、特徴量に基づいて、データベースから類似データを検索しなければならかったことから、その負荷はユーザにとって重かったばかりでなく、特徴の選択が適切でないと、検索結果の精度も低下してしまうおそれもあった。
【００１６】
そこで、業務サーバ１０１は、端末計算機１０２からのユーザーリクエストに応じて、データ処理プログラムを実行し、データベースに格納されているユーザーデータが備えるデータ構造に基づいてユーザーデータの特徴の種類、範囲等を決定し、そして、ユーザーデータを用いて、特徴の重み、例えば、特徴量を計算し、次いで、計算された特徴量に基づいてデータベースを検索して類似データを検索することによって、ユーザの負荷を解放すると共に、検索の精度を向上させている。
【００１７】
業務サーバ１０１が、ユーザーデータ自体からユーザーデータの特徴を決定することは容易でない。何故なら、実験データやシミュレーションデータの値や形式は、ユーザ毎、或いは、データ毎によって大きく相違するからである。
【００１８】
一方、ユーザーデータが、テキストベースのフォーマット（例えば、ｊｓｏｎ、スタースキーマ）で記録されるデータベースでは、データ構造において、ユーザーデータのノードの近傍（「周辺」、と言い換えられてもよい）に、ユーザーデータのためのインデックス、フラグ、要約文、キーワード、汎用語等テキストベースのメタデータとして記録するノードが存在する。このノードを以後、「近傍ノード」と称する。なお、「周辺ノード」等他の用語に言い換えられてもよい。
【００１９】
このメタデータは、ユーザーデータの種類、分類、又は、範囲等(以後、これを「カテゴリ」と総称する。）を判定、特定、決定、又は、判別するのに有益である。そこで、業務サーバ１０１は近傍ノードの格納情報に基づいて、対応テーブル、機械学習、又は、演算等の手段によって、ユーザーデータのカテゴリを判定する。ユーザーデータのカテゴリが定まればこれに関連する特徴の種類も限られてくるため、業務サーバ１０１は限られた特徴について、ユーザーデータに基づいて特徴の値を難なく求めることができる。カテゴリと特徴の対応は、テーブル、機械学習、又は、演算等の手段によって可能になる。
【００２０】
ユーザーデータのノードに対する近傍のノードの範囲は、ユーザーデータのノードを起点として相対パスによって特定されてよい。パスとはノードとノードとの間のリンクである。近傍ノードは、起点ノードから特定の相対パス数のノードでも、あるいは、起点ノードから所定のパス数の範囲にある複数のノードでもよい。近傍ノードである必要がある。例えば、ユーザーデータのノードから遠いノードではユーザーデータとの関係性が薄れ、ユーザーデータのカテゴリを正しく反映しないおそれがある。
【００２１】
近傍ノードの範囲を限定することは、あまり意味があることではない。ユーザーデータのカテゴリを反映するメタデータを備えるノードであれば、近傍ノードであるといってよい。一例を示せば、相対パスの数が１０以下のノードは近傍ノードであるといってよい。相対パスは、親ノード側へのパス数と子ノード側へのパス数との組み合わせによって定義されてよい。たとえば、(Parent x <=2)/(child x <=2)によって相対パスが定義された近傍ノードは、親ノード側に２つのパス以内、次いで、子ノード側に２つのパス以内にある複数のノードの一つ又は複数が“近傍ノード”になる。
【００２２】
図２は、データベースＤＢ１，ＤＢ２夫々のデータ構造を表すブロック図である。データ構造は、複数のノードを木構造で連結させたものである。ＤＢ１とＤＢ２の夫々のデータ構造において、計算対象データとして標記されているノードがユーザーデータのノードである。業務サーバ１０１は、データベースのデータ構造を認識でき、そして、計算対象データのノードへのリンク情報を備えていることから、データ構造内のユーザーデータのノードを認識することができる。
【００２３】
業務サーバ１０１は、起点ノードからの相対パス数によって近傍ノードの範囲を認識すると、複数のノードがある場合は、これを順番に走査してノード内のデータに基づいてカテゴリを判定する。
【００２４】
図２のＤＢ１において、業務サーバ１０１は、起点ノード（計算対象データ）から相対パスの範囲内にある情報、即ち、（(Parent x <=2)/(child x <=2)/*）の範囲内にある、近傍ノードとしての”化学成分ノード”（ＴＮ２００）に属する情報（カテゴリに関連する情報である、「Ｃｕ，Ｎｉ」というテキスト）に基づいて、カテゴリを「金属」と判定する。
【００２５】
そして、ＤＢ２においても、業務サーバ１０１は、起点ノード（計算対象データ）から相対パス
（(Parent x <=2)/(child x <=2)/*）の範囲内にある、近傍ノードとしての「Component Element Prop」（ＴＮ２００）の「Ｎｉ」というテキストに基づいて、カテゴリを「金属」と判定する。
【００２６】
さらにまた、業務サーバ１０１は、起点ノード（計算対象データ）から相対パス（(Parent x <=2)/(child x <=2)/*）の範囲内にある、近傍ノードとしての「素材形状」（ＴＮ２０２）に属する情報、即ち、既述のカテゴリに関連する情報である「Cast Block」というテキストに基づいて、カテゴリを「鋳造」と判定する。
【００２７】
そして、ＤＢ２においても、業務サーバ１０１は、起点ノード（計算対象データ）から相対パス
（(Parent x <=2)/(child x <=2)/*）の範囲内にある、近傍ノードとしての「ｔａｇ」（ＴＮ２０２）に属する情報、即ち、既述のカテゴリに関連する情報である、Alloy cast ironというテキストに基づいて、カテゴリを「鋳造」と決定する。業務サーバ１０１は、近傍ノードである”素材形状ノード”に属する情報、既述のカテゴリに関連する情報である、ＣａｓｔＢｌｏｃｋというテキストに基づいて、カテゴリを「鋳造」と決定する。
【００２８】
図３は、データベースのデータ構造３０１と、ユーザーデータのカテゴリ３０２と、ユーザーデータの特徴３０３との関係のブロック図である。業務サーバ１０１は、複数のカテゴリの中から、計算対象データのノードの近傍ノードである「化学成分」のノードに属する、カテゴリに関連する情報である「Ｃｕ，Ｎｉ」に基づいて、カテゴリを特定する。
【００２９】
業務サーバ１０１は、カテゴリとして複数のものを備える(３０２)。夫々のカテゴリには、カテゴリの種類に応じて関連する特徴３０３が予め割当てられている。業務サーバ１０１は、この割り当てに従って、カテゴリ３０２から特徴３０３を特定する。特徴には特徴量を計算するための式が対応付けられており、業務サーバ１０１は、この計算式に計算対象データを適用して特徴量を算出する。業務サーバ１０１は、カテゴリを介することによって、計算対象データに適した特徴を選定することができる。
【００３０】
次に、業務サーバ１０１について詳しく説明する。図４は業務サーバ１０１のブロック図である。業務サーバ１０１は、コンピュータのハードウェア資源と、ソフトウェア資源と、データ資源とを備える。ハードウェア資源は、コントローラ（ＣＰＵ）４０２と、メモリ４０３と、通信モジュール４０４ａとを備える。ソフトウェア資源は、メモリ４０３内のプログラムによって夫々実現される、近傍ノード抽出モジュール４０５と、カテゴリ特定量モジュール４０６と、特徴決定モジュール４０７と、アクセス履歴収集モジュール４１２と、特徴量計算モジュール４１３、類似データ検索モジュール４１４と、ユーザーデータ登録モジュール４１６とを備える。既述のモジュールは、メモリのプログラムをコントローラ４０２が実行することによって達成される。
【００３１】
データ資源は、カテゴリ対応テーブル４０８と、特徴対応テーブル４０９と、計算式リストテーブル４１０と、アクセス履歴情報テーブル４１１と、を備える。
【００３２】
業務サーバ１０１は、近傍ノード抽出モジュール４０５を実行して、相対パス数に基づいて、ユーザーデータのノードに対する近傍ノード（図２の「化学成分」ノード、「素材形状」ノード等）を抽出する。業務サーバ１０１は、カテゴリ特定モジュール４０６を実行して、近傍ノードを走査して、カテゴリに関する情報（図２の「Ｃｕ」、「Ｎｉ」、「Ｃａｓｔ」）を抽出し、この情報に基づいてカテゴリ対応テーブル４０８（図３：３０１と３０２とのリンク）を参照して、「カテゴリ」を特定する。
【００３３】
さらに、業務サーバ１０１は、特徴決定モジュール４０７を実行して、カテゴリに基づいて、特徴対応テーブル４０９（図３：３０２と３０３との間のリンク）に基づいて特徴を決定する。業務サーバ１０１は、特徴量計算モジュール４１３を実行して、決定された計算式リストテーブル４１０を参照し、特徴に対応する計算式を取得し、計算式にユーザーデータを適用して特徴量を計算する。
【００３４】
業務サーバ１０１は、類似データ検索モジュール４１４を実行して、特徴量に基づいてデータベースに対して類似データを検索する。類似データとは、同一又は類似の特徴について、特徴量に近似した範囲の値を持つデータであってよい。業務サーバ１０１は、ユーザーデータ登録モジュール４１６を実行して、端末計算機１０２からアップロードされるデータを所定のデータベースのデータ構造のノードに格納する。
【００３５】
さらに、アクセス履歴収集モジュール４１３は、サーバ１０１がデータベースにアクセスした履歴を収集し、これをアクセス履歴情報テーブル４１１に記録する。アクセス履歴は、近傍ノード抽出モジュール４０５が起点ノードに対する近傍ノードの抽出をする際に役立つものである。通信モジュール４０４ａは、端末計算機１０２、データベース（ＤＢｎ）との通信を実行する。
【００３６】
図５は端末計算機１０２のブロック図である。端末計算機１０２は、コントローラ４１７と、メモリ４１５と、通信モジュール４０４ｂを備える。メモリ４１５は、ユーザに、業務サーバ１０１へのリクエストを支援するＧＵＩを実現する。ＧＵＩは、ユーザがユーザーデータに類似するデータをデータベース（ＤＢｎ）から検索するための入力画面４１５Ａと、ユーザがユーザーデータをデータベース（ＤＢｎ）に登録するための入力画面４１５Ｂと、業務サーバ１０１に、カテゴリ対応テーブル４０８（図４Ａ）を登録するための入力画面（カテゴリ判定条件入力画面）４１５Ｃとをユーザに提供する。通信モジュール４０４ｂは業務サーバ１０１との通信を実行する。
【００３７】
図６は、既述の類似データ検索画面４１５Ａの一例である。符号５０２Ｂは、ユーザが端末計算機１０２の入力データ５０２Ａ（［C:\input.json］：入力データへのパス）を業務サーバ１０１を介して所定のデータベースのデータ構造にアップロードするための操作部である。符号５０３は、業務サーバ１０１のカテゴリ特定モジュール４０６によって特定されたカテゴリ（「金属」と「棒状」の二つのカテゴリ）を表示する領域である。
【００３８】
符号５０４Ａは、業務サーバ１０１の特徴決定モジュール４０７によって特定された特徴の種別（「引張強さ」と「破断伸び」の二つの特徴名）を表示する領域である。ユーザーデータが所定のデータベースに既に登録されている場合には、５０２Ａ、５０２Ｂへの入力に代えて、業務サーバ１０１は、類似データ検索画面４１５Ａに、ユーザーデータが記録されているデータベースへのリンク情報を表示するようにしてもよい。
【００３９】
符号５０４Ｂは、業務サーバ１０１の特徴量計算モジュール４１３によって計算された、特徴名に対する特徴量を表示する領域である。「引張強さ」（特徴名）に対する特徴量は「２５０ＭＰａ」であり、「破断伸び」（特徴名）に対する特徴量は「０．２％」である。符号５０５は、業務サーバ１０１の類似データ検索モジュール４１４がデータベースを検索して得られた類似データを表示する領域である。符号５０５は、「引張強さ」の特徴量「２５０ＭＰａ」に対して、金属Ａ（「引張強さ」：特徴量「２５０ＭＰａ」）と金属Ｂ（「引張強さ」：特徴量「２３５ＭＰａ」）とが発見されたことを示している。
【００４０】
図７はユーザーデータ登録画面４１５Ｂの一例である。符号５０８Ａはカテゴリが表示される領域であって、符号５０８Ｂの領域に対する入力によって、業務サーバ１０１は、近傍ノード抽出モジュール４０５、そして、カテゴリ特定モジュール４０６を実行してカテゴリを特定し、特定したカテゴリ（例えば、「金属」,「棒状」）を領域５０８Ａに表示する。
【００４１】
さらに、業務サーバ１０１は、領域５０９Ｃへの入力によって、特徴決定モジュール４０７と特徴量計算モジュール４１２を実行して、決定された特徴名（例えば、「引張強さ」、「破断伸び」）を領域５０９Ａに表示し、さらに、特徴量の計算値を５０９Ｂに表示する。なお、５０８Ａの領域、そして、５０９Ａと５０９Ｂの領域に、ユーザが所定値を入力してもよい。この場合、業務サーバ１０１の類似データ検索モジュール４１４は入力された特徴量名と特徴量の値に基づいて類似データを検索してもよい。
【００４２】
図８は、カテゴリ判定条件の入力画面４１５Ｃの一例である。領域５１１は、近傍ノードの範囲（起点ノードからの相対パス）をユーザが入力する領域である。業務サーバ１０１は、データベースに存在するユーザーデータのデータ構造（図２）を入力画面に表示して、ユーザの入力を支援してもよい。このとき、業務サーバは、データ構造の中で、ユーザーデータのノードをユーザに報知すればよい。ユーザは、この報知を受けて、近傍ノードの範囲を指定すればよい。
【００４３】
「(Parent x <= 2)/(Child x <= 3)/*」は、起点ノード（ユーザーデータのノード）からの相対パスを示すものであって、これは、起点ノードから親ノード側に２以内のノードであり、さらに、そこから、子ノード側に３以内のノードを近傍ノードの範囲として指定されたことを意味する。業務サーバ１０１の近傍ノード抽出モジュール４０５は、この入力情報に基づいて近傍ノードを順に走査して、カテゴリ関連情報をサーチする。ユーザは、(Parent x = 2)/(Child x= 3)/*」のように、特定のノードを入力してもよい。また、近傍ノード抽出モジュール４０５は、ユーザーデータの特性、属性等、例えば、ユーザーデータのデータフォーマットがｊｓｏｎであるか、スタースキーマであるかによって、近傍ノードの範囲、又は、近傍ノードを定めてもよい。
【００４４】
次いで、ユーザは、カテゴリの判定条件を５１３Ａ〜５１３Ｅに入力する。例えば、図示されているように、ユーザは、（近傍ノード）の値（５１３Ａ）に、Ｃｕ（５１３Ｂ）を含む（或いは含まない）（５１３Ｃ）を入力し、決定（５１３Ｄ）を操作すると、判定条件が確定され、一方、判定条件の編集（５１３Ｅ）も可能である。さらに、ユーザは、判定条件が成立した際に、判定されるべきカテゴリが“金属”であることを入力する（５１４）。ユーザは、複数のカテゴリの中から、意図するカテゴリを選択すればよい。なお、業務サーバ１０１は、入力条件（５１３Ｂ、５１３Ｃ）とカテゴリ名（５１４）との親和性を検証し、ユーザに警告表示を出力してもよい。例えば、Ｃｕ、又は、Ｎｉに、カテゴリ（高分子）は馴染まない。
【００４５】
図９は、カテゴリ対応テーブル４０８の一例である。カテゴリ特定モジュール４０６は、入力情報（図５：４１５Ｃ、図８）をカテゴリ対応テーブル４０８に更新記録する。カテゴリ対応テーブル４０８には、起点ノードからの相対パスの情報を記録するレコード６０２と、カテゴリ関連情報の条件のレコード６０３と、カテゴリ関連条件が成立した場合のカテゴリのレコード６０４とが、互いに対応するように記録されている。
【００４６】
図１０は、特徴対応テーブル４０９の一例としてのカテゴリと特徴名を対応させたテーブルである。この対応テーブル４０９は、カテゴリ名７０２と特徴名７０３とを対応させている。このテーブルはユーザによって作成されて業務サーバ１０１に登録されてもよいし、又は、業務サーバ１０１によるビックデータの分析等に基づいたものでもよい。特徴決定モジュール４０７は、カテゴリ特定モジュール４０６によって特定されたカテゴリに基づいて特徴名を決定する。
【００４７】
一つのカテゴリに対して、複数の特徴名が割り当てられていてもよいし、複数のカテゴリが同じ特徴名に割り当てられていてもよい。特徴対応テーブル４０９（図１０）は、さらに「特徴重み」というレコード７０４を有する。特徴重みとは、カテゴリ名に記録されたカテゴリに対応する特徴名が、このカテゴリにおいて有する影響度合いのことである。図１０において、「引張強さ」が「棒状金属」に対して発揮する重みが０．３であるのに対いて、「引張り強さ」が「金属」に対して発揮する重みが、これより低い０．２である。即ち、「引張り強さ」は「棒状金属」のカテゴリにおいて単なる「金属」のカテゴリより重視されるべきファクタである。特徴量計算モジュール４１３は、近傍ノードの関連情報によって特定されたカテゴリについて特徴量を算出する際、この重みを特徴量に反映させることによって、類似データの検出精度を向上させることができる。
【００４８】
図１１に、特徴対応テーブル４０９の他の例としての特徴リストテーブル８０１を示す。特徴決定モジュール４０７は、カテゴリ対応テーブル４０８のカテゴリを上から順に読み込んで、対応テーブル４０９（図１０）を参照して、カテゴリに対応する特徴名と特徴重みを特徴リストテーブル８０１に登録する。符号８０４は、特徴対応テーブル４０９としての特徴重み合計テーブルであって、特徴決定モジュール４０７は、特徴リストテーブル８０１を参照し、同じ特徴名の特徴重みを合計し、これを特徴合計リストテーブル８０４に登録する。この特徴重み合計テーブル８０４によって、ユーザーデータに備わってる特徴の種類と、ユーザーデータにおける特徴の影響度合いが確定する。
【００４９】
図１２は、計算式リストテーブル４１０の一例を示す。計算式リストテーブル４１０は、特徴名のレコード９０２と、計算可能条件のレコード９０３と、特徴量を計算するための計算式のレコード９０４を備える。このテーブルは、ユーザによって業務サーバ１０１に定義されたものでよい。特徴量計算モジュール４１３は、特徴重み合計テーブル８０４の特徴名を順番に参照して、計算式リストテーブル４１０（図９）に基づいて、特徴名に対応する計算可能条件９０３と特徴量計算式９０４を決定する。
【００５０】
そして、特徴量計算モジュール４１３は、特徴重み合計テーブル８０４に記録された特徴名毎に計算可能条件に合致するか否かを判定して、合致する場合には、ユーザーデータを特徴量計算式に適用して、特徴名毎に特徴量の値を計算する。特徴量計算モジュール４１３は、特徴重み合計テーブル８０４に従って、特徴名毎の特徴量に合計重みを乗じて特徴量の修正値を計算し、計算した値を図６の検索画面（図６：５０４Ｂ）に出力する。類似データ検索モジュール４１４は、特徴名毎の修正値に基づいて、データべースを検索し、類似する特徴量を持ったレコードを検索画面にリストとして表示する（図６：５０５）。
【００５１】
次に、業務サーバ１０１が、類似データの検索のために、端末計算機１０２からユーザーデータの入力を受けてから特徴量を算出するまでの処理の流れを改めて図１３のフローチャートを利用して説明する。まず、業務サーバ１０１は、端末計算機１０２から類似データ検索の対象のリクエストを受けると（Ｓ１０００）、ユーザーデータのリスト（どのデータベースにどのユーザーデータのフォルダが存在するかというリスト）を端末計算機１０２に出力する。業務サーバ１０１は、端末計算機１０２からユーザーデータの指定を受けると、近傍ノード抽出モジュール４０５を実行して、ユーザーデータのノードの近傍ノードを相対パス数（図８：５１１）にしたがって抽出する（Ｓ１００２）。
【００５２】
続いて、カテゴリ特定モジュール４０６は、近傍ノードを走査し、カテゴリ対応テーブル４０８（図８、図９:６０３）を参照して、近傍ノードにカテゴリ対応テーブルのカテゴリ関連情報（「Ｃｕ，「Ｎｉ」（図８：５１３Ｂ、図９:６０３）、「Ｃａｓｔ」、「Ｂａｒ」（図９:６０３））が含まれていると、関連情報に対応するカテゴリ（図８：５１４、図９:６０４）を特定し、特定されたカテゴリを端末計算機１０２に表示させて（図６：５０３）、Ｓ１００４を終了する。
【００５３】
続いて、特徴決定モジュール４０７は、特徴対応テーブル４０９（図１０）を参照して、特定されたカテゴリに対する特徴名と特徴重みを選択し、これらを特徴リストテーブル８０１に登録する（Ｓ１００６）。さらに続いて、徴決定モジュール４０７は、特徴対応テーブル４０９において、同一の特徴名を含む行の特徴重みの総和を計算し、これを特徴重み合計テーブル８０４に登録する（Ｓ１００８）。なお、このステップでは、影響度が少ない、即ち、合計重みの値が小さい特徴名が登録されるのを防いで、特徴量の計算負荷を低減するために、合計重みの値の所定閾値を超える場合だけ、特徴量名を特徴合計リストテーブル８０４に登録するようにしてもよい。
【００５４】
さらに続いて、特徴量計算モジュール４１３は、計算式リストテーブル４１０（図１２）を参照し、特徴名９０２に対応する特徴量計算式９０４を選択し、これに、ユーザーデータと、特徴名の合計重み（図１１:８０４）を適用して、特徴量を計算する（Ｓ１１００）。なお、特徴量計算モジュール４１３は、計算式リストテーブル４１０の条件（図１２：９０３）を判定し、例えば、ユーザーデータが所定の条件を満たしたとき、特徴量を計算するようにしてもよい。例えば、破断伸び（特徴名）の計算可能条件が「ユーザーデータ:形式（３Ｄ）」であることは、破断伸びの計算には、ユーザーデータが３次元データであることが必要であることを示している。
【００５５】
以上によって、業務サーバ１０１は、類似データ検索のための特徴量の計算を終了する。業務サーバ１０１の類似データ検索モジュール４１４がこの特徴量に基づいてデータベースをサーチして類似データを検索することにより、データの特徴が多岐に亘っても、データベースに対するデータ検索を、ユーザの負荷を低減しながら、精度よく実行されるようにする。
【００５６】
既述のとおり、近傍ノードは、相対パス数によってその範囲が定まる。そして、近傍ノード抽出モジュール４０５は、相対パス数の範囲のノードを近傍ノードとして抽出する。ところで、相対パス数の範囲のノードには、複数の系統のノードが存在する態様がある。近傍ノード抽出モジュール４０５は全てのノードを抽出する。近傍ノード抽出モジュールは、抽出されるノードを分類する手段を備え、一部の分類のノードに制限してこれを抽出することもできる。既述のアクセス履歴収集モジュール４１１は、この手段の一例である。アクセス履歴とは、ユーザがユーザーデータの登録、更新のために、アクセスした履歴であり、履歴は、日付、アクセス先への経路の記録を含む。
【００５７】
相対パス数の範囲の近傍ノードに複数の経路があることをまず説明する。ユーザーデータ（特徴量を計算すするための元データ）に複数の近傍データ（近傍ノードのデータ）が存在する場合に、相対パスで指す近傍データが一つに同定できない。例えば、図１４に示すように、ユーザーデータ（材料A1と材料A2を組み合わせた実験Xデータ）には「材料A1の概要」という親ノードを含む近傍ノード１１０１と、「材料A２の概要」という親ノードを経由する近傍ノード１１０２からなる２つの経路を有する。
【００５８】
さらに、図１５に示すように、入力データに実験データも含まれているので、ユーザーデータに対して「実験Xの概要」という親ノードを含む、図１４の系統とは完全に別系統の近傍ノード１１０３が存在することになる。
【００５９】
次に、アクセス履歴について説明する。端末計算機１０２のＧＵＩからのアクセスでは利用者への表示画面一つに一階層のデータが表示されるため、１１０１（図１４）の階層における「材料A1の概要」というWebページにアクセスしてから「材料A1と材料A2を組み合わせた実験Xデータ」というWebページにアクセスする場合は画面遷移が発生する。このような画面遷移における前回アクセスページと今回アクセスページを紐付ける履歴が生じる。近傍ノード抽出モジュール４０５は、この履歴を利用することによって、相対パス数の範囲の近傍ノードを「化学配合A1」に制限できる。
【００６０】
ユーザーデータに対してSQLなどのクエリ言語からのアクセスでは、親ノードとその子ノードに対して一度のクエリでアクセスでき、複数のノードを同時に表示するために使用されるJOIN（ジョイン）の対象データ名での順番をアクセス経路の履歴になる。例えば、クエリ文「SELECT * FROM 実験Xデータ JOIN 材料A1の概要 USING 材料ID」は「材料A１と材料A2を組合せた実験Xデータ」とその親の「材料AIの概要」を同時に参照するクエリ文である。「JOIN」の右側のデータ名、すなわち「材料A1の概要」を最初のアクセスとし、左側のデータ名すなわち「実験Xデータ」を次のアクセスとして、JOINの順番をアクセス経路の履歴とすればよい。
【００６１】
アクセス履歴収集モジュール４１３は、ユーザのアクセス履歴を収集して、収集した履歴をアクセス履歴情報テーブル４１１に記録する。図１６はアクセス履歴情報テーブル４１１の一例である。アクセス経路情報は、ユーザからのアクセスごとに与えられる単一のセッションＩＤの列１２０５と、アクセス経路の列１２０６を含む。１２０６には、ユーザによるWebブラウザからのアクセス経路ないしクエリから判定したアクセス経路が記録される。
【００６２】
近傍ノード抽出モジュール４０５は、複数のセッションＩＤのうち所定のセッションＩＤのアクセス履歴に従って近傍ノードを抽出してよい。例えば、図１６において、セッションＩＤが最新のセッションである場合に、これに基づいて近傍ノードを抽出してよい。最新セッションを利用することにより、最新のデータに合わせてユーザーデータの特徴量を求めることができる。
【００６３】
近傍ノード抽出モジュール４０５がセッションＩＤ１のアクセス履歴によって近傍ノードを抽出すると、「材料一覧/材料A1/材料A1+材料A2_実験X」というアクセス経路の「材料A1+材料A2_実験X」を取得し、そこを起点として相対パスが「(Parent)」であれば、「材料A1」が近傍ノードとして抽出される。このように、アクセス履歴を利用して、業務用サーバが近傍ノードを抽出することにより、近傍ノードの範囲を制限でき特徴量の計算が効率的になる。
【００６４】
既述の実施形態は、ユーザーデータを材料開発に関わる実験データ、及び/又は、ミュレーションデータであることを説明したが、これに限らず、商品開発のためのビックデータ等、特に限定されるべきものではない。さらに、合計重み（図１１：８０４）のうち、所定の閾値以上の合計重みのみがテーブル８０４に登録されるようにしてもよい。こうすることにより、ユーザーデータに類似するデータの検索に関与する程度が少ない種類の特徴量を除いて、サーバの計算負荷を低減することができる。
【００６５】
業務サーバ１０１のコントローラはデータ処理プログラムを実行して人工知能を実現し、人工知能にカテゴリと特徴名とユーザーデータとの組み合わせを学習データとして学習させ、学習結果に基づいてデータ処理対象としてのユーザーデータに計算されたスコアに基づいてユーザーデータの特徴を決定するようにしてもよい。さらに、図１２のテーブルは、一つの特徴に対応付けられる一つの計算式を説明したが、一つの特徴に対して、複数の計算式の中から所定の計算式を対応させてもよい。
【００６６】
本発明は、さらに、業務サーバ１０１であり、業務サーバ１０１にデータ処理を実行させるための端末計算機１０２であり、業務サーバ１０１のデータ処理プログラムであり、そして、データ処理プログラムを記録した（非一時的）な記録媒体、例えば、ハードディスク、フラッシュメモリである。以上説明した実施の形態は、本発明の技術的を限定するためのものではなく、あくまでも例示であって、適宜変更することができる。
【符号の説明】
【００６７】
１０１：業務サーバ
１０２：端末計算機
ＤＢ１，ＤＢ２，・・・ＤＢｎ：データベース
４０２:コントローラ
【図１】
2020009078.tif 000003
【図２】
2020009078.tif 000004
【図３】
2020009078.tif 000005
【図４】
2020009078.tif 000006
【図５】
2020009078.tif 000007
【図６】
2020009078.tif 000008
【図７】
2020009078.tif 000009
【図８】
2020009078.tif 000010
【図９】
2020009078.tif 000011
【図１０】
2020009078.tif 000012
【図１１】
2020009078.tif 000013
【図１２】
2020009078.tif 000014
【図１３】
2020009078.tif 000015
【図１４】
2020009078.tif 000016
【図１５】
2020009078.tif 000017
【図１６】
2020009078.tif 000018