WO2021251002A1 - レコメンドシステム - Google Patents

レコメンドシステム Download PDF

Info

Publication number
WO2021251002A1
WO2021251002A1 PCT/JP2021/015908 JP2021015908W WO2021251002A1 WO 2021251002 A1 WO2021251002 A1 WO 2021251002A1 JP 2021015908 W JP2021015908 W JP 2021015908W WO 2021251002 A1 WO2021251002 A1 WO 2021251002A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
content
information
target
algorithm
Prior art date
Application number
PCT/JP2021/015908
Other languages
English (en)
French (fr)
Inventor
拓 伊藤
邦宏 相場
祐理 佐々木
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to JP2022530044A priority Critical patent/JPWO2021251002A1/ja
Priority to US18/001,179 priority patent/US20230229708A1/en
Publication of WO2021251002A1 publication Critical patent/WO2021251002A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Definitions

  • the present invention relates to a recommendation system.
  • the recommendation may be performed using an algorithm configured to determine the content to be recommended to the target user.
  • the user may not be able to meet the changing needs for the recommendation of the user, and the recommended content may be bored by the user. Therefore, it is conceivable to select one of a plurality of algorithms for each recommendation, but it is assumed that it is difficult for the recommendation system to grasp and select which algorithm is most suitable for the user. .. Therefore, in the recommendation system as described above, there is a possibility that the content cannot be properly recommended to the user.
  • the recommendation system is configured to determine the content recommended to the target user in the service for providing the content to a plurality of users including the target user.
  • it is a recommendation system that determines the content to be recommended to the target user by using the target algorithm, which is one selected algorithm among the plurality of algorithms having different characteristics as the tendency of content determination, and is a recommendation system for a plurality of users.
  • the first acquisition unit that acquires the first history information, which is information indicating the history related to the use of the contents of the content, and the usage maturity level that indicates the maturity level of the use of the service by each of a plurality of users based on the first history information.
  • Examples of recommended content include videos, music, ebooks, and advertisements (push advertisements).
  • the recommended content includes various genres of content and new content. Examples of genres include, for example, mystery, action, romance, etc., when the service is a video providing service.
  • the new content is, for example, content that is within a predetermined period after being added to the service.
  • the recommended content is not limited to the present embodiment, and may be physical content such as a product handled by an online shopping service or the like.
  • the recommendation system 10 may be the same system as the service system.
  • ⁇ and ⁇ represent positive real numbers, and the value taken by the random variable x is 0 ⁇ x ⁇ 1.
  • the beta distribution is a distribution in which the probability density function is defined by x ⁇ -1 (1-x) ⁇ -1 / B ( ⁇ , ⁇ ).
  • the reference numerals commonly used in each of the equations described below indicate the same elements, and the description thereof will be omitted below.
  • the variance of the probability distribution gradually becomes smaller and converges.
  • the target user uses the service to accumulate the recommendation history information and the variance of the probability distribution converges to a certain extent, the index value of the specific algorithm will be the highest every time even if the index value is generated.
  • the selected algorithm is fixed. Then, for example, even if the target user wants to recommend content that has a tendency different from the content recommended by the algorithm, the target user's wish cannot be met and the recommendation becomes tired of the user. There was a risk of being killed.
  • the recommendation system 10 selects the target algorithm so that appropriate content is recommended to the user while preventing the selected target algorithm from being fixed.
  • the recommendation system 10 is realized by a computer such as a server device or a PC (personal computer), for example. Further, the recommendation system 10 may be realized by a plurality of computers, that is, a computer system.
  • the recommendation system 10 includes a storage unit 11, a first acquisition unit 12, a calculation unit 13, a second acquisition unit 14, a selection unit 15, and a recommendation unit 16. Will be done.
  • 5 (a), 5 (b), and 6 (a) are examples of recommendation results in which the recommendation content information output by the recommendation unit 16 is displayed on a terminal owned by the target user via the service system. It is a figure which shows. In the example described below, the recommendation unit 16 determines to the target user three contents to be recommended in one recommendation, and in the recommendation result, each content is displayed in order from the top.
  • the first acquisition unit 12 acquires genre information indicating the number of genres of content used by each of the plurality of users as user history information, and the calculation unit 13 is in each of the plurality of users based on the genre information. Calculate usage maturity.
  • each device such as the processor 1001 and the memory 1002 is connected by the bus 1007 for communicating information.
  • the bus 1007 may be composed of a single bus or may be composed of different buses between the devices.
  • the recommendation system 10 includes hardware such as a microprocessor, a digital signal processor (DSP: Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). It may be configured, and some or all of each functional block may be realized by the hardware.
  • the processor 1001 may be implemented on at least one of these hardware.
  • system and "network” used herein are used interchangeably.
  • determining and “determining” used herein may include a wide variety of actions.
  • "Judgment” and “decision” are, for example, judgment, calculation, computing, processing, deriving, investigating, looking up (for example, table). , Searching in a database or another data structure), ascertaining can be considered as a “judgment” or “decision”.
  • "judgment” and “decision” are receiving (for example, receiving information), transmitting (for example, transmitting information), input (input), output (output), and access. It may include (for example, accessing data in memory) to be regarded as “judgment” or “decision”.
  • connection means any direct or indirect connection or connection between two or more elements and each other. It can include the presence of one or more intermediate elements between two “connected” or “combined” elements.
  • the connection or connection between the elements may be physical, logical, or a combination thereof.
  • the two elements are by using one or more wires, cables and / or printed electrical connections, and, as some non-limiting and non-comprehensive examples, radio frequencies.
  • electromagnetic energies such as electromagnetic energies with wavelengths in the region, microwave region and light (both visible and invisible) regions, they can be considered to be “connected” or “coupled” to each other.

Abstract

ユーザにコンテンツを適切にレコメンドする。 レコメンドシステム10は、ユーザ履歴情報を取得する第1取得部12と、ユーザ履歴情報に基づいて、複数のユーザのそれぞれにおいてサービスの利用の成熟度を示す利用成熟度を算出する算出部13と、対象アルゴリズム情報、及びレコメンド成否情報を含むレコメンド履歴情報を取得する第2取得部14と、複数のユーザのうち対象ユーザの利用成熟度に対応する利用成熟度を有するユーザ群におけるレコメンド履歴情報に基づいて、対象アルゴリズムを選択する選択部15と、選択された対象アルゴリズムを用いることによって、対象ユーザにレコメンドするコンテンツを決定し、決定したコンテンツを示す情報を出力するレコメンド部16と、を備える。

Description

レコメンドシステム
 本発明は、レコメンドシステムに関する。
 ユーザにコンテンツを提供するサービスにおいて、ユーザが選びやすいコンテンツを推定し、推定したコンテンツの利用をユーザにレコメンドする技術が知られている。特許文献1には、コンテンツ視聴ユーザのプロファイルに基づいて当該ユーザに推薦する推薦コンテンツを決定し、当該ユーザが視聴するコンテンツ出力装置に当該推薦コンテンツを提示する情報処理装置が記載されている。
特開2018-163460号公報
 ところで、レコメンドシステムにおいては、対象ユーザにレコメンドするコンテンツを決定するように構成されたアルゴリズムを用いてレコメンドが実施される場合がある。この場合、例えば、単一のアルゴリズムが用いられた場合、ユーザのレコメンドに対する変化するニーズに対応できず、レコメンドされるコンテンツがユーザに飽きられてしまうおそれがある。そこで、複数のアルゴリズムのうち一のアルゴリズムをレコメンドの度に選択することが考えられるが、どのアルゴリズムがユーザに最適であるかをレコメンドシステムが把握し選択することは困難であることが想定される。したがって、上述したようなレコメンドシステムにおいては、ユーザにコンテンツを適切にレコメンドできないおそれがあった。
 本発明の一態様は上記実情に鑑みてなされたものであり、ユーザにコンテンツを適切にレコメンドすることができるレコメンドシステムに関する。
 上記の目的を達成するために、本発明の一態様に係るレコメンドシステムは、対象ユーザを含む複数のユーザにコンテンツを提供するサービスにおいて、各々が対象ユーザにレコメンドするコンテンツを決定するように構成され且つコンテンツの決定の傾向として互いに異なる特徴を有する複数のアルゴリズムのうち、選択された一のアルゴリズムである対象アルゴリズムを用いて、対象ユーザにレコメンドするコンテンツを決定するレコメンドシステムであって、複数のユーザのコンテンツの利用に係る履歴を示す情報である第1履歴情報を取得する第1取得部と、第1履歴情報に基づいて、複数のユーザのそれぞれにおいてサービスの利用の成熟度を示す利用成熟度を算出する算出部と、複数のユーザのそれぞれにコンテンツがレコメンドされた際に用いられた対象アルゴリズムを示す対象アルゴリズム情報、及び対象アルゴリズムを用いてレコメンドされたコンテンツが複数のユーザのそれぞれに利用されたか否かを示す情報であるレコメンド成否情報を含む第2履歴情報を取得する第2取得部と、複数のユーザのうち対象ユーザの利用成熟度に対応する利用成熟度を有するユーザ群における第2履歴情報に基づいて、対象アルゴリズムを選択する選択部と、選択された対象アルゴリズムを用いることによって、対象ユーザにレコメンドするコンテンツを決定し、決定したレコメンドするコンテンツを示す情報を出力するレコメンド部と、を備える。
 本発明の一態様に係るレコメンドシステムでは、対象ユーザの利用成熟度に対応する利用成熟度を有するユーザ群における第2履歴情報に基づいて対象アルゴリズムが選択され、選択された対象アルゴリズムを用いることによって、対象ユーザにレコメンドするコンテンツが決定され、決定したコンテンツを示す情報が出力される。したがって、本発明の一態様に係るレコメンドシステムによれば、対象ユーザの利用成熟度に応じて適切な対象アルゴリズムが選択され、その結果、ユーザにコンテンツを適切にレコメンドすることができる。
 本発明の一態様によれば、ユーザにコンテンツを適切にレコメンドすることができる。
