System

A system using natural language processing and emotion recognition enhances the efficiency of finding suitable smartphone applications by analyzing user input and providing personalized, ranked recommendations.

JP2026021180APending Publication Date: 2026-02-10SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024122862
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-29
Publication Date
2026-02-10

AI Technical Summary

Technical Problem

Users face difficulty in finding smartphone applications that best suit their needs due to the vast number of options available, requiring manual review of reviews and descriptions, which is time-consuming and inefficient.

Method used

A system that accepts user input, analyzes it using natural language processing, searches for relevant applications, calculates a suitability score, and provides a ranked list of applications based on the analysis, ensuring the suggestions are up-to-date and personalized.

Benefits of technology

The system significantly reduces the time and effort required to find suitable applications by providing quick, reliable, and personalized recommendations based on user needs and emotions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026021180000001_ABST
    Figure 2026021180000001_ABST
Patent Text Reader

Abstract

A system is provided.SOLUTION: A system comprising: means for receiving an input from a user; means for analyzing the received input; means for searching for an application based on an analysis result; means for selecting an application to be proposed to the user based on a search result; and means for displaying information on the selected application to the user.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Currently, the variety of smartphone applications is increasing, making it difficult for users to find the application that best suits their needs. With so many applications available in app stores, users must manually review reviews and descriptions to select the most suitable one, which takes a great deal of time and effort. There is a need for a system that can solve this problem and help users efficiently find the application that best suits their needs. [Means for solving the problem]

[0005] The present invention provides a system that accepts and analyzes user input and suggests optimal applications based on the analysis results. Specifically, the system includes means for accepting user input, means for analyzing the input using natural language processing, means for searching for applications based on the analysis results, means for selecting an appropriate application based on the search results, and means for displaying information about the selected application to the user. This system allows users to quickly and reliably find the optimal application that meets their needs. Furthermore, by regularly updating application data, suggestions can always be based on the latest information. Furthermore, by calculating a suitability score for applications and creating a ranking, more specific and reliable suggestions can be provided to users.

[0006] The "means for accepting user input" is a function that provides an interface for receiving information such as requests and wishes from the user in the form of text or the like.

[0007] The "means for analyzing" is a function that uses natural language processing technology to process received user input data and extract semantic content and intent.

[0008] "Means for searching for applications based on analysis results" is a function that searches for related applications within a database based on extracted keywords and intent.

[0009] The "means for selecting suggested applications" refers to a function that has an evaluation algorithm or criteria for ranking and selecting the applications that best suit the user's needs from the search results.

[0010] The "means for displaying application information to the user" is a function for visually displaying information such as the name, description, rating, and download link of the selected application to the user.

[0011] "Natural language processing" is a general term for technologies that enable computers to understand, analyze, and generate human language, and includes processes such as keyword extraction and intent estimation.

[0012] The "database" is a system for storing and managing data such as descriptions, captured images, and review ratings of related applications.

[0013] "Means for regularly updating application data" refers to a function for obtaining the latest application information from external data sources such as app stores and keeping the database up to date.

[0014] The "suitability score" is an index that quantitatively evaluates how well each application matches the user's input.

[0015] The "means for creating a ranking" is a function that evaluates applications based on the calculated suitability score and provides the user with a list in order of most suitable. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7]FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0018] First, the terms used in the following description will be explained.

[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0024] [First embodiment]

[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0037] The present invention is a system that proposes optimal applications based on information entered by a user. The program processing of this system will be explained below in natural language.

[0038] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0039] For example, if a user inputs "I want to share and manage tasks with the whole family," the server analyzes this input and extracts the keywords "task management" and "family sharing."The server then searches the database for relevant applications based on these keywords.

[0040] The application data obtained from the search results includes descriptions, captcha images, review ratings, etc. The server uses this data to calculate a relevance score for each application, which indicates how well it matches the user's needs.

[0041] Once the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is used to display the most suitable applications to the user at the top. Once the top-ranked applications are selected, the information is reformatted and sent to the device. Finally, the device displays information about the selected applications to the user. This display includes the application name, description, rating, and download link.

[0042] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which then uses a natural language processing engine to extract the keywords "pet," "raise," and "leisurely."

[0043] The server then uses these keywords to search for relevant applications in its database. For example, it searches for applications in categories such as "pet raising games" and "relaxing games." The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, this information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0044] This series of processes allows users to efficiently and quickly find the application that best suits their needs. Because the server and terminal cooperate to provide the optimal application that meets the user's needs, it is expected to significantly reduce the user's search time and increase satisfaction.

[0045] The processing flow will be explained below.

[0046] Step 1:

[0047] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0048] Step 2:

[0049] The device sends the user's input to the server via an API, including the text entered in the chat box.

[0050] Step 3:

[0051] The server passes the received input data to a natural language processing engine, which performs text analysis and extracts semantic content and intent from the input.

[0052] Step 4:

[0053] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0054] Step 5:

[0055] The server uses the extracted keywords to search for related applications in a database that contains pre-stored data such as application descriptions, captured images, and review ratings.

[0056] Step 6:

[0057] The server retrieves data on multiple applications from the search results and calculates a relevance score for each application, which is an index that evaluates the degree to which each application matches the user's needs.

[0058] Step 7:

[0059] The server ranks the applications based on their relevance scores and selects the top N applications, where the most suitable applications for the user are ranked at the top.

[0060] Step 8:

[0061] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0062] Step 9:

[0063] The server sends the formatted data to the device, which includes information about the selected application.

[0064] Step 10:

[0065] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0066] This process allows users to easily find the application that best suits their needs.

[0067] Example 1

[0068] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0069] The purpose of this system is to solve the problem of users finding the application that best suits their needs and desires quickly and accurately. Conventional methods require users to search through a vast number of applications on their own, which results in a long time required to find the appropriate application and a decrease in satisfaction.

[0070] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0071] In this invention, the server includes means for analyzing user input using a natural language processing engine, means for searching for related applications in a database based on the analysis results, and means for calculating a relevance score for the search results, thereby enabling the server to quickly and accurately suggest applications that best suit the user's needs.

[0072] "User" refers to a person who uses the system to find applications that meet their needs and desires.

[0073] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.

[0074] A "server" refers to a computer system that receives input data from a terminal and performs analysis and search processing.

[0075] A "natural language processing engine" refers to software that analyzes a user's text input and extracts keywords and intent.

[0076] "Database" refers to an information storage system in which information about related applications is stored.

[0077] The "relevance score" refers to an evaluation value that indicates how closely the application in the search results matches the user's needs.

[0078] "Ranking" refers to a list of applications sorted based on their relevance scores.

[0079] "Generative AI model" refers to the artificial intelligence model used to calculate relevance scores and generate rankings.

[0080] A "prompt sentence" refers to an instruction sentence used when a user inputs specific information into a system.

[0081] The present invention is a system that proposes optimal applications based on information entered by a user. This system is primarily composed of a terminal and a server. The software used includes a natural language processing engine and a database management system.

[0082] First, a user uses their device to input their needs and wishes into a chat box. For example, they might type, "I want to share and manage tasks with the whole family." This input is sent from the device to the server. The server receives an HTTP POST request and uses a natural language processing engine (e.g., TensorFlow or SpaCy) to analyze the user's input data. The natural language processing engine extracts keywords and intent from the input text; in the example above, the keywords "task management" and "family sharing" are extracted.

[0083] Next, the server searches for relevant applications in a database based on the extracted keywords. The database uses a relational database system such as MySQL or PostgreSQL. The server executes an SQL query to retrieve information about the relevant applications, including descriptions, captcha images, review ratings, etc.

[0084] Based on the search results, the server calculates a relevance score for each application using machine learning algorithms such as random forests and support vector machines. The relevance score evaluates how well the application matches the user's needs.

[0085] After the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is presented in a list, sorted to display the most suitable applications at the top. A sorting algorithm such as quick sort or merge sort is used to generate the ranking.

[0086] Once the rankings are generated, the server sends this information back to the device, which then analyzes the data and displays the application information in an appropriate layout for the user interface. This display uses HTML and CSS to show the user the application name, description, rating, and download link.

[0087] As a concrete example, if a user is looking for a "game where you can leisurely raise a cute pet," they would input "a game where you can leisurely raise a cute pet." This input is sent to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed." Based on the extracted keywords, a search is made for related applications in the database, and applications in the categories of "pet raising games" and "relaxed games" are displayed. A ranking is created based on the search results, and the information sent to the device is displayed to the user.

[0088] In this way, users can efficiently find the application that best suits their needs.

[0089] (Example prompt):

[0090] "I'm looking for a game where I can leisurely raise a cute pet. Can you tell me which application is best?"

[0091] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0092] Step 1:

[0093] A user uses a terminal to enter text into a chat box.

[0094] Specific actions: The user uses the device keyboard to specifically input their needs or desires. For example, they might type, "I want to share and manage tasks with the whole family."

[0095] Input: User text input

[0096] Output: Text information entered in the chat box

[0097] Step 2:

[0098] The terminal sends the user's input to the server.

[0099] Specific operation: The terminal sends the user's input text to the server as an HTTP POST request.

[0100] Input: Text information entered in the chat box

[0101] Output: Text data sent to the server

[0102] Step 3:

[0103] The input data received by the server is passed to a natural language processing engine for analysis.

[0104] Specific operation: The server passes the received text data to a natural language processing engine (e.g., TensorFlow or SpaCy) to extract keywords and intent.

[0105] Input: Text data sent to the server

[0106] Output: Extracted keywords and intent

[0107] Step 4:

[0108] The server uses the extracted keywords to search for relevant applications in a database.

[0109] What happens: The server generates an SQL query to search a database management system (e.g., MySQL or PostgreSQL) for relevant application information.

[0110] Input: Extracted keywords and intent

[0111] Output: Application information obtained as search results (description, capture image, review rating, etc.)

[0112] Step 5:

[0113] The server calculates a relevance score for each application based on the search results.

[0114] How it works: The server uses machine learning algorithms (e.g., random forests, support vector machines) to calculate a fitness score for each application.

[0115] Input: Application information obtained as search results

[0116] Output: The calculated relevance score

[0117] Step 6:

[0118] The server generates a ranking of the applications based on the relevance scores.

[0119] Specific operation: The server generates a ranking using a sorting algorithm (e.g., quick sort, merge sort) based on the calculated relevance scores.

[0120] Input: The calculated relevance score

[0121] Output: Generated application rankings

[0122] Step 7:

[0123] The server transmits the ranking information to the terminal.

[0124] Specific operation: The server sends the generated ranking data in JSON format to the terminal.

[0125] Input: Generated application rankings

[0126] Output: Ranking data sent to the terminal

[0127] Step 8:

[0128] The terminal analyzes the received ranking information and displays it on the user interface.

[0129] Specific operation: The device parses the received ranking data and displays it in a format suitable for the user interface using HTML and CSS, such as the application name, description, rating, and download link.

[0130] Input: Ranking data sent to the terminal

[0131] Output: Application information displayed on the user interface

[0132] This process allows users to quickly and accurately find the application that best suits their needs.

[0133] (Application example 1)

[0134] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0135] Conventional systems that enable users to efficiently find products and services that meet their needs have had the challenge of accurately analyzing the information entered by the user and making optimal suggestions based on the results. In particular, the limitations of natural language processing technology and the appropriate calculation and display of relevance scores have been problematic.

[0136] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0137] In this invention, the server includes means for accepting user input, means for transmitting the accepted input to a natural language processing engine for analysis, means for searching for products and services based on the analysis results, means for evaluating the search results based on a suitability score and creating a ranking, and means for displaying information on the top-ranked products and services to the user, thereby enabling efficient proposal of optimal products and services based on the needs and desires entered by the user.

[0138] The "means for accepting user input" is an interface for the user to input information about the product or service they desire.

[0139] The "means for transmitting to a natural language processing engine for analysis" has a function of transmitting the received user input information to a natural language processing engine and analyzing the input content.

[0140] "Means for searching for products and services" refers to the system function for locating related products and services in the database based on the analysis results.

[0141] The "means for evaluating and creating rankings based on suitability scores" is a function for evaluating the products and services from the search results that best suit the user's needs and ranking them based on their importance.

[0142] The "means for displaying information about top-ranked products and services to the user" is an interface for displaying detailed information about products and services that have been ranked highly based on evaluations to the user.

[0143] A "generative AI model" is a type of advanced artificial intelligence algorithm used for natural language processing and analyzing extracted data.

[0144] A "prompt" is text that defines the format of instructions or questions to be asked to a generative AI model when analyzing input data.

[0145] The present invention is a system for proposing optimal products and services based on user input, and is particularly effective for online shopping sites. The system includes the following means.

[0146] First, a user uses a terminal to input the desired product or service requirements into a chat box. For example, they might input, "I'm looking for a black leather wallet." This input is received through a chat box interface on a smartphone or tablet.

[0147] The received input is then sent to a server, which passes it to a natural language processing engine (e.g., one that utilizes a generative AI model) for analysis. This engine is typically OpenAI's GPT-3 or Google's BERT.

[0148] The natural language processing engine extracts keywords and intent from user input. Here, the prompt sentence "Please extract keywords from the following sentence: 'I am looking for a black leather wallet'" is input to the generative AI model.

[0149] Based on the extracted keywords (in this case, "leather," "black," and "wallet"), the server searches for relevant products and services in a database (e.g., MySQL or Elasticsearch) that contains detailed product and service information.

[0150] The search results are returned as a dataset containing product descriptions, images, review ratings, etc. Using this data, the server calculates a relevance score for each product, which is a numerical representation of how well the product matches the user's needs.

[0151] A ranking of products and services is created based on the relevance scores. The top-ranked products and services are selected, and the information is reformatted and sent to the device. Finally, the device displays information about the selected products or services to the user. This display includes the product name, description, rating, link, etc.

[0152] For example, if a user types in "I'm looking for a bicycle maintenance kit," the natural language processing engine will extract the keywords "bicycle" and "maintenance kit" and create a ranking based on related products. The top-ranked information received from the server will ultimately be displayed on the user's device.

[0153] As a result, a system is realized that allows users to efficiently find products and services that best suit their needs.

[0154] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0155] Step 1:

[0156] The user uses the terminal to input desired product or service requirements into the chat box. For example, the user inputs "I'm looking for a black leather wallet." This text input data is sent to the server by the terminal.

