(57)【特許請求の範囲】
【請求項１】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードまたは前記第２のワードを含むページ数を示す選言ページ数を求める段階と、
前記連言ページ数を前記選言ページ数で割る段階と
により前記第１のワードと前記第２のワードとの間の基本類似性を計算する段階を含む、方法。
【請求項２】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードを含むページ数を示す第１のワードページ数を求める段階と、
前記連言ページ数を前記第１のワードページ数で割る段階と
により前記第２のワードがあるときの前記第１のワードの有向類似性を計算する段階を含む、方法。
【請求項３】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記複数のワードから選択された各ワードペアに対して、前記各ワードペアのワード間の有向類似性を計算して複数の有向類似性を求める段階と、
前記有向類似性の平均を計算する段階と
により前記第１のワードの平均類似性を計算する段階を含む、方法。
【請求項４】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第２のワードに対する前記第１のワードの有向類似性を計算する段階と、
前記第２のワードの平均類似性を計算する段階と、
前記第２のワードに対する前記第１のワードの有向類似性から前記第２のワードの前記平均類似性を引く段階と
により前記第２のワードに対する前記第１のワードの差分類似性を計算する段階を含む、方法。
【請求項５】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により逆インデックスリストを記憶する段階をさらにコンピュータが実行する、方法。
【請求項６】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記逆インデックスリストの各要素に対して
前記各要素を複数のビット値を含むバイナリ値として表す段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と、
前記各要素から最小項を構成する段階と、
前記最小項のＯＲ演算により前記ブーリアン関数を構成する段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により逆インデックスリストを記憶する段階をさらにコンピュータが実行する、方法。
【請求項７】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記逆インデックスリストの各要素に対して
複数の２ｋ進桁を有する２ｋ進値として前記各要素を表す段階と、
各２ｋ進桁をエンコードして複数のビット値を有するエンコードされた２ｋ進桁を求める段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により逆インデックスリストを記憶する段階をさらにコンピュータが実行する、方法。
【請求項８】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
ブーリアン関数により前記逆インデックスリストを表す段階と、
前記バイナリ・ディシジョン・ダイアグラムの複数のノードを求める段階と、
各ノードのノード構成を決定する段階と
により前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により逆インデックスリストを記憶する段階をさらにコンピュータが実行する、方法。
【請求項９】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１の逆インデックスリストと前記第２の逆インデックスリストとを検索する段階は、さらに、
前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムを探索する段階と、
前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索する段階と
を含む、方法。
【請求項１０】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とをコンピュータが実行する方法であって、
前記第１の逆インデックスリストと前記第２の逆インデックスリストとを検索する段階は、さらに、前記第１の逆インデックスリストまたは前記第２の逆インデックスリストの終わりに到達するまで、
前記第１の逆インデックスリストまたは前記第２の逆インデックスリストを含むカレント逆インデックスリストのカレント要素を求める段階と、
他の逆インデックスリストから次に大きい要素を読み出す段階と、
前記次に大きい要素と前記カレント要素とを比較する段階と、
前記次に大きい要素が前記カレント要素と一致した場合、共通の要素を記録する段階と
を繰り返すことにより、前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムと、前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索する段階を含む、方法。
【請求項１１】
コンピュータに、
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索する段階と、
検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階と
を実行させるためのソフトウェアを記憶したコンピュータ読み取り可能な記憶媒体であって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
（ｉ）前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードまたは前記第２のワードを含むページ数を示す選言ページ数を求める段階と、
前記連言ページ数を前記選言ページ数で割る段階と
により前記第１のワードと前記第２のワードとの間の基本類似性を計算する段階；
（ｉｉ）前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードを含むページ数を示す第１のワードページ数を求める段階と、
前記連言ページ数を前記第１のワードページ数で割る段階と
により前記第２のワードがあるときの前記第１のワードの有向類似性を計算する段階；
（ｉｉｉ）前記複数のワードから選択された各ワードペアに対して、前記各ワードペアのワード間の有向類似性を計算して複数の有向類似性を求める段階と、
前記有向類似性の平均を計算する段階と
により前記第１のワードの平均類似性を計算する段階；
（ｉｖ）前記第２のワードに対する前記第１のワードの有向類似性を計算する段階と、
前記第２のワードの平均類似性を計算する段階と、
前記第２のワードに対する前記第１のワードの有向類似性から前記第２のワードの前記平均類似性を引く段階と
により前記第２のワードに対する前記第１のワードの差分類似性を計算する段階、
のうちのいずれか一つを含む、コンピュータ読み取り可能な記憶媒体。
【請求項１２】
有体記憶媒体に記憶され、言語のワードを含むページを示す逆インデックスリストを各ワードごとに複数含む逆インデックスにアクセスし、第１のワードに対応する第１の逆インデックスリストと、第２のワードに対応する第２の逆インデックスリストとを検索し、検索された前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算し、
前記検索する段階と類似性を計算する段階を、複数のワードから選択されたワードペアごとに処理し、前記類似性を類似性マトリックスに記録する手段と、
前記類似性マトリックスをレポートする手段と
を有するシステムであって、
前記第１のワードと前記第２のワードとの間の前記類似性を計算する処理は、
（ｉ）前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードまたは前記第２のワードを含むページ数を示す選言ページ数を求める段階と、
前記連言ページ数を前記選言ページ数で割る段階と
により前記第１のワードと前記第２のワードとの間の基本類似性を計算する段階；
（ｉｉ）前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードを含むページ数を示す第１のワードページ数を求める段階と、
前記連言ページ数を前記第１のワードページ数で割る段階と
により前記第２のワードがあるときの前記第１のワードの有向類似性を計算する段階；
（ｉｉｉ）前記複数のワードから選択された各ワードペアに対して、前記各ワードペアのワード間の有向類似性を計算して複数の有向類似性を求める段階と、
前記有向類似性の平均を計算する段階と
により前記第１のワードの平均類似性を計算する段階；
（ｉｖ）前記第２のワードに対する前記第１のワードの有向類似性を計算する段階と、
前記第２のワードの平均類似性を計算する段階と、
前記第２のワードに対する前記第１のワードの有向類似性から前記第２のワードの前記平均類似性を引く段階と
により前記第２のワードに対する前記第１のワードの差分類似性を計算する段階、
のうちのいずれか一つを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は辞書分析に関し、より具体的にはワードの類似性を用いたオントロジーの自動生成に関する。
【背景技術】
【０００２】
データのコーパス（corpus）は大量の情報を保持し、関連する情報を見つけるのは困難である。キーワード検索が情報を見つける主な方法である。しかし、場合によっては、キーワード検索は情報を見つける効果的な方法ではない。
［関連出願］
本願は、デイビッド・マービットらにより２００７年１０月５日に出願された米国仮出願第６０／９７７，７７０号、発明の名称「ワードの類似性を用いたオントロジーの自動生成」、代理人管理番号第０７３３３８．０５４４号の米国特許法第１１９条（ｅ）項の利益を主張するものである。
【発明の開示】
【課題を解決するための手段】
【０００３】
一実施形態では、オントロジーの生成には、言語のワードの逆インデックスリストを含む逆インデックスへのアクセスを含む。あるワードに対応する逆インデックスリストは、そのワードを含むページを示すものである。ワードペアは第１のワードと第２のワードとを含む。第１の逆インデックスリストと第２の逆インデックスリストとを検索する。第１の逆インデックスリストは第１のワードに対応し、第２の逆インデックスリストは第２のワードに対応する。第１のワードと第２のワードの間の類似性（affinity）を第１の逆インデックスリストと第２の逆インデックスリストとにより計算する。類似性は第１のワードと第２のワードとの間の関係を数量的に記述する。類似性を類似性マトリックスに記録し、その類似性マトリックスをレポートする。
【発明を実施するための最良の形態】
【０００４】
実施形態では、ドメイン・オントロジー（domain  ontology）の生成と問い合わせには次のものを含む：
１．  ドメイン内の文書の収集
実施形態では、文書はターム（collection  of  terms）の集まりである。文書とは、例えば新約聖書などの可読テキストである。文書は、必ずしも物語形式のテキストでなくてもよく、例えば画像コンテンツを個別かつ集合的に記述する一組のユーザ入力タグであってもよい。文書の集まりを「ドメイン・コーパス（domain  corpus）」と呼ぶ。
２．  ドメイン内の関心ターム（「辞書ターム」）の特定
ターム（terms）の例には、ワード（「木」など）、フレーズ（「グラフ・アルゴリズム」など）、ネームド・エンティティ（named  entity）（「ニューヨーク」など）が含まれる。ターム（または概念）は違った形式を取りうる。場合によっては、同じ概念を表すのに異なるワード（words）を使用する。例えば、「kidney  stones」と「kidney  calculi」は両方とも同じ概念、すなわち「腎臓結石」を指す。また、場合によっては、語幹から多数の派生語（inflected  variants）が生じる。例えば、語幹「tree」からは「木」や「木々」などの派生語がある。実施形態によっては、同じターム（term）の複数の形態（forms）を、同じタームにマッピングしたものとして取り扱う。適切な形態の辞書タームが文書に出てくるかも知れないが、その辞書タームがどの文書にも出てこなくてもよい。
【０００５】
辞書タームの特定方法の例には、例えば、医学用語辞典等である人が作成した特定分野の辞書を用いる段階が含まれる。実施形態によっては、辞書タームのリストをコーパス（corpus）中のテキスト（a  set  of  strings  of  text）から自動的に作成してもよい。テキストを頻度によりインデックスしてもソートしてもよいし、ある閾値より頻度が高いテキストを選択してもよい。その他の適切な統計的方法を用いてターム（terms）を決定してもよい。実施形態によっては、「ワード（word）」は「ターム（term）」や「辞書ターム（dictionary  term）」と読み替えてもよい。
３．  共起コンテキストにおける辞書タームの共起数を計算する。
【０００６】
２つのタームは、各ターム語が同じ共起コンテキスト内に少なくとも１回出現するとき、共起（co-occur）したものとする。共起コンテキストの例としては文書や段落がある。
４．  ドメイン・オントロジーとなる有向重みつきグラフを作成する。
【０００７】
その有向重みつきグラフは、ノードとして辞書タームを含み、エッジ（edges）の重みとして類似性（affinities）を含む。マトリックス、バイナリ・ディシジョン・ダイアグラム、またはバイナリ・ディシジョン・ダイアグラムの集合等の適切なデータ構造で表しうる情報を、実際的な表示として「有向重みつきグラフ」を用いて表すことができる。
５．  有向重みつきグラフを問い合わせる手順を適用する。
【０００８】
辞書タームを入力すると、その入力した辞書タームに関係する辞書タームがその手順により出力される。例えば、この手順により、入力されたタームに対して、差分有向類似性（以下に説明する）（differential  directional  affinity）を有するタームがソートされたリストとして出力される。この場合、その出力には、オントロジーが取り扱う領域に関して、より密接に入力されたタームに関係するタームが含まれている。
【０００９】
任意の適切な類似性の定義を用いることができる。実施形態によっては、次の定義を用いてもよい：
１．  基本類似性
ａ）  タームＡとタームＢとの間の基本類似性を、そのタームＡまたはＢのいずれかを含むコンテキスト数に対する、タームＡ及びＢを両方とも含むコンテキスト数の比として定義する。
【数１】
0005338238.tif 000002
ｂ）  タームＡとタームＢとの間の基本類似性（Ａ）を、タームＡまたはＢのいずれかを含むコンテキスト数の大きい方に対する、タームＡ及びＢを両方とも含むコンテキスト数の比として定義してもよい。
【数２】
0005338238.tif 000003
【００１０】
２．  有向類似性
タームＡとタームＢとの間の有向類似性（ＤＡｆｆ）を、コンテキスト中にタームＡが出現することを条件として、タームＢが出現する条件付き確率として定義してもよい。
【数３】
0005338238.tif 000004
すなわち、有向類似性は、タームＡを含むコンテキストに対する、タームＡとＢを両方とも含む共起コンテキストの数である。一般的にＤＡｆｆ（Ａ，Ｂ）とＤＡｆｆ（Ｂ，Ａ）とは異なる。
【００１１】
３．  差分有向類似性
タームＡとタームＢとの間の差分有向類似性（ＤｉｆｆＤＡｆｆ）は、タームＡとＢとの間の有向類似性から、コーパスにおけるタームＢの一般性（common-ness）を示すファクタを引いたものとして定義してもよい。コーパスにおけるタームＢの一般性は、そのコーパス中の他のタームに対するタームＢの基本類似性または有向類似性の統計値である。一実施形態では、コーパスにおけるタームＢの一般性（common-ness）は、タームＢの平均類似性（ＡＡ）である。その場合、差分有向類似性の定義は次のようになる：
【数４】
0005338238.tif 000005
タームＢの平均類似性（ＡＡ）すなわち平均有向類似性は次式で定義される：
【数５】
0005338238.tif 000006
すなわち、平均類似性は共起コンテキストにおける他のタームに対するタームＢの有向類似性の平均である。
【００１２】
図１は、言語のワード間の類似性からその言語のオントロジーを生成するシステム１０の一実施形態を示す図である。言語のオントロジーはその言語のワードと、そのワード間の関係とを表す。ワード間の類似性はそのワード間の関係を示す。一実施形態では、システム１０は類似性を数量値として計算する。その数量値を用いて類似性マトリックスと類似性グラフを生成する。これらは言語のオントロジーとして機能する。
【００１３】
類似性の例には基本類似性、有向類似性、平均類似性、差分類似性、その他の類似性が含まれる。実施形態では、ワードＡとＢとの間の有向類似性ＤＡを、Ａがあるときの、Ｂがある条件付き確率として定義する。すなわち、
【数６】
0005338238.tif 000007
【００１４】
実施形態によっては、有向類似性はワードのサブセット（subset）が与えられた時にその逆インデックスＩＩに対して計算することもできる。ここで、インデックスＩＩには例えばワードｗｉとｗｊのエントリーＩ（ｗｉ）とＩ（ｗｊ）が含まれる。Ｄ中のワードｗｉとｗｊの各ペアに対して、ＤＡ（ｉ，ｊ）は、ＩＩ中のエントリーＩ（ｗｉ）、Ｉ（ｗｊ）を結合し、Ｉ（ｗｉ）中の値の数で割った値として定義される。一般的に、ＤＡ（ｉ，ｊ）はＤＡ（ｊ，ｉ）に必ずしも等しいとは限らない。その結果は任意の適切な方法で格納できる。例えば、Ｄ（１，ｉ）を格納し、次にＤ（２，ｊ）を格納し、以下同様に格納するように行ごとに格納できる。各行ｉについて、｜Ｉ（ｗｉ）｜を格納し、その後にｗｊとの結合（conjunction）の濃度を格納する。
【００１５】
実施形態によっては、有向類似性は３段階で計算できる。段階０では、Ｄに対応するＩＩのエントリーを読み出す。パラメータ（ｓ，ｏ）に対して、その形式がｋｓ＋ｏである要素を保存する。この段階により逆インデックスの非常に大きなＤＡテーブルの計算も可能となる。段階１では、ＤＡ（ｉ，ｊ）のみに対して行ごとに結合を計算する。段階２では、計算された上部三角領域のＵＴ  ＤＡ配列を読み出す。下部三角領域は、上記三角領域からその転置として求められる。実施形態では、同じ次元の複数のＤＡ配列をひとつの配列に結合してもよい。大きなＩＩのＤＡ配列は、パラメータを（ｓ，ｉ）としてｉ＝０．．（ｓ−１）にわたるＤＡの和として計算できる。
【００１６】
実施形態では、平均類似性（または平均有向類似性）を有向類似性から計算できる。ある実施形態では、平均類似性ＡＡベクトルを特定の有向類似性ＤＡ配列に基づいて計算できる。
【数７】
0005338238.tif 000008
【００１７】
ある実施形態では、ＤＡを行ごとに記憶し、ＡＡのエントリーに対する計算を並行して進めてもよい。具体的に、ＤＡの行をディスクから読み出しつつ加算し、最後に辞書エントリーの数で規格化することによってＡＡを生成する。
【００１８】
ある実施形態では、ワードｗｉとｗｊとの間の差分類似性ＤｉｆｆＡｆｆ（または差分有向類似性ＤｉｆｆＤＡｆｆ）を次式で定義する：
【数８】
0005338238.tif 000009
【００１９】
図示した実施形態において、システム１０はクライアント２０、サーバ２２、及びメモリ２４を含む。ユーザは、クライアント２０によりサーバ２２と通信して、言語のオントロジーを生成する。クライアント２０は、ユーザ入力をサーバ２２に送信し、サーバ出力をユーザに提供（例えば、表示や印刷）する。サーバシステム２４は言語のオントロジーを生成するアプリケーションを管理する。メモリ２４はサーバシステム２４が使うデータを記憶する。
【００２０】
メモリ２４はページ５０とレコード５４を記憶する。ページ５０（または文書）はワード（word）及び／または画像の集まりである。ワードは、具体的な意味を有するキャラクタ（例えば、文字、数字、スペース、句読点）を含む。ワードの例には「サンフランシスコ」、「植物」、「ノンストップ」、「Ｎ９ｎｅ」などがある。画像のあるページは、その画像に付随するタグその他のメタデータを用いて分析してもよい。
【００２１】
ページ５０の例としては、ワード、パラグラフ、ページ、セクション、チャプター、文書、ブック、ウェブページ、通信（例えば電子メールやインスタントメッセージ）その他のワードの集まりが含まれる。すなわち、文書はワード、パラグラフ、セクション、画像、ページ、従来の文書、チャプター、ページセクション、ブック、ウェブページ、電子メール、メッセージ、ウェブログ等である。ページ５０はページ識別子により識別できる。ある実施形態では、一組のページ５０がコーパス（corpus）に属している。コーパスは特定の主題、コミュニティ、組織、エンティティ（entity）に関連している。
【００２２】
レコード５４はページ５０を記述する。本実施形態では、レコード５４は、インデックス５８、逆インデックス６２、オントロジー６６を含む。インデックス５８はインデックスリストを含み、ページ５０のインデックスリストはページ５０のワードを示す。逆インデックス６２は逆インデックスリストを含み、あるワード（または一組のワード）の逆インデックスリストはそのワード（または一組のワード）を含むページ５０を示す。一実施例では、リストＷｉはワードｗｉを含むページ５０のページ識別子を含む。リストＷｉ＆Ｗｊはワードｗｉとｗｊを両方とも含む連言ページ（conjunction  pages）５０のページ識別子を含む。リストＷｉ＋Ｗｊはワードｗｉまたはｗｊのいずれかを含む選言ページ（disjunction  pages）５０のページ識別子を含む。Ｐ（Ｗｉ）はＷｉのページ５０の数、すなわちワードｗｉを含むページ５０の数である。
【００２３】
一実施形態では、リスト（インデックスリスト、逆インデックスリスト等）はバイナリ・ディシジョン・ダイアグラム（ＢＤＤ）として記憶される。一実施例では、集合Ｗｉのバイナリ・ディシジョン・ダイアグラムＢＤＤ（Ｗｉ）はワードｗｉを有するページ５０を表す。ＢＤＤ（Ｗｉ）の十分割当カウント（satisfying  assignment  count）Ｓａｔｉｓｆ（ＢＤＤ（Ｗｉ））によりワードｗｉを有するページ５０の数Ｐ（Ｗｉ）が求まる。
【数９】
0005338238.tif 000010
【００２４】
したがって、
【数１０】
0005338238.tif 000011
【００２５】
ＢＤＤとしてのリストの記憶は、後でより詳しく説明する。
【００２６】
オントロジー６６は言語のワードとそのワード間の関係を表すものである。一実施形態では、オントロジー６６はワード間の類似性（affinities）を表す。図示した実施例では、オントロジー６６は類似性マトリックス７０と類似性グラフ７４を含む。類似性マトリックス７０の例を図３乃至図５を参照して説明する。類似性グラフ７４の例を、図６を参照して説明する。
【００２７】
サーバ２２はディシジョン・ダイアグラム・エンジン２６を含む。ある実施形態では、ディシジョン・ダイアグラム・エンジン２６はリスト（インデックスリストや逆インデックスリスト）をＢＤＤとして記憶する。一実施形態では、リストを圧縮して、バイナリ・ディシジョン・ダイアグラム（ＢＤＤ）として記憶する。リストは任意の適切な方法で圧縮することができる。一実施形態では、リストの要素をサイズに応じてソートして、ソート済みリストを作成し、そのソート済みリストの要素のペアごとの差異を計算して、ペアごとの差異リストを作成する。ペアごとの差異リストの要素をγ符号化し、γ符号化済みリストを作成する。例えば、リスト［２３，１２５，３７，５４，８６，３３］について、ソート済みリストは［２３，３３，３７，５４，８６，１２５］となり、ペアごとの差異リストは［２３，１０，４，１７，３２，３９］となる。
【００２８】
ペアごとの差異リストの要素ｘを符号化するため、各要素ｘ＞０を２ｅ＋ｍに分解（factor）する。ここで、
【数１１】
0005338238.tif 000012
である。ｘのγコードは、単項式の（ｅ＋１）に２進数ｍを連続したもの（concatenation  of  (e+１)  in  unary  with  m  in  binary）である。例えば、ｘ＝１３＝２３＋５の場合、ｅ＝３かつｍ＝５である。（ｅ＋１）の単項式表示（unary  representation）は１１１０であり、ｍの２進表示は１０１であるから、ｘのγコードは１１１０１０１である。上記のリスト例のγコード化リストは、
【数１２】
0005338238.tif 000013
【００２９】
ディシジョン・ダイアグラム・エンジン２６は任意の適切な方法でインデックスをＢＤＤとして記憶する。一実施形態では、インデックスリストをブーリアン関数で表し、ブーリアン関数をＢＤＤで表す。リストは任意の適切な方法でブーリアン関数として表すことができる。リストを表す方法の一例では、そのリストの各要素を、ビット値ｂ１．．．ｂｉ．．．ｂｎを有するバイナリ値として表す。各バイナリ値を変数ｘ１．．．ｘｉ．．．ｘｎで表す。各変数ｘｉはビット値ｂｉを表す。例えば、リスト［２３，３３，３７，５４］はバイナリで［０１０１１１，１００００１，１００１０１，１１０１１０］と表せる。上記リストはブーリアン関数で表せる：
【数１３】
0005338238.tif 000014
【００３０】
他の例として、リスト［８，１１，１２，１５］はバイナリで［１０００，１０１１，１１００，１１１１］と表せる。上記リストはブーリアン関数で表せる：
【数１４】
0005338238.tif 000015
【００３１】
リストを表す方法の他の一例では、そのリストの各要素を、２ｋ進桁の値として２ｋ進で表す。各２ｋ進桁をワン・ホット・エンコーディング（one-hot  encoded）し、ビット値ｂｉを求める。次いで、ビット値を変数ｘｉで表す。例えば、２２進では、要素５４は３１２であり、２２進桁は３，１，２である。各２ｋ進桁をワン・ホット・エンコーディング（one-hot  encoded）し、ビット値１０００：００１０：０１００を求める。要素５４はブーリアン関数でエンコードできる：
【数１５】
0005338238.tif 000016
【００３２】
この方法で使用する変数の数は大きいが、この方法により特に、負のリテラルをより効率的に保存するＺＤＤでは、共有が向上し（improved  sharing）表示がよりコンパクトになる。実施形態では、ブーリアン関数の構成には、各要素から最小項（minterm）を構成し、その最小項のＯＲをとる。
【００３３】
ディシジョン・ダイアグラム・エンジン２６は任意の適切な方法でＢＤＤによりブーリアン関数を表す。ＢＤＤの一例を、図２を参照してより詳細に説明する。
【００３４】
図２はＢＤＤの一例８０を示す図である。図示した実施形態において、ＢＤＤ８０はブール関数ｆを表すルートを有する有向非巡回グラフ（rooted  directed  acyclic  graph）（ＤＡＧ）である。ＢＤＤ８０はターミナルノード８２とディシジョンノード８４（１つのディシジョンノードはルートノードである）とを含む。ターミナルノード８２は０ターミナルと１ターミナルとを含み、それぞれブーリアン関数０と１を表している。ディシジョンノード８４は副関数（sub-function）ｆに対応し、ブール変数ｖ＝ｘｉでラベルされている。非ターミナルノード８４は、それから出て子ノードに向かう１エッジ８６と０エッジ８８を有する。１エッジ８６は関数ｖ・ｆを表すサブＢＤＤ（sub-BDD）を指し、０エッジ８８は関数
【数１６】
0005338238.tif 000017
を表すサブＢＤＤを指している。言い換えると、１エッジは１にｖを割当ることを表し、０エッジは０にｖを割り当てることを表す。
【００３５】
ルートノードから１ターミナルまでのパスは、ブーリアン関数を１に設定する一組の変数割当を表す。ルートノードから０ターミナルまでのパスは、ブーリアン関数を０に設定する一組の変数割当を表す。
【００３６】
図示した例では、ＢＤＤ８０はｘ１ノード８４から、１のターミナルノード８２までの、パス９０（９０ａ，ｂ）により示された関数ｆを表す。上記の例では、パス９０ａと９０ｂにより関数
【数１７】
0005338238.tif 000018
が得られる。これは上記の通りリスト［８，１１，１２，１５］を表している。
【００３７】
図１に戻り、ディシジョン・ダイアグラム・エンジン２６は任意の適切なＢＤＤを用いてリストを記憶する。ＢＤＤの例としては、縮小順序付きＢＤＤ（ＲＯＢＤＤ、reduced  ordered  BDD）、パーティションされた順序付きＢＤＤ（ＰＯＢＤＤ、partitioned  ordered  BDD）、ゼロ削除ディシジョン・ダイアグラム（ＺＤＤ、zero-suppressed  decision  diagrams）、ナノＢＤＤ（ｎａｎｏＢＤＤ）、ゼロ削除ナノＢＤＤ（ｎａｎｏＺＤＤ、zero-suppressed  nano  BDD）、その他の好適なバイナリ・ディシジョン・ダイアグラム、及び／またはこれらの組み合わせがある。ＲＯＢＤＤでは、同型のサブグラフはなく、ＢＤＤのルートノードからターミナルノードまでの変数の順序はすべてのパスで同じである。ＺＤＤでは、ノードが負のリテラル（negative  literal）であるとき、そのノードは除外される。他のＢＤＤでは、ノードのエッジが両方とも同じノードを指しているとき、そのノードは除外される。他のタイプのＢＤＤの例は以下により詳しく説明する。
【００３８】
実施形態では、ディシジョン・ダイアグラム・エンジン２６はＢＤＤをコンパクト化してＢＤＤを生成する。一実施形態では、ディシジョン・ダイアグラム・エンジン２６は、変数の順序を破棄し、ポインタが示す位置をそのポインタの値と親ノードの位置の両方と相関させることによりＢＤＤをコンパクト化する。実施形態では、ノードの構造には変数識別子（ＩＤ）、ＴＨＥＮ／ＥＬＳＥポインタ、０エッジポインタが含まれる。変数ＩＤはノードのラベルである。実施形態では、Ｓ個のノードのラベルには少なくともｎビット（２ｎ＝Ｓ）が必要である。一例として、ＢＤＤがＳ＝３２個のノードを有するとする。ここで、Ｓはノード数を表す。この例では、２５＝３２であるから、３２個のノードのラベルとして少なくとも５ビットが必要である。ＴＨＥＮ／ＥＬＳＥポインタは子ノードを指す。一部の実施形態では、ＴＨＥＮポインタは１エッジポインタであり、ＥＬＳＥポインタは０エッジポインタである。実施形態では、ノード構造には、０削除によりそのノードがネゲートされるかどうかを示す０エッジネゲートフラグ（０-edge  negated  flag）を含む。ディシジョン・ダイアグラムがＺＤＤであるとき、ノード構造は０エッジネゲートフラグを含む必要はない。
【００３９】
上記の例では、ＢＤＤの各子ノードで使用する最小情報は次の通りである：
【数１８】
0005338238.tif 000019
【００４０】
ディシジョン・ダイアグラム・エンジン２６はＢＤＤの各ノードが利用するバイト数を示す。上記の例では、各ノードは
【数１９】
0005338238.tif 000020
バイトを必要とする。
【００４１】
実施形態では、ディシジョン・ダイアグラム・エンジン２６はＢＤＤをさらにコンパクト化する。ＢＤＤをさらにコンパクト化するために、ディシジョン・ダイアグラム・エンジン２６は、ＴＨＥＮ／ＥＬＳＥポインタ用のｌｏｇ（Ｓ）ビットをドロップし、各ポインタの値と親ノードの値（または位置）を、そのポインタが指す位置に相関させる。かかる条件の下、各ポインタに１または２バイトのみを割り当てることにより、ノードごとのメモリ必要量を削減する。
【００４２】
実施形態では、ディシジョン・ダイアグラム・エンジン２６は、ディシジョン・ダイアグラムをコンパクト化し、ダイアグラムが大きくなるのに合わせて、ディシジョン・ダイアグラムを記憶するテーブルの大きさを適宜調節する（及びノードごとにより多くのビットを割り当てる）。ある実施形態では、ディシジョン・ダイアグラム・エンジン２６は、コンパクト・デシジョン・ダイアグラムとしてディシジョン・ダイアグラムの構成を開始する。ディシジョン・ダイアグラム・エンジン２６は、大きさを変えるのではなく、グラフ構成に直接的に分割・合成を行って、コンパクト・デシジョン・ダイアグラムを縮小されていないダイアグラムに直接的に変換することもできる。
【００４３】
一部の実施形態では、コンパクト・デシジョン・ダイアグラムにより並列プラットフォーム間の通信が容易になる。一例では、第１のプラットフォームは第２のプラットフォームと並行して動作する。第１のプラットフォームはディシジョン・ダイアグラムを生成して、第２のプラットフォームに送信するためにそのディシジョン・ダイアグラムをコンパクト化して、コンパクト化したディシジョン・ダイアグラムを第２のプラットフォームに送信する。第２のプラットフォームは、そのコンパクト化したディシジョン・ダイアグラムから、第２のプラットフォームで処理するディシジョン・ダイアグラムを再構成できる。
【００４４】
ある実施形態では、ナノディシジョン・ダイアグラム（ｎａｎｏＤＤ）を使用する。変数とＢＤＤのノードの位置を記述するノード構造を用いてそのＢＤＤを記憶する。ｎを変数の数とし、ｄをノードの数とすると、
【数２０】
0005338238.tif 000021
ビットあればノードのラベルとなる変数をインデックスするのに十分である。さらに、メモリにノードを連続して格納する場合、
【数２１】
0005338238.tif 000022
ビットあればノードの位置を特定するのに十分である。
【００４５】
ナノＤＤのノードは次のように構成される：
【数２２】
0005338238.tif 000023
【００４６】
したがって、１つのナノＤＤノードだけで２ｓｄ＋ｓｎビットを使う。
【００４７】
ノードは深さ優先探索（depth-first  traversal）の順序で連続的に格納される。深さ優先探索は、ルートノードで始まりターミナルノード１で終わり、０エッジの後に１エッジに行く。従って、depth-first  traversalの時は、情報をナノＤＤから追加的に抽出できる。ターミナルノードは、固定的な仮想的位置が割り当てられるので、明示的に格納する必要はない。
【００４８】
ナノＤＤは、実施形態によってはＢＤＤの任意の適切な適用において有用である。適切な適用例としては、集積回路（ＩＣ）の合成やＩＣの形式的検証等がある。実施形態によっては、ナノＤＤは任意の適切なＢＤＤ演算をサポートする。
【００４９】
実施形態により、より効率的なＢＤＤの記憶が容易になる。実施形態によっては、より効率的なＢＤＤの記憶により、中央処理装置（ＣＰＵ、central  processing  unit）のキャッシュがＢＤＤのより多くのノードを記憶でき、そのＣＰＵによるＢＤＤの処理が容易になる。一部の実施形態により、ＢＤＤを表すグラフの各ノードが必要とするバイト数を削減でき、ＢＤＤのサイズを縮小できる。一部の実施形態により、ＢＤＤのノード数を削減することなく、そのＢＤＤのサイズを削減することが容易になる。一部の実施形態により、ＢＤＤのサイズの低減が容易になるが、ＢＤＤを機能的な処理はしやすい。一部の実施形態により、モバイルタイプの消費者向けアプリケーション（かかるアプリケーションでは、データ圧縮が必要になる場合が多い）におけるＢＤＤの使用が容易になる。
【００５０】
サーバ２２は類似性モジュール３０を含む。類似性モジュール３０はワードのペアの類似性を計算し、その類似性を類似性マトリックス７０に記録し、その類似性マトリックス７０をレポートする。類似性モジュール３０は類似性グラフ７４も生成できる。
【００５１】
類似性モジュール３０は類似性計算器３４、オントロジー生成器３８、及びワード推奨器４８を含む。類似性計算器３４は、ワードｗｉの、または第１のワードｗｉと第２のワードｗｊを含むワードペアの任意の適切なタイプの類似性を計算する。類似性の例には基本類似性、有向類似性、平均類似性、差分類似性、その他の類似性が含まれる。
一実施形態では、ワード推奨器４８は、シード・ワード（seed  word）を受け取り、そのシード・ワードとの類似性が閾値より高いワードを特定する。類似性閾値は任意の適切な値であり、０．２５、０．５、０．７５、０．９５やこれらより大きな値であってもよい。類似性閾値は予めプログラムしても、ユーザが指定してもよい。
【００５２】
基本類似性はワードｗｉ及び／またはｗｊを含むページ５０の量（例えば数）に基づき計算できる。連言ページ量（conjunction  page  amount）はワードｗｉとｗｊを両方とも含むページ５０の量を表し、選言ページ量（disjunction  page  amount）はワードｗｉまたはｗｊのいずれか一方を含むが両方は含まないページ５０の量を表す。基本類似性は連言ページ量を選言ページ量で割って求められる。一実施例では、連言ページ数はワードｗｉとワードｗｊを含むページ数を示し、選言ページ数はワードｗｉまたはワードｗｊのいずれかを含むページ数を示す。基本類似性は連言（conjunction）ページ数を選言（disjunction）ページ数で割って求めることができる。
【数２３】
0005338238.tif 000024
【００５３】
図３は、基本類似性を記録した類似性マトリックス１１０の一例を示す図である。図示した例では、類似性マトリックス１１０はワードｗ１，．．．，ｗ５のペアごとの類似性を記録している。類似性マトリックス１１０によると、ワードｗ０とｗ１の間の類似性は０．００３であり、ワードｗ０とｗ２の間の類似性は０．００５であり、以下同様である。
【００５４】
図１に戻り、類似性グループは相互に類似性が高いワードのペアを含み、この類似性グループを用いてページのコンテンツに対するワードｗ１、ｗ２間の関係を捉える。類似性が類似性グループ閾値よりも高いことを、類似性が高いという。閾値は任意の適切な値であり、０．５０、０．６０、０．７５、０．９０、０．９５より大きな値であってもよい。１つのワードは２つ以上の類似性グループに属してもよい。一実施形態では、類似性グループはＢＤＤとして表すことができる。逆インデックス６２に、ＢＤＤのポインタをそのグループの各ワードとともに格納してもよい。
【００５５】
有向類似性を用いてワードｗｊに対するワードｗｉの重要性を測ることができる。類似性計算器３４は、ワードｗｊが与えられたときのワードｗｉの有向類似性を、ワードｗｉとｗｊを含むページ５０の量（例えば数）から計算する。ワードｗｉページ量は、ワードｗｉを含むページ５０の量を表す。ワードｗｊが与えられたときのワードｗｉの有向類似性は、連言ページ量をワードｗｊページ量で割ったものである。例えば、ワードｗｊページの数はワードｗｉを含むページ５０の数を示す。ワードｗｊが与えられたときのワードｗｉの有向類似性は、連言ページ５０の数をワードｗｉページ５０の数で割ったものである。
【数２４】
0005338238.tif 000025
【００５６】
ＤＡｆｆｉｎｉｔｙ（ｗｉ，ｗｊ）はＤＡｆｆｉｎｉｔｙ（ｗｊ，ｗｉ）と同じではない。ワードｗｉとｗｊの間の有向類似性ＤＡｆｆｉｎｉｔｙ（ｗｉ，ｗｊ）が高いということは、ページ５０がワードｗｊを含むときにそのページ５０がワードｗｉを含む確率が高いということを示す。一例では、ページ［１  ２  ３  ４  ５  ６］がワードｗｉを含み、ページ［４  ２］がワードｗｊを含む。ワードｗｊを含むページがワードｗｉも含むということは、ワードｗｊの観点からは、ワードｗｉの重要性が高いということである。ワードｗｉを含むページの１／３のみがワードｗｊを含むということは、ワードｗｉの観点からは、ワードｗｊの重要性が低いということである。
【００５７】
図４は、ワードｗ０，．．．ｗ５の基本類似性を記録した類似性マトリックス１２０の一例を示す図である。上記の例では、ワード１２４はＡワード、ワード１２８はＢワードである。マトリックス１２０の行はＡワードが与えられたときのＢワードの類似性を記録し、類似性マトリックス１２０の列はＢワードが与えられたときの類似性を記録する。
【００５８】
図１に戻り、他のワードｗｊに対するワードｗｉの平均類似性を計算する。一実施形態では、平均類似性は、ワードｗｉとその他のすべてのワードｗｊとの間の類似性の平均である。他の実施形態では、ワードｗｊがあるときのワードｗｉの条件付き確率Ｐ（ｗｉ｜ｗｊ）から平均類似性を決定する。Ｎ個のワードに対するワードｗｉの平均類似性は次式で表される。
【数２５】
0005338238.tif 000026
【００５９】
図５は、平均類似性を記録した類似性マトリックス１４０の一例を示す図である。行１４２はワード１乃至ワード５０，０００の基本類似性を記録している。行１４４はワード１乃至ワード５０，０００の平均類似性を記録している。
【００６０】
図１に戻り、ワードの平均類似性はそのワードの深さを示す。平均類似性が低いワードは深いワードであると考えられ、平均類似性が高いワードは浅いワードであると考えられる。深いワードは技術的であり、具体的であり、精密であるという傾向がある。深いワードの割合が高いページ５０は深いページであると考えられ、深いワードの割合が低いページ５０は浅いページであると考えられる。一実施形態では、ユーザは検索するワード及び／またはページ５０の深さを指定することができる。
【００６１】
ページ５０の深いワードは関係性が高いワードのクラスターを形成する。クラスターは共通のアイデアやテーマを表す。ページ５０のテーマ数はそのページ５０の具体性（specificity）を示す。テーマが少ないページ５０はより具体的であると考えられ、テーマが多いページ５０はあまり具体的でないと考えられる。
【００６２】
ワードｗｊに対するワードｗｉの差分類似性は、ワードｗｉとｗｊの間の有向類似性からワードｗｊのその他すべてのワードとの平均類似性を引いたものである。差分類似性は次式で表せる：
【数２６】
0005338238.tif 000027
【００６３】
差分類似性は、ページ５０にワードｗｊが出現する一般的な傾向によるバイアスを除去したものである。場合によっては、差分類似性は、ページがワードｗｊを含むときにそのページがワードｗｉを含む確率をより正確に示すものである。
【００６４】
差分類似性は様々な応用ができる。一例では、人の名前の間の差分類似性を用いて社会的ネットワークを研究できる。他の例では、言語要素間の差分類似性を用いて自然言語処理を研究できる。他の例では、製品間の差分類似性を用いてマーケティングを研究できる。
【００６５】
類似性計算器３４は、任意の適切な方法を用いて逆インデックスリストを検索し類似性を計算する。例えば、ワードｗｉとワードｗｊを両方とも含むページを特定するため、類似性計算器３４は、ワードｗｉのリストＷｉとワードｗｊのリストＷｊを検索して共通の要素（すなわち共通のページ識別子）を探す。一実施形態では、リストの最初から始めて、共通の要素を見つけるまで、一度に複数の要素を読み出す。一例として、リストＷ１とＷ２は次の要素を含む：
【数２７】
0005338238.tif 000028
【００６６】
ポインタｐ１，ｐ２は最初に要素１０，１６をそれぞれ指している。ポインタｐ１は、ｐ２が指している要素より小さい要素を指しているので、ｐ１は次の要素２０に進む。今度はポインタｐ２が小さい方の要素を指しているので、ｐ２は１８に進む。要素１８は２０より小さいので、ｐ２は２３に進む。ポインタｐ１が２３に進むと、共通な要素なので、その要素を出力する。この段階で、両方のポインタｐ１，ｐ２はそれぞれ要素４７，４７に進むと、共通な要素である。したがって、要素４７を出力する。ポインタｐ２はリストＷ２の終わりに到達し、これ以上共通の要素は見つからないので、プロセスを終了する。
【００６７】
類似性計算器３４は、ポインタをリストの要素にわたって動かす要素読み出し動作を行ってもよい。要素読み出し動作は、例えば、リストＬの要素Ｅ以上の次の要素を読み出す要素読み出し動作ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，Ｅ）である。上記の動作は検索上重要でない要素はスキップし、検索の効率を上げる。
【００６８】
一例では、ナノＤＤを検索する（traverse）する。ナノＤＤを検索する（traverse）間、配列Ａにその時の変数割当を記録する。深さ優先探索（depth-first  traversal）を行い最初の要素を求める。深さ優先探索は、ルートノードから始めて、ターミナルノード１に到達するまで０エッジをたどる。
【００６９】
演算ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，Ｅ）をコールして次の要素を読み出す。この演算により要素Ｅと配列Ａに共通の変数割当を決定する。この演算は、トップから始めて最初の共通でない変数に到達するまでバックトラック（backtrack）する。共通の割当がなければルートノードを読み出す。この演算は、要素Ｅにより指定された残りの変数割当にしたがってナノＤＤを探索する。
【００７０】
一例では、ＢＤＤ８０に対してｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，要素）演算を行ってもよい。上記の通り、ＢＤＤ８０はリスト［８，１１，１２，１５］をエンコードした関数
【数２８】
0005338238.tif 000029
を表す。パス９０ａは（ｘ１，ｘ２，ｘ３，ｘ４）＝（１，０，０，０）となり、これは最初の要素８である。演算ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，９）により８より大きい次の要素を探索する。（１，０，０，０）と（１，０，０，１）とで最初の３つの変数割当は同じであり、この演算はパス９０ｂに沿って変数ｘ３にバックトラック（backtrack）する。探索により（１，０，１，１）が得られ、これは要素１１である。
【００７１】
一実施形態では、ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，Ｅ）を用いてワードペアを形成する両方のワードを含むページを特定する。上記演算によりワードの逆インデックスリストの共通要素を特定する。ここで、ワードの逆インデックスリストはそのワードを含むページを示す。
【００７２】
一例として、第１のリストが［８，１１，１２，１５］を含み、第２のリストが［７，１３，１５］を含むとする。リストの最初の要素８と７を取得する。要素８は７より大きいので、ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，８）により第２のリストを探索して、要素１３を取得する。要素１３は８より大きいので、ｇｅｔ＿ｎｅｘｔ＿ｅｌｅｍｅｎｔ＿ｇｒｅｑ（Ｌ，１３）により第１のリストを探索する。この演算により、（１，１，０，１）（これは１３に対応する）は（１，０，０，０）（これは８に対応する）と最初の変数のみが共通であることが分かる。この演算は変数ｘ１にバックトラック（backtrack）し、（１，１，０，１）にしたがってＢＤＤ８０を探索し、最終的に（１，１，１，１）で終わる。
【００７３】
ある実施形態では、類似性計算器３４はその他の任意の適切な類似性を計算する。一例として、目的のワードに関する文書の類似性を、その目的のワードとの有向類似性が閾値より高い、その文書中のワードの絶対数から決定する。他の例として、類似性がある値より低い場合はスレッショルド（threshold）される。
【００７４】
ある実施形態では、類似性計算器３４は文書間の類似性を計算する。一例として、ある文書の深いワードと他の文書の深いワードとの間の類似性を計算できる。深いワード（deeper  words）間の類似性をヒストグラムにまとめて、文書間の類似性を求めるのに利用する。同様に、文書と文書の集まりとの間の類似性を求めることもできる。
【００７５】
オントロジー生成器３８は、類似性マトリックス７０や類似性グラフ７４などの、言語のオントロジー６６を生成する。オントロジーは、基本類似性、有向類似性、平均類似性、差分類似性その他の任意の適切な類似性から生成できる。オントロジー６６は、任意の適切な方法で、言語から選択されたワードから生成できる。例えば、その言語の一般的に使用されている部分のワードや、主題領域に関係するワードを選択する。
【００７６】
オントロジー生成器３８は類似性マトリックス生成器４２と類似性グラフ生成器４６を含む。類似性マトリックス生成器４２は、ワード間の類似性を記録する類似性マトリックス７０を生成する。類似性グラフ生成器４６は、ワード間の類似性を表す類似性グラフ７４を生成する。類似性グラフ７４では、ノードはワードを表し、ノード間の距離はそのノードが表すワード間の類似性を表す。類似性グラフ７４は任意の適切な次元数を有する。
【００７７】
図６は、類似性グラフ１５０の一例を示す図である。類似性グラフ１５０はノード１５４とリンク１５８を含む。ノード１５４はワードを表す。この例では、ノード１５４ａはワード「バイナリ（binary）」を表している。ノード１５４間の距離はノード１５４が表すワード間の類似性を表す。例えば、距離が大きければ類似性が大きい。ノード間のリンク１５８は、そのノード１５４が表すワード間の類似性がある類似性閾値より大きいことを示している。類似性閾値は任意の適切な値であり、例えば、０．２５、０．５、０．７５、０．９５であっても、これらより大きな値であってもよい。
【００７８】
図１に戻り、システム１０の構成要素は、インターフェース、ロジック、メモリ、その他の適切な要素を含む。インターフェースは入力を受信し、出力を送信し、入力や出力を処理し、その他の適当な動作を行う。インターフェースはハードウェア及び／またはソフトウェアを含む。
【００７９】
ロジックは、これらの構成要素の動作を行い、例えば、入力から出力を生成する命令を実行する。ロジックはハードウェア、ソフトウェア及び／またはその他のロジックを含む。ロジックは有体媒体にエンコードされ、コンピュータにより実行された時に動作するものであってもよい。プロセッサ等のある種のロジックが構成要素の動作を管理してもよい。プロセッサの例としては、例えば、コンピュータ、マイクロプロセッサ、アプリケーションその他のロジックがある。
【００８０】
メモリは情報を記憶する。メモリは有体の、コンピュータ読み取り可能な、及び／またはコンピュータ実行可能な記憶媒体である。メモリの例には、コンピュータのメモリ（ＲＡＭ、ＲＯＭ等）、大規模記憶媒体（ハードディスク等）、リムーバブル記憶媒体（ＣＤ、ＤＶＤ等）、データベースやネットワーク記憶装置（サーバ等）、その他のコンピュータ読み取り可能な媒体が含まれる。
【００８１】
本発明の範囲から逸脱することなく、システム１０に修正、追加、または削除をすることができる。システム１０の構成要素は一体であっても分かれていてもよい。さらに、システム１０の動作を実行する構成要素は、これより多くても少なくてもよいし、他の構成要素であってもよい。例えば、生成器４２、４６の動作を１つの構成要素により行ってもよいし、類似性計算器３４の動作を２つ以上の構成要素でおこなってもよい。また、システム１０の動作の実行は、ソフトウェア、ハードウェア、及び／またはその他のロジックを含む任意の適切なロジックを用いて行ってもよい。本明細書では、「各」とは、集合の各要素、または集合の部分集合の各要素を指す。
【００８２】
本発明の範囲から逸脱することなく、マトリックスの例に修正、追加、または削除をすることができる。マトリックスに含まれる値はこれより多くても少なくてもよく、他の値が含まれてもよい。また、マトリックスの値を任意の適切な順序で構成してもよい。
【００８３】
図７は言語のオントロジーを生成する方法の一実施形態を示す。この方法はステップ２１０で始まり、オントロジー用に言語のワードを選択する。ワードは任意の適切な方法で選択することができる。例えば、一般的に使用されるワードや、ある主題に関係するワードを選択する。
【００８４】
ステップ２１４において、類似性計算器３４が選択されたワードのレコード５４にアクセスする。類似性計算器３４が逆インデックス６２にアクセスして、選択されたワードを含むページのリストを読み出す。逆インデックス６２はＢＤＤで表されている。
【００８５】
ステップ２１８において、類似性計算器３４が選択されたワードのワードペアの類似性を計算する。任意の適切な類似性を計算してよく、例えば、基本類似性、有向類似性、平均類似性、差分類似性、及び／またはその他の類似性を計算する。ステップ２２２において、類似性計算器３４が類似性マトリックスに計算した類似性を記録する。ステップ２１８と２２２を、選択されたワードのワードペアに対して繰り返す。ステップ２２６において次のワードがあれば、ステップ２１８に戻り、次のワードペアの類似性を計算する。ステップ２２６において次のワードが無ければ、ステップ２３０に進む。
【００８６】
ステップ２３０において、類似性マトリックス生成器４２が類似性マトリックスをレポートする。類似性マトリックスを用いて言語のオントロジーを表現できる。ステップ２３４において、類似性グラフ生成器４６が類似性グラフを生成する。類似性グラフもその言語のオントロジーとして使える。ステップ２３８において、類似性グラフをレポートする。そして、本方法は終了する。
【００８７】
本発明の範囲から逸脱することなく、本方法に修正、追加、または削除をすることができる。本方法に含まれるステップはこれより多くても少なくてもよく、他のステップが含まれてもよい。また、ステップを好適な任意の順序で実行してもよい。
【００８８】
本発明の実施形態により以下の技術的有利性がもたらされる。一実施形態の技術的優位性は、言語のワード間の類似性を数量的に表せることである。類似性を用いて言語のオントロジーとして機能するマトリックスを生成できる。  本発明の実施形態には、上記の技術的な有利性を含まないもの、一部を含むもの、すべてを含むものがある。図面、詳細な説明、及び特許請求の範囲に基づき、当業者には容易に１つ以上の技術的な優位性が明らかとなるであろう。
【００８９】
本開示を実施形態に関して説明したが、これらの実施形態の変形や置き換えは当業者には明らかであろう。従って、上記の実施形態の説明は本開示を限定するものではない。特許請求の範囲に記載した本開示の精神と範囲から逸脱せずに、その他の変更、置き換え、改変も可能である。
【００９０】
上記の実施形態について以下の付記を記載する。
（付記１）  有体記憶媒体に記憶された逆インデックスにアクセスする段階であって、前記逆インデックスは言語の複数のワードの複数の逆インデックスリストを含み、逆インデックスリストは前記ワードを含むページを示すワードに対応する段階と、
第１のワードと第２のワードを含む、前記複数のワードの各ワードペアに対して、
第１の逆インデックスリストと第２の逆インデックスリストとを検索する段階であって、前記第１の逆インデックスリストは前記第１のワードに対応し、前記第２の逆インデックスリストは前記第２のワードに対応する段階と、
前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の、前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階とを含む方法。
（付記２）  前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードまたは前記第２のワードを含むページ数を示す選言ページ数を求める段階と、
前記連言ページ数を前記選言ページ数で割る段階と
により前記第１のワードと前記第２のワードとの間の基本類似性を計算する段階を含む、付記１に記載の方法。
（付記３）  前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードを含むページ数を示す第１のワードページ数を求める段階と、
前記連言ページ数を前記第１のワードページ数で割る段階と
により前記第２のワードがあるときの前記第１のワードの有向類似性を計算する段階を含む、付記１に記載の方法。
（付記４）  前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記複数のワードの各ワードペアに対して、前記各ワードペアのワード間の有向類似性を計算して複数の有向類似性を求める段階と、
前記有向類似性の平均を計算する段階と
により前記第１のワードの平均類似性を計算する段階を含む、付記１に記載の方法。
（付記５）  前記第１のワードと前記第２のワードとの間の前記類似性を計算する段階は、
前記第２のワードに対する前記第１のワードの有向類似性を計算する段階と、
前記第２のワードの平均類似性を計算する段階と、
前記第２のワードに対する前記第１のワードの有向類似性から前記第２のワードの前記平均類似性を引く段階と
により前記第２のワードに対する前記第１のワードの差分類似性を計算する段階を含む、付記１に記載の方法。
（付記６）  ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する段階をさらに有する、付記１に記載の方法。
（付記７）  前記逆インデックスリストの各要素に対して
前記各要素を複数のビット値を含むバイナリ値として表す段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と、
前記各要素から最小項を構成する段階と、
前記最小項のＯＲ演算により前記ブーリアン関数を構成する段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する段階をさらに有する、付記１に記載の方法。
（付記８）  前記逆インデックスリストの各要素に対して
複数の２ｋ進桁を有する２ｋ進値として前記各要素を表す段階と、
各２ｋ進桁をエンコードして複数のビット値を有するエンコードされた２ｋ進桁を求める段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する段階をさらに有する、付記１に記載の方法。
（付記９）  ブーリアン関数により前記逆インデックスリストを表す段階と、
前記バイナリ・ディシジョン・ダイアグラムの複数のノードを求める段階と、
各ノードのノード構成を決定する段階と
により前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する段階をさらに有する、付記１に記載の方法。
（付記１０）  前記第１の逆インデックスリストと前記第２の逆インデックスリストを探索する段階は、さらに、
前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムを探索する段階と、
前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索する段階と
を含む、付記１に記載の方法。
（付記１１）  前記第１の逆インデックスリストと前記第２の逆インデックスリストを探索する段階は、さらに、前記第１の逆インでクスリストまたは前記第２の逆インデックスリストの終わりに到達するまで、
前記第１の逆インデックスリストまたは前記第２の逆インデックスリストを含むカレント逆インデックスリストのカレント要素を求める段階と、
他の逆インデックスリストから次に大きい要素を読み出す段階と、
前記次に大きい要素と前記カレント要素とを比較する段階と、
前記次に大きい要素が前記カレント要素と一致した場合、共通の要素を記録する段階と
を繰り返すことにより、前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムと、前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索する段階を含む、付記１に記載の方法。
（付記１２）  実行したとき、
有体記憶媒体に記憶された逆インデックスにアクセスする段階であって、前記逆インデックスは言語の複数のワードの複数の逆インデックスリストを含み、逆インデックスリストは前記ワードを含むページを示すワードに対応する段階と、
第１のワードと第２のワードを含む、前記複数のワードの各ワードペアに対して、
第１の逆インデックスリストと第２の逆インデックスリストとを検索する段階であって、前記第１の逆インデックスリストは前記第１のワードに対応し、前記第２の逆インデックスリストは前記第２のワードに対応する段階と、
前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の、前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算する段階と、
前記類似性を類似性マトリックスに記録する段階と、
前記類似性マトリックスをレポートする段階と
を実行するソフトウェアをエンコードしたコンピュータ読み取り可能媒体。
（付記１３）  前記ソフトウェアは、さらに、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードまたは前記第２のワードを含むページ数を示す選言ページ数を求める段階と、
前記連言ページ数を前記選言ページ数で割る段階と
により前記第１のワードと前記第２のワードとの間の基本類似性を計算することにより、前記第１のワードと前記第２のワードとの間の前記類似性を計算する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１４）  前記ソフトウェアは、さらに、
前記第１のワードと前記第２のワードとを含むページ数を示す連言ページ数を求める段階と、
前記第１のワードを含むページ数を示す第１のワードページ数を求める段階と、
前記連言ページ数を前記第１のワードページ数で割る段階と
により前記第２のワードが与えられたときの前記第１のワードの有向類似性を計算することにより、前記第１のワードと前記第２のワードとの間の前記類似性を計算する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１５）  前記ソフトウェアは、さらに、
前記複数のワードの各ワードに対して、前記各ワードペアのワード間の有向類似性を計算して複数の有向類似性を求める段階と、
前記有向類似性の平均を計算する段階と
により前記第１のワードの平均類似性を計算することにより、前記第１のワードと前記第２のワードとの間の前記類似性を計算する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１６）  前記ソフトウェアは、さらに、
前記第２のワードに対する前記第１のワードの有向類似性を計算する段階と、
前記第２のワードの平均類似性を計算する段階と、
前記第２のワードに対する前記第１のワードの有向類似性から前記第２のワードの前記平均類似性を引く段階と
により前記第２のワードに対する前記第１のワードの差分類似性を計算することにより、前記第１のワードと前記第２のワードとの間の前記類似性を計算する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１７）  前記ソフトウェアは、
ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１８）  前記ソフトウェアは、
前記逆インデックスリストの各要素に対して
前記各要素を複数のビット値を含むバイナリ値として表す段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と、
前記各要素から最小項を構成する段階と、
前記最小項のＯＲ演算により前記ブーリアン関数を構成する段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記１９）  前記ソフトウェアは、
前記逆インデックスリストの各要素に対して
複数の２ｋ進桁を有する２ｋ進値として前記各要素を表す段階と、
各２ｋ進桁をエンコードして複数のビット値を有するエンコードされた２ｋ進桁を求める段階と、
前記ブーリアン関数の変数で各ビット値を表す段階と
を実行することにより、ブーリアン関数により前記逆インデックスリストを表す段階と、
前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記２０）  前記ソフトウェアは、
ブーリアン関数により前記逆インデックスリストを表す段階と、
前記バイナリ・ディシジョン・ダイアグラムの複数のノードを求める段階と、
各ノードのノード構成を決定する段階と
により前記ブーリアン関数に対応するバイナリ・ディシジョン・ダイアグラムを生成する段階と
により前記複数の逆インデックスの逆インデックスリストを記憶する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記２１）  前記ソフトウェアは、
前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムを探索する段階と、
前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索する段階と
により前記第１の逆インデックスリストと前記第２の逆インデックスリストを探索する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記２２）  前記ソフトウェアは、さらに、前記第１の逆インでクスリストまたは前記第２の逆インデックスリストの終わりに到達するまで、
前記第１の逆インデックスリストまたは前記第２の逆インデックスリストを含むカレント逆インデックスリストのカレント要素を求める段階と、
他の逆インデックスリストから次に大きい要素を読み出す段階と、
前記次に大きい要素と前記カレント要素とを比較する段階と、
前記次に大きい要素が前記カレント要素と一致した場合、共通の要素を記録する段階と
を繰り返すことにより、前記第１の逆インデックスリストを表す第１のバイナリ・ディシジョン・ダイアグラムと、前記第２の逆インデックスリストを表す第２のバイナリ・ディシジョン・ダイアグラムを探索することにより、前記第１の逆インデックスリストと前記第２の逆インデックスリストを探索する、付記１２に記載のコンピュータ読み取り可能媒体。
（付記２３）  有体記憶媒体に記憶された逆インデックスにアクセスする手段であって、前記逆インデックスは言語の複数のワードの複数の逆インデックスリストを含み、逆インデックスリストは前記ワードを含むページを示すワードに対応する手段と、
第１のワードと第２のワードを含む、前記複数のワードの各ワードペアに対して、
第１の逆インデックスリストと第２の逆インデックスリストとを検索し、前記第１の逆インデックスリストは前記第１のワードに対応し、前記第２の逆インデックスリストは前記第２のワードに対応し、
前記第１の逆インデックスリストと前記第２の逆インデックスリストとにより前記第１のワードと前記第２のワードとの間の、前記第１のワードと前記第２のワードとの間の定量的関係を記述する類似性を計算し、
前記類似性を類似性マトリックスに記録する手段と、
前記類似性マトリックスをレポートする手段と
を有するシステム。
【図面の簡単な説明】
【００９１】
【図１】言語のワード間の類似性からその言語のオントロジーを生成するシステムの一実施形態を示す図である。
【図２】バイナリ・ディシジョン・ダイアグラムの一例を示す図である。
【図３】基本類似性を記録した類似性マトリックスの一例を示す図である。
【図４】有向類似性を記録した類似性マトリックスの一例を示す図である。
【図５】平均類似性を記録した類似性マトリックスの一例を示す図である。
【図６】類似性グラフの一例を示す図である。
【図７】図１のシステムにより実行できる、言語のオントロジーの生成方法の一実施形態を示す図である。
【符号の説明】
【００９２】
２０  クライアント
２２  サーバ
２４  メモリ
２６  ディシジョン・ダイアグラム・エンジン
３０  類似性モジュール
３４  類似性計算器
３８  オントロジー生成器
４２  類似性マトリックス生成器
４６  類似性グラフ生成器
４８  ワード推奨器
５０  ページ
５４  レコード
５８  インデックス
６２  逆インデックス
６６  オントロジー
７０  類似性マトリックス
７４  類似性グラフ
【図１】
0005338238.tif 000030
【図２】
0005338238.tif 000031
【図３】
0005338238.tif 000032
【図４】
0005338238.tif 000033
【図５】
0005338238.tif 000034
【図６】
0005338238.tif 000035
【図７】
0005338238.tif 000036