(57)【特許請求の範囲】
【請求項１】
ウィキペディア概念およびウィキペディアカテゴリを解析するためのマシン実装方法であって、
エクストラクタモジュールが、複数の文書に関連付けられたオンライン百科事典を備えるウェブサイトにアクセスするステップであって、ここで前記複数の文書が各々が１つ以上のウィキペディア概念を前記ウェブサイト用のデータベース内に有するウィキペディアカテゴリを備える、アクセスするステップと、
カテゴリランク演算モジュールが、前記複数の文書に関連付けられた各カテゴリについて、
前記ウィキペディア概念のうちの第１のウィキペディア概念の数であって、前記第１のウィキペディア概念に関するウィキペディアカテゴリは、前記第１のウィキペディア概念を直接的に含む第１レベルのウィキペディアカテゴリである、第１のウィキペディア概念の数と、
前記ウィキペディア概念のうちの第２のウィキペディア概念の数であって、前記第２のウィキペディア概念に関するウィキペディアカテゴリは、前記第２のウィキペディア概念が、今度は前記第２のウィキペディア概念を含むカテゴリのうちの他のカテゴリのメンバーであることを通してのみ前記第２のウィキペディア概念を含む第２レベルのウィキペディアカテゴリである、第２のウィキペディア概念の数と、
同様に続いて、前記ウィキペディア概念のうちの第ｎのウィキペディア概念の数であって、前記第ｎのウィキペディア概念に関するウィキペディアカテゴリは、第ｎのレベルのウィキペディアカテゴリである、第ｎのウィキペディア概念の数まで、
を計数するステップであって、ここでｎは２以上の正の整数であり前記ウィキペディアカテゴリの階層の設定最大数に制限される、計数するステップと、
パーサモジュールが、各ウィキペディア概念について、前記ウィキペディア概念がハイパーリンクする全ての他のウィキペディア概念を識別し、各ウィキペディア概念について参照されるウィキペディア概念のマップを生成し、類似性演算モジュールが、前記全ての他のウィキペディア概念及び前記ウィキペディア概念内のすべての前記参照されるウィキペディア概念の和集合ごとに、前記全ての他のウィキペディア概念と前記ウィキペディア概念との間の類似性スコアを、前記全ての他のウィキペディア概念と前記ウィキペディア概念との間の前記参照されるウィキペディア概念の共通部分の比として決定するステップと、
前記カテゴリランク演算モジュールが、各ウィキペディアカテゴリについて、ｎ個のレベルのうち最も多い計数を有するレベルを決定し、前記最も多い計数を有するレベルとなるように前記ウィキペディアカテゴリを分類するステップと、
前記カテゴリランク演算モジュールが、各レベルについて、前記ウィキペディアカテゴリの概念の平均ページランクに対する閾値を超える前記ウィキペディアカテゴリの概念の前記平均ページランクに少なくとも基づいて、前記レベルに分類された複数のウィキペディアカテゴリのうち最も有意な概念を有するウィキペディアカテゴリを決定して、前記最も有意な概念を有する各レベルに分類されたウィキペディアのカテゴリの集合を決定するステップと、
前記類似性演算モジュールが、前記ウェブサイトの前記複数の文書内の前記ウィキペディア概念を用いて前記ウェブサイトの前記データベースに関連付けられた逆索引を生成するステップであって、ここで前記逆索引は前記ウィキペディア概念を前記ウィキペディアカテゴリにマップする、生成するステップと、
前記類似性演算モジュールが、参照されるウィキペディア概念の前記マップ、前記類似性スコア、及び、各レベルについて前記レベルに分類されたウィキペディア概念のいずれが前記概念のうちの前記最も有意な概念を有するのかという前記決定を用いて、前記逆索引を更新するステップと、
前記類似性演算モジュールが、前記ウェブサイト上でユーザによって実行される入力に関連付けられた前記複数の文書のうちの少なくとも一つの示唆される文書を前記ウェブサイトにアクセスしているユーザに対して出力するステップであって、ここで前記少なくとも一つの示唆される文書は、前記更新された逆索引に基づく１つ以上の前記ウィキペディアカテゴリ又は前記ウィキペディア概念へ案内する、出力するステップと、
を含む、マシン実装方法。
【請求項２】
前記ウィキペディアカテゴリの部分集合が循環機構を有し、
前記マシン実装方法が、
階層エクストラクタフィルタモジュールが、前記カテゴリランク演算モジュールが前記ウィキペディアカテゴリを分類する前に、前記ウィキペディアカテゴリの前記部分集合について、前記循環機構を解消するステップ、
を更に含む、請求項１に記載のマシン実装方法。
【請求項３】
概念重要性演算モジュールが、ユーザからの前記入力を受信するステップと、
前記概念重要性演算モジュールが、前記入力を分析して、前記入力により示唆されるウィキペディア概念の第１の集合を識別するステップと、
階層エクストラクタフィルタモジュールが、参照されるウィキペディア概念の前記マップを介して前記ウィキペディア概念の第１の集合を参照して、前記ウィキペディア概念の第１の集合に関連する追加のウィキペディア概念を識別するステップと、
を更に含む、請求項１に記載のマシン実装方法。
【請求項４】
概念重要性演算モジュールが、ユーザからの前記入力を受信するステップと、
前記概念重要性演算モジュールが、前記入力を分析して、前記入力により示唆されるウィキペディア概念の第１の集合を識別するステップと、
前記概念重要性演算モジュールが、前記第１の集合内の各ウィキペディア概念が閾値となるページランク概念を超えるかどうかに従って、前記ウィキペディア概念の第１の集合を低減して、有意なページランクを有する低減されたウィキペディア概念の集合を形成するステップと、
を更に含む、請求項１に記載のマシン実装方法。
【請求項５】
前記マシン実装方法が、
人気抽出モジュールが、統計を分析して、各ウィキペディア概念について利用人気を識別するステップ、
を更に含み、
前記ウィキペディア概念の集合を形成するステップは、
前記ウィキペディア概念の第１の集合に対して利用人気閾値を適用することにより、前記利用人気閾値を超える利用人気を有する前記第１の集合内のウィキペディア概念のみが前記低減されたウィキペディア概念の集合に属することができるようにすること、を更に含む、請求項４に記載のマシン実装方法。
【請求項６】
前記階層エクストラクタフィルタモジュールが、全て大文字でない文字を用いて各ウィキペディアのカテゴリから文字列を形成するステップと、
前記階層エクストラクタフィルタモジュールが、全ての前記ウィキペディアのカテゴリから得た前記文字列を比較して、同一の文字列を有するウィキペディアのカテゴリを識別するステップと、
前記階層エクストラクタフィルタモジュールが、前記同一の文字列を有するいずれのウィキペディアのカテゴリも、対応するマージ済みの単一のウィキペディアのカテゴリへとマージするステップと、
を更に含む、請求項２に記載のマシン実装方法。
【請求項７】
概念重要性演算モジュールが、ユーザからテキスト入力を受信するステップと、
前記概念重要性演算モジュールが、前記テキスト入力内の言葉と前記更新された逆索引とを比較して、前記テキスト入力に関連するウィキペディアの概念の集合を識別するステップと、
を更に含む、請求項１に記載のマシン実装方法。
【請求項８】
前記概念重要性演算モジュールが、前記関連するウィキペディアの概念と前記分類されたウィキペディアのカテゴリの集合とを、前記最も有意なウィキペディアの概念を有する各レベルについて比較して、前記関連するウィキペディアの概念を含む分類されたウィキペディアのカテゴリの低減された集合を識別するステップ、
を更に含む、請求項７に記載のマシン実装方法。
【請求項９】
前記類似性演算モジュールが、前記関連するウィキペディアの概念の集合と前記分類されたウィキペディアのカテゴリの低減された集合とを使用して、前記ユーザに対して前記ユーザのテキスト入力に関連する内容を提示するステップ、
を更に含む、請求項８に記載のマシン実装方法。
【請求項１０】
前記類似性演算モジュールが、前記参照されるウィキペディア概念のマップを分析して、各ウィキペディア概念から前記参照されるウィキペディア概念と、全ての残りのウィキペディア概念に対して参照されるウィキペディア概念との間のいずれの共通部分も識別するステップ、
を更に含む、請求項１に記載のマシン実装方法。
【請求項１１】
ウィキペディア概念を解析して、各ウィキペディア概念について前記ウィキペディア概念がハイパーリンクする全ての他のウィキペディア概念を識別し、各ウィキペディア概念について全ての参照されるウィキペディア概念を列挙した概念参照マップを生成するよう構成された、パーサモジュールであって、ここで前記ウィキペディア概念が、ウェブサイトのデータベース内の前記ウィキペディア概念用の複数の文書に関連付けられたオンライン百科事典を備えるウェブサイトに含まれている、パーサモジュールと、
ウィキペディア内の、同じ言葉で表現されるが異なるテキストページに対応するウィキペディア概念を列挙する全ての曖昧さ回避ページを識別するよう構成された、曖昧さ回避ページエクストラクタモジュールと、
前記参照されるウィキペディア概念の前記マップをフィルタリングして、曖昧さ回避ページを除去することにより、フィルタリング済みウィキペディア概念参照マップを形成するよう構成された、曖昧さ回避モジュールと、
前記フィルタリング済みウィキペディア概念参照マップを処理して、前記ウィキペディア概念を前記ウィキペディア概念の類似物にマップし、前記全ての他のウィキペディア概念及び前記ウィキペディア概念内のすべての前記参照されるウィキペディア概念の和集合ごとに、前記全ての他のウィキペディア概念と前記ウィキペディア概念との間の類似性スコアを、前記全ての他のウィキペディア概念と前記ウィキペディア概念との間の前記される参照ウィキペディア概念の共通部分の比として決定するよう構成された、類似性演算モジュールと、
を含み、
前記類似性演算モジュールは、更に、前記ウェブサイトの前記複数の文書内の前記ウィキペディア概念を用いて前記ウェブサイトの前記データベースに関連付けられた逆索引を生成し、ここで前記逆索引は前記ウィキペディア概念を前記ウィキペディアの概念の類似物にマップし、前記フィルタリング済みウィキペディア概念参照マップ及び前記類似性スコアを用いて前記逆索引を更新し、前記ウェブ上でユーザによって実行される入力に関連付けられた前記複数の文書のうちの少なくとも一つの示唆される文書を前記ウェブサイトにアクセスしているユーザに対して出力し、ここで前記少なくとも一つの示唆された文書は、前記更新された逆索引に基づく１つ以上の前記ウィキペディアの概念へ案内する、システム。
【請求項１２】
ユーザからの前記入力を処理して前記入力に関連するウィキペディア概念の集合を識別し、類似性重み付けウィキペディア概念のリストに関して前記ウィキペディア概念の集合を更に処理して前記ウィキペディア概念の集合に関連するウィキペディア概念の集合を識別するように構成される概念重要性演算モジュールを更に備える、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]本開示は一般にデータベース処理に関し、より詳細にはデータベース内の概念の類似性に重み付けするために概念をカテゴリへと編成するデータベース処理に関する。
【０００２】
［関連出願］
[0001]本出願は、２０１３年１１月２７日出願の米国仮特許出願第６１／９１００００号の利益を主張するものであり、上記出願の内容はその全体が本明細書に援用される。
【背景技術】
【０００３】
[0003]オンラインサービスは、ユーザとの対話を知的に処理してユーザに対して提案を行うことができれば、その人気を増大させることができる。例えば、ウェブページサーバ上で実行中のアプリケーションは、ユーザに対してその現在の利用内容に基づいて追加のウェブページを提案してもよい。この点に関して、「ニューヨーク（Ｎｅｗ  Ｙｏｒｋ）」や「マドンナ（Ｍａｄｏｎｎａ）」等の概念に関する膨大な量の情報を提供するウィキペディア（Ｗｉｋｉｐｅｄｉａ）等の実質的に百科事典のようなデータベースが現時点で存在している。もしこのようなデータベースを自動的に分析して概念間の関係を決定できれば、ユーザに対する提案がより正確となり、ユーザとの対話及びかみ合いがサポートされる。
【０００４】
[0004]よって、オンラインデータベースにおける概念間の関係の発見は非常に価値があるため、このような関係の分析を提供する試みにかなりの努力が費やされてきた。しかしながら残念なことに、現在の分析は、特定のデータベースに関して個別的にのみ開発されてきた。このようなアプリケーションは一般に、単一言語の利用にのみ有効であり、他の言語に移すことは困難又は不可能である。よって、従来のアプリケーションにおける概念の関係に関するリソースの更新は、相当量の手作業の介在を伴っている。
【０００５】
[0005]よって、データベースを処理してデータベース内の概念間の関係を発見できるアプリケーションが、当該技術分野において求められている。
【発明の概要】
【０００６】
[0006]一態様では、カテゴリへと編成される概念のデータベースを分析するためのシステムが提供される。各カテゴリについて、概念のうちの第１の概念の数であって、第１の概念のカテゴリは第１の概念を直接的に含む第１のレベルのカテゴリである、第１の概念の数と、概念のうちの第２の概念の数であって、第２の概念のカテゴリは、第２の概念が今度は第２の概念を含むカテゴリのうちの他のカテゴリのメンバーであることを通してのみ第２の概念を含む、第２の概念の数と、同様に続いて、概念のうちの第ｎの概念の数であって、第ｎの概念のカテゴリは第ｎのレベルのカテゴリである、第ｎの概念の数までとを計数する行為であって、ここでｎは２以上の正の整数である、計数する行為を含む、方法を実行するよう構成される。更に、方法は、各カテゴリについて、最も多い計数を有するレベルとなるようにカテゴリを分類する行為を含む。最後に方法は、各レベルに分類された各カテゴリについて、カテゴリの概念のページランクに少なくとも基づいて最も有意な概念を有する分類されたカテゴリを決定し、各レベルについて最も有意な概念を有する分類されたカテゴリの集合を決定する行為を含む。
【０００７】
[0007]本明細書で開示されるシステム及び方法の追加の特徴及び利点は、以下の詳細な説明を通してよりよく理解されるだろう。
【図面の簡単な説明】
【０００８】
【図１Ａ】本開示の実施形態による、概念とカテゴリとの間の関係を決定するためにデータベースを分析するよう構成されたシステムのためのモジュールの集まりを示す。
【図１Ｂ】図１Ａのシステムへの追加のモジュールを示す。
【図２】図１Ａのシステムにより分析されるデータベース内のカテゴリの集合についての循環を示す。
【図３Ａ】図１Ａのシステムにより分析されるデータベースについての、カテゴリ階層の決定に関する第１の概念の計数処理を示す。
【図３Ｂ】別の概念に適用される図３Ａの計数処理を示す。
【図４】本発明の実施形態による、カテゴリへと編成される概念を有するデータベースを分析する方法についてのフローチャートである。
【図５】図１Ａ及び図１Ｂのシステムを実装するよう構成できるコンピュータシステムの一例のブロック図である。
【発明を実施するための形態】
【０００９】
[0015]本発明の実施形態及びその利点は、以下の詳細な説明を参照することにより最もよく理解される。１つ又は複数の図面に示される類似の要素を識別するために類似の参照番号を使用していることを理解されたい。
【００１０】
[0016]添付の図面に関連させて以下に述べる詳細な説明は、様々な構成の説明を意図したものであり、本明細書に記載の概念を実行できる唯一の構成を表すことを意図したものではない。詳細な説明は、様々な概念の完全な理解を提供するために具体的な詳細を含む。しかしながら、これらの具体的な詳細を用いることなくこれらの概念を実施できることは、当業者には明白であろう。いくつかの例では、このような概念の不明瞭さを回避するために、よく知られた構造及び構成要素をブロック図の形態で示す。
【００１１】
[0017]追加のオンラインリソースを提供するための百科事典のようなデータベースの概念的な分析は、統計的アプローチとは異なる。例えば、商業的ウェブサイトをホスティングするアプリケーションは、典型的には購入を統計的にレビューすることにより、商品が購入されるとアプリケーションが同じ商品を購入した他のユーザも既に購入した関連する商品を示唆できるようにする。しかしこのような分析は、商品自体と関連する商品との概念的な関係には全く関連しない。本明細書で開示されるシステム及び方法は、ユーザのウェブブラウジングの過去の行動を単に使用するのではなく、代わりにデータベースを分析してデータベース内の概念の相互関係性を数値的に特徴付ける。この形式では、ユーザが所与の概念を有するウェブページを読んでいると、関連する概念を有するウェブページをユーザに対して知的に提案できる。
【００１２】
[0018]本明細書中で使用する「概念（ｃｏｎｃｅｐｔ）」は、概念と関連付けられたテキストの情報を有するデータベースエンティティであって、このエンティティはデータベース内の他の概念へのリンクを含み得る。概念のデータベースの一例はウィキペディアであり、ウィキペディアでは各概念が記事として表される。これらの記事はカテゴリへと編成される。各カテゴリは関連する記事の集まりである。以下の分析は、ウィキペディア内の概念の分析に特化することになるが、本明細書で開示される分析は、各概念がデータベース内の他の概念へのリンクを含み得るテキストのデータベース見出し語である概念を有するいずれのデータベースに対しても広く適用できることを理解されたい。概念の類似物はスプレッドシートデータベース内のレコードである。典型的には各レコードは、多数のフィールドを含有するスプレッドシート内の列である。よってデータベースエンティティ又は「概念」に関連付けられた言葉は、スプレッドシートデータベースの列（又はレコード）のフィールドに類似している。
【００１３】
[0019]本明細書で開示するリソース生成を実行するために、システムを開示する。このシステムは多数のモジュールからなる。各モジュールを、単一のコンピュータ又はコンピュータの集まりにより実装してもよい。或いは、各モジュールをＡＳＩＣ又は構成されたフィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）を用いて実装してもよい。図１Ａは、例示的なシステム１００の高度な概観を示す。システム１００は、データベース１０５からリソースを生成するために稼働する。以下の記述は、データベース１０５はウィキペディアデータベースであることを想定するが、システム１００により同様の形式で類似のデータベースを分析してもよいことを理解されたい。ウィキペディアでは、特定の記事は概念に特化しない。例えば、「ニューヨーク」をインターネット検索すると、ニューヨーク州に関するテキストの記事に特化したウィキペディアのページが導かれる。しかし、他のウィキペディアのページはその代わりに曖昧さ回避ページである。例えば、「マドンナ」という用語は、場所、ポップアーティスト又は聖人を意味し得るので曖昧である。ウィキペディアは、このような曖昧な概念に関して、同じ名称を共有する様々な概念を列挙する「曖昧さ回避ページ」を設けることができる。このような曖昧さ回避ページは、それ自体は１つの概念と別の概念との関係に関する情報を提供しないので、システム１００は、全てのウィキペディアの曖昧さ回避ページ又は参照をリスト１２０内に識別するための、曖昧さ回避ページエクストラクタモジュール１１０を含んでもよい。
【００１４】
[0020]ウィキペディアは、それぞれの単独のウェブページ又は記事に対して参照番号を提供する。全ての概念及びカテゴリをその参照番号により識別するために、システム１００は、概念リスト１２５を生成するよう構成されたページのパーサ、エクストラクタ及びフィルタモジュール１１５を含んでもよい。この概念リスト１２５は、曖昧さ回避ページを含む、ウィキペディア内の全ての概念（即ち、単独のウェブページ）のリストである。更に、モジュール１１５はウィキペディアについて全てのカテゴリのリストを生成する。この点に関して、ウィキペディア内の各名詞（曖昧さ回避ではないページ）は１つ又は複数のカテゴリを列挙する。例えば、「ニューヨーク」に関するウィキペディアのページは、この概念が６つのウィキペディアのカテゴリ、即ち昔の英国植民地、ニューヨーク、米国の州、中部大西洋、米国北東部、及び米国の東岸の州、に含まれることを示す。この例示的なカテゴリの集合が示すように、概念は、単独の「ニューヨーク」の概念及びカテゴリにより示されるカテゴリでもあり得る。各カテゴリは１つ又は複数の概念を含み、この概念はウィキペディア内の特定のトピックについてのテキストの内容の単独の記事又はウェブページと等価である。
【００１５】
[0021] パーサ、エクストラクタ及びフィルタモジュール１１５もまた、概念参照マップ１４０を生成する。この点に関して、ウィキペディア内の各概念は、他のウィキペディアの概念へのハイパーリンクを含んでもよい。概念参照マップ１４０は、ウィキペディア内の各概念について、他の概念への全てのこのような参照を列挙する。なお、しかし、いくつかのハイパーリンクは、ハイパーリンク内のテキストの参照により示される概念を参照しない。例えば、「ニューヨーク」について上述したウィキペディアのページは、「３番目に人口が多い」のハイパーリンクを含むが、このハイパーリンクは「３番目に人口が多い」の概念を導かず、代わりに「人口による米国及び地域のリスト」の概念に関するウェブページを導く。本明細書で使用するように、対応する概念とは異なった言葉で表現されるハイパーリンクを介した１つの概念から別の概念へのこのような参照は、リダイレクトとして表される。モジュール１１５は、各概念について、概念が他の概念に対して有し得るいずれのリダイレクトも列挙するための概念リダイレクトマップも生成する。本明細書中で更に説明するように、このようなリダイレクトは、所与の概念についての同義語に関する追加の情報を提供し、これは関連する概念を識別するために使用できる。
【００１６】
[0022]概念参照マップ１４０は、各概念について、曖昧さ回避ページを含む全ての参照される概念を識別する。曖昧さ回避ページはリスト１２０に既に識別されているので、曖昧さ回避モジュール１４５は、概念参照マップ１４０を容易にフィルタリングして、いずれの曖昧さ回避参照も含まない参照される名詞の概念のみを列挙するフィルタリング済み概念参照マップ１５０を形成できる。概念参照マップ１５０は、ウィキペディア内の所与の名詞の概念と別の名詞の概念とを関連付けるために、本明細書中で述べるような多数の方法において使用できる。以下の記述において使用される用語「概念」は、簡潔さのために、名詞の概念（曖昧さ回避ページではない概念）を意味するものと理解されたい。
【００１７】
[0023]なお、英語版のウィキペディアは、対応する概念を対象とする３４０万を超える記事を有する。このような途方に暮れるほど多数の概念は、未処理の形式では、本質的に管理不可能である。しかし、本明細書で開示される技術及びシステムは、この複雑性に対処し、ユーザが所与の概念に興味を示すと、概念参照マップ１５０により決定される関連する概念をユーザに対して識別できるようにする。ユーザがウィキペディアとは何の関係もないウェブページをウェブ閲覧すること又はサーバに対してリクエストを行うことができるという技術の力に留意されたい。しかし、このようなアプリケーションへのユーザの入力を、概念を識別するために分析してもよい。これらの概念は、今度は関連する概念を識別するために処理されてもよい。これを行うために、システム１００は、類似性演算モジュール１５５を含んでもよい。概念間の関係を数値的に特徴付けるために、モジュール１５５により多数のアルゴリズムを実装してもよい。例えばモジュール１５５は、概念参照マップ１５０を使用して、各概念についてその概念の残りの全ての概念に対する類似性の推定値を計算してもよい。例えば、所与の概念Ａと別の概念Ｂとの間の類似性を決定する問題を考える。モジュール１５５は、概念Ａにより参照される概念（ＲＣ（Ａ）として示される）と、概念Ｂにより参照される概念（ＲＣ（Ｂ）として示される）との間に、共通部分ＲＣ（Ａ）∩ＲＣ（Ｂ）と識別されるようないずれかの共通部分が存在するかどうかをまず決定してもよい。これらの参照される概念の間に共通部分が存在しない場合、概念Ａと概念Ｂとの間には何の関係もないと考えられる。共通部分が存在する場合、次いでモジュール１５５はＲＣ（Ａ）∪ＲＣ（Ｂ）で表されるＲＣ（Ａ）とＲＣ（Ｂ）との和集合も計算し、式「−ｌｏｇ（（ＲＣ（Ａ）∩ＲＣ（Ｂ）／ＲＣ（Ａ）∪ＲＣ（Ｂ）））」を決定して概念Ａと概念Ｂとの間の類似性のスコアを得る。このような類似性のスコアは、最も緊密に関連する概念は、参照される概念の和集合と同じである、参照される概念の共通部分に相当すると考えられるという点で、概念間の類似性と逆相関の関係にある（対数の底によらず１の対数はゼロである）。共通部分が和集合に比較して小さくなるほど、得られる比の対数はますます負となり、真数はますます正となる。よって、各概念について、関連する概念の順序付きスコアが生成できる。いくつかの実施形態では、この順序付きスコアに閾値を適用し、所与の概念に対して最も密接に関連する概念の部分集合を決定してもよい。よって閾値を適用するかどうかに関わらず、類似性演算モジュールは、ウィキペディア内の各概念について、関連する概念の順序付きリスト１６５をこの形式で生成できる。類似性演算モジュール１５５は、直前で述べた対数の式の代わりに又はこれと併せて代替のアルゴリズムを実装してもよい。例えば、類似性演算モジュール１５５は、Ｊａｃｃａｒｄの式又はＰＭＩの式を使用して、概念間の数値的な類似性を演算できる。更に類似性演算モジュール１５５は、所与の概念のカテゴリのメンバーシップを使用して、カテゴリ内の追加のメンバーを関連する概念として選択できる。
【００１８】
[0024]フィルタリング済み概念参照マップ１５０を処理して類似性演算モジュール１５５を介して類似の概念を決定することに加えて、システム１００は概念重要性演算モジュール１６０を含んでもよい。一実施形態では、概念重要性演算モジュール１６０は、ページランクアルゴリズムを使用して、所与の概念の重要性を決定してもよい。当技術分野において知られている通り、ページランクアルゴリズムは、所与の概念にリンクしている他の概念からのインバウンドリンク（ｉｎｂｏｕｎｄ  ｌｉｎｋ）に対して適用される再帰的処理である。よって、ランク付けされた概念のリスト１７０に編さんされているように、モジュール１６０によりウィキペディア内の各概念にページランクスコアを与えることができる。応用では、あまり重要でない概念を取り除くために、何らかの閾値に応じてリスト１７０をフィルタリングしてもよい。ユーザが多数の概念を含むウェブページを閲覧すると、それらの概念のページランクスコアが所望の閾値を超えているかどうかを決定することにより、より重要な概念を識別できる。なお、このようなフィルタリングは、所与のユーザのシステム１００との対話により提示される概念に関連し得る概念の数を低減するという点において、制約的である。対照的に、所与の概念に関連する概念を見つけるためにリスト１６５を適用することは、ユーザのシステム１００との対話に関連し得る概念の数を増加させるという点で拡張するものである。この点に関して、ユーザのシステム１００との「対話」は、本明細書中ではシステム１００に対していくらかの内容を提示することを含むと定義される。この内容は、「パロアルトにあるイタリア料理店を探して」等の音声の要求又はテキストベースの要求であってもよい。或いはこの内容は、ユーザが現在閲覧している所与のウェブページ又はニュース記事中のテキストであってもよい。この内容がどのように提示されるかに関わらず、システム１００はこの内容を分析して、この内容に関連する概念及びカテゴリを決定できる。リスト１６５は関連する概念の数の拡張をもたらすのに対し、リスト１７０は関連する概念の数の縮小をもたらすので、これらのリストを繰り返して使用して、所与のユーザのシステム１００との対話に対して、関連する概念の数をまず拡張（又は縮小）し、そして縮小（又は拡張）できる。
【００１９】
[0025]システム１００はまた、図１Ｂに示すように、各カテゴリ中に含まれる概念とカテゴリ−カテゴリの関係とを列挙した、ウィキペディアから得るカテゴリリンクファイル１７５を処理する階層エクストラクタ及びフィルタモジュール１８５を含んでもよい。よってモジュール１８５は、各カテゴリについて概念を列挙した概念−カテゴリマップ１９１を抽出でき、他のカテゴリに含まれているカテゴリを識別するカテゴリ−カテゴリマップ１９２も抽出できる。カテゴリの識別に関する１つの問題は、ウィキペディア等の個人の書き手のコミュニティによりオープンソース化され形成されているデータベースが、余分な又は重複したカテゴリを有し得るということである。例えば、１つのカテゴリが「Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ」と命名されることがあるのに対し、別のカテゴリが「Ｃｏｍｐｕｔｅｒ  ｓｃｉｅｎｃｅ」と命名されることがある。このような重複したカテゴリを、全く大文字を使用せずにカテゴリ名について文字列を比較すること等により、モジュール１８５によりマージしてもよい。よってモジュール１８５は、余分なカテゴリを取り除く働きをする。なお、リスト１９２で識別されるカテゴリ−カテゴリ関係は、カテゴリの例示的な集合２００について図２に示すように循環するものであってもよい。特に、カテゴリ２０５の「チェコ共和国−スロバキアの関係（Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ−Ｓｌｏｖａｋｉａ  ｒｅｌａｔｉｏｎｓ）」は、カテゴリ２１０の「チェコスロバキア（Ｃｚｅｃｈｏｓｌｏｖａｋｉａ）」を含むが、今度はこれ自体がカテゴリ２３５の「チェコ共和国の２国関係（Ｂｉｌａｔｅｒａｌ  ｒｅｌａｔｉｏｎｓ  ｏｆ  Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ）」内に含まれるカテゴリである。同様に、カテゴリ２３５は、今度はカテゴリ２３０の「チェコ共和国の対外関係（Ｆｏｒｅｉｇｎ  ｒｅｌａｔｉｏｎｓ  ｏｆ  Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ）」内に含まれ、カテゴリ２３０は、今度はカテゴリ２２５の「チェコ共和国の政府（Ｇｏｖｅｒｎｍｅｎｔ  ｏｆ  Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ）」及びカテゴリ２２０の「チェコ共和国の政治（Ｐｏｌｉｔｉｃｓ  ｏｆ  ｔｈｅ  Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ）」内に含まれる。最後にカテゴリ２２０はカテゴリ２１５の「チェコ共和国（Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ）」内に含まれ、カテゴリ２１５は、今度は既に上述したカテゴリ２５０に含まれる。この循環性は、以下で更に述べるカテゴリ階層の決定に関する問題を表している。
【００２０】
[0026]システム１００はまた、所与のユーザのシステム１００との対話に基づいた、他の概念及びカテゴリの提案に関する視聴統計により決定される、概念の人気を使用することもできる。例えばシステム１００は図１Ｂに示すように、ウィキペディアにより提供される毎時視聴統計ファイル１８０を処理して、人気による重み付け概念リスト１９５を生成する、人気抽出モジュール１９０を含んでもよい。リスト１９５を、所与のユーザのシステム１００との対話に基づいて識別された概念の数の除外又は低減に関して、リスト１７０と併せて又はこれの代わりに使用してもよい。
【００２１】
[0027]システム１００により生成される概念並びにそのカテゴリの様々なリスト及びランク付けを極めて有利な方法で使用して、ユーザのシステム１００との対話に関連するリソース（概念及びカテゴリ）を生成できる。例えばマップ１９１を使用して、今度はユーザの対話により識別された重要な概念を含むカテゴリを識別できる。なお、この点に関して、概念とカテゴリとの間の関係は、特定の概念は他のカテゴリに含まれることを通してのみ所与のカテゴリ内に含まれるという点で階層的である。例えば再び図２を参照すると、「チェコスロバキアの解体（Ｄｉｓｓｏｌｕｔｉｏｎ  ｏｆ  Ｃｚｅｃｈｏｓｌｏｖａｋｉａ）」の概念はカテゴリ２０５内に含まれるウィキペディア記事のうちの１つである。よってカテゴリ２０５は、この概念に関して「第１のレベル」のカテゴリと考えられる。しかしカテゴリ２３５がカテゴリ２０５を含むとしても、この同じ概念はカテゴリ２３５の直接のメンバーではない。それにも関わらず、「チェコスロバキアの解体」の概念とカテゴリ２３５との間のこの間接的な関係を、重要な関連する概念を識別するためにシステム１００により有利に使用できる。この概念はカテゴリ２３５からたった１つ移動するカテゴリなので、カテゴリ２３５は、チェコスロバキアの解体の概念に関して「第２のレベル」のカテゴリであると考えることができる。同じ概念に関して、カテゴリ２３０は、今度は第３のレベルのカテゴリとなるのに対し、カテゴリ２２５は第４のレベルのカテゴリとなることになる。よってシステム１００は、概念の集合２００を介して所与の概念に関するレベルを決定するよう機能し得る。しかし集合２００の循環する性質は、カテゴリ２０５が「チェコスロバキアの解体」の概念を直接的に含むだけでなく、この同じ概念に関して第８のレベルのカテゴリでもあるという点で、問題を呈す。同様にカテゴリ２０５は、システム１００が、集合２００が形成する循環の繰り返しを無期限に継続する場合、第１５のレベルのカテゴリであるとも考えられ得る。所与のカテゴリの循環の不確定のループを回避するために、このような各循環の集合は、循環内のカテゴリ−カテゴリ関係のうちの１つを壊すことにより強制的に非循環にしなければならない。例えばカテゴリ２１５がもはやカテゴリ２２０を含むと考えられないとすると（循環内の端の削除）、集合２００はもはや循環ではなく、これにより得られるカテゴリの階層は限定された及び画定されたものとなる。或いは、カテゴリ２２０を集合２００から削除すると（循環内のノード及びその端の削除）、得られる階層も限定された及び画定されたものとなる。端又はノードのこのような削除は、意味に基づいて行われてもよい。例えばカテゴリ２１０は、もはや存在しない国の「チェコスロバキア」と関連しているので、このノード及びその端は削除され得る。このような削除は今日の旅行及び観光産業にとっては正確であるが、ユーザのクエリ又はシステム１００との対話が歴史に関連するものである場合、必然的に望ましくないものとなり得る。しかしながら、典型的なデータベースが有するこのような循環した配置のカテゴリは比較的少ないことが理解されよう。例えば英語版のウィキペディアは４０００００を��えるカテゴリを有するが、このような循環はたった２０〜３０程度である。よって人間のオペレータは、実質的な負担を負うことなくこのような比較的小さい循環の集合をどのように解消するかについて適切な意味的決定を施すことができる。
【００２２】
[0028]全てのカテゴリをどのように非循環にするかに関わらず、得られる非循環のカテゴリを有利に分析して、図３Ａ及び図３Ｂに示すようにその階層のレベルを決定することができる。この階層に関しては、図３Ａの概念３００等の概念を第０のレベルにあると考える。カテゴリ３０５は概念３００を直接的に含むので、カテゴリ３０５は概念３００に関して第１のレベルのカテゴリであると考えることができる。同様に、カテゴリ３１０は概念３００を直接的に含まないが、カテゴリ３０５は、今度はカテゴリ３１０内に含まれるので、間接的にこの概念を含む。カテゴリ３１０はカテゴリ３０５と比較して階層においてちょうど「１レベル」上なので、カテゴリ３１０は概念３００に関して第２のレベルのカテゴリであると考えることができる。しかし図３Ｂに示すように、別の概念３１５はカテゴリ３１０の直接のメンバーであり、カテゴリ３１０は概念３１５に関して第１のレベルのカテゴリである。カテゴリ３１０等の所与のカテゴリは、１つの概念に関してあるレベルであり得るが、別の概念に関して別のレベルであり得るという不明瞭さに留意されたい。この不明瞭さにより、カテゴリが階層中の上位に移動することでこのカテゴリの相対的な有用性が消えるので、１つのカテゴリと別のカテゴリとを直接的に比較することができなくなる。例えば、「全ての概念（ａｌｌ  ｃｏｎｃｅｐｔｓ）」のカテゴリは、このカテゴリが含む概念についていずれかの有用な情報を提供するには一般的過ぎることが想像できる。よってカテゴリのレベルが高くなればなるほど、そのカテゴリが含む概念について少ない情報が提供される。よって階層は、あるレベルにおいて適宜終結させることができる−例えばシステム１００は一実施形態では第４のレベルのカテゴリまでのカテゴリを計算してもよい。
【００２３】
[0029]カテゴリの階層において追加のレベルを計算することに関してどこに閾値があるかに関わらず、レベルにおける不明瞭さのために１つのカテゴリと別のカテゴリとの直接比較が問題あるものになる。特に、第１のレベルのカテゴリは、第２のレベルのカテゴリが含むよりも概念についてのより多くの情報を含有することになる（第２のレベルのカテゴリは、今度は第３のレベルのカテゴリよりも多くの情報を提供することになり、同様に続く）ので、第１のレベルのカテゴリのランク付けは、他の第１のレベルのカテゴリのみに対して所与の第１のレベルのカテゴリを比較することにより最も正確に実行される。同様に、第２のレベルのカテゴリの比較は、他の第２のレベルのカテゴリとのみ行われ、同様に続く。しかし、未加工のカテゴリについて同じレベルの比較を行うことは、所与のカテゴリがどのレベルを占めるかの不明瞭さ故に不可能である。この不明瞭さを解決するために、システム１００は図１Ａに示すようにカテゴリランク演算モジュール１３６を含んでもよい。図１Ａ及び図１Ｂを再び参照すると、モジュール１３６は、概念−カテゴリマップ１９１及びカテゴリ−カテゴリマップ１９２を使用して、各概念について、直接的又は間接的にカテゴリを含むいずれのカテゴリの相対的なレベルを決定できる。各概念について、所与のカテゴリ内に（直接的に又は間接的に）含まれた回数に関して、計数が決定される。例えば、図３Ａの概念３００はカテゴリ３０５及びカテゴリ３０６内に直接的に含まれている。よってカテゴリ３０５及びカテゴリ３０６のそれぞれは、第１のレベルの分類に関して計数１をそれぞれ得る。他方では、概念３００は、カテゴリ３０５及びカテゴリ３０６の両方を介して間接的にカテゴリ３１０のメンバーであるので、カテゴリ３１０は第２のレベルの分類に関して計数２を受ける。別のカテゴリ（図示せず）がカテゴリ３１０を含むとすると、そのカテゴリは第３のレベルの分類に関して計数３を受けることになり、同様に続く。よって各概念は、概念を直接的又は間接的に含むカテゴリのレベル分類について「投票」していると考えることができ、ここで投票は図３Ａについて示した対応するカテゴリをもたらす計数である。概念毎に行われるこのレベル分類では、カテゴリが対応する概念を直接的に含む場合、第１のレベルの分類についてこのカテゴリに計数が与えられる。逆に、対応する概念が、対応する概念を今度はそれぞれ含む１つ又は複数のカテゴリに直接的に含まれることを介してのみ、所与のカテゴリがこの対応する概念を間接的に含む場合、第２のレベルの分類についてこの所与のカテゴリに計数が与えられる。同様に、対応する概念が、所与のカテゴリに今度は含まれる１つ又は複数の第２のカテゴリに今度は含まれる１つ又は複数の第１のカテゴリに直接的に含まれることを介してのみ、所与のカテゴリがこの対応する概念を間接的に含む場合、第３のレベルの分類についてこの所与のカテゴリに計数が与えられる。この形式では、それぞれの追加のレベル分類は、介在するカテゴリを通して別の「飛躍（ｈｏｐ）」を伴う。
【００２４】
[0030]概念３１５からの計数は図３Ｂに示されている。この場合、カテゴリ３０５は第１のレベルの分類に関して別の計数を得る。概念３００に関する第２のレベルの分類とは対照的に、カテゴリ３１０は、カテゴリ３１０が概念３１５を直接的に含むので、概念３１５からの第１のレベルの分類に関して計数を得る。分類に関する概念３００と概念３１５との間の矛盾は、各概念からの計数の総数（これは上述したように所与の分類レベルについて投票を真似てもよい）により決定される。例えばモジュール１３６により全ての概念を処理した後に、所与のカテゴリがレベル１において計数３０、レベル２において計数１３２、レベル３において計数２０、レベル４において計数０を有すると想定する。最も多い計数はレベル２においてであるので、モジュール１３６は、この同じカテゴリがレベル１及びレベル３において同様に選別された計数を有していたとしても、カテゴリをレベル２のカテゴリとして分類することになる。この形式で分類された全てのカテゴリを用いて、次いでモジュール１３６はカテゴリランク付けマップ１３７に分類されたカテゴリを列挙する。なお、しかしながら、英語版のウィキペディアは４０００００を超えるカテゴリを有する。モジュール１３６により全て分類されたこれらのカテゴリを用いてさえ、カテゴリランク付けマップ１３７は、この所与の極めて多数のカテゴリを使用するにはまだ扱いにくい可能性がある。よってカテゴリランク演算モジュール１３６は、ランク付き概念マップ１７０を使用して、分類されたカテゴリをフィルタリングしてもよい。例えばモジュール１３６は、所与の分類されたカテゴリ内の全ての概念について、概念ランクを平均して、閾値に対してこの平均を比較してもよい。次いでモジュール１３６は、所望の閾値を超えた分類されたカテゴリのみをカテゴリランク付けマップ１３７内に含んでもよい。マップ１３７の優れた有用性を考慮すると、まず初めに、ウィキペディア等のデータベース内の多様なカテゴリは、フィルタリングされた各レベルが有意にランク付けされた概念を有するカテゴリからなるように、フィルタリングされたレベルへと知的に分類される。
【００２５】
[0031]次いでシステム１００から得られたリソースを、多数の方法に適用して、ユーザのシステム１００との対話に対応する、関連する概念及びカテゴリを識別してもよい。例えば、ユーザが現在利用しているウェブページに対応するテキスト文書がシステム１００に提示されると仮定する。一般には、特に文書のワード計数が増加するにつれ、マシンにとって文書を理解することは大変困難なタスクである。しかしシステム１００は、ウィキペディアがウィキペディアとは無関係の文書内で何が重要で関連しているかを密接に反映している実に莫大な知識の集まりであるという点で、ウィキペディア等のデータベースを人間の文書理解のプロキシとして使用する。例えばシステム１００を、データベース１０５内の概念について逆索引を生成するよう構成してもよい。次いでユーザの文書内の言葉を逆索引に対して処理して、記事に最も関連する概念を見つけてもよい。次いでこれらの概念を、上述のようにマップ１６５を用いて拡張させ、マップ１７０を用いて縮小させてもよい。更に、得られたカテゴリに対応するマップ１３７からのカテゴリを識別してもよい。この形式では、ユーザの文書に関連する概念及びカテゴリのリストは、システム１００によりほぼリアルタイムで容易に生成される。システム１００を、関連する概念及びカテゴリを同じ形式で生成させた他の文書のデータベースにリンクさせてもよい。ユーザの文書からの関連する概念及びカテゴリと、文書データベース内の文書について対応する概念及びカテゴリとを比較することにより、次いでシステム１００は関連する文書を知的にかつ迅速にユーザに対して提示することができ、これはユーザのシステム１００との対話及びこれに対する満足を大幅に増加させる。よって文書を分析する複雑性は、ユーザに関連する文書を知的に示すために、ウィキペディア等の個別のデータベースの既に分析済みの構造を、人間の文書理解のプロキシとして用いることにより解決される。ここで、データベースを分析して所与のユーザのシステムとの対話に関連する概念及びカテゴリを見つける方法を述べる。
【００２６】
[0032]ここで図４に戻ると、データベースを分析して概念とカテゴリとの間の関係を見つける例示的な方法に関するフローチャートが提供されている。方法は、各カテゴリについて、概念のうちの第１の概念の数であって、第１の概念のカテゴリは第１の概念を直接的に含む第１のレベルのカテゴリである、第１の概念の数と、概念のうちの第２の概念の数であって、第２の概念のカテゴリは、第２の概念が今度は第２の概念を含むカテゴリのうちの他のカテゴリのメンバーであることを通してのみ第２の概念を含む、第２の概念の数と、同様に続いて、概念のうちの第ｎの概念の数であって、第ｎの概念のカテゴリは第ｎのレベルのカテゴリである、第ｎの概念の数までとを計数する行為４００を含み、ここでｎは２以上の正の整数である。図３Ａ及び図３Ｂにおける、概念３００及び３１５に関して特定のレベルに属するカテゴリ３０５、３０６及び３１０の計数は、ｎが２となる場合の、行為４００の一例である。しかしながら、ｎは任意の正の整数であり、必要に応じて増加させることができることを理解されたい。例えば他の実施形態では、整数ｎは４以上であり得る。
【００２７】
[0033]方法は、各カテゴリについて、最も多い計数を有するレベルとなるようにカテゴリを分類する行為４０５を更に含む。カテゴリランク演算モジュール１３６による最も多い計数に基づいたｎのレベルのうちのそれぞれのレベルへのカテゴリの分類は、行為４０５の一例である。最後に方法は、各レベルに分類された各カテゴリについて、カテゴリの概念のページランクに少なくとも基づいて最も有意な概念を有する分類されたカテゴリを決定して、最も有意な概念を有する各レベルに分類されたカテゴリの集合を決定する行為４１０を含む。モジュール１３６によるカテゴリランク付けマップ１３７の形成に関して上述した、概念のページランクに従って分類されたカテゴリのフィルタリングは、行為４１０の一例である。
【００２８】
[0034]前述したように、システム１００は１つ又は複数のコンピュータを用いて実装してもよく、又は構成されたＦＰＧＡ若しくは（１つ若しくは複数の）ＡＳＩＣを用いて具体的に作成してもよい。システム１００のための１つ又は複数のモジュールを実装するのに好適なコンピュータシステム５００を、図５に示す。管理者は、ディスプレイ５１１、キーボード５０４及び視聴覚Ｉ／Ｏ５０５を用いてシステム５００を構成してもよい。システム５００は、バス５０２を介して命令のメモリ５１４に連結された少なくとも１つのプロセッサを含む。バス５０２は、ネットワークインターフェース５０６及び通信リンク５１８を介して、インターネット等のネットワーク５５０にも連結されている。この形式では、システム５００によりホスティングされるウェブページ上の文書のテキスト、テキストの検索クエリ、又は音声の検索クエリ等のユーザの対話を、ネットワーク５５０からシステム５００により容易に受信してもよい。本明細書中で述べた様々なモジュールを実装するためにプロセッサ５１２により実行されるメモリ５１４に記憶された命令は、Ｊａｖａ（登録商標）又は他の好適なプログラミング言語で記述できる。
【００２９】
[0035]当業者は既に理解している通り、手元にある特定の用途に応じて、本開示のデバイスの材料、装置、構造、及び使用方法において並びにこれらに対して、本開示の精神及び範囲から逸脱することなく多数の変更、置き換え、及び変形を行うことができる。この見地から、本開示の範囲は、実施形態は単なるいくつかの例なので、本明細書中で示された及び説明された特定の実施形態の範囲に限定されるべきものではなく、むしろ、添付された請求項及びこれらの機能的な均等物の範囲と完全に同等のものであるべきである。
【図１Ａ】
0006440733.tif 000002
【図１Ｂ】
0006440733.tif 000003
【図２】
0006440733.tif 000004
【図３Ａ】
0006440733.tif 000005
【図３Ｂ】
0006440733.tif 000006
【図４】
0006440733.tif 000007
【図５】
0006440733.tif 000008