[0157] Input: User text input (e.g., "I'm looking for a black leather wallet")

[0158] Output: Sends text input data to the server

[0159] Step 2:

[0160] The server sends the received input data to a natural language processing engine for analysis, using a generative AI model (such as OpenAI's GPT-3) to extract keywords and intent from the input text.

[0161] Input: Text input data (e.g., "I'm looking for a black leather wallet")

[0162] Output: Extracted keywords (e.g., "leather," "black," "wallet")

[0163] Step 3:

[0164] The server uses the extracted keywords to search for related products and services in a database where detailed information about the products and services is stored (e.g., MySQL, Elasticsearch).

[0165] Input: Extracted keywords (e.g., "leather," "black," "wallet")

[0166] Output: A data list of related products and services

[0167] Step 4:

[0168] The server retrieves data such as product descriptions, images, and review ratings from the search results, and uses this data to calculate a relevance score for each product.

[0169] Input: Data list of products and services

[0170] Output: Relevance score for each product or service

[0171] Step 5:

[0172] The server ranks the products and services based on their relevance scores, and the top-ranked products and services are selected.

[0173] Input: Relevance score for each product or service

[0174] Output: Ranking list

[0175] Step 6:

[0176] The server formats and sends information about the top-ranked products and services to the terminal, which then displays this information to the user. This display includes the product name, description, rating, link, etc.

[0177] Input: Ranking list

[0178] Output: Formatted information displayed to the user (e.g. product name, description, rating, link)

[0179] Through the above processing steps, users can efficiently find the products and services that best suit their needs.

[0180] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0181] The present invention provides a system that proposes optimal applications based on user input information, and also combines it with an emotion engine that recognizes the user's emotions to provide more personalized proposals. Below, the program processing of this system is explained in natural language.

[0182] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0183] It also incorporates an emotion engine that recognizes emotions from the content and tone of user input. For example, if the user is feeling stressed, the emotion engine will detect this and include emotional information in the analysis results. This emotional information is taken into account in the application selection process.

[0184] Next, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains information such as application descriptions, captured images, and review ratings. The server receives the search results and calculates a relevance score for each application. This relevance score also reflects the user's emotional information.

[0185] For example, if a user inputs "I want to share and manage tasks with the whole family," and the emotion engine recognizes that the user is seeking a sense of security, the server will prioritize and recommend applications that provide a relaxing user experience in addition to "task management" and "family sharing."

[0186] Once the relevance scores are calculated, the server ranks the applications based on these scores and selects the top N applications. This ranking is used to display the most suitable applications for the user. Once the top-ranked applications are selected, their information is reformatted and sent to the device. Finally, the device displays the selected application information to the user. This display includes the application name, description, rating, and download link.

[0187] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed," and also uses an emotion engine to recognize the user's desire to relax.

[0188] The server then searches for related applications in its database based on these keywords and emotion information. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0189] This series of processes allows users to easily find the application that best suits their needs and emotions. The present invention is a system that recognizes the user's emotions and reflects them in the analysis results to provide more personalized suggestions, which is expected to significantly reduce users' search time and increase their satisfaction.

[0190] The processing flow will be explained below.

[0191] Step 1:

[0192] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0193] Step 2:

[0194] The device sends the user's input to the server via the API, including the text data entered in the chat box.

[0195] Step 3:

[0196] The server passes the received input data to a natural language processing engine for text analysis, which extracts semantic content and intent.

[0197] Step 4:

[0198] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0199] Step 5:

[0200] The server passes the received input data to the emotion engine, which recognizes emotions from the user's input. The emotion engine extracts emotion data from the content and tone of the user's input.

[0201] Step 6:

[0202] The server uses the extracted keywords and emotion data to search for related applications in a database that contains data such as application descriptions, captured images, and review ratings.

[0203] Step 7:

[0204] The server calculates a relevance score for each application's data retrieved from the search results. The relevance score is an index that evaluates the degree to which each application matches the user's needs and emotion data.

[0205] Step 8:

[0206] The server ranks the applications based on their relevance scores and selects the top N applications, with the most suitable applications for the user ranked at the top.

[0207] Step 9:

[0208] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0209] Step 10:

[0210] The server sends the formatted data to the device, which includes information about the selected application.

[0211] Step 11:

[0212] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0213] For example, if a user is looking for a "game where you can leisurely raise a cute pet," the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxing," and uses an emotion engine to recognize the user's desire to relax.

[0214] The server then searches for related applications in its database based on these keywords and emotion data. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0215] This process allows users to easily find the application that best suits their needs and feelings.

[0216] Example 2

[0217] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0218] Conventional application suggestion systems have difficulty not only providing applications that meet user needs but also making personalized suggestions based on user emotions. Furthermore, the search process to find an appropriate application takes time for users, resulting in a decrease in ultimate satisfaction.

[0219] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing a user's input by natural language processing and extracting keywords and intentions, means for recognizing the user's emotions by an emotion analysis engine, and means for searching for related application data from a database based on the extracted keywords and emotion information. This makes it possible to make suggestions that take the user's emotion information into consideration, and to enable the user to quickly and reliably find the application they want, thereby increasing their satisfaction.

[0220] A "means for accepting user input" is the interface that a user uses to communicate their needs and desires to the system.

[0221] The "means for transmitting the received input data to the server" refers to a communication protocol and mechanism for transmitting data input by the user from the terminal to the server.

[0222] The "means for analyzing input data by natural language processing in the server and extracting keywords and intentions" is a natural language processing technology for analyzing the text of user input data and extracting important keywords and their intentions.

[0223] The "means for recognizing user emotions by an emotion analysis engine in the server" refers to algorithms and techniques for analyzing the content and tone of a user's input and identifying their emotional state.

[0224] The "means for searching for relevant application data from a database based on the extracted keywords and emotion information" refers to a search algorithm and technology for searching for relevant application information from a database based on the identified keywords and emotion information.

[0225] The "means for calculating a suitability score based on the search results and ranking the applications to be suggested to the user" is a calculation mechanism for finding appropriate applications from the search results, quantifying their suitability, and displaying it as a ranking.

[0226] The "means for transmitting information about the selected application to the user's terminal" is a communication protocol for transferring details of the selected application from the server to the user's terminal.

[0227] The "means for displaying the transmitted application information to the user" refers to an interface for visually displaying the application information received from the server on the user's terminal.

[0228] This invention is a system that suggests optimal applications based on user input information and provides more personalized suggestions by taking into account the user's emotional information. This system includes a series of processes: accepting user input, sending the data to a server, analyzing and recognizing emotions, and selecting and presenting optimal applications.

[0229] First, the user uses the device to input their needs and desires into the chat box. For example, they might type, "I'm looking for an app to help me concentrate." The device then sends this input data to the server. The input data is sent in JSON format using an HTTP POST request.

[0230] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input. This natural language processing engine can use Python's NLTK, a common text analysis library. For example, keywords such as "concentration," "increase," and "app" can be extracted.

[0231] The server also includes a sentiment analysis engine that recognizes emotions based on the content and tone of user input, using services such as the Google Cloud Natural Language API. For example, the engine can recognize when a user is feeling impatient.

[0232] Next, the server searches for relevant application data from a database based on the extracted keywords and emotion information. The database stores detailed application information, captured images, review ratings, etc., and can use a database management system such as MySQL. The server receives the search results and calculates a relevance score for each application. This score also reflects the user's emotion information.

[0233] Once the relevance scores have been calculated, the server ranks the applications based on these scores and selects the top N applications. For ranking, a weighted scoring method can be used, for example. The selected application information is formatted and sent to the device as an HTTP response, formatted in a visually appealing HTML format.

[0234] Finally, the device displays information about the selected application to the user, such as a message saying, "The 'Concentration Improvement App' is perfect. Here's the download link." This display includes the application's name, description, rating, and download link.

[0235] This process is expected to enable users to quickly and reliably find the application that best suits their needs and feelings, thereby increasing user satisfaction.

[0236] Prompt Sentence Examples

[0237] "We want to implement a process that can better understand the applications users are looking for and suggest the most suitable apps, taking their emotions into consideration."

[0238] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0239] Step 1:

[0240] The user uses the terminal to input their needs and desires into a chat box.

[0241] Input: User types, "I want an app that helps me focus."

[0242] Output: The chat box input data is generated.

[0243] Specific behavior: The user uses the keyboard to enter text into the device's chat box and presses the send button.

[0244] Step 2:

[0245] The terminal sends the input data to the server.

[0246] Input: The input data for the chat box generated in the previous step.

[0247] Output: The input data sent to the server (HTTP POST request in JSON format).

[0248] Specific operation: The device packages input data as an HTTP request and sends it to the server over the network.

[0249] Step 3:

[0250] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input.

[0251] Input: Input data in JSON format sent from the terminal.

[0252] Output: Extracted keywords and intents (e.g., "focus," "enhance," "app").

[0253] What it does: The server uses Python's NLTK library to analyze the text and extract important keywords and intent.

[0254] Step 4:

[0255] The server uses a sentiment analysis engine to recognize the user's sentiment.

[0256] Input: Input data sent from the terminal and extracted keywords.

[0257] Output: User's emotional information (e.g., "impatience").

[0258] How it works: The server sends input data to the Google Cloud Natural Language API and receives emotion recognition results, which indicate the user's emotional state as a number or category.

[0259] Step 5:

[0260] The server searches the database for relevant application data based on the extracted keywords and emotion information.

[0261] Input: Keywords and sentiment information.

[0262] Output: A list of relevant application data.

[0263] What happens: The server runs an SQL query against the MySQL database to retrieve the relevant application data.

[0264] Step 6:

[0265] The server calculates a relevance score based on the search results and ranks the applications it recommends to the user.

[0266] Input: Application data from search results.

[0267] Output: Relevance scores and rankings of applications.

[0268] How it works: The server uses a proprietary algorithm to calculate the relevance score of applications and generate a ranking. This algorithm weights the ranking based on the user's emotional information and needs.

[0269] Step 7:

[0270] The server transmits information about the selected application to the terminal.

[0271] Input: Relevance scores and ranking information.

[0272] Output: Application information (e.g. application name, description, rating, download link) to the user's device.

[0273] Specific operation: The server packages the formatted application information in HTML format and sends it to the terminal as an HTTP response.

[0274] Step 8:

[0275] The terminal displays information about the selected application to the user.

[0276] Input: Application information received from the server.

[0277] Output: The application details that are displayed to the user.

[0278] Specific operation: The device displays the received HTML data in the browser and displays a message to the user such as "The 'Concentration Improvement App' is perfect for you. Here is the download link."

[0279] These steps allow users to quickly and easily find the application that best suits their needs and feelings.

[0280] (Application example 2)

[0281] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0282] Conventional application suggestion systems make suggestions based solely on user input, making it difficult to provide personalized suggestions that reflect the user's emotions and mental state. In particular, in the case of security services, if a user is feeling anxious, suggestions that do not take those emotions into consideration can lead to a decrease in satisfaction.

[0283] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0284] In this invention, the server includes means for accepting user input, means for analyzing the accepted input, means for searching for applications based on the analysis results, means for selecting applications to be suggested to the user based on the search results, means for displaying information on the selected applications to the user, means for performing emotion analysis and adding emotional information about the user based on the analysis results, and means for calculating a suitability score for the applications in consideration of the emotional information, thereby enabling more personalized application suggestions according to the user's emotions.

[0285] A "user" is a person who uses the system to provide input information.

[0286] "Input" refers to text or voice data that a user provides to the system using a terminal.

[0287] "Analysis" is a method of processing received input information based on natural language processing and sentiment analysis to extract keywords, intent, and emotional state.

[0288] An "application" is software or a service offered based on a user's needs and desires.

[0289] "Search" is the process of finding suitable applications from the database based on the analysis results.

[0290] "Selection" is the process of selecting applications to suggest to users based on search results.

[0291] "Display" is the process of visually presenting information about a selected application to a user.

[0292] "Emotion analysis" is the process of identifying a user's emotional state based on their input and adding the results to the analysis data.

[0293] The "suitability score" is a numerical representation of the suitability of an application, and is calculated taking into account the user's emotional information.

[0294] The system that realizes this application example is configured as follows: A user provides input information using a terminal. The input information is sent to the system as text or voice data. The terminal sends this input information to a server, which then analyzes the received input information.

[0295] The server uses a natural language processing (NLP) engine built using the Python programming language to extract keywords and intent from input information. This engine uses the TextBlob and Hugging Face Transformers libraries. It also incorporates an emotion engine for sentiment analysis, identifying the user's emotional state from the content and tone of their input and adding emotional information to the analysis results.

[0296] After the analysis is complete, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains descriptions, ratings, and captured images of various applications. The server calculates a relevance score and ranks the applications, taking into account the user's emotional information. The top-ranked applications are selected and their information is sent to the device. The device then displays information about the selected applications to the user.

[0297] As a concrete example, consider a case where a user types in "I want a camera to protect my home" and expresses anxiety. The server extracts the keywords "camera" and "protect my home," and the emotion engine identifies the emotion "anxiety." The server then uses this information to search its database and find a suitable product, such as a "home security camera," specifically designed to alleviate the user's anxiety.

[0298] An example of a prompt is: "The user is concerned about the security measures in their home. Please suggest a suitable security product."

[0299] The system will provide more precise and personalized application suggestions based on user input and emotional information, allowing users to quickly and accurately find the applications and services that best suit their emotional state.

[0300] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0301] Step 1:

[0302] The user provides input information using a terminal. The user enters their needs and desires as text or voice data into a chat box. The input data is sent directly to the server. The input is specific, such as "I want a camera to protect my home."

[0303] Step 2:

[0304] The server passes the received input information to the natural language processing engine, which uses TextBlob and the Transformers library to extract keywords and intent from the input. It analyzes the input data (e.g., the text "I want a camera to protect my home.") and extracts keywords (e.g., "camera" and "protect my home") and intent.

[0305] Step 3:

[0306] The server passes the input information to the sentiment analysis engine. The sentiment analysis engine uses the Transformers library to recognize emotional information from the tone and content of the user's input. It analyzes the input data (e.g., the text "I want a camera to protect my home. I feel very anxious.") and extracts emotional data (e.g., "anxiety").

[0307] Step 4:

[0308] The server searches for relevant applications from a database based on the analyzed keywords and emotion information. The database contains application descriptions, ratings, captured images, etc. The server uses the input keywords and emotion data to search for appropriate application categories (e.g., "home security cameras") and generates a list of matching applications.

