Abstract: Techniques are disclosed for selecting an item to recommend to a user from a plurality of items. A first set of scores indicating degrees of association between items of the plurality of items may be calculated using a first scoring algorithm having a first scale, and a second set of scores indicating degrees of association between items of the plurality of items may be calculated using a second scoring algorithm having a second scale. The second set of scores may be adjusted to match the, second scale to the first scale, and a third set of scores may be calculated for the plurality of items by combining the first set of scores and the adjusted second set of scores. An item may be selected from the plurality of items to recommend to the user based on the third set of scores.
BACKGROUND
[0001]
The present technology relates to an information processing apparatus, a terminal apparatus, an information presentation system, a calculation method of evaluation scores, and a program.
[0002]
In recent years, businesses using a network are expanding rapidly. For example, systems such as online stores from which commodities can be purchased online are widely used. Many of such online stores are provided with a mechanism to recommend commodities to users. If, for example, a user views detailed information of some commodity, information about commodities related to the commodity is presented to the user as recommended commodities.
[0003]
Such a mechanism is realized by using, for example, a method of cooperative filtering described in Japanese Patent Application Laid-Open No. 2003-167901. The cooperative filtering is a method of extracting recommended commodities by using information (for example, a purchase history) about users having similar preferences. If the cooperative filtering is used, recommended commodities can be presented even to a new user who has no purchase history by using information about users whose preferences are similar to preferences of the user. However, if the number of users is small and it is hard to find users having similar preferences, it is difficult to present suitable recommended commodities fitting to preferences of the target user.
[0004]
For extraction of recommended commodities, a method called content-based filtering may be used. The content-based filtering is a method of extracting recommended commodities to be presented to the user by using the purchase history of the user. The content-based filtering is a method of extracting recommended commodities by analyzing the purchase history of each user and thus, if this method is used, suitable recommended commodities can be extracted even if it is difficult to find users having similar preferences such as when the number of users is small.
However, it is difficult for a user whose purchase history is small to present suitable recommended commodities fitting to preferences of the target user.
SUMMARY
[0006]
The cooperative filtering and the content-based filtering have, as described above, respective advantages and disadvantages. Thus, to present suitable recommended commodities fitting to preferences of the user with high precision, it is necessary to use one of the methods or the other method according to circumstances or combine both methods. While commodities are illustrated here as objects to be presented to the user, there may be a case when other users are presented, music content or video content is presented, or some kind of information is presented. Thus, hereinafter, objects to be presented to the user are called items.
[0007]
The common cooperative filtering and content-based filtering are illustrated here as methods of recommending items and these methods have been improved by many people. In addition to the methods illustrated here, various recommendation algorithms that can be used for item recommendation are proposed. However, each of such recommendation algorithms has advantages and disadvantages and no recommendation algorithm that can achieve suitable recommendation results in any circumstances is known. Therefore, a technology to use plural recommendation algorithms according to circumstances or to suitably combine the plural recommendation algorithms is desired.
[0008]
In light of the foregoing, it is desirable to provide a novel and improved information processing apparatus, terminal apparatus, information presentation system, calculation method of evaluation scores, and program capable of suitably controlling how to combine recommendation algorithms so that high-precision recommendation results fitting to circumstances are obtained.
[0009]-[0029]
Some embodiments relate to apparatus for selecting an item to recommend to a user from a plurality of items, the apparatus comprising at least one processor, and at least one memory storing processor-executable instructions configured to cause the at least one processor to calculate a first set of scores indicating degrees of association between items of the plurality of items using a first scoring algorithm having a first scale, calculate a second set of scores indicating degrees of association between items of the plurality of items using a second scoring algorithm having a second scale; adjust the second set of scores to match the second scale to the first scale, calculate a third set of scores for the plurality of items by combining the first set of scores and the adjusted second set of scores, and select an item to recommend to the user from the plurality of items based on the third set of scores.
Some embodiments relate to a method for selecting an item to recommend to a user from a plurality of items, the method comprising calculating a first set of scores indicating degrees of association between items of the plurality of items using a first scoring algorithm having a first scale, calculating a second set of scores indicating degrees of association between items of the plurality of items using a second scoring algorithm having a second scale, adjusting the second set of scores, using at least one processor, to match the second scale to the first scale, calculating a third set of scores for the plurality of items by combining the first set of scores and the adjusted second set of scores, and selecting an item to recommend to the user from the plurality of items based on the third set of scores.
Some embodiments relate to at least one computer-readable storage medium encoded with computer-executable instructions that, when executed, perform a method for selecting an item to recommend to a user from a plurality of items, the method comprising calculating a first set of scores indicating degrees of association between items of the plurality of items using a first scoring algorithm having a first scale, calculating a second set of scores indicating degrees of association between items of the plurality of items using a second scoring algorithm having a second scale, adjusting the second set of scores to match the second scale to the first scale, calculating a third set of scores for the plurality of items by combining the first set of scores and the adjusted second set of scores, and selecting an item to recommend to the user from the plurality of items based on the third set of scores.
Some embodiments relate to apparatus for selecting an item to recommend to a user from a plurality of items, the apparatus comprising means for calculating a first set of scores indicating degrees of association between items of the plurality of items using a first scoring algorithm having a first scale, means for calculating a second set of scores indicating degrees of association between items of the plurality of items using a second scoring algorithm having a second scale, means for adjusting the second set of scores to match the second scale to the first scale, means for calculating a third set of scores for the plurality of items by combining the first set of scores and the adjusted second set of scores, and means for selecting an item to recommend to the user from the plurality of items based on the third set of scores.
[0030]
According to the present technology, as described above, it becomes possible to suitably control how to combine recommendation algorithms so that high-precision recommendation results fitting to circumstances are obtained.
BRIEF DESCRIPTION OF THE DRAWINGS
[0031]
FIG 1 is an explanatory view exemplifying a combination method of recommendation algorithms;
FIG 2 is an explanatory view exemplifying the combination method of recommendation algorithms;
FIG 3 is an explanatory view exemplifying the combination method of recommendation algorithms;
FIG 4 is an explanatory view exemplifying the combination method of recommendation algorithms;
FIG 5 is an explanatory view exemplifying the combination method of recommendation algorithms;
FIG 6 is an explanatory view illustrating the combination method of recommendation algorithms according to an embodiment of the present technology;
FIG 7 is an explanatory view illustrating the combination method of recommendation algorithms according to an embodiment of the present technology;
FIG 8 is an explanatory view illustrating a system configuration of a recommendation system capable of realizing the combination method of recommendation algorithms according to an embodiment of the present technology;
FIG 9 is an explanatory view providing an overview of processing performed in the recommendation system according to an embodiment of the present technology;
FIG 10 is an explanatory view illustrating a functional configuration of a server apparatus according to an embodiment of the present technology;
FIG 11 is an explanatory view illustrating the functional configuration of a user terminal according to an embodiment of the present technology;
FIG 12 is an explanatory view illustrating a derivation method of a correction function according to an embodiment of the present technology;
FIG 13 is an explanatory view illustrating a setting method of a weight according to an embodiment of the present technology;
FIG 14 is an explanatory view illustrating a flow of recommendation processing according to an embodiment of the present technology;
FIG 15 is an explanatory view illustrating a calculation method of an integrated associated score according to an embodiment of the present technology;
FIG 16 is an explanatory view illustrating an influence that could be caused by a difference of score systems on an associated score;
FIG 17 is an explanatory view illustrating an effect gained when a correction method of the associated score according to an embodiment of the present technology is applied;
FIG 18 is an explanatory view illustrating the derivation method (extension example) of the correction function according to an embodiment of the present technology;
FIG 19 is an explanatory view illustrating a setting method (extension example) of the weight according to an embodiment of the present technology;
FIG 20 is an explanatory view illustrating the flow (extension example) of recommendation processing according to an embodiment of the present technology;
FIG 21 is an explanatory view illustrating an adjustment method of the weight according to an embodiment of the present technology;
FIG 22 is an explanatory view illustrating the adjustment method of the weight according to an embodiment of the present technology;
FIG 23 is an explanatory view illustrating the adjustment method of the weight according to an embodiment of the present technology;
FIG 24 is an explanatory view illustrating the adjustment method of the weight according to an embodiment of the present technology; and
FIG 25 is an explanatory view illustrating a hardware configuration capable of realizing functions held by the server apparatus and the user terminal according to an embodiment of the present technology.
DETAILED DESCRIPTION OF THE EMBODIMENT
[0032]
Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the appended drawings throughout which like parts are referred to by like references. Note that, in this specification and the appended drawings, structural elements that have substantially the same function and configuration are denoted with the same reference numerals, and repeated explanation of these structural elements is omitted.
[0033] [Flow of the description]
The flow of the description provided below will briefly be mentioned.
[0034]
First, an example of the combination method of recommendation algorithms will be described with reference to FIGS. 1 to 5. Next, the combination method of recommendation algorithms according to an embodiment of the present technology will be described with reference to FIGS. 6 and 7. Next, the system configuration of a recommendation system capable of realizing the combination method of recommendation algorithms according to an embodiment of the present technology will be described with reference to FIG 8. Next, an overview of processing performed by the recommendation system according to an embodiment of the present technology will be provided with reference to FIG. 9.
[0035]
Next, the functional configuration of a server apparatus 100 according to an embodiment of the present technology will be described with reference to FIG 10. Next, the functional configuration of a user terminal 200 according to an embodiment of the present technology will be described with reference to FIG 11. Next, the derivation method of a correction function according to an embodiment of the present technology will be described with reference to FIG 12. Next, the setting method of a weight according to an embodiment of the present technology will be described with reference to FIG 13. Next, the flow of recommendation processing according to an embodiment of the present technology will be described with reference to FIG 14. Next, the calculation method of an integrated associated score according to an embodiment of the present technology will be described with reference to FIG 15.
[0036]
Next, an influence that could be caused by a difference of score systems on an associated score will be described with reference to FIG 16. . Next, an effect gained when the correction method of the associated score according to an embodiment of the present technology is applied will be described with reference to FIG 17. Next, the derivation method (extension example) of a correction function according to an embodiment of the present technology will be described with reference to FIG 18. Next, the setting method (extension example) of the weight according to an embodiment of the present technology will be described with reference to FIG. 19. Next, the flow (extension example) of recommendation processing according to an embodiment of the present technology will be described with reference to FIG. 20.
[0037]
Next, the adjustment method of the weight according to an embodiment of the present technology will be described in detail with reference to FIGS. 21 to 24. Next, a hardware configuration capable of realizing functions held by the server apparatus 100 and the user terminal 200 according to an embodiment of the present technology will be described with reference to FIG 25. Lastly, a technical idea of the embodiment will be summarized and an operation/working-effect gained from the technical idea will briefly be described.
[0038]
(Description items)
1: Introduction
1-1: Combination Example of Recommendation Algorithms 1-2: Combination Method of Recommendation Algorithms 1-3: Difference of Score Systems 2: Basic Configuration
2-1: Combination Method of Recommendation Algorithms 2-2: Configuration of Recommendation System 2-2-1: System configuration 2-2-2: Overview of processing
2-2-3: Functional configuration of the server apparatus 100 2-2-4: Functional configuration of the user terminal 200 2-3: Flow of Pre-processing
2-3-1: Derivation method of a correction function 2-3-2: Setting method of a weight 2-4: Flow of Recommendation Processing 3:
Extension Example
3-1: Flow of Pre-processing
3-1-1: Derivation method of a correction function 3-1-2: Setting method of a weight 3-2: Flow of Recommendation Processing 4: Adjustment Method of Weight according to Feedback 4-1: Adjustment Method of System Weight 4-1-1: Adjustment example #1 4-1-2: Adjustment example #2 4-2: Adjustment Method of User Weight 5: Supplementary Description
5-1: Adjustment Method of Weight When Feedback Is Not Used
5-2: Update of Correction Function
5-3: Items To Which No Associated Score Is Attached 6: Hardware Configuration Example 7: Conclusion
[0039] <1: Introduction>
First, an overview of issues arising when plural recommendation algorithms are simply combined and methods to solve the issues is provided.
[0040] [1-1: Combination Example of Recommendation Algorithms]
First, a combination example of scoring algorithms (e.g., recommendation algorithms) will be described. Cooperative filtering and content-based filtering are cited here as an example recommendation algorithms to be combined, but recommendation algorithms that can be combined are not limited to the above example.
[0041]
As an example, a case when cooperative filtering and content-based filtering are combined will be considered. As shown in FIG. 1, the cooperative filtering has the advantage of being able to obtain recommendation results with high precision when there are many feedback logs for an item. On the other hand, the cooperative filtering has the disadvantage of being unable to use when the number of logs is small. The feedback here means the purchase of an item, the selection of an item, viewing of an item, browsing of detailed information about an item, pressing of the Like/Dislike buttons, reviewing and the like.
[0042]
The content-based filtering has the advantage of being able to obtain stable recommendation results regardless of the number of logs. On the other hand, the content-based filtering has the disadvantage of using systematic metadata for reconmendation. If the cooperative filtering is contrasted with the content-based filtering, the cooperative filtering can output more precise recommendation results when there are many feedback logs.
[0043]
Thus, the cooperative filtering and the content-based filtering have respective advantages and disadvantages. Therefore, it is preferable to use the cooperative filtering or the content-based filtering according to circumstances. Thus, the inventors of the present technology attempted to develop a recommendation algorithm capable of providing high-precision recommendation results regardless of circumstances by combining plural recommendation algorithms (for example, the cooperative filtering and the content-based filtering).
[0044] [1-2: Combination Method of Recommendation Algorithms]
First, the inventors of the present technology reviewed a method of simply combining plural recommendation algorithms (hereinafter, referred to as a first recommendation algorithm and a second recommendation algorithm). In the review, the inventors of the present technology reviewed a recommendation system that selects recommended items based on an associated score Q obtained by linearly combining an associated score A calculated by using the first recommendation algorithm and an associated score B calculated by using the second recommendation algorithm. The method will briefly be described below.
[0045]
As shown in FIG 2, the recommendation system first calculates the associated score A(i, j) between an item i and an item j by using the first recommendation algorithm (step SI 1). The recommendation system also calculates the associated score B(i, j) between the item i and the item j by using the second recommendation algorithm (step S11). Next, the recommendation system calculates the associated score Q(i, j) by linearly combining the two associated scores A(i, j) and B(i, j) calculated in step S11 (step S12). The recommendation system calculates the associated score Q(i, j) by, for example. Formula (1) shown below, where ql and q2 are predetermined constants. [0046]
[0047]
Next, the recommendation system selects recommended items based on the associated score Q(i, j) calculated in step S12 (step SI 3). If the item to be a seed of recommendation is i, the item j for which the associated score Q(i, j) is large is selected as a recommended item. The cofficients ql and q2 are weights that decide whether to attach more importance to the first recommendation algorithm or to the second recommendation algorithm. If, for example, ql>q2 is set, recommendation results by the first recommendation algorithm are expected to be strongly reflected and if qlq2. Furthermore, even if the weights are set like ql = q2, recommendation results by one recommendation algorithm may strongly be reflected due to a difference of the score systems. Assume, for example, that the associated scores A(i, j) and B(i, j) take values as shown in FIG. 3. In this example, the associated score A(i, j) is incomparably larger than the associated score B(i, j).
[0049]
On the other hand, if the two associated scores A(i, j) and B(i, j) are each referred to, the associated score B(i, j) also has large values for combinations (i, j) of items for which the associated score A(i, j) is large. That is, as shown in FIG. 4, there is a correlation between the two associated scores A(i, j) and B(i, j). More specifically, in the example of FIG 4, a linear relation is discerned between the two associated scores A(i, j) and B(i, j). The example shown in FIG. 4 is produced by plotting (Xn, Yn) = (A(i, j), B(i, j)) on an X-Y plane (n = 1 to m).
[0050]
However, the associated score A(i, j) is incomparably larger than the associated score B(i, j) and thus, as shown in FIG 5, an influence of the first recommendation algorithm becomes predominant if the associated score Q(i, j) is calculated based on Formula (1) shown above. While an example in which two recommendation algorithms are combined in a one-to-one ratio (when ql = q2) is shown here, the influence of the first recommendation algorithm is predominant in this example even if ql = 0.8 and q2 = 0.2 are set to make the influence of the second recommendation algorithm stronger. Therefore, a recommendation result that is different from user's intentions may follow due to a difference of score systems between recommendation algorithms.
[0051]
Incidentally, the inventors of the present technology also reviewed a method of optimizing the weight for each combination of recommendation algorithms, but came to a conclusion that it is difficult to decide the optimal weight because the optimal weight needs to be decided after adequately analyzing characteristics of recommendation algorithms. Moreover, if the optimal weight changes in accordance with the number of logs or the number of pieces of metadata, it is difficult to significantly change the weight once decided. Therefore, the inventors of the present technology developed a method of appropriately correcting the score system. The method and a recommendation system to which the method is applied will be described below.
[0052] <2: Basic Configuration>
The basic configuration of a recommendation system according to an embodiment of the present technology will be described below.
[0053] [2-1: Combination Method of Recommendation Algorithms]
First, an overview of the combination method of reconunendation algorithms according to an embodiment of the present technology will be provided with reference to FIG. 6. FIG 6 is an explanatory view providing an overview of the combination method of recommendation algorithms according to an embodiment of the present technology,
[0054]
As shown in FIG 6, the recommendation system first calculates the associated score A(i, j) between the item i and the item j by using the first recommendation algorithm (step S101). The recommendation system also calculates the associated score B(i, j) between the item i and the item j by using the second recommendation algorithm (step SlOl). Next, the recommendation system matches score systems of the two associated scores A(i, j) and B(i, j) calculated in step S101 (step S102). For example, the recommendation system calculates an associated score B'(i, j) by adjusting (e.g., correcting) the associated score B(i, j) (step SI02)
[0055]
Next, the recommendation system calculates the associated score Q(i, j) by linearly combining the associated score A(i, j) calculated in step SlOl and the associated score B'(i, j) calculated in step S102 (step S103). The recommendation system calculates the associated score Q(i, j) by, for example. Formula (2) shown below, where ql and q2 are predetermined constants.
[0056]
[0057]
Next, the recommendation system selects recommended items based on the associated score Q(i, j) calculated in step S103 (step S104). If the item to be a seed of recommendation is i, the item j for which the associated score Q(i, j) is large is selected as a recommended item. The coefficients ql and q2 are weights that decide whether to attach more importance to the first recommendation algorithm or to the second recommendation algorithm.
[0058]
As described above, the recommendation system according to an embodiment of the present technology corrects the associated score B(i, j). The correction method will supplementarily be described with reference to FIG. 7.
[0059]
In the example of FIG 5 referred to before, the associated scores have a relationship A(i, j)» B(i, j). Plotting of (Xn, Yn) = (A(i, j), B(i, j)) on the X-Y plane based on the example looks like FIG 7. The associated scores are related by A(i, j)» B(i, j) before the correction and thus, each point is positioned near Y = w*X + wO (w«l). On the other hand, the associated scores are related by A(i, j)« B'(i, j) after the correction and thus, each point is positioned near Y = X. That is, the recommendation system corrects the associated score B(i, j) so that the inclination of a regression line for a set of Xn, Yn) approaches 1. Note that, as will be described later, a result of regression analysis of (Xn, Yn) is not necessarily a straight line.
[0060]
In the foregoing, an overview of the combination method of recommendation algorithms according to an embodiment of the present technology has been provided. The method and the configuration of the recommendation system to which the method is applied will be described in more detail below.
[0061] [2-2: Configuration of Recommendation System]
Next, the configuration of the recommendation system according to an embodiment of the present technology will be described.
[0062] (2-2-1: System configuration)
First, the system configuration of the recommendation system according to an embodiment of the present technology will be described with reference to FIG 8. FIG 8 is an explanatory view illustrating the system configuration of a recommendation system according to an embodiment of the present technology.
[0063]
As shown in FIG 8, the recommendation system according to an embodiment of the present technology mainly includes the server apparatus 100 and the user terminal 200. The server apparatus 100 and the user terminal 200 are connected by a network 10. An administrator terminal 20 is connected to the network 10. Further, a storage apparatus 130 is connected to the server apparatus 100. The storage apparatus 130 may be contained in the server apparatus 100 or connected to the server apparatus 100 via the network 10 or another communication network.
[0064]
Information stored in the storage apparatus 130 will be described. The storage apparatus 130 stores information, for example, an item, metadata attached to the item, and a log of feedback on the item given by a user. In addition, the storage apparatus 130 stores information such as calculation results of associated scores by individual recommendation algorithms, weights used when recommendation algorithms are combined, correction functions used for correcting associated scores, and correction amounts of weights.
[0065] (2-2-2: Overview of processing)
Next, an overview of processing performed by the recommendation system according to an embodiment of the present technology will be provided with reference to FIG 9. FIG. 9 is an explanatory view providing an overview of processing performed by the recommendation system according to an embodiment of the present technology.
[0066]
As shown in FIG 9, a system adnunistrator first sets the weight for each combination of reconmiendation algorithms by using the administrator terminal 20 (step Sill). The weight set in step S111is stored in the storage apparatus 13 0 by the server apparatus 100. Next, the server apparatus 100 calculates associated scores by individual recommendation algorithms (step SI 12). If, for example, feedback is given on some item (seed), the server apparatus 100 calculates associated scores for the item by individual recommendation algorithms. The associated scores calculated in step SI 12 are stored in the storage apparatus 130.
[0067]
Next, the server apparatus 100 generates a correction function by using associated scores stored in the storage apparatus 130 (step S113). For example, the server apparatus 100 generates a correction function f that approximates the score system of the associated score A(i,j) calculated by the first recommendation algorithm by correcting the associated score B(i, j) calculated by the second recommendation algorithm. That is, the server apparatus 100 generates the correction function f so that A(i, j)« f(B(i, j)) holds. The correction function f generated in step SI 13 is stored in the storage apparatus 130.
[0068]
Next, the server apparatus 100 acquires feedback input by the user via the user terminal 200 (step S114). Next, the server apparatus 100 adjusts (e.g., corrects) the weight used in common in the system in accordance with the feedback acquired in step S114 (step S115). The weight corrected in step S115 and used in common in the system is stored in the storage apparatus 130. Further, the server apparatus 100 corrects the weight for each user in accordance with the feedback acquired in step S114 (step S116). The weight for each user corrected in step S116 is stored in the storage apparatus 130.
[0069]
Next, the server apparatus 100 corrects the associated scores calculated in step SI 12 by the correction function generated in step SI 13 and then combines associated scores by using the weights corrected in steps S115 and S116. Further, the server apparatus 100 selects items to be recommended to the user based on the combined associated score. Then, the server apparatus 100 recommends the selected items to the user (step SI 17) before terminating a sequence of processing. In the foregoing, an overview of processing performed by the recommendation system according to an embodiment of the present technology has been provided.
[0070] (2-2-3: Functional configuration of the server apparatus 100)
Next, the functional configuration of the server apparatus 100 according to an embodiment of the present technology will be described in more detail with reference to FIG 10. FIG. 10 is an explanatory view illustrating the functional configuration of the server apparatus 100 according to an embodiment of the present technology.
[0071]
As shown in FIG 10, the server apparatus 100 mainly includes plural individual associated score calculation units 101, a correction function generation unit 102, an individual associated score correction unit 103, an integrated associated score calculation unit 104, and a recommended item selection unit 105. Further, the server apparatus 100 includes a weight adjustment unit 106 and a feedback determination unit 107. The weight adjustment unit 106 includes a system weight correction imit 1061 and a user weight correction unit 1062. Three units of the individual associated score calculation unit 101 are provided in the example of FIG 10, but the number of the individual associated score calculation units 101 is increased/decreased in accordance with the number of recommendation algorithms to be combined.
[0072]
The functional configuration of a server apparatus 100 will be described below along the flow of (1) Pre-processing and (2) Processing to select items r (hereinafter, recommended items r) in accordance with feedback on an item s (hereinafter, a seed item s) given by the user.
[0073] (1) Pre-processing
As described above, the server apparatus 100 matches score systems of associated scores to be combined by using a correction function. For this purpose, the server apparatus 100 generates the correction function f by using existing item information. First, the server apparatus 100 acquires a predetermined number of items s that could become the seed items s from the storage apparatus 130. Fiirther, the server apparatus 100 acquires a predetermined number of items r that could become the recommended items r from the storage apparatus 130. The items s, r acquired here are input into the individual associated score calculation units 101.
[0074]
After the items s, r are input, the individvial associated score calculation units 101 calculates associated scores of the items s, r by using respective allocated recommendation algorithms. For example, the individual associated score calculation units 101 to which the first recommendation algorithm is allocated calculates the associated score A(s, r). The individual associated score calculation units 101 to which the second recommendation algorithm is allocated calculates the associated score B(s, r). If three or more recommendation algorithms are combined, the individual associated score calculation units 101 to which one of third to N-th recommendation algorithms (Nk3) is allocated calculates one of associated scores C(s, r), D(s, r),... For convenience of description, a case when two recommendation algorithms are combined will be considered.
[0075]
The associated scores A(s, r) and B(s, r) calculated by the individual associated score calculation units 101 are stored in the storage unit 130 and also input into the correction function generation unit 102. Note that plural sets of the associated scores A(s, r) and B(s, r) are input into the correction function generation unit 102. After the associated scores A(s, r) and B(s, r) are input, the correction function generation unit 102 generates the correction function f by using the input associated scores A(s, r) and B(s, r). For example, if, as shown in FIG 3, A(i, j) and B(i, j) (i = 1,2; j = 1,2, 3) are input as the associated scores A(s, r) and B(s, r), the correction function generation unit 102 generates the correction function f (fPQ = 10*X + 0.5 in this example, see FIG 4) based on regression analysis.
[0076]
The correction function f is a linear function in the example of FIG 3, but the correction function f may not be a linear function depending on the combination of recommendation algorithms. In that case, the correction function generation unit 102 generates the non-linear correction function f by performing a non-linear regression analysis such as polynomial regression, power regression, logarithmic regression, and exponential regression. The correction function generation unit 102 uses, for example, a regression algorithm such as the Expectation Maximization (EM) algorithm and Wake-Sleep algorithm for regression analysis. The correction function f generated by the correction function generation unit 102 in this manner is stored in the storage unit 130 and also input into the individual associated score correction unit 103. If the correction function f becomes a linear function. coefficients of the correction function f(X) = w*X + wO are given by Formulas (3) and (4) below if the least squares method algorithm is used. The number of samples used for regression analysis is assumed to be m.
[0077]
In the foregoing, the derivation method of the correction function f has been described as one piece of pre-processing. In addition to the correction function f, the pre-processing includes settings of the weights ql, q2. The weights ql, q2 are set by the system administrator via the administrator terminal 20 in advance. The weights ql, q2 set by the system administrator are stored in the storage apparatus 130.
[0079]
(2) Selection processing of the recommended items r
When the above pre-processing is completed, recommended items r for the seed item s can be recommended. When a presentation request of recommaended items r for the seed item s is received, the individual associated score calculation unit 101 acquires items rl, r2,... to be candidates of the recommended items r from the storage apparatus 130. For example, the individual associated score calculation units 101 using the first recommendation algorithm acquires items rlA, r2A,... from the storage apparatus 130. The individual associated score calculation units 101 using the second recommendation algorithm acquires items rlB, r2B,... from the storage apparatus 130.
[0080]
The individual associated score calculation unit 101 having acquired the items rlA, r2A,... to be candidates of the recommended items r calculates the associated scores A(s, rl A), A(s, r2A),... between the seed item s and the items rl A, r2A,... The individual associated score calculation unit 101 having acquired the items rlB, r2B,... to be candidates of the recommended items r calculates the associated scores B(s, rlB), B(s, r2B),... between the seed item s and the items rlB, r2B,... The associated scores A(s, rl A), A(s, r2A),... B(s, rlB), B(s, r2B),... calculated by the individual associated score calculation unit 101 are input into the individual associated score correction unit 103.
[0081]
When the associated scores A(s, rl A), A(s, r2A),... B(s, rlB), B(s, r2B),... are input, the individiial associated score correction unit 103 acquires the correction function f from the storage apparatus 130. Then, the individual associated score correction imit 103 corrects the associated scores B(s, rlB), B(s, r2B),... by using the correction function f to generate new associated scores B'(s, rlB), B'(s, r2B),... More specifically, the individual associated score correction unit 103 calculates f(B(s, rlB)), f(B(s, r2B)),... The new associated scores B'(s, rlB), B'(s, r2B),... calculated by the individual associated score correction unit 103 and the associated scores A(s, rl A), A(s, r2A),... are input into the integrated associated score calculation unit 104.
[0082]
When the associated scores A(s, rl A), A(s, r2A),... B'(s, rlB), B'(s, r2B),... are input, the integrated associated score calculation unit 104 calculates a new associated score (hereinafter, an integrated associated score) Q(s, r) (r € {rl A, r2A,..., rlB, r2B,...}) by linearly combining the input associated scores A(s, rl A), A(s, r2A),... B'(s, rlB), B'(s, r2B),... At this point, the integrated associated score calculation unit 104 calculates the integrated associated score Q(s, r) by using, for example, the weights ql, q2 acquired from the storage apparatus 130.
[0083]
The integrated associated score Q(s, r) calculated by the integrated associated score calculation unit 104 is provided to the user terminal 200. In addition, the integrated associated score Q(s, r) calculated by the integrated associated score calculation unit 104 is input into the recommended item selection unit 105. When the integrated associated score Q(s, r) is input, the recommended item selection unit 105 selects a predetermined number of items r in descending order of input integrated associated score Q(s, r) as recommended items. Then, the recommended item selection unit 105 provides the selected recommended items r to the user terminal 200.
[0084]
The weights ql, q2 will supplementarily be described. As described above, the weights ql, q2 are set by the system administrator in advance. However, the weights ql, q2 set by the system administrator may not suit user's preferences. Thus, a mechanism capable of adjusting the weights ql, q2 in accordance with feedback of the user is mounted in the server apparatus 100 according to an embodiment of the present technology. Adjustments of the weights q 1, q2 are made by the weight adjustment unit 106.
[0085]
If the user gives feedback on the recommended item r, the feedback is input into the feedback determination unit 107. When the feedback is input, the feedback determination unit 107 determines whether the input feedback indicates a positive trend or a negative trend. For example, the purchase of an item, the selection of an item, viewing of an item, browsing of detailed information about an item, pressing of the Like button, and reviewing with a high score are feedback indicating a positive trend. On the other hand, pressing of the Dislike button and reviewing with a low score are examples of feedback indicating a negative trend.
[0086]
A determination result by the feedback determination unit 107 is input into the weight adjustment unit 106. When the determination result is input, the weight adjustment unit 106 adjusts the weights ql, q2 in accordance with the detennination result. A concrete adjustment method of the weight by the weight adjustment imit 106 will be described in detail later. The weights ql, q2 adjusted by the weight adjustment unit 106 are stored in the storage apparatus 130.
[0087]
In the foregoing, the functional configuration of the server apparatus 100 according to an embodiment of the present technology has been described. The functional configuration of the server apparatus 100 shown in FIG 10 is only an example and modifications such as omission of a portion of the functional configuration and addition of a new functional configviration may be made. For example, the server apparatus 100 may be configured to provide only integrated associated scores to the user terminal 200 by omitting the recommended item selection unit 105. Alternatively, the server apparatus 100 may be configured to use the weights ql, q2 set by the system administrator permanently by omitting the weight adjustment unit 106 and the feedback detennination unit 107.
[0088] (2-2-4: Functional configuration of the user terminal 200)
Next, the functional configuration of the user terminal 200 according to an embodiment of the present technology will be described in more detail with reference to FIG 11. FIG 11 is an explanatory view illustrating the functional configuration of the user terminal 200 according to an embodiment of the present technology in more detail.
[0089]
As shown in FIG 11, the user terminal 200 mainly includes a feedback notification unit 201, an integrated associated score acqmsition imit 202, a recommended item acquisition unit 203, and an information presentation unit 204. The user terminal 200 can be embodied, as shown in FIG 8, in various forms. The user terminal 200 also has an input unit and a display unit mounted thereon. As the input unit, for example, an input device such as a keyboard, mouse, touch sensor, and remote controller can be exemplified. As the display unit, a display device such as a liquid crystal display, organic electroluminescence display can be exemplified.
[0090]
The user terminal 200 is used, for example, to browse items and give feedback on an item. If the user gives feedback on an item by using the input imit, the feedback is input into the feedback notification unit 201. When the feedback is input, the feedback notification unit 201 sends the input feedback to the server apparatus 100 and request recommendation of items from the server apparatus 100. When the request is received, as described above, the server apparatus 100 provides the integrated associated score Q(s, r) relating to the seed item s and the recommended items r to the user terminal 200.
[0091]
The user terminal 200 acquires the integrated associated score Q(s, r) fi-om the server apparatus 100 by using a function of the integrated associated score acquisition unit 202. When the integrated associated score Q(s, r) is acquired, the integrated associated score acquisition unit 202 inputs the acquired integrated associated score Q(s, r) into the information presentation unit 204. The user terminal 200 also acquires the recommended items r fi"om the server apparatus 100 by using a function of the recommended item acquisition unit 203. When the recommended items r are acquired, the recommended item acqmsition unit 203 input the acquired recommended items r into the information presentation unit 204. When the integrated associated score Q(s, r) and the reconmiended items r are input, the information presentation unit 204 presents the recommended items r in descending order of input integrated associated score Q(s, r).
[0092]
In the foregoing, the functional configuration of the user terminal 200 according to an embodiment of the present technology has been described. The functional configuration of the user terminal 200 shown in FIG 11 is only an example and modifications such as omission of a portion of the functional configuration and addition of a new functional configuration may be made. For example, the user terminal 200 may be configured to present only integrated associated scores to the user by omitting the recommended item acquisition unit 203. Alternatively, the user terminal 200 may be configured to present the recommended items r to the user in the order in which the recommended items r are provided from the server apparatus 100 by omitting the integrated associated score acquisition unit 202.
[0093]
In the foregoing, the configuration of a recommendation system has been described.
[0094] [2-3: Flow of Pre-processing]
Next, the flow of pre-processing performed before recommendation processing according to an embodiment of the present technology will be described. The pre-processing described below is mainly performed by the server apparatus 100.
[0095] (2-3 -1: Derivation method of a correction function)
First, the derivation method of a correction function according to an embodiment of the present technology will be described with reference to FIG 12. FIG 12 is an explanatory view illustrating the derivation method of a correction function according to an embodiment of the present technology,
[0096]
As shown in FIG 12, the server apparatus 100 first extracts a predetermined number of items s that could become a recommendation Seed (seed item) and a predetermined number of items r that could become a recommendation Result (recommended item) through the function of the individual associated score calculation units 101 (step S121). A set of the items s is denoted as S and a set of the items r is denoted as R. Next, the server apparatus 100 calculates the associated scores A(s, r) and B(s, r) for all combinations of s e S and r e R through the function of the individual associated score calculation units 101 (step S122). Next, the server apparatus 100 derives a correction function f through the function of the correction function generation unit 102 so that the associated scores have a relationship A(s, r)« f(B(s, r))(Vs G S, Vr € R) (step SI23). Next, the server apparatus 100 stores the correction function f derived in step SI23 in the storage apparatus 130 through the function of the correction function generation unit 102 (step S124).
[0097]
In the foregoing, the derivation method of a correction function according to an embodiment of the present technology has been described.
[0098] (2-3-2: Setting method of a weight)
Next, the setting method of a weight according to an embodiment of the present technology will be described with reference to FIG 13. FIG 13 is an explanatory view illustrating the setting method of a weight according to an embodiment of the present technology.
[0099]
As shown in FIG 13, the server apparatus 100 stores the weights ql, q2 set by the system administrator for combinations of recommendation algorithms in the storage apparatus 130 (step S131). The system administrator inputs the weights q 1, q2 by using the administrator terminal 20. The weights ql, q2 input into the administrator terminal 20 are input into the server apparatus 100 via the network 10. Then, the weights ql, q2 input into the server apparatus 100 are stored, as described above, in the storage apparatus 130. The setting method of the weights ql, q2 described here is the setting method of weights in the pre-processing. The adjustment method of the weights ql, q2 in accordance with user's feedback will be described in detail later.
[0100]
In the foregoing, the setting method of the weight according to an embodiment of the present technology has been described.
[0101] [2-4: Flow of Recommendation Processing]
Next, the flow of recommendation processing according to an embodiment of the present technology will be described with reference to FIG 14. FIG 14 is an explanatory view illustrating the flow of recommendation processing according to an embodiment of the present technology. The recommendation processing described below is mainly performed by the server apparatus 100.
[0102]
If the user gives feedback on a recommendation Seed s' (seed item s'), as shown in FIG 14, the server apparatus 100 receives a presentation request of recommended items for the seed item s' from the user terminal 200 (step S141). When the presentation request of recommended items is received, the server apparatus 100 calculates associated scores A(s', rl A), A(s', r2A),... indicating the relationship between the seed item s' and recommended item candidates rl A, r2A,... by using the first recommendation algorithm A through the function of the individual associated score calculation units 101 (step SI42). Next, the server apparatus 100 calculates associated scores B(s', rlB), B(s', r2B),... indicating the relationship between the seed item s' and recommended item candidates rlB, r2B,... by using the second recommendation algorithm B through the function of the individual associated score calculation units 101 (step S143).
[0103]
Next, the server apparatus 100 corrects the associated scores B(s', rlB), B(s', r2B),... by using the correction function f through the function of the individual associated score correction unit 103 to calculate new associated scores B'(s', rlB), B'(s', r2B),... (step S144). B'(s', rlB) is defined as f(B(s', rlB)) and B'(s', r2B) is defined as f(B(s', r2B)). Next, the server apparatus 100 calculates integrated associated scores Q(s', rlA), Q(s', r2A),..., Q(s', rlB), Q(s', r2B),... by using the weights ql, q2 through the function of the integrated associated score calciUation unit 104 (step SI45). Next, the server apparatus 100 provides the integrated associated scores Q(s', rlA), Q(s', r2A),..., Q(s', rlB), Q(s', r2B),... calciilated in step SI 45 to the user terminal 200 through the function of the integrated associated score calculation unit 104 (step SI46).
[0104]
In the foregoing, the flow of recommendation processing according to an embodiment of the present technology has been described. The description has been provided by focusing on calculation processing of integrated associated scores and highly precise item recommendation can be realized by recommending items with a high integrated associated score.
[0105]
(Concrete example)
The calculation method of an integrated associated score will be described with reference to FIG. 15 by citing a concrete example. In the example of FIG 15, associated scores (A(s', rlA), A(s', r2A), A(s', r3A), A(s', r4A)) = (0.9, 0.8, 0.7, 0.6) are calculated for the seed item s' by the first recommendation algorithm A. Also, associated scores (B(s', rlB), B(s', r2B), B(s', r3B), B(s', r4B)) = (0.08, 0.075, 0.07, 0.06) are calculated for the seed item s' by the second recommendation algorithm B. It is assumed that the weights are set as ql = 0.2 and q2 = 0.8. Further, it is assumed that the correction function f(X) = 10*X + 0.5 is obtained by pre-processing.
[0106]
In this case, the integrated associated score calculation unit 104 calculates (ql*A(s', rlA), ql*A(s', r2A), ql*A(s', r3A), ql*A(s', r4A)) = (0.18, 0.16, 0.14, 0.12) by multiplying the associated score A(-) by ql. The individual associated score correction unit 103 corrects the associated score B(-) by using the correction function f to calculate (f(B(s', rlB)), f(B(s', r2B)), f(B(s', r3B)), f(B(s', r4B))) = (1.3, 1.25,1.2,1.1). Next, the integrated associated score calculation unit 104 multipUes the associated score f(B(-)) by q2 to calculate (q2*f(B(s', rlB)), q2*f(B(s', r2B)), q2*f(B(s', r3B)), q2*f(B(s', r4B))) = (1.04,1.0, 0.96, 0.88).
[0107]
Next, the integrated associated score calculation imit 104 calculates an integrated associated score Q(-) by integrating weighted associated scores ql*A(-) and q2*f(B(-)). More specifically, the integrated associated score calculation unit 104 calculates Q(-) = ql * A(0 + q2*f(B(-)). In the example of FIG 15, the calculation yields (Q(s', rlB), Q(s', r2B), Q(s', r3B), Q(s', r4B), Q(s', rlA), Q(s', r2A), Q(s', r3A), Q(s', r4A)) = (1.04,1.0, 0.96, 0.88, 0.18, 0.16, 0.14, 0.12) If the associated score B(-) is not corrected by the correction function f, as shown in FIG 16, ql * A(-)>q2*B(-) holds even if ql
Heretofore, the method of combining two recommendation algorithms has been described. However, the method according to an embodiment of the present technology can be extended to a method of combining three or more recommendation algorithms. Thus, the method of combining three recommendation algorithms (hereinafter, called the present extension example) will be described.
[0111] [3-1: Flow of Pre-processing]
First, the flow of pre-processing performed before recommendation processing according to the present extension example will be described. The pre processing described below is mainly performed by the server apparatus 100.
[0112] (3-1-1: Derivation method of a correction function)
First, the derivation method of a correction function according to the present extension example will be described with reference to FIG 18. FIG 18 is an explanatory view illustrating the derivation method of a correction function according to the present extension example.
[0113]
As shown in FIG 18, the server apparatus 100 first extracts a predetermined number of items s that could become a recommendation Seed (seed item) and a predetermined number of items r that could become a recommendation Result (recommended item) through the function of the individual associated score calculation units 101 (step SI 51). A set of the items s is denoted as S and a set of the items r is denoted as R. Next, the server apparatus 100 calculates the associated scores A(s, r), B(s, r) and C(s, r) for all combinations of s € S and r e R through the function of the individual associated score calculation units 101 (step SI 52).
[0114]
Next, the server apparatus 100 derives a correction function f through the function of the correction function generation unit 102 so that the associated scores have a relationship A(s, r)« f(B(s, r))(Vs e S, Vr e R) (step SI53). Next, the server apparatus 100 derives a correction function g through the function of the correction function generation vinit 102 so that the associated scores have a relationship A(s, r)« g(C(s, r))(Vs e S, Vr e R) (step SI54). Next, the server apparatus 100 stores the correction functions f and g derived in steps S153 and S154 in the storage apparatus 130 through the function of the correction function generation unit 102 (step SI55).
[0115]
In the foregoing, the derivation method of a correction function according to the present extension example has been described.
[0116] (3-1-2: Setting method of a weight)
Next, the setting method of the weight according to the present extension example will be described with reference to FIG. 19. FIG 19 is an explanatory view illustrating the setting method of the weight according to the present extension example.
[0117]
As shown in FIG 19, the server apparatus 100 stores the weights ql, q2, q3 set by the system administrator for combinations of recommendation algorithms in the storage apparatus 130 (step S161). The system administrator inputs the weights ql, q2, q3 by using the administrator terminal 20. The weights ql, q2, q3 input into the administrator terminal 20 are input into the server apparatus 100 via the network 10. Then, the weights ql, q2, q3 input into the server apparatus 100 are stored, as described above, in the storage apparatus 130. The setting method of the weights ql, q2, q3 described here is the setting method of weights in the pre-processing. The weights ql, q2, q3 set here may be corrected in accordance with user's feedback.
[0118]
In the foregoing, the setting method of the weight according to the present extension example has been described.
[0119] [3-2: Flow of Recommendation Processing]
Next, the flow of recommendation processing according to the present extension example will be described with reference to FIG 20. FIG 20 is an explanatory view illustrating the flow of recommendation processing according to the present extension example. The recommendation processing described below is mainly performed by the server apparatus 100.
[0120]
If the user gives feedback on a recommendation Seed s' (seed item s'), as shown in FIG 20, the server apparatus 100 receives a presentation request of recommended items for the seed item s' from the user terminal 200 (step SI71). When the presentation request of recommended items is received, the server apparatus 100 calculates associated scores A(s', rlA), A(s', r2A),... indicating the relationship between the seed item s' and recommended item candidates rl A, r2A,... by using the first recommendation algorithm A through the function of the individual associated score calculation units 101 (step SI72).
[0121]
Next, the server apparatus 100 calculates associated scores B(s', rlB), B(s', r2B),... indicating the relationship between the seed item s' and recommended item candidates rlB, r2B,... by vising the second recommendation algorithm B through the function of the individual associated score calculation units 101 (step S173). Next, the server apparatus 100 calculates associated scores C(s', rlC), C(s', r2C),... indicating the relationship between the seed item s' and recommended item candidates rlC, r2C,... by using the third recommendation algorithm C through the function of the individual associated score calculation units 101 (step SI 74).
[0122]
Next, the server apparatus 100 corrects the associated scores B(s', rlB), B(s', r2B),... by using the correction function f through the function of the individual associated score correction unit 103 to calculate new associated scores B'(s', rlB), B'(s', r2B),... (step S175). B'(s', rlB) is defined as f(B(s', rlB)) and B'(s', r2B) is defined as f(B(s', r2B)). Next, the server apparatus 100 corrects the associated scores C(s', rlC), C(s', r2C),... by using the correction function g through the function of the individual associated score correction unit 103 to calculate new associated scores C'(s', rlC), C'(s', r2C),... (step SI76). C'(s', rlC) is defmed as g(C(s', rlC)) and C'(s', r2C) is defmed as g(G(s', r2C)).
[0123]
Next, the server apparatus 100 calculates, based on Formula (5) below, integrated associated scores Q(s', rlA), Q(s', r2A),..., Q(s', rlB), Q(s', r2B),... Q(s', rlC), Q(s', r2C),... by using the weights ql, q2, q3 through the function of the integrated associated score calculation unit 104 (step SI77), Next, the server apparatus 100 provides the integrated associated scores Q(s', rl A), Q(s', r2A),..., Q(s', rlB), Q(s', r2B),... Q(s', rlC), Q(s', r2C),... calculated in step S177 to the user terminal 200 through the function of the integrated associated score calculation unit 104 (step S178).
[0124]
[0125]
In the foregoing, the flow of recommendation processing according to the present extension example has been described. The description has been provided by focusing on calculation processing of integrated associated scores and highly precise item recommendation can be realized by recommending items with a high integrated associated score. 5
[0126]
<4: Adjustment Method of Weight according to Feedback>
Heretofore, a detailed description of the method of adjusting the weight in accordance with user's feedback has been left out. The adjustment method of the weight that has been left out will be described below. The adjustment method of the weight described below is realized mainly by the function of the weight adjustment unit 106 of the functions of the server apparatus 100.
[0127] [4-1: Adjustment Method of System Weight]
The weight considered here includes a weight commonly used throughout the system (hereinafter, called a system weight) and a weight individualized for each user (hereinafter, called a user weight). First, the adjustment method of the system weight will be described. Adjustment processing of the system weight is mainly performed by the system weight correction unit 1061.
[0128]
(4-1-1: Adjustment example #1)
First, an example (adjustment example #1) of the adjustment method of the system weight according to an embodiment of the present technology will be described with reference to FIG 21. FIG 21 is an explanatory view illustrating an example (adjustment example #1) of the adjustment method of the system weight according to an embodiment of the present technology.
[0129]
As shown in FIG 21, when a recommendation Result r (recommended item r) for a recommendation Seed s (seed item s) is recommended to a user, the server apparatus 100 first acquires feedback input by the user (step S181). Next, the server apparatus 100 determines whether or not the acquired feedback is feedback indicating a positive trend through the function of the feedback determination unit 107 (step S182). If the acquired feedback is determined to be feedback indicating a positive trend, the server apparatus 100 proceeds to step S183. On the other hand, if the acquired feedback is determined not to be feedback indicating a positive trend, the server apparatus 100 proceeds to step SI84. 5
[0130]
If the processing proceeds to step S183, the system weight correction unit 1061 sets a correction amoimt d of weight as d = dO (step SI 83). On the other hand, if the processing proceeds to step SI 84, the system weight correction unit 1061 sets the correction amount d of weight as d = -dO (step SI 84). It is assumed that the fluctuation do of the weight is set by the system administrator in advance.
[0131]
When the processing in step SI83 or SI84 is completed, the server apparatus 100 proceeds to step S185. When the processing proceeds to step S185, the system weight correction unit 1061 determines whether the two associated scores A(s, r) and B(s, r) satisfy the condition of A(s, r)>f(B(s, r)) (step S185). If the condition of A(s, r)>f(B(s, r)) is determined to be satisfied, the server apparatus 100 proceeds to step S186. On the other hand, if the condition of A(s, r)>f(B(s, r)) is determined not to be satisfied, the server apparatus 100 proceeds to step SI87.
[0132]
If the processing proceeds to step S186, the system weight correction unit 1061 corrects the weights ql, q2 based on Formula (6) below (step S186). On the other hand, if the processing proceeds to step SI 87, the system weight correction unit 1061 corrects the weights q 1, q2 based on Formula (7) below (step S187). When the processing in step SI86 or SI87 is completed, the server apparatus 100 terminates a sequence of processing related to adjustments of the system weight.
[0133]
[0134]
(Concrete example)
A concrete example of the adjustment method of the system weight will be described with reference to FIG 22. For example, the weights set by the system administrator are assumed to be ql = 0.2 and q2 = 0.8 and the fluctuation of the weight to be dO = 0.1. It is also assumed that the correction function is f(X) = 0.5-0.5X and the associated scores are A(s, rl) = 0.3, A(s, r2) = 0.3, B(s, rl) = 0.6, and B(s, r2) = 0.2. In this case, f(B(s, rl)) = 0.2 and f(B(s, r2)) = 0.4 are obtained. If the weights are not adjusted, as shown in FIG 22, the integrated associated scores Q() are obtained as Q(s, rl) = 0.22 and Q(s, r2) = 0.38. The server apparatus 100 recommends items rl, r2 to the user based on these integrated associated scores Q(-).
[0135]
Then, when the user gives feedback on rl, the server apparatus 100 corrects the weights ql, q2 (system weights). If the feedback indicates a positive trend, in the example of FIG 22, the server apparatus 100 increases the weight ql by which the associated score A(-) is multiplied by dO and decreases the weight q2 by which the associated score B(-) is multiplied by dO. On the other hand, if the feedback indicates a negative trend, in the example of FIG 22, the server apparatus 100 decreases the weight ql by which the associated score A(-) is multiplied by dO and increases the weight q2 by which the associated score B(-) is multiplied by dO.
[0136]
According to an embodiment of the present technology, the system weights ql, q2 can be adjusted by the above method in accordance with user's feedback on recommended items.
[0137] (4-1-2: Adjustment example #2)
Next, an example (adjustment example #2) of the adjustment method of the system weight according to an embodiment of the present technology will be described with reference to FIGS. 23 and 24. FIGS. 23 and 24 are explanatory views illustrating an example (adjustment example #2) of the adjustment method of the system weight according to an embodiment of the present technology.
[0138]
As shown in FIG 23, the server apparatus 100 first prepares plural calculation methods of the integrated associated score through the function of the weight adjustment unit 106 (step S191). For example, three calculation methods shown as Formulas (8) to (10) below are prepared, zl and z2 are predetermined coefficients satisfying the condition 0CD) in predetermined timing, the weight ql is increased by dO and the weight q2 is decreased by dO. Conversely, if the number of times CU of occurrence of an opportunity to increase the weight ql falls short of the number times CD of occurrence of an opportunity to decrease the weight ql (CU
Heretofore, an embodiment of the present technology has been described. A configuration that can be added to the description will briefly be described. In addition, a portion of the description will be supplemented.
[0152] [5-1: Adjustment Method of Weight When Feedback Is Not Used]
In the above description, the method of adjusting weights in accordance with feedback has been described, but a method of adjusting weights without using feedback can also be considered. As one of such methods, a method by which plural weights are prepared to use different weights according to circumstances can be considered.
[0153]
For example, it is assumed that an item group (hereinafter, called a first item group) of type whose recommendation results are more likely to be stressed by cooperative filtering and an item group (hereinafter, called a second item group) of type whose recommendation results are more likely to be stressed by content-based filtering are present. Suppose that an item that should be stressed for some reason such as campaigns, events, or business reasons belongs to the first item group. In this case, it is preferable to increase the weight of the cooperative filtering and decrease the weight of the content-based filtering.
[0154]
Consider a more concrete example. When, for example, the cooperative filtering and content-based filtering are combined, a method of decreasing the weight of the cooperative filtering and increasing the weight of the content-based filtering can be considered to stress recommendation results of a new publication on the day of issue.
[0155]
Incidentally, the adjustment method described here and the above adjustment method of weights by using feedback may be combined.
[0156] [5-2: Update of Correction Function]
In the above description, the update of a correction function is not mentioned. However, a score system may change due to an increase in the number of pieces of metadata attached to items or logs of feedback. In content-based filtering, for example, the score system changes due to an increase in the number of pieces of metadata. In cooperative filtering, on the other hand, the score system changes due to an increase of logs. Thus, the appropriate shape of a correction function is considered to change with the passage of time. Therefore, the server apparatus 100 preferably updates a correction function stored in the storage apparatus 130 by periodically executing regeneration of the correction function through the function of the correction function generation unit 102.
[0157]
[5-3: Items To Which No Associated Score Is Attached]
Incidentally, the associated score for some item may be 0 depending on the type of recommendation algorithms. In such a case, if the calculation method of an integrated associated score described above is used, a value that is smaller by a portion of the integrated associated score for the item is obtained. Therefore, for items whose integrated associated score becomes a small value because no associated score is added by some recommendation algorithm, for example, an integrated associated score may be calculated by using remaining recommendation algorithms excluding the recommendation algorithm that adds no associated score.
[0158]
In content-based filtering, for example, no associated score is present for items to which metadata is not attached. In such a case, a method by which integrated associated scores are calculated by using another recommendation algorithm such as the cooperative filtering in a period before metadata is accimiulated and after the period passes, integrated associated scores are calculated by using plural recommendation algorithms including the content-based filtering can be considered.
[0159]
In addition, the following method can also be considered. If, for example, the associated score B(s, r) by the second recommendation algorithm B becomes 0, the integrated associated score Q(s, r) is obtained like Q(s, r) = ql *A(s, r). In content-based filtering, for example, no associated score is present for items to which metadata is not attached. Thus, for such an item, the integrated associated score may be calculated by, for example, Q(s, r) = (ql + q2)* A(s, r). Alternatively, the integrated associated score for an item whose associated score B(s, r) is 0 may be adjusted to decrease.
[0160]
In the foregoing, the configuration according to an embodiment of the present technology has been described.
[0161] <6: Hardware Configuration Examp10
The function of each structural element of the server apparatus 100 and the user terminal 200 described above can be performed by using, for example, the hardware configuration of the information processing apparatus shown in FIG. 25. That is, the function of each structural element can be realized by controlling the hardware shown in FIG 25 using a computer program. Additionally, the mode of this hardware is arbitrary, and may be a personal computer, a mobile information terminal such as a mobile phone, a PHS or a PDA, a game machine, or various types of information appliances. Moreover, the PHS is an abbreviation for Personal Handy-phone System. Also, the PDA is an abbreviation for Personal Digital Assistant.
[0162]
As shown in FIG 25, this hardware mainly includes a CPU 902, a ROM 904, a RAM 906, a host bus 908, and a bridge 910. Furthermore, this hardware includes an external bus 912, an interface 914, an input unit 916, an output unit 918, a storage unit 920, a drive 922, a connection port 924, and a communication unit 926. Moreover, the CPU is an abbreviation for Central Processing Unit. Also, the ROM is an abbreviation for Read Only Memory. Furthermore, the RAM is an abbreviation for Random Access Memory.
[0163]
The CPU 902 functions as an arithmetic processing unit or a control unit, for example, and controls entire operation or a part of the operation of each structural element based on various programs recorded on the ROM 904, the RAM 906, the storage unit 920, or a removal recording medium 928. The ROM 904 is means for storing, for example, a program to be loaded on the CPU 902 or data or the like used in an arithmetic operation. The RAM 906 temporarily or perpetually stores, for example, a program to be loaded on the CPU 902 or various parameters or the like arbitrarily changed in execution of the program.
[0164]
These structural elements are connected to each other by, for example, the host bus 908 capable of performing high-speed data transmission. For its part, the host bus 908 is connected through the bridge 910 to the external bus 912 whose data transmission speed is relatively low, for example. Furthermore, the input unit 916 is, for example, a mouse, a keyboard, a touch panel, a button, a switch, or a lever. Also, the input unit 916 may be a remote control that can transmit a control signal by using an infrared ray or other radio waves.
[0165]
The output unit 918 is, for example, a display device such as a CRT, an LCD, a PDP or an ELD, an audio output device such as a speaker or headphones, a printer, a mobile phone, or a facsimile, that can visually or auditorily notify a user of acquired information. Moreover, the CRT is an abbreviation for Cathode Ray Tube. The LCD is an abbreviation for Liquid Crystal Display. The PDP is an abbreviation for Plasma Display Panel. Also, the ELD is an abbreviation for Electro-Luminescence Display.
[0166]
The storage unit 920 is a device for storing various data. The storage unit 920 is, for example, a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. The HDD is an abbreviation for Hard Disk Drive.
[0167]
The drive 922 is a device that reads information recorded on the removal recording medium 928 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or writes information in the removal recording medium 928. The removal recording medium 928 is, for example, a DVD medium, a Blu-ray medium, an HD-DVD medium, various types of semiconductor storage media, or the like. Of course, the removal recording medium 928 may be, for example, an electronic device or an IC card on which a non-contact IC chip is mounted. The IC is an abbreviation for Integrated Circuit.
[0168]
The connection port 924 is a port such as an USB port, an IEEE 13 94 port, a SCSI, an RS-232C port, or a port for connecting an externally connected device 930 such as an optical audio terminal. The externally connected device 930 is, for example, a printer, a mobile music player, a digital camera, a digital video camera, or an IC recorder. Moreover, the USB is an abbreviation for Universal Serial Bus. Also, the SCSI is an abbreviation for Small Computer System Interface.
[0169]
The communication unit 926 is a communication device to be connected to a network 932, and is, for example, a communication card for a wired or wireless LAN, Bluetooth (registered trademark), or WUSB, an optical communication router, an ADSL router, or a modem for various types of communication. The network 932 connected to the communication unit 926 is configured from a wire-connected or wirelessly connected network, and is the Internet, a home-use LAN, infrared communication, visible light communication, broadcasting, or satellite communication, for example. Moreover, the LAN is an abbreviation for Local Area Network. Also, the WUSB is an abbreviation for Mreless USB. Furthermore, the ADSL is an abbreviation for Asymmetric Digital Subscriber Line.
[0170] <7: Conclusion>
Lastly, a technical idea of the present embodiment will briefly be summarized. The technical idea described below can be applied to various information processing apparatuses such as PCs, mobile phones, mobile game machines, mobile information terminals, information appliances, and car navigation systems.
[0171]
The functional configuration of the above information processing ^jparatus can be expressed as follows. The information processing apparatus includes a first score calculation unit, a second score calculation unit, a scale conversion unit, and an evaluation score calculation unit described below. The first score calculation unit is a unit that calculates a first score indicating the degree of association between items.
The second score calculation unit is a unit that calculates a second score indicating the degree of association between items. For example, the first score calculation unit calculates a first score by using a first recommendation algorithm. The second score calculation unit calculates a first score by using a second recommendation algorithm, which is different from the first recommendation algorithm.
[0172]
The scale conversion unit converts a second score calculated by the second score calculation unit to the scale comparable to the scale of a first score calculated by the first score calculation unit based on relationship information indicating a relationship between the first score calculated by the first score calculation unit and the second score calculated by the second score calculation unit for the same item set to calculate a post-conversion score. As described above, the first score and the second score are calculated by using different recommendation algorithms. Thus, the first score and the second score have mutually different score systems. Therefore, the scale conversion unit converts the second score to fit to the score system of the first score.
[0173]
If, for example, score systems are such that the first score is incomparably larger than the second score, the first score significantly affects recommendation results even if weighted to stress the second score. By converting the score system by the scale conversion unit, however, score systems of both scores have approximately the same scale and therefore, one score will not be stressed regardless of the intention of the user. After the second score is converted as described above, the evaluation score calculation unit calculates an evaluation score by combining a first score calculated by the first score calculation unit and a post-conversion score calculated by the scale conversion unit for the same item set. By using the evaluation score, high-precision recommendation results fitting to circumstances can be obtained.
[0174] (Notes)
The server apparatus 100 is an example of the information processing apparatus. The user terminal 200 is an example of the terminal apparatus. The recommendation system is an example of the information presentation system. The individual associated score calculation unit 101 is an example of the first score calculation unit, second score calculation unit, and third to N-th score calculation units (N>3). The individual associated score correction unit 103 is an example of the scale conversion unit. The integrated associated score calculation unit 104 is an example of the evaluation score calculation unit/evaluation score presentation unit. The correction function generation unit 102 is an example of a related information generation unit. The weight adjustment unit 106 is an example of a count unit, adjustment implementation unit, count comparison unit, and individual weight management unit. The recommended item selection unit 105 is an example of a recommended item detection unit and recommendation unit. The integrated associated score acquisition unit 202 is an example of an evaluation score acquisition unit.
Some embodiments may comprise a computer readable storage medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs (CD), optical discs, digital video disks (DVD), magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments disctissed above. As is apparent from the foregoing examples, a computer readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form. Such a computer readable storage medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above. As used herein, the term "computer-readable storage medium" encompasses only a computer-readable medium that can be considered to be a manufacture (i.e., article of manufacture) or a machine. Alternatively or additionally, the invention may be embodied as a computer readable medium other than a computer-readable storage medium, such as a propagating signal.
[0175]
It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof
For example, the present technology can adopt the following configurations.
(1) An information processing apparatus comprising:
a first score calculation unit that calculates a first score indicating the degree of association between items;
a second score calculation unit that calculates a second score indicating the degree of association between items;
a scale conversion unit that converts the second score calculated by the second score calculation unit to a scale comparable to the scale of the first score based on relationship information indicating a relationship between the first score calculated by the first score calculation unit and the second score calculated by the second score calculation unit for a same item set to calculate a post-conversion score; and
an evaluation score calculation unit that calculates an evaluation score by combining the first score calculated by the first score calculation unit and the post-conversion score calculated by the scale conversion unit for the same item set.
(2) The information processing apparatus according to the (1), further comprising:
a relationship information generation unit that generates the relationship information by performing a regression analysis of the first score calculated by the first score calculation unit and the second score calculated by the second score calculation unit for the same item set.
(3) The information processing apparatus according to the (2), wherein the relationship information generation unit periodically regenerates the relationship information.
(4) The information processing apparatus according to any one of the (1) to (3),
wherein the evaluation score calculation unit weights the first score by using a first weight, weights the post-conversion score by using a second weight, and . calculates the evaluation score by adding the weighted first score and the weighted post-conversion score.
(5) The information processing apparatus according to the (4), further comprising:
a feedback determination unit that, when an item related to a target item on which feedback is received from a user is recommended to the user based on the evaluation score and the user gives the feedback on the recommended item, determines whether the feedback given on the recommended item is the feedback indicating a positive trend; and
a weight adjustment unit that, when the user gives the feedback on the recommended item, adjusts the first weight and the second weight in accordance with a determination result by the feedback determination unit,
wherein the weight adjustment unit increases the first weight and decreases the second weight if determined to be the feedback indicating the positive trend by the feedback determination unit and the first score is larger than the post-conversion score,
the weight adjustment unit decreases the first weight and increases the second weight if determined to be the feedback indicating the positive trend by the feedback determination unit and the first score is smaller than the post-conversion score,
the weight adjustment unit decreases the first weight and increases the second weight if determined not to be the feedback indicating the positive trend by the feedback determination unit and the first score is larger than the post-conversion score, and
the weight adjustment unit increases the first weight and decreases the second weight if determined not to be the feedback indicating the positive trend by the feedback determination unit and the first score is smaller than the post-conversion score.
(6) The information processing apparatus according to the (5), wherein the weight adjustment unit includes:
a count unit that counts a number of times CU of occurrence of an opportunity to increase the first weight and a number of times CD of occurrence of the opportunity to decrease the first weight;
a count comparison unit that compares the number of times CU and the number of times CD in predetermined timing; and
an adjustment execution unit that, when a comparison result by the count comparison unit is obtained in the predetermined timing, adjusts the first weight and the second weight in accordance with the comparison result,
the adjustment execution unit increases the first weight and decreases the second weight if the number of times CU exceeds the number of times CD, and
the adjustment execution unit decreases the first weight and increases the second weight if the number of times CU falls short of the number of times CD.
(7) The information processing apparatus according to any one of the (4) to (6), further comprising:
a feedback determination unit that, when an item related to a target item on which feedback is received from a user is recommended to the user based on the evaluation score and the user gives the feedback on the recommended item, determines whether the feedback given on the recommended item is the feedback indicating a positive trend; and
a weight adjustment unit that, when the user gives the feedback on the recommended item, adjusts the first weight and the second weight in accordance with a determination result by the feedback determination unit,
wherein the evaluation score calculation unit weights the first score by using the first weight, weights the post-conversion score by using the second weight, and further weights the first score and the post-conversion score by using a third weight to calculate the evaluation score by adding the weighted first score and the weighted post-conversion score, and
the weight adjustment unit does not change the first weight and the second weight if the third weight is 1,
the weight adjustment unit increases the first weight and decreases the second weight if determined to be the feedback indicating the positive trend by the feedback determination unit and the third weight is larger than 1,
the weight adjustment unit decreases the first weight and increases the second weight if determined to be the feedback indicating the positive trend by the feedback determination unit and the third weight is smaller than 1,
the weight adjustment unit decreases the first weight and increases the second weight if determined not to be the feedback indicating the positive trend by the feedback determination unit and the third weight is larger than 1, and
the weight adjustment unit increases the first weight and decreases the second weight if determined not to be the feedback indicating the positive trend by the feedback determination unit and the third weight is smaller than 1.
(8) The information processing apparatus according to the (7),
wherein the weight adjustment unit includes:
a count unit that counts a number of times CU of occurrence of an opportunity to increase the first weight and a number of times CD of occurrence of the opportunity to decrease the first weight;
a count comparison unit that compares the number of times CU and the number of times CD in predetermined timing; and
an adjustment execution unit that, when a comparison result by the count comparison unit is obtained in the predetermined timing, adjusts the first weight and the second weight in accordance with the comparison result,
wherein the adjustment execution unit increases the first weight and decreases the second weight if the number of times CU exceeds the number of times CD, and
the adjustment execution unit decreases the first weight and increases the second weight if the number of times CU falls short of the number of times CD.
(9) The information processing apparatus according to any one of the (5) to (8), further comprising:
an individual weight management unit that, when the first weight and the second weight are changed by the weight adjustment unit, manages the changed first weight and the changed second weight for each of the users.
(10) The information processing apparatus according to any one of the (1) to (9), further comprising:
an evaluation score presentation unit that presents the evaluation score calcvdated by the evaluation score calculation unit to a user.
(11) The information processing apparatus according to any one of the (1) to (10), further comprising:
third to N-th score calculation units that calculate third to N-th scores (N>3) indicating the degree of association between items,
wherein the scale conversion unit that, based on M-th relationship information indicating the relationship between the first score calculated by the first score calculation unit and the M-th score calculated by the M-th score calculation unit (2
| # | Name | Date |
|---|---|---|
| 1 | 762-CHE-2012 POWER OF ATTORNEY 29-02-2012.pdf | 2012-02-29 |
| 2 | 762-CHE-2012 FORM-5 29-02-2012.pdf | 2012-02-29 |
| 3 | 762-CHE-2012 FORM-3 29-02-2012.pdf | 2012-02-29 |
| 4 | 762-CHE-2012 FORM-2 29-02-2012.pdf | 2012-02-29 |
| 5 | 762-CHE-2012 FORM-1 29-02-2012.pdf | 2012-02-29 |
| 6 | 762-CHE-2012 DRAWINGS 29-02-2012.pdf | 2012-02-29 |
| 7 | 762-CHE-2012 DESCRIPTION (COMPLETE) 29-02-2012.pdf | 2012-02-29 |
| 8 | 762-CHE-2012 CORRESPONDENCE OTHERS 29-02-2012.pdf | 2012-02-29 |
| 9 | 762-CHE-2012 CLAIMS 29-02-2012.pdf | 2012-02-29 |
| 10 | 762-CHE-2012 ABSTRACT 29-02-2012.pdf | 2012-02-29 |
| 11 | 762-CHE-2012 ENGLISH TRANSLATION 29-02-2012.pdf | 2012-02-29 |
| 12 | 762-CHE-2012 FORM-3 28-06-2012.pdf | 2012-06-28 |
| 13 | 762-CHE-2012 CORRESPONDENCE OTHERS 28-06-2012.pdf | 2012-06-28 |