system
The system addresses the inefficiencies of conventional fitness information systems by providing real-time, personalized fitness information through user input, server analysis, and AI-generated responses, ensuring accurate and timely user access.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-10
AI Technical Summary
Conventional fitness information systems fail to provide users with efficient and personalized fitness information in real time, often lacking dynamic responses to user queries and risking incorrect training methods or nutritional advice.
A system that includes user input acceptance, data format conversion, transmission to a server for analysis, response generation using chat generation AI, and display on a user terminal, enabling quick and accurate provision of personalized fitness information.
Enables users to easily access advanced and personalized fitness information anytime, anywhere, ensuring accurate and timely responses to their queries.
Smart Images

Figure 2026041242000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In recent years, demand for fitness and health information has increased, creating a need for efficient and easy access to this information. However, conventional fitness information systems face challenges in quickly providing users with the specific training methods, correct form, exercise plans, health advice, nutritional information, and other information they need. Furthermore, these systems are generally limited to providing static information and lack the ability to dynamically generate appropriate information in response to user queries. Given this background, there is a need for a system that can provide users with personalized fitness information in real time. [Means for solving the problem]
[0005] The present invention provides a system including means for accepting input from a user, means for converting the input into a data format, means for transmitting the converted input to a server, means for analyzing the input, means for generating a response based on the analyzed input, means for returning the generated response to a user terminal, and means for displaying the returned response. This system dynamically generates responses to user questions and requests using chat generation artificial intelligence, and can quickly and accurately provide users with fitness information they desire. Furthermore, because the responses are displayed on the user terminal, users can easily access them anytime, anywhere. This makes it possible to provide users with more advanced and personalized fitness information than conventional static information provision.
[0006] A "user" is an entity that utilizes the system to request information and receive responses.
[0007] "Input" refers to information, questions, or requests that a user provides to a system.
[0008] A "data format" is a format in which a system structures and standardizes input for processing and communication.
[0009] A "server" is a central computing device that receives requests from users, analyzes them, and generates responses.
[0010] "Parsing" is the process by which the server understands the input received from the user and extracts the necessary information.
[0011] A "response" is an answer, information, or advice that is generated based on the analyzed input.
[0012] "Return" refers to the process by which the server sends a generated response back to the user terminal.
[0013] "Display" refers to outputting the response received by the user terminal on the screen in a format that can be understood by the user.
[0014] "Chat generation AI" is AI that uses natural language processing technology to dynamically generate responses to user input.
[0015] "Fitness information" refers to information related to improving health and fitness, such as training methods, proper form, exercise plans, health advice, and nutritional information.
[0016] "User terminal" refers to a device, such as a smartphone or computer, that a user uses to access the system, provide input, and receive responses. [Brief explanation of the drawings]
[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram illustrating a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0038] To put the present invention into practice, a system is constructed in which users, terminals, and servers work together. The processing of a program using this system will now be described in detail.
[0039] 1. User Input
[0040] A user uses a device to input a fitness question or request into the app, for example, "What is the correct form for squats?"
[0041] 2. Generating a request on the device
[0042] The device parses the input received from the user and converts it into an appropriate data format (e.g., JSON format), which prepares it for smooth transmission to the server.
[0043] 3. Sending a request to the server
[0044] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0045] 4. Receiving and analyzing the request on the server
[0046] The server analyzes the request received from the device and extracts the user's question. For example, if the request is "correct form for squats," the server identifies the question.
[0047] 5. AI-generated responses
[0048] The server then passes the analyzed question to a chat-generating AI system, which generates an appropriate response. This AI uses natural language processing technology to generate the best answer to the user's question based on past learning data. For example, it generates a detailed explanation of squat form.
[0049] 6. Server Response Formatting
[0050] The server formats the response received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0051] 7. Receiving and displaying responses on the terminal
[0052] The device receives the response sent back from the server and formats it for display in the user interface, for example, "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower yourself down. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0053] Specific examples
[0054] Training method example
[0055] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0056] The terminal analyzes the input data and sends it to the server.
[0057] The server analyzes the received request and has the AI generate a response about "strength training for beginners."
[0058] The AI generates the answer, "Recommended strength training exercises for beginners include squats, push-ups, and planks."
[0059] The server formats this response and sends it back to the terminal.
[0060] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0061] Nutritional Information Example
[0062] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0063] The terminal analyzes the input data and sends it to the server.
[0064] The server analyzes the received request and has the AI generate a response about "diet for increasing muscle strength."
[0065] The AI generates the answer, "To build muscle, it is important to consume foods that are high in protein. Eat chicken, fish, soy products, eggs, etc. in a balanced manner."
[0066] The server formats this response and sends it back to the terminal.
[0067] The device tells the user, "To increase muscle strength, it is important to eat foods high in protein, such as chicken, fish, soy products, and eggs."
[0068] As described above, the present invention provides a system that allows users to easily obtain training methods, form, exercise plans, health advice, nutrition information, etc. This allows users to efficiently and quickly obtain fitness information.
[0069] The processing flow will be explained below.
[0070] Step 1: A user launches the app and enters a fitness question or request, such as "What is the correct form for squats?"
[0071] Step 2: The device receives the user's input, parses it, and converts it into an appropriate data format, such as JSON, so that it can be sent to the server.
[0072] Step 3: The device sends a request in the converted data format to the server's API endpoint using the HTTP POST method.
[0073] Step 4: The server receives the request sent from the terminal. The server analyzes the request and identifies the user's question.
[0074] Step 5: The server passes the identified question to the chat generation AI and instructs it to generate an appropriate response. Based on the input question, the AI generates the best answer from related data.
[0075] Step 6: The server receives the answer generated by the AI, reformats the data as needed, and converts it into an appropriate format, such as JSON.
[0076] Step 7: The server returns the formatted response data to the terminal. It is returned as an HTTP response.
[0077] Step 8: The terminal receives the response data from the server, analyzes the received data, and formats it for display on the user interface.
[0078] Step 9: The user checks the response displayed on the device, such as "Proper squat form is to stand with your feet shoulder-width apart, your spine straight, and your knees bent to lower your hips. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0079] Example 1
[0080] 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."
[0081] Conventional fitness information systems have made it difficult for users to quickly obtain information on proper form and training methods. Furthermore, they lacked an interface that could provide accurate answers based on past data to specific user questions. This puts users at risk of learning unreliable information or improper form. Therefore, the present invention aims to provide a system that allows users to easily obtain highly accurate fitness information.
[0082] 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.
[0083] In this invention, the server includes means for accepting input from a user, means for generating a response using a generative AI model based on the analyzed input, and means for formatting the generated response and returning it to the user terminal, thereby enabling the user to quickly and accurately obtain fitness information.
[0084] "User" refers to a person who uses the system to obtain fitness information.
[0085] "Input" refers to questions or requests that a user makes to the system through a terminal.
[0086] "Terminal" refers to the hardware device a user uses to access the system, including smartphones, tablets, and PCs.
[0087] "Data format" refers to the unified format used when exchanging information within a system, and specifically includes JSON and XML.
[0088] "Server" refers to a centralized computer system that receives input data from users, analyzes it, and generates a response.
[0089] "Analysis" refers to the process by which the server understands the data it receives from the user and extracts useful information.
[0090] A "generative AI model" refers to an artificial intelligence model that uses natural language processing technology to generate optimal answers to user questions.
[0091] "Formatting" refers to the process of adjusting the format of the response created by AI so that it can be displayed appropriately on the user's device.
[0092] "Response" refers to the answer that a generative AI model generates in response to a user's question.
[0093] "Return" means sending the response generated by the server back to the user's terminal.
[0094] "Display" refers to the terminal showing the returned response to the user in an easy-to-read format.
[0095] To implement this invention, it is necessary to build a system that links users, terminals, and servers. This system allows each element to communicate with each other and provide fitness information to users. Below, we will explain in detail the processing of a program using this system.
[0096] First, the user uses the device to input a fitness-related question into the app. For example, the user types a question such as "What is the correct form for squatting?" into the device's input field. This allows input in natural language, making it highly convenient for users.
[0097] The terminal then parses this input data and converts it into an appropriate data format (e.g., JSON format). The terminal can use Python's NLTK (Natural Language Toolkit) to smoothly execute the analysis. After this conversion, the data is in the format {"request": "Tell me the correct squat form"}. This makes the data ready for the next process: sending it to the server.
[0098] The device sends the converted JSON data to the server's API endpoint using the HTTP POST method. The destination URL is, for example, https: / / example.com / api / fitness. The device checks the status code to ensure the data was sent properly and logs the success.
[0099] The server analyzes the received HTTP request and extracts the JSON data. Web frameworks such as Flask and Django can be used for this analysis. For example, in the case of Flask, the data is read using request.json. The server then clarifies the user's question from the extracted data and proceeds to the next step in the response generation process.
[0100] Next, the server passes the extracted question to a generative AI model. An example of this AI model is OpenAI's (registered trademark) GPT-4 (registered trademark), which utilizes natural language processing technology. The server creates a prompt for the AI and requests it to generate a response. An example of a specific prompt is, "The user is asking about the correct form for squats. Please provide an appropriate answer." The AI generates a detailed answer based on this prompt. For example, a response might be, "The correct form for squats is to stand with your feet shoulder-width apart and your back straight..."
[0101] The server receives the response from the AI and formats it for presentation to the user. This formatting process involves converting the response back into JSON format. The formatted data will have the following format: {"response": "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight..."}
[0102] Finally, the device receives this JSON data, verifies its integrity, and then displays a response in an easy-to-read format to the user. For example, the app might display a message like, "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0103] As described above, this system can provide fitness information efficiently and accurately through cooperation between the user, terminal, and server.
[0104] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0105] Step 1:
[0106] A user types a fitness question into the app.
[0107] Input: A natural language question from the user (e.g., "What is the correct form for squatting?").
[0108] Output: The input question text.
[0109] Specific operation: The user enters a question into the input field on the terminal and presses the "Submit" button.
[0110] Step 2:
[0111] The terminal parses the entered question and converts it into an appropriate data format (e.g., JSON format).
[0112] Input: User question text ("What is the correct form for squatting?").
[0113] Output: Transformed JSON data({"request": "What is the correct squat form?"}).
[0114] Specific operation: The terminal uses a library such as Python's NLTK to parse the input and convert it into JSON format.
[0115] Step 3:
[0116] The terminal sends the converted JSON data to the server using the HTTP POST method.
[0117] Input: JSON data({"request": "What is the correct squat form?"}).
[0118] Output: The HTTP request sent to the server.
[0119] Specific operation: The device generates an HTTP request to the destination URL (e.g., https: / / example.com / api / fitness) and sends the data. It checks for a successful status code (e.g., 200 OK).
[0120] Step 4:
[0121] The server parses the received HTTP request and extracts the data.
[0122] Input: JSON data sent from the device ({"request": "What is the correct squat form?"}).
[0123] Output: Parsed question ("What is the correct form for squatting?").
[0124] Specific operation: The server uses the Flask or Django web framework to read the request data and parse the JSON data.
[0125] Step 5:
[0126] The server passes the analyzed question content to a generative AI model to generate a response.
[0127] Input: Parsed question ("What is the correct form for squatting?").
[0128] Output: The generated response text (e.g., "The correct form for squats is...").
[0129] What it does: The server creates a prompt (e.g., "The user is asking about the correct form for squats. Please provide an appropriate answer.") and passes it to a generative AI model (e.g., GPT-4) to generate a response.
[0130] Step 6:
[0131] The server formats the generated response in an appropriate format, converts it back to JSON, and sends it back to the device.
[0132] Input: The generated response text ("The correct form for squats is...").
[0133] Output: Formatted JSON data ({"response": "The correct form for squats is..."}).
[0134] What happens: The server checks the response, formats it, converts it to JSON, and prepares it for sending back.
[0135] Step 7:
[0136] The terminal receives the JSON data returned from the server, formats it for display, and displays it to the user.
[0137] Input: JSON data returned from the server ({"response": "The correct form for squats is..."}).
[0138] Output: A response message that is displayed in the user interface (e.g., "The correct form for squats is...").
[0139] Specific operation: The device parses the JSON data, formats it into a format that is easy for the user to read, and displays it on the app screen.
[0140] (Application example 1)
[0141] 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."
[0142] Conventional fitness support systems and applications require a lot of effort and lack real-time capabilities when users need to learn the correct training form and obtain appropriate fitness information. This puts users at risk of continuing to train with incorrect form or consuming meals based on inappropriate nutritional information. This can reduce the effectiveness of their training and, in some cases, lead to injury. It is necessary to solve these issues and enable users to train efficiently and safely.
[0143] 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.
[0144] In this invention, the server includes means for accepting voice input from a user, means for converting the voice input into text data format, means for transmitting the converted text data format to the server, means for analyzing the input, means for generating a response based on the analyzed input, means for overlaying the generated response in the user's field of view, and means for displaying the returned response on a head-mounted display, thereby enabling the user to obtain accurate training form and fitness information in real time.
[0145] A "user" is someone who uses this system to train at a fitness gym or sports facility.
[0146] "Voice input" refers to the audio signals of fitness-related questions or instructions given verbally by the user.
[0147] "Text data format" is a format in which voice input is converted into character string data that is easy for machines to understand.
[0148] A "server" is a computer system that receives and analyzes user requests, and generates and sends responses.
[0149] The "means for parsing" is an analytical function for interpreting received user input in the form of text data and determining an appropriate response.
[0150] "Means for generating responses" refers to a function that uses generative artificial intelligence to create appropriate answers to user questions and requests.
[0151] "Overlay display" is a technology that displays the generated response superimposed on the user's field of vision via a head-mounted display worn by the user.
[0152] A "head-mounted display" is a display device that a user wears on their head to obtain visual information.
[0153] "Fitness information" refers to knowledge such as correct form, exercise plans, and nutritional information that users need when training.
[0154] As an embodiment of the present invention, a system is constructed in which a user wears a head-mounted display (HMD) at a fitness gym or sports facility and receives fitness guidance in real time.
[0155] First, the user asks a fitness-related question or makes a request via voice input through the HMD they are wearing. For example, they might say, "Tell me the correct bench press form." The HMD is equipped with speech recognition technology, which converts this voice input into text data. Google's Speech-to-Text API is a suitable tool for this purpose.
[0156] The input converted to text data format is sent to the server using the HTTP POST method using the Python requests library. A Flask application runs on the server and analyzes the received request to determine what the user wants to know.
[0157] Based on the parsed results, the server uses the OpenAI API to call the generative AI model and generate a prompt. Specifically, the following prompt is used:
[0158] "Please explain in detail the correct bench press form, including how the user should stand with their chest out, how their elbows should bend, and how they should manipulate the barbell."
[0159] The generated text response is then converted back to JSON format and sent back to the HMD, which uses technologies such as Unity or Apple's ARKit to overlay the received response onto the user's field of view, allowing the user to visually confirm detailed instructions on "correct bench press form" in real time on the head-mounted display.
[0160] This process allows users to obtain accurate and detailed fitness information in real time when training at a fitness gym, enabling them to train safely and effectively.
[0161] (Example)
[0162] While working out at the gym, a user speaks, "Tell me the correct form for squats." The HMD converts the speech to text and sends it to the server. The server analyzes the request and uses a generative AI model to generate a response like this:
[0163] prompt:
[0164] "Please provide a detailed explanation of the correct form for squatting, including how the user should stand with their feet shoulder-width apart, their back straight, and their knees bent as they lower themselves down."
[0165] This response is sent back to the HMD and overlaid on the user's field of view. The user can then perform the exercise while viewing the displayed advice: "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower your hips. Make sure your knees do not extend beyond your toes, and then return to the starting position."
[0166] In this way, the present invention realizes a fitness information providing system that allows users to train efficiently and safely.
[0167] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0168] Step 1:
[0169] The user wears a head-mounted display (HMD) and makes fitness-related questions or requests via voice input. In this example, the user voice-inputs a question such as "Tell me the correct bench press form." The voice input is received by a microphone in the HMD.
[0170] Input data: User's voice input: "What is the correct bench press form?"
[0171] Output data: Audio signal
[0172] Step 2:
[0173] The device (HMD) uses voice recognition technology to convert the voice signal into text data format, and uses Google's Speech-to-Text API to obtain the voice signal as text data.
[0174] Input data: User's voice signal
[0175] Data processing: Convert speech to text using Google Speech-to-Text API
[0176] Output data: Text data "What is the correct bench press form?"
[0177] Step 3:
[0178] The terminal converts the text data into the appropriate data format (JSON format) and prepares it to be sent to the server. Python is used to pack the text data into JSON format.
[0179] Input data: Text data "What is the correct bench press form?"
[0180] Data processing: Convert to JSON format using a Python script
[0181] Output data: JSON data
[0182] Step 4:
[0183] The device sends the converted JSON data to the server using the HTTP POST method, and uses the Python requests library to send a request to the server's API endpoint.
[0184] Input data: JSON data
[0185] Data processing: HTTP request (POST)
[0186] Output data: Result of request sent to server
[0187] Step 5:
[0188] The server parses the JSON data received from the terminal to identify the user's question. It uses a Flask application to parse the JSON data and extract the request content.
[0189] Input data: JSON data
[0190] Data Processing: JSON Parsing in Flask
[0191] Output data: Analysis results (text data "What is the correct bench press form?")
[0192] Step 6:
[0193] The server passes the parsed question to a generative AI model (OpenAI API) to generate an appropriate response. It creates a specific prompt and sends it to the AI model.
[0194] Input data: Analysis results (text data "Please tell me the correct bench press form")
[0195] Data processing: Send a prompt to the generative AI model: "Please explain in detail the correct form for bench pressing. In particular, please explain how the user should stick out their chest, bend their elbows, and manipulate the barbell."
[0196] Output data: Responses from the generative AI model
[0197] Step 7:
[0198] The server converts the response received from the generative AI model into JSON format and prepares it to be sent back to the device. A Flask application is used to format the response and pack it as JSON data.
[0199] Input data: Responses from generative AI models
[0200] Data processing: Formatting the response into JSON format
[0201] Output data: JSON data
[0202] Step 8:
[0203] The device receives the JSON data returned from the server and formats it for display in the user interface, overlaying it on the user's field of view using Unity or ARKit.
[0204] Input data: JSON data
[0205] Data processing: Formatting for display (using Unity or ARKit)
[0206] Output data: Visual representation of "The correct bench press form is to start with your chest out and elbows bent at right angles, then slowly lower the barbell. Bring your shoulder blades together and return to the starting position."
[0207] The specific process and its flow are described in detail in each step, thereby showing a specific method for carrying out the present invention.
[0208] 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.
[0209] To put this invention into practice, a system is constructed in which users, terminals, a server, and an emotion engine work together. The processing of a program using this system will now be described in detail.
[0210] 1. User Input
[0211] The user uses the device to input a fitness question or request into the app, for example, "I'm feeling unmotivated today, so please tell me some easy exercises."
[0212] 2. Generating a request on the device
[0213] The device analyzes the input received from the user and converts it into an appropriate data format (e.g., JSON format), which makes it possible to send it to the server. Furthermore, the emotion engine analyzes the emotion from the user input and includes the result in the data format.
[0214] 3. Sending a request to the server
[0215] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0216] 4. Receiving and analyzing the request on the server
[0217] The server receives the request sent from the device. The server analyzes the request content to identify the user's question. It also obtains the emotion analysis results provided by the emotion engine.
[0218] 5. AI-generated responses
[0219] The server passes the identified question and the results of emotion analysis to the chat generation AI, instructing it to generate an appropriate response. Based on the input question and emotion, the AI generates the optimal answer from related data. For example, if emotion analysis identifies that the user is tired, it generates a response recommending some light stretching.
[0220] 6. Server Response Formatting
[0221] The server formats the answer received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0222] 7. Receiving and displaying responses on the terminal
[0223] The device receives the response sent back from the server, analyzes the received data, and formats it for display in the user interface. For example, it might say, "You seem tired today. I recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[0224] Specific examples
[0225] Training method example
[0226] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0227] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., motivated) and sends them to the server.
[0228] The server analyzes the received request and passes the question content and sentiment analysis results to the AI, which then generates the answer, "Recommended strength training for beginners is squats, push-ups, and planks."
[0229] The server formats this response and sends it back to the terminal.
[0230] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0231] Nutritional Information Example
[0232] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0233] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., feeling tired) and sends them to the server.
[0234] The server analyzes the received request and passes the question and sentiment analysis result (tired) to the AI. The AI then generates the following message: "To build muscle, it's important to eat foods that are high in protein. If you're tired, it's a good idea to focus on eating easily digestible meats like chicken and fish."
[0235] The server formats this response and sends it back to the terminal.
[0236] The device will display a message to the user saying, "To build muscle, it's important to eat foods that are high in protein, such as chicken and fish. If you're feeling tired, it's a good idea to focus on these foods."
[0237] As described above, by combining the emotion engine with this invention, it is possible to provide more personalized fitness information according to the user's emotions, thereby enabling the user to carry out more appropriate and effective fitness and health management.
[0238] The processing flow will be explained below.
[0239] Step 1: A user launches the app and enters a fitness question or request. For example, "I'm feeling unmotivated today, can you recommend a simple exercise?"
[0240] Step 2: The device receives the user's input and analyzes it as text. At this stage, the emotion engine analyzes the user's emotions from the input text.
[0241] Step 3: The device converts the emotion data obtained through analysis into JSON format data. For example, the format is {"query":"I'm not motivated today, so please teach me some easy exercises", "emotion":"Low motivation"}.
[0242] Step 4: The device sends the converted request to the server's API endpoint using the HTTP POST method. At this time, the device checks whether the transmission was successful.
[0243] Step 5: The server receives the request sent from the device. The server parses the received JSON data and extracts the user's question and emotion data.
[0244] Step 6: Based on the question content and emotional data extracted by the server, the chat generation artificial intelligence (AI) is instructed to generate a response. The AI generates the optimal response based on the question content and emotional data. For example, if the emotional data is "low motivation," the AI generates a response suggesting light exercise.
[0245] Step 7: The server formats the response received from the AI and converts it back into JSON format. For example, it would look like this: {"response":"Today, try some simple stretching exercises. Recommended exercises include rotating your shoulders and stretching your neck."}
[0246] Step 8: The server returns the formatted response data to the terminal. It is sent as an HTTP response.
[0247] Step 9: The terminal receives the response data sent back from the server, analyzes the received data, and formats it for display on the user interface.
[0248] Step 10: The user checks the response displayed on the device. For example, the response might say, "Today, try some simple stretches. We recommend rotating your shoulders and stretching your neck."
[0249] This process allows users to receive fitness advice tailored to their emotional state at the time. The introduction of an emotion engine makes it possible to provide more personalized information that matches the user's motivation and mood.
[0250] Example 2
[0251] 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."
[0252] Conventional fitness information systems often provide only general information without considering the user's emotional state, making it difficult to provide personalized information that reflects the user's motivation and condition, resulting in lower user satisfaction and retention rates.
[0253] 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 a means for accepting input from a user, a means for converting the input into a data format, and a means for analyzing the input and its emotions. This makes it possible to provide personalized fitness information that takes into account the user's emotional state.
[0254] The "means for accepting input from the user" is an interface that allows the user to input fitness-related questions and requests into the terminal.
[0255] The "means of converting into a data format" is a process of analyzing input from a user and converting it into a format suitable for data communication (e.g., JSON format).
[0256] The "means of sending to the server" is a process of transferring the input converted into a data format to the server using the HTTP POST method or the like.
[0257] The "means for analyzing input and analyzing the emotion" is a process of analyzing the input data from the user to identify the question content, and then extracting the user's emotion information using an emotion engine.
[0258] The "means for generating a response" is a process in which an appropriate response is generated by the chat generation artificial intelligence (generative AI model) based on the analyzed input and emotional information.
[0259] The "means for returning the generated response to the user terminal" is a process for converting the generated response into a data format and returning it to the user terminal.
[0260] The "means for displaying the returned response" refers to the process in which the user terminal receives and analyzes the returned response data and displays it in a format suitable for the user interface.
[0261] A "generative AI model" is an artificial intelligence that generates optimal responses based on questions and emotional information from users.
[0262] To put this invention into practice, it is necessary to build a system in which users, terminals, a server, and an emotion analysis engine work together. Below, we will explain in detail the processing of a program using this system.
[0263] User Input
[0264] Users can use devices such as smartphones or PCs to input fitness-related questions or requests. For example, a user might input a question or request in text format, such as "I'm not feeling motivated today, so please tell me some easy exercises."
[0265] Making a request on the device
[0266] After receiving input from the user, the device uses natural language processing to analyze the text and convert it into an appropriate data format (e.g., JSON format). It then activates a sentiment analysis engine to analyze emotional information from the user's input. For example, it can extract emotional information such as "unmotivated" or "tired" from the input. The device then generates data containing this information and converts it into JSON format.
[0267] Sending a request to the server
[0268] The device sends the generated data to the server's API endpoint using the HTTP POST method. The sending process also includes a response check to confirm whether the request was successful, for example, receiving a 200 OK response from the server.
[0269] Receiving and parsing requests on the server
[0270] The server receives the request data sent from the device. It analyzes the data and identifies the user's question and emotional information. Specifically, it parses the received JSON data and extracts the question and emotional part. For example, it identifies the question "I'm not motivated today, so please teach me some easy exercises" and the emotional data "I'm not motivated and tired."
[0271] AI-powered response generation
[0272] The server passes the identified question content and the results of the sentiment analysis to a generative AI model (e.g., a chat generation AI) and instructs it to generate an appropriate response. The AI generates the optimal answer based on this input data. For example, if sentiment analysis determines that the user is "tired," it generates a response such as, "We recommend some light stretching. Start with simple exercises such as rotating your shoulders and stretching your neck."
[0273] Response formatting on the server
[0274] The server formats the response received from the AI, converts it back to JSON format, and prepares it for sending back to the device. The formatting process includes checking the format of the response data and adding necessary data.
[0275] Receive and display a response on the terminal
[0276] The device receives the JSON data returned from the server, parses it, and formats it for display in the user interface. For example, it might display something like, "You seem tired today. We recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[0277] Specific prompt examples
[0278] Examples of prompt statements
[0279] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0280] After the device receives this input, it analyzes it and further analyzes the emotion of "motivated."
[0281] The server sends the analysis results to the platform, and the generative AI model generates a response such as, "Recommended strength training exercises for beginners are squats, push-ups, and planks."
[0282] The device receives the returned data and displays to the user, "Recommended strength training for beginners is squats, push-ups, and planks."
[0283] This system can provide appropriate fitness information that takes into account the user's emotional state, allowing users to enjoy a more personalized fitness experience, which is expected to maintain motivation and improve retention rates.
[0284] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0285] Step 1:
[0286] A user uses a device to input a fitness question or request. The user inputs text into an application on the device, such as "I'm not feeling motivated today, so please tell me some easy exercises." This text input is sent to the device.
[0287] Step 2:
[0288] The terminal receives input text from the user and converts it into a data format. Specifically, it parses the input text and converts it into JSON format. For example, it converts the input text into JSON like this:
[0289] json
[0290] {
[0291] "userInput": "I'm feeling unmotivated today, so tell me some easy exercises"
[0292] }
[0293] This JSON format data is generated.
[0294] Step 3:
[0295] The device launches an emotion engine to analyze emotional information from the user's input text. The emotion engine analyzes the text and identifies the user's emotional state. For example, from the input "I don't feel motivated today," it extracts emotions such as "tired" and "unmotivated." The following JSON data containing the analysis results is generated:
[0296] json
[0297] {
[0298] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[0299] "emotion": "Tired, unmotivated"
[0300] }
[0301] Step 4:
[0302] The device sends the generated JSON data to the server using the HTTP POST method, including the analysis results and emotion information, to the server's API endpoint. At this time, a 200 OK response is received from the server to confirm that the transmission was successful.
[0303] Step 5:
[0304] The server receives the JSON data sent from the device. After receiving it, the server parses the data and extracts the user's question and sentiment information. Specifically, the server analyzes the data as follows:
[0305] json
[0306] {
[0307] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[0308] "emotion": "Tired, unmotivated"
[0309] }
[0310] The server extracts the question and emotion parts based on this data.
[0311] Step 6:
[0312] The server passes the extracted question content and the results of the emotion analysis to the generative AI model, and instructs it to generate an appropriate response. The AI model generates the optimal answer based on this input data. For example, if the emotion data determines that the user is "tired," the AI model will generate a response such as "We recommend some light stretching." The generated response looks like this:
[0313] json
[0314] {
[0315] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0316] }
[0317] Step 7:
[0318] The server formats the response received from the AI model and converts it back to JSON format. The formatted data looks like this:
[0319] json
[0320] {
[0321] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0322] }
[0323] This data is prepared for transmission to the terminal.
[0324] Step 8:
[0325] The device receives the JSON data returned by the server, parses it, and formats it in a suitable format for display in the user interface. For example, it displays the following in the user interface:
[0326] "You seem tired today. I'd like to suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0327] (Application example 2)
[0328] 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."
[0329] Conventional fitness support systems often provide uniform information and training advice without considering the user's emotions. This results in problems such as not being able to provide advice that is optimal for the user's motivation and physical condition, reducing the effectiveness of fitness programs. Furthermore, since these systems can only be used on specific devices, there are also issues with usability.
[0330] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing the user's emotions, means for adjusting a response based on the analyzed emotions, and means for displaying the response on a device wearable by the user. This makes it possible to provide personalized fitness advice based on the user's emotional state in real time.
[0331] The "means for accepting input from the user" refers to a device or program for accepting natural language input, gestures, etc., made by the user to the system.
[0332] The "means for converting the input into a data format" refers to a device or program that analyzes the input information from the user and converts it into a format that can be processed by the server (for example, JSON format).
[0333] The "means for transmitting the input converted into the data format to the server" refers to a device or program having a communication function for transmitting the user's input information converted into a data format to the server.
[0334] The "means for analyzing the input" refers to a device or program that analyzes the user's input information received by the server and extracts the necessary information.
[0335] The "means for generating a response based on the analyzed input" refers to a device or program that generates an appropriate response or advice based on the analyzed user input information.
[0336] The "means for returning the generated response to the user terminal" is a device or program having a communication function for transmitting the generated response from the server to the user terminal.
[0337] The "means for displaying the returned response" refers to a device or program that visually or audibly displays the response received at the user's terminal to the user.
[0338] The "means for analyzing user emotions" refers to a device or program that analyzes the user's emotional state through analysis of the user's input, physical information, and facial expressions.
[0339] The "means for adjusting a response based on the analyzed emotion" is a device or program that appropriately adjusts the content of a response in accordance with the analyzed emotional state of the user.
[0340] "Means for displaying a response on a user-wearable device" refers to a device or program that displays the generated response on a device that the user can wear (e.g., smart glasses, smart watch).
[0341] To implement the present invention, a system is constructed in which a user, a terminal, a server, and an emotion engine work together.
[0342] User Input
[0343] The user wears the smart glasses and inputs questions or requests into the app while training in the gym. For example, they might input, "I'm a little tired today, so a light exercise would be good."
[0344] Making a request on the device
[0345] The device analyzes the input received from the user and converts it into an appropriate data format. Furthermore, the emotion engine analyzes the emotion from the user input and also includes the result in the data format.
[0346] Sending a request to the server
[0347] The device sends the converted request to the server's API endpoint using the HTTP POST method, and the server confirms whether the request was sent successfully.
[0348] Receiving and parsing requests on the server
[0349] The server receives and analyzes requests sent from the device, obtains the request content and sentiment analysis results, and generates a response based on the identified question content and emotional state.
[0350] AI-powered response generation
[0351] The server passes the identified question content and the emotion analysis results to the generative AI model and instructs it to generate an appropriate response. The generative AI model generates the optimal answer based on the input question and emotion. For example, if emotion analysis identifies that the user is tired, it generates a response recommending light stretching.
[0352] Response formatting on the server
[0353] The server formats the answer received from the AI, converts it back into data format, and prepares it to be sent back to the device.
[0354] Receive and display a response on the terminal
[0355] The device receives the response sent back from the server and formats it for display on the user interface. It then displays the response on the smart glasses display. For example, it might say, "You seem tired. We recommend some gentle stretching, such as rotating your shoulders and stretching your neck."
[0356] Specific examples
[0357] Examples of training guidance
[0358] A user inputs into their smart glasses, "I'm a little tired today, so a light exercise would be good."
[0359] The terminal analyzes the input data, and the emotion engine analyzes the user's emotions (fatigue state) and sends them to the server.
[0360] The server analyzes the received request and passes the question and sentiment analysis results to the generative AI model, which then generates a response such as, "If you're tired, some light stretching, such as rotating your shoulders and stretching your neck, would be good."
[0361] The server formats this response and sends it back to the terminal.
[0362] The device displays on the smart glasses, "If you feel tired, some light stretching, such as rotating your shoulders and stretching your neck, may help."
[0363] Prompt Sentence Examples
[0364] User says: "I'm feeling a little tired today, so a light exercise would be good."
[0365] Emotion analysis results: "Fatigue detected"
[0366] Fitness Trainer AI input prompt:
[0367] '''
[0368] Suggest the best exercises for when the user is tired. Consider the user's level of fatigue and recommend exercises that are easy and accessible.
[0369] '''
[0370] Example output:
[0371] "If you're feeling tired, some gentle stretching can help. Start with simple exercises like shoulder rotations and neck stretches."
[0372] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0373] Step 1:
[0374] The user inputs information through the smart glasses (e.g., "I'm a little tired today, so a light exercise would be good."). The smart glasses recognize the user's speech and send it to the device as text data. The input for this step is the user's voice input, and the output is text data.
[0375] Step 2:
[0376] The device receives the user's input data and sends it to the emotion engine, which analyzes the user's voice and facial expressions to identify their emotional state. The input to this step is the user's text data and voice / facial expression analysis data, and the output is data indicating the user's emotional state.
[0377] Step 3:
[0378] The device integrates the emotion data obtained from the emotion engine with the user's text input and converts it into JSON format data. The converted data is sent to the server. The input of this step is text data and emotion data, and the output is JSON format data.
[0379] Step 4:
[0380] The server receives the JSON data from the device and begins data analysis and processing. The analysis identifies the user's request and emotional state. The input of this step is JSON-formatted data, and the output is the analysis result.
[0381] Step 5:
[0382] The server then queries the generative AI model based on the analysis results to generate an optimal response. For example, if the user's fatigue is detected, the AI generates a response suggesting light exercise. The input of this step is the analysis results, and the output is the generated response.
[0383] Step 6:
[0384] The server formats the response received from the generative AI model and converts it back into JSON format. The formatted data is sent back to the device. The input of this step is the generated response, and the output is JSON format data.
[0385] Step 7:
[0386] The device parses the JSON data received from the server and formats it appropriately for display on the smart glasses display. For example, the user receives advice such as, "You seem tired, so we recommend some light stretching, such as rotating your shoulders and stretching your neck." The input of this step is JSON data, and the output is text to be displayed on the smart glasses display.
[0387] 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.
[0388] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0389] 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.
[0390] [Second embodiment]
[0391] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0392] 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.
[0393] 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).
[0394] 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.
[0395] 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.
[0396] 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).
[0397] 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.
[0398] 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.
[0399] 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.
[0400] 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.
[0401] 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.
[0402] 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."
[0403] To put the present invention into practice, a system is constructed in which users, terminals, and servers work together. The processing of a program using this system will now be described in detail.
[0404] 1. User Input
[0405] A user uses a device to input a fitness question or request into the app, for example, "What is the correct form for squats?"
[0406] 2. Generating a request on the device
[0407] The device parses the input received from the user and converts it into an appropriate data format (e.g., JSON format), which prepares it for smooth transmission to the server.
[0408] 3. Sending a request to the server
[0409] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0410] 4. Receiving and analyzing the request on the server
[0411] The server analyzes the request received from the device and extracts the user's question. For example, if the request is "correct form for squats," the server identifies the question.
[0412] 5. AI-generated responses
[0413] The server then passes the analyzed question to a chat-generating AI system, which generates an appropriate response. This AI uses natural language processing technology to generate the best answer to the user's question based on past learning data. For example, it generates a detailed explanation of squat form.
[0414] 6. Server Response Formatting
[0415] The server formats the response received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0416] 7. Receiving and displaying responses on the terminal
[0417] The device receives the response sent back from the server and formats it for display in the user interface, for example, "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower yourself down. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0418] Specific examples
[0419] Training method example
[0420] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0421] The terminal analyzes the input data and sends it to the server.
[0422] The server analyzes the received request and has the AI generate a response about "strength training for beginners."
[0423] The AI generates the answer, "Recommended strength training exercises for beginners include squats, push-ups, and planks."
[0424] The server formats this response and sends it back to the terminal.
[0425] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0426] Nutritional Information Example
[0427] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0428] The terminal analyzes the input data and sends it to the server.
[0429] The server analyzes the received request and has the AI generate a response about "diet for increasing muscle strength."
[0430] The AI generates the answer, "To build muscle, it is important to consume foods that are high in protein. Eat chicken, fish, soy products, eggs, etc. in a balanced manner."
[0431] The server formats this response and sends it back to the terminal.
[0432] The device tells the user, "To increase muscle strength, it is important to eat foods high in protein, such as chicken, fish, soy products, and eggs."
[0433] As described above, the present invention provides a system that allows users to easily obtain training methods, form, exercise plans, health advice, nutrition information, etc. This allows users to efficiently and quickly obtain fitness information.
[0434] The processing flow will be explained below.
[0435] Step 1: A user launches the app and enters a fitness question or request, such as "What is the correct form for squats?"
[0436] Step 2: The device receives the user's input, parses it, and converts it into an appropriate data format, such as JSON, so that it can be sent to the server.
[0437] Step 3: The device sends a request in the converted data format to the server's API endpoint using the HTTP POST method.
[0438] Step 4: The server receives the request sent from the terminal. The server analyzes the request and identifies the user's question.
[0439] Step 5: The server passes the identified question to the chat generation AI and instructs it to generate an appropriate response. Based on the input question, the AI generates the best answer from related data.
[0440] Step 6: The server receives the answer generated by the AI, reformats the data as needed, and converts it into an appropriate format, such as JSON.
[0441] Step 7: The server returns the formatted response data to the terminal. It is returned as an HTTP response.
[0442] Step 8: The terminal receives the response data from the server, analyzes the received data, and formats it for display on the user interface.
[0443] Step 9: The user checks the response displayed on the device, such as "Proper squat form is to stand with your feet shoulder-width apart, your spine straight, and your knees bent to lower your hips. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0444] Example 1
[0445] 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."
[0446] Conventional fitness information systems have made it difficult for users to quickly obtain information on proper form and training methods. Furthermore, they lacked an interface that could provide accurate answers based on past data to specific user questions. This puts users at risk of learning unreliable information or improper form. Therefore, the present invention aims to provide a system that allows users to easily obtain highly accurate fitness information.
[0447] 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.
[0448] In this invention, the server includes means for accepting input from a user, means for generating a response using a generative AI model based on the analyzed input, and means for formatting the generated response and returning it to the user terminal, thereby enabling the user to quickly and accurately obtain fitness information.
[0449] "User" refers to a person who uses the system to obtain fitness information.
[0450] "Input" refers to questions or requests that a user makes to the system through a terminal.
[0451] "Terminal" refers to the hardware device a user uses to access the system, including smartphones, tablets, and PCs.
[0452] "Data format" refers to the unified format used when exchanging information within a system, and specifically includes JSON and XML.
[0453] "Server" refers to a centralized computer system that receives input data from users, analyzes it, and generates a response.
[0454] "Analysis" refers to the process by which the server understands the data it receives from the user and extracts useful information.
[0455] A "generative AI model" refers to an artificial intelligence model that uses natural language processing technology to generate optimal answers to user questions.
[0456] "Formatting" refers to the process of adjusting the format of the response created by AI so that it can be displayed appropriately on the user's device.
[0457] "Response" refers to the answer that a generative AI model generates in response to a user's question.
[0458] "Return" means sending the response generated by the server back to the user's terminal.
[0459] "Display" refers to the terminal showing the returned response to the user in an easy-to-read format.
[0460] To implement this invention, it is necessary to build a system that links users, terminals, and servers. This system allows each element to communicate with each other and provide fitness information to users. Below, we will explain in detail the processing of a program using this system.
[0461] First, the user uses the device to input a fitness-related question into the app. For example, the user types a question such as "What is the correct form for squatting?" into the device's input field. This allows input in natural language, making it highly convenient for users.
[0462] The terminal then parses this input data and converts it into an appropriate data format (e.g., JSON format). The terminal can use Python's NLTK (Natural Language Toolkit) to smoothly execute the analysis. After this conversion, the data is in the format {"request": "Tell me the correct squat form"}. This makes the data ready for the next process: sending it to the server.
[0463] The device sends the converted JSON data to the server's API endpoint using the HTTP POST method. The destination URL is, for example, https: / / example.com / api / fitness. The device checks the status code to ensure the data was sent properly and logs the success.
[0464] The server analyzes the received HTTP request and extracts the JSON data. Web frameworks such as Flask and Django can be used for this analysis. For example, in the case of Flask, the data is read using request.json. The server then clarifies the user's question from the extracted data and proceeds to the next step in the response generation process.
[0465] Next, the server passes the extracted question to a generative AI model. Examples of such AI models include OpenAI's GPT-4, which utilizes natural language processing technology. The server creates a prompt for the AI and asks it to generate a response. An example of a specific prompt is, "The user is asking about the correct form for squats. Please provide an appropriate answer." The AI generates a detailed answer based on this prompt. For example, a response might be, "The correct form for squats is to stand with your feet shoulder-width apart and your back straight..."
[0466] The server receives the response from the AI and formats it for presentation to the user. This formatting process involves converting the response back into JSON format. The formatted data will have the following format: {"response": "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight..."}
[0467] Finally, the device receives this JSON data, verifies its integrity, and then displays a response in an easy-to-read format to the user. For example, the app might display a message like, "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0468] As described above, this system can provide fitness information efficiently and accurately through cooperation between the user, terminal, and server.
[0469] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0470] Step 1:
[0471] A user types a fitness question into the app.
[0472] Input: A natural language question from the user (e.g., "What is the correct form for squatting?").
[0473] Output: The input question text.
[0474] Specific operation: The user enters a question into the input field on the terminal and presses the "Submit" button.
[0475] Step 2:
[0476] The terminal parses the entered question and converts it into an appropriate data format (e.g., JSON format).
[0477] Input: User question text ("What is the correct form for squatting?").
[0478] Output: Transformed JSON data({"request": "What is the correct squat form?"}).
[0479] Specific operation: The terminal uses a library such as Python's NLTK to parse the input and convert it into JSON format.
[0480] Step 3:
[0481] The terminal sends the converted JSON data to the server using the HTTP POST method.
[0482] Input: JSON data({"request": "What is the correct squat form?"}).
[0483] Output: The HTTP request sent to the server.
[0484] Specific operation: The device generates an HTTP request to the destination URL (e.g., https: / / example.com / api / fitness) and sends the data. It checks for a successful status code (e.g., 200 OK).
[0485] Step 4:
[0486] The server parses the received HTTP request and extracts the data.
[0487] Input: JSON data sent from the device ({"request": "What is the correct squat form?"}).
[0488] Output: Parsed question ("What is the correct form for squatting?").
[0489] Specific operation: The server uses the Flask or Django web framework to read the request data and parse the JSON data.
[0490] Step 5:
[0491] The server passes the analyzed question content to a generative AI model to generate a response.
[0492] Input: Parsed question ("What is the correct form for squatting?").
[0493] Output: The generated response text (e.g., "The correct form for squats is...").
[0494] What it does: The server creates a prompt (e.g., "The user is asking about the correct form for squats. Please provide an appropriate answer.") and passes it to a generative AI model (e.g., GPT-4) to generate a response.
[0495] Step 6:
[0496] The server formats the generated response in an appropriate format, converts it back to JSON, and sends it back to the device.
[0497] Input: The generated response text ("The correct form for squats is...").
[0498] Output: Formatted JSON data ({"response": "The correct form for squats is..."}).
[0499] What happens: The server checks the response, formats it, converts it to JSON, and prepares it for sending back.
[0500] Step 7:
[0501] The terminal receives the JSON data returned from the server, formats it for display, and displays it to the user.
[0502] Input: JSON data returned from the server ({"response": "The correct form for squats is..."}).
[0503] Output: A response message that is displayed in the user interface (e.g., "The correct form for squats is...").
[0504] Specific operation: The device parses the JSON data, formats it into a format that is easy for the user to read, and displays it on the app screen.
[0505] (Application example 1)
[0506] 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."
[0507] Conventional fitness support systems and applications require a lot of effort and lack real-time capabilities when users need to learn the correct training form and obtain appropriate fitness information. This puts users at risk of continuing to train with incorrect form or consuming meals based on inappropriate nutritional information. This can reduce the effectiveness of their training and, in some cases, lead to injury. It is necessary to solve these issues and enable users to train efficiently and safely.
[0508] 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.
[0509] In this invention, the server includes means for accepting voice input from a user, means for converting the voice input into text data format, means for transmitting the converted text data format to the server, means for analyzing the input, means for generating a response based on the analyzed input, means for overlaying the generated response in the user's field of view, and means for displaying the returned response on a head-mounted display, thereby enabling the user to obtain accurate training form and fitness information in real time.
[0510] A "user" is someone who uses this system to train at a fitness gym or sports facility.
[0511] "Voice input" refers to the audio signals of fitness-related questions or instructions given verbally by the user.
[0512] "Text data format" is a format in which voice input is converted into character string data that is easy for machines to understand.
[0513] A "server" is a computer system that receives and analyzes user requests, and generates and sends responses.
[0514] The "means for parsing" is an analytical function for interpreting received user input in the form of text data and determining an appropriate response.
[0515] "Means for generating responses" refers to a function that uses generative artificial intelligence to create appropriate answers to user questions and requests.
[0516] "Overlay display" is a technology that displays the generated response superimposed on the user's field of vision via a head-mounted display worn by the user.
[0517] A "head-mounted display" is a display device that a user wears on their head to obtain visual information.
[0518] "Fitness information" refers to knowledge such as correct form, exercise plans, and nutritional information that users need when training.
[0519] As an embodiment of the present invention, a system is constructed in which a user wears a head-mounted display (HMD) at a fitness gym or sports facility and receives fitness guidance in real time.
[0520] First, the user asks a fitness question or makes a request via voice input through the HMD they are wearing. For example, they might say, "Tell me the correct form for bench pressing." The HMD is equipped with speech recognition technology, which converts this voice input into text data. Google's Speech-to-Text API is a suitable tool for this purpose.
[0521] The input converted to text data format is sent to the server using the HTTP POST method using the Python requests library. A Flask application runs on the server and analyzes the received request to determine what the user wants to know.
[0522] Based on the parsed results, the server uses the OpenAI API to call the generative AI model and generate a prompt. Specifically, the following prompt is used:
[0523] "Please explain in detail the correct bench press form, including how the user should stand with their chest out, how their elbows should bend, and how they should manipulate the barbell."
[0524] The generated text response is then converted back to JSON format and sent back to the HMD, which uses technologies such as Unity or Apple's ARKit to overlay the received response onto the user's field of view, allowing the user to visually confirm detailed instructions on "correct bench press form" in real time on the head-mounted display.
[0525] This process allows users to obtain accurate and detailed fitness information in real time when training at a fitness gym, enabling them to train safely and effectively.
[0526] (Example)
[0527] While working out at the gym, a user speaks, "Tell me the correct form for squats." The HMD converts the speech to text and sends it to the server. The server analyzes the request and uses a generative AI model to generate a response like this:
[0528] prompt:
[0529] "Please provide a detailed explanation of the correct form for squatting, including how the user should stand with their feet shoulder-width apart, their back straight, and their knees bent as they lower themselves down."
[0530] This response is sent back to the HMD and overlaid on the user's field of view. The user can then perform the exercise while viewing the displayed advice: "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower your hips. Make sure your knees do not extend beyond your toes, and then return to the starting position."
[0531] In this way, the present invention realizes a fitness information providing system that allows users to train efficiently and safely.
[0532] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0533] Step 1:
[0534] The user wears a head-mounted display (HMD) and makes fitness-related questions or requests via voice input. In this example, the user voice-inputs a question such as "Tell me the correct bench press form." The voice input is received by a microphone in the HMD.
[0535] Input data: User's voice input: "What is the correct bench press form?"
[0536] Output data: Audio signal
[0537] Step 2:
[0538] The device (HMD) uses voice recognition technology to convert the voice signal into text data format, and uses Google's Speech-to-Text API to obtain the voice signal as text data.
[0539] Input data: User's voice signal
[0540] Data processing: Convert speech to text using Google Speech-to-Text API
[0541] Output data: Text data "What is the correct bench press form?"
[0542] Step 3:
[0543] The terminal converts the text data into the appropriate data format (JSON format) and prepares it to be sent to the server. Python is used to pack the text data into JSON format.
[0544] Input data: Text data "What is the correct bench press form?"
[0545] Data processing: Convert to JSON format using a Python script
[0546] Output data: JSON data
[0547] Step 4:
[0548] The device sends the converted JSON data to the server using the HTTP POST method, and uses the Python requests library to send a request to the server's API endpoint.
[0549] Input data: JSON data
[0550] Data processing: HTTP request (POST)
[0551] Output data: Result of request sent to server
[0552] Step 5:
[0553] The server parses the JSON data received from the terminal to identify the user's question. It uses a Flask application to parse the JSON data and extract the request content.
[0554] Input data: JSON data
[0555] Data Processing: JSON Parsing in Flask
[0556] Output data: Analysis results (text data "What is the correct bench press form?")
[0557] Step 6:
[0558] The server passes the parsed question to a generative AI model (OpenAI API) to generate an appropriate response. It creates a specific prompt and sends it to the AI model.
[0559] Input data: Analysis results (text data "Please tell me the correct bench press form")
[0560] Data processing: Send a prompt to the generative AI model: "Please explain in detail the correct form for bench pressing. In particular, please explain how the user should stick out their chest, bend their elbows, and manipulate the barbell."
[0561] Output data: Responses from the generative AI model
[0562] Step 7:
[0563] The server converts the response received from the generative AI model into JSON format and prepares it to be sent back to the device. A Flask application is used to format the response and pack it as JSON data.
[0564] Input data: Responses from generative AI models
[0565] Data processing: Formatting the response into JSON format
[0566] Output data: JSON data
[0567] Step 8:
[0568] The device receives the JSON data returned from the server and formats it for display in the user interface, overlaying it on the user's field of view using Unity or ARKit.
[0569] Input data: JSON data
[0570] Data processing: Formatting for display (using Unity or ARKit)
[0571] Output data: Visual representation of "The correct bench press form is to start with your chest out and elbows bent at right angles, then slowly lower the barbell. Bring your shoulder blades together and return to the starting position."
[0572] The specific process and its flow are described in detail in each step, thereby showing a specific method for carrying out the present invention.
[0573] 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.
[0574] To put this invention into practice, a system is constructed in which users, terminals, a server, and an emotion engine work together. The processing of a program using this system will now be described in detail.
[0575] 1. User Input
[0576] The user uses the device to input a fitness question or request into the app, for example, "I'm feeling unmotivated today, so please tell me some easy exercises."
[0577] 2. Generating a request on the device
[0578] The device analyzes the input received from the user and converts it into an appropriate data format (e.g., JSON format), which makes it possible to send it to the server. Furthermore, the emotion engine analyzes the emotion from the user input and includes the result in the data format.
[0579] 3. Sending a request to the server
[0580] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0581] 4. Receiving and analyzing the request on the server
[0582] The server receives the request sent from the device. The server analyzes the request content to identify the user's question. It also obtains the emotion analysis results provided by the emotion engine.
[0583] 5. AI-generated responses
[0584] The server passes the identified question and the results of emotion analysis to the chat generation AI, instructing it to generate an appropriate response. Based on the input question and emotion, the AI generates the optimal answer from related data. For example, if emotion analysis identifies that the user is tired, it generates a response recommending some light stretching.
[0585] 6. Server Response Formatting
[0586] The server formats the answer received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0587] 7. Receiving and displaying responses on the terminal
[0588] The device receives the response sent back from the server, analyzes the received data, and formats it for display in the user interface. For example, it might say, "You seem tired today. I recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[0589] Specific examples
[0590] Training method example
[0591] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0592] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., motivated) and sends them to the server.
[0593] The server analyzes the received request and passes the question content and sentiment analysis results to the AI, which then generates the answer, "Recommended strength training for beginners is squats, push-ups, and planks."
[0594] The server formats this response and sends it back to the terminal.
[0595] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0596] Nutritional Information Example
[0597] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0598] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., feeling tired) and sends them to the server.
[0599] The server analyzes the received request and passes the question and sentiment analysis result (tired) to the AI. The AI then generates the following message: "To build muscle, it's important to eat foods that are high in protein. If you're tired, it's a good idea to focus on eating easily digestible meats like chicken and fish."
[0600] The server formats this response and sends it back to the terminal.
[0601] The device will display a message to the user saying, "To build muscle, it's important to eat foods that are high in protein, such as chicken and fish. If you're feeling tired, it's a good idea to focus on these foods."
[0602] As described above, by combining the emotion engine with this invention, it is possible to provide more personalized fitness information according to the user's emotions, thereby enabling the user to carry out more appropriate and effective fitness and health management.
[0603] The processing flow will be explained below.
[0604] Step 1: A user launches the app and enters a fitness question or request. For example, "I'm feeling unmotivated today, can you recommend a simple exercise?"
[0605] Step 2: The device receives the user's input and analyzes it as text. At this stage, the emotion engine analyzes the user's emotions from the input text.
[0606] Step 3: The device converts the emotion data obtained through analysis into JSON format data. For example, the format is {"query":"I'm not motivated today, so please teach me some easy exercises", "emotion":"Low motivation"}.
[0607] Step 4: The device sends the converted request to the server's API endpoint using the HTTP POST method. At this time, the device checks whether the transmission was successful.
[0608] Step 5: The server receives the request sent from the device. The server parses the received JSON data and extracts the user's question and emotion data.
[0609] Step 6: Based on the question content and emotional data extracted by the server, the chat generation artificial intelligence (AI) is instructed to generate a response. The AI generates the optimal response based on the question content and emotional data. For example, if the emotional data is "low motivation," the AI generates a response suggesting light exercise.
[0610] Step 7: The server formats the response received from the AI and converts it back into JSON format. For example, it would look like this: {"response":"Today, try some simple stretching exercises. Recommended exercises include rotating your shoulders and stretching your neck."}
[0611] Step 8: The server returns the formatted response data to the terminal. It is sent as an HTTP response.
[0612] Step 9: The terminal receives the response data sent back from the server, analyzes the received data, and formats it for display on the user interface.
[0613] Step 10: The user checks the response displayed on the device. For example, the response might say, "Today, try some simple stretches. We recommend rotating your shoulders and stretching your neck."
[0614] This process allows users to receive fitness advice tailored to their emotional state at the time. The introduction of an emotion engine makes it possible to provide more personalized information that matches the user's motivation and mood.
[0615] Example 2
[0616] 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."
[0617] Conventional fitness information systems often provide only general information without considering the user's emotional state, making it difficult to provide personalized information that reflects the user's motivation and condition, resulting in lower user satisfaction and retention rates.
[0618] 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 a means for accepting input from a user, a means for converting the input into a data format, and a means for analyzing the input and its emotions. This makes it possible to provide personalized fitness information that takes into account the user's emotional state.
[0619] The "means for accepting input from the user" is an interface that allows the user to input fitness-related questions and requests into the terminal.
[0620] The "means of converting into a data format" is a process of analyzing input from a user and converting it into a format suitable for data communication (e.g., JSON format).
[0621] The "means of sending to the server" is a process of transferring the input converted into a data format to the server using the HTTP POST method or the like.
[0622] The "means for analyzing input and analyzing the emotion" is a process of analyzing the input data from the user to identify the question content, and then extracting the user's emotion information using an emotion engine.
[0623] The "means for generating a response" is a process in which an appropriate response is generated by the chat generation artificial intelligence (generative AI model) based on the analyzed input and emotional information.
[0624] The "means for returning the generated response to the user terminal" is a process for converting the generated response into a data format and returning it to the user terminal.
[0625] The "means for displaying the returned response" refers to the process in which the user terminal receives and analyzes the returned response data and displays it in a format suitable for the user interface.
[0626] A "generative AI model" is an artificial intelligence that generates optimal responses based on questions and emotional information from users.
[0627] To put this invention into practice, it is necessary to build a system in which users, terminals, a server, and an emotion analysis engine work together. Below, we will explain in detail the processing of a program using this system.
[0628] User Input
[0629] Users can use devices such as smartphones or PCs to input fitness-related questions or requests. For example, a user might input a question or request in text format, such as "I'm not feeling motivated today, so please tell me some easy exercises."
[0630] Making a request on the device
[0631] After receiving input from the user, the device uses natural language processing to analyze the text and convert it into an appropriate data format (e.g., JSON format). It then activates a sentiment analysis engine to analyze emotional information from the user's input. For example, it can extract emotional information such as "unmotivated" or "tired" from the input. The device then generates data containing this information and converts it into JSON format.
[0632] Sending a request to the server
[0633] The device sends the generated data to the server's API endpoint using the HTTP POST method. The sending process also includes a response check to confirm whether the request was successful, for example, receiving a 200 OK response from the server.
[0634] Receiving and parsing requests on the server
[0635] The server receives the request data sent from the device. It analyzes the data and identifies the user's question and emotional information. Specifically, it parses the received JSON data and extracts the question and emotional part. For example, it identifies the question "I'm not motivated today, so please teach me some easy exercises" and the emotional data "I'm not motivated and tired."
[0636] AI-powered response generation
[0637] The server passes the identified question content and the results of the sentiment analysis to a generative AI model (e.g., a chat generation AI) and instructs it to generate an appropriate response. The AI generates the optimal answer based on this input data. For example, if sentiment analysis determines that the user is "tired," it generates a response such as, "We recommend some light stretching. Start with simple exercises such as rotating your shoulders and stretching your neck."
[0638] Response formatting on the server
[0639] The server formats the response received from the AI, converts it back to JSON format, and prepares it for sending back to the device. The formatting process includes checking the format of the response data and adding necessary data.
[0640] Receive and display a response on the terminal
[0641] The device receives the JSON data returned from the server, parses it, and formats it for display in the user interface. For example, it might display something like, "You seem tired today. We recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[0642] Specific prompt examples
[0643] Examples of prompt statements
[0644] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0645] After the device receives this input, it analyzes it and further analyzes the emotion of "motivated."
[0646] The server sends the analysis results to the platform, and the generative AI model generates a response such as, "Recommended strength training exercises for beginners are squats, push-ups, and planks."
[0647] The device receives the returned data and displays to the user, "Recommended strength training for beginners is squats, push-ups, and planks."
[0648] This system can provide appropriate fitness information that takes into account the user's emotional state, allowing users to enjoy a more personalized fitness experience, which is expected to maintain motivation and improve retention rates.
[0649] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0650] Step 1:
[0651] A user uses a device to input a fitness question or request. The user inputs text into an application on the device, such as "I'm not feeling motivated today, so please tell me some easy exercises." This text input is sent to the device.
[0652] Step 2:
[0653] The terminal receives input text from the user and converts it into a data format. Specifically, it parses the input text and converts it into JSON format. For example, it converts the input text into JSON like this:
[0654] json
[0655] {
[0656] "userInput": "I'm feeling unmotivated today, so tell me some easy exercises"
[0657] }
[0658] This JSON format data is generated.
[0659] Step 3:
[0660] The device launches an emotion engine to analyze emotional information from the user's input text. The emotion engine analyzes the text and identifies the user's emotional state. For example, from the input "I don't feel motivated today," it extracts emotions such as "tired" and "unmotivated." The following JSON data containing the analysis results is generated:
[0661] json
[0662] {
[0663] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[0664] "emotion": "Tired, unmotivated"
[0665] }
[0666] Step 4:
[0667] The device sends the generated JSON data to the server using the HTTP POST method, including the analysis results and emotion information, to the server's API endpoint. At this time, a 200 OK response is received from the server to confirm that the transmission was successful.
[0668] Step 5:
[0669] The server receives the JSON data sent from the device. After receiving it, the server parses the data and extracts the user's question and sentiment information. Specifically, the server analyzes the data as follows:
[0670] json
[0671] {
[0672] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[0673] "emotion": "Tired, unmotivated"
[0674] }
[0675] The server extracts the question and emotion parts based on this data.
[0676] Step 6:
[0677] The server passes the extracted question content and the results of the emotion analysis to the generative AI model, and instructs it to generate an appropriate response. The AI model generates the optimal answer based on this input data. For example, if the emotion data determines that the user is "tired," the AI model will generate a response such as "We recommend some light stretching." The generated response looks like this:
[0678] json
[0679] {
[0680] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0681] }
[0682] Step 7:
[0683] The server formats the response received from the AI model and converts it back to JSON format. The formatted data looks like this:
[0684] json
[0685] {
[0686] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0687] }
[0688] This data is prepared for transmission to the terminal.
[0689] Step 8:
[0690] The device receives the JSON data returned by the server, parses it, and formats it in a suitable format for display in the user interface. For example, it displays the following in the user interface:
[0691] "You seem tired today. I'd like to suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[0692] (Application example 2)
[0693] 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."
[0694] Conventional fitness support systems often provide uniform information and training advice without considering the user's emotions. This results in problems such as not being able to provide advice that is optimal for the user's motivation and physical condition, reducing the effectiveness of fitness programs. Furthermore, since these systems can only be used on specific devices, there are also issues with usability.
[0695] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing the user's emotions, means for adjusting a response based on the analyzed emotions, and means for displaying the response on a device wearable by the user. This makes it possible to provide personalized fitness advice based on the user's emotional state in real time.
[0696] The "means for accepting input from the user" refers to a device or program for accepting natural language input, gestures, etc., made by the user to the system.
[0697] The "means for converting the input into a data format" refers to a device or program that analyzes the input information from the user and converts it into a format that can be processed by the server (for example, JSON format).
[0698] The "means for transmitting the input converted into the data format to the server" refers to a device or program having a communication function for transmitting the user's input information converted into a data format to the server.
[0699] The "means for analyzing the input" refers to a device or program that analyzes the user's input information received by the server and extracts the necessary information.
[0700] The "means for generating a response based on the analyzed input" refers to a device or program that generates an appropriate response or advice based on the analyzed user input information.
[0701] The "means for returning the generated response to the user terminal" is a device or program having a communication function for transmitting the generated response from the server to the user terminal.
[0702] The "means for displaying the returned response" refers to a device or program that visually or audibly displays the response received at the user's terminal to the user.
[0703] The "means for analyzing user emotions" refers to a device or program that analyzes the user's emotional state through analysis of the user's input, physical information, and facial expressions.
[0704] The "means for adjusting a response based on the analyzed emotion" is a device or program that appropriately adjusts the content of a response in accordance with the analyzed emotional state of the user.
[0705] "Means for displaying a response on a user-wearable device" refers to a device or program that displays the generated response on a device that the user can wear (e.g., smart glasses, smart watch).
[0706] To implement the present invention, a system is constructed in which a user, a terminal, a server, and an emotion engine work together.
[0707] User Input
[0708] The user wears the smart glasses and inputs questions or requests into the app while training in the gym. For example, they might input, "I'm a little tired today, so a light exercise would be good."
[0709] Making a request on the device
[0710] The device analyzes the input received from the user and converts it into an appropriate data format. Furthermore, the emotion engine analyzes the emotion from the user input and also includes the result in the data format.
[0711] Sending a request to the server
[0712] The device sends the converted request to the server's API endpoint using the HTTP POST method, and the server confirms whether the request was sent successfully.
[0713] Receiving and parsing requests on the server
[0714] The server receives and analyzes requests sent from the device, obtains the request content and sentiment analysis results, and generates a response based on the identified question content and emotional state.
[0715] AI-powered response generation
[0716] The server passes the identified question content and the emotion analysis results to the generative AI model and instructs it to generate an appropriate response. The generative AI model generates the optimal answer based on the input question and emotion. For example, if emotion analysis identifies that the user is tired, it generates a response recommending light stretching.
[0717] Response formatting on the server
[0718] The server formats the answer received from the AI, converts it back into data format, and prepares it to be sent back to the device.
[0719] Receive and display a response on the terminal
[0720] The device receives the response sent back from the server and formats it for display on the user interface. It then displays the response on the smart glasses display. For example, it might say, "You seem tired. We recommend some gentle stretching, such as rotating your shoulders and stretching your neck."
[0721] Specific examples
[0722] Examples of training guidance
[0723] A user inputs into their smart glasses, "I'm a little tired today, so a light exercise would be good."
[0724] The terminal analyzes the input data, and the emotion engine analyzes the user's emotions (fatigue state) and sends them to the server.
[0725] The server analyzes the received request and passes the question and sentiment analysis results to the generative AI model, which then generates a response such as, "If you're tired, some light stretching, such as rotating your shoulders and stretching your neck, would be good."
[0726] The server formats this response and sends it back to the terminal.
[0727] The device displays on the smart glasses, "If you feel tired, some light stretching, such as rotating your shoulders and stretching your neck, may help."
[0728] Prompt Sentence Examples
[0729] User says: "I'm feeling a little tired today, so a light exercise would be good."
[0730] Emotion analysis results: "Fatigue detected"
[0731] Fitness Trainer AI input prompt:
[0732] '''
[0733] Suggest the best exercises for when the user is tired. Consider the user's level of fatigue and recommend exercises that are easy and accessible.
[0734] '''
[0735] Example output:
[0736] "If you're feeling tired, some gentle stretching can help. Start with simple exercises like shoulder rotations and neck stretches."
[0737] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0738] Step 1:
[0739] The user inputs information through the smart glasses (e.g., "I'm a little tired today, so a light exercise would be good."). The smart glasses recognize the user's speech and send it to the device as text data. The input for this step is the user's voice input, and the output is text data.
[0740] Step 2:
[0741] The device receives the user's input data and sends it to the emotion engine, which analyzes the user's voice and facial expressions to identify their emotional state. The input to this step is the user's text data and voice / facial expression analysis data, and the output is data indicating the user's emotional state.
[0742] Step 3:
[0743] The device integrates the emotion data obtained from the emotion engine with the user's text input and converts it into JSON format data. The converted data is sent to the server. The input of this step is text data and emotion data, and the output is JSON format data.
[0744] Step 4:
[0745] The server receives the JSON data from the device and begins data analysis and processing. The analysis identifies the user's request and emotional state. The input of this step is JSON-formatted data, and the output is the analysis result.
[0746] Step 5:
[0747] The server then queries the generative AI model based on the analysis results to generate an optimal response. For example, if the user's fatigue is detected, the AI generates a response suggesting light exercise. The input of this step is the analysis results, and the output is the generated response.
[0748] Step 6:
[0749] The server formats the response received from the generative AI model and converts it back into JSON format. The formatted data is sent back to the device. The input of this step is the generated response, and the output is JSON format data.
[0750] Step 7:
[0751] The device parses the JSON data received from the server and formats it appropriately for display on the smart glasses display. For example, the user receives advice such as, "You seem tired, so we recommend some light stretching, such as rotating your shoulders and stretching your neck." The input of this step is JSON data, and the output is text to be displayed on the smart glasses display.
[0752] 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.
[0753] 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.
[0754] 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.
[0755] [Third embodiment]
[0756] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0757] 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.
[0758] 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).
[0759] 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.
[0760] 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.
[0761] 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).
[0762] 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.
[0763] 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.
[0764] 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.
[0765] 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.
[0766] 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.
[0767] 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."
[0768] To put the present invention into practice, a system is constructed in which users, terminals, and servers work together. The processing of a program using this system will now be described in detail.
[0769] 1. User Input
[0770] A user uses a device to input a fitness question or request into the app, for example, "What is the correct form for squats?"
[0771] 2. Generating a request on the device
[0772] The device parses the input received from the user and converts it into an appropriate data format (e.g., JSON format), which prepares it for smooth transmission to the server.
[0773] 3. Sending a request to the server
[0774] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0775] 4. Receiving and analyzing the request on the server
[0776] The server analyzes the request received from the device and extracts the user's question. For example, if the request is "correct form for squats," the server identifies the question.
[0777] 5. AI-generated responses
[0778] The server then passes the analyzed question to a chat-generating AI system, which generates an appropriate response. This AI uses natural language processing technology to generate the best answer to the user's question based on past learning data. For example, it generates a detailed explanation of squat form.
[0779] 6. Server Response Formatting
[0780] The server formats the response received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0781] 7. Receiving and displaying responses on the terminal
[0782] The device receives the response sent back from the server and formats it for display in the user interface, for example, "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower yourself down. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0783] Specific examples
[0784] Training method example
[0785] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0786] The terminal analyzes the input data and sends it to the server.
[0787] The server analyzes the received request and has the AI generate a response about "strength training for beginners."
[0788] The AI generates the answer, "Recommended strength training exercises for beginners include squats, push-ups, and planks."
[0789] The server formats this response and sends it back to the terminal.
[0790] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0791] Nutritional Information Example
[0792] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0793] The terminal analyzes the input data and sends it to the server.
[0794] The server analyzes the received request and has the AI generate a response about "diet for increasing muscle strength."
[0795] The AI generates the answer, "To build muscle, it is important to consume foods that are high in protein. Eat chicken, fish, soy products, eggs, etc. in a balanced manner."
[0796] The server formats this response and sends it back to the terminal.
[0797] The device tells the user, "To increase muscle strength, it is important to eat foods high in protein, such as chicken, fish, soy products, and eggs."
[0798] As described above, the present invention provides a system that allows users to easily obtain training methods, form, exercise plans, health advice, nutrition information, etc. This allows users to efficiently and quickly obtain fitness information.
[0799] The processing flow will be explained below.
[0800] Step 1: A user launches the app and enters a fitness question or request, such as "What is the correct form for squats?"
[0801] Step 2: The device receives the user's input, parses it, and converts it into an appropriate data format, such as JSON, so that it can be sent to the server.
[0802] Step 3: The device sends a request in the converted data format to the server's API endpoint using the HTTP POST method.
[0803] Step 4: The server receives the request sent from the terminal. The server analyzes the request and identifies the user's question.
[0804] Step 5: The server passes the identified question to the chat generation AI and instructs it to generate an appropriate response. Based on the input question, the AI generates the best answer from related data.
[0805] Step 6: The server receives the answer generated by the AI, reformats the data as needed, and converts it into an appropriate format, such as JSON.
[0806] Step 7: The server returns the formatted response data to the terminal. It is returned as an HTTP response.
[0807] Step 8: The terminal receives the response data from the server, analyzes the received data, and formats it for display on the user interface.
[0808] Step 9: The user checks the response displayed on the device, such as "Proper squat form is to stand with your feet shoulder-width apart, your spine straight, and your knees bent to lower your hips. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0809] Example 1
[0810] 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."
[0811] Conventional fitness information systems have made it difficult for users to quickly obtain information on proper form and training methods. Furthermore, they lacked an interface that could provide accurate answers based on past data to specific user questions. This puts users at risk of learning unreliable information or improper form. Therefore, the present invention aims to provide a system that allows users to easily obtain highly accurate fitness information.
[0812] 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.
[0813] In this invention, the server includes means for accepting input from a user, means for generating a response using a generative AI model based on the analyzed input, and means for formatting the generated response and returning it to the user terminal, thereby enabling the user to quickly and accurately obtain fitness information.
[0814] "User" refers to a person who uses the system to obtain fitness information.
[0815] "Input" refers to questions or requests that a user makes to the system through a terminal.
[0816] "Terminal" refers to the hardware device a user uses to access the system, including smartphones, tablets, and PCs.
[0817] "Data format" refers to the unified format used when exchanging information within a system, and specifically includes JSON and XML.
[0818] "Server" refers to a centralized computer system that receives input data from users, analyzes it, and generates a response.
[0819] "Analysis" refers to the process by which the server understands the data it receives from the user and extracts useful information.
[0820] A "generative AI model" refers to an artificial intelligence model that uses natural language processing technology to generate optimal answers to user questions.
[0821] "Formatting" refers to the process of adjusting the format of the response created by AI so that it can be displayed appropriately on the user's device.
[0822] "Response" refers to the answer that a generative AI model generates in response to a user's question.
[0823] "Return" means sending the response generated by the server back to the user's terminal.
[0824] "Display" refers to the terminal showing the returned response to the user in an easy-to-read format.
[0825] To implement this invention, it is necessary to build a system that links users, terminals, and servers. This system allows each element to communicate with each other and provide fitness information to users. Below, we will explain in detail the processing of a program using this system.
[0826] First, the user uses the device to input a fitness-related question into the app. For example, the user types a question such as "What is the correct form for squatting?" into the device's input field. This allows input in natural language, making it highly convenient for users.
[0827] The terminal then parses this input data and converts it into an appropriate data format (e.g., JSON format). The terminal can use Python's NLTK (Natural Language Toolkit) to smoothly execute the analysis. After this conversion, the data is in the format {"request": "Tell me the correct squat form"}. This makes the data ready for the next process: sending it to the server.
[0828] The device sends the converted JSON data to the server's API endpoint using the HTTP POST method. The destination URL is, for example, https: / / example.com / api / fitness. The device checks the status code to ensure the data was sent properly and logs the success.
[0829] The server analyzes the received HTTP request and extracts the JSON data. Web frameworks such as Flask and Django can be used for this analysis. For example, in the case of Flask, the data is read using request.json. The server then clarifies the user's question from the extracted data and proceeds to the next step in the response generation process.
[0830] Next, the server passes the extracted question to a generative AI model. Examples of such AI models include OpenAI's GPT-4, which utilizes natural language processing technology. The server creates a prompt for the AI and asks it to generate a response. An example of a specific prompt is, "The user is asking about the correct form for squats. Please provide an appropriate answer." The AI generates a detailed answer based on this prompt. For example, a response might be, "The correct form for squats is to stand with your feet shoulder-width apart and your back straight..."
[0831] The server receives the response from the AI and formats it for presentation to the user. This formatting process involves converting the response back into JSON format. The formatted data will have the following format: {"response": "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight..."}
[0832] Finally, the device receives this JSON data, verifies its integrity, and then displays a response in an easy-to-read format to the user. For example, the app might display a message like, "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight. Make sure your knees do not extend beyond your toes, then return to the starting position."
[0833] As described above, this system can provide fitness information efficiently and accurately through cooperation between the user, terminal, and server.
[0834] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0835] Step 1:
[0836] A user types a fitness question into the app.
[0837] Input: A natural language question from the user (e.g., "What is the correct form for squatting?").
[0838] Output: The input question text.
[0839] Specific operation: The user enters a question into the input field on the terminal and presses the "Submit" button.
[0840] Step 2:
[0841] The terminal parses the entered question and converts it into an appropriate data format (e.g., JSON format).
[0842] Input: User question text ("What is the correct form for squatting?").
[0843] Output: Transformed JSON data({"request": "What is the correct squat form?"}).
[0844] Specific operation: The terminal uses a library such as Python's NLTK to parse the input and convert it into JSON format.
[0845] Step 3:
[0846] The terminal sends the converted JSON data to the server using the HTTP POST method.
[0847] Input: JSON data({"request": "What is the correct squat form?"}).
[0848] Output: The HTTP request sent to the server.
[0849] Specific operation: The device generates an HTTP request to the destination URL (e.g., https: / / example.com / api / fitness) and sends the data. It checks for a successful status code (e.g., 200 OK).
[0850] Step 4:
[0851] The server parses the received HTTP request and extracts the data.
[0852] Input: JSON data sent from the device ({"request": "What is the correct squat form?"}).
[0853] Output: Parsed question ("What is the correct form for squatting?").
[0854] Specific operation: The server uses the Flask or Django web framework to read the request data and parse the JSON data.
[0855] Step 5:
[0856] The server passes the analyzed question content to a generative AI model to generate a response.
[0857] Input: Parsed question ("What is the correct form for squatting?").
[0858] Output: The generated response text (e.g., "The correct form for squats is...").
[0859] What it does: The server creates a prompt (e.g., "The user is asking about the correct form for squats. Please provide an appropriate answer.") and passes it to a generative AI model (e.g., GPT-4) to generate a response.
[0860] Step 6:
[0861] The server formats the generated response in an appropriate format, converts it back to JSON, and sends it back to the device.
[0862] Input: The generated response text ("The correct form for squats is...").
[0863] Output: Formatted JSON data ({"response": "The correct form for squats is..."}).
[0864] What happens: The server checks the response, formats it, converts it to JSON, and prepares it for sending back.
[0865] Step 7:
[0866] The terminal receives the JSON data returned from the server, formats it for display, and displays it to the user.
[0867] Input: JSON data returned from the server ({"response": "The correct form for squats is..."}).
[0868] Output: A response message that is displayed in the user interface (e.g., "The correct form for squats is...").
[0869] Specific operation: The device parses the JSON data, formats it into a format that is easy for the user to read, and displays it on the app screen.
[0870] (Application example 1)
[0871] 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."
[0872] Conventional fitness support systems and applications require a lot of effort and lack real-time capabilities when users need to learn the correct training form and obtain appropriate fitness information. This puts users at risk of continuing to train with incorrect form or consuming meals based on inappropriate nutritional information. This can reduce the effectiveness of their training and, in some cases, lead to injury. It is necessary to solve these issues and enable users to train efficiently and safely.
[0873] 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.
[0874] In this invention, the server includes means for accepting voice input from a user, means for converting the voice input into text data format, means for transmitting the converted text data format to the server, means for analyzing the input, means for generating a response based on the analyzed input, means for overlaying the generated response in the user's field of view, and means for displaying the returned response on a head-mounted display, thereby enabling the user to obtain accurate training form and fitness information in real time.
[0875] A "user" is someone who uses this system to train at a fitness gym or sports facility.
[0876] "Voice input" refers to the audio signals of fitness-related questions or instructions given verbally by the user.
[0877] "Text data format" is a format in which voice input is converted into character string data that is easy for machines to understand.
[0878] A "server" is a computer system that receives and analyzes user requests, and generates and sends responses.
[0879] The "means for parsing" is an analytical function for interpreting received user input in the form of text data and determining an appropriate response.
[0880] "Means for generating responses" refers to a function that uses generative artificial intelligence to create appropriate answers to user questions and requests.
[0881] "Overlay display" is a technology that displays the generated response superimposed on the user's field of vision via a head-mounted display worn by the user.
[0882] A "head-mounted display" is a display device that a user wears on their head to obtain visual information.
[0883] "Fitness information" refers to knowledge such as correct form, exercise plans, and nutritional information that users need when training.
[0884] As an embodiment of the present invention, a system is constructed in which a user wears a head-mounted display (HMD) at a fitness gym or sports facility and receives fitness guidance in real time.
[0885] First, the user asks a fitness question or makes a request via voice input through the HMD they are wearing. For example, they might say, "Tell me the correct form for bench pressing." The HMD is equipped with speech recognition technology, which converts this voice input into text data. Google's Speech-to-Text API is a suitable tool for this purpose.
[0886] The input converted to text data format is sent to the server using the HTTP POST method using the Python requests library. A Flask application runs on the server and analyzes the received request to determine what the user wants to know.
[0887] Based on the parsed results, the server uses the OpenAI API to call the generative AI model and generate a prompt. Specifically, the following prompt is used:
[0888] "Please explain in detail the correct bench press form, including how the user should stand with their chest out, how their elbows should bend, and how they should manipulate the barbell."
[0889] The generated text response is then converted back to JSON format and sent back to the HMD, which uses technologies such as Unity or Apple's ARKit to overlay the received response onto the user's field of view, allowing the user to visually confirm detailed instructions on "correct bench press form" in real time on the head-mounted display.
[0890] This process allows users to obtain accurate and detailed fitness information in real time when training at a fitness gym, enabling them to train safely and effectively.
[0891] (Example)
[0892] While working out at the gym, a user speaks, "Tell me the correct form for squats." The HMD converts the speech to text and sends it to the server. The server analyzes the request and uses a generative AI model to generate a response like this:
[0893] prompt:
[0894] "Please provide a detailed explanation of the correct form for squatting, including how the user should stand with their feet shoulder-width apart, their back straight, and their knees bent as they lower themselves down."
[0895] This response is sent back to the HMD and overlaid on the user's field of view. The user can then perform the exercise while viewing the displayed advice: "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower your hips. Make sure your knees do not extend beyond your toes, and then return to the starting position."
[0896] In this way, the present invention realizes a fitness information providing system that allows users to train efficiently and safely.
[0897] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0898] Step 1:
[0899] The user wears a head-mounted display (HMD) and makes fitness-related questions or requests via voice input. In this example, the user voice-inputs a question such as "Tell me the correct bench press form." The voice input is received by a microphone in the HMD.
[0900] Input data: User's voice input: "What is the correct bench press form?"
[0901] Output data: Audio signal
[0902] Step 2:
[0903] The device (HMD) uses voice recognition technology to convert the voice signal into text data format, and uses Google's Speech-to-Text API to obtain the voice signal as text data.
[0904] Input data: User's voice signal
[0905] Data processing: Convert speech to text using Google Speech-to-Text API
[0906] Output data: Text data "What is the correct bench press form?"
[0907] Step 3:
[0908] The terminal converts the text data into the appropriate data format (JSON format) and prepares it to be sent to the server. Python is used to pack the text data into JSON format.
[0909] Input data: Text data "What is the correct bench press form?"
[0910] Data processing: Convert to JSON format using a Python script
[0911] Output data: JSON data
[0912] Step 4:
[0913] The device sends the converted JSON data to the server using the HTTP POST method, and uses the Python requests library to send a request to the server's API endpoint.
[0914] Input data: JSON data
[0915] Data processing: HTTP request (POST)
[0916] Output data: Result of request sent to server
[0917] Step 5:
[0918] The server parses the JSON data received from the terminal to identify the user's question. It uses a Flask application to parse the JSON data and extract the request content.
[0919] Input data: JSON data
[0920] Data Processing: JSON Parsing in Flask
[0921] Output data: Analysis results (text data "What is the correct bench press form?")
[0922] Step 6:
[0923] The server passes the parsed question to a generative AI model (OpenAI API) to generate an appropriate response. It creates a specific prompt and sends it to the AI model.
[0924] Input data: Analysis results (text data "Please tell me the correct bench press form")
[0925] Data processing: Send a prompt to the generative AI model: "Please explain in detail the correct form for bench pressing. In particular, please explain how the user should stick out their chest, bend their elbows, and manipulate the barbell."
[0926] Output data: Responses from the generative AI model
[0927] Step 7:
[0928] The server converts the response received from the generative AI model into JSON format and prepares it to be sent back to the device. A Flask application is used to format the response and pack it as JSON data.
[0929] Input data: Responses from generative AI models
[0930] Data processing: Formatting the response into JSON format
[0931] Output data: JSON data
[0932] Step 8:
[0933] The device receives the JSON data returned from the server and formats it for display in the user interface, overlaying it on the user's field of view using Unity or ARKit.
[0934] Input data: JSON data
[0935] Data processing: Formatting for display (using Unity or ARKit)
[0936] Output data: Visual representation of "The correct bench press form is to start with your chest out and elbows bent at right angles, then slowly lower the barbell. Bring your shoulder blades together and return to the starting position."
[0937] The specific process and its flow are described in detail in each step, thereby showing a specific method for carrying out the present invention.
[0938] 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.
[0939] To put this invention into practice, a system is constructed in which users, terminals, a server, and an emotion engine work together. The processing of a program using this system will now be described in detail.
[0940] 1. User Input
[0941] The user uses the device to input a fitness question or request into the app, for example, "I'm feeling unmotivated today, so please tell me some easy exercises."
[0942] 2. Generating a request on the device
[0943] The device analyzes the input received from the user and converts it into an appropriate data format (e.g., JSON format), which makes it possible to send it to the server. Furthermore, the emotion engine analyzes the emotion from the user input and includes the result in the data format.
[0944] 3. Sending a request to the server
[0945] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[0946] 4. Receiving and analyzing the request on the server
[0947] The server receives the request sent from the device. The server analyzes the request content to identify the user's question. It also obtains the emotion analysis results provided by the emotion engine.
[0948] 5. AI-generated responses
[0949] The server passes the identified question and the results of emotion analysis to the chat generation AI, instructing it to generate an appropriate response. Based on the input question and emotion, the AI generates the optimal answer from related data. For example, if emotion analysis identifies that the user is tired, it generates a response recommending some light stretching.
[0950] 6. Server Response Formatting
[0951] The server formats the answer received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[0952] 7. Receiving and displaying responses on the terminal
[0953] The device receives the response sent back from the server, analyzes the received data, and formats it for display in the user interface. For example, it might say, "You seem tired today. I recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[0954] Specific examples
[0955] Training method example
[0956] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[0957] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., motivated) and sends them to the server.
[0958] The server analyzes the received request and passes the question content and sentiment analysis results to the AI, which then generates the answer, "Recommended strength training for beginners is squats, push-ups, and planks."
[0959] The server formats this response and sends it back to the terminal.
[0960] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[0961] Nutritional Information Example
[0962] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[0963] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., feeling tired) and sends them to the server.
[0964] The server analyzes the received request and passes the question and sentiment analysis result (tired) to the AI. The AI then generates the following message: "To build muscle, it's important to eat foods that are high in protein. If you're tired, it's a good idea to focus on eating easily digestible meats like chicken and fish."
[0965] The server formats this response and sends it back to the terminal.
[0966] The device will display a message to the user saying, "To build muscle, it's important to eat foods that are high in protein, such as chicken and fish. If you're feeling tired, it's a good idea to focus on these foods."
[0967] As described above, by combining the emotion engine with this invention, it is possible to provide more personalized fitness information according to the user's emotions, thereby enabling the user to carry out more appropriate and effective fitness and health management.
[0968] The processing flow will be explained below.
[0969] Step 1: A user launches the app and enters a fitness question or request. For example, "I'm feeling unmotivated today, can you recommend a simple exercise?"
[0970] Step 2: The device receives the user's input and analyzes it as text. At this stage, the emotion engine analyzes the user's emotions from the input text.
[0971] Step 3: The device converts the emotion data obtained through analysis into JSON format data. For example, the format is {"query":"I'm not motivated today, so please teach me some easy exercises", "emotion":"Low motivation"}.
[0972] Step 4: The device sends the converted request to the server's API endpoint using the HTTP POST method. At this time, the device checks whether the transmission was successful.
[0973] Step 5: The server receives the request sent from the device. The server parses the received JSON data and extracts the user's question and emotion data.
[0974] Step 6: Based on the question content and emotional data extracted by the server, the chat generation artificial intelligence (AI) is instructed to generate a response. The AI generates the optimal response based on the question content and emotional data. For example, if the emotional data is "low motivation," the AI generates a response suggesting light exercise.
[0975] Step 7: The server formats the response received from the AI and converts it back into JSON format. For example, it would look like this: {"response":"Today, try some simple stretching exercises. Recommended exercises include rotating your shoulders and stretching your neck."}
[0976] Step 8: The server returns the formatted response data to the terminal. It is sent as an HTTP response.
[0977] Step 9: The terminal receives the response data sent back from the server, analyzes the received data, and formats it for display on the user interface.
[0978] Step 10: The user checks the response displayed on the device. For example, the response might say, "Today, try some simple stretches. We recommend rotating your shoulders and stretching your neck."
[0979] This process allows users to receive fitness advice tailored to their emotional state at the time. The introduction of an emotion engine makes it possible to provide more personalized information that matches the user's motivation and mood.
[0980] Example 2
[0981] 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."
[0982] Conventional fitness information systems often provide only general information without considering the user's emotional state, making it difficult to provide personalized information that reflects the user's motivation and condition, resulting in lower user satisfaction and retention rates.
[0983] 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 a means for accepting input from a user, a means for converting the input into a data format, and a means for analyzing the input and its emotions. This makes it possible to provide personalized fitness information that takes into account the user's emotional state.
[0984] The "means for accepting input from the user" is an interface that allows the user to input fitness-related questions and requests into the terminal.
[0985] The "means of converting into a data format" is a process of analyzing input from a user and converting it into a format suitable for data communication (e.g., JSON format).
[0986] The "means of sending to the server" is a process of transferring the input converted into a data format to the server using the HTTP POST method or the like.
[0987] The "means for analyzing input and analyzing the emotion" is a process of analyzing the input data from the user to identify the question content, and then extracting the user's emotion information using an emotion engine.
[0988] The "means for generating a response" is a process in which an appropriate response is generated by the chat generation artificial intelligence (generative AI model) based on the analyzed input and emotional information.
[0989] The "means for returning the generated response to the user terminal" is a process for converting the generated response into a data format and returning it to the user terminal.
[0990] The "means for displaying the returned response" refers to the process in which the user terminal receives and analyzes the returned response data and displays it in a format suitable for the user interface.
[0991] A "generative AI model" is an artificial intelligence that generates optimal responses based on questions and emotional information from users.
[0992] To put this invention into practice, it is necessary to build a system in which users, terminals, a server, and an emotion analysis engine work together. Below, we will explain in detail the processing of a program using this system.
[0993] User Input
[0994] Users can use devices such as smartphones or PCs to input fitness-related questions or requests. For example, a user might input a question or request in text format, such as "I'm not feeling motivated today, so please tell me some easy exercises."
[0995] Making a request on the device
[0996] After receiving input from the user, the device uses natural language processing to analyze the text and convert it into an appropriate data format (e.g., JSON format). It then activates a sentiment analysis engine to analyze emotional information from the user's input. For example, it can extract emotional information such as "unmotivated" or "tired" from the input. The device then generates data containing this information and converts it into JSON format.
[0997] Sending a request to the server
[0998] The device sends the generated data to the server's API endpoint using the HTTP POST method. The sending process also includes a response check to confirm whether the request was successful, for example, receiving a 200 OK response from the server.
[0999] Receiving and parsing requests on the server
[1000] The server receives the request data sent from the device. It analyzes the data and identifies the user's question and emotional information. Specifically, it parses the received JSON data and extracts the question and emotional part. For example, it identifies the question "I'm not motivated today, so please teach me some easy exercises" and the emotional data "I'm not motivated and tired."
[1001] AI-powered response generation
[1002] The server passes the identified question content and the results of the sentiment analysis to a generative AI model (e.g., a chat generation AI) and instructs it to generate an appropriate response. The AI generates the optimal answer based on this input data. For example, if sentiment analysis determines that the user is "tired," it generates a response such as, "We recommend some light stretching. Start with simple exercises such as rotating your shoulders and stretching your neck."
[1003] Response formatting on the server
[1004] The server formats the response received from the AI, converts it back to JSON format, and prepares it for sending back to the device. The formatting process includes checking the format of the response data and adding necessary data.
[1005] Receive and display a response on the terminal
[1006] The device receives the JSON data returned from the server, parses it, and formats it for display in the user interface. For example, it might display something like, "You seem tired today. We recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[1007] Specific prompt examples
[1008] Examples of prompt statements
[1009] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[1010] After the device receives this input, it analyzes it and further analyzes the emotion of "motivated."
[1011] The server sends the analysis results to the platform, and the generative AI model generates a response such as, "Recommended strength training exercises for beginners are squats, push-ups, and planks."
[1012] The device receives the returned data and displays to the user, "Recommended strength training for beginners is squats, push-ups, and planks."
[1013] This system can provide appropriate fitness information that takes into account the user's emotional state, allowing users to enjoy a more personalized fitness experience, which is expected to maintain motivation and improve retention rates.
[1014] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1015] Step 1:
[1016] A user uses a device to input a fitness question or request. The user inputs text into an application on the device, such as "I'm not feeling motivated today, so please tell me some easy exercises." This text input is sent to the device.
[1017] Step 2:
[1018] The terminal receives input text from the user and converts it into a data format. Specifically, it parses the input text and converts it into JSON format. For example, it converts the input text into JSON like this:
[1019] json
[1020] {
[1021] "userInput": "I'm feeling unmotivated today, so tell me some easy exercises"
[1022] }
[1023] This JSON format data is generated.
[1024] Step 3:
[1025] The device launches an emotion engine to analyze emotional information from the user's input text. The emotion engine analyzes the text and identifies the user's emotional state. For example, from the input "I don't feel motivated today," it extracts emotions such as "tired" and "unmotivated." The following JSON data containing the analysis results is generated:
[1026] json
[1027] {
[1028] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[1029] "emotion": "Tired, unmotivated"
[1030] }
[1031] Step 4:
[1032] The device sends the generated JSON data to the server using the HTTP POST method, including the analysis results and emotion information, to the server's API endpoint. At this time, a 200 OK response is received from the server to confirm that the transmission was successful.
[1033] Step 5:
[1034] The server receives the JSON data sent from the device. After receiving it, the server parses the data and extracts the user's question and sentiment information. Specifically, the server analyzes the data as follows:
[1035] json
[1036] {
[1037] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[1038] "emotion": "Tired, unmotivated"
[1039] }
[1040] The server extracts the question and emotion parts based on this data.
[1041] Step 6:
[1042] The server passes the extracted question content and the results of the emotion analysis to the generative AI model, and instructs it to generate an appropriate response. The AI model generates the optimal answer based on this input data. For example, if the emotion data determines that the user is "tired," the AI model will generate a response such as "We recommend some light stretching." The generated response looks like this:
[1043] json
[1044] {
[1045] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1046] }
[1047] Step 7:
[1048] The server formats the response received from the AI model and converts it back to JSON format. The formatted data looks like this:
[1049] json
[1050] {
[1051] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1052] }
[1053] This data is prepared for transmission to the terminal.
[1054] Step 8:
[1055] The device receives the JSON data returned by the server, parses it, and formats it in a suitable format for display in the user interface. For example, it displays the following in the user interface:
[1056] "You seem tired today. I'd like to suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1057] (Application example 2)
[1058] 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."
[1059] Conventional fitness support systems often provide uniform information and training advice without considering the user's emotions. This results in problems such as not being able to provide advice that is optimal for the user's motivation and physical condition, reducing the effectiveness of fitness programs. Furthermore, since these systems can only be used on specific devices, there are also issues with usability.
[1060] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing the user's emotions, means for adjusting a response based on the analyzed emotions, and means for displaying the response on a device wearable by the user. This makes it possible to provide personalized fitness advice based on the user's emotional state in real time.
[1061] The "means for accepting input from the user" refers to a device or program for accepting natural language input, gestures, etc., made by the user to the system.
[1062] The "means for converting the input into a data format" refers to a device or program that analyzes the input information from the user and converts it into a format that can be processed by the server (for example, JSON format).
[1063] The "means for transmitting the input converted into the data format to the server" refers to a device or program having a communication function for transmitting the user's input information converted into a data format to the server.
[1064] The "means for analyzing the input" refers to a device or program that analyzes the user's input information received by the server and extracts the necessary information.
[1065] The "means for generating a response based on the analyzed input" refers to a device or program that generates an appropriate response or advice based on the analyzed user input information.
[1066] The "means for returning the generated response to the user terminal" is a device or program having a communication function for transmitting the generated response from the server to the user terminal.
[1067] The "means for displaying the returned response" refers to a device or program that visually or audibly displays the response received at the user's terminal to the user.
[1068] The "means for analyzing user emotions" refers to a device or program that analyzes the user's emotional state through analysis of the user's input, physical information, and facial expressions.
[1069] The "means for adjusting a response based on the analyzed emotion" is a device or program that appropriately adjusts the content of a response in accordance with the analyzed emotional state of the user.
[1070] "Means for displaying a response on a user-wearable device" refers to a device or program that displays the generated response on a device that the user can wear (e.g., smart glasses, smart watch).
[1071] To implement the present invention, a system is constructed in which a user, a terminal, a server, and an emotion engine work together.
[1072] User Input
[1073] The user wears the smart glasses and inputs questions or requests into the app while training in the gym. For example, they might input, "I'm a little tired today, so a light exercise would be good."
[1074] Making a request on the device
[1075] The device analyzes the input received from the user and converts it into an appropriate data format. Furthermore, the emotion engine analyzes the emotion from the user input and also includes the result in the data format.
[1076] Sending a request to the server
[1077] The device sends the converted request to the server's API endpoint using the HTTP POST method, and the server confirms whether the request was sent successfully.
[1078] Receiving and parsing requests on the server
[1079] The server receives and analyzes requests sent from the device, obtains the request content and sentiment analysis results, and generates a response based on the identified question content and emotional state.
[1080] AI-powered response generation
[1081] The server passes the identified question content and the emotion analysis results to the generative AI model and instructs it to generate an appropriate response. The generative AI model generates the optimal answer based on the input question and emotion. For example, if emotion analysis identifies that the user is tired, it generates a response recommending light stretching.
[1082] Response formatting on the server
[1083] The server formats the answer received from the AI, converts it back into data format, and prepares it to be sent back to the device.
[1084] Receive and display a response on the terminal
[1085] The device receives the response sent back from the server and formats it for display on the user interface. It then displays the response on the smart glasses display. For example, it might say, "You seem tired. We recommend some gentle stretching, such as rotating your shoulders and stretching your neck."
[1086] Specific examples
[1087] Examples of training guidance
[1088] A user inputs into their smart glasses, "I'm a little tired today, so a light exercise would be good."
[1089] The terminal analyzes the input data, and the emotion engine analyzes the user's emotions (fatigue state) and sends them to the server.
[1090] The server analyzes the received request and passes the question and sentiment analysis results to the generative AI model, which then generates a response such as, "If you're tired, some light stretching, such as rotating your shoulders and stretching your neck, would be good."
[1091] The server formats this response and sends it back to the terminal.
[1092] The device displays on the smart glasses, "If you feel tired, some light stretching, such as rotating your shoulders and stretching your neck, may help."
[1093] Prompt Sentence Examples
[1094] User says: "I'm feeling a little tired today, so a light exercise would be good."
[1095] Emotion analysis results: "Fatigue detected"
[1096] Fitness Trainer AI input prompt:
[1097] '''
[1098] Suggest the best exercises for when the user is tired. Consider the user's level of fatigue and recommend exercises that are easy and accessible.
[1099] '''
[1100] Example output:
[1101] "If you're feeling tired, some gentle stretching can help. Start with simple exercises like shoulder rotations and neck stretches."
[1102] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1103] Step 1:
[1104] The user inputs information through the smart glasses (e.g., "I'm a little tired today, so a light exercise would be good."). The smart glasses recognize the user's speech and send it to the device as text data. The input for this step is the user's voice input, and the output is text data.
[1105] Step 2:
[1106] The device receives the user's input data and sends it to the emotion engine, which analyzes the user's voice and facial expressions to identify their emotional state. The input to this step is the user's text data and voice / facial expression analysis data, and the output is data indicating the user's emotional state.
[1107] Step 3:
[1108] The device integrates the emotion data obtained from the emotion engine with the user's text input and converts it into JSON format data. The converted data is sent to the server. The input of this step is text data and emotion data, and the output is JSON format data.
[1109] Step 4:
[1110] The server receives the JSON data from the device and begins data analysis and processing. The analysis identifies the user's request and emotional state. The input of this step is JSON-formatted data, and the output is the analysis result.
[1111] Step 5:
[1112] The server then queries the generative AI model based on the analysis results to generate an optimal response. For example, if the user's fatigue is detected, the AI generates a response suggesting light exercise. The input of this step is the analysis results, and the output is the generated response.
[1113] Step 6:
[1114] The server formats the response received from the generative AI model and converts it back into JSON format. The formatted data is sent back to the device. The input of this step is the generated response, and the output is JSON format data.
[1115] Step 7:
[1116] The device parses the JSON data received from the server and formats it appropriately for display on the smart glasses display. For example, the user receives advice such as, "You seem tired, so we recommend some light stretching, such as rotating your shoulders and stretching your neck." The input of this step is JSON data, and the output is text to be displayed on the smart glasses display.
[1117] 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.
[1118] 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.
[1119] 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.
[1120] [Fourth embodiment]
[1121] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1122] 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.
[1123] 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).
[1124] 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.
[1125] 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.
[1126] 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).
[1127] 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.
[1128] 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.
[1129] 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.
[1130] 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.
[1131] 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.
[1132] 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.
[1133] 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."
[1134] To put the present invention into practice, a system is constructed in which users, terminals, and servers work together. The processing of a program using this system will now be described in detail.
[1135] 1. User Input
[1136] A user uses a device to input a fitness question or request into the app, for example, "What is the correct form for squats?"
[1137] 2. Generating a request on the device
[1138] The device parses the input received from the user and converts it into an appropriate data format (e.g., JSON format), which prepares it for smooth transmission to the server.
[1139] 3. Sending a request to the server
[1140] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[1141] 4. Receiving and analyzing the request on the server
[1142] The server analyzes the request received from the device and extracts the user's question. For example, if the request is "correct form for squats," the server identifies the question.
[1143] 5. AI-generated responses
[1144] The server then passes the analyzed question to a chat-generating AI system, which generates an appropriate response. This AI uses natural language processing technology to generate the best answer to the user's question based on past learning data. For example, it generates a detailed explanation of squat form.
[1145] 6. Server Response Formatting
[1146] The server formats the response received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[1147] 7. Receiving and displaying responses on the terminal
[1148] The device receives the response sent back from the server and formats it for display in the user interface, for example, "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower yourself down. Make sure your knees do not extend beyond your toes, then return to the starting position."
[1149] Specific examples
[1150] Training method example
[1151] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[1152] The terminal analyzes the input data and sends it to the server.
[1153] The server analyzes the received request and has the AI generate a response about "strength training for beginners."
[1154] The AI generates the answer, "Recommended strength training exercises for beginners include squats, push-ups, and planks."
[1155] The server formats this response and sends it back to the terminal.
[1156] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[1157] Nutritional Information Example
[1158] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[1159] The terminal analyzes the input data and sends it to the server.
[1160] The server analyzes the received request and has the AI generate a response about "diet for increasing muscle strength."
[1161] The AI generates the answer, "To build muscle, it is important to consume foods that are high in protein. Eat chicken, fish, soy products, eggs, etc. in a balanced manner."
[1162] The server formats this response and sends it back to the terminal.
[1163] The device tells the user, "To increase muscle strength, it is important to eat foods high in protein, such as chicken, fish, soy products, and eggs."
[1164] As described above, the present invention provides a system that allows users to easily obtain training methods, form, exercise plans, health advice, nutrition information, etc. This allows users to efficiently and quickly obtain fitness information.
[1165] The processing flow will be explained below.
[1166] Step 1: A user launches the app and enters a fitness question or request, such as "What is the correct form for squats?"
[1167] Step 2: The device receives the user's input, parses it, and converts it into an appropriate data format, such as JSON, so that it can be sent to the server.
[1168] Step 3: The device sends a request in the converted data format to the server's API endpoint using the HTTP POST method.
[1169] Step 4: The server receives the request sent from the terminal. The server analyzes the request and identifies the user's question.
[1170] Step 5: The server passes the identified question to the chat generation AI and instructs it to generate an appropriate response. Based on the input question, the AI generates the best answer from related data.
[1171] Step 6: The server receives the answer generated by the AI, reformats the data as needed, and converts it into an appropriate format, such as JSON.
[1172] Step 7: The server returns the formatted response data to the terminal. It is returned as an HTTP response.
[1173] Step 8: The terminal receives the response data from the server, analyzes the received data, and formats it for display on the user interface.
[1174] Step 9: The user checks the response displayed on the device, such as "Proper squat form is to stand with your feet shoulder-width apart, your spine straight, and your knees bent to lower your hips. Make sure your knees do not extend beyond your toes, then return to the starting position."
[1175] Example 1
[1176] 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."
[1177] Conventional fitness information systems have made it difficult for users to quickly obtain information on proper form and training methods. Furthermore, they lacked an interface that could provide accurate answers based on past data to specific user questions. This puts users at risk of learning unreliable information or improper form. Therefore, the present invention aims to provide a system that allows users to easily obtain highly accurate fitness information.
[1178] 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.
[1179] In this invention, the server includes means for accepting input from a user, means for generating a response using a generative AI model based on the analyzed input, and means for formatting the generated response and returning it to the user terminal, thereby enabling the user to quickly and accurately obtain fitness information.
[1180] "User" refers to a person who uses the system to obtain fitness information.
[1181] "Input" refers to questions or requests that a user makes to the system through a terminal.
[1182] "Terminal" refers to the hardware device a user uses to access the system, including smartphones, tablets, and PCs.
[1183] "Data format" refers to the unified format used when exchanging information within a system, and specifically includes JSON and XML.
[1184] "Server" refers to a centralized computer system that receives input data from users, analyzes it, and generates a response.
[1185] "Analysis" refers to the process by which the server understands the data it receives from the user and extracts useful information.
[1186] A "generative AI model" refers to an artificial intelligence model that uses natural language processing technology to generate optimal answers to user questions.
[1187] "Formatting" refers to the process of adjusting the format of the response created by AI so that it can be displayed appropriately on the user's device.
[1188] "Response" refers to the answer that a generative AI model generates in response to a user's question.
[1189] "Return" means sending the response generated by the server back to the user's terminal.
[1190] "Display" refers to the terminal showing the returned response to the user in an easy-to-read format.
[1191] To implement this invention, it is necessary to build a system that links users, terminals, and servers. This system allows each element to communicate with each other and provide fitness information to users. Below, we will explain in detail the processing of a program using this system.
[1192] First, the user uses the device to input a fitness-related question into the app. For example, the user types a question such as "What is the correct form for squatting?" into the device's input field. This allows input in natural language, making it highly convenient for users.
[1193] The terminal then parses this input data and converts it into an appropriate data format (e.g., JSON format). The terminal can use Python's NLTK (Natural Language Toolkit) to smoothly execute the analysis. After this conversion, the data is in the format {"request": "Tell me the correct squat form"}. This makes the data ready for the next process: sending it to the server.
[1194] The device sends the converted JSON data to the server's API endpoint using the HTTP POST method. The destination URL is, for example, https: / / example.com / api / fitness. The device checks the status code to ensure the data was sent properly and logs the success.
[1195] The server analyzes the received HTTP request and extracts the JSON data. Web frameworks such as Flask and Django can be used for this analysis. For example, in the case of Flask, the data is read using request.json. The server then clarifies the user's question from the extracted data and proceeds to the next step in the response generation process.
[1196] Next, the server passes the extracted question to a generative AI model. Examples of such AI models include OpenAI's GPT-4, which utilizes natural language processing technology. The server creates a prompt for the AI and asks it to generate a response. An example of a specific prompt is, "The user is asking about the correct form for squats. Please provide an appropriate answer." The AI generates a detailed answer based on this prompt. For example, a response might be, "The correct form for squats is to stand with your feet shoulder-width apart and your back straight..."
[1197] The server receives the response from the AI and formats it for presentation to the user. This formatting process involves converting the response back into JSON format. The formatted data will have the following format: {"response": "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight..."}
[1198] Finally, the device receives this JSON data, verifies its integrity, and then displays a response in an easy-to-read format to the user. For example, the app might display a message like, "The correct form for squats is to stand with your feet shoulder-width apart and your spine straight. Make sure your knees do not extend beyond your toes, then return to the starting position."
[1199] As described above, this system can provide fitness information efficiently and accurately through cooperation between the user, terminal, and server.
[1200] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1201] Step 1:
[1202] A user types a fitness question into the app.
[1203] Input: A natural language question from the user (e.g., "What is the correct form for squatting?").
[1204] Output: The input question text.
[1205] Specific operation: The user enters a question into the input field on the terminal and presses the "Submit" button.
[1206] Step 2:
[1207] The terminal parses the entered question and converts it into an appropriate data format (e.g., JSON format).
[1208] Input: User question text ("What is the correct form for squatting?").
[1209] Output: Transformed JSON data({"request": "What is the correct squat form?"}).
[1210] Specific operation: The terminal uses a library such as Python's NLTK to parse the input and convert it into JSON format.
[1211] Step 3:
[1212] The terminal sends the converted JSON data to the server using the HTTP POST method.
[1213] Input: JSON data({"request": "What is the correct squat form?"}).
[1214] Output: The HTTP request sent to the server.
[1215] Specific operation: The device generates an HTTP request to the destination URL (e.g., https: / / example.com / api / fitness) and sends the data. It checks for a successful status code (e.g., 200 OK).
[1216] Step 4:
[1217] The server parses the received HTTP request and extracts the data.
[1218] Input: JSON data sent from the device ({"request": "What is the correct squat form?"}).
[1219] Output: Parsed question ("What is the correct form for squatting?").
[1220] Specific operation: The server uses the Flask or Django web framework to read the request data and parse the JSON data.
[1221] Step 5:
[1222] The server passes the analyzed question content to a generative AI model to generate a response.
[1223] Input: Parsed question ("What is the correct form for squatting?").
[1224] Output: The generated response text (e.g., "The correct form for squats is...").
[1225] What it does: The server creates a prompt (e.g., "The user is asking about the correct form for squats. Please provide an appropriate answer.") and passes it to a generative AI model (e.g., GPT-4) to generate a response.
[1226] Step 6:
[1227] The server formats the generated response in an appropriate format, converts it back to JSON, and sends it back to the device.
[1228] Input: The generated response text ("The correct form for squats is...").
[1229] Output: Formatted JSON data ({"response": "The correct form for squats is..."}).
[1230] What happens: The server checks the response, formats it, converts it to JSON, and prepares it for sending back.
[1231] Step 7:
[1232] The terminal receives the JSON data returned from the server, formats it for display, and displays it to the user.
[1233] Input: JSON data returned from the server ({"response": "The correct form for squats is..."}).
[1234] Output: A response message that is displayed in the user interface (e.g., "The correct form for squats is...").
[1235] Specific operation: The device parses the JSON data, formats it into a format that is easy for the user to read, and displays it on the app screen.
[1236] (Application example 1)
[1237] 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."
[1238] Conventional fitness support systems and applications require a lot of effort and lack real-time capabilities when users need to learn the correct training form and obtain appropriate fitness information. This puts users at risk of continuing to train with incorrect form or consuming meals based on inappropriate nutritional information. This can reduce the effectiveness of their training and, in some cases, lead to injury. It is necessary to solve these issues and enable users to train efficiently and safely.
[1239] 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.
[1240] In this invention, the server includes means for accepting voice input from a user, means for converting the voice input into text data format, means for transmitting the converted text data format to the server, means for analyzing the input, means for generating a response based on the analyzed input, means for overlaying the generated response in the user's field of view, and means for displaying the returned response on a head-mounted display, thereby enabling the user to obtain accurate training form and fitness information in real time.
[1241] A "user" is someone who uses this system to train at a fitness gym or sports facility.
[1242] "Voice input" refers to the audio signals of fitness-related questions or instructions given verbally by the user.
[1243] "Text data format" is a format in which voice input is converted into character string data that is easy for machines to understand.
[1244] A "server" is a computer system that receives and analyzes user requests, and generates and sends responses.
[1245] The "means for parsing" is an analytical function for interpreting received user input in the form of text data and determining an appropriate response.
[1246] "Means for generating responses" refers to a function that uses generative artificial intelligence to create appropriate answers to user questions and requests.
[1247] "Overlay display" is a technology that displays the generated response superimposed on the user's field of vision via a head-mounted display worn by the user.
[1248] A "head-mounted display" is a display device that a user wears on their head to obtain visual information.
[1249] "Fitness information" refers to knowledge such as correct form, exercise plans, and nutritional information that users need when training.
[1250] As an embodiment of the present invention, a system is constructed in which a user wears a head-mounted display (HMD) at a fitness gym or sports facility and receives fitness guidance in real time.
[1251] First, the user asks a fitness question or makes a request via voice input through the HMD they are wearing. For example, they might say, "Tell me the correct form for bench pressing." The HMD is equipped with speech recognition technology, which converts this voice input into text data. Google's Speech-to-Text API is a suitable tool for this purpose.
[1252] The input converted to text data format is sent to the server using the HTTP POST method using the Python requests library. A Flask application runs on the server and analyzes the received request to determine what the user wants to know.
[1253] Based on the parsed results, the server uses the OpenAI API to call the generative AI model and generate a prompt. Specifically, the following prompt is used:
[1254] "Please explain in detail the correct bench press form, including how the user should stand with their chest out, how their elbows should bend, and how they should manipulate the barbell."
[1255] The generated text response is then converted back to JSON format and sent back to the HMD, which uses technologies such as Unity or Apple's ARKit to overlay the received response onto the user's field of view, allowing the user to visually confirm detailed instructions on "correct bench press form" in real time on the head-mounted display.
[1256] This process allows users to obtain accurate and detailed fitness information in real time when training at a fitness gym, enabling them to train safely and effectively.
[1257] (Example)
[1258] While working out at the gym, a user speaks, "Tell me the correct form for squats." The HMD converts the speech to text and sends it to the server. The server analyzes the request and uses a generative AI model to generate a response like this:
[1259] prompt:
[1260] "Please provide a detailed explanation of the correct form for squatting, including how the user should stand with their feet shoulder-width apart, their back straight, and their knees bent as they lower themselves down."
[1261] This response is sent back to the HMD and overlaid on the user's field of view. The user can then perform the exercise while viewing the displayed advice: "The correct form for squats is to stand with your feet shoulder-width apart, your back straight, and bend your knees to lower your hips. Make sure your knees do not extend beyond your toes, and then return to the starting position."
[1262] In this way, the present invention realizes a fitness information providing system that allows users to train efficiently and safely.
[1263] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1264] Step 1:
[1265] The user wears a head-mounted display (HMD) and makes fitness-related questions or requests via voice input. In this example, the user voice-inputs a question such as "Tell me the correct bench press form." The voice input is received by a microphone in the HMD.
[1266] Input data: User's voice input: "What is the correct bench press form?"
[1267] Output data: Audio signal
[1268] Step 2:
[1269] The device (HMD) uses voice recognition technology to convert the voice signal into text data format, and uses Google's Speech-to-Text API to obtain the voice signal as text data.
[1270] Input data: User's voice signal
[1271] Data processing: Convert speech to text using Google Speech-to-Text API
[1272] Output data: Text data "What is the correct bench press form?"
[1273] Step 3:
[1274] The terminal converts the text data into the appropriate data format (JSON format) and prepares it to be sent to the server. Python is used to pack the text data into JSON format.
[1275] Input data: Text data "What is the correct bench press form?"
[1276] Data processing: Convert to JSON format using a Python script
[1277] Output data: JSON data
[1278] Step 4:
[1279] The device sends the converted JSON data to the server using the HTTP POST method, and uses the Python requests library to send a request to the server's API endpoint.
[1280] Input data: JSON data
[1281] Data processing: HTTP request (POST)
[1282] Output data: Result of request sent to server
[1283] Step 5:
[1284] The server parses the JSON data received from the terminal to identify the user's question. It uses a Flask application to parse the JSON data and extract the request content.
[1285] Input data: JSON data
[1286] Data Processing: JSON Parsing in Flask
[1287] Output data: Analysis results (text data "What is the correct bench press form?")
[1288] Step 6:
[1289] The server passes the parsed question to a generative AI model (OpenAI API) to generate an appropriate response. It creates a specific prompt and sends it to the AI model.
[1290] Input data: Analysis results (text data "Please tell me the correct bench press form")
[1291] Data processing: Send a prompt to the generative AI model: "Please explain in detail the correct form for bench pressing. In particular, please explain how the user should stick out their chest, bend their elbows, and manipulate the barbell."
[1292] Output data: Responses from the generative AI model
[1293] Step 7:
[1294] The server converts the response received from the generative AI model into JSON format and prepares it to be sent back to the device. A Flask application is used to format the response and pack it as JSON data.
[1295] Input data: Responses from generative AI models
[1296] Data processing: Formatting the response into JSON format
[1297] Output data: JSON data
[1298] Step 8:
[1299] The device receives the JSON data returned from the server and formats it for display in the user interface, overlaying it on the user's field of view using Unity or ARKit.
[1300] Input data: JSON data
[1301] Data processing: Formatting for display (using Unity or ARKit)
[1302] Output data: Visual representation of "The correct bench press form is to start with your chest out and elbows bent at right angles, then slowly lower the barbell. Bring your shoulder blades together and return to the starting position."
[1303] The specific process and its flow are described in detail in each step, thereby showing a specific method for carrying out the present invention.
[1304] 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.
[1305] To put this invention into practice, a system is constructed in which users, terminals, a server, and an emotion engine work together. The processing of a program using this system will now be described in detail.
[1306] 1. User Input
[1307] The user uses the device to input a fitness question or request into the app, for example, "I'm feeling unmotivated today, so please tell me some easy exercises."
[1308] 2. Generating a request on the device
[1309] The device analyzes the input received from the user and converts it into an appropriate data format (e.g., JSON format), which makes it possible to send it to the server. Furthermore, the emotion engine analyzes the emotion from the user input and includes the result in the data format.
[1310] 3. Sending a request to the server
[1311] The device sends the converted request to the server's API endpoint using the HTTP POST method, and then checks whether the request was sent successfully.
[1312] 4. Receiving and analyzing the request on the server
[1313] The server receives the request sent from the device. The server analyzes the request content to identify the user's question. It also obtains the emotion analysis results provided by the emotion engine.
[1314] 5. AI-generated responses
[1315] The server passes the identified question and the results of emotion analysis to the chat generation AI, instructing it to generate an appropriate response. Based on the input question and emotion, the AI generates the optimal answer from related data. For example, if emotion analysis identifies that the user is tired, it generates a response recommending some light stretching.
[1316] 6. Server Response Formatting
[1317] The server formats the answer received from the AI, converts it back into a data format (e.g., JSON format), and prepares it to be sent back to the device.
[1318] 7. Receiving and displaying responses on the terminal
[1319] The device receives the response sent back from the server, analyzes the received data, and formats it for display in the user interface. For example, it might say, "You seem tired today. I recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[1320] Specific examples
[1321] Training method example
[1322] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[1323] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., motivated) and sends them to the server.
[1324] The server analyzes the received request and passes the question content and sentiment analysis results to the AI, which then generates the answer, "Recommended strength training for beginners is squats, push-ups, and planks."
[1325] The server formats this response and sends it back to the terminal.
[1326] The device displays to the user, "Recommended strength exercises for beginners are squats, push-ups, and planks."
[1327] Nutritional Information Example
[1328] A user types into a terminal, "Please give me some advice on what to eat to build muscle."
[1329] The device analyzes the input data, and the emotion engine further analyzes the user's emotions (e.g., feeling tired) and sends them to the server.
[1330] The server analyzes the received request and passes the question and sentiment analysis result (tired) to the AI. The AI then generates the following message: "To build muscle, it's important to eat foods that are high in protein. If you're tired, it's a good idea to focus on eating easily digestible meats like chicken and fish."
[1331] The server formats this response and sends it back to the terminal.
[1332] The device will display a message to the user saying, "To build muscle, it's important to eat foods that are high in protein, such as chicken and fish. If you're feeling tired, it's a good idea to focus on these foods."
[1333] As described above, by combining the emotion engine with this invention, it is possible to provide more personalized fitness information according to the user's emotions, thereby enabling the user to carry out more appropriate and effective fitness and health management.
[1334] The processing flow will be explained below.
[1335] Step 1: A user launches the app and enters a fitness question or request. For example, "I'm feeling unmotivated today, can you recommend a simple exercise?"
[1336] Step 2: The device receives the user's input and analyzes it as text. At this stage, the emotion engine analyzes the user's emotions from the input text.
[1337] Step 3: The device converts the emotion data obtained through analysis into JSON format data. For example, the format is {"query":"I'm not motivated today, so please teach me some easy exercises", "emotion":"Low motivation"}.
[1338] Step 4: The device sends the converted request to the server's API endpoint using the HTTP POST method. At this time, the device checks whether the transmission was successful.
[1339] Step 5: The server receives the request sent from the device. The server parses the received JSON data and extracts the user's question and emotion data.
[1340] Step 6: Based on the question content and emotional data extracted by the server, the chat generation artificial intelligence (AI) is instructed to generate a response. The AI generates the optimal response based on the question content and emotional data. For example, if the emotional data is "low motivation," the AI generates a response suggesting light exercise.
[1341] Step 7: The server formats the response received from the AI and converts it back into JSON format. For example, it would look like this: {"response":"Today, try some simple stretching exercises. Recommended exercises include rotating your shoulders and stretching your neck."}
[1342] Step 8: The server returns the formatted response data to the terminal. It is sent as an HTTP response.
[1343] Step 9: The terminal receives the response data sent back from the server, analyzes the received data, and formats it for display on the user interface.
[1344] Step 10: The user checks the response displayed on the device. For example, the response might say, "Today, try some simple stretches. We recommend rotating your shoulders and stretching your neck."
[1345] This process allows users to receive fitness advice tailored to their emotional state at the time. The introduction of an emotion engine makes it possible to provide more personalized information that matches the user's motivation and mood.
[1346] Example 2
[1347] 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."
[1348] Conventional fitness information systems often provide only general information without considering the user's emotional state, making it difficult to provide personalized information that reflects the user's motivation and condition, resulting in lower user satisfaction and retention rates.
[1349] 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 a means for accepting input from a user, a means for converting the input into a data format, and a means for analyzing the input and its emotions. This makes it possible to provide personalized fitness information that takes into account the user's emotional state.
[1350] The "means for accepting input from the user" is an interface that allows the user to input fitness-related questions and requests into the terminal.
[1351] The "means of converting into a data format" is a process of analyzing input from a user and converting it into a format suitable for data communication (e.g., JSON format).
[1352] The "means of sending to the server" is a process of transferring the input converted into a data format to the server using the HTTP POST method or the like.
[1353] The "means for analyzing input and analyzing the emotion" is a process of analyzing the input data from the user to identify the question content, and then extracting the user's emotion information using an emotion engine.
[1354] The "means for generating a response" is a process in which an appropriate response is generated by the chat generation artificial intelligence (generative AI model) based on the analyzed input and emotional information.
[1355] The "means for returning the generated response to the user terminal" is a process for converting the generated response into a data format and returning it to the user terminal.
[1356] The "means for displaying the returned response" refers to the process in which the user terminal receives and analyzes the returned response data and displays it in a format suitable for the user interface.
[1357] A "generative AI model" is an artificial intelligence that generates optimal responses based on questions and emotional information from users.
[1358] To put this invention into practice, it is necessary to build a system in which users, terminals, a server, and an emotion analysis engine work together. Below, we will explain in detail the processing of a program using this system.
[1359] User Input
[1360] Users can use devices such as smartphones or PCs to input fitness-related questions or requests. For example, a user might input a question or request in text format, such as "I'm not feeling motivated today, so please tell me some easy exercises."
[1361] Making a request on the device
[1362] After receiving input from the user, the device uses natural language processing to analyze the text and convert it into an appropriate data format (e.g., JSON format). It then activates a sentiment analysis engine to analyze emotional information from the user's input. For example, it can extract emotional information such as "unmotivated" or "tired" from the input. The device then generates data containing this information and converts it into JSON format.
[1363] Sending a request to the server
[1364] The device sends the generated data to the server's API endpoint using the HTTP POST method. The sending process also includes a response check to confirm whether the request was successful, for example, receiving a 200 OK response from the server.
[1365] Receiving and parsing requests on the server
[1366] The server receives the request data sent from the device. It analyzes the data and identifies the user's question and emotional information. Specifically, it parses the received JSON data and extracts the question and emotional part. For example, it identifies the question "I'm not motivated today, so please teach me some easy exercises" and the emotional data "I'm not motivated and tired."
[1367] AI-powered response generation
[1368] The server passes the identified question content and the results of the sentiment analysis to a generative AI model (e.g., a chat generation AI) and instructs it to generate an appropriate response. The AI generates the optimal answer based on this input data. For example, if sentiment analysis determines that the user is "tired," it generates a response such as, "We recommend some light stretching. Start with simple exercises such as rotating your shoulders and stretching your neck."
[1369] Response formatting on the server
[1370] The server formats the response received from the AI, converts it back to JSON format, and prepares it for sending back to the device. The formatting process includes checking the format of the response data and adding necessary data.
[1371] Receive and display a response on the terminal
[1372] The device receives the JSON data returned from the server, parses it, and formats it for display in the user interface. For example, it might display something like, "You seem tired today. We recommend some light stretching. Start with simple exercises like rotating your shoulders and stretching your neck."
[1373] Specific prompt examples
[1374] Examples of prompt statements
[1375] The user types into the device, "What exercises would you recommend for someone new to strength training?"
[1376] After the device receives this input, it analyzes it and further analyzes the emotion of "motivated."
[1377] The server sends the analysis results to the platform, and the generative AI model generates a response such as, "Recommended strength training exercises for beginners are squats, push-ups, and planks."
[1378] The device receives the returned data and displays to the user, "Recommended strength training for beginners is squats, push-ups, and planks."
[1379] This system can provide appropriate fitness information that takes into account the user's emotional state, allowing users to enjoy a more personalized fitness experience, which is expected to maintain motivation and improve retention rates.
[1380] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1381] Step 1:
[1382] A user uses a device to input a fitness question or request. The user inputs text into an application on the device, such as "I'm not feeling motivated today, so please tell me some easy exercises." This text input is sent to the device.
[1383] Step 2:
[1384] The terminal receives input text from the user and converts it into a data format. Specifically, it parses the input text and converts it into JSON format. For example, it converts the input text into JSON like this:
[1385] json
[1386] {
[1387] "userInput": "I'm feeling unmotivated today, so tell me some easy exercises"
[1388] }
[1389] This JSON format data is generated.
[1390] Step 3:
[1391] The device launches an emotion engine to analyze emotional information from the user's input text. The emotion engine analyzes the text and identifies the user's emotional state. For example, from the input "I don't feel motivated today," it extracts emotions such as "tired" and "unmotivated." The following JSON data containing the analysis results is generated:
[1392] json
[1393] {
[1394] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[1395] "emotion": "Tired, unmotivated"
[1396] }
[1397] Step 4:
[1398] The device sends the generated JSON data to the server using the HTTP POST method, including the analysis results and emotion information, to the server's API endpoint. At this time, a 200 OK response is received from the server to confirm that the transmission was successful.
[1399] Step 5:
[1400] The server receives the JSON data sent from the device. After receiving it, the server parses the data and extracts the user's question and sentiment information. Specifically, the server analyzes the data as follows:
[1401] json
[1402] {
[1403] "userInput": "I'm feeling unmotivated today, can you tell me some easy exercises?",
[1404] "emotion": "Tired, unmotivated"
[1405] }
[1406] The server extracts the question and emotion parts based on this data.
[1407] Step 6:
[1408] The server passes the extracted question content and the results of the emotion analysis to the generative AI model, and instructs it to generate an appropriate response. The AI model generates the optimal answer based on this input data. For example, if the emotion data determines that the user is "tired," the AI model will generate a response such as "We recommend some light stretching." The generated response looks like this:
[1409] json
[1410] {
[1411] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1412] }
[1413] Step 7:
[1414] The server formats the response received from the AI model and converts it back to JSON format. The formatted data looks like this:
[1415] json
[1416] {
[1417] "response": "You seem tired today. I suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1418] }
[1419] This data is prepared for transmission to the terminal.
[1420] Step 8:
[1421] The device receives the JSON data returned by the server, parses it, and formats it in a suitable format for display in the user interface. For example, it displays the following in the user interface:
[1422] "You seem tired today. I'd like to suggest some gentle stretching. Start with simple exercises like shoulder rotations and neck stretches."
[1423] (Application example 2)
[1424] 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."
[1425] Conventional fitness support systems often provide uniform information and training advice without considering the user's emotions. This results in problems such as not being able to provide advice that is optimal for the user's motivation and physical condition, reducing the effectiveness of fitness programs. Furthermore, since these systems can only be used on specific devices, there are also issues with usability.
[1426] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing the user's emotions, means for adjusting a response based on the analyzed emotions, and means for displaying the response on a device wearable by the user. This makes it possible to provide personalized fitness advice based on the user's emotional state in real time.
[1427] The "means for accepting input from the user" refers to a device or program for accepting natural language input, gestures, etc., made by the user to the system.
[1428] The "means for converting the input into a data format" refers to a device or program that analyzes the input information from the user and converts it into a format that can be processed by the server (for example, JSON format).
[1429] The "means for transmitting the input converted into the data format to the server" refers to a device or program having a communication function for transmitting the user's input information converted into a data format to the server.
[1430] The "means for analyzing the input" refers to a device or program that analyzes the user's input information received by the server and extracts the necessary information.
[1431] The "means for generating a response based on the analyzed input" refers to a device or program that generates an appropriate response or advice based on the analyzed user input information.
[1432] The "means for returning the generated response to the user terminal" is a device or program having a communication function for transmitting the generated response from the server to the user terminal.
[1433] The "means for displaying the returned response" refers to a device or program that visually or audibly displays the response received at the user's terminal to the user.
[1434] The "means for analyzing user emotions" refers to a device or program that analyzes the user's emotional state through analysis of the user's input, physical information, and facial expressions.
[1435] The "means for adjusting a response based on the analyzed emotion" is a device or program that appropriately adjusts the content of a response in accordance with the analyzed emotional state of the user.
[1436] "Means for displaying a response on a user-wearable device" refers to a device or program that displays the generated response on a device that the user can wear (e.g., smart glasses, smart watch).
[1437] To implement the present invention, a system is constructed in which a user, a terminal, a server, and an emotion engine work together.
[1438] User Input
[1439] The user wears the smart glasses and inputs questions or requests into the app while training in the gym. For example, they might input, "I'm a little tired today, so a light exercise would be good."
[1440] Making a request on the device
[1441] The device analyzes the input received from the user and converts it into an appropriate data format. Furthermore, the emotion engine analyzes the emotion from the user input and also includes the result in the data format.
[1442] Sending a request to the server
[1443] The device sends the converted request to the server's API endpoint using the HTTP POST method, and the server confirms whether the request was sent successfully.
[1444] Receiving and parsing requests on the server
[1445] The server receives and analyzes requests sent from the device, obtains the request content and sentiment analysis results, and generates a response based on the identified question content and emotional state.
[1446] AI-powered response generation
[1447] The server passes the identified question content and the emotion analysis results to the generative AI model and instructs it to generate an appropriate response. The generative AI model generates the optimal answer based on the input question and emotion. For example, if emotion analysis identifies that the user is tired, it generates a response recommending light stretching.
[1448] Response formatting on the server
[1449] The server formats the answer received from the AI, converts it back into data format, and prepares it to be sent back to the device.
[1450] Receive and display a response on the terminal
[1451] The device receives the response sent back from the server and formats it for display on the user interface. It then displays the response on the smart glasses display. For example, it might say, "You seem tired. We recommend some gentle stretching, such as rotating your shoulders and stretching your neck."
[1452] Specific examples
[1453] Examples of training guidance
[1454] A user inputs into their smart glasses, "I'm a little tired today, so a light exercise would be good."
[1455] The terminal analyzes the input data, and the emotion engine analyzes the user's emotions (fatigue state) and sends them to the server.
[1456] The server analyzes the received request and passes the question and sentiment analysis results to the generative AI model, which then generates a response such as, "If you're tired, some light stretching, such as rotating your shoulders and stretching your neck, would be good."
[1457] The server formats this response and sends it back to the terminal.
[1458] The device displays on the smart glasses, "If you feel tired, some light stretching, such as rotating your shoulders and stretching your neck, may help."
[1459] Prompt Sentence Examples
[1460] User says: "I'm feeling a little tired today, so a light exercise would be good."
[1461] Emotion analysis results: "Fatigue detected"
[1462] Fitness Trainer AI input prompt:
[1463] '''
[1464] Suggest the best exercises for when the user is tired. Consider the user's level of fatigue and recommend exercises that are easy and accessible.
[1465] '''
[1466] Example output:
[1467] "If you're feeling tired, some gentle stretching can help. Start with simple exercises like shoulder rotations and neck stretches."
[1468] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1469] Step 1:
[1470] The user inputs information through the smart glasses (e.g., "I'm a little tired today, so a light exercise would be good."). The smart glasses recognize the user's speech and send it to the device as text data. The input for this step is the user's voice input, and the output is text data.
[1471] Step 2:
[1472] The device receives the user's input data and sends it to the emotion engine, which analyzes the user's voice and facial expressions to identify their emotional state. The input to this step is the user's text data and voice / facial expression analysis data, and the output is data indicating the user's emotional state.
[1473] Step 3:
[1474] The device integrates the emotion data obtained from the emotion engine with the user's text input and converts it into JSON format data. The converted data is sent to the server. The input of this step is text data and emotion data, and the output is JSON format data.
[1475] Step 4:
[1476] The server receives the JSON data from the device and begins data analysis and processing. The analysis identifies the user's request and emotional state. The input of this step is JSON-formatted data, and the output is the analysis result.
[1477] Step 5:
[1478] The server then queries the generative AI model based on the analysis results to generate an optimal response. For example, if the user's fatigue is detected, the AI generates a response suggesting light exercise. The input of this step is the analysis results, and the output is the generated response.
[1479] Step 6:
[1480] The server formats the response received from the generative AI model and converts it back into JSON format. The formatted data is sent back to the device. The input of this step is the generated response, and the output is JSON format data.
[1481] Step 7:
[1482] The device parses the JSON data received from the server and formats it appropriately for display on the smart glasses display. For example, the user receives advice such as, "You seem tired, so we recommend some light stretching, such as rotating your shoulders and stretching your neck." The input of this step is JSON data, and the output is text to be displayed on the smart glasses display.
[1483] 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.
[1484] 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.
[1485] 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.
[1486] 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.
[1487] 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.
[1488] 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.
[1489] 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).
[1490] 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.
[1491] 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."
[1492] 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.
[1493] 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).
[1494] 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.
[1495] 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.
[1496] 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.
[1497] 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.
[1498] 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.
[1499] 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.
[1500] 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.
[1501] 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.
[1502] 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.
[1503] 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.
[1504] The following is further disclosed regarding the above embodiment.
[1505] (Claim 1)
[1506] means for accepting input from a user;
[1507] means for converting said input into a data format;
[1508] means for transmitting the input converted into said data format to a server;
[1509] means for analyzing said input;
[1510] means for generating a response based on the parsed input;
[1511] means for returning the generated response to a user terminal;
[1512] The system includes means for displaying the returned response.
[1513] (Claim 2)
[1514] The system of claim 1, wherein the response is generated by a chat generation artificial intelligence.
[1515] (Claim 3)
[1516] The system of claim 1 , wherein the response includes fitness information.
[1517] "Example 1"
[1518] (Claim 1)
[1519] means for accepting input from a user;
[1520] means for converting said input into a data format;
[1521] means for transmitting the input converted into said data format to a server;
[1522] means for analyzing said input;
[1523] means for generating a response based on the analyzed input using a generative AI model that uses natural language processing technology;
[1524] means for converting the generated response into a data format and returning it to the user terminal;
[1525] The system includes means for displaying the returned response.
[1526] (Claim 2)
[1527] The system of claim 1, wherein the response is generated by a chat generation artificial intelligence.
[1528] (Claim 3)
[1529] The system of claim 1 , wherein the response includes fitness information.
[1530] "Application Example 1"
[1531] (Claim 1)
[1532] means for accepting voice input from a user;
[1533] means for converting the voice input into a text data format;
[1534] means for transmitting the input converted into the text data format to a server;
[1535] means for analyzing said input;
[1536] means for generating a response based on the parsed input;
[1537] means for overlaying the generated response on the user's field of view;
[1538] means for displaying the returned response on a head mounted display.
[1539] (Claim 2)
[1540] The system of claim 1, wherein the response is generated by generative artificial intelligence.
[1541] (Claim 3)
[1542] The system of claim 1, wherein the response provides fitness information.
[1543] "Example 2: Combining Emotion Engines"
[1544] (Claim 1)
[1545] means for accepting input from a user;
[1546] means for converting said input into a data format;
[1547] means for transmitting the input converted into said data format to a server;
[1548] means for analyzing the input and analyzing the emotion thereof;
[1549] means for generating a response based on the analyzed input and emotion;
[1550] means for returning the generated response to a user terminal;
[1551] The system includes means for displaying the returned response.
[1552] (Claim 2)
[1553] 10. The system of claim 1, wherein the response is generated by a generative AI model.
[1554] (Claim 3)
[1555] The system of claim 1 , wherein the response includes fitness information.
[1556] "Application example 2 when combining emotion engines"
[1557] (Claim 1)
[1558] means for accepting input from a user;
[1559] means for converting said input into a data format;
[1560] means for transmitting the input converted into said data format to a server;
[1561] means for analyzing said input;
[1562] means for generating a response based on the parsed input;
[1563] means for returning the generated response to a user terminal;
[1564] means for displaying the returned response;
[1565] means for analyzing user emotions;
[1566] means for adjusting a response based on the analyzed emotion;
[1567] The system includes means for displaying the response on a user-wearable device.
[1568] (Claim 2)
[1569] The system of claim 1, wherein the response is generated by a chat generation artificial intelligence.
[1570] (Claim 3)
[1571] 10. The system of claim 1, wherein the response includes fitness information and is personalized based on the user's emotional state. [Explanation of symbols]
[1572] 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 input from a user; means for converting said input into a data format; means for transmitting the input converted into said data format to a server; means for analyzing said input; means for generating a response based on the parsed input; means for returning the generated response to a user terminal; and means for displaying the returned response.
2. The system of claim 1 , wherein the responses are generated by a chat generation system artificial intelligence.
3. The system of claim 1 , wherein the response includes fitness information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A