(57)【特許請求の範囲】
【請求項１】
各ユーザに対してテキストのプロフィールとテキストのコンテンツとが関連付けられる
ソーシャル・メディアにおいて、複数のユーザを複数のクラスタに分類する、コンピュータが実行する方法であり、
前記複数のユーザのうち、一部のユーザに関連付けられるコンテンツに基づいて、前記
一部のユーザのそれぞれに対してコンテンツ特徴ベクトルを生成するステップと、
前記コンテンツ特徴ベクトルに基づいて、前記複数のクラスタと前記一部のユーザとのマッピングとを生成するステップと、
各クラスタにマッピングされた前記一部のユーザに関連付けられるプロフィールに基づ
いて、前記複数のクラスタのそれぞれに対して第１プロフィール特徴ベクトルを生成する
ステップと、
前記複数のユーザのうち、前記一部のユーザを除く、他のユーザに関連付けられるプロ
フィールと、前記第１プロフィール特徴ベクトルとに基づいて、前記他のユーザのそれぞ
れを前記複数のクラスタに分類するステップと
を備える方法。
【請求項２】
前記ソーシャル・メディアはマイクロブログであり、
前記コンテンツは、各ユーザが前記マイクロブログにポストした複数の投稿である請求
項１に記載の方法。
【請求項３】
前記コンテンツ特徴ベクトルは、前記複数の投稿中の語を要素とする請求項２に記載の
方法。
【請求項４】
前記コンテンツ特徴ベクトルは、さらに前記複数の投稿中の語の出現頻度又は重要度を
要素とする請求項３に記載の方法。
【請求項５】
前記複数のクラスタを生成するステップは、前記一部のユーザに関連付けられるコンテ
ンツに潜在的ディリクレ配分法を適用し、同一話題に用いられやすい語をクラスタリング
することで前記複数のクラスタを生成する請求項１に記載の方法。
【請求項６】
前記複数のクラスタと前記一部のユーザとのマッピングを生成するステップは、前記一
部のユーザに関連付けられるコンテンツ中の前記クラスタリング結果を用いて、前記一部
のユーザを各クラスタにマッピングする請求項５に記載の方法。
【請求項７】
前記第１プロフィール特徴ベクトルを生成するステップは、各クラスタにマッピングさ
れた前記一部のユーザに関連付けられるプロフィール中の語に基づいて、前記第１プロフ
ィール特徴ベクトルを生成する請求項１に記載の方法。
【請求項８】
前記語が、他のクラスタにマッピングされた前記一部のユーザに関連付けられるプロフ
ィール中の語に比べて、出現しやすいか否かに基づいて、前記第１プロフィール特徴ベク
トルを生成する請求項７に記載の方法。
【請求項９】
前記語が、他のクラスタにマッピングされた前記一部のユーザに関連付けられるプロフ
ィール中の語に比べて、より出現しやすい上位Ｔ個（Ｔは自然数）の語である請求項７に
記載の方法。
【請求項１０】
前記他のユーザのそれぞれを前記複数のクラスタに分類するステップは、前記他のユー
ザに関連付けられるプロフィール中に、前記上位Ｔ個の語のいずれかが存在するか否かに
基づいて、前記他のユーザのそれぞれを前記複数のクラスタに分類する請求項９に記載の
方法。
【請求項１１】
更に、前記複数のユーザのうち、前記一部のユーザを除く、他のユーザに関連付けられ
るプロフィールに基づいて、前記他のユーザのそれぞれに対して第２プロフィール特徴ベ
クトルを生成するステップを備え、
前記他のユーザのそれぞれを前記複数のクラスタに分類するステップは、前記第１プロ
フィール特徴ベクトルと前記第２プロフィール特徴ベクトルとに基づいて、前記他のユー
ザのそれぞれを前記複数のクラスタに分類する請求項１に記載の方法。
【請求項１２】
前記第１プロフィール特徴ベクトルと前記第２プロフィール特徴ベクトルとの類似度に
基づいて、一人のユーザを最も類似度の高い第１プロフィール特徴ベクトルに対応するク
ラスタに分類する請求項１１に記載の方法。
【請求項１３】
前記他のユーザのそれぞれを前記複数のクラスタに分類するステップにおいて、一人の
ユーザが複数のクラスタに分類されることを許す請求項１に記載の方法。
【請求項１４】
前記他のユーザのそれぞれを前記複数のクラスタに分類するステップにおいて、前記他
のユーザに関連付けられるコンテンツを利用しない請求項１に記載の方法。
【請求項１５】
前記一部のユーザの数は、前記他のユーザの数に比べて少なく、
前記プロフィールの情報量は、前記コンテンツの情報量に比べて少ない請求項１に記載の
方法。
【請求項１６】
前記ソーシャル・メディアをホストするサーバと、前記複数のユーザを複数のクラスタ
に分類するコンピュータとがネットワークを介して接続され、
前記コンピュータからの要求に応答して、前記サーバから送信される情報を前記コンピュ
ータが受信するステップを更に備える請求項１に記載の方法。
【請求項１７】
単位時間当たり、前記情報の情報量が制限される請求項１６に記載の方法。
【請求項１８】
前記ホストするコンピュータから送信される情報を前記コンピュータが受信するステッ
プを繰り返すことにより、前記コンピュータの記憶手段に、前記一部のユーザに関連付け
られるコンテンツ及びプロフィールと、前記他のユーザに関連付けられるプロフィールと
を記憶するステップを更に備える請求項１７に記載の方法。
【請求項１９】
コンピュータにより実行されることで、前記コンピュータに請求項１から請求項１８の
いずれかに記載の方法を実行させるコンピュータ・プログラム。
【請求項２０】
各ユーザに対してテキストのプロフィールとテキストのコンテンツとが関連付けられる
ソーシャル・メディアにおいて、複数のユーザを複数のクラスタに分類するコンピュータ
であり、
前記複数のユーザのうち、一部のユーザに関連付けられるコンテンツに基づいて、前記
一部のユーザのそれぞれに対してコンテンツ特徴ベクトルを生成する手段と、
前記コンテンツ特徴ベクトルに基づいて、前記複数のクラスタと前記一部のユーザとのマッピングとを生成する手段と、
各クラスタにマッピングされた前記一部のユーザに関連付けられるプロフィールに基づ
いて、前記複数のクラスタのそれぞれに対して第１プロフィール特徴ベクトルを生成する
手段と、
前記複数のユーザのうち、前記一部のユーザを除く、他のユーザに関連付けられるプロ
フィールと、前記第１プロフィール特徴ベクトルとに基づいて、前記他のユーザのそれぞ
れを前記複数のクラスタに分類する手段と
を備えるコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理技術に関係し、より詳しくは、ソーシャル・メディアにおけるユーザ集合をより効率的に特定する技術に係る。
【背景技術】
【０００２】
ソーシャル・メディアが広範に利用されるに従い、ソーシャル・メディアにおけるユーザの「趣味や嗜好に関する分類」がマーケティングにおいて有用であることが、広く知られるようになった。例えば、このような分類が、ユーザが購入しそうな製品やサービスを特定することや、大規模ユーザ集合のセグメンテーション（嗜好の類似性による分類）に活用されている。従来、年齢や政治的志向が共通するユーザは、そのユーザがソーシャル・メディア上にポストするコンテンツも類似する、という仮説を前提として利用して、ユーザ集合の特定が試みられてきた。例えば、コンテンツの類似性を利用してユーザの年齢や政治的志向を推定する取り組みがなされており（非特許文献１及び非特許文献２参照）、一定の成果を上げている。同様の手法により、趣味や嗜好が共通するユーザ集合を特定することも理論的には可能に思われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８９８９３８号公報
【特許文献２】特開２０００−１４８８６４号公報
【非特許文献】
【０００４】
【非特許文献１】Pennacchiotti, M. and Popescu, A.-M. (2011). Democrats,republicans and starbucks afficionados:user classification in twitter. In Proceedings of the 17th ACM SIGKDDinternational conference on Knowledge discovery and data mining (KDD2011), pp.430-438. 2011.
【非特許文献２】Rao, D., Yarowsky, D., Shreevats,A., and Gupta, M. (2010). Classifying latent user attributes in twitter.In Proceedings of the 2nd internationalworkshop on Search and mining user-generated contents (SMUC2010), pp. 37-44.2010
【非特許文献３】Twitter, “GET statuses/user_timeline”,[online], 2013-02-12, Twitter, [2013-02-25検索], インターネット<URL: https://dev.twitter.com/docs/api/1.1/get/statuses/user_timeline>
【非特許文献４】Kriti Puniyani, Jacob Eisenstein, Shay Cohen,and Eric P. Xing. 2010. Social links from latent topics in Microblogs.In Proceedings of the NAACL HLT 2010 Workshop on Computational Linguistics in aWorld of Social Media (WSA '10). Association for Computational Linguistics, Stroudsburg, PA, USA, 19-20.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来技術は大量のコンテンツを必要とするが、現実の広く利用されているソーシャル・メディアの多くはそのコンテンツを取得するためのAPIクエリー送信回数に制限を設けており、大量（例えば数百万）のユーザについて類似性の判断に十分な件数のコンテンツを取得するには、膨大な時間を要する（非特許文献３参照）。【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、ソーシャル・メディアにおけるユーザを、大量のコンテンツを取得することなくそのコンテンツの類似性を推定して分類することにある。【０００７】
なお、このような課題を本発明者らが検討する過程で、以下のようなソーシャル・メディアの特性に関する洞察に基づいて、本発明に至った。すなわち、ソーシャル・メディアにおけるユーザは、自分自身がポストする複数のコンテンツのほかに、プロフィールと関連付けられている。ここで、プロフィールはユーザの自己紹介などを含む短いテキストで、コンテンツに関連した情報（趣味や嗜好、年代や職業など）を含む傾向が観察される。一方、1ユーザあたりの件数がコンテンツと比較して非常に少ないため（通常1件）、クエリー送受信の制限範囲内であっても、多くのユーザのプロフィールを取得することが可能である。他方、一般にプロフィール欄のテキストは非常に短く、またコンテンツとしてポストする話題と直接関係しない表現も一緒に列挙されるため、プロフィールのみの情報からコンテンツの類似性を反映してユーザを分類することは難しい。
【課題を解決するための手段】
【０００８】
本発明は、上記洞察により、全ユーザのコンテンツを取得することなく、コンテンツの類似性に基づく分類を可能にする手段を提供するものである。つまり、ごく少量のユーザに関してのみコンテンツを取得することで先ずそれらのユーザを分類し、それ以外の大量のユーザに関してはプロフィールのみを利用し、先に分類された集合に割り当てる。それにより、大量のユーザ全員分のコンテンツを取得することなく、コンテンツの類似性を反映した分類を実現する。【０００９】
すなわち本発明は、各ユーザに対してテキストのプロフィールとテキストのコンテンツとが関連付けられるソーシャル・メディアにおいて、コンピュータにより、複数のユーザを複数のクラスタに分類する方法であり、前記複数のユーザのうち、一部のユーザに関連付けられるコンテンツに基づいて、前記一部のユーザのそれぞれに対してコンテンツ特徴ベクトルを生成するステップと、  前記コンテンツ特徴ベクトルに基づいて、前記複数のクラスタと、前記複数のクラスタと前記一部のユーザとのマッピングとを生成するステップと、  各クラスタにマッピングされた前記一部のユーザに関連付けられるプロフィールに基づいて、前記複数のクラスタのそれぞれに対して第１プロフィール特徴ベクトルを生成するステップと、  前記複数のユーザのうち、前記一部のユーザを除く、他のユーザに関連付けられるプロフィールと、前記第１プロフィール特徴ベクトルとに基づいて、前記他のユーザのそれぞれを前記複数のクラスタに分類するステップとを備える方法である。【００１０】
ここで、前記ソーシャル・メディアはマイクロブログであり、前記コンテンツは、各ユーザが前記マイクロブログにポストした複数の投稿とすることができる。また、前記コンテンツ特徴ベクトルは、前記複数の投稿に含まれる語を要素とすることができる。語としては、前記投稿に含まれる名詞、動詞、係り受け表現などを用いることができる。さらに、前記コンテンツ特徴ベクトルは、前記複数の投稿に含まれる語のそれぞれに対して出現頻度などの重要度（スコア）を割り当てることができる。スコアは、前記クラスタリングの実施時に、複数の特徴ベクトルを比較する際に用いられる。【００１１】
また、前記複数のクラスタを生成するステップは、前記一部のユーザに関連付けられるコンテンツに潜在的ディリクレ配分法を適用し、同一話題に用いられやすい語をクラスタリングすることで前記複数のクラスタを生成することができる。また、前記複数のクラスタと前記一部のユーザとのマッピングを生成するステップは、前記一部のユーザに関連付けられるコンテンツ中の前記クラスタリング結果を用いて、前記一部のユーザを各クラスタにマッピングすることができる。【００１２】
また、前記第１プロフィール特徴ベクトルを生成するステップは、各クラスタにマッピングされた前記一部のユーザに関連付けられるプロフィール中の語に基づいて、前記第１プロフィール特徴ベクトルを生成することができる。語としては、前記プロフィールに含まれる名詞、動詞、係り受け表現などを用いることができる。ここで、前記語が、他のクラスタにマッピングされた前記一部のユーザに関連付けられるプロフィール中の語に比べて、出現しやすいか否かに基づいて、前記第１プロフィール特徴ベクトルを生成することができる。さらに、前記語が、他のクラスタにマッピングされた前記一部のユーザに関連付けられるプロフィール中の語に比べて、より出現しやすい上位Ｔ個（Ｔは自然数）の語とすることもできる。さらにまた、前記他のユーザのそれぞれを前記複数のクラスタに分類するステップは、前記他のユーザに関連付けられるプロフィール中に、前記上位Ｔ個の語のいずれかが存在するか否かに基づいて、前記他のユーザのそれぞれを前記複数のクラスタに分類することもできる。【００１３】
また、前記複数のユーザのうち、前記一部のユーザを除く、他のユーザに関連付けられるプロフィールに基づいて、前記他のユーザのそれぞれに対して第２プロフィール特徴ベクトルを生成するステップを備え、前記他のユーザのそれぞれを前記複数のクラスタに分類するステップは、前記第１プロフィール特徴ベクトルと前記第２プロフィール特徴ベクトルとに基づいて、前記他のユーザのそれぞれを前記複数のクラスタに分類することができる。【００１４】
また、前記第１プロフィール特徴ベクトルと前記第２プロフィール特徴ベクトルとの類似度に基づいて、一人のユーザを最も類似度の高い第１プロフィール特徴ベクトルに対応するクラスタに分類することができる。また、前記他のユーザのそれぞれを前記複数のクラスタに分類するステップにおいて、一人のユーザが複数のクラスタに分類されることを許すこともできる。【００１５】
また、前記他のユーザのそれぞれを前記複数のクラスタに分類するステップにおいて、前記他のユーザに関連付けられるコンテンツを利用しないことができる。また、前記一部のユーザの数は、前記他のユーザの数に比べて少なく、前記プロフィールの情報量は、前記コンテンツの情報量に比べて少ないものすることができる。【００１６】
また、前記ソーシャル・メディアをホストするサーバと、前記複数のユーザを複数のクラスタに分類するコンピュータとがネットワークを介して接続され、前記コンピュータからの要求に応答して、前記サーバから送信される情報を前記コンピュータが受信するステップを更に備えることができる。ここで、単位時間当たりに取得可能な、前記情報の情報量が制限されることがある。【００１７】
また、前記ホストするコンピュータから送信される情報を前記コンピュータが受信するステップを繰り返すことにより、前記コンピュータの記憶手段に、前記一部のユーザに関連付けられるコンテンツ及びプロフィールと、前記他のユーザに関連付けられるプロフィールとを記憶するステップを更に備えることができる。【００１８】
本発明をこれらコンピュータ・プログラム、コンピュータ・システムとして把握した場合にも、上述した本発明を方法として把握した場合と実質的に同一の技術的特徴を備える事ができるのは当然である。
【発明の効果】
【００１９】
本発明によれば、ソーシャル・メディアにおけるユーザを、大量のコンテンツを取得することなく、そのコンテンツの類似性を反映して分類することができる。
【図面の簡単な説明】
【００２０】
【図１】マイクロブログのシステムを説明する概念図
【図２】マイクロブログのフォロー・被フォロー関係を説明する概念図
【図３】ユーザ端末としてのスマートフォンとその画面表示の説明図
【図４】マイクロブログ・サーバ内のハードディスク装置内に記憶されているデータのデータ構造の説明図
【図５】発信されるコンテンツの種類の説明図
【図６】コンピュータのハードウェア構成を説明するブロック図
【図７】コンピュータの機能モジュール構成を説明するブロック図
【図８】コンピュータが実行する処理を説明するフローチャート
【図９】クラスタリング過程の説明図
【発明を実施するための形態】
【００２１】
実施形態
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて（特段の断りのない限り）同じ要素には同じ番号を付している。
【００２２】
図１は、ソーシャル・メディアの一例として、マイクロブログのシステムを説明する概念図である。本システムは、マイクロブログ・サーバ(ソーシャル・メディアをホストするサーバ)２と、ユーザ端末とを含み、これらはインターネット４を介して互いに通信可能に接続されている。また、ユーザ端末としては、通信機能を備えたあらゆる形態のコンピュータを採用することができる。例えば、図示するスマートフォン３１、タブレット３２、（ノート型）パーソナル・コンピュータ３３の他にも、図示しないパーソナル・データ・アシスタント（ＰＤＡ、携帯情報端末）、車載コンピュータ、ネットブック等を採用することができる。
【００２３】
図２は、マイクロブログのフォロー・被フォロー関係を説明する概念図である。マイクロブログのユーザは、友人、知人、興味や関心の共通する他のユーザを予め登録しておくことができ、彼らの発信（投稿）するコンテンツ（テキストのコンテンツ）を自動的に受信することができる。このような登録を“フォロー”と呼び、フォローの関係は、ユーザ同士が相互にフォローし合う関係、一のユーザが他のユーザを一方的にフォローする関係が存在する。例えば、図２における矢印は、ユーザＡＡＡとユーザＢＢＢとは相互にフォローし合っており、ユーザＢＢＢはユーザＣＣＣを一方的にフォローしており、ユーザＣＣＣはユーザＡＡＡを一方的にフォローしていることを示す。
【００２４】
図３は、一例として、ユーザ端末としてのスマートフォン３１とその画面表示を説明するものである。このスマートフォン３１のタッチスクリーンには、マイクロブログ・アプリケーションの画面が表示されており、当該アプリケーション画面は、上から順に、ホーム部分３１１、タイムライン部分３１２、操作部分３１３に分かれている。ホーム部分には、メニューボタンと、タイムライン部分３１２がユーザＡＡＡのタイムラインである旨が表示されている。タイムライン部分３１２には、上から順に、ユーザＡＡＡのコンテンツ部分３１２ａ、３１２ｂ、ユーザＢＢＢのコンテンツ部分３１２ｃが表示されている。これらのコンテンツ部分３１２ａ〜ｃは、時系列沿って表示されている。つまり、最上部の発言部分３１２ａが最新のコンテンツに対応している。
【００２５】
図４は、マイクロブログ・サーバ２内のハードディスク装置２０、２１、２２内に記憶されているデータのデータ構造を説明するものである。ハードディスク装置２０に記憶されているコンテンツテーブル（図４（ａ））には、各コンテンツが発信された日時を示す発信日時 (created_at)、各コンテンツを特定するコンテンツＩＤ(id)と、そのコンテンツを発信したユーザを特定するユーザＩＤ(user_id)と、コンテンツの内容であるテキスト（text）を備えている。なお、テキストには文字数制限（例えば、１４０文字以内等）を設けることができる。一方、ハードディスク装置２１に記憶されているユーザ関係テーブル（図４（ｂ））には、フォロー関係を登録した日時を示す登録日時(registered_at)、フォロー元のユーザを特定するフォロー元ユーザＩＤ(following_user_id)、フォロー先のユーザを特定するフォロー先ユーザＩＤ(followed_user_id)を備えている。他方、ハードディスク装置２２に記憶されているプロフィールテーブル（図４（ｃ））には、各ユーザを特定するユーザＩＤ(user_id)、各ユーザの名前（図示せず）、場所を示すロケーション情報(図示せず)、各ユーザのプロフィール(テキストのプロフィール：profile)を備えている。
【００２６】
図５は、発信されるコンテンツの種類を説明するものである。図５（ａ）は、通常のコンテンツを説明するものである。ここでは、ユーザＡＡＡが自らのタイムラインにコンテンツを発信しており、ユーザＡＡＡとユーザＡＡＡをフォローしているユーザ（図２の例ではユーザＢＢＢ及びユーザＣＣＣ）のタイムラインにこれらのコンテンツが表示される。図５（ｂ）は、リプライコンテンツを説明するものである。リプライコンテンツは、特定のコンテンツに対する返事であり、自分と、自分と返信先のユーザ両方をフォローしているユーザのタイムラインに表示される。ここでは、ユーザＢＢＢが、ユーザＡＡＡのコンテンツに対する返事として、「やあ、こんにちは。」というリプライコンテンツを発信し、そのリプライコンテンツはユーザＢＢＢ本人の他、ユーザＢＢＢをフォローしているユーザ（図２の例ではユーザＡＡＡ）のタイムラインに表示される。
【００２７】
図５（ｃ）及び図５（ｄ）は、いずれも転載コンテンツを説明するものであり、ユーザCCCが自分のタイムラインに表示されているユーザAAAの元コンテンツ「マイクロブログ始めました。」を転載コンテンツとして、再発信する様子を示している。いずれの場合も、ユーザCCCをフォローしているユーザ（図２の例ではユーザBBB）のタイムラインに転載コンテンツが表示されるが、図５（ｃ）に示す第一態様の場合は、元のユーザAAAの名前でユーザCCCをフォローしているユーザのタイムラインへ表示されるが、図５（ｄ）に示す第二態様の場合は、転送するユーザCCCの名前で表示される。図５（ｅ）は、引用コンテンツを説明するものである。ユーザＣＣＣが自分のタイムライン表示されているユーザＡＡＡの元コンテンツ「マイクロブログ始めました。」をそのまま引用し、更に自分のコメント「ようこそ！」を入力して引用コンテンツとして、再発信する様子を示している。この引用コンテンツは、ユーザＣＣＣをフォローしているユーザのタイムラインに表示される。
【００２８】
図６は、パーソナル・コンピュータ(複数のクラスタに分類するコンピュータ)１のハードウェア構成を説明するブロック図である。コンピュータ１のハードウェア構成は、（低速及び高速の）バス１０、バス１０に接続されるＣＰＵ（演算制御装置）１１、ＲＡＭ（ランダム・アクセス・メモリ：記憶装置）１２、ＲＯＭ（リード・オンリ・メモリ：記憶装置）１３、ＨＤＤ（ハード・ディスク・ドライブ：記憶装置）１４、通信インタフェース１５、入出力インタフェース１６を備えている。さらに、入出力インタフェース１６に接続されるマウス１７、フラット・パネル・ディスプレイ（表示装置）１８、キーボード１９等を備えている。なお、コンピュータ１は一般的なパーソナル・コンピュータ・アーキテクチャを採用するものとして説明したが、例えば、より高いデータ処理能力や可用性を求めて、ＣＰＵ１１やＨＤＤ１４等を多重化することができる。また、デスクトップ型の他、様々なタイプのコンピュータ・システムを採用することができる。なお、このコンピュータ１は、インターネット（ネットワーク）４を介してマイクロブログ・サーバ２と通信可能に接続されている。
【００２９】
このコンピュータ１のソフトウェア構成は、基本的な機能を提供するオペレーティング・システム（ＯＳ）と、OSの機能を利用するアプリケーション・ソフトウェアと、入出力装置のドライバ・ソフトウェアとを備えている。これらの各ソフトウェアは、各種データと共にRAM１２上にロードされ、CPU１１等により実行され、コンピュータ１は全体として、図７に示す機能を発揮し、図８に示す処理を実行する。
【００３０】
図７は、このコンピュータ１の機能モジュールを示すブロック図である。このコンピュータ１は、記憶モジュール１００と、訓練クラスタ・マッピング生成モジュール１０１と、第１プロフィール特徴ベクトル生成モジュール１０２と、第２プロフィール特徴ベクトル生成モジュール１０３と、本番クラスタ・マッピング生成モジュール１０４とを備える。
【００３１】
各モジュールの入出力データは以下の通りである。記憶モジュール１００へは、通信インタフェース１５から訓練ユーザのプロフィール及びコンテンツと、本番ユーザのプロフィールが入力される。記憶モジュール１００からは、訓練ユーザのコンテンツが訓練クラスタ・マッピング生成モジュール１０１へ、訓練ユーザのプロフィールが第１プロフィール特徴ベクトル生成モジュール１０２へ、本番ユーザのプロフィールが第２プロフィール特徴ベクトル生成モジュール１０３へ、それぞれ出力される。訓練クラスタ・マッピング生成モジュール１０１へは、記憶モジュール１００から訓練ユーザのコンテンツが入力される。訓練クラスタ・マッピング生成モジュール１０１からは、訓練ユーザのクラスタ・マッピングが第１プロフィール特徴ベクトル生成モジュール１０２へ出力される。第１プロフィール特徴ベクトル生成モジュール１０２へは、訓練クラスタ・マッピング生成モジュール１０１から訓練ユーザのクラスタ・マッピングと、記憶モジュール１００から訓練ユーザのプロフィールがそれぞれ入力される。第１プロフィール特徴ベクトル生成モジュール１０２からは、第１プロフィール特徴ベクトルが本番クラスタ・マッピング生成モジュール１０４へ出力される。第２プロフィール特徴ベクトル生成モジュール１０３へは、記憶モジュール１００から本番ユーザのプロフィールが入力される。第２プロフィール特徴ベクトル生成モジュール１０３からは、第２プロフィール特徴ベクトルが本番クラスタ・マッピング生成モジュール１０４へ出力される。本番クラスタ・マッピング生成モジュール１０４へは、第１プロフィール特徴ベクトル生成モジュール１０２から第１プロフィール特徴ベクトルが、第２プロフィール特徴ベクトル生成モジュール１０３から第２プロフィール特徴ベクトルが、それぞれ入力される。本番クラスタ・マッピング生成モジュール１０４からは、本番ユーザのクラスタ・マッピングがディスプレイ１８へ出力される。
【００３２】
実施例
図８は、このコンピュータ１が実行する処理を説明するフローチャートである。また、図９は、このコンピュータ１が実行するクラスタリング過程の説明図である。以下、適宜、図９を参照しつつ、図８のフローチャートに沿って、説明する。
【００３３】
まず、コンピュータ１からマイクロブログ・サーバ２へ、データ入手の為のリクエストを送信する（Ｓ１０）。次いで、サーバ２から、このリクエストに対応するデータを受信する（Ｓ２０）。ここで、リクエストの具体的内容としては、訓練ユーザ（一部のユーザ）に関連付けられるコンテンツ（図４（ａ）参照）、訓練ユーザ及び本番ユーザ（他のユーザ）に関連付けられるプロフィール（図４（ｃ）参照）をサーバ２からコンピュータ１へ送信することである。ここで、一般的にマイクロブログ・サーバ２からデータを取得するためのAPIクエリー送信回数や、一回のクエリーにより取得可能なデータ量に制限がある。したがって、必要なデータを取得するために、上記Ｓ１０とＳ２０のステップを繰り返す。取得したデータは、記憶モジュール１００に記憶される。
【００３４】
なお、訓練ユーザ（矢印Ａ）の数は、本番ユーザ（矢印Ｄ）の数に比べて大幅に少ない。例えば、訓練ユーザとして一万人のマイクロブログユーザを、本番ユーザとして百万人のマイクロブログユーザを対象とすることができる。また、プロフィールの情報量は、コンテンツの情報量に比べて大幅に少ない。一般に、一人のユーザに対して一件のプロフィールが関連付けられるが、一人のユーザに対して関連付けられるコンテンツ（メッセージ、ポスト、投稿）の数は、場合によっては数千を超える。例えば、一人のユーザに関連付けられるコンテンツのうち、最近投稿された千件のコンテンツを対象とすることができる。
【００３５】
次に、訓練ユーザに関連付けられるコンテンツに基づいて、コンテンツ特徴ベクトルを生成する（Ｓ３０）。具体的には、訓練クラスタ・マッピング生成モジュール１０１が、ある一人の訓練ユーザに関連付けられる（複数の）コンテンツ中の名詞を抽出し、その出現数（出現したコンテンツ数）を要素とする特徴ベクトルを生成する。なお、名詞の抽出には任意の自然言語処理技術を用いることができる。この出現数は、その名詞の重要度を表す指標と考えることもできる。また、予め重要度の高い名詞の候補を用意しておくこともできる。さらに、自然言語処理技術が抽出可能な名詞以外の表現、例えば動詞や係り受け表現なども、前記名詞の代わりとして、または前記名詞とともに、用いることができる。
【００３６】
次に、コンテンツ特徴ベクトルに基づいて、複数のクラスタ及び複数のクラスタと訓練ユーザとのマッピングとを生成する（Ｓ４０、Ｓ５０）。具体的には、訓練クラスタ・マッピング生成モジュール１０１が、（訓練ユーザ, その訓練ユーザに対応するコンテンツ特徴ベクトル）の組の集合をクラスタリングアルゴリズムに入力し、複数個のクラスタと、各訓練ユーザのクラスタへのマッピングを得る。ここで、クラスタリングアルゴリズムは、コンテンツ特徴ベクトルの類似度を用いて訓練ユーザの類似度を測る任意のものを採用することができる。例えば、語として名詞を用いた場合、以下のものを採用することができる。まず、訓練ユーザすべてに関連付けられるコンテンツすべてに対して、潜在的ディリクレ配分法（ＬＤＡ）を適用し、同じ話題で用いられやすい名詞をクラスタリングする。この結果、例えばIT関係の話題で用いられる名詞群（サイト、アンドロイド等）や、育児関係の話題で用いられる名詞群（子供、息子等）や、韓国のポップ音楽関係の話題で用いられる名詞群（韓国、ゼミ等）がそれぞれ同じクラスタに入る。次いで、コンテンツ中の名詞のクラスタリング結果を用いて、式（１）により、訓練ユーザを各クラスタ（例えば、クラスタＡ〜Ｃ）に分類する（矢印Ｂ）。
【００３７】
【数１】
0005961320.tif 000002
【００３８】
次に、訓練ユーザに関連付けられるプロフィールに基づいて、複数のクラスタのそれぞれに対して第１プロフィール特徴ベクトルを生成する（Ｓ６０）。すなわち、クラスタに対する特徴ラベルをコンテンツからプロフィールに切り替える。第１プロフィール特徴ベクトルを生成することは、各クラスタ内の複数の訓練ユーザのプロフィール表現を統合することに相当する。具体的には、第１プロフィール特徴ベクトル生成モジュール１０２が、各クラスタにクラスタリングされた訓練ユーザのプロフィールに出現する名詞（プロフィール表現）を用いて、各クラスタに対してそのクラスタを特徴付ける第１プロフィール特徴ベクトルを生成する。例えば、各クラスタの訓練ユーザのプロフィール欄に出現する名詞（プロフィール表現）について、tficfスコアを得る。ここで、tficfスコアとは、他のクラスタと比較して、当該クラスタの訓練ユーザのプロフィールに出現しやすい表現を得るための指標であり、式（２）により、算出することができる。tTficfスコアの上位T件のプロフィール表現を当該クラスタの代表プロフィール表現とし、各代表プロフィール表現を要素とする、第１プロフィール特徴ベクトルを生成する。例えば、この実施例では、クラスタＡに対応する代表プロフィール表現としては、「エンジニア」、「ＩＴ」、「開発」が挙げられている。
【００３９】
【数２】
0005961320.tif 000003
【００４０】
次に、本番ユーザに関連付けられるプロフィールに基づいて、第２プロフィール特徴ベクトルを生成する（Ｓ７０）。具体的には、第２プロフィール特徴ベクトル生成モジュール１０３が、ある一人の本番ユーザに関連付けられる（一件の）プロフィール中の名詞を抽出し、その出現数を要素とする特徴ベクトルを生成する。なお、名詞の抽出には任意の自然言語処理技術を用いることができる。さらに、自然言語処理技術が抽出可能な名詞以外の表現、例えば動詞や係り受け表現なども、前記名詞の代わりとして、または前記名詞とともに、用いることができる。
【００４１】
次に、第１プロフィール特徴ベクトルと第２プロフィール特徴ベクトルとに基づいて、本番ユーザのそれぞれを複数のクラスタに分類する（Ｓ８０）。すなわち、本番クラスタ・マッピング生成モジュール１０４が、ある一人の本番ユーザに対応する第２プロフィール特徴ベクトルと、各第１プロフィール特徴ベクトルとを比較し、最も類似する特徴ベクトルに対応するクラスタに、当該本番ユーザを分類する。このように、本番ユーザについては、関連付けられるコンテンツを取得・分析する必要がなく、高々1件のプロフィール欄の記述のみに基づいて適切なクラスタへ分類することができる。例えば、この実施例では、クラスタＡに対応する代表プロフィール表現としては、「エンジニア」、「ＩＴ」、「開発」が挙げられている為、これらに近い表現をプロフィール欄（例えば、「開発に役立つＴｉｐｓをつぶやきます」、「Ｗｅｂ系エンジニア」）に記述している本番ユーザは、クラスタＡへ分類される。ある表現が他の表現と近いか否かは、以下の変形例のように、既存の言語処理技術を利用して判断することができる。
【００４２】
変形例１  本番ユーザについて、tficfスコア上位T件の代表プロフィール表現のいずれかをプロフィールに含む本番ユーザを該当クラスタに分類することもできる。この場合、ある一人の本番ユーザが複数のクラスタに分類されることもあり得る。
【００４３】
変形例２  第１プロフィール特徴ベクトルを入力とし、クラスタを出力とする分類器を任意に1つ用意し、その分類器をステップＳ６０において、学習することもできる。この場合、当該分類器に第２プロフィール特徴ベクトルを入力し、出力されるクラスタを分類結果とすることができる。
【００４４】
いずれの場合（実施例、変形例１、変形例２）も、得られた本番ユーザのクラスタをディスプレイ１８へ出力することができる（Ｓ８０）。
【００４５】
本発明は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、またはハードウェアおよびソフトウェア両方のエレメントを包含する実施形態の形を取ることができる。ある好適な実施形態において、本発明は、以下に限らないが、ファームウェア、常駐ソフトウェア、マイクロコード、構文解析ピココードなどを含めた、ソフトウェアに実装される。
【００４６】
さらに、本発明は、コンピュータまたは任意の命令実行システムによってまたはこれに関連させて使用するプログラム・コードを備えるコンピュータ・プログラム、コンピュータ可読媒体の形態を採ることもできる。本説明目的の上で、コンピュータ可読媒体は、任意の命令実行システム、装置、またはデバイスによってまたはこれに関連させて使用するためのプログラムを、収容、格納、通信、伝搬、または伝送できる任意の装置であり得る。具体的には、前述の構文解析制御モジュールは、この意味で命令実行システム、または「コンピュータ」を構成する。
【００４７】
媒体は、電子的、磁気的、光学的、電磁気的、赤外的、または半導体のシステム（もしくは装置もしくはデバイス）または伝搬媒体とすることができる。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現時点での例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ／ｗｒｉｔｅ）メモリ、およびＤＶＤが含まれる。
【００４８】
プログラム・コードを格納もしくは実行またはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサを含み得る。このメモリ・エレメントには、プログラム・コードの実際の実行の過程で使われるローカル・メモリ、バルク記憶装置、および、実行中にバルク記憶装置から読み出さねばならない回数を低減するために、少なくとも一部のプログラム・コードに一時的保管を提供するキャッシュ・メモリを含めることができる。
【００４９】
直接に、あるいは仲介Ｉ／Ｏコントローラを介して、入力／出力またはＩ／Ｏデバイス（以下に限らないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）をシステムに連結することができる。
【００５０】
また、ネットワーク・アダプタをシステムに連結し、データ処理システムが、仲介の私有または公衆ネットワークを介して、他のデータ処理システムあるいは遠隔のプリンタまたは記憶デバイスに繋がるようにすることができる。モデム、ケーブル・モデム、およびイーサネット（Ｒ）カードは、現在入手可能なネットワーク・アダプタのごく一部である。
【符号の説明】
【００５１】
１…パーソナル・コンピュータ、
１１…ＣＰＵ（演算制御装置）
１２…ＲＡＭ（ランダム・アクセス・メモリ：記憶装置）
１３…ＲＯＭ（リード・オンリ・メモリ：記憶装置）
１４…ＨＤＤ（ハード・ディスク・ドライブ：記憶装置）
１５…通信インタフェース
１６…入出力インタフェース
１７…マウス
１８…フラット・パネル・ディスプレイ（表示装置）
２…マイクロブログ・サーバ
２０、２１…ハード・ディスク・ドライブ
３１…スマートフォン
３２…タブレット
３３…（ノート型）パーソナル・コンピュータ
１００…記憶モジュール、
１０１…訓練クラスタ・マッピング生成モジュール
１０２…第１プロフィール特徴ベクトル生成モジュール
１０３…第２プロフィール特徴ベクトル生成モジュール
１０４…本番クラスタ・マッピング生成モジュール
【図１】
0005961320.tif 000004
【図２】
0005961320.tif 000005
【図３】
0005961320.tif 000006
【図４】
0005961320.tif 000007
【図５】
0005961320.tif 000008
【図６】
0005961320.tif 000009
【図７】
0005961320.tif 000010
【図８】
0005961320.tif 000011
【図９】
0005961320.tif 000012