説明

興味分析方法及び興味分析装置

【課題】概念出現の希少性を利用してユーザの興味を高精度に推定すること。
【解決手段】特徴スコア算出部120は、複数のコンテンツを一覧として閲覧した第1のコンテンツリストと、そこからコンテンツ本体を閲覧した第2のコンテンツリストとをクラスタ化し、クラスタ毎に、第1のコンテンツリスト及び第2のコンテンツリストから分析パラメータS、N、a、nを求め、S、N、aの条件下で、第2のコンテンツリストに概念の出現するコンテンツの数が、n以上となる第1の確率及びn以下となる第2の確率を算出し、第1の確率及び第2の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出する。概念体系更新処理部130は、クラスタ毎に算出した特徴スコアを用いて概念に対するユーザ興味スコアを更新する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、コンテンツ閲覧履歴等からユーザの興味を分析する興味分析方法及び興味分析装置に関する。
【背景技術】
【0002】
ユーザの行動や状況に合わせて適切なサービス・コンテンツをレコメンドする技術が望まれている。このため、書籍通販サイトにて、サイト内での書籍情報閲覧履歴からユーザの興味を推定して書籍をレコメンドする等、履歴情報からユーザの興味を推定する技術が提案されている。このような方法において、各コンテンツに内容をサマライズするメタ情報が付与されていることを前提として、ユーザ履歴において出現する概念等の頻度からユーザの興味を推定する方法は、内容ベースフィルタリング手法(Content Based Filtering: CBF)で、特にメモリベース手法として研究が進められている。
【0003】
具体的に、内容ベースフィルタリング技術とは、例えば特定ブランド(ブランドを示す情報を概念タグとして保持)の商品を閲覧した場合に、同じブランドの商品(同じ概念タグを保持)を提示する。この場合の、メモリベース手法は、過去に閲覧した履歴から、特定ブランドを頻繁に閲覧していれば、特定ブランドの商品を提示することとなる。単純な方法では、閲覧履歴により多く出現した概念タグに関連する商品を提示することとなる。このような手法においてタクソノミ(オントロジ)を利用した方法としては、例えば、非特許文献1の「操作履歴を用いた多面的嗜好把握方法の提案」がある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「操作履歴を用いた多面的嗜好把握方法の提案」,信学技報,vol. 110, no. 450, LOIS2010-76, pp. 67-72, 2011年3月
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、従来技術では、ユーザのコンテンツ閲覧履歴において、当該概念のコンテンツ出現数を指標化した数値によって推定を行っていた。しかし、この場合、コンテンツを選択した事実のみが入力となるため、ユーザが特定概念を持つコンテンツを比較的“選ばない”という特徴を活かすことができなかった。
【0006】
この発明は上記事情に着目してなされたもので、その目的とするところは、概念出現の希少性を利用してユーザの興味を高精度に推定できる興味分析方法及び興味分析装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明は、上記目的を達成するために、以下のような手段を講じている。
本発明の第1の態様は、コンピュータによって複数の概念に対するユーザ興味スコアを体系化した概念体系を用いてユーザの興味を分析する方法及び装置であって、複数のコンテンツを一覧として閲覧した第1のコンテンツリストと、前記第1のコンテンツリストからコンテンツの本体を閲覧した第2のコンテンツリストとをクラスタ化し、前記クラスタ毎に、前記第1のコンテンツリストのコンテンツの総数を第1の総数と、前記第1のコンテンツリストにおいて前記概念が出現するコンテンツの数を第1の出現数と、前記第2のコンテンツリストのコンテンツの総数を第2の総数と、前記第2のコンテンツリストにおいて前記概念が出現するコンテンツの数を第2の出現数としたとき、前記第1の総数、前記第1の出現数、及び前記第2の総数の条件下で、前記第2のコンテンツリストに前記概念が出現するコンテンツの数が、前記第2の出現数以上となる第1の確率及び前記第2の出現数以下となる第2の確率を算出し、前記第1の確率及び前記第2の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出し、前記第1の確率及び前記第2の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出する算出し、前記クラスタ毎に算出した特徴スコアを用いて前記概念に対する前記ユーザ興味スコアを更新することを特徴とする。
【0008】
すなわち、第1の態様によれば、ユーザの選択候補となる第1のコンテンツリストにおける各概念が出現する第1のコンテンツ数と、第1のコンテンツリストからユーザが選択した第2のコンテンツリストにおける各概念が出現する第2のコンテンツ数とを算出し、この第1のコンテンツ数および第2のコンテンツ数を比較分析することで、各概念の出現の希少性を考慮し、且つ選択候補のコンテンツに付与されている概念が、比較的に「選ばれる」という事象だけでなく、比較的に「選ばれない」という事象の出現数の特徴を活用することができるため、ユーザの興味を高精度に推定することが可能となる。
【0009】
本発明の第2の態様は、前記第1の態様の前記更新ステップにおいて、前記第2コンテンツに関するユーザの操作履歴、前記コンテンツの閲覧時間及び閲覧状況、並びに前記第2コンテンツと前記概念との関連度の少なくとも1つに応じて前記特徴スコアを重み付けすることをさらに特徴とするものである。
第2の態様によれば、ユーザ興味スコアの算出に際し、閲覧時のユーザの状況や閲覧操作の特徴(お気に入り登録、長時間閲覧等)などを反映することで、ユーザの行動や状況に基づいてユーザ興味スコアをさらに的確に求めることが可能となる。
【0010】
本発明の第3の態様は、前記第1の態様の前記算出ステップにおいて、前記第1の確率及び前記第2の確率を超幾何分布により求めることを特徴とするものである。
第3の態様によれば、前記第2の確率を超幾何分布により求めることで、ユーザが特定概念を持つコンテンツを偶然と比べて比較的”選ぶ”という特徴だけでなく、ユーザが特定概念を持つコンテンツを偶然と比べて比較的“選ばない”という特徴を活用して、精度良くユーザの興味スコアを求めることが可能となる。
【0011】
本発明の第4の態様は、前記第1の態様において、前記概念体系が前記概念間の上位概念、下位概念の関係情報を有する場合に、前記第1のコンテンツリスト及び前記第2のコンテンツリストのコンテンツに出現する出現概念の上位概念を前記概念体系から抽出し、前記上位概念が当該コンテンツに出現するものとみなして前記上位概念に対するユーザ興味スコアを更新することをさらに特徴とするものである。なお、前記概念体系の前記関係情報は、多数の前記概念が相互に関連を持つことでグラフ構造を持つことができる。グラフ構造を持つ場合は、各前記概念の直接の上位概念を「親概念」、直接の下位概念を「子概念」とよぶ。
【0012】
第4の態様によれば、タクソノミ(オントロジ)などとして定義された概念関係性を表現する体系を用いたコンテンツ閲覧履歴分析において、コンテンツに出現した概念だけでなく、上位概念が付与されたコンテンツについても統計的な観点で合理的かつ的確に分析可能となる。
【0013】
本発明の第5の態様は、前記第4の態様において、前記出現概念の下位概念及び前記上位概念の下位概念を前記概念体系から抽出し、前記出現概念のユーザ興味スコア及び前記上位概念のユーザ興味スコアを用いて前記下位概念のユーザ興味スコアを更新することをさらに特徴とするものである。
第5の態様によれば、さらに、コンテンツに出現した概念及び上位概念だけでなく、これらの下位概念についても合理的かつ的確に分析可能となる。
【0014】
本発明の第6の態様は、前記第1の態様において、1つ以上の概念が出現するコンテンツについて、前記コンテンツに出現する各概念の前記ユーザ興味スコアを用いて、前記コンテンツに対するユーザの評価スコアを算出する評価ステップをさらに有することを特徴とするものである。
第6の態様によれば、前記ユーザ興味スコアを用いてコンテンツに対するユーザの評価スコアを算出することで、ユーザの興味に合ったコンテンツを推薦することが可能となる。
【0015】
本発明の第7の態様は、前記第6の態様の前記評価ステップにおいて、前記コンテンツと各概念との関連度及び各概念の重要度の少なくとも1つに応じて前記ユーザ興味スコアを重み付けすることをさらに特徴とするものである。
第7の態様によれば、前記評価スコアの算出に際し、コンテンツと各概念との関連度や及び各概念の重要度などを反映することで、さらに精度良く評価スコアを算出することが可能となる。
【発明の効果】
【0016】
すなわちこの発明によれば、概念出現の希少性を利用してユーザの興味を高精度に推定可能な興味分析方法及び興味分析装置を提供することができる。
【図面の簡単な説明】
【0017】
【図1】本実施形態に係る興味分析装置を用いたシステム全体図。
【図2】図1の各装置の機能構成を示すブロック図。
【図3】興味分析装置の処理概要を示す図。
【図4】クライアント端末上でのコンテンツ閲覧操作の一例を示す図。
【図5】一覧閲覧コンテンツリストのデータ構成例を示す図。
【図6】詳細閲覧コンテンツのデータ構成例を示す図。
【図7】提示コンテンツリストのデータ構成例を示す図。
【図8】コンテンツデータベースの一例を示す図。
【図9】概念体系/ユーザ興味スコアデータベースの一例を示す図。
【図10】履歴情報受信部の処理フローを示す図。
【図11】特徴スコア算出部の処理フローを示す図。
【図12】分析パラメータリストのデータ構成例を示す図。
【図13】特徴スコア算出部の動作を説明するための模式図。
【図14】特徴スコア算出処理の詳細を示す図。
【図15】概念体系更新処理部の処理フローを示す図。
【図16】概念体系更新処理の詳細を示す図。
【図17】コンテンツ評価処理部の処理フローを示す図。
【図18】コンテンツスコアリストの一例を示す図。
【図19】コンテンツ評価処理の詳細を示す図。
【図20】コンテンツ要求データの一例を示す図。
【発明を実施するための形態】
【0018】
以下、図面を参照してこの発明の実施の形態について詳細に説明する。
図1は、本実施形態に係る興味分析装置を用いたシステム全体図である。このシステムは、クライアント端末200と、コンテンツサーバ300と、興味分析装置100を備える。クライアント端末200とコンテンツサーバ300との間、及びコンテンツサーバ300と興味分析装置100との間はそれぞれ通信ネットワークで接続される。ユーザは、クライアント端末200上での閲覧操作により、所望のコンテンツをコンテンツサーバ300から取得し、取得したコンテンツをクライアント端末200の画面に提示して閲覧する。
【0019】
クライアント端末200は、ユーザ操作によるコンテンツ閲覧履歴を収集し、複数のコンテンツを一覧として閲覧した一覧閲覧コンテンツリスト(第1のコンテンツリスト)と、コンテンツの一覧からコンテンツの本体を閲覧した詳細閲覧コンテンツリスト(第2のコンテンツリスト)とをコンテンツサーバ300に送信する。コンテンツサーバ300は、この一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを、通信ネットワークを介して興味分析装置100に転送する。
【0020】
興味分析装置100は、この一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストをもとに、コンテンツに出現する各概念に対する特徴スコア及びユーザ興味スコアを算出し、ユーザの興味を推定する。興味分析装置100は、このユーザ興味スコアに基づいて、コンテンツサーバ300から受け取った「提示コンテンツリスト」から、ユーザの興味に合わせてソートを行ったコンテンツのリスト(ソート済み提示コンテンツリスト)を生成し、コンテンツサーバ300に送信する。
【0021】
図2は、図1の各装置の機能構成を示すブロック図である。
興味分析装置100は、履歴情報受信部110、特徴スコア算出部120、概念体系更新処理部130、概念体系/ユーザ興味スコアデータベース140、提示コンテンツリスト受信部150、コンテンツデータベース160、コンテンツ評価処理部170、及びソート済みコンテンツスコアリスト送信部180を備える。
【0022】
図3は、興味分析装置100の処理概要を示したものである。
履歴情報受信部110は、クライアント端末200からの一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストをコンテンツサーバ300を介して受信する。一覧閲覧コンテンツリストとは、例えば、ユーザがコンテンツのタイトルのみを一覧で閲覧したコンテンツのリストである。詳細閲覧コンテンツリストとは、ユーザがコンテンツ本体の内容(詳細)を閲覧したコンテンツのリストである。例えば、図3において、一覧閲覧コンテンツリストには、コンテンツ1〜8が含まれ、詳細閲覧コンテンツリストには、コンテンツ1,3,4が含まれる。また、図3において、斜線パターンで示すコンテンツは、概念Bがコンテンツ1,6,7,8に出現することを示す。
【0023】
特徴スコア算出部120は、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを利用して概念選択の統計モデルにより各概念の特徴スコア(後述するZ値)を算出する。
概念体系更新処理部130は、上記特徴スコアを用いて概念体系における概念間の関係情報(上位概念及び下位概念)に基づいて各概念に対するユーザ興味スコアを更新する。概念体系のグラフに含まれるノードは概念を表し、リンクは概念間の関係を表す。ユーザ興味スコアは、概念体系における各概念に対応するノードの値として保持する。概念体系において、上位に位置するノードほど抽象的な概念を表し、下位に位置するノードほど具体的な概念を表す。概念体系及び概念ID(ノード毎に付与される識別子)は、サービス運用者等が事前に設計し定義するものとする。
【0024】
コンテンツ評価処理部170は、評価コンテンツに出現する各概念のユーザ興味スコアを利用して確率結合によってコンテンツに対するユーザの評価スコアを算出する。図3の例では、コンテンツ1に出現する概念E,F,Dのユーザ興味スコアを用いてコンテンツ1の評価スコアを求めている。興味分析装置100の詳しい動作説明は後述する。
【0025】
図2において、クライアント端末200は、履歴収集部210、履歴情報送信部220、コンテンツ提示部230、及びコンテンツ要求送信部240を備える。
コンテンツ要求送信部240は、ユーザの指示(入力)によりコンテンツサーバ300に対して、コンテンツの提示要求を行う。具体的には図20のようなコンテンツ要求データをコンテンツサーバ300に送信する。例えば、コンテンツ要求データは、クライアント端末ID(もしくはユーザID)及び要求時刻を有する。なお、要求時刻は、コンテンツサーバ300において追加するようにしてもよい。クライアント端末ID(もしくはユーザID)は、端末(もしくはユーザ)毎に一意に付与される数字であって、後述する概念体系/ユーザ興味スコアデータベース140のユーザ興味スコアテーブルのユーザIDと一致するIDである。
【0026】
図4は、クライアント端末200上でのユーザによるコンテンツ閲覧操作の一例を示したものである。
コンテンツ提示部230は、コンテンツサーバ300から受信したソート済み提示コンテンツリストをもとに、クライアント端末200の表示画面サイズが許容する範囲でソート順の上位から一覧として表示を行う。
【0027】
図4の例では、10個のコンテンツ(コンテンツ1〜10)が一覧表示されている。ユーザのフリック、スクロールバーの操作等で一覧によりソート順下位のコンテンツが表示することができる。このように実際にクライアント端末200に表示されたコンテンツのリストを一覧閲覧コンテンツリストとする。つまり、ソート済み提示コンテンツリスト内のすべてのコンテンツがクライアント端末200で表示されるとは限らないため、一覧閲覧コンテンツリストに含まれるとは限らない。ユーザがこの一覧から各コンテンツのタイトルをクリック操作等で選択すると、選択されたタイトルのコンテンツ(図4のコンテンツ3,5,6)の本体(詳細)を閲覧することができる。この詳細を閲覧したコンテンツを、詳細閲覧コンテンツリストに含む。
【0028】
履歴収集部210は、上述したように、ユーザの操作履歴を収集して一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを作成する。履歴情報送信部220は、履歴収集部210により作成された一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストをコンテンツサーバ300に送信する。
【0029】
図5に、上記図4の場合の一覧閲覧コンテンツリストのデータ構成例を示す。一覧閲覧コンテンツリストは、クラスタID、コンテンツID、及び閲覧時刻を有する。クラスタとは、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストに一意に付与される識別子(図5では“1”)である。別の時刻(時間帯)に表示した一覧閲覧コンテンツをユーザが閲覧した場合は、別のクラスタIDが付与される。なお、時刻以外の条件でクラスタIDを新たに付与する条件としては、一覧閲覧コンテンツリスト表示中に一定時間操作が無かった場合や、閲覧するユーザ(ユーザID)を切り替えた場合、一覧閲覧コンテンツリストに対して、コンテンツジャンル等を観点に絞り込み検索を掛けた場合、その他閲覧アプリケーションにおいて閲覧モードを切り替えた場合がある。コンテンツIDは、一覧閲覧コンテンツの各コンテンツに一意に付与された識別子であり、後述するコンテンツデータベース160が保持する値と一致するものとする。
【0030】
図6は、上記図4の場合の詳細閲覧コンテンツリストのデータ構成例を示したものである。詳細閲覧コンテンツリストは、上記一覧閲覧コンテンツリストと同様に、クラスタID、コンテンツID、及び閲覧時刻を有する。クラスタIDは、一覧閲覧コンテンツリストと同一の値とする(図6では“1”)。コンテンツID及び閲覧時刻は、詳細閲覧コンテンツリストでは、ユーザが一覧閲覧コンテンツから選択して詳細を閲覧したコンテンツ(図6ではコンテンツ3,5,6)の識別子及び当該コンテンツを閲覧した時刻となる。
【0031】
上記図2において、コンテンツサーバ300は、コンテンツ送信処理部310、ソート済み提示コンテンツリスト受信部320、提示コンテンツリスト送信部330、提示コンテンツリスト入力部340、履歴情報転送部350、及びコンテンツ要求転送部360を備える。
【0032】
履歴情報転送部350は、クライアント端末200から受信した一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを通信ネットワークを介して興味分析装置100に転送する。
提示コンテンツリスト入力部340には、サービス運用者により、ユーザの利用するクライアント端末200に提示するコンテンツを一覧にした提示コンテンツリストが入力される。提示コンテンツリスト送信部330は、上記入力された提示コンテンツリストを興味分析装置100へ通信ネットワークを介して送信する。
【0033】
図7に、提示コンテンツリストのデータ構成例を示す。提示コンテンツリストは、コンテンツID、概念ID/関連度リスト、コンテンツ本体、及びコンテンツ登録時刻を有する。コンテンツIDは、各コンテンツに対してコンテンツサーバ300にて付与される一意のIDである。概念ID/関連度リストは、コンテンツに出現する概念の概念ID及び当該概念とコンテンツと関連性の程度を示す値のセットが格納される。概念ID/関連度リストは、コンテンツ毎に予め設定されており、具体例としては、コンテンツ1(スポーツ記事)には、{“野球”の概念ID=1,関連度=0.5}、{“サッカー”の概念ID=2,関連度=0.8}、{“ゴルフ”の概念ID=3、関連度=0.6}…のように、概念IDと関連度のセットが格納される。
【0034】
なお、概念IDは、概念体系/ユーザ興味スコアデータベース140に格納される値と一致する。関連度は、例えば、0から1までの値とし、大きいほど関連性が強いものとする。関連度は、サービス運用者がコンテンツ登録時に設定する値、若しくは別システムにより算出される値を利用する。
【0035】
ソート済み提示コンテンツリスト受信部320は、興味分析装置100から提示コンテンツリストの一部又は全部をソートしたソート済み提示コンテンツリストとクライアント端末ID(もしくはユーザID)を受信する。コンテンツ送信処理部310は、ソート済み提示コンテンツリストをクライアント端末ID(もしくはユーザID)に該当するクライアント端末200に送信する。
コンテンツ要求転送部360は、クライアント端末200のコンテンツ要求送信部240からのコンテンツ提示要求であるコンテンツ要求データ(図20)を興味分析装置100に転送する。
【0036】
次に、興味分析装置100の各部の詳細について説明する。
[コンテンツデータベース160]
図8にコンテンツデータベース160のデータ構造の一例を示す。コンテンツデータベース160は、コンテンツテーブルと、ユーザ履歴テーブルとを有する。
【0037】
コンテンツテーブルは、コンテンツID、概念ID/関連度リスト、コンテンツ本体、及びコンテンツ登録時刻を格納する。提示コンテンツリスト受信部150で受信した値が格納される。
ユーザ履歴テーブルは、コンテンツID、ユーザID(クライアント端末ID)、詳細閲覧総数、詳細閲覧時刻、一覧閲覧総数、一覧閲覧時刻、及び一覧非表示フラグを格納する。詳細閲覧時刻は、詳細閲覧総数が0の場合はnull、1以上であれば各閲覧の時系列による閲覧時刻のリストを格納する。一覧閲覧時刻は、一覧閲覧総数が0の場合はnull、1以上であれば各閲覧の時系列による閲覧時刻のリストを格納する。一覧非表示フラグは、まだユーザにクライアント端末の画面上で一覧としても表示/視認していない場合はfalse、一度でも閲覧した場合はtrueを格納する。ユーザ履歴テーブルおいては、ユーザID毎に全コンテンツIDの値を保持する。詳細閲覧総数及び一覧閲覧総数は、上記クラスタIDで示される一覧閲覧コンテンツリストが多数受信された場合には過去の履歴の累計を格納する。
【0038】
例えば、このユーザ履歴テーブルのデータを利用することで、ユーザの閲覧回数に応じて、コンテンツについて、今後の評価(コンテンツ評価処理部170での処理時)で評価スコアを下げるようにする。評価スコアの低減方法としては、あるコンテンツに対する閲覧回数をkとしたとき、当該コンテンツの評価スコアをk+1で割る、或いは評価スコアに重み(例えば0.9)のk乗を乗算するなどがある。この処理により、同じコンテンツの反復提示を興味との一致度を加味して低減することができるためユーザの推薦に対する満足度を向上することができる。
【0039】
[概念体系/ユーザ興味スコアデータベース140]
図9に概念体系/ユーザ興味スコアデータベース140のデータ構造の一例を示す。概念体系/ユーザ興味スコア160は、ルート概念ノードIDと、概念体系テーブルと、ユーザ興味スコアテーブルとを有する。
【0040】
ルート概念ノードIDとは、概念体系構造において最上位にある概念ノードIDである。システム内に1つだけ存在する。
概念体系テーブルは、自概念ID、親概念IDリスト、及び子概念IDリストを格納する。概念体系内の全ての自概念IDは、親概念ID及び子概念ID(ただし、自概念が最下位の場合には子概念IDは無し)と紐付けて保存されており、これにより概念構造が定義される。
ユーザ興味スコアテーブルは、概念ID、ユーザID(クライアント端末ID)、TotalZ(ユーザ興味スコア)、X、及びYの値を格納する。TotalZ、X、及びYの定義及び算出方法は後述する。
【0041】
[提示コンテンツリスト受信部150]
提示コンテンツリスト受信部150は、コンテンツサーバ300から上記図7のような提示コンテンツリストを受信し、コンテンツデータベース160に保存する。
【0042】
[履歴情報受信部110]
図10に、履歴情報受信部110の処理フローを示す。
(ステップS11:履歴データ受信)
履歴情報受信部110は、コンテンツサーバ300の履歴情報転送部350から通信ネットワークを介してクライアント端末ID(もしくはユーザID)、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストを受信し、特徴スコア算出部120へ出力する。
【0043】
[特徴スコア算出部120]
図11に、特徴スコア算出部120の処理フローを示す。特徴スコア算出部120には、履歴情報受信部110からクライアント端末ID(もしくはユーザID)、一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリストが入力される。
【0044】
(ステップS12:出現概念抽出)
特徴スコア算出部120は、詳細閲覧コンテンツリスト内の各コンテンツに出現する概念IDをコンテンツデータベース160から抽出する。具体的には、図6の詳細閲覧コンテンツリストにおいて、各コンテンツIDに紐付けされている「概念ID」を図8のコンテンツデータベース160のコンテンツテーブルから検索する。特徴スコア算出部120は、クラスタデータ{クラスタID,一覧閲覧コンテンツリスト,詳細閲覧コンテンツリスト}と、コンテンツID/概念ID関連づけリスト{{コンテンツID,{関連づいている概念ID,…}},…}と、出現概念リスト{概念ID}とを生成する。「コンテンツID/概念ID関連付けリスト」とは、コンテンツIDをもとに検索された概念IDのリストである。「出現概念リスト」とは、一覧閲覧コンテンツリスト、及び詳細閲覧コンテンツリストに含まれる各コンテンツに出現する概念の概念IDを全て列挙したものである。
【0045】
(ステップS13:出現概念抽出)
特徴スコア算出部120は、「出現概念リスト」の各概念IDについて、図9の概念体系/ユーザ興味スコアデータベース140から上位概念を抽出し、上位概念の概念IDを「出現概念リスト」及び「コンテンツID/概念ID関連づけリスト」に追加する。
【0046】
具体的には、特徴スコア算出部120は、「出現概念リスト」の概念IDが、図9の概念体系テーブルから「自概念ID」と一致するものを検索し、その「親概念ID」を抽出する。例えば、上記抽出された「親概念ID」が図9の概念体系テーブルの「自概念ID」と一致するものをさがし、その「親概念ID」も上位概念として抽出する。そして、特徴スコア算出部120は、上位概念の概念IDを抽出の元になった出現概念の概念IDを有するコンテンツIDに関連づける。すなわち、上記抽出された「上位概念」を「元になった概念IDを持っていたコンテンツID」に対して上位概念が付与されていたと見なして、「出現概念リスト」「コンテンツID/概念ID関連づけリスト」に追加する。なお、概念体系階層におけるルート概念の抽出は除外する。
【0047】
(ステップS14:分析パラメータ抽出)
特徴スコア算出部120は、「出現概念リスト」の各概念について出現数を算出し、特徴スコアの算出に必要な分析パラメータを抽出し、分析パラメータリストを生成する。
図12に、分析パラメータリストのデータ構成例を示す。分析パラメータリストは、クラスタID毎に、一覧閲覧コンテンツリストのコンテンツ総数S(第1の総数)、詳細閲覧コンテンツリストのコンテンツ総数a(第2の総数)、クラスタIDに紐づいた出現概念リスト内の概念ID毎に算出するNとnがある。N(第1の出現数)は、一覧閲覧コンテンツリストにおいて当該概念IDが付与されているコンテンツ数とする。n(第2の出現数)は詳細閲覧コンテンツリストにおける当該概念IDが付与されているコンテンツ数とする。なお、ステップS13にて追加した上位概念も含めて出現概念リスト内の概念IDすべてについて、Nとnを算出する。
【0048】
図13(a)に分析パラメータ抽出処理の模式図を示す。例えば、50個(=S)のコンテンツが一覧表示されている中から、ユーザが10個(=a)のコンテンツの詳細を閲覧した場合を示す。ここで、一覧表示されている50個のコンテンツのうち「野球」という概念が含まれている記事が15個(=N)あり、ユーザが閲覧した10個のコンテンツのうち、「野球」という概念が含まれているコンテンツが5個(=n)あったことを示す。
【0049】
(ステップS15:特徴スコア算出)
特徴スコア算出部120は、上記分析パラメータS,a,N,nを利用して概念ID毎に特徴スコアZを算出する。図14に特徴スコア算出処理の詳細を示す。図14において、iは概念の識別子、jは、クラスタIDを示す。H1(第1の確率)は、一覧閲覧コンテンツリストに含まれる一覧閲覧コンテンツの総数S、一覧閲覧コンテンツのうち概念iが出現するコンテンツ数Nのとき、詳細閲覧コンテンツをa個ランダム選択して閲覧した場合に、概念iが出現する詳細閲覧コンテンツの数がn以上となる累積確率である。H2(第2の確率)は、一覧閲覧コンテンツリストに含まれる一覧閲覧コンテンツの総数S、一覧閲覧コンテンツのうち概念iが出現するコンテンツ数Nのとき、詳細閲覧コンテンツをa個ランダム選択して閲覧した場合に、概念iが出現する詳細閲覧コンテンツの数がn以下となる累積確率である。なお、本実施形態では、累積確率H1及びH2は、超幾何分布により求めるが、この手法に限定するものではない。他の分布の例としては、二項分布、正規分布が存在する。
【0050】
図13(b)に示すように、例えば、上記の分析パラメータS、N、a、nを用いて、ユーザが閲覧した10個のコンテンツのうち、「野球」という概念が含まれるコンテンツが5以上である確率が、「0.12」であることを示す。ここで、「0.12」は、累積確率H1の値に相当する。
【0051】
なお、H2の値を使う例として、上記の分析パラメータでnが0である場合を考える。この場合は、出現数が0以下の場合の確率を算出する。具体的には、図13(b)において横軸が0の項目の値となるため「0.02」となる。
そして、特徴スコア算出部120は、図14に示すように、上記算出した累積確率H1及びH2を用いて、標準正規分布の累積分布関数の逆関数により特徴スコアZを算出する。図13(c)に示すように、上記H1を累積確率とする標準正規分布の累積分布関数の逆関数により特徴スコアZを求める。なお、累積確率としてH2を利用する場合には、標準正規分布の累積分布関数の逆関数の返値の符号を負にして特徴スコアZを求める。この特徴スコアZを用いて、後述する概念体系更新処理部130は、「野球」という概念に対するユーザ興味スコア(TotalZ)を求める。
【0052】
特徴スコア算出部120は、更新対象概念リストを生成し、概念体系更新処理部130に出力する。「更新対象概念リスト」とは、概念ID、前記で算出した特徴スコアZ、及び重みwのセットである。なお、この更新対象概念リストに出現する概念IDが、次の概念体系更新処理で更新対象のノード(概念)となる。上位概念を追加した出現概念リスト内の概念IDすべてについて、特徴スコアZと重みwを算出する。重みwは、各クラスタIDにおいて概念毎に設定される値である。
【0053】
なお、重みwは、初期値w=1とし、ユーザの特徴的な操作等が有った場合に、以下のように値を変化させることができる。例えば、クライアント端末200において、ユーザに提示されたコンテンツについて、ユーザは、お気に入りコンテンツとして登録や、他ユーザへのお勧め、又はコンテンツへの評価入力ができる。クライアント端末200が、このような閲覧操作以外の操作履歴を興味分析装置100に送信できる場合には以下の処理を行う。
【0054】
特徴スコア算出部120は、例えば、コンテンツがお気に入りに登録されたとき、そのコンテンツが含む全ての概念IDについて重みwをw=1.5のように増加させる。その他にも、コンテンツ閲覧時刻、閲覧時の天気、気温、湿度、季節、曜日、休日、余暇かどうか、閲覧時のユーザ位置情報、スケジューラ、日記等から収集したイベント情報に応じて重みwの値を変えることもできる。
【0055】
[概念体系更新処理部130]
図15に、概念体系更新処理部130の処理フローを示す。概念体系更新処理部130には、特徴スコア算出部120から、クライアント端末ID(もしくはユーザID)及び更新対象概念リスト{クラスタID,{概念ID,特徴スコア=Z,重み=w},…}が入力される。
【0056】
(ステップS16:概念ノード値更新)
概念体系更新処理部130は、「更新対象概念リスト」の各概念IDのノード値を更新する。図16に概念体系更新処理部130の処理の詳細を示す。概念体系更新処理部130は、コンテンツに出現した概念(出現概念)、及びこの出現概念の上位概念の概念IDについて、図16に示す各概念iに対するユーザ興味スコア更新式を用いて、ユーザ興味スコアTotalZin,及びXi(n−1),Yi(n−1)の値を求め、図9の概念体系/ユーザ興味スコアデータベース140の、クラスタIDに対応する図11のステップS12に入力されたユーザID(クライアント端末ID)のカラムに対応するユーザ興味スコアテーブルに格納されている各値を更新する。
【0057】
ここで、Xi(n−1)は、各概念ID(ここでは識別子iで表現)に対する、過去の(前回までの)前記更新対象概念リストの重みwの二乗の合計である。Yi(n−1)は、同様に各概念ID(ここでは識別子iで表現)に対する、過去の前記更新対象概念リストの重みwと特徴スコアZの乗算の合計である。
【0058】
この、X,Yはユーザ興味スコア(TotalZ)計算過程における中間結果を保持することとなり、省メモリ/ストレージを優先させる場合、最低限では各ノードの変数としてTotalZ,X,Yの3つの実数値を保持することで実現可能である。省メモリ/ストレージを優先させない場合は、算出した各概念、各クラスタの特徴スコアZをすべて保存することとなる。この場合は、X,Yの保存は不要となる。
【0059】
図16において、nは、概念体系更新処理が何度目かを示す識別子である。ユーザ興味スコアTotalZを求める一連の処理は、クラスタID単位で行なわれ、この一連の処理が行なわれる単位を1度と数えるとき、nはこの一連の処理が何度目に行なわれたものであるかを示す識別子である。iは、概念IDの識別子である。Zinは、概念iの各更新処理に利用するZ値である。なお、上記Zijは一覧閲覧コンテンツリスト及び詳細閲覧コンテンツリスト毎のZ値であり、Zij∈Zinの関係である。重みwinは、概念iの各更新処理に利用する重みである。上記重みwと同じであり、上記特徴スコア算出部120で設定したものと同様である。
【0060】
例えば、winは、お気に入り登録、他ユーザとの共有等の閲覧以外の特殊な操作をユーザが行った場合、及びコンテンツ閲覧時間(閲覧開始から終了までの間隔)、コンテンツと概念の関連度合い、コンテンツ閲覧時刻、閲覧時の天気・気温・湿度・季節・曜日・休日・余暇かどうか、閲覧時のユーザ位置情報、スケジューラ・日記等から収集したイベント情報に応じて値を変化させる。その他サービス利用者、サービス運用者が特に指定した場合にも変化させる。
【0061】
なお、一定期間過ぎた履歴の影響を低減させるため等のユーザ興味スコアの忘却は、最終更新時から現在の時刻までの時間間隔の閾値を超えた場合に、TotalZ,X,Yをそれぞれ減衰させることで実現する。
減衰の計算式の例を示す。例えば、kを減衰率(例えばk=0・8)と設定し、以下のように算出することができる。
TotalZ(減衰後)=k×TotalZ(現在)
X(減衰後)=k×X(現在)
Y(減衰後)=k×Y(現在)
【0062】
(ステップS17:下位概念ノード値更新)
さらに、概念体系更新処理部130は、「更新対象概念リスト」の各概念ID(出現概念及び上位概念)の下位概念を抽出し、下位概念のノード値を更新する。下位概念の抽出では、「更新対象概念リスト」の各概念IDについて、図9の概念体系/興味度データベース140の概念体系テーブルを参照し、子概念IDリストから概念IDのリストを抽出し、さらに各子概念IDリストの概念IDについて概念体系テーブルを参照して子概念リストを抽出する処理を繰り返す。
【0063】
下位概念の興味度の更新に利用する特徴スコアZは、例えば、隣接した親ノードのうち特徴スコアの絶対値が最も大きい値を利用、最も近い上位ノードの値を利用、親ノードの値を平均、または確率結合した値とする。なお、「更新対象概念リスト」のうち、上記ステップS16で更新済みの概念(コンテンツに出現した概念、及び上位概念)のユーザ興味スコアは更新しない。
【0064】
[コンテンツ評価処理部170]
図17にコンテンツ評価処理部170の処理フローを示す。コンテンツ評価処理部170には、コンテンツサーバ300のコンテンツ要求転送部360からの通知を入力として、コンテンツデータベース160のコンテンツテーブルから図7のような形式の提示コンテンツリストを読み出して以下のコンテンツ評価処理を行う。コンテンツ要求転送部360からはクライアント端末ID(もしくはユーザID)を含む、図20に示すようなコンテンツ要求データを受信する。また、上記提示コンテンツリストについては、サービス運用者もしくはサービス利用者(クライアント端末利用者)の事前設定により、過去何日以内に登録されたコンテンツのみを評価対象とするか(提示コンテンツリストに含めるか)を設定することができる。
【0065】
(ステップS21:分析対象概念フィルタリング)
分析対象概念フィルタリングでは、サービス運用者又はサービス利用者が、事前設定や手動等で特に分析対象の概念IDを指定した場合は、概念体系/興味度データベース140を参照し、指定された分析対象の概念IDおよび下位の概念IDのみを評価対象とする。コンテンツ評価処理部170は、入力された提示コンテンツリストが保持する概念IDについて、事前にサービス運用者又はサービス利用者が設定した条件にしたがって分析対象外とし、「フィルタリング済みコンテンツリスト」を生成する。
【0066】
例えば、ユーザが、野球に関するコンテンツのレコメンドを求めた場合には、図9の概念体系テーブルを参照し、野球に対応する概念IDの下位概念のみを分析対象とする。「フィルタリング済みコンテンツリスト」とは上記処理によって、各コンテンツIDに紐付けされている概念IDを事前にサービス運用者又はユーザが設定した条件にしたがって削除したコンテンツリストである。「フィルタリング済みコンテンツリスト」は、上記図7の提示コンテンツリストと同じデータ構成である。
【0067】
(ステップS22:スコア評価)
コンテンツ評価処理部170は、「フィルタリング済みコンテンツリスト」に含まれるコンテンツの評価スコアを算出し、図18に示すようなコンテンツスコアリストを生成する。コンテンツスコアリストは、コンテンツID、評価スコア、コンテンツ本体、及びコンテンツ登録時刻を有する。
【0068】
図19に評価スコアの算出方法の一例を示す。例えば、図19に示すコンテンツ評価式により、コンテンツxに対する評価スコアEntityZを概念iのユーザ興味スコアTotalZ、コンテンツxと概念iとの関連度w(もしくは、概念iの重要度)、及びコンテンツxに出現する概念IDの集合pを用いて算出することができる。なお、概念の識別子iは集合p内の概念IDに対応する。
【0069】
図19の算出で利用するユーザ興味スコア(TotalZ)は、各コンテンツに関連した概念IDについて、概念体系/ユーザ興味スコアデータベース140のユーザ興味スコアテーブル(図9)から、クライアント端末ID(もしくは、ユーザID)をもとに読み出し利用する。図19において、概念K、概念B及び概念Dが出現するコンテンツ1を評価コンテンツとした場合、概念K、概念B及び概念DのTotalZ,wを利用して評価スコアEntityZ=0.18と算出できる。一方、概念Bのみが出現するコンテンツ2を評価コンテンツとした場合、概念BのTotalZ,wを利用して評価スコアEntityZ=−0.3と算出できる。評価スコアEntityZの値が大きいコンテンツ1が優先して表示される。
【0070】
その他にも、評価スコアEntityZは、以下の変形例1〜3の方法により求めることができる。
変形例1としては、EntityZ=MAX(TotalZ*w)により求める。MAX(TotalZ*w)は、i∈pのTotalZ*wの最大値を返す関数とする。
【0071】
変形例2としては、EntityZの値は、MAX(TotalZ*w)の値が閾値を超えた場合には、MAX(TotalZ*w)の返り値とする。MAX(TotalZ*w)はi∈pのTotalZ*wの最大値を返す関数とする。閾値を超えない場合は、図19のコンテンツ評価式の結果をEntityZとする。MAX()は、はi∈pのTotalZ*wで最大値を返す関数とする。閾値はサービス運用者が設定する値とする。
【0072】
変形例3としては、TotalZが正の値のi∈pについてのみ取り出し、図19のコンテンツ評価式で統合した値をEntityZとする。
(ステップS23:コンテンツをスコア順にソート)
コンテンツ評価処理部170は、コンテンツスコアリストに含まれるコンテンツを評価スコアEntityZの降順にソートし、ソート済みコンテンツスコアリストをコンテンツスコアリスト送信部180に出力する。
【0073】
[ソート済みコンテンツスコアリスト送信部180]
ソート済みコンテンツスコアリスト送信部180は、コンテンツ評価処理部170から入力されるソート済みコンテンツスコアリストとクライアント端末ID(もしくはユーザID)を通信ネットワークを介してコンテンツサーバ300に送信する。
【0074】
以上述べたように、上記実施形態によれば、ユーザの選択候補となる一覧リストを定義し、そこからのコンテンツ選択における概念の出現数を分析することで、各概念の出現の希少性を考慮し、且つ一覧から選ばれない概念の履歴特徴を利用することができるため、ユーザの興味を高精度に推定することが可能となる。
【0075】
さらに、上記ステップS15、ステップS16に示したように、特徴スコアの算出やステユーザ興味スコアの算出に際し、閲覧時のユーザの状況や閲覧操作の特徴(お気に入り登録、長時間閲覧等)などを重み係数(重みw)を介して反映することができるため、ユーザ興味スコアをさらに精度良く求めることが可能となる。
【0076】
また、タクソノミ(オントロジ)等で定義された概念をメタタグとして付与したコンテンツ閲覧履歴分析において、概念出現の希少性を合理的に分析に反映することが難しかったため、従来はタクソノミ(オントロジ)構造の深さを一定する等によりコンテンツに付与する概念の抽象度を統一する等のオントロジ構造側の調整が必要があったが、本実施形態のでは概念出現の希少性を考慮するオントロジ構造によるユーザ興味スコアの更新処理により上位概念が付与されたコンテンツと、下位概念が付与されたコンテンツの閲覧履歴を統合して分析可能となるため、分析に利用するタクソノミ(オントロジ)への制約低減し、タクソノミ(オントロジ)の維持・運用・管理コストを低減することが可能となる。
【0077】
さらに、ユーザ興味スコアを用いてコンテンツに対するユーザの評価スコアを算出することで、ユーザの興味に合ったコンテンツを推薦することが可能となる。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0078】
100…興味分析装置、200…クライアント端末、300…コンテンツサーバ、110…履歴情報受信部、120…特徴スコア算出部、130…概念体系更新処理部、140…概念体系/ユーザ興味スコアデータベース、150…提示コンテンツリスト受信部、160…コンテンツデータベース、170…コンテンツ評価処理部、180…ソート済みコンテンツスコアリスト送信部、210…履歴情報送信部、220…履歴収集部、230…コンテンツ提示部、240…コンテンツ要求送信部、310…コンテンツ送信処理部、320…ソート済み提示コンテンツリスト受信部、330…提示コンテンツリスト送信部、340…提示コンテンツリスト入力部、350…履歴情報転送部、360…コンテンツ要求転送部。