[0309] Step 5:

[0310] The server evaluates related applications using a relevance score. The relevance score is calculated based on the degree of keyword matching and the degree of response to user emotions. The server calculates the relevance of each application in the extracted application list and assigns a score. The score also includes emotional information (e.g., "anxiety").

[0311] Step 6:

[0312] The server ranks the applications based on their relevance scores and selects the top N applications. It then selects the top N applications from the ranked list and formats this information.

[0313] Step 7:

[0314] The server sends information about the selected application to the device. The device then displays the received application information to the user. The displayed information includes the application name, description, rating, download link, etc. The user can then select and use the most suitable application based on this information.

[0315] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0316] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0317] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0318] [Second embodiment]

[0319] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0320] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0321] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0322] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0323] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0324] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0325] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0326] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0327] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0328] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0329] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0330] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0331] The present invention is a system that proposes optimal applications based on information entered by a user. The program processing of this system will be explained below in natural language.

[0332] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0333] For example, if a user inputs "I want to share and manage tasks with the whole family," the server analyzes this input and extracts the keywords "task management" and "family sharing."The server then searches the database for relevant applications based on these keywords.

[0334] The application data obtained from the search results includes descriptions, captcha images, review ratings, etc. The server uses this data to calculate a relevance score for each application, which indicates how well it matches the user's needs.

[0335] Once the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is used to display the most suitable applications to the user at the top. Once the top-ranked applications are selected, the information is reformatted and sent to the device. Finally, the device displays information about the selected applications to the user. This display includes the application name, description, rating, and download link.

[0336] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which then uses a natural language processing engine to extract the keywords "pet," "raise," and "leisurely."

[0337] The server then uses these keywords to search for relevant applications in its database. For example, it searches for applications in categories such as "pet raising games" and "relaxing games." The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, this information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0338] This series of processes allows users to efficiently and quickly find the application that best suits their needs. Because the server and terminal cooperate to provide the optimal application that meets the user's needs, it is expected to significantly reduce the user's search time and increase satisfaction.

[0339] The processing flow will be explained below.

[0340] Step 1:

[0341] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0342] Step 2:

[0343] The device sends the user's input to the server via an API, including the text entered in the chat box.

[0344] Step 3:

[0345] The server passes the received input data to a natural language processing engine, which performs text analysis and extracts semantic content and intent from the input.

[0346] Step 4:

[0347] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0348] Step 5:

[0349] The server uses the extracted keywords to search for related applications in a database that contains pre-stored data such as application descriptions, captured images, and review ratings.

[0350] Step 6:

[0351] The server retrieves data on multiple applications from the search results and calculates a relevance score for each application, which is an index that evaluates the degree to which each application matches the user's needs.

[0352] Step 7:

[0353] The server ranks the applications based on their relevance scores and selects the top N applications, where the most suitable applications for the user are ranked at the top.

[0354] Step 8:

[0355] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0356] Step 9:

[0357] The server sends the formatted data to the device, which includes information about the selected application.

[0358] Step 10:

[0359] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0360] This process allows users to easily find the application that best suits their needs.

[0361] Example 1

[0362] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0363] The purpose of this system is to solve the problem of users finding the application that best suits their needs and desires quickly and accurately. Conventional methods require users to search through a vast number of applications on their own, which results in a long time required to find the appropriate application and a decrease in satisfaction.

[0364] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0365] In this invention, the server includes means for analyzing user input using a natural language processing engine, means for searching for related applications in a database based on the analysis results, and means for calculating a relevance score for the search results, thereby enabling the server to quickly and accurately suggest applications that best suit the user's needs.

[0366] "User" refers to a person who uses the system to find applications that meet their needs and desires.

[0367] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.

[0368] A "server" refers to a computer system that receives input data from a terminal and performs analysis and search processing.

[0369] A "natural language processing engine" refers to software that analyzes a user's text input and extracts keywords and intent.

[0370] "Database" refers to an information storage system in which information about related applications is stored.

[0371] The "relevance score" refers to an evaluation value that indicates how closely the application in the search results matches the user's needs.

[0372] "Ranking" refers to a list of applications sorted based on their relevance scores.

[0373] "Generative AI model" refers to the artificial intelligence model used to calculate relevance scores and generate rankings.

[0374] A "prompt sentence" refers to an instruction sentence used when a user inputs specific information into a system.

[0375] The present invention is a system that proposes optimal applications based on information entered by a user. This system is primarily composed of a terminal and a server. The software used includes a natural language processing engine and a database management system.

[0376] First, a user uses their device to input their needs and wishes into a chat box. For example, they might type, "I want to share and manage tasks with the whole family." This input is sent from the device to the server. The server receives an HTTP POST request and uses a natural language processing engine (e.g., TensorFlow or SpaCy) to analyze the user's input data. The natural language processing engine extracts keywords and intent from the input text; in the example above, the keywords "task management" and "family sharing" are extracted.

[0377] Next, the server searches for relevant applications in a database based on the extracted keywords. The database uses a relational database system such as MySQL or PostgreSQL. The server executes an SQL query to retrieve information about the relevant applications, including descriptions, captcha images, review ratings, etc.

[0378] Based on the search results, the server calculates a relevance score for each application using machine learning algorithms such as random forests and support vector machines. The relevance score evaluates how well the application matches the user's needs.

[0379] After the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is presented in a list, sorted to display the most suitable applications at the top. A sorting algorithm such as quick sort or merge sort is used to generate the ranking.

[0380] Once the rankings are generated, the server sends this information back to the device, which then analyzes the data and displays the application information in an appropriate layout for the user interface. This display uses HTML and CSS to show the user the application name, description, rating, and download link.

[0381] As a concrete example, if a user is looking for a "game where you can leisurely raise a cute pet," they would input "a game where you can leisurely raise a cute pet." This input is sent to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed." Based on the extracted keywords, a search is made for related applications in the database, and applications in the categories of "pet raising games" and "relaxed games" are displayed. A ranking is created based on the search results, and the information sent to the device is displayed to the user.

[0382] In this way, users can efficiently find the application that best suits their needs.

[0383] (Example prompt):

[0384] "I'm looking for a game where I can leisurely raise a cute pet. Can you tell me which application is best?"

[0385] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0386] Step 1:

[0387] A user uses a terminal to enter text into a chat box.

[0388] Specific actions: The user uses the device keyboard to specifically input their needs or desires. For example, they might type, "I want to share and manage tasks with the whole family."

[0389] Input: User text input

[0390] Output: Text information entered in the chat box

[0391] Step 2:

[0392] The terminal sends the user's input to the server.

[0393] Specific operation: The terminal sends the user's input text to the server as an HTTP POST request.

[0394] Input: Text information entered in the chat box

[0395] Output: Text data sent to the server

[0396] Step 3:

[0397] The input data received by the server is passed to a natural language processing engine for analysis.

[0398] Specific operation: The server passes the received text data to a natural language processing engine (e.g., TensorFlow or SpaCy) to extract keywords and intent.

[0399] Input: Text data sent to the server

[0400] Output: Extracted keywords and intent

[0401] Step 4:

[0402] The server uses the extracted keywords to search for relevant applications in a database.

[0403] What happens: The server generates an SQL query to search a database management system (e.g., MySQL or PostgreSQL) for relevant application information.

[0404] Input: Extracted keywords and intent

[0405] Output: Application information obtained as search results (description, capture image, review rating, etc.)

[0406] Step 5:

[0407] The server calculates a relevance score for each application based on the search results.

[0408] How it works: The server uses machine learning algorithms (e.g., random forests, support vector machines) to calculate a fitness score for each application.

[0409] Input: Application information obtained as search results

[0410] Output: The calculated relevance score

[0411] Step 6:

[0412] The server generates a ranking of the applications based on the relevance scores.

[0413] Specific operation: The server generates a ranking using a sorting algorithm (e.g., quick sort, merge sort) based on the calculated relevance scores.

[0414] Input: The calculated relevance score

[0415] Output: Generated application rankings

[0416] Step 7:

[0417] The server transmits the ranking information to the terminal.

[0418] Specific operation: The server sends the generated ranking data in JSON format to the terminal.

[0419] Input: Generated application rankings

[0420] Output: Ranking data sent to the terminal

[0421] Step 8:

[0422] The terminal analyzes the received ranking information and displays it on the user interface.

[0423] Specific operation: The device parses the received ranking data and displays it in a format suitable for the user interface using HTML and CSS, such as the application name, description, rating, and download link.

[0424] Input: Ranking data sent to the terminal

[0425] Output: Application information displayed on the user interface

[0426] This process allows users to quickly and accurately find the application that best suits their needs.

[0427] (Application example 1)

[0428] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0429] Conventional systems that enable users to efficiently find products and services that meet their needs have had the challenge of accurately analyzing the information entered by the user and making optimal suggestions based on the results. In particular, the limitations of natural language processing technology and the appropriate calculation and display of relevance scores have been problematic.

[0430] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0431] In this invention, the server includes means for accepting user input, means for transmitting the accepted input to a natural language processing engine for analysis, means for searching for products and services based on the analysis results, means for evaluating the search results based on a suitability score and creating a ranking, and means for displaying information on the top-ranked products and services to the user, thereby enabling efficient proposal of optimal products and services based on the needs and desires entered by the user.

[0432] The "means for accepting user input" is an interface for the user to input information about the product or service they desire.

[0433] The "means for transmitting to a natural language processing engine for analysis" has a function of transmitting the received user input information to a natural language processing engine and analyzing the input content.

[0434] "Means for searching for products and services" refers to the system function for locating related products and services in the database based on the analysis results.

[0435] The "means for evaluating and creating rankings based on suitability scores" is a function for evaluating the products and services from the search results that best suit the user's needs and ranking them based on their importance.

[0436] The "means for displaying information about top-ranked products and services to the user" is an interface for displaying detailed information about products and services that have been ranked highly based on evaluations to the user.

[0437] A "generative AI model" is a type of advanced artificial intelligence algorithm used for natural language processing and analyzing extracted data.

[0438] A "prompt" is text that defines the format of instructions or questions to be asked to a generative AI model when analyzing input data.

[0439] The present invention is a system for proposing optimal products and services based on user input, and is particularly effective for online shopping sites. The system includes the following means.

[0440] First, a user uses a terminal to input the desired product or service requirements into a chat box. For example, they might input, "I'm looking for a black leather wallet." This input is received through a chat box interface on a smartphone or tablet.

[0441] The received input is then sent to a server, which passes it to a natural language processing engine (e.g., one that utilizes a generative AI model) for analysis. This engine is typically OpenAI's GPT-3 or Google's BERT.

[0442] The natural language processing engine extracts keywords and intent from user input. Here, the prompt sentence "Please extract keywords from the following sentence: 'I am looking for a black leather wallet'" is input to the generative AI model.

[0443] Based on the extracted keywords (in this case, "leather," "black," and "wallet"), the server searches for relevant products and services in a database (e.g., MySQL or Elasticsearch) that contains detailed product and service information.

[0444] The search results are returned as a dataset containing product descriptions, images, review ratings, etc. Using this data, the server calculates a relevance score for each product, which is a numerical representation of how well the product matches the user's needs.

[0445] A ranking of products and services is created based on the relevance scores. The top-ranked products and services are selected, and the information is reformatted and sent to the device. Finally, the device displays information about the selected products or services to the user. This display includes the product name, description, rating, link, etc.

[0446] For example, if a user types in "I'm looking for a bicycle maintenance kit," the natural language processing engine will extract the keywords "bicycle" and "maintenance kit" and create a ranking based on related products. The top-ranked information received from the server will ultimately be displayed on the user's device.

[0447] As a result, a system is realized that allows users to efficiently find products and services that best suit their needs.

[0448] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0449] Step 1:

[0450] The user uses the terminal to input desired product or service requirements into the chat box. For example, the user inputs "I'm looking for a black leather wallet." This text input data is sent to the server by the terminal.

[0451] Input: User text input (e.g., "I'm looking for a black leather wallet")

[0452] Output: Sends text input data to the server

[0453] Step 2:

[0454] The server sends the received input data to a natural language processing engine for analysis, using a generative AI model (such as OpenAI's GPT-3) to extract keywords and intent from the input text.

[0455] Input: Text input data (e.g., "I'm looking for a black leather wallet")

[0456] Output: Extracted keywords (e.g., "leather," "black," "wallet")

[0457] Step 3:

[0458] The server uses the extracted keywords to search for related products and services in a database where detailed information about the products and services is stored (e.g., MySQL, Elasticsearch).

[0459] Input: Extracted keywords (e.g., "leather," "black," "wallet")

[0460] Output: A data list of related products and services

[0461] Step 4:

[0462] The server retrieves data such as product descriptions, images, and review ratings from the search results, and uses this data to calculate a relevance score for each product.

[0463] Input: Data list of products and services

[0464] Output: Relevance score for each product or service

[0465] Step 5:

[0466] The server ranks the products and services based on their relevance scores, and the top-ranked products and services are selected.

[0467] Input: Relevance score for each product or service

[0468] Output: Ranking list

[0469] Step 6:

[0470] The server formats and sends information about the top-ranked products and services to the terminal, which then displays this information to the user. This display includes the product name, description, rating, link, etc.

[0471] Input: Ranking list

[0472] Output: Formatted information displayed to the user (e.g. product name, description, rating, link)

[0473] Through the above processing steps, users can efficiently find the products and services that best suit their needs.

[0474] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0475] The present invention provides a system that proposes optimal applications based on user input information, and also combines it with an emotion engine that recognizes the user's emotions to provide more personalized proposals. Below, the program processing of this system is explained in natural language.

[0476] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0477] It also incorporates an emotion engine that recognizes emotions from the content and tone of user input. For example, if the user is feeling stressed, the emotion engine will detect this and include emotional information in the analysis results. This emotional information is taken into account in the application selection process.

[0478] Next, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains information such as application descriptions, captured images, and review ratings. The server receives the search results and calculates a relevance score for each application. This relevance score also reflects the user's emotional information.

[0479] For example, if a user inputs "I want to share and manage tasks with the whole family," and the emotion engine recognizes that the user is seeking a sense of security, the server will prioritize and recommend applications that provide a relaxing user experience in addition to "task management" and "family sharing."

