system

The system addresses inefficiencies in finding hobby-based matches by automating user registration, validation, and communication, ensuring secure and efficient connections with users having common interests.

JP2026064771APending Publication Date: 2026-04-14SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SOFTBANK GROUP CORP
Filing Date
2024-10-02
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing systems require manual searching for partners with common hobbies, leading to inefficiency, complexity in user information management, and security concerns, making it difficult to find reliable matches quickly.

Method used

A system that includes user registration, information validation, hobby matching, and communication features, enabling automatic and secure connection with users sharing common interests through a server-based database and real-time messaging.

Benefits of technology

Facilitates easy and secure connections with users having common interests, reducing manual effort and enhancing user convenience by automating the matching process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026064771000001_ABST
    Figure 2026064771000001_ABST
Patent Text Reader

Abstract

We provide the system. [Solution] A means for receiving information for user registration, A means of sending the received information to the server, A means of validating information on a server and storing it in a database, A means of searching for other users with similar hobbies based on user information, A system that includes means for sending and receiving messages between users who share common interests.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

Background Art

[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In modern times, many people hope to connect with others who have common hobbies or interests by using the network. However, in the conventional method, since the user has to manually search for an appropriate partner from a vast amount of data, it takes time and effort. Also, there are problems with the management of user information, the reliability, and the security of data. As a result, there is a problem that it is difficult to quickly find a partner with common hobbies in a reliable way.

Means for Solving the Problems

[0005] To solve the aforementioned problems, the present invention provides the following means: a system including means for receiving information for user registration, means for transmitting the received information to a server, means for validating the information and storing it in a database on the server, means for searching for other users with common hobbies based on user information, and means for sending and receiving messages between users with common hobbies. This system enables users to find others with common hobbies automatically and reliably, reducing the effort of manual searching and enabling safe and efficient communication. Furthermore, the system includes means for editing or deleting user hobby information and means for notifying users of received messages, thereby enhancing user convenience.

[0006] A "user" refers to an individual or group that uses the system to register information and communicate with other users.

[0007] A "server" refers to a computer system that receives information sent by users, stores it in a database, and performs comparison searches with other user information as needed to provide the data.

[0008] A "terminal" is an input / output device that a user uses to access and operate a system, and usually refers to devices such as personal computers, smartphones, and tablets.

[0009] "Information" refers to data that users register in the system, such as their name, email address, password, age, gender, and hobbies.

[0010] A "database" refers to a recording medium or system that systematically organizes, stores, manages, and searches information collected from users.

[0011] "Validation" refers to the process of verifying that the entered information is accurate and conforms to specified formats and conditions.

[0012] "Searching" refers to the process of extracting information from a database based on specific criteria to find the necessary data.

[0013] A "message" refers to the content of communication that users exchange with each other within the system.

[0014] "Notification" refers to the act of the system informing the user about the arrival of a new message or other events.

[0015] The "chat function" refers to a feature that allows users to send and receive messages in real time. [Brief explanation of the drawing]

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

Mode for Carrying Out the Invention

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

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

[0019] In the following embodiments, a processor with a reference numeral (hereinafter simply referred to as "processor") may be a single arithmetic unit or a combination of a plurality of arithmetic units. Also, the processor may be a single type of arithmetic unit or a combination of a plurality of types of arithmetic units. Examples of arithmetic units include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), an APU (Accelerated Processing Unit), and the like.

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

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

[0022] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).

[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."

[0024] [First Embodiment]

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

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

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

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

[0029] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0031] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.

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

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

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

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

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

[0037] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0038] User registration and information entry

[0039] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[0040] Information storage and management

[0041] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[0042] Hobby matching

[0043] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[0044] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[0045] Notifications and Contacts

[0046] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[0047] Specific example

[0048] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0049] As described above, the present invention provides a means for users to easily find and contact people who share common interests. This significantly improves user convenience.

[0050] The following describes the processing flow.

[0051] Step 1:

[0052] The user accesses the system for the first time and clicks the "Register" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[0053] Step 2:

[0054] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[0055] Step 3:

[0056] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[0057] Step 4:

[0058] The server validates the received information. The validation checks the following points:

[0059] Are all required fields filled in?

[0060] Is the email address in the correct format?

[0061] Is the password strong enough?

[0062] Step 5:

[0063] If validation is successful, the server saves the user information to the database.

[0064] Step 6:

[0065] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[0066] Step 7:

[0067] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[0068] Step 8:

[0069] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[0070] Step 9:

[0071] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[0072] Step 10:

[0073] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[0074] Step 11:

[0075] A list of users with shared hobbies is sent to the device. The device then displays this information to the user.

[0076] Step 12:

[0077] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[0078] Step 13:

[0079] The server receives the message and saves it to the recipient user's account.

[0080] Step 14:

[0081] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[0082] In this way, the system of the present invention enables users to easily and securely connect and communicate with other users who share common interests.

[0083] (Example 1)

[0084] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0085] In modern society, there is a need for easy ways to connect with other users who share common interests. However, existing systems have complex user registration, information validation, and database management processes, making it difficult to efficiently match users with similar interests. Furthermore, insufficient real-time message notifications hinder the user experience.

[0086] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0087] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information from the terminal to the server, means for validating the information received by the server, means for storing the validated information in a database, means for searching for other users with common interests based on the stored user information, means for sending and receiving messages between users with common interests, means for sending notifications to the user, and means for notifying the user of messages in real time. This makes it possible for users to efficiently meet other users with common interests and communicate in real time.

[0088] "User registration" is the process by which users accessing the system create their own account and enter necessary information such as their name, email address, password, age, gender, and hobbies.

[0089] "Means of receiving information" refers to the function that allows the system to take in data entered by the user and proceed to the next step.

[0090] A "terminal" is a device (e.g., a personal computer, smartphone, tablet, etc.) used by a user to access a system, input information, and receive it.

[0091] A "server" is a central computer system that receives and processes information sent from user terminals and stores the necessary data in a database.

[0092] "Validation" is the process of verifying that the received information is accurate, complete, and conforms to the required format and content.

[0093] A "database" is a system that manages and stores user information and other necessary data in a structured format.

[0094] "A means of searching for other users with common hobbies" refers to a function in the system that automatically finds other users with the same hobbies based on information in the database.

[0095] "Means for sending and receiving messages" refers to the function that allows users to send and receive messages to and from other users within the system.

[0096] "Means of sending notifications" refers to a function that allows the system to inform the user of new messages or when users with similar interests have been found.

[0097] A "means of notifying messages in real time" refers to a system function that immediately informs the user when a new message arrives and displays that information.

[0098] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0099] User registration and information entry

[0100] The user accesses the system and opens a form for creating a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. Specifically, the terminal sends the data to the server's registration API endpoint using the HTTPS protocol.

[0101] Information storage and management

[0102] The server receives user information sent from the terminal. Next, the server validates the received information, checking that all required fields are filled in, the email address is in the correct format, and the password is strong enough. This validation process uses validator libraries such as Flask-WTF or Marshmallow. If validation is successful, the server uses SQLAlchemy to save the information to the PostgreSQL database. Similarly, if a user wishes to edit or delete their hobby information, they send a request to the server via the terminal, and the server handles it.

[0103] Hobby matching

[0104] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information using a JWT token or session ID, and if successful, starts a session for that user. Furthermore, the server uses Python's Pandas or Numpy libraries to search for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares the hobby information of each user and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal.

[0105] Notifications and Contacts

[0106] If the server finds other users with similar interests, it notifies the user's device of this information. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and executes an INSERT query against the database to store it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them. This notification process uses Socket.IO to notify messages in real time.

[0107] Specific example

[0108] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0109] Example of a prompt

[0110] For example, here is an example of a prompt message when using a generative AI model:

[0111] Enter into the system, "I want to find users who share my hobby of reading."

[0112] As described above, the system of the present invention provides users with a means to efficiently find people with common interests and communicate with them in real time. This significantly improves user convenience.

[0113] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0114] Program processing flow

[0115] Step 1: Enter information for user registration

[0116] The user accesses the system and opens the form to create a new account.

[0117] Input: Name, email address, password, age, gender, hobbies

[0118] Operation: The terminal renders a form to display this information and accepts user input.

[0119] Output: User input data

[0120] Step 2: Sending Information

[0121] The terminal sends the information entered by the user to the server.

[0122] Input: User input data

[0123] Operation: The device uses the HTTPS protocol to send data as a POST request to the server's registered API endpoint.

[0124] Output: User data received by the server

[0125] Step 3: Information Reception and Validation

[0126] The server receives user information sent from the terminal and performs validation.

[0127] Input: User data sent from the device

[0128] Operation: The server analyzes the data and validates it using validator libraries such as Flask-WTF and Marshmallow. Specifically, it checks whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough.

[0129] Output: Information indicating successful validation, or error messages.

[0130] Step 4: Save Data

[0131] The server saves the information that was successfully validated to the database.

[0132] Input: User information that has been successfully validated

[0133] Operation: The server uses SQLAlchemy to execute INSERT queries to insert information into the PostgreSQL database.

[0134] Output: Save success message or error message

[0135] Step 5: User Authentication

[0136] The authentication process when a user logs into the system

[0137] Input: Authentication information (e.g., email address and password)

[0138] Operation: The terminal sends these authentication credentials to the server, and the server verifies the received credentials using a JWT token or session ID. The authentication credentials are then matched against the database, and if successful, the session is started.

[0139] Output: Authentication success message and session token, or error message.

[0140] Step 6: Matching Hobbies

[0141] The server searches for other users with similar hobbies based on the user's hobby information stored in the database.

[0142] Input: Saved user information and hobby information

[0143] Operation: The server uses Python's Pandas and NumPy libraries to compare hobby information and calculate matching relevance. A search algorithm is then used to extract users who share the same hobbies.

[0144] Output: Optimal user list

[0145] Step 7: Notification of Matching Results

[0146] If the server finds other users with similar interests, it will notify the user of that information.

[0147] Input: Optimal user list

[0148] Operation: The server uses Socket.IO to send notifications in real time.

[0149] Output: Notification message displayed on the device

[0150] Step 8: Sending a message

[0151] A user sends a message to another user.

[0152] Input: Message content

[0153] Operation: The terminal inputs a message and sends it to the server. The server receives this message and executes an INSERT query to save it to the recipient user's account.

[0154] Output: Successful transmission message, email notification

[0155] Step 9: Receiving and displaying messages

[0156] The receiving user's device will display a notification for the new message.

[0157] Input: New message

[0158] Operation: The device receives notifications from the server and displays new messages in the chat interface.

[0159] Output: New message notification displayed to the user

[0160] The above outlines the processing flow of this system's program. By processing appropriate input data at each step and obtaining the expected output, users can efficiently match with other users who share similar interests and communicate with them.

[0161] (Application Example 1)

[0162] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0163] While the conventional system allowed users to easily connect online with other users who shared common interests, it lacked mechanisms to support direct interaction within physical facilities. As a result, opportunities for users to meet and interact directly with other customers who shared similar interests within the facilities were limited. Furthermore, there was a lack of concrete means for user notifications and communication within the facilities. Consequently, improvements in the customer experience and satisfaction within the facilities were not adequately achieved.

[0164] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0165] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common interests based on user information, means for sending and receiving messages between users with common interests, means for identifying and notifying other customers with common interests at a physical facility, and means for customers with common interests to interact directly with each other within the physical facility. This increases opportunities for customers with common interests to meet and interact directly with each other within the physical facility, thereby improving the customer experience and satisfaction.

[0166] "User registration information" refers to information such as name, email address, password, age, gender, and hobbies that a user enters when creating a new account in the system.

[0167] "Means for sending received information to the server" refers to data communication means for transferring registration information entered by the user to the server.

[0168] "Information validation" is the process by which a server verifies whether the user information it receives is in the correct format, whether all required fields are filled in, and whether the password is strong enough.

[0169] "Means of database storage" refers to methods for storing user information that has successfully passed validation into a database so that it can be searched and used later.

[0170] "Methods for searching for other users with common interests based on user information" refers to algorithms and processes that compare user information within a database to identify other users with shared interests.

[0171] "Means for sending and receiving messages between users with shared hobbies" refers to communication methods or interfaces within a system that allow users with shared hobbies to exchange messages.

[0172] A "physical facility" refers to a store or facility that a user can physically visit.

[0173] "A means of identifying and notifying other customers who share a common hobby" refers to a system that finds multiple customers with the same hobby within a physical facility and informs the user of that information.

[0174] "Means for customers with shared hobbies to interact directly within a physical facility" refers to methods or interfaces provided for customers with the same hobbies to engage in direct conversation and interaction within a physical facility.

[0175] This invention provides a system that allows users to directly interact with other users who share common interests within a store. The system receives user registration information, sends the received information to a server, and the server validates the information and stores it in a database. It also searches for other users with common interests based on the user information and enables the sending and receiving of messages between users with common interests. Furthermore, it includes a function to identify and notify other customers with common interests within the physical facility, providing a mechanism for customers with common interests to directly interact with each other within the facility.

[0176] Hardware and software

[0177] The system of the present invention uses the following hardware and software.

[0178] hardware

[0179] Smartphones and tablets (iOS, ANDROID®)

[0180] Touch panel terminals inside the store

[0181] software

[0182] Frontend: React Native (smartphone apps), React (web apps for touchscreen devices)

[0183] Backend: Node.js, Express.js, MongoDB (database)

[0184] Communication protocols: REST API, WebSocket (real-time communication)

[0185] Process Overview

[0186] 1. User registration and information entry

[0187] Users create a new account using a smartphone app or a touch-panel terminal in the store. This involves entering information such as name, email address, password, age, gender, and hobbies. Once the information is entered, it is sent from the terminal to the server.

[0188] 2. Information storage and management

[0189] The server validates the received user information, and if validation is successful, saves the information to the MongoDB database. Users can also edit or delete their hobby information later.

[0190] 3. Matching with others based on shared hobbies

[0191] When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. This uses an algorithm to calculate the degree of compatibility. Based on this compatibility, the user is notified of the matching results.

[0192] 4. Notifications and Interactions

[0193] If there are customers with shared hobbies within the physical facility, this information will be notified to the user's device. Upon receiving the notification, the user can start communicating with the other user using the in-app chat function. This system also provides areas and methods for direct interaction within the physical facility.

[0194] Specific example

[0195] For example, this system can be used in the social space of a large bookstore. Let's say customer A registers "reading" and "travel" as their hobbies, and another customer B registers "reading" and "music" as their hobbies. In this case, the system matches customers A and B based on their shared hobby of "reading." Next, the system notifies each of their terminals of this information, and customers A and B can interact directly in the store's cafe area.

[0196] Examples of prompts to input into a generative AI model

[0197] You are an engineer designing a smartphone app for connecting customers with similar hobbies within a physical store. The app will include user registration, information storage, hobby matching, notification, and communication features. The server will consist of Node.js and Express.js, and the database will be MongoDB. The app will be built with React Native and will use WebSocket for real-time communication. Please describe in detail how the app will match users with other customers and allow them to chat based on their registered hobbies.

[0198] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0199] Processing steps of a system that implements an application example

[0200] Step 1: User registration and information entry

[0201] Input: Users enter information such as their name, email address, password, age, gender, and hobbies using a smartphone app or a touch-panel terminal in the store.

[0202] Operation: The user enters the required information into the input form and presses the "Register" button.

[0203] Output: The terminal sends the entered information to the server.

[0204] Step 2: Information Validation

[0205] Input: User registration information sent from the device.

[0206] Operation: The server checks if the format of the received information is correct, verifies required fields, and validates password strength.

[0207] Output: After successful validation, user information is stored in the database. If there is any error data, an error message is sent back to the terminal.

[0208] Step 3: Saving to the database

[0209] Input: User information that has passed validation.

[0210] Operation: The server stores user information in a MongoDB database.

[0211] Output: The server will retain confirmation of successful saving and send notifications as needed.

[0212] Step 4: Matching Hobbies

