System
The system addresses the challenge of overwhelming product selection by efficiently narrowing down choices based on user needs and learning from feedback, enhancing satisfaction and accuracy over time.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Consumers face a time-consuming and stressful process when selecting products due to numerous options, leading to decreased satisfaction and a sense of burden, as existing systems fail to efficiently narrow down choices based on user needs and improve over time.
A system that collects candidate options from multiple internet sources, evaluates and scores them based on user needs, presents the top choices, and learns from user feedback to improve accuracy in subsequent suggestions.
Reduces the time and effort required for selection, enhances user satisfaction by providing highly relevant options, and continuously improves recommendations through feedback-based learning.
Smart Images

Figure 2026036213000001_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] In modern society, consumers have dozens or even hundreds of options for each product category, which often results in the time-consuming, effort-intensive, and stressful process of selecting the best option. This can lead to a decrease in satisfaction with the final choice, posing a problem. Furthermore, when there are too many options, comparing each option can lead to regret or a sense of loss, making the act of choice itself a burden. There is a need to simplify this selection process and thereby improve satisfaction with the choice process. [Means for solving the problem]
[0005] The present invention is a system that includes a means for inputting a user's needs and conditions, a means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions, a means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best suit the needs and conditions, a means for presenting the narrowed down options to the user, and a means for receiving feedback from the user and learning to improve the accuracy of suggestions next time. This system can reduce the time and effort required for the user's selection process and increase the satisfaction of the selection behavior.
[0006] "User" refers to an individual who uses this system to select products or services.
[0007] "Needs" refers to specific conditions or requirements such as functionality, performance, budget, etc. that users look for when selecting a product.
[0008] "Conditions" refer to specific characteristics or constraints (e.g., upper price limit, presence or absence of specific functions) that serve as selection criteria for the product or service desired by the user.
[0009] "Means" refers to the specific methods, devices, and software that this system uses to realize each function, such as selection, collection, evaluation, presentation, and learning.
[0010] "Multiple sources on the Internet" refers to online platforms such as review sites, official product pages, online shops, and databases.
[0011] "Candidate options" refers to a plurality of candidate entries for goods and services collected from the Internet based on the user's needs and requirements.
[0012] "Evaluation" refers to the process of determining how well each entry in the candidate options fits the user's needs and requirements.
[0013] "Scoring" refers to the process of expressing evaluation results numerically and making them comparable.
[0014] "Presentation" refers to the process of displaying the selected options, resulting from the evaluation and scoring, to the user in visual or textual form.
[0015] "Feedback" refers to information such as opinions, usability, and selection results provided by users regarding selected options.
[0016] "Learning" refers to the process by which the system uses feedback to modify and adjust its algorithms to improve accuracy. [Brief explanation of the drawings]
[0017] [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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required in the process, and a specific implementation method thereof will be described below.
[0039] System Overview
[0040] When a user selects a product or service through a terminal, the user inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to assist the selection process.
[0041] Explanation of program processing
[0042] ---
[0043] User needs input
[0044] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0045] ---
[0046] Sending data
[0047] 2. The terminal converts the input data into JSON format and sends it to the server.
[0048] ---
[0049] Gathering information and identifying options
[0050] 3. Based on the data received by the server, it collects related product information from reliable sources on the Internet (such as review sites and official product pages).
[0051] 4. The server organizes the collected information and lists candidate options that meet the user's criteria. At this point, for example, 30 smartwatches are listed as candidates.
[0052] ---
[0053] Narrowing down your options
[0054] 5. The server runs the candidate options through an evaluation algorithm and scores the advantages and disadvantages of each.
[0055] 6. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best fit the user's needs and requirements. For example, the top 5 options are selected based on health management features, waterproof performance, and price.
[0056] ---
[0057] Presenting options
[0058] 7. The server prepares the information about the selected options and sends it to the terminal in JSON format.
[0059] 8. The device displays the options to the user, including the features, price, pros and cons of each option.
[0060] ---
[0061] Feedback collection
[0062] 9. The user selects one of the options presented and enters and submits their feedback to the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0063] ---
[0064] Learning Feedback
[0065] 10. The server uses the received feedback to perform a learning process to improve the accuracy of the next suggestion, using machine learning algorithms to analyze user trends.
[0066] ---
[0067] Specific examples
[0068] Below is an example of actual usage.
[0069] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0070] 2. Terminal: Sends the user's input data to the server.
[0071] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0072] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0073] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0074] 6. User: Purchase the third smartwatch and provide feedback on your experience.
[0075] 7. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0076] This invention allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[0077] The processing flow will be explained below.
[0078] Step 1:
[0079] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0080] Step 2:
[0081] The terminal converts the input data into JSON format and prepares it for sending to the server.
[0082] Step 3:
[0083] The device sends the user input data to the server via the API endpoint.
[0084] Step 4:
[0085] The server receives data from the user via the API.
[0086] Step 5:
[0087] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0088] Step 6:
[0089] The server stores the collected information in a database and organizes detailed information for each product.
[0090] Step 7:
[0091] The server will list 30 potential products based on the user's needs and criteria.
[0092] Step 8:
[0093] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0094] Step 9:
[0095] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[0096] Step 10:
[0097] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0098] Step 11:
[0099] The server transmits information about the selected option to the terminal.
[0100] Step 12:
[0101] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0102] Step 13:
[0103] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0104] Step 14:
[0105] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[0106] Step 15:
[0107] The device sends feedback data to the server via the API.
[0108] Step 16:
[0109] The server receives the feedback data from the terminal.
[0110] Step 17:
[0111] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[0112] This allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[0113] Example 1
[0114] 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."
[0115] The present invention aims to reduce the effort and time required for users to find the appropriate option from a vast amount of information when selecting a product or service. In particular, it aims to efficiently present optimal options based on the user's needs and conditions, thereby increasing user satisfaction. In addition, it is necessary to continuously improve the user experience by efficiently collecting feedback from users and improving the accuracy of suggestions for the next time.
[0116] 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.
[0117] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; means for presenting the narrowed options to the user; means for receiving feedback from the user and learning to improve the accuracy of subsequent suggestions; means for converting the user's needs and conditions into JSON format and transmitting it; and a server for interpreting the received JSON data, collecting data from information sources, narrowing down the options by evaluating and scoring, presenting the results, and collecting and learning from feedback. This reduces the effort and time required for users to select products and services, enabling them to make more satisfying choices. Furthermore, by utilizing user feedback to improve the accuracy of subsequent suggestions, the user experience can be continuously improved.
[0118] "Needs" are the requests or demands that users have for specific products or services.
[0119] "Conditions" refer to specific criteria or constraints that a user considers when selecting a product or service.
[0120] "Means" are technical devices or methods used to achieve a specific purpose.
[0121] "Multiple sources on the internet" refers to reliable sources of information such as websites, online databases, and APIs.
[0122] "Candidate Options" refers to a list of potential products and services that are compiled based on the user's needs and requirements.
[0123] "Evaluation" refers to the process of analyzing the merits and demerits of the collected candidate options and evaluating them quantitatively or qualitatively.
[0124] "Scoring" refers to the process of assigning points to each candidate option based on the evaluation results.
[0125] "1 to 7 choices" refers to the 1 to 7 products or services that are most suitable as a result of the evaluation and scoring.
[0126] "Presentation" refers to the process of displaying the results of the evaluation and scoring to the user.
[0127] "Feedback" refers to the opinions and experiences users provide about the options presented to them.
[0128] "Learning" refers to the machine learning process of accumulating collected feedback as data to improve the accuracy of the next proposal.
[0129] "JSON format" refers to a lightweight data exchange format for describing data in a structured way.
[0130] "Transmit" refers to the act of transferring data or information from one point to another.
[0131] "Interpretation" refers to the process of understanding received data or information and converting it into a processable form.
[0132] "Server" refers to a computer system for data processing, storage, and network communication.
[0133] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required for that process. How the invention can be put into practice will be described below.
[0134] System hardware and software configuration
[0135] The system is configured so that when a user selects a product or service through a terminal, they input their needs and conditions, and the server collects, evaluates, scores, presents, and learns from the feedback.
[0136] Hardware:
[0137] User's device (smartphone, tablet, PC, etc.)
[0138] Servers (high-performance computers and cloud servers)
[0139] software:
[0140] Application (interface for inputting user needs and requirements)
[0141] Web crawling tools (e.g., Scrapy) or API access tools (e.g., Postman)
[0142] Machine learning models (e.g., random forests, linear regression)
[0143] Database (e.g., MySQL (registered trademark), MongoDB)
[0144] Data sending and receiving function using communication protocols (e.g. HTTP / HTTPS)
[0145] System Operation Overview
[0146] User behavior:
[0147] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase, such as "I want a new smartwatch with health management features" and "My budget is under 30,000 yen."
[0148] On the device side:
[0149] The terminal converts the input data into JSON format and sends it to the server.
[0150] Server side behavior:
[0151] 1. Based on the data received, the server collects related product information from reliable sources on the Internet. The server collects data using web crawling tools and APIs.
[0152] 2. The server organizes the collected information and lists candidate options that meet the user's criteria.
[0153] 3. The server runs the candidate options through an evaluation algorithm to score the pros and cons of each option, using machine learning models or linear regression.
[0154] 4. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best suit the user's needs and criteria.
[0155] 5. The server sends the selected option information to the terminal in JSON format.
[0156] On the device side:
[0157] The device displays information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0158] Feedback processing:
[0159] The user selects one of the options presented and then enters and submits feedback to the app. The server uses the received feedback to perform a learning process and improve the accuracy of the next suggestion. During this process, a machine learning algorithm is used to analyze user trends.
[0160] Specific examples
[0161] Here is a practical example:
[0162] 1. The user opens the app, types in "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0163] 2. The terminal sends the user's input data to the server.
[0164] 3. The server collects information about smartwatches from multiple sources and creates a list of 30 candidates.
[0165] 4. The server applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0166] 5. The device will display five smartwatches to the user, along with their pros and cons.
[0167] 6. The user purchases the third smartwatch and provides feedback on their experience.
[0168] 7. The server receives the feedback, learns user trends, and reflects them in its next suggestions.
[0169] Prompt Sentence Examples
[0170] "I'm looking for a new smartwatch. Please suggest a product that meets the following criteria: health tracking features, waterproof, and a budget of under ¥30,000."
[0171] In this way, the system based on the present invention can effectively carry out a series of processes starting from user input, including data collection, evaluation, presentation, and feedback learning.
[0172] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0173] Step 1:
[0174] User needs input
[0175] The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. Specifically, the user enters "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen" into the application form. This input data becomes the input for the next step.
[0176] Step 2:
[0177] Sending data
[0178] The terminal converts the input data into JSON format and sends it to the server. Specifically, the terminal receives the user's input, calls a function to convert it into JSON format, and formats the data. The formatted JSON data is sent to the server as an HTTP POST request. The output of this step is the user needs data in JSON format sent to the server.
[0179] Step 3:
[0180] Gathering information and identifying options
[0181] Based on the data received by the server, it collects related product information from reliable sources on the Internet. Specifically, the server collects data using API access tools and web crawling tools. For example, a search query is executed with the conditions "smartwatch with health management function, waterproof, budget under 30,000 yen." The input for this step is the user needs data in JSON format received by the server, and the output is the collected raw product information.
[0182] Step 4:
[0183] Data preparation and list of candidate options
[0184] The server organizes the collected information and lists candidate options that meet the user's criteria. Specifically, the server performs a data cleansing process and stores it in a database. It removes irrelevant data and lists products that meet the criteria. The input to this step is raw product information, and the output is a list of candidate options that meet the criteria (e.g., 30 smartwatches).
[0185] Step 5:
[0186] Candidate evaluation and scoring
[0187] The server runs the candidate options through an evaluation algorithm and scores the pros and cons of each. Specifically, it uses a machine learning model (e.g., random forest) to evaluate each candidate and assign a score based on the following criteria: health management features, waterproofing, and price. The input to this step is a list of candidate options, and the output is the evaluated and scored options.
[0188] Step 6:
[0189] Narrowing down your options
[0190] Based on the evaluation results, the server narrows down the list to 1-7 options that best fit the user's needs and criteria. Specifically, it adds up the scores and selects the top 5 options. It then converts the narrowed down options into JSON format. The input to this step are the evaluated and scored options, and the output is the top options in JSON format.
[0191] Step 7:
[0192] Sending the selection results
[0193] The server organizes the information about the selected options and sends it to the terminal in JSON format. Specifically, the server formats the selection results in JSON format and returns the data to the terminal as an HTTP response. The input to this step is the top option in JSON format, and the output is the selection result data sent to the terminal.
[0194] Step 8:
[0195] Display of selection results
[0196] The terminal displays information about the options to the user. Specifically, the terminal interprets the received JSON data and displays a list of the performance, price, advantages and disadvantages of each option on the screen. The input to this step is the selection result data sent to the terminal, and the output is the information about the options displayed to the user.
[0197] Step 9:
[0198] Enter your feedback
[0199] The user selects one of the presented options and enters and sends feedback on that choice to the app. Specifically, the user selects a third smartwatch and enters their experience using it in the app's feedback form, which is then sent to the server. The input of this step is the user's feedback data, and the output is the feedback data sent to the server.
[0200] Step 10:
[0201] Learning Feedback
[0202] The server performs a learning process based on the received feedback to improve the accuracy of the next proposal. Specifically, the server inputs the feedback data into a machine learning algorithm, analyzes user trends, and updates the model. The input of this step is the received feedback data, and the output is an updated machine learning model.
[0203] (Application example 1)
[0204] 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."
[0205] In recent years, shopping over the Internet has become commonplace, and many users spend time and effort selecting the best product from a large number of options. In particular, as systems that provide virtual shopping experiences become more widespread, users are required to be able to find appropriate options quickly and efficiently. However, many conventional systems have difficulty finding products or services that perfectly match users' needs. They also lack mechanisms for utilizing post-purchase feedback to improve future recommendations. Therefore, a new system is needed that allows users to easily find products that meet their needs and make highly satisfying choices.
[0206] 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.
[0207] In this invention, the server includes: a means for inputting a user's needs and conditions; a means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; a means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; a means for presenting the narrowed options to the user; a means for receiving feedback from the user and learning to improve the accuracy of suggestions for the next time; and a means installed on a smartphone or smart glasses for providing a virtual shopping experience that supports the user's selection. This allows the user to make more appropriate product selections when shopping in a virtual space, significantly reducing the time and effort required for the selection process. Furthermore, improving the accuracy of suggestions based on feedback also improves the user's purchasing experience in the future.
[0208] "User" means any person or entity that uses the System to purchase goods or services.
[0209] "Needs" are the requirements and conditions that users have for products and services.
[0210] "Conditions" are specific constraints that must be met to meet a user's needs.
[0211] A "means" is a method or device used to achieve a particular purpose.
[0212] An "information source" is a website, database, or other resource that provides information about products and services on the Internet.
[0213] "Candidate Options" refers to a list of products and services selected based on the user's needs and requirements.
[0214] "Evaluation" is the process of making quantitative or qualitative judgments about candidate options.
[0215] "Scoring" is the process of assigning points to each candidate option based on the evaluation results.
[0216] A "virtual shopping experience" is shopping that takes place in a virtual environment, where users can select and purchase products without physically going to a store.
[0217] A "smartphone" is a mobile information terminal that, in addition to the functions of a mobile phone, can also connect to the Internet and run applications.
[0218] "Smart glasses" are a wearable device in the shape of glasses that can display information to the user and provide interaction.
[0219] "Feedback" refers to the process by which users provide feedback about their experience and opinions regarding the products and services they have selected.
[0220] "Learning" is the process by which the system processes data to improve the accuracy of its next suggestions based on collected feedback.
[0221] A "machine learning algorithm" is a computer algorithm that automatically learns patterns from data and makes predictions and classifications.
[0222] The present invention relates to a system that provides a virtual shopping experience to suggest optimal products and services to users. In this system, when a user selects a product or service using a smartphone or smart glasses, the user inputs their needs and conditions, and a server collects, evaluates, scores, presents, and learns from the feedback.
[0223] System Overview
[0224] The following hardware and software are used as elements that make up the system.
[0225] Hardware: Smartphones, smart glasses
[0226] Software: Python scripts, requests library for API calls, machine learning algorithms
[0227] Feature details
[0228] 1. Input of user needs
[0229] Users launch the application using their smartphone or smart glasses and input their needs and requirements for the product or service they wish to purchase. For example, they can input requirements such as "a smartwatch with health management functions for under 30,000 yen." Both voice and text input are possible.
[0230] 2. Data transmission and conversion
[0231] The device converts the input data into JSON format and sends it to the server. If the data is sent correctly, the device moves on to the next processing step.
[0232] 3. Information gathering
[0233] The server collects relevant product information from reliable sources on the Internet (such as review sites and official product pages) based on the received data. For this purpose, it uses the requests library to make API calls.
[0234] 4. Evaluation and Scoring
[0235] The server organizes the collected information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the options and quantitatively evaluate the pros and cons of each option. For example, it narrows down the options to the top five based on health management features, waterproofing, and price.
[0236] 5. Present options
[0237] The server sends information about the selected options in JSON format to the device, and the device displays the information to the user, including each option's performance, price, advantages and disadvantages, etc.
[0238] 6. Gather feedback and learn
[0239] The user selects one of the options presented and then provides feedback to the app. The server receives this feedback and uses a learning algorithm to improve the accuracy of the next suggestion.
[0240] Specific examples
[0241] For example, a user can voice-input a condition into their smartphone, such as "I want a smartwatch with health management functions and waterproofing for under 30,000 yen." The system selects an appropriate smartwatch based on data collected from online sources and displays the top five candidates to the user. If the user selects the third candidate smartwatch and provides feedback on its usage experience, the accuracy of suggestions will improve in future. In this way, users can efficiently find the product that best suits them.
[0242] Prompt Sentence Examples
[0243] "Please suggest the best products for the following query: 'Smartwatch with health management features under $300'"
[0244] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0245] Program processing flow
[0246] Step 1:
[0247] The user launches the application using a smartphone or smart glasses and inputs their needs and requirements for the product or service they want to purchase. For example, the user might input "a smartwatch with health management functions for under 30,000 yen" by voice or text. This input data is used in the next step.
[0248] Step 2:
[0249] The terminal converts the input data into JSON format and sends it to the server. The input is data about the needs and conditions entered by the user, and the output is JSON format data. This data conversion is necessary to ensure smooth subsequent data processing.
[0250] Step 3:
[0251] The server parses the received JSON-formatted data and collects relevant product information from reliable sources on the Internet (such as review sites and official product pages). The server uses an API to collect information and compiles product data that matches the user's needs. The input is JSON data, and the output is a list of the collected product information.
[0252] Step 4:
[0253] The server organizes the collected product information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the candidate options and quantitatively evaluate the advantages and disadvantages of each option. Based on the evaluation results, it narrows down the options to the top five or seven. The input is a list of product information, and the output is the scored candidate options.
[0254] Step 5:
[0255] The server sends information about the selected top options in JSON format to the device. The device parses the received data and displays detailed information about the options to the user, including the performance, price, advantages and disadvantages of each option. The input is the data of the scored candidate options, and the output is a list of options displayed to the user.
[0256] Step 6:
[0257] The user selects one of the options presented and then enters and sends feedback about it to the app. For example, the user might enter, "I purchased the third smartwatch and found it to be very user-friendly." The input is the user's feedback data, and the output is the feedback information sent to the server.
[0258] Step 7:
[0259] The server receives the feedback and uses a learning algorithm to improve the accuracy of the next suggestion. At this time, it analyzes the collected feedback data and learns the user's tendencies. The input is the feedback data from the user, and the output is the learning results for the next suggestion.
[0260] 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.
[0261] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. A specific implementation method for this is described below.
[0262] System Overview
[0263] When a user selects a product or service through a terminal, the system inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to support the selection process.Furthermore, an emotion engine is used to recognize the user's emotional state and present appropriate options.
[0264] Explanation of program processing
[0265] ---
[0266] User needs input
[0267] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0268] ---
[0269] Sending data
[0270] 2. The device converts the input data into JSON format and prepares it for sending to the server.
[0271] 3. The device sends the user input data to the server via the API endpoint.
[0272] ---
[0273] Gathering information and identifying options
[0274] 4. The server receives the data from the user via the API.
[0275] 5. Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0276] 6. The server stores the collected information in a database and organizes detailed information for each product.
[0277] 7. The server will generate a list of 30 potential products based on the user's needs and criteria.
[0278] ---
[0279] Narrowing down your options
[0280] 8. The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0281] 9. Based on the scoring results, the server narrows down the results to 1-7 options that best fit the user's needs and criteria.
[0282] ---
[0283] Presenting options
[0284] 10. The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0285] 11. The server sends information about the selected option to the terminal.
[0286] 12. The device displays the received options information to the user, including the performance, price, advantages and disadvantages of each option.
[0287] ---
[0288] Emotion Engine Operation
[0289] 13. The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[0290] 14. The server uses the data from the emotion engine to analyze the user's emotional state and reassess the best option to reduce the user's stress level.
[0291] ---
[0292] Feedback collection
[0293] 15. The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0294] 16. The device converts the user feedback data into JSON format and prepares it for sending to the server.
[0295] 17. The device sends the feedback data to the server via API.
[0296] ---
[0297] Learning Feedback
[0298] 18. The server receives the feedback data from the terminal.
[0299] 19. Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next suggestion, using a machine learning algorithm to analyze user trends.
[0300] ---
[0301] Specific examples
[0302] Below is an example of actual usage.
[0303] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0304] 2. Terminal: Sends the user's input data to the server.
[0305] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0306] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0307] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0308] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[0309] 7. Server: Based on the data from the emotion engine, the server reevaluates the best option for reducing stress and presents the appropriate option.
[0310] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[0311] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0312] This invention allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and also reduces the user's stress level by providing options that correspond to their emotional state.
[0313] The processing flow will be explained below.
[0314] Step 1:
[0315] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0316] Step 2:
[0317] The terminal converts the input data into JSON format and prepares it for sending to the server.
[0318] Step 3:
[0319] The device sends the user input data to the server via the API endpoint.
[0320] Step 4:
[0321] The server receives data from the user via the API.
[0322] Step 5:
[0323] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0324] Step 6:
[0325] The server stores the collected information in a database and organizes detailed information for each product.
[0326] Step 7:
[0327] The server will list at most 30 potential products based on the user's needs and requirements.
[0328] Step 8:
[0329] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0330] Step 9:
[0331] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[0332] Step 10:
[0333] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0334] Step 11:
[0335] The server transmits information about the selected option to the terminal.
[0336] Step 12:
[0337] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0338] Step 13:
[0339] The device detects the user's input and operations and recognizes the user's emotional state using an emotion engine, which determines the user's emotions based on facial expression recognition, voice analysis, operation history, etc.
[0340] Step 14:
[0341] The server analyzes the user's emotional state based on data from the emotion engine, which is classified into multiple categories such as stress, satisfaction, and anxiety.
[0342] Step 15:
[0343] The server reevaluates the options presented depending on the results of its analysis of the user's emotional state. For example, if the server determines that the user is under stress, it will instruct the system to prioritize simple and easy-to-understand options.
[0344] Step 16:
[0345] The server sends the re-evaluated options to the terminal and presents them to the user again.
[0346] Step 17:
[0347] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0348] Step 18:
[0349] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[0350] Step 19:
[0351] The device sends feedback data to the server via the API.
[0352] Step 20:
[0353] The server receives the feedback data from the terminal.
[0354] Step 21:
[0355] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[0356] This allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and by providing options that correspond to their emotional state, it is possible to reduce the user's stress level.
[0357] Example 2
[0358] 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."
[0359] Today's consumers spend a great deal of time and effort choosing the best option from a wide variety of products and services. The stress of the selection process is also a significant issue. Furthermore, there is a lack of systems to effectively incorporate feedback after a selection into future recommendations.
[0360] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for inputting the user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that are most suitable for the needs and conditions; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for recognizing the user's emotional state; and means for reevaluating appropriate options based on the emotional state. This allows the user to reduce the time and effort required to narrow down the options, make a satisfying selection, and obtain the optimal option according to the user's emotional state.
[0361] "User" refers to an individual who uses the system to participate in the product or service selection process.
[0362] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.
[0363] "Server" refers to a central system that receives input from users, processes it, and returns the results.
[0364] "Needs and conditions" refers to specific requirements and desired conditions regarding the product or service that the user wishes to purchase.
[0365] "Sources" refers to websites and APIs that provide data about products and services on the internet.
[0366] "Candidate options" refers to a collection of potentially suitable products and services based on the user's needs and requirements.
[0367] "Evaluation algorithm" refers to a calculation method for quantitatively evaluating and scoring candidate options based on the user's needs and conditions.
[0368] "Scoring" refers to the numerical rating given to each candidate option by the rating algorithm.
[0369] "Feedback" refers to information such as the user's evaluation of the options and their impressions of use.
[0370] "Means of learning" refers to the process of improving the accuracy of the next proposal based on the feedback received.
[0371] "Emotional state" refers to information that indicates the user's emotions and moods.
[0372] An "emotion engine" refers to software or hardware that analyzes a user's input and behavior to recognize their emotional state.
[0373] "Means for reevaluating" refers to a process for reevaluating presented options based on emotional state.
[0374] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. Specific implementation methods are described below.
[0375] This system consists of the following main components: The role and function of each component will be explained in detail below.
[0376] User needs input
[0377] Users use a device (such as a smartphone or tablet) to launch a dedicated application and enter their needs and conditions for the product or service they wish to purchase. This information includes the product category, essential features, and desired price range. For example, users might enter conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0378] Data conversion and transmission
[0379] The device converts the input data into JSON format, which allows for flexible sending and receiving of data, and then sends the data to the specified API endpoint, including the appropriate authentication token and header information.
[0380] Gathering information and identifying options
[0381] The server receives the JSON data sent from the device. Based on the received user needs, the server collects related product information from multiple internet sources (e.g., review sites, official product pages, online shops, etc.). Specifically, web scraping techniques (e.g., BeautifulSoup or Selenium) or API usage (e.g., APIs from e-commerce sites) are used. The collected information is stored in a database (e.g., PostgreSQL or MongoDB), and detailed information for each product is organized.
[0382] Narrowing down your options
[0383] The server applies an evaluation algorithm (e.g., a statistical model such as AHP or linear regression) to score each candidate product. Based on the scoring results, the results are narrowed down to 1 to 7 options that best suit the user's needs and conditions.
[0384] Presenting options
[0385] The server prepares to send information about the selected options (product name, performance, price, advantages and disadvantages) in JSON format to the device. The server then sends the prepared information to the device. The device receives this information and displays it to the user. The user is presented with the performance, price, advantages and disadvantages of each option.
[0386] Emotion Engine Operation
[0387] The device detects the user's inputs and actions and sends the data acquired through the built-in camera and microphone to the emotion engine. The emotion engine analyzes this data and recognizes the user's emotional state. For example, it uses facial recognition technology (e.g., OpenCV) or voice emotion recognition technology (e.g., Google® Cloud Speech-to-Text API). The recognition results are sent to the server, which analyzes the user's emotional state. Based on the emotional state, the server reevaluates and re-presents the optimal options if the stress level is high.
[0388] Feedback collection and learning
[0389] The user selects one of the presented options and enters feedback about their selection and their experience in the application. For example, they can provide specific feedback such as, "I purchased the third smartwatch and found it to be very useful." The device converts the user's feedback data into JSON format and prepares it for transmission to the server. The device then transmits the feedback data to the server via the API.
[0390] The server receives feedback data sent from the device and uses this feedback to learn how to improve the accuracy of the next suggestion. During this process, it uses a machine learning algorithm (e.g., Sci-Kit Learn or TENSORFLOW (registered trademark)) to analyze the user's tendencies. This allows the next suggestion to be more suitable for the user.
[0391] Specific examples
[0392] The following are specific examples of how this system can be used:
[0393] 1. User: Launches the app and enters "I want a new smartwatch." Then adds the following conditions: "health management function," "waterproof," and "under 30,000 yen."
[0394] 2. Terminal: Converts the user's input data into JSON format and sends it to the server.
[0395] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0396] 4. Server: Applies an evaluation algorithm to score each candidate, narrows it down to the top five choices, and sends the organized data in JSON format to the device.
[0397] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0398] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[0399] 7. Server: Based on the data from the emotion engine, the server reevaluates the optimal option for reducing stress and presents the appropriate option again.
[0400] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[0401] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0402] This invention allows users to reduce the time and effort required to narrow down their options, and by presenting optimal options according to their emotional state, it is possible to improve user satisfaction and reduce stress.
[0403] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0404] Step 1:
[0405] The user launches the application on their device and inputs their needs and requirements for the product or service they wish to purchase. As input, the user specifies conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen." The device receives this input data and temporarily stores it.
[0406] Step 2:
[0407] The device converts the user's needs and requirements into JSON format. This conversion process serializes the input data and converts it into a lightweight data exchange format. The resulting output data is a JSON object in a format that can be easily sent and received. For example: "{"Product Category": "Smartwatch", "Requirements": {"Health Management Function": true, "Budget": 30000}}".
[0408] Step 3:
[0409] The device sends the converted JSON-formatted data to the API endpoint, including the appropriate authentication token and header information. This data transmission allows the server to obtain the user's needs and requirements. The input is JSON data, and the output is a confirmation that the data has been transferred to the server.
[0410] Step 4:
[0411] The server receives JSON data from the user via an API. The received data is internally parsed and deserialized into a parseable format. The input to this process is the JSON data from the API, and the output is a data object of the parsed user needs and conditions.
[0412] Step 5:
[0413] Based on the data received, the server collects related product information from multiple sources on the Internet. The server uses web scraping techniques (e.g., BeautifulSoup, Selenium) or APIs (e.g., APIs from e-commerce sites). The input is the user's needs and requirements, and the output is a list of collected related product information.
[0414] Step 6:
[0415] The server stores the collected product information in a database and organizes detailed information for each product. The database can be SQL-based (e.g., PostgreSQL) or NoSQL-based (e.g., MongoDB). The collected product information is the input, and organized database entries are the output.
[0416] Step 7:
[0417] The server generates a list of 30 candidate products based on the user's needs and criteria. This list generation follows predefined rules and filtering criteria. The input is a set of organized database entries, and the output is a list of 30 candidate products.
[0418] Step 8:
[0419] The server applies an evaluation algorithm (e.g., AHP, linear regression) to score each candidate product. Scoring is performed by comprehensively evaluating factors such as performance, price, and review ratings. The input is the list of candidate products, and the output is the score for each product.
[0420] Step 9:
[0421] Based on the scoring results, the server narrows down the options to 1 to 7 that best fit the user's needs and conditions. This narrowing down operation is performed in descending order of score. Scored candidate products are obtained as input, and the narrowed down options 1 to 7 are obtained as output.
[0422] Step 10:
[0423] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format. During this process, detailed information about each option is aggregated. The input is the narrowed-down options, and the output is JSON data of the prepared option information.
[0424] Step 11:
[0425] The server sends the prepared JSON data to the terminal. The prepared JSON data is obtained as the input amount, and the completion of data transmission to the terminal is obtained as the output amount.
[0426] Step 12:
[0427] The terminal displays the received information about the options to the user. This includes the performance, price, advantages and disadvantages of each option. JSON data is received as input, and option information displayed on the screen is output.
[0428] Step 13:
[0429] The device senses the user's input and actions and recognizes the user's emotional state using an emotion engine. During this process, data is collected through the built-in camera and microphone, and emotion recognition technology (e.g., OpenCV, Google Cloud Speech-to-Text API) is used. Sensor data from the camera and microphone is obtained as input, and the recognized emotional state is output.
[0430] Step 14:
[0431] The server analyzes the user's emotional state based on data from the emotion engine. Based on the emotional state, the server reevaluates the optimal option for stress reduction and presents it to the user again. The recognized emotional state is obtained as input, and the reevaluated option is obtained as output.
[0432] Step 15:
[0433] The user selects one of the options presented and enters feedback into the app. For example, the user may provide feedback such as, "I purchased the third smartwatch and found it to be very user-friendly." The selected product information and feedback are saved as input, and the feedback is saved as output.
[0434] Step 16:
[0435] The device converts the user feedback data into JSON format and prepares it for sending to the server. The input is the user feedback, and the output is the JSON-formatted feedback data.
[0436] Step 17:
[0437] The device sends feedback data to the server via the API. The input is the feedback data in JSON format, and the output is a notification that the feedback has been sent to the server.
[0438] Step 18:
[0439] The server receives the feedback data sent from the device. The received data is internally deserialized into a parsable format. The input is JSON-formatted feedback data, and the output is a parsable feedback data object.
[0440] Step 19:
[0441] Based on the feedback data received by the server, a learning process is performed to improve the accuracy of the next proposal. This process uses a machine learning algorithm (e.g., Sci-Kit Learn or TensorFlow) to analyze user trends. The analyzed feedback data is the input, and an updated learning model is the output.
[0442] (Application example 2)
[0443] 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."
[0444] Existing product selection support systems do not take into account the user's emotional state when selecting a product, and lack means to reduce user stress and dissatisfaction. Furthermore, they have difficulty responding flexibly to improve user satisfaction with the presented options. The present invention aims to solve these problems, optimize the entire user selection process, and increase user satisfaction.
[0445] 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.
[0446] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 most suitable options; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for sensing the user's input behavior and recognizing their emotional state; and means for presenting optimal options that reduce the user's stress level based on the recognized emotional state. This makes it possible to support the user in selecting products and services while taking their emotional state into consideration, thereby improving user satisfaction and convenience in the selection process.
[0447] "Means for inputting user needs and conditions" refers to a device or system that provides an interface for users to input their requirements and restrictions regarding desired products and services.
[0448] "Means for collecting candidate options from multiple sources on the Internet" refers to devices or programs that have the function of automatically searching and acquiring information on related products and services from websites, review sites, online shops, etc.
[0449] The "means of evaluating and scoring candidate options to narrow down to the most suitable 1 to 7 options" is a system that utilizes an algorithm to evaluate the collected options based on criteria such as performance, price, and user ratings, and narrow down the options to those that best suit the user's needs.
[0450] The "means for presenting the narrowed down options to the user" refers to a display device or user interface for displaying information about the evaluated options on the user's device.
[0451] "Means for receiving feedback from users and learning to improve the accuracy of next suggestions" refers to a machine learning system that collects feedback information such as satisfaction and usability of the products selected by users, and uses that data to improve the algorithm and increase the accuracy of next suggestions.
[0452] The "means for sensing the user's input behavior and recognizing the user's emotional state" is a system that analyzes the user's operational behavior, such as tapping and scrolling, and estimates the user's emotional state using technologies such as facial expression recognition and voice analysis.
[0453] "Means for presenting optimal options to reduce a user's stress level based on a recognized emotional state" refers to a system that has the function of reevaluating and presenting optimal product and service options for reducing stress and increasing satisfaction, taking into account the user's emotional state.
[0454] The present invention is a comprehensive system for assisting a user's selection behavior and recognizing the user's emotional state using an emotion engine, which is specifically implemented as follows.
[0455] A means of inputting user needs and requirements
[0456] First, the user uses the device to input their needs and requirements for the desired product or service, including the product name, specific features, budget limit, etc. The input information is collected through the application interface, converted by the device into JSON format, and sent to the server via API.
[0457] A means of gathering candidate options from multiple sources on the Internet
[0458] Based on the received data, the server collects relevant candidate options from multiple sources (review sites, official product pages, online shops, etc.) In this process, it aggregates the information using code libraries and web scraping technology, and stores the resulting candidate options in a database.
[0459] A method for evaluating and scoring candidate options to narrow down the choices to 1-7 most suitable options
[0460] Based on the collected data, the server evaluates and scores the candidate options based on performance, price, user ratings, etc., and narrows down the options to those that best fit the user's needs. The evaluation algorithm uses quantitative evaluation criteria to select the best 1 to 7 options.
[0461] A way to present narrowed choices to the user
[0462] The rated and scored options are sent from the server to the device in JSON format and displayed to the user on the device, along with detailed information such as product name, price, advantages and disadvantages.
[0463] A way to receive feedback from users and learn to improve the accuracy of next suggestions
[0464] The user selects one of the options and provides feedback, which is then converted back into JSON format and sent to the server, where it is analyzed and used by machine learning algorithms to improve the accuracy of the next recommendation.
[0465] A means of sensing user input behavior and recognizing emotional states
[0466] The device senses the user's input behavior and recognizes the user's emotional state using an emotion engine, which infers the user's emotional state using techniques such as input patterns, facial expression recognition, and voice analysis.
[0467] A means of presenting optimal options to reduce a user's stress level based on their perceived emotional state
[0468] Based on the data from the emotion engine, the server analyzes the user's emotional state and re-evaluates the best option to reduce stress levels. These options are again presented to the user and the selection process is repeated.
[0469] Specific examples
[0470] For example, a user opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen." The device sends this information to the server, which then collects smartwatch information from multiple sources, evaluates and scores it, and sends the appropriate option to the device. The user then looks at the presented options and has their emotional state analyzed by the emotion engine, which then presents the optimal option again. Finally, the user can purchase the third smartwatch and provide feedback on their experience.
[0471] Prompt Sentence Examples
[0472] User: I want a new smartwatch.
[0473] App: Do you need health tracking features and waterproofing?
[0474] User: Yes.
[0475] App: What is your budget?
[0476] User: It's under 30,000 yen.
[0477] In this way, users can make optimal choices based on their emotional state, making the selection process more satisfying.
[0478] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0479] Step 1:
[0480] The user uses the terminal to launch the application and inputs their needs and requirements regarding the goods or services they wish to purchase.
[0481] Input: The product conditions the user desires (product name, specific features, budget limit)
[0482] Output: Data on user needs and requirements
[0483] Specific operation: Using text boxes and selection menus on the application's input screen, the user enters conditions such as "I want a new smartwatch," "health management functions," "waterproof performance," and "under 30,000 yen."
[0484] Step 2:
[0485] The terminal converts the input data into JSON format and prepares it to be sent to the server.
[0486] Input: Data on user needs and requirements
[0487] Output: JSON format data
[0488] Specific operation: The device application performs internal processing to convert the user's input into a JSON-formatted string and prepares it.
[0489] Step 3:
[0490] The device sends the user input data to the server via the API endpoint.
[0491] Input: JSON format data
[0492] Output: API request response
[0493] Specific operation: The terminal sends an HTTP request to the server's API endpoint via the Internet and transfers the input data to the server.
[0494] Step 4:
[0495] The server receives data from the user via the API.
[0496] Input: JSON data sent from the terminal
[0497] Output: User needs and requirements as a data structure inside the server
[0498] Specific operation: The server parses the received JSON data and stores it in the required format in an internal database or memory.
[0499] Step 5:
[0500] Based on the data received by the server, related product information is collected from multiple information sources on the Internet.
[0501] Input: Data on user needs and requirements
[0502] Output: Related candidate product information
[0503] Specific operation: The server collects product information from multiple sources using web scraping and APIs and stores it in a database.
[0504] Step 6:
[0505] The server stores the collected information in a database and organizes detailed information for each product.
[0506] Input: Collected information about candidate products
[0507] Output: Organized product information
[0508] What it does: The server categorizes product information with appropriate categories and tags, indexes it in a database, and stores it.
[0509] Step 7:
[0510] The server will list 30 potential products based on the user's needs and criteria.
[0511] Input: Organized product information and user needs and conditions
[0512] Output: List of candidate products (30 items)
[0513] What it does: The server uses an internal rating algorithm to pick and list the most relevant products.
[0514] Step 8:
[0515] The server applies an evaluation algorithm to score each candidate product.
[0516] Input: List of 30 candidate products
[0517] Output: Scored product list
[0518] How it works: The server calculates a score for each product based on criteria such as performance, price, and review ratings.
[0519] Step 9:
[0520] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[0521] Input: Scored product list
[0522] Output: 1 to 7 best choices
[0523] Specific operation: The server filters the top ranked items and picks the best 1 to 7 items.
[0524] Step 10:
[0525] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0526] Input: 1 to 7 best choices
[0527] Output: Choice data in JSON format
[0528] Specific operation: The server collects information about the selected products, formats it in a user-friendly format, and then converts it into JSON format.
[0529] Step 11:
[0530] The server transmits information about the selected option to the terminal.
[0531] Input: Choice data in JSON format
[0532] Output: Data as a response to the API request
[0533] Specific operation: The server sends JSON data to the terminal as an HTTP response, and the data is transferred to the terminal.
[0534] Step 12:
[0535] The terminal displays the received information on the options to the user.
[0536] Input: JSON data sent from the server
[0537] Output: Information about the choices displayed in the user interface
[0538] Specific operation: The terminal application parses the JSON data and displays detailed information about each option (product name, performance, price, advantages and disadvantages) on the user interface.
[0539] Step 13:
[0540] The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[0541] Input: User input and behavioral data
[0542] Output: User's emotional state data
[0543] Specific operation: The device records input behavior and applies emotion analysis algorithms to recognize the user's emotional state in real time.
[0544] Step 14:
[0545] The server analyzes the user's emotional state based on the data from the emotion engine and re-evaluates the optimal option to reduce the user's stress level.
[0546] Input: User's emotional state data
[0547] Output: Reevaluated best option
[0548] Specific behavior: The server applies a reevaluation algorithm based on the emotional state and reconsiders the best option to reduce stress.
[0549] Step 15:
[0550] The user selects one of the options presented and then provides feedback on it in the app.
[0551] Input: User's selected product and feedback comment
[0552] Output: Feedback data
[0553] Specific operation: The user enters their opinion about the selected product on the feedback screen of the application, and the device records it.
[0554] Step 16:
[0555] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[0556] Input: User feedback data
[0557] Output: Feedback data in JSON format
[0558] Specific operation: The device processes and prepares the user's feedback comments to convert them into JSON format.
[0559] Step 17:
[0560] The device sends feedback data to the server via the API.
[0561] Input: Feedback data in JSON format
[0562] Output: API request response
[0563] Specific operation: The device sends feedback data to the server's API endpoint via an HTTP request.
[0564] Step 18:
[0565] The server receives the feedback data from the terminal.
[0566] Input: Feedback data sent from the device
[0567] Output: Feedback data as a server-internal data structure
[0568] Specific operation: The server parses the received feedback data and stores it in an internal database or memory.
[0569] Step 19:
[0570] Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next proposal.
[0571] Input: Feedback data
[0572] Output: Improved evaluation algorithm
[0573] Specific operation: The server analyzes the feedback data and uses machine learning algorithms to update the evaluation model and learn to improve the accuracy of the next proposal.
[0574] 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.
[0575] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (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.
[0576] 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.
[0577] [Second embodiment]
[0578] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0579] 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.
[0580] 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).
[0581] 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.
[0582] 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.
[0583] 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).
[0584] 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.
[0585] 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.
[0586] 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.
[0587] 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.
[0588] 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.
[0589] 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."
[0590] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required in the process, and a specific implementation method thereof will be described below.
[0591] System Overview
[0592] When a user selects a product or service through a terminal, the user inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to assist the selection process.
[0593] Explanation of program processing
[0594] ---
[0595] User needs input
[0596] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0597] ---
[0598] Sending data
[0599] 2. The terminal converts the input data into JSON format and sends it to the server.
[0600] ---
[0601] Gathering information and identifying options
[0602] 3. Based on the data received by the server, it collects related product information from reliable sources on the Internet (such as review sites and official product pages).
[0603] 4. The server organizes the collected information and lists candidate options that meet the user's criteria. At this point, for example, 30 smartwatches are listed as candidates.
[0604] ---
[0605] Narrowing down your options
[0606] 5. The server runs the candidate options through an evaluation algorithm and scores the advantages and disadvantages of each.
[0607] 6. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best fit the user's needs and requirements. For example, the top 5 options are selected based on health management features, waterproof performance, and price.
[0608] ---
[0609] Presenting options
[0610] 7. The server prepares the information about the selected options and sends it to the terminal in JSON format.
[0611] 8. The device displays the options to the user, including the features, price, pros and cons of each option.
[0612] ---
[0613] Feedback collection
[0614] 9. The user selects one of the options presented and enters and submits their feedback to the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0615] ---
[0616] Learning Feedback
[0617] 10. The server uses the received feedback to perform a learning process to improve the accuracy of the next suggestion, using machine learning algorithms to analyze user trends.
[0618] ---
[0619] Specific examples
[0620] Below is an example of actual usage.
[0621] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0622] 2. Terminal: Sends the user's input data to the server.
[0623] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0624] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0625] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0626] 6. User: Purchase the third smartwatch and provide feedback on your experience.
[0627] 7. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0628] This invention allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[0629] The processing flow will be explained below.
[0630] Step 1:
[0631] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0632] Step 2:
[0633] The terminal converts the input data into JSON format and prepares it for sending to the server.
[0634] Step 3:
[0635] The device sends the user input data to the server via the API endpoint.
[0636] Step 4:
[0637] The server receives data from the user via the API.
[0638] Step 5:
[0639] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0640] Step 6:
[0641] The server stores the collected information in a database and organizes detailed information for each product.
[0642] Step 7:
[0643] The server will list 30 potential products based on the user's needs and criteria.
[0644] Step 8:
[0645] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0646] Step 9:
[0647] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[0648] Step 10:
[0649] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0650] Step 11:
[0651] The server transmits information about the selected option to the terminal.
[0652] Step 12:
[0653] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0654] Step 13:
[0655] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0656] Step 14:
[0657] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[0658] Step 15:
[0659] The device sends feedback data to the server via the API.
[0660] Step 16:
[0661] The server receives the feedback data from the terminal.
[0662] Step 17:
[0663] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[0664] This allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[0665] Example 1
[0666] 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."
[0667] The present invention aims to reduce the effort and time required for users to find the appropriate option from a vast amount of information when selecting a product or service. In particular, it aims to efficiently present optimal options based on the user's needs and conditions, thereby increasing user satisfaction. In addition, it is necessary to continuously improve the user experience by efficiently collecting feedback from users and improving the accuracy of suggestions for the next time.
[0668] 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.
[0669] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; means for presenting the narrowed options to the user; means for receiving feedback from the user and learning to improve the accuracy of subsequent suggestions; means for converting the user's needs and conditions into JSON format and transmitting it; and a server for interpreting the received JSON data, collecting data from information sources, narrowing down the options by evaluating and scoring, presenting the results, and collecting and learning from feedback. This reduces the effort and time required for users to select products and services, enabling them to make more satisfying choices. Furthermore, by utilizing user feedback to improve the accuracy of subsequent suggestions, the user experience can be continuously improved.
[0670] "Needs" are the requests or demands that users have for specific products or services.
[0671] "Conditions" refer to specific criteria or constraints that a user considers when selecting a product or service.
[0672] "Means" are technical devices or methods used to achieve a specific purpose.
[0673] "Multiple sources on the internet" refers to reliable sources of information such as websites, online databases, and APIs.
[0674] "Candidate Options" refers to a list of potential products and services that are compiled based on the user's needs and requirements.
[0675] "Evaluation" refers to the process of analyzing the merits and demerits of the collected candidate options and evaluating them quantitatively or qualitatively.
[0676] "Scoring" refers to the process of assigning points to each candidate option based on the evaluation results.
[0677] "1 to 7 choices" refers to the 1 to 7 products or services that are most suitable as a result of the evaluation and scoring.
[0678] "Presentation" refers to the process of displaying the results of the evaluation and scoring to the user.
[0679] "Feedback" refers to the opinions and experiences users provide about the options presented to them.
[0680] "Learning" refers to the machine learning process of accumulating collected feedback as data to improve the accuracy of the next proposal.
[0681] "JSON format" refers to a lightweight data exchange format for describing data in a structured way.
[0682] "Transmit" refers to the act of transferring data or information from one point to another.
[0683] "Interpretation" refers to the process of understanding received data or information and converting it into a processable form.
[0684] "Server" refers to a computer system for data processing, storage, and network communication.
[0685] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required for that process. How the invention can be put into practice will be described below.
[0686] System hardware and software configuration
[0687] The system is configured so that when a user selects a product or service through a terminal, they input their needs and conditions, and the server collects, evaluates, scores, presents, and learns from the feedback.
[0688] Hardware:
[0689] User's device (smartphone, tablet, PC, etc.)
[0690] Servers (high-performance computers and cloud servers)
[0691] software:
[0692] Application (interface for inputting user needs and requirements)
[0693] Web crawling tools (e.g., Scrapy) or API access tools (e.g., Postman)
[0694] Machine learning models (e.g., random forests, linear regression)
[0695] Database (e.g. MySQL, MongoDB)
[0696] Data sending and receiving function using communication protocols (e.g. HTTP / HTTPS)
[0697] System Operation Overview
[0698] User behavior:
[0699] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase, such as "I want a new smartwatch with health management features" and "My budget is under 30,000 yen."
[0700] On the device side:
[0701] The terminal converts the input data into JSON format and sends it to the server.
[0702] Server side behavior:
[0703] 1. Based on the data received, the server collects related product information from reliable sources on the Internet. The server collects data using web crawling tools and APIs.
[0704] 2. The server organizes the collected information and lists candidate options that meet the user's criteria.
[0705] 3. The server runs the candidate options through an evaluation algorithm to score the pros and cons of each option, using machine learning models or linear regression.
[0706] 4. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best suit the user's needs and criteria.
[0707] 5. The server sends the selected option information to the terminal in JSON format.
[0708] On the device side:
[0709] The device displays information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0710] Feedback processing:
[0711] The user selects one of the options presented and then enters and submits feedback to the app. The server uses the received feedback to perform a learning process and improve the accuracy of the next suggestion. During this process, a machine learning algorithm is used to analyze user trends.
[0712] Specific examples
[0713] Here is a practical example:
[0714] 1. The user opens the app, types in "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0715] 2. The terminal sends the user's input data to the server.
[0716] 3. The server collects information about smartwatches from multiple sources and creates a list of 30 candidates.
[0717] 4. The server applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0718] 5. The device will display five smartwatches to the user, along with their pros and cons.
[0719] 6. The user purchases the third smartwatch and provides feedback on their experience.
[0720] 7. The server receives the feedback, learns user trends, and reflects them in its next suggestions.
[0721] Prompt Sentence Examples
[0722] "I'm looking for a new smartwatch. Please suggest a product that meets the following criteria: health tracking features, waterproof, and a budget of under ¥30,000."
[0723] In this way, the system based on the present invention can effectively carry out a series of processes starting from user input, including data collection, evaluation, presentation, and feedback learning.
[0724] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0725] Step 1:
[0726] User needs input
[0727] The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. Specifically, the user enters "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen" into the application form. This input data becomes the input for the next step.
[0728] Step 2:
[0729] Sending data
[0730] The terminal converts the input data into JSON format and sends it to the server. Specifically, the terminal receives the user's input, calls a function to convert it into JSON format, and formats the data. The formatted JSON data is sent to the server as an HTTP POST request. The output of this step is the user needs data in JSON format sent to the server.
[0731] Step 3:
[0732] Gathering information and identifying options
[0733] Based on the data received by the server, it collects related product information from reliable sources on the Internet. Specifically, the server collects data using API access tools and web crawling tools. For example, a search query is executed with the conditions "smartwatch with health management function, waterproof, budget under 30,000 yen." The input for this step is the user needs data in JSON format received by the server, and the output is the collected raw product information.
[0734] Step 4:
[0735] Data preparation and list of candidate options
[0736] The server organizes the collected information and lists candidate options that meet the user's criteria. Specifically, the server performs a data cleansing process and stores it in a database. It removes irrelevant data and lists products that meet the criteria. The input to this step is raw product information, and the output is a list of candidate options that meet the criteria (e.g., 30 smartwatches).
[0737] Step 5:
[0738] Candidate evaluation and scoring
[0739] The server runs the candidate options through an evaluation algorithm and scores the pros and cons of each. Specifically, it uses a machine learning model (e.g., random forest) to evaluate each candidate and assign a score based on the following criteria: health management features, waterproofing, and price. The input to this step is a list of candidate options, and the output is the evaluated and scored options.
[0740] Step 6:
[0741] Narrowing down your options
[0742] Based on the evaluation results, the server narrows down the list to 1-7 options that best fit the user's needs and criteria. Specifically, it adds up the scores and selects the top 5 options. It then converts the narrowed down options into JSON format. The input to this step are the evaluated and scored options, and the output is the top options in JSON format.
[0743] Step 7:
[0744] Sending the selection results
[0745] The server organizes the information about the selected options and sends it to the terminal in JSON format. Specifically, the server formats the selection results in JSON format and returns the data to the terminal as an HTTP response. The input to this step is the top option in JSON format, and the output is the selection result data sent to the terminal.
[0746] Step 8:
[0747] Display of selection results
[0748] The terminal displays information about the options to the user. Specifically, the terminal interprets the received JSON data and displays a list of the performance, price, advantages and disadvantages of each option on the screen. The input to this step is the selection result data sent to the terminal, and the output is the information about the options displayed to the user.
[0749] Step 9:
[0750] Enter your feedback
[0751] The user selects one of the presented options and enters and sends feedback on that choice to the app. Specifically, the user selects a third smartwatch and enters their experience using it in the app's feedback form, which is then sent to the server. The input of this step is the user's feedback data, and the output is the feedback data sent to the server.
[0752] Step 10:
[0753] Learning Feedback
[0754] The server performs a learning process based on the received feedback to improve the accuracy of the next proposal. Specifically, the server inputs the feedback data into a machine learning algorithm, analyzes user trends, and updates the model. The input of this step is the received feedback data, and the output is an updated machine learning model.
[0755] (Application example 1)
[0756] 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."
[0757] In recent years, shopping over the Internet has become commonplace, and many users spend time and effort selecting the best product from a large number of options. In particular, as systems that provide virtual shopping experiences become more widespread, users are required to be able to find appropriate options quickly and efficiently. However, many conventional systems have difficulty finding products or services that perfectly match users' needs. They also lack mechanisms for utilizing post-purchase feedback to improve future recommendations. Therefore, a new system is needed that allows users to easily find products that meet their needs and make highly satisfying choices.
[0758] 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.
[0759] In this invention, the server includes: a means for inputting a user's needs and conditions; a means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; a means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; a means for presenting the narrowed options to the user; a means for receiving feedback from the user and learning to improve the accuracy of suggestions for the next time; and a means installed on a smartphone or smart glasses for providing a virtual shopping experience that supports the user's selection. This allows the user to make more appropriate product selections when shopping in a virtual space, significantly reducing the time and effort required for the selection process. Furthermore, improving the accuracy of suggestions based on feedback also improves the user's purchasing experience in the future.
[0760] "User" means any person or entity that uses the System to purchase goods or services.
[0761] "Needs" are the requirements and conditions that users have for products and services.
[0762] "Conditions" are specific constraints that must be met to meet a user's needs.
[0763] A "means" is a method or device used to achieve a particular purpose.
[0764] An "information source" is a website, database, or other resource that provides information about products and services on the Internet.
[0765] "Candidate Options" refers to a list of products and services selected based on the user's needs and requirements.
[0766] "Evaluation" is the process of making quantitative or qualitative judgments about candidate options.
[0767] "Scoring" is the process of assigning points to each candidate option based on the evaluation results.
[0768] A "virtual shopping experience" is shopping that takes place in a virtual environment, where users can select and purchase products without physically going to a store.
[0769] A "smartphone" is a mobile information terminal that, in addition to the functions of a mobile phone, can also connect to the Internet and run applications.
[0770] "Smart glasses" are a wearable device in the shape of glasses that can display information to the user and provide interaction.
[0771] "Feedback" refers to the process by which users provide feedback about their experience and opinions regarding the products and services they have selected.
[0772] "Learning" is the process by which the system processes data to improve the accuracy of its next suggestions based on collected feedback.
[0773] A "machine learning algorithm" is a computer algorithm that automatically learns patterns from data and makes predictions and classifications.
[0774] The present invention relates to a system that provides a virtual shopping experience to suggest optimal products and services to users. In this system, when a user selects a product or service using a smartphone or smart glasses, the user inputs their needs and conditions, and a server collects, evaluates, scores, presents, and learns from the feedback.
[0775] System Overview
[0776] The following hardware and software are used as elements that make up the system.
[0777] Hardware: Smartphones, smart glasses
[0778] Software: Python scripts, requests library for API calls, machine learning algorithms
[0779] Feature details
[0780] 1. Input of user needs
[0781] Users launch the application using their smartphone or smart glasses and input their needs and requirements for the product or service they wish to purchase. For example, they can input requirements such as "a smartwatch with health management functions for under 30,000 yen." Both voice and text input are possible.
[0782] 2. Data transmission and conversion
[0783] The device converts the input data into JSON format and sends it to the server. If the data is sent correctly, the device moves on to the next processing step.
[0784] 3. Information gathering
[0785] The server collects relevant product information from reliable sources on the Internet (such as review sites and official product pages) based on the received data. For this purpose, it uses the requests library to make API calls.
[0786] 4. Evaluation and Scoring
[0787] The server organizes the collected information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the options and quantitatively evaluate the pros and cons of each option. For example, it narrows down the options to the top five based on health management features, waterproofing, and price.
[0788] 5. Present options
[0789] The server sends information about the selected options in JSON format to the device, and the device displays the information to the user, including each option's performance, price, advantages and disadvantages, etc.
[0790] 6. Gather feedback and learn
[0791] The user selects one of the options presented and then provides feedback to the app. The server receives this feedback and uses a learning algorithm to improve the accuracy of the next suggestion.
[0792] Specific examples
[0793] For example, a user can voice-input a condition into their smartphone, such as "I want a smartwatch with health management functions and waterproofing for under 30,000 yen." The system selects an appropriate smartwatch based on data collected from online sources and displays the top five candidates to the user. If the user selects the third candidate smartwatch and provides feedback on its usage experience, the accuracy of suggestions will improve in future. In this way, users can efficiently find the product that best suits them.
[0794] Prompt Sentence Examples
[0795] "Please suggest the best products for the following query: 'Smartwatch with health management features under $300'"
[0796] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0797] Program processing flow
[0798] Step 1:
[0799] The user launches the application using a smartphone or smart glasses and inputs their needs and requirements for the product or service they want to purchase. For example, the user might input "a smartwatch with health management functions for under 30,000 yen" by voice or text. This input data is used in the next step.
[0800] Step 2:
[0801] The terminal converts the input data into JSON format and sends it to the server. The input is data about the needs and conditions entered by the user, and the output is JSON format data. This data conversion is necessary to ensure smooth subsequent data processing.
[0802] Step 3:
[0803] The server parses the received JSON-formatted data and collects relevant product information from reliable sources on the Internet (such as review sites and official product pages). The server uses an API to collect information and compiles product data that matches the user's needs. The input is JSON data, and the output is a list of the collected product information.
[0804] Step 4:
[0805] The server organizes the collected product information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the candidate options and quantitatively evaluate the advantages and disadvantages of each option. Based on the evaluation results, it narrows down the options to the top five or seven. The input is a list of product information, and the output is the scored candidate options.
[0806] Step 5:
[0807] The server sends information about the selected top options in JSON format to the device. The device parses the received data and displays detailed information about the options to the user, including the performance, price, advantages and disadvantages of each option. The input is the data of the scored candidate options, and the output is a list of options displayed to the user.
[0808] Step 6:
[0809] The user selects one of the options presented and then enters and sends feedback about it to the app. For example, the user might enter, "I purchased the third smartwatch and found it to be very user-friendly." The input is the user's feedback data, and the output is the feedback information sent to the server.
[0810] Step 7:
[0811] The server receives the feedback and uses a learning algorithm to improve the accuracy of the next suggestion. At this time, it analyzes the collected feedback data and learns the user's tendencies. The input is the feedback data from the user, and the output is the learning results for the next suggestion.
[0812] 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.
[0813] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. A specific implementation method for this is described below.
[0814] System Overview
[0815] When a user selects a product or service through a terminal, the system inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to support the selection process.Furthermore, an emotion engine is used to recognize the user's emotional state and present appropriate options.
[0816] Explanation of program processing
[0817] ---
[0818] User needs input
[0819] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0820] ---
[0821] Sending data
[0822] 2. The device converts the input data into JSON format and prepares it for sending to the server.
[0823] 3. The device sends the user input data to the server via the API endpoint.
[0824] ---
[0825] Gathering information and identifying options
[0826] 4. The server receives the data from the user via the API.
[0827] 5. Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0828] 6. The server stores the collected information in a database and organizes detailed information for each product.
[0829] 7. The server will generate a list of 30 potential products based on the user's needs and criteria.
[0830] ---
[0831] Narrowing down your options
[0832] 8. The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0833] 9. Based on the scoring results, the server narrows down the results to 1-7 options that best fit the user's needs and criteria.
[0834] ---
[0835] Presenting options
[0836] 10. The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0837] 11. The server sends information about the selected option to the terminal.
[0838] 12. The device displays the received options information to the user, including the performance, price, advantages and disadvantages of each option.
[0839] ---
[0840] Emotion Engine Operation
[0841] 13. The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[0842] 14. The server uses the data from the emotion engine to analyze the user's emotional state and reassess the best option to reduce the user's stress level.
[0843] ---
[0844] Feedback collection
[0845] 15. The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0846] 16. The device converts the user feedback data into JSON format and prepares it for sending to the server.
[0847] 17. The device sends the feedback data to the server via API.
[0848] ---
[0849] Learning Feedback
[0850] 18. The server receives the feedback data from the terminal.
[0851] 19. Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next suggestion, using a machine learning algorithm to analyze user trends.
[0852] ---
[0853] Specific examples
[0854] Below is an example of actual usage.
[0855] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[0856] 2. Terminal: Sends the user's input data to the server.
[0857] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0858] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[0859] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0860] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[0861] 7. Server: Based on the data from the emotion engine, the server reevaluates the best option for reducing stress and presents the appropriate option.
[0862] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[0863] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0864] This invention allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and also reduces the user's stress level by providing options that correspond to their emotional state.
[0865] The processing flow will be explained below.
[0866] Step 1:
[0867] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0868] Step 2:
[0869] The terminal converts the input data into JSON format and prepares it for sending to the server.
[0870] Step 3:
[0871] The device sends the user input data to the server via the API endpoint.
[0872] Step 4:
[0873] The server receives data from the user via the API.
[0874] Step 5:
[0875] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[0876] Step 6:
[0877] The server stores the collected information in a database and organizes detailed information for each product.
[0878] Step 7:
[0879] The server will list at most 30 potential products based on the user's needs and requirements.
[0880] Step 8:
[0881] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[0882] Step 9:
[0883] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[0884] Step 10:
[0885] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[0886] Step 11:
[0887] The server transmits information about the selected option to the terminal.
[0888] Step 12:
[0889] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[0890] Step 13:
[0891] The device detects the user's input and operations and recognizes the user's emotional state using an emotion engine, which determines the user's emotions based on facial expression recognition, voice analysis, operation history, etc.
[0892] Step 14:
[0893] The server analyzes the user's emotional state based on data from the emotion engine, which is classified into multiple categories such as stress, satisfaction, and anxiety.
[0894] Step 15:
[0895] The server reevaluates the options presented depending on the results of its analysis of the user's emotional state. For example, if the server determines that the user is under stress, it will instruct the system to prioritize simple and easy-to-understand options.
[0896] Step 16:
[0897] The server sends the re-evaluated options to the terminal and presents them to the user again.
[0898] Step 17:
[0899] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[0900] Step 18:
[0901] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[0902] Step 19:
[0903] The device sends feedback data to the server via the API.
[0904] Step 20:
[0905] The server receives the feedback data from the terminal.
[0906] Step 21:
[0907] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[0908] This allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and by providing options that correspond to their emotional state, it is possible to reduce the user's stress level.
[0909] Example 2
[0910] 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."
[0911] Today's consumers spend a great deal of time and effort choosing the best option from a wide variety of products and services. The stress of the selection process is also a significant issue. Furthermore, there is a lack of systems to effectively incorporate feedback after a selection into future recommendations.
[0912] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for inputting the user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that are most suitable for the needs and conditions; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for recognizing the user's emotional state; and means for reevaluating appropriate options based on the emotional state. This allows the user to reduce the time and effort required to narrow down the options, make a satisfying selection, and obtain the optimal option according to the user's emotional state.
[0913] "User" refers to an individual who uses the system to participate in the product or service selection process.
[0914] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.
[0915] "Server" refers to a central system that receives input from users, processes it, and returns the results.
[0916] "Needs and conditions" refers to specific requirements and desired conditions regarding the product or service that the user wishes to purchase.
[0917] "Sources" refers to websites and APIs that provide data about products and services on the internet.
[0918] "Candidate options" refers to a collection of potentially suitable products and services based on the user's needs and requirements.
[0919] "Evaluation algorithm" refers to a calculation method for quantitatively evaluating and scoring candidate options based on the user's needs and conditions.
[0920] "Scoring" refers to the numerical rating given to each candidate option by the rating algorithm.
[0921] "Feedback" refers to information such as the user's evaluation of the options and their impressions of use.
[0922] "Means of learning" refers to the process of improving the accuracy of the next proposal based on the feedback received.
[0923] "Emotional state" refers to information that indicates the user's emotions and moods.
[0924] An "emotion engine" refers to software or hardware that analyzes a user's input and behavior to recognize their emotional state.
[0925] "Means for reevaluating" refers to a process for reevaluating presented options based on emotional state.
[0926] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. Specific implementation methods are described below.
[0927] This system consists of the following main components: The role and function of each component will be explained in detail below.
[0928] User needs input
[0929] Users use a device (such as a smartphone or tablet) to launch a dedicated application and enter their needs and conditions for the product or service they wish to purchase. This information includes the product category, essential features, and desired price range. For example, users might enter conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[0930] Data conversion and transmission
[0931] The device converts the input data into JSON format, which allows for flexible sending and receiving of data, and then sends the data to the specified API endpoint, including the appropriate authentication token and header information.
[0932] Gathering information and identifying options
[0933] The server receives the JSON data sent from the device. Based on the received user needs, the server collects related product information from multiple internet sources (e.g., review sites, official product pages, online shops, etc.). Specifically, web scraping techniques (e.g., BeautifulSoup or Selenium) or API usage (e.g., APIs from e-commerce sites) are used. The collected information is stored in a database (e.g., PostgreSQL or MongoDB), and detailed information for each product is organized.
[0934] Narrowing down your options
[0935] The server applies an evaluation algorithm (e.g., a statistical model such as AHP or linear regression) to score each candidate product. Based on the scoring results, the results are narrowed down to 1 to 7 options that best suit the user's needs and conditions.
[0936] Presenting options
[0937] The server prepares to send information about the selected options (product name, performance, price, advantages and disadvantages) in JSON format to the device. The server then sends the prepared information to the device. The device receives this information and displays it to the user. The user is presented with the performance, price, advantages and disadvantages of each option.
[0938] Emotion Engine Operation
[0939] The device detects the user's input and actions and sends the data acquired through the built-in camera and microphone to the emotion engine. The emotion engine analyzes this data and recognizes the user's emotional state. For example, it uses facial recognition technology (e.g., OpenCV) or voice emotion recognition technology (e.g., Google Cloud Speech-to-Text API). The recognition results are sent to the server, which analyzes the user's emotional state. Based on the emotional state, the server reevaluates and re-presents the optimal options if the stress level is high.
[0940] Feedback collection and learning
[0941] The user selects one of the presented options and enters feedback about their selection and their experience in the application. For example, they can provide specific feedback such as, "I purchased the third smartwatch and found it to be very useful." The device converts the user's feedback data into JSON format and prepares it for transmission to the server. The device then transmits the feedback data to the server via the API.
[0942] The server receives feedback data sent from the device and uses this feedback to learn how to improve the accuracy of the next suggestion. During this process, it uses machine learning algorithms (e.g., Sci-Kit Learn and TensorFlow) to analyze the user's tendencies. This allows the next suggestion to be more suitable for the user.
[0943] Specific examples
[0944] The following are specific examples of how this system can be used:
[0945] 1. User: Launches the app and enters "I want a new smartwatch." Then adds the following conditions: "health management function," "waterproof," and "under 30,000 yen."
[0946] 2. Terminal: Converts the user's input data into JSON format and sends it to the server.
[0947] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[0948] 4. Server: Applies an evaluation algorithm to score each candidate, narrows it down to the top five choices, and sends the organized data in JSON format to the device.
[0949] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[0950] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[0951] 7. Server: Based on the data from the emotion engine, the server reevaluates the optimal option for reducing stress and presents the appropriate option again.
[0952] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[0953] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[0954] This invention allows users to reduce the time and effort required to narrow down their options, and by presenting optimal options according to their emotional state, it is possible to improve user satisfaction and reduce stress.
[0955] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0956] Step 1:
[0957] The user launches the application on their device and inputs their needs and requirements for the product or service they wish to purchase. As input, the user specifies conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen." The device receives this input data and temporarily stores it.
[0958] Step 2:
[0959] The device converts the user's needs and requirements into JSON format. This conversion process serializes the input data and converts it into a lightweight data exchange format. The resulting output data is a JSON object in a format that can be easily sent and received. For example: "{"Product Category": "Smartwatch", "Requirements": {"Health Management Function": true, "Budget": 30000}}".
[0960] Step 3:
[0961] The device sends the converted JSON-formatted data to the API endpoint, including the appropriate authentication token and header information. This data transmission allows the server to obtain the user's needs and requirements. The input is JSON data, and the output is a confirmation that the data has been transferred to the server.
[0962] Step 4:
[0963] The server receives JSON data from the user via an API. The received data is internally parsed and deserialized into a parseable format. The input to this process is the JSON data from the API, and the output is a data object of the parsed user needs and conditions.
[0964] Step 5:
[0965] Based on the data received, the server collects related product information from multiple sources on the Internet. The server uses web scraping techniques (e.g., BeautifulSoup, Selenium) or APIs (e.g., APIs from e-commerce sites). The input is the user's needs and requirements, and the output is a list of collected related product information.
[0966] Step 6:
[0967] The server stores the collected product information in a database and organizes detailed information for each product. The database can be SQL-based (e.g., PostgreSQL) or NoSQL-based (e.g., MongoDB). The collected product information is the input, and organized database entries are the output.
[0968] Step 7:
[0969] The server generates a list of 30 candidate products based on the user's needs and criteria. This list generation follows predefined rules and filtering criteria. The input is a set of organized database entries, and the output is a list of 30 candidate products.
[0970] Step 8:
[0971] The server applies an evaluation algorithm (e.g., AHP, linear regression) to score each candidate product. Scoring is performed by comprehensively evaluating factors such as performance, price, and review ratings. The input is the list of candidate products, and the output is the score for each product.
[0972] Step 9:
[0973] Based on the scoring results, the server narrows down the options to 1 to 7 that best fit the user's needs and conditions. This narrowing down operation is performed in descending order of score. Scored candidate products are obtained as input, and the narrowed down options 1 to 7 are obtained as output.
[0974] Step 10:
[0975] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format. During this process, detailed information about each option is aggregated. The input is the narrowed-down options, and the output is JSON data of the prepared option information.
[0976] Step 11:
[0977] The server sends the prepared JSON data to the terminal. The prepared JSON data is obtained as the input amount, and the completion of data transmission to the terminal is obtained as the output amount.
[0978] Step 12:
[0979] The terminal displays the received information about the options to the user. This includes the performance, price, advantages and disadvantages of each option. JSON data is received as input, and option information displayed on the screen is output.
[0980] Step 13:
[0981] The device senses the user's input and actions and recognizes the user's emotional state using an emotion engine. During this process, data is collected through the built-in camera and microphone, and emotion recognition technology (e.g., OpenCV, Google Cloud Speech-to-Text API) is used. Sensor data from the camera and microphone is obtained as input, and the recognized emotional state is output.
[0982] Step 14:
[0983] The server analyzes the user's emotional state based on data from the emotion engine. Based on the emotional state, the server reevaluates the optimal option for stress reduction and presents it to the user again. The recognized emotional state is obtained as input, and the reevaluated option is obtained as output.
[0984] Step 15:
[0985] The user selects one of the options presented and enters feedback into the app. For example, the user may provide feedback such as, "I purchased the third smartwatch and found it to be very user-friendly." The selected product information and feedback are saved as input, and the feedback is saved as output.
[0986] Step 16:
[0987] The device converts the user feedback data into JSON format and prepares it for sending to the server. The input is the user feedback, and the output is the JSON-formatted feedback data.
[0988] Step 17:
[0989] The device sends feedback data to the server via the API. The input is the feedback data in JSON format, and the output is a notification that the feedback has been sent to the server.
[0990] Step 18:
[0991] The server receives the feedback data sent from the device. The received data is internally deserialized into a parsable format. The input is JSON-formatted feedback data, and the output is a parsable feedback data object.
[0992] Step 19:
[0993] Based on the feedback data received by the server, a learning process is performed to improve the accuracy of the next proposal. This process uses a machine learning algorithm (e.g., Sci-Kit Learn or TensorFlow) to analyze user trends. The analyzed feedback data is the input, and an updated learning model is the output.
[0994] (Application example 2)
[0995] 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."
[0996] Existing product selection support systems do not take into account the user's emotional state when selecting a product, and lack means to reduce user stress and dissatisfaction. Furthermore, they have difficulty responding flexibly to improve user satisfaction with the presented options. The present invention aims to solve these problems, optimize the entire user selection process, and increase user satisfaction.
[0997] 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.
[0998] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 most suitable options; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for sensing the user's input behavior and recognizing their emotional state; and means for presenting optimal options that reduce the user's stress level based on the recognized emotional state. This makes it possible to support the user in selecting products and services while taking their emotional state into consideration, thereby improving user satisfaction and convenience in the selection process.
[0999] "Means for inputting user needs and conditions" refers to a device or system that provides an interface for users to input their requirements and restrictions regarding desired products and services.
[1000] "Means for collecting candidate options from multiple sources on the Internet" refers to devices or programs that have the function of automatically searching and acquiring information on related products and services from websites, review sites, online shops, etc.
[1001] The "means of evaluating and scoring candidate options to narrow down to the most suitable 1 to 7 options" is a system that utilizes an algorithm to evaluate the collected options based on criteria such as performance, price, and user ratings, and narrow down the options to those that best suit the user's needs.
[1002] The "means for presenting the narrowed down options to the user" refers to a display device or user interface for displaying information about the evaluated options on the user's device.
[1003] "Means for receiving feedback from users and learning to improve the accuracy of next suggestions" refers to a machine learning system that collects feedback information such as satisfaction and usability of the products selected by users, and uses that data to improve the algorithm and increase the accuracy of next suggestions.
[1004] The "means for sensing the user's input behavior and recognizing the user's emotional state" is a system that analyzes the user's operational behavior, such as tapping and scrolling, and estimates the user's emotional state using technologies such as facial expression recognition and voice analysis.
[1005] "Means for presenting optimal options to reduce a user's stress level based on a recognized emotional state" refers to a system that has the function of reevaluating and presenting optimal product and service options for reducing stress and increasing satisfaction, taking into account the user's emotional state.
[1006] The present invention is a comprehensive system for assisting a user's selection behavior and recognizing the user's emotional state using an emotion engine, which is specifically implemented as follows.
[1007] A means of inputting user needs and requirements
[1008] First, the user uses the device to input their needs and requirements for the desired product or service, including the product name, specific features, budget limit, etc. The input information is collected through the application interface, converted by the device into JSON format, and sent to the server via API.
[1009] A means of gathering candidate options from multiple sources on the Internet
[1010] Based on the received data, the server collects relevant candidate options from multiple sources (review sites, official product pages, online shops, etc.) In this process, it aggregates the information using code libraries and web scraping technology, and stores the resulting candidate options in a database.
[1011] A method for evaluating and scoring candidate options to narrow down the choices to 1-7 most suitable options
[1012] Based on the collected data, the server evaluates and scores the candidate options based on performance, price, user ratings, etc., and narrows down the options to those that best fit the user's needs. The evaluation algorithm uses quantitative evaluation criteria to select the best 1 to 7 options.
[1013] A way to present narrowed choices to the user
[1014] The rated and scored options are sent from the server to the device in JSON format and displayed to the user on the device, along with detailed information such as product name, price, advantages and disadvantages.
[1015] A way to receive feedback from users and learn to improve the accuracy of next suggestions
[1016] The user selects one of the options and provides feedback, which is then converted back into JSON format and sent to the server, where it is analyzed and used by machine learning algorithms to improve the accuracy of the next recommendation.
[1017] A means of sensing user input behavior and recognizing emotional states
[1018] The device senses the user's input behavior and recognizes the user's emotional state using an emotion engine, which infers the user's emotional state using techniques such as input patterns, facial expression recognition, and voice analysis.
[1019] A means of presenting optimal options to reduce a user's stress level based on their perceived emotional state
[1020] Based on the data from the emotion engine, the server analyzes the user's emotional state and re-evaluates the best option to reduce stress levels. These options are again presented to the user and the selection process is repeated.
[1021] Specific examples
[1022] For example, a user opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen." The device sends this information to the server, which then collects smartwatch information from multiple sources, evaluates and scores it, and sends the appropriate option to the device. The user then looks at the presented options and has their emotional state analyzed by the emotion engine, which then presents the optimal option again. Finally, the user can purchase the third smartwatch and provide feedback on their experience.
[1023] Prompt Sentence Examples
[1024] User: I want a new smartwatch.
[1025] App: Do you need health tracking features and waterproofing?
[1026] User: Yes.
[1027] App: What is your budget?
[1028] User: It's under 30,000 yen.
[1029] In this way, users can make optimal choices based on their emotional state, making the selection process more satisfying.
[1030] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1031] Step 1:
[1032] The user uses the terminal to launch the application and inputs their needs and requirements regarding the goods or services they wish to purchase.
[1033] Input: The product conditions the user desires (product name, specific features, budget limit)
[1034] Output: Data on user needs and requirements
[1035] Specific operation: Using text boxes and selection menus on the application's input screen, the user enters conditions such as "I want a new smartwatch," "health management functions," "waterproof performance," and "under 30,000 yen."
[1036] Step 2:
[1037] The terminal converts the input data into JSON format and prepares it to be sent to the server.
[1038] Input: Data on user needs and requirements
[1039] Output: JSON format data
[1040] Specific operation: The device application performs internal processing to convert the user's input into a JSON-formatted string and prepares it.
[1041] Step 3:
[1042] The device sends the user input data to the server via the API endpoint.
[1043] Input: JSON format data
[1044] Output: API request response
[1045] Specific operation: The terminal sends an HTTP request to the server's API endpoint via the Internet and transfers the input data to the server.
[1046] Step 4:
[1047] The server receives data from the user via the API.
[1048] Input: JSON data sent from the terminal
[1049] Output: User needs and requirements as a data structure inside the server
[1050] Specific operation: The server parses the received JSON data and stores it in the required format in an internal database or memory.
[1051] Step 5:
[1052] Based on the data received by the server, related product information is collected from multiple information sources on the Internet.
[1053] Input: Data on user needs and requirements
[1054] Output: Related candidate product information
[1055] Specific operation: The server collects product information from multiple sources using web scraping and APIs and stores it in a database.
[1056] Step 6:
[1057] The server stores the collected information in a database and organizes detailed information for each product.
[1058] Input: Collected information about candidate products
[1059] Output: Organized product information
[1060] What it does: The server categorizes product information with appropriate categories and tags, indexes it in a database, and stores it.
[1061] Step 7:
[1062] The server will list 30 potential products based on the user's needs and criteria.
[1063] Input: Organized product information and user needs and conditions
[1064] Output: List of candidate products (30 items)
[1065] What it does: The server uses an internal rating algorithm to pick and list the most relevant products.
[1066] Step 8:
[1067] The server applies an evaluation algorithm to score each candidate product.
[1068] Input: List of 30 candidate products
[1069] Output: Scored product list
[1070] How it works: The server calculates a score for each product based on criteria such as performance, price, and review ratings.
[1071] Step 9:
[1072] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1073] Input: Scored product list
[1074] Output: 1 to 7 best choices
[1075] Specific operation: The server filters the top ranked items and picks the best 1 to 7 items.
[1076] Step 10:
[1077] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1078] Input: 1 to 7 best choices
[1079] Output: Choice data in JSON format
[1080] Specific operation: The server collects information about the selected products, formats it in a user-friendly format, and then converts it into JSON format.
[1081] Step 11:
[1082] The server transmits information about the selected option to the terminal.
[1083] Input: Choice data in JSON format
[1084] Output: Data as a response to the API request
[1085] Specific operation: The server sends JSON data to the terminal as an HTTP response, and the data is transferred to the terminal.
[1086] Step 12:
[1087] The terminal displays the received information on the options to the user.
[1088] Input: JSON data sent from the server
[1089] Output: Information about the choices displayed in the user interface
[1090] Specific operation: The terminal application parses the JSON data and displays detailed information about each option (product name, performance, price, advantages and disadvantages) on the user interface.
[1091] Step 13:
[1092] The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[1093] Input: User input and behavioral data
[1094] Output: User's emotional state data
[1095] Specific operation: The device records input behavior and applies emotion analysis algorithms to recognize the user's emotional state in real time.
[1096] Step 14:
[1097] The server analyzes the user's emotional state based on the data from the emotion engine and re-evaluates the optimal option to reduce the user's stress level.
[1098] Input: User's emotional state data
[1099] Output: Reevaluated best option
[1100] Specific behavior: The server applies a reevaluation algorithm based on the emotional state and reconsiders the best option to reduce stress.
[1101] Step 15:
[1102] The user selects one of the options presented and then provides feedback on it in the app.
[1103] Input: User's selected product and feedback comment
[1104] Output: Feedback data
[1105] Specific operation: The user enters their opinion about the selected product on the feedback screen of the application, and the device records it.
[1106] Step 16:
[1107] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[1108] Input: User feedback data
[1109] Output: Feedback data in JSON format
[1110] Specific operation: The device processes and prepares the user's feedback comments to convert them into JSON format.
[1111] Step 17:
[1112] The device sends feedback data to the server via the API.
[1113] Input: Feedback data in JSON format
[1114] Output: API request response
[1115] Specific operation: The device sends feedback data to the server's API endpoint via an HTTP request.
[1116] Step 18:
[1117] The server receives the feedback data from the terminal.
[1118] Input: Feedback data sent from the device
[1119] Output: Feedback data as a server-internal data structure
[1120] Specific operation: The server parses the received feedback data and stores it in an internal database or memory.
[1121] Step 19:
[1122] Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next proposal.
[1123] Input: Feedback data
[1124] Output: Improved evaluation algorithm
[1125] Specific operation: The server analyzes the feedback data and uses machine learning algorithms to update the evaluation model and learn to improve the accuracy of the next proposal.
[1126] 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.
[1127] 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.
[1128] 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.
[1129] [Third embodiment]
[1130] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1131] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[1132] 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).
[1133] 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.
[1134] 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.
[1135] 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).
[1136] 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.
[1137] 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.
[1138] 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.
[1139] 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.
[1140] 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.
[1141] 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."
[1142] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required in the process, and a specific implementation method thereof will be described below.
[1143] System Overview
[1144] When a user selects a product or service through a terminal, the user inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to assist the selection process.
[1145] Explanation of program processing
[1146] ---
[1147] User needs input
[1148] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1149] ---
[1150] Sending data
[1151] 2. The terminal converts the input data into JSON format and sends it to the server.
[1152] ---
[1153] Gathering information and identifying options
[1154] 3. Based on the data received by the server, it collects related product information from reliable sources on the Internet (such as review sites and official product pages).
[1155] 4. The server organizes the collected information and lists candidate options that meet the user's criteria. At this point, for example, 30 smartwatches are listed as candidates.
[1156] ---
[1157] Narrowing down your options
[1158] 5. The server runs the candidate options through an evaluation algorithm and scores the advantages and disadvantages of each.
[1159] 6. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best fit the user's needs and requirements. For example, the top 5 options are selected based on health management features, waterproof performance, and price.
[1160] ---
[1161] Presenting options
[1162] 7. The server prepares the information about the selected options and sends it to the terminal in JSON format.
[1163] 8. The device displays the options to the user, including the features, price, pros and cons of each option.
[1164] ---
[1165] Feedback collection
[1166] 9. The user selects one of the options presented and enters and submits their feedback to the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1167] ---
[1168] Learning Feedback
[1169] 10. The server uses the received feedback to perform a learning process to improve the accuracy of the next suggestion, using machine learning algorithms to analyze user trends.
[1170] ---
[1171] Specific examples
[1172] Below is an example of actual usage.
[1173] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1174] 2. Terminal: Sends the user's input data to the server.
[1175] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[1176] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1177] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[1178] 6. User: Purchase the third smartwatch and provide feedback on your experience.
[1179] 7. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[1180] This invention allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[1181] The processing flow will be explained below.
[1182] Step 1:
[1183] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1184] Step 2:
[1185] The terminal converts the input data into JSON format and prepares it for sending to the server.
[1186] Step 3:
[1187] The device sends the user input data to the server via the API endpoint.
[1188] Step 4:
[1189] The server receives data from the user via the API.
[1190] Step 5:
[1191] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1192] Step 6:
[1193] The server stores the collected information in a database and organizes detailed information for each product.
[1194] Step 7:
[1195] The server will list 30 potential products based on the user's needs and criteria.
[1196] Step 8:
[1197] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1198] Step 9:
[1199] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1200] Step 10:
[1201] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1202] Step 11:
[1203] The server transmits information about the selected option to the terminal.
[1204] Step 12:
[1205] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1206] Step 13:
[1207] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1208] Step 14:
[1209] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[1210] Step 15:
[1211] The device sends feedback data to the server via the API.
[1212] Step 16:
[1213] The server receives the feedback data from the terminal.
[1214] Step 17:
[1215] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[1216] This allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[1217] Example 1
[1218] 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."
[1219] The present invention aims to reduce the effort and time required for users to find the appropriate option from a vast amount of information when selecting a product or service. In particular, it aims to efficiently present optimal options based on the user's needs and conditions, thereby increasing user satisfaction. In addition, it is necessary to continuously improve the user experience by efficiently collecting feedback from users and improving the accuracy of suggestions for the next time.
[1220] 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.
[1221] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; means for presenting the narrowed options to the user; means for receiving feedback from the user and learning to improve the accuracy of subsequent suggestions; means for converting the user's needs and conditions into JSON format and transmitting it; and a server for interpreting the received JSON data, collecting data from information sources, narrowing down the options by evaluating and scoring, presenting the results, and collecting and learning from feedback. This reduces the effort and time required for users to select products and services, enabling them to make more satisfying choices. Furthermore, by utilizing user feedback to improve the accuracy of subsequent suggestions, the user experience can be continuously improved.
[1222] "Needs" are the requests or demands that users have for specific products or services.
[1223] "Conditions" refer to specific criteria or constraints that a user considers when selecting a product or service.
[1224] "Means" are technical devices or methods used to achieve a specific purpose.
[1225] "Multiple sources on the internet" refers to reliable sources of information such as websites, online databases, and APIs.
[1226] "Candidate Options" refers to a list of potential products and services that are compiled based on the user's needs and requirements.
[1227] "Evaluation" refers to the process of analyzing the merits and demerits of the collected candidate options and evaluating them quantitatively or qualitatively.
[1228] "Scoring" refers to the process of assigning points to each candidate option based on the evaluation results.
[1229] "1 to 7 choices" refers to the 1 to 7 products or services that are most suitable as a result of the evaluation and scoring.
[1230] "Presentation" refers to the process of displaying the results of the evaluation and scoring to the user.
[1231] "Feedback" refers to the opinions and experiences users provide about the options presented to them.
[1232] "Learning" refers to the machine learning process of accumulating collected feedback as data to improve the accuracy of the next proposal.
[1233] "JSON format" refers to a lightweight data exchange format for describing data in a structured way.
[1234] "Transmit" refers to the act of transferring data or information from one point to another.
[1235] "Interpretation" refers to the process of understanding received data or information and converting it into a processable form.
[1236] "Server" refers to a computer system for data processing, storage, and network communication.
[1237] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required for that process. How the invention can be put into practice will be described below.
[1238] System hardware and software configuration
[1239] The system is configured so that when a user selects a product or service through a terminal, they input their needs and conditions, and the server collects, evaluates, scores, presents, and learns from the feedback.
[1240] Hardware:
[1241] User's device (smartphone, tablet, PC, etc.)
[1242] Servers (high-performance computers and cloud servers)
[1243] software:
[1244] Application (interface for inputting user needs and requirements)
[1245] Web crawling tools (e.g., Scrapy) or API access tools (e.g., Postman)
[1246] Machine learning models (e.g., random forests, linear regression)
[1247] Database (e.g. MySQL, MongoDB)
[1248] Data sending and receiving function using communication protocols (e.g. HTTP / HTTPS)
[1249] System Operation Overview
[1250] User behavior:
[1251] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase, such as "I want a new smartwatch with health management features" and "My budget is under 30,000 yen."
[1252] On the device side:
[1253] The terminal converts the input data into JSON format and sends it to the server.
[1254] Server side behavior:
[1255] 1. Based on the data received, the server collects related product information from reliable sources on the Internet. The server collects data using web crawling tools and APIs.
[1256] 2. The server organizes the collected information and lists candidate options that meet the user's criteria.
[1257] 3. The server runs the candidate options through an evaluation algorithm to score the pros and cons of each option, using machine learning models or linear regression.
[1258] 4. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best suit the user's needs and criteria.
[1259] 5. The server sends the selected option information to the terminal in JSON format.
[1260] On the device side:
[1261] The device displays information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1262] Feedback processing:
[1263] The user selects one of the options presented and then enters and submits feedback to the app. The server uses the received feedback to perform a learning process and improve the accuracy of the next suggestion. During this process, a machine learning algorithm is used to analyze user trends.
[1264] Specific examples
[1265] Here is a practical example:
[1266] 1. The user opens the app, types in "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1267] 2. The terminal sends the user's input data to the server.
[1268] 3. The server collects information about smartwatches from multiple sources and creates a list of 30 candidates.
[1269] 4. The server applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1270] 5. The device will display five smartwatches to the user, along with their pros and cons.
[1271] 6. The user purchases the third smartwatch and provides feedback on their experience.
[1272] 7. The server receives the feedback, learns user trends, and reflects them in its next suggestions.
[1273] Prompt Sentence Examples
[1274] "I'm looking for a new smartwatch. Please suggest a product that meets the following criteria: health tracking features, waterproof, and a budget of under ¥30,000."
[1275] In this way, the system based on the present invention can effectively carry out a series of processes starting from user input, including data collection, evaluation, presentation, and feedback learning.
[1276] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1277] Step 1:
[1278] User needs input
[1279] The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. Specifically, the user enters "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen" into the application form. This input data becomes the input for the next step.
[1280] Step 2:
[1281] Sending data
[1282] The terminal converts the input data into JSON format and sends it to the server. Specifically, the terminal receives the user's input, calls a function to convert it into JSON format, and formats the data. The formatted JSON data is sent to the server as an HTTP POST request. The output of this step is the user needs data in JSON format sent to the server.
[1283] Step 3:
[1284] Gathering information and identifying options
[1285] Based on the data received by the server, it collects related product information from reliable sources on the Internet. Specifically, the server collects data using API access tools and web crawling tools. For example, a search query is executed with the conditions "smartwatch with health management function, waterproof, budget under 30,000 yen." The input for this step is the user needs data in JSON format received by the server, and the output is the collected raw product information.
[1286] Step 4:
[1287] Data preparation and list of candidate options
[1288] The server organizes the collected information and lists candidate options that meet the user's criteria. Specifically, the server performs a data cleansing process and stores it in a database. It removes irrelevant data and lists products that meet the criteria. The input to this step is raw product information, and the output is a list of candidate options that meet the criteria (e.g., 30 smartwatches).
[1289] Step 5:
[1290] Candidate evaluation and scoring
[1291] The server runs the candidate options through an evaluation algorithm and scores the pros and cons of each. Specifically, it uses a machine learning model (e.g., random forest) to evaluate each candidate and assign a score based on the following criteria: health management features, waterproofing, and price. The input to this step is a list of candidate options, and the output is the evaluated and scored options.
[1292] Step 6:
[1293] Narrowing down your options
[1294] Based on the evaluation results, the server narrows down the list to 1-7 options that best fit the user's needs and criteria. Specifically, it adds up the scores and selects the top 5 options. It then converts the narrowed down options into JSON format. The input to this step are the evaluated and scored options, and the output is the top options in JSON format.
[1295] Step 7:
[1296] Sending the selection results
[1297] The server organizes the information about the selected options and sends it to the terminal in JSON format. Specifically, the server formats the selection results in JSON format and returns the data to the terminal as an HTTP response. The input to this step is the top option in JSON format, and the output is the selection result data sent to the terminal.
[1298] Step 8:
[1299] Display of selection results
[1300] The terminal displays information about the options to the user. Specifically, the terminal interprets the received JSON data and displays a list of the performance, price, advantages and disadvantages of each option on the screen. The input to this step is the selection result data sent to the terminal, and the output is the information about the options displayed to the user.
[1301] Step 9:
[1302] Enter your feedback
[1303] The user selects one of the presented options and enters and sends feedback on that choice to the app. Specifically, the user selects a third smartwatch and enters their experience using it in the app's feedback form, which is then sent to the server. The input of this step is the user's feedback data, and the output is the feedback data sent to the server.
[1304] Step 10:
[1305] Learning Feedback
[1306] The server performs a learning process based on the received feedback to improve the accuracy of the next proposal. Specifically, the server inputs the feedback data into a machine learning algorithm, analyzes user trends, and updates the model. The input of this step is the received feedback data, and the output is an updated machine learning model.
[1307] (Application example 1)
[1308] 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."
[1309] In recent years, shopping over the Internet has become commonplace, and many users spend time and effort selecting the best product from a large number of options. In particular, as systems that provide virtual shopping experiences become more widespread, users are required to be able to find appropriate options quickly and efficiently. However, many conventional systems have difficulty finding products or services that perfectly match users' needs. They also lack mechanisms for utilizing post-purchase feedback to improve future recommendations. Therefore, a new system is needed that allows users to easily find products that meet their needs and make highly satisfying choices.
[1310] 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.
[1311] In this invention, the server includes: a means for inputting a user's needs and conditions; a means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; a means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; a means for presenting the narrowed options to the user; a means for receiving feedback from the user and learning to improve the accuracy of suggestions for the next time; and a means installed on a smartphone or smart glasses for providing a virtual shopping experience that supports the user's selection. This allows the user to make more appropriate product selections when shopping in a virtual space, significantly reducing the time and effort required for the selection process. Furthermore, improving the accuracy of suggestions based on feedback also improves the user's purchasing experience in the future.
[1312] "User" means any person or entity that uses the System to purchase goods or services.
[1313] "Needs" are the requirements and conditions that users have for products and services.
[1314] "Conditions" are specific constraints that must be met to meet a user's needs.
[1315] A "means" is a method or device used to achieve a particular purpose.
[1316] An "information source" is a website, database, or other resource that provides information about products and services on the Internet.
[1317] "Candidate Options" refers to a list of products and services selected based on the user's needs and requirements.
[1318] "Evaluation" is the process of making quantitative or qualitative judgments about candidate options.
[1319] "Scoring" is the process of assigning points to each candidate option based on the evaluation results.
[1320] A "virtual shopping experience" is shopping that takes place in a virtual environment, where users can select and purchase products without physically going to a store.
[1321] A "smartphone" is a mobile information terminal that, in addition to the functions of a mobile phone, can also connect to the Internet and run applications.
[1322] "Smart glasses" are a wearable device in the shape of glasses that can display information to the user and provide interaction.
[1323] "Feedback" refers to the process by which users provide feedback about their experience and opinions regarding the products and services they have selected.
[1324] "Learning" is the process by which the system processes data to improve the accuracy of its next suggestions based on collected feedback.
[1325] A "machine learning algorithm" is a computer algorithm that automatically learns patterns from data and makes predictions and classifications.
[1326] The present invention relates to a system that provides a virtual shopping experience to suggest optimal products and services to users. In this system, when a user selects a product or service using a smartphone or smart glasses, the user inputs their needs and conditions, and a server collects, evaluates, scores, presents, and learns from the feedback.
[1327] System Overview
[1328] The following hardware and software are used as elements that make up the system.
[1329] Hardware: Smartphones, smart glasses
[1330] Software: Python scripts, requests library for API calls, machine learning algorithms
[1331] Feature details
[1332] 1. Input of user needs
[1333] Users launch the application using their smartphone or smart glasses and input their needs and requirements for the product or service they wish to purchase. For example, they can input requirements such as "a smartwatch with health management functions for under 30,000 yen." Both voice and text input are possible.
[1334] 2. Data transmission and conversion
[1335] The device converts the input data into JSON format and sends it to the server. If the data is sent correctly, the device moves on to the next processing step.
[1336] 3. Information gathering
[1337] The server collects relevant product information from reliable sources on the Internet (such as review sites and official product pages) based on the received data. For this purpose, it uses the requests library to make API calls.
[1338] 4. Evaluation and Scoring
[1339] The server organizes the collected information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the options and quantitatively evaluate the pros and cons of each option. For example, it narrows down the options to the top five based on health management features, waterproofing, and price.
[1340] 5. Present options
[1341] The server sends information about the selected options in JSON format to the device, and the device displays the information to the user, including each option's performance, price, advantages and disadvantages, etc.
[1342] 6. Gather feedback and learn
[1343] The user selects one of the options presented and then provides feedback to the app. The server receives this feedback and uses a learning algorithm to improve the accuracy of the next suggestion.
[1344] Specific examples
[1345] For example, a user can voice-input a condition into their smartphone, such as "I want a smartwatch with health management functions and waterproofing for under 30,000 yen." The system selects an appropriate smartwatch based on data collected from online sources and displays the top five candidates to the user. If the user selects the third candidate smartwatch and provides feedback on its usage experience, the accuracy of suggestions will improve in future. In this way, users can efficiently find the product that best suits them.
[1346] Prompt Sentence Examples
[1347] "Please suggest the best products for the following query: 'Smartwatch with health management features under $300'"
[1348] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1349] Program processing flow
[1350] Step 1:
[1351] The user launches the application using a smartphone or smart glasses and inputs their needs and requirements for the product or service they want to purchase. For example, the user might input "a smartwatch with health management functions for under 30,000 yen" by voice or text. This input data is used in the next step.
[1352] Step 2:
[1353] The terminal converts the input data into JSON format and sends it to the server. The input is data about the needs and conditions entered by the user, and the output is JSON format data. This data conversion is necessary to ensure smooth subsequent data processing.
[1354] Step 3:
[1355] The server parses the received JSON-formatted data and collects relevant product information from reliable sources on the Internet (such as review sites and official product pages). The server uses an API to collect information and compiles product data that matches the user's needs. The input is JSON data, and the output is a list of the collected product information.
[1356] Step 4:
[1357] The server organizes the collected product information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the candidate options and quantitatively evaluate the advantages and disadvantages of each option. Based on the evaluation results, it narrows down the options to the top five or seven. The input is a list of product information, and the output is the scored candidate options.
[1358] Step 5:
[1359] The server sends information about the selected top options in JSON format to the device. The device parses the received data and displays detailed information about the options to the user, including the performance, price, advantages and disadvantages of each option. The input is the data of the scored candidate options, and the output is a list of options displayed to the user.
[1360] Step 6:
[1361] The user selects one of the options presented and then enters and sends feedback about it to the app. For example, the user might enter, "I purchased the third smartwatch and found it to be very user-friendly." The input is the user's feedback data, and the output is the feedback information sent to the server.
[1362] Step 7:
[1363] The server receives the feedback and uses a learning algorithm to improve the accuracy of the next suggestion. At this time, it analyzes the collected feedback data and learns the user's tendencies. The input is the feedback data from the user, and the output is the learning results for the next suggestion.
[1364] 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.
[1365] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. A specific implementation method for this is described below.
[1366] System Overview
[1367] When a user selects a product or service through a terminal, the system inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to support the selection process.Furthermore, an emotion engine is used to recognize the user's emotional state and present appropriate options.
[1368] Explanation of program processing
[1369] ---
[1370] User needs input
[1371] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1372] ---
[1373] Sending data
[1374] 2. The device converts the input data into JSON format and prepares it for sending to the server.
[1375] 3. The device sends the user input data to the server via the API endpoint.
[1376] ---
[1377] Gathering information and identifying options
[1378] 4. The server receives the data from the user via the API.
[1379] 5. Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1380] 6. The server stores the collected information in a database and organizes detailed information for each product.
[1381] 7. The server will generate a list of 30 potential products based on the user's needs and criteria.
[1382] ---
[1383] Narrowing down your options
[1384] 8. The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1385] 9. Based on the scoring results, the server narrows down the results to 1-7 options that best fit the user's needs and criteria.
[1386] ---
[1387] Presenting options
[1388] 10. The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1389] 11. The server sends information about the selected option to the terminal.
[1390] 12. The device displays the received options information to the user, including the performance, price, advantages and disadvantages of each option.
[1391] ---
[1392] Emotion Engine Operation
[1393] 13. The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[1394] 14. The server uses the data from the emotion engine to analyze the user's emotional state and reassess the best option to reduce the user's stress level.
[1395] ---
[1396] Feedback collection
[1397] 15. The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1398] 16. The device converts the user feedback data into JSON format and prepares it for sending to the server.
[1399] 17. The device sends the feedback data to the server via API.
[1400] ---
[1401] Learning Feedback
[1402] 18. The server receives the feedback data from the terminal.
[1403] 19. Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next suggestion, using a machine learning algorithm to analyze user trends.
[1404] ---
[1405] Specific examples
[1406] Below is an example of actual usage.
[1407] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1408] 2. Terminal: Sends the user's input data to the server.
[1409] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[1410] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1411] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[1412] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[1413] 7. Server: Based on the data from the emotion engine, the server reevaluates the best option for reducing stress and presents the appropriate option.
[1414] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[1415] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[1416] This invention allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and also reduces the user's stress level by providing options that correspond to their emotional state.
[1417] The processing flow will be explained below.
[1418] Step 1:
[1419] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1420] Step 2:
[1421] The terminal converts the input data into JSON format and prepares it for sending to the server.
[1422] Step 3:
[1423] The device sends the user input data to the server via the API endpoint.
[1424] Step 4:
[1425] The server receives data from the user via the API.
[1426] Step 5:
[1427] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1428] Step 6:
[1429] The server stores the collected information in a database and organizes detailed information for each product.
[1430] Step 7:
[1431] The server will list at most 30 potential products based on the user's needs and requirements.
[1432] Step 8:
[1433] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1434] Step 9:
[1435] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1436] Step 10:
[1437] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1438] Step 11:
[1439] The server transmits information about the selected option to the terminal.
[1440] Step 12:
[1441] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1442] Step 13:
[1443] The device detects the user's input and operations and recognizes the user's emotional state using an emotion engine, which determines the user's emotions based on facial expression recognition, voice analysis, operation history, etc.
[1444] Step 14:
[1445] The server analyzes the user's emotional state based on data from the emotion engine, which is classified into multiple categories such as stress, satisfaction, and anxiety.
[1446] Step 15:
[1447] The server reevaluates the options presented depending on the results of its analysis of the user's emotional state. For example, if the server determines that the user is under stress, it will instruct the system to prioritize simple and easy-to-understand options.
[1448] Step 16:
[1449] The server sends the re-evaluated options to the terminal and presents them to the user again.
[1450] Step 17:
[1451] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1452] Step 18:
[1453] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[1454] Step 19:
[1455] The device sends feedback data to the server via the API.
[1456] Step 20:
[1457] The server receives the feedback data from the terminal.
[1458] Step 21:
[1459] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[1460] This allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and by providing options that correspond to their emotional state, it is possible to reduce the user's stress level.
[1461] Example 2
[1462] 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."
[1463] Today's consumers spend a great deal of time and effort choosing the best option from a wide variety of products and services. The stress of the selection process is also a significant issue. Furthermore, there is a lack of systems to effectively incorporate feedback after a selection into future recommendations.
[1464] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for inputting the user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that are most suitable for the needs and conditions; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for recognizing the user's emotional state; and means for reevaluating appropriate options based on the emotional state. This allows the user to reduce the time and effort required to narrow down the options, make a satisfying selection, and obtain the optimal option according to the user's emotional state.
[1465] "User" refers to an individual who uses the system to participate in the product or service selection process.
[1466] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.
[1467] "Server" refers to a central system that receives input from users, processes it, and returns the results.
[1468] "Needs and conditions" refers to specific requirements and desired conditions regarding the product or service that the user wishes to purchase.
[1469] "Sources" refers to websites and APIs that provide data about products and services on the internet.
[1470] "Candidate options" refers to a collection of potentially suitable products and services based on the user's needs and requirements.
[1471] "Evaluation algorithm" refers to a calculation method for quantitatively evaluating and scoring candidate options based on the user's needs and conditions.
[1472] "Scoring" refers to the numerical rating given to each candidate option by the rating algorithm.
[1473] "Feedback" refers to information such as the user's evaluation of the options and their impressions of use.
[1474] "Means of learning" refers to the process of improving the accuracy of the next proposal based on the feedback received.
[1475] "Emotional state" refers to information that indicates the user's emotions and moods.
[1476] An "emotion engine" refers to software or hardware that analyzes a user's input and behavior to recognize their emotional state.
[1477] "Means for reevaluating" refers to a process for reevaluating presented options based on emotional state.
[1478] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. Specific implementation methods are described below.
[1479] This system consists of the following main components: The role and function of each component will be explained in detail below.
[1480] User needs input
[1481] Users use a device (such as a smartphone or tablet) to launch a dedicated application and enter their needs and conditions for the product or service they wish to purchase. This information includes the product category, essential features, and desired price range. For example, users might enter conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1482] Data conversion and transmission
[1483] The device converts the input data into JSON format, which allows for flexible sending and receiving of data, and then sends the data to the specified API endpoint, including the appropriate authentication token and header information.
[1484] Gathering information and identifying options
[1485] The server receives the JSON data sent from the device. Based on the received user needs, the server collects related product information from multiple internet sources (e.g., review sites, official product pages, online shops, etc.). Specifically, web scraping techniques (e.g., BeautifulSoup or Selenium) or API usage (e.g., APIs from e-commerce sites) are used. The collected information is stored in a database (e.g., PostgreSQL or MongoDB), and detailed information for each product is organized.
[1486] Narrowing down your options
[1487] The server applies an evaluation algorithm (e.g., a statistical model such as AHP or linear regression) to score each candidate product. Based on the scoring results, the results are narrowed down to 1 to 7 options that best suit the user's needs and conditions.
[1488] Presenting options
[1489] The server prepares to send information about the selected options (product name, performance, price, advantages and disadvantages) in JSON format to the device. The server then sends the prepared information to the device. The device receives this information and displays it to the user. The user is presented with the performance, price, advantages and disadvantages of each option.
[1490] Emotion Engine Operation
[1491] The device detects the user's input and actions and sends the data acquired through the built-in camera and microphone to the emotion engine. The emotion engine analyzes this data and recognizes the user's emotional state. For example, it uses facial recognition technology (e.g., OpenCV) or voice emotion recognition technology (e.g., Google Cloud Speech-to-Text API). The recognition results are sent to the server, which analyzes the user's emotional state. Based on the emotional state, the server reevaluates and re-presents the optimal options if the stress level is high.
[1492] Feedback collection and learning
[1493] The user selects one of the presented options and enters feedback about their selection and their experience in the application. For example, they can provide specific feedback such as, "I purchased the third smartwatch and found it to be very useful." The device converts the user's feedback data into JSON format and prepares it for transmission to the server. The device then transmits the feedback data to the server via the API.
[1494] The server receives feedback data sent from the device and uses this feedback to learn how to improve the accuracy of the next suggestion. During this process, it uses machine learning algorithms (e.g., Sci-Kit Learn and TensorFlow) to analyze the user's tendencies. This allows the next suggestion to be more suitable for the user.
[1495] Specific examples
[1496] The following are specific examples of how this system can be used:
[1497] 1. User: Launches the app and enters "I want a new smartwatch." Then adds the following conditions: "health management function," "waterproof," and "under 30,000 yen."
[1498] 2. Terminal: Converts the user's input data into JSON format and sends it to the server.
[1499] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[1500] 4. Server: Applies an evaluation algorithm to score each candidate, narrows it down to the top five choices, and sends the organized data in JSON format to the device.
[1501] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[1502] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[1503] 7. Server: Based on the data from the emotion engine, the server reevaluates the optimal option for reducing stress and presents the appropriate option again.
[1504] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[1505] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[1506] This invention allows users to reduce the time and effort required to narrow down their options, and by presenting optimal options according to their emotional state, it is possible to improve user satisfaction and reduce stress.
[1507] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1508] Step 1:
[1509] The user launches the application on their device and inputs their needs and requirements for the product or service they wish to purchase. As input, the user specifies conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen." The device receives this input data and temporarily stores it.
[1510] Step 2:
[1511] The device converts the user's needs and requirements into JSON format. This conversion process serializes the input data and converts it into a lightweight data exchange format. The resulting output data is a JSON object in a format that can be easily sent and received. For example: "{"Product Category": "Smartwatch", "Requirements": {"Health Management Function": true, "Budget": 30000}}".
[1512] Step 3:
[1513] The device sends the converted JSON-formatted data to the API endpoint, including the appropriate authentication token and header information. This data transmission allows the server to obtain the user's needs and requirements. The input is JSON data, and the output is a confirmation that the data has been transferred to the server.
[1514] Step 4:
[1515] The server receives JSON data from the user via an API. The received data is internally parsed and deserialized into a parseable format. The input to this process is the JSON data from the API, and the output is a data object of the parsed user needs and conditions.
[1516] Step 5:
[1517] Based on the data received, the server collects related product information from multiple sources on the Internet. The server uses web scraping techniques (e.g., BeautifulSoup, Selenium) or APIs (e.g., APIs from e-commerce sites). The input is the user's needs and requirements, and the output is a list of collected related product information.
[1518] Step 6:
[1519] The server stores the collected product information in a database and organizes detailed information for each product. The database can be SQL-based (e.g., PostgreSQL) or NoSQL-based (e.g., MongoDB). The collected product information is the input, and organized database entries are the output.
[1520] Step 7:
[1521] The server generates a list of 30 candidate products based on the user's needs and criteria. This list generation follows predefined rules and filtering criteria. The input is a set of organized database entries, and the output is a list of 30 candidate products.
[1522] Step 8:
[1523] The server applies an evaluation algorithm (e.g., AHP, linear regression) to score each candidate product. Scoring is performed by comprehensively evaluating factors such as performance, price, and review ratings. The input is the list of candidate products, and the output is the score for each product.
[1524] Step 9:
[1525] Based on the scoring results, the server narrows down the options to 1 to 7 that best fit the user's needs and conditions. This narrowing down operation is performed in descending order of score. Scored candidate products are obtained as input, and the narrowed down options 1 to 7 are obtained as output.
[1526] Step 10:
[1527] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format. During this process, detailed information about each option is aggregated. The input is the narrowed-down options, and the output is JSON data of the prepared option information.
[1528] Step 11:
[1529] The server sends the prepared JSON data to the terminal. The prepared JSON data is obtained as the input amount, and the completion of data transmission to the terminal is obtained as the output amount.
[1530] Step 12:
[1531] The terminal displays the received information about the options to the user. This includes the performance, price, advantages and disadvantages of each option. JSON data is received as input, and option information displayed on the screen is output.
[1532] Step 13:
[1533] The device senses the user's input and actions and recognizes the user's emotional state using an emotion engine. During this process, data is collected through the built-in camera and microphone, and emotion recognition technology (e.g., OpenCV, Google Cloud Speech-to-Text API) is used. Sensor data from the camera and microphone is obtained as input, and the recognized emotional state is output.
[1534] Step 14:
[1535] The server analyzes the user's emotional state based on data from the emotion engine. Based on the emotional state, the server reevaluates the optimal option for stress reduction and presents it to the user again. The recognized emotional state is obtained as input, and the reevaluated option is obtained as output.
[1536] Step 15:
[1537] The user selects one of the options presented and enters feedback into the app. For example, the user may provide feedback such as, "I purchased the third smartwatch and found it to be very user-friendly." The selected product information and feedback are saved as input, and the feedback is saved as output.
[1538] Step 16:
[1539] The device converts the user feedback data into JSON format and prepares it for sending to the server. The input is the user feedback, and the output is the JSON-formatted feedback data.
[1540] Step 17:
[1541] The device sends feedback data to the server via the API. The input is the feedback data in JSON format, and the output is a notification that the feedback has been sent to the server.
[1542] Step 18:
[1543] The server receives the feedback data sent from the device. The received data is internally deserialized into a parsable format. The input is JSON-formatted feedback data, and the output is a parsable feedback data object.
[1544] Step 19:
[1545] Based on the feedback data received by the server, a learning process is performed to improve the accuracy of the next proposal. This process uses a machine learning algorithm (e.g., Sci-Kit Learn or TensorFlow) to analyze user trends. The analyzed feedback data is the input, and an updated learning model is the output.
[1546] (Application example 2)
[1547] 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."
[1548] Existing product selection support systems do not take into account the user's emotional state when selecting a product, and lack means to reduce user stress and dissatisfaction. Furthermore, they have difficulty responding flexibly to improve user satisfaction with the presented options. The present invention aims to solve these problems, optimize the entire user selection process, and increase user satisfaction.
[1549] 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.
[1550] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 most suitable options; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for sensing the user's input behavior and recognizing their emotional state; and means for presenting optimal options that reduce the user's stress level based on the recognized emotional state. This makes it possible to support the user in selecting products and services while taking their emotional state into consideration, thereby improving user satisfaction and convenience in the selection process.
[1551] "Means for inputting user needs and conditions" refers to a device or system that provides an interface for users to input their requirements and restrictions regarding desired products and services.
[1552] "Means for collecting candidate options from multiple sources on the Internet" refers to devices or programs that have the function of automatically searching and acquiring information on related products and services from websites, review sites, online shops, etc.
[1553] The "means of evaluating and scoring candidate options to narrow down to the most suitable 1 to 7 options" is a system that utilizes an algorithm to evaluate the collected options based on criteria such as performance, price, and user ratings, and narrow down the options to those that best suit the user's needs.
[1554] The "means for presenting the narrowed down options to the user" refers to a display device or user interface for displaying information about the evaluated options on the user's device.
[1555] "Means for receiving feedback from users and learning to improve the accuracy of next suggestions" refers to a machine learning system that collects feedback information such as satisfaction and usability of the products selected by users, and uses that data to improve the algorithm and increase the accuracy of next suggestions.
[1556] The "means for sensing the user's input behavior and recognizing the user's emotional state" is a system that analyzes the user's operational behavior, such as tapping and scrolling, and estimates the user's emotional state using technologies such as facial expression recognition and voice analysis.
[1557] "Means for presenting optimal options to reduce a user's stress level based on a recognized emotional state" refers to a system that has the function of reevaluating and presenting optimal product and service options for reducing stress and increasing satisfaction, taking into account the user's emotional state.
[1558] The present invention is a comprehensive system for assisting a user's selection behavior and recognizing the user's emotional state using an emotion engine, which is specifically implemented as follows.
[1559] A means of inputting user needs and requirements
[1560] First, the user uses the device to input their needs and requirements for the desired product or service, including the product name, specific features, budget limit, etc. The input information is collected through the application interface, converted by the device into JSON format, and sent to the server via API.
[1561] A means of gathering candidate options from multiple sources on the Internet
[1562] Based on the received data, the server collects relevant candidate options from multiple sources (review sites, official product pages, online shops, etc.) In this process, it aggregates the information using code libraries and web scraping technology, and stores the resulting candidate options in a database.
[1563] A method for evaluating and scoring candidate options to narrow down the choices to 1-7 most suitable options
[1564] Based on the collected data, the server evaluates and scores the candidate options based on performance, price, user ratings, etc., and narrows down the options to those that best fit the user's needs. The evaluation algorithm uses quantitative evaluation criteria to select the best 1 to 7 options.
[1565] A way to present narrowed choices to the user
[1566] The rated and scored options are sent from the server to the device in JSON format and displayed to the user on the device, along with detailed information such as product name, price, advantages and disadvantages.
[1567] A way to receive feedback from users and learn to improve the accuracy of next suggestions
[1568] The user selects one of the options and provides feedback, which is then converted back into JSON format and sent to the server, where it is analyzed and used by machine learning algorithms to improve the accuracy of the next recommendation.
[1569] A means of sensing user input behavior and recognizing emotional states
[1570] The device senses the user's input behavior and recognizes the user's emotional state using an emotion engine, which infers the user's emotional state using techniques such as input patterns, facial expression recognition, and voice analysis.
[1571] A means of presenting optimal options to reduce a user's stress level based on their perceived emotional state
[1572] Based on the data from the emotion engine, the server analyzes the user's emotional state and re-evaluates the best option to reduce stress levels. These options are again presented to the user and the selection process is repeated.
[1573] Specific examples
[1574] For example, a user opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen." The device sends this information to the server, which then collects smartwatch information from multiple sources, evaluates and scores it, and sends the appropriate option to the device. The user then looks at the presented options and has their emotional state analyzed by the emotion engine, which then presents the optimal option again. Finally, the user can purchase the third smartwatch and provide feedback on their experience.
[1575] Prompt Sentence Examples
[1576] User: I want a new smartwatch.
[1577] App: Do you need health tracking features and waterproofing?
[1578] User: Yes.
[1579] App: What is your budget?
[1580] User: It's under 30,000 yen.
[1581] In this way, users can make optimal choices based on their emotional state, making the selection process more satisfying.
[1582] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1583] Step 1:
[1584] The user uses the terminal to launch the application and inputs their needs and requirements regarding the goods or services they wish to purchase.
[1585] Input: The product conditions the user desires (product name, specific features, budget limit)
[1586] Output: Data on user needs and requirements
[1587] Specific operation: Using text boxes and selection menus on the application's input screen, the user enters conditions such as "I want a new smartwatch," "health management functions," "waterproof performance," and "under 30,000 yen."
[1588] Step 2:
[1589] The terminal converts the input data into JSON format and prepares it to be sent to the server.
[1590] Input: Data on user needs and requirements
[1591] Output: JSON format data
[1592] Specific operation: The device application performs internal processing to convert the user's input into a JSON-formatted string and prepares it.
[1593] Step 3:
[1594] The device sends the user input data to the server via the API endpoint.
[1595] Input: JSON format data
[1596] Output: API request response
[1597] Specific operation: The terminal sends an HTTP request to the server's API endpoint via the Internet and transfers the input data to the server.
[1598] Step 4:
[1599] The server receives data from the user via the API.
[1600] Input: JSON data sent from the terminal
[1601] Output: User needs and requirements as a data structure inside the server
[1602] Specific operation: The server parses the received JSON data and stores it in the required format in an internal database or memory.
[1603] Step 5:
[1604] Based on the data received by the server, related product information is collected from multiple information sources on the Internet.
[1605] Input: Data on user needs and requirements
[1606] Output: Related candidate product information
[1607] Specific operation: The server collects product information from multiple sources using web scraping and APIs and stores it in a database.
[1608] Step 6:
[1609] The server stores the collected information in a database and organizes detailed information for each product.
[1610] Input: Collected information about candidate products
[1611] Output: Organized product information
[1612] What it does: The server categorizes product information with appropriate categories and tags, indexes it in a database, and stores it.
[1613] Step 7:
[1614] The server will list 30 potential products based on the user's needs and criteria.
[1615] Input: Organized product information and user needs and conditions
[1616] Output: List of candidate products (30 items)
[1617] What it does: The server uses an internal rating algorithm to pick and list the most relevant products.
[1618] Step 8:
[1619] The server applies an evaluation algorithm to score each candidate product.
[1620] Input: List of 30 candidate products
[1621] Output: Scored product list
[1622] How it works: The server calculates a score for each product based on criteria such as performance, price, and review ratings.
[1623] Step 9:
[1624] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1625] Input: Scored product list
[1626] Output: 1 to 7 best choices
[1627] Specific operation: The server filters the top ranked items and picks the best 1 to 7 items.
[1628] Step 10:
[1629] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1630] Input: 1 to 7 best choices
[1631] Output: Choice data in JSON format
[1632] Specific operation: The server collects information about the selected products, formats it in a user-friendly format, and then converts it into JSON format.
[1633] Step 11:
[1634] The server transmits information about the selected option to the terminal.
[1635] Input: Choice data in JSON format
[1636] Output: Data as a response to the API request
[1637] Specific operation: The server sends JSON data to the terminal as an HTTP response, and the data is transferred to the terminal.
[1638] Step 12:
[1639] The terminal displays the received information on the options to the user.
[1640] Input: JSON data sent from the server
[1641] Output: Information about the choices displayed in the user interface
[1642] Specific operation: The terminal application parses the JSON data and displays detailed information about each option (product name, performance, price, advantages and disadvantages) on the user interface.
[1643] Step 13:
[1644] The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[1645] Input: User input and behavioral data
[1646] Output: User's emotional state data
[1647] Specific operation: The device records input behavior and applies emotion analysis algorithms to recognize the user's emotional state in real time.
[1648] Step 14:
[1649] The server analyzes the user's emotional state based on the data from the emotion engine and re-evaluates the optimal option to reduce the user's stress level.
[1650] Input: User's emotional state data
[1651] Output: Reevaluated best option
[1652] Specific behavior: The server applies a reevaluation algorithm based on the emotional state and reconsiders the best option to reduce stress.
[1653] Step 15:
[1654] The user selects one of the options presented and then provides feedback on it in the app.
[1655] Input: User's selected product and feedback comment
[1656] Output: Feedback data
[1657] Specific operation: The user enters their opinion about the selected product on the feedback screen of the application, and the device records it.
[1658] Step 16:
[1659] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[1660] Input: User feedback data
[1661] Output: Feedback data in JSON format
[1662] Specific operation: The device processes and prepares the user's feedback comments to convert them into JSON format.
[1663] Step 17:
[1664] The device sends feedback data to the server via the API.
[1665] Input: Feedback data in JSON format
[1666] Output: API request response
[1667] Specific operation: The device sends feedback data to the server's API endpoint via an HTTP request.
[1668] Step 18:
[1669] The server receives the feedback data from the terminal.
[1670] Input: Feedback data sent from the device
[1671] Output: Feedback data as a server-internal data structure
[1672] Specific operation: The server parses the received feedback data and stores it in an internal database or memory.
[1673] Step 19:
[1674] Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next proposal.
[1675] Input: Feedback data
[1676] Output: Improved evaluation algorithm
[1677] Specific operation: The server analyzes the feedback data and uses machine learning algorithms to update the evaluation model and learn to improve the accuracy of the next proposal.
[1678] 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.
[1679] 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.
[1680] 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.
[1681] [Fourth embodiment]
[1682] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1683] 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.
[1684] 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).
[1685] 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.
[1686] 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.
[1687] 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).
[1688] 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.
[1689] 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.
[1690] 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.
[1691] 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.
[1692] 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.
[1693] 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.
[1694] 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."
[1695] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required in the process, and a specific implementation method thereof will be described below.
[1696] System Overview
[1697] When a user selects a product or service through a terminal, the user inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to assist the selection process.
[1698] Explanation of program processing
[1699] ---
[1700] User needs input
[1701] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1702] ---
[1703] Sending data
[1704] 2. The terminal converts the input data into JSON format and sends it to the server.
[1705] ---
[1706] Gathering information and identifying options
[1707] 3. Based on the data received by the server, it collects related product information from reliable sources on the Internet (such as review sites and official product pages).
[1708] 4. The server organizes the collected information and lists candidate options that meet the user's criteria. At this point, for example, 30 smartwatches are listed as candidates.
[1709] ---
[1710] Narrowing down your options
[1711] 5. The server runs the candidate options through an evaluation algorithm and scores the advantages and disadvantages of each.
[1712] 6. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best fit the user's needs and requirements. For example, the top 5 options are selected based on health management features, waterproof performance, and price.
[1713] ---
[1714] Presenting options
[1715] 7. The server prepares the information about the selected options and sends it to the terminal in JSON format.
[1716] 8. The device displays the options to the user, including the features, price, pros and cons of each option.
[1717] ---
[1718] Feedback collection
[1719] 9. The user selects one of the options presented and enters and submits their feedback to the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1720] ---
[1721] Learning Feedback
[1722] 10. The server uses the received feedback to perform a learning process to improve the accuracy of the next suggestion, using machine learning algorithms to analyze user trends.
[1723] ---
[1724] Specific examples
[1725] Below is an example of actual usage.
[1726] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1727] 2. Terminal: Sends the user's input data to the server.
[1728] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[1729] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1730] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[1731] 6. User: Purchase the third smartwatch and provide feedback on your experience.
[1732] 7. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[1733] This invention allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[1734] The processing flow will be explained below.
[1735] Step 1:
[1736] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1737] Step 2:
[1738] The terminal converts the input data into JSON format and prepares it for sending to the server.
[1739] Step 3:
[1740] The device sends the user input data to the server via the API endpoint.
[1741] Step 4:
[1742] The server receives data from the user via the API.
[1743] Step 5:
[1744] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1745] Step 6:
[1746] The server stores the collected information in a database and organizes detailed information for each product.
[1747] Step 7:
[1748] The server will list 30 potential products based on the user's needs and criteria.
[1749] Step 8:
[1750] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1751] Step 9:
[1752] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1753] Step 10:
[1754] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1755] Step 11:
[1756] The server transmits information about the selected option to the terminal.
[1757] Step 12:
[1758] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1759] Step 13:
[1760] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1761] Step 14:
[1762] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[1763] Step 15:
[1764] The device sends feedback data to the server via the API.
[1765] Step 16:
[1766] The server receives the feedback data from the terminal.
[1767] Step 17:
[1768] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[1769] This allows the user to reduce the time and effort required to narrow down the options and make a highly satisfying selection.
[1770] Example 1
[1771] 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."
[1772] The present invention aims to reduce the effort and time required for users to find the appropriate option from a vast amount of information when selecting a product or service. In particular, it aims to efficiently present optimal options based on the user's needs and conditions, thereby increasing user satisfaction. In addition, it is necessary to continuously improve the user experience by efficiently collecting feedback from users and improving the accuracy of suggestions for the next time.
[1773] 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.
[1774] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; means for presenting the narrowed options to the user; means for receiving feedback from the user and learning to improve the accuracy of subsequent suggestions; means for converting the user's needs and conditions into JSON format and transmitting it; and a server for interpreting the received JSON data, collecting data from information sources, narrowing down the options by evaluating and scoring, presenting the results, and collecting and learning from feedback. This reduces the effort and time required for users to select products and services, enabling them to make more satisfying choices. Furthermore, by utilizing user feedback to improve the accuracy of subsequent suggestions, the user experience can be continuously improved.
[1775] "Needs" are the requests or demands that users have for specific products or services.
[1776] "Conditions" refer to specific criteria or constraints that a user considers when selecting a product or service.
[1777] "Means" are technical devices or methods used to achieve a specific purpose.
[1778] "Multiple sources on the internet" refers to reliable sources of information such as websites, online databases, and APIs.
[1779] "Candidate Options" refers to a list of potential products and services that are compiled based on the user's needs and requirements.
[1780] "Evaluation" refers to the process of analyzing the merits and demerits of the collected candidate options and evaluating them quantitatively or qualitatively.
[1781] "Scoring" refers to the process of assigning points to each candidate option based on the evaluation results.
[1782] "1 to 7 choices" refers to the 1 to 7 products or services that are most suitable as a result of the evaluation and scoring.
[1783] "Presentation" refers to the process of displaying the results of the evaluation and scoring to the user.
[1784] "Feedback" refers to the opinions and experiences users provide about the options presented to them.
[1785] "Learning" refers to the machine learning process of accumulating collected feedback as data to improve the accuracy of the next proposal.
[1786] "JSON format" refers to a lightweight data exchange format for describing data in a structured way.
[1787] "Transmit" refers to the act of transferring data or information from one point to another.
[1788] "Interpretation" refers to the process of understanding received data or information and converting it into a processable form.
[1789] "Server" refers to a computer system for data processing, storage, and network communication.
[1790] The present invention relates to a system that supports a user's selection behavior and reduces the effort and time required for that process. How the invention can be put into practice will be described below.
[1791] System hardware and software configuration
[1792] The system is configured so that when a user selects a product or service through a terminal, they input their needs and conditions, and the server collects, evaluates, scores, presents, and learns from the feedback.
[1793] Hardware:
[1794] User's device (smartphone, tablet, PC, etc.)
[1795] Servers (high-performance computers and cloud servers)
[1796] software:
[1797] Application (interface for inputting user needs and requirements)
[1798] Web crawling tools (e.g., Scrapy) or API access tools (e.g., Postman)
[1799] Machine learning models (e.g., random forests, linear regression)
[1800] Database (e.g. MySQL, MongoDB)
[1801] Data sending and receiving function using communication protocols (e.g. HTTP / HTTPS)
[1802] System Operation Overview
[1803] User behavior:
[1804] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase, such as "I want a new smartwatch with health management features" and "My budget is under 30,000 yen."
[1805] On the device side:
[1806] The terminal converts the input data into JSON format and sends it to the server.
[1807] Server side behavior:
[1808] 1. Based on the data received, the server collects related product information from reliable sources on the Internet. The server collects data using web crawling tools and APIs.
[1809] 2. The server organizes the collected information and lists candidate options that meet the user's criteria.
[1810] 3. The server runs the candidate options through an evaluation algorithm to score the pros and cons of each option, using machine learning models or linear regression.
[1811] 4. Based on the evaluation results, the server narrows down the list to 1 to 7 options that best suit the user's needs and criteria.
[1812] 5. The server sends the selected option information to the terminal in JSON format.
[1813] On the device side:
[1814] The device displays information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1815] Feedback processing:
[1816] The user selects one of the options presented and then enters and submits feedback to the app. The server uses the received feedback to perform a learning process and improve the accuracy of the next suggestion. During this process, a machine learning algorithm is used to analyze user trends.
[1817] Specific examples
[1818] Here is a practical example:
[1819] 1. The user opens the app, types in "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1820] 2. The terminal sends the user's input data to the server.
[1821] 3. The server collects information about smartwatches from multiple sources and creates a list of 30 candidates.
[1822] 4. The server applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1823] 5. The device will display five smartwatches to the user, along with their pros and cons.
[1824] 6. The user purchases the third smartwatch and provides feedback on their experience.
[1825] 7. The server receives the feedback, learns user trends, and reflects them in its next suggestions.
[1826] Prompt Sentence Examples
[1827] "I'm looking for a new smartwatch. Please suggest a product that meets the following criteria: health tracking features, waterproof, and a budget of under ¥30,000."
[1828] In this way, the system based on the present invention can effectively carry out a series of processes starting from user input, including data collection, evaluation, presentation, and feedback learning.
[1829] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1830] Step 1:
[1831] User needs input
[1832] The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. Specifically, the user enters "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen" into the application form. This input data becomes the input for the next step.
[1833] Step 2:
[1834] Sending data
[1835] The terminal converts the input data into JSON format and sends it to the server. Specifically, the terminal receives the user's input, calls a function to convert it into JSON format, and formats the data. The formatted JSON data is sent to the server as an HTTP POST request. The output of this step is the user needs data in JSON format sent to the server.
[1836] Step 3:
[1837] Gathering information and identifying options
[1838] Based on the data received by the server, it collects related product information from reliable sources on the Internet. Specifically, the server collects data using API access tools and web crawling tools. For example, a search query is executed with the conditions "smartwatch with health management function, waterproof, budget under 30,000 yen." The input for this step is the user needs data in JSON format received by the server, and the output is the collected raw product information.
[1839] Step 4:
[1840] Data preparation and list of candidate options
[1841] The server organizes the collected information and lists candidate options that meet the user's criteria. Specifically, the server performs a data cleansing process and stores it in a database. It removes irrelevant data and lists products that meet the criteria. The input to this step is raw product information, and the output is a list of candidate options that meet the criteria (e.g., 30 smartwatches).
[1842] Step 5:
[1843] Candidate evaluation and scoring
[1844] The server runs the candidate options through an evaluation algorithm and scores the pros and cons of each. Specifically, it uses a machine learning model (e.g., random forest) to evaluate each candidate and assign a score based on the following criteria: health management features, waterproofing, and price. The input to this step is a list of candidate options, and the output is the evaluated and scored options.
[1845] Step 6:
[1846] Narrowing down your options
[1847] Based on the evaluation results, the server narrows down the list to 1-7 options that best fit the user's needs and criteria. Specifically, it adds up the scores and selects the top 5 options. It then converts the narrowed down options into JSON format. The input to this step are the evaluated and scored options, and the output is the top options in JSON format.
[1848] Step 7:
[1849] Sending the selection results
[1850] The server organizes the information about the selected options and sends it to the terminal in JSON format. Specifically, the server formats the selection results in JSON format and returns the data to the terminal as an HTTP response. The input to this step is the top option in JSON format, and the output is the selection result data sent to the terminal.
[1851] Step 8:
[1852] Display of selection results
[1853] The terminal displays information about the options to the user. Specifically, the terminal interprets the received JSON data and displays a list of the performance, price, advantages and disadvantages of each option on the screen. The input to this step is the selection result data sent to the terminal, and the output is the information about the options displayed to the user.
[1854] Step 9:
[1855] Enter your feedback
[1856] The user selects one of the presented options and enters and sends feedback on that choice to the app. Specifically, the user selects a third smartwatch and enters their experience using it in the app's feedback form, which is then sent to the server. The input of this step is the user's feedback data, and the output is the feedback data sent to the server.
[1857] Step 10:
[1858] Learning Feedback
[1859] The server performs a learning process based on the received feedback to improve the accuracy of the next proposal. Specifically, the server inputs the feedback data into a machine learning algorithm, analyzes user trends, and updates the model. The input of this step is the received feedback data, and the output is an updated machine learning model.
[1860] (Application example 1)
[1861] 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."
[1862] In recent years, shopping over the Internet has become commonplace, and many users spend time and effort selecting the best product from a large number of options. In particular, as systems that provide virtual shopping experiences become more widespread, users are required to be able to find appropriate options quickly and efficiently. However, many conventional systems have difficulty finding products or services that perfectly match users' needs. They also lack mechanisms for utilizing post-purchase feedback to improve future recommendations. Therefore, a new system is needed that allows users to easily find products that meet their needs and make highly satisfying choices.
[1863] 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.
[1864] In this invention, the server includes: a means for inputting a user's needs and conditions; a means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; a means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that best fit the needs and conditions; a means for presenting the narrowed options to the user; a means for receiving feedback from the user and learning to improve the accuracy of suggestions for the next time; and a means installed on a smartphone or smart glasses for providing a virtual shopping experience that supports the user's selection. This allows the user to make more appropriate product selections when shopping in a virtual space, significantly reducing the time and effort required for the selection process. Furthermore, improving the accuracy of suggestions based on feedback also improves the user's purchasing experience in the future.
[1865] "User" means any person or entity that uses the System to purchase goods or services.
[1866] "Needs" are the requirements and conditions that users have for products and services.
[1867] "Conditions" are specific constraints that must be met to meet a user's needs.
[1868] A "means" is a method or device used to achieve a particular purpose.
[1869] An "information source" is a website, database, or other resource that provides information about products and services on the Internet.
[1870] "Candidate Options" refers to a list of products and services selected based on the user's needs and requirements.
[1871] "Evaluation" is the process of making quantitative or qualitative judgments about candidate options.
[1872] "Scoring" is the process of assigning points to each candidate option based on the evaluation results.
[1873] A "virtual shopping experience" is shopping that takes place in a virtual environment, where users can select and purchase products without physically going to a store.
[1874] A "smartphone" is a mobile information terminal that, in addition to the functions of a mobile phone, can also connect to the Internet and run applications.
[1875] "Smart glasses" are a wearable device in the shape of glasses that can display information to the user and provide interaction.
[1876] "Feedback" refers to the process by which users provide feedback about their experience and opinions regarding the products and services they have selected.
[1877] "Learning" is the process by which the system processes data to improve the accuracy of its next suggestions based on collected feedback.
[1878] A "machine learning algorithm" is a computer algorithm that automatically learns patterns from data and makes predictions and classifications.
[1879] The present invention relates to a system that provides a virtual shopping experience to suggest optimal products and services to users. In this system, when a user selects a product or service using a smartphone or smart glasses, the user inputs their needs and conditions, and a server collects, evaluates, scores, presents, and learns from the feedback.
[1880] System Overview
[1881] The following hardware and software are used as elements that make up the system.
[1882] Hardware: Smartphones, smart glasses
[1883] Software: Python scripts, requests library for API calls, machine learning algorithms
[1884] Feature details
[1885] 1. Input of user needs
[1886] Users launch the application using their smartphone or smart glasses and input their needs and requirements for the product or service they wish to purchase. For example, they can input requirements such as "a smartwatch with health management functions for under 30,000 yen." Both voice and text input are possible.
[1887] 2. Data transmission and conversion
[1888] The device converts the input data into JSON format and sends it to the server. If the data is sent correctly, the device moves on to the next processing step.
[1889] 3. Information gathering
[1890] The server collects relevant product information from reliable sources on the Internet (such as review sites and official product pages) based on the received data. For this purpose, it uses the requests library to make API calls.
[1891] 4. Evaluation and Scoring
[1892] The server organizes the collected information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the options and quantitatively evaluate the pros and cons of each option. For example, it narrows down the options to the top five based on health management features, waterproofing, and price.
[1893] 5. Present options
[1894] The server sends information about the selected options in JSON format to the device, and the device displays the information to the user, including each option's performance, price, advantages and disadvantages, etc.
[1895] 6. Gather feedback and learn
[1896] The user selects one of the options presented and then provides feedback to the app. The server receives this feedback and uses a learning algorithm to improve the accuracy of the next suggestion.
[1897] Specific examples
[1898] For example, a user can voice-input a condition into their smartphone, such as "I want a smartwatch with health management functions and waterproofing for under 30,000 yen." The system selects an appropriate smartwatch based on data collected from online sources and displays the top five candidates to the user. If the user selects the third candidate smartwatch and provides feedback on its usage experience, the accuracy of suggestions will improve in future. In this way, users can efficiently find the product that best suits them.
[1899] Prompt Sentence Examples
[1900] "Please suggest the best products for the following query: 'Smartwatch with health management features under $300'"
[1901] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1902] Program processing flow
[1903] Step 1:
[1904] The user launches the application using a smartphone or smart glasses and inputs their needs and requirements for the product or service they want to purchase. For example, the user might input "a smartwatch with health management functions for under 30,000 yen" by voice or text. This input data is used in the next step.
[1905] Step 2:
[1906] The terminal converts the input data into JSON format and sends it to the server. The input is data about the needs and conditions entered by the user, and the output is JSON format data. This data conversion is necessary to ensure smooth subsequent data processing.
[1907] Step 3:
[1908] The server parses the received JSON-formatted data and collects relevant product information from reliable sources on the Internet (such as review sites and official product pages). The server uses an API to collect information and compiles product data that matches the user's needs. The input is JSON data, and the output is a list of the collected product information.
[1909] Step 4:
[1910] The server organizes the collected product information and lists candidate options that meet the user's criteria. It then uses an evaluation algorithm to score the candidate options and quantitatively evaluate the advantages and disadvantages of each option. Based on the evaluation results, it narrows down the options to the top five or seven. The input is a list of product information, and the output is the scored candidate options.
[1911] Step 5:
[1912] The server sends information about the selected top options in JSON format to the device. The device parses the received data and displays detailed information about the options to the user, including the performance, price, advantages and disadvantages of each option. The input is the data of the scored candidate options, and the output is a list of options displayed to the user.
[1913] Step 6:
[1914] The user selects one of the options presented and then enters and sends feedback about it to the app. For example, the user might enter, "I purchased the third smartwatch and found it to be very user-friendly." The input is the user's feedback data, and the output is the feedback information sent to the server.
[1915] Step 7:
[1916] The server receives the feedback and uses a learning algorithm to improve the accuracy of the next suggestion. At this time, it analyzes the collected feedback data and learns the user's tendencies. The input is the feedback data from the user, and the output is the learning results for the next suggestion.
[1917] 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.
[1918] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. A specific implementation method for this is described below.
[1919] System Overview
[1920] When a user selects a product or service through a terminal, the system inputs their needs and conditions, and the server collects, evaluates, scores, presents, and learns feedback to support the selection process.Furthermore, an emotion engine is used to recognize the user's emotional state and present appropriate options.
[1921] Explanation of program processing
[1922] ---
[1923] User needs input
[1924] 1. The user launches the application on their device and enters their needs and requirements for the product or service they wish to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1925] ---
[1926] Sending data
[1927] 2. The device converts the input data into JSON format and prepares it for sending to the server.
[1928] 3. The device sends the user input data to the server via the API endpoint.
[1929] ---
[1930] Gathering information and identifying options
[1931] 4. The server receives the data from the user via the API.
[1932] 5. Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1933] 6. The server stores the collected information in a database and organizes detailed information for each product.
[1934] 7. The server will generate a list of 30 potential products based on the user's needs and criteria.
[1935] ---
[1936] Narrowing down your options
[1937] 8. The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1938] 9. Based on the scoring results, the server narrows down the results to 1-7 options that best fit the user's needs and criteria.
[1939] ---
[1940] Presenting options
[1941] 10. The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1942] 11. The server sends information about the selected option to the terminal.
[1943] 12. The device displays the received options information to the user, including the performance, price, advantages and disadvantages of each option.
[1944] ---
[1945] Emotion Engine Operation
[1946] 13. The device senses the user's input and actions, and recognizes the user's emotional state using an emotion engine.
[1947] 14. The server uses the data from the emotion engine to analyze the user's emotional state and reassess the best option to reduce the user's stress level.
[1948] ---
[1949] Feedback collection
[1950] 15. The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[1951] 16. The device converts the user feedback data into JSON format and prepares it for sending to the server.
[1952] 17. The device sends the feedback data to the server via API.
[1953] ---
[1954] Learning Feedback
[1955] 18. The server receives the feedback data from the terminal.
[1956] 19. Based on the feedback received by the server, a learning process is performed to improve the accuracy of the next suggestion, using a machine learning algorithm to analyze user trends.
[1957] ---
[1958] Specific examples
[1959] Below is an example of actual usage.
[1960] 1. User: Opens the app, enters "I want a new smartwatch," and adds the following criteria: "health management features," "waterproof," and "under 30,000 yen."
[1961] 2. Terminal: Sends the user's input data to the server.
[1962] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[1963] 4. Server: Applies an evaluation algorithm to score each candidate, narrowing it down to the top five choices and sending the data to the device.
[1964] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[1965] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[1966] 7. Server: Based on the data from the emotion engine, the server reevaluates the best option for reducing stress and presents the appropriate option.
[1967] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[1968] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[1969] This invention allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and also reduces the user's stress level by providing options that correspond to their emotional state.
[1970] The processing flow will be explained below.
[1971] Step 1:
[1972] Users launch the application on their device and enter their needs and requirements for the product or service they want to purchase. For example, they can enter requirements such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[1973] Step 2:
[1974] The terminal converts the input data into JSON format and prepares it for sending to the server.
[1975] Step 3:
[1976] The device sends the user input data to the server via the API endpoint.
[1977] Step 4:
[1978] The server receives data from the user via the API.
[1979] Step 5:
[1980] Based on the data received by the server, related product information is collected from multiple sources on the Internet (review sites, official product pages, online shops, etc.).
[1981] Step 6:
[1982] The server stores the collected information in a database and organizes detailed information for each product.
[1983] Step 7:
[1984] The server will list at most 30 potential products based on the user's needs and requirements.
[1985] Step 8:
[1986] The server applies a rating algorithm to score each candidate product based on multiple factors, including performance, price, and review ratings.
[1987] Step 9:
[1988] Based on the scoring results, the server narrows down the options to 1 to 7 that best suit the user's needs and requirements.
[1989] Step 10:
[1990] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format.
[1991] Step 11:
[1992] The server transmits information about the selected option to the terminal.
[1993] Step 12:
[1994] The device displays the received information about the options to the user, including the performance, price, advantages and disadvantages of each option.
[1995] Step 13:
[1996] The device detects the user's input and operations and recognizes the user's emotional state using an emotion engine, which determines the user's emotions based on facial expression recognition, voice analysis, operation history, etc.
[1997] Step 14:
[1998] The server analyzes the user's emotional state based on data from the emotion engine, which is classified into multiple categories such as stress, satisfaction, and anxiety.
[1999] Step 15:
[2000] The server reevaluates the options presented depending on the results of its analysis of the user's emotional state. For example, if the server determines that the user is under stress, it will instruct the system to prioritize simple and easy-to-understand options.
[2001] Step 16:
[2002] The server sends the re-evaluated options to the terminal and presents them to the user again.
[2003] Step 17:
[2004] The user selects one of the options presented and enters their feedback into the app. For example, they might enter, "I purchased the third smartwatch and had a good experience using it."
[2005] Step 18:
[2006] The device converts the user's feedback data into JSON format and prepares it for transmission to the server.
[2007] Step 19:
[2008] The device sends feedback data to the server via the API.
[2009] Step 20:
[2010] The server receives the feedback data from the terminal.
[2011] Step 21:
[2012] Based on the feedback received by the server, a learning process is carried out to improve the accuracy of the next recommendation, using a machine learning algorithm to analyze user trends.
[2013] This allows users to reduce the time and effort required to narrow down their options, allowing them to make a more satisfying choice, and by providing options that correspond to their emotional state, it is possible to reduce the user's stress level.
[2014] Example 2
[2015] 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."
[2016] Today's consumers spend a great deal of time and effort choosing the best option from a wide variety of products and services. The stress of the selection process is also a significant issue. Furthermore, there is a lack of systems to effectively incorporate feedback after a selection into future recommendations.
[2017] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes: means for inputting the user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet based on the needs and conditions; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 options that are most suitable for the needs and conditions; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for recognizing the user's emotional state; and means for reevaluating appropriate options based on the emotional state. This allows the user to reduce the time and effort required to narrow down the options, make a satisfying selection, and obtain the optimal option according to the user's emotional state.
[2018] "User" refers to an individual who uses the system to participate in the product or service selection process.
[2019] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.
[2020] "Server" refers to a central system that receives input from users, processes it, and returns the results.
[2021] "Needs and conditions" refers to specific requirements and desired conditions regarding the product or service that the user wishes to purchase.
[2022] "Sources" refers to websites and APIs that provide data about products and services on the internet.
[2023] "Candidate options" refers to a collection of potentially suitable products and services based on the user's needs and requirements.
[2024] "Evaluation algorithm" refers to a calculation method for quantitatively evaluating and scoring candidate options based on the user's needs and conditions.
[2025] "Scoring" refers to the numerical rating given to each candidate option by the rating algorithm.
[2026] "Feedback" refers to information such as the user's evaluation of the options and their impressions of use.
[2027] "Means of learning" refers to the process of improving the accuracy of the next proposal based on the feedback received.
[2028] "Emotional state" refers to information that indicates the user's emotions and moods.
[2029] An "emotion engine" refers to software or hardware that analyzes a user's input and behavior to recognize their emotional state.
[2030] "Means for reevaluating" refers to a process for reevaluating presented options based on emotional state.
[2031] The present invention combines a system that supports a user's selection behavior and reduces the effort and time required for that process with an emotion engine that recognizes the user's emotional state. Specific implementation methods are described below.
[2032] This system consists of the following main components: The role and function of each component will be explained in detail below.
[2033] User needs input
[2034] Users use a device (such as a smartphone or tablet) to launch a dedicated application and enter their needs and conditions for the product or service they wish to purchase. This information includes the product category, essential features, and desired price range. For example, users might enter conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen."
[2035] Data conversion and transmission
[2036] The device converts the input data into JSON format, which allows for flexible sending and receiving of data, and then sends the data to the specified API endpoint, including the appropriate authentication token and header information.
[2037] Gathering information and identifying options
[2038] The server receives the JSON data sent from the device. Based on the received user needs, the server collects related product information from multiple internet sources (e.g., review sites, official product pages, online shops, etc.). Specifically, web scraping techniques (e.g., BeautifulSoup or Selenium) or API usage (e.g., APIs from e-commerce sites) are used. The collected information is stored in a database (e.g., PostgreSQL or MongoDB), and detailed information for each product is organized.
[2039] Narrowing down your options
[2040] The server applies an evaluation algorithm (e.g., a statistical model such as AHP or linear regression) to score each candidate product. Based on the scoring results, the results are narrowed down to 1 to 7 options that best suit the user's needs and conditions.
[2041] Presenting options
[2042] The server prepares to send information about the selected options (product name, performance, price, advantages and disadvantages) in JSON format to the device. The server then sends the prepared information to the device. The device receives this information and displays it to the user. The user is presented with the performance, price, advantages and disadvantages of each option.
[2043] Emotion Engine Operation
[2044] The device detects the user's input and actions and sends the data acquired through the built-in camera and microphone to the emotion engine. The emotion engine analyzes this data and recognizes the user's emotional state. For example, it uses facial recognition technology (e.g., OpenCV) or voice emotion recognition technology (e.g., Google Cloud Speech-to-Text API). The recognition results are sent to the server, which analyzes the user's emotional state. Based on the emotional state, the server reevaluates and re-presents the optimal options if the stress level is high.
[2045] Feedback collection and learning
[2046] The user selects one of the presented options and enters feedback about their selection and their experience in the application. For example, they can provide specific feedback such as, "I purchased the third smartwatch and found it to be very useful." The device converts the user's feedback data into JSON format and prepares it for transmission to the server. The device then transmits the feedback data to the server via the API.
[2047] The server receives feedback data sent from the device and uses this feedback to learn how to improve the accuracy of the next suggestion. During this process, it uses machine learning algorithms (e.g., Sci-Kit Learn and TensorFlow) to analyze the user's tendencies. This allows the next suggestion to be more suitable for the user.
[2048] Specific examples
[2049] The following are specific examples of how this system can be used:
[2050] 1. User: Launches the app and enters "I want a new smartwatch." Then adds the following conditions: "health management function," "waterproof," and "under 30,000 yen."
[2051] 2. Terminal: Converts the user's input data into JSON format and sends it to the server.
[2052] 3. Server: Collects information about smartwatches from multiple sources and lists 30 candidates.
[2053] 4. Server: Applies an evaluation algorithm to score each candidate, narrows it down to the top five choices, and sends the organized data in JSON format to the device.
[2054] 5. Device: Show users five smartwatches and their advantages and disadvantages.
[2055] 6. Terminal: The user's input behavior is detected, and the emotion engine analyzes the user's emotional state.
[2056] 7. Server: Based on the data from the emotion engine, the server reevaluates the optimal option for reducing stress and presents the appropriate option again.
[2057] 8. User: Purchase the third smartwatch and provide feedback on your experience.
[2058] 9. Server: Receives feedback, learns user trends, and reflects them in future suggestions.
[2059] This invention allows users to reduce the time and effort required to narrow down their options, and by presenting optimal options according to their emotional state, it is possible to improve user satisfaction and reduce stress.
[2060] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2061] Step 1:
[2062] The user launches the application on their device and inputs their needs and requirements for the product or service they wish to purchase. As input, the user specifies conditions such as "I want a new smartwatch," "It has a health management function," and "My budget is under 30,000 yen." The device receives this input data and temporarily stores it.
[2063] Step 2:
[2064] The device converts the user's needs and requirements into JSON format. This conversion process serializes the input data and converts it into a lightweight data exchange format. The resulting output data is a JSON object in a format that can be easily sent and received. For example: "{"Product Category": "Smartwatch", "Requirements": {"Health Management Function": true, "Budget": 30000}}".
[2065] Step 3:
[2066] The device sends the converted JSON-formatted data to the API endpoint, including the appropriate authentication token and header information. This data transmission allows the server to obtain the user's needs and requirements. The input is JSON data, and the output is a confirmation that the data has been transferred to the server.
[2067] Step 4:
[2068] The server receives JSON data from the user via an API. The received data is internally parsed and deserialized into a parseable format. The input to this process is the JSON data from the API, and the output is a data object of the parsed user needs and conditions.
[2069] Step 5:
[2070] Based on the data received, the server collects related product information from multiple sources on the Internet. The server uses web scraping techniques (e.g., BeautifulSoup, Selenium) or APIs (e.g., APIs from e-commerce sites). The input is the user's needs and requirements, and the output is a list of collected related product information.
[2071] Step 6:
[2072] The server stores the collected product information in a database and organizes detailed information for each product. The database can be SQL-based (e.g., PostgreSQL) or NoSQL-based (e.g., MongoDB). The collected product information is the input, and organized database entries are the output.
[2073] Step 7:
[2074] The server generates a list of 30 candidate products based on the user's needs and criteria. This list generation follows predefined rules and filtering criteria. The input is a set of organized database entries, and the output is a list of 30 candidate products.
[2075] Step 8:
[2076] The server applies an evaluation algorithm (e.g., AHP, linear regression) to score each candidate product. Scoring is performed by comprehensively evaluating factors such as performance, price, and review ratings. The input is the list of candidate products, and the output is the score for each product.
[2077] Step 9:
[2078] Based on the scoring results, the server narrows down the options to 1 to 7 that best fit the user's needs and conditions. This narrowing down operation is performed in descending order of score. Scored candidate products are obtained as input, and the narrowed down options 1 to 7 are obtained as output.
[2079] Step 10:
[2080] The server prepares information about the selected options (product name, performance, price, advantages and disadvantages) and prepares to send it to the terminal in JSON format. During this process, detailed information about each option is aggregated. The input is the narrowed-down options, and the output is JSON data of the prepared option information.
[2081] Step 11:
[2082] The server sends the prepared JSON data to the terminal. The prepared JSON data is obtained as the input amount, and the completion of data transmission to the terminal is obtained as the output amount.
[2083] Step 12:
[2084] The terminal displays the received information about the options to the user. This includes the performance, price, advantages and disadvantages of each option. JSON data is received as input, and option information displayed on the screen is output.
[2085] Step 13:
[2086] The device senses the user's input and actions and recognizes the user's emotional state using an emotion engine. During this process, data is collected through the built-in camera and microphone, and emotion recognition technology (e.g., OpenCV, Google Cloud Speech-to-Text API) is used. Sensor data from the camera and microphone is obtained as input, and the recognized emotional state is output.
[2087] Step 14:
[2088] The server analyzes the user's emotional state based on data from the emotion engine. Based on the emotional state, the server reevaluates the optimal option for stress reduction and presents it to the user again. The recognized emotional state is obtained as input, and the reevaluated option is obtained as output.
[2089] Step 15:
[2090] The user selects one of the options presented and enters feedback into the app. For example, the user may provide feedback such as, "I purchased the third smartwatch and found it to be very user-friendly." The selected product information and feedback are saved as input, and the feedback is saved as output.
[2091] Step 16:
[2092] The device converts the user feedback data into JSON format and prepares it for sending to the server. The input is the user feedback, and the output is the JSON-formatted feedback data.
[2093] Step 17:
[2094] The device sends feedback data to the server via the API. The input is the feedback data in JSON format, and the output is a notification that the feedback has been sent to the server.
[2095] Step 18:
[2096] The server receives the feedback data sent from the device. The received data is internally deserialized into a parsable format. The input is JSON-formatted feedback data, and the output is a parsable feedback data object.
[2097] Step 19:
[2098] Based on the feedback data received by the server, a learning process is performed to improve the accuracy of the next proposal. This process uses a machine learning algorithm (e.g., Sci-Kit Learn or TensorFlow) to analyze user trends. The analyzed feedback data is the input, and an updated learning model is the output.
[2099] (Application example 2)
[2100] 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."
[2101] Existing product selection support systems do not take into account the user's emotional state when selecting a product, and lack means to reduce user stress and dissatisfaction. Furthermore, they have difficulty responding flexibly to improve user satisfaction with the presented options. The present invention aims to solve these problems, optimize the entire user selection process, and increase user satisfaction.
[2102] 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.
[2103] In this invention, the server includes: means for inputting a user's needs and conditions; means for collecting candidate options from multiple information sources on the Internet; means for evaluating and scoring the candidate options to narrow down the options to 1 to 7 most suitable options; means for presenting the narrowed down options to the user; means for receiving feedback from the user and learning to improve the accuracy of next suggestions; means for sensing the user's input behavior and recognizing their emotional state; and means for presenting optimal options that reduce the user's stress level based on the recognized emotional state. This makes it possible to support the user in selecting products and services while taking their emotional state into consideration, thereby improving user satisfaction and convenience in the selection process.
[2104] "Means for inputting user needs and conditions" refers to a device or system that provides an interface for users to input their requirements and restrictions regarding desired products and services.
[2105] "Means for collecting candidate options from multiple sources on the Internet" refers to devices or programs that have the function of automatically searching and acquiring information on related products and services from websites, review sites, online shops, etc.
[2106] The "means of evaluating and scoring candidate options to narrow down to the most suitable 1 to 7 options" is a system that utilizes an algorithm to evaluate the collected options based on criteria such as performance, price, and user ratings, and narrow down the options to those that best suit the user's needs.
[2107] The "means for presenting the narrowed down options to the user" refers to a display device or user interface for displaying information about the evaluated options on the user's device.
[2108] "Means for receiving feedback from users and learning to improve the accuracy of next suggestions" refers to a machine learning system that collects feedback information such as satisfaction and usability of the products selected by users, and uses that data to improve the algorithm and increase the accuracy of next suggestions.
[2109] The "means for sensing the user's input behavior and recognizing the user's emotional state" is a system that analyzes the user's operational behavior, such as tapping and scrolling, and estimates the user's emotional state using technologies such as facial expression recognition and voice analysis.
[2110] "Means for presenting optima...
Claims
1. means for inputting user needs and requirements; means for collecting candidate options from a plurality of sources on the Internet based on said needs and conditions; means for evaluating and scoring said candidate options to narrow down the list to 1 to 7 options that best meet said needs and conditions; means for presenting the narrowed down options to a user; A means of receiving feedback from users and learning to improve the accuracy of next suggestions; A system including:
2. 10. The system of claim 1, wherein the evaluation and scoring means uses an evaluation algorithm that quantitatively evaluates the merits and demerits of each option.
3. The system of claim 1 , wherein the means for receiving feedback and learning to improve subsequent suggestions uses a machine learning algorithm.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A