[0480] Once the relevance scores are calculated, the server ranks the applications based on these scores and selects the top N applications. This ranking is used to display the most suitable applications for the user. Once the top-ranked applications are selected, their information is reformatted and sent to the device. Finally, the device displays the selected application information to the user. This display includes the application name, description, rating, and download link.

[0481] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed," and also uses an emotion engine to recognize the user's desire to relax.

[0482] The server then searches for related applications in its database based on these keywords and emotion information. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0483] This series of processes allows users to easily find the application that best suits their needs and emotions. The present invention is a system that recognizes the user's emotions and reflects them in the analysis results to provide more personalized suggestions, which is expected to significantly reduce users' search time and increase their satisfaction.

[0484] The processing flow will be explained below.

[0485] Step 1:

[0486] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0487] Step 2:

[0488] The device sends the user's input to the server via the API, including the text data entered in the chat box.

[0489] Step 3:

[0490] The server passes the received input data to a natural language processing engine for text analysis, which extracts semantic content and intent.

[0491] Step 4:

[0492] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0493] Step 5:

[0494] The server passes the received input data to the emotion engine, which recognizes emotions from the user's input. The emotion engine extracts emotion data from the content and tone of the user's input.

[0495] Step 6:

[0496] The server uses the extracted keywords and emotion data to search for related applications in a database that contains data such as application descriptions, captured images, and review ratings.

[0497] Step 7:

[0498] The server calculates a relevance score for each application's data retrieved from the search results. The relevance score is an index that evaluates the degree to which each application matches the user's needs and emotion data.

[0499] Step 8:

[0500] The server ranks the applications based on their relevance scores and selects the top N applications, with the most suitable applications for the user ranked at the top.

[0501] Step 9:

[0502] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0503] Step 10:

[0504] The server sends the formatted data to the device, which includes information about the selected application.

[0505] Step 11:

[0506] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0507] For example, if a user is looking for a "game where you can leisurely raise a cute pet," the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxing," and uses an emotion engine to recognize the user's desire to relax.

[0508] The server then searches for related applications in its database based on these keywords and emotion data. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0509] This process allows users to easily find the application that best suits their needs and feelings.

[0510] Example 2

[0511] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0512] Conventional application suggestion systems have difficulty not only providing applications that meet user needs but also making personalized suggestions based on user emotions. Furthermore, the search process to find an appropriate application takes time for users, resulting in a decrease in ultimate satisfaction.

[0513] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing a user's input by natural language processing and extracting keywords and intentions, means for recognizing the user's emotions by an emotion analysis engine, and means for searching for related application data from a database based on the extracted keywords and emotion information. This makes it possible to make suggestions that take the user's emotion information into consideration, and to enable the user to quickly and reliably find the application they want, thereby increasing their satisfaction.

[0514] A "means for accepting user input" is the interface that a user uses to communicate their needs and desires to the system.

[0515] The "means for transmitting the received input data to the server" refers to a communication protocol and mechanism for transmitting data input by the user from the terminal to the server.

[0516] The "means for analyzing input data by natural language processing in the server and extracting keywords and intentions" is a natural language processing technology for analyzing the text of user input data and extracting important keywords and their intentions.

[0517] The "means for recognizing user emotions by an emotion analysis engine in the server" refers to algorithms and techniques for analyzing the content and tone of a user's input and identifying their emotional state.

[0518] The "means for searching for relevant application data from a database based on the extracted keywords and emotion information" refers to a search algorithm and technology for searching for relevant application information from a database based on the identified keywords and emotion information.

[0519] The "means for calculating a suitability score based on the search results and ranking the applications to be suggested to the user" is a calculation mechanism for finding appropriate applications from the search results, quantifying their suitability, and displaying it as a ranking.

[0520] The "means for transmitting information about the selected application to the user's terminal" is a communication protocol for transferring details of the selected application from the server to the user's terminal.

[0521] The "means for displaying the transmitted application information to the user" refers to an interface for visually displaying the application information received from the server on the user's terminal.

[0522] This invention is a system that suggests optimal applications based on user input information and provides more personalized suggestions by taking into account the user's emotional information. This system includes a series of processes: accepting user input, sending the data to a server, analyzing and recognizing emotions, and selecting and presenting optimal applications.

[0523] First, the user uses the device to input their needs and desires into the chat box. For example, they might type, "I'm looking for an app to help me concentrate." The device then sends this input data to the server. The input data is sent in JSON format using an HTTP POST request.

[0524] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input. This natural language processing engine can use Python's NLTK, a common text analysis library. For example, keywords such as "concentration," "increase," and "app" can be extracted.

[0525] The server also includes a sentiment analysis engine that recognizes emotions based on the content and tone of user input, using services such as the Google Cloud Natural Language API. For example, the engine can recognize when a user is feeling impatient.

[0526] Next, the server searches for relevant application data from a database based on the extracted keywords and emotion information. The database stores detailed application information, captured images, review ratings, etc., and can use a database management system such as MySQL. The server receives the search results and calculates a relevance score for each application. This score also reflects the user's emotion information.

[0527] Once the relevance scores have been calculated, the server ranks the applications based on these scores and selects the top N applications. For ranking, a weighted scoring method can be used, for example. The selected application information is formatted and sent to the device as an HTTP response, formatted in a visually appealing HTML format.

[0528] Finally, the device displays information about the selected application to the user, such as a message saying, "The 'Concentration Improvement App' is perfect. Here's the download link." This display includes the application's name, description, rating, and download link.

[0529] This process is expected to enable users to quickly and reliably find the application that best suits their needs and feelings, thereby increasing user satisfaction.

[0530] Prompt Sentence Examples

[0531] "We want to implement a process that can better understand the applications users are looking for and suggest the most suitable apps, taking their emotions into consideration."

[0532] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0533] Step 1:

[0534] The user uses the terminal to input their needs and desires into a chat box.

[0535] Input: User types, "I want an app that helps me focus."

[0536] Output: The chat box input data is generated.

[0537] Specific behavior: The user uses the keyboard to enter text into the device's chat box and presses the send button.

[0538] Step 2:

[0539] The terminal sends the input data to the server.

[0540] Input: The input data for the chat box generated in the previous step.

[0541] Output: The input data sent to the server (HTTP POST request in JSON format).

[0542] Specific operation: The device packages input data as an HTTP request and sends it to the server over the network.

[0543] Step 3:

[0544] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input.

[0545] Input: Input data in JSON format sent from the terminal.

[0546] Output: Extracted keywords and intents (e.g., "focus," "enhance," "app").

[0547] What it does: The server uses Python's NLTK library to analyze the text and extract important keywords and intent.

[0548] Step 4:

[0549] The server uses a sentiment analysis engine to recognize the user's sentiment.

[0550] Input: Input data sent from the terminal and extracted keywords.

[0551] Output: User's emotional information (e.g., "impatience").

[0552] How it works: The server sends input data to the Google Cloud Natural Language API and receives emotion recognition results, which indicate the user's emotional state as a number or category.

[0553] Step 5:

[0554] The server searches the database for relevant application data based on the extracted keywords and emotion information.

[0555] Input: Keywords and sentiment information.

[0556] Output: A list of relevant application data.

[0557] What happens: The server runs an SQL query against the MySQL database to retrieve the relevant application data.

[0558] Step 6:

[0559] The server calculates a relevance score based on the search results and ranks the applications it recommends to the user.

[0560] Input: Application data from search results.

[0561] Output: Relevance scores and rankings of applications.

[0562] How it works: The server uses a proprietary algorithm to calculate the relevance score of applications and generate a ranking. This algorithm weights the ranking based on the user's emotional information and needs.

[0563] Step 7:

[0564] The server transmits information about the selected application to the terminal.

[0565] Input: Relevance scores and ranking information.

[0566] Output: Application information (e.g. application name, description, rating, download link) to the user's device.

[0567] Specific operation: The server packages the formatted application information in HTML format and sends it to the terminal as an HTTP response.

[0568] Step 8:

[0569] The terminal displays information about the selected application to the user.

[0570] Input: Application information received from the server.

[0571] Output: The application details that are displayed to the user.

[0572] Specific operation: The device displays the received HTML data in the browser and displays a message to the user such as "The 'Concentration Improvement App' is perfect for you. Here is the download link."

[0573] These steps allow users to quickly and easily find the application that best suits their needs and feelings.

[0574] (Application example 2)

[0575] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0576] Conventional application suggestion systems make suggestions based solely on user input, making it difficult to provide personalized suggestions that reflect the user's emotions and mental state. In particular, in the case of security services, if a user is feeling anxious, suggestions that do not take those emotions into consideration can lead to a decrease in satisfaction.

[0577] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0578] In this invention, the server includes means for accepting user input, means for analyzing the accepted input, means for searching for applications based on the analysis results, means for selecting applications to be suggested to the user based on the search results, means for displaying information on the selected applications to the user, means for performing emotion analysis and adding emotional information about the user based on the analysis results, and means for calculating a suitability score for the applications in consideration of the emotional information, thereby enabling more personalized application suggestions according to the user's emotions.

[0579] A "user" is a person who uses the system to provide input information.

[0580] "Input" refers to text or voice data that a user provides to the system using a terminal.

[0581] "Analysis" is a method of processing received input information based on natural language processing and sentiment analysis to extract keywords, intent, and emotional state.

[0582] An "application" is software or a service offered based on a user's needs and desires.

[0583] "Search" is the process of finding suitable applications from the database based on the analysis results.

[0584] "Selection" is the process of selecting applications to suggest to users based on search results.

[0585] "Display" is the process of visually presenting information about a selected application to a user.

[0586] "Emotion analysis" is the process of identifying a user's emotional state based on their input and adding the results to the analysis data.

[0587] The "suitability score" is a numerical representation of the suitability of an application, and is calculated taking into account the user's emotional information.

[0588] The system that realizes this application example is configured as follows: A user provides input information using a terminal. The input information is sent to the system as text or voice data. The terminal sends this input information to a server, which then analyzes the received input information.

[0589] The server uses a natural language processing (NLP) engine built using the Python programming language to extract keywords and intent from input information. This engine uses the TextBlob and Hugging Face Transformers libraries. It also incorporates an emotion engine for sentiment analysis, identifying the user's emotional state from the content and tone of their input and adding emotional information to the analysis results.

[0590] After the analysis is complete, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains descriptions, ratings, and captured images of various applications. The server calculates a relevance score and ranks the applications, taking into account the user's emotional information. The top-ranked applications are selected and their information is sent to the device. The device then displays information about the selected applications to the user.

[0591] As a concrete example, consider a case where a user types in "I want a camera to protect my home" and expresses anxiety. The server extracts the keywords "camera" and "protect my home," and the emotion engine identifies the emotion "anxiety." The server then uses this information to search its database and find a suitable product, such as a "home security camera," specifically designed to alleviate the user's anxiety.

[0592] An example of a prompt is: "The user is concerned about the security measures in their home. Please suggest a suitable security product."

[0593] The system will provide more precise and personalized application suggestions based on user input and emotional information, allowing users to quickly and accurately find the applications and services that best suit their emotional state.

[0594] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0595] Step 1:

[0596] The user provides input information using a terminal. The user enters their needs and desires as text or voice data into a chat box. The input data is sent directly to the server. The input is specific, such as "I want a camera to protect my home."

[0597] Step 2:

[0598] The server passes the received input information to the natural language processing engine, which uses TextBlob and the Transformers library to extract keywords and intent from the input. It analyzes the input data (e.g., the text "I want a camera to protect my home.") and extracts keywords (e.g., "camera" and "protect my home") and intent.

[0599] Step 3:

[0600] The server passes the input information to the sentiment analysis engine. The sentiment analysis engine uses the Transformers library to recognize emotional information from the tone and content of the user's input. It analyzes the input data (e.g., the text "I want a camera to protect my home. I feel very anxious.") and extracts emotional data (e.g., "anxiety").

[0601] Step 4:

[0602] The server searches for relevant applications from a database based on the analyzed keywords and emotion information. The database contains application descriptions, ratings, captured images, etc. The server uses the input keywords and emotion data to search for appropriate application categories (e.g., "home security cameras") and generates a list of matching applications.

[0603] Step 5:

[0604] The server evaluates related applications using a relevance score. The relevance score is calculated based on the degree of keyword matching and the degree of response to user emotions. The server calculates the relevance of each application in the extracted application list and assigns a score. The score also includes emotional information (e.g., "anxiety").

[0605] Step 6:

[0606] The server ranks the applications based on their relevance scores and selects the top N applications. It then selects the top N applications from the ranked list and formats this information.

[0607] Step 7:

[0608] The server sends information about the selected application to the device. The device then displays the received application information to the user. The displayed information includes the application name, description, rating, download link, etc. The user can then select and use the most suitable application based on this information.

[0609] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0610] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0611] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0612] [Third embodiment]

[0613] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0614] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.

[0615] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0616] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[0617] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0618] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0619] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0620] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0621] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0622] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0623] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0624] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0625] The present invention is a system that proposes optimal applications based on information entered by a user. The program processing of this system will be explained below in natural language.

[0626] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0627] For example, if a user inputs "I want to share and manage tasks with the whole family," the server analyzes this input and extracts the keywords "task management" and "family sharing."The server then searches the database for relevant applications based on these keywords.

[0628] The application data obtained from the search results includes descriptions, captcha images, review ratings, etc. The server uses this data to calculate a relevance score for each application, which indicates how well it matches the user's needs.

[0629] Once the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is used to display the most suitable applications to the user at the top. Once the top-ranked applications are selected, the information is reformatted and sent to the device. Finally, the device displays information about the selected applications to the user. This display includes the application name, description, rating, and download link.

[0630] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which then uses a natural language processing engine to extract the keywords "pet," "raise," and "leisurely."

[0631] The server then uses these keywords to search for relevant applications in its database. For example, it searches for applications in categories such as "pet raising games" and "relaxing games." The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, this information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0632] This series of processes allows users to efficiently and quickly find the application that best suits their needs. Because the server and terminal cooperate to provide the optimal application that meets the user's needs, it is expected to significantly reduce the user's search time and increase satisfaction.

[0633] The processing flow will be explained below.

[0634] Step 1:

[0635] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0636] Step 2:

[0637] The device sends the user's input to the server via an API, including the text entered in the chat box.

[0638] Step 3:

[0639] The server passes the received input data to a natural language processing engine, which performs text analysis and extracts semantic content and intent from the input.