[0213] Input: Multiple user information stored in the database.

[0214] Operation: When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. It uses an algorithm to calculate the degree of relevance.

[0215] Output: Generates a matching results list and sends it to the target user's terminal.

[0216] Step 5: Identify and notify customers with shared hobbies.

[0217] Input: A list of other users who share the same hobbies.

[0218] Operation: The server uses location services within the physical facility to check if the target user is inside the store. Based on the matching result, it verifies the location and notifies the user.

[0219] Output: Sends matching information and location information to the user's device.

[0220] Step 6: Sending and receiving messages

[0221] Input: The message entered by the user.

[0222] Operation: When a user presses the "Send Message" button within the app, the message is sent to the server. The server then forwards the received message to the intended user.

[0223] Output: The message is sent to the user's device and displayed on the chat screen.

[0224] Step 7: Direct interaction within the actual facility

[0225] Input: Notification information for users with shared hobbies.

[0226] Operation: Users check in-app notifications and head to areas within the physical facility where they can interact with other users who share similar interests (e.g., a cafe space).

[0227] Output: Users begin interacting directly with each other, and interactions within the physical facility begin.

[0228] This processing flow makes it possible to meet and interact directly with other customers who share common interests within the physical facility.

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

[0230] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication, and emotion recognition. The specific implementation methods for each function are described below.

[0231] User registration and information entry

[0232] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[0233] Information storage and management

[0234] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[0235] Hobby matching

[0236] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[0237] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[0238] Notifications and Contacts

[0239] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[0240] Emotion recognition and its use

[0241] The server is equipped with an additional emotion engine that analyzes user input and incoming / outgoing messages to recognize the user's emotions. For example, if a user types "I had a great time today!", the emotion engine recognizes this message as expressing a positive emotion.

[0242] The emotional information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing the matching of users with a high level of positive emotions, a more favorable match can be provided. It is also possible to send specific messages based on emotional information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent.

[0243] Specific example

[0244] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[0245] As described above, the present invention is a system that allows users to easily find people with common interests and further enables more personalized matching and communication by utilizing emotional information. This can significantly improve user convenience and satisfaction.

[0246] The following describes the processing flow.

[0247] Step 1:

[0248] The user accesses the system and clicks the "New Registration" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[0249] Step 2:

[0250] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[0251] Step 3:

[0252] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[0253] Step 4:

[0254] The server validates the received information. The validation checks the following points:

[0255] Are all required fields filled in?

[0256] Is the email address in the correct format?

[0257] Is the password strong enough?

[0258] Step 5:

[0259] If validation is successful, the server saves the user information to the database.

[0260] Step 6:

[0261] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[0262] Step 7:

[0263] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[0264] Step 8:

[0265] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[0266] Step 9:

[0267] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[0268] Step 10:

[0269] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[0270] Step 11:

[0271] The server sends a list of users with shared hobbies to the terminal. The terminal then displays this information to the user.

[0272] Step 12:

[0273] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[0274] Step 13:

[0275] The server receives the message and saves it to the recipient user's account.

[0276] Step 14:

[0277] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[0278] Step 15:

[0279] The server uses an emotion engine to analyze messages and input information sent by users. Natural language processing techniques are used for the analysis to evaluate the emotional tone (positive, negative, neutral) of the messages.

[0280] Step 16:

[0281] The server uses the user's emotional data analyzed by the emotion engine and incorporates it into the matching algorithm. For example, it prioritizes matching users with a high number of positive emotions.

[0282] Step 17:

[0283] Based on the emotional data, the server can send notifications under specific conditions. For example, when it is determined that the user is feeling stressed, a cheering message is sent.

[0284] By doing so, the system of the present invention enables the user to easily and securely connect with other users who have common hobbies, and furthermore, by utilizing emotional information, more personalized communication becomes possible.

[0285] (Example 2)

[0286] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart device 14 is referred to as the "terminal".

[0287] In the conventional user matching system, matching based on the user's hobby information is mainly carried out, and it is difficult to smooth the matching and communication considering the emotional aspect. As a result, there is a problem that the communication after matching does not proceed smoothly, and the user satisfaction and usage frequency decrease.

[0288] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving information for user registration, means for sending the received information to the server, means for validating and storing the information in the database in the server, means for searching for other users with common hobbies based on the user information, means for sending and receiving messages between users with common hobbies, means for analyzing the input information and the messages sent and received to recognize the user's emotion, means for using the emotional information in the matching algorithm, and means for sending a notification message based on a specific emotion. Thereby, matching considering emotional information in addition to the user's hobby becomes possible, and smoother and more satisfactory communication can be realized.

[0289] "User registration" refers to the process by which a user enters information such as their name, email address, password, and hobbies, and sends it to the server in order to begin using the system.

[0290] "Means of receiving information" refers to software functions, including interfaces and forms, for sending data entered by users to a server.

[0291] A "server" refers to a computer system that receives, processes, and stores information sent by users in a database.

[0292] "Validation" refers to the process of verifying whether the entered information meets the specified format and requirements.

[0293] A "database" refers to a digital storage system used to efficiently store, search, and manage collected user information.

[0294] "Shared hobbies" refer to activities or themes that multiple users share the same interests or concerns about.

[0295] "Matching" refers to the process by which the system searches for and suggests the most suitable other users based on their shared interests and other criteria.

[0296] "Sending and receiving messages" refers to the communication activity of sending and receiving text and other forms of information between users.

[0297] An "emotion engine" refers to a software module that analyzes input information and messages to detect and classify the user's emotional state.

[0298] "Emotional information" refers to data on the user's emotions as recognized by the emotion engine, and includes states such as positive, negative, and neutral.

[0299] A "notification message" refers to an informational message sent to a user based on a specific event or condition.

[0300] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication methods, and emotion recognition.

[0301] User registration and information entry

[0302] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. The hardware used includes a personal computer or smartphone for the user to access the system, and a corresponding internet connection. The software used includes a web browser or a dedicated application.

[0303] Information storage and management

[0304] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds. Databases used to store this information include, for example, MySQL® or PostgreSQL.

[0305] Hobby matching

[0306] When a user logs in to the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information and, if successful, starts the user's session. The server searches for other users with common hobbies based on the hobby information of the user stored in the database. The search algorithm compares the hobby information of each user and calculates the matching degree of the match. Based on this matching degree, a list of other optimal users for that user is generated and sent to the terminal. The algorithms applied include, for example, collaborative filtering used in recommendation systems.

[0307] Notifications and Communications

[0308] If the server finds other users with common hobbies, it notifies the user's terminal of that information. The user can receive the notification and use the chat function within the system to communicate with other users. Specifically, when a user wants to send a message to another user, the user enters the message on the terminal and sends it to the server. The server receives this message and stores it in the account of the destination user. The terminal of the receiving user notifies the user of the new message and displays it to the user. Generally, the WebSocket protocol is used for the chat function.

[0309] Emotion Recognition and Its Utilization

[0310] The server is equipped with an additional emotion engine that analyzes user input and sent / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine recognizes this message as representing a positive emotion. The emotion information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing matching users with a high level of positive emotions, a more favorable match can be provided. It is also possible to notify users of specific messages based on their emotion information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent. The emotion engine utilizes functions such as Google® Cloud Natural Language API and IBM Watson®.

[0311] Specific example

[0312] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[0313] Example of a prompt

[0314] Enter the following prompt message into the AI ​​model:

[0315] "Please describe a program for a system that easily connects users with shared interests based on information they have pre-entered. This system also incorporates an emotion engine that recognizes user emotions. Please explain, with specific examples, what hardware and software are used, and what data processing and calculations are performed."

[0316] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0317] Step 1:

[0318] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. The entered information is displayed in real time in the form's input fields. When the user presses the "Complete Input" button, the terminal sends all the information entered by the user to the server.

[0319] Input: User-provided data such as name, email address, password, age, gender, hobbies, etc.

[0320] Output: User information sent to the server after input is complete.

[0321] Step 2:

[0322] The server receives user information sent from the terminal. The server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. The validation process applies data format checks using regular expressions and password strength evaluation algorithms. If validation is successful, the server saves the user information to the database.

[0323] Input: User information sent from the device

[0324] Output: User information that passed validation is saved to the database.

[0325] Step 3:

[0326] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the received authentication information and checks if the email address and hashed password match the information in the database. If authentication is successful, the server starts a session for that user and issues a session ID.

[0327] Input: Email address and password entered by the user.

[0328] Output: Session ID if authentication is successful

[0329] Step 4:

[0330] The server searches for other users with similar interests based on the user's hobby information stored in the database. The server uses a specific algorithm (e.g., collaborative filtering) to compare each user's hobby information and calculate the degree of matching. Based on this degree of matching, it generates a list of the most suitable other users and sends it to the terminal.

[0331] Input: User hobby information in the database

[0332] Output: List of other users with high relevance

[0333] Step 5:

[0334] If the server finds other users with similar interests, it notifies the user's device of this information. The device displays the new notification to the user and provides access to the system's chat function. If the user wants to send a message to another user, the device types the message and sends it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them.

[0335] Input: Message from another user

[0336] Output: New message notification and display of message content

[0337] Step 6:

[0338] The server uses an additional emotion engine to analyze user input and transmitted / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine analyzes the characteristics of this message and detects a positive emotion. The recognized emotion information is also used in matching algorithms. For example, users with a high level of positive emotions can be preferentially matched with each other. It is also possible to send specific messages (e.g., relaxation messages) based on the emotion information.

[0339] Input: User input information and messages sent and received.

[0340] Output: Recognized positive, negative, and neutral emotional information

[0341] (Application Example 2)

[0342] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."

[0343] Traditional user matching systems relied solely on users' hobby information for matching, resulting in inconsistent matching accuracy and failing to adequately enhance user satisfaction. Furthermore, particularly in physical stores, there were insufficient means to facilitate real-time interaction between users, making it difficult to effectively connect users with shared interests. Additionally, the lack of matching features that considered user emotions prevented improvements in the quality of the user experience.

[0344] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing user input information and transmitted / received messages using an emotion engine that recognizes user emotions, and performing matching and message notifications based on emotion information; means for performing real-time matching based on common hobbies and emotions between customers in a physical store to promote interaction; means for receiving information for user registration; means for transmitting the received information to the server; means for the server to validate the information and store it in a database; means for searching for other users with common hobbies based on user information; and means for sending and receiving messages between users with common hobbies. As a result, it is possible to recognize user emotions and perform appropriate matching, promote interaction in physical stores, and improve the quality of the user experience.

[0345] 1. "User registration" is the process by which a user accesses the system, enters their information, and registers.

[0346] 2. "Means for receiving information" refers to functions or devices that receive information entered by a user within the system.

[0347] 3. "Means of sending to the server" refers to functions or devices that transfer information received from a user to a server via the internet or internal network.

[0348] 4. "Validation" is the process of checking and verifying the accuracy and format of the entered data.

[0349] 5. "Database storage" means recording and managing received data in a database.

[0350] 6. "Means for searching for other users with common hobbies" refers to functions or devices that find other users who have registered the same hobbies, based on the hobby information entered by the user.

[0351] 7. "Means for sending and receiving messages" refers to functions or devices for sending or receiving text messages between users.

[0352] 8. "Using an emotion engine to recognize emotions" refers to a device or algorithm that analyzes user input information and message content to extract the user's emotions from that information.

[0353] 9. "Matching" is the process of finding other compatible users based on a user's hobby and emotional information.

[0354] 10. "Means of notifying a message" refers to functions or devices that inform a user that they have received a message from another user.

[0355] 11. A "physical store" is a physical retail space, a place that customers visit in person.

[0356] 12. "Real-time matching" is a process that connects users on the spot without any time lag.

[0357] 13. "Means to facilitate interaction" refers to devices or functions that encourage active communication among users.

[0358] 14. "Hobby information" refers to information about activities and fields that users are interested in.

[0359] 15. "Messages sent and received" refers to the content of text and media communications exchanged between users.

[0360] This invention is a system that includes user registration, information validation and storage, hobby matching, message sending and receiving, emotion recognition, and real-time matching at stores. Specific examples of this system are shown below.

[0361] 1. User registration and information entry

[0362] Users use their smartphones to enter their name, email address, age, gender, hobbies, and mood information through an application. The device receives this information and sends it to the server.

[0363] 2. Information storage and management

[0364] The server validates the received user information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the information is saved to the database. Users can also edit or delete their hobby information, and these requests are sent from the terminal to the server.

[0365] 3. Matching with others based on shared hobbies

[0366] When a user logs into the system, the terminal sends authentication information to the server. The server verifies the authentication information, and if successful, starts a session. The server searches for other users with the same hobbies based on hobby information stored in the database. When users with common hobbies are found, the server sends a list of them to the terminal.

[0367] 4. Notifications and Communications

[0368] When the server finds a user with a shared hobby, it notifies the user's device. Users can send and receive messages with other users using the chat function. The server receives the message and stores it in the recipient user's account. The device notifies the user of new messages and displays them.

[0369] 5. Emotion Recognition and its Use

[0370] The server is equipped with an emotion engine that analyzes user input and sent / received messages to recognize emotions. For example, if a user inputs "I had a great time today!", it recognizes a positive emotion. Emotional information is also used in the matching algorithm, which prioritizes matching users with a high level of positive emotions.

[0371] 6. Real-time matching at physical stores

[0372] By using the app in physical stores, real-time matching between customers is possible. The server identifies users in the store and matches them based on shared interests and emotions. This promotes interaction among customers and increases customer satisfaction within the store.

[0373] Hardware and software to be used

[0374] Hardware: Smartphones, cloud servers

[0375] Software: Flask (Python), EmotionEngine (a provisional emotion recognition engine)

[0376] Specific example

[0377] If user A registers "reading" and "cycling" as hobbies and sends the message "I'm very happy today," the emotion engine recognizes this as a positive emotion. Based on this, the server prioritizes notifying user B, who shares "reading" as a hobby.

[0378] Examples of prompts for generative AI models

[0379] If a user who has registered "reading" and "cycling" as hobbies enters "I'm so happy today!", the emotion engine recognizes this as positive and notifies other users who share "reading" as a hobby. It may also send relaxing suggestion messages to that user.

[0380] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0381] Step 1:

[0382] The user accesses the application using their smartphone and opens a form to create a new account.

[0383] Input: Name, email address, age, gender, hobbies, mood information

[0384] Output: Sending input information from the terminal to the server.

[0385] Operation: The user enters the required information into the form and presses the submit button. The device sends this information to the server.

[0386] Step 2:

[0387] The server validates the received user information.

[0388] Input: User information sent from the device

[0389] Output: Validation results and database storage.

[0390] Operation: The server verifies that all required fields are filled in, that the email address format is correct, and that the password is strong enough. If validation is successful, the server saves the information to the database.

[0391] Step 3:

[0392] The user logs into the system.

[0393] Input: Authentication information (email address and password)

[0394] Output: Session started, user profile retrieved

[0395] Operation: The user enters their authentication information into the login form and sends it to the server. The server verifies the authentication information, and if successful, starts a session and retrieves the user's profile information.

[0396] Step 4:

[0397] The server searches for other users who share similar hobbies.

[0398] Input: Hobby information stored in the database

[0399] Output: List of users with common hobbies

[0400] Operation: The server searches for users with common hobbies based on hobby information stored in the database. It calculates the degree of compatibility and lists the most suitable users.

[0401] Step 5:

[0402] The server manages the sending and receiving of messages between users who share common interests.

[0403] Input: Message to send

[0404] Output: Message notification to recipient

[0405] Operation: When a user sends a message to another user, they type the message on their device and send it to the server. The server receives the message, stores it in the recipient's account, and sends a notification.

[0406] Step 6:

[0407] The emotion engine analyzes user input and sent / received messages to recognize emotions.

[0408] Input: User input information, message to send

[0409] Output: Analyzed emotional information (positive, negative, etc.)