図1は、本実施形態に係るレコメンドシステムの機能ブロック図である。 図2は、第1取得部によって取得されるサーバ情報の一例を示す図である。 図3は、第2取得部によって取得されるレコメンド履歴情報の一例を示す図である。 図4は、対象ユーザ及びユーザ群それぞれの対象ユーザ分布、ユーザ群分布、及び合算分布の一例を示す図である。 図5は、対象ユーザが所持する端末に表示されるレコメンド結果の例を示す図である。 図6は、対象ユーザが所持する端末に表示されるレコメンド結果の例、及び対象ユーザが所持する端末に表示されるレコメンド結果の比較例を示す図である。 本実施形態に係るレコメンドシステムで実行される処理全体を示すフローチャートである。 本実施形態に係るレコメンドシステムのハードウェア構成を示す図である。
 以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
 図1は、本実施形態に係るレコメンドシステム10の機能ブロック図である。レコメンドシステム10は、対象ユーザを含む複数のユーザにコンテンツを提供するサービスにおいて、対象ユーザにレコメンドするコンテンツを決定するシステム(装置)である。サービスは、例えば、移動体通信網を介して通信事業者により運営されるコンテンツ提供サービスであって、ユーザからの要求に応じて様々なコンテンツを提供する。各ユーザは、ユーザ属性情報が属性情報サーバ(詳細は後述)に登録されたユーザであって、サービスを利用するユーザである。具体的には、例えば、各ユーザは、サービスの利用として、WEB上で又は当該ユーザが所持する端末にインストールされたアプリケーションを介して当該端末にコンテンツを示す情報を表示させる。サービスは、例えば、レコメンドシステム10とは異なる外部のサービスシステム(図示せず)によって提供される。レコメンドシステム10は、通信網を介してサービスシステムとの間でデータの送受信が可能とされている。
 レコメンドされるコンテンツの例としては、動画、音楽、電子書籍、及び広告(プッシュ広告)等が挙げられる。レコメンドされるコンテンツは、様々なジャンルのコンテンツ、及び新作のコンテンツが含まれる。ジャンルの例としては、例えばサービスが動画提供サービスである場合、ミステリー、アクション、及び恋愛等が挙げられる。新作のコンテンツは、例えば、サービスに追加されてから所定の期間内であるコンテンツである。また、レコメンドされるコンテンツは、本実施形態に限定されるものではなく、例えば、オンラインショッピングサービス等で取り扱われる商品等、物理的なコンテンツであってもよい。なお、レコメンドシステム10は、サービスシステムと同一のシステムであってもよい。
 サービスシステム(対向システム)は、例えば、一のユーザがサービスにログインしたタイミングで、レコメンドシステム10に対して、当該ユーザを対象ユーザとして、対象ユーザに対するコンテンツのレコメンドの要求を送信する。そして、レコメンドシステム10は、サービスシステムから、対象ユーザに対するコンテンツのレコメンドの要求を受信すると、レコメンドするコンテンツを示す情報(以下、「レコメンドコンテンツ情報」という)をサービスシステムに出力する。すなわち、対象ユーザは、サービスを利用する複数のユーザのうち、コンテンツのレコメンドを受けるユーザであって、本実施形態では、サービスシステムによって指定されたユーザである。なお、対象ユーザは、本実施形態の例に限定されるものではない。レコメンドシステム10は、例えば、全ユーザのそれぞれを対象ユーザとして、対象ユーザである各ユーザについて、レコメンドコンテンツ情報をサービスシステムに出力してもよい。
 対象ユーザへのコンテンツのレコメンドは、例えば、レコメンドシステム10から、サービスシステムを介して、対象ユーザが所持する端末にレコメンドコンテンツ情報が送信されることで行われる。当該端末においてレコメンドコンテンツ情報の表示等の出力が行われて、対象ユーザは、レコメンドされたコンテンツを認識することができる。対象ユーザは、レコメンドされたコンテンツに興味を持った場合、端末を操作してレコメンドされたコンテンツを利用することができる。具体的には、例えば、サービスが動画提供サービスである場合、対象ユーザは、端末においてレコメンドされたコンテンツ(動画)をクリックして、当該コンテンツを視聴することで、コンテンツを利用する。なお、レコメンドされるコンテンツの種類に応じて、ユーザの利用態様が異なってもよい。
 レコメンドシステム10では、各々が対象ユーザにレコメンドするコンテンツを決定するように構成された複数のアルゴリズムのうち一のアルゴリズム(対象アルゴリズム)が選択される。そして、選択された対象アルゴリズムが用いられてレコメンドするコンテンツが決定される。本実施形態では、レコメンドシステム10には、複数のアルゴリズムとして、アルゴリズムA、アルゴリズムB、及びアルゴリズムCが事前に記憶されている。複数のアルゴリズムA,B,Cのそれぞれは、対象ユーザにレコメンドするコンテンツを決定するように構成され、1回のレコメンドにおいて、対象ユーザにレコメンドする複数のコンテンツを決定するように構成されている。アルゴリズムA,B,Cは、コンテンツの決定の傾向として互いに異なる特徴を有する。具体的には、アルゴリズムAは、対象ユーザのコンテンツの利用履歴に応じてコンテンツをレコメンドする。アルゴリズムBは、新作のコンテンツをレコメンドする。アルゴリズムCは、様々なジャンルのコンテンツをレコメンドする。アルゴリズムA,B,Cの詳細については後述する。なお、各アルゴリズムA,B,Cは、1回のレコメンドにおいて、対象ユーザに一のコンテンツをレコメンドするように構成されていてもよい。
 レコメンドシステム10は、バンディットアルゴリズムに基づく計算を実行することにより、対象アルゴリズムを選択する。バンディットアルゴリズムは、活用(現在知っている情報から利益を最大化する選択肢を選ぶこと)と探索(現在知っている情報以外の情報を獲得するために選択肢を選ぶこと)の割合を制御して選択肢を選ぶ手法である。レコメンドシステム10は、このようなバンディッドアルゴリズムとして、THOMPSON SAMPLINGを用いて、対象アルゴリズムを選択する。対象アルゴリズムを選択する手法としては、例えば、各アルゴリズムA,B,Cについて、横軸(X軸)に確率変数をとり、縦軸(Y軸)に確率密度をとるベータ分布を算出する手法がある。ここでいう確率変数は、対象アルゴリズムとして用いられてコンテンツをレコメンドする際に対象ユーザにおいてレコメンドしたコンテンツを利用する度合いを示すスコアに対応する。スコアの例としては、ユーザがレコメンドされたコンテンツをクリックするクリック率(CTR:Click Through Rate)が挙げられる。ここでいう確率密度は、スコアの相対的な出やすさに対応する。
 以下、THOMPSON SAMPLINGを用いた対象アルゴリズムの選択方法について詳細に説明する。一般的に、ベータ分布は、下記式(1)で表される。
Figure JPOXMLDOC01-appb-M000001
 上記式(1)中、α、βは正の実数を示し、確率変数xのとる値は0≦x≦1である。ベータ分布は、確率密度関数がxα-1(1-x)β-1/B(α,β)で定義される分布である。以下に説明する各式に共通して用いられる符号は、同一の要素を示すものとし、以下説明を省略する。
 一般的に、THOMPSON SAMPLINGでは、事前分布として一様分布が仮定される。これは、サービスの利用開始時の対象ユーザに対しては、複数のアルゴリズムが用いられたレコメンドの実績(データ)がないためである。そして、対象ユーザに対して対象アルゴリズムを用いてコンテンツのレコメンドがされた場合、THOMPSON SAMPLINGでは、事後分布として、下記式(2)が定義される。
