system
The system addresses the need for anonymous and secure patient interaction by allowing registration, authentication, community participation, and expert feedback, ensuring smooth information exchange and reliable feedback.
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
There is a lack of effective platforms for patients to obtain reliable information and interact safely while maintaining anonymity, leading to inaccurate information and increased anxiety, and existing systems fail to provide quick and accurate expert feedback.
A system that allows users to securely register, authenticate, and participate in communities, enabling them to post content and receive expert feedback while maintaining anonymity through encryption, using a database to store and manage user, community, and feedback information.
Enables patients to safely share information and receive reliable feedback from experts, ensuring smooth information exchange and expert feedback while protecting user privacy.
Smart Images

Figure 2026041514000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern society, many patients suffer from specific illnesses or health challenges, and there is a growing need for communities to share their experiences and encourage each other. However, there is a lack of effective platforms for patients to obtain reliable information and interact safely while maintaining anonymity. Furthermore, there is a lack of means to provide expert feedback quickly and accurately. This can lead to patients not receiving accurate information and increasing anxiety. [Means for solving the problem]
[0005] The present invention provides a means for users to submit registration information and securely store that information in a database. It also provides a means for verifying the entered authentication information to authenticate the user and a means for returning identification information to the user after authentication. It also includes a means for the user to select a community in which they wish to participate and add the user to the corresponding community. It also provides a means for receiving user posts and storing the posted content in a database, and a means for experts to provide feedback on the posts and store the feedback content in a database. The system includes encryption means to allow users to exchange information securely while maintaining anonymity, and a means to enable experts to provide reliable feedback.
[0006] "Registration information" refers to information used to identify a user, such as a user name, password, and email address.
[0007] "User Information" means personal data, including profile information based on registration information and subsequent activity.
[0008] "Database" refers to an information management system for storing user information, community information, posted content, and feedback content.
[0009] "Authentication Information" means information used to verify a User's identity, such as a username and password.
[0010] "Identity" means a unique token or ID generated for an authenticated user.
[0011] "Community Information" means information about groups that share specific interests or issues, including community IDs and member lists.
[0012] A "member list" is a list of users who belong to a particular community.
[0013] "User Contributions" are messages or information that users share within the community.
[0014] "Expert Feedback" is advice or opinions provided by an Expert in response to a particular User Post.
[0015] "Encryption Method" refers to the technology used to encrypt data to protect the security of user information. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] As a specific embodiment of the present invention, a system will be described that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes functions for user registration, login, community participation, posting, and feedback from experts.
[0038] User Registration
[0039] The user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[0040] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[0041] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[0042] Log in
[0043] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[0044] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[0045] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0046] Join the community
[0047] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[0048] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0049] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[0050] Posting function
[0051] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[0052] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[0053] For example, if a user posts to a community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[0054] Expert Feedback
[0055] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[0056] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[0057] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0058] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts.
[0059] The processing flow will be explained below.
[0060] User Registration
[0061] Step 1:
[0062] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[0063] Step 2:
[0064] The terminal sends the entered information to the server in JSON format.
[0065] Step 3:
[0066] The server parses the received JSON data and creates a new user object.
[0067] Step 4:
[0068] The server stores the username and email address as is, and stores the password in a hashed form.
[0069] Step 5:
[0070] The server stores the new user information in a database.
[0071] Step 6:
[0072] The server generates a message indicating successful registration and returns it to the device in JSON format.
[0073] Step 7:
[0074] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[0075] Log in
[0076] Step 1:
[0077] The user enters the user name and password in the login form and clicks the "Login" button.
[0078] Step 2:
[0079] The terminal sends the entered information to the server in JSON format.
[0080] Step 3:
[0081] The server parses the received JSON data and matches it with the username and password hash in its database.
[0082] Step 4:
[0083] If the verification is successful, the server generates a JWT token.
[0084] Step 5:
[0085] The server returns the generated JWT token to the terminal in JSON format.
[0086] Step 6:
[0087] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[0088] Join the community
[0089] Step 1:
[0090] The user selects the community he or she wants to join and clicks the "Join" button.
[0091] Step 2:
[0092] The terminal sends the selected community ID to the server in JSON format.
[0093] Step 3:
[0094] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[0095] Step 4:
[0096] The server adds the authenticated user to the member list of the corresponding community.
[0097] Step 5:
[0098] The server generates a message indicating successful joining and returns it to the device in JSON format.
[0099] Step 6:
[0100] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[0101] Posting function
[0102] Step 1:
[0103] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[0104] Step 2:
[0105] The device sends the post content and community ID to the server in JSON format.
[0106] Step 3:
[0107] The server parses the received JSON data and creates a new post object.
[0108] Step 4:
[0109] The server adds the user ID, community ID, and post content to the post object.
[0110] Step 5:
[0111] The server saves the new post object to the database.
[0112] Step 6:
[0113] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[0114] Step 7:
[0115] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[0116] Expert Feedback
[0117] Step 1:
[0118] The expert enters feedback on the target post and clicks the "Submit" button.
[0119] Step 2:
[0120] The device sends the feedback content and post ID to the server in JSON format.
[0121] Step 3:
[0122] The server parses the received JSON data and creates a new feedback object.
[0123] Step 4:
[0124] The server adds the expert ID, post ID, and feedback content to the feedback object.
[0125] Step 5:
[0126] The server stores the new feedback object in the database.
[0127] Step 6:
[0128] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[0129] Step 7:
[0130] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[0131] This allows users and experts to safely and effectively share information and receive feedback.
[0132] Example 1
[0133] 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."
[0134] There is a need for a system in online communities that allows patients to share information anonymously and safely and receive reliable feedback from experts. However, existing systems often do not adequately protect users' personal information, which can hinder smooth information exchange and feedback provision. In response, a system is needed that ensures data security while promoting information exchange among users and allowing them to receive accurate feedback from experts.
[0135] 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.
[0136] In this invention, the server includes means for transmitting registration information received from a user registration form in JSON format to the server, means for the server to analyze the received JSON data, create a user object and store it in a database, means for transmitting input authentication information to the server in JSON format and for the server to authenticate by comparing it with user information in the database, means for generating and returning a JWT token for the authenticated user, means for transmitting information about a community the user wishes to join to the server in JSON format and for the server to add the authenticated user to a community member list, means for receiving user posts in the community in JSON format and storing them in a database by the server, and means for receiving expert feedback on a specified post in JSON format and storing them in a database by the server. This allows for the creation of an online community in which users can participate anonymously and safely, enabling smooth information exchange and feedback from experts.
[0137] A "user registration form" is an input screen where a user can enter their information (username, password, email address, etc.) to register with the system.
[0138] "JSON format" is an abbreviation for JavaScript (registered trademark) Object Notation, and is a lightweight data exchange format that represents data as attribute-value pairs.
[0139] A "server" is a computer system that manages data and provides information in response to user requests.
[0140] A "database" is a system for efficiently storing, managing, and retrieving structured information.
[0141] A "user object" is a data structure for storing user information, including a username, password, email address, etc.
[0142] "Authentication Information" means information used to verify a user's identity, such as a username and password provided by a user when logging in.
[0143] "JWT token" is an abbreviation for JSON Web Token, which is generated for an authenticated user and used to identify the user in subsequent requests.
[0144] "Community Information" is the identification of an online group in which a user wishes to join.
[0145] "User posts" are text data such as messages, questions, and opinions sent by users to the community.
[0146] "Feedback" refers to response information such as answers or opinions provided by experts in response to user posts.
[0147] "Encryption methods" refer to technologies and methods for protecting the contents of data so that they cannot be understood by third parties.
[0148] "Anonymity" means that a user's personal information is not revealed to the outside world and their identity cannot be identified.
[0149] The present invention provides a system that allows patients to connect with each other online, share information, and receive feedback from experts. The system includes functions for user registration, login, community participation, posting, and feedback from experts.
[0150] User Registration
[0151] The user first enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. This causes the device to send the entered information to the server in JSON format.
[0152] The server parses the received JSON data and creates a user object containing the username, password, and email address. For security reasons, the password is hashed using an encryption library such as bcrypt. The server then stores the new user information in a database (e.g., MySQL or PostgreSQL) and generates a message indicating successful registration and sends it back to the user.
[0153] Examples:
[0154] When a user registers with the name "Yamada Taro" and the email address "example@example.com" and the password "password123", the server saves this in the database and returns the message "User successfully registered!"
[0155] Log in
[0156] The user enters their username and password in the login form and clicks the "Login" button, which causes the device to send the login information in JSON format to the server.
[0157] The server parses the received JSON data and checks it against the user information in its database. If authentication is successful, the server generates a JWT token using the jsonwebtoken library and sends it back to the user. This token is used to identify the user in subsequent requests.
[0158] Examples:
[0159] When a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0160] Join the community
[0161] The user selects the community they want to join from the community list and clicks the "Join" button, which causes the device to send the community ID in JSON format to the server.
[0162] The server parses the received JSON data, retrieves the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0163] Examples:
[0164] If the user joins the "Diabetes Support Group", the server registers the user as a member of this group in the database and returns the message "You have successfully joined the community!".
[0165] Posting function
[0166] The user enters a message in the community chat box and clicks the "Post" button, which causes the device to send the message and the community ID in JSON format to the server.
[0167] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and sends a message back to the user informing them of the successful posting.
[0168] Examples:
[0169] When a user posts to the community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[0170] Expert Feedback
[0171] The expert enters feedback on the target post and clicks the "Submit" button, which causes the device to send the feedback and post ID in JSON format to the server.
[0172] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and sends a message back to the expert notifying them of the successful feedback.
[0173] Examples:
[0174] When an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0175] Prompt Sentence Examples
[0176] "Please explain the process for registering a new user with a username and password."
[0177] In this way, the present invention provides a system that allows patients to safely and anonymously share information online and receive reliable feedback from experts. Each component of the system ensures smooth information exchange and expert feedback while protecting users' privacy.
[0178] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0179] Step 1:
[0180] A user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The username, password, and email address are provided as input through the form. The terminal receives this information and converts it into JSON format (e.g., {"username": "example_name", "password": "example_password", "email": "example@example.com"}).
[0181] Step 2:
[0182] The terminal sends user registration information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username, password, and email address. The output is the parsed user data.
[0183] Step 3:
[0184] The server needs to hash the password. It takes the password as input and runs it through a hashing process using a library such as bcrypt. The output is the hashed password. For example, it can be hashed using bcrypt.hashSync(password, saltRounds).
[0185] Step 4:
[0186] The server creates a new user object and saves it in the database. As input, a username, hashed password, and email address are provided. The server uses this information to save the user object in the database. The output is a message confirming that the new user has been saved in the database.
[0187] Step 5:
[0188] The server generates a message to notify the user that the user registration was successful and sends it back to the terminal. As input, the server's internal state indicating success and the user's identity are provided. The output is the message "User successfully registered!"
[0189] Step 6:
[0190] The user enters their username and password into the login form and clicks the "Login" button. As input, username and password are provided. The terminal receives this information and converts it to JSON format (e.g., {"username": "example_name", "password": "example_password"}).
[0191] Step 7:
[0192] The terminal sends login information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username and password. The output is the parsed login data.
[0193] Step 8:
[0194] The server authenticates the user against the user information in its database. As input, the parsed username and password are provided. To check if the hashed passwords match, use bcrypt.compareSync(password, hashedPassword). The output is the authentication result (success or failure).
[0195] Step 9:
[0196] If authentication is successful, the server generates a JWT token and sends it back to the user. As input, the authentication success status and user identity information are provided. The token is generated using jsonwebtoken.sign(payload, secretOrPrivateKey). The output is the generated JWT token.
[0197] Step 10:
[0198] The user selects the community they want to join from the community list and clicks the "Join" button. The community ID is provided as input. The device receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id"}).
[0199] Step 11:
[0200] The terminal sends the community ID in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the community ID. The output is the parsed community ID.
[0201] Step 12:
[0202] The server adds the authenticated user to the member list of the specified community. As input, the authenticated user identity and the community ID are provided. The output is a message indicating that the user was successfully added to the community.
[0203] Step 13:
[0204] The server generates a message indicating successful joining and sends it back to the user. As input, it provides the server's internal success state and the user's identity. The output is the message "You have successfully joined the community!"
[0205] Step 14:
[0206] A user enters a message in the community chat box and clicks the "Post" button. The message to post and the community ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id", "message": "example_message"}).
[0207] Step 15:
[0208] The device sends the post content and community ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the post content and community ID. The output is the parsed post content and community ID.
[0209] Step 16:
[0210] The server creates a new post object and saves the user ID, community ID, and post content to the database. As input, the user ID, community ID, and post content are provided. The output is a message confirming that the post was successfully saved to the database.
[0211] Step 17:
[0212] The server generates a message indicating the success of the post and sends it back to the user. As input, the server's internal success state and the user identity are provided. The output is the message "Post created successfully!"
[0213] Step 18:
[0214] The expert enters feedback on the target post and clicks the "Submit" button. The feedback content and post ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"post_id": "example_post_id", "feedback": "example_feedback"}).
[0215] Step 19:
[0216] The device sends the feedback content and post ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the feedback content and post ID. The output is the parsed feedback content and post ID.
[0217] Step 20:
[0218] The server creates a new feedback object and saves the Expert ID, Post ID, and feedback content in the database. As input, the Expert ID, Post ID, and feedback content are provided. The output is a message confirming that the feedback was successfully saved in the database.
[0219] Step 21:
[0220] The server generates a message indicating the success of the feedback and sends it back to the expert. As input, the server's internal state indicating success and the expert identification information are provided. The output is the message "Feedback provided successfully!"
[0221] (Application example 1)
[0222] 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."
[0223] Modern society demands improved security, but many security systems only detect anomalies and leave subsequent response up to the user. This makes it difficult to respond quickly and appropriately even when an anomaly is detected. In addition, few systems can receive feedback from experts, making it difficult to obtain reliable information in real time. Another issue is that information cannot be shared smoothly between users, which prevents the power of the community from being fully utilized.
[0224] 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.
[0225] In this invention, the server includes: [means for receiving registration information and saving user information in a database;] [means for receiving input authentication information and verifying it against user information in the database for authentication;] [means for generating and returning identification information for the authenticated user;] [means for receiving community information in which the user wishes to join and adding the authenticated user to a member list of the corresponding community;] [means for receiving user posts in the community and saving it in a database;] [means for receiving expert feedback on a specified post and saving it in a database; and [means for enabling information sharing among users and feedback from experts when an anomaly is detected.] This enables a quick and accurate response when an anomaly is detected, enables reliable feedback from experts, and enables information sharing that utilizes the power of the community.
[0226] "Registration Information" means basic personal information such as username, password, and email address that a User provides when first accessing the System.
[0227] "User information" is a collective term for all data related to a user, including registration information, user usage history, and authentication information.
[0228] The "database" is a system for efficiently managing and storing user information, community information, posted content, feedback, etc.
[0229] "Authentication Information" means information used to identify and authenticate a user, such as a user name and password provided by the user when logging into a system.
[0230] "Identification information" refers to information used to identify a user, such as a token or session ID that is generated and returned to an authenticated user.
[0231] "Community information" is information about a specific community in which a user wishes to participate, including the name and ID of the community.
[0232] A "member list" is a list of all users who are members of a particular community.
[0233] "User Contributions" are opinions, questions, information, or other messages that users share within the community.
[0234] "Expert Feedback" refers to advice, comments, ratings, and other content provided by an Expert in response to a User Submission.
[0235] An "abnormality" is when a security camera or intrusion detection system detects behavior or an event that is different from normal.
[0236] "Information sharing" is the process of exchanging opinions and information between users.
[0237] "Authentic feedback" is accurate, useful advice or information provided by someone with the expertise.
[0238] A specific embodiment of this invention will now be described. This system supports rapid and accurate security response through information sharing between users and feedback from experts. The system mainly consists of the following components: a user terminal, a server, and a database.
[0239] Hardware and Software Configuration
[0240] The user device is a smartphone or tablet, and the application is installed before use. The application is developed using the Python Django framework and REST API. The server is built on a cloud infrastructure (e.g., AWS (registered trademark) or Google (registered trademark) Cloud), and the database is MySQL or PostgreSQL.
[0241] System Functions and Processing
[0242] The server has a way to receive user registration information and store the user information in a database. The user registers by entering a username, email address, and password. The server parses the received data in JSON format, creates a new user object, and stores the information in the database. The password is hashed appropriately.
[0243] Then, when the user logs in, their credentials are sent to the server, which parses them and authenticates them against information in a database. If authentication is successful, the server generates a JWT token and sends it back to the user, which identifies them on subsequent requests.
[0244] The server receives information about the community the user wishes to join and adds the authenticated user to the member list of the corresponding community. The user selects the community they wish to join from the community list, and the server updates the database based on the received data.
[0245] If an anomaly is detected, users can post it to the community. The server receives the post and stores it in a database. Feedback provided by experts is also received and stored in the same way. This allows users to receive reliable information in real time.
[0246] For example, if a user joins a home security group and their security camera detects an abnormality, the system will quickly post the information to the community and experts will provide appropriate feedback, allowing the user to take prompt action and minimize damage.
[0247] Prompt Sentence Examples
[0248] Have users join a "Home Security Group" to provide feedback if the camera detects an anomaly. Also, include a process to ensure users are logged in.
[0249] In this way, the present invention provides a system that promotes information sharing among users and supports quick and accurate security responses.
[0250] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0251] Step 1:
[0252] User Registration
[0253] The device obtains the username, password, and email address entered by the user and converts them into JSON format.
[0254] Input: Username, Password, Email Address
[0255] Data processing: Convert data into JSON format
[0256] The server receives this JSON data, parses it, creates a user object, and hashes the password.
[0257] Data Computation: Password Hashing
[0258] Output: New user object
[0259] The server saves the new user object in its database and generates and returns a successful registration message.
[0260] Step 2:
[0261] User authentication
[0262] The device takes the username and password entered by the user and converts them into JSON format.
[0263] Input: Username, Password
[0264] Data processing: Convert data into JSON format
[0265] The server receives this JSON data and authenticates it by comparing it with the user information in its database.
[0266] Data calculation: database matching, authentication processing
[0267] Output: Authentication result, JWT token (if authentication is successful)
[0268] The server generates and returns a JWT token for the authenticated user.
[0269] Step 3:
[0270] Community Participation
[0271] The terminal obtains the community ID selected by the user and converts it into JSON format.
[0272] Input: Community ID
[0273] Data processing: Convert data into JSON format
[0274] The server receives this JSON data and retrieves the entry for the specified community ID from the database.
[0275] Data calculation: Retrieving entries from the database and adding them to community members
[0276] Output: Updated community member list
[0277] The server adds the authenticated user to the member list of the corresponding community and returns a successful join message to the user.
[0278] Step 4:
[0279] User Submissions
[0280] The terminal obtains the post content and community ID entered by the user and converts them into JSON format.
[0281] Input: Post content, community ID
[0282] Data processing: Convert data into JSON format
[0283] The server receives this JSON data and creates a new post object.
[0284] Data operations: creating a new post object and saving it to the database
[0285] Output: Updated database
[0286] The server stores the user ID, community ID, and the post in a database and returns a successful posting message to the user.
[0287] Step 5:
[0288] Expert Feedback
[0289] The device obtains the feedback entered by the expert and the post ID and converts them into JSON format.
[0290] Input: Feedback content, post ID
[0291] Data processing: Convert data into JSON format
[0292] The server receives this JSON data and creates a new feedback object.
[0293] Data Calculation: Create new feedback object, save to database
[0294] Output: Updated database
[0295] The server stores the expert ID, the post ID, and the feedback content in a database and returns a feedback success message to the expert.
[0296] Step 6:
[0297] Anomaly detection and information sharing
[0298] A security camera or intrusion detection system detects an anomaly and sends a notification to the application.
[0299] Input: Anomaly detection information
[0300] Data processing: Notification of abnormal information
[0301] The device analyzes this abnormal information, displays a notification to the user, and automatically posts the information to the community.
[0302] Data calculation: Analysis of abnormal information, automatic posting
[0303] Output: Community post
[0304] The server receives this post, stores it in a database, and sends notifications to community members.
[0305] Through these steps, the system can efficiently perform a series of processes from user registration to anomaly detection, information sharing, and expert feedback.
[0306] 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.
[0307] As a specific embodiment of the present invention, we will explain a system that combines a system that allows patients to connect with each other online, share information, and receive feedback from experts with an emotion engine that recognizes user emotions. This system includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using the emotion engine.
[0308] User Registration
[0309] The user enters their username, password, and email address in the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[0310] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[0311] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[0312] Log in
[0313] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[0314] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[0315] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0316] Join the community
[0317] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[0318] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0319] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[0320] Posting function
[0321] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[0322] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[0323] The server also sends the content of the post to the emotion engine for emotion analysis, which analyzes the emotion of the post and returns the analysis results to the server.
[0324] For example, when a user posts to a community, "Tell me how to manage diabetes," the server stores this in the database, returns a message saying "Post created successfully!", and asks the emotion engine for analysis.
[0325] Expert Feedback
[0326] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[0327] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[0328] Furthermore, based on the emotions recognized by the emotion engine, the server can provide the expert with the functionality to recommend appropriate feedback.
[0329] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0330] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. Furthermore, by analyzing users' emotions and recommending appropriate feedback and communication based on the analysis results, it is possible to improve user satisfaction and the quality of support.
[0331] The processing flow will be explained below.
[0332] User Registration
[0333] Step 1:
[0334] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[0335] Step 2:
[0336] The terminal sends the entered information to the server in JSON format.
[0337] Step 3:
[0338] The server parses the received JSON data and creates a new user object.
[0339] Step 4:
[0340] The server stores the username and email address as is, and stores the password in a hashed form.
[0341] Step 5:
[0342] The server stores the new user information in a database.
[0343] Step 6:
[0344] The server generates a message indicating successful registration and returns it to the device in JSON format.
[0345] Step 7:
[0346] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[0347] Log in
[0348] Step 1:
[0349] The user enters the user name and password in the login form and clicks the "Login" button.
[0350] Step 2:
[0351] The terminal sends the entered information to the server in JSON format.
[0352] Step 3:
[0353] The server parses the received JSON data and matches it with the username and password hash in its database.
[0354] Step 4:
[0355] If the verification is successful, the server generates a JWT token.
[0356] Step 5:
[0357] The server returns the generated JWT token to the terminal in JSON format.
[0358] Step 6:
[0359] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[0360] Join the community
[0361] Step 1:
[0362] The user selects the community he or she wants to join and clicks the "Join" button.
[0363] Step 2:
[0364] The terminal sends the selected community ID to the server in JSON format.
[0365] Step 3:
[0366] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[0367] Step 4:
[0368] The server adds the authenticated user to the member list of the corresponding community.
[0369] Step 5:
[0370] The server generates a message indicating successful joining and returns it to the device in JSON format.
[0371] Step 6:
[0372] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[0373] Posting function
[0374] Step 1:
[0375] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[0376] Step 2:
[0377] The device sends the post content and community ID to the server in JSON format.
[0378] Step 3:
[0379] The server parses the received JSON data and creates a new post object.
[0380] Step 4:
[0381] The server adds the user ID, community ID, and post content to the post object.
[0382] Step 5:
[0383] The server saves the new post object to the database.
[0384] Step 6:
[0385] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[0386] Step 7:
[0387] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[0388] Sentiment analysis with emotion engine
[0389] Step 1:
[0390] After the community post is saved, the server sends the post content to the emotion engine.
[0391] Step 2:
[0392] The emotion engine analyzes the content of the posts received and identifies the emotion.
[0393] Step 3:
[0394] The emotion engine sends the analysis results of the identified emotions to the server.
[0395] Step 4:
[0396] The server stores the received sentiment analysis results in a database.
[0397] Step 5:
[0398] The server generates appropriate feedback and expert suggestions based on the sentiment analysis results.
[0399] Expert Feedback
[0400] Step 1:
[0401] The expert enters feedback on the target post and clicks the "Submit" button.
[0402] Step 2:
[0403] The device sends the feedback content and post ID to the server in JSON format.
[0404] Step 3:
[0405] The server parses the received JSON data and creates a new feedback object.
[0406] Step 4:
[0407] The server adds the expert ID, post ID, and feedback content to the feedback object.
[0408] Step 5:
[0409] The server stores the new feedback object in the database.
[0410] Step 6:
[0411] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[0412] Step 7:
[0413] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[0414] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0415] This invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. It also analyzes users' emotions and recommends appropriate feedback and communication based on the analysis results, thereby improving user satisfaction and the quality of support.
[0416] Example 2
[0417] 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."
[0418] While existing online community systems have functions for users to share information and receive feedback from experts, they often lack the ability to analyze users' emotions and provide appropriate feedback and communication based on that. As a result, user satisfaction and the quality of support can decline.
[0419] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving registration information and saving user information in a database, means for receiving input authentication information and authenticating the user by comparing it with user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about a community in which the user wishes to join and adding the authenticated user to a member list of the corresponding community, means for receiving user posts in the community and saving them in a database, means for receiving expert feedback on a specified post and saving it in a database, and means for sending the post content to an emotion engine and receiving emotion analysis results. This makes it possible to analyze the user's emotions and provide appropriate feedback and communication based on the results.
[0420] "Registration Information" refers to personal information such as username, password, and email address that a User provides when accessing the System for the first time.
[0421] "User Information" means data about a User generated from the Registration Information, stored in a database, and used for verification and authentication.
[0422] "Authentication Information" refers to information such as a username and password provided by a User to log into a System.
[0423] "Identification information" refers to information such as tokens or IDs generated to identify authenticated users.
[0424] "Community Information" refers to data about particular groups that a User wishes to join.
[0425] A "member list" refers to a list of users who belong to a particular community, and is managed within a database.
[0426] "Post" means content, such as text, images, links, etc., that a User creates to share information with other Users within the Community.
[0427] "Expert Feedback" refers to advice or comments provided by users with specialized knowledge in a subject area in response to other users' posts.
[0428] An "emotion engine" refers to an algorithm or software that analyzes users' posts and identifies their emotional state.
[0429] "Sentiment Analysis Results" means data regarding a user's emotional state analyzed by the Emotion Engine.
[0430] The present invention is an online community system that includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using an emotion engine.
[0431] User Registration
[0432] The user enters a username, password, and email address into the user registration form on the terminal and clicks the "Register" button. The terminal sends the entered information to the server in JSON format. The server parses the received JSON data and creates a new user object. The username and email address are stored as is in the database, and the password is hashed and stored securely. After saving the new user information in the database, the server generates a message saying "User successfully registered!" and sends it back to the terminal.
[0433] As a concrete example, if a user registers with the username "Yamada Taro," the email address "yamada@example.com," and the password "password123," the server stores this information in the database and returns a confirmation message.
[0434] Log in
[0435] The user enters their username and password into the login form and clicks the "Login" button. The device sends this information in JSON format to the server. The server parses the received JSON data and matches it with the user information in its database. If authentication is successful, the server generates a JWT token and sends it back to the device. This token is used to identify the user in subsequent requests.
[0436] As a concrete example, when a user logs in with the user name "Yamada Taro" and password "123", the server performs authentication, generates a JWT token and sends it back.
[0437] Join the community
[0438] The user selects the community they wish to join from the community list and clicks the "Join" button. The device sends the selected community ID to the server in JSON format. The server parses the received JSON data and retrieves entries related to the specified community ID from the database. It adds the authenticated user to the member list of the specified community and generates and returns a message indicating successful joining.
[0439] As a specific example, if the user wishes to join a "Diabetes Support Group," the server adds the user to the member list for this group and returns a successful join message.
[0440] Posting function
[0441] The user enters a message in the community chat box and clicks the "Post" button. The device sends the post content and community ID in JSON format to the server. The server parses the received JSON data and creates a new post object. After saving the user ID, community ID, and post content in a database, it generates a message saying "Post created successfully!" and returns it to the device. The server also sends the post content to an emotion engine (e.g., IBM Watson (registered trademark), Google Cloud Natural Language API) for sentiment analysis.
[0442] For example, if a user posts "Please tell me how to manage my diabetes," the server stores this post in a database, requests the emotion engine for analysis, and returns a confirmation message.
[0443] Expert Feedback
[0444] The expert enters feedback for the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server. The server parses the received JSON data and creates a new feedback object. After saving the expert ID, post ID, and feedback in the database, it generates a message saying "Feedback provided successfully!" and sends it back to the device.
[0445] Furthermore, the server can provide a function to recommend optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[0446] For example, if an expert responds to a post asking "How do I manage my diabetes?" with feedback such as "Proper exercise and dietary management are important," the server will store this and send back a confirmation message.
[0447] This system allows patients to safely share information online and receive reliable feedback from experts. It also analyzes user sentiment and provides appropriate feedback and communication based on the results, improving user satisfaction and the quality of support.
[0448] Examples of prompt statements
[0449] Here are some example prompts for a generative AI model:
[0450] Prompt: "Describe an overview of a system that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes features for user registration, login, community participation, posting, feedback from experts, and sentiment analysis using an emotion engine. Please specify the hardware and software used for each process in the system, as well as the type of data processing and calculations performed. Please also provide specific examples."
[0451] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0452] User registration process steps
[0453] Step 1:
[0454] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[0455] Input: Username, Password, Email Address
[0456] Output: Request to send input information
[0457] Step 2:
[0458] The terminal sends the entered information to the server in JSON format.
[0459] Input: JSON data of username, password, and email address
[0460] Output: Sending input information
[0461] Step 3:
[0462] The server parses the received JSON data and creates a new user object.
[0463] Input: JSON data of username, password, and email address
[0464] Processing: Parse the JSON data and create a new user object
[0465] Output: User object
[0466] Step 4:
[0467] The server stores the username and email address as is in the database, and hashes the password and stores it securely.
[0468] Input: User object
[0469] Processing: Saving usernames, email addresses, hashing and storing passwords
[0470] Output: User information stored in the database
[0471] Step 5:
[0472] The server stores the new user information in a database and then generates a message saying "User successfully registered!" and sends it back to the terminal.
[0473] Input: User information
[0474] Output: Generate and send a confirmation message
[0475] Login process steps
[0476] Step 1:
[0477] The user enters the user name and password in the login form and clicks the "Login" button.
[0478] Input: Username, Password
[0479] Output: Request to send input information
[0480] Step 2:
[0481] The device sends this information to the server in JSON format.
[0482] Input: JSON data of username and password
[0483] Output: Sending input information
[0484] Step 3:
[0485] The server parses the received JSON data and matches it with the user information in its database.
[0486] Input: JSON data of username and password
[0487] Processing: Parse JSON data and match it with information in the database
[0488] Output: Authentication result
[0489] Step 4:
[0490] If authentication is successful, the server generates a JWT token and returns it to the device.
[0491] Input: Authentication result
[0492] Process: Generate JWT token
[0493] Output: JWT token
[0494] Community participation process steps
[0495] Step 1:
[0496] The user selects the community he or she wants to join from the community list and clicks the "Join" button.
[0497] Input: Selected Community ID
[0498] Output: Join request
[0499] Step 2:
[0500] The terminal sends the selected community ID to the server in JSON format.
[0501] Input: JSON data of community ID
[0502] Output: Sending input information
[0503] Step 3:
[0504] The server parses the received JSON data and retrieves entries related to the specified community ID from the database.
[0505] Input: JSON data of community ID
[0506] Processing: Parsing JSON data, retrieving entries from the database
[0507] Output: Community entries
[0508] Step 4:
[0509] The server adds the authenticated user to the member list of the specified community, generates a message indicating successful participation, and returns it to the terminal.
[0510] Input: Community entry, user information
[0511] Action: Update member list
[0512] Output: Join successful message
[0513] Post function processing steps
[0514] Step 1:
[0515] The user enters a message in the community chat box and clicks the "Post" button.
[0516] Input: Message content, community ID
[0517] Output: Post request
[0518] Step 2:
[0519] The device sends the post content and community ID to the server in JSON format.
[0520] Input: JSON data of message content and community ID
[0521] Output: Sending input information
[0522] Step 3:
[0523] The server parses the received JSON data and creates a new post object.
[0524] Input: JSON data of message content and community ID
[0525] Processing: Parse JSON data and create post object
[0526] Output: Post object
[0527] Step 4:
[0528] The server stores the user ID, community ID, and post content in a database, then generates a message saying "Post created successfully!" and sends it back to the terminal.
[0529] Input: Post object
[0530] Process: Save to database
[0531] Output: Generate and send a confirmation message
[0532] Step 5:
[0533] The server sends the posted content to the emotion engine and requests emotion analysis.
[0534] Input: Post content
[0535] Processing: Send to emotion engine, request emotion analysis
[0536] Output: Sentiment analysis results
[0537] Expert feedback processing steps
[0538] Step 1:
[0539] The expert enters feedback on the target post and clicks the "Submit" button.
[0540] Input: Feedback content, post ID
[0541] Output: Feedback request
[0542] Step 2:
[0543] The device sends the feedback content and post ID to the server in JSON format.
[0544] Input: JSON data of feedback content and post ID
[0545] Output: Sending input information
[0546] Step 3:
[0547] The server parses the received JSON data and creates a new feedback object.
[0548] Input: JSON data of feedback content and post ID
[0549] Processing: Parse JSON data and generate feedback objects
[0550] Output: Feedback object
[0551] Step 4:
[0552] The server stores the expert ID, post ID, and feedback content in a database, and then generates a message saying "Feedback has been provided successfully!" and returns it to the terminal.
[0553] Input: Feedback object
[0554] Process: Save to database
[0555] Output: Generate and send a confirmation message
[0556] Step 5:
[0557] Furthermore, the server recommends optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[0558] Input: Sentiment analysis results
[0559] Action: Recommend appropriate feedback
[0560] Output: Recommendation feedback
[0561] (Application example 2)
[0562] 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."
[0563] Conventional online healthcare systems lack the functionality to grasp a user's emotional state in real time and provide an individualized healthcare management plan based on that information. Furthermore, users often lack the ability to smoothly exchange information with each other or with experts, making it difficult to receive reliable feedback quickly. This makes it difficult to provide effective healthcare management and improve user satisfaction.
[0564] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0565] In this invention, the server includes means for receiving registration information and storing user information in a database, means for receiving input authentication information and verifying it against user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about communities the user wishes to join and adding the authenticated user to a member list for the corresponding community, means for receiving user posts in the community and storing them in a database, means for receiving expert feedback on a specified post and storing it in a database, means for sending the post content to an emotion engine and receiving the results of emotion analysis by a generative AI model, and means for creating and providing a health management plan to the user based on the results of the emotion analysis. This makes it possible to grasp the user's emotional state in real time and provide an individualized health management plan based on that. Furthermore, smooth information exchange between users and experts and rapid, reliable feedback can be achieved, resulting in effective health management and improved user satisfaction.
[0566] "Means for receiving registration information and storing user information in a database" refers to a function that collects registration information entered by users, sends it to a server, and stores the information in a database.
[0567] "Means for receiving the entered authentication information and verifying it against the user information in the database" refers to the function of collecting the authentication information entered by the user and verifying it against existing user information stored in the database to authenticate the user.
[0568] The "means for generating and returning identification information to an authenticated user" is a function that generates unique identification information for a user who has been successfully authenticated and returns it to the user.
[0569] "Means for receiving information about communities in which a user wishes to join and adding authenticated users to the member list of the corresponding communities" refers to a function for collecting information about communities in which a user wishes to join, confirming that the user has been authenticated, and then adding the user to the member list of a specific community.
[0570] "Means for receiving user posts within a community and storing them in a database" is a function for collecting posts made by users within a community, sending them to a server, and storing the contents in a database.
[0571] The "means for receiving expert feedback on a specified post and storing it in a database" is a function for collecting feedback provided by experts on a user's post and storing the data in a database.
[0572] "Means for sending the content of posts to an emotion engine and receiving the emotion analysis results from a generative AI model" refers to a function for sending the content of posts by users to an emotion recognition engine and receiving the emotion results analyzed by a generative AI model.
[0573] "Means for creating and providing a health management plan to the user based on the emotion analysis results" is a function for creating a health management plan that is suited to the user's current emotional state based on the emotion analysis results and providing it to the user.
[0574] This invention is an online healthcare system that includes user registration, login, community participation, posting, and expert feedback functions, as well as a sentiment analysis function using an emotion engine. The system aims to analyze the user's emotional state in real time and provide a customized healthcare plan based on the results. The system consists of the following elements:
[0575] Hardware and Software
[0576] The following hardware is required to implement this invention:
[0577] Server (including database and authentication system): Stores and manages user information.
[0578] User terminal (e.g., smartphone): A device through which a user accesses the system and enters or retrieves information.
[0579] Emotion Engine: A system that analyzes user posts and is equipped with a generative AI model.
[0580] The software used includes:
[0581] Backend framework (e.g. Flask): Responsible for server-side processing.
[0582] Database management system (e.g., MySQL): Stores user information and posts.
[0583] Authentication libraries (e.g. bcrypt, JWT): For securely authenticating users.
[0584] Sentiment analysis API (e.g., Emotion AI): For analyzing user posts and returning sentiment results.
[0585] Program processing explanation
[0586] The server receives the registration information entered by the user and stores the data, including the username, password, and email address, in a database. The password is hashed using bcrypt and stored securely. When a user attempts to log in, the server receives the entered authentication information and compares it with the user information in the database for authentication. If authentication is successful, the server generates and returns a JWT token to the user.
[0587] When an authenticated user wishes to join a specific community, the server receives the information and adds the user to the community's member list. When the user posts within the community, the post is sent to the server and stored in the database. At the same time, the post is sent to the emotion engine, where it is analyzed by a generative AI model.
[0588] The emotion analysis results are sent back to the server, which then creates a customized health plan based on the results. Specifically, it provides exercise, dietary suggestions, and relaxation advice that correspond to the user's specific emotional state. For example, if the user expresses sadness, it will suggest relaxation practices or counseling.
[0589] Experts provide feedback on user posts, which is then sent to the server and stored in a database. Based on the emotions recognized by the emotion engine, the experts recommend the most appropriate feedback.
[0590] Prompt Sentence Examples
[0591] For the post "It's been hard to exercise lately," the prompt text to send to the sentiment analysis API to get the sentiment analysis results is as follows:
[0592] Text sentence: "It's been hard to exercise lately", analyze the sentiment.
[0593] In this way, the system of the present invention can grasp the user's emotional state in real time and provide an individualized health management plan based on that information. It also facilitates information exchange between users and experts, allowing users to receive fast and reliable feedback.
[0594] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0595] Step 1:
[0596] User Registration
[0597] The user enters their username, password, and email address into the user registration form on their terminal and clicks the "Register" button. The server receives the entered information in JSON format, stores the username and email address as is, hashes the password with bcrypt, and securely stores it in the database. It also generates a registration success message and sends it back to the user.
[0598] Input: Username, Password, Email Address
[0599] Output: Registration successful message
[0600] Actions: Hashing, storing, generating messages
[0601] Step 2:
[0602] Log in
[0603] The user enters their username and password into the login form on their terminal and clicks the "Login" button. The server receives the entered information in JSON format and authenticates it by checking it against the user information in the database. If authentication is successful, the server generates a JWT token and returns it to the user.
[0604] Input: Username, Password
[0605] Output: JWT token
[0606] Actions: Authentication, token generation
[0607] Step 3:
[0608] Community Participation
[0609] The user uses their device to select the community they want to join from the community list and clicks the "Join" button. The server receives the community information selected by the user in JSON format, adds the authenticated user to the member list of the corresponding community, and generates a success message for joining and returns it to the user.
[0610] Input: Community Information
[0611] Output: Join success message
[0612] Action: Save, generate message
[0613] Step 4:
[0614] User Submissions
[0615] The user uses their device to enter a message into the community chat box and clicks the "Post" button. The server receives the post content and community ID in JSON format, stores them in a database, and sends the post content to the emotion engine. The emotion engine performs emotion analysis using a generative AI model and returns the results to the server. The server creates a health management plan based on the emotion analysis results and provides it to the user.
[0616] Input: Post content, community ID
[0617] Output: Post success message, sentiment analysis results, health management plan
[0618] Actions: Save, send, analyze, generate plan
[0619] Step 5:
[0620] Expert Feedback
[0621] The expert uses the device to enter feedback on the user's post and clicks the "Submit" button. The server receives the feedback and post ID in JSON format and stores them in a database. It then verifies whether the expert's feedback is appropriate based on the sentiment analysis results and recommends the most appropriate feedback.
[0622] Input: Feedback content, post ID
[0623] Output: Feedback success message
[0624] Behavior: Save, validate, recommend
[0625] 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.
[0626] 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.
[0627] 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.
[0628] [Second embodiment]
[0629] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0630] 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.
[0631] 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).
[0632] 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.
[0633] 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.
[0634] 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).
[0635] 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.
[0636] 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.
[0637] 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.
[0638] 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.
[0639] 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.
[0640] 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."
[0641] As a specific embodiment of the present invention, a system will be described that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes functions for user registration, login, community participation, posting, and feedback from experts.
[0642] User Registration
[0643] The user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[0644] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[0645] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[0646] Log in
[0647] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[0648] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[0649] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0650] Join the community
[0651] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[0652] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0653] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[0654] Posting function
[0655] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[0656] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[0657] For example, if a user posts to a community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[0658] Expert Feedback
[0659] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[0660] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[0661] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0662] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts.
[0663] The processing flow will be explained below.
[0664] User Registration
[0665] Step 1:
[0666] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[0667] Step 2:
[0668] The terminal sends the entered information to the server in JSON format.
[0669] Step 3:
[0670] The server parses the received JSON data and creates a new user object.
[0671] Step 4:
[0672] The server stores the username and email address as is, and stores the password in a hashed form.
[0673] Step 5:
[0674] The server stores the new user information in a database.
[0675] Step 6:
[0676] The server generates a message indicating successful registration and returns it to the device in JSON format.
[0677] Step 7:
[0678] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[0679] Log in
[0680] Step 1:
[0681] The user enters the user name and password in the login form and clicks the "Login" button.
[0682] Step 2:
[0683] The terminal sends the entered information to the server in JSON format.
[0684] Step 3:
[0685] The server parses the received JSON data and matches it with the username and password hash in its database.
[0686] Step 4:
[0687] If the verification is successful, the server generates a JWT token.
[0688] Step 5:
[0689] The server returns the generated JWT token to the terminal in JSON format.
[0690] Step 6:
[0691] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[0692] Join the community
[0693] Step 1:
[0694] The user selects the community he or she wants to join and clicks the "Join" button.
[0695] Step 2:
[0696] The terminal sends the selected community ID to the server in JSON format.
[0697] Step 3:
[0698] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[0699] Step 4:
[0700] The server adds the authenticated user to the member list of the corresponding community.
[0701] Step 5:
[0702] The server generates a message indicating successful joining and returns it to the device in JSON format.
[0703] Step 6:
[0704] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[0705] Posting function
[0706] Step 1:
[0707] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[0708] Step 2:
[0709] The device sends the post content and community ID to the server in JSON format.
[0710] Step 3:
[0711] The server parses the received JSON data and creates a new post object.
[0712] Step 4:
[0713] The server adds the user ID, community ID, and post content to the post object.
[0714] Step 5:
[0715] The server saves the new post object to the database.
[0716] Step 6:
[0717] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[0718] Step 7:
[0719] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[0720] Expert Feedback
[0721] Step 1:
[0722] The expert enters feedback on the target post and clicks the "Submit" button.
[0723] Step 2:
[0724] The device sends the feedback content and post ID to the server in JSON format.
[0725] Step 3:
[0726] The server parses the received JSON data and creates a new feedback object.
[0727] Step 4:
[0728] The server adds the expert ID, post ID, and feedback content to the feedback object.
[0729] Step 5:
[0730] The server stores the new feedback object in the database.
[0731] Step 6:
[0732] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[0733] Step 7:
[0734] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[0735] This allows users and experts to safely and effectively share information and receive feedback.
[0736] Example 1
[0737] 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."
[0738] There is a need for a system in online communities that allows patients to share information anonymously and safely and receive reliable feedback from experts. However, existing systems often do not adequately protect users' personal information, which can hinder smooth information exchange and feedback provision. In response, a system is needed that ensures data security while promoting information exchange among users and allowing them to receive accurate feedback from experts.
[0739] 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.
[0740] In this invention, the server includes means for transmitting registration information received from a user registration form in JSON format to the server, means for the server to analyze the received JSON data, create a user object and store it in a database, means for transmitting input authentication information to the server in JSON format and for the server to authenticate by comparing it with user information in the database, means for generating and returning a JWT token for the authenticated user, means for transmitting information about a community the user wishes to join to the server in JSON format and for the server to add the authenticated user to a community member list, means for receiving user posts in the community in JSON format and storing them in a database by the server, and means for receiving expert feedback on a specified post in JSON format and storing them in a database by the server. This allows for the creation of an online community in which users can participate anonymously and safely, enabling smooth information exchange and feedback from experts.
[0741] A "user registration form" is an input screen where a user can enter their information (username, password, email address, etc.) to register with the system.
[0742] "JSON format" is an abbreviation for JavaScript Object Notation, and is a lightweight data exchange format that represents data as attribute-value pairs.
[0743] A "server" is a computer system that manages data and provides information in response to user requests.
[0744] A "database" is a system for efficiently storing, managing, and retrieving structured information.
[0745] A "user object" is a data structure for storing user information, including a username, password, email address, etc.
[0746] "Authentication Information" means information used to verify a user's identity, such as a username and password provided by a user when logging in.
[0747] "JWT token" is an abbreviation for JSON Web Token, which is generated for an authenticated user and used to identify the user in subsequent requests.
[0748] "Community Information" is the identification of an online group in which a user wishes to join.
[0749] "User posts" are text data such as messages, questions, and opinions sent by users to the community.
[0750] "Feedback" refers to response information such as answers or opinions provided by experts in response to user posts.
[0751] "Encryption methods" refer to technologies and methods for protecting the contents of data so that they cannot be understood by third parties.
[0752] "Anonymity" means that a user's personal information is not revealed to the outside world and their identity cannot be identified.
[0753] The present invention provides a system that allows patients to connect with each other online, share information, and receive feedback from experts. The system includes functions for user registration, login, community participation, posting, and feedback from experts.
[0754] User Registration
[0755] The user first enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. This causes the device to send the entered information to the server in JSON format.
[0756] The server parses the received JSON data and creates a user object containing the username, password, and email address. For security reasons, the password is hashed using an encryption library such as bcrypt. The server then saves the new user information in a database (e.g., MySQL or PostgreSQL) and generates a message indicating success and sends it back to the user.
[0757] Examples:
[0758] When a user registers with the name "Yamada Taro" and the email address "example@example.com" and the password "password123", the server saves this in the database and returns the message "User successfully registered!"
[0759] Log in
[0760] The user enters their username and password in the login form and clicks the "Login" button, which causes the device to send the login information in JSON format to the server.
[0761] The server parses the received JSON data and checks it against the user information in its database. If authentication is successful, the server generates a JWT token using the jsonwebtoken library and sends it back to the user. This token is used to identify the user in subsequent requests.
[0762] Examples:
[0763] When a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0764] Join the community
[0765] The user selects the community they want to join from the community list and clicks the "Join" button, which causes the device to send the community ID in JSON format to the server.
[0766] The server parses the received JSON data, retrieves the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0767] Examples:
[0768] If the user joins the "Diabetes Support Group", the server registers the user as a member of this group in the database and returns the message "You have successfully joined the community!".
[0769] Posting function
[0770] The user enters a message in the community chat box and clicks the "Post" button, which causes the device to send the message and the community ID in JSON format to the server.
[0771] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and sends a message back to the user informing them of the successful posting.
[0772] Examples:
[0773] When a user posts to the community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[0774] Expert Feedback
[0775] The expert enters feedback on the target post and clicks the "Submit" button, which causes the device to send the feedback and post ID in JSON format to the server.
[0776] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and sends a message back to the expert notifying them of the successful feedback.
[0777] Examples:
[0778] When an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0779] Prompt Sentence Examples
[0780] "Please explain the process for registering a new user with a username and password."
[0781] In this way, the present invention provides a system that allows patients to safely and anonymously share information online and receive reliable feedback from experts. Each component of the system ensures smooth information exchange and expert feedback while protecting users' privacy.
[0782] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0783] Step 1:
[0784] A user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The username, password, and email address are provided as input through the form. The terminal receives this information and converts it into JSON format (e.g., {"username": "example_name", "password": "example_password", "email": "example@example.com"}).
[0785] Step 2:
[0786] The terminal sends user registration information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username, password, and email address. The output is the parsed user data.
[0787] Step 3:
[0788] The server needs to hash the password. It takes the password as input and runs it through a hashing process using a library such as bcrypt. The output is the hashed password. For example, it can be hashed using bcrypt.hashSync(password, saltRounds).
[0789] Step 4:
[0790] The server creates a new user object and saves it in the database. As input, a username, hashed password, and email address are provided. The server uses this information to save the user object in the database. The output is a message confirming that the new user has been saved in the database.
[0791] Step 5:
[0792] The server generates a message to notify the user that the user registration was successful and sends it back to the terminal. As input, the server's internal state indicating success and the user's identity are provided. The output is the message "User successfully registered!"
[0793] Step 6:
[0794] The user enters their username and password into the login form and clicks the "Login" button. As input, username and password are provided. The terminal receives this information and converts it to JSON format (e.g., {"username": "example_name", "password": "example_password"}).
[0795] Step 7:
[0796] The terminal sends login information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username and password. The output is the parsed login data.
[0797] Step 8:
[0798] The server authenticates the user against the user information in its database. As input, the parsed username and password are provided. To check if the hashed passwords match, use bcrypt.compareSync(password, hashedPassword). The output is the authentication result (success or failure).
[0799] Step 9:
[0800] If authentication is successful, the server generates a JWT token and sends it back to the user. As input, the authentication success status and user identity information are provided. The token is generated using jsonwebtoken.sign(payload, secretOrPrivateKey). The output is the generated JWT token.
[0801] Step 10:
[0802] The user selects the community they want to join from the community list and clicks the "Join" button. The community ID is provided as input. The device receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id"}).
[0803] Step 11:
[0804] The terminal sends the community ID in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the community ID. The output is the parsed community ID.
[0805] Step 12:
[0806] The server adds the authenticated user to the member list of the specified community. As input, the authenticated user identity and the community ID are provided. The output is a message indicating that the user was successfully added to the community.
[0807] Step 13:
[0808] The server generates a message indicating successful joining and sends it back to the user. As input, it provides the server's internal success state and the user's identity. The output is the message "You have successfully joined the community!"
[0809] Step 14:
[0810] A user enters a message in the community chat box and clicks the "Post" button. The message to post and the community ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id", "message": "example_message"}).
[0811] Step 15:
[0812] The device sends the post content and community ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the post content and community ID. The output is the parsed post content and community ID.
[0813] Step 16:
[0814] The server creates a new post object and saves the user ID, community ID, and post content to the database. As input, the user ID, community ID, and post content are provided. The output is a message confirming that the post was successfully saved to the database.
[0815] Step 17:
[0816] The server generates a message indicating the success of the post and sends it back to the user. As input, the server's internal success state and the user identity are provided. The output is the message "Post created successfully!"
[0817] Step 18:
[0818] The expert enters feedback on the target post and clicks the "Submit" button. The feedback content and post ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"post_id": "example_post_id", "feedback": "example_feedback"}).
[0819] Step 19:
[0820] The device sends the feedback content and post ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the feedback content and post ID. The output is the parsed feedback content and post ID.
[0821] Step 20:
[0822] The server creates a new feedback object and saves the Expert ID, Post ID, and feedback content in the database. As input, the Expert ID, Post ID, and feedback content are provided. The output is a message confirming that the feedback was successfully saved in the database.
[0823] Step 21:
[0824] The server generates a message indicating the success of the feedback and sends it back to the expert. As input, the server's internal state indicating success and the expert identification information are provided. The output is the message "Feedback provided successfully!"
[0825] (Application example 1)
[0826] 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."
[0827] Modern society demands improved security, but many security systems only detect anomalies and leave subsequent response up to the user. This makes it difficult to respond quickly and appropriately even when an anomaly is detected. In addition, few systems can receive feedback from experts, making it difficult to obtain reliable information in real time. Another issue is that information cannot be shared smoothly between users, which prevents the power of the community from being fully utilized.
[0828] 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.
[0829] In this invention, the server includes: [means for receiving registration information and saving user information in a database;] [means for receiving input authentication information and verifying it against user information in the database for authentication;] [means for generating and returning identification information for the authenticated user;] [means for receiving community information in which the user wishes to join and adding the authenticated user to a member list of the corresponding community;] [means for receiving user posts in the community and saving it in a database;] [means for receiving expert feedback on a specified post and saving it in a database; and [means for enabling information sharing among users and feedback from experts when an anomaly is detected.] This enables a quick and accurate response when an anomaly is detected, enables reliable feedback from experts, and enables information sharing that utilizes the power of the community.
[0830] "Registration Information" means basic personal information such as username, password, and email address that a User provides when first accessing the System.
[0831] "User information" is a collective term for all data related to a user, including registration information, user usage history, and authentication information.
[0832] The "database" is a system for efficiently managing and storing user information, community information, posted content, feedback, etc.
[0833] "Authentication Information" means information used to identify and authenticate a user, such as a user name and password provided by the user when logging into a system.
[0834] "Identification information" refers to information used to identify a user, such as a token or session ID that is generated and returned to an authenticated user.
[0835] "Community information" is information about a specific community in which a user wishes to participate, including the name and ID of the community.
[0836] A "member list" is a list of all users who are members of a particular community.
[0837] "User Contributions" are opinions, questions, information, or other messages that users share within the community.
[0838] "Expert Feedback" refers to advice, comments, ratings, and other content provided by an Expert in response to a User Submission.
[0839] An "abnormality" is when a security camera or intrusion detection system detects behavior or an event that is different from normal.
[0840] "Information sharing" is the process of exchanging opinions and information between users.
[0841] "Authentic feedback" is accurate, useful advice or information provided by someone with the expertise.
[0842] A specific embodiment of this invention will now be described. This system supports rapid and accurate security response through information sharing between users and feedback from experts. The system mainly consists of the following components: a user terminal, a server, and a database.
[0843] Hardware and Software Configuration
[0844] The user device is a smartphone or tablet, and the application is installed and used. The application is developed using the Python Django framework and REST API. The server is built on a cloud infrastructure (e.g., AWS, Google Cloud), and the database is MySQL or PostgreSQL.
[0845] System Functions and Processing
[0846] The server has a way to receive user registration information and store the user information in a database. The user registers by entering a username, email address, and password. The server parses the received data in JSON format, creates a new user object, and stores the information in the database. The password is hashed appropriately.
[0847] Then, when the user logs in, their credentials are sent to the server, which parses them and authenticates them against information in a database. If authentication is successful, the server generates a JWT token and sends it back to the user, which identifies them on subsequent requests.
[0848] The server receives information about the community the user wishes to join and adds the authenticated user to the member list of the corresponding community. The user selects the community they wish to join from the community list, and the server updates the database based on the received data.
[0849] If an anomaly is detected, users can post it to the community. The server receives the post and stores it in a database. Feedback provided by experts is also received and stored in the same way. This allows users to receive reliable information in real time.
[0850] For example, if a user joins a home security group and their security camera detects an abnormality, the system will quickly post the information to the community and experts will provide appropriate feedback, allowing the user to take prompt action and minimize damage.
[0851] Prompt Sentence Examples
[0852] Have users join a "Home Security Group" to provide feedback if the camera detects an anomaly. Also, include a process to ensure users are logged in.
[0853] In this way, the present invention provides a system that promotes information sharing among users and supports quick and accurate security responses.
[0854] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0855] Step 1:
[0856] User Registration
[0857] The device obtains the username, password, and email address entered by the user and converts them into JSON format.
[0858] Input: Username, Password, Email Address
[0859] Data processing: Convert data into JSON format
[0860] The server receives this JSON data, parses it, creates a user object, and hashes the password.
[0861] Data Computation: Password Hashing
[0862] Output: New user object
[0863] The server saves the new user object in its database and generates and returns a successful registration message.
[0864] Step 2:
[0865] User authentication
[0866] The device takes the username and password entered by the user and converts them into JSON format.
[0867] Input: Username, Password
[0868] Data processing: Convert data into JSON format
[0869] The server receives this JSON data and authenticates it by comparing it with the user information in its database.
[0870] Data calculation: database matching, authentication processing
[0871] Output: Authentication result, JWT token (if authentication is successful)
[0872] The server generates and returns a JWT token for the authenticated user.
[0873] Step 3:
[0874] Community Participation
[0875] The terminal obtains the community ID selected by the user and converts it into JSON format.
[0876] Input: Community ID
[0877] Data processing: Convert data into JSON format
[0878] The server receives this JSON data and retrieves the entry for the specified community ID from the database.
[0879] Data calculation: Retrieving entries from the database and adding them to community members
[0880] Output: Updated community member list
[0881] The server adds the authenticated user to the member list of the corresponding community and returns a successful join message to the user.
[0882] Step 4:
[0883] User Submissions
[0884] The terminal obtains the post content and community ID entered by the user and converts them into JSON format.
[0885] Input: Post content, community ID
[0886] Data processing: Convert data into JSON format
[0887] The server receives this JSON data and creates a new post object.
[0888] Data operations: creating a new post object and saving it to the database
[0889] Output: Updated database
[0890] The server stores the user ID, community ID, and the post in a database and returns a successful posting message to the user.
[0891] Step 5:
[0892] Expert Feedback
[0893] The device obtains the feedback entered by the expert and the post ID and converts them into JSON format.
[0894] Input: Feedback content, post ID
[0895] Data processing: Convert data into JSON format
[0896] The server receives this JSON data and creates a new feedback object.
[0897] Data Calculation: Create new feedback object, save to database
[0898] Output: Updated database
[0899] The server stores the expert ID, the post ID, and the feedback content in a database and returns a feedback success message to the expert.
[0900] Step 6:
[0901] Anomaly detection and information sharing
[0902] A security camera or intrusion detection system detects an anomaly and sends a notification to the application.
[0903] Input: Anomaly detection information
[0904] Data processing: Notification of abnormal information
[0905] The device analyzes this abnormal information, displays a notification to the user, and automatically posts the information to the community.
[0906] Data calculation: Analysis of abnormal information, automatic posting
[0907] Output: Community post
[0908] The server receives this post, stores it in a database, and sends notifications to community members.
[0909] Through these steps, the system can efficiently perform a series of processes from user registration to anomaly detection, information sharing, and expert feedback.
[0910] 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.
[0911] As a specific embodiment of the present invention, we will explain a system that combines a system that allows patients to connect with each other online, share information, and receive feedback from experts with an emotion engine that recognizes user emotions. This system includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using the emotion engine.
[0912] User Registration
[0913] The user enters their username, password, and email address in the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[0914] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[0915] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[0916] Log in
[0917] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[0918] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[0919] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[0920] Join the community
[0921] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[0922] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[0923] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[0924] Posting function
[0925] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[0926] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[0927] The server also sends the content of the post to the emotion engine for emotion analysis, which analyzes the emotion of the post and returns the analysis results to the server.
[0928] For example, when a user posts to a community, "Tell me how to manage diabetes," the server stores this in the database, returns a message saying "Post created successfully!", and asks the emotion engine for analysis.
[0929] Expert Feedback
[0930] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[0931] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[0932] Furthermore, based on the emotions recognized by the emotion engine, the server can provide the expert with the functionality to recommend appropriate feedback.
[0933] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[0934] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. Furthermore, by analyzing users' emotions and recommending appropriate feedback and communication based on the analysis results, it is possible to improve user satisfaction and the quality of support.
[0935] The processing flow will be explained below.
[0936] User Registration
[0937] Step 1:
[0938] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[0939] Step 2:
[0940] The terminal sends the entered information to the server in JSON format.
[0941] Step 3:
[0942] The server parses the received JSON data and creates a new user object.
[0943] Step 4:
[0944] The server stores the username and email address as is, and stores the password in a hashed form.
[0945] Step 5:
[0946] The server stores the new user information in a database.
[0947] Step 6:
[0948] The server generates a message indicating successful registration and returns it to the device in JSON format.
[0949] Step 7:
[0950] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[0951] Log in
[0952] Step 1:
[0953] The user enters the user name and password in the login form and clicks the "Login" button.
[0954] Step 2:
[0955] The terminal sends the entered information to the server in JSON format.
[0956] Step 3:
[0957] The server parses the received JSON data and matches it with the username and password hash in its database.
[0958] Step 4:
[0959] If the verification is successful, the server generates a JWT token.
[0960] Step 5:
[0961] The server returns the generated JWT token to the terminal in JSON format.
[0962] Step 6:
[0963] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[0964] Join the community
[0965] Step 1:
[0966] The user selects the community he or she wants to join and clicks the "Join" button.
[0967] Step 2:
[0968] The terminal sends the selected community ID to the server in JSON format.
[0969] Step 3:
[0970] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[0971] Step 4:
[0972] The server adds the authenticated user to the member list of the corresponding community.
[0973] Step 5:
[0974] The server generates a message indicating successful joining and returns it to the device in JSON format.
[0975] Step 6:
[0976] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[0977] Posting function
[0978] Step 1:
[0979] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[0980] Step 2:
[0981] The device sends the post content and community ID to the server in JSON format.
[0982] Step 3:
[0983] The server parses the received JSON data and creates a new post object.
[0984] Step 4:
[0985] The server adds the user ID, community ID, and post content to the post object.
[0986] Step 5:
[0987] The server saves the new post object to the database.
[0988] Step 6:
[0989] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[0990] Step 7:
[0991] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[0992] Sentiment analysis with emotion engine
[0993] Step 1:
[0994] After the community post is saved, the server sends the post content to the emotion engine.
[0995] Step 2:
[0996] The emotion engine analyzes the content of the posts received and identifies the emotion.
[0997] Step 3:
[0998] The emotion engine sends the analysis results of the identified emotions to the server.
[0999] Step 4:
[1000] The server stores the received sentiment analysis results in a database.
[1001] Step 5:
[1002] The server generates appropriate feedback and expert suggestions based on the sentiment analysis results.
[1003] Expert Feedback
[1004] Step 1:
[1005] The expert enters feedback on the target post and clicks the "Submit" button.
[1006] Step 2:
[1007] The device sends the feedback content and post ID to the server in JSON format.
[1008] Step 3:
[1009] The server parses the received JSON data and creates a new feedback object.
[1010] Step 4:
[1011] The server adds the expert ID, post ID, and feedback content to the feedback object.
[1012] Step 5:
[1013] The server stores the new feedback object in the database.
[1014] Step 6:
[1015] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[1016] Step 7:
[1017] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[1018] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1019] This invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. It also analyzes users' emotions and recommends appropriate feedback and communication based on the analysis results, thereby improving user satisfaction and the quality of support.
[1020] Example 2
[1021] 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."
[1022] While existing online community systems have functions for users to share information and receive feedback from experts, they often lack the ability to analyze users' emotions and provide appropriate feedback and communication based on that. As a result, user satisfaction and the quality of support can decline.
[1023] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving registration information and saving user information in a database, means for receiving input authentication information and authenticating the user by comparing it with user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about a community in which the user wishes to join and adding the authenticated user to a member list of the corresponding community, means for receiving user posts in the community and saving them in a database, means for receiving expert feedback on a specified post and saving it in a database, and means for sending the post content to an emotion engine and receiving emotion analysis results. This makes it possible to analyze the user's emotions and provide appropriate feedback and communication based on the results.
[1024] "Registration Information" refers to personal information such as username, password, and email address that a User provides when accessing the System for the first time.
[1025] "User Information" means data about a User generated from the Registration Information, stored in a database, and used for verification and authentication.
[1026] "Authentication Information" refers to information such as a username and password provided by a User to log into a System.
[1027] "Identification information" refers to information such as tokens or IDs generated to identify authenticated users.
[1028] "Community Information" refers to data about particular groups that a User wishes to join.
[1029] A "member list" refers to a list of users who belong to a particular community, and is managed within a database.
[1030] "Post" means content, such as text, images, links, etc., that a User creates to share information with other Users within the Community.
[1031] "Expert Feedback" refers to advice or comments provided by users with specialized knowledge in a subject area in response to other users' posts.
[1032] An "emotion engine" refers to an algorithm or software that analyzes users' posts and identifies their emotional state.
[1033] "Sentiment Analysis Results" means data regarding a user's emotional state analyzed by the Emotion Engine.
[1034] The present invention is an online community system that includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using an emotion engine.
[1035] User Registration
[1036] The user enters a username, password, and email address into the user registration form on the terminal and clicks the "Register" button. The terminal sends the entered information to the server in JSON format. The server parses the received JSON data and creates a new user object. The username and email address are stored as is in the database, and the password is hashed and stored securely. After saving the new user information in the database, the server generates a message saying "User successfully registered!" and sends it back to the terminal.
[1037] As a concrete example, if a user registers with the username "Yamada Taro," the email address "yamada@example.com," and the password "password123," the server stores this information in the database and returns a confirmation message.
[1038] Log in
[1039] The user enters their username and password into the login form and clicks the "Login" button. The device sends this information in JSON format to the server. The server parses the received JSON data and matches it with the user information in its database. If authentication is successful, the server generates a JWT token and sends it back to the device. This token is used to identify the user in subsequent requests.
[1040] As a concrete example, when a user logs in with the user name "Yamada Taro" and password "123", the server performs authentication, generates a JWT token and sends it back.
[1041] Join the community
[1042] The user selects the community they wish to join from the community list and clicks the "Join" button. The device sends the selected community ID to the server in JSON format. The server parses the received JSON data and retrieves entries related to the specified community ID from the database. It adds the authenticated user to the member list of the specified community and generates and returns a message indicating successful joining.
[1043] As a specific example, if the user wishes to join a "Diabetes Support Group," the server adds the user to the member list for this group and returns a successful join message.
[1044] Posting function
[1045] The user enters a message in the community chat box and clicks the "Post" button. The device sends the post content and community ID in JSON format to the server. The server parses the received JSON data and creates a new post object. After saving the user ID, community ID, and post content to a database, it generates a message saying "Post created successfully!" and sends it back to the device. The server also sends the post content to an emotion engine (e.g., IBM Watson, Google Cloud Natural Language API) for sentiment analysis.
[1046] For example, if a user posts "Please tell me how to manage my diabetes," the server stores this post in a database, requests the emotion engine for analysis, and returns a confirmation message.
[1047] Expert Feedback
[1048] The expert enters feedback for the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server. The server parses the received JSON data and creates a new feedback object. After saving the expert ID, post ID, and feedback in the database, it generates a message saying "Feedback provided successfully!" and sends it back to the device.
[1049] Furthermore, the server can provide a function to recommend optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[1050] For example, if an expert responds to a post asking "How do I manage my diabetes?" with feedback such as "Proper exercise and dietary management are important," the server will store this and send back a confirmation message.
[1051] This system allows patients to safely share information online and receive reliable feedback from experts. It also analyzes user sentiment and provides appropriate feedback and communication based on the results, improving user satisfaction and the quality of support.
[1052] Examples of prompt statements
[1053] Here are some example prompts for a generative AI model:
[1054] Prompt: "Describe an overview of a system that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes features for user registration, login, community participation, posting, feedback from experts, and sentiment analysis using an emotion engine. Please specify the hardware and software used for each process in the system, as well as the type of data processing and calculations performed. Please also provide specific examples."
[1055] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1056] User registration process steps
[1057] Step 1:
[1058] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[1059] Input: Username, Password, Email Address
[1060] Output: Request to send input information
[1061] Step 2:
[1062] The terminal sends the entered information to the server in JSON format.
[1063] Input: JSON data of username, password, and email address
[1064] Output: Sending input information
[1065] Step 3:
[1066] The server parses the received JSON data and creates a new user object.
[1067] Input: JSON data of username, password, and email address
[1068] Processing: Parse the JSON data and create a new user object
[1069] Output: User object
[1070] Step 4:
[1071] The server stores the username and email address as is in the database, and hashes the password and stores it securely.
[1072] Input: User object
[1073] Processing: Saving usernames, email addresses, hashing and storing passwords
[1074] Output: User information stored in the database
[1075] Step 5:
[1076] The server stores the new user information in a database and then generates a message saying "User successfully registered!" and sends it back to the terminal.
[1077] Input: User information
[1078] Output: Generate and send a confirmation message
[1079] Login process steps
[1080] Step 1:
[1081] The user enters the user name and password in the login form and clicks the "Login" button.
[1082] Input: Username, Password
[1083] Output: Request to send input information
[1084] Step 2:
[1085] The device sends this information to the server in JSON format.
[1086] Input: JSON data of username and password
[1087] Output: Sending input information
[1088] Step 3:
[1089] The server parses the received JSON data and matches it with the user information in its database.
[1090] Input: JSON data of username and password
[1091] Processing: Parse JSON data and match it with information in the database
[1092] Output: Authentication result
[1093] Step 4:
[1094] If authentication is successful, the server generates a JWT token and returns it to the device.
[1095] Input: Authentication result
[1096] Process: Generate JWT token
[1097] Output: JWT token
[1098] Community participation process steps
[1099] Step 1:
[1100] The user selects the community he or she wants to join from the community list and clicks the "Join" button.
[1101] Input: Selected Community ID
[1102] Output: Join request
[1103] Step 2:
[1104] The terminal sends the selected community ID to the server in JSON format.
[1105] Input: JSON data of community ID
[1106] Output: Sending input information
[1107] Step 3:
[1108] The server parses the received JSON data and retrieves entries related to the specified community ID from the database.
[1109] Input: JSON data of community ID
[1110] Processing: Parsing JSON data, retrieving entries from the database
[1111] Output: Community entries
[1112] Step 4:
[1113] The server adds the authenticated user to the member list of the specified community, generates a message indicating successful participation, and returns it to the terminal.
[1114] Input: Community entry, user information
[1115] Action: Update member list
[1116] Output: Join successful message
[1117] Post function processing steps
[1118] Step 1:
[1119] The user enters a message in the community chat box and clicks the "Post" button.
[1120] Input: Message content, community ID
[1121] Output: Post request
[1122] Step 2:
[1123] The device sends the post content and community ID to the server in JSON format.
[1124] Input: JSON data of message content and community ID
[1125] Output: Sending input information
[1126] Step 3:
[1127] The server parses the received JSON data and creates a new post object.
[1128] Input: JSON data of message content and community ID
[1129] Processing: Parse JSON data and create post object
[1130] Output: Post object
[1131] Step 4:
[1132] The server stores the user ID, community ID, and post content in a database, then generates a message saying "Post created successfully!" and sends it back to the terminal.
[1133] Input: Post object
[1134] Process: Save to database
[1135] Output: Generate and send a confirmation message
[1136] Step 5:
[1137] The server sends the posted content to the emotion engine and requests emotion analysis.
[1138] Input: Post content
[1139] Processing: Send to emotion engine, request emotion analysis
[1140] Output: Sentiment analysis results
[1141] Expert feedback processing steps
[1142] Step 1:
[1143] The expert enters feedback on the target post and clicks the "Submit" button.
[1144] Input: Feedback content, post ID
[1145] Output: Feedback request
[1146] Step 2:
[1147] The device sends the feedback content and post ID to the server in JSON format.
[1148] Input: JSON data of feedback content and post ID
[1149] Output: Sending input information
[1150] Step 3:
[1151] The server parses the received JSON data and creates a new feedback object.
[1152] Input: JSON data of feedback content and post ID
[1153] Processing: Parse JSON data and generate feedback objects
[1154] Output: Feedback object
[1155] Step 4:
[1156] The server stores the expert ID, post ID, and feedback content in a database, and then generates a message saying "Feedback has been provided successfully!" and returns it to the terminal.
[1157] Input: Feedback object
[1158] Process: Save to database
[1159] Output: Generate and send a confirmation message
[1160] Step 5:
[1161] Furthermore, the server recommends optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[1162] Input: Sentiment analysis results
[1163] Action: Recommend appropriate feedback
[1164] Output: Recommendation feedback
[1165] (Application example 2)
[1166] 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."
[1167] Conventional online healthcare systems lack the functionality to grasp a user's emotional state in real time and provide an individualized healthcare management plan based on that information. Furthermore, users often lack the ability to smoothly exchange information with each other or with experts, making it difficult to receive reliable feedback quickly. This makes it difficult to provide effective healthcare management and improve user satisfaction.
[1168] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1169] In this invention, the server includes means for receiving registration information and storing user information in a database, means for receiving input authentication information and verifying it against user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about communities the user wishes to join and adding the authenticated user to a member list for the corresponding community, means for receiving user posts in the community and storing them in a database, means for receiving expert feedback on a specified post and storing it in a database, means for sending the post content to an emotion engine and receiving the results of emotion analysis by a generative AI model, and means for creating and providing a health management plan to the user based on the results of the emotion analysis. This makes it possible to grasp the user's emotional state in real time and provide an individualized health management plan based on that. Furthermore, smooth information exchange between users and experts and rapid, reliable feedback can be achieved, resulting in effective health management and improved user satisfaction.
[1170] "Means for receiving registration information and storing user information in a database" refers to a function that collects registration information entered by users, sends it to a server, and stores the information in a database.
[1171] "Means for receiving the entered authentication information and verifying it against the user information in the database" refers to the function of collecting the authentication information entered by the user and verifying it against existing user information stored in the database to authenticate the user.
[1172] The "means for generating and returning identification information to an authenticated user" is a function that generates unique identification information for a user who has been successfully authenticated and returns it to the user.
[1173] "Means for receiving information about communities in which a user wishes to join and adding authenticated users to the member list of the corresponding communities" refers to a function for collecting information about communities in which a user wishes to join, confirming that the user has been authenticated, and then adding the user to the member list of a specific community.
[1174] "Means for receiving user posts within a community and storing them in a database" is a function for collecting posts made by users within a community, sending them to a server, and storing the contents in a database.
[1175] The "means for receiving expert feedback on a specified post and storing it in a database" is a function for collecting feedback provided by experts on a user's post and storing the data in a database.
[1176] "Means for sending the content of posts to an emotion engine and receiving the emotion analysis results from a generative AI model" refers to a function for sending the content of posts by users to an emotion recognition engine and receiving the emotion results analyzed by a generative AI model.
[1177] "Means for creating and providing a health management plan to the user based on the emotion analysis results" is a function for creating a health management plan that is suited to the user's current emotional state based on the emotion analysis results and providing it to the user.
[1178] This invention is an online healthcare system that includes user registration, login, community participation, posting, and expert feedback functions, as well as a sentiment analysis function using an emotion engine. The system aims to analyze the user's emotional state in real time and provide a customized healthcare plan based on the results. The system consists of the following elements:
[1179] Hardware and Software
[1180] The following hardware is required to implement this invention:
[1181] Server (including database and authentication system): Stores and manages user information.
[1182] User terminal (e.g., smartphone): A device through which a user accesses the system and enters or retrieves information.
[1183] Emotion Engine: A system that analyzes user posts and is equipped with a generative AI model.
[1184] The software used includes:
[1185] Backend framework (e.g. Flask): Responsible for server-side processing.
[1186] Database management system (e.g., MySQL): Stores user information and posts.
[1187] Authentication libraries (e.g. bcrypt, JWT): For securely authenticating users.
[1188] Sentiment analysis API (e.g., Emotion AI): For analyzing user posts and returning sentiment results.
[1189] Program processing explanation
[1190] The server receives the registration information entered by the user and stores the data, including the username, password, and email address, in a database. The password is hashed using bcrypt and stored securely. When a user attempts to log in, the server receives the entered authentication information and compares it with the user information in the database for authentication. If authentication is successful, the server generates and returns a JWT token to the user.
[1191] When an authenticated user wishes to join a specific community, the server receives the information and adds the user to the community's member list. When the user posts within the community, the post is sent to the server and stored in the database. At the same time, the post is sent to the emotion engine, where it is analyzed by a generative AI model.
[1192] The emotion analysis results are sent back to the server, which then creates a customized health plan based on the results. Specifically, it provides exercise, dietary suggestions, and relaxation advice that correspond to the user's specific emotional state. For example, if the user expresses sadness, it will suggest relaxation practices or counseling.
[1193] Experts provide feedback on user posts, which is then sent to the server and stored in a database. Based on the emotions recognized by the emotion engine, the experts recommend the most appropriate feedback.
[1194] Prompt Sentence Examples
[1195] For the post "It's been hard to exercise lately," the prompt text to send to the sentiment analysis API to get the sentiment analysis results is as follows:
[1196] Text sentence: "It's been hard to exercise lately", analyze the sentiment.
[1197] In this way, the system of the present invention can grasp the user's emotional state in real time and provide an individualized health management plan based on that information. It also facilitates information exchange between users and experts, allowing users to receive fast and reliable feedback.
[1198] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1199] Step 1:
[1200] User Registration
[1201] The user enters their username, password, and email address into the user registration form on their terminal and clicks the "Register" button. The server receives the entered information in JSON format, stores the username and email address as is, hashes the password with bcrypt, and securely stores it in the database. It also generates a registration success message and sends it back to the user.
[1202] Input: Username, Password, Email Address
[1203] Output: Registration successful message
[1204] Actions: Hashing, storing, generating messages
[1205] Step 2:
[1206] Log in
[1207] The user enters their username and password into the login form on their terminal and clicks the "Login" button. The server receives the entered information in JSON format and authenticates it by checking it against the user information in the database. If authentication is successful, the server generates a JWT token and returns it to the user.
[1208] Input: Username, Password
[1209] Output: JWT token
[1210] Actions: Authentication, token generation
[1211] Step 3:
[1212] Community Participation
[1213] The user uses their device to select the community they want to join from the community list and clicks the "Join" button. The server receives the community information selected by the user in JSON format, adds the authenticated user to the member list of the corresponding community, and generates a success message for joining and returns it to the user.
[1214] Input: Community Information
[1215] Output: Join success message
[1216] Action: Save, generate message
[1217] Step 4:
[1218] User Submissions
[1219] The user uses their device to enter a message into the community chat box and clicks the "Post" button. The server receives the post content and community ID in JSON format, stores them in a database, and sends the post content to the emotion engine. The emotion engine performs emotion analysis using a generative AI model and returns the results to the server. The server creates a health management plan based on the emotion analysis results and provides it to the user.
[1220] Input: Post content, community ID
[1221] Output: Post success message, sentiment analysis results, health management plan
[1222] Actions: Save, send, analyze, generate plan
[1223] Step 5:
[1224] Expert Feedback
[1225] The expert uses the device to enter feedback on the user's post and clicks the "Submit" button. The server receives the feedback and post ID in JSON format and stores them in a database. It then verifies whether the expert's feedback is appropriate based on the sentiment analysis results and recommends the most appropriate feedback.
[1226] Input: Feedback content, post ID
[1227] Output: Feedback success message
[1228] Behavior: Save, validate, recommend
[1229] 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.
[1230] 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.
[1231] 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.
[1232] [Third embodiment]
[1233] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[1234] 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.
[1235] 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).
[1236] 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.
[1237] 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.
[1238] 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).
[1239] 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.
[1240] 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.
[1241] 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.
[1242] 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.
[1243] 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.
[1244] 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."
[1245] As a specific embodiment of the present invention, a system will be described that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes functions for user registration, login, community participation, posting, and feedback from experts.
[1246] User Registration
[1247] The user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[1248] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[1249] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[1250] Log in
[1251] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[1252] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[1253] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[1254] Join the community
[1255] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[1256] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[1257] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[1258] Posting function
[1259] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[1260] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[1261] For example, if a user posts to a community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[1262] Expert Feedback
[1263] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[1264] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[1265] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1266] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts.
[1267] The processing flow will be explained below.
[1268] User Registration
[1269] Step 1:
[1270] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[1271] Step 2:
[1272] The terminal sends the entered information to the server in JSON format.
[1273] Step 3:
[1274] The server parses the received JSON data and creates a new user object.
[1275] Step 4:
[1276] The server stores the username and email address as is, and stores the password in a hashed form.
[1277] Step 5:
[1278] The server stores the new user information in a database.
[1279] Step 6:
[1280] The server generates a message indicating successful registration and returns it to the device in JSON format.
[1281] Step 7:
[1282] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[1283] Log in
[1284] Step 1:
[1285] The user enters the user name and password in the login form and clicks the "Login" button.
[1286] Step 2:
[1287] The terminal sends the entered information to the server in JSON format.
[1288] Step 3:
[1289] The server parses the received JSON data and matches it with the username and password hash in its database.
[1290] Step 4:
[1291] If the verification is successful, the server generates a JWT token.
[1292] Step 5:
[1293] The server returns the generated JWT token to the terminal in JSON format.
[1294] Step 6:
[1295] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[1296] Join the community
[1297] Step 1:
[1298] The user selects the community he or she wants to join and clicks the "Join" button.
[1299] Step 2:
[1300] The terminal sends the selected community ID to the server in JSON format.
[1301] Step 3:
[1302] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[1303] Step 4:
[1304] The server adds the authenticated user to the member list of the corresponding community.
[1305] Step 5:
[1306] The server generates a message indicating successful joining and returns it to the device in JSON format.
[1307] Step 6:
[1308] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[1309] Posting function
[1310] Step 1:
[1311] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[1312] Step 2:
[1313] The device sends the post content and community ID to the server in JSON format.
[1314] Step 3:
[1315] The server parses the received JSON data and creates a new post object.
[1316] Step 4:
[1317] The server adds the user ID, community ID, and post content to the post object.
[1318] Step 5:
[1319] The server saves the new post object to the database.
[1320] Step 6:
[1321] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[1322] Step 7:
[1323] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[1324] Expert Feedback
[1325] Step 1:
[1326] The expert enters feedback on the target post and clicks the "Submit" button.
[1327] Step 2:
[1328] The device sends the feedback content and post ID to the server in JSON format.
[1329] Step 3:
[1330] The server parses the received JSON data and creates a new feedback object.
[1331] Step 4:
[1332] The server adds the expert ID, post ID, and feedback content to the feedback object.
[1333] Step 5:
[1334] The server stores the new feedback object in the database.
[1335] Step 6:
[1336] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[1337] Step 7:
[1338] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[1339] This allows users and experts to safely and effectively share information and receive feedback.
[1340] Example 1
[1341] 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."
[1342] There is a need for a system in online communities that allows patients to share information anonymously and safely and receive reliable feedback from experts. However, existing systems often do not adequately protect users' personal information, which can hinder smooth information exchange and feedback provision. In response, a system is needed that ensures data security while promoting information exchange among users and allowing them to receive accurate feedback from experts.
[1343] 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.
[1344] In this invention, the server includes means for transmitting registration information received from a user registration form in JSON format to the server, means for the server to analyze the received JSON data, create a user object and store it in a database, means for transmitting input authentication information to the server in JSON format and for the server to authenticate by comparing it with user information in the database, means for generating and returning a JWT token for the authenticated user, means for transmitting information about a community the user wishes to join to the server in JSON format and for the server to add the authenticated user to a community member list, means for receiving user posts in the community in JSON format and storing them in a database by the server, and means for receiving expert feedback on a specified post in JSON format and storing them in a database by the server. This allows for the creation of an online community in which users can participate anonymously and safely, enabling smooth information exchange and feedback from experts.
[1345] A "user registration form" is an input screen where a user can enter their information (username, password, email address, etc.) to register with the system.
[1346] "JSON format" is an abbreviation for JavaScript Object Notation, and is a lightweight data exchange format that represents data as attribute-value pairs.
[1347] A "server" is a computer system that manages data and provides information in response to user requests.
[1348] A "database" is a system for efficiently storing, managing, and retrieving structured information.
[1349] A "user object" is a data structure for storing user information, including a username, password, email address, etc.
[1350] "Authentication Information" means information used to verify a user's identity, such as a username and password provided by a user when logging in.
[1351] "JWT token" is an abbreviation for JSON Web Token, which is generated for an authenticated user and used to identify the user in subsequent requests.
[1352] "Community Information" is the identification of an online group in which a user wishes to join.
[1353] "User posts" are text data such as messages, questions, and opinions sent by users to the community.
[1354] "Feedback" refers to response information such as answers or opinions provided by experts in response to user posts.
[1355] "Encryption methods" refer to technologies and methods for protecting the contents of data so that they cannot be understood by third parties.
[1356] "Anonymity" means that a user's personal information is not revealed to the outside world and their identity cannot be identified.
[1357] The present invention provides a system that allows patients to connect with each other online, share information, and receive feedback from experts. The system includes functions for user registration, login, community participation, posting, and feedback from experts.
[1358] User Registration
[1359] The user first enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. This causes the device to send the entered information to the server in JSON format.
[1360] The server parses the received JSON data and creates a user object containing the username, password, and email address. For security reasons, the password is hashed using an encryption library such as bcrypt. The server then saves the new user information in a database (e.g., MySQL or PostgreSQL) and generates a message indicating success and sends it back to the user.
[1361] Examples:
[1362] When a user registers with the name "Yamada Taro" and the email address "example@example.com" and the password "password123", the server saves this in the database and returns the message "User successfully registered!"
[1363] Log in
[1364] The user enters their username and password in the login form and clicks the "Login" button, which causes the device to send the login information in JSON format to the server.
[1365] The server parses the received JSON data and checks it against the user information in its database. If authentication is successful, the server generates a JWT token using the jsonwebtoken library and sends it back to the user. This token is used to identify the user in subsequent requests.
[1366] Examples:
[1367] When a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[1368] Join the community
[1369] The user selects the community they want to join from the community list and clicks the "Join" button, which causes the device to send the community ID in JSON format to the server.
[1370] The server parses the received JSON data, retrieves the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[1371] Examples:
[1372] If the user joins the "Diabetes Support Group", the server registers the user as a member of this group in the database and returns the message "You have successfully joined the community!".
[1373] Posting function
[1374] The user enters a message in the community chat box and clicks the "Post" button, which causes the device to send the message and the community ID in JSON format to the server.
[1375] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and sends a message back to the user informing them of the successful posting.
[1376] Examples:
[1377] When a user posts to the community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[1378] Expert Feedback
[1379] The expert enters feedback on the target post and clicks the "Submit" button, which causes the device to send the feedback and post ID in JSON format to the server.
[1380] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and sends a message back to the expert notifying them of the successful feedback.
[1381] Examples:
[1382] When an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1383] Prompt Sentence Examples
[1384] "Please explain the process for registering a new user with a username and password."
[1385] In this way, the present invention provides a system that allows patients to safely and anonymously share information online and receive reliable feedback from experts. Each component of the system ensures smooth information exchange and expert feedback while protecting users' privacy.
[1386] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1387] Step 1:
[1388] A user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The username, password, and email address are provided as input through the form. The terminal receives this information and converts it into JSON format (e.g., {"username": "example_name", "password": "example_password", "email": "example@example.com"}).
[1389] Step 2:
[1390] The terminal sends user registration information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username, password, and email address. The output is the parsed user data.
[1391] Step 3:
[1392] The server needs to hash the password. It takes the password as input and runs it through a hashing process using a library such as bcrypt. The output is the hashed password. For example, it can be hashed using bcrypt.hashSync(password, saltRounds).
[1393] Step 4:
[1394] The server creates a new user object and saves it in the database. As input, a username, hashed password, and email address are provided. The server uses this information to save the user object in the database. The output is a message confirming that the new user has been saved in the database.
[1395] Step 5:
[1396] The server generates a message to notify the user that the user registration was successful and sends it back to the terminal. As input, the server's internal state indicating success and the user's identity are provided. The output is the message "User successfully registered!"
[1397] Step 6:
[1398] The user enters their username and password into the login form and clicks the "Login" button. As input, username and password are provided. The terminal receives this information and converts it to JSON format (e.g., {"username": "example_name", "password": "example_password"}).
[1399] Step 7:
[1400] The terminal sends login information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username and password. The output is the parsed login data.
[1401] Step 8:
[1402] The server authenticates the user against the user information in its database. As input, the parsed username and password are provided. To check if the hashed passwords match, use bcrypt.compareSync(password, hashedPassword). The output is the authentication result (success or failure).
[1403] Step 9:
[1404] If authentication is successful, the server generates a JWT token and sends it back to the user. As input, the authentication success status and user identity information are provided. The token is generated using jsonwebtoken.sign(payload, secretOrPrivateKey). The output is the generated JWT token.
[1405] Step 10:
[1406] The user selects the community they want to join from the community list and clicks the "Join" button. The community ID is provided as input. The device receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id"}).
[1407] Step 11:
[1408] The terminal sends the community ID in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the community ID. The output is the parsed community ID.
[1409] Step 12:
[1410] The server adds the authenticated user to the member list of the specified community. As input, the authenticated user identity and the community ID are provided. The output is a message indicating that the user was successfully added to the community.
[1411] Step 13:
[1412] The server generates a message indicating successful joining and sends it back to the user. As input, it provides the server's internal success state and the user's identity. The output is the message "You have successfully joined the community!"
[1413] Step 14:
[1414] A user enters a message in the community chat box and clicks the "Post" button. The message to post and the community ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id", "message": "example_message"}).
[1415] Step 15:
[1416] The device sends the post content and community ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the post content and community ID. The output is the parsed post content and community ID.
[1417] Step 16:
[1418] The server creates a new post object and saves the user ID, community ID, and post content to the database. As input, the user ID, community ID, and post content are provided. The output is a message confirming that the post was successfully saved to the database.
[1419] Step 17:
[1420] The server generates a message indicating the success of the post and sends it back to the user. As input, the server's internal success state and the user identity are provided. The output is the message "Post created successfully!"
[1421] Step 18:
[1422] The expert enters feedback on the target post and clicks the "Submit" button. The feedback content and post ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"post_id": "example_post_id", "feedback": "example_feedback"}).
[1423] Step 19:
[1424] The device sends the feedback content and post ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the feedback content and post ID. The output is the parsed feedback content and post ID.
[1425] Step 20:
[1426] The server creates a new feedback object and saves the Expert ID, Post ID, and feedback content in the database. As input, the Expert ID, Post ID, and feedback content are provided. The output is a message confirming that the feedback was successfully saved in the database.
[1427] Step 21:
[1428] The server generates a message indicating the success of the feedback and sends it back to the expert. As input, the server's internal state indicating success and the expert identification information are provided. The output is the message "Feedback provided successfully!"
[1429] (Application example 1)
[1430] 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."
[1431] Modern society demands improved security, but many security systems only detect anomalies and leave subsequent response up to the user. This makes it difficult to respond quickly and appropriately even when an anomaly is detected. In addition, few systems can receive feedback from experts, making it difficult to obtain reliable information in real time. Another issue is that information cannot be shared smoothly between users, which prevents the power of the community from being fully utilized.
[1432] 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.
[1433] In this invention, the server includes: [means for receiving registration information and saving user information in a database;] [means for receiving input authentication information and verifying it against user information in the database for authentication;] [means for generating and returning identification information for the authenticated user;] [means for receiving community information in which the user wishes to join and adding the authenticated user to a member list of the corresponding community;] [means for receiving user posts in the community and saving it in a database;] [means for receiving expert feedback on a specified post and saving it in a database; and [means for enabling information sharing among users and feedback from experts when an anomaly is detected.] This enables a quick and accurate response when an anomaly is detected, enables reliable feedback from experts, and enables information sharing that utilizes the power of the community.
[1434] "Registration Information" means basic personal information such as username, password, and email address that a User provides when first accessing the System.
[1435] "User information" is a collective term for all data related to a user, including registration information, user usage history, and authentication information.
[1436] The "database" is a system for efficiently managing and storing user information, community information, posted content, feedback, etc.
[1437] "Authentication Information" means information used to identify and authenticate a user, such as a user name and password provided by the user when logging into a system.
[1438] "Identification information" refers to information used to identify a user, such as a token or session ID that is generated and returned to an authenticated user.
[1439] "Community information" is information about a specific community in which a user wishes to participate, including the name and ID of the community.
[1440] A "member list" is a list of all users who are members of a particular community.
[1441] "User Contributions" are opinions, questions, information, or other messages that users share within the community.
[1442] "Expert Feedback" refers to advice, comments, ratings, and other content provided by an Expert in response to a User Submission.
[1443] An "abnormality" is when a security camera or intrusion detection system detects behavior or an event that is different from normal.
[1444] "Information sharing" is the process of exchanging opinions and information between users.
[1445] "Authentic feedback" is accurate, useful advice or information provided by someone with the expertise.
[1446] A specific embodiment of this invention will now be described. This system supports rapid and accurate security response through information sharing between users and feedback from experts. The system mainly consists of the following components: a user terminal, a server, and a database.
[1447] Hardware and Software Configuration
[1448] The user device is a smartphone or tablet, and the application is installed and used. The application is developed using the Python Django framework and REST API. The server is built on a cloud infrastructure (e.g., AWS, Google Cloud), and the database is MySQL or PostgreSQL.
[1449] System Functions and Processing
[1450] The server has a way to receive user registration information and store the user information in a database. The user registers by entering a username, email address, and password. The server parses the received data in JSON format, creates a new user object, and stores the information in the database. The password is hashed appropriately.
[1451] Then, when the user logs in, their credentials are sent to the server, which parses them and authenticates them against information in a database. If authentication is successful, the server generates a JWT token and sends it back to the user, which identifies them on subsequent requests.
[1452] The server receives information about the community the user wishes to join and adds the authenticated user to the member list of the corresponding community. The user selects the community they wish to join from the community list, and the server updates the database based on the received data.
[1453] If an anomaly is detected, users can post it to the community. The server receives the post and stores it in a database. Feedback provided by experts is also received and stored in the same way. This allows users to receive reliable information in real time.
[1454] For example, if a user joins a home security group and their security camera detects an abnormality, the system will quickly post the information to the community and experts will provide appropriate feedback, allowing the user to take prompt action and minimize damage.
[1455] Prompt Sentence Examples
[1456] Have users join a "Home Security Group" to provide feedback if the camera detects an anomaly. Also, include a process to ensure users are logged in.
[1457] In this way, the present invention provides a system that promotes information sharing among users and supports quick and accurate security responses.
[1458] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1459] Step 1:
[1460] User Registration
[1461] The device obtains the username, password, and email address entered by the user and converts them into JSON format.
[1462] Input: Username, Password, Email Address
[1463] Data processing: Convert data into JSON format
[1464] The server receives this JSON data, parses it, creates a user object, and hashes the password.
[1465] Data Computation: Password Hashing
[1466] Output: New user object
[1467] The server saves the new user object in its database and generates and returns a successful registration message.
[1468] Step 2:
[1469] User authentication
[1470] The device takes the username and password entered by the user and converts them into JSON format.
[1471] Input: Username, Password
[1472] Data processing: Convert data into JSON format
[1473] The server receives this JSON data and authenticates it by comparing it with the user information in its database.
[1474] Data calculation: database matching, authentication processing
[1475] Output: Authentication result, JWT token (if authentication is successful)
[1476] The server generates and returns a JWT token for the authenticated user.
[1477] Step 3:
[1478] Community Participation
[1479] The terminal obtains the community ID selected by the user and converts it into JSON format.
[1480] Input: Community ID
[1481] Data processing: Convert data into JSON format
[1482] The server receives this JSON data and retrieves the entry for the specified community ID from the database.
[1483] Data calculation: Retrieving entries from the database and adding them to community members
[1484] Output: Updated community member list
[1485] The server adds the authenticated user to the member list of the corresponding community and returns a successful join message to the user.
[1486] Step 4:
[1487] User Submissions
[1488] The terminal obtains the post content and community ID entered by the user and converts them into JSON format.
[1489] Input: Post content, community ID
[1490] Data processing: Convert data into JSON format
[1491] The server receives this JSON data and creates a new post object.
[1492] Data operations: creating a new post object and saving it to the database
[1493] Output: Updated database
[1494] The server stores the user ID, community ID, and the post in a database and returns a successful posting message to the user.
[1495] Step 5:
[1496] Expert Feedback
[1497] The device obtains the feedback entered by the expert and the post ID and converts them into JSON format.
[1498] Input: Feedback content, post ID
[1499] Data processing: Convert data into JSON format
[1500] The server receives this JSON data and creates a new feedback object.
[1501] Data Calculation: Create new feedback object, save to database
[1502] Output: Updated database
[1503] The server stores the expert ID, the post ID, and the feedback content in a database and returns a feedback success message to the expert.
[1504] Step 6:
[1505] Anomaly detection and information sharing
[1506] A security camera or intrusion detection system detects an anomaly and sends a notification to the application.
[1507] Input: Anomaly detection information
[1508] Data processing: Notification of abnormal information
[1509] The device analyzes this abnormal information, displays a notification to the user, and automatically posts the information to the community.
[1510] Data calculation: Analysis of abnormal information, automatic posting
[1511] Output: Community post
[1512] The server receives this post, stores it in a database, and sends notifications to community members.
[1513] Through these steps, the system can efficiently perform a series of processes from user registration to anomaly detection, information sharing, and expert feedback.
[1514] 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.
[1515] As a specific embodiment of the present invention, we will explain a system that combines a system that allows patients to connect with each other online, share information, and receive feedback from experts with an emotion engine that recognizes user emotions. This system includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using the emotion engine.
[1516] User Registration
[1517] The user enters their username, password, and email address in the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[1518] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[1519] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[1520] Log in
[1521] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[1522] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[1523] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[1524] Join the community
[1525] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[1526] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[1527] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[1528] Posting function
[1529] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[1530] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[1531] The server also sends the content of the post to the emotion engine for emotion analysis, which analyzes the emotion of the post and returns the analysis results to the server.
[1532] For example, when a user posts to a community, "Tell me how to manage diabetes," the server stores this in the database, returns a message saying "Post created successfully!", and asks the emotion engine for analysis.
[1533] Expert Feedback
[1534] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[1535] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[1536] Furthermore, based on the emotions recognized by the emotion engine, the server can provide the expert with the functionality to recommend appropriate feedback.
[1537] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1538] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. Furthermore, by analyzing users' emotions and recommending appropriate feedback and communication based on the analysis results, it is possible to improve user satisfaction and the quality of support.
[1539] The processing flow will be explained below.
[1540] User Registration
[1541] Step 1:
[1542] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[1543] Step 2:
[1544] The terminal sends the entered information to the server in JSON format.
[1545] Step 3:
[1546] The server parses the received JSON data and creates a new user object.
[1547] Step 4:
[1548] The server stores the username and email address as is, and stores the password in a hashed form.
[1549] Step 5:
[1550] The server stores the new user information in a database.
[1551] Step 6:
[1552] The server generates a message indicating successful registration and returns it to the device in JSON format.
[1553] Step 7:
[1554] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[1555] Log in
[1556] Step 1:
[1557] The user enters the user name and password in the login form and clicks the "Login" button.
[1558] Step 2:
[1559] The terminal sends the entered information to the server in JSON format.
[1560] Step 3:
[1561] The server parses the received JSON data and matches it with the username and password hash in its database.
[1562] Step 4:
[1563] If the verification is successful, the server generates a JWT token.
[1564] Step 5:
[1565] The server returns the generated JWT token to the terminal in JSON format.
[1566] Step 6:
[1567] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[1568] Join the community
[1569] Step 1:
[1570] The user selects the community he or she wants to join and clicks the "Join" button.
[1571] Step 2:
[1572] The terminal sends the selected community ID to the server in JSON format.
[1573] Step 3:
[1574] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[1575] Step 4:
[1576] The server adds the authenticated user to the member list of the corresponding community.
[1577] Step 5:
[1578] The server generates a message indicating successful joining and returns it to the device in JSON format.
[1579] Step 6:
[1580] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[1581] Posting function
[1582] Step 1:
[1583] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[1584] Step 2:
[1585] The device sends the post content and community ID to the server in JSON format.
[1586] Step 3:
[1587] The server parses the received JSON data and creates a new post object.
[1588] Step 4:
[1589] The server adds the user ID, community ID, and post content to the post object.
[1590] Step 5:
[1591] The server saves the new post object to the database.
[1592] Step 6:
[1593] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[1594] Step 7:
[1595] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[1596] Sentiment analysis with emotion engine
[1597] Step 1:
[1598] After the community post is saved, the server sends the post content to the emotion engine.
[1599] Step 2:
[1600] The emotion engine analyzes the content of the posts received and identifies the emotion.
[1601] Step 3:
[1602] The emotion engine sends the analysis results of the identified emotions to the server.
[1603] Step 4:
[1604] The server stores the received sentiment analysis results in a database.
[1605] Step 5:
[1606] The server generates appropriate feedback and expert suggestions based on the sentiment analysis results.
[1607] Expert Feedback
[1608] Step 1:
[1609] The expert enters feedback on the target post and clicks the "Submit" button.
[1610] Step 2:
[1611] The device sends the feedback content and post ID to the server in JSON format.
[1612] Step 3:
[1613] The server parses the received JSON data and creates a new feedback object.
[1614] Step 4:
[1615] The server adds the expert ID, post ID, and feedback content to the feedback object.
[1616] Step 5:
[1617] The server stores the new feedback object in the database.
[1618] Step 6:
[1619] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[1620] Step 7:
[1621] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[1622] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1623] This invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. It also analyzes users' emotions and recommends appropriate feedback and communication based on the analysis results, thereby improving user satisfaction and the quality of support.
[1624] Example 2
[1625] 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."
[1626] While existing online community systems have functions for users to share information and receive feedback from experts, they often lack the ability to analyze users' emotions and provide appropriate feedback and communication based on that. As a result, user satisfaction and the quality of support can decline.
[1627] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving registration information and saving user information in a database, means for receiving input authentication information and authenticating the user by comparing it with user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about a community in which the user wishes to join and adding the authenticated user to a member list of the corresponding community, means for receiving user posts in the community and saving them in a database, means for receiving expert feedback on a specified post and saving it in a database, and means for sending the post content to an emotion engine and receiving emotion analysis results. This makes it possible to analyze the user's emotions and provide appropriate feedback and communication based on the results.
[1628] "Registration Information" refers to personal information such as username, password, and email address that a User provides when accessing the System for the first time.
[1629] "User Information" means data about a User generated from the Registration Information, stored in a database, and used for verification and authentication.
[1630] "Authentication Information" refers to information such as a username and password provided by a User to log into a System.
[1631] "Identification information" refers to information such as tokens or IDs generated to identify authenticated users.
[1632] "Community Information" refers to data about particular groups that a User wishes to join.
[1633] A "member list" refers to a list of users who belong to a particular community, and is managed within a database.
[1634] "Post" means content, such as text, images, links, etc., that a User creates to share information with other Users within the Community.
[1635] "Expert Feedback" refers to advice or comments provided by users with specialized knowledge in a subject area in response to other users' posts.
[1636] An "emotion engine" refers to an algorithm or software that analyzes users' posts and identifies their emotional state.
[1637] "Sentiment Analysis Results" means data regarding a user's emotional state analyzed by the Emotion Engine.
[1638] The present invention is an online community system that includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using an emotion engine.
[1639] User Registration
[1640] The user enters a username, password, and email address into the user registration form on the terminal and clicks the "Register" button. The terminal sends the entered information to the server in JSON format. The server parses the received JSON data and creates a new user object. The username and email address are stored as is in the database, and the password is hashed and stored securely. After saving the new user information in the database, the server generates a message saying "User successfully registered!" and sends it back to the terminal.
[1641] As a concrete example, if a user registers with the username "Yamada Taro," the email address "yamada@example.com," and the password "password123," the server stores this information in the database and returns a confirmation message.
[1642] Log in
[1643] The user enters their username and password into the login form and clicks the "Login" button. The device sends this information in JSON format to the server. The server parses the received JSON data and matches it with the user information in its database. If authentication is successful, the server generates a JWT token and sends it back to the device. This token is used to identify the user in subsequent requests.
[1644] As a concrete example, when a user logs in with the user name "Yamada Taro" and password "123", the server performs authentication, generates a JWT token and sends it back.
[1645] Join the community
[1646] The user selects the community they wish to join from the community list and clicks the "Join" button. The device sends the selected community ID to the server in JSON format. The server parses the received JSON data and retrieves entries related to the specified community ID from the database. It adds the authenticated user to the member list of the specified community and generates and returns a message indicating successful joining.
[1647] As a specific example, if the user wishes to join a "Diabetes Support Group," the server adds the user to the member list for this group and returns a successful join message.
[1648] Posting function
[1649] The user enters a message in the community chat box and clicks the "Post" button. The device sends the post content and community ID in JSON format to the server. The server parses the received JSON data and creates a new post object. After saving the user ID, community ID, and post content to a database, it generates a message saying "Post created successfully!" and sends it back to the device. The server also sends the post content to an emotion engine (e.g., IBM Watson, Google Cloud Natural Language API) for sentiment analysis.
[1650] For example, if a user posts "Please tell me how to manage my diabetes," the server stores this post in a database, requests the emotion engine for analysis, and returns a confirmation message.
[1651] Expert Feedback
[1652] The expert enters feedback for the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server. The server parses the received JSON data and creates a new feedback object. After saving the expert ID, post ID, and feedback in the database, it generates a message saying "Feedback provided successfully!" and sends it back to the device.
[1653] Furthermore, the server can provide a function to recommend optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[1654] For example, if an expert responds to a post asking "How do I manage my diabetes?" with feedback such as "Proper exercise and dietary management are important," the server will store this and send back a confirmation message.
[1655] This system allows patients to safely share information online and receive reliable feedback from experts. It also analyzes user sentiment and provides appropriate feedback and communication based on the results, improving user satisfaction and the quality of support.
[1656] Examples of prompt statements
[1657] Here are some example prompts for a generative AI model:
[1658] Prompt: "Describe an overview of a system that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes features for user registration, login, community participation, posting, feedback from experts, and sentiment analysis using an emotion engine. Please specify the hardware and software used for each process in the system, as well as the type of data processing and calculations performed. Please also provide specific examples."
[1659] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1660] User registration process steps
[1661] Step 1:
[1662] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[1663] Input: Username, Password, Email Address
[1664] Output: Request to send input information
[1665] Step 2:
[1666] The terminal sends the entered information to the server in JSON format.
[1667] Input: JSON data of username, password, and email address
[1668] Output: Sending input information
[1669] Step 3:
[1670] The server parses the received JSON data and creates a new user object.
[1671] Input: JSON data of username, password, and email address
[1672] Processing: Parse the JSON data and create a new user object
[1673] Output: User object
[1674] Step 4:
[1675] The server stores the username and email address as is in the database, and hashes the password and stores it securely.
[1676] Input: User object
[1677] Processing: Saving usernames, email addresses, hashing and storing passwords
[1678] Output: User information stored in the database
[1679] Step 5:
[1680] The server stores the new user information in a database and then generates a message saying "User successfully registered!" and sends it back to the terminal.
[1681] Input: User information
[1682] Output: Generate and send a confirmation message
[1683] Login process steps
[1684] Step 1:
[1685] The user enters the user name and password in the login form and clicks the "Login" button.
[1686] Input: Username, Password
[1687] Output: Request to send input information
[1688] Step 2:
[1689] The device sends this information to the server in JSON format.
[1690] Input: JSON data of username and password
[1691] Output: Sending input information
[1692] Step 3:
[1693] The server parses the received JSON data and matches it with the user information in its database.
[1694] Input: JSON data of username and password
[1695] Processing: Parse JSON data and match it with information in the database
[1696] Output: Authentication result
[1697] Step 4:
[1698] If authentication is successful, the server generates a JWT token and returns it to the device.
[1699] Input: Authentication result
[1700] Process: Generate JWT token
[1701] Output: JWT token
[1702] Community participation process steps
[1703] Step 1:
[1704] The user selects the community he or she wants to join from the community list and clicks the "Join" button.
[1705] Input: Selected Community ID
[1706] Output: Join request
[1707] Step 2:
[1708] The terminal sends the selected community ID to the server in JSON format.
[1709] Input: JSON data of community ID
[1710] Output: Sending input information
[1711] Step 3:
[1712] The server parses the received JSON data and retrieves entries related to the specified community ID from the database.
[1713] Input: JSON data of community ID
[1714] Processing: Parsing JSON data, retrieving entries from the database
[1715] Output: Community entries
[1716] Step 4:
[1717] The server adds the authenticated user to the member list of the specified community, generates a message indicating successful participation, and returns it to the terminal.
[1718] Input: Community entry, user information
[1719] Action: Update member list
[1720] Output: Join successful message
[1721] Post function processing steps
[1722] Step 1:
[1723] The user enters a message in the community chat box and clicks the "Post" button.
[1724] Input: Message content, community ID
[1725] Output: Post request
[1726] Step 2:
[1727] The device sends the post content and community ID to the server in JSON format.
[1728] Input: JSON data of message content and community ID
[1729] Output: Sending input information
[1730] Step 3:
[1731] The server parses the received JSON data and creates a new post object.
[1732] Input: JSON data of message content and community ID
[1733] Processing: Parse JSON data and create post object
[1734] Output: Post object
[1735] Step 4:
[1736] The server stores the user ID, community ID, and post content in a database, then generates a message saying "Post created successfully!" and sends it back to the terminal.
[1737] Input: Post object
[1738] Process: Save to database
[1739] Output: Generate and send a confirmation message
[1740] Step 5:
[1741] The server sends the posted content to the emotion engine and requests emotion analysis.
[1742] Input: Post content
[1743] Processing: Send to emotion engine, request emotion analysis
[1744] Output: Sentiment analysis results
[1745] Expert feedback processing steps
[1746] Step 1:
[1747] The expert enters feedback on the target post and clicks the "Submit" button.
[1748] Input: Feedback content, post ID
[1749] Output: Feedback request
[1750] Step 2:
[1751] The device sends the feedback content and post ID to the server in JSON format.
[1752] Input: JSON data of feedback content and post ID
[1753] Output: Sending input information
[1754] Step 3:
[1755] The server parses the received JSON data and creates a new feedback object.
[1756] Input: JSON data of feedback content and post ID
[1757] Processing: Parse JSON data and generate feedback objects
[1758] Output: Feedback object
[1759] Step 4:
[1760] The server stores the expert ID, post ID, and feedback content in a database, and then generates a message saying "Feedback has been provided successfully!" and returns it to the terminal.
[1761] Input: Feedback object
[1762] Process: Save to database
[1763] Output: Generate and send a confirmation message
[1764] Step 5:
[1765] Furthermore, the server recommends optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[1766] Input: Sentiment analysis results
[1767] Action: Recommend appropriate feedback
[1768] Output: Recommendation feedback
[1769] (Application example 2)
[1770] 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."
[1771] Conventional online healthcare systems lack the functionality to grasp a user's emotional state in real time and provide an individualized healthcare management plan based on that information. Furthermore, users often lack the ability to smoothly exchange information with each other or with experts, making it difficult to receive reliable feedback quickly. This makes it difficult to provide effective healthcare management and improve user satisfaction.
[1772] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1773] In this invention, the server includes means for receiving registration information and storing user information in a database, means for receiving input authentication information and verifying it against user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about communities the user wishes to join and adding the authenticated user to a member list for the corresponding community, means for receiving user posts in the community and storing them in a database, means for receiving expert feedback on a specified post and storing it in a database, means for sending the post content to an emotion engine and receiving the results of emotion analysis by a generative AI model, and means for creating and providing a health management plan to the user based on the results of the emotion analysis. This makes it possible to grasp the user's emotional state in real time and provide an individualized health management plan based on that. Furthermore, smooth information exchange between users and experts and rapid, reliable feedback can be achieved, resulting in effective health management and improved user satisfaction.
[1774] "Means for receiving registration information and storing user information in a database" refers to a function that collects registration information entered by users, sends it to a server, and stores the information in a database.
[1775] "Means for receiving the entered authentication information and verifying it against the user information in the database" refers to the function of collecting the authentication information entered by the user and verifying it against existing user information stored in the database to authenticate the user.
[1776] The "means for generating and returning identification information to an authenticated user" is a function that generates unique identification information for a user who has been successfully authenticated and returns it to the user.
[1777] "Means for receiving information about communities in which a user wishes to join and adding authenticated users to the member list of the corresponding communities" refers to a function for collecting information about communities in which a user wishes to join, confirming that the user has been authenticated, and then adding the user to the member list of a specific community.
[1778] "Means for receiving user posts within a community and storing them in a database" is a function for collecting posts made by users within a community, sending them to a server, and storing the contents in a database.
[1779] The "means for receiving expert feedback on a specified post and storing it in a database" is a function for collecting feedback provided by experts on a user's post and storing the data in a database.
[1780] "Means for sending the content of posts to an emotion engine and receiving the emotion analysis results from a generative AI model" refers to a function for sending the content of posts by users to an emotion recognition engine and receiving the emotion results analyzed by a generative AI model.
[1781] "Means for creating and providing a health management plan to the user based on the emotion analysis results" is a function for creating a health management plan that is suited to the user's current emotional state based on the emotion analysis results and providing it to the user.
[1782] This invention is an online healthcare system that includes user registration, login, community participation, posting, and expert feedback functions, as well as a sentiment analysis function using an emotion engine. The system aims to analyze the user's emotional state in real time and provide a customized healthcare plan based on the results. The system consists of the following elements:
[1783] Hardware and Software
[1784] The following hardware is required to implement this invention:
[1785] Server (including database and authentication system): Stores and manages user information.
[1786] User terminal (e.g., smartphone): A device through which a user accesses the system and enters or retrieves information.
[1787] Emotion Engine: A system that analyzes user posts and is equipped with a generative AI model.
[1788] The software used includes:
[1789] Backend framework (e.g. Flask): Responsible for server-side processing.
[1790] Database management system (e.g., MySQL): Stores user information and posts.
[1791] Authentication libraries (e.g. bcrypt, JWT): For securely authenticating users.
[1792] Sentiment analysis API (e.g., Emotion AI): For analyzing user posts and returning sentiment results.
[1793] Program processing explanation
[1794] The server receives the registration information entered by the user and stores the data, including the username, password, and email address, in a database. The password is hashed using bcrypt and stored securely. When a user attempts to log in, the server receives the entered authentication information and compares it with the user information in the database for authentication. If authentication is successful, the server generates and returns a JWT token to the user.
[1795] When an authenticated user wishes to join a specific community, the server receives the information and adds the user to the community's member list. When the user posts within the community, the post is sent to the server and stored in the database. At the same time, the post is sent to the emotion engine, where it is analyzed by a generative AI model.
[1796] The emotion analysis results are sent back to the server, which then creates a customized health plan based on the results. Specifically, it provides exercise, dietary suggestions, and relaxation advice that correspond to the user's specific emotional state. For example, if the user expresses sadness, it will suggest relaxation practices or counseling.
[1797] Experts provide feedback on user posts, which is then sent to the server and stored in a database. Based on the emotions recognized by the emotion engine, the experts recommend the most appropriate feedback.
[1798] Prompt Sentence Examples
[1799] For the post "It's been hard to exercise lately," the prompt text to send to the sentiment analysis API to get the sentiment analysis results is as follows:
[1800] Text sentence: "It's been hard to exercise lately", analyze the sentiment.
[1801] In this way, the system of the present invention can grasp the user's emotional state in real time and provide an individualized health management plan based on that information. It also facilitates information exchange between users and experts, allowing users to receive fast and reliable feedback.
[1802] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1803] Step 1:
[1804] User Registration
[1805] The user enters their username, password, and email address into the user registration form on their terminal and clicks the "Register" button. The server receives the entered information in JSON format, stores the username and email address as is, hashes the password with bcrypt, and securely stores it in the database. It also generates a registration success message and sends it back to the user.
[1806] Input: Username, Password, Email Address
[1807] Output: Registration successful message
[1808] Actions: Hashing, storing, generating messages
[1809] Step 2:
[1810] Log in
[1811] The user enters their username and password into the login form on their terminal and clicks the "Login" button. The server receives the entered information in JSON format and authenticates it by checking it against the user information in the database. If authentication is successful, the server generates a JWT token and returns it to the user.
[1812] Input: Username, Password
[1813] Output: JWT token
[1814] Actions: Authentication, token generation
[1815] Step 3:
[1816] Community Participation
[1817] The user uses their device to select the community they want to join from the community list and clicks the "Join" button. The server receives the community information selected by the user in JSON format, adds the authenticated user to the member list of the corresponding community, and generates a success message for joining and returns it to the user.
[1818] Input: Community Information
[1819] Output: Join success message
[1820] Action: Save, generate message
[1821] Step 4:
[1822] User Submissions
[1823] The user uses their device to enter a message into the community chat box and clicks the "Post" button. The server receives the post content and community ID in JSON format, stores them in a database, and sends the post content to the emotion engine. The emotion engine performs emotion analysis using a generative AI model and returns the results to the server. The server creates a health management plan based on the emotion analysis results and provides it to the user.
[1824] Input: Post content, community ID
[1825] Output: Post success message, sentiment analysis results, health management plan
[1826] Actions: Save, send, analyze, generate plan
[1827] Step 5:
[1828] Expert Feedback
[1829] The expert uses the device to enter feedback on the user's post and clicks the "Submit" button. The server receives the feedback and post ID in JSON format and stores them in a database. It then verifies whether the expert's feedback is appropriate based on the sentiment analysis results and recommends the most appropriate feedback.
[1830] Input: Feedback content, post ID
[1831] Output: Feedback success message
[1832] Behavior: Save, validate, recommend
[1833] 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.
[1834] 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.
[1835] 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.
[1836] [Fourth embodiment]
[1837] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1838] 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.
[1839] 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).
[1840] 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.
[1841] 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.
[1842] 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).
[1843] 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.
[1844] 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.
[1845] 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.
[1846] 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.
[1847] 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.
[1848] 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.
[1849] 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."
[1850] As a specific embodiment of the present invention, a system will be described that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes functions for user registration, login, community participation, posting, and feedback from experts.
[1851] User Registration
[1852] The user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[1853] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[1854] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[1855] Log in
[1856] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[1857] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[1858] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[1859] Join the community
[1860] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[1861] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[1862] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[1863] Posting function
[1864] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[1865] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[1866] For example, if a user posts to a community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[1867] Expert Feedback
[1868] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[1869] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[1870] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1871] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts.
[1872] The processing flow will be explained below.
[1873] User Registration
[1874] Step 1:
[1875] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[1876] Step 2:
[1877] The terminal sends the entered information to the server in JSON format.
[1878] Step 3:
[1879] The server parses the received JSON data and creates a new user object.
[1880] Step 4:
[1881] The server stores the username and email address as is, and stores the password in a hashed form.
[1882] Step 5:
[1883] The server stores the new user information in a database.
[1884] Step 6:
[1885] The server generates a message indicating successful registration and returns it to the device in JSON format.
[1886] Step 7:
[1887] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[1888] Log in
[1889] Step 1:
[1890] The user enters the user name and password in the login form and clicks the "Login" button.
[1891] Step 2:
[1892] The terminal sends the entered information to the server in JSON format.
[1893] Step 3:
[1894] The server parses the received JSON data and matches it with the username and password hash in its database.
[1895] Step 4:
[1896] If the verification is successful, the server generates a JWT token.
[1897] Step 5:
[1898] The server returns the generated JWT token to the terminal in JSON format.
[1899] Step 6:
[1900] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[1901] Join the community
[1902] Step 1:
[1903] The user selects the community he or she wants to join and clicks the "Join" button.
[1904] Step 2:
[1905] The terminal sends the selected community ID to the server in JSON format.
[1906] Step 3:
[1907] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[1908] Step 4:
[1909] The server adds the authenticated user to the member list of the corresponding community.
[1910] Step 5:
[1911] The server generates a message indicating successful joining and returns it to the device in JSON format.
[1912] Step 6:
[1913] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[1914] Posting function
[1915] Step 1:
[1916] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[1917] Step 2:
[1918] The device sends the post content and community ID to the server in JSON format.
[1919] Step 3:
[1920] The server parses the received JSON data and creates a new post object.
[1921] Step 4:
[1922] The server adds the user ID, community ID, and post content to the post object.
[1923] Step 5:
[1924] The server saves the new post object to the database.
[1925] Step 6:
[1926] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[1927] Step 7:
[1928] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[1929] Expert Feedback
[1930] Step 1:
[1931] The expert enters feedback on the target post and clicks the "Submit" button.
[1932] Step 2:
[1933] The device sends the feedback content and post ID to the server in JSON format.
[1934] Step 3:
[1935] The server parses the received JSON data and creates a new feedback object.
[1936] Step 4:
[1937] The server adds the expert ID, post ID, and feedback content to the feedback object.
[1938] Step 5:
[1939] The server stores the new feedback object in the database.
[1940] Step 6:
[1941] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[1942] Step 7:
[1943] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[1944] This allows users and experts to safely and effectively share information and receive feedback.
[1945] Example 1
[1946] 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."
[1947] There is a need for a system in online communities that allows patients to share information anonymously and safely and receive reliable feedback from experts. However, existing systems often do not adequately protect users' personal information, which can hinder smooth information exchange and feedback provision. In response, a system is needed that ensures data security while promoting information exchange among users and allowing them to receive accurate feedback from experts.
[1948] 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.
[1949] In this invention, the server includes means for transmitting registration information received from a user registration form in JSON format to the server, means for the server to analyze the received JSON data, create a user object and store it in a database, means for transmitting input authentication information to the server in JSON format and for the server to authenticate by comparing it with user information in the database, means for generating and returning a JWT token for the authenticated user, means for transmitting information about a community the user wishes to join to the server in JSON format and for the server to add the authenticated user to a community member list, means for receiving user posts in the community in JSON format and storing them in a database by the server, and means for receiving expert feedback on a specified post in JSON format and storing them in a database by the server. This allows for the creation of an online community in which users can participate anonymously and safely, enabling smooth information exchange and feedback from experts.
[1950] A "user registration form" is an input screen where a user can enter their information (username, password, email address, etc.) to register with the system.
[1951] "JSON format" is an abbreviation for JavaScript Object Notation, and is a lightweight data exchange format that represents data as attribute-value pairs.
[1952] A "server" is a computer system that manages data and provides information in response to user requests.
[1953] A "database" is a system for efficiently storing, managing, and retrieving structured information.
[1954] A "user object" is a data structure for storing user information, including a username, password, email address, etc.
[1955] "Authentication Information" means information used to verify a user's identity, such as a username and password provided by a user when logging in.
[1956] "JWT token" is an abbreviation for JSON Web Token, which is generated for an authenticated user and used to identify the user in subsequent requests.
[1957] "Community Information" is the identification of an online group in which a user wishes to join.
[1958] "User posts" are text data such as messages, questions, and opinions sent by users to the community.
[1959] "Feedback" refers to response information such as answers or opinions provided by experts in response to user posts.
[1960] "Encryption methods" refer to technologies and methods for protecting the contents of data so that they cannot be understood by third parties.
[1961] "Anonymity" means that a user's personal information is not revealed to the outside world and their identity cannot be identified.
[1962] The present invention provides a system that allows patients to connect with each other online, share information, and receive feedback from experts. The system includes functions for user registration, login, community participation, posting, and feedback from experts.
[1963] User Registration
[1964] The user first enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. This causes the device to send the entered information to the server in JSON format.
[1965] The server parses the received JSON data and creates a user object containing the username, password, and email address. For security reasons, the password is hashed using an encryption library such as bcrypt. The server then saves the new user information in a database (e.g., MySQL or PostgreSQL) and generates a message indicating success and sends it back to the user.
[1966] Examples:
[1967] When a user registers with the name "Yamada Taro" and the email address "example@example.com" and the password "password123", the server saves this in the database and returns the message "User successfully registered!"
[1968] Log in
[1969] The user enters their username and password in the login form and clicks the "Login" button, which causes the device to send the login information in JSON format to the server.
[1970] The server parses the received JSON data and checks it against the user information in its database. If authentication is successful, the server generates a JWT token using the jsonwebtoken library and sends it back to the user. This token is used to identify the user in subsequent requests.
[1971] Examples:
[1972] When a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[1973] Join the community
[1974] The user selects the community they want to join from the community list and clicks the "Join" button, which causes the device to send the community ID in JSON format to the server.
[1975] The server parses the received JSON data, retrieves the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[1976] Examples:
[1977] If the user joins the "Diabetes Support Group", the server registers the user as a member of this group in the database and returns the message "You have successfully joined the community!".
[1978] Posting function
[1979] The user enters a message in the community chat box and clicks the "Post" button, which causes the device to send the message and the community ID in JSON format to the server.
[1980] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and sends a message back to the user informing them of the successful posting.
[1981] Examples:
[1982] When a user posts to the community, "Tell me how to manage my diabetes," the server saves this to the database and returns the message, "Post created successfully!"
[1983] Expert Feedback
[1984] The expert enters feedback on the target post and clicks the "Submit" button, which causes the device to send the feedback and post ID in JSON format to the server.
[1985] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and sends a message back to the expert notifying them of the successful feedback.
[1986] Examples:
[1987] When an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[1988] Prompt Sentence Examples
[1989] "Please explain the process for registering a new user with a username and password."
[1990] In this way, the present invention provides a system that allows patients to safely and anonymously share information online and receive reliable feedback from experts. Each component of the system ensures smooth information exchange and expert feedback while protecting users' privacy.
[1991] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1992] Step 1:
[1993] A user enters the required information (username, password, email address) into the user registration form and clicks the "Register" button. The username, password, and email address are provided as input through the form. The terminal receives this information and converts it into JSON format (e.g., {"username": "example_name", "password": "example_password", "email": "example@example.com"}).
[1994] Step 2:
[1995] The terminal sends user registration information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username, password, and email address. The output is the parsed user data.
[1996] Step 3:
[1997] The server needs to hash the password. It takes the password as input and runs it through a hashing process using a library such as bcrypt. The output is the hashed password. For example, it can be hashed using bcrypt.hashSync(password, saltRounds).
[1998] Step 4:
[1999] The server creates a new user object and saves it in the database. As input, a username, hashed password, and email address are provided. The server uses this information to save the user object in the database. The output is a message confirming that the new user has been saved in the database.
[2000] Step 5:
[2001] The server generates a message to notify the user that the user registration was successful and sends it back to the terminal. As input, the server's internal state indicating success and the user's identity are provided. The output is the message "User successfully registered!"
[2002] Step 6:
[2003] The user enters their username and password into the login form and clicks the "Login" button. As input, username and password are provided. The terminal receives this information and converts it to JSON format (e.g., {"username": "example_name", "password": "example_password"}).
[2004] Step 7:
[2005] The terminal sends login information in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the username and password. The output is the parsed login data.
[2006] Step 8:
[2007] The server authenticates the user against the user information in its database. As input, the parsed username and password are provided. To check if the hashed passwords match, use bcrypt.compareSync(password, hashedPassword). The output is the authentication result (success or failure).
[2008] Step 9:
[2009] If authentication is successful, the server generates a JWT token and sends it back to the user. As input, the authentication success status and user identity information are provided. The token is generated using jsonwebtoken.sign(payload, secretOrPrivateKey). The output is the generated JWT token.
[2010] Step 10:
[2011] The user selects the community they want to join from the community list and clicks the "Join" button. The community ID is provided as input. The device receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id"}).
[2012] Step 11:
[2013] The terminal sends the community ID in JSON format to the server. The JSON data received from the terminal is provided as input. The server parses the received JSON data and obtains the community ID. The output is the parsed community ID.
[2014] Step 12:
[2015] The server adds the authenticated user to the member list of the specified community. As input, the authenticated user identity and the community ID are provided. The output is a message indicating that the user was successfully added to the community.
[2016] Step 13:
[2017] The server generates a message indicating successful joining and sends it back to the user. As input, it provides the server's internal success state and the user's identity. The output is the message "You have successfully joined the community!"
[2018] Step 14:
[2019] A user enters a message in the community chat box and clicks the "Post" button. The message to post and the community ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"community_id": "example_community_id", "message": "example_message"}).
[2020] Step 15:
[2021] The device sends the post content and community ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the post content and community ID. The output is the parsed post content and community ID.
[2022] Step 16:
[2023] The server creates a new post object and saves the user ID, community ID, and post content to the database. As input, the user ID, community ID, and post content are provided. The output is a message confirming that the post was successfully saved to the database.
[2024] Step 17:
[2025] The server generates a message indicating the success of the post and sends it back to the user. As input, the server's internal success state and the user identity are provided. The output is the message "Post created successfully!"
[2026] Step 18:
[2027] The expert enters feedback on the target post and clicks the "Submit" button. The feedback content and post ID are provided as input. The terminal receives this information and converts it into JSON format (e.g., {"post_id": "example_post_id", "feedback": "example_feedback"}).
[2028] Step 19:
[2029] The device sends the feedback content and post ID in JSON format to the server. The JSON data received from the device is provided as input. The server parses the received JSON data and obtains the feedback content and post ID. The output is the parsed feedback content and post ID.
[2030] Step 20:
[2031] The server creates a new feedback object and saves the Expert ID, Post ID, and feedback content in the database. As input, the Expert ID, Post ID, and feedback content are provided. The output is a message confirming that the feedback was successfully saved in the database.
[2032] Step 21:
[2033] The server generates a message indicating the success of the feedback and sends it back to the expert. As input, the server's internal state indicating success and the expert identification information are provided. The output is the message "Feedback provided successfully!"
[2034] (Application example 1)
[2035] 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."
[2036] Modern society demands improved security, but many security systems only detect anomalies and leave subsequent response up to the user. This makes it difficult to respond quickly and appropriately even when an anomaly is detected. In addition, few systems can receive feedback from experts, making it difficult to obtain reliable information in real time. Another issue is that information cannot be shared smoothly between users, which prevents the power of the community from being fully utilized.
[2037] 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.
[2038] In this invention, the server includes: [means for receiving registration information and saving user information in a database;] [means for receiving input authentication information and verifying it against user information in the database for authentication;] [means for generating and returning identification information for the authenticated user;] [means for receiving community information in which the user wishes to join and adding the authenticated user to a member list of the corresponding community;] [means for receiving user posts in the community and saving it in a database;] [means for receiving expert feedback on a specified post and saving it in a database; and [means for enabling information sharing among users and feedback from experts when an anomaly is detected.] This enables a quick and accurate response when an anomaly is detected, enables reliable feedback from experts, and enables information sharing that utilizes the power of the community.
[2039] "Registration Information" means basic personal information such as username, password, and email address that a User provides when first accessing the System.
[2040] "User information" is a collective term for all data related to a user, including registration information, user usage history, and authentication information.
[2041] The "database" is a system for efficiently managing and storing user information, community information, posted content, feedback, etc.
[2042] "Authentication Information" means information used to identify and authenticate a user, such as a user name and password provided by the user when logging into a system.
[2043] "Identification information" refers to information used to identify a user, such as a token or session ID that is generated and returned to an authenticated user.
[2044] "Community information" is information about a specific community in which a user wishes to participate, including the name and ID of the community.
[2045] A "member list" is a list of all users who are members of a particular community.
[2046] "User Contributions" are opinions, questions, information, or other messages that users share within the community.
[2047] "Expert Feedback" refers to advice, comments, ratings, and other content provided by an Expert in response to a User Submission.
[2048] An "abnormality" is when a security camera or intrusion detection system detects behavior or an event that is different from normal.
[2049] "Information sharing" is the process of exchanging opinions and information between users.
[2050] "Authentic feedback" is accurate, useful advice or information provided by someone with the expertise.
[2051] A specific embodiment of this invention will now be described. This system supports rapid and accurate security response through information sharing between users and feedback from experts. The system mainly consists of the following components: a user terminal, a server, and a database.
[2052] Hardware and Software Configuration
[2053] The user device is a smartphone or tablet, and the application is installed and used. The application is developed using the Python Django framework and REST API. The server is built on a cloud infrastructure (e.g., AWS, Google Cloud), and the database is MySQL or PostgreSQL.
[2054] System Functions and Processing
[2055] The server has a way to receive user registration information and store the user information in a database. The user registers by entering a username, email address, and password. The server parses the received data in JSON format, creates a new user object, and stores the information in the database. The password is hashed appropriately.
[2056] Then, when the user logs in, their credentials are sent to the server, which parses them and authenticates them against information in a database. If authentication is successful, the server generates a JWT token and sends it back to the user, which identifies them on subsequent requests.
[2057] The server receives information about the community the user wishes to join and adds the authenticated user to the member list of the corresponding community. The user selects the community they wish to join from the community list, and the server updates the database based on the received data.
[2058] If an anomaly is detected, users can post it to the community. The server receives the post and stores it in a database. Feedback provided by experts is also received and stored in the same way. This allows users to receive reliable information in real time.
[2059] For example, if a user joins a home security group and their security camera detects an abnormality, the system will quickly post the information to the community and experts will provide appropriate feedback, allowing the user to take prompt action and minimize damage.
[2060] Prompt Sentence Examples
[2061] Have users join a "Home Security Group" to provide feedback if the camera detects an anomaly. Also, include a process to ensure users are logged in.
[2062] In this way, the present invention provides a system that promotes information sharing among users and supports quick and accurate security responses.
[2063] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[2064] Step 1:
[2065] User Registration
[2066] The device obtains the username, password, and email address entered by the user and converts them into JSON format.
[2067] Input: Username, Password, Email Address
[2068] Data processing: Convert data into JSON format
[2069] The server receives this JSON data, parses it, creates a user object, and hashes the password.
[2070] Data Computation: Password Hashing
[2071] Output: New user object
[2072] The server saves the new user object in its database and generates and returns a successful registration message.
[2073] Step 2:
[2074] User authentication
[2075] The device takes the username and password entered by the user and converts them into JSON format.
[2076] Input: Username, Password
[2077] Data processing: Convert data into JSON format
[2078] The server receives this JSON data and authenticates it by comparing it with the user information in its database.
[2079] Data calculation: database matching, authentication processing
[2080] Output: Authentication result, JWT token (if authentication is successful)
[2081] The server generates and returns a JWT token for the authenticated user.
[2082] Step 3:
[2083] Community Participation
[2084] The terminal obtains the community ID selected by the user and converts it into JSON format.
[2085] Input: Community ID
[2086] Data processing: Convert data into JSON format
[2087] The server receives this JSON data and retrieves the entry for the specified community ID from the database.
[2088] Data calculation: Retrieving entries from the database and adding them to community members
[2089] Output: Updated community member list
[2090] The server adds the authenticated user to the member list of the corresponding community and returns a successful join message to the user.
[2091] Step 4:
[2092] User Submissions
[2093] The terminal obtains the post content and community ID entered by the user and converts them into JSON format.
[2094] Input: Post content, community ID
[2095] Data processing: Convert data into JSON format
[2096] The server receives this JSON data and creates a new post object.
[2097] Data operations: creating a new post object and saving it to the database
[2098] Output: Updated database
[2099] The server stores the user ID, community ID, and the post in a database and returns a successful posting message to the user.
[2100] Step 5:
[2101] Expert Feedback
[2102] The device obtains the feedback entered by the expert and the post ID and converts them into JSON format.
[2103] Input: Feedback content, post ID
[2104] Data processing: Convert data into JSON format
[2105] The server receives this JSON data and creates a new feedback object.
[2106] Data Calculation: Create new feedback object, save to database
[2107] Output: Updated database
[2108] The server stores the expert ID, the post ID, and the feedback content in a database and returns a feedback success message to the expert.
[2109] Step 6:
[2110] Anomaly detection and information sharing
[2111] A security camera or intrusion detection system detects an anomaly and sends a notification to the application.
[2112] Input: Anomaly detection information
[2113] Data processing: Notification of abnormal information
[2114] The device analyzes this abnormal information, displays a notification to the user, and automatically posts the information to the community.
[2115] Data calculation: Analysis of abnormal information, automatic posting
[2116] Output: Community post
[2117] The server receives this post, stores it in a database, and sends notifications to community members.
[2118] Through these steps, the system can efficiently perform a series of processes from user registration to anomaly detection, information sharing, and expert feedback.
[2119] 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.
[2120] As a specific embodiment of the present invention, we will explain a system that combines a system that allows patients to connect with each other online, share information, and receive feedback from experts with an emotion engine that recognizes user emotions. This system includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using the emotion engine.
[2121] User Registration
[2122] The user enters their username, password, and email address in the user registration form and clicks the "Register" button. The device sends the entered information to the server in JSON format.
[2123] The server parses the received JSON data, creates a new user object, stores the username and email address as is, hashes the password and stores it securely, saves the new user information to the database, and generates and returns a message to the user informing them of successful registration.
[2124] For example, if a user registers with the name "Yamada Taro" and the email address "yamada@example.com" and the password "password123", the server will save this in the database and return the message "User successfully registered!".
[2125] Log in
[2126] The user enters their username and password in the login form and clicks the "Login" button. The device sends the entered information to the server in JSON format.
[2127] The server parses the received JSON data and checks it against the user information in its database. If authenticated, the server generates a JWT token and sends it back to the user. This token is used to identify the user in subsequent requests.
[2128] As a concrete example, when a user logs in with the username "Yamada Taro" and the password "password123", the server authenticates this, generates a JWT token, and returns it to the user.
[2129] Join the community
[2130] The user selects the community they want to join from the community list and clicks the "Join" button. The device then sends the selected community ID to the server in JSON format.
[2131] The server parses the received JSON data, retrieves the entry for the specified community ID from the database, adds the authenticated user to the corresponding community's member list, and returns a message to the user indicating successful joining.
[2132] As a concrete example, if a user wants to join a "Diabetes Support Group," the server will register the user as a member of this group in the database and return the message "You have successfully joined the community!".
[2133] Posting function
[2134] The user enters a message in the community chat box and clicks the "Post" button. The device sends the message and the community ID in JSON format to the server.
[2135] The server parses the received JSON data, creates a new post object, stores the user ID, community ID, and post content in the database, and generates and returns a message to the user notifying them of the successful posting.
[2136] The server also sends the content of the post to the emotion engine for emotion analysis, which analyzes the emotion of the post and returns the analysis results to the server.
[2137] For example, when a user posts to a community, "Tell me how to manage diabetes," the server stores this in the database, returns a message saying "Post created successfully!", and asks the emotion engine for analysis.
[2138] Expert Feedback
[2139] The expert enters feedback on the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server.
[2140] The server parses the received JSON data, creates a new feedback object, stores the expert ID, post ID, and feedback content in the database, and generates and sends a message notifying the success of the feedback.
[2141] Furthermore, based on the emotions recognized by the emotion engine, the server can provide the expert with the functionality to recommend appropriate feedback.
[2142] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[2143] In this way, the present invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. Furthermore, by analyzing users' emotions and recommending appropriate feedback and communication based on the analysis results, it is possible to improve user satisfaction and the quality of support.
[2144] The processing flow will be explained below.
[2145] User Registration
[2146] Step 1:
[2147] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[2148] Step 2:
[2149] The terminal sends the entered information to the server in JSON format.
[2150] Step 3:
[2151] The server parses the received JSON data and creates a new user object.
[2152] Step 4:
[2153] The server stores the username and email address as is, and stores the password in a hashed form.
[2154] Step 5:
[2155] The server stores the new user information in a database.
[2156] Step 6:
[2157] The server generates a message indicating successful registration and returns it to the device in JSON format.
[2158] Step 7:
[2159] The terminal receives the response from the server and displays a message to the user indicating successful registration.
[2160] Log in
[2161] Step 1:
[2162] The user enters the user name and password in the login form and clicks the "Login" button.
[2163] Step 2:
[2164] The terminal sends the entered information to the server in JSON format.
[2165] Step 3:
[2166] The server parses the received JSON data and matches it with the username and password hash in its database.
[2167] Step 4:
[2168] If the verification is successful, the server generates a JWT token.
[2169] Step 5:
[2170] The server returns the generated JWT token to the terminal in JSON format.
[2171] Step 6:
[2172] The terminal receives the response from the server, displays a login success message to the user, and saves the token in local storage.
[2173] Join the community
[2174] Step 1:
[2175] The user selects the community he or she wants to join and clicks the "Join" button.
[2176] Step 2:
[2177] The terminal sends the selected community ID to the server in JSON format.
[2178] Step 3:
[2179] The server analyzes the received JSON data and retrieves the entry for the specified community ID from the database.
[2180] Step 4:
[2181] The server adds the authenticated user to the member list of the corresponding community.
[2182] Step 5:
[2183] The server generates a message indicating successful joining and returns it to the device in JSON format.
[2184] Step 6:
[2185] The terminal receives the response from the server and displays a message to the user indicating successful participation.
[2186] Posting function
[2187] Step 1:
[2188] The user enters the content to be posted in the community chat box and clicks the "Post" button.
[2189] Step 2:
[2190] The device sends the post content and community ID to the server in JSON format.
[2191] Step 3:
[2192] The server parses the received JSON data and creates a new post object.
[2193] Step 4:
[2194] The server adds the user ID, community ID, and post content to the post object.
[2195] Step 5:
[2196] The server saves the new post object to the database.
[2197] Step 6:
[2198] The server generates a message indicating the success of the posting and returns it to the terminal in JSON format.
[2199] Step 7:
[2200] The terminal receives the response from the server, displays a message to the user indicating that posting was successful, and updates the community post list.
[2201] Sentiment analysis with emotion engine
[2202] Step 1:
[2203] After the community post is saved, the server sends the post content to the emotion engine.
[2204] Step 2:
[2205] The emotion engine analyzes the content of the posts received and identifies the emotion.
[2206] Step 3:
[2207] The emotion engine sends the analysis results of the identified emotions to the server.
[2208] Step 4:
[2209] The server stores the received sentiment analysis results in a database.
[2210] Step 5:
[2211] The server generates appropriate feedback and expert suggestions based on the sentiment analysis results.
[2212] Expert Feedback
[2213] Step 1:
[2214] The expert enters feedback on the target post and clicks the "Submit" button.
[2215] Step 2:
[2216] The device sends the feedback content and post ID to the server in JSON format.
[2217] Step 3:
[2218] The server parses the received JSON data and creates a new feedback object.
[2219] Step 4:
[2220] The server adds the expert ID, post ID, and feedback content to the feedback object.
[2221] Step 5:
[2222] The server stores the new feedback object in the database.
[2223] Step 6:
[2224] The server generates a message indicating successful feedback and returns it to the device in JSON format.
[2225] Step 7:
[2226] The terminal receives the response from the server, displays a message to the expert indicating that the feedback was successful, and adds and displays the feedback to the relevant post.
[2227] For example, if an expert provides feedback to a user's post "Tell me how to manage diabetes" by saying "Proper exercise and dietary management are important," the server stores this in the database and returns the message "Feedback provided successfully!"
[2228] This invention provides a system that allows patients to safely share information online and receive reliable feedback from experts. It also analyzes users' emotions and recommends appropriate feedback and communication based on the analysis results, thereby improving user satisfaction and the quality of support.
[2229] Example 2
[2230] 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."
[2231] While existing online community systems have functions for users to share information and receive feedback from experts, they often lack the ability to analyze users' emotions and provide appropriate feedback and communication based on that. As a result, user satisfaction and the quality of support can decline.
[2232] The identification process by the identification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving registration information and saving user information in a database, means for receiving input authentication information and authenticating the user by comparing it with user information in the database, means for generating and returning identification information for the authenticated user, means for receiving information about a community in which the user wishes to join and adding the authenticated user to a member list of the corresponding community, means for receiving user posts in the community and saving them in a database, means for receiving expert feedback on a specified post and saving it in a database, and means for sending the post content to an emotion engine and receiving emotion analysis results. This makes it possible to analyze the user's emotions and provide appropriate feedback and communication based on the results.
[2233] "Registration Information" refers to personal information such as username, password, and email address that a User provides when accessing the System for the first time.
[2234] "User Information" means data about a User generated from the Registration Information, stored in a database, and used for verification and authentication.
[2235] "Authentication Information" refers to information such as a username and password provided by a User to log into a System.
[2236] "Identification information" refers to information such as tokens or IDs generated to identify authenticated users.
[2237] "Community Information" refers to data about particular groups that a User wishes to join.
[2238] A "member list" refers to a list of users who belong to a particular community, and is managed within a database.
[2239] "Post" means content, such as text, images, links, etc., that a User creates to share information with other Users within the Community.
[2240] "Expert Feedback" refers to advice or comments provided by users with specialized knowledge in a subject area in response to other users' posts.
[2241] An "emotion engine" refers to an algorithm or software that analyzes users' posts and identifies their emotional state.
[2242] "Sentiment Analysis Results" means data regarding a user's emotional state analyzed by the Emotion Engine.
[2243] The present invention is an online community system that includes user registration, login, community participation, posting functions, feedback functions from experts, and emotion analysis functions using an emotion engine.
[2244] User Registration
[2245] The user enters a username, password, and email address into the user registration form on the terminal and clicks the "Register" button. The terminal sends the entered information to the server in JSON format. The server parses the received JSON data and creates a new user object. The username and email address are stored as is in the database, and the password is hashed and stored securely. After saving the new user information in the database, the server generates a message saying "User successfully registered!" and sends it back to the terminal.
[2246] As a concrete example, if a user registers with the username "Yamada Taro," the email address "yamada@example.com," and the password "password123," the server stores this information in the database and returns a confirmation message.
[2247] Log in
[2248] The user enters their username and password into the login form and clicks the "Login" button. The device sends this information in JSON format to the server. The server parses the received JSON data and matches it with the user information in its database. If authentication is successful, the server generates a JWT token and sends it back to the device. This token is used to identify the user in subsequent requests.
[2249] As a concrete example, when a user logs in with the user name "Yamada Taro" and password "123", the server performs authentication, generates a JWT token and sends it back.
[2250] Join the community
[2251] The user selects the community they wish to join from the community list and clicks the "Join" button. The device sends the selected community ID to the server in JSON format. The server parses the received JSON data and retrieves entries related to the specified community ID from the database. It adds the authenticated user to the member list of the specified community and generates and returns a message indicating successful joining.
[2252] As a specific example, if the user wishes to join a "Diabetes Support Group," the server adds the user to the member list for this group and returns a successful join message.
[2253] Posting function
[2254] The user enters a message in the community chat box and clicks the "Post" button. The device sends the post content and community ID in JSON format to the server. The server parses the received JSON data and creates a new post object. After saving the user ID, community ID, and post content to a database, it generates a message saying "Post created successfully!" and sends it back to the device. The server also sends the post content to an emotion engine (e.g., IBM Watson, Google Cloud Natural Language API) for sentiment analysis.
[2255] For example, if a user posts "Please tell me how to manage my diabetes," the server stores this post in a database, requests the emotion engine for analysis, and returns a confirmation message.
[2256] Expert Feedback
[2257] The expert enters feedback for the target post and clicks the "Submit" button. The device sends the feedback and post ID in JSON format to the server. The server parses the received JSON data and creates a new feedback object. After saving the expert ID, post ID, and feedback in the database, it generates a message saying "Feedback provided successfully!" and sends it back to the device.
[2258] Furthermore, the server can provide a function to recommend optimal feedback to the expert based on the emotion analysis results obtained by the emotion engine.
[2259] For example, if an expert responds to a post asking "How do I manage my diabetes?" with feedback such as "Proper exercise and dietary management are important," the server will store this and send back a confirmation message.
[2260] This system allows patients to safely share information online and receive reliable feedback from experts. It also analyzes user sentiment and provides appropriate feedback and communication based on the results, improving user satisfaction and the quality of support.
[2261] Examples of prompt statements
[2262] Here are some example prompts for a generative AI model:
[2263] Prompt: "Describe an overview of a system that allows patients to connect with each other online, share information, and receive feedback from experts. This system includes features for user registration, login, community participation, posting, feedback from experts, and sentiment analysis using an emotion engine. Please specify the hardware and software used for each process in the system, as well as the type of data processing and calculations performed. Please also provide specific examples."
[2264] The flow of the identification process in the second embodiment will be described with reference to FIG.
[2265] User registration process steps
[2266] Step 1:
[2267] The user enters a user name, password, and email address in the user registration form and clicks the "Register" button.
[2268] Input: Username, Password, Email Address
[2269] Output: Request to send input information
[2270] Step 2:
[2271] The terminal sends the entered information to the server in JSON format.
[2272] Input: JSON data of username, password, and email address
[2273] Output: Sending input information
[2274] Step 3:
[2275] The server parses the received JSON data and creates a new user object.
[2276] Input: JSON data of username, password, and email address
[2277] Processing: Parse the JSON data and create a new user object
[2278] Output: User object
[2279] Step 4:
[2280] The server stores the username and email address as is in the database, and hashes the password and stores it securely.
[2281] Input: User object
[2282] Processing: Saving usernames, email addresses, hashing and storing passwords
[2283] Output: User information stored in the database
[2284] Step 5:
[2285] The server stores the new user information in a database and then generates a message saying "User successfully registered!" and sends it back to the terminal.
[2286] Input: User information
[2287] Output: Generate and send a confirmation message
[2288] Login process steps
[2289] Step 1:
[2290] The user enters the user name and password in the login form and clicks the "Login" button.
[2291] Input: Username, Password
[2292] Output: Request to send input information
[2293] Step 2:
[2294] The device sends this information to the server in JSON format.
[2295] Input: JSON data of username and password
[2296] Output: Sending input information
[2297] Step 3:
[2298] The server parses the received JSON data and matches it with the user information in its database.
[2299] Input: JSON data of username and password
[2300] Processing: Parse JSON data and match it with information in the database
[2301] Output: Authentication result
[2302] Step 4:
[2303] If authentication is successful, the server generates a JWT token and returns it to the device.
[2304] Input: Authentication result
[2305] Process: Generate JWT token
[2306] Output: JWT token
[2307] Community participation process steps
[2308] Step 1:
[2309] The user selects the community he or she wants to join from the community list and clicks the "Join" button.
[2310] Input: Selected Community ID
[2311] Output: Join request
[2312] Step 2:
[2313] The terminal sends the selected community ID to the server in JSON format.
[2314] Input: JSON data of community ID
[2315] Output: Sending input information
[2316] Step 3:
[2317] The server parses the received JSON data and retrieves entries related to the specified community ID from the database.
[2318] Input: JSON data of community ID
[2319] Processing: Parsing JSON data, retrieving entries from the database
[2320] Output: Community entries
[2321] Step 4:
[2322] The server adds the authenticated user to the member list of the specified community, generates a message indicating successful participation, and returns it to the terminal.
[2323] Input: Community entry, user information
[2324] Action: Update member list
[2325] Output: Join successful message
[2326] Post function processing steps
[2327] Step 1:
[2328] The user enters a message in the community chat box and clicks the "Post" button.
[2329] Input: Message content, community ID
[2330] Output: Post request...
Claims
1. means for receiving registration information and storing user information in a database; a means for receiving input authentication information and verifying it against user information in a database; means for generating and returning identification information to an authenticated user; means for receiving information about a community in which the user wishes to join and adding the authenticated user to a member list of the corresponding community; a means for receiving and storing user submissions in the community in a database; means for receiving expert feedback for a given post and storing it in a database; A system including:
2. 10. The system of claim 1, including encryption means for protecting personal information so that users can participate anonymously.
3. 10. The system of claim 1, wherein users can exchange information with each other and experts can provide reliable feedback on the information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A