WO2022163203A1 - Recommendation device - Google Patents

Recommendation device Download PDF

Info

Publication number
WO2022163203A1
WO2022163203A1 PCT/JP2021/046811 JP2021046811W WO2022163203A1 WO 2022163203 A1 WO2022163203 A1 WO 2022163203A1 JP 2021046811 W JP2021046811 W JP 2021046811W WO 2022163203 A1 WO2022163203 A1 WO 2022163203A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
user
score
recommendation
calculation unit
Prior art date
Application number
PCT/JP2021/046811
Other languages
French (fr)
Japanese (ja)
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 JP2022578141A priority Critical patent/JPWO2022163203A1/ja
Publication of WO2022163203A1 publication Critical patent/WO2022163203A1/en

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

Definitions

  • One aspect of the present invention relates to a recommendation device.
  • Patent Document 1 In content providing services that provide content to users, there is a well-known recommendation method that estimates content that is easy for the user to select and presents the estimated content to the user.
  • Patent Document 1 the degree of similarity between designated content designated by a user and search target content is calculated based on the feature amount of each content, and search target content with high similarity to the designated content is determined based on the user's preference.
  • An information processing apparatus is described that presents to a user as content that matches the above.
  • the presented content is fixed to content having similar characteristics, and the presented content does not come as a surprise to the user, and the user may become bored.
  • a recommendation device is a recommendation device that determines content to be presented to a user from among a plurality of candidate content in a content providing service that provides content to the user, and determines the possibility that the content will be preferred by the user.
  • a score calculation unit a user score indicating the degree of user preference for each of a plurality of candidate contents obtained based on user attribute information related to user attributes, and a diversity score calculation unit for each second content calculated
  • a recommendation degree calculation unit that calculates the degree of recommendation to the user for each of a plurality of candidate contents based on the diversity score of the above, and content to be presented to the user is determined based on the degree of recommendation calculated by the recommendation degree calculation unit. and a determining unit for
  • the recommendation device based on the user score indicating the degree of preference of the user for each candidate content obtained based on the user attribute information, and the diversity score for each second content, candidate content The degree of recommendation for each is calculated.
  • the diversity score is a score that increases as the degree of similarity between the first content and the second content decreases.
  • Content to be presented to the user is determined based on the degree of recommendation for each candidate content.
  • the diversity score that indicates the degree of diversity with respect to the first content is considered, and the content to be recommended is determined. It is possible to present not only content that is presumed to be preferred by the user, but also content that is newly discovered by the user. In other words, it is possible to diversify recommendations by ensuring the possibility that content that is surprising to the user will be selected as content to be recommended. Therefore, according to this recommendation device, it is possible to provide a more convenient recommendation service to the user.
  • a recommendation device capable of providing a more convenient recommendation service to users.
  • FIG. 1 is a functional block diagram of a server according to this embodiment.
  • FIG. 2 is a schematic diagram showing an example of a method of generating the first model shown in FIG.
  • FIG. 3 is a schematic diagram showing a flow of acquiring item values of the genre "sports" using the first model shown in FIG.
  • FIG. 4 is a schematic diagram for explaining the application of Matrix Factorization.
  • FIG. 5 is a schematic diagram for explaining a series of flows for calculating a diversity score.
  • FIG. 6 is a schematic diagram showing a series of flows from calculation of the degree of recommendation to determination of content to be presented to the user.
  • FIG. 7 is a flowchart showing an example of processing by the server according to this embodiment.
  • FIG. 8 is a diagram illustrating an example of a hardware configuration of a server;
  • FIG. 1 is a functional block diagram of the server 10 according to this embodiment.
  • the server 10 (recommendation device) is an information processing device that provides a conventionally known recommendation service.
  • a recommendation service is a service that presents a list of recommended contents to a user in a content providing service that provides (sells) contents to users. Examples of content include movies, music, and electronic books.
  • the content provided by the content providing service includes content of various genres. Examples of genres include genres related to sports (hereinafter simply referred to as "sports"), genres related to anime (hereinafter simply referred to as "animation”), and genres related to magazines (e-books) (hereinafter simply referred to as "magazines"). be done.
  • the server 10 may be a system different from the recommendation system, or may also serve as the recommendation system.
  • the display unit 21 of the user terminal 20 displays a list of content recommended to the user.
  • An example list of content includes, for example, a plurality of icons each representing content.
  • the user terminal 20 is a smart phone having a touch panel display as the display unit 21 .
  • the user terminal 20 is not limited to the form described above, and may be a terminal having a display unit 21, such as a tablet terminal, a desktop PC, a laptop PC, or the like.
  • the user can use (for example, view, purchase, etc.) the content by performing an operation (for example, touch operation, click operation, etc.) to select the icon of the content of interest.
  • the size of the display area of the display unit 21 of the user terminal 20 is limited. Therefore, in the present embodiment, the display unit 21 of the user terminal 20 displays, among a plurality of candidate contents, the contents with the highest recommendation degree to the user in each genre.
  • the server 10 calculates a recommendation degree, which will be described later, and determines content to be presented to the user from among a plurality of candidate contents based on the recommendation degree.
  • a method of determining the content to be presented to the user using a reinforcement learning algorithm such as the bandit algorithm that performs optimization inference to maximize the reward (estimating the content that the user prefers) can be adopted.
  • a reinforcement learning algorithm such as the bandit algorithm that performs optimization inference to maximize the reward (estimating the content that the user prefers)
  • the bandit algorithm actively selects the best content (which is likely to be preferred by the user) based on the information known so far, and which content is preferred by the user. It is an algorithm that balances "searching”, which selects other content to explore whether Here, by making the weight of "search” larger than the weight of "utilization”, it is considered that the fixation of the presented content as described above can be prevented to some extent.
  • the server 10 is configured to present (recommend) to the user not only content that is presumed to be preferred by the user, but also content that is newly discovered by the user. The configuration of the server 10 will be described in detail below.
  • the server 10 includes a request receiving unit 111, a first acquiring unit 112, a first model generating unit 113, a user score calculating unit 114, a second model generating unit 115, a second An acquisition unit 116 , a diversity score calculation unit 117 , a recommendation degree calculation unit 118 , a determination unit 119 , and a display control unit 120 are provided.
  • the server 10 also includes a user attribute storage unit 10a, a content ID storage unit 10b, a user log storage unit 10c, and a content attribute storage unit 10d as elements that store various data.
  • the request reception unit 111 receives request information indicating a request for access to the content providing service from the user (user terminal 20). Request accepting unit 111 outputs the request information to first obtaining unit 112 .
  • the first acquisition unit 112 acquires the preference information of the target user to whom the content is presented based on the user attribute information.
  • the target user is the user of the user terminal 20 that is the source of the information request received by the request receiving unit 111 .
  • the preference information is information about user preferences.
  • the preference information includes multiple item values related to preferences. A plurality of item values correspond to a user attribute vector z, which will be described later. Each item value is a numerical value indicating the degree of preference of the target user for each of a plurality of genres.
  • a plurality of genres are genres related to content and are determined in advance. Examples of multiple genres include "sports", "animation”, and "magazines". Also, one item value is associated with one genre.
  • Each item value takes, for example, a value between 0 and 1, and a larger value indicates a higher degree of preference of the target user.
  • the preference information includes information in which the target user's preferences for each of a plurality of genres are quantified.
  • the first acquisition unit 112 inputs the user attribute information of the target user to a plurality of first models M1 (preference estimation models) generated by the first model generation unit 113, which will be described later. is obtained as the target user's preference information.
  • the first model generation unit 113 inputs the user attribute information of the user and calculates the preference of the user by executing machine learning using teacher data including user attribute information of the user and information about the preference of the user.
  • a plurality of first models M1 are generated that output estimates of the information.
  • the first model generation unit 113 generates a plurality of first models M1 by executing machine learning using teacher data including user attribute information of the user and information indicating the user's preferences.
  • the multiple first models M1 include multiple genre-specific models (first model M11, first model M12, first model M13, etc.).
  • the first model M11 corresponds to the genre "sports”.
  • the first model M12 corresponds to the genre "anime”.
  • the first model M13 corresponds to the genre "magazine”.
  • Each first model M1 is a model configured to input user attribute information of a user and output an estimated value of user preference information regarding the corresponding genre.
  • the estimated value corresponds to the item value of the corresponding genre.
  • the processing of the first model generation unit 113 will be described below, focusing on the first model M11.
  • the first model M1 generated by the first model generation unit 113 is not limited to a specific aspect. An example of a method of generating the first model M1 by the first model generation unit 113 will be described below using the example shown in FIG.
  • FIG. 2 is a schematic diagram showing an example of a method of generating the first model M11 (model corresponding to "sports") shown in FIG.
  • the first model generation unit 113 generates, for example, a feature amount related to the user attribute information of the user and an index value (information indicating the user's preference) indicating whether the user likes a genre (here, "sports").
  • a first model M11 is generated by executing machine learning using teacher data including
  • the feature amount related to the user attribute information of the user corresponds to the input data (explanatory variable) of the first model M11
  • the index value corresponds to the output data (objective variable) of the first model M11.
  • the user's user attribute information includes the user's basic information and usage information of one or more services used by the user.
  • basic information include the user's gender, generation (or age), location, and occupation.
  • user usage information include the number of services to which the user has a contract, the number of services to which the user has not subscribed, the frequency of use of each service by the user, and the time of use of each service by the user (for example, one day). unit service average usage time).
  • the feature amount related to the user attribute information may be, for example, a numerical value normalized based on the overall distribution of many users who use each service.
  • the services subscribed by the user include the content providing service described above and other services provided by the service server 30 (see FIG. 1).
  • the service server 30 is a server that provides a service (hereinafter referred to as "other service") different from the content providing service described above.
  • Other services are, for example, services operated by carriers via mobile networks.
  • the service server 30 stores various information including basic information of each user and usage information of other services by each user.
  • the usage information of other services includes, for example, the usage frequency of other services by the user, the usage time of other services by the user, and the like.
  • the number of service servers 30 shown in FIG. 1 is one, the number of other services may be plural. Moreover, the number of service servers 30 may be plural, and for example, a service server 30 may be provided for each other service.
  • the index value is "1" if the user likes sports, and "0" if the user does not like sports.
  • the index value is obtained, for example, based on data indicating the results of a questionnaire answered by the user in advance, data indicating the "favorite genre" selected by the user when activating an application installed on the user terminal 20, and the like.
  • the first model M11 configured to input the feature amount related to the user attribute information of the user and output the user's preference information for the corresponding genre is obtained.
  • the output value (preference information described above) of the first model M11 indicates the possibility (probability) that the user corresponding to the input user attribute information likes "sports".
  • the machine learning executed by the first model generation unit 113 is not limited to the above method.
  • the type of user attribute information input to the first model M1 is not limited to the above example.
  • the first acquisition unit 112 acquires user attribute information corresponding to the user ID of the target user from the user attribute storage unit 10a for input to each first model M1 generated by the first model generation unit 113. .
  • User attribute information associated with a user ID for uniquely identifying a user is stored in the user attribute storage unit 10a.
  • the first acquisition unit 112 identifies the user ID of the target user based on information for identifying the user included in the information request (for example, a terminal ID associated with the user ID, etc.).
  • the user attribute information includes basic user information as described above (user's gender, age, whereabouts, occupation, etc.), content provision service and other service usage information (user identification information, frequency of service usage by each user, etc.). etc.).
  • the user ID and usage information of the service used by the user are associated and stored in the user attribute storage unit 10a.
  • the first acquisition unit 112 acquires user attribute information of the target user (basic information of the target user, usage information of the content providing service and other services) from the user attribute storage unit 10a. Then, the first acquisition unit 112 inputs the acquired user attribute information (more specifically, the feature amount related to each of the above information) to each first model M1, and outputs the output result from each first model M1 to the target user. Acquired as preference information.
  • FIG. 3 is a schematic diagram showing a flow of acquiring item values of the genre "sports" using the first model M11 shown in FIG.
  • the first acquisition unit 112 inputs the basic information of the target user U, the usage information of the content providing service, and the usage information of other services acquired from the user attribute storage unit 10a to the first model M11. Then, the first acquisition unit 112 acquires the item value (here, “0.1” as an example) corresponding to “sports” as the output result from the first model M11.
  • the first acquisition unit 112 obtains the output results from the other first models M1 (first model M12, first model M13, etc.) as item values corresponding to "animation” and "magazine". to get as In the preference information L of the target user U thus obtained, the item value "0.1” is associated with “sports”, and the item value "0.2” is associated with “animation”. , and the item value "0.7” is associated with "magazine”.
  • the target user U's preference information L indicates that the target user U prefers magazines to sports and anime. Thus, the preference information L of the target user U is acquired.
  • the user score calculation unit 114 calculates a user score for each candidate content.
  • the user score is a score that indicates the degree of user preference for each candidate content. In other words, a candidate content with a higher user score is more preferred by the user.
  • the user score calculation unit 114 calculates the user score of the target user for each candidate content using the second model M2.
  • the user score calculation unit 114 acquires the content IDs of all candidate contents by referring to the content ID storage unit 10b that stores content IDs for uniquely identifying each content, and obtains content IDs corresponding to each content ID. Get the user score for the content you want.
  • the second model M2 is a machine learning model generated (including the case of updating; the same applies hereinafter) by the second model generation unit 115, which will be described later. More specifically, the second model M2 is a model that inputs the user attribute vector z (preference information) acquired by the first acquisition unit 112 and outputs the user score for each candidate content. A second model M2 is generated by reinforcement learning that rewards the user for selecting content.
  • the preference information L (see FIG. 3) is used as the user attribute vector z. That is, the user attribute vector z is a vector containing each item value of the preference information L as an element.
  • the second model M2 is obtained using a bandit algorithm (for example, a contextual bandit algorithm such as LinUCB), which is a type of reinforcement learning algorithm.
  • the second model M2 can be expressed by the following (Equation 1) as an example.
  • the second model M2 consists of parameters ( ⁇ a and A a ) for each candidate content a.
  • the parameters ⁇ a and A a are parameters that are appropriately updated by reinforcement learning. Details of these parameters (initial values and update methods) will be described later.
  • “a” is an identifier indicating a content ID.
  • “pt,a ” indicates the user score of candidate content a (content corresponding to content ID “a”).
  • “z” indicates the user attribute vector described above.
  • “ ⁇ a ” is a unit vector having the same dimension as the user attribute vector z. ⁇ a is learned (updated) so that when the content is presented to the user, the higher the probability that the content will be selected by the user (the user having the user attribute vector z), the larger the value of ⁇ aTz becomes. .
  • “ ⁇ a T z” is a term (utilization term) that contributes to “utilization” in the bandit algorithm.
  • the second term in (Formula 1) is a term (search term) that contributes to the "search” in the bandit algorithm.
  • “ ⁇ ” is the weight of the search term and is arbitrarily determined. By adjusting the magnitude of ⁇ , the ratio of exploitation to search can be adjusted.
  • the user score calculation unit 114 inputs the user attribute vector z of the target user into the second model M2 corresponding to each candidate content (i.e., (equation 1) corresponding to each candidate content). A user score is calculated for each candidate content. The user score calculation unit 114 outputs information indicating the calculated user score for each candidate content and information in which the user ID of the target user is associated to the recommendation degree calculation unit 118 .
  • the second acquisition unit 116 acquires a user log indicating the user's action results in the content providing service.
  • the user log includes the user ID of the user who used the content providing service and information indicating the content displayed on the user terminal 20 (content ID in this embodiment).
  • the user log further includes information indicating the selected content (content ID in this embodiment).
  • the user logs for a predetermined period regarding multiple users acquired by the second acquisition unit 116 are stored in the user log storage unit 10c.
  • the second model generation unit 115 generates the above-described second model M2 based on the user log indicating the user's action results in response to content recommendations to the user.
  • the second model generation unit 115 can acquire the user log necessary for generating the second model M2 by referring to the user log storage unit 10c.
  • the second acquisition unit 116 may acquire the user log timely each time the content providing service is used by the user, and store it in the user log storage unit 10c. Then, every time a new user log is stored in the user log storage unit 10c (or every predetermined period of time), the second model generation unit 115 uses the newly obtained user log to create the second model.
  • 2 model M2 may be updated. According to such processing, the second model M2 can be appropriately updated at any time.
  • the second model M2 includes the parameter ⁇ a for each candidate content a (see (Equation 1)).
  • the second model generation unit 115 gives a reward value ra to the candidate content a when the candidate content a is selected by the target user, and based on the reward value ra and the user attribute vector z of the user, Update the parameter ⁇ a corresponding to candidate content a.
  • a model can be generated that can derive a metric (user score “p t,a ”) for determining (content that a user is likely to like).
  • the second model generation unit 115 sets parameters ⁇ a and A a for each candidate content a shown in (Equation 1) based on the following (Equation 2) to (Equation 4).
  • Parameter b a is a parameter included in parameter ⁇ a .
  • (Formula 2) shows the initial value of the parameter ba .
  • “0 d ⁇ 1 ” in (Formula 2) is a zero vector of the same dimension (d) as the user attribute vector z.
  • (Formula 3) shows the initial value of the parameter Aa .
  • “I d ” in (Formula 3) is a d-th order unit matrix.
  • the parameter ⁇ a is calculated based on (Equation 4). As shown in Equations 2-4, the initial value of the parameter ⁇ a is the zero vector.
  • the second model generation unit 115 calculates parameters A a and Update (learn) b a .
  • the parameter b a is updated based on the reward value r a and the user attribute vector z of the target user.
  • “update” here includes the case where the value does not change before and after the update process.
  • the parameter ⁇ a is also updated based on the reward value r a and the user attribute vector z of the target user (see (Equation 4)).
  • the second model generation unit 115 sets a larger reward value r a when the candidate content a is selected by the target user having the user attribute vector z than when the candidate content a is not selected by the target user.
  • the second model generation unit 115 sets the reward value ra of the candidate content a to a value greater than zero.
  • the second model generation unit 115 sets the reward value ra of the candidate content a to zero. In other words, if the candidate content a is not selected, the second model generation unit 115 does not award the reward to the candidate content a.
  • the diversity score calculation unit 117 selects, from among the plurality of candidate contents, content that is highly likely to be preferred by the target user as the first content, and selects each second content other than the first content from among the plurality of candidate contents. Calculate a diversity score for your content.
  • the diversity score is a score that increases as the degree of similarity between the first content and the second content decreases.
  • the first content is the content with the highest user score. Since the user score differs for each target user, the content with the maximum user score may differ for each target user. That is, the first content and the second content may differ for each target user.
  • the diversity score calculation unit 117 acquires usage record information and calculates a diversity score for each second content with respect to the first content based on the usage record information.
  • the usage history information is information about the usage history of each candidate content by the target user.
  • the usage record information is a user log stored in the user log storage unit 10c. A specific example of a diversity score calculation method will be described below.
  • the diversity score calculation unit 117 first refers to the user log storage unit 10c to obtain information (content ID in this embodiment) indicating the content selected by the target user, which is associated with the user ID of the target user. Acquired as usage history information.
  • the diversity score calculation unit 117 calculates a content feature amount (hereinafter referred to as "content feature amount").
  • a content feature is a relative feature between two candidate contents.
  • the diversity score calculation unit 117 calculates content feature amounts for all possible combinations of two candidate contents for all candidate contents. Then, the diversity score calculation unit 117 calculates the similarity of each combination based on the calculated content feature amount of each combination.
  • the diversity score calculation unit 117 uses Matrix Factorization to calculate content feature amounts. Specifically, the diversity score calculation unit 117 uses Matrix Factorization to factorize the selection history matrix into a content feature matrix and a user feature matrix, which are factor matrices of the selection history matrix, and obtain a content feature matrix Based on, the content feature amount of each combination is calculated.
  • the diversity score calculation unit 117 uses the following (formula 7) as an example of application of matrix factorization.
  • the selection history matrix is a matrix showing the history of whether or not each user has selected each of the candidate contents.
  • the selection history matrix is a matrix in which multiple users are arranged as row vectors (horizontal vectors) and multiple contents are arranged as column vectors (vertical vectors). That is, the selection history matrix is a matrix in which the history of whether or not the user has selected each content is represented for each user.
  • the content feature matrix is a matrix in which a predetermined f-th feature dimension is arranged as a row vector (horizontal vector) and a plurality of contents are arranged as a column vector (vertical vector). Each element of the content feature matrix corresponds to a content feature amount.
  • "y” indicates the row vector of the user feature matrix.
  • the user feature matrix is a matrix in which a plurality of users are arranged as row vectors (horizontal vectors) and f-th order feature dimensions are arranged as column vectors (vertical vectors).
  • Diversity score calculation unit 117 creates row vectors “x” and “y” with random values, and satisfies (Equation 7) so that the content feature matrix and user feature matrix with the minimum values are obtained. Calculate accordingly.
  • the first term in (Equation 7) is a term that contributes to factorization of the selection history matrix. That is, according to the first term of (Equation 7), the vectors "x" and "y” are adjusted so that the matrix obtained by multiplying the content feature matrix and the user feature matrix is approximately equal to the selection history matrix. It is determined.
  • the second term in (Formula 7) is a regularization term for the content feature matrix and the user feature matrix. The second term of (Equation 7) prevents over-learning in (Equation 7).
  • Fig. 4 is a schematic diagram for explaining the application of Matrix Factorization.
  • a selection history matrix r a selection history matrix r, a content feature matrix X, and a user feature matrix Y are shown.
  • the content feature matrix X and the user feature matrix Y are factor matrices of the selection history matrix r factorized by applying Matrix Factorization using (Formula 7).
  • Matrix Factorization using (Formula 7).
  • users U1, U2, and U3 are arranged as row vectors
  • candidate contents C1, C2, and C3 are arranged as column vectors.
  • an element "1" of the selection history matrix indicates that the user selected the content
  • an element "0" indicates that the user did not select the content.
  • the content feature matrix X feature dimensions V1, V2, and V3 are arranged as row vectors, and candidate contents C1, C2, and C3 are arranged as column vectors.
  • the user feature matrix Y users U1, U2, and U3 are arranged as row vectors, and feature dimensions V1, V2, and V3 are arranged as column vectors.
  • FIG. 5 is a schematic diagram for explaining a series of flows for calculating a diversity score. A method for calculating the similarity of each combination and the diversity score will be described below using the example shown in FIG.
  • the diversity score calculator 117 calculates cosine similarity between the content feature matrix X and the transposed matrix XT of the content feature matrix X ( cosine similarity calculation process).
  • a similarity matrix H is obtained.
  • the candidate contents C1, C2, C3 are arranged as row vectors and column vectors.
  • the i-th row and j-th column element of the similarity matrix H corresponds to the similarity between the candidate content corresponding to the i-th row and the candidate content corresponding to the j-th column.
  • the similarity takes a value between -1 and 1, with a higher value indicating that the two candidate contents are more similar to each other.
  • the degree of similarity between candidate content C1 and candidate content C2 is "0.37". Note that the degree of similarity between the same candidate contents, such as the degree of similarity between candidate contents C1 and candidate contents C1, is the maximum possible value of "1.0".
  • the diversity score calculation unit 117 adds "1" to each element (similarity) of the similarity matrix H, A conversion is performed that takes the reciprocal of each element to which "1" is added.
  • the diversity score calculation unit 117 calculates a score f(x) corresponding to each combination using (Equation 8) below.
  • each element after conversion takes a value between 0.5 and infinity. Therefore, the smaller the element (similarity) before conversion, the closer the element after conversion is to infinity.
  • Diversity score calculation unit 117 inputs each element after conversion in procedure P2 as x into (Formula 8), so that each element after conversion in procedure P2 takes a value between 0 and 1. Convert. In other words, a normalized score can be obtained by performing the procedures P2 and P3 on the similarity. Note that the score for the combination of the same candidate content, such as the combination of the candidate content C1 and the candidate content C1, is the minimum value "0".
  • the diversity score calculation unit 117 calculates the score corresponding to each combination. Then, the diversity score calculation unit 117 refers to the user score for each candidate content received from the user score calculation unit 114, sets the candidate content with the highest user score as the first content, and sets the other candidate content as the second content. and Then, the diversity score calculation unit 117 refers to the score corresponding to each combination, and obtains the score for each second content with respect to the first content as the diversity score for each second content.
  • the diversity score calculator 117 acquires content attribute information and vectorizes the attributes of each candidate content. Then, the diversity score calculation unit 117 calculates a diversity score based on the distance of all possible combinations of two candidate contents.
  • the content attribute information is information indicating attributes of content, and includes a plurality of items of predetermined content. Examples of content items include content genres, content sub-genres, and content prices.
  • Diversity score calculation unit 117 determines each item according to a predetermined rule (for example, the content genre “baseball” is “0.1”, the content sub-genre “anime” is “0.3”, and the content price is “0 -500 yen” is set to "0.7”), by appropriately labeling (quantifying) content with content attributes such as (baseball, anime, 0-500 yen, ...)
  • a vector we get a numerical vector (vector) such as (0.1, 0.3, 0.7, ).
  • the diversity score calculation unit 117 calculates the distance between the vectors of the two candidate contents in each combination.
  • the vector for each item of candidate content C1 (baseball, anime, 0-500 yen, . . . ) is (0.1, 0.3, 0.4, .
  • the vector for 1000-2000 yen,...) is (0.1, 0.5, 0.1,).
  • the diversity score calculator 117 calculates the distance d12 between the candidate content C1 and the candidate content C2 using the following (Equation 9 ).
  • C 1 indicates the vector of candidate content C1
  • C 2 indicates the vector of candidate content C2.
  • the diversity score calculation unit 117 obtains the distance d12 by inputting the vector of the candidate content C1 and the vector of the candidate content C2 described above into (Equation 9 ).
  • the diversity score calculation unit 117 calculates the distance between the vectors of the two candidate contents in each combination by using (Formula 9). Then, the diversity score calculation unit 117 may normalize each calculated distance using a conventionally known formula or the like so as to take a value between 0 and 1, for example. Then, the diversity score calculator 117 selects the first content in the same manner as in the first example, and determines the distance of each second content from the first content as the diversity score of each second content.
  • the diversity score calculation unit 117 outputs the calculated diversity score to the recommendation degree calculation unit 118 .
  • the recommendation level calculation unit 118 calculates the recommendation level for each candidate based on the user score calculated by the user score calculation unit 114 and the diversity score for each second content calculated by the diversity score calculation unit 117. Compute content.
  • the recommendation degree calculation unit 118 calculates the recommendation degree so that the higher the user score of the content is, the higher the recommendation degree is, and the higher the diversity score of the content is, the higher the recommendation degree is.
  • the recommendation level calculation unit 118 calculates the recommendation level of each candidate content using the following (Equation 10).
  • “P t,a ” indicates the recommendation level of each candidate content.
  • “d' pt,a_top,a” indicates the diversity score of each secondary content relative to the primary content.
  • " ⁇ " is a constant that contributes to the weight of the first term and the weight of the second term, and is arbitrarily determined. By adjusting the magnitude of ⁇ , it is possible to adjust the ratio between the degree of contribution of the user score and the degree of contribution of the diversity score to the degree of recommendation P t,a .
  • the determination unit 119 determines content to be presented to the target user based on the recommendation level calculated by the recommendation level calculation unit 118 .
  • the determining unit 119 determines the content with the higher recommendation degree as the content to be presented to the user.
  • the determining unit 119 ranks a plurality of candidate contents in descending order of recommendation, and determines the top N (N is a predetermined number) contents as contents to be presented to the target user.
  • the determining unit 119 outputs information indicating the content to be presented to the target user and the order to the display control unit 120 .
  • FIG. 6 is a schematic diagram showing a series of flows from calculation of the degree of recommendation to determination of content to be presented to the user.
  • the user score calculator 114 calculates the user score of each candidate content.
  • the user score " pt,3 " is the highest. Therefore, in this case, the content indicated by the content ID "3" is the first content, and each other content is the second content.
  • Diversity score calculation unit 117 calculates the diversity score of each second content with respect to the first content (content indicated by content ID “3”).
  • the recommendation degree calculation unit 118 calculates the recommendation degree of each candidate content using (Formula 10).
  • the determination unit 119 ranks each candidate content based on the degree of recommendation, and determines the priority of presentation (order of presentation).
  • the numbers shown in the "order of presentation” in FIG. 6 are content IDs. The higher the order of presentation, the higher the order of presentation (recommendation priority). In the example shown in FIG. 6, the content indicated by the content ID “3" has the highest recommendation level, and the content indicated by the content ID “2" has the second highest recommendation level.
  • the display control unit 120 causes the display unit 21 of the user terminal 20 of the target user to display the content list according to the content and order to be presented to the target user determined by the determination unit 119 .
  • the first model generation unit 113 executes machine learning using the above-described teacher data to generate a plurality of first models M1 (first models M11 to M13 etc.) is generated (step S1).
  • the request accepting unit 111 accepts a request for access to the content providing service from the user terminal 20 (step S2).
  • the first acquisition unit 112 acquires the preference information of the user (target user) of the user terminal 20 who is the source of the access request by referring to the user attribute storage unit 10a (step S3).
  • the first acquisition unit 112 refers to the user ID of the target user, the user attribute information of the target user (more specifically, the basic information of the target user stored in the user attribute storage unit 10a, and usage information of the content providing service and other services) is input to each first model M1 generated by the first model generation unit 113 . Then, the first acquisition unit 112 acquires the item value (see FIG. 3) of each genre output from each first model M1 as the target user's preference information.
  • the second model generation unit 115 generates the second model M2 (see (Equation 1)) by machine learning using the information obtained from the user log described above (step S4). Specifically, the second model generation unit 115 receives the user attribute vector z acquired by the first acquisition unit 112 as an input, and when content is presented to the user, the content is selected by the user. A second model M2 is generated by reinforcement learning with a reward of .
  • the user score calculation unit 114 calculates a user score for each candidate content for the target user using the second model M2 generated by the second model generation unit 115 (step S5). Specifically, the user score calculation unit 114 inputs the user attribute vector z of the target user into the second model M2 corresponding to each candidate content (that is, (Equation 1) corresponding to each candidate content). , user scores p t,1 to p t,a of a plurality of candidate contents indicated by content IDs “1” to “a” as shown in FIG. 6 are calculated.
  • the diversity score calculation unit 117 sets the content with the highest user score as the first content, and calculates the diversity score for each other content (second content) based on the first content (step S6).
  • the diversity score calculation unit 117 acquires the usage record information of the target user by referring to the user log storage unit 10c, calculates the similarity of all candidate content combinations, and calculates the similarity of each combination.
  • the score represented by (Equation 8) is calculated for each combination (see FIGS. 4 and 5).
  • the diversity score calculation unit 117 refers to the score corresponding to each combination, and obtains the score for each second content with respect to the first content as the diversity score for each second content.
  • the diversity score calculation unit 117 calculates diversity scores d' 13 to d' a3 for each second content based on the first content (the content indicated by the content ID "3"). do.
  • the recommendation degree calculation unit 118 calculates the user score calculated by the user score calculation unit 114 and the diversity score for each second content calculated by the diversity score calculation unit (diversity of the first content itself as a reference).
  • the degree of recommendation for the target user is calculated for each candidate content (step S7).
  • the recommendation level P t,1 for the target user is based on the user scores p t,1 to p t,a and the diversity scores d′ 13 to d′ a3 for each second content.
  • ⁇ P t,a is calculated for each candidate content (contents corresponding to content IDs “1” to “a”).
  • the determination unit 119 determines the content and order to be presented to the target user based on the recommendation level calculated by the recommendation level calculation unit 118 (step S8). As an example, the determining unit 119 ranks each candidate content in descending order of the degree of recommendation, and determines the first to N-ranked content as content to be presented to the target user.
  • the display control unit 120 causes the display unit 21 of the user terminal 20 of the target user to display a list of contents to be presented to the target user according to the content and the order to be presented to the target user determined by the determination unit 119 (step S9).
  • the second acquisition unit 116 acquires a user log indicating the user's action results in the content providing service (step S10). That is, the second acquisition unit 116 acquires the user log, which is result information indicating whether or not the user has selected the candidate content displayed on the display unit 21 of the user terminal 20 .
  • the second model generation unit 115 updates the second model M2 using (Equation 2) to (Equation 6) based on the user log acquired by the second acquisition unit 116 (step S11).
  • the second model M2 can be appropriately updated at any time.
  • the above is an example of the processing of the server 10 .
  • the process of step S4 is omitted in the second and subsequent processes of the server 10 for the same target user.
  • the degree of recommendation for each candidate content is calculated.
  • the diversity score is a score that increases as the degree of similarity between the first content and the second content decreases.
  • Content to be presented to the target user (user) is determined based on the degree of recommendation for each candidate content.
  • the diversity score that indicates the degree of diversity with respect to the first content is considered, and the content to be recommended is determined.
  • the server 10 ensures the possibility that even content with a high degree of diversity relative to the first content will be selected as content to be recommended. Even if the first content) is different from the user's actual preference, it is possible to increase the possibility of presenting the content that the user likes. As a result, it is possible to provide a highly convenient recommendation service to the user and increase the possibility that the user will revisit the content providing service.
  • the diversity score calculation unit 117 selects the first content from a predetermined number of content with the highest user scores. In this embodiment, the diversity score calculator 117 selects the content with the highest user score as the first content. According to the above configuration, content that is highly likely to be preferred by the user can be appropriately and easily selected as the first content based on the user score.
  • the recommendation degree calculation unit 118 calculates the recommendation degree of one content so that the higher the user score of the one content is, the higher the recommendation degree of the content is, and the higher the diversity score of the one content is, the higher the recommendation degree is.
  • the content with the higher degree is determined as the content to be presented to the target user. According to the above configuration, for example, content with a low user score but a high diversity score is more likely to be selected as content to be recommended, so there is a possibility that content that is surprising to the user will be selected as content to be recommended. can be ensured.
  • the diversity score calculation unit 117 acquires a user log (usage record information) regarding the target user's use record for each candidate content, and based on the user log, for each second content Then, calculating a relative feature amount based on the first content, calculating the similarity of the second content to the first content for each second content based on the calculated feature amount, and calculating the similarity of the second content to the first content based on the similarity may be used to calculate a diversity score for each second content. According to the above configuration, it is possible to accurately obtain a diversity score indicating the degree of diversity with respect to the first content.
  • the diversity score calculation unit 117 acquires content attribute information indicating the attribute of content, as described in the second example, vectorizes the attribute of the first content and the attribute of each second content, A diversity score for each second content may be calculated based on the distance between the vector for the first content and the vector for each second content. According to the above configuration, the diversity score is calculated based on the attribute of the content pre-associated with the content, so the diversity score can be easily obtained.
  • the first acquisition unit 112 acquires preference information about the preferences of the target user based on the user attribute information
  • the user score calculation unit 114 calculates the preference information acquired by the first acquisition unit 112 (
  • a second model M2 core estimation model
  • a user score for each candidate content is calculated by using the obtained second model M2.
  • the first model generation unit 113 performs machine learning using teacher data including user attribute information of the user and an index value (information about the user's preference) to determine the user attribute of the user.
  • the first acquisition unit 112 inputs the user attribute information to the first model M1
  • the output result from the first model M1 is acquired as preference information.
  • the first model M1 is constructed to receive the attribute information of the user and output the estimated value of the preference information, and the preference information is acquired using the first model M1. can be obtained efficiently and accurately.
  • User attribute information includes user usage information related to services other than the content providing service. According to the above configuration, it is possible to accurately estimate the content that the user prefers, even for a user who has not used the content providing service in a short time. Therefore, not only users who have used the content providing service for a long time but also users who have not used the content providing service for a long time can receive personalized and unexpected recommendations.
  • the second model M2 may be a model that inputs user attribute information and outputs a user score for each candidate content.
  • the first acquisition unit 112 acquires the user attribute vector z from the user attribute storage unit 10a
  • the user score calculation unit 114 converts the user attribute vector z received from the first acquisition unit 112 into the second A user score is obtained by inputting into the model M2.
  • a user attribute vector z obtained by digitizing and vectorizing various items such as user's basic information is stored for each user ID.
  • the user score is calculated using the second model M2 constructed by reinforcement learning, so the user score can be obtained efficiently and accurately.
  • each first model M1 may be stored in the server 10 in advance, or may be stored in a server different from the server 10, for example.
  • the preference information may be generated by a method different from the method using the first model M1 generated by machine learning, and may be stored in advance in a server or the like different from the server 10 .
  • the diversity score may be set such that the smaller the degree of similarity with the first content is (that is, the more distant the content is from the content of the first content), the larger the diversity score is. It is not limited to the first and second examples described above.
  • the method of calculating the diversity score is not limited to this embodiment.
  • the diversity score calculation unit 117 does not need to calculate distances for all combinations of content. That is, the diversity score calculator 117 may select the first content and calculate only the distance of each second content to the selected first content as the diversity score.
  • the first content does not necessarily have to be the content with the highest user score.
  • the diversity score calculation unit 117 may select the first content from among a predetermined number of contents with the highest user scores (for example, contents with the first to third highest user scores). With the above configuration as well, it is possible to select content that is highly likely to be preferred by the user as the first content.
  • the first content may be selected using a criterion other than the user score described above.
  • the server 10 may acquire in advance information on typical content that the target user tends to like, based on the target user's content usage history or the like. In this case, the diversity score calculator 117 may set the representative content as the first content. Also, content other than the plurality of candidate content provided by the content providing service may be selected as the first content.
  • each functional block may be implemented using one device that is physically or logically coupled, or directly or indirectly using two or more devices that are physically or logically separated (e.g. , wired, wireless, etc.) and may be implemented using these multiple devices.
  • a functional block may be implemented by combining software in the one device or the plurality of devices.
  • Functions include judging, determining, determining, calculating, calculating, processing, deriving, investigating, searching, checking, receiving, transmitting, outputting, accessing, resolving, selecting, choosing, establishing, comparing, assuming, expecting, assuming, Broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, etc. can't
  • the server 10 in one embodiment of the present disclosure may function as a computer that performs the recommendation method of the present disclosure.
  • FIG. 8 is a diagram illustrating an example of a hardware configuration of server 10 according to an embodiment of the present disclosure.
  • the server 10 described above 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.
  • the term "apparatus” can be read as a circuit, device, unit, or the like.
  • the hardware configuration of the server 10 may be configured to include one or more of the devices shown in FIG. 8, or may be configured without some of the devices.
  • Each function in the server 10 is performed by causing the processor 1001 to perform calculations, controlling communication by the communication device 1004, controlling communication by the communication device 1004, and controlling the communication by the memory 1002 and It is realized by controlling at least one of data reading and writing in the storage 1003 .
  • the processor 1001 for example, operates an operating system and controls the entire computer.
  • the processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, registers, and the like.
  • CPU central processing unit
  • the processor 1001 reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 to the memory 1002, and executes various processes according to them.
  • programs program codes
  • the program a program that causes a computer to execute at least part of the operations described in the above embodiments is used.
  • the user score calculation unit 114, the diversity score calculation unit 117, and the like may be stored in the memory 1002 and realized by a control program operating in the processor 1001, and other functional blocks may be similarly realized.
  • FIG. Processor 1001 may be implemented by one or more chips. Note that the program may be transmitted from a network via an electric communication line.
  • the memory 1002 is a computer-readable recording medium, and is composed of at least one of, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. may be
  • ROM Read Only Memory
  • EPROM Erasable Programmable ROM
  • EEPROM Electrical Erasable Programmable ROM
  • RAM Random Access Memory
  • the memory 1002 may also be called a register, cache, main memory (main storage device), or the like.
  • the memory 1002 can store executable programs (program codes), software modules, etc. for implementing a communication control method according to an embodiment of the present disclosure.
  • the storage 1003 is a computer-readable recording medium, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (for example, a compact disk, a digital versatile disk, a Blu-ray disk), smart card, flash memory (eg, card, stick, key drive), floppy disk, magnetic strip, and/or the like.
  • Storage 1003 may also be called an auxiliary storage device.
  • the storage medium described above may be, for example, a database, server, or other suitable medium including at least one of memory 1002 and storage 1003 .
  • the communication device 1004 is hardware (transmitting/receiving device) for communicating between computers via at least one of a wired network and a wireless network, and is also called a network device, a network controller, a network card, a communication module, or the like.
  • the input device 1005 is an input device (for example, keyboard, mouse, microphone, switch, button, sensor, etc.) that receives input from the outside.
  • the output device 1006 is an output device (eg, display, speaker, LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated (for example, a touch panel).
  • 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 using a single bus, or may be configured using different buses between devices.
  • the server 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array).
  • DSP digital signal processor
  • ASIC Application Specific Integrated Circuit
  • PLD Physical Location Deposition
  • FPGA Field Programmable Gate Array
  • a part or all of each functional block may be implemented by the hardware.
  • processor 1001 may be implemented using at least one of these pieces of hardware.
  • Input/output information may be stored in a specific location (for example, memory) or managed using a management table. Input/output information and the like can be overwritten, updated, or appended. The output information and the like may be deleted. The entered information and the like may be transmitted to another device.
  • the determination may be made by a value represented by one bit (0 or 1), by a true/false value (Boolean: true or false), or by numerical comparison (for example, a predetermined value).
  • notification of predetermined information is not limited to being performed explicitly, but may be performed implicitly (for example, not notifying the predetermined information). good too.
  • Software whether referred to as software, firmware, middleware, microcode, hardware description language or otherwise, includes instructions, instruction sets, code, code segments, program code, programs, subprograms, and software modules. , applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, and the like.
  • software, instructions, information, etc. may be transmitted and received via a transmission medium.
  • a transmission medium For example, if the software uses at least one of wired technology (coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL), etc.) and wireless technology (infrared, microwave, etc.), the website, Wired and/or wireless technologies are included within the definition of transmission medium when sent from a server or other remote source.
  • wired technology coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL), etc.
  • wireless technology infrared, microwave, etc.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. may refer to voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. may be represented by a combination of
  • information, parameters, etc. described in the present disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information. may be represented.
  • any reference to elements using the "first,” “second,” etc. designations used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, reference to a first and second element does not imply that only two elements can be employed or that the first element must precede the second element in any way.
  • a and B are different may mean “A and B are different from each other.”
  • the term may also mean that "A and B are different from C”.
  • Terms such as “separate,” “coupled,” etc. may also be interpreted in the same manner as “different.”
  • 10 Server (recommendation device), 112... First acquisition unit (user preference acquisition unit), 113... First model generation unit (model generation unit), 114... User score calculation unit, 117... Diversity score calculation unit, 118 ... recommendation degree calculation unit, 119 ... determination unit, L ... preference information, M1, M11, M12, M13 ... first model (preference estimation model), M2 ... second model (score estimation model), U ... target user (user ).

Abstract

This server 10 comprises: a diversity score calculation unit 117 for calculating, for each second content, a diversity score that progressively becomes higher in correspondence to a decrease in the degree of similarity between first content selected as the content the possibility of which being favored by a relevant user is high and second content other than the first content among a plurality of content; a recommendation degree calculation unit 118 for calculating, for each candidate content, the degree of recommendation to the relevant user on the basis of a user score obtained on the basis of the user attribute information of the relevant user, the user score indicating the degree of preference of the relevant user to each candidate content, and the diversity score for each second content; and a determination unit 119 for determining the content to be presented to the relevant user, on the basis of the degree of recommendation calculated by the recommendation degree calculation unit 118.

Description

レコメンド装置Recommendation device
 本発明の一側面は、レコメンド装置に関する。 One aspect of the present invention relates to a recommendation device.
 ユーザにコンテンツを提供するコンテンツ提供サービスにおいて、ユーザが選びやすいコンテンツを推定し、推定したコンテンツをユーザに提示するレコメンドの手法が知られている。特許文献1には、ユーザが指定した指定コンテンツと検索対象コンテンツとの間の類似度を各コンテンツの特徴量に基づいて計算し、指定コンテンツとの類似度が高い検索対象コンテンツを、ユーザの嗜好に合致するコンテンツとしてユーザに提示する情報処理装置が記載されている。 In content providing services that provide content to users, there is a well-known recommendation method that estimates content that is easy for the user to select and presents the estimated content to the user. In Patent Document 1, the degree of similarity between designated content designated by a user and search target content is calculated based on the feature amount of each content, and search target content with high similarity to the designated content is determined based on the user's preference. An information processing apparatus is described that presents to a user as content that matches the above.
特開2006-48320号公報Japanese Patent Application Laid-Open No. 2006-48320
 しかしながら、上述したようなレコメンドの手法では、提示されるコンテンツが、互いに類似した特徴を有するコンテンツに固定化され、提示されるコンテンツがユーザにとって意外性のないものとなり、ユーザに飽きられてしまうおそれがある。 However, in the above-described recommendation method, the presented content is fixed to content having similar characteristics, and the presented content does not come as a surprise to the user, and the user may become bored. There is
 そこで、本発明の一側面は、ユーザに対してより利便性の高いレコメンドサービスを提供可能なレコメンド装置を提供することを目的とする。 Therefore, it is an object of one aspect of the present invention to provide a recommendation device capable of providing a more convenient recommendation service to users.
 本発明の一側面に係るレコメンド装置は、ユーザにコンテンツを提供するコンテンツ提供サービスにおいて、複数の候補コンテンツの中からユーザに提示するコンテンツを決定するレコメンド装置であって、ユーザにより好まれる可能性の高いコンテンツとして選択された第1コンテンツと複数の候補コンテンツのうち第1コンテンツ以外の第2コンテンツとの類似度が小さいほど高くなるスコアである多様性スコアを、第2コンテンツ毎に算出する多様性スコア算出部と、ユーザの属性に関するユーザ属性情報に基づいて得られた、複数の候補コンテンツの各々に対するユーザの嗜好の度合いを示すユーザスコアと、多様性スコア算出部により算出された第2コンテンツ毎の多様性スコアとに基づいて、ユーザに対する推奨度を複数の候補コンテンツの各々について算出する推奨度算出部と、推奨度算出部により算出された推奨度に基づいて、ユーザに提示するコンテンツを決定する決定部と、を備える。 A recommendation device according to one aspect of the present invention is a recommendation device that determines content to be presented to a user from among a plurality of candidate content in a content providing service that provides content to the user, and determines the possibility that the content will be preferred by the user. Diversity calculating for each second content, a diversity score that increases as the degree of similarity between the first content selected as high content and the second content other than the first content among a plurality of candidate contents decreases. A score calculation unit, a user score indicating the degree of user preference for each of a plurality of candidate contents obtained based on user attribute information related to user attributes, and a diversity score calculation unit for each second content calculated A recommendation degree calculation unit that calculates the degree of recommendation to the user for each of a plurality of candidate contents based on the diversity score of the above, and content to be presented to the user is determined based on the degree of recommendation calculated by the recommendation degree calculation unit. and a determining unit for
 本発明の一側面に係るレコメンド装置では、ユーザ属性情報に基づいて得られた候補コンテンツ毎のユーザの嗜好の度合いを示すユーザスコアと、第2コンテンツ毎の多様性スコアとに基づいて、候補コンテンツ毎の推奨度が算出される。多様性スコアは、第1コンテンツと第2コンテンツとの類似度が小さいほど高くなるスコアである。そして、候補コンテンツ毎の推奨度に基づいて、ユーザに提示するコンテンツが決定される。上記構成によれば、コンテンツに対するユーザの嗜好が反映されたユーザスコアに加えて、第1コンテンツに対する多様性の度合いを示す多様性スコアが考慮されて、レコメンド対象のコンテンツが決定されるので、ユーザが好むと推定されるコンテンツだけでなく、ユーザにとって新たな発見のあるコンテンツの提示が可能となる。すなわち、ユーザにとって意外性のあるコンテンツがレコメンド対象のコンテンツとして選ばれる可能性を確保することで、レコメンドの多様化を図ることができる。よって、このレコメンド装置によれば、ユーザに対してより利便性の高いレコメンドサービスの提供が可能となる。 In the recommendation device according to one aspect of the present invention, based on the user score indicating the degree of preference of the user for each candidate content obtained based on the user attribute information, and the diversity score for each second content, candidate content The degree of recommendation for each is calculated. The diversity score is a score that increases as the degree of similarity between the first content and the second content decreases. Content to be presented to the user is determined based on the degree of recommendation for each candidate content. According to the above configuration, in addition to the user score that reflects the user's preference for the content, the diversity score that indicates the degree of diversity with respect to the first content is considered, and the content to be recommended is determined. It is possible to present not only content that is presumed to be preferred by the user, but also content that is newly discovered by the user. In other words, it is possible to diversify recommendations by ensuring the possibility that content that is surprising to the user will be selected as content to be recommended. Therefore, according to this recommendation device, it is possible to provide a more convenient recommendation service to the user.
 本発明の一側面によれば、ユーザに対してより利便性の高いレコメンドサービスの提供が可能なレコメンド装置を提供することができる。 According to one aspect of the present invention, it is possible to provide a recommendation device capable of providing a more convenient recommendation service to users.
図1は、本実施形態に係るサーバの機能ブロック図である。FIG. 1 is a functional block diagram of a server according to this embodiment. 図2は、図1に示される第1モデルの生成方法の一例を示す模式図である。FIG. 2 is a schematic diagram showing an example of a method of generating the first model shown in FIG. 図3は、図1に示される第1モデルを用いてジャンル「スポーツ」の項目値を取得する流れを示す模式図である。FIG. 3 is a schematic diagram showing a flow of acquiring item values of the genre "sports" using the first model shown in FIG. 図4は、Matrix Factorizationの適用を説明するための模式図である。FIG. 4 is a schematic diagram for explaining the application of Matrix Factorization. 図5は、多様性スコアを算出する一連の流れを説明するための模式図である。FIG. 5 is a schematic diagram for explaining a series of flows for calculating a diversity score. 図6は、推奨度の算出からユーザに提示するコンテンツの決定までの一連の流れを示す模式図である。FIG. 6 is a schematic diagram showing a series of flows from calculation of the degree of recommendation to determination of content to be presented to the user. 図7は、本実施形態に係るサーバによる処理の一例を示すフローチャートである。FIG. 7 is a flowchart showing an example of processing by the server according to this embodiment. 図8は、サーバのハードウェア構成の一例を示す図である。FIG. 8 is a diagram illustrating an example of a hardware configuration of a server;
 以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。 An embodiment of the present invention will be described in detail below with reference to the accompanying drawings. In the description of the drawings, the same or corresponding elements are denoted by the same reference numerals, and overlapping descriptions are omitted.
 図1は、本実施形態に係るサーバ10の機能ブロック図である。サーバ10(レコメンド装置)は、従来公知のレコメンドサービスを提供する情報処理装置である。レコメンドサービスとは、コンテンツをユーザに提供(販売)するコンテンツ提供サービスにおいて、ユーザにレコメンドするコンテンツのリストを提示するサービスである。コンテンツの例としては、動画、音楽、及び電子書籍が挙げられる。コンテンツ提供サービスによって提供されるコンテンツには、様々なジャンルのコンテンツが含まれる。ジャンルの例としては、スポーツに関するジャンル(以下、単に「スポーツ」という)、アニメに関するジャンル(以下、単に「アニメ」という)、雑誌(電子書籍)に関するジャンル(以下、単に「雑誌」という)が挙げられる。なお、サーバ10は、レコメンドシステムとは別のシステムであってもよいし、レコメンドシステムを兼ねてもよい。 FIG. 1 is a functional block diagram of the server 10 according to this embodiment. The server 10 (recommendation device) is an information processing device that provides a conventionally known recommendation service. A recommendation service is a service that presents a list of recommended contents to a user in a content providing service that provides (sells) contents to users. Examples of content include movies, music, and electronic books. The content provided by the content providing service includes content of various genres. Examples of genres include genres related to sports (hereinafter simply referred to as "sports"), genres related to anime (hereinafter simply referred to as "animation"), and genres related to magazines (e-books) (hereinafter simply referred to as "magazines"). be done. The server 10 may be a system different from the recommendation system, or may also serve as the recommendation system.
 例えば、ユーザがユーザ端末20を操作してコンテンツ提供サービスにアクセスすると、ユーザ端末20の表示部21には、当該ユーザにレコメンドされるコンテンツのリストが表示される。コンテンツのリストの例としては、例えば、各々がコンテンツを示す複数のアイコンが挙げられる。例えば、ユーザ端末20は、タッチパネルディスプレイを表示部21として備えたスマートフォンである。ただし、ユーザ端末20は、上記形態に限られず、表示部21を有する端末であればよく、例えば、タブレット端末、デスクトップPC、ラップトップPC等であってもよい。ユーザは、興味のあるコンテンツのアイコンを選択する操作(例えば、タッチ操作、クリック操作等)を実行することにより、当該コンテンツを利用(例えば、視聴、購入等)することが可能となっている。 For example, when the user operates the user terminal 20 to access the content providing service, the display unit 21 of the user terminal 20 displays a list of content recommended to the user. An example list of content includes, for example, a plurality of icons each representing content. For example, the user terminal 20 is a smart phone having a touch panel display as the display unit 21 . However, the user terminal 20 is not limited to the form described above, and may be a terminal having a display unit 21, such as a tablet terminal, a desktop PC, a laptop PC, or the like. The user can use (for example, view, purchase, etc.) the content by performing an operation (for example, touch operation, click operation, etc.) to select the icon of the content of interest.
 ユーザ端末20の表示部21の表示領域のサイズには限界がある。したがって、本実施形態では、ユーザ端末20の表示部21には、複数の候補コンテンツの中から、各ジャンルにおいてユーザに対する推奨度の順位が上位のコンテンツが表示される。サーバ10は、レコメンドサービスにおいて、後述する推奨度を算出し、推奨度に基づいて、複数の候補コンテンツの中からユーザに提示するコンテンツを決定する。 The size of the display area of the display unit 21 of the user terminal 20 is limited. Therefore, in the present embodiment, the display unit 21 of the user terminal 20 displays, among a plurality of candidate contents, the contents with the highest recommendation degree to the user in each genre. In the recommendation service, the server 10 calculates a recommendation degree, which will be described later, and determines content to be presented to the user from among a plurality of candidate contents based on the recommendation degree.
 レコメンドサービスにおいては、報酬を最大化させるための最適化推論を行う(ユーザが好むコンテンツを推定する)バンディットアルゴリズム等の強化学習アルゴリズムを用いて、ユーザに提示するコンテンツを決定する手法が採用され得る。しかし、このようなバンディットアルゴリズムを単に用いると、ユーザが好むと推定されるコンテンツがユーザに提示される結果、レコメンド対象のコンテンツが互いに類似した特徴を有するコンテンツに固定化されてしまうおそれがある。より具体的には、バンディットアルゴリズムは、それまでに判明している情報に基づいて最適な(ユーザが好む可能性が高い)コンテンツを積極的に選択する「活用」と、どのコンテンツがユーザに好まれるかを探るために他のコンテンツを選択する「探索」と、をバランスさせるアルゴリズムである。ここで、「探索」の重みを「活用」の重みより大きくすることにより、上述したような提示コンテンツの固定化をある程度防止できると考えられる。すなわち、「探索」の割合を大きくすることによって、ユーザが好む可能性が高いと判明しているコンテンツ以外のコンテンツがユーザに提示される確率を高めることができる。しかし、上記の「探索」は、ユーザにとって意外性のあるコンテンツを積極的に選択され易くするものではない。このため、ユーザに対してセレンディピティのある体験を積極的に提供するためには、従来のバンディットアルゴリズムの「探索」の割合を大きくするだけでは不十分である。そこで、サーバ10は、ユーザが好むと推定されるコンテンツだけでなく、ユーザにとって新たな発見のあるコンテンツをユーザに提示する(レコメンドする)ように構成されている。以下、サーバ10の構成について詳細に説明する。 In the recommendation service, a method of determining the content to be presented to the user using a reinforcement learning algorithm such as the bandit algorithm that performs optimization inference to maximize the reward (estimating the content that the user prefers) can be adopted. . However, if such a bandit algorithm is simply used, content that is presumed to be preferred by the user is presented to the user. More specifically, the bandit algorithm actively selects the best content (which is likely to be preferred by the user) based on the information known so far, and which content is preferred by the user. It is an algorithm that balances "searching", which selects other content to explore whether Here, by making the weight of "search" larger than the weight of "utilization", it is considered that the fixation of the presented content as described above can be prevented to some extent. That is, by increasing the percentage of "search", it is possible to increase the probability that content other than content that is known to be highly likely to be preferred by the user will be presented to the user. However, the above-mentioned "search" does not make it easier for the user to positively select unexpected contents. Therefore, it is not sufficient to simply increase the proportion of "search" in conventional bandit algorithms in order to actively provide users with a serendipity experience. Therefore, the server 10 is configured to present (recommend) to the user not only content that is presumed to be preferred by the user, but also content that is newly discovered by the user. The configuration of the server 10 will be described in detail below.
 図1に示されるように、サーバ10は、要求受付部111と、第1取得部112と、第1モデル生成部113と、ユーザスコア算出部114と、第2モデル生成部115と、第2取得部116と、多様性スコア算出部117と、推奨度算出部118と、決定部119と、表示制御部120と、を備えている。また、サーバ10は、各種データを記憶する要素として、ユーザ属性記憶部10aと、コンテンツID記憶部10bと、ユーザログ記憶部10cと、コンテンツ属性記憶部10dと、を備えている。 As shown in FIG. 1, the server 10 includes a request receiving unit 111, a first acquiring unit 112, a first model generating unit 113, a user score calculating unit 114, a second model generating unit 115, a second An acquisition unit 116 , a diversity score calculation unit 117 , a recommendation degree calculation unit 118 , a determination unit 119 , and a display control unit 120 are provided. The server 10 also includes a user attribute storage unit 10a, a content ID storage unit 10b, a user log storage unit 10c, and a content attribute storage unit 10d as elements that store various data.
 要求受付部111は、ユーザ(ユーザ端末20)からコンテンツ提供サービスへのアクセス要求を示す要求情報を受け付ける。要求受付部111は、要求情報を第1取得部112に出力する。 The request reception unit 111 receives request information indicating a request for access to the content providing service from the user (user terminal 20). Request accepting unit 111 outputs the request information to first obtaining unit 112 .
 第1取得部112(ユーザ嗜好取得部)は、ユーザ属性情報に基づいて、コンテンツが提示される対象となる対象ユーザの嗜好情報を取得する。対象ユーザは、要求受付部111が受け付けた情報要求の送信元であるユーザ端末20のユーザである。嗜好情報は、ユーザの嗜好に関する情報である。嗜好情報は、嗜好に関する複数の項目値を含む。複数の項目値は、後述するユーザ属性ベクトルzに対応する。各項目値は、複数のジャンルの各々に対する対象ユーザの嗜好の度合いを示す数値である。複数のジャンルは、コンテンツに関するジャンルであって、予め定められている。複数のジャンルの例としては、「スポーツ」、「アニメ」、及び「雑誌」が挙げられる。また、一のジャンルに対して一の項目値が対応付けられている。各項目値は、例えば、0から1の間の値をとり、値が大きい程対象ユーザの嗜好の度合いが高いことを示す。このように、嗜好情報は、複数のジャンルの各々に対する対象ユーザの好みが数値化された情報を含んでいる。 The first acquisition unit 112 (user preference acquisition unit) acquires the preference information of the target user to whom the content is presented based on the user attribute information. The target user is the user of the user terminal 20 that is the source of the information request received by the request receiving unit 111 . The preference information is information about user preferences. The preference information includes multiple item values related to preferences. A plurality of item values correspond to a user attribute vector z, which will be described later. Each item value is a numerical value indicating the degree of preference of the target user for each of a plurality of genres. A plurality of genres are genres related to content and are determined in advance. Examples of multiple genres include "sports", "animation", and "magazines". Also, one item value is associated with one genre. Each item value takes, for example, a value between 0 and 1, and a larger value indicates a higher degree of preference of the target user. In this way, the preference information includes information in which the target user's preferences for each of a plurality of genres are quantified.
 第1取得部112は、後述する第1モデル生成部113により生成される複数の第1モデルM1(嗜好推定モデル)に、対象ユーザのユーザ属性情報を入力することにより、各第1モデルM1からの出力結果を対象ユーザの嗜好情報として取得する。 The first acquisition unit 112 inputs the user attribute information of the target user to a plurality of first models M1 (preference estimation models) generated by the first model generation unit 113, which will be described later. is obtained as the target user's preference information.
 第1モデル生成部113は、ユーザのユーザ属性情報と当該ユーザの嗜好に関する情報とを含む教師データを用いた機械学習を実行することにより、当該ユーザのユーザ属性情報を入力して当該ユーザの嗜好情報の推定値を出力する複数の第1モデルM1を生成する。 The first model generation unit 113 inputs the user attribute information of the user and calculates the preference of the user by executing machine learning using teacher data including user attribute information of the user and information about the preference of the user. A plurality of first models M1 are generated that output estimates of the information.
 第1モデル生成部113は、ユーザのユーザ属性情報と当該ユーザの嗜好を示す情報とを含む教師データを用いた機械学習を実行することにより、複数の第1モデルM1を生成する。本実施形態では、複数の第1モデルM1は、複数のジャンル毎のモデル(第1モデルM11、第1モデルM12、第1モデルM13等)を含んでいる。第1モデルM11は、ジャンル「スポーツ」に対応する。第1モデルM12は、ジャンル「アニメ」に対応する。第1モデルM13は、ジャンル「雑誌」に対応する。各第1モデルM1は、ユーザのユーザ属性情報を入力して、対応するジャンルに関するユーザの嗜好情報の推定値を出力するように構成されたモデルである。当該推定値は、対応するジャンルの項目値に対応する。以下、第1モデルM11に着目して第1モデル生成部113の処理について説明する。 The first model generation unit 113 generates a plurality of first models M1 by executing machine learning using teacher data including user attribute information of the user and information indicating the user's preferences. In the present embodiment, the multiple first models M1 include multiple genre-specific models (first model M11, first model M12, first model M13, etc.). The first model M11 corresponds to the genre "sports". The first model M12 corresponds to the genre "anime". The first model M13 corresponds to the genre "magazine". Each first model M1 is a model configured to input user attribute information of a user and output an estimated value of user preference information regarding the corresponding genre. The estimated value corresponds to the item value of the corresponding genre. The processing of the first model generation unit 113 will be described below, focusing on the first model M11.
 第1モデル生成部113により実行される機械学習としては、例えば、勾配ブースティング、重回帰分析、ニューラルネットワーク(多層ニューラルネットワークを用いた深層学習を含む)等の従来公知の手法が利用される。第1モデル生成部113により生成される第1モデルM1は、特定の態様に限定されない。以下、図2に示される例を用いて、第1モデル生成部113による第1モデルM1の生成方法の一例について説明する。図2は、図1に示される第1モデルM11(「スポーツ」に対応するモデル)の生成方法の一例を示す模式図である。第1モデル生成部113は、例えば、ユーザのユーザ属性情報に関する特徴量と、ユーザがジャンル(ここでは「スポーツ」)を好きであるか否かを示す指標値(ユーザの嗜好を示す情報)とを含む教師データを用いて機械学習を実行することにより、第1モデルM11を生成する。ここで、ユーザのユーザ属性情報に関する特徴量が第1モデルM11の入力データ(説明変数)に対応し、上記指標値が第1モデルM11の出力データ(目的変数)に対応する。 As the machine learning performed by the first model generation unit 113, conventionally known methods such as gradient boosting, multiple regression analysis, neural networks (including deep learning using multilayer neural networks), etc. are used. The first model M1 generated by the first model generation unit 113 is not limited to a specific aspect. An example of a method of generating the first model M1 by the first model generation unit 113 will be described below using the example shown in FIG. FIG. 2 is a schematic diagram showing an example of a method of generating the first model M11 (model corresponding to "sports") shown in FIG. The first model generation unit 113 generates, for example, a feature amount related to the user attribute information of the user and an index value (information indicating the user's preference) indicating whether the user likes a genre (here, "sports"). A first model M11 is generated by executing machine learning using teacher data including Here, the feature amount related to the user attribute information of the user corresponds to the input data (explanatory variable) of the first model M11, and the index value corresponds to the output data (objective variable) of the first model M11.
 ユーザのユーザ属性情報は、ユーザの基礎情報、及びユーザが利用する1又は複数のサービスの利用情報を含んでいる。基礎情報の例としては、ユーザの性別、年代(又は年齢)、居所、及び職業が挙げられる。ユーザの利用情報の例としては、ユーザが契約しているサービスの数、ユーザが契約していないサービスの数、ユーザの各サービスの利用頻度、及びユーザの各サービスの利用時間(例えば、1日単位のサービスの平均利用時間)が挙げられる。なお、ユーザ属性情報に関する特徴量は、例えば、各サービスを利用する多数のユーザ全体の分布に基づいて正規化された数値であってもよい。 The user's user attribute information includes the user's basic information and usage information of one or more services used by the user. Examples of basic information include the user's gender, generation (or age), location, and occupation. Examples of user usage information include the number of services to which the user has a contract, the number of services to which the user has not subscribed, the frequency of use of each service by the user, and the time of use of each service by the user (for example, one day). unit service average usage time). Note that the feature amount related to the user attribute information may be, for example, a numerical value normalized based on the overall distribution of many users who use each service.
 ユーザが契約しているサービスには、上述したコンテンツ提供サービス、及びサービスサーバ30(図1参照)により提供される他のサービスが含まれる。サービスサーバ30は、上述したコンテンツ提供サービスとは異なるサービス(以下、「他のサービス」という)を提供するサーバである。他のサービスは、例えば、移動体通信網を介して通信事業者により運営されるサービスである。サービスサーバ30は、各ユーザの基礎情報、及び各ユーザによる他のサービスの利用情報を含む種々の情報を記憶している。他のサービスの利用情報は、例えば、ユーザによる他のサービスの利用頻度、ユーザによる他のサービスの利用時間等を含んでいる。なお、図1に示されるサービスサーバ30の数は1台であるが、他のサービスの数は、複数であってもよい。また、サービスサーバ30の数は複数であってもよく、例えば、他のサービス毎にサービスサーバ30が設けられていてもよい。 The services subscribed by the user include the content providing service described above and other services provided by the service server 30 (see FIG. 1). The service server 30 is a server that provides a service (hereinafter referred to as "other service") different from the content providing service described above. Other services are, for example, services operated by carriers via mobile networks. The service server 30 stores various information including basic information of each user and usage information of other services by each user. The usage information of other services includes, for example, the usage frequency of other services by the user, the usage time of other services by the user, and the like. Although the number of service servers 30 shown in FIG. 1 is one, the number of other services may be plural. Moreover, the number of service servers 30 may be plural, and for example, a service server 30 may be provided for each other service.
 指標値は、ユーザがスポーツ好きである場合に「1」をとり、ユーザがスポーツ好きでない場合に「0」をとる値である。指標値は、例えば、予めユーザが回答したアンケート結果を示すデータ、ユーザがユーザ端末20にインストールされたアプリケーションの起動時に選択した「好きなジャンル」を示すデータ等に基づいて得られる。 The index value is "1" if the user likes sports, and "0" if the user does not like sports. The index value is obtained, for example, based on data indicating the results of a questionnaire answered by the user in advance, data indicating the "favorite genre" selected by the user when activating an application installed on the user terminal 20, and the like.
 このような教師データを用いた機械学習によれば、ユーザのユーザ属性情報に関する特徴量を入力して、対応するジャンルに対するユーザの嗜好情報を出力するように構成された第1モデルM11が得られる。第1モデルM11の出力値(上述した嗜好情報)は、入力されたユーザ属性情報に対応するユーザが「スポーツ」を好きである可能性(確率)を示す。なお、第1モデル生成部113により実行される機械学習は、上記手法に限られない。また、第1モデルM1に入力されるユーザ属性情報の種類も、上記例に限定されない。 According to machine learning using such training data, the first model M11 configured to input the feature amount related to the user attribute information of the user and output the user's preference information for the corresponding genre is obtained. . The output value (preference information described above) of the first model M11 indicates the possibility (probability) that the user corresponding to the input user attribute information likes "sports". Note that the machine learning executed by the first model generation unit 113 is not limited to the above method. Also, the type of user attribute information input to the first model M1 is not limited to the above example.
 第1取得部112は、第1モデル生成部113によって生成された各第1モデルM1への入力のために、ユーザ属性記憶部10aから、対象ユーザのユーザIDに対応するユーザ属性情報を取得する。ユーザ属性記憶部10aには、ユーザを一意に特定するためのユーザIDに関連付けられたユーザ属性情報が記憶されている。例えば、第1取得部112は、情報要求に含まれているユーザを識別するための情報(一例として、ユーザIDと関連付けられた端末ID等)に基づいて、対象ユーザのユーザIDを特定する。 The first acquisition unit 112 acquires user attribute information corresponding to the user ID of the target user from the user attribute storage unit 10a for input to each first model M1 generated by the first model generation unit 113. . User attribute information associated with a user ID for uniquely identifying a user is stored in the user attribute storage unit 10a. For example, the first acquisition unit 112 identifies the user ID of the target user based on information for identifying the user included in the information request (for example, a terminal ID associated with the user ID, etc.).
 ユーザ属性情報は、上述したようなユーザの基礎情報(ユーザの性別、年代、居所、職業等)、並びにコンテンツ提供サービス及び他のサービスの利用情報(ユーザの識別情報、各ユーザによるサービスの利用頻度等)を含んでいる。ユーザ属性記憶部10aには、ユーザが各サービスを利用する度に、ユーザIDと、当該ユーザにより利用されたサービスの利用情報とが関連付けられて保存される。 The user attribute information includes basic user information as described above (user's gender, age, whereabouts, occupation, etc.), content provision service and other service usage information (user identification information, frequency of service usage by each user, etc.). etc.). Each time the user uses each service, the user ID and usage information of the service used by the user are associated and stored in the user attribute storage unit 10a.
 第1取得部112は、対象ユーザのユーザ属性情報(対象ユーザの基礎情報、コンテンツ提供サービス及び他のサービスの利用情報)を、ユーザ属性記憶部10aから取得する。そして、第1取得部112は、取得したユーザ属性情報(より詳細には、上記各情報に関する特徴量)を各第1モデルM1に入力し、各第1モデルM1からの出力結果を対象ユーザの嗜好情報として取得する。 The first acquisition unit 112 acquires user attribute information of the target user (basic information of the target user, usage information of the content providing service and other services) from the user attribute storage unit 10a. Then, the first acquisition unit 112 inputs the acquired user attribute information (more specifically, the feature amount related to each of the above information) to each first model M1, and outputs the output result from each first model M1 to the target user. Acquired as preference information.
 ここで、図3に示される例を用いて、第1取得部112による嗜好情報の取得方法の一例について説明する。図3は、図1に示される第1モデルM11を用いてジャンル「スポーツ」の項目値を取得する流れを示す模式図である。第1取得部112は、ユーザ属性記憶部10aから取得した対象ユーザUの基礎情報、コンテンツ提供サービスの利用情報、及び他のサービスの利用情報を第1モデルM11に入力する。そして、第1取得部112は、第1モデルM11からの出力結果として、「スポーツ」に対応する項目値(ここでは一例として「0.1」)を取得する。第1取得部112は、第1モデルM11と同様に、他の第1モデルM1(第1モデルM12及び第1モデルM13等)からの出力結果を「アニメ」及び「雑誌」に対応する項目値として取得する。このようにして得られた対象ユーザUの嗜好情報Lにおいては、「スポーツ」に対して項目値「0.1」が対応付けられており、「アニメ」に対して項目値「0.2」が対応付けられており、「雑誌」に対して項目値「0.7」が対応付けられている。この例では、対象ユーザUの嗜好情報Lは、対象ユーザUがスポーツ及びアニメよりも雑誌を好むことを示している。このようにして、対象ユーザUの嗜好情報Lが取得される。 Here, an example of a method of acquiring preference information by the first acquisition unit 112 will be described using the example shown in FIG. FIG. 3 is a schematic diagram showing a flow of acquiring item values of the genre "sports" using the first model M11 shown in FIG. The first acquisition unit 112 inputs the basic information of the target user U, the usage information of the content providing service, and the usage information of other services acquired from the user attribute storage unit 10a to the first model M11. Then, the first acquisition unit 112 acquires the item value (here, “0.1” as an example) corresponding to “sports” as the output result from the first model M11. Similar to the first model M11, the first acquisition unit 112 obtains the output results from the other first models M1 (first model M12, first model M13, etc.) as item values corresponding to "animation" and "magazine". to get as In the preference information L of the target user U thus obtained, the item value "0.1" is associated with "sports", and the item value "0.2" is associated with "animation". , and the item value "0.7" is associated with "magazine". In this example, the target user U's preference information L indicates that the target user U prefers magazines to sports and anime. Thus, the preference information L of the target user U is acquired.
 ユーザスコア算出部114は、各候補コンテンツに対するユーザスコアを算出する。ユーザスコアは、各候補コンテンツに対するユーザの嗜好の度合いを示すスコアである。すなわち、ユーザスコアが高い候補コンテンツであるほど、ユーザに好まれていることを示す。ユーザスコア算出部114は、第2モデルM2によって、候補コンテンツ毎に、対象ユーザのユーザスコアを算出する。 The user score calculation unit 114 calculates a user score for each candidate content. The user score is a score that indicates the degree of user preference for each candidate content. In other words, a candidate content with a higher user score is more preferred by the user. The user score calculation unit 114 calculates the user score of the target user for each candidate content using the second model M2.
 例えば、ユーザスコア算出部114は、各コンテンツを一意に特定するためのコンテンツIDを記憶するコンテンツID記憶部10bを参照することにより、全ての候補コンテンツのコンテンツIDを取得し、各コンテンツIDに対応するコンテンツのユーザスコアを取得する。 For example, the user score calculation unit 114 acquires the content IDs of all candidate contents by referring to the content ID storage unit 10b that stores content IDs for uniquely identifying each content, and obtains content IDs corresponding to each content ID. Get the user score for the content you want.
 第2モデルM2は、後述する第2モデル生成部115により生成(更新する場合を含む。以下同じ。)される機械学習モデルである。より具体的には、第2モデルM2は、第1取得部112によって取得されたユーザ属性ベクトルz(嗜好情報)を入力して各候補コンテンツに対するユーザスコアを出力するモデルである。第2モデルM2は、コンテンツがユーザに選択されることに対して報酬を付与する強化学習によって生成される。本実施形態では、嗜好情報L(図3参照)がユーザ属性ベクトルzとして利用される。すなわち、ユーザ属性ベクトルzは、嗜好情報Lの各項目値を要素として含むベクトルである。一例として、第2モデルM2は、強化学習アルゴリズムの一種であるバンディットアルゴリズム(例えば、LinUCB等の文脈バンディット(Contextual bandit)アルゴリズム等)等を用いて得られる。第2モデルM2は、一例として、下記の(式1)により表現され得る。第2モデルM2は、候補コンテンツa毎のパラメータ(θ及びA)からなる。パラメータθ及びAは、強化学習によって適宜更新されるパラメータである。これらのパラメータの詳細(初期値及び更新方法)については後述する。
Figure JPOXMLDOC01-appb-M000001
The second model M2 is a machine learning model generated (including the case of updating; the same applies hereinafter) by the second model generation unit 115, which will be described later. More specifically, the second model M2 is a model that inputs the user attribute vector z (preference information) acquired by the first acquisition unit 112 and outputs the user score for each candidate content. A second model M2 is generated by reinforcement learning that rewards the user for selecting content. In this embodiment, the preference information L (see FIG. 3) is used as the user attribute vector z. That is, the user attribute vector z is a vector containing each item value of the preference information L as an element. As an example, the second model M2 is obtained using a bandit algorithm (for example, a contextual bandit algorithm such as LinUCB), which is a type of reinforcement learning algorithm. The second model M2 can be expressed by the following (Equation 1) as an example. The second model M2 consists of parameters (θ a and A a ) for each candidate content a. The parameters θ a and A a are parameters that are appropriately updated by reinforcement learning. Details of these parameters (initial values and update methods) will be described later.
Figure JPOXMLDOC01-appb-M000001
 (式1)において、「a」はコンテンツIDを示す識別子である。「pt,a」は、候補コンテンツa(コンテンツID「a」に対応するコンテンツ)のユーザスコアを示す。「z」は上述したユーザ属性ベクトルを示す。「θ」は、ユーザ属性ベクトルzと同一次元の単位ベクトルである。θは、ユーザにコンテンツを提示した際に当該コンテンツがユーザ(ユーザ属性ベクトルzを持つユーザ)に選択される確率が高いほど「θ z」が大きくなるように学習(更新)される。「θ z」は、バンディットアルゴリズムにおける「活用」に寄与する項(活用項)である。 In (Expression 1), "a" is an identifier indicating a content ID. “ pt,a ” indicates the user score of candidate content a (content corresponding to content ID “a”). "z" indicates the user attribute vector described above. “θ a ” is a unit vector having the same dimension as the user attribute vector z. θa is learned (updated) so that when the content is presented to the user, the higher the probability that the content will be selected by the user (the user having the user attribute vector z), the larger the value of θaTz becomes. . “θ a T z” is a term (utilization term) that contributes to “utilization” in the bandit algorithm.
 (式1)の第2項は、バンディットアルゴリズムにおける「探索」に寄与する項(探索項)である。「α」は、探索項の重みであり任意に定められる。αの大きさを調整することにより、活用と探索との割合を調整することができる。 The second term in (Formula 1) is a term (search term) that contributes to the "search" in the bandit algorithm. “α” is the weight of the search term and is arbitrarily determined. By adjusting the magnitude of α, the ratio of exploitation to search can be adjusted.
 ユーザスコア算出部114は、対象ユーザのユーザ属性ベクトルzを、各候補コンテンツに対応する第2モデルM2(すなわち、各候補コンテンツに対応する(式1))に入力することによって、対象ユーザに対する、候補コンテンツ毎のユーザスコアを算出する。ユーザスコア算出部114は、算出した候補コンテンツ毎のユーザスコアを示す情報と、対象ユーザのユーザIDとが関連付けられた情報を、推奨度算出部118に出力する。 The user score calculation unit 114 inputs the user attribute vector z of the target user into the second model M2 corresponding to each candidate content (i.e., (equation 1) corresponding to each candidate content). A user score is calculated for each candidate content. The user score calculation unit 114 outputs information indicating the calculated user score for each candidate content and information in which the user ID of the target user is associated to the recommendation degree calculation unit 118 .
 第2取得部116は、コンテンツ提供サービスにおけるユーザの行動結果を示すユーザログを取得する。ユーザログは、コンテンツ提供サービスを利用したユーザのユーザIDと、ユーザ端末20に表示されたコンテンツを示す情報(本実施形態ではコンテンツID)と、を含む。当該ユーザがユーザ端末20に表示されたコンテンツを選択した場合には、ユーザログは、選択されたコンテンツを示す情報(本実施形態ではコンテンツID)を更に含む。第2取得部116により取得された複数のユーザに関する所定期間分のユーザログは、ユーザログ記憶部10cに記憶される。 The second acquisition unit 116 acquires a user log indicating the user's action results in the content providing service. The user log includes the user ID of the user who used the content providing service and information indicating the content displayed on the user terminal 20 (content ID in this embodiment). When the user selects content displayed on the user terminal 20, the user log further includes information indicating the selected content (content ID in this embodiment). The user logs for a predetermined period regarding multiple users acquired by the second acquisition unit 116 are stored in the user log storage unit 10c.
 第2モデル生成部115は、ユーザへのコンテンツのレコメンドに対するユーザの行動結果を示すユーザログに基づいて、上述した第2モデルM2を生成する。本実施形態では、第2モデル生成部115は、ユーザログ記憶部10cを参照することにより、第2モデルM2の生成に必要となるユーザログを取得することができる。なお、第2取得部116は、コンテンツ提供サービスがユーザに利用される度に、ユーザログを適時に取得し、ユーザログ記憶部10cに記憶させてもよい。そして、第2モデル生成部115は、新たなユーザログがユーザログ記憶部10cに記憶される度に(或いは、予め定められた一定期間毎に)、新たに得られたユーザログを用いて第2モデルM2を更新してもよい。このような処理によれば、第2モデルM2を随時適切にアップデートすることができる。 The second model generation unit 115 generates the above-described second model M2 based on the user log indicating the user's action results in response to content recommendations to the user. In this embodiment, the second model generation unit 115 can acquire the user log necessary for generating the second model M2 by referring to the user log storage unit 10c. The second acquisition unit 116 may acquire the user log timely each time the content providing service is used by the user, and store it in the user log storage unit 10c. Then, every time a new user log is stored in the user log storage unit 10c (or every predetermined period of time), the second model generation unit 115 uses the newly obtained user log to create the second model. 2 model M2 may be updated. According to such processing, the second model M2 can be appropriately updated at any time.
 上述したように、本実施形態では、第2モデルM2は、候補コンテンツa毎のパラメータθを含んでいる((式1)参照)。第2モデル生成部115は、候補コンテンツaが対象ユーザにより選択された際に候補コンテンツaに対して報酬値rを付与し、報酬値rと当該ユーザのユーザ属性ベクトルzとに基づいて候補コンテンツaに対応するパラメータθを更新する。このような強化学習によれば、どのような候補コンテンツaを提示すれば対象ユーザにコンテンツを選択させることができるか否かについての正解データがない状況において、対象ユーザへのレコメンドに適したコンテンツ(ユーザが好む可能性の高いコンテンツ)を決定するための指標(ユーザスコア「pt,a」)を導出可能なモデルを生成することができる。 As described above, in the present embodiment, the second model M2 includes the parameter θa for each candidate content a (see (Equation 1)). The second model generation unit 115 gives a reward value ra to the candidate content a when the candidate content a is selected by the target user, and based on the reward value ra and the user attribute vector z of the user, Update the parameter θ a corresponding to candidate content a. According to such reinforcement learning, in a situation where there is no correct data as to whether or not the candidate content a should be presented to allow the target user to select the content, content suitable for recommendation to the target user can be obtained. A model can be generated that can derive a metric (user score “p t,a ”) for determining (content that a user is likely to like).
 上記の強化学習によるパラメータの更新方法について詳細に説明する。ここでは一例として、上述したLinUCBアルゴリズムを用いた更新方法について説明する。まず、第2モデル生成部115は、(式1)に示される候補コンテンツa毎のパラメータθ及びAを、下記の(式2)~(式4)に基づいて設定する。
Figure JPOXMLDOC01-appb-M000002
A method of updating parameters by the above reinforcement learning will be described in detail. Here, as an example, an update method using the LinUCB algorithm described above will be described. First, the second model generation unit 115 sets parameters θ a and A a for each candidate content a shown in (Equation 1) based on the following (Equation 2) to (Equation 4).
Figure JPOXMLDOC01-appb-M000002
 パラメータbは、パラメータθに含まれるパラメータである。(式2)は、パラメータbの初期値を示す。(式2)における「0d×1」は、ユーザ属性ベクトルzと同一の次元(d)のゼロベクトルである。(式3)は、パラメータAの初期値を示す。(式3)における「I」は、d次の単位行列である。(式4)に基づいて、パラメータθが算出される。(式2)~(式4)に示されるように、パラメータθの初期値はゼロベクトルである。 Parameter b a is a parameter included in parameter θ a . (Formula 2) shows the initial value of the parameter ba . “0 d×1 ” in (Formula 2) is a zero vector of the same dimension (d) as the user attribute vector z. (Formula 3) shows the initial value of the parameter Aa . “I d ” in (Formula 3) is a d-th order unit matrix. The parameter θa is calculated based on (Equation 4). As shown in Equations 2-4, the initial value of the parameter θa is the zero vector.
 第2モデル生成部115は、1回分の対象ユーザの行動(すなわち、ユーザログ1つ分)毎に、下記の(式5)及び(式6)により、該当する候補コンテンツaのパラメータA及びbを更新(学習)する。
Figure JPOXMLDOC01-appb-M000003
The second model generation unit 115 calculates parameters A a and Update (learn) b a .
Figure JPOXMLDOC01-appb-M000003
 (式5)により、「ユーザ属性ベクトルzを有する対象ユーザが、候補コンテンツaを見た(当該コンテンツが選択されなかった場合も含む)」という情報が、パラメータAに加わる。また、(式4)により、当該情報がパラメータθに反映される。 By (Formula 5), the information that "the target user having the user attribute vector z has viewed the candidate content a (including the case where the content is not selected)" is added to the parameter Aa. Further, the information is reflected in the parameter θa by (Equation 4).
 (式6)により、パラメータbが、報酬値rと対象ユーザのユーザ属性ベクトルzとに基づいて更新される。なお、ここでの「更新」は、更新処理の前後で値が変化しない場合も含む。パラメータbが更新されることにより、パラメータθも、報酬値rと対象ユーザのユーザ属性ベクトルzとに基づいて更新されることになる((式4)参照)。 By (Equation 6), the parameter b a is updated based on the reward value r a and the user attribute vector z of the target user. In addition, "update" here includes the case where the value does not change before and after the update process. By updating the parameter b a , the parameter θ a is also updated based on the reward value r a and the user attribute vector z of the target user (see (Equation 4)).
 ここで、第2モデル生成部115は、候補コンテンツaがユーザ属性ベクトルzを有する対象ユーザにより選択された場合に、候補コンテンツaが対象ユーザにより選択されなかった場合よりも大きい報酬値rを付与する。一例として、候補コンテンツaが選択された場合、第2モデル生成部115は候補コンテンツaの報酬値rを0より大きい値に設定する。一方、候補コンテンツaが選択されなかった場合、第2モデル生成部115は候補コンテンツaの報酬値rを0に設定する。言い換えれば、候補コンテンツaが選択されなかった場合、第2モデル生成部115は候補コンテンツaに対して報酬を付与しない。 Here, the second model generation unit 115 sets a larger reward value r a when the candidate content a is selected by the target user having the user attribute vector z than when the candidate content a is not selected by the target user. Give. As an example, when the candidate content a is selected, the second model generation unit 115 sets the reward value ra of the candidate content a to a value greater than zero. On the other hand, if the candidate content a is not selected, the second model generation unit 115 sets the reward value ra of the candidate content a to zero. In other words, if the candidate content a is not selected, the second model generation unit 115 does not award the reward to the candidate content a.
 以上説明した第2モデル生成部115の処理により、θは、候補コンテンツaを表示させた場合に対象ユーザが当該コンテンツを選択する確率が高いほど(式1)における活用項「θ z」が大きくなるように、学習(更新)される。 As a result of the processing of the second model generation unit 115 described above, the higher the probability that the target user will select the candidate content a when the candidate content a is displayed, the more the utilization term “θ a T z ” is learned (updated) so as to increase.
 多様性スコア算出部117は、複数の候補コンテンツのうちから対象ユーザにより好まれる可能性の高いコンテンツを第1コンテンツとして選択し、複数の候補コンテンツのうち第1コンテンツ以外のコンテンツである各第2コンテンツについて、多様性スコアを算出する。多様性スコアは、第1コンテンツと第2コンテンツとの類似度が小さいほど高くなるスコアである。本実施形態では、第1コンテンツは、ユーザスコアが最大となるコンテンツである。ユーザスコアは、対象ユーザ毎に異なるので、ユーザスコアが最大となるコンテンツは、対象ユーザ毎に異なり得る。つまり、第1コンテンツ及び第2コンテンツは、対象ユーザ毎に異なり得る。 The diversity score calculation unit 117 selects, from among the plurality of candidate contents, content that is highly likely to be preferred by the target user as the first content, and selects each second content other than the first content from among the plurality of candidate contents. Calculate a diversity score for your content. The diversity score is a score that increases as the degree of similarity between the first content and the second content decreases. In this embodiment, the first content is the content with the highest user score. Since the user score differs for each target user, the content with the maximum user score may differ for each target user. That is, the first content and the second content may differ for each target user.
(第1の例)
 本例では、多様性スコア算出部117は、利用実績情報を取得し、利用実績情報に基づいて、第1コンテンツに対する第2コンテンツ毎の多様性スコアを算出する。利用実績情報は、各候補コンテンツに対する対象ユーザによる利用実績に関する情報である。本例では、利用実績情報は、ユーザログ記憶部10cに保存されているユーザログである。以下、多様性スコアの算出方法の具体例について説明する。
(first example)
In this example, the diversity score calculation unit 117 acquires usage record information and calculates a diversity score for each second content with respect to the first content based on the usage record information. The usage history information is information about the usage history of each candidate content by the target user. In this example, the usage record information is a user log stored in the user log storage unit 10c. A specific example of a diversity score calculation method will be described below.
 多様性スコア算出部117は、まず、ユーザログ記憶部10cを参照することにより、対象ユーザのユーザIDに関連付けられた、対象ユーザが選択したコンテンツを示す情報(本実施形態ではコンテンツID)を、利用実績情報として取得する。 The diversity score calculation unit 117 first refers to the user log storage unit 10c to obtain information (content ID in this embodiment) indicating the content selected by the target user, which is associated with the user ID of the target user. Acquired as usage history information.
 そして、多様性スコア算出部117は、コンテンツ特徴量(以下、「コンテンツ特徴量」という)を算出する。コンテンツ特徴量は、2つの候補コンテンツ間の相対的な特徴量である。一例として、多様性スコア算出部117は、全ての候補コンテンツにおいて、とり得る全ての2つの候補コンテンツの組合せに対するコンテンツ特徴量を算出する。そして、多様性スコア算出部117は、算出した各組合せのコンテンツ特徴量に基づいて、各組合せの類似度を算出する。 Then, the diversity score calculation unit 117 calculates a content feature amount (hereinafter referred to as "content feature amount"). A content feature is a relative feature between two candidate contents. As an example, the diversity score calculation unit 117 calculates content feature amounts for all possible combinations of two candidate contents for all candidate contents. Then, the diversity score calculation unit 117 calculates the similarity of each combination based on the calculated content feature amount of each combination.
 多様性スコア算出部117は、一例として、Matrix Factorizationを用いて、コンテンツ特徴量を算出する。具体的には、多様性スコア算出部117は、Matrix Factorizationを用いて、選択履歴行列を、選択履歴行列の因子行列であるコンテンツ特徴行列及びユーザ特徴行列に因数分解し、得られたコンテンツ特徴行列に基づいて、各組合せのコンテンツ特徴量を算出する。 As an example, the diversity score calculation unit 117 uses Matrix Factorization to calculate content feature amounts. Specifically, the diversity score calculation unit 117 uses Matrix Factorization to factorize the selection history matrix into a content feature matrix and a user feature matrix, which are factor matrices of the selection history matrix, and obtain a content feature matrix Based on, the content feature amount of each combination is calculated.
 多様性スコア算出部117は、Matrix Factorizationの適用の一例として、下記の(式7)を用いる。
Figure JPOXMLDOC01-appb-M000004
The diversity score calculation unit 117 uses the following (formula 7) as an example of application of matrix factorization.
Figure JPOXMLDOC01-appb-M000004
 (式7)において、「rui」は、選択履歴行列の各要素を示す。選択履歴行列は、各ユーザが候補コンテンツの各々を選択したか否かの履歴を示す行列である。選択履歴行列は、複数のユーザが行ベクトル(横ベクトル)として、複数のコンテンツが列ベクトル(縦ベクトル)として並べられた行列である。すなわち、選択履歴行列は、ユーザが各コンテンツを選択したか否かの履歴がユーザ毎に表された行列である。 In (Formula 7), "r ui " indicates each element of the selection history matrix. The selection history matrix is a matrix showing the history of whether or not each user has selected each of the candidate contents. The selection history matrix is a matrix in which multiple users are arranged as row vectors (horizontal vectors) and multiple contents are arranged as column vectors (vertical vectors). That is, the selection history matrix is a matrix in which the history of whether or not the user has selected each content is represented for each user.
 「x」は、コンテンツ特徴行列の行ベクトルを示す。コンテンツ特徴行列は、予め定められたf次の特徴次元が行ベクトル(横ベクトル)として、複数のコンテンツが列ベクトル(縦ベクトル)として並べられた行列である。コンテンツ特徴行列の各要素は、コンテンツ特徴量にあたる。「y」は、ユーザ特徴行列の行ベクトルを示す。ユーザ特徴行列は、複数のユーザが行ベクトル(横ベクトル)として、f次の特徴次元が列ベクトル(縦ベクトル)として並べられた行列である。 "x" indicates a row vector of the content feature matrix. The content feature matrix is a matrix in which a predetermined f-th feature dimension is arranged as a row vector (horizontal vector) and a plurality of contents are arranged as a column vector (vertical vector). Each element of the content feature matrix corresponds to a content feature amount. "y" indicates the row vector of the user feature matrix. The user feature matrix is a matrix in which a plurality of users are arranged as row vectors (horizontal vectors) and f-th order feature dimensions are arranged as column vectors (vertical vectors).
 多様性スコア算出部117は、ランダムな値で行ベクトル「x」及び「y」を作成し、(式7)を満たしつつ、最小値となるコンテンツ特徴行列及びユーザ特徴行列が得られるように、適宜計算を行う。(式7)の第1項は、選択履歴行列の因数分解に寄与する項である。すなわち、(式7)の第1項により、コンテンツ特徴行列とユーザ特徴行列とが乗算された結果である行列が選択履歴行列にほぼ等しい行列となるように、ベクトル「x」及び「y」が決定される。(式7)の第2項は、コンテンツ特徴行列及びユーザ特徴行列の正則化項である。(式7)の第2項により、(式7)において過学習が防止される。このようにして、コンテンツ特徴行列の各要素であるコンテンツ特徴量が得られる。なお、(式7)を用いたMatrix Factorizationについては、「Collaborative Filtering for Implicit Feedback Datasets、Yifan Hu,Yehuda Koren,Chris Volinsky、Data Mining 2008.」に詳細に記載されている。 Diversity score calculation unit 117 creates row vectors “x” and “y” with random values, and satisfies (Equation 7) so that the content feature matrix and user feature matrix with the minimum values are obtained. Calculate accordingly. The first term in (Equation 7) is a term that contributes to factorization of the selection history matrix. That is, according to the first term of (Equation 7), the vectors "x" and "y" are adjusted so that the matrix obtained by multiplying the content feature matrix and the user feature matrix is approximately equal to the selection history matrix. It is determined. The second term in (Formula 7) is a regularization term for the content feature matrix and the user feature matrix. The second term of (Equation 7) prevents over-learning in (Equation 7). In this way, a content feature amount, which is each element of the content feature matrix, is obtained. Matrix Factorization using (Formula 7) is described in detail in "Collaborative Filtering for Implicit Feedback Datasets, Yifan Hu, Yehuda Koren, Chris Volinsky, Data Mining 2008."
 図4は、Matrix Factorizationの適用を説明するための模式図である。図4に示される例では、選択履歴行列rと、コンテンツ特徴行列Xと、ユーザ特徴行列Yとが示されている。コンテンツ特徴行列X及びユーザ特徴行列Yは、(式7)を用いたMatrix Factorizationの適用により因数分解された選択履歴行列rの因子行列である。選択履歴行列rにおいては、ユーザU1,U2,U3が行ベクトルとして、候補コンテンツC1,C2,C3が列ベクトルとして並べられている。選択履歴行列rにおいては、選択履歴行列の要素「1」は、ユーザがコンテンツを選択したことを示し、要素「0」は、ユーザがコンテンツを選択しなかったことを示す。コンテンツ特徴行列Xにおいては、特徴次元V1,V2,V3が行ベクトルとして、候補コンテンツC1,C2,C3が列ベクトルとして並べられている。ユーザ特徴行列Yにおいては、ユーザU1,U2,U3が行ベクトルとして、特徴次元V1,V2,V3が列ベクトルとして並べられている。以上の(式7)を用いたMatrix Factorizationの適用により、コンテンツ特徴行列Xの各要素であるコンテンツ特徴量が得られる。 Fig. 4 is a schematic diagram for explaining the application of Matrix Factorization. In the example shown in FIG. 4, a selection history matrix r, a content feature matrix X, and a user feature matrix Y are shown. The content feature matrix X and the user feature matrix Y are factor matrices of the selection history matrix r factorized by applying Matrix Factorization using (Formula 7). In the selection history matrix r, users U1, U2, and U3 are arranged as row vectors, and candidate contents C1, C2, and C3 are arranged as column vectors. In the selection history matrix r, an element "1" of the selection history matrix indicates that the user selected the content, and an element "0" indicates that the user did not select the content. In the content feature matrix X, feature dimensions V1, V2, and V3 are arranged as row vectors, and candidate contents C1, C2, and C3 are arranged as column vectors. In the user feature matrix Y, users U1, U2, and U3 are arranged as row vectors, and feature dimensions V1, V2, and V3 are arranged as column vectors. By applying Matrix Factorization using the above (formula 7), the content feature quantity, which is each element of the content feature matrix X, is obtained.
 続いて、多様性スコア算出部117は、算出した各組合せのコンテンツ特徴量に基づいて、各組合せの類似度を算出し、算出した類似度に基づいて、多様性スコアを算出する。図5は、多様性スコアを算出する一連の流れを説明するための模式図である。以下、図5に示される例を用いて、各組合せの類似度、及び多様性スコアの算出方法について説明する。 Subsequently, the diversity score calculation unit 117 calculates the similarity of each combination based on the calculated content feature amount of each combination, and calculates the diversity score based on the calculated similarity. FIG. 5 is a schematic diagram for explaining a series of flows for calculating a diversity score. A method for calculating the similarity of each combination and the diversity score will be described below using the example shown in FIG.
 まず、多様性スコア算出部117は、図5に示される手順P1において、コンテンツ特徴行列Xと、コンテンツ特徴行列Xの転置行列Xとのコサイン類似度を算出する(コサイン類似度算出処理)。その結果、類似度行列Hが得られる。類似度行列Hにおいては、候補コンテンツC1,C2,C3が行ベクトル及び列ベクトルとして並べられている。類似度行列Hのi行目且つj列目の要素は、i行目に対応する候補コンテンツとj列目に対応する候補コンテンツとの類似度にあたる。類似度は、-1から1の間の値をとり、値が大きいほど2つの候補コンテンツが互いに類似していることを示す。例えば、図5において、候補コンテンツC1と候補コンテンツC2との類似度は「0.37」である。なお、候補コンテンツC1と候補コンテンツC1との類似度等、同一の候補コンテンツ同士の類似度は、とり得る最大の値である「1.0」である。 First, in procedure P1 shown in FIG. 5, the diversity score calculator 117 calculates cosine similarity between the content feature matrix X and the transposed matrix XT of the content feature matrix X ( cosine similarity calculation process). As a result, a similarity matrix H is obtained. In the similarity matrix H, the candidate contents C1, C2, C3 are arranged as row vectors and column vectors. The i-th row and j-th column element of the similarity matrix H corresponds to the similarity between the candidate content corresponding to the i-th row and the candidate content corresponding to the j-th column. The similarity takes a value between -1 and 1, with a higher value indicating that the two candidate contents are more similar to each other. For example, in FIG. 5, the degree of similarity between candidate content C1 and candidate content C2 is "0.37". Note that the degree of similarity between the same candidate contents, such as the degree of similarity between candidate contents C1 and candidate contents C1, is the maximum possible value of "1.0".
 続いて、多様性スコア算出部117は、図5に示されるように、手順P2において、多様性スコア算出部117は、類似度行列Hの各要素(類似度)に「1」を加算し、「1」が加算された各要素の逆数をとる変換を行う。 Subsequently, as shown in FIG. 5, in procedure P2, the diversity score calculation unit 117 adds "1" to each element (similarity) of the similarity matrix H, A conversion is performed that takes the reciprocal of each element to which "1" is added.
 そして、手順P3において、多様性スコア算出部117は、下記の(式8)を用いて、各組み合わせに対応するスコアf(x)を算出する。
Figure JPOXMLDOC01-appb-M000005
Then, in procedure P3, the diversity score calculation unit 117 calculates a score f(x) corresponding to each combination using (Equation 8) below.
Figure JPOXMLDOC01-appb-M000005
 上記手順P2の変換を行った場合、変換後の各要素は、0.5から無限大の間の値をとる。よって、変換前の要素(類似度)が小さい値であるほど、変換後の要素は無限大に近づいてしまう。多様性スコア算出部117は、手順P2の変換後の各要素をxとして(式8)に入力することで、手順P2の変換後の各要素を、0から1の間の値をとるように変換する。つまり、類似度に対して手順P2及び手順P3の処理を行うことで、正規化されたスコアを得ることができる。なお、候補コンテンツC1と候補コンテンツC1との組合せ等、同一の候補コンテンツの組合せに対する上記スコアは、最小値である「0」となる。 When the conversion of procedure P2 above is performed, each element after conversion takes a value between 0.5 and infinity. Therefore, the smaller the element (similarity) before conversion, the closer the element after conversion is to infinity. Diversity score calculation unit 117 inputs each element after conversion in procedure P2 as x into (Formula 8), so that each element after conversion in procedure P2 takes a value between 0 and 1. Convert. In other words, a normalized score can be obtained by performing the procedures P2 and P3 on the similarity. Note that the score for the combination of the same candidate content, such as the combination of the candidate content C1 and the candidate content C1, is the minimum value "0".
 以上のように、多様性スコア算出部117は、上記各組合せに対応する上記スコアを算出する。そして、多様性スコア算出部117は、ユーザスコア算出部114から受け取った各候補コンテンツに対するユーザスコアを参照して、ユーザスコアが最も高い候補コンテンツを第1コンテンツとし、その他の候補コンテンツを第2コンテンツとする。そして、多様性スコア算出部117は、各組合せに対応する上記スコアを参照して、第1コンテンツに対する第2コンテンツ毎の上記スコアを、第2コンテンツ毎の多様性スコアとして得る。 As described above, the diversity score calculation unit 117 calculates the score corresponding to each combination. Then, the diversity score calculation unit 117 refers to the user score for each candidate content received from the user score calculation unit 114, sets the candidate content with the highest user score as the first content, and sets the other candidate content as the second content. and Then, the diversity score calculation unit 117 refers to the score corresponding to each combination, and obtains the score for each second content with respect to the first content as the diversity score for each second content.
 (第2の例)
 本例では、多様性スコア算出部117は、コンテンツ属性情報を取得し、各候補コンテンツの属性をベクトル化する。そして、多様性スコア算出部117は、とり得る全ての2つの候補コンテンツの組合せの距離に基づいて、多様性スコアを算出する。コンテンツ属性情報は、コンテンツの属性を示す情報であって、予め定められたコンテンツの複数の項目を含んでいる。コンテンツの項目の例としては、コンテンツのジャンル、コンテンツのサブジャンル、及びコンテンツの価格が挙げられる。
(Second example)
In this example, the diversity score calculator 117 acquires content attribute information and vectorizes the attributes of each candidate content. Then, the diversity score calculation unit 117 calculates a diversity score based on the distance of all possible combinations of two candidate contents. The content attribute information is information indicating attributes of content, and includes a plurality of items of predetermined content. Examples of content items include content genres, content sub-genres, and content prices.
 一例として、多様性スコア算出部117は、コンテンツID記憶部10bを参照することにより、全ての候補コンテンツのコンテンツIDを取得し、各コンテンツIDに対応するコンテンツ属性情報を、コンテンツ属性記憶部10dから取得する。コンテンツ属性記憶部10dには、上述したような各項目を含むコンテンツ属性情報が、コンテンツID毎に記憶されている。多様性スコア算出部117は、コンテンツ属性情報に基づいて、各候補コンテンツの属性をベクトル化する。多様性スコア算出部117は、例えば、各項目を予め定められたルール(例えば、コンテンツのジャンル「野球」を「0.1」、コンテンツのサブジャンル「アニメ」を「0.3」、及びコンテンツの価格「0-500円」を「0.7」に設定するといった取り決め)に基づいて適当にラベル付け(数値化)することにより、例えば(野球,アニメ,0-500円,…)といったコンテンツの属性を有するコンテンツのベクトルとして、(0.1,0.3,0.7,…)のような数値ベクトル(ベクトル)を得る。 As an example, the diversity score calculation unit 117 acquires the content IDs of all candidate content by referring to the content ID storage unit 10b, and stores the content attribute information corresponding to each content ID from the content attribute storage unit 10d. get. Content attribute information including each item as described above is stored for each content ID in the content attribute storage unit 10d. Diversity score calculation unit 117 vectorizes the attributes of each candidate content based on the content attribute information. Diversity score calculation unit 117, for example, determines each item according to a predetermined rule (for example, the content genre “baseball” is “0.1”, the content sub-genre “anime” is “0.3”, and the content price is “0 -500 yen" is set to "0.7"), by appropriately labeling (quantifying) content with content attributes such as (baseball, anime, 0-500 yen, ...) As a vector, we get a numerical vector (vector) such as (0.1, 0.3, 0.7, ...).
 続いて、多様性スコア算出部117は、各組合せにおいて、2つの候補コンテンツのベクトル同士の距離を算出する。ここでは、候補コンテンツC1と候補コンテンツC2との距離を算出する例を用いて、2つの候補コンテンツのベクトル同士の距離の算出方法について説明する。一例として、候補コンテンツC1の各項目(野球,アニメ,0-500円,…)に対するベクトルは、(0.1,0.3,0.4,…)であって、候補コンテンツC2の各項目(野球,スポーツ用品,1000-2000円,…)に対するベクトルは、(0.1,0.5,0.1,…)である。多様性スコア算出部117は、下記の(式9)を用いて、候補コンテンツC1と候補コンテンツC2との距離d12を算出する。
Figure JPOXMLDOC01-appb-M000006
Subsequently, the diversity score calculation unit 117 calculates the distance between the vectors of the two candidate contents in each combination. Here, using an example of calculating the distance between candidate content C1 and candidate content C2, a method for calculating the distance between vectors of two candidate contents will be described. As an example, the vector for each item of candidate content C1 (baseball, anime, 0-500 yen, . . . ) is (0.1, 0.3, 0.4, . The vector for 1000-2000 yen,...) is (0.1, 0.5, 0.1,...). The diversity score calculator 117 calculates the distance d12 between the candidate content C1 and the candidate content C2 using the following (Equation 9 ).
Figure JPOXMLDOC01-appb-M000006
 (式9)において、「C」は、候補コンテンツC1のベクトルを示し、「C」は、候補コンテンツC2のベクトルを示す。多様性スコア算出部117は、上述した候補コンテンツC1のベクトル及び候補コンテンツC2のベクトルを(式9)に入力することにより、距離d12を得る。 In (Formula 9), “C 1 ” indicates the vector of candidate content C1, and “C 2 ” indicates the vector of candidate content C2. The diversity score calculation unit 117 obtains the distance d12 by inputting the vector of the candidate content C1 and the vector of the candidate content C2 described above into (Equation 9 ).
 多様性スコア算出部117は、(式9)を用いることにより、各組合せにおいて、2つの候補コンテンツのベクトル同士の距離を算出する。そして、多様性スコア算出部117は、算出した各距離を、例えば0から1の間の値をとるように従来公知の式等を用いて正規化してもよい。そして、多様性スコア算出部117は、上記第1例と同様に第1コンテンツを選択し、第1コンテンツに対する第2コンテンツ毎の距離を、第2コンテンツ毎の多様性スコアとして決定する。 The diversity score calculation unit 117 calculates the distance between the vectors of the two candidate contents in each combination by using (Formula 9). Then, the diversity score calculation unit 117 may normalize each calculated distance using a conventionally known formula or the like so as to take a value between 0 and 1, for example. Then, the diversity score calculator 117 selects the first content in the same manner as in the first example, and determines the distance of each second content from the first content as the diversity score of each second content.
 多様性スコア算出部117は、算出した多様性スコアを、推奨度算出部118に出力する。 The diversity score calculation unit 117 outputs the calculated diversity score to the recommendation degree calculation unit 118 .
 推奨度算出部118は、ユーザスコア算出部114により算出されたユーザスコアと、多様性スコア算出部117により算出された第2コンテンツ毎の多様性スコアとに基づいて、ユーザに対する推奨度を各候補コンテンツについて算出する。推奨度算出部118は、コンテンツのユーザスコアが高いほど高くなり且つ当該コンテンツの多様性スコアが高いほど高くなるように、推奨度を算出する。一例として、推奨度算出部118は、以下の(式10)を用いて、各候補コンテンツの推奨度を算出する。
Figure JPOXMLDOC01-appb-M000007
The recommendation level calculation unit 118 calculates the recommendation level for each candidate based on the user score calculated by the user score calculation unit 114 and the diversity score for each second content calculated by the diversity score calculation unit 117. Compute content. The recommendation degree calculation unit 118 calculates the recommendation degree so that the higher the user score of the content is, the higher the recommendation degree is, and the higher the diversity score of the content is, the higher the recommendation degree is. As an example, the recommendation level calculation unit 118 calculates the recommendation level of each candidate content using the following (Equation 10).
Figure JPOXMLDOC01-appb-M000007
 (式10)において、「Pt,a」は、各候補コンテンツの推奨度を示す。「d’pt,a_top,a」は、第1コンテンツに対する各第2コンテンツの多様性スコアを示す。「θ」は、第1項の重み且つ第2項の重みに寄与する定数であり任意に定められる。θの大きさを調整することにより、推奨度Pt,aに対するユーザスコアの寄与の度合いと多様性スコアによる寄与の度合いとの割合を調整することができる。 In (Formula 10), “P t,a ” indicates the recommendation level of each candidate content. "d' pt,a_top,a " indicates the diversity score of each secondary content relative to the primary content. "θ" is a constant that contributes to the weight of the first term and the weight of the second term, and is arbitrarily determined. By adjusting the magnitude of θ, it is possible to adjust the ratio between the degree of contribution of the user score and the degree of contribution of the diversity score to the degree of recommendation P t,a .
 推奨度算出部118は、候補コンテンツ毎の推奨度を算出する。具体的には、推奨度算出部118は、第1コンテンツ(複数の候補コンテンツのうち最もユーザスコアが高い候補コンテンツ)については、第1コンテンツのユーザスコアと、第1コンテンツの多様性スコア(=0)を(式10)に入力することにより、第1コンテンツの推奨度を算出する。一方、推奨度算出部118は、第2コンテンツ(第1コンテンツ以外の候補コンテンツ)については、ユーザスコアと、第1コンテンツに対する第2コンテンツの多様性スコアを(式10)に入力することにより、各第2コンテンツの推奨度を算出する。推奨度算出部118は、各候補コンテンツの推奨度を示す情報を、決定部119に出力する。 The recommendation level calculation unit 118 calculates the recommendation level for each candidate content. Specifically, for the first content (candidate content with the highest user score among a plurality of candidate contents), the recommendation degree calculation unit 118 calculates the user score of the first content and the diversity score of the first content (= 0) into (Formula 10), the recommendation level of the first content is calculated. On the other hand, for the second content (candidate content other than the first content), the recommendation degree calculation unit 118 inputs the user score and the diversity score of the second content with respect to the first content into (Equation 10). A recommendation degree of each second content is calculated. Recommendation level calculation section 118 outputs information indicating the recommendation level of each candidate content to determination section 119 .
 決定部119は、推奨度算出部118により算出された推奨度に基づいて、対象ユーザに提示するコンテンツを決定する。決定部119は、推奨度が上位のコンテンツを、ユーザに提示するコンテンツとして決定する。一例として、決定部119は、推奨度の高い順に複数の候補コンテンツの順位付けを行い、上位N個(Nは予め定められた数)のコンテンツを、対象ユーザに提示するコンテンツとして決定する。決定部119は、対象ユーザに提示するコンテンツ及び順番を示す情報を、表示制御部120に出力する。 The determination unit 119 determines content to be presented to the target user based on the recommendation level calculated by the recommendation level calculation unit 118 . The determining unit 119 determines the content with the higher recommendation degree as the content to be presented to the user. As an example, the determining unit 119 ranks a plurality of candidate contents in descending order of recommendation, and determines the top N (N is a predetermined number) contents as contents to be presented to the target user. The determining unit 119 outputs information indicating the content to be presented to the target user and the order to the display control unit 120 .
 図6は、推奨度の算出からユーザに提示するコンテンツの決定までの一連の流れを示す模式図である。ユーザスコア算出部114は、各候補コンテンツのユーザスコアを算出する。図6に示される例では、ユーザスコア「pt,3」が最も高い。したがって、この場合、コンテンツID「3」が示すコンテンツが第1コンテンツとなり、それ以外の各コンテンツが第2コンテンツとなる。多様性スコア算出部117は、第1コンテンツ(コンテンツID「3」が示すコンテンツ)に対する各第2コンテンツの多様性スコアを算出する。続いて、推奨度算出部118は、(式10)を用いて、各候補コンテンツの推奨度を算出する。そして、決定部119は、推奨度に基づいて各候補コンテンツを順位付けし、提示の優先度(提示順)を決定する。なお、図6の「提示順」に示される数字はコンテンツIDである。「提示順」の上の位置にあるコンテンツほど提示順(レコメンドの優先度)が高いことを示している。図6に示される例では、コンテンツID「3」が示すコンテンツの推奨度が最も高く、コンテンツID「2」が示すコンテンツの推奨度がその次に高くなっている。 FIG. 6 is a schematic diagram showing a series of flows from calculation of the degree of recommendation to determination of content to be presented to the user. The user score calculator 114 calculates the user score of each candidate content. In the example shown in FIG. 6, the user score " pt,3 " is the highest. Therefore, in this case, the content indicated by the content ID "3" is the first content, and each other content is the second content. Diversity score calculation unit 117 calculates the diversity score of each second content with respect to the first content (content indicated by content ID “3”). Subsequently, the recommendation degree calculation unit 118 calculates the recommendation degree of each candidate content using (Formula 10). Then, the determination unit 119 ranks each candidate content based on the degree of recommendation, and determines the priority of presentation (order of presentation). It should be noted that the numbers shown in the "order of presentation" in FIG. 6 are content IDs. The higher the order of presentation, the higher the order of presentation (recommendation priority). In the example shown in FIG. 6, the content indicated by the content ID "3" has the highest recommendation level, and the content indicated by the content ID "2" has the second highest recommendation level.
 表示制御部120は、決定部119により決定された対象ユーザに提示するコンテンツ及び順番に従って、対象ユーザのユーザ端末20の表示部21に、コンテンツのリストを表示させる。 The display control unit 120 causes the display unit 21 of the user terminal 20 of the target user to display the content list according to the content and order to be presented to the target user determined by the determination unit 119 .
 次に、図7に示されるフローチャートを参照して、サーバ10の処理の一例について説明する。 Next, an example of the processing of the server 10 will be described with reference to the flowchart shown in FIG.
 まず、第1モデル生成部113が、上述した教師データを用いた機械学習を実行することにより、予め定められた複数のジャンルの各々に対応する複数の第1モデルM1(第1モデルM11~M13等)を生成する(ステップS1)。 First, the first model generation unit 113 executes machine learning using the above-described teacher data to generate a plurality of first models M1 (first models M11 to M13 etc.) is generated (step S1).
 続いて、要求受付部111が、ユーザ端末20からコンテンツ提供サービスへのアクセス要求を受け付ける(ステップS2)。続いて、第1取得部112が、ユーザ属性記憶部10aを参照することにより、アクセス要求の送信元であるユーザ端末20のユーザ(対象ユーザ)の嗜好情報を取得する(ステップS3)。 Subsequently, the request accepting unit 111 accepts a request for access to the content providing service from the user terminal 20 (step S2). Subsequently, the first acquisition unit 112 acquires the preference information of the user (target user) of the user terminal 20 who is the source of the access request by referring to the user attribute storage unit 10a (step S3).
 具体的には、第1取得部112は、対象ユーザのユーザIDを参照して、対象ユーザのユーザ属性情報(より詳細には、ユーザ属性記憶部10aに記憶されている対象ユーザの基礎情報、並びにコンテンツ提供サービス及び他のサービスの利用情報)を、第1モデル生成部113により生成された各第1モデルM1に入力する。そして、第1取得部112は、各第1モデルM1から出力される各ジャンルの項目値(図3参照)を対象ユーザの嗜好情報として取得する。 Specifically, the first acquisition unit 112 refers to the user ID of the target user, the user attribute information of the target user (more specifically, the basic information of the target user stored in the user attribute storage unit 10a, and usage information of the content providing service and other services) is input to each first model M1 generated by the first model generation unit 113 . Then, the first acquisition unit 112 acquires the item value (see FIG. 3) of each genre output from each first model M1 as the target user's preference information.
 続いて、第2モデル生成部115が、第2モデルM2((式1)参照)を、上述したユーザログから得られる情報を用いた機械学習によって生成する(ステップS4)。具体的には、第2モデル生成部115は、第1取得部112によって取得されたユーザ属性ベクトルzを入力とすると共に、ユーザにコンテンツを提示した際に当該コンテンツが当該ユーザに選択されることを報酬とする強化学習によって、第2モデルM2を生成する。 Subsequently, the second model generation unit 115 generates the second model M2 (see (Equation 1)) by machine learning using the information obtained from the user log described above (step S4). Specifically, the second model generation unit 115 receives the user attribute vector z acquired by the first acquisition unit 112 as an input, and when content is presented to the user, the content is selected by the user. A second model M2 is generated by reinforcement learning with a reward of .
 続いて、ユーザスコア算出部114が、第2モデル生成部115により生成された第2モデルM2を用いて、対象ユーザについての各候補コンテンツに対するユーザスコアを算出する(ステップS5)。具体的には、ユーザスコア算出部114は、対象ユーザのユーザ属性ベクトルzを、各候補コンテンツに対応する第2モデルM2(すなわち、各候補コンテンツに対応する(式1))に入力することによって、図6に示されるようなコンテンツID「1」~「a」が示す複数の候補コンテンツのそれぞれのユーザスコアpt,1~pt,aを算出する。 Subsequently, the user score calculation unit 114 calculates a user score for each candidate content for the target user using the second model M2 generated by the second model generation unit 115 (step S5). Specifically, the user score calculation unit 114 inputs the user attribute vector z of the target user into the second model M2 corresponding to each candidate content (that is, (Equation 1) corresponding to each candidate content). , user scores p t,1 to p t,a of a plurality of candidate contents indicated by content IDs “1” to “a” as shown in FIG. 6 are calculated.
 続いて、多様性スコア算出部117は、ユーザスコアが最大のコンテンツを第1コンテンツとし、それ以外の各コンテンツ(第2コンテンツ)について、第1コンテンツを基準とした多様性スコアを算出する(ステップS6)。例えば、多様性スコア算出部117は、ユーザログ記憶部10cを参照することにより対象ユーザの利用実績情報を取得し、全ての候補コンテンツの組合せの類似度を算出し、算出した各組合せの類似度に基づいて、(式8)によって表されるスコアを各組合せについて算出する(図4,5参照)。そして、多様性スコア算出部117は、各組合せに対応する上記スコアを参照して、第1コンテンツに対する第2コンテンツ毎の上記スコアを、第2コンテンツ毎の多様性スコアとして得る。図6に示される例では、多様性スコア算出部117は、第1コンテンツ(コンテンツID「3」が示すコンテンツ)を基準とした第2コンテンツ毎の多様性スコアd’13~d’a3を算出する。 Subsequently, the diversity score calculation unit 117 sets the content with the highest user score as the first content, and calculates the diversity score for each other content (second content) based on the first content (step S6). For example, the diversity score calculation unit 117 acquires the usage record information of the target user by referring to the user log storage unit 10c, calculates the similarity of all candidate content combinations, and calculates the similarity of each combination. , the score represented by (Equation 8) is calculated for each combination (see FIGS. 4 and 5). Then, the diversity score calculation unit 117 refers to the score corresponding to each combination, and obtains the score for each second content with respect to the first content as the diversity score for each second content. In the example shown in FIG. 6, the diversity score calculation unit 117 calculates diversity scores d' 13 to d' a3 for each second content based on the first content (the content indicated by the content ID "3"). do.
 続いて、推奨度算出部118が、ユーザスコア算出部114により算出されたユーザスコアと、多様性スコア算出部により算出された第2コンテンツ毎の多様性スコア(基準となる第1コンテンツ自身の多様性スコアは「0」)とに基づいて、対象ユーザに対する推奨度を候補コンテンツ毎に算出する(ステップS7)。図6に示される例では、ユーザスコアpt,1~pt,aと、第2コンテンツ毎の多様性スコアd’13~d’a3とに基づいて、対象ユーザに対する推奨度Pt,1~Pt,aを、候補コンテンツ(コンテンツID「1」~「a」に対応するコンテンツ)毎に算出する。 Next, the recommendation degree calculation unit 118 calculates the user score calculated by the user score calculation unit 114 and the diversity score for each second content calculated by the diversity score calculation unit (diversity of the first content itself as a reference). The degree of recommendation for the target user is calculated for each candidate content (step S7). In the example shown in FIG. 6, the recommendation level P t,1 for the target user is based on the user scores p t,1 to p t,a and the diversity scores d′ 13 to d′ a3 for each second content. ˜P t,a is calculated for each candidate content (contents corresponding to content IDs “1” to “a”).
 決定部119は、推奨度算出部118により算出された推奨度に基づいて、対象ユーザに提示するコンテンツ及び順番を決定する(ステップS8)。一例として、決定部119は、推奨度の高い順に各候補コンテンツの順位付けを行い、第1位から第N位までのコンテンツを、対象ユーザに提示するコンテンツとして決定する。 The determination unit 119 determines the content and order to be presented to the target user based on the recommendation level calculated by the recommendation level calculation unit 118 (step S8). As an example, the determining unit 119 ranks each candidate content in descending order of the degree of recommendation, and determines the first to N-ranked content as content to be presented to the target user.
 続いて、表示制御部120は、決定部119により決定された対象ユーザに提示するコンテンツ及び順番に従って、対象ユーザのユーザ端末20の表示部21に、対象ユーザに提示するコンテンツのリストを表示させる(ステップS9)。 Subsequently, the display control unit 120 causes the display unit 21 of the user terminal 20 of the target user to display a list of contents to be presented to the target user according to the content and the order to be presented to the target user determined by the determination unit 119 ( step S9).
 続いて、第2取得部116は、コンテンツ提供サービスにおけるユーザの行動結果を示すユーザログを取得する(ステップS10)。すなわち、第2取得部116は、ユーザ端末20の表示部21に表示された候補コンテンツをユーザが選択したか否かを示す結果情報であるユーザログを取得する。 Next, the second acquisition unit 116 acquires a user log indicating the user's action results in the content providing service (step S10). That is, the second acquisition unit 116 acquires the user log, which is result information indicating whether or not the user has selected the candidate content displayed on the display unit 21 of the user terminal 20 .
 続いて、第2モデル生成部115は、第2取得部116により取得されたユーザログに基づいて、(式2)~(式6)を用いて第2モデルM2を更新する(ステップS11)。ステップS11の処理により、第2モデルM2を随時適切にアップデートすることができる。以上が、サーバ10の処理の一例である。なお、同一の対象ユーザに対する、2回目以降のサーバ10の当該処理においては、ステップS4の処理は省略される。 Subsequently, the second model generation unit 115 updates the second model M2 using (Equation 2) to (Equation 6) based on the user log acquired by the second acquisition unit 116 (step S11). Through the process of step S11, the second model M2 can be appropriately updated at any time. The above is an example of the processing of the server 10 . Note that the process of step S4 is omitted in the second and subsequent processes of the server 10 for the same target user.
 以上説明したサーバ10(レコメンド装置)では、嗜好情報(ユーザ属性情報)に基づいて得られた候補コンテンツ毎のユーザの嗜好の度合いを示すユーザスコアと、第2コンテンツ毎の多様性スコアとに基づいて、候補コンテンツ毎の推奨度が算出される。多様性スコアは、第1コンテンツと第2コンテンツとの類似度が小さいほど高くなるスコアである。そして、候補コンテンツ毎の推奨度に基づいて、対象ユーザ(ユーザ)に提示するコンテンツが決定される。上記構成によれば、コンテンツに対するユーザの嗜好が反映されたユーザスコアに加えて、第1コンテンツに対する多様性の度合いを示す多様性スコアが考慮されて、レコメンド対象のコンテンツが決定されるので、ユーザが好むと推定されるコンテンツだけでなく、ユーザにとって新たな発見のあるコンテンツの提示が可能となる。すなわち、ユーザにとって意外性のあるコンテンツがレコメンド対象のコンテンツとして選ばれる可能性を確保することで、レコメンドの多様化を図ることができる。よって、サーバ10によれば、ユーザに対してより利便性の高いレコメンドサービスの提供が可能となる。 In the server 10 (recommendation device) described above, based on the user score indicating the degree of user preference for each candidate content obtained based on preference information (user attribute information) and the diversity score for each second content Then, the degree of recommendation for each candidate content is calculated. The diversity score is a score that increases as the degree of similarity between the first content and the second content decreases. Content to be presented to the target user (user) is determined based on the degree of recommendation for each candidate content. According to the above configuration, in addition to the user score that reflects the user's preference for the content, the diversity score that indicates the degree of diversity with respect to the first content is considered, and the content to be recommended is determined. It is possible to present not only content that is presumed to be preferred by the user, but also content that is newly discovered by the user. In other words, it is possible to diversify recommendations by ensuring the possibility that content that is surprising to the user will be selected as content to be recommended. Therefore, according to the server 10, it is possible to provide a user with a more convenient recommendation service.
 例えば、一般的なバンディットアルゴリズム等の強化学習アルゴリズムを用いてユーザに提示するコンテンツを決定する手法では、報酬を最大化させるための最適化推論が行われる。このため、ユーザに提示されるコンテンツが、互いに類似した特徴を有するコンテンツに固定化されてしまうおそれがある。これに対し、サーバ10では、ユーザが好むと推定されるコンテンツのみならず、ユーザにとって意外性のあるコンテンツも、レコメンド対象となる。したがって、サーバ10によれば、パーソナライズされた且つ意外な発見のあるレコメンドが可能となる。 For example, in the method of determining the content to be presented to the user using a reinforcement learning algorithm such as the general bandit algorithm, optimization inference is performed to maximize the reward. For this reason, there is a risk that the content presented to the user will be fixed to content having characteristics similar to each other. On the other hand, in the server 10, not only content that is presumed to be preferred by the user, but also content that is surprising to the user is subject to recommendation. Therefore, according to the server 10, personalized and unexpected recommendations can be made.
 また、例えば、最適化推論によってユーザが好むと推定されたコンテンツがユーザの実際の好みに合致していない場合には、ユーザにとって興味のあるコンテンツを提示することができないため、提示したコンテンツがユーザに選ばれない可能性が高い。この場合、ユーザに対して利便性が高いレコメンドサービスが提供され難い。ユーザに対して利便性が高くないレコメンドサービスを提供することは、ユーザがコンテンツ提供サービスを再訪問する可能性の低下につながる。これに対し、サーバ10では、第1コンテンツに対して多様性の度合いが高いコンテンツも、レコメンド対象のコンテンツとして選ばれる可能性が確保されているので、仮に、ユーザが好むと推定されたコンテンツ(第1コンテンツ)がユーザの実際の好みと異なる場合であっても、ユーザが好むコンテンツが提示される可能性を高めることができる。その結果、ユーザに対する利便性が高いレコメンドサービスを提供し、ユーザがコンテンツ提供サービスを再訪問する可能性を高めることができる。 Further, for example, if the content estimated by the optimization inference to be preferred by the user does not match the actual taste of the user, the content that is of interest to the user cannot be presented. likely not to be selected. In this case, it is difficult to provide a highly convenient recommendation service to the user. Providing a recommendation service that is not very convenient for the user leads to a decrease in the possibility that the user will revisit the content providing service. On the other hand, the server 10 ensures the possibility that even content with a high degree of diversity relative to the first content will be selected as content to be recommended. Even if the first content) is different from the user's actual preference, it is possible to increase the possibility of presenting the content that the user likes. As a result, it is possible to provide a highly convenient recommendation service to the user and increase the possibility that the user will revisit the content providing service.
 多様性スコア算出部117は、ユーザスコアが上位所定数のコンテンツのうちから第1コンテンツを選択する。本実施形態では、多様性スコア算出部117は、ユーザスコアが最大のコンテンツを、第1コンテンツとして選択する。上記構成によれば、ユーザスコアに基づいて、適切且つ容易に、ユーザにより好まれる可能性の高いコンテンツを第1コンテンツとして選択することができる。 The diversity score calculation unit 117 selects the first content from a predetermined number of content with the highest user scores. In this embodiment, the diversity score calculator 117 selects the content with the highest user score as the first content. According to the above configuration, content that is highly likely to be preferred by the user can be appropriately and easily selected as the first content based on the user score.
 推奨度算出部118は、一のコンテンツの推奨度を、一のコンテンツのユーザスコアが高いほど高くなり且つ一のコンテンツの多様性スコアが高いほど高くなるように算出し、決定部119は、推奨度が上位のコンテンツを、対象ユーザに提示するコンテンツとして決定する。上記構成によれば、例えば、ユーザスコアが低くても多様性スコアが高いコンテンツが、レコメンド対象のコンテンツとして選ばれやすくなるので、ユーザにとって意外性のあるコンテンツがレコメンド対象のコンテンツとして選ばれる可能性を確保することができる。 The recommendation degree calculation unit 118 calculates the recommendation degree of one content so that the higher the user score of the one content is, the higher the recommendation degree of the content is, and the higher the diversity score of the one content is, the higher the recommendation degree is. The content with the higher degree is determined as the content to be presented to the target user. According to the above configuration, for example, content with a low user score but a high diversity score is more likely to be selected as content to be recommended, so there is a possibility that content that is surprising to the user will be selected as content to be recommended. can be ensured.
 多様性スコア算出部117は、上記第1の例で説明したように、各候補コンテンツに対する対象ユーザの利用実績に関するユーザログ(利用実績情報)を取得し、ユーザログに基づいて、第2コンテンツ毎に、第1コンテンツを基準とした相対的な特徴量を算出し、算出した特徴量に基づいて、第2コンテンツ毎に、第1コンテンツに対する第2コンテンツの類似度を算出し、類似度に基づいて、第2コンテンツ毎の多様性スコアを算出してもよい。上記構成によれば、第1コンテンツに対する多様性の度合いを示す多様性スコアを精度良く得ることができる。 As described in the first example above, the diversity score calculation unit 117 acquires a user log (usage record information) regarding the target user's use record for each candidate content, and based on the user log, for each second content Then, calculating a relative feature amount based on the first content, calculating the similarity of the second content to the first content for each second content based on the calculated feature amount, and calculating the similarity of the second content to the first content based on the similarity may be used to calculate a diversity score for each second content. According to the above configuration, it is possible to accurately obtain a diversity score indicating the degree of diversity with respect to the first content.
 或いは、多様性スコア算出部117は、上記第2の例で説明したように、コンテンツの属性を示すコンテンツ属性情報を取得し、第1コンテンツの属性、及び第2コンテンツ毎の属性をベクトル化し、第1コンテンツのベクトルと、第2コンテンツ毎のベクトルとの距離に基づいて、第2コンテンツ毎の多様性スコアを算出してもよい。上記構成によれば、コンテンツに予め関連付けられているコンテンツの属性に基づいて多様性スコアが算出されるため、多様性スコアを簡単に得ることができる。 Alternatively, the diversity score calculation unit 117 acquires content attribute information indicating the attribute of content, as described in the second example, vectorizes the attribute of the first content and the attribute of each second content, A diversity score for each second content may be calculated based on the distance between the vector for the first content and the vector for each second content. According to the above configuration, the diversity score is calculated based on the attribute of the content pre-associated with the content, so the diversity score can be easily obtained.
 第1取得部112(ユーザ嗜好取得部)は、ユーザ属性情報に基づいて、対象ユーザの嗜好に関する嗜好情報を取得し、ユーザスコア算出部114は、第1取得部112によって取得された嗜好情報(ユーザ属性ベクトルz)を入力して各候補コンテンツに対するユーザスコアを出力する第2モデルM2(スコア推定モデル)であって、コンテンツがユーザに選択されることに対して報酬を付与する強化学習によって生成された第2モデルM2を用いることによって、各候補コンテンツに対するユーザスコアを算出する。上記構成によれば、強化学習によって構築された第2モデルM2が用いられてユーザスコアが算出されるため、ユーザスコアを効率的且つ精度良く得ることができる。更に、ユーザスコアの算出に適するようにユーザ属性情報が加工された情報(嗜好情報)が第2モデルM2に入力されてユーザスコアが算出されるため、ユーザスコアをより一層精度良く得ることができる。 The first acquisition unit 112 (user preference acquisition unit) acquires preference information about the preferences of the target user based on the user attribute information, and the user score calculation unit 114 calculates the preference information acquired by the first acquisition unit 112 ( A second model M2 (score estimation model) that inputs the user attribute vector z) and outputs the user score for each candidate content, generated by reinforcement learning that rewards the user for selecting the content A user score for each candidate content is calculated by using the obtained second model M2. According to the above configuration, since the user score is calculated using the second model M2 constructed by reinforcement learning, the user score can be obtained efficiently and accurately. Further, information (preference information) in which user attribute information has been processed to be suitable for calculating a user score is input to the second model M2 to calculate the user score, so the user score can be obtained with even higher accuracy. .
 第1モデル生成部113(モデル生成部)は、ユーザのユーザ属性情報と指標値(当該ユーザの嗜好に関する情報)とを含む教師データを用いた機械学習を実行することにより、当該ユーザのユーザ属性情報を入力して当該ユーザの嗜好情報の推定値を出力する第1モデルM1(嗜好推定モデル)を生成し、第1取得部112は、第1モデルM1にユーザ属性情報を入力することにより、第1モデルM1からの出力結果を嗜好情報として取得する。上記構成によれば、ユーザの属性情報を入力とし、嗜好情報の推定値を出力する第1モデルM1が構築され、第1モデルM1が用いられて嗜好情報が取得されるため、ユーザの嗜好情報を効率的且つ精度良く得ることができる。 The first model generation unit 113 (model generation unit) performs machine learning using teacher data including user attribute information of the user and an index value (information about the user's preference) to determine the user attribute of the user. By inputting information and generating a first model M1 (preference estimation model) that outputs an estimated value of the user's preference information, the first acquisition unit 112 inputs the user attribute information to the first model M1, The output result from the first model M1 is acquired as preference information. According to the above-described configuration, the first model M1 is constructed to receive the attribute information of the user and output the estimated value of the preference information, and the preference information is acquired using the first model M1. can be obtained efficiently and accurately.
 ユーザ属性情報は、コンテンツ提供サービスとは異なるサービスに関するユーザの利用情報を含む。上記構成によれば、コンテンツ提供サービスの利用歴が浅いユーザに対しても、ユーザが好むコンテンツを精度良く推定できる。したがって、コンテンツ提供サービスを長期間利用しているユーザのみならず、コンテンツ提供サービスの利用歴が浅いユーザに対しても、パーソナライズされた且つ意外な発見のあるレコメンドが可能となる。  User attribute information includes user usage information related to services other than the content providing service. According to the above configuration, it is possible to accurately estimate the content that the user prefers, even for a user who has not used the content providing service in a short time. Therefore, not only users who have used the content providing service for a long time but also users who have not used the content providing service for a long time can receive personalized and unexpected recommendations.
 なお、第2モデルM2は、ユーザ属性情報を入力して各候補コンテンツに対するユーザスコアを出力するモデルであってもよい。その場合、一例として、第1取得部112は、ユーザ属性記憶部10aから、ユーザ属性ベクトルzを取得し、ユーザスコア算出部114は、第1取得部112から受け取ったユーザ属性ベクトルzを第2モデルM2に入力することにより、ユーザスコアを得る。ユーザ属性記憶部10aには、ユーザの基礎情報等の各種項目が数値化及びベクトル化されたユーザ属性ベクトルzが、ユーザID毎に記憶されている。例えば、各項目を予め定められたルール(例えば、性別について、男性を「0」、女性を「1」に設定するといった取り決め)に基づいて適当にラベル付け(数値化)することにより、例えば(40代,女性,九州,…)といったユーザ属性を有するユーザのユーザ属性ベクトルzとして、(0.4,1.0,0.7,…)のような数値ベクトルが得られる。上記構成によっても、強化学習によって構築された第2モデルM2が用いられてユーザスコアが算出されるため、ユーザスコアを効率的且つ精度良く得ることができる。 Note that the second model M2 may be a model that inputs user attribute information and outputs a user score for each candidate content. In that case, as an example, the first acquisition unit 112 acquires the user attribute vector z from the user attribute storage unit 10a, and the user score calculation unit 114 converts the user attribute vector z received from the first acquisition unit 112 into the second A user score is obtained by inputting into the model M2. In the user attribute storage unit 10a, a user attribute vector z obtained by digitizing and vectorizing various items such as user's basic information is stored for each user ID. For example, by appropriately labeling (quantifying) each item based on a predetermined rule (for example, setting male to "0" and female to "1" for gender), for example ( A numerical vector such as (0.4, 1.0, 0.7, . Also with the above configuration, the user score is calculated using the second model M2 constructed by reinforcement learning, so the user score can be obtained efficiently and accurately.
 また、サーバ10は、第1モデル生成部113を備えていなくてもよい。その場合、各第1モデルM1は、例えば、予めサーバ10内に格納されていてもよく、また、サーバ10とは異なるサーバ等に格納されていてもよい。また、嗜好情報は、機械学習によって生成された第1モデルM1を用いた手法とは異なる手法によって生成されてもよく、サーバ10とは異なるサーバ等に予め記憶されていてもよい。 Also, the server 10 does not have to include the first model generation unit 113 . In that case, each first model M1 may be stored in the server 10 in advance, or may be stored in a server different from the server 10, for example. Moreover, the preference information may be generated by a method different from the method using the first model M1 generated by machine learning, and may be stored in advance in a server or the like different from the server 10 .
 また、多様性スコアは、第1コンテンツとの類似度が小さいほど(すなわち、第1コンテンツの内容からかけ離れた内容のコンテンツほど)大きくなるように設定されればよく、多様性スコアの算出方法は上述した第1の例、及び第2の例に限定されない。 Also, the diversity score may be set such that the smaller the degree of similarity with the first content is (that is, the more distant the content is from the content of the first content), the larger the diversity score is. It is not limited to the first and second examples described above.
 また、多様性スコアの算出方法は、本実施形態に限られない。例えば、上記第2の例において、多様性スコア算出部117は、コンテンツの全ての組合せについての距離を算出しなくてもよい。すなわち、多様性スコア算出部117は、第1コンテンツを選択し、選択した第1コンテンツに対する第2コンテンツ毎の距離のみを多様性スコアとして算出してもよい。 Also, the method of calculating the diversity score is not limited to this embodiment. For example, in the above second example, the diversity score calculation unit 117 does not need to calculate distances for all combinations of content. That is, the diversity score calculator 117 may select the first content and calculate only the distance of each second content to the selected first content as the diversity score.
 また、第1コンテンツは、必ずしもユーザスコアが最大のコンテンツでなくてもよい。一例として、多様性スコア算出部117は、ユーザスコアが上位所定数のコンテンツ(例えばユーザスコアが第1位~第3位のコンテンツ等)のうちから第1コンテンツを選択してもよい。上記構成によっても、ユーザにより好まれる可能性の高いコンテンツを第1コンテンツとして選択することができる。また、第1コンテンツは、上述したユーザスコア以外の基準を用いて選択されてもよい。例えば、サーバ10は、対象ユーザのコンテンツの利用履歴等に基づいて、対象ユーザが好む傾向にある代表的なコンテンツの情報を予め取得しておいてもよい。この場合、多様性スコア算出部117は、上記代表的なコンテンツを第1コンテンツとして設定してもよい。また、コンテンツ提供サービスによって提供される複数の候補コンテンツ以外のコンテンツが、第1コンテンツとして選択されてもよい。 Also, the first content does not necessarily have to be the content with the highest user score. As an example, the diversity score calculation unit 117 may select the first content from among a predetermined number of contents with the highest user scores (for example, contents with the first to third highest user scores). With the above configuration as well, it is possible to select content that is highly likely to be preferred by the user as the first content. Also, the first content may be selected using a criterion other than the user score described above. For example, the server 10 may acquire in advance information on typical content that the target user tends to like, based on the target user's content usage history or the like. In this case, the diversity score calculator 117 may set the representative content as the first content. Also, content other than the plurality of candidate content provided by the content providing service may be selected as the first content.
 なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。 It should be noted that the block diagrams used in the description of the above embodiments show blocks for each function. These functional blocks (components) are realized by any combination of at least one of hardware and software. Also, the method of implementing each functional block is not particularly limited. That is, each functional block may be implemented using one device that is physically or logically coupled, or directly or indirectly using two or more devices that are physically or logically separated (e.g. , wired, wireless, etc.) and may be implemented using these multiple devices. A functional block may be implemented by combining software in the one device or the plurality of devices.
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。 Functions include judging, determining, determining, calculating, calculating, processing, deriving, investigating, searching, checking, receiving, transmitting, outputting, accessing, resolving, selecting, choosing, establishing, comparing, assuming, expecting, assuming, Broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, etc. can't
 例えば、本開示の一実施の形態におけるサーバ10は、本開示のレコメンド方法を行うコンピュータとして機能してもよい。図8は、本開示の一実施の形態に係るサーバ10のハードウェア構成の一例を示す図である。上述のサーバ10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。 For example, the server 10 in one embodiment of the present disclosure may function as a computer that performs the recommendation method of the present disclosure. FIG. 8 is a diagram illustrating an example of a hardware configuration of server 10 according to an embodiment of the present disclosure. The server 10 described above 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.
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。サーバ10のハードウェア構成は、図8に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。 In the following explanation, the term "apparatus" can be read as a circuit, device, unit, or the like. The hardware configuration of the server 10 may be configured to include one or more of the devices shown in FIG. 8, or may be configured without some of the devices.
 サーバ10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。 Each function in the server 10 is performed by causing the processor 1001 to perform calculations, controlling communication by the communication device 1004, controlling communication by the communication device 1004, and controlling the communication by the memory 1002 and It is realized by controlling at least one of data reading and writing in the storage 1003 .
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。 The processor 1001, for example, operates an operating system and controls the entire computer. The processor 1001 may be configured by a central processing unit (CPU) including an interface with peripheral devices, a control device, an arithmetic device, registers, and the like.
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、ユーザスコア算出部114、多様性スコア算出部117等は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。 Also, the processor 1001 reads programs (program codes), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 to the memory 1002, and executes various processes according to them. As the program, a program that causes a computer to execute at least part of the operations described in the above embodiments is used. For example, the user score calculation unit 114, the diversity score calculation unit 117, and the like may be stored in the memory 1002 and realized by a control program operating in the processor 1001, and other functional blocks may be similarly realized. . Although it has been described that the above-described various processes are executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. FIG. Processor 1001 may be implemented by one or more chips. Note that the program may be transmitted from a network via an electric communication line.
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る通信制御方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。 The memory 1002 is a computer-readable recording medium, and is composed of at least one of, for example, ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. may be The memory 1002 may also be called a register, cache, main memory (main storage device), or the like. The memory 1002 can store executable programs (program codes), software modules, etc. for implementing a communication control method according to an embodiment of the present disclosure.
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。 The storage 1003 is a computer-readable recording medium, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (for example, a compact disk, a digital versatile disk, a Blu-ray disk), smart card, flash memory (eg, card, stick, key drive), floppy disk, magnetic strip, and/or the like. Storage 1003 may also be called an auxiliary storage device. The storage medium described above may be, for example, a database, server, or other suitable medium including at least one of memory 1002 and storage 1003 .
 通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。 The communication device 1004 is hardware (transmitting/receiving device) for communicating between computers via at least one of a wired network and a wireless network, and is also called a network device, a network controller, a network card, a communication module, or the like.
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。 The input device 1005 is an input device (for example, keyboard, mouse, microphone, switch, button, sensor, etc.) that receives input from the outside. The output device 1006 is an output device (eg, display, speaker, LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated (for example, a touch panel).
 また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。 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 using a single bus, or may be configured using different buses between devices.
 また、サーバ10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。 In addition, the server 10 includes hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). A part or all of each functional block may be implemented by the hardware. For example, processor 1001 may be implemented using at least one of these pieces of hardware.
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。 Although the present embodiment has been described in detail above, it is obvious to those skilled in the art that the present embodiment is not limited to the embodiments described herein. This embodiment can be implemented as modifications and changes 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 for the purpose of illustration and explanation, and does not have any restrictive meaning with respect to the present embodiment.
 本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。 The order of the processing procedures, sequences, flowcharts, etc. of each aspect/embodiment described in the present disclosure may be changed as long as there is no contradiction. For example, the methods described in this disclosure present elements of the various steps using a sample order, and are not limited to the specific order presented.
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。 Input/output information may be stored in a specific location (for example, memory) or managed using a management table. Input/output information and the like can be overwritten, updated, or appended. The output information and the like may be deleted. The entered information and the like may be transmitted to another device.
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。 The determination may be made by a value represented by one bit (0 or 1), by a true/false value (Boolean: true or false), or by numerical comparison (for example, a predetermined value).
 本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。 Each aspect/embodiment described in the present disclosure may be used alone, may be used in combination, or may be used by switching along with execution. In addition, the notification of predetermined information (for example, notification of “being X”) is not limited to being performed explicitly, but may be performed implicitly (for example, not notifying the predetermined information). good too.
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。 Software, whether referred to as software, firmware, middleware, microcode, hardware description language or otherwise, includes instructions, instruction sets, code, code segments, program code, programs, subprograms, and software modules. , applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, and the like.
 また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。 In addition, software, instructions, information, etc. may be transmitted and received via a transmission medium. For example, if the software uses at least one of wired technology (coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL), etc.) and wireless technology (infrared, microwave, etc.), the website, Wired and/or wireless technologies are included within the definition of transmission medium when sent from a server or other remote source.
 本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。 The information, signals, etc. described in this disclosure 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 refer to voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. may be represented by a combination of
 また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。 In addition, the information, parameters, etc. described in the present disclosure may be expressed using absolute values, may be expressed using relative values from a predetermined value, or may be expressed using other corresponding information. may be represented.
 上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々な情報要素は、あらゆる好適な名称によって識別できるので、これらの様々な情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。 The names used for the parameters described above are not restrictive names in any respect. Further, the formulas, etc., using these parameters may differ from those expressly disclosed in this disclosure. The various names assigned to these various information elements are not limiting names in any way, as the various information elements can be identified by any suitable name.
 本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。 The term "based on" as used in this disclosure does not mean "based only on," unless otherwise specified. In other words, the phrase "based on" means both "based only on" and "based at least on."
 本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。 Any reference to elements using the "first," "second," etc. designations used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, reference to a first and second element does not imply that only two elements can be employed or that the first element must precede the second element in any way.
 本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。 Where "include," "including," and variations thereof are used in this disclosure, these terms are inclusive, as is the term "comprising." is intended. Furthermore, the term "or" as used in this disclosure is not intended to be an exclusive OR.
 本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。 In this disclosure, if articles are added by translation, such as a, an, and the in English, the disclosure may include that the nouns following these articles are plural.
 本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。 In the present disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean that "A and B are different from C". Terms such as "separate," "coupled," etc. may also be interpreted in the same manner as "different."
 10…サーバ(レコメンド装置)、112…第1取得部(ユーザ嗜好取得部)、113…第1モデル生成部(モデル生成部)、114…ユーザスコア算出部、117…多様性スコア算出部、118…推奨度算出部、119…決定部、L…嗜好情報、M1,M11,M12,M13…第1モデル(嗜好推定モデル)、M2…第2モデル(スコア推定モデル)、U…対象ユーザ(ユーザ)。

 
10... Server (recommendation device), 112... First acquisition unit (user preference acquisition unit), 113... First model generation unit (model generation unit), 114... User score calculation unit, 117... Diversity score calculation unit, 118 ... recommendation degree calculation unit, 119 ... determination unit, L ... preference information, M1, M11, M12, M13 ... first model (preference estimation model), M2 ... second model (score estimation model), U ... target user (user ).

Claims (9)

  1.  ユーザにコンテンツを提供するコンテンツ提供サービスにおいて、複数の候補コンテンツの中から前記ユーザに提示するコンテンツを決定するレコメンド装置であって、
     前記ユーザにより好まれる可能性の高いコンテンツとして選択された第1コンテンツと前記複数の候補コンテンツのうち前記第1コンテンツ以外の第2コンテンツとの類似度が小さいほど高くなるスコアである多様性スコアを、前記第2コンテンツ毎に算出する多様性スコア算出部と、
     前記ユーザの属性に関するユーザ属性情報に基づいて得られた、前記複数の候補コンテンツの各々に対する前記ユーザの嗜好の度合いを示すユーザスコアと、前記多様性スコア算出部により算出された前記第2コンテンツ毎の前記多様性スコアとに基づいて、前記ユーザに対する推奨度を前記複数の候補コンテンツの各々について算出する推奨度算出部と、
     前記推奨度算出部により算出された前記推奨度に基づいて、前記ユーザに提示するコンテンツを決定する決定部と、
    を備える、レコメンド装置。
    A recommendation device for determining content to be presented to a user from among a plurality of candidate content in a content providing service for providing content to a user,
    A diversity score, which is a score that increases as the degree of similarity between the first content selected as content likely to be preferred by the user and second content other than the first content among the plurality of candidate content decreases, increases. , a diversity score calculation unit that calculates for each second content;
    A user score indicating the degree of preference of the user for each of the plurality of candidate contents, which is obtained based on user attribute information about the attribute of the user; and each of the second contents calculated by the diversity score calculation unit a recommendation degree calculation unit that calculates the degree of recommendation to the user for each of the plurality of candidate contents based on the diversity score of
    a determination unit that determines content to be presented to the user based on the recommendation level calculated by the recommendation level calculation unit;
    A recommendation device.
  2.  前記多様性スコア算出部は、前記ユーザスコアが上位所定数のコンテンツのうちから前記第1コンテンツを選択する、請求項1に記載のレコメンド装置。 The recommendation device according to claim 1, wherein the diversity score calculation unit selects the first content from among a predetermined number of contents with the highest user scores.
  3.  前記推奨度算出部は、一のコンテンツの前記推奨度を、前記一のコンテンツの前記ユーザスコアが高いほど高くなり且つ前記一のコンテンツの前記多様性スコアが高いほど高くなるように算出し、
     前記決定部は、前記推奨度が上位のコンテンツを、前記ユーザに提示するコンテンツとして決定する、請求項1又は2に記載のレコメンド装置。
    The recommendation degree calculation unit calculates the recommendation degree of the one content so that the higher the user score of the one content is, the higher the recommendation degree is and the higher the diversity score of the one content is, the higher the recommendation degree is,
    The recommendation device according to claim 1 or 2, wherein the determination unit determines content having a high recommendation level as content to be presented to the user.
  4.  前記多様性スコア算出部は、
     前記複数の候補コンテンツの各々に対するユーザの利用実績に関する利用実績情報を取得し、
     前記利用実績情報に基づいて、前記第2コンテンツ毎に、前記第1コンテンツを基準とした相対的な特徴量を算出し、
     算出した前記特徴量に基づいて、前記第2コンテンツ毎に、前記第1コンテンツに対する前記第2コンテンツの類似度を算出し、
     前記類似度に基づいて、前記第2コンテンツ毎の前記多様性スコアを算出する、請求項1~3のいずれか一項に記載のレコメンド装置。
    The diversity score calculation unit,
    Acquiring usage record information regarding the user's usage record for each of the plurality of candidate contents;
    calculating a relative feature amount with respect to the first content for each of the second content based on the usage record information;
    calculating a degree of similarity of the second content to the first content for each second content based on the calculated feature amount;
    The recommendation device according to any one of claims 1 to 3, wherein the diversity score for each second content is calculated based on the degree of similarity.
  5.  前記多様性スコア算出部は、
     コンテンツの属性を示すコンテンツ属性情報を取得し、
     前記第1コンテンツの属性、及び前記第2コンテンツ毎の属性をベクトル化し、
     前記第1コンテンツのベクトルと、前記第2コンテンツ毎のベクトルとの距離に基づいて、前記第2コンテンツ毎の前記多様性スコアを算出する、請求項1~3のいずれか一項に記載のレコメンド装置。
    The diversity score calculation unit,
    Acquire content attribute information indicating content attributes,
    vectorizing the attributes of the first content and the attributes of each of the second content;
    The recommendation according to any one of claims 1 to 3, wherein the diversity score for each second content is calculated based on the distance between the vector for the first content and the vector for the second content. Device.
  6.  前記ユーザ属性情報を入力して前記複数の候補コンテンツの各々に対する前記ユーザスコアを出力するスコア推定モデルであって、コンテンツがユーザに選択されることに対して報酬を付与する強化学習によって生成された前記スコア推定モデルを用いることによって、前記複数の候補コンテンツの各々に対する前記ユーザスコアを算出するユーザスコア算出部を更に備える、請求項1~5のいずれか一項に記載のレコメンド装置。 a score estimation model inputting the user attribute information and outputting the user score for each of the plurality of candidate content generated by reinforcement learning to reward user selection of the content The recommendation device according to any one of claims 1 to 5, further comprising a user score calculation unit that calculates the user score for each of the plurality of candidate contents by using the score estimation model.
  7.  前記ユーザ属性情報に基づいて、前記ユーザの嗜好に関する嗜好情報を取得するユーザ嗜好取得部と、
     前記ユーザ嗜好取得部によって取得された前記嗜好情報を入力して前記複数の候補コンテンツの各々に対する前記ユーザスコアを出力するスコア推定モデルであって、コンテンツがユーザに選択されることに対して報酬を付与する強化学習によって生成された前記スコア推定モデルを用いることによって、前記複数の候補コンテンツの各々に対する前記ユーザスコアを算出するユーザスコア算出部と、を更に備える、請求項1~5のいずれか一項に記載のレコメンド装置。
    a user preference acquisition unit that acquires preference information about the user's preference based on the user attribute information;
    A score estimation model for inputting the preference information acquired by the user preference acquisition unit and outputting the user score for each of the plurality of candidate contents, the score estimation model rewarding selection of the contents by the user. A user score calculation unit that calculates the user score for each of the plurality of candidate contents by using the score estimation model generated by the reinforcement learning to be imparted, further comprising a user score calculation unit according to any one of claims 1 to 5 The recommendation device described in the item.
  8.  ユーザの前記ユーザ属性情報と当該ユーザの嗜好に関する情報とを含む教師データを用いた機械学習を実行することにより、当該ユーザの前記ユーザ属性情報を入力して当該ユーザの前記嗜好情報の推定値を出力する嗜好推定モデルを生成するモデル生成部を更に備え、
     前記ユーザ嗜好取得部は、前記嗜好推定モデルに前記ユーザ属性情報を入力することにより、前記嗜好推定モデルからの出力結果を前記嗜好情報として取得する、請求項7に記載のレコメンド装置。
    By executing machine learning using teacher data including the user attribute information of the user and information about the preference of the user, the user attribute information of the user is input and an estimated value of the preference information of the user is calculated. further comprising a model generation unit that generates a preference estimation model to be output,
    8. The recommendation device according to claim 7, wherein said user preference acquisition unit acquires an output result from said preference estimation model as said preference information by inputting said user attribute information into said preference estimation model.
  9.  前記ユーザ属性情報は、前記コンテンツ提供サービスとは異なるサービスに関する前記ユーザの利用情報を含む、請求項6~8のいずれか一項に記載のレコメンド装置。

     
    9. The recommendation device according to any one of claims 6 to 8, wherein said user attribute information includes usage information of said user regarding a service different from said content providing service.

PCT/JP2021/046811 2021-01-29 2021-12-17 Recommendation device WO2022163203A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022578141A JPWO2022163203A1 (en) 2021-01-29 2021-12-17

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-013165 2021-01-29
JP2021013165 2021-01-29

Publications (1)

Publication Number Publication Date
WO2022163203A1 true WO2022163203A1 (en) 2022-08-04

Family

ID=82654298

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/046811 WO2022163203A1 (en) 2021-01-29 2021-12-17 Recommendation device

Country Status (2)

Country Link
JP (1) JPWO2022163203A1 (en)
WO (1) WO2022163203A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708950A (en) * 2020-06-22 2020-09-25 腾讯科技(深圳)有限公司 Content recommendation method and device and electronic equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708950A (en) * 2020-06-22 2020-09-25 腾讯科技(深圳)有限公司 Content recommendation method and device and electronic equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHIHIRO ONO, HIDEKI ASOH, YOICHI MOTOMURA: "Technologies and Research Issues for Recommendation.", JOURNAL OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, DENSHI JOHO TSUSHIN GAKKAI, TOKYO., JP, vol. 94, no. 4, 1 April 2011 (2011-04-01), JP , pages 310 - 315, XP009538809, ISSN: 0913-5693 *
TAKAYUKI AKIYAMA, KIYOHIRO OBARA, MASAAKI TANIZAKI: "Verification of Serendipitous Recommender System.", IEICE TECHNICAL REPORT, DENSHI JOUHOU TSUUSHIN GAKKAI, JP, vol. 109, no. 272 (LOIS2009-52), 5 November 2009 (2009-11-05), JP , pages 81 - 87, XP009538897, ISSN: 0913-5685 *

Also Published As

Publication number Publication date
JPWO2022163203A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
CN111241311B (en) Media information recommendation method and device, electronic equipment and storage medium
US11620326B2 (en) User-specific media playlists
Pudlo et al. Reliable ABC model choice via random forests
US20190392330A1 (en) System and method for generating aspect-enhanced explainable description-based recommendations
US20150073931A1 (en) Feature selection for recommender systems
US10354184B1 (en) Joint modeling of user behavior
Miao et al. Context‐based dynamic pricing with online clustering
CN110929052A (en) Multimedia resource recommendation method and device, electronic equipment and storage medium
US10162868B1 (en) Data mining system for assessing pairwise item similarity
US10762150B2 (en) Searching method and searching apparatus based on neural network and search engine
EP2860672A2 (en) Scalable cross domain recommendation system
Swait et al. Modeling simultaneous multiple goal pursuit and adaptation in consumer choice
US10922725B2 (en) Automatic rule generation for recommendation engine using hybrid machine learning
CN111754278A (en) Article recommendation method and device, computer storage medium and electronic equipment
WO2022163203A1 (en) Recommendation device
US11410220B2 (en) Exploration for interactive recommendation system, method, and computer program product
CN113094584A (en) Method and device for determining recommended learning resources
JP2022026683A (en) Recommendation device
To et al. Receiver operating characteristic estimation and threshold selection criteria in three-class classification problems for clustered data
WO2022163142A1 (en) Information processing device
US20240135407A1 (en) Information processing device
CN112395487B (en) Information recommendation method and device, computer readable storage medium and electronic equipment
CN113239284A (en) Method and device for determining sequence of recommendation information
CN117521851A (en) Prediction model training method, prediction method and prediction device
CN116956040A (en) Recommendation model training method, recommendation model and storage medium

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: 21923207

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022578141

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: 21923207

Country of ref document: EP

Kind code of ref document: A1