[0410] Operation: The emotion engine installed on the server evaluates messages and input information to analyze the user's emotions. The results are then returned to the travel algorithm.

[0411] Step 7:

[0412] Based on emotional information, the system prioritizes matching users who share common interests.

[0413] Input: Analyzed emotional information, hobby information

[0414] Output: User matching results considering emotional information

[0415] Operation: The server applies the emotional information obtained from the emotion engine to a matching algorithm, prioritizing the matching of users with a high proportion of positive emotions. The results are then sent to the terminal.

[0416] Step 8:

[0417] Real-time matching between customers in physical stores.

[0418] Input: Location information, hobby information, and emotional information of customers collected at physical stores.

[0419] Output: Appropriate matching result

[0420] Operation: The server identifies users within the store and matches them in real time based on shared interests and emotional information. The results are notified to the user's device, promoting interaction between customers.

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

[0422] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0423] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.

[0424] [Second Embodiment]

[0425] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.

[0426] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0427] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0429] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0431] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0432] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[0435] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[0437] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0438] User registration and information entry

[0439] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[0440] Information storage and management

[0441] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[0442] Hobby matching

[0443] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[0444] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[0445] Notifications and Contacts

[0446] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[0447] Specific example

[0448] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0449] As described above, the present invention provides a means for users to easily find and contact people who share common interests. This significantly improves user convenience.

[0450] The following describes the processing flow.

[0451] Step 1:

[0452] The user accesses the system for the first time and clicks the "Register" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[0453] Step 2:

[0454] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[0455] Step 3:

[0456] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[0457] Step 4:

[0458] The server validates the received information. The validation checks the following points:

[0459] Are all required fields filled in?

[0460] Is the email address in the correct format?

[0461] Is the password strong enough?

[0462] Step 5:

[0463] If validation is successful, the server saves the user information to the database.

[0464] Step 6:

[0465] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[0466] Step 7:

[0467] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[0468] Step 8:

[0469] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[0470] Step 9:

[0471] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[0472] Step 10:

[0473] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[0474] Step 11:

[0475] A list of users with shared hobbies is sent to the device. The device then displays this information to the user.

[0476] Step 12:

[0477] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[0478] Step 13:

[0479] The server receives the message and saves it to the recipient user's account.

[0480] Step 14:

[0481] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[0482] In this way, the system of the present invention enables users to easily and securely connect and communicate with other users who share common interests.

[0483] (Example 1)

[0484] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0485] In modern society, there is a need for easy ways to connect with other users who share common interests. However, existing systems have complex user registration, information validation, and database management processes, making it difficult to efficiently match users with similar interests. Furthermore, insufficient real-time message notifications hinder the user experience.

[0486] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0487] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information from the terminal to the server, means for validating the information received by the server, means for storing the validated information in a database, means for searching for other users with common interests based on the stored user information, means for sending and receiving messages between users with common interests, means for sending notifications to the user, and means for notifying the user of messages in real time. This makes it possible for users to efficiently meet other users with common interests and communicate in real time.

[0488] "User registration" is the process by which users accessing the system create their own account and enter necessary information such as their name, email address, password, age, gender, and hobbies.

[0489] "Means of receiving information" refers to the function that allows the system to take in data entered by the user and proceed to the next step.

[0490] A "terminal" is a device (e.g., a personal computer, smartphone, tablet, etc.) used by a user to access a system, input information, and receive it.

[0491] A "server" is a central computer system that receives and processes information sent from user terminals and stores the necessary data in a database.

[0492] "Validation" is the process of verifying that the received information is accurate, complete, and conforms to the required format and content.

[0493] A "database" is a system that manages and stores user information and other necessary data in a structured format.

[0494] "A means of searching for other users with common hobbies" refers to a function in the system that automatically finds other users with the same hobbies based on information in the database.

[0495] "Means for sending and receiving messages" refers to the function that allows users to send and receive messages to and from other users within the system.

[0496] "Means of sending notifications" refers to a function that allows the system to inform the user of new messages or when users with similar interests have been found.

[0497] A "means of notifying messages in real time" refers to a system function that immediately informs the user when a new message arrives and displays that information.

[0498] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0499] User registration and information entry

[0500] The user accesses the system and opens a form for creating a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. Specifically, the terminal sends the data to the server's registration API endpoint using the HTTPS protocol.

[0501] Information storage and management

[0502] The server receives user information sent from the terminal. Next, the server validates the received information, checking that all required fields are filled in, the email address is in the correct format, and the password is strong enough. This validation process uses validator libraries such as Flask-WTF or Marshmallow. If validation is successful, the server uses SQLAlchemy to save the information to the PostgreSQL database. Similarly, if a user wishes to edit or delete their hobby information, they send a request to the server via the terminal, and the server handles it.

[0503] Hobby matching

[0504] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information using a JWT token or session ID, and if successful, starts a session for that user. Furthermore, the server uses Python's Pandas or Numpy libraries to search for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares the hobby information of each user and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal.

[0505] Notifications and Contacts

[0506] If the server finds other users with similar interests, it notifies the user's device of this information. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and executes an INSERT query against the database to store it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them. This notification process uses Socket.IO to notify messages in real time.

[0507] Specific example

[0508] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0509] Example of a prompt

[0510] For example, here is an example of a prompt message when using a generative AI model:

[0511] Enter into the system, "I want to find users who share my hobby of reading."

[0512] As described above, the system of the present invention provides users with a means to efficiently find people with common interests and communicate with them in real time. This significantly improves user convenience.

[0513] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0514] Program processing flow

[0515] Step 1: Enter information for user registration

[0516] The user accesses the system and opens the form to create a new account.

[0517] Input: Name, email address, password, age, gender, hobbies

[0518] Operation: The terminal renders a form to display this information and accepts user input.

[0519] Output: User input data

[0520] Step 2: Sending Information

[0521] The terminal sends the information entered by the user to the server.

[0522] Input: User input data

[0523] Operation: The device uses the HTTPS protocol to send data as a POST request to the server's registered API endpoint.

[0524] Output: User data received by the server

[0525] Step 3: Information Reception and Validation

[0526] The server receives user information sent from the terminal and performs validation.

[0527] Input: User data sent from the device

[0528] Operation: The server analyzes the data and validates it using validator libraries such as Flask-WTF and Marshmallow. Specifically, it checks whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough.

[0529] Output: Information indicating successful validation, or error messages.

[0530] Step 4: Save Data

[0531] The server saves the information that was successfully validated to the database.

[0532] Input: User information that has been successfully validated

[0533] Operation: The server uses SQLAlchemy to execute INSERT queries to insert information into the PostgreSQL database.

[0534] Output: Save success message or error message

[0535] Step 5: User Authentication

[0536] The authentication process when a user logs into the system

[0537] Input: Authentication information (e.g., email address and password)

[0538] Operation: The terminal sends these authentication credentials to the server, and the server verifies the received credentials using a JWT token or session ID. The authentication credentials are then matched against the database, and if successful, the session is started.

[0539] Output: Authentication success message and session token, or error message.

[0540] Step 6: Matching Hobbies

[0541] The server searches for other users with similar hobbies based on the user's hobby information stored in the database.

[0542] Input: Saved user information and hobby information

[0543] Operation: The server uses Python's Pandas and NumPy libraries to compare hobby information and calculate matching relevance. A search algorithm is then used to extract users who share the same hobbies.

[0544] Output: Optimal user list

[0545] Step 7: Notification of Matching Results

[0546] If the server finds other users with similar interests, it will notify the user of that information.

[0547] Input: Optimal user list

[0548] Operation: The server uses Socket.IO to send notifications in real time.

[0549] Output: Notification message displayed on the device

[0550] Step 8: Sending a message

[0551] A user sends a message to another user.

[0552] Input: Message content

[0553] Operation: The terminal inputs a message and sends it to the server. The server receives this message and executes an INSERT query to save it to the recipient user's account.

[0554] Output: Successful transmission message, email notification

[0555] Step 9: Receiving and displaying messages

[0556] The receiving user's device will display a notification for the new message.

[0557] Input: New message

[0558] Operation: The device receives notifications from the server and displays new messages in the chat interface.

[0559] Output: New message notification displayed to the user

[0560] The above outlines the processing flow of this system's program. By processing appropriate input data at each step and obtaining the expected output, users can efficiently match with other users who share similar interests and communicate with them.

[0561] (Application Example 1)

[0562] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0563] While the conventional system allowed users to easily connect online with other users who shared common interests, it lacked mechanisms to support direct interaction within physical facilities. As a result, opportunities for users to meet and interact directly with other customers who shared similar interests within the facilities were limited. Furthermore, there was a lack of concrete means for user notifications and communication within the facilities. Consequently, improvements in the customer experience and satisfaction within the facilities were not adequately achieved.

[0564] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0565] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common interests based on user information, means for sending and receiving messages between users with common interests, means for identifying and notifying other customers with common interests at a physical facility, and means for customers with common interests to interact directly with each other within the physical facility. This increases opportunities for customers with common interests to meet and interact directly with each other within the physical facility, thereby improving the customer experience and satisfaction.

[0566] "User registration information" refers to information such as name, email address, password, age, gender, and hobbies that a user enters when creating a new account in the system.

[0567] "Means for sending received information to the server" refers to data communication means for transferring registration information entered by the user to the server.

[0568] "Information validation" is the process by which a server verifies whether the user information it receives is in the correct format, whether all required fields are filled in, and whether the password is strong enough.

[0569] "Means of database storage" refers to methods for storing user information that has successfully passed validation into a database so that it can be searched and used later.

[0570] "Methods for searching for other users with common interests based on user information" refers to algorithms and processes that compare user information within a database to identify other users with shared interests.

[0571] "Means for sending and receiving messages between users with shared hobbies" refers to communication methods or interfaces within a system that allow users with shared hobbies to exchange messages.

[0572] A "physical facility" refers to a store or facility that a user can physically visit.

[0573] "A means of identifying and notifying other customers who share a common hobby" refers to a system that finds multiple customers with the same hobby within a physical facility and informs the user of that information.

[0574] "Means for customers with shared hobbies to interact directly within a physical facility" refers to methods or interfaces provided for customers with the same hobbies to engage in direct conversation and interaction within a physical facility.

[0575] This invention provides a system that allows users to directly interact with other users who share common interests within a store. The system receives user registration information, sends the received information to a server, and the server validates the information and stores it in a database. It also searches for other users with common interests based on the user information and enables the sending and receiving of messages between users with common interests. Furthermore, it includes a function to identify and notify other customers with common interests within the physical facility, providing a mechanism for customers with common interests to directly interact with each other within the facility.

[0576] Hardware and software

[0577] The system of the present invention uses the following hardware and software.

[0578] hardware

[0579] Smartphones, tablets (iOS, Android)

[0580] Touch panel terminals inside the store

[0581] software

[0582] Frontend: React Native (smartphone apps), React (web apps for touchscreen devices)

[0583] Backend: Node.js, Express.js, MongoDB (database)

[0584] Communication protocols: REST API, WebSocket (real-time communication)

[0585] Process Overview

[0586] 1. User registration and information entry

[0587] Users create a new account using a smartphone app or a touch-panel terminal in the store. This involves entering information such as name, email address, password, age, gender, and hobbies. Once the information is entered, it is sent from the terminal to the server.

[0588] 2. Information storage and management

[0589] The server validates the received user information, and if validation is successful, saves the information to the MongoDB database. Users can also edit or delete their hobby information later.

[0590] 3. Matching with others based on shared hobbies

[0591] When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. This uses an algorithm to calculate the degree of compatibility. Based on this compatibility, the user is notified of the matching results.

[0592] 4. Notifications and Interactions

[0593] If there are customers with shared hobbies within the physical facility, this information will be notified to the user's device. Upon receiving the notification, the user can start communicating with the other user using the in-app chat function. This system also provides areas and methods for direct interaction within the physical facility.

[0594] Specific example

[0595] For example, this system can be used in the social space of a large bookstore. Let's say customer A registers "reading" and "travel" as their hobbies, and another customer B registers "reading" and "music" as their hobbies. In this case, the system matches customers A and B based on their shared hobby of "reading." Next, the system notifies each of their terminals of this information, and customers A and B can interact directly in the store's cafe area.

[0596] Examples of prompts to input into a generative AI model

[0597] You are an engineer designing a smartphone app for connecting customers with similar hobbies within a physical store. The app will include user registration, information storage, hobby matching, notification, and communication features. The server will consist of Node.js and Express.js, and the database will be MongoDB. The app will be built with React Native and will use WebSocket for real-time communication. Please describe in detail how the app will match users with other customers and allow them to chat based on their registered hobbies.

[0598] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0599] Processing steps of a system that implements an application example

[0600] Step 1: User registration and information entry

[0601] Input: Users enter information such as their name, email address, password, age, gender, and hobbies using a smartphone app or a touch-panel terminal in the store.

[0602] Operation: The user enters the required information into the input form and presses the "Register" button.

[0603] Output: The terminal sends the entered information to the server.

[0604] Step 2: Information Validation

[0605] Input: User registration information sent from the device.

[0606] Operation: The server checks if the format of the received information is correct, verifies required fields, and validates password strength.

[0607] Output: After successful validation, user information is stored in the database. If there is any error data, an error message is sent back to the terminal.

[0608] Step 3: Saving to the database

[0609] Input: User information that has passed validation.

[0610] Operation: The server stores user information in a MongoDB database.

[0611] Output: The server will retain confirmation of successful saving and send notifications as needed.

[0612] Step 4: Matching Hobbies

[0613] Input: Multiple user information stored in the database.

[0614] Operation: When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. It uses an algorithm to calculate the degree of relevance.

[0615] Output: Generates a matching results list and sends it to the target user's terminal.

[0616] Step 5: Identify and notify customers with shared hobbies.

[0617] Input: A list of other users who share the same hobbies.

[0618] Operation: The server uses location services within the physical facility to check if the target user is inside the store. Based on the matching result, it verifies the location and notifies the user.

[0619] Output: Sends matching information and location information to the user's device.

[0620] Step 6: Sending and receiving messages

[0621] Input: The message entered by the user.

[0622] Operation: When a user presses the "Send Message" button within the app, the message is sent to the server. The server then forwards the received message to the intended user.

[0623] Output: The message is sent to the user's device and displayed on the chat screen.

[0624] Step 7: Direct interaction within the actual facility

[0625] Input: Notification information for users with shared hobbies.

[0626] Operation: Users check in-app notifications and head to areas within the physical facility where they can interact with other users who share similar interests (e.g., a cafe space).

[0627] Output: Users begin interacting directly with each other, and interactions within the physical facility begin.

[0628] This processing flow makes it possible to meet and interact directly with other customers who share common interests within the physical facility.

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

[0630] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication, and emotion recognition. The specific implementation methods for each function are described below.

[0631] User registration and information entry

[0632] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[0633] Information storage and management

[0634] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[0635] Hobby matching

[0636] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[0637] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[0638] Notifications and Contacts

[0639] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[0640] Emotion recognition and its use

[0641] The server is equipped with an additional emotion engine that analyzes user input and incoming / outgoing messages to recognize the user's emotions. For example, if a user types "I had a great time today!", the emotion engine recognizes this message as expressing a positive emotion.

[0642] The emotional information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing the matching of users with a high level of positive emotions, a more favorable match can be provided. It is also possible to send specific messages based on emotional information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent.

[0643] Specific example

[0644] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[0645] As described above, the present invention is a system that allows users to easily find people with common interests and further enables more personalized matching and communication by utilizing emotional information. This can significantly improve user convenience and satisfaction.

[0646] The following describes the processing flow.

[0647] Step 1:

[0648] The user accesses the system and clicks the "New Registration" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[0649] Step 2:

[0650] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[0651] Step 3:

[0652] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[0653] Step 4:

[0654] The server validates the received information. The validation checks the following points:

[0655] Are all required fields filled in?

[0656] Is the email address in the correct format?

[0657] Is the password strong enough?