[0640] Step 4:

[0641] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0642] Step 5:

[0643] The server uses the extracted keywords to search for related applications in a database that contains pre-stored data such as application descriptions, captured images, and review ratings.

[0644] Step 6:

[0645] The server retrieves data on multiple applications from the search results and calculates a relevance score for each application, which is an index that evaluates the degree to which each application matches the user's needs.

[0646] Step 7:

[0647] The server ranks the applications based on their relevance scores and selects the top N applications, where the most suitable applications for the user are ranked at the top.

[0648] Step 8:

[0649] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0650] Step 9:

[0651] The server sends the formatted data to the device, which includes information about the selected application.

[0652] Step 10:

[0653] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0654] This process allows users to easily find the application that best suits their needs.

[0655] Example 1

[0656] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0657] The purpose of this system is to solve the problem of users finding the application that best suits their needs and desires quickly and accurately. Conventional methods require users to search through a vast number of applications on their own, which results in a long time required to find the appropriate application and a decrease in satisfaction.

[0658] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0659] In this invention, the server includes means for analyzing user input using a natural language processing engine, means for searching for related applications in a database based on the analysis results, and means for calculating a relevance score for the search results, thereby enabling the server to quickly and accurately suggest applications that best suit the user's needs.

[0660] "User" refers to a person who uses the system to find applications that meet their needs and desires.

[0661] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.

[0662] A "server" refers to a computer system that receives input data from a terminal and performs analysis and search processing.

[0663] A "natural language processing engine" refers to software that analyzes a user's text input and extracts keywords and intent.

[0664] "Database" refers to an information storage system in which information about related applications is stored.

[0665] The "relevance score" refers to an evaluation value that indicates how closely the application in the search results matches the user's needs.

[0666] "Ranking" refers to a list of applications sorted based on their relevance scores.

[0667] "Generative AI model" refers to the artificial intelligence model used to calculate relevance scores and generate rankings.

[0668] A "prompt sentence" refers to an instruction sentence used when a user inputs specific information into a system.

[0669] The present invention is a system that proposes optimal applications based on information entered by a user. This system is primarily composed of a terminal and a server. The software used includes a natural language processing engine and a database management system.

[0670] First, a user uses their device to input their needs and wishes into a chat box. For example, they might type, "I want to share and manage tasks with the whole family." This input is sent from the device to the server. The server receives an HTTP POST request and uses a natural language processing engine (e.g., TensorFlow or SpaCy) to analyze the user's input data. The natural language processing engine extracts keywords and intent from the input text; in the example above, the keywords "task management" and "family sharing" are extracted.

[0671] Next, the server searches for relevant applications in a database based on the extracted keywords. The database uses a relational database system such as MySQL or PostgreSQL. The server executes an SQL query to retrieve information about the relevant applications, including descriptions, captcha images, review ratings, etc.

[0672] Based on the search results, the server calculates a relevance score for each application using machine learning algorithms such as random forests and support vector machines. The relevance score evaluates how well the application matches the user's needs.

[0673] After the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is presented in a list, sorted to display the most suitable applications at the top. A sorting algorithm such as quick sort or merge sort is used to generate the ranking.

[0674] Once the rankings are generated, the server sends this information back to the device, which then analyzes the data and displays the application information in an appropriate layout for the user interface. This display uses HTML and CSS to show the user the application name, description, rating, and download link.

[0675] As a concrete example, if a user is looking for a "game where you can leisurely raise a cute pet," they would input "a game where you can leisurely raise a cute pet." This input is sent to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed." Based on the extracted keywords, a search is made for related applications in the database, and applications in the categories of "pet raising games" and "relaxed games" are displayed. A ranking is created based on the search results, and the information sent to the device is displayed to the user.

[0676] In this way, users can efficiently find the application that best suits their needs.

[0677] (Example prompt):

[0678] "I'm looking for a game where I can leisurely raise a cute pet. Can you tell me which application is best?"

[0679] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0680] Step 1:

[0681] A user uses a terminal to enter text into a chat box.

[0682] Specific actions: The user uses the device keyboard to specifically input their needs or desires. For example, they might type, "I want to share and manage tasks with the whole family."

[0683] Input: User text input

[0684] Output: Text information entered in the chat box

[0685] Step 2:

[0686] The terminal sends the user's input to the server.

[0687] Specific operation: The terminal sends the user's input text to the server as an HTTP POST request.

[0688] Input: Text information entered in the chat box

[0689] Output: Text data sent to the server

[0690] Step 3:

[0691] The input data received by the server is passed to a natural language processing engine for analysis.

[0692] Specific operation: The server passes the received text data to a natural language processing engine (e.g., TensorFlow or SpaCy) to extract keywords and intent.

[0693] Input: Text data sent to the server

[0694] Output: Extracted keywords and intent

[0695] Step 4:

[0696] The server uses the extracted keywords to search for relevant applications in a database.

[0697] What happens: The server generates an SQL query to search a database management system (e.g., MySQL or PostgreSQL) for relevant application information.

[0698] Input: Extracted keywords and intent

[0699] Output: Application information obtained as search results (description, capture image, review rating, etc.)

[0700] Step 5:

[0701] The server calculates a relevance score for each application based on the search results.

[0702] How it works: The server uses machine learning algorithms (e.g., random forests, support vector machines) to calculate a fitness score for each application.

[0703] Input: Application information obtained as search results

[0704] Output: The calculated relevance score

[0705] Step 6:

[0706] The server generates a ranking of the applications based on the relevance scores.

[0707] Specific operation: The server generates a ranking using a sorting algorithm (e.g., quick sort, merge sort) based on the calculated relevance scores.

[0708] Input: The calculated relevance score

[0709] Output: Generated application rankings

[0710] Step 7:

[0711] The server transmits the ranking information to the terminal.

[0712] Specific operation: The server sends the generated ranking data in JSON format to the terminal.

[0713] Input: Generated application rankings

[0714] Output: Ranking data sent to the terminal

[0715] Step 8:

[0716] The terminal analyzes the received ranking information and displays it on the user interface.

[0717] Specific operation: The device parses the received ranking data and displays it in a format suitable for the user interface using HTML and CSS, such as the application name, description, rating, and download link.

[0718] Input: Ranking data sent to the terminal

[0719] Output: Application information displayed on the user interface

[0720] This process allows users to quickly and accurately find the application that best suits their needs.

[0721] (Application example 1)

[0722] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0723] Conventional systems that enable users to efficiently find products and services that meet their needs have had the challenge of accurately analyzing the information entered by the user and making optimal suggestions based on the results. In particular, the limitations of natural language processing technology and the appropriate calculation and display of relevance scores have been problematic.

[0724] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0725] In this invention, the server includes means for accepting user input, means for transmitting the accepted input to a natural language processing engine for analysis, means for searching for products and services based on the analysis results, means for evaluating the search results based on a suitability score and creating a ranking, and means for displaying information on the top-ranked products and services to the user, thereby enabling efficient proposal of optimal products and services based on the needs and desires entered by the user.

[0726] The "means for accepting user input" is an interface for the user to input information about the product or service they desire.

[0727] The "means for transmitting to a natural language processing engine for analysis" has a function of transmitting the received user input information to a natural language processing engine and analyzing the input content.

[0728] "Means for searching for products and services" refers to the system function for locating related products and services in the database based on the analysis results.

[0729] The "means for evaluating and creating rankings based on suitability scores" is a function for evaluating the products and services from the search results that best suit the user's needs and ranking them based on their importance.

[0730] The "means for displaying information about top-ranked products and services to the user" is an interface for displaying detailed information about products and services that have been ranked highly based on evaluations to the user.

[0731] A "generative AI model" is a type of advanced artificial intelligence algorithm used for natural language processing and analyzing extracted data.

[0732] A "prompt" is text that defines the format of instructions or questions to be asked to a generative AI model when analyzing input data.

[0733] The present invention is a system for proposing optimal products and services based on user input, and is particularly effective for online shopping sites. The system includes the following means.

[0734] First, a user uses a terminal to input the desired product or service requirements into a chat box. For example, they might input, "I'm looking for a black leather wallet." This input is received through a chat box interface on a smartphone or tablet.

[0735] The received input is then sent to a server, which passes it to a natural language processing engine (e.g., one that utilizes a generative AI model) for analysis. This engine is typically OpenAI's GPT-3 or Google's BERT.

[0736] The natural language processing engine extracts keywords and intent from user input. Here, the prompt sentence "Please extract keywords from the following sentence: 'I am looking for a black leather wallet'" is input to the generative AI model.

[0737] Based on the extracted keywords (in this case, "leather," "black," and "wallet"), the server searches for relevant products and services in a database (e.g., MySQL or Elasticsearch) that contains detailed product and service information.

[0738] The search results are returned as a dataset containing product descriptions, images, review ratings, etc. Using this data, the server calculates a relevance score for each product, which is a numerical representation of how well the product matches the user's needs.

[0739] A ranking of products and services is created based on the relevance scores. The top-ranked products and services are selected, and the information is reformatted and sent to the device. Finally, the device displays information about the selected products or services to the user. This display includes the product name, description, rating, link, etc.

[0740] For example, if a user types in "I'm looking for a bicycle maintenance kit," the natural language processing engine will extract the keywords "bicycle" and "maintenance kit" and create a ranking based on related products. The top-ranked information received from the server will ultimately be displayed on the user's device.

[0741] As a result, a system is realized that allows users to efficiently find products and services that best suit their needs.

[0742] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0743] Step 1:

[0744] The user uses the terminal to input desired product or service requirements into the chat box. For example, the user inputs "I'm looking for a black leather wallet." This text input data is sent to the server by the terminal.

[0745] Input: User text input (e.g., "I'm looking for a black leather wallet")

[0746] Output: Sends text input data to the server

[0747] Step 2:

[0748] The server sends the received input data to a natural language processing engine for analysis, using a generative AI model (such as OpenAI's GPT-3) to extract keywords and intent from the input text.

[0749] Input: Text input data (e.g., "I'm looking for a black leather wallet")

[0750] Output: Extracted keywords (e.g., "leather," "black," "wallet")

[0751] Step 3:

[0752] The server uses the extracted keywords to search for related products and services in a database where detailed information about the products and services is stored (e.g., MySQL, Elasticsearch).

[0753] Input: Extracted keywords (e.g., "leather," "black," "wallet")

[0754] Output: A data list of related products and services

[0755] Step 4:

[0756] The server retrieves data such as product descriptions, images, and review ratings from the search results, and uses this data to calculate a relevance score for each product.

[0757] Input: Data list of products and services

[0758] Output: Relevance score for each product or service

[0759] Step 5:

[0760] The server ranks the products and services based on their relevance scores, and the top-ranked products and services are selected.

[0761] Input: Relevance score for each product or service

[0762] Output: Ranking list

[0763] Step 6:

[0764] The server formats and sends information about the top-ranked products and services to the terminal, which then displays this information to the user. This display includes the product name, description, rating, link, etc.

[0765] Input: Ranking list

[0766] Output: Formatted information displayed to the user (e.g. product name, description, rating, link)

[0767] Through the above processing steps, users can efficiently find the products and services that best suit their needs.

[0768] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0769] The present invention provides a system that proposes optimal applications based on user input information, and also combines it with an emotion engine that recognizes the user's emotions to provide more personalized proposals. Below, the program processing of this system is explained in natural language.

[0770] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0771] It also incorporates an emotion engine that recognizes emotions from the content and tone of user input. For example, if the user is feeling stressed, the emotion engine will detect this and include emotional information in the analysis results. This emotional information is taken into account in the application selection process.

[0772] Next, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains information such as application descriptions, captured images, and review ratings. The server receives the search results and calculates a relevance score for each application. This relevance score also reflects the user's emotional information.

[0773] For example, if a user inputs "I want to share and manage tasks with the whole family," and the emotion engine recognizes that the user is seeking a sense of security, the server will prioritize and recommend applications that provide a relaxing user experience in addition to "task management" and "family sharing."

[0774] Once the relevance scores are calculated, the server ranks the applications based on these scores and selects the top N applications. This ranking is used to display the most suitable applications for the user. Once the top-ranked applications are selected, their information is reformatted and sent to the device. Finally, the device displays the selected application information to the user. This display includes the application name, description, rating, and download link.

[0775] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed," and also uses an emotion engine to recognize the user's desire to relax.

[0776] The server then searches for related applications in its database based on these keywords and emotion information. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0777] This series of processes allows users to easily find the application that best suits their needs and emotions. The present invention is a system that recognizes the user's emotions and reflects them in the analysis results to provide more personalized suggestions, which is expected to significantly reduce users' search time and increase their satisfaction.

[0778] The processing flow will be explained below.

[0779] Step 1:

[0780] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0781] Step 2:

[0782] The device sends the user's input to the server via the API, including the text data entered in the chat box.

[0783] Step 3:

[0784] The server passes the received input data to a natural language processing engine for text analysis, which extracts semantic content and intent.

[0785] Step 4:

[0786] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0787] Step 5:

[0788] The server passes the received input data to the emotion engine, which recognizes emotions from the user's input. The emotion engine extracts emotion data from the content and tone of the user's input.

[0789] Step 6:

[0790] The server uses the extracted keywords and emotion data to search for related applications in a database that contains data such as application descriptions, captured images, and review ratings.

[0791] Step 7:

[0792] The server calculates a relevance score for each application's data retrieved from the search results. The relevance score is an index that evaluates the degree to which each application matches the user's needs and emotion data.

[0793] Step 8:

[0794] The server ranks the applications based on their relevance scores and selects the top N applications, with the most suitable applications for the user ranked at the top.

[0795] Step 9:

[0796] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0797] Step 10:

[0798] The server sends the formatted data to the device, which includes information about the selected application.

[0799] Step 11:

[0800] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0801] For example, if a user is looking for a "game where you can leisurely raise a cute pet," the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxing," and uses an emotion engine to recognize the user's desire to relax.

[0802] The server then searches for related applications in its database based on these keywords and emotion data. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0803] This process allows users to easily find the application that best suits their needs and feelings.

[0804] Example 2

[0805] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0806] Conventional application suggestion systems have difficulty not only providing applications that meet user needs but also making personalized suggestions based on user emotions. Furthermore, the search process to find an appropriate application takes time for users, resulting in a decrease in ultimate satisfaction.

