Information processing device, its control method and program

The information processing device optimizes content recommendations by dividing user data into calculation and evaluation data, using multiple methods, and selecting the most accurate approach based on usage patterns, enhancing the relevance of suggested content.

JP7819049B2Active Publication Date: 2026-02-24CANON KK
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2022110516
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-08
Publication Date
2026-02-24
Estimated Expiration
2042-07-08

AI Technical Summary

Technical Problem

Existing content recommendation methods struggle to appropriately utilize multiple recommendation techniques based on a user's usage situation, leading to suboptimal content suggestions.

Method used

An information processing device that includes a storage means for tracking content usage, dividing data into calculation and evaluation data, and using first and second calculation means to determine recommended content based on different methods, with a setting means to select the most accurate method based on accuracy rates.

Benefits of technology

Enables the appropriate use of multiple recommendation methods tailored to a user's usage situation, improving the accuracy and relevance of content suggestions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007819049000001
    Figure 0007819049000001
  • Figure 0007819049000002
    Figure 0007819049000002
  • Figure 0007819049000003
    Figure 0007819049000003
Patent Text Reader

Abstract

To appropriately and selectively use a plurality of content recommendation methods in accordance with a user's use situation.SOLUTION: A program execution server 4 stores respective use frequencies of a plurality of contents by a plurality of users, divides data of the use frequencies into data for operation for acquiring a content to be recommended to a prescribed user among the plurality of users and data for evaluation for acquiring an accuracy rate of a recommendation result, acquires a first recommendation content to be recommended to the prescribed user by a first recommendation method, acquires a second recommendation result to be recommended to the prescribed user on the basis of the data for operation by a second recommendation method, acquires an accuracy rate of a first recommendation result and an accuracy rate of the second recommendation result on the basis of the acquired data for evaluation, and sets a recommendation method for determining a content to be recommended to the prescribed user by using the first recommendation method and the second recommendation method on the basis of the respective accuracy rates.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, a control method thereof, and a program, and more particularly to a technology for recommending content to a user in accordance with the user's usage status in a service that the user uses. [Background technology]

[0002] The number of users of services that distribute content such as videos and music is increasing. These services widely use technology that recommends content that is presumed to be a match for a user based on the content the user has used.

[0003] One example of a content recommendation method is a method that ranks and recommends content in order of how highly rated it is by all users, based on the histories of multiple users using the content. While this ranking method can recommend content that appeals to everyone, it has the problem of not being able to recommend content that matches each user individually.

[0004] Another content recommendation method is called "content-based recommendation," which calculates the similarity between pieces of content based on their characteristics and recommends content similar to the content the user has used. While the ranking-based recommendation method mentioned above can only recommend content that has been highly rated by many users, content-based recommendation can recommend unrated content to users. However, since content-based recommendation is based on the similarity between pieces of content, it may not recommend content that matches the user.

