(57)【要約】      （修正有）【課題】２階層以上離れた複数のノードの意味的上下関係を反映したオントロジーを構築する。【解決手段】仮木構造生成部１５Ａにより、前記対象木構造の一部を変更した仮木構造を複数生成し、木構造評価部１５Ｂにより、記憶部１４の尤度データ１４Ａに基づいて、仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出し、木構造選択部１５Ｃにより、これら評価値に基づいて仮木構造のいずれかをオントロジーとして選択する。【選択図】図１
2009181162.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードの意味的上下関係を階層表現した木構造をオントロジーとして構築するオントロジー構築装置であって、
前記ノード間の意味的上下関係に関する尤もらしさを示す尤度データと、前記オントロジーの元となる対象木構造とを記憶する記憶部と、
前記記憶部の対象木構造の一部を変更した仮木構造を複数生成する仮木構造生成部と、
前記記憶部の尤度データに基づいて、前記仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出する木構造評価部と、
前記評価値に基づいて前記仮木構造のいずれかをオントロジーとして選択する木構造選択部と
を備えることを特徴とするオントロジー構築装置。
【請求項２】
請求項１に記載のオントロジー構築装置において、
前記仮木構造生成部は、前記対象木構造に対して任意のノードの位置を異なる位置へ変更して得られる各候補木構造のうち、当該ノードとその全ての上位ノードとの意味的上下関係に関する再現率が最も大きい候補木構造を当該ノードの仮木構造としてそれぞれ選択することを特徴とするオントロジー構築装置。
【請求項３】
請求項２に記載のオントロジー構築装置において、
前記再現率は、当該ノードと個々の上位ノードとの間の尤度の和からなることを特徴とするオントロジー構築装置。
【請求項４】
請求項１に記載のオントロジー構築装置において、
前記木構造評価部は、前記ノードごとに当該ノードとその全ての上位ノードとの間の尤度の和を当該ノードの再現率として算出し、これら再現率の積を当該仮木構造の評価値として算出することを特徴とするオントロジー構築装置。
【請求項５】
請求項１に記載のオントロジー構築装置において、
前記仮木構造生成部は、前記記憶部から前記対象木構造を読み出して任意のノードの位置を変更した仮木構造を生成し、
前記木構造評価部は、前記仮木構造生成部で生成された当該ノードに関する仮木構造について評価値を算出し、
前記木構造選択部は、前記木構造評価部により当該ノードに関する仮木構造の評価値を前記対象木構造の評価値と比較し、その比較結果に基づいて前記仮木構造と前記対象木構造のいずれか一方を新たな対象木構造として前記記憶部に保存し、前記ノードごとに繰り返し行って最終的に得られた対象木構造をオントロジーとして選択することを特徴とするオントロジー構築装置。
【請求項６】
請求項１に記載のオントロジー構築装置において、
入力された辞書データに含まれる見出語とその語義文からなる各対の見出語ごとに、当該語義文中に出現する各単語の出現確率をそれぞれ算出する確率頻度算出部と、
前記各見出語の語義文に含まれる単語を見出語と見なすことにより当該語義文を複数の語義文の集合として繰り返し展開する語義文展開部と、
前記確率頻度算出部で得られた出現確率を示す行列を行列Ａとし、前記語義文展開部により前記各見出語の語義文を繰り返し展開した拡張語義文における単語の出現確率を示す行列を行列Ｃとし、語義文を展開するごとに単語の出現確率が減少する割合をａとし、単位行列をＩとした場合、
（Ｉ−ａＡ）Ｃ＝（１−ａ）Ａ
が成立する行列Ｃを求めることにより、前記ノードが単語からなる場合における前記尤度データを算出する尤度算出部と
をさらに備えることを特徴とするオントロジー構築装置。
【請求項７】
記憶部と演算処理部とを有するオントロジー構築装置により、複数のノードの意味的上下関係を階層表現した木構造をオントロジーとして構築するオントロジー構築方法であって、
前記記憶部が、前記ノード間の意味的上下関係に関する尤もらしさを示す尤度データと、前記オントロジーの元となる対象木構造とを記憶する記憶ステップと、
前記演算処理部が、前記記憶部の対象木構造の一部を変更した仮木構造を複数生成する仮木構造生成ステップと、
前記演算処理部が、前記記憶部の尤度データに基づいて、前記仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出する木構造評価ステップと、
前記演算処理部が、前記評価値に基づいて前記仮木構造のいずれかをオントロジーとして選択する木構造選択ステップと
を備えることを特徴とするオントロジー構築方法。
【請求項８】
コンピュータを請求項１〜請求項６のいずれか１つに記載のオントロジー構築装置の各部として機能させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オントロジー技術に関し、特にオントロジーを構築する技術に関する。
【背景技術】
【０００２】
自然言語で記述された文書やウェブページを自動的に分類する際、オントロジーが用いられる。オントロジーとは、ドメインに関する概念や用語について、概念自体あるいは用語自体や、概念間あるいは用語間の関係を明確に定義する情報から構成された、一種のデータベースである。
【０００３】
上位語を抽出する方法として、コーパスから「ｉｓ-ａ」構造を取り出すという方法がある。この方法は統計量が大きければ信頼性の高い情報が得られる一方、基本的な単語が網羅される保証はなく、単語の偏りが起こる可能性が高い。
また、非特許文献１では、「ｉｓ-ａ」構造を利用してオントロジーを構築する手法が提案されている。この手法は、用意したオントロジーに単語を追加する手法としては有用であるが、オントロジーの骨格を新規に作り上げることには向いていない。
【０００４】
これに対して、発明者は、非特許文献２に示すように、オントロジーの骨格を新規に作り上げる手法を提案した。この手法は、辞書の定義文を展開して、巨大な単語集合として定義文を再定義し、再定義された定義文中の出現頻度の高い単語を上位語候補として抽出して、オントロジーを構築している。
【０００５】
【非特許文献１】Rion Snow, Daniel Jurafsky, and Andrew Y. Ng. "Semantic taxonomy induction from heterogenous evidence", In Proceedings of 44th Annual Meeting of the ACL, pages 801-808, Association for Computational Linguistics, ACL, July 2006.
【非特許文献２】鈴木敏,「辞書を用いたオントロジー自動生成 -上位語候補の自動抽出」, 言語処理学会, 第13回年次大会 併設ワークショップＷ１, 言語オントロジーの構築・連携・利用, pages 47-50, March 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献２の技術は、隣接する上位階層の上位ノードのみを考慮してオントロジーを構築しており、２階層以上の離れた上位ノードの影響などを考慮していないため、階層の離れた上位ノードとの関係をオントロジーに反映できないという問題点があった。
本発明はこのような課題を解決するためのものであり、２階層以上離れたノードの意味的上下関係を反映したオントロジーを構築できるオントロジー構築装置、方法、プログラム、および記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００７】
このような目的を達成するために、本発明にかかるオントロジー構築装置は、複数のノードの意味的上下関係を階層表現した木構造をオントロジーとして構築するオントロジー構築装置であって、ノード間の意味的上下関係に関する尤もらしさを示す尤度データと、オントロジーの元となる対象木構造とを記憶する記憶部と、記憶部の対象木構造の一部を変更した仮木構造を複数生成する仮木構造生成部と、記憶部の尤度データに基づいて、仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出する木構造評価部と、評価値に基づいて仮木構造のいずれかをオントロジーとして選択する木構造選択部とを備えている。
【０００８】
この際、仮木構造生成部により、対象木構造に対して任意のノードの位置を異なる位置へ変更して得られる各候補木構造のうち、当該ノードとその全ての上位ノードとの意味的上下関係に関する再現率が最も大きい候補木構造を当該ノードの仮木構造としてそれぞれ選択するようにしてもよい。
【０００９】
また、再現率として、当該ノードと個々の上位ノードとの間の尤度の和を用いてもよい。
【００１０】
また、木構造評価部で、ノードごとに当該ノードとその全ての上位ノードとの間の尤度の和を当該ノードの再現率として算出し、これら再現率の積を当該仮木構造の評価値として算出するようにしてもよい。
【００１１】
また、仮木構造生成部で、記憶部から対象木構造を読み出して任意のノードの位置を変更した仮木構造を生成し、木構造評価部で、仮木構造生成部で生成された当該ノードに関する仮木構造について評価値を算出し、木構造選択部で、木構造評価部により当該ノードに関する仮木構造の評価値を対象木構造の評価値と比較し、その比較結果に基づいて仮木構造と対象木構造のいずれか一方を新たな対象木構造として記憶部に保存し、ノードごとに繰り返し行って最終的に得られた対象木構造をオントロジーとして選択するようにしてもよい。
【００１２】
また、入力された辞書データに含まれる見出語とその語義文からなる各対の見出語ごとに、当該語義文中に出現する各単語の出現確率をそれぞれ算出する確率頻度算出部と、各見出語の語義文に含まれる単語を見出語と見なすことにより当該語義文を複数の語義文の集合として繰り返し展開する語義文展開部と、確率頻度算出部で得られた出現確率を示す行列を行列Ａとし、語義文展開部により各見出語の語義文を繰り返し展開した拡張語義文における単語の出現確率を示す行列を行列Ｃとし、語義文を展開するごとに単語の出現確率が減少する割合をａとし、単位行列をＩとした場合、（Ｉ−ａＡ）Ｃ＝（１−ａ）Ａが成立する行列Ｃを求めることにより、ノードが単語からなる場合における尤度データを算出する尤度算出部とをさらに備えてもよい。
【００１３】
また、本発明にかかるオントロジー構築方法は、記憶部と演算処理部とを有するオントロジー構築装置により、複数のノードの意味的上下関係を階層表現した木構造をオントロジーとして構築するオントロジー構築方法であって、記憶部が、ノード間の意味的上下関係に関する尤もらしさを示す尤度データと、オントロジーの元となる対象木構造とを記憶する記憶ステップと、演算処理部が、記憶部の対象木構造の一部を変更した仮木構造を複数生成する仮木構造生成ステップと、演算処理部が、記憶部の尤度データに基づいて、仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出する木構造評価ステップと、演算処理部が、評価値に基づいて仮木構造のいずれかをオントロジーとして選択する木構造選択ステップとを備えている。
【００１４】
また、本発明にかかるプログラムは、コンピュータを請求項１〜請求項６のいずれか１つに記載のオントロジー構築装置の各部として機能させるためのプログラムである。
【００１５】
また、本発明にかかる記録媒体は、上記プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１６】
本発明によれば、２階層以上離れたノードの意味的上下関係を反映したオントロジーを構築することが可能となる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
まず、図１を参照して、本発明の第１の実施の形態にかかるオントロジー構築装置について説明する。図１は、本発明の第１の実施の形態にかかるオントロジー構築装置の構成を示すブロック図である。
【００１８】
このオントロジー構築装置１０は、全体として、サーバ装置にパーソナルコンピュータなど、入力されたデータをコンピュータを用いて演算処理することにより所望の情報を生成する情報処理装置からなり、ノード間の意味的上下関係に関する尤もらしさを示す尤度データと、オントロジーの元となる対象木構造とに基づいて、オントロジーを構築する機能を有している。
【００１９】
オントロジー構築装置１０には、主な機能部として、操作入力部１１、画面表示部１２、データ入出力部１３、記憶部１４、および演算処理部１５が設けられており、データバスＢを介して相互に接続されている。
この際、記憶部１４には、尤度データ１４Ａと対象木構造データ１４Ｂが記憶されている。また、演算処理部１５には、主な処理部として、仮木構造生成部１５Ａ、木構造評価部１５Ｂ、および木構造選択部１５Ｃが設けられている。
【００２０】
本実施の形態は、仮木構造生成部１５Ａにより、対象木構造の一部を変更した仮木構造を複数生成し、木構造評価部１５Ｂにより、記憶部１４の尤度データ１４Ａに基づいて、仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出し、木構造選択部１５Ｃにより、これら評価値に基づいて仮木構造のいずれかをオントロジーとして選択することにより、尤度データ１４Ａに含まれる各ノードの意味的上下関係を木構造で表したオントロジーを構築する。
【００２１】
次に、図１を参照して、本発明の第１の実施の形態にかかるオントロジー構成装置の構成について詳細に説明する。
オントロジー構築装置１０において、操作入力部１１は、キーボードやマウスなどの操作入力装置からなり、オントロジー構築処理の開始要求など、各種のオペレータ操作を検出して演算処理部１５へ出力する機能を有している。
画面表示部１２は、ＬＣＤやＰＤＰなどの画面表示装置からなり、演算処理部１５からの指示に応じて、操作メニュー、処理結果、構築したオントロジーの内容などの各種情報を画面表示する機能を有している。
【００２２】
データ入出力部１３は、専用のデータ通信回路からなり、外部装置（図示せず）とデータ通信を行うことにより、オントロジーの構築に用いる各種データ、処理結果、構築したオントロジーの内容などの各種データを外部装置との間でやり取りする機能を有している。
記憶部１４は、ハードディスクやメモリなどの記憶装置からなり、演算処理部１５での処理に用いる各種データやプログラム１４Ｐを記憶する機能を有している。
プログラム１４Ｐは、演算処理部１５に読み出されて実行することにより、オントロジー構築処理に用いる各種処理部を実現するプログラムであり、記録媒体や外部装置（図示せず）からデータ入出力部１３を介して予め読み込まれ、記憶部１４へ保存される。
【００２３】
記憶部１４で記憶される主な処理情報としては、尤度データ１４Ａ、対象木構造データ１４Ｂ、候補木構造データ１４Ｃ、仮木構造データ１４Ｄ、およびオントロジーデータ１４Ｅがある。
尤度データ１４Ａは、構築したいオントロジーを構成するノードについて、２つのノード間の意味的上下関係に関する尤もらしさを示すデータである。例えば自然言語に関するオントロジーを構築する場合、各ノードがそれぞれの単語に相当し、２つ単語の意味的上下関係、ここでは一方の単語が他方の単語の意味的な上位の単語となるという関係に関する尤度が尤度データ１４Ａに相当する。
【００２４】
対象木構造データ１４Ｂは、構築するオントロジーの元となる木構造を示すデータである。例えば自然言語に関するオントロジーを構築する場合、尤度データ１４Ａで与えられたノード（単語）の意味的上下関係を示す木構造データが用いられることになる。この際、対象木構造データ１４Ｂとしては、尤度データ１４Ａの内容をある程度反映していればよく、前述した関連技術などを用いて構築すればよい。また、オントロジー構築処理において、対象木構造データ１４Ｂは逐次更新される。
【００２５】
候補木構造データ１４Ｃおよび仮木構造データ１４Ｄは、オントロジー構築処理過程において一時的に生成されて記憶部１４へ保存される処理データである。
オントロジーデータ１４Ｅは、オントロジー構築処理により構築された所望のオントロジーを示すデータある。
【００２６】
演算処理部１５は、ＣＰＵなどのマイクロプロセッサとその周辺回路とを有し、記憶部１４から読み出したプログラム１４Ｐを実行することにより、上記ハードウェアとプログラムとを協働させて各種処理部を実現する機能を有している。
演算処理部１５には、主な処理部として、仮木構造生成部１５Ａ、木構造評価部１５Ｂ、および木構造選択部１５Ｃが設けられている。
【００２７】
仮木構造生成部１５Ａは、記憶部１４の対象木構造データ１４Ｂを読み出して、その一部を変更した仮木構造を複数生成し、仮木構造データ１４Ｄとして記憶部１４へ保存する機能を有している。
木構造評価部１５Ｂは、記憶部１４の尤度データ１４Ａに基づいて、記憶部１４の仮木構造データ１４Ｄとして保存されている仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出する機能を有している。
木構造選択部１５Ｃは、これら評価値に基づいて仮木構造のいずれかをオントロジーとして選択し、オントロジーデータ１４Ｅとして記憶部１４へ保存する機能を有している。
【００２８】
［オントロジーの構築］
次に、本発明の第１の実施の形態にかかるオントロジー構築装置におけるオントロジー構築の原理について説明する。以下では、自然言語に関するオントロジーを構築する場合であって、各ノードがそれぞれの単語に相当する場合を例として説明する。
【００２９】
見出語と語義文との対からなる辞書において、語義文中の各単語は、その見出語を構成する要素であると仮定し、かつ本発明により構築されたオントロジー上で、見出語自身とその上位に存在する構成要素のみが、その見出語の構成要素として有効であると仮定する。即ち、オントロジー上に単語Ａの上位語として単語Ｂ、Ｃ、Ｄのみが存在する場合、Ａの語義文は、Ａ、Ｂ、Ｃ、Ｄのみで構成され、語義文中の他の単語は無視されると考える。以下、このような語義文を拡張語義文という。
【００３０】
単語Ａに対する拡張語義文中の単語Ａ，Ｂ，Ｃ，Ｄの確率頻度をそれぞれＰ（ｗA*｜ｗA），Ｐ（ｗB*｜ｗA），Ｐ（ｗC*｜ｗA），Ｐ（ｗD*｜ｗA）とした場合、単語Ａの確率頻度Ｐ'（ｗA）は、次の式（１）で求められる。以下、このＰ'（ｗA）を意味的再現率と呼ぶことにする。
【数１】
2009181162.tif 000003
この仮定の下で、あるオントロジーＴが存在する場合、Ｔが存在する確からしさは、全単語の意味的再現率の積、即ち、次の式（２）により与えられる。つまり、全ての単語が意味を持つ状態にある時がオントロジーの存在が最も安定している状態であると考える。
【数２】
2009181162.tif 000004
【００３１】
この対数をとれば、次の式（３）のように展開される。
【数３】
2009181162.tif 000005
このオントロジーの確からしさＬ（Ｔ）を最大化することにより、前述の仮定の下での最適な単語オントロジーが取り出せる。
【００３２】
本実施例では、計算コストを抑えるため、最適化アルゴリズムを各単語の意味的再現率の最大化と、その組合せとしての全体の最適化の２段階に分離して行った。すなわち、
ステップＡ．次の式（４）の最大化
【数４】
2009181162.tif 000006
ステップＢ．次の式（５）の最大化
【数５】
2009181162.tif 000007
を交互に繰り返し行うことで、近似的に最適化を行った。
【００３３】
以下、具体例を記す。オントロジー生成の対象となる単語は、前述の国語辞典の見出語から得られた名詞４３６１６語である。
オントロジー上での各単語の上位語は１語に限定し、自身を上位語とすることも許可する。これらの前提の下、拡張語義文中の単語で最大の確率頻度を与える単語を上位語の初期値として与え、学習処理を行った。このとき、Ｐ（ｗ'｜ｗ）は見出語ｗの拡張語義文中の単語ｗ’の確率頻度である。
【００３４】
図２は、生成されたツリーの最上位概念と要素数の例を示す説明図である。まず、学習前の初期状態でのオントロジーでは、「人」，「物事」など広い意味を持つ概念を最上位とした複数の木構造が生成された。この例では、１００以上の要素数を持つ独立した木構造は５１であった。図３は、生成された木構造の実例を示す説明図であり、「人」の木構造の一部を示している。
【００３５】
一方、学習により生成されたオントロジーは「語」を最上位概念とする一つの木構造となった。図４は、学習後の木構造の概観を示す説明図である。木構造の大まかな形状は、図４に示すように、「語」の直下の概念が多く、下層に行くに従い少なくなっている。この場合、６層目において概念数が１となっている。この６層目の概念は「一つ」で、その配下には再び多くの概念が広がっている。最も深い概念は１１８層であった。
【００３６】
学習後のオントロジーの特徴として、代表的な単語の直下に非常に多くの単語がぶら下がっていることが挙げられる。例えば、学習後の「人」の配下の木構造は５３２語、最大２層の深さであった。
これら結果から、学習により単語間の上位下位の関係が大きく変化したことがわかる。図３に示した「人」の下位語２２語中、学習後にも「人」の下位語の位置にあるのは「若手」のみであった。
【００３７】
次に、生成されたオントロジーの精度を、日本語語彙大系のカテゴリー間の上下関係との一致度を測ることにより調べた。日本語語彙大系には約３０００の意味カテゴリーが与えられており、意味カテゴリー問の上位下位の関係が木構造として与えられている。これら意味カテゴリーと実験で用いた名詞４３６１６語との共通の単語は９８８語であった。これらの単語に関して、日本語語彙大系において上位下位関係が与えられている単語の組合せ３５６２組の再現率を調べた。ここでは、上下関係が入れ替わっている場合は不正解とし、距離が離れていても上下関係が正しいものは正解とした。
【００３８】
結果は初期状態での再現率が７．７％であったのに対し、学習後の再現率は１７．６％であり、約１０％の向上がみられた。木構造の最深部でも上位語数は１２０程度で、全単語数４３６１６語に比較して微小であり、木構造が深くなった点を考慮しても大きな向上である。
この結果は、計算によって得られた上位語情報を、学習によって木構造に組み上げることができるということを示している。また同時に、得られた上位語情報の有効性を示すものでもある。
【００３９】
［オントロジー構築処理］
次に、図５を参照して、本発明の第１の実施の形態にかかるオントロジー構築装置のオントロジー構築処理について説明する。図５は、本発明の第１の実施の形態にかかるオントロジー構築装置のオントロジー構築処理を示すフローチャートである。
【００４０】
演算処理部１５は、操作入力部１１で検出されたオペレータのオントロジー構築開始指示に応じて、図５のオントロジー構築処理を開始する。この際、尤度データ１４Ａおよび対象木構造データ１４Ｂは、例えばデータ入出力部１３を介して外部装置や記録媒体（図示せず）から入力され、すでに記憶部１４に保存されているものとする。このデータは、木構造の初期値として利用される。
【００４１】
まず、演算処理部１５は、仮木構造生成部１５Ａにより、記憶部１４から対象木構造データ１４Ｂを読み込み（ステップ１００）、この対象木構造でノードとして用いている単語のうち未選択の単語を１つ選択する（ステップ１０１）。
続いて、仮木構造生成部１５Ａは、この対象木構造のうち選択した単語の位置を異なる位置へ移動させることにより、対象木構造の一部を変更した候補木構造を生成し、候補木構造データ１４Ｃとして記憶部１４へ保存する（ステップ１０２）。この際、候補木構造は、対象木構造のうち選択単語を移動させうるすべてのケースについて生成してもよく、所定のルールにしたがって選択単語を移動させたケースについてのみ生成してもよい。
【００４２】
次に、仮木構造生成部１５Ａは、記憶部１４から読み出した尤度データ１４Ａに基づいて、記憶部１４から読み出した候補木構造データ１４Ｃの候補木構造ごとに、前述した式（４）を計算することにより、選択単語についてその上位語との意味的上下関係に関する再現率Ｐ’（ｗ）を算出する（ステップ１０３）。この再現率Ｐ’（ｗ）は、尤度データ１４Ａで規定されている選択単語とその上位語との意味的上下関係が、個々の候補木構造における選択単語とその上位に位置する単語との上位関係において、どの程度再現されているかを示す値であり、予め与えられた計算式に従う。
【００４３】
続いて、仮木構造生成部１５Ａは、これら候補木構造のうち、上記のようにして算出した再現率が最も大きいものを仮木構造として選択し、仮木構造データ１４Ｄとして記憶部１４へ保存する（ステップ１０４）
以上のステップ１００〜１０４までが、前述したステップＡに相当する。
【００４４】
次に、演算処理部１５は、木構造評価部１５Ｂにより、記憶部１４から読み出した尤度データ１４Ａに基づいて、記憶部１４から読み出した仮木構造データ１４Ｄの仮木構造について、前述した式（５）を計算することにより、仮木構造の評価値Ｌ（Ｔ）を算出する（ステップ１０５）。この評価値Ｌ（Ｔ）は、木構造のノードとして使用されているすべての単語の再現率Ｐ’（ｗ）を合計したものであり、各単語の再現率が大きいほど、すなわち各単語間の意味的上下関係がより尤度データ１４Ａのものに近しい木構造ほど、評価値Ｌ（Ｔ）も大きくなる。
【００４５】
続いて、演算処理部１５は、木構造選択部１５Ｃにより、このようにして算出した仮木構造の評価値と、記憶部１４から読み出した対象木構造データ１４Ｂの評価値とを比較し、評価値が大きい方を新たな対象木構造として選択し、新たな対象木構造データ１４Ｂとして記憶部１４へ保存する（ステップ１０６）。この際、対象木構造の評価値については、木構造評価値１５Ｂでその都度算出してもよく、予め対象木構造データ１４Ｂの一部として記憶部１４へ保存しておいてもよい。また仮木構造を新たな対象木構造として選択した場合には、ステップ１０５で算出した当該仮木構造の評価値を対象木構造の評価値として用い、あるいは記憶部１４へ保存すればよい。
以上のステップ１０５およびステップ１０６が、前述したステップＢに相当する。
【００４６】
次に、木構造選択部１５Ｃは、繰り返し処理の終了条件としてステップ１００〜１０６までの処理の繰り返し回数が、規定回数に到達したか判断し（ステップ１０７）、繰り返し回数が規定回数に到達していない場合には（ステップ１０７：ＮＯ）、ステップ１００へ戻って、ステップ１００〜１０６までの処理を繰り返す。これにより、評価値の高い仮木構造が見つかった時点で、逐次、その仮木構造が対象木構造として記憶部１４へ保存されることになる。この際、規定回数ではなく、評価値が更新されない場合、あるいはこの状態が所定回数だけ続いた場合など、他の終了条件を用いてもよい。
【００４７】
また、ステップ１０７において、繰り返し回数が規定回数に到達した場合には（ステップ１０７：ＹＥＳ）、対象木構造データ１４Ｂとして記憶部１４に保存されている対象木構造が、それまで見つかった最も評価値の高い木構造であることから、この対象木構造がオントロジーとして選択され、オントロジーデータ１４Ｅとして記憶部１４へ保存され（ステップ１０８）、一連のオントロジー構築処理が終了する。この後、オペレータの指示に応じて、演算処理部１５は、記憶部１４からオントロジーデータ１４Ｅを読み出して、画面表示部１２で画面表示し、あるいはデータ入出力部１３を介して外部装置（図示せず）へ出力する。
【００４８】
［第１の実施の形態の効果］
このように、本実施の形態では、仮木構造生成部１５Ａにより、対象木構造の一部を変更した仮木構造を複数生成し、木構造評価部１５Ｂにより、記憶部１４の尤度データ１４Ａに基づいて、仮木構造ごとにその階層表現の尤もらしさを示す評価値を算出し、木構造選択部１５Ｃにより、これら評価値に基づいて仮木構造のいずれかをオントロジーとして選択するようにしたので、２階層以上離れたノードの意味的上下関係を反映したオントロジーを構築することが可能となる。
【００４９】
また、本実施の形態では、仮木構造生成部１５Ａにおいて、対象木構造に対して任意のノードの位置を異なる位置へ変更して得られる各候補木構造のうち、当該ノードとその全ての上位ノードとの意味的上下関係に関する再現率が最も大きい候補木構造を当該ノードの仮木構造としてそれぞれ選択するようにしたので、対象木構造からより評価値のよい仮木構造を効率よく生成することが可能となり、オントロジー構築処理の処理負担や所要時間を大幅に軽減できる。
【００５０】
また、本実施の形態では、候補木構造の再現率を、当該ノードと個々の上位ノードとの間の尤度の和で求めるようにしたので、これら尤度の加算処理のみで再現率を精度よく算出することができ、候補木構造全体の評価値を算出して仮木構造を選択する場合と比較して、オントロジー構築処理の処理負担や所要時間を大幅に軽減できる。
【００５１】
また、本実施の形態では、木構造評価部１５Ｂにおいて、ノードごとに当該ノードとその全ての上位ノードとの間の尤度の和を当該ノードの再現率として算出し、これら再現率の積を当該仮木構造の評価値として算出するようにしたので、これら尤度の加算処理と積算処理のみで評価値を精度よく算出することができ、オントロジー構築処理の処理負担や所要時間を大幅に軽減できる。
【００５２】
また、本実施の形態では、仮木構造生成部１５Ａにより、記憶部から対象木構造を読み出して任意のノードの位置を変更した仮木構造を生成し、木構造評価部１５Ｂにより、仮木構造生成部で生成された当該ノードに関する仮木構造について評価値を算出し、木構造選択部１５Ｃにより、木構造評価部により当該ノードに関する仮木構造の評価値を対象木構造の評価値と比較し、その比較結果に基づいて仮木構造と対象木構造のいずれか一方を新たな対象木構造として記憶部に保存し、ノードごとに繰り返し行って最終的に得られた対象木構造をオントロジーとして選択するようにしたので、極めて短時間で効率よく評価値の高い木構造へ到達することができ、オントロジー構築の処理負担や所要時間を大幅に軽減できる。
【００５３】
［第２の実施の形態］
次に、図６を参照して、本発明の第２の実施の形態にかかるオントロジー構築装置について説明する。図６は、本発明の第２の実施の形態にかかるオントロジー構築装置の構成を示すブロック図である。
【００５４】
第１の実施の形態では、オントロジーを構築する際に用いる尤度データ１４Ａが予め用意されている場合を例として説明した。本実施の形態では、入力された辞書データ１４Ｆから尤度データ１４Ａおよび対象木構造データ１４Ｂを生成する場合について説明する。なお、本実施の形態では、自然言語に関するオントロジーを構築する場合であって、各ノードがそれぞれの単語に相当する場合を例として説明する。
【００５５】
図６のオントロジー構築装置１０には、第１の実施の形態と比較して、尤度データ１４Ａを生成するための辞書となる辞書データ１４Ｆが記憶部１４に保存されている。
辞書データ１４Ｆは、国語辞典など、見出語と語義文とが対として複数登録されたデータからなり、例えばデータ入出力部１３を介して外部装置や記録媒体（図示せず）から入力され、記憶部１４に保存されているものとする。
【００５６】
また、図６のオントロジー構築装置１０には、第１の実施の形態と比較して、確率頻度算出部１５Ｄ、義語文展開部１５Ｅ、および尤度算出部１５Ｆが、演算処理部１５に追加されている。
確率頻度算出部１５Ｄは、辞書データ１４Ｆに含まれる見出語ごとに、当該見出語に対応する語義文中に出現する各単語の出現確率をそれぞれ算出する機能と、これら見出語に関する各単語の出現確率から行列Ａを作成する機能とを有している。
【００５７】
義語文展開部１５Ｅは、各見出語の語義文に含まれる単語を見出語と見なすことにより当該語義文を複数の語義文の集合として繰り返し展開する機能と、これら見出語に関するその拡張語義文に含まれる各展開単語の出現確率を格納するための行列Ｃを作成する機能とを有している。
尤度算出部１５Ｆは、語義文を展開するごとに単語の出現確率が減少する割合をａとし、単位行列をＩとした場合、（Ｉ−ａＡ）Ｃ＝（１−ａ）Ａが成立する行列Ｃを求めることにより、尤度データ１４Ａを算出する機能を有している。
図６のオントロジー構築装置１０におけるその他の構成については、第１の実施の形態と同様であり、ここでの詳細な説明は省略する。
【００５８】
［尤度データの生成］
次に、本発明の第２の実施の形態にかかるオントロジー構築装置における尤度データ生成の原理について説明する。以下では、自然言語に関するオントロジーを構築する場合であって、各ノードがそれぞれの単語に相当する場合を例として説明する。
【００５９】
本実施の形態にかかる尤度データ生成における基本的な考えは、単語語義文中の単語頻度を再帰的に展開し、より多くの単語からなる語義文を作成するということである。
辞書（国語辞典）は見出語と語義文の組合せから成り立っている。語義文は単語の集合であり、これを見出語の集合とみなせば、一つの語義文を複数の語義文の集合として再定義することができる。ところが、このような展開は無限に続いてしまう。したがって、展開された語義文中の単語数も無限になり、頻度計算は一般に不可能になる。しかしながら、この展開の過程に確率的要素を組み込むことにより、無限に展開された語義文からの単語頻度計算を可能にする方法がある。
【００６０】
まず、展開を途中で止めた語義文の集合体を考える。図７は、再帰的語義展開のモデルを示す説明図である。この中で、語義文の展開を行うごとに、一定の割合でその影響が小さくなるとすれば、無限に展開された語義文の影響力は元の語義文に比べて微小になる。したがって、語義文の影響力は語義展開の回数に比例する等比数列として表すことができる。同時に、その合計を無限級数として計算すると必ず有限な値となる。これにより、語義文の集合体中の単語頻度も有限になり、計算可能となる。これらを確率モデルに置き換えることで、無限の展開を含めた語義文の集合体から単語の出現確率を取り出すことが可能になり、拡張された語義文として再定義することができる。
【００６１】
上記の方針に従った語義文の拡張手法を詳細に説明する。以下、ｎ回展開された語義文をｎ次の語義文と呼ぶ。ただし、辞書中の語義文を１次語義文とする。
まず、見出語ｗiと語義文中の単語ｗjの関係はＰ（ｗj(1)｜ｗｉ）と表すものとする。ここで、ｗ(n)はｎ次の語義文中の単語ｗを表す。したがって、確率Ｐ（ｗj(1)｜ｗi）は、ｗiの１次語義文中に現れるｗjの出現確率である、
【００６２】
この表記を用いると、全ての見出語に関して、語義文中の単語の出現確率は、次の式（６）のような列ベクトルからなる行列Ａとして表される。ここで、ｍは辞書中の見出語の数である。
【数６】
2009181162.tif 000008
【００６３】
行列Ａの各要素Ｐ（ｗj(1)｜ｗi）はＮ（ｗ）を語義文中の単語頻度とした場合、次の式（７）で表される。全ての列ベクトルは、要素の合計が１であり、確率表現となっていることがわかる。
【数７】
2009181162.tif 000009
【００６４】
次に、２次の語義文における単語ベクトルを求める。２次の語義文は１次の語義文を展開したものであるから、これをＰ（ｗj(2)｜ｗi（ｋ））と書けば、見出語ｗiに対する２次の語義文中の単語ｗjの確率頻度は、次の式（８）で求められる。
【数８】
2009181162.tif 000010
【００６５】
この際、Ｐ（ｗj(2)｜ｗi(k)）は、ｗk（１）を見出語とみなした時の単語の確率頻度であることから、次の式（９）が成立する。したがって、全ての単語に関して、行列Ａを用いて式（８）を書き直すと、Ａ2となる。
【数９】
2009181162.tif 000011
【００６６】
同様の議論が３次以降の語義文にも当てはまる。一般にｎ次の語義文に関して、確率頻度Ｐ（ｗj(n)｜ｗi）は、次の式（１０）で表され、全ての単語に関する式（１０）の行列Ａによる表記はＡｎとなる。
【数１０】
2009181162.tif 000012
【００６７】
目的とする単語の拡張語義文は、上記の手法で求められた確率頻度を１次から無限次まで確率的に加えた確率ベクトルで表され、これを行列表記した行列Ｃは、次の式（１１）で表される。
【数１１】
2009181162.tif 000013
ただし、Ｐnは次の式（１２）を満たす。確率ベクトルの確率的総和もまた確率ベクトルである。
【数１２】
2009181162.tif 000014
【００６８】
一般に、確率Ｐnが任意であれば行列Ｃを計算することは困難であるが、語義展開の度にＰnが一定の割合ａで減少すると仮定すると、行列Ｃは次の式（１３）で表される。
【数１３】
2009181162.tif 000015
ここで、Ｎは正規化のための定数であり、次の式（１４）を満たす。
【数１４】
2009181162.tif 000016
【００６９】
これらの条件からＮの値は、次の式（１５）であることが無限級数の計算により求められる。
【数１５】
2009181162.tif 000017
これを用いると式（１３）も同様に無限級数の計算から、次の式（１６）のように計算できる。
【数１６】
2009181162.tif 000018
【００７０】
行列Ａの全ての要素は０≦Ａij＜１であることから、行列Ｉ−ａＡは対角要素のみが正の値となる行列であり、一般に線形独立である。したがって、逆行列が存在し、式（１６）は次の式（１７）のように書ける。
【数１７】
2009181162.tif 000019
行列Ｃの（ｉ，ｊ）要素をＰ（ｗj*｜ｗi）と書くと、ｗ*は展開された語義文集合の中の単語を意味することになる。すなわち、Ｐ（ｗj*｜ｗi）は拡張語義文中の単語の確率頻度である。
【００７１】
上記の手法を実際に国語辞典に適用した結果を以下に示す。前処理として、扱う単語を一般名詞とサ変名詞に限定（形態素解析は「茶筅」を利用）し、その結果、４４０５０語の見出語と、平均約７語の１次語義文を得た。以下の計算は、α＝０．５で行っている。
まず、式（６），式（７）から確率行列Ａを計算した。これはスパースな４４０５０次元の正方行列である。次に式（１６）から線形学習法により行列Ｃを求めた。このときの有効桁は１０-6までとした。学習の結果、十分な収束を得られなかった語を除いて、４３６１６語の確率ベクトルを得た。これらのベクトルの非ゼロの値を持つ次元数は平均約１００００であった。
【００７２】
図８は、辞書の語義文と拡張語義文との比較を示す説明図である。見出語「通信」に対して、辞書の語義文では「通信」が頻度４で最も高い確率を示しているが、拡張語義文では「人」が最も頻度の高い単語となっている。また、辞書の語義文で現れていた「デジタル」は拡張語義文では１４位以内から消え、辞書の語義文には現れていなかった「文字」が拡張語義文では１０位の頻度で現れている。また、語義文中の文字数も、辞書の語義文では１４語だったものが、拡張語義文では１０６０９語に大幅に増えている。
【００７３】
見出語の語義文中に上位語があるとすれば、上位語ｗjは見出語ｗiを説明するために非常に重要な単語であるため、その出現確率Ｐ（ｗj*｜ｗi）は高いことが予想される。したがって、見出語ｗiの上位語は、その確率ベクトルの要素の中から出現確率Ｐ（ｗj*｜ｗi）が高い順に尤もらしいと考えることができる。これを証明するために、日本語語彙大系を正解データとした検証実験を行った。対象としたのは、上記４３６１６語のうち、日本語語彙大系に記載のある３９７７１語である。
【００７４】
まず、対象となる全単語に関して、その確率ベクトル中の要素を出現確率が高い順に並べ替え、各要素が見出語の上位語として日本語語彙大系に記載されているかどうかを統計的に調べた。図９は、出現頻度順位と上位語一致数の関係を示す説明図である。図９において、横軸は単語の拡張語義文での出現しやすさの順位を示し、縦軸は日本語語彙大系との一致度数（３９７７１語中、当該単語が日本語語彙大系で規定されている上位語と一致した数）を示している。図９は１００位までの統計量を示しており、順位が高い程、日本語語彙大系に一致する割合が高いことが示されている。この結果から、拡張語義文中の出現確率が高い程、その単語が上位語である可能性が高いことがわかる。
【００７５】
図９で出現確率２位から６位の間で大きく一致度数が下がっているのは、同義語が集中するためであると考えられる。図１０は、出現頻度順位と上位語・同義語一致数の関係を示す説明図である。この図１０には、上位語に加え、同義語を含めて正解とした場合の１００位までの結果が示されている。図９で一致度数が下がっていた範囲に関して、図１０ではそれを埋めるように値が大きくなっていることがわかる。
【００７６】
図１１は、出現頻度順位と上位語包含率の関係を示すグラフである。この図１１は、拡張語義文中の上位語候補の中から日本語語彙大系で規定されている上位語あるいは同義語として１つ以上の単語を取り出せる割合を、出現確率の順位に対してプロットしたものである。上位語候補として、上位１０語を選べば８２．５％の単語が日本語語彙大系と一致する上位語を候補の中に入れることができ、上位１００語を選べば９９．４％の単語が日本語語彙大系と一致する上位語を候補の中に入れることができることを示している。
【００７７】
ところで、前述の結果では、出現確率最大の単語で精度を計算すると上位語だけを正解とした場合には８．８％、同義語を含めた場合でも３８．８％となり、決して良い値ではない。しかしながら、図１２に示す単語とその上位語候補（不一致）の組からなる不正解リストを見ると、上位語として間違いであるとは必ずしも言えないような上位語候補がいくつも見受けられる。図１２は、不正解リストを示す説明図である。
これは、日本語語彙大系が上位語全てを網羅しているわけではなく、見方によって様々なオントロジーが構築できることを示している。また、そのように多様なオントロジーを手作業により構築することの難しさをも示している。
【００７８】
［第２の実施の形態の動作］
次に、図１３を参照して、本発明の第２の実施の形態にかかるオントロジー構築装置の尤度データ生成処理について説明する。図１３は、本発明の第２の実施の形態にかかるオントロジー構築装置の尤度データ生成処理を示すフローチャートである。
【００７９】
演算処理部１５は、操作入力部１１で検出されたオペレータの尤度データ生成開始指示に応じて、図１３の尤度データ生成処理を開始する。この際、辞書データ１４Ｆは、例えばデータ入出力部１３を介して外部装置や記録媒体（図示せず）から入力され、すでに記憶部１４に保存されているものとする。
【００８０】
まず、演算処理部１５は、確率頻度算出部１５Ｄにより、記憶部１４から辞書データ１４Ｆを読み込み（ステップ２００）、前述した式（７）を用いて、語義文に出現する単語の出現確率を見出語ごとに算出する（ステップ２０１）。
続いて、確率頻度算出部１５Ｄは、これら見出語に関する各単語の出現確率から、前述した式（６）と同様の行列Ａを作成する（ステップ２０２）。
【００８１】
次に、演算処理部１５は、義語文展開部１５Ｅにより、見出語ごとに、その語義文に含まれる単語を新たな見出語と見なして、当該語義文を複数の語義文の集合として繰り返し展開する（ステップ２０３）。
続いて、義語文展開部１５Ｅは、これら見出語に関するその拡張語義文に含まれる各展開単語の出現確率を格納するための行列Ｃを作成する（ステップ２０４）。
【００８２】
次に、演算処理部１５は、尤度算出部１５Ｆにより、語義文を展開するごとに単語の出現確率が減少する割合をａとし、単位行列をＩとした場合、前述した式（１６）が成立する行列Ｃを求める（ステップ２０５）。行列Ｃの算出方法については、例えば前述した式（１７）のようにも（Ｉ−ａＡ）の逆行列を用いて算出してもよく、他の方法で算出してもよい。
【００８３】
続いて、尤度算出部１５Ｆは、このようにして算出した行列Ｃを展開し、見出語と単語の間の尤度を尤度データ１４Ａとして記憶部１４へ保存し（ステップ２０６）、一連の尤度データ生成処理を終了する。
【００８４】
［第２の実施形態の効果］
このように、本実施の形態は、確率頻度算出部１５Ｄにより、辞書データに含まれる見出語とその語義文からなる各対の見出語ごとに、当該語義文中に出現する各単語の出現確率をそれぞれ算出し、義語文展開部１５Ｅにより、各見出語の語義文に含まれる単語を見出語と見なすことにより当該語義文を複数の語義文の集合として繰り返し展開し、尤度算出部１５Ｆにより、語義文を展開するごとに単語の出現確率が減少する割合をａとし、単位行列をＩとした場合、（Ｉ−ａＡ）Ｃ＝（１−ａ）Ａが成立する行列Ｃを求めることにより、尤度データを算出するようにしたので、見出語ごとにその上位語候補となる単語を上位語として尤もらしい順に抽出することができる。
【００８５】
したがって、辞書データにおいて、見出語の語義文にその見出語の上位語が含まれていない場合でも、その見出語に相応しい上位語を抽出でき、２つの単語間の意味的上下関係を示す尤度データを精度よく生成することが可能となる。
【００８６】
［実施の形態の拡張］
以上の各実施の形態では、自然言語に関するオントロジーを構築する場合であって、各ノードがそれぞれの単語に相当する場合を例として説明したが、これに限定されるものではない。本発明の各実施の形態は、例えば文書間の引用関係や、Ｗｅｂ間のリンク関係など、単語以外のノードからなるオントロジーを構築する場合にも、前述と同様にして適用でき、同様の作用効果を得ることができる。
【００８７】
また、各実施の形態では、見出語とその語義文に含まれる単語との間の上位語関係を示す尤度データを用いて、オントロジーを構成する場合を例として説明したが、尤度データの値としてはこのような２つのノード間の上位下位関係に限定されるものではない。例えば前述した２つのノードの引用関係、リンク関係のほか、包含関係、大小関係、優先関係など、各種関係を示す値を尤度データとして用いることができ、前述と同様の作用効果を得ることができる。
【００８８】
また、第１の実施の形態では、オントロジー構築処理として、前述したステップＡとステップＢとを交互に繰り返し実行することにより、オントロジーを最適化する処理を例として説明したが、これに限定されるものではなく、他の最適化アルゴリズムを適用してもよい。例えば、対象木構造データ１４Ｂを基準としてノードごとに最も再現率の大きい仮木構造を探索するステップと、これら仮木構造のうちから最も評価値の大きいものを新たな対象木構造データ１４Ｂとして保存するステップとを交互に繰り返し実行するようにしてもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施の形態にかかるオントロジー構築装置の構成を示すブロック図である。
【図２】生成されたツリーの最上位概念と要素数の例を示す説明図である。
【図３】生成された木構造の実例を示す説明図である。
【図４】学習後の木構造の概観を示す説明図である。
【図５】本発明の第１の実施の形態にかかるオントロジー構築装置のオントロジー構築処理を示すフローチャートである。
【図６】本発明の第２の実施の形態にかかるオントロジー構築装置の構成を示すブロック図である。
【図７】再帰的語義展開のモデルを示す説明図である。
【図８】辞書の語義文と拡張語義文との比較を示す説明図である。
【図９】出現頻度順位と上位語一致数との関係を示す説明図である。
【図１０】出現頻度順位と上位語・同義語一致数との関係を示す説明図である。
【図１１】出現頻度順位と上位語包含率の関係を示すグラフである。
【図１２】不正解リストを示す説明図である。
【図１３】本発明の第２の実施の形態にかかるオントロジー構築装置の尤度データ生成処理を示すフローチャートである。
【符号の説明】
【００９０】
１０…オントロジー構築装置、１１…操作入力部、１２…画面表示部、１３…データ入出力部、１４…記憶部、１４Ａ…尤度データ、１４Ｂ…対象木構造データ、１４Ｃ…候補木構造データ、１４Ｄ…仮木構造データ、１４Ｅ…オントロジーデータ、１４Ｆ…辞書データ、１４Ｐ…プログラム、１５…演算処理部、１５Ａ…仮木構造生成部、１５Ｂ…木構造評価部、１５Ｃ…木構造選択部、１５Ｄ…確率頻度算出部、１５Ｅ…語義文展開部、１５Ｆ…尤度算出部。
【図１】
2009181162.tif 000020
【図２】
2009181162.tif 000021
【図３】
2009181162.tif 000022
【図４】
2009181162.tif 000023
【図５】
2009181162.tif 000024
【図６】
2009181162.tif 000025
【図７】
2009181162.tif 000026
【図８】
2009181162.tif 000027
【図９】
2009181162.tif 000028
【図１０】
2009181162.tif 000029
【図１１】
2009181162.tif 000030
【図１２】
2009181162.tif 000031
【図１３】
2009181162.tif 000032