JP2017224158A - 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム - Google Patents

情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム Download PDF

Info

Publication number
JP2017224158A
JP2017224158A JP2016119188A JP2016119188A JP2017224158A JP 2017224158 A JP2017224158 A JP 2017224158A JP 2016119188 A JP2016119188 A JP 2016119188A JP 2016119188 A JP2016119188 A JP 2016119188A JP 2017224158 A JP2017224158 A JP 2017224158A
Authority
JP
Japan
Prior art keywords
data
identification information
identifier
unit
search
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.)
Granted
Application number
JP2016119188A
Other languages
English (en)
Other versions
JP6811468B2 (ja
Inventor
義和 中島
Yoshikazu Nakajima
義和 中島
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.)
University of Tokyo NUC
Original Assignee
University of Tokyo NUC
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 University of Tokyo NUC filed Critical University of Tokyo NUC
Priority to JP2016119188A priority Critical patent/JP6811468B2/ja
Publication of JP2017224158A publication Critical patent/JP2017224158A/ja
Application granted granted Critical
Publication of JP6811468B2 publication Critical patent/JP6811468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データを統一的に管理し、データの利活用を増大させることができる新たな仕組みを提供する。【解決手段】少なくともデータの役割又は他のデータとの関係を示す第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力する入力部と、データを格納するためのボディ部と、データの意味を識別する識別情報であって、第1識別子、データの生成時間又は有効期限を示す第2識別子、及びデータの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部から、入力部により入力された識別情報に対応する識別情報を有するデータを検索する検索部と、検索部により検索されたデータを出力する出力部と、を備える。【選択図】図2

Description