[0807] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing a user's input by natural language processing and extracting keywords and intentions, means for recognizing the user's emotions by an emotion analysis engine, and means for searching for related application data from a database based on the extracted keywords and emotion information. This makes it possible to make suggestions that take the user's emotion information into consideration, and to enable the user to quickly and reliably find the application they want, thereby increasing their satisfaction.

[0808] A "means for accepting user input" is the interface that a user uses to communicate their needs and desires to the system.

[0809] The "means for transmitting the received input data to the server" refers to a communication protocol and mechanism for transmitting data input by the user from the terminal to the server.

[0810] The "means for analyzing input data by natural language processing in the server and extracting keywords and intentions" is a natural language processing technology for analyzing the text of user input data and extracting important keywords and their intentions.

[0811] The "means for recognizing user emotions by an emotion analysis engine in the server" refers to algorithms and techniques for analyzing the content and tone of a user's input and identifying their emotional state.

[0812] The "means for searching for relevant application data from a database based on the extracted keywords and emotion information" refers to a search algorithm and technology for searching for relevant application information from a database based on the identified keywords and emotion information.

[0813] The "means for calculating a suitability score based on the search results and ranking the applications to be suggested to the user" is a calculation mechanism for finding appropriate applications from the search results, quantifying their suitability, and displaying it as a ranking.

[0814] The "means for transmitting information about the selected application to the user's terminal" is a communication protocol for transferring details of the selected application from the server to the user's terminal.

[0815] The "means for displaying the transmitted application information to the user" refers to an interface for visually displaying the application information received from the server on the user's terminal.

[0816] This invention is a system that suggests optimal applications based on user input information and provides more personalized suggestions by taking into account the user's emotional information. This system includes a series of processes: accepting user input, sending the data to a server, analyzing and recognizing emotions, and selecting and presenting optimal applications.

[0817] First, the user uses the device to input their needs and desires into the chat box. For example, they might type, "I'm looking for an app to help me concentrate." The device then sends this input data to the server. The input data is sent in JSON format using an HTTP POST request.

[0818] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input. This natural language processing engine can use Python's NLTK, a common text analysis library. For example, keywords such as "concentration," "increase," and "app" can be extracted.

[0819] The server also includes a sentiment analysis engine that recognizes emotions based on the content and tone of user input, using services such as the Google Cloud Natural Language API. For example, the engine can recognize when a user is feeling impatient.

[0820] Next, the server searches for relevant application data from a database based on the extracted keywords and emotion information. The database stores detailed application information, captured images, review ratings, etc., and can use a database management system such as MySQL. The server receives the search results and calculates a relevance score for each application. This score also reflects the user's emotion information.

[0821] Once the relevance scores have been calculated, the server ranks the applications based on these scores and selects the top N applications. For ranking, a weighted scoring method can be used, for example. The selected application information is formatted and sent to the device as an HTTP response, formatted in a visually appealing HTML format.

[0822] Finally, the device displays information about the selected application to the user, such as a message saying, "The 'Concentration Improvement App' is perfect. Here's the download link." This display includes the application's name, description, rating, and download link.

[0823] This process is expected to enable users to quickly and reliably find the application that best suits their needs and feelings, thereby increasing user satisfaction.

[0824] Prompt Sentence Examples

[0825] "We want to implement a process that can better understand the applications users are looking for and suggest the most suitable apps, taking their emotions into consideration."

[0826] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0827] Step 1:

[0828] The user uses the terminal to input their needs and desires into a chat box.

[0829] Input: User types, "I want an app that helps me focus."

[0830] Output: The chat box input data is generated.

[0831] Specific behavior: The user uses the keyboard to enter text into the device's chat box and presses the send button.

[0832] Step 2:

[0833] The terminal sends the input data to the server.

[0834] Input: The input data for the chat box generated in the previous step.

[0835] Output: The input data sent to the server (HTTP POST request in JSON format).

[0836] Specific operation: The device packages input data as an HTTP request and sends it to the server over the network.

[0837] Step 3:

[0838] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input.

[0839] Input: Input data in JSON format sent from the terminal.

[0840] Output: Extracted keywords and intents (e.g., "focus," "enhance," "app").

[0841] What it does: The server uses Python's NLTK library to analyze the text and extract important keywords and intent.

[0842] Step 4:

[0843] The server uses a sentiment analysis engine to recognize the user's sentiment.

[0844] Input: Input data sent from the terminal and extracted keywords.

[0845] Output: User's emotional information (e.g., "impatience").

[0846] How it works: The server sends input data to the Google Cloud Natural Language API and receives emotion recognition results, which indicate the user's emotional state as a number or category.

[0847] Step 5:

[0848] The server searches the database for relevant application data based on the extracted keywords and emotion information.

[0849] Input: Keywords and sentiment information.

[0850] Output: A list of relevant application data.

[0851] What happens: The server runs an SQL query against the MySQL database to retrieve the relevant application data.

[0852] Step 6:

[0853] The server calculates a relevance score based on the search results and ranks the applications it recommends to the user.

[0854] Input: Application data from search results.

[0855] Output: Relevance scores and rankings of applications.

[0856] How it works: The server uses a proprietary algorithm to calculate the relevance score of applications and generate a ranking. This algorithm weights the ranking based on the user's emotional information and needs.

[0857] Step 7:

[0858] The server transmits information about the selected application to the terminal.

[0859] Input: Relevance scores and ranking information.

[0860] Output: Application information (e.g. application name, description, rating, download link) to the user's device.

[0861] Specific operation: The server packages the formatted application information in HTML format and sends it to the terminal as an HTTP response.

[0862] Step 8:

[0863] The terminal displays information about the selected application to the user.

[0864] Input: Application information received from the server.

[0865] Output: The application details that are displayed to the user.

[0866] Specific operation: The device displays the received HTML data in the browser and displays a message to the user such as "The 'Concentration Improvement App' is perfect for you. Here is the download link."

[0867] These steps allow users to quickly and easily find the application that best suits their needs and feelings.

[0868] (Application example 2)

[0869] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[0870] Conventional application suggestion systems make suggestions based solely on user input, making it difficult to provide personalized suggestions that reflect the user's emotions and mental state. In particular, in the case of security services, if a user is feeling anxious, suggestions that do not take those emotions into consideration can lead to a decrease in satisfaction.

[0871] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[0872] In this invention, the server includes means for accepting user input, means for analyzing the accepted input, means for searching for applications based on the analysis results, means for selecting applications to be suggested to the user based on the search results, means for displaying information on the selected applications to the user, means for performing emotion analysis and adding emotional information about the user based on the analysis results, and means for calculating a suitability score for the applications in consideration of the emotional information, thereby enabling more personalized application suggestions according to the user's emotions.

[0873] A "user" is a person who uses the system to provide input information.

[0874] "Input" refers to text or voice data that a user provides to the system using a terminal.

[0875] "Analysis" is a method of processing received input information based on natural language processing and sentiment analysis to extract keywords, intent, and emotional state.

[0876] An "application" is software or a service offered based on a user's needs and desires.

[0877] "Search" is the process of finding suitable applications from the database based on the analysis results.

[0878] "Selection" is the process of selecting applications to suggest to users based on search results.

[0879] "Display" is the process of visually presenting information about a selected application to a user.

[0880] "Emotion analysis" is the process of identifying a user's emotional state based on their input and adding the results to the analysis data.

[0881] The "suitability score" is a numerical representation of the suitability of an application, and is calculated taking into account the user's emotional information.

[0882] The system that realizes this application example is configured as follows: A user provides input information using a terminal. The input information is sent to the system as text or voice data. The terminal sends this input information to a server, which then analyzes the received input information.

[0883] The server uses a natural language processing (NLP) engine built using the Python programming language to extract keywords and intent from input information. This engine uses the TextBlob and Hugging Face Transformers libraries. It also incorporates an emotion engine for sentiment analysis, identifying the user's emotional state from the content and tone of their input and adding emotional information to the analysis results.

[0884] After the analysis is complete, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains descriptions, ratings, and captured images of various applications. The server calculates a relevance score and ranks the applications, taking into account the user's emotional information. The top-ranked applications are selected and their information is sent to the device. The device then displays information about the selected applications to the user.

[0885] As a concrete example, consider a case where a user types in "I want a camera to protect my home" and expresses anxiety. The server extracts the keywords "camera" and "protect my home," and the emotion engine identifies the emotion "anxiety." The server then uses this information to search its database and find a suitable product, such as a "home security camera," specifically designed to alleviate the user's anxiety.

[0886] An example of a prompt is: "The user is concerned about the security measures in their home. Please suggest a suitable security product."

[0887] The system will provide more precise and personalized application suggestions based on user input and emotional information, allowing users to quickly and accurately find the applications and services that best suit their emotional state.

[0888] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0889] Step 1:

[0890] The user provides input information using a terminal. The user enters their needs and desires as text or voice data into a chat box. The input data is sent directly to the server. The input is specific, such as "I want a camera to protect my home."

[0891] Step 2:

[0892] The server passes the received input information to the natural language processing engine, which uses TextBlob and the Transformers library to extract keywords and intent from the input. It analyzes the input data (e.g., the text "I want a camera to protect my home.") and extracts keywords (e.g., "camera" and "protect my home") and intent.

[0893] Step 3:

[0894] The server passes the input information to the sentiment analysis engine. The sentiment analysis engine uses the Transformers library to recognize emotional information from the tone and content of the user's input. It analyzes the input data (e.g., the text "I want a camera to protect my home. I feel very anxious.") and extracts emotional data (e.g., "anxiety").

[0895] Step 4:

[0896] The server searches for relevant applications from a database based on the analyzed keywords and emotion information. The database contains application descriptions, ratings, captured images, etc. The server uses the input keywords and emotion data to search for appropriate application categories (e.g., "home security cameras") and generates a list of matching applications.

[0897] Step 5:

[0898] The server evaluates related applications using a relevance score. The relevance score is calculated based on the degree of keyword matching and the degree of response to user emotions. The server calculates the relevance of each application in the extracted application list and assigns a score. The score also includes emotional information (e.g., "anxiety").

[0899] Step 6:

[0900] The server ranks the applications based on their relevance scores and selects the top N applications. It then selects the top N applications from the ranked list and formats this information.

[0901] Step 7:

[0902] The server sends information about the selected application to the device. The device then displays the received application information to the user. The displayed information includes the application name, description, rating, download link, etc. The user can then select and use the most suitable application based on this information.

[0903] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0904] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0905] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[0906] [Fourth embodiment]

[0907] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[0908] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[0909] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0910] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[0911] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0912] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0913] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0914] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[0915] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0916] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0917] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0918] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0919] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[0920] The present invention is a system that proposes optimal applications based on information entered by a user. The program processing of this system will be explained below in natural language.

[0921] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[0922] For example, if a user inputs "I want to share and manage tasks with the whole family," the server analyzes this input and extracts the keywords "task management" and "family sharing."The server then searches the database for relevant applications based on these keywords.

[0923] The application data obtained from the search results includes descriptions, captcha images, review ratings, etc. The server uses this data to calculate a relevance score for each application, which indicates how well it matches the user's needs.

[0924] Once the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is used to display the most suitable applications to the user at the top. Once the top-ranked applications are selected, the information is reformatted and sent to the device. Finally, the device displays information about the selected applications to the user. This display includes the application name, description, rating, and download link.

[0925] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which then uses a natural language processing engine to extract the keywords "pet," "raise," and "leisurely."

[0926] The server then uses these keywords to search for relevant applications in its database. For example, it searches for applications in categories such as "pet raising games" and "relaxing games." The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, this information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[0927] This series of processes allows users to efficiently and quickly find the application that best suits their needs. Because the server and terminal cooperate to provide the optimal application that meets the user's needs, it is expected to significantly reduce the user's search time and increase satisfaction.

[0928] The processing flow will be explained below.

[0929] Step 1:

[0930] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[0931] Step 2:

[0932] The device sends the user's input to the server via an API, including the text entered in the chat box.

[0933] Step 3:

[0934] The server passes the received input data to a natural language processing engine, which performs text analysis and extracts semantic content and intent from the input.

[0935] Step 4:

[0936] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[0937] Step 5:

[0938] The server uses the extracted keywords to search for related applications in a database that contains pre-stored data such as application descriptions, captured images, and review ratings.

[0939] Step 6:

[0940] The server retrieves data on multiple applications from the search results and calculates a relevance score for each application, which is an index that evaluates the degree to which each application matches the user's needs.

[0941] Step 7:

[0942] The server ranks the applications based on their relevance scores and selects the top N applications, where the most suitable applications for the user are ranked at the top.

[0943] Step 8:

[0944] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[0945] Step 9:

[0946] The server sends the formatted data to the device, which includes information about the selected application.

[0947] Step 10:

[0948] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[0949] This process allows users to easily find the application that best suits their needs.

[0950] Example 1

[0951] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[0952] The purpose of this system is to solve the problem of users finding the application that best suits their needs and desires quickly and accurately. Conventional methods require users to search through a vast number of applications on their own, which results in a long time required to find the appropriate application and a decrease in satisfaction.

[0953] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0954] In this invention, the server includes means for analyzing user input using a natural language processing engine, means for searching for related applications in a database based on the analysis results, and means for calculating a relevance score for the search results, thereby enabling the server to quickly and accurately suggest applications that best suit the user's needs.

[0955] "User" refers to a person who uses the system to find applications that meet their needs and desires.

[0956] "Terminal" refers to a device used by a user, such as a computer, smartphone, or tablet.

[0957] A "server" refers to a computer system that receives input data from a terminal and performs analysis and search processing.

[0958] A "natural language processing engine" refers to software that analyzes a user's text input and extracts keywords and intent.

[0959] "Database" refers to an information storage system in which information about related applications is stored.

[0960] The "relevance score" refers to an evaluation value that indicates how closely the application in the search results matches the user's needs.

[0961] "Ranking" refers to a list of applications sorted based on their relevance scores.

[0962] "Generative AI model" refers to the artificial intelligence model used to calculate relevance scores and generate rankings.

[0963] A "prompt sentence" refers to an instruction sentence used when a user inputs specific information into a system.

[0964] The present invention is a system that proposes optimal applications based on information entered by a user. This system is primarily composed of a terminal and a server. The software used includes a natural language processing engine and a database management system.

