Suggestion system, suggestion method, and program
Patent Information
- Application Number
- JP2023142091
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-01
- Publication Date
- 2025-03-13
- Estimated Expiration
- 2043-09-01
Smart Images

Figure 2025035198000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a suggestion system, a suggestion method, and a program. [Background technology]
[0002] Conventionally, a technology for providing content based on user attributes is known. This type of technology is described, for example, in Patent Document 1. It is described that the interest analysis device described in Patent Document 1 calculates the importance of content based on user attribute information and interest information indicating that the user has shown interest in the content. In addition, it is described that the travel support system described in Patent Document 2 creates a plan for the user's travel, including items of tourist spots to be passed through and used, transportation means, and routes, based on input information including condition information from a user terminal and user attribute information, in order to support the user's travel. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-157206 [Patent Document 2] JP 2016-139263 A Summary of the Invention [Problem to be solved by the invention]
[0004] The technology described in Patent Document 1 calculates the importance of content based on user attribute information, and the technology described in Patent Document 2 describes creating a plan proposal based on user attribute information. However, when providing content by performing real-time processing in response to a user request, the amount of calculation required to determine suggested content increases as the number of parameters to be calculated, such as user attribute information, increases, and this may slow down the response to the user request. For example, when a user wants to search for content posted by other users, the amount of calculation increases as the number of other users increases, making it impossible to suggest content in real time.
[0005] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a suggestion system, a suggestion method, and a program that can suggest content using similarities between users while reducing the amount of calculation required for real-time processing. [Means for solving the problem]
[0006] (1) One aspect of the present invention is a suggestion system comprising: a value estimation unit that estimates a user's values; a similar user extraction unit that extracts similar users having values similar to the user's values estimated by the value estimation unit; and a suggestion unit that, in response to a search request from a user, suggests content based on information of the similar users extracted by the similar user extraction unit, wherein the similar user extraction unit extracts a predetermined number of first similar users by performing batch processing based on first values estimated by the value estimation unit, and, in response to the first values being updated to second values by the value estimation unit based on the behavior of a user, sorts the first similar users in order of user similarity based on the second values, and the suggestion unit suggests content based on the information of the predetermined number of first similar users starting from the top of the user similarity order.
[0007] (2) In one aspect of the present invention, the similar user extraction unit may calculate the similarity based on an inner product of a value system of a first user and a value system of a second user.
[0008] (3) In one aspect of the present invention, the suggestion unit suggests content based on a suggestion score calculated based on the weight of the suggestion score based on the similarity of the similar users, the weight of the suggestion score based on the scene or situation, and the weight of the suggestion score based on statistical information, and may randomly vary the weight of the suggestion score based on the similarity of the similar users, the weight of the suggestion score based on the scene or situation, and the weight of the suggestion score based on statistical information for each search request of the user.
[0009] (4) One aspect of the present invention is a suggestion method including a step of a suggestion system estimating a user's values, a step of the suggestion system extracting similar users having values similar to the estimated user's values, and a step of the suggestion system suggesting content based on information of the extracted similar users in response to a search request from a user, wherein the step of extracting the similar users includes a step of extracting a predetermined number of first similar users by performing batch processing based on the estimated first values, and a step of sorting the first similar users in order of user similarity based on the second values in response to the first values being updated to second values based on the behavior of the user, and the suggestion step is a suggestion method in which content is suggested based on information of a predetermined number of first similar users from the top of the user similarity order.
[0010] (5) One aspect of the present invention is a program that causes a computer of an information processing device to execute a process including the steps of estimating a user's values, extracting similar users who have values similar to the estimated user's values, and suggesting content based on information of the extracted similar users in response to a search request from a user, wherein the step of extracting the similar users includes the steps of extracting a predetermined number of first similar users by performing batch processing based on the estimated first values, and sorting the first similar users in order of user similarity based on the second values in response to the first values being updated to second values based on the behavior of the user, and the suggesting step is a program that causes a computer of an information processing device to execute a process of suggesting content based on information of a predetermined number of first similar users from the top of the user similarity order. Effect of the Invention
[0011] According to one aspect of the present invention, it is possible to perform content suggestions using similarities between users while suppressing the amount of calculation required for real-time processing. [Brief description of the drawings]
[0012] [Figure 1] 1 is a block diagram showing a configuration example of a suggestion system according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of an overall process of a suggestion system according to an embodiment. [Diagram 3] FIG. 2 is a diagram showing an example of content for value estimation in the embodiment. [Figure 4] 11 is a diagram for explaining an example of a process for updating a user's sense of values based on the user's behavior in an embodiment. FIG. [Diagram 5] 11 is a diagram illustrating an example of suggesting travel plans and content related to travel plans, spots, or word-of-mouth information of similar users when the scene or situation is similar between the current user and similar users in an embodiment. FIG. [Figure 6]FIG. 11 is a diagram showing an example of a suggestion screen according to the embodiment. [Figure 7] FIG. 2 is a diagram for explaining the overall processing of the suggestion system according to the embodiment. [Figure 8] FIG. 11 is a diagram showing an example of a process for calculating user similarity in an embodiment (step S100, process 1-1, step S102, process 1-2), where (a) shows an example of user attribute data, and (b) shows an example of a user similarity matrix. [Figure 9] 1A to 1D are diagrams showing an example of a process for calculating a similarity score between users in an embodiment, in which (a), (b), and (c) show batch processing, and (d) shows real-time processing. [Figure 10] FIG. 11 is a diagram showing a process (process 1-2) for calculating values similarity with a candidate user in calculating a values similarity score in the embodiment. [Figure 11] FIG. 11 is a diagram showing a process (process 1-1-2) for calculating a value similarity for each type in the embodiment. [Figure 12] FIG. 11 shows a process for calculating value similarity by inner product calculation in an embodiment, where (a) shows the values of users A, B, and C, (b) shows the values after scaling, (c) shows the value similarity for user A, and (d) shows the inner product calculation of value similarity. [Figure 13] 13A to 13C are diagrams illustrating an example of a value score in the embodiment, a value score of a similar user with a high correlation coefficient, and a value score of a similar user calculated by an inner product. [Figure 14] FIG. 11 is a diagram showing a process for calculating an overall similarity in the embodiment. [Figure 15] 13A and 13B are diagrams illustrating a process of correcting a score of similarity in the embodiment. [Figure 16] 13A to 13C are diagrams illustrating a process of correcting a score of similarity in real-time processing according to an embodiment. [Figure 17]10A and 10B are diagrams showing another example of the process of calculating user similarity in the embodiment, in which FIG. 10A shows application operation history aggregate data, and FIG. 10B shows an example of a user similarity matrix. [Figure 18] FIG. 11 shows another example of a process for calculating user similarity in an embodiment, where (a) shows an example of travel plan data, (b) shows an example of content attribute aggregate data, (c) shows an example of a content attribute similarity matrix, (d) shows an example of visited area aggregate data, (e) shows an example of a visited area similarity matrix, and (f) shows an example of a user similarity matrix. [Figure 19] 10 is a diagram for explaining the similarity of a scene / situation in the scene / situation similarity score calculation according to the embodiment. FIG. [Figure 20] FIG. 11 is a diagram illustrating an example of a process for calculating a similarity score of a scene / situation in an embodiment. [Figure 21] FIG. 11 is a diagram showing a process for calculating a similarity score of a scene / situation in an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] A suggestion system, a suggestion method, and a program to which the present invention is applied will be described below with reference to the drawings. The suggestion device, the suggestion method, and the program to which the present invention is applied are realized by a suggestion system that suggests content to a user based on the user's values, similar users, a current scene including the user's actions and location, and a current situation including the weather, in response to a search request based on a user's operation, for example. Suggestion is a process of providing a user with content including a list of content. In this way, the suggestion system realizes an information provision service that is highly convenient for the user. In the following embodiment, the application field of the suggestion system is tourism and walking around town, but is not limited thereto and can be applied to any field such as shopping.
[0014] <Overall explanation of the suggestion system> First, the overall configuration and processing contents of a suggestion system 1 according to the embodiment will be described. Fig. 1 is a block diagram showing an example of a configuration of a suggestion system 1 according to an embodiment. The suggestion system 1 includes, for example, a user terminal device 100, a suggestion device 200, a content providing device 300, and an environmental information providing device 400. The user terminal device 100, the content providing device 300, and the environmental information providing device 400 are connected to, for example, a communication network NW. Each device connected to the communication network NW includes a communication interface such as a network interface card (NIC) or a wireless communication module (not shown in Fig. 1). The communication network includes, for example, the Internet, a wide area network (WAN), a local area network (LAN), and a cellular network.
[0015] The user terminal device 100 is a portable terminal device such as a smartphone or a tablet terminal. A UA (User Agent) such as a browser or an application program is started in the user terminal device 100. The UA is, for example, an application for receiving an information providing service provided by the suggestion device 200. The user terminal device 100 generates a search request including operation information based on a user's operation, location information of the user terminal device 100 using a GPS (Global Positioning System, Global Positioning Satellite), and a query, and transmits the search request to the suggestion device 200 or the content providing device 300. The user terminal device 100 performs display processing, operation reception processing, and the like using information representing a list of contents provided by the suggestion device 200 and contents received from the content providing device 300.
[0016] The suggestion device 200 is, for example, an information processing device that performs processing for an information provision service. The suggestion device 200 includes, for example, a reception unit 210, a scene / situation estimation unit 220, a value estimation unit 230, a similar user extraction unit 240, a search unit 250, a suggestion unit 260, and a database unit 270. The functional units such as the reception unit 210, the scene / situation estimation unit 220, the value estimation unit 230, the similar user extraction unit 240, the search unit 250, and the suggestion unit 260 are realized by a processor such as a CPU (Central Processing Unit) executing a program stored in a program memory. In addition, some or all of these functional units may be realized by hardware such as an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array), or may be realized by cooperation between software and hardware.
[0017] The reception unit 210 receives a user's operation, etc., by acquiring operation information, which is information based on the user's operation, from the user terminal device 100. The scene / situation estimation unit 220 acquires scene information representing a scene that influences the user's values and / or situation information representing the situation in which the user is placed. The scene / situation estimation unit 220 may acquire behavior history information including operation information, user location information, content browsing history, and a history of actions related to the user's values, such as favorite registration, in order to acquire the scene / situation. The value estimation unit 230 estimates the user's values in an application field such as tourism. The user's values are, for example, preferences or tastes in tourism. The user's values vary depending on the scene and / or situation, and therefore include values corresponding to the scene and / or situation. The value estimation unit 230 may estimate a persona corresponding to the user based on the user's values. The persona is a customer model that receives an information provision service. The value estimation unit 230 may also acquire, for example, fixed information of the user (address, gender, age, etc.) as the user attributes. The similar user extraction unit 240 extracts similar users having values similar to the user's values estimated by the value estimation unit 230. The search unit 250 searches for content based on a search request from the user accepted by the acceptance unit 210. The suggestion unit 260 suggests content from among the content searched for by the search unit 250, based on the scene / situation estimated by the scene / situation estimation unit 220, the values estimated by the values estimation unit 230, the similar users extracted by the similar user extraction unit 240, etc.
[0018] The database unit 270 is realized by, for example, a hard disk drive (HDD), a flash memory, an electrically erasable programmable read only memory (EEPROM), a read only memory (ROM), or a random access memory (RAM), or a hybrid storage device using a plurality of these. The database unit 270 may be realized by an external storage device accessible via various networks. An example of an external storage device is a network attached storage (NAS) device. The database unit 270 manages information required for processing by each unit in the suggestion device 200.
[0019] The content providing device 300 is, for example, a server device that provides various contents in response to a request from the user terminal device 100. The content providing device 300 provides, for example, contents related to restaurants, shops, public facilities (such as parks), transportation, and commercial facilities at a travel destination. The content providing device 300 stores content data of the content to be provided, including, for example, advertising information of restaurants, coupon information, and URLs of restaurants, in the content storage unit 300A. Content attribute information indicating the attributes of the content is added to the content data. The attributes of the content are information indicating the nature of the content, and are, for example, information corresponding to the user's values, information corresponding to the persona, and information corresponding to a scene or situation.
[0020] The environmental information providing device 400 is a server device that distributes ever-changing environmental information such as weather information, traffic information, and disaster information. The environmental information providing device 400 transmits environmental information in response to a request from, for example, the suggestion device 200. The environmental information may include user information such as current location information, spot information indicating the spot of the current location (e.g., store name, tourist spot name), and electronic money balance information.
[0021] [Overall processing of suggestion system 1] FIG. 2 is a diagram showing an example of the overall process of the suggestion system 1 according to the embodiment. First, when the user terminal device 100 installs or starts an application for receiving an information provision service, the user terminal device 100 transmits a connection request S10 to the suggestion device 200. In response to the connection request S10, the suggestion device 200 transmits content S11 for value estimation stored in the database unit 270 to the user terminal device 100. The user terminal device 100 accepts a selection operation on the content S11 for value estimation and transmits operation information S12 to the suggestion device 200. The reception unit 210 accepts the operation information S12 based on the selection operation, and the value estimation unit 230 estimates the user's values based on the selection operation and assigns the estimated values to the user information (step ST10).
[0022] After that, the user terminal device 100 transmits various operation information S13a, position information S13b, or information on scene / situation S13c to the suggest device 200. In response, the scene / situation estimation unit 220 updates the behavior history based on the operation information S13a, and the value estimation unit 230 updates the value based on the transmitted information (step ST11). In addition, when a condition is met, such as when a preset timing arrives or when environmental information changes, the environmental information providing device 400 transmits environmental information S14 related to scene / situation to the suggest device 200. In response, the value estimation unit 230 updates the value based on the transmitted environmental information S14 (step ST12).
[0023] Thereafter, the user terminal device 100 transmits a search request S15 including a query for searching for sightseeing-related content to the suggestion device 200. The reception unit 210 receives the search request S15, the search unit 250 acquires content data S16 from the content providing device 300 in response to the search request S15, and the suggestion unit 260 calculates a suggestion score based on the current user's values, scene / situation, and similar users (step ST13). The suggestion unit 260 transmits suggestion data S17 for displaying a content list to the user terminal device 100 based on the calculated suggestion score. The user terminal device 100 receives the suggestion data S17 and displays the content list. When the user terminal device 100 receives an operation resulting from displaying the content list, it transmits operation information S18 to the suggestion device 200. The operation resulting from displaying the content list includes, for example, viewing content based on selecting content included in the content list, adding the content to favorites, and adding to a plan. The value estimation unit 230 updates the value based on the transmitted operation information S18 (step ST14).
[0024] [Initial value estimation process] FIG. 3 is a diagram showing an example of content for value estimation in the embodiment. The content for value estimation includes a plurality of sets of images specialized for tourism and catch phrases specialized for tourism. When the user terminal device 100 receives the content for estimation, it displays a value estimation screen. The value estimation screen includes four sets of images and catch phrases corresponding to the images, and a question message such as "What do you like?" The images and catch phrases included in the content for value estimation are images and catch phrases corresponding to the attributes of the content. When the user terminal device 100 receives an operation to select one of the four sets, it transmits selection result information indicating the selected image and catch phrase to the suggestion device 200. The value estimation unit 230 estimates the user's values corresponding to the attributes of the content based on the selection result information, and the suggestion unit 260 transmits list information of the content to the user terminal device 100 based on the estimated values. As a result, the user terminal device 100 displays a recommended spot list screen including a list of contents. The user terminal device 100 may transmit filter information such as categories and tourist spots to the suggestion device 200, and the suggestion device 200 may transmit list information of contents matching the filter information to the user terminal device 100. The contents for value estimation may include images and catchy slogans that update the values of model plans specialized for tourism.
[0025] Although the value estimation screen shown in FIG. 3 displays four sets of images and catch phrases, the present invention is not limited to this, and eight sets may be displayed at once. Furthermore, the sets of images and catch phrases displayed at once may be displayed in a random order or position without setting a priority or ranking. Furthermore, it is preferable that each set of images and catch phrases displayed at once has the same size and is aligned on the screen so that the user can view them all at once, thereby maintaining fairness between the images.
[0026] [Values update process] FIG. 4 is a diagram for explaining an example of a process of updating a user's values based on the user's actions in the embodiment. As shown in FIG. 5, the value estimation unit 230 of the embodiment updates the user's values corresponding to the attributes of the content when an operation (action) is performed. When an operation such as viewing of content belonging to "local" and "traditional" is performed on the content belonging to "local" and "traditional", the value estimation unit 230 updates the attribute score of the user's values corresponding to "local" and "traditional" to a high value. On the other hand, since no operation is performed on the content belonging to "photogenic", the value estimation unit 230 updates the attribute score of the user's values corresponding to "photogenic" to a low value. In this way, the value estimation unit 230 can more accurately grasp the user's values by reflecting the user's operations in the user's values estimated using the content for value estimation.
[0027] [Summary of similar user suggestions] Fig. 5 is a diagram for explaining an example of suggesting travel plans and contents related to travel plans, spots, or word-of-mouth information of similar users when the scene or situation of the user and similar users is similar in the embodiment. Fig. 6 is a diagram showing an example of a suggestion screen in the embodiment.
[0028] In the embodiment, the suggestion system 1 makes suggestions to A before and during the trip, for example, when (1) B, who likes the same trips and shops as A, comes to (2) ○○ (place name) when the weather is good and (3) A goes to △△ (spot).
[0029] In order to suggest a list of contents to a user (Mr. A), the suggestion device 200 of the embodiment estimates a similar user (Mr. B) who has values similar to those of the user. The suggestion device 200 calculates a similarity score between the users by a process 1, and calculates a similarity score of scene and situation data between the users by a process 2. The suggestion device 200 acquires travel plan data, spot information, and word-of-mouth information of similar users, and accumulates them in a database unit 270. When the suggestion device 200 receives a search request from the user terminal device 100 based on the operation of the user, and determines that the scene and situation data of the user and the scene and situation data of the similar user are the same or similar, the suggestion device 200 suggests contents included in the travel plan data created by the similar user, contents related to the spot information, or contents related to the word-of-mouth information by a process 3. As a result, for example, when person A makes a search request for ○○ (location), the suggestion device 200 can suggest content including travel records of person B who is similar to person A's (photos and reviews from when he went to △△), travel records of users whom person A follows, etc., as shown in FIG. 6.
[0030] [Overview of suggestion processing based on similar users] 7 is a diagram for explaining the overall processing of the suggestion system in the embodiment. In FIG. 7, the relationship between the processing (UI (user)) of the user terminal device 100, the processing of the suggestion device 200, and data recorded in the database unit 270 is shown. The suggestion device 200 calculates a similarity score between users before accepting a search request from the user terminal device 100. At this time, the similar user extraction unit 240 extracts a predetermined number of first similar users by performing batch processing based on the first value estimated by the value estimation unit 230 (step S100, process 1-1). At this time, the similar user extraction unit 240 may refer to at least a part of the user attribute data, UI operation log data, travel plan data, and content data viewed by the user.
[0031] When the user terminal device 100 transmits a search request for a list of contents, a list of travel records, or a list of reviews to the suggestion device 200 (step S200), the similar user extraction unit 240 rearranges the first similar users in order of similarity based on the second value in response to the first value being updated to the second value by the value estimation unit 230 based on the behavior of the user (step S102, process 1-2). As a result, the suggestion device 200 calculates a similarity score between the user and a predetermined number of first similar users from the top of the similarity order by real-time processing. At this time, the similar user extraction unit 240 may refer to at least a part of the user attribute data, UI operation log data, travel plan data, and content data viewed by the user.
[0032] Next, the scene / situation estimation unit 220 refers to at least a part of the UI operation log data and the travel plan data to calculate the similarity between the scene / situation of the user and the scene / situation of the similar user (step S104, process 2). The suggestion unit 260 calculates the suggestion score of the content searched by the search unit 250 based on the similar user and similar scene / situation data (step S106, process 3). Next, the suggestion unit 260 refers to the content data, etc., and sums up the list of suggestion scores based on the similar user and similar scene / situation data and the suggestion score of the list of contents based on other elements (statistical information, etc.) (step S108). The suggestion unit 260 provides the user terminal device 100 with suggestion data for displaying a list of contents based on the suggestion score as a result of the summation. As a result, the user terminal device 100 displays the list of contents, the travel record, and the word-of-mouth (step S202).
[0033] FIG. 8 is a diagram showing an example of a process (step S100, process 1 of step S102) for calculating user similarity in the embodiment, where (a) shows an example of user attribute data, and (b) shows an example of a user similarity matrix. In the database unit 270, user attribute data for a plurality of users is stored as shown in FIG. 8(a). In the user attribute data, a value score for each category is registered for each user. The similar user extraction unit 240 creates a user similarity matrix as shown in FIG. 8(b) by calculating the inner product between users for each category in the user attribute data. The similar user extraction unit 240 extracts users with a high inner product as similar users from among the users registered in the database unit 270. In this way, the similar user extraction unit 240 can extract similar users based on the similarity of various values of users.
[0034] FIG. 9 shows an example of a process for calculating a similarity score between users in an embodiment, where (a), (b), and (c) show batch processing, and (d) shows real-time processing. First, the similar user extraction unit 240 extracts candidate users who are candidates for similar users from all users for each of all users, as shown in Fig. 9(a) (Process 1-1-1). The similar user extraction unit 240 extracts users (1) to (10) as candidate users by narrowing down the candidate users to those who have made travel records, for example.
[0035] In the process 1-1-1, in terms of narrowing down the number of candidate users, it is desirable to (1) limit the number of users to those who have posted travel records or reviews. Even if a user who has not posted travel records or reviews has a high similarity to another user (a user who receives suggestions), the information of that user can be prevented from being suggested. It is desirable to limit process 1-1-1 to (2) users who have updated their values a certain number of times. This makes it possible to increase the reliability of the information by excluding travel records posted by users who have used the service infrequently. In process 1-1-1, for example, a threshold value for the number of times values are updated may be determined for each category (sightseeing, dining, etc.). In the process 1-1-1, (3) it is desirable to exclude people involved in the suggestion system 1. People involved in the suggestion system 1 use the system in a different way from general users, such as for operational checks, and are unlikely to be of help to other users, so it is desirable to exclude them from candidates in advance.
[0036] (Batch processing (processing 1-1-2)) Next, the similar user extraction unit 240 calculates the similarity between the values of each user and the values of the candidate users (process 1-1-2), as shown in Fig. 9(b). At this time, the similar user extraction unit 240 first calculates the similarity for each category such as "food-genre" as calculation procedure (1), calculates the overall similarity by aggregating the similarity for each category as calculation procedure (2), and corrects the score of the value similarity to the range of 0.0 to 1.0 as calculation procedure (3).
[0037] 10 is a diagram showing a process (process 1-2) for calculating a value similarity with a candidate user in the calculation of a value similarity score in the embodiment. Note that the user receiving the suggestion is User A, and the users to be subjected to the similarity calculation are User B and User C. First, in a situation where the values of users A, B, and C are estimated as shown in Fig. 10(a), the similar user extraction unit 240 calculates the similarity between the user A and each of users B and C individually for each of the values (sightseeing), genre (sightseeing), and detailed information (sightseeing) (step (1)). As a result, the similar user extraction unit 240 calculates the similarity between user A and other users B and C as shown in Fig. 10(b). Next, the similar user extraction unit 240 calculates the similarity for each of the values, genre, and detailed information, as shown in Figure 10(c), and calculates the overall similarity based on the calculated similarities, as shown in Figure 10(d) (step (2)). Next, the similar user extraction unit 240 converts the scores of similar users with values similarity as shown in Fig. 10(e) so that the range of the values similarity scores is within a certain range (step (3)). As a result, the similar user extraction unit 240 can make the corrected values similarity scores fall within the range from 1.00 to 0.00 as shown in Fig. 10(f). This makes it possible to suppress variation in values similarity for subsequent calculations of similarity taking into account scenes and situations.
[0038] FIG. 11 is a diagram showing a process (process 1-1-2) for calculating the value similarity for each type in the embodiment. As shown in FIG. 11(a), when values are estimated for each user with respect to values, genre, and detailed information, the similar user extraction unit 240 calculates the user similarity of articles, model plans, and travel records, the user similarity of the food category, the user similarity of the shopping category, the user similarity of the accommodation category, and the user similarity of the sightseeing category, as shown in FIG. 11(b). The user's values include, for example, two types of values, model plan values and category values. The category values are further divided into "values", "genre", and "detailed information" for each category (sightseeing, accommodation, shopping, and meals), and "values" include "high class" and "photogenic", and are assigned attributes of individual spots. The model plan values are values for "model plans" (provided by the service) and "(feature) articles", rather than individual spots, and are assigned attributes similar to the theme of the trip, such as "photogenic" and "orthodox", for example. The user similarity of an article, a model plan, or a travel record is the sum of the user similarity of the model plan and the user similarity of each category (dining, shopping, accommodation, and sightseeing). For the user similarity for spots (four types), the value, genre, and detailed information of the corresponding category may be used. This allows the suggestion device 200 to use different user similarities depending on the suggested target.
[0039] FIG. 12 is a diagram showing a process for calculating value similarity by inner product calculation in an embodiment, where (a) shows the values of users A, B, and C, (b) shows the values after scaling, (c) shows the value similarity for user A, and (d) shows the inner product calculation of the value similarity. The similar user extraction unit 240 divides each score of the target attribute by the total score value in order to scale the scores of the target attributes for similarity calculation for each user, so that the total score of the target attributes for similarity calculation becomes 1.0, as shown in FIG. 12(b). The sum of absolute values (high class value + photogenic value + ...) is used to calculate the total score value of the attributes, but is not limited to this, and the sum of squares (high class value 2 +Photogenic values 2 +...), and the sum of absolute values and the sum of squares may be switchable.
[0040] The similar user extraction unit 240 calculates the value similarity for user A shown in Fig. 12(c) by calculating the inner product of the value (ai) of user A as shown in Fig. 12(d) and the value (bi) of another user B as shown in the following formula 1. By calculating the inner product, it is possible to calculate a value obtained by adding up the products of the scores of the user's values.
number
[0041] FIG. 13 shows an example of the value score in the embodiment, the value score of a similar user with a high correlation coefficient, and the value score of a similar user calculated by the inner product. When the value similarity is calculated by the correlation coefficient, the value similarity is likely to be high when the tendencies of what user A likes and what user A dislikes are similar. Therefore, when the value similarity of users is calculated by the correlation coefficient, not only the things that user A likes but also the contents of users who dislike similar things tend to be suggested. In contrast, when the value similarity is calculated by the inner product, the value similarity of users who tend to like things similar to user A can be increased. This makes it possible to suggest contents of users who like things similar to user A.
[0042] FIG. 14 is a diagram showing a process for calculating the overall similarity in the embodiment. The similar user extraction unit 240 calculates the value similarity, genre similarity, and detailed information similarity between the users in Figure 14(b) from the values of the users shown in Figure 14(a), and calculates the overall similarity based on the value similarity, genre similarity, and detailed information similarity between the users using the following formula. Overall similarity = Value similarity x 2.0 + Genre similarity x 1.0 + Detailed information similarity x 0.5 The similar user extraction unit 240 calculates the overall similarity between user A and user B, and the overall similarity between user A and user C. The weights of the value similarity, genre similarity, and detailed information similarity in the above formula may be tuned according to the importance, etc.
[0043] FIG. 15 is a diagram showing a process of correcting a score of similarity in the embodiment. The similar user extraction unit 240 may perform calculations according to the following formula when correcting the value similarity. As a result, when calculating the final suggestion score, the value similarity suggestion score is added to other perspectives such as the score of the scene / situation of the accompanying person, etc., so in order to balance the suggestion score, it is necessary to match the scale of the numerical value with the scores of other perspectives. Therefore, the score is converted so that the range of the similarity score is within a certain range.
number
[0044] Next, the similar user extraction unit 240 extracts users with high similarity based on the value similarity score with each candidate user, as shown in FIG. 9(c) (Process 1-1-3). The similar user extraction unit 240 extracts, for example, users (1) to (6) with high value similarity as similar users. The similar user extraction unit 240 registers information on the extracted similar users in the database unit 270. The similar user extraction unit 240 extracts users with high similarity in five types of value similarity, namely, value similarity for articles, model plans, and travel records, value similarity for food category, value similarity for shopping category, value similarity for accommodation category, and value similarity for sightseeing category, as similar users.
[0045] [Real-time processing] When the suggestion device 200 receives a search request from the user terminal device 100, the value estimation unit 230 updates the value of the user corresponding to the user terminal device 100 as shown in FIG. 9(d). In response to updating the value of the user, the similar user extraction unit 240 reads information of similar users about the user by real-time processing and updates the similarity between the value of the updated user and the value of the similar users (processing 1-2). In response to updating the first value to the second value based on the behavior of the user, the first similar users are sorted in order of similarity based on the second value. At this time, the similar user extraction unit 240 performs calculation procedure (1), calculation procedure (2), and calculation procedure (3) of processing 1-1-2. In calculation procedure (3), the similar user extraction unit 240 corrects the range of the value similarity score to the range of value similarity (range of minimum value 0.64 to maximum value 1.00) of users (1) to (6) in FIG. 9(c). In addition, each time the similar user extraction unit 240 updates the values based on the user's operations, etc., it extracts users with the highest similarities in five categories, namely, value similarity for articles, model plans, and travel records, value similarity for the food category, value similarity for the shopping category, value similarity for the accommodation category, and value similarity for the sightseeing category, as similar users.
[0046] FIG. 16 is a diagram showing a process of correcting a score of similarity in real time processing in the embodiment. The similar user extraction unit 240 may perform calculations according to the above-mentioned formula 2 when correcting the value similarity. As a result, when calculating the final suggestion score, the value similarity suggestion score is added to other perspectives such as the score of the scene / situation of the accompanying person, etc., so that the scale of the numerical value needs to be aligned with the scores of other perspectives in order to balance the suggestion score. Therefore, the score is converted so that the range of the similarity score is within a certain range.
[0047] In the above formula 2, since the maximum value of the value similarity may be a large outlier, it is desirable to set the top N value similarity score as the maximum value. The similar user extraction unit 240 corrects the top N value similarity scores to 1.0. The minimum value of the value similarity after correction is set to 0.0 in batch processing and the minimum value before the value similarity correction in real-time processing. For example, when correcting the value similarity for user L in FIG. 16, the minimum value of the value similarity score is set to 1.11, the score of the top N scorers (for example, N=3) is 1.85, and the minimum value of the score after correction is set to 0.57. In this case, the value similarity score of user L is (1.23-1.11) / (1.85-1.11)×(1.0-0.57)+0.57=0.64.
[0048] As a result, the similar user extraction unit 240 extracts users similar to the current user through batch processing and real-time processing. When there are many users, the amount of calculation increases, making it difficult to perform a series of calculations in real time each time, but by narrowing down the similar users, the amount of calculation in real-time processing can be reduced. On the other hand, when the values of the current user are updated, similar users to the updated values can be sorted in order of similarity, and word-of-mouth reviews and the like posted by a predetermined number of similar users can be suggested from the top of the similarity order.
[0049] The similar user extraction unit 240 may switch between the value similarity based on the inner product calculation and the value similarity based on the correlation coefficient. For example, depending on the usability of the suggestions for content including travel records, it may be possible to obtain more convincing suggestions by increasing the score of a user who is similar in both preferences and non-preferences. In this case, the similar user extraction unit 240 can suggest the content of a similar user extracted based on the value similarity based on the correlation coefficient instead of the content of a similar user extracted based on the value similarity based on the inner product calculation.
[0050] As a countermeasure against cold start, it is preferable that the suggestion device 200 applies similar users and similarities to the initial values when estimating the initial values for a new user. The similar user extraction unit 240 stores data of similar users corresponding to each of the preset initial values in the database unit 270, sets similar users for the user when a new value is registered, and performs real-time processing on the set similar users.
[0051] [Other calculations of user similarity] FIG. 17 is a diagram showing another example of the process of calculating the similarity of users in the embodiment, where (a) shows application operation history summary data, and (b) shows an example of a user similarity matrix. The database unit 270 stores application operation history summary data for multiple users as shown in FIG. 17(a). The application operation history summary data is updated by the scene / situation estimation unit 220, for example, by adding 0.2 when the user views content at a certain spot once, and by adding 1.0 when the user adds the content to a favorite or a travel plan. The value estimation unit 230 creates a user similarity matrix as shown in FIG. 17(b) by calculating a correlation coefficient between users for each category in the application operation history summary data. Since the application operation history summary data is sparse data with many dimensions, the correlation coefficient may be calculated after dimension compression using, for example, NMF (non-negative matrix factorization) or LDA (latent Dirichlet allocation). The value estimation unit 230 extracts users with high correlation coefficients from among users registered in the database unit 270 as similar users. In this way, the value estimation unit 230 can extract similar users based on the operation history of the user.
[0052] FIG. 18 is a diagram showing another example of the process of calculating the similarity of users in the embodiment, where (a) shows an example of the travel plan data, (b) shows an example of the content attribute aggregate data, (c) shows an example of the content attribute similarity matrix, (d) shows an example of the visited area aggregate data, (e) shows an example of the visited area similarity matrix, and (f) shows an example of the user similarity matrix. As shown in FIG. 18(a), the database unit 270 stores travel plan data including time periods and places (spots) for multiple users. The value estimation unit 230 creates the content attribute aggregate data shown in FIG. 18(b) by aggregating the average of the content attributes of the spots included in the travel plan shown in FIG. 18(a). The content attribute aggregate data includes the average value of the attributes of the content related to the places in the travel plan for each user. Next, the value estimation unit 230 creates the content attribute similarity matrix shown in FIG. 18(c) by calculating the cosine similarity between the users. The content attribute similarity matrix includes the similarity between the users. The value estimation unit 230 creates the visited area aggregate data shown in FIG. 18(d) by attaching a flag to the cities, towns, and villages included in the travel plan shown in FIG. 18(a). The visited area aggregate data includes the visited areas with the flag attached for each user. Next, the value estimation unit 230 creates the visited area similarity matrix shown in FIG. 18(e) by calculating the cosine similarity between the users. The visited area similarity matrix includes the similarity between the users. The value estimation unit 230 creates the user attribute similarity matrix shown in FIG. 18(f) by calculating the geometric mean of the content attribute similarity matrix and the visited area similarity. The value estimation unit 230 extracts users with a high correlation coefficient from among the users registered in the database unit 270 as similar users. In this way, the value estimation unit 230 can extract similar users based on the similarity of the content attributes and visited areas in the travel plan.
[0053] [Scene / situation similarity score calculation process] FIG. 19 is a diagram for explaining the similarity of a scene / situation in the scene / situation similarity score calculation of the embodiment. The scene / situation estimation unit 220 calculates the similarity of a scene / situation by performing processing such as a similarity measurement method on the items and values of the scene / situation. If the scenes / situations of the user and the similar user match in "accompanying person" and the value matches in "with a friend", the scene / situation estimation unit 220 calculates the similarity as "1", and if they are different, calculates the similarity as "0". In this way, the scene / situation estimation unit 220 can register information in the database unit 270 that corresponds to the items, values, and similarity measurement methods of the scene / situation that are set in advance, and calculate the similarity of the scene / situation of the user and the similar user according to the registered information.
[0054] 20 is a diagram showing an example of a process for calculating a similarity score of a scene / situation in an embodiment. The scene / situation estimation unit 220 compares the scene / situation of the target user to be suggested with the scene / situation of a similar user, and calculates a similarity score of the scene / situation for each content related to the destination. The scene / situation estimation unit 220 calculates a weighted average, for example, as shown in the following formula. (Scene-situation similarity score) = Σ((individual similarity) × (weight)) / Σ(weight) As shown in Fig. 20(a), when the user is searching for a place to visit, it is assumed that the similar user's visit destination is "XX Cafe." In this case, the scene / situation estimation unit 220 calculates an individual similarity for each scene / situation as shown in Fig. 20(b) by comparing the scene / situation of the user shown in Fig. 20(a) with the scene / situation of the similar user. The scene / situation estimation unit 220 multiplies each individual similarity by a weight for each scene / situation set in advance, and calculates a scene / situation similarity score by summing up the multiplied values of all similarities, as shown below. (Scene-situation similarity score) = (1.0 x 1.0 + 0.5 x 1.0 + 0.9 x 1.0 + 1.0 x 0.2 + 1.0 x 0.3 + 0.0 x 0.3 + 0.0 x 0.8 + 0.0 x 0.5 + 0.6 x 0.5 + 1.0 x 0.5) / (1.0 + 1.0 + 1.0 + 0.2 + 0.3 + 0.3 + 0.8 + 0.5 + 0.5 + 0.5) = 0.606
[0055] In the calculation of the similarity score of the above-mentioned scene / situation, when suggesting content about a travel record, the similarity score may be calculated using the following items of scene / situation. The following items include companions, date, location, weather, etc. The scene / situation estimation unit 220 may calculate the similarity score when it is able to obtain information on the following items of scene / situation. The scene / situation estimation unit 220 may calculate a similarity score using information about the accompanying person. The scene / situation estimation unit 220 adds 1.0 points when the accompanying person information of the user receiving the suggestion and the similar user matches, and does not add points in other cases.
[0056] The scene / situation estimation unit 220 may calculate the similarity score using date information. When the difference from the date specified by the user is N days or less (for example, N=20), the scene / situation estimation unit 220 adds 1.0 points to the travel record of the similar user, and adds 0.5 points to the travel record of more than N days but less than 2N days. Since the travel record of the same season is suggested, the year does not need to be taken into consideration. For example, when the user searches for content on 2024 / 7 / 23, 1.0 points are added to the travel record of the similar user on 2023 / 7 / 23. In addition, the date difference between the date searched by the user and the closest date in the travel record may be calculated. For example, when the travel plan of the user is 7 / 7-7 / 9 and the travel record of the similar user is 7 / 19-7 / 21, the difference is 10 days, so 1.0 points are added.
[0057] The scene / situation estimation unit 220 may add points to the travel records of similar users that include spots close to the current location of the user during the trip (during the trip). For example, the current location of the user is compared with the location of each spot included in the travel record, and if there is even one spot in the travel record that matches the current location of the user, 1.0 points are added to the travel record, and no points are added otherwise. For example, a match may be determined based on the position accuracy of a wide area level, such as "northern Okinawa." For example, if the user is in northern Okinawa, points may be added to the travel record that includes one or more spots in northern Okinawa.
[0058] The scene / situation estimation unit 220 may add points to the travel records of similar users whose weather matches the weather at the user's current location during the trip (during the trip). For example, the scene / situation estimation unit 220 compares the weather at the user's current location with the weather recorded at each spot included in the travel record, and adds 1.0 points to the travel record if the weather matches "sunny" or "rainy" in the same area, adds 0.5 points to the travel record if the weather matches "sunny" or "rainy" outside the same area, and does not add points in other cases.
[0059] The scene / situation estimation unit 220 may calculate the similarity score of the scene / situation according to the following formula: Scene-situation similarity score = companion match score x companion weight + date match score x date weight + area match score x area weight + weather match score x weather weight The scene / situation estimation unit 220 may change the weights according to the items that the user places importance on.
[0060] FIG. 21 is a diagram showing a process for calculating a similarity score between scenes and situations in the embodiment. If a user with a high similarity in the similar user extraction process (Process 1) posts many travel records, there is a possibility that many travel records of the same user will be lined up in order of suggestion score, as shown in Figure 21(a). If the same user's travel records are lined up, it may give the user an impression of being tedious, so it is desirable to set a maximum number of records to be displayed in the top suggested score order per posting user. Therefore, the suggestion unit 260 calculates the suggestion score by retaining the top N (e.g., N=3) travel records of one similar user in order of similarity score based on the scene and situation, as shown in Fig. 21(b). The suggestion unit 260 displays the travel records not included in the top N in order of newness, mixed with the travel records of users not included in the similar users.
[0061] [Suggested score calculation process] The suggestion unit 260 may calculate an overall suggestion score by adding a suggestion score based on statistical information in addition to the value similarity in process 1 and the scene / situation similarity in process 2. The statistical information is information that statistically evaluates content, such as the number of favorites, the number of views, and the duration of stay. Since a travel record with a large number of favorites has high quality content, the suggestion unit 260 may add a score (favorite score) according to the number of favorites. For example, a score obtained by taking the logarithm of the number of favorites may be added to the suggestion score. The logarithm has a base of 10. Since the number of favorites does not have a fixed range of values, if there is a travel record with an extremely large number of favorites, the same content may be frequently suggested. To prevent this, the number of favorites is logarithmically converted as a mechanism for making it difficult for the suggestion score to increase when the number of favorites becomes relatively large.
[0062] The suggestion unit 260 performs calculation according to the following formula as the total score of the suggestion scores. Suggested score = Similar user score × Similar user score weight + Companion Match Score x Companion Weight + Date score x Date weight + Area match score × Area match weight (only during the trip) +Weather match score x Weather match weight (only during the trip) + Favorite Score x Favorite Score Weight For users determined to have low user similarity by process 1 (users who were not extracted as similar users in batch processing and were not subject to real-time processing), the suggestion unit 260 does not calculate scene / situation similarity scores and does not add points to the suggestion score based on statistical information in order to reduce the amount of calculation. However, the suggestion unit 260 suggests content of users not extracted as similar users in the order of similarity scores calculated by badge processing below content of users extracted as similar users by badge processing.
[0063] The suggestion unit 260 suggests content based on the suggestion score calculated based on the weight of the suggestion score based on the similarity of similar users, the weight of the suggestion score based on the scene or situation, and the weight of the suggestion score based on statistical information, but the weight of the suggestion score based on the similarity of similar users, the weight of the suggestion score based on the scene or situation, and the weight of the suggestion score based on statistical information may be randomly varied for each user's search request.
[0064] If the suggestion unit 260 always suggests based only on the suggestion score, the suggestion results may become fixed and the user may become bored. In response to this, it is preferable that the suggestion unit 260 introduces a mechanism for randomly varying the suggestion weight parameters as a mechanism for appropriately varying the suggestions. In addition, the suggestion unit 260 can provide not only accuracy but also "serendipity" and "diversity" as a mechanism for preventing the user from becoming bored with the content suggestions.
[0065] The suggestion unit 260 may set a weight combination pattern to randomly vary multiple weights in the suggestion score, and randomly select a weight combination from the weight combination pattern when suggesting content. This allows the suggestion unit 260 to randomly switch between suggestions that emphasize the similarity of similar users, suggestions that emphasize the scene or situation, and suggestions that emphasize statistical information. In addition, the suggestion unit 260 can set an optimal weight combination pattern by analyzing the user's behavior (operation) when switching the weight combination pattern.
[0066] In addition, if there is an element for adding points to the suggested score other than the weighting of the suggested score based on the similarity of similar users, the weighting of the suggested score based on the scene or situation, and the weighting of the suggested score based on statistical information, the suggestion unit 260 may add the score based on that element to the suggested score.
[0067] As described above, the suggestion system 1 of the embodiment includes a value estimation unit 230 that estimates a user's values, a similar user extraction unit 240 that extracts similar users who have values similar to the user's values estimated by the value estimation unit 230, and a suggestion unit 260 that suggests content based on the similar users extracted by the similar user extraction unit 240 in response to a search request from a user. According to this suggestion system 1, the similar user extraction unit 240 extracts a predetermined number of first similar users by performing batch processing based on the first values estimated by the value estimation unit 230, and in response to the first values being updated to second values by the value estimation unit 230 based on the behavior of the user, the first similar users are sorted in order of similarity based on the second values, and the suggestion unit 260 suggests content based on information of a predetermined number of first similar users from the top of the similarity order. According to this suggestion system 1, similar users are narrowed down by batch processing, and suggestions are made based on information of the narrowed down similar users, so that content suggestions can be made using the similarities between users while suppressing the amount of calculation required for real-time processing.
[0068] Although each embodiment and each variant has been described, these are merely examples and are not intended to be limiting. For example, any of the embodiments or variants, or a part of each embodiment or a part of each variant, may be combined with one or more other embodiments or one or more other variants to realize one aspect of the present invention.
[0069] In addition, programs for executing the processes of the user terminal device 100, the suggestion device 200, the content providing device 300, and the environmental information providing device 400 in this embodiment may be recorded on a computer-readable recording medium, and the programs recorded on the recording medium may be read into and executed by a computer system, thereby performing the various processes described above related to the user terminal device 100, the suggestion device 200, the content providing device 300, and the environmental information providing device 400.
[0070] Note that the "computer system" referred to here may include hardware such as the OS and peripheral devices. Furthermore, if a WWW system is used, the "computer system" also includes the homepage provision environment (or display environment). Furthermore, "computer-readable recording medium" refers to storage devices such as flexible disks, magneto-optical disks, ROMs, writable non-volatile memories such as flash memory, portable media such as CD-ROMs, and hard disks built into computer systems.
[0071] Furthermore, the term "computer-readable recording medium" includes a storage medium that holds a program for a certain period of time, such as a volatile memory (e.g., DRAM (Dynamic Random Access Memory)) inside a computer system that serves as a server or client when the program is transmitted via a network such as the Internet or a communication line such as a telephone line. The program may also be transmitted from a computer system that stores the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.
[0072] Here, the "transmission medium" that transmits the program refers to a medium that has the function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. The above program may also be one that realizes part of the above-mentioned functions. Furthermore, it may be one that can realize the above-mentioned functions in combination with a program already recorded in the computer system, a so-called difference file (difference program).
[0073] Although the embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and the present invention also includes designs within the scope of the gist of the present invention. [Explanation of symbols]
[0074] 1. Suggestion System 100 User terminal device 200 Suggestion Device 210 Reception 220 Scene and Situation Estimation Unit 230 Value Estimation Department 240 Similar User Extraction Unit 250 Search Department 260 Suggestion Department 270 Database Department 300 Content providing device 400 Environmental information provision equipment
Claims
1. A value estimation unit that estimates a value of a user; a similar user extraction unit that extracts similar users having values similar to the values of the user estimated by the value estimation unit; a suggestion unit that, in response to a search request from a user, suggests content based on the information of the similar users extracted by the similar user extraction unit, The similar user extraction unit, extracting a predetermined number of first similar users by performing batch processing based on the first value estimated by the value estimation unit; in response to the first value estimation unit updating the first value to a second value based on a behavior of the user, rearranging the first similar users in order of similarity based on the second value; The suggestion system is configured to suggest content based on information of a predetermined number of first similar users ranked from the top in order of similarity.
2. The suggestion system according to claim 1 , wherein the similar user extraction unit calculates the similarity based on an inner product of a value of the first user and a value of the second user.
3. the suggestion unit suggests content based on a suggestion score calculated based on a weight of a suggestion score based on a similarity of the similar users, a weight of a suggestion score based on a scene or situation, and a weight of a suggestion score based on statistical information; Randomly varying a weight of the suggestion score based on the similarity of the similar users, a weight of the suggestion score based on a scene or situation, and a weight of the suggestion score based on statistical information for each search request of the user; The suggestion system of claim 1 .
4. A suggestion system estimates a user's values; A step in which the suggestion system extracts similar users having values similar to the estimated user's values; The suggestion system includes a step of suggesting content based on the extracted information of the similar users in response to a search request from a user, The step of extracting similar users includes: Extracting a predetermined number of first similar users by performing batch processing based on the estimated first value; and in response to the first value being updated to a second value based on a behavior of a user, rearranging the first similar users in order of similarity based on the second value, the suggesting step includes suggesting content based on information of a predetermined number of first similar users ranked from the top in order of similarity; Suggested methods.
5. The computer of the information processing device Estimating a user's values; extracting similar users having values similar to the estimated user's values; and suggesting content based on the extracted information of the similar users in response to a search request from the user; The step of extracting similar users includes: Extracting a predetermined number of first similar users by performing batch processing based on the estimated first value; and in response to the first value being updated to a second value based on a behavior of a user, rearranging the first similar users in order of similarity based on the second value, the suggesting step includes suggesting content based on information of a predetermined number of first similar users ranked from the top in order of similarity; A program that executes a process.
Citation Information
Patent Citations
Information processing apparatus, method and program, and recording medium
JP2007323398A
Information distribution system, information distribution apparatus and information distribution method
JP2008146355A
User information processing device, user information processing method and user information processing program
JP2012022598A
Recommendation information generation device and recommendation information generation method
JP2012242844A
Server device, program and information providing method
JP2015069588A