System
A system efficiently collects, summarizes, and categorizes reviews to match user preferences, providing personalized recommendations and low-rated alerts, addressing the challenge of overwhelming review data.
Patent Information
- Application Number
- JP2024118226
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
Users face challenges in efficiently obtaining review information that matches their preferences, as vast amounts of data overwhelm them, and recommendations may not align with their tastes, making it difficult to make informed choices.
A system that collects, summarizes, and categorizes reviews using natural language processing, calculates compatibility scores, and presents information based on user preferences, recommending products and stores from highly compatible reviewers while also highlighting low-rated options.
Enables users to quickly and accurately find relevant reviews, reducing time and effort in selecting products or services that align with their preferences.
Smart Images

Figure 2026017444000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] There is a huge amount of review information, and just reading it all takes time and effort. Furthermore, even if a product or store is recommended by many people, it may not necessarily match one's preferences, making it difficult for users to make the best choice. To address these issues, there is a growing need for a system that allows users to efficiently obtain information that matches their preferences. [Means for solving the problem]
[0005] This invention first provides a means for collecting numerous reviews and summarizing them by reviewer. Next, it uses a means for summarizing and categorizing the user's past reviews and preferences. It then incorporates a means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences. Finally, it provides a means for presenting information on products and stores recommended by highly compatible reviewers to the user's terminal. It also includes a means for presenting information on products and stores that have been rated poorly by highly compatible reviewers. This allows users to make selections based on the opinions of reviewers who most closely match their preferences, providing a system that allows users to efficiently obtain reliable information. Furthermore, it includes a means for summarizing and categorizing reviews using natural language processing technology, allowing review information to be organized and analyzed accurately and quickly.
[0006] A "review" is a piece of writing that describes the evaluations and opinions of many users about a particular store or product.
[0007] "Reviewer" means the user who wrote the review.
[0008] "Summarizing" is the act of extracting the main content and opinions from a long review and summarizing them concisely.
[0009] "Categorization" is the process of dividing the summarized review content into specific categories or classifications.
[0010] "Natural language processing technology" refers to the technology that enables computers to understand and process human language, and is used in summarization and classification processes.
[0011] "Compatibility" refers to the numerical value of the degree of match between the user's preferences and the reviewer's review content.
[0012] "Recommendation" is the act of a specific reviewer suggesting to other users a highly rated product or store.
[0013] "Low ratings" refer to reviews in which a specific reviewer describes a product or store with a low rating.
[0014] "User terminal" refers to the device used by the user (smartphone, tablet, PC, etc.).
[0015] The term "system" refers to a series of processes provided by the present invention and the entire environment in which they are executed. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] System Overview
[0038] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Specifically, it prioritizes the display of reviews by reviewers whose preferences are similar to the user's, allowing the user to quickly make the best selection.
[0039] Program Overview
[0040] The system operates based on the following main steps:
[0041] 1. Collecting and summarizing reviews
[0042] 2. User profiling
[0043] 3. Calculating the relevance score
[0044] 4. Presentation of Information
[0045] Program processing flow
[0046] Step 1: Collect and summarize reviews
[0047] 1. The server collects a large number of reviews from multiple sources using web scraping and API integration techniques.
[0048] For example: Obtaining data from review sites and online shopping platforms.
[0049] 2. The server uses natural language processing technology to summarize each review.
[0050] Example: Review: "This place's cheeseburgers are amazing! I can't get enough of the smoky flavor." -> Summary: "Cheeseburger, smoky flavor."
[0051] 3. The server classifies the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0052] Example: "Cheeseburger, smoky flavor" → Categories "burger" and "smoky"
[0053] Step 2: User profiling
[0054] 1. The user enters their preferences and past review information into the system.
[0055] For example: "I like spicy food, especially curry."
[0056] 2. The server similarly summarizes and categorizes the information provided by the user and past reviews.
[0057] Example: User review: "This curry was spicy and had the perfect balance of spices" → Summary: "Spicy curry, perfect balance of spices" → Category: "Curry" "Spicy"
[0058] Step 3: Calculate the relevance score
[0059] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score.
[0060] Techniques used: Cosine similarity, Pearson correlation coefficient, etc.
[0061] Example: If "User X" and "Reviewer Y" share the same category, "curry" and "spicy food," the relevance score is calculated as 80%.
[0062] 2. The server lists the reviewers with the highest relevance scores and generates a ranking.
[0063] Example: Reviewer A (relevance 85%), Reviewer B (relevance 80%)
[0064] Step 4: Present your information
[0065] 1. The server obtains and organizes information about products and stores recommended by reviewers with high relevance scores.
[0066] Example: Reviewer A recommends "Spicy curry from XX curry shop"
[0067] 2. The server also obtains information about products and stores that have been rated poorly by reviewers with high relevance scores.
[0068] Example: Reviewer A gave a low rating to "YY Curry Shop's Mild Curry"
[0069] 3. The device presents this information to the user through the user interface.
[0070] Example: "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" "Product that Reviewer A rated poorly: Mild curry from YY Curry Shop"
[0071] Specific examples
[0072] For example, if a user types in that they like "spicy food, especially curry," the system will first search for reviewers with similar reviews. If reviewer A rates "XX Curry Shop's spicy curry" highly, this information will be presented to the user. Conversely, reviewer A's opinion, who gave a low rating to "YY Curry Shop's mild curry," will also be displayed, providing information that the user should avoid.
[0073] This system allows users to quickly and accurately find the information that best suits their preferences. The specific code and algorithms will be implemented based on the steps above, improving the user experience and significantly reducing the time and effort required to select reviews.
[0074] The processing flow will be explained below.
[0075] Step 1:
[0076] The server collects review information from multiple review sources, including web scraping and API usage, such as retrieving data from review sites and online shopping sites.
[0077] Step 2:
[0078] The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[0079] Step 3:
[0080] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, a summary like "Cheeseburger, Smoky Flavor" would be classified into the categories "Burger" and "Smoky."
[0081] Step 4:
[0082] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and I especially love curry."
[0083] Step 5:
[0084] The server summarizes the preferences and past review information entered by the user and stores them in categories. For example, a user review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0085] Step 6:
[0086] The server compares each reviewer's review content with the user's profile to calculate a relevance score. This calculation uses methods such as cosine similarity and Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[0087] Step 7:
[0088] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0089] Step 8:
[0090] The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0091] Step 9:
[0092] The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A has rated poorly.
[0093] Step 10:
[0094] The device presents this information to the user through a user interface, specifically displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0095] Example 1
[0096] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0097] While traditional review sites offer a vast amount of review information, it is difficult for users to quickly and accurately find information that matches their preferences. Furthermore, they lack functionality for finding reviewers who match a user's preferences, and systems that properly present the reviewers' recommendations. As a result, users are overwhelmed by the volume of information, making it difficult for them to make the best choice.
[0098] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0099] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and services recommended by reviewers with high compatibility to the user's terminal, means for the user to input preferences via the terminal, and means for calculating compatibility scores and generating reviewer rankings. This allows users to quickly find reviews by reviewers that best suit their preferences and makes it easy to make the best choice.
[0100] A "server" is a computer system that receives requests from, processes, and provides data to, multiple users.
[0101] A "terminal" is a device through which a user inputs and retrieves information, examples of which include smartphones and personal computers.
[0102] "User" refers to an individual who uses the System to search for and view review information.
[0103] A "review" is a rating or comment written by a user about a product or service.
[0104] "Reviewer" means a user who submits a review.
[0105] To "summarize" means to shorten a long piece of text or information into a concise and easy-to-understand form.
[0106] "Categorization" means classifying data into specific categories or groups.
[0107] The "relevance score" is a numerical representation of the degree of match between the reviewer's review content and the user's preferences.
[0108] "Natural language processing technology" refers to technology that allows computers to understand, interpret, and generate human language.
[0109] "Recommend" means recommending a particular product or service to a user.
[0110] "Ranking generation" refers to ranking reviewers and reviews based on their relevance scores.
[0111] This invention is a system that extracts information that a user should read from a large amount of review information and presents only reviews that match the user's preferences. The invention particularly includes the following processing steps.
[0112] System Overview
[0113] This system consists of a server, a terminal, and a user. The server collects, summarizes, and categorizes reviews, and calculates relevance scores. The terminal receives input from the user and presents the information provided by the server to the user. Users can receive the most suitable reviews by inputting their preferences and review information into the system.
[0114] Hardware and software used
[0115] Server: Utilizing web scraping technologies (e.g., Beautiful Soup, Scrapy), API integration (e.g., Yelp API, Amazon Product Advertising API), and natural language processing technologies (e.g., BERT, GPT-3).
[0116] Device: A device that receives user input, such as a smartphone or computer.
[0117] Database: Used to store collected reviews, user preferences, relevance scores, etc.
[0118] Example of operation
[0119] 1. Collecting and summarizing reviews
[0120] The server uses web scraping technology and API integration to collect reviews from multiple sources, for example, pulling data from review sites and online shopping platforms.
[0121] The server uses natural language processing technology to summarize the collected reviews and classify them into specific categories. For example, a review such as "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible" would be summarized as "Cheeseburger, smoky flavor" and classified into the categories "burger" and "smoky."
[0122] 2. User profiling
[0123] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[0124] The server summarizes the information entered by the user and stores it in a similar category. For example, a user review saying "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0125] 3. Calculating the relevance score
[0126] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using cosine similarity or Pearson correlation coefficient.
[0127] Reviewers with high relevance scores are listed and a ranking is generated. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the relevance score is calculated as 80%.
[0128] 4. Presentation of Information
[0129] The server collects information on products and services recommended by reviewers with high relevance scores and organizes it for presentation to users. For example, it obtains detailed information on "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0130] It also collects and displays information about products and services that reviewers with high relevance scores have rated poorly. For example, it displays information about "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0131] The device presents this information to the user through a user interface, for example, displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0132] Prompt Sentence Examples
[0133] Example prompts to input to a generative AI model:
[0134] "If a user likes spicy food, we can implement an algorithm to recommend reviews with high relevance scores."
[0135] "How can I identify reviewers who match a user's preferences and display their recommendations in an organized way?"
[0136] In this way, users can quickly find the review information that best suits their preferences, which greatly reduces the time and effort required to select reviews and improves the user experience.
[0137] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0138] Step 1: Collect and summarize reviews
[0139] 1. Collecting reviews
[0140] The server collects data from multiple review sources using web scraping techniques (e.g., Beautiful Soup, Scrapy) and API integration techniques (e.g., Yelp API, Amazon Product Advertising API).
[0141] Input: Information such as URLs and API endpoints of review sites and online shopping platforms.
[0142] Output: Raw review information (text data).
[0143] What it does: The server periodically collects new reviews through scheduled crawls and API requests.
[0144] 2. Review Summary
[0145] The server summarizes the collected reviews using natural language processing techniques (e.g., BERT, GPT-3).
[0146] Input: Raw review information.
[0147] Output: A summarized review (concise text).
[0148] What it does: The server extracts key keywords and phrases from long reviews and summarizes them into a concise format. For example, a review like "This place's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0149] 3. Categorization
[0150] The server categorizes the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0151] Input: Abridged review.
[0152] Output: Summary reviews with category tags.
[0153] What it does: The server automatically assigns category tags based on relevant keywords from the summary review. For example, "Cheeseburger, Smoky Flavor" would be classified under the categories "Burger" and "Smoky."
[0154] Step 2: User profiling
[0155] 1. User Input
[0156] Users input their preferences and past review information into the system.
[0157] Input: User preferences and past reviews.
[0158] Output: User profile data.
[0159] What it does: The user uses a form through the interface to enter preferences and past reviews.
[0160] 2. Processing of User Information
[0161] The server summarizes the user's input information and past reviews, categorizes them, and stores them.
[0162] Input: User profile data.
[0163] Output: Summarized and categorized user data.
[0164] How it works: The server uses natural language processing to summarize user reviews and store them in a database by category. For example, a review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0165] Step 3: Calculate the relevance score
[0166] 1. Calculating the relevance score
[0167] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using techniques such as cosine similarity and Pearson correlation coefficient.
[0168] Input: User profile data and reviewer review content.
[0169] Output: Relevance scores for each reviewer and user.
[0170] Specific operation: The server compares the profile data of users and reviewers and calculates the similarity using an algorithm. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the compatibility score is calculated as 80%.
[0171] 2. Reviewer Ranking
[0172] The server lists reviewers with high relevance scores and generates a ranking.
[0173] Input: Relevance score for each reviewer.
[0174] Output: A ranking list for each reviewer.
[0175] Specific behavior: The server ranks reviewers based on their relevance scores, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%), and so on.
[0176] Step 4: Present the information
[0177] 1. Organizing information
[0178] The server collects and organizes information on products and services recommended by reviewers with high relevance scores.
[0179] Input: A list of reviewers with high relevance scores.
[0180] Output: Organized recommendations.
[0181] Specific operation: The server collects recommendations from top-ranked reviewers and formats them for presentation to users. For example, it obtains detailed information about "XX Curry Shop's Spicy Curry" recommended by reviewer A.
[0182] 2. Displaying low-rated information
[0183] The server also collects information about products and services that have been rated poorly by reviewers with high suitability scores and presents it to users.
[0184] Input: Low rating information of reviewers with high relevance scores.
[0185] Output: Organized negative reviews.
[0186] Specific operation: The server collects and prepares to display details of low-rated products that users should avoid. For example, it retrieves information about "YY Curry Shop's Mild Curry," which reviewer A gave a low rating to.
[0187] 3. Displaying Information
[0188] The terminal presents this information to the user through a user interface.
[0189] Input: Organized recommendations and dislikes.
[0190] Output: Presenting information in a form that can be viewed by the user.
[0191] Specific operation: The device displays information to the user such as "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0192] (Application example 1)
[0193] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0194] Conventional review systems require users to manually search and compare large volumes of reviews, making it difficult to quickly obtain the most appropriate information. Furthermore, reviews are not tailored to individual user preferences, making it time-consuming and labor-intensive to select the right product.
[0195] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0196] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for providing a user interface optimized for smartphones and displaying highly compatible reviews in a personalized manner, and means for performing user profiling using a generative AI model. This allows users to quickly obtain reviews that match their preferences and select the best products and services.
[0197] A "review" is a user's evaluation or opinion of a product or service.
[0198] "Reviewer" means a user who submits a review.
[0199] A "summary" is an extract of the main points of the original text and their presentation in a shortened form.
[0200] "User profiling" means analyzing and understanding a user's characteristics and preferences based on their past behavior and the information they provide.
[0201] "Categorization" means classifying collected information into specific categories.
[0202] "Relevance" is an index that shows the degree of match between the user's preferences and the reviewer's review content.
[0203] The "fit score" is a numerical representation of the fit.
[0204] A "smartphone" is a mobile phone that has mobile communication capabilities and can run a variety of applications.
[0205] "User interface" refers to the screens and operating methods that allow users to interact with a system.
[0206] A "generative AI model" is a model that uses artificial intelligence to generate and update user preferences and profiles.
[0207] The system for implementing this invention includes a server that collects and summarizes a large number of reviews, a server that profiles users' preferences, and a server that calculates relevance scores. Finally, it has a means for organizing this information and presenting it to a user terminal.
[0208] Collecting and summarizing reviews
[0209] The server retrieves reviews from multiple sources through web scraping and API communication. The retrieved reviews are summarized using natural language processing technology. Specifically, key information is extracted from the original review text and recorded in a shortened form. The collected reviews are classified into different categories, and summaries are maintained for each category.
[0210] User Profiling
[0211] The server collects user past reviews and preference data and creates a user profile based on this, using a generative AI model to understand the user's interests and preferences.
[0212] Calculating the relevance score
[0213] The server compares each reviewer's review content with the user's profile to calculate a relevance score. Mathematical methods such as cosine similarity and Pearson correlation coefficient are used for this calculation. Reviewers with high relevance scores are prioritized and a ranking is generated. Information on reviewers at the top of the ranking is provided more prominently.
[0214] Presentation of information
[0215] The server organizes information on products and stores recommended by reviewers with high relevance scores and presents it in a user interface optimized for the user's smartphone. At the same time, it also provides information on products and stores that reviewers with high relevance scores have rated poorly. This allows users to obtain both information that interests them and information that they should avoid, enabling them to quickly make the best choice.
[0216] Hardware and software used
[0217] Hardware: Smartphones, servers
[0218] Software: Python, Scikit-learn, TfidfVectorizer, Cosine Similarity, API communication library (Requests), web scraping tool, natural language processing technology
[0219] Specific examples
[0220] For example, if a user mentions in their profile that they like spicy food, especially curry, the system first searches for reviewers with similar preferences. Generative AI models are used to create and update profiles, and reviews are presented based on a relevance score.
[0221] Prompt Sentence Examples
[0222] User profile: "I like spicy food, especially curry."
[0223] The server collects and summarizes reviews, calculates a relevance score based on the profile, and presents the reviews in a smartphone-optimized interface:
[0224] 1. Product: Spicy Indian Curry, Summary: This curry is exceptionally spicy and contains a rich mix of various spices..., Score: 0.85
[0225] 2. Product: Thai Red Curry, Summary: If you love spicy food, this Thai Red Curry will be a delight. It is bursting with flavors..., Score: 0.80
[0226] 3. Product: Hot and Spicy Chicken Wings, Summary: These chicken wings are extremely spicy with a smoky undertone that enhances the flavor..., Score: 0.75
[0227] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0228] Step 1:
[0229] The server collects reviews from multiple review sources. As input, it receives raw data from review sites and online shopping platforms. The server retrieves this data using a web scraping tool or an API communication library (Requests). As output, it receives a list of collected raw reviews.
[0230] Step 2:
[0231] The server summarizes the collected reviews using natural language processing techniques. As input, it has the raw review list collected in step 1. The server uses natural language processing techniques to extract the main points of each review and convert them into a shortened form. Specifically, it uses Scikit-learn's TfidfVectorizer to generate the summary. As output, it obtains a summarized review list.
[0232] Step 3:
[0233] The server classifies the summarized reviews into specific categories. As input, it has the list of reviews summarized in step 2. The server classifies each review into a category, such as "product category" or "rating content." As output, it gets a list of reviews organized by category.
[0234] Step 4:
[0235] Users input their preferences and past review information into the system. The input includes user preference information and past reviews. The output is a user profile.
[0236] Step 5:
[0237] The server creates a user profile using a generative AI model. The input is the user preferences and past review information obtained in step 4. The server uses the generative AI model to analyze this as textual data and profile the user's characteristics. The output is the generated user profile.
[0238] Step 6:
[0239] The server compares the review content of each reviewer with the user profile and calculates a relevance score. The inputs are the review list organized in step 3 and the user profile generated in step 5. The server scores the relevance between the review content and the user profile using a calculation method such as cosine similarity. The output is a relevance score for each reviewer.
[0240] Step 7:
[0241] The server organizes information about products and stores recommended by reviewers with high relevance scores and provides it to the user's device. The inputs are the relevance scores obtained in step 6 and a list of reviews. The server sorts the reviews based on the relevance scores and presents them to the user using an interface optimized for smartphones. The output is a personalized list of reviews that is displayed to the user.
[0242] Step 8:
[0243] The server also provides the user with information on products and stores that have been poorly rated by reviewers with high relevance scores. The input is information on products that have been poorly rated by reviewers whose relevance scores were calculated in step 6. The server organizes this information and presents it to the user in an interface that is also optimized for smartphones. The output is a list of products and stores that should be avoided.
[0244] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0245] System Overview
[0246] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[0247] Program Overview
[0248] The system operates based on the following main steps:
[0249] 1. Collecting and summarizing reviews
[0250] 2. User profiling
[0251] 3. Calculating the relevance score
[0252] 4. Emotion analysis using an emotion engine
[0253] 5. Presentation of Information
[0254] Program processing flow
[0255] Step 1: Collect and summarize reviews
[0256] 1. The server collects review information from multiple review sources, including web scraping and API usage, such as obtaining data from review sites and online shopping sites.
[0257] 2. The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[0258] 3. The server classifies the summarized review into a specific category using topic modeling and clustering techniques. For example, if the summary is "Cheeseburger, Smoky Flavor," it will be classified into the categories "Burger" and "Smoky."
[0259] Step 2: User profiling
[0260] 1. A user enters their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[0261] 2. The server summarizes the preferences and past review information entered by the user and stores them in categories. Specifically, the user review "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0262] Step 3: Calculate the relevance score
[0263] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score. This calculation uses methods such as cosine similarity or Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[0264] 2. The server lists the reviewers with the highest relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0265] Step 4: Sentiment analysis using the emotion engine
[0266] 1. The server uses an emotion engine to analyze the user's input information and past reviews to determine their emotions and update the user profile. For example, if a user inputs "I feel sad today," the emotion engine will analyze this and determine the emotion as "sadness."
[0267] 2. The server takes into account the user's emotional information when calculating the relevance score and adjusts the score accordingly. For example, if the user is "irritated," it will increase the relevance of products and services that are effective for relaxation.
[0268] Step 5: Present your information
[0269] 1. The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0270] 2. The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0271] 3. The device presents this information to the user through the user interface. Specifically, it displays "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Products rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommended information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize reviews of products with a relaxing effect.
[0272] Specific examples
[0273] For example, if a user types "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Furthermore, if a user has set their preference to "spicy food, especially curry," the system will prioritize highly rated items, such as "almond milk soup," which has a relaxing effect, taking into account their emotional state. Meanwhile, it will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[0274] In this way, the system takes into account the user's preferences and emotional state to provide the most appropriate review information, improving the user experience. The specific code and algorithms are implemented based on the steps above, allowing users to quickly and accurately obtain information that best suits their preferences.
[0275] The processing flow will be explained below.
[0276] Step 1:
[0277] The server collects review information from multiple review sources, including web scraping and API integration, such as retrieving the latest reviews from major review sites and online shopping platforms.
[0278] Step 2:
[0279] The server analyzes and summarizes the collected reviews using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0280] Step 3:
[0281] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, the summary "Cheeseburger, Smoky Flavor" can be classified into the categories "Burger" and "Smoky."
[0282] Step 4:
[0283] A user logs into the system and enters their preferences and past review information. For example, they might enter, "I like spicy food, and curry is my favorite."
[0284] Step 5:
[0285] The server uses natural language processing technology to summarize the information entered by the user and categorize it. For example, "This curry was spicy and had the perfect balance of spices" can be summarized as "spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0286] Step 6:
[0287] The server compares the content of each reviewer's review with the user's profile and calculates a compatibility score. The compatibility score is calculated using cosine similarity or Pearson correlation coefficient. For example, based on the common items "curry" and "spicy food," the compatibility score is calculated as 80%.
[0288] Step 7:
[0289] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0290] Step 8:
[0291] The server acquires and organizes information about products and stores recommended by top-ranked reviewers. For example, it acquires "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0292] Step 9:
[0293] The server also retrieves and organizes information about products and stores that have been rated poorly by top-ranked reviewers. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0294] Step 10:
[0295] The user inputs their current emotional state, for example, "I feel sad today."
[0296] Step 11:
[0297] The server uses an emotion engine to analyze the user's emotion and update the user profile based on the emotion, for example, analyzing the emotion "sadness" from an input such as "I feel sad today."
[0298] Step 12:
[0299] The server takes into account the user's emotional information when calculating the relevance score and adjusts the relevance score accordingly. For example, it increases the relevance of products that have a relaxing effect for the emotional state "sadness."
[0300] Step 13:
[0301] The server presents dynamically adjusted information based on the user's emotions to the user's device. For example, it might display "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Reviewer A's low rating: Mild curry from YY Curry Shop," and prioritize reviews of products with a relaxing effect.
[0302] Specific examples
[0303] If a user logs into the system and enters in their profile that they like "spicy food, especially curry," and then adds, "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Taking their emotional state into consideration, the system will prioritize and suggest reviews of products with a relaxing effect (e.g., relaxing herbal tea). Based on the user's preferences, information such as "Spicy Curry from XX Curry Shop," recommended by reviewer A, will also be displayed. This allows users to obtain product information that best suits their emotional state.
[0304] Example 2
[0305] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0306] There is a problem that the internet contains countless reviews, making it difficult for users to efficiently find the information that best suits them. Furthermore, since the recommended information changes depending on the user's emotional state, there is a need to dynamically provide appropriate review information according to the user's emotional state. Existing systems do not sufficiently take user emotions into account when making recommendations, so an improvement in the user experience is necessary.
[0307] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0308] In this invention, the server includes means for collecting reviews from multiple information sources and summarizing them for each reviewer, means for summarizing and categorizing the user's past reviews and preferences, means for comparing the review content of each reviewer with the user's preferences to calculate compatibility and generating a ranking using the compatibility score, means for analyzing the user's emotions using an emotion engine and updating the user's profile based on the analysis results, and means for organizing information on products and stores that are most suitable for the user, taking into account the compatibility score and the emotion analysis results, and presenting recommended information to the user's terminal. This makes it possible to quickly and accurately provide optimal review information based on the user's preferences and emotional state.
[0309] "Sources" refers to internet review sites, online shopping sites, and any other websites or APIs that provide data.
[0310] A "review" is a rating or opinion written by a user about a product or service.
[0311] "Reviewer" means a user who submits a review.
[0312] A "summary" is a short summary of the main points of a review.
[0313] "Natural language processing technology" is a general term for technologies that understand, generate, summarize, etc. text data.
[0314] "Categorization" refers to the process of classifying summarized reviews into specific categories.
[0315] "User Profile" refers to individual information about a user, including past reviews, preferences, and emotional state.
[0316] The "relevance score" is the degree of match calculated by comparing the content of each reviewer's review with the user's preferences and profile.
[0317] A "ranking" is a ranked list of reviewers and products based on their relevance scores.
[0318] An "emotion engine" refers to a technology or system for analyzing emotions from user input information and past review information.
[0319] "Sentiment analysis" refers to the process of using an emotion engine to determine a user's emotional state.
[0320] "Recommendations" are information about products and services suggested to users based on their user profile and emotional state.
[0321] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[0322] System configuration
[0323] The system of the present invention consists of the following main components:
[0324] 1. Server
[0325] Data Collection Module: Collect reviews from multiple sources.
[0326] Natural Language Processing (NLP) module: Summarizes and categorizes collected reviews.
[0327] User profile module: Creates and stores a profile based on user input.
[0328] Relevance calculation module: Calculates relevance by comparing the review content of each reviewer with the user's preferences.
[0329] Emotion engine: Analyzes user emotions and updates their profile.
[0330] Recommendation generation module: Generates recommendations based on relevance and sentiment information.
[0331] 2. Terminal
[0332] User Interface: Presents a screen for the user to enter information and receive recommendations from the server.
[0333] Hardware and Software
[0334] The server uses a computer with high-performance processing capabilities. For example, virtual servers from Amazon EC2 or Google Cloud can be used. Generative AI models such as BERT and GPT are used as natural language processing technologies. The emotion engine can use the Sentiment Analysis API or a proprietary emotion analysis model. The database uses a common relational database such as MySQL or PostgreSQL.
[0335] Program processing flow
[0336] 1. Collecting and summarizing reviews
[0337] The server uses web scraping technology and APIs to collect reviews from multiple sources, thereby obtaining comprehensive review information.
[0338] The collected reviews are summarized using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0339] 2. User profiling
[0340] Users input their preferences and past review information into the system, for example, "I like spicy food, and curry is my favorite."
[0341] The server summarizes, categorizes, and stores the information entered.
[0342] 3. Calculating the relevance score
[0343] The server compares each reviewer's review content with the user's profile and calculates a relevance score. For example, if reviewer A's review matches the user's preferences 80%, the server sets the relevance score to 80%.
[0344] The server generates a ranking of reviewers based on their relevance scores.
[0345] 4. Emotion analysis using an emotion engine
[0346] The server analyzes emotions based on the user's input and past reviews. For example, if a user writes, "I feel sad today," the emotion engine will interpret this as "sadness."
[0347] The server updates the user profile based on the analysis results and adjusts the relevance score.
[0348] 5. Presentation of Information
[0349] The server takes into account the relevance score and the results of sentiment analysis to organize information on products and stores that are most suitable for the user.
[0350] The device will present this information to the user through a user interface, such as "Recommended review for you: Reviewer A's spicy curry" or "Product that Reviewer A rated poorly: YY Curry Shop's mild curry."
[0351] Specific examples
[0352] For example, suppose a user inputs "I'm feeling sad today" into the system. The server uses an emotion engine to analyze this input and identify it as "sadness." At the same time, if the user's profile also includes a preference for "spicy food, especially curry," the system will take into account the results of the emotion analysis and prioritize highly rated reviews for dishes such as "almond milk soup," which has a relaxing effect. It will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[0353] In this way, by simultaneously considering the user's preferences and emotional state, this system can provide the user with the most appropriate review information, thereby aiming to improve the user experience.
[0354] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0355] Step 1: Collect and summarize reviews
[0356] The server collects reviews from multiple sources. This can involve using web scraping techniques or APIs. It takes source URLs or API endpoints as input and gets the collected raw data as output. For example, it can get data from review sites or online shopping sites.
[0357] The review information collected by the server is summarized using natural language processing (NLP) technology. Specifically, an NLP engine (e.g., BERT, GPT) is used to extract the main points of the review and summarize them into short sentences. Raw data is received as input, and a summarized review is obtained as output. For example, a reviewer's review saying "This restaurant's cheeseburger is great! The smoky flavor is irresistible" is summarized as "Cheeseburger, smoky flavor."
[0358] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. It receives the summarized reviews as input and gets the categorized reviews as output. For example, it classifies "Cheeseburger, Smoky Flavor" into "Burger" and "Smoky."
[0359] Step 2: User profiling
[0360] The user inputs their preferences and past review information into the system. For example, they might input, "I like spicy food, and curry is my favorite." The system receives the user's preferences and review information as input.
[0361] The server uses natural language processing technology to summarize, categorize, and store the input information. It then converts it into a format that is easy to store in a database. It receives user preferences and review information as input, and obtains a summarized and categorized user profile as output. For example, a review that says, "This curry was spicy and had the perfect balance of spices" is summarized as "spicy curry, perfect balance of spices" and classified as "curry" and "spicy."
[0362] Step 3: Calculate the relevance score
[0363] The server compares each reviewer's review content with the user's profile and calculates a relevance score. It uses algorithms such as cosine similarity and Pearson correlation coefficient. It receives the reviewer's review content and the user profile as input and obtains a relevance score as output. For example, a relevance score is calculated based on the common categories "curry" and "spicy food" and is set to 80%.
[0364] The server generates a ranking of reviewers based on their relevance scores. It receives the relevance scores as input and gets the reviewer rankings as output. For example, it lists reviewer A with a relevance of 85%, reviewer B with a relevance of 80%, and so on.
[0365] Step 4: Emotion analysis using the emotion engine
[0366] The server analyzes the user's emotions based on their input and past reviews. For example, if the user inputs "I feel sad today," it analyzes this using an emotion engine (e.g., Sentiment Analysis API) and determines the emotion as "sad." The input receives text indicating the user's emotional state, and the output is the analyzed emotional information.
[0367] The server reflects the user's emotional information when calculating the relevance score. The user profile is updated based on the emotion analysis results and reflected in the relevance score. For example, if the user is "irritated," adjustments are made such as increasing the relevance score for products and services that are effective for relaxation. The emotion analysis results and user profile are received as input, and an updated relevance score is obtained as output.
[0368] Step 5: Present the information
[0369] The server organizes information on products and stores that are best suited to the user based on the relevance score and the results of sentiment analysis. It receives the relevance score and the results of sentiment analysis as input and obtains organized recommended information as output.
[0370] The device presents this recommendation information to the user through a user interface. For example, it might display "Recommended review for you: Reviewer A's spicy curry" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommendation information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize showing reviews of products with a relaxing effect. It receives organized recommendation information as input and obtains recommendation information to be displayed to the user as output.
[0371] (Application example 2)
[0372] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0373] Conventional review systems simply provide a large amount of review information, making it difficult for users to efficiently find review information that matches their preferences and emotions. Furthermore, there is no recommendation system that takes into account the user's emotional state, making it difficult for users to find content that best suits their mood at the time. This leads to issues such as a poor user experience and a long time required to obtain information.
[0374] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0375] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and stores recommended by highly compatible reviewers to the user's terminal, and means for analyzing the user's emotions and presenting recommended information based on those emotions. This allows users to quickly obtain optimal review information and content based not only on their preferences but also on their emotional state.
[0376] A "review" is a general term for text posted by a user that contains their evaluation or opinion of a specific product or service.
[0377] A "summary" is a concise summary of long review information that has been shortened and the main points and gist of the information have been extracted.
[0378] "User" refers to anyone who uses the system to view reviews and register their preferences and emotional state.
[0379] "Relevance" is an index that indicates the degree of match between the user's preferences and emotional state and the content of each reviewer's review.
[0380] "Sentiment analysis" is the process of using an emotion engine to determine a user's emotional state based on their input and past reviews.
[0381] "Recommendations" are information about products and services selected based on a user's preferences and emotional state.
[0382] "Server" is a general term for the computer that processes data for the entire system and collects, summarizes, and classifies review information.
[0383] "Natural language processing technology" is a technology that processes and analyzes natural language used by humans on a computer.
[0384] "User device" refers to an electronic device used by a user, such as a smartphone or smart glasses.
[0385] "Content" is a general term for information that can be enjoyed visually or aurally, such as movies, dramas, and music.
[0386] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system for collecting a large amount of review information and providing recommended information based on the preferences and emotional state of a user.
[0387] The system utilizes the following hardware and software:
[0388] Hardware
[0389] server
[0390] User devices (smartphones, smart glasses)
[0391] software
[0392] Natural language processing technology (TextBlob library)
[0393] API communication (requests library)
[0394] Database (The Movie Database API)
[0395] The server collects review information from multiple review sources and summarizes and categorizes them using natural language processing technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review that says "This movie was so moving I couldn't stop crying" can be summarized as "A moving movie."
[0396] Next, the user enters their emotions and preferences into the system. The server analyzes the emotions from the user's input information and past reviews and updates the user profile. For emotion analysis, the TextBlob library is used to analyze the emotions of the input text and classify it as "happy," "sad," or "neutral." For example, if a user enters "I'm feeling a little gloomy today," the emotion engine will determine this as "sad."
[0397] The server then considers the user's emotional state and presents content recommended by reviewers with the highest relevance to the user's device. For example, if the user is judged to be "sad," it will recommend content suitable for relaxation and a change of mood. Using the Movie Database API, it retrieves movies and TV shows from emotion-based genres and generates a list of recommended content.
[0398] The user's device will display the recommended content on the interface. For example, it may display "Movies recommended for you: XX inspiring movies," and the user can select the content. Furthermore, the system dynamically adjusts the recommended content based on emotional information. For example, if the user inputs "I'm feeling stressed," it will prioritize content that is effective in reducing stress.
[0399] For example, if a user types "I'm feeling a little depressed today," the emotion engine will recognize it as "sad." Taking the user's emotional state into consideration, the system will recommend movies with a relaxing effect from the drama genre. For example, it will display "Movies recommended for you: Relaxing movies."
[0400] An example prompt would be of the form:
[0401] "User said: 'I'm feeling a bit depressed today'"
[0402] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0403] Step 1:
[0404] The server collects review information from multiple review sources. Specifically, it uses web scraping and APIs to obtain user ratings and opinions on products and services. The input requires the URL and API key of the review site or online shopping site, and the output is the text data of the retrieved review information.
[0405] Step 2:
[0406] The server uses natural language processing technology to summarize and categorize the collected review information. Specifically, it uses the TextBlob library to analyze the review text, extract the main points, and summarize them into short sentences. For example, a review that says "This movie was so moving, I couldn't stop crying" can be summarized as "A moving movie." The input requires the text data of the acquired review information, and the output is the text data of the summarized review information.
[0407] Step 3:
[0408] Users input their preferences, past review information, and current emotional state into the system. For example, they input information such as "I'm feeling a little depressed today" or "I like moving movies." The input requires the user's text data, and the output is the user's profile information.
[0409] Step 4:
[0410] The server analyzes emotions from user input and past review information and updates the user profile. Specifically, it uses the TextBlob library to analyze the emotions of input sentences and classify them into "happy," "sad," and "neutral." For example, it analyzes the input "I'm a little depressed today" and outputs the emotional state "sad."
[0411] Step 5:
[0412] The server compares each reviewer's review content with the user's preferences to calculate the degree of compatibility. Specifically, it calculates the degree of match with the user's profile using methods such as cosine similarity and Pearson correlation coefficient. The input requires the user's profile information and the reviewer's review information, and the output is a compatibility score.
[0413] Step 6:
[0414] The server retrieves and organizes information about products and content recommended by reviewers with high relevance scores. For example, it uses The Movie Database API to retrieve movies from genres that match the emotional state and creates a list. The inputs are the relevance score and the emotional state, and the output is a list of recommended products and content.
[0415] Step 7:
[0416] The server also retrieves and organizes information about products and stores that have been poorly rated by reviewers with high relevance. For example, it retrieves information about movies that have been poorly rated using The Movie Database API. The input requires a relevance score, and the output is a list of low-rated products and content.
[0417] Step 8:
[0418] The device displays recommended products and content, as well as information on low-rated products and content to avoid, through a user interface. Specifically, it displays "Movies Recommended for You: Relaxing Movies" on the screen and allows the user to select. A list of recommended information is required as input, and the user's screen display is obtained as output.
[0419] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0420] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0421] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0422] [Second embodiment]
[0423] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0424] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0425] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0426] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0427] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0428] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0429] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0430] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0431] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0432] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0433] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0434] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0435] System Overview
[0436] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Specifically, it prioritizes the display of reviews by reviewers whose preferences are similar to the user's, allowing the user to quickly make the best selection.
[0437] Program Overview
[0438] The system operates based on the following main steps:
[0439] 1. Collecting and summarizing reviews
[0440] 2. User profiling
[0441] 3. Calculating the relevance score
[0442] 4. Presentation of Information
[0443] Program processing flow
[0444] Step 1: Collect and summarize reviews
[0445] 1. The server collects a large number of reviews from multiple sources using web scraping and API integration techniques.
[0446] For example: Obtaining data from review sites and online shopping platforms.
[0447] 2. The server uses natural language processing technology to summarize each review.
[0448] Example: Review: "This place's cheeseburgers are amazing! I can't get enough of the smoky flavor." -> Summary: "Cheeseburger, smoky flavor."
[0449] 3. The server classifies the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0450] Example: "Cheeseburger, smoky flavor" → Categories "burger" and "smoky"
[0451] Step 2: User profiling
[0452] 1. The user enters their preferences and past review information into the system.
[0453] For example: "I like spicy food, especially curry."
[0454] 2. The server similarly summarizes and categorizes the information provided by the user and past reviews.
[0455] Example: User review: "This curry was spicy and had the perfect balance of spices" → Summary: "Spicy curry, perfect balance of spices" → Category: "Curry" "Spicy"
[0456] Step 3: Calculate the relevance score
[0457] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score.
[0458] Techniques used: Cosine similarity, Pearson correlation coefficient, etc.
[0459] Example: If "User X" and "Reviewer Y" share the same category, "curry" and "spicy food," the relevance score is calculated as 80%.
[0460] 2. The server lists the reviewers with the highest relevance scores and generates a ranking.
[0461] Example: Reviewer A (relevance 85%), Reviewer B (relevance 80%)
[0462] Step 4: Present your information
[0463] 1. The server obtains and organizes information about products and stores recommended by reviewers with high relevance scores.
[0464] Example: Reviewer A recommends "Spicy curry from XX curry shop"
[0465] 2. The server also obtains information about products and stores that have been rated poorly by reviewers with high relevance scores.
[0466] Example: Reviewer A gave a low rating to "YY Curry Shop's Mild Curry"
[0467] 3. The device presents this information to the user through the user interface.
[0468] Example: "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" "Product that Reviewer A rated poorly: Mild curry from YY Curry Shop"
[0469] Specific examples
[0470] For example, if a user types in that they like "spicy food, especially curry," the system will first search for reviewers with similar reviews. If reviewer A rates "XX Curry Shop's spicy curry" highly, this information will be presented to the user. Conversely, reviewer A's opinion, who gave a low rating to "YY Curry Shop's mild curry," will also be displayed, providing information that the user should avoid.
[0471] This system allows users to quickly and accurately find the information that best suits their preferences. The specific code and algorithms will be implemented based on the steps above, improving the user experience and significantly reducing the time and effort required to select reviews.
[0472] The processing flow will be explained below.
[0473] Step 1:
[0474] The server collects review information from multiple review sources, including web scraping and API usage, such as retrieving data from review sites and online shopping sites.
[0475] Step 2:
[0476] The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[0477] Step 3:
[0478] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, a summary like "Cheeseburger, Smoky Flavor" would be classified into the categories "Burger" and "Smoky."
[0479] Step 4:
[0480] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and I especially love curry."
[0481] Step 5:
[0482] The server summarizes the preferences and past review information entered by the user and stores them in categories. For example, a user review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0483] Step 6:
[0484] The server compares each reviewer's review content with the user's profile to calculate a relevance score. This calculation uses methods such as cosine similarity and Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[0485] Step 7:
[0486] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0487] Step 8:
[0488] The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0489] Step 9:
[0490] The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A has rated poorly.
[0491] Step 10:
[0492] The device presents this information to the user through a user interface, specifically displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0493] Example 1
[0494] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0495] While traditional review sites offer a vast amount of review information, it is difficult for users to quickly and accurately find information that matches their preferences. Furthermore, they lack functionality for finding reviewers who match a user's preferences, and systems that properly present the reviewers' recommendations. As a result, users are overwhelmed by the volume of information, making it difficult for them to make the best choice.
[0496] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0497] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and services recommended by reviewers with high compatibility to the user's terminal, means for the user to input preferences via the terminal, and means for calculating compatibility scores and generating reviewer rankings. This allows users to quickly find reviews by reviewers that best suit their preferences and makes it easy to make the best choice.
[0498] A "server" is a computer system that receives requests from, processes, and provides data to, multiple users.
[0499] A "terminal" is a device through which a user inputs and retrieves information, examples of which include smartphones and personal computers.
[0500] "User" refers to an individual who uses the System to search for and view review information.
[0501] A "review" is a rating or comment written by a user about a product or service.
[0502] "Reviewer" means a user who submits a review.
[0503] To "summarize" means to shorten a long piece of text or information into a concise and easy-to-understand form.
[0504] "Categorization" means classifying data into specific categories or groups.
[0505] The "relevance score" is a numerical representation of the degree of match between the reviewer's review content and the user's preferences.
[0506] "Natural language processing technology" refers to technology that allows computers to understand, interpret, and generate human language.
[0507] "Recommend" means recommending a particular product or service to a user.
[0508] "Ranking generation" refers to ranking reviewers and reviews based on their relevance scores.
[0509] This invention is a system that extracts information that a user should read from a large amount of review information and presents only reviews that match the user's preferences. The invention particularly includes the following processing steps.
[0510] System Overview
[0511] This system consists of a server, a terminal, and a user. The server collects, summarizes, and categorizes reviews, and calculates relevance scores. The terminal receives input from the user and presents the information provided by the server to the user. Users can receive the most suitable reviews by inputting their preferences and review information into the system.
[0512] Hardware and software used
[0513] Server: Utilizing web scraping technologies (e.g., Beautiful Soup, Scrapy), API integration (e.g., Yelp API, Amazon Product Advertising API), and natural language processing technologies (e.g., BERT, GPT-3).
[0514] Device: A device that receives user input, such as a smartphone or computer.
[0515] Database: Used to store collected reviews, user preferences, relevance scores, etc.
[0516] Example of operation
[0517] 1. Collecting and summarizing reviews
[0518] The server uses web scraping technology and API integration to collect reviews from multiple sources, for example, pulling data from review sites and online shopping platforms.
[0519] The server uses natural language processing technology to summarize the collected reviews and classify them into specific categories. For example, a review such as "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible" would be summarized as "Cheeseburger, smoky flavor" and classified into the categories "burger" and "smoky."
[0520] 2. User profiling
[0521] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[0522] The server summarizes the information entered by the user and stores it in a similar category. For example, a user review saying "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0523] 3. Calculating the relevance score
[0524] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using cosine similarity or Pearson correlation coefficient.
[0525] Reviewers with high relevance scores are listed and a ranking is generated. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the relevance score is calculated as 80%.
[0526] 4. Presentation of Information
[0527] The server collects information on products and services recommended by reviewers with high relevance scores and organizes it for presentation to users. For example, it obtains detailed information on "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0528] It also collects and displays information about products and services that reviewers with high relevance scores have rated poorly. For example, it displays information about "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0529] The device presents this information to the user through a user interface, for example, displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0530] Prompt Sentence Examples
[0531] Example prompts to input to a generative AI model:
[0532] "If a user likes spicy food, we can implement an algorithm to recommend reviews with high relevance scores."
[0533] "How can I identify reviewers who match a user's preferences and display their recommendations in an organized way?"
[0534] In this way, users can quickly find the review information that best suits their preferences, which greatly reduces the time and effort required to select reviews and improves the user experience.
[0535] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0536] Step 1: Collect and summarize reviews
[0537] 1. Collecting reviews
[0538] The server collects data from multiple review sources using web scraping techniques (e.g., Beautiful Soup, Scrapy) and API integration techniques (e.g., Yelp API, Amazon Product Advertising API).
[0539] Input: Information such as URLs and API endpoints of review sites and online shopping platforms.
[0540] Output: Raw review information (text data).
[0541] What it does: The server periodically collects new reviews through scheduled crawls and API requests.
[0542] 2. Review Summary
[0543] The server summarizes the collected reviews using natural language processing techniques (e.g., BERT, GPT-3).
[0544] Input: Raw review information.
[0545] Output: A summarized review (concise text).
[0546] What it does: The server extracts key keywords and phrases from long reviews and summarizes them into a concise format. For example, a review like "This place's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0547] 3. Categorization
[0548] The server categorizes the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0549] Input: Abridged review.
[0550] Output: Summary reviews with category tags.
[0551] What it does: The server automatically assigns category tags based on relevant keywords from the summary review. For example, "Cheeseburger, Smoky Flavor" would be classified under the categories "Burger" and "Smoky."
[0552] Step 2: User profiling
[0553] 1. User Input
[0554] Users input their preferences and past review information into the system.
[0555] Input: User preferences and past reviews.
[0556] Output: User profile data.
[0557] What it does: The user uses a form through the interface to enter preferences and past reviews.
[0558] 2. Processing of User Information
[0559] The server summarizes the user's input information and past reviews, categorizes them, and stores them.
[0560] Input: User profile data.
[0561] Output: Summarized and categorized user data.
[0562] How it works: The server uses natural language processing to summarize user reviews and store them in a database by category. For example, a review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0563] Step 3: Calculate the relevance score
[0564] 1. Calculating the relevance score
[0565] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using techniques such as cosine similarity and Pearson correlation coefficient.
[0566] Input: User profile data and reviewer review content.
[0567] Output: Relevance scores for each reviewer and user.
[0568] Specific operation: The server compares the profile data of users and reviewers and calculates the similarity using an algorithm. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the compatibility score is calculated as 80%.
[0569] 2. Reviewer Ranking
[0570] The server lists reviewers with high relevance scores and generates a ranking.
[0571] Input: Relevance score for each reviewer.
[0572] Output: A ranking list for each reviewer.
[0573] Specific behavior: The server ranks reviewers based on their relevance scores, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%), and so on.
[0574] Step 4: Present the information
[0575] 1. Organizing information
[0576] The server collects and organizes information on products and services recommended by reviewers with high relevance scores.
[0577] Input: A list of reviewers with high relevance scores.
[0578] Output: Organized recommendations.
[0579] Specific operation: The server collects recommendations from top-ranked reviewers and formats them for presentation to users. For example, it obtains detailed information about "XX Curry Shop's Spicy Curry" recommended by reviewer A.
[0580] 2. Displaying low-rated information
[0581] The server also collects information about products and services that have been rated poorly by reviewers with high suitability scores and presents it to users.
[0582] Input: Low rating information of reviewers with high relevance scores.
[0583] Output: Organized negative reviews.
[0584] Specific operation: The server collects and prepares to display details of low-rated products that users should avoid. For example, it retrieves information about "YY Curry Shop's Mild Curry," which reviewer A gave a low rating to.
[0585] 3. Displaying Information
[0586] The terminal presents this information to the user through a user interface.
[0587] Input: Organized recommendations and dislikes.
[0588] Output: Presenting information in a form that can be viewed by the user.
[0589] Specific operation: The device displays information to the user such as "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0590] (Application example 1)
[0591] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0592] Conventional review systems require users to manually search and compare large volumes of reviews, making it difficult to quickly obtain the most appropriate information. Furthermore, reviews are not tailored to individual user preferences, making it time-consuming and labor-intensive to select the right product.
[0593] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0594] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for providing a user interface optimized for smartphones and displaying highly compatible reviews in a personalized manner, and means for performing user profiling using a generative AI model. This allows users to quickly obtain reviews that match their preferences and select the best products and services.
[0595] A "review" is a user's evaluation or opinion of a product or service.
[0596] "Reviewer" means a user who submits a review.
[0597] A "summary" is an extract of the main points of the original text and their presentation in a shortened form.
[0598] "User profiling" means analyzing and understanding a user's characteristics and preferences based on their past behavior and the information they provide.
[0599] "Categorization" means classifying collected information into specific categories.
[0600] "Relevance" is an index that shows the degree of match between the user's preferences and the reviewer's review content.
[0601] The "fit score" is a numerical representation of the fit.
[0602] A "smartphone" is a mobile phone that has mobile communication capabilities and can run a variety of applications.
[0603] "User interface" refers to the screens and operating methods that allow users to interact with a system.
[0604] A "generative AI model" is a model that uses artificial intelligence to generate and update user preferences and profiles.
[0605] The system for implementing this invention includes a server that collects and summarizes a large number of reviews, a server that profiles users' preferences, and a server that calculates relevance scores. Finally, it has a means for organizing this information and presenting it to a user terminal.
[0606] Collecting and summarizing reviews
[0607] The server retrieves reviews from multiple sources through web scraping and API communication. The retrieved reviews are summarized using natural language processing technology. Specifically, key information is extracted from the original review text and recorded in a shortened form. The collected reviews are classified into different categories, and summaries are maintained for each category.
[0608] User Profiling
[0609] The server collects user past reviews and preference data and creates a user profile based on this, using a generative AI model to understand the user's interests and preferences.
[0610] Calculating the relevance score
[0611] The server compares each reviewer's review content with the user's profile to calculate a relevance score. Mathematical methods such as cosine similarity and Pearson correlation coefficient are used for this calculation. Reviewers with high relevance scores are prioritized and a ranking is generated. Information on reviewers at the top of the ranking is provided more prominently.
[0612] Presentation of information
[0613] The server organizes information on products and stores recommended by reviewers with high relevance scores and presents it in a user interface optimized for the user's smartphone. At the same time, it also provides information on products and stores that reviewers with high relevance scores have rated poorly. This allows users to obtain both information that interests them and information that they should avoid, enabling them to quickly make the best choice.
[0614] Hardware and software used
[0615] Hardware: Smartphones, servers
[0616] Software: Python, Scikit-learn, TfidfVectorizer, Cosine Similarity, API communication library (Requests), web scraping tool, natural language processing technology
[0617] Specific examples
[0618] For example, if a user mentions in their profile that they like spicy food, especially curry, the system first searches for reviewers with similar preferences. Generative AI models are used to create and update profiles, and reviews are presented based on a relevance score.
[0619] Prompt Sentence Examples
[0620] User profile: "I like spicy food, especially curry."
[0621] The server collects and summarizes reviews, calculates a relevance score based on the profile, and presents the reviews in a smartphone-optimized interface:
[0622] 1. Product: Spicy Indian Curry, Summary: This curry is exceptionally spicy and contains a rich mix of various spices..., Score: 0.85
[0623] 2. Product: Thai Red Curry, Summary: If you love spicy food, this Thai Red Curry will be a delight. It is bursting with flavors..., Score: 0.80
[0624] 3. Product: Hot and Spicy Chicken Wings, Summary: These chicken wings are extremely spicy with a smoky undertone that enhances the flavor..., Score: 0.75
[0625] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0626] Step 1:
[0627] The server collects reviews from multiple review sources. As input, it receives raw data from review sites and online shopping platforms. The server retrieves this data using a web scraping tool or an API communication library (Requests). As output, it receives a list of collected raw reviews.
[0628] Step 2:
[0629] The server summarizes the collected reviews using natural language processing techniques. As input, it has the raw review list collected in step 1. The server uses natural language processing techniques to extract the main points of each review and convert them into a shortened form. Specifically, it uses Scikit-learn's TfidfVectorizer to generate the summary. As output, it obtains a summarized review list.
[0630] Step 3:
[0631] The server classifies the summarized reviews into specific categories. As input, it has the list of reviews summarized in step 2. The server classifies each review into a category, such as "product category" or "rating content." As output, it gets a list of reviews organized by category.
[0632] Step 4:
[0633] Users input their preferences and past review information into the system. The input includes user preference information and past reviews. The output is a user profile.
[0634] Step 5:
[0635] The server creates a user profile using a generative AI model. The input is the user preferences and past review information obtained in step 4. The server uses the generative AI model to analyze this as textual data and profile the user's characteristics. The output is the generated user profile.
[0636] Step 6:
[0637] The server compares the review content of each reviewer with the user profile and calculates a relevance score. The inputs are the review list organized in step 3 and the user profile generated in step 5. The server scores the relevance between the review content and the user profile using a calculation method such as cosine similarity. The output is a relevance score for each reviewer.
[0638] Step 7:
[0639] The server organizes information about products and stores recommended by reviewers with high relevance scores and provides it to the user's device. The inputs are the relevance scores obtained in step 6 and a list of reviews. The server sorts the reviews based on the relevance scores and presents them to the user using an interface optimized for smartphones. The output is a personalized list of reviews that is displayed to the user.
[0640] Step 8:
[0641] The server also provides the user with information on products and stores that have been poorly rated by reviewers with high relevance scores. The input is information on products that have been poorly rated by reviewers whose relevance scores were calculated in step 6. The server organizes this information and presents it to the user in an interface that is also optimized for smartphones. The output is a list of products and stores that should be avoided.
[0642] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0643] System Overview
[0644] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[0645] Program Overview
[0646] The system operates based on the following main steps:
[0647] 1. Collecting and summarizing reviews
[0648] 2. User profiling
[0649] 3. Calculating the relevance score
[0650] 4. Emotion analysis using an emotion engine
[0651] 5. Presentation of Information
[0652] Program processing flow
[0653] Step 1: Collect and summarize reviews
[0654] 1. The server collects review information from multiple review sources, including web scraping and API usage, such as obtaining data from review sites and online shopping sites.
[0655] 2. The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[0656] 3. The server classifies the summarized review into a specific category using topic modeling and clustering techniques. For example, if the summary is "Cheeseburger, Smoky Flavor," it will be classified into the categories "Burger" and "Smoky."
[0657] Step 2: User profiling
[0658] 1. A user enters their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[0659] 2. The server summarizes the preferences and past review information entered by the user and stores them in categories. Specifically, the user review "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0660] Step 3: Calculate the relevance score
[0661] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score. This calculation uses methods such as cosine similarity or Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[0662] 2. The server lists the reviewers with the highest relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0663] Step 4: Sentiment analysis using the emotion engine
[0664] 1. The server uses an emotion engine to analyze the user's input information and past reviews to determine their emotions and update the user profile. For example, if a user inputs "I feel sad today," the emotion engine will analyze this and determine the emotion as "sadness."
[0665] 2. The server takes into account the user's emotional information when calculating the relevance score and adjusts the score accordingly. For example, if the user is "irritated," it will increase the relevance of products and services that are effective for relaxation.
[0666] Step 5: Present your information
[0667] 1. The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0668] 2. The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0669] 3. The device presents this information to the user through the user interface. Specifically, it displays "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Products rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommended information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize reviews of products with a relaxing effect.
[0670] Specific examples
[0671] For example, if a user types "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Furthermore, if a user has set their preference to "spicy food, especially curry," the system will prioritize highly rated items, such as "almond milk soup," which has a relaxing effect, taking into account their emotional state. Meanwhile, it will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[0672] In this way, the system takes into account the user's preferences and emotional state to provide the most appropriate review information, improving the user experience. The specific code and algorithms are implemented based on the steps above, allowing users to quickly and accurately obtain information that best suits their preferences.
[0673] The processing flow will be explained below.
[0674] Step 1:
[0675] The server collects review information from multiple review sources, including web scraping and API integration, such as retrieving the latest reviews from major review sites and online shopping platforms.
[0676] Step 2:
[0677] The server analyzes and summarizes the collected reviews using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0678] Step 3:
[0679] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, the summary "Cheeseburger, Smoky Flavor" can be classified into the categories "Burger" and "Smoky."
[0680] Step 4:
[0681] A user logs into the system and enters their preferences and past review information. For example, they might enter, "I like spicy food, and curry is my favorite."
[0682] Step 5:
[0683] The server uses natural language processing technology to summarize the information entered by the user and categorize it. For example, "This curry was spicy and had the perfect balance of spices" can be summarized as "spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0684] Step 6:
[0685] The server compares the content of each reviewer's review with the user's profile and calculates a compatibility score. The compatibility score is calculated using cosine similarity or Pearson correlation coefficient. For example, based on the common items "curry" and "spicy food," the compatibility score is calculated as 80%.
[0686] Step 7:
[0687] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0688] Step 8:
[0689] The server acquires and organizes information about products and stores recommended by top-ranked reviewers. For example, it acquires "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0690] Step 9:
[0691] The server also retrieves and organizes information about products and stores that have been rated poorly by top-ranked reviewers. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0692] Step 10:
[0693] The user inputs their current emotional state, for example, "I feel sad today."
[0694] Step 11:
[0695] The server uses an emotion engine to analyze the user's emotion and update the user profile based on the emotion, for example, analyzing the emotion "sadness" from an input such as "I feel sad today."
[0696] Step 12:
[0697] The server takes into account the user's emotional information when calculating the relevance score and adjusts the relevance score accordingly. For example, it increases the relevance of products that have a relaxing effect for the emotional state "sadness."
[0698] Step 13:
[0699] The server presents dynamically adjusted information based on the user's emotions to the user's device. For example, it might display "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Reviewer A's low rating: Mild curry from YY Curry Shop," and prioritize reviews of products with a relaxing effect.
[0700] Specific examples
[0701] If a user logs into the system and enters in their profile that they like "spicy food, especially curry," and then adds, "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Taking their emotional state into consideration, the system will prioritize and suggest reviews of products with a relaxing effect (e.g., relaxing herbal tea). Based on the user's preferences, information such as "Spicy Curry from XX Curry Shop," recommended by reviewer A, will also be displayed. This allows users to obtain product information that best suits their emotional state.
[0702] Example 2
[0703] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0704] There is a problem that the internet contains countless reviews, making it difficult for users to efficiently find the information that best suits them. Furthermore, since the recommended information changes depending on the user's emotional state, there is a need to dynamically provide appropriate review information according to the user's emotional state. Existing systems do not sufficiently take user emotions into account when making recommendations, so an improvement in the user experience is necessary.
[0705] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0706] In this invention, the server includes means for collecting reviews from multiple information sources and summarizing them for each reviewer, means for summarizing and categorizing the user's past reviews and preferences, means for comparing the review content of each reviewer with the user's preferences to calculate compatibility and generating a ranking using the compatibility score, means for analyzing the user's emotions using an emotion engine and updating the user's profile based on the analysis results, and means for organizing information on products and stores that are most suitable for the user, taking into account the compatibility score and the emotion analysis results, and presenting recommended information to the user's terminal. This makes it possible to quickly and accurately provide optimal review information based on the user's preferences and emotional state.
[0707] "Sources" refers to internet review sites, online shopping sites, and any other websites or APIs that provide data.
[0708] A "review" is a rating or opinion written by a user about a product or service.
[0709] "Reviewer" means a user who submits a review.
[0710] A "summary" is a short summary of the main points of a review.
[0711] "Natural language processing technology" is a general term for technologies that understand, generate, summarize, etc. text data.
[0712] "Categorization" refers to the process of classifying summarized reviews into specific categories.
[0713] "User Profile" refers to individual information about a user, including past reviews, preferences, and emotional state.
[0714] The "relevance score" is the degree of match calculated by comparing the content of each reviewer's review with the user's preferences and profile.
[0715] A "ranking" is a ranked list of reviewers and products based on their relevance scores.
[0716] An "emotion engine" refers to a technology or system for analyzing emotions from user input information and past review information.
[0717] "Sentiment analysis" refers to the process of using an emotion engine to determine a user's emotional state.
[0718] "Recommendations" are information about products and services suggested to users based on their user profile and emotional state.
[0719] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[0720] System configuration
[0721] The system of the present invention consists of the following main components:
[0722] 1. Server
[0723] Data Collection Module: Collect reviews from multiple sources.
[0724] Natural Language Processing (NLP) module: Summarizes and categorizes collected reviews.
[0725] User profile module: Creates and stores a profile based on user input.
[0726] Relevance calculation module: Calculates relevance by comparing the review content of each reviewer with the user's preferences.
[0727] Emotion engine: Analyzes user emotions and updates their profile.
[0728] Recommendation generation module: Generates recommendations based on relevance and sentiment information.
[0729] 2. Terminal
[0730] User Interface: Presents a screen for the user to enter information and receive recommendations from the server.
[0731] Hardware and Software
[0732] The server uses a computer with high-performance processing capabilities. For example, virtual servers from Amazon EC2 or Google Cloud can be used. Generative AI models such as BERT and GPT are used as natural language processing technologies. The emotion engine can use the Sentiment Analysis API or a proprietary emotion analysis model. The database uses a common relational database such as MySQL or PostgreSQL.
[0733] Program processing flow
[0734] 1. Collecting and summarizing reviews
[0735] The server uses web scraping technology and APIs to collect reviews from multiple sources, thereby obtaining comprehensive review information.
[0736] The collected reviews are summarized using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0737] 2. User profiling
[0738] Users input their preferences and past review information into the system, for example, "I like spicy food, and curry is my favorite."
[0739] The server summarizes, categorizes, and stores the information entered.
[0740] 3. Calculating the relevance score
[0741] The server compares each reviewer's review content with the user's profile and calculates a relevance score. For example, if reviewer A's review matches the user's preferences 80%, the server sets the relevance score to 80%.
[0742] The server generates a ranking of reviewers based on their relevance scores.
[0743] 4. Emotion analysis using an emotion engine
[0744] The server analyzes emotions based on the user's input and past reviews. For example, if a user writes, "I feel sad today," the emotion engine will interpret this as "sadness."
[0745] The server updates the user profile based on the analysis results and adjusts the relevance score.
[0746] 5. Presentation of Information
[0747] The server takes into account the relevance score and the results of sentiment analysis to organize information on products and stores that are most suitable for the user.
[0748] The device will present this information to the user through a user interface, such as "Recommended review for you: Reviewer A's spicy curry" or "Product that Reviewer A rated poorly: YY Curry Shop's mild curry."
[0749] Specific examples
[0750] For example, suppose a user inputs "I'm feeling sad today" into the system. The server uses an emotion engine to analyze this input and identify it as "sadness." At the same time, if the user's profile also includes a preference for "spicy food, especially curry," the system will take into account the results of the emotion analysis and prioritize highly rated reviews for dishes such as "almond milk soup," which has a relaxing effect. It will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[0751] In this way, by simultaneously considering the user's preferences and emotional state, this system can provide the user with the most appropriate review information, thereby aiming to improve the user experience.
[0752] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0753] Step 1: Collect and summarize reviews
[0754] The server collects reviews from multiple sources. This can involve using web scraping techniques or APIs. It takes source URLs or API endpoints as input and gets the collected raw data as output. For example, it can get data from review sites or online shopping sites.
[0755] The review information collected by the server is summarized using natural language processing (NLP) technology. Specifically, an NLP engine (e.g., BERT, GPT) is used to extract the main points of the review and summarize them into short sentences. Raw data is received as input, and a summarized review is obtained as output. For example, a reviewer's review saying "This restaurant's cheeseburger is great! The smoky flavor is irresistible" is summarized as "Cheeseburger, smoky flavor."
[0756] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. It receives the summarized reviews as input and gets the categorized reviews as output. For example, it classifies "Cheeseburger, Smoky Flavor" into "Burger" and "Smoky."
[0757] Step 2: User profiling
[0758] The user inputs their preferences and past review information into the system. For example, they might input, "I like spicy food, and curry is my favorite." The system receives the user's preferences and review information as input.
[0759] The server uses natural language processing technology to summarize, categorize, and store the input information. It then converts it into a format that is easy to store in a database. It receives user preferences and review information as input, and obtains a summarized and categorized user profile as output. For example, a review that says, "This curry was spicy and had the perfect balance of spices" is summarized as "spicy curry, perfect balance of spices" and classified as "curry" and "spicy."
[0760] Step 3: Calculate the relevance score
[0761] The server compares each reviewer's review content with the user's profile and calculates a relevance score. It uses algorithms such as cosine similarity and Pearson correlation coefficient. It receives the reviewer's review content and the user profile as input and obtains a relevance score as output. For example, a relevance score is calculated based on the common categories "curry" and "spicy food" and is set to 80%.
[0762] The server generates a ranking of reviewers based on their relevance scores. It receives the relevance scores as input and gets the reviewer rankings as output. For example, it lists reviewer A with a relevance of 85%, reviewer B with a relevance of 80%, and so on.
[0763] Step 4: Emotion analysis using the emotion engine
[0764] The server analyzes the user's emotions based on their input and past reviews. For example, if the user inputs "I feel sad today," it analyzes this using an emotion engine (e.g., Sentiment Analysis API) and determines the emotion as "sad." The input receives text indicating the user's emotional state, and the output is the analyzed emotional information.
[0765] The server reflects the user's emotional information when calculating the relevance score. The user profile is updated based on the emotion analysis results and reflected in the relevance score. For example, if the user is "irritated," adjustments are made such as increasing the relevance score for products and services that are effective for relaxation. The emotion analysis results and user profile are received as input, and an updated relevance score is obtained as output.
[0766] Step 5: Present the information
[0767] The server organizes information on products and stores that are best suited to the user based on the relevance score and the results of sentiment analysis. It receives the relevance score and the results of sentiment analysis as input and obtains organized recommended information as output.
[0768] The device presents this recommendation information to the user through a user interface. For example, it might display "Recommended review for you: Reviewer A's spicy curry" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommendation information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize showing reviews of products with a relaxing effect. It receives organized recommendation information as input and obtains recommendation information to be displayed to the user as output.
[0769] (Application example 2)
[0770] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0771] Conventional review systems simply provide a large amount of review information, making it difficult for users to efficiently find review information that matches their preferences and emotions. Furthermore, there is no recommendation system that takes into account the user's emotional state, making it difficult for users to find content that best suits their mood at the time. This leads to issues such as a poor user experience and a long time required to obtain information.
[0772] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0773] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and stores recommended by highly compatible reviewers to the user's terminal, and means for analyzing the user's emotions and presenting recommended information based on those emotions. This allows users to quickly obtain optimal review information and content based not only on their preferences but also on their emotional state.
[0774] A "review" is a general term for text posted by a user that contains their evaluation or opinion of a specific product or service.
[0775] A "summary" is a concise summary of long review information that has been shortened and the main points and gist of the information have been extracted.
[0776] "User" refers to anyone who uses the system to view reviews and register their preferences and emotional state.
[0777] "Relevance" is an index that indicates the degree of match between the user's preferences and emotional state and the content of each reviewer's review.
[0778] "Sentiment analysis" is the process of using an emotion engine to determine a user's emotional state based on their input and past reviews.
[0779] "Recommendations" are information about products and services selected based on a user's preferences and emotional state.
[0780] "Server" is a general term for the computer that processes data for the entire system and collects, summarizes, and classifies review information.
[0781] "Natural language processing technology" is a technology that processes and analyzes natural language used by humans on a computer.
[0782] "User device" refers to an electronic device used by a user, such as a smartphone or smart glasses.
[0783] "Content" is a general term for information that can be enjoyed visually or aurally, such as movies, dramas, and music.
[0784] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system for collecting a large amount of review information and providing recommended information based on the preferences and emotional state of a user.
[0785] The system utilizes the following hardware and software:
[0786] Hardware
[0787] server
[0788] User devices (smartphones, smart glasses)
[0789] software
[0790] Natural language processing technology (TextBlob library)
[0791] API communication (requests library)
[0792] Database (The Movie Database API)
[0793] The server collects review information from multiple review sources and summarizes and categorizes them using natural language processing technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review that says "This movie was so moving I couldn't stop crying" can be summarized as "A moving movie."
[0794] Next, the user enters their emotions and preferences into the system. The server analyzes the emotions from the user's input information and past reviews and updates the user profile. For emotion analysis, the TextBlob library is used to analyze the emotions of the input text and classify it as "happy," "sad," or "neutral." For example, if a user enters "I'm feeling a little gloomy today," the emotion engine will determine this as "sad."
[0795] The server then considers the user's emotional state and presents content recommended by reviewers with the highest relevance to the user's device. For example, if the user is judged to be "sad," it will recommend content suitable for relaxation and a change of mood. Using the Movie Database API, it retrieves movies and TV shows from emotion-based genres and generates a list of recommended content.
[0796] The user's device will display the recommended content on the interface. For example, it may display "Movies recommended for you: XX inspiring movies," and the user can select the content. Furthermore, the system dynamically adjusts the recommended content based on emotional information. For example, if the user inputs "I'm feeling stressed," it will prioritize content that is effective in reducing stress.
[0797] For example, if a user types "I'm feeling a little depressed today," the emotion engine will recognize it as "sad." Taking the user's emotional state into consideration, the system will recommend movies with a relaxing effect from the drama genre. For example, it will display "Movies recommended for you: Relaxing movies."
[0798] An example prompt would be of the form:
[0799] "User said: 'I'm feeling a bit depressed today'"
[0800] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0801] Step 1:
[0802] The server collects review information from multiple review sources. Specifically, it uses web scraping and APIs to obtain user ratings and opinions on products and services. The input requires the URL and API key of the review site or online shopping site, and the output is the text data of the retrieved review information.
[0803] Step 2:
[0804] The server uses natural language processing technology to summarize and categorize the collected review information. Specifically, it uses the TextBlob library to analyze the review text, extract the main points, and summarize them into short sentences. For example, a review that says "This movie was so moving, I couldn't stop crying" can be summarized as "A moving movie." The input requires the text data of the acquired review information, and the output is the text data of the summarized review information.
[0805] Step 3:
[0806] Users input their preferences, past review information, and current emotional state into the system. For example, they input information such as "I'm feeling a little depressed today" or "I like moving movies." The input requires the user's text data, and the output is the user's profile information.
[0807] Step 4:
[0808] The server analyzes emotions from user input and past review information and updates the user profile. Specifically, it uses the TextBlob library to analyze the emotions of input sentences and classify them into "happy," "sad," and "neutral." For example, it analyzes the input "I'm a little depressed today" and outputs the emotional state "sad."
[0809] Step 5:
[0810] The server compares each reviewer's review content with the user's preferences to calculate the degree of compatibility. Specifically, it calculates the degree of match with the user's profile using methods such as cosine similarity and Pearson correlation coefficient. The input requires the user's profile information and the reviewer's review information, and the output is a compatibility score.
[0811] Step 6:
[0812] The server retrieves and organizes information about products and content recommended by reviewers with high relevance scores. For example, it uses The Movie Database API to retrieve movies from genres that match the emotional state and creates a list. The inputs are the relevance score and the emotional state, and the output is a list of recommended products and content.
[0813] Step 7:
[0814] The server also retrieves and organizes information about products and stores that have been poorly rated by reviewers with high relevance. For example, it retrieves information about movies that have been poorly rated using The Movie Database API. The input requires a relevance score, and the output is a list of low-rated products and content.
[0815] Step 8:
[0816] The device displays recommended products and content, as well as information on low-rated products and content to avoid, through a user interface. Specifically, it displays "Movies Recommended for You: Relaxing Movies" on the screen and allows the user to select. A list of recommended information is required as input, and the user's screen display is obtained as output.
[0817] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0818] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0819] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0820] [Third embodiment]
[0821] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0822] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0823] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0824] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0825] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0826] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0827] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0828] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0829] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0830] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0831] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0832] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0833] System Overview
[0834] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Specifically, it prioritizes the display of reviews by reviewers whose preferences are similar to the user's, allowing the user to quickly make the best selection.
[0835] Program Overview
[0836] The system operates based on the following main steps:
[0837] 1. Collecting and summarizing reviews
[0838] 2. User profiling
[0839] 3. Calculating the relevance score
[0840] 4. Presentation of Information
[0841] Program processing flow
[0842] Step 1: Collect and summarize reviews
[0843] 1. The server collects a large number of reviews from multiple sources using web scraping and API integration techniques.
[0844] For example: Obtaining data from review sites and online shopping platforms.
[0845] 2. The server uses natural language processing technology to summarize each review.
[0846] Example: Review: "This place's cheeseburgers are amazing! I can't get enough of the smoky flavor." -> Summary: "Cheeseburger, smoky flavor."
[0847] 3. The server classifies the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0848] Example: "Cheeseburger, smoky flavor" → Categories "burger" and "smoky"
[0849] Step 2: User profiling
[0850] 1. The user enters their preferences and past review information into the system.
[0851] For example: "I like spicy food, especially curry."
[0852] 2. The server similarly summarizes and categorizes the information provided by the user and past reviews.
[0853] Example: User review: "This curry was spicy and had the perfect balance of spices" → Summary: "Spicy curry, perfect balance of spices" → Category: "Curry" "Spicy"
[0854] Step 3: Calculate the relevance score
[0855] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score.
[0856] Techniques used: Cosine similarity, Pearson correlation coefficient, etc.
[0857] Example: If "User X" and "Reviewer Y" share the same category, "curry" and "spicy food," the relevance score is calculated as 80%.
[0858] 2. The server lists the reviewers with the highest relevance scores and generates a ranking.
[0859] Example: Reviewer A (relevance 85%), Reviewer B (relevance 80%)
[0860] Step 4: Present your information
[0861] 1. The server obtains and organizes information about products and stores recommended by reviewers with high relevance scores.
[0862] Example: Reviewer A recommends "Spicy curry from XX curry shop"
[0863] 2. The server also obtains information about products and stores that have been rated poorly by reviewers with high relevance scores.
[0864] Example: Reviewer A gave a low rating to "YY Curry Shop's Mild Curry"
[0865] 3. The device presents this information to the user through the user interface.
[0866] Example: "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" "Product that Reviewer A rated poorly: Mild curry from YY Curry Shop"
[0867] Specific examples
[0868] For example, if a user types in that they like "spicy food, especially curry," the system will first search for reviewers with similar reviews. If reviewer A rates "XX Curry Shop's spicy curry" highly, this information will be presented to the user. Conversely, reviewer A's opinion, who gave a low rating to "YY Curry Shop's mild curry," will also be displayed, providing information that the user should avoid.
[0869] This system allows users to quickly and accurately find the information that best suits their preferences. The specific code and algorithms will be implemented based on the steps above, improving the user experience and significantly reducing the time and effort required to select reviews.
[0870] The processing flow will be explained below.
[0871] Step 1:
[0872] The server collects review information from multiple review sources, including web scraping and API usage, such as retrieving data from review sites and online shopping sites.
[0873] Step 2:
[0874] The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[0875] Step 3:
[0876] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, a summary like "Cheeseburger, Smoky Flavor" would be classified into the categories "Burger" and "Smoky."
[0877] Step 4:
[0878] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and I especially love curry."
[0879] Step 5:
[0880] The server summarizes the preferences and past review information entered by the user and stores them in categories. For example, a user review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0881] Step 6:
[0882] The server compares each reviewer's review content with the user's profile to calculate a relevance score. This calculation uses methods such as cosine similarity and Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[0883] Step 7:
[0884] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[0885] Step 8:
[0886] The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0887] Step 9:
[0888] The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A has rated poorly.
[0889] Step 10:
[0890] The device presents this information to the user through a user interface, specifically displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0891] Example 1
[0892] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0893] While traditional review sites offer a vast amount of review information, it is difficult for users to quickly and accurately find information that matches their preferences. Furthermore, they lack functionality for finding reviewers who match a user's preferences, and systems that properly present the reviewers' recommendations. As a result, users are overwhelmed by the volume of information, making it difficult for them to make the best choice.
[0894] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0895] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and services recommended by reviewers with high compatibility to the user's terminal, means for the user to input preferences via the terminal, and means for calculating compatibility scores and generating reviewer rankings. This allows users to quickly find reviews by reviewers that best suit their preferences and makes it easy to make the best choice.
[0896] A "server" is a computer system that receives requests from, processes, and provides data to, multiple users.
[0897] A "terminal" is a device through which a user inputs and retrieves information, examples of which include smartphones and personal computers.
[0898] "User" refers to an individual who uses the System to search for and view review information.
[0899] A "review" is a rating or comment written by a user about a product or service.
[0900] "Reviewer" means a user who submits a review.
[0901] To "summarize" means to shorten a long piece of text or information into a concise and easy-to-understand form.
[0902] "Categorization" means classifying data into specific categories or groups.
[0903] The "relevance score" is a numerical representation of the degree of match between the reviewer's review content and the user's preferences.
[0904] "Natural language processing technology" refers to technology that allows computers to understand, interpret, and generate human language.
[0905] "Recommend" means recommending a particular product or service to a user.
[0906] "Ranking generation" refers to ranking reviewers and reviews based on their relevance scores.
[0907] This invention is a system that extracts information that a user should read from a large amount of review information and presents only reviews that match the user's preferences. The invention particularly includes the following processing steps.
[0908] System Overview
[0909] This system consists of a server, a terminal, and a user. The server collects, summarizes, and categorizes reviews, and calculates relevance scores. The terminal receives input from the user and presents the information provided by the server to the user. Users can receive the most suitable reviews by inputting their preferences and review information into the system.
[0910] Hardware and software used
[0911] Server: Utilizing web scraping technologies (e.g., Beautiful Soup, Scrapy), API integration (e.g., Yelp API, Amazon Product Advertising API), and natural language processing technologies (e.g., BERT, GPT-3).
[0912] Device: A device that receives user input, such as a smartphone or computer.
[0913] Database: Used to store collected reviews, user preferences, relevance scores, etc.
[0914] Example of operation
[0915] 1. Collecting and summarizing reviews
[0916] The server uses web scraping technology and API integration to collect reviews from multiple sources, for example, pulling data from review sites and online shopping platforms.
[0917] The server uses natural language processing technology to summarize the collected reviews and classify them into specific categories. For example, a review such as "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible" would be summarized as "Cheeseburger, smoky flavor" and classified into the categories "burger" and "smoky."
[0918] 2. User profiling
[0919] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[0920] The server summarizes the information entered by the user and stores it in a similar category. For example, a user review saying "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0921] 3. Calculating the relevance score
[0922] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using cosine similarity or Pearson correlation coefficient.
[0923] Reviewers with high relevance scores are listed and a ranking is generated. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the relevance score is calculated as 80%.
[0924] 4. Presentation of Information
[0925] The server collects information on products and services recommended by reviewers with high relevance scores and organizes it for presentation to users. For example, it obtains detailed information on "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[0926] It also collects and displays information about products and services that reviewers with high relevance scores have rated poorly. For example, it displays information about "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[0927] The device presents this information to the user through a user interface, for example, displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0928] Prompt Sentence Examples
[0929] Example prompts to input to a generative AI model:
[0930] "If a user likes spicy food, we can implement an algorithm to recommend reviews with high relevance scores."
[0931] "How can I identify reviewers who match a user's preferences and display their recommendations in an organized way?"
[0932] In this way, users can quickly find the review information that best suits their preferences, which greatly reduces the time and effort required to select reviews and improves the user experience.
[0933] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0934] Step 1: Collect and summarize reviews
[0935] 1. Collecting reviews
[0936] The server collects data from multiple review sources using web scraping techniques (e.g., Beautiful Soup, Scrapy) and API integration techniques (e.g., Yelp API, Amazon Product Advertising API).
[0937] Input: Information such as URLs and API endpoints of review sites and online shopping platforms.
[0938] Output: Raw review information (text data).
[0939] What it does: The server periodically collects new reviews through scheduled crawls and API requests.
[0940] 2. Review Summary
[0941] The server summarizes the collected reviews using natural language processing techniques (e.g., BERT, GPT-3).
[0942] Input: Raw review information.
[0943] Output: A summarized review (concise text).
[0944] What it does: The server extracts key keywords and phrases from long reviews and summarizes them into a concise format. For example, a review like "This place's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[0945] 3. Categorization
[0946] The server categorizes the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[0947] Input: Abridged review.
[0948] Output: Summary reviews with category tags.
[0949] What it does: The server automatically assigns category tags based on relevant keywords from the summary review. For example, "Cheeseburger, Smoky Flavor" would be classified under the categories "Burger" and "Smoky."
[0950] Step 2: User profiling
[0951] 1. User Input
[0952] Users input their preferences and past review information into the system.
[0953] Input: User preferences and past reviews.
[0954] Output: User profile data.
[0955] What it does: The user uses a form through the interface to enter preferences and past reviews.
[0956] 2. Processing of User Information
[0957] The server summarizes the user's input information and past reviews, categorizes them, and stores them.
[0958] Input: User profile data.
[0959] Output: Summarized and categorized user data.
[0960] How it works: The server uses natural language processing to summarize user reviews and store them in a database by category. For example, a review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[0961] Step 3: Calculate the relevance score
[0962] 1. Calculating the relevance score
[0963] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using techniques such as cosine similarity and Pearson correlation coefficient.
[0964] Input: User profile data and reviewer review content.
[0965] Output: Relevance scores for each reviewer and user.
[0966] Specific operation: The server compares the profile data of users and reviewers and calculates the similarity using an algorithm. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the compatibility score is calculated as 80%.
[0967] 2. Reviewer Ranking
[0968] The server lists reviewers with high relevance scores and generates a ranking.
[0969] Input: Relevance score for each reviewer.
[0970] Output: A ranking list for each reviewer.
[0971] Specific behavior: The server ranks reviewers based on their relevance scores, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%), and so on.
[0972] Step 4: Present the information
[0973] 1. Organizing information
[0974] The server collects and organizes information on products and services recommended by reviewers with high relevance scores.
[0975] Input: A list of reviewers with high relevance scores.
[0976] Output: Organized recommendations.
[0977] Specific operation: The server collects recommendations from top-ranked reviewers and formats them for presentation to users. For example, it obtains detailed information about "XX Curry Shop's Spicy Curry" recommended by reviewer A.
[0978] 2. Displaying low-rated information
[0979] The server also collects information about products and services that have been rated poorly by reviewers with high suitability scores and presents it to users.
[0980] Input: Low rating information of reviewers with high relevance scores.
[0981] Output: Organized negative reviews.
[0982] Specific operation: The server collects and prepares to display details of low-rated products that users should avoid. For example, it retrieves information about "YY Curry Shop's Mild Curry," which reviewer A gave a low rating to.
[0983] 3. Displaying Information
[0984] The terminal presents this information to the user through a user interface.
[0985] Input: Organized recommendations and dislikes.
[0986] Output: Presenting information in a form that can be viewed by the user.
[0987] Specific operation: The device displays information to the user such as "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[0988] (Application example 1)
[0989] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0990] Conventional review systems require users to manually search and compare large volumes of reviews, making it difficult to quickly obtain the most appropriate information. Furthermore, reviews are not tailored to individual user preferences, making it time-consuming and labor-intensive to select the right product.
[0991] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0992] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for providing a user interface optimized for smartphones and displaying highly compatible reviews in a personalized manner, and means for performing user profiling using a generative AI model. This allows users to quickly obtain reviews that match their preferences and select the best products and services.
[0993] A "review" is a user's evaluation or opinion of a product or service.
[0994] "Reviewer" means a user who submits a review.
[0995] A "summary" is an extract of the main points of the original text and their presentation in a shortened form.
[0996] "User profiling" means analyzing and understanding a user's characteristics and preferences based on their past behavior and the information they provide.
[0997] "Categorization" means classifying collected information into specific categories.
[0998] "Relevance" is an index that shows the degree of match between the user's preferences and the reviewer's review content.
[0999] The "fit score" is a numerical representation of the fit.
[1000] A "smartphone" is a mobile phone that has mobile communication capabilities and can run a variety of applications.
[1001] "User interface" refers to the screens and operating methods that allow users to interact with a system.
[1002] A "generative AI model" is a model that uses artificial intelligence to generate and update user preferences and profiles.
[1003] The system for implementing this invention includes a server that collects and summarizes a large number of reviews, a server that profiles users' preferences, and a server that calculates relevance scores. Finally, it has a means for organizing this information and presenting it to a user terminal.
[1004] Collecting and summarizing reviews
[1005] The server retrieves reviews from multiple sources through web scraping and API communication. The retrieved reviews are summarized using natural language processing technology. Specifically, key information is extracted from the original review text and recorded in a shortened form. The collected reviews are classified into different categories, and summaries are maintained for each category.
[1006] User Profiling
[1007] The server collects user past reviews and preference data and creates a user profile based on this, using a generative AI model to understand the user's interests and preferences.
[1008] Calculating the relevance score
[1009] The server compares each reviewer's review content with the user's profile to calculate a relevance score. Mathematical methods such as cosine similarity and Pearson correlation coefficient are used for this calculation. Reviewers with high relevance scores are prioritized and a ranking is generated. Information on reviewers at the top of the ranking is provided more prominently.
[1010] Presentation of information
[1011] The server organizes information on products and stores recommended by reviewers with high relevance scores and presents it in a user interface optimized for the user's smartphone. At the same time, it also provides information on products and stores that reviewers with high relevance scores have rated poorly. This allows users to obtain both information that interests them and information that they should avoid, enabling them to quickly make the best choice.
[1012] Hardware and software used
[1013] Hardware: Smartphones, servers
[1014] Software: Python, Scikit-learn, TfidfVectorizer, Cosine Similarity, API communication library (Requests), web scraping tool, natural language processing technology
[1015] Specific examples
[1016] For example, if a user mentions in their profile that they like spicy food, especially curry, the system first searches for reviewers with similar preferences. Generative AI models are used to create and update profiles, and reviews are presented based on a relevance score.
[1017] Prompt Sentence Examples
[1018] User profile: "I like spicy food, especially curry."
[1019] The server collects and summarizes reviews, calculates a relevance score based on the profile, and presents the reviews in a smartphone-optimized interface:
[1020] 1. Product: Spicy Indian Curry, Summary: This curry is exceptionally spicy and contains a rich mix of various spices..., Score: 0.85
[1021] 2. Product: Thai Red Curry, Summary: If you love spicy food, this Thai Red Curry will be a delight. It is bursting with flavors..., Score: 0.80
[1022] 3. Product: Hot and Spicy Chicken Wings, Summary: These chicken wings are extremely spicy with a smoky undertone that enhances the flavor..., Score: 0.75
[1023] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1024] Step 1:
[1025] The server collects reviews from multiple review sources. As input, it receives raw data from review sites and online shopping platforms. The server retrieves this data using a web scraping tool or an API communication library (Requests). As output, it receives a list of collected raw reviews.
[1026] Step 2:
[1027] The server summarizes the collected reviews using natural language processing techniques. As input, it has the raw review list collected in step 1. The server uses natural language processing techniques to extract the main points of each review and convert them into a shortened form. Specifically, it uses Scikit-learn's TfidfVectorizer to generate the summary. As output, it obtains a summarized review list.
[1028] Step 3:
[1029] The server classifies the summarized reviews into specific categories. As input, it has the list of reviews summarized in step 2. The server classifies each review into a category, such as "product category" or "rating content." As output, it gets a list of reviews organized by category.
[1030] Step 4:
[1031] Users input their preferences and past review information into the system. The input includes user preference information and past reviews. The output is a user profile.
[1032] Step 5:
[1033] The server creates a user profile using a generative AI model. The input is the user preferences and past review information obtained in step 4. The server uses the generative AI model to analyze this as textual data and profile the user's characteristics. The output is the generated user profile.
[1034] Step 6:
[1035] The server compares the review content of each reviewer with the user profile and calculates a relevance score. The inputs are the review list organized in step 3 and the user profile generated in step 5. The server scores the relevance between the review content and the user profile using a calculation method such as cosine similarity. The output is a relevance score for each reviewer.
[1036] Step 7:
[1037] The server organizes information about products and stores recommended by reviewers with high relevance scores and provides it to the user's device. The inputs are the relevance scores obtained in step 6 and a list of reviews. The server sorts the reviews based on the relevance scores and presents them to the user using an interface optimized for smartphones. The output is a personalized list of reviews that is displayed to the user.
[1038] Step 8:
[1039] The server also provides the user with information on products and stores that have been poorly rated by reviewers with high relevance scores. The input is information on products that have been poorly rated by reviewers whose relevance scores were calculated in step 6. The server organizes this information and presents it to the user in an interface that is also optimized for smartphones. The output is a list of products and stores that should be avoided.
[1040] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1041] System Overview
[1042] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[1043] Program Overview
[1044] The system operates based on the following main steps:
[1045] 1. Collecting and summarizing reviews
[1046] 2. User profiling
[1047] 3. Calculating the relevance score
[1048] 4. Emotion analysis using an emotion engine
[1049] 5. Presentation of Information
[1050] Program processing flow
[1051] Step 1: Collect and summarize reviews
[1052] 1. The server collects review information from multiple review sources, including web scraping and API usage, such as obtaining data from review sites and online shopping sites.
[1053] 2. The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[1054] 3. The server classifies the summarized review into a specific category using topic modeling and clustering techniques. For example, if the summary is "Cheeseburger, Smoky Flavor," it will be classified into the categories "Burger" and "Smoky."
[1055] Step 2: User profiling
[1056] 1. A user enters their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[1057] 2. The server summarizes the preferences and past review information entered by the user and stores them in categories. Specifically, the user review "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1058] Step 3: Calculate the relevance score
[1059] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score. This calculation uses methods such as cosine similarity or Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[1060] 2. The server lists the reviewers with the highest relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[1061] Step 4: Sentiment analysis using the emotion engine
[1062] 1. The server uses an emotion engine to analyze the user's input information and past reviews to determine their emotions and update the user profile. For example, if a user inputs "I feel sad today," the emotion engine will analyze this and determine the emotion as "sadness."
[1063] 2. The server takes into account the user's emotional information when calculating the relevance score and adjusts the score accordingly. For example, if the user is "irritated," it will increase the relevance of products and services that are effective for relaxation.
[1064] Step 5: Present your information
[1065] 1. The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1066] 2. The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[1067] 3. The device presents this information to the user through the user interface. Specifically, it displays "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Products rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommended information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize reviews of products with a relaxing effect.
[1068] Specific examples
[1069] For example, if a user types "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Furthermore, if a user has set their preference to "spicy food, especially curry," the system will prioritize highly rated items, such as "almond milk soup," which has a relaxing effect, taking into account their emotional state. Meanwhile, it will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[1070] In this way, the system takes into account the user's preferences and emotional state to provide the most appropriate review information, improving the user experience. The specific code and algorithms are implemented based on the steps above, allowing users to quickly and accurately obtain information that best suits their preferences.
[1071] The processing flow will be explained below.
[1072] Step 1:
[1073] The server collects review information from multiple review sources, including web scraping and API integration, such as retrieving the latest reviews from major review sites and online shopping platforms.
[1074] Step 2:
[1075] The server analyzes and summarizes the collected reviews using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[1076] Step 3:
[1077] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, the summary "Cheeseburger, Smoky Flavor" can be classified into the categories "Burger" and "Smoky."
[1078] Step 4:
[1079] A user logs into the system and enters their preferences and past review information. For example, they might enter, "I like spicy food, and curry is my favorite."
[1080] Step 5:
[1081] The server uses natural language processing technology to summarize the information entered by the user and categorize it. For example, "This curry was spicy and had the perfect balance of spices" can be summarized as "spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1082] Step 6:
[1083] The server compares the content of each reviewer's review with the user's profile and calculates a compatibility score. The compatibility score is calculated using cosine similarity or Pearson correlation coefficient. For example, based on the common items "curry" and "spicy food," the compatibility score is calculated as 80%.
[1084] Step 7:
[1085] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[1086] Step 8:
[1087] The server acquires and organizes information about products and stores recommended by top-ranked reviewers. For example, it acquires "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1088] Step 9:
[1089] The server also retrieves and organizes information about products and stores that have been rated poorly by top-ranked reviewers. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[1090] Step 10:
[1091] The user inputs their current emotional state, for example, "I feel sad today."
[1092] Step 11:
[1093] The server uses an emotion engine to analyze the user's emotion and update the user profile based on the emotion, for example, analyzing the emotion "sadness" from an input such as "I feel sad today."
[1094] Step 12:
[1095] The server takes into account the user's emotional information when calculating the relevance score and adjusts the relevance score accordingly. For example, it increases the relevance of products that have a relaxing effect for the emotional state "sadness."
[1096] Step 13:
[1097] The server presents dynamically adjusted information based on the user's emotions to the user's device. For example, it might display "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Reviewer A's low rating: Mild curry from YY Curry Shop," and prioritize reviews of products with a relaxing effect.
[1098] Specific examples
[1099] If a user logs into the system and enters in their profile that they like "spicy food, especially curry," and then adds, "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Taking their emotional state into consideration, the system will prioritize and suggest reviews of products with a relaxing effect (e.g., relaxing herbal tea). Based on the user's preferences, information such as "Spicy Curry from XX Curry Shop," recommended by reviewer A, will also be displayed. This allows users to obtain product information that best suits their emotional state.
[1100] Example 2
[1101] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1102] There is a problem that the internet contains countless reviews, making it difficult for users to efficiently find the information that best suits them. Furthermore, since the recommended information changes depending on the user's emotional state, there is a need to dynamically provide appropriate review information according to the user's emotional state. Existing systems do not sufficiently take user emotions into account when making recommendations, so an improvement in the user experience is necessary.
[1103] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1104] In this invention, the server includes means for collecting reviews from multiple information sources and summarizing them for each reviewer, means for summarizing and categorizing the user's past reviews and preferences, means for comparing the review content of each reviewer with the user's preferences to calculate compatibility and generating a ranking using the compatibility score, means for analyzing the user's emotions using an emotion engine and updating the user's profile based on the analysis results, and means for organizing information on products and stores that are most suitable for the user, taking into account the compatibility score and the emotion analysis results, and presenting recommended information to the user's terminal. This makes it possible to quickly and accurately provide optimal review information based on the user's preferences and emotional state.
[1105] "Sources" refers to internet review sites, online shopping sites, and any other websites or APIs that provide data.
[1106] A "review" is a rating or opinion written by a user about a product or service.
[1107] "Reviewer" means a user who submits a review.
[1108] A "summary" is a short summary of the main points of a review.
[1109] "Natural language processing technology" is a general term for technologies that understand, generate, summarize, etc. text data.
[1110] "Categorization" refers to the process of classifying summarized reviews into specific categories.
[1111] "User Profile" refers to individual information about a user, including past reviews, preferences, and emotional state.
[1112] The "relevance score" is the degree of match calculated by comparing the content of each reviewer's review with the user's preferences and profile.
[1113] A "ranking" is a ranked list of reviewers and products based on their relevance scores.
[1114] An "emotion engine" refers to a technology or system for analyzing emotions from user input information and past review information.
[1115] "Sentiment analysis" refers to the process of using an emotion engine to determine a user's emotional state.
[1116] "Recommendations" are information about products and services suggested to users based on their user profile and emotional state.
[1117] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[1118] System configuration
[1119] The system of the present invention consists of the following main components:
[1120] 1. Server
[1121] Data Collection Module: Collect reviews from multiple sources.
[1122] Natural Language Processing (NLP) module: Summarizes and categorizes collected reviews.
[1123] User profile module: Creates and stores a profile based on user input.
[1124] Relevance calculation module: Calculates relevance by comparing the review content of each reviewer with the user's preferences.
[1125] Emotion engine: Analyzes user emotions and updates their profile.
[1126] Recommendation generation module: Generates recommendations based on relevance and sentiment information.
[1127] 2. Terminal
[1128] User Interface: Presents a screen for the user to enter information and receive recommendations from the server.
[1129] Hardware and Software
[1130] The server uses a computer with high-performance processing capabilities. For example, virtual servers from Amazon EC2 or Google Cloud can be used. Generative AI models such as BERT and GPT are used as natural language processing technologies. The emotion engine can use the Sentiment Analysis API or a proprietary emotion analysis model. The database uses a common relational database such as MySQL or PostgreSQL.
[1131] Program processing flow
[1132] 1. Collecting and summarizing reviews
[1133] The server uses web scraping technology and APIs to collect reviews from multiple sources, thereby obtaining comprehensive review information.
[1134] The collected reviews are summarized using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[1135] 2. User profiling
[1136] Users input their preferences and past review information into the system, for example, "I like spicy food, and curry is my favorite."
[1137] The server summarizes, categorizes, and stores the information entered.
[1138] 3. Calculating the relevance score
[1139] The server compares each reviewer's review content with the user's profile and calculates a relevance score. For example, if reviewer A's review matches the user's preferences 80%, the server sets the relevance score to 80%.
[1140] The server generates a ranking of reviewers based on their relevance scores.
[1141] 4. Emotion analysis using an emotion engine
[1142] The server analyzes emotions based on the user's input and past reviews. For example, if a user writes, "I feel sad today," the emotion engine will interpret this as "sadness."
[1143] The server updates the user profile based on the analysis results and adjusts the relevance score.
[1144] 5. Presentation of Information
[1145] The server takes into account the relevance score and the results of sentiment analysis to organize information on products and stores that are most suitable for the user.
[1146] The device will present this information to the user through a user interface, such as "Recommended review for you: Reviewer A's spicy curry" or "Product that Reviewer A rated poorly: YY Curry Shop's mild curry."
[1147] Specific examples
[1148] For example, suppose a user inputs "I'm feeling sad today" into the system. The server uses an emotion engine to analyze this input and identify it as "sadness." At the same time, if the user's profile also includes a preference for "spicy food, especially curry," the system will take into account the results of the emotion analysis and prioritize highly rated reviews for dishes such as "almond milk soup," which has a relaxing effect. It will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[1149] In this way, by simultaneously considering the user's preferences and emotional state, this system can provide the user with the most appropriate review information, thereby aiming to improve the user experience.
[1150] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1151] Step 1: Collect and summarize reviews
[1152] The server collects reviews from multiple sources. This can involve using web scraping techniques or APIs. It takes source URLs or API endpoints as input and gets the collected raw data as output. For example, it can get data from review sites or online shopping sites.
[1153] The review information collected by the server is summarized using natural language processing (NLP) technology. Specifically, an NLP engine (e.g., BERT, GPT) is used to extract the main points of the review and summarize them into short sentences. Raw data is received as input, and a summarized review is obtained as output. For example, a reviewer's review saying "This restaurant's cheeseburger is great! The smoky flavor is irresistible" is summarized as "Cheeseburger, smoky flavor."
[1154] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. It receives the summarized reviews as input and gets the categorized reviews as output. For example, it classifies "Cheeseburger, Smoky Flavor" into "Burger" and "Smoky."
[1155] Step 2: User profiling
[1156] The user inputs their preferences and past review information into the system. For example, they might input, "I like spicy food, and curry is my favorite." The system receives the user's preferences and review information as input.
[1157] The server uses natural language processing technology to summarize, categorize, and store the input information. It then converts it into a format that is easy to store in a database. It receives user preferences and review information as input, and obtains a summarized and categorized user profile as output. For example, a review that says, "This curry was spicy and had the perfect balance of spices" is summarized as "spicy curry, perfect balance of spices" and classified as "curry" and "spicy."
[1158] Step 3: Calculate the relevance score
[1159] The server compares each reviewer's review content with the user's profile and calculates a relevance score. It uses algorithms such as cosine similarity and Pearson correlation coefficient. It receives the reviewer's review content and the user profile as input and obtains a relevance score as output. For example, a relevance score is calculated based on the common categories "curry" and "spicy food" and is set to 80%.
[1160] The server generates a ranking of reviewers based on their relevance scores. It receives the relevance scores as input and gets the reviewer rankings as output. For example, it lists reviewer A with a relevance of 85%, reviewer B with a relevance of 80%, and so on.
[1161] Step 4: Emotion analysis using the emotion engine
[1162] The server analyzes the user's emotions based on their input and past reviews. For example, if the user inputs "I feel sad today," it analyzes this using an emotion engine (e.g., Sentiment Analysis API) and determines the emotion as "sad." The input receives text indicating the user's emotional state, and the output is the analyzed emotional information.
[1163] The server reflects the user's emotional information when calculating the relevance score. The user profile is updated based on the emotion analysis results and reflected in the relevance score. For example, if the user is "irritated," adjustments are made such as increasing the relevance score for products and services that are effective for relaxation. The emotion analysis results and user profile are received as input, and an updated relevance score is obtained as output.
[1164] Step 5: Present the information
[1165] The server organizes information on products and stores that are best suited to the user based on the relevance score and the results of sentiment analysis. It receives the relevance score and the results of sentiment analysis as input and obtains organized recommended information as output.
[1166] The device presents this recommendation information to the user through a user interface. For example, it might display "Recommended review for you: Reviewer A's spicy curry" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommendation information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize showing reviews of products with a relaxing effect. It receives organized recommendation information as input and obtains recommendation information to be displayed to the user as output.
[1167] (Application example 2)
[1168] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1169] Conventional review systems simply provide a large amount of review information, making it difficult for users to efficiently find review information that matches their preferences and emotions. Furthermore, there is no recommendation system that takes into account the user's emotional state, making it difficult for users to find content that best suits their mood at the time. This leads to issues such as a poor user experience and a long time required to obtain information.
[1170] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1171] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and stores recommended by highly compatible reviewers to the user's terminal, and means for analyzing the user's emotions and presenting recommended information based on those emotions. This allows users to quickly obtain optimal review information and content based not only on their preferences but also on their emotional state.
[1172] A "review" is a general term for text posted by a user that contains their evaluation or opinion of a specific product or service.
[1173] A "summary" is a concise summary of long review information that has been shortened and the main points and gist of the information have been extracted.
[1174] "User" refers to anyone who uses the system to view reviews and register their preferences and emotional state.
[1175] "Relevance" is an index that indicates the degree of match between the user's preferences and emotional state and the content of each reviewer's review.
[1176] "Sentiment analysis" is the process of using an emotion engine to determine a user's emotional state based on their input and past reviews.
[1177] "Recommendations" are information about products and services selected based on a user's preferences and emotional state.
[1178] "Server" is a general term for the computer that processes data for the entire system and collects, summarizes, and classifies review information.
[1179] "Natural language processing technology" is a technology that processes and analyzes natural language used by humans on a computer.
[1180] "User device" refers to an electronic device used by a user, such as a smartphone or smart glasses.
[1181] "Content" is a general term for information that can be enjoyed visually or aurally, such as movies, dramas, and music.
[1182] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system for collecting a large amount of review information and providing recommended information based on the preferences and emotional state of a user.
[1183] The system utilizes the following hardware and software:
[1184] Hardware
[1185] server
[1186] User devices (smartphones, smart glasses)
[1187] software
[1188] Natural language processing technology (TextBlob library)
[1189] API communication (requests library)
[1190] Database (The Movie Database API)
[1191] The server collects review information from multiple review sources and summarizes and categorizes them using natural language processing technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review that says "This movie was so moving I couldn't stop crying" can be summarized as "A moving movie."
[1192] Next, the user enters their emotions and preferences into the system. The server analyzes the emotions from the user's input information and past reviews and updates the user profile. For emotion analysis, the TextBlob library is used to analyze the emotions of the input text and classify it as "happy," "sad," or "neutral." For example, if a user enters "I'm feeling a little gloomy today," the emotion engine will determine this as "sad."
[1193] The server then considers the user's emotional state and presents content recommended by reviewers with the highest relevance to the user's device. For example, if the user is judged to be "sad," it will recommend content suitable for relaxation and a change of mood. Using the Movie Database API, it retrieves movies and TV shows from emotion-based genres and generates a list of recommended content.
[1194] The user's device will display the recommended content on the interface. For example, it may display "Movies recommended for you: XX inspiring movies," and the user can select the content. Furthermore, the system dynamically adjusts the recommended content based on emotional information. For example, if the user inputs "I'm feeling stressed," it will prioritize content that is effective in reducing stress.
[1195] For example, if a user types "I'm feeling a little depressed today," the emotion engine will recognize it as "sad." Taking the user's emotional state into consideration, the system will recommend movies with a relaxing effect from the drama genre. For example, it will display "Movies recommended for you: Relaxing movies."
[1196] An example prompt would be of the form:
[1197] "User said: 'I'm feeling a bit depressed today'"
[1198] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1199] Step 1:
[1200] The server collects review information from multiple review sources. Specifically, it uses web scraping and APIs to obtain user ratings and opinions on products and services. The input requires the URL and API key of the review site or online shopping site, and the output is the text data of the retrieved review information.
[1201] Step 2:
[1202] The server uses natural language processing technology to summarize and categorize the collected review information. Specifically, it uses the TextBlob library to analyze the review text, extract the main points, and summarize them into short sentences. For example, a review that says "This movie was so moving, I couldn't stop crying" can be summarized as "A moving movie." The input requires the text data of the acquired review information, and the output is the text data of the summarized review information.
[1203] Step 3:
[1204] Users input their preferences, past review information, and current emotional state into the system. For example, they input information such as "I'm feeling a little depressed today" or "I like moving movies." The input requires the user's text data, and the output is the user's profile information.
[1205] Step 4:
[1206] The server analyzes emotions from user input and past review information and updates the user profile. Specifically, it uses the TextBlob library to analyze the emotions of input sentences and classify them into "happy," "sad," and "neutral." For example, it analyzes the input "I'm a little depressed today" and outputs the emotional state "sad."
[1207] Step 5:
[1208] The server compares each reviewer's review content with the user's preferences to calculate the degree of compatibility. Specifically, it calculates the degree of match with the user's profile using methods such as cosine similarity and Pearson correlation coefficient. The input requires the user's profile information and the reviewer's review information, and the output is a compatibility score.
[1209] Step 6:
[1210] The server retrieves and organizes information about products and content recommended by reviewers with high relevance scores. For example, it uses The Movie Database API to retrieve movies from genres that match the emotional state and creates a list. The inputs are the relevance score and the emotional state, and the output is a list of recommended products and content.
[1211] Step 7:
[1212] The server also retrieves and organizes information about products and stores that have been poorly rated by reviewers with high relevance. For example, it retrieves information about movies that have been poorly rated using The Movie Database API. The input requires a relevance score, and the output is a list of low-rated products and content.
[1213] Step 8:
[1214] The device displays recommended products and content, as well as information on low-rated products and content to avoid, through a user interface. Specifically, it displays "Movies Recommended for You: Relaxing Movies" on the screen and allows the user to select. A list of recommended information is required as input, and the user's screen display is obtained as output.
[1215] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1216] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1217] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1218] [Fourth embodiment]
[1219] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1220] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1221] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1222] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1223] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1224] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1225] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1226] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1227] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1228] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1229] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1230] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1231] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1232] System Overview
[1233] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Specifically, it prioritizes the display of reviews by reviewers whose preferences are similar to the user's, allowing the user to quickly make the best selection.
[1234] Program Overview
[1235] The system operates based on the following main steps:
[1236] 1. Collecting and summarizing reviews
[1237] 2. User profiling
[1238] 3. Calculating the relevance score
[1239] 4. Presentation of Information
[1240] Program processing flow
[1241] Step 1: Collect and summarize reviews
[1242] 1. The server collects a large number of reviews from multiple sources using web scraping and API integration techniques.
[1243] For example: Obtaining data from review sites and online shopping platforms.
[1244] 2. The server uses natural language processing technology to summarize each review.
[1245] Example: Review: "This place's cheeseburgers are amazing! I can't get enough of the smoky flavor." -> Summary: "Cheeseburger, smoky flavor."
[1246] 3. The server classifies the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[1247] Example: "Cheeseburger, smoky flavor" → Categories "burger" and "smoky"
[1248] Step 2: User profiling
[1249] 1. The user enters their preferences and past review information into the system.
[1250] For example: "I like spicy food, especially curry."
[1251] 2. The server similarly summarizes and categorizes the information provided by the user and past reviews.
[1252] Example: User review: "This curry was spicy and had the perfect balance of spices" → Summary: "Spicy curry, perfect balance of spices" → Category: "Curry" "Spicy"
[1253] Step 3: Calculate the relevance score
[1254] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score.
[1255] Techniques used: Cosine similarity, Pearson correlation coefficient, etc.
[1256] Example: If "User X" and "Reviewer Y" share the same category, "curry" and "spicy food," the relevance score is calculated as 80%.
[1257] 2. The server lists the reviewers with the highest relevance scores and generates a ranking.
[1258] Example: Reviewer A (relevance 85%), Reviewer B (relevance 80%)
[1259] Step 4: Present your information
[1260] 1. The server obtains and organizes information about products and stores recommended by reviewers with high relevance scores.
[1261] Example: Reviewer A recommends "Spicy curry from XX curry shop"
[1262] 2. The server also obtains information about products and stores that have been rated poorly by reviewers with high relevance scores.
[1263] Example: Reviewer A gave a low rating to "YY Curry Shop's Mild Curry"
[1264] 3. The device presents this information to the user through the user interface.
[1265] Example: "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" "Product that Reviewer A rated poorly: Mild curry from YY Curry Shop"
[1266] Specific examples
[1267] For example, if a user types in that they like "spicy food, especially curry," the system will first search for reviewers with similar reviews. If reviewer A rates "XX Curry Shop's spicy curry" highly, this information will be presented to the user. Conversely, reviewer A's opinion, who gave a low rating to "YY Curry Shop's mild curry," will also be displayed, providing information that the user should avoid.
[1268] This system allows users to quickly and accurately find the information that best suits their preferences. The specific code and algorithms will be implemented based on the steps above, improving the user experience and significantly reducing the time and effort required to select reviews.
[1269] The processing flow will be explained below.
[1270] Step 1:
[1271] The server collects review information from multiple review sources, including web scraping and API usage, such as retrieving data from review sites and online shopping sites.
[1272] Step 2:
[1273] The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[1274] Step 3:
[1275] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, a summary like "Cheeseburger, Smoky Flavor" would be classified into the categories "Burger" and "Smoky."
[1276] Step 4:
[1277] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and I especially love curry."
[1278] Step 5:
[1279] The server summarizes the preferences and past review information entered by the user and stores them in categories. For example, a user review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1280] Step 6:
[1281] The server compares each reviewer's review content with the user's profile to calculate a relevance score. This calculation uses methods such as cosine similarity and Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[1282] Step 7:
[1283] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[1284] Step 8:
[1285] The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1286] Step 9:
[1287] The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A has rated poorly.
[1288] Step 10:
[1289] The device presents this information to the user through a user interface, specifically displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[1290] Example 1
[1291] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1292] While traditional review sites offer a vast amount of review information, it is difficult for users to quickly and accurately find information that matches their preferences. Furthermore, they lack functionality for finding reviewers who match a user's preferences, and systems that properly present the reviewers' recommendations. As a result, users are overwhelmed by the volume of information, making it difficult for them to make the best choice.
[1293] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1294] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and services recommended by reviewers with high compatibility to the user's terminal, means for the user to input preferences via the terminal, and means for calculating compatibility scores and generating reviewer rankings. This allows users to quickly find reviews by reviewers that best suit their preferences and makes it easy to make the best choice.
[1295] A "server" is a computer system that receives requests from, processes, and provides data to, multiple users.
[1296] A "terminal" is a device through which a user inputs and retrieves information, examples of which include smartphones and personal computers.
[1297] "User" refers to an individual who uses the System to search for and view review information.
[1298] A "review" is a rating or comment written by a user about a product or service.
[1299] "Reviewer" means a user who submits a review.
[1300] To "summarize" means to shorten a long piece of text or information into a concise and easy-to-understand form.
[1301] "Categorization" means classifying data into specific categories or groups.
[1302] The "relevance score" is a numerical representation of the degree of match between the reviewer's review content and the user's preferences.
[1303] "Natural language processing technology" refers to technology that allows computers to understand, interpret, and generate human language.
[1304] "Recommend" means recommending a particular product or service to a user.
[1305] "Ranking generation" refers to ranking reviewers and reviews based on their relevance scores.
[1306] This invention is a system that extracts information that a user should read from a large amount of review information and presents only reviews that match the user's preferences. The invention particularly includes the following processing steps.
[1307] System Overview
[1308] This system consists of a server, a terminal, and a user. The server collects, summarizes, and categorizes reviews, and calculates relevance scores. The terminal receives input from the user and presents the information provided by the server to the user. Users can receive the most suitable reviews by inputting their preferences and review information into the system.
[1309] Hardware and software used
[1310] Server: Utilizing web scraping technologies (e.g., Beautiful Soup, Scrapy), API integration (e.g., Yelp API, Amazon Product Advertising API), and natural language processing technologies (e.g., BERT, GPT-3).
[1311] Device: A device that receives user input, such as a smartphone or computer.
[1312] Database: Used to store collected reviews, user preferences, relevance scores, etc.
[1313] Example of operation
[1314] 1. Collecting and summarizing reviews
[1315] The server uses web scraping technology and API integration to collect reviews from multiple sources, for example, pulling data from review sites and online shopping platforms.
[1316] The server uses natural language processing technology to summarize the collected reviews and classify them into specific categories. For example, a review such as "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible" would be summarized as "Cheeseburger, smoky flavor" and classified into the categories "burger" and "smoky."
[1317] 2. User profiling
[1318] Users input their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[1319] The server summarizes the information entered by the user and stores it in a similar category. For example, a user review saying "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1320] 3. Calculating the relevance score
[1321] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using cosine similarity or Pearson correlation coefficient.
[1322] Reviewers with high relevance scores are listed and a ranking is generated. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the relevance score is calculated as 80%.
[1323] 4. Presentation of Information
[1324] The server collects information on products and services recommended by reviewers with high relevance scores and organizes it for presentation to users. For example, it obtains detailed information on "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1325] It also collects and displays information about products and services that reviewers with high relevance scores have rated poorly. For example, it displays information about "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[1326] The device presents this information to the user through a user interface, for example, displaying "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[1327] Prompt Sentence Examples
[1328] Example prompts to input to a generative AI model:
[1329] "If a user likes spicy food, we can implement an algorithm to recommend reviews with high relevance scores."
[1330] "How can I identify reviewers who match a user's preferences and display their recommendations in an organized way?"
[1331] In this way, users can quickly find the review information that best suits their preferences, which greatly reduces the time and effort required to select reviews and improves the user experience.
[1332] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1333] Step 1: Collect and summarize reviews
[1334] 1. Collecting reviews
[1335] The server collects data from multiple review sources using web scraping techniques (e.g., Beautiful Soup, Scrapy) and API integration techniques (e.g., Yelp API, Amazon Product Advertising API).
[1336] Input: Information such as URLs and API endpoints of review sites and online shopping platforms.
[1337] Output: Raw review information (text data).
[1338] What it does: The server periodically collects new reviews through scheduled crawls and API requests.
[1339] 2. Review Summary
[1340] The server summarizes the collected reviews using natural language processing techniques (e.g., BERT, GPT-3).
[1341] Input: Raw review information.
[1342] Output: A summarized review (concise text).
[1343] What it does: The server extracts key keywords and phrases from long reviews and summarizes them into a concise format. For example, a review like "This place's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[1344] 3. Categorization
[1345] The server categorizes the summarized reviews into specific categories (e.g., "type of cuisine," "flavor characteristics").
[1346] Input: Abridged review.
[1347] Output: Summary reviews with category tags.
[1348] What it does: The server automatically assigns category tags based on relevant keywords from the summary review. For example, "Cheeseburger, Smoky Flavor" would be classified under the categories "Burger" and "Smoky."
[1349] Step 2: User profiling
[1350] 1. User Input
[1351] Users input their preferences and past review information into the system.
[1352] Input: User preferences and past reviews.
[1353] Output: User profile data.
[1354] What it does: The user uses a form through the interface to enter preferences and past reviews.
[1355] 2. Processing of User Information
[1356] The server summarizes the user's input information and past reviews, categorizes them, and stores them.
[1357] Input: User profile data.
[1358] Output: Summarized and categorized user data.
[1359] How it works: The server uses natural language processing to summarize user reviews and store them in a database by category. For example, a review such as "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1360] Step 3: Calculate the relevance score
[1361] 1. Calculating the relevance score
[1362] The server compares the user's profile with the content of each reviewer's review and calculates a compatibility score using techniques such as cosine similarity and Pearson correlation coefficient.
[1363] Input: User profile data and reviewer review content.
[1364] Output: Relevance scores for each reviewer and user.
[1365] Specific operation: The server compares the profile data of users and reviewers and calculates the similarity using an algorithm. For example, if the common categories of "User X" and "Reviewer Y" are "curry" and "spicy food," the compatibility score is calculated as 80%.
[1366] 2. Reviewer Ranking
[1367] The server lists reviewers with high relevance scores and generates a ranking.
[1368] Input: Relevance score for each reviewer.
[1369] Output: A ranking list for each reviewer.
[1370] Specific behavior: The server ranks reviewers based on their relevance scores, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%), and so on.
[1371] Step 4: Present the information
[1372] 1. Organizing information
[1373] The server collects and organizes information on products and services recommended by reviewers with high relevance scores.
[1374] Input: A list of reviewers with high relevance scores.
[1375] Output: Organized recommendations.
[1376] Specific operation: The server collects recommendations from top-ranked reviewers and formats them for presentation to users. For example, it obtains detailed information about "XX Curry Shop's Spicy Curry" recommended by reviewer A.
[1377] 2. Displaying low-rated information
[1378] The server also collects information about products and services that have been rated poorly by reviewers with high suitability scores and presents it to users.
[1379] Input: Low rating information of reviewers with high relevance scores.
[1380] Output: Organized negative reviews.
[1381] Specific operation: The server collects and prepares to display details of low-rated products that users should avoid. For example, it retrieves information about "YY Curry Shop's Mild Curry," which reviewer A gave a low rating to.
[1382] 3. Displaying Information
[1383] The terminal presents this information to the user through a user interface.
[1384] Input: Organized recommendations and dislikes.
[1385] Output: Presenting information in a form that can be viewed by the user.
[1386] Specific operation: The device displays information to the user such as "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop."
[1387] (Application example 1)
[1388] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1389] Conventional review systems require users to manually search and compare large volumes of reviews, making it difficult to quickly obtain the most appropriate information. Furthermore, reviews are not tailored to individual user preferences, making it time-consuming and labor-intensive to select the right product.
[1390] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1391] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for providing a user interface optimized for smartphones and displaying highly compatible reviews in a personalized manner, and means for performing user profiling using a generative AI model. This allows users to quickly obtain reviews that match their preferences and select the best products and services.
[1392] A "review" is a user's evaluation or opinion of a product or service.
[1393] "Reviewer" means a user who submits a review.
[1394] A "summary" is an extract of the main points of the original text and their presentation in a shortened form.
[1395] "User profiling" means analyzing and understanding a user's characteristics and preferences based on their past behavior and the information they provide.
[1396] "Categorization" means classifying collected information into specific categories.
[1397] "Relevance" is an index that shows the degree of match between the user's preferences and the reviewer's review content.
[1398] The "fit score" is a numerical representation of the fit.
[1399] A "smartphone" is a mobile phone that has mobile communication capabilities and can run a variety of applications.
[1400] "User interface" refers to the screens and operating methods that allow users to interact with a system.
[1401] A "generative AI model" is a model that uses artificial intelligence to generate and update user preferences and profiles.
[1402] The system for implementing this invention includes a server that collects and summarizes a large number of reviews, a server that profiles users' preferences, and a server that calculates relevance scores. Finally, it has a means for organizing this information and presenting it to a user terminal.
[1403] Collecting and summarizing reviews
[1404] The server retrieves reviews from multiple sources through web scraping and API communication. The retrieved reviews are summarized using natural language processing technology. Specifically, key information is extracted from the original review text and recorded in a shortened form. The collected reviews are classified into different categories, and summaries are maintained for each category.
[1405] User Profiling
[1406] The server collects user past reviews and preference data and creates a user profile based on this, using a generative AI model to understand the user's interests and preferences.
[1407] Calculating the relevance score
[1408] The server compares each reviewer's review content with the user's profile to calculate a relevance score. Mathematical methods such as cosine similarity and Pearson correlation coefficient are used for this calculation. Reviewers with high relevance scores are prioritized and a ranking is generated. Information on reviewers at the top of the ranking is provided more prominently.
[1409] Presentation of information
[1410] The server organizes information on products and stores recommended by reviewers with high relevance scores and presents it in a user interface optimized for the user's smartphone. At the same time, it also provides information on products and stores that reviewers with high relevance scores have rated poorly. This allows users to obtain both information that interests them and information that they should avoid, enabling them to quickly make the best choice.
[1411] Hardware and software used
[1412] Hardware: Smartphones, servers
[1413] Software: Python, Scikit-learn, TfidfVectorizer, Cosine Similarity, API communication library (Requests), web scraping tool, natural language processing technology
[1414] Specific examples
[1415] For example, if a user mentions in their profile that they like spicy food, especially curry, the system first searches for reviewers with similar preferences. Generative AI models are used to create and update profiles, and reviews are presented based on a relevance score.
[1416] Prompt Sentence Examples
[1417] User profile: "I like spicy food, especially curry."
[1418] The server collects and summarizes reviews, calculates a relevance score based on the profile, and presents the reviews in a smartphone-optimized interface:
[1419] 1. Product: Spicy Indian Curry, Summary: This curry is exceptionally spicy and contains a rich mix of various spices..., Score: 0.85
[1420] 2. Product: Thai Red Curry, Summary: If you love spicy food, this Thai Red Curry will be a delight. It is bursting with flavors..., Score: 0.80
[1421] 3. Product: Hot and Spicy Chicken Wings, Summary: These chicken wings are extremely spicy with a smoky undertone that enhances the flavor..., Score: 0.75
[1422] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1423] Step 1:
[1424] The server collects reviews from multiple review sources. As input, it receives raw data from review sites and online shopping platforms. The server retrieves this data using a web scraping tool or an API communication library (Requests). As output, it receives a list of collected raw reviews.
[1425] Step 2:
[1426] The server summarizes the collected reviews using natural language processing techniques. As input, it has the raw review list collected in step 1. The server uses natural language processing techniques to extract the main points of each review and convert them into a shortened form. Specifically, it uses Scikit-learn's TfidfVectorizer to generate the summary. As output, it obtains a summarized review list.
[1427] Step 3:
[1428] The server classifies the summarized reviews into specific categories. As input, it has the list of reviews summarized in step 2. The server classifies each review into a category, such as "product category" or "rating content." As output, it gets a list of reviews organized by category.
[1429] Step 4:
[1430] Users input their preferences and past review information into the system. The input includes user preference information and past reviews. The output is a user profile.
[1431] Step 5:
[1432] The server creates a user profile using a generative AI model. The input is the user preferences and past review information obtained in step 4. The server uses the generative AI model to analyze this as textual data and profile the user's characteristics. The output is the generated user profile.
[1433] Step 6:
[1434] The server compares the review content of each reviewer with the user profile and calculates a relevance score. The inputs are the review list organized in step 3 and the user profile generated in step 5. The server scores the relevance between the review content and the user profile using a calculation method such as cosine similarity. The output is a relevance score for each reviewer.
[1435] Step 7:
[1436] The server organizes information about products and stores recommended by reviewers with high relevance scores and provides it to the user's device. The inputs are the relevance scores obtained in step 6 and a list of reviews. The server sorts the reviews based on the relevance scores and presents them to the user using an interface optimized for smartphones. The output is a personalized list of reviews that is displayed to the user.
[1437] Step 8:
[1438] The server also provides the user with information on products and stores that have been poorly rated by reviewers with high relevance scores. The input is information on products that have been poorly rated by reviewers whose relevance scores were calculated in step 6. The server organizes this information and presents it to the user in an interface that is also optimized for smartphones. The output is a list of products and stores that should be avoided.
[1439] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1440] System Overview
[1441] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[1442] Program Overview
[1443] The system operates based on the following main steps:
[1444] 1. Collecting and summarizing reviews
[1445] 2. User profiling
[1446] 3. Calculating the relevance score
[1447] 4. Emotion analysis using an emotion engine
[1448] 5. Presentation of Information
[1449] Program processing flow
[1450] Step 1: Collect and summarize reviews
[1451] 1. The server collects review information from multiple review sources, including web scraping and API usage, such as obtaining data from review sites and online shopping sites.
[1452] 2. The server summarizes the collected review information using natural language processing (NLP) technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review written by a reviewer saying, "This restaurant's cheeseburger is amazing! The smoky flavor is irresistible," can be summarized as "Cheeseburger, smoky flavor."
[1453] 3. The server classifies the summarized review into a specific category using topic modeling and clustering techniques. For example, if the summary is "Cheeseburger, Smoky Flavor," it will be classified into the categories "Burger" and "Smoky."
[1454] Step 2: User profiling
[1455] 1. A user enters their preferences and past review information into the system. For example, they might enter, "I like spicy food, and curry is my favorite."
[1456] 2. The server summarizes the preferences and past review information entered by the user and stores them in categories. Specifically, the user review "This curry was spicy and had the perfect balance of spices" is summarized as "Spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1457] Step 3: Calculate the relevance score
[1458] 1. The server compares each reviewer's review content with the user's profile and calculates a relevance score. This calculation uses methods such as cosine similarity or Pearson correlation coefficient. For example, a relevance score of 80% is calculated based on the common categories "curry" and "spicy food."
[1459] 2. The server lists the reviewers with the highest relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[1460] Step 4: Sentiment analysis using the emotion engine
[1461] 1. The server uses an emotion engine to analyze the user's input information and past reviews to determine their emotions and update the user profile. For example, if a user inputs "I feel sad today," the emotion engine will analyze this and determine the emotion as "sadness."
[1462] 2. The server takes into account the user's emotional information when calculating the relevance score and adjusts the score accordingly. For example, if the user is "irritated," it will increase the relevance of products and services that are effective for relaxation.
[1463] Step 5: Present your information
[1464] 1. The server retrieves and organizes information about products and stores recommended by reviewers with high relevance scores. For example, it retrieves "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1465] 2. The server also retrieves and organizes information about products and stores that reviewers with high relevance scores have rated poorly. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[1466] 3. The device presents this information to the user through the user interface. Specifically, it displays "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" and "Products rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommended information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize reviews of products with a relaxing effect.
[1467] Specific examples
[1468] For example, if a user types "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Furthermore, if a user has set their preference to "spicy food, especially curry," the system will prioritize highly rated items, such as "almond milk soup," which has a relaxing effect, taking into account their emotional state. Meanwhile, it will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[1469] In this way, the system takes into account the user's preferences and emotional state to provide the most appropriate review information, improving the user experience. The specific code and algorithms are implemented based on the steps above, allowing users to quickly and accurately obtain information that best suits their preferences.
[1470] The processing flow will be explained below.
[1471] Step 1:
[1472] The server collects review information from multiple review sources, including web scraping and API integration, such as retrieving the latest reviews from major review sites and online shopping platforms.
[1473] Step 2:
[1474] The server analyzes and summarizes the collected reviews using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[1475] Step 3:
[1476] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. For example, the summary "Cheeseburger, Smoky Flavor" can be classified into the categories "Burger" and "Smoky."
[1477] Step 4:
[1478] A user logs into the system and enters their preferences and past review information. For example, they might enter, "I like spicy food, and curry is my favorite."
[1479] Step 5:
[1480] The server uses natural language processing technology to summarize the information entered by the user and categorize it. For example, "This curry was spicy and had the perfect balance of spices" can be summarized as "spicy curry, perfect balance of spices" and classified into the categories "curry" and "spicy."
[1481] Step 6:
[1482] The server compares the content of each reviewer's review with the user's profile and calculates a compatibility score. The compatibility score is calculated using cosine similarity or Pearson correlation coefficient. For example, based on the common items "curry" and "spicy food," the compatibility score is calculated as 80%.
[1483] Step 7:
[1484] The server lists reviewers with high relevance scores and generates a ranking, for example, Reviewer A (relevance 85%), Reviewer B (relevance 80%).
[1485] Step 8:
[1486] The server acquires and organizes information about products and stores recommended by top-ranked reviewers. For example, it acquires "Spicy Curry from XX Curry Shop" recommended by reviewer A.
[1487] Step 9:
[1488] The server also retrieves and organizes information about products and stores that have been rated poorly by top-ranked reviewers. For example, it retrieves "YY Curry Shop's Mild Curry," which reviewer A rated poorly.
[1489] Step 10:
[1490] The user inputs their current emotional state, for example, "I feel sad today."
[1491] Step 11:
[1492] The server uses an emotion engine to analyze the user's emotion and update the user profile based on the emotion, for example, analyzing the emotion "sadness" from an input such as "I feel sad today."
[1493] Step 12:
[1494] The server takes into account the user's emotional information when calculating the relevance score and adjusts the relevance score accordingly. For example, it increases the relevance of products that have a relaxing effect for the emotional state "sadness."
[1495] Step 13:
[1496] The server presents dynamically adjusted information based on the user's emotions to the user's device. For example, it might display "Recommended review for you: Reviewer A's spicy curry from XX Curry Shop" or "Reviewer A's low rating: Mild curry from YY Curry Shop," and prioritize reviews of products with a relaxing effect.
[1497] Specific examples
[1498] If a user logs into the system and enters in their profile that they like "spicy food, especially curry," and then adds, "I'm feeling sad today," the system will use its emotion engine to recognize this as "sadness." Taking their emotional state into consideration, the system will prioritize and suggest reviews of products with a relaxing effect (e.g., relaxing herbal tea). Based on the user's preferences, information such as "Spicy Curry from XX Curry Shop," recommended by reviewer A, will also be displayed. This allows users to obtain product information that best suits their emotional state.
[1499] Example 2
[1500] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1501] There is a problem that the internet contains countless reviews, making it difficult for users to efficiently find the information that best suits them. Furthermore, since the recommended information changes depending on the user's emotional state, there is a need to dynamically provide appropriate review information according to the user's emotional state. Existing systems do not sufficiently take user emotions into account when making recommendations, so an improvement in the user experience is necessary.
[1502] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1503] In this invention, the server includes means for collecting reviews from multiple information sources and summarizing them for each reviewer, means for summarizing and categorizing the user's past reviews and preferences, means for comparing the review content of each reviewer with the user's preferences to calculate compatibility and generating a ranking using the compatibility score, means for analyzing the user's emotions using an emotion engine and updating the user's profile based on the analysis results, and means for organizing information on products and stores that are most suitable for the user, taking into account the compatibility score and the emotion analysis results, and presenting recommended information to the user's terminal. This makes it possible to quickly and accurately provide optimal review information based on the user's preferences and emotional state.
[1504] "Sources" refers to internet review sites, online shopping sites, and any other websites or APIs that provide data.
[1505] A "review" is a rating or opinion written by a user about a product or service.
[1506] "Reviewer" means a user who submits a review.
[1507] A "summary" is a short summary of the main points of a review.
[1508] "Natural language processing technology" is a general term for technologies that understand, generate, summarize, etc. text data.
[1509] "Categorization" refers to the process of classifying summarized reviews into specific categories.
[1510] "User Profile" refers to individual information about a user, including past reviews, preferences, and emotional state.
[1511] The "relevance score" is the degree of match calculated by comparing the content of each reviewer's review with the user's preferences and profile.
[1512] A "ranking" is a ranked list of reviewers and products based on their relevance scores.
[1513] An "emotion engine" refers to a technology or system for analyzing emotions from user input information and past review information.
[1514] "Sentiment analysis" refers to the process of using an emotion engine to determine a user's emotional state.
[1515] "Recommendations" are information about products and services suggested to users based on their user profile and emotional state.
[1516] This system extracts information that users should read from a large amount of review information and presents only reviews that match the user's preferences. Furthermore, by incorporating an emotion engine that recognizes the user's emotions, it provides recommended information based on the user's emotional state.
[1517] System configuration
[1518] The system of the present invention consists of the following main components:
[1519] 1. Server
[1520] Data Collection Module: Collect reviews from multiple sources.
[1521] Natural Language Processing (NLP) module: Summarizes and categorizes collected reviews.
[1522] User profile module: Creates and stores a profile based on user input.
[1523] Relevance calculation module: Calculates relevance by comparing the review content of each reviewer with the user's preferences.
[1524] Emotion engine: Analyzes user emotions and updates their profile.
[1525] Recommendation generation module: Generates recommendations based on relevance and sentiment information.
[1526] 2. Terminal
[1527] User Interface: Presents a screen for the user to enter information and receive recommendations from the server.
[1528] Hardware and Software
[1529] The server uses a computer with high-performance processing capabilities. For example, virtual servers from Amazon EC2 or Google Cloud can be used. Generative AI models such as BERT and GPT are used as natural language processing technologies. The emotion engine can use the Sentiment Analysis API or a proprietary emotion analysis model. The database uses a common relational database such as MySQL or PostgreSQL.
[1530] Program processing flow
[1531] 1. Collecting and summarizing reviews
[1532] The server uses web scraping technology and APIs to collect reviews from multiple sources, thereby obtaining comprehensive review information.
[1533] The collected reviews are summarized using natural language processing (NLP) technology. For example, a review such as "This restaurant's cheeseburger is amazing! I can't get enough of the smoky flavor" can be summarized as "Cheeseburger, smoky flavor."
[1534] 2. User profiling
[1535] Users input their preferences and past review information into the system, for example, "I like spicy food, and curry is my favorite."
[1536] The server summarizes, categorizes, and stores the information entered.
[1537] 3. Calculating the relevance score
[1538] The server compares each reviewer's review content with the user's profile and calculates a relevance score. For example, if reviewer A's review matches the user's preferences 80%, the server sets the relevance score to 80%.
[1539] The server generates a ranking of reviewers based on their relevance scores.
[1540] 4. Emotion analysis using an emotion engine
[1541] The server analyzes emotions based on the user's input and past reviews. For example, if a user writes, "I feel sad today," the emotion engine will interpret this as "sadness."
[1542] The server updates the user profile based on the analysis results and adjusts the relevance score.
[1543] 5. Presentation of Information
[1544] The server takes into account the relevance score and the results of sentiment analysis to organize information on products and stores that are most suitable for the user.
[1545] The device will present this information to the user through a user interface, such as "Recommended review for you: Reviewer A's spicy curry" or "Product that Reviewer A rated poorly: YY Curry Shop's mild curry."
[1546] Specific examples
[1547] For example, suppose a user inputs "I'm feeling sad today" into the system. The server uses an emotion engine to analyze this input and identify it as "sadness." At the same time, if the user's profile also includes a preference for "spicy food, especially curry," the system will take into account the results of the emotion analysis and prioritize highly rated reviews for dishes such as "almond milk soup," which has a relaxing effect. It will also display that "YY Curry Shop's mild curry" has a low rating, providing users with a reference for items they should avoid.
[1548] In this way, by simultaneously considering the user's preferences and emotional state, this system can provide the user with the most appropriate review information, thereby aiming to improve the user experience.
[1549] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1550] Step 1: Collect and summarize reviews
[1551] The server collects reviews from multiple sources. This can involve using web scraping techniques or APIs. It takes source URLs or API endpoints as input and gets the collected raw data as output. For example, it can get data from review sites or online shopping sites.
[1552] The review information collected by the server is summarized using natural language processing (NLP) technology. Specifically, an NLP engine (e.g., BERT, GPT) is used to extract the main points of the review and summarize them into short sentences. Raw data is received as input, and a summarized review is obtained as output. For example, a reviewer's review saying "This restaurant's cheeseburger is great! The smoky flavor is irresistible" is summarized as "Cheeseburger, smoky flavor."
[1553] The server classifies the summarized reviews into specific categories using topic modeling and clustering techniques. It receives the summarized reviews as input and gets the categorized reviews as output. For example, it classifies "Cheeseburger, Smoky Flavor" into "Burger" and "Smoky."
[1554] Step 2: User profiling
[1555] The user inputs their preferences and past review information into the system. For example, they might input, "I like spicy food, and curry is my favorite." The system receives the user's preferences and review information as input.
[1556] The server uses natural language processing technology to summarize, categorize, and store the input information. It then converts it into a format that is easy to store in a database. It receives user preferences and review information as input, and obtains a summarized and categorized user profile as output. For example, a review that says, "This curry was spicy and had the perfect balance of spices" is summarized as "spicy curry, perfect balance of spices" and classified as "curry" and "spicy."
[1557] Step 3: Calculate the relevance score
[1558] The server compares each reviewer's review content with the user's profile and calculates a relevance score. It uses algorithms such as cosine similarity and Pearson correlation coefficient. It receives the reviewer's review content and the user profile as input and obtains a relevance score as output. For example, a relevance score is calculated based on the common categories "curry" and "spicy food" and is set to 80%.
[1559] The server generates a ranking of reviewers based on their relevance scores. It receives the relevance scores as input and gets the reviewer rankings as output. For example, it lists reviewer A with a relevance of 85%, reviewer B with a relevance of 80%, and so on.
[1560] Step 4: Emotion analysis using the emotion engine
[1561] The server analyzes the user's emotions based on their input and past reviews. For example, if the user inputs "I feel sad today," it analyzes this using an emotion engine (e.g., Sentiment Analysis API) and determines the emotion as "sad." The input receives text indicating the user's emotional state, and the output is the analyzed emotional information.
[1562] The server reflects the user's emotional information when calculating the relevance score. The user profile is updated based on the emotion analysis results and reflected in the relevance score. For example, if the user is "irritated," adjustments are made such as increasing the relevance score for products and services that are effective for relaxation. The emotion analysis results and user profile are received as input, and an updated relevance score is obtained as output.
[1563] Step 5: Present the information
[1564] The server organizes information on products and stores that are best suited to the user based on the relevance score and the results of sentiment analysis. It receives the relevance score and the results of sentiment analysis as input and obtains organized recommended information as output.
[1565] The device presents this recommendation information to the user through a user interface. For example, it might display "Recommended review for you: Reviewer A's spicy curry" or "Product rated poorly by Reviewer A: Mild curry from YY Curry Shop." It also dynamically adjusts the recommendation information based on the user's emotional state. For example, if the user is "feeling stressed," it will prioritize showing reviews of products with a relaxing effect. It receives organized recommendation information as input and obtains recommendation information to be displayed to the user as output.
[1566] (Application example 2)
[1567] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1568] Conventional review systems simply provide a large amount of review information, making it difficult for users to efficiently find review information that matches their preferences and emotions. Furthermore, there is no recommendation system that takes into account the user's emotional state, making it difficult for users to find content that best suits their mood at the time. This leads to issues such as a poor user experience and a long time required to obtain information.
[1569] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1570] In this invention, the server includes means for collecting numerous reviews and summarizing them for each reviewer, means for summarizing and categorizing users' past reviews and preferences, means for calculating compatibility by comparing the content of each reviewer's review with the user's preferences, means for presenting information on products and stores recommended by highly compatible reviewers to the user's terminal, and means for analyzing the user's emotions and presenting recommended information based on those emotions. This allows users to quickly obtain optimal review information and content based not only on their preferences but also on their emotional state.
[1571] A "review" is a general term for text posted by a user that contains their evaluation or opinion of a specific product or service.
[1572] A "summary" is a concise summary of long review information that has been shortened and the main points and gist of the information have been extracted.
[1573] "User" refers to anyone who uses the system to view reviews and register their preferences and emotional state.
[1574] "Relevance" is an index that indicates the degree of match between the user's preferences and emotional state and the content of each reviewer's review.
[1575] "Sentiment analysis" is the process of using an emotion engine to determine a user's emotional state based on their input and past reviews.
[1576] "Recommendations" are information about products and services selected based on a user's preferences and emotional state.
[1577] "Server" is a general term for the computer that processes data for the entire system and collects, summarizes, and classifies review information.
[1578] "Natural language processing technology" is a technology that processes and analyzes natural language used by humans on a computer.
[1579] "User device" refers to an electronic device used by a user, such as a smartphone or smart glasses.
[1580] "Content" is a general term for information that can be enjoyed visually or aurally, such as movies, dramas, and music.
[1581] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention is a system for collecting a large amount of review information and providing recommended information based on the preferences and emotional state of a user.
[1582] The system utilizes the following hardware and software:
[1583] Hardware
[1584] server
[1585] User devices (smartphones, smart glasses)
[1586] software
[1587] Natural language processing technology (TextBlob library)
[1588] API communication (requests library)
[1589] Database (The Movie Database API)
[1590] The server collects review information from multiple review sources and summarizes and categorizes them using natural language processing technology. Specifically, it extracts the main points of the review and summarizes them into short sentences. For example, a review that says "This movie was so moving I couldn't stop crying" can be summarized as "A moving movie."
[1591] Next, the user enters their emotions and preferences into the system. The server analyzes the emotions from the user's input information and past reviews and updates the user profile. For emotion analysis, the TextBlob library is used to analyze the emotions of the input text and classify it as "happy," "sad," or "neutral." For example, if a user enters "I'm feeling a little gloomy today," the emotion engine will determine this as "sad."
[1592] The server then considers the user's emotional state and presents content recommended by reviewers with the highest relevance to the user's device. For example, if the user is judged to be "sad," it will recommend content suitable for relaxation and a change of mood. Using the Movie Database API, it retrieves movies and TV shows from emotion-based genres and generates a list of recommended content.
[1593] The user's device will display the recommended content on the interface. For example, it may display "Movies recommended for you: XX inspiring movies," and the user can select the content. Furthermore, the system dynamically adjusts the recommended content based on emotional information. For example, if the user inputs "I'm feeling stressed," it will prioritize content that is effective in reducing stress.
[1594] For example, if a user types "I'm feeling a little depressed today," the emotion engine will recognize it as "sad." Taking the user's emotional state into consideration, the system will recommend movies with a relaxing effect from the drama genre. For example, it will display "Movies recommended for you: Relaxing movies."
[1595] An example prompt would be of the form:
[1596] "User said: 'I'm feeling a bit depressed today'"
[1597] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1598] Step 1:
[1599] The server collects review information from multiple review sources. Specifically, it uses web scraping and APIs to obtain user ratings and opinions on products and services. The input requires the URL and API key of the review site or online shopping site, and the output is the text data of the retrieved review information.
[1600] Step 2:
[1601] The server uses natural language processing technology to summarize and categorize the collected review information. Specifically, it uses the TextBlob library to analyze the review text, extract the main points, and summarize them into short sentences. For example, a review that says "This movie was so moving, I couldn't stop crying" can be summarized as "A moving movie." The input requires the text data of the acquired review information, and the output is the text data of the summarized review information.
[1602] Step 3:
[1603] Users input their preferences, past review information, and current emotional state into the system. For example, they input information such as "I'm feeling a little depressed today" or "I like moving movies." The input requires the user's text data, and the output is the user's profile information.
[1604] Step 4:
[1605] The server analyzes emotions from user input and past review information and updates the user profile. Specifically, it uses the TextBlob library to analyze the emotions of input sentences and classify them into "happy," "sad," and "neutral." For example, it analyzes the input "I'm a little depressed today" and outputs the emotional state "sad."
[1606] Step 5:
[1607] The server compares each reviewer's review content with the user's preferences to calculate the degree of compatibility. Specifically, it calculates the degree of match with the user's profile using methods such as cosine similarity and Pearson correlation coefficient. The input requires the user's profile information and the reviewer's review information, and the output is a compatibility score.
[1608] Step 6:
[1609] The server retrieves and organizes information about products and content recommended by reviewers with high relevance scores. For example, it uses The Movie Database API to retrieve movies from genres that match the emotional state and creates a list. The inputs are the relevance score and the emotional state, and the output is a list of recommended products and content.
[1610] Step 7:
[1611] The server also retrieves and organizes information about products and stores that have been poorly rated by reviewers with high relevance. For example, it retrieves information about movies that have been poorly rated using The Movie Database API. The input requires a relevance score, and the output is a list of low-rated products and content.
[1612] Step 8:
[1613] The device displays recommended products and content, as well as information on low-rated products and content to avoid, through a user interface. Specifically, it displays "Movies Recommended for You: Relaxing Movies" on the screen and allows the user to select. A list of recommended information is required as input, and the user's screen display is obtained as output.
[1614] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1615] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1616] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1617] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1618] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1619] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1620] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1621] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1622] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1623] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1624] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1625] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1626] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1627] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1628] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1629] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1630] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1631] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1632] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1633] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1634] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1635] The following is further disclosed regarding the above embodiment.
[1636] (Claim 1)
[1637] A method for collecting and summarizing a large number of reviews by each reviewer,
[1638] A means of summarizing and categorizing users' past reviews and preferences;
[1639] A method for calculating the degree of compatibility by comparing the content of each reviewer's review with the user's preferences;
[1640] A method to present information on products and stores recommended by highly relevant reviewers to users' devices,
[1641] A system including:
[1642] (Claim 2)
[1643] The system according to claim 1, further comprising means for presenting information on products or stores that have been rated poorly by reviewers with high suitability.
[1644] (Claim 3)
[1645] 10. The system of claim 1, further comprising means for summarizing and categorizing reviews using natural language processing techniques.
[1646] "Example 1"
[1647] (Claim 1)
[1648] A method for collecting and summarizing a large number of reviews by each reviewer,
[1649] A means of summarizing and categorizing users' past reviews and preferences;
[1650] A method for calculating the degree of compatibility by comparing the content of each reviewer's review with the user's preferences;
[1651] A means for presenting information on products and services recommended by highly suitable reviewers to a user terminal;
[1652] a means for inputting preferences from the user via the terminal;
[1653] a means for calculating a relevance score and generating a ranking of reviewers;
[1654] A system including:
[1655] (Claim 2)
[1656] The system of claim 1, further comprising means for presenting information about products or services that have been poorly rated by highly relevant reviewers.
[1657] (Claim 3)
[1658] 10. The system of claim 1, further comprising means for summarizing and categorizing reviews using natural language processing techniques.
[1659] "Application Example 1"
[1660] (Claim 1)
[1661] A method for collecting and summarizing a large number of reviews by each reviewer,
[1662] A means of summarizing and categorizing users' past reviews and preferences;
[1663] A method for calculating the degree of compatibility by comparing the content of each reviewer's review with the user's preferences;
[1664] A method to present information on products and stores recommended by highly relevant reviewers to users' devices,
[1665] A means for providing a user interface optimized for smartphones and displaying highly relevant reviews in a personalized manner;
[1666] a means for performing user profiling using a generative AI model; and
[1667] A system including:
[1668] (Claim 2)
[1669] The system according to claim 1, further comprising means for presenting information on products or stores that have been rated poorly by reviewers with high suitability.
[1670] (Claim 3)
[1671] 10. The system of claim 1, further comprising means for summarizing and categorizing reviews using natural language processing techniques.
[1672] "Example 2: Combining Emotion Engines"
[1673] (Claim 1)
[1674] A means of collecting reviews from multiple sources and summarizing them for each reviewer;
[1675] A means of summarizing and categorizing users' past reviews and preferences;
[1676] A method for calculating the relevance of each reviewer's review by comparing it with user preferences, and generating a ranking using the relevance score;
[1677] A means for analyzing a user's emotions using an emotion engine and updating the user's profile based on the analysis results;
[1678] Taking into account the relevance score and the results of sentiment analysis, we organize information on products and stores that are most suitable for the user and present recommended information to the user's device.
[1679] A system including:
[1680] (Claim 2)
[1681] The system according to claim 1, further comprising means for presenting information on products or stores that have been rated poorly by reviewers with high suitability.
[1682] (Claim 3)
[1683] 10. The system of claim 1, further comprising means for summarizing and categorizing reviews using natural language processing techniques and calculating user and reviewer compatibility scores.
[1684] "Application example 2 when combining emotion engines"
[1685] (Claim 1)
[1686] A method for collecting and summarizing a large number of reviews by each reviewer,
[1687] A means of summarizing and categorizing users' past reviews and preferences;
[1688] A method for calculating the degree of compatibility by comparing the content of each reviewer's review with the user's preferences;
[1689] A method to present information on products and stores recommended by highly relevant reviewers to users' devices,
[1690] A means for analyzing user emotions and presenting recommendations based on those emotions;
[1691] A system including:
[1692] (Claim 2)
[1693] The system according to claim 1, further comprising means for presenting information on products or stores that have been rated poorly by reviewers with high suitability.
[1694] (Claim 3)
[1695] 10. The system of claim 1, further comprising means for summarizing and categorizing reviews using natural language processing techniques.
[1696] (Claim 4)
[1697] 10. The system of claim 1, further comprising means for analyzing sentiment from user input or past reviews.
[1698] (Claim 5)
[1699] 5. The system of claim 4, further comprising means for recommending content that matches the user's preferences based on the affective information. [Explanation of symbols]
[1700] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A method for collecting and summarizing a large number of reviews by each reviewer, A means of summarizing and categorizing users' past reviews and preferences; A method for calculating the degree of compatibility by comparing the content of each reviewer's review with the user's preferences; A method to present information on products and stores recommended by highly relevant reviewers to users' devices, A system including:
2. The system according to claim 1, further comprising means for presenting information on products and stores that have been rated poorly by reviewers with high suitability.
3. The system of claim 1 , further comprising means for summarizing and categorizing reviews using natural language processing techniques.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A