[0965] First, a user uses their device to input their needs and wishes into a chat box. For example, they might type, "I want to share and manage tasks with the whole family." This input is sent from the device to the server. The server receives an HTTP POST request and uses a natural language processing engine (e.g., TensorFlow or SpaCy) to analyze the user's input data. The natural language processing engine extracts keywords and intent from the input text; in the example above, the keywords "task management" and "family sharing" are extracted.

[0966] Next, the server searches for relevant applications in a database based on the extracted keywords. The database uses a relational database system such as MySQL or PostgreSQL. The server executes an SQL query to retrieve information about the relevant applications, including descriptions, captcha images, review ratings, etc.

[0967] Based on the search results, the server calculates a relevance score for each application using machine learning algorithms such as random forests and support vector machines. The relevance score evaluates how well the application matches the user's needs.

[0968] After the relevance scores are calculated, the server creates a ranking of the applications based on these scores. This ranking is presented in a list, sorted to display the most suitable applications at the top. A sorting algorithm such as quick sort or merge sort is used to generate the ranking.

[0969] Once the rankings are generated, the server sends this information back to the device, which then analyzes the data and displays the application information in an appropriate layout for the user interface. This display uses HTML and CSS to show the user the application name, description, rating, and download link.

[0970] As a concrete example, if a user is looking for a "game where you can leisurely raise a cute pet," they would input "a game where you can leisurely raise a cute pet." This input is sent to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed." Based on the extracted keywords, a search is made for related applications in the database, and applications in the categories of "pet raising games" and "relaxed games" are displayed. A ranking is created based on the search results, and the information sent to the device is displayed to the user.

[0971] In this way, users can efficiently find the application that best suits their needs.

[0972] (Example prompt):

[0973] "I'm looking for a game where I can leisurely raise a cute pet. Can you tell me which application is best?"

[0974] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0975] Step 1:

[0976] A user uses a terminal to enter text into a chat box.

[0977] Specific actions: The user uses the device keyboard to specifically input their needs or desires. For example, they might type, "I want to share and manage tasks with the whole family."

[0978] Input: User text input

[0979] Output: Text information entered in the chat box

[0980] Step 2:

[0981] The terminal sends the user's input to the server.

[0982] Specific operation: The terminal sends the user's input text to the server as an HTTP POST request.

[0983] Input: Text information entered in the chat box

[0984] Output: Text data sent to the server

[0985] Step 3:

[0986] The input data received by the server is passed to a natural language processing engine for analysis.

[0987] Specific operation: The server passes the received text data to a natural language processing engine (e.g., TensorFlow or SpaCy) to extract keywords and intent.

[0988] Input: Text data sent to the server

[0989] Output: Extracted keywords and intent

[0990] Step 4:

[0991] The server uses the extracted keywords to search for relevant applications in a database.

[0992] What happens: The server generates an SQL query to search a database management system (e.g., MySQL or PostgreSQL) for relevant application information.

[0993] Input: Extracted keywords and intent

[0994] Output: Application information obtained as search results (description, capture image, review rating, etc.)

[0995] Step 5:

[0996] The server calculates a relevance score for each application based on the search results.

[0997] How it works: The server uses machine learning algorithms (e.g., random forests, support vector machines) to calculate a fitness score for each application.

[0998] Input: Application information obtained as search results

[0999] Output: The calculated relevance score

[1000] Step 6:

[1001] The server generates a ranking of the applications based on the relevance scores.

[1002] Specific operation: The server generates a ranking using a sorting algorithm (e.g., quick sort, merge sort) based on the calculated relevance scores.

[1003] Input: The calculated relevance score

[1004] Output: Generated application rankings

[1005] Step 7:

[1006] The server transmits the ranking information to the terminal.

[1007] Specific operation: The server sends the generated ranking data in JSON format to the terminal.

[1008] Input: Generated application rankings

[1009] Output: Ranking data sent to the terminal

[1010] Step 8:

[1011] The terminal analyzes the received ranking information and displays it on the user interface.

[1012] Specific operation: The device parses the received ranking data and displays it in a format suitable for the user interface using HTML and CSS, such as the application name, description, rating, and download link.

[1013] Input: Ranking data sent to the terminal

[1014] Output: Application information displayed on the user interface

[1015] This process allows users to quickly and accurately find the application that best suits their needs.

[1016] (Application example 1)

[1017] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1018] Conventional systems that enable users to efficiently find products and services that meet their needs have had the challenge of accurately analyzing the information entered by the user and making optimal suggestions based on the results. In particular, the limitations of natural language processing technology and the appropriate calculation and display of relevance scores have been problematic.

[1019] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1020] In this invention, the server includes means for accepting user input, means for transmitting the accepted input to a natural language processing engine for analysis, means for searching for products and services based on the analysis results, means for evaluating the search results based on a suitability score and creating a ranking, and means for displaying information on the top-ranked products and services to the user, thereby enabling efficient proposal of optimal products and services based on the needs and desires entered by the user.

[1021] The "means for accepting user input" is an interface for the user to input information about the product or service they desire.

[1022] The "means for transmitting to a natural language processing engine for analysis" has a function of transmitting the received user input information to a natural language processing engine and analyzing the input content.

[1023] "Means for searching for products and services" refers to the system function for locating related products and services in the database based on the analysis results.

[1024] The "means for evaluating and creating rankings based on suitability scores" is a function for evaluating the products and services from the search results that best suit the user's needs and ranking them based on their importance.

[1025] The "means for displaying information about top-ranked products and services to the user" is an interface for displaying detailed information about products and services that have been ranked highly based on evaluations to the user.

[1026] A "generative AI model" is a type of advanced artificial intelligence algorithm used for natural language processing and analyzing extracted data.

[1027] A "prompt" is text that defines the format of instructions or questions to be asked to a generative AI model when analyzing input data.

[1028] The present invention is a system for proposing optimal products and services based on user input, and is particularly effective for online shopping sites. The system includes the following means.

[1029] First, a user uses a terminal to input the desired product or service requirements into a chat box. For example, they might input, "I'm looking for a black leather wallet." This input is received through a chat box interface on a smartphone or tablet.

[1030] The received input is then sent to a server, which passes it to a natural language processing engine (e.g., one that utilizes a generative AI model) for analysis. This engine is typically OpenAI's GPT-3 or Google's BERT.

[1031] The natural language processing engine extracts keywords and intent from user input. Here, the prompt sentence "Please extract keywords from the following sentence: 'I am looking for a black leather wallet'" is input to the generative AI model.

[1032] Based on the extracted keywords (in this case, "leather," "black," and "wallet"), the server searches for relevant products and services in a database (e.g., MySQL or Elasticsearch) that contains detailed product and service information.

[1033] The search results are returned as a dataset containing product descriptions, images, review ratings, etc. Using this data, the server calculates a relevance score for each product, which is a numerical representation of how well the product matches the user's needs.

[1034] A ranking of products and services is created based on the relevance scores. The top-ranked products and services are selected, and the information is reformatted and sent to the device. Finally, the device displays information about the selected products or services to the user. This display includes the product name, description, rating, link, etc.

[1035] For example, if a user types in "I'm looking for a bicycle maintenance kit," the natural language processing engine will extract the keywords "bicycle" and "maintenance kit" and create a ranking based on related products. The top-ranked information received from the server will ultimately be displayed on the user's device.

[1036] As a result, a system is realized that allows users to efficiently find products and services that best suit their needs.

[1037] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1038] Step 1:

[1039] The user uses the terminal to input desired product or service requirements into the chat box. For example, the user inputs "I'm looking for a black leather wallet." This text input data is sent to the server by the terminal.

[1040] Input: User text input (e.g., "I'm looking for a black leather wallet")

[1041] Output: Sends text input data to the server

[1042] Step 2:

[1043] The server sends the received input data to a natural language processing engine for analysis, using a generative AI model (such as OpenAI's GPT-3) to extract keywords and intent from the input text.

[1044] Input: Text input data (e.g., "I'm looking for a black leather wallet")

[1045] Output: Extracted keywords (e.g., "leather," "black," "wallet")

[1046] Step 3:

[1047] The server uses the extracted keywords to search for related products and services in a database where detailed information about the products and services is stored (e.g., MySQL, Elasticsearch).

[1048] Input: Extracted keywords (e.g., "leather," "black," "wallet")

[1049] Output: A data list of related products and services

[1050] Step 4:

[1051] The server retrieves data such as product descriptions, images, and review ratings from the search results, and uses this data to calculate a relevance score for each product.

[1052] Input: Data list of products and services

[1053] Output: Relevance score for each product or service

[1054] Step 5:

[1055] The server ranks the products and services based on their relevance scores, and the top-ranked products and services are selected.

[1056] Input: Relevance score for each product or service

[1057] Output: Ranking list

[1058] Step 6:

[1059] The server formats and sends information about the top-ranked products and services to the terminal, which then displays this information to the user. This display includes the product name, description, rating, link, etc.

[1060] Input: Ranking list

[1061] Output: Formatted information displayed to the user (e.g. product name, description, rating, link)

[1062] Through the above processing steps, users can efficiently find the products and services that best suit their needs.

[1063] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1064] The present invention provides a system that proposes optimal applications based on user input information, and also combines it with an emotion engine that recognizes the user's emotions to provide more personalized proposals. Below, the program processing of this system is explained in natural language.

[1065] When a user uses a device to input their needs and desires into a chat box, the device sends the input to a server, which then passes the received input data to a natural language processing engine for analysis, which extracts keywords and intent from the user's input.

[1066] It also incorporates an emotion engine that recognizes emotions from the content and tone of user input. For example, if the user is feeling stressed, the emotion engine will detect this and include emotional information in the analysis results. This emotional information is taken into account in the application selection process.

[1067] Next, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains information such as application descriptions, captured images, and review ratings. The server receives the search results and calculates a relevance score for each application. This relevance score also reflects the user's emotional information.

[1068] For example, if a user inputs "I want to share and manage tasks with the whole family," and the emotion engine recognizes that the user is seeking a sense of security, the server will prioritize and recommend applications that provide a relaxing user experience in addition to "task management" and "family sharing."

[1069] Once the relevance scores are calculated, the server ranks the applications based on these scores and selects the top N applications. This ranking is used to display the most suitable applications for the user. Once the top-ranked applications are selected, their information is reformatted and sent to the device. Finally, the device displays the selected application information to the user. This display includes the application name, description, rating, and download link.

[1070] As a concrete example, consider the case where a user is searching for a "game where you can leisurely raise a cute pet." In this case, the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxed," and also uses an emotion engine to recognize the user's desire to relax.

[1071] The server then searches for related applications in its database based on these keywords and emotion information. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[1072] This series of processes allows users to easily find the application that best suits their needs and emotions. The present invention is a system that recognizes the user's emotions and reflects them in the analysis results to provide more personalized suggestions, which is expected to significantly reduce users' search time and increase their satisfaction.

[1073] The processing flow will be explained below.

[1074] Step 1:

[1075] The user uses the terminal to input information into the chat box, for example, "I want to share and manage tasks with the whole family."

[1076] Step 2:

[1077] The device sends the user's input to the server via the API, including the text data entered in the chat box.

[1078] Step 3:

[1079] The server passes the received input data to a natural language processing engine for text analysis, which extracts semantic content and intent.

[1080] Step 4:

[1081] The server identifies the action the user wants based on the keywords and intent extracted from the analysis results. For example, the keywords "task management" and "family sharing" are extracted.

[1082] Step 5:

[1083] The server passes the received input data to the emotion engine, which recognizes emotions from the user's input. The emotion engine extracts emotion data from the content and tone of the user's input.

[1084] Step 6:

[1085] The server uses the extracted keywords and emotion data to search for related applications in a database that contains data such as application descriptions, captured images, and review ratings.

[1086] Step 7:

[1087] The server calculates a relevance score for each application's data retrieved from the search results. The relevance score is an index that evaluates the degree to which each application matches the user's needs and emotion data.

[1088] Step 8:

[1089] The server ranks the applications based on their relevance scores and selects the top N applications, with the most suitable applications for the user ranked at the top.

[1090] Step 9:

[1091] The server formats and presents information about the selected applications, including their names, descriptions, ratings, and download links.

[1092] Step 10:

[1093] The server sends the formatted data to the device, which includes information about the selected application.

[1094] Step 11:

[1095] The device displays the application information received from the server to the user, for example, "Family Task Manager is the best choice. Here is the download link."

[1096] For example, if a user is looking for a "game where you can leisurely raise a cute pet," the user inputs "a game where you can leisurely raise a cute pet." The device sends this input to the server, which uses a natural language processing engine to extract the keywords "pet," "raise," and "relaxing," and uses an emotion engine to recognize the user's desire to relax.

[1097] The server then searches for related applications in its database based on these keywords and emotion data. For example, applications in the categories "pet raising games" and "relaxing games" are searched for. The search results are evaluated based on a relevance score, and a ranking is created. Once the top-ranked applications are selected, the information is sent to the device, and the user is shown a message saying, "Cute Pet Raising Games is the best choice. Here's the download link."

[1098] This process allows users to easily find the application that best suits their needs and feelings.

[1099] Example 2

[1100] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1101] Conventional application suggestion systems have difficulty not only providing applications that meet user needs but also making personalized suggestions based on user emotions. Furthermore, the search process to find an appropriate application takes time for users, resulting in a decrease in ultimate satisfaction.

[1102] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for analyzing a user's input by natural language processing and extracting keywords and intentions, means for recognizing the user's emotions by an emotion analysis engine, and means for searching for related application data from a database based on the extracted keywords and emotion information. This makes it possible to make suggestions that take the user's emotion information into consideration, and to enable the user to quickly and reliably find the application they want, thereby increasing their satisfaction.

[1103] A "means for accepting user input" is the interface that a user uses to communicate their needs and desires to the system.

[1104] The "means for transmitting the received input data to the server" refers to a communication protocol and mechanism for transmitting data input by the user from the terminal to the server.

[1105] The "means for analyzing input data by natural language processing in the server and extracting keywords and intentions" is a natural language processing technology for analyzing the text of user input data and extracting important keywords and their intentions.

[1106] The "means for recognizing user emotions by an emotion analysis engine in the server" refers to algorithms and techniques for analyzing the content and tone of a user's input and identifying their emotional state.

[1107] The "means for searching for relevant application data from a database based on the extracted keywords and emotion information" refers to a search algorithm and technology for searching for relevant application information from a database based on the identified keywords and emotion information.

