(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06F 16/27 20190101AFI20241022BHJP
G06F 16/84 20190101ALI20241022BHJP
G06F 16/28 20190101ALI20241022BHJP
【FI】
G06F16/27
G06F16/84
G06F16/28
(21)【出願番号】P 2021150588
(22)【出願日】2021-09-15
【審査請求日】2023-03-14
【前置審査】
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118876
【氏名又は名称】鈴木 順生
(72)【発明者】
【氏名】王 蘭
(72)【発明者】
【氏名】岩政 幹人
(72)【発明者】
【氏名】藤原 浩司
【審査官】甲斐 哲雄
(56)【参考文献】
【文献】特開2010-225101(JP,A)
【文献】特開2007-087216(JP,A)
【文献】特開2008-021016(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
標準データモデルに含まれる階層構造化されたクラスまたはプロパティのうちから、入力データに含まれる記載に対応するマッピング候補を決定するマッピング部
を備え、
前記マッピング部は、
前記入力データに含まれるスキーマとその内容に対し、前記標準データモデルのクラス階層構造およびクラスに定義するプロパティの集合から、前記内容と完全一致または部分一致するクラスまたはプロパティを検出し、検出されたクラスまたはプロパティに基づいて第1マッピング候補を決定するとともに、記憶された入力データと対応付けられたマッピング候補を用いて、前記記憶された入力データと、前記対応付けられたマッピング候補との定義の不一致点を検出する、
情報処理装置。
【請求項2】
前記マッピング部は、前記標準データモデルに含まれるプロパティに関する定義項目に基づき、第2マッピング候補を決定する、
請求項1に記載の情報処理装置。
【請求項3】
前記定義項目には、前記標準データモデルに含まれるプロパティが取り得る単位が含まれており、
前記マッピング部は、前記入力データに含まれる単位を取り得るプロパティを第3マッピング候補として決定する、
請求項2に記載の情報処理装置。
【請求項4】
前記定義項目には、前記標準データモデルに含まれるプロパティが取り得るデータタイプが含まれており、
前記マッピング部は、前記入力データに含まれるデータタイプを取り得るプロパティを第4マッピング候補として決定する、
請求項3に記載の情報処理装置。
【請求項5】
前記第1から第4マッピング候補の少なくとも2つを用いて、前記マッピング候補とする、請求項4に記載の情報処理装置。
【請求項6】
前記定義項目には、前記標準データモデルに含まれるクラスが必須とするプロパティが含まれており、
前記マッピング部は、前記入力データに含まれていないプロパティを必須としているクラスを、前記マッピング候補から除外する、
請求項2ないし5のいずれか一項に記載の情報処理装置。
【請求項7】
入力された二つのデータの意味的距離を算出する距離算出部をさらに備え、
前記距離算出部は、前記標準データモデルに含まれるクラスまたはプロパティの個々の定義項目を用いて、前記入力データに含まれるスキーマまたはその内容との意味的距離を算出し、
前記マッピング部は、算出された意味的距離に基づき、前記マッピング候補を決定する、
請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項8】
入力された二つのデータの意味的距離を算出する距離算出部をさらに備え、
前記距離算出部は、前記入力データに含まれるスキーマとその内容と、前記マッピング候補、との意味的距離を算出し、
前記マッピング部は、算出された意味的距離に基づき、前記マッピング候補に優先順位を設定する、
請求項1ないし6のいずれか一項に記載の情報処理装置。
【請求項9】
前記マッピング候補を出力する出力部
をさらに備える請求項1ないし8のいずれか一項に記載の情報処理装置。
【請求項10】
前記入力データと、前記入力データに対応すると決定されたマッピング候補と、を対応付けて記憶する記憶部
をさらに備える請求項1ないし9のいずれか一項に記載の情報処理装置。
【請求項11】
前記マッピング候補を出力する出力部と、
前記入力データと、前記入力データに対応すると決定されたマッピング候補と、を対応付けて記憶する記憶部と、
前記出力部から複数のクラスが出力された場合に、前記複数のクラスから選択されたクラスの入力を受け付ける入力部
と、
をさらに備え、
前記記憶部が、前記入力データと、前記選択されたクラスと、を対応付けて記憶する、
請求項
1ないし8のいずれか一項に記載の情報処理装置。
【請求項12】
前記マッピング部は、新たな入力データを取得した場合に、前記新たな入力データと同じまたは類似する入力データが前記記憶部に記憶されているかを検索し、前記新たな入力データと同じまたは類似する入力データが検出されたときは、検出された入力データに含まれるスキーマまたはその内容、に対応するマッピング候補を、前記新たな入力データに含まれるスキーマまたはその内容に対応するマッピング候補と決定する、
請求項10または11に記載の情報処理装置。
【請求項13】
前記出力部が前記定義の不一致点を出力する、
請求項9に記載の情報処理装置。
【請求項14】
コンピュータ
が、
標準データモデルに含まれる階層構造化されたクラスまたはプロパティのうちから、入力データに含まれる記載に対応するマッピング候補を決定するステップ
を実行
し、
前記マッピング候補を決定するステップにおいて、前記入力データに含まれるスキーマとその内容に対し、前記標準データモデルのクラス階層構造およびクラスに定義するプロパティの集合から、前記内容と完全一致または部分一致するクラスまたはプロパティが検出され、検出されたクラスまたはプロパティに基づいて前記マッピング候補が決定されるとともに、記憶された入力データと対応付けられたマッピング候補を用いて、前記記憶された入力データと、前記対応付けられたマッピング候補との定義の不一致点が検出される、
情報処理方法。
【請求項15】
標準データモデルに含まれる階層構造化されたクラスまたはプロパティのうちから、入力データに含まれる記載に対応するマッピング候補を決定するステップをコンピュータに実行させ、
前記マッピング候補を決定するステップにおいて、前記入力データに含まれるスキーマとその内容に対し、前記標準データモデルのクラス階層構造およびクラスに定義するプロパティの集合から、前記内容と完全一致または部分一致するクラスまたはプロパティが検出され、検出されたクラスまたはプロパティに基づいて前記マッピング候補が決定されるとともに、記憶された入力データと対応付けられたマッピング候補を用いて、前記記憶された入力データと、前記対応付けられたマッピング候補との定義の不一致点が検出される、
コンピュータに実行されるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、CPS(Cypber Physcial Syatem)やIoT(Internet of Things)システムの普及に伴い、センサデータ、制御データといったデータが大量に生成されている。また、これらのデータを複数のシステムにおいて利用することも行われている。
【0003】
しかし、異なるシステムで同じデータを扱うには、各システムにおいてデータが何を示しているか、つまりデータ項目を認識できる必要があるが、データ項目が統一されていない場合も多々あり、データの意味を取り間違う恐れもある。例えば、あるデータにおいて電圧の値が50Vと記載されていたとしても、当該データを通常取り扱っていない他のシステムは、当該電圧が、最大電圧を示しているのか、定格電圧を示しているのか、を判断することができないといったことがあり得る。
【0004】
そのため、データ項目を曖昧性なく機械的に解釈できることが求められており、データモデルの整備が進められている。例えば、Industri4.0に採用されているOPC-UAが新たな仕様を公開し、OPC-UAのデータの意味を解釈できるようにしている。また、CPSの標準フレームワークであるAASは、データモデルへの参照方法を国際規格化しようとしている。
【0005】
しかし、データモデルに未対応だった既存のデータを用いる場合、人手によってデータが示す意味を解釈し、データモデルにおいて定義されたクラスやプロパティといった定義項目にマッピングすることが行われており、負担が大きい。また、マッピング先を決定するための情報がデータに含まれていないことにより、マッピングが正確にできないといったことも多々ある。
【先行技術文献】
【特許文献】
【0006】
【文献】米国特許出願公開第2015/0019710号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の一実施形態は、標準データモデルに含まれる定義項目のうちから、入力データまたは前記入力データに含まれる記載に対応するマッピング候補を決定する情報処理装置を提供する。
【課題を解決するための手段】
【0008】
本発明の一実施形態としての情報処理装置は、標準データモデルに含まれる階層構造化されたクラスまたはプロパティのうちから、入力データに含まれる記載に対応するマッピング候補を決定するマッピング部を備える。前記マッピング部は、前記入力データに含まれるスキーマとその内容に対し、前記標準データモデルのクラス階層構造およびクラスに定義するプロパティの集合から、前記内容と完全一致または部分一致するクラスまたはプロパティを検出し、 検出されたクラスまたはプロパティに基づいて第1マッピング候補を決定する。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態に係る情報処理装置の一例を示すブロック図。
【
図3】プロパティに関する定義項目を示す表の一例を示す図。
【
図5】本発明の実施形態に係る情報処理装置1の全体処理の概略フローチャート。
【
図7】本発明の一実施形態におけるハードウェア構成の一例を示すブロック図。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら、本発明の実施形態について説明する。
【0011】
(第1の実施形態)
図1は、本発明の一実施形態に係る情報処理装置の一例を示すブロック図である。本実施形態に関する情報処理装置1は、モデル記憶部11と、結果記憶部12と、UI部(入出力部)13と、抽出部14と、マッピング部15と、距離算出部16と、を備える。
【0012】
なお、
図1に示した情報処理装置1の各構成要素は、細分化されてもよいし、集約されてもよい。また、情報処理装置1が
図1に示されていない構成要素を有していてもよい。例えば、モデル記憶部11と結果記憶部12とが一つの記憶部として構成されていてもよいし、UI部13が入力部と出力部とに分かれていてもよい。また、例えば、一部の構成要素が情報処理装置1とは別の装置に含まれていてもよい。すなわち、情報処理装置1が複数の装置によって構成されていてもよい。情報処理システムにおいて、各処理を専門に行う装置に分けることは、処理負荷の分散、可用性の維持などのためによくあることである。すなわち、情報処理装置1は、単体で稼働する装置であってもよいし、クラウドなどといった通信ネットワーク上のサーバと連携するサーバクライアント型の装置であってもよい。
【0013】
本実施形態の情報処理装置1は、標準データモデルと、入力データと、を用い、当該入力データが何を示しているかを、クラスやプロパティといった標準データモデルによって定義された項目(定義項目)で表す。なお、入力データ全体に対応する定義項目をマッピングしてもよいし、入力データの一部、つまり、入力データ内の記載(言い換えれば、内容)に対し、対応する定義項目をマッピングしてもよい。
【0014】
図2は、標準データモデルを説明する図である。標準データモデルには、クラスと、クラスが有するプロパティと、が含まれている。また
図2の例では、標準データモデルが体系的に表されており、言い換えれば、階層構造化されており、楕円形のオブジェクトで表された各クラスの継承関係が、ツリー状のグラフ入力データとして示されている。例えば、「スイッチ」というクラスより下に、「保護開閉器」というクラスが存在しているが、これは、「スイッチ」が「保護開閉器」の上位クラス概念であることを示す。また、楕円形のオブジェクトの下に記号{}で囲まれた用語があるが、これらがクラスが定義する(直接紐づけられた)プロパティを示す。
【0015】
下位概念のクラスは、上位概念のクラスに直接紐づけられたプロパティを継承する。そのため、例えば「ブレーカ」は、直接紐づけられたプロパティである「起動時間」と、上位クラスの「保護開閉器」に紐づけられたプロパティである「切断容量」と、さらに上位クラスの「スイッチ」に紐づけられたプロパティである「定格電流」および「開閉回数」と、を有する。
【0016】
なお、クラスおよびプロパティとして設定されるものは、特に限られるものではない。また、標準データモデルは、国際標準で定められているものを用いてもよいし、情報処理装置1のユーザが独自に標準データモデルとして定めたものでもよい。また、標準データモデルにこのようなクラスの上下関係が存在しない場合もあり得る。言い換えれば、フラットな関係のクラスだけを含む標準データモデルもあり得る。
【0017】
なお、本実施形態では、予め定められた標準データモデルを用いることを想定しているが、情報処理装置1がユーザからの入力に基づいて標準データモデルの編集を行ってもよい。
【0018】
また、標準データモデルには、クラスまたはプロパティに対するさらに詳細定義項目が存在する。
図3は、プロパティに関する定義項目を示す表の一例を示す図である。
図3の例では、
図2で示したプロパティの定義項目が示されている。
図3の表の1列目には一意の識別子を表す「コード」が示されている。また、表の3列目には、整数(Integer)、浮動小数点(Double)といったプロパティに設定される値の型を表すデータタイプが示されている。また、表の4および5列目には、プロパティに設定される値の取り得る単位が示されている。なお、単位は、このように1以上設定可能であってよい。表の7列目は、入力データに当該プロパティが必ず含まれていなくてはいけないかどうかが示されており、例えば、「必須」という記載がある「起動時間」のプロパティは、「ブレーカ」というクラスに関する入力データに必ず含まれていなくてはならないことを示す。このようなプロパティの特徴を示す定義項目もマッピングに用いられ得る。
【0019】
図4は、用いられる入力データの一例を示す図である。
図4の例では、<>および</>という記号を用いた構造(スキーマ)を取る。<>または</>の中に含まれる名称を「スキーマ名」と記載する。また、<>と</>の間に示された値を「スキーマ値」と記載する。つまり、情報処理装置1への入力データは、「<スキーマ名>」または「<スキーマ名>スキーマ値</スキーマ名>」といった記載を含む。
【0020】
スキーマ名またはスキーマ値から入力データが何を示しているかが認識される。例えば、
図4の入力データは、最初の行と最後の行において、当該入力データが「設備1」に関する入力データであることが認識できる。また、2行目において、「設備1」に含まれる「開閉器」に関する入力データであることが認識できる。また、3行目において、「開閉器」の「最大容量」が「30A」であることが認識できる。
【0021】
しかし、入力データが標準データモデルに準拠しておらず、標準データモデルの定義項目の名称を利用していない場合、標準データモデルに準拠したデータを取り扱うシステムは、当該入力データが示す内容を理解することができない。例えば、
図4で示した入力データは「開閉器」に関するものであったが、
図2の標準データモデルに「保護開閉器」というクラスはあるが、「開閉器」というクラスもプロパティも存在しない。また、「最大容量」という名称のクラスもプロパティも存在しない。すなわち、
図4で示した入力データは
図2の標準データモデルに準拠していない。そして、標準データモデルに準拠したシステムにおいて、
図4で示した入力データを取り扱うことは困難である。しかし、本実施形態の情報処理装置1が、
図4の入力データの「開閉器」が
図3の標準データモデルの定義項目のいずれに該当するかを推定すれば、標準データモデルに準拠したシステムにおいて、
図4で示した入力データを取り扱うことが可能となる。
【0022】
なお、情報処理装置1は、前述の通り、入力データ全体に対応するクラスまたはプロパティを決定してもよいし、入力データの一部に対して対応するクラスまたはプロパティを決定してもよい。例えば、情報処理装置1は、
図4の入力データが標準データモデルの「保護開閉器」というクラスに対応すると決定し得るし、
図4の入力データの「開閉器」という記載が標準データモデルの「保護開閉器」というクラスに対応し、
図4の入力データの「最大容量」という記載が標準データモデルの「切断容量」というプロパティに対応すると決定し得る。
【0023】
なお、情報処理装置1によって決定された、入力データまたは入力データの記載に対応するクラスまたはプロパティを「マッピング候補」と記載する。これは、本実施形態では、1以上のマッピング候補を出力し、そのうちの一つがユーザによって選択(承認)されることを想定しているためであり、ユーザによって選択(承認)されたマッピング候補を「マッピング先」と記載して区別する。なお、当然のことながら、情報処理装置1が、所定条件に基づき、1以上のマッピング候補のうちからマッピング先を決定することも可能である。また、情報処理装置1が一つのマッピング候補を出力した場合は、情報処理装置1がマッピング先を決定したとも言える。つまり、マッピング候補をマッピング先と読み替えてもよい。
【0024】
次に、情報処理装置1の内部構成について説明する。
【0025】
モデル記憶部11は標準データモデルを記憶する。結果記憶部12は、マッピングの結果、つまり、マッピングに用いられた入力データと、当該入力データのマッピング先と、を記憶する。
【0026】
なお、本説明では、説明の理解のしやすさを考慮して、モデル記憶部11と結果記憶部12を分けているが、前述の通り、両記憶部は一つの記憶部として構成されてもよい。また、当該両記憶部が、その他のデータを記憶していてもよい。例えば、マッピング部15がマッピング候補の絞り込みを行った場合に、その絞り込みの途中の結果が結果記憶部12に記憶されてもよい。
【0027】
また、当該両記憶部は、リレーショナル入力データベース、XMLデータベースのような入力データベースで構築されてもよいし、CSV、XML、JSONといった形式のファイルを格納するメモリまたはストレージでもよい。
【0028】
UI部13(入出力部)102は、情報処理装置1の処理に用いられる入力情報を受け付け、情報処理装置1の処理結果を出力する。例えば、マッピングに用いられる入力データが入力情報に含まれる。また、モデル記憶部11に複数の標準データモデルが記憶されている場合には、いずれの標準データモデルを用いるかを認識可能な情報が含まれる。当該情報は、例えば、使用する標準データモデルの名称でもよいし、標準データモデルに予め対応付けられた情報などでもよい。標準データモデルは、一般的に、ドメイン分野ごとに用意されており、例えば、電力分野、計測機器分野、電気電子分野、材料分野といった分野ごとに用意されている。そのため、入力情報としてドメイン分野の指定を受け付けてもよい。
【0029】
また、UI部13は、処理結果出力に対する応答、例えば、出力されたマッピング候補に対する承諾、出力された複数のマッピング候補からの選択なども取得する。このようにしてマッピング先が決定された場合には、UI部13は、マッピング先を結果記憶部12に記憶させるために、マッピング先を結果記憶部12に送信する。
【0030】
また、UI部13は、入力データに追加情報を入力するようユーザに要求する画面などのフォームを出力し、追加情報を受け付けてもよい。例えば、マッピング候補が所定数まで絞り込めなかった場合に、入力データに含まれていないプロパティなどの情報を表示し、表示されたプロパティの値の入力を受け付けてもよい。
【0031】
UI部13は、GUI(Graphical User Interface)によって実現されてもよい。あるいは、コマンド、ファイルなどを送受信するような通信部であってもよい。つまり、UI部13の入出力形式は、特に限られるのではない。また、入力情報が、キーボード、マウス、タッチパネルなどといった入力装置、または、ネットワークで接続された通信装置から送信され、UI部13は当該情報を受動的に受信してもよい。あるいは、入力データの位置を示すパスが情報処理装置1に設定され、UI部13が当該パスにある入力データを能動的に読み出してもよい。
【0032】
抽出部14は、モデル記憶部11に記憶された標準データモデルのうちから、マッピングに用いられる標準データモデルを抽出する。例えば、入力情報としてドメイン分野が指定されている場合、抽出部14は、指定されたドメイン分野に係る標準データモデルを抽出する。その場合、モデル記憶部11に記憶された標準データモデルは、対応するドメイン分野が分かるように記憶部に予め記憶されているものとする。
【0033】
マッピング部15は、標準データモデルの定義項目のうちから、入力データ、または、入力データに含まれる記載に対し、1以上のマッピング候補を決定する。マッピング候補の決定方法については後述する。
【0034】
また、複数のマッピング候補が決定された場合、マッピング部15は、マッピング候補に対し優先順位を設定してもよい。例えば、入力データのスキーマ名またはスキーマ値と、各マッピング候補と、を距離算出部16に入力することによって、マッピング候補ごとに意味的距離を取得し、各意味的距離に基づいて優先順位を決定してもよい。例えば、意味的距離の近い順に優先順位を高くしてもよい。また、例えば、クラスまたはプロパティの定義項目も用いてマッピング候補を決定した場合に、マッピング候補に、定義項目に基づくマッピング候補と、定義項目に基づかないマッピング候補と、が含まれることもあり得る。そのような場合において、マッピング部15は、定義項目に基づくマッピング候補に対し、定義項目に基づかないマッピング候補よりも高い優先順位を設定してもよい。
【0035】
優先順位とともにマッピング候補を出力することにより、複数のマッピング候補が出力された場合においてはユーザが複数のマッピング候補のうちから一つを決定することを容易にすることができ、一つのマッピング候補が出力された場合においてはユーザ出力されたマッピング候補を承認してよいかどうかの判断を容易にすることができる。
【0036】
また、マッピング部15は、マッピング候補を所定数まで絞り込めなかった場合などにおいて、ユーザに追加情報を入力してもらうために、標準データモデルから、絞られたマッピング候補のクラスが有するプロパティであって入力データに含まれていなかったプロパティを検出し、UI部13を介してユーザに出力してもよい。ユーザが入力データに含まれていなかったプロパティの情報を追加入力することにより、マッピング候補をさらに絞り込むことができる。
【0037】
なお、マッピング部15は、結果記憶部12に記憶された過去のマッピング結果を参照し、新しい入力データが過去のマッピング結果の入力データと同じであった場合は、過去のマッピング結果を流用して、マッピング候補を決定してもよい。
【0038】
また、マッピング部15は、新しい入力データと類似する過去の入力データがマッピング結果に含まれている場合でも、過去のマッピング結果を流用してもよい。例えば、マッピング部15は、新しい入力データと過去の各入力データとの相違点を算出し、当該相違点を距離算出部16に入力することによって意味的距離を取得し、意味的距離が所定閾値以内であれば、類似すると判定してもよい。
【0039】
また、マッピング部15は、新しい入力データと類似する過去の入力データがマッピング結果に含まれている場合、両入力データに対するマッピング候補の差異などを利用して、両入力データの差異(不一致点)を、UI部13を介してユーザに出力してもよい。これにより、新しい入力データの記載不足や間違いなどをユーザが認識することができる。
【0040】
なお、マッピング部15が、マッピング先を決定する場合は、マッピング部15は、マッピング結果を結果記憶部12に送信して記憶させる。
【0041】
距離算出部16は、入力データとマッピング先データのデータ間の意味的距離を算出する。前述の通り、入力は、マッピング部15によって行われる。意味的距離は、入力データに含まれるスキーマ毎の内容に対して、WordNeTの類似語辞書ベースにWord2Vecの自然言語処理方法によって、入力データとマッピング先データ間の距離算出可能であることが知られている。このような公知手法を用いて距離算出部16が実現されてよい。
【0042】
次に、マッピング部15のマッピング候補の決定について説明する。なお、下記に説明する決定方法は、適宜、組み合わされて用いられてよい。また、ある決定方法が行われてもマッピング候補が決定されなかった場合に、別の決定方法を行うとしてもよい。また、第1の決定方法でマッピング候補を決定し、第2の決定方法でマッピング候補を決定し、両方の決定方法において重複するマッピング候補を残すといったことが行われてもよい。このようにして、マッピング候補の絞り込みが行われてもよい。
【0043】
なお、下記においてマッピング候補とされたクラスまたはプロパティと関連性の深いクラスまたはプロパティもマッピング候補としてよい。例えば、マッピング候補とされたクラスの上位クラスや兄弟クラスをマッピング候補としてもよい。関連性の深いクラスの判定方法、例えば、何親等のクラスまでをマッピング候補に含めるかといったことは、情報処理装置1の仕様などに応じて、適宜に定めてよい。
【0044】
マッピング部15は、標準データモデルの定義項目のうちから、入力データのスキーマ名に完全一致または部分一致するものを検出してマッピング候補としてもよい。例えば、
図4の入力データを用いた場合、入力データには、「設備1」、「名称」、および「最大容量」という三つのスキーマ名が含まれているが、これらのいずれかと完全一致または部分一致する標準データモデルの定義項目が存在したときにマッピング候補が決定され得る。
【0045】
また、マッピング部15は、標準データモデルの定義項目のうちから、入力データのスキーマ値に完全一致または部分一致するものを検出してマッピング候補としてもよい。例えば、
図4の入力データを用いた場合、入力データには、「開閉器」と「30A」というスキーマ値が含まれているが、これらのいずれかと完全一致または部分一致する標準データモデルの定義項目が存在したときにマッピング候補が決定され得る。
【0046】
また、マッピング部15は、標準データモデルの定義項目のうちから、名称は一致しないが関連し得るクラスまたはプロパティを検出してマッピング候補としてもよい。
【0047】
例えば、標準データモデルの定義項目のうちから、スキーマ名またはスキーマ値と名称が類似するものを検出してマッピング候補としてもよい。例えば、距離算出部16が、スキーマ名またはスキーマ値と、標準データモデルの定義項目と、の意味的距離を算出し、マッピング部15は、意味的距離が所定値以内である標準データモデルの定義項目を、マッピング候補としてもよい。例えば、
図4の入力データを用いた場合、「最大容量」というスキーマ名に類似するとして、「切断容量」が検出されることもあり得る。また、「開閉器」というスキーマ値に類似するとして「スイッチ」や「保護開閉器」が検出されることもあり得る。
【0048】
また、例えば、マッピング部15は、クラスまたはプロパティの定義項目に基づき、入力データに含まれる単位を取り得るクラスまたはプロパティをマッピング候補とみなしてもよい。例えば、
図4の入力データには、「<最大容量>30A</最大容量>」という記載が含まれているが、この「A」がアンペアを意味している。このように入力データに単位が含まれている場合、同じ単位を取り得るプロパティを検出してもよい。例えば、
図3の例では、「定格電流」、「切断電流」、および「切断容量」が、アンペアの単位を取る得ることが示されているために検出される。なお、「切断容量」は第2単位として「KA(キロアンペア)」を取り得ることが示されているが、KAは大きさが異なるがアンペアの一種であるため、「切断容量」も検出されてよい。
【0049】
なお、
図3の第1単位と第2単位などのように、クラスまたはプロパティの定義項目に複数の単位が設定されていた場合、各単位を平等に扱い、スキーマ名およびスキーマ値を複数の単位全てと比べてもよいし、一部の単位(例えば第1単位)と比較し、一致するものがなかった場合に他の一部の単位(例えば第2単位)と比較するといったことが行われてもよい。
【0050】
また、例えば、マッピング部15は、クラスまたはプロパティの定義項目に基づき、入力データに含まれるデータタイプを取り得るクラスまたはプロパティをマッピング候補とみなしてもよい。例えば、
図4の入力データの「30A」の「30」は整数値(Integer)であるから、データタイプがIntegerであるプロパティが、マッピング候補として決定されてもよい。
図3の例では、「開閉回数」のデータタイプがIntegerであるため、「開閉回数」がマッピング候補とされてよい。
【0051】
また、例えば、マッピング部15は、クラスおよびプロパティの定義項目に基づき、マッピング候補から除外する標準データモデルの定義項目を決定してもよい。例えば、
図3の例では「ブレーカ」というクラスは「起動時間」というプロパティを必須としていることが示されている。そのため、「起動時間」が入力データに含まれていない場合、「ブレーカ」をマッピング候補から除外してもよい。
【0052】
なお、プロパティがマッピング候補とされたときに、検出されたプロパティを有するクラスもマッピング候補として決定してもよい。例えば、データ内の各記載のマッピング候補はクラスおよびプロパティから決定するが、データ全体のマッピング候補はクラスから決定するといったこともあり得る。例えば、「切断容量」というプロパティをマッピング候補とした場合、
図2の例では、「切断容量」というプロパティを有するクラスは、「保護開閉器」、「電流遮断器」、「ブレーカ」がマッピング候補として検出される。なお、「ブレーカ」は、上位クラスの「保護開閉器」からプロパティを継承するめ、「切断容量」というプロパティを有する。
【0053】
このような絞り込み方法によって、標準データモデルの定義項目を絞り込み、入力データのスキーマ名やスキーマ値に対応すると思われるマッピング候補が決定される。
【0054】
一例として、
図4の入力データ全体に対するマッピング候補のクラスを上記の方法を用いて決定する例を下記に示す。なお、この例の決定方法の用いる順番や用い方(マッピング候補を追加するか削除するか)に限られるわけではない。まず、第1の決定方法としてスキーマ名に完全一致するクラスまたはプロパティを検索し、第2の決定方法としてスキーマ値に完全一致するクラスまたはプロパティを検索する。しかし、「開閉器」、「最大容量」、および「30A」という名称に完全一致するクラスおよびプロパティは存在しないため、第1および第2の決定方法ではマッピング候補が決定されない。なお、部分一致でもよい場合は、「開閉器」に部分一致する「保護開閉器」がマッピング候補とされてもよい。次に、第3の決定方法としてスキーマ名に類似するクラスまたはプロパティを検索し、第4の決定方法としてスキーマ値に類似するクラスまたはプロパティを検索する。ここでは、「開閉器」が「保護開閉器」と類似するとする。ゆえに、「保護開閉器」がマッピング候補に含められる。また、マッピング候補の下位クラスも含めるとする。ゆえに、「保護開閉器」とその下位クラスである「ブレーカ」、「遮断機」、「電流遮断機」、および「電圧遮断機」もマッピング候補に含められる。次に、これらのマッピング候補を絞り込むため、第5の決定方法として、入力データに含まれる単位「A(アンペア)」を単位とすることが可能なプロパティを有していないクラスを確認し、マッピング候補から除外する。
図3の例では、「定格電流」、「切断容量」、「切断電流」、および「切断容量」が単位「A(アンペア)」を取ることができるため、これらのプロパティを有していないクラスをマッピング候補から除外する。しかし、現在の全てのマッピング候補はこれらのいずれかのプロパティを有しているため除外されない。次に、第6の決定方法として、入力データのデータタイプである「Integer」を取ることが可能なプロパティを有していないクラスを確認し、マッピング候補から除外する。しかし、現在の全てのオブジェクト候補が、「Integer」を取ることが可能な「定格電流」を有しているので、マッピング候補からは除外されるものはない。次に、第7の決定方法として、オブジェクト候補の必須プロパティを有しているかを確認し、必須プロパティが入力データに含まれていないオブジェクト候補を除外する。
図4の入力データには「起動時間」が含まれていないため、「起動時間」を必須とする「ブレーカ」をマッピング候補から除外する。こうして残った「保護開閉器」、「遮断機」、「電流遮断機」、および「電圧遮断機」をマッピング候補として出力するといったことが行われてもよい。
【0055】
次に、構成要素の各処理の流れについて説明する。
図5は、本発明の実施形態に係る情報処理装置1の全体処理の概略フローチャートである。なお、本説明におけるフローチャートは一例であり、説明された例に限られるものではない。実施形態の求められる仕様、変更などに応じて、手順の並び替え、追加、および省略が行われてもよい。なお、標準データモデルは予めモデル記憶部11に記憶されているとする。
【0056】
UI部13が、入力情報を取得する(S101)。前述の通り、入力情報には、入力データ、標準データモデルを一意に決定するための指定ドメイン分野など、マッピングを行うために必要な情報が含まれる。抽出部14は、モデル記憶部11に記憶された標準データモデルのうちから、指定ドメイン分野の標準データモデルを抽出する(S102)。
【0057】
マッピング部15は、予め定められた決定方法に従って、マッピング候補を決定する(S103)。その際、スキーマ名などの類似の判定、優先順位を設ける場合など必要に応じて、マッピング部15は、距離算出部16に対して、入力データのスキーマ名またはスキーマ値を示すテキストと、標準データモデルのクラスまたはプロパティの名称を示すテキストと、を距離算出部16に送信し、距離算出部16が入力された二つのテキストの意味的距離を算出してもよい。
【0058】
UI部13が、マッピング候補などといった、マッピング部15からの処理結果を出力する(S104)。当該出力に基づいてユーザはマッピング候補を選択することになり、UI部13はユーザの選択を取得する(S105)。記録部は、マッピング対象と選択結果を対応づけて記録する(S106)。このようにして、マッピングのフローは終了する。
【0059】
図6は、マッピング結果の例を示す図である。
図6では、「<スキーマ名>スキーマ値</スキーマ名>」との記載に対し、対応するマッピング先を決定し記録する例である。
図6(A)は、マッピング結果をAAS(Asset Administration Shell)として記録する例を示す。
図4の入力データの「開閉器」および「30A」が、マッピング先の標準データモデル(例えばIEC61987)に定義されたクラスおよびプロパティのいずれに該当するかが分かるように、マッピング先のクラスまたはプロパティの識別子(たとえば、コード)を、semantic IDで表されている。このように、マッピング先を名称ではなく標準データモデルで定義された識別子などで表してもよい。
図6(B)は、マッピング結果をOPC-UAが定義するDI(Device model)を用いた場合である。なお、DIへの参照にHasDictionaryEntityを用いてもよい。OPC-UAでは、
図6(B)の<DisplayName>開閉器</DisplayName>のように、入力データに記載されたスキーマ値についても分かるように記載されている。
【0060】
入力データに対して、対応付けしたマッピング先との不一致性がある場合は、不一致の定義を、UI部13を介して表示してもよい。
図6(A)の例では、入力の<最大容量>30A<最大容量>に対して、マッピング先の標準データモデルP003は、切断容量であり、WまたはKAの単位を定義する。そのため、入力データとマッピング対象とは、名前と単位の定義不一致があり、関連定義内容を入出力部に表示する。
【0061】
以上のように、本実施形態の情報処理装置1は、標準データモデルに準拠していない入力データおよびその一部記載を標準データモデルの定義項目へ自動的にマッピングすることができる。特に、単位、データタイプなどといったクラスまたはプロパティの特徴の組み合わせから、入力データまたはその一部記載に関連し得るオブジェクト候補を絞り込むことができる。また、優先順位を提示することにより、ユーザが数多くのマッピング候補からマッピング先を選択する負担を減らすことができる。また、マッピング先の標準データモデル定義によって、入力データの不備や定義改良など、入力データの品質向上させる効果を得られる。
【0062】
なお、上記の実施形態の少なくとも一部は、プロセッサ、メモリなどを実装しているIC(Integrated Circuit:集積回路)などの専用の電子回路(すなわちハードウェア)により実現されてもよい。また、上記の実施形態の少なくとも一部は、ソフトウェア(プログラム)を実行することにより、実現されてもよい。例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたCPUなどのプロセッサにプログラムを実行させることにより、上記の実施形態の処理を実現することが可能である。すなわち、
図1に示された各部は、プロセスとして実現され得る。
【0063】
例えば、コンピュータが読み取り可能な記憶媒体に記憶された専用のソフトウェアをコンピュータが読み出すことにより、コンピュータを上記の実施形態の装置とすることができる。記憶媒体の種類は特に限定されるものではない。また、通信ネットワークを介してダウンロードされた専用のソフトウェアをコンピュータがインストールすることにより、コンピュータを上記の実施形態の装置とすることができる。こうして、ソフトウェアによる情報処理が、ハードウェア資源を用いて、具体的に実装される。
【0064】
図7は、本発明の一実施形態におけるハードウェア構成の一例を示すブロック図である。情報処理装置1は、プロセッサ21と、主記憶装置22と、補助記憶装置23と、ネットワークインタフェース24と、デバイスインタフェース25と、を備え、これらがバス26を介して接続されたコンピュータ装置2として実現できる。情報処理装置1の記憶部は、主記憶装置22または補助記憶装置23により実現可能であり、UI部13などの記憶部以外の構成要素は、プロセッサ21により実現可能である。
【0065】
なお、
図7のコンピュータ装置2は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、
図7は、1台のコンピュータ装置2が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの異なる一部の処理を実行してもよい。
【0066】
プロセッサ21は、コンピュータの制御装置および演算装置を含む電子回路である。プロセッサ21は、コンピュータ装置2の内部構成の各装置などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置などに出力する。具体的には、プロセッサ21は、コンピュータ装置2のOSやソフトウェアなどを実行し、コンピュータ装置2を構成する各装置を制御する。プロセッサ21は、上記の処理を行うことができれば特に限られるものではない。
【0067】
主記憶装置22は、プロセッサ21が実行する命令および各種データなどを記憶する記憶装置であり、主記憶装置22に記憶された情報がプロセッサ21により直接読み出される。補助記憶装置23は、主記憶装置22以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれでもよい。
【0068】
ネットワークインタフェース24は、無線または有線により、通信ネットワーク3に接続するためのインタフェースである。ネットワークインタフェース24は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース24により、通信ネットワーク3を介して通信接続された外部装置4Aと情報のやり取りが行われてもよい。
【0069】
デバイスインタフェース25は、外部装置4Bと直接接続するUSBなどのインタフェースである。外部装置4Bは、外部記憶媒体でもよいし、データベースなどのストレージ装置でもよい。
【0070】
外部装置4Aおよび4Bは出力装置でもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声などを出力する装置などでもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカなどがあるが、これらに限られるものではない。
【0071】
なお、外部装置4Aおよび4Bは入力装置でもよい。入力装置は、キーボード、マウス、タッチパネルなどのデバイスを備え、これらのデバイスにより入力された情報をコンピュータ装置2に与える。入力装置からの信号はプロセッサ21に出力される。
【0072】
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、移行を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0073】
1 情報処理装置
11 モデル記憶部
12 結果記憶部
13 UI部(入出力部)
14 抽出部
15 マッピング部
16 距離算出部
2 コンピュータ装置
21 プロセッサ
22 主記憶装置
23 補助記憶装置
24 ネットワークインタフェース
25 デバイスインタフェース
26 バス
3 通信ネットワーク
4Aおよび4B 外部装置