[0005] In response to this, "collaborative filtering" is one method that makes it possible to recommend content that matches each user. Collaborative filtering is based on calculating the correlation between content and users based on the content usage history of multiple users, and recommending highly correlated content to highly correlated users. Emphasis filtering makes it possible to make recommendations that match each user (recommending content that people similar to you have but that you don't have), but it is difficult to achieve results in situations where there is not enough user usage history.

[0006] As described above, there are many methods for recommending content, each with its own advantages and disadvantages. Therefore, for example, Patent Document 1 discloses a method for effectively combining multiple recommendation methods depending on the situation. The method disclosed in Patent Document 1 determines recommended content by multiplying the evaluation scores of content obtained by multiple recommendation methods by a coefficient, adding up the resulting score, and using this as the evaluation score for new content. The coefficient is then corrected based on user feedback on the recommended content. This makes it possible to recommend more appropriate content to each user. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-190061 Summary of the Invention [Problem to be solved by the invention]

[0008] However, with the above-mentioned conventional technology, it is not easy to appropriately use a plurality of recommendation methods according to the user's usage situation.

[0009] The present invention has been made in view of the above circumstances, and aims to provide a technology that enables a user to appropriately use a plurality of content recommendation methods in accordance with the user's usage situation. [Means for solving the problem]

[0010] The information processing device according to the present invention includes: a storage means for storing the number of times each of a plurality of contents has been used by a plurality of users; before Among the multiple users The data of the number of times of use for a predetermined user is The recommendation system is characterized by comprising: a dividing means for dividing data into calculation data for determining content to be recommended to a predetermined user and evaluation data for determining the accuracy rate of a recommendation result; a first calculation means for determining a first recommended result, which is content to be recommended to the predetermined user, by a first recommendation method; a second calculation means for calculating a second recommended result, which is content to be recommended to the predetermined user, based on the calculation data by a second recommendation method; a third calculation means for calculating a first accuracy rate, which is the accuracy rate of the first recommended result, and a second accuracy rate, which is the accuracy rate of the second recommended result, based on the evaluation data; and a setting means for setting a recommendation method for determining content to be recommended to the predetermined user using the first recommendation method and the second recommendation method, based on the first accuracy rate and the second accuracy rate. [Effects of the Invention]

[0011] According to the present invention, it is possible to appropriately use a plurality of recommendation methods depending on the user's usage situation. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a block diagram showing a schematic configuration of an information processing system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing a schematic configuration of a program execution server. [Figure 3] FIG. 10 is a diagram illustrating an example of a web application screen. [Figure 4] FIG. 10 is a diagram showing an example of an editing screen that is displayed in response to a thumbnail being selected on a Web application screen. [Figure 5]FIG. 10 is a diagram showing a management table of template usage status, usage count, and ranking, and recommended templates. [Figure 6] 10 is a flowchart illustrating a method for updating the usage status management table. [Figure 7] FIG. 10 is a sequence diagram illustrating a flow until a recommended template is displayed on a poster editing screen. [Figure 8] 10 is a flowchart of a recommended template determination process in the first embodiment. [Figure 9] FIG. 9 is a diagram showing various data used when determining a recommended template in the process of FIG. 8. [Figure 10] 10 is a flowchart of a recommended template determination process in the second embodiment. [Figure 11] FIG. 9 is a diagram showing various data used when determining a recommended template in the process of FIG. 8. [Figure 12] FIG. 10 is a diagram showing another example of a poster editing screen displayed on the monitor. [Figure 13] 13 is a flowchart of a recommended template determination process in the third embodiment. [Figure 14] 13 is a flowchart of a recommended template determination process in the fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0014] First Embodiment 1 is a block diagram showing a schematic configuration of an information processing system 1 according to an embodiment of the present invention. The information processing system 1 includes a client terminal 10 and a server system 2 that are communicably connected via a network 22. The system configuration of the information processing system 1 is also a system configuration for realizing second to fourth embodiments described later.

[0015] The server system 2 includes a program execution server 4, a storage server 5, and a print execution server 6. The program execution server 4 is a server for executing Web applications and executes a server program 7, which is a program that runs on the server system 2. The storage server 5 stores edited data 8, such as image files and print data files, in the Web applications, and print data 9. The print execution server 6 transmits the print data 9 to the client terminal 10, which is used to execute a print execution application 19 on the client terminal 10. The program execution server 4, storage server 5, and print execution server 6 may be realized as physically separate devices, or may be realized as a single device.

[0016] The client terminal 10 is an information processing terminal such as a general personal computer or a smartphone. The client terminal 10 has a CPU 11, a ROM 12, a RAM 13, and an internal storage device 18. The client terminal 10 also has a monitor 14, a printer 15, an input device 16, an external storage device 17, and an interface (not shown) for communicatively connecting to a network 22.

[0017] The CPU 11 controls the overall operation of the client terminal 10 by loading programs such as the OS stored in the ROM 12 into the RAM 13 and controlling various hardware components of the client terminal 10. The ROM 12 is a read-only memory that stores programs such as the OS and parameters required for executing various programs. The RAM 13 is used as a work memory for the CPU 11. The internal storage device 18 is, for example, an SSD, HDD, or memory card, and stores various application programs executable by the CPU 11 and various data.

[0018] The CPU 11 executes predetermined applications (programs) stored in the internal storage device 18 or the external storage device 17 to realize various functions of the client terminal 10. For example, the CPU 11 executes a program of a web browser 20 stored in the internal storage device 18, thereby enabling browsing of websites on the Internet and use of web applications provided by the server system 2.

[0019] When using a Web application provided by the server system 2, the CPU 11 receives a client program from the server system 2 and stores it in the RAM 13 or the internal storage device 18. The script language of the stored client program is interpreted by a program analysis unit 21 in the Web browser 20. Examples of script languages ​​include HTML and JavaScript.

[0020] A print execution application 19 is stored in the internal storage device 18. The print execution application 19 sends print data 9 to a printer 15 connected to the client terminal 10 to print the data. Note that the printer 15 and the external storage device 17 do not need to be directly connected to the client terminal 10, and may be connected to the client terminal 10 via a network 22.

[0021] 2 is a block diagram showing a schematic configuration of the program execution server 4. In the following explanation, templates for printed materials such as posters and flyers will be taken as examples of content that the server system 2 recommends to users, and accordingly, a print production application will be taken as an example of a Web application provided by the server system 2. However, the content that the server system 2 recommends to users is not limited to print template templates, and therefore the Web application is not limited to a print production application.

[0022] The program execution server 4 includes a receiving unit 201 , a setting unit 202 , an analyzing unit 203 , a recommendation calculating unit 204 , a comparing unit 205 , an output unit 206 , a template usage status storing unit 211 , a ranking storing unit 212 , and a recommendation storing unit 213 .

[0023] The receiving unit 201 acquires an identifier representing a user (a user ID, described below) and a template selected by the user. When the receiving unit 201 receives information that a certain template has been selected by the user, the setting unit 202 updates the contents stored in the template usage status storage unit 211. The analysis unit 203 extracts templates that have been used frequently from the template usage status storage unit 211 and stores them in the ranking storage unit 212.

[0024] The recommendation calculation unit 204 calculates recommended templates for each user through collaborative filtering using the template usage status stored in the template usage status storage unit 211. The comparison unit 205 compares the accuracy rate of the recommendation results obtained by the recommendation calculation unit 204 with the accuracy rate of the rankings stored in the ranking storage unit 212, and stores the result of the recommendation method with the highest accuracy rate in the recommendation storage unit 213. The output unit 206 outputs the recommended templates for the user stored in the recommendation storage unit 213 to the client terminal 10.

[0025] The template usage status storage unit 211 saves and manages the template usage status for each user. The ranking storage unit 212 stores each template extracted from the template usage status storage unit 211 by the analysis unit 203 in descending order of total usage count. The recommendation storage unit 213 stores recommended templates determined by the recommendation calculation unit 204.

[0026] Next, the Web application provided by the server system 2 will be described.

[0027] FIG. 3 is a diagram showing an example of a web application screen, which is displayed on the monitor 14 when the web application is used after the web browser 20 is started on the client terminal 10. As shown in FIG.

[0028] The upper section of the Web application screen is a production selection area 301, and the lower section is a template list display area 302. Buttons (icons) for selecting the types of productions selectable in the Web application are displayed in selection area 301. When the user selects a desired button from the buttons displayed in selection area 301 using input device 16, a list of templates held by the Web application is displayed in list display area 302 according to the selected button.

[0029] 3 shows a state in which a poster creation button 303 has been selected, and in response, a plurality of templates that can be used for poster creation are displayed in a list display area 302. When one thumbnail is selected by input device 16 from among the plurality of template thumbnails displayed in list display area 302, the display on monitor 14 transitions to an example of the next screen shown in FIG.

[0030] 4 is a diagram showing an example of a poster editing screen displayed on monitor 14 in response to selection of thumbnail 304 in FIG. 3. The poster being edited by the user is displayed as a preview 401. Area 402 displays buttons for selecting the type of object used to create the poster, and FIG. 4 shows a state in which template button 403 is selected. Area 404 displays content corresponding to the object selected in area 402. In FIG. 4, because template button 403 is selected, a list of templates held by the Web application is displayed, and it is possible to change the template from the template selected in list display area 302.

[0031] A thumbnail 406 is displayed in preview 401. Thumbnail 406 is a template that has been placed in preview 401 by selecting thumbnail 304 on the poster editing screen of FIG. 3. A recommendation display area 405 in area 404 displays a list of recommended templates in order, determined based on thumbnail 304 selected on the poster editing screen. The user can print the poster displayed in preview 401 on printer 15 by selecting print button 407 with input device 16. In response to the selection of print button 407, print execution server 6 sends print data 9 to client terminal 10, and web browser 20 launches print execution application 19 to print the poster displayed in preview 401.

[0032] Next, a method for saving and managing information related to template usage status, etc. will be described. FIG. 5(a) shows an example of a usage status management table 500 for saving and managing users' template usage status in the template usage status storage unit 211. In the usage status management table 500, a "user ID" is an identifier that uniquely identifies a user, and a "template ID" is an identifier that uniquely identifies a template. A "usage date" is the date on which a user identified by the user ID used a template identified by the template ID, and will hereinafter be referred to as a "template usage date." For example, the usage status management table 500 stores information that on April 1, 2022, a user with user ID User A used a template with template ID Template a and a template with template ID Template b multiple times.

[0033] 5(b) shows an example of a usage count management table 510 for saving and managing the number of times a user has used a template over a certain period of time in the template usage status storage unit 211. In the usage count management table 510, just like the usage status management table 500, users A to C represent user IDs, and templates a to e represent template IDs. For example, the numbers '6, 3, 0, 0, 0' in the columns for templates a, b, c, d, and e in the row for user A represent the number of times user A has used templates a, b, c, d, and e, respectively.

[0034] 5(c) shows an example of a ranking management table 520 for saving and managing rankings of the number of times templates are used in the ranking storage unit 212. In the ranking management table 520, as in the usage status management table 500, templates a to e represent template IDs. Also, in the ranking management table 520, the "total number of times used" represents the number of times a template represented by a template ID has been used by all users. For example, the ranking management table 520 stores information that a template with a template ID of template a has been used six times by all users.

[0035] 5(d) shows an example of a recommended template management table 530 that stores and manages recommended templates for each user in the recommendation storage unit 213. In the recommended template management table 530, as in the usage status management table 500, users A to C represent user IDs, and templates a to e represent template IDs. For each user ID, the template IDs of the recommended templates calculated by the recommendation calculation unit 204 are shown in order of rank. For example, the recommended templates for a user with the user ID of user A are stored in the recommended template management table 530 as templates with template IDs c, d, and e, in order of first to third place.

[0036] 6 is a flowchart explaining a method for updating the usage status management table 500. The processing of this flowchart is executed, for example, when a new template is added or when a scheduled batch process is performed. Each process (step) indicated by an S number in this flowchart is realized by the CPU of the program execution server 4 executing a predetermined program stored in the program execution server 4.

[0037] The "loop for the number of records" of S601 and S604 indicates that the processing of S602 and S603 between them is executed for each record as many times as the number of records in the usage management table 500 ('20' in FIG. 5(a)).

[0038] In S602, the program execution server 4 determines whether the template usage date in the record is within a predetermined period. If the program execution server 4 determines that the template usage date in the record is within the predetermined period (Yes in S602), the program execution server 4 makes the inspection target record the processing target of S605. On the other hand, if the program execution server 4 determines that the template usage date is not within the predetermined period (No in S602), it executes the processing of S603.

[0039] In S603, the program execution server 4 deletes the inspection target records for which it has been determined that the template usage date is not within the predetermined period from the usage status management table 500. When the processing of S602 to S603 has been completed for all records in the usage status management table 500 in this way, in S605 the program execution server 4 updates the usage count management table 510 with the records for which the determination in S602 was Yes, and then terminates this processing.

[0040] When the program execution server 4 completes updating the usage status management table 500, it performs update processing on the usage count management table 510, the ranking management table 520, and the recommended template management table 530 based on the updated usage status management table 500.

[0041] In the first embodiment, the predetermined period used to determine the template usage date is one month, and the usage status management table 500 is updated using regular batch processing performed at the end of the month (at midnight on the first day of the following month) as a trigger. In this case, when regular batch processing is performed at midnight on May 1, 2022, records before April 1, 2022 are deleted while records from April 1, 2022 onward remain, thereby updating the usage status management table 500 as shown in FIG. 5( a). The usage status management table 500, usage count management table 510, ranking management table 520, and recommended template management table 530 generated in this manner on a monthly basis are stored in a predetermined storage unit. Note that the predetermined period for which the usage status management table 500 is updated is not limited to one month and can be set to any period, such as six months or one year.

[0042] 7 is a sequence diagram showing the flow from the user selecting a template to the display of recommended templates in the recommendation display area 405 of the poster editing screen. When the user selects a template on the Web browser 20 in S701, the Web browser 20 transmits the user's user ID and the template ID of the selected template to the server system 2 (program execution server 4) in S702. In S703, the program execution server 4 adds and saves a new record in the usage status management table 500 based on the information received from the Web browser 20, thereby updating the contents stored in the template usage status storage unit 211.

[0043] In S704, the server transmits a recommendation table, which is information about recommended templates to be displayed in recommendation display area 405 (data stored in recommended template management table 530 for the user), to Web browser 20. In S705, Web browser 20 displays the recommended templates in recommendation display area 405 of the poster editing screen based on the template IDs of the recommended templates in the received recommendation table.

[0044] Next, a description will be given of the process of determining recommended templates, which is a feature of the first embodiment. In the first embodiment, the calculation method used to determine recommended templates to be displayed in the recommendation display area 405 is switched depending on the template usage status of each individual user and all users.

[0045] 8 is a flowchart of the process for determining a recommended template in the first embodiment. The process of this flowchart is executed, for example, when a new template is added or when a scheduled batch process is performed. Each process (step) indicated by an S number in this flowchart is realized by the CPU of the program execution server 4 executing a predetermined program stored in the program execution server 4.

[0046] In S801, the analysis unit 203 creates a ranking management table by obtaining the total number of times each template has been used from the usage count management table. Fig. 9(a) is a diagram showing an example of the usage count management table 900, and Fig. 9(b) is a diagram showing a ranking management table 910 created from the usage count management table 900. Note that the usage count management table 900 and the ranking management table 910 shown here are the same as the usage count management table 510 and the ranking management table 520 shown in Figs. 5(b) and 5(c).

[0047] The analysis unit 203 uses the user ID and template ID to store and manage the number of times each template has been used by each user in a usage count management table 900. The analysis unit 203 also calculates the sum of the number of times each template has been used by all users (total number of uses) for each template indicated by the template ID, and stores and manages this in a ranking management table 910.

[0048] The "loop for the number of users" in S802 and S809 indicates that the processing in S803 to S808 between them is executed for each user, the number of times being equal to the number of users.

[0049] In S803, the recommendation calculation unit 204 divides the record in the use count management table 900 for a predetermined user into recommended calculation data (hereinafter referred to as "calculation data") and evaluation data of the recommended calculation result (hereinafter referred to as "evaluation data"). Figure 9(c) is a diagram showing an example of the calculation data, and Figure 9(d) is a diagram showing an example of the evaluation data, and Figures 9(c) and (d) show the results created for user B.

[0050] 9(a), it can be seen that user B used three types of templates: templates c, d, and e. Here, the recommendation calculation unit 204 selects, for example, template d from templates c, d, and e as the calculation data, and sets the remaining templates as the evaluation data.

[0051] Note that the "remaining templates" here refer to all templates excluding templates selected as calculation data, and therefore include templates with a usage count of zero (0). In the first embodiment, the division into calculation data and evaluation data is performed by selecting one piece of data from the usage count management table 900 before division as calculation data and the rest as evaluation data. However, the division ratio is not limited to this, and the ratio of calculation data to evaluation data may be increased, for example, by setting the number of calculation data to two or more.

[0052] In S804, the recommendation calculation unit 204 uses collaborative filtering to find a recommendation template to be provided to the user from the calculation data. Fig. 9(e) is a diagram showing an example of a recommendation template found by collaborative filtering.

[0053] In S805, the comparison unit 205 compares the recommended template with the evaluation data and calculates the accuracy rate of collaborative filtering and the accuracy rate of ranking. The accuracy rate is a value that indicates the effectiveness of the recommendation method, and is calculated from the ratio (proportion) of the evaluation data contained in the multiple recommended templates calculated by the recommendation calculation unit 204.

[0054] For example, in Figure 9(e), the recommended templates for user B are templates b, c, and e. On the other hand, the evaluation data in Figure 9(d) shows that user B uses templates c and e, but not template b. Therefore, the accuracy rate of collaborative filtering is 67% (rounded down to the nearest whole number). In contrast, the accuracy rate of ranking is calculated as the value when the top three templates are similarly recommended in ranking, since there were three templates recommended by collaborative filtering. According to the ranking management table in Figure 9(b), it can be seen that the top three most frequently used templates are templates a, b, and c. Here, the templates used by user B are templates c, d, and e, so the accuracy rate of ranking is 33% (rounded down to the nearest whole number).

[0055] In S806, the comparison unit 205 determines whether the accuracy rate based on the ranking is greater than the accuracy rate based on collaborative filtering. If the comparison unit 205 determines that the accuracy rate based on the ranking is greater than the accuracy rate based on collaborative filtering (Yes in S806), it executes the process of S807. In S807, the comparison unit 205 rewrites the recommendation table storing the recommended templates for the user currently being processed with the recommendation result based on the ranking. On the other hand, if the comparison unit 205 determines that the accuracy rate based on the ranking is equal to or less than the accuracy rate based on collaborative filtering (No in S806), it executes the process of S808. In S808, the comparison unit 205 rewrites the recommendation table storing the recommended templates for the user currently being processed with the recommendation result based on collaborative filtering. For example, in the case of user B in FIG. 9, as described above, the accuracy rate based on collaborative filtering is greater than the accuracy rate based on the ranking, so the comparison unit 205 executes the process of S808.

[0056] Note that if the accuracy rate based on ranking and the accuracy rate based on collaborative filtering are the same, the recommendation table based on collaborative filtering is rewritten with the recommendation results based on collaborative filtering here, but it may also be rewritten with the recommendation results based on ranking. By performing the processes of S803 to S808 for each user, the recommendation table for each user in the recommendation template management table is updated, and this flow ends.

[0057] In this way, in the first embodiment, by switching between recommendations based on rankings and recommendations based on collaborative filtering depending on the user's template usage status, recommended templates can be presented to the user using a more effective recommendation method. This allows the user to easily find and use a template that suits their preferences or preferences, improving convenience.

[0058] In the first embodiment, ranking-based recommendation and collaborative filtering recommendation are combined, but other combinations of recommendation methods may be used, such as a combination of content-based recommendation and collaborative filtering. In this case, too, an appropriate recommendation method is selected according to the user's usage status, thereby achieving the same effect as when ranking and collaborative filtering are combined.

[0059] Second Embodiment In the second embodiment, recommended content recommendation methods are combined, and the display ratio of recommended results by each recommendation method is changed based on the accuracy rate of each recommended content recommendation method. Note that the operations on the client terminal 10 and the configurations of the Web application screen and poster editing screen in the second embodiment are similar to those in the first embodiment, so a description thereof will be omitted. As in the first embodiment, the recommendation methods used are a collaborative filtering recommendation method and a ranking recommendation method.

[0060] 10 is a flowchart of the process for determining a recommended template in the second embodiment. The process of this flowchart is executed, for example, when a new template is added or when a scheduled batch process is performed. Each process (step) indicated by an S number in this flowchart is realized by the CPU of the program execution server 4 executing a predetermined program stored in the program execution server 4.

[0061] The processing of S1001 is the same as the processing of S801 in the flowchart of Fig. 8. That is, in S1001, the analysis unit 203 creates a ranking management table by obtaining the total number of times each template has been used from the usage count management table. Fig. 11(a) is a diagram showing an example of the usage count management table 1100, and Fig. 11(b) is a diagram showing a ranking management table 1110 created from the usage count management table 1100.

[0062] The "loop for the number of users" in S1002 and S1007 indicates that the processing in S1003 to S1006 between them is executed for each user, the number of times being equal to the number of users. The processing in S1003 to S1005 is equivalent to the processing in S803 to S805 in the flowchart of FIG. 8.

[0063] That is, in S1003, the recommendation calculation unit 204 divides the record in the usage count management table 1100 for a predetermined user into calculation data and evaluation data. Fig. 11(c) is a diagram showing an example of the calculation data, Fig. 11(d) is a diagram showing an example of the evaluation data, and Figs. 11(c) and (d) show the results created for user B.

[0064] When calculating a recommended template for user B, it can be seen from the usage count management table 1100 that user B used two templates, templates b and d. Of these, template d is selected as the calculation data, as shown in FIG. 11(c), and the remaining data is used as evaluation data, as shown in FIG. 11(d). In the second embodiment, as in the first embodiment, the division into calculation data and evaluation data is performed by selecting one piece of data from the pre-division usage count management table 1100 as calculation data and the remaining as evaluation data. However, the division ratio is not limited to this.

[0065] In S1004, the recommendation calculation unit 204 uses collaborative filtering to find a recommendation template to be provided to the user from the calculation data. Fig. 11(e) is a diagram showing an example of a recommendation template found by collaborative filtering.

[0066] In S1005, the comparison unit 205 compares the recommended template with the evaluation data and calculates the accuracy rate of collaborative filtering and the accuracy rate based on ranking.

[0067] For example, the recommended templates determined by emphasis filtering are templates b and e, as shown in FIG. 11(e). Checking the evaluation data in FIG. 11(d) reveals that user B uses template b but not template e. Therefore, the accuracy rate of collaborative filtering is 50%. Meanwhile, since collaborative filtering found two recommended templates, the accuracy rate based on ranking is calculated by using the top two templates in the ranking as the recommended templates. For user B, the ranking management table 1110 reveals that the top two most frequently used templates are templates a and b. Therefore, the recommended templates for user B based on ranking are templates a and b, as shown in FIG. 11(f). Because user B uses templates b and d, the accuracy rate based on ranking is 50%.

[0068] In S1006, the comparison unit 205 compares and combines the accuracy rates of recommendations based on ranking and recommendations based on collaborative filtering, and rewrites the recommendation table based on the results. In the case of user B, as described above, the accuracy rates based on collaborative filtering and ranking are both 50%. Therefore, the recommendation table is rewritten so that 50% of the templates recommended to user B are the recommendation results based on collaborative filtering, and the remaining 50% are the recommendation results based on ranking. For example, suppose that a web application executed by the program execution server 4 always presents 10-point templates as recommended templates. In this case, templates recommended by collaborative filtering are selected for 5 of the 10 points, and templates recommended by ranking are used for the remaining 5 points.

[0069] By performing the processes of S1003 to S1006 for each user, the recommendation table for each user in the recommended template management table is updated, and then this flow ends.

[0070] 12 is a diagram showing another example of a poster editing screen displayed on monitor 14. When a mouse, which is an example of input device 16, is operated and the mouse is moved over one of the recommended templates, the reason for recommending the recommended template may be displayed in a pop-up display 1201. Such display control is provided in a Web application executed by program execution server 4, and is realized by the CPU of program execution server 4 executing a predetermined program.

[0071] In this way, in the second embodiment, a recommended template is determined by combining multiple recommendation methods depending on the user's template usage status. This allows the user to easily find and use a template that suits their preferences or preferences, improving convenience.

[0072] In the second embodiment, ranking-based recommendation and collaborative filtering recommendation are combined, but other combinations of recommendation methods may be used, such as a combination of content-based recommendation and collaborative filtering. Furthermore, the number of recommendation methods to be combined is not limited to two, and three or more recommendation methods may be combined, in which case the ratio of each recommendation method to be combined can be set arbitrarily. Even in this case, the same effect as when the above-described combination of ranking and collaborative filtering is used can be obtained.

[0073] Third Embodiment In the third embodiment, when combining multiple recommendation methods in the second embodiment, a threshold is used to combine only effective recommendation methods. Specifically, a threshold is set to determine whether a recommendation method is effective, and only recommendation methods that have an accuracy rate equal to or higher than the set threshold are combined. Here, it is assumed that the threshold is set to 40% in the Web application executed by the program execution server 4. However, the threshold is not limited to 40% and can be changed as appropriate in the program execution server 4.

[0074] 13 is a flowchart of the process for determining a recommended template in the third embodiment. The process of this flowchart is executed, for example, when a new template is added or when a scheduled batch process is performed. Each process (step) indicated by an S number in this flowchart is realized by the CPU of the program execution server 4 executing a predetermined program stored in the program execution server 4 and comprehensively controlling the operation of each unit of the program execution server 4.

[0075] For comparison with the second embodiment, the processes of S1301 and S1303 to S1305 are the same as the processes of S1001 and S1003 to S1005 in the flowchart of Fig. 10, and therefore detailed explanations of these processes will be omitted. Note that the "loop for the number of users" of S1302 and S1309 indicates that the processes of S1303 to S1308 between them are executed for each user, as many times as the number of users.

[0076] In S1306, the comparison unit 205 determines whether the accuracy rate based on ranking and the success rate based on collaborative filtering are both equal to or greater than a threshold. If the comparison unit 205 determines that the accuracy rate based on ranking and the success rate based on collaborative filtering are both equal to or greater than a threshold (Yes in S1306), it executes the processing of S1307. The processing of S1307 is the same as the processing of S1006, and in S1307 the comparison unit 205 compares and combines the accuracy rates of recommendations based on ranking and recommendations based on collaborative filtering, and rewrites the recommendation table based on the results.

[0077] On the other hand, if the comparison unit 205 determines that at least one of the accuracy rate based on ranking and the accuracy rate based on collaborative filtering is less than the threshold (No in S1306), it executes the process of S1308. In S1308, the comparison unit 205 rewrites the recommendation table with the recommendation results based on the recommendation method with the higher accuracy rate.

[0078] As an example, similar to the explanation in the second embodiment, the recommended templates for user B are determined as follows based on the usage count management table 1100 shown in FIG.

[0079] That is, the accuracy rates of both collaborative filtering and ranking are 50%. If the accuracy rate threshold for determining that a recommendation method is effective is 40%, then collaborative filtering and ranking are both determined to be effective recommendation methods. For example, suppose a web application executed by program execution server 4 presents 10 recommended templates. In this case, the recommended templates based on collaborative filtering are selected for 5 of the 10, and the recommended templates based on ranking are adopted for the remaining 5.

[0080] On the other hand, if the accuracy rate based on ranking is equal to or greater than the threshold, while the accuracy rate based on collaborative filtering is less than the threshold, all of the 10 recommended templates for user B will be the templates determined by ranking. Note that one case in which the determination in S1306 is 'No' is assumed to be a case in which the accuracy rate based on collaborative filtering and the accuracy rate based on ranking are both less than the threshold, depending on the set threshold. In this case, the processing of S1308 is executed, and the recommendation table is rewritten with the results of the recommendation method with the higher accuracy rate.

[0081] By performing the processes of S1303 to S1308 for each user, the recommendation table for each user in the recommended template management table is updated, and then this flow ends.

[0082] In this way, in the third embodiment, a recommended template is determined by combining multiple recommendation methods, but a recommendation method with a low accuracy rate is not used. This allows the user to easily find and use a template that suits their desired or personal preferences, improving convenience. Furthermore, this effect can be achieved more significantly in the third embodiment than in the second embodiment.

[0083] The modified examples described in the second embodiment are also applied to the third embodiment. For example, when three recommendation methods are to be combined, if the accuracy rates of two recommendation methods are equal to or greater than a threshold and one recommendation method is less than the threshold, only the two recommendation methods with accuracy rates equal to or greater than the threshold are combined. A similar method is used when combining four or more recommendation methods.

[0084] <Fourth embodiment> In the fourth embodiment, when a plurality of recommendation methods are combined as in the second embodiment, the number of recommended templates displayed on the monitor 14 to be presented to the user for each recommendation method is changed according to the accuracy rate.

[0085] 14 is a flowchart of the process for determining a recommended template in the fourth embodiment. The process of this flowchart is executed, for example, when a new template is added or when a scheduled batch process is performed. Each process (step) indicated by an S number in this flowchart is realized by the CPU of the program execution server 4 executing a predetermined program stored in the program execution server 4.

[0086] For comparison with the second embodiment, the processes of S1401 and S1403 to S1405 are the same as the processes of S1001 and S1003 to S1005 in the flowchart of Fig. 10, and therefore detailed explanations of these processes will be omitted. Note that the "loop for the number of users" of S1402 and S1407 indicates that the processes of S1403 to S1406 between them are executed for each user, as many times as the number of users.

[0087] In S1406, the comparison unit 205 rewrites the recommendation table with a specified number of recommended templates with the highest accuracy rate according to the accuracy rate of each recommendation method. For example, assume that a template with a score of 10 is recommended for a 100% accuracy rate. Applying this condition to the example in Figure 9, the accuracy rate based on collaborative filtering is 67%, and the accuracy rate based on ranking is 33%, so the recommendation table is rewritten with the top 7 recommended templates based on collaborative filtering and the top 3 recommended templates based on ranking, in proportion to the accuracy rates.

[0088] By performing the processes of S1403 to S1406 for each user, the recommendation table for each user in the recommended template management table is updated, and then this flow ends.

[0089] In the fourth embodiment, templates obtained by a recommendation method with a high accuracy rate among multiple recommendation methods are displayed more frequently than templates obtained by a recommendation method with a low accuracy rate. This allows the user to easily find and use a template that suits their preferences or their preferences, improving convenience. Furthermore, this effect can be achieved more significantly in the fourth embodiment than in the second embodiment. Note that the modifications described in the second embodiment are also applied to the fourth embodiment.

[0090] While the present invention has been described in detail above based on preferred embodiments thereof, the present invention is not limited to these specific embodiments, and various forms within the scope of the gist of the present invention are also included in the present invention. Furthermore, each of the above-described embodiments merely represents one embodiment of the present invention, and each embodiment can be combined as appropriate.

[0091] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0092] The disclosure of this embodiment includes the following configuration, method, and program. (Configuration 1) A storage means for storing the number of times each of a plurality of contents has been used by a plurality of users; before Among the multiple users The data of the number of times of use for a predetermined user isan information processing device comprising: a dividing means for dividing data into calculation data for determining content to be recommended to a predetermined user and evaluation data for determining a correct answer rate of a recommendation result; a first calculation means for determining a first recommendation result, which is content to be recommended to the predetermined user, by a first recommendation method; a second calculation means for calculating a second recommendation result, which is content to be recommended to the predetermined user, based on the calculation data by a second recommendation method; a third calculation means for calculating a first correct answer rate, which is a correct answer rate of the first recommendation result, and a second correct answer rate, which is a correct answer rate of the second recommendation result, based on the evaluation data; and a setting means for setting a recommendation method for determining content to be recommended to the predetermined user by using the first recommendation method and the second recommendation method, based on the first correct answer rate and the second correct answer rate. . (Configuration 2) The information processing device described in Configuration 1, characterized in that the setting means sets the recommendation method that has obtained the higher accuracy rate out of the first accuracy rate and the second accuracy rate as the recommendation method for determining the content to be recommended to the specified user. (Configuration 3) The information processing device described in Configuration 1, characterized in that the setting means sets a combination of the first recommendation method and the second recommendation method according to the first accuracy rate and the second accuracy rate as a recommendation method for determining content to be recommended to the specified user. (Configuration 4) The information processing device according to configuration 3, characterized in that it comprises a determination means for combining the first recommendation result and the second recommendation result in a ratio proportional to the first accuracy rate and the second accuracy rate, and determining the content to be recommended to the specified user. (Configuration 5) An information processing device according to configuration 3, characterized in that it comprises a determination means for determining the number of contents to be recommended to the specified user when displayed on a specified display means in a ratio proportional to the first accuracy rate and the second accuracy rate. (Configuration 6) When the content recommended to the predetermined user is displayed on a predetermined display device, the reason for recommending the displayed content by the setting means is displayed on the predetermined display device. predetermined 6. The information processing device according to configuration 4 or 5, further comprising a display control means for displaying on a display device. (Configuration 7) The information processing device according to Configuration 1, further comprising: a setting means for setting a threshold value for the first accuracy rate and the second accuracy rate; when both the first accuracy rate and the second accuracy rate are equal to or greater than the threshold value, the setting means sets a combination of the first recommendation method and the second recommendation method according to the first accuracy rate and the second accuracy rate as a recommendation method for determining content to be recommended to the predetermined user; when neither the first accuracy rate nor the second accuracy rate is equal to or greater than the threshold value, the setting means sets the recommendation method for determining content to be recommended to the predetermined user as the recommendation method for determining content to be recommended to the predetermined user, whichever is higher, of the first accuracy rate and the second accuracy rate. (Configuration 8) An information processing device described in any one of configurations 1 to 7, characterized in that the first recommendation method and the second recommendation method are two recommendation methods selected from a recommendation method based on ranking, a recommendation method based on content-based recommendation, and a recommendation method based on collaborative filtering. (Method 1) A control method for an information processing device, comprising: a step of storing the number of times each of a plurality of contents has been used by a plurality of users; before Among the multiple users The data of the number of times of use for a predetermined user is a step of dividing the data into calculation data for determining content to be recommended to a predetermined user and evaluation data for determining a correct answer rate of a recommendation result; a step of determining a first recommendation result, which is content to be recommended to the predetermined user, by a first recommendation method; a step of calculating a second recommendation result, which is content to be recommended to the predetermined user, based on the calculation data by a second recommendation method; and a step of determining a first correct answer rate, which is the correct answer rate of the first recommendation result, and a second correct answer rate, which is the correct answer rate of the second recommendation result, based on the evaluation data; before and setting a recommendation method for determining content to be recommended to the specified user by using the first recommendation method and the second recommendation method based on the first accuracy rate and the second accuracy rate. (Program 1) A program that causes a computer to function as each of the means of the information processing device described in Configuration 1. [Explanation of symbols]