[0658] Step 5:

[0659] If validation is successful, the server saves the user information to the database.

[0660] Step 6:

[0661] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[0662] Step 7:

[0663] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[0664] Step 8:

[0665] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[0666] Step 9:

[0667] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[0668] Step 10:

[0669] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[0670] Step 11:

[0671] The server sends a list of users with shared hobbies to the terminal. The terminal then displays this information to the user.

[0672] Step 12:

[0673] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[0674] Step 13:

[0675] The server receives the message and saves it to the recipient user's account.

[0676] Step 14:

[0677] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[0678] Step 15:

[0679] The server uses an emotion engine to analyze messages and input information sent by users. Natural language processing techniques are used for the analysis to evaluate the emotional tone (positive, negative, neutral) of the messages.

[0680] Step 16:

[0681] The server uses the user's emotional data analyzed by the emotion engine and incorporates it into the matching algorithm. For example, it prioritizes matching users with a high number of positive emotions.

[0682] Step 17:

[0683] Based on emotional data, the server can send notifications under specific conditions. For example, if it determines that a user is feeling stressed, it can send a message of encouragement.

[0684] In this way, the system of the present invention allows users to easily and securely connect with other users who share common interests, and further enables more personalized communication by utilizing emotional information.

[0685] (Example 2)

[0686] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal".

[0687] Traditional user matching systems primarily relied on matching users based on their hobbies and interests, making it difficult to consider emotional aspects and facilitate smooth communication. As a result, interactions after matching were often unsuccessful, leading to decreased user satisfaction and usage frequency.

[0688] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common hobbies based on user information, means for sending and receiving messages between users with common hobbies, means for analyzing input information and messages sent and received to recognize the user's emotions, means for using the emotion information in a matching algorithm, and means for sending notification messages based on specific emotions. This makes it possible to match users considering not only their hobbies but also their emotions, enabling smoother and more satisfying communication.

[0689] "User registration" refers to the process by which a user enters information such as their name, email address, password, and hobbies, and sends it to the server in order to begin using the system.

[0690] "Means of receiving information" refers to software functions, including interfaces and forms, for sending data entered by users to a server.

[0691] A "server" refers to a computer system that receives, processes, and stores information sent by users in a database.

[0692] "Validation" refers to the process of verifying whether the entered information meets the specified format and requirements.

[0693] A "database" refers to a digital storage system used to efficiently store, search, and manage collected user information.

[0694] "Shared hobbies" refer to activities or themes that multiple users share the same interests or concerns about.

[0695] "Matching" refers to the process by which the system searches for and suggests the most suitable other users based on their shared interests and other criteria.

[0696] "Sending and receiving messages" refers to the communication activity of sending and receiving text and other forms of information between users.

[0697] An "emotion engine" refers to a software module that analyzes input information and messages to detect and classify the user's emotional state.

[0698] "Emotional information" refers to data on the user's emotions as recognized by the emotion engine, and includes states such as positive, negative, and neutral.

[0699] A "notification message" refers to an informational message sent to a user based on a specific event or condition.

[0700] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication methods, and emotion recognition.

[0701] User registration and information entry

[0702] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. The hardware used includes a personal computer or smartphone for the user to access the system, and a corresponding internet connection. The software used includes a web browser or a dedicated application.

[0703] Information storage and management

[0704] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wants to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds. Databases such as MySQL and PostgreSQL are used to store the information.

[0705] Hobby matching

[0706] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts the user's session. Based on the user's hobby information stored in the database, the server searches for other users with similar hobbies. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal. The algorithm applied may include collaborative filtering, which is used in recommendation systems, for example.

[0707] Notifications and Contacts

[0708] If the server finds other users with similar interests, it notifies the user's device of this information. The user receives the notification and can contact the other user using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies them of the new message and displays it. The chat function generally uses the WebSocket protocol.

[0709] Emotion recognition and its use

[0710] The server is equipped with an additional emotion engine that analyzes user input and sent / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine recognizes this message as representing a positive emotion. The emotion information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing matching users with a high number of positive emotions, a more favorable match can be provided. It is also possible to notify users of specific messages based on their emotion information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent. The emotion engine utilizes functions such as the Google Cloud Natural Language API and IBM Watson.

[0711] Specific example

[0712] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[0713] Example of a prompt

[0714] Enter the following prompt message into the AI ​​model:

[0715] "Please describe a program for a system that easily connects users with shared interests based on information they have pre-entered. This system also incorporates an emotion engine that recognizes user emotions. Please explain, with specific examples, what hardware and software are used, and what data processing and calculations are performed."

[0716] The flow of the specific processing in Example 2 will be explained using Figure 13.

[0717] Step 1:

[0718] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. The entered information is displayed in real time in the form's input fields. When the user presses the "Complete Input" button, the terminal sends all the information entered by the user to the server.

[0719] Input: User-provided data such as name, email address, password, age, gender, hobbies, etc.

[0720] Output: User information sent to the server after input is complete.

[0721] Step 2:

[0722] The server receives user information sent from the terminal. The server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. The validation process applies data format checks using regular expressions and password strength evaluation algorithms. If validation is successful, the server saves the user information to the database.

[0723] Input: User information sent from the device

[0724] Output: User information that passed validation is saved to the database.

[0725] Step 3:

[0726] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the received authentication information and checks if the email address and hashed password match the information in the database. If authentication is successful, the server starts a session for that user and issues a session ID.

[0727] Input: Email address and password entered by the user.

[0728] Output: Session ID if authentication is successful

[0729] Step 4:

[0730] The server searches for other users with similar interests based on the user's hobby information stored in the database. The server uses a specific algorithm (e.g., collaborative filtering) to compare each user's hobby information and calculate the degree of matching. Based on this degree of matching, it generates a list of the most suitable other users and sends it to the terminal.

[0731] Input: User hobby information in the database

[0732] Output: List of other users with high relevance

[0733] Step 5:

[0734] If the server finds other users with similar interests, it notifies the user's device of this information. The device displays the new notification to the user and provides access to the system's chat function. If the user wants to send a message to another user, the device types the message and sends it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them.

[0735] Input: Message from another user

[0736] Output: New message notification and display of message content

[0737] Step 6:

[0738] The server uses an additional emotion engine to analyze user input and transmitted / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine analyzes the characteristics of this message and detects a positive emotion. The recognized emotion information is also used in matching algorithms. For example, users with a high level of positive emotions can be preferentially matched with each other. It is also possible to send specific messages (e.g., relaxation messages) based on the emotion information.

[0739] Input: User input information and messages sent and received.

[0740] Output: Recognized positive, negative, and neutral emotional information

[0741] (Application Example 2)

[0742] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."

[0743] Traditional user matching systems relied solely on users' hobby information for matching, resulting in inconsistent matching accuracy and failing to adequately enhance user satisfaction. Furthermore, particularly in physical stores, there were insufficient means to facilitate real-time interaction between users, making it difficult to effectively connect users with shared interests. Additionally, the lack of matching features that considered user emotions prevented improvements in the quality of the user experience.

[0744] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing user input information and transmitted / received messages using an emotion engine that recognizes user emotions, and performing matching and message notifications based on emotion information; means for performing real-time matching based on common hobbies and emotions between customers in a physical store to promote interaction; means for receiving information for user registration; means for transmitting the received information to the server; means for the server to validate the information and store it in a database; means for searching for other users with common hobbies based on user information; and means for sending and receiving messages between users with common hobbies. As a result, it is possible to recognize user emotions and perform appropriate matching, promote interaction in physical stores, and improve the quality of the user experience.

[0745] 1. "User registration" is the process by which a user accesses the system, enters their information, and registers.

[0746] 2. "Means for receiving information" refers to functions or devices that receive information entered by a user within the system.

[0747] 3. "Means of sending to the server" refers to functions or devices that transfer information received from a user to a server via the internet or internal network.

[0748] 4. "Validation" is the process of checking and verifying the accuracy and format of the entered data.

[0749] 5. "Database storage" means recording and managing received data in a database.

[0750] 6. "Means for searching for other users with common hobbies" refers to functions or devices that find other users who have registered the same hobbies, based on the hobby information entered by the user.

[0751] 7. "Means for sending and receiving messages" refers to functions or devices for sending or receiving text messages between users.

[0752] 8. "Using an emotion engine to recognize emotions" refers to a device or algorithm that analyzes user input information and message content to extract the user's emotions from that information.

[0753] 9. "Matching" is the process of finding other compatible users based on a user's hobby and emotional information.

[0754] 10. "Means of notifying a message" refers to functions or devices that inform a user that they have received a message from another user.

[0755] 11. A "physical store" is a physical retail space, a place that customers visit in person.

[0756] 12. "Real-time matching" is a process that connects users on the spot without any time lag.

[0757] 13. "Means to facilitate interaction" refers to devices or functions that encourage active communication among users.

[0758] 14. "Hobby information" refers to information about activities and fields that users are interested in.

[0759] 15. "Messages sent and received" refers to the content of text and media communications exchanged between users.

[0760] This invention is a system that includes user registration, information validation and storage, hobby matching, message sending and receiving, emotion recognition, and real-time matching at stores. Specific examples of this system are shown below.

[0761] 1. User registration and information entry

[0762] Users use their smartphones to enter their name, email address, age, gender, hobbies, and mood information through an application. The device receives this information and sends it to the server.

[0763] 2. Information storage and management

[0764] The server validates the received user information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the information is saved to the database. Users can also edit or delete their hobby information, and these requests are sent from the terminal to the server.

[0765] 3. Matching with others based on shared hobbies

[0766] When a user logs into the system, the terminal sends authentication information to the server. The server verifies the authentication information, and if successful, starts a session. The server searches for other users with the same hobbies based on hobby information stored in the database. When users with common hobbies are found, the server sends a list of them to the terminal.

[0767] 4. Notifications and Communications

[0768] When the server finds a user with a shared hobby, it notifies the user's device. Users can send and receive messages with other users using the chat function. The server receives the message and stores it in the recipient user's account. The device notifies the user of new messages and displays them.

[0769] 5. Emotion Recognition and its Use

[0770] The server is equipped with an emotion engine that analyzes user input and sent / received messages to recognize emotions. For example, if a user inputs "I had a great time today!", it recognizes a positive emotion. Emotional information is also used in the matching algorithm, which prioritizes matching users with a high level of positive emotions.

[0771] 6. Real-time matching at physical stores

[0772] By using the app in physical stores, real-time matching between customers is possible. The server identifies users in the store and matches them based on shared interests and emotions. This promotes interaction among customers and increases customer satisfaction within the store.

[0773] Hardware and software to be used

[0774] Hardware: Smartphones, cloud servers

[0775] Software: Flask (Python), EmotionEngine (a provisional emotion recognition engine)

[0776] Specific example

[0777] If user A registers "reading" and "cycling" as hobbies and sends the message "I'm very happy today," the emotion engine recognizes this as a positive emotion. Based on this, the server prioritizes notifying user B, who shares "reading" as a hobby.

[0778] Examples of prompts for generative AI models

[0779] If a user who has registered "reading" and "cycling" as hobbies enters "I'm so happy today!", the emotion engine recognizes this as positive and notifies other users who share "reading" as a hobby. It may also send relaxing suggestion messages to that user.

[0780] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[0781] Step 1:

[0782] The user accesses the application using their smartphone and opens a form to create a new account.

[0783] Input: Name, email address, age, gender, hobbies, mood information

[0784] Output: Sending input information from the terminal to the server.

[0785] Operation: The user enters the required information into the form and presses the submit button. The device sends this information to the server.

[0786] Step 2:

[0787] The server validates the received user information.

[0788] Input: User information sent from the device

[0789] Output: Validation results and database storage.

[0790] Operation: The server verifies that all required fields are filled in, that the email address format is correct, and that the password is strong enough. If validation is successful, the server saves the information to the database.

[0791] Step 3:

[0792] The user logs into the system.

[0793] Input: Authentication information (email address and password)

[0794] Output: Session started, user profile retrieved

[0795] Operation: The user enters their authentication information into the login form and sends it to the server. The server verifies the authentication information, and if successful, starts a session and retrieves the user's profile information.

[0796] Step 4:

[0797] The server searches for other users who share similar hobbies.

[0798] Input: Hobby information stored in the database

[0799] Output: List of users with common hobbies

[0800] Operation: The server searches for users with common hobbies based on hobby information stored in the database. It calculates the degree of compatibility and lists the most suitable users.

[0801] Step 5:

[0802] The server manages the sending and receiving of messages between users who share common interests.

[0803] Input: Message to send

[0804] Output: Message notification to recipient

[0805] Operation: When a user sends a message to another user, they type the message on their device and send it to the server. The server receives the message, stores it in the recipient's account, and sends a notification.

[0806] Step 6:

[0807] The emotion engine analyzes user input and sent / received messages to recognize emotions.

[0808] Input: User input information, message to send

[0809] Output: Analyzed emotional information (positive, negative, etc.)

[0810] Operation: The emotion engine installed on the server evaluates messages and input information to analyze the user's emotions. The results are then returned to the travel algorithm.

[0811] Step 7:

[0812] Based on emotional information, the system prioritizes matching users who share common interests.

[0813] Input: Analyzed emotional information, hobby information

[0814] Output: User matching results considering emotional information

[0815] Operation: The server applies the emotional information obtained from the emotion engine to a matching algorithm, prioritizing the matching of users with a high proportion of positive emotions. The results are then sent to the terminal.

[0816] Step 8:

[0817] Real-time matching between customers in physical stores.

[0818] Input: Location information, hobby information, and emotional information of customers collected at physical stores.

[0819] Output: Appropriate matching result

[0820] Operation: The server identifies users within the store and matches them in real time based on shared interests and emotional information. The results are notified to the user's device, promoting interaction between customers.

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

[0822] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0823] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.

[0824] [Third Embodiment]

[0825] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.

[0826] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0827] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

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

[0829] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[0831] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[0832] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[0835] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

[0836] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".

[0837] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0838] User registration and information entry

[0839] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[0840] Information storage and management

[0841] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[0842] Hobby matching

[0843] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[0844] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[0845] Notifications and Contacts

[0846] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[0847] Specific example

[0848] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0849] As described above, the present invention provides a means for users to easily find and contact people who share common interests. This significantly improves user convenience.

[0850] The following describes the processing flow.

[0851] Step 1:

[0852] The user accesses the system for the first time and clicks the "Register" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[0853] Step 2:

[0854] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[0855] Step 3:

[0856] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[0857] Step 4:

[0858] The server validates the received information. The validation checks the following points:

[0859] Are all required fields filled in?

[0860] Is the email address in the correct format?

[0861] Is the password strong enough?

[0862] Step 5:

[0863] If validation is successful, the server saves the user information to the database.

[0864] Step 6:

[0865] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[0866] Step 7:

[0867] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[0868] Step 8:

[0869] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[0870] Step 9:

[0871] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[0872] Step 10:

[0873] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[0874] Step 11:

[0875] A list of users with shared hobbies is sent to the device. The device then displays this information to the user.

[0876] Step 12:

[0877] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[0878] Step 13:

[0879] The server receives the message and saves it to the recipient user's account.

[0880] Step 14:

[0881] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[0882] In this way, the system of the present invention enables users to easily and securely connect and communicate with other users who share common interests.

[0883] (Example 1)

[0884] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0885] In modern society, there is a need for easy ways to connect with other users who share common interests. However, existing systems have complex user registration, information validation, and database management processes, making it difficult to efficiently match users with similar interests. Furthermore, insufficient real-time message notifications hinder the user experience.

[0886] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[0887] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information from the terminal to the server, means for validating the information received by the server, means for storing the validated information in a database, means for searching for other users with common interests based on the stored user information, means for sending and receiving messages between users with common interests, means for sending notifications to the user, and means for notifying the user of messages in real time. This makes it possible for users to efficiently meet other users with common interests and communicate in real time.

[0888] "User registration" is the process by which users accessing the system create their own account and enter necessary information such as their name, email address, password, age, gender, and hobbies.

