(57)【特許請求の範囲】
【請求項１】
有体媒体に格納された、複数のタームを含むコーパスにアクセス段階と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める段階と、
前記複数の親子関係から階層グラフを自動的に生成する段階とを含み、
有向類似性により前記各タームの一以上の親タームを特定する段階は、さらに、
前記各タームから親ターム候補への有向類似性が第１閾値以上であると決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が前記第１閾値以下の第２閾値以下であると決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階と、を含む、
方法。
【請求項２】
前記親ターム候補から前記各タームへの有向類似性が前記第１閾値以下の第２閾値以下であると決定する段階は、さらに、
前記親ターム候補から前記各タームへの有向類似性が前記第２閾値以下の第３閾値以上であると決定する段階を含む、
請求項１に記載の方法。
【請求項３】
前記複数の親子関係から前記階層グラフを自動的に生成する段階は、
親子関係と前記階層グラフの冗長な親子関係を特定する段階と、
前記階層グラフから前記冗長な親子関係を削除する段階と、
により前記階層グラフを縮小する段階をさらに含む、
請求項１に記載の方法。
【請求項４】
前記コーパスは複数の文書を含み、前記複数の文書は前記複数のタームを含み、
前記階層グラフは前記複数の文書のカタログを表す、
請求項１に記載の方法。
【請求項５】
前記コーパスは複数の検索結果を含み、
前記一以上のタームのうちの一タームは検索結果の一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
請求項１に記載の方法。
【請求項６】
前記コーパスは複数のクラスタに整理された複数の検索結果を含み、
前記一以上のタームのうちの一タームはクラスタの一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
請求項１に記載の方法。
【請求項７】
前記階層グラフの複数の親タームをクライアントに送る段階と、
複数の子タームを有する親タームの選択を受け取る段階と、
前記複数の子タームを前記クライアントに送る段階と、
を含む請求項１に記載の方法。
【請求項８】
前記階層グラフの親タームを含む検索クエリを受け取る段階と、
前記親タームの一以上の子タームを特定する段階と、
前記親タームと前記一以上の子タームとを用いて前記コーパスを検索する段階と、
を含む請求項１に記載の方法。
【請求項９】
前記コーパスは複数の文書を含み、前記複数の文書は前記複数のタームを含み、
前記階層グラフの各グラフタームに前記各グラフタームを含む文書を関連づける段階と、
親タームを含む検索クエリを受け取る段階と、
前記親タームの子と関連する一以上の文書を検索する段階と、
を含む請求項１に記載の方法。
【請求項１０】
有体媒体に格納された、複数のタームを含むコーパスにアクセスする段階と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める段階と、
前記複数の親子関係から階層グラフを自動的に生成する段階と
有向類似性により前記各タームの一以上の親タームを特定する段階において、さらに、
前記各タームから親ターム候補への有向類似性が第１閾値以上であると決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が前記第１閾値以下の第２閾値以下であると決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階と、
を実行するためのソフトウェアを記録したコンピュータ読み取り可能記録媒体。
【請求項１１】
有体媒体に格納された、複数のタームを含むコーパスにアクセスする手段と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める手段と、
前記複数の親子関係から階層グラフを自動的に生成する手段と、
前記各タームから親ターム候補への有向類似性が第１閾値以上であると決定する手段と、
前記親ターム候補から前記各タームへの有向類似性が前記第１閾値以下の第２閾値以下であると決定する手段と、
前記各タームの親タームとして前記親ターム候補を特定する手段と、
を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は辞書分析に関し、より具体的にはターム階層の自動生成に関する。
【背景技術】
【０００２】
データのコーパス（corpus）は大量の情報を保持し、関連する情報を見つけるのは困難である。ターム階層を生成して関連情報の検索を容易にすることができる。しかし、場合によっては、いままでのターム階層の生成方法は効果的でないことがある。
［関連出願］
本願は、デイビッド・マービットらにより２００７年１０月５日に出願された米国仮出願第６０／９７７，８４０号、発明の名称「ターム階層の自動生成」、代理人管理番号第０７３３３８．０５５１号の米国特許法第１１９条（ｅ）項の利益を主張するものである。
【発明の開示】
【課題を解決するための手段】
【０００３】
実施形態では、タームの階層の生成は、タームを含むコーパスへのアクセスを含む。タームに対して、親子関係を作成（yield）するために、有向類似性により一タームの１つまたは複数の親タームを特定し、その親タームと各タームから１つまたは複数の親子関係を決定（establish）する。その親子関係から階層グラフを自動的に生成する。
【発明を実施するための最良の形態】
【０００４】
実施形態では、ドメイン・オントロジ（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）を有するタームがソートされたリストとして出力される。この場合、その出力には、オントロジが取り扱う領域に関して、より密接に入力されたタームに関係するタームが含まれている。
【００１０】
任意の適切な類似性の定義を用いることができる。実施形態によっては、次の定義を用いてもよい：
１．  基本類似性
ａ）  タームＡとタームＢとの間の基本類似性を、そのタームＡまたはＢのいずれかを含むコンテキスト数に対する、タームＡ及びＢを両方とも含むコンテキスト数の比として定義する。
【数１】
0005332477.tif 000002
ｂ）  タームＡとタームＢとの間の基本類似性（Ａ）を、タームＡまたはＢのいずれかを含むコンテキスト数の大きい方に対する、タームＡ及びＢを両方とも含むコンテキスト数の比として定義してもよい。
【数２】
0005332477.tif 000003
【００１１】
２．  有向類似性
タームＡとタームＢとの間の有向類似性（ＤＡｆｆ）を、コンテキスト中にタームＡが出現することを条件として、タームＢが出現する条件付き確率として定義してもよい。
【数３】
0005332477.tif 000004
すなわち、有向類似性は、タームＡを含むコンテキストに対する、タームＡとＢを両方とも含む共起コンテキストの数である。一般的にＤＡｆｆ（Ａ，Ｂ）とＤＡｆｆ（Ｂ，Ａ）とは異なる。
【００１２】
３．  差分有向類似性
タームＡとタームＢとの間の差分有向類似性（ＤｉｆｆＤＡｆｆ）は、タームＡとＢとの間の有向類似性から、コーパスにおけるタームＢの一般性（common-ness）を示すファクタを引いたものとして定義してもよい。コーパスにおけるタームＢの一般性は、そのコーパス中の他のタームに対するタームＢの基本類似性または有向類似性の統計値である。一実施形態では、コーパスにおけるタームＢの一般性（common-ness）は、タームＢの平均類似性（ＡＡ）である。その場合、差分有向類似性の定義は次のようになる：
【数４】
0005332477.tif 000005
タームＢの平均類似性（ＡＡ）すなわち平均有向類似性は次式で定義される：
【数５】
0005332477.tif 000006
すなわち、平均類似性は共起コンテキストにおける他のタームに対するタームＢの有向類似性の平均である。
【００１３】
図１は、ターム階層を表す階層グラフを自動生成するシステム１０の一実施形態を示す図である。ある実施形態では、システム１０は文書（またはページ）を含むコーパスにアクセスする。システム１０は有向類似性によりコーパスのタームの親タームを特定して、その間の親子関係を決定（establish）する。次に、システム１０は、親子関係から階層不ラフを自動的に生成する。
【００１４】
ある実施形態では、ワードのサブセット（subset）と辞書Ｄとが与えられた時に、その逆インデックスＩＩから有向類似性を計算することができる。ここで、インデックスＩＩは例えばワードｗｉとｗｊのエントリーＩ（ｗｉ）とＩ（ｗｊ）を含む。一般的に、逆インデックス（inverted  index）は、ターム（term）からその位置へのマッピング、すなわちそのタームが現れる共起コンテキスト（co-occurrence  contexts）へのマッピングを格納したインデックスデータ構造である。Ｄ中のワードｗｉとｗｊの各ペアに対して、ＩＩ中のエントリーＩ（ｗｉ）、Ｉ（ｗｊ）の結合部分中の値を、Ｉ（ｗｉ）中の値の数で割った値としてＤＡ（ｉ，ｊ）を定義する。一般的に、ＤＡ（ｉ，ｊ）はＤＡ（ｊ，ｉ）と必ずしも等しくはない。その結果は任意の適切な方法で格納する。例えば、行ごとに、すなわちＤ（１，ｉ）を格納し、次にＤ（２，ｊ）を格納し、以下同様に格納する。各行ｉに対して、｜Ｉ（ｗｉ）｜を格納し、その後にｗｊとの結合部分（conjunction）の濃度を格納する。
【００１５】
ある実施形態では、有向類似性を３段階で計算する。上記の実施形態では、各辞書タームには一意的な整数の識別子を付与する。逆インデックスのエントリーはその整数識別子に対応する。段階０では、Ｄに対応するＩＩのエントリーを読み出す。パラメータ（ｓ，ｏ）に対して、ｋｓ＋ｏの形である要素識別子を保存する。値ｋｓ＋ｏにより、逆インデックスＩＩ中の調べるべきエントリーのサブセットが決まる。このようにして、有向類似性を並行して計算できる。一例として、パラメータｓ，ｏ（１，０）から得られる結果は、パラメータ（３，０）、（３，１）、（３，２）の計算を合わせたものから得られる結果と同じである。この段階により非常に大きな逆インデックスに対してＤＡテーブルを計算することができる。
【００１６】
段階１では、ＤＡ（ｉ，ｊ）のみに対して行ごとに結合を計算する。段階２では、計算された上部三角領域のＵＴ  ＤＡ配列を読み出す。下部三角領域は、上記三角領域からその転置として求められる。ある実施形態では、同じ次元の複数のＤＡ配列をひとつの配列に結合してもよい。大きな逆インデックスＩＩのＤＡ配列を、パラメータを（ｓ，ｉ）としてｉ＝０．．（ｓ−１）にわたるＤＡの和として計算できる。有向類似性（directional  affinities）を算出できるように、計算した結合（conjunctions）とともに付加的な情報を格納してもよい。ある実施形態では、ＩＩエントリーの濃度を格納してもよい。
【００１７】
ある実施形態では、ＤＡを行ごとに格納し、ＤＡエントリーの計算と並行してＡＡエントリーの計算を進めることができる。具体的に、ＤＡの行をディスクから読み出しつつ加算し、最後に辞書エントリーの数で規格化することによってＡＡを生成する。
【００１８】
図示した実施形態において、システム１０はクライアント２０、サーバ２２、及びメモリ２４を含む。ユーザは、クライアント２０によりサーバ２２と通信して、言語のオントロジを生成する。クライアント２０は、ユーザ入力をサーバ２２に送信し、サーバ出力をユーザに提供（例えば、表示や印刷）する。サーバシステム２４は言語のオントロジを生成するアプリケーションを管理する。メモリ２４はサーバシステム２４が使うデータを記憶する。
【００１９】
図示した実施形態において、メモリ２４はページ５０とレコード５４とを記憶している。ページ５０（すなわち文書または共起コンテキスト）はワード（word）の集まりである。ページ５０の例としては、文書のページや、文書や、ブックや、ウェブページや、通信（例えば電子メールやインスタントメッセージ）その他がある。ページ５０はページ識別子により識別できる。ページ５０は有体のコンピュータ読み取り可能媒体に電子的に記憶されていてもよい。ページ５０には任意の適切なコンテンツが含まれる。例えば、テキスト（文字、ワード、数字等）、画像（グラフィックス、写真、ビデオ等）、オーディオ（録音、コンピュータ生成サウンド等）、ソフトウェアプログラムが含まれる。ある実施形態では、一組のページ５０がコーパス（corpus）に属している。コーパスは特定の主題、コミュニティ、組織、エンティティ（entity）に関連している。
【００２０】
レコード５４はページ５０を記述する。本実施形態では、レコード５４は、インデックス５８、逆インデックス６２、オントロジ６６、クラスタ６７を含む。インデックス５８はインデックスリストを含み、ページ５０のインデックスリストはページ５０のワードを示す。逆インデックス６２は逆インデックスリストを含み、あるワード（または一組のワード）の逆インデックスリストはそのワード（または一組のワード）を含むページ５０を示す。一実施例では、リストＷｉはワードｗｉを含むページ５０のページ識別子を含む。リストＷｉ＆Ｗｊはワードｗｉとｗｊを両方を含む連言ページ（conjunction  pages）５０のページ識別子を含む。リストＷｉ＋Ｗｊはワードｗｉまたはｗｊのいずれかを含む選言ページ（disjunction  pages）５０のページ識別子を含む。Ｐ（Ｗｉ）はＷｉのページ５０の数、すなわちワードｗｉを含むページ５０の数である。
【００２１】
一実施形態では、リスト（インデックスリスト、逆インデックスリスト等）はバイナリ・ディシジョン・ダイアグラム（ＢＤＤ）として記憶される。一実施例では、集合Ｗｉのバイナリ・ディシジョン・ダイアグラムＢＤＤ（Ｗｉ）はワードｗｉを有するページ５０を表す。ＢＤＤ（Ｗｉ）の充分割当カウント（satisfying  assignment  count）Ｓａｔｉｓｆ（ＢＤＤ（Ｗｉ））によりワードｗｉを有するページ５０の数Ｐ（Ｗｉ）が求まる。
【数６】
0005332477.tif 000007
【００２２】
したがって、
【数７】
0005332477.tif 000008
【００２３】
オントロジ６６は言語のワードとそのワード間の関係を表すものである。一実施形態では、オントロジ６６はワード間の類似性（affinities）を表す。図示した実施例では、オントロジ６６は類似性マトリックスと類似性グラフを含む。類似性マトリックスの例を図３乃至図５を参照して説明する。類似性グラフの例を図６を参照して説明する。クラスタ６７は互いに関係するワードのクラスタを記録している。クラスタは図７を参照してより詳細に説明する。
【００２４】
図示した実施形態では、サーバ２２は類似性モジュール３０、クラスタリングモジュール３１、オントロジ特性モジュール３２、及び階層モジュール３７を含む。類似性モジュール３０はワードのペアの類似性を計算し、その類似性を類似性マトリックスに記録し、及び／または類似性マトリックスをレポートする。類似性モジュール３０は類似性グラフも生成できる。類似性モジュール３０は図２を参照してより詳細に説明する。
【００２５】
実施形態では、クラスタリングモジュール３１は、データセット中の関係する要素のクラスタを特定することにより、そのデータセット中のパターンを発見する。実施形態では、クラスタリングモジュール３１は一組のワード（例えば、言語や一組のページ５０等）のクラスタを特定できる。一般的に、クラスタのワードは互いに強く関係しているが、クラスタ外のワードとは関係していない。ワードのクラスタはその一組のワードのテーマ（すなわちトピック）を指定する。ある実施形態では、クラスタリングモジュール３１は、関係するワード間の類似性によりそのクラスタを特定する。その実施形態では、クラスタのワードは互いに強く類似しているが、クラスタ外のワードとは類似していない。クラスタリングモジュール３１は図７を参照してより詳細に説明する。
【００２６】
実施形態では、オントロジ特性モジュール３２は一組のワード（例えば、ワードやそのワードを含む文書）のオントロジ特性（ontology  features）を決定し、そのオントロジ特性を様々な場合に適用する。オントロジ特性はワードセットの特徴であり、言語のオントロジ空間にそのワードセットを配置するものである。オントロジ特性の例としては深さ（depth）と具体性（specificity）がある。実施形態では、深さ（depth）はワードセットのテキストとしての精巧さ（textual  sophistication）を示す。深さがより大きい（深い）ワードセットは、より技術的かつ専門的であり、深さがより小さい（浅い）ワードセットは、より一般的なものである。実施形態では、ワードセットの具体性はそのワードセットのテーマの数に関係する。具体性が高いワードセットが有するテーマはより少なく、具体性が低いワードセットが有するテーマはより多い。
【００２７】
オントロジ特性モジュール３２はオントロジ特性を任意の適切な場合に適用する。適切な場合とは、例えば、オントロジ特性による文書の検索、ソート、選択や、文書のオントロジ特性のレポートや、ユーザの文書のオントロジ特性の決定などである。オントロジ特性モジュール３２は図８を参照してより詳細に説明する。
【００２８】
実施形態では、階層モジュール３７は、ターム階層を表す階層グラフを自動的に生成する。上記実施形態では、階層モジュール３７は、文書（またはページ）を含むコーパスにアクセスする。階層モジュール３７は、有向類似性によりコーパスのタームの親タームを特定して、その間の親子関係を決定（establish）する。次に、階層モジュール３７は、親子関係から階層グラフを自動的に生成する。階層モジュール３７は、図９を参照してより詳細に説明する。
【００２９】
システム１０の構成要素は、インターフェース、ロジック、メモリ、その他の適切な要素を含む。インターフェースは入力を受信し、出力を送信し、入力や出力を処理し、その他の適当な動作を行う。インターフェースはハードウェア及び／またはソフトウェアを含む。
【００３０】
ロジックは、これらの構成要素の動作を行い、例えば、入力から出力を生成する命令を実行する。ロジックはハードウェア、ソフトウェア及び／またはその他のロジックを含む。ロジックは有体媒体にエンコードされ、コンピュータにより実行された時に動作するものであってもよい。プロセッサ等のある種のロジックが構成要素の動作を管理してもよい。プロセッサの例としては、例えば、コンピュータ、マイクロプロセッサ、アプリケーションその他のロジックがある。
【００３１】
メモリは情報を記憶する。メモリは有体の、コンピュータ読み取り可能な、及び／またはコンピュータ実行可能な記憶媒体である。メモリの例には、コンピュータのメモリ（ＲＡＭ、ＲＯＭ等）、大規模記憶媒体（ハードディスク等）、リムーバブル記憶媒体（ＣＤ、ＤＶＤ等）、データベースやネットワーク記憶装置（サーバ等）、その他のコンピュータ読み取り可能な媒体が含まれる。
【００３２】
本発明の範囲から逸脱することなく、システム１０に修正、追加、または削除をすることができる。システム１０の構成要素は一体であっても分かれていてもよい。さらに、システム１０の動作を実行する構成要素は、これより多くても少なくてもよいし、他の構成要素であってもよい。例えば、生成器４２、４６の動作を１つの構成要素により行ってもよいし、類似性計算器３４の動作を２つ以上の構成要素で行ってもよい。また、システム１０の動作の実行は、ソフトウェア、ハードウェア、及び／またはその他のロジックを含む任意の適切なロジックを用いて行ってもよい。本明細書では、「各」とは、集合の各要素、または集合の部分集合の各要素を指す。
【００３３】
本発明の範囲から逸脱することなく、マトリックスの例に修正、追加、または削除をすることができる。マトリックスに含まれる値はこれより多くても少なくてもよく、他の値が含まれてもよい。また、マトリックスの値を任意の適切な順序で構成してもよい。
【００３４】
図２は、図１のシステム１０で使用できる類似性モジュール３０の一実施形態を示す図である。類似性モジュール３０はワードのペアの類似性を計算し、その類似性を類似性マトリックスに記録し、及び／またはその類似性マトリックスをレポートする。類似性モジュール３０は類似性グラフも生成できる。
【００３５】
図示した実施形態では、類似性モジュール３０は類似性計算器３４、オントロジ生成器３８、及びワード推奨器４８を含む。類似性計算器３４は、ワードｗｉの、または第１のワードｗｉと第２のワードｗｊを含むワードペアの任意の適切なタイプの類似性を計算する。類似性の例には基本類似性、有向類似性、平均類似性、差分類似性、その他の類似性が含まれる。
【００３６】
一実施形態では、ワード推奨器４８は、シード・ワード（seed  word）を受け取り、そのシード・ワードとの類似性が閾値より高いワードを特定する。類似性閾値は任意の適切な値であり、０．２５、０．５、０．７５、０．９５やこれらより大きな値であってもよい。類似性閾値は予めプログラムしても、ユーザが指定してもよい。
【００３７】
基本類似性はワードｗｉ及び／またはｗｊを含むページ５０の量（例えば数）に基づき計算できる。連言ページ量（conjunction  page  amount）はワードｗｉとｗｊを両方とも含むページ５０の量を表し、選言ページ量（disjunction  page  amount）はワードｗｉまたはｗｊのいずれか一方を含むページ５０の量を表す。基本類似性は連言ページ量を選言ページ量で割って求められる。一実施例では、連言ページ数はワードｗｉとワードｗｊを含むページ数を示し、選言ページ数はワードｗｉまたはワードｗｊのいずれかを含むページ数を示す。基本類似性は連言（conjunction）ページ数を選言（disjunction）ページ数で割って求めることができる。
【数８】
0005332477.tif 000009
【００３８】
図３は、基本類似性を記録した類似性マトリックス１１０の一例を示す図である。図示した例では、類似性マトリックス１１０はワードｗ１，．．．，ｗ５のペアごとの類似性を記録している。類似性マトリックス１１０によると、ワードｗ０とｗ１の間の類似性は０．００３であり、ワードｗ０とｗ２の間の類似性は０．００５であり、以下同様である。
【００３９】
図１に戻り、類似性グループは相互に類似性が高いワードのペアを含み、この類似性グループを用いてページのコンテンツに対するワードｗ１、ｗ２間の関係を捉える。類似性が類似性グループ閾値よりも高いことを、類似性が高いという。閾値は任意の適切な値であり、０．５０、０．６０、０．７５、０．９０、０．９５より大きな値であってもよい。１つのワードは２つ以上の類似性グループに属してもよい。一実施形態では、類似性グループはＢＤＤとして表すことができる。逆インデックス６２に、ＢＤＤのポインタをそのグループの各ワードとともに格納してもよい。
【００４０】
有向類似性を用いてワードｗｊに対するワードｗｉの重要性を測ることができる。類似性計算器３４は、ワードｗｊが与えられたときのワードｗｉの有向類似性を、ワードｗｉとｗｊを含むページ５０の量（例えば数）から計算する。ワードｗｉページ量は、ワードｗｉを含むページ５０の量を表す。ワードｗｊが与えられたときのワードｗｉの有向類似性は、連言ページ量をワードｗｊページ量で割ったものである。例えば、ワードｗｊページの数はワードｗｉを含むページ５０の数を示す。ワードｗｊが与えられたときのワードｗｉの有向類似性は、結合ページ５０の数をワードｗｉページ５０の数で割ったものである。
【数９】
0005332477.tif 000010
【００４１】
ＤＡｆｆｉｎｉｔｙ（ｗｉ，ｗｊ）はＤＡｆｆｉｎｉｔｙ（ｗｊ，ｗｉ）と同じではない。ワードｗｉとｗｊの間の有向類似性ＤＡｆｆｉｎｉｔｙ（ｗｉ，ｗｊ）が高いということは、ページ５０がワードｗｊを含むときにそのページ５０がワードｗｉを含む確率が高いということを示す。一例では、ページ［１  ２  ３  ４  ５  ６］がワードｗｉを含み、ページ［４  ２］がワードｗｊを含む。ワードｗｊを含むページがワードｗｉも含むということは、ワードｗｊの観点からは、ワードｗｉの重要性が高いということである。ワードｗｉを含むページの１／３のみがワードｗｊを含むということは、ワードｗｉの観点からは、ワードｗｊの重要性が低いということである。
【００４２】
図４は、ワードｗ０，．．．ｗ５の基本類似性を記録した類似性マトリックス１２０の一例を示す図である。上記の例では、ワード１２４はＡワード、ワード１２８はＢワードである。マトリックス１２０の行はＡワードが与えられたときのＢワードの類似性を記録し、類似性マトリックス１２０の列はＢワードが与えられたときの類似性を記録する。
【００４３】
図１に戻り、他のワードｗｊに対するワードｗｉの平均類似性を計算する。一実施形態では、平均類似性は、ワードｗｉとその他のすべてのワードｗｊとの間の類似性の平均である。Ｎ個のワードに対するワードｗｉの平均類似性は次式で表される。
【数１０】
0005332477.tif 000011
【００４４】
図５は、平均類似性を記録した類似性マトリックス１４０の一例を示す図である。行１４２はワード１乃至ワード５０，０００の基本類似性を記録している。行１４４はワード１乃至ワード５０，０００の平均類似性を記録している。
【００４５】
図１に戻り、ワードの平均類似性はそのワードの深さを示す。平均類似性が低いワードは深いワードであると考えられ、平均類似性が高いワードは浅いワードであると考えられる。深いワードは技術的であり、具体的であり、精密であるという傾向がある。深いワードの割合が高いページ５０は深いページであると考えられ、深いワードの割合が低いページ５０は浅いページであると考えられる。一実施形態では、ユーザは検索するワード及び／またはページ５０の深さを指定することができる。
【００４６】
ページ５０の深いワードは関係性が高いワードのクラスタを形成する。クラスタは共通のアイデアやテーマを表す。ページ５０のテーマ数はそのページ５０の具体性（specificity）を示す。テーマが少ないページ５０はより具体的であると考えられ、テーマが多いページ５０はあまり具体的でないと考えられる。
【００４７】
ワードｗｊに対するワードｗｉの差分類似性は、ワードｗｉとｗｊの間の有向類似性からワードｗｊのその他すべてのワードとの平均類似性を引いたものである。差分類似性は次式で表せる：
【数１１】
0005332477.tif 000012
【００４８】
差分類似性は、ページ５０にワードｗｊが出現する一般的な傾向によるバイアスを除去したものである。場合によっては、差分類似性は、ページがワードｗｊを含むときにそのページがワードｗｉを含む確率をより正確に示すものである。
【００４９】
差分類似性は様々な応用ができる。一例では、人の名前の間の差分類似性を用いて社会的ネットワークを研究できる。他の例では、言語要素間の差分類似性を用いて自然言語処理を研究できる。他の例では、製品間の差分類似性を用いてマーケティングを研究できる。
【００５０】
類似性計算器３４は、任意の適切な方法を用いて逆インデックスリストを検索し類似性を計算する。例えば、ワードｗｉとワードｗｊを両方とも含むページを特定するため、類似性計算器３４は、ワードｗｉのリストＷｉとワードｗｊのリストＷｊを検索して共通の要素（すなわち共通のページ識別子）を探す。
【００５１】
実施形態では、オントロジ生成器３８は、類似性マトリックスや類似性グラフなどの、言語のオントロジ６６を生成する。オントロジは、基本類似性、有向類似性、平均類似性、差分類似性その他の任意の適切な類似性から生成できる。オントロジ６６は、任意の適切な方法で、言語から選択されたワードから生成できる。例えば、その言語の一般的に使用されている部分のワードや、主題領域に関係するワードを選択する。
【００５２】
図示した実施例では、オントロジ生成器３８は類似性マトリックス生成器４２と類似性グラフ生成器４６を含む。類似性マトリックス生成器４２は、ワード間の類似性を記録する類似性マトリックスを生成する。類似性グラフ生成器４６は、ワード間の類似性を表す類似性グラフを生成する。類似性グラフでは、ノードはワードを表し、ノード間の有向エッジの重みはそのノードが表すワード間の類似性を表す。類似性グラフは任意の適切な次元数を有する。
【００５３】
図６は、類似性グラフ１５０の一例を示す図である。類似性グラフ１５０はノード１５４とリンク１５８を含む。ノード１５４はワードを表す。この例では、ノード１５４ａはワード「バイナリ（binary）」を表している。ノード１５４間の有向エッジの重みは、ノード１５４が表すワード間の類似性を表す。例えば、重みが大きければ類似性が大きい。ノード間のリンク１５８は、そのノード１５４が表すワード間の類似性がある類似性閾値より大きいことを示している。類似性閾値は任意の適切な値であり、例えば、０．２５、０．５、０．７５、０．９５であっても、これらより大きな値であってもよい。
【００５４】
図７は、図１のシステム１０で使用できるクラスタリングモジュール３１の一実施形態を示す図である。実施形態では、クラスタリングモジュール３１は、データセット中の関係のある要素のクラスタを特定することにより、そのデータセット中のパターンを発見する。実施形態では、クラスタリングモジュール３１は一組のワード（例えば、言語や一組のページ５０等）のクラスタを特定できる。一般的に、クラスタのワードは互いに強く関係しているが、クラスタ外のワードとは関係していない。ワードのクラスタはその一組のワードのテーマ（すなわちトピック）を指定する。
【００５５】
ある実施形態では、クラスタリングモジュール３１は、関係するワード間の類似性によりそのクラスタを特定する。その実施形態では、クラスタのワードは互いに強く類似しているが、クラスタ外のワードとは類似していない。一実施形態では、ワードは、かなり類似（sufficiently  affine）していれば類似性が高い（highly  affine）と考える。ワードは、類似性規準（例えば閾値）を満たせば十分類似している。以下に類似性規準の例を示す。
【００５６】
任意の適切な類似性を用いてクラスタを特定できる。実施形態では、クラスタリングモジュール３１は有向類似性を用いる。あるワードの他のワードに対する有向類似性はそのワードの共起性（co-occurrence）を特徴づける。クラスタは同様の共起性を有するワードを含んでいる。実施形態では、クラスタリングモジュール３１は差分類似性を用いる。差分類似性は、ページ５０にあるワードが出現する一般的な傾向によるバイアスを除去する傾向がある。
【００５７】
図示した実施形態では、クラスタリングモジュール３１はクラスタリングエンジン２１０とクラスタリング分析器２１４とを含む。クラスタリングエンジン２１０は類似性によりワードのクラスタを特定し、クラスタリング分析器２１４は類似性によるクラスタリングを用いて様々な分析を行う。
【００５８】
クラスタリングエンジン２１０は任意の適切な方法で、類似性によるワードのクラスタを特定する。クラスタの特定方法の３つの例を説明する。一組のワードからのクラスタの構成と、ワードのクラスタへのソーティングと、ワードの類似性ベクトルの比較である。一実施形態では、クラスタリングエンジン２１０は一組のワードからクラスタを構成する。一例では、クラスタリングエンジン２１０は、類似性＊Ａｆｆ（ｗｉ，ｗｊ）を有するワード｛ｗｉ｝の集合ＷからクラスタＳを構成する。類似性値＊Ａｆｆ（ｗｉ，ｗｊ）はワードｗｉのワードｗｊに対する、有向類似性ＤＡｆｆｉｎｉｔｙ（ｗｉ，ｗｊ）や差分類似性ＤｉｆｆＡｆｆ（ｗｉ，ｗｊ）等の任意の適切な類似性を表す。ここで挙げる類似性値の例は規格化した値であってもよい。上記の例では、Ａｆｆｆｏｒ（ｗｉ，ｗｊ）は前方類似性を表し、Ａｆｆｂａｃｋ（ｗｊ，ｗｉ）は後方類似性を表す。
【００５９】
上記の例では、クラスタＳはシード・ワードｗｑで始まる。カレント・ワード（current  word）ｗｘは、カレント・アイテレーション（current  iteration）において集合Ｗのワードと比較される、クラスタＳのワードを表す。カレント・ワードは、最初にシード・ワードｗｑに設定される。
【００６０】
１回の繰り返しにおいて、カレント・ワードｗｘはクラスタＳのワードに設定される。集合Ｗのワードｗｉは、カレント・ワードｗｘとの前方類似性Ａｆｆｆｏｒ（ｗｉ，ｗｊ）に応じてソートされる。ソートされた集合Ｗの始めから開始して、類似性規準を満たす候補ワードｗｃを特定する。類似性規準はカレント・ワードｗｘとの前方類似性規準（a  forward  affinity  with  the  current  word  wx  criterion）を含む：
【数１２】
0005332477.tif 000013
及び、シード・ワードｗｑとの後方類似性規準（a  backward  affinity  with  the  seed  word  wq  criterion）：
【数１３】
0005332477.tif 000014
ここで、Ｔｈｃｆは候補ワードの前方閾値を表し、Ｔｈｃｂは後方ワードの後方閾値を表す。候補ワード｛ｗｃ｝の順序付き集合の最初のワードをクラスタＳに加える。加えたワードの数はパラメータＳｉｚｅｃで与えられる。
【００６１】
閾値ＴｈｃｆとＴｈｃｂは、最小値と最大値の間にある任意の適切な値を有する浮動小数点パラメータである。例としては、ＴｈｃｆとＴｈｃｂの適切な値は実際の類似性の序列リスト（rank-ordered  list）から決定される。例えば、リストの２００番目の値を使用する。パラメータＳｉｚｅｃは任意の適切な値を有する整数パラメータである。適切な値の例として、デフォルト値を１，２，３または４にしてもよい。実施形態では、上記のパラメータは繰り返しによって変化してもよい。
【００６２】
繰り返し回数は任意の適切なものであればよい。一例では、繰り返し回数をこの方法の開始前に指定できる。他の例では、回数をこの方法の実行中に計算できる。例えば、その回数をクラスタＳの大きさの増大率から計算できる。
【００６３】
他の実施形態では、クラスタリングエンジン２１０は、一組のワードをクラスタにソーティングすることにより、クラスタを特定する。一例では、集合Ｗのワード｛ｗｉ｝を、差分類似性や有向類似性などの類似性＊Ａｆｆ（ｗｉ，ｗｊ）に応じてソートする。他の例では、ワード｛ｗｉ｝を、別のワード集合Ｑの各メンバーに対するワードｗｉの類似性の累積関数（合計等）によりソートする。集合Ｗは任意の適切な方法で選択することができる。例えば、集合Ｗはクエリに最も関係するＸ個のワードである。Ｘは任意の適切な値である。例えば、１０乃至１００、１００乃至２００、または２００以上の値である。
【００６４】
上記の例ではクラスタは最初、空である。集合Ｗの最初のワードｗｉをクラスタに入れる。各繰り返しにおいて、集合Ｗからカレント・ワードｗｘを選択する。＊Ａｆｆ（ｗｘ，ｗｆ）が類似性閾値Ｔｈにより与えられる類似性規準を満たせば、カレント・ワードｗｘをクラスタに入れる。ここで、ｗｆはそのクラスタに入れられた最初のワードを表す。閾値Ｔｈの値は任意の適切なものである。例えば、最小値が０．０で最大値が１．０のとき、０．１乃至０．５の範囲にある値である。＊Ａｆｆ（ｗｘ，ｗｆ）が閾値Ｔｈを満たさないとき、カレント・ワードｗｘは空のクラスタに入れられる。集合Ｗの各ワードに対して繰り返す。
【００６５】
集合Ｗのワードを処理してから、小さいクラスタを削除してもよい。例えば、ワード数がＹに満たないクラスタを削除してもよい。Ｙは任意の適切な値であり、例えば、３乃至５、５乃至１０、１０乃至２５、２５乃至５０、または５０以上の範囲の値である。
【００６６】
クラスタ数が満足のいく範囲になければ、閾値Ｔｈを変えて上記プロセスを繰り返す。閾値Ｔｈを変えることによりクラスタに入れる規準が厳しくなったりゆるくなったりする。上記の満足のいく範囲は、任意の適切な値であるクラスタ数の最小値と最大値により決めてもよい。適切な値の例としては、最小値については１乃至５、５乃至１０、または１０以上の範囲の値であり、最大値については１０乃至１５、１５乃至２０、または２０以上の範囲の値である。閾値Ｔｈを大きくしてクラスタ数を大きくしてもよいし、小さくしてクラスタ数を小さくしてもよい。
【００６７】
他の実施形態では、クラスタリングエンジン２１０は、ワードの類似性ベクトルを比較することによりクラスタを特定する。実施形態では、類似性マトリックスの行と列により類似性ベクトル＜ｗｉ，＊Ａｆｆ（ｗｉ，ｗ１），．．．，＊Ａｆｆ（ｗｉ，ｗｊ），．．．，＊Ａｆｆ（ｗｉ，ｗｎ）＞ができる。これはワードｗｉのワードｗｊ（ｊ＝１，．．．，ｎ）に対する類似性を表す。類似性値＊Ａｆｆ（ｗｉ，ｗｊ）はワードｗｉのワードｗｊに対する、有向類似性や差分類似性等の任意の適切な類似性を表す。
【００６８】
実施形態では、類似性値が同様である類似性ベクトルはクラスタを示す。説明のためだけに、類似性ベクトルを類似性空間におけるワードの類似性の座標とみなしてもよい。すなわち、各類似性値＊Ａｆｆ（ｗｉ，ｗｊ）をある次元の座標とみなす。類似性値が近い（similar）類似性ベクトルは、そのベクトルが付随するワードが類似性空間において互いに近いことを示している。すなわち、そのベクトルは、そのワードが他のワードと有する類似性関係が近いことを示し、同じクラスタに含めることが適当であることを示す。
【００６９】
類似性ベクトルは、適切な距離関数により、１つの類似性ベクトルが他の類似性ベクトルの近傍にあるとき、類似性ベクトルは近い。距離関数は、類似性ベクトルに対して、その大きさのベクトルの標準的なユークリッド距離として、またはその大きさのベクトルの余弦として定義することができる。距離関数は、クラスタリングエンジン２１０やユーザによって指定することもできる。
【００７０】
実施形態では、クラスタリングエンジン２１０はクラスタリング・アルゴリズムを用いて、互いに近い値を有する類似性ベクトルを特定する。クラスタリング・アルゴリズムの例には、ダイレクト（direct）・アルゴリズム、反復二分（repeated  bisection）・アルゴリズム、集積（agglomerative）・アルゴリズム、バイアス集積（biased  agglomerative）・アルゴリズムその他の適切なアルゴリズムなどがある。一例では、クラスタリングエンジン２１０は「ＣＬＵＴＯ」などのクラスタリングソフトウェアを含む。
【００７１】
クラスタリング分析器２１４は、任意の適切なアプリケーションにおいて分析のために類似性クラスタリングを用いる。一実施形態では、クラスタリング分析器２１４は類似性クラスタリングを用いてページをカテゴリ分けする。カテゴリはクラスタ識別子またはクラスタのメンバーと関連する。一例では、ページ５０のクラスタを特定し、そのページ５０をそのクラスタに応じてカテゴリ分けする。他の例では、ページ５０の重要なワードを選択し、そのワードを含むクラスタを見つける。ページ５０を見つけたクラスタに応じてカテゴリ分けしてもよい。
【００７２】
一実施形態では、クラスタリング分析器２１４は類似性クラスタリングを用いてページ５０のコーパスを分析する。コーパスは特定の主題、個人のコミュニティ、組織、その他のエンティティ（entity）に関連している。一例では、クラスタリング分析器２１４はコーパスのクラスタを特定し、そのクラスタからそのコーパスのコーパスキャラクタ（corpus  character）を決定する。コーパスキャラクタはそのコーパスに付随するエンティティ（entity）に関連するワードを示す。ページ５０は、コーパスキャラクタのクラスタを有するとき、そのエンティティに関連している。
【００７３】
一実施形態では、クラスタリング分析器２１４は類似性クラスタリングを用いて、検索クエリの曖昧性を除去し拡張する（query  disambiguation  and  expansion）。上記の実施形態では、クラスタリング分析器２１４は、検索クエリの検索タームを含むクラスタを特定する。クラスタにより、与えられた検索クエリに関連する代替的なワードやカテゴリが提供される。一例では、クラスタからのワードを検索者にレポートして、次の検索クエリを支援する。他の例では、クラスタリング分析器２１４は、クラスタからワードを選択して、新しい検索クエリを自動的に形成する。クラスタリング分析器２１４はその新しいクエリを順番に、または並行して実行する。
【００７４】
一実施形態では、クラスタリング分析器２１４は類似性クラスタリングを用いてソーシャルネットワークを調査（study）する。一例では、ページ５０はソーシャルネットワークに関する情報（insight）を提供する。かかるページの例としては、通信（手紙、電子メール、インスタントメッセージなど）、メモ、記事、議事録などがある。こうしたページ５０は、ソーシャルネットワークを形成する人々のユーザ識別子（名前など）であるワードを含む。名前のクラスタを特定して、そのネットワークを形成する人々の間の関係を分析する。一例では、別の類似性クラスタリングを用いて、システム管理者の名前など、情報を提供しないがほとんどのページ５０に現れる名前をフィルタ除去する。
【００７５】
実施形態では、クラスタリング分析器２１４は、データセットのクラスタを結合及び／または比較することにより、そのデータセットを分析する。一実施形態では、オーバーラップするデータセットのクラスタを比較する。１つのデータセットのクラスタを他のデータセットのクラスタにマッピングすると、そのデータセット間の関係についての情報（insight）が得られる。例えば、データセットは、職場のグループの文書の分析や、そのグループのソーシャルネットワークの調査（study）によるものである。ソーシャルネットワークのクラスタを文書の主題のクラスタにマッピングして、ソーシャルネットワークと主題の間の関係を分析する。
【００７６】
図８はオントロジ特性モジュール３２の一実施形態を示す図である。オントロジ特性モジュール３２は、一組のワード（例えば、ワードそのものやワードを含む文書）のオントロジ特性（ontology  features）を決定し、そのオントロジ特性を様々な場合に適用する。その一組のワードには文書の基本的ターム（essential  terms）が含まれているかも知れない。タームｔは、それに類似したｋ個のタームの少なくとも１つも文書に現れる場合、基本的タームである。そうでなければ、そのタームｔはその文書にとっては基本的ではない。
【００７７】
オントロジ特性は、ある分野においてある文書を他の文書から意味的に区別する特性（feature）軸に沿って、その文書を特徴づける数量化可能な尺度である。例えば、文書の深さは理解可能性に関してその文書を区別し、文書の具体性はフォーカスに関してその文書を区別し、文書のテーマは記載されたトピックスの範囲（addressed  range  of  topics）に関してその文書を区別する。オントロジ特性は任意の適切な方法で定義することができる。例えば、計算言語学における独立したアルゴリズムを用いて文書の可読性（readability）または深さ（depth）を特徴づけることができる。
【００７８】
図示した実施形態では、オントロジ特性モジュール３２は、深さエンジン２３０、テーマエンジン２４０、具体性エンジン２４４、オントロジ特性（ＯＦ）アプリケーションエンジン２５０を含む。深さエンジン２３０はワード（例えばワードそのものやワードを含む文書）の深さ（depth）を決定する。一般的に、深さはワードのテキスト的な精巧さ（textual  sophistication）を示す。深さがより大きい（深い）ワードは、より技術的かつ専門的であり、深さがより小さい（浅い）ワードは、より一般的なものである。実施形態では、深さモジュール３２は文書のワードの深さを計算し、そのワードの深さに基づきその文書の深さを計算する。実施形態では、深さエンジン２３０は深さ値及び／または深さランキングを文書及び／またはワードに割り当てる。より深い文書またはワードにはより高い深さ値または深さランキングが割り当てられ、より浅い文書またはワードにはより低い深さ値または深さランキングが割り当てられる。
【００７９】
深さエンジン２３０はワードの深さを任意の適切な方法で計算する。実施形態では、深さエンジン２３０は平均類似性によりワードの深さを計算する。上記の実施形態では、ワードの深さはそのワードの平均類似性の関数である。より深いワードはより低い平均類似性を有し、より浅いワードはより高い平均類似性を有する。具体例では、深さエンジン２３０はワードをその平均類似性によりランキングすることによりそのワードの深さを計算する。平均類似性が低いワードには高い深さランキングが与えられ、平均類似性が高いワードには低い深さランキングが与えられる。
【００８０】
実施形態では、深さエンジン２３０はクラスタリング分析を用いてワードの深さを計算する。上記の実施形態では、クラスタ内のワードは互いに強く類似しているが、クラスタ外のワードとはそれほど類似していない。クラスタ空間における距離を類似性により測るが、これは深さのインジケータである。実施形態では、属するクラスタ数が少ないワード、小さいクラスタに属するワード、及び／または他のクラスタから遠いクラスタに属するワードは深いものとみなされる。一方、属するクラスタ数が多いワード、大きいクラスタに属するワード、及び／または他のクラスタに近いクラスタに属するワードは浅いものとみなされる。
【００８１】
他の実施形態では、深さエンジン２３０は類似性グラフ１５０のリンク分析をしてワードの深さを計算する。リンク分析は、ＰＡＧＥＲＡＮＫなどの任意の適切なリンク分析アルゴリズムで行うことができる。便宜的に、図６の類似性グラフ１５０を利用してワードの深さを計算することもできる。類似性グラフ１５０はノード１５４とリンク１５８を含む。ノード１５４はワードを表す。ノード１５４間のリンク１５８は、そのノード１５４が表すワード間の類似性が、ある類似性閾値より大きいこと、すなわちそのワードが十分類似していることを示している。
【００８２】
実施形態では、深さエンジン２３０はノード１５４の人気度（popularity）を計算する。人気のあるノード１５４は浅いワードを表し、人気のないノード１５４は深いワードを表す。第１のノード１５４から第２のノード１５４へのリンク１３６は、第１のノード１５４による第２のノード１５４への人気度投票であると考えられる。また、人気のあるノード１５４からの投票（vote）は人気のないノード１５４からの投票よりも重みが大きい。さらに、第１のノード１５４の第２のノード１５４に対する類似性はその投票に重みづけする。深さエンジン２３０はノード１５４への重みつき投票から、そのノード１５４の人気度を計算する。人気のないワードは深いものと考えられ、人気のあるワードは浅いものと考えられる。
【００８３】
深さエンジン２３０は文書の深さを任意の適切な方法で計算する。実施形態では、深さエンジン２３０は文書の少なくとも１つのワード、一部のワード、またはすべてのワードの深さにより、その文書の深さを計算する。実施形態では、ワードの深さは平均類似性で与えられ、文書の深さをその文書のワードの平均類似性から計算してもよい。例えば、文書の浅さ（shallowness）はその文書のワードの平均類似性の平均、すなわち、その文書中の各ワードの平均類似性の合計をその文書中のワードの総数で割ったものである。文書の深さは、その文書の浅さの逆数として計算できる。
【００８４】
実施形態では、深さは文書中の選択された一組のワードの平均的深さから計算できる。選択された一組のワードには、その文書の基本的ワードが含まれる。例えば、（深さが）トップＸ％のワードが含まれる。ここで、Ｘは１０より小さくても、１０乃至２０でも、２０乃至３０でも、３０乃至４０でも、４０乃至５０でも、５０乃至６０でも、６０乃至７０で、７０より大きくてもよい。選択された一組のワードには、Ｐ％の標準的な文法ワードや、Ｑ％のストップワードが含まれない。ここで、ＰとＱは任意の適切な値であり、１０より小さくても、１０乃至２０でも、２０乃至３０でも、３０乃至４０でも、４０乃至５０でも、５０乃至６０でも、６０乃至７０で、７０より大きくてもよい。
【００８５】
実施形態では、深さエンジン２３０は文書におけるワードの深さの分布により、その文書の深さを計算する。実施形態では、深い文書は、深いワードを有する割合が高い。
【００８６】
ある実施形態では、深さエンジン２３０は文書の類似性（affinity）によりその文書の深さを計算する。文書間の類似性はその文書間の関係を示す。実施形態では、ワードの平均類似性がそのワードの深さを示すのと同様に、文書の平均類似性はその文書の深さを示す。文書の類似性は任意の適切な方法で定義することができる。一例では、共通ワード数Ｐ（Ｄ１＆Ｄ２）は文書Ｄ１とＤ２の両方にあるワードの数を示し、個別ワード数Ｐ（Ｄ１＋Ｄ２）は文書Ｄ１またはＤ２のいずれかにあるワードの数を示す。文書Ｄ１とＤ２の間の文書類似性ＤｏｃＡｆｆは次式で定義できる：
【数１４】
0005332477.tif 000015
【００８７】
深さエンジン２３０は、平均ワード類似性の計算と同様に平均文書類似性を計算する。平均類似性が低い文書は深いものであると考えられ、平均類似性が高い文書は浅いものであると考えられる。
【００８８】
実施形態では、深さエンジン２３０は、文書類似性グラフのリンク分析をして文書の深さを計算する。文書類似性グラフは類似性グラフ１５０と同様だが、文書類似性グラフのノードはワードではなく文書を表す。深さエンジン２３０は第１の文書を表す第１のノードから第２の文書を表す第２のノードへのリンクを、第１の文書が与えられたときの第２の文書の文書類似性で重み付けする。出て行くリンクの重みを規格化してもよい。
【００８９】
実施形態では、深さグラフをユーザインターフェースに表示して文書の深さを表示する。深さレベルを選択できる深さスライダを併せて表示してもよい。実施形態では、文書がより大きな文書のセクションであるとき、深さグラフはそのセクションを示す。
【００９０】
実施形態では、深さエンジン２３０は文書深さを任意の適切な方法で計算できる。例えば、文書の類似性のヒストグラムを処理し、及び／または深さに基づき異なるワードの割合をトランケート（truncate）してからヒストグラムを処理することができる。他の方法には、Ｇｕｎｎｉｎｇ−Ｆｏｇ法、Ｆｌｅｓｃｈ法、またはＦｒｙ法がある。
【００９１】
実施形態では、深さエンジン２３０は深さ値をある深さレベルにマッピングして、深さを較正してもよい。実施形態では、範囲Ｒｉの深さ値をレベルＬｉにマッピングする。例えば、Ｒ０＝｛ｒ０：ｒ０＜ｃ０｝をレベルＬ０にマッピングし、Ｒ１＝｛ｒ１：ｃ０＜ｒ１＜ｃ１｝をレベルＬ１にマッピングし、．．．、Ｒｎ＝｛ｒｎ：ｃｎ＜ｒｎ｝をレベルＬｎにマッピングする。これらの範囲は任意の適切な深さ値を含み、同じ大きさである必要はない。レベルの数は任意の適切なものであればよく、５より少なくても、５から７であっても、７または８であっても、８から１０であっても、１０から２０であっても、２０から５０であっても、５０から１００であっても、１００より多くてもよい。
【００９２】
テーマエンジン２４０は文書のテーマ（すなわちトピックス）を決定する。実施形態では、クラスタリングモジュール３１が特定した文書中のワードのクラスタから、テーマエンジン２４０がテーマを決定する。上記の通り、ワードのクラスタはその一組のワードのテーマ（すなわちトピック）を指定する。文書のテーマはその文書の内容に関して有用な情報を提供する。例えば、クラスタ｛腎臓、肝臓、タンパク質、問題｝を含む文書は、おそらく腎臓の機能低下による肝臓からのタンパク質のもれに関するものであり、インゲン豆のタンパク質成分に関するものではない。
【００９３】
実施形態では、テーマエンジン２４０はテーママップからテーマを決定する。上記の実施形態では、例えば、ＴＦ−ＩＤＦ（term  frequency-inverse  document  frequency）法など任意の適切な方法を用いて文書からキーワードを抽出する。キーワードを用いてテーママップからテーマの候補を選択する。テーマ候補を文書と比較して、そのテーマがその文書に合致するか決定する。例として、テーマ候補のヒストグラムを文書のヒストグラムと比較する。テーマ候補が文書と合致したら、そのテーマにより、その文書のテーマのタイプや数を推定する。
【００９４】
具体性エンジン２４４は文書の具体性（specificity）を計算する。実施形態では、具体性エンジン２４４は、具体性値及び／または具体性ランキングを文書に割り当てる。より具体的な文書にはより高い具体性値または具体性ランキングが割り当てられ、より具体的でない文書にはより低い具体性値または具体性ランキングが割り当てられる。
【００９５】
実施形態では、具体性エンジン２４０は文書のテーマの数から具体性を計算する。例として、具体的な文書のテーマは少なく、具体的でない文書のテーマは多い。実施形態では、具体性エンジン２４０は文書のテーマの数と、そのテーマ間の類似性から具体性を計算する。例として、具体的な文書のテーマは、テーマ間の類似性が高くて少ない。一方、具体的でない文書のテーマは、テーマ間の類似性が低くて多い。
【００９６】
実施形態では、テーマの数は深さ（すなわちレベル）に依存する。例えば、深さが小さい１つのテーマは深さが大きい複数のテーマを表す。実施形態では、深さはユーザが深さスライダを用いて選択するか、予め決まっている。実施形態では、レベルはユーザが選択するか、予め決まっている。例えば、任意の適切な数のレベルを決めて、そのレベルに対して深さを計算する。例えば、レベルは、ドメインベース（例えば、エンジニアリング、医療、ニュース、スポーツ、金融などのドメイン）、専門ベース（例えば、心臓科、眼科、腎臓科などの専門）、トピックベース（例えば、高血圧、コレステロール、バイパス手術、動脈硬化などのトピックス）、詳細ベース（例えば、立ちくらみ、慢性高血圧、急性高血圧などの詳細）、解決策ベース（例えば、老人性病因、医薬、遺伝子などの解決策）、人ベース（例えば、ユーザクエリレベルなど）などがある。
【００９７】
オントロジ特性アプリケーションエンジン２５０は、（深さ、テーマ、具体性などの）オントロジ特性を用いて、任意の適切な状況でオントロジ特性分析を行う。適切な場合とは、例えば、オントロジ特性による文書の検索、ソート、推奨、選択や、文書のオントロジ特性のレポートや、ユーザの文書（または複数組みの文書）のオントロジ特性の決定などである。実施形態では、オントロジ特性アプリケーションエンジン２５０はオントロジ特性に関する情報を含むインデックスを使用する。一例では、オントロジ特性アプリケーションエンジン２５０は、深さランキングにより生成及び／または維持された文書深さ（ＤＤ）逆インデックス６２を使用する。ＤＤ逆インデックス６２は、ＤＤ逆インデックスリストを含む。ワードのＤＤ逆インデックスリストは、そのワードを含む文書（またはページ５０）の文書識別子をリストする。文書の文書識別子はその文書の深さを示す。例えば、文書識別子のエンコードに用いるバイナリエンコーディングは、深さを示す。場合によっては、ＤＤ逆インデックスリストは十分な深さを有する文書のみをリストしたものである。他の例では、オントロジ特性アプリケーションエンジン２５０は、逆インデックス６２に加えてランキングテーブルと深さテーブルを利用する。深さテーブルは文書の深さを示すものである。
【００９８】
実施形態では、オントロジ特性アプリケーションエンジン２５０は、指定された文書深さや具体性の値などの指定されたオントロジ特性値を有する文書を検索する。指定地は予め決められていても、計算してもユーザが選択してもよい。実施形態では、深さスライダや具体性スライダを用いて値を選択してもよい。
【００９９】
実施形態では、オントロジ特性アプリケーションエンジン２５０は、文書をソートするソート規準としてオントロジ特性を利用する。例えば、オントロジ特性アプリケーションエンジン２５０は、ソート規準だけでなく、テーマに関して文書深さ及び／または具体性により文書をソートする。例として、オントロジ特性アプリケーションエンジン２５０は、ＤＤ逆インデックス６２を検索して、文書深さによりソートされた文書を求める。例として、オントロジ特性アプリケーションエンジン２５０は、非ＤＤ逆インデックス６２を用いて文書を検索して、深さにより文書をソートする。
【０１００】
実施形態では、オントロジ特性アプリケーションエンジン２５０は、オントロジ特性の値をクライアント２０にグラフィカルに表示する。例えば、検索結果のトップＸ％の文書など、文書の一部または全部をグラフィカルに表示してもよい。オントロジ特性値を任意の適切な方法で表示できる。例として、数字、言葉、アイコンなどのグラフィカルインジケータにより値を示すことができる。例えば、検索結果のリスト中のアイテムや、オンラインニュースペーパーのヘッドラインや、文書アイコンなどの隣にグラフィカルインジケータを配置してもよい。例として、既存の図象（iconography）を修正して値を表示できる。例えば、テキストのサイズ、フォント、スタイル、カラーやグラフィカルインジケータにより値を示すことができる。他の例では、グラフにより値を示すことができる。オントロジ特性ヒストグラムは、文書量軸とオントロジ特性軸を含み、あるオントロジ特性値を有する文書の量を示す。例えば、文書量軸と文書深さ軸とを含む文書深さヒストグラムは、文書深さごとの文書量を示している。
【０１０１】
実施形態では、ユーザは、オントロジ特性アプリケーションエンジン２５０により、特定のオントロジ特性値を有する文書の検索をすることができる。ユーザは、クエリで用いる複数のワードのそれぞれにオントロジ特性値を指定することができる。例として、ユーザは、オントロジ特性アプリケーションエンジン２５０により深さを選択するオプションを提供され、深さを選択して入力することができる。そのオプションは任意の適切な方法で提供することができる。例えば：（ｉ）絶対的ターム（深さを表す数字や数字の範囲など）；（ｉｉ）相対的ターム（深さに関する検索結果の一部で、例えば「最も深いＸ％」など）；（ｉｉｉ）意味的ターム（「入門的」、「浅い」、「深い」、「極めて深い」、「非常に技術的」など）；（ｉｖ）グラフィカルターム（スライダ、ボタン、その他のグラフィカル要素など）；（ｖ）任意の適切なタームの組み合わせ（意味的ラベルを伴うスライダなど）である。場合によっては、スライダの端は「浅い」と「深い」である。ユーザはスライダを一端または他端に向けて動かして深さを選択できる。検索結果が求まると、スライダの横に文書深さヒストグラムが表示され、スライダを文書深さの軸として使用できる。
【０１０２】
実施形態では、オントロジ特性アプリケーションエンジン２５０はユーザのオントロジ特性キャラクタを計算できる。オントロジ特性キャラクタには、テーマとの関連でユーザ深さとユーザ具体性が含まれる。オントロジ特性キャラクタはそのユーザの文書のオントロジ特性を記述する。例えば、科学者は、第三者である評価者（third  grader）が使う文書より深い文書を使う。オントロジ特性キャラクタはテーマに対して与えられる。例えば、遺伝学者は、詩の分野で使うものよりも深い文書を遺伝学の分野では使う。オントロジ特性キャラクタを用いてユーザの専門を決定し、その人の経歴を構成しても、ソーシャルネットワークを分析してもよい。
【０１０３】
ユーザの通信（電子メールやインスタントメッセージなど）や、ウェブページや、検索履歴（検索クエリや選択したページなど）などの任意の適切な文書を分析してオントロジ特性キャラクタを推定する。実施形態では、オントロジ特性アプリケーションエンジン２５０はオントロジ特性キャラクタ（ontology  feature  character）を時間的に追跡して、過去のキャラクタを使って将来のキャラクタを予測できる。例として、オントロジ特性アプリケーションエンジン２５０では、一般的にユーザ深さ及び／または具体性は時間及び／またはある分野における活動とともに増大することを仮定してもよい。
【０１０４】
実施形態では、オントロジ特性アプリケーションエンジン２５０では複数の動作を組み合わせてもよい。例えば、オントロジ特性アプリケーションエンジン２５０はユーザの深さをモニターし、そのユーザ深さに応じた文書を検索する。一例では、ユーザ深さをモニターし、ニュースをその深さに応じて提供する。将来のユーザ深さを予測して、予測されたユーザ深さに合ったニュースを提供する。
【０１０５】
図９は、図１のシステム１０で使用できる階層モジュール３７の一実施形態を示す図である。実施形態では、階層モジュール３７は、ターム階層を表す階層グラフを生成する。上記実施形態では、階層モジュール３７は、ページ５０（または文書）等であるコーパスにアクセスする。階層モジュール３７は、有向類似性によりコーパスのタームの親タームを特定して、親子関係を決定（establish）する。次に、階層モジュール３７は、親子関係から階層グラフを自動的に生成する。図示した実施形態では、階層モジュール３７はグラフエンジン３２０と階層アプリケーションモジュール３２２とを含む。グラフエンジン３２０は階層グラフ３５０を生成する。図１０を参照して階層グラフの一例を説明する。
【０１０６】
図１０は、階層グラフ３５０の一例を示す図である。実施形態では、階層グラフ３５０はタームの階層を表す。上記の実施形態において、階層グラフ３５０は、タームを表すノード３５４と、親タームから子タームへの親子関係を表す弧（arc）３５８とを含む。実施形態では、親子関係では、親タームと子タームは有向類似性等の類似性により関係づけられている。親タームは子タームより一般的であり、逆に子タームは親タームより具体的である。
【０１０７】
実施形態では、祖父母（または曾祖父母やその先）のタームと子タームとの間の関係も親子関係と呼ぶ。すなわち、親子関係は親タームから始まり、（その関係において親タームまたは子タームとして機能する）１つまたはそれ以上の親／子タームを通って、または通らずに子タームで終わる。換言すると、親子関係は任意の適切な世代数を有してもよい。
【０１０８】
図９を参照するに、図示した実施形態においては、グラフエンジン３２０は親子識別器３２４とグラフ減縮器３２８を含む。実施形態では、親子識別器３２４はターム間の親子関係を識別し、グラフ減縮器３２８は階層グラフ３５０を減縮する。
【０１０９】
ある実施形態では、グラフエンジン３２０はコーパスＣの文書集合Ｓの階層グラフ３５０を生成する。文書はタームを含む。Ｐａｇｅｓ（Ｘ，Ｃ）はタームＸが少なくとも１回は出現する文書を含む、集合Ｓの部分集合を表す。Ｐａｇｅｓ（Ｘ＋Ｙ，Ｃ）は、タームＸが少なくとも１回出現し、タームＹが少なくとも１回出現する文書を含む、集合Ｓの部分集合を表す。ＤｏｃＦｒｅｑ（Ｘ，Ｃ）はタームＸが少なくとも１回出現する文書数を表し、次式で計算できる：
【数１５】
0005332477.tif 000016
【０１１０】
上記の通り、有向類似性を用いて、あるタームの他のタームに対する重要性を測定する。ある実施形態では、有向類似性は、ある文書が第１のタームを含むとして、その文書が第２のタームを含む尤度（likelihood）を示す。尤度が高いとき有向類似性が高く、尤度が低いとき有向類似性は低い。例えば、リンパ腫は癌の一種である。「リンパ腫」を含む文書は、「癌」も含む確率が高い。したがって、リンパ腫から癌への有向類似性は高い。しかし、逆は必ずしも正しくない。癌にはいろいろな種類があり、「癌」を含む文書のうち多くのものが「リンパ腫」は含まない。したがって、癌からリンパ腫への有向類似性は低い。
【０１１１】
有向類似性は、例えば上記の表示方法などを用いて、任意の適切な方法で表すことができる。他の実施形態では、ＤＡｆｆ（Ｘ，Ｙ，Ｃ）はコーパスＣにおいてＸが与えられたときのＹの有向類似性を表し、次式で計算できる：
【数１６】
0005332477.tif 000017
【０１１２】
ある実施形態では、親子識別器３２４は、タームＸの一組の親ターム候補Ｙｉを決定することにより、親子関係を識別する。上記の実施形態では、タームＸから親タームＹｉへの有向類似性は高いが、親タームＹｉはタームＸを含む文書よりタームＸを含まない文書により多く出現する。これは、タームＸは親タームＹｉに関係しているが、必須のものではないことを示している。
【０１１３】
ある実施形態では、タームＸから親タームＹｉへの有向類似性が高い状態は次式で表せる：
【数１７】
0005332477.tif 000018
ここで、Ｔｈｈｉｇｈは高い有向類似性を示す高有向類似性閾値を表す。高有向類似性閾値の値は任意の適切なものでればよく、例えば０．５以上、０．６以上、または０．７以上などの範囲である。
【０１１４】
実施形態では、親タームＹｉが、タームＸを含む文書よりも含まない文書により多く出現し、親タームＹｉに関係するが必須ではない状態は、次式で表すことができる：
【数１８】
0005332477.tif 000019
ここで、Ｔｈｌｏｗは、低い有向類似性を示す低有向類似性閾値を表し、Ｔｈｍｉｎは最小有効類似性閾値を表す。低有向類似性閾値の値は任意の適切なものでよく、例えば０．５以下、０．４以下、または０．１以下などの範囲である。最低有向類似性閾値の値は任意の適切なものでよく、例えば０．１以下、０．０１以下、または０．００１以下などの範囲である。あるターム（子タームとする）に対し上記の条件を満たす親ターム候補Ｙｉをそのタームの親タームとする。
【０１１５】
タームを表すノード３５４を、親子関係により階層グラフに整理する。実施形態では、グラフ縮小器３２８は冗長な親子関係を削除して階層グラフ３５０を縮小する。冗長な親子関係の削除の一例を図１１Ａと図１１Ｂを参照して説明する。
【０１１６】
図１１Ａ及び図１１Ｂは、冗長な親子関係を削除できるノードを示す図である。冗長な親子関係は、ある親子関係で冗長なものである。冗長な親子関係は当該親子関係が提供する以上の情報は提供しない。例えば、当該親子関係は、親タームと、ゼロ、１つ、または複数の親／子タームと、子タームとを有する。冗長な親子関係は同じ親タームと、同じ一組（subset）の親／子タームと、同じ子タームとを有し、その他のタームは含まない。換言すると、子は互いにリンクされた２つの親タームを有する。
【０１１７】
図示した例では、親子関係は親ターム「health」と、親／子ターム「disease」と、子ターム「diabetes」とを有する。冗長な親子関係は親ターム「health」と、子ターム「diabetes」とを有する。グラフ縮小器３２８は冗長な親子関係を削除する。
【０１１８】
図９に戻り、実施形態では、階層アプリケーションモジュール３２２は階層グラフ３５０を使用する。階層モジュール３７は任意の適切なコーパスから任意の適切な階層グラフを生成する。階層アプリケーションモジュール３２２はその階層グラフを任意の適切な方法で使用する。
【０１１９】
ある実施形態では、コーパスはタームを含む文書よりなり、階層グラフ３５０はその文書のカタログとして機能し、階層グラフ３５０を用いて文書の検索ができる。上記実施形態のある例では、階層アプリケーションモジュール３２２は、階層グラフ３５０の親ノードをクライアントに送る。ユーザは検索タームを親タームから選択してもよい。階層アプリケーションモジュール３２２は、選択された親タームを受け取り、その子タームをクライアントに送る。ユーザはタームから選択してもよく、階層グラフ３５０が終わるまで、またはユーザが選択を終わるまで上記の仮定を繰り返す。
【０１２０】
実施形態の他の例では、階層アプリケーションモジュール３２２は階層グラフの親タームを含む検索クエリを受け取る。階層アプリケーションモジュール３２２は、親タームの子タームを特定し、その親タームと子タームを用いてコーパスを検索する。上記実施形態のさらに他の例では、階層グラフ３５０の各グラフタームは、グラフタームを含む文書と関連づけされる。階層アプリケーションモジュール３２２は、階層グラフ３５０の親タームを含む検索クエリを受け取る。次に、階層アプリケーションモジュール３２２は、その親タームまたはそれの子タームと関連づけられた文書を検索する。
【０１２１】
ある実施形態では、コーパスは検索結果を含み、階層グラフ３５０はその検索結果の親子関係によりその検索結果を整理する。階層グラフ３５０のタームは検索結果のトピック、または検索結果が含まれるクラスタのトピックを表す。階層アプリケーションモジュール３２２は、階層グラフ３５０及び／または整理された検索結果をユーザに提示する。
【０１２２】
本発明の範囲から逸脱することなく、本方法に修正、追加、または削除をすることができる。本方法に含まれるステップはこれより多くても少なくてもよく、他のステップが含まれてもよい。また、ステップを好適な任意の順序で実行してもよい。
【０１２３】
本発明の実施形態により以下の技術的有利性がもたらされる。一実施形態の技術的優位性は、文書のコーパスについて、タームの階層を表す階層グラフを自動的に生成することである。階層グラフはターム間の親子関係を記述し、そのコーパスの文書のカタログとして機能する。他の実施形態の技術的優位性は、検索結果について、階層グラフを自動的に生成することである。階層グラフは検索結果を整理する機能を果たす。
【０１２４】
本開示を実施形態に関して説明したが、これらの実施形態の変形や置き換えは当業者には明らかであろう。従って、上記の実施形態の説明は本開示を限定するものではない。特許請求の範囲に記載した本開示の精神と範囲から逸脱せずに、その他の変更、置き換え、改変も可能である。
【０１２５】
（付記１）  有体媒体に格納された、複数のタームを含むコーパスにアクセス段階と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める段階と、
前記複数の親子関係から階層グラフを自動的に生成する段階とを含む方法。
（付記２）  有向類似性により前記各タームの一以上の親タームを特定する段階は、さらに、
前記各タームから親ターム候補への有向類似性が高いと決定する段階と、
前記親ターム候補から前記各タームへの有向類似性がゼロではないが低いと決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階とを含む、
付記１に記載の方法。
（付記３）  有向類似性により前記各タームの一以上の親タームを特定する段階は、さらに、
前記各タームから親ターム候補への有向類似性が０．６より高いと決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が０．４より小さく、０．１より大きいと決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階とを含む、
付記１に記載の方法。
（付記４）  前記複数の親子関係から前記階層グラフを自動的に生成する段階は、
親子関係と前記階層グラフの冗長な親子関係を特定する段階と、
前記階層グラフから前記冗長な親子関係を削除する段階と
により前記階層グラフを縮小する段階をさらに含む、
付記１に記載の方法。
（付記５）  前記コーパスは複数の文書を含み、前記部句数の文書は前記複数のタームを含み、
前記階層グラフは前記複数の文書のカタログを表す、
付記１に記載の方法。
（付記６）  前記コーパスは複数の検索結果を含み、
前記一以上のタームのうちの一タームは検索結果の一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
付記１に記載の方法。
（付記７）  前記コーパスは複数のクラスタに整理された複数の検索結果を含み、
前記一以上のタームのうちの一タームはクラスタの一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
付記１に記載の方法。
（付記８）  前記階層グラフの複数の親タームをクライアントに送る段階と、
複数の子タームを有する親タームの選択を受け取る段階と、
前記複数の子タームを前記クライアントに送る段階とを含む、
付記１に記載の方法。
（付記９）  前記階層グラフの親タームを含む検索クエリを受け取る段階と、
前記親タームの一以上の子タームを特定する段階と、
前記親タームと前記一以上の子タームとを用いて前記コーパスを検索する段階とを
付記１に記載の方法。
（付記１０）  前記コーパスは複数の文書を含み、前記複数の文書は前記複数のタームを含み、
前記階層グラフの各グラフタームに前記各グラフタームを含む文書を関連づける段階と、
親タームを含む検索クエリを受け取る段階と、
前記親タームの子と関連する一以上の文書を検索する段階とを含む、
付記１に記載の方法。
（付記１１）  実行したとき、
有体媒体に格納された、複数のタームを含むコーパスにアクセス段階と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める段階と、
前記複数の親子関係から階層グラフを自動的に生成する段階と
を実行するソフトウェアをエンコードしたコンピュータ読み取り可能有体媒体。
（付記１２）  前記ソフトウェアは、
前記各タームから親ターム候補への有向類似性が高いと決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が低いと決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が最小閾値より高いと決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階とにより、有向類似性により前記各タームの一以上の親タームを特定する、付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１３）  前記ソフトウェアは、
前記各タームから親ターム候補への有向類似性が０．６より高いと決定する段階と、
前記親ターム候補から前記各タームへの有向類似性が０．４より小さく、０．１より大きいと決定する段階と、
前記各タームの親タームとして前記親ターム候補を特定する段階と
により、有向類似性により前記各タームの一以上の親タームを特定する、付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１４）  前記ソフトウェアは、
親子関係と前記階層グラフの冗長な親子関係を特定する段階と、
前記階層グラフから前記冗長な親子関係を削除する段階と
により、前記階層グラフを縮小することにより、前記複数の親子関係から前記階層グラフを自動的に生成する、付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１５）  前記コーパスは複数の文書を含み、前記部句数の文書は前記複数のタームを含み、
前記階層グラフは前記複数の文書のカタログを表す、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１６）  前記コーパスは複数の検索結果を含み、
前記一以上のタームのうちの一タームは検索結果の一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１７）  前記コーパスは複数のクラスタに整理された複数の検索結果を含み、
前記一以上のタームのうちの一タームはクラスタの一トピックを表し、
前記階層グラフは前記複数の検索結果の前記複数の親子関係を記述する、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１８）  前記ソフトウェアは、さらに、
前記階層グラフの複数の親タームをクライアントに送る段階と、
複数の子タームを有する親タームの選択を受け取る段階と、
前記複数の子タームを前記クライアントに送る段階とを実行する、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記１９）  前記ソフトウェアは、さらに、
前記階層グラフの親タームを含む検索クエリを受け取る段階と、
前記親タームの一以上の子タームを特定する段階と、
前記親タームと前記一以上の子タームとを用いて前記コーパスを検索する段階とを実行する、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記２０）  前記コーパスは複数の文書を含み、前記部句数の文書は前記複数のタームを含み、
前記ソフトウェアは、さらに、
前記階層グラフの各グラフタームに前記各グラフタームを含む文書を関連づける段階と、
親タームを含む検索クエリを受け取る段階と、
前記親タームの子と関連する一以上の文書を検索する段階とを実行する、
付記１１に記載のコンピュータ読み取り可能有体媒体。
（付記２１）  有体媒体に格納された、複数のタームを含むコーパスにアクセスする手段と、
前記複数のタームの一以上のタームのうちの各タームについて、有向類似性により前記各タームの一以上の親タームを特定し、前記一以上の親タームと前記各タームとから一以上の親子関係を決定して、複数の親子関係を求める手段と、
前記複数の親子関係から階層グラフを自動的に生成する手段とを含むシステム。
【図面の簡単な説明】
【０１２６】
【図１】ターム階層を表す階層グラフを自動生成するシステムの一実施形態を示す図である。
【図２】図１のシステムで利用できる類似性モジュールの一実施形態を示すブロック図である。
【図３】基本類似性を記録する類似性マトリックスの一例を示す図である。
【図４】基本類似性を記録する類似性マトリックスの一例を示す図である。
【図５】平均類似性を記録する類似性マトリックスの一例を示す図である。
【図６】類似性グラフの一例を示す図である。
【図７】図１のシステムで使用できるクラスタリングモジュールの一実施形態を示す図である。
【図８】図１のシステムで利用できるオントロジ特性モジュールの一実施形態を示すブロック図である。
【図９】図１のシステムで使用できる階層モジュールの一実施形態を示す図である。
【図１０】階層グラフの一例を示す図である。
【図１１Ａ】冗長な親子関係を削除できるノードを示す図である。
【図１１Ｂ】冗長な親子関係を削除できるノードを示す図である。
【符号の説明】
【０１２７】
１０  システム
２０  クライアント
２２  サーバ
２４  メモリ
３０  類似性モジュール
３１  クラスタリングモジュール
３２  オントロジ特性モジュール
３４  類似性計算器
３７  階層モジュール
３８  オントロジ生成器
４２  類似性マトリクス生成器
４６  類似性グラフ生成器
４８  ワード推奨器
５０  ページ
５４  レコード
５８  インデックス
６２  逆インデックス
６６  オントロジ
６７  クラスタ
６８  階層グラフ
２１０  クラスタリングエンジン
２１４  クラスタ分析器
２３０  深さエンジン
２４０  テーマエンジン
２４４  具体性エンジン
２５０  オントロジ特性アプリケーションエンジン
３２０  グラフエンジン
３２２  階層アプリケーションモジュール
３２４  親子識別子
３２８  グラフ縮小器
【図１】
0005332477.tif 000020
【図２】
0005332477.tif 000021
【図３】
0005332477.tif 000022
【図４】
0005332477.tif 000023
【図５】
0005332477.tif 000024
【図６】
0005332477.tif 000025
【図７】
0005332477.tif 000026
【図８】
0005332477.tif 000027
【図９】
0005332477.tif 000028
【図１０】
0005332477.tif 000029
【図１１Ａ】
0005332477.tif 000030
【図１１Ｂ】
0005332477.tif 000031