Recommendation Systems
The recommendation system addresses the challenge of adapting to changing user needs by selecting algorithms based on user maturity levels, ensuring content recommendations remain engaging and relevant.
Patent Information
- Application Number
- JP2022530044
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-06-12
- Filing Date
- 2021-04-19
- Publication Date
- 2024-12-16
- Estimated Expiration
- 2041-04-19
AI Technical Summary
Existing recommendation systems struggle to adapt to changing user needs, leading to potential boredom due to the inability to select the optimal algorithm for content recommendations.
A recommendation system that selects a target algorithm based on the usage maturity level of users by analyzing historical data from a user group with similar maturity levels, using a combination of bandit algorithms and THOMPSON SAMPLING to determine content recommendations.
The system effectively recommends content that aligns with user preferences by dynamically selecting algorithms, preventing content from becoming repetitive and ensuring recommendations meet evolving user needs.
Smart Images

Figure 0007600235000006 
Figure 0007600235000007 
Figure 0007600235000008
Abstract
Description
[Technical field]
[0001] The present invention relates to a recommendation system. [Background technology]
[0002] In a service that provides content to a user, a technology is known that estimates content that the user is likely to select and recommends the use of the estimated content to the user. Patent Document 1 describes an information processing device that determines recommended content to be recommended to a content viewing user based on the profile of the user and presents the recommended content to a content output device that the user views. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2018-163460 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in a recommendation system, recommendations may be made using an algorithm configured to determine content to be recommended to a target user. In this case, for example, if a single algorithm is used, the user's changing needs for recommendations may not be met, and the user may become bored with the recommended content. Therefore, it is possible to select one of multiple algorithms for each recommendation, but it is expected that it is difficult for the recommendation system to grasp and select which algorithm is optimal for the user. Therefore, in the recommendation system described above, there is a risk that content may not be appropriately recommended to the user.
[0005] One aspect of the present invention has been made in consideration of the above-described circumstances, and relates to a recommendation system that can appropriately recommend content to a user. [Means for solving the problem]
[0006] In order to achieve the above object, a recommendation system according to one aspect of the present invention is a recommendation system for a service that provides content to a plurality of users including a target user, the recommendation system determining content to be recommended to the target user using a target algorithm, which is one selected from a plurality of algorithms that are configured to determine content to be recommended to the target user and have different characteristics in terms of content determination tendencies, the recommendation system including a first acquisition unit that acquires first history information that is information indicating the history of content usage by the plurality of users, and a usage maturity level that indicates the maturity of service usage for each of the plurality of users based on the first history information. the target user's usage maturity level is determined by using the target algorithm; a second acquisition unit that acquires second history information including target algorithm information indicating the target algorithm used when the content was recommended to each of the multiple users and recommendation success / failure information which is information indicating whether the content recommended using the target algorithm was used by each of the multiple users; a selection unit that selects the target algorithm based on the second history information of a user group having a usage maturity level corresponding to the usage maturity level of the target user among the multiple users; and a recommendation unit that uses the selected target algorithm to determine content to be recommended to the target user and output information indicating the determined recommended content.
[0007] In the recommendation system according to one aspect of the present invention, a target algorithm is selected based on second history information of a user group having a usage maturity level corresponding to the usage maturity level of the target user, and content to be recommended to the target user is determined by using the selected target algorithm, and information indicating the determined content is output. Therefore, according to the recommendation system according to one aspect of the present invention, an appropriate target algorithm is selected according to the usage maturity level of the target user, and as a result, content can be appropriately recommended to the user. Effect of the Invention
[0008] According to one aspect of the present invention, content can be appropriately recommended to a user. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a functional block diagram of a recommendation system according to this embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of server information acquired by a first acquisition unit. [Diagram 3] FIG. 3 is a diagram illustrating an example of recommendation history information acquired by the second acquiring unit. [Figure 4] FIG. 4 is a diagram showing an example of a target user distribution, a user group distribution, and a combined distribution of a target user and a user group. [Diagram 5] FIG. 5 is a diagram showing an example of a recommendation result displayed on a terminal owned by a target user. [Figure 6] FIG. 6 is a diagram showing an example of a recommendation result displayed on a terminal owned by a target user, and a comparative example of a recommendation result displayed on a terminal owned by a target user. [Figure 7] 3 is a flowchart showing the entire process executed in the recommendation system according to the present embodiment. [Figure 8] FIG. 2 is a diagram illustrating a hardware configuration of a recommendation system according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the description of the drawings, the same or equivalent elements are designated by the same reference numerals, and duplicated explanations will be omitted.
[0011] FIG. 1 is a functional block diagram of a recommendation system 10 according to the present embodiment. The recommendation system 10 is a system (apparatus) that determines content to be recommended to a target user in a service that provides content to a plurality of users including the target user. The service is, for example, a content providing service operated by a communication carrier via a mobile communication network, and provides various content in response to requests from users. Each user is a user whose user attribute information is registered in an attribute information server (described in detail later) and who uses the service. Specifically, for example, each user uses the service by displaying information indicating content on a terminal on the WEB or via an application installed on a terminal owned by the user. The service is provided, for example, by an external service system (not shown) different from the recommendation system 10. The recommendation system 10 is capable of transmitting and receiving data to and from the service system via a communication network.
[0012] Examples of recommended content include videos, music, e-books, and advertisements (push ads). Recommended content includes content of various genres and new content. Examples of genres include mystery, action, and romance when the service is a video provision service. New content is, for example, content that has been added to the service within a specified period of time. Furthermore, the recommended content is not limited to this embodiment, and may be physical content such as products handled by an online shopping service. The recommendation system 10 may be the same system as the service system.
[0013] For example, when a user logs in to the service, the service system (counter system) transmits a request for content recommendation to the target user to the recommendation system 10, with the user as the target user. Then, when the recommendation system 10 receives a request for content recommendation to the target user from the service system, it outputs information indicating the recommended content (hereinafter referred to as "recommended content information") to the service system. That is, the target user is a user who receives content recommendations among multiple users who use the service, and in this embodiment, is a user designated by the service system. Note that the target user is not limited to the example of this embodiment. For example, the recommendation system 10 may output recommended content information for each user who is a target user to the service system, with all users as the target user.
[0014] Content is recommended to the target user by, for example, sending recommended content information from the recommendation system 10 to a terminal owned by the target user via the service system. The terminal outputs, such as displaying, the recommended content information, so that the target user can recognize the recommended content. If the target user is interested in the recommended content, he or she can use the recommended content by operating the terminal. Specifically, for example, if the service is a video providing service, the target user uses the content by clicking on the recommended content (video) on the terminal and watching the content. Note that the usage manner of the user may differ depending on the type of recommended content.
[0015] In the recommendation system 10, one algorithm (target algorithm) is selected from among a plurality of algorithms each configured to determine content to be recommended to a target user. Then, the selected target algorithm is used to determine the content to be recommended. In this embodiment, the recommendation system 10 stores in advance algorithms A, B, and C as a plurality of algorithms. Each of the plurality of algorithms A, B, and C is configured to determine a plurality of contents to be recommended to the target user in one recommendation. The algorithms A, B, and C have different characteristics as tendencies for determining content. Specifically, the algorithm A recommends content according to the content usage history of the target user. The algorithm B recommends new content. The algorithm C recommends content of various genres. The details of the algorithms A, B, and C will be described later. Note that each of the algorithms A, B, and C may be configured to recommend one content to the target user in one recommendation.
[0016] The recommendation system 10 selects a target algorithm by executing a calculation based on a bandit algorithm. The bandit algorithm is a method of selecting an option by controlling the ratio of exploitation (selecting an option that maximizes profits from currently known information) and exploration (selecting an option to acquire information other than currently known information). The recommendation system 10 selects a target algorithm by using THOMPSON SAMPLING as such a banded algorithm. As a method of selecting a target algorithm, for example, there is a method of calculating a beta distribution in which a random variable is taken on the horizontal axis (X axis) and a probability density is taken on the vertical axis (Y axis) for each algorithm A, B, and C. The random variable here corresponds to a score indicating the degree to which the target user will use the recommended content when using the target algorithm to recommend content. An example of the score is the click-through rate (CTR) at which a user clicks on the recommended content. The probability density here corresponds to the relative ease of obtaining a score.
[0017] A method for selecting a target algorithm using THOMPSON SAMPLING will be described in detail below. Generally, the beta distribution is expressed by the following formula (1).
[0018]
number
[0019] In the above formula (1), α and β are positive real numbers, and the value of the random variable x is 0≦x≦1. The beta distribution is a distribution whose probability density function is x α-1 (1-x) β-1 / B(α,β). Symbols commonly used in the following formulas indicate the same elements, and their explanation will be omitted below.
[0020] Generally, in THOMPSON SAMPLING, a uniform distribution is assumed as the prior distribution. This is because there is no track record (data) of recommendations using multiple algorithms for a target user when the user starts using the service. When content is recommended to a target user using a target algorithm, THOMPSON SAMPLING defines the following formula (2) as the posterior distribution.
[0021]
number
[0022] In the above formula (2), i indicates information that can uniquely identify the algorithm, n indicates the number of times that content using algorithm i was recommended to the target user (i.e., the sum of the number of times that recommendations were successful and the number of times that recommendations were unsuccessful), and l indicates the number of times that the target user clicked on the content (i.e., the number of times that recommendations were successful).
[0023] A possible method for selecting the target algorithm is to calculate a beta distribution for each of the algorithms A, B, and C using the above formula (2), generate a random variable value (hereinafter referred to as an "index value") that is a random number with a probability according to the calculated beta distribution for each of the algorithms A, B, and C, and select the algorithm with the largest index value as the target algorithm. The random numbers can be generated by a known method.
[0024] Here, a method for selecting the above-mentioned target algorithm will be described using a target user distribution T2, which is an example of a beta distribution shown in Fig. 4. The target user distribution T2 is a beta distribution for one target user, and is a beta distribution calculated using the above formula (2) for each of the algorithms A, B, and C. The target user distribution T2 will be described in detail later.
[0025] In the target user distribution T2, the random variable X indicates a score, and the probability density indicates the relative likelihood of the score being obtained. The score is a value between 0 and 1, and the larger the score, the higher the degree to which the user uses the recommended content (in other words, the possibility that the user clicks on the recommended content). Using such a target user distribution T2, index values of each algorithm A, B, and C are generated with a probability according to the target user distribution T2. For example, as shown in FIG. 4, the probability distribution of the algorithm A has a mountain-like shape in which the random variable X is between about 0.5 and 0.9 and the random variable X has a peak at about 0.7 (i.e., the probability density is maximum when the random variable X is 0.7). This indicates that the index value is a value between about 0.5 and 0.9, and the probability of it being about 0.7 is the highest. By generating index values for each algorithm A, B, and C according to such a target user distribution T2, the algorithm with the largest index value (score that is the index value) can be selected as the target algorithm.
[0026] Here, when this method is used for recommendations, the following problem occurs. That is, as the results (data) of content recommended to the target user using the target algorithm are accumulated, the probability distribution gradually becomes smaller in variance and converges. In this case, when the target user uses the service and recommendation history information is accumulated, and the variance of the probability distribution converges to a certain extent, even if an index value is generated, the index value of a specific algorithm will be the highest each time, and the selected algorithm will be fixed. In that case, for example, even if the target user begins to desire recommendations of content that tends to be different from the content that has been recommended by the algorithm, the target user's desire cannot be met, and the user may become tired of the recommendations.
[0027] Therefore, the recommendation system 10 according to the present embodiment selects a target algorithm so that appropriate content is recommended to a 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). The recommendation system 10 may also be realized by a plurality of computers, i.e., a computer system.
[0028] Next, functions of the recommendation system 10 according to this embodiment will be described. As shown in FIG. 1, 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.
[0029] The memory unit 11 stores information necessary for the recommendation system 10 to recommend content. The memory unit 11 stores algorithms A, B, and C in advance. Each of the algorithms A, B, and C is stored in the memory unit 11 in advance by, for example, a designer of the recommendation system 10. The memory unit 11 also stores various information acquired from one or more servers (details will be described later) installed outside the recommendation system 10 and referenced by the recommendation system 10. Information calculated in a series of recommendation processes is input to the memory unit 11 from each component described later. The information stored in the memory unit 11 is referenced by each component (first acquisition unit 12, calculation unit 13, second acquisition unit 14, selection unit 15, and recommendation unit 16) as necessary.
[0030] Here, a description will be given of the configuration of each of the algorithms A, B, and C stored in the storage unit 11. Each of the algorithms A, B, and C acquires information from one or more external servers and executes different processes to determine content to be recommended to a user.
[0031] Examples of such servers include one or more attribute information servers (not shown) that store attribute information of each user who uses the service, one or more log servers (not shown) that store log information of each user who uses the service, and one or more content servers (not shown) that store information regarding each piece of content that may be recommended in the recommendation system 10.
[0032] The attribute information server stores, for example, the user name, gender, and age of each user in correspondence with each other as attribute information. The log server stores, for example, click date and time information, impression date and time information, user name, content name, target algorithm information, and recommendation success / failure information for each user in correspondence with each other as log data. The impression date and time information is information indicating the time when the content was recommended to the target user. The click date and time information indicates the date and time when the target user selected the content. The user name is information that can uniquely identify the user. The content name is information that can uniquely identify the content used by the user. The target algorithm information and recommendation success / failure information will be described later.
[0033] The content server stores, for example, content name, genre name, flag information, ranking information, etc., associated with each other as information about each content. The content name is information that can uniquely identify the content. The genre name is information that can uniquely identify the genre of the content. The flag information is information indicating whether the content is new or not, and for example, 1 is input if the content is new, and 0 is input if the content is not new. The ranking information is information indicating the popularity ranking of the content. The ranking information includes, for example, the overall ranking of the content in the service for the past two weeks, and the genre ranking, which is the ranking of the content within the genre to which the content belongs.
[0034] The algorithm A is configured to determine content to be recommended to the target user based on, for example, attribute information of the target user and other users stored in an attribute information server, as well as the user names and used content names of the target user and other users. As an example, the algorithm A uses conventional collaborative filtering to identify other users whose attributes and used content are similar to those of the target user, and recommends three pieces of content used by the identified other users to the target user.
[0035] Algorithm B is configured to determine the content to be recommended to the target user based on, for example, the content name, flag information, and ranking information stored in the content server. As an example, algorithm B identifies content associated with new arrival flag: 1 based on the flag information. Then, algorithm B recommends to the target user, among the identified content, the content determined according to the ranking information. As an example, algorithm B may recommend to the target user the content with the highest to third highest overall rankings.
[0036] The algorithm C is configured to determine the content to be recommended to the target user based on, for example, the content name, genre information, and ranking information stored in the content server. As an example, in the algorithm C, the genre and number of genres of the recommended content are preset. For example, if the content is a video, the algorithm C recommends one content from each of three genres, such as one from the mystery genre, one from the action genre, and one from the romance genre. The content selected in each genre may be selected based on the ranking information, for example, the content ranked first in the genre.
[0037] As described above, each of the algorithms A, B, and C determines content so that the algorithms A, B, and C have different characteristics as tendencies for determining content. Note that the configuration of each of the algorithms A, B, and C in this embodiment is an example. Each of the algorithms A, B, and C may be generated by other methods, such as machine learning using a neural network. In addition, the number of contents recommended to the user by each of the algorithms A, B, and C may be one, and is not particularly limited.
[0038] Returning to the description of the functional components of the recommendation system 10 shown in FIG. 1, the first acquisition unit 12 acquires user history information (first history information) of a plurality of users. The user history information is information indicating the history of the use of content by a plurality of users. First, the first acquisition unit 12 acquires, for example, click date and time information, a user name, and a content name acquired from a log server, and a content name and a genre name acquired from a content server, by associating them with a common content name. The acquired click date and time information, user name, content name, and genre name (hereinafter, sometimes simply referred to as "server information") are used to acquire (calculate) user history information, which will be described later. Note that the first acquisition unit 12 may acquire server information from the storage unit 11 instead of the log server and the content server. The timing at which the first acquisition unit 12 acquires the server information may be, for example, every time the log external server updates information, or may be at a predetermined timing.
[0039] Fig. 2 is a diagram showing an example of server information acquired by the first acquisition unit 12. The server information includes click date and time information, a user name, a content name, and a genre name. Although data of a user name "User X" is shown in Fig. 2, this is merely an example, and further data by a user ID "User X", data of other user names, etc. may be included. Furthermore, the server information only needs to include information necessary for acquiring user history information described later, and may include information different from the information given in this embodiment.
[0040] The first acquisition unit 12 calculates and acquires, based on the server information, the use count information, usage period information, content number information, and genre information as user history information. The use count information indicates the number of times each user has used the service. In other words, the use count information indicates the number of times each user has visited the service. The usage period information indicates the period during which each user has used the service. The content number information indicates the number of contents used by each user. The genre information indicates the number of genres of content used by each user. The use count information, usage period information, content number information, and genre information are used to calculate the usage maturity level described below. The first acquisition unit 12 outputs the acquired use count information, usage period information, content number information, and genre information to the calculation unit 13.
[0041] Here, a method for acquiring the use count information, the usage period information, the number of contents information, and the genre information (hereinafter, sometimes simply referred to as "each piece of information") will be described using the example shown in Fig. 2. In the following description, a method for acquiring each piece of information for one user will be described, but the first acquisition unit 12 acquires each piece of information for each user.
[0042] The first acquisition unit 12 acquires the use count information based on the click date and time information included in the server information. Specifically, the first acquisition unit 12 counts the number of dates included in the click date and time information as the number of times the service was used on the web or via an application installed on the user's terminal (the number of times the user visited the service via the terminal), and acquires the number of counted dates as the use count information (visit count information). In the example shown in FIG. 2, the number of times that the user X used the service is two, on 4 / 21 and 4 / 23. In this case, the first acquisition unit 12 acquires the use count information as 2. Note that the method of acquiring the use count information may be, for example, by counting the number of times the user used the service based on the server information, regardless of the date included in the click date and time information. In that case, in the example shown in FIG. 2, the use count information is 3.
[0043] The first acquisition unit 12 acquires the usage period information based on the click date and time information included in the server information. Specifically, the first acquisition unit 12 counts the number of days from the oldest date to the newest date included in the click date and time information, and acquires the counted number of days as the usage period information. In the example shown in Fig. 2, the period during which the user X used the service was from 4 / 21 to 4 / 23, which is three days. In this case, the first acquisition unit 12 acquires the usage period information = 3.
[0044] The first acquisition unit 12 acquires content number information based on the content name included in the server information. Specifically, the first acquisition unit 12 counts the number of types of content names included in the server information, and acquires the counted number as content number information. In the example shown in Fig. 2, the types of content names used by user X are ppp, qqq, and rrr. In this case, the first acquisition unit 12 acquires content number information = 3.
[0045] The first acquisition unit 12 acquires genre information (content preference diversity) based on the genre name included in the server information. Specifically, the first acquisition unit 12 counts the number of types of genre names included in the server information, and acquires the counted number as genre information. In the example shown in FIG. 2, the types of genre names of the content used by the user X are two, namely, animation and movie. In this case, the first acquisition unit 12 acquires genre information=2. As described above, the first acquisition unit 12 acquires each piece of information as the user history information, and outputs each piece of acquired information to the calculation unit 13. The user history information may be information other than the above, so long as it can be used to calculate the utilization maturity and indicates the history of the utilization of the content by a plurality of users. The user history information may also be acquired by a method other than the above. For example, the user history information may not be calculated from the server information, but may be acquired from another system or the like.
[0046] The calculation unit 13 calculates a usage maturity indicating the maturity of the service usage of each user based on the user history information acquired by the first acquisition unit 12. The maturity of the service usage is the degree to which the user has become familiar with the service by using the service. As a specific example, the maturity of the service usage indicates a degree that comprehensively indicates the frequency and time that the user uses the service, and the diversity of the user's use of the service. In other words, the usage maturity is not simply a quantification of the frequency, etc., of the user's use of the service, but a comprehensive judgment and quantification of the degree to which the user is familiar with the service. In this embodiment, the calculation unit 13 calculates the usage maturity of each of the multiple users based on the usage count information, usage period information, content number information, and genre information.
[0047] A method for calculating the utilization maturity level in this embodiment will be described below. The calculation unit 13 calculates the utilization maturity level of each user by using a sigmoid function. The sigmoid function Sigmoid(x) is a function that converts a value so that the output value is between 0 and 1, and outputs the converted value as 1 / (1+e -ax ), where a (>0) is a parameter that is set in advance. For example, a=1 (that is, a standard sigmoid function is used). Specifically, the utilization maturity level Mu is shown by the following formula (3) using a sigmoid function, and the variables input to the sigmoid function in the following formula (3) are shown by the following formulas (4) and (5). Mu = 2 × Sigmoid(c T u)-1 (3) c = (c1, c2, . . . c k ) T (4) u = (u1, u2, u k ) T (5) By calculating the utilization maturity level Mu as described above, the utilization maturity level Mu takes a value between 0 and 1.
[0048] In the above formula (3), u represents the feature quantity of multiple (k) users regarding the use of the service. Tis a plurality (k pieces) of weighting coefficients corresponding to u. In this embodiment, the calculation unit 13 calculates the usage maturity using four user features and four weighting coefficients. In the above formula (5), u1 indicates the number of times the user uses the service (number of visits), u2 indicates the period of use of the service, u3 indicates the number of contents used by the user, and u4 indicates the number of genres of the contents used by the user (the diversity of the user's content preferences). In the above formula (4), c1 indicates a coefficient corresponding to u1 (number of times of use), c2 indicates a coefficient corresponding to u2 (period of use), c3 indicates a coefficient corresponding to u3 (number of contents used), and c4 indicates a coefficient corresponding to u4 (number of genres of the contents used). c1 to c4 are preset to values that calculate an appropriate usage maturity according to the user's usage of the service. c1 to c4 are, for example, positive values. In this case, the higher the value of the usage maturity, the higher the degree of familiarity with the service.
[0049] Here, u1 to u4 correspond to the use count information, the use period information, the number of contents information, and the genre information acquired by the first acquisition unit 12. Specifically, u1 corresponds to the use count information, and u2 corresponds to the use period information. Also, u3 corresponds to the number of contents information, and u4 corresponds to the genre information. For example, in the example shown in FIG. 2, u1=2, u2=3, u3=3, and u4=2. The calculation unit 13 determines u1 to u4 based on the use count information, the use period information, the number of contents information, and the genre information, which are the user history information input from the first acquisition unit 12, and inputs the above formulas (4) and (5) into the above formula (3), thereby calculating the usage maturity of the user. For example, the calculation unit 13 calculates the usage maturity of each user every time the first acquisition unit 12 inputs each piece of information. The calculation unit 13 outputs to the second acquisition unit 14 the calculated usage maturity level and the user name of the user corresponding to the calculated usage maturity level, for each user, in association with each other.
[0050] The method of calculating the usage maturity is not particularly limited. For example, the first acquisition unit 12 may acquire at least one of the number of times of use information, the usage period information, the number of contents information, and the genre information. In this case, the calculation unit 13 may calculate the usage maturity based on at least one of the number of times of use information, the usage period information, the number of contents information, and the genre information acquired by the first acquisition unit 12, or may calculate the usage maturity based on other information. In addition, the calculation unit 13 may calculate u1 to u4 based on the server information acquired by the first acquisition unit, for example.
[0051] Here, in the recommendation system 10, a target algorithm for recommending content to a target user is selected according to the usage maturity of the target user. Specifically, in this embodiment, the usage maturity of the target user is divided into a plurality of stages, namely, "low", "medium" and "high", and a selection process of a target algorithm is executed according to the usage maturity stage of the target user. In the following, in this embodiment, it is assumed that the usage maturity is divided into three stages, such as a usage maturity of 0 to 0.39 being "low", a usage maturity of 0.40 to 0.69 being "medium", and a usage maturity of 0.70 to 1 being "high". Note that the method of dividing the usage maturity stages is not particularly limited, and for example, the stages may be divided according to a numerical value different from that in this embodiment. A specific selection process of a target algorithm will be described later.
[0052] The second acquisition unit 14 acquires recommendation history information (second history information) of multiple users. The recommendation history information is information related to the history of content being recommended to each user. For example, the second acquisition unit 14 acquires recommendation history information by associating impression date and time information, target algorithm information, user name, and recommendation success / failure information acquired from the log server with the usage maturity calculated by the calculation unit 13 using a common user name. The second acquisition unit 14 acquires recommendation history information, for example, every time the calculation unit 13 calculates the usage maturity. Note that the second acquisition unit 14 may acquire content history information from the storage unit 11 instead of the log server. The second acquisition unit 14 acquires recommendation history information of at least a target user and a user group (details will be described later) among multiple users who use the service.
[0053] Fig. 3 is a diagram showing an example of recommendation history information acquired by the second acquisition unit 14. As shown in Fig. 3, the recommendation history information includes impression date and time, target algorithm information, a user name, a usage maturity level, and recommendation success determination information.
[0054] The target algorithm information indicates the target algorithm used when the content was recommended to each user. The usage maturity is the usage maturity input from the calculation unit 13. The recommendation success / failure information is information indicating whether the content recommended using the target algorithm was used by each user. Specifically, for example, in a state where multiple recommended contents are displayed on a user's terminal, if one content or any of the multiple contents recommended using algorithm A is clicked, the recommendation is determined to be "successful". On the other hand, in a state where multiple recommended contents are displayed on a user's terminal, if one content or any of the multiple contents recommended using algorithm A is not clicked (for example, if the user moves to a page other than the page on which the above-mentioned content is displayed), the recommendation is determined to be "failed".
[0055] In the recommendation history information in Fig. 3, the target algorithm "algorithm A", the user name "user X", the usage maturity level "0.45", and the recommendation success / failure information "success" correspond to the impression date and time "4 / 21 13:00". In other words, the recommendation information in Fig. 3 indicates that at the impression date and time "4 / 21 13:00", multiple (e.g., three) pieces of content were recommended to "user X" with a usage maturity level of "0.45" using "algorithm A", and "user X" clicked on one of the multiple recommended pieces of content.
[0056] In the recommendation history information of Fig. 3, the target algorithm "algorithm B", the user name "user X", the usage maturity level "0.49", and the recommendation success / failure information "success" correspond to the impression date and time "4 / 21 13:30". In contrast to this, the target algorithm "algorithm A", the user name "user X", the usage maturity level "0.49", and the recommendation success / failure information "fail" correspond to the impression date and time "4 / 21 13:30". This indicates that at the impression date and time "4 / 21 13:30", one or more contents were recommended to "user X" with a usage maturity level of "0.49" using "algorithm A", and one or more contents were recommended using "algorithm B". Specifically, the above information indicates that, for example, when a total of three contents are recommended to a target user, one or two contents are recommended using "algorithm A" and one or two contents are recommended using "algorithm B." The above information also indicates that "user X" clicked on the content recommended using "algorithm B" among the multiple contents recommended. Note that the usage maturity of user X was 0.45 at the impression date and time "4 / 21 13:00" but was 0.49 at the impression date and time "4 / 21 13:30" because the usage maturity was updated when "user X" used the content at "4 / 21 13:00."
[0057] The second acquisition unit 14 outputs the acquired recommendation history information to the selection unit 15. Note that, although FIG. 3 illustrates data of the user names "User X", "User Y", and "User Z", this is merely an example, and may include further data of the user names "User X", "User Y", and "User Z", or data of other user names. In addition, the recommendation history information may include information necessary for selecting a target algorithm, which will be described later, and may include information different from the information given in this embodiment.
[0058] The selection unit 15 selects a target algorithm based on the recommendation history information of the target user and the recommendation history information of the user group. The selection unit 15 selects a target algorithm every time a request for content recommendation for the target user is received from the service system. The user group is a plurality of users having a usage maturity corresponding to the usage maturity of the target user among a plurality of users. The usage maturity corresponding to the usage maturity of the target user is a usage maturity of the same level as that of the target user, and in this embodiment, is a usage maturity of the same stage as that of the target user among "low", "medium", and "high". That is, in this embodiment, each user having a usage maturity corresponding to the usage maturity of the target user is a user having a usage maturity of the same stage as that of the target user. Note that the user group basically includes the target user, but if the target user does not have recommendation history information such as the timing of starting to use the service, the target user is not included in the user group.
[0059] Explaining using the example shown in FIG. 3 in which user X is a target user, first, the latest usage maturity of user X is 0.49, so the maturity stage is "medium" (usage maturity: 0.4 to 0.69). Therefore, the user group is user X, user Y, and user Z who have the usage maturity stage "medium" which is the same as the usage maturity and stage of the target user. The selection unit 15 selects the target algorithm based on the recommendation history information of user X, user Y, and user Z who are the user group with the maturity stage "medium".
[0060] Here, a method for selecting a target algorithm will be described. The selection unit 15 calculates a target user distribution and a user group distribution for each of the algorithms A, B, and C, and selects a target algorithm based on the target user distribution and the user group distribution. Specifically, the selection unit 15 further calculates a combined distribution by combining the target user distribution and the user group distribution for each of the algorithms A, B, and C, and selects a target algorithm based on the combined distribution.
[0061] The target user distribution is a probability distribution of scores indicating the degree to which the target user uses the recommended content when the target algorithm is used to recommend the content for each of the algorithms A, B, and C, and is a beta distribution. The user group distribution is a probability distribution of scores indicating the degree to which the user of the user group uses the recommended content when the target algorithm is used to recommend the content for each of the algorithms A, B, and C, and is a beta distribution. The selection unit 15 generates an index value for each of the algorithms A, B, and C according to a combined distribution obtained by combining the target user distribution and the user group distribution, and selects the algorithm with the largest index value as the target algorithm. The selection unit 15 selects the target algorithms for the number of contents to be recommended in one recommendation. For example, when the number of contents to be recommended to the target user in one recommendation is three, the selection unit 15 executes the process of acquiring the index values of each of the algorithms A, B, and C based on the combined distribution and selecting the target algorithm three times, and selects the target algorithm for each content to be recommended. The selection unit 15 outputs, to the recommendation unit 16, information indicating the target algorithm selected for each piece of recommended content.
[0062] The selection unit 15 calculates a target user distribution for each of the algorithms A, B, and C based on the recommendation history information of the target users.
[0063] The target user distribution is calculated by the following formula (6).
[0064]
number
[0065] In the following formula (6), n u,i denotes the number of times that the content using algorithm i was recommended to the target user (i.e., the sum of the number of times that the recommendation was successful and the number of times that it was unsuccessful), and l u,i indicates the number of times the target user clicked on the content (i.e., the number of times the recommendation was successful).
[0066] The selection unit 15 calculates a user group distribution for each algorithm based on recommendation history information in the user group.
[0067] The user group distribution is calculated by the following formula (7). Since the recommendation history information of a user group may include information of many users, if a general beta distribution formula is applied as in the above formula (6), there is a risk that the user group distribution will converge. Therefore, in the following formula (7), the average formula of the beta distribution is used to prevent the user group distribution from converging.
[0068]
number
[0069] In the following formula (7), u' denotes a user belonging to a user group, M denotes a usage maturity stage, U denotes a user group, and n u’,i denotes the number of times that the content using algorithm i was recommended to a user (i.e., the sum of the number of times that the recommendation was successful and the number of times that it was unsuccessful), and l u’,i indicates the number of times a user clicked on the content (i.e., the number of times a recommendation was successful).
[0070] The combined distribution is calculated by the following formula (8): The left side of the following formula (8) is the same as the above formula (6), and the right side of the following formula (8) is the same as the above formula (7).
[0071]
number
[0072] Here, a method for calculating the target user distribution, the user group distribution, and the combined distribution will be described using an example in which the target user shown in FIG. 3 is user X and the user group is users X, Y, and Z. Content has been recommended to user X (target user) twice using algorithm A, and one of these was successful. For this reason, the selection unit 15 selects n in the above formula (6) for user X. u,i Enter 2 for l u,i In addition, the algorithm B has been used to successfully recommend content to the user X once. Therefore, the selection unit 15 inputs 1 into n u,i Enter 1 for l u,i In addition, since the algorithm C has never been used to recommend content to the user X, the selection unit 15 inputs 1 into n u,i and l u,i Enter 0 in .
[0073] For users X, Y, and Z (user group), the algorithm A was used to recommend content three times, and two of these were successful. For this reason, the selection unit 15 selects n u’,i Enter 3 for l u’,i In addition, for users X, Y, and Z, the algorithm B is used to recommend content twice, and one of the times was successful. Therefore, the selection unit 15 inputs 2 to n u’,i Enter 2 for l u’,i In addition, since the algorithm C has never been used to recommend content to users X, Y, and Z, the selection unit 15 inputs 1 into n u’,i and l u’,i Enter 0 in .
[0074] In this way, the selection unit 15 inputs each value to calculate the target user distribution of the target users for each of the algorithms A, B, and C (see formula (6) above), and the user group distribution of the user group for each of the algorithms A, B, and C (see formula (7) above). Then, the selection unit 15 calculates a combined distribution by combining the target user distribution and the user group distribution as shown in formula (8) above. Note that while FIG. 3 illustrates an example in which the user group is made up of three users, users X, Y, and Z, in an actual recommendation system 10, the user group may be made up of a large number of users, for example, hundreds or thousands.
[0075] Fig. 4 is a diagram showing an example of a target user distribution, a user group distribution, and a combined distribution for each of a target user and a user group. Fig. 4 shows a target user distribution T1 of a target user with a usage maturity level of "low", a target user distribution T2 of a target user with a usage maturity level of "medium", and a target user distribution T3 of a target user with a usage maturity level of "high". Fig. 4 also shows a user group distribution G1 of a user group with a usage maturity level of "low", a user group distribution G2 of a user group with a usage maturity level of "medium", and a user group distribution G3 of a user group with a usage maturity level of "high".
[0076] 4 further shows a combined distribution S1, a combined distribution S2, and a combined distribution S3. The combined distribution S1 is a beta distribution obtained by combining a target user distribution T1 of a target user with a "low" usage maturity level and a user group distribution G1 of a user group for each of the algorithms A, B, and C. The combined distribution S2 is a beta distribution obtained by combining a target user distribution T2 of a target user with a "medium" usage maturity level and a user group distribution G2 of a user group for each of the algorithms A, B, and C. The combined distribution S3 is a beta distribution obtained by combining a target user distribution T3 of a target user with a "high" usage maturity level and a user group distribution G3 of a user group for each of the algorithms A, B, and C.
[0077] In the example of the target user distribution T1, the target user is at the time of starting to use the service, and there is no usage history of the service of the target user, including recommendation history information. Therefore, the target user distribution T1 for each algorithm A, B, and C is a uniform distribution (prior distribution). That is, even if the selection unit 15 uses the target user distribution T1 of the target user, it is not possible to select a target algorithm suitable for the target user. On the other hand, since the user group distribution G1 is a distribution in which algorithm C is most likely to be selected, it can be seen that a user group that has just started using the service like the target user tends to prefer content of various genres being recommended. Since the combined distribution S1 reflects the beta distribution of a user group with the same usage maturity as the target user with a usage maturity of "low", the combined distribution S1 is a distribution in which algorithm C is most likely to be selected as the target algorithm by the selection unit 15.
[0078] Next, the target user distribution T2 and the user group distribution G2 will be described. It is considered that a target user with a "medium" level of usage maturity begins to get used to the service, develops a specific preferred genre, and frequently uses content in the preferred genre. Therefore, a target user with a "medium" level of usage maturity tends to prefer algorithm A, which recommends content that matches the target user's preferences, over algorithm C, which recommends content in various genres. The target user distribution T2 and the user group distribution G2 are distributions in which algorithm A is most likely to be selected, in accordance with the tendency of target users and user groups with a "medium" level of usage maturity. The combined distribution S3, which is the sum of such target user distribution T2 and user group distribution G2, is also a distribution in which algorithm A is most likely to be selected.
[0079] Next, the target user distribution T3 will be described. As the target user continues to use the service and the target user's usage maturity level increases, it is considered that the target user will exhaust the contents of his / her favorite genre and start to be interested in contents of a new genre. Therefore, it can be said that algorithm C is suitable for a target user with a "high" usage maturity level. However, as a result of the target user clicking the contents recommended using algorithm A with a high probability, the distributions of algorithms A, B, and C have converged in the target user distribution T3. Even if a random number is given based on such a target user distribution T3, the index value of algorithm A is always the largest, so the selection unit 15 will select algorithm A.
[0080] On the other hand, referring to the user group distribution G3, the algorithm C is most likely to be selected in the user group. The combined distribution S3 obtained by combining the target user distribution T3 and the user group distribution G3 is a distribution in which the algorithm A and the algorithm C are likely to be selected. When index values are generated based on such a combined distribution S3, the index values of the algorithm A and the algorithm C are most likely to be the largest, so that the selection unit 15 is more likely to select the algorithm A or the algorithm C for a target user whose usage maturity level is "high."
[0081] The recommendation unit 16 uses the selected target algorithm to determine the content to be recommended to the target user, and outputs the recommended content information. Specifically, the recommendation unit 16 acquires information indicating the target algorithm input from the selection unit 15, and determines a plurality of contents to be recommended to the target user by the above-mentioned method using the selected target algorithm. Then, the recommendation unit 16 outputs the recommended content information to a terminal possessed by the user via the service system. In this embodiment, the recommendation unit 16 uses any one of the algorithms A, B, and C as the target algorithm to determine a plurality of contents to be recommended to the target user in one recommendation. Specifically, the recommendation unit 16 uses each target algorithm selected by the selection unit 15 to determine a plurality of contents to be recommended. Note that the recommendation unit 16 may directly output the recommended content information to a terminal possessed by the user.
[0082] 5(a), 5(b), and 6(a) are diagrams showing examples of recommendation results in which the recommended content information output by the recommendation unit 16 is displayed on a terminal possessed by a target user via the service system. In the example described below, the recommendation unit 16 determines three pieces of content to recommend to the target user in one recommendation, and the recommendation results display each piece of content in order from top to bottom.
[0083] FIG. 5(a) shows a recommendation result in the case where the selection unit 15 selects a target algorithm based on the combined distribution S1 in the example shown in FIG. 4. In the combined distribution S1, algorithm C is most likely to be selected. In this case, the selection unit 15 executes the process of selecting a target algorithm based on the combined distribution S1 three times, and as a result, selects algorithm C as the target algorithm for all three times. Then, the recommendation result shown in FIG. 5(a) is an example of the result of the recommendation unit 16 determining three contents using algorithm C (target algorithm). The recommendation result shows that contents of various genres are recommended based on algorithm C that recommends contents of various genres. That is, when the target user has just started using the service (usage maturity: low), the recommendation system 10 recommends highly diverse contents.
[0084] FIG. 5(b) shows a recommendation result in the case where the selection unit 15 selects a target algorithm based on the combined distribution S2 in the example shown in FIG. 4. In the combined distribution S2, algorithm A is most likely to be selected. In this case, the selection unit 15 executes the process of selecting a target algorithm based on the combined distribution S2 three times, and selects algorithm A as the target algorithm for all three times. Then, the recommendation result shown in FIG. 5(b) is an example of the result of the recommendation unit 16 determining three contents using algorithm A (target algorithm). The recommendation result shows that content in the genre (mystery) preferred by the target user is recommended based on algorithm A that recommends content based on the usage history of the target user. That is, when the user is familiar with the service (usage maturity: medium), the recommendation system 10 makes recommendations according to a specific content genre.
[0085] FIG. 6(a) shows a recommendation result in the case where the selection unit 15 selects a target algorithm based on the combined distribution S3 in the example shown in FIG. 4. In the combined distribution S3, algorithm A and algorithm C are likely to be selected. In this case, the selection unit 15 executes the process of selecting a target algorithm based on the combined distribution S3 three times, and selects algorithm A as a target algorithm for determining the content to be displayed first in the recommendation result, and selects algorithm C as a target algorithm for determining the content to be displayed second and third. Then, the recommendation result shown in FIG. 6(a) is an example of the result of the recommendation unit 16 determining three contents using algorithms A and C (target algorithms). The recommendation result shows that a content of a genre (mystery) preferred by the target user is recommended first based on algorithm A that recommends content based on the usage history of the target user, and contents of various genres are recommended second and third based on algorithm C that recommends contents of various genres. That is, when the user's use of the service progresses further and the user becomes bored with the content (usage maturity: high), the recommendation system 10 again recommends highly diverse content.
[0086] The display mode of the recommendation result displayed on the terminal owned by the target user is not particularly limited to the above-mentioned example. The above is the function of the recommendation system 10 according to the present embodiment.
[0087] Next, a process executed by the recommendation system 10 according to this embodiment (a recommendation method performed by the recommendation system 10) will be described with reference to the flowchart in FIG. 7. As shown in FIG. 7, in this process, first, the first acquisition unit 12 acquires user history information (S01). Next, the calculation unit 13 calculates the usage maturity level of each user based on the user history information (S02). Next, the second acquisition unit 14 acquires recommendation history information (S03).
[0088] Next, the selection unit 15 selects a target algorithm based on the recommendation history information of the target user and the recommendation history information of the user group (S04). Next, the recommendation unit 16 uses the selected target algorithm to determine content to be recommended to the target user and outputs recommended content information (S05). This completes the recommendation process.
[0089] Next, the effects of the recommendation system 10 according to this embodiment will be described.
[0090] In this embodiment, a target algorithm is selected based on recommendation history information of a user group having a usage maturity level corresponding to the usage maturity level of the target user, and content to be recommended to the target user is determined by using the selected target algorithm, and information indicating the determined content is output. Therefore, according to this embodiment, an appropriate target algorithm is selected according to the usage maturity level of the target user, and as a result, content can be appropriately recommended to the user.
[0091] Specifically, for example, when selecting a target algorithm based on the recommendation history information of a target user, if the user has a biased tendency to select content, the same algorithm may be selected (the selected algorithm may be fixed) every time a recommendation is made. In contrast, in this embodiment, the target algorithm is selected based on the recommendation history information of a user group, so that the recommended content can be prevented from being fixed. Therefore, according to this embodiment, it is possible to make a recommendation that meets the needs of the target user. Furthermore, in this embodiment, the selection of an algorithm is performed based on the user group distribution of a user group having the same level of usage maturity as that of the target user (i.e., a user group that is familiar with the service to the same extent as the target user). Therefore, according to this embodiment, it is possible to recommend content that meets the recommendation needs of the target user, which change depending on the usage maturity.
[0092] The selection unit 15 calculates a target user distribution, which is a probability distribution of scores indicating the degree to which the target user will use the recommended content when the target algorithm is used to recommend content for each of a plurality of algorithms based on the recommendation history information of the target user, calculates a user group distribution, which is a probability distribution of scores indicating the degree to which each user of the user group will use the recommended content when the target algorithm is used to recommend content for each of a plurality of algorithms based on the recommendation history information of the user group, and selects a target algorithm based on the target user distribution and the user group distribution. With this configuration, it is possible to reliably select a target algorithm suitable for the usage maturity of the target user.
[0093] The selection unit 15 further calculates a combined distribution by combining the target user distribution and the user group distribution, and selects a target algorithm based on the combined distribution. With this configuration, it is possible to select a target algorithm by reliably reflecting the tendency of the target user to select content and the tendency of a user group having a usage history similar to that of the target user to select content.
[0094] Here, the effect of this embodiment will be described using a comparative example of the recommendation result shown in FIG. 6(b). FIG. 6(b) is an example of a recommendation result when a target algorithm is selected based on the target user distribution T3 shown in FIG. 4. As described above, a target user with a "high" usage maturity level is considered to be interested in new genres of content, and algorithm C can be said to be suitable for the target user. However, as a result of the target user clicking the content recommended using algorithm A with a high probability, the distributions of algorithms A, B, and C have converged in the target user distribution T3. Even if a random number is given based on such a target user distribution T3, the index value of algorithm A is always the largest, so the selection unit 15 selects algorithm A. And, even though algorithm C is suitable for the target user, all the recommendation results are those using algorithm A, as shown in FIG. 6(b).
[0095] In contrast, in this embodiment, the selection unit 15 selects a target algorithm based on a combined distribution S3 obtained by combining a target user distribution T3 and a user group distribution G3. Therefore, as shown in Fig. 6(a), the recommendation result uses algorithm A and algorithm C. Therefore, in this embodiment, a target algorithm that corresponds to the needs of a target user that change according to the usage maturity level can be selected, and content that the user will not tire of can be recommended.
[0096] The recommendation unit 16 determines a plurality of contents to be recommended to the target user in one recommendation, and the selection unit 15 selects a target algorithm for each content to be recommended to the target user. According to this configuration, the target algorithms are selected according to the probability distribution for the number of contents, so that appropriate content can be recommended to the target user.
[0097] The first acquisition unit 12 acquires genre information indicating the number of genres of content used by each of the multiple users as user history information, and the calculation unit 13 calculates the usage maturity of each of the multiple users based on the genre information.
[0098] In general, the number of genres of content used by a user is considered to represent the diversity of the user's preferences. Furthermore, the diversity of preferences is considered to be correlated with the user's service usage maturity. Specifically, for example, a user with a high diversity of preferences is considered to have a high service usage maturity. In this embodiment, the usage maturity is calculated based on the number of genres of content selected by the user, so that the usage maturity of each user can be calculated with high accuracy.
[0099] The first acquisition unit 12 acquires, as user history information, usage count information indicating the number of times each of the multiple users used the service, usage period information indicating the period during which each of the multiple users used the service, and content number information indicating the number of contents used by each of the multiple users, and the calculation unit 13 calculates the usage maturity level of each of the multiple users based on the usage count information, usage period information, and content number information. With this configuration, the usage maturity level of each user can be calculated with even higher accuracy.
[0100] The selection unit 15 may select a target algorithm based on recommendation history information of a user group having a usage maturity level corresponding to the usage maturity level of the target user. Specifically, the selection unit 15 may calculate a user group distribution for each of a plurality of algorithms based on the recommendation history information of the user group, and select a target algorithm based only on the user group distribution. With this configuration, an appropriate target algorithm is selected according to the usage maturity level of the target user, and as a result, content can be appropriately recommended to the user.
[0101] Conventionally, many EC sites have adopted recommendation systems that recommend content to users, and dedicated algorithms are used according to the purpose. Bandit algorithms used for algorithm allocation (selection) are widely used to derive optimal solutions at the content level, but there have been no examples of them being used to derive optimal solutions at the algorithm level. In such recommendation systems, there have been cases where different algorithms are used depending on the purpose of the recommendation, but there was no technology to change (select) an algorithm appropriate for each user (for example, according to the user's usage maturity). In particular, for example, in video distribution services, it is thought that the user's recommendation needs change depending on the user's usage maturity, but no algorithms that meet these needs have been proposed. In addition, a single algorithm cannot meet the changing needs of users.
[0102] The present inventor has invented a system that automatically selects the most suitable algorithm from among multiple algorithms according to the user's service usage maturity. This makes it possible to respond to recommendation needs that change according to the user's usage maturity, and to present recommendations that the user will not tire of. In other words, the recommendation system 10 is a recommendation system that grows together with the user.
[0103] The block diagrams used in the description of the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of hardware and / or software. The means for realizing each functional block is not particularly limited. That is, each functional block may be realized by one device that is physically and / or logically coupled, or may be realized by two or more devices that are physically and / or logically separated and directly and / or indirectly (e.g., wired and / or wirelessly) connected to each other and these multiple devices.
[0104] For example, the recommendation system 10 in one embodiment of the present invention may function as a computer that performs processing of the recommendation system 10 of this embodiment. Fig. 8 is a diagram showing an example of a hardware configuration of the recommendation system 10 according to this embodiment. The above-mentioned recommendation system 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
[0105] In the following description, the term "apparatus" may be replaced with a circuit, a device, a unit, etc. The hardware configuration of the recommendation system 10 may be configured to include one or more of the apparatuses shown in the figure, or may be configured to exclude some of the apparatuses.
[0106] Each function in the recommendation system 10 is realized by loading a specific software (program) onto hardware such as a processor 1001 and a memory 1002, causing the processor 1001 to perform calculations, control communications via a communication device 1004, and control at least one of the reading and writing of data in the memory 1002 and the storage 1003.
[0107] The processor 1001, for example, operates an operating system to control the entire computer. The processor 1001 may be configured as a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic unit, a register, etc. For example, each function of the recommendation system 10 may be realized by the processor 1001.
[0108] Furthermore, the processor 1001 reads out programs (program codes), software modules, data, etc. from the storage 1003 and / or the communication device 1004 into the memory 1002, and executes various processes according to these. As the programs, programs that cause a computer to execute at least a part of the operations described in the above-mentioned embodiments are used. For example, each function of the recommendation system 10 may be realized by a control program stored in the memory 1002 and operated by the processor 1001. Although the above-mentioned various processes have been described as being executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented in one or more chips. The programs may be transmitted from a network via a telecommunications line.
[0109] The memory 1002 is a computer-readable recording medium, and may be composed of at least one of, for example, a Read Only Memory (ROM), an Erasable Programmable ROM (EPROM), an Electrically Erasable Programmable ROM (EEPROM), a Random Access Memory (RAM), etc. The memory 1002 may also be called a register, a cache, a main memory (primary storage device), etc. The memory 1002 can store a program (program code), a software module, etc. that is executable to perform a method according to one embodiment of the present invention.
[0110] Storage 1003 is a computer-readable recording medium, and may be composed of at least one of, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray® disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy disk, a magnetic strip, and the like. Storage 1003 may be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other suitable medium including memory 1002 and / or storage 1003.
[0111] The communication device 1004 is hardware (transmission / reception device) for performing communication between computers via a wired and / or wireless network, and is also called, for example, a network device, a network controller, a network card, a communication module, etc. For example, each function of the recommendation system 10 described above may be realized by the communication device 1004.
[0112] The input device 1005 is an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that accepts input from the outside. The output device 1006 is an output device (e.g., a display, a speaker, an LED lamp, etc.) that performs output to the outside. The input device 1005 and the output device 1006 may be integrated into one device (e.g., a touch panel).
[0113] Furthermore, each device such as the processor 1001 and the memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured as a single bus, or may be configured as different buses between the devices.
[0114] Furthermore, the recommendation system 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a field programmable gate array (FPGA), and some or all of the functional blocks may be realized by the hardware. For example, the processor 1001 may be implemented by at least one of these pieces of hardware.
[0115] Although the present embodiment has been described in detail above, it is clear to those skilled in the art that the present embodiment is not limited to the embodiment described in this specification. The present embodiment can be implemented as a modified or altered form without departing from the spirit and scope of the present invention defined by the description of the claims. Therefore, the description in this specification is intended to be illustrative and does not have any limiting meaning on the present embodiment.
[0116] The notification of information is not limited to the aspects / embodiments described in this specification, and may be performed in other ways. For example, the notification of information may be performed by physical layer signaling (e.g., Downlink Control Information (DCI), Uplink Control Information (UCI)), higher layer signaling (e.g., Radio Resource Control (RRC) signaling, Medium Access Control (MAC) signaling, broadcast information (Master Information Block (MIB), System Information Block (SIB))), other signals, or a combination thereof. In addition, the RRC signaling may be called an RRC message, and may be, for example, an RRC Connection Setup message, an RRC Connection Reconfiguration message, or the like.
[0117] The steps, sequences, flow charts, etc. of each aspect / embodiment described herein may be reordered unless inconsistent, For example, the methods described herein present elements of various steps in an example order, and are not limited to the particular order presented.
[0118] The input and output information may be stored in a specific location (e.g., memory) or may be managed in a management table. The input and output information may be overwritten, updated, or added to. The output information may be deleted. The input information may be transmitted to another device.
[0119] The determination may be based on a value represented by a single bit (0 or 1), a Boolean (true or false) value, or a numerical comparison (e.g., comparison with a predetermined value).
[0120] Each aspect / embodiment described in this specification may be used alone, in combination, or switched according to execution. In addition, notification of specific information (e.g., notification that "X is the case") is not limited to being done explicitly, but may be done implicitly (e.g., not notifying the specific information).
[0121] Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0122] Additionally, software, instructions, etc. may be transmitted or received over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using wired technologies, such as coaxial cable, fiber optic cable, twisted pair, and Digital Subscriber Line (DSL), and / or wireless technologies, such as infrared, radio, and microwave, these wired and / or wireless technologies are included within the definition of transmission media.
[0123] The information, signals, etc. described herein may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
[0124] In addition, the terms described in this specification and / or terms necessary for understanding this specification may be replaced with terms having the same or similar meanings. For example, a channel and / or a symbol may be a signal. Also, a signal may be a message. Also, a component carrier (CC) may be called a carrier frequency, a cell, etc.
[0125] As used herein, the terms "system" and "network" are used interchangeably.
[0126] Furthermore, the information, parameters, etc. described in this specification may be expressed as absolute values, may be expressed as relative values from a predetermined value, or may be expressed as other corresponding information. For example, a radio resource may be indicated by an index.
[0127] The names used for the above-mentioned parameters are not intended to be limiting in any way. Furthermore, the formulas, etc. using these parameters may differ from those explicitly disclosed herein. The various channels (e.g., PUCCH, PDCCH, etc.) and information elements (e.g., TPC, etc.) may be identified by any suitable names, and therefore the various names assigned to these various channels and information elements are not intended to be limiting in any way.
[0128] As used herein, the terms "determining" and "determining" may encompass a wide variety of actions. "Determining" and "determining" may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, database, or other data structure), ascertaining, and the like. "Determining" and "determining" may also include receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, accessing (e.g., accessing data in memory), and the like. In addition, "judgment" and "decision" can include resolving, selecting, choosing, establishing, comparing, etc., and regarding that as a "judgment" or "decision." In other words, "judgment" and "decision" can include regarding some action as a "judgment" or "decision."
[0129] The terms "connected," "coupled," or any variation thereof, refer to any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are "connected" or "coupled" to one another. The coupling or connection between the elements may be physical, logical, or a combination thereof. As used herein, two elements may be considered to be "connected" or "coupled" to one another by using one or more wires, cables, and / or printed electrical connections, as well as by using electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency range, microwave range, and light (both visible and invisible) range, as some non-limiting and non-exhaustive examples.
[0130] As used herein, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
[0131] When designations such as "first," "second," and the like are used herein, any reference to an element is not intended to generally limit the quantity or order of those elements. These designations may be used herein as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed therein or that the first element must precede the second element in some way.
[0132] To the extent that the terms "include," "including," and variations thereof are used herein in the specification or claims, these terms are intended to be inclusive, similar to the term "comprising." Further, the term "or" as used herein is not intended to be an exclusive or.
[0133] In this specification, plural devices are included unless the context or the art clearly indicates that only one device is present. Throughout this disclosure, plurals are included unless the context clearly indicates the singular. [Explanation of symbols]
[0134] 10...recommendation system, 12...first acquisition unit, 13...calculation unit, 14...second acquisition unit, 15...selection unit, 16...recommendation unit, A, B, C...algorithm (target algorithm), G1, G2, G3...user group distribution, S1, S2, S3...combined distribution, T1, T2, T3...target user distribution, X...user (target user), X, Y, Z...user (user group).
Claims
1. A recommendation system for a service that provides content to a plurality of users including a target user, the system determining content to be recommended to the target user using a target algorithm that is one selected from a plurality of algorithms that are each configured to determine content and have different characteristics in terms of content determination tendencies, the system comprising: a first acquisition unit that acquires first history information that is information indicating a history of content usage by the plurality of users; a calculation unit that calculates a utilization maturity level indicating a utilization maturity level of each of the plurality of users based on the first history information; a second acquisition unit that acquires second history information including target algorithm information indicating the target algorithm used when content was recommended to each of the plurality of users, and recommendation success / failure information that is information indicating whether the content recommended using the target algorithm was used by each of the plurality of users; a selection unit that selects the target algorithm based on the second history information of a user group having the usage maturity level corresponding to the usage maturity level of the target user among the plurality of users; A recommendation system comprising: a recommendation unit that determines content to be recommended to the target user by using the selected target algorithm, and outputs information indicating the determined recommended content.
2. The selection unit is Calculating a user group distribution, which is a probability distribution of scores indicating a degree to which each of the users in the user group will utilize content recommended by the target algorithm when the target algorithm is used to recommend content, for each of the plurality of algorithms based on the second history information of the user group; The recommendation system of claim 1 , further comprising: selecting the candidate algorithm based on the user group distribution.
3. The selection unit is Further calculating a target user distribution, which is a probability distribution of scores indicating a degree of utilization of the recommended content in the target user when the target algorithm is used to recommend content, for each of the plurality of algorithms based on the second history information of the target user; The recommendation system of claim 2 , further comprising: selecting the target algorithm based on the target user distribution and the user group distribution.
4. The recommendation system according to claim 3 , wherein the selection unit further calculates a combined distribution by combining the target user distribution and the user group distribution, and selects the target algorithm based on the combined distribution.
5. The recommendation unit determines a plurality of pieces of content to be recommended to the target user in one recommendation; The recommendation system according to claim 1 , wherein the selection unit selects the target algorithm for each piece of content to be recommended to the target user.
6. the first acquisition unit acquires, as the first history information, genre information indicating a number of genres of content used by each of the plurality of users; The recommendation system according to claim 1 , wherein the calculation unit calculates the utilization maturity level of each of the plurality of users based on the genre information.
7. the first acquisition unit acquires, as the first history information, at least one of usage count information indicating a number of times each of the plurality of users has used the service, usage period information indicating a period during which each of the plurality of users has used the service, and content number information indicating a number of contents used by each of the plurality of users; The recommendation system according to any one of claims 1 to 6, wherein the calculation unit calculates the usage maturity of each of the multiple users based on at least one of the usage count information, the usage period information, and the content number information.
Citation Information
Patent Citations
Network marketing system
JP2002157394A
Game proposal device, game proposal method and program
JP2013242717A
Recommendation information providing system, recommendation information generation device, recommendation information providing method and program
JP2014164447A
Recommendation device, recommendation method, and program
JP2014199501A
Content search result providing device, content search result providing method, and content search result providing system
JP2014228968A