[0093] 2. Server System 4 Program execution server 202 Settings 203 Analysis Department 204 Recommended Calculation Unit 205 Comparison Section 211 Template usage status memory unit 212 Ranking Memory Unit 213 Recommended Memory Section

Claims

1. a storage means for storing the number of times each of a plurality of contents has been used by a plurality of users; a dividing means for dividing the data on the number of uses for a predetermined user among the plurality of users into calculation data for determining content to be recommended to the predetermined user and evaluation data for determining an accuracy rate of the recommendation results; a first calculation means for calculating a first recommendation result, which is content to be recommended to the predetermined user by a first recommendation method; a second calculation means for calculating a second recommendation result, which is content to be recommended to the predetermined user based on the calculation data by a second recommendation method; a third calculation means for calculating a first accuracy rate, which is the accuracy rate of the first recommendation result, and a second accuracy rate, which is the accuracy rate of the second recommendation result, based on the evaluation data; and setting means for setting a recommendation method for determining content to be recommended to the predetermined user by using the first recommendation method and the second recommendation method based on the first accuracy rate and the second accuracy rate.

2. 2. The information processing device according to claim 1, wherein the setting means sets the recommendation method that has obtained the higher accuracy rate out of the first accuracy rate and the second accuracy rate as the recommendation method for determining the content to be recommended to the specified user.