【特許請求の範囲】
【請求項1】
コンピュータによって複数の概念に対するユーザ興味スコアを体系化した概念体系を用いてユーザの興味を分析する方法であって、
複数のコンテンツを一覧として閲覧した第1のコンテンツリストと、前記第1のコンテンツリストからコンテンツの本体を閲覧した第2のコンテンツリストとをクラスタ化するステップと、
前記クラスタ毎に、前記第1のコンテンツリストのコンテンツの総数を第1の総数と、前記第1のコンテンツリストにおいて前記概念が出現するコンテンツの数を第1の出現数と、前記第2のコンテンツリストのコンテンツの総数を第2の総数と、前記第2のコンテンツリストにおいて前記概念が出現するコンテンツの数を第2の出現数としたとき、前記第1の総数、前記第1の出現数、及び前記第2の総数の条件下で、前記第2のコンテンツリストに前記概念が出現するコンテンツの数が、前記第2の出現数以上となる第1の確率及び前記第2の出現数以下となる第2の確率を算出し、前記第1の確率及び前記第2の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出する算出ステップと、
前記クラスタ毎に算出した特徴スコアを用いて前記概念に対する前記ユーザ興味スコアを更新する更新ステップと
を有することを特徴とする興味分析方法。
【請求項2】
前記更新ステップにおいて、前記第2のコンテンツリストのコンテンツに関するユーザの操作履歴、当該コンテンツの閲覧時間及び閲覧状況、並びに当該コンテンツと前記概念との関連度の少なくとも1つに応じて前記特徴スコアを重み付けすることをさらに特徴とする請求項1に記載の興味分析方法。
【請求項3】
前記算出ステップにおいて、前記第1の確率及び前記第2の確率を超幾何分布により求めることを特徴とする請求項1に記載の興味分析方法。
【請求項4】
前記概念体系が前記概念間の上位概念、下位概念の関係情報を有する場合に、前記第1のコンテンツリスト及び前記第2のコンテンツリストのコンテンツに出現する出現概念の上位概念を前記概念体系から抽出し、前記上位概念が当該コンテンツに出現するものとみなして前記上位概念に対するユーザ興味スコアを更新することをさらに特徴とする請求項1記載の興味分析方法。
【請求項5】
前記更新ステップにおいて、前記出現概念の下位概念及び前記上位概念の下位概念を前記概念体系から抽出し、前記出現概念のユーザ興味スコア及び前記上位概念のユーザ興味スコアを用いて前記下位概念のユーザ興味スコアを更新することをさらに特徴とする請求項4記載の興味分析方法。
【請求項6】
1つ以上の概念が出現するコンテンツについて、当該コンテンツに出現する各概念の前記ユーザ興味スコアを用いて、当該コンテンツに対するユーザの評価スコアを算出する評価ステップをさらに有することを特徴とする請求項1記載の興味分析方法。
【請求項7】
前記評価ステップにおいて、前記コンテンツと各概念との関連度及び各概念の重要度の少なくとも1つに応じて前記ユーザ興味スコアを重み付けすることをさらに特徴とする請求項6に記載の興味分析方法。
【請求項8】
複数の概念に対するユーザ興味スコアを体系化したデータ概念体系を用いてユーザの興味を分析する装置であって、
複数のコンテンツを一覧として閲覧した第1のコンテンツリストと、前記第1のコンテンツリストからコンテンツの本体を閲覧した第2のコンテンツリストとをクラスタ化する手段と、
前記クラスタ毎に、前記第1のコンテンツリストのコンテンツの総数を第1の総数と、前記第1のコンテンツリストにおいて前記概念が出現するコンテンツの数を第1の出現数と、前記第2のコンテンツリストのコンテンツの総数を第2の総数と、前記第2のコンテンツリストにおいて前記概念が出現するコンテンツの数を第2の出現数としたとき、前記第1の総数、前記第1の出現数、及び前記第2の総数の条件下で、前記第2のコンテンツリストに前記概念が出現するコンテンツの数が、前記第2の出現数以上となる第1の確率及び前記第2の出現数以下となる第2の確率を算出し、前記第1の確率及び前記第2の確率をもとに標準正規分布の累積分布関数の逆関数により特徴スコアを算出する算出手段と、
前記クラスタ毎に算出した特徴スコアを用いて前記概念に対する前記ユーザ興味スコアを更新する更新手段と
を具備することを特徴とする興味分析装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−3797(P2013−3797A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−133593(P2011−133593)
【出願日】平成23年6月15日(2011.6.15)
【出願人】(000004226)日本電信電話株式会社 (13,992)