[0889] "Means of receiving information" refers to the function that allows the system to take in data entered by the user and proceed to the next step.

[0890] A "terminal" is a device (e.g., a personal computer, smartphone, tablet, etc.) used by a user to access a system, input information, and receive it.

[0891] A "server" is a central computer system that receives and processes information sent from user terminals and stores the necessary data in a database.

[0892] "Validation" is the process of verifying that the received information is accurate, complete, and conforms to the required format and content.

[0893] A "database" is a system that manages and stores user information and other necessary data in a structured format.

[0894] "A means of searching for other users with common hobbies" refers to a function in the system that automatically finds other users with the same hobbies based on information in the database.

[0895] "Means for sending and receiving messages" refers to the function that allows users to send and receive messages to and from other users within the system.

[0896] "Means of sending notifications" refers to a function that allows the system to inform the user of new messages or when users with similar interests have been found.

[0897] A "means of notifying messages in real time" refers to a system function that immediately informs the user when a new message arrives and displays that information.

[0898] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[0899] User registration and information entry

[0900] The user accesses the system and opens a form for creating a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. Specifically, the terminal sends the data to the server's registration API endpoint using the HTTPS protocol.

[0901] Information storage and management

[0902] The server receives user information sent from the terminal. Next, the server validates the received information, checking that all required fields are filled in, the email address is in the correct format, and the password is strong enough. This validation process uses validator libraries such as Flask-WTF or Marshmallow. If validation is successful, the server uses SQLAlchemy to save the information to the PostgreSQL database. Similarly, if a user wishes to edit or delete their hobby information, they send a request to the server via the terminal, and the server handles it.

[0903] Hobby matching

[0904] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information using a JWT token or session ID, and if successful, starts a session for that user. Furthermore, the server uses Python's Pandas or Numpy libraries to search for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares the hobby information of each user and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal.

[0905] Notifications and Contacts

[0906] If the server finds other users with similar interests, it notifies the user's device of this information. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and executes an INSERT query against the database to store it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them. This notification process uses Socket.IO to notify messages in real time.

[0907] Specific example

[0908] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[0909] Example of a prompt

[0910] For example, here is an example of a prompt message when using a generative AI model:

[0911] Enter into the system, "I want to find users who share my hobby of reading."

[0912] As described above, the system of the present invention provides users with a means to efficiently find people with common interests and communicate with them in real time. This significantly improves user convenience.

[0913] The flow of the specific processing in Example 1 will be explained using Figure 11.

[0914] Program processing flow

[0915] Step 1: Enter information for user registration

[0916] The user accesses the system and opens the form to create a new account.

[0917] Input: Name, email address, password, age, gender, hobbies

[0918] Operation: The terminal renders a form to display this information and accepts user input.

[0919] Output: User input data

[0920] Step 2: Sending Information

[0921] The terminal sends the information entered by the user to the server.

[0922] Input: User input data

[0923] Operation: The device uses the HTTPS protocol to send data as a POST request to the server's registered API endpoint.

[0924] Output: User data received by the server

[0925] Step 3: Information Reception and Validation

[0926] The server receives user information sent from the terminal and performs validation.

[0927] Input: User data sent from the device

[0928] Operation: The server analyzes the data and validates it using validator libraries such as Flask-WTF and Marshmallow. Specifically, it checks whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough.

[0929] Output: Information indicating successful validation, or error messages.

[0930] Step 4: Save Data

[0931] The server saves the information that was successfully validated to the database.

[0932] Input: User information that has been successfully validated

[0933] Operation: The server uses SQLAlchemy to execute INSERT queries to insert information into the PostgreSQL database.

[0934] Output: Save success message or error message

[0935] Step 5: User Authentication

[0936] The authentication process when a user logs into the system

[0937] Input: Authentication information (e.g., email address and password)

[0938] Operation: The terminal sends these authentication credentials to the server, and the server verifies the received credentials using a JWT token or session ID. The authentication credentials are then matched against the database, and if successful, the session is started.

[0939] Output: Authentication success message and session token, or error message.

[0940] Step 6: Matching Hobbies

[0941] The server searches for other users with similar hobbies based on the user's hobby information stored in the database.

[0942] Input: Saved user information and hobby information

[0943] Operation: The server uses Python's Pandas and NumPy libraries to compare hobby information and calculate matching relevance. A search algorithm is then used to extract users who share the same hobbies.

[0944] Output: Optimal user list

[0945] Step 7: Notification of Matching Results

[0946] If the server finds other users with similar interests, it will notify the user of that information.

[0947] Input: Optimal user list

[0948] Operation: The server uses Socket.IO to send notifications in real time.

[0949] Output: Notification message displayed on the device

[0950] Step 8: Sending a message

[0951] A user sends a message to another user.

[0952] Input: Message content

[0953] Operation: The terminal inputs a message and sends it to the server. The server receives this message and executes an INSERT query to save it to the recipient user's account.

[0954] Output: Successful transmission message, email notification

[0955] Step 9: Receiving and displaying messages

[0956] The receiving user's device will display a notification for the new message.

[0957] Input: New message

[0958] Operation: The device receives notifications from the server and displays new messages in the chat interface.

[0959] Output: New message notification displayed to the user

[0960] The above outlines the processing flow of this system's program. By processing appropriate input data at each step and obtaining the expected output, users can efficiently match with other users who share similar interests and communicate with them.

[0961] (Application Example 1)

[0962] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[0963] While the conventional system allowed users to easily connect online with other users who shared common interests, it lacked mechanisms to support direct interaction within physical facilities. As a result, opportunities for users to meet and interact directly with other customers who shared similar interests within the facilities were limited. Furthermore, there was a lack of concrete means for user notifications and communication within the facilities. Consequently, improvements in the customer experience and satisfaction within the facilities were not adequately achieved.

[0964] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[0965] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common interests based on user information, means for sending and receiving messages between users with common interests, means for identifying and notifying other customers with common interests at a physical facility, and means for customers with common interests to interact directly with each other within the physical facility. This increases opportunities for customers with common interests to meet and interact directly with each other within the physical facility, thereby improving the customer experience and satisfaction.

[0966] "User registration information" refers to information such as name, email address, password, age, gender, and hobbies that a user enters when creating a new account in the system.

[0967] "Means for sending received information to the server" refers to data communication means for transferring registration information entered by the user to the server.

[0968] "Information validation" is the process by which a server verifies whether the user information it receives is in the correct format, whether all required fields are filled in, and whether the password is strong enough.

[0969] "Means of database storage" refers to methods for storing user information that has successfully passed validation into a database so that it can be searched and used later.

[0970] "Methods for searching for other users with common interests based on user information" refers to algorithms and processes that compare user information within a database to identify other users with shared interests.

[0971] "Means for sending and receiving messages between users with shared hobbies" refers to communication methods or interfaces within a system that allow users with shared hobbies to exchange messages.

[0972] A "physical facility" refers to a store or facility that a user can physically visit.

[0973] "A means of identifying and notifying other customers who share a common hobby" refers to a system that finds multiple customers with the same hobby within a physical facility and informs the user of that information.

[0974] "Means for customers with shared hobbies to interact directly within a physical facility" refers to methods or interfaces provided for customers with the same hobbies to engage in direct conversation and interaction within a physical facility.

[0975] This invention provides a system that allows users to directly interact with other users who share common interests within a store. The system receives user registration information, sends the received information to a server, and the server validates the information and stores it in a database. It also searches for other users with common interests based on the user information and enables the sending and receiving of messages between users with common interests. Furthermore, it includes a function to identify and notify other customers with common interests within the physical facility, providing a mechanism for customers with common interests to directly interact with each other within the facility.

[0976] Hardware and software

[0977] The system of the present invention uses the following hardware and software.

[0978] hardware

[0979] Smartphones, tablets (iOS, Android)

[0980] Touch panel terminals inside the store

[0981] software

[0982] Frontend: React Native (smartphone apps), React (web apps for touchscreen devices)

[0983] Backend: Node.js, Express.js, MongoDB (database)

[0984] Communication protocols: REST API, WebSocket (real-time communication)

[0985] Process Overview

[0986] 1. User registration and information entry

[0987] Users create a new account using a smartphone app or a touch-panel terminal in the store. This involves entering information such as name, email address, password, age, gender, and hobbies. Once the information is entered, it is sent from the terminal to the server.

[0988] 2. Information storage and management

[0989] The server validates the received user information, and if validation is successful, saves the information to the MongoDB database. Users can also edit or delete their hobby information later.

[0990] 3. Matching with others based on shared hobbies

[0991] When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. This uses an algorithm to calculate the degree of compatibility. Based on this compatibility, the user is notified of the matching results.

[0992] 4. Notifications and Interactions

[0993] If there are customers with shared hobbies within the physical facility, this information will be notified to the user's device. Upon receiving the notification, the user can start communicating with the other user using the in-app chat function. This system also provides areas and methods for direct interaction within the physical facility.

[0994] Specific example

[0995] For example, this system can be used in the social space of a large bookstore. Let's say customer A registers "reading" and "travel" as their hobbies, and another customer B registers "reading" and "music" as their hobbies. In this case, the system matches customers A and B based on their shared hobby of "reading." Next, the system notifies each of their terminals of this information, and customers A and B can interact directly in the store's cafe area.

[0996] Examples of prompts to input into a generative AI model

[0997] You are an engineer designing a smartphone app for connecting customers with similar hobbies within a physical store. The app will include user registration, information storage, hobby matching, notification, and communication features. The server will consist of Node.js and Express.js, and the database will be MongoDB. The app will be built with React Native and will use WebSocket for real-time communication. Please describe in detail how the app will match users with other customers and allow them to chat based on their registered hobbies.

[0998] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[0999] Processing steps of a system that implements an application example

[1000] Step 1: User registration and information entry

[1001] Input: Users enter information such as their name, email address, password, age, gender, and hobbies using a smartphone app or a touch-panel terminal in the store.

[1002] Operation: The user enters the required information into the input form and presses the "Register" button.

[1003] Output: The terminal sends the entered information to the server.

[1004] Step 2: Information Validation

[1005] Input: User registration information sent from the device.

[1006] Operation: The server checks if the format of the received information is correct, verifies required fields, and validates password strength.

[1007] Output: After successful validation, user information is stored in the database. If there is any error data, an error message is sent back to the terminal.

[1008] Step 3: Saving to the database

[1009] Input: User information that has passed validation.

[1010] Operation: The server stores user information in a MongoDB database.

[1011] Output: The server will retain confirmation of successful saving and send notifications as needed.

[1012] Step 4: Matching Hobbies

[1013] Input: Multiple user information stored in the database.

[1014] Operation: When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. It uses an algorithm to calculate the degree of relevance.

[1015] Output: Generates a matching results list and sends it to the target user's terminal.

[1016] Step 5: Identify and notify customers with shared hobbies.

[1017] Input: A list of other users who share the same hobbies.

[1018] Operation: The server uses location services within the physical facility to check if the target user is inside the store. Based on the matching result, it verifies the location and notifies the user.

[1019] Output: Sends matching information and location information to the user's device.

[1020] Step 6: Sending and receiving messages

[1021] Input: The message entered by the user.

[1022] Operation: When a user presses the "Send Message" button within the app, the message is sent to the server. The server then forwards the received message to the intended user.

[1023] Output: The message is sent to the user's device and displayed on the chat screen.

[1024] Step 7: Direct interaction within the actual facility

[1025] Input: Notification information for users with shared hobbies.

[1026] Operation: Users check in-app notifications and head to areas within the physical facility where they can interact with other users who share similar interests (e.g., a cafe space).

[1027] Output: Users begin interacting directly with each other, and interactions within the physical facility begin.

[1028] This processing flow makes it possible to meet and interact directly with other customers who share common interests within the physical facility.

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

[1030] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication, and emotion recognition. The specific implementation methods for each function are described below.

[1031] User registration and information entry

[1032] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[1033] Information storage and management

[1034] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[1035] Hobby matching

[1036] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[1037] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[1038] Notifications and Contacts

[1039] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[1040] Emotion recognition and its use

[1041] The server is equipped with an additional emotion engine that analyzes user input and incoming / outgoing messages to recognize the user's emotions. For example, if a user types "I had a great time today!", the emotion engine recognizes this message as expressing a positive emotion.

[1042] The emotional information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing the matching of users with a high level of positive emotions, a more favorable match can be provided. It is also possible to send specific messages based on emotional information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent.

[1043] Specific example

[1044] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[1045] As described above, the present invention is a system that allows users to easily find people with common interests and further enables more personalized matching and communication by utilizing emotional information. This can significantly improve user convenience and satisfaction.

[1046] The following describes the processing flow.

[1047] Step 1:

[1048] The user accesses the system and clicks the "New Registration" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[1049] Step 2:

[1050] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[1051] Step 3:

[1052] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[1053] Step 4:

[1054] The server validates the received information. The validation checks the following points:

[1055] Are all required fields filled in?

[1056] Is the email address in the correct format?

[1057] Is the password strong enough?

[1058] Step 5:

[1059] If validation is successful, the server saves the user information to the database.

[1060] Step 6:

[1061] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[1062] Step 7:

[1063] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[1064] Step 8:

[1065] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[1066] Step 9:

[1067] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[1068] Step 10:

[1069] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[1070] Step 11:

[1071] The server sends a list of users with shared hobbies to the terminal. The terminal then displays this information to the user.

[1072] Step 12:

[1073] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[1074] Step 13:

[1075] The server receives the message and saves it to the recipient user's account.

[1076] Step 14:

[1077] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[1078] Step 15:

[1079] The server uses an emotion engine to analyze messages and input information sent by users. Natural language processing techniques are used for the analysis to evaluate the emotional tone (positive, negative, neutral) of the messages.

[1080] Step 16:

[1081] The server uses the user's emotional data analyzed by the emotion engine and incorporates it into the matching algorithm. For example, it prioritizes matching users with a high number of positive emotions.

[1082] Step 17:

[1083] Based on emotional data, the server can send notifications under specific conditions. For example, if it determines that a user is feeling stressed, it can send a message of encouragement.

[1084] In this way, the system of the present invention allows users to easily and securely connect with other users who share common interests, and further enables more personalized communication by utilizing emotional information.

[1085] (Example 2)

[1086] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1087] Traditional user matching systems primarily relied on matching users based on their hobbies and interests, making it difficult to consider emotional aspects and facilitate smooth communication. As a result, interactions after matching were often unsuccessful, leading to decreased user satisfaction and usage frequency.

[1088] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common hobbies based on user information, means for sending and receiving messages between users with common hobbies, means for analyzing input information and messages sent and received to recognize the user's emotions, means for using the emotion information in a matching algorithm, and means for sending notification messages based on specific emotions. This makes it possible to match users considering not only their hobbies but also their emotions, enabling smoother and more satisfying communication.

[1089] "User registration" refers to the process by which a user enters information such as their name, email address, password, and hobbies, and sends it to the server in order to begin using the system.

[1090] "Means of receiving information" refers to software functions, including interfaces and forms, for sending data entered by users to a server.

[1091] A "server" refers to a computer system that receives, processes, and stores information sent by users in a database.

[1092] "Validation" refers to the process of verifying whether the entered information meets the specified format and requirements.

[1093] A "database" refers to a digital storage system used to efficiently store, search, and manage collected user information.

[1094] "Shared hobbies" refer to activities or themes that multiple users share the same interests or concerns about.

[1095] "Matching" refers to the process by which the system searches for and suggests the most suitable other users based on their shared interests and other criteria.

[1096] "Sending and receiving messages" refers to the communication activity of sending and receiving text and other forms of information between users.

[1097] An "emotion engine" refers to a software module that analyzes input information and messages to detect and classify the user's emotional state.

[1098] "Emotional information" refers to data on the user's emotions as recognized by the emotion engine, and includes states such as positive, negative, and neutral.