本発明は、情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システムに関する。
近年、巨大なデータ群を示すビッグデータの活用方法が盛んに研究されている。例えば、医療分野において、手術時のデータなどの医療データを大量に保存し、これらを上手く利活用することが期待されている(例えば非特許文献1参照)。
また、近年では、類似画像を検索するdeep learning(例えば非特許文献2参照)や、オントロジーを使ったセンテンス照合(例えば非特許文献3参照)など、ビッグデータから意図したものと類似のデータを検索する人工知能が注目されている。これらは同一種類のデータ間において、認識や識別を行うのに有効である。
「医療ビッグデータコンソーシアム」、[online]、[平成28年6月15日検索]、インターネット<URL:http://www.medical-bigdata.jp/index.html> Quac V. Le, et al., "Building High-level Features Using Large Scale Unsupervised Learning," Intl. Conf. on Machine Learning (ICML) 2012 「Building Watson: An Overview of the DeepQA Project」、「online」、[平成28年6月15日検索]、 インターネット<URL:http://www.aaai.org/Magazine/Watson/watson.php>
ここで、ビッグデータを扱う一般的な従来技術では、存在が既知のデータの所在を検索することか、あるいは同一種類のデータ郡内から任意のデータと類似のものを検索することが目的である。これに対し、非特許文献1に例示された従来技術では、データの共通フォーマットの立案やデータベース間のデータ変換に言及することが目的であり、ビッグデータ内のデータをどう関連付けるのか、また、ビッグデータをどう分析するのかなど、ビッグデータの利活用に関する検討は十分とはいえない。これは、種々多様なデータが大量に保存されることで、これらのデータをどう関連付けするのかが不明であることが原因の一つと考えられる。なお、この課題は医療分野に限らず、全ての分野において共通する課題となっている。
また、非特許文献2及び3に例示された従来技術では、ビッグデータ内のデータの照合は同一種類のデータ間に限られており、多種多様なデータには対応していない。Internet of things (IoT)をはじめとした技術は、多種多様なデータが時々刻々と状況を変えて現れては消え、それらを関連付けて、統合して利用する必要がある。すなわち、上述した従来技術は、種々多様なデータが大量に保存されることで、これらのデータをどう関連付けするのかを求めることができず、ビッグデータの利活用を十分に行うことができていない。なお、この課題は医療分野に限らず、全ての分野において共通する課題となっている。
そこで、本発明の所定の態様は、データを統一的に管理し、データの利活用の促進を図ることができる新たな仕組みを提供することを目的とする。
本発明の一態様における情報処理装置は、少なくともデータの役割又は他のデータとの関係を示す第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力する入力部と、データを格納するためのボディ部と、当該データの意味を識別する前記識別情報であって、前記第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部から、前記入力部により入力された識別情報に対応する識別情報を有するデータを検索する検索部と、前記検索部により検索されたデータを出力する出力部と、を備える。
本発明の所定の態様によれば、データを統一的に管理し、データの利活用の促進を図ることができる新たな仕組みを提供することができる。
実施形態におけるデータ処理システムの一例を示す概念図である。 データに関するタグの一例を示す図である。 プログラムに関するタグの一例を示す図である。 実施形態における処理フローの一例を示す図である。 実施形態における情報処理装置のハードウェアの一例を示すブロック図である。 実施形態における情報処理装置の機能の一例を示すブロック図である。 実施形態における情報処理装置の機能の一例を示すブロック図である。 実施形態における処理フローの具体例を説明するための図である。 実施形態における継承の具体例を説明するための図である。 実施形態におけるデータ処理の具体例を説明するための図である。 実施形態におけるデータ処理の一例を示すフローチャートである。 実施形態における検索処理の一例を示すフローチャートである。
以下、添付図面を参照しながら本発明の実施形態について詳細に説明する。
[実施形態]
以下、本発明の実施形態における情報処理装置、データ処理システム、データ検索方法及びプログラム等を、図面を用いて説明する。なお、以下に説明するデータ処理システムは、大量のデータ(所謂ビッグデータ)を扱うことを例にするが、これに限られず、データを統一的に管理し、データの利活用を促進するシステムについて適用が可能である。
<データ処理システムの概要>
図1は、実施形態におけるデータ処理システム1の一例を示す概念図である。図1に示すように、例えばデータ処理システム1は、データを記憶するデータベース10と、データに付随して記録された意味識別子によってデータを識別し、データの管理、検索等を行う情報処理装置20とを含む。データベース10は、例えば、1又は複数の記憶部から構成される。情報処理装置20は、1又は複数の処理装置を含むサーバ機能を有し、例えば、クラウド上のサーバを表す。
また、情報処理装置30A、30B、・・・は、データ処理システム1にアクセスし、必要な情報を検索したり、データの記録を要求したりする。情報処理装置30について、情報処理装置を1つずつ区別する場合には符号30A、30Bなどを用い、情報処理装置をまとめて表現する場合は符号30を用いる。情報処理装置30は、例えば、ユーザ等が使用するパーソナルコンピュータ等であり、情報処理装置20に対して、データの検索要求を行い、検索結果を取得できる装置であればよい。なお、データ処理システム1は、情報処理装置30を含めてもよい。
<データの記述形式>
次に、図2及び図3を用いて、実施形態におけるデータやプログラムを識別するための識別子の記述形式について説明する。この識別子は、タグ(メタデータ又は補助データ)として、データやプログラムに付与される。実施形態では、統一的なデータ管理を行うため、記憶対象のデータ又はプログラムに対して、後述するタグが付与される。このタグは、管理者等により、予め決められた基準等に従って付与されればよい。
≪データ≫
図2は、データに関するタグの一例を示す図である。図2に示すように、データは、データそのものを格納するためのEntity(実体部)と、データの意味を表現して識別するためのIdentifiers(識別部)により構成される。
Entityは、Data body及びPropertiesを含む。Data bodyは、例えばテキストあるいはバイナリ等で記述されたローデータ(raw data)、すなわちデータそのものがそのまま入力される。また、Entityは属性(Property)として、例えばType及びFormat等が指定される。
Typeは、Type∈{”¥”text_instance¥” ”,” ”binary_instance¥” ”,”file_reference”,”entity_label”}であり、データ種類を表すために必ず指定される。ここで、{text,binary}_instanceは、データの直接指定を表し、file_referenceは、ファイルへのパスを表し、entity_labelは、実体を表すラベルを表す。
Formatは、Type=” {text,binary}_instance”あるいはType=”file”の際に、データのフォーマットを識別して様々なデータに対応するために用いられる。
なお、1977年にRoberts and Golodsteinによって発表されたframe representation language(FRL)において、formatは、facetとして定義され、様々な種類のデータに対応するために用いられている。
また、Entityの属性には、unit(単位)など、データ実体に関する属性を指定することもできる。
データの識別は、データに付随して導入した上述の識別情報(識別子:Identifiers)と呼ばれるタグによって行われる。基本となる識別子はSemantic identifiersである。そのほか、時間を識別するためのTemporal identifier、及び空間を識別するためのSpatial identifierを追加することもできる。
Semantic identifiersは、データが概念として存在する実体の説明に果たす役割、又はデータと他のデータとの間の関係を表す識別子である。Semantic identifiersは、Entity(target entity) identifier、及びRole identifierの2つの識別子、又は、Entity(target entity) identifier、Base−entity identifier、及びRole identifierの3つの識別子から構成される。
ここで、例えば、データは、実体の何かしらの属性を表すか、又は任意の実体と別の実体の間の何かしらの関係を表す場合に大別することが可能である。そこで、発明者らは、セマンティック・ネットワーク(semantic network)やフレーム理論のようなデータのネットワーク化を行わず、データをセマンティック・ユニット(semantic unit)のままデータベースに記録することにする。
図2に戻り、Semantic identifiersのEntity identifier及びBase―entity identiferには、例えば、実体を表すインデックス・ワード(index word、例えばut:boneなど)や他のデータへのポインタ(pointer)などが記述される。ここで、インデックス・ワードは、規格化された辞書において定義されるとよい。
また、Entity identifer及びBase−entity identfierには、その運用単位としての組織を表すネームスペース(namespace、例えばutなど)と、その組織内で定義されたentityを表すワード(word、例えばboneなど)とを用いて記述されることも許容される。これは、各運用組織での自由度を保証するためである。
例えば、医療分野において実施形態を適用する場合、患者IDなど患者を識別できるインデックス・ワードをともなったネームスペースを用いることで、患者個人に係る実体を指定することができる。複数組織(例えば複数の病院)間におけるインデックス・ワードの変換には、規格化したインデックス・ワードと各組織内のインデックス・ワードとの関係を1対1対応、又は1対多対応で記述したシソーラステーブル(thesaurus table)を用いればよい。
次に、Role identiferには、データの役割が記述される。例えば、フレーム理論の上位概念を表すis_aや、属性を表すslotが記述される以外にも、各運用単位で定義した概念が記述される。例えば、Roleには、ut:weightや、ut:relative_positionなどが記述される。
また、Role identiferには、複数のデータに対して同一識別子が割り当てられる場合がある。例えば、同じ意味を成すデータであるが、時間的に変化し、かつそれらを時分割して個々のデータとして記録する場合がある。この場合に対応するため、Semantic identifiersに加え、Temporal identifierが用いられる。
Temporal identifierは、データの生成時間(有効時間の始まり)が指定されるとともに、その有効時間が限られている場合には、有効時間がtime limitedやtime durationとして表現される。例えば、データに対して時間的識別が行われない場合には、Temporal identifierに「指定なし」として「ut:any」が記述される。
また、複数データに対して同一識別子が与えられる他の場合として、空間的位置によるデータ変化を表現する場合がある。この場合に対応するため、Spatial identifierが用いられる。
Spatial identifierは、空間的有効範囲を表し、rangeを指定して表現される。データに対して、空間的識別が行われない場合には、Spatial identifierに「指定なし」として、「ut:any」が記述される。このように、データには、1又は複数の識別情報を有するIdentifiersという識別子が付与される。
≪プログラム≫
図3は、プログラムに関するタグの一例を示す図である。図3に示す例では、プログラムは、1つ以上のInput(入力情報、又は単に入力とも称す。)と、1つのOutput(出力情報、又は単に出力とも称す。)に関するデータを有する。なお、プログラムのタグの記述の基本的な部分は、データの記述と同様である。
例えば、プログラムの実体(プログラムデータそのもの)は、Entity(実体部)のData bodyに格納される。その際、Entityの属性として、Typeは、Type∈{”text_instance”,”binary_instance”,”file_reference”}である。Type=”{text,binary}_instace”の場合には、Formatが指定される。
図3に示すように、プログラムは、Input及びOutputそれぞれが、上述の識別子の記述にしたがって指定される。その際、入力及び出力の実体、すなわちEntityは伴わない。また、プログラムの記述において、Semantic identifiersのEntity identifer及びBase−entity identiferを限定しない場合には、「ut:any」が入力される。
入力のSemantic identifiersの記述において,Entity identifer及びBase−entity identiferが出力の指定と一致する必要がある場合には、「ut:output_entity」又は「ut:output_base_entity」が指定される。
また、複数のEntity identifer及びBase−entity identifierにおいて、それらが一致する必要がある場合には、適宜、「ut:value_i(iは任意の整数)」を用いて指定される。
実際、プログラムは、複数のデータを出力する場合がある。その際には、別々の出力を持つ2つのプログラムとして、そのプログラムは2つに分けて登録される。このように、プログラムには、データの処理対象の入力データと、データ処理後の出力データとそれぞれに図2に示すデータの記述方式が用いられる。
以上、図2及び図3に示すデータ構造のデータ及び/又はプログラムがデータベース10に登録される。図2及び図3に示す記述方式を用いて、統一的なタグが付与されたデータ又はプログラムがデータベースに記録されることで、後述するようにデータの利活用の促進を図ることができる。
<検索処理の概要>
次に、データベース10に記憶された上述のデータやプログラムから、どのようにして所望のデータを検索するかについて説明する。
実施形態では、データ検索において、例えば、要求されるデータを示すQuery(クエリ)は、識別子を用いて指定される。具体的には、Queryは、Semantic identifiersと、必要であればTemporal identifier及びSpatial identifierとを用いて指定される。
データ処理システム1は、まず、Queryが示す識別子と一致するデータを、データベース10に記憶されたデータの中から検索する。検索の結果、一致するデータが存在しない場合には、データ処理システム1は、Queryが要求するデータを出力できるプログラムを検索する。検索されたプログラムの出力において、識別子に「ut:any」が指定されている場合には、データ処理システム1は、プログラムの識別子をQueryに基づいて書き換え、さらに書き換えた内容を、入力の「ut:output_{,base_}entity」に反映させる。
データ処理システム1は、「ut:value_i」について、「ut:any」に変換して入力に対するデータ検索を再帰的に実施する。また、データ処理システム1は、先の検出によって「ut:value_i」が確定している場合には、その値を他の「ut:value_i」に反映して再帰的に検索を実施する。
ここで、複数の入力データ、及びそれらのプログラムによる処理の組合せを、出力データと等価として扱う概念を、再帰的等価変換(Recursive Equivalent Transform (RET))と称す。
RETにおいて、無限の繰り返しを防ぐため、検索の上位で行ったものと同じデータが検出された場合は、検索を打ち切る。また、検索を効率的にするため、別の検索枝で既に実施したものと同じデータが検索された場合には、以前と同一のデータの検索結果を利用する。
RETで用いるプログラムが、入力データを出力データに変換する際、検出された入力データは一旦、データベース10からファイルとして出力される。このとき、ファイルとして出力されたプログラムが、OS(Operating System)上で起動され、データ処理(例えば変換)が行われる。データ処理システム1は、プログラムが出力した値を検索結果として出力する。
なお、インデックス・ワードの管理は、将来的にはオントロジー(ontology)で行うことが汎用性の観点より望ましい。複数の組織間でデータを変換する場合におけるインデックス・ワードの照合は、規格化したインデックス・ワード(標準辞書)を直接使ったり、シソーラス(thesaurus)やオントロジー(ontology)の照合を行ったりすることで実現可能である。
<処理フローの概要>
次に、データ処理システム1の具体的な処理フローの概要を説明する。データ処理システム1では、記憶対象のデータを図2及び図3に示す所定の記述形式に基づいて識別し、所定の記述形式になるようデータにタグが付加されて保存される。
図4は、実施形態における処理フローの一例を示す図である。図2に示す例では、ユーザUが、情報処理装置30を用いて、クラウド上のデータベース10にアクセスし、データを検索する例である。
(1)クエリ送信
情報処理装置30は、ユーザ操作を受け付けて、ユーザが取得したいデータに関するクエリをデータ処理システム1に送信する。クエリは、検索対象データそのものを指定してもよいし、識別子を用いて指定してもよい。以下では、識別子を用いて検索対象データを指定したとする。
(2)データ、プログラム検索
情報処理装置20は、受信したクエリに基づき、データベース10に記憶されたデータの中から、必要なデータやプログラムの検索を行う。このとき、情報処理装置20は、指定された識別子を有するデータやプログラムを検索する。
(3)データ、プログラム取得
情報処理装置20は、検索したデータやプログラムをデータベース10から取得する。ここで、クエリで指定されたデータが、データベース10に記憶されていなかったとする。このとき、例えば、情報処理装置20は、クエリで指定された識別子を有するプログラムAと、そのプログラムAに入力可能なデータA、Bとを取得する。
(4)データ処理
情報処理装置20は、データAとデータBとを組み合わせて、それらを入力データとしてプログラムAを実行し、データEを出力する。データEは、クエリで指定された識別子を有し、検索対象データに対応するデータである。
(5)検索結果取得
情報処理装置20は、プログラムAを実行して生成したデータEを、検索結果として情報処理装置30に送信する。情報処理装置30は、データEを含む検索結果を取得する。これにより、ユーザUは、所望の検索結果を取得することができる。
以上の処理において、情報処理装置20は、クエリに基づく検索により、データがヒットすれば、データベース10に記憶されたデータを検索結果とし、データがヒットしなければ、上述したようにプログラムを実行して生成したデータを検索結果としてもよい。また、情報処理装置20は、クエリに基づく検索により、データがヒットした場合でも、プログラムを実行して生成したデータを検索結果に含めてもよい。
<情報処理装置のハードウェア>
次に、実施形態におけるデータ処理システム1を構成する情報処理装置20のハードウェアについて説明する。図5は、実施形態における情報処理装置20のハードウェアの一例を示すブロック図である。図1に示すように、情報処理装置20は、CPU(Central Processing Unit)102と、RAM(Random Access Memory)104と、ROM(Read only Memory)106と、ドライブ装置108と、ネットワークI/F(Interface)110と、入力装置112と、表示装置114とを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続されている。
CPU102は、コンピュータの中で、各装置の制御やデータの演算、加工を行う制御部である。また、CPU102は、RAM104又はROM106に記憶された、データを検索するためのアプリケーションプログラムを実行する演算装置である。CPU102は、入力装置112やネットワークI/F110などからデータを受け取り、演算、加工した上で、演算結果を表示装置114や記憶装置などに出力する。
RAM104は、例えば主記憶部などである。RAM104は、CPU102が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
ROM106は、例えばアプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
ドライブ装置108は、記録媒体116、例えばCD−ROMやSDカードなどからプログラムやデータを読み出し、記憶装置にインストールしたりダウンロードしたりする。
また、記録媒体116に、所定のプログラムを格納し、この記録媒体116に格納されたプログラムはドライブ装置108を介して情報処理装置20にインストールされる。インストールされた所定のプログラムは、情報処理装置20により実行可能となる。
ネットワークI/F110は、通信機能を有する周辺機器と情報処理装置20とのインターフェースである。また、ネットワークI/F110は、例えば、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続される。
入力装置112は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、表示装置114の表示画面上でキーの選択等を行うためのマウスやスライドパッド等を有する。また、入力装置112は、ユーザがCPU102に操作指示を与えたり、データを入力したりするためのユーザインターフェースである。
表示装置114は、LCD(Liquid Crystal Display)等により構成され、CPU102から入力される表示データに応じた表示が行われる。なお、入力装置112や表示装置114は、情報処理装置20の外部に設けられてもよい。なお、ユーザUが使用する情報処理装置30のハードウェアの構成は、図5に示す情報処理装置20のハードウェア構成と同様である。
<機能>
次に、上述したデータ検索の処理を実行するための各情報処理装置20、30の機能について説明する。図6は、実施形態における情報処理装置20の機能の一例を示すブロック図である。図6に示す情報処理装置20は、入力部202、検索部204、及び出力部206を少なくとも有する。
入力部202は、例えばネットワークI/F110やCPU102、ワークメモリとしてのRAM104等を用いて実現され得る。入力部202は、少なくともデータの役割又は他のデータとの関係を示すSemantic identifiers(第1識別子)を含む識別情報により、検索対象データを指定するためのQuery(検索要求)を、情報処理装置30から入力する。Queryは、ユーザ操作に基づき、情報処理装置30により生成される。
また、入力部202は、Temporal identifier(第2識別子)や、Spatial identifier(第3識別子)を含むQueryを入力してもよい。これにより、より精度の高い検索を行うことができるようになる。
検索部204は、例えばCPU102や、ワークメモリとしてのRAM104等を用いて実現され得る。検索部204は、データベース10(記憶部)から、入力部202により入力された第1識別子に対応する第1識別子を有するデータを検索する。「対応する」とは、完全一致又は部分一致、あるいは予めテーブル等に設定された対応関係を有すること等をいう。
データベース10は、上述したとおり、データを格納するためのEntity(ボディ部)と、識別情報を含むidentifiers(識別部)とにより構成されるデータ構造のデータを記憶する。識別情報は、上述の第1識別子、データの生成時間又は有効期限を示す第2識別子、及びデータの空間的位置の変化を示す第3識別子を含む。
出力部206は、例えばネットワークI/F110やCPU102、ワークメモリとしてのRAM104等を用いて実現され得る。出力部206は、検索部204により検索されたデータを出力する。出力先は、例えばQueryを送信した情報処理装置30である。これにより、データベース10に統一的に付与された特徴的な識別情報を用いて、検索を容易に行うことができる。
また、データベース10に、入力及び出力それぞれに対して、ボディ部と識別部とにより構成されるデータ処理可能なプログラムが記憶されている場合がある。このとき、検索部204は、入力部202により入力された識別情報に関連するデータがデータベース10に記憶されていない場合、検索対象データを出力可能なプログラムと、このプログラムに入力可能なデータであって、このプログラムの入力の識別情報に対応する識別情報を有するデータとを検索する。
また、検索部204に設けられる処理部2042は、検索された入力可能なデータを、検索されたプログラムに入力してデータ処理を行う。例えば、データ処理は、画像変換処理や、映像作成処理、行列変換処理などのデータを処理するものを含む。処理部2042は、処理したデータを出力部206に出力する。
出力部206は、処理部2042により処理されたデータを、Queryを送信した情報処理装置30に出力(例えば送信)する。これにより、データ処理システム1では、検索対象データがデータベース10に記憶されていなくても、同様のデータを出力可能なプログラムを実行することで、検索対象データを生成することができる。
また、上述の第1識別子は、データの実体を示すエンティティ(Entity identifier)と、データの役割を示すロール(Role identifier)とを含み、エンティティは、任意のデータであることを示すことが可能である。
この場合、検索部204は、検索要求により指定されたロールに対応するロールを出力部に有するプログラムを、出力可能なプログラムとして検索する。次に、検索部204に含まれる継承部2044は、このプログラムの入力及び出力それぞれのエンティティが任意のデータであることを示す場合、それぞれのエンティティに検索対象データのエンティティを継承してもよい。また、継承部2044は、継承後のエンティティを有するデータを、入力可能なデータとして検索してもよい。これにより、エンティティを指定せずに、ロールを指定することで、所望のデータが検索可能になり、検索処理を拡張させることができる。
次に、ユーザが操作する情報処理装置30の機能について説明する。図7は、実施形態における情報処理装置30の機能の一例を示すブロック図である。図7に示す情報処理装置30は、データを検索し、検索結果を取得する機能を有する。そのため、情報処理装置30は、要求部302、及び取得部304を少なくとも有する。
要求部302は、ユーザ操作に基づき、データベース10からデータを要求するためのQueryを生成し、データ処理システム1にQueryを送信する。ユーザは、情報処理装置30の入力デバイスを用いて、データを検索するため、データの役割等を示すSemantic identifiers(第1識別子)を少なくとも入力する。
また、必要に応じて、ユーザは、データの有効期限等を示すTemporal identifier(第2識別子)や、データの空間的位置の変化等を示すSpatial indentifier(第3識別子)を入力してもよい。Queryは、例えば、これらの入力された識別子を含む識別情報により検索対象データを指定するものである。
取得部304は、データ処理システム1からQueryに対する検索結果を取得する。検索結果は、データベース10に記憶されたデータ、及び/又はデータベース10に記憶された1又は複数のデータを入力として、プログラムが実行されることにより生成されたデータを含む。
これにより、検索を要求する側としては、検索対象のデータがデータベース10に存在すればそのデータを取得することが可能であり、検索対象のデータがデータベース10に存在しなければ、所望のデータが検索処理側で生成されて、そのデータを取得することができる。これは、上述したとおり、データの利活用を考慮して、データベース10に記憶されるデータやプログラム等について、統一的な識別子を付与して管理しているため可能となる。
<処理フローの具体例>
次に、実施形態におけるデータ処理システム1を適用した具体例について説明する。図8は、処理フローの具体例を説明するための図である。図8における具体例1では、以下の処理フローで検索がなされる。
(1)Query生成
ユーザUのユーザ操作に基づき、情報処理装置30は、例えば、猫の白黒画像を指定するQueryを生成したとする。Queryには、例えば、Entity identifier=Cat、Role identifier=Image/wb(White Black)、Temporal identifier=ut:anyが指定される。
(2)必要データの検索
情報処理装置20は、Queryを入力し、入力されたQueryに基づいてデータベース10に記憶されるデータの中から検索対象データを検索する。
(3)必要データの取得
まず、図8に示す例では、Queryに対応するデータは、データベース10に記憶されていなかったとする。そこで、情報処理装置20は、Queryにより指定された「Image/wb」に着目し、Role identifierを参照して「Image」を変換できるプログラムを検索する。情報処理装置20は、「Image」を変換できるプログラムを検索し、プログラムEを検出した後、このプログラムEの入力及び出力のEntity identifierに検索対象データのEntity identifierである「Cat」を入力する。なお、図8に示すプログラムEは、簡単のため、出力部分のタグしか表記されていない。
次に、情報処理装置20は、プログラムEに入力可能なデータとして、Entity identfierが「Cat」であり、Role identifierが「Image/cl(color)」を有するデータを検索し、データCを検出する。データCは、2016年5月5日付けの猫のカラー画像を表す。
(4)データ処理
情報処理装置20は、データCをプログラムEに入力して、プログラムEを実行することで、猫のカラー画像を、猫の白黒画像に変換し、データFを生成する。データFは、Entity identifier=Cat、Role identifier=Image/wbの識別子を有するデータを表す。
(5)データ取得
情報処理装置30は、検索結果として、データ処理システム1からデータFを取得する。
<継承の具体例>
次に、実施形態におけるデータ処理システム1の継承の具体例について説明する。図9は、実施形態における継承の具体例を説明するための図である。図9に示す例では、データ処理システム1を医療分野に適用した場合を示す。
図9に示す例では、Queryには、Entity identifier=femur(大腿骨)、Role identifer=Image/Model、Temporal identifier=2010/1103/17:20が指定されている。
図9に示すQueryに対して、Role identifierの情報が一致するプログラムが検索されたとする。このとき、Queryからプログラムへと、データの継承が行われる。まず、Queryから出力情報(Output Information)の変数部分に値が継承(代入)される。図9に示す例では、QueryのEntity identifier(femur)と、Temporal identifier(2010/1103/17:20)とが、プログラムの対応する変数部分に継承される。
次に、プログラムの出力情報から入力情報の対応部分に値が継承される。図9に示す例では、出力情報のEntity identifierが、入力情報のEntity identifierに継承される。また、必要に応じてTemporal identifierについても継承される。
次に、値が継承されたプログラムの入力情報に基づいて、このプログラムに入力可能なデータが検索される。検索されたデータは、プログラムに入力されてデータ変換される。
<データ処理の具体例>
次に、実施形態におけるデータ処理システム1のデータ処理の具体例について説明する。図10は、実施形態におけるデータ処理の具体例を説明するための図である。図10に示す例では、図9に示す例と同様に、データ処理システム1を医療分野に適用した場合を示す。また、図10に示す例では、2つの骨をつなぐためのCG(Computer Graphics)を生成するために、2つの骨をつなぐための行列Tを求める。
図10に示す例では、骨1(Bone1)には、センサ1(Marker1)が設けられる。同様に、骨2(Bone2)には、センサ2(Marker2)が設けられる。センサ1及びセンサ2の位置情報は、ローカライザ(Localizer)に検知される。ローカライザにより検知された位置情報はデータベース10に記憶される。骨とセンサとの位置関係は事前に分かっているため、データベース10に記憶しておく。
すなわち、データベース10には、骨1からセンサ1までの位置関係を示す行列T1と、センサ1からローカライザまでの位置関係を示す行列T2と、骨2からセンサ2までの位置関係を示す行列T3と、センサ2からローカライザまでの位置関係を示す行列T4とが記憶されている。
行列T1、T3の場合の識別子としては、例えばBase−entity identifier=Bone n(n=1,2)、Role identifier={Matrix/4×4}、Entity identifier=Marker n(n=1,2)が付与される。
また、行列T2、T4の場合の識別子としては、例えばBase−entity identifier=Marker n(n=1,2)、Role identifier={Matrix/4×4}、Entity identifier=Localizerが付与される。
このとき、情報処理装置20は、例えば骨1と骨2とをつなぐ行列Tが指定されたQueryを入力したとする。Queryの識別子としては、Base−entity identifier=Bone2、Role identifier={Matrix/4×4}、Entity identifier=Bone1が設定されている。情報処理装置20は、骨2から骨1への位置関係を示す行列Tを求めるため、Queryの識別子に基づいて、データベース10からデータを検索する。
検索の結果、必要なデータとして、情報処理装置20は、行列の演算プログラムと、行列T1〜T4とを検索し、T=T3×T4×T2 -1×T1 -1を演算して行列Tを求める。これにより、情報処理装置20は、所望の行列Tがデータベース10に記憶されていなかったとしても、行列Tを生成し、情報処理装置20に検索結果として返すことができる。
<動作>
次に、情報処理装置20の動作について説明する。図11は、実施形態におけるデータ処理の一例を示すフローチャートである。図11に示す処理は、実施形態における情報処理装置30が、情報処理装置20にクエリ(Query)を送信した場合に実行される。
ステップS102で、入力部202は、情報処理装置20により送信されたクエリを入力する。
ステップS104で、検索部204は、クエリにより指定された識別子に基づいて、データベース10に記憶されたデータの中から、検索対象のデータを検索する。検索処理については、図12を用いて後述する。
ステップS106で、検索部204は、検索されたデータが有るか否かを判定する。ここでいう「検索されたデータ」とは、検索対象データの出力に必要なデータとして、データベース10上でヒットしたデータ及び/又はプログラム、あるいは演算により生成されたデータのことをいう。検索されたデータがあれば(ステップS106−YES)、処理はステップS108に進み、検索されたデータがなければ(ステップS106−NO)、処理は検索結果が無いと結論付けて終了する。
ステップS108で、出力部206は、検索部204により検索されたデータを検索結果として情報処理装置30に出力する。
図12は、実施形態における検索処理の一例を示すフローチャートである。図12に示すステップS202で、検索部204は、データベース10に記憶されたデータの中に、クエリにより指定された識別情報に対応するデータが有るか否かを判定する。対応するデータが有れば(ステップS202−YES)、処理は、検索されたデータ有りとして終了し、対応するデータがなければ(ステップS202−NO)、処理はステップS204に進む。
ステップS204で、検索部204は、検索対象データを出力可能なプログラムを検索する。
ステップS206で、検索部204は、データベース10に記憶されたプログラムの中に、該当するプログラムが有るか否かを判定する。該当するプログラムがあれば(ステップS206−YES)、処理はステップS208に進み、該当するプログラムがなければ(ステップS206−NO)、処理は検索結果なしと結論付けて終了する。
ステップS208で、検索部204は、検索されたプログラムに入力可能なデータを検索する。
ステップS210で、検索部204は、データベース10に記憶されたデータの中に、該当するデータがあるか否かを判定する。該当するデータがあれば(ステップS210−YES)、処理はステップS212に進み、該当するデータがなければ(ステップS210−NO)、処理は検索結果なしと結論付けて終了する。
ステップS212で、検索部204は、該当するデータを入力としてプログラムを実行し、データ処理を行う。このデータ処理により処理されたデータは、「検索されたデータ」を表す。
以上、統一的に管理されたデータに対する検索を実行することで、データの利活用を増大させることができるようになる。
また、上述の実施形態では、単純な局所時空間領域のモジュール(データ及び/又はプログラムの群)を組み合わせることで、複雑な機能を実現させることができる。また、成就移したタグを用いることで、確率的ではなく、確実なモジュールの組み合わせが可能になる。例えば、人体シミュレータや、タンパク質シミュレータ、自己組織化neural networkなどに実施形態を適用することができる。
また、上述の実施形態は、IoT(Internet of Things)の標準プラットフォームにも適用することができる。例えば、自律分散制御や中小企業の連携による製造業の強化(効率化、市場拡大)などに実施形態を適用することができる。より具体的には、中小企業のリソースや、得意分野などをタグ付けしておくことで、ユーザは、ある分野で製品を作る際に、必要なリソースや必要な分野などを指定して検索すると、協同効果の高い中小企業を検索結果として取得することができる。
また、上述の実施形態を利用することで、オリジナルデータのみの保存から、様々なデータを生成することができる。これは、アプリケーションの開発を効率化させたり、リソース管理を効率化させたりすることができる。例えば、リソース管理の効率化として、実施形態は、データ・フォーマット変換、実験データ管理、実験記録(電子実験ノート)、作業電子記録及び/又は解析(手術記録)、マルチメディア電子カルテ、リスク解析(例えば医療過誤時の原因究明)、電子教科書、スケジューリング、リソースリポジトリ、災害時の物資/施設/人材管理、セキュアな遠隔通信/データ変換などに適用することが可能である。
また、上述の実施形態では、プログラムに入力するデータ等の組み合わせの計算量を削減することが可能になる。例えば、従前のデータベースにおいてデータの組み合わせを計算する際に、O(n!)の計算量がかかる。他方、実施形態を用いることで、出力可能なデータを用いて検索が可能になり、すなわち、検索対象の出力の識別子を継承した入力の識別子を参照して、その識別子を有するか否かを一度検索すればよいため、O(n)の計算量で済む。
なお、上記の情報処理装置20で実行されるプログラムについて、実際のハードウェアとしては、CPU102がROM106からプログラムを読み出して実行することにより、上記各部のうち1又は複数の各部がRAM104上にロードされ、1又は複数の各部がRAM104上に生成されるようになっている。
このように、上述した実施形態で説明した処理は、コンピュータに実行させるためのプログラムとして実現されてもよい。このプログラムをサーバ等からインストールしてコンピュータに実行させることで、前述した処理を実現することができる。
また、このプログラムを記録媒体116に記録し、このプログラムが記録された記録媒体116をコンピュータに読み取らせて、前述した処理を実現させることも可能である。
なお、記録媒体116は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
以上、実施形態について詳述したが、上記実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施形態以外にも種々の変形及び変更が可能である。
1 データ処理システム
10 データベース
20、30 情報処理装置
202 入力部
204 検索部
206 出力部
2042 処理部
2044 継承部