Figure JPOXMLDOC01-appb-M000002
 上記式(2)中、iはアルゴリズムを一意に識別可能な情報を示し、nはアルゴリズムiを用いたコンテンツを対象ユーザにレコメンドした回数(すなわち、レコメンドが成功した回数と失敗した回数との合算値)を示し、lは対象ユーザがコンテンツをクリックした回数(すなわち、レコメンドが成功した回数)を示す。
 そして、対象アルゴリズムを選択する手法として、各アルゴリズムA,B,Cについて、上記式(2)を用いてベータ分布を算出し、算出した各アルゴリズムA,B,Cのベータ分布にしたがった確率で、乱数である確率変数の値(以下、「指標値」という)を生成し、当該指標値が最も大きいアルゴリズムを対象アルゴリズムとして選択する手法が考えられる。乱数の生成は、公知の方法で行うことができる。
 ここで、図4に示されるベータ分布の一例である対象ユーザ分布T2を用いて、上述した対象アルゴリズムを選択する手法について説明する。対象ユーザ分布T2は、一の対象ユーザにおけるベータ分布であって、各アルゴリズムA,B,Cについて、上記式(2)が用いられて算出されたベータ分布である。対象ユーザ分布T2の詳細については後述する。
 対象ユーザ分布T2において、確率変数Xは、スコアを示し、確率密度は、スコアの相対的な出やすさを示す。スコアは、0~1の値であって、大きくなるにつれて、ユーザにおいてレコメンドしたコンテンツを利用する度合い(換言すれば、ユーザにおいてレコメンドしたコンテンツをクリックする可能性)が高いことを意味する。このような対象ユーザ分布T2が用いられて、対象ユーザ分布T2にしたがった確率で、各アルゴリズムA,B,Cの指標値が生成される。例えば、アルゴリズムAの確率分布については、図4に示されるように、確率変数Xが約0.5~0.9の間をとり、確率変数Xが約0.7で頂点となる山状の(すなわち、確率変数Xが0.7において確率密度が最大となる)形状である。これは、指標値が、約0.5~0.9のいずれかの値となり、且つ約0.7となる確率が最も高いことを示している。このような対象ユーザ分布T2にしたがって、各アルゴリズムA,B,Cについて指標値を生成することで、当該指標値(指標値となるスコア)が最も大きいアルゴリズムを対象アルゴリズムとして選択することができる。
 ここで、レコメンドに本手法が用いられた場合、以下の問題が生じる。すなわち、対象ユーザに対して対象アルゴリズムを用いてコンテンツがレコメンドされた実績(データ)が蓄積されるにつれて、確率分布は、徐々に分散が小さくなり収束していく。この場合、対象ユーザがサービスを利用してレコメンド履歴情報が蓄積されて確率分布の分散がある程度まで収束すると、指標値を生成しても、毎回特定のアルゴリズムの指標値が最も高くなってしまい、選択されるアルゴリズムが固定されてしまう。そうすると、例えば、当該アルゴリズムによってレコメンドされてきたコンテンツとは異なる傾向のコンテンツのレコメンドを対象ユーザが希望するようになった場合であっても、対象ユーザの希望に対応できず、レコメンドがユーザに飽きられてしまうおそれがあった。
 そこで、本実施形態に係るレコメンドシステム10は、選択される対象アルゴリズムの固定化を防止しつつ、ユーザに適切なコンテンツがレコメンドされるように対象アルゴリズムを選択する。レコメンドシステム10は、例えば、サーバ装置、PC(パーソナルコンピュータ)等のコンピュータによって実現される。また、レコメンドシステム10は、複数のコンピュータ、即ち、コンピュータシステムによって実現されてもよい。
 引き続いて、本実施形態に係るレコメンドシステム10の機能を説明する。図1に示されるように、レコメンドシステム10は、記憶部11と、第1取得部12と、算出部13と、第2取得部14と、選択部15と、レコメンド部16とを備えて構成される。
 記憶部11は、レコメンドシステム10によるコンテンツのレコメンドに必要な情報を記憶している。記憶部11は、アルゴリズムA,B,Cを予め記憶している。各アルゴリズムA,B,Cは、例えば、レコメンドシステム10の設計者等によって予め記憶部11に記憶されている。また、記憶部11は、レコメンドシステム10の外部に設置された一又は複数のサーバ(詳細は後述)から取得され、レコメンドシステム10が参照する種々の情報を記憶している。レコメンドの一連の過程で算出される情報については、後述する各構成要素から記憶部11に入力される。記憶部11が記憶している情報は、必要に応じて各構成要素(第1取得部12、算出部13、第2取得部14、選択部15、及びレコメンド部16)から参照される。
 ここで、記憶部11に記憶されている各アルゴリズムA,B,Cの構成について説明する。各アルゴリズムA,B,Cは、外部の一又は複数のサーバから情報を取得し、それぞれ異なる処理を実行することによって、ユーザにレコメンドするコンテンツを決定する。
 当該サーバの例としては、サービスを利用する各ユーザの属性情報が記憶されている一又は複数の属性情報サーバ(図示せず)、サービスを利用する各ユーザのログ情報が記憶されている一又は複数のログサーバ(図示せず)、及びレコメンドシステム10においてレコメンドされ得る各コンテンツに関する情報が記憶された一又は複数のコンテンツサーバ(図示せず)が挙げられる。
 属性情報サーバには、例えば、属性情報として、各ユーザのユーザ名、性別、及び年齢等が互いに対応付けられて記憶されている。ログサーバには、例えば、ログデータとして、各ユーザについて、クリック日時情報、インプレッション日時情報、ユーザ名、コンテンツ名、対象アルゴリズム情報、及びレコメンド成否情報等が、互いに対応付けられて記憶されている。インプレッション日時情報は、対象ユーザにコンテンツがレコメンドされた時刻を示す情報である。クリック日時情報は、対象ユーザがコンテンツを選択した日時を示す。ユーザ名は、当該ユーザを一意に識別可能な情報である。コンテンツ名は、当該ユーザが利用したコンテンツを一意に識別可能な情報である。対象アルゴリズム情報及びレコメンド成否情報については後述する。
 コンテンツサーバには、例えば、各コンテンツに関する情報として、コンテンツ名、ジャンル名、フラグ情報、及び順位情報等が互いに対応付けられて記憶されている。コンテンツ名は、コンテンツを一意に識別可能な情報である。ジャンル名は、当該コンテンツのジャンルを一意に識別可能な情報である。フラグ情報は、当該コンテンツが新作であるか否かを示す情報であって、例えば、当該コンテンツが新作である場合には1が入力され、当該コンテンツが新作でない場合には0が入力される。順位情報は、当該コンテンツの人気順位を示す情報である。順位情報は、例えば、直近2週間においてサービスにおける当該コンテンツの総合順位、及び当該コンテンツが属するジャンル中の当該コンテンツの順位であるジャンル順位を含んでいる。
 アルゴリズムAは、例えば、属性情報サーバに記憶されている対象ユーザ及び他のユーザの属性情報、並びに対象ユーザ及び他のユーザそれぞれのユーザ名及び利用したコンテンツ名に基づいて、対象ユーザにレコメンドするコンテンツを決定するように構成されている。一例として、アルゴリズムAでは、従来の協調フィルタリングを用いることによって、対象ユーザと属性及び利用したコンテンツが類似している他のユーザが特定され、特定された他のユーザが利用した3つのコンテンツが対象ユーザにレコメンドされる。
 アルゴリズムBは、例えば、コンテンツサーバに記憶されているコンテンツ名、フラグ情報、及び順位情報に基づいて、対象ユーザにレコメンドするコンテンツを決定するように構成されている。一例として、アルゴリズムBでは、フラグ情報に基づいて、新着フラグ:1に対応付けられたコンテンツが特定される。そして、アルゴリズムBでは、特定されたコンテンツのうち、順位情報に応じて決定されたコンテンツが対象ユーザにレコメンドされる。一例として、アルゴリズムBでは、総合順位が最も高いコンテンツから3番目に高いコンテンツまでが対象ユーザにレコメンドされてもよい。
 アルゴリズムCは、例えば、コンテンツサーバに記憶されているコンテンツ名、ジャンル情報、及び順位情報に基づいて、対象ユーザにレコメンドするコンテンツを決定するように構成されている。一例として、アルゴリズムCでは、レコメンドされるコンテンツのジャンル及びジャンルの数が予め設定されている。例えば、コンテンツが動画である場合、アルゴリズムCでは、ミステリーのジャンルから1つ、アクションのジャンルから1つ、及び恋愛のジャンルから1つ、といったように、3つの各ジャンルから1つずつコンテンツがレコメンドされる。各ジャンルにおいて選択されるコンテンツは、順位情報に基づいて、例えば、ジャンル順位が1位であるコンテンツが選択されてもよい。
 以上のように、各アルゴリズムA,B,Cは、コンテンツの決定の傾向として互いに異なる特徴を有するように、コンテンツを決定する。なお、本実施形態における各アルゴリズムA,B,Cの構成は一例である。各アルゴリズムA,B,Cは、例えば、ニューラルネットワークを用いた機械学習等、他の方法によって生成されてもよい。また、各アルゴリズムA,B,Cによってユーザにレコメンドされるコンテンツの数は、1つであってもよく、特に限定されない。
 図1に示されるレコメンドシステム10の機能的構成要素の説明に戻る。第1取得部12は、複数のユーザのユーザ履歴情報(第1履歴情報)を取得する。ユーザ履歴情報は、複数のユーザのコンテンツの利用に係る履歴を示す情報である。まず、第1取得部12は、例えば、ログサーバから取得したクリック日時情報、ユーザ名、及びコンテンツ名と、コンテンツサーバから取得したコンテンツ名、及びジャンル名とを、共通するコンテンツ名で対応付けて取得する。取得されたクリック日時情報、ユーザ名、コンテンツ名、及びジャンル名(以下、単に「サーバ情報」という場合がある)は、後述するユーザ履歴情報の取得(算出)に用いられる。なお、第1取得部12は、ログサーバ及びコンテンツサーバに代えて、記憶部11からサーバ情報を取得してもよい。第1取得部12がサーバ情報を取得するタイミングは、例えば、ログ外部サーバが情報を更新する度であってもよく、また、所定のタイミングであってもよい。
 図2は、第1取得部12によって取得されるサーバ情報の一例を示す図である。サーバ情報は、クリック日時情報、ユーザ名、コンテンツ名、及びジャンル名を含んでいる。図2では、ユーザ名「ユーザX」のデータを図示しているが、これは一例にすぎず、ユーザID「ユーザX」による更なるデータ、又はその他のユーザ名のデータ等を含み得る。また、サーバ情報には、後述するユーザ履歴情報の取得に必要な情報が含まれていればよく、本実施形態で挙げられた情報とは異なる情報が含まれていてもよい。
 第1取得部12は、サーバ情報に基づいて、ユーザ履歴情報として、利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報を算出して取得する。利用回数情報は、各ユーザがサービスを利用した回数を示す。すなわち、利用回数情報は、各ユーザがサービスに訪問した回数を示す。利用期間情報は、各ユーザがサービスを利用した期間を示す。コンテンツ数情報は、各ユーザが利用したコンテンツの数を示す。ジャンル情報は、各ユーザが利用したコンテンツのジャンルの数を示す。利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報は、後述する利用成熟度の算出に用いられる。第1取得部12は、取得した利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報を、算出部13に出力する。
 ここで、利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報(以下、単に「各情報」という場合がある)の取得方法について、図2に示される例を用いて説明する。以下の説明では、一のユーザにおける各情報の取得方法について説明するが、第1取得部12は、各ユーザについて各情報を取得する。
 第1取得部12は、サーバ情報に含まれるクリック日時情報に基づいて、利用回数情報を取得する。具体的には、第1取得部12は、クリック日時情報に含まれる日付の数を、WEB上で又はユーザが所持する端末にインストールされたアプリケーションを介してサービスを利用した回数(ユーザが端末を介してサービスを訪問した回数)としてカウントし、カウントした日付の数を利用回数情報(訪問回数情報)として取得する。図2に示される例では、ユーザXがサービスを利用した回数は、4/21及び4/23の2回である。この場合、第1取得部12は、利用回数情報=2として取得する。なお、利用回数情報の取得方法は、例えば、クリック日時情報に含まれる日付にかかわらず、サーバ情報に基づいて、ユーザがサービスを利用した回数をカウントすることによって取得してもよい。その場合、図2に示される例では、利用回数情報=3となる。
 第1取得部12は、サーバ情報に含まれるクリック日時情報に基づいて、利用期間情報を取得する。具体的には、第1取得部12は、クリック日時情報に含まれる一番古い日付から最新の日付までの日数をカウントし、カウントした日数を利用期間情報として取得する。図2に示される例では、ユーザXがサービスを利用した期間は、4/21~4/23であるため、3日間となる。この場合、第1取得部12は、利用期間情報=3と取得する。
 第1取得部12は、サーバ情報に含まれるコンテンツ名に基づいて、コンテンツ数情報を取得する。具体的には、第1取得部12は、サーバ情報に含まれるコンテンツ名の種類の数をカウントし、カウントした数をコンテンツ数情報として取得する。図2に示される例では、ユーザXが利用したコンテンツ名の種類は、ppp、qqq、rrrの3つである。この場合、第1取得部12は、コンテンツ数情報=3と取得する。
 第1取得部12は、サーバ情報に含まれるジャンル名に基づいて、ジャンル情報(コンテンツ嗜好多様性)を取得する。具体的には、第1取得部12は、サーバ情報に含まれるジャンル名の種類の数をカウントし、カウントした数をジャンル情報として取得する。図2に示される例では、ユーザXが利用したコンテンツのジャンル名の種類は、アニメ及び映画の2つである。この場合、第1取得部12は、ジャンル情報=2と取得する。以上のように、第1取得部12は、ユーザ履歴情報として、各情報を取得し、取得した各情報を算出部13に出力する。ユーザ履歴情報は、利用成熟度の算出に利用でき、複数のユーザのコンテンツの利用に係る履歴を示す情報であれば、上記以外の情報でもよい。また、ユーザ履歴情報は、上記以外の方法で取得されてもよい。例えば、ユーザ履歴情報は、サーバ情報から算出されるのではなく、他のシステム等から取得されてもよい。
 算出部13は、第1取得部12が取得したユーザ履歴情報に基づいて、各ユーザのサービスの利用の成熟度を示す利用成熟度を算出する。サービスの利用の成熟度は、ユーザがサービスを利用することによりサービスに慣れ親しんだ度合いである。具体的な一例として、サービスの利用の成熟度は、ユーザがサービスを利用している頻度、時間、及びユーザによるサービスの利用の多様性を総合的に示した度合いを示す。つまり、利用成熟度は、単にユーザがサービスを利用している頻度等が数値化されたものではなく、ユーザがサービスを習熟している度合いが総合的に判断されて数値化されている。本実施形態では、算出部13は、利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報に基づいて、複数のユーザのそれぞれの利用成熟度を算出する。
 以下、本実施形態における利用成熟度の算出方法について説明する。算出部13は、シグモイド関数を用いることによって、各ユーザの利用成熟度を算出する。シグモイド関数Sigmoid(x)は、出力値が0~1となるように値を変換して出力する関数であって、入力値xに対して、1/(1+e-ax)を出力する関数である。ここで、a(>0)は、予め設定されるパラメータである。例えば、a=1とされる(すなわち、標準シグモイド関数が用いられる)。具体的には、利用成熟度Muは、シグモイド関数が用いられた下記式(3)で示され、下記式(3)中のシグモイド関数に入力される変数は、下記式(4)及び下記式(5)で示される。