[1099] A "notification message" refers to an informational message sent to a user based on a specific event or condition.

[1100] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication methods, and emotion recognition.

[1101] User registration and information entry

[1102] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. The hardware used includes a personal computer or smartphone for the user to access the system, and a corresponding internet connection. The software used includes a web browser or a dedicated application.

[1103] Information storage and management

[1104] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wants to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds. Databases such as MySQL and PostgreSQL are used to store the information.

[1105] Hobby matching

[1106] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts the user's session. Based on the user's hobby information stored in the database, the server searches for other users with similar hobbies. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal. The algorithm applied may include collaborative filtering, which is used in recommendation systems, for example.

[1107] Notifications and Contacts

[1108] If the server finds other users with similar interests, it notifies the user's device of this information. The user receives the notification and can contact the other user using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies them of the new message and displays it. The chat function generally uses the WebSocket protocol.

[1109] Emotion recognition and its use

[1110] The server is equipped with an additional emotion engine that analyzes user input and sent / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine recognizes this message as representing a positive emotion. The emotion information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing matching users with a high number of positive emotions, a more favorable match can be provided. It is also possible to notify users of specific messages based on their emotion information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent. The emotion engine utilizes functions such as the Google Cloud Natural Language API and IBM Watson.

[1111] Specific example

[1112] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[1113] Example of a prompt

[1114] Enter the following prompt message into the AI ​​model:

[1115] "Please describe a program for a system that easily connects users with shared interests based on information they have pre-entered. This system also incorporates an emotion engine that recognizes user emotions. Please explain, with specific examples, what hardware and software are used, and what data processing and calculations are performed."

[1116] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1117] Step 1:

[1118] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. The entered information is displayed in real time in the form's input fields. When the user presses the "Complete Input" button, the terminal sends all the information entered by the user to the server.

[1119] Input: User-provided data such as name, email address, password, age, gender, hobbies, etc.

[1120] Output: User information sent to the server after input is complete.

[1121] Step 2:

[1122] The server receives user information sent from the terminal. The server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. The validation process applies data format checks using regular expressions and password strength evaluation algorithms. If validation is successful, the server saves the user information to the database.

[1123] Input: User information sent from the device

[1124] Output: User information that passed validation is saved to the database.

[1125] Step 3:

[1126] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the received authentication information and checks if the email address and hashed password match the information in the database. If authentication is successful, the server starts a session for that user and issues a session ID.

[1127] Input: Email address and password entered by the user.

[1128] Output: Session ID if authentication is successful

[1129] Step 4:

[1130] The server searches for other users with similar interests based on the user's hobby information stored in the database. The server uses a specific algorithm (e.g., collaborative filtering) to compare each user's hobby information and calculate the degree of matching. Based on this degree of matching, it generates a list of the most suitable other users and sends it to the terminal.

[1131] Input: User hobby information in the database

[1132] Output: List of other users with high relevance

[1133] Step 5:

[1134] If the server finds other users with similar interests, it notifies the user's device of this information. The device displays the new notification to the user and provides access to the system's chat function. If the user wants to send a message to another user, the device types the message and sends it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them.

[1135] Input: Message from another user

[1136] Output: New message notification and display of message content

[1137] Step 6:

[1138] The server uses an additional emotion engine to analyze user input and transmitted / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine analyzes the characteristics of this message and detects a positive emotion. The recognized emotion information is also used in matching algorithms. For example, users with a high level of positive emotions can be preferentially matched with each other. It is also possible to send specific messages (e.g., relaxation messages) based on the emotion information.

[1139] Input: User input information and messages sent and received.

[1140] Output: Recognized positive, negative, and neutral emotional information

[1141] (Application Example 2)

[1142] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the headset-type terminal 314 will be referred to as the "terminal."

[1143] Traditional user matching systems relied solely on users' hobby information for matching, resulting in inconsistent matching accuracy and failing to adequately enhance user satisfaction. Furthermore, particularly in physical stores, there were insufficient means to facilitate real-time interaction between users, making it difficult to effectively connect users with shared interests. Additionally, the lack of matching features that considered user emotions prevented improvements in the quality of the user experience.

[1144] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing user input information and transmitted / received messages using an emotion engine that recognizes user emotions, and performing matching and message notifications based on emotion information; means for performing real-time matching based on common hobbies and emotions between customers in a physical store to promote interaction; means for receiving information for user registration; means for transmitting the received information to the server; means for the server to validate the information and store it in a database; means for searching for other users with common hobbies based on user information; and means for sending and receiving messages between users with common hobbies. As a result, it is possible to recognize user emotions and perform appropriate matching, promote interaction in physical stores, and improve the quality of the user experience.

[1145] 1. "User registration" is the process by which a user accesses the system, enters their information, and registers.

[1146] 2. "Means for receiving information" refers to functions or devices that receive information entered by a user within the system.

[1147] 3. "Means of sending to the server" refers to functions or devices that transfer information received from a user to a server via the internet or internal network.

[1148] 4. "Validation" is the process of checking and verifying the accuracy and format of the entered data.

[1149] 5. "Database storage" means recording and managing received data in a database.

[1150] 6. "Means for searching for other users with common hobbies" refers to functions or devices that find other users who have registered the same hobbies, based on the hobby information entered by the user.

[1151] 7. "Means for sending and receiving messages" refers to functions or devices for sending or receiving text messages between users.

[1152] 8. "Using an emotion engine to recognize emotions" refers to a device or algorithm that analyzes user input information and message content to extract the user's emotions from that information.

[1153] 9. "Matching" is the process of finding other compatible users based on a user's hobby and emotional information.

[1154] 10. "Means of notifying a message" refers to functions or devices that inform a user that they have received a message from another user.

[1155] 11. A "physical store" is a physical retail space, a place that customers visit in person.

[1156] 12. "Real-time matching" is a process that connects users on the spot without any time lag.

[1157] 13. "Means to facilitate interaction" refers to devices or functions that encourage active communication among users.

[1158] 14. "Hobby information" refers to information about activities and fields that users are interested in.

[1159] 15. "Messages sent and received" refers to the content of text and media communications exchanged between users.

[1160] This invention is a system that includes user registration, information validation and storage, hobby matching, message sending and receiving, emotion recognition, and real-time matching at stores. Specific examples of this system are shown below.

[1161] 1. User registration and information entry

[1162] Users use their smartphones to enter their name, email address, age, gender, hobbies, and mood information through an application. The device receives this information and sends it to the server.

[1163] 2. Information storage and management

[1164] The server validates the received user information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the information is saved to the database. Users can also edit or delete their hobby information, and these requests are sent from the terminal to the server.

[1165] 3. Matching with others based on shared hobbies

[1166] When a user logs into the system, the terminal sends authentication information to the server. The server verifies the authentication information, and if successful, starts a session. The server searches for other users with the same hobbies based on hobby information stored in the database. When users with common hobbies are found, the server sends a list of them to the terminal.

[1167] 4. Notifications and Communications

[1168] When the server finds a user with a shared hobby, it notifies the user's device. Users can send and receive messages with other users using the chat function. The server receives the message and stores it in the recipient user's account. The device notifies the user of new messages and displays them.

[1169] 5. Emotion Recognition and its Use

[1170] The server is equipped with an emotion engine that analyzes user input and sent / received messages to recognize emotions. For example, if a user inputs "I had a great time today!", it recognizes a positive emotion. Emotional information is also used in the matching algorithm, which prioritizes matching users with a high level of positive emotions.

[1171] 6. Real-time matching at physical stores

[1172] By using the app in physical stores, real-time matching between customers is possible. The server identifies users in the store and matches them based on shared interests and emotions. This promotes interaction among customers and increases customer satisfaction within the store.

[1173] Hardware and software to be used

[1174] Hardware: Smartphones, cloud servers

[1175] Software: Flask (Python), EmotionEngine (a provisional emotion recognition engine)

[1176] Specific example

[1177] If user A registers "reading" and "cycling" as hobbies and sends the message "I'm very happy today," the emotion engine recognizes this as a positive emotion. Based on this, the server prioritizes notifying user B, who shares "reading" as a hobby.

[1178] Examples of prompts for generative AI models

[1179] If a user who has registered "reading" and "cycling" as hobbies enters "I'm so happy today!", the emotion engine recognizes this as positive and notifies other users who share "reading" as a hobby. It may also send relaxing suggestion messages to that user.

[1180] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1181] Step 1:

[1182] The user accesses the application using their smartphone and opens a form to create a new account.

[1183] Input: Name, email address, age, gender, hobbies, mood information

[1184] Output: Sending input information from the terminal to the server.

[1185] Operation: The user enters the required information into the form and presses the submit button. The device sends this information to the server.

[1186] Step 2:

[1187] The server validates the received user information.

[1188] Input: User information sent from the device

[1189] Output: Validation results and database storage.

[1190] Operation: The server verifies that all required fields are filled in, that the email address format is correct, and that the password is strong enough. If validation is successful, the server saves the information to the database.

[1191] Step 3:

[1192] The user logs into the system.

[1193] Input: Authentication information (email address and password)

[1194] Output: Session started, user profile retrieved

[1195] Operation: The user enters their authentication information into the login form and sends it to the server. The server verifies the authentication information, and if successful, starts a session and retrieves the user's profile information.

[1196] Step 4:

[1197] The server searches for other users who share similar hobbies.

[1198] Input: Hobby information stored in the database

[1199] Output: List of users with common hobbies

[1200] Operation: The server searches for users with common hobbies based on hobby information stored in the database. It calculates the degree of compatibility and lists the most suitable users.

[1201] Step 5:

[1202] The server manages the sending and receiving of messages between users who share common interests.

[1203] Input: Message to send

[1204] Output: Message notification to recipient

[1205] Operation: When a user sends a message to another user, they type the message on their device and send it to the server. The server receives the message, stores it in the recipient's account, and sends a notification.

[1206] Step 6:

[1207] The emotion engine analyzes user input and sent / received messages to recognize emotions.

[1208] Input: User input information, message to send

[1209] Output: Analyzed emotional information (positive, negative, etc.)

[1210] Operation: The emotion engine installed on the server evaluates messages and input information to analyze the user's emotions. The results are then returned to the travel algorithm.

[1211] Step 7:

[1212] Based on emotional information, the system prioritizes matching users who share common interests.

[1213] Input: Analyzed emotional information, hobby information

[1214] Output: User matching results considering emotional information

[1215] Operation: The server applies the emotional information obtained from the emotion engine to a matching algorithm, prioritizing the matching of users with a high proportion of positive emotions. The results are then sent to the terminal.

[1216] Step 8:

[1217] Real-time matching between customers in physical stores.

[1218] Input: Location information, hobby information, and emotional information of customers collected at physical stores.

[1219] Output: Appropriate matching result

[1220] Operation: The server identifies users within the store and matches them in real time based on shared interests and emotional information. The results are notified to the user's device, promoting interaction between customers.

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

[1222] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

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

[1224] [Fourth Embodiment]

[1225] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.

[1226] As shown in Figure 7, the data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1227] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1228] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.

[1229] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.

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

[1231] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.

[1232] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.

[1233] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.

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

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

[1236] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.

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

[1238] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[1239] User registration and information entry

[1240] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[1241] Information storage and management

[1242] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[1243] Hobby matching

[1244] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[1245] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[1246] Notifications and Contacts

[1247] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[1248] Specific example

[1249] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[1250] As described above, the present invention provides a means for users to easily find and contact people who share common interests. This significantly improves user convenience.

[1251] The following describes the processing flow.

[1252] Step 1:

[1253] The user accesses the system for the first time and clicks the "Register" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[1254] Step 2:

[1255] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[1256] Step 3:

[1257] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[1258] Step 4:

[1259] The server validates the received information. The validation checks the following points:

[1260] Are all required fields filled in?

[1261] Is the email address in the correct format?

[1262] Is the password strong enough?

[1263] Step 5:

[1264] If validation is successful, the server saves the user information to the database.

[1265] Step 6:

[1266] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[1267] Step 7:

[1268] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[1269] Step 8:

[1270] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[1271] Step 9:

[1272] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[1273] Step 10:

[1274] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[1275] Step 11:

[1276] A list of users with shared hobbies is sent to the device. The device then displays this information to the user.

[1277] Step 12:

[1278] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[1279] Step 13:

[1280] The server receives the message and saves it to the recipient user's account.

[1281] Step 14:

[1282] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[1283] In this way, the system of the present invention enables users to easily and securely connect and communicate with other users who share common interests.

[1284] (Example 1)

[1285] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1286] In modern society, there is a need for easy ways to connect with other users who share common interests. However, existing systems have complex user registration, information validation, and database management processes, making it difficult to efficiently match users with similar interests. Furthermore, insufficient real-time message notifications hinder the user experience.

[1287] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.

[1288] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information from the terminal to the server, means for validating the information received by the server, means for storing the validated information in a database, means for searching for other users with common interests based on the stored user information, means for sending and receiving messages between users with common interests, means for sending notifications to the user, and means for notifying the user of messages in real time. This makes it possible for users to efficiently meet other users with common interests and communicate in real time.

[1289] "User registration" is the process by which users accessing the system create their own account and enter necessary information such as their name, email address, password, age, gender, and hobbies.

[1290] "Means of receiving information" refers to the function that allows the system to take in data entered by the user and proceed to the next step.

[1291] A "terminal" is a device (e.g., a personal computer, smartphone, tablet, etc.) used by a user to access a system, input information, and receive it.

[1292] A "server" is a central computer system that receives and processes information sent from user terminals and stores the necessary data in a database.

[1293] "Validation" is the process of verifying that the received information is accurate, complete, and conforms to the required format and content.

[1294] A "database" is a system that manages and stores user information and other necessary data in a structured format.

[1295] "A means of searching for other users with common hobbies" refers to a function in the system that automatically finds other users with the same hobbies based on information in the database.

[1296] "Means for sending and receiving messages" refers to the function that allows users to send and receive messages to and from other users within the system.

[1297] "Means of sending notifications" refers to a function that allows the system to inform the user of new messages or when users with similar interests have been found.

[1298] A "means of notifying messages in real time" refers to a system function that immediately informs the user when a new message arrives and displays that information.

[1299] This invention provides a system that allows users to easily connect with other users who share common interests based on information they have pre-entered. This system has four main functions: user registration, information management, hobby matching, and communication. The specific implementation methods for each function are described below.

[1300] User registration and information entry

[1301] The user accesses the system and opens a form for creating a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. Specifically, the terminal sends the data to the server's registration API endpoint using the HTTPS protocol.

[1302] Information storage and management

[1303] The server receives user information sent from the terminal. Next, the server validates the received information, checking that all required fields are filled in, the email address is in the correct format, and the password is strong enough. This validation process uses validator libraries such as Flask-WTF or Marshmallow. If validation is successful, the server uses SQLAlchemy to save the information to the PostgreSQL database. Similarly, if a user wishes to edit or delete their hobby information, they send a request to the server via the terminal, and the server handles it.

[1304] Hobby matching

[1305] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information using a JWT token or session ID, and if successful, starts a session for that user. Furthermore, the server uses Python's Pandas or Numpy libraries to search for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares the hobby information of each user and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal.

[1306] Notifications and Contacts

[1307] If the server finds other users with similar interests, it notifies the user's device of this information. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and executes an INSERT query against the database to store it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them. This notification process uses Socket.IO to notify messages in real time.

[1308] Specific example

[1309] For example, if user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." The server will notify user A of this information, and user A can then use the system's chat function to contact users B and C.

[1310] Example of a prompt

[1311] For example, here is an example of a prompt message when using a generative AI model:

[1312] Enter into the system, "I want to find users who share my hobby of reading."

[1313] As described above, the system of the present invention provides users with a means to efficiently find people with common interests and communicate with them in real time. This significantly improves user convenience.

[1314] The flow of the specific processing in Example 1 will be explained using Figure 11.

[1315] Program processing flow

[1316] Step 1: Enter information for user registration

