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

山田隆弘 ${ }^{1}$
${ }^{1}$ CONOCIMISTA
tyamada99@yahoo.co.jp

## 概要

自然言語処理技術を用いて推論を行う際，文章の 中で使われている語や句の意味を判定するために電子的に処理可能な辞書（あるいはオントロジー）が 使用される.ところが，これらの辞書やオントロジ 一には，推論を行うために必要となる情報が十分に 含まれていない場合がある. 本稿では, 推論（特に 矛盾の検出）を支援するための辞書（あるいはオン トロジー）を構築するための方法を提案する。推論 において使用される知識には常識と世界知識とがあ るが，本稿では，常識を使用した矛盾の検出を考察 の対象とする。

## 1 はじめに

自然言語処理技術の用途の一つは, 自然言語で書 かれた文章について推論を行うことである. 推論の 際, 文章の中で使われている語や句の意味を判定す るために，電子的に処理可能な辞書（あるいはオン トロジー）が使用される. 代表的な辞書としては, FrameNet [1]や WordNet [2]が知られている。ところ が，これらの辞書やオントロジーは，必ずしも特定 の推論を支援するために作られたわけではないので，推論を行うために必要となる情報が十分に含まれて いない場合がある（具体例については, 2.1 節で述べ る).

そもそも，辞書にしてもオントロジーにしても，具体的な使用目的を定め, その目的を達成できるよ うに「設計」すべきものである. そこで, 本稿では，推論を支援するための辞書 (あるいはオントロジー) を設計するための方法の一つを具体的に提案する.

自然言語処理技術を利用した推論としては，いく つかの種類が考えられるが, 本稿では, 一つの文書内（あるいは複数の文書間）の矛盾の検出を取り上 げる。 その理由は, 文書内（あるいは文書間）の矛盾の検出は, 実用的に重要な課題であるからである.文書内（あるいは文書間）の矛盾を放置したままに
すると重要な損害がもたらされる場合は多い，例え ば，一つの人工衛星に関する技術文書間の矛盾[3], あるいは，企業が発行する文書と関連する法律の間 の矛盾などがあげられる.

また，推論において使用される知識には，大きく 分けて，常識と世界知識とがある。この両者を厳密 に区別することは困難であるが，本稿では，概念レ ベルの知識を常識と考え, 個々の事物レベルの知識 を世界知識と考えることにする.すなわち, 常識は，記述論理[4]の T-Box に相当し，オブジェクト指向モ デリング[5]のクラスモデルに相当する．また，世界知識は, 記述論理の A-Box に相当し, オブジェクト 指向モデリングのインスタンスモデルに相当する.本稿では，常識を使用した矛盾の検出を考察の対象 とする.

以上をまとめると, 本稿では, 文章中の矛盾の検出を行うための常識（概念レベルの知識）を記述す るための辞書（あるいはオントロジー）の設計方法 の提案を行う．辞書とオントロジーの区別は判然と しないが，以降では，原則として，辞書とオントロ ジーの両者をまとめて「辞書」と呼ぶことにする.

なお, 本稿の内容は, 筆者の過去の研究[6]をさら に発展させたものである.

## 2 関連研究

## 2. 1 矛盾の検出

自然言語処理技術を使用して文書の矛盾を検出す る研究としては[7-10]等がある.これらの研究の大部分において，語の意味に起因する矛盾を検出するた めに WordNet [2]等における反義語の規定が使用さ れている. 例えば，「大きい」と「小さい」は反義語であるから，「X は大きい」と「Xは小さい」は 矛盾しているとして判断される.

しかし，矛盾とは「同時には成立しない」ことで あるから，必ずしも意味が反対でなくても矛盾して いることはあり得る. 例えば，「太郎は歩いている」

と「太郎は走っている」は矛盾している。なぜなら ば，「歩く」と「走る」を同時に行うことは困難で あるからである．また，「太郎は昨日大阪から東京 に戻った」と「太郎は今日は大阪に滞在している」 は矛盾している，矛盾していないとすれば，「太郎 は大阪から東京に戻った後で再び大阪に行った」と いう情報が不足していることになる。

文書中の矛盾を検出するために必要な情報を十分 に含んでいる辞書は(筆者の知る限り) 存在しない.文書中の矛盾を検出するためには，そのために必要 な知識を蓄積した辞書を構築する必要がある。

## 2.2 辞書（あるいはオントロジー）の設計

特定の目的のためにオントロジーを設計した例と して, Event and Situation Ontology (ESO) [11]を取り 上げる。このオントロジーは，様々なニュース記事 より事象を抽出し, 抽出された事象を互いに関連づ けるための道具として開発された。

