System
The system addresses user anxiety in matchmaking by analyzing friend interactions and generating messages to facilitate natural communication and relationship development with trusted friends.
Patent Information
- Application Number
- JP2024125276
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-31
- Publication Date
- 2026-02-13
AI Technical Summary
Users experience anxiety when meeting strangers and struggle to initiate romantic relationships with friends, as existing matchmaking services lack reliability and effectiveness in suggesting compatible partners.
A system that analyzes past conversation history and hobbies of friends via social networking services, calculates compatibility scores, and generates initial messages based on common topics, using natural language processing and sentiment analysis to suggest potential romantic partners.
Facilitates the easy and safe identification of compatible romantic partners among trusted friends, supporting the natural start of communication and potential relationship development.
Smart Images

Figure 2026023341000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] A common problem with typical matchmaking services is the significant anxiety and resistance users feel when meeting someone they don't know. Therefore, there is a need for a more reliable matchmaking method that users can use with peace of mind. Another problem is the difficulty of making the initial approach when developing a friendship into a romantic relationship. The present invention solves these problems by providing a system that effectively suggests potential romantic partners from friends with whom users already have a trusting relationship. [Means for solving the problem]
[0005] The present invention provides a system that analyzes past conversation history and hobbies and preferences based on a friend list of a user already connected via social networking services such as LINE, and suggests compatible friends. The system includes a means for obtaining access permission from a user's device and extracting the friend list and conversation history. It also includes a means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score. The system also includes a means for suggesting optimal friends based on the compatibility score, and a means for extracting common topics from the past conversation history and generating an initial message based on the common topics. The system also includes a natural language processing algorithm for sentiment analysis and a means for the user to edit messages. This allows users to safely and effectively find potential romantic partners from among friends with whom they already have a trusted relationship.
[0006] A "user terminal" is an electronic device operated by a user, such as a smartphone, tablet, or PC.
[0007] "Access permission" refers to the act of a user granting a system or application permission to access the user's data.
[0008] A "friend list" refers to a list of friends and acquaintances that a user has registered on a social networking site or communication app.
[0009] "Conversation history" refers to a record of past text messages and chats between a user and their friends or acquaintances.
[0010] "Natural language processing algorithms" refer to programs and methods that allow computers to understand and analyze human language.
[0011] The "compatibility score" refers to a numerical value that indicates the degree of compatibility between the user and a friend, calculated by analyzing past conversation history and hobbies and preferences.
[0012] "Common topics" refer to themes or topics that are of common interest to the user and their friends.
[0013] The "first message" refers to a message generated by the system on behalf of the user for the first communication with a friend.
[0014] "Sentiment analysis" refers to a method of analyzing text data and determining the emotional state (positive, negative, neutral, etc.) of the written content. [Brief explanation of the drawings]
[0015] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0016] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0017] First, the terms used in the following description will be explained.
[0018] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0019] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0020] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0021] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0022] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0023] [First embodiment]
[0024] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0025] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0026] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0027] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0028] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0029] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0030] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0031] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0032] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0033] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0034] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0035] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0036] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user via social networking sites or communication apps to suggest compatible romantic partners. This system is implemented in the following way.
[0037] Overall system overview
[0038] This system consists of a user device, a server, and a social networking site or communication app (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users first access the system through their own device and grant permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database. The server then analyzes the stored data using a natural language processing algorithm, calculates a compatibility score, and suggests the most suitable friends.
[0039] Specific processing flow
[0040] User registration and initial data acquisition
[0041] User: Logs in to the application for the first time and grants access to the communications platform.
[0042] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[0043] Server: Save the obtained friend list and conversation history in a database.
[0044] Data analysis and compatibility analysis
[0045] Server: Reads the user's friend list and conversation history from the database, analyzes the conversation content using a natural language processing algorithm, calculates a compatibility score, and creates a list of friends who are compatible with the user.
[0046] Device: Receives a list of compatible friends from the server and displays it to the user.
[0047] User: Review the suggested list of compatible friends.
[0048] Support for creating the best message
[0049] Server: Extracts common topics based on conversation history and uses them to generate the optimal first message.
[0050] Terminal: Presents the generated message to the user.
[0051] User: Review the suggested message, edit if necessary, and send it to their friend.
[0052] Specific examples
[0053] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[0054] 1. User A logs in to the app and grants the system permission to access the communication platform.
[0055] 2. The device generates an access token based on the access permission and sends it to the server.
[0056] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[0057] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[0058] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0059] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[0060] 7. The server generates an initial message based on the common topic, such as "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[0061] 8. The terminal displays this message to User A.
[0062] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0063] The system for implementing this invention makes it easier for users to find compatible people from among their existing trusted friends, and supports the start of natural communication.
[0064] The processing flow will be explained below.
[0065] Step 1:
[0066] A user logs into the application and authorizes the linking with the communication platform, which gives the user a token that allows access to their friend list and conversation history.
[0067] Step 2:
[0068] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[0069] Step 3:
[0070] The server uses the token to call the communication platform's API and obtain the user's friend list and conversation history.
[0071] Step 4:
[0072] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[0073] Step 5:
[0074] The server reads the user's friend list and conversation history from a database and analyzes the conversation content using natural language processing algorithms.
[0075] Step 6:
[0076] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[0077] Step 7:
[0078] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[0079] Step 8:
[0080] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[0081] Step 9:
[0082] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords and topics.
[0083] Step 10:
[0084] The server generates an initial message based on the common topics extracted by the server, and the message is customized to help strengthen friendships.
[0085] Step 11:
[0086] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0087] Step 12:
[0088] The user then confirms and edits the message and sends it to the selected friends, further deepening the friendship and increasing the possibility of it developing into a romantic relationship.
[0089] Example 1
[0090] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0091] With current social networking sites and communication apps, it is difficult for users to find compatible romantic partners among their friends. Furthermore, when composing a first message, users often struggle to decide what to talk about. This hinders the natural start of communication.
[0092] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0093] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for presenting the generated message to the user terminal and allowing the user to edit the message, and means for generating an initial message using a generation AI model. This makes it easier for users to find compatible partners from among their existing trusted friends, allowing for the start of natural communication.
[0094] "User terminal" refers to an electronic device used by a user, and specifically includes smartphones, tablets, personal computers, etc.
[0095] "Getting permission" refers to the process of obtaining user consent to access data such as friend lists and conversation history from a communications platform.
[0096] "Friend list" refers to the list of other users with whom a user is connected via social networking sites or communication apps.
[0097] "Conversation history" refers to the record of messages exchanged by a user on social media or communication apps.
[0098] "Natural language processing algorithms" refer to algorithms that allow computers to understand and analyze human language, specifically performing text analysis, sentiment analysis, and theme extraction.
[0099] "Compatibility score" refers to a numerical indicator that represents the quality of the relationship between a user and a friend based on data analysis.
[0100] "Best friend suggestions" refers to the process of listing friends who are most likely to build a good relationship with the user based on their compatibility scores.
[0101] "Extracting common topics" refers to finding common interests and concerns from past conversation history.
[0102] "Generating the first message" refers to the process of creating the first message based on the extracted common topic.
[0103] "Presenting the generated message" refers to the system displaying the generated message to the user.
[0104] "User edits the message" means that the user modifies the system-generated message to suit their own preferences.
[0105] "Generative AI models" refer to artificial intelligence models used for text generation and natural language processing, with examples such as GPT-3.
[0106] This system analyzes past conversation history and interests of friends who are already connected to the user through social networking sites or communication apps to suggest potential romantic partners who are compatible with the user. This system is comprised of a user device, a server, and a social networking site or communication app (hereinafter referred to as the communication platform).
[0107] System configuration
[0108] The system mainly uses a user device, a server, a database, and a generative AI model. User devices include smartphones, tablets, and PCs. The server is responsible for data processing and proposal processing. The database uses an RDBMS such as MySQL or PostgreSQL, and stores the user's friend list and conversation history.
[0109] Processing flow explanation
[0110] User registration and initial data acquisition
[0111] When a user logs in to the application for the first time, a dialog appears requesting permission to access the communication platform, which the user must grant permission to access.
[0112] The device sends an HTTP request to the server based on the permitted access information to retrieve the friend list and conversation history. This communication uses JSON format.
[0113] The server stores the received friend list and conversation history in a database, for example, by using an SQL INSERT statement.
[0114] Data analysis and compatibility analysis
[0115] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms (e.g., Python's NLTK or spaCy), including text analysis, sentiment analysis, and keyword extraction.
[0116] The server calculates a compatibility score based on the analysis results, specifically by evaluating the frequency and content of conversations and common interests and preferences.
[0117] The terminal receives the friend list based on the compatibility scores sent from the server and displays it to the user. The user interface uses a list view.
[0118] Support for creating the best message
[0119] The server extracts common topics from past conversation history and generates the first message based on them, using a generative AI model (e.g., GPT-3) for this process.
[0120] The terminal presents the generated message to the user, who can review the proposed message and edit it if necessary.
[0121] The user finally sends the message.
[0122] Specific examples
[0123] Suppose user A has two friends, B and C. When user A accesses the system for the first time and grants access to the communication platform, the following process occurs:
[0124] 1. User A logs in to the app and grants permission to access the communication platform.
[0125] 2. The device generates an access token based on the access permission and sends it to the server.
[0126] 3. The server uses the access token to retrieve the friend list and conversation history and saves them in a database.
[0127] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and shared interests to calculate a compatibility score.
[0128] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0129] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[0130] 7. Based on the common topic, the server uses a generative AI model to generate an initial message such as, "How are you doing? By the way, I'd love to talk more about our shared hobbies."
[0131] 8. The terminal presents this message to User A.
[0132] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0133] Prompt Sentence Examples
[0134] An example of a prompt used for the generative AI model is, "Generate a message to naturally start a conversation with a friend based on past conversation history and shared hobbies." By inputting this prompt into the AI model, an appropriate message is generated that takes the conversation history into consideration.
[0135] System Benefits
[0136] This system makes it easier for users to find compatible people among their existing trusted friends, supporting the natural start of communication.
[0137] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0138] Step 1:
[0139] When a user logs in to the application for the first time, a dialog box appears on the screen requesting permission to access the communication platform. Inputs include the user entering login information and being asked to consent to the permission. Outputs include the status of the permission. Specific actions include the user launching the app on their smartphone and tapping the "Allow" button to grant permission.
[0140] Step 2:
[0141] The device sends an HTTP request to the server based on the authorized access information. The input includes the access token obtained from the user. The output receives a list of friends and conversation history in JSON format from the server. Specifically, the device sends a GET request to the API endpoint, and the list of friends and conversation history are returned to the device in JSON format.
[0142] Step 3:
[0143] The server stores the received friend list and conversation history in a database. The input includes the JSON data sent from the device. The output shows the status of the data stored in the database. Specifically, the server stores the data in the database using the SQL INSERT statement.
[0144] Step 4:
[0145] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms. The input includes the data read from the database. The output is the analysis results and a compatibility score. Specifically, the server uses Python's NLTK library to perform text analysis, sentiment analysis, and keyword extraction.
[0146] Step 5:
[0147] The server calculates a compatibility score based on the analysis results and creates a list of optimal friends. The input includes the analysis results from a natural language processing algorithm. The output is a compatibility score and an optimal friend list. Specifically, the server calculates the score using co-occurrence network analysis and statistical methods, and creates an optimal friend list.
[0148] Step 6:
[0149] The device receives the friend list based on the compatibility scores sent from the server and displays it to the user. The input includes the friend list sent from the server. The output is the friend list displayed to the user. Specifically, the device uses a list view to display information about friends B and C on the screen.
[0150] Step 7:
[0151] The user checks the suggested list of compatible friends. The input includes the displayed friend list. The output is the user's confirmation status. Specifically, the user scrolls through the list on their smartphone and checks that "Friend B" is displayed.
[0152] Step 8:
[0153] The server extracts common topics based on past conversation history and generates the optimal first message based on that. This is done using a generative AI model. The input includes past conversation history. The output is the generated first message. Specifically, the server sends a prompt to the generative AI model saying, "Based on past conversation history and common hobbies, please generate a message to naturally start a conversation with a friend," and receives the message in response.
[0154] Step 9:
[0155] The terminal presents the generated message to the user. The input includes the message sent from the server. The output is the message presented to the user. In concrete terms, the terminal displays the generated message "I saw an interesting movie recently. Did you see it too?" on the user interface.
[0156] Step 10:
[0157] The user reviews the suggested message, edits it if necessary, and sends it to their friend. The input includes the suggested message. The output includes the edited message and the sending status. The specific behavior is that the user reviews the message, edits it if necessary, and taps the send button to send the message to Friend B.
[0158] (Application example 1)
[0159] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0160] In addition to the conventional technology that analyzes past conversation history and hobbies and preferences to suggest compatible potential romantic partners from among friends the user is already connected with via social networking sites or communication apps, this invention aims to solve the problem of making effective use of travel time and realizing comfortable communication during that time by providing information about the journey to the destination and assisting in matching with other users who share common interests and hobbies while traveling in an autonomous vehicle.
[0161] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0162] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for displaying information on the smart glasses, and means for recommending candidates with common interests. This allows the user to efficiently find compatible friend candidates even while on the move and smoothly start communication with those friends.
[0163] A "user terminal" is a device that can be directly operated by a user, and includes smartphones, tablets, personal computers, etc.
[0164] "Access permission" refers to the procedure by which a user allows a system to use or obtain information.
[0165] A "friend list" refers to a list of friends and acquaintances registered by a user on a social networking site or communication app.
[0166] "Conversation history" refers to the history of past messages and chats that a user has had with friends and acquaintances.
[0167] A "natural language processing algorithm" refers to an algorithm that uses artificial intelligence technology to understand, analyze, and generate human language.
[0168] "Compatibility score" refers to a numerical index of the compatibility between a user and their friends or acquaintances.
[0169] "Common topics" refer to themes or topics that the user and the other person share in past conversations or hobbies and interests.
[0170] "First message" refers to the system-generated message that a user sends to another person for the first time.
[0171] "Smart glasses" are a type of wearable device that has the function of displaying information and can provide information visually.
[0172] "Common interests and hobbies" refer to interests and hobbies that a user shares with other users.
[0173] "Candidates" refer to friends and acquaintances that the system suggests are deemed compatible with the user.
[0174] The present invention is a system that, while a user is traveling in an autonomous vehicle, analyzes past conversation history and hobbies and preferences from among friends connected via social networking sites or communication apps, suggests compatible friend candidates, and allows the user to naturally start communicating with the friend candidates. Specific embodiments of this system are described below.
[0175] The system for implementing this invention is composed of a user terminal, a server, an SNS or communication app (hereinafter referred to as a communication platform), and smart glasses. User terminals include smartphones, tablets, and PCs.
[0176] 1. Collection of User Information
[0177] First, a user accesses the system through their own device and grants permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database.
[0178] 2. Data Analysis
[0179] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms. Specifically, it uses a natural language processing library (e.g., nltk) to perform conversation frequency and sentiment analysis, among other things, to identify common hobbies and interests. It then calculates a compatibility score, quantifying the compatibility between the user and their friends.
[0180] 3. Display on smart glasses
[0181] A user wears smart glasses while traveling in an autonomous vehicle. The server recommends potential friends based on the compatibility score and displays information about the candidates on the smart glasses. The server also extracts common topics based on conversation history and uses them to generate an optimal first message. For example, a message such as "Hello! Would you like to talk about recent movies?" is displayed on the smart glasses.
[0182] 4. Initiating communication
[0183] The user can check the message displayed on the smart glasses, edit it if necessary, and then send it to a friend candidate. This process allows users to efficiently find compatible friend candidates and smoothly start communicating with them, even while on the move.
[0184] For example, when a user travels from their home to a business center in an autonomous vehicle, social media data can be used to identify that "movies" and "hiking" are common interests. A message such as "Hello! Would you like to talk more about movies and hiking?" can then be generated and displayed on the smart glasses.
[0185] An example of a prompt to input to a generative AI model is as follows:
[0186] "Based on the user ID, please analyze past conversation history and recommend compatible friend candidates."
[0187] This system allows users to start communicating with potential friends efficiently and naturally, making effective use of their time while traveling.
[0188] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0189] Step 1:
[0190] Users access the system and grant access to the communication platform
[0191] Input: User permissions
[0192] Specific actions: A user launches an application on a smartphone, tablet, or PC, logs in to a social networking site or messaging app, and grants permission to a message from the application requesting access permissions.
[0193] Output: Permission token for social media and messaging apps
[0194] Data processing / calculation: An access token is generated and sent to the server.
[0195] Step 2:
[0196] The server retrieves the friend list and conversation history
[0197] Input: Access token
[0198] Specific operation: The server uses the access token to call the API of the social networking site or messaging app to obtain the user's friend list and conversation history.
[0199] Output: User's friends list and conversation history
[0200] Data processing / calculation: The acquired data is stored in a database.
[0201] Step 3:
[0202] The server analyzes the conversation using a natural language processing algorithm.
[0203] Input: Friends list and conversation history read from the database
[0204] What it does: The server uses natural language processing libraries (e.g., nltk) to perform frequency and sentiment analysis of conversations. It extracts frequently occurring keywords in conversations to identify common hobbies and interests between the user and their friends.
[0205] Output: Analysis results (sentiment analysis results, common hobbies and interests)
[0206] Data processing / computation: Text analysis is performed using natural language processing algorithms.
[0207] Step 4:
[0208] The server calculates the compatibility score and recommends compatible friend candidates.
[0209] Input: Analysis results
[0210] Specific operation: The server calculates a compatibility score between the user and each friend based on factors such as frequency of conversation, emotional positivity, number of common hobbies and interests, etc. Friends with the highest scores are listed as potential compatible friends.
[0211] Output: Compatibility score, list of compatible friend candidates
[0212] Data processing / calculation: Compatibility scores are calculated by taking a weighted average of multiple factors.
[0213] Step 5:
[0214] The server generates the best initial message based on common topics
[0215] Input: List of potential friends, conversation history
[0216] How it works: The server uses a generative AI model to extract common topics from past conversations with potential friends and create the best initial message based on that.
[0217] Output: Initial message
[0218] Data processing / calculation: A generative AI model generates text and creates messages that incorporate common hobbies and interests.
[0219] Step 6:
[0220] The first message appears on the smart glasses
[0221] Input: Initial message
[0222] Specific operation: The server sends the generated message to the user's smart glasses and displays it on the display. The user can check the message and edit it if necessary.
[0223] Output: A message is displayed on the smart glasses.
[0224] Data processing / calculation: Message editing functions are provided through the smart glasses interface.
[0225] Step 7:
[0226] The user sends the final message to a potential friend
[0227] Input: User edited message
[0228] Specific action: The user sends a message to a friend candidate through the operation of the smart glasses.
[0229] Output: The message sent.
[0230] Data processing / calculation: A message is sent to potential friends through a communication platform.
[0231] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0232] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user through social networking sites or communication apps, and then combines this with an emotion engine to suggest compatible romantic partners. This system implements the invention in the following way.
[0233] Overall system overview
[0234] This system consists of a user device, a server, and a social networking site and communication application (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users access the system through their own devices and grant permission to access the communication platform. Based on the permission, the server obtains a list of the user's friends and conversation history, and stores them in a database. The stored data is analyzed using a natural language processing algorithm and an emotion engine, which calculates a compatibility score and suggests the most suitable friends.
[0235] Specific processing flow
[0236] User registration and initial data acquisition
[0237] User: Logs in to the application for the first time and grants access to the communications platform.
[0238] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[0239] Server: Save the obtained friend list and conversation history in a database.
[0240] Data analysis and compatibility analysis
[0241] Server: Reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0242] Server: In addition to analyzing the text using natural language processing, the server uses an emotion engine to determine the sentiment of the text and calculates a compatibility score with each friend. This score takes into account conversation frequency, common interests, sentiment analysis, etc.
[0243] Server: Creates a list of compatible friends for the user based on the compatibility score and sends the list to the user's device.
[0244] Support for creating the best message
[0245] Server: Extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[0246] Server: Generates an initial message based on the extracted common topics and emotional information. This message is customized to strengthen friendships.
[0247] Terminal: Presents the generated message to the user, who can review it and edit it if necessary.
[0248] User: Sends the final reviewed and edited message to selected friends.
[0249] Specific examples
[0250] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[0251] 1. User A logs in to the app and grants the system permission to access the communication platform.
[0252] 2. The device generates an access token based on the access permission and sends it to the server.
[0253] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[0254] 4. The server reads the data from the database and analyzes it using natural language processing algorithms and an emotion engine. It evaluates, among other things, frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[0255] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0256] 6. The server sends the evaluation results to the terminal and displays them to User A.
[0257] 7. The server extracts common topics based on sentiment analysis and generates an initial message such as, "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[0258] 8. The terminal displays this message to User A.
[0259] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0260] The system for implementing this invention makes it easier for users to find compatible people among their existing trusted friends, and supports the start of natural communication. In this case, by utilizing the emotion engine, it is possible to understand the user's emotions and generate more appropriate messages.
[0261] The processing flow will be explained below.
[0262] Step 1:
[0263] A user logs into the application and grants access to the communications platform, which gives the user a token that allows access to their friend list and conversation history.
[0264] Step 2:
[0265] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[0266] Step 3:
[0267] The server uses the token to call the communication platform's API and retrieve the user's friend list and conversation history.
[0268] Step 4:
[0269] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[0270] Step 5:
[0271] The server reads the friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0272] Step 6:
[0273] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[0274] Step 7:
[0275] The server uses an emotion engine to determine the user's emotional tendencies and reflects that information in the compatibility score.
[0276] Step 8:
[0277] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[0278] Step 9:
[0279] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[0280] Step 10:
[0281] The user selects friends of interest and sends a request to the server to generate an optimal initial message.
[0282] Step 11:
[0283] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[0284] Step 12:
[0285] The server generates an initial message based on the common topics and emotional information extracted by the server. This message is customized to help strengthen friendships.
[0286] Step 13:
[0287] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0288] Step 14:
[0289] Users can review and edit messages and send them to selected friends, which starts natural communication and deepens friendships.
[0290] Example 2
[0291] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0292] Conventional communication platforms lack support for users to initiate natural communication based on existing friendships. Furthermore, they lack specific methods for finding compatible friends, and do not generate messages based on sentiment analysis. As a result, users often experience difficulties when starting new conversations. Furthermore, because no specific approach is provided for users to build relationships based on their compatibility with friends, potentially good relationships are overlooked.
[0293] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0294] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topic, and means for presenting the generated message to the user terminal and allowing the user to edit it. This allows the user to find compatible friends based on existing friendships and start natural communication that takes sentiment analysis into account.
[0295] A "user terminal" is a communication device used by a user, specifically a smartphone, tablet, PC, etc.
[0296] "Access permission" means that a user grants the system permission to access specific data or functions.
[0297] "Friends list" refers to a list of other users with whom a user is connected on a communication platform.
[0298] "Conversation history" refers to a record of past text messages and chat content exchanged between a user and a friend.
[0299] "Natural language processing algorithms" is a general term for computational technologies and methods for understanding and analyzing human language, and includes functions such as tokenizing conversations, extracting keywords, and understanding context.
[0300] The "compatibility score" is a numerical indicator that expresses the degree of the relationship between a user and a friend, and is calculated based on the frequency of conversations, emotional analysis results, common interests, etc.
[0301] "Sentiment analysis" refers to the technology of identifying emotions within text and determining sentiment trends such as positive, negative, or neutral.
[0302] "Common topics" refer to themes or interests that are frequently discussed between a user and their friends, and are extracted from past conversation history.
[0303] A "first message" is the first text message to start a new conversation with a friend, and is generated based on common topics and emotional information.
[0304] "Suggest" means that the system presents specific content or options to the user.
[0305] "Generated Message" refers to a text message that is automatically generated by the system and is provided to the user for use as is or after editing.
[0306] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to a user on a communication platform, and then combines this with an emotion engine to suggest friends who are compatible with the user. This system is implemented as follows:
[0307] User registration and initial data acquisition
[0308] A user logs in to an app and grants access to a communication platform (e.g., a social networking service). The user's device then generates an access token and sends it to the server. The server uses the access token to retrieve the user's friend list and conversation history, and stores them in a database.
[0309] Data analysis and compatibility analysis
[0310] The server reads the user's conversation history and friend list stored in the database. The server then analyzes the conversation using natural language processing algorithms and emotion engines (e.g., Hugging Face's Transformers and Google Sentiment Analysis API). This analysis includes tokenizing the conversation, extracting keywords, and determining sentiment. A compatibility score is calculated based on conversation frequency, common interests, and the results of the emotion analysis. Based on the compatibility score, the server creates an optimal friend list for the user and sends it to the device.
[0311] Support for creating the best message
[0312] The server extracts common topics from past conversation histories with selected friends. Based on the extracted common topics and emotional information, it generates an initial message to initiate natural communication. The generated message is displayed on the user's device, where the user can review and edit it as needed.
[0313] Specific examples
[0314] When User A logs in to the app and allows access to a social networking service, the following prompt appears:
[0315] "Do you want to allow access to your communications platform?"
[0316] The device generates an access token and displays the message "Generating access token..." The server retrieves the friend list and conversation history based on the access rights, and then displays the prompt "Data retrieved. Next, analysis begins."
[0317] The server is analyzing the conversation content and displays the message "Analyzing conversation content. Please wait a moment." The server calculates a compatibility score based on the sentiment analysis results and displays the prompt "Calculating compatibility score." The optimal friend list is generated and displays the message "A compatible friend list has been generated."
[0318] An initial message based on the common topic is generated and the prompt "Generating initial message based on the common topic" is displayed. The generated message is displayed and the prompt "Here is the suggested message. Do you want to edit it?" is displayed.
[0319] Finally, when the user checks the message and sends it to a friend, they will see the message "Message sent!"
[0320] This system makes it easier for users to find friends with whom they have a good relationship from among their existing trusted friends, and enables them to start natural communication using an emotion engine.
[0321] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0322] Step 1:
[0323] The user logs into the app and grants access to the communication platform
[0324] Input: User login information (username, password) and access permissions
[0325] Specific operation: The user launches the app, enters their username and password on the login screen to authenticate, and then presses the "Allow" button in response to the permission prompt (e.g., "Do you want to allow access to your communication platform?").
[0326] Output: Permission status and authentication information is generated.
[0327] Step 2:
[0328] The device generates an access token and sends it to the server.
[0329] Input: User credentials and permissions
[0330] Specific operation: The device obtains an access token from the communication platform using an authentication protocol such as OAuth 2.0. If successful, the message "Generating access token..." is displayed.
[0331] Output: An access token is generated and sent to the server.
[0332] Step 3:
[0333] The server retrieves the friend list and conversation history and stores them in a database.
[0334] Input: Access token
[0335] Specific operation: The server uses the obtained access token to obtain the user's friend list and conversation history via the communication platform's API. For example, the server sends an API request and analyzes the returned data to extract the necessary information.
[0336] Output: The friend list and conversation history data are saved to the database. A prompt appears saying "The data has been obtained. Now we will begin analysis."
[0337] Step 4:
[0338] The server reads the user's friend list and conversation history from a database
[0339] Input: Friends list and conversation history data
[0340] What happens: The server executes a database query to retrieve the user's friend list and conversation history information.
[0341] Output: The acquired data is loaded for analysis.
[0342] Step 5:
[0343] The server analyzes the conversation using natural language processing algorithms
[0344] Input: Conversation history data
[0345] How it works: The server uses natural language processing libraries such as Python's NLTK and spaCy to tokenize the conversation, extract keywords, and understand the context.
[0346] Output: The analysis result of the conversation content is generated. The message "Analyzing the conversation content. Please wait a moment." is displayed.
[0347] Step 6:
[0348] The server uses an emotion engine to determine the emotion of the text.
[0349] Input: Parsed conversation
[0350] What it does: The server uses Hugging Face Transformers and the Google Sentiment Analysis API to determine the sentiment of the text. It calculates a sentiment score: positive, negative, or neutral.
[0351] Output: Emotion determination result is obtained.
[0352] Step 7:
[0353] The server calculates the compatibility score
[0354] Input: Analysis results and emotion determination results
[0355] Specific operation: The server calculates a compatibility score between the user and each friend based on conversation frequency, common interests, and sentiment analysis results.
[0356] Output: Compatibility score is calculated. The message "Compatibility score is being calculated" is displayed.
[0357] Step 8:
[0358] The server creates an optimal friend list based on the compatibility score and sends it to the device.
[0359] Input: Compatibility score
[0360] Specific operation: The server generates a list of friends with high compatibility scores and sends the list to the user's device.
[0361] Output: The optimal friend list is generated and sent to the device. The message "A compatible friend list has been generated" is displayed.
[0362] Step 9:
[0363] The server extracts common topics and interests
[0364] Input: Conversation history data
[0365] Specific operation: The server extracts frequently occurring keywords and topics from past conversation history and identifies them as common topics.
[0366] Output: Common themes extracted
[0367] Step 10:
[0368] The server generates the initial message
[0369] Input: Common topics and sentiment information
[0370] Specific operation: The server generates an initial message that mimics the start of a natural conversation based on the extracted common topic and emotional information. For example, it generates a message like, "How are you doing lately? We talked about movies before, but do you have any other recommendations?"
[0371] Output: The initial message generated
[0372] Step 11:
[0373] The terminal presents the generated message to the user.
[0374] Input: The initial message generated
[0375] Specific behavior: The user terminal displays the generated message and provides an interface for the user to edit it.
[0376] Output: The user is presented with a message. They are prompted with "Here's the suggested message. Do you want to edit it?"
[0377] Step 12:
[0378] User reviews, edits, and sends message to friend
[0379] Input: Proposed message
[0380] What it does: The user reviews the suggested message, edits it if necessary, and then sends it to their friend.
[0381] Output: Message sent. You should see the message "Message sent!"
[0382] (Application example 2)
[0383] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0384] In modern society, online communication through social networking sites and communication platforms is common, but it is still difficult for users to find compatible friends or potential romantic partners. Even in brick-and-mortar stores, providing optimal customer service and product recommendations requires properly analyzing each customer's past purchase and interaction history and making recommendations based on their emotions. However, current systems make it difficult to do this efficiently, hindering customer satisfaction.
[0385] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0386] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for analyzing the customer's past purchase history and conversation history and generating optimal product suggestion messages, and means for saving the generated product suggestion messages. This not only enables the server to suggest compatible friends and potential romantic partners in online communication, but also improves customer satisfaction in physical stores.
[0387] A "user terminal" is an electronic device that a user uses to access the system, such as a smartphone, tablet, or PC.
[0388] "Access permission" is the act of a user granting permission to a system to access their data.
[0389] A "friend list" is a list of other users who are connected to a user on a social networking site or communication platform.
[0390] A "conversation history" is a record of messages exchanged between a user and their friends.
[0391] A "natural language processing algorithm" is a part of a computer program that analyzes human language and understands its meaning.
[0392] The "compatibility score" is a numerical representation of the compatibility between a user and their friend, calculated based on data such as conversation history.
[0393] The "means for suggesting the best friends" is a process for presenting friends who are determined to be the most compatible with the user based on the compatibility score.
[0394] "Means for extracting common topics" refers to technology for finding common interests and topics between a user and their friends from past conversation history.
[0395] The "means for generating an initial message" is the process of creating an initial message to send to a friend based on a common topic.
[0396] "Purchase history" is a record of products a customer has previously purchased in-store or online.
[0397] The means for analyzing "dialogue history" is a technology for analyzing records of past dialogues between customers and staff.
[0398] The "means for generating a product suggestion message" is a process for creating a message for suggesting the most suitable product to the customer based on the analysis results.
[0399] The "means for saving the generated product suggestion message" is a process for saving the created product suggestion message in a database or the like.
[0400] This system analyzes past conversation history and hobbies and preferences of friends connected via social networking sites and communication platforms, and combines this with an emotion engine to suggest potential romantic partners. It also generates optimal product recommendation messages for brick-and-mortar stores based on customers' past purchase and conversation histories.
[0401] composition
[0402] This system is configured using the following hardware and software.
[0403] Hardware: smartphones, tablets, PCs, servers
[0404] Software: Natural language processing models (e.g., BERT), sentiment analysis engines (e.g., TextBlob), databases (e.g., PostgreSQL), message generation engines
[0405] Overall system functionality
[0406] 1. Data Collection:
[0407] The user device obtains permission to access social networking sites and communication platforms, and sends a list of friends and conversation history to the server, which then stores this data in a database.
[0408] 2. Data Analysis:
[0409] The server reads the user's friend list and conversation history from the database and analyzes the data using natural language processing algorithms and emotion engines. For example, it analyzes the conversation content using the BERT model and performs sentiment analysis using TextBlob. This allows it to calculate a compatibility score based on the frequency of conversations and the degree of emotional agreement.
[0410] 3. Proposal generation:
[0411] Based on the compatibility score, a list of compatible friends is generated for the user and sent to the user's device. The system also generates an initial message based on common topics. In physical stores, the system analyzes the customer's past purchase history and conversation history to generate and save optimal product suggestion messages.
[0412] 4. Message presentation:
[0413] The generated message is presented on the user terminal, and the user can edit it.
[0414] Specific examples
[0415] For example, if the customer ID is "123456" and their most recent purchase was sneakers, the system will analyze the customer's sentiment history and generate a message such as, "We'd like to hear how you're using the sneakers you recently purchased. We can also recommend new related products."
[0416] Prompt Sentence Examples
[0417] An example of a prompt sentence to input to the generative AI model is as follows:
[0418] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[0419] This system not only suggests compatible friends and potential romantic partners for online communication, but also helps improve customer satisfaction in physical stores.
[0420] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0421] Step 1:
[0422] User registration and initial data acquisition
[0423] The user logs into the application for the first time and grants permission to access the communications platform.
[0424] The terminal uses the access token acquired from the user to send the friend list and conversation history to the server.
[0425] The server stores the acquired friend list and conversation history in a database.
[0426] Input: User login information, access permissions
[0427] Output: A database containing the user's friends and conversation history
[0428] Step 2:
[0429] Data analysis and compatibility analysis
[0430] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0431] It uses the BERT model to analyze the text of the conversation and extract frequent keywords and topics, and TextBlob to perform sentiment analysis and calculate a compatibility score for each friend.
[0432] Input: Friends list, conversation history
[0433] Output: Analyzed conversation content, compatibility score for each friend
[0434] Step 3:
[0435] Recommendations from compatible friends
[0436] The server then suggests the best friends based on the compatibility score. Specifically, it creates a list of friends who frequently interact with the user and who are emotionally compatible with the user.
[0437] The server transmits this list to the user terminal.
[0438] Input: Compatibility score
[0439] Output: Best friends list
[0440] Step 4:
[0441] Optimal message generation support
[0442] The server extracts common topics and interests from past conversations with selected friends, identifying frequently occurring keywords and topics.
[0443] Generates initial messages to strengthen friendships based on common topics and emotional information.
[0444] Input: Conversation history with selected friends, emotional information
[0445] Output: Initial message generated
[0446] Step 5:
[0447] Saving and presenting generated messages
[0448] The server stores the generated messages in a database for future reference and improvement.
[0449] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0450] Input: The generated message
[0451] Output: Message presented to the user, saved to the database
[0452] Step 6:
[0453] Customer suggestion message generation in physical stores
[0454] The server analyzes the customer's past purchase history and interaction history and performs emotion analysis using an emotion engine.
[0455] Use generative AI models to generate optimal product recommendation messages for customers.
[0456] Input: Purchase history, interaction history
[0457] Output: Product suggestion message
[0458] A specific example of a prompt is:
[0459] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[0460] There is.
[0461] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0462] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0463] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0464] [Second embodiment]
[0465] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0466] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0467] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0468] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0469] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0470] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0471] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0472] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0473] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0474] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0475] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0476] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0477] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user via social networking sites or communication apps to suggest compatible romantic partners. This system is implemented in the following way.
[0478] Overall system overview
[0479] This system consists of a user device, a server, and a social networking site or communication app (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users first access the system through their own device and grant permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database. The server then analyzes the stored data using a natural language processing algorithm, calculates a compatibility score, and suggests the most suitable friends.
[0480] Specific processing flow
[0481] User registration and initial data acquisition
[0482] User: Logs in to the application for the first time and grants access to the communications platform.
[0483] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[0484] Server: Save the obtained friend list and conversation history in a database.
[0485] Data analysis and compatibility analysis
[0486] Server: Reads the user's friend list and conversation history from the database, analyzes the conversation content using a natural language processing algorithm, calculates a compatibility score, and creates a list of friends who are compatible with the user.
[0487] Device: Receives a list of compatible friends from the server and displays it to the user.
[0488] User: Review the suggested list of compatible friends.
[0489] Support for creating the best message
[0490] Server: Extracts common topics based on conversation history and uses them to generate the optimal first message.
[0491] Terminal: Presents the generated message to the user.
[0492] User: Review the suggested message, edit if necessary, and send it to their friend.
[0493] Specific examples
[0494] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[0495] 1. User A logs in to the app and grants the system permission to access the communication platform.
[0496] 2. The device generates an access token based on the access permission and sends it to the server.
[0497] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[0498] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[0499] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0500] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[0501] 7. The server generates an initial message based on the common topic, such as "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[0502] 8. The terminal displays this message to User A.
[0503] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0504] The system for implementing this invention makes it easier for users to find compatible people from among their existing trusted friends, and supports the start of natural communication.
[0505] The processing flow will be explained below.
[0506] Step 1:
[0507] A user logs into the application and authorizes the linking with the communication platform, which gives the user a token that allows access to their friend list and conversation history.
[0508] Step 2:
[0509] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[0510] Step 3:
[0511] The server uses the token to call the communication platform's API and obtain the user's friend list and conversation history.
[0512] Step 4:
[0513] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[0514] Step 5:
[0515] The server reads the user's friend list and conversation history from a database and analyzes the conversation content using natural language processing algorithms.
[0516] Step 6:
[0517] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[0518] Step 7:
[0519] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[0520] Step 8:
[0521] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[0522] Step 9:
[0523] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords and topics.
[0524] Step 10:
[0525] The server generates an initial message based on the common topics extracted by the server, and the message is customized to help strengthen friendships.
[0526] Step 11:
[0527] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0528] Step 12:
[0529] The user then confirms and edits the message and sends it to the selected friends, further deepening the friendship and increasing the possibility of it developing into a romantic relationship.
[0530] Example 1
[0531] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0532] With current social networking sites and communication apps, it is difficult for users to find compatible romantic partners among their friends. Furthermore, when composing a first message, users often struggle to decide what to talk about. This hinders the natural start of communication.
[0533] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0534] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for presenting the generated message to the user terminal and allowing the user to edit the message, and means for generating an initial message using a generation AI model. This makes it easier for users to find compatible partners from among their existing trusted friends, allowing for the start of natural communication.
[0535] "User terminal" refers to an electronic device used by a user, and specifically includes smartphones, tablets, personal computers, etc.
[0536] "Getting permission" refers to the process of obtaining user consent to access data such as friend lists and conversation history from a communications platform.
[0537] "Friend list" refers to the list of other users with whom a user is connected via social networking sites or communication apps.
[0538] "Conversation history" refers to the record of messages exchanged by a user on social media or communication apps.
[0539] "Natural language processing algorithms" refer to algorithms that allow computers to understand and analyze human language, specifically performing text analysis, sentiment analysis, and theme extraction.
[0540] "Compatibility score" refers to a numerical indicator that represents the quality of the relationship between a user and a friend based on data analysis.
[0541] "Best friend suggestions" refers to the process of listing friends who are most likely to build a good relationship with the user based on their compatibility scores.
[0542] "Extracting common topics" refers to finding common interests and concerns from past conversation history.
[0543] "Generating the first message" refers to the process of creating the first message based on the extracted common topic.
[0544] "Presenting the generated message" refers to the system displaying the generated message to the user.
[0545] "User edits the message" means that the user modifies the system-generated message to suit their own preferences.
[0546] "Generative AI models" refer to artificial intelligence models used for text generation and natural language processing, with examples such as GPT-3.
[0547] This system analyzes past conversation history and interests of friends who are already connected to the user through social networking sites or communication apps to suggest potential romantic partners who are compatible with the user. This system is comprised of a user device, a server, and a social networking site or communication app (hereinafter referred to as the communication platform).
[0548] System configuration
[0549] The system mainly uses a user device, a server, a database, and a generative AI model. User devices include smartphones, tablets, and PCs. The server is responsible for data processing and proposal processing. The database uses an RDBMS such as MySQL or PostgreSQL, and stores the user's friend list and conversation history.
[0550] Processing flow explanation
[0551] User registration and initial data acquisition
[0552] When a user logs in to the application for the first time, a dialog appears requesting permission to access the communication platform, which the user must grant permission to access.
[0553] The device sends an HTTP request to the server based on the permitted access information to retrieve the friend list and conversation history. This communication uses JSON format.
[0554] The server stores the received friend list and conversation history in a database, for example, by using an SQL INSERT statement.
[0555] Data analysis and compatibility analysis
[0556] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms (e.g., Python's NLTK or spaCy), including text analysis, sentiment analysis, and keyword extraction.
[0557] The server calculates a compatibility score based on the analysis results, specifically by evaluating the frequency and content of conversations and common interests and preferences.
[0558] The terminal receives the friend list based on the compatibility scores sent from the server and displays it to the user. The user interface uses a list view.
[0559] Support for creating the best message
[0560] The server extracts common topics from past conversation history and generates the first message based on them, using a generative AI model (e.g., GPT-3) for this process.
[0561] The terminal presents the generated message to the user, who can review the proposed message and edit it if necessary.
[0562] The user finally sends the message.
[0563] Specific examples
[0564] Suppose user A has two friends, B and C. When user A accesses the system for the first time and grants access to the communication platform, the following process occurs:
[0565] 1. User A logs in to the app and grants permission to access the communication platform.
[0566] 2. The device generates an access token based on the access permission and sends it to the server.
[0567] 3. The server uses the access token to retrieve the friend list and conversation history and saves them in a database.
[0568] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and shared interests to calculate a compatibility score.
[0569] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0570] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[0571] 7. Based on the common topic, the server uses a generative AI model to generate an initial message such as, "How are you doing? By the way, I'd love to talk more about our shared hobbies."
[0572] 8. The terminal presents this message to User A.
[0573] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0574] Prompt Sentence Examples
[0575] An example of a prompt used for the generative AI model is, "Generate a message to naturally start a conversation with a friend based on past conversation history and shared hobbies." By inputting this prompt into the AI model, an appropriate message is generated that takes the conversation history into consideration.
[0576] System Benefits
[0577] This system makes it easier for users to find compatible people among their existing trusted friends, supporting the natural start of communication.
[0578] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0579] Step 1:
[0580] When a user logs in to the application for the first time, a dialog box appears on the screen requesting permission to access the communication platform. Inputs include the user entering login information and being asked to consent to the permission. Outputs include the status of the permission. Specific actions include the user launching the app on their smartphone and tapping the "Allow" button to grant permission.
[0581] Step 2:
[0582] The device sends an HTTP request to the server based on the authorized access information. The input includes the access token obtained from the user. The output receives a list of friends and conversation history in JSON format from the server. Specifically, the device sends a GET request to the API endpoint, and the list of friends and conversation history are returned to the device in JSON format.
[0583] Step 3:
[0584] The server stores the received friend list and conversation history in a database. The input includes the JSON data sent from the device. The output shows the status of the data stored in the database. Specifically, the server stores the data in the database using the SQL INSERT statement.
[0585] Step 4:
[0586] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms. The input includes the data read from the database. The output is the analysis results and a compatibility score. Specifically, the server uses Python's NLTK library to perform text analysis, sentiment analysis, and keyword extraction.
[0587] Step 5:
[0588] The server calculates a compatibility score based on the analysis results and creates a list of optimal friends. The input includes the analysis results from a natural language processing algorithm. The output is a compatibility score and an optimal friend list. Specifically, the server calculates the score using co-occurrence network analysis and statistical methods, and creates an optimal friend list.
[0589] Step 6:
[0590] The device receives the friend list based on the compatibility scores sent from the server and displays it to the user. The input includes the friend list sent from the server. The output is the friend list displayed to the user. Specifically, the device uses a list view to display information about friends B and C on the screen.
[0591] Step 7:
[0592] The user checks the suggested list of compatible friends. The input includes the displayed friend list. The output is the user's confirmation status. Specifically, the user scrolls through the list on their smartphone and checks that "Friend B" is displayed.
[0593] Step 8:
[0594] The server extracts common topics based on past conversation history and generates the optimal first message based on that. This is done using a generative AI model. The input includes past conversation history. The output is the generated first message. Specifically, the server sends a prompt to the generative AI model saying, "Based on past conversation history and common hobbies, please generate a message to naturally start a conversation with a friend," and receives the message in response.
[0595] Step 9:
[0596] The terminal presents the generated message to the user. The input includes the message sent from the server. The output is the message presented to the user. In concrete terms, the terminal displays the generated message "I saw an interesting movie recently. Did you see it too?" on the user interface.
[0597] Step 10:
[0598] The user reviews the suggested message, edits it if necessary, and sends it to their friend. The input includes the suggested message. The output includes the edited message and the sending status. The specific behavior is that the user reviews the message, edits it if necessary, and taps the send button to send the message to Friend B.
[0599] (Application example 1)
[0600] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0601] In addition to the conventional technology that analyzes past conversation history and hobbies and preferences to suggest compatible potential romantic partners from among friends the user is already connected with via social networking sites or communication apps, this invention aims to solve the problem of making effective use of travel time and realizing comfortable communication during that time by providing information about the journey to the destination and assisting in matching with other users who share common interests and hobbies while traveling in an autonomous vehicle.
[0602] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0603] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for displaying information on the smart glasses, and means for recommending candidates with common interests. This allows the user to efficiently find compatible friend candidates even while on the move and smoothly start communication with those friends.
[0604] A "user terminal" is a device that can be directly operated by a user, and includes smartphones, tablets, personal computers, etc.
[0605] "Access permission" refers to the procedure by which a user allows a system to use or obtain information.
[0606] A "friend list" refers to a list of friends and acquaintances registered by a user on a social networking site or communication app.
[0607] "Conversation history" refers to the history of past messages and chats that a user has had with friends and acquaintances.
[0608] A "natural language processing algorithm" refers to an algorithm that uses artificial intelligence technology to understand, analyze, and generate human language.
[0609] "Compatibility score" refers to a numerical index of the compatibility between a user and their friends or acquaintances.
[0610] "Common topics" refer to themes or topics that the user and the other person share in past conversations or hobbies and interests.
[0611] "First message" refers to the system-generated message that a user sends to another person for the first time.
[0612] "Smart glasses" are a type of wearable device that has the function of displaying information and can provide information visually.
[0613] "Common interests and hobbies" refer to interests and hobbies that a user shares with other users.
[0614] "Candidates" refer to friends and acquaintances that the system suggests are deemed compatible with the user.
[0615] The present invention is a system that, while a user is traveling in an autonomous vehicle, analyzes past conversation history and hobbies and preferences from among friends connected via social networking sites or communication apps, suggests compatible friend candidates, and allows the user to naturally start communicating with the friend candidates. Specific embodiments of this system are described below.
[0616] The system for implementing this invention is composed of a user terminal, a server, an SNS or communication app (hereinafter referred to as a communication platform), and smart glasses. User terminals include smartphones, tablets, and PCs.
[0617] 1. Collection of User Information
[0618] First, a user accesses the system through their own device and grants permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database.
[0619] 2. Data Analysis
[0620] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms. Specifically, it uses a natural language processing library (e.g., nltk) to perform conversation frequency and sentiment analysis, among other things, to identify common hobbies and interests. It then calculates a compatibility score, quantifying the compatibility between the user and their friends.
[0621] 3. Display on smart glasses
[0622] A user wears smart glasses while traveling in an autonomous vehicle. The server recommends potential friends based on the compatibility score and displays information about the candidates on the smart glasses. The server also extracts common topics based on conversation history and uses them to generate an optimal first message. For example, a message such as "Hello! Would you like to talk about recent movies?" is displayed on the smart glasses.
[0623] 4. Initiating communication
[0624] The user can check the message displayed on the smart glasses, edit it if necessary, and then send it to a friend candidate. This process allows users to efficiently find compatible friend candidates and smoothly start communicating with them, even while on the move.
[0625] For example, when a user travels from their home to a business center in an autonomous vehicle, social media data can be used to identify that "movies" and "hiking" are common interests. A message such as "Hello! Would you like to talk more about movies and hiking?" can then be generated and displayed on the smart glasses.
[0626] An example of a prompt to input to a generative AI model is as follows:
[0627] "Based on the user ID, please analyze past conversation history and recommend compatible friend candidates."
[0628] This system allows users to start communicating with potential friends efficiently and naturally, making effective use of their time while traveling.
[0629] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0630] Step 1:
[0631] Users access the system and grant access to the communication platform
[0632] Input: User permissions
[0633] Specific actions: A user launches an application on a smartphone, tablet, or PC, logs in to a social networking site or messaging app, and grants permission to a message from the application requesting access permissions.
[0634] Output: Permission token for social media and messaging apps
[0635] Data processing / calculation: An access token is generated and sent to the server.
[0636] Step 2:
[0637] The server retrieves the friend list and conversation history
[0638] Input: Access token
[0639] Specific operation: The server uses the access token to call the API of the social networking site or messaging app to obtain the user's friend list and conversation history.
[0640] Output: User's friends list and conversation history
[0641] Data processing / calculation: The acquired data is stored in a database.
[0642] Step 3:
[0643] The server analyzes the conversation using a natural language processing algorithm.
[0644] Input: Friends list and conversation history read from the database
[0645] What it does: The server uses natural language processing libraries (e.g., nltk) to perform frequency and sentiment analysis of conversations. It extracts frequently occurring keywords in conversations to identify common hobbies and interests between the user and their friends.
[0646] Output: Analysis results (sentiment analysis results, common hobbies and interests)
[0647] Data processing / computation: Text analysis is performed using natural language processing algorithms.
[0648] Step 4:
[0649] The server calculates the compatibility score and recommends compatible friend candidates.
[0650] Input: Analysis results
[0651] Specific operation: The server calculates a compatibility score between the user and each friend based on factors such as frequency of conversation, emotional positivity, number of common hobbies and interests, etc. Friends with the highest scores are listed as potential compatible friends.
[0652] Output: Compatibility score, list of compatible friend candidates
[0653] Data processing / calculation: Compatibility scores are calculated by taking a weighted average of multiple factors.
[0654] Step 5:
[0655] The server generates the best initial message based on common topics
[0656] Input: List of potential friends, conversation history
[0657] How it works: The server uses a generative AI model to extract common topics from past conversations with potential friends and create the best initial message based on that.
[0658] Output: Initial message
[0659] Data processing / calculation: A generative AI model generates text and creates messages that incorporate common hobbies and interests.
[0660] Step 6:
[0661] The first message appears on the smart glasses
[0662] Input: Initial message
[0663] Specific operation: The server sends the generated message to the user's smart glasses and displays it on the display. The user can check the message and edit it if necessary.
[0664] Output: A message is displayed on the smart glasses.
[0665] Data processing / calculation: Message editing functions are provided through the smart glasses interface.
[0666] Step 7:
[0667] The user sends the final message to a potential friend
[0668] Input: User edited message
[0669] Specific action: The user sends a message to a friend candidate through the operation of the smart glasses.
[0670] Output: The message sent.
[0671] Data processing / calculation: A message is sent to potential friends through a communication platform.
[0672] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0673] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user through social networking sites or communication apps, and then combines this with an emotion engine to suggest compatible romantic partners. This system implements the invention in the following way.
[0674] Overall system overview
[0675] This system consists of a user device, a server, and a social networking site and communication application (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users access the system through their own devices and grant permission to access the communication platform. Based on the permission, the server obtains a list of the user's friends and conversation history, and stores them in a database. The stored data is analyzed using a natural language processing algorithm and an emotion engine, which calculates a compatibility score and suggests the most suitable friends.
[0676] Specific processing flow
[0677] User registration and initial data acquisition
[0678] User: Logs in to the application for the first time and grants access to the communications platform.
[0679] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[0680] Server: Save the obtained friend list and conversation history in a database.
[0681] Data analysis and compatibility analysis
[0682] Server: Reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0683] Server: In addition to analyzing the text using natural language processing, the server uses an emotion engine to determine the sentiment of the text and calculates a compatibility score with each friend. This score takes into account conversation frequency, common interests, sentiment analysis, etc.
[0684] Server: Creates a list of compatible friends for the user based on the compatibility score and sends the list to the user's device.
[0685] Support for creating the best message
[0686] Server: Extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[0687] Server: Generates an initial message based on the extracted common topics and emotional information. This message is customized to strengthen friendships.
[0688] Terminal: Presents the generated message to the user, who can review it and edit it if necessary.
[0689] User: Sends the final reviewed and edited message to selected friends.
[0690] Specific examples
[0691] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[0692] 1. User A logs in to the app and grants the system permission to access the communication platform.
[0693] 2. The device generates an access token based on the access permission and sends it to the server.
[0694] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[0695] 4. The server reads the data from the database and analyzes it using natural language processing algorithms and an emotion engine. It evaluates, among other things, frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[0696] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0697] 6. The server sends the evaluation results to the terminal and displays them to User A.
[0698] 7. The server extracts common topics based on sentiment analysis and generates an initial message such as, "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[0699] 8. The terminal displays this message to User A.
[0700] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0701] The system for implementing this invention makes it easier for users to find compatible people among their existing trusted friends, and supports the start of natural communication. In this case, by utilizing the emotion engine, it is possible to understand the user's emotions and generate more appropriate messages.
[0702] The processing flow will be explained below.
[0703] Step 1:
[0704] A user logs into the application and grants access to the communications platform, which gives the user a token that allows access to their friend list and conversation history.
[0705] Step 2:
[0706] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[0707] Step 3:
[0708] The server uses the token to call the communication platform's API and retrieve the user's friend list and conversation history.
[0709] Step 4:
[0710] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[0711] Step 5:
[0712] The server reads the friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0713] Step 6:
[0714] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[0715] Step 7:
[0716] The server uses an emotion engine to determine the user's emotional tendencies and reflects that information in the compatibility score.
[0717] Step 8:
[0718] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[0719] Step 9:
[0720] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[0721] Step 10:
[0722] The user selects friends of interest and sends a request to the server to generate an optimal initial message.
[0723] Step 11:
[0724] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[0725] Step 12:
[0726] The server generates an initial message based on the common topics and emotional information extracted by the server. This message is customized to help strengthen friendships.
[0727] Step 13:
[0728] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0729] Step 14:
[0730] Users can review and edit messages and send them to selected friends, which starts natural communication and deepens friendships.
[0731] Example 2
[0732] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0733] Conventional communication platforms lack support for users to initiate natural communication based on existing friendships. Furthermore, they lack specific methods for finding compatible friends, and do not generate messages based on sentiment analysis. As a result, users often experience difficulties when starting new conversations. Furthermore, because no specific approach is provided for users to build relationships based on their compatibility with friends, potentially good relationships are overlooked.
[0734] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0735] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topic, and means for presenting the generated message to the user terminal and allowing the user to edit it. This allows the user to find compatible friends based on existing friendships and start natural communication that takes sentiment analysis into account.
[0736] A "user terminal" is a communication device used by a user, specifically a smartphone, tablet, PC, etc.
[0737] "Access permission" means that a user grants the system permission to access specific data or functions.
[0738] "Friends list" refers to a list of other users with whom a user is connected on a communication platform.
[0739] "Conversation history" refers to a record of past text messages and chat content exchanged between a user and a friend.
[0740] "Natural language processing algorithms" is a general term for computational technologies and methods for understanding and analyzing human language, and includes functions such as tokenizing conversations, extracting keywords, and understanding context.
[0741] The "compatibility score" is a numerical indicator that expresses the degree of the relationship between a user and a friend, and is calculated based on the frequency of conversations, emotional analysis results, common interests, etc.
[0742] "Sentiment analysis" refers to the technology of identifying emotions within text and determining sentiment trends such as positive, negative, or neutral.
[0743] "Common topics" refer to themes or interests that are frequently discussed between a user and their friends, and are extracted from past conversation history.
[0744] A "first message" is the first text message to start a new conversation with a friend, and is generated based on common topics and emotional information.
[0745] "Suggest" means that the system presents specific content or options to the user.
[0746] "Generated Message" refers to a text message that is automatically generated by the system and is provided to the user for use as is or after editing.
[0747] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to a user on a communication platform, and then combines this with an emotion engine to suggest friends who are compatible with the user. This system is implemented as follows:
[0748] User registration and initial data acquisition
[0749] A user logs in to an app and grants access to a communication platform (e.g., a social networking service). The user's device then generates an access token and sends it to the server. The server uses the access token to retrieve the user's friend list and conversation history, and stores them in a database.
[0750] Data analysis and compatibility analysis
[0751] The server reads the user's conversation history and friend list stored in the database. The server then analyzes the conversation using natural language processing algorithms and emotion engines (e.g., Hugging Face's Transformers and Google Sentiment Analysis API). This analysis includes tokenizing the conversation, extracting keywords, and determining sentiment. A compatibility score is calculated based on conversation frequency, common interests, and the results of the emotion analysis. Based on the compatibility score, the server creates an optimal friend list for the user and sends it to the device.
[0752] Support for creating the best message
[0753] The server extracts common topics from past conversation histories with selected friends. Based on the extracted common topics and emotional information, it generates an initial message to initiate natural communication. The generated message is displayed on the user's device, where the user can review and edit it as needed.
[0754] Specific examples
[0755] When User A logs in to the app and allows access to a social networking service, the following prompt appears:
[0756] "Do you want to allow access to your communications platform?"
[0757] The device generates an access token and displays the message "Generating access token..." The server retrieves the friend list and conversation history based on the access rights, and then displays the prompt "Data retrieved. Next, analysis begins."
[0758] The server is analyzing the conversation content and displays the message "Analyzing conversation content. Please wait a moment." The server calculates a compatibility score based on the sentiment analysis results and displays the prompt "Calculating compatibility score." The optimal friend list is generated and displays the message "A compatible friend list has been generated."
[0759] An initial message based on the common topic is generated and the prompt "Generating initial message based on the common topic" is displayed. The generated message is displayed and the prompt "Here is the suggested message. Do you want to edit it?" is displayed.
[0760] Finally, when the user checks the message and sends it to a friend, they will see the message "Message sent!"
[0761] This system makes it easier for users to find friends with whom they have a good relationship from among their existing trusted friends, and enables them to start natural communication using an emotion engine.
[0762] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0763] Step 1:
[0764] The user logs into the app and grants access to the communication platform
[0765] Input: User login information (username, password) and access permissions
[0766] Specific operation: The user launches the app, enters their username and password on the login screen to authenticate, and then presses the "Allow" button in response to the permission prompt (e.g., "Do you want to allow access to your communication platform?").
[0767] Output: Permission status and authentication information is generated.
[0768] Step 2:
[0769] The device generates an access token and sends it to the server.
[0770] Input: User credentials and permissions
[0771] Specific operation: The device obtains an access token from the communication platform using an authentication protocol such as OAuth 2.0. If successful, the message "Generating access token..." is displayed.
[0772] Output: An access token is generated and sent to the server.
[0773] Step 3:
[0774] The server retrieves the friend list and conversation history and stores them in a database.
[0775] Input: Access token
[0776] Specific operation: The server uses the obtained access token to obtain the user's friend list and conversation history via the communication platform's API. For example, the server sends an API request and analyzes the returned data to extract the necessary information.
[0777] Output: The friend list and conversation history data are saved to the database. A prompt appears saying "The data has been obtained. Now we will begin analysis."
[0778] Step 4:
[0779] The server reads the user's friend list and conversation history from a database
[0780] Input: Friends list and conversation history data
[0781] What happens: The server executes a database query to retrieve the user's friend list and conversation history information.
[0782] Output: The acquired data is loaded for analysis.
[0783] Step 5:
[0784] The server analyzes the conversation using natural language processing algorithms
[0785] Input: Conversation history data
[0786] How it works: The server uses natural language processing libraries such as Python's NLTK and spaCy to tokenize the conversation, extract keywords, and understand the context.
[0787] Output: The analysis result of the conversation content is generated. The message "Analyzing the conversation content. Please wait a moment." is displayed.
[0788] Step 6:
[0789] The server uses an emotion engine to determine the emotion of the text.
[0790] Input: Parsed conversation
[0791] What it does: The server uses Hugging Face Transformers and the Google Sentiment Analysis API to determine the sentiment of the text. It calculates a sentiment score: positive, negative, or neutral.
[0792] Output: Emotion determination result is obtained.
[0793] Step 7:
[0794] The server calculates the compatibility score
[0795] Input: Analysis results and emotion determination results
[0796] Specific operation: The server calculates a compatibility score between the user and each friend based on conversation frequency, common interests, and sentiment analysis results.
[0797] Output: Compatibility score is calculated. The message "Compatibility score is being calculated" is displayed.
[0798] Step 8:
[0799] The server creates an optimal friend list based on the compatibility score and sends it to the device.
[0800] Input: Compatibility score
[0801] Specific operation: The server generates a list of friends with high compatibility scores and sends the list to the user's device.
[0802] Output: The optimal friend list is generated and sent to the device. The message "A compatible friend list has been generated" is displayed.
[0803] Step 9:
[0804] The server extracts common topics and interests
[0805] Input: Conversation history data
[0806] Specific operation: The server extracts frequently occurring keywords and topics from past conversation history and identifies them as common topics.
[0807] Output: Common themes extracted
[0808] Step 10:
[0809] The server generates the initial message
[0810] Input: Common topics and sentiment information
[0811] Specific operation: The server generates an initial message that mimics the start of a natural conversation based on the extracted common topic and emotional information. For example, it generates a message like, "How are you doing lately? We talked about movies before, but do you have any other recommendations?"
[0812] Output: The initial message generated
[0813] Step 11:
[0814] The terminal presents the generated message to the user.
[0815] Input: The initial message generated
[0816] Specific behavior: The user terminal displays the generated message and provides an interface for the user to edit it.
[0817] Output: The user is presented with a message. They are prompted with "Here's the suggested message. Do you want to edit it?"
[0818] Step 12:
[0819] User reviews, edits, and sends message to friend
[0820] Input: Proposed message
[0821] What it does: The user reviews the suggested message, edits it if necessary, and then sends it to their friend.
[0822] Output: Message sent. You should see the message "Message sent!"
[0823] (Application example 2)
[0824] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0825] In modern society, online communication through social networking sites and communication platforms is common, but it is still difficult for users to find compatible friends or potential romantic partners. Even in brick-and-mortar stores, providing optimal customer service and product recommendations requires properly analyzing each customer's past purchase and interaction history and making recommendations based on their emotions. However, current systems make it difficult to do this efficiently, hindering customer satisfaction.
[0826] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0827] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for analyzing the customer's past purchase history and conversation history and generating optimal product suggestion messages, and means for saving the generated product suggestion messages. This not only enables the server to suggest compatible friends and potential romantic partners in online communication, but also improves customer satisfaction in physical stores.
[0828] A "user terminal" is an electronic device that a user uses to access the system, such as a smartphone, tablet, or PC.
[0829] "Access permission" is the act of a user granting permission to a system to access their data.
[0830] A "friend list" is a list of other users who are connected to a user on a social networking site or communication platform.
[0831] A "conversation history" is a record of messages exchanged between a user and their friends.
[0832] A "natural language processing algorithm" is a part of a computer program that analyzes human language and understands its meaning.
[0833] The "compatibility score" is a numerical representation of the compatibility between a user and their friend, calculated based on data such as conversation history.
[0834] The "means for suggesting the best friends" is a process for presenting friends who are determined to be the most compatible with the user based on the compatibility score.
[0835] "Means for extracting common topics" refers to technology for finding common interests and topics between a user and their friends from past conversation history.
[0836] The "means for generating an initial message" is the process of creating an initial message to send to a friend based on a common topic.
[0837] "Purchase history" is a record of products a customer has previously purchased in-store or online.
[0838] The means for analyzing "dialogue history" is a technology for analyzing records of past dialogues between customers and staff.
[0839] The "means for generating a product suggestion message" is a process for creating a message for suggesting the most suitable product to the customer based on the analysis results.
[0840] The "means for saving the generated product suggestion message" is a process for saving the created product suggestion message in a database or the like.
[0841] This system analyzes past conversation history and hobbies and preferences of friends connected via social networking sites and communication platforms, and combines this with an emotion engine to suggest potential romantic partners. It also generates optimal product recommendation messages for brick-and-mortar stores based on customers' past purchase and conversation histories.
[0842] composition
[0843] This system is configured using the following hardware and software.
[0844] Hardware: smartphones, tablets, PCs, servers
[0845] Software: Natural language processing models (e.g., BERT), sentiment analysis engines (e.g., TextBlob), databases (e.g., PostgreSQL), message generation engines
[0846] Overall system functionality
[0847] 1. Data Collection:
[0848] The user device obtains permission to access social networking sites and communication platforms, and sends a list of friends and conversation history to the server, which then stores this data in a database.
[0849] 2. Data Analysis:
[0850] The server reads the user's friend list and conversation history from the database and analyzes the data using natural language processing algorithms and emotion engines. For example, it analyzes the conversation content using the BERT model and performs sentiment analysis using TextBlob. This allows it to calculate a compatibility score based on the frequency of conversations and the degree of emotional agreement.
[0851] 3. Proposal generation:
[0852] Based on the compatibility score, a list of compatible friends is generated for the user and sent to the user's device. The system also generates an initial message based on common topics. In physical stores, the system analyzes the customer's past purchase history and conversation history to generate and save optimal product suggestion messages.
[0853] 4. Message presentation:
[0854] The generated message is presented on the user terminal, and the user can edit it.
[0855] Specific examples
[0856] For example, if the customer ID is "123456" and their most recent purchase was sneakers, the system will analyze the customer's sentiment history and generate a message such as, "We'd like to hear how you're using the sneakers you recently purchased. We can also recommend new related products."
[0857] Prompt Sentence Examples
[0858] An example of a prompt sentence to input to the generative AI model is as follows:
[0859] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[0860] This system not only suggests compatible friends and potential romantic partners for online communication, but also helps improve customer satisfaction in physical stores.
[0861] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0862] Step 1:
[0863] User registration and initial data acquisition
[0864] The user logs into the application for the first time and grants permission to access the communications platform.
[0865] The terminal uses the access token acquired from the user to send the friend list and conversation history to the server.
[0866] The server stores the acquired friend list and conversation history in a database.
[0867] Input: User login information, access permissions
[0868] Output: A database containing the user's friends and conversation history
[0869] Step 2:
[0870] Data analysis and compatibility analysis
[0871] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[0872] It uses the BERT model to analyze the text of the conversation and extract frequent keywords and topics, and TextBlob to perform sentiment analysis and calculate a compatibility score for each friend.
[0873] Input: Friends list, conversation history
[0874] Output: Analyzed conversation content, compatibility score for each friend
[0875] Step 3:
[0876] Recommendations from compatible friends
[0877] The server then suggests the best friends based on the compatibility score. Specifically, it creates a list of friends who frequently interact with the user and who are emotionally compatible with the user.
[0878] The server transmits this list to the user terminal.
[0879] Input: Compatibility score
[0880] Output: Best friends list
[0881] Step 4:
[0882] Optimal message generation support
[0883] The server extracts common topics and interests from past conversations with selected friends, identifying frequently occurring keywords and topics.
[0884] Generates initial messages to strengthen friendships based on common topics and emotional information.
[0885] Input: Conversation history with selected friends, emotional information
[0886] Output: Initial message generated
[0887] Step 5:
[0888] Saving and presenting generated messages
[0889] The server stores the generated messages in a database for future reference and improvement.
[0890] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0891] Input: The generated message
[0892] Output: Message presented to the user, saved to the database
[0893] Step 6:
[0894] Customer suggestion message generation in physical stores
[0895] The server analyzes the customer's past purchase history and interaction history and performs emotion analysis using an emotion engine.
[0896] Use generative AI models to generate optimal product recommendation messages for customers.
[0897] Input: Purchase history, interaction history
[0898] Output: Product suggestion message
[0899] A specific example of a prompt is:
[0900] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[0901] There is.
[0902] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0903] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0904] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0905] [Third embodiment]
[0906] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0907] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0908] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0909] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0910] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0911] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0912] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0913] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0914] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0915] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0916] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0917] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0918] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user via social networking sites or communication apps to suggest compatible romantic partners. This system is implemented in the following way.
[0919] Overall system overview
[0920] This system consists of a user device, a server, and a social networking site or communication app (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users first access the system through their own device and grant permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database. The server then analyzes the stored data using a natural language processing algorithm, calculates a compatibility score, and suggests the most suitable friends.
[0921] Specific processing flow
[0922] User registration and initial data acquisition
[0923] User: Logs in to the application for the first time and grants access to the communications platform.
[0924] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[0925] Server: Save the obtained friend list and conversation history in a database.
[0926] Data analysis and compatibility analysis
[0927] Server: Reads the user's friend list and conversation history from the database, analyzes the conversation content using a natural language processing algorithm, calculates a compatibility score, and creates a list of friends who are compatible with the user.
[0928] Device: Receives a list of compatible friends from the server and displays it to the user.
[0929] User: Review the suggested list of compatible friends.
[0930] Support for creating the best message
[0931] Server: Extracts common topics based on conversation history and uses them to generate the optimal first message.
[0932] Terminal: Presents the generated message to the user.
[0933] User: Review the suggested message, edit if necessary, and send it to their friend.
[0934] Specific examples
[0935] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[0936] 1. User A logs in to the app and grants the system permission to access the communication platform.
[0937] 2. The device generates an access token based on the access permission and sends it to the server.
[0938] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[0939] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[0940] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[0941] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[0942] 7. The server generates an initial message based on the common topic, such as "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[0943] 8. The terminal displays this message to User A.
[0944] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[0945] The system for implementing this invention makes it easier for users to find compatible people from among their existing trusted friends, and supports the start of natural communication.
[0946] The processing flow will be explained below.
[0947] Step 1:
[0948] A user logs into the application and authorizes the linking with the communication platform, which gives the user a token that allows access to their friend list and conversation history.
[0949] Step 2:
[0950] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[0951] Step 3:
[0952] The server uses the token to call the communication platform's API and obtain the user's friend list and conversation history.
[0953] Step 4:
[0954] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[0955] Step 5:
[0956] The server reads the user's friend list and conversation history from a database and analyzes the conversation content using natural language processing algorithms.
[0957] Step 6:
[0958] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[0959] Step 7:
[0960] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[0961] Step 8:
[0962] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[0963] Step 9:
[0964] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords and topics.
[0965] Step 10:
[0966] The server generates an initial message based on the common topics extracted by the server, and the message is customized to help strengthen friendships.
[0967] Step 11:
[0968] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[0969] Step 12:
[0970] The user then confirms and edits the message and sends it to the selected friends, further deepening the friendship and increasing the possibility of it developing into a romantic relationship.
[0971] Example 1
[0972] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0973] With current social networking sites and communication apps, it is difficult for users to find compatible romantic partners among their friends. Furthermore, when composing a first message, users often struggle to decide what to talk about. This hinders the natural start of communication.
[0974] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0975] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for presenting the generated message to the user terminal and allowing the user to edit the message, and means for generating an initial message using a generation AI model. This makes it easier for users to find compatible partners from among their existing trusted friends, allowing for the start of natural communication.
[0976] "User terminal" refers to an electronic device used by a user, and specifically includes smartphones, tablets, personal computers, etc.
[0977] "Getting permission" refers to the process of obtaining user consent to access data such as friend lists and conversation history from a communications platform.
[0978] "Friend list" refers to the list of other users with whom a user is connected via social networking sites or communication apps.
[0979] "Conversation history" refers to the record of messages exchanged by a user on social media or communication apps.
[0980] "Natural language processing algorithms" refer to algorithms that allow computers to understand and analyze human language, specifically performing text analysis, sentiment analysis, and theme extraction.
[0981] "Compatibility score" refers to a numerical indicator that represents the quality of the relationship between a user and a friend based on data analysis.
[0982] "Best friend suggestions" refers to the process of listing friends who are most likely to build a good relationship with the user based on their compatibility scores.
[0983] "Extracting common topics" refers to finding common interests and concerns from past conversation history.
[0984] "Generating the first message" refers to the process of creating the first message based on the extracted common topic.
[0985] "Presenting the generated message" refers to the system displaying the generated message to the user.
[0986] "User edits the message" means that the user modifies the system-generated message to suit their own preferences.
[0987] "Generative AI models" refer to artificial intelligence models used for text generation and natural language processing, with examples such as GPT-3.
[0988] This system analyzes past conversation history and interests of friends who are already connected to the user through social networking sites or communication apps to suggest potential romantic partners who are compatible with the user. This system is comprised of a user device, a server, and a social networking site or communication app (hereinafter referred to as the communication platform).
[0989] System configuration
[0990] The system mainly uses a user device, a server, a database, and a generative AI model. User devices include smartphones, tablets, and PCs. The server is responsible for data processing and proposal processing. The database uses an RDBMS such as MySQL or PostgreSQL, and stores the user's friend list and conversation history.
[0991] Processing flow explanation
[0992] User registration and initial data acquisition
[0993] When a user logs in to the application for the first time, a dialog appears requesting permission to access the communication platform, which the user must grant permission to access.
[0994] The device sends an HTTP request to the server based on the permitted access information to retrieve the friend list and conversation history. This communication uses JSON format.
[0995] The server stores the received friend list and conversation history in a database, for example, by using an SQL INSERT statement.
[0996] Data analysis and compatibility analysis
[0997] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms (e.g., Python's NLTK or spaCy), including text analysis, sentiment analysis, and keyword extraction.
[0998] The server calculates a compatibility score based on the analysis results, specifically by evaluating the frequency and content of conversations and common interests and preferences.
[0999] The terminal receives the friend list based on the compatibility scores sent from the server and displays it to the user. The user interface uses a list view.
[1000] Support for creating the best message
[1001] The server extracts common topics from past conversation history and generates the first message based on them, using a generative AI model (e.g., GPT-3) for this process.
[1002] The terminal presents the generated message to the user, who can review the proposed message and edit it if necessary.
[1003] The user finally sends the message.
[1004] Specific examples
[1005] Suppose user A has two friends, B and C. When user A accesses the system for the first time and grants access to the communication platform, the following process occurs:
[1006] 1. User A logs in to the app and grants permission to access the communication platform.
[1007] 2. The device generates an access token based on the access permission and sends it to the server.
[1008] 3. The server uses the access token to retrieve the friend list and conversation history and saves them in a database.
[1009] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and shared interests to calculate a compatibility score.
[1010] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[1011] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[1012] 7. Based on the common topic, the server uses a generative AI model to generate an initial message such as, "How are you doing? By the way, I'd love to talk more about our shared hobbies."
[1013] 8. The terminal presents this message to User A.
[1014] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[1015] Prompt Sentence Examples
[1016] An example of a prompt used for the generative AI model is, "Generate a message to naturally start a conversation with a friend based on past conversation history and shared hobbies." By inputting this prompt into the AI model, an appropriate message is generated that takes the conversation history into consideration.
[1017] System Benefits
[1018] This system makes it easier for users to find compatible people among their existing trusted friends, supporting the natural start of communication.
[1019] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1020] Step 1:
[1021] When a user logs in to the application for the first time, a dialog box appears on the screen requesting permission to access the communication platform. Inputs include the user entering login information and being asked to consent to the permission. Outputs include the status of the permission. Specific actions include the user launching the app on their smartphone and tapping the "Allow" button to grant permission.
[1022] Step 2:
[1023] The device sends an HTTP request to the server based on the authorized access information. The input includes the access token obtained from the user. The output receives a list of friends and conversation history in JSON format from the server. Specifically, the device sends a GET request to the API endpoint, and the list of friends and conversation history are returned to the device in JSON format.
[1024] Step 3:
[1025] The server stores the received friend list and conversation history in a database. The input includes the JSON data sent from the device. The output shows the status of the data stored in the database. Specifically, the server stores the data in the database using the SQL INSERT statement.
[1026] Step 4:
[1027] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms. The input includes the data read from the database. The output is the analysis results and a compatibility score. Specifically, the server uses Python's NLTK library to perform text analysis, sentiment analysis, and keyword extraction.
[1028] Step 5:
[1029] The server calculates a compatibility score based on the analysis results and creates a list of optimal friends. The input includes the analysis results from a natural language processing algorithm. The output is a compatibility score and an optimal friend list. Specifically, the server calculates the score using co-occurrence network analysis and statistical methods, and creates an optimal friend list.
[1030] Step 6:
[1031] The device receives the friend list based on the compatibility scores sent from the server and displays it to the user. The input includes the friend list sent from the server. The output is the friend list displayed to the user. Specifically, the device uses a list view to display information about friends B and C on the screen.
[1032] Step 7:
[1033] The user checks the suggested list of compatible friends. The input includes the displayed friend list. The output is the user's confirmation status. Specifically, the user scrolls through the list on their smartphone and checks that "Friend B" is displayed.
[1034] Step 8:
[1035] The server extracts common topics based on past conversation history and generates the optimal first message based on that. This is done using a generative AI model. The input includes past conversation history. The output is the generated first message. Specifically, the server sends a prompt to the generative AI model saying, "Based on past conversation history and common hobbies, please generate a message to naturally start a conversation with a friend," and receives the message in response.
[1036] Step 9:
[1037] The terminal presents the generated message to the user. The input includes the message sent from the server. The output is the message presented to the user. In concrete terms, the terminal displays the generated message "I saw an interesting movie recently. Did you see it too?" on the user interface.
[1038] Step 10:
[1039] The user reviews the suggested message, edits it if necessary, and sends it to their friend. The input includes the suggested message. The output includes the edited message and the sending status. The specific behavior is that the user reviews the message, edits it if necessary, and taps the send button to send the message to Friend B.
[1040] (Application example 1)
[1041] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1042] In addition to the conventional technology that analyzes past conversation history and hobbies and preferences to suggest compatible potential romantic partners from among friends the user is already connected with via social networking sites or communication apps, this invention aims to solve the problem of making effective use of travel time and realizing comfortable communication during that time by providing information about the journey to the destination and assisting in matching with other users who share common interests and hobbies while traveling in an autonomous vehicle.
[1043] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1044] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for displaying information on the smart glasses, and means for recommending candidates with common interests. This allows the user to efficiently find compatible friend candidates even while on the move and smoothly start communication with those friends.
[1045] A "user terminal" is a device that can be directly operated by a user, and includes smartphones, tablets, personal computers, etc.
[1046] "Access permission" refers to the procedure by which a user allows a system to use or obtain information.
[1047] A "friend list" refers to a list of friends and acquaintances registered by a user on a social networking site or communication app.
[1048] "Conversation history" refers to the history of past messages and chats that a user has had with friends and acquaintances.
[1049] A "natural language processing algorithm" refers to an algorithm that uses artificial intelligence technology to understand, analyze, and generate human language.
[1050] "Compatibility score" refers to a numerical index of the compatibility between a user and their friends or acquaintances.
[1051] "Common topics" refer to themes or topics that the user and the other person share in past conversations or hobbies and interests.
[1052] "First message" refers to the system-generated message that a user sends to another person for the first time.
[1053] "Smart glasses" are a type of wearable device that has the function of displaying information and can provide information visually.
[1054] "Common interests and hobbies" refer to interests and hobbies that a user shares with other users.
[1055] "Candidates" refer to friends and acquaintances that the system suggests are deemed compatible with the user.
[1056] The present invention is a system that, while a user is traveling in an autonomous vehicle, analyzes past conversation history and hobbies and preferences from among friends connected via social networking sites or communication apps, suggests compatible friend candidates, and allows the user to naturally start communicating with the friend candidates. Specific embodiments of this system are described below.
[1057] The system for implementing this invention is composed of a user terminal, a server, an SNS or communication app (hereinafter referred to as a communication platform), and smart glasses. User terminals include smartphones, tablets, and PCs.
[1058] 1. Collection of User Information
[1059] First, a user accesses the system through their own device and grants permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database.
[1060] 2. Data Analysis
[1061] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms. Specifically, it uses a natural language processing library (e.g., nltk) to perform conversation frequency and sentiment analysis, among other things, to identify common hobbies and interests. It then calculates a compatibility score, quantifying the compatibility between the user and their friends.
[1062] 3. Display on smart glasses
[1063] A user wears smart glasses while traveling in an autonomous vehicle. The server recommends potential friends based on the compatibility score and displays information about the candidates on the smart glasses. The server also extracts common topics based on conversation history and uses them to generate an optimal first message. For example, a message such as "Hello! Would you like to talk about recent movies?" is displayed on the smart glasses.
[1064] 4. Initiating communication
[1065] The user can check the message displayed on the smart glasses, edit it if necessary, and then send it to a friend candidate. This process allows users to efficiently find compatible friend candidates and smoothly start communicating with them, even while on the move.
[1066] For example, when a user travels from their home to a business center in an autonomous vehicle, social media data can be used to identify that "movies" and "hiking" are common interests. A message such as "Hello! Would you like to talk more about movies and hiking?" can then be generated and displayed on the smart glasses.
[1067] An example of a prompt to input to a generative AI model is as follows:
[1068] "Based on the user ID, please analyze past conversation history and recommend compatible friend candidates."
[1069] This system allows users to start communicating with potential friends efficiently and naturally, making effective use of their time while traveling.
[1070] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1071] Step 1:
[1072] Users access the system and grant access to the communication platform
[1073] Input: User permissions
[1074] Specific actions: A user launches an application on a smartphone, tablet, or PC, logs in to a social networking site or messaging app, and grants permission to a message from the application requesting access permissions.
[1075] Output: Permission token for social media and messaging apps
[1076] Data processing / calculation: An access token is generated and sent to the server.
[1077] Step 2:
[1078] The server retrieves the friend list and conversation history
[1079] Input: Access token
[1080] Specific operation: The server uses the access token to call the API of the social networking site or messaging app to obtain the user's friend list and conversation history.
[1081] Output: User's friends list and conversation history
[1082] Data processing / calculation: The acquired data is stored in a database.
[1083] Step 3:
[1084] The server analyzes the conversation using a natural language processing algorithm.
[1085] Input: Friends list and conversation history read from the database
[1086] What it does: The server uses natural language processing libraries (e.g., nltk) to perform frequency and sentiment analysis of conversations. It extracts frequently occurring keywords in conversations to identify common hobbies and interests between the user and their friends.
[1087] Output: Analysis results (sentiment analysis results, common hobbies and interests)
[1088] Data processing / computation: Text analysis is performed using natural language processing algorithms.
[1089] Step 4:
[1090] The server calculates the compatibility score and recommends compatible friend candidates.
[1091] Input: Analysis results
[1092] Specific operation: The server calculates a compatibility score between the user and each friend based on factors such as frequency of conversation, emotional positivity, number of common hobbies and interests, etc. Friends with the highest scores are listed as potential compatible friends.
[1093] Output: Compatibility score, list of compatible friend candidates
[1094] Data processing / calculation: Compatibility scores are calculated by taking a weighted average of multiple factors.
[1095] Step 5:
[1096] The server generates the best initial message based on common topics
[1097] Input: List of potential friends, conversation history
[1098] How it works: The server uses a generative AI model to extract common topics from past conversations with potential friends and create the best initial message based on that.
[1099] Output: Initial message
[1100] Data processing / calculation: A generative AI model generates text and creates messages that incorporate common hobbies and interests.
[1101] Step 6:
[1102] The first message appears on the smart glasses
[1103] Input: Initial message
[1104] Specific operation: The server sends the generated message to the user's smart glasses and displays it on the display. The user can check the message and edit it if necessary.
[1105] Output: A message is displayed on the smart glasses.
[1106] Data processing / calculation: Message editing functions are provided through the smart glasses interface.
[1107] Step 7:
[1108] The user sends the final message to a potential friend
[1109] Input: User edited message
[1110] Specific action: The user sends a message to a friend candidate through the operation of the smart glasses.
[1111] Output: The message sent.
[1112] Data processing / calculation: A message is sent to potential friends through a communication platform.
[1113] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1114] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user through social networking sites or communication apps, and then combines this with an emotion engine to suggest compatible romantic partners. This system implements the invention in the following way.
[1115] Overall system overview
[1116] This system consists of a user device, a server, and a social networking site and communication application (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users access the system through their own devices and grant permission to access the communication platform. Based on the permission, the server obtains a list of the user's friends and conversation history, and stores them in a database. The stored data is analyzed using a natural language processing algorithm and an emotion engine, which calculates a compatibility score and suggests the most suitable friends.
[1117] Specific processing flow
[1118] User registration and initial data acquisition
[1119] User: Logs in to the application for the first time and grants access to the communications platform.
[1120] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[1121] Server: Save the obtained friend list and conversation history in a database.
[1122] Data analysis and compatibility analysis
[1123] Server: Reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1124] Server: In addition to analyzing the text using natural language processing, the server uses an emotion engine to determine the sentiment of the text and calculates a compatibility score with each friend. This score takes into account conversation frequency, common interests, sentiment analysis, etc.
[1125] Server: Creates a list of compatible friends for the user based on the compatibility score and sends the list to the user's device.
[1126] Support for creating the best message
[1127] Server: Extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[1128] Server: Generates an initial message based on the extracted common topics and emotional information. This message is customized to strengthen friendships.
[1129] Terminal: Presents the generated message to the user, who can review it and edit it if necessary.
[1130] User: Sends the final reviewed and edited message to selected friends.
[1131] Specific examples
[1132] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[1133] 1. User A logs in to the app and grants the system permission to access the communication platform.
[1134] 2. The device generates an access token based on the access permission and sends it to the server.
[1135] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[1136] 4. The server reads the data from the database and analyzes it using natural language processing algorithms and an emotion engine. It evaluates, among other things, frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[1137] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[1138] 6. The server sends the evaluation results to the terminal and displays them to User A.
[1139] 7. The server extracts common topics based on sentiment analysis and generates an initial message such as, "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[1140] 8. The terminal displays this message to User A.
[1141] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[1142] The system for implementing this invention makes it easier for users to find compatible people among their existing trusted friends, and supports the start of natural communication. In this case, by utilizing the emotion engine, it is possible to understand the user's emotions and generate more appropriate messages.
[1143] The processing flow will be explained below.
[1144] Step 1:
[1145] A user logs into the application and grants access to the communications platform, which gives the user a token that allows access to their friend list and conversation history.
[1146] Step 2:
[1147] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[1148] Step 3:
[1149] The server uses the token to call the communication platform's API and retrieve the user's friend list and conversation history.
[1150] Step 4:
[1151] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[1152] Step 5:
[1153] The server reads the friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1154] Step 6:
[1155] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[1156] Step 7:
[1157] The server uses an emotion engine to determine the user's emotional tendencies and reflects that information in the compatibility score.
[1158] Step 8:
[1159] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[1160] Step 9:
[1161] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[1162] Step 10:
[1163] The user selects friends of interest and sends a request to the server to generate an optimal initial message.
[1164] Step 11:
[1165] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[1166] Step 12:
[1167] The server generates an initial message based on the common topics and emotional information extracted by the server. This message is customized to help strengthen friendships.
[1168] Step 13:
[1169] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[1170] Step 14:
[1171] Users can review and edit messages and send them to selected friends, which starts natural communication and deepens friendships.
[1172] Example 2
[1173] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1174] Conventional communication platforms lack support for users to initiate natural communication based on existing friendships. Furthermore, they lack specific methods for finding compatible friends, and do not generate messages based on sentiment analysis. As a result, users often experience difficulties when starting new conversations. Furthermore, because no specific approach is provided for users to build relationships based on their compatibility with friends, potentially good relationships are overlooked.
[1175] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1176] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topic, and means for presenting the generated message to the user terminal and allowing the user to edit it. This allows the user to find compatible friends based on existing friendships and start natural communication that takes sentiment analysis into account.
[1177] A "user terminal" is a communication device used by a user, specifically a smartphone, tablet, PC, etc.
[1178] "Access permission" means that a user grants the system permission to access specific data or functions.
[1179] "Friends list" refers to a list of other users with whom a user is connected on a communication platform.
[1180] "Conversation history" refers to a record of past text messages and chat content exchanged between a user and a friend.
[1181] "Natural language processing algorithms" is a general term for computational technologies and methods for understanding and analyzing human language, and includes functions such as tokenizing conversations, extracting keywords, and understanding context.
[1182] The "compatibility score" is a numerical indicator that expresses the degree of the relationship between a user and a friend, and is calculated based on the frequency of conversations, emotional analysis results, common interests, etc.
[1183] "Sentiment analysis" refers to the technology of identifying emotions within text and determining sentiment trends such as positive, negative, or neutral.
[1184] "Common topics" refer to themes or interests that are frequently discussed between a user and their friends, and are extracted from past conversation history.
[1185] A "first message" is the first text message to start a new conversation with a friend, and is generated based on common topics and emotional information.
[1186] "Suggest" means that the system presents specific content or options to the user.
[1187] "Generated Message" refers to a text message that is automatically generated by the system and is provided to the user for use as is or after editing.
[1188] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to a user on a communication platform, and then combines this with an emotion engine to suggest friends who are compatible with the user. This system is implemented as follows:
[1189] User registration and initial data acquisition
[1190] A user logs in to an app and grants access to a communication platform (e.g., a social networking service). The user's device then generates an access token and sends it to the server. The server uses the access token to retrieve the user's friend list and conversation history, and stores them in a database.
[1191] Data analysis and compatibility analysis
[1192] The server reads the user's conversation history and friend list stored in the database. The server then analyzes the conversation using natural language processing algorithms and emotion engines (e.g., Hugging Face's Transformers and Google Sentiment Analysis API). This analysis includes tokenizing the conversation, extracting keywords, and determining sentiment. A compatibility score is calculated based on conversation frequency, common interests, and the results of the emotion analysis. Based on the compatibility score, the server creates an optimal friend list for the user and sends it to the device.
[1193] Support for creating the best message
[1194] The server extracts common topics from past conversation histories with selected friends. Based on the extracted common topics and emotional information, it generates an initial message to initiate natural communication. The generated message is displayed on the user's device, where the user can review and edit it as needed.
[1195] Specific examples
[1196] When User A logs in to the app and allows access to a social networking service, the following prompt appears:
[1197] "Do you want to allow access to your communications platform?"
[1198] The device generates an access token and displays the message "Generating access token..." The server retrieves the friend list and conversation history based on the access rights, and then displays the prompt "Data retrieved. Next, analysis begins."
[1199] The server is analyzing the conversation content and displays the message "Analyzing conversation content. Please wait a moment." The server calculates a compatibility score based on the sentiment analysis results and displays the prompt "Calculating compatibility score." The optimal friend list is generated and displays the message "A compatible friend list has been generated."
[1200] An initial message based on the common topic is generated and the prompt "Generating initial message based on the common topic" is displayed. The generated message is displayed and the prompt "Here is the suggested message. Do you want to edit it?" is displayed.
[1201] Finally, when the user checks the message and sends it to a friend, they will see the message "Message sent!"
[1202] This system makes it easier for users to find friends with whom they have a good relationship from among their existing trusted friends, and enables them to start natural communication using an emotion engine.
[1203] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1204] Step 1:
[1205] The user logs into the app and grants access to the communication platform
[1206] Input: User login information (username, password) and access permissions
[1207] Specific operation: The user launches the app, enters their username and password on the login screen to authenticate, and then presses the "Allow" button in response to the permission prompt (e.g., "Do you want to allow access to your communication platform?").
[1208] Output: Permission status and authentication information is generated.
[1209] Step 2:
[1210] The device generates an access token and sends it to the server.
[1211] Input: User credentials and permissions
[1212] Specific operation: The device obtains an access token from the communication platform using an authentication protocol such as OAuth 2.0. If successful, the message "Generating access token..." is displayed.
[1213] Output: An access token is generated and sent to the server.
[1214] Step 3:
[1215] The server retrieves the friend list and conversation history and stores them in a database.
[1216] Input: Access token
[1217] Specific operation: The server uses the obtained access token to obtain the user's friend list and conversation history via the communication platform's API. For example, the server sends an API request and analyzes the returned data to extract the necessary information.
[1218] Output: The friend list and conversation history data are saved to the database. A prompt appears saying "The data has been obtained. Now we will begin analysis."
[1219] Step 4:
[1220] The server reads the user's friend list and conversation history from a database
[1221] Input: Friends list and conversation history data
[1222] What happens: The server executes a database query to retrieve the user's friend list and conversation history information.
[1223] Output: The acquired data is loaded for analysis.
[1224] Step 5:
[1225] The server analyzes the conversation using natural language processing algorithms
[1226] Input: Conversation history data
[1227] How it works: The server uses natural language processing libraries such as Python's NLTK and spaCy to tokenize the conversation, extract keywords, and understand the context.
[1228] Output: The analysis result of the conversation content is generated. The message "Analyzing the conversation content. Please wait a moment." is displayed.
[1229] Step 6:
[1230] The server uses an emotion engine to determine the emotion of the text.
[1231] Input: Parsed conversation
[1232] What it does: The server uses Hugging Face Transformers and the Google Sentiment Analysis API to determine the sentiment of the text. It calculates a sentiment score: positive, negative, or neutral.
[1233] Output: Emotion determination result is obtained.
[1234] Step 7:
[1235] The server calculates the compatibility score
[1236] Input: Analysis results and emotion determination results
[1237] Specific operation: The server calculates a compatibility score between the user and each friend based on conversation frequency, common interests, and sentiment analysis results.
[1238] Output: Compatibility score is calculated. The message "Compatibility score is being calculated" is displayed.
[1239] Step 8:
[1240] The server creates an optimal friend list based on the compatibility score and sends it to the device.
[1241] Input: Compatibility score
[1242] Specific operation: The server generates a list of friends with high compatibility scores and sends the list to the user's device.
[1243] Output: The optimal friend list is generated and sent to the device. The message "A compatible friend list has been generated" is displayed.
[1244] Step 9:
[1245] The server extracts common topics and interests
[1246] Input: Conversation history data
[1247] Specific operation: The server extracts frequently occurring keywords and topics from past conversation history and identifies them as common topics.
[1248] Output: Common themes extracted
[1249] Step 10:
[1250] The server generates the initial message
[1251] Input: Common topics and sentiment information
[1252] Specific operation: The server generates an initial message that mimics the start of a natural conversation based on the extracted common topic and emotional information. For example, it generates a message like, "How are you doing lately? We talked about movies before, but do you have any other recommendations?"
[1253] Output: The initial message generated
[1254] Step 11:
[1255] The terminal presents the generated message to the user.
[1256] Input: The initial message generated
[1257] Specific behavior: The user terminal displays the generated message and provides an interface for the user to edit it.
[1258] Output: The user is presented with a message. They are prompted with "Here's the suggested message. Do you want to edit it?"
[1259] Step 12:
[1260] User reviews, edits, and sends message to friend
[1261] Input: Proposed message
[1262] What it does: The user reviews the suggested message, edits it if necessary, and then sends it to their friend.
[1263] Output: Message sent. You should see the message "Message sent!"
[1264] (Application example 2)
[1265] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1266] In modern society, online communication through social networking sites and communication platforms is common, but it is still difficult for users to find compatible friends or potential romantic partners. Even in brick-and-mortar stores, providing optimal customer service and product recommendations requires properly analyzing each customer's past purchase and interaction history and making recommendations based on their emotions. However, current systems make it difficult to do this efficiently, hindering customer satisfaction.
[1267] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1268] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for analyzing the customer's past purchase history and conversation history and generating optimal product suggestion messages, and means for saving the generated product suggestion messages. This not only enables the server to suggest compatible friends and potential romantic partners in online communication, but also improves customer satisfaction in physical stores.
[1269] A "user terminal" is an electronic device that a user uses to access the system, such as a smartphone, tablet, or PC.
[1270] "Access permission" is the act of a user granting permission to a system to access their data.
[1271] A "friend list" is a list of other users who are connected to a user on a social networking site or communication platform.
[1272] A "conversation history" is a record of messages exchanged between a user and their friends.
[1273] A "natural language processing algorithm" is a part of a computer program that analyzes human language and understands its meaning.
[1274] The "compatibility score" is a numerical representation of the compatibility between a user and their friend, calculated based on data such as conversation history.
[1275] The "means for suggesting the best friends" is a process for presenting friends who are determined to be the most compatible with the user based on the compatibility score.
[1276] "Means for extracting common topics" refers to technology for finding common interests and topics between a user and their friends from past conversation history.
[1277] The "means for generating an initial message" is the process of creating an initial message to send to a friend based on a common topic.
[1278] "Purchase history" is a record of products a customer has previously purchased in-store or online.
[1279] The means for analyzing "dialogue history" is a technology for analyzing records of past dialogues between customers and staff.
[1280] The "means for generating a product suggestion message" is a process for creating a message for suggesting the most suitable product to the customer based on the analysis results.
[1281] The "means for saving the generated product suggestion message" is a process for saving the created product suggestion message in a database or the like.
[1282] This system analyzes past conversation history and hobbies and preferences of friends connected via social networking sites and communication platforms, and combines this with an emotion engine to suggest potential romantic partners. It also generates optimal product recommendation messages for brick-and-mortar stores based on customers' past purchase and conversation histories.
[1283] composition
[1284] This system is configured using the following hardware and software.
[1285] Hardware: smartphones, tablets, PCs, servers
[1286] Software: Natural language processing models (e.g., BERT), sentiment analysis engines (e.g., TextBlob), databases (e.g., PostgreSQL), message generation engines
[1287] Overall system functionality
[1288] 1. Data Collection:
[1289] The user device obtains permission to access social networking sites and communication platforms, and sends a list of friends and conversation history to the server, which then stores this data in a database.
[1290] 2. Data Analysis:
[1291] The server reads the user's friend list and conversation history from the database and analyzes the data using natural language processing algorithms and emotion engines. For example, it analyzes the conversation content using the BERT model and performs sentiment analysis using TextBlob. This allows it to calculate a compatibility score based on the frequency of conversations and the degree of emotional agreement.
[1292] 3. Proposal generation:
[1293] Based on the compatibility score, a list of compatible friends is generated for the user and sent to the user's device. The system also generates an initial message based on common topics. In physical stores, the system analyzes the customer's past purchase history and conversation history to generate and save optimal product suggestion messages.
[1294] 4. Message presentation:
[1295] The generated message is presented on the user terminal, and the user can edit it.
[1296] Specific examples
[1297] For example, if the customer ID is "123456" and their most recent purchase was sneakers, the system will analyze the customer's sentiment history and generate a message such as, "We'd like to hear how you're using the sneakers you recently purchased. We can also recommend new related products."
[1298] Prompt Sentence Examples
[1299] An example of a prompt sentence to input to the generative AI model is as follows:
[1300] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[1301] This system not only suggests compatible friends and potential romantic partners for online communication, but also helps improve customer satisfaction in physical stores.
[1302] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1303] Step 1:
[1304] User registration and initial data acquisition
[1305] The user logs into the application for the first time and grants permission to access the communications platform.
[1306] The terminal uses the access token acquired from the user to send the friend list and conversation history to the server.
[1307] The server stores the acquired friend list and conversation history in a database.
[1308] Input: User login information, access permissions
[1309] Output: A database containing the user's friends and conversation history
[1310] Step 2:
[1311] Data analysis and compatibility analysis
[1312] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1313] It uses the BERT model to analyze the text of the conversation and extract frequent keywords and topics, and TextBlob to perform sentiment analysis and calculate a compatibility score for each friend.
[1314] Input: Friends list, conversation history
[1315] Output: Analyzed conversation content, compatibility score for each friend
[1316] Step 3:
[1317] Recommendations from compatible friends
[1318] The server then suggests the best friends based on the compatibility score. Specifically, it creates a list of friends who frequently interact with the user and who are emotionally compatible with the user.
[1319] The server transmits this list to the user terminal.
[1320] Input: Compatibility score
[1321] Output: Best friends list
[1322] Step 4:
[1323] Optimal message generation support
[1324] The server extracts common topics and interests from past conversations with selected friends, identifying frequently occurring keywords and topics.
[1325] Generates initial messages to strengthen friendships based on common topics and emotional information.
[1326] Input: Conversation history with selected friends, emotional information
[1327] Output: Initial message generated
[1328] Step 5:
[1329] Saving and presenting generated messages
[1330] The server stores the generated messages in a database for future reference and improvement.
[1331] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[1332] Input: The generated message
[1333] Output: Message presented to the user, saved to the database
[1334] Step 6:
[1335] Customer suggestion message generation in physical stores
[1336] The server analyzes the customer's past purchase history and interaction history and performs emotion analysis using an emotion engine.
[1337] Use generative AI models to generate optimal product recommendation messages for customers.
[1338] Input: Purchase history, interaction history
[1339] Output: Product suggestion message
[1340] A specific example of a prompt is:
[1341] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[1342] There is.
[1343] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1344] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1345] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1346] [Fourth embodiment]
[1347] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1348] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1349] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1350] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1351] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1352] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1353] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1354] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1355] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1356] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1357] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1358] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1359] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1360] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user via social networking sites or communication apps to suggest compatible romantic partners. This system is implemented in the following way.
[1361] Overall system overview
[1362] This system consists of a user device, a server, and a social networking site or communication app (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users first access the system through their own device and grant permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database. The server then analyzes the stored data using a natural language processing algorithm, calculates a compatibility score, and suggests the most suitable friends.
[1363] Specific processing flow
[1364] User registration and initial data acquisition
[1365] User: Logs in to the application for the first time and grants access to the communications platform.
[1366] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[1367] Server: Save the obtained friend list and conversation history in a database.
[1368] Data analysis and compatibility analysis
[1369] Server: Reads the user's friend list and conversation history from the database, analyzes the conversation content using a natural language processing algorithm, calculates a compatibility score, and creates a list of friends who are compatible with the user.
[1370] Device: Receives a list of compatible friends from the server and displays it to the user.
[1371] User: Review the suggested list of compatible friends.
[1372] Support for creating the best message
[1373] Server: Extracts common topics based on conversation history and uses them to generate the optimal first message.
[1374] Terminal: Presents the generated message to the user.
[1375] User: Review the suggested message, edit if necessary, and send it to their friend.
[1376] Specific examples
[1377] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[1378] 1. User A logs in to the app and grants the system permission to access the communication platform.
[1379] 2. The device generates an access token based on the access permission and sends it to the server.
[1380] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[1381] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[1382] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[1383] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[1384] 7. The server generates an initial message based on the common topic, such as "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[1385] 8. The terminal displays this message to User A.
[1386] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[1387] The system for implementing this invention makes it easier for users to find compatible people from among their existing trusted friends, and supports the start of natural communication.
[1388] The processing flow will be explained below.
[1389] Step 1:
[1390] A user logs into the application and authorizes the linking with the communication platform, which gives the user a token that allows access to their friend list and conversation history.
[1391] Step 2:
[1392] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[1393] Step 3:
[1394] The server uses the token to call the communication platform's API and obtain the user's friend list and conversation history.
[1395] Step 4:
[1396] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[1397] Step 5:
[1398] The server reads the user's friend list and conversation history from a database and analyzes the conversation content using natural language processing algorithms.
[1399] Step 6:
[1400] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[1401] Step 7:
[1402] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[1403] Step 8:
[1404] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[1405] Step 9:
[1406] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords and topics.
[1407] Step 10:
[1408] The server generates an initial message based on the common topics extracted by the server, and the message is customized to help strengthen friendships.
[1409] Step 11:
[1410] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[1411] Step 12:
[1412] The user then confirms and edits the message and sends it to the selected friends, further deepening the friendship and increasing the possibility of it developing into a romantic relationship.
[1413] Example 1
[1414] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1415] With current social networking sites and communication apps, it is difficult for users to find compatible romantic partners among their friends. Furthermore, when composing a first message, users often struggle to decide what to talk about. This hinders the natural start of communication.
[1416] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1417] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for presenting the generated message to the user terminal and allowing the user to edit the message, and means for generating an initial message using a generation AI model. This makes it easier for users to find compatible partners from among their existing trusted friends, allowing for the start of natural communication.
[1418] "User terminal" refers to an electronic device used by a user, and specifically includes smartphones, tablets, personal computers, etc.
[1419] "Getting permission" refers to the process of obtaining user consent to access data such as friend lists and conversation history from a communications platform.
[1420] "Friend list" refers to the list of other users with whom a user is connected via social networking sites or communication apps.
[1421] "Conversation history" refers to the record of messages exchanged by a user on social media or communication apps.
[1422] "Natural language processing algorithms" refer to algorithms that allow computers to understand and analyze human language, specifically performing text analysis, sentiment analysis, and theme extraction.
[1423] "Compatibility score" refers to a numerical indicator that represents the quality of the relationship between a user and a friend based on data analysis.
[1424] "Best friend suggestions" refers to the process of listing friends who are most likely to build a good relationship with the user based on their compatibility scores.
[1425] "Extracting common topics" refers to finding common interests and concerns from past conversation history.
[1426] "Generating the first message" refers to the process of creating the first message based on the extracted common topic.
[1427] "Presenting the generated message" refers to the system displaying the generated message to the user.
[1428] "User edits the message" means that the user modifies the system-generated message to suit their own preferences.
[1429] "Generative AI models" refer to artificial intelligence models used for text generation and natural language processing, with examples such as GPT-3.
[1430] This system analyzes past conversation history and interests of friends who are already connected to the user through social networking sites or communication apps to suggest potential romantic partners who are compatible with the user. This system is comprised of a user device, a server, and a social networking site or communication app (hereinafter referred to as the communication platform).
[1431] System configuration
[1432] The system mainly uses a user device, a server, a database, and a generative AI model. User devices include smartphones, tablets, and PCs. The server is responsible for data processing and proposal processing. The database uses an RDBMS such as MySQL or PostgreSQL, and stores the user's friend list and conversation history.
[1433] Processing flow explanation
[1434] User registration and initial data acquisition
[1435] When a user logs in to the application for the first time, a dialog appears requesting permission to access the communication platform, which the user must grant permission to access.
[1436] The device sends an HTTP request to the server based on the permitted access information to retrieve the friend list and conversation history. This communication uses JSON format.
[1437] The server stores the received friend list and conversation history in a database, for example, by using an SQL INSERT statement.
[1438] Data analysis and compatibility analysis
[1439] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms (e.g., Python's NLTK or spaCy), including text analysis, sentiment analysis, and keyword extraction.
[1440] The server calculates a compatibility score based on the analysis results, specifically by evaluating the frequency and content of conversations and common interests and preferences.
[1441] The terminal receives the friend list based on the compatibility scores sent from the server and displays it to the user. The user interface uses a list view.
[1442] Support for creating the best message
[1443] The server extracts common topics from past conversation history and generates the first message based on them, using a generative AI model (e.g., GPT-3) for this process.
[1444] The terminal presents the generated message to the user, who can review the proposed message and edit it if necessary.
[1445] The user finally sends the message.
[1446] Specific examples
[1447] Suppose user A has two friends, B and C. When user A accesses the system for the first time and grants access to the communication platform, the following process occurs:
[1448] 1. User A logs in to the app and grants permission to access the communication platform.
[1449] 2. The device generates an access token based on the access permission and sends it to the server.
[1450] 3. The server uses the access token to retrieve the friend list and conversation history and saves them in a database.
[1451] 4. The server reads the data from the database and analyzes it using natural language processing algorithms, particularly evaluating frequency of conversation, sentiment analysis, and shared interests to calculate a compatibility score.
[1452] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[1453] 6. The server sends the information thus obtained to the terminal and displays it to User A.
[1454] 7. Based on the common topic, the server uses a generative AI model to generate an initial message such as, "How are you doing? By the way, I'd love to talk more about our shared hobbies."
[1455] 8. The terminal presents this message to User A.
[1456] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[1457] Prompt Sentence Examples
[1458] An example of a prompt used for the generative AI model is, "Generate a message to naturally start a conversation with a friend based on past conversation history and shared hobbies." By inputting this prompt into the AI model, an appropriate message is generated that takes the conversation history into consideration.
[1459] System Benefits
[1460] This system makes it easier for users to find compatible people among their existing trusted friends, supporting the natural start of communication.
[1461] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1462] Step 1:
[1463] When a user logs in to the application for the first time, a dialog box appears on the screen requesting permission to access the communication platform. Inputs include the user entering login information and being asked to consent to the permission. Outputs include the status of the permission. Specific actions include the user launching the app on their smartphone and tapping the "Allow" button to grant permission.
[1464] Step 2:
[1465] The device sends an HTTP request to the server based on the authorized access information. The input includes the access token obtained from the user. The output receives a list of friends and conversation history in JSON format from the server. Specifically, the device sends a GET request to the API endpoint, and the list of friends and conversation history are returned to the device in JSON format.
[1466] Step 3:
[1467] The server stores the received friend list and conversation history in a database. The input includes the JSON data sent from the device. The output shows the status of the data stored in the database. Specifically, the server stores the data in the database using the SQL INSERT statement.
[1468] Step 4:
[1469] The server reads the friend list and conversation history from the database and analyzes them using natural language processing algorithms. The input includes the data read from the database. The output is the analysis results and a compatibility score. Specifically, the server uses Python's NLTK library to perform text analysis, sentiment analysis, and keyword extraction.
[1470] Step 5:
[1471] The server calculates a compatibility score based on the analysis results and creates a list of optimal friends. The input includes the analysis results from a natural language processing algorithm. The output is a compatibility score and an optimal friend list. Specifically, the server calculates the score using co-occurrence network analysis and statistical methods, and creates an optimal friend list.
[1472] Step 6:
[1473] The device receives the friend list based on the compatibility scores sent from the server and displays it to the user. The input includes the friend list sent from the server. The output is the friend list displayed to the user. Specifically, the device uses a list view to display information about friends B and C on the screen.
[1474] Step 7:
[1475] The user checks the suggested list of compatible friends. The input includes the displayed friend list. The output is the user's confirmation status. Specifically, the user scrolls through the list on their smartphone and checks that "Friend B" is displayed.
[1476] Step 8:
[1477] The server extracts common topics based on past conversation history and generates the optimal first message based on that. This is done using a generative AI model. The input includes past conversation history. The output is the generated first message. Specifically, the server sends a prompt to the generative AI model saying, "Based on past conversation history and common hobbies, please generate a message to naturally start a conversation with a friend," and receives the message in response.
[1478] Step 9:
[1479] The terminal presents the generated message to the user. The input includes the message sent from the server. The output is the message presented to the user. In concrete terms, the terminal displays the generated message "I saw an interesting movie recently. Did you see it too?" on the user interface.
[1480] Step 10:
[1481] The user reviews the suggested message, edits it if necessary, and sends it to their friend. The input includes the suggested message. The output includes the edited message and the sending status. The specific behavior is that the user reviews the message, edits it if necessary, and taps the send button to send the message to Friend B.
[1482] (Application example 1)
[1483] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1484] In addition to the conventional technology that analyzes past conversation history and hobbies and preferences to suggest compatible potential romantic partners from among friends the user is already connected with via social networking sites or communication apps, this invention aims to solve the problem of making effective use of travel time and realizing comfortable communication during that time by providing information about the journey to the destination and assisting in matching with other users who share common interests and hobbies while traveling in an autonomous vehicle.
[1485] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1486] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topics, means for displaying information on the smart glasses, and means for recommending candidates with common interests. This allows the user to efficiently find compatible friend candidates even while on the move and smoothly start communication with those friends.
[1487] A "user terminal" is a device that can be directly operated by a user, and includes smartphones, tablets, personal computers, etc.
[1488] "Access permission" refers to the procedure by which a user allows a system to use or obtain information.
[1489] A "friend list" refers to a list of friends and acquaintances registered by a user on a social networking site or communication app.
[1490] "Conversation history" refers to the history of past messages and chats that a user has had with friends and acquaintances.
[1491] A "natural language processing algorithm" refers to an algorithm that uses artificial intelligence technology to understand, analyze, and generate human language.
[1492] "Compatibility score" refers to a numerical index of the compatibility between a user and their friends or acquaintances.
[1493] "Common topics" refer to themes or topics that the user and the other person share in past conversations or hobbies and interests.
[1494] "First message" refers to the system-generated message that a user sends to another person for the first time.
[1495] "Smart glasses" are a type of wearable device that has the function of displaying information and can provide information visually.
[1496] "Common interests and hobbies" refer to interests and hobbies that a user shares with other users.
[1497] "Candidates" refer to friends and acquaintances that the system suggests are deemed compatible with the user.
[1498] The present invention is a system that, while a user is traveling in an autonomous vehicle, analyzes past conversation history and hobbies and preferences from among friends connected via social networking sites or communication apps, suggests compatible friend candidates, and allows the user to naturally start communicating with the friend candidates. Specific embodiments of this system are described below.
[1499] The system for implementing this invention is composed of a user terminal, a server, an SNS or communication app (hereinafter referred to as a communication platform), and smart glasses. User terminals include smartphones, tablets, and PCs.
[1500] 1. Collection of User Information
[1501] First, a user accesses the system through their own device and grants permission to access the communication platform. Based on the permission, the server obtains the user's friend list and conversation history, and stores them in a database.
[1502] 2. Data Analysis
[1503] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms. Specifically, it uses a natural language processing library (e.g., nltk) to perform conversation frequency and sentiment analysis, among other things, to identify common hobbies and interests. It then calculates a compatibility score, quantifying the compatibility between the user and their friends.
[1504] 3. Display on smart glasses
[1505] A user wears smart glasses while traveling in an autonomous vehicle. The server recommends potential friends based on the compatibility score and displays information about the candidates on the smart glasses. The server also extracts common topics based on conversation history and uses them to generate an optimal first message. For example, a message such as "Hello! Would you like to talk about recent movies?" is displayed on the smart glasses.
[1506] 4. Initiating communication
[1507] The user can check the message displayed on the smart glasses, edit it if necessary, and then send it to a friend candidate. This process allows users to efficiently find compatible friend candidates and smoothly start communicating with them, even while on the move.
[1508] For example, when a user travels from their home to a business center in an autonomous vehicle, social media data can be used to identify that "movies" and "hiking" are common interests. A message such as "Hello! Would you like to talk more about movies and hiking?" can then be generated and displayed on the smart glasses.
[1509] An example of a prompt to input to a generative AI model is as follows:
[1510] "Based on the user ID, please analyze past conversation history and recommend compatible friend candidates."
[1511] This system allows users to start communicating with potential friends efficiently and naturally, making effective use of their time while traveling.
[1512] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1513] Step 1:
[1514] Users access the system and grant access to the communication platform
[1515] Input: User permissions
[1516] Specific actions: A user launches an application on a smartphone, tablet, or PC, logs in to a social networking site or messaging app, and grants permission to a message from the application requesting access permissions.
[1517] Output: Permission token for social media and messaging apps
[1518] Data processing / calculation: An access token is generated and sent to the server.
[1519] Step 2:
[1520] The server retrieves the friend list and conversation history
[1521] Input: Access token
[1522] Specific operation: The server uses the access token to call the API of the social networking site or messaging app to obtain the user's friend list and conversation history.
[1523] Output: User's friends list and conversation history
[1524] Data processing / calculation: The acquired data is stored in a database.
[1525] Step 3:
[1526] The server analyzes the conversation using a natural language processing algorithm.
[1527] Input: Friends list and conversation history read from the database
[1528] What it does: The server uses natural language processing libraries (e.g., nltk) to perform frequency and sentiment analysis of conversations. It extracts frequently occurring keywords in conversations to identify common hobbies and interests between the user and their friends.
[1529] Output: Analysis results (sentiment analysis results, common hobbies and interests)
[1530] Data processing / computation: Text analysis is performed using natural language processing algorithms.
[1531] Step 4:
[1532] The server calculates the compatibility score and recommends compatible friend candidates.
[1533] Input: Analysis results
[1534] Specific operation: The server calculates a compatibility score between the user and each friend based on factors such as frequency of conversation, emotional positivity, number of common hobbies and interests, etc. Friends with the highest scores are listed as potential compatible friends.
[1535] Output: Compatibility score, list of compatible friend candidates
[1536] Data processing / calculation: Compatibility scores are calculated by taking a weighted average of multiple factors.
[1537] Step 5:
[1538] The server generates the best initial message based on common topics
[1539] Input: List of potential friends, conversation history
[1540] How it works: The server uses a generative AI model to extract common topics from past conversations with potential friends and create the best initial message based on that.
[1541] Output: Initial message
[1542] Data processing / calculation: A generative AI model generates text and creates messages that incorporate common hobbies and interests.
[1543] Step 6:
[1544] The first message appears on the smart glasses
[1545] Input: Initial message
[1546] Specific operation: The server sends the generated message to the user's smart glasses and displays it on the display. The user can check the message and edit it if necessary.
[1547] Output: A message is displayed on the smart glasses.
[1548] Data processing / calculation: Message editing functions are provided through the smart glasses interface.
[1549] Step 7:
[1550] The user sends the final message to a potential friend
[1551] Input: User edited message
[1552] Specific action: The user sends a message to a friend candidate through the operation of the smart glasses.
[1553] Output: The message sent.
[1554] Data processing / calculation: A message is sent to potential friends through a communication platform.
[1555] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1556] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to the user through social networking sites or communication apps, and then combines this with an emotion engine to suggest compatible romantic partners. This system implements the invention in the following way.
[1557] Overall system overview
[1558] This system consists of a user device, a server, and a social networking site and communication application (hereafter referred to as the communication platform). User devices include smartphones, tablets, and PCs. Users access the system through their own devices and grant permission to access the communication platform. Based on the permission, the server obtains a list of the user's friends and conversation history, and stores them in a database. The stored data is analyzed using a natural language processing algorithm and an emotion engine, which calculates a compatibility score and suggests the most suitable friends.
[1559] Specific processing flow
[1560] User registration and initial data acquisition
[1561] User: Logs in to the application for the first time and grants access to the communications platform.
[1562] Device: Using the access token obtained from the user, send the friend list and conversation history to the server.
[1563] Server: Save the obtained friend list and conversation history in a database.
[1564] Data analysis and compatibility analysis
[1565] Server: Reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1566] Server: In addition to analyzing the text using natural language processing, the server uses an emotion engine to determine the sentiment of the text and calculates a compatibility score with each friend. This score takes into account conversation frequency, common interests, sentiment analysis, etc.
[1567] Server: Creates a list of compatible friends for the user based on the compatibility score and sends the list to the user's device.
[1568] Support for creating the best message
[1569] Server: Extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[1570] Server: Generates an initial message based on the extracted common topics and emotional information. This message is customized to strengthen friendships.
[1571] Terminal: Presents the generated message to the user, who can review it and edit it if necessary.
[1572] User: Sends the final reviewed and edited message to selected friends.
[1573] Specific examples
[1574] For example, assume that user A has friends B and C. When user A accesses the system for the first time and authorizes access to the communication platform, the following process occurs:
[1575] 1. User A logs in to the app and grants the system permission to access the communication platform.
[1576] 2. The device generates an access token based on the access permission and sends it to the server.
[1577] 3. The server uses the access token to retrieve the friend list and conversation history from the communication platform and store them in a database.
[1578] 4. The server reads the data from the database and analyzes it using natural language processing algorithms and an emotion engine. It evaluates, among other things, frequency of conversation, sentiment analysis, and common interests to calculate a compatibility score.
[1579] 5. The server evaluates friends B and C based on the compatibility score. For example, if it is determined that you have many conversations with friend B and many common hobbies, friend B will be suggested as a good match.
[1580] 6. The server sends the evaluation results to the terminal and displays them to User A.
[1581] 7. The server extracts common topics based on sentiment analysis and generates an initial message such as, "How are you doing lately? By the way, I'd like to talk more about our common hobbies."
[1582] 8. The terminal displays this message to User A.
[1583] 9. User A checks the message, edits it if necessary, and sends it to friend B.
[1584] The system for implementing this invention makes it easier for users to find compatible people among their existing trusted friends, and supports the start of natural communication. In this case, by utilizing the emotion engine, it is possible to understand the user's emotions and generate more appropriate messages.
[1585] The processing flow will be explained below.
[1586] Step 1:
[1587] A user logs into the application and grants access to the communications platform, which gives the user a token that allows access to their friend list and conversation history.
[1588] Step 2:
[1589] The device uses the acquired token to send information to the server, specifically including the friend list and conversation history data.
[1590] Step 3:
[1591] The server uses the token to call the communication platform's API and retrieve the user's friend list and conversation history.
[1592] Step 4:
[1593] The server stores the acquired friend list and conversation history in a database for subsequent data analysis.
[1594] Step 5:
[1595] The server reads the friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1596] Step 6:
[1597] The server calculates a compatibility score for each friend based on natural language processing analysis, taking into account frequency of conversations, common interests, and sentiment analysis.
[1598] Step 7:
[1599] The server uses an emotion engine to determine the user's emotional tendencies and reflects that information in the compatibility score.
[1600] Step 8:
[1601] The server creates a list of friends who are compatible with the user based on the compatibility score and transmits the list to the user terminal.
[1602] Step 9:
[1603] The device displays a list of compatible friends to the user, who can then review the list and select friends of interest.
[1604] Step 10:
[1605] The user selects friends of interest and sends a request to the server to generate an optimal initial message.
[1606] Step 11:
[1607] The server extracts common topics and interests from past conversations with selected friends, specifically identifying frequently occurring keywords, topics, and information based on sentiment analysis.
[1608] Step 12:
[1609] The server generates an initial message based on the common topics and emotional information extracted by the server. This message is customized to help strengthen friendships.
[1610] Step 13:
[1611] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[1612] Step 14:
[1613] Users can review and edit messages and send them to selected friends, which starts natural communication and deepens friendships.
[1614] Example 2
[1615] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1616] Conventional communication platforms lack support for users to initiate natural communication based on existing friendships. Furthermore, they lack specific methods for finding compatible friends, and do not generate messages based on sentiment analysis. As a result, users often experience difficulties when starting new conversations. Furthermore, because no specific approach is provided for users to build relationships based on their compatibility with friends, potentially good relationships are overlooked.
[1617] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1618] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for extracting common topics from past conversation history and generating an initial message based on the common topic, and means for presenting the generated message to the user terminal and allowing the user to edit it. This allows the user to find compatible friends based on existing friendships and start natural communication that takes sentiment analysis into account.
[1619] A "user terminal" is a communication device used by a user, specifically a smartphone, tablet, PC, etc.
[1620] "Access permission" means that a user grants the system permission to access specific data or functions.
[1621] "Friends list" refers to a list of other users with whom a user is connected on a communication platform.
[1622] "Conversation history" refers to a record of past text messages and chat content exchanged between a user and a friend.
[1623] "Natural language processing algorithms" is a general term for computational technologies and methods for understanding and analyzing human language, and includes functions such as tokenizing conversations, extracting keywords, and understanding context.
[1624] The "compatibility score" is a numerical indicator that expresses the degree of the relationship between a user and a friend, and is calculated based on the frequency of conversations, emotional analysis results, common interests, etc.
[1625] "Sentiment analysis" refers to the technology of identifying emotions within text and determining sentiment trends such as positive, negative, or neutral.
[1626] "Common topics" refer to themes or interests that are frequently discussed between a user and their friends, and are extracted from past conversation history.
[1627] A "first message" is the first text message to start a new conversation with a friend, and is generated based on common topics and emotional information.
[1628] "Suggest" means that the system presents specific content or options to the user.
[1629] "Generated Message" refers to a text message that is automatically generated by the system and is provided to the user for use as is or after editing.
[1630] The present invention is a system that analyzes past conversation history and hobbies and preferences of friends who are already connected to a user on a communication platform, and then combines this with an emotion engine to suggest friends who are compatible with the user. This system is implemented as follows:
[1631] User registration and initial data acquisition
[1632] A user logs in to an app and grants access to a communication platform (e.g., a social networking service). The user's device then generates an access token and sends it to the server. The server uses the access token to retrieve the user's friend list and conversation history, and stores them in a database.
[1633] Data analysis and compatibility analysis
[1634] The server reads the user's conversation history and friend list stored in the database. The server then analyzes the conversation using natural language processing algorithms and emotion engines (e.g., Hugging Face's Transformers and Google Sentiment Analysis API). This analysis includes tokenizing the conversation, extracting keywords, and determining sentiment. A compatibility score is calculated based on conversation frequency, common interests, and the results of the emotion analysis. Based on the compatibility score, the server creates an optimal friend list for the user and sends it to the device.
[1635] Support for creating the best message
[1636] The server extracts common topics from past conversation histories with selected friends. Based on the extracted common topics and emotional information, it generates an initial message to initiate natural communication. The generated message is displayed on the user's device, where the user can review and edit it as needed.
[1637] Specific examples
[1638] When User A logs in to the app and allows access to a social networking service, the following prompt appears:
[1639] "Do you want to allow access to your communications platform?"
[1640] The device generates an access token and displays the message "Generating access token..." The server retrieves the friend list and conversation history based on the access rights, and then displays the prompt "Data retrieved. Next, analysis begins."
[1641] The server is analyzing the conversation content and displays the message "Analyzing conversation content. Please wait a moment." The server calculates a compatibility score based on the sentiment analysis results and displays the prompt "Calculating compatibility score." The optimal friend list is generated and displays the message "A compatible friend list has been generated."
[1642] An initial message based on the common topic is generated and the prompt "Generating initial message based on the common topic" is displayed. The generated message is displayed and the prompt "Here is the suggested message. Do you want to edit it?" is displayed.
[1643] Finally, when the user checks the message and sends it to a friend, they will see the message "Message sent!"
[1644] This system makes it easier for users to find friends with whom they have a good relationship from among their existing trusted friends, and enables them to start natural communication using an emotion engine.
[1645] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1646] Step 1:
[1647] The user logs into the app and grants access to the communication platform
[1648] Input: User login information (username, password) and access permissions
[1649] Specific operation: The user launches the app, enters their username and password on the login screen to authenticate, and then presses the "Allow" button in response to the permission prompt (e.g., "Do you want to allow access to your communication platform?").
[1650] Output: Permission status and authentication information is generated.
[1651] Step 2:
[1652] The device generates an access token and sends it to the server.
[1653] Input: User credentials and permissions
[1654] Specific operation: The device obtains an access token from the communication platform using an authentication protocol such as OAuth 2.0. If successful, the message "Generating access token..." is displayed.
[1655] Output: An access token is generated and sent to the server.
[1656] Step 3:
[1657] The server retrieves the friend list and conversation history and stores them in a database.
[1658] Input: Access token
[1659] Specific operation: The server uses the obtained access token to obtain the user's friend list and conversation history via the communication platform's API. For example, the server sends an API request and analyzes the returned data to extract the necessary information.
[1660] Output: The friend list and conversation history data are saved to the database. A prompt appears saying "The data has been obtained. Now we will begin analysis."
[1661] Step 4:
[1662] The server reads the user's friend list and conversation history from a database
[1663] Input: Friends list and conversation history data
[1664] What happens: The server executes a database query to retrieve the user's friend list and conversation history information.
[1665] Output: The acquired data is loaded for analysis.
[1666] Step 5:
[1667] The server analyzes the conversation using natural language processing algorithms
[1668] Input: Conversation history data
[1669] How it works: The server uses natural language processing libraries such as Python's NLTK and spaCy to tokenize the conversation, extract keywords, and understand the context.
[1670] Output: The analysis result of the conversation content is generated. The message "Analyzing the conversation content. Please wait a moment." is displayed.
[1671] Step 6:
[1672] The server uses an emotion engine to determine the emotion of the text.
[1673] Input: Parsed conversation
[1674] What it does: The server uses Hugging Face Transformers and the Google Sentiment Analysis API to determine the sentiment of the text. It calculates a sentiment score: positive, negative, or neutral.
[1675] Output: Emotion determination result is obtained.
[1676] Step 7:
[1677] The server calculates the compatibility score
[1678] Input: Analysis results and emotion determination results
[1679] Specific operation: The server calculates a compatibility score between the user and each friend based on conversation frequency, common interests, and sentiment analysis results.
[1680] Output: Compatibility score is calculated. The message "Compatibility score is being calculated" is displayed.
[1681] Step 8:
[1682] The server creates an optimal friend list based on the compatibility score and sends it to the device.
[1683] Input: Compatibility score
[1684] Specific operation: The server generates a list of friends with high compatibility scores and sends the list to the user's device.
[1685] Output: The optimal friend list is generated and sent to the device. The message "A compatible friend list has been generated" is displayed.
[1686] Step 9:
[1687] The server extracts common topics and interests
[1688] Input: Conversation history data
[1689] Specific operation: The server extracts frequently occurring keywords and topics from past conversation history and identifies them as common topics.
[1690] Output: Common themes extracted
[1691] Step 10:
[1692] The server generates the initial message
[1693] Input: Common topics and sentiment information
[1694] Specific operation: The server generates an initial message that mimics the start of a natural conversation based on the extracted common topic and emotional information. For example, it generates a message like, "How are you doing lately? We talked about movies before, but do you have any other recommendations?"
[1695] Output: The initial message generated
[1696] Step 11:
[1697] The terminal presents the generated message to the user.
[1698] Input: The initial message generated
[1699] Specific behavior: The user terminal displays the generated message and provides an interface for the user to edit it.
[1700] Output: The user is presented with a message. They are prompted with "Here's the suggested message. Do you want to edit it?"
[1701] Step 12:
[1702] User reviews, edits, and sends message to friend
[1703] Input: Proposed message
[1704] What it does: The user reviews the suggested message, edits it if necessary, and then sends it to their friend.
[1705] Output: Message sent. You should see the message "Message sent!"
[1706] (Application example 2)
[1707] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1708] In modern society, online communication through social networking sites and communication platforms is common, but it is still difficult for users to find compatible friends or potential romantic partners. Even in brick-and-mortar stores, providing optimal customer service and product recommendations requires properly analyzing each customer's past purchase and interaction history and making recommendations based on their emotions. However, current systems make it difficult to do this efficiently, hindering customer satisfaction.
[1709] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1710] In this invention, the server includes means for obtaining access permission from the user terminal and extracting a friend list and conversation history, means for analyzing the conversation history using a natural language processing algorithm and calculating a compatibility score, means for suggesting optimal friends based on the compatibility score, means for analyzing the customer's past purchase history and conversation history and generating optimal product suggestion messages, and means for saving the generated product suggestion messages. This not only enables the server to suggest compatible friends and potential romantic partners in online communication, but also improves customer satisfaction in physical stores.
[1711] A "user terminal" is an electronic device that a user uses to access the system, such as a smartphone, tablet, or PC.
[1712] "Access permission" is the act of a user granting permission to a system to access their data.
[1713] A "friend list" is a list of other users who are connected to a user on a social networking site or communication platform.
[1714] A "conversation history" is a record of messages exchanged between a user and their friends.
[1715] A "natural language processing algorithm" is a part of a computer program that analyzes human language and understands its meaning.
[1716] The "compatibility score" is a numerical representation of the compatibility between a user and their friend, calculated based on data such as conversation history.
[1717] The "means for suggesting the best friends" is a process for presenting friends who are determined to be the most compatible with the user based on the compatibility score.
[1718] "Means for extracting common topics" refers to technology for finding common interests and topics between a user and their friends from past conversation history.
[1719] The "means for generating an initial message" is the process of creating an initial message to send to a friend based on a common topic.
[1720] "Purchase history" is a record of products a customer has previously purchased in-store or online.
[1721] The means for analyzing "dialogue history" is a technology for analyzing records of past dialogues between customers and staff.
[1722] The "means for generating a product suggestion message" is a process for creating a message for suggesting the most suitable product to the customer based on the analysis results.
[1723] The "means for saving the generated product suggestion message" is a process for saving the created product suggestion message in a database or the like.
[1724] This system analyzes past conversation history and hobbies and preferences of friends connected via social networking sites and communication platforms, and combines this with an emotion engine to suggest potential romantic partners. It also generates optimal product recommendation messages for brick-and-mortar stores based on customers' past purchase and conversation histories.
[1725] composition
[1726] This system is configured using the following hardware and software.
[1727] Hardware: smartphones, tablets, PCs, servers
[1728] Software: Natural language processing models (e.g., BERT), sentiment analysis engines (e.g., TextBlob), databases (e.g., PostgreSQL), message generation engines
[1729] Overall system functionality
[1730] 1. Data Collection:
[1731] The user device obtains permission to access social networking sites and communication platforms, and sends a list of friends and conversation history to the server, which then stores this data in a database.
[1732] 2. Data Analysis:
[1733] The server reads the user's friend list and conversation history from the database and analyzes the data using natural language processing algorithms and emotion engines. For example, it analyzes the conversation content using the BERT model and performs sentiment analysis using TextBlob. This allows it to calculate a compatibility score based on the frequency of conversations and the degree of emotional agreement.
[1734] 3. Proposal generation:
[1735] Based on the compatibility score, a list of compatible friends is generated for the user and sent to the user's device. The system also generates an initial message based on common topics. In physical stores, the system analyzes the customer's past purchase history and conversation history to generate and save optimal product suggestion messages.
[1736] 4. Message presentation:
[1737] The generated message is presented on the user terminal, and the user can edit it.
[1738] Specific examples
[1739] For example, if the customer ID is "123456" and their most recent purchase was sneakers, the system will analyze the customer's sentiment history and generate a message such as, "We'd like to hear how you're using the sneakers you recently purchased. We can also recommend new related products."
[1740] Prompt Sentence Examples
[1741] An example of a prompt sentence to input to the generative AI model is as follows:
[1742] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[1743] This system not only suggests compatible friends and potential romantic partners for online communication, but also helps improve customer satisfaction in physical stores.
[1744] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1745] Step 1:
[1746] User registration and initial data acquisition
[1747] The user logs into the application for the first time and grants permission to access the communications platform.
[1748] The terminal uses the access token acquired from the user to send the friend list and conversation history to the server.
[1749] The server stores the acquired friend list and conversation history in a database.
[1750] Input: User login information, access permissions
[1751] Output: A database containing the user's friends and conversation history
[1752] Step 2:
[1753] Data analysis and compatibility analysis
[1754] The server reads the user's friend list and conversation history from the database and analyzes the conversation content using natural language processing algorithms and an emotion engine.
[1755] It uses the BERT model to analyze the text of the conversation and extract frequent keywords and topics, and TextBlob to perform sentiment analysis and calculate a compatibility score for each friend.
[1756] Input: Friends list, conversation history
[1757] Output: Analyzed conversation content, compatibility score for each friend
[1758] Step 3:
[1759] Recommendations from compatible friends
[1760] The server then suggests the best friends based on the compatibility score. Specifically, it creates a list of friends who frequently interact with the user and who are emotionally compatible with the user.
[1761] The server transmits this list to the user terminal.
[1762] Input: Compatibility score
[1763] Output: Best friends list
[1764] Step 4:
[1765] Optimal message generation support
[1766] The server extracts common topics and interests from past conversations with selected friends, identifying frequently occurring keywords and topics.
[1767] Generates initial messages to strengthen friendships based on common topics and emotional information.
[1768] Input: Conversation history with selected friends, emotional information
[1769] Output: Initial message generated
[1770] Step 5:
[1771] Saving and presenting generated messages
[1772] The server stores the generated messages in a database for future reference and improvement.
[1773] The terminal presents the generated message to the user, who can review it and edit it if necessary.
[1774] Input: The generated message
[1775] Output: Message presented to the user, saved to the database
[1776] Step 6:
[1777] Customer suggestion message generation in physical stores
[1778] The server analyzes the customer's past purchase history and interaction history and performs emotion analysis using an emotion engine.
[1779] Use generative AI models to generate optimal product recommendation messages for customers.
[1780] Input: Purchase history, interaction history
[1781] Output: Product suggestion message
[1782] A specific example of a prompt is:
[1783] Based on the conversation history for customer ID 123456, generate a message like this: Tell us about your experience with the sneakers you recently purchased. We'd also like to recommend some related new products.
[1784] There is.
[1785] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1786] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1787] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1788] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1789] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1790] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1791] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1792] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, motorcycles, and other devices, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1793] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1794] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1795] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1796] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1797] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1798] 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.
[1799] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1800] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1801] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1802] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1803] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1804] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1805] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1806] The following is further disclosed regarding the above embodiment.
[1807] (Claim 1)
[1808] A means for obtaining access permissions from the user device to extract a friend list and conversation history;
[1809] a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score;
[1810] a means for suggesting suitable friends based on a compatibility score;
[1811] A means for extracting common topics from past conversation histories and generating an initial message based on the common topics;
[1812] A system including:
[1813] (Claim 2)
[1814] 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
[1815] (Claim 3)
[1816] 10. The system of claim 1, further comprising means for presenting the generated message to a user terminal and for allowing the user to edit the message.
[1817] "Example 1"
[1818] (Claim 1)
[1819] A means for obtaining access permissions from the user device to extract a friend list and conversation history;
[1820] a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score;
[1821] a means for suggesting suitable friends based on a compatibility score;
[1822] A means for extracting common topics from past conversation histories and generating an initial message based on the common topics;
[1823] means for presenting the generated message on a user terminal and for the user to edit the message;
[1824] A system including:
[1825] (Claim 2)
[1826] 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
[1827] (Claim 3)
[1828] 10. The system of claim 1, further comprising means for generating an initial message using a generative AI model.
[1829] "Application Example 1"
[1830] (Claim 1)
[1831] A means for obtaining access permissions from the user device to extract a friend list and conversation history;
[1832] a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score;
[1833] a means for suggesting suitable friends based on a compatibility score;
[1834] A means for extracting common topics from past conversation histories and generating an initial message based on the common topics;
[1835] a means for displaying information on the smart glasses;
[1836] a means of recommending candidates with common interests;
[1837] A system including:
[1838] (Claim 2)
[1839] 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
[1840] (Claim 3)
[1841] 10. The system of claim 1, further comprising means for presenting the generated message to a user terminal and for allowing the user to edit the message.
[1842] "Example 2: Combining Emotion Engines"
[1843] (Claim 1)
[1844] A means for obtaining access permissions from the user device to extract a friend list and conversation history;
[1845] a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score;
[1846] a means for suggesting suitable friends based on a compatibility score;
[1847] A means for extracting common topics from past conversation histories and generating an initial message based on the common topics;
[1848] means for presenting the generated message on a user terminal and for the user to edit it;
[1849] A system including:
[1850] (Claim 2)
[1851] 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
[1852] (Claim 3)
[1853] 10. The system of claim 1, further comprising means for transmitting the suggested best friend list to the user terminal.
[1854] "Application example 2 when combining emotion engines"
[1855] (Claim 1)
[1856] A means for obtaining access permissions from the user device to extract a friend list and conversation history;
[1857] a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score;
[1858] a means for suggesting suitable friends based on a compatibility score;
[1859] A means for extracting common topics from past conversation histories and generating an initial message based on the common topics;
[1860] A means for analyzing a customer's past purchase history and interaction history and generating an optimal product suggestion message;
[1861] a means for storing the generated product suggestion message;
[1862] A system including:
[1863] (Claim 2)
[1864] 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
[1865] (Claim 3)
[1866] 10. The system of claim 1, further comprising means for presenting the generated message to a user terminal and for allowing the user to edit the message. [Explanation of symbols]
[1867] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for obtaining access permissions from the user device to extract a friend list and conversation history; a means for analyzing the conversation history using a natural language processing algorithm to calculate a compatibility score; a means for suggesting suitable friends based on a compatibility score; A means for extracting common topics from past conversation histories and generating an initial message based on the common topics; A system including:
2. 10. The system of claim 1, wherein the natural language processing algorithm for analyzing the conversation history includes means for performing specific sentiment analysis.
3. 2. The system of claim 1, further comprising means for presenting the generated message to a user terminal and for the user to edit the message.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A