3. 2. The information processing device according to claim 1, wherein the setting means sets a combination of the first recommendation method and the second recommendation method according to the first accuracy rate and the second accuracy rate as a recommendation method for determining content to be recommended to the predetermined user.

4. 4. The information processing device according to claim 3, further comprising a determination means for determining content to be recommended to the predetermined user by combining the first recommendation result and the second recommendation result at a ratio proportional to the first accuracy rate and the second accuracy rate.

5. 4. The information processing device according to claim 3, further comprising a determination means for determining the number of contents to be recommended to the predetermined user when displayed on a predetermined display means at a ratio proportional to the first accuracy rate and the second accuracy rate.

6. The information processing device according to claim 4 or 5, further comprising a display control means for displaying, on a predetermined display device, the reason for recommending the displayed content set by the setting means, when the content recommended to the predetermined user is displayed on the predetermined display device.

7. a setting means for setting thresholds for the first accuracy rate and the second accuracy rate; 2. The information processing device according to claim 1, wherein the setting means sets a combination of the first recommendation method and the second recommendation method according to the first accuracy rate and the second accuracy rate as the recommendation method for determining content to be recommended to the predetermined user when both the first accuracy rate and the second accuracy rate are equal to or greater than the threshold value, and when neither the first accuracy rate nor the second accuracy rate is equal to or greater than the threshold value, sets the recommendation method with the higher accuracy rate out of the first accuracy rate and the second accuracy rate as the recommendation method for determining content to be recommended to the predetermined user.

