(57)【要約】  類似度算出部（２１１）が、第１システム向けオントロジーの中の１つ以上の部分オントロジーのそれぞれと第２システムの基準オントロジーとの類似度を各部分オントロジーの類似度として算出する。候補抽出部（２１２）が、前記第１システム向けオントロジーから、類似度条件を満たす類似度を有する各部分オントロジーと前記類似度条件を満たす類似度を有する部分オントロジー同士を結合するための部分オントロジーとの集合をオントロジー候補として抽出する。オントロジー出力部（２１４）は、前記オントロジー候補が制約条件を満たす場合に、前記オントロジー候補を第２システム向けオントロジーとして出力する。
2020234963.tif 000002
【特許請求の範囲】
【請求項１】
第１システム向けオントロジーの中の１つ以上の部分オントロジーのそれぞれと第２システムの基準オントロジーとの類似度を各部分オントロジーの類似度として算出する類似度算出部と、
前記第１システム向けオントロジーから、類似度条件を満たす類似度を有する各部分オントロジーと前記類似度条件を満たす類似度を有する部分オントロジー同士を結合するための部分オントロジーとの集合をオントロジー候補として抽出する候補抽出部と、
前記オントロジー候補が制約条件を満たすか判定する制約判定部と、
前記オントロジー候補が前記制約条件を満たす場合に、前記オントロジー候補を第２システム向けオントロジーとして出力するオントロジー出力部と、
を備えるオントロジー生成システム。
【請求項２】
前記オントロジー生成システムは、複数の類似度種類から、前記第２システムの動作環境に応じた類似度種類を選択する種類選択部を備え、
前記類似度算出部は、選択された類似度種類用の算出処理によって、各部分オントロジーの類似度を算出する
請求項１に記載のオントロジー生成システム。
【請求項３】
前記オントロジー生成システムは、前記基準オントロジーの中の文章と各部分オントロジーの中の文章とのそれぞれを１つ以上の形態素に分解する形態素解析部を備え、
前記類似度算出部は、前記基準オントロジーの中の１つ以上の形態素と各部分オントロジーの中の１つ以上の形態素とに基づいて、各部分オントロジーの類似度を算出する
請求項１または請求項２に記載のオントロジー生成システム。
【請求項４】
前記オントロジー生成システムは、候補合成部を備え、
前記類似度算出部は、複数の基準オントロジーに対して基準オントロジー毎に、各部分オントロジーの類似度を算出し、
前記候補抽出部は、前記複数の基準オントロジーに対応する複数のオントロジー候補を抽出し、
前記候補合成部は、前記複数のオントロジー候補を合成することによって、合成後のオントロジー候補を生成し、
前記制約判定部は、前記合成後のオントロジー候補が前記制約条件を満たすか判定し、
前記オントロジー出力部は、前記合成後のオントロジー候補が前記制約条件を満たす場合に、前記合成後のオントロジー候補を前記第２システム向けオントロジーとして出力する
請求項１から請求項３のいずれか１項に記載のオントロジー生成システム。
【請求項５】
前記第２システム向けオントロジーは、前記第２システムで利用され、
前記オントロジー生成システムは、前記第２システム向けオントロジーの中の各部分オントロジーの利用統計に基づいて、前記第２システム向けオントロジーから１つ以上の部分オントロジーを削除するオントロジー縮小部を備える
請求項１から請求項４のいずれか１項に記載のオントロジー生成システム。
【請求項６】
前記第２システム向けオントロジーは、前記第２システムで利用され、
前記オントロジー生成システムは、前記第２システム向けオントロジーの中の各部分オントロジーの利用統計に基づいて前記第１システム向けオントロジーから１つ以上の部分オントロジーを取得し、取得した１つ以上の部分オントロジーを前記第２システム向けオントロジーに追加するオントロジー拡張部を備える
請求項１から請求項５のいずれか１項に記載のオントロジー生成システム。
【請求項７】
類似度算出部が、第１システム向けオントロジーの中の１つ以上の部分オントロジーのそれぞれと第２システムの基準オントロジーとの類似度を各部分オントロジーの類似度として算出し、
候補抽出部が、前記第１システム向けオントロジーから、類似度条件を満たす類似度を有する各部分オントロジーと前記類似度条件を満たす類似度を有する部分オントロジー同士を結合するための部分オントロジーとの集合をオントロジー候補として抽出し、
制約判定部が、前記オントロジー候補が制約条件を満たすか判定し、
オントロジー出力部が、前記オントロジー候補が前記制約条件を満たす場合に、前記オントロジー候補を第２システム向けオントロジーとして出力する
オントロジー生成方法。
【請求項８】
第１システム向けオントロジーの中の１つ以上の部分オントロジーのそれぞれと第２システムの基準オントロジーとの類似度を各部分オントロジーの類似度として算出する類似度算出処理と、
前記第１システム向けオントロジーから、類似度条件を満たす類似度を有する各部分オントロジーと前記類似度条件を満たす類似度を有する部分オントロジー同士を結合するための部分オントロジーとの集合をオントロジー候補として抽出する候補抽出処理と、
前記オントロジー候補が制約条件を満たすか判定する制約判定処理と、
前記オントロジー候補が前記制約条件を満たす場合に、前記オントロジー候補を第２システム向けオントロジーとして出力するオントロジー出力処理と、
をコンピュータに実行させるためのオントロジー生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムで利用するオントロジーを生成するための技術に関するものである。
【背景技術】
【０００２】
ＩｏＴでは、様々な物の情報がビッグデータとしてクラウドに蓄積され、複数のドメインのそれぞれのアプリケーションがビッグデータを使用する。物が属するドメインについての知識（ドメイン知識）を意識することなく、ビッグデータを利用できることが望ましい。物の一例はセンサーである。ドメイン知識の一例は、設置場所、収集されたデータの種類、精度などである。
ＩｏＴは、Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓの略称である。
アプリケーションは、アプリケーションプログラムの略称である。【０００３】
ＩｏＴに関する標準化団体として、ｏｎｅＭ２Ｍと呼ばれる団体が存在する。
ｏｎｅＭ２Ｍは、水平統合型ＩｏＴプラットフォームの標準化を進めている。
水平統合型ＩｏＴプラットフォームは、アプリケーションからセマンティックなクエリを受け付け、アプリケーションへ応答する。例えば、この技術は、オントロジーに基づく注釈が付与されたセンサーデータを管理し、推論器によってアプリケーションのセマンティックなクエリに対する応答を実現する。これにより、アプリケーションは、センサーのドメイン知識を意識することなく、センサーデータを利用することができる。【０００４】
特許文献１は、センサー側のメタデータとアプリケーション側のメタデータとのマッチング精度の低下を抑制するための技術を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−８１３７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の水平統合型ＩｏＴプラットフォームは、セマンティック技術を実現するためにオントロジーを使用することを想定している。また、複数のドメインを統合するため、潤沢なリソースを有するクラウドにオントロジーを搭載することを想定している。
そのため、アプリケーションがクラウドとの通信による遅延を許容できない場合、そのアプリケーションは、従来の水平統合型ＩｏＴプラットフォームを利用することが困難である。また、特許文献１は、このような課題を解決するための技術を開示していない。【０００７】
本発明は、潤沢なリソースを有さないシステムで利用することが可能なオントロジーを生成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のオントロジー生成システムは、
第１システム向けオントロジーの中の１つ以上の部分オントロジーのそれぞれと第２システムの基準オントロジーとの類似度を各部分オントロジーの類似度として算出する類似度算出部と、
前記第１システム向けオントロジーから、類似度条件を満たす類似度を有する各部分オントロジーと前記類似度条件を満たす類似度を有する部分オントロジー同士を結合するための部分オントロジーとの集合をオントロジー候補として抽出する候補抽出部と、
前記オントロジー候補が制約条件を満たすか判定する制約判定部と、
前記オントロジー候補が前記制約条件を満たす場合に、前記オントロジー候補を第２システム向けオントロジーとして出力するオントロジー出力部と、を備える。
【発明の効果】
【０００９】
本発明によれば、潤沢なリソースを有するシステムのためのオントロジー（第１システム向けオントロジー）を基に、潤沢なリソースを有さないシステムのためのオントロジー（第２システム向けオントロジー）を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１におけるＩｏＴシステム１００の構成図。
【図２】実施の形態１におけるオントロジー生成装置２００の構成図。
【図３】実施の形態１における記憶部２９０の構成図。
【図４】実施の形態１におけるオントロジー生成方法のフローチャート。
【図５】実施の形態１における類似度算出処理（Ｓ１１０）のフローチャート。
【図６】実施の形態１における基準オントロジー（Ａ）を示す図。
【図７】実施の形態１におけるクラウドシステム向けオントロジー２９１を示す図。
【図８】実施の形態１におけるシソーラスデータ２９３Ａを示す図。
【図９】実施の形態１におけるオントロジー候補（Ａ）を示す図。
【図１０】実施の形態２におけるオントロジー生成装置２００の構成図。
【図１１】実施の形態２における記憶部２９０の構成図。
【図１２】実施の形態２におけるオントロジー生成方法のフローチャート。
【図１３】実施の形態２における類似度種類選択処理（Ｓ２１０）のフローチャート。
【図１４】実施の形態２における類似度種類データ２９６を示す図。
【図１５】実施の形態２におけるシソーラスデータ２９３Ａを示す図。
【図１６】実施の形態３におけるオントロジー生成装置２００の構成図。
【図１７】実施の形態３におけるオントロジー生成方法のフローチャート。
【図１８】実施の形態３における類似度算出処理（Ｓ３１０）のフローチャート。
【図１９】実施の形態３における形態素類似度を示す図。
【図２０】実施の形態４におけるオントロジー生成装置２００の構成図。
【図２１】実施の形態４における記憶部２９０の構成図。
【図２２】実施の形態４におけるオントロジー生成方法のフローチャート。
【図２３】実施の形態４におけるクラウドシステム向けオントロジー２９１の一部を示す図。
【図２４】実施の形態４における基準オントロジー（Ａ）を示す図。
【図２５】実施の形態４におけるオントロジー候補（Ａ）を示す図。
【図２６】実施の形態４における合成後のオントロジー候補を示す図。
【図２７】実施の形態５におけるＩｏＴシステム１００の構成図。
【図２８】実施の形態５におけるオントロジー変更装置３００の構成図。
【図２９】実施の形態５における記憶部３９０の構成図。
【図３０】実施の形態５におけるオントロジー変更方法のフローチャート。
【図３１】実施の形態５における統計データ３９２を示す図。
【図３２】実施の形態５における縮小オントロジー（Ａ）を示す図。
【図３３】実施の形態６におけるオントロジー変更装置３００の構成図。
【図３４】実施の形態６におけるオントロジー変更方法のフローチャート。
【図３５】実施の形態６における統計データ３９２を示す図。
【図３６】実施の形態におけるオントロジー生成装置２００のハードウェア構成図。
【図３７】実施の形態におけるオントロジー変更装置３００のハードウェア構成図。
【発明を実施するための形態】
【００１１】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００１２】
実施の形態１．
潤沢なリソースを有さないシステムのためのオントロジーを生成する形態について、図１から図９に基づいて説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１に基づいて、ＩｏＴシステム１００の構成を説明する。
ＩｏＴシステム１００は、ＩｏＴを利用する情報処理システムである。情報処理システムは、コンピュータシステムであり、１台以上のコンピュータを備える。
【００１４】
ＩｏＴシステム１００は、クラウドシステム１１１（第１システムの一例）を備える。
ＩｏＴシステム１００は、１つ以上のエッジシステム（１１２Ａ、１１２Ｂ）を備える。エッジシステム１１２Ａとエッジシステム１１２Ｂとのいずれかを特定しない場合、それぞれをエッジシステム１１２（第２システムの一例）と称する。
ＩｏＴシステム１００は、１つ以上のセンサー（１１３Ａ、１１３Ｂ）を備える。センサー１１３Ａは、エッジシステム１１２Ａと同じドメインに属するセンサーである。センサー１１３Ｂは、エッジシステム１１２Ｂと同じドメインに属するセンサーである。いずれかのセンサーを特定しない場合、それぞれをセンサー１１３と称する。
ＩｏＴシステム１００は、１つ以上のイントラネット（１０２Ａ、１０２Ｂ）を備える。イントラネット１０２Ａは、エッジシステム１１２Ａと同じドメインに属するイントラネットである。イントラネット１０２Ｂは、エッジシステム１１２Ｂと同じドメインに属するイントラネットである。イントラネット１０２Ａとイントラネット１０２Ｂとのいずれかを特定しない場合、それぞれをイントラネット１０２と称する。イントラネット１０２は通信ネットワークの一例である。
【００１５】
クラウドシステム１１１は、「クラウド」と呼ばれる情報処理システムである。例えば、クラウドシステム１１１はビッグデータを管理する。
クラウドシステム１１１は、負荷が高い情報処理を実行することが可能な潤沢なリソースを有する。
【００１６】
エッジシステム１１２は、クラウドシステム１１１を利用する情報処理システムであり、潤沢なリソースを有さない。例えば、エッジシステム１１２に組み込まれたアプリケーションは、クラウドシステム１１１に蓄積されたビッグデータを利用して、各種の情報処理を行う。
エッジシステム１１２は、クラウドシステム１１１のように潤沢なリソースを有しない。
【００１７】
エッジシステム１１２は、イントラネット１０２を介して、１つ以上のセンサー１１３と通信する。具体的には、エッジシステム１１２は、１つ以上のセンサー１１３からセンサーデータを収集する。
エッジシステム１１２は、インターネット１０１を介して、クラウドシステム１１１と通信する。具体的には、エッジシステム１１２は、収集したセンサーデータをクラウドシステム１１１へ送信する。各センサーデータはビッグデータの一部として利用される。インターネット１０１は通信ネットワークの一例である。
【００１８】
クラウドシステム１１１は、オントロジー生成装置２００を備え、オントロジー生成システム１１０を実現する。
オントロジー生成システム１１０は、各エッジシステム１１２のためにオントロジーを生成する。
【００１９】
図２に基づいて、オントロジー生成装置２００の構成を説明する。
オントロジー生成装置２００は、プロセッサ２０１とメモリ２０２と補助記憶装置２０３と通信装置２０４と入出力インタフェース２０５といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００２０】
プロセッサ２０１は、演算処理を行うＩＣであり、他のハードウェアを制御する。例えば、プロセッサ２０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。
ＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。
ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
ＤＳＰは、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称である。
ＧＰＵは、Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
【００２１】
メモリ２０２は揮発性の記憶装置である。メモリ２０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ２０２はＲＡＭである。メモリ２０２に記憶されたデータは必要に応じて補助記憶装置２０３に保存される。
ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。
【００２２】
補助記憶装置２０３は不揮発性の記憶装置である。例えば、補助記憶装置２０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。補助記憶装置２０３に記憶されたデータは必要に応じてメモリ２０２にロードされる。
ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。
ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
【００２３】
通信装置２０４はレシーバ及びトランスミッタである。例えば、通信装置２０４は通信チップまたはＮＩＣである。
ＮＩＣは、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略称である。
【００２４】
入出力インタフェース２０５は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース２０５はＵＳＢ端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
ＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略称である。
【００２５】
オントロジー生成装置２００は、類似度算出部２１１と候補抽出部２１２と制約判定部２１３とオントロジー出力部２１４といった要素を備える。これらの要素はソフトウェアで実現される。
【００２６】
補助記憶装置２０３には、類似度算出部２１１と候補抽出部２１２と制約判定部２１３とオントロジー出力部２１４としてコンピュータを機能させるためのオントロジー生成プログラムが記憶されている。オントロジー生成プログラムは、メモリ２０２にロードされて、プロセッサ２０１によって実行される。
補助記憶装置２０３には、さらに、ＯＳが記憶されている。ＯＳの少なくとも一部は、メモリ２０２にロードされて、プロセッサ２０１によって実行される。
プロセッサ２０１は、ＯＳを実行しながら、オントロジー生成プログラムを実行する。
ＯＳは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略称である。
【００２７】
オントロジー生成プログラムの入出力データは記憶部２９０に記憶される。
メモリ２０２は記憶部２９０として機能する。但し、補助記憶装置２０３、プロセッサ２０１内のレジスタおよびプロセッサ２０１内のキャッシュメモリなどの記憶装置が、メモリ２０２の代わりに、又は、メモリ２０２と共に、記憶部２９０として機能してもよい。
【００２８】
オントロジー生成装置２００は、プロセッサ２０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ２０１の役割を分担する。
【００２９】
オントロジー生成プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録（格納）することができる。
【００３０】
図３に基づいて、記憶部２９０に記憶されるデータの一例を説明する。
記憶部２９０には、クラウドシステム向けオントロジー２９１（第１システム向けオントロジーの一例）が予め記憶される。
クラウドシステム向けオントロジー２９１は、クラウドシステム１１１で使用されるオントロジーである。
【００３１】
記憶部２９０には、エッジシステム１１２ごとに、基準データ２９２、シソーラスデータ２９３および制約データ２９４が予め記憶される。
エッジシステム１１２Ａの基準データ２９２を基準データ２９２Ａと称し、エッジシステム１１２Ｂの基準データ２９２を基準データ２９２Ｂと称する。基準データ２９２Ａと２９２Ｂとのいずれかを特定しない場合、それぞれを基準データ２９２と称する。
エッジシステム１１２Ａのシソーラスデータ２９３をシソーラスデータ２９３Ａと称し、エッジシステム１１２Ｂのシソーラスデータ２９３をシソーラスデータ２９３Ｂと称する。シソーラスデータ２９３Ａとシソーラスデータ２９３Ｂとのいずれかを特定しない場合、それぞれをシソーラスデータ２９３と称する。
エッジシステム１１２Ａの制約データ２９４を制約データ２９４Ａと称し、エッジシステム１１２Ｂの制約データ２９４を制約データ２９４Ｂと称する。制約データ２９４Ａと制約データ２９４Ｂとのいずれかを特定しない場合、それぞれを制約データ２９４と称する。
基準データ２９２とシソーラスデータ２９３と制約データ２９４とのそれぞれの内容については後述する。
【００３２】
記憶部２９０には、エッジシステム１１２ごとに、エッジシステム向けオントロジー２９５（第２システム向けオントロジーの一例）が記憶される。
エッジシステム向けオントロジー２９５は、エッジシステム１１２のために生成されたオントロジーである。
エッジシステム１１２Ａのために生成されるオントロジーをエッジシステム向けオントロジー２９５Ａと称し、エッジシステム１１２Ｂのために生成されるオントロジーをエッジシステム向けオントロジー２９５Ｂと称する。エッジシステム向けオントロジー２９５Ａとエッジシステム向けオントロジー２９５Ｂとのいずれかを特定しない場合、それぞれをエッジシステム向けオントロジー２９５と称する。
エッジシステム向けオントロジー２９５は、クラウドシステム向けオントロジー２９１と基準データ２９２とシソーラスデータ２９３と制約データ２９４とに基づいて生成される。
エッジシステム向けオントロジー２９５の内容については後述する。
【００３３】
＊＊＊動作の説明＊＊＊
オントロジー生成システム１１０の動作の手順はオントロジー生成方法に相当する。また、オントロジー生成システム１１０の動作の手順はオントロジー生成プログラムによる処理の手順に相当する。
オントロジー生成方法は、各エッジシステム１１２に対して実行される。
【００３４】
図４に基づいて、エッジシステム１１２Ａに対するオントロジー生成方法を説明する。
エッジシステム１１２Ｂに対するオントロジー生成方法は、エッジシステム１１２Ａに対するオントロジー生成方法と同様である。
【００３５】
ステップＳ１１０において、類似度算出部２１１は、クラウドシステム向けオントロジー２９１の中の１つ以上の部分オントロジーのそれぞれとエッジシステム１１２Ａの基準オントロジーとの類似度を算出する。算出される各類似度を各部分オントロジーの類似度と称する。
クラウドシステム向けオントロジー２９１の中の各部分オントロジーは、クラウドシステム向けオントロジー２９１の一部である。
エッジシステム１１２Ａの基準オントロジーを基準オントロジー（Ａ）と称する。
基準オントロジー（Ａ）は、基準データ２９２Ａが示すオントロジーである。
【００３６】
図５に基づいて、類似度算出処理（Ｓ１１０）の手順を説明する。
ステップＳ１１１において、類似度算出部２１１は、クラウドシステム向けオントロジー２９１から、基準オントロジー（Ａ）に対応する１つ以上の部分オントロジーを抽出する。
抽出される各部分オントロジーの形式は、基準オントロジーの形式と一致する。
【００３７】
図６および図７に基づいて、ステップＳ１１１の具体例を説明する。
図６に、基準オントロジー（Ａ）の具体例を示す。
基準オントロジー（Ａ）は、“ａｔｔｒｉｂｕｔｅ−ｏｆ  ［単語］”という形式で表される関係を有するノード組を示している。具体的には、基準オントロジー（Ａ）は、「動物」ノードと「数値」ノードとの組を示している。「動物」ノードと「数値」ノードとの間には“ａｔｔｒｉｂｕｔｅ−ｏｆ  年齢”という関係がある。
図７に、クラウドシステム向けオントロジー２９１の具体例を示す。点線で囲われた部分が基準オントロジー（Ａ）に対応する部分オントロジーである。
クラウドシステム向けオントロジー２９１には、基準オントロジー（Ａ）に示される関係、すなわち、“ａｔｔｒｉｂｕｔｅ−ｏｆ  ［単語］”という形式で表される関係、を有する４つのノード組が含まれる。ノード組（１）は「人」ノードと「数値」ノードとの組である。ノード組（２）は「ネコ」ノードと「数値」ノードとの組である。ノード組（３）は「ハト」ノードと「豆」ノードとの組である。ノード組（４）は「カラス」ノードと「数値」ノードとの組である。
この場合、類似度算出部２１１は、クラウドシステム向けオントロジー２９１から、４つのノード組（１〜４）に対応する４つの部分オントロジー（１〜４）を抽出する。抽出される各部分オントロジーは、各ノード組を含む最小部分である。
【００３８】
図５に戻り、ステップＳ１１２から説明を続ける。
ステップＳ１１２において、類似度算出部２１１は、ステップＳ１１１で抽出した１つ以上の部分オントロジーから、未選択の部分オントロジーを１つ選択する。
【００３９】
ステップＳ１１３において、類似度算出部２１１は、Ｓ１１２で選択した部分オントロジーの中の単語と基準オントロジー（Ａ）の中の単語との類似度を算出する。算出される類似度が、ステップＳ１１２で選択された部分オントロジーの類似度となる。
具体的には、類似度算出部２１１は、シソーラスデータ２９３Ａを用いて類似度を算出する。シソーラスデータ２９３Ａは、基準オントロジー（Ａ）の中の単語のシソーラスを示す。シソーラスは１つ以上の類語である。
例えば、部分オントロジーの中の単語が基準オントロジー（Ａ）の中の単語と一致する場合、部分オントロジーの類似度は「１」である。また、部分オントロジーの中の単語が、基準オントロジー（Ａ）の中の単語と一致しないがシソーラスデータ２９３Ａに含まれる場合、「類似度＝１／類語数」という式を計算することによって、部分オントロジーの類似度が算出される。「類語数」は、シソーラスデータ２９３Ａに示される類語の数を意味する。部分オントロジーの中の単語が、基準オントロジー（Ａ）の中の単語と一致せず、且つ、シソーラスデータ２９３Ａに含まれない場合、部分オントロジーの類似度は「０」である。
【００４０】
図６から図８に基づいて、ステップＳ１１２の具体例を説明する。
図８に、シソーラスデータ２９３Ａの具体例を示す。
図６において、基準オントロジー（Ａ）の関係は「年齢」という単語を含んでいる。
図７において、部分オントロジー（１）（２）の関係は「年齢」という単語を含んでいる。また、部分オントロジー（３）の関係は「好物」という単語を含み、部分オントロジー（４）の関係は「歳」という単語を含んでいる。
部分オントロジー（１）（２）の関係の中の単語「年齢」は、基準オントロジー（Ａ）の関係の中の単語「年齢」と一致する。したがって、部分オントロジー（１）（２）のそれぞれの類似度は「１」である。
部分オントロジー（３）の関係の中の単語「好物」は、基準オントロジー（Ａ）の関係の中の単語「年齢」と一致しない。さらに、単語「好物」は、シソーラスデータ２９３Ａ（図８参照）に含まれない。したがって、部分オントロジー（３）の類似度は「０」である。
部分オントロジー（４）の関係の中の単語「歳」は、基準オントロジー（Ａ）の関係の中の単語「年齢」と一致しないが、シソーラスデータ２９３Ａ（図８参照）に含まれる。シソーラスデータ２９３Ａに示される類語の数は「５」である。したがって、部分オントロジー（４）の類似度は「０．２（＝１／５）」である。
【００４１】
図５に戻り、ステップＳ１１４から説明を続ける。
ステップＳ１１４において、類似度算出部２１１は、ステップＳ１１１で抽出された１つ以上の部分オントロジーの中に未選択の部分オントロジーがあるか判定する。
未選択の部分オントロジーがある場合、処理はステップＳ１１２に進む。
未選択の部分オントロジーがない場合、処理は終了する。
【００４２】
図４に戻り、ステップＳ１２０から説明を続ける。
ステップＳ１２０において、候補抽出部２１２は、クラウドシステム向けオントロジー２９１の中の１つ以上の部分オントロジーのそれぞれの類似度に基づいて、クラウドシステム向けオントロジー２９１からエッジシステム向けオントロジー２９５Ａの候補を抽出する。抽出される候補をオントロジー候補（Ａ）と称する。
オントロジー候補（Ａ）は、１つ以上の該当部分オントロジーと、結合部分オントロジーとの集合である。
各該当部分オントロジーは、類似度条件（Ａ）を満たす類似度を有する各部分オントロジーである。
結合部分オントロジーは、該当部分オントロジー同士を結合するための部分オントロジーである。
類似度条件（Ａ）は、エッジシステム１１２Ａの類似度条件であり、基準データ２９２Ａに示される。類似度条件は類似度に関する条件である。
【００４３】
図７および図９に基づいて、ステップＳ１２０の具体例を説明する。
図９は、オントロジー候補（Ａ）の具体例を示す。
図７において、部分オントロジー（１）（２）のそれぞれの類似度は「１」である。また、部分オントロジー（３）の類似度は「０」であり、部分オントロジー（４）の類似度は「０．２」である。
類似度条件（Ａ）が「０．２以上」であると仮定する。この場合、類似度条件（Ａ）を満たす類似度を有する部分オントロジー、すなわち、該当部分オントロジーは、部分オントロジー（１）（２）（４）である。
したがって、候補抽出部２１２は、該当部分オントロジー（１）（２）（４）をクラウドシステム向けオントロジー２９１から抽出する。
さらに、候補抽出部２１２は、該当部分オントロジー（１）（２）（４）を結合するための部分オントロジー、すなわち、結合部分オントロジーを、クラウドシステム向けオントロジー２９１から抽出する。該当部分オントロジー（１）（２）（４）の上位ノード「哺乳類」「鳥類」「動物」に対応する部分オントロジーが結合部分オントロジーである。
図９において、オントロジー候補（Ａ）は、結合部分オントロジーと該当部分オントロジー（１）（２）（４）とを含んでいる。オントロジー候補（Ａ）は、クラウドシステム向けオントロジー２９１（図７参照）の中で該当部分オントロジー（１）（２）（４）が結合された最小部分である。
【００４４】
図４に戻り、ステップＳ１３０から説明を続ける。
ステップＳ１３０において、制約判定部２１３は、オントロジー候補（Ａ）がエッジシステム１１２Ａの制約条件を満たすか判定する。エッジシステム１１２Ａの制約条件を制約条件（Ａ）と称する。
制約条件（Ａ）は、エッジシステム向けオントロジー２９５Ａに関する条件であり、制約データ２９４Ａに示される。
例えば、制約条件（Ａ）は、エッジシステム向けオントロジー２９５Ａのサイズについての条件である。エッジシステム向けオントロジー２９５Ａのサイズは、エッジシステム向けオントロジー２９５Ａにおける最下位ノードの深さなどによって表すことができる。最下位ノードの深さは、最下位ノードが位置する階層の深さである。
【００４５】
図９に基づいて、ステップＳ１３０の具体例を説明する。
制約条件（Ａ）が「ノード深さが４以下」であると仮定する。ノード深さは、最下位ノードの深さを意味する。図９において、オントロジー候補（Ａ）の最下位ノード「数値」の深さは「４」である。この場合、オントロジー候補（Ａ）は、制約条件（Ａ）を満たす。
【００４６】
図４に戻り、ステップＳ１３０の説明を続ける。
オントロジー候補（Ａ）が制約条件（Ａ）を満たす場合、処理はステップＳ１４０に進む。
オントロジー候補（Ａ）が制約条件（Ａ）を満たさない場合、処理はステップＳ１５０に進む。
【００４７】
ステップＳ１４０において、オントロジー出力部２１４は、オントロジー候補（Ａ）をエッジシステム向けオントロジー２９５Ａとして出力する。
具体的には、オントロジー出力部２１４は、オントロジー候補（Ａ）をエッジシステム向けオントロジー２９５Ａとして記憶部２９０に保存する。また、オントロジー出力部２１４は、エッジシステム向けオントロジー２９５Ａをエッジシステム１１２Ａへ送信する。
ステップＳ１４０の後、処理は終了する。
【００４８】
ステップＳ１５０において、基準データ２９２Ａが変更される。基準データ２９２Ａを変更する方法は任意である。
例えば、管理者が基準データ２９２Ａを変更し、変更後の基準データ２９２Ａをオントロジー生成装置２００に入力する。そして、類似度算出部２１１が変更後の基準データ２９２Ａを受け付け、記憶部２９０が現在の基準データ２９２Ａを変更後の基準データ２９２Ａに置き換える。
ステップＳ１５０の後、処理はステップＳ１１０に進む。
【００４９】
＊＊＊実施例の説明＊＊＊
エッジシステム１１２は、各センサー１１３から収集したデータを用いて、独自の情報処理（例えば、統計処理）を行ってもよい。
クラウドシステム向けオントロジー２９１は、例えば、エッジシステム１１２から出力される各種データ（ログデータまたはセンサーデータなど）またはクラウドシステム１１１のアプリケーションプログラムから出力される各種データなどに基づいて生成される。クラウドシステム向けオントロジー２９１は、インターネット１０１などで公開されているパブリックなオントロジーを流用して生成されてもよい。パブリックなオントロジーはＬｉｎｋｅｄ  Ｏｐｅｎ  Ｄａｔａとも呼ばれる。
制約データ２９４は、例えば、手動で生成される。制約データ２９４は、エッジシステム１１２から取得される使用可能なリソース量などに基づいて、自動で生成されてもよい。制約条件は、オントロジーの精度（類似度）、エッジシステム１１２のメモリ容量またはエッジシステム１１２の処理能力などについての条件であってもよい。制約条件となる閾値は、上限値、下限値、これらの組み合わせのいずれであってもよい。
類似度の対象となる単語は、オントロジーの関係の中の単語以外の単語であってもよい。例えば、類似度の対象となる単語は、オントロジーのノードの中の単語、すなわち、ノード名であってもよい。
【００５０】
＊＊＊実施の形態１の効果＊＊＊
クラウドシステム向けオントロジー２９１からエッジシステム１１２の制約条件を満たすオントロジーを抽出することで、エッジシステム１１２のリソース上で利用することが可能なエッジシステム向けオントロジー２９５を生成することができる。
エッジシステム１１２ごとに類似度条件と制約条件とを調整することで、エッジシステム１１２に適したエッジシステム向けオントロジー２９５を生成することができる。
【００５１】
実施の形態２．
様々な類似度算出方法の中から選択される適切な類似度算出方法によって適切な類似度が算出される形態について、主に実施の形態１と異なる点を図１０から図１５に基づいて説明する。
【００５２】
＊＊＊構成の説明＊＊＊
ＩｏＴシステム１００の構成は、実施の形態１における構成と同じである（図１参照）。
【００５３】
図１０に基づいて、オントロジー生成装置２００の構成を説明する。
オントロジー生成装置２００は、さらに、類似度種類選択部２２１を備える。
オントロジー生成プログラムは、さらに、類似度種類選択部２２１としてコンピュータを機能させる。
【００５４】
図１１に基づいて、記憶部２９０に記憶されるデータの一例を説明する。
記憶部２９０には、さらに、類似度種類データ２９６が予め記憶される。
類似度種類データ２９６の内容については後述する。
【００５５】
＊＊＊動作の説明＊＊＊
図１２に基づいて、オントロジー生成方法を説明する。
ステップＳ２１０において、類似度種類選択部２２１は、複数の類似度種類から、エッジシステム１１２Ａの動作環境に応じた類似度種類を選択する。
類似度種類は、各部分オントロジーの類似度の種類である。
【００５６】
図１３に基づいて、類似度種類選択処理（Ｓ２１０）の手順を説明する。
ステップＳ２１１において、類似度種類選択部２２１は、エッジシステム１１２Ａと通信することによって、エッジシステム１１２Ａから動作環境データ（Ａ）を取得する。
動作環境データ（Ａ）は、エッジシステム１１２Ａの動作環境を示す。
動作環境は、メモリ容量または処理能力などのリソース量を意味する。
【００５７】
動作環境データ（Ａ）に示される動作環境を動作環境（Ａ）と称する。
【００５８】
ステップＳ２１２において、類似度種類選択部２２１は、類似度種類データ２９６から、動作環境（Ａ）に応じた類似度種類を選択する。
例えば、類似度種類選択部２２１は、エッジシステム１１２Ａの処理能力に対応する類似度種類を選択する。
【００５９】
図１４に基づいて、ステップＳ２１２の具体例を説明する。
図１４に、類似度種類データ２９６の具体例を示す。
類似度種類データ２９６は複数の類似度種類を示している。各類似度種類は処理負荷情報に対応付けられている。処理負荷情報は、対応する類似度種類に基づいて生成されるエッジシステム向けオントロジー２９５を利用するための処理負荷を示す。
動作環境データ（Ａ）が、エッジシステム１１２Ａの処理能力が低いという動作環境（Ａ）を示していると仮定する。この場合、類似度種類選択部２２１は、類似度種類データ２９６から処理負荷「低」を選択する。そして、類似度種類選択部２２１は、選択した処理負荷「低」に対応付けられた類似度種類「シソーラス一致度」を類似度種類データ２９６から選択する。
類似度種類「シソーラス一致度」は、基準オントロジー（Ａ）の中の単語のシソーラスと部分オントロジーの中の単語のシソーラスとの一致度を意味する。
類似度種類「単語間類似度」は、実施の形態１で説明した類似度を意味する。
【００６０】
図１５に基づいて、シソーラス一致度の具体例を説明する。
図１５に、シソーラスデータ２９３Ａの具体例を示す。
シソーラスデータ２９３Ａは、各種用語のシソーラスを示している。
基準オントロジー（Ａ）の中の単語が「デバイス」であり、部分オントロジーの中の単語が「センサー」であると仮定する。単語「デバイス」のシソーラスと単語「センサー」のシソーラスとの両方に共通の単語「装置」が含まれる。この場合、部分オントロジーの類似度は「１」となる。単語「デバイス」のシソーラスと単語「センサー」のシソーラスとの両方に共通の単語「装置」が含まれない場合、部分オントロジーの類似度は「０」となる。
シソーラス一致度の計算は、単語関類似度の計算と比べて単純である。類似度種類「シソーラス一致度」が選択された場合、類似度算出部２１１によって算出される類似度の精度が低下する懸念はあるが、類似度算出部２１１の処理を高速に行うことができる。
【００６１】
図１２に戻り、ステップＳ２１０の後の処理を説明する。
ステップＳ２２０からステップＳ２６０は、実施の形態１におけるステップＳ１１０からステップＳ１５０と同じである。
但し、ステップＳ２２０において、類似度算出部２１１は、ステップＳ２１０で選択された類似度種類用の算出処理によって、各部分オントロジーの類似度を算出する。
各類似度種類用の算出処理は、計算式、関数またはプログラムなどの形式で予め定義される。
【００６２】
＊＊＊実施の形態２の効果＊＊＊
エッジシステム１１２の動作環境に応じて適切な種類の類似度を算出することができる。その結果、エッジシステム１１２の動作環境に応じた適切なエッジシステム向けオントロジー２９５が生成される。また、類似度の精度と類似度の計算負荷とのトレードオフを調整することができる。
【００６３】
実施の形態３．
部分オントロジーの中の複数のノードと複数のノードの関係とを加味して部分オントロジーの類似度を算出する形態について、主に実施の形態１と異なる点を図１６から図１９に基づいて説明する。
【００６４】
＊＊＊構成の説明＊＊＊
ＩｏＴシステム１００の構成は、実施の形態１における構成と同じである（図１参照）。
【００６５】
図１６に基づいて、オントロジー生成装置２００の構成を説明する。
オントロジー生成装置２００は、さらに、形態素解析部２３１を備える。
オントロジー生成プログラムは、さらに、形態素解析部２３１としてコンピュータを機能させる。
【００６６】
＊＊＊動作の説明＊＊＊
図１７に基づいて、オントロジー生成方法を説明する。
ステップＳ３１０において、類似度算出部２１１は、クラウドシステム向けオントロジー２９１の中の各部分オントロジーとエッジシステム１１２Ａの基準オントロジーとの類似度を算出する。つまり、類似度算出部２１１は、各部分オントロジーの類似度を算出する。
【００６７】
図１８に基づいて、類似度算出処理（Ｓ３１０）の手順を説明する。
ステップＳ３１１において、形態素解析部２３１は、基準オントロジー（Ａ）の中の文章を１つ以上の形態素に分解する。形態素は単語に相当する。
具体的には、分解される文章は、基準オントロジー（Ａ）に含まれる複数のノードのそれぞれのノード名と、複数のノードの関係を示す関係情報である。
図６の基準オントロジー（Ａ）では、ノード名「動物」とノード名「数値」と関係情報「ａｔｔｒｉｂｕｔｅ−ｏｆ  年齢」とのそれぞれが、分解される文章に相当する。
ノード名「動物」から１つの形態素「動物」が得られる。ノード名「数値」から１つの形態素「数値」が得られる。関係情報「ａｔｔｒｉｂｕｔｅ−ｏｆ  年齢」は、３つの形態素「ａｔｔｒｉｂｕｔｅ」「ｏｆ」「年齢」に分解される。
【００６８】
ステップＳ３１２において、類似度算出部２１１は、クラウドシステム向けオントロジー２９１から基準オントロジー（Ａ）に対応する１つ以上の部分オントロジーを抽出する。
抽出方法は、実施の形態１のステップＳ１１１における方法と同様である。但し、抽出される各部分オントロジーの中の関係の種類は、基準オントロジー（Ａ）の中の関係の種類と一致しなくてもよい。例えば、基準オントロジー（Ａ）の中の関係が属性関係「ａｔｔｒｉｂｕｔｅ−ｏｆ」である場合に、包含関係「ｐａｒｔ−ｏｆ」についての部分オントロジーが抽出されても構わない。
【００６９】
ステップＳ３１３において、類似度算出部２１１は、ステップＳ３１２で抽出された１つ以上の部分オントロジーから、未選択の部分オントロジーを１つ選択する。
【００７０】
ステップＳ３１４において、形態素解析部２３１は、選択された部分オントロジーの中の文章を１つ以上の形態素に分解する。
分解方法は、ステップＳ３１１における方法と同じである。
【００７１】
ステップＳ３１５において、類似度算出部２１１は、基準オントロジー（Ａ）の中の１つ以上の形態素と、選択された部分オントロジーの中の１つ以上の形態素との類似度を算出する。算出される類似度が、選択された部分オントロジーの類似度である。
具体的には、類似度算出部２１１は、選択された部分オントロジーの中の形態素ごとに類似度を算出し、算出した類似度の合計を算出する。算出される合計が、選択された部分オントロジーの類似度となる。
【００７２】
選択された部分オントロジーの類似度は、式（１）で表すことができる。
「Ｗｉ」は、ノード名のｉ番目の形態素に割り当てられた重みであり、ノード名のｉ番目の形態素の重要度を表す。重みＷｉはゼロ以上の値である。具体的には、形態素の品詞によって重みが異なる。例えば、名詞「ａｔｔｒｉｂｕｔｅ」の重みは「１」であり、前置詞「ｏｆ」の重みは「０．５」である。前置詞の重みが名詞の重みよりも小さいため、前置詞によるノイズの影響が少なくなる。
「Ｎｉ」は、ノード名のｉ番目の形態素である。
「Ｉ」は、ノード名の形態素の数である。
「Ｗｊ」は、関係情報のｊ番目の形態素に割り当てられた重みであり、関係情報のｊ番目の形態素の重要度を表す。重みＷｊはゼロ以上の値である。
「Ｎｊ」は、関係情報のｊ番目の形態素である。
「Ｊ」は、関係情報の形態素の数である。
「ｆ（ｘ）」は、形態素ｘの類似度を算出するための関数である。関数ｆ（ｘ）において、形態素ｘが単語として扱われる。そして、関数ｆ（ｘ）により、形態素ｘの類似度として単語間類似度が算出される。単語間類似度の算出方法は実施の形態１で説明した通りである。但し、関数ｆ（ｘ）により、形態素ｘの類似度としてシソーラス一致度が算出されてもよい。シソーラス一致度の算出方法は実施の形態２で説明した通りである。
【００７３】
【数１】
2020234963.tif 000003
【００７４】
図１９に基づいて、各部分オントロジーの類似度の具体例を説明する。
図１９に、ノード名の各形態素の類似度を示す。形態素「人」の類似度は「０．５」である。形態素「ネコ」の類似度は「０．７」である。形態素「カラス」の類似度は「０．４」である。形態素「数値」の類似度は「０」である。
図７において、部分オントロジー（１）の中の関係情報「ａｔｔｒｉｂｕｔｅ−ｏｆ  年齢」の類似度が「１．０」であると仮定する。この場合、部分オントロジー（１）の類似度は「１．５（＝１．０＋０．５＋０）」である。
図７において、部分オントロジー（２）の中の関係情報「ａｔｔｒｉｂｕｔｅ−ｏｆ  年齢」の類似度が「１．０」であると仮定する。この場合、部分オントロジー（２）の類似度は「１．７（＝１．０＋０．７＋０）」である。
図７において、部分オントロジー（４）の中の関係情報「ａｔｔｒｉｂｕｔｅ−ｏｆ  歳」の類似度が「０．２」であると仮定する。この場合、部分オントロジー（４）の類似度は「０．６（＝０．２＋０．４＋０）」である。
【００７５】
図１８に戻り、ステップＳ３１６を説明する。
ステップＳ３１６において、類似度算出部２１１は、ステップＳ３１２で抽出された１つ以上の部分オントロジーの中に、未選択の部分オントロジーがあるか判定する。
未選択の部分オントロジーがある場合、処理はステップＳ３１３に進む。
未選択の部分オントロジーがない場合、処理は終了する。
【００７６】
＊＊＊実施例の説明＊＊＊
実施の形態３に実施の形態２を適用してもよい。つまり、オントロジー生成装置２００が類似度種類選択部２２１を備えてよい。類似度算出部２１１は、類似度種類選択部２２１によって選択された種類の類似度を算出する。
【００７７】
＊＊＊実施の形態３の効果＊＊＊
ノード名および関係情報を俯瞰的に見て類似度を算出することができる。また、ノード名または関係情報が文章であっても類似度を算出することができる。これにより、オントロジー候補の抽出精度が向上する。その結果、より適切なエッジシステム向けオントロジー２９５が生成される。
【００７８】
実施の形態４．
複数の基準オントロジーを用いてエッジシステム向けオントロジー２９５を生成する形態について、主に実施の形態１と異なる点を図２０から図２６に基づいて説明する。
【００７９】
＊＊＊構成の説明＊＊＊
ＩｏＴシステム１００の構成は、実施の形態１における構成と同じである（図１参照）。
【００８０】
図２０に基づいて、オントロジー生成装置２００の構成を説明する。
オントロジー生成装置２００は、さらに、候補合成部２４１を備える。
オントロジー生成プログラムは、さらに、候補合成部２４１としてコンピュータを機能させる。
【００８１】
図２１に基づいて、記憶部２９０に記憶されるデータの一例を説明する。
記憶部２９０には、複数の基準データ２９２Ａと複数の基準データ２９２Ｂとが予め記憶される。
【００８２】
＊＊＊動作の説明＊＊＊
図２２に基づいて、オントロジー生成方法を説明する。
ステップＳ４１１において、類似度算出部２１１は、未選択の基準データ２９２Ａを１つ選択する。
【００８３】
ステップＳ４１２において、類似度算出部２１１は、選択された基準データ２９２Ａを用いて、各部分オントロジーの類似度を算出する。算出方法は実施の形態１のステップＳ１１０における方法と同じでる。
そして、候補抽出部２１２は、算出された各部分オントロジーの類似度に基づいて、オントロジー候補（Ａ）を抽出する。抽出方法は実施の形態１のステップＳ１２０における方法と同じである。
【００８４】
ステップＳ４１３において、類似度算出部２１１は、未選択の基準データ２９２Ａがあるか判定する。
未選択の基準データ２９２Ａがある場合、処理はステップＳ４１１に進む。
未選択の基準データ２９２Ａがない場合、処理はステップＳ４２０に進む。
【００８５】
ステップＳ４１１からステップＳ４１３までの処理により、複数の基準データ２９２Ａに対応する複数のオントロジー候補（Ａ）が得られる。
【００８６】
ステップＳ４２０において、候補合成部２４１は、複数のオントロジー候補（Ａ）を合成する。合成によって得られるオントロジーを合成後のオントロジー候補と称する。
言い換えると、候補合成部２４１は、複数のオントロジー候補（Ａ）を結合することによって、合成後のオントロジー候補を生成する。合成後のオントロジー候補を生成する方法は、複数の部分オントロジーを結合することによってオントロジー候補（Ａ）を生成する方法と同じである（実施の形態１のステップＳ１２０を参照）。
【００８７】
ステップＳ４３０において、制約判定部２１３は、合成後のオントロジー候補が制約条件（Ａ）を満たすか判定する。判定方法は実施の形態１のステップＳ１３０における方法と同じである。
合成後のオントロジー候補が制約条件（Ａ）を満たす場合、処理はステップＳ４４０に進む。
合成後のオントロジー候補が制約条件（Ａ）を満たさない場合、処理はステップＳ４５０に進む。
【００８８】
ステップＳ４４０において、オントロジー出力部２１４は、合成後のオントロジー候補をエッジシステム向けオントロジー２９５Ａとして出力する。出力方法は実施の形態１のステップＳ１４０における方法と同じである。
【００８９】
ステップＳ４５０において、複数の基準データ２９２Ａの少なくともいずれかが変更される。変更方法は実施の形態１のステップＳ１５０における方法と同じである。
【００９０】
図２３から図２６に基づいて、ステップＳ４２０の具体例を説明する。
図２３に、クラウドシステム向けオントロジー２９１の具体例の一部を示す。
図２４に、基準データ２９２Ａに示される基準オントロジー（Ａ）の具体例を示す。基準オントロジー（Ａ）の中のアスタリスクは任意の文字列を意味する。
図２５に、オントロジー候補（Ａ）の具体例を示す。
図２４の基準オントロジー（Ａ）に基づいて、図２３のクラウドシステム向けオントロジー２９１から図２５のオントロジー候補（Ａ）が抽出される。
図２４の基準オントロジー（Ａ）とは別の基準オントロジー（Ａ）に基づいて、図９のオントロジー候補（Ａ）が抽出されたと仮定する。
図９のオントロジー候補（Ａ）と図２５のオントロジー候補（Ａ）とにおいて、「人」ノードが共通している。
この場合、候補合成部２４１は、「人」ノードを接続点にして、図９のオントロジー候補（Ａ）と図２５のオントロジー候補（Ａ）とを合成する。これにより、図２６の合成後のオントロジー候補が得られる。
２つのオントロジー候補（Ａ）に共通ノードが存在しない場合、候補合成部２４１は、２つのオントロジー候補（Ａ）間で最も類似する２つのノードを共通ノード（接続点）として、２つのオントロジー候補（Ａ）を合成してもよい。
【００９１】
＊＊＊実施例の説明＊＊＊
実施の形態４に実施の形態２を適用してもよい。つまり、オントロジー生成装置２００が類似度種類選択部２２１を備えてもよい。類似度算出部２１１は、類似度種類選択部２２１によって選択された種類の類似度を算出する。
実施の形態４に実施の形態３を適用してもよい。つまり、オントロジー生成装置２００が形態素解析部２３１を備えてもよい。類似度算出部２１１は、形態素解析部２３１によって得られた１つ以上の形態素に基づいて類似度を算出する。
【００９２】
＊＊＊実施の形態４の効果＊＊＊
複数の基準オントロジーに対応する複数のオントロジー候補を合成することで、エッジシステム１１２との関係性が深い知識を多く持つオントロジー（合成後のオントロジー候補）が得られる。その結果、エッジシステム向けオントロジー２９５の推論精度が向上する。
【００９３】
実施の形態５．
エッジシステム向けオントロジー２９５を縮小する形態について、主に実施の形態１から実施の形態４と異なる点を図２７から図３２に基づいて説明する。
【００９４】
＊＊＊構成の説明＊＊＊
図２７に基づいて、ＩｏＴシステム１００の構成を説明する。
ＩｏＴシステム１００において、オントロジー生成システム１１０は、クラウドシステム１１１と各エッジシステム（１１２Ａ、１１２Ｂ）とによって実現される。
エッジシステム１１２Ａは、オントロジー変更装置３００を備える。また、エッジシステム１１２Ｂは、オントロジー変更装置３００と同等の装置を備える（図示省略）。
【００９５】
図２８に基づいて、オントロジー変更装置３００の構成を説明する。
オントロジー変更装置３００は、プロセッサ３０１とメモリ３０２と補助記憶装置３０３と通信装置３０４と入出力インタフェース３０５といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００９６】
プロセッサ３０１は、演算処理を行うＩＣであり、他のハードウェアを制御する。例えば、プロセッサ２０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。
【００９７】
メモリ３０２は揮発性の記憶装置である。メモリ３０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ３０２はＲＡＭである。メモリ３０２に記憶されたデータは必要に応じて補助記憶装置３０３に保存される。
【００９８】
補助記憶装置３０３は不揮発性の記憶装置である。例えば、補助記憶装置３０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。補助記憶装置３０３に記憶されたデータは必要に応じてメモリ３０２にロードされる。
【００９９】
通信装置３０４はレシーバ及びトランスミッタである。例えば、通信装置３０４は通信チップまたはＮＩＣである。
【０１００】
入出力インタフェース３０５は、入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース３０５はＵＳＢ端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
【０１０１】
オントロジー変更装置３００は、利用統計取得部３１１とオントロジー縮小部３１２と縮小結果判定部３１３といった要素を備える。これらの要素はソフトウェアで実現される。
【０１０２】
補助記憶装置３０３には、利用統計取得部３１１とオントロジー縮小部３１２と縮小結果判定部３１３としてコンピュータを機能させるためのオントロジー変更プログラムが記憶されている。オントロジー変更プログラムは、メモリ３０２にロードされて、プロセッサ３０１によって実行される。
補助記憶装置３０３には、さらに、ＯＳが記憶されている。ＯＳの少なくとも一部は、メモリ３０２にロードされて、プロセッサ３０１によって実行される。
プロセッサ３０１は、ＯＳを実行しながら、オントロジー変更プログラムを実行する。
【０１０３】
オントロジー変更プログラムの入出力データは記憶部３９０に記憶される。
メモリ３０２は記憶部３９０として機能する。但し、補助記憶装置３０３、プロセッサ３０１内のレジスタおよびプロセッサ３０１内のキャッシュメモリなどの記憶装置が、メモリ３０２の代わりに、又は、メモリ３０２と共に、記憶部３９０として機能してもよい。
【０１０４】
オントロジー変更装置３００は、プロセッサ３０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ３０１の役割を分担する。
【０１０５】
オントロジー変更プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録（格納）することができる。
【０１０６】
図２９に基づいて、記憶部３９０に記憶されるデータの一例を説明する。
記憶部３９０には、オントロジー生成装置２００によって生成されたエッジシステム向けオントロジー２９５Ａが記憶される。エッジシステム向けオントロジー２９５Ａは、エッジシステム１１２Ａにおいて利用されている。
記憶部３９０には、制約データ３９１が予め記憶される。制約データ３９１の内容については後述する。
記憶部３９０には、統計データ３９２が記憶される。統計データ３９２の内容については後述する。
【０１０７】
＊＊＊動作の説明＊＊＊
オントロジー変更装置３００の動作の手順はオントロジー変更方法に相当する。オントロジー変更方法はオントロジー生成方法の一部である。
オントロジー変更装置３００の動作の手順はオントロジー変更プログラムによる処理の手順に相当する。オントロジー変更プログラムはオントロジー生成プログラムの一部である。
【０１０８】
図３０に基づいて、オントロジー変更方法を説明する。
ステップＳ５１０において、利用統計取得部３１１は、エッジシステム向けオントロジー２９５Ａの中の各部分オントロジーの利用統計を取得する。取得方法は任意である。
部分オントロジーの利用統計は、部分オントロジーの利用に関する統計情報である。具体的には、部分オントロジーの利用統計は、部分オントロジーの使用頻度である。部分オントロジーの利用統計は、部分オントロジーの使用頻度などを集計または加工して得られる統計情報であってもよい。
【０１０９】
利用統計取得部３１１は、取得した各部分オントロジーの利用統計を示すデータを記憶部３９０に記憶する。記憶されるデータが統計データ３９２である。
【０１１０】
ステップＳ５２０において、オントロジー縮小部３１２は、統計データ３９２に示される各部分オントロジーの利用統計に基づいて、縮小オントロジー（Ａ）を生成する。
縮小オントロジー（Ａ）は、エッジシステム向けオントロジー２９５Ａから１つ以上の部分オントロジーを削除して得られるオントロジーである。
【０１１１】
図３１および図３２に基づいて、ステップＳ５２０の具体例を説明する。
図３１において、統計データ３９２は、各ノードの使用頻度を示している。各ノードの使用頻度は、各ノードを有する部分オントロジーの使用頻度に相当する。
各ノードの使用頻度と比較する頻度閾値が「０」であると仮定する。「人」ノードの使用頻度「１７」は頻度閾値「０」より大きい。「ネコ」ノードの使用頻度「５」は頻度閾値「０」より大きい。「カラス」ノードの使用頻度「０」は頻度閾値「０」以下である。使用頻度が「０」である「カラス」ノードは不要なノードである。
この場合、オントロジー縮小部３１２は、「カラス」ノードを有する部分ノードを削除することによって、図３２に示すような縮小オントロジー（Ａ）を生成する。縮小オントロジー（Ａ）には、「人」ノードを有する部分オントロジーと「ネコ」ノードを有する部分オントロジーとが残っているが、「カラス」ノードを有する部分オントロジーが残っていない。
【０１１２】
図３０に戻り、ステップＳ５３０から説明を続ける。
ステップＳ５３０において、縮小結果判定部３１３は、縮小オントロジー（Ａ）が縮小制約（Ａ）を満たすか判定する。
縮小制約（Ａ）は、縮小オントロジー（Ａ）に関する条件であり、統計データ３９２に示される。
【０１１３】
例えば、縮小制約（Ａ）は、縮小オントロジー（Ａ）のサイズについての条件であり、サイズ閾値を示す。
この場合、縮小結果判定部３１３は、縮小オントロジー（Ａ）のサイズを算出し、縮小オントロジー（Ａ）のサイズをサイズ閾値と比較する。
縮小オントロジー（Ａ）のサイズがサイズ閾値以上である場合、縮小オントロジー（Ａ）が過大に縮小されておらず、縮小オントロジー（Ａ）は縮小制約（Ａ）を満たす。
縮小オントロジー（Ａ）のサイズがサイズ閾値未満である場合、縮小オントロジー（Ａ）が過大に縮小されており、縮小オントロジー（Ａ）は縮小制約（Ａ）を満たさない。
【０１１４】
縮小オントロジー（Ａ）が縮小制約（Ａ）を満たす場合、処理はステップＳ５４０に進む。
縮小オントロジー（Ａ）が縮小制約（Ａ）を満たす場合、処理は終了する。
【０１１５】
ステップＳ５４０において、オントロジー縮小部３１２は、記憶部３９０に記憶されているエッジシステム向けオントロジー２９５Ａを縮小オントロジー（Ａ）に更新する。
ステップＳ５４０の後、処理は終了し、更新後のエッジシステム向けオントロジー２９５Ａがエッジシステム１１２Ａにおいて利用される。
【０１１６】
＊＊＊実施例の説明＊＊＊
オントロジー変更方法は、クラウドシステム１１１において実行されてもよい。例えば、オントロジー生成装置２００が、利用統計取得部３１１とオントロジー縮小部３１２と縮小結果判定部３１３とを備え、オントロジー変更方法を実行してもよい。
【０１１７】
＊＊＊実施の形態５の効果＊＊＊
各部分オントロジーの利用統計に基づいて、エッジシステム向けオントロジー２９５から不要な部分オントロジーを削除することができる。これにより、エッジシステム向けオントロジー２９５に含まれるノイズが低減される。
【０１１８】
実施の形態６．
エッジシステム向けオントロジー２９５を拡張する形態について、主に実施の形態５と異なる点を図３３から図３５に基づいて説明する。
【０１１９】
＊＊＊構成の説明＊＊＊
ＩｏＴシステム１００の構成は、実施の形態６における構成と同じである（図２７参照）。
【０１２０】
図３３に基づいて、オントロジー変更装置３００の構成を説明する。
オントロジー変更装置３００は、オントロジー縮小部３１２の代わりにオントロジー拡張部３１４を備え、縮小結果判定部３１３の代わりに拡張結果判定部３１５を備える。
オントロジー変更プログラムは、利用統計取得部３１１とオントロジー拡張部３１４と拡張結果判定部３１５としてコンピュータを機能させる。
【０１２１】
＊＊＊動作の説明＊＊＊
図３４に基づいて、オントロジー変更方法を説明する。
ステップＳ６１０において、利用統計取得部３１１は、エッジシステム向けオントロジー２９５Ａの中の各部分オントロジーの利用統計を取得する。取得方法は任意である。
ステップＳ６１０は、実施の形態５のステップＳ５１０と同じである。
【０１２２】
ステップＳ６２０において、オントロジー拡張部３１４は、統計データ３９２に示される各部分オントロジーの利用統計に基づいて、拡張オントロジー（Ａ）を生成する。
拡張オントロジー（Ａ）は、エッジシステム向けオントロジー２９５Ａに１つ以上の部分オントロジーを追加して得られるオントロジーである。
【０１２３】
オントロジー拡張部３１４は、拡張オントロジー（Ａ）を以下のように生成する。
まず、オントロジー拡張部３１４は、クラウドシステム１１１と通信することによって、クラウドシステム１１１からクラウドシステム向けオントロジー２９１を取得する。
次に、オントロジー拡張部３１４は、統計データ３９２に示される各部分オントロジーの利用統計に基づいて、クラウドシステム向けオントロジー２９１から１つ以上の部分オントロジーを抽出する。具体的には、オントロジー拡張部３１４は、エッジシステム向けオントロジー２９５から１つ以上の部分オントロジーを選択し、選択した１つ以上の部分オントロジーに関連する１つ以上の部分オントロジーをクラウドシステム向けオントロジー２９１から抽出する。
そして、オントロジー拡張部３１４は、抽出した１つ以上の部分オントロジーをエッジシステム向けオントロジー２９５に追加する。
【０１２４】
図３５に基づいて、クラウドシステム向けオントロジー２９１から抽出される部分オントロジーの具体例を説明する。
図３５に、統計データ３９２の具体例を示す。統計データ３９２において、使用頻度が最も高いノードは「ハト」ノードである。この場合、オントロジー拡張部３１４は、「ハト」ノードを有する部分オントロジーに関連する１つ以上の部分オントロジーをクラウドシステム向けオントロジー２９１から抽出する。
具体的には、オントロジー拡張部３１４は、「鳥類」ノードと「ハト」ノードとの組に対応する部分オントロジーを抽出する。「鳥類」ノードは「ハト」ノードに対する上位ノードである。オントロジー拡張部３１４は、「鳥類」ノードとの類似度が高いノードを有する部分オントロジーを抽出してもよい。
【０１２５】
図３４に戻り、ステップＳ６３０から説明を続ける。
ステップＳ６３０において、拡張結果判定部３１５は、拡張オントロジー（Ａ）が拡張制約（Ａ）を満たすか判定する。
拡張制約（Ａ）は、拡張オントロジー（Ａ）に関する条件であり、統計データ３９２に示される。
【０１２６】
例えば、拡張制約（Ａ）は、拡張オントロジー（Ａ）のサイズについての条件であり、サイズ閾値を示す。
この場合、拡張結果判定部３１５は、拡張オントロジー（Ａ）のサイズを算出し、拡張オントロジー（Ａ）のサイズをサイズ閾値と比較する。
拡張オントロジー（Ａ）のサイズがサイズ閾値以下である場合、拡張オントロジー（Ａ）が過大に拡張されておらず、拡張オントロジー（Ａ）は拡張制約（Ａ）を満たす。
拡張オントロジー（Ａ）のサイズがサイズ閾値より大きい場合、拡張オントロジー（Ａ）が過大に拡張されており、拡張オントロジー（Ａ）は拡張制約（Ａ）を満たさない。
【０１２７】
拡張オントロジー（Ａ）が拡張制約（Ａ）を満たす場合、処理はステップＳ６４０に進む。
拡張オントロジー（Ａ）が拡張制約（Ａ）を満たす場合、処理は終了する。
【０１２８】
ステップＳ６４０において、オントロジー拡張部３１４は、記憶部３９０に記憶されているエッジシステム向けオントロジー２９５Ａを拡張オントロジー（Ａ）に更新する。
ステップＳ６４０の後、処理は終了し、更新後のエッジシステム向けオントロジー２９５Ａがエッジシステム１１２Ａにおいて利用される。
【０１２９】
＊＊＊実施例の説明＊＊＊
オントロジー変更方法は、クラウドシステム１１１において実行されてもよい。例えば、オントロジー生成装置２００が、利用統計取得部３１１とオントロジー拡張部３１４と拡張結果判定部３１５とを備え、オントロジー変更方法を実行してもよい。
【０１３０】
実施の形態６に実施の形態５が適用されてもよい。つまり、オントロジー変更装置３００がオントロジー拡張部３１４と拡張結果判定部３１５とを備えてもよい。
【０１３１】
＊＊＊実施の形態６の効果＊＊＊
各部分オントロジーの利用統計に基づいて、エッジシステム向けオントロジー２９５に必要性が高い部分オントロジーを追加することができる。これにより、より適切なエッジシステム向けオントロジー２９５が得られる。
【０１３２】
＊＊＊実施の形態の補足＊＊＊
図３６に基づいて、オントロジー生成装置２００のハードウェア構成を説明する。
オントロジー生成装置２００は処理回路２０９を備える。
処理回路２０９は、類似度算出部２１１と候補抽出部２１２と制約判定部２１３とオントロジー出力部２１４と類似度種類選択部２２１と形態素解析部２３１と候補合成部２４１とを実現するハードウェアである。
処理回路２０９は、専用のハードウェアであってもよいし、メモリ２０２に格納されるプログラムを実行するプロセッサ２０１であってもよい。
【０１３３】
処理回路２０９が専用のハードウェアである場合、処理回路２０９は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。
ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称である。
ＦＰＧＡは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【０１３４】
オントロジー生成装置２００は、処理回路２０９を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路２０９の役割を分担する。
【０１３５】
オントロジー生成装置２００において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
【０１３６】
このように、処理回路２０９はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【０１３７】
図３７に基づいて、オントロジー変更装置３００のハードウェア構成を説明する。
オントロジー変更装置３００は処理回路３０９を備える。
処理回路３０９は、利用統計取得部３１１とオントロジー縮小部３１２と縮小結果判定部３１３とオントロジー拡張部３１４と拡張結果判定部３１５とを実現するハードウェアである。
処理回路３０９は、専用のハードウェアであってもよいし、メモリ３０２に格納されるプログラムを実行するプロセッサ３０１であってもよい。
【０１３８】
処理回路３０９が専用のハードウェアである場合、処理回路３０９は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。
【０１３９】
オントロジー変更装置３００は、処理回路３０９を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路３０９の役割を分担する。
【０１４０】
オントロジー変更装置３００において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
【０１４１】
このように、処理回路３０９はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
【０１４２】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【０１４３】
オントロジー生成装置２００とオントロジー変更装置３００とのそれぞれは、複数の装置で実現されてもよい。
オントロジー生成装置２００とオントロジー変更装置３００とのそれぞれの要素である「部」は、「処理」または「工程」と読み替えてもよい。
「クラウドシステム」は「第１システム」と読み替えることができる。「エッジシステム」は「第２システム」と読み替えることができる。
【符号の説明】
【０１４４】
１００  ＩｏＴシステム、１０１  インターネット、１０２  イントラネット、１１０  オントロジー生成システム、１１１  クラウドシステム、１１２  エッジシステム、１１３  センサー、２００  オントロジー生成装置、２０１  プロセッサ、２０２  メモリ、２０３  補助記憶装置、２０４  通信装置、２０５  入出力インタフェース、２０９  処理回路、２１１  類似度算出部、２１２  候補抽出部、２１３  制約判定部、２１４  オントロジー出力部、２２１  類似度種類選択部、２３１  形態素解析部、２４１  候補合成部、２９０  記憶部、２９１  クラウドシステム向けオントロジー、２９２  基準データ、２９３  シソーラスデータ、２９４  制約データ、２９５  エッジシステム向けオントロジー、２９６  類似度種類データ、３００  オントロジー変更装置、３０１  プロセッサ、３０２  メモリ、３０３  補助記憶装置、３０４  通信装置、３０５  入出力インタフェース、３０９  処理回路、３１１  利用統計取得部、３１２  オントロジー縮小部、３１３  縮小結果判定部、３１４  オントロジー拡張部、３１５  拡張結果判定部、３９０  記憶部、３９１  制約データ、３９２  統計データ。
【図１】
2020234963.tif 000004
【図２】
2020234963.tif 000005
【図３】
2020234963.tif 000006
【図４】
2020234963.tif 000007
【図５】
2020234963.tif 000008
【図６】
2020234963.tif 000009
【図７】
2020234963.tif 000010
【図８】
2020234963.tif 000011
【図９】
2020234963.tif 000012
【図１０】
2020234963.tif 000013
【図１１】
2020234963.tif 000014
【図１２】
2020234963.tif 000015
【図１３】
2020234963.tif 000016
【図１４】
2020234963.tif 000017
【図１５】
2020234963.tif 000018
【図１６】
2020234963.tif 000019
【図１７】
2020234963.tif 000020
【図１８】
2020234963.tif 000021
【図１９】
2020234963.tif 000022
【図２０】
2020234963.tif 000023
【図２１】
2020234963.tif 000024
【図２２】
2020234963.tif 000025
【図２３】
2020234963.tif 000026
【図２４】
2020234963.tif 000027
【図２５】
2020234963.tif 000028
【図２６】
2020234963.tif 000029
【図２７】
2020234963.tif 000030
【図２８】
2020234963.tif 000031
【図２９】
2020234963.tif 000032
【図３０】
2020234963.tif 000033
【図３１】
2020234963.tif 000034
【図３２】
2020234963.tif 000035
【図３３】
2020234963.tif 000036
【図３４】
2020234963.tif 000037
【図３５】
2020234963.tif 000038
【図３６】
2020234963.tif 000039
【図３７】
2020234963.tif 000040
【国際調査報告】
2020234963.tif 000041
2020234963.tif 000042