(57)【要約】【課題】アクティブユーザａに推薦されるコンテンツが、どのようなクラスタから発見されたものであるかを明示することができる興味情報推薦装置を提供する。【解決手段】各ユーザの興味情報内の単語を含むクラス、インスタンス毎の興味度およびクラスの接続形態であるトポロジを考慮して、タクソノミに基づいて前記ユーザ毎の興味類似度を計測するユーザ興味類似度計測器１０と、前記ユーザ興味類似度に基づいて、ユーザをノードとし、類似度に基づく重みをスコアとしてもつエッジをユーザ間に設定してユーザ興味相関グラフを生成するユーザ興味相関グラフ生成器２０と、前記グラフ上をランダムウォークし、興味対象コンテンツの推薦スコアを計算する推薦スコア計算器３０と、前記グラフをクラスタリングし、その結果に基づいて、推薦アイテムおよびそのアイテムの背景情報を含む推薦リストを作成する推薦アイテムの所属クラスタ特定器４０と、を備える。【選択図】図１
2011141666.tif 000002
【特許請求の範囲】
【請求項１】
各ユーザ毎に構築された興味情報を概念階層化したパーソナルオントロジを生成し、前記興味情報内の単語を含むクラス、インスタンス毎の興味度およびクラスの接続形態であるトポロジを考慮して、タクソノミに基づいて前記ユーザ毎の興味類似度を計測するユーザ興味類似度計測手段と、
前記ユーザ興味類似度計測手段により計測されたユーザ毎のユーザ興味類似度に基づいて、ユーザをノードとし、類似度に基づく重みをスコアとしてもつエッジをユーザ間に設定してユーザ興味相関グラフを生成するユーザ興味相関グラフ生成手段と、
前記ユーザ興味相関グラフ生成手段により生成されたグラフ上をランダムウォークし、たどったユーザの興味対象コンテンツを推薦対象リストに加え、前記各コンテンツのカウント数と、ユーザ間のエッジのスコアを基に前記興味対象コンテンツの推薦スコアを計算する推薦スコア計算手段と、
前記ユーザ興味相関グラフ生成手段により生成されたグラフをクラスタリングし、該クラスタリング結果に基づいて、推薦アイテムおよびそのアイテムの背景情報を含む推薦リストを作成する推薦アイテムの所属クラスタ特定手段と、
を備えたことを特徴とする興味情報推薦装置。
【請求項２】
前記ユーザ興味類似度計測手段は、
前記生成した各ユーザのパーソナルオントロジの親クラス、子クラスから成るトポロジＴ1とクラスとインスタンスから成るトポロジＴ2を定義し、複数のユーザのパーソナルオントロジ間で共通クラスを分析して前記トポロジＴ1を形成する共通クラスとトポロジＴ2を形成する共通クラスを抽出し、
前記抽出された２つのユーザのパーソナルオントロジの共通クラス配下の子クラスの積集合と和集合に基づいて共通クラス配下の興味一致度を計算し、トポロジＴ1を形成する全共通クラスにおける前記興味一致度の総和を求めて、トポロジＴ1を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ1）を算出し、
前記抽出された２つのユーザのパーソナルオントロジの共通クラスのうち、一方のユーザのパーソナルオントロジにおける共通クラス配下のインスタンス集合と、他方のユーザのパーソナルオントロジにおける共通クラス配下のインスタンス集合に基づいて共通クラス配下の興味一致度を計算し、トポロジＴ2を形成する全共通クラスにおける前記興味一致度の総和を求めて、トポロジＴ2を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ2）を算出し、
前記算出された興味一致度Ｓ（Ｔ1）、Ｓ（Ｔ2）と、両トポロジＴ1、Ｔ2に対する重要度に応じた評価関数ｆ（Ｘ）とによって、オントロジ間の近似度Ｓｏ＝Ｓ（Ｔ1）＋ｆ（Ｓ（Ｔ2））を求めることを特徴とする請求項１に記載の興味情報推薦装置。
【請求項３】
前記ユーザ興味相関グラフ生成手段は、
前記ユーザ興味類似度計測手段により求められた興味類似度の高いユーザ順に、各ユーザの持つインスタンスの種類をカウントし、該インスタンスの種類数が急激に増える直前におけるカウント済みユーザ人数Ｘを決定し、
あるユーザｕｉから見て類似度の高い前記Ｘ人のユーザｕｊとの間にエッジを設定し、
前記エッジに、ユーザｕｉからみたユーザｕｊの類似度を正規化した値を重みとして付与することを特徴とする請求項１又は２に記載の興味情報推薦装置。
【請求項４】
前記推薦アイテムの所属クラスタ特定手段により作成される推薦リストにおける前記推薦アイテムの背景情報は、前記推薦対象リストに加えられたユーザの興味対象コンテンツが、自身の所属するクラスタにも存在するか否かの情報、存在しない場合にどのクラスタから発見されたかを示す情報および該発見基クラスタの中でエッジを多く持つ中心ユーザの情報を含むことを特徴とする請求項１ないし３のいずれか１項に記載の興味情報推薦装置。
【請求項５】
ユーザ興味類似度計測手段が、各ユーザ毎に構築された興味情報を概念階層化したパーソナルオントロジを生成し、前記興味情報内の単語を含むクラス、インスタンス毎の興味度およびクラスの接続形態であるトポロジを考慮して、タクソノミに基づいて前記ユーザ毎の興味類似度を計測するユーザ興味類似度計測ステップと、
ユーザ興味相関グラフ生成手段が、前記ユーザ興味類似度計測手段により計測されたユーザ毎のユーザ興味類似度に基づいて、ユーザをノードとし、類似度に基づく重みをスコアとしてもつエッジをユーザ間に設定してユーザ興味相関グラフを生成するユーザ興味相関グラフ生成ステップと、
推薦スコア計算手段が、前記ユーザ興味相関グラフ生成手段により生成されたグラフ上をランダムウォークし、たどったユーザの興味対象コンテンツを推薦対象リストに加え、前記各コンテンツのカウント数と、ユーザ間のエッジのスコアを基に前記興味対象コンテンツの推薦スコアを計算する推薦スコア計算ステップと、
推薦アイテムの所属クラスタ特定手段が、前記ユーザ興味相関グラフ生成手段により生成されたグラフをクラスタリングし、該クラスタリング結果に基づいて、推薦アイテムおよびそのアイテムの背景情報を含む推薦リストを作成する推薦アイテムの所属クラスタ特定ステップと、
を備えたことを特徴とする興味情報推薦方法。
【請求項６】
前記ユーザ興味類似度計測ステップは、
前記生成した各ユーザのパーソナルオントロジの親クラス、子クラスから成るトポロジＴ1とクラスとインスタンスから成るトポロジＴ2を定義し、複数のユーザのパーソナルオントロジ間で共通クラスを分析して前記トポロジＴ1を形成する共通クラスとトポロジＴ2を形成する共通クラスを抽出するステップと、
前記抽出された２つのユーザのパーソナルオントロジの共通クラス配下の子クラスの積集合と和集合に基づいて共通クラス配下の興味一致度を計算し、トポロジＴ1を形成する全共通クラスにおける前記興味一致度の総和を求めて、トポロジＴ1を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ1）を算出するステップと、
前記抽出された２つのユーザのパーソナルオントロジの共通クラスのうち、一方のユーザのパーソナルオントロジにおける共通クラス配下のインスタンス集合と、他方のユーザのパーソナルオントロジにおける共通クラス配下のインスタンス集合に基づいて共通クラス配下の興味一致度を計算し、トポロジＴ2を形成する全共通クラスにおける前記興味一致度の総和を求めて、トポロジＴ2を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ2）を算出するステップと、
前記算出された興味一致度Ｓ（Ｔ1）、Ｓ（Ｔ2）と、両トポロジＴ1、Ｔ2に対する重要度に応じた評価関数ｆ（Ｘ）とによって、オントロジ間の近似度Ｓｏ＝Ｓ（Ｔ1）＋ｆ（Ｓ（Ｔ2））を求めるステップとを備えたことを特徴とする請求項５に記載の興味情報推薦方法。
【請求項７】
前記ユーザ興味相関グラフ生成ステップは、
前記ユーザ興味類似度計測手段により求められた興味類似度の高いユーザ順に、各ユーザの持つインスタンスの種類をカウントし、該インスタンスの種類数が急激に増える直前におけるカウント済みユーザ人数Ｘを決定するステップと、
あるユーザｕｉから見て類似度の高い前記Ｘ人のユーザｕｊとの間にエッジを設定するステップと、
前記エッジに、ユーザｕｉからみたユーザｕｊの類似度を正規化した値を重みとして付与するステップと、
を備えたことを特徴とする請求項５又は６に記載の興味情報推薦方法。
【請求項８】
前記推薦アイテムの所属クラスタ特定ステップにより作成される推薦リストにおける前記推薦アイテムの背景情報は、前記推薦対象リストに加えられたユーザの興味対象コンテンツが、自身の所属するクラスタにも存在するか否かの情報、存在しない場合にどのクラスタから発見されたかを示す情報および該発見基クラスタの中でエッジを多く持つ中心ユーザの情報を含むことを特徴とする請求項５ないし７のいずれか１項に記載の興味情報推薦方法。
【請求項９】
コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させる興味情報推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、協調フィルタリングに基づくコンテンツ推薦、その中でも、特にグラフベースの協調フィルタリングに関し、多様な興味を持つユーザヘの推薦精度向上のための、タクソノミに基づくユーザ興味マッチングアルゴリズムに関する。
【背景技術】
【０００２】
これまでのグラフベースの協調フィルタリング技術では、非特許文献１が知られている。これは、主に、ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍ（スパース問題）という、ユーザのコンテンツ消費（利用）が少ない場合に、あまり良い推薦ができない、という問題に対し、直接的に近いユーザのみでなく、ユーザグラフ上で少し遠くにいるユーザの興味コンテンツまで追いかけて、推薦に用いることで、上記ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍを改善している。
【０００３】
それと同様のアプローチとして、近年、ランダムウォークを用いた手法（非特許文献２参照）がよく利用されるようになってきている。その手法では、アイテムの類似度に基づくアイテムグラフ（アイテムをノード、類似するアイテム間にエッジを持つ。エッジには類似度に基づくスコアを与える。）を最初に構築し、アクティブユーザａの持つ興味アイテムを起点とし、グラフ上をランダムウォークさせ、たどったユーザの持つ興味アイテムの出現回数と、エッジのスコアを基に、アイテムの推薦値を計算し、推薦値に基づきアイテムをランキングし、ユーザに表示する。
【０００４】
この方法でも、ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍに対応できることがわかっている（この非特許文献２によると、アイテムグラフに対し、手法を適用しているのは、アイテムの方が一般的に情報推薦システムを利用するユーザの数より少ないからである、と指摘している。ただ、現状のシステムでは反対の例も多い）。
【０００５】
しかし、上述の手法では、以下の２つの欠点がある。  
【０００６】
（１）従来は、ユーザの興味の類似度に基づくユーザグラフの構築においては、ユーザの消費コンテンツのみを利用したユーザ間類似度計算を行っている。それだと、同様のコンテンツを消費（利用）しており、興味がある程度近くても、同一のコンテンツを両者が消費していない限り、類似度が０になることが多くでてくる。そのため、興味がある程度近くてもエッジが引かれない（もしくは、エッジのスコアが０）となる場合が多くなってしまう。そのため、アイテムグラフ上をランダムウォークする際に、興味がある程度近いにもかかわらず、すぐにはたどれないユーザが多く出てしまい、ランキングの精度を下げる。
【０００７】
また、同じ原因に起因する結果として、同一のコンテンツを消費しているということは、かなり類似するユーザということになるため、そうしたユーザから発見できるのは、だいたい同じ傾向のコンテンツのみとなり、幅広い興味を持つユーザヘの推薦の精度が下がる。
【０００８】
まとめると、ユーザの多様な興味を、情報推薦システムが一部しか把握していないとし、さらに、残りの部分が、システムが把握しているユーザ興味と異なっているとすると、推薦がうまくいかなくなる。この問題は、ユーザの回りに、ユーザが興味を持ちうるアイテムを持つユーザが現れてこないという点でｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍと非常に近い問題である。
【０００９】
（２）従来は、ユーザグラフ上を縦横無尽にランダムウォークさせており、たどった先のユーザがアクティブユーザａとどういう関係にあるのかが把握できていない。そのため、どのようなユーザからどのようなコンテンツを発見できたかが、明確につかめないため、見つかったコンテンツの特性をつかみにくい。
【００１０】
また、特許文献１には、ユーザの興昧を反映するＷＥＢページとして、ＮＴＴレゾナントのｇｏｏブログやＮＴＴデータのｄｏｂｌｏｇなどのブログエントリは、従来の掲示板と異なり、特定の一人の人物が自身の感じた情報を書き綴っているため、この情報には、個人の興味をあらわす情報も多く含まれていることを利用し、このブログエントリに対し、各サービスプロバイダが提供するタクソノミ上のクラス（ジャンルなど）に分類を行うことで、ユーザの興味をタクソノミに沿って抽出することを可能とする技術が開示されている。
【００１１】
ただしこの特許文献１では、タクソノミに沿ったユーザ興味は必ずしも、ブログから抽出するものに限定するというわけではなく、購買履歴や音楽試聴履歴からも抽出できる。
【００１２】
また、特許文献２には、ユーザの興味をタクソノミに沿って作成する際に、ユーザの興味対象（インスタンス、クラス）への思い入れの強さである興味度をも与える方法が開示されている。
【００１３】
このような技術背景があり、ユーザ興味をタクソノミに沿って抽出する方法は与えられつつある。
【００１４】
さらに、特許文献３には、ユーザ間の興味の類似度を、タクソノミに沿ったユーザ興味の類似度から計算する方法が開示されている。
【００１５】
尚、本発明に関連する技術として、非特許文献３〜５に記載のものが公知となっている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００７−２２６４６８号公報
【特許文献２】特開２００８−２７１４２号公報
【特許文献３】特開２００８−２７１４３号公報
【非特許文献】
【００１７】
【非特許文献１】ＺＡＮ  ＨＵＡＮＧ，ＨＳＩＮＣＨＵＮ，ａｎｄ  ＤＡＮＩＥＬ  ＺＥＮＧ，“Ａｐｐｌｙｉｎｇ  ａｓｓｏｃｉａｔｉｖｅ ｒｅｔｒｉｅｖａｌ ｔｅｃｈｎｉｑｕｅｓ ｔｏ ａｌｌｅｖｉａｔｅ ｔｈｅ  ｓｐａｒｓｉｔｙ ｐｒｏｂｌｅｍ ｉｎ ｃｏｌｌａｂｏｒａｔｉｖｅ ｆｉｌｔｅｒｉｎｇ”，ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ，Ｖｏｌ．２２， Ｎ０．１，Ｊａｎｕａｒｙ  ２００４，ｐｐ．１１６−１４２
【非特許文献２】Ｈｉｌｍｉ  Ｙｉｌｄｉｒｉｍ  ａｎｄ  Ｍｕｋｋａｉ  Ｓ．  Ｋｒｉｓｈｎａｍｏｏｒｔｈｙ，“Ａ Ｒａｎｄｏｍ Ｗａｌｋ Ｍｅｔｈｏｄ ｆｏｒ Ａｌｌｅｖｉａｔｉｎｇ ｔｈｅ Ｓｐａｒｓｉｔｙ  Ｐｒｏｂｌｅｍ  ｉｎ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｆｉｌｔｅｒｉｎｇ”，ＳＩＧ−ＲＥＣ２００８
【非特許文献３】Ｆａｓｔ ａｌｇｏｒｉｔｈｍ ｆｏｒ ｄｅｔｅｃｔｉｎｇ ｃｏｍｍｕｎｉｔｙ ｓｔｒｕｃｔｕｒｅ ｉｎ ｎｅｔｗｏｒｋｓ Ｅｘｐｏｒｔ ｂｙ：  Ｍ．  Ｅ．Ｊ．Ｎｅｗｍａｎ、  インターネット＜ＵＲＬ：ｈｔｔｐ：／／ａｒｘｉｖ．ｏｒｇ／ａｂｓ／ｃｏｎｄ−ｍａｔ／０３０９５０８＞，[平成２１年１２月２２日検索]
【非特許文献４】中辻真、三好優、大塚祥広、“ブログデータに基づくユーザの興味オントロジ自動生成とコミュニティ形成支援手法の提案”、ＤＥＷＳ２００６  ２Ａ−ｉ７、２００６
【非特許文献５】増井俊之、“インターフェイスの街角（９３）−本棚演算”、ＵＮＩＸ  ＭＡＧＡＺＩＮＥ  ２００５．１２
【発明の概要】
【発明が解決しようとする課題】
【００１８】
本発明では、前記技術背景をふまえ、上述した問題（１）、（２）に対応するべく、ユーザ興味グラフを作成し、そのグラフ上でランダムウォークを行い、また、グラフをクラスタリングし、アクティブユーザａに推薦されるコンテンツがどのようなクラスタから発見されたものであるかを、明示する装置、方法、プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１９】
本発明の特徴は次の２点である。  
（１）過去に発明者が提案したタクソノミに沿ったユーザ興味抽出（特許文献１）、類似度計算（特許文献３）を補完する内容。上記手法を、タクソノミに沿ったユーザ興味類似度グラフの生成、およびグラフ上のランダムウォークヘの適用、それによるスパース問題への改善ができるという領域までカバーする構成とした。
（２）ユーザグラフをクラスタリングする新規方法を構築した。さらに、アクティブユーザａに対し推薦されるコンテンツが、グラフのクラスタリング結果を考えにいれると、どのようなクラスタから起因して出てきたものなのか、を明示する方法を構築した。
【００２０】
すなわち本発明では、コンテンツのみでなく、コンテンツの分類知識であるタクソノミを利用してユーザ間の興味類似度を計算し、ユーザグラフを構成することで、これまでよりも、グラフ上のランダムウォークの精度をあげる。タクソノミを用いることで、同じインスタンスに興味を持つユーザのみでなく、同じクラスに興味を持つユーザ間でも、類似性を判定することができるため、特にＳｐａｒｓｉｔｙ問題に有効となる（問題（１）に対応）。さらに、ユーザグラフをクラスタリングした事前結果を利用し、自身の所属するクラスタからは発見できないけれども、ユーザが興味を持ちうる可能性の高いコンテンツを推薦可能とする（問題（２）に対応）。
【００２１】
本発明の興味情報推薦装置は、各ユーザ毎に構築された興味情報を概念階層化したパーソナルオントロジを生成し、前記興味情報内の単語を含むクラス、インスタンス毎の興味度およびクラスの接続形態であるトポロジを考慮して、タクソノミに基づいて前記ユーザ毎の興味類似度を計測するユーザ興味類似度計測手段と、前記ユーザ興味類似度計測手段により計測されたユーザ毎のユーザ興味類似度に基づいて、ユーザをノードとし、類似度に基づく重みをスコアとしてもつエッジをユーザ間に設定してユーザ興味相関グラフを生成するユーザ興味相関グラフ生成手段と、前記ユーザ興味相関グラフ生成手段により生成されたグラフ上をランダムウォークし、たどったユーザの興味対象コンテンツを推薦対象リストに加え、前記各コンテンツのカウント数と、ユーザ間のエッジのスコアを基に前記興味対象コンテンツの推薦スコアを計算する推薦スコア計算手段と、前記ユーザ興味相関グラフ生成手段により生成されたグラフをクラスタリングし、該クラスタリング結果に基づいて、推薦アイテムおよびそのアイテムの背景情報を含む推薦リストを作成する推薦アイテムの所属クラスタ特定手段と、を備えたことを特徴としている。
【発明の効果】
【００２２】
（１）請求項１〜９に記載の発明によれば、特に、ユーザの興味を、例えば情報推薦システムが十分に把握していない段階において、推薦精度を向上させることができる。
【００２３】
また、推薦アイテムが、あるユーザの所属するクラスタに存在しない（そのユーザにとって今までの興味とは外れたアイテムである）場合であっても、例えばそれがどのクラスタから発見されたかの情報（推薦アイテムの背景情報）とともに提示することができ、ユーザは、どのようなユーザからどのようなコンテンツを発見することができたかを明確につかむことができ、コンテンツの特性をつかみやすい。
【００２４】
このため、従来のＡｍａｚｏｎなどで行なわれている協調フィルタリングのように、同様のインスタンスが並んだ推薦リストと異なり、各種別々のクラスタから出てきたインスタンスを、そのクラスタ毎に分離しながら推薦リストに混ぜ込むことにより、多様であるが、ユーザがそれぞれ興味を持つ確率が高いインスタンスの推薦リストを作成し、ユーザに提示することができる。
（２）請求項２、６に記載の発明によれば、タクソノミに沿って親クラス、子クラスから成るトポロジＴ1を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ1）と、クラスとインスタンスから成るトポロジＴ2を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ2）と、前記両トポロジＴ1、Ｔ2に対する重要度に応じた評価関数ｆ（Ｘ）とによってオントロジ間の近似度Ｓｏを求めているので、ユーザの興味を、例えば情報推薦システムが十分に把握していない段階においても、インスタンスのみならずクラスでも繋がるユーザがあればエッジが引かれる可能性があり、推薦誤差を低く抑えることができる。
（３）請求項３、７に記載の発明によれば、エッジを設定するためのユーザの人数Ｘを決定しているので、興味が類似するユーザ集合を正しく求めることが可能なユーザ興味相関グラフを生成することができる。
（４）請求項４、８に記載の発明によれば、今までとは異なり、推薦されてきた情報が、自分の所属するクラスタからのものではない、という意味で、自分の今までの興昧とはずれたインスタンスである、と明示しながら、推薦を行うことができるようになる。
【００２５】
また、推薦インスタンスの発見基クラスタを明示することで、例えば、複数のクラスタからインスタンスが推薦されてきた場合には、推薦インスタンスそれぞれに対するクラスタを明示することができるため、複数インスタンスのクラスタがそれぞれ多岐に飛んでいたならば、それぞれ、出元が異なるという情報を付加させながら、ユーザに推薦を行うことができるようになる。
【図面の簡単な説明】
【００２６】
【図１】本発明の興味情報推薦装置の実施形態例を示す構成図。
【図２】本発明の興味情報推薦方法の実施形態例を示すフローチャート。
【図３】本発明の実施形態例で利用するユーザ分布解析と興味オントロジ自動生成の手順を示す説明図。
【図４】本発明の実施形態例で利用する特許文献３における近似度計測アルゴリズムの説明図。
【図５】本発明の実施形態例における興味度の例を示す説明図。
【図６】本発明の実施形態例における興味度を考慮したオントロジ間の近似度計測アルゴリズムの説明図。
【図７】本発明の実施形態例における興味オントロジの近似度計測による実現サービスイメージの説明図。
【図８】図２のユーザ興味相関グラフ生成ステップの処理の詳細を示すフローチャート。
【図９】図２の推薦アイテムの所属クラスタ特定ステップの処理の詳細を示すフローチャート。
【図１０】本発明により出力される推薦リストの一例を示す説明図。
【図１１】本発明と従来技術との比較検証を表し、推薦システムのユーザ興味把握度に対する推薦誤差を示すグラフ。
【発明を実施するための形態】
【００２７】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。
【００２８】
図１は、本発明の一実施形態例に係る興味情報推薦装置が適用されるシステムの概略構成を示すブロック図である。１はインターネットやＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの通信網であり、この通信網１を介して端末２〜４およびサーバ５が接続されている。
【００２９】
端末２〜４は、ノート型パソコンあるいはデスクトップ型パソコンからなり、携帯電話端末やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）などでもよい。また、サーバ５は、ブログプロバイダやＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）上に設置することができる。
【００３０】
ここで、サーバ５には、端末２〜４にそれぞれ対応したブログサイト７〜９が設けられ、各ブログサイト７〜９には、ブログエントリ７ａ〜７ｎ、８ａ〜８ｎ、９ａ〜９ｎがそれぞれ保持されている。なお、ブログエントリ７ａ〜７ｎ、８ａ〜８ｎ、９ａ〜９ｎはブログにおける記事の最小単位を表し、日にち毎に設けることができる。また、サーバ５には雛形オントロジ６が保持され、雛形オントロジ６には、個人（ユーザ）の興味情報が概念階層化されたパーソナルオントロジの雛形が設けられている。
【００３１】
なお、雛形オントロジ６は、ブログプロバイダ側で恣意的に作成することができる。例えば、ブログプロバイダが音楽に関するパーソナルオントロジを各端末２〜４のユーザに構築させたければ、音楽に関する雛形オントロジ６を構築すればよい。ここで、各端末２〜４のユーザの興味を細やかに表現するために、可能な限り細分化された網羅性の高い雛形オントロジ６を構築することが好ましい。  また、雛形オントロジ６の実体は、オントロジ記述言語ＯＷＬなどのＸＭＬ言語で記述されたテキストファイル等、クラス・インスタンスツリーをＤＢ上で表現したものである。また、情報の整理の簡単化のため、インスタンスは最下位クラスにのみ分類してもよい。
【００３２】
さらにサーバ５には、ユーザ興味類似度計測手段としてのユーザ興味類似度計測器１０、ユーザ興味相関グラフ生成手段としてのユーザ興味相関グラフ生成器２０、推薦スコア計算手段としての推薦スコア計算器３０および推薦アイテムの所属クラスタ特定手段としての推薦アイテムの所属クラスタ特定器４０が設けられている。
【００３３】
これらユーザ興味類似度計測器１０、ユーザ興味相関グラフ生成器２０、推薦スコア計算器３０および推薦アイテムの所属クラスタ特定器４０で実行される各処理は図２のフローチャートに沿って行われ、後述する各機能は例えばコンピュータによって達成される。
【００３４】
＜ユーザ興味類似度計測器１０（ステップＳ１００）＞
（１）ユーザ興味類似度計測器１０は、ユーザ興味、すなわち購買履歴、視聴履歴などのユーザとアイテムの関係の情報を入力とし、例えば特許文献１、３に記載のユーザの興味分布解析および興味オントロジ自動生成（図３〜図５）と、ユーザ毎の興味類似度の計測（図４〜図７）とを、以下のようにして行なう。
【００３５】
（１−１）まずユーザ分布解析と興味オントロジ自動生成手順を示す図３において、ブログの更新情報を集めて提供しているｐｉｎｇサーバ（図１のサーバ５）などを通じ収集した全ブログエントリ（ユーザＡ〜Ｘのエントリ集合）に対し形態素解析を行って、該エントリに頻出する単語を抽出しインデックスを作成する（ステップＳ１）。ここで、収集されたブログエントリは一意なユーザＩＤを持つとする。
【００３６】
（１−２）次に全ブログエントリを雛形オントロジＯＨに対し分類する（ステップＳ２）。分類方法としては、あるエントリ内の記述に雛形オントロジＯＨのあるクラスＣiの名前属性があれば、そのエントリをＣiに分類し、また、Ｃiに所属するインスタンスＩi（∈Ｃi）の名前属性があれば、そのエントリをクラスＣiのインスタンスＩiに分類する。なお、同一のエントリが複数クラスに分類されても良い。例えば、図３において、エントリ内の記述に“Ｃｈａｒｌａｔａｎｓ”という文字列がある場合、そのエントリはクラス“Ｍａｄｃｈｅｓｔｅｒ”のインスタンス“Ｃｈａｒｌａｔａｎｓ”に分類される。
【００３７】
（１−３）次に、雛形オントロジＯＨを形成する最下層クラスＣlの持つ各インスタンスに対し興味を持つユーザ数を計測する（ステップＳ３）。なお、クラスＣlのインスタンスＩlに興味を持つユーザ数を算出する際、同一ユーザが複数エントリにおいてインスタンスＩlを記述していたとしても、ユーザ数は１と計測する。次に上記計測を最下層クラスに対しても実施し、最下層クラスに興味を持つユーザ数を、最下層クラス配下の全インスタンスに興味を持つユーザ数と最下層クラスＣl自身に興味を持つユーザ数の総和で計測する。この場合も、同一ユーザが複数インスタンスに興味を持っていたり、最下層クラスとそのクラスに所属するインスタンスに同時に興味を持つとしても、ユーザ数は１と計測する。このようにして雛形オントロジＯＨを形成するクラスやインスタンスに興味を持つユーザ数をルートクラスまで再帰的に計測する事で，そのドメインに興味を持つユーザ分布を計測できる。
【００３８】
（１−４）次に全エントリを分類した上で、分類結果をユーザＩＤ毎に整理し各ユーザＡ〜Ｘ毎の興味オントロジを生成する。
【００３９】
（２）次に図４を用いて、特許文献３に記載の類似度計測アルゴリズムについて説明する。
【００４０】
尚、以下の説明では、あるオントロジに対する別のオントロジとの間の近似度を計測する場合、前者をソースオントロジ、後者をターゲットオントロジと呼ぶ。
【００４１】
図４において、雛形オントロジＯＨの“ａ１”というクラスの直下には、“ｂ１”、“ｂ２”および“ｂ３”というクラスが存在し、“ｂ１”というクラスの直下には、“ｃ１”および“ｃ２”というクラスが存在し、“ｃ１”というクラスの直下には、“ｄ１”および“ｄ２”というクラスが存在しているものとする。
【００４２】
また、“ｂ２”というクラスの直下には、“ｃ３”および“ｃ４”というクラスが存在し、“ｂ３”というクラスの直下には、“ｃ５”というクラスが存在しているものとする。
【００４３】
また、“ｄ１”というクラスには、“ｊ”および“ｋ”というインスタンスが存在し、“ｄ２”というクラスには、“ｌ”というインスタンスが存在し、“ｃ２”というクラスには、“ｍ”というインスタンスが存在し、“ｂ２”というクラスには、“ｎ”というインスタンスが存在し、“ｃ３”というクラスには、“ａ”、“ｅ”、“ｃ”、“ｆ”、“ｂ”、“ｄ”および“ｇ”というインスタンスが存在し、“ｃ４”というクラスには、“ｐ”、“ｑ”、“ｊ”および“ｈ”というインスタンスが存在しているものとする。
【００４４】
そして、各ユーザのブログエントリに頻出する単語をそれぞれ抽出し、その単語を含むクラスまたはインスタンスおよびそれらの上位の全てのクラスを雛形オントロジＯＨからそれぞれ抽出することにより、パーソナルオントロジＯＡ、ＯＢが作成されたものとする。
【００４５】
ここで、パーソナルオントロジＯＡの“ａ１というクラスの直下には、“ｂ１”および“ｂ２”というクラスが存在し、“ｂ１”というクラスの直下には、“ｃ１”および“ｃ２”というクラスが存在し、“ｃ１”というクラスの直下には、“ｄ１”というクラスが存在し、“ｂ２”というクラスの直下には、“ｃ３”および“ｃ４”というクラスが存在しているものとする。また、“ｄ１”というクラスには、“ｊ”および“ｋ”というインスタンスが存在し、“ｃ２”というクラスには、“ｍ”というインスタンスが存在し、“ｃ３”というクラスには、“ａ”、“ｃ”、“ｂ”および“ｄ”というインスタンスが存在し、“ｃ４”というクラスには、“ｑ”および“ｈ”というインスタンスが存在しているものとする。
【００４６】
また、パーソナルオントロジＯＢの“ａ１”というクラスの直下には、“ｂ１”、“ｂ２”および“ｂ３”というクラスが存在し、“ｂ１”というクラスの直下には、“ｃ１”というクラスが存在し、“ｃ１”というクラスの直下には、“ｄ２”というクラスが存在し、“ｂ２”というクラスの直下には、“ｃ３”および“ｃ４”というクラスが存在しているものとする。また、“ｄ２”というクラスには、“ｌ”というインスタンスが存在し、“ｂ２”というクラスには、“ｎ”というインスタンスが存在し、“ｃ３”というクラスには、“ａ”、“ｃ”、“ｅ”および“ｆ”というインスタンスが存在し、“ｃ４”というクラスには、“ｐ”および“ｊ”というインスタンスが存在しているものとする。
【００４７】
（２−１）まず、雛形オントロジＯＨおよびパーソナルオントロジＯＡ、ＯＢ間で末端クラスを除く共通クラスを分析し、共通クラスを親クラスとした親子クラスからなるトポロジを抽出する。なお、図４の例では、末端クラスは、“ｄ１”、“ｄ２”、“ｃ３”および“ｃ４”とする。この結果、雛形オントロジＯＨおよびパーソナルオントロジＯＡ、ＯＢ間において、クラス“ａ１”を親クラスとした子クラス集合Ｇ１、クラス“ｂ１”を親クラスとした子クラス集合Ｇ２、クラス“ｃ１”を親クラスとした子クラス集合Ｇ３、クラス“ｂ２”を親クラスとした子クラス集合Ｇ４、クラス“ｂ３”を親クラスとした子クラス集合Ｇ５を抽出することができる。
【００４８】
なお、この共通クラスの分析は、同じクラスＩＤが雛形オントロジＯＨおよびパーソナルオントロジＯＡ、ＯＢ間に存在するかということだけを確認すればよい。このため、クラスの名前属性やインスタンス集合プロパティなどの近似度を計測する必要がなくなり、クラス間の対応関係を正確に維持しつつ、計算量を減らすことができる。
【００４９】
（２−２）次に、パーソナルオントロジＯＡ、ＯＢ間で各トポロジを形成する子クラス集合Ｘ、Ｙ間の近似度を深さ優先で計算する。ここで、雛形オントロジＯＨを構成するクラスの子クラスの集合をＺとすると、子クラス集合Ｘ、Ｙ間の近似度は、｜Ｘ∩Ｙ｜／｜Ｚ｜にて求めることができる。そして、各トポロジの子クラス集合間の近似度を足し合わせることにより、パーソナルオントロジＯＡ、ＯＢ間でのトポロジの近似度ＳTを計測することができる。
【００５０】
例えば、子クラス集合Ｇ１において、雛形オントロジＯＨには“ｂ１”、“ｂ２”および“ｂ３”という子クラスが含まれているので、子クラス集合Ｇ１における雛形オントロジＯＨの子クラス集合のメンバ数は３となる。また、子クラス集合Ｇ１において、パーソナルオントロジＯＡには“ｂ１”および“ｂ２”という 子クラスが含まれ、パーソナルオントロジＯＢには“ｂ１”、“ｂ２”および“ｂ３”という子クラスが含まれているので、パーソナルオントロジＯＡ、ＯＢに 共通に含まれている子クラスは“ｂ１”およびｂ２”だけとなり、子クラス集合Ｇ１におけるパーソナルオントロジＯＡ、ＯＢの子クラス集合の積集合のメンバ 数は２となる。この結果、パーソナルオントロジＯＡ、ＯＢの子クラス集合Ｇ１間における近似度は２／３となる。
【００５１】
同様に、パーソナルオントロジＯＡ、ＯＢの子クラス集合Ｇ２間における近似度は１／２、子クラス集合Ｇ３間における近似度は０／２、子クラス集合Ｇ４間における近似度は２／２となる。この結果、パーソナルオントロジＯＡ、ＯＢ間でのトポロジの近似度ＳTは２／３＋１／２＋０／２＋２／２となる。
【００５２】
なお、パーソナルオントロジＯＡ、ＯＢ間でのトポロジの近似度の計算でも、雛形オントロジＯＨから割り振られたクラスＩＤを参照し、雛形オントロジＯＨの 接続形態に沿ったものがパーソナルオントロジＯＡ、ＯＢ間に存在するかということだけを確認すればよい。例えば、パーソナルオントロジＯＡ、ＯＢにおけるａ１−ｂ１−ｃ１という接続形態は雛形オントロジＯＨの接続形態と同じであるかどうかは、“ａ１”、“ｂ１”および“ｃ１”というクラスがパーソナルオントロジＯＡ、ＯＢにて保持されているかどうかということを確認するだけで判断することができる。
【００５３】
このため、パーソナルオントロジＯＡ、ＯＢ間のトポロジの一致度を確認するために、パーソナルオントロジＯＡ、ＯＢが持つクラスＩＤを調べるだけでよく、対応クラスを起点として、上下クラスにさらに対応クラスがあるかを調べる必要がなくなり、パーソナルオントロジＯＡ、ＯＢ間でのトポロジの近似度の計算量を減らすことができる。
【００５４】
（２−３）次に、パーソナルオントロジＯＡ、ＯＢの共通クラス間の近似度を計算する。ここで、パーソナルオントロジＯＡ、ＯＢの共通クラス間の近似度を計算する場合、クラスに所属するインスタンス集合を用いることができる。すなわち、あるクラスＣ１において、ソースオントロジのインスタンス集合をｘ、ターゲットオントロジのインスタンス集合をｙ、雛形オントロジＯＨのインスタンス集合をｚとすると、パーソナルオントロジＯＡ、ＯＢの共通クラス間の近似度は、｜ｘ∩ｙ｜／｜ｚ｜にて求めることができる。そして、共通クラス間の近似度を足し合わせることにより、パーソナルオントロジＯＡ、ＯＢのクラス間の近似度ＳCを計測することができる。
【００５５】
例えば、パーソナルオントロジＯＡ、ＯＢ間の共通クラス“ｂ２”において、パーソナルオントロジＯＡの共通クラス“ｂ２”におけるインスタンス集合Ｇ６には、インスタンス“ｎ”が存在し、パーソナルオントロジＯＢの共通クラス“ｂ２”におけるインスタンス集合Ｇ６には、インスタンス“ｎ”が存在し、雛形オントロジＯＨの共通クラス“ｂ２”にはインスタンス“ｎ”が存在している。この結果、雛形オントロジＯＨの共通クラス“ｂ２”のインスタンスのメンバ数は１、パーソナルオントロジＯＡ、ＯＢのインスタンス集合Ｇ６の積集合のメンバ数は１となり、“ｂ２”という共通クラス間の近似度は１／１となる。
【００５６】
また、パーソナルオントロジＯＡ、ＯＢ間の共通クラス“ｃ３”において、パーソナルオントロジＯＡの共通クラス“ｃ３”におけるインスタンス集合Ｇ７に は、インスタンス“ａ”、“ｃ”、“ｂ”および“ｄ”が存在し、パーソナルオントロジＯＢの共通クラス“ｃ３”におけるインスタンス集合Ｇ７には、インスタンス“ａ”、“ｃ”、“ｅ”および“ｆ”が存在し、雛形オントロジＯＨの共通クラス“ｃ３”にはインスタンス“ａ”、“ｅ”、“ｃ”、“ｆ”、“ｂ”、 “ｄ”および“ｇ”が存在している。
【００５７】
この結果、雛形オントロジＯＨの共通クラス“ｃ３”のインスタンスのメンバ数は７、パーソナルオントロジＯＡ、ＯＢのインスタンス集合Ｇ７の積集合のメンバ数は２となり、“ｃ３”という共通クラス間の近似度は２／７となる。従って、パーソナルオントロジＯＡ、ＯＢのクラス間の近似度ＳCは１／１＋２／７となる。
【００５８】
なお、パーソナルオントロジＯＡ、ＯＢの共通クラス間の近似度の計算でも、雛形オントロジＯＨから割り振られたインスタンスＩＤがパーソナルオントロジＯＡ、ＯＢ間に存在するかということだけを確認すればよい。このため、パーソナルオントロジＯＡ、ＯＢのクラス間の近似度を計算するために、インスタンスの名前の一致性などによるインスタンスの対応関係を予め確認する必要がなくなり、計算量を減らすことができる。
【００５９】
（２−４）そして、パーソナルオントロジＯＡ、ＯＢにおけるトポロジの近似度ＳTおよびクラス間の近似度ＳCが求まると、トポロジとクラスに対する重要度に応じた評価関数ｆ（Ｘ）を用いることにより、以下の式（１）にてパーソナルオントロジＯＡ、ＯＢ間の近似度ＳO（ＡＢ）を与えることができる。
【００６０】
ＳO（ＡＢ）＝ＳT＋ｆ（ＳC）…（１）
また、ユーザ毎の興味オントロジを構成するクラス・インスタンスに対する興味度合を示す興味度を導入することで，ユーザの決め細やかな興味を反映し、同じクラス・インスタンスに興味を持つユーザの中でも興味度の近いユーザ間でのコミュニティ形成を試みる。まず興味度の定義を与える。
【００６１】
（２−５−１）１エントリ当たりのユーザの興味度を１とする。
【００６２】
（２−５−２）あるエントリＥiに出現するユーザのクラスおよびインスタンスの種類をＮ（Ｅi）個とすると、そのエントリＥiにおけるユーザの各クラスおよびインスタンスの興味度は１／Ｎ（Ｅi）である。
【００６３】
（２−５−３）オントロジ内の各インスタンスＩiに対する興味度は、ユーザの全蓄積エントリ集合をＥとすると、以下の式（２）で与えられる。
【００６４】
【数１】
2011141666.tif 000003
【００６５】
（２−５−４）オントロジ内の各クラスＣiに対する興味度は、ユーザの全蓄積エントリ集合をＥとすると、以下の式（３）で与えられる。
【００６６】
【数２】
2011141666.tif 000004
【００６７】
（２−５−５）インスタンスの興味度は、そのインスタンスが所属するクラスの興味度に引き継がれ、子クラスの興味度は、親クラスの興味度に引き継がれる。
【００６８】
図５は、図３、図４におけるクラスおよびインスタンスの興味度の一例を示す図である。図５において、ユーザＡの全蓄積エントリには、エントリＥ１、Ｅ２が含まれているものとする。そして、ユーザＡの興味オントロジＯＡには、“オルタナティブ”というクラスが存在し、“オルタナティブ”というクラスには、“Ｍａｄｃｈｅｓｔｅｒ”および“Ｓｈｏｅｇａｚｅ”という子クラスが存在しているものとする。また、オルタナティブ”というクラスには、“ｎｉｒｖａｎａ”というインスタンスが存在し、“Ｍａｄｃｈｅｓｔｅｒ”というクラスには、“Ｎｅｗ Ｏｒｄｅｒ”および“Ｓｔｏｎｅ Ｒｏｓｅｓ”というインスタンスが存在し、“Ｓｈｏｅｇａｚｅ”というクラスには、“Ｍｙ  Ｂｌｏｏｄｙ Ｖａｌｅｎｔｉｎｅ”および“Ｒｉｄｅ”というインスタンスが存在しているものとする。
【００６９】
そして、エントリＥ１では、“Ｓｔｏｎｅ Ｒｏｓｅｓ”、“Ｍｙ  Ｂｌｏｏｄｙ Ｖａｌｅｎｔｉｎｅ”、“ｎｉｒｖａｎａ”および“Ｎｅｗ Ｏｒｄｅｒ”という４アーチストが出現し、エントリＥ２では、“Ｍｙ Ｂｌｏｏｄｙ Ｖａｌｅｎｔｉｎｅ”という１アーチストが再度出現する上に、“Ｓｈｏｅｇａｚｅ”という１ジャンルと、“Ｒｉｄｅ”という１アーチストが出現している。
【００７０】
このため、“Ｎｅｗ  Ｏｒｄｅｒ”というインスタンスの興味度は１／４、“Ｓｔｏｎｅ  Ｒｏｓｅｓ”というインスタンスの興味度は１／４、“Ｍｙ  Ｂｌｏｏｄｙ  Ｖａｌｅｎｔｉｎｅ”というインスタンスの興味度は１／４＋１／３＝７／１２、“Ｒｉｄｅ”というインスタンスの興味度は１／３、“ｎｉｒｖａｎａ”というインスタンスの興味度は１／４となる。
【００７１】
また、“Ｍａｄｃｈｅｓｔｅｒ”というクラスの興味度は、そのクラスの配下の“Ｎｅｗ Ｏｒｄｅｒ”および“Ｓｔｏｎｅ Ｒｏｓｅｓ”というインスタンスの興味度を足し合わせることで求めることができ、１／４＋１／４＝１／２となる。また、“Ｓｈｏｅｇａｚｅ”というクラスの興味度は、そのクラスの配下の“Ｍｙ  Ｂｌｏｏｄｙ Ｖａｌｅｎｔｉｎｅ”および“Ｒｉｄｅ”というインスタンスの興味度を足し合わせることで求めることができ、７／１２＋１／３＋１／３＝５／４となる。さらに、“オルタナティブ”というクラスの興味度は、そのクラスの配下の“ｎｉｒｖａｎａ”というインスタンス、“Ｍａｄｃｈｅｓｔｅｒ”および“Ｓｈｏｅｇａｚｅ”というクラスの興味度を足し合わせることで求めることができ、１／２＋５／４＋１／４＝２となる。
【００７２】
これにより、“Ｍｙ  Ｂｌｏｏｄｙ Ｖａｌｅｎｔｉｎｅ”というにアーチストついては、２つのエントリＥ１、Ｅ２に書き込みがなされているため、ユーザＡの興味が強いということを認識することができる。また、“Ｓｈｏｅｇａｚｅ”というにジャンルついては、そのクラス名もエントリＥ２に出現する上に、その配下のアーチストをエントリＥ１、Ｅ２において頻繁に語っているため、興味度を大きくすることができ、単純に配下にアーチストを多く持っていても、興味としては均等に扱われることを防止することができる。
【００７３】
（３）次に、クラス・インスタンス毎の興味度やクラスの接続形態であるトポロジをも考慮しオントロジ問の近似度を求める本発明の手法である近似度計測アルゴリズムについて図６とともに説明する。
【００７４】
図６において、ユーザＡの興味オントロジＯＡの“ａ１というクラスの直下には、“ｂ１”および“ｂ２”というクラスが存在し、“ｂ２”というクラスの直下には、“ｃ３”および“ｃ４”というクラスが存在しているものとする。また、“ｂ１”というクラスには、“ｍ”および“ｋ”というインスタンスが存在し、“ｂ２”というクラスには、“ｎ”というインスタンスが存在し、“ｃ３”というクラスには、“ａ”、“ｂ”および“ｃ”というインスタンスが存在し、“ｃ４”というクラスには、“ｇ”および“ｈ”というインスタンスが存在しているものとする。
【００７５】
そして、オントロジＯＡにおいて、“ｃ３”というクラスの興味度は１、“ａ”というインスタンスの興味度は２、“ｂ”というインスタンスの興味度は５、“ｃ”というインスタンスの興味度は４であるとすると、“ｃ３”というクラスの配下の興味度は１＋２＋５＋４＝１２となる。
【００７６】
また、オントロジＯＡにおいて、“ｃ４”というクラスの興味度は０、“ｇ”というインスタンスの興味度は２、“ｈ”というインスタンスの興味度は１であるとすると、“ｃ４”というクラスの配下の興味度は０＋２＋１＝３となる。
【００７７】
また、オントロジＯＡにおいて、“ｂ２”というクラスの興味度は１、“ｎ”というインスタンスの興味度は２であるとすると、“ｂ２”というクラスの配下の興味度は１２＋３＋１＋２＝１８となる。
【００７８】
また、オントロジＯＡにおいて、“ｂ１”というクラスの興味度は０、“ｍ”というインスタンスの興味度は３、“ｋ”というインスタンスの興味度は２であるとすると、“ｂ１”というクラスの配下の興味度は０＋３＋２＝５となる。
【００７９】
また、オントロジＯＡにおいて、“ａ１”というクラスの興味度は０であるとすると、“ａ１”というクラスの配下の興味度は５＋１８＝２３となる。また、ユーザＢの興味オントロジＯＢの“ａ１というクラスの直下には、“ｂ１”、“ｂ２”および“ｂ３”というクラスが存在し、“ｂ１”というクラスの直下には、“ｃ１”というクラスが存在し“ｂ２”というクラスの直下には、“ｃ３”および“ｃ４”というクラスが存在しているものとする。また、“ｃ１”というクラスには、“ｌ”というインスタンスが存在し、“ｂ２”というクラスには、“ｎ”というインスタンスが存在し、“ｂ３”というクラスには、“ｄ”というインスタンスが存在し、“ｃ３”というクラスには、“ａ”、“ｃ”および“ｅ”というインスタンスが存在し、“ｃ４”というクラスには、“ｐ”および“ｉ”というインスタンスが存在しているものとする。
【００８０】
そして、オントロジＯＢにおいて、“ｃ３”というクラスの興味度は０、“ａ”というインスタンスの興味度は３、“ｃ”というインスタンスの興味度は３、“ｅ”というインスタンスの興味度は３であるとすると、“ｃ３”というクラスの配下の興味度は３＋３＋３＝９となる。
【００８１】
また、オントロジＯＢにおいて、“ｃ４”というクラスの興味度は１、“ｐ”というインスタンスの興味度は３、“ｉ”というインスタンスの興味度は２であるとすると、“ｃ４”というクラスの配下の興味度は１＋３＋２＝６となる。
【００８２】
また、オントロジＯＢにおいて、“ｂ３”というクラスの興味度は０、“ｄ”というインスタンスの興味度は２であるとすると、“ｂ３”というクラスの配下の興味度は０＋２＝２となる。
【００８３】
また、オントロジＯＢにおいて、“ｂ２”というクラスの興味度は０、“ｎ”というインスタンスの興味度は６であるとすると、“ｂ２”というクラスの配下の興味度は６＋９＋６＝２１となる。
【００８４】
また、オントロジＯＢにおいて、“ｂ１”というクラスの興味度は０であるとすると、“ｂ１”というクラスの配下の興味度は０＋３＝３となる。
【００８５】
また、オントロジＯＢにおいて、“ａ１”というクラスの興味度は０であるとすると、“ａ１”というクラスの配下の興味度は３＋２１＋２＝２６となる。
【００８６】
ここで、オントロジ間の興味一致度の計算に用いる用語を以下のように定義する。親クラスおよび子クラスからなるトポロジをＴ1、クラスとインスタンスからなるトポロジをＴ2とする。さらに、興味オントロジＯＡ、ＯＢの共通クラスをＣiと定義し、共通インスタンスをＩi∈Ｉと定義する。特に、トポロジＴ1に所属するクラス集合をＣ（Ｔ1）、トポロジＴ2に所属するクラス集合をＣ（Ｔ2）とする。また、共通クラスＣiに対する興味一致度をＩ（Ｃi）とし、共通インスタンスＩiに対する興味一致度をＩ（Ｉi）とし、共通クラスＣiの配下の興味一致度をＩt（Ｃi）とする。
【００８７】
（３−１）まず、興味オントロジＯＡ、ＯＢの共通クラスＣiを分析し、両トポロジＴ1、Ｔ2を形成する共通クラスＣiが存在することに注意しながら、トポロジＴ1を形成する共通クラスＣiとトポロジＴ2を形成する共通クラスＣiとを抽出する。例えば、図５の例では、共通クラスａ１、ｂ１、ｂ２はトポロジＴ1を形成し、共通クラスｂ２、ｃ３、ｃ４はトポロジＴ2を形成することができる。
【００８８】
（３−２）共通クラスＣiが興味オントロジＯＡ、ＯＢ間で共通インスタンスＩiを持つとすると、共通インスタンスＩiに対する興味一致度をＩ（Ｉi）は、興味オントロジＯＡ、ＯＢのインスタンスに対する興味度のうち小さい方とする。例えば、図６の例では、共通クラスｃ３の配下の共通インスタンスａに対する興味一致度は興味オントロジＯＡ側の２となる。
【００８９】
（３−３）興味オントロジＯＡ、ＯＢにおける共通クラスＣiに対する興味一致度Ｉ（Ｃi）は、興味オントロジＯＡ、ＯＢのクラスに対する興味度のうち小さい方とすることができる。例えば、図６の例では、共通クラスｃ３に対する興味一致度は興味オントロジＯＢ側の０となる。
【００９０】
（３−４）共通クラスＣi∈Ｃ（Ｔ1）の配下の興味一致度Ｉt（Ｃi）は、興味オントロジＯＡ、ＯＢにおけるクラスＣiの配下の子クラスの積集合をＮ（Ｃi）、和集合をＵ（Ｃi）とすると、以下の式（４）で与えることができる。
【００９１】
【数３】
2011141666.tif 000005
【００９２】
例えば図６の例では、共通クラスｂ２の配下の興味一致度Ｉt（Ｃi）は、（９＋３）／２＝６となる。
【００９３】
そして、以下の式（５）で示すように、トポロジＴ1を形成する全ての共通クラスＣiについての興味一致度Ｉt（Ｃi）を足し合わせた値を、トポロジＴ1を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ1）とすることができる。
【００９４】
【数４】
2011141666.tif 000006
【００９５】
（３−５）一方、共通クラスＣi∈Ｃ（Ｔ2）の配下の興味一致度Ｉt（Ｃi）は、興味オントロジＯＡにおけるクラスＣiの配下のインスタンス集合をＩA（Ｃi）、興味オントロジＯＢにおけるクラスＣiの配下のインスタンス集合をＩB（Ｃi）とすると、以下の式（６）で与えることができる。
【００９６】
【数５】
2011141666.tif 000007
【００９７】
例えば図６の例では、共通クラスｃ３の配下の興味一致度Ｉt（Ｃi）は、（２＋０＋３＋０）／４＝５／４となる。
【００９８】
そして、以下の式（７）で示すように、トポロジＴ2を形成する全ての共通クラスＣiについての興味一致度Ｉt（Ｃi）を足し合わせた値を、トポロジＴ2を形成する共通クラス集合に対する興味一致度Ｓ（Ｔ2）とすることができる。
【００９９】
【数６】
2011141666.tif 000008
【０１００】
（３−６）そして、トポロジＴ1、Ｔ2に対する重要度に応じた評価関数をｆ（Ｘ）とすると、興味度を考慮した興味オントロジＯＡ、ＯＢ間の近似度は、
ＳO（ＡＢ）＝Ｓ（Ｔ1）＋ｆ（Ｓ（Ｔ2））…（８）
で与えることができる。
【０１０１】
これによって、前記抽出されたパーソナルオントロジのトポロジだけでなく、ユーザの興味度を考慮しながら、パーソナルオントロジ間の近似度を計測することにより、個人の興味の強さを考慮しながら単なる文字列ではなく概念間の一致性に基づいて、自分の嗜好に適合した情報を精度よく検索することが可能となる。
【０１０２】
図７は、本発明の一実施形態に係る興味オントロジの近似性を利用したコミュニティ形成方法を示す図である。
【０１０３】
図７において、各ユーザＡ、ＢのブログエントリＰＡ、ＰＢを雛形オントロジに対してそれぞれ分類することにより、各ユーザＡ、Ｂの興味オントロジＫＡ、ＫＢがそれぞれ生成されたものとする（ステップＳ１１）。そして、各ユーザＡ、Ｂの興味オントロジＫＡ、ＫＢ間の近似度を計測し（ステップＳ１２）、近似度の高い興味オントロジＫＡ、ＫＢ間で共起するクラスやインスタンスを分析することで、トポロジが異なるにも関わらず興味を持つ可能性が高い情報を他のユーザのエントリを介して意外な情報としてユーザに推奨することができる（ステップＳ１３）。
【０１０４】
例えば、各ユーザＡ、Ｂの興味オントロジＫＡ、ＫＢ間の近似度を計測することにより、“Ｍａｄｃｈｅｓｔｅｒ”などのクラスや“Ｈａｐｐｙ  Ｍｏｎｄａｙｓ”などのインスタンスに興味を持つユーザは、“Ｇｌａｓｇｏｗ”というクラスや“Ｔｅｅｎａｇｅ  Ｆａｎｃｌｕｂ”というインスタンスにも興味を持つ可能性が高いことが判る。
【０１０５】
また、このような興味オントロジＫＡ、ＫＢをブログに適用することで、単純なキーワード検索ではなく、興味オントロジＫＡ、ＫＢ間の近似度に基づく意外なエントリ推薦によるコミュニティの形成を支援することができ、ユーザの興味を自然に広げることができる（ステップＳ１４）。
【０１０６】
＜ユーザ興味相関グラフ生成器２０（ステップＳ２００）＞
（４）次にユーザ興味相関グラフ生成器２０は、前記計測されたユーザ興味類似度に基づいて、ユーザをノードとし興味の類似するユーザ間にエッジを引くことでユーザグラフ（ユーザ興味相関グラフ）を生成する。そのグラフ生成処理は図８のフローチャートに沿って実行される。
【０１０７】
（４−１）図８において、まずステップＳ２０１では、前記図３〜図７で述べた類似度計測法により計測されたユーザ毎の類似度を取得する。次にステップＳ２０２では、ユーザｕiから見て類似度の高いＸ人のユーザｕjとの間にリンクを引く。このパラメータＸの決定は重要である。ユーザＡと興味の近いユーザを、前述した、類似度計測法で計算した後、類似度が高いユーザ順に、ユーザの持つインスタンスの種類をカウントしていく。そして、ユニークなインスタンスの種類数を、類似度が高いユーザ集合で足しこんでいったときに、ある点で急激にインスタンスの種類が増えた場合に、ユーザＡとの興味が大きくずれたと考え、その手前のユーザまでを、興味が類似するユーザ集合（Ｘ人からなる）であると定義する。
【０１０８】
（４−２）次にステップＳ２０３では、エッジに、ユーザｕiからみたｕjの類似度を正規化した値を重みとして与える。この正規化の方法は、ユーザｕiからみて、最も類似度が低いユーザの類似度をａとし、最も類似度が大きいユーザの類似度をｂとすると、ｕjとｕiの間のエッジの重みは、
｛ｓｃｏｒｅ（ｕj）−ａ｝／（ｂ−ａ）…（９）
で与えられる。
【０１０９】
＜推薦スコア計算器３０（ステップＳ３００）＞
（５）次に推薦スコア計算器３０は、前記ユーザ興味相関グラフ生成器２０により生成されたユーザグラフ上を、アクティブユーザａの持つ興味アイテムを起点としてランダムウォークさせ、たどったユーザの持つ興味アイテム（ユーザの興味対象コンテンツ）を推薦対象リストとし、そのコンテンツの出現回数と、エッジのスコアを基に、興味対象コンテンツの推薦スコアを計算する。
【０１１０】
前記ランダムウォークは、非特許文献２の３章に記載のランダムウォークに基づくグラフベースの協調フィルタリングを利用するものであるが、本実施形態例では、ランダムウォークにおけるマルコフ遷移行列の要素に、前記図３〜図７で述べたタクソノミに基づく類似度計算に基づいたユーザ興味の類似度を代入することで実施される。
【０１１１】
＜推薦アイテムの所属クラスタ特定器４０（ステップＳ４００）＞
（６）次に推薦アイテムの所属クラスタ特定器４０は、前記ユーザ興味相関グラフ生成器２０により生成されたユーザグラフをクラスタリングし、該クラスタリング結果に基づいて、推薦アイテムおよびそのアイテムの背景情報を含む推薦リストを作成する。その処理は図９のフローチャートに沿って実行される。
【０１１２】
（６−１）図９において、まずステップＳ４０１では、ユーザ興味相関グラフ生成器２０により生成されたユーザグラフを取得する。次にステップＳ４０２では、非特許文献３に記載の方法を、前記取得したユーザグラフに適用して、例えばＧＮ法によりクラスタリングを実施する。
【０１１３】
すなわち、ユーザグラフ内の全てのエッジについてｂｅｔｗｅｅｎｎｅｓｓ（クラスタ間のエッジは高い値となり、クラスタ内のエッジは低い値となる指標）を計算し、最も高いｂｅｔｗｅｅｎｎｅｓｓを持つエッジを取り除き、残りの全てのエッジについて再びｂｅｔｗｅｅｎｎｅｓｓを計算する手順を繰り返し行なう。
【０１１４】
前記非特許文献に記載の方法ではクラスタリングを適用するグラフに対する重みを考慮していないが、本実施形態例におけるクラスタリングは、エッジに重みがあるグラフに対し適切なクラスタを生成するものである。
【０１１５】
また、本実施形態例のクラスタリングにおける新規点は、ユーザグラフのエッジ数を、前記図８のステップＳ２０２で説明したパラメータＸによって制御できる点である。
【０１１６】
（６−２）次にステップＳ４０３〜Ｓ４０６では、前記ステップＳ４０２のクラスタリングの結果を利用して推薦アイテムおよびそのアイテムの背景情報を生成し、それら推薦アイテムおよび背景情報を前記推薦スコア計算器３０により決定された推薦対象リストに反映させて推薦リストとして出力する。
【０１１７】
すなわち、ステップＳ４０３ではユーザ毎の所属クラスタを識別し、ステップＳ４０４では各クラスタの中心ユーザを識別し、ステップＳ４０５では各クラスタの持つクラスを識別し、ステップ４０６では推薦アイテムおよび背景情報を推薦リストに反映させ、出力する（ユーザに提示する）。
【０１１８】
前記推薦アイテムの背景情報提示の実施態様は次のとおりである。  
【０１１９】
すなわち、前記クラスタリング結果を利用し、ランダムホップした先で発見されたインスタンスが自分が所属するクラスタにも存在するものであるのか？もし、そうでないならば、どのクラスタから発見されたものなのか？を明示する。
【０１２０】
明示する方法としては、まず、（１）異なるクラスタからのみ発見されるものであるという情報を提示する。（２）どのクラスタからか、ということに関しては、発見基クラスタの中でもエッジを多く持つ中心ユーザ（もしくは、そのユーザの持つ、インスタンス集合）を例示することで、どういう情報かを明示する。さらに、そのクラスタの持つインスタンスセット全てを提示するのは、被推薦ユーザが受ける情報量が多すぎるため、そのクラスタが多く持つクラスの情報を提示する。
【０１２１】
図１０は、推薦アイテムの所属クラスタ特定器４０から出力される推薦リストの一例を示している。図１０において、「Ａｒｔｉｓｔ  ａ〜ｄ」は推薦ランキング上位から下位のインスタンス（推薦コンテンツ）であり、()内の「Ａさんの持たない（又は持つ）クラス」は、当該推薦コンテンツが、自分が所属するクラスタにも存在するか否かを表し、「ａｎｄ  ｃｌｕｓｔｅｒ  Ｃ２〜Ｃ４」はどのクラスタから発見されたかを表し、「中心ユーザＢ〜Ｅ」は発見されたクラスタの中でもエッジを多く持つ中心ユーザ名を表している。
【０１２２】
本発明の実施形態例のように、タクソノミに基づくユーザ興味を使うことによる、ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍ（スパース問題）への効果は次のとおりである。
【０１２３】
タクソノミに基づくユーザ興味を、特に、推薦システムにおいて、ユーザの興味をシステムが十分に把握していない段階（ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍが発生しやすい状態ともいえるし、多様な興味を持つユーザのユーザ興味をシステムが一部しか把握できていない状態ともいえる）において、特に有効利用できることを、図１１のグラフを用いて示す。
【０１２４】
図１１は、ある情報推薦システムが把握しているユーザ興味を、システムが１／１０から９／１０まで把握している状況の１０種類に分け、それぞれにおいて、残り９／１０から１／１０まで、システムが被推薦ユーザに、適したコンテンツを推薦できているかどうかを計算したものであり、Ａｍａｚｏｎなどで使われている一般的な協調フィルタリング（非特許文献５参照）と、本発明のタクソノミに基づくユーザ興味、およびその類似度を基に、推薦を実施した場合との比較を行ったものである。
【０１２５】
図１１（ａ）は全ユーザ（３５００人）を対象とした場合、図１１（ｂ）は興味が少ないユーザ（２９００人）を対象とした場合の各比較検証を表し、実線は本発明による推薦誤差を示し、破線はＡｍａｚｏｎなどの従来技術による推薦誤差を示している
図１１（ａ）によると、ユーザ興味をシステムが把握できていない場合（Ｘ軸が小さい場合）において、特に、推薦誤差（平均絶対誤差ＭＡＥ）が小さいことがわかる。
【０１２６】
また図１１（ｂ）によると、ユーザ興味の量が少ない（システムが把握できていない）ユーザに焦点をあてると、常にＭＡＥがよいことがわかる。
【０１２７】
このことより、本発明の手法は、ユーザ興味をシステムが十分に把握できていない場合に有効であることがわかる。
【０１２８】
次に、ユーザグラフにおけるランダムウォークを用いた推薦システムに対しても、本発明のタクソノミを用いたユーザ興味を用いて推薦精度を検証した。前記と同様に、あるシステムが把握しているユーザ興味をシステムが１／１０から９／１０まで把握している状況の１０種類に分け、それぞれにおいて、残り９／１０から１／１０まで、システムが被推薦ユーザに、適したコンテンツを推薦できているかどうかを計算した。
【０１２９】
インスタンスのみのマッチングを用いた従来手法では、特に、ユーザの興味をシステムが把握していない場合、ユーザ間を結ぶエッジの数が減る。一方、タクソノミを用いた場合は、インスタンスのみでなく、クラスでも繋がるユーザであれば、エッジが引かれる可能性がある。
【０１３０】
検証結果では、グラフベースにおいても、特に、リスタートのパラメータを０．４から０．６程度にした（つまり、ほどほどにｒｅｓｔａｒｔｓする）場合で、かつ、ユーザ興味をシステムが、１／１０から４／１０程度しか把握できていない場合、本発明の手法の方が精度がいいことがわかった。さらに、前記グラフベースの場合よりも、精度（ＭＡＥを基にした）はさらによい。このことから、本発明の手法は、グラフベースにおいて、さらに、ユーザの潜在興味を発見するのに適していることがわかる。
【０１３１】
また、本実施形態の興味情報推薦装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の興味情報推薦方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＨＤＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【産業上の利用可能性】
【０１３２】
今後の産業発展の基盤の一つである情報通信システムは、現在急激な成長の過程にあるが、膨大な量に拡大した情報通信によるアクセス可能な情報源を充分に活用出来ているかどうかが現在大問題になっている。本発明は、パーソナルオントロジを簡易に作成して自己の興味にマッチングする情報を個人毎が興味を持つ対象、およびその対象への個人の思い入れの強さまで考慮したパーソナライゼーションを行ったうえで、パーソナライズされた興味オントロジ間の近さに基づく情報推薦やコミュニティ形成を行うことができ、情報通信システムのもつ情報源から自己の興味にマッチングする情報を自動的にあるいは効率的に活用できるようになる可能性がある。
【符号の説明】
【０１３３】
１…通信網
２〜４…端末
５…サーバ
６…雛形オントロジ
７〜９…ブログサイト
１０…ユーザ興味類似度計測器
２０…ユーザ興味相関グラフ生成器
３０…推薦スコア計算器
４０…推薦アイテムの所属クラスタ特定器
【図１】
2011141666.tif 000009
【図２】
2011141666.tif 000010
【図３】
2011141666.tif 000011
【図４】
2011141666.tif 000012
【図５】
2011141666.tif 000013
【図６】
2011141666.tif 000014
【図７】
2011141666.tif 000015
【図８】
2011141666.tif 000016
【図９】
2011141666.tif 000017
【図１０】
2011141666.tif 000018
【図１１】
2011141666.tif 000019