(57)【特許請求の範囲】
【請求項１】
項目をクラスタリングするコンピュータ実行方法であって、各項目は、少なくとも１つの関連する特徴を有し、前記方法は、
データ構造をメモリに格納するステップであって、前記データ構造は、複数のクラスタと、各項目に対し１または複数の関連する特徴と、各クラスタに対し、前記項目のうちのいずれかがそのクラスタのメンバであるかどうかについての信念を表す事前確率分布に関係する少なくとも１つのクラスタメンバシップパラメータと、クラスタと特徴との組み合わせのそれぞれに対し、そのクラスタ内の項目のうちのいずれかがその特徴と関連付けられているかどうかについての信念を表す事前確率分布に関係する少なくとも１つの特徴パラメータとを保持する、ステップと、
観測された関連する特徴を有する観測された項目を備える入力を受信して格納するステップと、
受信された入力に基づいておよびベイズ更新プロセスを使用して、前記データ構造内の前記パラメータを更新するステップと、
全てのクラスタを通じて類似の特徴パラメータを有する特徴を識別し、および前記特徴パラメータに対して同じデフォルト値を使用するステップと、
複数のそのような入力に対する前記受信するステップおよび前記更新するステップを繰り返すステップと、
を備えることを特徴とする方法。
【請求項２】
前記データ構造内の前記パラメータを更新するステップに続いて、前記格納された入力を削除するステップと、この削除するステップを、前記受信するステップおよび前記更新するステップと共に繰り返すステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記データ構造は、前記データ構造がベルヌーイ分布の産物であるベルヌーイプロファイルの混合に基づいたクラスタモデルを保持するように格納されることを特徴とする請求項１に記載の方法。
【請求項４】
前記データ構造は、前記データ構造が因子グラフを使用してクラスタモデルを保持するように格納されることを特徴とする請求項１に記載の方法。
【請求項５】
前記データ構造は、前記データ構造がツリー構造としての前記因子グラフを保持するように格納されることを特徴とする請求項４に記載の方法。
【請求項６】
前記データ構造は、各クラスタのメンバシップパラメータがディリクレ分布に関係するように格納されることを特徴とする請求項１に記載の方法。
【請求項７】
前記データ構造は、各特徴パラメータがベータ分布に関係するように格納されることを特徴とする請求項１に記載の方法。
【請求項８】
前記更新するステップは、仮定密度フィルタリングを使用することを備えることを特徴とする請求項１に記載の方法。
【請求項９】
前記特徴パラメータのサブセットを選択するステップと、前記特徴パラメータを同じデフォルト値にセットするステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
クラスタ内で、デフォルト値を用いて特徴パラメータを置き換えるかどうかをチェックすることは、クラスタリング方法の結果を著しく変更し、および著しい変更がなければ、その特徴パラメータに対して前記デフォルト値を使用することをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１１】
指定された閾値以下の項目の数を有するクラスタを識別するステップと、前記識別されたクラスタを単一のクラスタに吸収するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
訓練データを使用して前記データ構造を直列的に訓練すること、前記データ構造の複数の子コピーを生成して格納すること、さらなる訓練データのセットにアクセスしてその訓練データを複数のバッチに形成すること、各子コピーに対して異なるバッチを使用して前記データ構造の前記子コピーを並列に訓練すること、前記訓練された子コピーを使用して前記データ構造を更新すること、前記更新されたデータ構造を使用して新しい子コピーを生成すること、以前に使用されていないバッチを使用して前記新しい子コピーを訓練し、前記データ構造を更新すること、およびこのプロセスを繰り返すことをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１３】
前記項目は広告であり、前記特徴は、前記広告が契約されたキーワードであることを特徴とする請求項１１に記載の方法。
【請求項１４】
複数の関連するキーワードを有する広告を受信するステップと、前記データ構造を使用して前記広告への契約についての追加のキーワードを生成するステップとをさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
複数の契約キーワードを有する広告に基づいて、広告主に提案する追加のキーワードを識別するコンピュータ実行方法であって、
前記方法は、
複数の契約キーワードを有する広告を受信するステップと、
契約キーワードを有する複数の広告を備えるデータセット上で訓練される確率的クラスタモデルを保持するデータ構造と、前記データセット内でモデルの不確実性を構成される前記クラスタモデルとを備えるクラスタリングシステムにアクセスするステップと、
前記クラスタリングシステムを使用して、受信された広告に基づいてキーワードおよび関連する確率を生成するステップと、
全てのクラスタを通じて類似の特徴パラメータを有する特徴を識別し、および前記特徴パラメータに対して同じデフォルト値を使用するステップと、
前記生成されたキーワードを前記広告主への提案として出力するステップと
を備えることを特徴とする方法。
【請求項１６】
出力は、関連する確率の推定値を使用してランク付されて生成されたキーワードの少なくともいくつかのリストを備えることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記生成されたキーワードの少なくともいくつかについてのユーザフィードバックを受信するステップと、キーワード生成プロセスを修正するために前記ユーザフィードバックを使用するステップとをさらに備えることを特徴とする請求項１５に記載の方法。
【請求項１８】
クラスタリングシステムであって、
特徴と関連する複数の文書を備えるデータセット上で訓練される確率的クラスタモデルおよび前記データセット内で不確実性をモデル化するように構成される前記クラスタモデルを保持するデータ構造を格納するメモリと、
前記文書の特徴を備える情報をクラスタリングするための文書についての情報を受信するように構成される入力と、
全てのクラスタを通じて類似の特徴パラメータを有する特徴を識別し、および前記特徴パラメータに対して同じデフォルト値を使用するように構成されるプロセッサと、
前記文書のクラスタについての情報を提供するように構成される出力と
を備えることを特徴とするクラスタリングシステム。
【請求項１９】
特定の特徴を有する文書についての情報を受信するように構成される入力をさらに備え、前記プロセッサは、前記データ構造を使用して前記文書に関連する少なくとも１つの追加の特徴を生成するように構成されることを特徴とする請求項１８に記載のクラスタリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケーラブルなクラスタリングシステムに関する。
【背景技術】
【０００２】
ある類似した概念に基づいて項目をクラスタリング（clustering）するのは、多くのアプリケーションにおいて度々生じる難問である。例えば、文書を関連文書のグループにクラスタリングするには、情報検索アプリケーション、文書解析アプリケーションおよび他のタスクが必要になる。クラスタ化される項目は、文書、電子メール、ウェブページ、広告、イメージ、ビデオまたは他のタイプの項目になり得る。クラスタリングは、カテゴリ化（categorizing）または分類（classifying）とも呼ばれ得る。
【０００３】
従来の手法の中には、教師あり分類スキーマ（supervised classification schemes）を伴うものがある。このスキーマにおいて、機械学習システムを訓練して自動的に分類を実行するために、分類される項目の大部分を手動でラベル付けすることが必要である。しかしながら、この手法は、ウェブスケールのアプリケーションなどのかなり膨大な項目の集合に対しては実用的でない。この状況では、項目の大部分を手動でラベル付けすることは実用的でない。
【０００４】
教師なしクラスタリング（unsupervised clustering）手法も、そのクラスタリングシステムがデータに最適に合うどんなカテゴリも自在に作り出すことで知られている。そのような手法の例は、Ｋ平均クラスタリングおよび凝集（agglomerative）クラスタリングを含む。しかしながら、このような手法の多くは、必要とする訓練時間が非常に長いおよび／またはその結果の質が良くないという点で、膨大なデータセット（数百ものクラスタにクラスタ化される数十万もの項目）には上手くスケールアップ（scale up）しない。
【０００５】
別のタイプの教師なしクラスタリング手法は、ベルヌーイのプロファイルの混合を使用してクラスタリングモデルを形成すること、および最尤法を使用してモデルパラメータの最適値を学習することを伴う。そのような最尤法は、有向上昇勾配（direct gradient ascent）および期待値最大化（ＥＭ）を含む。しかしながら、そのような最尤法は、訓練中にデータに対して収束するためのいくつかのパスを必要とするので、その手法は、極めて膨大なデータセットには適さない。その手法において、初期化は、尤度が複数モードの理由から不可欠であるが、これにより、高次元データを伴うアプリケーションにおいて達成するのはかなり困難である。
【０００６】
本明細書で説明される実施形態は、周知のクラスタリングシステムの不利点の一部またはすべてを解決する実装に限定されない。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Bishop,C.M. ”Pattern Recognition and Machine Learning”  Springer 2006
【発明の概要】
【０００８】
以下では、読者に基本的な理解を与えるために本開示の簡易化された概要を提示する。本概要は、本開示の広範囲にわたる概要ではなく、本発明の主要／重要な要素を特定するものでも本発明の範囲を明確にするものでもない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして簡易化された形において本明細書で開示されるいくつかの概念を提示することである。
【０００９】
スケーラブルなクラスタリングシステムが説明される。一実施形態において、クラスタリングシステムは、数千万もの特徴を有する数百万もの項目がクラスタ化される極めて大規模なアプリケーションに対して動作可能である。一実施形態において、クラスタリングシステムは、データセット内の不確実性をモデル化する確率的クラスタモデルを使用し、そのデータセットは、例えば、キーワードで契約される広告、テキストキーワードを含むテキスト文書、関連する特徴または他の項目を有するイメージになり得る。一実施形態において、クラスタリングシステムは、所与の項目と関連付けるための付加的な特徴を生成するのに使用される。例えば、広告主が契約しそうな付加的なキーワードが提案される。生成される付加的な特徴は、関連する確率値を有し、その確率値は、いくつかの実施形態においてその特徴をランク付けするのに使用され得る。いくつかの例において、生成される特徴についてのユーザフィードバックが受信されて、その特徴の生成プロセスを修正する（revise）のに使用される。
【００１０】
付随する特徴の多くは、添付図面と併せて検討される以下の詳細な説明を参照することによって、さらに容易に認識されると同時に理解もより深まるであろう。
【図面の簡単な説明】
【００１１】
本説明は、以下の詳細な説明を添付図面に照らして読むことによって理解がより深まるであろう。同種の参照数字は、添付図面の同種の部分を指定するのに使用される。
【００１２】
【図１】クラスタリングシステムの略図である。
【図２】データ構造内で保持されるモデルパラメータの略図である。
【図３】クラスタリングモデルを訓練する方法の略図である。
【図４】契約キーワードを有し、２つのクラスタを示す広告の略図である。
【図５】図４に付加された広告を示す略図である。
【図６】クラスタリングモデルを訓練する方法のフロー図である。
【図７】クラスタリングシステムで使用する例示的な有向グラフモデルの図である。
【図８】クラスタリングシステムで使用する例示的な因子グラフの図である。
【図９】クラッタークラスタエンジンおよびガーベジコレクションエンジンの略図である。
【図１０】ガーベジコレクションエンジンにおける方法のフロー図である。
【図１１】ガーベジコレクションエンジンにおける別の方法のフロー図である。
【図１２】ガーベジコレクションエンジンにおける別の方法のフロー図である。
【図１３】並列処理を使用してクラスタリングシステムを訓練する方法のフロー図である。
【図１４】キーワードを広告主に提案する方法のフロー図である。
【図１５】２つの異なるクラスタ内の最も顕著な特徴を示すテーブルである。
【図１６】クラスタリングシステムの実施形態が実装され得る例示的なコンピューティングベースのデバイスを示す図である。
【発明を実施するための形態】
【００１３】
添付図面と併せて以下に与えられる詳細な説明は本例の説明として意図されるものであり、本例が構築または利用され得る形態のみを表すことを意図しない。その説明は、本例の機能および本例を構築して動作するためのステップのシーケンスを示す。しかしながら、同じまたは同等の機能およびシーケンスは、異なる例によって実現され得る。
【００１４】
本例は、広告が契約されたクラスタリングキーワードに対するクラスタリングシステムに実装されるものとして本明細書で説明されるが、説明されるシステムは、例として与えられるものであり限定されない。当業者は認識するであろうが、本例は、異なるタイプのさまざまなクラスタリングシステムにおけるアプリケーションに適する。
【００１５】
図１は、クラスタリングシステム１０１の略図であり、入力時に特徴を有する項目１００についての情報を入手する。例えば、その項目は広告になり得るし、その特徴は、広告が契約されたキーワードになり得る。しかしながら、これは必須ではなく、その項目はテキスト文書であってもよいし、その特徴はその文書内のテキストワードであってもよい。他の例において、その項目は、イメージまたはビデオクリップであってもよいし、その特徴は、ビジュアルワード、テキストン（textons）または他の特徴であってもよい。つまり、項目は、文書、ファイル、電子メール、ウェブページ、広告、オーディオファイル、音声メッセージ、スニペットテキスト、イメージ、名前または他の項目など適した任意のタイプであってもよい。その特徴は、その項目と関連付けられる任意の特性である。本明細書で説明される実施形態において、所与の項目に対して実現可能な特徴が多数あるので（例えば、実現可能な特徴が数百から数十万とある）、クラスタリングシステムへの入力には高次元ある。
【００１６】
本明細書で説明される実施形態において、クラスタリングシステムへの入力は、二値ベクトル形式で提供される。例えば、項目が文書であり、特徴がテキストワードである場合、所与の文書に対する入力は、１ベクトルおよび０ベクトルであり、１ベクトルは、テキストワードが文書内に存在することを示す。０ベクトルは、テキストワードが文書内に存在しないことを示す。別の例において、項目は在庫（stocks）になり得るし、特徴はその在庫が指定された期間の間に売られた値段になり得る。価格値（price values）の範囲または「瓶（bin）」は、二値ベクトルが在庫ごとに形成されて、クラスタリングシステムへの入力時に提供され得るように指定され得る。別の例において、項目は広告であり、特徴はその広告が契約されるキーワードである。この場合、広告に対する二値ベクトルは、契約する広告のキーワードごとに１ベクトル、およびその広告の契約が存在しないキーワードごとに０ベクトルを備える。
【００１７】
クラスタリングシステム１０１は、データ構造１０２を保持するメモリを有するクラスタリングエンジンを備える。データ構造は、デフォルト状態で開始するクラスタモデルを保持し、大規模なセットの訓練データを使用して訓練される。訓練データは上述したような二値ベクトルを備える。訓練プロセスは、以下で詳述されるように、ベイズ更新プロセスを使用する更新エンジン１０３によって実行される。学習プロセスの間、クラスタモデルのパラメータは、そのモデルのパラメータについての不確実性だけでなく学習も行う。クラスタリングシステム１０１は、学習したモデルのクラスタおよびパラメータについての詳細といったクラスタ情報１０４を出力時に提供する。そのモデルは、モデルパラメータについての不確実性を考慮に入れて、訓練または更新プロセスの間にこの不確実性を効率的に学習するように調整される。以前の手法は、このように不確実性を考慮に入れることができていない。
【００１８】
図２に、クラスタモデル１０２の詳細を略した方法で示す。クラスタモデルは、複数のクラスタ２０１を備える。明確にするために３つのクラスタのみが示されているが、実際には数百または数千（またはそれ以上）ものクラスタが使用され得る。使用されるクラスタの数は、特定のアプリケーションおよび利用可能な処理リソースによって決まる。クラスタモデルは、クラスタごとに事前クラスタ（cluster prior）２００も備える。これは、項目のうちのいずれかがそのクラスタのメンバであるという信念（belief）を表す事前確率分布である。この事前クラスタは、事前クラスタの確率分布を記述する統計データ（またはパラメータ）を使用して格納される。適した任意のタイプの確率分布を使用して事前クラスタを表し得るが、本明細書で説明される実施形態では、ディリクレ分布（Dirichlet distribution）が使用される。しかしながら、これは必須ではなく、他のタイプの分布も使用され得る。事前クラスタをこのように使用することによって、クラスタモデルは、どの項目がクラスタのメンバであるかを確率的方法で定義する理由により、クラスタを「ソフトに」表現する。クラスタモデルが初期化される時、どの項目がどのクラスタのメンバであるかについての不確実性は高いが、訓練が進むにつれてこの不確実性は軽減し得る。クラスタモデルは、事前クラスタがクラスタモデルのパラメータである理由により、この不確実性についての知識（knowledge）を獲得することができる。
【００１９】
クラスタモデルは、クラスタ２０１と特徴２０２との組み合わせごとに事前特徴の確率分布２０４も備える。例えば、図２のクラスタ１に対する事前特徴の確率分布において、特徴Ａはｔ1Aである。事前特徴の確率分布ｔ1Aは、クラスタ１内の項目が特徴Ａを有するという信念を表す。事前特徴（feature priors）は、事前特徴の分布を記述する統計データまたはパラメータとして格納される。適した任意のタイプの確率分布を使用して事前特徴を表し得るが、本明細書で説明される実施形態ではベータ分布が使用される。ベータ分布は、パラメータαおよびβによって記述され得るし、このパラメータは、それぞれの事前特徴のモデルによって格納され得る。スパース表現（sparse representation）を提供するために、事前特徴の確率分布は、クラスタと特徴との組み合わせの多くに対してデフォルトに設定され得る。これについては以下で詳述する。
【００２０】
上述したように、クラスタモデルは、デフォルト値に設定されるパラメータを用いて初期状態で開始する。学習または訓練プロセスが次に起こり、大規模なデータセット上でクラスタモデルを訓練する。例えば、そのデータセットは、数十万またはそれ以上もの項目を備え得る。クラスタモデルのパラメータは確率変数として扱われる。推論は、そのパラメータの事後分布を計算することを備え、そのパラメータは、その真値についての不確実性を獲得する。これによって、不確実性が多く残るパラメータ値の解釈について注意を払うことが可能になる。それはまた、クラスタモデルが最も不確実であるパラメータ値について宣言するので、実験計画を可能にする。さらに、訓練プロセスが各データポイント（または項目）に一度だけアクセスする場合にはそれで十分である。これによって、訓練プロセスが、ウェブアプリケーションにおいて典型的な大規模なコーパスに首尾よくスケールするのを可能にする。
【００２１】
図３は、クラスタモデル１０２を訓練する方法のフロー図である。クラスタリングシステムは、符号３００においてクラスタモデルを保持するデータ構造を格納する。クラスタモデルは、上述したようにパラメータを有し、そのパラメータは、その最適値についての不確実性を獲得する。パラメータは、符号３０１において初期化されて、クラスタリングシステムは、符号３０２において訓練用に使用される項目のストアから、特徴を有する項目を備える第１のデータポイントを受信する。事後確率分布を得るために、ノイズは、符号３０３において任意にモデルパラメータに導入されて、その観測に基づいてベイズ更新プロセスは、事前確率分布を更新するのに使用される。１つのデータポイントを処理した後に得られる事後確率分布は、事前確率分布が次のデータポイントを処理する時に渡される。これは、符号３０４においてデータ構造を更新し、任意には、符号３０５において格納された観測を削除することによって達成される。このプロセスは図３に示すように次のデータポイントに進み、各データポイントは一度だけ処理される必要がある。つまり、訓練プロセスは、各データポイントに必要であれば二度以上アクセスするのに使用され得るが、これは必須ではない。
【００２２】
図４は、契約キーワード４０１を有し、クラスタモデル内で表される２つのクラスタ４０３を示す広告４００の略図である。クラスタごとに、事前特徴４０５が、この例においてキーワードである各特徴４０４に示される。各クラスタは、事前クラスタ（図示せず）を有する。この例において、クラスタ１に対する事前契約キーワードのベータ分布であるオフィスの平均は０．８であり、クラスタ１内の任意の広告がキーワード「オフィス」で契約する比較的強い信念を示す。この例において、ベータ確率分布の平均のみを示すが、その方法は、その平均値についての信念の不確実性を考慮に入れることができる。他のクラスタと特徴との組み合わせに対する事前契約キーワードも与えられる。
【００２３】
次のデータポイントが訓練項目から得られ、訓練の間にモデルを更新するのに使用されると仮定する。このことは、図４と同じように図５に示すが、別の広告５００を示す。この付加的な広告５００は、キーワード「オフィス」、「ＴＶショー」および「コメディ」を有する。この例において、キーワード「コメディ」は、モデルによってこれまで観測されなかったので、このキーワードは、事前契約キーワードのデフォルト（例では０．５で示す）を用いて各クラスタに付加される。更新プロセスが次に起こる。この更新プロセスの間、クラスタごとに反応性４０２が計算される。クラスタの反応性（responsibility）は、そのクラスタが特定の項目（この場合、広告５００）を生成する確率として考えることができる。反応性４０２は合計１になる。更新プロセスは、結果として事前特徴（この場合、事前契約キーワード）に変わり、これを図５の矢印５０２で示す。上向きの矢印は、事前特徴の確率がその矢印のサイズで表される量だけ増えたことを示す。下向きの矢印は、事前特徴の確率がその矢印のサイズで表される量だけ減ったことを示す。
【００２４】
事前特徴の更新の大きさは、反応性に関係し、その事前特徴についての不確実性の量にも関係する。例えば、比較的高い確実性と分かる事前特徴は、更新プロセスによって非常に不確実である事前特徴よりも変更されにくい。また、反応性が高い場合、事前特徴の変化の大きさは、低い反応性よりも大きい。単一のデータポイント（広告５００）に対する更新プロセスの後、反応性値は廃棄され得るし、そのプロセスは、次のデータポイントへと移動する。
【００２５】
クラスタモデルは、因子グラフ（factor graph）としてデータ構造内に格納され得る。図６を参照すると、因子グラフは、符号６００において作り出されて、その因子グラフのノードは、符号６０１においてクラスタモデルのデフォルトパラメータ値を用いてインスタンス化される。訓練の間に、第１の項目が、訓練項目セットから取り出され、符号６０３においてこの「観測された」項目についての情報は、因子グラフに入力される。メッセージの受け渡し（message passing）は、符号６０２において因子グラフ上で行われ、ベイズ推論を使用してパラメータを更新し得る。プロセスは、次に訓練セット内の次の項目に移動して、その訓練セットからの各項目が一度処理されるまでプロセスを繰り返す。
【００２６】
クラスタモデル内で使用するための例示的な因子グラフの一部を図８に示し、本明細書でより詳細に説明する。
【００２７】
クラスタリングシステムの詳細な例を今から説明するが、そのシステム内の項目は広告であり、その特徴はその広告を契約するキーワードである。しかしながら、この例は、他のタイプの項目および特徴にも適用可能であることに留意されたい。
【００２８】
ｉ番目のオブジェクトが
【００２９】
0005442846.tif 000002
【００３０】
であるオブジェクトＮのセットが、Ｄ次元の二値変数ベクトルによって記述されると見なす。実在の（concrete）アプリケーションにおいて、これらのオブジェクトは、課金制検索のオンライン広告であり、その広告が契約されるキーワードのセットによって記述される。合計Ｄの固有のキーワードがあり、ｉ番目の広告が契約されたキーワードに対するベクトル
【００３１】
0005442846.tif 000003
【００３２】
は、１を含む：ｉ番目の広告がｄ番目のキーワードで契約された場合、ｘid＝１またはｘid＝０である。
【００３３】
広告のキーワードベクトルは、クラスタＫのうちの１つまたは混合コンポーネントによって生成される。各広告
【００３４】
0005442846.tif 000004
【００３５】
は、それと関連付けられた変数ｃi∈｛１，・・・，Ｋ｝を有し、その変数は、広告が属するクラスタのインデックスを示す。ｉ番目の広告がクラスタｊに属する場合、ｃi＝ｊである。クラスタ内では、独立ベルヌーイ確率分布に従って、広告をキーワードで契約する。ｉ番目の広告がクラスタｊに属する場合、ｄ番目のキーワードで契約される確率は、ｔjd＝ｐ（ｘid＝１｜ｃi＝ｊ）によって与えられる。結果として、ｉ番目の広告がクラスタｊに属する確率は、クラスタ依存のベルヌーイプロファイルによって与えられる。
【００３６】
【数１】
0005442846.tif 000005
【００３７】
広告がどのクラスタに属するかが前もって分からない場合、その不確実性は、ｉ番目の広告（または実際の他の広告）がクラスタに属する事前確率ｊ：πj＝ｐ（ｃi＝ｊ）によって獲得される。事前クラスタ｛πj｝およびキーワード｛ｔjd｝に契約する確率が分かっている場合、そのモデルの標本分布は、ベルヌーイプロファイルの混合によって与えられる。
【００３８】
【数２】
0005442846.tif 000006
【００３９】
このモデルから広告を標本化することは、ベクトルパラメータ
【００４０】
0005442846.tif 000007
【００４１】
を用いた離散型分布からクラスタＫのうちの最初の１つを引き出すことによって選択することを伴う。第２のステップにおいて、契約する広告のキーワードは、選択されるクラスタのベルヌーイプロファイルから引き出される。
【００４２】
ここで提示されるベルヌーイプロファイルの混合について、契約キーワードのベルヌーイ確率は、ベータ事前分布
【００４３】
0005442846.tif 000008
【００４４】
と共役して（conjugate）与えられる。パラメータαおよびβを、擬似カウントとして解釈することができる：αは、キーワードがスイッチオンされた回数として、βは、キーワードがスイッチオフされた回数として解釈される。契約キーワードの確率ｔの確率密度関数（ＰＤＦ）は、以下になる。
【００４５】
【数３】
0005442846.tif 000009
【００４６】
擬似カウントの合計が多いほど、値ｔについての不確実性が低くなる。
【００４７】
他の知られていない興味深い変数は事前クラスタ確率｛πj｝であり、この確率はベクトルパラメータ
【００４８】
0005442846.tif 000010
【００４９】
を用いたディリクレ事前分布
【００５０】
0005442846.tif 000011
【００５１】
が与えられる。ベータ分布と同様に、γjをクラスタｊに属する広告数の擬似カウントとして解釈することができる。
【００５２】
図７は、ベータ分布およびディリクレ分布のパラメータを含む完全なベイズモデルに対応する有向（directed）グラフモデルを示す。平面７００、平面７０１で囲まれたグラフ部分は、その平面のインデックスに従って複製される。例えば、外側の平面の固定値ｉに対して、内側の平面は、キーワードのインデックスｄの各値につきＤ回複製される。矢印は、変数間の依存性を示す。
【００５３】
グラフ表現は、変数間の条件付き独立性を明らかにする利点があり、事後分布の周辺を効率的に計算するのに重要である。図８は、ｉのインデックスが付いた単一のデータポイントに対する、図７の一部（a slice）の有向グラフの因子グラフ表現を示す。因子グラフは、二部グラフであり、因子ノード（影付き四角形）８００、８０２につながれた変数ノード（円形）８０１、８０３による結合確率分布を表す。因子ノードは、そのノードにつながれた変数における関数関係を表し、すべての因子の積（product）は、結合確率分布に対応する。周辺分布は、因子ノードから変数ノードへのメッセージを計算することによって得られる：所与の変数ノードの周辺分布は、そのノードの入力メッセージ（incoming messages）の積である。因子グラフの推論は、メッセージの受け渡しとして知られ、それについては、非特許文献１で詳細に記載されており、そのすべては参照によって本明細書に組み込まれる。図８の表現では、観測された変数ｘid，ｄ＝１，・・・，Ｄを因子ｆidに吸収（absorb）する。メッセージの受け渡しによって得られるクラスタ割り当て
【００５４】
0005442846.tif 000012
【００５５】
の周辺確率および契約キーワードの周辺確率ｔidは、事後分布が望ましい。
【００５６】
図８の因子グラフは、単一の広告しか表していないが、およそＤ×Ｋの変数をすでに含み、潜在的には、キーワードＤの数では数百万もあり、クラスタＫの数では数百もある。ほとんどのキーワードは、実際には、典型的な検索エンジンクエリと同種のキーフレーズであり、このためＤを非常に大規模にすることができる。完全なグラフは、この一部をＮ回（訓練データの数）さらに複製し、Ｎの数は数千万もある。そのサイズのグラフをメモリに格納し、または必要なメッセージを計算して格納するのは実用的でない。
【００５７】
この推論を実用的にするためには、近似的推論の仮定密度フィルタリング（ＡＤＦ）に基づいて、オンラインの学習スキーマが使用される。データポイント（広告）は、一つずつ処理されて、１つのデータポイントを処理した後に得られる
【００５８】
0005442846.tif 000013
【００５９】
およびｔidの事後分布は、事前分布が次のデータポイントを処理する時に渡される。
【００６０】
このオンラインの学習シナリオにおける因子グラフがツリーである理由により、メッセージは、一度ルートノードからリーフノードに計算されて、戻されるだけでよい。ｉ番目のデータポイントを処理するための実用的なスケジュールは、以下の通りである。
【００６１】
●  事前分布ｇ（ｔld）および
【００６２】
0005442846.tif 000014
【００６３】
を、前のデータポイントを処理したことから得られるｔjdおよび
【００６４】
0005442846.tif 000015
【００６５】
の事後周辺分布に設定する。
【００６６】
●  キーワード因子ｆidからクラスタ割り当て変数ｃiへのメッセージ
【００６７】
0005442846.tif 000016
【００６８】
を計算する。
【００６９】
●  クラスタ割り当て因子
【００７０】
0005442846.tif 000017
【００７１】
からクラスタ割り当て確率変数
【００７２】
0005442846.tif 000018
【００７３】
へのメッセージ
【００７４】
0005442846.tif 000019
【００７５】
を計算する。
【００７６】
●  メッセージ
【００７７】
0005442846.tif 000020
【００７８】
を計算する。
【００７９】
●  キーワード因子ｆidごとに送信メッセージ
【００８０】
0005442846.tif 000021
【００８１】
を計算する。
【００８２】
●  新しい周辺分布
【００８３】
0005442846.tif 000022
【００８４】
および
【００８５】
0005442846.tif 000023
【００８６】
を計算する。
ＡＤＦステップの間メッセージを格納する必要はないが、およそＤ×Ｋの周辺分布の順序でのみ格納することに留意されたい。
【００８７】
ｆidからｃiへのメッセージは、次のように与えられる。
【００８８】
【数４】
0005442846.tif 000024
【００８９】
ここで
【００９０】
0005442846.tif 000025
【００９１】
は、
【００９２】
0005442846.tif 000026
【００９３】
の平均であり、
【００９４】
0005442846.tif 000027
【００９５】
は、インジケータ関数であり、その独立変数（argument）が真であれば１に等しく、偽であれば０に等しい。ｃiから因子ｈへのメッセージは、
【００９６】
0005442846.tif 000028
【００９７】
であり、従って、因子ｈから
【００９８】
0005442846.tif 000029
【００９９】
へのメッセージは、以下になる。
【０１００】
【数５】
0005442846.tif 000030
【０１０１】
因子ｈからｃiへのメッセージは、ディリクレ事前分布
【０１０２】
0005442846.tif 000031
【０１０３】
に従って（スケールされた）クラスタ割り当ての平均確率を送信する。
【０１０４】
【数６】
0005442846.tif 000032
【０１０５】
いくつかの実施形態において、反応性と呼ばれるパラメータは、任意に、中間ステップとして計算される。これは、クラスタインデックスの周辺分布である。この反応性を、図５を参照して上記で論じたように、所与のクラスタが特定の広告を生成するであろう確率として考えることができる。周辺分布の入力メッセージの正規化された積によって与えられる周辺分布ｃiは、以下になる。
【０１０６】
【数７】
0005442846.tif 000033
【０１０７】
ここでは広告ｉが、
【０１０８】
0005442846.tif 000034
【０１０９】
および
【０１１０】
0005442846.tif 000035
【０１１１】
によって、クラスタｌの反応性と呼ばれる。
【０１１２】
0005442846.tif 000036
【０１１３】
【数８】
0005442846.tif 000037
【０１１４】
ｆidノードからｔldノードへのメッセージ（４）が、混合ベータ分布に定数をプラスしたものと考えれば、周辺分布ｔldも、ベータ分布ではない。
【０１１５】
【数９】
0005442846.tif 000038
【０１１６】
代わりに、現在の広告がクラスタｌに属すると仮定した、ｔldのベータ事前分布とベータ事後分布との凸結合がある。ベータ事後分布は、クラスタｌの反応性が大きいほど重み付けを大きくする。
【０１１７】
メッセージ
【０１１８】
0005442846.tif 000039
【０１１９】
をベータ分布族（Beta family）内に保持するために、その周辺分布ｐ（ｔld）は、モーメントマッチングによってベータ分布上にプロジェクトされ得る。周辺分布の第１の積率順序（order moment）は、以下になる。
【０１２０】
【数１０】
0005442846.tif 000040
【０１２１】
非心モーメント（non-central）の第２の積率順序は、以下になる。
【０１２２】
【数１１】
0005442846.tif 000041
【０１２３】
第１の積率順序、すなわち周辺分布の平均は、（項ｒilの反応性を考慮に入れることなく）ベータ分布の完全な更新に従った、事前平均と事後平均との凸結合であることに留意されたい。その積率に関してベータ分布パラメータの式を使用して、近似したベータ分布のパラメータは、次のように計算される。
【０１２４】
【数１２】
0005442846.tif 000042
【０１２５】
ここで、
【０１２６】
0005442846.tif 000043
【０１２７】
は、更新された擬似カウント（それ以前からの擬似カウントを含む）であり、観測された広告のおおまかな総数である。
【０１２８】
0005442846.tif 000044
【０１２９】
の厳密な周辺分布は、ディリクレ分布の混合であり、以下になる。
【０１３０】
【数１３】
0005442846.tif 000045
【０１３１】
ここで、
【０１３２】
0005442846.tif 000046
【０１３３】
は、長さＫのｉ番目の単位ベクトルである。１クラスタ当たり１混合ディリクレであり、その値は、対応するクラスタがアクセスされる（visited）広告に対して完全に反応すると仮定した結果である。混合係数（mixing coefficients）は、クラスタがその広告に対して行った実反応性（actual responsibilities）である。近似値（approximation）は、ディレクリ分布族に残される。例えば、その平均は、保存されて、γjの合計が１つずつ増加することが確実になる。これを、対応するディレクリ分布
【０１３４】
0005442846.tif 000047
【０１３５】
のパラメータにクラスタの反応性を付加することによって達成することができる。
【０１３６】
上記で説明したように、単一のデータポイントを一度に処理するＡＤＦを使用することによって、計算時間およびメモリ使用に関して大幅に節約することが可能になる。このオンラインの学習フレームワークにおいてさえ、クラスタリングの大規模なデータセットは計算的に要求が多い。典型的なデータセットは、数百万もの固有のキーワードを有する数百万もの広告を含むことができる。すべてのクラスタが、実現可能なすべてのキーワードごとに１つのベータ分布を含む場合、その必要メモリはおよそ数百ギガバイトになるであろう。さらに、各広告に対する反応性の計算は、数千万もの項（term）を伴うであろうし、そのため訓練に極めて時間がかかるであろう。いくつかのステップを踏み、クラスタリングシステムが適度な時間で稼動して、適度なメモリ量を使用することができることを実現し得る。
【０１３７】
データセット内には、潜在的に数百万もの固有のキーワードがあるが、個々の広告は、非常に疎（sparse）であり、典型的には、各広告の契約に対しておよそ１０個のキーワードである。同様の広告のクラスタも疎であると仮定するならば、そのクラスタに対してスパース表現を使用することによって、そのクラスタのプロパティを利用することができる。このプロパティも、他のタイプの項目および特徴を他のアプリケーションドメインに適用する。しかしながら、明確にするために、ここでの例は、広告およびキーワードを参照して論じられる。この表現において、クラスタにとって「重要な」キーワードのみが明示的なベータ分布によって表され、他のすべてのキーワードは、そのクラスタの同じ単一の「デフォルト」ベータ分布によって表される。ここでの「重要なもの」とは、１）その広告のかなりの数がクラスタ内に含まれていること、および２）そのクラスタが十分に識別できることを兼ね備えたものである。すべてのクラスタが数百万の代わりに数百の固有の分布を含む場合、そのモデルは、少量のメモリを使用するであろうし、式（３）の計算を迅速に行うことができる。いくつかのステップを踏み、そのモデルが疎の状態のままにすることを実現し得る。
【０１３８】
図９は、モデル９００を保持するデータ構造が、クラッタークラスタおよびガーベジコレクションエンジン９０１との通信を行うクラスタリングシステムの一部の例である。
【０１３９】
ガーベジコレクションエンジン９０１を調整して、例えば、図１０および図１１の方法のいずれかまたは両方を実行し得る。この方法（または他の同様の方法）は、モデルから特徴（キーワードなど）を選択する期間において実行され得る。符号１０００において、例えば、図１０に示すように、すべてのクラスタを通じて同様の確率を有するキーワードを特定し得る。それらは、関連するベータ分布と同様の平均を有するキーワードになり得る。符号１００１において、特定されたキーワードの明示的な確率分布は、デフォルト確率分布によって置き換えられ得る。
【０１４０】
図１１は、クラスタ内で実行される方法のフロー図である。符号１１００において、そのクラスタ内のキーワードの確率分布は、デフォルト確率分布によって置き換えられる（このステージにおいて実際の置き換えではなく試験目的で置き換えられる）。符号１１０１において、結果的に反応性の変更が著しく発生する場合、符号１１０２において、そのキーワードの確率分布が記憶（retain）される。そうでなければ、符号１１０３において、そのキーワードの確率分布は、除去されてデフォルトによって置き換えられる。
【０１４１】
いくつかの実施形態において、クラスタモデルはクラッタークラスタを備えるが、これは必須ではない。新しい概念の情報に適していないクラスタにその概念が入力されるのを避けるために、クラッタークラスタはクラスタモデルの一部として使用され得る。例えば、２つのクラスタがあり、１つは本に関するクラスタで、もう１つはＤＶＤに関するクラスタであると仮定する。ベビーフードに関する新しい広告が観測される。上述のように、２つのクラスタのそれぞれに対してベビーフード広告の反応性値が計算される。以前に説明した通り、その反応性値の合計は１に決められているので、新しい広告は、その２つのクラスタのそれぞれに対する反応性値０．５が与えられる。クラッタークラスタが提供される場合において、そのクラッタークラスタは、ベビーフード広告に対して高い反応性値を有するであろう。クラッタークラスタは、特定グループの特徴について特化しないように調整される。このように、ベビーフード広告は、効率的に「消失する」であろう。
【０１４２】
図１２は、ガーベジコレクションの間に実行される例示的な方法のフロー図である。符号１２００において、数の少ない項目を含みやすいクラスタが特定されて、他の（恐らくそれよりも大規模な）クラスタにマージされる。例えば、異なる１０個の特化したクラスタの場合、クラッタークラスタは、他の１０個のクラスタのうちの１つに合わない実例を明らかにする（account for）ために付加され得る。このクラッタークラスタは、特定の特徴のグループに特化しない目的で単一のベータ分布が与えられる。一例において、２つの大型のクラスタがあり、１つはオフィス用家具に関するクラスタで、もう１つはオフィススペースに関するクラスタであると考える。オフィスケータリング用の小さいクラスタも存在する。小規模のクラスタに対するガーベジコレクション処理の間、ガーベジコレクションエンジンは、小さいクラスタをオフィス用家具のクラスタにマージする決定をし得る。他の場合において、ガーベジコレクションエンジンは、小さいクラスタをクラッタークラスタにマージする決定をし得る。ルールベースのシステムは、ガーベジコレクションエンジン内に提供されて、現在の状態のクラスタモデルおよび／または特定のアプリケーションについて、数、タイプ、サイズおよび他の要因による異なる状況においてどの手法を取るべきかを決定し得る。
【０１４３】
いくつかの実施形態において、クラスタリングシステムは、クラスタモデルを訓練するプロセスを支援するように調整された複数のプロセッサを備える。そのプロセッサは、マルチコアコンピュータにおいて提供され得るし、または分散コンピューティング環境において別個のエンティティになり得る。図１３は、そのようなクラスタリングシステムにおける例示的な方法のフロー図である。図３を参照して上述したように、符号１３００において、初期状態（訓練前の状態）のモデルが最初に直列的に訓練される。このステージにおいて、そのモデルは、参照し易いように「事前モデル（prior model）」と呼ばれる。その直列訓練は、利用可能な訓練データのサブセットを使用して実行される。符号１３０１において、残りの（まだ使用されていない）訓練データは、バッチに分割されて、符号１３０３において、事前モデルの複数の子コピーが形成される。訓練データは、事前モデルの子コピーの数よりもさらに多くバッチに分割される。符号１３０４において、各子コピーに対して訓練データの異なるバッチを使用することと並行して図３を参照して上述した訓練方法を使用して、子コピーは訓練される。符号１３０５において、訓練された各子コピーに対して次に、事前モデルとその訓練された子コピーとの間で差異が計算される。この差異は、子コピーの事後分布をその事前分布で除すことによって計算される。この差分は、子コピーの事前分布に、子コピーの事後分布と等しくなるように自身を更新するように伝えるメッセージである。それぞれの子コピーから得られる差異は、すべての子コピーによって学習される情報を集めるために、子コピーの事前分布に適用される。符号１３０６において、その差異は事後分布を得るために事前モデルに適用される。その事後分布は、事前モデルの代わりに使用される。更新された事前モデルを使用して新しい子コピーが作り出されて、まだ使用されていない訓練データのバッチを使用して訓練プロセスが繰り返される。このプロセスは全てのバッチが使用されるまで続行される。子モデルよりも多いバッチが使用されるので、子が構築する（build up）モデルは、遠くまでドリフトせず、通常の期間で解消（consolidate）される。
【０１４４】
モデルの並列コピーが異なるモードで整定する（settle）場合、１つのコピーにおける所与のクラスタは、もう１つのコピーにおいて対応するクラスタとまったく同じ記述がされにくい。これに対処するため、最初に１つのプロセスのみで訓練がスタートし、そのクラスタモデルが少なくとも部分的に形成されるまで訓練される。これは、「分化ステップ（differentiation step）」と呼ばれ得るし、そのモデルの並列コピーが異なるモードで整定する自由を減らすが、そのモデルがマルチモデルの時にはかなり問題になる。分化ステップは、全く最初の並列ステップの前にのみ必要であり、後続の並列ステップでは必要ない。また、その並列訓練が１バッチずつ実行される理由により、ステップ１３０６において作り出された事後分布が事前分布として使用される各バッチの後、次の単一のクラスタの複数のコピーは、並列訓練フェーズの間は遠くまでドリフトすることができない。
【０１４５】
いくつかの実施形態において、特定の項目と関連付ける特徴を提案するための特徴提案装置が提供される。例えば、その項目は、文書、ビデオ、イメージ、ファイルなどであってもよいし、その特徴は、それらの項目と関連付けられる（またはタグ付けされる）キーワードであってもよく、キーワード検索を使用して、後でストアからその項目を検索する助けとなる。この場合において、図１のクラスタリングシステムを、所与の項目と関連付ける特徴を生成する生成的方法に使用し得る。
【０１４６】
一例において、項目は広告であり、特徴はその広告が契約されるキーワードである。この場合において、その目的は、広告主に、その広告の売り上げが伸びるように、すでに契約された広告に関連する複数のキーワードを提案することになり得る。図１４は、図１のクラスタリングシステムを使用してこれを達成する、コンピュータ実行方法のフロー図である。この方法は、広告およびキーワードに関して論じられるが、他のタイプの項目および特徴にも適用可能である。
【０１４７】
オンライン広告（例えば、課金制広告の検索）において、広告は、広告主が契約するキーワードに基づいて表示されることが多い。例えば、表示されると見なされる広告は、ユーザによって発行されるクエリに含まれるキーワードで契約する広告になり得る。しかしながら、たとえ広告が具体的なクエリに関連していても、クエリ内に存在するキーワードで契約されなければその広告は、表示される対象とならない。広告主にとって、これは、契約する妥当なキーワードを選択する問題を内含する。さらに、契約されるキーワードは、いわゆる入札者密度（bidder density）に強い影響をもつ。ページの最初のスロットは、ページの最後のスロットよりもずっと興味を引くので、利用可能な広告スロットの数は限られる。広告スロットは、一般化されたセカンドプライスオークション（Ｖｉｃｋｒｅ−Ｃｌａｒｋｅ−Ｇｒｏｖｅｓ）を使用して競売にかけられ、広告主に課せられる金額は、即値（immediately）下位スロットによる広告主の入札および連続スロットによる広告のクリックスルー率によって決まり得る。結果として、入札者密度が高い場合、つまり、競売に参加する広告主が多くなるほど価格は、徐々に上がる。
【０１４８】
広告収入を増やすために、カバレッジおよび入札者密度を高める必要がある。これを２つの構造によって達成することができる。広告主が契約する関連するキーワード数を増加して、トピックの識別が可能なツールを数の少ない広告主に提供する。
【０１４９】
符号１４００において、所与の広告に契約した広告主のキーワードについての情報を備える新しい広告キャンペーンが受信される。所与の広告に基づいて、符号１４０１において、実際に契約されるキーワードに基づいてクラスタの反応性が計算される。符号１４０２において、キーワード確率分布が計算されて、その反応性値によって重み付けされる。この計算された確率分布は、符号１４０３において、広告主に提案されるキーワードを引き出すのに使用される。そのキーワードは、符号１４０４において、明確なランク付け基準を用いて提案されて、符号１４０５において、広告主が提案されたキーワードのどれかを要求するかどうかを示すユーザ選択情報が受信される。符号１４０１において、そのフィードバック情報は、クラスタの反応性を再計算するのに使用され、その方法は必要に応じて繰り返される。
【０１５０】
この方法についてさらなる詳細を今から与える。本明細書で説明されるクラスタリングシステムを、図７で示したモデルのような有向グラフに従って、生成的形式で使用することができる。キーワード提案について、具体的な広告は、部分的に観測されたデータを表す：広告主は、契約するキーワードにある考えを入力したかもしれないが、なおもある重要な考えを見逃しているかもしれない。契約されるキーワードは、従って、その広告主が意図するインジケータとして機能するが、契約されないキーワードの（巨大な）セットは、「未観測」として扱われる。
【０１５１】
この部分的に観測されたデータを用いて、観測されないキーワード、所与の契約されたキーワードの確率を計算するために、メッセージの受け渡しが実行される。この作業は、以下の通りである。Ｓ⊂｛１・・・Ｄ｝をｉ番目の広告の契約されるすべてのキーワードのセットにする。全ての因子｛ｆid｝，ｄ∈Ｓは、式２の形式のメッセージをノードＣiに送信する。ここで、それは、因子ｈからの入力メッセージと組み合わされる。式３の更新シナリオにあるように、広告に対するクラスタの反応性が計算されるが、この情報は、実際に契約されるキーワードのみに基づく。
【０１５２】
【数１４】
0005442846.tif 000048
【０１５３】
図８の因子ｆidに暗示的に付けられるデータ（キーワード）ノードの期待値は、観測されるキーワード
【０１５４】
0005442846.tif 000049
【０１５５】
を得るために計算される。
【０１５６】
【数１５】
0005442846.tif 000050
【０１５７】
観測されないキーワードに対するベルヌーイプロファイルと、観測されたキーワードから計算された反応性に基づく重み付けとの線形結合である。この方法を使用して、キーワードを、明確なランク付け基準（上記の確率または他の関係する控えめな確率推定）を用いてユーザに提案することができる。例えば、平均分布μが使用され得る。重み付けされたキーワード分布の合計を計算することも可能であり、その計算からキーワードを見る／提案するための平均または控えめな見積もり（平均から標準偏差を差し引くなど）のいずれかを計算する。
【０１５８】
本明細書で説明されるクラスタリングシステムを使用し得る多数のアプリケーションドメインにおいて、データ内のノイズによって生じる問題がある。つまり、ノイズの多い項目は、その項目がいくつかの関連する特徴を有する場所で発生する可能性があり、その特徴は、所与のクラスタの主な主題的特徴（thematic features）および少なくとも１つの関連する特徴とはまったく関係のない特徴である。本明細書で説明されるクラスタリングシステムが、項目―特徴関連についての不確実性を考慮に入れるように調整される理由により、ノイズの多いデータは、代替的なクラスタリング技術を用いた場合ほど問題はない。これを、項目が広告であり、特徴がキーワードである例を参照して今から説明する。
【０１５９】
例において、契約される最大の確率を有するキーワードを検査することによってクラスタのトピックが決定される。データのノイズが多い性質の理由により、ある関係のないキーワードが、偽って高い平均契約確率を有するのは可能である。このキーワードは、ノイズの多い広告によって契約されたかもしれないし、同時にクラスタの主な主題的キーワードのいくつかで契約されたかもしれない。契約確率についての不確実性の手段を提供することによってこの問題に対処できるようにするベイズ法が提案される。図１５は、最も高い平均契約確率を有するキーワードμ−「ペストコントロール」が適合しない非常に均一なクラスタの一例を示す。しかしながら、このキーワードは、このクラスタに起因する少ない広告でアクティブに見られた。ベータ分布の擬似カウントαの総数は、このクラスタに起因し、キーワードで契約された広告の擬似有効数を表す。同一平均値μを有するが異なるα値を有する２つのキーワードを考えると、そのモデルは、最も高い値αを有するキーワードにより確定する。従って、μの代わりにαによってソートすることを不確実性の考慮に入れる。図１５において効果は明白である：その擬似キーワードは下位の位置に格下げされる。
【０１６０】
本明細書で説明されるクラスタリングシステムは、以前のクラスタリングシステムと比較して減少した訓練回数を提供し、さらに、生み出されるほとんどすべてのクラスタが、ほんのわずかしか備わっていないトピックの混合を用いて（査定人によって評価されるように）一貫性のある品質の高い計算結果を提供する。本明細書で説明されるクラスタリングシステムと、いくつかの他のクラスタリング方法：Ｋ平均法、凝集クラスタリング、および期待値最大化（ＥＭ）に基づくベルヌーイプロファイルの混合の推定による最尤法との比較が行われる。
【０１６１】
異なる方法による訓練回数が評価されて、計算結果を出したクラスタの最も顕著なキーワードという意味においての一貫性に対する目視検査（visual inspection）が行われる。定性的に、Ｋ平均法および凝集クラスタリングは、ほとんどの広告が単一のクラスタへ折り畳むことで困難に陥る。これは、契約される広告によってもたらされるクラスタ間の、一貫性のないキーワードのセットへの擬似接続（spurious connections）によって生じる可能性がある。本明細書で説明される方法は、定性的に、Ｋ平均法および凝集クラスタよりもよい計算結果を実現し、より多くの意味のあるクラスタを特定するように管理し、このことを通じて広告をより均一に拡散する。そのためには、すべてのデータセットに何回もアクセスする必要がある理由により、ＥＭアルゴリズムを用いたＭＬ型推論が計算的に非常に強固（intense）である。計算的に最も効率的な方法は、本明細書で説明された、わずか１時間の訓練時間による方法であり、ＥＭアルゴリズムによって要求される４０時間と比較して短い。
【０１６２】
本明細書で説明される実施形態は、データからクラスタリングモデルを計算的に効率的に学習して、そのクラスタリングモデルを特徴の提案に使用する方法を提供する。使用されるクラスタリングモデルは、クラスタに特化した、特徴と契約する確率に対するベルヌーイから生み出された分布との混合モデルになり得る。以前のクラスタリング技術は、データからクラスタリングモデルを構築するために計算的に要求の多い技術が要求される（例えば、期待値最大化ＥＭアルゴリズム）。
【０１６３】
上述のように、ベイズ手法は、例えば、クラスタリングのメンバシップ確率をディリクレ事前分布に備えて、事前ベータをクラスタに特化したキーワード確率に備えることによって使用される。これによって、全ての確率についての不確実性を完全に保持することができる。
【０１６４】
モデルをデータから学習することについて、例では、オンラインの方法でクラスタリングモデルを学習する技術である、仮定密度フィルタリング（ＡＤＦ）に基づいて近似的ベイズ推論を使用する。項目が処理される時、その項目は１つずつ処理され、そのモデルパラメータは、（通常わずかな）更新を受信し、その後項目に再度アクセスする必要はない。この方法において、クラスタリングモデルを完全に学習するには、各項目に一度だけアクセスする必要がある。これによって、過去に提案されたモデルを学習するためのインタラクティブな手法と比較して著しい高速化が可能になる。新しい項目が利用可能になる時、従来のほとんどの方法は、項目全体の拡張したコーパスから再度学習する必要があるのに対して、提案された方法は、クラスタリングシステムを徐々に更新することを可能にする。さらに、メッセージの受け渡しを用いた因子グラフおよび近似的ベイズ推論に関するモデルの表現によって、クラスタモデルの学習を並列処理することが可能になる。モデルから観測された特徴をほとんど除去しない「ガーベジコレクション」ストラテジーによってスピードがさらに向上する。
【０１６５】
図１６は、例示的なコンピューティングベースのデバイス１６００のさまざまなコンポーネントを示し、それらのコンポーネントは、コンピューティングおよび／または電子デバイスの任意の形態として実装され得るし、クラスタリングシステムの実施形態が実装され得る。
【０１６６】
コンピューティングベースのデバイス１６００は、１または複数の入力デバイス１６０６を備え、それらは、メディアコンテンツ、インターネットプロトコル（ＩＰ）入力、クラスタ化される項目、クラスタ化される項目についての特徴情報、ユーザ入力または他のタイプの入力を受信するための適した任意の入力デバイスである。それらのデバイスは、ネットワーク上で適した任意のタイプの他のエンティティとの通信を行うための通信インタフェース１６０７も備える。例えば、このような他のエンティティは、他のクラスタリングシステムになり得る。
【０１６７】
コンピューティングベースのデバイス１６００は、１または複数のプロセッサ１６０１も備え、それらは、項目をクラスタ化するためにそのデバイスの動作を制御するコンピューティング実行可能命令を処理するためのマイクロプロセッサ、コントローラまたは適したその他のタイプのプロセッサを含み得る。オペレーティングシステム１６０４または適した他のプラットフォームソフトウェアを備えるプラットフォームソフトウェアは、コンピューティングベースのデバイスにおいて提供されて、アプリケーションソフトウェア１６０３がそのデバイス上で実行できるようにし得る。
【０１６８】
コンピュータ実行可能命令は、メモリ１６０２などの任意のコンピュータ可読媒体を使用して提供され得る。メモリは、ランダムアクセスメモリ（ＲＡＭ）、磁気または光ストレージデバイス、ハードディスクドライブ、またはＣＤ、ＤＶＤまたは他のディスクドライブなどの任意のタイプのディスクストレージデバイスなどの適した任意のタイプのメモリである。フラッシュメモリ、ＥＰＲＯＭまたはＥＥＰＲＯＭも使用され得る。
【０１６９】
オーディオおよび／またはビデオ出力デバイスなどの出力デバイスも、コンピューティングベースのデバイスと統合する、または通信を行うディスプレイシステムに提供される。ディスプレイシステムは、グラフィカルユーザインタフェース、または適した任意のタイプの他のユーザインタフェースを提供し得るが、これは必須ではない。ディスプレイインタフェース１６０５は、ディスプレイシステムを制御するために提供され得る。
【０１７０】
用語「コンピュータ」は、本明細書では、命令を実行することができるような処理能力を有する任意のデバイスを指すために使用される。そのような処理能力は、多くの異なるデバイスに組み込まれるので、用語「コンピュータ」は、ＰＣ、サーバ、携帯電話、ＰＤＡおよび多くの他のデバイスを含むことを当業者は気付くであろう。
【０１７１】
本明細書で説明される方法は、明示的なストレージ媒体上の機械可読形態内のソフトウェアによって行われる。そのソフトウェアは、その方法ステップが適した任意の順序または実質的に同時に実行され得るように、並列プロセッサまたは直列プロセッサ上で実行するのに適することができる。
【０１７２】
このことは、ソフトウェアは、価値のある個別的な貿易財にすることができることを認識させる。「ダム（dumb）」または標準ハードウェアを稼動または制御して望ましい機能を実行するソフトウェアを網羅することを意図する。シリコンチップを設計するまたはユニバーサルプログラマブルチップを構成するために使用されるようなＨＤＬ（ハードウェア記述言語）ソフトウェアなどの、ハードウェアの構成を「記述する」または定義して望ましい機能を実行するソフトウェアを網羅することも意図する。
【０１７３】
プログラム命令を格納するのに利用されるストレージデバイスをネットワークを通じて分散することができることを当業者は気付くであろう。例えば、リモートコンピュータは、ソフトウェアとして説明された例示的なプロセスを格納し得る。ローカルまたはターミナルコンピュータは、リモートコンピュータにアクセスして、ソフトウェアの一部またはすべてをダウンロードしてプログラムを稼動し得る。代替的には、ローカルコンピュータは、必要であればソフトウェアのいくつかをダウンロードし、またはローカルターミナルにおいていくつかのソフトウェア命令およびリモートコンピュータ（またはコンピュータネットワーク）においていくつかのソフトウェアを実行し得る。当業者には周知である従来型技術を利用することによって、ソフトウェア命令のすべてまたは一部が、ＤＳＰ、プログラマブル論理アレイなどの専用回路によって実行され得るということも当業者は気付くであろう。
【０１７４】
当業者には明らかであるように、本明細書で与えられる任意の範囲またはデバイスの価値は、その効果への探求（effect sought）を損なうことなく拡張または変更され得る。
【０１７５】
上述した利益および利点は、一実施形態に関係し得るし、またはいくつかの実施形態に関係し得ることが理解されよう。その実施形態は、述べられた問題の一部またはすべてを解決する実施形態または述べられた利益または利点の一部またはすべてを有する実施形態に限定されない。「１つの（an）」項目への参照は、その項目の１または複数を指すことがさらに理解されよう。
【０１７６】
本明細書で説明される方法のステップは、適切な場合には、適する任意の順序または同時に実行され得る。さらに、個々のブロックは、本明細書に説明される発明の主題の精神または範囲から逸脱することなくいずれの方法からも削除され得る。上述した例のいずれかの態様を、上述した他の例のいずれかの態様と組み合わせて、その効果への探求を損なうことなくさらに例を形成し得る。
【０１７７】
用語「備える」は、特定された方法ブロックまたは要素を含むことを意味するために本明細書で使用されるが、そのようなブロックまたは要素は排他的リスト（exclusive list）を備えず、方法または装置は、付加的なブロックまたは要素を含み得る。
【０１７８】
好適な実施形態の上記の説明は、例示する目的のみに与えられ、当業者によってさまざまな修正が行われ得ることが理解されよう。上記の仕様、例およびデータは、本発明の例示的な実施形態の構造および使用の完全な説明を与える。本発明のさまざまな実施形態は、ある程度の特殊性を用いて、または１または複数の個々の実施形態を参照して説明されているが、当業者は、本発明の精神または範囲から逸脱することなく開示された実施形態に対して多くの変更を行ってもよい。
【図１】
0005442846.tif 000051
【図２】
0005442846.tif 000052
【図３】
0005442846.tif 000053
【図４】
0005442846.tif 000054
【図５】
0005442846.tif 000055
【図６】
0005442846.tif 000056
【図７】
0005442846.tif 000057
【図８】
0005442846.tif 000058
【図９】
0005442846.tif 000059
【図１０】
0005442846.tif 000060
【図１１】
0005442846.tif 000061
【図１２】
0005442846.tif 000062
【図１３】
0005442846.tif 000063
【図１４】
0005442846.tif 000064
【図１５】
0005442846.tif 000065
【図１６】
0005442846.tif 000066