[1108] The "means for calculating a suitability score based on the search results and ranking the applications to be suggested to the user" is a calculation mechanism for finding appropriate applications from the search results, quantifying their suitability, and displaying it as a ranking.

[1109] The "means for transmitting information about the selected application to the user's terminal" is a communication protocol for transferring details of the selected application from the server to the user's terminal.

[1110] The "means for displaying the transmitted application information to the user" refers to an interface for visually displaying the application information received from the server on the user's terminal.

[1111] This invention is a system that suggests optimal applications based on user input information and provides more personalized suggestions by taking into account the user's emotional information. This system includes a series of processes: accepting user input, sending the data to a server, analyzing and recognizing emotions, and selecting and presenting optimal applications.

[1112] First, the user uses the device to input their needs and desires into the chat box. For example, they might type, "I'm looking for an app to help me concentrate." The device then sends this input data to the server. The input data is sent in JSON format using an HTTP POST request.

[1113] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input. This natural language processing engine can use Python's NLTK, a common text analysis library. For example, keywords such as "concentration," "increase," and "app" can be extracted.

[1114] The server also includes a sentiment analysis engine that recognizes emotions based on the content and tone of user input, using services such as the Google Cloud Natural Language API. For example, the engine can recognize when a user is feeling impatient.

[1115] Next, the server searches for relevant application data from a database based on the extracted keywords and emotion information. The database stores detailed application information, captured images, review ratings, etc., and can use a database management system such as MySQL. The server receives the search results and calculates a relevance score for each application. This score also reflects the user's emotion information.

[1116] Once the relevance scores have been calculated, the server ranks the applications based on these scores and selects the top N applications. For ranking, a weighted scoring method can be used, for example. The selected application information is formatted and sent to the device as an HTTP response, formatted in a visually appealing HTML format.

[1117] Finally, the device displays information about the selected application to the user, such as a message saying, "The 'Concentration Improvement App' is perfect. Here's the download link." This display includes the application's name, description, rating, and download link.

[1118] This process is expected to enable users to quickly and reliably find the application that best suits their needs and feelings, thereby increasing user satisfaction.

[1119] Prompt Sentence Examples

[1120] "We want to implement a process that can better understand the applications users are looking for and suggest the most suitable apps, taking their emotions into consideration."

[1121] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1122] Step 1:

[1123] The user uses the terminal to input their needs and desires into a chat box.

[1124] Input: User types, "I want an app that helps me focus."

[1125] Output: The chat box input data is generated.

[1126] Specific behavior: The user uses the keyboard to enter text into the device's chat box and presses the send button.

[1127] Step 2:

[1128] The terminal sends the input data to the server.

[1129] Input: The input data for the chat box generated in the previous step.

[1130] Output: The input data sent to the server (HTTP POST request in JSON format).

[1131] Specific operation: The device packages input data as an HTTP request and sends it to the server over the network.

[1132] Step 3:

[1133] The server passes the received data to a natural language processing engine, which extracts keywords and intent from the user's input.

[1134] Input: Input data in JSON format sent from the terminal.

[1135] Output: Extracted keywords and intents (e.g., "focus," "enhance," "app").

[1136] What it does: The server uses Python's NLTK library to analyze the text and extract important keywords and intent.

[1137] Step 4:

[1138] The server uses a sentiment analysis engine to recognize the user's sentiment.

[1139] Input: Input data sent from the terminal and extracted keywords.

[1140] Output: User's emotional information (e.g., "impatience").

[1141] How it works: The server sends input data to the Google Cloud Natural Language API and receives emotion recognition results, which indicate the user's emotional state as a number or category.

[1142] Step 5:

[1143] The server searches the database for relevant application data based on the extracted keywords and emotion information.

[1144] Input: Keywords and sentiment information.

[1145] Output: A list of relevant application data.

[1146] What happens: The server runs an SQL query against the MySQL database to retrieve the relevant application data.

[1147] Step 6:

[1148] The server calculates a relevance score based on the search results and ranks the applications it recommends to the user.

[1149] Input: Application data from search results.

[1150] Output: Relevance scores and rankings of applications.

[1151] How it works: The server uses a proprietary algorithm to calculate the relevance score of applications and generate a ranking. This algorithm weights the ranking based on the user's emotional information and needs.

[1152] Step 7:

[1153] The server transmits information about the selected application to the terminal.

[1154] Input: Relevance scores and ranking information.

[1155] Output: Application information (e.g. application name, description, rating, download link) to the user's device.

[1156] Specific operation: The server packages the formatted application information in HTML format and sends it to the terminal as an HTTP response.

[1157] Step 8:

[1158] The terminal displays information about the selected application to the user.

[1159] Input: Application information received from the server.

[1160] Output: The application details that are displayed to the user.

[1161] Specific operation: The device displays the received HTML data in the browser and displays a message to the user such as "The 'Concentration Improvement App' is perfect for you. Here is the download link."

[1162] These steps allow users to quickly and easily find the application that best suits their needs and feelings.

[1163] (Application example 2)

[1164] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1165] Conventional application suggestion systems make suggestions based solely on user input, making it difficult to provide personalized suggestions that reflect the user's emotions and mental state. In particular, in the case of security services, if a user is feeling anxious, suggestions that do not take those emotions into consideration can lead to a decrease in satisfaction.

[1166] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.

[1167] In this invention, the server includes means for accepting user input, means for analyzing the accepted input, means for searching for applications based on the analysis results, means for selecting applications to be suggested to the user based on the search results, means for displaying information on the selected applications to the user, means for performing emotion analysis and adding emotional information about the user based on the analysis results, and means for calculating a suitability score for the applications in consideration of the emotional information, thereby enabling more personalized application suggestions according to the user's emotions.

[1168] A "user" is a person who uses the system to provide input information.

[1169] "Input" refers to text or voice data that a user provides to the system using a terminal.

[1170] "Analysis" is a method of processing received input information based on natural language processing and sentiment analysis to extract keywords, intent, and emotional state.

[1171] An "application" is software or a service offered based on a user's needs and desires.

[1172] "Search" is the process of finding suitable applications from the database based on the analysis results.

[1173] "Selection" is the process of selecting applications to suggest to users based on search results.

[1174] "Display" is the process of visually presenting information about a selected application to a user.

[1175] "Emotion analysis" is the process of identifying a user's emotional state based on their input and adding the results to the analysis data.

[1176] The "suitability score" is a numerical representation of the suitability of an application, and is calculated taking into account the user's emotional information.

[1177] The system that realizes this application example is configured as follows: A user provides input information using a terminal. The input information is sent to the system as text or voice data. The terminal sends this input information to a server, which then analyzes the received input information.

[1178] The server uses a natural language processing (NLP) engine built using the Python programming language to extract keywords and intent from input information. This engine uses the TextBlob and Hugging Face Transformers libraries. It also incorporates an emotion engine for sentiment analysis, identifying the user's emotional state from the content and tone of their input and adding emotional information to the analysis results.

[1179] After the analysis is complete, the server searches for relevant applications from a database based on the extracted keywords and emotional information. The database contains descriptions, ratings, and captured images of various applications. The server calculates a relevance score and ranks the applications, taking into account the user's emotional information. The top-ranked applications are selected and their information is sent to the device. The device then displays information about the selected applications to the user.

[1180] As a concrete example, consider a case where a user types in "I want a camera to protect my home" and expresses anxiety. The server extracts the keywords "camera" and "protect my home," and the emotion engine identifies the emotion "anxiety." The server then uses this information to search its database and find a suitable product, such as a "home security camera," specifically designed to alleviate the user's anxiety.

[1181] An example of a prompt is: "The user is concerned about the security measures in their home. Please suggest a suitable security product."

[1182] The system will provide more precise and personalized application suggestions based on user input and emotional information, allowing users to quickly and accurately find the applications and services that best suit their emotional state.

[1183] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1184] Step 1:

[1185] The user provides input information using a terminal. The user enters their needs and desires as text or voice data into a chat box. The input data is sent directly to the server. The input is specific, such as "I want a camera to protect my home."

[1186] Step 2:

[1187] The server passes the received input information to the natural language processing engine, which uses TextBlob and the Transformers library to extract keywords and intent from the input. It analyzes the input data (e.g., the text "I want a camera to protect my home.") and extracts keywords (e.g., "camera" and "protect my home") and intent.

[1188] Step 3:

[1189] The server passes the input information to the sentiment analysis engine. The sentiment analysis engine uses the Transformers library to recognize emotional information from the tone and content of the user's input. It analyzes the input data (e.g., the text "I want a camera to protect my home. I feel very anxious.") and extracts emotional data (e.g., "anxiety").

[1190] Step 4:

[1191] The server searches for relevant applications from a database based on the analyzed keywords and emotion information. The database contains application descriptions, ratings, captured images, etc. The server uses the input keywords and emotion data to search for appropriate application categories (e.g., "home security cameras") and generates a list of matching applications.

[1192] Step 5:

[1193] The server evaluates related applications using a relevance score. The relevance score is calculated based on the degree of keyword matching and the degree of response to user emotions. The server calculates the relevance of each application in the extracted application list and assigns a score. The score also includes emotional information (e.g., "anxiety").

[1194] Step 6:

[1195] The server ranks the applications based on their relevance scores and selects the top N applications. It then selects the top N applications from the ranked list and formats this information.

[1196] Step 7:

[1197] The server sends information about the selected application to the device. The device then displays the received application information to the user. The displayed information includes the application name, description, rating, download link, etc. The user can then select and use the most suitable application based on this information.

[1198] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1199] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1200] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1201] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1202] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1203] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1204] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1205] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1206] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1207] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1208] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1209] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1210] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1211] 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.

[1212] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1213] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1214] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1215] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1216] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1217] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1218] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1219] The following is further disclosed regarding the above embodiment.

[1220] (Claim 1)

[1221] means for accepting user input;

[1222] means for analyzing the received input;

[1223] a means for searching for applications based on the analysis results;

[1224] means for selecting an application to be suggested to the user based on the search results;

[1225] means for displaying information about the selected application to a user;

[1226] A system including:

[1227] (Claim 2)

[1228] 2. The system according to claim 1, further comprising means for analyzing the received input by natural language processing and extracting keywords and intentions.

[1229] (Claim 3)

[1230] 10. The system of claim 1, further comprising means for periodically updating application data used in searches.

[1231] (Claim 4)

[1232] 2. The system according to claim 1, wherein the means for searching for an application based on the analysis result includes means for analyzing a description, a captured image, and a review rating of the application and calculating a relevance score.

[1233] (Claim 5)

[1234] 5. The system of claim 4, further comprising means for generating a ranking based on the relevance scores and selecting the top applications.

[1235] "Example 1"

[1236] (Claim 1)

[1237] means for accepting user input;

[1238] means for using a natural language processing engine to parse the received input;

[1239] means for searching for applications in a relevant database based on the analysis results;

[1240] means for calculating a relevance score for the search results;

[1241] means for generating a ranking of the applications based on the relevance scores;

[1242] means for selecting an optimal application for a user based on the ranking;

[1243] means for transmitting information about the selected application to a terminal and displaying the information to a user;

[1244] A system including:

[1245] (Claim 2)

[1246] 2. The system according to claim 1, further comprising means for analyzing the received input by natural language processing and extracting keywords and intentions.

[1247] (Claim 3)

[1248] 10. The system of claim 1, further comprising means for using a generative AI model to suggest optimal applications based on the ranking.

[1249] "Application Example 1"

[1250] (Claim 1)

[1251] means for accepting user input;

[1252] means for transmitting the received input to a natural language processing engine for analysis;

[1253] A means of searching for products and services based on the analysis results;

[1254] a means for evaluating and ranking the search results based on a relevance score;

[1255] A means of displaying information about top-ranked products and services to users;

[1256] A system including:

[1257] (Claim 2)

[1258] 10. The system of claim 1, wherein the natural language processing engine further comprises means for extracting keywords and intent from a user's input using a generative AI model.

[1259] (Claim 3)

[1260] 10. The system of claim 1, further comprising means for periodically updating the product and service data used in the search.

[1261] "Example 2: Combining Emotion Engines"

[1262] (Claim 1)

[1263] means for accepting user input;

[1264] means for transmitting the received input data to a server;

[1265] means for analyzing input data by natural language processing in the server and extracting keywords and intentions;

[1266] means for recognizing user emotions by an emotion analysis engine in the server;

[1267] a means for searching a database for relevant application data based on the extracted keywords and emotion information;

[1268] means for calculating a relevance score based on the search results and ranking the applications to be suggested to the user;

[1269] means for transmitting information about the selected application to a user terminal;

[1270] means for displaying the transmitted application information to a user;

[1271] A system including:

[1272] (Claim 2)

[1273] 2. The system according to claim 1, further comprising means for adding emotion information obtained by emotion recognition to the keywords and intentions extracted based on the analysis by natural language processing.

[1274] (Claim 3)

[1275] 10. The system of claim 1, further comprising means for periodically updating application data used in searches.

[1276] "Application example 2 when combining emotion engines"

[1277] (Claim 1)

[1278] means for accepting user input;

[1279] means for analyzing the received input;

[1280] a means for searching for applications based on the analysis results;

[1281] means for selecting an application to be suggested to the user based on the search results;

[1282] means for displaying information about the selected application to a user;

[1283] means for performing emotion analysis and adding user emotion information based on the analysis results;

[1284] means for calculating a fitness score for an application taking into account the emotion information;

[1285] A system including:

[1286] (Claim 2)

[1287] 2. The system according to claim 1, further comprising means for analyzing the received input by natural language processing and extracting keywords and intentions.

[1288] (Claim 3)

[1289] 10. The system of claim 1, further comprising means for periodically updating application data used in searches. [Explanation of symbols]

[1290] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for accepting user input; means for analyzing the received input; a means for searching for applications based on the analysis results; means for selecting an application to be suggested to the user based on the search results; means for displaying information about the selected application to a user; A system including:

2. The system according to claim 1 , further comprising means for analyzing the received input by natural language processing and extracting keywords and intentions.

3. 10. The system of claim 1, further comprising means for periodically updating application data used in searches.

4. 2. The system according to claim 1, wherein the means for searching for an application based on the analysis result includes means for analyzing a description, a captured image, and a review rating of the application, and calculating a relevance score.

5. The system of claim 4 , further comprising means for generating a ranking based on the relevance scores and selecting the top applications.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A