system
By using a system that allows users to input their needs and set priorities, and then using a server to select models and provide reasons for recommendations, the system solves the problem of time-consuming and labor-intensive model selection in existing technologies, and achieves efficient and accurate model recommendations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-01
- Publication Date
- 2026-04-13
AI Technical Summary
Existing technologies are unable to efficiently and accurately reflect the diverse needs of users, causing consumers to spend a lot of time and effort when choosing a model.
A system is provided that allows users to input their needs and set priorities, and selects the most suitable model from a model database via a server, provides reasons for the recommendation, and uses evaluation scores and weight calculations to improve the accuracy of the recommendation.
It efficiently reflects the diverse needs of users, reduces the time and effort required to select models, and improves the accuracy of recommendations.
Smart Images

Figure 2026063841000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] Modern consumers have diverse needs and priorities, and many factors need to be considered to select the optimal model. However, with conventional methods, it has been difficult to select a model that efficiently and accurately reflects these diverse desires. Therefore, it has been a problem that consumers spend a great deal of time and effort to select a model that meets their desires.
Means for Solving the Problems
[0005] This invention provides a system that allows users to input requirements and set priorities for those requirements. Specifically, the system includes means for transmitting the user's input requirements and priorities as data to a server, for the server to select the most suitable model from a model database, and for presenting the selected model to the user along with the reasons for the recommendation. This enables efficient model selection that reflects diverse needs, reducing the time and effort of consumers. Furthermore, the model database includes information on price, performance, design, and screen size, and by calculating an evaluation score for the recommended models and weighting them based on the user's priorities, more accurate recommendations become possible.
[0006] "Requirements" refer to the specific conditions or preferences that a user enters into the system.
[0007] "Priority" refers to setting the importance and priority order of user-entered requests.
[0008] A "server" refers to a central computing system that receives and analyzes data sent by users, identifies the most suitable model from a model database, and generates and transmits recommendation results.
[0009] A "model database" refers to a data storage system that contains detailed information about each model, such as price, performance, design, and screen size.
[0010] The term "optimal model" refers to a computer, mobile device, or other product that best matches the user's requirements and priorities.
[0011] "Recommendation reason" refers to the wording that explains the selection criteria and rationale for the optimal server model chosen by the server company.
[0012] The "evaluation score" is a numerical representation of how well each model meets the user's requirements and priorities.
[0013] "Weighting" refers to the process of assigning weights to each element in the calculation of evaluation scores to reflect the user's priorities. [Brief explanation of the drawing]
[0014] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] This is a sequence diagram showing the processing flow of the data processing system in Example 2, which incorporates an emotion engine. [Figure 14]It is a sequence diagram showing the processing flow of a data processing system in Application Example 2 when a sentiment engine is combined.
Embodiments for Carrying Out the Invention
[0015] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0016] First, the terms used in the following description will be explained.
[0017] In the following embodiments, a numbered processor (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.
[0018] In the following embodiments, a numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0019] In the following embodiments, a numbered storage is one or more non-volatile storage devices that store various programs and various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes, etc.
[0020] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0022] [First Embodiment]
[0023] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0024] As shown in Figure 1, the 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.
[0025] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0026] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0027] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0028] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0029] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0030] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0032] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0033] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0034] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0035] This invention is a recommendation system designed to meet the diverse needs of users, specifically by suggesting the optimal model based on the user's requirements and priorities. The embodiments for carrying out this invention are shown below.
[0036] Overall system configuration
[0037] This system consists of a user terminal, a server, and a model database. The server receives requests and priorities sent from the user's terminal, selects the most suitable model from the model database based on that information, generates a recommendation, and presents it to the user again.
[0038] Program processing flow
[0039] User input
[0040] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[0041] Price: Under 30,000 yen
[0042] Performance: High performance
[0043] Appearance: Stylish design
[0044] Screen size: 6 inches or larger
[0045] Setting Priorities
[0046] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[0047] Data transmission
[0048] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0049] Data reception and analysis
[0050] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0051] Model selection
[0052] The server uses generative AI to search the model database and identify the model that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0053] Verify that each model meets the user's requirements.
[0054] The importance of each model is calculated based on priority, and an evaluation score is generated.
[0055] Select several models in order of their evaluation score.
[0056] Generating reasons for recommendation
[0057] The server generates recommendation reasons for the selected model, explaining why that particular model was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0058] Presentation of results
[0059] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0060] Specific example
[0061] Consider a case where a user has the following desires:
[0062] Price: Under 30,000 yen
[0063] Performance: High performance
[0064] Appearance: Stylish
[0065] Screen size: 6 inches or larger
[0066] Priorities: Performance, price, screen size, appearance
[0067] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0068] In conclusion
[0069] This invention is a system for efficiently selecting the optimal model to meet the diverse needs of users, thereby improving user convenience and reducing time and effort.
[0070] The following describes the processing flow.
[0071] Step 1:
[0072] The device displays a screen where the user can input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[0073] Step 2:
[0074] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[0075] Step 3:
[0076] Users prioritize their requirements, determining which element is most important, followed by the next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[0077] Step 4:
[0078] The terminal displays the user's entered requests and priority data on a confirmation screen. The user reviews the information and, if there are no problems, press the "Submit" button.
[0079] Step 5:
[0080] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[0081] Step 6:
[0082] The server receives and analyzes data sent from the terminal. The received data includes the specific requests entered by the user and their priority order.
[0083] Step 7:
[0084] The server uses generative AI to search a model database and identify the model that best matches the user's requirements and priorities. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[0085] Step 8:
[0086] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities. For example, if "performance" is the most important factor, the server will set the score of performance-related items to be higher than others.
[0087] Step 9:
[0088] The server selects several models based on their evaluation scores and generates the reasons for their selection in natural language using a text generation engine. For example, it might generate a recommendation like, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0089] Step 10:
[0090] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[0091] Step 11:
[0092] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[0093] Step 12:
[0094] The user reviews the displayed results and selects the model they deem most suitable. They can also re-enter their preferences or change their priorities as needed.
[0095] (Example 1)
[0096] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0097] Modern users have a wide variety of requirements when selecting products, and they need to prioritize these requirements. However, traditional recommendation systems have difficulty accurately reflecting the user's requirements and priorities to suggest the optimal product, resulting in increased time and effort for the user. Furthermore, there has been a challenge in clearly explaining the reasons for selecting a suitable product for the user.
[0098] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0099] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the optimal device from a device database based on the requirements and priorities, and means for presenting the selected device to the user along with the reasons for the recommendation using a generative AI model. This makes it possible to efficiently propose the optimal device based on the user's diverse requirements and their priorities, and to provide the recommendation reasons in an easy-to-understand manner for the user.
[0100] A "user" refers to an individual or group that uses the system, inputs requirements, and sets priorities.
[0101] "Requirements" refer to information that specifically outlines the conditions and characteristics desired by the user. Examples include price, performance, design, and display size.
[0102] "Priority" refers to the order in which user-entered requirements are considered more important than others.
[0103] "Terminal" refers to a computer or mobile device that a user uses to input requests and priorities and send them to a server.
[0104] A "server" refers to a device that receives requests and priorities sent by users, analyzes them, selects the most suitable device, and generates recommendation results.
[0105] A "device database" refers to a database containing information about various devices. This database includes information such as the price, performance, design, and display size of each device.
[0106] A "generative AI model" refers to an algorithm or program that uses machine learning or artificial intelligence technology to select the optimal device based on user requirements and priorities.
[0107] "Reasons for recommendation" refers to information explaining why the selected equipment meets the user's requirements. It should include specific features and conditions.
[0108] This invention is a recommendation system designed to meet the diverse needs of users, and can propose the most suitable device based on the user's requirements and priorities. The system consists of a user terminal, a server, and a device database.
[0109] User input
[0110] The user uses a terminal to enter specific requirements for their desired device. These requirements may include price, performance, design, and display size. The user might enter the following requests:
[0111] Price: Under 50,000 yen
[0112] Performance: High performance
[0113] Design: Modern design
[0114] Display size: 6 inches or larger
[0115] Setting Priorities
[0116] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Display Size > Design."
[0117] Data transmission
[0118] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0119] Data reception and analysis
[0120] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the device database to find the device that best matches the user's requests.
[0121] Equipment Selection
[0122] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0123] Verify that each device meets the user's requirements.
[0124] The importance of each device is calculated based on priority, and an evaluation score is generated.
[0125] Select several devices in order of their evaluation score.
[0126] Generating reasons for recommendation
[0127] The server generates recommendation reasons for the selected device, explaining why that particular device was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 50,000 yen, has a 6.1-inch display, and a modern design."
[0128] Presentation of results
[0129] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the optimal device.
[0130] Specific example
[0131] Consider a case where a user has the following desires:
[0132] Price: Under 50,000 yen
[0133] Performance: High performance
[0134] Design: Modern
[0135] Display size: 6 inches or larger
[0136] Priorities: Performance, price, display size, design
[0137] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from among several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0138] This system allows users to efficiently and quickly select the optimal equipment, which is expected to save time and effort.
[0139] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0140] Step 1:
[0141] The user uses a terminal to input specific requirements for their desired device. These requirements include price, performance, design, and display size. For example, they might enter requirements such as "Price: under 50,000 yen," "Performance: high performance," "Design: modern," and "Display size: 6 inches or larger." The entered data is temporarily stored within the terminal.
[0142] Step 2:
[0143] Users prioritize the requirements they enter on the device. They use the on-screen priority buttons to set the priority order of their requirements, such as "Performance > Price > Display Size > Design." This priority information is also stored within the device.
[0144] Step 3:
[0145] The terminal converts the user's input requests and priorities to generate JSON data and sends it to the server. Specifically, pressing the "Send" button sends the following JSON data to the server:
[0146] json
[0147] {
[0148] "Price": "Under 50,000 yen"
[0149] "performance": "high performance",
[0150] "design": "modern",
[0151] "screen_size": "6 inches or larger",
[0152] "priority": ["performance", "price", "screen_size", "design"]
[0153] }
[0154] Step 4:
[0155] The server receives and parses the JSON data sent from the terminal. Specifically, the server analyzes the received data to extract requirements and priorities. For example, information such as "price," "performance," "design," "display size," and "priority" is analyzed.
[0156] Step 5:
[0157] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, it performs the following operations:
[0158] Verify that each device meets the user's requirements.
[0159] The importance of each device is calculated based on priority, and an evaluation score is generated for each device.
[0160] Select several devices in order of their evaluation score.
[0161] For example, "Smartphone A" and "Smartphone B" are selected from the device database.
[0162] Step 6:
[0163] The server generates recommendation reasons for the selected device. These reasons include an explanation of why the device meets the user's requirements. Specifically, it uses a generative AI model to generate recommendation reasons such as "high performance, priced under 50,000 yen, modern design, and a display of 6 inches or larger."
[0164] Step 7:
[0165] The server then sends the final generated recommendation results and reasons for recommendation to the terminal. The terminal displays the received recommendation results and reasons for recommendation in its user interface, allowing the user to confirm the most suitable device. For example, "a list of selected devices and their reasons for recommendation" might be displayed on the terminal's screen.
[0166] Through the steps described above, this system can propose the most suitable equipment based on the user's diverse requirements and priorities, and provide the user with clear and understandable reasons for the recommendation.
[0167] (Application Example 1)
[0168] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0169] Traditional mail-order systems have struggled to accurately reflect diverse user requirements, resulting in reduced accuracy in recommending optimal products. Furthermore, while providing users with appropriate reasoning for recommendations is necessary to enhance their reliability, generating such reasoning is time-consuming and labor-intensive. There is a need to overcome these challenges and develop a system that can provide users with more accurate recommendations quickly.
[0170] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0171] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the most suitable item from the item database based on the requirements and priorities, means for presenting the selected item to the user along with the recommendation reason, and means for generating the recommendation reason using a generation AI model. This makes it possible to quickly provide highly accurate recommendation results based on the user's diverse requirements, and to automatically generate highly reliable recommendation reasons.
[0172] "Means for users to input requirements" refers to an interface for users to input desired conditions and characteristics on a terminal, and a mechanism for receiving that input.
[0173] "A means for users to set priorities for requirements" refers to an interface for users to set importance and priority levels for the requirements they enter, as well as a mechanism for saving those settings.
[0174] "Means for transmitting the aforementioned requirements and priorities as data to the server" refers to communication means for transmitting the user's input requirements and their priorities to the server via a network.
[0175] "Means for selecting the most suitable item from the item database based on the aforementioned requirements and priorities" refers to an algorithm or system in which the server analyzes the user's requirements and priorities, searches the item database based on them, and selects the most suitable item.
[0176] "Means of presenting selected items to the user along with the reasons for their recommendation" refers to an interface and its display function for displaying the selected items and the reasons for their selection to the user.
[0177] "A means of generating recommendation reasons using a generative AI model" refers to a system that uses a generative AI model to automatically generate the reasons and justifications for the selection of an item and provides that information to the user.
[0178] A "product database" is a database that contains information about various products, such as price, performance, design, and size.
[0179] The "evaluation score" is a numerical representation of the suitability of an item based on the user's requirements and priorities.
[0180] "Weighting" is the process of assigning weights to each requirement according to the user's priority, and is a means of calculating an overall evaluation score.
[0181] This invention is a system for recommending the most suitable items to users on an e-commerce website based on their diverse requirements. The system is configured as follows:
[0182] The user uses a smartphone or other device to input specific requirements for the item they want. These requirements might include price, performance, design, and size. Next, the user prioritizes these requirements, determining which element is most important and then the next most important.
[0183] The user's device sends these requirements and priorities as data to the server. This data is typically in JSON format. The server receives and parses the data sent from the device. The received data includes the user's specific requirements and their priorities. After parsing, the server searches the item database to find the item that best matches the user's requirements.
[0184] The server uses a generative AI model to search the item database and identify the item that best matches the user's requirements and priorities. Specifically, it checks whether each item meets the user's requirements, calculates the importance of each item based on its priority, and generates an evaluation score. Then, it selects several items in descending order of evaluation score. The server also uses the generative AI model to generate recommendation reasons for the selected items, explaining why each item was chosen.
[0185] Finally, the server sends the final generated recommendation results to the terminal. The terminal displays the received recommendations in its user interface, allowing the user to confirm the most suitable items.
[0186] To implement this system, several software and hardware components are required. For the user interface design, cross-platform development frameworks such as Flutter® or React Native can be used. For the server-side API design, Flask (Python) can be used to efficiently send and receive data. Furthermore, a generative AI model such as GPT-4® will be used to generate recommendation reasons in natural language. SQL or NoSQL database management systems will be used for the database.
[0187] As a concrete example, consider a user with the following preferences: "Price: under 30,000 yen", "Performance: high performance", "Design: stylish", "Size: 6 inches or larger", "Priority: Performance > Price > Size > Design".
[0188] The user enters this information into the terminal and sends it to the server. The following prompt message is sent:
[0189] Price: Under 30,000 yen
[0190] Performance: High performance
[0191] Design: Stylish
[0192] Size: 6 inches or larger
[0193] Prioritization: Performance > Price > Size > Design
[0194] The server searches the item database based on the received data and selects the best item from multiple items that meet the criteria. For each selected item, a recommendation reason is generated and the results are displayed on the terminal.
[0195] In this way, the present invention enables the efficient selection of the most suitable items to meet the diverse needs of users, improving user convenience and reducing time and effort.
[0196] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0197] Step 1:
[0198] The user enters the requirements.
[0199] The user opens a smartphone application and enters the specifications of the desired item (price, performance, design, size, etc.). This information is collected through an input form within the application.
[0200] Input: The user enters these conditions.
[0201] Output: The entered conditions are temporarily saved as data in JSON format.
[0202] Step 2:
[0203] Users set priorities for their requirements.
[0204] Next, the user sets the priority of each item based on the conditions they entered earlier. For example, "Performance > Price > Size > Design".
[0205] Input: The user sets the priority.
[0206] Output: Priorities are set and saved as data in JSON format.
[0207] Step 3:
[0208] The user sends requests and priorities to the server.
[0209] The user's terminal inputs requests and their priorities, which are then sent to the server in JSON format. An HTTP POST request is used for this transmission.
[0210] Input: JSON data from the user's terminal.
[0211] Output: The server receives the data.
[0212] Step 4:
[0213] The server analyzes the requirements and priorities.
[0214] The server parses the received JSON data to obtain the user's specific requests and their priority.
[0215] Input: Received JSON data.
[0216] Output: User requirements and priorities as analysis results.
[0217] Step 5:
[0218] The server searches the item database and selects the most suitable item.
[0219] The server searches the item database based on the analyzed requirements and priorities. Using a generative AI model, it calculates an evaluation score for each item and weights them based on their priority. It then selects a few items with high scores.
[0220] Input: Analyzed requirements and priorities.
[0221] Output: Selected items and their evaluation scores.
[0222] Step 6:
[0223] The server generates recommendation reasons using an AI model.
[0224] Using a generative AI model, the system automatically generates recommendation reasons that explain why the selected items were chosen.
[0225] Input: Selected items and their evaluation scores.
[0226] Output: Text data including reasons for recommendation.
[0227] Step 7:
[0228] The server sends the final recommendation results to the terminal.
[0229] The server compiles the selection results and reasons for recommendation and sends them to the user's terminal in JSON format. An HTTP POST request is used for this transmission.
[0230] Input: Recommendation result and reason for recommendation.
[0231] Output: Data compiled in JSON format is sent to the user's terminal.
[0232] Step 8:
[0233] The device displays the recommendation results in the user interface.
[0234] The user terminal analyzes the received data and displays the recommendation results and reasons on the user interface. The user can then review the recommended items and the reasons for their recommendations.
[0235] Input: JSON data sent from the server.
[0236] Output: Recommendation results displayed in the user interface.
[0237] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0238] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it proposes the optimal model based on the user's requirements, priorities, and even their emotions. The embodiments for carrying out this invention are shown below.
[0239] Overall system configuration
[0240] This system consists of a user's terminal, a server, a model database, and an emotion engine. The server receives requests, priorities, and emotion information sent from the user's terminal, selects the most suitable model from the model database based on this information, generates a recommendation, and presents it to the user again.
[0241] Program processing flow
[0242] User input
[0243] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[0244] Price: Under 30,000 yen
[0245] Performance: High performance
[0246] Appearance: Stylish design
[0247] Screen size: 6 inches or larger
[0248] Setting Priorities
[0249] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[0250] Recognition of emotions
[0251] The device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion." This emotional information can potentially influence the user's requests and priorities.
[0252] Data transmission
[0253] The terminal sends user-entered requests, priorities, and sentiment information to the server. This data consists of a series of JSON format entries.
[0254] Data reception and analysis
[0255] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0256] Model selection
[0257] The server uses generative AI to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, the procedure is as follows:
[0258] Verify that each model meets the user's requirements.
[0259] Dynamically adjust requirements and priorities based on emotional information.
[0260] The importance of each model is calculated based on priority, and an evaluation score is generated.
[0261] Select several models in order of their evaluation score.
[0262] Generating reasons for recommendation
[0263] The server uses a text generation engine to generate natural language recommendations explaining why a particular model was selected. For example, a recommendation might say, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, providing more specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[0264] Presentation of results
[0265] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0266] Specific example
[0267] Consider a case where a user has the following desires:
[0268] Price: Under 30,000 yen
[0269] Performance: High performance
[0270] Appearance: Stylish
[0271] Screen size: 6 inches or larger
[0272] Priorities: Performance, price, screen size, appearance
[0273] Emotional information: Positive
[0274] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[0275] Conclusion
[0276] The present invention is a system for efficiently selecting an optimal model according to various demands and emotions of users, thereby improving the convenience of users and having the effect of reducing time and labor. In addition, by combining an emotion engine, the satisfaction of users can be further enhanced.
[0277] The following describes the processing flow.
[0278] Step 1:
[0279] The terminal displays a screen for the user to input requirements and priorities. The screen is provided with input fields regarding price, performance, appearance, and screen size.
[0280] Step 2:
[0281] The user uses the terminal to input specific requirements for the desired model. For example, input "within 30,000 yen" for price, "high performance" for performance, "stylish design" for appearance, and "6 inches or more" for screen size.
[0282] Step 3:
[0283] Set priorities for the requirements input by the user. Determine which element is the most important and the next important element. For example, it is in the form of "1. Performance, 2. Price, 3. Screen size, 4. Appearance".
[0284] Step 4:
[0285] The terminal displays the requirements and priorities input by the user on a confirmation screen. If the user confirms and there are no problems, press the "Send" button.
[0286] Step 5:
[0287] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[0288] Step 6:
[0289] The device recognizes the user's facial expressions and voice, and the emotion engine analyzes the user's emotions. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion."
[0290] Step 7:
[0291] The device sends recognized emotion information to the server. This data is also sent in JSON format.
[0292] Step 8:
[0293] The server receives and analyzes requests, priorities, and sentiment information sent from the terminal. The received data includes the specific requests, priorities, and sentiment information entered by the user.
[0294] Step 9:
[0295] The server uses generative AI to search a model database and identify the optimal model based on the user's requirements, priorities, and sentiment information. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[0296] Step 10:
[0297] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities and sentiment information. For example, if "performance" is the most important factor, the score for performance-related items will be set higher than others.
[0298] Step 11:
[0299] The server selects several models based on the evaluation scores and generates the reasons for the selection in natural language using a text generation engine. For example, recommended reasons such as "Smartphone A has high performance, a price within 30,000 yen, a 6.1-inch screen, and a stylish design" are provided. Additionally, additional recommended reasons based on emotional information such as "For users with positive emotions, devices with bright colors are recommended" are also generated.
[0300] Step 12:
[0301] The server sends the recommended models and recommended reasons generated to the terminal.
[0302] Step 13:
[0303] The terminal displays the recommended results received from the server on the user interface. For example, the detailed information and recommended reasons for "Smartphone A" and "Smartphone B" are displayed.
[0304] Step 第十四条:
[0305] The user checks the displayed results and selects the model that seems to be the most suitable. Additionally, the recommended results based on emotional information can also be referred to. Re-input or change of priorities can also be done as needed.
[0306] (Example 2)
[0307] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".
[0308] In the conventional recommendation system, since only the user's requirements and priorities were considered when selecting models, there was a problem that recommendations according to the user's emotions could not be made. As a result, the user's satisfaction decreased, and it sometimes took time and effort to select an appropriate model.
[0309] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0310] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal model from a model database based on the requirements, priorities, and sentiment information, and means for generating recommendation reasons for the selected model using a generation AI model. This enables recommendations that take the user's sentiments into account, allowing for the presentation of the optimal model to the user and improving satisfaction.
[0311] A "user" is an individual or group that uses the system.
[0312] "Requirements" refer to the characteristics and conditions of a product or service that the user desires.
[0313] "Priority" refers to the order of importance that a user assigns to a requirement.
[0314] "Emotional information" refers to emotional data recognized from the user's facial expressions and voice.
[0315] A "server" is a central computer system that receives, analyzes, and processes data via a network.
[0316] A "product database" is a collection of information that records the features and conditions of various products and services.
[0317] A "generative AI model" is an algorithm that uses large-scale language models or machine learning models to generate text.
[0318] A "recommendation" is a statement explaining why the selected product or service is suitable for the user.
[0319] "Selection method" refers to the method or process of choosing the best option from multiple choices.
[0320] This invention is a system that recommends the optimal model based on the user's diverse requirements and emotional information. Specifically, it operates by coordinating the user's terminal, server, model database, and emotional engine.
[0321] First, the user uses the device to input specific requirements for their desired model. The user enters information about price, performance, appearance, and screen size into the device's interface. Next, the user prioritizes the entered requirements, clearly indicating which elements are most important.
[0322] Furthermore, the device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. This emotion information may influence the user's requests and priorities. The device sends the user's requests, priorities, and emotion information to the server in a series of JSON formats.
[0323] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0324] The server uses a generative AI model to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, it checks whether each model meets the user's requirements and dynamically adjusts the requirements and priorities based on the sentiment information. It calculates the importance of each model based on the priorities and generates an evaluation score. It then selects several models in descending order of evaluation score.
[0325] Subsequently, the server uses an AI model to generate recommendation reasons for the selected models in natural language. For example, a recommendation reason might be, "This smartphone is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, and provides specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[0326] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0327] As a concrete example, consider a case where a user has the following desires:
[0328] Price: Under 30,000 yen
[0329] Performance: High performance
[0330] Appearance: Stylish
[0331] Screen size: 6 inches or larger
[0332] Priorities: Performance, price, screen size, appearance
[0333] Emotional information: Positive
[0334] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best model from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. Recommendations for color variations and designs based on emotional information are also possible.
[0335] Examples of prompt statements are as follows:
[0336] Please recommend the most suitable smartphone model based on the following user information.
[0337] information:
[0338] Price: Under 30,000 yen
[0339] Performance: High performance
[0340] Appearance: Stylish
[0341] Screen size: 6 inches or larger
[0342] Priorities: Performance, price, screen size, appearance
[0343] Emotional information: Positive
[0344] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0345] Step 1:
[0346] The user enters the requirements.
[0347] In terms of specific actions, the user accesses the input form on the device and enters information such as price, performance, appearance, and screen size.
[0348] Input: User's preferences (e.g., Price: under 30,000 yen, Performance: high performance, Appearance: stylish, Screen size: 6 inches or larger).
[0349] Output: The input information is recorded on the terminal.
[0350] Step 2:
[0351] The user sets the priority of the requirements.
[0352] In terms of specific operation, the user sets the priority of each request by dragging and dropping.
[0353] Input: User requirements (output from Step 1) and priority setting operations.
[0354] Output: Priority information is recorded on the device (e.g., performance > price > screen size > appearance).
[0355] Step 3:
[0356] To recognize emotions.
[0357] Specifically, the device scans the user's facial expressions with its camera and analyzes their voice tone with its microphone. The emotion engine analyzes this data to recognize emotions such as positive, negative, or neutral.
[0358] Input: User's video and audio data.
[0359] Output: Emotional information is recorded within the device (e.g., positive).
[0360] Step 4:
[0361] Send the data to the server.
[0362] Specifically, the device serializes all the data it collects into JSON format and sends it to the server via an HTTP POST request.
[0363] Input: Requirements, priorities, and sentiment information in JSON format.
[0364] Output: JSON data is sent to the server.
[0365] Step 5:
[0366] The server receives and analyzes the data.
[0367] Specifically, the server receives an HTTP request, parses and analyzes the JSON data, extracts the necessary information, and prepares to search the model database.
[0368] Input: JSON data sent from the terminal (output from step 4).
[0369] Output: Analyzed requirements, priorities, and sentiment information.
[0370] Step 6:
[0371] The server searches the model database and selects the most suitable model.
[0372] Specifically, the server searches the model database and checks if each model meets the user's requirements. Based on sentiment information, it adjusts the requirements and priorities and lists the most suitable models.
[0373] Input: Analyzed requirements, priorities, and sentiment information (Output from Step 5).
[0374] Output: A list of the best selected models.
[0375] Step 7:
[0376] The server generates the recommendation reason.
[0377] In terms of specific operations, the server sends prompts to the generated AI model, which then creates recommendation reasons based on the characteristics of the selected model.
[0378] Input: List of selected models (output from step 6).
[0379] Output: Text containing the reasons for the recommendation.
[0380] Step 8:
[0381] The server sends the final result to the terminal and displays it.
[0382] Specifically, the server sends the results, along with the generated recommendation reasons, to the terminal in JSON format, and the terminal displays the received data in the user interface.
[0383] Input: Text containing the reasons for the recommendation (output from Step 7).
[0384] Output: The final result displayed on the device (e.g., the recommended model and the reason).
[0385] (Application Example 2)
[0386] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0387] In modern shopping systems, it is difficult for users to find the optimal product that meets their needs and desires. Furthermore, traditional recommendation systems struggle to consider user emotions and intuitive preferences, resulting in only mechanical recommendations. This leads to decreased user satisfaction. A system is needed to solve this problem and effectively help users find products that better satisfy them.
[0388] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal product from a database based on the requirements, priorities, and emotional information, means for recognizing emotions from the user's facial expressions and voice, and means for presenting the selected product to the user along with the reasons for the recommendation. This makes it possible to provide personalized product recommendations that take into account not only the user's specific requirements but also emotional information.
[0389] "Requirements" refer to the specific features and conditions of the product that the user desires.
[0390] "Priority" refers to the order in which multiple requirements are determined, determining which element is the most important.
[0391] "Emotional information" refers to emotional data collected from the user's facial expressions, voice, and other similar information.
[0392] A "database" is a collection of information about a product.
[0393] "Facial expression" refers to the concrete manifestation of emotions and feelings expressed through the muscles of the face.
[0394] "Voice" refers to the sounds produced by human speech.
[0395] The "reason for recommendation" explains how the selected product meets the user's requirements and emotional information.
[0396] The "evaluation score" is a numerical representation of how well each aspect of the product matches the user's requirements, priorities, and even emotional information.
[0397] "Personalization" is the process of individualization that reflects the individual preferences and needs of each user.
[0398] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it is a system in which users input requirements, priorities, and emotional information, and based on this, the system recommends the most suitable product. The following describes embodiments for carrying out this invention.
[0399] System Configuration
[0400] This system primarily consists of the user's terminal, server, database, and emotion recognition engine.
[0401] hardware
[0402] User device: A smartphone, tablet, or personal computer is used. The device is equipped with a camera and microphone, which are used to acquire emotional information.
[0403] Server: High-performance computers or cloud services are used to process data and execute recommendation algorithms.
[0404] software
[0405] EmotionRecognition Module: Software for recognizing emotions from the user's facial expressions and voice.
[0406] requests library: Software for performing data communication between user terminals and servers.
[0407] product_database module: A database for managing and searching product information.
[0408] Generative AI model: An AI model for generating necessary recommendation reasons.
[0409] Operation overview
[0410] The user uses their device to input specific requirements for the desired product, including price, performance, design, and screen size. Next, the user prioritizes these requirements. Then, the device's camera and microphone are used by an emotion recognition engine to collect the user's emotional information.
[0411] The user's input, including requirements, priorities, and sentiment information, is sent to the server as a series of data. The server receives this data and searches its database for the most suitable product based on it. A generative AI model generates recommendation reasons, which are then presented to the user along with the final recommendation result.
[0412] Specific example
[0413] For example, consider a case where a user has the following desires:
[0414] Price: Under 30,000 yen
[0415] Performance: High performance
[0416] Design: Stylish
[0417] Screen size: 6 inches or larger
[0418] Priorities: Performance, Price, Screen Size, Design
[0419] Emotional information: Positive
[0420] The user enters this information into their device and sends it to the server. The server searches its database based on the received data and selects the best product from several that meet the criteria. For example, "Product A" and "Product B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[0421] Examples of prompts to input into a generative AI model
[0422] User requirements: Price under 30,000 yen, high performance, stylish design, screen size 6 inches or larger. Priorities: Performance, price, screen size, design. Sentiment: Positive. Please recommend products that meet these conditions and explain your reasons.
[0423] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0424] Step 1:
[0425] The user uses a device to input specific requirements for their desired product. This input includes price, performance, design, and screen size. For example, input data such as "Price: Under 30,000 yen," "Performance: High performance," "Design: Stylish," and "Screen size: 6 inches or larger" might be obtained.
[0426] Step 2:
[0427] Next, the user prioritizes the requirements they entered, for example, in the order of "Performance > Price > Screen Size > Design." This setting data indicates which requirements are most important and is used in subsequent calculations.
[0428] Step 3:
[0429] The device's camera and microphone are used to capture the user's facial expressions and voice. The EmotionRecognition module is used to recognize emotional information from this data. In this step, for example, "Emotional Information: Positive" might be output.
[0430] Step 4:
[0431] The device sends user-entered requests, priorities, and recognized sentiment information to the server as a set of data. The requests library is used to send data to the server in JSON format. This JSON data includes "requests," "priorities," and "sentiment information."
[0432] Step 5:
[0433] The server receives and analyzes data sent from the terminal. The analysis breaks down the received data, extracting individual requests, priorities, and sentiment information.
[0434] Step 6:
[0435] The server searches the database for the most suitable product based on the received data. It uses the `product_database` module to filter products that match the requirements. In this step, for example, products "Product A" and "Product B" that meet the criteria are searched for.
[0436] Step 7:
[0437] The server uses a generation AI model to generate recommendation reasons for each product. In this step, prompt statements are input to the AI model, and recommendation reasons are output. For example, the prompt statement used might be: "User requirements: Price under 30,000 yen, high performance, stylish design, screen size of 6 inches or larger. Sentiment information: Positive. Recommend products that match these conditions and explain the reasons."
[0438] Step 8:
[0439] The server recommends the highest-rated product to the user and generates a natural language explanation for it. The final recommendation result, along with the generated reasoning, is then sent to the user's device.
[0440] Step 9:
[0441] The terminal displays the recommendation results received from the server in the user interface. Users can view the recommended products and the reasons for the recommendations.
[0442] These steps allow users to efficiently find the best product based on their requirements and emotional information.
[0443] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0444] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0445] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0446] [Second Embodiment]
[0447] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0448] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0449] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0450] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0451] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0452] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0453] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0454] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0455] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0456] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0457] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0458] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0459] This invention is a recommendation system designed to meet the diverse needs of users, specifically by suggesting the optimal model based on the user's requirements and priorities. The embodiments for carrying out this invention are shown below.
[0460] Overall system configuration
[0461] This system consists of a user terminal, a server, and a model database. The server receives requests and priorities sent from the user's terminal, selects the most suitable model from the model database based on that information, generates a recommendation, and presents it to the user again.
[0462] Program processing flow
[0463] User input
[0464] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[0465] Price: Under 30,000 yen
[0466] Performance: High performance
[0467] Appearance: Stylish design
[0468] Screen size: 6 inches or larger
[0469] Setting Priorities
[0470] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[0471] Data transmission
[0472] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0473] Data reception and analysis
[0474] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0475] Model selection
[0476] The server uses generative AI to search the model database and identify the model that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0477] Verify that each model meets the user's requirements.
[0478] The importance of each model is calculated based on priority, and an evaluation score is generated.
[0479] Select several models in order of their evaluation score.
[0480] Generating reasons for recommendation
[0481] The server generates recommendation reasons for the selected model, explaining why that particular model was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0482] Presentation of results
[0483] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0484] Specific example
[0485] Consider a case where a user has the following desires:
[0486] Price: Under 30,000 yen
[0487] Performance: High performance
[0488] Appearance: Stylish
[0489] Screen size: 6 inches or larger
[0490] Priorities: Performance, price, screen size, appearance
[0491] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0492] In conclusion
[0493] This invention is a system for efficiently selecting the optimal model to meet the diverse needs of users, thereby improving user convenience and reducing time and effort.
[0494] The following describes the processing flow.
[0495] Step 1:
[0496] The device displays a screen where the user can input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[0497] Step 2:
[0498] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[0499] Step 3:
[0500] Users prioritize their requirements, determining which element is most important, followed by the next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[0501] Step 4:
[0502] The terminal displays the user's entered requests and priority data on a confirmation screen. The user reviews the information and, if there are no problems, press the "Submit" button.
[0503] Step 5:
[0504] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[0505] Step 6:
[0506] The server receives and analyzes data sent from the terminal. The received data includes the specific requests entered by the user and their priority order.
[0507] Step 7:
[0508] The server uses generative AI to search a model database and identify the model that best matches the user's requirements and priorities. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[0509] Step 8:
[0510] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities. For example, if "performance" is the most important factor, the server will set the score of performance-related items to be higher than others.
[0511] Step 9:
[0512] The server selects several models based on their evaluation scores and generates the reasons for their selection in natural language using a text generation engine. For example, it might generate a recommendation like, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0513] Step 10:
[0514] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[0515] Step 11:
[0516] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[0517] Step 12:
[0518] The user reviews the displayed results and selects the model they deem most suitable. They can also re-enter their preferences or change their priorities as needed.
[0519] (Example 1)
[0520] Next, we will describe Example 1. 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."
[0521] Modern users have a wide variety of requirements when selecting products, and they need to prioritize these requirements. However, traditional recommendation systems have difficulty accurately reflecting the user's requirements and priorities to suggest the optimal product, resulting in increased time and effort for the user. Furthermore, there has been a challenge in clearly explaining the reasons for selecting a suitable product for the user.
[0522] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0523] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the optimal device from a device database based on the requirements and priorities, and means for presenting the selected device to the user along with the reasons for the recommendation using a generative AI model. This makes it possible to efficiently propose the optimal device based on the user's diverse requirements and their priorities, and to provide the recommendation reasons in an easy-to-understand manner for the user.
[0524] A "user" refers to an individual or group that uses the system, inputs requirements, and sets priorities.
[0525] "Requirements" refer to information that specifically outlines the conditions and characteristics desired by the user. Examples include price, performance, design, and display size.
[0526] "Priority" refers to the order in which user-entered requirements are considered more important than others.
[0527] "Terminal" refers to a computer or mobile device that a user uses to input requests and priorities and send them to a server.
[0528] A "server" refers to a device that receives requests and priorities sent by users, analyzes them, selects the most suitable device, and generates recommendation results.
[0529] A "device database" refers to a database containing information about various devices. This database includes information such as the price, performance, design, and display size of each device.
[0530] A "generative AI model" refers to an algorithm or program that uses machine learning or artificial intelligence technology to select the optimal device based on user requirements and priorities.
[0531] "Reasons for recommendation" refers to information explaining why the selected equipment meets the user's requirements. It should include specific features and conditions.
[0532] This invention is a recommendation system designed to meet the diverse needs of users, and can propose the most suitable device based on the user's requirements and priorities. The system consists of a user terminal, a server, and a device database.
[0533] User input
[0534] The user uses a terminal to enter specific requirements for their desired device. These requirements may include price, performance, design, and display size. The user might enter the following requests:
[0535] Price: Under 50,000 yen
[0536] Performance: High performance
[0537] Design: Modern design
[0538] Display size: 6 inches or larger
[0539] Setting Priorities
[0540] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Display Size > Design."
[0541] Data transmission
[0542] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0543] Data reception and analysis
[0544] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the device database to find the device that best matches the user's requests.
[0545] Equipment Selection
[0546] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0547] Verify that each device meets the user's requirements.
[0548] The importance of each device is calculated based on priority, and an evaluation score is generated.
[0549] Select several devices in order of their evaluation score.
[0550] Generating reasons for recommendation
[0551] The server generates recommendation reasons for the selected device, explaining why that particular device was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 50,000 yen, has a 6.1-inch display, and a modern design."
[0552] Presentation of results
[0553] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the optimal device.
[0554] Specific example
[0555] Consider a case where a user has the following desires:
[0556] Price: Under 50,000 yen
[0557] Performance: High performance
[0558] Design: Modern
[0559] Display size: 6 inches or larger
[0560] Priorities: Performance, price, display size, design
[0561] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from among several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0562] This system allows users to efficiently and quickly select the optimal equipment, which is expected to save time and effort.
[0563] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0564] Step 1:
[0565] The user uses a terminal to input specific requirements for their desired device. These requirements include price, performance, design, and display size. For example, they might enter requirements such as "Price: under 50,000 yen," "Performance: high performance," "Design: modern," and "Display size: 6 inches or larger." The entered data is temporarily stored within the terminal.
[0566] Step 2:
[0567] Users prioritize the requirements they enter on the device. They use the on-screen priority buttons to set the priority order of their requirements, such as "Performance > Price > Display Size > Design." This priority information is also stored within the device.
[0568] Step 3:
[0569] The terminal converts the user's input requests and priorities to generate JSON data and sends it to the server. Specifically, pressing the "Send" button sends the following JSON data to the server:
[0570] json
[0571] {
[0572] "Price": "Under 50,000 yen"
[0573] "performance": "high performance",
[0574] "design": "modern",
[0575] "screen_size": "6 inches or larger",
[0576] "priority": ["performance", "price", "screen_size", "design"]
[0577] }
[0578] Step 4:
[0579] The server receives and parses the JSON data sent from the terminal. Specifically, the server analyzes the received data to extract requirements and priorities. For example, information such as "price," "performance," "design," "display size," and "priority" is analyzed.
[0580] Step 5:
[0581] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, it performs the following operations:
[0582] Verify that each device meets the user's requirements.
[0583] The importance of each device is calculated based on priority, and an evaluation score is generated for each device.
[0584] Select several devices in order of their evaluation score.
[0585] For example, "Smartphone A" and "Smartphone B" are selected from the device database.
[0586] Step 6:
[0587] The server generates recommendation reasons for the selected device. These reasons include an explanation of why the device meets the user's requirements. Specifically, it uses a generative AI model to generate recommendation reasons such as "high performance, priced under 50,000 yen, modern design, and a display of 6 inches or larger."
[0588] Step 7:
[0589] The server then sends the final generated recommendation results and reasons for recommendation to the terminal. The terminal displays the received recommendation results and reasons for recommendation in its user interface, allowing the user to confirm the most suitable device. For example, "a list of selected devices and their reasons for recommendation" might be displayed on the terminal's screen.
[0590] Through the steps described above, this system can propose the most suitable equipment based on the user's diverse requirements and priorities, and provide the user with clear and understandable reasons for the recommendation.
[0591] (Application Example 1)
[0592] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0593] Traditional mail-order systems have struggled to accurately reflect diverse user requirements, resulting in reduced accuracy in recommending optimal products. Furthermore, while providing users with appropriate reasoning for recommendations is necessary to enhance their reliability, generating such reasoning is time-consuming and labor-intensive. There is a need to overcome these challenges and develop a system that can provide users with more accurate recommendations quickly.
[0594] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0595] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the most suitable item from the item database based on the requirements and priorities, means for presenting the selected item to the user along with the recommendation reason, and means for generating the recommendation reason using a generation AI model. This makes it possible to quickly provide highly accurate recommendation results based on the user's diverse requirements, and to automatically generate highly reliable recommendation reasons.
[0596] "Means for users to input requirements" refers to an interface for users to input desired conditions and characteristics on a terminal, and a mechanism for receiving that input.
[0597] "A means for users to set priorities for requirements" refers to an interface for users to set importance and priority levels for the requirements they enter, as well as a mechanism for saving those settings.
[0598] "Means for transmitting the aforementioned requirements and priorities as data to the server" refers to communication means for transmitting the user's input requirements and their priorities to the server via a network.
[0599] "Means for selecting the most suitable item from the item database based on the aforementioned requirements and priorities" refers to an algorithm or system in which the server analyzes the user's requirements and priorities, searches the item database based on them, and selects the most suitable item.
[0600] "Means of presenting selected items to the user along with the reasons for their recommendation" refers to an interface and its display function for displaying the selected items and the reasons for their selection to the user.
[0601] "A means of generating recommendation reasons using a generative AI model" refers to a system that uses a generative AI model to automatically generate the reasons and justifications for the selection of an item and provides that information to the user.
[0602] A "product database" is a database that contains information about various products, such as price, performance, design, and size.
[0603] The "evaluation score" is a numerical representation of the suitability of an item based on the user's requirements and priorities.
[0604] "Weighting" is the process of assigning weights to each requirement according to the user's priority, and is a means of calculating an overall evaluation score.
[0605] This invention is a system for recommending the most suitable items to users on an e-commerce website based on their diverse requirements. The system is configured as follows:
[0606] The user uses a smartphone or other device to input specific requirements for the item they want. These requirements might include price, performance, design, and size. Next, the user prioritizes these requirements, determining which element is most important and then the next most important.
[0607] The user's device sends these requirements and priorities as data to the server. This data is typically in JSON format. The server receives and parses the data sent from the device. The received data includes the user's specific requirements and their priorities. After parsing, the server searches the item database to find the item that best matches the user's requirements.
[0608] The server uses a generative AI model to search the item database and identify the item that best matches the user's requirements and priorities. Specifically, it checks whether each item meets the user's requirements, calculates the importance of each item based on its priority, and generates an evaluation score. Then, it selects several items in descending order of evaluation score. The server also uses the generative AI model to generate recommendation reasons for the selected items, explaining why each item was chosen.
[0609] Finally, the server sends the final generated recommendation results to the terminal. The terminal displays the received recommendations in its user interface, allowing the user to confirm the most suitable items.
[0610] To implement this system, several software and hardware components are required. For the user interface design, cross-platform development frameworks such as Flutter or React Native can be used. For the server-side API design, Flask (Python) can be used to efficiently send and receive data. Furthermore, a generative AI model such as GPT-4 will be used to generate recommendation reasons in natural language. A database management system such as SQL or NoSQL will be used for the database.
[0611] As a concrete example, consider a user with the following preferences: "Price: under 30,000 yen", "Performance: high performance", "Design: stylish", "Size: 6 inches or larger", "Priority: Performance > Price > Size > Design".
[0612] The user enters this information into the terminal and sends it to the server. The following prompt message is sent:
[0613] Price: Under 30,000 yen
[0614] Performance: High performance
[0615] Design: Stylish
[0616] Size: 6 inches or larger
[0617] Prioritization: Performance > Price > Size > Design
[0618] The server searches the item database based on the received data and selects the best item from multiple items that meet the criteria. For each selected item, a recommendation reason is generated and the results are displayed on the terminal.
[0619] In this way, the present invention enables the efficient selection of the most suitable items to meet the diverse needs of users, improving user convenience and reducing time and effort.
[0620] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0621] Step 1:
[0622] The user enters the requirements.
[0623] The user opens a smartphone application and enters the specifications of the desired item (price, performance, design, size, etc.). This information is collected through an input form within the application.
[0624] Input: The user enters these conditions.
[0625] Output: The entered conditions are temporarily saved as data in JSON format.
[0626] Step 2:
[0627] Users set priorities for their requirements.
[0628] Next, the user sets the priority of each item based on the conditions they entered earlier. For example, "Performance > Price > Size > Design".
[0629] Input: The user sets the priority.
[0630] Output: Priorities are set and saved as data in JSON format.
[0631] Step 3:
[0632] The user sends requests and priorities to the server.
[0633] The user's terminal inputs requests and their priorities, which are then sent to the server in JSON format. An HTTP POST request is used for this transmission.
[0634] Input: JSON data from the user's terminal.
[0635] Output: The server receives the data.
[0636] Step 4:
[0637] The server analyzes the requirements and priorities.
[0638] The server parses the received JSON data to obtain the user's specific requests and their priority.
[0639] Input: Received JSON data.
[0640] Output: User requirements and priorities as analysis results.
[0641] Step 5:
[0642] The server searches the item database and selects the most suitable item.
[0643] The server searches the item database based on the analyzed requirements and priorities. Using a generative AI model, it calculates an evaluation score for each item and weights them based on their priority. It then selects a few items with high scores.
[0644] Input: Analyzed requirements and priorities.
[0645] Output: Selected items and their evaluation scores.
[0646] Step 6:
[0647] The server generates recommendation reasons using an AI model.
[0648] Using a generative AI model, the system automatically generates recommendation reasons that explain why the selected items were chosen.
[0649] Input: Selected items and their evaluation scores.
[0650] Output: Text data including reasons for recommendation.
[0651] Step 7:
[0652] The server sends the final recommendation results to the terminal.
[0653] The server compiles the selection results and reasons for recommendation and sends them to the user's terminal in JSON format. An HTTP POST request is used for this transmission.
[0654] Input: Recommendation result and reason for recommendation.
[0655] Output: Data compiled in JSON format is sent to the user's terminal.
[0656] Step 8:
[0657] The device displays the recommendation results in the user interface.
[0658] The user terminal analyzes the received data and displays the recommendation results and reasons on the user interface. The user can then review the recommended items and the reasons for their recommendations.
[0659] Input: JSON data sent from the server.
[0660] Output: Recommendation results displayed in the user interface.
[0661] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0662] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it proposes the optimal model based on the user's requirements, priorities, and even their emotions. The embodiments for carrying out this invention are shown below.
[0663] Overall system configuration
[0664] This system consists of a user's terminal, a server, a model database, and an emotion engine. The server receives requests, priorities, and emotion information sent from the user's terminal, selects the most suitable model from the model database based on this information, generates a recommendation, and presents it to the user again.
[0665] Program processing flow
[0666] User input
[0667] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[0668] Price: Under 30,000 yen
[0669] Performance: High performance
[0670] Appearance: Stylish design
[0671] Screen size: 6 inches or larger
[0672] Setting Priorities
[0673] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[0674] Recognition of emotions
[0675] The device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion." This emotional information can potentially influence the user's requests and priorities.
[0676] Data transmission
[0677] The terminal sends user-entered requests, priorities, and sentiment information to the server. This data consists of a series of JSON format entries.
[0678] Data reception and analysis
[0679] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0680] Model selection
[0681] The server uses generative AI to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, the procedure is as follows:
[0682] Verify that each model meets the user's requirements.
[0683] Dynamically adjust requirements and priorities based on emotional information.
[0684] The importance of each model is calculated based on priority, and an evaluation score is generated.
[0685] Select several models in order of their evaluation score.
[0686] Generating reasons for recommendation
[0687] The server uses a text generation engine to generate natural language recommendations explaining why a particular model was selected. For example, a recommendation might say, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, providing more specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[0688] Presentation of results
[0689] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0690] Specific example
[0691] Consider a case where a user has the following desires:
[0692] Price: Under 30,000 yen
[0693] Performance: High performance
[0694] Appearance: Stylish
[0695] Screen size: 6 inches or larger
[0696] Priorities: Performance, price, screen size, appearance
[0697] Emotional information: Positive
[0698] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[0699] In conclusion
[0700] This invention is a system for efficiently selecting the optimal model to meet the diverse needs and emotions of users, thereby improving user convenience and reducing time and effort. Furthermore, by combining it with an emotion engine, user satisfaction can be further enhanced.
[0701] The following describes the processing flow.
[0702] Step 1:
[0703] The device displays a screen for the user to input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[0704] Step 2:
[0705] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[0706] Step 3:
[0707] Prioritize the requirements entered by the user. Determine which element is most important, and then which is next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[0708] Step 4:
[0709] The terminal displays the user's entered requests and their priority on a confirmation screen. If the user confirms everything is correct, they press the "Submit" button.
[0710] Step 5:
[0711] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[0712] Step 6:
[0713] The device recognizes the user's facial expressions and voice, and the emotion engine analyzes the user's emotions. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion."
[0714] Step 7:
[0715] The device sends recognized emotion information to the server. This data is also sent in JSON format.
[0716] Step 8:
[0717] The server receives and analyzes requests, priorities, and sentiment information sent from the terminal. The received data includes the specific requests, priorities, and sentiment information entered by the user.
[0718] Step 9:
[0719] The server uses generative AI to search a model database and identify the optimal model based on the user's requirements, priorities, and sentiment information. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[0720] Step 10:
[0721] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities and sentiment information. For example, if "performance" is the most important factor, the score for performance-related items will be set higher than others.
[0722] Step 11:
[0723] The server selects several models based on their evaluation scores and generates reasons for their selection in natural language using a text generation engine. For example, a recommendation reason might be, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." Additional recommendation reasons based on emotional information, such as, "Vibrantly colored devices are recommended for users with positive emotions," are also generated.
[0724] Step 12:
[0725] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[0726] Step 13:
[0727] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[0728] Step 14:
[0729] The user reviews the displayed results and selects the model they deem most suitable. They can also refer to recommendations based on sentiment. They can re-enter their preferences or change priorities as needed.
[0730] (Example 2)
[0731] Next, we will describe Example 2. 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".
[0732] Traditional recommendation systems selected models based solely on user requirements and priorities, resulting in a lack of recommendations that considered user emotions. This led to decreased user satisfaction and sometimes required significant time and effort to select the appropriate model.
[0733] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0734] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal model from a model database based on the requirements, priorities, and sentiment information, and means for generating recommendation reasons for the selected model using a generation AI model. This enables recommendations that take the user's sentiments into account, allowing for the presentation of the optimal model to the user and improving satisfaction.
[0735] A "user" is an individual or group that uses the system.
[0736] "Requirements" refer to the characteristics and conditions of a product or service that the user desires.
[0737] "Priority" refers to the order of importance that a user assigns to a requirement.
[0738] "Emotional information" refers to emotional data recognized from the user's facial expressions and voice.
[0739] A "server" is a central computer system that receives, analyzes, and processes data via a network.
[0740] A "product database" is a collection of information that records the features and conditions of various products and services.
[0741] A "generative AI model" is an algorithm that uses large-scale language models or machine learning models to generate text.
[0742] A "recommendation" is a statement explaining why the selected product or service is suitable for the user.
[0743] "Selection method" refers to the method or process of choosing the best option from multiple choices.
[0744] This invention is a system that recommends the optimal model based on the user's diverse requirements and emotional information. Specifically, it operates by coordinating the user's terminal, server, model database, and emotional engine.
[0745] First, the user uses the device to input specific requirements for their desired model. The user enters information about price, performance, appearance, and screen size into the device's interface. Next, the user prioritizes the entered requirements, clearly indicating which elements are most important.
[0746] Furthermore, the device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. This emotion information may influence the user's requests and priorities. The device sends the user's requests, priorities, and emotion information to the server in a series of JSON formats.
[0747] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0748] The server uses a generative AI model to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, it checks whether each model meets the user's requirements and dynamically adjusts the requirements and priorities based on the sentiment information. It calculates the importance of each model based on the priorities and generates an evaluation score. It then selects several models in descending order of evaluation score.
[0749] Subsequently, the server uses an AI model to generate recommendation reasons for the selected models in natural language. For example, a recommendation reason might be, "This smartphone is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, and provides specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[0750] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0751] As a concrete example, consider a case where a user has the following desires:
[0752] Price: Under 30,000 yen
[0753] Performance: High performance
[0754] Appearance: Stylish
[0755] Screen size: 6 inches or larger
[0756] Priorities: Performance, price, screen size, appearance
[0757] Emotional information: Positive
[0758] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best model from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. Recommendations for color variations and designs based on emotional information are also possible.
[0759] Examples of prompt statements are as follows:
[0760] Please recommend the most suitable smartphone model based on the following user information.
[0761] information:
[0762] Price: Under 30,000 yen
[0763] Performance: High performance
[0764] Appearance: Stylish
[0765] Screen size: 6 inches or larger
[0766] Priorities: Performance, price, screen size, appearance
[0767] Emotional information: Positive
[0768] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0769] Step 1:
[0770] The user enters the requirements.
[0771] In terms of specific actions, the user accesses the input form on the device and enters information such as price, performance, appearance, and screen size.
[0772] Input: User's preferences (e.g., Price: under 30,000 yen, Performance: high performance, Appearance: stylish, Screen size: 6 inches or larger).
[0773] Output: The input information is recorded on the terminal.
[0774] Step 2:
[0775] The user sets the priority of the requirements.
[0776] In terms of specific operation, the user sets the priority of each request by dragging and dropping.
[0777] Input: User requirements (output from Step 1) and priority setting operations.
[0778] Output: Priority information is recorded on the device (e.g., performance > price > screen size > appearance).
[0779] Step 3:
[0780] To recognize emotions.
[0781] Specifically, the device scans the user's facial expressions with its camera and analyzes their voice tone with its microphone. The emotion engine analyzes this data to recognize emotions such as positive, negative, or neutral.
[0782] Input: User's video and audio data.
[0783] Output: Emotional information is recorded within the device (e.g., positive).
[0784] Step 4:
[0785] Send the data to the server.
[0786] Specifically, the device serializes all the data it collects into JSON format and sends it to the server via an HTTP POST request.
[0787] Input: Requirements, priorities, and sentiment information in JSON format.
[0788] Output: JSON data is sent to the server.
[0789] Step 5:
[0790] The server receives and analyzes the data.
[0791] Specifically, the server receives an HTTP request, parses and analyzes the JSON data, extracts the necessary information, and prepares to search the model database.
[0792] Input: JSON data sent from the terminal (output from step 4).
[0793] Output: Analyzed requirements, priorities, and sentiment information.
[0794] Step 6:
[0795] The server searches the model database and selects the most suitable model.
[0796] Specifically, the server searches the model database and checks if each model meets the user's requirements. Based on sentiment information, it adjusts the requirements and priorities and lists the most suitable models.
[0797] Input: Analyzed requirements, priorities, and sentiment information (Output from Step 5).
[0798] Output: A list of the best selected models.
[0799] Step 7:
[0800] The server generates the recommendation reason.
[0801] In terms of specific operations, the server sends prompts to the generated AI model, which then creates recommendation reasons based on the characteristics of the selected model.
[0802] Input: List of selected models (output from step 6).
[0803] Output: Text containing the reasons for the recommendation.
[0804] Step 8:
[0805] The server sends the final result to the terminal and displays it.
[0806] Specifically, the server sends the results, along with the generated recommendation reasons, to the terminal in JSON format, and the terminal displays the received data in the user interface.
[0807] Input: Text containing the reasons for the recommendation (output from Step 7).
[0808] Output: The final result displayed on the device (e.g., the recommended model and the reason).
[0809] (Application Example 2)
[0810] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0811] In modern shopping systems, it is difficult for users to find the optimal product that meets their needs and desires. Furthermore, traditional recommendation systems struggle to consider user emotions and intuitive preferences, resulting in only mechanical recommendations. This leads to decreased user satisfaction. A system is needed to solve this problem and effectively help users find products that better satisfy them.
[0812] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal product from a database based on the requirements, priorities, and emotional information, means for recognizing emotions from the user's facial expressions and voice, and means for presenting the selected product to the user along with the reasons for the recommendation. This makes it possible to provide personalized product recommendations that take into account not only the user's specific requirements but also emotional information.
[0813] "Requirements" refer to the specific features and conditions of the product that the user desires.
[0814] "Priority" refers to the order in which multiple requirements are determined, determining which element is the most important.
[0815] "Emotional information" refers to emotional data collected from the user's facial expressions, voice, and other similar information.
[0816] A "database" is a collection of information about a product.
[0817] "Facial expression" refers to the concrete manifestation of emotions and feelings expressed through the muscles of the face.
[0818] "Voice" refers to the sounds produced by human speech.
[0819] The "reason for recommendation" explains how the selected product meets the user's requirements and emotional information.
[0820] The "evaluation score" is a numerical representation of how well each aspect of the product matches the user's requirements, priorities, and even emotional information.
[0821] "Personalization" is the process of individualization that reflects the individual preferences and needs of each user.
[0822] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it is a system in which users input requirements, priorities, and emotional information, and based on this, the system recommends the most suitable product. The following describes embodiments for carrying out this invention.
[0823] System Configuration
[0824] This system primarily consists of the user's terminal, server, database, and emotion recognition engine.
[0825] hardware
[0826] User device: A smartphone, tablet, or personal computer is used. The device is equipped with a camera and microphone, which are used to acquire emotional information.
[0827] Server: High-performance computers or cloud services are used to process data and execute recommendation algorithms.
[0828] software
[0829] EmotionRecognition Module: Software for recognizing emotions from the user's facial expressions and voice.
[0830] requests library: Software for performing data communication between user terminals and servers.
[0831] product_database module: A database for managing and searching product information.
[0832] Generative AI model: An AI model for generating necessary recommendation reasons.
[0833] Operation overview
[0834] The user uses their device to input specific requirements for the desired product, including price, performance, design, and screen size. Next, the user prioritizes these requirements. Then, the device's camera and microphone are used by an emotion recognition engine to collect the user's emotional information.
[0835] The user's input, including requirements, priorities, and sentiment information, is sent to the server as a series of data. The server receives this data and searches its database for the most suitable product based on it. A generative AI model generates recommendation reasons, which are then presented to the user along with the final recommendation result.
[0836] Specific example
[0837] For example, consider a case where a user has the following desires:
[0838] Price: Under 30,000 yen
[0839] Performance: High performance
[0840] Design: Stylish
[0841] Screen size: 6 inches or larger
[0842] Priorities: Performance, Price, Screen Size, Design
[0843] Emotional information: Positive
[0844] The user enters this information into their device and sends it to the server. The server searches its database based on the received data and selects the best product from several that meet the criteria. For example, "Product A" and "Product B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[0845] Examples of prompts to input into a generative AI model
[0846] User requirements: Price under 30,000 yen, high performance, stylish design, screen size 6 inches or larger. Priorities: Performance, price, screen size, design. Sentiment: Positive. Please recommend products that meet these conditions and explain your reasons.
[0847] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0848] Step 1:
[0849] The user uses a device to input specific requirements for their desired product. This input includes price, performance, design, and screen size. For example, input data such as "Price: Under 30,000 yen," "Performance: High performance," "Design: Stylish," and "Screen size: 6 inches or larger" might be obtained.
[0850] Step 2:
[0851] Next, the user prioritizes the requirements they entered, for example, in the order of "Performance > Price > Screen Size > Design." This setting data indicates which requirements are most important and is used in subsequent calculations.
[0852] Step 3:
[0853] The device's camera and microphone are used to capture the user's facial expressions and voice. The EmotionRecognition module is used to recognize emotional information from this data. In this step, for example, "Emotional Information: Positive" might be output.
[0854] Step 4:
[0855] The device sends user-entered requests, priorities, and recognized sentiment information to the server as a set of data. The requests library is used to send data to the server in JSON format. This JSON data includes "requests," "priorities," and "sentiment information."
[0856] Step 5:
[0857] The server receives and analyzes data sent from the terminal. The analysis breaks down the received data, extracting individual requests, priorities, and sentiment information.
[0858] Step 6:
[0859] The server searches the database for the most suitable product based on the received data. It uses the `product_database` module to filter products that match the requirements. In this step, for example, products "Product A" and "Product B" that meet the criteria are searched for.
[0860] Step 7:
[0861] The server uses a generation AI model to generate recommendation reasons for each product. In this step, prompt statements are input to the AI model, and recommendation reasons are output. For example, the prompt statement used might be: "User requirements: Price under 30,000 yen, high performance, stylish design, screen size of 6 inches or larger. Sentiment information: Positive. Recommend products that match these conditions and explain the reasons."
[0862] Step 8:
[0863] The server recommends the highest-rated product to the user and generates a natural language explanation for it. The final recommendation result, along with the generated reasoning, is then sent to the user's device.
[0864] Step 9:
[0865] The terminal displays the recommendation results received from the server in the user interface. Users can view the recommended products and the reasons for the recommendations.
[0866] These steps allow users to efficiently find the best product based on their requirements and emotional information.
[0867] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0868] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0869] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0870] [Third Embodiment]
[0871] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0872] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0873] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0874] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0875] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0876] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0877] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0878] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0879] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0880] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0881] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0882] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0883] This invention is a recommendation system designed to meet the diverse needs of users, specifically by suggesting the optimal model based on the user's requirements and priorities. The embodiments for carrying out this invention are shown below.
[0884] Overall system configuration
[0885] This system consists of a user terminal, a server, and a model database. The server receives requests and priorities sent from the user's terminal, selects the most suitable model from the model database based on that information, generates a recommendation, and presents it to the user again.
[0886] Program processing flow
[0887] User input
[0888] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[0889] Price: Under 30,000 yen
[0890] Performance: High performance
[0891] Appearance: Stylish design
[0892] Screen size: 6 inches or larger
[0893] Setting Priorities
[0894] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[0895] Data transmission
[0896] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0897] Data reception and analysis
[0898] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the model database to find the model that best matches the user's requests.
[0899] Model selection
[0900] The server uses generative AI to search the model database and identify the model that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0901] Verify that each model meets the user's requirements.
[0902] The importance of each model is calculated based on priority, and an evaluation score is generated.
[0903] Select several models in order of their evaluation score.
[0904] Generating reasons for recommendation
[0905] The server generates recommendation reasons for the selected model, explaining why that particular model was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0906] Presentation of results
[0907] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[0908] Specific example
[0909] Consider a case where a user has the following desires:
[0910] Price: Under 30,000 yen
[0911] Performance: High performance
[0912] Appearance: Stylish
[0913] Screen size: 6 inches or larger
[0914] Priorities: Performance, price, screen size, appearance
[0915] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0916] In conclusion
[0917] This invention is a system for efficiently selecting the optimal model to meet the diverse needs of users, thereby improving user convenience and reducing time and effort.
[0918] The following describes the processing flow.
[0919] Step 1:
[0920] The device displays a screen where the user can input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[0921] Step 2:
[0922] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[0923] Step 3:
[0924] Users prioritize their requirements, determining which element is most important, followed by the next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[0925] Step 4:
[0926] The terminal displays the user's entered requests and priority data on a confirmation screen. The user reviews the information and, if there are no problems, press the "Submit" button.
[0927] Step 5:
[0928] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[0929] Step 6:
[0930] The server receives and analyzes data sent from the terminal. The received data includes the specific requests entered by the user and their priority order.
[0931] Step 7:
[0932] The server uses generative AI to search a model database and identify the model that best matches the user's requirements and priorities. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[0933] Step 8:
[0934] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities. For example, if "performance" is the most important factor, the server will set the score of performance-related items to be higher than others.
[0935] Step 9:
[0936] The server selects several models based on their evaluation scores and generates the reasons for their selection in natural language using a text generation engine. For example, it might generate a recommendation like, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[0937] Step 10:
[0938] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[0939] Step 11:
[0940] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[0941] Step 12:
[0942] The user reviews the displayed results and selects the model they deem most suitable. They can also re-enter their preferences or change their priorities as needed.
[0943] (Example 1)
[0944] Next, we will describe Example 1. 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."
[0945] Modern users have a wide variety of requirements when selecting products, and they need to prioritize these requirements. However, traditional recommendation systems have difficulty accurately reflecting the user's requirements and priorities to suggest the optimal product, resulting in increased time and effort for the user. Furthermore, there has been a challenge in clearly explaining the reasons for selecting a suitable product for the user.
[0946] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0947] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the optimal device from a device database based on the requirements and priorities, and means for presenting the selected device to the user along with the reasons for the recommendation using a generative AI model. This makes it possible to efficiently propose the optimal device based on the user's diverse requirements and their priorities, and to provide the recommendation reasons in an easy-to-understand manner for the user.
[0948] A "user" refers to an individual or group that uses the system, inputs requirements, and sets priorities.
[0949] "Requirements" refer to information that specifically outlines the conditions and characteristics desired by the user. Examples include price, performance, design, and display size.
[0950] "Priority" refers to the order in which user-entered requirements are considered more important than others.
[0951] "Terminal" refers to a computer or mobile device that a user uses to input requests and priorities and send them to a server.
[0952] A "server" refers to a device that receives requests and priorities sent by users, analyzes them, selects the most suitable device, and generates recommendation results.
[0953] A "device database" refers to a database containing information about various devices. This database includes information such as the price, performance, design, and display size of each device.
[0954] A "generative AI model" refers to an algorithm or program that uses machine learning or artificial intelligence technology to select the optimal device based on user requirements and priorities.
[0955] "Reasons for recommendation" refers to information explaining why the selected equipment meets the user's requirements. It should include specific features and conditions.
[0956] This invention is a recommendation system designed to meet the diverse needs of users, and can propose the most suitable device based on the user's requirements and priorities. The system consists of a user terminal, a server, and a device database.
[0957] User input
[0958] The user uses a terminal to enter specific requirements for their desired device. These requirements may include price, performance, design, and display size. The user might enter the following requests:
[0959] Price: Under 50,000 yen
[0960] Performance: High performance
[0961] Design: Modern design
[0962] Display size: 6 inches or larger
[0963] Setting Priorities
[0964] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Display Size > Design."
[0965] Data transmission
[0966] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[0967] Data reception and analysis
[0968] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the device database to find the device that best matches the user's requests.
[0969] Equipment Selection
[0970] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[0971] Verify that each device meets the user's requirements.
[0972] The importance of each device is calculated based on priority, and an evaluation score is generated.
[0973] Select several devices in order of their evaluation score.
[0974] Generating reasons for recommendation
[0975] The server generates recommendation reasons for the selected device, explaining why that particular device was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 50,000 yen, has a 6.1-inch display, and a modern design."
[0976] Presentation of results
[0977] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the optimal device.
[0978] Specific example
[0979] Consider a case where a user has the following desires:
[0980] Price: Under 50,000 yen
[0981] Performance: High performance
[0982] Design: Modern
[0983] Display size: 6 inches or larger
[0984] Priorities: Performance, price, display size, design
[0985] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from among several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[0986] This system allows users to efficiently and quickly select the optimal equipment, which is expected to save time and effort.
[0987] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0988] Step 1:
[0989] The user uses a terminal to input specific requirements for their desired device. These requirements include price, performance, design, and display size. For example, they might enter requirements such as "Price: under 50,000 yen," "Performance: high performance," "Design: modern," and "Display size: 6 inches or larger." The entered data is temporarily stored within the terminal.
[0990] Step 2:
[0991] Users prioritize the requirements they enter on the device. They use the on-screen priority buttons to set the priority order of their requirements, such as "Performance > Price > Display Size > Design." This priority information is also stored within the device.
[0992] Step 3:
[0993] The terminal converts the user's input requests and priorities to generate JSON data and sends it to the server. Specifically, pressing the "Send" button sends the following JSON data to the server:
[0994] json
[0995] {
[0996] "Price": "Under 50,000 yen"
[0997] "performance": "high performance",
[0998] "design": "modern",
[0999] "screen_size": "6 inches or larger",
[1000] "priority": ["performance", "price", "screen_size", "design"]
[1001] }
[1002] Step 4:
[1003] The server receives and parses the JSON data sent from the terminal. Specifically, the server analyzes the received data to extract requirements and priorities. For example, information such as "price," "performance," "design," "display size," and "priority" is analyzed.
[1004] Step 5:
[1005] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, it performs the following operations:
[1006] Verify that each device meets the user's requirements.
[1007] The importance of each device is calculated based on priority, and an evaluation score is generated for each device.
[1008] Select several devices in order of their evaluation score.
[1009] For example, "Smartphone A" and "Smartphone B" are selected from the device database.
[1010] Step 6:
[1011] The server generates recommendation reasons for the selected device. These reasons include an explanation of why the device meets the user's requirements. Specifically, it uses a generative AI model to generate recommendation reasons such as "high performance, priced under 50,000 yen, modern design, and a display of 6 inches or larger."
[1012] Step 7:
[1013] The server then sends the final generated recommendation results and reasons for recommendation to the terminal. The terminal displays the received recommendation results and reasons for recommendation in its user interface, allowing the user to confirm the most suitable device. For example, "a list of selected devices and their reasons for recommendation" might be displayed on the terminal's screen.
[1014] Through the steps described above, this system can propose the most suitable equipment based on the user's diverse requirements and priorities, and provide the user with clear and understandable reasons for the recommendation.
[1015] (Application Example 1)
[1016] Next, we will explain Application Example 1. In the following explanation, 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."
[1017] Traditional mail-order systems have struggled to accurately reflect diverse user requirements, resulting in reduced accuracy in recommending optimal products. Furthermore, while providing users with appropriate reasoning for recommendations is necessary to enhance their reliability, generating such reasoning is time-consuming and labor-intensive. There is a need to overcome these challenges and develop a system that can provide users with more accurate recommendations quickly.
[1018] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1019] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the most suitable item from the item database based on the requirements and priorities, means for presenting the selected item to the user along with the recommendation reason, and means for generating the recommendation reason using a generation AI model. This makes it possible to quickly provide highly accurate recommendation results based on the user's diverse requirements, and to automatically generate highly reliable recommendation reasons.
[1020] "Means for users to input requirements" refers to an interface for users to input desired conditions and characteristics on a terminal, and a mechanism for receiving that input.
[1021] "A means for users to set priorities for requirements" refers to an interface for users to set importance and priority levels for the requirements they enter, as well as a mechanism for saving those settings.
[1022] "Means for transmitting the aforementioned requirements and priorities as data to the server" refers to communication means for transmitting the user's input requirements and their priorities to the server via a network.
[1023] "Means for selecting the most suitable item from the item database based on the aforementioned requirements and priorities" refers to an algorithm or system in which the server analyzes the user's requirements and priorities, searches the item database based on them, and selects the most suitable item.
[1024] "Means of presenting selected items to the user along with the reasons for their recommendation" refers to an interface and its display function for displaying the selected items and the reasons for their selection to the user.
[1025] "A means of generating recommendation reasons using a generative AI model" refers to a system that uses a generative AI model to automatically generate the reasons and justifications for the selection of an item and provides that information to the user.
[1026] A "product database" is a database that contains information about various products, such as price, performance, design, and size.
[1027] The "evaluation score" is a numerical representation of the suitability of an item based on the user's requirements and priorities.
[1028] "Weighting" is the process of assigning weights to each requirement according to the user's priority, and is a means of calculating an overall evaluation score.
[1029] This invention is a system for recommending the most suitable items to users on an e-commerce website based on their diverse requirements. The system is configured as follows:
[1030] The user uses a smartphone or other device to input specific requirements for the item they want. These requirements might include price, performance, design, and size. Next, the user prioritizes these requirements, determining which element is most important and then the next most important.
[1031] The user's device sends these requirements and priorities as data to the server. This data is typically in JSON format. The server receives and parses the data sent from the device. The received data includes the user's specific requirements and their priorities. After parsing, the server searches the item database to find the item that best matches the user's requirements.
[1032] The server uses a generative AI model to search the item database and identify the item that best matches the user's requirements and priorities. Specifically, it checks whether each item meets the user's requirements, calculates the importance of each item based on its priority, and generates an evaluation score. Then, it selects several items in descending order of evaluation score. The server also uses the generative AI model to generate recommendation reasons for the selected items, explaining why each item was chosen.
[1033] Finally, the server sends the final generated recommendation results to the terminal. The terminal displays the received recommendations in its user interface, allowing the user to confirm the most suitable items.
[1034] To implement this system, several software and hardware components are required. For the user interface design, cross-platform development frameworks such as Flutter or React Native can be used. For the server-side API design, Flask (Python) can be used to efficiently send and receive data. Furthermore, a generative AI model such as GPT-4 will be used to generate recommendation reasons in natural language. A database management system such as SQL or NoSQL will be used for the database.
[1035] As a concrete example, consider a user with the following preferences: "Price: under 30,000 yen", "Performance: high performance", "Design: stylish", "Size: 6 inches or larger", "Priority: Performance > Price > Size > Design".
[1036] The user enters this information into the terminal and sends it to the server. The following prompt message is sent:
[1037] Price: Under 30,000 yen
[1038] Performance: High performance
[1039] Design: Stylish
[1040] Size: 6 inches or larger
[1041] Prioritization: Performance > Price > Size > Design
[1042] The server searches the item database based on the received data and selects the best item from multiple items that meet the criteria. For each selected item, a recommendation reason is generated and the results are displayed on the terminal.
[1043] In this way, the present invention enables the efficient selection of the most suitable items to meet the diverse needs of users, improving user convenience and reducing time and effort.
[1044] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1045] Step 1:
[1046] The user enters the requirements.
[1047] The user opens a smartphone application and enters the specifications of the desired item (price, performance, design, size, etc.). This information is collected through an input form within the application.
[1048] Input: The user enters these conditions.
[1049] Output: The entered conditions are temporarily saved as data in JSON format.
[1050] Step 2:
[1051] Users set priorities for their requirements.
[1052] Next, the user sets the priority of each item based on the conditions they entered earlier. For example, "Performance > Price > Size > Design".
[1053] Input: The user sets the priority.
[1054] Output: Priorities are set and saved as data in JSON format.
[1055] Step 3:
[1056] The user sends requests and priorities to the server.
[1057] The user's terminal inputs requests and their priorities, which are then sent to the server in JSON format. An HTTP POST request is used for this transmission.
[1058] Input: JSON data from the user's terminal.
[1059] Output: The server receives the data.
[1060] Step 4:
[1061] The server analyzes the requirements and priorities.
[1062] The server parses the received JSON data to obtain the user's specific requests and their priority.
[1063] Input: Received JSON data.
[1064] Output: User requirements and priorities as analysis results.
[1065] Step 5:
[1066] The server searches the item database and selects the most suitable item.
[1067] The server searches the item database based on the analyzed requirements and priorities. Using a generative AI model, it calculates an evaluation score for each item and weights them based on their priority. It then selects a few items with high scores.
[1068] Input: Analyzed requirements and priorities.
[1069] Output: Selected items and their evaluation scores.
[1070] Step 6:
[1071] The server generates recommendation reasons using an AI model.
[1072] Using a generative AI model, the system automatically generates recommendation reasons that explain why the selected items were chosen.
[1073] Input: Selected items and their evaluation scores.
[1074] Output: Text data including reasons for recommendation.
[1075] Step 7:
[1076] The server sends the final recommendation results to the terminal.
[1077] The server compiles the selection results and reasons for recommendation and sends them to the user's terminal in JSON format. An HTTP POST request is used for this transmission.
[1078] Input: Recommendation result and reason for recommendation.
[1079] Output: Data compiled in JSON format is sent to the user's terminal.
[1080] Step 8:
[1081] The device displays the recommendation results in the user interface.
[1082] The user terminal analyzes the received data and displays the recommendation results and reasons on the user interface. The user can then review the recommended items and the reasons for their recommendations.
[1083] Input: JSON data sent from the server.
[1084] Output: Recommendation results displayed in the user interface.
[1085] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1086] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it proposes the optimal model based on the user's requirements, priorities, and even their emotions. The embodiments for carrying out this invention are shown below.
[1087] Overall system configuration
[1088] This system consists of a user's terminal, a server, a model database, and an emotion engine. The server receives requests, priorities, and emotion information sent from the user's terminal, selects the most suitable model from the model database based on this information, generates a recommendation, and presents it to the user again.
[1089] Program processing flow
[1090] User input
[1091] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[1092] Price: Under 30,000 yen
[1093] Performance: High performance
[1094] Appearance: Stylish design
[1095] Screen size: 6 inches or larger
[1096] Setting Priorities
[1097] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[1098] Recognition of emotions
[1099] The device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion." This emotional information can potentially influence the user's requests and priorities.
[1100] Data transmission
[1101] The terminal sends user-entered requests, priorities, and sentiment information to the server. This data consists of a series of JSON format entries.
[1102] Data reception and analysis
[1103] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[1104] Model selection
[1105] The server uses generative AI to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, the procedure is as follows:
[1106] Verify that each model meets the user's requirements.
[1107] Dynamically adjust requirements and priorities based on emotional information.
[1108] The importance of each model is calculated based on priority, and an evaluation score is generated.
[1109] Select several models in order of their evaluation score.
[1110] Generating reasons for recommendation
[1111] The server uses a text generation engine to generate natural language recommendations explaining why a particular model was selected. For example, a recommendation might say, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, providing more specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[1112] Presentation of results
[1113] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[1114] Specific example
[1115] Consider a case where a user has the following desires:
[1116] Price: Under 30,000 yen
[1117] Performance: High performance
[1118] Appearance: Stylish
[1119] Screen size: 6 inches or larger
[1120] Priorities: Performance, price, screen size, appearance
[1121] Emotional information: Positive
[1122] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[1123] In conclusion
[1124] This invention is a system for efficiently selecting the optimal model to meet the diverse needs and emotions of users, thereby improving user convenience and reducing time and effort. Furthermore, by combining it with an emotion engine, user satisfaction can be further enhanced.
[1125] The following describes the processing flow.
[1126] Step 1:
[1127] The device displays a screen for the user to input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[1128] Step 2:
[1129] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[1130] Step 3:
[1131] Prioritize the requirements entered by the user. Determine which element is most important, and then which is next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[1132] Step 4:
[1133] The terminal displays the user's entered requests and their priority on a confirmation screen. If the user confirms everything is correct, they press the "Submit" button.
[1134] Step 5:
[1135] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[1136] Step 6:
[1137] The device recognizes the user's facial expressions and voice, and the emotion engine analyzes the user's emotions. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion."
[1138] Step 7:
[1139] The device sends recognized emotion information to the server. This data is also sent in JSON format.
[1140] Step 8:
[1141] The server receives and analyzes requests, priorities, and sentiment information sent from the terminal. The received data includes the specific requests, priorities, and sentiment information entered by the user.
[1142] Step 9:
[1143] The server uses generative AI to search a model database and identify the optimal model based on the user's requirements, priorities, and sentiment information. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[1144] Step 10:
[1145] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities and sentiment information. For example, if "performance" is the most important factor, the score for performance-related items will be set higher than others.
[1146] Step 11:
[1147] The server selects several models based on their evaluation scores and generates reasons for their selection in natural language using a text generation engine. For example, a recommendation reason might be, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." Additional recommendation reasons based on emotional information, such as, "Vibrantly colored devices are recommended for users with positive emotions," are also generated.
[1148] Step 12:
[1149] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[1150] Step 13:
[1151] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[1152] Step 14:
[1153] The user reviews the displayed results and selects the model they deem most suitable. They can also refer to recommendations based on sentiment. They can re-enter their preferences or change priorities as needed.
[1154] (Example 2)
[1155] Next, we will describe Example 2. 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."
[1156] Traditional recommendation systems selected models based solely on user requirements and priorities, resulting in a lack of recommendations that considered user emotions. This led to decreased user satisfaction and sometimes required significant time and effort to select the appropriate model.
[1157] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1158] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal model from a model database based on the requirements, priorities, and sentiment information, and means for generating recommendation reasons for the selected model using a generation AI model. This enables recommendations that take the user's sentiments into account, allowing for the presentation of the optimal model to the user and improving satisfaction.
[1159] A "user" is an individual or group that uses the system.
[1160] "Requirements" refer to the characteristics and conditions of a product or service that the user desires.
[1161] "Priority" refers to the order of importance that a user assigns to a requirement.
[1162] "Emotional information" refers to emotional data recognized from the user's facial expressions and voice.
[1163] A "server" is a central computer system that receives, analyzes, and processes data via a network.
[1164] A "product database" is a collection of information that records the features and conditions of various products and services.
[1165] A "generative AI model" is an algorithm that uses large-scale language models or machine learning models to generate text.
[1166] A "recommendation" is a statement explaining why the selected product or service is suitable for the user.
[1167] "Selection method" refers to the method or process of choosing the best option from multiple choices.
[1168] This invention is a system that recommends the optimal model based on the user's diverse requirements and emotional information. Specifically, it operates by coordinating the user's terminal, server, model database, and emotional engine.
[1169] First, the user uses the device to input specific requirements for their desired model. The user enters information about price, performance, appearance, and screen size into the device's interface. Next, the user prioritizes the entered requirements, clearly indicating which elements are most important.
[1170] Furthermore, the device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. This emotion information may influence the user's requests and priorities. The device sends the user's requests, priorities, and emotion information to the server in a series of JSON formats.
[1171] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[1172] The server uses a generative AI model to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, it checks whether each model meets the user's requirements and dynamically adjusts the requirements and priorities based on the sentiment information. It calculates the importance of each model based on the priorities and generates an evaluation score. It then selects several models in descending order of evaluation score.
[1173] Subsequently, the server uses an AI model to generate recommendation reasons for the selected models in natural language. For example, a recommendation reason might be, "This smartphone is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, and provides specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[1174] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[1175] As a concrete example, consider a case where a user has the following desires:
[1176] Price: Under 30,000 yen
[1177] Performance: High performance
[1178] Appearance: Stylish
[1179] Screen size: 6 inches or larger
[1180] Priorities: Performance, price, screen size, appearance
[1181] Emotional information: Positive
[1182] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best model from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. Recommendations for color variations and designs based on emotional information are also possible.
[1183] Examples of prompt statements are as follows:
[1184] Please recommend the most suitable smartphone model based on the following user information.
[1185] information:
[1186] Price: Under 30,000 yen
[1187] Performance: High performance
[1188] Appearance: Stylish
[1189] Screen size: 6 inches or larger
[1190] Priorities: Performance, price, screen size, appearance
[1191] Emotional information: Positive
[1192] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1193] Step 1:
[1194] The user enters the requirements.
[1195] In terms of specific actions, the user accesses the input form on the device and enters information such as price, performance, appearance, and screen size.
[1196] Input: User's preferences (e.g., Price: under 30,000 yen, Performance: high performance, Appearance: stylish, Screen size: 6 inches or larger).
[1197] Output: The input information is recorded on the terminal.
[1198] Step 2:
[1199] The user sets the priority of the requirements.
[1200] In terms of specific operation, the user sets the priority of each request by dragging and dropping.
[1201] Input: User requirements (output from Step 1) and priority setting operations.
[1202] Output: Priority information is recorded on the device (e.g., performance > price > screen size > appearance).
[1203] Step 3:
[1204] To recognize emotions.
[1205] Specifically, the device scans the user's facial expressions with its camera and analyzes their voice tone with its microphone. The emotion engine analyzes this data to recognize emotions such as positive, negative, or neutral.
[1206] Input: User's video and audio data.
[1207] Output: Emotional information is recorded within the device (e.g., positive).
[1208] Step 4:
[1209] Send the data to the server.
[1210] Specifically, the device serializes all the data it collects into JSON format and sends it to the server via an HTTP POST request.
[1211] Input: Requirements, priorities, and sentiment information in JSON format.
[1212] Output: JSON data is sent to the server.
[1213] Step 5:
[1214] The server receives and analyzes the data.
[1215] Specifically, the server receives an HTTP request, parses and analyzes the JSON data, extracts the necessary information, and prepares to search the model database.
[1216] Input: JSON data sent from the terminal (output from step 4).
[1217] Output: Analyzed requirements, priorities, and sentiment information.
[1218] Step 6:
[1219] The server searches the model database and selects the most suitable model.
[1220] Specifically, the server searches the model database and checks if each model meets the user's requirements. Based on sentiment information, it adjusts the requirements and priorities and lists the most suitable models.
[1221] Input: Analyzed requirements, priorities, and sentiment information (Output from Step 5).
[1222] Output: A list of the best selected models.
[1223] Step 7:
[1224] The server generates the recommendation reason.
[1225] In terms of specific operations, the server sends prompts to the generated AI model, which then creates recommendation reasons based on the characteristics of the selected model.
[1226] Input: List of selected models (output from step 6).
[1227] Output: Text containing the reasons for the recommendation.
[1228] Step 8:
[1229] The server sends the final result to the terminal and displays it.
[1230] Specifically, the server sends the results, along with the generated recommendation reasons, to the terminal in JSON format, and the terminal displays the received data in the user interface.
[1231] Input: Text containing the reasons for the recommendation (output from Step 7).
[1232] Output: The final result displayed on the device (e.g., the recommended model and the reason).
[1233] (Application Example 2)
[1234] Next, we will explain application example 2. In the following explanation, 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."
[1235] In modern shopping systems, it is difficult for users to find the optimal product that meets their needs and desires. Furthermore, traditional recommendation systems struggle to consider user emotions and intuitive preferences, resulting in only mechanical recommendations. This leads to decreased user satisfaction. A system is needed to solve this problem and effectively help users find products that better satisfy them.
[1236] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal product from a database based on the requirements, priorities, and emotional information, means for recognizing emotions from the user's facial expressions and voice, and means for presenting the selected product to the user along with the reasons for the recommendation. This makes it possible to provide personalized product recommendations that take into account not only the user's specific requirements but also emotional information.
[1237] "Requirements" refer to the specific features and conditions of the product that the user desires.
[1238] "Priority" refers to the order in which multiple requirements are determined, determining which element is the most important.
[1239] "Emotional information" refers to emotional data collected from the user's facial expressions, voice, and other similar information.
[1240] A "database" is a collection of information about a product.
[1241] "Facial expression" refers to the concrete manifestation of emotions and feelings expressed through the muscles of the face.
[1242] "Voice" refers to the sounds produced by human speech.
[1243] The "reason for recommendation" explains how the selected product meets the user's requirements and emotional information.
[1244] The "evaluation score" is a numerical representation of how well each aspect of the product matches the user's requirements, priorities, and even emotional information.
[1245] "Personalization" is the process of individualization that reflects the individual preferences and needs of each user.
[1246] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it is a system in which users input requirements, priorities, and emotional information, and based on this, the system recommends the most suitable product. The following describes embodiments for carrying out this invention.
[1247] System Configuration
[1248] This system primarily consists of the user's terminal, server, database, and emotion recognition engine.
[1249] hardware
[1250] User device: A smartphone, tablet, or personal computer is used. The device is equipped with a camera and microphone, which are used to acquire emotional information.
[1251] Server: High-performance computers or cloud services are used to process data and execute recommendation algorithms.
[1252] software
[1253] EmotionRecognition Module: Software for recognizing emotions from the user's facial expressions and voice.
[1254] requests library: Software for performing data communication between user terminals and servers.
[1255] product_database module: A database for managing and searching product information.
[1256] Generative AI model: An AI model for generating necessary recommendation reasons.
[1257] Operation overview
[1258] The user uses their device to input specific requirements for the desired product, including price, performance, design, and screen size. Next, the user prioritizes these requirements. Then, the device's camera and microphone are used by an emotion recognition engine to collect the user's emotional information.
[1259] The user's input, including requirements, priorities, and sentiment information, is sent to the server as a series of data. The server receives this data and searches its database for the most suitable product based on it. A generative AI model generates recommendation reasons, which are then presented to the user along with the final recommendation result.
[1260] Specific example
[1261] For example, consider a case where a user has the following desires:
[1262] Price: Under 30,000 yen
[1263] Performance: High performance
[1264] Design: Stylish
[1265] Screen size: 6 inches or larger
[1266] Priorities: Performance, Price, Screen Size, Design
[1267] Emotional information: Positive
[1268] The user enters this information into their device and sends it to the server. The server searches its database based on the received data and selects the best product from several that meet the criteria. For example, "Product A" and "Product B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[1269] Examples of prompts to input into a generative AI model
[1270] User requirements: Price under 30,000 yen, high performance, stylish design, screen size 6 inches or larger. Priorities: Performance, price, screen size, design. Sentiment: Positive. Please recommend products that meet these conditions and explain your reasons.
[1271] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1272] Step 1:
[1273] The user uses a device to input specific requirements for their desired product. This input includes price, performance, design, and screen size. For example, input data such as "Price: Under 30,000 yen," "Performance: High performance," "Design: Stylish," and "Screen size: 6 inches or larger" might be obtained.
[1274] Step 2:
[1275] Next, the user prioritizes the requirements they entered, for example, in the order of "Performance > Price > Screen Size > Design." This setting data indicates which requirements are most important and is used in subsequent calculations.
[1276] Step 3:
[1277] The device's camera and microphone are used to capture the user's facial expressions and voice. The EmotionRecognition module is used to recognize emotional information from this data. In this step, for example, "Emotional Information: Positive" might be output.
[1278] Step 4:
[1279] The device sends user-entered requests, priorities, and recognized sentiment information to the server as a set of data. The requests library is used to send data to the server in JSON format. This JSON data includes "requests," "priorities," and "sentiment information."
[1280] Step 5:
[1281] The server receives and analyzes data sent from the terminal. The analysis breaks down the received data, extracting individual requests, priorities, and sentiment information.
[1282] Step 6:
[1283] The server searches the database for the most suitable product based on the received data. It uses the `product_database` module to filter products that match the requirements. In this step, for example, products "Product A" and "Product B" that meet the criteria are searched for.
[1284] Step 7:
[1285] The server uses a generation AI model to generate recommendation reasons for each product. In this step, prompt statements are input to the AI model, and recommendation reasons are output. For example, the prompt statement used might be: "User requirements: Price under 30,000 yen, high performance, stylish design, screen size of 6 inches or larger. Sentiment information: Positive. Recommend products that match these conditions and explain the reasons."
[1286] Step 8:
[1287] The server recommends the highest-rated product to the user and generates a natural language explanation for it. The final recommendation result, along with the generated reasoning, is then sent to the user's device.
[1288] Step 9:
[1289] The terminal displays the recommendation results received from the server in the user interface. Users can view the recommended products and the reasons for the recommendations.
[1290] These steps allow users to efficiently find the best product based on their requirements and emotional information.
[1291] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1292] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1293] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1294] [Fourth Embodiment]
[1295] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1296] As shown in Figure 7, the 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.
[1297] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1298] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1299] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1300] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1301] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1302] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1303] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1304] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[1305] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1306] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1307] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1308] This invention is a recommendation system designed to meet the diverse needs of users, specifically by suggesting the optimal model based on the user's requirements and priorities. The embodiments for carrying out this invention are shown below.
[1309] Overall system configuration
[1310] This system consists of a user terminal, a server, and a model database. The server receives requests and priorities sent from the user's terminal, selects the most suitable model from the model database based on that information, generates a recommendation, and presents it to the user again.
[1311] Program processing flow
[1312] User input
[1313] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[1314] Price: Under 30,000 yen
[1315] Performance: High performance
[1316] Appearance: Stylish design
[1317] Screen size: 6 inches or larger
[1318] Setting Priorities
[1319] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[1320] Data transmission
[1321] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[1322] Data reception and analysis
[1323] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the model database to find the model that best matches the user's requests.
[1324] Model selection
[1325] The server uses generative AI to search the model database and identify the model that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[1326] Verify that each model meets the user's requirements.
[1327] The importance of each model is calculated based on priority, and an evaluation score is generated.
[1328] Select several models in order of their evaluation score.
[1329] Generating reasons for recommendation
[1330] The server generates recommendation reasons for the selected model, explaining why that particular model was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[1331] Presentation of results
[1332] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[1333] Specific example
[1334] Consider a case where a user has the following desires:
[1335] Price: Under 30,000 yen
[1336] Performance: High performance
[1337] Appearance: Stylish
[1338] Screen size: 6 inches or larger
[1339] Priorities: Performance, price, screen size, appearance
[1340] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[1341] In conclusion
[1342] This invention is a system for efficiently selecting the optimal model to meet the diverse needs of users, thereby improving user convenience and reducing time and effort.
[1343] The following describes the processing flow.
[1344] Step 1:
[1345] The device displays a screen where the user can input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[1346] Step 2:
[1347] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[1348] Step 3:
[1349] Users prioritize their requirements, determining which element is most important, followed by the next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[1350] Step 4:
[1351] The terminal displays the user's entered requests and priority data on a confirmation screen. The user reviews the information and, if there are no problems, press the "Submit" button.
[1352] Step 5:
[1353] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[1354] Step 6:
[1355] The server receives and analyzes data sent from the terminal. The received data includes the specific requests entered by the user and their priority order.
[1356] Step 7:
[1357] The server uses generative AI to search a model database and identify the model that best matches the user's requirements and priorities. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[1358] Step 8:
[1359] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities. For example, if "performance" is the most important factor, the server will set the score of performance-related items to be higher than others.
[1360] Step 9:
[1361] The server selects several models based on their evaluation scores and generates the reasons for their selection in natural language using a text generation engine. For example, it might generate a recommendation like, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design."
[1362] Step 10:
[1363] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[1364] Step 11:
[1365] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[1366] Step 12:
[1367] The user reviews the displayed results and selects the model they deem most suitable. They can also re-enter their preferences or change their priorities as needed.
[1368] (Example 1)
[1369] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1370] Modern users have a wide variety of requirements when selecting products, and they need to prioritize these requirements. However, traditional recommendation systems have difficulty accurately reflecting the user's requirements and priorities to suggest the optimal product, resulting in increased time and effort for the user. Furthermore, there has been a challenge in clearly explaining the reasons for selecting a suitable product for the user.
[1371] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1372] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the optimal device from a device database based on the requirements and priorities, and means for presenting the selected device to the user along with the reasons for the recommendation using a generative AI model. This makes it possible to efficiently propose the optimal device based on the user's diverse requirements and their priorities, and to provide the recommendation reasons in an easy-to-understand manner for the user.
[1373] A "user" refers to an individual or group that uses the system, inputs requirements, and sets priorities.
[1374] "Requirements" refer to information that specifically outlines the conditions and characteristics desired by the user. Examples include price, performance, design, and display size.
[1375] "Priority" refers to the order in which user-entered requirements are considered more important than others.
[1376] "Terminal" refers to a computer or mobile device that a user uses to input requests and priorities and send them to a server.
[1377] A "server" refers to a device that receives requests and priorities sent by users, analyzes them, selects the most suitable device, and generates recommendation results.
[1378] A "device database" refers to a database containing information about various devices. This database includes information such as the price, performance, design, and display size of each device.
[1379] A "generative AI model" refers to an algorithm or program that uses machine learning or artificial intelligence technology to select the optimal device based on user requirements and priorities.
[1380] "Reasons for recommendation" refers to information explaining why the selected equipment meets the user's requirements. It should include specific features and conditions.
[1381] This invention is a recommendation system designed to meet the diverse needs of users, and can propose the most suitable device based on the user's requirements and priorities. The system consists of a user terminal, a server, and a device database.
[1382] User input
[1383] The user uses a terminal to enter specific requirements for their desired device. These requirements may include price, performance, design, and display size. The user might enter the following requests:
[1384] Price: Under 50,000 yen
[1385] Performance: High performance
[1386] Design: Modern design
[1387] Display size: 6 inches or larger
[1388] Setting Priorities
[1389] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Display Size > Design."
[1390] Data transmission
[1391] The terminal sends user-entered request data and priority information to the server. This data consists of a series of JSON formatted files.
[1392] Data reception and analysis
[1393] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests and their priority. After analysis, the server searches the device database to find the device that best matches the user's requests.
[1394] Equipment Selection
[1395] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, the procedure is as follows:
[1396] Verify that each device meets the user's requirements.
[1397] The importance of each device is calculated based on priority, and an evaluation score is generated.
[1398] Select several devices in order of their evaluation score.
[1399] Generating reasons for recommendation
[1400] The server generates recommendation reasons for the selected device, explaining why that particular device was chosen. For example, it might provide specific explanations such as, "Smartphone A is high-performance, priced under 50,000 yen, has a 6.1-inch display, and a modern design."
[1401] Presentation of results
[1402] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the optimal device.
[1403] Specific example
[1404] Consider a case where a user has the following desires:
[1405] Price: Under 50,000 yen
[1406] Performance: High performance
[1407] Design: Modern
[1408] Display size: 6 inches or larger
[1409] Priorities: Performance, price, display size, design
[1410] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from among several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device.
[1411] This system allows users to efficiently and quickly select the optimal equipment, which is expected to save time and effort.
[1412] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1413] Step 1:
[1414] The user uses a terminal to input specific requirements for their desired device. These requirements include price, performance, design, and display size. For example, they might enter requirements such as "Price: under 50,000 yen," "Performance: high performance," "Design: modern," and "Display size: 6 inches or larger." The entered data is temporarily stored within the terminal.
[1415] Step 2:
[1416] Users prioritize the requirements they enter on the device. They use the on-screen priority buttons to set the priority order of their requirements, such as "Performance > Price > Display Size > Design." This priority information is also stored within the device.
[1417] Step 3:
[1418] The terminal converts the user's input requests and priorities to generate JSON data and sends it to the server. Specifically, pressing the "Send" button sends the following JSON data to the server:
[1419] json
[1420] {
[1421] "Price": "Under 50,000 yen"
[1422] "performance": "high performance",
[1423] "design": "modern",
[1424] "screen_size": "6 inches or larger",
[1425] "priority": ["performance", "price", "screen_size", "design"]
[1426] }
[1427] Step 4:
[1428] The server receives and parses the JSON data sent from the terminal. Specifically, the server analyzes the received data to extract requirements and priorities. For example, information such as "price," "performance," "design," "display size," and "priority" is analyzed.
[1429] Step 5:
[1430] The server uses a generative AI model to search the device database and identify the device that best matches the user's requirements and priorities. Specifically, it performs the following operations:
[1431] Verify that each device meets the user's requirements.
[1432] The importance of each device is calculated based on priority, and an evaluation score is generated for each device.
[1433] Select several devices in order of their evaluation score.
[1434] For example, "Smartphone A" and "Smartphone B" are selected from the device database.
[1435] Step 6:
[1436] The server generates recommendation reasons for the selected device. These reasons include an explanation of why the device meets the user's requirements. Specifically, it uses a generative AI model to generate recommendation reasons such as "high performance, priced under 50,000 yen, modern design, and a display of 6 inches or larger."
[1437] Step 7:
[1438] The server then sends the final generated recommendation results and reasons for recommendation to the terminal. The terminal displays the received recommendation results and reasons for recommendation in its user interface, allowing the user to confirm the most suitable device. For example, "a list of selected devices and their reasons for recommendation" might be displayed on the terminal's screen.
[1439] Through the steps described above, this system can propose the most suitable equipment based on the user's diverse requirements and priorities, and provide the user with clear and understandable reasons for the recommendation.
[1440] (Application Example 1)
[1441] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1442] Traditional mail-order systems have struggled to accurately reflect diverse user requirements, resulting in reduced accuracy in recommending optimal products. Furthermore, while providing users with appropriate reasoning for recommendations is necessary to enhance their reliability, generating such reasoning is time-consuming and labor-intensive. There is a need to overcome these challenges and develop a system that can provide users with more accurate recommendations quickly.
[1443] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1444] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for transmitting the requirements and priorities as data to the server, means for selecting the most suitable item from the item database based on the requirements and priorities, means for presenting the selected item to the user along with the recommendation reason, and means for generating the recommendation reason using a generation AI model. This makes it possible to quickly provide highly accurate recommendation results based on the user's diverse requirements, and to automatically generate highly reliable recommendation reasons.
[1445] "Means for users to input requirements" refers to an interface for users to input desired conditions and characteristics on a terminal, and a mechanism for receiving that input.
[1446] "A means for users to set priorities for requirements" refers to an interface for users to set importance and priority levels for the requirements they enter, as well as a mechanism for saving those settings.
[1447] "Means for transmitting the aforementioned requirements and priorities as data to the server" refers to communication means for transmitting the user's input requirements and their priorities to the server via a network.
[1448] "Means for selecting the most suitable item from the item database based on the aforementioned requirements and priorities" refers to an algorithm or system in which the server analyzes the user's requirements and priorities, searches the item database based on them, and selects the most suitable item.
[1449] "Means of presenting selected items to the user along with the reasons for their recommendation" refers to an interface and its display function for displaying the selected items and the reasons for their selection to the user.
[1450] "A means of generating recommendation reasons using a generative AI model" refers to a system that uses a generative AI model to automatically generate the reasons and justifications for the selection of an item and provides that information to the user.
[1451] A "product database" is a database that contains information about various products, such as price, performance, design, and size.
[1452] The "evaluation score" is a numerical representation of the suitability of an item based on the user's requirements and priorities.
[1453] "Weighting" is the process of assigning weights to each requirement according to the user's priority, and is a means of calculating an overall evaluation score.
[1454] This invention is a system for recommending the most suitable items to users on an e-commerce website based on their diverse requirements. The system is configured as follows:
[1455] The user uses a smartphone or other device to input specific requirements for the item they want. These requirements might include price, performance, design, and size. Next, the user prioritizes these requirements, determining which element is most important and then the next most important.
[1456] The user's device sends these requirements and priorities as data to the server. This data is typically in JSON format. The server receives and parses the data sent from the device. The received data includes the user's specific requirements and their priorities. After parsing, the server searches the item database to find the item that best matches the user's requirements.
[1457] The server uses a generative AI model to search the item database and identify the item that best matches the user's requirements and priorities. Specifically, it checks whether each item meets the user's requirements, calculates the importance of each item based on its priority, and generates an evaluation score. Then, it selects several items in descending order of evaluation score. The server also uses the generative AI model to generate recommendation reasons for the selected items, explaining why each item was chosen.
[1458] Finally, the server sends the final generated recommendation results to the terminal. The terminal displays the received recommendations in its user interface, allowing the user to confirm the most suitable items.
[1459] To implement this system, several software and hardware components are required. For the user interface design, cross-platform development frameworks such as Flutter or React Native can be used. For the server-side API design, Flask (Python) can be used to efficiently send and receive data. Furthermore, a generative AI model such as GPT-4 will be used to generate recommendation reasons in natural language. A database management system such as SQL or NoSQL will be used for the database.
[1460] As a concrete example, consider a user with the following preferences: "Price: under 30,000 yen", "Performance: high performance", "Design: stylish", "Size: 6 inches or larger", "Priority: Performance > Price > Size > Design".
[1461] The user enters this information into the terminal and sends it to the server. The following prompt message is sent:
[1462] Price: Under 30,000 yen
[1463] Performance: High performance
[1464] Design: Stylish
[1465] Size: 6 inches or larger
[1466] Prioritization: Performance > Price > Size > Design
[1467] The server searches the item database based on the received data and selects the best item from multiple items that meet the criteria. For each selected item, a recommendation reason is generated and the results are displayed on the terminal.
[1468] In this way, the present invention enables the efficient selection of the most suitable items to meet the diverse needs of users, improving user convenience and reducing time and effort.
[1469] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1470] Step 1:
[1471] The user enters the requirements.
[1472] The user opens a smartphone application and enters the specifications of the desired item (price, performance, design, size, etc.). This information is collected through an input form within the application.
[1473] Input: The user enters these conditions.
[1474] Output: The entered conditions are temporarily saved as data in JSON format.
[1475] Step 2:
[1476] Users set priorities for their requirements.
[1477] Next, the user sets the priority of each item based on the conditions they entered earlier. For example, "Performance > Price > Size > Design".
[1478] Input: The user sets the priority.
[1479] Output: Priorities are set and saved as data in JSON format.
[1480] Step 3:
[1481] The user sends requests and priorities to the server.
[1482] The user's terminal inputs requests and their priorities, which are then sent to the server in JSON format. An HTTP POST request is used for this transmission.
[1483] Input: JSON data from the user's terminal.
[1484] Output: The server receives the data.
[1485] Step 4:
[1486] The server analyzes the requirements and priorities.
[1487] The server parses the received JSON data to obtain the user's specific requests and their priority.
[1488] Input: Received JSON data.
[1489] Output: User requirements and priorities as analysis results.
[1490] Step 5:
[1491] The server searches the item database and selects the most suitable item.
[1492] The server searches the item database based on the analyzed requirements and priorities. Using a generative AI model, it calculates an evaluation score for each item and weights them based on their priority. It then selects a few items with high scores.
[1493] Input: Analyzed requirements and priorities.
[1494] Output: Selected items and their evaluation scores.
[1495] Step 6:
[1496] The server generates recommendation reasons using an AI model.
[1497] Using a generative AI model, the system automatically generates recommendation reasons that explain why the selected items were chosen.
[1498] Input: Selected items and their evaluation scores.
[1499] Output: Text data including reasons for recommendation.
[1500] Step 7:
[1501] The server sends the final recommendation results to the terminal.
[1502] The server compiles the selection results and reasons for recommendation and sends them to the user's terminal in JSON format. An HTTP POST request is used for this transmission.
[1503] Input: Recommendation result and reason for recommendation.
[1504] Output: Data compiled in JSON format is sent to the user's terminal.
[1505] Step 8:
[1506] The device displays the recommendation results in the user interface.
[1507] The user terminal analyzes the received data and displays the recommendation results and reasons on the user interface. The user can then review the recommended items and the reasons for their recommendations.
[1508] Input: JSON data sent from the server.
[1509] Output: Recommendation results displayed in the user interface.
[1510] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1511] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it proposes the optimal model based on the user's requirements, priorities, and even their emotions. The embodiments for carrying out this invention are shown below.
[1512] Overall system configuration
[1513] This system consists of a user's terminal, a server, a model database, and an emotion engine. The server receives requests, priorities, and emotion information sent from the user's terminal, selects the most suitable model from the model database based on this information, generates a recommendation, and presents it to the user again.
[1514] Program processing flow
[1515] User input
[1516] The user uses a device to enter specific requirements for their desired model. These requirements might include price, performance, appearance, and screen size. The user might enter the following requests:
[1517] Price: Under 30,000 yen
[1518] Performance: High performance
[1519] Appearance: Stylish design
[1520] Screen size: 6 inches or larger
[1521] Setting Priorities
[1522] Next, the user prioritizes the requirements they entered. They determine which element is most important, followed by the next most important. For example, "Performance > Price > Screen Size > Appearance."
[1523] Recognition of emotions
[1524] The device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion." This emotional information can potentially influence the user's requests and priorities.
[1525] Data transmission
[1526] The terminal sends user-entered requests, priorities, and sentiment information to the server. This data consists of a series of JSON format entries.
[1527] Data reception and analysis
[1528] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[1529] Model selection
[1530] The server uses generative AI to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, the procedure is as follows:
[1531] Verify that each model meets the user's requirements.
[1532] Dynamically adjust requirements and priorities based on emotional information.
[1533] The importance of each model is calculated based on priority, and an evaluation score is generated.
[1534] Select several models in order of their evaluation score.
[1535] Generating reasons for recommendation
[1536] The server uses a text generation engine to generate natural language recommendations explaining why a particular model was selected. For example, a recommendation might say, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, providing more specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[1537] Presentation of results
[1538] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[1539] Specific example
[1540] Consider a case where a user has the following desires:
[1541] Price: Under 30,000 yen
[1542] Performance: High performance
[1543] Appearance: Stylish
[1544] Screen size: 6 inches or larger
[1545] Priorities: Performance, price, screen size, appearance
[1546] Emotional information: Positive
[1547] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best device from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and reasons for their recommendation are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[1548] In conclusion
[1549] This invention is a system for efficiently selecting the optimal model to meet the diverse needs and emotions of users, thereby improving user convenience and reducing time and effort. Furthermore, by combining it with an emotion engine, user satisfaction can be further enhanced.
[1550] The following describes the processing flow.
[1551] Step 1:
[1552] The device displays a screen for the user to input their requirements and priorities. The screen includes input fields for price, performance, appearance, and screen size.
[1553] Step 2:
[1554] The user uses their device to enter specific requirements for their desired model. For example, they might enter "Price under 30,000 yen," "Performance: High performance," "Appearance: Stylish design," and "Screen size: 6 inches or larger."
[1555] Step 3:
[1556] Prioritize the requirements entered by the user. Determine which element is most important, and then which is next most important. For example, "1. Performance, 2. Price, 3. Screen size, 4. Appearance."
[1557] Step 4:
[1558] The terminal displays the user's entered requests and their priority on a confirmation screen. If the user confirms everything is correct, they press the "Submit" button.
[1559] Step 5:
[1560] When the user presses the "Submit" button, data containing the request and its priority is sent to the server. This data is sent in JSON format.
[1561] Step 6:
[1562] The device recognizes the user's facial expressions and voice, and the emotion engine analyzes the user's emotions. For example, if the user is smiling while typing, the emotion engine will recognize this as a "positive emotion."
[1563] Step 7:
[1564] The device sends recognized emotion information to the server. This data is also sent in JSON format.
[1565] Step 8:
[1566] The server receives and analyzes requests, priorities, and sentiment information sent from the terminal. The received data includes the specific requests, priorities, and sentiment information entered by the user.
[1567] Step 9:
[1568] The server uses generative AI to search a model database and identify the optimal model based on the user's requirements, priorities, and sentiment information. Specifically, it filters each model based on factors such as price, performance, design, and screen size.
[1569] Step 10:
[1570] The server calculates an evaluation score from the filtering results and assigns weights to each element based on the user's priorities and sentiment information. For example, if "performance" is the most important factor, the score for performance-related items will be set higher than others.
[1571] Step 11:
[1572] The server selects several models based on their evaluation scores and generates reasons for their selection in natural language using a text generation engine. For example, a recommendation reason might be, "Smartphone A is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." Additional recommendation reasons based on emotional information, such as, "Vibrantly colored devices are recommended for users with positive emotions," are also generated.
[1573] Step 12:
[1574] The server sends the generated recommended model and the reason for the recommendation to the terminal.
[1575] Step 13:
[1576] The device displays the recommendation results received from the server on the user interface. For example, detailed information and reasons for recommending "Smartphone A" and "Smartphone B" will be displayed.
[1577] Step 14:
[1578] The user reviews the displayed results and selects the model they deem most suitable. They can also refer to recommendations based on sentiment. They can re-enter their preferences or change priorities as needed.
[1579] (Example 2)
[1580] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1581] Traditional recommendation systems selected models based solely on user requirements and priorities, resulting in a lack of recommendations that considered user emotions. This led to decreased user satisfaction and sometimes required significant time and effort to select the appropriate model.
[1582] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1583] In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal model from a model database based on the requirements, priorities, and sentiment information, and means for generating recommendation reasons for the selected model using a generation AI model. This enables recommendations that take the user's sentiments into account, allowing for the presentation of the optimal model to the user and improving satisfaction.
[1584] A "user" is an individual or group that uses the system.
[1585] "Requirements" refer to the characteristics and conditions of a product or service that the user desires.
[1586] "Priority" refers to the order of importance that a user assigns to a requirement.
[1587] "Emotional information" refers to emotional data recognized from the user's facial expressions and voice.
[1588] A "server" is a central computer system that receives, analyzes, and processes data via a network.
[1589] A "product database" is a collection of information that records the features and conditions of various products and services.
[1590] A "generative AI model" is an algorithm that uses large-scale language models or machine learning models to generate text.
[1591] A "recommendation" is a statement explaining why the selected product or service is suitable for the user.
[1592] "Selection method" refers to the method or process of choosing the best option from multiple choices.
[1593] This invention is a system that recommends the optimal model based on the user's diverse requirements and emotional information. Specifically, it operates by coordinating the user's terminal, server, model database, and emotional engine.
[1594] First, the user uses the device to input specific requirements for their desired model. The user enters information about price, performance, appearance, and screen size into the device's interface. Next, the user prioritizes the entered requirements, clearly indicating which elements are most important.
[1595] Furthermore, the device is equipped with a camera and microphone, and an emotion engine recognizes the user's emotions from their facial expressions and voice. This emotion information may influence the user's requests and priorities. The device sends the user's requests, priorities, and emotion information to the server in a series of JSON formats.
[1596] The server receives and analyzes data sent from the terminal. The received data includes the user's specific requests, priorities, and sentiment information. After analysis, the server searches the model database to find the model that best matches the user's requests.
[1597] The server uses a generative AI model to search the model database and identify the model that best matches the user's requirements, priorities, and sentiment information. Specifically, it checks whether each model meets the user's requirements and dynamically adjusts the requirements and priorities based on the sentiment information. It calculates the importance of each model based on the priorities and generates an evaluation score. It then selects several models in descending order of evaluation score.
[1598] Subsequently, the server uses an AI model to generate recommendation reasons for the selected models in natural language. For example, a recommendation reason might be, "This smartphone is high-performance, priced under 30,000 yen, has a 6.1-inch screen, and a stylish design." It also takes into account emotional information recognized by the emotion engine, and provides specific recommendations such as, "For users with positive emotions, a device with vibrant colors is recommended."
[1599] The server then sends the final generated recommendation results to the terminal. The terminal displays the received recommendation results in its user interface, allowing the user to confirm the most suitable model.
[1600] As a concrete example, consider a case where a user has the following desires:
[1601] Price: Under 30,000 yen
[1602] Performance: High performance
[1603] Appearance: Stylish
[1604] Screen size: 6 inches or larger
[1605] Priorities: Performance, price, screen size, appearance
[1606] Emotional information: Positive
[1607] The user enters this information into their device and sends it to the server. The server searches its device database based on the received data and selects the best model from several that meet the criteria. For example, "Smartphone A" and "Smartphone B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. Recommendations for color variations and designs based on emotional information are also possible.
[1608] Examples of prompt statements are as follows:
[1609] Please recommend the most suitable smartphone model based on the following user information.
[1610] information:
[1611] Price: Under 30,000 yen
[1612] Performance: High performance
[1613] Appearance: Stylish
[1614] Screen size: 6 inches or larger
[1615] Priorities: Performance, price, screen size, appearance
[1616] Emotional information: Positive
[1617] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1618] Step 1:
[1619] The user enters the requirements.
[1620] In terms of specific actions, the user accesses the input form on the device and enters information such as price, performance, appearance, and screen size.
[1621] Input: User's preferences (e.g., Price: under 30,000 yen, Performance: high performance, Appearance: stylish, Screen size: 6 inches or larger).
[1622] Output: The input information is recorded on the terminal.
[1623] Step 2:
[1624] The user sets the priority of the requirements.
[1625] In terms of specific operation, the user sets the priority of each request by dragging and dropping.
[1626] Input: User requirements (output from Step 1) and priority setting operations.
[1627] Output: Priority information is recorded on the device (e.g., performance > price > screen size > appearance).
[1628] Step 3:
[1629] To recognize emotions.
[1630] Specifically, the device scans the user's facial expressions with its camera and analyzes their voice tone with its microphone. The emotion engine analyzes this data to recognize emotions such as positive, negative, or neutral.
[1631] Input: User's video and audio data.
[1632] Output: Emotional information is recorded within the device (e.g., positive).
[1633] Step 4:
[1634] Send the data to the server.
[1635] Specifically, the device serializes all the data it collects into JSON format and sends it to the server via an HTTP POST request.
[1636] Input: Requirements, priorities, and sentiment information in JSON format.
[1637] Output: JSON data is sent to the server.
[1638] Step 5:
[1639] The server receives and analyzes the data.
[1640] Specifically, the server receives an HTTP request, parses and analyzes the JSON data, extracts the necessary information, and prepares to search the model database.
[1641] Input: JSON data sent from the terminal (output from step 4).
[1642] Output: Analyzed requirements, priorities, and sentiment information.
[1643] Step 6:
[1644] The server searches the model database and selects the most suitable model.
[1645] Specifically, the server searches the model database and checks if each model meets the user's requirements. Based on sentiment information, it adjusts the requirements and priorities and lists the most suitable models.
[1646] Input: Analyzed requirements, priorities, and sentiment information (Output from Step 5).
[1647] Output: A list of the best selected models.
[1648] Step 7:
[1649] The server generates the recommendation reason.
[1650] In terms of specific operations, the server sends prompts to the generated AI model, which then creates recommendation reasons based on the characteristics of the selected model.
[1651] Input: List of selected models (output from step 6).
[1652] Output: Text containing the reasons for the recommendation.
[1653] Step 8:
[1654] The server sends the final result to the terminal and displays it.
[1655] Specifically, the server sends the results, along with the generated recommendation reasons, to the terminal in JSON format, and the terminal displays the received data in the user interface.
[1656] Input: Text containing the reasons for the recommendation (output from Step 7).
[1657] Output: The final result displayed on the device (e.g., the recommended model and the reason).
[1658] (Application Example 2)
[1659] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1660] In modern shopping systems, it is difficult for users to find the optimal product that meets their needs and desires. Furthermore, traditional recommendation systems struggle to consider user emotions and intuitive preferences, resulting in only mechanical recommendations. This leads to decreased user satisfaction. A system is needed to solve this problem and effectively help users find products that better satisfy them.
[1661] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input requirements, means for the user to set priorities for the requirements, means for selecting the optimal product from a database based on the requirements, priorities, and emotional information, means for recognizing emotions from the user's facial expressions and voice, and means for presenting the selected product to the user along with the reasons for the recommendation. This makes it possible to provide personalized product recommendations that take into account not only the user's specific requirements but also emotional information.
[1662] "Requirements" refer to the specific features and conditions of the product that the user desires.
[1663] "Priority" refers to the order in which multiple requirements are determined, determining which element is the most important.
[1664] "Emotional information" refers to emotional data collected from the user's facial expressions, voice, and other similar information.
[1665] A "database" is a collection of information about a product.
[1666] "Facial expression" refers to the concrete manifestation of emotions and feelings expressed through the muscles of the face.
[1667] "Voice" refers to the sounds produced by human speech.
[1668] The "reason for recommendation" explains how the selected product meets the user's requirements and emotional information.
[1669] The "evaluation score" is a numerical representation of how well each aspect of the product matches the user's requirements, priorities, and even emotional information.
[1670] "Personalization" is the process of individualization that reflects the individual preferences and needs of each user.
[1671] This invention is a recommendation system designed to address the diverse needs and emotions of users. Specifically, it is a system in which users input requirements, priorities, and emotional information, and based on this, the system recommends the most suitable product. The following describes embodiments for carrying out this invention.
[1672] System Configuration
[1673] This system primarily consists of the user's terminal, server, database, and emotion recognition engine.
[1674] hardware
[1675] User device: A smartphone, tablet, or personal computer is used. The device is equipped with a camera and microphone, which are used to acquire emotional information.
[1676] Server: High-performance computers or cloud services are used to process data and execute recommendation algorithms.
[1677] software
[1678] EmotionRecognition Module: Software for recognizing emotions from the user's facial expressions and voice.
[1679] requests library: Software for performing data communication between user terminals and servers.
[1680] product_database module: A database for managing and searching product information.
[1681] Generative AI model: An AI model for generating necessary recommendation reasons.
[1682] Operation overview
[1683] The user uses their device to input specific requirements for the desired product, including price, performance, design, and screen size. Next, the user prioritizes these requirements. Then, the device's camera and microphone are used by an emotion recognition engine to collect the user's emotional information.
[1684] The user's input, including requirements, priorities, and sentiment information, is sent to the server as a series of data. The server receives this data and searches its database for the most suitable product based on it. A generative AI model generates recommendation reasons, which are then presented to the user along with the final recommendation result.
[1685] Specific example
[1686] For example, consider a case where a user has the following desires:
[1687] Price: Under 30,000 yen
[1688] Performance: High performance
[1689] Design: Stylish
[1690] Screen size: 6 inches or larger
[1691] Priorities: Performance, Price, Screen Size, Design
[1692] Emotional information: Positive
[1693] The user enters this information into their device and sends it to the server. The server searches its database based on the received data and selects the best product from several that meet the criteria. For example, "Product A" and "Product B" might be selected, and recommendation reasons for each are generated. The results are then displayed on the device. It is also possible to recommend color variations and designs based on emotional information.
[1694] Examples of prompts to input into a generative AI model
[1695] User requirements: Price under 30,000 yen, high performance, stylish design, screen size 6 inches or larger. Priorities: Performance, price, screen size, design. Sentiment: Positive. Please recommend products that meet these conditions and explain your reasons.
[1696] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1697] Step 1:
[1698] The user uses a device to input specific requirements for their desired product. This input includes price, performance, design, and screen size. For example, input data such as "Price: Under 30,000 yen," "Performance: High performance," "Design: Stylish," and "Screen size: 6 inches or larger" might be obtained.
[1699] Step 2:
[1700] Next, the user prioritizes the requirements they entered, for example, in the order of "Performance > Price > Screen Size > Design." This setting data indicates which requirements are most important and is used in subsequent calculations.
[1701] Step 3:
[1702] The device's camera and microphone are used to capture the user's facial expressions and voice. The EmotionRecognition module is used to recognize emotional information from this data. In this step, for example, "Emotional Information: Positive" might be output.
[1703] Step 4:
[1704] The device sends user-entered requests, priorities, and recognized sentiment information to the server as a set of data. The requests library is used to send data to the server in JSON format. This JSON data includes "requests," "priorities," and "sentiment information."
[1705] Step 5:
[1706] The server receives and analyzes data sent from the terminal. The analysis breaks down the received data, extracting individual requests, priorities, and sentiment information.
[1707] Step 6:
[1708] The server searches the database for the most suitable product based on the received data. It uses the `product_database` module to filter products that match the requirements. In this step, for example, products "Product A" and "Product B" that meet the criteria are searched for.
[1709] Step 7:
[1710] The server uses a generation AI model to generate recommendation reasons for each product. In this step, prompt statements are input to the AI model, and recommendation reasons are output. For example, the prompt statement used might be: "User requirements: Price under 30,000 yen, high performance, stylish design, screen size of 6 inches or larger. Sentiment information: Positive. Recommend products that match these conditions and explain the reasons."
[1711] Step 8:
[1712] The server recommends the highest-rated product to the user and generates a natural language explanation for it. The final recommendation result, along with the generated reasoning, is then sent to the user's device.
[1713] Step 9:
[1714] The terminal displays the recommendation results received from the server in the user interface. Users can view the recommended products and the reasons for the recommendations.
[1715] These steps allow users to efficiently find the best product based on their requirements and emotional information.
[1716] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1717] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1718] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1719] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1720] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1721] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1722] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1723] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1724] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1725] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1726] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1727] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1728] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1729] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1730] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1731] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1732] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1733] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1734] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1735] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1736] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1737] The following is further disclosed regarding the embodiments described above.
[1738] (Claim 1)
[1739] A means for the user to input requirements,
[1740] A means for users to set priorities for their requirements,
[1741] Means for transmitting the aforementioned requirements and priorities to a server as data,
[1742] A means for selecting the optimal model from a model database based on the aforementioned requirements and priorities,
[1743] A means of presenting the selected model to the user along with the reasons for the recommendation,
[1744] A system that includes this.
[1745] (Claim 2)
[1746] The system according to claim 1, wherein the model database includes information regarding the price, performance, design and screen size of the models.
[1747] (Claim 3)
[1748] The system according to claim 1, further comprising means for calculating evaluation scores for models recommended by the server and weighting them based on the user's priority.
[1749] "Example 1"
[1750] (Claim 1)
[1751] A means for the user to input requirements,
[1752] A means for users to set priorities for their requirements,
[1753] Means for transmitting the aforementioned requirements and priorities to a server as data,
[1754] A means for selecting the optimal device from the device database based on the aforementioned requirements and priorities,
[1755] A means of presenting devices selected using a generative AI model to the user along with the reasons for the recommendation,
[1756] A system that includes this.
[1757] (Claim 2)
[1758] The system according to claim 1, wherein the device database includes information regarding the price, performance, design and display size of the device.
[1759] (Claim 3)
[1760] The system according to claim 1, further comprising means for calculating an evaluation score for the devices recommended by the server and weighting them based on the user's priority.
[1761] "Application Example 1"
[1762] (Claim 1)
[1763] A means for the user to input requirements,
[1764] A means for users to set priorities for their requirements,
[1765] Means for transmitting the aforementioned requirements and priorities to a server as data,
[1766] A means for selecting the most suitable item from an item database based on the aforementioned requirements and priorities,
[1767] A means of presenting selected items to users along with the reasons for their recommendation,
[1768] A means for generating the aforementioned recommendation reasons using a generation AI model,
[1769] A system that includes this.
[1770] (Claim 2)
[1771] The system according to claim 1, wherein the article database includes information regarding the price, performance, design, and size of articles.
[1772] (Claim 3)
[1773] The system according to claim 1, further comprising means for calculating an evaluation score for items recommended by the server and weighting them based on the user's priority.
[1774] "Example 2 of combining an emotion engine"
[1775] (Claim 1)
[1776] A means for the user to input requirements,
[1777] A means for users to set priorities for their requirements,
[1778] Means for transmitting the aforementioned requirements and priorities to a server as data,
[1779] A means for selecting the optimal model from a model database based on the aforementioned requirements, priorities, and sentiment information,
[1780] A means for generating reasons for recommendation for the selected models using an AI model,
[1781] A means of presenting the selected model to the user along with the reasons for the recommendation,
[1782] A system that includes this.
[1783] (Claim 2)
[1784] The system according to claim 1, wherein the model database includes information regarding the price, performance, design and screen size of the models.
[1785] (Claim 3)
[1786] The system according to claim 1, further comprising means for calculating an evaluation score for the models recommended by the server and weighting them based on the user's priorities and sentiment information.
[1787] "Application example 2 when combining with an emotional engine"
[1788] (Claim 1)
[1789] A means for the user to input requirements,
[1790] A means for users to set priorities for their requirements,
[1791] Means for transmitting the aforementioned requirements and priorities to a server as data,
[1792] A means for selecting the optimal product from a database based on the aforementioned requirements, priorities, and sentiment information,
[1793] A means of recognizing emotions from the user's facial expressions and voice,
[1794] A means of presenting selected products to users along with the reasons for their recommendation,
[1795] A system that includes this.
[1796] (Claim 2)
[1797] The system according to claim 1, wherein the database includes information regarding the price, performance, design and screen size of the product.
[1798] (Claim 3)
[1799] The system according to claim 1, further comprising means for calculating evaluation scores for products recommended by the server and weighting them based on the user's priorities and sentiment information. [Explanation of symbols]
[1800] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for the user to input requirements, A means for users to set priorities for their requirements, Means for transmitting the aforementioned requirements and priorities to a server as data, A means for selecting the optimal model from a model database based on the aforementioned requirements and priorities, A means of presenting the selected model to the user along with the reasons for the recommendation, A system that includes this.
2. The system according to claim 1, wherein the model database includes information regarding the price, performance, design, and screen size of the models.
3. The system according to claim 1, further comprising means for calculating an evaluation score for the models recommended by the server and weighting them based on the user's priority.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A