Mu=2×Sigmoid(c・u)-1   (3)
c=(c、c、・・・c    (4)
u=(u、u、・・・u    (5)
 上記のように利用成熟度Muを算出することで、利用成熟度Muは、0から1までの間の値をとる。
 上記式(3)中、uは、サービスの利用に関する複数(k個)のユーザの特徴量を示す。cは、uに対応する複数(k個)の重み付け係数である。本実施形態では、算出部13は、4つのユーザ特徴量及び4つの重み付け係数を用いて利用成熟度を算出する。上記式(5)中、uは、ユーザのサービスの利用回数(訪問回数)を示し、uは、ユーザのサービスの利用期間を示し、uは、ユーザが利用したコンテンツの数を示し、uは、ユーザが利用したコンテンツのジャンルの数(ユーザのコンテンツの嗜好多様性)を示す。上記式(4)中、cは、u(利用回数)に対応する係数を示し、cは、u(利用期間)に対応する係数を示し、cは、u(利用されたコンテンツの数)に対応する係数を示し、cは、u(利用されたコンテンツのジャンルの数)に対応する係数を示す。c~cは、ユーザのサービスの利用状況に応じて適切な利用成熟度が算出される値に予め設定されている。c~cは、例えば、正の値である。この場合、利用成熟度の値は、高くなるにつれてサービスに慣れ親しんだ度合いが高いことを示す。
 ここで、u~uは、第1取得部12が取得した利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報に対応する。具体的には、uは、利用回数情報に対応し、uは、利用期間情報に対応する。また、uは、コンテンツ数情報に対応し、uは、ジャンル情報に対応する。例えば、図2に示される例では、u=2、u=3、u=3、及びu=2である。算出部13は、第1取得部12から入力されたユーザ履歴情報である、利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報に基づいてu~uを決定し、上記式(4)及び式(5)を上記式(3)に入力することによって、ユーザの利用成熟度を算出する。算出部13は、例えば、第1取得部12が各情報を入力する毎に各ユーザの利用成熟度を算出する。算出部13は、ユーザごとに、算出した利用成熟度と、算出した利用成熟度に対応するユーザのユーザ名とを対応付けて第2取得部14に出力する。
 なお、利用成熟度の算出方法は特に限定されるものではない。例えば、第1取得部12は、利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報の少なくとも一つを取得してもよい。この場合、算出部13は、第1取得部12が取得利用回数情報、利用期間情報、コンテンツ数情報、及びジャンル情報の少なくとも一つに基づいて利用成熟度を算出してもよいし、他の情報に基づいて利用成熟度を算出してもよい。また、u~uを、例えば、第1取得部が取得したサーバ情報に基づいて、算出部13が算出してもよい。
 ここで、レコメンドシステム10では、対象ユーザの利用成熟度に応じて、対象ユーザにコンテンツをレコメンドする対象アルゴリズムが選択される。具体的には、本実施形態では、対象ユーザの利用成熟度が「低」、「中」及び「高」の複数の段階に区分けされており、対象ユーザの利用成熟度の段階に応じて対象アルゴリズムの選択処理が実行される。本実施形態では、以下、0~0.39の利用成熟度が「低」、0.40~0.69の利用成熟度が「中」、及び0.70~1の利用成熟度が「高」といったように、利用成熟度が3つの段階に分かれているものとして説明する。なお、利用成熟度の段階の分け方は特に限定されるものではなく、例えば、本実施形態とは異なる数値によって段階が分けられてもよい。対象アルゴリズムの具体的な選択処理については後述する。
 第2取得部14は、複数のユーザのレコメンド履歴情報(第2履歴情報)を取得する。レコメンド履歴情報は、各ユーザにコンテンツがレコメンドされた履歴に関する情報である。第2取得部14は、例えば、ログサーバから取得したインプレッション日時情報、対象アルゴリズム情報、ユーザ名、及びレコメンド成否情報と、算出部13が算出した利用成熟度とを、共通するユーザ名で対応付けて、レコメンド履歴情報を取得する。第2取得部14は、例えば、算出部13が利用成熟度を算出する毎に、レコメンド履歴情報を取得する。なお、第2取得部14は、ログサーバに代えて、記憶部11からコンテンツ履歴情報を取得してもよい。第2取得部14は、サービスを利用する複数のユーザのうち、少なくとも、対象ユーザ及びユーザ群(詳細は後述)のレコメンド履歴情報を取得する。
 図3は、第2取得部14によって取得されるレコメンド履歴情報の一例を示す図である。図3に示されるように、レコメンド履歴情報は、インプレッション日時、対象アルゴリズム情報、ユーザ名、利用成熟度、及びレコメンド成功判定情報を含んでいる。
 対象アルゴリズム情報は、各ユーザにコンテンツがレコメンドされた際に用いられた対象アルゴリズムを示す。利用成熟度は、算出部13から入力された利用成熟度である。レコメンド成否情報は、対象アルゴリズムを用いてレコメンドされたコンテンツが各ユーザに利用されたか否かを示す情報である。具体的には、例えば、ユーザの端末にレコメンドされた複数のコンテンツが表示された状態において、アルゴリズムAが用いられてレコメンドされた一のコンテンツ、或いは複数のコンテンツのいずれかがクリックされた場合、レコメンドは「成功」と判定される。一方、ユーザの端末にレコメンドされた複数のコンテンツが表示された状態において、アルゴリズムAが用いられてレコメンドされた一のコンテンツ、或いは複数のコンテンツのいずれかがクリックされなかった場合(例えば、上述したコンテンツが表示されたページとは別のページにユーザが移動した場合)、レコメンドは「失敗」と判定される。
 図3のレコメンド履歴情報では、インプレッション日時「4/21 13:00」に、対象アルゴリズム「アルゴリズムA」、ユーザ名「ユーザX」、利用成熟度「0.45」、及びレコメンド成否情報「成功」が対応している。すなわち、図3のレコメンド情報は、インプレッション日時「4/21 13:00」に、利用成熟度「0.45」である「ユーザX」に「アルゴリズムA」が用いられて複数(例えば、3つ)のコンテンツがレコメンドされ、「ユーザX」がレコメンドされた複数のコンテンツのいずれかをクリックしたことを示している。
 また、図3のレコメンド履歴情報では、インプレッション日時「4/21 13:30」に、対象アルゴリズム「アルゴリズムB」、ユーザ名「ユーザX」、利用成熟度「0.49」、及びレコメンド成否情報「成功」が対応している。これに対して、同じくインプレッション日時「4/21 13:30」に、対象アルゴリズム「アルゴリズムA」、ユーザ名「ユーザX」、利用成熟度「0.49」、及びレコメンド成否情報「失敗」が対応している。これは、インプレッション日時「4/21 13:30」に、利用成熟度「0.49」である「ユーザX」に「アルゴリズムA」が用いられて一又は複数のコンテンツがレコメンドされ、且つ「アルゴリズムB」が用いられて一又は複数のコンテンツがレコメンドされたことを示している。具体的には、上記情報は、例えば、計3つのコンテンツが対象ユーザにレコメンドされる場合、「アルゴリズムA」が用いられて1つ又は2つのコンテンツがレコメンドされ、「アルゴリズムB」が用いられて1つ又は2つのコンテンツがレコメンドされたことを示している。そして、上記情報は、「ユーザX」がレコメンドされた複数のコンテンツのうち、「アルゴリズムB」が用いられてレコメンドされたコンテンツをクリックしたことを示している。なお、ユーザXの利用成熟度が、インプレッション日時「4/21 13:00」では0.45であったのに対して、インプレッション日時「4/21 13:30」では0.49であるのは、「4/21 13:00」に「ユーザX」がコンテンツを利用したことによって利用成熟度が更新されたためである。
 第2取得部14は、取得したレコメンド履歴情報を選択部15に出力する。なお、図3では、ユーザ名「ユーザX」、「ユーザY」、及び「ユーザZ」のデータを図示しているが、これは一例にすぎず、ユーザ名「ユーザX」、「ユーザY」、及び「ユーザZ」による更なるデータ、又はその他のユーザ名のデータ等を含み得る。また、レコメンド履歴情報には、後述する対象アルゴリズムの選択に必要な情報が含まれていればよく、本実施形態で挙げられた情報とは異なる情報が含まれていてもよい。
 選択部15は、対象ユーザにおけるレコメンド履歴情報と、ユーザ群におけるレコメンド履歴情報に基づいて、対象アルゴリズムを選択する。選択部15は、サービスシステムから、対象ユーザに対するコンテンツのレコメンドの要求を受信する毎に、対象アルゴリズムを選択する。ユーザ群は、複数のユーザのうち対象ユーザの利用成熟度に対応する利用成熟度を有する複数のユーザである。対象ユーザの利用成熟度に対応する利用成熟度は、対象ユーザの利用成熟度と同程度の利用成熟度であって、本実施形態では、「低」、「中」、及び「高」のうち、対象ユーザの利用成熟度の段階と同じ段階の利用成熟度である。つまり、本実施形態では、対象ユーザの利用成熟度に対応する利用成熟度を有する各ユーザは、対象ユーザの利用成熟度の段階と同じ段階の利用成熟度を有するユーザである。なお、ユーザ群には、基本的には、対象ユーザも含まれるが、対象ユーザが、サービスの利用開始のタイミング等、レコメンド履歴情報を有しない場合は、ユーザ群には、対象ユーザは含まれない。
 ユーザXが対象ユーザである図3に示される例を用いて説明すると、まず、ユーザXの最新の利用成熟度は0.49であるので、成熟度の段階は「中」(利用成熟度:0.4~0.69)である。したがって、ユーザ群は、対象ユーザの利用成熟度と段階と同じ段階「中」の利用成熟度を有するユーザX、ユーザY、ユーザZである。選択部15は、成熟度「中」のユーザ群であるユーザX、ユーザY、ユーザZのレコメンド履歴情報に基づいて、対象アルゴリズムを選択する。
 ここで、対象アルゴリズムの選択方法について説明する。選択部15は、各アルゴリズムA,B,Cについて、対象ユーザ分布、及びユーザ群分布を算出し、対象ユーザ分布及びユーザ群分布に基づいて、対象アルゴリズムを選択する。具体的には、選択部15は、各アルゴリズムA,B,Cについて、対象ユーザ分布とユーザ群分布とを合算させた合算分布を更に算出し、合算分布に基づいて、対象アルゴリズムを選択する。
 対象ユーザ分布は、各アルゴリズムA,B,Cについて、対象アルゴリズムとして用いられてコンテンツをレコメンドする際に対象ユーザにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布であって、ベータ分布である。ユーザ群分布は、各アルゴリズムA,B,Cについて、対象アルゴリズムとして用いられてコンテンツをレコメンドする際にユーザ群のユーザそれぞれにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布であって、ベータ分布である。選択部15は、各アルゴリズムA,B,Cについて、対象ユーザ分布とユーザ群分布とを合算させた合算分布にしたがって指標値を生成し、指標値が最も大きいアルゴリズムを対象アルゴリズムとして選択する。選択部15は、1回のレコメンドにおいてレコメンドするコンテンツの数だけ、対象アルゴリズムを選択する。例えば、選択部15は、1回のレコメンドにおいて対象ユーザにレコメンドするコンテンツの数が3つである場合、合算分布に基づいて各アルゴリズムA,B,Cの指標値を取得して対象アルゴリズムを選択する処理を3回実行し、レコメンドするコンテンツごとに対象アルゴリズムを選択する。選択部15は、レコメンドするコンテンツごとに選択した対象アルゴリズムを示す情報を、レコメンド部16に出力する。
 選択部15は、対象ユーザにおけるレコメンド履歴情報に基づいて、各アルゴリズムA,B,Cについて、対象ユーザ分布を算出する。
 対象ユーザ分布は、下記式(6)によって算出される。
Figure JPOXMLDOC01-appb-M000003
 下記式(6)中、nu,iはアルゴリズムiを用いたコンテンツを対象ユーザにレコメンドした回数(すなわち、レコメンドが成功した回数と失敗した回数との合算値)を示し、lu,iは対象ユーザがコンテンツをクリックした回数(すなわち、レコメンドが成功した回数)を示す。
 選択部15は、ユーザ群におけるレコメンド履歴情報に基づいて、各アルゴリズムについて、ユーザ群分布を算出する。
 ユーザ群分布は、下記式(7)によって算出される。ユーザ群のレコメンド履歴情報には多数のユーザの情報が含まれ得るため、上記式(6)と同様に一般的なベータ分布の式を適用すると、ユーザ群分布が収束してしまうおそれがある。そこで、下記式(7)では、ユーザ群分布の収束を防止するために、ベータ分布の平均式が用いられる。
Figure JPOXMLDOC01-appb-M000004
 下記式(7)中、u’はユーザ群に属するユーザを示し、Mは利用成熟度の段階を示し、Uはユーザ群を示し、nu’,iはアルゴリズムiを用いたコンテンツをユーザにレコメンドした回数(すなわち、レコメンドが成功した回数と失敗した回数との合算値)を示し、lu’,iはユーザがコンテンツをクリックした回数(すなわち、レコメンドが成功した回数)を示す。
 合算分布は、下記式(8)によって算出される。下記式(8)の左側は上記式(6)と同一であって、下記式(8)の右側は上記式(7)と同一である。
Figure JPOXMLDOC01-appb-M000005
 ここで、図3に示される対象ユーザがユーザXであって、ユーザ群がユーザX,Y,Zである例を用いて、対象ユーザ分布、ユーザ群分布、及び合算分布の算出方法について説明する。ユーザX(対象ユーザ)には、アルゴリズムAが用いられて2回コンテンツがレコメンドされ、そのうち1回成功している。このため、選択部15は、ユーザXにおける上記式(6)のnu,iには2を入力し、lu,iには1を入力する。また、ユーザXには、アルゴリズムBが用いられて1回コンテンツがレコメンドされて成功している。このため、選択部15は、ユーザXにおける上記式(6)のnu,iには1を入力し、lu,iには1を入力する。また、ユーザXには、アルゴリズムCが用いられて一度もコンテンツがレコメンドされていないため、選択部15は、ユーザXにおける上記式(6)のnu,i及びlu,iには0を入力する。
 ユーザX,Y,Z(ユーザ群)には、アルゴリズムAが用いられて3回コンテンツがレコメンドされ、そのうち2回成功している。このため、選択部15は、ユーザ群における上記式(7)のnu’,iには3を入力し、lu’,iには2を入力する。また、ユーザX,Y,Zには、アルゴリズムBが用いられて2回コンテンツがレコメンドされ、そのうち1回成功している。このため、選択部15は、ユーザ群における上記式(7)のnu’,iには2を入力し、lu’,iには1を入力する。また、ユーザX,Y,Zには、アルゴリズムCが用いられて一度もコンテンツがレコメンドされていないため、選択部15は、ユーザ群における上記式(7)のnu’,i及びlu’,iには0を入力する。
 このようにして、選択部15は、各値を入力することによって、各アルゴリズムA,B,Cについての対象ユーザの対象ユーザ分布(上記式(6)参照)、及び各アルゴリズムA,B,Cについてのユーザ群のユーザ群分布(上記式(7)参照)を算出する。そして、選択部15は、上記式(8)に示されるように、対象ユーザ分布及びユーザ群分布を合算させて合算分布を算出する。なお、図3では、ユーザ群がユーザX,Y,Zの3人である場合を例示したが、実際のレコメンドシステム10では、例えば、数百人、又は数千人等、多数のユーザによってユーザ群が構成され得る。
 図4は、対象ユーザ及びユーザ群それぞれの対象ユーザ分布、ユーザ群分布、及び合算分布の一例を示す図である。図4には、利用成熟度が「低」である対象ユーザの対象ユーザ分布T1、利用成熟度が「中」である対象ユーザの対象ユーザ分布T2、及び利用成熟度が「高」である対象ユーザの対象ユーザ分布T3が示されている。また、図4には、利用成熟度が「低」であるユーザ群のユーザ群分布G1、利用成熟度が「中」であるユーザ群のユーザ群分布G2、及び利用成熟度が「高」であるユーザ群のユーザ群分布G3が示されている。
 更に、図4には、合算分布S1、合算分布S2、及び合算分布S3が示されている。合算分布S1は、各アルゴリズムA,B,Cについて、利用成熟度が「低」である対象ユーザの対象ユーザ分布T1とユーザ群のユーザ群分布G1とが合算されたベータ分布である。合算分布S2は、各アルゴリズムA,B,Cについて、利用成熟度が「中」である対象ユーザの対象ユーザ分布T2とユーザ群のユーザ群分布G2とが合算されたベータ分布である。合算分布S3は、各アルゴリズムA,B,Cについて、利用成熟度が「高」である対象ユーザの対象ユーザ分布T3とユーザ群のユーザ群分布G3とが合算されたベータ分布である。
 対象ユーザ分布T1の例では、対象ユーザがサービスの利用開始のタイミングであって、レコメンド履歴情報を含めて対象ユーザのサービスの利用履歴がない状態である。したがって、各アルゴリズムA,B,Cについて対象ユーザ分布T1は一様分布(事前分布)となる。すなわち、選択部15は、対象ユーザの対象ユーザ分布T1を用いても、対象ユーザに適している対象アルゴリズムを選択することができない。一方、ユーザ群分布G1は、アルゴリズムCが最も選択されやすい分布となっているため、対象ユーザと同様にサービスの利用を開始して間もないユーザ群は、様々なジャンルのコンテンツをレコメンドされることを好む傾向にあるとわかる。合算分布S1では、利用成熟度が「低」である対象ユーザと同程度の利用成熟度であるユーザ群のベータ分布が反映されているため、合算分布S1は、選択部15によって対象アルゴリズムとしてアルゴリズムCが最も選択されやすい分布となる。
 次に、対象ユーザ分布T2及びユーザ群分布G2について説明する。利用成熟度が「中」である対象ユーザは、サービスに慣れ始め、特定の好みのジャンルができ、好みのジャンルのコンテンツを頻繁に利用するようになると考えられる。したがって、利用成熟度が「中」である対象ユーザには、様々なジャンルのコンテンツをレコメンドするアルゴリズムCよりも、対象ユーザの好みに合ったコンテンツをレコメンドするアルゴリズムAが好まれる傾向がある。対象ユーザ分布T2及びユーザ群分布G2は、利用成熟度が「中」である対象ユーザ及びユーザ群の傾向にしたがって、アルゴリズムAが最も選択されやすい分布となる。そして、そのような対象ユーザ分布T2及びユーザ群分布G2が合算された合算分布S3も、アルゴリズムAが最も選択されやすい分布となる。
 次に、対象ユーザ分布T3について説明する。対象ユーザがサービスを利用し続け、さらに対象ユーザの利用成熟度が高くなると、対象ユーザは好みのジャンルのコンテンツを見つくして、新たなジャンルのコンテンツに興味を持ち始めるようになると考えられる。したがって、利用成熟度が「高」である対象ユーザには、アルゴリズムCが適しているといえる。しかしながら、アルゴリズムAが用いられてレコメンドされたコンテンツが高確率で対象ユーザにクリックされた結果、対象ユーザ分布T3では、各アルゴリズムA,B,Cの分布が収束してしまっている。このような対象ユーザ分布T3に基づいて乱数を与えても、必ずアルゴリズムAの指標値が最も大きくなるため、選択部15は、アルゴリズムAを選択することになる。
 一方、ユーザ群分布G3を参照すると、ユーザ群においては、アルゴリズムCが最も選択されやすい分布となっている。そして、対象ユーザ分布T3とユーザ群分布G3とが合算された合算分布S3は、アルゴリズムA及びアルゴリズムCが選択されやすい分布となる。このような合算分布S3に基づいて指標値を生成した場合、アルゴリズムAの指標値及びアルゴリズムCの指標値が最も大きい可能性が高いため、利用成熟度が「高」である対象ユーザに対しては、選択部15によってアルゴリズムA又はアルゴリズムCが選択される可能性が高くなる。
 レコメンド部16は、選択された対象アルゴリズムを用いることによって、対象ユーザにレコメンドするコンテンツを決定し、レコメンドコンテンツ情報を出力する。具体的には、レコメンド部16は、選択部15から入力された対象アルゴリズムを示す情報を取得し、選択された対象アルゴリズムによる上述した手法によって、対象ユーザにレコメンドする複数のコンテンツを決定する。そして、レコメンド部16は、サービスシステムを介して、ユーザが所持する端末にレコメンドコンテンツ情報を出力する。本実施形態では、レコメンド部16は、対象アルゴリズムとしてアルゴリズムA,B,Cのいずれかを用いて、1回のレコメンドにおいて、対象ユーザにレコメンドする複数のコンテンツを決定する。具体的には、レコメンド部16は、選択部15によって選択された各対象アルゴリズムを用いて、レコメンドする複数のコンテンツを決定する。なお、レコメンド部16は、レコメンドコンテンツ情報をユーザが所持する端末に直接出力してもよい。
 図5(a)、図5(b)、及び図6(a)は、レコメンド部16が出力したレコメンドコンテンツ情報が、サービスシステムを介して対象ユーザが所持する端末に表示されたレコメンド結果の例を示す図である。以下で説明する例では、レコメンド部16が、対象ユーザに、1回のレコメンドにおいて3つのレコメンドするコンテンツを決定し、レコメンド結果においては、各コンテンツが上から順番に表示されるものとする。
 図5(a)には、図4に示される例において、選択部15が合算分布S1に基づいて対象アルゴリズムを選択した場合におけるレコメンド結果が示されている。合算分布S1では、アルゴリズムCが最も選択されやすい。この場合、選択部15は、合算分布S1に基づいて対象アルゴリズムを選択する処理を3回実行した結果、対象アルゴリズムとしてすべてアルゴリズムCを選択したものとする。そして、レコメンド部16が、アルゴリズムC(対象アルゴリズム)を用いて3つのコンテンツを決定した結果の一例が、図5(a)に示されるレコメンド結果である。当該レコメンド結果は、様々なジャンルのコンテンツをレコメンドするアルゴリズムCに基づいて、様々なジャンルのコンテンツがレコメンドされていることを示している。すなわち、対象ユーザがサービスを始めたてのとき(利用成熟度:低)においては、レコメンドシステム10は、多様性の高いコンテンツのレコメンドを行う。
 図5(b)には、図4に示される例において、選択部15が合算分布S2に基づいて対象アルゴリズムを選択した場合におけるレコメンド結果が示されている。合算分布S2では、アルゴリズムAが最も選択されやすい。この場合、選択部15は、合算分布S2に基づいて対象アルゴリズムを選択する処理を3回実行し、対象アルゴリズムとしてすべてアルゴリズムAを選択したものとする。そして、レコメンド部16が、アルゴリズムA(対象アルゴリズム)を用いて3つのコンテンツを決定した結果の一例が、図5(b)に示されるレコメンド結果である。当該レコメンド結果は、対象ユーザの利用履歴に基づいてコンテンツをレコメンドするアルゴリズムAに基づいて、対象ユーザが好むジャンル(ミステリー)のコンテンツがレコメンドされていることを示している。すなわち、ユーザがサービスに慣れ親しんだとき(利用成熟度:中)においては、レコメンドシステム10は、特定のコンテンツのジャンルに沿ったレコメンドを行う。
 図6(a)には、図4に示される例において、選択部15が合算分布S3に基づいて対象アルゴリズムを選択した場合におけるレコメンド結果が示されている。合算分布S3では、アルゴリズムA及びアルゴリズムCが選択されやすい。この場合、選択部15は、合算分布S3に基づいて対象アルゴリズムを選択する処理を3回実行し、レコメンド結果において、1番目に表示させるコンテンツを決定するための対象アルゴリズムとしてアルゴリズムAを選択し、2番目及び3番目に表示させるコンテンツを決定するための対象アルゴリズムとしてアルゴリズムCを選択したものとする。そして、レコメンド部16が、アルゴリズムA,C(対象アルゴリズム)を用いて3つのコンテンツを決定した結果の一例が、図6(a)に示されるレコメンド結果である。当該レコメンド結果は、対象ユーザの利用履歴に基づいてコンテンツをレコメンドするアルゴリズムAに基づいて、対象ユーザが好むジャンル(ミステリー)のコンテンツが1番目にレコメンドされ、様々なジャンルのコンテンツをレコメンドするアルゴリズムCに基づいて、様々なジャンルのコンテンツが2番目及び3番目にレコメンドされていることを示している。すなわち、ユーザのサービスの利用が更に進み、ユーザがコンテンツに飽きてきたとき(利用成熟度:高)においては、レコメンドシステム10は、再び多様性の高いコンテンツのレコメンドを行う。
 なお、対象ユーザが所持する端末に表示されるレコメンド結果の表示態様は、上述した例に特に限定されるものではない。以上が、本実施形態に係るレコメンドシステム10の機能である。
 引き続いて、図7のフローチャートを用いて、本実施形態に係るレコメンドシステム10で実行される処理(レコメンドシステム10が行うレコメンド方法)を説明する。図7に示すように、本処理では、まず、第1取得部12によって、ユーザ履歴情報が取得される(S01)。続いて、算出部13によって、ユーザ履歴情報に基づいて、各ユーザの利用成熟度が算出される(S02)。続いて、第2取得部14によって、レコメンド履歴情報が取得される(S03)。
 続いて、選択部15によって、対象ユーザにおけるレコメンド履歴情報と、ユーザ群におけるレコメンド履歴情報とに基づいて、対象アルゴリズムが選択される(S04)。続いて、レコメンド部16によって、選択された対象アルゴリズムが用いられることによって、対象ユーザにレコメンドするコンテンツが決定され、レコメンドコンテンツ情報が出力される(S05)。以上により、レコメンドの処理が終了する。
 次に、本実施形態に係るレコメンドシステム10の作用効果について説明する。
 本実施形態では、対象ユーザの利用成熟度に対応する利用成熟度を有するユーザ群におけるレコメンド履歴情報に基づいて対象アルゴリズムが選択され、選択された対象アルゴリズムを用いることによって、対象ユーザにレコメンドするコンテンツが決定され、決定したコンテンツを示す情報が出力される。したがって、本実施形態によれば、対象ユーザの利用成熟度に応じて適切な対象アルゴリズムが選択され、その結果、ユーザにコンテンツを適切にレコメンドできる。
 具体的には、例えば、対象ユーザのレコメンド履歴情報に基づいて対象アルゴリズムを選択する場合、ユーザのコンテンツの選択の傾向が偏っていると、レコメンドの度に同じアルゴリズムが選択される(選択されるアルゴリズムが固定化される)おそれがある。これに対し、本実施形態では、ユーザ群のレコメンド履歴情報に基づいて対象アルゴリズムが選択されるため、レコメンドするコンテンツの固定化を防ぐことができる。したがって、本実施形態によれば、対象ユーザのニーズに合ったレコメンドができる可能性がある。更に、本実施形態では、アルゴリズムの選択は、対象ユーザの利用成熟度と同程度の利用成熟度を有するユーザ群(すなわち、対象ユーザと同程度にサービスに慣れ親しんでいるユーザ群)のユーザ群分布に基づいて実施される。したがって、本実施形態によれば、利用成熟度によって変化する対象ユーザのレコメンドのニーズに対応したコンテンツのレコメンドが可能となる。
 選択部15は、対象ユーザにおけるレコメンド履歴情報に基づいて、複数のアルゴリズムのそれぞれについて、対象アルゴリズムとして用いられてコンテンツをレコメンドする際に対象ユーザにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布である対象ユーザ分布を算出し、ユーザ群におけるレコメンド履歴情報に基づいて、複数のアルゴリズムのそれぞれについて、対象アルゴリズムとして用いられてコンテンツをレコメンドする際にユーザ群のユーザそれぞれにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布であるユーザ群分布を算出し、対象ユーザ分布及びユーザ群分布に基づいて、対象アルゴリズムを選択する。この構成によれば、対象ユーザの利用成熟度に適した対象アルゴリズムを確実に選択することができる。
 選択部15は、対象ユーザ分布とユーザ群分布とを合算させた合算分布を更に算出し、合算分布に基づいて、対象アルゴリズムを選択する。この構成によれば、対象ユーザがコンテンツを選択する傾向と、対象ユーザの利用実績と同程度の利用実績を有するユーザ群がコンテンツを選択する傾向とを確実に反映させて対象アルゴリズムを選択することができる。
 ここで、図6(b)に示されるレコメンド結果の比較例を用いて、本実施形態の効果について説明する。図6(b)は、仮に、図4に示される対象ユーザ分布T3に基づいて対象アルゴリズムが選択された場合におけるレコメンド結果の一例である。上述したように、利用成熟度が「高」である対象ユーザは、新たなジャンルのコンテンツに興味を持ち始めるようになると考えられ、当該対象ユーザには、アルゴリズムCが適しているといえる。しかしながら、アルゴリズムAが用いられてレコメンドされたコンテンツが高確率で対象ユーザにクリックされた結果、対象ユーザ分布T3では、各アルゴリズムA,B,Cの分布が収束してしまっている。このような対象ユーザ分布T3に基づいて乱数を与えても、必ずアルゴリズムAの指標値が最も大きくなるため、選択部15は、アルゴリズムAを選択することになる。そして、対象ユーザにはアルゴリズムCが適しているにもかかわらず、図6(b)に示されるように、レコメンド結果はすべてアルゴリズムAが用いられたものになってしまう。
 これに対し、本実施形態では、選択部15が、対象ユーザ分布T3とユーザ群分布G3とを合算させた合算分布S3に基づいて、対象アルゴリズムを選択する。このため、図6(a)に示されるように、レコメンド結果はアルゴリズムA及びアルゴリズムCが用いられたものとなる。したがって、本実施形態では、利用成熟度に応じて変化する対象ユーザのニーズに対応した対象アルゴリズムを選択することができ、ユーザにとって飽きのこないコンテンツをレコメンドすることができる。
 レコメンド部16は、1回のレコメンドにおいて、対象ユーザにレコメンドする複数のコンテンツを決定し、選択部15は、対象ユーザにレコメンドするコンテンツ毎に、対象アルゴリズムを選択する。この構成によれば、コンテンツの数だけ対象アルゴリズムが確率分布に則って選択されるため、対象ユーザに適切なコンテンツをレコメンドすることができる。
 第1取得部12は、ユーザ履歴情報として、複数のユーザのそれぞれが利用したコンテンツのジャンルの数を示すジャンル情報を取得し、算出部13は、ジャンル情報に基づいて、複数のユーザのそれぞれにおける利用成熟度を算出する。
 一般的に、ユーザが利用するコンテンツのジャンル数は、ユーザの嗜好の多様性を表していると考えられる。また、嗜好の多様性は、ユーザにおいてサービスの利用成熟度に相関があると考えられる。具体的には、例えば、嗜好の多様性の高いユーザは、サービスの利用成熟度が高いと考えられる。本実施形態では、ユーザが選択したコンテンツのジャンル数に基づいて利用成熟度が算出されるため、各ユーザの利用成熟度を高精度に算出することができる。
 第1取得部12は、ユーザ履歴情報として、複数のユーザのそれぞれがサービスを利用した回数を示す利用回数情報、複数のユーザのそれぞれがサービスを利用した期間を示す利用期間情報、及び複数のユーザのそれぞれが利用したコンテンツの数を示すコンテンツ数情報を取得し、算出部13は、利用回数情報、利用期間情報、及びコンテンツ数情報に基づいて、複数のユーザのそれぞれの利用成熟度を算出する。この構成によれば、各ユーザの利用成熟度を更に高精度に算出することができる。
 また、選択部15は、対象ユーザの利用成熟度に対応する利用成熟度を有するユーザ群におけるレコメンド履歴情報に基づいて対象アルゴリズムを選択すればよい。具体的には、選択部15は、ユーザ群におけるレコメンド履歴情報に基づいて、複数のアルゴリズムのそれぞれについて、ユーザ群分布を算出し、ユーザ群分布のみに基づいて、対象アルゴリズムを選択してもよい。この構成によっても、対象ユーザの利用成熟度に応じて適切な対象アルゴリズムが選択され、その結果、ユーザにコンテンツを適切にレコメンドできる。
 従来、多くのECにおいて、ユーザにコンテンツをレコメンドするレコメンドシステムが採用されており、目的に合わせて専用のアルゴリズムが用いられていた。アルゴリズムの振分(選択)に使用するバンディットアルゴリズムは、コンテンツレベルで最適解を導出するために広く利用されているが、アルゴリズムレベルでの最適解を導出するために利用されている例はない。このようなレコメンドシステムにおいては、レコメンドの目的別に異なるアルゴリズムを用いるケースはあったが、ユーザ毎に適切な(例えば、ユーザの利用成熟度に応じて)アルゴリズムを変える(選択する)技術は存在しなかった。特に、例えば動画配信サービスにおいては、ユーザの利用成熟度によってユーザのレコメンドのニーズが変化すると考えられるが、当該ニーズに対応するアルゴリズムは提案されていなかった。また、単一のアルゴリズムでは、変化するユーザのニーズに応えられない。
 本発明者は、複数のアルゴリズムのうち、ユーザのサービス成熟利用度に応じて、自動で最適なアルゴリズムを選択するシステムを発明した。これにより、ユーザの利用成熟度によって変化するレコメンドのニーズに対応でき、ユーザにとって飽きのこないレコメンドを提示することができる。つまり、レコメンドシステム10は、ユーザと共に成長するレコメンドシステムである。
 なお、上記実施の形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
 例えば、本発明の一実施の形態におけるレコメンドシステム10は、本実施形態のレコメンドシステム10の処理を行うコンピュータとして機能してもよい。図8は、本実施形態に係るレコメンドシステム10のハードウェア構成の一例を示す図である。上述のレコメンドシステム10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。レコメンドシステム10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 レコメンドシステム10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることで実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、レコメンドシステム10の各機能は、プロセッサ1001で実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、レコメンドシステム10の各機能は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述のレコメンドシステム10の各機能は、通信装置1004で実現されてもよい。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
 また、レコメンドシステム10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
 情報の通知は、本明細書で説明した態様/実施形態に限られず、他の方法で行われてもよい。例えば、情報の通知は、物理レイヤシグナリング(例えば、DCI(Downlink Control Information)、UCI(Uplink Control Information))、上位レイヤシグナリング(例えば、RRC(Radio Resource Control)シグナリング、MAC(Medium Access Control)シグナリング、報知情報(MIB(Master Information Block)、SIB(System Information Block)))、その他の信号又はこれらの組み合わせによって実施されてもよい。また、RRCシグナリングは、RRCメッセージと呼ばれてもよく、例えば、RRC接続セットアップ(RRC Connection Setup)メッセージ、RRC接続再構成(RRC Connection Reconfiguration)メッセージなどであってもよい。
 本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
 本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
 なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。例えば、チャネル及び/又はシンボルは信号(シグナル)であってもよい。また、信号はメッセージであってもよい。また、コンポーネントキャリア(CC)は、キャリア周波数、セルなどと呼ばれてもよい。
 本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
 また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。例えば、無線リソースはインデックスで指示されるものであってもよい。
 上述したパラメータに使用する名称はいかなる点においても限定的なものではない。さらに、これらのパラメータを使用する数式等は、本明細書で明示的に開示したものと異なる場合もある。様々なチャネル(例えば、PUCCH、PDCCHなど)及び情報要素(例えば、TPCなど)は、あらゆる好適な名称によって識別できるので、これらの様々なチャネル及び情報要素に割り当てている様々な名称は、いかなる点においても限定的なものではない。
 本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
 「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。本明細書で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及び/又はプリント電気接続を使用することにより、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどの電磁エネルギーを使用することにより、互いに「接続」又は「結合」されると考えることができる。
 本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
 本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
 10…レコメンドシステム、12…第1取得部、13…算出部、14…第2取得部、15…選択部、16…レコメンド部、A,B,C…アルゴリズム(対象アルゴリズム)、G1,G2,G3…ユーザ群分布、S1,S2,S3…合算分布、T1,T2,T3…対象ユーザ分布、X…ユーザ(対象ユーザ)、X,Y,Z…ユーザ(ユーザ群)。

Claims (7)

  1.  対象ユーザを含む複数のユーザにコンテンツを提供するサービスにおいて、各々が前記対象ユーザにレコメンドするコンテンツを決定するように構成され且つコンテンツの決定の傾向として互いに異なる特徴を有する複数のアルゴリズムのうち、選択された一のアルゴリズムである対象アルゴリズムを用いて、前記対象ユーザにレコメンドするコンテンツを決定するレコメンドシステムであって、
     前記複数のユーザのコンテンツの利用に係る履歴を示す情報である第1履歴情報を取得する第1取得部と、
     前記第1履歴情報に基づいて、前記複数のユーザのそれぞれにおいて前記サービスの利用の成熟度を示す利用成熟度を算出する算出部と、
     前記複数のユーザのそれぞれにコンテンツがレコメンドされた際に用いられた前記対象アルゴリズムを示す対象アルゴリズム情報、及び前記対象アルゴリズムを用いてレコメンドされたコンテンツが前記複数のユーザのそれぞれに利用されたか否かを示す情報であるレコメンド成否情報を含む第2履歴情報を取得する第2取得部と、
     前記複数のユーザのうち前記対象ユーザの前記利用成熟度に対応する前記利用成熟度を有するユーザ群における前記第2履歴情報に基づいて、前記対象アルゴリズムを選択する選択部と、
     選択された前記対象アルゴリズムを用いることによって、前記対象ユーザにレコメンドするコンテンツを決定し、決定したレコメンドするコンテンツを示す情報を出力するレコメンド部と、を備える、レコメンドシステム。
  2.  前記選択部は、
     前記ユーザ群における前記第2履歴情報に基づいて、前記複数のアルゴリズムのそれぞれについて、前記対象アルゴリズムとして用いられてコンテンツをレコメンドする際に前記ユーザ群のユーザそれぞれにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布であるユーザ群分布を算出し、
     前記ユーザ群分布に基づいて、前記対象アルゴリズムを選択する、請求項1に記載のレコメンドシステム。
  3.  前記選択部は、
     前記対象ユーザにおける前記第2履歴情報に基づいて、前記複数のアルゴリズムのそれぞれについて、前記対象アルゴリズムとして用いられてコンテンツをレコメンドする際に前記対象ユーザにおいてレコメンドしたコンテンツを利用する度合いを示すスコアの確率分布である対象ユーザ分布を更に算出し、
     前記対象ユーザ分布及び前記ユーザ群分布に基づいて、前記対象アルゴリズムを選択する、請求項2に記載のレコメンドシステム。
  4.  前記選択部は、前記対象ユーザ分布と前記ユーザ群分布とを合算させた合算分布を更に算出し、前記合算分布に基づいて、前記対象アルゴリズムを選択する、請求項3に載のレコメンドシステム。
  5.  前記レコメンド部は、1回のレコメンドにおいて、前記対象ユーザにレコメンドする複数のコンテンツを決定し、
     前記選択部は、前記対象ユーザにレコメンドするコンテンツ毎に、前記対象アルゴリズムを選択する、請求項1~4のいずれか一項に記載のレコメンドシステム。
  6.  前記第1取得部は、前記第1履歴情報として、前記複数のユーザのそれぞれが利用したコンテンツのジャンルの数を示すジャンル情報を取得し、
     前記算出部は、前記ジャンル情報に基づいて、前記複数のユーザのそれぞれにおける前記利用成熟度を算出する、請求項1~5のいずれか1項に記載のレコメンドシステム。
  7.  前記第1取得部は、前記第1履歴情報として、前記複数のユーザのそれぞれが前記サービスを利用した回数を示す利用回数情報、前記複数のユーザのそれぞれが前記サービスを利用した期間を示す利用期間情報、及び前記複数のユーザのそれぞれが利用したコンテンツの数を示すコンテンツ数情報の少なくとも一つを取得し、
     前記算出部は、前記利用回数情報、前記利用期間情報、及び前記コンテンツ数情報の少なくとも一つに基づいて、前記複数のユーザのそれぞれの前記利用成熟度を算出する、請求項1~6のいずれか一項に記載のレコメンドシステム。
PCT/JP2021/015908 2020-06-12 2021-04-19 レコメンドシステム WO2021251002A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022530044A JPWO2021251002A1 (ja) 2020-06-12 2021-04-19
US18/001,179 US20230229708A1 (en) 2020-06-12 2021-04-19 Recommendation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020102576 2020-06-12
JP2020-102576 2020-06-12

Publications (1)

Publication Number Publication Date
WO2021251002A1 true WO2021251002A1 (ja) 2021-12-16

Family

ID=78845553

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/015908 WO2021251002A1 (ja) 2020-06-12 2021-04-19 レコメンドシステム

Country Status (3)

Country Link
US (1) US20230229708A1 (ja)
JP (1) JPWO2021251002A1 (ja)
WO (1) WO2021251002A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157394A (ja) * 2000-11-20 2002-05-31 Sheena Kk ネットワークマーケティングシステム
JP2013242717A (ja) * 2012-05-21 2013-12-05 Yahoo Japan Corp ゲーム提案装置、ゲーム提案方法およびプログラム
JP2014164447A (ja) * 2013-02-22 2014-09-08 Ntt Data Corp レコメンド情報提供システム、レコメンド情報生成装置、レコメンド情報提供方法、およびプログラム
US20150149274A1 (en) * 2013-11-27 2015-05-28 William Conrad Internet marketing-advertising system
JP2018136887A (ja) * 2017-02-23 2018-08-30 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP2019148878A (ja) * 2018-02-26 2019-09-05 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720723B2 (en) * 1998-09-18 2010-05-18 Amazon Technologies, Inc. User interface and methods for recommending items to users
US7581237B1 (en) * 2000-10-30 2009-08-25 Pace Plc Method and apparatus for generating television program recommendations based on prior queries
US8341158B2 (en) * 2005-11-21 2012-12-25 Sony Corporation User's preference prediction from collective rating data
US20080133344A1 (en) * 2006-12-05 2008-06-05 Yahoo! Inc. Systems and methods for providing cross-vertical advertisement
US9215423B2 (en) * 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002157394A (ja) * 2000-11-20 2002-05-31 Sheena Kk ネットワークマーケティングシステム
JP2013242717A (ja) * 2012-05-21 2013-12-05 Yahoo Japan Corp ゲーム提案装置、ゲーム提案方法およびプログラム
JP2014164447A (ja) * 2013-02-22 2014-09-08 Ntt Data Corp レコメンド情報提供システム、レコメンド情報生成装置、レコメンド情報提供方法、およびプログラム
US20150149274A1 (en) * 2013-11-27 2015-05-28 William Conrad Internet marketing-advertising system
JP2018136887A (ja) * 2017-02-23 2018-08-30 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
JP2019148878A (ja) * 2018-02-26 2019-09-05 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
US20230229708A1 (en) 2023-07-20
JPWO2021251002A1 (ja) 2021-12-16

Similar Documents

Publication Publication Date Title
AU2016360122B2 (en) Information recommendation method and apparatus
KR101060487B1 (ko) 태그 클라우드를 이용한 콘텐츠 추천 장치 및 방법
US8090673B2 (en) Scoring content recommendations for user-specified topics via trust ratings
US20150120722A1 (en) Method and system for providing multimedia content recommendations
JP6929445B2 (ja) 評価装置
US8533202B2 (en) Entropy-based mixing and personalization
US9852112B2 (en) Electronic discovery insight tool
US8463640B2 (en) Method and appartus for adaptively updating recommend user group
CN106850864B (zh) 应用于web服务器登录的方法和装置
WO1998040832A2 (en) Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US20160380990A1 (en) Electronic Discovery Insight Tool
US20160335683A1 (en) Rating System and Method
WO2023168856A1 (zh) 一种关联场景推荐方法、装置、存储介质及电子装置
KR101151176B1 (ko) 메뉴 선호 정보를 이용한 콘텐츠 추천 방법
US20180027296A1 (en) Image processing device, and method and system for controlling image processing device
CN115455280A (zh) 一种推荐列表确定方法和服务器
US20160378721A1 (en) Electronic Discovery Insight Tool
CN113222073B (zh) 训练广告推荐模型的方法及装置
WO2021251002A1 (ja) レコメンドシステム
JP5813052B2 (ja) 情報処理装置、方法及びプログラム
US11647240B2 (en) Apparatus for outputting content
KR20030029965A (ko) 사용자 선택 가능한 입력 제한 팩터들과 출력 라이프니스인디케이터를 갖는 리커맨더 시스템
EP2779038A1 (en) Computing system with privacy mechanism and method of operation thereof
US11734349B2 (en) Convergence information-tags retrieval method
CN115391659A (zh) 新闻推荐方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21821600

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022530044

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21821600

Country of ref document: EP

Kind code of ref document: A1