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