8. 2. The information processing device according to claim 1, wherein the first recommendation method and the second recommendation method are two recommendation methods selected from a ranking-based recommendation method, a content-based recommendation method, and a collaborative filtering recommendation method.

9. A control method for an information processing device, comprising: storing the number of times each of a plurality of contents has been used by a plurality of users; dividing the data on the number of uses for a predetermined user among the plurality of users into calculation data for determining content to be recommended to the predetermined user and evaluation data for determining an accuracy rate of the recommendation results; obtaining a first recommendation result, which is content to be recommended to the predetermined user by a first recommendation method; calculating a second recommendation result, which is content to be recommended to the predetermined user, based on the calculation data by a second recommendation method; calculating a first accuracy rate, which is the accuracy rate of the first recommendation result, and a second accuracy rate, which is the accuracy rate of the second recommendation result, based on the evaluation data; and setting a recommendation method for determining content to be recommended to the specified user by using the first recommendation method and the second recommendation method based on the first accuracy rate and the second accuracy rate.

10. 2. A program that causes a computer to function as each of the means of the information processing apparatus according to claim 1.

Citation Information

Patent Citations

  • Recommendation information generation apparatus, program and terminal

    JP2011221608A

  • Object recommendation apparatus, object recommendation method, object recommendation program and object recommendation system

    JP2012022570A

  • Information processor, terminal device, information presentation system, method for calculating evaluation score, and program

    JP2012190061A