この目的のために，このオントロジーでは，動的事象 (dynamic state) と静的事象 (static event) を定義する。ただし，この両者は一般的には事象(event) と状態 (state) と言われている概念にそれぞれ相当 するので，以下では事象と状態という用語を使用す ることにする.

このオントロジーでは，変化を伴う事象は，その 変化の内容を事前条件と事後条件によって規定する.事前条件と事後条件は，このオントロジーで定義さ れている状態に対応づけて規定する. 例えば，「Xは A から B に移動する」という事象の事前条件は「X は A に存在している」であり，事後条件は「Xは B に存在している」である。ここで，「XはYに存在 している」は，このオントロジーにおいて状態とし て定義されている。このように事象と状態を関連づ けることにより，このオントロジーで定義されてい る概念の範囲内であれば，複数の事象や状態の間の 関係を統一的な形で表現できる。

このオントロジーは矛盾検出用ではないので当然 であるが，このオントロジーを矛盾検出に利用する には，いくつかの情報が不足している。例えば，複数の事象や状態が同時に成立するかどうかを判定す るための情報が欠けている。

本稿の第 3 節以下では, 矛盾検出のための辞書が 満たすべき条件（あるいは設計原理）を明らかにし ながら，そのような辞書を構築する方法を提示する.

## 3 ドメインモデルの構築

## 3.1 ドメインモデルの概念

本稿で構築する辞書でも ESO [11]と同様に状態 （state）と事象 (event) を定義するが (第 4 節参照)，本稿の方法では, 状態と事象で参照される基本概念 をドメインモデル[6]として定義する. ドメインモデ ルとは，特定の分野で使用される基本概念を一つの モデルとして定義したものである．ESO では，事象 の事前条件と事後条件を状態に準拠させることで全体の整合性を確保しているが，本稿では，事象と状態の双方をドメインモデルに準拠させることによっ て,さらに高いレベルの整合性の確保を狙っている.

## 3.2 ドメインモデルの定義

本稿ではオブジェクト指向モデリング[5]の手法 を用いてドメインモデルを構築する．ドメインモデ ルの主要な構成要素を以下に示す.これらの要素は， Unified Modeling Language (UML) [12]のクラス図を 用いても定義できる. オブジェクト指向モデリング の詳細は[5]や[12]を参照して頂きたい。以下で，オ ブジェクトとは，個々の物を属性値の集合として表現した仮想的な物である.

・クラス（共通の特徵を有するオブジェクトの 集合)

・属性（オブジェクトの特徵を表すパラメータ）
- 属性値(属性の取る値)
- 属性値型（属性の取り得る値の集合）
- 関係（複数のオブジェクト間に成立する関係）
- 属性の多重度（一つの属性がいくつの属性値 を持てるか)
- 関係の多重度（一つのオブジェクトが他のい くつのオブジェクトと同一の関係を持てるか)

属性値型には, 整数, 実数, 文字列, 列挙型など がある. 列挙型とは，いくつかの離散的な値（文字列で表される）の集合として規定され，それらのう ち一つあるいは複数のものを値としてとることを示 すものである.

このドメインモデルを矛盾の検出のために使用す るためには, 属性值型が列挙型の場合, 列挙されて いる個々の值が互いに排他的である必要がある．列挙型の属性が二つ以上の異なる属性値を同時に持つ ことがある場合は，その属性の多重度を 2 以上にす る必要がある. また, 属性と関係の多重度の指定は

従業員 1 ...*

雇用主 $0 . .1$

図 1 ドメインモデルの実例

必須である. これらは, 矛盾検出のための辞書が満 たすべき条件である.

## 3.3 ドメインモデルの実例

簡単なドメインモデルの例をUML のクラス図を 用いて図 1 に示す.この図では, 以下の要素が定義 されている.

・クラス：人間，組織
- 属性 : 氏名, 居住地, 所在地, 組織名, 組織種別
- 属性値型 : 文字列, 場所, 組織種別名
- 関係 : 従業員一雇用主

図 1 で示されている属性値型のうち組織種別名は 列挙型であり,その定義は以下のようになっている.

組織種別名 $=\{$ 会社，役所，任意団体 $\}$ ここでは, 会社, 役所, 任意団体の三者は互いに排他的であるとする.

さらに, この図では, 多重度も示されている. 属性の多重度は, 属性値型の後の[ ]内に示されている が，全ての属性について 1 である。 すなわち, 全て の属性は一つの属性值を常に持っていなければなら ない. 関係の多重度は, 以下のように示されている。