Claims (7)

  1. 少なくともデータの役割又は他のデータとの関係を示す第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力する入力部と、
    データを格納するためのボディ部と、当該データの意味を識別する前記識別情報であって、前記第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部から、前記入力部により入力された識別情報に対応する識別情報を有するデータを検索する検索部と、
    前記検索部により検索されたデータを出力する出力部と、
    を備える情報処理装置。
  2. 前記記憶部に、入力及び出力それぞれに対して、前記ボディ部と前記識別部とにより構成されるデータ処理可能なプログラムが記憶されている場合、
    前記検索部は、
    前記検索対象データに対応するデータを出力可能なプログラムと、当該プログラムに入力可能なデータであって、当該プログラムの入力の識別情報に対応する識別情報を有するデータとを検索し、
    検索された前記入力可能なデータを、前記プログラムに入力してデータ処理を行い、
    データ処理されたデータを前記出力部に出力する、
    請求項1に記載の情報処理装置。
  3. 前記第1識別子は、データの実体を示すエンティティと、データの役割を示すロールとを含み、
    前記エンティティは、任意のデータであることを示すことが可能であり、
    前記検索部は、
    前記検索要求により指定されたロールに対応するロールを前記出力に有するプログラムを、前記出力可能なプログラムとして検索し、
    当該プログラムの入力及び出力それぞれのエンティティが前記任意のデータであることを示す場合、当該それぞれのエンティティに前記検索対象データのエンティティを継承し、
    継承後のエンティティを有するデータを前記入力可能なデータとして検索する、
    請求項2に記載の情報処理装置。
  4. コンピュータが、
    少なくともデータの役割又は他のデータとの関係を示す第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力し、
    データを格納するためのボディ部と、当該データの意味を識別する前記識別情報であって、前記第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部から、入力された識別情報に対応する識別情報を有するデータを検索し、
    検索されたデータを出力する、
    処理を実行するデータ検索方法。
  5. コンピュータに、
    少なくともデータの役割又は他のデータとの関係を示す第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力し、
    データを格納するためのボディ部と、当該データの意味を識別する前記識別情報であって、前記第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部から、入力された識別情報に対応する識別情報を有するデータを検索し、
    検索されたデータを出力する、
    処理を実行させるプログラム。
  6. 記憶部に記憶されるデータのデータ構造であって、
    前記データを格納するためのボディ部と、
    前記データの意味を識別する識別情報であって、前記データの役割又は他のデータとの関係を示す第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部と、
    を含むデータ構造。
  7. データを格納するためのボディ部と、前記データの意味を識別する識別情報であって、前記データの役割又は他のデータとの関係を示す第1識別子、前記データの生成時間又は有効期限を示す第2識別子、及び前記データの空間的位置の変化を示す第3識別子を含む識別情報を格納する識別部とにより構成されるデータを記憶する記憶部と、
    少なくとも前記第1識別子を含む識別情報を用いて検索対象データを指定するための検索要求を入力する入力部と、
    前記入力部により入力された識別情報に対応する識別情報を有するデータを、前記記憶部に記憶されたデータから検索する検索部と、
    前記検索部により検索されたデータを出力する出力部と、
    を備えるデータ処理システム。
