(57)【特許請求の範囲】
【請求項１】
ユーザーによるｗｅｂページへのアクセスパターンからユーザープロフィール属性を推定する機械実装された方法であって、
プロセッサが、ユーザーアクセスの記録からユーザーによりアクセスされたｗｅｂページを検知することによって、グラフィック・サブシステムを用いて生成されたコンピュータシステムの出力ディスプレイにて前記ユーザーが閲覧したｗｅｂページを含むｗｅｂページの集合を識別するステップと、
プロセッサが、前記ｗｅｂページの少なくとも部分集合を第一のデータ構造へ写像するステップであって、前記第一のデータ構造は、前記ユーザーによるｗｅｂページへのアクセスパターンを識別するユーザーパスベクトルであり、各ベクトル指数の値は、前記ｗｅｂページの部分集合に含まれる特定のｗｅｂページが前記ユーザーのユーザーパスに現われる回数に対応し、前記写像するステップは、前記ユーザーによりアクセスされるｗｅｂページの他のｗｅｂページへの依存度合が高い場合には、当該他のｗｅｂページのベクトル指数の値を下げるか、あるいは無視して写像し、前記ユーザパスは、前記ユーザーによりアクセスされたｗｅｂページの一覧である、ステップと、
プロセッサが、前記第一のデータ構造を第二のデータ構造と比較して比較結果を得るステップであって、前記第二のデータ構造は、共通のユーザープロフィール属性を有する既知ユーザー集合によるｗｅｂページへのアクセスパターンを識別する多次元ベクトルであり、各ベクトル指数の値は、前記既知ユーザー集合のユーザーパスベクトルの集合を評価することにより決定される、ステップと、
プロセッサが、既知ユーザーに割り当てたユーザープロフィール属性の中から前記比較結果に対応したユーザープロフィール属性を前記ユーザーに割り当てるステップと、
を含むことを特徴とする方法。
【請求項２】
前記第一および第二のベクトル情報は多次元ベクトルであり、前記ベクトルの各次元はｗｅｂページそれぞれに対応することを特徴とする、請求項１に記載の方法。
【請求項３】
前記ユーザープロフィール属性は人口統計的情報であることを特徴とする、請求項１に記載の方法。
【請求項４】
前記ユーザープロフィール属性は前記ユーザーの性別であることを特徴とする、請求項１に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ユーザーによりアクセスされたＷｅｂページの解析を通じてユーザー情報を判定する技術に関する。
【０００２】
【従来の技術】
インターネットの利用が増大し続けるにつれて、インターネットユーザーの人口統計的特徴を認識することがますます重要になっている。このような特徴は、特定の人口統計的グループに属するインターネットユーザーに企業や広告主がサービスを提供して、新規顧客を開拓・維持するのに役立つ。この人口統計的情報を得るために、Ｗｅｂサイトはインターネットユーザーに対し個人の人口統計的情報を入力するように求める場合がある。しかし、そのようにユーザーが入力した情報が不完全なために、企業はインターネットユーザーの人口統計的な全体像を掴むことができないかもしれない。その他の場合、インターネットユーザーから提供された人口統計的情報が偽りであったり、または故意でないにせよ不正確であるかもしれない。
【０００３】
【発明が解決しようとする課題】
従来技術による機械学習は、ユーザーの人口統計的情報を推定しようとするものである。このような従来技術の例としてニューラルネットワークの利用やデータ推定へのベイズ方式等の手法がある。これらの技術は、有意に正確な人口統計的情報を推定するには極めて膨大な計算量を必要とする。このように扱いにくいトレードオフにより、従来技術による方法は必ずしも好適とは言えない。
【０００４】
【課題を解決するための手段】
本発明は、Ｗｅｂの利用状況からユーザープロフィール情報を推定するのに利用可能な方法およびシステムを提供する。テストユーザーがアクセスしたＷｅｂページのパターン解析に基づいてテストユーザーの人口統計的情報を推定することができる。
【０００５】
【発明の実施の形態】
特定の人口統計的特徴のような共通のプロフィール属性を共有するインターネットユーザーは、Ｗｅｂページの集合にアクセスする際に集合内の類似のまたは同一のページにアクセスしようとするであろう。例えば、あるＷｅｂページが特定の性別の人々に好まれるかもしれない。しかし、特定の性別のユーザーが、同じ性別である他のユーザーが関心を示すすべてのＷｅｂページに必ずしもアクセスするとは限らないであろう。従って、特定のＷｅｂページにユーザーがアクセスしたという事実には情報価値があるが、そのユーザーが他のＷｅｂページにアクセスしなかったという事実には必ずしも同程度の情報価値は無いかもしれない。ユーザーによりアクセスされた（または“閲覧された”）Ｗｅｂページの集合はＷｅｂページへのアクセスパターンを含み、それを解析することによりユーザーのプロフィール属性を推定することができる。
【０００６】
図１に、本発明の構成要素から利用可能なコンピュータシステム４０のブロック図を示す。図１のコンピュータシステムはプロセッサ装置５０、主メモリ５２、大容量記憶装置５４、周辺装置５６、ユーザー入力装置６０、可搬型記憶媒体ドライブ６２、グラフィック・サブシステム６４、および出力ディスプレイ６６を含む。図１に示す構成要素は単一のバス６８を介して接続されているように描かれているが、構成要素は１個以上のデータ送信手段を介して接続されていてもよい。本発明はまた、図１に示すコンピュータシステム全体または一部の集合体を用いて実装できることが理解されよう。
【０００７】
図２に、インターネットユーザーからアクセス可能な１個以上のＷｅｂのリンクされたＷｅｂページを表わす高次ブロック図１００を示す。ブロック図１００において、別々のＷｅｂページをノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｎ、およびＺで表わす。ダイアグラム１００のノードは、互いにリンクされているため、インターネットユーザーは各ノードで見つかったリンクを用いてページからページへのパス（経路）を辿ることができる。図２において、ユーザーはノードＡで表わされたページによりノードＣまたはノードＢへ直接リンクを辿ることができる。しかし、常に直接リンクが利用可能であるとは限らない。例えば、ノードＡで表わされたページを見ているユーザーがノードＮのページへリンクしたい場合、ユーザーは最初にノードＢにリンクし、次にノードＢからノードＮへ第二のリンクを実行しなければならない。ノードＢおよびＮへのこれらの別々のリンクを実行することにより、ユーザーはノードＡからノードＮへのパスを辿ったことになる。
【０００８】
“ユーザーパス”はユーザーによりアクセスされたＷｅｂページの集合を識別する。従って上述の例において、ユーザーパスをＡ、Ｂ、Ｎで表わすことができる。別の表記法において、ユーザーパスをＡ：Ｂ：Ｎで表わすことができる。ユーザーパス内の各Ｗｅｂページはとりわけ、ＩＰアドレス、連番の値、またはＷｅｂポータルのページ階層における位置により識別可能である。階層的ディレクトリサービスの場合、所与のＷｅｂページは（ノードＡで表わされたページのような）上位ページから所与のページまでユーザーパスを辿ることにより識別可能である。
【０００９】
分類システム（“分類器”）はユーザーによりアクセスされたＷｅｂページを検知することができる。一実施の形態において、ユーザーのＷｅｂブラウザに保存されているクッキーを評価することにより検知が実行される。保存されているクッキーにより参照されるＷｅｂページはユーザーによりアクセスされたと推測され、従って検知される。このような実施の形態において、ユーザーのＷｅｂブラウザ上でクッキーが使用可能な状態でなければならない。別の実施の形態において、ユーザーのコンピュータシステムでローカルにキャッシュされているＷｅｂページは分類器から無視される。別の実施の形態において、Ｗｅｂページはユーザーが閲覧した際にアクセスされたと見なされるが、これはＷｅｂページがＷｅｂサーバまたはプロキシサーバ上にあっても、ユーザーのコンピュータシステムによりローカルにキャッシュされていても、あるいは他のどこにあってもかまわない。さらに別の実施の形態において、Ｗｅｂページの検知は、ユーザーのＩＰアドレスを確認して、どのＷｅｂページがユーザーのＩＰアドレスからアクセスされているかに着目することにより行なわれる。
【００１０】
インターネットユーザーは特定のＷｅｂページに何度もアクセスしてよい。例えば、ノードＮが図２に示さない他のＷｅｂページ上で利用できる（ディレクトリサービスから提供されるリソース一覧等の）有用なリソースの一覧を含んでいる場合、インターネットユーザーはノードＮと、ノードＮが指す他のＷｅｂページの間を往復的にリンクするようにしてもよい。ユーザーがこれら他ページを閲覧したことが検知されなかったか、または無視された場合、ノードＮに対する各閲覧はユーザーパスへの別々の進入として記録することができ、これを妨害するユーザーパスへの進入はない。例えば、ユーザーが最初にノードＡにアクセスして、ノードＢにリンクし、ノードＮにリンクして、無視されたページにリンクし、次にノードＮに戻るリンクをしたならば、ユーザーパスをＡ、Ｂ、Ｎ、Ｎで表わすことができる。ユーザーパスの個々のＷｅｂページもまた組で表わすことができる。これらの組はアクセスされたページおよびそのページがユーザーパスに現われる回数の識別子を含んでいてよい。従って、ノード：Ａ、Ｂ、Ｎ、Ａ、Ｎを含むユーザーパスは、組み（Ａ、２）、（Ｂ、１）、および（Ｎ、２）で表すことができる。
【００１１】
多次元ベクトルを用いてユーザープロフィール属性の決定を容易にすることができ、Ｗｅｂページが各ベクトルの次元（または“ベクトル指数”）に写像される。ユーザーパスベクトルはそのようなベクトルの一つであり、各ベクトル指数の値はそのベクトル指数に対応する特定のＷｅｂページが特定ユーザーのユーザーパスに現われる回数に対応する。一実施の形態において、ユーザーパスベクトルはｎ次元空間内に存在し、その各次元は、本発明に基づいて閲覧したことが検知されるＷｅｂページに対応する。例えば図２のダイアグラム１００を参照するに、ノードＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｎ、およびＺにおけるＷｅｂページの閲覧を検知するのであれば、ユーザーパスベクトルは［ＡＢＣＤＥＮＺ］で表わすことができ、各ページに別々の指数が割り当てられる。一実施の形態において、ベクトルの各指数における値は、それぞれ特定の指数に対応するＷｅｂページにユーザーがアクセスした回数である。従って上記のユーザーパスベクトル表現を適用することにより、ユーザーパスＡ、Ｂ、Ｎ、Ａ、Ｎはユーザーパスベクトル［２１０００２０］で表わすことができる。ここにより詳細に述べるように、もう一つの多次元ベクトルである重心ベクトルは、１個以上の公知のプロフィール属性を有するインターネットユーザーのユーザーパスベクトルの集合を評価することにより各ベクトル指数の値が決定される。ユーザーパスベクトルとともに重心ベクトルもコンピュータによりプロセス可能なデータ構造として表わすことができる。
【００１２】
図３に、プロフィール属性が未知または疑わしいユーザー（“テストユーザー”）のプロフィール属性を決定するプロセスを記述したフローチャート１２０を示す。ステップ１２５において、以下により詳しく述べるように、ユーザープロフィール属性の異なる値に対して重心ベクトルが生成される。以下により詳しく述べるように、ステップ１３０においてテストユーザーに対してユーザーパスベクトルが生成される。ステップ１３５において、重心ベクトルはユーザーパスベクトルと比較される。ステップ１３７において、テストユーザーのプロフィール属性に対する値がステップ１３５の比較に基づいて推定される。ステップ１４０において、推定されたプロフィール属性がテストユーザーに割り当てられる。
【００１３】
図４に、ユーザーパスベクトルを生成するプロセスを記述したフローチャート１９０を示す。一実施の形態において、図４のプロセスは図３のステップ１３０から呼び出される。ステップ１９５において、テストユーザーによりアクセスされたＷｅｂページが検知される。ステップ１９７において、上述のように検知されたＷｅｂページに基づいてユーザーパスが識別される。ステップ２００において、テストユーザーのユーザーパスがユーザーパスベクトルＶの中へ写像される。
【００１４】
以下により詳しく述べるように、ステップ２００で写像されたユーザーパスベクトルと１個以上の重心ベクトルを比較しやすくするために、オプションのステップ２０５、２１０、と２１５を実行することができる。ある場合には、特定のインターネットユーザーが他のユーザーよりはるかに多くのＷｅｂページにアクセスするかもしれない。テストユーザーのＷｅｂページ閲覧の分布を依然として考慮しつつ、異なるテストユーザー同士でＷｅｂページの閲覧回数が異なることによる影響を最小にするために、ステップ２００で写像されたユーザーパスベクトルをステップ２０５で正規化して、正規化ユーザーパスベクトルＶ’を生成することができる。一実施の形態において、０からｓｉｚｅ（Ｖ）の範囲にある各指数ｋについて正規化されたユーザーパスベクトルＶ’は以下のように生成される。
【数１】
0004813744.tif 000002
ここにＶmaxはユーザーパスベクトルＶにおいて最大値を有する指数である。
【００１５】
さまざまなインターネットユーザーによりアクセスされたＷｅｂページの相対的な数が異なる可能性がある上、多くのユーザーについて測定した場合、特定のＷｅｂページが他のＷｅｂページよりはるかに多くアクセスされているかもしれない。頻度の差を図６のグラフ２４０に示すが、これはサンプルデータ集合内で測定した場合のＷｅｂページ毎のユーザー閲覧の回数を示すものである。グラフ２４０に示すように、ページ１〜ページ３,４４０の範囲にある特定のＷｅｂページは他のページよりはるかによくアクセスされる。ある場合には、Ｗｅｂページアクセス間の相違の大きさは数桁にのぼる。この相違の影響を緩和するために、ユーザーパスベクトルに重み付けをしてこれらの影響を緩和することができる。
【００１６】
再び図４を参照するに、ユーザーパスベクトルの指数はオプションのステップ２１０で重み付けをすることができる。一実施の形態においてこの重み付けは、Ｗｅｂページを各Ｗｅｂページがアクセスされた回数の合計に写像するテーブル（図示せず）を維持することにより行なわれる。一実施の形態において、逆文書頻度（“ＩＤＦ”）重み付けをユーザーパスベクトルに適用することができる。ＩＤＦを適用することにより、各Ｗｅｂページｋの重みは次式のようになる。
【数２】
0004813744.tif 000003
ここに、ＮはＷｅｂページｋにアクセスした重複しないユーザー数の合計であり、 ＴkはＷｅｂページｋがアクセスされた回数の合計である。
【００１７】
ステップで２０５を得られた正規化、およびステップ２１０で得られたページの重み付けを組み合わせてステップ２１５で重み付き正規化ユーザーパスベクトルＰを生成することができる。一実施の形態において、０からｓｉｚｅ（Ｖ’）の範囲にある各指数ｉについてＰの指数は次式で計算される。
【数３】
0004813744.tif 000004
比較ステップ１３５の最中にＰを利用することで、異なるユーザーによりアクセスされたＷｅｂページの相対的な数に大幅な相違があることによる影響だけでなく、上述のように多くのユーザーにわたって測定された場合に各種のＷｅｂページがアクセスされた回数の相違による影響も最小化することができる。
【００１８】
図５に、重心ベクトルを生成するプロセスを記述したフローチャート１６０を示す。一実施の形態において、図５のプロセスは図３のステップ１２５から呼び出される。重心ベクトルを生成するために、ステップ１６３において少なくとも１個のプロフィール属性がわかっているサンプルデータ集合内のユーザーに対してユーザーパスベクトルの集合が生成される。一実施の形態において、ステップ１６３は図４のプロセスを呼び出す。テストユーザーの性別を分類したい場合、性別プロフィール属性がわかっているインターネットユーザーのユーザーパスからユーザーパスベクトルの集合が生成される。ステップ１６５において、サンプル集合内のユーザーのユーザーパスは、既知属性の値により区別されるクラスタに分けられる。このように、テストユーザーの性別を分類する場合、男性であることがわかっているサンプル集合ユーザーのすべてのユーザーパスを１個のクラスタに、女性であることがわかっているサンプル集合ユーザーの残りのユーザーパスを二番目のクラスタに配置することができる。以下により詳しく述べるように、このクラスタ分けにより、サンプル集合内で男性と女性ユーザーに対して別々の重心ベクトルの生成が容易になる。
【００１９】
ステップ１７０において、１個以上の重心ベクトルの指数値が計算される。例えば、性別を分類したい場合、サンプル集合ユーザーの男性および女性クラスタに対して別々の重心ベクトルを生成することができる。サンプル集合の各ユーザーのユーザーパスを、異なるＷｅｂページに対応する指数を有するユーザーパスベクトルで表わすことができる。サンプル集合ユーザーがあるページにアクセスした回数を、ユーザーパスベクトルの指数により数値的に表わすことができる。一実施の形態において、各クラスタの重心ベクトルの指数は、対応するクラスタ内のユーザーパスから生成されたユーザーパスベクトルの指数の平均値に対応する。例えば、男性のクラスタ重心ベクトルＣmの各指数Ｃiは次式で計算される。
【数４】
0004813744.tif 000005
ここに、Ｖikはｋ番目の男性サンプル集合ユーザーを表わすベクトルの指数ｉにおける値であり、Ｍはサンプル集合内の男性ユーザーの数である。女性のクラスタ重心ベクトルＣfの指数も上式に女性の値を代入することにより同様に計算でき、Ｖikはｋ番目の女性サンプル集合ユーザーを表わすベクトルの指数ｉにおける値であり、Ｍはサンプル集合内の女性ユーザーの数である。各クラスタの各指数についてＣiを計算した結果、別々の多次元重心ベクトルＣmおよびＣfが構成される。
【００２０】
図３を参照するに、生成ステップ１２５、１３０の実行後に、ステップ１３５においてベクトルＰを重心ベクトルＣmおよびＣfと比較することができる。各種の距離測度を用いてＰとＣm間の距離だけでなくＰとＣf間も評価することができる。一実施の形態において、ベクトルＰから最短距離にある重心ベクトルが、Ｐで表わされる（ステップ１３７）テストユーザーのプロフィール属性に対応するものと推定されて、テストユーザーに割り当てられる（ステップ１４０）。一実施の形態において、ベクトルＰと重心ベクトルＣの間の距離は余弦距離を用いて決定される。
【数５】
0004813744.tif 000006
この方法を用いることにより、テストユーザーは余弦値が最大であるクラスタのユーザー属性を有するものと推定される。例えば、推定したいユーザープロフィール属性が性別である場合、ＰとＣf間よりもＰとＣm間で測定された余弦値が大きければ、テストユーザーの行動は“平均的”女性ユーザーの行動よりも“平均的”男性ユーザーの行動により近いことを示唆する。その結果、男性ユーザーであると推定されて（ステップ１３７）、テストユーザーに割り当てられる（ステップ１４０）。
【００２１】
図７に、ベクトル比較を用いる本発明の実施の形態により達成された分類の正確度を表わすグラフ２６０を示す。グラフ２６０は、異なる数のデータサンプルについてテストユーザーの性別が正確に推定された回数の百分率を示す。グラフ２６０が示唆するように、検討対象とするＷｅｂページ閲覧が多いほど、正確度が向上する。
【００２２】
ある場合には、特定のプロフィール属性を有するユーザーの方が、他の属性を有する人々よりもはるかに多くのＷｅｂページにアクセスするかもしれない。例えば、上述のログファイルにおいて、自身を女性であると申告しているユーザーが、自身を男性であると申告しているユーザーよりも多くのＷｅｂサイトにわたって分布しているＷｅｂページにアクセスした。その結果、上述のデータに対する女性重心ベクトルＣfにおける非ゼロ指数の個数が常に男性重心ベクトルＣmよりもはるかに大きかった。従って、上述の距離測度で計算された余弦値は、女性重心ベクトルＣfを用いた時の方が常に大きかった。このため、女性と推定された人数が上方に偏る現象が生じた。この影響を打ち消すために、ベクトルＰと女性重心ベクトルＣf間の距離を人為的に広げることができる。この技術はグラフ２６０が生成された実験に適用された。一実施の形態において、この距離の変更を実装するためにベクトルＰの各指数を減らしてもよい。別の実施の形態において、ベクトルＰと女性重心ベクトルＣf間で測定された余弦距離に削減係数（例えば０．８）を乗じてもよい。
【００２３】
その他の改良によりさらにベクトル比較分類器の正確度を向上させることができる。重心ベクトルＣmとＣfは各種の異なる方法で切り捨てることができる。例えば、当業者に知られているように主成分分析を適用して重心ベクトルの次元を下げることができる。この技術は、性別と強い相関が無いＷｅｂページに対応している指数等、情報価値の無いベクトルの指数を無視する。例えば、このような技術によりポータルサイトの入り口ページが無視されるかもしれない。
【００２４】
上述の実験において、重心ベクトルを生成するのに用いたテストサンプル集合は、男性／女性の均等な分布を表わすべく人為的に選ばれた。しかし、現実の事象においては必ずしもこのように均等な分布は反映されないであろう。例えば、男性が全インターネットユーザーの６０％を占め、女性が全インターネットユーザーの４０％を占めるならば、ベイズ法則の原理を適用して先験的（アプリオリ）分布を考慮に入れてよい。
【００２５】
Ｗｅｂページアクセスパターンは所与のテストユーザーの性別とともに職業等、複数のユーザー属性に依存していてよい。男性／女性のユーザー属性に応じて変わる特定の職業分布を上述の性別決定と組み合わせて、分類器の正確度をさらに向上させることができる。
【００２６】
Ｗｅｂページの他のＷｅｂページへの依存度合もまた分類器により考慮することができる。例えば、図２のダイアグラム１００において、ユーザーがノードＺへリンクした後でノードＮへリンクした行為は、ユーザーのプロフィール属性を決定する目的には必ずしも情報価値が無い。ノードＺがノードＮへただ１個のリンクを有し、その他のページへのリンクがない場合、ノードＺとノードＮの強い関係からノードＮへの不自然に高いアクセス数を生成することができる。このような場合、不自然に高い値を調整するために、ノードＮに対応するベクトル指数の値を下げるか、または単に考慮しなければよい。別の実施の形態において、このようなＷｅｂページの依存性は分類器により無視される。
【００２７】
さらなる改良として、異なるユーザープロフィール属性に対する異なる移動確率を考慮することができる。例えば、Ｗｅｂページから別のＷｅｂページへの移動の仕方に男性ユーザーは特定の傾向を示すのに対し、女性は異なる移動の仕方を行なう傾向があることがわかっていれば、この情報はテストユーザーの性別を推定するのに有用である。
【００２８】
別の実施の形態において、代替的な距離測度を用いてベクトルＰと重心ベクトルＣmおよびＣfとの間の距離を計算することができる。このような代替的距離測度の例として、都市の路程計算を用いてベクトル間のステップ数をカウントしたり、ユークリッド距離計算を行なうことは当分野で公知である。
【００２９】
本発明は、上述の距離測度以外に、あるいはこれに加えて、ステップ１３５においてベクトルＰを重心ベクトルＣmおよびＣfと比較する別の方法を用いてさらに改良することができる。図９（Ａ）〜（Ｃ）にそのような代替手段のいくつかを示す。これらの図面において、Ｗｅｂページのスペースが２ページ分減らされているものと仮定し、所与のユーザーが１ページ目と２ページ目をそれぞれ計ｍ回およびｎ回アクセスするであろう。従ってユーザーのユーザーパスベクトルは［Ｍ  Ｎ］で表わされる。性別がわかっているユーザーのベクトルは２次元空間にプロットされて点でマーク付けされ、それらのプロフィール属性が男性（Ｘ）または女性（Ｏ）として示される。理想的には、男性に分類されたメンバーは２次元空間で表わされた第一の局所領域に、女性の分類は第二の局所領域に収まるであろう。
【００３０】
図８は代替的なベクトル比較を通じてユーザープロフィール属性を決定するプロセスを記述したフローチャート２６２である。ステップ２６４において、サンプル集合ユーザーに対してユーザーパスベクトルが生成される。共通のプロフィール属性を有するサンプル集合ユーザーのクラスタが次いでステップ２６６において識別される。ステップ２６８において、テストユーザーに対してユーザーパスベクトルが生成される。テストユーザーのユーザーパスベクトルと識別された各クラスタの間の距離が計算される（ステップ２７０）。ステップ２７２において、テストユーザーについてユーザープロフィール属性が推定される。一実施の形態において、テストユーザーパスベクトルから最短距離にあるクラスタに関連付けられたプロフィール属性がテストユーザーのものと推定される。ステップ２７４において、ステップで２７２で推定されたプロフィール属性がテストユーザーに割り当てられる。
【００３１】
図９（Ａ）に、性別がわかっているユーザーのクラスタ周辺に描かれた凸包２８５および２９０の利用を示す。図に示すように、テストユーザーｕ１およびｕ２を２次元空間にプロットすることができる。ユーザーｕ１およびｕ２を男性または女性のいずれに分類すべきかテストするために、ステップ１３５において各ユーザーｕ１およびｕ２から凸包までの距離２８５、２９０が測定される。次いでユーザーｕ１およびｕ２はそれぞれ最も近いと測定されたクラスタ／凸包の組み合わせに対応するプロフィール属性を有するものと推定される。
【００３２】
図９（Ｂ）に、男性のクラスタを女性のクラスタから分離している境界線３１５によるユーザーのグループ分けを示す。境界線３１５の男性クラスタ側または女性クラスタ側のどちらにあるかを評価することにより未知ユーザーｕ１およびｕ２の性別が決定できる。
【００３３】
図９（Ｃ）に、性別がわかっているユーザーを表わす点を通って引かれた直線近似３３５によるユーザーのグループ分けを示すグラフ３３０を掲げる。図９（Ｂ）と同様に、境界線３３５のどちら側に未知ユーザーｕ１およびｕ２が入るかを判定することにより未知ユーザーｕ１およびｕ２の性別を推定できる。図９（Ａ）〜（Ｃ）に示した３種の技術のうち、直線近似３３５が好適である。この方法は、重複するデータ集合の周囲に凸包２８５または２９０をなるべく簡単に描けるようにし、女性ユーザーから既知の男性ユーザーを完全に分離する境界線３１５を描くのもなるべく簡単にできる。直線近似３３５はさらに、未知の点と分割線の間の距離の計算も極力簡単にする。
【００３４】
図１０に、サンプルデータ集合から計算したＷｅｂページのバイアスの比較を通じてユーザープロフィール属性を決定するプロセスを記述したフローチャート３６０を示す。ユーザープロフィール属性は、ユーザーによりアクセスされたＷｅｂページに割り当てられたバイアス値を評価することにより決定できる。すべてのアクセスされたページのバイアスを合計してユーザーの正味のバイアスを得ることができる。図１０のプロセスは図３のプロセスの代替手段として、または組み合わせて用いることができる。
【００３５】
ステップ３７０において、テストユーザーにより閲覧された各Ｗｅｂページのバイアスが計算される。一実施の形態において、特定のＷｅｂページのバイアスは、そのページを閲覧した特定の属性を有するユーザーの実際の数と、そのページを閲覧したユーザーの合計数と特定のＷｅｂページを含むＷｅｂページの集合にわたって測定された属性を有するユーザーの比率の積との差である。このバイアスは、そのページの閲覧者の数に依存する期待値からの、閲覧者の数の期待偏差を用いてさらに正規化することができる。特定のＷｅｂページの性別バイアスｂは次式で計算できる。
【数６】
0004813744.tif 000007
ここに、ｍは特定のＷｅｂページを含むＷｅｂページの集合にわたって測定された全ユーザーのうち男性の比率、Ｍは特定のＷｅｂページを閲覧した男性の数、Ｎは特定のＷｅｂページにアクセスしたユーザーの合計数である。相対的なユーザー比率が保たれている場合、ユーザー数が増えればページの計算されるバイアスが増大することは明らかである。
【００３６】
図１０を参照するに、ステップ３７５において、テストユーザーにより閲覧されたすべてのＷｅｂページのバイアスは合計されて、決定したいプロフィール属性の正味バイアスが得られる。テストユーザーの未知ユーザープロフィール属性はステップ３７５で決定された正味バイアスに基づいて推定され（ステップ３７７）、テストユーザーに割り当てることができる（ステップ３８０）。このように、上述のバイアス割り当てを用いて、ステップ３７５の結果が肯定的であるならばステップ３７７においてテストユーザーについて男性性別が推定される。一方、正味バイアスが否定的であるならば、女性性別が推定される。図１０のバイアス分類プロセスの実施の形態を用いて行なわれた実験において、男性ユーザーが５８％の正確度で推定されたのに対し、女性ユーザーは６１％の正確度で推定された。
【００３７】
本発明はさらに、ユーザープロフィール属性を推定するＷｅｂページアクセスパターンの潜在的確率変数解析を実行できる分類器を提供する。分類器により推定したい所与のユーザープロフィール属性のさまざまなクラス（すなわち異なる性別または年齢層クラス）に対応すべく、各種の潜在的変数を指定することができる。
【００３８】
特定のテストユーザーを与えられた場合の特定のユーザープロフィール属性の条件付き確率：Ｐ（ｇ|ｕ）を決定することができる。確率的分類器により考慮される訓練データはラベル付き三つ組：（ｇ，ｓ，ｕ）の集合として表現することができる。ここに、ｇは分類器で決定したいユーザープロフィール属性、ｓはユーザーにより閲覧されたＷｅｂページ、ｕは一様分布から選ばれたユーザーである。同様に、テストデータはラベル付きペア：（ｓ，ｕ）の集合として表現することができる。ユーザーｕが与えられたならば、ユーザープロフィール属性はユーザーが与えられた上での性別の条件付き確率：Ｐ（ｇ|ｕ）に基づいて推定することができる。性別ｇが与えられたならば、特定のＷｅｂページｓは確率：Ｐ（ｓ|ｇ）でアクセスされる。
【００３９】
ユーザーがあるＷｅｂページにアクセスするか否かをユーザーの性別が決定すると想定すれば、特定の性別ｇを有するユーザーｕによりアクセスされている特定のＷｅｂページの確率：Ｐ（ｓ| ｇｕ ）はＰ（ｓ|ｇ）で近似することができる。従って、特定のラベル付きペア（ｓ，ｕ）を観察する確率は次式で近似できる。
【数７】
0004813744.tif 000008
ここに、Ｐ（ｕ）はユーザーの一様分布から特定のユーザーを選ぶ確率である。
【００４０】
学習可能な機械により実行された期待値最大化（“ＥＭ”）プロセスを用いて、対数尤度結果（loglikelihood result）を最大化することにより、分類器が計算したパラメータを繰り返しフィッティングすることができる。本明細書で引用している“ＥＭアルゴリズムによる不完全データからの最尤度”（Ｄｅｍｐｓｔｅｒ他著、Ｊ．Ｒｏｙａｌ  Ｓｔａｔｉｓｔ．Ｓｏｃ．Ｂ３９，１９７７）を参照されたい。
【００４１】
図１１に、ＥＭプロセスを記述したフローチャート４４０を示す。一実施の形態において、図１１のプロセスは図１２のステップ４１０および４２０から呼び出される。別の実施の形態において、図１１のプロセスは図１３のステップ５００から呼び出される。ステップ４４５において、期待値計算ステップが実行される。一実施の形態において、期待値計算ステップ４４５は次式でＰ（ｇ|ｓ，ｕ）を決定する。
【数８】
0004813744.tif 000009
ステップ４４５の最初の反復実行で用いたパラメータＰ（ｓ｜ｇ）およびＰ（ｇ｜ｕ）は、図１１の実行に先立って行なわれた初期化ステップにより初期化することができる。
【００４２】
ステップ４５０において、最大化ステップが実行される。一実施の形態において、最大化ステップ４５０は次式でＰ（ｓ|ｇ）およびＰ（ｇ|ｕ）の値を決定する。
【数９】
0004813744.tif 000010
一実施の形態において、最大化ステップ４５０で用いられるパラメータＰ（ｇ｜ｓ，ｕ）は評価ステップ４４５の結果で与えられる。最大化ステップ４５０のパラメーターｎ（ｓ，ｕ）は、ユーザーｕがＷｅｂサイトｓにアクセスした回数を示す。ステップ４５５において、対数尤度が計算される。一実施の形態において、対数尤度は次式で決定される。
【数１０】
0004813744.tif 000011
別の実施の形態ではステップ４５５において、データの別個の検証集合に関する正確度は、正確度の値を決定する“折り畳み”を用いて計算される。
【００４３】
ステップ４６０において、図１１のプロセスはステップ４４５、４５０、と４５５を繰り返すべきか否かを決定する。ステップが繰り返されるなら、直近の最大化ステップ４５０の間に計算されたＰ（ｓ｜ｇ）およびＰ（ｇ｜ｕ）の値は、次の期待値計算ステップ４４５においてＰ（ｓ｜ｇ）およびＰ（ｇ｜ｕ）の値として置換される。同様に、次の期待値計算ステップ４４５の間に計算されたＰ（ｇ｜ｓ，ｕ）の値は、次の最大化ステップ４５０で利用される。これらの置換の結果、図１１のＥＭプロセスにより計算されたパラメータの値は、ステップ４４５および４５０が何回も繰り返し実行されるにつれて次第に正確になり得る。一実施の形態において、ステップ４４５、４５０、および４５５が繰り返されるのは、ステップ４５５で決定された対数尤度が前回のステップ４５５実行から閾値分を超えて減少しなかった場合である。別の実施の形態において、ステップ４４５、４５０、および４５５が繰り返されるのは、ステップ４５５で決定された正確度の値が前回のステップ４５５実行から閾値分を超えて減少しなかった場合である。別の実施の形態において、１００回等、一定回数の繰り返しが行なわれるまでステップが反復される。ステップが繰り返されない（ステップ４６５）場合、プロセスはステップ４６５へ進んで呼び出し側に戻る。
【００４４】
図１２に、ユーザープロフィール属性を決定するために“折り畳み”を利用した逐次分類プロセスを記述したフローチャート４００を示す。本明細書で引用している“確率的かつ潜在的な有意味索引付け”（Ｈｏｆｍａｎ，Ｔｈｏｍａｓ，Ｐｒｏｃ． ＳＩＧＩＲ’９９、５０〜５７ページ，１９９９）を参照されたい。ユーザープロフィール属性がわかっているユーザーの訓練集合からのデータを用いてＥＭプロセスが実行される。訓練集合データはＥＭプロセスが利用するパラメータを初期化するために用いられる。ＥＭプロセスの結果、ユーザープロフィール属性ｇが与えられるとＷｅｂページの条件付き確率の値Ｐ（ｓ｜ｇ）が決定される。テストユーザーＰ（ｇ｜ｕ）が与えられたならば第二のＥＭプロセスが実行されて、決定したいユーザープロフィール属性のクラスの条件付き確率を決定するために、テストユーザー向けのデータを“折り畳む”。
【００４５】
ステップ４０５において、期待値計算および最大化ステップ用のパラメータが、ユーザープロフィール属性ｇおよびアクセスしたＷｅｂページｓがわかっているユーザーの訓練集合におけるすべての（ｇ，ｓ，ｕ）の集合について初期化される。一実施の形態においてＰ（ｓ｜ｇ）は、１／（分類器により考慮されるＷｅｂページの数）に等しい値に初期化される。別の実施の形態において、Ｐ（ｇ｜ｕ）はεまたは１−εの値に初期化され、ここにεは０に近い。一実施の形態において、εは０．００００１に等しく設定される。ステップ４１０において、訓練集合内の（ｇ，ｓ，ｕ）の各集合について別々のＥＭプロセスが実行される。ステップ４１０の結果、分類器は訓練され、訓練集合内のｓとｇのすべての集合についてＰ（ｓ｜ｇ）が決定される。図１１のプロセスが図１２のステップ４１０から呼び出された場合、パラメータＰ（ｓ｜ｇ）およびＰ（ｇ｜ｕ）両方が計算される。ステップ４１３において、テストユーザーがアクセスしたＷｅｂページｓが検知される。ステップ４１５において、新しいＥＭパラメータがモデルに追加されて、（ｇ，ｓ，ｕ）のすべての集合について初期化される。この場合のｕは、ユーザー属性を決定したいテストユーザーである。これらの初期化は、ステップ４１０で計算されるＰ（ｓ｜ｇ）の値を用いて実行することができる。一実施の形態において、パラメータＰ（ｇ｜ｕ）の値は０．５に初期化される。ステップ４２０において、ステップ４１５からの新たに初期化されたパラメータを用いて（ｇ，ｓ，ｕ）（この場合ｕがテストユーザーである）の各集合について別々のＥＭプロセスが実行され、テストユーザーデータが“折り畳まれる”。図１１のプロセスが図１２のステップ４２０から呼び出された場合、最大化ステップ４５０ではテストユーザーｕだけについてパラメータＰ（ｇ｜ｕ）のみが更新される、テストユーザーに等しいｕについてＰ（ｇ｜ｓ，ｕ）だけが期待値計算ステップ４４５で更新される。ステップ４２０を実行した結果、テストユーザーについてＰ（ｇ｜ｕ）の値が決定される。
【００４６】
バッチ分類器による方式を用いて、ユーザープロフィール属性がわかっているユーザーの訓練セットと組み合わせたテストユーザー集合についてユーザープロフィール属性を決定することができる。図１３に、バッチ分類プロセスを記述したフローチャート４９０を示す。ステップ４９３において、１人以上のテストユーザーによりアクセスされたＷｅｂページｓが検知される。図１１のステップ４０５と同様に、図１３のステップ４９５はすべての（ｇ，ｓ，ｕ）集合について実行される別々のＥＭプロセス用のＥＭパラメータを初期化する。性別がわかっている訓練集合内の全ユーザーについて、ステップ４０５に関して上で述べたように、ＥＭパラメータが初期化される。求めるユーザープロフィール属性が未知のテストユーザーについて、ステップ４１５に関して上述したように、これらのパラメータが初期化される。ステップ５００において、別々のＥＭプロセスが（ｇ，ｓ，ｕ）のすべての集合に対して実行される。ステップ５００の結果、求めるユーザープロフィール属性が未知である全テストユーザーについてＰ（ｇ｜ｕ）の値が決定される。
【００４７】
上述の逐次式およびバッチ式の両確率的分類プロセスにおいて、各ユーザーについてＰ（ｇ｜ｕ）の値が決定される。一実施の形態において、このパラメータが最大であるユーザープロフィール属性が当該ユーザーのユーザープロフィール属性であると推定される。
【００４８】
上述の逐次式およびバッチ式確率的分類プロセスを評価するために、主要なインターネットポータルＷｅｂサイトのユーザーを解析した。下記の表１に、逐次分類プロセスにより実現された分類結果を示す。逐次分類器は男性／女性の比率のバランスがとれた６１５１１５人のユーザーの集合で訓練され、次いでバランスがとれた１５３４９５人のユーザーの独立した集合のデータを畳み込んで分類した。
【表１】
0004813744.tif 000012
【００４９】
下記の表２に、バッチ分類プロセスにより実現された分類結果を示す。バッチ分類器はバランスがとれた６１５１１５人のユーザー集合のラベルに基づいて初期化され、次いで上述の逐次分類プロセスにより考慮された１５３４９５人のユーザーのバランスがとれた別々の集合について一様に初期化された。
【表２】
0004813744.tif 000013
【００５０】
逐次分類器を用いた第二の実験において、分類器は性別がわかっている約９００，０００人のユーザーについて訓練された。訓練集合データのうち男性は６６％を占めた。少なくともＮページ（“ステップ”）を閲覧したことがあるすべてのユーザーについて分類器の性能が評価された。ここに、Ｎは１から２００の範囲である。例えば、Ｎが１である場合、各ユーザーにより閲覧された最初のページが分類器に入力された。
【００５１】
図１４に、正確度を閲覧されたページ数の関数として表わすグラフ５２０を示す。男性の行動は“ｍ”、女性の行動は“ｆ”、さらに全体的な行動は“＊”とラベル付けられている。
【００５２】
逐次分類器を用いた第三の実験において、閾値が設定られた。この実験において、分類器がテストユーザーの性別を推定するためにＰ（ｇ|ｕ）は閾値に等しいかまたはより大きくなければならない。閾値はユーザー属性クラスに依存するようにできるが（例えば女性である確率の閾値を０．９９、男性である確率の閾値を０．５、あるいはその逆）、この実験では両方の性別クラスに単一の閾値０．９９を用いた。図１５に、単一の閾値を用いて実現された正確度を表わすグラフ５４０を示す。図１４で用いられたラベルに加え、分類決定がなされたユーザーの全体的なパーセンテージを図１４で“ｇ”とラベル付けている。
【００５３】
第四の実験において、別の逐次分類器がページ閲覧の各集合について訓練された。例えば、１から２００の範囲にあるＮページの集合について、少なくともＮページを閲覧したことがある訓練集合内の各ユーザーにより閲覧された最初のＮページを用いて分類器が生成された。図１６に、テストデータを解析している際に多ステップ分類器により実現された正確度を表わすグラフ５６０を示す。Ｗｅｂページ閲覧の回数が少ない場合、図１６に示す多ステップ分類器方式の平均的な性能の方が、図１４に示す単一分類器方式の性能よりも良い点が理解されよう。図１７に、多ステップ分類器が閾値０．９９を用いた場合に実現された正確度を表わすグラフ５８０を示す。上述の実験のうち、所与の実験データについて閾値を用いた多数の分類器を利用した場合に最高の正確度が達成された。
【００５４】
本発明の別の実施の形態において、わずか数ページしか閲覧したことがないユーザーの解析にステップ分類器を用いる一方で、より多くの（例えば２０ページ）ページが閲覧された場合は組み合わせ分類器を用いる。１、３、５、７、１３、および１５ページを閲覧した場合だけに分類器を生成するページ閲覧の二次サンプリングを用いて、この方法が必要とする分類器の数を減らすことができる。例えば、６ページを閲覧したユーザーは、閲覧した最初の５ページだけを用いて分類することができる。確率的分類器により必要とされるメモリの量は、利用するページの部分集合を選択することにより、さらに減らすことができる。
【００５５】
上述の確率的分類器の正確度を向上させるために、テンパリング（tempering）を用いてデータの過剰フィッティングを防止することができる。一実施の形態において、期待値計算ステップ４４５は次式で計算される。
【数１１】
0004813744.tif 000014
ここに、Ｂの値は１に初期化されていて、正確度を向上させるべく必要に応じて減らしてよい。“確率的かつ潜在的な有意味索引付け”（Ｈｏｆｍａｎ，Ｔｈｏｍａｓ，Ｐｒｏｃ． ＳＩＧＩＲ’９９、５０〜５７ページ，１９９９）を参照されたい。
【００５６】
別の改良において、いくつかのクラスを有するユーザープロフィール属性に対して多クラスのプロフィール解析を行なうことができる。このような多クラス属性の例として年齢層、職業、および家計収入レベル等がある。潜在的変数ｇの数をクラスの数に設定することができる。一実施の形態において、初期化ステップ４０５、４１５、および４９５でパラメータＰ（ｇ|ｕ）は値１−εに初期化され、ここにεは１．０よりもはるかに小さい数である。別の実施の形態において、Ｐ（ｇ|ｕ）の値が閾値を超えない限りユーザープロフィールの決定が行なわれないように、パラメータＰ（ｇ|ｕ）に対して閾値を設定することができる。
【００５７】
別の実施の形態において、確率的分類器により考慮された部分集合の数を減らすことができる。これにより分類器が必要とするメモリの量を減らすことができる。例えば、性別ユーザープロフィール属性と、分類器により考慮された各Ｗｅｂページのユーザーとの間の平均相互情報 ＭＩ（ｇ，ｕ）は次式で決定される。
【数１２】
0004813744.tif 000015
各性別について、最も大きい ＭＩ値を有するＮ人のユーザーが選択されており、ここにＮは１より大きい整数である。
【００５８】
上述のベクトル、Ｗｅｂページバイアス、および確率的分類器の正確度を向上させるために、すべての分類器またはその部分集合から得られた結果をさまざまな仕方で組み合わせることができる。例えば、 分類器の結果を線型結合で組み合わせることができる。結果はまた、各結果に係数を乗じてその積を合計することにより、重み付き線型的に組み合わせることができる。同様に、各分類器の結果を必要に応じて係数と乗算することができる。それに加え、テストユーザーにより閲覧されたＷｅｂページの合計数に依存して異なる分類器からの結果を取得することができる。例えば、ページの合計数が第一の範囲の数に入っていれば、第一の分類器を用いてユーザープロフィール属性を推定することができる。ページの合計数が第二の範囲に入っていれば、異なる分類器を第一の分類器の代替手段としてまたは付加的に用いてもよい。
【図面の簡単な説明】
【図１】  本発明で利用可能な計算システムの構成要素を示すブロック図である。
【図２】  ユーザーによりアクセス可能なリンクが描かれたページを示すブロック図である。
【図３】  ベクトル比較を通じてユーザープロフィール属性を決定するプロセスを示すフローチャートである。
【図４】  ユーザーパスベクトルを生成するプロセスを示すフローチャートである。
【図５】  重心ベクトルを生成するプロセスを示すフローチャートである。
【図６】  サンプルデータ集合で測定された、Ｗｅｂページ毎のユーザーアクセス数を示すグラフである。
【図７】  ベクトル比較を用いて実現された正確度を示すグラフである。
【図８】  別の仕方でベクトルを比較してユーザープロフィール属性を決定するプロセスを示すフローチャートである。
【図９】  （Ａ）共通のプロフィール属性を有する訓練データ集合点の周囲に描かれた凸包によるユーザーのグループ分けを示す図である。（Ｂ）異なるプロフィール属性を有する訓練データ集合点を分離する線分によるユーザーのグループ分けを示す図である。（Ｃ）異なるプロフィール属性を有する訓練データ集合点の中を通って描かれた直線近似によるユーザーのグループ分けを示す図である。）
【図１０】  Ｗｅｂページのバイアスの解析を通じてユーザープロフィール属性を決定するプロセスを示すフローチャートある。
【図１１】  ユーザープロフィールを決定するための期待値最大化プロセスを示すフローチャートである。
【図１２】  ユーザープロフィールを決定するための逐次分類プロセスを示すフローチャートである。
【図１３】  ユーザープロフィールを決定するためのバッチ分類プロセスを示すフローチャートである。
【図１４】  単一分類器による潜在的確率変数解析を用いて実現された正確度を示すグラフである。
【図１５】  最小閾値による潜在的確率変数解析を用いて実現された正確度を示すグラフである。
【図１６】  刻み付き分類器による潜在的確率変数解析を用いて実現された正確度を示すグラフである。
【図１７】  最小閾値および刻み付き分類器による潜在的確率変数解析を用いて実現された正確度を示すグラフである。
【符号の説明】
４０  コンピュータシステム、５０  プロセッサユニット、５２  主メモリ５２、５４  大容量記憶装置、５６  周辺装置、６０  ユーザー入力装置、６２  可搬型記憶媒体ドライブ、６４  グラフィック・サブシステム、６６  出力ディスプレイ、６８  バス、１００  高次ブロック図、２４０  グラフ、２６０  グラフ、２８５  凸包、２９０  凸包、３１５  境界線、３３５  直線近似、５２０  グラフ、５４０  グラフ、５６０  グラフ、５８０  グラフ。
【図１】
0004813744.tif 000016
【図２】
0004813744.tif 000017
【図３】
0004813744.tif 000018
【図４】
0004813744.tif 000019
【図５】
0004813744.tif 000020
【図６】
0004813744.tif 000021
【図７】
0004813744.tif 000022
【図８】
0004813744.tif 000023
【図９】
0004813744.tif 000024
【図１０】
0004813744.tif 000025
【図１１】
0004813744.tif 000026
【図１２】
0004813744.tif 000027
【図１３】
0004813744.tif 000028
【図１４】
0004813744.tif 000029
【図１５】
0004813744.tif 000030
【図１６】
0004813744.tif 000031
【図１７】
0004813744.tif 000032