(57)【特許請求の範囲】
【請求項１】
複数の単語ベクトルを保持する単語ベクトル保持手段と、
オントロジーを記憶するオントロジー記憶手段と、
前記オントロジー記憶手段の前記オントロジーから、指定された単語の下位概念に該当する単語をタネ単語として取得するタネ単語取得手段と、
タネ単語のフィッティング処理の結果から求められた超平面と、前記単語ベクトル保持手段で保持された各単語ベクトルの単語との距離を計算する距離計算手段と、
前記距離計算手段で計算した距離に基づいて、前記単語ベクトル保持手段で保持された単語から、前記オントロジー記憶手段の前記オントロジーに追加登録する候補となる単語を抽出する追加候補抽出手段と、
前記追加候補抽出手段で抽出した追加候補の単語の一部又は全部について前記オントロジー記憶手段の前記オントロジーに追加するオントロジー編集手段と
を有することを特徴とするオントロジー処理装置。
【請求項２】
前記オントロジー編集手段は、前記追加候補抽出手段で抽出した追加候補の単語をユーザに提示し、前記オントロジーに追加する単語の指定を受付け、ユーザから前記オントロジーに追加する単語として指定された単語を、前記オントロジーに追加する処理を行うことを特徴とする請求項１に記載のオントロジー処理装置。
【請求項３】
前記距離計算手段は、タネ単語のフィッティング処理の結果に基づいて超平面の次元数Ｍ（Ｍは１以上の整数）を決定し、第１軸から第Ｍ軸が張る超平面と、前記単語ベクトル保持手段で保持された各単語ベクトルの示す点との距離を、前記単語ベクトル保持手段で保持された各単語ベクトルの単語に対応する距離として計算することを特徴とする請求項１又は２に記載のオントロジー処理装置。
【請求項４】
コンピュータを、
複数の単語ベクトルを保持する単語ベクトル保持手段と、
オントロジーを記憶するオントロジー記憶手段と、
前記オントロジー記憶手段の前記オントロジーから、指定された単語の下位概念に該当する単語をタネ単語として取得するタネ単語取得手段と、
タネ単語のフィッティング処理の結果から求められた超平面と、前記単語ベクトル保持手段で保持された各単語ベクトルの単語との距離を計算する距離計算手段と、
前記距離計算手段で計算した距離に基づいて、前記単語ベクトル保持手段で保持された単語から、前記オントロジー記憶手段の前記オントロジーに追加登録する候補となる単語を抽出する追加候補抽出手段と、
前記追加候補抽出手段で抽出した追加候補の単語の一部又は全部について前記オントロジー記憶手段の前記オントロジーに追加するオントロジー編集手段と
して機能させることを特徴とするオントロジー処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジー処理装置及びプログラムに関し、例えば、オントロジーの作成を支援するオントロジー作成支援装置に適用し得る。
【背景技術】
【０００２】
従来、言語処理技術において、機械翻訳や対話理解の研究が長年続けられているが、近年は単語の意味情報（概念）を利用して高度な知識処埋に関する研究が盛んになっている。そうした技術の中にオントロジー技術がある。「オントロジー」とは、辞書の一種で、単語の持つ概念（単語）を体系的に整理したものである。従来のオントロジーを生成する技術としては、例えば、特許文献１等の技術が開示されている。
【０００３】
また、従来、非特許文献１では、大量の文書を与えて自動学習することにより単語ベクトルを作成する手法が示されている。単語からベクトル表現を作り出す技術はそれ以前にもあったが、非特許文献１の記載技術では、複雑な概念の表現が可能となっている。例えば、作成されたベクトルで「フランス」−「パリ」＋「東京」≒「日本」のような演算が可能となる。これは「フランス」−「パリ」が「その都市を首都とする国」を表現している。このように、非特許文献１では、ベクトルの方向がなんらかの「意味」を持つようになる。
【０００４】
また、特許文献１では単語（ワード）の類似性を利用したオントロジーの自動生成について開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１１０５１３号公報
【非特許文献】
【０００６】
【非特許文献１】”Ｄｉｓｔｒｉｂｕｔｅｄ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｏｆ  ｗｏｒｄｓ  ａｎｄ  ｐｈｒａｓｅｓ  ａｎｄ  ｔｈｅｉｒ  ｃｏｍｐｏｓｉｔｉｏｎａｌｉｔｙ”    Ｔｏｍａｓ  Ｍｉｋｏｌｏｖ，Ｉｌｙａ  Ｓｕｔｓｋｅｖｅｒ，Ｋａｉ  Ｃｈｅｎ，Ｇｒｅｇ  Ｓ  Ｃｏｒｒａｄｏ，  Ｊｅｆｆ  Ｄｅａｎ，  ２０１３，ＮＩＰＳ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術で生成されるオントロジーは各単語が同列であり、上位概念・下位概念の関係を持つオントロジーを作成することができなかった。
【０００８】
以上のような問題に鑑みて、上位概念・下位概念を持つオントロジーに対して、より適切な単語追加を支援するオントロジー処理装置及びプログラムが望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明のオントロジー処理装置は、（１）複数の単語ベクトルを保持する単語ベクトル保持手段と、（２）オントロジーを記憶するオントロジー記憶手段と、（３）前記オントロジー記憶手段の前記オントロジーから、指定された単語の下位概念に該当する単語をタネ単語として取得するタネ単語取得手段と、（４）タネ単語のフィッティング処理の結果から求められた超平面と、前記単語ベクトル保持手段で保持された各単語ベクトルの単語との距離を計算する距離計算手段と、（５）前記距離計算手段で計算した距離に基づいて、前記単語ベクトル保持手段で保持された単語から、前記オントロジー記憶手段の前記オントロジーに追加登録する候補となる単語を抽出する追加候補抽出手段と、（６）前記追加候補抽出手段で抽出した追加候補の単語の一部又は全部について前記オントロジー記憶手段の前記オントロジーに追加するオントロジー編集手段とを有することを特徴とする。
【００１０】
第２の本発明のオントロジー処理プログラムは、コンピュータを、（１）複数の単語ベクトルを保持する単語ベクトル保持手段と、（２）オントロジーを記憶するオントロジー記憶手段と、（３）前記オントロジー記憶手段の前記オントロジーから、指定された単語の下位概念に該当する単語をタネ単語として取得するタネ単語取得手段と、（４）タネ単語のフィッティング処理の結果から求められた超平面と、前記単語ベクトル保持手段で保持された各単語ベクトルの単語との距離を計算する距離計算手段と、（５）前記距離計算手段で計算した距離に基づいて、前記単語ベクトル保持手段で保持された単語から、前記オントロジー記憶手段の前記オントロジーに追加登録する候補となる単語を抽出する追加候補抽出手段と、（６）前記追加候補抽出手段で抽出した追加候補の単語の一部又は全部について前記オントロジー記憶手段の前記オントロジーに追加するオントロジー編集手段として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、上位概念・下位概念を持つオントロジーに対して、より適切な単語追加を支援するオントロジー処理装置及びプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るオントロジー作成支援装置の機能的構成について示したブロック図である。
【図２】実施形態に係るオントロジー作成支援装置の動作について示したフローチャートである。
【図３】実施形態に係るオントロジー作成支援装置により単語が追加される前のオントロジーの構成例について示した説明図（概念図）である。
【図４】実施形態に係るオントロジー作成支援装置により単語が追加された後のオントロジーの構成例について示した説明図（概念図）である。
【図５】実施形態に係る単語ベクトル作成部で作成されたタネ単語の単語ベクトルの構成例について示した説明図である。
【図６】実施形態に係る距離計算部で行われた寄与率算出の結果について示した説明図である。
【図７】実施形態に係る距離計算部で取得された各タネ単語の分布にフィットするように回転するための変換係数について示した説明図である。
【図８】実施形態に係る単語ベクトル作成部で作成された単語ベクトルについて示した説明図である。
【図９】実施形態に係る単語ベクトル作成部で作成された単語ベクトルを座標回転させたパラメータについて示した説明図である。
【図１０】実施形態に係るオントロジー編集部が表示する操作画面（ユーザに追加候補の単語を提示し、オントロジーに追加する単語を受け付けるための操作画面）の構成例について示した説明図である。
【発明を実施するための形態】
【００１３】
（Ａ）主たる実施形態
以下、本発明によるオントロジー処理装置及びプログラムの一実施形態を、図面を参照しながら詳述する。以下では、本発明のオントロジー処理装置及びプログラムを、オントロジー作成支援装置に適用した例について説明する。
【００１４】
（Ａ−１）実施形態の構成
図１は、この実施形態に係るオントロジー作成支援装置１００の機能的構成について示したブロック図である。
【００１５】
オントロジー作成支援装置１００は、制御部１、単語ベクトル作成部２、入出力部３、オントロジー記憶部４、及び文書記憶部５を有している。
【００１６】
オントロジー作成支援装置１００は、一部又は全部をソフトウェア的に構成するようにしてもよい。例えば、オントロジー作成支援装置１００は、コンピュータ（例えば、プロセッサ及びメモリを有するプログラムの実行構成）にプログラム（実施形態に係るオントロジー処理プログラムを含むプログラム）をインストールすることにより構成するようにしてもよい。例えば、図１において、制御部１、及び単語ベクトル作成部２を図示しないコンピュータ上のプログラム（実施形態に係るオントロジー処理プログラムを含むプログラム）として構成し、オントロジー記憶部４及び文書記憶部５を図示しないコンピュータ上のデータ記録媒体（例えば、ハードディスクドライブやフラッシュメモリ等の記憶手段）で構成するようにしてもよい。
【００１７】
オントロジー記憶手段としてのオントロジー記憶部４は、複数の単語（概念）により形成されるオン卜ロジーを記憶するための記憶手段である。オントロジー記憶部４が記憶するオントロジーは、単語（概念）間の上位概念及び下位概念の対応づけが可能な構成となっているものとする。なお、オントロジー記憶部４に記憶されるオントロジーは、上位概念及び下位概念の対応づけが可能であれば、その他の具体的なデータ記述形式については限定されないものであり、種々のオントロジーのデータ記述形式を適用することができる。
【００１８】
文書記憶部５は、大量の文書データ（例えば、テキストデータ等の種々の形式の文書データのファイル）を記憶する記憶手段である。
【００１９】
単語ベクトル保持手段としての単語ベクトル作成部２は、文書記憶部５の大量の文書データから単語ベクトル（文書データに含まれる単語に関する単語ベクトル）を作成し記憶する。単語ベクトル作成部２が文書記憶部５で保持された文書データから単語ベクトルを生成する具体的手法については限定されないものであるが、例えば、非特許文献１に記載された手法を適用することができる。なお、単語ベクトル作成部２は、文書を単語に分解する際に、単語ベクトル作成部２内部の図示しない単語辞書と共にオントロジー記憶部４に記憶された単語を参照するようにしてもよい。
【００２０】
制御部１は、オントロジー作成支援装置１００の各構成要素を制御する機能を担っており、処理対象選択部１１、距離計算部１２、及びオントロジー編集部１３を有している。
【００２１】
処理対象選択部１１は、ユーザから、オントロジー記憶部４に記憶されるオントロジー上で追加候補を探索する位置（単語）の指定を受付ける処理を行う。
【００２２】
距離計算部１２は、処理対象選択部１１で受付けた位置（単語）の下位概念に追加する候補となる単語を探索する処理を行う。具体的には、距離計算部１２は、まず、オントロジー記憶部４から、指定された単語（概念）の下位概念に該当する単語を追加候補のタネ（シード）となる単語（以下、「タネ単語」と呼ぶ）として取得する処理（タネ単語取得手段としての処理）を行う。また、距離計算部１２は、複数のタネ単語のフィッティング処理（例えば、主成分分析と同様の計算を利用いたフィッティング処理）の結果から求められた超平面と、単語ベクトル作成部２で保持された各単語ベクトルの単語との距離を計算する処理（距離計算手段としての処理）を行う。さらに、距離計算部１２は、計算した距離に基づいて、単語ベクトル作成部２で保持された単語ベクトルに係る単語から、オントロジー記憶部４のオントロジーに追加登録する候補となる単語を抽出する処理（追加候補抽出手段としての処理）を行う。
【００２３】
オントロジー編集手段としてのオントロジー編集部１３は、ユーザから、追加候補の単語のうち、オントロジー記憶部４のオントロジーに追加する単語の指定を受付ける処理を行う。そして、オントロジー編集部１３は、ユーザの指示（操作）に従って、追加候補の単語の一部又は全部について、オントロジー記憶部４のオントロジーに追加する処理を行う。
【００２４】
入出力部３は、ユーザインタフェースの機能（入出力手段）を担っており、ユーザからの操作や情報入力を受付けるための入力部３１と、ユーザへ情報出力するための出力部３２を有している。入力部３１としては、例えば、キーボードやマウスなどの入力デバイスを適用することができる。また、出力部３２としては、ディスプレイやプリンタ等の出力デバイスを適用することができる。
【００２５】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態のオントロジー作成支援装置１００の動作について図２のフローチャートを用いて説明する。
【００２６】
なお、図２のフローチャートでは、前提（初期状態）として、単語ベクトル作成部２による単語ベクトルの作成（文書記憶部５の文書データを用いた単語ベクトルの作成）が完了し、作成した単語ベクトルのデータが保持されているものとする。単語ベクトル作成部２による単語ベクトルの作成処理については、上述の通り非特許文献１と同様の処理を適用することができるため、詳しい説明は省略する。
【００２７】
また、図２のフローチャートでは、前提（初期状態）として、オントロジー記憶部４に、任意の数の単語（概念）で構成されるオントロジーが登録されているものとする。
【００２８】
まず、処理対象選択部１１がユーザから、オントロジー記憶部４のオントロジー上で、下位概念の単語を追加する位置（単語）の指定（選択）を受付けたものとする（Ｓ１０１）。
【００２９】
例えば、処理対象選択部１１は、入出力部３を介して、ユーザにオントロジー記憶部４のオントロジーに含まれる単語（概念）を提示（例えば、オントロジーを構成する単語のリストやマップを表示）して、いずれかの単語（概念）の指定（選択）を受付けるようにしてもよい。
【００３０】
次に、処理対象選択部１１は、ステップＳ１０１で指定された概念（単語）に基づいて、追加候補の単語を抽出する際のタネとなるタネ単語を取得する。そして、処理対象選択部１１は、ステップＳ１０１で取得したタネ単語の単語ベクトルを単語ベクトル作成部２から取得する（Ｓ１０２）。なお、単語ベクトル作成部２に該当する単語ベクトルが存在しないことも考えられるが、その場合、処理対象選択部１１は、単語ベクトル作成部２に存在する分の単語ベクトルを取得するようにしてもよい。
【００３１】
この実施形態では、処理対象選択部１１は、オントロジー記憶部４に記憶されたオントロジーから、ステップＳ１０１でユーザに指定された概念の１つ下位の概念（単語）を取得する。但し、処理対象選択部１１は、指定された概念の１つ下位の概念が中間概念だった場合は、当該中間概念のさらに１つ下位の概念を、下位概念として取得（参照）する。
【００３２】
ここでは、オントロジー記憶部４に記憶された概念（単語）から、ユーザにより「プログラム言語」という概念（単語）が指定された場合の例について説明する。
【００３３】
図３は、処理対象選択部１１が、「プログラム言語」という概念からタネ単語を取得する例について示した説明図である。なお、図３の例では、プログラム言語の１つ下位の概念として「Ｊａｖａ（登録商標）」、「Ｃ／Ｃ＋＋」、「ＶＢ」、「Ｐｅｒｌ」という概念が存在している。なお、図３の例では、「Ｃ／Ｃ＋＋」は中間概念であり、「Ｃ／Ｃ＋＋」の１つ下位の概念として「Ｃ」と「Ｃ＋＋」が存在する例について示している。したがって、処理対象選択部１１は、「Ｃ／Ｃ＋＋」という中間概念の１つ下位の「Ｃ」と「Ｃ＋＋」を「プログラム言語」に対応するタネ単語の一部として取得することになる。したがって、図３の例では、処理対象選択部１１は、「プログラム言語」という概念に対応するタネ単語として、「Ｊａｖａ」、「Ｃ」「Ｃ＋＋」、「ＶＢ」、「Ｐｅｒｌ」を取得することになる。そして、処理対象選択部１１は、「プログラム言語」対する各タネ単語の単語ベクトルを、単語ベクトル作成部２から取得する。
【００３４】
次に、距離計算部１２が、ステップＳ１０２で取得された各単語ベクトル（抽出された各タネ単語に対応する単語ベクトル）の分布にフィットするように座標回転を行い、その結果を用いて各単語ベクトルに基づくＭ次元超平面を決定する（Ｓ１０３）。
【００３５】
以下では、距離計算部１２が各タネ単語に基づくＭ次元超平面を決定する処理の具体例について説明する。
【００３６】
まず、単語ベクトル作成部２が、単語ベクトルとしてＮ次元（Ｎは１以上の整数）のベクトルを作成していたものとする。そうすると、処理対象選択部１１が、選択したタネ単語に対応する単語ベクトルは、図５のようなマトリクス（テーブル）で表すことができる。図５のマトリクス（テーブル）では、それぞれの行にタネ単語を割当てている。図５では、１行目から順に「Ｊａｖａ」、「Ｃ」「Ｃ＋＋」、「ＶＢ」、「Ｐｅｒｌ」を割当てている。そして、図５のマトリクス（テーブル）では、１列目から順にＸ１、Ｘ２、Ｘ３、…、ＸＮというパラメータを割当てている。
【００３７】
このとき、図５のデータを（１）式のように行列で表す。この場合、距離計算部１２は、（１）式の行列の分散共分散行列を求め、さらにその固有値と固有ベクトルを求める。そして、距離計算部１２は、固有値が大きい順に固有ベクトルを並べて回転行列とする（図７参照）。そして、距離計算部１２は、各固有値を固有値の総和で割って寄与率を算出する。そして、距離計算部１２は、固有値が最大のものの寄与率から順に寄与率を累積加算していき、累積寄与率を算出する。
【数１】
0006623885.tif 000002
【００３８】
図６は、各タネ単語ベクトルを処理した結果得られた各成分（第１成分ＰＣ１、第２成分ＰＣ２、…第Ｎ成分ＰＣＮ）の寄与率と、各成分の累積寄与率（第１成分から当該成分までの寄与率の累積値（合計値））の例について示している。図７は、単語ベクトルを構成する各パラメータ（Ｘ１〜ＸＮ）と、各成分（ＰＣ１〜ＰＣＮ）との各組合せに対応する変換係数について示したマトリクスである。以下では、パラメータＸｉ（ｉは１〜Ｎのいずれか）と成分ＰＣｊ（ｊは１〜Ｎのいずれか）との組み合わせに対応する変換係数をａｉｊと図示している。例えば、Ｘ１とＰＣ１との組み合わせに対応する変換係数をａ１１と図示し、ＸとＰＣ２との組み合わせに対応する変換係数をａ１２と図示している。
【００３９】
次に、距離計算部１２は、フィッティング結果において、第１成分ＰＣ１から順に累積寄与率を参照し、初めて所定の累積寄与率Ｔを超えるときの次元数Ｍ（初めて閾値である累積寄与率Ｔを超えるときの成分の番号（順番））を取得する。ここでは、例として累積寄与率Ｔを８０％（０．８０）であるものとするが、累積寄与率Ｔの値は任意に設定することができる。
【００４０】
例えば、図６に示すフィッティングの結果では、第１成分ＰＣ１から順に累積寄与率を参照すると、初めて累積寄与率が８０％（０．８０）を超えるのは第２成分ＰＣ２となる。したがって、距離計算部１２は、次元数Ｍとして「２」を取得することになる。
【００４１】
次に、距離計算部１２は、第１軸（第１の成分の軸）から第Ｍ軸（第Ｍの成分の軸）が張る超平面を、求めるべきＭ次元超平面として決定する。ここでは、上述のようにＭ＝２であるため、距離計算部１２は、第１軸、第２軸が張る超平面を、求めるべきＭ次元超平面として決定することになる。
【００４２】
以上のように、距離計算部１２は、Ｍ次元超平面を決定する。
【００４３】
次に、距離計算部１２が、ステップＳ１０３で決定したＭ次元超平面と、単語ベクトル作成部２内の各単語ベクトルの示す点との距離を計算する（Ｓ１０４）。
【００４４】
以下、距離計算部１２が行うＭ次元超平面と各単語ベクトルとの距離計算処理の具体例について説明する。
【００４５】
図８は、単語ベクトル作成部２内の各単語ベクトルの例について示した説明図である。
【００４６】
図８では、「ｐｙｔｈｏｎ」、「Ｌｉｎｕｘ（登録商標）」、「Ｒｕｂｙ」、…、という各単語に対応する単語ベクトルの各パラメータ（Ｘ１〜ＸＮ）が図示されている。
【００４７】
図８では、「ｐｙｔｈｏｎ」という単語に対応する各パラメータＸ１〜ＸＮの値をｘ１１〜ｘ１Ｎと図示している。また、図８では、「Ｌｉｎｕｘ」という単語に対応する各パラメータＸ１〜ＸＮの値をｘ２１〜ｘ２Ｎと図示している。さらに、図８では、「Ｒｕｂｙ」という単語に対応する各パラメータＸ１〜ＸＮの値をｘ３１〜ｘ３Ｎと図示している。
【００４８】
そして、図９は、図８に示す各単語ベクトルを座標回転した結果について示した説明図である。以下では、単語ベクトルを座標回転した結果を「回転結果ベクトル」と呼ぶものとする。
【００４９】
図９では、「ｐｙｔｈｏｎ」、「Ｌｉｎｕｘ」、「Ｒｕｂｙ」、…、という各単語に対応する単語ベクトルが回転結果ベクトルのパラメータ（第１成分ＰＣ１〜第Ｎ成分ＰＣＮ）で図示されている。
【００５０】
図９では、「ｐｙｔｈｏｎ」という単語に対応する第１成分ＰＣ１〜第Ｎ成分ＰＣＮの値をｚ１１〜ｚ１Ｎと図示している。また、図９では、「Ｌｉｎｕｘ」という単語に対応する第１成分ＰＣ１〜第Ｎ成分ＰＣＮの値をｚ２１〜ｚ２Ｎと図示している。さらに、図９では、「Ｒｕｂｙ」という単語に対応する第１成分ＰＣ１〜第Ｎ成分ＰＣＮの値をｚ３１〜ｚ３Ｎと図示している。さらにまた、図９では、任意の単語に対応する第１成分ＰＣ１〜第Ｎ成分ＰＣＮの値をｚｉ１〜ｚｉＮ（ｉは１以上の整数）と図示している。なお、各単語に対応する第１成分ＰＣ１〜第Ｎ成分ＰＣＮの値（ｚｉ１〜ｚｉＮ）については、以下の（２）式に示す行列演算によって求めることができる。なお、（２）式においてＡは以下の（３）式の行列となる。また、（２）式において、Ｘは以下の（４）式の行列となる。さらに、（２）式においてＺは以下の（５）式の行列となる。
【数２】
0006623885.tif 000003
【００５１】
従って、距離計算部１２は、Ｍ次元超平面と、任意の単語（単語ベクトル）との距離は、図９に示す回転結果ベクトルのパラメータの第Ｍ＋１成分以降の２乗和より求めることができる。
【００５２】
具体的には、距離計算部１２は、Ｍ次元超平面と任意の単語（ｉ番目の単語）との距離を（６）式により求めることができる。例えば、Ｍ＝２の場合、図８、図９に示す単語「Ｐｙｔｈｏｎ」の距離Ｄ１は（７）式のように示すことができる。
【数３】
0006623885.tif 000004
【００５３】
以上のように、距離計算部１２は、Ｍ次元超平面と、単語ベクトル作成部２内の各単語ベクトル（タネ単語以外の単語ベクトル）との距離を求める。
【００５４】
次に、オントロジー編集部１３は、ステップＳ１０４で計算した各単語の距離に基づいて追加候補の単語を抽出し、抽出結果をユーザに提示（例えば、入出力部３を介してユーザに表示出力）する（Ｓ１０５）。
【００５５】
次に、オントロジー編集部１３は、ユーザから追加候補の単語について追加の要否を受付け（例えば、入出力部３を介して入力を受け付け）、追加する旨が入力された単語について、オントロジー記憶部４のオントロジーに追加登録する（Ｓ１０６）。
【００５６】
オントロジー編集部１３は、例えば、距離が所定の閾値よりも小さい（短い）単語を追加候補として抽出して、ユーザに提示するようにしてもよい。例えば、オントロジー編集部１３は、入出力部３を介して図１０のような操作画面（ＧＵＩ画面）を表示してユーザに追加候補の単語を提示し、それぞれの追加候補の単語についてオントロジーへの追加の要否（「追加する」又は「追加しない」）を受け付けるようにしてもよい。また、オントロジー編集部１３は、図１０に示すように各追加候補の単語に計算した距離の情報を付してユーザに提示するようにしてもよい。
【００５７】
図１０の操作画面では、追加候補の単語ごとに、距離と、追加要否の選択を受付可能なラジオボタン（「追加する」又は「追加しない」を選択可能なラジオボタン）が表示されたフィールドＦ１０１と、オントロジーに追加する単語を決定する決定ボタンＢ１０１とが配置されている。図１０の操作画面では、決定ボタンＢ１０１が押下されると、オントロジー編集部１３は、フィールドＦ１０１で「追加する」が選択された単語（ラジオボタンにより「追加する」が選択された単語）を、オントロジー記憶部４のオントロジーに追加登録（ユーザから指定された概念（単語）の下位概念として追加登録）する。また、図１０では、フィールドＦ１０１に、距離の小さい（短い）順に単語が配置されている。フィールドＦ１０１において、距離に応じた順序で単語を配置（ソート）することでユーザは、指定された概念（ここでは「プログラム言語」）とより近い概念の単語を下位概念として選択することができる。
【００５８】
図１０の操作画面の状態では、「ｐｙｔｈｏｎ」、「Ｌｉｎｕｘ」、「Ｒｕｂｙ」という３つの単語が追加候補の単語として表示されている。そして、図１０では、「ｐｙｔｈｏｎ」、「Ｒｕｂｙ」という２つの単語について「追加する」と選択（ラジオボタンにより選択）されている。したがって、図１０の操作画面の状態で、決定ボタンＢ１０１が押下されると、オントロジー編集部１３は、図４に示すように「ｐｙｔｈｏｎ」、「Ｒｕｂｙ」という２つの単語について、オントロジー記憶部４のオントロジーに追加登録する。
【００５９】
図４に示すオントロジーでは、図３の状態から、「ｐｙｔｈｏｎ」、「Ｒｕｂｙ」という２つの単語がプログラム言語の下位概念として登録されている。
【００６０】
次に、制御部１は、ユーザから処理の継続の要否を受付け（Ｓ１０７）、ユーザから処理を継続する旨の入力を受け付けた場合は上述のステップＳ１０１から動作し、ユーザから処理を継続しない旨の入力を受け付けた場合は処理を終了する。
【００６１】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００６２】
この実施形態のオントロジー作成支援装置１００では、オントロジー記憶部４のオントロジーにある程度の単語（概念）を登録しておけば、それらをタネ単語として追加候補の単語を自動的に抽出することができる。
【００６３】
また、この実施形態のオントロジー作成支援装置１００では、タネ単語の単語ベクトルをフィッティング処理した結果に基づいて決定したＭ次元超平面からの距離を算出し、算出した距離に基づいて追加候補となる単語を抽出している。これにより、この実施形態のオントロジー作成支援装置１００では、全体としての類似度ではなく、ある観点での類似度に着目し、既存の上位概念、下位概念を持つオントロジーに新しく単語を追加することができる。
【００６４】
さらに、この実施形態のオントロジー作成支援装置１００では、抽出された追加候補は単語と共に距離値が表示（例えば、図１０参照）されるため、最終的にユーザの操作に応じて、オントロジーに追加するかどうか決定することができる。
【００６５】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【００６６】
（Ｂ−１）上記の実施形態において、単語ベクトル保持手段として文書データから単語ベクトルを作成して保持する単語ベクトル作成部２を適用する例について説明したが、オントロジー作成支援装置１００において、文書データに基づく単語ベクトルを保持する方式については限定されないものである。例えば、上記の実施形態において、単語ベクトル作成部２に替えて、外部で生成された単語ベクトルを保持する手段を適用するようにしてもよい。
【符号の説明】
【００６７】
１００…オントロジー作成支援装置、１…制御部、１１…処理対象選択部、１２…距離計算部、１３…オントロジー編集部、２…単語ベクトル作成部、３…入出力部、３１…入力部、３２…出力部、４…オントロジー記憶部、５…文書記憶部。
【図１】
0006623885.tif 000005
【図２】
0006623885.tif 000006
【図３】
0006623885.tif 000007
【図４】
0006623885.tif 000008
【図５】
0006623885.tif 000009
【図６】
0006623885.tif 000010
【図７】
0006623885.tif 000011
【図８】
0006623885.tif 000012
【図９】
0006623885.tif 000013
【図１０】
0006623885.tif 000014