JP2016119188A 2016-06-15 2016-06-15 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム Active JP6811468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016119188A JP6811468B2 (ja) 2016-06-15 2016-06-15 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016119188A JP6811468B2 (ja) 2016-06-15 2016-06-15 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム

Publications (2)

Publication Number Publication Date
JP2017224158A true JP2017224158A (ja) 2017-12-21
JP6811468B2 JP6811468B2 (ja) 2021-01-13

Family

ID=60686977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016119188A Active JP6811468B2 (ja) 2016-06-15 2016-06-15 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム

Country Status (1)

Country Link
JP (1) JP6811468B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092769A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
JP2019092767A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134365A (ja) * 1997-08-27 1999-05-21 Toshiba Corp 情報アクセス装置および情報アクセス方法
JP2011180946A (ja) * 2010-03-03 2011-09-15 Oki Electric Industry Co Ltd センサデータ提供システム、方法及び装置
US20140350961A1 (en) * 2013-05-21 2014-11-27 Xerox Corporation Targeted summarization of medical data based on implicit queries
JP2015049697A (ja) * 2013-08-30 2015-03-16 株式会社東芝 情報処理装置、方法およびプログラム
JP2015226102A (ja) * 2014-05-26 2015-12-14 オムロン株式会社 仮想センサのメタデータ構造

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134365A (ja) * 1997-08-27 1999-05-21 Toshiba Corp 情報アクセス装置および情報アクセス方法
JP2011180946A (ja) * 2010-03-03 2011-09-15 Oki Electric Industry Co Ltd センサデータ提供システム、方法及び装置
US20140350961A1 (en) * 2013-05-21 2014-11-27 Xerox Corporation Targeted summarization of medical data based on implicit queries
JP2015049697A (ja) * 2013-08-30 2015-03-16 株式会社東芝 情報処理装置、方法およびプログラム
JP2015226102A (ja) * 2014-05-26 2015-12-14 オムロン株式会社 仮想センサのメタデータ構造

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019092769A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機
JP2019092767A (ja) * 2017-11-22 2019-06-20 株式会社大一商会 遊技機

