(57)【特許請求の範囲】
【請求項１】
複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦装置であって、
コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出手段と、
前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、入力ユーザと各保持ユーザの類似度を算出するユーザ類似度算出手段と、
前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分保持ユーザ集合において各話題によってコミュニケーションされた確率を算出するユーザ間コミュニケーション解析手段と、
前記部分保持ユーザ集合において各話題によってコミュニケーションされる確率に対して、該部分保持ユーザ集合の各保持ユーザと入力ユーザとの類似度を重みとして作用させ、該部分保持ユーザ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定手段と、
を有することを特徴とする話題推薦装置。
【請求項２】
複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦装置であって、
コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出手段と、
前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、ユーザをクラスタリングし、入力ユーザおよび保持ユーザがグループに属する確率を算出するユーザグループ生成手段と、
前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分ユーザグループ集合において各話題によってコミュニケーションされた確率を算出するユーザグループ間コミュニケーション解析手段と、
前記部分ユーザグループ集合において各話題によってコミュニケーションされる確率に対して、入力ユーザがユーザグループに属する確率を重みとして作用させ、該部分ユーザグループ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定手段と、
を有することを特徴とする話題推薦装置。
【請求項３】
複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦方法であって、
特徴量抽出手段が、コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出ステップと、
ユーザ類似度算出手段が、前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、入力ユーザと各保持ユーザの類似度を算出するユーザ類似度算出ステップと、
ユーザ間コミュニケーション解析手段が、前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分保持ユーザ集合において各話題によってコミュニケーションされた確率を算出するユーザ間コミュニケーション解析ステップと、
話題決定手段が、前記部分保持ユーザ集合において各話題によってコミュニケーションされる確率に対して、該部分保持ユーザ集合の各保持ユーザと入力ユーザとの類似度を重みとして作用させ、該部分保持ユーザ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定ステップと、
を行うことを特徴とする話題推薦方法。
【請求項４】
複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦方法であって、
特徴量抽出手段が、コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出ステップと、
ユーザグループ生成手段が、前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、ユーザをクラスタリングし、入力ユーザおよび保持ユーザがグループに属する確率を算出するユーザグループ生成ステップと、
ユーザグループ間コミュニケーション解析手段が、前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分ユーザグループ集合において各話題によってコミュニケーションされた確率を算出するユーザグループ間コミュニケーション解析ステップと、
話題決定手段が、前記部分ユーザグループ集合において各話題によってコミュニケーションされる確率に対して、入力ユーザがユーザグループに属する確率を重みとして作用させ、該部分ユーザグループ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定ステップと、
を行うことを特徴とする話題推薦方法。
【請求項５】
コンピュータを、
請求項１または２に記載の話題推薦装置の各手段として機能させるための話題推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、話題推薦装置及び方法及びプログラムに係り、特に、電話、メール、ソーシャルメディア、現実などにおいてコミュケーションをとるユーザグループに対して、ユーザグループが盛り上がる話題を予測し、推薦するための話題推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
第１の従来技術として、ユーザの回答の量から、ユーザの該当の質問への嗜好を推定することによって、1人のユーザの嗜好に合った質問を推薦することができる質問推薦装置がある(例えば、特許文献１参照)。
【０００３】
また、第２の従来技術として、ユーザの過去の発話データベースを元に、協調フィルタリングを行うことによって、 １人のユーザの嗜好に合った発話内容を予測することができる対話システムがある。この予測した発話内容をシステムが発話することで、ユーザとシステムの間の共感を生んでいた（例えば、特許文献２参照）。
【０００４】
第３の従来技術として、友人関係が近いユーザ同士はアイテムに対する嗜好が近いと仮定し、入力されたユーザと友人関係が近いユーザの嗜好をもとに、入力された1人のユーザの嗜好を補完して高精度に推定することができるアイテム推薦装置がある。これによって、高精度にユーザが購入するアイテムを予測し、推薦していた(例えば、非特許文献１参照)。
【０００５】
第４の従来技術として、1人のユーザのログから1人のユーザの嗜好を学習した後、複数人のユーザの嗜好を組み合わせることでユーザグループの嗜好を間接的に推定し、それをもとにユーザグループに対してアイテムを推薦できるアイテム推薦装置がある（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２８７２号公報
【特許文献２】特開２０１１−１０８０５５号公報
【非特許文献】
【０００７】
【非特許文献１】S.H. Yang, B. Long, A. Smola, N. Sadagopan, Z. Zheng, and H. Zha. Like like alike: joint friendship and interest propagation in social networks. In Proceedings of the 20th international conference on World wide web, pages 537-546. ACM, 2011.
【非特許文献２】M. Gartrell, X. Xing, Q. Lv, A. Beach, R. Han, S. Mishra, and K. Seada. Enhancing group recommendation by incorporating social relationship interactions. In Proceedings of the 16th ACM international conference on Supporting group work, pages 97-106. ACM, 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
第１〜第３の従来技術のそれぞれと同様の手法を用いることで、1人のユーザの嗜好に合った話題を推薦することができると考えられるが、ユーザグループの嗜好にあった話題を推薦することはできなかった。
【０００９】
第４の従来技術はその課題に対し、ユーザグループの嗜好を間接的に推定したものであるが、ユーザグループの嗜好に合うアイテムを推薦できるかという観点からの精度が低いという問題がある。また、コミュニケーションが盛り上がるかという観点では推薦ができなかった。
【００１０】
本発明は、上記の点に鑑みなされたものであり、ユーザグループの嗜好に合致し、かつ、ユーザグループが実際にコミュニケーションを始め、コミュニケーションが長く続くような『盛り上がる話題』を推薦することが可能な話題推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、本発明（請求項１）は、複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦装置であって、
コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出手段と、
前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、入力ユーザと各保持ユーザの類似度を算出するユーザ類似度算出手段と、
前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分保持ユーザ集合において各話題によってコミュニケーションされた確率を算出するユーザ間コミュニケーション解析手段と、
前記部分保持ユーザ集合において各話題によってコミュニケーションされる確率に対して、該部分保持ユーザ集合の各保持ユーザと入力ユーザとの類似度を重みとして作用させ、該部分保持ユーザ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定手段と、を有する。
【００１２】
また、本発明（請求項２）は、複数人のコミュニケーションログに基づいて、入力ユーザ集合が各話題で盛り上がる確率を算出するための話題推薦装置であって、
コミュニケーションログ記憶手段のコミュニケーションログからユーザ毎の特徴量を抽出し、ユーザ特徴量記憶手段に格納する特徴量抽出手段と、
前記ユーザ特徴量記憶手段の入力ユーザ毎の特徴量とコミュニケーションログ記憶手段に格納されている各保持ユーザの特徴量に基づいて、ユーザをクラスタリングし、入力ユーザおよび保持ユーザがグループに属する確率を算出するユーザグループ生成手段と、
前記コミュニケーションログの各話題候補によってコミュニケーションがとられた回数に基づいて、部分ユーザグループ集合において各話題によってコミュニケーションされた確率を算出するユーザグループ間コミュニケーション解析手段と、
前記部分ユーザグループ集合において各話題によってコミュニケーションされる確率に対して、入力ユーザがユーザグループに属する確率を重みとして作用させ、該部分ユーザグループ集合を対象とした重み付きの各話題によってコミュニケーションされる確率の総和によって、入力ユーザ集合が各話題で盛り上がる確率を算出する話題決定手段と、を有する。
【発明の効果】
【００１４】
本発明によれば、ユーザグループのコミュニケーションログに基づいて話題を推薦することにより、ユーザグループの嗜好を直接的に推定することができ、ユーザグループの嗜好に合うアイテムを推薦できるかという観点での精度が上昇する。
【００１５】
また、コミュニケーションの盛り上がりを、コミュニケーションが続く回数や、その話題についてコミュニケーションしたユーザの組の数として定式化することによって、どんな人とどんな人がどんな話題で盛り上がったかをコミュニケーションログから学習することが可能となる。
【００１６】
また、コミュニケーションの盛り上がりをコミュニケーションログから抽出することで、ユーザグループが実際にコミュニケーションを始め、コミュニケーションが長く続くような、「盛り上がる話題」を推薦することを可能とし、コミュニケーション活性化の効果が向上する。
【００１７】
入力ユーザと似たユーザのコミュニケーションログを利用することによって、コミュニケーションをしたことがない、またはコミュニケーションをほとんどしたことがないユーザ同士に対しても話題を推薦でき、より多くのユーザに話題を推薦できる。
【００１８】
更に、ユーザをグループ化し、入力のユーザとグループの類似度を算出することによって、全てのユーザとの類似度を算出する必要をなくし、計算量を削減することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態における話題推薦装置の構成図である。
【図２】本発明の第１の実施の形態におけるコミュニケーションログ記憶部の例である。
【図３】本発明の第１の実施の形態におけるコミュニケーションログ記憶部に含まれる友人情報の例である。
【図４】本発明の第１の実施の形態におけるユーザ特徴量記憶部のデータ例である。
【図５】本発明の第１の実施の形態におけるユーザ類似度記憶部のデータ例である。
【図６】本発明の第１の実施の形態におけるユーザ間コミュニケーション解析部の処理のフローチャートである。
【図７】本発明の第１の実施の形態におけるユーザ間話題確率記憶部のデータ例である。
【図８】本発明の第１の実施の形態における推論部の動作のフローチャートである。
【図９】本発明の第１の実施の形態におけるユーザ間コミュニケーション解析部の出力例（話題候補集合）である。
【図１０】本発明の第２の実施の形態における話題推薦装置の構成図である。
【図１１】本発明の第２の実施の形態におけるユーザグループ生成部の動作のフローチャートである。
【図１２】本発明の第２の実施の形態におけるユーザグループ情報記憶部のデータ例である。
【図１３】本発明の第２の実施の形態におけるユーザグループ特徴量記憶部のデータ例である。
【図１４】本発明の第２の実施の形態におけるユーザグループ間コミュニケーション解析部の動作のフローチャートである。
【図１５】本発明の第２の実施の形態におけるユーザグループ間確率記憶部のデータ例である。
【図１６】本発明の第２の実施の形態における推論部の動作のフローチャートである。
【発明を実施するための形態】
【００２０】
以下図面と共に、本発明の実施の形態を説明する。
【００２１】
まず、本発明の概要を説明する。
【００２２】
本発明では、ユーザグループの嗜好に合致し、かつ、ユーザグループが実際にコミュニケーションを始め、コミュニケーションが長く続くような、「盛り上がる話題」を推薦するために、以下のような手法をとる。コミュニケーションの盛り上がりを、コミュニケーションが続く回数や、その話題についてコミュニケーションしたユーザの組の数として定式化し、実際に行われたコミュニケーションを含むデータ、すなわちコミュニケーションログから、どんな人とどんな人がどんな話題で盛り上がったかを学習する。そして、ユーザのコミュニケーションログからコミュニケーションの盛り上がりを抽出し、それをもとに推薦する。
【００２３】
この手法をとる中で生じる二つの問題を解決するため、以下の第１、第２の実施の形態に示す手法をとる。
【００２４】
［第１の実施の形態］
以下の第１の実施の形態では、コミュニケーションをしたことがない、またはコミュニケーションをほとんどしたことがないユーザ同士に対して話題が推薦できない問題を解決するため、入力ユーザと似たユーザのコミュニケーションログからコミュニケーションの盛り上がりを抽出し、推薦する。
【００２５】
以下、本装置の第１の実施の形態について図面を参照して説明する。
【００２６】
図１は、本発明の第１の実施の形態における話題推薦装置のブロック図を示す。
【００２７】
同図に示す話題推薦装置は、学習部と推論部から構成されている。学習部は、コミュニケーションログ記憶部９、特徴量抽出部２、ユーザ特徴量記憶部３、ユーザ類似度算出部４、ユーザ類似度記憶部５、ユーザ間コミュニケーション解析部１０、ユーザ間話題確率記憶部６から構成されている。推論部は、受付部１、特徴量抽出部２、ユーザ特徴量記憶部３、ユーザ類似度算出部４、ユーザ類似度記憶部５、ユーザ間話題確率記憶部６、話題決定部７、出力部８から構成されている。
【００２８】
●学習部
学習部では、３つのデータを算出し格納しておく。一つは、入力ユーザがコミュニケーションログ記憶部９に含まれていた際に利用する、ユーザ類似度であり、ユーザ類似度記憶部４に格納する。もう一つは、入力ユーザがコミュニケーションログ記憶部９に含まれていなかった際に、ユーザ類似度を算出するために利用する、ユーザ特徴量であり、ユーザ特徴量記憶部３に格納する。最後は、入力ユーザに適した話題を推薦する際に利用する、ユーザ間話題確率であり、ユーザ間話題確率記憶部６に格納する。
【００２９】
以下に各構成について説明する。
【００３０】
■コミュニケーションログ記憶部９：
コミュニケーションログ記憶部９では、保持ユーザ集合Ｖのコミュニケーションログを格納する。コミュニケーションログは、投稿そのものの識別番号である投稿ID、この投稿が返信した投稿の識別番号である返信先投稿ID、投稿したユーザの識別番号である投稿元ユーザIDと、投稿されたユーザの識別番号である投稿先ユーザID、投稿内容を含む情報である。また、コミュニケーションログは、投稿内容の投稿時間、投稿場所、ハイパーリンクのような記述内容への補足情報といった情報を含んでもよい。また、コミュニケーションログは、全てが返信先投稿IDや投稿先ユーザIDを持つ必要はなく、全てが返信されている必要もない。投稿内容は、文書、画像、映像、"共感情報"、"レーティング情報"などといった内容のいずれでも良い。"共感情報"とは、facebook(登録商標)などにおける、『いいね！』ボタンなどのような、共感を示す情報を表す。"レーティング情報"とは、『食べログ』などにおける評価点のような、投稿内容に対する評価点を示す情報を表す。返信された投稿の識別番号である返信先投稿ID、投稿したユーザの識別番号である投稿元ユーザIDと、投稿されたユーザの識別番号である投稿先ユーザIDは、投稿内容に一定のフォーマットで含まれていてもよい。投稿場所は、緯度経度情報でも、地名でもよい。
【００３１】
当該コミュニケーションログ記憶部９は、これらの情報が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるもの、もしくは、Webページを保持するWebサーバや、データベースを具備するデータベースサーバ等である。
【００３２】
コミュニケーションログ記憶部９に格納されるデータの例を図２に示す。返信先投稿IDと投稿先ユーザIDは、単数でも複数でもよく、特定のユーザに向けていないものは「−」と表している。
【００３３】
また、コミュニケーションログ記憶部９は、保持ユーザ集合Ｖの友人情報を含んでもよい。友人情報とは、どのユーザがどのユーザを友人として登録しているかの情報である。友人情報は、片側からの登録であっても、両側からの登録に限るものであってもよい。友人情報の例を図３に示す。
【００３４】
■特徴量抽出部２：
特徴量抽出部２では、以下のような処理を行う。
【００３５】
コミュニケーションログ記憶部９から投稿内容集合Ｄが入力された場合、保持ユーザ集合Ｖに含まれる保持ユーザｖに関する投稿内容集合Ｄvから、保持ユーザvに関する特徴量dvの抽出を行い、ユーザ特徴量記憶部３へ格納する。これを、保持ユーザ集合Ｖに含まれる全ての保持ユーザｖについて行う。
【００３６】
ユーザxに関する特徴量ｄxは、投稿内容集合Ｄxの投稿内容、作成時間、作成場所などを表すものが考えられる。例えば、投稿内容が文書だった場合、投稿内容を表す特徴量は、投稿内容集合Dに対して形態素解析を行い、出現するm個の単語w1，w2，…，wmを求める。次に、TF-IDFなどの手法を用いて各単語の各ユーザにおける重要度ｄ1x，ｄ2x，…，ｄmxを求め、これを要素としたベクトルｄx=[ｄ1x，ｄ2x，…，ｄmx]ｔなどが考えられる。また、単語を特定の品詞に絞った同様のベクトルや、次元削減を行ったベクトルや、各品詞を含む数などの情報を含むものでも良い。また、特徴量を算出する投稿内容集合Dは、最近1ヶ月に絞るなど、時間によって絞り込むほか、関東地区に絞るなど、場所によって絞り込んだものとしてもよい。また、投稿内容が画像や映像だった場合は、SURF(Speeded Up Robust Features)特徴量やbag of visual wordsなどの画像特徴量や、オプティカルフローといった映像特徴量を算出し、それをユーザxに関する特徴量ｄxとする。 
■ユーザ特徴量記憶部３：
ユーザ特徴量記憶部３は、特徴量抽出部２から入力された、保持ユーザｖの特徴量dvを格納する。
【００３７】
ユーザ特徴量記憶部３は、これらの情報が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。ユーザ特徴量記憶部３に格納されるデータの例を図４に示す。
【００３８】
このユーザ特徴量記憶部３は、実施の形態によっては不要であり、ユーザ類似度算出部４からリクエストが来た際に、特徴量抽出部２が、コミュニケーションログ記憶部９から入力された保持ユーザｖの投稿内容集合Dvにもとづいて特徴量dvを算出し、ユーザ類似度算出部４へと出力するものでもよい。
【００３９】
■ユーザ類似度算出部４：
ユーザ類似度算出部４では、以下のような処理を行う。
【００４０】
ユーザ特徴量記憶部３に格納された、保持ユーザv、v'に関する特徴量dv、dv'から、保持ユーザvと保持ユーザv'間の類似度S(v，v')を算出し、ユーザ類似度記憶部５に格納する。これを、保持ユーザ集合Vに含まれる全ての保持ユーザv、v'の組み合わせについて行う。
ユーザxと保持ユーザyの類似度S(x，y)の算出方法としては、以下の式(1)によって求められるコサイン類似度を利用する方法などが考えられる。
【００４１】
【数１】
0005730741.tif 000002
■ユーザ類似度記憶部５：
ユーザ類似度記憶部５は、ユーザ類似度算出部４から入力された、保持ユーザvと保持ユーザv'間の類似度S(v，v')を格納する。
【００４２】
ユーザ類似度記憶部５は、これらの情報が保存され、復元可能なものであれば何でもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。ユーザ類似度記憶部５に格納されるデータの例を図５に示す。
【００４３】
このユーザ類似度記憶部５は、実施の形態によっては不要であり、受付部１からリクエストが来た際に、ユーザ類似度算出部４が、ユーザ特徴量記憶部３から入力された保持ユーザv、v'に関する特徴量dv，dv'に基づいて保持ユーザvと保持ユーザv'の類似度S(v、 v')を算出し、ユーザ類似度算出部４へと出力するものでもよい。
【００４４】
■ユーザ間コミュニケーション解析部１０：
ユーザ間コミュニケーション解析部１０は、話題候補抽出部１１と、話題確率算出部１２から構成されている。そのフローチャートを図６に示す。
【００４５】
ユーザ間コミュニケーション解析部１０では、コミュニケーションログ記憶部９に格納されたコミュニケーションログを入力とし（ステップ１０１）、部分ユーザ集合V'のコミュニケーションログを抽出し（ステップ１０２）、固有名詞や、ほかのユーザの文書集合、画像、映像などや、これらを統合して扱えるＵＲＬなどの話題候補集合Ｉに変換し（ステップ１０３）、保持ユーザ集合Vの部分ユーザ集合V'にて各話題iでコミュニケーションされた確率P(i | V')を後述する式(2)より求め（ステップ１０４）、ユーザ間話題確率記憶部６に格納する(ステップ１０５)。これを、保持ユーザ集合Vに含まれる全ての部分ユーザ集合V'について行う。コミュニケーションログは、最近1ヶ月に絞るなど、時間によって絞り込んでもよい。
【００４６】
ここで、3人のユーザ間コミュニケーションを解析する場合の解析対象は、2人ずつのコミュニケーションログを組み合わせたものでも、3人が投稿元もしくは投稿先として関連したコミュニケーションログに限るものでもよい。例えば、ユーザa、b、cのユーザ間コミュニケーションを解析する場合、a−b間、a−c間、b−c間のログを組み合わせたものを対象としてもよく、a、b、cが同時に会話をしたログのみに絞ったものを対象としてもよい。4人以上の場合についても、同様である。
【００４７】
■話題候補抽出部１１：
話題候補抽出部１１では、コミュニケーションログ記憶部９のコミュニケーションログから、話題候補集合Iを抽出し、話題確率算出部１２に対して出力する。話題の候補は、固有名詞や、保持ユーザvの投稿内容集合Dv、画像、映像などや、これらを統合して扱えるURLなどが考えられる。
【００４８】
■話題確率算出部１２：
話題確率算出部１２では、話題候補抽出部１１から入力された話題候補集合Iに対し、部分ユーザ集合V'において各話題iでコミュニケーションされた確率P(i | V')を算出し、ユーザ間話題確率記憶部６に格納する。
【００４９】
部分ユーザ集合V'において各話題iでコミュニケーションされた確率P(i | V')の算出方法としては、以下の方法が考えられる。
【００５０】
【数２】
0005730741.tif 000003
ここで、 W(V'，i)は、部分ユーザ集合V'に含まれるユーザ同士において、話題iを含む投稿に対して返信が行われた回数の合計を表す。
【００５１】
また、その集団に特有な話題が高い確率値をとるよう、保持ユーザ集合Vにおいてその話題で会話される頻度の逆数によって重みづけをしてもよい。また、めったに返信しないユーザが返信した際に高い確率値をとるよう、ユーザが返信する頻度によって重みづけをしてもよい。
【００５２】
■ユーザ間話題確率記憶部６：
ユーザ間話題確率記憶部６では、話題確率算出部１２から入力された、部分ユーザ集合V'にて各話題iでコミュニケーションされた確率P(i | V')を格納する。
【００５３】
ユーザ間話題確率記憶部６は、これらの情報が保存され、復元可能なものであれば何でもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。ユーザ間話題確率記憶部６に格納されるデータの例を図７に示す。
【００５４】
このユーザ間話題確率記憶部６は、実施の形態によっては不要であり、話題確率算出部１２は、話題決定部７からリクエストがあった際にユーザ間話題確率を算出し、話題決定部７へ出力してもよい。
【００５５】
●推論部
推論部では、大きく分けて、以下の２つの処理を行う。まず、保持ユーザの中で入力ユーザに類似したユーザの算出である。次に、その類似ユーザ同士が盛り上がった話題の推薦である。そのフローチャートを図８に示す。
【００５６】
入力ユーザに類似したユーザの算出は、以下のような流れで行う。入力ユーザがコミュニケーションログに含まれていれば、学習部にて先に算出しておいたユーザ間類似度記憶部５のユーザ間類似度をそのまま利用する。入力ユーザがコミュニケーションログに含まれていなければ、入力ユーザの特徴量を算出し、学習部にて先に算出しておいたユーザ特徴量記憶部３のユーザ特徴量と比較することで、ユーザ間類似度を算出する。
【００５７】
類似ユーザ同士が盛り上がった話題の推薦は、上記のように算出したユーザ間類似度と、学習部にて先に算出しておいたユーザ間話題確率から求める。
【００５８】
■受付部１：
受付部１では、推薦サービスを利用するユーザからの入力を受け付け、適した入力への変換を行う。
【００５９】
入力は、入力ユーザ集合Uである。各入力ユーザ情報としては、入力ユーザuのユーザIDであるIDuまたは入力ユーザuの投稿内容集合Duを受け付ける。各入力ユーザ情報に対して、推論部として以下の処理を行う。
【００６０】
各入力が入力ユーザuのユーザIDであるIDuであった場合(ステップ２０１、Yes)、ユーザ類似度記憶部５に対して、入力ユーザuと保持ユーザvの類似度S(u，v)を格納しているかの問い合わせを行う。ユーザ類似度記憶部５に入力ユーザuと保持ユーザvの類似度S(u，v)が格納されていた場合（ステップ２０２，Yes）、話題決定部７へと入力ユーザuと保持ユーザvの類似度S(u，v)を出力する。これを、保持ユーザ集合Vに含まれる全ての保持ユーザvについて行う。入力ユーザuと保持ユーザvの類似度S(u，v)が格納されていなかった場合は(ステップ２０１,No)、入力ユーザuの投稿内容集合Duの入力を求める画面へと遷移する(ステップ２０３)。
【００６１】
ただし、上記のように各入力が入力ユーザuのユーザIDであるIDuであった場合、問い合わせる対象をユーザ特徴量記憶部３としても良い。この場合、以下のような流れとなる。ユーザ特徴量記憶部３に入力ユーザuの特徴量duが格納されていた場合、ユーザ類似度算出部４へとユーザ特徴量duを出力し(ステップ２０５)、ユーザ類似度算出部４において入力ユーザuと保持ユーザvの類似度S(u，v)を算出し、話題決定部７へと出力する（ステップ２０６）。これを、保持ユーザ集合Vに含まれる全ての保持ユーザvについて行う。入力ユーザuの特徴量duが格納されていなかった場合は、入力ユーザuの投稿内容集合の入力を求める画面へと遷移する。
【００６２】
各入力が入力ユーザuの投稿内容集合Duであった場合、特徴量抽出部２に対して投稿内容集合Duをそのまま出力する。
【００６３】
■特徴量抽出部２：
学習部でも利用した特徴量抽出部２において、以下のような処理を行う。
【００６４】
受付部１から入力ユーザuに関する投稿内容集合Duを入力された場合(ステップ２０４)、入力ユーザuに関する投稿内容集合Duから、入力ユーザuに関する特徴量duの抽出を行い、ユーザ類似度算出部４へ出力する。これ（ステップ２０５）を、入力ユーザ集合Uに含まれる全ての入力ユーザuについて行う。
【００６５】
■ユーザ類似度算出部４：
学習部でも利用したユーザ類似度算出部４において、以下のような処理を行う。
【００６６】
特徴量抽出部２またはユーザ特徴量記憶部３から入力された、入力ユーザuに関する特徴量duと、ユーザ特徴量記憶部３に格納された、保持ユーザvに関する特徴量dvから、入力ユーザuと保持ユーザvの類似度S(u，v)を算出し(ステップ２０６)、話題決定部７に対して出力する(ステップ２０６)。これを、入力ユーザ集合Uに含まれる全ての入力ユーザuおよび保持ユーザ集合Vに含まれる全ての保持ユーザvについて行う。
【００６７】
■話題決定部７：
話題決定部７では、ユーザ類似度算出部４またはユーザ類似度記憶部５から入力された、入力ユーザuと保持ユーザvの類似度S(u，v)と、ユーザ間話題確率記憶部６から入力された、部分ユーザ集合V'において各話題iでコミュニケーションされた確率P(i | V')から、入力ユーザ集合Uに対して話題iを出力する確率P(i|U)を算出し、出力部に対して出力する(ステップ２０７)。
【００６８】
入力ユーザ集合Uに対して話題iを出力する確率P(i|U)を求める基本アイデアは、各入力ユーザと似たユーザをそれぞれ探し出し、似たユーザ同士が盛り上がった話題を推薦する、というものである。
【００６９】
例えば、入力ユーザ集合Uにユーザaとユーザbが含まれていた場合、以下のような式となる。
【００７０】
【数３】
0005730741.tif 000004
ここで、ユーザx、x'におけるP(x'|x)は以下のような求め方が考えられる。
【００７１】
【数４】
0005730741.tif 000005
また、例えば、入力ユーザ集合Uにユーザa、ユーザb、ユーザcが含まれていた場合、以下のような式となる。
【００７２】
【数５】
0005730741.tif 000006
以降、入力ユーザ集合Uに含まれるユーザ数|U|が増えた場合も、同様の式によって算出する(ステップ２０８)。
【００７３】
この際、入力ユーザと保持ユーザが等しい場合、例えば、a=a'のような場合は、入力ユーザaに対し、自らの過去のコミュニケーションログを元に推薦されることとなるが、この場合は、a=a'を考慮しても、a=a'を考慮しないようa≠a'という条件を付加してもよい。また、保持ユーザ同士が同一である場合、例えば、P(i|a'，a')のような場合は、この確率値を算出することはできないので、除外される。
【００７４】
■出力部８：
出力部８では、話題決定部７から入力された、入力ユーザ集合Uに対して話題iを出力する確率P(i | U)に基づき、推薦する話題を出力する。
【００７５】
ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部装置への送信等を含む概念である。出力部は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイス等で実現され得る。
【００７６】
《具体例》
以下、具体的な例を用いて第１の実施の形態の処理について説明する。ここでは、入力ユーザa、bのユーザIDであるIDa，IDbが入力された場合について説明する。
【００７７】
まず、特徴量抽出部２において、コミュニケーションログ記憶部９に保持されていた保持ユーザa，b，a'，b'のコミュニケーションログを抽出し、形態素解析をかけ、各名詞の重要度を算出しベクトル化することで、図４のような保持ユーザa，b，a'，b'に関する特徴ベクトルda，db，da'，db'が得られる。この特徴ベクトルはユーザ特徴量記憶部３に格納される。
【００７８】
次に、ユーザ類似度算出部４において、保持ユーザa，b，a'，b'に関する特徴ベクトルda，db，da'，db'の類似度を求めることによって、保持ユーザa，b，a'，b'の類似度S(a，a')、S(a，b')，S(b, b')，S(b, a')，…が得られる。例えば、図５の例では、ユーザaとユーザa'の類似度S(a，a')は0.994905781、ユーザaとユーザb'の類似度S(a，b')は0.488810967、ユーザbとユーザb'の類似度S(b，b')は0.996243092、ユーザbとユーザa'の類似度S(b，a')は0.503198715となる。このユーザ類似度は、ユーザ類似度記憶部５に格納される。そして、受付部１において、入力ユーザａ，ｂのユーザIDであるIDa、IDbが入力された際に、S(a，a')，S(a，b')，S(b，b')，S(b，a')が話題決定部７に対して出力される。
【００７９】
一方、ユーザ間ユーザコミュニケーション解析部１０においては、入力ユーザ集合Uに含まれるユーザ数|U|が2であるので、2人のユーザ間でのコミュニケーションを解析の対象とする。例えば、保持ユーザa'と保持ユーザｂ'に関するコミュニケーションログは、図２において、投稿IDが1，2，3，5，6であるものが該当する。このコミュニケーションログに対して形態素解析をかけ、名詞とURLを抽出すると、保持ユーザa'と保持ユーザb'に関する話題候補集合Iは図９のようになる。
【００８０】
次に、話題確率算出部１２においては、式(2)によって部分ユーザ集合V'において各話題iでコミュニケーションされた確率P(i | V')を算出するが、ここでは例として、V'に保持ユーザa'と保持ユーザb'が含まれている場合における話題確率P(i|V')の、話題iが"カレー"という名詞であった場合の算出方法を説明する。
【００８１】
保持ユーザa'と保持ユーザb'において、"カレー"についてコミュニケーションされた回数は2回であるので、W(V'，"カレー")は2となる。また、保持ユーザa'と保持ユーザb'において、全ての話題についてコミュニケーションされた回数は13回であるので、
【００８２】
【数６】
0005730741.tif 000007
は13となる。結果、P("カレー"|V')は0.153846154となる。これにより、部分ユーザ集合V'において、より頻繁または長くコミュニケーションされる話題ｉが高い確率値を持つ。
【００８３】
次に、話題決定部７について、例として、入力ユーザがaとb、保持ユーザがa'とb'のみであったとして、話題iが"カレー"という名詞であった場合の話題iを出力する確率P(i |U)の算出方法を説明する。
【００８４】
式(3)によって話題iを出力する確率P(i |U)=P(i|a、b)を算出するが、
P(i|U) = P(a，a') P(b，b') P(i|a'，b') + P(a，b') P(b，a')P(i|a'，b') 
+P(a，a') P(b，a') P(i|a'，a') + P(a，b') P(b，b')P(i|b'，b')
と表すことができる。しかし、P(i|a'，a')とP(i|b'，b')は算出できないため、前二項を考慮すればよい。よって、P("カレー"|U)は、0.190328779と算出できる。これによって、入力ユーザと似ている保持ユーザが盛り上がった話題を推薦でき、入力ユーザと保持ユーザが似ているほど、また、保持ユーザ同士が盛り上がった話題ほど、高い確率値となる。
［第２の実施の形態］
本実施の形態では、入力ユーザと似たユーザを求めるための計算量が膨大であるという問題を解決するため、ユーザをグループ化してコミュニケーションログをまとめる処理を行う。入力ユーザと似たユーザグループのコミュニケーションログからコミュニケーションの盛り上がりを抽出し、推薦する。
【００８５】
以下、本装置の第２の実施の形態について図面を参照して説明する。
【００８６】
図１０は、本発明の第２の実施の形態における話題推薦装置のブロック図を示す。同図に示す話題推薦装置は、学習部と推論部から構成されている。学習部は、コミュニケーションログ記憶部９、特徴量抽出部２、ユーザグループ生成部３０、ユーザグループ情報記憶部２７、ユーザグループ特徴量記憶部２５、ユーザグループ間コミュニケーション解析部２０、ユーザ間話題確率記憶部６から構成されている。推論部は、受付部１、特徴量抽出部２、ユーザグループ情報記憶部２７、ユーザグループ特徴量記憶部２５、ユーザグループ推定部２８、ユーザグループ間話題確率記憶部２６、話題決定部７、出力部８から構成されている。
【００８７】
●学習部
学習部では、３つのデータを算出し格納しておく。一つは、入力ユーザがコミュニケーションログ記憶部９に含まれていた際に利用する、ユーザグループ情報であり、もう一つは、入力ユーザがコミュニケーションログ記憶部９に含まれていなかった際に、ユーザグループ情報を算出するために利用する、ユーザグループ特徴量である。最後は、入力ユーザに適した話題を推薦する際に利用する、ユーザグループ間話題確率である。
【００８８】
■特徴量抽出部２：
特徴量抽出部２では、以下のような処理を行う。
【００８９】
コミュニケーションログ記憶部９から投稿内容集合Dを入力された場合、保持ユーザvに関する投稿内容集合Dvから、保持ユーザvに関する特徴量dvの抽出を行い、ユーザグループ生成部３０へと出力する。これを、保持ユーザ集合Vに含まれる全ての保持ユーザvについて行う。
【００９０】
ユーザxに関する特徴量dxは、第１の実施の形態と同様である。
【００９１】
■ユーザグループ生成部３０：
ユーザグループ生成部３０の動作のフローチャートを図１１に示す。ユーザグループ生成部３０では、特徴量抽出部２から保持ユーザ集合Vに含まれる保持ユーザvに関する特徴量dvが入力されると(ステップ３０２)、当該特徴量dvから、ユーザグループ集合Gを生成し、3つの出力を行う（ステップ３０３〜３０６）一つは、ユーザグループ間コミュニケーション解析部２０に対し、後述するユーザグループ情報を出力する。もう一つは、ユーザグループ情報記憶部２７に、入力ユーザuのユーザグループ情報を格納する。最後に、ユーザグループ特徴量記憶部２５に対し、ユーザグループgの特徴量dgを出力する。
【００９２】
■クラスタリング部３１：
クラスタリング部３１では、特徴量抽出部２から入力された、保持ユーザ集合Vに含まれる保持ユーザｖに関する特徴量dvをもとに、ユーザをクラスタリングし、ユーザグループ情報を特徴量集計部３２およびユーザグループ間コミュニケーション解析部２０およびユーザグループ情報記憶部２７に対して出力する。
【００９３】
この際、ユーザが一つだけのユーザグループに属するよう、ハードクラスタリング手法を利用しても、複数のユーザグループに属するよう、ソフトクラスタリング手法を利用しても良い。前者であれば、各ユーザがどのユーザグループに属するのかの情報を、後者であれば、各保持ユーザvが各ユーザグループｇに属する確率P(g|v)を出力する(ステップ３０３)。また、クラスタリングの際には、ユーザ間のコミュニケーション数を教師情報として用いるなどの方法を組み合わせても良い。クラスタリングに利用する単語wは、最近1ヶ月に絞るなど、時間によって絞り込んだものなどとしてもよい。
【００９４】
ソフトクラスタリングの例として、文献１（T.Hofmann. Probabilistic Latent Semantic Analysis. In Proceedings of Uncertainty in Artificial Intelligence, UAI' 99, pages 21-28， 1999.）にあげるPLSAの場合、以下の式(6)によってP(g|v)を算出する。
【００９５】
【数７】
0005730741.tif 000008
■特徴量集計部３２：
特徴量集計部３２では、特徴量抽出部２から入力された保持ユーザｖに関する特徴量dvと、クラスタリング部３１から入力されたユーザグループ情報から、各ユーザグループの特徴量dgを算出し(ステップ３０５)、ユーザグループ特徴量記憶部２５に格納する(ステップ３０６)。
【００９６】
ここで、クラスタリング部３１にてソフトクラスタリング手法を適用した場合は、ユーザグループｇに含まれるユーザを絞り込む必要があるが、この場合は、確率に閾値を設ける方法のほか、確率が大きい順に固定の人数とするなどの方法が考えられる。
【００９７】
■ユーザグループ情報記憶部２７：
ユーザグループ情報記憶部２７では、入力ユーザuのユーザグループ情報を格納する。ユーザグループ情報記憶部２７に格納されるデータの例を図１２に示す。同図に示すように、ユーザグループ情報記憶部２７には、ユーザID毎にユーザグループID及びユーザがグループに属する確率が格納される。
【００９８】
ユーザグループ情報記憶部２７は、これらの情報が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。 
このユーザグループ情報記憶部２７は、実施の形態によっては不要であり、受付部１からリクエストが来た際に、ユーザグループ生成部３０が話題決定部７に対して入力ユーザuのユーザグループ情報を出力してもよい。
【００９９】
■ユーザグループ特徴量記憶部２５：
ユーザグループ特徴量記憶部２５では、各ユーザグループの特徴量dgを格納する。ユーザグループ特徴量記憶部２５に格納されるデータの例を図１３に示す。同図に示すように、ユーザグループ特徴量記憶部２５は、ユーザグループIDと特徴ベクトルを格納する。
【０１００】
ユーザグループ特徴量記憶部２５は、これらの情報が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。
【０１０１】
このユーザグループ特徴量記憶部２５は、実施の形態によっては不要であり、ユーザグループ推定部２８からリクエストが来た際に、ユーザグループ生成部３０がユーザグループgの特徴量dgを出力してもよい。
■ユーザグループ間コミュニケーション解析部２０：
ユーザグループ間コミュニケーション解析部２０は、話題候補抽出部２１と、話題確率算出部２２から構成されている。そのフローチャートを図１４に示す。
【０１０２】
ユーザグループ間コミュニケーション解析部２０では、コミュニケーションログ記憶部９に格納されたコミュニケーションログと、クラスタリング部３１から入力されたユーザグループ情報を入力とし(ステップ４０１)、ユーザグループ間話題確率記憶部２６に対し、ユーザグループ集合Gの部分ユーザグループ集合G'において各話題iでコミュニケーションされた確率P(i | G')を格納する(ステップ４０２〜４０５)。これを、ユーザグループ集合Gに含まれる全ての部分ユーザグループ集合G'について行う。コミュニケーションログは、最近1ヶ月に絞るなど、時間によって絞り込んでもよい。
【０１０３】
ここで、3人のユーザグループ間コミュニケーションを解析する場合の解析対象は、2グループずつのコミュニケーションログを組み合わせたものでも、3グループが投稿元もしくは投稿先として関連したコミュニケーションログに限るものでもよい。例えば、グループa、b、cのユーザグループ間コミュニケーションを解析する場合、a，b間、a，c間、b，c間のログを組み合わせたものを対象としてもよく、a，b，cが同時に会話をしたログのみに絞ったものを対象としてもよい。4人以上の場合についても、同様である。
【０１０４】
ここで、部分ユーザグループ集合G'には、同一のグループが含まれていてもよい。例えば、ユーザグループg同士において話題iでコミュニケーションされた確率P(i | g，g)は、算出することができ、出力される。
【０１０５】
■話題候補抽出部２１：
話題候補抽出部２１であｈ、コミュニケーションログ記憶部９から入力されたコミュニケーションログLと、クラスタリング部３１から入力されたユーザグループ集合Gを取得して、部分ユーザグループG'に属するユーザのコミュニケーションログを抽出する(ステップ４０２)。そして、固有名詞や、他のユーザの文書集合、画像、映像などや、これらを統合して扱えるURLなどの話題候補集合Iに変換し、話題確率算出部２２に出力する。
【０１０６】
■話題確率算出部２２：
話題確率算出部２２では、話題候補抽出部１１から入力された話題候補集合Iに対し、部分ユーザグループ集合G'にて各話題iでコミュニケーションされた確率P(i | G')を算出し、ユーザグループ間話題確率記憶部２６に格納する。
【０１０７】
部分ユーザグループ集合G'にて各話題iでコミュニケーションされた確率P(i | G')の算出方法としては、以下の方法が考えられる。
【０１０８】
【数８】
0005730741.tif 000009
ここで、 W(G'， i)は、部分ユーザグループ集合G'に含まれるグループgに属するユーザ同士において、話題iを含む投稿に対して返信が行われた回数の合計を表す。
【０１０９】
ここで、特徴量集計部３２と同様に、クラスタリング部３１にてソフトクラスタリング手法を適用した場合は、ユーザグループgに含まれるユーザを絞り込む必要があるが、この場合は、確率に閾値を設ける方法のほか、確率が大きい順に固定の人数とするなどの方法が考えられる。
【０１１０】
また、その集団に特有な話題が高い確率値をとるよう、部分ユーザグループ集合G'においてその話題で会話される頻度によって重みづけをしてもよい。また、めったに返信しないユーザが返信した際に高い確率値をとるよう、ユーザが返信する頻度によって重みづけをしてもよい。
【０１１１】
■ユーザグループ間話題確率記憶部２６：
ユーザグループ間話題確率記憶部２６では、話題確率算出部２２から入力された、部分ユーザグループ集合G'にて各話題iでコミュニケーションされた確率P(i | G')を格納する。 
ユーザグループ間話題確率記憶部２６は、これらの情報が保存され、復元可能なものであればなんでもよい。例えば、データベースや、予め備えられた汎用的な記憶装置（メモリやハードディスク装置）の特定領域に記憶されるものなどである。ユーザグループ間話題確率記憶部２６に格納されるデータの例を図１５に示す。同図に示すように、ユーザグループ間話題確率記憶部２６には、コミュニケーションしたユーザグループID、話題、確率が格納される。
【０１１２】
このユーザグループ間話題確率記憶部２６は、実施の形態によっては不要であり、話題確率算出部２２は、話題決定部７からリクエストがあった際にユーザグループ間話題確率を算出し、話題決定部７へ出力してもよい。
【０１１３】
●推論部
推論部では、大きく分けて、以下の2つの処理を行う。まず、入力ユーザが属するユーザグループの算出である。次に、そのユーザグループ同士が盛り上がった話題の推薦である。そのフローチャートを図１６に示す。
【０１１４】
入力ユーザが属するユーザグループの算出は、以下のような流れで行う。入力ユーザがコミュニケーションログに含まれていれば、学習部にて先に算出しておいたユーザグループ情報をそのまま利用する。入力ユーザがコミュニケーションログに含まれていなければ、入力ユーザの特徴量を算出し、学習部にて先に算出しておいたユーザグループ特徴量と比較することで、ユーザグループ情報を算出する。
【０１１５】
ユーザグループ同士が盛り上がった話題の推薦は、上記のように算出したユーザグループ情報と、学習部にて先に算出しておいたユーザグループ間話題確率から求める。
【０１１６】
■受付部１：
受付部１では、推薦サービスを利用するユーザからの入力を受け付け、適した入力への変換を行う。
【０１１７】
入力は、入力ユーザ集合Uである。各入力ユーザ情報としては、入力ユーザuのユーザIDであるIDuまたは入力ユーザuの投稿内容集合Duを受け付ける。各入力ユーザ情報に対して、以下の処理を行う。
【０１１８】
各入力が入力ユーザuのユーザIDであるIDuであった場合(ステップ５０１、Yes)、ユーザグループ情報記憶部２７に対して、後述する入力ユーザuのユーザグループ情報を格納しているかの問い合わせを行う。ユーザグループ情報記憶部２７に入力ユーザuのユーザグループ情報が格納されていた場合(ステップ５０２、Yes)、話題決定部７へと入力ユーザuのユーザグループ情報を出力する。これを、保持ユーザ集合Vに含まれる全ての保持ユーザvについて行う。入力ユーザuのユーザグループ情報が格納されていなかった場合は(ステップ５０２、No)、入力ユーザuの投稿内容集合Duの入力を求める画面へと遷移する（ステップ５０３）。
【０１１９】
但し、各入力が入力ユーザuのユーザIDであるIDuであった場合、問い合わせる対象を、第１の実施の形態におけるユーザ特徴量記憶部３としても良い。この場合、以下のような流れとなる。ユーザ特徴量記憶部３に入力ユーザuの特徴量duが格納されていた場合、ユーザグループ推定部へとユーザ特徴量duを出力し(ステップ５０５，５０６)、ユーザグループ推定部２８において入力ユーザuがユーザグループgに属する確率P(g|u)を話題決定部７へと出力する(ステップ５０６，５０７)。これを、ユーザグループ集合Gに含まれる全てのユーザグループgについて行う。入力ユーザuの特徴量duが格納されていなかった場合は、入力ユーザuの投稿内容集合の入力を求める画面へと遷移する。
各入力が入力ユーザuの投稿内容集合Duであった場合、特徴量抽出部２に対して投稿内容集合Duをそのまま出力する。
【０１２０】
■特徴抽出部２：
学習部でも利用した特徴量抽出部２において、以下のような処理を行う。
【０１２１】
受付部１から入力ユーザuに関する投稿内容集合Duを入力された場合、入力ユーザuに関する投稿内容集合Duから、入力ユーザuに関する特徴量duの抽出を行い、ユーザグループ推定部２８へ出力する(ステップ５０４)。これを、入力ユーザ集合Uに含まれる全ての入力ユーザuについて行う。
【０１２２】
■ユーザグループ推定部２８：
ユーザグループ推定部２８では、特徴量抽出部２から入力された特徴量duと、ユーザグループ特徴量記憶部２５に格納された特徴量dgから、入力ユーザuとユーザグループgの類似度S(u、g)を算出し(ステップ５０６)、それをもとに入力ユーザuがユーザグループgに属する確率P(g|u)を算出し(ステップ５０７)、話題決定部７に対して出力する。これを、入力ユーザ集合Uに含まれる全ての入力ユーザuおよびユーザグループ集合Gに含まれる全てのユーザグループgについて行う。
【０１２３】
ユーザxとグループyの類似度S(x，y)は、式(1)によって求められる。入力ユーザxがユーザグループyに属する確率P(y|x)は、式(4)と同様に求められる。
【０１２４】
■話題決定部７：
話題決定部７では、ユーザグループ推定部２８またはユーザグループ情報記憶部２７から入力されたユーザグループ情報と、ユーザグループ間話題確率記憶部２６から入力された、部分ユーザグループ集合G'にて各話題iでコミュニケーションされた確率P(i | G')から、入力ユーザ集合Uに対して話題iを出力する確率P(i | U)を算出し、出力部に対して出力する。
【０１２５】
クラスタリング部３１にてハードクラスタリング手法を適用した場合は、入力ユーザuが属するグループgが与えられるため、入力ユーザ集合Uに対して話題iを出力する確率P(i | U)は部分ユーザグループ集合G'にて各話題iでコミュニケーションされた確率P(i | G')と等しいものとなる。
【０１２６】
クラスタリング部３１にてソフトクラスタリング手法を適用した場合は、入力ユーザuが各グループgに属する確率P(g | u)が入力される。ここでの入力ユーザ集合Uに対して話題iを出力する確率P(i | U)を求める基本アイデアは、各入力ユーザが属するユーザグループをそれぞれ探し出し、属するユーザグループ同士が盛り上がった話題を推薦する、というものである。
【０１２７】
例えば、入力ユーザ集合Uにユーザaとユーザbが含まれていた場合、以下のような式となる。
【０１２８】
【数９】
0005730741.tif 000010
また、例えば、入力ユーザ集合Uにユーザaとユーザb、ユーザcが含まれていた場合、以下のような式となる。
【０１２９】
【数１０】
0005730741.tif 000011
以降、入力ユーザ集合Uに含まれるユーザ数|U|が増えた場合も、同様の式によって算出する。この際、ユーザグループ同士が同一である場合、例えば、P(i|g，g)のような場合であっても、この確率値は算出することができるため、正しく推薦される。
【０１３０】
《具体例》
以下、具体的な例を用いて第２の実施の形態の処理について説明する。ここでは、入力ユーザａ、ｂのユーザIDであるIDa、IDbが入力された場合について説明する。
【０１３１】
ユーザグループ生成部３０のクラスタリング部３１においては、保持ユーザｖの特徴ベクトルdvに対してPLSA(Probabilistic Latent Semantic Analysis)を適用することによって、保持ユーザｖがユーザグループｇに属する確率P(g|v)を求められる。例えば、ユーザａ'がユーザグループｇに属する確率P(g|a')が0.9、ユーザａ'がユーザグループｇ'に属する確率P(g'|a')が0.4、ユーザｂ'がユーザグループｇに属する確率P(g|b')が0.5、ユーザｂ'がユーザグループｇ'に属する確率P(g'|b')が0.9、ユーザｃ'がユーザグループｇに属する確率P(g|c')が0.8、ユーザｃ'がユーザグループｇ'に属する確率P(g'|c')が0.3とする。
【０１３２】
ユーザグループ生成部３０の特徴量集計部３２においては、クラスタリング部３１から入力された保持ユーザａ'，ｂ'，ｃ'がユーザグループｇ，ｇ'に属する確率P(g|a')，P(g|b')，P(g|c')P(g'|a')，P(g'|b')P(g'|c')から、各ユーザグループの特徴ベクトルを算出する。例えば、閾値を0.7に設定した場合、ユーザグループｇに属するユーザはａ'とｃ'、ユーザグループg'に属するユーザはｂ'となる。例えば、図１３の例の場合、ユーザグループｇの特徴ベクトルdgは、ユーザａ'の特徴ベクトルda'とユーザｃ'の特徴ベクトルdc'の平均をとったものとなる。
【０１３３】
ユーザグループ推定部２８においては、前もって算出しユーザグループ特徴量記憶部２５に格納されていた、ユーザグループｇ，ｇ'の特徴ベクトルdg、dg'と入力ユーザａ，ｂに関する特徴ベクトルda、dbの類似度を求めることによって、入力ユーザａ，ｂがユーザグループｇ、ｇ'に属する確率P(g|a)，P(g|b)，P(g'|a)，P(g'|b)を求められる。例えば、図１３の例では、ユーザａがユーザグループｇに属する確率P(g|a)は0.994905781、ユーザａがユーザグループｇ'に属する確率P(g'|a)は0.488810967、ユーザｂがユーザグループg'に属する確率P(g'|b)は0.996243092、ユーザｂがユーザグループｇに属する確率P(g|b)は0.503198715となる。
【０１３４】
ユーザグループ間コミュニケーション解析部２０においては、クラスタリング部３１から入力された保持ユーザａ'，ｂ'，ｃ'がユーザグループｇ，ｇ'に属する確率P(g|a')，P(g|b')，P(g|c')P(g'|a')，P(g'|b')P(g'|c')から、各グループ間における話題確率を算出する。例えば、閾値を0.7に設定した場合、ユーザグループｇに属するユーザはａ'とｃ'、ユーザグループｇ'に属するユーザはｂ'となる。
【０１３５】
話題確率算出部２２においては、前述の式(3)によって部分ユーザグループ集合G'において各話題ｉでコミュニケーションされた確率P(i | G')を算出するが、ここでは例として、G'にユーザグループｇ，ｇ'が含まれており、ユーザグループｇには保持ユーザａ'とｃ'が、ユーザグループｇ'には保持ユーザｂ'が含まれている場合における話題確率P(i|G')の、話題ｉが"カレー"という名詞であった場合の算出方法を説明する。
【０１３６】
保持ユーザａ'と保持ユーザｂ'、保持ユーザｃ'と保持ユーザｂ'において、"カレー"についてコミュニケーションされた回数は２回であるので、W(ｇ，ｇ'，"カレー")は２となる。また、保持ユーザａ'と保持ユーザｂ'、 保持ユーザｃ'と保持ユーザｂ'において、全ての話題についてコミュニケーションされた回数は13回であるので、
【０１３７】
【数１１】
0005730741.tif 000012
は１３となる。結果、P("カレー"|g，g')は0.153846154となる。保持ユーザａ'と保持ユーザｃ'において、"カレー"についてコミュニケーションされた回数は1回であるので、W(g，g，"カレー")は1となる。また、保持ユーザａ'と保持ユーザｃ'において、全ての話題についてコミュニケーションされた回数は8回であるので、
【０１３８】
【数１２】
0005730741.tif 000013
は８となる。結果、P("カレー"|g，g)は0.125となる。これにより、部分ユーザグループ集合G'において、より頻繁または長くコミュニケーションされる話題ｉが高い確率値を持つ。
【０１３９】
次に、話題決定部７について、例として、入力ユーザがａとｂ、保持ユーザがａ'とｂ'のみであった場合の話題ｉを出力する確率P(i |U)の、話題ｉが"カレー"という名詞であった場合の算出方法を説明する。
【０１４０】
前述の式(8)によって話題iを出力する確率P(i |U)を算出するが、この場合、
P(i|U) ＝ P(g|a)P(g|b)P(i|g,g) + P(g|a) P(g'|b)P(i|g,g') 
＋ P(g'|a)P(g|b)P(i|g',g) + P(g'|a)P(g'|b)P(i|g',g')
と表すことができる。よって、P("カレー"|U)は、0.344970911と算出できる。これによって、入力ユーザと似ているユーザグループが盛り上がった話題を推薦でき、入力ユーザとユーザグループが似ているほど、また、ユーザグループ同士が盛り上がった話題ほど、高い確率値となる。
【０１４１】
［第３の実施の形態］
本実施の形態では、第１の実施の形態の話題確率算出部１２、第２の実施の形態の話題確率算出部２２とは異なる確率の算出方法について説明する。
【０１４２】
話題確率算出部２２において、部分ユーザグループ集合G'にて各話題ｉでコミュニケーションされた確率P(ｉ| G')の算出方法としては、以下の方法が考えられる。
【０１４３】
【数１３】
0005730741.tif 000014
ここで、C(G', i)は、部分ユーザグループ集合G'に含まれるユーザグループ同士で、話題ｉについてコミュニケーションをしたユーザの組の数を表す。
【０１４４】
《具体例》
話題確率算出部２２について、ここでは例として、G'にユーザグループｇ，ｇ'が含まれており、ユーザグループｇには保持ユーザａ'とｃ'が、ユーザグループｇ'には保持ユーザb'が含まれている場合における話題確率P(i|G')の、話題iが"カレー"という名詞であった場合の算出方法を説明する。
【０１４５】
保持ユーザa'と保持ユーザｂ'、 保持ユーザｃ'と保持ユーザｂ'において、"カレー"についてコミュニケーションしたユーザの組の数は２であるので、C(g，g'，"カレー")は2となる。また、保持ユーザａ'と保持ユーザｂ'、保持ユーザｃ'と保持ユーザｂ'において、全ての話題についてコミュニケーションしたユーザの組の数は11であるので、
【０１４６】
【数１４】
0005730741.tif 000015
は11となる。結果、P("カレー"|g，g')は0.181818182となる。保持ユーザａ'と保持ユーザｃ'において、"カレー"についてコミュニケーションしたユーザの組の数は1であるので、W(g，g，"カレー")は1となる。また、保持ユーザa'と保持ユーザc'において、全ての話題についてコミュニケーションしたユーザの組の数は8であるので、
【０１４７】
【数１５】
0005730741.tif 000016
は8となる。結果、P("カレー"|g，g)は0.125となる。これにより、部分ユーザグループ集合G'において、より多くのユーザによってコミュニケーションされる話題ｉが高い確率値を持つ。
【０１４８】
その他の構成は、前述の第１、第２の実施の形態と同様であるので、その説明を省略する。
【０１４９】
［第４の実施の形態］
本実施の形態では、第２の実施の形態の話題確率算出部２２とは異なる確率の算出方法について説明する。
【０１５０】
話題確率算出部２２において、各ユーザグループ間において各話題ｉでコミュニケーションされる確率P(i | G')の算出方法としては、以下の方法が考えられる。
【０１５１】
【数１６】
0005730741.tif 000017
ここで、 WC(G'，i)は、部分ユーザグループ集合G'に含まれるユーザ同士において、話題ｉを含む投稿に対して投稿が行われた回数を重みとした、話題ｉについてコミュニケーションをしたユーザの組の数を表す。
【０１５２】
《具体例》
話題確率算出部２２について、ここでは例として、G'にユーザグループｇ，ｇ'が含まれており、ユーザグループｇには保持ユーザａ'とｃ'が、ユーザグループｇ'には保持ユーザｂ'が含まれている場合における話題確率P(i|G')の、話題ｉが"カレー"という名詞であった場合の算出方法を説明する。
【０１５３】
保持ユーザａ'と保持ユーザｂ'、 保持ユーザｃ'と保持ユーザｂ'において、"カレー"についてコミュニケーションしたユーザの組の数は2で、それぞれのコミュニケーションが続いた回数は2回であるので、WC(g，g'，"カレー")は4となる。これを全ての話題について合計すると21であるので、
【０１５４】
【数１７】
0005730741.tif 000018
は21となる。結果、P("カレー"|g，g')は0.19047619となる。保持ユーザａ'と保持ユーザｃ'において、"カレー"についてコミュニケーションしたユーザの組の数は１で、それぞれのコミュニケーションが続いた回数は2回であるので、WC(g，g，"カレー")は2となる。これを全ての話題について合計すると8であるので、
【０１５５】
【数１８】
0005730741.tif 000019
は8となる。結果、P("カレー"|g，g)は0.25となる。これにより、部分ユーザグループ集合G'において、より頻繁または長くコミュニケーションされる話題ｉが高い確率値を持つ。
【０１５６】
その他の構成は、前述の第１、第２の実施の形態と同様であるので、その説明を省略する。
【０１５７】
なお、前述の図１、図１０に示す話題推薦装置の構成要素の各動作をプログラムとして構築し、話題推薦装置として利用されるコンピュータにインストールする、または、ネットワークを介して流通させることが可能である。
【０１５８】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【０１５９】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【０１６０】
１  受付部
２  特徴量抽出部
３  ユーザ特徴量記憶部
４  ユーザ類似度算出部
５  ユーザ類似度記憶部
６  ユーザ間話題確率記憶部
７  話題決定部
８  出力部
９  コミュニケーションログ記憶部
１０  ユーザ間コミュニケーション解析部
１１  話題候補抽出部
１２  話題確率算出部
２０  ユーザグループ間コミュニケーション解析部
２１  話題候補抽出部
２２  話題確率算出部
２５  ユーザグループ特徴量記憶部
２６  ユーザグループ間話題確率記憶部
２７  ユーザグループ情報記憶部
３０  ユーザグループ生成部
３１  クラスタリング部
３２  特徴量集計部
【図１】
0005730741.tif 000020
【図２】
0005730741.tif 000021
【図３】
0005730741.tif 000022
【図４】
0005730741.tif 000023
【図５】
0005730741.tif 000024
【図６】
0005730741.tif 000025
【図７】
0005730741.tif 000026
【図８】
0005730741.tif 000027
【図９】
0005730741.tif 000028
【図１０】
0005730741.tif 000029
【図１１】
0005730741.tif 000030
【図１２】
0005730741.tif 000031
【図１３】
0005730741.tif 000032
【図１４】
0005730741.tif 000033
【図１５】
0005730741.tif 000034
【図１６】
0005730741.tif 000035