(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-09
(45)【発行日】2023-06-19
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
H04L 67/02 20220101AFI20230612BHJP
【FI】
H04L67/02
(21)【出願番号】P 2020047633
(22)【出願日】2020-03-18
【審査請求日】2022-02-14
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110000637
【氏名又は名称】弁理士法人樹之下知的財産事務所
(72)【発明者】
【氏名】大倉 俊平
(72)【発明者】
【氏名】岩瀬 智亮
(72)【発明者】
【氏名】湯浅 翔悟
(72)【発明者】
【氏名】石川 直樹
【審査官】前田 健人
(56)【参考文献】
【文献】特開2016-048437(JP,A)
【文献】特開2019-106033(JP,A)
【文献】特開2015-014922(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
G06F 16/00
(57)【特許請求の範囲】
【請求項1】
ユーザの特徴を示すユーザ特徴ベクトル、及び、コンテンツの特徴を示すコンテンツ特徴ベクトルに基づいて、前記ユーザの前記コンテンツへの興味を示すスコアを算出するスコア算出部と、
各前記コンテンツに対する前記スコアに対して、絶対値が第一閾値以下となる乱数を加算して前記スコアを補正するスコア補正部と、
補正された前記スコアが高い順に所定数の前記コンテンツを選択して前記ユーザが所有する端末装置に配信する配信部と、
前記配信部により前記端末装置に配信された複数の前記コンテンツのうち、前記端末装置において選択された前記コンテンツを選択コンテンツとして取得する選択コンテンツ取得部と、
前記選択コンテンツに基づいて前記ユーザ特徴ベクトルを補正するユーザ補正部と、
を備え
、
前記スコア算出部は、前記選択コンテンツ取得部が、所定の判定期間の間、前記スコアが第二閾値以上となる前記コンテンツを前記選択コンテンツとして取得しなかった場合に、当該コンテンツの前記スコアを低減させる、
ことを特徴とする情報処理装置。
【請求項2】
コンピュータによりコンテンツを配信する情報処理方法であって、
前記コンピュータは、スコア算出部、スコア補正部
、配信部
、選択コンテンツ取得部、及びユーザ補正部を備え、
前記スコア算出部が、ユーザの特徴を示すユーザ特徴ベクトル、及び、前記コンテンツの特徴を示すコンテンツ特徴ベクトルに基づいて、前記ユーザの前記コンテンツへの興味を示すスコアを算出するスコア算出ステップと、
前記スコア補正部が、各前記コンテンツに対する前記スコアに対して、絶対値が第一閾値以下となる乱数を加算して前記スコアを補正するスコア補正ステップと、
前記配信部が、補正された前記スコアが高い順に所定数の前記コンテンツを選択して前記ユーザが所有する端末装置に配信する配信ステップと、
前記選択コンテンツ取得部が、前記配信ステップで前記端末装置に配信された複数の前記コンテンツのうち、前記端末装置において選択された前記コンテンツを選択コンテンツとして取得する選択コンテンツ取得ステップと、
前記ユーザ補正部が、前記選択コンテンツに基づいて前記ユーザ特徴ベクトルを補正するユーザ補正ステップと、
を実施し、
前記スコア算出ステップでは、前記選択コンテンツ取得ステップで前記選択コンテンツ取得部が、所定の判定期間の間、前記スコアが第二閾値以上となる前記コンテンツを前記選択コンテンツとして取得しなかった場合に、当該コンテンツの前記スコアを低減させる、
ことを特徴とする情報処理方法。
【請求項3】
コンピュータにより読み取り実行可能な情報処理プログラムであって、
前記コンピュータを、請求項
1に記載の情報処理装置として機能させる
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザにコンテンツをレコメンドする情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
従来、インターネットを介して、ニュースや広告等のコンテンツを、ユーザが所有する端末装置にレコメンドする情報処理装置が知られている(例えば、特許文献1参照)。
このような従来の情報処理装置では、ユーザの特徴を示すユーザ特徴ベクトルと、コンテンツの特徴を示すコンテンツ特徴ベクトルとを用いて、ユーザに対するコンテンツのスコアを算出し、当該スコアが高い順にコンテンツを並び替えて、ユーザの端末装置に配信(レコメンド)する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記のようなレコメンドを配信する情報処理装置において、各コンテンツを類似度が近い順に横軸に並べ、各コンテンツに対するユーザのスコアを縦軸としたグラフ(スコアを曲線で示したグラフ)を用いると、特定のコンテンツでスコアがピークとなり、当該コンテンツの近傍に配置されたコンテンツのスコアも総じて高くなる。これは、特定のコンテンツに対応したジャンルに対して、ユーザが興味を持っていることを示している。
従来の情報処理装置では、このようなピーク近傍のコンテンツを優先的にユーザにレコメンドする。ここで、ピークのスコアが十分に高い場合、ユーザの当該ジャンルへの興味が際立っていることを示しており、適切なコンテンツのレコメンドができているといえる。
一方で、ピークのスコアが小さく、全てのコンテンツのスコアがなだらかに変化する場合がある。この場合、ユーザがどのようなジャンルに興味があるのか不明であり、ピークに対応するジャンルがユーザの興味が高いジャンルとは限らない。したがって、ユーザの興味があるジャンルを適切に判定するために、多種ジャンルのコンテンツを配信することが好ましい。しかしながら、従来の情報処理装置では、このような場合でも、ピークに対応するコンテンツを優先的に配信してしまうため、ユーザの興味があるコンテンツを適切に判定することが困難となる。
【0005】
本発明は、ユーザの興味があるコンテンツを適切に判定可能な情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、ユーザの特徴を示すユーザ特徴ベクトル、及び、コンテンツの特徴を示すコンテンツ特徴ベクトルに基づいて、前記ユーザの前記コンテンツへの興味を示すスコアを算出するスコア算出部と、各前記コンテンツに対する前記スコアに対して、絶対値が第一閾値以下となる乱数を加算して前記スコアを補正するスコア補正部と、補正された前記スコアが高い順に所定数の前記コンテンツを選択して前記ユーザが所有する端末装置に配信する配信部と、を備える。
【発明の効果】
【0007】
本発明では、各コンテンツに対するスコアが一様であり、ユーザの興味があるジャンルを特定できない場合に、多種多様なジャンルのコンテンツをランダムでレコメンド配信することができる。これにより、当該レコメンドに対して、ユーザがいずれかを選択することで、ユーザが興味のあるコンテンツのジャンルを特定でき、ユーザの興味があるコンテンツを適切に判定することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の一実施形態の情報処理システムを示す概略図。
【
図2】本実施形態のサーバ装置の概略構成を示すブロック図。
【
図3】本実施形態における情報処理方法を示すフローチャート。
【
図4】本実施形態のステップS3で算出されたスコアの一例を示す図。
【
図5】本実施形態のステップS3で算出されたスコアの一例を示す図。
【
図6】本実施形態において、
図4のスコアに対して乱数を加算した補正スコアの一例を示す図。
【
図7】本実施形態において、
図5のスコアに対して乱数を加算した補正スコアの一例を示す図。
【
図8】
図4のスコアに対する従来のレコメンド表示欄の一例を示す図。
【
図9】
図6の補正スコアに基づいた、本実施形態のレコメンド表示欄の一例を示す図
【
図10】
図7の補正スコアに基づいた、本実施形態のレコメンド表示欄の一例を示す図。
【発明を実施するための形態】
【0009】
以下、本発明に係る一実施形態について説明する。
[情報処理システムの概要]
図1は、本実施形態の情報処理システムを示す概略図である。
本実施形態の情報処理システムは、
図1に示すように、情報処理装置であるサーバ装置10、サーバ装置10に対してインターネットを介して接続された複数の端末装置20を備える。この情報処理システムは、サーバ装置10から端末装置20にコンテンツであるニュースコンテンツ(以降、ニュースと略す場合がある)をレコメンドするニュース配信システムであり、端末装置20を所有するユーザの特徴に応じたニュースをレコメンドする。
以下、このような情報処理システムの、特にサーバ装置10について詳細に説明する。
【0010】
[サーバ装置10の構成]
図2は、サーバ装置10の概略構成を示すブロック図である。
サーバ装置10は、一般的なコンピュータにより構成されており、
図2に示すように、通信部11、記憶部12、プロセッサ13等の、コンピュータを構成する各部を備えている。なお、サーバ装置10を構成するコンピュータの数は特に限定されない。例えば、1台のコンピュータによってサーバ装置10が構成されてもよく、複数のコンピュータをネットワークで接続して構築されるクラウドサーバをサーバ装置10としてもよい。
【0011】
通信部11は、インターネットに接続され、インターネットを介して端末装置20等の各装置と通信する。
【0012】
記憶部12は、サーバ装置10を制御するための各種情報や情報処理プログラムを記録する。
また、記憶部12は、端末装置20に配信するニュースを記録するニュース蓄積部121、及び、各ユーザに関するユーザ情報を記録するユーザ情報蓄積部122等のデータベースを備えている。
なお、ここでは、サーバ装置10の記憶部12に、ニュース蓄積部121やユーザ情報蓄積部122が設けられる例を示すが、サーバ装置10とネットワークを介して通信可能に接続された他のデータサーバやクラウドストレージに、これらの情報が記録される構成としてもよい。
【0013】
ニュース蓄積部121には、端末装置20に配信可能なニュースが蓄積されるデータベースであり、具体的には、複数のニュース情報が記録されている。これらのニュース情報は、例えばサーバ装置10の管理者が生成してもよく、ニュースの編集者が所有する編集者端末から送信されるものであってもよい。あるいは、サーバ装置10が、インターネット上の所定のウェブコンテンツをクローリングして収集してもよい。
ニュース情報は、コンテンツID、入稿日時情報、ニュース詳細情報等を含む。また、ニュース情報として、さらに、ニュースのジャンル等が記録されていてもよい。
コンテンツIDは、ニュース情報を識別する識別情報である。
入稿日時情報はニュースが入稿された日時である。
ニュース詳細情報は、ニュースの詳細な内容であり、例えばテキストデータや、イメージデータを含んで構成されている。ニュース詳細情報に含まれるテキストデータには、ニュースの詳細に関係する多数のキーワードが含まれる。
【0014】
ユーザ情報蓄積部122には、上述のように複数のユーザ情報が記録されている。このユーザ情報は、ユーザID、ユーザ属性情報、閲覧履歴情報等を含む。
ユーザIDは、ユーザを識別する識別情報である。
ユーザ属性情報は、ユーザの様々な属性を記録する。例えば、ユーザの性別、年齢層、居所等の個人情報が含まれてもよく、ユーザの趣味等の嗜好性が記録されていてもよい。
閲覧履歴情報は、サーバ装置10からレコメンドされたニュースに対して、ユーザが選択(閲覧)したニュースの履歴情報である。
なお、ユーザ情報としては、その他、ユーザが端末装置20を操作して実施した検索処理における検索キーワードの履歴、インターネットを介した商品売買履歴、ユーザのウェブコンテンツの閲覧履歴等が含まれてもよい。
【0015】
プロセッサ13は、CPU等の演算回路、RAM等の記録回路により構成される。プロセッサ13は、記憶部12に記録されている情報処理プログラムをRAMに展開し、RAMに展開されたプログラムとの協働で、各種処理を実行する。
そして、プロセッサ13は、情報処理プログラムを読み込み実行することで、
図2に示すように、ユーザ情報取得部131、ユーザ特徴算出部132(ユーザ補正部)、コンテンツ特徴算出部133、スコア算出部134、スコア補正部135、及び配信部136として機能する。
【0016】
ユーザ情報取得部131は、本発明の選択コンテンツ取得部としても機能し、端末装置20からユーザ情報を取得する。すなわち、ユーザ情報取得部131は、サーバ装置10から端末装置20にレコメンドしたニュースに対して、ユーザがいずれかのニュースを選択及び閲覧した場合に、その選択されたニュースを選択コンテンツとして取得する。つまり、ユーザのニュースの閲覧履歴情報を取得する。
また、ユーザ情報取得部131は、その他、端末装置20でのユーザの入力操作によって入力されたユーザ属性を取得したり、検索履歴等の他の行動履歴を取得したりしてもよい。
【0017】
ユーザ特徴算出部132は、本発明のユーザ補正部としても機能し、ユーザ情報取得部131によって取得されたユーザ情報に基づいて、ユーザの特徴を示す複数次元の情報であるユーザ特徴ベクトルを算出する。なお、本実施形態では、ユーザ特徴算出部132は、ユーザ情報の閲覧履歴情報に基づいて、ユーザ特徴ベクトルを算出する例を示すが、閲覧履歴情報に加え、ユーザ属性や、その他の行動履歴情報などを用いてユーザ特徴ベクトルを算出してもよい。なお、ユーザ特徴ベクトルの算出は公知の技術を利用でき、例えば、適合フィードバックなどを利用できる。
【0018】
コンテンツ特徴算出部133は、ニュースの特徴であるコンテンツ特徴ベクトルを、ニュース詳細情報に基づいて算出する。上述したように、ニュース詳細情報は、ニュースの内容を示すテキストデータを含み、多数のキーワードが含まれる。コンテンツ特徴ベクトルの算出は公知の技術を利用でき、例えば、tf-idf(Term Frequency - Inverse Document Frequency)、Key-Value方式、W2V(Word 2 Vector)等の技術を用いて、ニュース詳細情報からコンテンツ特徴ベクトルを算出する。
【0019】
スコア算出部134は、ニュース蓄積部121に記録される各ニュースに対してユーザがどの程度興味を有するかを予測するスコアを算出する。
スコア補正部135は、スコア算出部134により算出された各ニュースのスコアに対して、絶対値が第一閾値以下となる乱数を加算してスコアを補正する。すなわち、各スコアを所定範囲内で増減して補正する。
なお、スコア算出部134及びスコア補正部135の詳細な処理については後述する。
配信部136は、スコア補正部135により補正されたスコアに基づいて、スコアが高い順にニュースを選出して端末装置20にレコメンドする。
【0020】
[端末装置20の構成]
端末装置20は、ユーザが管理するコンピュータであり、例えばスマートフォン、タブレット端末、パーソナルコンピューター等により構成されている。
端末装置20の具体的な構成の図示は省略するが、端末装置20は、一般的なコンピュータが有する基本的な構成を有する。すなわち、端末装置20は、操作者の操作を受け付ける入力操作部、画像情報を表示させるディスプレイ、各種情報を記録する記録装置、各種情報を演算処理する演算回路(CPU等)を備えている。
【0021】
[情報処理方法]
次に、本実施形態の情報処理システムでのレコメンド方法について、特に、サーバ装置10での情報処理方法を中心に説明する。
図3は、本実施形態におけるレコメンド方法を示すフローチャートである。
サーバ装置10は、端末装置20へのニュースのレコメンド処理にあたり、事前にユーザ情報及びニュース情報を取得しており、記憶部12に記憶しているものとする。また、サーバ装置10のコンテンツ特徴算出部133は、ニュース情報の取得時に当該ニュースのコンテンツ特徴ベクトルを算出しているものとする。
【0022】
サーバ装置10は、端末装置20から、ニュース配信を要求する要求情報及びユーザIDを受信する(ステップS1)。そして、ユーザ特徴算出部132は、要求情報とともに受信したユーザIDに基づいてユーザ情報を読み込み、当該ユーザに対するユーザ特徴ベクトルを算出する(ステップS2)。
この後、スコア算出部134は、算出されたユーザ特徴ベクトルと、コンテンツ特徴ベクトルとに基づいて、各ニュース情報に対するスコアを算出する(ステップS3:スコア算出ステップ)。このステップS3では、スコア算出部134は、例えばユーザ特徴ベクトルと、コンテンツ特徴ベクトルとの内積を算出することで、スコアを算出する。
【0023】
次に、スコア補正部135は、ステップS3で算出されたスコアに対して、乱数を加算する(ステップS4:スコア補正ステップ)。
【0024】
ここで、ステップS4で加算される乱数について説明する。
図4及び
図5は、ステップS3で算出されたスコアの一例を示す図である。
図4及び
図5において、横軸は各ニュース、縦軸は各ニュースに対するスコアを示している。ここで、横軸には、コンテンツ特徴ベクトルの類似度が近い順にニュースを配置しており、互いに近い位置に配置されているニュースは、ジャンルが近いニュースであることを示している。
例えば、
図4では、スポーツのジャンルに対して高い興味を持つユーザの各ニュースに対するスコアの一例であって、スポーツのジャンルにおけるニュースN
1でスコアがピーク値となる。ニュースN
1の周辺は、ニュースN
1とコンテンツ特徴ベクトルが類似する他のニュースであって、ニュースN
1と略同じようなジャンル(スポーツ)を有している。これは、ユーザの過去のニュースの閲覧履歴において、他のジャンルのニュースに比べて、スポーツのニュースをより多く閲覧していたことを示しており、ユーザ特徴算出部132は、このような過去のニュースの閲覧履歴を用い、機械学習によりユーザ特徴ベクトルを推算する。これにより、スポーツのニュースに対するスコアが、他のジャンルのニュースより高くなる。本実施形態では、スコアが所定の第二閾値S
Th以上となる場合に、スコアが、他のジャンルに比べて際立って高いと判定する。一般に、ニュースをレコメンドする場合、スコアが高いニュースは、ユーザの最も興味が高いジャンルのニュースであると予測でき、スコアが高い順にニュースを並び替えて端末装置20にレコメンドする。したがって、
図4に示すように、特定のジャンルでスコアが第二閾値S
Th以上となる場合、ユーザの興味に対応したニュースを適切に配信可能である。
【0025】
一方、
図5は、様々なジャンルに対するニュースを一様に閲覧しているユーザの、各ニュースに対するスコアの一例である。ユーザが様々なジャンルのニュースを閲覧した場合、ユーザ特徴算出部132により算出されるユーザ特徴ベクトルも、多数の次元での値が一様となり、各ニュースに対するスコアも、
図5のように、一様になだらかに変化する。すなわち、
図5の例では、全ニュースに対するスコアが、第二閾値S
Th未満となっている。このようなスコアが得られる場合、ユーザの興味があるジャンルを特定できていないことを示している。
ここで、従来のニュースレコメンド方法では、スコアが高い順にニュースを並べ替えて端末装置20に送信するので、スコアが一様であっても、その中でスコアが高い順にニュースが配信されることになる。例えば、
図5の例では、スポーツのニュースN
1に対するスコアがピークとなり、他のニュースよりも若干高くなっている。このため、
図4のパターンと同様、スポーツのニュースN
1及びその周辺のスポーツのジャンルのニュースが、レコメンドされるニュースの上位を占めることになる。しかしながら、ユーザの興味があるジャンルは特定できていないので、従来のレコメンド方法を用いると、ユーザが他のジャンルに興味があるのも関わらず、スポーツのニュースのみが上位に配信されることになる。
【0026】
これに対して、本実施形態ではステップS4で、
図4や
図5に示すスコアに対して乱数が加算される。
図6は、
図4に対して乱数を加算した補正スコアの一例を示す図であり、
図7は、
図5に対して乱数を加算した補正スコアの一例を示す図である。
図6及び
図7において、一点鎖線は、補正前のスコアを示し、実線は、乱数を加算して補正した補正スコアの一例を示し、二点鎖線で挟まれる領域は、補正スコアとして取りうる範囲を示している。
ステップS4では、スコア補正部135は、乱数として、絶対値が第一閾値α以下となる乱数(正数及び負数を含む)を加算する。なお、第一閾値αは、第二閾値SThを超えるニュースのレコメンド率をどの程度に設定するかによって、適宜変更することができる。すなわち、第二閾値S
Th以上のスコアのニュースが有る場合、ユーザが当該ニュースに対して強い興味を持っていることを示しており、乱数を加算することで、当該第二閾値S
Thを大幅に超えるスコア(第二閾値S
Thよりも、所定値M以上大きいスコア)が、第二閾値S
Th未満の他のニュースのスコアよりも低下する場合、ユーザの興味に対応したニュースがレコメンドできない。したがって、乱数を加えた場合でも、第二閾値S
Thを大幅に超えるスコアのニュースのレコメンド率が低下しないように、第一閾値αが適宜設定される。例えば、第一閾値αを、α<M/2とすることで、スコアがS
Th+Mを超えるニュースの補正スコアが、第二閾値S
Th未満のニュースの補正スコアよりも小さくなることを抑制できる。
これにより、
図6に示すように、第二閾値S
Thを所定値M以上、上回るスコアのニュースN
1やその周辺のニュースでは、たとえ負の乱数が加算されて補正されても、補正スコアが他のジャンルのニュースよりも高くなる。つまり、補正スコアが高い順にニュースを並び替えると、ニュースN
1と同じジャンルのニュースが上位に並ぶことになり、ユーザの興味に即したレコメンドが行える(レコメンド精度の低下が抑制できる)。
一方、
図7に示すように、各ニュースのスコアが一様である場合、ランダムにスコアが高いニュースが現れることになる。つまり、補正スコアが高い順にニュースを並び替えると、コンテンツ特徴ベクトルがそれぞれ異なる、様々なジャンルのニュースが選出され、これらの様々なジャンルのニュースがレコメンドされることになる。
【0027】
この後、配信部136は、スコア補正部135によって補正されたスコア(補正スコア)が高い順にニュースを選択して、端末装置20にレコメンドする(ステップS5:配信ステップ)。
図8は、
図4に示すように、スポーツに対するニュースN
1のスコアがピークとなる場合に端末装置20に配信される、従来のニュースのレコメンド表示欄40を示す図である。
図9は、
図6に示すように
図4のスコアを補正した場合に、端末装置20に配信される、本実施形態のニュースのレコメンド表示欄50を示す図である。
図10は、
図7に示すように
図5のスコアを補正した場合に、端末装置20に配信される、本実施形態のニュースのレコメンド表示欄50を示す図である。
なお、詳細な説明は省略するが、
図8から
図10に示す例は、主にスマートフォン等の携帯端末にインストールされるニュース閲覧アプリケーションでの表示例である。通常、このようなニュース閲覧アプリケーションでは、ユーザ情報に基づいたニュースがレコメンドされる「おすすめ」タブ、最新のニュースを新着順に表示させる「TOP」タブ、各種ジャンルに対応したタブ等が表示され、これらのいずれかを選択することで、タブに対応したニュースがレコメンドされる。
ここでは、ユーザ情報に基づいてニュースのレコメンドを行う「おすすめ」タブが選択された場合に、レコメンド表示欄40,50に表示されるニュースについて説明する。
【0028】
従来の情報処理装置では、
図4に示すように例えばスポーツに対するニュースN
1のスコアが高い場合では、
図8に示すような、上位にスポーツに対するニュースが配置されたレコメンド表示欄40が端末装置20に表示される。なお、ユーザが端末装置20を操作して、レコメンド表示欄40を下方にスクロールすることで、レコメンド表示欄40に他のニュースが表示される。
また、従来の情報処理装置では、
図5に示すように、各ニュースのスコアが一様である場合でも、上位スコアのニュースを選択する。したがって、ニュースN
1のスコアが第二閾値S
Th未満であったとしても、
図8のように、上位にスポーツに対するニュースが配置されたレコメンド表示欄40が表示される。この場合、ユーザは、レコメンド表示欄40を下方にスクロールさせることで、自分が興味のあるニュースを探す必要がある。また、仮に、興味が無いにもかかわらず、レコメンド表示欄40に表示された上位のニュースを選択、閲覧すると、当該閲覧履歴情報に基づいてユーザ特性ベクトルが補正される。したがって、ユーザの興味に対応したユーザ特徴ベクトルを正しく算出することがより困難になってしまう。
【0029】
一方、本実施形態では、スコアに対して乱数を加算した補正スコアに基づいてニュースが選出される。ここで、
図4のように、第二閾値S
Thを大きく超えるスコアのニュースが有る場合、当該ニュースのスコアに乱数として負の値が加算されたとしても、第二閾値S
Thを超える。この場合、
図9のように、スコア上位の並び順が多少変化するものの、選出されるニュースは、従来と同様となり、レコメンド精度の低下はない。
【0030】
また、本実施形態では、
図5のように、各ニュースのスコアが一様であっても、
図7の様にスコアが補正される。このため、スコアを高い順に選択すると、様々なジャンルのニュースが、ランダムで選出され、
図10に示すように、端末装置20に表示されるレコメンド表示欄50に、多種多様なジャンルのニュースN
Xが配置される。
この場合、ユーザは、レコメンド表示欄50の上位に配置されるニュースに、興味のあるニュースが含まれる場合、レコメンド表示欄50を下方にスクロールさせることなく、当該ニュースを選択、閲覧することができる。
また、レコメンド表示欄50の上位に興味のあるニュースが配置される可能性も高くなり、1つのジャンルのニュースのみが配置される場合に比べて、ユーザの興味に対応した閲覧履歴情報を適正に取得でき、ユーザが真に興味を有するジャンルを適正に学習することができる。
【0031】
この後、端末装置20において、レコメンド表示欄50に配置されたニュースのうちのいずれかがユーザの操作によって選択されると、端末装置20から選択されたニュース(選択コンテンツ)を示す選択コンテンツ情報(例えば、コンテンツID)がサーバ装置10に送信される。
サーバ装置10のユーザ情報取得部131は、端末装置20から選択コンテンツ情報を受信したか否かを判定する(ステップS6)。
ステップS6でNOと判定される場合、つまり、選択コンテンツ情報が受信されず、端末装置20において、ユーザによるニュースの閲覧が終了した場合等では、処理を終了させる。
一方、ステップS6でYESと判定される場合、つまり、選択コンテンツ情報を受信した場合、ユーザ情報取得部131は、閲覧履歴情報を更新する(ステップS7)。例えば、選択コンテンツ情報を受信した日時と、選択コンテンツに対応するコンテンツIDとを閲覧履歴情報に記録する。
【0032】
ステップS7の後、ユーザ特徴算出部132は、さらに、更新された閲覧履歴情報を含むユーザ情報に基づいて、ユーザ特徴ベクトルを算出する(ステップS8)。
この後、スコア算出部134は、ステップS8で算出されたユーザ特徴ベクトルに基づいて、各ニュースに対するスコアを再度算出する(ステップS9:スコア算出ステップ)。
【0033】
さらに、スコア算出部134は、受信した選択コンテンツ情報に対応したニュースが、第二閾値STh以上のスコアのニュースであるか否かを判定する(ステップS10)。
ステップS10でYESと判定される場合、つまり、選択されたニュースが、第二閾値STh以上のスコアのニュースである場合、ステップS4に戻る。
【0034】
一方、ステップS10でNOと判定される場合、所定の判定期間(例えば1週間)の間で、選択されなかった第二閾値STh以上のスコアのニュースが有るか否かを判定する(ステップS11)。
このステップS11でNOと判定される場合、つまり、判定期間の間で選択されなかった第二閾値STh以上のスコアのニュースがない場合は、ステップS4に戻る。
【0035】
ステップS11でYESと判定される場合、つまり、判定期間の間で選択されなかった第二閾値STh以上のスコアのニュースが有る場合、当該ニュース(対象ニュース)は、ユーザにとって興味がないニュース、又は、ユーザの興味が薄れているニュースである可能性がある。
この場合、スコア算出部134は、対象ニュースのスコアを、所定量低減させる(ステップS12)。スコアの低減値は、例えば一定の値であってもよく、一定の割合であってもよい。この後、ステップS4に戻る。
これにより、スコアが高いニュースであっても、所定の判定期間の間でユーザに閲覧されないニュースはスコアが徐々に低減し、スコア補正部135によって乱数が加算された場合に、他のニュースのスコアよりも下回る可能性が出てくる。したがって、他のニュースがレコメンド表示欄50の上位に表示される可能性も高くなり、ユーザが真に興味を有するジャンルを適正に学習することができる。
【0036】
[本実施形態の作用効果]
本実施形態のサーバ装置10は、記憶部12と、プロセッサ13とを備え、プロセッサ13は、記憶部12に記憶された情報処理プログラムを読み込むことで、スコア算出部134、スコア補正部135、及び配信部136として機能する。
スコア算出部134は、ユーザの特徴を示すユーザ特徴ベクトル、及び、コンテンツ(ニュース)の特徴を示すコンテンツ特徴ベクトルに基づいて、ユーザのコンテンツへの興味を示すスコアを算出する。スコア補正部135は、各ニュースに対するスコアに対して、絶対値が第一閾値α以下となる乱数を加算してスコアを補正する。配信部136は、補正スコアが高い順に所定数のニュースを選択して端末装置20にレコメンドする。
【0037】
これにより、各ニュースに対するスコアが一様であり、ユーザの興味があるジャンルを特定できない場合に、多種多様なニュースをランダムでレコメンド配信することができる。よって、当該レコメンドに対して、ユーザがいずれかを選択することで、ユーザが興味のあるニュースのジャンルを閲覧履歴情報として取得でき、ユーザの興味を学習することができる。一方、特定のニュースに対して第二閾値以上のスコアを有する場合は、ユーザが当該特定のニュースのジャンルに対して際立って興味を有することを意味する。このような場合に、当該ニュースがレコメンドされない場合、ユーザの興味に対応したニュースが配信されず、レコメンド精度が低下する。しかしながら、本実施形態では、第一閾値以下の乱数を加算するものであり、このように、際立って高いスコアに対して乱数を加算しても、ニュース全体から見ると、当該ジャンルのニュースのスコアは依然として高く、当該ジャンルのニュースがレコメンドされるニュースとして選択される。よって、レコメンド精度が低下することがない。
【0038】
本実施形態では、サーバ装置10のプロセッサ13は、ユーザ情報取得部131、及びユーザ特徴算出部132としても機能する。ユーザ情報取得部131は、本発明の選択コンテンツ取得部であり、配信部136により端末装置20に配信された複数のニュースのうち、端末装置20において選択及び閲覧されたニュースを選択コンテンツ情報として取得する。そして、ユーザ特徴算出部132は、本発明のユーザ補正部としても機能し、選択コンテンツ情報に基づいて更新された閲覧履歴情報に基づいて、ユーザ特徴ベクトルを算出する。
上述のように、ユーザの興味ジャンルが特定されていない場合、スコアに対して乱数が加算された補正スコアに基づいたニュースの配信を行い、複数のジャンルのニュースがランダムでレコメンドされることになる。この際、配信されたニュースのいずれかを選択する操作が端末装置20で実施されることで、閲覧履歴情報が更新され、ユーザ特徴算出部132は、その閲覧履歴情報に基づいたユーザ特徴ベクトルを算出する。つまり、ランダムで配信されたニュースから、ユーザが興味を持つニュースのジャンルを特定でき、ユーザの興味を適切に学習することができる。よって、ユーザが興味を持つニュースのジャンルに対するベクトル値が高いユーザ特徴ベクトルを算出でき、これによって、真にユーザが興味を持つジャンルに対するニュースをレコメンドすることができる。
【0039】
本実施形態では、ユーザ情報取得部131が、判定期間の間、スコアが第二閾値STh以上となるニュースに対する選択コンテンツ情報を取得しなかった場合に、スコア算出部134は、当該ニュースに対するスコアを所定の低減値だけ低減させる。
これにより、スコアが高いもののユーザの興味がないジャンルのニュース、又は、ユーザの興味が薄れてきたニュースに対するスコアが低減され、乱数が加算された場合に、他のニュースの補正スコアよりも低くなる可能性が生じる。この場合、スコアが高いもののユーザの興味がないジャンルのニュース、又は、ユーザの興味が薄れてきたニュースが、レコメンド表示欄50の上位に表示されるニュースから外される。したがって、スコアが高いもののユーザによって選択されないジャンルのニュースが、いつまでもレコメンド表示欄50の上位に表示される不都合を低減でき、ユーザの興味に即したニュースのレコメンドが可能となる。
【0040】
[変形例]
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の目的を達成できる範囲で、以下に示される変形をも含むものである。
【0041】
[変形例1]
上記実施形態では、ステップS7により閲覧履歴情報が更新された後、ステップS8によってユーザ特徴ベクトルを算出し、その後、選択されたニュースが第二閾値STh以上のニュースではなく、判定期間が経過した場合に、スコア算出部134が、選択されなかった第二閾値STh以上のニュースのスコアをステップS12で低減させる例を示した。
これに対して、選択されたニュースが第二閾値STh以上のニュースではなく、所定期間が経過した場合に、ステップS9によってユーザ特徴ベクトルを算出する際に、選択されなかった第二閾値以上のニュースに対応したジャンルのベクトル値を低減させるように、ユーザ特徴ベクトルを算出してもよい。
【0042】
[変形例2]
上記実施形態では、第二閾値STh以上のスコアのニュースが、一定の判定期間の間で、選択されなかった場合にスコアを低減させる例を示した。これに対して、判定期間は、スコアの値によって変化させてもよい。
例えば、スコアと第二閾値SThとの差が大きくなる程、判定期間を短くしてもよい。すなわち、スコアが高いほど、ユーザがそのニュースに対する興味が高いことを示しているが、当該ニュースをユーザが閲覧しなかった場合、ユーザは、当該ニュースに対して予想している程の興味があるわけではないと判断できる。このような場合、スコアの低減期間を短くすることで、ユーザが真にそのジャンルに興味があるか否かを適正に判断できる。また、真にユーザが興味を持っているニュースであれば、短い判定期間であっても、選択される可能性が高く、スコアが低減される可能性も低くなる。よって、ユーザの興味に対応したニュースのレコメンド率が低下する等の問題は生じにくい。
一方、他のニュースに比べてスコアが高く、第二閾値SThを超えているものの、スコアと第二閾値SThとの差が小さい場合、当該ニュースに対する興味は高いものの、当該ジャンルに対するニュースの数が少なく、スコアが十分に得られていない可能性もある。この場合、判定期間を長くすることで、真にユーザが興味を持っているニュースに対するスコアが高い頻度で低減されることがなく、レコメンド精度の低下を抑制できる。
【0043】
[変形例3]
また、スコア算出部134は、ステップS12で低減させるスコアの低減値を、スコアの値によって変化させてもよい。
例えば、スコアと第二閾値SThとの差が小さくなる程、低減値を小さくしてもよい。すなわち、スコアが高いほど、ユーザがそのニュースに対する興味が高いはずであるが、当該ニュースをユーザが閲覧しなかった場合、ユーザは当該ニュースに対して予想している程の興味があるわけではないと判断できる。よって、当該ニュースに対するスコアの低減値を大きくすることで、ユーザが興味ジャンルを適正に判定できる。また、真にユーザが興味を持っているニュースであれば、当該ニュースが頻繁に閲覧される可能性が高いので、スコアが低減されにくく、低減されたとしても、再び高いスコアを得ることができる。よって、ユーザの興味に対応したニュースのレコメンド率が低下する等の問題は生じにくい。
一方、他のニュースに比べてスコアが高く、第二閾値SThを超えているものの、スコアと第二閾値SThとの差が小さい場合(例えば、スコアがSTh~STh+Mの間の場合)、上述のように、当該ニュースに対する興味は高いものの、当該ジャンルに対するニュースの数が少なく、スコアが十分に得られていない可能性もある。この場合、低減値を小さくすることで、真にユーザが興味を持っているニュースに対するスコアが大きく低減されることがなく、レコメンド精度の低下を抑制できる。
【0044】
[変形例4]
上記実施形態では、全てのニュースのスコアに対して乱数を加算する例を示したが、これに限定されない。例えば、第二閾値STh以上のスコアに対して乱数を加算せず、第二閾値STh未満のスコアに対して乱数を加算してもよい。
また、スコアの値によって、第一閾値αの値を変化させてもよい。例えば、スコアの値が小さい程、乱数の範囲である第一閾値αの値を大きくしてもよい。スコア算出部134により算出されるスコアが極端に低いニュースは、入稿されるニュースの数が少ないジャンルや、ユーザが知識を有さず、ユーザが興味を持つか否かが未知数のジャンル等が含まれることがあり、このようなニュースは、ユーザにとって興味があるジャンルである可能性もある。これに対して、上記の様に、スコアが低い場合に、乱数で加算される値の範囲を大きくすることで、当該ニュースが、端末装置20にレコメンドされる可能性が高まり、ユーザが興味を有するジャンルを学習することができる。
【0045】
[変形例5]
さらに、第一閾値αとして、正値を加算する場合の閾値と、負値を加算する閾値とを、それぞれ異ならせてもよく、上記のようにスコアに応じて、閾値を異ならせてもよい。
例えば、スコアが第二閾値STh以上である場合に、-α-~+α+の範囲の乱数を加算し、スコアが低くなるに従って、|α-|を小さくし、|α+|を大きくしてもよい。
【0046】
[変形例6]
上記実施形態では、コンテンツの一例としてニュースを例示したが、これに限定されない。コンテンツとして、例えば商品等を広告する広告コンテンツであってもよく、動画配信サービスで配信される動画コンテンツ等であってもよい。
【0047】
[変形例7]
上記実施形態では、ユーザ特徴算出部132は、ユーザ情報の閲覧履歴情報に基づいてユーザ特徴ベクトルを算出する例を示したが、ニュースの閲覧履歴情報に加え、ユーザ情報に含まれるユーザ属性や、インターネット上の検索履歴等のその他の行動履歴に基づいて、ユーザ特徴ベクトルを算出してもよい。
【符号の説明】
【0048】
10…サーバ装置(情報処理装置)、12…記憶部、13…プロセッサ、20…端末装置、50…レコメンド表示欄、121…ニュース蓄積部、122…ユーザ情報蓄積部、131…ユーザ情報取得部(選択コンテンツ取得部)、132…ユーザ特徴算出部(ユーザ補正部)、133…コンテンツ特徴算出部、134…スコア算出部、135…スコア補正部、136…配信部、STh…第二閾値、α…第一閾値。