[1317] The user accesses the system and opens the form to create a new account.

[1318] Input: Name, email address, password, age, gender, hobbies

[1319] Operation: The terminal renders a form to display this information and accepts user input.

[1320] Output: User input data

[1321] Step 2: Sending Information

[1322] The terminal sends the information entered by the user to the server.

[1323] Input: User input data

[1324] Operation: The device uses the HTTPS protocol to send data as a POST request to the server's registered API endpoint.

[1325] Output: User data received by the server

[1326] Step 3: Information Reception and Validation

[1327] The server receives user information sent from the terminal and performs validation.

[1328] Input: User data sent from the device

[1329] Operation: The server analyzes the data and validates it using validator libraries such as Flask-WTF and Marshmallow. Specifically, it checks whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough.

[1330] Output: Information indicating successful validation, or error messages.

[1331] Step 4: Save Data

[1332] The server saves the information that was successfully validated to the database.

[1333] Input: User information that has been successfully validated

[1334] Operation: The server uses SQLAlchemy to execute INSERT queries to insert information into the PostgreSQL database.

[1335] Output: Save success message or error message

[1336] Step 5: User Authentication

[1337] The authentication process when a user logs into the system

[1338] Input: Authentication information (e.g., email address and password)

[1339] Operation: The terminal sends these authentication credentials to the server, and the server verifies the received credentials using a JWT token or session ID. The authentication credentials are then matched against the database, and if successful, the session is started.

[1340] Output: Authentication success message and session token, or error message.

[1341] Step 6: Matching Hobbies

[1342] The server searches for other users with similar hobbies based on the user's hobby information stored in the database.

[1343] Input: Saved user information and hobby information

[1344] Operation: The server uses Python's Pandas and NumPy libraries to compare hobby information and calculate matching relevance. A search algorithm is then used to extract users who share the same hobbies.

[1345] Output: Optimal user list

[1346] Step 7: Notification of Matching Results

[1347] If the server finds other users with similar interests, it will notify the user of that information.

[1348] Input: Optimal user list

[1349] Operation: The server uses Socket.IO to send notifications in real time.

[1350] Output: Notification message displayed on the device

[1351] Step 8: Sending a message

[1352] A user sends a message to another user.

[1353] Input: Message content

[1354] Operation: The terminal inputs a message and sends it to the server. The server receives this message and executes an INSERT query to save it to the recipient user's account.

[1355] Output: Successful transmission message, email notification

[1356] Step 9: Receiving and displaying messages

[1357] The receiving user's device will display a notification for the new message.

[1358] Input: New message

[1359] Operation: The device receives notifications from the server and displays new messages in the chat interface.

[1360] Output: New message notification displayed to the user

[1361] The above outlines the processing flow of this system's program. By processing appropriate input data at each step and obtaining the expected output, users can efficiently match with other users who share similar interests and communicate with them.

[1362] (Application Example 1)

[1363] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1364] While the conventional system allowed users to easily connect online with other users who shared common interests, it lacked mechanisms to support direct interaction within physical facilities. As a result, opportunities for users to meet and interact directly with other customers who shared similar interests within the facilities were limited. Furthermore, there was a lack of concrete means for user notifications and communication within the facilities. Consequently, improvements in the customer experience and satisfaction within the facilities were not adequately achieved.

[1365] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.

[1366] In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common interests based on user information, means for sending and receiving messages between users with common interests, means for identifying and notifying other customers with common interests at a physical facility, and means for customers with common interests to interact directly with each other within the physical facility. This increases opportunities for customers with common interests to meet and interact directly with each other within the physical facility, thereby improving the customer experience and satisfaction.

[1367] "User registration information" refers to information such as name, email address, password, age, gender, and hobbies that a user enters when creating a new account in the system.

[1368] "Means for sending received information to the server" refers to data communication means for transferring registration information entered by the user to the server.

[1369] "Information validation" is the process by which a server verifies whether the user information it receives is in the correct format, whether all required fields are filled in, and whether the password is strong enough.

[1370] "Means of database storage" refers to methods for storing user information that has successfully passed validation into a database so that it can be searched and used later.

[1371] "Methods for searching for other users with common interests based on user information" refers to algorithms and processes that compare user information within a database to identify other users with shared interests.

[1372] "Means for sending and receiving messages between users with shared hobbies" refers to communication methods or interfaces within a system that allow users with shared hobbies to exchange messages.

[1373] A "physical facility" refers to a store or facility that a user can physically visit.

[1374] "A means of identifying and notifying other customers who share a common hobby" refers to a system that finds multiple customers with the same hobby within a physical facility and informs the user of that information.

[1375] "Means for customers with shared hobbies to interact directly within a physical facility" refers to methods or interfaces provided for customers with the same hobbies to engage in direct conversation and interaction within a physical facility.

[1376] This invention provides a system that allows users to directly interact with other users who share common interests within a store. The system receives user registration information, sends the received information to a server, and the server validates the information and stores it in a database. It also searches for other users with common interests based on the user information and enables the sending and receiving of messages between users with common interests. Furthermore, it includes a function to identify and notify other customers with common interests within the physical facility, providing a mechanism for customers with common interests to directly interact with each other within the facility.

[1377] Hardware and software

[1378] The system of the present invention uses the following hardware and software.

[1379] hardware

[1380] Smartphones, tablets (iOS, Android)

[1381] Touch panel terminals inside the store

[1382] software

[1383] Frontend: React Native (smartphone apps), React (web apps for touchscreen devices)

[1384] Backend: Node.js, Express.js, MongoDB (database)

[1385] Communication protocols: REST API, WebSocket (real-time communication)

[1386] Process Overview

[1387] 1. User registration and information entry

[1388] Users create a new account using a smartphone app or a touch-panel terminal in the store. This involves entering information such as name, email address, password, age, gender, and hobbies. Once the information is entered, it is sent from the terminal to the server.

[1389] 2. Information storage and management

[1390] The server validates the received user information, and if validation is successful, saves the information to the MongoDB database. Users can also edit or delete their hobby information later.

[1391] 3. Matching with others based on shared hobbies

[1392] When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. This uses an algorithm to calculate the degree of compatibility. Based on this compatibility, the user is notified of the matching results.

[1393] 4. Notifications and Interactions

[1394] If there are customers with shared hobbies within the physical facility, this information will be notified to the user's device. Upon receiving the notification, the user can start communicating with the other user using the in-app chat function. This system also provides areas and methods for direct interaction within the physical facility.

[1395] Specific example

[1396] For example, this system can be used in the social space of a large bookstore. Let's say customer A registers "reading" and "travel" as their hobbies, and another customer B registers "reading" and "music" as their hobbies. In this case, the system matches customers A and B based on their shared hobby of "reading." Next, the system notifies each of their terminals of this information, and customers A and B can interact directly in the store's cafe area.

[1397] Examples of prompts to input into a generative AI model

[1398] You are an engineer designing a smartphone app for connecting customers with similar hobbies within a physical store. The app will include user registration, information storage, hobby matching, notification, and communication features. The server will consist of Node.js and Express.js, and the database will be MongoDB. The app will be built with React Native and will use WebSocket for real-time communication. Please describe in detail how the app will match users with other customers and allow them to chat based on their registered hobbies.

[1399] The flow of a specific process in Application Example 1 will be explained using Figure 12.

[1400] Processing steps of a system that implements an application example

[1401] Step 1: User registration and information entry

[1402] Input: Users enter information such as their name, email address, password, age, gender, and hobbies using a smartphone app or a touch-panel terminal in the store.

[1403] Operation: The user enters the required information into the input form and presses the "Register" button.

[1404] Output: The terminal sends the entered information to the server.

[1405] Step 2: Information Validation

[1406] Input: User registration information sent from the device.

[1407] Operation: The server checks if the format of the received information is correct, verifies required fields, and validates password strength.

[1408] Output: After successful validation, user information is stored in the database. If there is any error data, an error message is sent back to the terminal.

[1409] Step 3: Saving to the database

[1410] Input: User information that has passed validation.

[1411] Operation: The server stores user information in a MongoDB database.

[1412] Output: The server will retain confirmation of successful saving and send notifications as needed.

[1413] Step 4: Matching Hobbies

[1414] Input: Multiple user information stored in the database.

[1415] Operation: When a user logs into the system, the server searches for other users with similar interests based on the user's hobby information. It uses an algorithm to calculate the degree of relevance.

[1416] Output: Generates a matching results list and sends it to the target user's terminal.

[1417] Step 5: Identify and notify customers with shared hobbies.

[1418] Input: A list of other users who share the same hobbies.

[1419] Operation: The server uses location services within the physical facility to check if the target user is inside the store. Based on the matching result, it verifies the location and notifies the user.

[1420] Output: Sends matching information and location information to the user's device.

[1421] Step 6: Sending and receiving messages

[1422] Input: The message entered by the user.

[1423] Operation: When a user presses the "Send Message" button within the app, the message is sent to the server. The server then forwards the received message to the intended user.

[1424] Output: The message is sent to the user's device and displayed on the chat screen.

[1425] Step 7: Direct interaction within the actual facility

[1426] Input: Notification information for users with shared hobbies.

[1427] Operation: Users check in-app notifications and head to areas within the physical facility where they can interact with other users who share similar interests (e.g., a cafe space).

[1428] Output: Users begin interacting directly with each other, and interactions within the physical facility begin.

[1429] This processing flow makes it possible to meet and interact directly with other customers who share common interests within the physical facility.

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

[1431] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication, and emotion recognition. The specific implementation methods for each function are described below.

[1432] User registration and information entry

[1433] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server.

[1434] Information storage and management

[1435] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wishes to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds.

[1436] Hobby matching

[1437] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts a session for that user.

[1438] The server searches for other users with similar hobbies based on the user's hobby information stored in the database. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited to that user and sends it to the terminal.

[1439] Notifications and Contacts

[1440] If the server finds other users with similar interests, it will notify the user's device. Users can receive the notification and contact other users using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device will then notify them of the new message and display it to them.

[1441] Emotion recognition and its use

[1442] The server is equipped with an additional emotion engine that analyzes user input and incoming / outgoing messages to recognize the user's emotions. For example, if a user types "I had a great time today!", the emotion engine recognizes this message as expressing a positive emotion.

[1443] The emotional information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing the matching of users with a high level of positive emotions, a more favorable match can be provided. It is also possible to send specific messages based on emotional information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent.

[1444] Specific example

[1445] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[1446] As described above, the present invention is a system that allows users to easily find people with common interests and further enables more personalized matching and communication by utilizing emotional information. This can significantly improve user convenience and satisfaction.

[1447] The following describes the processing flow.

[1448] Step 1:

[1449] The user accesses the system and clicks the "New Registration" button. The terminal displays a registration form and prompts the user to enter information such as name, email address, password, age, gender, and hobbies.

[1450] Step 2:

[1451] The user enters information and clicks the "Submit" button. The device sends the entered information to the server.

[1452] Step 3:

[1453] The server receives user information sent from the terminal. This user information includes name, email address, password, age, gender, and hobbies.

[1454] Step 4:

[1455] The server validates the received information. The validation checks the following points:

[1456] Are all required fields filled in?

[1457] Is the email address in the correct format?

[1458] Is the password strong enough?

[1459] Step 5:

[1460] If validation is successful, the server saves the user information to the database.

[1461] Step 6:

[1462] The server notifies the terminal that registration was successful. The terminal displays a registration completion message to the user.

[1463] Step 7:

[1464] The user logs into the system. The terminal displays a login form and prompts the user to enter their email address and password.

[1465] Step 8:

[1466] The terminal sends login authentication information to the server. The server receives this information and performs authentication.

[1467] Step 9:

[1468] If authentication is successful, the server starts a session. It retrieves the user's hobby information and searches for other users with similar hobbies.

[1469] Step 10:

[1470] The server activates a search algorithm and compares user information in the database. It then lists users with common interests based on their relevance.

[1471] Step 11:

[1472] The server sends a list of users with shared hobbies to the terminal. The terminal then displays this information to the user.

[1473] Step 12:

[1474] When a user wants to send a message to another user they are interested in, they use the chat function. The device sends the message content to the server.

[1475] Step 13:

[1476] The server receives the message and saves it to the recipient user's account.

[1477] Step 14:

[1478] The recipient user's device receives a notification of the new message and notifies the user. The recipient user can then view the new message and reply.

[1479] Step 15:

[1480] The server uses an emotion engine to analyze messages and input information sent by users. Natural language processing techniques are used for the analysis to evaluate the emotional tone (positive, negative, neutral) of the messages.

[1481] Step 16:

[1482] The server uses the user's emotional data analyzed by the emotion engine and incorporates it into the matching algorithm. For example, it prioritizes matching users with a high number of positive emotions.

[1483] Step 17:

[1484] Based on emotional data, the server can send notifications under specific conditions. For example, if it determines that a user is feeling stressed, it can send a message of encouragement.

[1485] In this way, the system of the present invention allows users to easily and securely connect with other users who share common interests, and further enables more personalized communication by utilizing emotional information.

[1486] (Example 2)

[1487] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1488] Traditional user matching systems primarily relied on matching users based on their hobbies and interests, making it difficult to consider emotional aspects and facilitate smooth communication. As a result, interactions after matching were often unsuccessful, leading to decreased user satisfaction and usage frequency.

[1489] The identification processing performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means. In this invention, the server includes means for receiving information for user registration, means for transmitting the received information to the server, means for validating the information and storing it in a database on the server, means for searching for other users with common hobbies based on user information, means for sending and receiving messages between users with common hobbies, means for analyzing input information and messages sent and received to recognize the user's emotions, means for using the emotion information in a matching algorithm, and means for sending notification messages based on specific emotions. This makes it possible to match users considering not only their hobbies but also their emotions, enabling smoother and more satisfying communication.

[1490] "User registration" refers to the process by which a user enters information such as their name, email address, password, and hobbies, and sends it to the server in order to begin using the system.

[1491] "Means of receiving information" refers to software functions, including interfaces and forms, for sending data entered by users to a server.

[1492] A "server" refers to a computer system that receives, processes, and stores information sent by users in a database.

[1493] "Validation" refers to the process of verifying whether the entered information meets the specified format and requirements.

[1494] A "database" refers to a digital storage system used to efficiently store, search, and manage collected user information.

[1495] "Shared hobbies" refer to activities or themes that multiple users share the same interests or concerns about.

[1496] "Matching" refers to the process by which the system searches for and suggests the most suitable other users based on their shared interests and other criteria.

[1497] "Sending and receiving messages" refers to the communication activity of sending and receiving text and other forms of information between users.

[1498] An "emotion engine" refers to a software module that analyzes input information and messages to detect and classify the user's emotional state.

[1499] "Emotional information" refers to data on the user's emotions as recognized by the emotion engine, and includes states such as positive, negative, and neutral.

[1500] A "notification message" refers to an informational message sent to a user based on a specific event or condition.

[1501] This invention combines a system that easily connects users with shared interests based on information pre-entered by the user with an emotion engine that recognizes the user's emotions. This system has five main functions: user registration, information management, hobby matching, communication methods, and emotion recognition.

[1502] User registration and information entry

[1503] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. Once the user has finished entering the information, the terminal sends this information to the server. The hardware used includes a personal computer or smartphone for the user to access the system, and a corresponding internet connection. The software used includes a web browser or a dedicated application.

[1504] Information storage and management

[1505] The server receives user information sent from the terminal. Next, the server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the server saves the user information to the database. Also, if the user wants to edit or delete their hobby information, they send a request to the server through the terminal, and the server responds. Databases such as MySQL and PostgreSQL are used to store the information.

[1506] Hobby matching

[1507] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the authentication information, and if successful, starts the user's session. Based on the user's hobby information stored in the database, the server searches for other users with similar hobbies. The search algorithm compares each user's hobby information and calculates the degree of matching. Based on this degree of matching, it generates a list of other users who are best suited for that user and sends it to the terminal. The algorithm applied may include collaborative filtering, which is used in recommendation systems, for example.

