添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本実施形態の携帯電話機100および情報配信サーバ200を備えた情報配信システムのシステム構成を示すシステム構成図である。携帯電話機100からの要求に応じて情報配信サーバ200は、予め記憶されているレコメンド情報となるコンテンツを、携帯電話機100に配信する。配信されるレコメンド情報は、携帯電話機100のユーザのアクセス履歴に基づいて編集されたものであり、ユーザにとって必要と思われる情報である。なお、この情報配信サーバ200は、携帯電話機100からのアクセス要求に応じて、他のコンテンツプロバイダからコンテンツを取得し、取得したコンテンツを配信するものであり、アクセス履歴はこのときに収集される。また、携帯電話機100がアクセス履歴を送信し、それを取得するように構成されてもよい。
このような情報配信サーバ200の構成について、図2を用いて説明する。図2は、情報配信サーバ200の機能構成を示すブロック図である。この情報配信サーバ200は、コンテンツ要求受信部201(受付手段)、レコメンド要求受信部202、履歴クラス分離部203、ユーザ特性ベクトル計算部204(ユーザ特性ベクトル生成手段)、配信情報格納部205、コンテンツ評価部206(評価手段)、履歴格納部207(履歴記憶手段)、コンテンツ送信部208(提示手段)、評価済みコンテンツベクトル算出部209(ベクトル算出手段)、および要提示コンテンツ抽出部210(コンテンツ抽出手段)を含んで構成されている。
図3は、情報配信サーバ200のハードウェア構成図である。図2に示される情報配信サーバ200は、物理的には、図3に示すように、CPU11、主記憶装置であるRAM12及びROM13、入力デバイスであるキーボード及びマウス等の入力装置14、ディスプレイ等の出力装置15、ネットワークカード等のデータ送受信デバイスである通信モジュール16、ハードディスク等の補助記憶装置17などを含むコンピュータシステムとして構成されている。図2において説明した各機能は、図3に示すCPU11、RAM12等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU11の制御のもとで入力装置14、出力装置15、通信モジュール16を動作させるとともに、RAM12や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。以下、図2に示す機能ブロックに基づいて、各機能ブロックを説明する。
コンテンツ要求受信部201は、携帯電話機100からのコンテンツの要求に応じて、ネットワーク上のコンテンツプロバイダからコンテンツを取得する部分であり、携帯電話機100からコンテンツの要求とそのURLを受信することでアクセス履歴を収集することができる。収集したアクセス履歴(URLなど)は、履歴格納部207に出力される。なお、このコンテンツ要求受信部201は、アクセス履歴として、あるメニュー画面(事象)内において実際にアクセスされたコンテンツ(URL)と、メニュー画面には表示されているものの、実際にアクセスされなかったコンテンツとを区別して収集する。
また、コンテンツ要求受信部201は、アクセス要求だけでなく、携帯電話機100において収集されたアクセス履歴情報を受信し、これを履歴格納部207に出力するようにしてもよい。この場合も同様に、携帯電話機100は、あるメニュー画面において選択されたコンテンツ、選択されなかったコンテンツを区別してアクセス履歴情報として情報配信サーバ200に送信するように構成される。
レコメンド要求受信部202は、携帯電話機100からレコメンド情報の配信要求を、携帯電話機100のユーザのユーザIDとともに受信する部分である。レコメンド要求受信部202は、その配信要求を受信すると、コンテンツ評価部206にその旨を通知し、予め計算されていたユーザ特性ベクトルに基づいて、配信情報格納部205に記憶されているコンテンツの評価を行うよう指示する。なお、変形例として、レコメンド要求のあった旨をユーザ特性ベクトル計算部204に出力し、現時点におけるユーザ特性ベクトルを計算させ、その結果をコンテンツ評価部206に通知し、コンテンツ送信部208にレコメンド情報の配信を行わせるようにしてもよい。
履歴クラス分離部203は、履歴格納部207(閲覧履歴テーブル207c)に記憶されている閲覧履歴情報に含まれているコンテンツの特性ベクトルに基づいて、あるユーザが閲覧したコンテンツを満足クラスと不満足クラスとに分離するための分離平面を生成する部分である。この構成は、後述するとおり、SVM法を用いた場合に必須の構成である。ここで、満足クラスとは、あるコンテンツにアクセスするためのメニュー画面において選択可能に表示された複数のコンテンツのうち、実際に選択されたコンテンツのみを含んだクラスをいい、不満足クラスとは、そのメニュー画面において選択されなかったコンテンツのみを含んだクラスをいう。この履歴クラス分離部203は、SVM法またはNN法を用いて、各コンテンツの特性ベクトルを満足クラスと不満足クラスとに分離することができる分離平面を生成することで、これらクラスを分離することができる。ここでSVM(Support Vector Machine)法とは、それぞれのクラスのノード間(特性ベクトル間)の最小距離を最大化する平面を分離平面とする方法であり、NN法とは、それぞれのクラスの重心間、すなわち各コンテンツの特性ベクトルに基づいて算出された、満足クラスの重心と不満足クラスの重心とを結んだ直線を推薦する平面を分離平面とする方法である。なお、NN法においては、必ずしも分離平面を求める必要はなく、不満足クラスの重心から満足クラスへの重心へ結んだ直線をユーザ特性ベクトルとするようにしてもよい。
ここで分離平面を生成する具体的な方法について説明する。図4は、携帯電話機100に表示されるメニュー画面の一例を示す説明図である。図4に示すようにNode1〜Node5が表示されている。このNodeは、選択対象項目を示すものであり、例えばウェブ上のメニュー画面におけるカテゴリごとに区別された項目であったり、ウエブページのタイトルである。例えば、Node1が、自動車に関するコンテンツ、Node2が、金融に関するコンテンツなどである。ユーザは、Node1〜Node5のいずれかを選択することにより、対応するコンテンツを閲覧することができる。
図5は、分離平面を生成するときの処理概念を示す概念図である。図5は、上述図4におけるメニュー画面のうちユーザが選択したコンテンツおよび選択されなかったコンテンツにおける、特徴空間内における各コンテンツの特性ベクトルの位置関係を示す。図5に示されている通り、円形で示されている部分が満足なコンテンツ(Node3、Node4)であり、三角形で示されている部分が不満足なコンテンツ(Node1、Node2、Node5)であり、四角形で示されている部分が未知の未評価コンテンツ(Node8、Node7)である。これら満足コンテンツと不満足コンテンツとを分離するように生成されたものが分離平面である。ここでは、未評価コンテンツは分離処理する際には考慮されない。なお、図においては、特徴空間を便宜上二次元平面で表現しているが、ベクトルを構成するパラメータ分だけベクトル軸が存在することになり、通常は20次元以上のベクトルで特徴空間は構成されている。
ユーザ特性ベクトル計算部204は、コンテンツの満足特徴ベクトルからベクトルを算出し、これをユーザ特性ベクトルとする部分である。例えば、NN法を用いた方法について説明する。図19(a)は、NN法を用いてユーザ特性ベクトルを算出する方法を示す概念図である。ここで○印が満足コンテンツ、×印が不満足コンテンツである。そして、ユーザ特性ベクトル計算部204は、それぞれのコンテンツにおける特性ベクトルの重心を算出し、不満足コンテンツの特性ベクトルの重心から満足コンテンツの特性ベクトルの重心に向かう方向のベクトルをユーザ特性ベクトルとする。
また、不満足コンテンツが存在しない場合など、不満足コンテンツの特性ベクトルを用いることなく、満足コンテンツの特性ベクトルのみを用いてユーザ特性ベクトルを算出することもできる。その場合、例えば、図19(b)に示すように、原点から満足コンテンツの特性ベクトルの重心に向けたベクトルを算出することで、これをユーザ特性ベクトルとすることができる。
なお、NN法を用いた場合には、特に分離平面を算出する必要は無く、その場合、上述の履歴クラス分離部203など、SVM法に関する構成は必ずしも必須ではない。
また、SVM法を用いてユーザ特性ベクトルを算出しても良い。図6にその具体例を示す。図6は、分離平面に基づいてユーザ特性ベクトルを算出し、さらにユーザ特性ベクトルに基づいて評価を行うときの概念を示す概念図である。図6に示すように、分離平面に直交する直交ベクトルであるユーザ特性ベクトルwが、ユーザ特性ベクトル計算部204により算出される。ユーザ特性ベクトル計算部204は、閲覧履歴が収集されるたびに計算され、ユーザ特性ベクトル管理テーブル207aに記憶されているユーザ特性ベクトルを更新させる。
配信情報格納部205は、配信対象であるコンテンツ(レコメンド情報)およびその管理情報を記憶する部分であり、コンテンツ管理テーブル205aを記憶している。図7は、コンテンツ管理テーブル205aの記憶内容を示す説明図である。図7に示すように、このコンテンツ管理テーブル205aは、コンテンツID、カテゴリ、タイトル、およびレコメンド本文を対応付けて記憶している。コンテンツIDは、コンテンツを一意に特定するための識別情報であり、カテゴリは情報種別を示し、例えばCDに関連するもの、DVDに関連するもの、書籍に関連するもの、テレビ番組に関連するものなどを示すための情報である。タイトルは、レコメンド情報として表示するための見出し情報である。レコメンド情報を配信する際には、このタイトル部分が表示されることになる。レコメンド文は、レコメンド情報の本体部分であり、ユーザに有用な情報である。このコンテンツ管理テーブル205aに記憶される情報は、予めオペレータにより入力されたものでもよいし、自動的にコンテンツプロバイダから検索・抽出され所定のフィルターにより絞り込まれたものであってもよい。
コンテンツ評価部206は、レコメンド要求受信部202によりレコメンドの要求が受信されると、配信情報格納部205に記憶されているコンテンツに対して、ユーザ特性ベクトル計算部204により計算されたユーザ特性ベクトルに基づいて評価し、そして評価の高い順にコンテンツのタイトルを並べたレコメンド情報を生成する部分である。具体的には、このコンテンツ評価部206は、ユーザ特性ベクトルと各コンテンツの特性ベクトルとの内積を計算することにより評価値を算出し、その評価値の高い順にコンテンツのタイトルを並べたレコメンド情報を生成する。さらに、コンテンツ評価部206は、要提示コンテンツ抽出部210により抽出された要提示コンテンツを、生成したレコメンド情報に付加して、これをレコメンド情報とする。
概念的には、つぎの通りとなる。例えば、図6では、Node7およびNode8がコンテンツ管理テーブル205aに記憶された情報であるとして、未知のコンテンツとして扱われている。ここで、Node7およびNode8からユーザ特性ベクトルwに対して垂線をおろした点がユーザ特性ベクトルwに対する評価点となる。この垂線とユーザ特性ベクトルとの交点の位置が上位にある順にコンテンツ(タイトル部分)を表示するようにレコメンド情報を生成する。なお、予め定めた基準値を用いて上位のもの、下位のもので評価を行うようにしても良い。また、SVM法を用いる場合、分離平面を基準に、表示または非表示とするようにしてもよい。例えば、Node8からの垂線との交点は、分離平面を基準にした場合、それよりも上位に位置しているため、ユーザにとって評価は高いと判断されレコメンド情報として選択される。一方、Node7は基準より下位にあるため、評価は低く、レコメンド情報として選択されない、というようなレコメンド情報としてもよい。
履歴格納部207は、各履歴情報を記憶する部分であり、ユーザ特性ベクトル管理テーブル207a、コンテンツ特性ベクトル管理テーブル207b、および閲覧履歴テーブル207cを記憶している。
ユーザ特性ベクトル管理テーブル207aは、ユーザ特性ベクトル計算部204により計算されたユーザ特性ベクトルを、ユーザを特定するためのユーザIDと対応付けて記憶する部分である。
コンテンツ特性ベクトル管理テーブル207bは、コンテンツ管理テーブル205aに記憶されているコンテンツの特性ベクトルを、そのコンテンツを特定するための情報(例えばコンテンツID、URLなど)と対応付けて記憶する部分である。このコンテンツ特性ベクトルは、ユーザがアクセスしたときにそのコンテンツとともに、コンテンツ要求受信部201により取得されるもの、レコメンド情報を登録するときにそのオペレータにより設定されたものである。例えば、コンテンツ特性ベクトル管理テーブル207bは、図8に示される情報が記憶されている。図8に示すように、コンテンツIDと対応付けて、特性ベクトルを構成するパラメータが複数記憶されている。図8では、8個のパラメータを記載しているが、通常はさらに多くのパラメータから特性ベクトルは構成されている。なお、規定のパラメータ以外に、コンテンツごとに形態素解析にしたがって抽出されたキーワードをパラメータとして追加するようにしてもよい。特性ベクトルを構成するパラメータごとに、0から1の間で数値が記述されており、どの特性ベクトルに特徴を持たせているかを表している。
閲覧履歴テーブル207cは、コンテンツ要求受信部201により受信されたあて先または収集されたアクセス履歴情報を記憶する部分であり、例えば、メニュー画面に表示されたコンテンツおよび閲覧されたコンテンツのコンテンツID(またはコンテンツのURL)およびそれらコンテンツの特性ベクトルを対応付けて記憶する部分である。すなわち、この閲覧履歴テーブル207cは、選択(閲覧)されたコンテンツ、選択(閲覧)されなかったコンテンツを特定する特定情報を評価済みコンテンツ特定情報として記憶しておく。
このコンテンツの特性ベクトルは、コンテンツ要求受信部201により取得されるコンテンツとともに取得されるものである。
コンテンツ送信部208は、コンテンツ要求受信部201により受信されたコンテンツ要求またはレコメンド要求受信部202により受信されたレコメンド要求に応じて取得されたコンテンツを送信する部分である。例えば、コンテンツ送信部208は、コンテンツ要求受信部201により受信されたコンテンツ要求に応じて取得されたコンテンツを送信し、またレコメンド要求受信部202に応じて配信情報格納部205に記憶されているコンテンツに基づいてコンテンツ評価部206による評価結果にしたがって生成されたレコメンド情報を送信する。
評価済みコンテンツベクトル算出部209は、既にユーザから何らかの反応を得た評価済みのコンテンツの正規化ベクトルの総和を算出する部分である。何らかの反応を得たコンテンツとは、例えば、詳細情報が閲覧された、メニュー画面に表示されたのにも係わらず、閲覧されること無く、無視されたなどである。なお、評価済みコンテンツとは、上述したとおり、閲覧等されたコンテンツ(満足クラス)、メニュー画面には選択可能に表示されているものの閲覧等されなかったコンテンツ(不満足クラス)である。評価がされていないコンテンツとは、ユーザにとって選択する機会が与えられていないコンテンツであって、例えば、複数ページからなるメニュー画面において、ユーザが1ページ目のみ閲覧し、2ページ目移行は閲覧しなかった場合には、2ページ目以降のコンテンツは未評価のコンテンツとされる。これらは、閲覧履歴テーブル207cに記憶されている閲覧履歴情報に基づいて判断され、評価済みコンテンツベクトル算出部209は、閲覧履歴テーブル207cの情報に従って、正規化ベクトルの総和を算出する。
なお、コンテンツを満足と判定する条件としては、上記で挙げたように閲覧する行為のほかに、“お気に入りコンテンツに登録した”、“コンテンツの予約(購入)ページを閲覧した”など、後日コンテンツの閲覧を可能にさせる行為を条件とする方法も考えられる。また、コンテンツを不満足と判定する条件としては、上記で挙げた例のほかに、“コンテンツのメニュー画面(例えば概要情報の一覧)に表示されたにもかかわらずユーザに選択されなかったケースが一定回数以上あった”などを条件とする方法も考えられる。これら条件を満たした場合には、閲覧履歴テーブル207cにその行為を示すフラグが記述されることにより、評価済みコンテンツベクトル算出部209は処理することができる。また、必ずしもコンテンツを「不満足」と判定する必要はなく、「満足」判定のみが行われる場合も考えられる。
つぎに、正規化処理についてその具体的を、図15を用いて説明する。図15は、コンテンツベクトルが2次元の特徴空間からなる場合において正規化ベクトルを生成するときの概念を示す模式図である。図15に示されるように、コンテンツPが評価済みコンテンツであるとともに、閲覧等されることが無かったため、不満足と評価されたとする。また、コンテンツQは、評価済みコンテンツであるとともに、閲覧等がされたため、満足と評価されたとする。まず、評価済みコンテンツベクトル算出部209は、各コンテンツP,Qのそれぞれのベクトルp1、ベクトルq1を正規化処理する。正規化とは、図15に示されるように、半径1の超球T(N次元の球体を想定:ここでは2次元の球体)に沿ってコンテンツベクトルの大きさが変換される。例えば、コンテンツQのベクトルq1は、Y軸上において、1の大きさとなるように小さくなり、逆にコンテンツPのベクトルp1は、超球の円周(または球面)上に終端がくるようにそのベクトルの大きさが大きく変換される。
そして、評価済みコンテンツベクトル算出部209は、これらコンテンツPおよびコンテンツQのそれぞれの正規化ベクトルp、qを加算する。具体的には図16に示すとおりとなる。図16は、評価済み総和コンテンツを生成するときの概念を示す模式図である。図16において、評価済みコンテンツベクトル算出部209により評価済み総和ベクトルvは、ベクトルqおよびベクトルpとの総和として算出される。
要提示コンテンツ抽出部210は、評価済みコンテンツベクトル算出部209により算出された評価済み総和ベクトルvに基づいて、未評価コンテンツまたはユーザによる評価が不十分なコンテンツから、特に評価が不十分であるコンテンツ(またはユーザに評価させたい、閲覧の機会を与えたい)であり、ユーザへの提示を必要とする要提示コンテンツを抽出する。ここで未評価コンテンツとは、コンテンツ管理テーブル205a(およびコンテンツ特性ベクトル管理テーブル207b)に記憶されているコンテンツのうち、メニュー画面、検索結果画面等で表示されたことがないコンテンツであり、例えば、メニュー画面が複数ページからなるものである場合には、閲覧されなかったページに含まれているコンテンツである。また、評価が不十分なコンテンツとは、メニュー画面・検索結果画面等に表示されたコンテンツのタイトル(または概要)のうち、閲覧されなかったものであったり、閲覧されても1回だけなど、他のコンテンツと比較して、閲覧回数や、メニュー画面等における表示回数が極端に少なかったものである。
ここで、未評価コンテンツまたは評価が不十分なコンテンツ(以下、未評価コンテンツ等と略す)から特に評価が不十分であってユーザに評価させたい要提示コンテンツの選択の仕方について具体的に説明する。例えば、図16の例においては、未評価コンテンツ等であるコンテンツRおよびコンテンツSが示されている。この場合、評価済み総和ベクトルvと比較して、略直角であるコンテンツSがユーザによる評価が特に不十分な要提示コンテンツと判断することができる。そして、未評価コンテンツ抽出部210は、抽出したコンテンツSを、コンテンツ評価部206に出力し、このコンテンツ評価部206は、要提示コンテンツであるコンテンツSをレコメンド情報に付加し、コンテンツ送信部208はレコメンド情報とともに送信する。なお、複数の未評価等のコンテンツがあった場合、その中で一番で最も直角に近い角度のベクトルを有するコンテンツを要提示コンテンツとすることもでき、また上位N個のベクトルのコンテンツを要提示コンテンツとしてもよい。
つぎに、評価済み総和ベクトルに直交する、またはそれに近い角度のベクトルを有するコンテンツが、ユーザによる評価が特に不十分であることの理由について説明する。なお、ここではコンテンツを特徴付ける特徴空間が3次元(3個の要素)からなる空間を例に説明する。
図17(a)のように、(X,Y,Z)=(0,0,A) (ただしA>0)で表されるコンテンツaが、あるユーザにとって満足コンテンツと評価されており、その他のコンテンツについては評価が得られていないとき、当該ユーザの総和ベクトルは(0,0,A)と算出される。このとき、当該ユーザの嗜好についてわかっていることは、Z軸に値をもつコンテンツが好きな可能性があるということのみである。X軸やY軸についての好みの情報は一切ないため、例えば(B,0,0)(ただしB>0)や(0,B,0)といったコンテンツを当該ユーザにレコメンド情報として提供すべきか否かについては、推定する術がない。推定するためには、X軸やY軸に値を持つコンテンツの評価結果を得る必要がある。また、このとき、X軸とZ軸の両方に値を持つコンテンツ(C,0,D)(ただしC>0,D>0)の評価結果を得るよりも、X軸にのみ値をもつコンテンツの評価結果を得たいと考える方がよい。なぜなら、X軸とZ軸の両方に値を持つコンテンツが仮に満足コンテンツと評価された場合、その評価がZ軸に値を持つということに大きく起因しているのか、あるいはX軸に値を持つことこそが大きく起因しているのかが不明確のためである。一方で、X軸にのみ値をもつコンテンツを評価させたほうが、X軸についての嗜好をずばり問うことが出来る。評価結果が満足だった場合、それはまぎれもなくX軸の値にのみ起因する評価結果とみなすことが出来る。
次に、ある程度のコンテンツ評価結果が得られた例を挙げる。図17(b)は、5つのコンテンツに対し満足評価を、4つのコンテンツに対し不満足評価を得ていることを示している。これら9つのコンテンツはいずれもX-Z平面上に存在しており、Y軸に値を持っていないことは明らかである。すなわち、当該ユーザの嗜好についてはX軸およびZ軸についてのみ情報が得られており、Y軸については一切が不明な状態である。このとき、総和ベクトルもまたX-Z平面上に存在しており、Y軸は総和ベクトルに直交(=なす角が最大)している。
これは、以下のように説明することができる。すなわち、総和ベクトルの向きは、当該ユーザの嗜好に関する評価結果が各軸についてどれだけ得られているかを示している。上述の場合、総和ベクトルはX-Z平面上に存在しており、当該ユーザの嗜好についてX軸およびZ軸については他軸に比べて十分得られていることを示している。一方で、総和ベクトルとなす角が最大となる方向、すなわち直交する方向(Y軸)にある軸については評価結果が不十分ということになる。したがって、総和ベクトルとなす角がより大きい(=より直交に近い)方向にあるコンテンツをより優先的に当該ユーザに評価させる必要があるといえる。
すべての軸に対して平等に評価結果が得られたときは、総和ベクトルは(1,1,1)の方向に収束する。このときは、X軸、Y軸、またはZ軸のいずれかの軸上に位置するコンテンツとの角度が45度となって最大となる。このときは、各軸上に位置するコンテンツが等確率で選出される。しかし、X軸に評価結果(量)が偏れば、総和ベクトルは(A+B,A,A)(ただしA>0,B>0)のようになり、再びY軸およびZ軸となす角度がX軸となす角度よりも大きくなることで、X軸の評価量に追いつくようにY-Z平面方向にあるコンテンツの評価結果を得ようと作用することになる。
このように構成された情報配信サーバ200は、携帯電話機100からの要求に応じて、ユーザ特性ベクトルに基づいて評価されたレコメンド情報を配信することができる。よって、嗜好・趣味などの情報を登録する必要はなく、またアクセスしたコンテンツに直接的に関連するコンテンツのみを抽出することがなく、漏れのないレコメンド情報を配信することを可能とする。さらに、評価がされていないコンテンツ、または評価が不十分なコンテンツについてはさらに評価させることができるように要提示コンテンツとして抽出してユーザに提示することで、それらコンテンツに対する閲覧させる機会をユーザに与えることができ、早期にコンテンツに対する利用履歴を収集することができる。
つぎに、携帯電話機100について説明する。図9は、携帯電話機100の機能構成を示すブロック図である。図9に示すとおり、携帯電話機100は、ブラウザ101、履歴送信部102、レコメンド要求送信部103、および配信情報表示部104を含んで構成されている。この携帯電話機100は、CPU、RAM、ROMなどのハードウェアにより構成されており、記憶されているプログラムにしたがってCPUは動作するよう構成されている。具体的には、情報配信サーバ200と同様の構成をとるものであって、図3に示されるハードウェア構成により実現される。以下、各構成について説明する。
ブラウザ101は、インターネットに接続するためのアプリケーション部分であり、インターネット上に配置されているサイトに対してアクセスし、サイトに保持されているコンテンツをユーザに閲覧可能にさせるものである。このブラウザ101は、アクセス履歴を保持するように構成される。
履歴送信部102は、ブラウザ101を用いてアクセスしたコンテンツのアクセス履歴(同一メニュー画面上において選択されたコンテンツおよび選択されなかったコンテンツを示す情報)を送信する部分である。なお、この履歴送信部102は、情報配信サーバ200側でアクセスのたびに履歴情報を収集する機能を有している場合には、必須の構成ではない。
レコメンド要求送信部103は、図示しない操作部をユーザが操作することによりユーザIDとともにレコメンド情報の要求を情報配信サーバ200に送信する部分である。
配信情報表示部104は、ブラウザ101により取得されたメニュー画面およびコンテンツ(ウエブページ)を表示する部分である。
このように構成された携帯電話機100は、ブラウザ101を用いてインターネットにアクセス可能にするとともに、そのアクセス履歴を保持し、履歴送信部102は、情報配信サーバ200からの要求または所定のタイミングでアクセス履歴を送信することができる。
つぎに、これら携帯電話機100および情報配信サーバ200の動作について説明する。図10は、携帯電話機100の要求に応じてコンテンツを配信するときの携帯電話機100と情報配信サーバ200との処理を示すシーケンス図である。
図10に示すとおり、携帯電話機100におけるブラウザ101からの要求に応じて、コンテンツ送信部208により情報配信サーバ200からメニュー画面(例えば、複数ページからなるメニュー画面)が配信される(S101)。携帯電話機100のユーザは、そのメニュー画面から任意の一のコンテンツ(上述Nodeに相当)を選択し、携帯電話機100におけるブラウザ101がこれを受け付けると(S102)、コンテンツの接続要求およびそのあて先でURLが情報配信サーバ200に送信される(S103)。
情報配信サーバ200では、URLはコンテンツ要求受信部201により受信され、閲覧履歴テーブル207cにアクセス履歴として記憶される。そして、このアクセス履歴に基づいて、ユーザ特性ベクトルの計算がなされ、記憶される(S104)。そして、コンテンツ送信部208によりS103において要求のあったあて先に基づいたコンテンツがコンテンツプロバイダ(図示せず)から取得され、配信される(S105)。なお、ユーザ特性ベクトルの計算処理と、コンテンツの配信処理の順番は逆でもよい。
ここでS104におけるユーザ特性ベクトル計算の詳細に処理について説明する。図11は、ユーザ特性ベクトルの計算処理を示すフローチャートである。図11に示すように、まずコンテンツ要求受信部201により受信されたアクセス要求またはアクセス履歴により示されたアクセス履歴情報が、新たに追加されたアクセス履歴として閲覧履歴テーブル207cに記憶される(S201)。
そして、履歴クラス分離部203により、この閲覧履歴テーブル207cに記憶されているアクセス履歴情報に基づいて、各満足クラスまたは不満足クラスに属するコンテンツの特性ベクトルが抽出される(S202)。そして、履歴クラス分離部203により、これら特性ベクトルに基づいて満足クラスと不満足クラスとを分離するための分離平面が生成される(S203)。つぎに、ユーザ特性ベクトル計算部204により、生成された分離平面に直交する直交ベクトルが計算され、ユーザ特性ベクトルが求められる(S204)。なお、NN法においては、必ずしも分離平面を求める必要はなく、不満足クラスの重心から満足クラスへの重心へ結んだ直線をユーザ特性ベクトルとするようにしてもよい。ここで求められたユーザ特性ベクトルは、ユーザ特性ベクトル管理テーブル207aに保持され、レコメンド情報の配信時において配信情報格納部205に記憶されているコンテンツを評価する際に利用される。
つぎに、本実施形態におけるレコメンド情報を配信するときのそのコンテンツの評価処理について説明する。図12は、レコメンド情報を配信するときのシーケンス図である。図12に示すように、携帯電話機100におけるレコメンド要求送信部103によりユーザIDを含んだレコメンド要求が送信され、このレコメンド要求は情報配信サーバ200におけるレコメンド要求受信部202により受信される(S301)。そして、情報配信サーバ200では、配信情報格納部205に記憶されているコンテンツに対して、コンテンツの評価が行われる(S302)。ここでは、コンテンツ評価部206により、ユーザ特性ベクトルにしたがって評価され、高評価順にコンテンツのタイトルを並べたレコメンド情報が生成される。そして、コンテンツ送信部208により、このように生成されたレコメンド情報が配信される(S303)。なお、ここではレコメンド情報には、未評価のコンテンツ、または評価が不十分なコンテンツのうちユーザに提示が要されると判断された要提示コンテンツが含まれている。また、レコメンド要求を受信する前に、予めコンテンツの評価がなされていてもよい。
ここで、S302のコンテンツ評価についてさらに詳細な処理について説明する。図13は、コンテンツの評価処理を示すフローチャートである。図13に示すように、コンテンツ評価部206により、レコメンド要求とともに送信されたユーザIDに基づいて、ユーザ特性ベクトル管理テーブル207aから、対応するユーザ特性ベクトルが取得される(S401)。つぎに、コンテンツ評価部206により、コンテンツ特性ベクトル管理テーブル207bから、各コンテンツの特性ベクトルが取得される(S402)。
そして、コンテンツ評価部206により、ユーザ特性ベクトルとコンテンツの特性ベクトルとの内積が計算される(S403)。コンテンツ評価部206により計算された内積の大きい順に、コンテンツ管理テーブル205aに記憶されているコンテンツIDに対応するタイトルが抽出され、そのタイトルが評価の高い順に並べられることでレコメンド情報が生成される。また、評価済みコンテンツベクトル算出部208により評価済みコンテンツの評価済み総和ベクトルが算出される。この評価済み総和ベクトルに基づいて未評価コンテンツ等から要提示コンテンツが抽出される。すなわち、総和ベクトルに直交する、または略直交するベクトルを有するコンテンツが要提示コンテンツとして抽出される。そして、コンテンツ評価部206により、先のレコメンド情報に、未評価コンテンツ抽出部209により抽出された要提示コンテンツが付加される(S403a)。そして、コンテンツ送信部208により、生成されたレコメンド情報(要提示コンテンツを含む)が携帯電話機100に送信される(S404(図12のS303参照))。
このように、ユーザ特性ベクトルにしたがって、レコメンド情報を提供することができ、漏れなく、要提示コンテンツをレコメンド情報に含めてユーザに提供することができる。よって、ユーザに要提示コンテンツを閲覧させる機会を与えることができ、よりコンテンツの満足・不満足を分けるためのサンプル数を早期に収集することができる。
<閲覧頻度を考慮した分離平面の生成方法>
つぎに、コンテンツの閲覧頻度を用いた重み付け処理を行い、この重み付け処理された特性ベクトルを用いて分離平面を生成するときの履歴クラス分離部203の処理について説明する。なお、ここでは、NN法を用いた分離平面の生成について説明する。
図14は、閲覧頻度を考慮して特性ベクトルの重心を求める処理を示す概念図でありNodeA〜Cに対応したコンテンツc1〜c3の特性ベクトルの位置を表す特徴空間を示す概念図である。コンテンツc1の閲覧頻度は3回、コンテンツc2の閲覧頻度は1回、コンテンツc3の閲覧頻度は10回とする。なお、閲覧履歴テーブル207cは、閲覧されたコンテンツの閲覧履歴、閲覧されていないコンテンツの不閲覧履歴を記憶しておくことが好ましく、それぞれの頻度を保持または計算可能に記憶しておくことが必要である。
この場合、これらコンテンツc1〜c3の重心は、以下の式(1)により計算される。
なお、ciは閲覧されたコンテンツの特性ベクトル、niは閲覧頻度である。
この計算を行うことにより重心が定まる。また、図示していないが閲覧されていないコンテンツについても同様に式(1)を用いて、閲覧さていないコンテンツの特性ベクトルを用いてその重心を求める。そして、閲覧されていないコンテンツの重心から閲覧されたコンテンツの重心に対して結んだ直線をユーザ特性ベクトルとして求めることができる。なお、この直線は、分離平面に直交する直線と同じ向きを取るものであり、分離平面を算出し、この分離平面に直交する直交ベクトルを求めるようにしてもよいが、NN法においては必ずしも分離平面は必要とはならない。
これにより、コンテンツの閲覧頻度を利用してユーザ特性ベクトルを求めることができ、閲覧頻度を利用しない場合と比較して、ユーザの嗜好に近いユーザ特性ベクトルを求めることができる。よって、ユーザの嗜好にそったコンテンツの評価を行うことができる。
つぎに、レコメンド情報を生成するときの処理(S403a)について説明する。図18は、要提示コンテンツを含んだレコメンド情報を生成するときの処理を示すフローチャートである。情報配信サーバ200において、図13のS403にて取得された内積値に基づいてユーザの嗜好が推定され、レコメンド情報が選出される。すなわち、コンテンツ評価部206により、ユーザ特性ベクトルとコンテンツ特性ベクトルとの内積値に基づいて、ユーザ特性ベクトルとの類似度の高いコンテンツ特性ベクトルを有するコンテンツが抽出され、レコメンド情報とされる(S502)。つぎに、評価済みコンテンツベクトル算出部209により、評価済みのコンテンツのベクトルに基づいて、ユーザの評価済み総和ベクトルが算出される(S503)。ここで算出された評価済み総和ベクトルとなす角の大きいベクトルを有するコンテンツが要提示コンテンツとして、要提示コンテンツ抽出部210により抽出される(S504)。抽出されると、コンテンツ評価部206により、要提示コンテンツはレコメンド情報に付加される(S505)。
このようにして、レコメンド情報に要提示コンテンツが付加され、携帯電話機100においてユーザはレコメンド情報に従って、要提示コンテンツを含めたコンテンツの選択を行うことができる。よって、ユーザは要提示コンテンツについて閲覧する機会を得ることができる。
つぎに、本実施形態における情報配信サーバ200の作用効果について説明する。本実施形態の情報配信サーバ200によれば、評価済みコンテンツベクトル算出部209は、評価済みのコンテンツの正規化ベクトルの総和を算出し、要提示コンテンツ抽出部210は、算出された総和ベクトルに対して所定以上の角度を形成するベクトルから構成される未評価のコンテンツを抽出する。そして、コンテンツ送信部208は、抽出された要提示コンテンツをユーザに提示するようユーザ宛に送信することができる。これにより、要提示コンテンツをユーザに提示させ、選択可能にすることができ、ユーザに評価が不十分などのコンテンツに対する選択の機会を与えることができる。よって、未評価コンテンツまたは評価が不十分なコンテンツの利用履歴を早期に収集することができる。
ここで、正規化ベクトルと抽出対象とするコンテンツのベクトルとの角度が90度に近いコンテンツを予め定められた上位n個抽出することで、より適切な要提示コンテンツを抽出することができる。抽出対象とするベクトルの角度は、90度またはその近似値とすることが好ましく、より適切な要提示コンテンツとしての未評価コンテンツまたは評価が不十分なコンテンツを抽出することができる。
また、情報配信サーバ200によれば、コンテンツ要求受信部201により、ユーザ操作により、複数の選択対象項目コンテンツから一のコンテンツを選択することを受け付け、履歴格納部207(閲覧履歴テーブル207c)が、受け付けられた選択されたコンテンツ、選択されなかったコンテンツを特定する特定情報(例えばコンテンツID等)を評価済みコンテンツ特定情報として記憶しておく。そして、評価済みコンテンツベクトル算出部209は、記憶された評価済みコンテンツ特定情報により特定された評価済みコンテンツの正規化ベクトルの総和を算出する。これにより、評価済みコンテンツに基づいて要提示コンテンツを適切に選択することができる。
また、情報配信サーバ200によれば、要提示コンテンツ抽出部210は、評価済みコンテンツではないコンテンツまたは評価が不十分なコンテンツからコンテンツを要提示コンテンツとして抽出することができ、特に評価が不十分なコンテンツを抽出することができる。
また、レコメンド情報とともに要提示コンテンツをユーザに提示するとより効果的に閲覧機会をユーザに与えることができる。例えば、以下の通りである。携帯電話機100において、ブラウザを操作することによりメニュー画面が表示されており、Node1〜Node5などのコンテンツを表す複数の選択対象項目が表示されている。そして、ユーザ操作により、これらコンテンツから任意の一のコンテンツを選択すると、携帯電話機100は情報配信サーバ200に選択されたコンテンツおよび選択されなかったコンテンツを送信し、情報配信サーバ200(コンテンツ要求受信部201)はこれを受け付ける。コンテンツ要求受信部201は、選択されたコンテンツを、コンテンツプロバイダから取得し、コンテンツ送信部208はこれを携帯電話機100に送信する。
一方、閲覧履歴テーブル207cは、選択されたコンテンツの特性ベクトルおよび選択されなかったコンテンツの特性ベクトルを記憶する。履歴クラス分離部203は、閲覧履歴テーブル207cに記憶されている選択されたコンテンツの特性ベクトルと選択されなかったコンテンツの特性ベクトルとを、特徴空間内で分離するための分離平面を生成する。そして、ユーザ特性ベクトル計算部204は、生成された分離平面に直交する直交ベクトルに基づいてユーザ特性ベクトルを生成し、これをユーザ特性ベクトル管理テーブル207aに記憶させる。なお、NN法においては、必ずしも分離平面を求める必要はなく、不満足クラスの重心から満足クラスへの重心へ結んだ直線をユーザ特性ベクトルとするようにしてもよい。その後、レコメンド要求をレコメンド要求受信部202が受信すると、コンテンツ評価部206は、記憶されているユーザ特性ベクトルに基づいて、コンテンツの評価を行う。
これにより、ユーザの特性を示すベクトルにしたがってコンテンツの評価を行うことができ、ユーザの趣味・嗜好など、またアクセス履歴などの直接的な情報に基づいて推薦すべきコンテンツを評価することがなく、漏れのないコンテンツをユーザに提供することができる。