Also Published As

Publication number Publication date
JP6811468B2 (ja) 2021-01-13

Similar Documents

Publication Publication Date Title
US9330104B2 (en) Indexing and searching heterogenous data entities
Valente et al. Anatomy of an extensible open source PACS
KR20210040891A (ko) 정보 추천 방법과 장치, 전자 장비, 컴퓨터 판독가능 저장 매체 및 컴퓨터 프로그램
US8468146B2 (en) System and method for creating search index on cloud database
CN100578495C (zh) 以透明方式公开计算机生成文档中嵌套数据的方法和系统
US20170052943A1 (en) Method, apparatus, and computer program product for generating a preview of an electronic document
US20110307493A1 (en) Multi-faceted metadata storage
CN111552766B (zh) 使用机器学习来表征在引用图形上应用的参考关系
US20110219028A1 (en) Automatic generation of virtual database schemas
US11630833B2 (en) Extract-transform-load script generation
CN107533567B (zh) 图像实体标识和响应
CN112732949B (zh) 一种业务数据的标注方法、装置、计算机设备和存储介质
CN110674087A (zh) 文件查询方法、装置及计算机可读存储介质
WO2017010350A1 (ja) ソフトウェア解析システム、ソフトウェア解析方法およびソフトウェア解析プログラム
KR102532216B1 (ko) Esg 보조 툴을 이용하여 정형화된 esg 데이터로 이루어진 esg 데이터베이스를 구축하는 방법 및 이를 수행하는 esg 서비스 제공 시스템
JP6811468B2 (ja) 情報処理装置、データ検索方法、プログラム、データ構造及びデータ処理システム
Martin et al. Semantic linking of research infrastructure metadata
Kiourtis et al. Health record index: Secure access of cloud-stored healthcare data
US11355242B2 (en) Medical treatment management
AU2019290658B2 (en) Systems and methods for identifying and linking events in structured proceedings
US20230266966A1 (en) User support content generation
Kock-Schoppenhauer et al. Practical extension of provenance to healthcare data based on the W3C PROV standard
CN110134858A (zh) 非结构化数据的转化方法、系统、存储介质及电子设备
Jin et al. Ontology-based semantic integration scheme for medical image grid
KR102011220B1 (ko) 심층 신경망 관리 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201208

R150 Certificate of patent or registration of utility model

Ref document number: 6811468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250