[1508] Notifications and Contacts

[1509] If the server finds other users with similar interests, it notifies the user's device of this information. The user receives the notification and can contact the other user using the system's chat function. Specifically, if a user wants to send a message to another user, they type the message on their device and send it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies them of the new message and displays it. The chat function generally uses the WebSocket protocol.

[1510] Emotion recognition and its use

[1511] The server is equipped with an additional emotion engine that analyzes user input and sent / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine recognizes this message as representing a positive emotion. The emotion information recognized by the emotion engine is also used in the matching algorithm. For example, by prioritizing matching users with a high number of positive emotions, a more favorable match can be provided. It is also possible to notify users of specific messages based on their emotion information. For example, if a user is feeling stressed, a message suggesting relaxation can be sent. The emotion engine utilizes functions such as the Google Cloud Natural Language API and IBM Watson.

[1512] Specific example

[1513] If user A enters "reading" and "cycling" as hobbies in the registration form, and other users B register "reading" and "cooking," and user C registers "cycling" and "hiking," the server will detect that users A and B share the hobby "reading," and users A and C share the hobby "cycling." In this case, if user A sends a positive message such as "I'm very happy today," the emotion engine will analyze it and prioritize notifying users B and C that they are positive, which can lead to better communication.

[1514] Example of a prompt

[1515] Enter the following prompt message into the AI ​​model:

[1516] "Please describe a program for a system that easily connects users with shared interests based on information they have pre-entered. This system also incorporates an emotion engine that recognizes user emotions. Please explain, with specific examples, what hardware and software are used, and what data processing and calculations are performed."

[1517] The flow of the specific processing in Example 2 will be explained using Figure 13.

[1518] Step 1:

[1519] The user accesses the system and opens a form to create a new account. The terminal displays this form to the user and prompts them to enter information such as name, email address, password, age, gender, and hobbies. The entered information is displayed in real time in the form's input fields. When the user presses the "Complete Input" button, the terminal sends all the information entered by the user to the server.

[1520] Input: User-provided data such as name, email address, password, age, gender, hobbies, etc.

[1521] Output: User information sent to the server after input is complete.

[1522] Step 2:

[1523] The server receives user information sent from the terminal. The server validates the received information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. The validation process applies data format checks using regular expressions and password strength evaluation algorithms. If validation is successful, the server saves the user information to the database.

[1524] Input: User information sent from the device

[1525] Output: User information that passed validation is saved to the database.

[1526] Step 3:

[1527] When a user logs into the system, the terminal receives the user's authentication information (e.g., email address and password) and sends it to the server. The server verifies the received authentication information and checks if the email address and hashed password match the information in the database. If authentication is successful, the server starts a session for that user and issues a session ID.

[1528] Input: Email address and password entered by the user.

[1529] Output: Session ID if authentication is successful

[1530] Step 4:

[1531] The server searches for other users with similar interests based on the user's hobby information stored in the database. The server uses a specific algorithm (e.g., collaborative filtering) to compare each user's hobby information and calculate the degree of matching. Based on this degree of matching, it generates a list of the most suitable other users and sends it to the terminal.

[1532] Input: User hobby information in the database

[1533] Output: List of other users with high relevance

[1534] Step 5:

[1535] If the server finds other users with similar interests, it notifies the user's device of this information. The device displays the new notification to the user and provides access to the system's chat function. If the user wants to send a message to another user, the device types the message and sends it to the server. The server receives this message and stores it in the recipient user's account. The receiving user's device then notifies the user of the new message and displays it to them.

[1536] Input: Message from another user

[1537] Output: New message notification and display of message content

[1538] Step 6:

[1539] The server uses an additional emotion engine to analyze user input and transmitted / received messages to recognize the user's emotions. For example, if a user enters "I had a great time today!", the emotion engine analyzes the characteristics of this message and detects a positive emotion. The recognized emotion information is also used in matching algorithms. For example, users with a high level of positive emotions can be preferentially matched with each other. It is also possible to send specific messages (e.g., relaxation messages) based on the emotion information.

[1540] Input: User input information and messages sent and received.

[1541] Output: Recognized positive, negative, and neutral emotional information

[1542] (Application Example 2)

[1543] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".

[1544] Traditional user matching systems relied solely on users' hobby information for matching, resulting in inconsistent matching accuracy and failing to adequately enhance user satisfaction. Furthermore, particularly in physical stores, there were insufficient means to facilitate real-time interaction between users, making it difficult to effectively connect users with shared interests. Additionally, the lack of matching features that considered user emotions prevented improvements in the quality of the user experience.

[1545] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for analyzing user input information and transmitted / received messages using an emotion engine that recognizes user emotions, and performing matching and message notifications based on emotion information; means for performing real-time matching based on common hobbies and emotions between customers in a physical store to promote interaction; means for receiving information for user registration; means for transmitting the received information to the server; means for the server to validate the information and store it in a database; means for searching for other users with common hobbies based on user information; and means for sending and receiving messages between users with common hobbies. As a result, it is possible to recognize user emotions and perform appropriate matching, promote interaction in physical stores, and improve the quality of the user experience.

[1546] 1. "User registration" is the process by which a user accesses the system, enters their information, and registers.

[1547] 2. "Means for receiving information" refers to functions or devices that receive information entered by a user within the system.

[1548] 3. "Means of sending to the server" refers to functions or devices that transfer information received from a user to a server via the internet or internal network.

[1549] 4. "Validation" is the process of checking and verifying the accuracy and format of the entered data.

[1550] 5. "Database storage" means recording and managing received data in a database.

[1551] 6. "Means for searching for other users with common hobbies" refers to functions or devices that find other users who have registered the same hobbies, based on the hobby information entered by the user.

[1552] 7. "Means for sending and receiving messages" refers to functions or devices for sending or receiving text messages between users.

[1553] 8. "Using an emotion engine to recognize emotions" refers to a device or algorithm that analyzes user input information and message content to extract the user's emotions from that information.

[1554] 9. "Matching" is the process of finding other compatible users based on a user's hobby and emotional information.

[1555] 10. "Means of notifying a message" refers to functions or devices that inform a user that they have received a message from another user.

[1556] 11. A "physical store" is a physical retail space, a place that customers visit in person.

[1557] 12. "Real-time matching" is a process that connects users on the spot without any time lag.

[1558] 13. "Means to facilitate interaction" refers to devices or functions that encourage active communication among users.

[1559] 14. "Hobby information" refers to information about activities and fields that users are interested in.

[1560] 15. "Messages sent and received" refers to the content of text and media communications exchanged between users.

[1561] This invention is a system that includes user registration, information validation and storage, hobby matching, message sending and receiving, emotion recognition, and real-time matching at stores. Specific examples of this system are shown below.

[1562] 1. User registration and information entry

[1563] Users use their smartphones to enter their name, email address, age, gender, hobbies, and mood information through an application. The device receives this information and sends it to the server.

[1564] 2. Information storage and management

[1565] The server validates the received user information, checking whether all required fields are filled in, whether the email address is in the correct format, and whether the password is strong enough. If validation is successful, the information is saved to the database. Users can also edit or delete their hobby information, and these requests are sent from the terminal to the server.

[1566] 3. Matching with others based on shared hobbies

[1567] When a user logs into the system, the terminal sends authentication information to the server. The server verifies the authentication information, and if successful, starts a session. The server searches for other users with the same hobbies based on hobby information stored in the database. When users with common hobbies are found, the server sends a list of them to the terminal.

[1568] 4. Notifications and Communications

[1569] When the server finds a user with a shared hobby, it notifies the user's device. Users can send and receive messages with other users using the chat function. The server receives the message and stores it in the recipient user's account. The device notifies the user of new messages and displays them.

[1570] 5. Emotion Recognition and its Use

[1571] The server is equipped with an emotion engine that analyzes user input and sent / received messages to recognize emotions. For example, if a user inputs "I had a great time today!", it recognizes a positive emotion. Emotional information is also used in the matching algorithm, which prioritizes matching users with a high level of positive emotions.

[1572] 6. Real-time matching at physical stores

[1573] By using the app in physical stores, real-time matching between customers is possible. The server identifies users in the store and matches them based on shared interests and emotions. This promotes interaction among customers and increases customer satisfaction within the store.

[1574] Hardware and software to be used

[1575] Hardware: Smartphones, cloud servers

[1576] Software: Flask (Python), EmotionEngine (a provisional emotion recognition engine)

[1577] Specific example

[1578] If user A registers "reading" and "cycling" as hobbies and sends the message "I'm very happy today," the emotion engine recognizes this as a positive emotion. Based on this, the server prioritizes notifying user B, who shares "reading" as a hobby.

[1579] Examples of prompts for generative AI models

[1580] If a user who has registered "reading" and "cycling" as hobbies enters "I'm so happy today!", the emotion engine recognizes this as positive and notifies other users who share "reading" as a hobby. It may also send relaxing suggestion messages to that user.

[1581] The flow of a specific process in Application Example 2 will be explained using Figure 14.

[1582] Step 1:

[1583] The user accesses the application using their smartphone and opens a form to create a new account.

[1584] Input: Name, email address, age, gender, hobbies, mood information

[1585] Output: Sending input information from the terminal to the server.

[1586] Operation: The user enters the required information into the form and presses the submit button. The device sends this information to the server.

[1587] Step 2:

[1588] The server validates the received user information.

[1589] Input: User information sent from the device

[1590] Output: Validation results and database storage.

[1591] Operation: The server verifies that all required fields are filled in, that the email address format is correct, and that the password is strong enough. If validation is successful, the server saves the information to the database.

[1592] Step 3:

[1593] The user logs into the system.

[1594] Input: Authentication information (email address and password)

[1595] Output: Session started, user profile retrieved

[1596] Operation: The user enters their authentication information into the login form and sends it to the server. The server verifies the authentication information, and if successful, starts a session and retrieves the user's profile information.

[1597] Step 4:

[1598] The server searches for other users who share similar hobbies.

[1599] Input: Hobby information stored in the database

[1600] Output: List of users with common hobbies

[1601] Operation: The server searches for users with common hobbies based on hobby information stored in the database. It calculates the degree of compatibility and lists the most suitable users.

[1602] Step 5:

[1603] The server manages the sending and receiving of messages between users who share common interests.

[1604] Input: Message to send

[1605] Output: Message notification to recipient

[1606] Operation: When a user sends a message to another user, they type the message on their device and send it to the server. The server receives the message, stores it in the recipient's account, and sends a notification.

[1607] Step 6:

[1608] The emotion engine analyzes user input and sent / received messages to recognize emotions.

[1609] Input: User input information, message to send

[1610] Output: Analyzed emotional information (positive, negative, etc.)

[1611] Operation: The emotion engine installed on the server evaluates messages and input information to analyze the user's emotions. The results are then returned to the travel algorithm.

[1612] Step 7:

[1613] Based on emotional information, the system prioritizes matching users who share common interests.

[1614] Input: Analyzed emotional information, hobby information

[1615] Output: User matching results considering emotional information

[1616] Operation: The server applies the emotional information obtained from the emotion engine to a matching algorithm, prioritizing the matching of users with a high proportion of positive emotions. The results are then sent to the terminal.

[1617] Step 8:

[1618] Real-time matching between customers in physical stores.

[1619] Input: Location information, hobby information, and emotional information of customers collected at physical stores.

[1620] Output: Appropriate matching result

[1621] Operation: The server identifies users within the store and matches them in real time based on shared interests and emotional information. The results are notified to the user's device, promoting interaction between customers.

[1622] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.

[1623] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1624] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.

[1625] Furthermore, the emotion identification model 59, acting as an emotion engine, may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1626] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.

[1627] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.

[1628] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.

[1629] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.

[1630] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."

[1631] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values ​​representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.

[1632] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.

[1633] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.

[1634] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.

[1635] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1636] Furthermore, it is not necessary to store the entirety of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.

[1637] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.

[1638] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Alternatively, the hardware resource that performs a specific process may consist of a single processor.

[1639] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.

[1640] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.

[1641] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.

[1642] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.

[1643] The following is further disclosed regarding the embodiments described above.

[1644] (Claim 1)

[1645] A means of receiving information for user registration,

[1646] A means of sending the received information to the server,

[1647] A means of validating information on a server and storing it in a database,

[1648] A means of searching for other users with similar hobbies based on user information,

[1649] A system that includes means for sending and receiving messages between users who share common interests.

[1650] (Claim 2)

[1651] The system according to claim 1, comprising means for editing or deleting a user's hobby information.

[1652] (Claim 3)

[1653] The system according to claim 1, comprising means for notifying a received message.

[1654] "Example 1"

[1655] (Claim 1)

[1656] A means of receiving information for user registration,

[1657] A means of sending the received information from the terminal to the server,

[1658] A means of validating the information received by the server,

[1659] A means of saving validated information to a database,

[1660] A means of searching for other users with similar interests based on saved user information,

[1661] A means of sending and receiving messages between users who share the same hobbies,

[1662] A means of sending notifications to users,

[1663] A means of notifying messages in real time,

[1664] ...a system that includes

[1665] (Claim 2)

[1666] The system according to claim 1, comprising means for editing or deleting a user's hobby information.

[1667] (Claim 3)

[1668] The system according to claim 1, comprising means for notifying a received message.

[1669] "Application Example 1"

[1670] (Claim 1)

[1671] A means of receiving information for user registration,

[1672] A means of sending the received information to the server,

[1673] A means of validating information on a server and storing it in a database,

[1674] A means of searching for other users with similar hobbies based on user information,

[1675] A means of sending and receiving messages between users who share the same hobbies,

[1676] In a physical facility, a means of identifying and notifying other customers who share the same hobbies,

[1677] A system that includes means for customers with shared hobbies to interact directly within a physical facility.

[1678] (Claim 2)

[1679] The system according to claim 1, comprising means for editing or deleting a user's hobby information.

[1680] (Claim 3)

[1681] The system according to claim 1, comprising means for notifying a received message.

[1682] "Example 2 of combining an emotion engine"

[1683] (Claim 1)

[1684] A means of receiving information for user registration,

[1685] A means of sending the received information to the server,

[1686] A means of validating information on a server and storing it in a database,

[1687] A means of searching for other users with similar hobbies based on user information,

[1688] A means of sending and receiving messages between users who share the same hobbies,

[1689] A means of analyzing input information and transmitted / received messages to recognize the user's emotions,

[1690] Methods for using emotional information in matching algorithms,

[1691] A system that includes means for sending notification messages based on specific emotions.

[1692] (Claim 2)

[1693] The system according to claim 1, comprising means for editing or deleting a user's hobby information.

[1694] (Claim 3)

[1695] The system according to claim 1, comprising means for notifying a received message.

[1696] "Application example 2 of combining emotional engines"

[1697] (Claim 1)

[1698] A means of receiving information for user registration,

[1699] A means of sending the received information to the server,

[1700] A means of validating information on a server and storing it in a database,

[1701] A means of searching for other users with similar hobbies based on user information,

[1702] A means of sending and receiving messages between users who share the same hobbies,

[1703] A means of performing matching and message notifications based on emotional information by using an emotion engine that recognizes user emotions, and analyzing user input information and sent / received messages.

[1704] A method to facilitate interaction by matching customers in physical stores in real time based on their shared hobbies and interests.

[1705] A system that includes this.

[1706] (Claim 2)

[1707] The system according to claim 1, comprising means for editing or deleting a user's hobby information.

[1708] (Claim 3)

[1709] The system according to claim 1, comprising means for notifying a received message. [Explanation of Symbols]

[1710] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>

Claims

1. A means of receiving information for user registration, A means of sending the received information to the server, A means of validating information on a server and storing it in a database, A means of searching for other users with similar hobbies based on user information, A system that includes means for sending and receiving messages between users who share common interests.

2. The system according to claim 1, comprising means for editing or deleting a user's hobby information.

3. The system according to claim 1, comprising means for notifying a received message.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A