常識推論を支援するための辞書（あるいはオントロジー）の構築方法

自然言語処理技術の用途の一つは，自然言語で書かれた文章について推論を行うことである．推論の際，文章の中で使われている語や句の意味を判定するために，電子的に処理可能な辞書（あるいはオントロジー）が使用される．代表的な辞書としては，FrameNet[1]やWordNet[2]が知られている．ところが，これらの辞書やオントロジーは，必ずしも特定の推論を支援するために作られたわけではないので，推論を行うために必要となる情報が十分に含まれていない場合がある（具体例については，2.1節で述べる）．そもそも，辞書にしてもオントロジーにしても，具体的な使用目的を定め，その目的を達成できるように「設計」すべきものである．そこで，本稿では，推論を支援するための辞書（あるいはオントロジー）を設計するための方法の一つを具体的に提案する．自然言語処理技術を利用した推論としては，いくつかの種類が考えられるが，本稿では，一つの文書内（あるいは複数の文書間）の矛盾の検出を取り上げる．その理由は，文書内（あるいは文書間）の矛盾の検出は，実用的に重要な課題であるからである．文書内（あるいは文書間）の矛盾を放置したままにすると重要な損害がもたらされる場合は多い．例えば，一つの人工衛星に関する技術文書間の矛盾[3]，あるいは，企業が発行する文書と関連する法律の間の矛盾などがあげられる．また，推論において使用される知識には，大きく分けて，常識と世界知識とがある．この両者を厳密に区別することは困難であるが，本稿では，概念レベルの知識を常識と考え，個々の事物レベルの知識を世界知識と考えることにする．すなわち，常識は，記述論理[4]のT-Boxに相当し，オブジェクト指向モデリング[5]のクラスモデルに相当する．また，世界知識は，記述論理のA-Boxに相当し，オブジェクト指向モデリングのインスタンスモデルに相当する．本稿では，常識を使用した矛盾の検出を考察の対象とする．以上をまとめると，本稿では，文章中の矛盾の検出を行うための常識（概念レベルの知識）を記述するための辞書（あるいはオントロジー）の設計方法の提案を行う．辞書とオントロジーの区別は判然としないが，以降では，原則として，辞書とオントロジーの両者をまとめて「辞書」と呼ぶことにする．なお，本稿の内容は，筆者の過去の研究[6]をさらに発展させたものである．