System
A system using natural language processing and compatibility scoring helps users find romantic partners from their friend lists, addressing trust issues and automating message composition for initial approaches.
Patent Information
- Application Number
- JP2024118236
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
Many individuals are reluctant to use matching services to connect with complete strangers due to trust issues and psychological barriers, and finding potential romantic partners from their existing friend lists is challenging.
A system that utilizes a friend list to suggest suitable romantic partners by preprocessing data through natural language processing, analyzing emotions and preferences, calculating compatibility scores, generating initial messages, and monitoring message status, while filtering candidates by marital status and leveraging past conversation history.
Facilitates the identification of reliable potential romantic partners from existing friend lists, reducing user burden by automating message composition and follow-up, and providing support for initial approaches.
Smart Images

Figure 2026017454000001_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] Many people are reluctant to use matching services to connect with complete strangers, and are reluctant to take the "first step." As a result, the lack of trust and psychological barriers inherent in traditional matching services have become a problem. Another issue is the difficulty of finding potential romantic partners, even if users already have many acquaintances on their friend list. To address these issues, a system is needed that can suggest suitable romantic partners by utilizing a friend list that already has a trusted base. [Means for solving the problem]
[0005] The present invention solves these problems by providing a system including: means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data and classifying emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility score, means for suggesting suitable candidates from the generated candidate list, means for creating an initial message for the suggested candidates, means for supporting the sending of the initial message, and means for monitoring the message status after sending and generating a follow-up message. In particular, the problems can be solved more effectively by filtering the suggested candidate list by marital status and generating an initial message based on past conversation history and extracted keywords.
[0006] A "friend list" is a list of other users that a user has registered as contacts through a communication application.
[0007] "Data" refers to information such as conversation history and profile information between the user and other users registered on the friend list.
[0008] "Natural language processing" is a general term for technologies that enable computers to understand, interpret, and manipulate human language.
[0009] "Preprocessing" refers to the initial stage of processing to convert raw data into a form suitable for analysis.
[0010] "Emotion" refers to the emotional state, such as positive, negative, or neutral, that is expressed during a user's conversation.
[0011] "Preferences" refer to specific activities, hobbies, or interests that a user prefers.
[0012] "Classification" is the process of separating data into specific categories or groups.
[0013] The "compatibility score" is a numerical representation of the compatibility and affinity between the user and a friend based on the user's preferences, emotions, and conversation content.
[0014] "Suggestion" refers to the system presenting specific friends to the user as potential romantic partners.
[0015] A "message template" is a message template for a specific situation, intended to make it easier for users to make a first approach.
[0016] "Sending" is the act of a user sending a message to a recipient.
[0017] "Monitoring" is the process by which a system watches and tracks specific data or events.
[0018] A "follow-up message" is a message sent to encourage further communication after an initial message has been sent. [Brief explanation of the drawings]
[0019] [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
[0020] 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.
[0021] First, the terms used in the following description will be explained.
[0022] 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).
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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."
[0027] [First embodiment]
[0028] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0029] 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.
[0030] 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).
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] 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."
[0040] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0041] 1. Processing on the user device
[0042] On the user's device, the user first grants the system permission to access the LINE app. This allows the system to retrieve the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0043] 2. Processing on the server
[0044] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0045] The server then analyzes the preprocessed data through sentiment analysis and keyword extraction of hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0046] 3. Candidate proposals
[0047] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0048] 4. Create and send your first message
[0049] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0050] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0051] Specific examples
[0052] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0053] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as necessary, allowing User A to smoothly start communicating with Friend B.
[0054] This system allows users who are reluctant to use a matching service to connect with complete strangers to find reliable potential romantic partners from their existing friend lists, providing support to help them take the "first step."
[0055] The processing flow will be explained below.
[0056] Step 1:
[0057] The user grants the system permission to connect with the LINE app.
[0058] Step 2:
[0059] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0060] Step 3:
[0061] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0062] Step 4:
[0063] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, classifying the conversation content into positive, negative, and neutral emotions and extracting keywords related to hobbies and preferences.
[0064] Step 5:
[0065] The server calculates a compatibility score for each friend based on the analysis results. For example, a high compatibility score is set for friends who share common hobbies or have a history of positive conversations.
[0066] Step 6:
[0067] The server generates and filters the list of candidates based on compatibility scores, specifically excluding married people from the list and prioritizing reliable unmarried friends.
[0068] Step 7:
[0069] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and identifies the friends proposed as potential romantic partners.
[0070] Step 8:
[0071] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if the topic of sports comes up, the server suggests a message such as, "Have you been to a sporting event recently?"
[0072] Step 9:
[0073] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0074] Step 10:
[0075] The server monitors the status of the sent message, and if there is no reply within a certain period of time, it generates a follow-up message and prompts the user to send it again.
[0076] Example 1
[0077] 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."
[0078] For users of today's numerous communication applications, finding suitable potential romantic partners from their friend lists and making a smooth initial approach can be challenging. It is particularly time-consuming to understand past conversations with potential partners and craft appropriate messages based on that information. Furthermore, if no reply is received after the initial message, further follow-up is required, which is also a significant burden for users. Furthermore, automated filtering of married / unmarried individuals and calculation of compatibility scores are desirable.
[0079] 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.
[0080] In this invention, the server includes a means for calling a communication application API based on the access rights granted by the user and acquiring a friend list and conversation history, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences. This allows users to find suitable romantic partners from their friend list and smoothly compose and send initial approach messages. It also enables automatic generation of follow-up messages and monitoring of their sending status, significantly reducing the burden on users.
[0081] A "communications application API" is a means of obtaining and manipulating data through a program interface provided by a communications application.
[0082] A "friend list" is a list of other users registered by a user on a communication application.
[0083] A "conversation history" is a record of messages that a user has previously exchanged with other users on a communication application.
[0084] "Natural language processing" is a technology for preprocessing text data and analyzing its content.
[0085] "Preprocessing" refers to the preparation work done to convert raw data into an analyzable form, and in the case of text data, this includes tokenization, removal of unnecessary characters, removal of stop words, etc.
[0086] "Emotion" refers to a human emotional state such as joy, sadness, anger, surprise, etc., extracted from text data.
[0087] "Tastes" indicate topics of interest, hobbies, and concerns of a user.
[0088] The "compatibility score" is a numerical representation of the compatibility between the user and a friend, and is calculated based on past conversations and shared hobbies and interests.
[0089] "Candidate List" means a list of potential partners selected based on compatibility scores.
[0090] A "first message" is the first message a user sends to a potential romantic partner.
[0091] A "follow-up message" is a follow-up message sent again if there is no reply to the initial message.
[0092] "Monitoring" refers to monitoring the status of sent messages and taking necessary action depending on the situation.
[0093] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0094] 1. Processing on the user device
[0095] The user first grants the system permission to access the communication application. The system then retrieves the user's friend list and past conversation history through the user's communication application API. On the user's device, the system can view and edit the proposed romantic partner candidates and message templates.
[0096] 2. Processing on the server
[0097] The server calls the communication application API based on the user's access rights and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques, which include tokenizing the text, removing unnecessary characters, and removing stop words.
[0098] The server then performs sentiment analysis and extracts keywords related to interests and hobbies based on the preprocessed data. This analysis can be performed using a generative AI model. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0099] 3. Candidate proposals
[0100] The server generates a candidate list based on the calculated compatibility score. This list is filtered by marital status to prioritize reliable unmarried friends. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0101] 4. Create and send your first message
[0102] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if music has been a hot topic in the past, the server might suggest a message like, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0103] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no reply, generates a follow-up message and prompts them to send it again.
[0104] Specific examples
[0105] For example, suppose User A grants access to the system. The system retrieves Friend B's information from User A's friend list through the API of User A's communication application and analyzes their past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?" If User A sends this message to Friend B and Friend B does not reply, the system suggests a follow-up message saying, "How was it? Let me know if you have anything fun to do!"
[0106] Prompt Sentence Examples
[0107] Examples of prompts that users can input to a generative AI model include:
[0108] "Please suggest compatible romantic partners from user A's friend list."
[0109] "Generate an initial approach message to User B. Their past conversation history has been dominated by topics about music."
[0110] "Suggest a follow-up message to send to friend C if they don't reply to my first message."
[0111] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0112] Step 1:
[0113] The user grants the system access permission for communication application integration. Specifically, the user opens the communication application on their smartphone, transitions to the access permission permission screen, and presses the "Allow" button. The input to this step is the user's access permission, and the output is the system's permission to access the user's data.
[0114] Step 2:
[0115] The server calls the communication application API using the access rights granted by the user to obtain the user's friend list and conversation history. Specifically, the server sends a request to the communication application API and receives the friend list and message history in JSON format. The input of this step is the API request, and the output is the obtained friend list and conversation history data.
[0116] Step 3:
[0117] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input for this step is the friend list and conversation history data, and the output is the preprocessed data. For example, the message "Hello, how are you?" is broken down into tokens such as "Hello," "How are you," and "Is it?"
[0118] Step 4:
[0119] The server analyzes the preprocessed data and classifies emotions and preferences. Specifically, it uses a natural language processing model to perform sentiment analysis of the text and extract keywords related to hobbies and preferences. The input to this step is the preprocessed data, and the output is classified emotional information and preference keywords. For example, keywords such as "movies," "music," and "sports" are obtained, along with emotional information indicating whether the sentence is positive or negative.
[0120] Step 5:
[0121] The server calculates a compatibility score based on the classified information. Specifically, it uses an algorithm that assigns a high score if the emotion is positive or if there are many common hobbies. The input for this step is emotional information and preference keywords, and the output is a compatibility score. For example, Friend B's score might be calculated as 80 points.
[0122] Step 6:
[0123] The server generates a candidate list based on the calculated compatibility score. Specifically, it includes singles with a score above a certain level in the list. The input of this step is the compatibility score, and the output is a filtered list of singles.
[0124] Step 7:
[0125] The server sends the generated candidate list to the user's terminal. Specifically, it sends a notification to the terminal so that the user can view the proposed candidate list. The input of this step is the candidate list, and the output is a notification to the user's terminal.
[0126] Step 8:
[0127] The server generates an initial approach message based on past conversation history and extracted keywords. Specifically, it uses a generative AI model to create a message that matches the user's interests. The input for this step is past conversation history and keywords, and the output is an initial approach message. For example, a message might be generated that says, "Have you seen a movie recently?"
[0128] Step 9:
[0129] The user sends the suggested message to their friend. The user edits the message if necessary and sends the final message through the communication application. The input to this step is the initial approach message and the output is the sent message.
[0130] Step 10:
[0131] The server monitors the status of the sent message. Specifically, it checks for replies from friends and generates follow-up messages if necessary. The input to this step is the sent message, and the output is a follow-up message or the monitoring results. For example, if there is no reply, a follow-up message is generated saying, "How was it? Let me know if you have any fun!"
[0132] (Application example 1)
[0133] 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."
[0134] Conventional systems that suggest potential romantic partners based on a user's friend list have difficulty making specific suggestions based on the user's interests and concerns in real life situations. Furthermore, when users shop in virtual stores or online, they lack useful romance-related suggestions and gift ideas, making it difficult for them to take real-life action.
[0135] 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.
[0136] In this invention, the server includes means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility score, means for suggesting suitable candidates from the generated candidate list, means for creating a first message for the suggested candidates, means for supporting the sending of the first message, means for monitoring the message status after sending and generating a follow-up message, and means for suggesting specific friends based on the user's friend list in a virtual store and providing date plans and gift ideas. This allows a user to find reliable romantic partners from their existing friend list and appropriately suggest date plans and gift ideas when selecting romance-related products or services in the virtual store.
[0137] A "buddy list" is a portion of a user's contact list that contains people known through a particular communication application.
[0138] "Candidates" refer to people selected from the friend list who may be recommended to the user.
[0139] "Data Acquisition Means" refers to a combination of hardware and software for acquiring friend lists and related information.
[0140] "Natural Language Processing (NLP)" is the technology that enables computers to understand, interpret, and generate human language.
[0141] "Preprocessing" refers to the process of converting data into a format that is easier to analyze, and specifically includes tokenizing text, removing unnecessary characters, removing stop words, etc.
[0142] Emotion and preference classification is the process of analyzing pre-processed data to identify a person's emotional state and interests and classify them into categories.
[0143] The "compatibility score" is a numerical index of the compatibility between the user and the candidate.
[0144] A "candidate list" is a list containing multiple candidates generated based on compatibility scores.
[0145] The "initial message" is a greeting or inquiry message that a user sends to a candidate for the first time.
[0146] A "follow-up message" is a message sent when there is no response after the initial message is sent or when further communication is required.
[0147] A "virtual store" is a virtual shopping location provided on the Internet, an online platform where users can browse and purchase products and services.
[0148] A "date plan" is a plan that includes specific dates, times, locations, and activities for the user and the candidate to enjoy together.
[0149] "Gift Ideas" are suggestions for suitable presents to give to specific people.
[0150] The present invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. Detailed embodiments of the present invention will be described below.
[0151] Processing on the user terminal
[0152] On the user's device, the user first grants the system permission to access the communication app. This allows the system to begin retrieving the user's friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0153] Processing on the server
[0154] The server calls the communication app's API based on the user's access permissions and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) technology. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are eliminated. The server then analyzes the preprocessed data using sentiment analysis and preference keyword extraction. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if the user has common hobbies and interests, the compatibility score is set high.
[0155] Candidate proposals
[0156] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0157] Creating and sending your first message
[0158] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively discussion about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed. The user selects a suggested message and sends it to their friend. The system then monitors the status of the sent message, and if there is no reply, it generates a follow-up message and encourages the user to send it again.
[0159] Virtual in-store processing
[0160] In the virtual store, when a user is browsing for romance-related products and services, the system will suggest specific friends based on the user's friend list and provide date plans and gift ideas. For example, when choosing a gift for a loved one, the system will analyze the friend list and past conversation history to suggest suitable items and date spots.
[0161] Specific examples
[0162] As a concrete example, when a user searches for "date plans" in a virtual store, the system suggests "Friend C" from the friend list and generates a message such as "Date plans with Friend C: Let's go to the recently opened cafe."
[0163] Prompt Sentence Examples
[0164] inputs:
[0165] A user's friends list
[0166] Past conversation history
[0167] outputs:
[0168] Suggesting friends as potential romantic partners
[0169] Date Plan
[0170] Gift Ideas
[0171] Example: If "Friend C" on the user's friend list has previously said "I want to go to a new cafe," the system will suggest a cafe date.
[0172] In this way, the automatic suggestion system is an application that analyzes the user's friend data and suggests suitable romantic partners and date plans, and by providing specific date plans and gift ideas, it can lead to actual user behavior.
[0173] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0174] Step 1:
[0175] On the user device, the user grants the system access permission for communication app integration. By doing so, the user grants the system permission to obtain the friend list and past conversation history. The input data is the user's access permission, and the output data is the friend list and conversation history that can be obtained.
[0176] Step 2:
[0177] The server collects the acquired friend list and past conversation history using the communication app API. The input data is the user's friend list and conversation history, and the output data is the original dataset.
[0178] Step 3:
[0179] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is the collected text data of the friend list and conversation history, and the output data is the preprocessed text data.
[0180] Step 4:
[0181] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, which allows for classification of emotions and preferences. The input data is the preprocessed text data, and the output data is the sentiment analysis results and extracted keywords.
[0182] Step 5:
[0183] The server calculates a compatibility score for each friend based on the analysis results. Specifically, the score is set based on the frequency of positive reactions and common hobbies and interests. The input data are the sentiment analysis results and keywords, and the output data is the compatibility score.
[0184] Step 6:
[0185] The server generates a candidate list based on compatibility scores. This list is filtered by marital status. The input data is the compatibility scores, and the output data is the filtered candidate list.
[0186] Step 7:
[0187] The user terminal displays the generated candidate list to the user, who then browses the list and selects an appropriate candidate. The input data is the filtered candidate list, and the output data is the user's selection.
[0188] Step 8:
[0189] The server generates an initial approach message based on the past conversation history and extracted keywords. The input data are the user's selection, conversation history, and keywords, and the output data is a suggested initial message.
[0190] Step 9:
[0191] The user terminal displays the proposed initial message to the user, who then confirms, edits, and sends the message. The input data is the proposed initial message, and the output data is the sent message.
[0192] Step 10:
[0193] The server monitors the status of messages after they are sent and generates a follow-up message if there is no reply. The input data is the sent message and its sending status, and the output data is the follow-up message.
[0194] Step 11:
[0195] In the virtual store, the system suggests specific friends based on the user's friend list and provides date plans and gift ideas. The input data is the user's friend list and past conversation history, and the output data is suggested date plans and gift ideas.
[0196] 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.
[0197] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0198] 1. Processing on the user device
[0199] On the user's device, the user grants the system permission to link with the LINE app. This allows the system to begin retrieving the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0200] 2. Processing on the server
[0201] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0202] The server then analyzes the preprocessed data using an emotion engine to perform sentiment analysis and keyword extraction. The emotion engine categorizes the conversations between the user and their friends into positive, negative, and neutral emotions and extracts keywords related to their hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[0203] 3. Candidate proposals
[0204] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0205] 4. Create and send your first message
[0206] The server generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0207] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0208] Specific examples
[0209] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using an emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations end with positive reactions. It also confirms that User A's real-time emotional state is favorable. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0210] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as needed. For example, if there is no reply, the system generates a follow-up message such as "How are you? What have you been up to lately?" In this way, User A can smoothly start communicating with Friend B.
[0211] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0212] The processing flow will be explained below.
[0213] Step 1:
[0214] The user grants the system permission to connect with the LINE app.
[0215] Step 2:
[0216] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0217] Step 3:
[0218] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0219] Step 4:
[0220] The server uses an emotion engine to analyze the pre-processed data and classify the conversation into positive, negative, or neutral emotions.
[0221] Step 5:
[0222] The server uses an emotion engine to determine the user's real-time emotional state from the analysis results.
[0223] Step 6:
[0224] The server extracts keywords related to hobbies and preferences from the preprocessed data.
[0225] Step 7:
[0226] The server calculates a compatibility score for each friend based on the extracted keywords and sentiment analysis. For example, a high compatibility score is assigned to friends who have common interests or many positive conversations.
[0227] Step 8:
[0228] The server generates a candidate list based on the calculated compatibility score, filtering out married people and prioritizing reliable unmarried friends.
[0229] Step 9:
[0230] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and browses the friends suggested as potential romantic partners.
[0231] Step 10:
[0232] The server generates an initial approach message based on past conversation history, extracted keywords, and the results of the emotion engine. For example, if the topic of sports comes up, the server might suggest a message such as, "Have you been to a sporting event recently?"
[0233] Step 11:
[0234] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0235] Step 12:
[0236] The server monitors the status of sent messages and, if there is no reply within a certain period of time, generates a follow-up message to prompt the user to send it again, for example, "How are you? What have you been up to lately?"
[0237] Example 2
[0238] 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."
[0239] Conventional systems for suggesting potential romantic partners do not adequately analyze the emotions between users and their friends or calculate compatibility scores based on hobbies and preferences, making it difficult to select appropriate candidates and follow up. Furthermore, if the content of the initial message is inappropriate, it can be difficult to start communication smoothly.
[0240] 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.
[0241] In this invention, the server includes a means for acquiring data for selecting candidates from a friend list, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences, thereby enabling the selection and follow-up of appropriate romantic partner candidates based on the user's relationships with their friends.
[0242] A "friend list" is a list of contacts of acquaintances or friends that a user has registered on an online messaging platform or social media.
[0243] "Means for obtaining data" refers to a function for obtaining a user's friend list and past conversation history from an online API or database.
[0244] "Natural language processing (NLP)" is an artificial intelligence technique for analyzing, understanding, or generating human language, including tokenizing text, removing unnecessary characters, and removing stop words.
[0245] "Preprocessing" refers to the preparation of acquired data to convert it into an analyzable form, including text cleaning and tokenization.
[0246] The "emotion engine" is a technology that analyzes conversation content and classifies emotions such as positive, negative, and neutral.
[0247] "Interests" refer to areas, topics, or topics in which a user or a friend has particular interests or concerns.
[0248] The "compatibility score" is an evaluation index that quantifies the quality of the relationship and compatibility between the user and a friend.
[0249] The "candidate list" is a list of friends who are potential romantic partners selected based on their compatibility scores.
[0250] The "first message" is the first message that a user sends to a friend, and is used to start communication with the friend.
[0251] A "follow-up message" is a complementary message that a user sends when a friend does not reply or to encourage further communication.
[0252] The "means for supporting sending" is a function that allows a user to easily send the generated initial message to friends.
[0253] The "means for monitoring message status" is a function for monitoring friends' responses and reactions to messages sent by the user.
[0254] "Filtering" refers to the process of selecting candidates based on their marital or single status.
[0255] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0256] In one embodiment of the system, a user first grants permission to link with the LINE app. The user device then sends permission data to the system, which the server receives. The server then calls the LINE API to retrieve the user's friend list and past conversation history, and stores them in temporary storage.
[0257] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The preprocessed data is then analyzed using an emotion engine. The emotion engine classifies the conversation content as positive, negative, or neutral, and extracts keywords related to hobbies and preferences. Based on this, the server calculates a compatibility score with each friend.
[0258] Based on the calculated compatibility score, the server generates a candidate list. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0259] The server then generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0260] When a user sends a generated message to a friend, the server monitors subsequent replies, and if there is no reply, generates a follow-up message and prompts the user to send it again.
[0261] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using the emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations ended with positive responses. Based on this result, the system generates an initial message asking, "Have you been to a sporting event recently?" When User A sends this message to Friend B, the system monitors subsequent replies and, if necessary, suggests follow-up messages such as, "How are you? What have you been up to lately?"
[0262] An example of a prompt is, "Please suggest friends from the LINE friend list who have common interests and a positive conversation history as potential romantic partners. Also, please generate an appropriate first message."
[0263] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0264] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0265] Step 1: Obtaining Permissions
[0266] The user allows the system to connect to the LINE app. This action gives the user's device access to account information, friend list, and conversation history through the LINE API. Specifically, the user's device generates access permission data and sends it to the server.
[0267] Input: Permissions from the user
[0268] Output: Access permission data
[0269] Step 2: Data retrieval by the server
[0270] The server calls the LINE API to retrieve the user's friend list and past conversation history, and then stores the necessary data in temporary storage.
[0271] Input: Access permission data
[0272] Output: Friends list and past conversation history
[0273] Step 3: Preprocessing the data
[0274] The server feeds the acquired data into a natural language processing (NLP) engine, which tokenizes the text, removes unnecessary characters, and removes stop words, converting the data into a format that can be analyzed.
[0275] Input: Friends list and past conversation history
[0276] Output: Preprocessed text data
[0277] Step 4: Sentiment Analysis
[0278] The server inputs the preprocessed data into the emotion engine, classifies emotions into positive, negative, and neutral, and extracts keywords related to interests and preferences. Specifically, the emotion engine generates an emotion score for each conversation.
[0279] Input: Preprocessed text data
[0280] Output: Sentiment scores and keywords
[0281] Step 5: Calculating your compatibility score
[0282] The server calculates the compatibility score between the user and each friend based on the emotion score and keywords. Specifically, the score is calculated based on common hobbies and positive conversation history.
[0283] Input: sentiment scores and keywords
[0284] Output: Compatibility score
[0285] Step 6: Generate candidate list
[0286] The server generates a candidate list based on the compatibility score, prioritizing unmarried friends. Specifically, it checks the married / unmarried status and adds only reliable candidates to the list.
[0287] Input: Compatibility score
[0288] Output: Candidate list
[0289] Step 7: Submit and view candidate list
[0290] The server sends the generated candidate list to the user's terminal, and the user can view the list and confirm the suggested friends.
[0291] Input: Candidate list
[0292] Output: Candidate list displayed on the user's terminal
[0293] Step 8: Generate the initial message
[0294] The server generates the initial message based on the conversation history, extracted keywords, and sentiment analysis results. Specifically, it generates a suggested message based on a common topic.
[0295] Input: Past conversation history, keywords, sentiment analysis results
[0296] Output: Initial message
[0297] Step 9: Sending a message
[0298] The user reviews the suggested message, and may edit it, but most often just sends it. The device sends the message to the friend, and the server records the sending status.
[0299] Input: Initial message
[0300] Output: Message sent
[0301] Step 10: Monitor and follow up on responses
[0302] The server monitors the reply status of the sent message and generates a follow-up message if there is no reply. Specifically, if there is no reply for a certain period of time, it automatically generates a resend message.
[0303] Input: Sent message and its reply status
[0304] Output: Follow-up message
[0305] In this way, the system provides support for users to find potential romantic partners among their friends and smoothly start communication.
[0306] (Application example 2)
[0307] 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."
[0308] While conventional systems were able to suggest reliable potential romantic partners between users and their friends, they did not suggest content based on viewing history or generate specific messages tailored to individual preferences based on emotional analysis. Therefore, there was a need for a system that could suggest content suited to a user's interests and emotional state, and generate messages that would naturally suggest that recommended content to friends.
[0309] 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.
[0310] In this invention, the server includes: means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility scores, means for suggesting suitable candidates from the generated candidate list, means for creating an initial message for the proposed candidates, means for supporting the sending of the initial message, means for monitoring the message status after sending and creating a follow-up message, means for acquiring the user's content viewing history, means for suggesting recommended content based on emotions and keywords extracted from the viewing history and conversation history, and means for creating a message proposing the generated recommended content to friends. This allows a user to receive content suggestions based on their viewing history while utilizing their existing connections with friends and suggest the content to their friends through natural communication.
[0311] A "friend list" is a list of information about friends and acquaintances that a user registers within a communication app.
[0312] "Natural language processing" is a technology that uses computers to analyze, understand, and generate human language.
[0313] "Sentiment analysis" is the process of identifying and classifying emotions, such as positive, negative, or neutral, from text data.
[0314] "Preferences" refer to the preferences and interests of individual users, and indicate the degree of interest in particular genres or services.
[0315] The "compatibility score" is a numerical representation of the compatibility of a relationship between a user and a friend based on communication and shared interests.
[0316] A "candidate list" is a list of potential romantic partners selected from the friend list.
[0317] "Suggestion" refers to the recommendations or actions that the system presents to the user.
[0318] The "first message" is the recommended communication that the system sends to a friend on behalf of the user.
[0319] A "follow-up message" is an additional message sent after the initial message to encourage further communication.
[0320] "Content viewing history" is log information of movies, dramas, music, articles, etc. that a user has viewed.
[0321] "Recommended content" refers to information such as movies, dramas, music, and articles that the system suggests to users based on their preferences and the results of emotional analysis.
[0322] "Message generation" is the process by which the system creates appropriate communication sentences for each situation.
[0323] System Overview
[0324] The system for implementing this invention consists of a user's device, a server, and a network connecting them. The entire system suggests potential partners and content based on the user's friend list and viewing history, and generates messages that naturally share the suggested content with friends.
[0325] Processing on the user's device
[0326] On the user's device, the user grants the system permission to link with the communication app. With this permission, the system can obtain the user's friend list, past exchanges, and viewing history from the communication app. The user can then view and edit suggestions and message templates from the system.
[0327] Processing on the server
[0328] The server calls the API based on the user's access rights to retrieve the friend list, conversation history, and content viewing history. The retrieved data is preprocessed using natural language processing (NLP) techniques, including text tokenization, removal of unnecessary characters, and removal of stop words.
[0329] The server then uses a sentiment analysis engine to analyze the preprocessed data and extract keywords. The sentiment analysis engine classifies the conversations between the user and their friends into positive, negative, and neutral emotions, and combines them with the viewing history to extract keywords related to hobbies and preferences. Based on the results of this analysis, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[0330] Candidate suggestions and content suggestions
[0331] The server generates a list of potential romantic partners based on the calculated compatibility score. This list is filtered by married or unmarried, with unmarried friends being given priority. Recommended content related to the user's interests is also calculated based on the viewing history and sentiment analysis results. The generated candidate list and recommended content are sent to the user's device, where the user can view the list and check the suggested friends and content.
[0332] Creating and sending your first message
[0333] The server generates an initial approach message based on keywords extracted from past conversation and viewing history, as well as the results of analysis by a sentiment analysis engine. For example, if a conversation has previously focused on movies, the server will suggest a message such as, "Have you seen a movie recently?" The user can send the suggested message as is, or edit it as needed.
[0334] Users select a suggested message and send it to their friends. The server then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0335] Specific examples
[0336] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's communication app friend list and analyzes their past interactions using a sentiment analysis engine. The analysis reveals that User A and Friend B share a common interest in sports and that their conversations end with positive responses. It also confirms that User A's real-time emotional state is positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0337] When user A sends the generated message to friend B, the server monitors the subsequent response status and suggests follow-up messages as needed. For example, if there is no response, it generates a follow-up message such as "How are you? What have you been up to lately?" In this way, user A can smoothly start communicating with friend B.
[0338] Prompt Sentence Examples
[0339] "If you have a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[0340] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0341] Step 1:
[0342] Obtaining access permissions from the user device
[0343] When a user grants permission to the system, the device retrieves the friend list, past conversations, and viewing history of the communication app. The input data is the user's friend list, conversation history, and viewing history, and the output is sending the retrieved data to the server.
[0344] Step 2:
[0345] Retrieving data on the server
[0346] The server calls the API based on the user's access permission to obtain the friend list, conversation history, and viewing history. The input data is the friend list, conversation history, and viewing history, and collecting these data is the output.
[0347] Step 3:
[0348] Data Preprocessing
[0349] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is text data from conversation history and viewing history, and the tokenized clean data is the output.
[0350] Step 4:
[0351] Emotion and preference analysis
[0352] The server uses a sentiment analysis engine to analyze the preprocessed data and perform sentiment classification into positive, negative, and neutral sentiments and keyword extraction. The input data is the preprocessed clean data, and the output is classified sentiment data and extracted keywords.
[0353] Step 5:
[0354] Compatibility Score Calculation
[0355] The server calculates a compatibility score with friends based on the results of the sentiment analysis. In this calculation, common interests and positive conversation histories lead to higher scores. The input data are sentiment analysis data and keywords, and the output is a compatibility score with each friend.
[0356] Step 6:
[0357] Generating potential partners and recommended content
[0358] The server generates a list of potential partners based on the calculated compatibility score, and also generates content recommendations for users by taking into account their viewing history and sentiment analysis results. The input data are the compatibility score and viewing history, and the output is a list of potential partners and recommended content.
[0359] Step 7:
[0360] Generate initial and suggested messages
[0361] The server generates an initial approach message based on the conversation history, extracted keywords, and the results of the sentiment analysis engine. It also generates a message to suggest recommended content to friends. The input data are the conversation history, keywords, and sentiment analysis data, and the output is the generated message.
[0362] Step 8:
[0363] Sending and Monitoring Messages
[0364] Users select suggested initial and recommended messages and send them to their friends. The server then monitors the status of the sent messages and generates follow-up messages if there are no replies. The input data are the sent messages and the response status, and the output is the follow-up messages.
[0365] As a concrete example, if user A has a sports viewing history and has a lot of positive emotions about sports in conversations with friend B, the system will generate an initial message asking, "Have you been to a sporting event recently?" and suggest sending it to friend B. The system will also generate a recommended message based on the viewing history, asking, "Have you seen the latest sports movie?" An example prompt sentence is, "If you had a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[0366] 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.
[0367] 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.
[0368] 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.
[0369] [Second embodiment]
[0370] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0371] 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.
[0372] 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).
[0373] 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.
[0374] 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.
[0375] 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).
[0376] 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.
[0377] 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.
[0378] 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.
[0379] 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.
[0380] 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.
[0381] 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."
[0382] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0383] 1. Processing on the user device
[0384] On the user's device, the user first grants the system permission to access the LINE app. This allows the system to retrieve the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0385] 2. Processing on the server
[0386] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0387] The server then analyzes the preprocessed data through sentiment analysis and keyword extraction of hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0388] 3. Candidate proposals
[0389] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0390] 4. Create and send your first message
[0391] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0392] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0393] Specific examples
[0394] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0395] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as necessary, allowing User A to smoothly start communicating with Friend B.
[0396] This system allows users who are reluctant to use a matching service to connect with complete strangers to find reliable potential romantic partners from their existing friend lists, providing support to help them take the "first step."
[0397] The processing flow will be explained below.
[0398] Step 1:
[0399] The user grants the system permission to connect with the LINE app.
[0400] Step 2:
[0401] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0402] Step 3:
[0403] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0404] Step 4:
[0405] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, classifying the conversation content into positive, negative, and neutral emotions and extracting keywords related to hobbies and preferences.
[0406] Step 5:
[0407] The server calculates a compatibility score for each friend based on the analysis results. For example, a high compatibility score is set for friends who share common hobbies or have a history of positive conversations.
[0408] Step 6:
[0409] The server generates and filters the list of candidates based on compatibility scores, specifically excluding married people from the list and prioritizing reliable unmarried friends.
[0410] Step 7:
[0411] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and identifies the friends proposed as potential romantic partners.
[0412] Step 8:
[0413] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if the topic of sports comes up, the server suggests a message such as, "Have you been to a sporting event recently?"
[0414] Step 9:
[0415] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0416] Step 10:
[0417] The server monitors the status of the sent message, and if there is no reply within a certain period of time, it generates a follow-up message and prompts the user to send it again.
[0418] Example 1
[0419] 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."
[0420] For users of today's numerous communication applications, finding suitable potential romantic partners from their friend lists and making a smooth initial approach can be challenging. It is particularly time-consuming to understand past conversations with potential partners and craft appropriate messages based on that information. Furthermore, if no reply is received after the initial message, further follow-up is required, which is also a significant burden for users. Furthermore, automated filtering of married / unmarried individuals and calculation of compatibility scores are desirable.
[0421] 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.
[0422] In this invention, the server includes a means for calling a communication application API based on the access rights granted by the user and acquiring a friend list and conversation history, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences. This allows users to find suitable romantic partners from their friend list and smoothly compose and send initial approach messages. It also enables automatic generation of follow-up messages and monitoring of their sending status, significantly reducing the burden on users.
[0423] A "communications application API" is a means of obtaining and manipulating data through a program interface provided by a communications application.
[0424] A "friend list" is a list of other users registered by a user on a communication application.
[0425] A "conversation history" is a record of messages that a user has previously exchanged with other users on a communication application.
[0426] "Natural language processing" is a technology for preprocessing text data and analyzing its content.
[0427] "Preprocessing" refers to the preparation work done to convert raw data into an analyzable form, and in the case of text data, this includes tokenization, removal of unnecessary characters, removal of stop words, etc.
[0428] "Emotion" refers to a human emotional state such as joy, sadness, anger, surprise, etc., extracted from text data.
[0429] "Tastes" indicate topics of interest, hobbies, and concerns of a user.
[0430] The "compatibility score" is a numerical representation of the compatibility between the user and a friend, and is calculated based on past conversations and shared hobbies and interests.
[0431] "Candidate List" means a list of potential partners selected based on compatibility scores.
[0432] A "first message" is the first message a user sends to a potential romantic partner.
[0433] A "follow-up message" is a follow-up message sent again if there is no reply to the initial message.
[0434] "Monitoring" refers to monitoring the status of sent messages and taking necessary action depending on the situation.
[0435] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0436] 1. Processing on the user device
[0437] The user first grants the system permission to access the communication application. The system then retrieves the user's friend list and past conversation history through the user's communication application API. On the user's device, the system can view and edit the proposed romantic partner candidates and message templates.
[0438] 2. Processing on the server
[0439] The server calls the communication application API based on the user's access rights and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques, which include tokenizing the text, removing unnecessary characters, and removing stop words.
[0440] The server then performs sentiment analysis and extracts keywords related to interests and hobbies based on the preprocessed data. This analysis can be performed using a generative AI model. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0441] 3. Candidate proposals
[0442] The server generates a candidate list based on the calculated compatibility score. This list is filtered by marital status to prioritize reliable unmarried friends. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0443] 4. Create and send your first message
[0444] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if music has been a hot topic in the past, the server might suggest a message like, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0445] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no reply, generates a follow-up message and prompts them to send it again.
[0446] Specific examples
[0447] For example, suppose User A grants access to the system. The system retrieves Friend B's information from User A's friend list through the API of User A's communication application and analyzes their past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?" If User A sends this message to Friend B and Friend B does not reply, the system suggests a follow-up message saying, "How was it? Let me know if you have anything fun to do!"
[0448] Prompt Sentence Examples
[0449] Examples of prompts that users can input to a generative AI model include:
[0450] "Please suggest compatible romantic partners from user A's friend list."
[0451] "Generate an initial approach message to User B. Their past conversation history has been dominated by topics about music."
[0452] "Suggest a follow-up message to send to friend C if they don't reply to my first message."
[0453] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0454] Step 1:
[0455] The user grants the system access permission for communication application integration. Specifically, the user opens the communication application on their smartphone, transitions to the access permission permission screen, and presses the "Allow" button. The input to this step is the user's access permission, and the output is the system's permission to access the user's data.
[0456] Step 2:
[0457] The server calls the communication application API using the access rights granted by the user to obtain the user's friend list and conversation history. Specifically, the server sends a request to the communication application API and receives the friend list and message history in JSON format. The input of this step is the API request, and the output is the obtained friend list and conversation history data.
[0458] Step 3:
[0459] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input for this step is the friend list and conversation history data, and the output is the preprocessed data. For example, the message "Hello, how are you?" is broken down into tokens such as "Hello," "How are you," and "Is it?"
[0460] Step 4:
[0461] The server analyzes the preprocessed data and classifies emotions and preferences. Specifically, it uses a natural language processing model to perform sentiment analysis of the text and extract keywords related to hobbies and preferences. The input to this step is the preprocessed data, and the output is classified emotional information and preference keywords. For example, keywords such as "movies," "music," and "sports" are obtained, along with emotional information indicating whether the sentence is positive or negative.
[0462] Step 5:
[0463] The server calculates a compatibility score based on the classified information. Specifically, it uses an algorithm that assigns a high score if the emotion is positive or if there are many common hobbies. The input for this step is emotional information and preference keywords, and the output is a compatibility score. For example, Friend B's score might be calculated as 80 points.
[0464] Step 6:
[0465] The server generates a candidate list based on the calculated compatibility score. Specifically, it includes singles with a score above a certain level in the list. The input of this step is the compatibility score, and the output is a filtered list of singles.
[0466] Step 7:
[0467] The server sends the generated candidate list to the user's terminal. Specifically, it sends a notification to the terminal so that the user can view the proposed candidate list. The input of this step is the candidate list, and the output is a notification to the user's terminal.
[0468] Step 8:
[0469] The server generates an initial approach message based on past conversation history and extracted keywords. Specifically, it uses a generative AI model to create a message that matches the user's interests. The input for this step is past conversation history and keywords, and the output is an initial approach message. For example, a message might be generated that says, "Have you seen a movie recently?"
[0470] Step 9:
[0471] The user sends the suggested message to their friend. The user edits the message if necessary and sends the final message through the communication application. The input to this step is the initial approach message and the output is the sent message.
[0472] Step 10:
[0473] The server monitors the status of the sent message. Specifically, it checks for replies from friends and generates follow-up messages if necessary. The input to this step is the sent message, and the output is a follow-up message or the monitoring results. For example, if there is no reply, a follow-up message is generated saying, "How was it? Let me know if you have any fun!"
[0474] (Application example 1)
[0475] 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."
[0476] Conventional systems that suggest potential romantic partners based on a user's friend list have difficulty making specific suggestions based on the user's interests and concerns in real life situations. Furthermore, when users shop in virtual stores or online, they lack useful romance-related suggestions and gift ideas, making it difficult for them to take real-life action.
[0477] 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.
[0478] In this invention, the server includes means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility score, means for suggesting suitable candidates from the generated candidate list, means for creating a first message for the suggested candidates, means for supporting the sending of the first message, means for monitoring the message status after sending and generating a follow-up message, and means for suggesting specific friends based on the user's friend list in a virtual store and providing date plans and gift ideas. This allows a user to find reliable romantic partners from their existing friend list and appropriately suggest date plans and gift ideas when selecting romance-related products or services in the virtual store.
[0479] A "buddy list" is a portion of a user's contact list that contains people known through a particular communication application.
[0480] "Candidates" refer to people selected from the friend list who may be recommended to the user.
[0481] "Data Acquisition Means" refers to a combination of hardware and software for acquiring friend lists and related information.
[0482] "Natural Language Processing (NLP)" is the technology that enables computers to understand, interpret, and generate human language.
[0483] "Preprocessing" refers to the process of converting data into a format that is easier to analyze, and specifically includes tokenizing text, removing unnecessary characters, removing stop words, etc.
[0484] Emotion and preference classification is the process of analyzing pre-processed data to identify a person's emotional state and interests and classify them into categories.
[0485] The "compatibility score" is a numerical index of the compatibility between the user and the candidate.
[0486] A "candidate list" is a list containing multiple candidates generated based on compatibility scores.
[0487] The "initial message" is a greeting or inquiry message that a user sends to a candidate for the first time.
[0488] A "follow-up message" is a message sent when there is no response after the initial message is sent or when further communication is required.
[0489] A "virtual store" is a virtual shopping location provided on the Internet, an online platform where users can browse and purchase products and services.
[0490] A "date plan" is a plan that includes specific dates, times, locations, and activities for the user and the candidate to enjoy together.
[0491] "Gift Ideas" are suggestions for suitable presents to give to specific people.
[0492] The present invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. Detailed embodiments of the present invention will be described below.
[0493] Processing on the user terminal
[0494] On the user's device, the user first grants the system permission to access the communication app. This allows the system to begin retrieving the user's friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0495] Processing on the server
[0496] The server calls the communication app's API based on the user's access permissions and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) technology. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are eliminated. The server then analyzes the preprocessed data using sentiment analysis and preference keyword extraction. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if the user has common hobbies and interests, the compatibility score is set high.
[0497] Candidate proposals
[0498] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0499] Creating and sending your first message
[0500] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively discussion about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed. The user selects a suggested message and sends it to their friend. The system then monitors the status of the sent message, and if there is no reply, it generates a follow-up message and encourages the user to send it again.
[0501] Virtual in-store processing
[0502] In the virtual store, when a user is browsing for romance-related products and services, the system will suggest specific friends based on the user's friend list and provide date plans and gift ideas. For example, when choosing a gift for a loved one, the system will analyze the friend list and past conversation history to suggest suitable items and date spots.
[0503] Specific examples
[0504] As a concrete example, when a user searches for "date plans" in a virtual store, the system suggests "Friend C" from the friend list and generates a message such as "Date plans with Friend C: Let's go to the recently opened cafe."
[0505] Prompt Sentence Examples
[0506] inputs:
[0507] A user's friends list
[0508] Past conversation history
[0509] outputs:
[0510] Suggesting friends as potential romantic partners
[0511] Date Plan
[0512] Gift Ideas
[0513] Example: If "Friend C" on the user's friend list has previously said "I want to go to a new cafe," the system will suggest a cafe date.
[0514] In this way, the automatic suggestion system is an application that analyzes the user's friend data and suggests suitable romantic partners and date plans, and by providing specific date plans and gift ideas, it can lead to actual user behavior.
[0515] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0516] Step 1:
[0517] On the user device, the user grants the system access permission for communication app integration. By doing so, the user grants the system permission to obtain the friend list and past conversation history. The input data is the user's access permission, and the output data is the friend list and conversation history that can be obtained.
[0518] Step 2:
[0519] The server collects the acquired friend list and past conversation history using the communication app API. The input data is the user's friend list and conversation history, and the output data is the original dataset.
[0520] Step 3:
[0521] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is the collected text data of the friend list and conversation history, and the output data is the preprocessed text data.
[0522] Step 4:
[0523] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, which allows for classification of emotions and preferences. The input data is the preprocessed text data, and the output data is the sentiment analysis results and extracted keywords.
[0524] Step 5:
[0525] The server calculates a compatibility score for each friend based on the analysis results. Specifically, the score is set based on the frequency of positive reactions and common hobbies and interests. The input data are the sentiment analysis results and keywords, and the output data is the compatibility score.
[0526] Step 6:
[0527] The server generates a candidate list based on compatibility scores. This list is filtered by marital status. The input data is the compatibility scores, and the output data is the filtered candidate list.
[0528] Step 7:
[0529] The user terminal displays the generated candidate list to the user, who then browses the list and selects an appropriate candidate. The input data is the filtered candidate list, and the output data is the user's selection.
[0530] Step 8:
[0531] The server generates an initial approach message based on the past conversation history and extracted keywords. The input data are the user's selection, conversation history, and keywords, and the output data is a suggested initial message.
[0532] Step 9:
[0533] The user terminal displays the proposed initial message to the user, who then confirms, edits, and sends the message. The input data is the proposed initial message, and the output data is the sent message.
[0534] Step 10:
[0535] The server monitors the status of messages after they are sent and generates a follow-up message if there is no reply. The input data is the sent message and its sending status, and the output data is the follow-up message.
[0536] Step 11:
[0537] In the virtual store, the system suggests specific friends based on the user's friend list and provides date plans and gift ideas. The input data is the user's friend list and past conversation history, and the output data is suggested date plans and gift ideas.
[0538] 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.
[0539] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0540] 1. Processing on the user device
[0541] On the user's device, the user grants the system permission to link with the LINE app. This allows the system to begin retrieving the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0542] 2. Processing on the server
[0543] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0544] The server then analyzes the preprocessed data using an emotion engine to perform sentiment analysis and keyword extraction. The emotion engine categorizes the conversations between the user and their friends into positive, negative, and neutral emotions and extracts keywords related to their hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[0545] 3. Candidate proposals
[0546] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0547] 4. Create and send your first message
[0548] The server generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0549] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0550] Specific examples
[0551] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using an emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations end with positive reactions. It also confirms that User A's real-time emotional state is favorable. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0552] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as needed. For example, if there is no reply, the system generates a follow-up message such as "How are you? What have you been up to lately?" In this way, User A can smoothly start communicating with Friend B.
[0553] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0554] The processing flow will be explained below.
[0555] Step 1:
[0556] The user grants the system permission to connect with the LINE app.
[0557] Step 2:
[0558] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0559] Step 3:
[0560] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0561] Step 4:
[0562] The server uses an emotion engine to analyze the pre-processed data and classify the conversation into positive, negative, or neutral emotions.
[0563] Step 5:
[0564] The server uses an emotion engine to determine the user's real-time emotional state from the analysis results.
[0565] Step 6:
[0566] The server extracts keywords related to hobbies and preferences from the preprocessed data.
[0567] Step 7:
[0568] The server calculates a compatibility score for each friend based on the extracted keywords and sentiment analysis. For example, a high compatibility score is assigned to friends who have common interests or many positive conversations.
[0569] Step 8:
[0570] The server generates a candidate list based on the calculated compatibility score, filtering out married people and prioritizing reliable unmarried friends.
[0571] Step 9:
[0572] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and browses the friends suggested as potential romantic partners.
[0573] Step 10:
[0574] The server generates an initial approach message based on past conversation history, extracted keywords, and the results of the emotion engine. For example, if the topic of sports comes up, the server might suggest a message such as, "Have you been to a sporting event recently?"
[0575] Step 11:
[0576] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0577] Step 12:
[0578] The server monitors the status of sent messages and, if there is no reply within a certain period of time, generates a follow-up message to prompt the user to send it again, for example, "How are you? What have you been up to lately?"
[0579] Example 2
[0580] 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."
[0581] Conventional systems for suggesting potential romantic partners do not adequately analyze the emotions between users and their friends or calculate compatibility scores based on hobbies and preferences, making it difficult to select appropriate candidates and follow up. Furthermore, if the content of the initial message is inappropriate, it can be difficult to start communication smoothly.
[0582] 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.
[0583] In this invention, the server includes a means for acquiring data for selecting candidates from a friend list, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences, thereby enabling the selection and follow-up of appropriate romantic partner candidates based on the user's relationships with their friends.
[0584] A "friend list" is a list of contacts of acquaintances or friends that a user has registered on an online messaging platform or social media.
[0585] "Means for obtaining data" refers to a function for obtaining a user's friend list and past conversation history from an online API or database.
[0586] "Natural language processing (NLP)" is an artificial intelligence technique for analyzing, understanding, or generating human language, including tokenizing text, removing unnecessary characters, and removing stop words.
[0587] "Preprocessing" refers to the preparation of acquired data to convert it into an analyzable form, including text cleaning and tokenization.
[0588] The "emotion engine" is a technology that analyzes conversation content and classifies emotions such as positive, negative, and neutral.
[0589] "Interests" refer to areas, topics, or topics in which a user or a friend has particular interests or concerns.
[0590] The "compatibility score" is an evaluation index that quantifies the quality of the relationship and compatibility between the user and a friend.
[0591] The "candidate list" is a list of friends who are potential romantic partners selected based on their compatibility scores.
[0592] The "first message" is the first message that a user sends to a friend, and is used to start communication with the friend.
[0593] A "follow-up message" is a complementary message that a user sends when a friend does not reply or to encourage further communication.
[0594] The "means for supporting sending" is a function that allows a user to easily send the generated initial message to friends.
[0595] The "means for monitoring message status" is a function for monitoring friends' responses and reactions to messages sent by the user.
[0596] "Filtering" refers to the process of selecting candidates based on their marital or single status.
[0597] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0598] In one embodiment of the system, a user first grants permission to link with the LINE app. The user device then sends permission data to the system, which the server receives. The server then calls the LINE API to retrieve the user's friend list and past conversation history, and stores them in temporary storage.
[0599] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The preprocessed data is then analyzed using an emotion engine. The emotion engine classifies the conversation content as positive, negative, or neutral, and extracts keywords related to hobbies and preferences. Based on this, the server calculates a compatibility score with each friend.
[0600] Based on the calculated compatibility score, the server generates a candidate list. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0601] The server then generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0602] When a user sends a generated message to a friend, the server monitors subsequent replies, and if there is no reply, generates a follow-up message and prompts the user to send it again.
[0603] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using the emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations ended with positive responses. Based on this result, the system generates an initial message asking, "Have you been to a sporting event recently?" When User A sends this message to Friend B, the system monitors subsequent replies and, if necessary, suggests follow-up messages such as, "How are you? What have you been up to lately?"
[0604] An example of a prompt is, "Please suggest friends from the LINE friend list who have common interests and a positive conversation history as potential romantic partners. Also, please generate an appropriate first message."
[0605] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0606] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0607] Step 1: Obtaining Permissions
[0608] The user allows the system to connect to the LINE app. This action gives the user's device access to account information, friend list, and conversation history through the LINE API. Specifically, the user's device generates access permission data and sends it to the server.
[0609] Input: Permissions from the user
[0610] Output: Access permission data
[0611] Step 2: Data retrieval by the server
[0612] The server calls the LINE API to retrieve the user's friend list and past conversation history, and then stores the necessary data in temporary storage.
[0613] Input: Access permission data
[0614] Output: Friends list and past conversation history
[0615] Step 3: Preprocessing the data
[0616] The server feeds the acquired data into a natural language processing (NLP) engine, which tokenizes the text, removes unnecessary characters, and removes stop words, converting the data into a format that can be analyzed.
[0617] Input: Friends list and past conversation history
[0618] Output: Preprocessed text data
[0619] Step 4: Sentiment Analysis
[0620] The server inputs the preprocessed data into the emotion engine, classifies emotions into positive, negative, and neutral, and extracts keywords related to interests and preferences. Specifically, the emotion engine generates an emotion score for each conversation.
[0621] Input: Preprocessed text data
[0622] Output: Sentiment scores and keywords
[0623] Step 5: Calculating your compatibility score
[0624] The server calculates the compatibility score between the user and each friend based on the emotion score and keywords. Specifically, the score is calculated based on common hobbies and positive conversation history.
[0625] Input: sentiment scores and keywords
[0626] Output: Compatibility score
[0627] Step 6: Generate candidate list
[0628] The server generates a candidate list based on the compatibility score, prioritizing unmarried friends. Specifically, it checks the married / unmarried status and adds only reliable candidates to the list.
[0629] Input: Compatibility score
[0630] Output: Candidate list
[0631] Step 7: Submit and view candidate list
[0632] The server sends the generated candidate list to the user's terminal, and the user can view the list and confirm the suggested friends.
[0633] Input: Candidate list
[0634] Output: Candidate list displayed on the user's terminal
[0635] Step 8: Generate the initial message
[0636] The server generates the initial message based on the conversation history, extracted keywords, and sentiment analysis results. Specifically, it generates a suggested message based on a common topic.
[0637] Input: Past conversation history, keywords, sentiment analysis results
[0638] Output: Initial message
[0639] Step 9: Sending a message
[0640] The user reviews the suggested message, and may edit it, but most often just sends it. The device sends the message to the friend, and the server records the sending status.
[0641] Input: Initial message
[0642] Output: Message sent
[0643] Step 10: Monitor and follow up on responses
[0644] The server monitors the reply status of the sent message and generates a follow-up message if there is no reply. Specifically, if there is no reply for a certain period of time, it automatically generates a resend message.
[0645] Input: Sent message and its reply status
[0646] Output: Follow-up message
[0647] In this way, the system provides support for users to find potential romantic partners among their friends and smoothly start communication.
[0648] (Application example 2)
[0649] 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."
[0650] While conventional systems were able to suggest reliable potential romantic partners between users and their friends, they did not suggest content based on viewing history or generate specific messages tailored to individual preferences based on emotional analysis. Therefore, there was a need for a system that could suggest content suited to a user's interests and emotional state, and generate messages that would naturally suggest that recommended content to friends.
[0651] 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.
[0652] In this invention, the server includes: means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility scores, means for suggesting suitable candidates from the generated candidate list, means for creating an initial message for the proposed candidates, means for supporting the sending of the initial message, means for monitoring the message status after sending and creating a follow-up message, means for acquiring the user's content viewing history, means for suggesting recommended content based on emotions and keywords extracted from the viewing history and conversation history, and means for creating a message proposing the generated recommended content to friends. This allows a user to receive content suggestions based on their viewing history while utilizing their existing connections with friends and suggest the content to their friends through natural communication.
[0653] A "friend list" is a list of information about friends and acquaintances that a user registers within a communication app.
[0654] "Natural language processing" is a technology that uses computers to analyze, understand, and generate human language.
[0655] "Sentiment analysis" is the process of identifying and classifying emotions, such as positive, negative, or neutral, from text data.
[0656] "Preferences" refer to the preferences and interests of individual users, and indicate the degree of interest in particular genres or services.
[0657] The "compatibility score" is a numerical representation of the compatibility of a relationship between a user and a friend based on communication and shared interests.
[0658] A "candidate list" is a list of potential romantic partners selected from the friend list.
[0659] "Suggestion" refers to the recommendations or actions that the system presents to the user.
[0660] The "first message" is the recommended communication that the system sends to a friend on behalf of the user.
[0661] A "follow-up message" is an additional message sent after the initial message to encourage further communication.
[0662] "Content viewing history" is log information of movies, dramas, music, articles, etc. that a user has viewed.
[0663] "Recommended content" refers to information such as movies, dramas, music, and articles that the system suggests to users based on their preferences and the results of emotional analysis.
[0664] "Message generation" is the process by which the system creates appropriate communication sentences for each situation.
[0665] System Overview
[0666] The system for implementing this invention consists of a user's device, a server, and a network connecting them. The entire system suggests potential partners and content based on the user's friend list and viewing history, and generates messages that naturally share the suggested content with friends.
[0667] Processing on the user's device
[0668] On the user's device, the user grants the system permission to link with the communication app. With this permission, the system can obtain the user's friend list, past exchanges, and viewing history from the communication app. The user can then view and edit suggestions and message templates from the system.
[0669] Processing on the server
[0670] The server calls the API based on the user's access rights to retrieve the friend list, conversation history, and content viewing history. The retrieved data is preprocessed using natural language processing (NLP) techniques, including text tokenization, removal of unnecessary characters, and removal of stop words.
[0671] The server then uses a sentiment analysis engine to analyze the preprocessed data and extract keywords. The sentiment analysis engine classifies the conversations between the user and their friends into positive, negative, and neutral emotions, and combines them with the viewing history to extract keywords related to hobbies and preferences. Based on the results of this analysis, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[0672] Candidate suggestions and content suggestions
[0673] The server generates a list of potential romantic partners based on the calculated compatibility score. This list is filtered by married or unmarried, with unmarried friends being given priority. Recommended content related to the user's interests is also calculated based on the viewing history and sentiment analysis results. The generated candidate list and recommended content are sent to the user's device, where the user can view the list and check the suggested friends and content.
[0674] Creating and sending your first message
[0675] The server generates an initial approach message based on keywords extracted from past conversation and viewing history, as well as the results of analysis by a sentiment analysis engine. For example, if a conversation has previously focused on movies, the server will suggest a message such as, "Have you seen a movie recently?" The user can send the suggested message as is, or edit it as needed.
[0676] Users select a suggested message and send it to their friends. The server then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0677] Specific examples
[0678] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's communication app friend list and analyzes their past interactions using a sentiment analysis engine. The analysis reveals that User A and Friend B share a common interest in sports and that their conversations end with positive responses. It also confirms that User A's real-time emotional state is positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0679] When user A sends the generated message to friend B, the server monitors the subsequent response status and suggests follow-up messages as needed. For example, if there is no response, it generates a follow-up message such as "How are you? What have you been up to lately?" In this way, user A can smoothly start communicating with friend B.
[0680] Prompt Sentence Examples
[0681] "If you have a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[0682] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0683] Step 1:
[0684] Obtaining access permissions from the user device
[0685] When a user grants permission to the system, the device retrieves the friend list, past conversations, and viewing history of the communication app. The input data is the user's friend list, conversation history, and viewing history, and the output is sending the retrieved data to the server.
[0686] Step 2:
[0687] Retrieving data on the server
[0688] The server calls the API based on the user's access permission to obtain the friend list, conversation history, and viewing history. The input data is the friend list, conversation history, and viewing history, and collecting these data is the output.
[0689] Step 3:
[0690] Data Preprocessing
[0691] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is text data from conversation history and viewing history, and the tokenized clean data is the output.
[0692] Step 4:
[0693] Emotion and preference analysis
[0694] The server uses a sentiment analysis engine to analyze the preprocessed data and perform sentiment classification into positive, negative, and neutral sentiments and keyword extraction. The input data is the preprocessed clean data, and the output is classified sentiment data and extracted keywords.
[0695] Step 5:
[0696] Compatibility Score Calculation
[0697] The server calculates a compatibility score with friends based on the results of the sentiment analysis. In this calculation, common interests and positive conversation histories lead to higher scores. The input data are sentiment analysis data and keywords, and the output is a compatibility score with each friend.
[0698] Step 6:
[0699] Generating potential partners and recommended content
[0700] The server generates a list of potential partners based on the calculated compatibility score, and also generates content recommendations for users by taking into account their viewing history and sentiment analysis results. The input data are the compatibility score and viewing history, and the output is a list of potential partners and recommended content.
[0701] Step 7:
[0702] Generate initial and suggested messages
[0703] The server generates an initial approach message based on the conversation history, extracted keywords, and the results of the sentiment analysis engine. It also generates a message to suggest recommended content to friends. The input data are the conversation history, keywords, and sentiment analysis data, and the output is the generated message.
[0704] Step 8:
[0705] Sending and Monitoring Messages
[0706] Users select suggested initial and recommended messages and send them to their friends. The server then monitors the status of the sent messages and generates follow-up messages if there are no replies. The input data are the sent messages and the response status, and the output is the follow-up messages.
[0707] As a concrete example, if user A has a sports viewing history and has a lot of positive emotions about sports in conversations with friend B, the system will generate an initial message asking, "Have you been to a sporting event recently?" and suggest sending it to friend B. The system will also generate a recommended message based on the viewing history, asking, "Have you seen the latest sports movie?" An example prompt sentence is, "If you had a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[0708] 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.
[0709] 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.
[0710] 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.
[0711] [Third embodiment]
[0712] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0713] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0714] 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).
[0715] 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.
[0716] 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.
[0717] 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).
[0718] 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.
[0719] 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.
[0720] 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.
[0721] 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.
[0722] 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.
[0723] 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."
[0724] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0725] 1. Processing on the user device
[0726] On the user's device, the user first grants the system permission to access the LINE app. This allows the system to retrieve the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0727] 2. Processing on the server
[0728] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0729] The server then analyzes the preprocessed data through sentiment analysis and keyword extraction of hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0730] 3. Candidate proposals
[0731] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0732] 4. Create and send your first message
[0733] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0734] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0735] Specific examples
[0736] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0737] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as necessary, allowing User A to smoothly start communicating with Friend B.
[0738] This system allows users who are reluctant to use a matching service to connect with complete strangers to find reliable potential romantic partners from their existing friend lists, providing support to help them take the "first step."
[0739] The processing flow will be explained below.
[0740] Step 1:
[0741] The user grants the system permission to connect with the LINE app.
[0742] Step 2:
[0743] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0744] Step 3:
[0745] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0746] Step 4:
[0747] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, classifying the conversation content into positive, negative, and neutral emotions and extracting keywords related to hobbies and preferences.
[0748] Step 5:
[0749] The server calculates a compatibility score for each friend based on the analysis results. For example, a high compatibility score is set for friends who share common hobbies or have a history of positive conversations.
[0750] Step 6:
[0751] The server generates and filters the list of candidates based on compatibility scores, specifically excluding married people from the list and prioritizing reliable unmarried friends.
[0752] Step 7:
[0753] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and identifies the friends proposed as potential romantic partners.
[0754] Step 8:
[0755] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if the topic of sports comes up, the server suggests a message such as, "Have you been to a sporting event recently?"
[0756] Step 9:
[0757] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0758] Step 10:
[0759] The server monitors the status of the sent message, and if there is no reply within a certain period of time, it generates a follow-up message and prompts the user to send it again.
[0760] Example 1
[0761] 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."
[0762] For users of today's numerous communication applications, finding suitable potential romantic partners from their friend lists and making a smooth initial approach can be challenging. It is particularly time-consuming to understand past conversations with potential partners and craft appropriate messages based on that information. Furthermore, if no reply is received after the initial message, further follow-up is required, which is also a significant burden for users. Furthermore, automated filtering of married / unmarried individuals and calculation of compatibility scores are desirable.
[0763] 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.
[0764] In this invention, the server includes a means for calling a communication application API based on the access rights granted by the user and acquiring a friend list and conversation history, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences. This allows users to find suitable romantic partners from their friend list and smoothly compose and send initial approach messages. It also enables automatic generation of follow-up messages and monitoring of their sending status, significantly reducing the burden on users.
[0765] A "communications application API" is a means of obtaining and manipulating data through a program interface provided by a communications application.
[0766] A "friend list" is a list of other users registered by a user on a communication application.
[0767] A "conversation history" is a record of messages that a user has previously exchanged with other users on a communication application.
[0768] "Natural language processing" is a technology for preprocessing text data and analyzing its content.
[0769] "Preprocessing" refers to the preparation work done to convert raw data into an analyzable form, and in the case of text data, this includes tokenization, removal of unnecessary characters, removal of stop words, etc.
[0770] "Emotion" refers to a human emotional state such as joy, sadness, anger, surprise, etc., extracted from text data.
[0771] "Tastes" indicate topics of interest, hobbies, and concerns of a user.
[0772] The "compatibility score" is a numerical representation of the compatibility between the user and a friend, and is calculated based on past conversations and shared hobbies and interests.
[0773] "Candidate List" means a list of potential partners selected based on compatibility scores.
[0774] A "first message" is the first message a user sends to a potential romantic partner.
[0775] A "follow-up message" is a follow-up message sent again if there is no reply to the initial message.
[0776] "Monitoring" refers to monitoring the status of sent messages and taking necessary action depending on the situation.
[0777] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[0778] 1. Processing on the user device
[0779] The user first grants the system permission to access the communication application. The system then retrieves the user's friend list and past conversation history through the user's communication application API. On the user's device, the system can view and edit the proposed romantic partner candidates and message templates.
[0780] 2. Processing on the server
[0781] The server calls the communication application API based on the user's access rights and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques, which include tokenizing the text, removing unnecessary characters, and removing stop words.
[0782] The server then performs sentiment analysis and extracts keywords related to interests and hobbies based on the preprocessed data. This analysis can be performed using a generative AI model. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[0783] 3. Candidate proposals
[0784] The server generates a candidate list based on the calculated compatibility score. This list is filtered by marital status to prioritize reliable unmarried friends. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0785] 4. Create and send your first message
[0786] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if music has been a hot topic in the past, the server might suggest a message like, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[0787] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no reply, generates a follow-up message and prompts them to send it again.
[0788] Specific examples
[0789] For example, suppose User A grants access to the system. The system retrieves Friend B's information from User A's friend list through the API of User A's communication application and analyzes their past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?" If User A sends this message to Friend B and Friend B does not reply, the system suggests a follow-up message saying, "How was it? Let me know if you have anything fun to do!"
[0790] Prompt Sentence Examples
[0791] Examples of prompts that users can input to a generative AI model include:
[0792] "Please suggest compatible romantic partners from user A's friend list."
[0793] "Generate an initial approach message to User B. Their past conversation history has been dominated by topics about music."
[0794] "Suggest a follow-up message to send to friend C if they don't reply to my first message."
[0795] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0796] Step 1:
[0797] The user grants the system access permission for communication application integration. Specifically, the user opens the communication application on their smartphone, transitions to the access permission permission screen, and presses the "Allow" button. The input to this step is the user's access permission, and the output is the system's permission to access the user's data.
[0798] Step 2:
[0799] The server calls the communication application API using the access rights granted by the user to obtain the user's friend list and conversation history. Specifically, the server sends a request to the communication application API and receives the friend list and message history in JSON format. The input of this step is the API request, and the output is the obtained friend list and conversation history data.
[0800] Step 3:
[0801] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input for this step is the friend list and conversation history data, and the output is the preprocessed data. For example, the message "Hello, how are you?" is broken down into tokens such as "Hello," "How are you," and "Is it?"
[0802] Step 4:
[0803] The server analyzes the preprocessed data and classifies emotions and preferences. Specifically, it uses a natural language processing model to perform sentiment analysis of the text and extract keywords related to hobbies and preferences. The input to this step is the preprocessed data, and the output is classified emotional information and preference keywords. For example, keywords such as "movies," "music," and "sports" are obtained, along with emotional information indicating whether the sentence is positive or negative.
[0804] Step 5:
[0805] The server calculates a compatibility score based on the classified information. Specifically, it uses an algorithm that assigns a high score if the emotion is positive or if there are many common hobbies. The input for this step is emotional information and preference keywords, and the output is a compatibility score. For example, Friend B's score might be calculated as 80 points.
[0806] Step 6:
[0807] The server generates a candidate list based on the calculated compatibility score. Specifically, it includes singles with a score above a certain level in the list. The input of this step is the compatibility score, and the output is a filtered list of singles.
[0808] Step 7:
[0809] The server sends the generated candidate list to the user's terminal. Specifically, it sends a notification to the terminal so that the user can view the proposed candidate list. The input of this step is the candidate list, and the output is a notification to the user's terminal.
[0810] Step 8:
[0811] The server generates an initial approach message based on past conversation history and extracted keywords. Specifically, it uses a generative AI model to create a message that matches the user's interests. The input for this step is past conversation history and keywords, and the output is an initial approach message. For example, a message might be generated that says, "Have you seen a movie recently?"
[0812] Step 9:
[0813] The user sends the suggested message to their friend. The user edits the message if necessary and sends the final message through the communication application. The input to this step is the initial approach message and the output is the sent message.
[0814] Step 10:
[0815] The server monitors the status of the sent message. Specifically, it checks for replies from friends and generates follow-up messages if necessary. The input to this step is the sent message, and the output is a follow-up message or the monitoring results. For example, if there is no reply, a follow-up message is generated saying, "How was it? Let me know if you have any fun!"
[0816] (Application example 1)
[0817] 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."
[0818] Conventional systems that suggest potential romantic partners based on a user's friend list have difficulty making specific suggestions based on the user's interests and concerns in real life situations. Furthermore, when users shop in virtual stores or online, they lack useful romance-related suggestions and gift ideas, making it difficult for them to take real-life action.
[0819] 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.
[0820] In this invention, the server includes means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility score, means for suggesting suitable candidates from the generated candidate list, means for creating a first message for the suggested candidates, means for supporting the sending of the first message, means for monitoring the message status after sending and generating a follow-up message, and means for suggesting specific friends based on the user's friend list in a virtual store and providing date plans and gift ideas. This allows a user to find reliable romantic partners from their existing friend list and appropriately suggest date plans and gift ideas when selecting romance-related products or services in the virtual store.
[0821] A "buddy list" is a portion of a user's contact list that contains people known through a particular communication application.
[0822] "Candidates" refer to people selected from the friend list who may be recommended to the user.
[0823] "Data Acquisition Means" refers to a combination of hardware and software for acquiring friend lists and related information.
[0824] "Natural Language Processing (NLP)" is the technology that enables computers to understand, interpret, and generate human language.
[0825] "Preprocessing" refers to the process of converting data into a format that is easier to analyze, and specifically includes tokenizing text, removing unnecessary characters, removing stop words, etc.
[0826] Emotion and preference classification is the process of analyzing pre-processed data to identify a person's emotional state and interests and classify them into categories.
[0827] The "compatibility score" is a numerical index of the compatibility between the user and the candidate.
[0828] A "candidate list" is a list containing multiple candidates generated based on compatibility scores.
[0829] The "initial message" is a greeting or inquiry message that a user sends to a candidate for the first time.
[0830] A "follow-up message" is a message sent when there is no response after the initial message is sent or when further communication is required.
[0831] A "virtual store" is a virtual shopping location provided on the Internet, an online platform where users can browse and purchase products and services.
[0832] A "date plan" is a plan that includes specific dates, times, locations, and activities for the user and the candidate to enjoy together.
[0833] "Gift Ideas" are suggestions for suitable presents to give to specific people.
[0834] The present invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. Detailed embodiments of the present invention will be described below.
[0835] Processing on the user terminal
[0836] On the user's device, the user first grants the system permission to access the communication app. This allows the system to begin retrieving the user's friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0837] Processing on the server
[0838] The server calls the communication app's API based on the user's access permissions and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) technology. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are eliminated. The server then analyzes the preprocessed data using sentiment analysis and preference keyword extraction. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if the user has common hobbies and interests, the compatibility score is set high.
[0839] Candidate proposals
[0840] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0841] Creating and sending your first message
[0842] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively discussion about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed. The user selects a suggested message and sends it to their friend. The system then monitors the status of the sent message, and if there is no reply, it generates a follow-up message and encourages the user to send it again.
[0843] Virtual in-store processing
[0844] In the virtual store, when a user is browsing for romance-related products and services, the system will suggest specific friends based on the user's friend list and provide date plans and gift ideas. For example, when choosing a gift for a loved one, the system will analyze the friend list and past conversation history to suggest suitable items and date spots.
[0845] Specific examples
[0846] As a concrete example, when a user searches for "date plans" in a virtual store, the system suggests "Friend C" from the friend list and generates a message such as "Date plans with Friend C: Let's go to the recently opened cafe."
[0847] Prompt Sentence Examples
[0848] inputs:
[0849] A user's friends list
[0850] Past conversation history
[0851] outputs:
[0852] Suggesting friends as potential romantic partners
[0853] Date Plan
[0854] Gift Ideas
[0855] Example: If "Friend C" on the user's friend list has previously said "I want to go to a new cafe," the system will suggest a cafe date.
[0856] In this way, the automatic suggestion system is an application that analyzes the user's friend data and suggests suitable romantic partners and date plans, and by providing specific date plans and gift ideas, it can lead to actual user behavior.
[0857] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0858] Step 1:
[0859] On the user device, the user grants the system access permission for communication app integration. By doing so, the user grants the system permission to obtain the friend list and past conversation history. The input data is the user's access permission, and the output data is the friend list and conversation history that can be obtained.
[0860] Step 2:
[0861] The server collects the acquired friend list and past conversation history using the communication app API. The input data is the user's friend list and conversation history, and the output data is the original dataset.
[0862] Step 3:
[0863] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is the collected text data of the friend list and conversation history, and the output data is the preprocessed text data.
[0864] Step 4:
[0865] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, which allows for classification of emotions and preferences. The input data is the preprocessed text data, and the output data is the sentiment analysis results and extracted keywords.
[0866] Step 5:
[0867] The server calculates a compatibility score for each friend based on the analysis results. Specifically, the score is set based on the frequency of positive reactions and common hobbies and interests. The input data are the sentiment analysis results and keywords, and the output data is the compatibility score.
[0868] Step 6:
[0869] The server generates a candidate list based on compatibility scores. This list is filtered by marital status. The input data is the compatibility scores, and the output data is the filtered candidate list.
[0870] Step 7:
[0871] The user terminal displays the generated candidate list to the user, who then browses the list and selects an appropriate candidate. The input data is the filtered candidate list, and the output data is the user's selection.
[0872] Step 8:
[0873] The server generates an initial approach message based on the past conversation history and extracted keywords. The input data are the user's selection, conversation history, and keywords, and the output data is a suggested initial message.
[0874] Step 9:
[0875] The user terminal displays the proposed initial message to the user, who then confirms, edits, and sends the message. The input data is the proposed initial message, and the output data is the sent message.
[0876] Step 10:
[0877] The server monitors the status of messages after they are sent and generates a follow-up message if there is no reply. The input data is the sent message and its sending status, and the output data is the follow-up message.
[0878] Step 11:
[0879] In the virtual store, the system suggests specific friends based on the user's friend list and provides date plans and gift ideas. The input data is the user's friend list and past conversation history, and the output data is suggested date plans and gift ideas.
[0880] 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.
[0881] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0882] 1. Processing on the user device
[0883] On the user's device, the user grants the system permission to link with the LINE app. This allows the system to begin retrieving the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[0884] 2. Processing on the server
[0885] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[0886] The server then analyzes the preprocessed data using an emotion engine to perform sentiment analysis and keyword extraction. The emotion engine categorizes the conversations between the user and their friends into positive, negative, and neutral emotions and extracts keywords related to their hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[0887] 3. Candidate proposals
[0888] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0889] 4. Create and send your first message
[0890] The server generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0891] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[0892] Specific examples
[0893] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using an emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations end with positive reactions. It also confirms that User A's real-time emotional state is favorable. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[0894] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as needed. For example, if there is no reply, the system generates a follow-up message such as "How are you? What have you been up to lately?" In this way, User A can smoothly start communicating with Friend B.
[0895] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0896] The processing flow will be explained below.
[0897] Step 1:
[0898] The user grants the system permission to connect with the LINE app.
[0899] Step 2:
[0900] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[0901] Step 3:
[0902] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[0903] Step 4:
[0904] The server uses an emotion engine to analyze the pre-processed data and classify the conversation into positive, negative, or neutral emotions.
[0905] Step 5:
[0906] The server uses an emotion engine to determine the user's real-time emotional state from the analysis results.
[0907] Step 6:
[0908] The server extracts keywords related to hobbies and preferences from the preprocessed data.
[0909] Step 7:
[0910] The server calculates a compatibility score for each friend based on the extracted keywords and sentiment analysis. For example, a high compatibility score is assigned to friends who have common interests or many positive conversations.
[0911] Step 8:
[0912] The server generates a candidate list based on the calculated compatibility score, filtering out married people and prioritizing reliable unmarried friends.
[0913] Step 9:
[0914] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and browses the friends suggested as potential romantic partners.
[0915] Step 10:
[0916] The server generates an initial approach message based on past conversation history, extracted keywords, and the results of the emotion engine. For example, if the topic of sports comes up, the server might suggest a message such as, "Have you been to a sporting event recently?"
[0917] Step 11:
[0918] The user can review the suggested message, edit it if necessary, and send it to their friends.
[0919] Step 12:
[0920] The server monitors the status of sent messages and, if there is no reply within a certain period of time, generates a follow-up message to prompt the user to send it again, for example, "How are you? What have you been up to lately?"
[0921] Example 2
[0922] 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."
[0923] Conventional systems for suggesting potential romantic partners do not adequately analyze the emotions between users and their friends or calculate compatibility scores based on hobbies and preferences, making it difficult to select appropriate candidates and follow up. Furthermore, if the content of the initial message is inappropriate, it can be difficult to start communication smoothly.
[0924] 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.
[0925] In this invention, the server includes a means for acquiring data for selecting candidates from a friend list, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences, thereby enabling the selection and follow-up of appropriate romantic partner candidates based on the user's relationships with their friends.
[0926] A "friend list" is a list of contacts of acquaintances or friends that a user has registered on an online messaging platform or social media.
[0927] "Means for obtaining data" refers to a function for obtaining a user's friend list and past conversation history from an online API or database.
[0928] "Natural language processing (NLP)" is an artificial intelligence technique for analyzing, understanding, or generating human language, including tokenizing text, removing unnecessary characters, and removing stop words.
[0929] "Preprocessing" refers to the preparation of acquired data to convert it into an analyzable form, including text cleaning and tokenization.
[0930] The "emotion engine" is a technology that analyzes conversation content and classifies emotions such as positive, negative, and neutral.
[0931] "Interests" refer to areas, topics, or topics in which a user or a friend has particular interests or concerns.
[0932] The "compatibility score" is an evaluation index that quantifies the quality of the relationship and compatibility between the user and a friend.
[0933] The "candidate list" is a list of friends who are potential romantic partners selected based on their compatibility scores.
[0934] The "first message" is the first message that a user sends to a friend, and is used to start communication with the friend.
[0935] A "follow-up message" is a complementary message that a user sends when a friend does not reply or to encourage further communication.
[0936] The "means for supporting sending" is a function that allows a user to easily send the generated initial message to friends.
[0937] The "means for monitoring message status" is a function for monitoring friends' responses and reactions to messages sent by the user.
[0938] "Filtering" refers to the process of selecting candidates based on their marital or single status.
[0939] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[0940] In one embodiment of the system, a user first grants permission to link with the LINE app. The user device then sends permission data to the system, which the server receives. The server then calls the LINE API to retrieve the user's friend list and past conversation history, and stores them in temporary storage.
[0941] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The preprocessed data is then analyzed using an emotion engine. The emotion engine classifies the conversation content as positive, negative, or neutral, and extracts keywords related to hobbies and preferences. Based on this, the server calculates a compatibility score with each friend.
[0942] Based on the calculated compatibility score, the server generates a candidate list. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[0943] The server then generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[0944] When a user sends a generated message to a friend, the server monitors subsequent replies, and if there is no reply, generates a follow-up message and prompts the user to send it again.
[0945] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using the emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations ended with positive responses. Based on this result, the system generates an initial message asking, "Have you been to a sporting event recently?" When User A sends this message to Friend B, the system monitors subsequent replies and, if necessary, suggests follow-up messages such as, "How are you? What have you been up to lately?"
[0946] An example of a prompt is, "Please suggest friends from the LINE friend list who have common interests and a positive conversation history as potential romantic partners. Also, please generate an appropriate first message."
[0947] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[0948] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0949] Step 1: Obtaining Permissions
[0950] The user allows the system to connect to the LINE app. This action gives the user's device access to account information, friend list, and conversation history through the LINE API. Specifically, the user's device generates access permission data and sends it to the server.
[0951] Input: Permissions from the user
[0952] Output: Access permission data
[0953] Step 2: Data retrieval by the server
[0954] The server calls the LINE API to retrieve the user's friend list and past conversation history, and then stores the necessary data in temporary storage.
[0955] Input: Access permission data
[0956] Output: Friends list and past conversation history
[0957] Step 3: Preprocessing the data
[0958] The server feeds the acquired data into a natural language processing (NLP) engine, which tokenizes the text, removes unnecessary characters, and removes stop words, converting the data into a format that can be analyzed.
[0959] Input: Friends list and past conversation history
[0960] Output: Preprocessed text data
[0961] Step 4: Sentiment Analysis
[0962] The server inputs the preprocessed data into the emotion engine, classifies emotions into positive, negative, and neutral, and extracts keywords related to interests and preferences. Specifically, the emotion engine generates an emotion score for each conversation.
[0963] Input: Preprocessed text data
[0964] Output: Sentiment scores and keywords
[0965] Step 5: Calculating your compatibility score
[0966] The server calculates the compatibility score between the user and each friend based on the emotion score and keywords. Specifically, the score is calculated based on common hobbies and positive conversation history.
[0967] Input: sentiment scores and keywords
[0968] Output: Compatibility score
[0969] Step 6: Generate candidate list
[0970] The server generates a candidate list based on the compatibility score, prioritizing unmarried friends. Specifically, it checks the married / unmarried status and adds only reliable candidates to the list.
[0971] Input: Compatibility score
[0972] Output: Candidate list
[0973] Step 7: Submit and view candidate list
[0974] The server sends the generated candidate list to the user's terminal, and the user can view the list and confirm the suggested friends.
[0975] Input: Candidate list
[0976] Output: Candidate list displayed on the user's terminal
[0977] Step 8: Generate the initial message
[0978] The server generates the initial message based on the conversation history, extracted keywords, and sentiment analysis results. Specifically, it generates a suggested message based on a common topic.
[0979] Input: Past conversation history, keywords, sentiment analysis results
[0980] Output: Initial message
[0981] Step 9: Sending a message
[0982] The user reviews the suggested message, and may edit it, but most often just sends it. The device sends the message to the friend, and the server records the sending status.
[0983] Input: Initial message
[0984] Output: Message sent
[0985] Step 10: Monitor and follow up on responses
[0986] The server monitors the reply status of the sent message and generates a follow-up message if there is no reply. Specifically, if there is no reply for a certain period of time, it automatically generates a resend message.
[0987] Input: Sent message and its reply status
[0988] Output: Follow-up message
[0989] In this way, the system provides support for users to find potential romantic partners among their friends and smoothly start communication.
[0990] (Application example 2)
[0991] 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."
[0992] While conventional systems were able to suggest reliable potential romantic partners between users and their friends, they did not suggest content based on viewing history or generate specific messages tailored to individual preferences based on emotional analysis. Therefore, there was a need for a system that could suggest content suited to a user's interests and emotional state, and generate messages that would naturally suggest that recommended content to friends.
[0993] 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.
[0994] In this invention, the server includes: means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility scores, means for suggesting suitable candidates from the generated candidate list, means for creating an initial message for the proposed candidates, means for supporting the sending of the initial message, means for monitoring the message status after sending and creating a follow-up message, means for acquiring the user's content viewing history, means for suggesting recommended content based on emotions and keywords extracted from the viewing history and conversation history, and means for creating a message proposing the generated recommended content to friends. This allows a user to receive content suggestions based on their viewing history while utilizing their existing connections with friends and suggest the content to their friends through natural communication.
[0995] A "friend list" is a list of information about friends and acquaintances that a user registers within a communication app.
[0996] "Natural language processing" is a technology that uses computers to analyze, understand, and generate human language.
[0997] "Sentiment analysis" is the process of identifying and classifying emotions, such as positive, negative, or neutral, from text data.
[0998] "Preferences" refer to the preferences and interests of individual users, and indicate the degree of interest in particular genres or services.
[0999] The "compatibility score" is a numerical representation of the compatibility of a relationship between a user and a friend based on communication and shared interests.
[1000] A "candidate list" is a list of potential romantic partners selected from the friend list.
[1001] "Suggestion" refers to the recommendations or actions that the system presents to the user.
[1002] The "first message" is the recommended communication that the system sends to a friend on behalf of the user.
[1003] A "follow-up message" is an additional message sent after the initial message to encourage further communication.
[1004] "Content viewing history" is log information of movies, dramas, music, articles, etc. that a user has viewed.
[1005] "Recommended content" refers to information such as movies, dramas, music, and articles that the system suggests to users based on their preferences and the results of emotional analysis.
[1006] "Message generation" is the process by which the system creates appropriate communication sentences for each situation.
[1007] System Overview
[1008] The system for implementing this invention consists of a user's device, a server, and a network connecting them. The entire system suggests potential partners and content based on the user's friend list and viewing history, and generates messages that naturally share the suggested content with friends.
[1009] Processing on the user's device
[1010] On the user's device, the user grants the system permission to link with the communication app. With this permission, the system can obtain the user's friend list, past exchanges, and viewing history from the communication app. The user can then view and edit suggestions and message templates from the system.
[1011] Processing on the server
[1012] The server calls the API based on the user's access rights to retrieve the friend list, conversation history, and content viewing history. The retrieved data is preprocessed using natural language processing (NLP) techniques, including text tokenization, removal of unnecessary characters, and removal of stop words.
[1013] The server then uses a sentiment analysis engine to analyze the preprocessed data and extract keywords. The sentiment analysis engine classifies the conversations between the user and their friends into positive, negative, and neutral emotions, and combines them with the viewing history to extract keywords related to hobbies and preferences. Based on the results of this analysis, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[1014] Candidate suggestions and content suggestions
[1015] The server generates a list of potential romantic partners based on the calculated compatibility score. This list is filtered by married or unmarried, with unmarried friends being given priority. Recommended content related to the user's interests is also calculated based on the viewing history and sentiment analysis results. The generated candidate list and recommended content are sent to the user's device, where the user can view the list and check the suggested friends and content.
[1016] Creating and sending your first message
[1017] The server generates an initial approach message based on keywords extracted from past conversation and viewing history, as well as the results of analysis by a sentiment analysis engine. For example, if a conversation has previously focused on movies, the server will suggest a message such as, "Have you seen a movie recently?" The user can send the suggested message as is, or edit it as needed.
[1018] Users select a suggested message and send it to their friends. The server then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[1019] Specific examples
[1020] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's communication app friend list and analyzes their past interactions using a sentiment analysis engine. The analysis reveals that User A and Friend B share a common interest in sports and that their conversations end with positive responses. It also confirms that User A's real-time emotional state is positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[1021] When user A sends the generated message to friend B, the server monitors the subsequent response status and suggests follow-up messages as needed. For example, if there is no response, it generates a follow-up message such as "How are you? What have you been up to lately?" In this way, user A can smoothly start communicating with friend B.
[1022] Prompt Sentence Examples
[1023] "If you have a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[1024] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1025] Step 1:
[1026] Obtaining access permissions from the user device
[1027] When a user grants permission to the system, the device retrieves the friend list, past conversations, and viewing history of the communication app. The input data is the user's friend list, conversation history, and viewing history, and the output is sending the retrieved data to the server.
[1028] Step 2:
[1029] Retrieving data on the server
[1030] The server calls the API based on the user's access permission to obtain the friend list, conversation history, and viewing history. The input data is the friend list, conversation history, and viewing history, and collecting these data is the output.
[1031] Step 3:
[1032] Data Preprocessing
[1033] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is text data from conversation history and viewing history, and the tokenized clean data is the output.
[1034] Step 4:
[1035] Emotion and preference analysis
[1036] The server uses a sentiment analysis engine to analyze the preprocessed data and perform sentiment classification into positive, negative, and neutral sentiments and keyword extraction. The input data is the preprocessed clean data, and the output is classified sentiment data and extracted keywords.
[1037] Step 5:
[1038] Compatibility Score Calculation
[1039] The server calculates a compatibility score with friends based on the results of the sentiment analysis. In this calculation, common interests and positive conversation histories lead to higher scores. The input data are sentiment analysis data and keywords, and the output is a compatibility score with each friend.
[1040] Step 6:
[1041] Generating potential partners and recommended content
[1042] The server generates a list of potential partners based on the calculated compatibility score, and also generates content recommendations for users by taking into account their viewing history and sentiment analysis results. The input data are the compatibility score and viewing history, and the output is a list of potential partners and recommended content.
[1043] Step 7:
[1044] Generate initial and suggested messages
[1045] The server generates an initial approach message based on the conversation history, extracted keywords, and the results of the sentiment analysis engine. It also generates a message to suggest recommended content to friends. The input data are the conversation history, keywords, and sentiment analysis data, and the output is the generated message.
[1046] Step 8:
[1047] Sending and Monitoring Messages
[1048] Users select suggested initial and recommended messages and send them to their friends. The server then monitors the status of the sent messages and generates follow-up messages if there are no replies. The input data are the sent messages and the response status, and the output is the follow-up messages.
[1049] As a concrete example, if user A has a sports viewing history and has a lot of positive emotions about sports in conversations with friend B, the system will generate an initial message asking, "Have you been to a sporting event recently?" and suggest sending it to friend B. The system will also generate a recommended message based on the viewing history, asking, "Have you seen the latest sports movie?" An example prompt sentence is, "If you had a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[1050] 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.
[1051] 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.
[1052] 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.
[1053] [Fourth embodiment]
[1054] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1055] 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.
[1056] 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).
[1057] 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.
[1058] 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.
[1059] 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).
[1060] 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.
[1061] 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.
[1062] 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.
[1063] 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.
[1064] 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.
[1065] 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.
[1066] 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."
[1067] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[1068] 1. Processing on the user device
[1069] On the user's device, the user first grants the system permission to access the LINE app. This allows the system to retrieve the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[1070] 2. Processing on the server
[1071] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[1072] The server then analyzes the preprocessed data through sentiment analysis and keyword extraction of hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[1073] 3. Candidate proposals
[1074] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[1075] 4. Create and send your first message
[1076] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[1077] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[1078] Specific examples
[1079] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[1080] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as necessary, allowing User A to smoothly start communicating with Friend B.
[1081] This system allows users who are reluctant to use a matching service to connect with complete strangers to find reliable potential romantic partners from their existing friend lists, providing support to help them take the "first step."
[1082] The processing flow will be explained below.
[1083] Step 1:
[1084] The user grants the system permission to connect with the LINE app.
[1085] Step 2:
[1086] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[1087] Step 3:
[1088] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[1089] Step 4:
[1090] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, classifying the conversation content into positive, negative, and neutral emotions and extracting keywords related to hobbies and preferences.
[1091] Step 5:
[1092] The server calculates a compatibility score for each friend based on the analysis results. For example, a high compatibility score is set for friends who share common hobbies or have a history of positive conversations.
[1093] Step 6:
[1094] The server generates and filters the list of candidates based on compatibility scores, specifically excluding married people from the list and prioritizing reliable unmarried friends.
[1095] Step 7:
[1096] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and identifies the friends proposed as potential romantic partners.
[1097] Step 8:
[1098] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if the topic of sports comes up, the server suggests a message such as, "Have you been to a sporting event recently?"
[1099] Step 9:
[1100] The user can review the suggested message, edit it if necessary, and send it to their friends.
[1101] Step 10:
[1102] The server monitors the status of the sent message, and if there is no reply within a certain period of time, it generates a follow-up message and prompts the user to send it again.
[1103] Example 1
[1104] 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."
[1105] For users of today's numerous communication applications, finding suitable potential romantic partners from their friend lists and making a smooth initial approach can be challenging. It is particularly time-consuming to understand past conversations with potential partners and craft appropriate messages based on that information. Furthermore, if no reply is received after the initial message, further follow-up is required, which is also a significant burden for users. Furthermore, automated filtering of married / unmarried individuals and calculation of compatibility scores are desirable.
[1106] 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.
[1107] In this invention, the server includes a means for calling a communication application API based on the access rights granted by the user and acquiring a friend list and conversation history, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences. This allows users to find suitable romantic partners from their friend list and smoothly compose and send initial approach messages. It also enables automatic generation of follow-up messages and monitoring of their sending status, significantly reducing the burden on users.
[1108] A "communications application API" is a means of obtaining and manipulating data through a program interface provided by a communications application.
[1109] A "friend list" is a list of other users registered by a user on a communication application.
[1110] A "conversation history" is a record of messages that a user has previously exchanged with other users on a communication application.
[1111] "Natural language processing" is a technology for preprocessing text data and analyzing its content.
[1112] "Preprocessing" refers to the preparation work done to convert raw data into an analyzable form, and in the case of text data, this includes tokenization, removal of unnecessary characters, removal of stop words, etc.
[1113] "Emotion" refers to a human emotional state such as joy, sadness, anger, surprise, etc., extracted from text data.
[1114] "Tastes" indicate topics of interest, hobbies, and concerns of a user.
[1115] The "compatibility score" is a numerical representation of the compatibility between the user and a friend, and is calculated based on past conversations and shared hobbies and interests.
[1116] "Candidate List" means a list of potential partners selected based on compatibility scores.
[1117] A "first message" is the first message a user sends to a potential romantic partner.
[1118] A "follow-up message" is a follow-up message sent again if there is no reply to the initial message.
[1119] "Monitoring" refers to monitoring the status of sent messages and taking necessary action depending on the situation.
[1120] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, and a data analysis means based on the friend list.
[1121] 1. Processing on the user device
[1122] The user first grants the system permission to access the communication application. The system then retrieves the user's friend list and past conversation history through the user's communication application API. On the user's device, the system can view and edit the proposed romantic partner candidates and message templates.
[1123] 2. Processing on the server
[1124] The server calls the communication application API based on the user's access rights and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques, which include tokenizing the text, removing unnecessary characters, and removing stop words.
[1125] The server then performs sentiment analysis and extracts keywords related to interests and hobbies based on the preprocessed data. This analysis can be performed using a generative AI model. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if you share common hobbies and interests, the compatibility score is set high.
[1126] 3. Candidate proposals
[1127] The server generates a candidate list based on the calculated compatibility score. This list is filtered by marital status to prioritize reliable unmarried friends. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[1128] 4. Create and send your first message
[1129] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if music has been a hot topic in the past, the server might suggest a message like, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed.
[1130] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no reply, generates a follow-up message and prompts them to send it again.
[1131] Specific examples
[1132] For example, suppose User A grants access to the system. The system retrieves Friend B's information from User A's friend list through the API of User A's communication application and analyzes their past interactions. The analysis reveals that User A and Friend B share a common interest in sports and that their past conversations have been positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?" If User A sends this message to Friend B and Friend B does not reply, the system suggests a follow-up message saying, "How was it? Let me know if you have anything fun to do!"
[1133] Prompt Sentence Examples
[1134] Examples of prompts that users can input to a generative AI model include:
[1135] "Please suggest compatible romantic partners from user A's friend list."
[1136] "Generate an initial approach message to User B. Their past conversation history has been dominated by topics about music."
[1137] "Suggest a follow-up message to send to friend C if they don't reply to my first message."
[1138] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1139] Step 1:
[1140] The user grants the system access permission for communication application integration. Specifically, the user opens the communication application on their smartphone, transitions to the access permission permission screen, and presses the "Allow" button. The input to this step is the user's access permission, and the output is the system's permission to access the user's data.
[1141] Step 2:
[1142] The server calls the communication application API using the access rights granted by the user to obtain the user's friend list and conversation history. Specifically, the server sends a request to the communication application API and receives the friend list and message history in JSON format. The input of this step is the API request, and the output is the obtained friend list and conversation history data.
[1143] Step 3:
[1144] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input for this step is the friend list and conversation history data, and the output is the preprocessed data. For example, the message "Hello, how are you?" is broken down into tokens such as "Hello," "How are you," and "Is it?"
[1145] Step 4:
[1146] The server analyzes the preprocessed data and classifies emotions and preferences. Specifically, it uses a natural language processing model to perform sentiment analysis of the text and extract keywords related to hobbies and preferences. The input to this step is the preprocessed data, and the output is classified emotional information and preference keywords. For example, keywords such as "movies," "music," and "sports" are obtained, along with emotional information indicating whether the sentence is positive or negative.
[1147] Step 5:
[1148] The server calculates a compatibility score based on the classified information. Specifically, it uses an algorithm that assigns a high score if the emotion is positive or if there are many common hobbies. The input for this step is emotional information and preference keywords, and the output is a compatibility score. For example, Friend B's score might be calculated as 80 points.
[1149] Step 6:
[1150] The server generates a candidate list based on the calculated compatibility score. Specifically, it includes singles with a score above a certain level in the list. The input of this step is the compatibility score, and the output is a filtered list of singles.
[1151] Step 7:
[1152] The server sends the generated candidate list to the user's terminal. Specifically, it sends a notification to the terminal so that the user can view the proposed candidate list. The input of this step is the candidate list, and the output is a notification to the user's terminal.
[1153] Step 8:
[1154] The server generates an initial approach message based on past conversation history and extracted keywords. Specifically, it uses a generative AI model to create a message that matches the user's interests. The input for this step is past conversation history and keywords, and the output is an initial approach message. For example, a message might be generated that says, "Have you seen a movie recently?"
[1155] Step 9:
[1156] The user sends the suggested message to their friend. The user edits the message if necessary and sends the final message through the communication application. The input to this step is the initial approach message and the output is the sent message.
[1157] Step 10:
[1158] The server monitors the status of the sent message. Specifically, it checks for replies from friends and generates follow-up messages if necessary. The input to this step is the sent message, and the output is a follow-up message or the monitoring results. For example, if there is no reply, a follow-up message is generated saying, "How was it? Let me know if you have any fun!"
[1159] (Application example 1)
[1160] 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."
[1161] Conventional systems that suggest potential romantic partners based on a user's friend list have difficulty making specific suggestions based on the user's interests and concerns in real life situations. Furthermore, when users shop in virtual stores or online, they lack useful romance-related suggestions and gift ideas, making it difficult for them to take real-life action.
[1162] 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.
[1163] In this invention, the server includes means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility score, means for suggesting suitable candidates from the generated candidate list, means for creating a first message for the suggested candidates, means for supporting the sending of the first message, means for monitoring the message status after sending and generating a follow-up message, and means for suggesting specific friends based on the user's friend list in a virtual store and providing date plans and gift ideas. This allows a user to find reliable romantic partners from their existing friend list and appropriately suggest date plans and gift ideas when selecting romance-related products or services in the virtual store.
[1164] A "buddy list" is a portion of a user's contact list that contains people known through a particular communication application.
[1165] "Candidates" refer to people selected from the friend list who may be recommended to the user.
[1166] "Data Acquisition Means" refers to a combination of hardware and software for acquiring friend lists and related information.
[1167] "Natural Language Processing (NLP)" is the technology that enables computers to understand, interpret, and generate human language.
[1168] "Preprocessing" refers to the process of converting data into a format that is easier to analyze, and specifically includes tokenizing text, removing unnecessary characters, removing stop words, etc.
[1169] Emotion and preference classification is the process of analyzing pre-processed data to identify a person's emotional state and interests and classify them into categories.
[1170] The "compatibility score" is a numerical index of the compatibility between the user and the candidate.
[1171] A "candidate list" is a list containing multiple candidates generated based on compatibility scores.
[1172] The "initial message" is a greeting or inquiry message that a user sends to a candidate for the first time.
[1173] A "follow-up message" is a message sent when there is no response after the initial message is sent or when further communication is required.
[1174] A "virtual store" is a virtual shopping location provided on the Internet, an online platform where users can browse and purchase products and services.
[1175] A "date plan" is a plan that includes specific dates, times, locations, and activities for the user and the candidate to enjoy together.
[1176] "Gift Ideas" are suggestions for suitable presents to give to specific people.
[1177] The present invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. Detailed embodiments of the present invention will be described below.
[1178] Processing on the user terminal
[1179] On the user's device, the user first grants the system permission to access the communication app. This allows the system to begin retrieving the user's friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[1180] Processing on the server
[1181] The server calls the communication app's API based on the user's access permissions and retrieves the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) technology. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are eliminated. The server then analyzes the preprocessed data using sentiment analysis and preference keyword extraction. Based on the analysis results, a compatibility score with each friend is calculated. For example, if the conversation ends with a positive response or if the user has common hobbies and interests, the compatibility score is set high.
[1182] Candidate proposals
[1183] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[1184] Creating and sending your first message
[1185] The server generates an initial approach message based on past conversation history and extracted keywords. For example, if you have had a lively discussion about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is or edit it as needed. The user selects a suggested message and sends it to their friend. The system then monitors the status of the sent message, and if there is no reply, it generates a follow-up message and encourages the user to send it again.
[1186] Virtual in-store processing
[1187] In the virtual store, when a user is browsing for romance-related products and services, the system will suggest specific friends based on the user's friend list and provide date plans and gift ideas. For example, when choosing a gift for a loved one, the system will analyze the friend list and past conversation history to suggest suitable items and date spots.
[1188] Specific examples
[1189] As a concrete example, when a user searches for "date plans" in a virtual store, the system suggests "Friend C" from the friend list and generates a message such as "Date plans with Friend C: Let's go to the recently opened cafe."
[1190] Prompt Sentence Examples
[1191] inputs:
[1192] A user's friends list
[1193] Past conversation history
[1194] outputs:
[1195] Suggesting friends as potential romantic partners
[1196] Date Plan
[1197] Gift Ideas
[1198] Example: If "Friend C" on the user's friend list has previously said "I want to go to a new cafe," the system will suggest a cafe date.
[1199] In this way, the automatic suggestion system is an application that analyzes the user's friend data and suggests suitable romantic partners and date plans, and by providing specific date plans and gift ideas, it can lead to actual user behavior.
[1200] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1201] Step 1:
[1202] On the user device, the user grants the system access permission for communication app integration. By doing so, the user grants the system permission to obtain the friend list and past conversation history. The input data is the user's access permission, and the output data is the friend list and conversation history that can be obtained.
[1203] Step 2:
[1204] The server collects the acquired friend list and past conversation history using the communication app API. The input data is the user's friend list and conversation history, and the output data is the original dataset.
[1205] Step 3:
[1206] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is the collected text data of the friend list and conversation history, and the output data is the preprocessed text data.
[1207] Step 4:
[1208] The server analyzes the preprocessed data and performs sentiment analysis and keyword extraction, which allows for classification of emotions and preferences. The input data is the preprocessed text data, and the output data is the sentiment analysis results and extracted keywords.
[1209] Step 5:
[1210] The server calculates a compatibility score for each friend based on the analysis results. Specifically, the score is set based on the frequency of positive reactions and common hobbies and interests. The input data are the sentiment analysis results and keywords, and the output data is the compatibility score.
[1211] Step 6:
[1212] The server generates a candidate list based on compatibility scores. This list is filtered by marital status. The input data is the compatibility scores, and the output data is the filtered candidate list.
[1213] Step 7:
[1214] The user terminal displays the generated candidate list to the user, who then browses the list and selects an appropriate candidate. The input data is the filtered candidate list, and the output data is the user's selection.
[1215] Step 8:
[1216] The server generates an initial approach message based on the past conversation history and extracted keywords. The input data are the user's selection, conversation history, and keywords, and the output data is a suggested initial message.
[1217] Step 9:
[1218] The user terminal displays the proposed initial message to the user, who then confirms, edits, and sends the message. The input data is the proposed initial message, and the output data is the sent message.
[1219] Step 10:
[1220] The server monitors the status of messages after they are sent and generates a follow-up message if there is no reply. The input data is the sent message and its sending status, and the output data is the follow-up message.
[1221] Step 11:
[1222] In the virtual store, the system suggests specific friends based on the user's friend list and provides date plans and gift ideas. The input data is the user's friend list and past conversation history, and the output data is suggested date plans and gift ideas.
[1223] 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.
[1224] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[1225] 1. Processing on the user device
[1226] On the user's device, the user grants the system permission to link with the LINE app. This allows the system to begin retrieving the user's LINE friend list and past exchanges. The user can then view and edit suggestions and message templates from the system.
[1227] 2. Processing on the server
[1228] The server calls the LINE API based on the access rights granted by the user to retrieve the friend list and past conversation history. The retrieved data is preprocessed using natural language processing (NLP) techniques. Specifically, the text is tokenized, unnecessary characters are removed, and stop words are removed.
[1229] The server then analyzes the preprocessed data using an emotion engine to perform sentiment analysis and keyword extraction. The emotion engine categorizes the conversations between the user and their friends into positive, negative, and neutral emotions and extracts keywords related to their hobbies and preferences. Based on the analysis results, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[1230] 3. Candidate proposals
[1231] The server generates a candidate list based on the calculated compatibility score. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[1232] 4. Create and send your first message
[1233] The server generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[1234] Users can select a suggested message and send it to their friends. The system then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[1235] Specific examples
[1236] For example, suppose User A grants access to the system. The system retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using an emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations end with positive reactions. It also confirms that User A's real-time emotional state is favorable. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[1237] When User A sends the generated message to Friend B, the system monitors subsequent replies and suggests follow-up messages as needed. For example, if there is no reply, the system generates a follow-up message such as "How are you? What have you been up to lately?" In this way, User A can smoothly start communicating with Friend B.
[1238] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[1239] The processing flow will be explained below.
[1240] Step 1:
[1241] The user grants the system permission to connect with the LINE app.
[1242] Step 2:
[1243] The server uses the LINE API to retrieve the user's friend list and past conversation history.
[1244] Step 3:
[1245] The server preprocesses the acquired data using natural language processing, specifically tokenizing the text, removing unnecessary characters, and removing stop words.
[1246] Step 4:
[1247] The server uses an emotion engine to analyze the pre-processed data and classify the conversation into positive, negative, or neutral emotions.
[1248] Step 5:
[1249] The server uses an emotion engine to determine the user's real-time emotional state from the analysis results.
[1250] Step 6:
[1251] The server extracts keywords related to hobbies and preferences from the preprocessed data.
[1252] Step 7:
[1253] The server calculates a compatibility score for each friend based on the extracted keywords and sentiment analysis. For example, a high compatibility score is assigned to friends who have common interests or many positive conversations.
[1254] Step 8:
[1255] The server generates a candidate list based on the calculated compatibility score, filtering out married people and prioritizing reliable unmarried friends.
[1256] Step 9:
[1257] The server sends the generated candidate list to the user's terminal, and the user checks the candidate list and browses the friends suggested as potential romantic partners.
[1258] Step 10:
[1259] The server generates an initial approach message based on past conversation history, extracted keywords, and the results of the emotion engine. For example, if the topic of sports comes up, the server might suggest a message such as, "Have you been to a sporting event recently?"
[1260] Step 11:
[1261] The user can review the suggested message, edit it if necessary, and send it to their friends.
[1262] Step 12:
[1263] The server monitors the status of sent messages and, if there is no reply within a certain period of time, generates a follow-up message to prompt the user to send it again, for example, "How are you? What have you been up to lately?"
[1264] Example 2
[1265] 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."
[1266] Conventional systems for suggesting potential romantic partners do not adequately analyze the emotions between users and their friends or calculate compatibility scores based on hobbies and preferences, making it difficult to select appropriate candidates and follow up. Furthermore, if the content of the initial message is inappropriate, it can be difficult to start communication smoothly.
[1267] 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.
[1268] In this invention, the server includes a means for acquiring data for selecting candidates from a friend list, a means for preprocessing the acquired data using natural language processing, and a means for analyzing the preprocessed data to classify emotions and preferences, thereby enabling the selection and follow-up of appropriate romantic partner candidates based on the user's relationships with their friends.
[1269] A "friend list" is a list of contacts of acquaintances or friends that a user has registered on an online messaging platform or social media.
[1270] "Means for obtaining data" refers to a function for obtaining a user's friend list and past conversation history from an online API or database.
[1271] "Natural language processing (NLP)" is an artificial intelligence technique for analyzing, understanding, or generating human language, including tokenizing text, removing unnecessary characters, and removing stop words.
[1272] "Preprocessing" refers to the preparation of acquired data to convert it into an analyzable form, including text cleaning and tokenization.
[1273] The "emotion engine" is a technology that analyzes conversation content and classifies emotions such as positive, negative, and neutral.
[1274] "Interests" refer to areas, topics, or topics in which a user or a friend has particular interests or concerns.
[1275] The "compatibility score" is an evaluation index that quantifies the quality of the relationship and compatibility between the user and a friend.
[1276] The "candidate list" is a list of friends who are potential romantic partners selected based on their compatibility scores.
[1277] The "first message" is the first message that a user sends to a friend, and is used to start communication with the friend.
[1278] A "follow-up message" is a complementary message that a user sends when a friend does not reply or to encourage further communication.
[1279] The "means for supporting sending" is a function that allows a user to easily send the generated initial message to friends.
[1280] The "means for monitoring message status" is a function for monitoring friends' responses and reactions to messages sent by the user.
[1281] "Filtering" refers to the process of selecting candidates based on their marital or single status.
[1282] This invention relates to a system that suggests potential romantic partners from among people already registered on a user's friend list and supports the initial approach. The system includes a user's terminal, a server, a data analysis means based on the friend list, and an emotion engine.
[1283] In one embodiment of the system, a user first grants permission to link with the LINE app. The user device then sends permission data to the system, which the server receives. The server then calls the LINE API to retrieve the user's friend list and past conversation history, and stores them in temporary storage.
[1284] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The preprocessed data is then analyzed using an emotion engine. The emotion engine classifies the conversation content as positive, negative, or neutral, and extracts keywords related to hobbies and preferences. Based on this, the server calculates a compatibility score with each friend.
[1285] Based on the calculated compatibility score, the server generates a candidate list. This list is filtered by married or unmarried status, and prioritizes unmarried friends with high reliability. The generated candidate list is sent to the user's device, where the user can view the list and confirm the suggested friends.
[1286] The server then generates an initial approach message based on past conversation history, extracted keywords, and the analysis results of the emotion engine. For example, if you have had a lively conversation about music in the past, the server will suggest a message such as, "Have you been to a music event recently?" The user can send the suggested message as is, or edit it as needed.
[1287] When a user sends a generated message to a friend, the server monitors subsequent replies, and if there is no reply, generates a follow-up message and prompts the user to send it again.
[1288] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's LINE friend list and analyzes past interactions using the emotion engine. The analysis reveals that User A and Friend B share a common interest in sports, and that their conversations ended with positive responses. Based on this result, the system generates an initial message asking, "Have you been to a sporting event recently?" When User A sends this message to Friend B, the system monitors subsequent replies and, if necessary, suggests follow-up messages such as, "How are you? What have you been up to lately?"
[1289] An example of a prompt is, "Please suggest friends from the LINE friend list who have common interests and a positive conversation history as potential romantic partners. Also, please generate an appropriate first message."
[1290] This system utilizes existing friend lists and an emotion engine to help users who are reluctant to use matching services with complete strangers find reliable potential partners and provide support to take the "first step."
[1291] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1292] Step 1: Obtaining Permissions
[1293] The user allows the system to connect to the LINE app. This action gives the user's device access to account information, friend list, and conversation history through the LINE API. Specifically, the user's device generates access permission data and sends it to the server.
[1294] Input: Permissions from the user
[1295] Output: Access permission data
[1296] Step 2: Data retrieval by the server
[1297] The server calls the LINE API to retrieve the user's friend list and past conversation history, and then stores the necessary data in temporary storage.
[1298] Input: Access permission data
[1299] Output: Friends list and past conversation history
[1300] Step 3: Preprocessing the data
[1301] The server feeds the acquired data into a natural language processing (NLP) engine, which tokenizes the text, removes unnecessary characters, and removes stop words, converting the data into a format that can be analyzed.
[1302] Input: Friends list and past conversation history
[1303] Output: Preprocessed text data
[1304] Step 4: Sentiment Analysis
[1305] The server inputs the preprocessed data into the emotion engine, classifies emotions into positive, negative, and neutral, and extracts keywords related to interests and preferences. Specifically, the emotion engine generates an emotion score for each conversation.
[1306] Input: Preprocessed text data
[1307] Output: Sentiment scores and keywords
[1308] Step 5: Calculating your compatibility score
[1309] The server calculates the compatibility score between the user and each friend based on the emotion score and keywords. Specifically, the score is calculated based on common hobbies and positive conversation history.
[1310] Input: sentiment scores and keywords
[1311] Output: Compatibility score
[1312] Step 6: Generate candidate list
[1313] The server generates a candidate list based on the compatibility score, prioritizing unmarried friends. Specifically, it checks the married / unmarried status and adds only reliable candidates to the list.
[1314] Input: Compatibility score
[1315] Output: Candidate list
[1316] Step 7: Submit and view candidate list
[1317] The server sends the generated candidate list to the user's terminal, and the user can view the list and confirm the suggested friends.
[1318] Input: Candidate list
[1319] Output: Candidate list displayed on the user's terminal
[1320] Step 8: Generate the initial message
[1321] The server generates the initial message based on the conversation history, extracted keywords, and sentiment analysis results. Specifically, it generates a suggested message based on a common topic.
[1322] Input: Past conversation history, keywords, sentiment analysis results
[1323] Output: Initial message
[1324] Step 9: Sending a message
[1325] The user reviews the suggested message, and may edit it, but most often just sends it. The device sends the message to the friend, and the server records the sending status.
[1326] Input: Initial message
[1327] Output: Message sent
[1328] Step 10: Monitor and follow up on responses
[1329] The server monitors the reply status of the sent message and generates a follow-up message if there is no reply. Specifically, if there is no reply for a certain period of time, it automatically generates a resend message.
[1330] Input: Sent message and its reply status
[1331] Output: Follow-up message
[1332] In this way, the system provides support for users to find potential romantic partners among their friends and smoothly start communication.
[1333] (Application example 2)
[1334] 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."
[1335] While conventional systems were able to suggest reliable potential romantic partners between users and their friends, they did not suggest content based on viewing history or generate specific messages tailored to individual preferences based on emotional analysis. Therefore, there was a need for a system that could suggest content suited to a user's interests and emotional state, and generate messages that would naturally suggest that recommended content to friends.
[1336] 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.
[1337] In this invention, the server includes: means for acquiring data for selecting candidates from a friend list, means for preprocessing the acquired data using natural language processing, means for analyzing the preprocessed data to classify emotions and preferences, means for calculating a compatibility score based on the classified information, means for generating a candidate list based on the calculated compatibility scores, means for suggesting suitable candidates from the generated candidate list, means for creating an initial message for the proposed candidates, means for supporting the sending of the initial message, means for monitoring the message status after sending and creating a follow-up message, means for acquiring the user's content viewing history, means for suggesting recommended content based on emotions and keywords extracted from the viewing history and conversation history, and means for creating a message proposing the generated recommended content to friends. This allows a user to receive content suggestions based on their viewing history while utilizing their existing connections with friends and suggest the content to their friends through natural communication.
[1338] A "friend list" is a list of information about friends and acquaintances that a user registers within a communication app.
[1339] "Natural language processing" is a technology that uses computers to analyze, understand, and generate human language.
[1340] "Sentiment analysis" is the process of identifying and classifying emotions, such as positive, negative, or neutral, from text data.
[1341] "Preferences" refer to the preferences and interests of individual users, and indicate the degree of interest in particular genres or services.
[1342] The "compatibility score" is a numerical representation of the compatibility of a relationship between a user and a friend based on communication and shared interests.
[1343] A "candidate list" is a list of potential romantic partners selected from the friend list.
[1344] "Suggestion" refers to the recommendations or actions that the system presents to the user.
[1345] The "first message" is the recommended communication that the system sends to a friend on behalf of the user.
[1346] A "follow-up message" is an additional message sent after the initial message to encourage further communication.
[1347] "Content viewing history" is log information of movies, dramas, music, articles, etc. that a user has viewed.
[1348] "Recommended content" refers to information such as movies, dramas, music, and articles that the system suggests to users based on their preferences and the results of emotional analysis.
[1349] "Message generation" is the process by which the system creates appropriate communication sentences for each situation.
[1350] System Overview
[1351] The system for implementing this invention consists of a user's device, a server, and a network connecting them. The entire system suggests potential partners and content based on the user's friend list and viewing history, and generates messages that naturally share the suggested content with friends.
[1352] Processing on the user's device
[1353] On the user's device, the user grants the system permission to link with the communication app. With this permission, the system can obtain the user's friend list, past exchanges, and viewing history from the communication app. The user can then view and edit suggestions and message templates from the system.
[1354] Processing on the server
[1355] The server calls the API based on the user's access rights to retrieve the friend list, conversation history, and content viewing history. The retrieved data is preprocessed using natural language processing (NLP) techniques, including text tokenization, removal of unnecessary characters, and removal of stop words.
[1356] The server then uses a sentiment analysis engine to analyze the preprocessed data and extract keywords. The sentiment analysis engine classifies the conversations between the user and their friends into positive, negative, and neutral emotions, and combines them with the viewing history to extract keywords related to hobbies and preferences. Based on the results of this analysis, a compatibility score with each friend is calculated. For example, a high compatibility score is assigned to friends who share common interests and have a history of positive conversations.
[1357] Candidate suggestions and content suggestions
[1358] The server generates a list of potential romantic partners based on the calculated compatibility score. This list is filtered by married or unmarried, with unmarried friends being given priority. Recommended content related to the user's interests is also calculated based on the viewing history and sentiment analysis results. The generated candidate list and recommended content are sent to the user's device, where the user can view the list and check the suggested friends and content.
[1359] Creating and sending your first message
[1360] The server generates an initial approach message based on keywords extracted from past conversation and viewing history, as well as the results of analysis by a sentiment analysis engine. For example, if a conversation has previously focused on movies, the server will suggest a message such as, "Have you seen a movie recently?" The user can send the suggested message as is, or edit it as needed.
[1361] Users select a suggested message and send it to their friends. The server then monitors the status of the sent message and, if there is no response, generates a follow-up message and prompts them to send it again.
[1362] Specific examples
[1363] For example, suppose User A grants access to the system. The server retrieves information about Friend B from User A's communication app friend list and analyzes their past interactions using a sentiment analysis engine. The analysis reveals that User A and Friend B share a common interest in sports and that their conversations end with positive responses. It also confirms that User A's real-time emotional state is positive. The system suggests Friend B as a potential romantic partner with a high compatibility score and generates an initial message asking, "Have you been to a sporting event recently?"
[1364] When user A sends the generated message to friend B, the server monitors the subsequent response status and suggests follow-up messages as needed. For example, if there is no response, it generates a follow-up message such as "How are you? What have you been up to lately?" In this way, user A can smoothly start communicating with friend B.
[1365] Prompt Sentence Examples
[1366] "If you have a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[1367] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1368] Step 1:
[1369] Obtaining access permissions from the user device
[1370] When a user grants permission to the system, the device retrieves the friend list, past conversations, and viewing history of the communication app. The input data is the user's friend list, conversation history, and viewing history, and the output is sending the retrieved data to the server.
[1371] Step 2:
[1372] Retrieving data on the server
[1373] The server calls the API based on the user's access permission to obtain the friend list, conversation history, and viewing history. The input data is the friend list, conversation history, and viewing history, and collecting these data is the output.
[1374] Step 3:
[1375] Data Preprocessing
[1376] The server preprocesses the acquired data using natural language processing (NLP) techniques. Specifically, it tokenizes the text, removes unnecessary characters, and removes stop words. The input data is text data from conversation history and viewing history, and the tokenized clean data is the output.
[1377] Step 4:
[1378] Emotion and preference analysis
[1379] The server uses a sentiment analysis engine to analyze the preprocessed data and perform sentiment classification into positive, negative, and neutral sentiments and keyword extraction. The input data is the preprocessed clean data, and the output is classified sentiment data and extracted keywords.
[1380] Step 5:
[1381] Compatibility Score Calculation
[1382] The server calculates a compatibility score with friends based on the results of the sentiment analysis. In this calculation, common interests and positive conversation histories lead to higher scores. The input data are sentiment analysis data and keywords, and the output is a compatibility score with each friend.
[1383] Step 6:
[1384] Generating potential partners and recommended content
[1385] The server generates a list of potential partners based on the calculated compatibility score, and also generates content recommendations for users by taking into account their viewing history and sentiment analysis results. The input data are the compatibility score and viewing history, and the output is a list of potential partners and recommended content.
[1386] Step 7:
[1387] Generate initial and suggested messages
[1388] The server generates an initial approach message based on the conversation history, extracted keywords, and the results of the sentiment analysis engine. It also generates a message to suggest recommended content to friends. The input data are the conversation history, keywords, and sentiment analysis data, and the output is the generated message.
[1389] Step 8:
[1390] Sending and Monitoring Messages
[1391] Users select suggested initial and recommended messages and send them to their friends. The server then monitors the status of the sent messages and generates follow-up messages if there are no replies. The input data are the sent messages and the response status, and the output is the follow-up messages.
[1392] As a concrete example, if user A has a sports viewing history and has a lot of positive emotions about sports in conversations with friend B, the system will generate an initial message asking, "Have you been to a sporting event recently?" and suggest sending it to friend B. The system will also generate a recommended message based on the viewing history, asking, "Have you seen the latest sports movie?" An example prompt sentence is, "If you had a positive conversation with a friend about a recent movie, generate a message suggesting a new comedy movie for that friend."
[1393] 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.
[1394] 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.
[1395] 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.
[1396] 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.
[1397] 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.
[1398] 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.
[1399] 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).
[1400] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1401] 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."
[1402] 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.
[1403] 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).
[1404] 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.
[1405] 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.
[1406] 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.
[1407] 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.
[1408] 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.
[1409] 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.
[1410] 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.
[1411] 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.
[1412] 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.
[1413] 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.
[1414] The following is further disclosed regarding the above embodiment.
[1415] (Claim 1)
[1416] A means for obtaining data for selecting candidates from the friend list;
[1417] means for preprocessing the acquired data using natural language processing;
[1418] A means of analyzing the preprocessed data to classify emotions and preferences;
[1419] A means for calculating a compatibility score based on the classified information;
[1420] means for generating a candidate list based on the calculated compatibility scores;
[1421] A means for suggesting suitable candidates from the generated candidate list;
[1422] a means of creating an initial message for the proposed candidate;
[1423] a means for supporting the sending of an initial message;
[1424] means for monitoring the status of messages after they have been sent and generating follow-up messages;
[1425] A system including:
[1426] (Claim 2)
[1427] 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
[1428] (Claim 3)
[1429] 10. The system of claim 1, further comprising means for generating an initial message based on a past conversation history and extracted keywords.
[1430] "Example 1"
[1431] (Claim 1)
[1432] A means for calling a communication application API based on the access rights granted by the user and acquiring a friend list and conversation history;
[1433] means for preprocessing the acquired data using natural language processing;
[1434] A means of analyzing the preprocessed data to classify emotions and preferences;
[1435] A means for calculating a compatibility score based on the classified information;
[1436] means for generating a candidate list based on the calculated compatibility scores;
[1437] A means for suggesting suitable candidates from the generated candidate list;
[1438] a means of creating an initial message for the proposed candidate;
[1439] a means for supporting the sending of an initial message;
[1440] means for monitoring the status of messages after they have been sent and generating follow-up messages;
[1441] means operable by a user to transmit the generated message through the terminal;
[1442] A system including:
[1443] (Claim 2)
[1444] 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
[1445] (Claim 3)
[1446] 10. The system of claim 1, further comprising means for generating an initial message based on a past conversation history and extracted keywords.
[1447] "Application Example 1"
[1448] (Claim 1)
[1449] A means for obtaining data for selecting candidates from the friend list;
[1450] means for preprocessing the acquired data using natural language processing;
[1451] A means of analyzing the preprocessed data to classify emotions and preferences;
[1452] A means for calculating a compatibility score based on the classified information;
[1453] means for generating a candidate list based on the calculated compatibility scores;
[1454] A means for suggesting suitable candidates from the generated candidate list;
[1455] a means of creating an initial message for the proposed candidate;
[1456] a means for supporting the sending of an initial message;
[1457] means for monitoring the status of messages after they have been sent and generating follow-up messages;
[1458] a means for suggesting specific friends based on the user's friend list within the virtual store and providing date plans and gift ideas;
[1459] A system including:
[1460] (Claim 2)
[1461] 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
[1462] (Claim 3)
[1463] 10. The system of claim 1, further comprising means for generating an initial message based on a past conversation history and extracted keywords.
[1464] "Example 2: Combining Emotion Engines"
[1465] (Claim 1)
[1466] A means for obtaining data for selecting candidates from the friend list;
[1467] means for preprocessing the acquired data using natural language processing;
[1468] A means of analyzing the preprocessed data to classify emotions and preferences;
[1469] A means for calculating a compatibility score based on the classified information;
[1470] means for generating a candidate list based on the calculated compatibility scores;
[1471] A means for suggesting suitable candidates from the generated candidate list;
[1472] a means of creating an initial message for the proposed candidate;
[1473] a means for supporting the sending of an initial message;
[1474] means for monitoring the status of messages after they have been sent and generating follow-up messages;
[1475] A means for performing analysis processing using an emotion engine;
[1476] A means for generating analysis results based on past conversation history;
[1477] A means for extracting keywords related to hobbies and preferences;
[1478] A system including:
[1479] (Claim 2)
[1480] 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
[1481] (Claim 3)
[1482] 10. The system of claim 1, further comprising means for generating an initial message based on a past conversation history and extracted keywords.
[1483] "Application example 2 when combining emotion engines"
[1484] (Claim 1)
[1485] A means for obtaining data for selecting candidates from the friend list;
[1486] means for preprocessing the acquired data using natural language processing;
[1487] A means of analyzing the preprocessed data to classify emotions and preferences;
[1488] A means for calculating a compatibility score based on the classified information;
[1489] means for generating a candidate list based on the calculated compatibility scores;
[1490] A means for suggesting suitable candidates from the generated candidate list;
[1491] a means of creating an initial message for the proposed candidate;
[1492] a means for supporting the sending of an initial message;
[1493] means for monitoring the status of messages after they have been sent and generating follow-up messages;
[1494] A means for obtaining a user's content viewing history;
[1495] a means for suggesting recommended content based on emotions and keywords extracted from the viewing history and conversation history;
[1496] A means for creating a message to suggest the generated recommended content to a friend;
[1497] A system including:
[1498] (Claim 2)
[1499] 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
[1500] (Claim 3)
[1501] 10. The system of claim 1, further comprising means for generating an initial message and a content suggestion message based on past conversation history and extracted keywords. [Explanation of symbols]
[1502] 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 data for selecting candidates from the friend list; means for preprocessing the acquired data using natural language processing; A means of analyzing the preprocessed data to classify emotions and preferences; A means for calculating a compatibility score based on the classified information; means for generating a candidate list based on the calculated compatibility scores; A means for suggesting suitable candidates from the generated candidate list; a means of creating an initial message for the proposed candidate; a means for supporting the sending of an initial message; means for monitoring the status of messages after they have been sent and generating follow-up messages; A system including:
2. 10. The system of claim 1, further comprising means for filtering the list of proposed candidates by marital status.
3. The system of claim 1 further comprising means for generating an initial message based on a past conversation history and extracted keywords.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A