(このドメインでは) 一人の人間は，0または一つ の組織を雇用主として持ち得る。すなわち, 一人の 人間は, 雇用主を持たないか, あるいは, 一つの雇用主を持つかのどちらかである。一方, 一つの組織 は，一つ以上（上限は設定されていない）の人間を 従業員として持ち得る。

## 4 状態と事象の定義

ここでは, 第 3 節で定義したドメインモデルに基 づいて状態(state)と事象(event)を定義する方法を示
す.ここで登場するオブジェクトは，ドメインモデ ルで定義されている何らかのクラスに属しており，属性あるいは関係は，そのクラスで定義されている 属性あるいは関係である.

## 4. 1 状態の定義

本稿の方法では, 各々の状態は以下の要素によっ て定義される。

〈属性に関する状態〉

・オブジェクト
- 属性=属性值

・ [時刻あるいは時間間隔]
- [その他]

〈関係に関する状態〉

・オブジェクト

・関係 [=関係先のオブジェクト $]$
- [時刻あるいは時間間隔]
- [その他 $]$

上記で, [ ] 内の要素はオプションであり, 必要 がなければ示さなくてよい.

例えば，「太郎は大阪に滞在している」という文 は属性に関する状態を表していて，以下の要素によ って表される.これは, FrameNet の Being_located フ レームに概ね相当する.
- 太郎(人間クラス)
- 所在地 $=$ 大阪
- 時刻：現在

また，「太郎は凸凹商会に勤めている」という文 は関係に関する状態を表していて，以下の要素によ って表される.これは, FrameNet $の$ Being_employed フレームに概ね相当する。
- 太郎 (人間クラス)
- 雇用主＝凸凹商会
- 時刻：現在

## 4. 2 事象の定義

本稿の方法では, 各々の事象は以下の要素によっ て定義される。

〈変化を伴う事象〉
- [変化を促すオブジェクト]

・変化するオブジェクト
- 事前条件
- 事後条件

・ [時刻あるいは時間間隔]
- [手段]
- [その他]

〈変化を伴わない事象〉
- [事象を促すオブジェクト]

・事象の主題となるオブジェクト
- 事象の内容

