system
By classifying contacts and generating personalized SMS messages to initiate calls at optimal times, the system addresses the decline in voice calls, improving user satisfaction and attracting new users.
Patent Information
- Application Number
- JP2024138825
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
The decline in voice calls due to increased text communication methods has led to weaker intimate communication with family and friends, making it difficult for users to find the right time to call and resulting in lower user satisfaction and challenges for communication service providers to acquire new users.
A system that acquires phone book data and call history from a user's device, classifies contacts as family or friends, selects an appropriate call partner based on this data, and generates an SMS message to initiate a call at optimal times, using user profile and calendar information for personalization.
The system promotes voice calls at appropriate times, enhancing user satisfaction and reducing cancellation risks for service providers while attracting new users.
Smart Images

Figure 2026036298000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern society, users are increasingly using text communication methods such as LINE and email, and the frequency of voice calls is declining. As a result, intimate communication through voice calls is declining, and deep relationships with family and friends are becoming weaker, which is an issue. Furthermore, many users find it difficult to find someone to talk to at the right time in their busy daily lives, and are therefore unable to fully enjoy the benefits of voice calls. Furthermore, improving user satisfaction, reducing the risk of cancellations, and acquiring new users are important challenges for communication service providers. [Means for solving the problem]
[0005] The present invention provides a means for acquiring phone book data and call history from a user's device. This means allows the user to understand the contacts registered in the user's phone book and past call history. Next, a means for classifying contacts into family and friends based on the acquired phone book data is provided. This means automatically classifies contacts as family or friends based on specific keywords or call frequency. Furthermore, a means for selecting an appropriate call partner for the user based on the acquired call history and classified data is provided. This allows the user to call the appropriate person at the optimal time. Also, a means for generating an SMS message containing information about the selected call partner is provided. This SMS message includes the call partner's phone book name and phone number link, making it easy for the user to make the call. Finally, a means for sending the generated SMS message to the user's device is provided, prompting the user to make the call with the appropriate person. Furthermore, a means for acquiring the user's profile information and calendar information and selecting the optimal call partner is provided, thereby realizing a more personalized calling experience.
[0006] A "user terminal" is a communication device owned by a user, which has the function of storing, sending and receiving phone book data and call history.
[0007] "Phone book data" is a collection of contact information stored on a user's device, including information such as name, phone number, and email address.
[0008] A "call history" is a record of past calls stored on a user's terminal, and includes detailed information such as the caller, recipient, call duration, and call date and time.
[0009] "Family" refers to contacts categorized by specific keywords (e.g., father, mother, older brother, older sister, grandparents, uncle, aunt) in the user's phone book data.
[0010] "Friends" refer to contacts with whom the user has a frequent call history based on the user's call history and who are not classified as family members.
[0011] "User profile information" is personal information about a user, including, for example, information such as date of birth and gender.
[0012] "Calendar information" includes information on the day's good and bad fortune, weather, fortune telling, etc., and is used to optimize the timing of calls.
[0013] The "selection means" is a function that includes an algorithm that automatically selects the most suitable call partner based on the user's phone book data, call history, user profile information, and calendar information.
[0014] The "means for generating" is a function that includes an algorithm that creates an SMS message encouraging a call based on information about the selected call recipient.
[0015] The "means for sending" refers to a function that includes a communication function for sending the generated SMS message to the user's terminal. [Brief explanation of the drawings]
[0016] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7]FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0017] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0020] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0021] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0022] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0023] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0024] [First embodiment]
[0025] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0026] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0027] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0028] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0029] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0031] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0032] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0034] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0035] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0036] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0037] The present invention is a system that acquires phonebook data and call history from a user's terminal, selects the most suitable call partner at the appropriate time, and generates and sends an SMS message to the user. This system is composed of a user's communication device and a server, and is implemented by the following steps.
[0038] 1. Collecting user contacts and call history
[0039] Device:
[0040] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0041] 2. Classification of telephone directory data
[0042] server:
[0043] The server receives the phone book data sent from the device and classifies the contacts into family and friends. Family is a contact whose phone book data contains specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," or "aunt." Friends is a contact with whom you have made at least three calls in the past, either on weekday nights or on weekends or holidays.
[0044] 3. Obtaining User Profile Information and Calendar Information
[0045] server:
[0046] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar API and stores it in the database.
[0047] 4. Selecting the person to call
[0048] server:
[0049] The server selects the appropriate call partner for the user based on the phone book data, call history, user profile information, and calendar information that it has collected and analyzed. For example, if it is a lucky day according to the calendar, it will prioritize a close family member (such as your mother) as the call partner.
[0050] 5. Creating and Sending SMS Messages
[0051] server:
[0052] The server generates an SMS message containing the selected recipient's registered name in the phone book and a link to their phone number. The generated SMS message contains calendar information and a text message appropriate to the user's situation. For example, it generates an SMS message with the content, "Today is a lucky day. Why don't you call your mother (090-2345-6789)?" The generated SMS message is then sent to the user's device.
[0053] Device:
[0054] The user receives an SMS message, which is displayed within the app, and can tap on a link to instantly call the selected contact.
[0055] Specific examples
[0056] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the server operates as follows.
[0057] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[0058] 2. The server classifies the phone book data, classifying father and mother as family members and friend A as a friend. Based on the call history, it selects mother as the call partner, as she is not frequently called.
[0059] 3. The server obtains the user's profile information (e.g., the most recent and nearest date of birth) and calendar information such as lucky days.
[0060] 4. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[0061] 5. The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0062] As described above, the present invention provides a system that brings voice calls back into everyday life, improves user satisfaction, reduces the risk of cancellation for communication service providers, and contributes to the acquisition of new users.
[0063] The processing flow will be explained below.
[0064] Step 1:
[0065] When the device installs the application, it asks the user for permission to access the phone book data and call history. If the user approves, the device will periodically collect the phone book data and call history and store them in a local database.
[0066] Step 2:
[0067] The phone book data and call history collected by the device are sent to a server via the Internet, allowing the server to maintain the latest data.
[0068] Step 3:
[0069] The server analyzes the received phone book data and categorizes each contact into family and friends. Family categorization uses specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt."
[0070] Step 4:
[0071] The server analyzes the call history and classifies contacts with whom the user has had at least three calls on weekday nights or weekends and holidays as friends, making it clear which contacts the user is most close to.
[0072] Step 5:
[0073] The server retrieves the user's profile information (date of birth, gender, etc.) from a central database. It also retrieves the calendar information for that day (e.g., Taian, etc.) using an external calendar information API and stores it in the database as needed.
[0074] Step 6:
[0075] The server selects the most appropriate call partner for the user based on this data (phone book data, call history, user profile information, calendar information). For example, if it is a lucky day, it will prioritize selecting a family member such as the user's mother.
[0076] Step 7:
[0077] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0078] Step 8:
[0079] The server generates an SMS message and sends it to the user's device, which receives it and displays a notification.
[0080] Step 9:
[0081] The user receives the SMS message, reviews it, and taps the link, which immediately initiates a call to the selected person (in this case, their mother).
[0082] Step 10:
[0083] After the user ends the call, the device stores the call history in the local database again and returns to step 1 to collect data again.
[0084] Through the above processing steps, the present invention can provide the user with appropriate call timing and increase the frequency of voice calls.
[0085] Example 1
[0086] 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."
[0087] In today's society, users who lead busy lives tend to lose touch with family and friends. While there is a demand for making calls at the right time, choosing the right person is often difficult. Furthermore, there is a need for a method that automatically provides call recommendations and allows users to select a call partner without any effort.
[0088] 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.
[0089] In this invention, the server includes means for acquiring contact information and call logs from the user's terminal, means for classifying contacts into relatives and friends based on the acquired contact information, means for selecting the most suitable call partner for the user based on the acquired call logs and classified data, means for generating a short message including information about the selected call partner, and means for sending the generated short message to the user's terminal, thereby enabling the user to efficiently select a call partner at an appropriate time and to communicate smoothly.
[0090] "User terminal" refers to a device owned by an individual and used for communication, such as a smartphone, tablet, or PC.
[0091] "Contact Data" refers to data stored on a user's communication device, including phone numbers, names, and other information.
[0092] "Call records" refers to data that records the date, time, call partner, call duration, etc. of voice calls made by a user in the past.
[0093] "Relatives" refers to family members who are classified based on specific keywords, such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt," contained in the user's phone book data.
[0094] A "friend" refers to a contact with whom the user has had a history of calling at least three times in the past on weekday evenings or on weekends and holidays.
[0095] "Best call partner" refers to the person who is currently determined to be the most appropriate person for the user to call based on collected and analyzed data.
[0096] "Short Message" refers to a message in SMS (Short Message Service) format that is generated by a server and sent to a user's device.
[0097] A "call link" refers to a link to call a specific phone number included in a message directly.
[0098] "Profile information" refers to basic information about a user (e.g., date of birth, gender, etc.).
[0099] "Calendar information" refers to calendar information relating to a specific date (e.g., Taian, Butsumetsu, etc.).
[0100] The present invention is a system for promoting smooth communication between a user and his / her contacts. The system acquires contact data and call records from the user's terminal, analyzes them, selects appropriate call partners, and notifies the user. The system consists of the user's terminal and a server.
[0101] Hardware and Software
[0102] Device:
[0103] Examples of hardware include mobile communication devices such as smartphones, tablets, and PCs. An application for the voice call recommendation service runs on these devices. The application uses a local database such as SQLite to store contact data and call logs, and sends the data for synchronization with the server.
[0104] server:
[0105] The server is a high-performance computer that performs the main processing. On the server side, data is managed using databases such as MySQL (registered trademark) or PostgreSQL. Scripts written in programming languages such as Python or Java (registered trademark) are used to analyze data and generate SMS messages. Calendar information is also obtained using external APIs (e.g., Google (registered trademark) Calendar API, Japanese calendar API, etc.).
[0106] Program processing
[0107] 1. The user's device retrieves contact data and call logs:
[0108] A user installs a voice call recommendation service application and grants the application permission to access the service. The application periodically collects contact data and call records and stores them in a local database.
[0109] 2. The device sends the data to the server:
[0110] The collected data is sent to a server at regular intervals (for example, every night). This is done using HTTPS encrypted communication to prevent data leakage.
[0111] 3. The server categorizes and stores the data:
[0112] The server stores the received data in a MySQL or PostgreSQL database. It then analyzes the contact data and classifies contacts containing keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts with whom you have spoken at least three times on weekday nights or weekends and holidays as friends based on call records.
[0113] 4. Server retrieves user profile and calendar information:
[0114] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu) using an external calendar API and saves it in the database.
[0115] 5. Selecting the right call partner:
[0116] The server comprehensively analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if it is a lucky day according to the calendar, close relatives will be prioritized.
[0117] 6. Creating and sending SMS messages:
[0118] The server generates an SMS message based on the selected caller's information, calendar information, and the user's situation. For example, it might generate a message such as, "Today is a lucky day. Why don't you call your mother (090-1234-5678)?" and send it to the user's device.
[0119] 7. User Actions:
[0120] Users receive and view the SMS message on their device, and can tap on a link within the message to instantly call the selected contact.
[0121] Specific examples
[0122] For example, after a user installs a voice call recommendation service application and allows access to contact data and call logs, the system operates as follows.
[0123] The device collects contact data (e.g., Dad, Mom, Friend A, Friend B) and call records (e.g., 3 calls with Mom, 5 calls with Friend A) and sends them to the server.
[0124] The server classifies the contact data, classifying the father and mother as relatives and friend A as a friend. Based on the call records, the server also selects the mother (relative) as the preferred call partner, as she is not frequently contacted.
[0125] The server obtains user profile information (e.g., recent and upcoming date of birth) and calendar information such as lucky days.
[0126] Based on this information, the server selects the mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call your mother (090-1234-5678)?"
[0127] The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0128] This allows users to contact important people at the right time, improving satisfaction with the system.
[0129] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0130] Step 1:
[0131] (Device) Installing the app and initial settings
[0132] A user installs a voice call recommendation service application and grants the app permission to access contact data and call logs, which are stored on the user's mobile device and allow the app access to the necessary information.
[0133] Input: Application installation, permission permission
[0134] Output: Application is ready and authorized
[0135] Step 2:
[0136] (Device) Data collection and storage in a local database
[0137] The device periodically saves contact data and call logs to a local database. Contact data includes names, phone numbers, and related information from the user's phone book. Call logs include recent call history.
[0138] Input: Contact data, call logs
[0139] Output: Collected data is stored in a local database
[0140] Step 3:
[0141] Sending (terminal) data to the server
[0142] The device will send the saved contact data and call logs to a server at regular intervals (e.g. every night) via encrypted communication (HTTPS), which ensures the security of the data.
[0143] Input: Locally stored contact data, call logs
[0144] Output: Contact data sent to server, call records
[0145] Step 4:
[0146] (Server) Receiving and storing data
[0147] The server receives the data sent from the device and stores it in a database (e.g., MySQL or PostgreSQL), which allows for effective management of the data for later processing.
[0148] Input: Received contact data, call records
[0149] Output: Data stored in the server database
[0150] Step 5:
[0151] (Server) Data Classification
[0152] The server analyzes contact data and classifies contacts containing specific keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts who have been called at least three times on weekday nights or weekends and holidays based on call records as friends.
[0153] Input: saved contact data, call logs
[0154] Output: Classified relatives and friends data
[0155] Step 6:
[0156] (Server) Obtaining user profile information and calendar information
[0157] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu, etc.) using an external calendar API (e.g., Google Calendar API, Japanese calendar API) and stores it in the database.
[0158] Input: User profile information acquisition request, calendar information acquisition request
[0159] Output: Profile information and calendar information obtained
[0160] Step 7:
[0161] (Server) Selecting the appropriate call partner
[0162] The server analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if the calendar shows a lucky day, it will prioritize close relatives. It can also use appropriate algorithms or machine learning models.
[0163] Input: Categorised contact data, call logs, profile information, calendar information
[0164] Output: Selected caller information
[0165] Step 8:
[0166] (Server) SMS message generation
[0167] The server generates a short message based on the selected caller's information. This message includes calendar information, text appropriate for the user's situation, and a call link. For example, it could say, "Today is a lucky day. Why don't you call my mother (090-1234-5678)?"
[0168] Input: Selected caller information, calendar information
[0169] Output: The generated short message
[0170] Step 9:
[0171] (Server) Sending SMS messages
[0172] The server sends the generated short message to the user's device using a communication protocol (e.g., an SMS gateway).
[0173] Input: Generated short message
[0174] Output: Short message sent
[0175] Step 10:
[0176] Receiving and displaying (user) messages
[0177] Users receive a short message on their device, which is displayed within the app, and can tap on a link within the message to instantly call the selected contact.
[0178] Input: Received short message
[0179] Output: Messages displayed, phone calls made
[0180] Through the above steps, the user can efficiently select a call partner at an appropriate time and carry out smooth communication.
[0181] (Application example 1)
[0182] 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."
[0183] In recent years, there has been a demand for quick and reliable communication in emergencies or when someone is away. However, it is cumbersome for users to always manually select and contact the appropriate person, and there is also the risk of misidentifying the appropriate person. Conventional systems lack the means to automatically select the person to contact based on the user's situation and urgency, and to quickly contact them. This has led to challenges in improving security reliability and reducing the burden on users.
[0184] 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.
[0185] In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying calls into family and friends based on the acquired phone book data, means for selecting appropriate call partners for the user based on the acquired call history and classified data, means for generating an SMS message including information on the selected call partners, means for sending the generated SMS message to the user's terminal, and means for selecting the most appropriate call partner in an emergency and sending the generated emergency message. This allows the user to automatically select appropriate call partners and quickly contact them in an emergency or when they are away.
[0186] A "user's terminal" is an electronic device used by a user, such as a smartphone, tablet, or PC.
[0187] "Phone book data" refers to contact information stored on a user's device.
[0188] "Call history" refers to a record of calls made by a user, and includes information such as the date and time of the call, the duration of the call, and the other party.
[0189] A "server" is a computer system for processing and storing data over a network.
[0190] "Means for classification" refers to the function of analyzing acquired data and grouping it based on specific rules.
[0191] "Means of selection" refers to the function of selecting the partner who best meets the conditions based on the collected data.
[0192] "Means of generation" refers to the function of creating new messages or data based on specific information.
[0193] "Means for sending" means a function for sending the generated message or data to a designated terminal.
[0194] An "emergency" refers to a situation or incident that requires a rapid response.
[0195] An "appropriate caller" is a person who is determined to be a person who should be contacted with priority based on the user's situation and needs.
[0196] An "emergency message" is a message sent to prompt a prompt response in an emergency.
[0197] This invention relates to a system for security services that automatically selects the appropriate person to contact and quickly communicates with them in emergencies or when the user is absent. The main elements of this system are the user's device and a server.
[0198] Program processing explanation
[0199] 1. Acquiring data from the user's device:
[0200] The application is installed on the user's smartphone and given permission to access the phone book data and call history. The device periodically collects the phone book data and call history, stores them in a local database, and synchronizes them with the server.
[0201] 2. Data classification and storage on the server:
[0202] The server receives the phone book data and call history sent from the device and classifies contacts into family and friends based on this data. Family is a contact whose phone book data contains specific keywords (such as "father," "mother," "older brother," or "older sister"), and friends is a contact with whom you have made at least three calls on weekday nights or on weekends or holidays.
[0203] 3. Collection and Use of User Profile Information:
[0204] The server obtains the user's profile information (e.g., date of birth, gender, etc.) and calendar information (e.g., lucky days, etc.) using an external calendar API, and stores them in a database.
[0205] 4. Emergency call selection:
[0206] The server selects the appropriate person to call in an emergency based on previously collected and analyzed phone book data, call history, user profile information, and calendar information. For example, if your home security system detects an abnormality while you are away, the server will determine the emergency situation and prioritize a close family member (such as your mother) as the person to call.
[0207] 5. Creating and sending an emergency message:
[0208] The server generates an emergency message containing the selected caller's registered name in the phone book and a link to the phone number. The generated emergency message contains a specific text message depending on the level of urgency and the user's situation. For example, a message such as "This is an emergency. Please contact my mother (090-2345-6789)" may be generated and sent to the user's device.
[0209] As a concrete example, suppose a user is traveling and away from home, and the home security system detects an abnormality while the user is away. The system detects the family member's contact information (e.g., mother, 090-2345-6789), generates an emergency message saying, "This is an emergency. Please contact mother (090-2345-6789)," and sends it to the user's smartphone.
[0210] Example of an input prompt for a generative AI model:
[0211] Generate a Python script that fulfills the following requirements: 1) Collects the user's contacts and call history and synchronizes them with the server, 2) In case of an emergency, selects the most appropriate family member or friend and generates and sends an SMS message, and 3) Include requests to any external APIs (e.g., Twilio) that you use.
[0212] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0213] Step 1:
[0214] The device periodically collects the user's phone book data and call history. When the user installs the application and grants permission to access the phone book data and call history, the device stores this data in a local database. The input of the collected data is the phone book and call history stored in the user's device, and the output is the contact information and call history information stored in the local database.
[0215] Step 2:
[0216] The terminal sends the collected phone book data and call history to the server. The input of the data to be sent is the phone book data and call history information stored in the local database, and the output is the contact information and call history information sent to the server. The server analyzes the received data and stores it in the database.
[0217] Step 3:
[0218] The server analyzes the phone book data and classifies contacts into family and friends. The input data is the phone book information sent from the device, and the output data is a list of classified family and friends. Family members are classified as contacts containing keywords such as "father," "mother," "older brother," and "older sister," while friends are classified as contacts with a history of at least three calls on weekday nights or on weekends and holidays.
[0219] Step 4:
[0220] The server acquires the user's profile information (e.g., date of birth and gender) and calendar information (e.g., days of lucky days). The input data is the user's profile information and calendar information acquired from an external calendar API, and the output data is the user profile information and calendar information stored in the database.
[0221] Step 5:
[0222] The server selects the appropriate call partner in an emergency based on the collected and analyzed phone book data, call history, user profile information, and calendar information. The input data is a categorized contact list, call history, user profile information, and calendar information, and the output data is information on the selected call partner. The server determines priorities based on family or specific conditions, and in an emergency, selects a close family member, such as the mother, as the call partner.
[0223] Step 6:
[0224] The server generates an emergency message containing the directory name and phone number link of the selected caller. The input data is the selected caller's information, and the output data is the generated emergency message. The message contains specific text depending on the level of urgency and the user's situation.
[0225] Step 7:
[0226] The server sends the generated emergency message to the user's terminal. The input data is the generated message, and the output data is the message sent to the user's terminal. When the user receives the emergency message on their terminal and taps the link in the message, they can immediately call the selected call recipient.
[0227] 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.
[0228] This invention is a system that acquires phone book data and call history from a user's terminal, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. This system is composed of the user's communication device and a server, and is implemented by the following steps.
[0229] 1. Collecting user contacts and call history
[0230] Device:
[0231] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0232] 2. Classification of telephone directory data
[0233] server:
[0234] The server receives the phone book data sent from the device and categorizes the contacts into family and friends. Specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt" are used to categorize family members. Friends include frequently called parties based on past call history.
[0235] 3. Obtaining User Profile Information and Calendar Information
[0236] server:
[0237] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar information API and stores it in the database.
[0238] 4. Emotion Recognition with Emotion Engine
[0239] Device:
[0240] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user is feeling depressed, it will record their emotional pattern.
[0241] 5. Selecting the person to call
[0242] server:
[0243] The server selects the best person to call for the user based on phone book data, call history, user profile information, calendar information, and emotion data generated by an emotion engine. For example, if the user is feeling down, it will select a friend who is easy to talk to in order to refresh them.
[0244] 6. Creating and Sending SMS Messages
[0245] server:
[0246] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0247] Device:
[0248] The generated SMS message is sent to the user's device, where it is received and a notification is displayed. The user can check the message content and tap the link to instantly call the selected contact.
[0249] Specific examples
[0250] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the system operates as follows.
[0251] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[0252] 2. The server analyzes the phone book data and classifies the contacts into family and friends. For example, father and mother are classified as family, and friend A is classified as a friend.
[0253] 3. The server obtains the user's profile information (e.g., nearby birth dates) and calendar information such as lucky days.
[0254] 4. The device recognizes the user's current emotions and determines that the user is feeling depressed.
[0255] 5. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[0256] 6. The generated SMS message is sent to the user's device, and the user taps the link to call their mother.
[0257] As a result, the present invention can recommend optimal call partners according to the user's emotional state, thereby increasing the frequency of voice calls. It also provides a system that contributes to improving user satisfaction, reducing the risk of cancellations for communication service providers, and acquiring new users.
[0258] The processing flow will be explained below.
[0259] Step 1:
[0260] The device prompts the user to install a voice call recommendation service application, and at that time requests permission to access the phone book data and call history. If the user approves, the device periodically collects the phone book data and call history and stores them in a local database.
[0261] Step 2:
[0262] The phone book data and call history collected by the terminal are sent to a server via the Internet, which then stores the latest phone book data and call history.
[0263] Step 3:
[0264] Based on the phone book data received by the server, each contact is classified into family and friends. Family contacts are classified using keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt." Friends are classified as people with whom you regularly talk based on past call history.
[0265] Step 4:
[0266] The server analyzes the call history and classifies contacts who have had at least three calls on weekday nights or weekends as friends. This analysis clarifies the contacts with whom the user has a high level of intimacy.
[0267] Step 5:
[0268] The server retrieves the user's profile information (e.g., date of birth, gender, etc.) from the database. The server also retrieves the calendar information for that day (e.g., Taian, etc.) through an external calendar information API and stores it in the database.
[0269] Step 6:
[0270] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user inputs "tired," the emotion engine will recognize the user's emotion as "fatigue."
[0271] Step 7:
[0272] The server selects the most suitable call partner for the user based on phone book data, call history, user profile information, calendar information, and emotion data from an emotion engine. For example, if the user is feeling down, it selects a friend who is easy to talk to in order to refresh the user.
[0273] Step 8:
[0274] The server generates an SMS message containing the name and phone number of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0275] Step 9:
[0276] The server generates an SMS message and sends it to the user's device, which then receives it and displays a notification.
[0277] Step 10:
[0278] The user receives the SMS message, reviews it, and taps the link in the message, which immediately initiates a call to the selected person (in this case, their mother).
[0279] Step 11:
[0280] After the user ends the call, the device stores the call history in a local database and sends it to the server the next time data is collected. The system then returns to step 1 and starts data collection and analysis again.
[0281] Through this series of processes, the present invention can provide users with appropriate call timing and increase the frequency of voice calls. In addition, by recommending call partners according to the user's emotional state, it can also increase user satisfaction.
[0282] Example 2
[0283] 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."
[0284] In conventional systems, users had to go through a lot of effort to select a call partner, making it difficult to achieve efficient communication. Furthermore, there was no fully established method for automatically recommending appropriate call partners based on the user's emotional state and behavioral history, making it difficult to improve user satisfaction. There is a need to solve these issues and provide users with an optimal call experience.
[0285] 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.
[0286] In this invention, the server includes means for acquiring data and history from the user's terminal, means for categorizing the acquired data based on the acquired history and classified data, means for selecting an appropriate call partner for the user based on the acquired history and classified data, means for generating a message including information about the selected call partner, and means for transmitting the generated message to the user's terminal. This allows the user to automatically receive recommendations of appropriate call partners based on their emotional state and behavioral history, thereby achieving efficient communication and improved user satisfaction.
[0287] A "terminal" refers to a communication device used by a user, such as a mobile device such as a smartphone or tablet.
[0288] "Data" refers to all information stored on the terminal, including, for example, phone book information and call history.
[0289] "History" refers to a record of a user's past actions, particularly information such as the duration of a call and the person who called.
[0290] A "category" is a group used to classify data based on specific criteria, such as family or friends.
[0291] The "other party" refers to the person or organization to whom the call is made, and refers to the contact information registered in the user's phone book.
[0292] "Selection" means selecting the most suitable person based on certain criteria, and in this case means selecting the appropriate person to call.
[0293] "Personal information" refers to information used to identify a user, such as date of birth, gender, and name.
[0294] A "calendar" refers to information about dates and the characteristics of specific days, such as Taian and Butsumetsu.
[0295] "Emotional state" refers to the user's current psychological state, including happiness, sadness, anger, etc.
[0296] "Message" refers to text information notified to the user, and in this case refers to an SMS message.
[0297] "Call Contacts" refers to the contact information of the selected person, which typically includes a phone number.
[0298] This invention is a system that acquires phone book data and call history from a user's device, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. The system is mainly composed of the user's device and a server.
[0299] 1. Hardware and Software Configuration
[0300] Device:
[0301] This refers to a mobile device such as a smartphone or tablet owned by a user. The device has the voice call recommendation service application installed and is also equipped with an emotion engine. The emotion engine can use, for example, the Microsoft® Azure® Emotion API.
[0302] server:
[0303] This is the central system that processes the data and selects the appropriate call partner. The server implements the database (e.g., PostgreSQL) and automatic classification algorithms.
[0304] 2. Data processing and calculation
[0305] Device:
[0306] The user installs the application and grants permission to access their phone book data and call history. Once permission is granted, the device periodically saves the phone book data and call history to a local database and sends them to the server. The emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time.
[0307] server:
[0308] The server receives the data sent from the device and analyzes and processes it. Specifically, it classifies contacts into family and friends based on phone book data, and also incorporates the user's profile information and calendar information. It also takes into account emotional data obtained by the emotion engine and integrates this data to select the most suitable call partner. It also generates an SMS message containing information about the selected contact and sends it to the user's device.
[0309] 3. Specific Examples
[0310] When a user installs a voice call recommendation service application and grants permission to access their phone book data and call history, the system operates as follows: First, the device collects phone book data (e.g., Dad, Mom, Friend A, Friend B) and call history (e.g., three calls with Mom, five calls with Friend A) and sends them to the server. The server analyzes the phone book data to categorize contacts into family and friends, and also obtains user profile information (e.g., nearby birthdays) and calendar information such as lucky days. Next, the device recognizes the user's current emotions and determines that the user is feeling depressed. Based on this information, the server selects Mom as the call partner and generates an SMS message with the following content: "Today is a lucky day. Would you like to call Mom (090-2345-6789)?" Finally, this message is sent to the user's device, and the user taps a link to call Mom.
[0311] 4. Examples of prompts
[0312] An example of a prompt sentence to input to the generative AI model is as follows:
[0313] "Design a system that analyzes user emotions in real time, selects the best person to call, and notifies them. Include an algorithm that uses an emotion engine to analyze voice tone, facial expressions, and text to automate the selection of callers."
[0314] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0315] Step 1:
[0316] Input: A user installs an application and grants it permission to access contact data and call history.
[0317] How it works: Your device retrieves contact data and call history and stores them in a local database.
[0318] Output: Saved phone book data and call history.
[0319] What happens: The user launches the app and agrees to the permission request. The device retrieves contact data (e.g., name, phone number) and call history (e.g., call recipients, call duration) and stores them in a local database such as SQLite.
[0320] Step 2:
[0321] Input: Phonebook data and call history stored in a local database.
[0322] Operation: The device sends this data to the server.
[0323] Output: Phonebook data and call history sent to the server.
[0324] Specific operation: In the background task, the device periodically sends stored data to the server (e.g., HTTP request).
[0325] Step 3:
[0326] Input: Phonebook data and call history sent to the server.
[0327] How it works: The server receives the data and categorizes it into family and friends.
[0328] Output: Categorized contact data.
[0329] Specific operation: The server receives the HTTP request and saves the data in a database (e.g., PostgreSQL). The analysis script analyzes the keywords contained in the contacts and classifies them into family and friend categories (e.g., "mother" is family, "friend A" is friend).
[0330] Step 4:
[0331] Input: User profile and calendar information.
[0332] How it works: The server retrieves the user's profile and calendar information and stores it in a database.
[0333] Output: Saved user profile and calendar information.
[0334] Specific operation: The server retrieves user profile information using an SQL query, and also calls an external API (e.g., Google Calendar API) to retrieve today's calendar information and saves it in the database.
[0335] Step 5:
[0336] Input: Emotional state data from the emotion engine.
[0337] Operation: The device uses the emotion engine to recognize the user's current emotion and transmits it to the server.
[0338] Output: Emotional state data sent to the server.
[0339] What it does: A user enters text or voice messages within the app. The emotion engine analyzes the input data and generates an emotion score (e.g., "sad" with a probability of 0.8). The emotion data is recorded in a local database and sent to the server as a background task.
[0340] Step 6:
[0341] Input: Phonebook data, call history, user profile information, calendar information, emotional state data.
[0342] How it works: The server uses this data to select the best person to call.
[0343] Output: Information about the selected caller.
[0344] How it works: The server retrieves the necessary data using an SQL query, and the algorithm analyzes the data to select the best person to call (e.g., if you're feeling down, it will select a friend you call frequently).
[0345] Step 7:
[0346] Input: Selected caller information.
[0347] How it works: The server generates an SMS message containing the selected person's name and phone number link and sends it to the user's device.
[0348] Output: The generated SMS message.
[0349] Specific operation: The server creates an SMS message using a template (e.g., "Today is a lucky day. Why don't you call your mother (090-2345-6789)?"). The message data is sent to the user's device via Firebase Cloud Messaging.
[0350] Step 8:
[0351] Input: The generated SMS message.
[0352] How it works: The device receives an SMS message, notifies the user, and the user can view the message and tap the link to make the call.
[0353] Output: User's call execution.
[0354] Specific behavior: The device receives a message via Firebase Cloud Messaging and displays a notification. The user taps the notification, which opens the in-app call screen. The device then invokes the phone function and calls the selected person.
[0355] (Application example 2)
[0356] 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."
[0357] Conventional systems lack a mechanism for automatically responding when emergency contact is required based on the user's emotional state, making it difficult for users to receive appropriate assistance in a timely manner. In addition, manual contact is required, which makes it difficult to respond quickly in an emergency.
[0358] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying users into family and friends based on the acquired phone book data, means for detecting an emergency using an emotion engine that recognizes the user's current emotional state in real time, and means for automatically sending an SMS message to a pre-designated emergency contact when an emergency is detected. This enables the user to receive appropriate support in an emergency.
[0359] "Phone book data" refers to a collection of contact information stored on a user's device.
[0360] "Call history" refers to data relating to past calls made by a user, and includes information such as the call partner, call duration, and number of calls.
[0361] An "emotion engine" refers to algorithms or software that analyzes a user's tone of voice, facial expressions, text input, etc. to recognize the user's current emotional state in real time.
[0362] An "emergency" refers to a situation where the user is in a particular emotional state, such as panic, high stress, or anxiety.
[0363] "Emergency Contact" refers to a telephone number or contact method designated in advance to be contacted in an emergency.
[0364] "SMS message" refers to a short text message sent and received between user devices.
[0365] "Terminal" refers to a communication device used by a user, such as a smartphone, tablet, smart glasses, head-mounted display, or robot.
[0366] "Server" refers to a central system that receives data sent from a user's terminal, processes it, and performs tasks such as selecting the appropriate call recipient and generating an emergency message.
[0367] The system embodying this invention is composed of a user terminal and a server, and realizes the automation of various data collection, analysis, emotion recognition, and emergency contact.
[0368] 1. Data collection from users' devices
[0369] A user installs an application compatible with this system on their device and grants it permission to access their phone book data and call history. The device periodically saves this data in a local database and sends it to the server for synchronization.
[0370] 2. Data analysis by the server
[0371] The server receives the phone book data sent from the device and categorizes the contacts into family and friends, further defines the friend list based on past call history, and also retrieves the user's profile information and calendar information from the database.
[0372] 3. Emotional Recognition
[0373] The emotion engine installed on the user's device recognizes the user's emotional state in real time by analyzing the user's tone of voice, facial expressions, and text input, and can detect, for example, panic or high stress.
[0374] 4. Emergency detection and notification
[0375] The server automatically recognizes the user's emergency based on the emotion data sent from the emotion engine. If an emergency is detected, the server automatically sends an SMS message to pre-designated emergency contacts. This message contains information indicating an emergency situation and urging the user to contact the emergency contact immediately.
[0376] 5. Communication
[0377] The generated SMS message is sent to the user's device, where the user can receive and view the message, and tap the link to instantly call the selected contact.
[0378] Specific use cases
[0379] For example, if the emotion engine detects that the user is panicking, the server will send the following message to family and friends who are registered as emergency contacts:
[0380] "Emergency. User is panicking. Please contact us immediately."
[0381] Prompt Sentence Examples
[0382] "Build a system where, when a user is in an emergency, the emotion engine recognizes the user's emotions in real time and automatically sends a message to pre-designated emergency contacts. For example, if the user is in a panic, generate and send the following message:
[0383] "The user has an emergency. Please contact us immediately."
[0384] In this way, the present invention significantly improves the user's ability to respond to emergencies, which has been difficult with conventional communication systems, and makes it possible to provide faster and more effective assistance.
[0385] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0386] Step 1:
[0387] The user installs the application for this system on the device and grants permission to access the phone book data and call history. The device stores this data in a local database. Once the access permission is set, the device periodically collects the phone book data and call history.
[0388] Step 2:
[0389] The device sends the collected phone book data and call history to the server. The server receives this data and classifies contacts into family and friends based on the phone book data. For example, entries containing "father" or "mother" in the name field are classified as family.
[0390] Step 3:
[0391] The server analyzes past call history and classifies people you have frequently spoken to as friends. For example, someone you have called more than 10 times is registered as a friend. This process saves the phone book data and call history in a classified state in the server's database.
[0392] Step 4:
[0393] The emotion engine installed on the user's device analyzes the user's voice tone, facial expressions, text input, etc. in real time to recognize their emotional state. For example, it uses voice recognition technology and facial recognition technology to identify whether the user is feeling stressed.
[0394] Step 5:
[0395] The device sends the recognized emotion data to the server. The server receives the emotion data and determines whether an emergency situation has occurred. For example, if the user's emotion is recognized as "panic," it is determined to be an emergency situation.
[0396] Step 6:
[0397] If an emergency situation is detected, the server automatically generates an SMS message to the pre-specified emergency contacts. The message contains information about the emergency situation and a message urging them to contact the emergency contacts immediately. For example, the server could generate a message saying, "The user is in a panic. Please contact us immediately."
[0398] Step 7:
[0399] The server generates an SMS message and sends it to the user's device, which receives it. The emergency contacts based on the entry point are immediately notified, allowing the user to receive assistance quickly.
[0400] Step 8:
[0401] The user's device will display the received message as a notification, and the user can view the notification and tap the link in the message to immediately call the designated emergency contact.
[0402] In this way, data input and output at each step, and specific data processing and data calculation are performed, thereby providing the user with prompt and appropriate emergency support.
[0403] 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.
[0404] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0405] 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.
[0406] [Second embodiment]
[0407] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0408] 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.
[0409] 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).
[0410] 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.
[0411] 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.
[0412] 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).
[0413] 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.
[0414] 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.
[0415] 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.
[0416] 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.
[0417] 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.
[0418] 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."
[0419] The present invention is a system that acquires phonebook data and call history from a user's terminal, selects the most suitable call partner at the appropriate time, and generates and sends an SMS message to the user. This system is composed of a user's communication device and a server, and is implemented by the following steps.
[0420] 1. Collecting user contacts and call history
[0421] Device:
[0422] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0423] 2. Classification of telephone directory data
[0424] server:
[0425] The server receives the phone book data sent from the device and classifies the contacts into family and friends. Family is a contact whose phone book data contains specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," or "aunt." Friends is a contact with whom you have made at least three calls in the past, either on weekday nights or on weekends or holidays.
[0426] 3. Obtaining User Profile Information and Calendar Information
[0427] server:
[0428] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar API and stores it in the database.
[0429] 4. Selecting the person to call
[0430] server:
[0431] The server selects the appropriate call partner for the user based on the phone book data, call history, user profile information, and calendar information that it has collected and analyzed. For example, if it is a lucky day according to the calendar, it will prioritize a close family member (such as your mother) as the call partner.
[0432] 5. Creating and Sending SMS Messages
[0433] server:
[0434] The server generates an SMS message containing the selected recipient's registered name in the phone book and a link to their phone number. The generated SMS message contains calendar information and a text message appropriate to the user's situation. For example, it generates an SMS message with the content, "Today is a lucky day. Why don't you call your mother (090-2345-6789)?" The generated SMS message is then sent to the user's device.
[0435] Device:
[0436] The user receives an SMS message, which is displayed within the app, and can tap on a link to instantly call the selected contact.
[0437] Specific examples
[0438] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the server operates as follows.
[0439] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[0440] 2. The server classifies the phone book data, classifying father and mother as family members and friend A as a friend. Based on the call history, it selects mother as the call partner, as she is not frequently called.
[0441] 3. The server obtains the user's profile information (e.g., the most recent and nearest date of birth) and calendar information such as lucky days.
[0442] 4. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[0443] 5. The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0444] As described above, the present invention provides a system that brings voice calls back into everyday life, improves user satisfaction, reduces the risk of cancellation for communication service providers, and contributes to the acquisition of new users.
[0445] The processing flow will be explained below.
[0446] Step 1:
[0447] When the device installs the application, it asks the user for permission to access the phone book data and call history. If the user approves, the device will periodically collect the phone book data and call history and store them in a local database.
[0448] Step 2:
[0449] The phone book data and call history collected by the device are sent to a server via the Internet, allowing the server to maintain the latest data.
[0450] Step 3:
[0451] The server analyzes the received phone book data and categorizes each contact into family and friends. Family categorization uses specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt."
[0452] Step 4:
[0453] The server analyzes the call history and classifies contacts with whom the user has had at least three calls on weekday nights or weekends and holidays as friends, making it clear which contacts the user is most close to.
[0454] Step 5:
[0455] The server retrieves the user's profile information (date of birth, gender, etc.) from a central database. It also retrieves the calendar information for that day (e.g., Taian, etc.) using an external calendar information API and stores it in the database as needed.
[0456] Step 6:
[0457] The server selects the most appropriate call partner for the user based on this data (phone book data, call history, user profile information, calendar information). For example, if it is a lucky day, it will prioritize selecting a family member such as the user's mother.
[0458] Step 7:
[0459] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0460] Step 8:
[0461] The server generates an SMS message and sends it to the user's device, which receives it and displays a notification.
[0462] Step 9:
[0463] The user receives the SMS message, reviews it, and taps the link, which immediately initiates a call to the selected person (in this case, their mother).
[0464] Step 10:
[0465] After the user ends the call, the device stores the call history in the local database again and returns to step 1 to collect data again.
[0466] Through the above processing steps, the present invention can provide the user with appropriate call timing and increase the frequency of voice calls.
[0467] Example 1
[0468] 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."
[0469] In today's society, users who lead busy lives tend to lose touch with family and friends. While there is a demand for making calls at the right time, choosing the right person is often difficult. Furthermore, there is a need for a method that automatically provides call recommendations and allows users to select a call partner without any effort.
[0470] 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.
[0471] In this invention, the server includes means for acquiring contact information and call logs from the user's terminal, means for classifying contacts into relatives and friends based on the acquired contact information, means for selecting the most suitable call partner for the user based on the acquired call logs and classified data, means for generating a short message including information about the selected call partner, and means for sending the generated short message to the user's terminal, thereby enabling the user to efficiently select a call partner at an appropriate time and to communicate smoothly.
[0472] "User terminal" refers to a device owned by an individual and used for communication, such as a smartphone, tablet, or PC.
[0473] "Contact Data" refers to data stored on a user's communication device, including phone numbers, names, and other information.
[0474] "Call records" refers to data that records the date, time, call partner, call duration, etc. of voice calls made by a user in the past.
[0475] "Relatives" refers to family members who are classified based on specific keywords, such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt," contained in the user's phone book data.
[0476] A "friend" refers to a contact with whom the user has had a history of calling at least three times in the past on weekday evenings or on weekends and holidays.
[0477] "Best call partner" refers to the person who is currently determined to be the most appropriate person for the user to call based on collected and analyzed data.
[0478] "Short Message" refers to a message in SMS (Short Message Service) format that is generated by a server and sent to a user's device.
[0479] A "call link" refers to a link to call a specific phone number included in a message directly.
[0480] "Profile information" refers to basic information about a user (e.g., date of birth, gender, etc.).
[0481] "Calendar information" refers to calendar information relating to a specific date (e.g., Taian, Butsumetsu, etc.).
[0482] The present invention is a system for promoting smooth communication between a user and his / her contacts. The system acquires contact data and call records from the user's terminal, analyzes them, selects appropriate call partners, and notifies the user. The system consists of the user's terminal and a server.
[0483] Hardware and Software
[0484] Device:
[0485] Examples of hardware include mobile communication devices such as smartphones, tablets, and PCs. An application for the voice call recommendation service runs on these devices. The application uses a local database such as SQLite to store contact data and call logs, and sends the data for synchronization with the server.
[0486] server:
[0487] The server is a high-performance computer that performs the main processing. On the server side, data is managed using databases such as MySQL or PostgreSQL. Scripts written in programming languages such as Python or Java are used to analyze data and generate SMS messages. Calendar information is also obtained using external APIs (e.g., Google Calendar API, Japanese calendar API, etc.).
[0488] Program processing
[0489] 1. The user's device retrieves contact data and call logs:
[0490] A user installs a voice call recommendation service application and grants the application permission to access the service. The application periodically collects contact data and call records and stores them in a local database.
[0491] 2. The device sends the data to the server:
[0492] The collected data is sent to a server at regular intervals (for example, every night). This is done using HTTPS encrypted communication to prevent data leakage.
[0493] 3. The server categorizes and stores the data:
[0494] The server stores the received data in a MySQL or PostgreSQL database. It then analyzes the contact data and classifies contacts containing keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts with whom you have spoken at least three times on weekday nights or weekends and holidays as friends based on call records.
[0495] 4. Server retrieves user profile and calendar information:
[0496] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu) using an external calendar API and saves it in the database.
[0497] 5. Selecting the right call partner:
[0498] The server comprehensively analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if it is a lucky day according to the calendar, close relatives will be prioritized.
[0499] 6. Creating and sending SMS messages:
[0500] The server generates an SMS message based on the selected caller's information, calendar information, and the user's situation. For example, it might generate a message such as, "Today is a lucky day. Why don't you call your mother (090-1234-5678)?" and send it to the user's device.
[0501] 7. User Actions:
[0502] Users receive and view the SMS message on their device, and can tap on a link within the message to instantly call the selected contact.
[0503] Specific examples
[0504] For example, after a user installs a voice call recommendation service application and allows access to contact data and call logs, the system operates as follows.
[0505] The device collects contact data (e.g., Dad, Mom, Friend A, Friend B) and call records (e.g., 3 calls with Mom, 5 calls with Friend A) and sends them to the server.
[0506] The server classifies the contact data, classifying the father and mother as relatives and friend A as a friend. Based on the call records, the server also selects the mother (relative) as the preferred call partner, as she is not frequently contacted.
[0507] The server obtains user profile information (e.g., recent and upcoming date of birth) and calendar information such as lucky days.
[0508] Based on this information, the server selects the mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call your mother (090-1234-5678)?"
[0509] The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0510] This allows users to contact important people at the right time, improving satisfaction with the system.
[0511] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0512] Step 1:
[0513] (Device) Installing the app and initial settings
[0514] A user installs a voice call recommendation service application and grants the app permission to access contact data and call logs, which are stored on the user's mobile device and allow the app access to the necessary information.
[0515] Input: Application installation, permission permission
[0516] Output: Application is ready and authorized
[0517] Step 2:
[0518] (Device) Data collection and storage in a local database
[0519] The device periodically saves contact data and call logs to a local database. Contact data includes names, phone numbers, and related information from the user's phone book. Call logs include recent call history.
[0520] Input: Contact data, call logs
[0521] Output: Collected data is stored in a local database
[0522] Step 3:
[0523] Sending (terminal) data to the server
[0524] The device will send the saved contact data and call logs to a server at regular intervals (e.g. every night) via encrypted communication (HTTPS), which ensures the security of the data.
[0525] Input: Locally stored contact data, call logs
[0526] Output: Contact data sent to server, call records
[0527] Step 4:
[0528] (Server) Receiving and storing data
[0529] The server receives the data sent from the device and stores it in a database (e.g., MySQL or PostgreSQL), which allows for effective management of the data for later processing.
[0530] Input: Received contact data, call records
[0531] Output: Data stored in the server database
[0532] Step 5:
[0533] (Server) Data Classification
[0534] The server analyzes contact data and classifies contacts containing specific keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts who have been called at least three times on weekday nights or weekends and holidays based on call records as friends.
[0535] Input: saved contact data, call logs
[0536] Output: Classified relatives and friends data
[0537] Step 6:
[0538] (Server) Obtaining user profile information and calendar information
[0539] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu, etc.) using an external calendar API (e.g., Google Calendar API, Japanese calendar API) and stores it in the database.
[0540] Input: User profile information acquisition request, calendar information acquisition request
[0541] Output: Profile information and calendar information obtained
[0542] Step 7:
[0543] (Server) Selecting the appropriate call partner
[0544] The server analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if the calendar shows a lucky day, it will prioritize close relatives. It can also use appropriate algorithms or machine learning models.
[0545] Input: Categorised contact data, call logs, profile information, calendar information
[0546] Output: Selected caller information
[0547] Step 8:
[0548] (Server) SMS message generation
[0549] The server generates a short message based on the selected caller's information. This message includes calendar information, text appropriate for the user's situation, and a call link. For example, it could say, "Today is a lucky day. Why don't you call my mother (090-1234-5678)?"
[0550] Input: Selected caller information, calendar information
[0551] Output: The generated short message
[0552] Step 9:
[0553] (Server) Sending SMS messages
[0554] The server sends the generated short message to the user's device using a communication protocol (e.g., an SMS gateway).
[0555] Input: Generated short message
[0556] Output: Short message sent
[0557] Step 10:
[0558] Receiving and displaying (user) messages
[0559] Users receive a short message on their device, which is displayed within the app, and can tap on a link within the message to instantly call the selected contact.
[0560] Input: Received short message
[0561] Output: Messages displayed, phone calls made
[0562] Through the above steps, the user can efficiently select a call partner at an appropriate time and carry out smooth communication.
[0563] (Application example 1)
[0564] 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."
[0565] In recent years, there has been a demand for quick and reliable communication in emergencies or when someone is away. However, it is cumbersome for users to always manually select and contact the appropriate person, and there is also the risk of misidentifying the appropriate person. Conventional systems lack the means to automatically select the person to contact based on the user's situation and urgency, and to quickly contact them. This has led to challenges in improving security reliability and reducing the burden on users.
[0566] 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.
[0567] In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying calls into family and friends based on the acquired phone book data, means for selecting appropriate call partners for the user based on the acquired call history and classified data, means for generating an SMS message including information on the selected call partners, means for sending the generated SMS message to the user's terminal, and means for selecting the most appropriate call partner in an emergency and sending the generated emergency message. This allows the user to automatically select appropriate call partners and quickly contact them in an emergency or when they are away.
[0568] A "user's terminal" is an electronic device used by a user, such as a smartphone, tablet, or PC.
[0569] "Phone book data" refers to contact information stored on a user's device.
[0570] "Call history" refers to a record of calls made by a user, and includes information such as the date and time of the call, the duration of the call, and the other party.
[0571] A "server" is a computer system for processing and storing data over a network.
[0572] "Means for classification" refers to the function of analyzing acquired data and grouping it based on specific rules.
[0573] "Means of selection" refers to the function of selecting the partner who best meets the conditions based on the collected data.
[0574] "Means of generation" refers to the function of creating new messages or data based on specific information.
[0575] "Means for sending" means a function for sending the generated message or data to a designated terminal.
[0576] An "emergency" refers to a situation or incident that requires a rapid response.
[0577] An "appropriate caller" is a person who is determined to be a person who should be contacted with priority based on the user's situation and needs.
[0578] An "emergency message" is a message sent to prompt a prompt response in an emergency.
[0579] This invention relates to a system for security services that automatically selects the appropriate person to contact and quickly communicates with them in emergencies or when the user is absent. The main elements of this system are the user's device and a server.
[0580] Program processing explanation
[0581] 1. Acquiring data from the user's device:
[0582] The application is installed on the user's smartphone and given permission to access the phone book data and call history. The device periodically collects the phone book data and call history, stores them in a local database, and synchronizes them with the server.
[0583] 2. Data classification and storage on the server:
[0584] The server receives the phone book data and call history sent from the device and classifies contacts into family and friends based on this data. Family is a contact whose phone book data contains specific keywords (such as "father," "mother," "older brother," or "older sister"), and friends is a contact with whom you have made at least three calls on weekday nights or on weekends or holidays.
[0585] 3. Collection and Use of User Profile Information:
[0586] The server obtains the user's profile information (e.g., date of birth, gender, etc.) and calendar information (e.g., lucky days, etc.) using an external calendar API, and stores them in a database.
[0587] 4. Emergency call selection:
[0588] The server selects the appropriate person to call in an emergency based on previously collected and analyzed phone book data, call history, user profile information, and calendar information. For example, if your home security system detects an abnormality while you are away, the server will determine the emergency situation and prioritize a close family member (such as your mother) as the person to call.
[0589] 5. Creating and sending an emergency message:
[0590] The server generates an emergency message containing the selected caller's registered name in the phone book and a link to the phone number. The generated emergency message contains a specific text message depending on the level of urgency and the user's situation. For example, a message such as "This is an emergency. Please contact my mother (090-2345-6789)" may be generated and sent to the user's device.
[0591] As a concrete example, suppose a user is traveling and away from home, and the home security system detects an abnormality while the user is away. The system detects the family member's contact information (e.g., mother, 090-2345-6789), generates an emergency message saying, "This is an emergency. Please contact mother (090-2345-6789)," and sends it to the user's smartphone.
[0592] Example of an input prompt for a generative AI model:
[0593] Generate a Python script that fulfills the following requirements: 1) Collects the user's contacts and call history and synchronizes them with the server, 2) In case of an emergency, selects the most appropriate family member or friend and generates and sends an SMS message, and 3) Include requests to any external APIs (e.g., Twilio) that you use.
[0594] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0595] Step 1:
[0596] The device periodically collects the user's phone book data and call history. When the user installs the application and grants permission to access the phone book data and call history, the device stores this data in a local database. The input of the collected data is the phone book and call history stored in the user's device, and the output is the contact information and call history information stored in the local database.
[0597] Step 2:
[0598] The terminal sends the collected phone book data and call history to the server. The input of the data to be sent is the phone book data and call history information stored in the local database, and the output is the contact information and call history information sent to the server. The server analyzes the received data and stores it in the database.
[0599] Step 3:
[0600] The server analyzes the phone book data and classifies contacts into family and friends. The input data is the phone book information sent from the device, and the output data is a list of classified family and friends. Family members are classified as contacts containing keywords such as "father," "mother," "older brother," and "older sister," while friends are classified as contacts with a history of at least three calls on weekday nights or on weekends and holidays.
[0601] Step 4:
[0602] The server acquires the user's profile information (e.g., date of birth and gender) and calendar information (e.g., days of lucky days). The input data is the user's profile information and calendar information acquired from an external calendar API, and the output data is the user profile information and calendar information stored in the database.
[0603] Step 5:
[0604] The server selects the appropriate call partner in an emergency based on the collected and analyzed phone book data, call history, user profile information, and calendar information. The input data is a categorized contact list, call history, user profile information, and calendar information, and the output data is information on the selected call partner. The server determines priorities based on family or specific conditions, and in an emergency, selects a close family member, such as the mother, as the call partner.
[0605] Step 6:
[0606] The server generates an emergency message containing the directory name and phone number link of the selected caller. The input data is the selected caller's information, and the output data is the generated emergency message. The message contains specific text depending on the level of urgency and the user's situation.
[0607] Step 7:
[0608] The server sends the generated emergency message to the user's terminal. The input data is the generated message, and the output data is the message sent to the user's terminal. When the user receives the emergency message on their terminal and taps the link in the message, they can immediately call the selected call recipient.
[0609] 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.
[0610] This invention is a system that acquires phone book data and call history from a user's terminal, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. This system is composed of the user's communication device and a server, and is implemented by the following steps.
[0611] 1. Collecting user contacts and call history
[0612] Device:
[0613] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0614] 2. Classification of telephone directory data
[0615] server:
[0616] The server receives the phone book data sent from the device and categorizes the contacts into family and friends. Specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt" are used to categorize family members. Friends include frequently called parties based on past call history.
[0617] 3. Obtaining User Profile Information and Calendar Information
[0618] server:
[0619] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar information API and stores it in the database.
[0620] 4. Emotion Recognition with Emotion Engine
[0621] Device:
[0622] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user is feeling depressed, it will record their emotional pattern.
[0623] 5. Selecting the person to call
[0624] server:
[0625] The server selects the best person to call for the user based on phone book data, call history, user profile information, calendar information, and emotion data generated by an emotion engine. For example, if the user is feeling down, it will select a friend who is easy to talk to in order to refresh them.
[0626] 6. Creating and Sending SMS Messages
[0627] server:
[0628] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0629] Device:
[0630] The generated SMS message is sent to the user's device, where it is received and a notification is displayed. The user can check the message content and tap the link to instantly call the selected contact.
[0631] Specific examples
[0632] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the system operates as follows.
[0633] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[0634] 2. The server analyzes the phone book data and classifies the contacts into family and friends. For example, father and mother are classified as family, and friend A is classified as a friend.
[0635] 3. The server obtains the user's profile information (e.g., nearby birth dates) and calendar information such as lucky days.
[0636] 4. The device recognizes the user's current emotions and determines that the user is feeling depressed.
[0637] 5. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[0638] 6. The generated SMS message is sent to the user's device, and the user taps the link to call their mother.
[0639] As a result, the present invention can recommend optimal call partners according to the user's emotional state, thereby increasing the frequency of voice calls. It also provides a system that contributes to improving user satisfaction, reducing the risk of cancellations for communication service providers, and acquiring new users.
[0640] The processing flow will be explained below.
[0641] Step 1:
[0642] The device prompts the user to install a voice call recommendation service application, and at that time requests permission to access the phone book data and call history. If the user approves, the device periodically collects the phone book data and call history and stores them in a local database.
[0643] Step 2:
[0644] The phone book data and call history collected by the terminal are sent to a server via the Internet, which then stores the latest phone book data and call history.
[0645] Step 3:
[0646] Based on the phone book data received by the server, each contact is classified into family and friends. Family contacts are classified using keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt." Friends are classified as people with whom you regularly talk based on past call history.
[0647] Step 4:
[0648] The server analyzes the call history and classifies contacts who have had at least three calls on weekday nights or weekends as friends. This analysis clarifies the contacts with whom the user has a high level of intimacy.
[0649] Step 5:
[0650] The server retrieves the user's profile information (e.g., date of birth, gender, etc.) from the database. The server also retrieves the calendar information for that day (e.g., Taian, etc.) through an external calendar information API and stores it in the database.
[0651] Step 6:
[0652] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user inputs "tired," the emotion engine will recognize the user's emotion as "fatigue."
[0653] Step 7:
[0654] The server selects the most suitable call partner for the user based on phone book data, call history, user profile information, calendar information, and emotion data from an emotion engine. For example, if the user is feeling down, it selects a friend who is easy to talk to in order to refresh the user.
[0655] Step 8:
[0656] The server generates an SMS message containing the name and phone number of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0657] Step 9:
[0658] The server generates an SMS message and sends it to the user's device, which then receives it and displays a notification.
[0659] Step 10:
[0660] The user receives the SMS message, reviews it, and taps the link in the message, which immediately initiates a call to the selected person (in this case, their mother).
[0661] Step 11:
[0662] After the user ends the call, the device stores the call history in a local database and sends it to the server the next time data is collected. The system then returns to step 1 and starts data collection and analysis again.
[0663] Through this series of processes, the present invention can provide users with appropriate call timing and increase the frequency of voice calls. In addition, by recommending call partners according to the user's emotional state, it can also increase user satisfaction.
[0664] Example 2
[0665] 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."
[0666] In conventional systems, users had to go through a lot of effort to select a call partner, making it difficult to achieve efficient communication. Furthermore, there was no fully established method for automatically recommending appropriate call partners based on the user's emotional state and behavioral history, making it difficult to improve user satisfaction. There is a need to solve these issues and provide users with an optimal call experience.
[0667] 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.
[0668] In this invention, the server includes means for acquiring data and history from the user's terminal, means for categorizing the acquired data based on the acquired history and classified data, means for selecting an appropriate call partner for the user based on the acquired history and classified data, means for generating a message including information about the selected call partner, and means for transmitting the generated message to the user's terminal. This allows the user to automatically receive recommendations of appropriate call partners based on their emotional state and behavioral history, thereby achieving efficient communication and improved user satisfaction.
[0669] A "terminal" refers to a communication device used by a user, such as a mobile device such as a smartphone or tablet.
[0670] "Data" refers to all information stored on the terminal, including, for example, phone book information and call history.
[0671] "History" refers to a record of a user's past actions, particularly information such as the duration of a call and the person who called.
[0672] A "category" is a group used to classify data based on specific criteria, such as family or friends.
[0673] The "other party" refers to the person or organization to whom the call is made, and refers to the contact information registered in the user's phone book.
[0674] "Selection" means selecting the most suitable person based on certain criteria, and in this case means selecting the appropriate person to call.
[0675] "Personal information" refers to information used to identify a user, such as date of birth, gender, and name.
[0676] A "calendar" refers to information about dates and the characteristics of specific days, such as Taian and Butsumetsu.
[0677] "Emotional state" refers to the user's current psychological state, including happiness, sadness, anger, etc.
[0678] "Message" refers to text information notified to the user, and in this case refers to an SMS message.
[0679] "Call Contacts" refers to the contact information of the selected person, which typically includes a phone number.
[0680] This invention is a system that acquires phone book data and call history from a user's device, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. The system is mainly composed of the user's device and a server.
[0681] 1. Hardware and Software Configuration
[0682] Device:
[0683] This refers to a mobile device such as a smartphone or tablet owned by the user. The device has the voice call recommendation service application installed and is also equipped with an emotion engine. The emotion engine can use, for example, the Microsoft Azure Emotion API.
[0684] server:
[0685] This is the central system that processes the data and selects the appropriate call partner. The server implements the database (e.g., PostgreSQL) and automatic classification algorithms.
[0686] 2. Data processing and calculation
[0687] Device:
[0688] The user installs the application and grants permission to access their phone book data and call history. Once permission is granted, the device periodically saves the phone book data and call history to a local database and sends them to the server. The emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time.
[0689] server:
[0690] The server receives the data sent from the device and analyzes and processes it. Specifically, it classifies contacts into family and friends based on phone book data, and also incorporates the user's profile information and calendar information. It also takes into account emotional data obtained by the emotion engine and integrates this data to select the most suitable call partner. It also generates an SMS message containing information about the selected contact and sends it to the user's device.
[0691] 3. Specific Examples
[0692] When a user installs a voice call recommendation service application and grants permission to access their phone book data and call history, the system operates as follows: First, the device collects phone book data (e.g., Dad, Mom, Friend A, Friend B) and call history (e.g., three calls with Mom, five calls with Friend A) and sends them to the server. The server analyzes the phone book data to categorize contacts into family and friends, and also obtains user profile information (e.g., nearby birthdays) and calendar information such as lucky days. Next, the device recognizes the user's current emotions and determines that the user is feeling depressed. Based on this information, the server selects Mom as the call partner and generates an SMS message with the following content: "Today is a lucky day. Would you like to call Mom (090-2345-6789)?" Finally, this message is sent to the user's device, and the user taps a link to call Mom.
[0693] 4. Examples of prompts
[0694] An example of a prompt sentence to input to the generative AI model is as follows:
[0695] "Design a system that analyzes user emotions in real time, selects the best person to call, and notifies them. Include an algorithm that uses an emotion engine to analyze voice tone, facial expressions, and text to automate the selection of callers."
[0696] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0697] Step 1:
[0698] Input: A user installs an application and grants it permission to access contact data and call history.
[0699] How it works: Your device retrieves contact data and call history and stores them in a local database.
[0700] Output: Saved phone book data and call history.
[0701] What happens: The user launches the app and agrees to the permission request. The device retrieves contact data (e.g., name, phone number) and call history (e.g., call recipients, call duration) and stores them in a local database such as SQLite.
[0702] Step 2:
[0703] Input: Phonebook data and call history stored in a local database.
[0704] Operation: The device sends this data to the server.
[0705] Output: Phonebook data and call history sent to the server.
[0706] Specific operation: In the background task, the device periodically sends stored data to the server (e.g., HTTP request).
[0707] Step 3:
[0708] Input: Phonebook data and call history sent to the server.
[0709] How it works: The server receives the data and categorizes it into family and friends.
[0710] Output: Categorized contact data.
[0711] Specific operation: The server receives the HTTP request and saves the data in a database (e.g., PostgreSQL). The analysis script analyzes the keywords contained in the contacts and classifies them into family and friend categories (e.g., "mother" is family, "friend A" is friend).
[0712] Step 4:
[0713] Input: User profile and calendar information.
[0714] How it works: The server retrieves the user's profile and calendar information and stores it in a database.
[0715] Output: Saved user profile and calendar information.
[0716] Specific operation: The server retrieves user profile information using an SQL query, and also calls an external API (e.g., Google Calendar API) to retrieve today's calendar information and saves it in the database.
[0717] Step 5:
[0718] Input: Emotional state data from the emotion engine.
[0719] Operation: The device uses the emotion engine to recognize the user's current emotion and transmits it to the server.
[0720] Output: Emotional state data sent to the server.
[0721] What it does: A user enters text or voice messages within the app. The emotion engine analyzes the input data and generates an emotion score (e.g., "sad" with a probability of 0.8). The emotion data is recorded in a local database and sent to the server as a background task.
[0722] Step 6:
[0723] Input: Phonebook data, call history, user profile information, calendar information, emotional state data.
[0724] How it works: The server uses this data to select the best person to call.
[0725] Output: Information about the selected caller.
[0726] How it works: The server retrieves the necessary data using an SQL query, and the algorithm analyzes the data to select the best person to call (e.g., if you're feeling down, it will select a friend you call frequently).
[0727] Step 7:
[0728] Input: Selected caller information.
[0729] How it works: The server generates an SMS message containing the selected person's name and phone number link and sends it to the user's device.
[0730] Output: The generated SMS message.
[0731] Specific operation: The server creates an SMS message using a template (e.g., "Today is a lucky day. Why don't you call your mother (090-2345-6789)?"). The message data is sent to the user's device via Firebase Cloud Messaging.
[0732] Step 8:
[0733] Input: The generated SMS message.
[0734] How it works: The device receives an SMS message, notifies the user, and the user can view the message and tap the link to make the call.
[0735] Output: User's call execution.
[0736] Specific behavior: The device receives a message via Firebase Cloud Messaging and displays a notification. The user taps the notification, which opens the in-app call screen. The device then invokes the phone function and calls the selected person.
[0737] (Application example 2)
[0738] 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."
[0739] Conventional systems lack a mechanism for automatically responding when emergency contact is required based on the user's emotional state, making it difficult for users to receive appropriate assistance in a timely manner. In addition, manual contact is required, which makes it difficult to respond quickly in an emergency.
[0740] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying users into family and friends based on the acquired phone book data, means for detecting an emergency using an emotion engine that recognizes the user's current emotional state in real time, and means for automatically sending an SMS message to a pre-designated emergency contact when an emergency is detected. This enables the user to receive appropriate support in an emergency.
[0741] "Phone book data" refers to a collection of contact information stored on a user's device.
[0742] "Call history" refers to data relating to past calls made by a user, and includes information such as the call partner, call duration, and number of calls.
[0743] An "emotion engine" refers to algorithms or software that analyzes a user's tone of voice, facial expressions, text input, etc. to recognize the user's current emotional state in real time.
[0744] An "emergency" refers to a situation where the user is in a particular emotional state, such as panic, high stress, or anxiety.
[0745] "Emergency Contact" refers to a telephone number or contact method designated in advance to be contacted in an emergency.
[0746] "SMS message" refers to a short text message sent and received between user devices.
[0747] "Terminal" refers to a communication device used by a user, such as a smartphone, tablet, smart glasses, head-mounted display, or robot.
[0748] "Server" refers to a central system that receives data sent from a user's terminal, processes it, and performs tasks such as selecting the appropriate call recipient and generating an emergency message.
[0749] The system embodying this invention is composed of a user terminal and a server, and realizes the automation of various data collection, analysis, emotion recognition, and emergency contact.
[0750] 1. Data collection from users' devices
[0751] A user installs an application compatible with this system on their device and grants it permission to access their phone book data and call history. The device periodically saves this data in a local database and sends it to the server for synchronization.
[0752] 2. Data analysis by the server
[0753] The server receives the phone book data sent from the device and categorizes the contacts into family and friends, further defines the friend list based on past call history, and also retrieves the user's profile information and calendar information from the database.
[0754] 3. Emotional Recognition
[0755] The emotion engine installed on the user's device recognizes the user's emotional state in real time by analyzing the user's tone of voice, facial expressions, and text input, and can detect, for example, panic or high stress.
[0756] 4. Emergency detection and notification
[0757] The server automatically recognizes the user's emergency based on the emotion data sent from the emotion engine. If an emergency is detected, the server automatically sends an SMS message to pre-designated emergency contacts. This message contains information indicating an emergency situation and urging the user to contact the emergency contact immediately.
[0758] 5. Communication
[0759] The generated SMS message is sent to the user's device, where the user can receive and view the message, and tap the link to instantly call the selected contact.
[0760] Specific use cases
[0761] For example, if the emotion engine detects that the user is panicking, the server will send the following message to family and friends who are registered as emergency contacts:
[0762] "Emergency. User is panicking. Please contact us immediately."
[0763] Prompt Sentence Examples
[0764] "Build a system where, when a user is in an emergency, the emotion engine recognizes the user's emotions in real time and automatically sends a message to pre-designated emergency contacts. For example, if the user is in a panic, generate and send the following message:
[0765] "The user has an emergency. Please contact us immediately."
[0766] In this way, the present invention significantly improves the user's ability to respond to emergencies, which has been difficult with conventional communication systems, and makes it possible to provide faster and more effective assistance.
[0767] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0768] Step 1:
[0769] The user installs the application for this system on the device and grants permission to access the phone book data and call history. The device stores this data in a local database. Once the access permission is set, the device periodically collects the phone book data and call history.
[0770] Step 2:
[0771] The device sends the collected phone book data and call history to the server. The server receives this data and classifies contacts into family and friends based on the phone book data. For example, entries containing "father" or "mother" in the name field are classified as family.
[0772] Step 3:
[0773] The server analyzes past call history and classifies people you have frequently spoken to as friends. For example, someone you have called more than 10 times is registered as a friend. This process saves the phone book data and call history in a classified state in the server's database.
[0774] Step 4:
[0775] The emotion engine installed on the user's device analyzes the user's voice tone, facial expressions, text input, etc. in real time to recognize their emotional state. For example, it uses voice recognition technology and facial recognition technology to identify whether the user is feeling stressed.
[0776] Step 5:
[0777] The device sends the recognized emotion data to the server. The server receives the emotion data and determines whether an emergency situation has occurred. For example, if the user's emotion is recognized as "panic," it is determined to be an emergency situation.
[0778] Step 6:
[0779] If an emergency situation is detected, the server automatically generates an SMS message to the pre-specified emergency contacts. The message contains information about the emergency situation and a message urging them to contact the emergency contacts immediately. For example, the server could generate a message saying, "The user is in a panic. Please contact us immediately."
[0780] Step 7:
[0781] The server generates an SMS message and sends it to the user's device, which receives it. The emergency contacts based on the entry point are immediately notified, allowing the user to receive assistance quickly.
[0782] Step 8:
[0783] The user's device will display the received message as a notification, and the user can view the notification and tap the link in the message to immediately call the designated emergency contact.
[0784] In this way, data input and output at each step, and specific data processing and data calculation are performed, thereby providing the user with prompt and appropriate emergency support.
[0785] 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.
[0786] 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.
[0787] 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.
[0788] [Third embodiment]
[0789] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0790] 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.
[0791] 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).
[0792] 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.
[0793] 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.
[0794] 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).
[0795] 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.
[0796] 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.
[0797] 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.
[0798] 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.
[0799] 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.
[0800] 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."
[0801] The present invention is a system that acquires phonebook data and call history from a user's terminal, selects the most suitable call partner at the appropriate time, and generates and sends an SMS message to the user. This system is composed of a user's communication device and a server, and is implemented by the following steps.
[0802] 1. Collecting user contacts and call history
[0803] Device:
[0804] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0805] 2. Classification of telephone directory data
[0806] server:
[0807] The server receives the phone book data sent from the device and classifies the contacts into family and friends. Family is a contact whose phone book data contains specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," or "aunt." Friends is a contact with whom you have made at least three calls in the past, either on weekday nights or on weekends or holidays.
[0808] 3. Obtaining User Profile Information and Calendar Information
[0809] server:
[0810] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar API and stores it in the database.
[0811] 4. Selecting the person to call
[0812] server:
[0813] The server selects the appropriate call partner for the user based on the phone book data, call history, user profile information, and calendar information that it has collected and analyzed. For example, if it is a lucky day according to the calendar, it will prioritize a close family member (such as your mother) as the call partner.
[0814] 5. Creating and Sending SMS Messages
[0815] server:
[0816] The server generates an SMS message containing the selected recipient's registered name in the phone book and a link to their phone number. The generated SMS message contains calendar information and a text message appropriate to the user's situation. For example, it generates an SMS message with the content, "Today is a lucky day. Why don't you call your mother (090-2345-6789)?" The generated SMS message is then sent to the user's device.
[0817] Device:
[0818] The user receives an SMS message, which is displayed within the app, and can tap on a link to instantly call the selected contact.
[0819] Specific examples
[0820] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the server operates as follows.
[0821] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[0822] 2. The server classifies the phone book data, classifying father and mother as family members and friend A as a friend. Based on the call history, it selects mother as the call partner, as she is not frequently called.
[0823] 3. The server obtains the user's profile information (e.g., the most recent and nearest date of birth) and calendar information such as lucky days.
[0824] 4. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[0825] 5. The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0826] As described above, the present invention provides a system that brings voice calls back into everyday life, improves user satisfaction, reduces the risk of cancellation for communication service providers, and contributes to the acquisition of new users.
[0827] The processing flow will be explained below.
[0828] Step 1:
[0829] When the device installs the application, it asks the user for permission to access the phone book data and call history. If the user approves, the device will periodically collect the phone book data and call history and store them in a local database.
[0830] Step 2:
[0831] The phone book data and call history collected by the device are sent to a server via the Internet, allowing the server to maintain the latest data.
[0832] Step 3:
[0833] The server analyzes the received phone book data and categorizes each contact into family and friends. Family categorization uses specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt."
[0834] Step 4:
[0835] The server analyzes the call history and classifies contacts with whom the user has had at least three calls on weekday nights or weekends and holidays as friends, making it clear which contacts the user is most close to.
[0836] Step 5:
[0837] The server retrieves the user's profile information (date of birth, gender, etc.) from a central database. It also retrieves the calendar information for that day (e.g., Taian, etc.) using an external calendar information API and stores it in the database as needed.
[0838] Step 6:
[0839] The server selects the most appropriate call partner for the user based on this data (phone book data, call history, user profile information, calendar information). For example, if it is a lucky day, it will prioritize selecting a family member such as the user's mother.
[0840] Step 7:
[0841] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[0842] Step 8:
[0843] The server generates an SMS message and sends it to the user's device, which receives it and displays a notification.
[0844] Step 9:
[0845] The user receives the SMS message, reviews it, and taps the link, which immediately initiates a call to the selected person (in this case, their mother).
[0846] Step 10:
[0847] After the user ends the call, the device stores the call history in the local database again and returns to step 1 to collect data again.
[0848] Through the above processing steps, the present invention can provide the user with appropriate call timing and increase the frequency of voice calls.
[0849] Example 1
[0850] 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."
[0851] In today's society, users who lead busy lives tend to lose touch with family and friends. While there is a demand for making calls at the right time, choosing the right person is often difficult. Furthermore, there is a need for a method that automatically provides call recommendations and allows users to select a call partner without any effort.
[0852] 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.
[0853] In this invention, the server includes means for acquiring contact information and call logs from the user's terminal, means for classifying contacts into relatives and friends based on the acquired contact information, means for selecting the most suitable call partner for the user based on the acquired call logs and classified data, means for generating a short message including information about the selected call partner, and means for sending the generated short message to the user's terminal, thereby enabling the user to efficiently select a call partner at an appropriate time and to communicate smoothly.
[0854] "User terminal" refers to a device owned by an individual and used for communication, such as a smartphone, tablet, or PC.
[0855] "Contact Data" refers to data stored on a user's communication device, including phone numbers, names, and other information.
[0856] "Call records" refers to data that records the date, time, call partner, call duration, etc. of voice calls made by a user in the past.
[0857] "Relatives" refers to family members who are classified based on specific keywords, such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt," contained in the user's phone book data.
[0858] A "friend" refers to a contact with whom the user has had a history of calling at least three times in the past on weekday evenings or on weekends and holidays.
[0859] "Best call partner" refers to the person who is currently determined to be the most appropriate person for the user to call based on collected and analyzed data.
[0860] "Short Message" refers to a message in SMS (Short Message Service) format that is generated by a server and sent to a user's device.
[0861] A "call link" refers to a link to call a specific phone number included in a message directly.
[0862] "Profile information" refers to basic information about a user (e.g., date of birth, gender, etc.).
[0863] "Calendar information" refers to calendar information relating to a specific date (e.g., Taian, Butsumetsu, etc.).
[0864] The present invention is a system for promoting smooth communication between a user and his / her contacts. The system acquires contact data and call records from the user's terminal, analyzes them, selects appropriate call partners, and notifies the user. The system consists of the user's terminal and a server.
[0865] Hardware and Software
[0866] Device:
[0867] Examples of hardware include mobile communication devices such as smartphones, tablets, and PCs. An application for the voice call recommendation service runs on these devices. The application uses a local database such as SQLite to store contact data and call logs, and sends the data for synchronization with the server.
[0868] server:
[0869] The server is a high-performance computer that performs the main processing. On the server side, data is managed using databases such as MySQL or PostgreSQL. Scripts written in programming languages such as Python or Java are used to analyze data and generate SMS messages. Calendar information is also obtained using external APIs (e.g., Google Calendar API, Japanese calendar API, etc.).
[0870] Program processing
[0871] 1. The user's device retrieves contact data and call logs:
[0872] A user installs a voice call recommendation service application and grants the application permission to access the service. The application periodically collects contact data and call records and stores them in a local database.
[0873] 2. The device sends the data to the server:
[0874] The collected data is sent to a server at regular intervals (for example, every night). This is done using HTTPS encrypted communication to prevent data leakage.
[0875] 3. The server categorizes and stores the data:
[0876] The server stores the received data in a MySQL or PostgreSQL database. It then analyzes the contact data and classifies contacts containing keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts with whom you have spoken at least three times on weekday nights or weekends and holidays as friends based on call records.
[0877] 4. Server retrieves user profile and calendar information:
[0878] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu) using an external calendar API and saves it in the database.
[0879] 5. Selecting the right call partner:
[0880] The server comprehensively analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if it is a lucky day according to the calendar, close relatives will be prioritized.
[0881] 6. Creating and sending SMS messages:
[0882] The server generates an SMS message based on the selected caller's information, calendar information, and the user's situation. For example, it might generate a message such as, "Today is a lucky day. Why don't you call your mother (090-1234-5678)?" and send it to the user's device.
[0883] 7. User Actions:
[0884] Users receive and view the SMS message on their device, and can tap on a link within the message to instantly call the selected contact.
[0885] Specific examples
[0886] For example, after a user installs a voice call recommendation service application and allows access to contact data and call logs, the system operates as follows.
[0887] The device collects contact data (e.g., Dad, Mom, Friend A, Friend B) and call records (e.g., 3 calls with Mom, 5 calls with Friend A) and sends them to the server.
[0888] The server classifies the contact data, classifying the father and mother as relatives and friend A as a friend. Based on the call records, the server also selects the mother (relative) as the preferred call partner, as she is not frequently contacted.
[0889] The server obtains user profile information (e.g., recent and upcoming date of birth) and calendar information such as lucky days.
[0890] Based on this information, the server selects the mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call your mother (090-1234-5678)?"
[0891] The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[0892] This allows users to contact important people at the right time, improving satisfaction with the system.
[0893] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0894] Step 1:
[0895] (Device) Installing the app and initial settings
[0896] A user installs a voice call recommendation service application and grants the app permission to access contact data and call logs, which are stored on the user's mobile device and allow the app access to the necessary information.
[0897] Input: Application installation, permission permission
[0898] Output: Application is ready and authorized
[0899] Step 2:
[0900] (Device) Data collection and storage in a local database
[0901] The device periodically saves contact data and call logs to a local database. Contact data includes names, phone numbers, and related information from the user's phone book. Call logs include recent call history.
[0902] Input: Contact data, call logs
[0903] Output: Collected data is stored in a local database
[0904] Step 3:
[0905] Sending (terminal) data to the server
[0906] The device will send the saved contact data and call logs to a server at regular intervals (e.g. every night) via encrypted communication (HTTPS), which ensures the security of the data.
[0907] Input: Locally stored contact data, call logs
[0908] Output: Contact data sent to server, call records
[0909] Step 4:
[0910] (Server) Receiving and storing data
[0911] The server receives the data sent from the device and stores it in a database (e.g., MySQL or PostgreSQL), which allows for effective management of the data for later processing.
[0912] Input: Received contact data, call records
[0913] Output: Data stored in the server database
[0914] Step 5:
[0915] (Server) Data Classification
[0916] The server analyzes contact data and classifies contacts containing specific keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts who have been called at least three times on weekday nights or weekends and holidays based on call records as friends.
[0917] Input: saved contact data, call logs
[0918] Output: Classified relatives and friends data
[0919] Step 6:
[0920] (Server) Obtaining user profile information and calendar information
[0921] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu, etc.) using an external calendar API (e.g., Google Calendar API, Japanese calendar API) and stores it in the database.
[0922] Input: User profile information acquisition request, calendar information acquisition request
[0923] Output: Profile information and calendar information obtained
[0924] Step 7:
[0925] (Server) Selecting the appropriate call partner
[0926] The server analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if the calendar shows a lucky day, it will prioritize close relatives. It can also use appropriate algorithms or machine learning models.
[0927] Input: Categorised contact data, call logs, profile information, calendar information
[0928] Output: Selected caller information
[0929] Step 8:
[0930] (Server) SMS message generation
[0931] The server generates a short message based on the selected caller's information. This message includes calendar information, text appropriate for the user's situation, and a call link. For example, it could say, "Today is a lucky day. Why don't you call my mother (090-1234-5678)?"
[0932] Input: Selected caller information, calendar information
[0933] Output: The generated short message
[0934] Step 9:
[0935] (Server) Sending SMS messages
[0936] The server sends the generated short message to the user's device using a communication protocol (e.g., an SMS gateway).
[0937] Input: Generated short message
[0938] Output: Short message sent
[0939] Step 10:
[0940] Receiving and displaying (user) messages
[0941] Users receive a short message on their device, which is displayed within the app, and can tap on a link within the message to instantly call the selected contact.
[0942] Input: Received short message
[0943] Output: Messages displayed, phone calls made
[0944] Through the above steps, the user can efficiently select a call partner at an appropriate time and carry out smooth communication.
[0945] (Application example 1)
[0946] 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."
[0947] In recent years, there has been a demand for quick and reliable communication in emergencies or when someone is away. However, it is cumbersome for users to always manually select and contact the appropriate person, and there is also the risk of misidentifying the appropriate person. Conventional systems lack the means to automatically select the person to contact based on the user's situation and urgency, and to quickly contact them. This has led to challenges in improving security reliability and reducing the burden on users.
[0948] 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.
[0949] In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying calls into family and friends based on the acquired phone book data, means for selecting appropriate call partners for the user based on the acquired call history and classified data, means for generating an SMS message including information on the selected call partners, means for sending the generated SMS message to the user's terminal, and means for selecting the most appropriate call partner in an emergency and sending the generated emergency message. This allows the user to automatically select appropriate call partners and quickly contact them in an emergency or when they are away.
[0950] A "user's terminal" is an electronic device used by a user, such as a smartphone, tablet, or PC.
[0951] "Phone book data" refers to contact information stored on a user's device.
[0952] "Call history" refers to a record of calls made by a user, and includes information such as the date and time of the call, the duration of the call, and the other party.
[0953] A "server" is a computer system for processing and storing data over a network.
[0954] "Means for classification" refers to the function of analyzing acquired data and grouping it based on specific rules.
[0955] "Means of selection" refers to the function of selecting the partner who best meets the conditions based on the collected data.
[0956] "Means of generation" refers to the function of creating new messages or data based on specific information.
[0957] "Means for sending" means a function for sending the generated message or data to a designated terminal.
[0958] An "emergency" refers to a situation or incident that requires a rapid response.
[0959] An "appropriate caller" is a person who is determined to be a person who should be contacted with priority based on the user's situation and needs.
[0960] An "emergency message" is a message sent to prompt a prompt response in an emergency.
[0961] This invention relates to a system for security services that automatically selects the appropriate person to contact and quickly communicates with them in emergencies or when the user is absent. The main elements of this system are the user's device and a server.
[0962] Program processing explanation
[0963] 1. Acquiring data from the user's device:
[0964] The application is installed on the user's smartphone and given permission to access the phone book data and call history. The device periodically collects the phone book data and call history, stores them in a local database, and synchronizes them with the server.
[0965] 2. Data classification and storage on the server:
[0966] The server receives the phone book data and call history sent from the device and classifies contacts into family and friends based on this data. Family is a contact whose phone book data contains specific keywords (such as "father," "mother," "older brother," or "older sister"), and friends is a contact with whom you have made at least three calls on weekday nights or on weekends or holidays.
[0967] 3. Collection and Use of User Profile Information:
[0968] The server obtains the user's profile information (e.g., date of birth, gender, etc.) and calendar information (e.g., lucky days, etc.) using an external calendar API, and stores them in a database.
[0969] 4. Emergency call selection:
[0970] The server selects the appropriate person to call in an emergency based on previously collected and analyzed phone book data, call history, user profile information, and calendar information. For example, if your home security system detects an abnormality while you are away, the server will determine the emergency situation and prioritize a close family member (such as your mother) as the person to call.
[0971] 5. Creating and sending an emergency message:
[0972] The server generates an emergency message containing the selected caller's registered name in the phone book and a link to the phone number. The generated emergency message contains a specific text message depending on the level of urgency and the user's situation. For example, a message such as "This is an emergency. Please contact my mother (090-2345-6789)" may be generated and sent to the user's device.
[0973] As a concrete example, suppose a user is traveling and away from home, and the home security system detects an abnormality while the user is away. The system detects the family member's contact information (e.g., mother, 090-2345-6789), generates an emergency message saying, "This is an emergency. Please contact mother (090-2345-6789)," and sends it to the user's smartphone.
[0974] Example of an input prompt for a generative AI model:
[0975] Generate a Python script that fulfills the following requirements: 1) Collects the user's contacts and call history and synchronizes them with the server, 2) In case of an emergency, selects the most appropriate family member or friend and generates and sends an SMS message, and 3) Include requests to any external APIs (e.g., Twilio) that you use.
[0976] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0977] Step 1:
[0978] The device periodically collects the user's phone book data and call history. When the user installs the application and grants permission to access the phone book data and call history, the device stores this data in a local database. The input of the collected data is the phone book and call history stored in the user's device, and the output is the contact information and call history information stored in the local database.
[0979] Step 2:
[0980] The terminal sends the collected phone book data and call history to the server. The input of the data to be sent is the phone book data and call history information stored in the local database, and the output is the contact information and call history information sent to the server. The server analyzes the received data and stores it in the database.
[0981] Step 3:
[0982] The server analyzes the phone book data and classifies contacts into family and friends. The input data is the phone book information sent from the device, and the output data is a list of classified family and friends. Family members are classified as contacts containing keywords such as "father," "mother," "older brother," and "older sister," while friends are classified as contacts with a history of at least three calls on weekday nights or on weekends and holidays.
[0983] Step 4:
[0984] The server acquires the user's profile information (e.g., date of birth and gender) and calendar information (e.g., days of lucky days). The input data is the user's profile information and calendar information acquired from an external calendar API, and the output data is the user profile information and calendar information stored in the database.
[0985] Step 5:
[0986] The server selects the appropriate call partner in an emergency based on the collected and analyzed phone book data, call history, user profile information, and calendar information. The input data is a categorized contact list, call history, user profile information, and calendar information, and the output data is information on the selected call partner. The server determines priorities based on family or specific conditions, and in an emergency, selects a close family member, such as the mother, as the call partner.
[0987] Step 6:
[0988] The server generates an emergency message containing the directory name and phone number link of the selected caller. The input data is the selected caller's information, and the output data is the generated emergency message. The message contains specific text depending on the level of urgency and the user's situation.
[0989] Step 7:
[0990] The server sends the generated emergency message to the user's terminal. The input data is the generated message, and the output data is the message sent to the user's terminal. When the user receives the emergency message on their terminal and taps the link in the message, they can immediately call the selected call recipient.
[0991] 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.
[0992] This invention is a system that acquires phone book data and call history from a user's terminal, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. This system is composed of the user's communication device and a server, and is implemented by the following steps.
[0993] 1. Collecting user contacts and call history
[0994] Device:
[0995] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[0996] 2. Classification of telephone directory data
[0997] server:
[0998] The server receives the phone book data sent from the device and categorizes the contacts into family and friends. Specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt" are used to categorize family members. Friends include frequently called parties based on past call history.
[0999] 3. Obtaining User Profile Information and Calendar Information
[1000] server:
[1001] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar information API and stores it in the database.
[1002] 4. Emotion Recognition with Emotion Engine
[1003] Device:
[1004] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user is feeling depressed, it will record their emotional pattern.
[1005] 5. Selecting the person to call
[1006] server:
[1007] The server selects the best person to call for the user based on phone book data, call history, user profile information, calendar information, and emotion data generated by an emotion engine. For example, if the user is feeling down, it will select a friend who is easy to talk to in order to refresh them.
[1008] 6. Creating and Sending SMS Messages
[1009] server:
[1010] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[1011] Device:
[1012] The generated SMS message is sent to the user's device, where it is received and a notification is displayed. The user can check the message content and tap the link to instantly call the selected contact.
[1013] Specific examples
[1014] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the system operates as follows.
[1015] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[1016] 2. The server analyzes the phone book data and classifies the contacts into family and friends. For example, father and mother are classified as family, and friend A is classified as a friend.
[1017] 3. The server obtains the user's profile information (e.g., nearby birth dates) and calendar information such as lucky days.
[1018] 4. The device recognizes the user's current emotions and determines that the user is feeling depressed.
[1019] 5. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[1020] 6. The generated SMS message is sent to the user's device, and the user taps the link to call their mother.
[1021] As a result, the present invention can recommend optimal call partners according to the user's emotional state, thereby increasing the frequency of voice calls. It also provides a system that contributes to improving user satisfaction, reducing the risk of cancellations for communication service providers, and acquiring new users.
[1022] The processing flow will be explained below.
[1023] Step 1:
[1024] The device prompts the user to install a voice call recommendation service application, and at that time requests permission to access the phone book data and call history. If the user approves, the device periodically collects the phone book data and call history and stores them in a local database.
[1025] Step 2:
[1026] The phone book data and call history collected by the terminal are sent to a server via the Internet, which then stores the latest phone book data and call history.
[1027] Step 3:
[1028] Based on the phone book data received by the server, each contact is classified into family and friends. Family contacts are classified using keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt." Friends are classified as people with whom you regularly talk based on past call history.
[1029] Step 4:
[1030] The server analyzes the call history and classifies contacts who have had at least three calls on weekday nights or weekends as friends. This analysis clarifies the contacts with whom the user has a high level of intimacy.
[1031] Step 5:
[1032] The server retrieves the user's profile information (e.g., date of birth, gender, etc.) from the database. The server also retrieves the calendar information for that day (e.g., Taian, etc.) through an external calendar information API and stores it in the database.
[1033] Step 6:
[1034] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user inputs "tired," the emotion engine will recognize the user's emotion as "fatigue."
[1035] Step 7:
[1036] The server selects the most suitable call partner for the user based on phone book data, call history, user profile information, calendar information, and emotion data from an emotion engine. For example, if the user is feeling down, it selects a friend who is easy to talk to in order to refresh the user.
[1037] Step 8:
[1038] The server generates an SMS message containing the name and phone number of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[1039] Step 9:
[1040] The server generates an SMS message and sends it to the user's device, which then receives it and displays a notification.
[1041] Step 10:
[1042] The user receives the SMS message, reviews it, and taps the link in the message, which immediately initiates a call to the selected person (in this case, their mother).
[1043] Step 11:
[1044] After the user ends the call, the device stores the call history in a local database and sends it to the server the next time data is collected. The system then returns to step 1 and starts data collection and analysis again.
[1045] Through this series of processes, the present invention can provide users with appropriate call timing and increase the frequency of voice calls. In addition, by recommending call partners according to the user's emotional state, it can also increase user satisfaction.
[1046] Example 2
[1047] 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."
[1048] In conventional systems, users had to go through a lot of effort to select a call partner, making it difficult to achieve efficient communication. Furthermore, there was no fully established method for automatically recommending appropriate call partners based on the user's emotional state and behavioral history, making it difficult to improve user satisfaction. There is a need to solve these issues and provide users with an optimal call experience.
[1049] 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.
[1050] In this invention, the server includes means for acquiring data and history from the user's terminal, means for categorizing the acquired data based on the acquired history and classified data, means for selecting an appropriate call partner for the user based on the acquired history and classified data, means for generating a message including information about the selected call partner, and means for transmitting the generated message to the user's terminal. This allows the user to automatically receive recommendations of appropriate call partners based on their emotional state and behavioral history, thereby achieving efficient communication and improved user satisfaction.
[1051] A "terminal" refers to a communication device used by a user, such as a mobile device such as a smartphone or tablet.
[1052] "Data" refers to all information stored on the terminal, including, for example, phone book information and call history.
[1053] "History" refers to a record of a user's past actions, particularly information such as the duration of a call and the person who called.
[1054] A "category" is a group used to classify data based on specific criteria, such as family or friends.
[1055] The "other party" refers to the person or organization to whom the call is made, and refers to the contact information registered in the user's phone book.
[1056] "Selection" means selecting the most suitable person based on certain criteria, and in this case means selecting the appropriate person to call.
[1057] "Personal information" refers to information used to identify a user, such as date of birth, gender, and name.
[1058] A "calendar" refers to information about dates and the characteristics of specific days, such as Taian and Butsumetsu.
[1059] "Emotional state" refers to the user's current psychological state, including happiness, sadness, anger, etc.
[1060] "Message" refers to text information notified to the user, and in this case refers to an SMS message.
[1061] "Call Contacts" refers to the contact information of the selected person, which typically includes a phone number.
[1062] This invention is a system that acquires phone book data and call history from a user's device, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. The system is mainly composed of the user's device and a server.
[1063] 1. Hardware and Software Configuration
[1064] Device:
[1065] This refers to a mobile device such as a smartphone or tablet owned by the user. The device has the voice call recommendation service application installed and is also equipped with an emotion engine. The emotion engine can use, for example, the Microsoft Azure Emotion API.
[1066] server:
[1067] This is the central system that processes the data and selects the appropriate call partner. The server implements the database (e.g., PostgreSQL) and automatic classification algorithms.
[1068] 2. Data processing and calculation
[1069] Device:
[1070] The user installs the application and grants permission to access their phone book data and call history. Once permission is granted, the device periodically saves the phone book data and call history to a local database and sends them to the server. The emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time.
[1071] server:
[1072] The server receives the data sent from the device and analyzes and processes it. Specifically, it classifies contacts into family and friends based on phone book data, and also incorporates the user's profile information and calendar information. It also takes into account emotional data obtained by the emotion engine and integrates this data to select the most suitable call partner. It also generates an SMS message containing information about the selected contact and sends it to the user's device.
[1073] 3. Specific Examples
[1074] When a user installs a voice call recommendation service application and grants permission to access their phone book data and call history, the system operates as follows: First, the device collects phone book data (e.g., Dad, Mom, Friend A, Friend B) and call history (e.g., three calls with Mom, five calls with Friend A) and sends them to the server. The server analyzes the phone book data to categorize contacts into family and friends, and also obtains user profile information (e.g., nearby birthdays) and calendar information such as lucky days. Next, the device recognizes the user's current emotions and determines that the user is feeling depressed. Based on this information, the server selects Mom as the call partner and generates an SMS message with the following content: "Today is a lucky day. Would you like to call Mom (090-2345-6789)?" Finally, this message is sent to the user's device, and the user taps a link to call Mom.
[1075] 4. Examples of prompts
[1076] An example of a prompt sentence to input to the generative AI model is as follows:
[1077] "Design a system that analyzes user emotions in real time, selects the best person to call, and notifies them. Include an algorithm that uses an emotion engine to analyze voice tone, facial expressions, and text to automate the selection of callers."
[1078] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1079] Step 1:
[1080] Input: A user installs an application and grants it permission to access contact data and call history.
[1081] How it works: Your device retrieves contact data and call history and stores them in a local database.
[1082] Output: Saved phone book data and call history.
[1083] What happens: The user launches the app and agrees to the permission request. The device retrieves contact data (e.g., name, phone number) and call history (e.g., call recipients, call duration) and stores them in a local database such as SQLite.
[1084] Step 2:
[1085] Input: Phonebook data and call history stored in a local database.
[1086] Operation: The device sends this data to the server.
[1087] Output: Phonebook data and call history sent to the server.
[1088] Specific operation: In the background task, the device periodically sends stored data to the server (e.g., HTTP request).
[1089] Step 3:
[1090] Input: Phonebook data and call history sent to the server.
[1091] How it works: The server receives the data and categorizes it into family and friends.
[1092] Output: Categorized contact data.
[1093] Specific operation: The server receives the HTTP request and saves the data in a database (e.g., PostgreSQL). The analysis script analyzes the keywords contained in the contacts and classifies them into family and friend categories (e.g., "mother" is family, "friend A" is friend).
[1094] Step 4:
[1095] Input: User profile and calendar information.
[1096] How it works: The server retrieves the user's profile and calendar information and stores it in a database.
[1097] Output: Saved user profile and calendar information.
[1098] Specific operation: The server retrieves user profile information using an SQL query, and also calls an external API (e.g., Google Calendar API) to retrieve today's calendar information and saves it in the database.
[1099] Step 5:
[1100] Input: Emotional state data from the emotion engine.
[1101] Operation: The device uses the emotion engine to recognize the user's current emotion and transmits it to the server.
[1102] Output: Emotional state data sent to the server.
[1103] What it does: A user enters text or voice messages within the app. The emotion engine analyzes the input data and generates an emotion score (e.g., "sad" with a probability of 0.8). The emotion data is recorded in a local database and sent to the server as a background task.
[1104] Step 6:
[1105] Input: Phonebook data, call history, user profile information, calendar information, emotional state data.
[1106] How it works: The server uses this data to select the best person to call.
[1107] Output: Information about the selected caller.
[1108] How it works: The server retrieves the necessary data using an SQL query, and the algorithm analyzes the data to select the best person to call (e.g., if you're feeling down, it will select a friend you call frequently).
[1109] Step 7:
[1110] Input: Selected caller information.
[1111] How it works: The server generates an SMS message containing the selected person's name and phone number link and sends it to the user's device.
[1112] Output: The generated SMS message.
[1113] Specific operation: The server creates an SMS message using a template (e.g., "Today is a lucky day. Why don't you call your mother (090-2345-6789)?"). The message data is sent to the user's device via Firebase Cloud Messaging.
[1114] Step 8:
[1115] Input: The generated SMS message.
[1116] How it works: The device receives an SMS message, notifies the user, and the user can view the message and tap the link to make the call.
[1117] Output: User's call execution.
[1118] Specific behavior: The device receives a message via Firebase Cloud Messaging and displays a notification. The user taps the notification, which opens the in-app call screen. The device then invokes the phone function and calls the selected person.
[1119] (Application example 2)
[1120] 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."
[1121] Conventional systems lack a mechanism for automatically responding when emergency contact is required based on the user's emotional state, making it difficult for users to receive appropriate assistance in a timely manner. In addition, manual contact is required, which makes it difficult to respond quickly in an emergency.
[1122] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying users into family and friends based on the acquired phone book data, means for detecting an emergency using an emotion engine that recognizes the user's current emotional state in real time, and means for automatically sending an SMS message to a pre-designated emergency contact when an emergency is detected. This enables the user to receive appropriate support in an emergency.
[1123] "Phone book data" refers to a collection of contact information stored on a user's device.
[1124] "Call history" refers to data relating to past calls made by a user, and includes information such as the call partner, call duration, and number of calls.
[1125] An "emotion engine" refers to algorithms or software that analyzes a user's tone of voice, facial expressions, text input, etc. to recognize the user's current emotional state in real time.
[1126] An "emergency" refers to a situation where the user is in a particular emotional state, such as panic, high stress, or anxiety.
[1127] "Emergency Contact" refers to a telephone number or contact method designated in advance to be contacted in an emergency.
[1128] "SMS message" refers to a short text message sent and received between user devices.
[1129] "Terminal" refers to a communication device used by a user, such as a smartphone, tablet, smart glasses, head-mounted display, or robot.
[1130] "Server" refers to a central system that receives data sent from a user's terminal, processes it, and performs tasks such as selecting the appropriate call recipient and generating an emergency message.
[1131] The system embodying this invention is composed of a user terminal and a server, and realizes the automation of various data collection, analysis, emotion recognition, and emergency contact.
[1132] 1. Data collection from users' devices
[1133] A user installs an application compatible with this system on their device and grants it permission to access their phone book data and call history. The device periodically saves this data in a local database and sends it to the server for synchronization.
[1134] 2. Data analysis by the server
[1135] The server receives the phone book data sent from the device and categorizes the contacts into family and friends, further defines the friend list based on past call history, and also retrieves the user's profile information and calendar information from the database.
[1136] 3. Emotional Recognition
[1137] The emotion engine installed on the user's device recognizes the user's emotional state in real time by analyzing the user's tone of voice, facial expressions, and text input, and can detect, for example, panic or high stress.
[1138] 4. Emergency detection and notification
[1139] The server automatically recognizes the user's emergency based on the emotion data sent from the emotion engine. If an emergency is detected, the server automatically sends an SMS message to pre-designated emergency contacts. This message contains information indicating an emergency situation and urging the user to contact the emergency contact immediately.
[1140] 5. Communication
[1141] The generated SMS message is sent to the user's device, where the user can receive and view the message, and tap the link to instantly call the selected contact.
[1142] Specific use cases
[1143] For example, if the emotion engine detects that the user is panicking, the server will send the following message to family and friends who are registered as emergency contacts:
[1144] "Emergency. User is panicking. Please contact us immediately."
[1145] Prompt Sentence Examples
[1146] "Build a system where, when a user is in an emergency, the emotion engine recognizes the user's emotions in real time and automatically sends a message to pre-designated emergency contacts. For example, if the user is in a panic, generate and send the following message:
[1147] "The user has an emergency. Please contact us immediately."
[1148] In this way, the present invention significantly improves the user's ability to respond to emergencies, which has been difficult with conventional communication systems, and makes it possible to provide faster and more effective assistance.
[1149] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1150] Step 1:
[1151] The user installs the application for this system on the device and grants permission to access the phone book data and call history. The device stores this data in a local database. Once the access permission is set, the device periodically collects the phone book data and call history.
[1152] Step 2:
[1153] The device sends the collected phone book data and call history to the server. The server receives this data and classifies contacts into family and friends based on the phone book data. For example, entries containing "father" or "mother" in the name field are classified as family.
[1154] Step 3:
[1155] The server analyzes past call history and classifies people you have frequently spoken to as friends. For example, someone you have called more than 10 times is registered as a friend. This process saves the phone book data and call history in a classified state in the server's database.
[1156] Step 4:
[1157] The emotion engine installed on the user's device analyzes the user's voice tone, facial expressions, text input, etc. in real time to recognize their emotional state. For example, it uses voice recognition technology and facial recognition technology to identify whether the user is feeling stressed.
[1158] Step 5:
[1159] The device sends the recognized emotion data to the server. The server receives the emotion data and determines whether an emergency situation has occurred. For example, if the user's emotion is recognized as "panic," it is determined to be an emergency situation.
[1160] Step 6:
[1161] If an emergency situation is detected, the server automatically generates an SMS message to the pre-specified emergency contacts. The message contains information about the emergency situation and a message urging them to contact the emergency contacts immediately. For example, the server could generate a message saying, "The user is in a panic. Please contact us immediately."
[1162] Step 7:
[1163] The server generates an SMS message and sends it to the user's device, which receives it. The emergency contacts based on the entry point are immediately notified, allowing the user to receive assistance quickly.
[1164] Step 8:
[1165] The user's device will display the received message as a notification, and the user can view the notification and tap the link in the message to immediately call the designated emergency contact.
[1166] In this way, data input and output at each step, and specific data processing and data calculation are performed, thereby providing the user with prompt and appropriate emergency support.
[1167] 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.
[1168] 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.
[1169] 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.
[1170] [Fourth embodiment]
[1171] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1172] 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.
[1173] 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).
[1174] 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.
[1175] 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.
[1176] 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).
[1177] 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.
[1178] 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.
[1179] 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.
[1180] 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.
[1181] 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.
[1182] 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.
[1183] 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."
[1184] The present invention is a system that acquires phonebook data and call history from a user's terminal, selects the most suitable call partner at the appropriate time, and generates and sends an SMS message to the user. This system is composed of a user's communication device and a server, and is implemented by the following steps.
[1185] 1. Collecting user contacts and call history
[1186] Device:
[1187] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[1188] 2. Classification of telephone directory data
[1189] server:
[1190] The server receives the phone book data sent from the device and classifies the contacts into family and friends. Family is a contact whose phone book data contains specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," or "aunt." Friends is a contact with whom you have made at least three calls in the past, either on weekday nights or on weekends or holidays.
[1191] 3. Obtaining User Profile Information and Calendar Information
[1192] server:
[1193] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar API and stores it in the database.
[1194] 4. Selecting the person to call
[1195] server:
[1196] The server selects the appropriate call partner for the user based on the phone book data, call history, user profile information, and calendar information that it has collected and analyzed. For example, if it is a lucky day according to the calendar, it will prioritize a close family member (such as your mother) as the call partner.
[1197] 5. Creating and Sending SMS Messages
[1198] server:
[1199] The server generates an SMS message containing the selected recipient's registered name in the phone book and a link to their phone number. The generated SMS message contains calendar information and a text message appropriate to the user's situation. For example, it generates an SMS message with the content, "Today is a lucky day. Why don't you call your mother (090-2345-6789)?" The generated SMS message is then sent to the user's device.
[1200] Device:
[1201] The user receives an SMS message, which is displayed within the app, and can tap on a link to instantly call the selected contact.
[1202] Specific examples
[1203] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the server operates as follows.
[1204] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[1205] 2. The server classifies the phone book data, classifying father and mother as family members and friend A as a friend. Based on the call history, it selects mother as the call partner, as she is not frequently called.
[1206] 3. The server obtains the user's profile information (e.g., the most recent and nearest date of birth) and calendar information such as lucky days.
[1207] 4. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[1208] 5. The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[1209] As described above, the present invention provides a system that brings voice calls back into everyday life, improves user satisfaction, reduces the risk of cancellation for communication service providers, and contributes to the acquisition of new users.
[1210] The processing flow will be explained below.
[1211] Step 1:
[1212] When the device installs the application, it asks the user for permission to access the phone book data and call history. If the user approves, the device will periodically collect the phone book data and call history and store them in a local database.
[1213] Step 2:
[1214] The phone book data and call history collected by the device are sent to a server via the Internet, allowing the server to maintain the latest data.
[1215] Step 3:
[1216] The server analyzes the received phone book data and categorizes each contact into family and friends. Family categorization uses specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt."
[1217] Step 4:
[1218] The server analyzes the call history and classifies contacts with whom the user has had at least three calls on weekday nights or weekends and holidays as friends, making it clear which contacts the user is most close to.
[1219] Step 5:
[1220] The server retrieves the user's profile information (date of birth, gender, etc.) from a central database. It also retrieves the calendar information for that day (e.g., Taian, etc.) using an external calendar information API and stores it in the database as needed.
[1221] Step 6:
[1222] The server selects the most appropriate call partner for the user based on this data (phone book data, call history, user profile information, calendar information). For example, if it is a lucky day, it will prioritize selecting a family member such as the user's mother.
[1223] Step 7:
[1224] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[1225] Step 8:
[1226] The server generates an SMS message and sends it to the user's device, which receives it and displays a notification.
[1227] Step 9:
[1228] The user receives the SMS message, reviews it, and taps the link, which immediately initiates a call to the selected person (in this case, their mother).
[1229] Step 10:
[1230] After the user ends the call, the device stores the call history in the local database again and returns to step 1 to collect data again.
[1231] Through the above processing steps, the present invention can provide the user with appropriate call timing and increase the frequency of voice calls.
[1232] Example 1
[1233] 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."
[1234] In today's society, users who lead busy lives tend to lose touch with family and friends. While there is a demand for making calls at the right time, choosing the right person is often difficult. Furthermore, there is a need for a method that automatically provides call recommendations and allows users to select a call partner without any effort.
[1235] 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.
[1236] In this invention, the server includes means for acquiring contact information and call logs from the user's terminal, means for classifying contacts into relatives and friends based on the acquired contact information, means for selecting the most suitable call partner for the user based on the acquired call logs and classified data, means for generating a short message including information about the selected call partner, and means for sending the generated short message to the user's terminal, thereby enabling the user to efficiently select a call partner at an appropriate time and to communicate smoothly.
[1237] "User terminal" refers to a device owned by an individual and used for communication, such as a smartphone, tablet, or PC.
[1238] "Contact Data" refers to data stored on a user's communication device, including phone numbers, names, and other information.
[1239] "Call records" refers to data that records the date, time, call partner, call duration, etc. of voice calls made by a user in the past.
[1240] "Relatives" refers to family members who are classified based on specific keywords, such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt," contained in the user's phone book data.
[1241] A "friend" refers to a contact with whom the user has had a history of calling at least three times in the past on weekday evenings or on weekends and holidays.
[1242] "Best call partner" refers to the person who is currently determined to be the most appropriate person for the user to call based on collected and analyzed data.
[1243] "Short Message" refers to a message in SMS (Short Message Service) format that is generated by a server and sent to a user's device.
[1244] A "call link" refers to a link to call a specific phone number included in a message directly.
[1245] "Profile information" refers to basic information about a user (e.g., date of birth, gender, etc.).
[1246] "Calendar information" refers to calendar information relating to a specific date (e.g., Taian, Butsumetsu, etc.).
[1247] The present invention is a system for promoting smooth communication between a user and his / her contacts. The system acquires contact data and call records from the user's terminal, analyzes them, selects appropriate call partners, and notifies the user. The system consists of the user's terminal and a server.
[1248] Hardware and Software
[1249] Device:
[1250] Examples of hardware include mobile communication devices such as smartphones, tablets, and PCs. An application for the voice call recommendation service runs on these devices. The application uses a local database such as SQLite to store contact data and call logs, and sends the data for synchronization with the server.
[1251] server:
[1252] The server is a high-performance computer that performs the main processing. On the server side, data is managed using databases such as MySQL or PostgreSQL. Scripts written in programming languages such as Python or Java are used to analyze data and generate SMS messages. Calendar information is also obtained using external APIs (e.g., Google Calendar API, Japanese calendar API, etc.).
[1253] Program processing
[1254] 1. The user's device retrieves contact data and call logs:
[1255] A user installs a voice call recommendation service application and grants the application permission to access the service. The application periodically collects contact data and call records and stores them in a local database.
[1256] 2. The device sends the data to the server:
[1257] The collected data is sent to a server at regular intervals (for example, every night). This is done using HTTPS encrypted communication to prevent data leakage.
[1258] 3. The server categorizes and stores the data:
[1259] The server stores the received data in a MySQL or PostgreSQL database. It then analyzes the contact data and classifies contacts containing keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts with whom you have spoken at least three times on weekday nights or weekends and holidays as friends based on call records.
[1260] 4. Server retrieves user profile and calendar information:
[1261] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu) using an external calendar API and saves it in the database.
[1262] 5. Selecting the right call partner:
[1263] The server comprehensively analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if it is a lucky day according to the calendar, close relatives will be prioritized.
[1264] 6. Creating and sending SMS messages:
[1265] The server generates an SMS message based on the selected caller's information, calendar information, and the user's situation. For example, it might generate a message such as, "Today is a lucky day. Why don't you call your mother (090-1234-5678)?" and send it to the user's device.
[1266] 7. User Actions:
[1267] Users receive and view the SMS message on their device, and can tap on a link within the message to instantly call the selected contact.
[1268] Specific examples
[1269] For example, after a user installs a voice call recommendation service application and allows access to contact data and call logs, the system operates as follows.
[1270] The device collects contact data (e.g., Dad, Mom, Friend A, Friend B) and call records (e.g., 3 calls with Mom, 5 calls with Friend A) and sends them to the server.
[1271] The server classifies the contact data, classifying the father and mother as relatives and friend A as a friend. Based on the call records, the server also selects the mother (relative) as the preferred call partner, as she is not frequently contacted.
[1272] The server obtains user profile information (e.g., recent and upcoming date of birth) and calendar information such as lucky days.
[1273] Based on this information, the server selects the mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call your mother (090-1234-5678)?"
[1274] The generated SMS message is sent to the user's device, and the user taps the link in the message to call their mother.
[1275] This allows users to contact important people at the right time, improving satisfaction with the system.
[1276] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1277] Step 1:
[1278] (Device) Installing the app and initial settings
[1279] A user installs a voice call recommendation service application and grants the app permission to access contact data and call logs, which are stored on the user's mobile device and allow the app access to the necessary information.
[1280] Input: Application installation, permission permission
[1281] Output: Application is ready and authorized
[1282] Step 2:
[1283] (Device) Data collection and storage in a local database
[1284] The device periodically saves contact data and call logs to a local database. Contact data includes names, phone numbers, and related information from the user's phone book. Call logs include recent call history.
[1285] Input: Contact data, call logs
[1286] Output: Collected data is stored in a local database
[1287] Step 3:
[1288] Sending (terminal) data to the server
[1289] The device will send the saved contact data and call logs to a server at regular intervals (e.g. every night) via encrypted communication (HTTPS), which ensures the security of the data.
[1290] Input: Locally stored contact data, call logs
[1291] Output: Contact data sent to server, call records
[1292] Step 4:
[1293] (Server) Receiving and storing data
[1294] The server receives the data sent from the device and stores it in a database (e.g., MySQL or PostgreSQL), which allows for effective management of the data for later processing.
[1295] Input: Received contact data, call records
[1296] Output: Data stored in the server database
[1297] Step 5:
[1298] (Server) Data Classification
[1299] The server analyzes contact data and classifies contacts containing specific keywords such as "father," "mother," "older brother," and "older sister" as relatives. It also classifies contacts who have been called at least three times on weekday nights or weekends and holidays based on call records as friends.
[1300] Input: saved contact data, call logs
[1301] Output: Classified relatives and friends data
[1302] Step 6:
[1303] (Server) Obtaining user profile information and calendar information
[1304] The server retrieves the user's profile information (e.g., date of birth, gender) from the database. It also retrieves the current day's calendar information (e.g., Taian, Butsumetsu, etc.) using an external calendar API (e.g., Google Calendar API, Japanese calendar API) and stores it in the database.
[1305] Input: User profile information acquisition request, calendar information acquisition request
[1306] Output: Profile information and calendar information obtained
[1307] Step 7:
[1308] (Server) Selecting the appropriate call partner
[1309] The server analyzes contact data, call records, user profile information, and calendar information to select the best call partner for the user. For example, if the calendar shows a lucky day, it will prioritize close relatives. It can also use appropriate algorithms or machine learning models.
[1310] Input: Categorised contact data, call logs, profile information, calendar information
[1311] Output: Selected caller information
[1312] Step 8:
[1313] (Server) SMS message generation
[1314] The server generates a short message based on the selected caller's information. This message includes calendar information, text appropriate for the user's situation, and a call link. For example, it could say, "Today is a lucky day. Why don't you call my mother (090-1234-5678)?"
[1315] Input: Selected caller information, calendar information
[1316] Output: The generated short message
[1317] Step 9:
[1318] (Server) Sending SMS messages
[1319] The server sends the generated short message to the user's device using a communication protocol (e.g., an SMS gateway).
[1320] Input: Generated short message
[1321] Output: Short message sent
[1322] Step 10:
[1323] Receiving and displaying (user) messages
[1324] Users receive a short message on their device, which is displayed within the app, and can tap on a link within the message to instantly call the selected contact.
[1325] Input: Received short message
[1326] Output: Messages displayed, phone calls made
[1327] Through the above steps, the user can efficiently select a call partner at an appropriate time and carry out smooth communication.
[1328] (Application example 1)
[1329] 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."
[1330] In recent years, there has been a demand for quick and reliable communication in emergencies or when someone is away. However, it is cumbersome for users to always manually select and contact the appropriate person, and there is also the risk of misidentifying the appropriate person. Conventional systems lack the means to automatically select the person to contact based on the user's situation and urgency, and to quickly contact them. This has led to challenges in improving security reliability and reducing the burden on users.
[1331] 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.
[1332] In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying calls into family and friends based on the acquired phone book data, means for selecting appropriate call partners for the user based on the acquired call history and classified data, means for generating an SMS message including information on the selected call partners, means for sending the generated SMS message to the user's terminal, and means for selecting the most appropriate call partner in an emergency and sending the generated emergency message. This allows the user to automatically select appropriate call partners and quickly contact them in an emergency or when they are away.
[1333] A "user's terminal" is an electronic device used by a user, such as a smartphone, tablet, or PC.
[1334] "Phone book data" refers to contact information stored on a user's device.
[1335] "Call history" refers to a record of calls made by a user, and includes information such as the date and time of the call, the duration of the call, and the other party.
[1336] A "server" is a computer system for processing and storing data over a network.
[1337] "Means for classification" refers to the function of analyzing acquired data and grouping it based on specific rules.
[1338] "Means of selection" refers to the function of selecting the partner who best meets the conditions based on the collected data.
[1339] "Means of generation" refers to the function of creating new messages or data based on specific information.
[1340] "Means for sending" means a function for sending the generated message or data to a designated terminal.
[1341] An "emergency" refers to a situation or incident that requires a rapid response.
[1342] An "appropriate caller" is a person who is determined to be a person who should be contacted with priority based on the user's situation and needs.
[1343] An "emergency message" is a message sent to prompt a prompt response in an emergency.
[1344] This invention relates to a system for security services that automatically selects the appropriate person to contact and quickly communicates with them in emergencies or when the user is absent. The main elements of this system are the user's device and a server.
[1345] Program processing explanation
[1346] 1. Acquiring data from the user's device:
[1347] The application is installed on the user's smartphone and given permission to access the phone book data and call history. The device periodically collects the phone book data and call history, stores them in a local database, and synchronizes them with the server.
[1348] 2. Data classification and storage on the server:
[1349] The server receives the phone book data and call history sent from the device and classifies contacts into family and friends based on this data. Family is a contact whose phone book data contains specific keywords (such as "father," "mother," "older brother," or "older sister"), and friends is a contact with whom you have made at least three calls on weekday nights or on weekends or holidays.
[1350] 3. Collection and Use of User Profile Information:
[1351] The server obtains the user's profile information (e.g., date of birth, gender, etc.) and calendar information (e.g., lucky days, etc.) using an external calendar API, and stores them in a database.
[1352] 4. Emergency call selection:
[1353] The server selects the appropriate person to call in an emergency based on previously collected and analyzed phone book data, call history, user profile information, and calendar information. For example, if your home security system detects an abnormality while you are away, the server will determine the emergency situation and prioritize a close family member (such as your mother) as the person to call.
[1354] 5. Creating and sending an emergency message:
[1355] The server generates an emergency message containing the selected caller's registered name in the phone book and a link to the phone number. The generated emergency message contains a specific text message depending on the level of urgency and the user's situation. For example, a message such as "This is an emergency. Please contact my mother (090-2345-6789)" may be generated and sent to the user's device.
[1356] As a concrete example, suppose a user is traveling and away from home, and the home security system detects an abnormality while the user is away. The system detects the family member's contact information (e.g., mother, 090-2345-6789), generates an emergency message saying, "This is an emergency. Please contact mother (090-2345-6789)," and sends it to the user's smartphone.
[1357] Example of an input prompt for a generative AI model:
[1358] Generate a Python script that fulfills the following requirements: 1) Collects the user's contacts and call history and synchronizes them with the server, 2) In case of an emergency, selects the most appropriate family member or friend and generates and sends an SMS message, and 3) Include requests to any external APIs (e.g., Twilio) that you use.
[1359] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1360] Step 1:
[1361] The device periodically collects the user's phone book data and call history. When the user installs the application and grants permission to access the phone book data and call history, the device stores this data in a local database. The input of the collected data is the phone book and call history stored in the user's device, and the output is the contact information and call history information stored in the local database.
[1362] Step 2:
[1363] The terminal sends the collected phone book data and call history to the server. The input of the data to be sent is the phone book data and call history information stored in the local database, and the output is the contact information and call history information sent to the server. The server analyzes the received data and stores it in the database.
[1364] Step 3:
[1365] The server analyzes the phone book data and classifies contacts into family and friends. The input data is the phone book information sent from the device, and the output data is a list of classified family and friends. Family members are classified as contacts containing keywords such as "father," "mother," "older brother," and "older sister," while friends are classified as contacts with a history of at least three calls on weekday nights or on weekends and holidays.
[1366] Step 4:
[1367] The server acquires the user's profile information (e.g., date of birth and gender) and calendar information (e.g., days of lucky days). The input data is the user's profile information and calendar information acquired from an external calendar API, and the output data is the user profile information and calendar information stored in the database.
[1368] Step 5:
[1369] The server selects the appropriate call partner in an emergency based on the collected and analyzed phone book data, call history, user profile information, and calendar information. The input data is a categorized contact list, call history, user profile information, and calendar information, and the output data is information on the selected call partner. The server determines priorities based on family or specific conditions, and in an emergency, selects a close family member, such as the mother, as the call partner.
[1370] Step 6:
[1371] The server generates an emergency message containing the directory name and phone number link of the selected caller. The input data is the selected caller's information, and the output data is the generated emergency message. The message contains specific text depending on the level of urgency and the user's situation.
[1372] Step 7:
[1373] The server sends the generated emergency message to the user's terminal. The input data is the generated message, and the output data is the message sent to the user's terminal. When the user receives the emergency message on their terminal and taps the link in the message, they can immediately call the selected call recipient.
[1374] 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.
[1375] This invention is a system that acquires phone book data and call history from a user's terminal, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. This system is composed of the user's communication device and a server, and is implemented by the following steps.
[1376] 1. Collecting user contacts and call history
[1377] Device:
[1378] A user installs the application for this voice call recommendation service and grants it permission to access the phone book data and call history. The device periodically saves the phone book data and call history to a local database and sends this data to the server for synchronization.
[1379] 2. Classification of telephone directory data
[1380] server:
[1381] The server receives the phone book data sent from the device and categorizes the contacts into family and friends. Specific keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt" are used to categorize family members. Friends include frequently called parties based on past call history.
[1382] 3. Obtaining User Profile Information and Calendar Information
[1383] server:
[1384] The server retrieves the user's profile information (date of birth, gender, etc.) from the database. It also retrieves today's calendar information (e.g., Taian, etc.) using an external calendar information API and stores it in the database.
[1385] 4. Emotion Recognition with Emotion Engine
[1386] Device:
[1387] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user is feeling depressed, it will record their emotional pattern.
[1388] 5. Selecting the person to call
[1389] server:
[1390] The server selects the best person to call for the user based on phone book data, call history, user profile information, calendar information, and emotion data generated by an emotion engine. For example, if the user is feeling down, it will select a friend who is easy to talk to in order to refresh them.
[1391] 6. Creating and Sending SMS Messages
[1392] server:
[1393] The server generates an SMS message containing the name and phone number link of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[1394] Device:
[1395] The generated SMS message is sent to the user's device, where it is received and a notification is displayed. The user can check the message content and tap the link to instantly call the selected contact.
[1396] Specific examples
[1397] For example, after a user installs an application for a voice call recommendation service and grants permission to access phone book data and call history, the system operates as follows.
[1398] 1. The device collects phone book data (e.g., father, mother, friend A, friend B) and call history (e.g., three calls with mother, five calls with friend A) and sends them to the server.
[1399] 2. The server analyzes the phone book data and classifies the contacts into family and friends. For example, father and mother are classified as family, and friend A is classified as a friend.
[1400] 3. The server obtains the user's profile information (e.g., nearby birth dates) and calendar information such as lucky days.
[1401] 4. The device recognizes the user's current emotions and determines that the user is feeling depressed.
[1402] 5. Based on this information, the server selects Mother as the person to call and generates an SMS message stating, "Today is a lucky day. Would you like to call Mother (090-2345-6789)?"
[1403] 6. The generated SMS message is sent to the user's device, and the user taps the link to call their mother.
[1404] As a result, the present invention can recommend optimal call partners according to the user's emotional state, thereby increasing the frequency of voice calls. It also provides a system that contributes to improving user satisfaction, reducing the risk of cancellations for communication service providers, and acquiring new users.
[1405] The processing flow will be explained below.
[1406] Step 1:
[1407] The device prompts the user to install a voice call recommendation service application, and at that time requests permission to access the phone book data and call history. If the user approves, the device periodically collects the phone book data and call history and stores them in a local database.
[1408] Step 2:
[1409] The phone book data and call history collected by the terminal are sent to a server via the Internet, which then stores the latest phone book data and call history.
[1410] Step 3:
[1411] Based on the phone book data received by the server, each contact is classified into family and friends. Family contacts are classified using keywords such as "father," "mother," "older brother," "older sister," "grandparents," "uncle," and "aunt." Friends are classified as people with whom you regularly talk based on past call history.
[1412] Step 4:
[1413] The server analyzes the call history and classifies contacts who have had at least three calls on weekday nights or weekends as friends. This analysis clarifies the contacts with whom the user has a high level of intimacy.
[1414] Step 5:
[1415] The server retrieves the user's profile information (e.g., date of birth, gender, etc.) from the database. The server also retrieves the calendar information for that day (e.g., Taian, etc.) through an external calendar information API and stores it in the database.
[1416] Step 6:
[1417] The device's built-in emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time. For example, if the user inputs "tired," the emotion engine will recognize the user's emotion as "fatigue."
[1418] Step 7:
[1419] The server selects the most suitable call partner for the user based on phone book data, call history, user profile information, calendar information, and emotion data from an emotion engine. For example, if the user is feeling down, it selects a friend who is easy to talk to in order to refresh the user.
[1420] Step 8:
[1421] The server generates an SMS message containing the name and phone number of the selected caller, such as "Today is a lucky day. Why don't you call my mother (090-2345-6789)?"
[1422] Step 9:
[1423] The server generates an SMS message and sends it to the user's device, which then receives it and displays a notification.
[1424] Step 10:
[1425] The user receives the SMS message, reviews it, and taps the link in the message, which immediately initiates a call to the selected person (in this case, their mother).
[1426] Step 11:
[1427] After the user ends the call, the device stores the call history in a local database and sends it to the server the next time data is collected. The system then returns to step 1 and starts data collection and analysis again.
[1428] Through this series of processes, the present invention can provide users with appropriate call timing and increase the frequency of voice calls. In addition, by recommending call partners according to the user's emotional state, it can also increase user satisfaction.
[1429] Example 2
[1430] 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."
[1431] In conventional systems, users had to go through a lot of effort to select a call partner, making it difficult to achieve efficient communication. Furthermore, there was no fully established method for automatically recommending appropriate call partners based on the user's emotional state and behavioral history, making it difficult to improve user satisfaction. There is a need to solve these issues and provide users with an optimal call experience.
[1432] 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.
[1433] In this invention, the server includes means for acquiring data and history from the user's terminal, means for categorizing the acquired data based on the acquired history and classified data, means for selecting an appropriate call partner for the user based on the acquired history and classified data, means for generating a message including information about the selected call partner, and means for transmitting the generated message to the user's terminal. This allows the user to automatically receive recommendations of appropriate call partners based on their emotional state and behavioral history, thereby achieving efficient communication and improved user satisfaction.
[1434] A "terminal" refers to a communication device used by a user, such as a mobile device such as a smartphone or tablet.
[1435] "Data" refers to all information stored on the terminal, including, for example, phone book information and call history.
[1436] "History" refers to a record of a user's past actions, particularly information such as the duration of a call and the person who called.
[1437] A "category" is a group used to classify data based on specific criteria, such as family or friends.
[1438] The "other party" refers to the person or organization to whom the call is made, and refers to the contact information registered in the user's phone book.
[1439] "Selection" means selecting the most suitable person based on certain criteria, and in this case means selecting the appropriate person to call.
[1440] "Personal information" refers to information used to identify a user, such as date of birth, gender, and name.
[1441] A "calendar" refers to information about dates and the characteristics of specific days, such as Taian and Butsumetsu.
[1442] "Emotional state" refers to the user's current psychological state, including happiness, sadness, anger, etc.
[1443] "Message" refers to text information notified to the user, and in this case refers to an SMS message.
[1444] "Call Contacts" refers to the contact information of the selected person, which typically includes a phone number.
[1445] This invention is a system that acquires phone book data and call history from a user's device, and combines it with an emotion engine that recognizes the user's emotions to select an appropriate call partner, generate an SMS message, and send it to the user. The system is mainly composed of the user's device and a server.
[1446] 1. Hardware and Software Configuration
[1447] Device:
[1448] This refers to a mobile device such as a smartphone or tablet owned by the user. The device has the voice call recommendation service application installed and is also equipped with an emotion engine. The emotion engine can use, for example, the Microsoft Azure Emotion API.
[1449] server:
[1450] This is the central system that processes the data and selects the appropriate call partner. The server implements the database (e.g., PostgreSQL) and automatic classification algorithms.
[1451] 2. Data processing and calculation
[1452] Device:
[1453] The user installs the application and grants permission to access their phone book data and call history. Once permission is granted, the device periodically saves the phone book data and call history to a local database and sends them to the server. The emotion engine analyzes the user's voice tone, facial expressions, and text input to recognize their current emotional state in real time.
[1454] server:
[1455] The server receives the data sent from the device and analyzes and processes it. Specifically, it classifies contacts into family and friends based on phone book data, and also incorporates the user's profile information and calendar information. It also takes into account emotional data obtained by the emotion engine and integrates this data to select the most suitable call partner. It also generates an SMS message containing information about the selected contact and sends it to the user's device.
[1456] 3. Specific Examples
[1457] When a user installs a voice call recommendation service application and grants permission to access their phone book data and call history, the system operates as follows: First, the device collects phone book data (e.g., Dad, Mom, Friend A, Friend B) and call history (e.g., three calls with Mom, five calls with Friend A) and sends them to the server. The server analyzes the phone book data to categorize contacts into family and friends, and also obtains user profile information (e.g., nearby birthdays) and calendar information such as lucky days. Next, the device recognizes the user's current emotions and determines that the user is feeling depressed. Based on this information, the server selects Mom as the call partner and generates an SMS message with the following content: "Today is a lucky day. Would you like to call Mom (090-2345-6789)?" Finally, this message is sent to the user's device, and the user taps a link to call Mom.
[1458] 4. Examples of prompts
[1459] An example of a prompt sentence to input to the generative AI model is as follows:
[1460] "Design a system that analyzes user emotions in real time, selects the best person to call, and notifies them. Include an algorithm that uses an emotion engine to analyze voice tone, facial expressions, and text to automate the selection of callers."
[1461] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1462] Step 1:
[1463] Input: A user installs an application and grants it permission to access contact data and call history.
[1464] How it works: Your device retrieves contact data and call history and stores them in a local database.
[1465] Output: Saved phone book data and call history.
[1466] What happens: The user launches the app and agrees to the permission request. The device retrieves contact data (e.g., name, phone number) and call history (e.g., call recipients, call duration) and stores them in a local database such as SQLite.
[1467] Step 2:
[1468] Input: Phonebook data and call history stored in a local database.
[1469] Operation: The device sends this data to the server.
[1470] Output: Phonebook data and call history sent to the server.
[1471] Specific operation: In the background task, the device periodically sends stored data to the server (e.g., HTTP request).
[1472] Step 3:
[1473] Input: Phonebook data and call history sent to the server.
[1474] How it works: The server receives the data and categorizes it into family and friends.
[1475] Output: Categorized contact data.
[1476] Specific operation: The server receives the HTTP request and saves the data in a database (e.g., PostgreSQL). The analysis script analyzes the keywords contained in the contacts and classifies them into family and friend categories (e.g., "mother" is family, "friend A" is friend).
[1477] Step 4:
[1478] Input: User profile and calendar information.
[1479] How it works: The server retrieves the user's profile and calendar information and stores it in a database.
[1480] Output: Saved user profile and calendar information.
[1481] Specific operation: The server retrieves user profile information using an SQL query, and also calls an external API (e.g., Google Calendar API) to retrieve today's calendar information and saves it in the database.
[1482] Step 5:
[1483] Input: Emotional state data from the emotion engine.
[1484] Operation: The device uses the emotion engine to recognize the user's current emotion and transmits it to the server.
[1485] Output: Emotional state data sent to the server.
[1486] What it does: A user enters text or voice messages within the app. The emotion engine analyzes the input data and generates an emotion score (e.g., "sad" with a probability of 0.8). The emotion data is recorded in a local database and sent to the server as a background task.
[1487] Step 6:
[1488] Input: Phonebook data, call history, user profile information, calendar information, emotional state data.
[1489] How it works: The server uses this data to select the best person to call.
[1490] Output: Information about the selected caller.
[1491] How it works: The server retrieves the necessary data using an SQL query, and the algorithm analyzes the data to select the best person to call (e.g., if you're feeling down, it will select a friend you call frequently).
[1492] Step 7:
[1493] Input: Selected caller information.
[1494] How it works: The server generates an SMS message containing the selected person's name and phone number link and sends it to the user's device.
[1495] Output: The generated SMS message.
[1496] Specific operation: The server creates an SMS message using a template (e.g., "Today is a lucky day. Why don't you call your mother (090-2345-6789)?"). The message data is sent to the user's device via Firebase Cloud Messaging.
[1497] Step 8:
[1498] Input: The generated SMS message.
[1499] How it works: The device receives an SMS message, notifies the user, and the user can view the message and tap the link to make the call.
[1500] Output: User's call execution.
[1501] Specific behavior: The device receives a message via Firebase Cloud Messaging and displays a notification. The user taps the notification, which opens the in-app call screen. The device then invokes the phone function and calls the selected person.
[1502] (Application example 2)
[1503] 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."
[1504] Conventional systems lack a mechanism for automatically responding when emergency contact is required based on the user's emotional state, making it difficult for users to receive appropriate assistance in a timely manner. In addition, manual contact is required, which makes it difficult to respond quickly in an emergency.
[1505] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring phone book data and call history from the user's terminal, means for classifying users into family and friends based on the acquired phone book data, means for detecting an emergency using an emotion engine that recognizes the user's current emotional state in real time, and means for automatically sending an SMS message to a pre-designated emergency contact when an emergency is detected. This enables the user to receive appropriate support in an emergency.
[1506] "Phone book data" refers to a collection of contact information stored on a user's device.
[1507] "Call history" refers to data relating to past calls made by a user, and includes information such as the call partner, call duration, and number of calls.
[1508] An "emotion engine" refers to algorithms or software that analyzes a user's tone of voice, facial expressions, text input, etc. to recognize the user's current emotional state in real time.
[1509] An "emergency" refers to a situation where the user is in a particular emotional state, such as panic, high stress, or anxiety.
[1510] "Emergency Contact" refers to a telephone number or contact method designated in advance to be contacted in an emergency.
[1511] "SMS message" refers to a short text message sent and received between user devices.
[1512] "Terminal" refers to a communication device used by a user, such as a smartphone, tablet, smart glasses, head-mounted display, or robot.
[1513] "Server" refers to a central system that receives data sent from a user's terminal, processes it, and performs tasks such as selecting the appropriate call recipient and generating an emergency message.
[1514] The system embodying this invention is composed of a user terminal and a server, and realizes the automation of various data collection, analysis, emotion recognition, and emergency contact.
[1515] 1. Data collection from users' devices
[1516] A user installs an application compatible with this system on their device and grants it permission to access their phone book data and call history. The device periodically saves this data in a local database and sends it to the server for synchronization.
[1517] 2. Data analysis by the server
[1518] The server receives the phone book data sent from the device and categorizes the contacts into family and friends, further defines the friend list based on past call history, and also retrieves the user's profile information and calendar information from the database.
[1519] 3. Emotional Recognition
[1520] The emotion engine installed on the user's device recognizes the user's emotional state in real time by analyzing the user's tone of voice, facial expressions, and text input, and can detect, for example, panic or high stress.
[1521] 4. Emergency detection and notification
[1522] The server automatically recognizes the user's emergency based on the emotion data sent from the emotion engine. If an emergency is detected, the server automatically sends an SMS message to pre-designated emergency contacts. This message contains information indicating an emergency situation and urging the user to contact the emergency contact immediately.
[1523] 5. Communication
[1524] The generated SMS message is sent to the user's device, where the user can receive and view the message, and tap the link to instantly call the selected contact.
[1525] Specific use cases
[1526] For example, if the emotion engine detects that the user is panicking, the server will send the following message to family and friends who are registered as emergency contacts:
[1527] "Emergency. User is panicking. Please contact us immediately."
[1528] Prompt Sentence Examples
[1529] "Build a system where, when a user is in an emergency, the emotion engine recognizes the user's emotions in real time and automatically sends a message to pre-designated emergency contacts. For example, if the user is in a panic, generate and send the following message:
[1530] "The user has an emergency. Please contact us immediately."
[1531] In this way, the present invention significantly improves the user's ability to respond to emergencies, which has been difficult with conventional communication systems, and makes it possible to provide faster and more effective assistance.
[1532] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1533] Step 1:
[1534] The user installs the application for this system on the device and grants permission to access the phone book data and call history. The device stores this data in a local database. Once the access permission is set, the device periodically collects the phone book data and call history.
[1535] Step 2:
[1536] The device sends the collected phone book data and call history to the server. The server receives this data and classifies contacts into family and friends based on the phone book data. For example, entries containing "father" or "mother" in the name field are classified as family.
[1537] Step 3:
[1538] The server analyzes past call history and classifies people you have frequently spoken to as friends. For example, someone you have called more than 10 times is registered as a friend. This process saves the phone book data and call history in a classified state in the server's database.
[1539] Step 4:
[1540] The emotion engine installed on the user's device analyzes the user's voice tone, facial expressions, text input, etc. in real time to recognize their emotional state. For example, it uses voice recognition technology and facial recognition technology to identify whether the user is feeling stressed.
[1541] Step 5:
[1542] The device sends the recognized emotion data to the server. The server receives the emotion data and determines whether an emergency situation has occurred. For example, if the user's emotion is recognized as "panic," it is determined to be an emergency situation.
[1543] Step 6:
[1544] If an emergency situation is detected, the server automatically generates an SMS message to the pre-specified emergency contacts. The message contains information about the emergency situation and a message urging them to contact the emergency contacts immediately. For example, the server could generate a message saying, "The user is in a panic. Please contact us immediately."
[1545] Step 7:
[1546] The server generates an SMS message and sends it to the user's device, which receives it. The emergency contacts based on the entry point are immediately notified, allowing the user to receive assistance quickly.
[1547] Step 8:
[1548] The user's device will display the received message as a notification, and the user can view the notification and tap the link in the message to immediately call the designated emergency contact.
[1549] In this way, data input and output at each step, and specific data processing and data calculation are performed, thereby providing the user with prompt and appropriate emergency support.
[1550] 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.
[1551] 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.
[1552] 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.
[1553] 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.
[1554] 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.
[1555] 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.
[1556] 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).
[1557] 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.
[1558] 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."
[1559] 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.
[1560] 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).
[1561] 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.
[1562] 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.
[1563] 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.
[1564] 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.
[1565] 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.
[1566] 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.
[1567] 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.
[1568] 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.
[1569] 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.
[1570] 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.
[1571] The following is further disclosed regarding the above embodiment.
[1572] (Claim 1)
[1573] means for acquiring phone book data and call history from a user's terminal;
[1574] A means for classifying the phone book data into family and friends based on the acquired data;
[1575] A means for selecting an appropriate call partner for a user based on the acquired call history and classified data;
[1576] means for generating an SMS message containing information about the selected call recipient;
[1577] means for sending the generated SMS message to a user's device;
[1578] A system including:
[1579] (Claim 2)
[1580] 10. The system according to claim 1, further comprising means for obtaining profile information and calendar information of a user and selecting an optimal call partner.
[1581] (Claim 3)
[1582] 10. The system of claim 1, further comprising: means for including a call link in the generated SMS message based on the selected call party information.
[1583] "Example 1"
[1584] (Claim 1)
[1585] means for obtaining contact data and call logs from a user's terminal;
[1586] A means of classifying contact data into relatives and friends based on the acquired contact data;
[1587] A means for selecting the most suitable call partner for a user based on the acquired call records and classified data;
[1588] means for generating a short message including information about the selected caller;
[1589] means for transmitting the generated short message to a user's terminal;
[1590] A system including:
[1591] (Claim 2)
[1592] 10. The system according to claim 1, further comprising means for obtaining profile information and calendar information of a user and selecting an optimal call partner.
[1593] (Claim 3)
[1594] 10. The system of claim 1, further comprising means for including a call link in the generated short message based on information about the selected call recipient.
[1595] "Application Example 1"
[1596] (Claim 1)
[1597] means for acquiring phone book data and call history from a user's terminal;
[1598] A means for classifying the phone book data into family and friends based on the acquired data;
[1599] A means for selecting an appropriate call partner for a user based on the acquired call history and classified data;
[1600] means for generating an SMS message containing information about the selected call recipient;
[1601] means for sending the generated SMS message to a user's device;
[1602] A means for selecting an optimal call partner in an emergency and transmitting the generated emergency message;
[1603] A system including:
[1604] (Claim 2)
[1605] 10. The system according to claim 1, further comprising means for obtaining profile information and calendar information of a user and selecting an optimal call partner.
[1606] (Claim 3)
[1607] 10. The system of claim 1, further comprising: means for including a call link in the generated SMS message based on the selected call party information.
[1608] "Example 2: Combining Emotion Engines"
[1609] (Claim 1)
[1610] means for acquiring data and history from a user's terminal;
[1611] A means of categorizing the data obtained;
[1612] A means for selecting a suitable partner for a user based on the acquired history and classified data;
[1613] means for generating a message including information about the selected party;
[1614] means for transmitting the generated message to a user's terminal;
[1615] A system including:
[1616] (Claim 2)
[1617] 10. The system of claim 1, further comprising means for acquiring personal and calendar information of the user and selecting the most suitable partner.
[1618] (Claim 3)
[1619] 10. The system of claim 1, further comprising means for recognizing an emotional state at the terminal.
[1620] (Claim 4)
[1621] 10. The system of claim 1, further comprising means for including a calling contact in the generated message based on the selected party information.
[1622] "Application example 2 when combining emotion engines"
[1623] (Claim 1)
[1624] means for acquiring phone book data and call history from a user's terminal;
[1625] A means for classifying the phone book data into family and friends based on the acquired data;
[1626] A means for selecting an appropriate call partner for a user based on the acquired call history and classified data;
[1627] means for generating an SMS message containing information about the selected call recipient;
[1628] means for sending the generated SMS message to a user's device;
[1629] a means for detecting an emergency situation using an emotion engine that recognizes a user's current emotional state in real time;
[1630] A means to automatically send SMS messages to pre-designated emergency contacts when an emergency situation is detected;
[1631] A system including:
[1632] (Claim 2)
[1633] 10. The system according to claim 1, further comprising means for obtaining profile information and calendar information of a user and selecting an optimal call partner.
[1634] (Claim 3)
[1635] 10. The system of claim 1, further comprising: means for including a call link in the generated SMS message based on the selected call party information. [Explanation of symbols]
[1636] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for acquiring phone book data and call history from a user's terminal; A means for classifying the phone book data into family and friends based on the acquired data; A means for selecting an appropriate call partner for a user based on the acquired call history and classified data; means for generating an SMS message containing information about the selected call recipient; means for sending the generated SMS message to a user's device; A system including:
2. 2. The system of claim 1, further comprising means for obtaining profile information and calendar information of a user and selecting an optimal call partner.
3. 10. The system of claim 1, further comprising means for including a call link in the generated SMS message based on the selected call party information.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A