(57)【特許請求の範囲】
【請求項１】
与えられた単語と類似するノード集合を、オントロジー記述言語で記述されたトリプルが登録されたオントロジーデータベースから検索する検索部と、
前記検索部で検索されたノード集合に含まれる各ノードが持つ共通のプロパティとノードから、新たに追加するノードを含むトリプルを作成するためのテンプレートを作成するテンプレート作成部と、
前記テンプレート作成部で作成したテンプレートと、前記与えられた単語を名称として持つノードとを接続したトリプルを作成して表示データとすると共に、トリプルが与えられた場合は当該トリプルを前記オントロジーデータベースに登録する追加情報決定部とを備えたことを特徴とするオントロジー構築支援装置。
【請求項２】
前記追加情報決定部は、前記表示データに対して、修正されたトリプルが与えられた場合、当該修正されたトリプルを前記オントロジーデータベースに登録することを特徴とする請求項１記載のオントロジー構築支援装置。
【請求項３】
前記テンプレート作成部は、前記共通のプロパティとノードから、設定された抽出対象の条件を満たすプロパティとノードを抽出して前記テンプレートを作成し、
前記追加情報決定部は、前記表示データとして、前記共通のプロパティとノードの数と前記抽出後のプロパティとノードの数との割合を示す表示形態のデータとすることを特徴とする請求項２記載のオントロジー構築支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジー記述言語で記述されたオントロジーの構築を支援するオントロジー構築支援装置に関する。
【背景技術】
【０００２】
近年の情報処理技術の進展に伴い、知識ベースや知識データベースが大規模化し、特にネットワーク上に分散する知識ベースシステムや知識データベースシステムを利用する場合には、膨大な量のデータを効率的に処理することが求められている。このような知識ベースや知識データベースシステムは、それぞれのシステムの構築ルールに従って構築されている。
このように、ネットワーク上に分散する知識ベースシステムや知識データベースシステムのデータを利用するためには、それらデータを一定の基準に従って分類、階層化できれば便利である。その有力な手法としてオントロジーが注目されている。【０００３】
オントロジーとは、ドメインに関する概念や用語について、概念自体あるいは用語自体や、概念間あるいは用語間の関係を明確に定義する情報を含み、オントロジー記述言語を用いて記述されたものである。
オントロジー記述言語の例として、まずＷＥＢに存在する語彙や知識とそれらの間の関係を体系的に表すための技術である、The World Wide Web Consortium（Ｗ３Ｃ）で勧告されているWeb Ontology Language（ＯＷＬ）が挙げられる。ＯＷＬは、Resource Description Framework（ＲＤＦ）における「誰の」に相当する要素である主語、「何が」に相当する述語、「どのような値」に相当する目的語で構成された、トリプルと呼ばれる集合で語彙の推論可能なクラス体系を表現する。ここで、主語・目的語はノード、述語はプロパティと呼ばれる。以下、このトリプルをオントロジー記述言語で記述されたトリプルとして説明する。【０００４】
独自のオントロジーを構築する作業は、ほとんどの場合人手によって行われてきた。しかし、精度の高いオントロジーを構築するには、 オントロジーに精通している必要があり、一部の専門家以外はオントロジーの構築が難しいという問題がある。さらに、データを構成するデータ項目数が多くなるほど、各データ項目に対応するプロパティの選択に多大な労力と時間を要するという問題がある。そこで、従来、例えば特許文献１に示すように、既存のオントロジー間の対応付けを行うオントロジー構築支援装置があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−７０１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来のオントロジー構築支援装置では、データ項目と既存のオントロジーを対応付けるための、オントロジーの対応付けに特化した事前知識としてのメタデータが必要であり、必ずしもオントロジー構築作業の負荷を低減することができない場合があった。【０００７】
この発明は、かかる問題を解決するためになされたもので、オントロジー構築作業の負荷を低減することのできるオントロジー構築支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るオントロジー構築支援装置は、与えられた単語と類似するノード集合を、オントロジー記述言語で記述されたトリプルが登録されたオントロジーデータベースから検索する検索部と、検索部で検索されたノード集合に含まれる各ノードが持つ共通のプロパティとノードから、新たに追加するノードを含むトリプルを作成するためのテンプレートを作成するテンプレート作成部と、テンプレート作成部で作成したテンプレートと、与えられた単語を名称として持つノードとを接続したトリプルを作成して表示データとすると共に、トリプルが与えられた場合はそのトリプルをオントロジーデータベースに登録する追加情報決定部とを備えたものである。
【発明の効果】
【０００９】
この発明に係るオントロジー構築支援装置は、与えられた単語と類似するノード集合に含まれる各ノードが持つ共通のプロパティとノードから、新たに追加するノードを含むトリプルを作成するためのテンプレートを作成し、このテンプレートと、与えられた単語を名称として持つノードとを接続したトリプルを作成して表示データとし、かつ、この表示データに対して修正等の施されたトリプルが与えられた場合はそのトリプルをオントロジーデータベースに登録するようにしたものである。これにより、オントロジー構築作業の負荷を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１のオントロジー構築支援装置の構成図である。
【図２】この発明の実施の形態１のオントロジー構築支援装置のハードウェア構成図である。
【図３】この発明の実施の形態１のオントロジー構築支援装置における検索部の動作を示すフローチャートである。
【図４】この発明の実施の形態１のオントロジー構築支援装置における検索部の類似度算出の説明図である。
【図５】この発明の実施の形態１のオントロジー構築支援装置におけるテンプレート作成部の動作を示すフローチャートである。
【図６】図６Ａ及び図６Ｂは、この発明の実施の形態１のオントロジー構築支援装置におけるテンプレート作成の説明図である。
【図７】この発明の実施の形態１のオントロジー構築支援装置における追加情報決定部の動作を示すフローチャートである。
【図８】この発明の実施の形態１のオントロジー構築支援装置におけるユーザに提示するＧＵＩ表示例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態によるオントロジー構築支援装置を示す構成図である。
図示のように、オントロジー構築支援装置１は、オントロジーデータベース１１、単語ベクトルデータベース１２、検索部１３、テンプレート作成部１４、追加情報決定部１５を備える。オントロジーデータベース１１は、オントロジー記述言語で記述されたトリプルの集合が登録されているデータベースである。単語ベクトルデータベース１２は、検索部１３が類似ノード集合の検索に利用する単語ベクトルの集合が登録されているデータベースである。この単語ベクトルデータベース１２は、例えば、文献：Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean, Efficient Estimation of Word Representations in Vector Space, ICLR 2013.に記載されている技術を用いて構成してもよい。検索部１３は、入力装置２から入力された単語と類似する名称を持つノード集合をオントロジーデータベース１１に記憶されている既存のオントロジーから検索する処理部である。テンプレート作成部１４は、検索部１３で出力された検索結果の各ノードが持つ共通のプロパティを新たに追加するトリプルを作成するためのテンプレートを作成する処理部である。追加情報決定部１５は、テンプレート作成部１４で作成したテンプレートと、与えられた単語を名称として持つノードとを接続したトリプルを作成して表示データとして表示装置３に出力すると共に、この表示データに対して修正等の施されたトリプルが入力装置２から与えられた場合はそのトリプルをオントロジーデータベース１１に登録する処理部である。
【００１２】
図２は図１に示したオントロジー構築支援装置を実現するためのハードウェア構成図である。図示のように、オントロジー構築支援装置を実現するハードウェアは、プロセッサ１０１、メモリ１０２、マウス１０３、キーボード１０４、表示装置１０５、補助記憶装置１０６を備える。プロセッサ１０１は、検索部１３、テンプレート作成部１４及び追加情報決定部１５に対応したプログラムを実行することで、これら機能部を実現するためのプロセッサである。メモリ１０２は、プロセッサ１０１によるプログラム実行時のプログラムを保持すると共にプロセッサ１０１の作業領域を構成する記憶部である。マウス１０３及びキーボード１０４は、ユーザが操作することでデータ入力を行うための入力装置２に相当する周辺機器である。表示装置１０５はオントロジー構築支援装置１からの出力データを表示するディスプレイといった周辺機器であり、図１に示した表示装置３に相当する。補助記憶装置１０６は、オントロジーデータベース１１と単語ベクトルデータベース１２とを保持すると共に、検索部１３〜追加情報決定部１５に対応したプログラムを格納するための記憶装置である。ただし、補助記憶装置１０６は必ずしも装置内部に存在する必要は無く、通信インタフェースを介してクラウド上に存在する記憶装置を利用してもよい。
【００１３】
次に、実施の形態１のオントロジー構築支援装置の動作について説明する。
検索部１３は、単語ベクトルデータベース１２を用いてユーザが入力した単語に類似したノード名称をオントロジーデータベース１１から検索する。検索部１３の具体的な動作を図３のフローチャートに示す。先ず、検索部１３は、ユーザが入力装置２によって入力した単語を入力装置２から取得する（ステップＳＴ１１）。次に、検索部１３は、単語ベクトルデータベース１２を検索し、入力された単語のベクトルを取得する（ステップＳＴ１２）。次に、検索部１３は、ステップＳＴ１２で取得した入力された単語のベクトルを用いてオントロジーデータベース１１を検索する。検索にはベクトル同士の類似度を用いる。ベクトル同士の類似度の計算には、式（１）に示すユークリッド距離や、式（２）に示すコサイン類似度を用いることが考えられる（ステップＳＴ１３）。
0006563151.tif 000002
【００１４】
ステップＳＴ１３の類似度の計算の例を説明する。ある特定のノードに対し、複数の異なる名称のノードが同一のプロパティで接続されてトリプルを構成している場合、複数の異なる名称のノードをノード集合と定義する。検索部１３がオントロジーデータベース１１を検索する際、類似度の計算には予め算出したノード集合に含まれる各ノードの平均ベクトルを用いる。
類似度算出の例を図４に示す。ステップＳＴ１１でユーザから入力された単語が「サンマ」であった場合、検索部１３はステップＳＴ１２で「サンマ」のベクトルを取得する。次に、オントロジーデータベース１１に登録されている「魚」ノードに「ｉｓ＿ａ」プロパティで繋がる複数のノード「マグロ」「サバ」「アジ」に対して類似度を計算する場合について説明する。このとき、「マグロ」「サバ」「アジ」は「ｉｓ＿ａ」という同一のプロパティ２０１で「魚」ノードと接続されているため、ノード集合２０２とみなされ、「マグロ」「サバ」「アジ」の平均ベクトルが算出される（破線枠２０３参照）。類似度の計算２０４はステップＳＴ１２で取得した「サンマ」のベクトル２０５と破線枠２０３中のノード集合の平均ベクトルで計算される。計算の結果、類似度が閾値以上であれば、検索部１３はテンプレート作成部１４へ出力するノード集合のリストへ「マグロ」「サバ」「アジ」を加える（ステップＳＴ１４）。なお、閾値は人手によって事前に定義しておく。例えば、類似度の閾値を０．５等と設定する。
【００１５】
このようにユーザから入力された単語のベクトルと、オントロジーにおいてノード集合とみなされたノードの平均ベクトルとの類似度を利用することで、ユーザから入力された単語が接続される可能性が高いオントロジーのノードとプロパティを検索することが出来る。
【００１６】
次に、テンプレート作成部１４は、検索部１３から出力された類似度の高いノード集合のリストから、オントロジーデータベース１１に登録するトリプルを作成するためのテンプレートを作成する。具体的な動作を図５のフローチャートに示す。また、テンプレート作成の一例を図６に示す。図６Ａは類似度の高いノード集合のリストを示し、ノード集合に含まれるノードのリスト３０１、プロパティのリスト３０２、ノードのリスト３０３の関係を示している。また、プロパティのリスト３０２において、破線枠３０４で囲んだプロパティが各ノード間で共通に持っているプロパティを示している。
【００１７】
まず、テンプレート作成部１４は、検索部１３から類似度の高いノード集合のリストを取得する（ステップＳＴ２１）。次に、テンプレート作成部１４は、取得したノード集合に含まれるノードが持つプロパティとノードのリストを取得する（ステップＳＴ２２）。取得したプロパティとノードのリストから各ノード間で共通で持つプロパティとノードを抽出し、重複を削除し、テンプレートを作成する（ステップＳＴ２３）。ここで、抽出対象とするプロパティとノードの条件は予めノード数等で閾値を設定する。例えば、抽出対象とするプロパティとノードは２ノード以上で共通に持っていたプロパティとノードとする。図６Ａの例では「マグロ」「サバ」「アジ」ノードが持つ共通のプロパティは「プロパティＡ」「プロパティＢ」である。「プロパティＡ」に共通で接続され、抽出対象の条件を満たすノードは「ノード１」、「プロパティＢ」に共通で接続され、抽出対象の条件を満たすノードは「ノード３」であるため、テンプレート作成部１４は、「プロパティＡ」と「ノード１」を接続したもの（３０５）と、「プロパティＢ」と「ノード３」を接続したもの（３０６）をテンプレートとして追加情報決定部１５へ出力する（ステップＳＴ２４）。図６Ｂは作成されたテンプレートを示す。
【００１８】
このようにテンプレート作成部１４では、検索部１３で出力された類似度の高いノード集合に含まれるノードが共通で持つプロパティとノードをテンプレートとすることで、ユーザから入力された単語に近い意味を持つオントロジーのノードが高い確率で持つプロパティとノードを自動的に接続出来るため、オントロジー構築支援装置１としてのノードの登録作業を簡略化することが出来る。
【００１９】
追加情報決定部１５は、テンプレート作成部１４から出力されたテンプレートとユーザが入力した単語の名称を持つノードを接続したトリプルを作成し、表示装置３を利用してユーザに提示する。ユーザは必要であれば提示されたトリプルに対してマウス１０３やキーボード１０４を用いてトリプルの修正を行う。追加情報決定部１５は修正されたトリプルをオントロジーデータベース１１に登録する。具体的な動作を図７のフローチャートに示す。また、図８は、ユーザに提示するＧＵＩ表示例を示している。
【００２０】
まず、追加情報決定部１５は、テンプレート作成部１４からテンプレートを取得する（ステップＳＴ３１）。次に、追加情報決定部１５は、入力装置２で入力された単語をノード名称とするノードを作成し、テンプレートと接続してトリプルを作成する（ステップＳＴ３２）。例えば図８の様に、作成されたトリプルを表示装置３に表示し、ユーザへ提示する（ステップＳＴ３３）。すなわち図示のように、新規追加ノード名称４０１にテンプレート部分４０２が接続されてトリプル表示部分４０３が作成されている。なお、トリプル表示部分４０３の外側に新規追加ノード名称４０１ａと類似ノードの名称４０４が作成されている。
【００２１】
ユーザは作成されたトリプルを確認し、修正が必要だと判断した場合、マウス１０３やキーボード１０４を用いてＧＵＩ上でトリプルを修正する。追加情報決定部１５は、入力装置２から修正入力があったかを判定し（ステップＳＴ３４）。修正入力があった場合（ステップＳＴ３４−ＹＥＳ）は、修正をトリプルに反映し（ステップＳＴ３５）、修正されたトリプルをオントロジーデータベース１１に登録する（ステップＳＴ３６）。また、入力装置２から修正入力がなかった場合（ステップＳＴ３４−ＮＯ）、追加情報決定部１５は、そのまま、ステップＳＴ３３で表示装置３に表示したトリプルをオントロジーデータベース１１に登録する（ステップＳＴ３６）。
【００２２】
このようにすることで、ユーザは新たに追加するノードに接続されたプロパティとノードについて、その要否を判断するだけでよいため、従来よりも効率よくオントロジーを構築することが出来る。
【００２３】
また、追加情報決定部１５は、作成されたトリプルを表示する際、テンプレート作成部１４で作成したテンプレートに格納されたプロパティとノードの数と、テンプレートの元となったプロパティとノードの数とに応じて表示の仕方を変えてもよい。例えば図６Ｂに示すテンプレートの場合、図６Ａに示すように、プロパティＡを持つノード数は３であり、そのうちノード１を持つノード数は２である。従って、表示する際にプロパティＡの箇所の色の濃度を濃くする、ノード１の箇所の色の濃度を薄くする等、表示の仕方を変える。
このようにすることで、テンプレートに格納されたプロパティとノードが、テンプレートの元となったノード集合において共通に接続された割合を視覚的に判断することが出来るため、トリプルの修正時において要否の判断の助けになる。
【００２４】
以上説明したように、実施の形態１のオントロジー構築支援装置によれば、与えられた単語と類似するノード集合を、オントロジー記述言語で記述されたトリプルが登録されたオントロジーデータベースから検索する検索部と、検索部で検索されたノード集合に含まれる各ノードが持つ共通のプロパティとノードから、新たに追加するノードを含むトリプルを作成するためのテンプレートを作成するテンプレート作成部と、テンプレート作成部で作成したテンプレートと、与えられた単語を名称として持つノードとを接続したトリプルを作成して表示データとすると共に、トリプルが与えられた場合はそのトリプルをオントロジーデータベースに登録する追加情報決定部とを備えたので、オントロジー構築作業の負荷を低減することができる。
【００２５】
また、実施の形態１のオントロジー構築支援装置によれば、追加情報決定部は、表示データに対して、修正されたトリプルが与えられた場合、修正されたトリプルをオントロジーデータベースに登録するようにしたので、トリプルを修正することができ、かつ、この修正されたトリプルをオントロジーデータベースに登録することができる。
【００２６】
また、実施の形態１のオントロジー構築支援装置によれば、テンプレート作成部は、共通のプロパティとノードから、設定された抽出対象の条件を満たすプロパティとノードを抽出してテンプレートを作成し、追加情報決定部は、表示データとして、共通のプロパティとノードの数と抽出後のプロパティとノードの数との割合を示す表示形態のデータとするようにしたので、トリプルを修正する際の要否の判断の助けとなり、さらにオントロジー構築作業の負荷を低減することができる。
【００２７】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００２８】
以上のように、この発明に係るオントロジー構築支援装置は、ドメインに関する概念や用語について、概念自体あるいは用語自体や、概念間あるいは用語間の関係を明確に定義する情報を含み、オントロジー記述言語を用いて記述されたオントロジーの構築を支援する構成に関するものであり、知識ベースや知識データベースシステムに用いるのに適している。
【符号の説明】
【００２９】
１  オントロジー構築支援装置、２  入力装置、３  表示装置、１１  オントロジーデータベース、１２  単語ベクトルデータベース、１３  検索部、１４  テンプレート作成部、１５  追加情報決定部。
【図１】
0006563151.tif 000003
【図２】
0006563151.tif 000004
【図３】
0006563151.tif 000005
【図４】
0006563151.tif 000006
【図５】
0006563151.tif 000007
【図６】
0006563151.tif 000008
【図７】
0006563151.tif 000009
【図８】
0006563151.tif 000010