$\cdot$ [時刻あるいは時間間隔
- [手段］
- [その他 $]$

上記で，変化（あるいは事象）を促すオブジェク トとは, 使役を表すためのものであり, 変化する (あ るいは事象の主題となる）オブジェクト以外のオブ ジェクトが事象を引き起こす場合に，事象を引き起 こすオブジェクトを示すものである.

事前条件と事後条件は, ESO [11]でも使用されて いる概念であり，事象の前後で変化する属性や関係 を表現するものである．変化を伴わない事象の内容 については，同時には成立しない事象の集合（例え ば，「歩く」と「走る」等）を規定するものとする.手段等の他の項目についても，同時に使われること のない（すなわち排他的な）值の集合を定めるもの とする.これらは, 矛盾検出のための辞書が満たす べき条件である.

例えば，「太郎は昨日大阪から東京に移動した」 という文は変化を伴う事象を表していて，以下の要素によって表される。これは, FrameNet の Self_motion フレームに概ね相当する.

・変化するオブジェクト：太郎（人間クラス）
- 事前条件 : 所在地 $=$ 大阪
- 事後条件 : 所在地 $=$ 東京
- 時刻：昨日

## 5 矛盾検出の例

ここでは，本稿の方法によって検出できる矛盾の 例を示す.

・「太郎は役所に勤めている」対「太郎は会社に 勤めている」

この矛盾は，（このドメインにおいては）人間ク ラスのオブジェクトが雇用主を一つしか持てないこ とと組織クラスの組織種別名が排他的であることに より検出できる.

-「太郎は大阪に行った」対「太郎は東京にいる」

この矛盾は，（太郎が大阪から東京に戻ったとい う情報がないかぎり）人間クラスの所在地の多重度 が 1 であることにより検出できる。ただし, 厳密に 言えば，この矛盾検出のためには，東京と大阪は排他的な場所であるという世界知識が必要になる。

## 6 考察

## 6. 1 他の辞書やオントロジーとの関係

本稿では，新しい辞書の構築方法を提示したが，既存の様々な辞書との関係も考慮する必要がある.一つの辞書であらゆる分野や用途をカバーできれば 理想的であるが，それは現実的ではないので，以下 のような方法が望ましい.

ドメインモデルで使われるクラス，属性，関係な どの概念は，SUMO [13]等の上位オントロジーで定義されているものを使用するか，これらの上位オン トロジーとの対応関係を示すべきである. 状態と事象については, FrameNet [1]のフレームに概ね対応す るが，厳密な一対一の対応ではないので，両者間の 対応関係を詳しく示すべきである.

## 6. 2 将来の課題

[7]や[9]で指摘されているように，A と B が矛盾 しているかどうかを検出するためには，A と B が共 に同一の事物について言及しているかどうかの確認 が必要である.これは必ずしも容易な問題ではなく,辞書だけで解決できる問題でもないが，何らかの解決策が必要である。また，本稿では常識のみを利用 したが，これに世界知識を組み込むための取り組み も必要である。本稿では，推論の一例として矛盾検出を取り上げたが，他の推論のタイプに適用できる 手法も開発すべきである. さらに，ここで提示した 辞書を機械で処理できる形式で表現する方法も必要 であるが，このためには筆者の別の研究[14]等を利用する予定である.

## 7 おわりに

本稿では，矛盾の検出を支援するための辞書（あ るいはオントロジー）の構築方法の一例を示した.本方式の特徴は，まずドメインモデルを構築し，そ れ以外の概念は全てドメインモデルに準拠して定義 することである．ただし，本稿で示したのは大まか な構想のみであり，詳細は今後詰める必要がある. また，第 6 節で示したように今後解決すべき課題も 多い. 本稿で強調したいことは，辞書やオントロジ 一は使用目的に合致するように「設計」すべきであ ることである．実社会で役に立つような研究が今後 ますます盛んになることを願っている。

## 参考文献

[1] Josef Ruppenhofer, Michael Ellsworth, Miriam R. L. Petruck, Christopher R. Johnson, Collin F. Baker and Jan Scheffczyk, FrameNet II: Extended Theory and Practice, 2016.

[2] Christiane Fellbaum, WordNet: an electronic lexical database, MIT Press, 1998.

[3] 山田隆弘, “バックキャスティングによる技術開発の すすめ”, ISAS ニュース, JAXA 宇宙科学研究所, No. 488 (2021 年 11 月), p. 8, 2021.

[4] Franz Baader, Diego Calvanese, Deborah L. McGuinness, Daniel Nardi and Peter F. PatelSchneider, The Description Logic Handbook: Theory, Implementation and Applications, Second Edition, Cambridge University Press, 2010.

[5] Michael Blaha and James Rumbaugh, ObjectOriented Modeling and Design with UML, Second Edition, Prentice Hall, 2005.

[6] 山田隆弘, “公理としてのドメインモデルに基づ く意味の規定について," 第 31 回人工知能学会全国大会, 2017.

[7] Sanda Harabagiu, Andrew Hickl and Finley Lacatusu, "Negation, Contrast and Contradiction in Text Processing," Proceedings of the Twenty-First National Conference on Artificial Intelligence (AAAI-06), pp. 755-762, 2006.
[8] Marie-Catherine de Marneffe, Anna N. Rafferty and Christopher D. Manning, "Finding Contradictions in Text," Proceedings of ACL-08: HLT, 2008.

[9] Aikaterini-Lida Kalouli, Livy Real and Valeria de Paiva, "Correcting Contradictions," Proceedings of the Computing Natural Language Inference Workshop, 2017.

[10] 外園康智, 長谷川貴博, 渡邊知樹, 馬目華奈, 策有紀子, 谷中瞳, 田中リベカ, Pascual MartínezGómez, 峯島宏次, 戸次大介, “意味解析システ ム ccg2lambda による金融ドキュメント処理,”第 32 回人工知能学会全国大会, 2018 .

[11] Roxane Segers, Piek Vossen, Marco Rospocher, Luciano Serafini, Egoitz Laparra and German Rigau, "ESO: a Frame based Ontology for Events and Implied Situations," Proceedings of MAPLEX 2015, 2015.

[12] Grady Booch, James Rumbaugh and Ivar Jacobson, "The Unified Modeling Language User Guide," Second Edition, Addison-Wesley, 2005.

[13] Ian Niles and Adam Pease, "Towards a Standard Upper Ontology," Proceedings of the 2nd International Conference on Formal Ontology in Information Systems, 2001.

[14] 山田隆弘, “Entity-Relationship モデルに基づいた 知識グラフの構築方法," 第 34 回人工知能学会全国大会, 2020 .
 山田隆弘 ${ }^{1}$ ${ }^{1}$ CONOCIMISTA tyamada99@yahoo.co.jp  