System
The system automates the checking and notification of undelivered emails by filtering and comparing against a scheduled list, enhancing efficiency and reducing errors in email communication.
Patent Information
- Application Number
- JP2024118133
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-23
- Publication Date
- 2026-02-04
AI Technical Summary
The manual checking of undelivered emails and communication tasks via email is time-consuming and prone to human error, especially for companies with large volumes of emails, reducing work efficiency.
A system that periodically checks emails for specific keywords, verifies non-delivery against a scheduled recipient list, and generates automatic notification emails, storing filtered emails in a database for comparison and dynamic information insertion.
Automates the confirmation of missed invoices and notifications, improving business efficiency and reducing human error by ensuring timely and accurate communication.
Smart Images

Figure 2026017351000001_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] The problem that this invention aims to solve is to improve business efficiency by automating the checking of undelivered emails and communication tasks when exchanging invoices via email. Conventionally, the process of having a person manually check received emails to see if there are any undelivered emails is time-consuming and prone to human error. This process is particularly burdensome for companies that send and receive large volumes of emails from multiple business partners. The purpose of this invention is to solve these problems. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by using the following means. A system is provided that includes a means for periodically checking emails received at a specific email address, a means for filtering received emails containing specific keywords, a means for confirming that emails scheduled to be received on a specific date have not yet arrived, and a means for generating and sending automatic notification emails regarding the missed emails. This automates the confirmation of missed invoices and notification to companies, improving work efficiency and reducing human error. Furthermore, by including a means for storing filtered emails in a database and comparing them with a scheduled recipient list, and a means for dynamically inserting information regarding missed emails using an automatic notification email template, even greater accuracy and efficiency can be achieved.
[0006] A "specific email address" refers to one or more email addresses set up by a company or individual and used for a specific purpose.
[0007] "Periodic checking means" refers to a set of technical means that automatically access the mail server at regular intervals and execute a process to check for new mail.
[0008] "Filtering methods" refers to technical means of analyzing the subject and body of incoming emails and selecting emails that match specific keywords or conditions.
[0009] "Email that was expected to be received on a specific date" refers to a specific email that is expected to be received by a predetermined date.
[0010] "Means for verifying non-delivery" refers to the technical means for detecting non-delivery when an expected email is not received by a specified date by comparing it with the recipient list.
[0011] "Means for generating and sending automatic notification emails" refers to the technical means for automatically generating the content of a notification email based on information about undelivered emails and sending it to a specified email address.
[0012] "Means for storing in a database" refers to the technical means for storing filtered email data in a structured database for later access and analysis.
[0013] A "scheduled recipient list" is a list of emails that are expected to be received by a specific date.
[0014] "Means for matching" refers to the technical means by which received emails are compared with the to-do list to determine whether they match.
[0015] A "template" is a format for writing contact information regarding undelivered emails, and refers to a fixed phrase used to dynamically embed specific information.
[0016] "Dynamic insertion means" refers to a set of technical means that executes the process of automatically filling in the required information in a template. [Brief explanation of the drawings]
[0017] [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
[0018] 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.
[0019] First, the terms used in the following description will be explained.
[0020] 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).
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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."
[0025] [First embodiment]
[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0027] 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.
[0028] 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).
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] 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.
[0035] 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.
[0036] 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.
[0037] 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."
[0038] The system of the present invention aims to streamline corporate email operations by confirming receipt of invoices sent to specific email addresses and automatically notifying users of undelivered emails. This system is comprised of multiple components and processes, which are described in detail below.
[0039] Program processing explanation
[0040] Email Reception Confirmation
[0041] The server is configured to periodically check the specified email address. For example, it will access the mail server at 9:00 AM every day to check for new emails. It will connect and log in using the mail server's authentication information.
[0042] Email filtering
[0043] The server analyzes the subject and body of the received email and filters out emails containing specific keywords (e.g., "invoice" or "INVOICE"). The filtered emails are then stored in a database in a structured format for each email.
[0044] Undelivered confirmation
[0045] The server compares the filtering results with a pre-registered list of recipients. It checks whether the emails scheduled to be sent by each business partner by the specified date have been received. If the comparison reveals that the emails have not been received, it adds the information to the list of undelivered emails.
[0046] Generate and send automatic email notifications
[0047] The server dynamically inserts the undelivered information into a specific template based on the undelivered list and generates a notification email. For example, it generates an automatic notification email like this:
[0048] Subject: Notification of undelivered invoice
[0049] Contents:
[0050] Customer Name
[0051] To the person in charge
[0052] thank you always.
[0053] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0054] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0055] XX Co., Ltd.
[0056] The server will automatically send the generated email to the specified email address, and the sending record will be recorded in detail in the log file.
[0057] Specific examples
[0058] For example, suppose a user is scheduled to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are saved in the database and compared with the list of emails to be received. If an email that should be received by October 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a notification email to the specified contact person.
[0059] In this way, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends automatic email notifications, significantly improving business efficiency and reducing human error.
[0060] By combining the above processing steps, the present invention provides a system that can improve the efficiency and reliability of a company's invoice delivery confirmation and communication operations.
[0061] The processing flow will be explained below.
[0062] Step 1: Connect to your mail server
[0063] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[0064] The server logs in to the mail server using pre-registered authentication information (username and password).
[0065] Step 2: Confirm receipt of email
[0066] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[0067] The server stores the list of retrieved emails in its internal memory.
[0068] Step 3: Filtering email
[0069] The server analyzes the subject and body of the retrieved email.
[0070] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[0071] Step 4: Saving to the Database
[0072] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[0073] The server generates a confirmation log to confirm that the save was successful.
[0074] Step 5: Check for undelivered items
[0075] The server compares the pre-registered recipient list with the filtering results stored in the database.
[0076] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[0077] Step 6: Generate automated email notifications
[0078] The server generates an automatic notification email using a specified template based on the undelivered email list.
[0079] Information such as the customer name, delivery date, and resend request is dynamically inserted into the template.
[0080] Step 7: Send a contact email
[0081] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[0082] The server records the transmission result in a log file.
[0083] Step 8: Finalize the process
[0084] The server confirms that all processing has been completed successfully and creates a completion report.
[0085] The server, depending on its configuration, sends this report to the system administrator.
[0086] By performing the above steps, the system of the present invention can efficiently execute the process of checking for undelivered invoices and automatically notifying companies.
[0087] Example 1
[0088] 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."
[0089] In corporate email operations, tasks such as checking receipt of invoices and managing undelivered emails are often done manually, which reduces work efficiency and increases the likelihood of human error. To solve these issues, there is a need for a system that can automatically check and filter emails and automatically notify users of undelivered emails.
[0090] 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.
[0091] In this invention, the server includes a means for periodically checking email addresses, a means for analyzing the subject and text of received emails to filter out emails containing specific keywords, a means for checking undelivered emails against a pre-registered list of email recipients, and a means for generating and sending automatic notification emails based on the list of undelivered emails. This makes it possible to automate email-related tasks, significantly improve business efficiency in companies, and reduce human error.
[0092] The "means for periodically checking a specific email address" is a function that accesses a specified email address at a set time interval and checks for newly received emails.
[0093] "A means of analyzing the subject and body of received emails and filtering out emails containing specific keywords" is a function that detects specific strings or phrases contained in the content of received emails and selects relevant emails based on that.
[0094] "A means of checking against a pre-registered list of emails to be received and confirming that emails that were scheduled to be received on a specific date have not arrived" is a function that compares a pre-set email reception schedule with the actual reception status and detects when scheduled emails have not been received.
[0095] "Means for generating and sending automatic notification emails regarding undelivered emails based on the undelivered email list" is a function that creates a notification email by inserting the necessary information into a pre-prepared template based on the undelivered email information, and then sends it to a specified address.
[0096] "Means for storing filtered emails in a database and comparing them with the scheduled recipient list" is a function for storing email information extracted by filtering in a database and then comparing it with the scheduled recipient list.
[0097] "Means for dynamically inserting information about undelivered emails using an automatic notification email template" is a function that embeds dynamically generated information about undelivered emails in the fixed part of a notification email created in template format.
[0098] The system of the present invention is designed to streamline corporate email operations, by checking invoices received at specific email addresses and automatically notifying users of undelivered emails. This system is primarily run by a server and uses the following hardware and software:
[0099] Hardware and Software Configuration
[0100] The server has the following hardware and software configuration:
[0101] Hardware: A typical server machine, including CPU, memory, hard disk drive, and network interface.
[0102] Software: The following software components are used:
[0103] OS: Linux or Windows Server.
[0104] Mail server connection library: "imaplib" or "poplib" for using the IMAP or POP3 protocol.
[0105] Database: MySQL or PostgreSQL.
[0106] Programming language: Python.
[0107] Template engine: Jinja2.
[0108] SMTP library: smtplib.
[0109] Process Overview
[0110] The server periodically checks specific email addresses and analyzes the subject and body of newly received emails. Emails containing specific keywords (e.g., "invoice" or "INVOICE") are filtered and stored in a database. It also checks against a pre-registered list of recipients to confirm that emails scheduled to be received on a specific date have not yet arrived. If it is determined that an email has not yet arrived, it generates and sends an automatic notification email based on a template.
[0111] Specific examples
[0112] For example, suppose a user is scheduled to receive an invoice by October 1st. The server will run at 9:00 AM on October 2nd, connect to the mail server, and retrieve new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It will then filter out emails that contain "invoice" or "INVOICE" in the subject or body, and store them in a database. The information stored in the database will be compared with the list of emails to be received, and if it is determined that there are any emails that have not yet arrived, it will use that information to generate an automatic notification email and send it to the business partner.
[0113] Example of input prompt for generative AI model
[0114] 1. "Can you give me an example of a Python program that filters emails containing specific keywords and stores them in a database?"
[0115] 2. "Please explain the detailed steps to create an automatic notification system for missed emails."
[0116] 3. "Please tell me the details of how to implement an automated email sending program to streamline company invoicing."
[0117] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0118] Step 1: Check that you received the email
[0119] The server periodically accesses a specific email address at a set time (for example, every day at 9:00 AM). As input, the server uses the connection information to the mail server (email address, password, IMAP or POP3 server address). The server connects to the mail server using the IMAP or POP3 protocol and logs in. If the login is successful, it checks for new emails and retrieves a list of them. As output, it gets a list of new emails (email ID, subject, body, sender information, etc.).
[0120] Step 2: Filtering email
[0121] The server parses the subject and body of each email from the list of new emails it has retrieved. It uses the list of new emails as input. The server uses regular expressions to check whether a specific keyword (e.g., "invoice" or "INVOICE") is included. Emails that include the keyword are extracted and filtered. This filtered email information (e.g., email ID, subject, body, sender information, received date and time, etc.) is output and stored in a database.
[0122] Step 3: Check for undelivered items
[0123] The server compares the filtering results stored in the database with the pre-registered list of expected recipients. The filtered email information and the expected recipient list are used as input. The server uses an SQL query to compare the email data with the expected recipient list to see if the email has arrived by the scheduled date. If the corresponding email has not arrived by the specified date, the client's information is added to the list of undelivered emails. The list of undelivered emails is obtained as output.
[0124] Step 4: Generate automated email notifications
[0125] The server generates an automatic notification email based on the list of missed messages. It uses the list of missed messages and a notification email template as input. The server uses a template engine (Jinja2) to dynamically insert the necessary information into the template and generate the automatic notification email. An example of the generated notification email is as follows:
[0126] Subject: Notification of undelivered invoice
[0127] Contents:
[0128] Customer Name [Business Partner Name]
[0129] To the person in charge
[0130] thank you always.
[0131] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0132] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0133] XX Co., Ltd.
[0134] The output is the generated email notification.
[0135] Step 5: Send a contact email
[0136] The server sends the generated contact email to the specified contact's email address. It uses the generated contact email and the contact's email address as input. The server sends the contact email using the SMTP protocol (using the smtplib library). If the transmission is successful, it saves a detailed record of the success in a log file. As output, a transmission log is generated.
[0137] Through the above processing steps, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends notification emails, greatly improving the business efficiency of companies.
[0138] (Application example 1)
[0139] 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."
[0140] Corporate email operations, especially when it comes to confirming receipt of invoices and dealing with undelivered emails, are prone to human error and oversights, resulting in reduced operational efficiency. Another problem is that when an undelivered email is added to a list, the person in charge is not immediately notified, which can lead to delayed responses. Timely confirmation is especially important in operations such as logistics centers, so solving these issues is essential.
[0141] 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.
[0142] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, and means for immediately notifying the recipient of information about the missed emails. This automatically confirms the receipt, filtering, and delivery of emails, as well as generates and sends automatic notification emails, significantly improving the efficiency of a company's email operations, reducing human error and enabling immediate responses.
[0143] A "specific email address" is an email address designated to receive emails related to a specific company or business.
[0144] A "periodic check method" is a process or system that accesses an email server at regular intervals to check for new incoming emails.
[0145] "Specific keywords" are words or phrases contained in the subject or body of an email that serve as the basis for filtering.
[0146] A "filtering method" is a process or system that analyzes the content of received emails and determines whether they contain specific keywords.
[0147] "Emails that were scheduled to be received on a specific date" are emails that are expected to be sent by a specific date based on a pre-registered list.
[0148] A "means for verifying non-delivery" is a process or system that checks the list of expected recipients against the emails actually received to determine whether the expected emails have not arrived.
[0149] An "automatic notification email regarding undelivered email" is an automatically generated notification email to notify relevant parties about email that was scheduled to be received but has not yet arrived.
[0150] The "means for sending" is the process or system that sends the generated automated email to the designated recipient.
[0151] "Means for storing in a database" means a process or system for recording filtered emails and related data in a structured format in a database.
[0152] "Means for checking against the scheduled receiving list" refers to the process or system that compares and verifies the actual received content against the pre-registered scheduled receiving list.
[0153] "Means for immediate notification" refers to processes or systems that inform the person in charge of undelivered emails in real time and encourage a prompt response.
[0154] A system for implementing this invention comprises a server and a client device (e.g., a smartphone or tablet). In this system, the server processes data and performs calculations using the following hardware and software.
[0155] Hardware
[0156] 1. Mail Server: Handles receiving and sending emails.
[0157] 2. Database server: Stores filtered email data, recipient lists, sending records, etc.
[0158] 3. Server computer: Checks email receipt, filters, checks for non-delivery, and generates and sends automatic notification emails.
[0159] software
[0160] 1. IMAP library: Use a library such as imaplib (Python) to retrieve emails from the email server.
[0161] 2. Email analysis library: Use a library such as email (Python) to analyze the subject and body of the email.
[0162] 3. Email sending library: Use a library such as smtplib (Python) to send automatically generated contact emails.
[0163] 4. Schedule library: Use a library like schedule (Python) to check email periodically.
[0164] The server accesses the email server at regular intervals to check for new emails. It then filters out emails containing problematic keywords (e.g., invoices) and stores them in a database. This allows it to check for missing emails against the list of emails it expects to receive. If an email that should be received by a specific date has not arrived, it uses that information to generate and send an automatic notification email.
[0165] Specific processing flow
[0166] 1. Periodic check: The server periodically accesses the mail server to retrieve new incoming emails, for example, every hour.
[0167] 2. Email analysis and filtering: Analyzes received emails to see if they contain specific keywords and filters out the corresponding emails.
[0168] 3. Database storage: The filtered email information is stored in a database and matched with the recipient list.
[0169] 4. Check for undelivered emails: Compare the scheduled receiving list with the actual received emails, and if there are any undelivered emails, add the information to the undelivered list.
[0170] 5. Automatic generation and sending of contact emails: Automatically generate contact emails based on the undelivered list and send them to relevant parties.
[0171] 6. Instant notification: Notify the person in charge of missed emails in real time.
[0172] Specific examples
[0173] For example, suppose a person in charge at a logistics center is scheduled to receive an invoice by December 1st. The server runs at 9:00 AM on December 2nd, connects to the email server, and retrieves new emails from the past 24 hours (from 9:00 AM on December 1st to 9:00 AM on December 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are stored in a database and compared with the list of emails to be received. If an email that should be received by December 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a contact email to the specified contact person, and also notifies the person of the information in real time.
[0174] Example prompts to input to the generative AI model
[0175] "Please analyze the following email receipt programs and optimize them for your distribution center operations:
[0176] Program Overview:
[0177] The server periodically checks your email account and filters out emails containing specific keywords (e.g., invoice, INVOICE).
[0178] The filtered emails are stored in a database and a list of missed emails is generated.
[0179] Based on the missed emails, a notification email will be automatically generated and sent.
[0180] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0181] Step 1:
[0182] The server periodically contacts the email server at a specified interval to retrieve new mail from the inbox. This operation uses an IMAP library (e.g. imaplib) to connect to the mail server with authentication information and download the new mail.
[0183] Input: Mail server credentials, check interval
[0184] Output: List of new incoming emails
[0185] What happens: On a regular schedule, the server contacts the mail server, logs in with credentials, and checks the inbox.
[0186] Step 2:
[0187] The server analyzes the subject and body of the received email and filters emails that contain specific keywords (e.g., invoice, INVOICE). For this operation, an email analysis library (e.g., email) is used.
[0188] Input: List of new incoming emails, filtering keywords
[0189] Output: List of filtered emails
[0190] Specific operation: The server analyzes the subject and body of each email, checks whether it contains specific keywords, and extracts the corresponding emails.
[0191] Step 3:
[0192] The server stores the filtered emails in a database by connecting to a database server and recording the email metadata and content in a structured format.
[0193] Input: List of filtered emails
[0194] Output: Email data stored in the database
[0195] What happens: The server establishes a database connection and stores the content of the filtered email.
[0196] Step 4:
[0197] The server checks the pre-registered list of emails to be received against the emails that have actually been received, and confirms whether any emails that should be received by a specific date have yet to arrive.
[0198] Input: Email data stored in the database, recipient list
[0199] Output: List of missing emails
[0200] What happens: The server compares the mail in the database with the mail list to see if there are any messages that have not yet arrived.
[0201] Step 5:
[0202] The server generates an automatic notification email based on the undelivered email. Here, the notification email is created by dynamically inserting the information about the undelivered email into a template.
[0203] Input: List of undelivered emails, contact email template
[0204] Output: Generated contact email
[0205] Specific operation: The server dynamically generates a template based on the list of undelivered emails and creates an automatic notification email.
[0206] Step 6:
[0207] The server then sends the generated email to the specified recipients, using an email sending library (e.g. smtplib).
[0208] Input: Generated contact email, recipient list
[0209] Output: Transmission record (log file)
[0210] Specific operation: The server uses the email sending library to send a notification email to the recipient and records the result in a log file.
[0211] Step 7:
[0212] The server sends push notifications to smartphones and tablets to notify the person in charge in real time about missed emails.
[0213] Input: List of missed emails
[0214] Output: Notification message for the person in charge
[0215] Specific operation: The server generates a notification message based on the list of undelivered emails and sends it to the person in charge's smartphone.
[0216] In this way, the server provides a system that, through a series of steps, enables companies to improve the efficiency of their email operations and provide quick responses.
[0217] 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.
[0218] This invention is a system for improving the efficiency of corporate e-mail operations, and in particular, combines a function for checking whether an invoice has arrived and automatic notification, with an emotion engine that analyzes the user's emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[0219] Program processing explanation
[0220] Email Reception Confirmation
[0221] The server is configured to periodically check a specified email address, for example, at 9:00 AM each day, to access the mail server and check for new emails. It connects and logs in using authentication information (username and password).
[0222] Email filtering
[0223] The server analyzes the subject and body of the received email. It filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords. The filtered emails are then stored in a database.
[0224] Undelivered confirmation
[0225] The server checks the filtered email against a pre-defined list of recipients to determine if any emails that were due to arrive on a particular date have not arrived. If they have not, the information is added to the list.
[0226] Tailoring email communications through sentiment analysis
[0227] When generating a contact email based on the undelivered list, the server analyzes the user's emotions using an emotion engine, which determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on the content of past communications and the current context.
[0228] Depending on the analysis results, the server dynamically adjusts the content and expression of the contact email. For example, if the emotion engine determines that the user is feeling stressed, it will soften the tone of the email and express the request in a softer manner. This function ensures effective communication without causing discomfort to the recipient.
[0229] Sending automatic email notifications
[0230] Once a contact email is generated, the server automatically sends it to the email addresses of the missed contacts, with detailed logging of the sending results.
[0231] Accumulation and utilization of emotional data
[0232] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[0233] Specific examples
[0234] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[0235] The server uses an emotion engine to analyze the user's emotions and adjust the content of the email as needed. For example, if the server determines that the user is prone to stress, it generates the following email:
[0236] Subject: Notification of undelivered invoice
[0237] Contents:
[0238] Customer Name
[0239] To the person in charge
[0240] thank you always.
[0241] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0242] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0243] XX Co., Ltd.
[0244] In this way, the server utilizes the emotion engine to check receipt of emails, filter them, check if they have arrived, and generate and send emails in response to emotions, thereby improving the efficiency of a company's operations and realizing effective communication with users.
[0245] The processing flow will be explained below.
[0246] Step 1: Connect to your mail server
[0247] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[0248] The server logs in to the mail server using pre-registered authentication information (username and password).
[0249] Step 2: Confirm receipt of email
[0250] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[0251] The server stores the list of new mails it has acquired in its internal memory.
[0252] Step 3: Filtering email
[0253] The server analyzes the subject and body of the retrieved email.
[0254] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[0255] Step 4: Saving to the Database
[0256] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[0257] The server confirms that the save is complete and generates a confirmation log.
[0258] Step 5: Check for undelivered items
[0259] The server compares the pre-registered recipient list with the filtering results stored in the database.
[0260] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[0261] Step 6: Analyzing user sentiment
[0262] The server uses an emotion engine to analyze the user's emotions.
[0263] The server determines the user's emotional state (e.g., stress, anxiety, contentment, etc.) based on past communications and current context.
[0264] Step 7: Generate automated email notifications
[0265] The server generates an automatic notification email using a specified template based on the undelivered email list.
[0266] The server dynamically adjusts the content and expression of the email based on the results of the user's emotion analysis.
[0267] For example, if it is determined that the user is feeling stressed, the tone of the contact email will be softened and the content of the request will be expressed in a softer manner.
[0268] Step 8: Send a contact email
[0269] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[0270] The server records the transmission result in a log file.
[0271] Step 9: Accumulating Emotional Data
[0272] The server stores the user's emotional data analyzed by the emotion engine and uses it as a reference for future communications.
[0273] The server will build a long-term database and use it to improve user satisfaction.
[0274] In this way, the system of the present invention specifically implements a series of processes for checking email receipts, filtering, checking for non-delivery, analyzing emotions, and generating and sending automatic email notifications, thereby significantly improving business efficiency and achieving higher levels of satisfaction through effective communication with users.
[0275] Example 2
[0276] 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."
[0277] Conventional email management systems check received emails and notify users of undelivered emails to improve business efficiency, but they do not achieve efficient and effective communication. Furthermore, they send automatic notification emails without considering the user's emotional state, which can be unpleasant for the recipient. This leads to a decrease in user satisfaction and an inability to provide effective business support.
[0278] 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.
[0279] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, means for analyzing the user's emotional state, means for dynamically adjusting the content of the notification email based on the emotion analysis results, means for recording the results of sending the notification email, and means for accumulating emotion data and utilizing it for future communications. This improves the accuracy and efficiency of corporate email operations and enables effective communication that reflects the user's emotions.
[0280] "Means for periodically checking for mail received at a specific email address" refers to a device or software that periodically accesses a mail server and checks for new mail received at a specified email address.
[0281] "Means for filtering emails containing specific keywords from received emails" refers to a processing device or software that analyzes the subject and body of emails and selects emails that contain pre-set keywords.
[0282] "Means for confirming that emails that were scheduled to be received on a specific date have not yet arrived" refers to a device or software that compares the actual reception results with a pre-registered list of emails to be received and checks whether any emails have not been received by the scheduled date.
[0283] "Means for generating and sending automatic notification emails regarding undelivered emails" refers to a device or software that automatically creates notification emails based on information about undelivered emails and sends them to the appropriate contacts.
[0284] "Means for analyzing a user's emotional state" refers to technology or software for analyzing and assessing a user's emotional state based on past communications and current context.
[0285] "Means for dynamically adjusting the content of notification emails based on the results of emotion analysis" refers to a device or software that appropriately changes the tone and content of notification emails based on the results of user emotion analysis.
[0286] "Means for recording the results of sending the notification email" refers to a device or software for recording in a log whether the generated notification email was sent correctly.
[0287] "Means for accumulating emotional data and utilizing it in future communications" refers to a device or software that stores analyzed emotional data in a database or the like and utilizes it in future email generation and communication strategies.
[0288] This invention is a system that aims to improve the efficiency of corporate e-mail operations, and in particular has the function of checking for and automatically notifying undelivered invoices, and also combines it with an emotion engine that analyzes user emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[0289] The system is mainly composed of a server, terminals, and various hardware and software operated by users. The specific operation and technologies used are explained below.
[0290] Email Reception Confirmation
[0291] The server periodically checks the specified email address. To achieve this, the server accesses the mail server (e.g., Gmail or Microsoft Exchange) using the IMAP or POP3 protocol and logs in using authentication information (username and password).
[0292] Email filtering
[0293] The server analyzes the subject and body of received emails and filters emails containing specific keywords (e.g., "invoice" or "INVOICE"). This analysis is performed using a natural language processing (NLP) library (e.g., NLTK or spaCy). The filtered emails are then stored in a database (e.g., MySQL or PostgreSQL).
[0294] Undelivered confirmation
[0295] The server checks the filtered email against a pre-defined list of recipients (e.g., an Excel spreadsheet or CSV file) to see if any emails that were due to arrive on a particular date have not arrived. If they have not, the emails are added to the list.
[0296] Tailoring email communications through sentiment analysis
[0297] When generating a notification email based on the undelivered list, the server uses an emotion engine to analyze the user's emotions. The emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on past communications and current context. Based on the results of this analysis, the server can dynamically adjust the content and wording of the notification email.
[0298] Sending automatic email notifications
[0299] The generated emails are automatically sent by the server to the email addresses of the missing contacts, and the results of this sending process are logged in detail.
[0300] Accumulation and utilization of emotional data
[0301] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[0302] Specific examples
[0303] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[0304] The server uses an emotion engine to analyze the user's emotions and adjust the content of the notification email as needed. If the user is judged to be prone to stress, the server generates a notification email like this:
[0305] text
[0306] Subject: Notification of undelivered invoice
[0307] Contents:
[0308] Customer Name
[0309] To the person in charge
[0310] thank you always.
[0311] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0312] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0313] Company name
[0314] In this way, the efficiency of business operations of a company can be improved and effective communication with users can be achieved through confirmation of receipt of emails, filtering, confirmation of non-delivery, and generation and sending of communication emails according to emotions.
[0315] Prompt Sentence Examples
[0316] The following prompts can be fed into the generative AI model to provide instructions for sentiment analysis and email generation:
[0317] If the user has missed an invoice they are due to receive, generate a notification email based on the following emotional state:
[0318] If the user is stressed: Soften your tone and phrase your request softly.
[0319] If the user is happy: Generate an email in a standard tone.
[0320] Using this prompt sentence, a system can be constructed in which a generative AI model generates an appropriate contact email based on the user's emotional state.
[0321] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0322] Step 1:
[0323] The server connects to the mail server
[0324] Input: Authentication information (username and password), mail server address
[0325] What happens: The server accesses the mail server using the IMAP or POP3 protocol and logs in using the specified credentials. For example, when connecting to Gmail's IMAP server, the server connects securely using IMAP4_SSL.
[0326] Output: Connection established, mail folder selection in mail server completed.
[0327] Step 2:
[0328] Server retrieves new mail
[0329] Input: Email folder on the connected email server, search criteria (e.g., emails from the last 24 hours)
[0330] Specific operation: The server uses a search command to get the IDs of new emails received within the specified period, creates a list of email IDs, and accesses the new emails.
[0331] Output: A list of new email IDs, along with the body and subject of each email.
[0332] Step 3:
[0333] The server parses the email subject and body
[0334] Input: List of new email IDs, body and subject of each email
[0335] What it does: The server uses a natural language processing (NLP) library (e.g., NLTK or spaCy) to parse the subject and body of each email, checking for specific keywords (e.g., "invoice" or "INVOICE") and filtering them.
[0336] Output: A list of filtered emails.
[0337] Step 4:
[0338] The server stores the filtered emails in a database
[0339] Input: List of filtered emails
[0340] What it does: The server stores the filtered emails in a database (e.g. MySQL, PostgreSQL) along with the necessary metadata.
[0341] Output: Filtered email entries stored in the database.
[0342] Step 5:
[0343] The server checks the list of recipients
[0344] Input: Filtered emails stored in a database, recipients list (e.g. Excel sheet or CSV file)
[0345] Specific operation: The server checks the expected recipient list against the database to see if any emails have not been received by the expected date. If any emails have not been received, they are added to the undelivered list.
[0346] Output: Undelivered list.
[0347] Step 6:
[0348] The server uses an emotion engine to analyze the user's emotions.
[0349] Input: Missing messages list, past communication contents and current context (text data)
[0350] Specific operation: The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) to analyze the user's emotional state. Based on the analysis results, the server determines the user's emotional state.
[0351] Output: User sentiment analysis results.
[0352] Step 7:
[0353] The server generates a contact email based on the results of the sentiment analysis.
[0354] Input: Undelivered list, user sentiment analysis results
[0355] Specific operation: The server dynamically adjusts the content and tone of the email depending on the results of emotion analysis. For example, if the user is feeling stressed, the email content will be softened.
[0356] Output: The generated contact email.
[0357] Step 8:
[0358] The server sends a notification email
[0359] Input: Generated contact email, contact email address
[0360] Specific operation: The server automatically sends the generated contact email to the contact's email address. The sending result is recorded in a detailed log.
[0361] Output: Sending log.
[0362] Step 9:
[0363] The server accumulates emotional data and uses it for future communication.
[0364] Input: User sentiment analysis results
[0365] Specific operation: The server stores the analyzed emotional data in a database and uses it to generate future contact emails and for communication strategies.
[0366] Output: Accumulated emotion data.
[0367] In this way, the system streamlines corporate email processing operations and enables effective communication that responds to users' emotions.
[0368] (Application example 2)
[0369] 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."
[0370] Inventory management and confirmation of part orders and receipts are important tasks in modern factories and companies. However, with the increase in communication via email, there are cases where confirmation of orders and receipts is delayed or notifications of non-delivery are not properly sent, resulting in a decrease in work efficiency. Another issue is that these tasks can be stressful for employees. To address this issue, there is a need to develop a system that automates these tasks and communicates in a way that takes employees' feelings into consideration.
[0371] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for periodically checking electronic communications received at a specific email address, means for filtering received electronic communications for those containing specific keywords, means for confirming that electronic communications scheduled to be received on a specific date have not yet arrived, means for generating and sending an automatic notification regarding the missed electronic communications, and means for analyzing employee emotions and adjusting the content of the automatic notification based on the analysis results. This improves the efficiency of inventory management and order / receipt confirmation tasks, and enables effective communication that takes employee emotions into consideration.
[0372] "Electronic Communications" means information sent or received via email or other digital messaging services.
[0373] A "checking means" is a mechanism for periodically accessing a particular email address to check for newly received electronic communications.
[0374] "Filtering means" is a function that analyzes the subject and body of received electronic communications and selects only those that contain specific keywords.
[0375] A "measure for verifying receipt" is a process for checking filtered electronic communications against a pre-established list of recipients to determine whether any communications have not been verified as received by a predetermined date.
[0376] An "automated notification generating and sending means" is a system that generates and automatically sends notifications using pre-defined templates based on information about identified missing electronic communications.
[0377] "Means to analyze emotions and adjust content" refers to a function that analyzes an employee's past communications and current context to determine the employee's emotional state, and appropriately changes the content and tone of automated notifications based on the results.
[0378] "Information storage means" means a system that stores filtered electronic communications in a storage device such as a database.
[0379] "Means for checking against recipient lists" refers to the process of checking stored electronic communications against a pre-established scheduled recipient list to identify any missed communications.
[0380] This invention is a system for managing electronic communications in companies and factories, and for streamlining inventory management and order and receipt confirmation tasks. It periodically checks electronic communications received at a specific email address, filters communications containing specific keywords, checks for undelivered communications, and generates and sends automatic notifications based on sentiment analysis as needed. A specific embodiment of this system is described below.
[0381] System Configuration
[0382] 1. Hardware Configuration
[0383] The system of the present invention includes the following hardware configuration.
[0384] Mail Server: The server that manages the mailboxes for specified email addresses.
[0385] Database Server: A server that manages a database for storing filtered electronic communications and recipient lists.
[0386] Edge devices (such as factory robots): Devices that periodically check electronic communications for filtering and delivery.
[0387] User Device: The device (PC, smartphone, etc.) used by the employee to receive notifications.
[0388] 2. Software Configuration
[0389] The system of the present invention includes the following software components:
[0390] IMAP client: Client software for connecting to a mail server and retrieving electronic communications.
[0391] SMTP client: Client software for sending notification emails.
[0392] Filtering Module: Software for filtering received electronic communications for specific keywords.
[0393] Emotion Engine: Software that analyzes employee emotions and adjusts notification content.
[0394] Database Management System: Software that manages electronic communications and recipient lists.
[0395] System Implementation
[0396] 1. Regularly Check Your Electronic Communications
[0397] The edge device uses an IMAP client to periodically check the inbox of a specified email address, for example, at 9:00 AM each day for new electronic communications.
[0398] 2. Filtering Methods
[0399] The filtering module analyzes the received electronic communications and selects those that contain specific keywords such as "invoice" or "INVOICE" in the subject or body of the communications. These communications are then stored in a database server.
[0400] 3. How to confirm that the package has not arrived
[0401] The edge device checks the filtered electronic communications against the expected list to see if any communications have not been received within a given timeframe. If a missed communication is identified, the information is added to the missed list.
[0402] 4. Sentiment analysis and content adjustment
[0403] The emotion analysis engine analyzes the content and context of the employee's past communications to determine their current emotional state. For example, if it determines that the employee is feeling stressed, it will adjust the content and tone of the notification email to be gentler.
[0404] 5. Means of generating and sending automated notifications
[0405] Using an SMTP client, the generated notification email is automatically sent to the sender of the missed communication. Detailed sending results are recorded in a log and notified to the user's terminal as necessary.
[0406] Specific examples
[0407] For example, suppose a user is scheduled to receive delivery of a certain part by October 1st. If it is currently 9:00 AM on October 2nd, the edge device connects to the mail server and checks for new electronic communications that have arrived within the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). If no electronic communications containing the keyword "invoice" or "INVOICE" have arrived during this time, an email notification of the missed delivery is generated.
[0408] The following prompt sentence examples are also provided:
[0409] "If you ask a user to confirm the delivery of a certain part, but it doesn't arrive, please perform sentiment analysis and generate a notification email in a gentle tone to request a re-delivery if the user feels stressed."
[0410] In this way, the present invention improves the efficiency of inventory management and order / receipt confirmation operations, and realizes effective communication that takes into consideration the feelings of employees.
[0411] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0412] Step 1:
[0413] The server periodically accesses the inbox of a specified email address using an IMAP client to retrieve new email communications. The input is the mail server's authentication information (username, password) and the email data in the inbox. As a process, it connects to the mail server using the IMAP protocol and retrieves new email communications within a specified period. The output is the data of the newly received email communications.
[0414] Step 2:
[0415] The server uses a filtering module to filter out electronic communications containing specific keywords (e.g., invoice, INVOICE) based on the subject and body of the electronic communications obtained in step 1. The input is the data of newly received electronic communications. As a process, the subject and body of the electronic communications are analyzed to check whether the specified keywords are included. The output is the data of electronic communications containing the specific keywords.
[0416] Step 3:
[0417] The server stores the filtered electronic communications in a database and compares the filtering results with the list of intended recipients. The inputs are the filtered electronic communications and the list of intended recipients. The processing involves recording the filtered electronic communications in a database and comparing their contents with the list of intended recipients. The output is a list of missed electronic communications.
[0418] Step 4:
[0419] The server analyzes the user's emotions using an emotion analysis engine based on the missing electronic communications. The input is a list of missing electronic communications and the user's past communication history. The processing uses the emotion analysis engine (EmotionEngine) to analyze the user's past communication history and determine the user's current emotional state. The output is the user's emotional state (e.g., stress, anxiety, satisfaction, etc.).
[0420] Step 5:
[0421] The server generates an automatic notification with an appropriate tone based on the results of the sentiment analysis. The input is a list of missed electronic communications and the user's emotional state. The processing involves generating a notification email containing information about the missed electronic communications and adjusting the content and tone according to the user's emotional state. The output is the generated notification email.
[0422] Step 6:
[0423] The server uses an SMTP client to send the generated notification email. The input is the generated notification email. As a process, the notification email is sent to the target email address using the SMTP protocol. The output is log data regarding the sending result.
[0424] Step 7:
[0425] The server records the sending results of the notification email in a database and notifies the user terminal. The input is log data regarding the sending results. As a process, the sending results are recorded in the database and a notification is sent to the user terminal as necessary. The output is the updated database and a notification to the user.
[0426] 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.
[0427] 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.
[0428] 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.
[0429] [Second embodiment]
[0430] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0431] 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.
[0432] 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).
[0433] 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.
[0434] 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.
[0435] 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).
[0436] 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. 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.
[0437] 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.
[0438] 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.
[0439] 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.
[0440] 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.
[0441] 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."
[0442] The system of the present invention aims to streamline corporate email operations by confirming receipt of invoices sent to specific email addresses and automatically notifying users of undelivered emails. This system is comprised of multiple components and processes, which are described in detail below.
[0443] Program processing explanation
[0444] Email Reception Confirmation
[0445] The server is configured to periodically check the specified email address. For example, it will access the mail server at 9:00 AM every day to check for new emails. It will connect and log in using the mail server's authentication information.
[0446] Email filtering
[0447] The server analyzes the subject and body of the received email and filters out emails containing specific keywords (e.g., "invoice" or "INVOICE"). The filtered emails are then stored in a database in a structured format for each email.
[0448] Undelivered confirmation
[0449] The server compares the filtering results with a pre-registered list of recipients. It checks whether the emails scheduled to be sent by each business partner by the specified date have been received. If the comparison reveals that the emails have not been received, it adds the information to the list of undelivered emails.
[0450] Generate and send automatic email notifications
[0451] The server dynamically inserts the undelivered information into a specific template based on the undelivered list and generates a notification email. For example, it generates an automatic notification email like this:
[0452] Subject: Notification of undelivered invoice
[0453] Contents:
[0454] Customer Name
[0455] To the person in charge
[0456] thank you always.
[0457] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0458] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0459] XX Co., Ltd.
[0460] The server will automatically send the generated email to the specified email address, and the sending record will be recorded in detail in the log file.
[0461] Specific examples
[0462] For example, suppose a user is scheduled to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are saved in the database and compared with the list of emails to be received. If an email that should be received by October 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a notification email to the specified contact person.
[0463] In this way, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends automatic email notifications, significantly improving business efficiency and reducing human error.
[0464] By combining the above processing steps, the present invention provides a system that can improve the efficiency and reliability of a company's invoice delivery confirmation and communication operations.
[0465] The processing flow will be explained below.
[0466] Step 1: Connect to your mail server
[0467] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[0468] The server logs in to the mail server using pre-registered authentication information (username and password).
[0469] Step 2: Confirm receipt of email
[0470] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[0471] The server stores the list of retrieved emails in its internal memory.
[0472] Step 3: Filtering email
[0473] The server analyzes the subject and body of the retrieved email.
[0474] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[0475] Step 4: Saving to the Database
[0476] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[0477] The server generates a confirmation log to confirm that the save was successful.
[0478] Step 5: Check for undelivered items
[0479] The server compares the pre-registered recipient list with the filtering results stored in the database.
[0480] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[0481] Step 6: Generate automated email notifications
[0482] The server generates an automatic notification email using a specified template based on the undelivered email list.
[0483] Information such as the customer name, delivery date, and resend request is dynamically inserted into the template.
[0484] Step 7: Send a contact email
[0485] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[0486] The server records the transmission result in a log file.
[0487] Step 8: Finalize the process
[0488] The server confirms that all processing has been completed successfully and creates a completion report.
[0489] The server, depending on its configuration, sends this report to the system administrator.
[0490] By performing the above steps, the system of the present invention can efficiently execute the process of checking for undelivered invoices and automatically notifying companies.
[0491] Example 1
[0492] 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."
[0493] In corporate email operations, tasks such as checking receipt of invoices and managing undelivered emails are often done manually, which reduces work efficiency and increases the likelihood of human error. To solve these issues, there is a need for a system that can automatically check and filter emails and automatically notify users of undelivered emails.
[0494] 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.
[0495] In this invention, the server includes a means for periodically checking email addresses, a means for analyzing the subject and text of received emails to filter out emails containing specific keywords, a means for checking undelivered emails against a pre-registered list of email recipients, and a means for generating and sending automatic notification emails based on the list of undelivered emails. This makes it possible to automate email-related tasks, significantly improve business efficiency in companies, and reduce human error.
[0496] The "means for periodically checking a specific email address" is a function that accesses a specified email address at a set time interval and checks for newly received emails.
[0497] "A means of analyzing the subject and body of received emails and filtering out emails containing specific keywords" is a function that detects specific strings or phrases contained in the content of received emails and selects relevant emails based on that.
[0498] "A means of checking against a pre-registered list of emails to be received and confirming that emails that were scheduled to be received on a specific date have not arrived" is a function that compares a pre-set email reception schedule with the actual reception status and detects when scheduled emails have not been received.
[0499] "Means for generating and sending automatic notification emails regarding undelivered emails based on the undelivered email list" is a function that creates a notification email by inserting the necessary information into a pre-prepared template based on the undelivered email information, and then sends it to a specified address.
[0500] "Means for storing filtered emails in a database and comparing them with the scheduled recipient list" is a function for storing email information extracted by filtering in a database and then comparing it with the scheduled recipient list.
[0501] "Means for dynamically inserting information about undelivered emails using an automatic notification email template" is a function that embeds dynamically generated information about undelivered emails in the fixed part of a notification email created in template format.
[0502] The system of the present invention is designed to streamline corporate email operations, by checking invoices received at specific email addresses and automatically notifying users of undelivered emails. This system is primarily run by a server and uses the following hardware and software:
[0503] Hardware and Software Configuration
[0504] The server has the following hardware and software configuration:
[0505] Hardware: A typical server machine, including CPU, memory, hard disk drive, and network interface.
[0506] Software: The following software components are used:
[0507] OS: Linux or Windows Server.
[0508] Mail server connection library: "imaplib" or "poplib" for using the IMAP or POP3 protocol.
[0509] Database: MySQL or PostgreSQL.
[0510] Programming language: Python.
[0511] Template engine: Jinja2.
[0512] SMTP library: smtplib.
[0513] Process Overview
[0514] The server periodically checks specific email addresses and analyzes the subject and body of newly received emails. Emails containing specific keywords (e.g., "invoice" or "INVOICE") are filtered and stored in a database. It also checks against a pre-registered list of recipients to confirm that emails scheduled to be received on a specific date have not yet arrived. If it is determined that an email has not yet arrived, it generates and sends an automatic notification email based on a template.
[0515] Specific examples
[0516] For example, suppose a user is scheduled to receive an invoice by October 1st. The server will run at 9:00 AM on October 2nd, connect to the mail server, and retrieve new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It will then filter out emails that contain "invoice" or "INVOICE" in the subject or body, and store them in a database. The information stored in the database will be compared with the list of emails to be received, and if it is determined that there are any emails that have not yet arrived, it will use that information to generate an automatic notification email and send it to the business partner.
[0517] Example of input prompt for generative AI model
[0518] 1. "Can you give me an example of a Python program that filters emails containing specific keywords and stores them in a database?"
[0519] 2. "Please explain the detailed steps to create an automatic notification system for missed emails."
[0520] 3. "Please tell me the details of how to implement an automated email sending program to streamline company invoicing."
[0521] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0522] Step 1: Check that you received the email
[0523] The server periodically accesses a specific email address at a set time (for example, every day at 9:00 AM). As input, the server uses the connection information to the mail server (email address, password, IMAP or POP3 server address). The server connects to the mail server using the IMAP or POP3 protocol and logs in. If the login is successful, it checks for new emails and retrieves a list of them. As output, it gets a list of new emails (email ID, subject, body, sender information, etc.).
[0524] Step 2: Filtering email
[0525] The server parses the subject and body of each email from the list of new emails it has retrieved. It uses the list of new emails as input. The server uses regular expressions to check whether a specific keyword (e.g., "invoice" or "INVOICE") is included. Emails that include the keyword are extracted and filtered. This filtered email information (e.g., email ID, subject, body, sender information, received date and time, etc.) is output and stored in a database.
[0526] Step 3: Check for undelivered items
[0527] The server compares the filtering results stored in the database with the pre-registered list of expected recipients. The filtered email information and the expected recipient list are used as input. The server uses an SQL query to compare the email data with the expected recipient list to see if the email has arrived by the scheduled date. If the corresponding email has not arrived by the specified date, the client's information is added to the list of undelivered emails. The list of undelivered emails is obtained as output.
[0528] Step 4: Generate automated email notifications
[0529] The server generates an automatic notification email based on the list of missed messages. It uses the list of missed messages and a notification email template as input. The server uses a template engine (Jinja2) to dynamically insert the necessary information into the template and generate the automatic notification email. An example of the generated notification email is as follows:
[0530] Subject: Notification of undelivered invoice
[0531] Contents:
[0532] Customer Name [Business Partner Name]
[0533] To the person in charge
[0534] thank you always.
[0535] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0536] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0537] XX Co., Ltd.
[0538] The output is the generated email notification.
[0539] Step 5: Send a contact email
[0540] The server sends the generated contact email to the specified contact's email address. It uses the generated contact email and the contact's email address as input. The server sends the contact email using the SMTP protocol (using the smtplib library). If the transmission is successful, it saves a detailed record of the success in a log file. As output, a transmission log is generated.
[0541] Through the above processing steps, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends notification emails, greatly improving the business efficiency of companies.
[0542] (Application example 1)
[0543] 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."
[0544] Corporate email operations, especially when it comes to confirming receipt of invoices and dealing with undelivered emails, are prone to human error and oversights, resulting in reduced operational efficiency. Another problem is that when an undelivered email is added to a list, the person in charge is not immediately notified, which can lead to delayed responses. Timely confirmation is especially important in operations such as logistics centers, so solving these issues is essential.
[0545] 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.
[0546] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, and means for immediately notifying the recipient of information about the missed emails. This automatically confirms the receipt, filtering, and delivery of emails, as well as generates and sends automatic notification emails, significantly improving the efficiency of a company's email operations, reducing human error and enabling immediate responses.
[0547] A "specific email address" is an email address designated to receive emails related to a specific company or business.
[0548] A "periodic check method" is a process or system that accesses an email server at regular intervals to check for new incoming emails.
[0549] "Specific keywords" are words or phrases contained in the subject or body of an email that serve as the basis for filtering.
[0550] A "filtering method" is a process or system that analyzes the content of received emails and determines whether they contain specific keywords.
[0551] "Emails that were scheduled to be received on a specific date" are emails that are expected to be sent by a specific date based on a pre-registered list.
[0552] A "means for verifying non-delivery" is a process or system that checks the list of expected recipients against the emails actually received to determine whether the expected emails have not arrived.
[0553] An "automatic notification email regarding undelivered email" is an automatically generated notification email to notify relevant parties about email that was scheduled to be received but has not yet arrived.
[0554] The "means for sending" is the process or system that sends the generated automated email to the designated recipient.
[0555] "Means for storing in a database" means a process or system for recording filtered emails and related data in a structured format in a database.
[0556] "Means for checking against the scheduled receiving list" refers to the process or system that compares and verifies the actual received content against the pre-registered scheduled receiving list.
[0557] "Means for immediate notification" refers to processes or systems that inform the person in charge of undelivered emails in real time and encourage a prompt response.
[0558] A system for implementing this invention comprises a server and a client device (e.g., a smartphone or tablet). In this system, the server processes data and performs calculations using the following hardware and software.
[0559] Hardware
[0560] 1. Mail Server: Handles receiving and sending emails.
[0561] 2. Database server: Stores filtered email data, recipient lists, sending records, etc.
[0562] 3. Server computer: Checks email receipt, filters, checks for non-delivery, and generates and sends automatic notification emails.
[0563] software
[0564] 1. IMAP library: Use a library such as imaplib (Python) to retrieve emails from the email server.
[0565] 2. Email analysis library: Use a library such as email (Python) to analyze the subject and body of the email.
[0566] 3. Email sending library: Use a library such as smtplib (Python) to send automatically generated contact emails.
[0567] 4. Schedule library: Use a library like schedule (Python) to check email periodically.
[0568] The server accesses the email server at regular intervals to check for new emails. It then filters out emails containing problematic keywords (e.g., invoices) and stores them in a database. This allows it to check for missing emails against the list of emails it expects to receive. If an email that should be received by a specific date has not arrived, it uses that information to generate and send an automatic notification email.
[0569] Specific processing flow
[0570] 1. Periodic check: The server periodically accesses the mail server to retrieve new incoming emails, for example, every hour.
[0571] 2. Email analysis and filtering: Analyzes received emails to see if they contain specific keywords and filters out the corresponding emails.
[0572] 3. Database storage: The filtered email information is stored in a database and matched with the recipient list.
[0573] 4. Check for undelivered emails: Compare the scheduled receiving list with the actual received emails, and if there are any undelivered emails, add the information to the undelivered list.
[0574] 5. Automatic generation and sending of contact emails: Automatically generate contact emails based on the undelivered list and send them to relevant parties.
[0575] 6. Instant notification: Notify the person in charge of missed emails in real time.
[0576] Specific examples
[0577] For example, suppose a person in charge at a logistics center is scheduled to receive an invoice by December 1st. The server runs at 9:00 AM on December 2nd, connects to the email server, and retrieves new emails from the past 24 hours (from 9:00 AM on December 1st to 9:00 AM on December 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are stored in a database and compared with the list of emails to be received. If an email that should be received by December 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a contact email to the specified contact person, and also notifies the person of the information in real time.
[0578] Example prompts to input to the generative AI model
[0579] "Please analyze the following email receipt programs and optimize them for your distribution center operations:
[0580] Program Overview:
[0581] The server periodically checks your email account and filters out emails containing specific keywords (e.g., invoice, INVOICE).
[0582] The filtered emails are stored in a database and a list of missed emails is generated.
[0583] Based on the missed emails, a notification email will be automatically generated and sent.
[0584] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0585] Step 1:
[0586] The server periodically contacts the email server at a specified interval to retrieve new mail from the inbox. This operation uses an IMAP library (e.g. imaplib) to connect to the mail server with authentication information and download the new mail.
[0587] Input: Mail server credentials, check interval
[0588] Output: List of new incoming emails
[0589] What happens: On a regular schedule, the server contacts the mail server, logs in with credentials, and checks the inbox.
[0590] Step 2:
[0591] The server analyzes the subject and body of the received email and filters emails that contain specific keywords (e.g., invoice, INVOICE). For this operation, an email analysis library (e.g., email) is used.
[0592] Input: List of new incoming emails, filtering keywords
[0593] Output: List of filtered emails
[0594] Specific operation: The server analyzes the subject and body of each email, checks whether it contains specific keywords, and extracts the corresponding emails.
[0595] Step 3:
[0596] The server stores the filtered emails in a database by connecting to a database server and recording the email metadata and content in a structured format.
[0597] Input: List of filtered emails
[0598] Output: Email data stored in the database
[0599] What happens: The server establishes a database connection and stores the content of the filtered email.
[0600] Step 4:
[0601] The server checks the pre-registered list of emails to be received against the emails that have actually been received, and confirms whether any emails that should be received by a specific date have yet to arrive.
[0602] Input: Email data stored in the database, recipient list
[0603] Output: List of missing emails
[0604] What happens: The server compares the mail in the database with the mail list to see if there are any messages that have not yet arrived.
[0605] Step 5:
[0606] The server generates an automatic notification email based on the undelivered email. Here, the notification email is created by dynamically inserting the information about the undelivered email into a template.
[0607] Input: List of undelivered emails, contact email template
[0608] Output: Generated contact email
[0609] Specific operation: The server dynamically generates a template based on the list of undelivered emails and creates an automatic notification email.
[0610] Step 6:
[0611] The server then sends the generated email to the specified recipients, using an email sending library (e.g. smtplib).
[0612] Input: Generated contact email, recipient list
[0613] Output: Transmission record (log file)
[0614] Specific operation: The server uses the email sending library to send a notification email to the recipient and records the result in a log file.
[0615] Step 7:
[0616] The server sends push notifications to smartphones and tablets to notify the person in charge in real time about missed emails.
[0617] Input: List of missed emails
[0618] Output: Notification message for the person in charge
[0619] Specific operation: The server generates a notification message based on the list of undelivered emails and sends it to the person in charge's smartphone.
[0620] In this way, the server provides a system that, through a series of steps, enables companies to improve the efficiency of their email operations and provide quick responses.
[0621] 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.
[0622] This invention is a system for improving the efficiency of corporate e-mail operations, and in particular, combines a function for checking whether an invoice has arrived and automatic notification, with an emotion engine that analyzes the user's emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[0623] Program processing explanation
[0624] Email Reception Confirmation
[0625] The server is configured to periodically check a specified email address, for example, at 9:00 AM each day, to access the mail server and check for new emails. It connects and logs in using authentication information (username and password).
[0626] Email filtering
[0627] The server analyzes the subject and body of the received email. It filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords. The filtered emails are then stored in a database.
[0628] Undelivered confirmation
[0629] The server checks the filtered email against a pre-defined list of recipients to determine if any emails that were due to arrive on a particular date have not arrived. If they have not, the information is added to the list.
[0630] Tailoring email communications through sentiment analysis
[0631] When generating a contact email based on the undelivered list, the server analyzes the user's emotions using an emotion engine, which determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on the content of past communications and the current context.
[0632] Depending on the analysis results, the server dynamically adjusts the content and expression of the contact email. For example, if the emotion engine determines that the user is feeling stressed, it will soften the tone of the email and express the request in a softer manner. This function ensures effective communication without causing discomfort to the recipient.
[0633] Sending automatic email notifications
[0634] Once a contact email is generated, the server automatically sends it to the email addresses of the missed contacts, with detailed logging of the sending results.
[0635] Accumulation and utilization of emotional data
[0636] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[0637] Specific examples
[0638] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[0639] The server uses an emotion engine to analyze the user's emotions and adjust the content of the email as needed. For example, if the server determines that the user is prone to stress, it generates the following email:
[0640] Subject: Notification of undelivered invoice
[0641] Contents:
[0642] Customer Name
[0643] To the person in charge
[0644] thank you always.
[0645] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0646] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0647] XX Co., Ltd.
[0648] In this way, the server utilizes the emotion engine to check receipt of emails, filter them, check if they have arrived, and generate and send emails in response to emotions, thereby improving the efficiency of a company's operations and realizing effective communication with users.
[0649] The processing flow will be explained below.
[0650] Step 1: Connect to your mail server
[0651] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[0652] The server logs in to the mail server using pre-registered authentication information (username and password).
[0653] Step 2: Confirm receipt of email
[0654] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[0655] The server stores the list of new mails it has acquired in its internal memory.
[0656] Step 3: Filtering email
[0657] The server analyzes the subject and body of the retrieved email.
[0658] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[0659] Step 4: Saving to the Database
[0660] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[0661] The server confirms that the save is complete and generates a confirmation log.
[0662] Step 5: Check for undelivered items
[0663] The server compares the pre-registered recipient list with the filtering results stored in the database.
[0664] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[0665] Step 6: Analyzing user sentiment
[0666] The server uses an emotion engine to analyze the user's emotions.
[0667] The server determines the user's emotional state (e.g., stress, anxiety, contentment, etc.) based on past communications and current context.
[0668] Step 7: Generate automated email notifications
[0669] The server generates an automatic notification email using a specified template based on the undelivered email list.
[0670] The server dynamically adjusts the content and expression of the email based on the results of the user's emotion analysis.
[0671] For example, if it is determined that the user is feeling stressed, the tone of the contact email will be softened and the content of the request will be expressed in a softer manner.
[0672] Step 8: Send a contact email
[0673] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[0674] The server records the transmission result in a log file.
[0675] Step 9: Accumulating Emotional Data
[0676] The server stores the user's emotional data analyzed by the emotion engine and uses it as a reference for future communications.
[0677] The server will build a long-term database and use it to improve user satisfaction.
[0678] In this way, the system of the present invention specifically implements a series of processes for checking email receipts, filtering, checking for non-delivery, analyzing emotions, and generating and sending automatic email notifications, thereby significantly improving business efficiency and achieving higher levels of satisfaction through effective communication with users.
[0679] Example 2
[0680] 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."
[0681] Conventional email management systems check received emails and notify users of undelivered emails to improve business efficiency, but they do not achieve efficient and effective communication. Furthermore, they send automatic notification emails without considering the user's emotional state, which can be unpleasant for the recipient. This leads to a decrease in user satisfaction and an inability to provide effective business support.
[0682] 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.
[0683] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, means for analyzing the user's emotional state, means for dynamically adjusting the content of the notification email based on the emotion analysis results, means for recording the results of sending the notification email, and means for accumulating emotion data and utilizing it for future communications. This improves the accuracy and efficiency of corporate email operations and enables effective communication that reflects the user's emotions.
[0684] "Means for periodically checking for mail received at a specific email address" refers to a device or software that periodically accesses a mail server and checks for new mail received at a specified email address.
[0685] "Means for filtering emails containing specific keywords from received emails" refers to a processing device or software that analyzes the subject and body of emails and selects emails that contain pre-set keywords.
[0686] "Means for confirming that emails that were scheduled to be received on a specific date have not yet arrived" refers to a device or software that compares the actual reception results with a pre-registered list of emails to be received and checks whether any emails have not been received by the scheduled date.
[0687] "Means for generating and sending automatic notification emails regarding undelivered emails" refers to a device or software that automatically creates notification emails based on information about undelivered emails and sends them to the appropriate contacts.
[0688] "Means for analyzing a user's emotional state" refers to technology or software for analyzing and assessing a user's emotional state based on past communications and current context.
[0689] "Means for dynamically adjusting the content of notification emails based on the results of emotion analysis" refers to a device or software that appropriately changes the tone and content of notification emails based on the results of user emotion analysis.
[0690] "Means for recording the results of sending the notification email" refers to a device or software for recording in a log whether the generated notification email was sent correctly.
[0691] "Means for accumulating emotional data and utilizing it in future communications" refers to a device or software that stores analyzed emotional data in a database or the like and utilizes it in future email generation and communication strategies.
[0692] This invention is a system that aims to improve the efficiency of corporate e-mail operations, and in particular has the function of checking for and automatically notifying undelivered invoices, and also combines it with an emotion engine that analyzes user emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[0693] The system is mainly composed of a server, terminals, and various hardware and software operated by users. The specific operation and technologies used are explained below.
[0694] Email Reception Confirmation
[0695] The server periodically checks the specified email address. To achieve this, the server accesses the mail server (e.g., Gmail or Microsoft Exchange) using the IMAP or POP3 protocol and logs in using authentication information (username and password).
[0696] Email filtering
[0697] The server analyzes the subject and body of received emails and filters emails containing specific keywords (e.g., "invoice" or "INVOICE"). This analysis is performed using a natural language processing (NLP) library (e.g., NLTK or spaCy). The filtered emails are then stored in a database (e.g., MySQL or PostgreSQL).
[0698] Undelivered confirmation
[0699] The server checks the filtered email against a pre-defined list of recipients (e.g., an Excel spreadsheet or CSV file) to see if any emails that were due to arrive on a particular date have not arrived. If they have not, the emails are added to the list.
[0700] Tailoring email communications through sentiment analysis
[0701] When generating a notification email based on the undelivered list, the server uses an emotion engine to analyze the user's emotions. The emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on past communications and current context. Based on the results of this analysis, the server can dynamically adjust the content and wording of the notification email.
[0702] Sending automatic email notifications
[0703] The generated emails are automatically sent by the server to the email addresses of the missing contacts, and the results of this sending process are logged in detail.
[0704] Accumulation and utilization of emotional data
[0705] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[0706] Specific examples
[0707] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[0708] The server uses an emotion engine to analyze the user's emotions and adjust the content of the notification email as needed. If the user is judged to be prone to stress, the server generates a notification email like this:
[0709] text
[0710] Subject: Notification of undelivered invoice
[0711] Contents:
[0712] Customer Name
[0713] To the person in charge
[0714] thank you always.
[0715] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0716] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0717] Company name
[0718] In this way, the efficiency of business operations of a company can be improved and effective communication with users can be achieved through confirmation of receipt of emails, filtering, confirmation of non-delivery, and generation and sending of communication emails according to emotions.
[0719] Prompt Sentence Examples
[0720] The following prompts can be fed into the generative AI model to provide instructions for sentiment analysis and email generation:
[0721] If the user has missed an invoice they are due to receive, generate a notification email based on the following emotional state:
[0722] If the user is stressed: Soften your tone and phrase your request softly.
[0723] If the user is happy: Generate an email in a standard tone.
[0724] Using this prompt sentence, a system can be constructed in which a generative AI model generates an appropriate contact email based on the user's emotional state.
[0725] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0726] Step 1:
[0727] The server connects to the mail server
[0728] Input: Authentication information (username and password), mail server address
[0729] What happens: The server accesses the mail server using the IMAP or POP3 protocol and logs in using the specified credentials. For example, when connecting to Gmail's IMAP server, the server connects securely using IMAP4_SSL.
[0730] Output: Connection established, mail folder selection in mail server completed.
[0731] Step 2:
[0732] Server retrieves new mail
[0733] Input: Email folder on the connected email server, search criteria (e.g., emails from the last 24 hours)
[0734] Specific operation: The server uses a search command to get the IDs of new emails received within the specified period, creates a list of email IDs, and accesses the new emails.
[0735] Output: A list of new email IDs, along with the body and subject of each email.
[0736] Step 3:
[0737] The server parses the email subject and body
[0738] Input: List of new email IDs, body and subject of each email
[0739] What it does: The server uses a natural language processing (NLP) library (e.g., NLTK or spaCy) to parse the subject and body of each email, checking for specific keywords (e.g., "invoice" or "INVOICE") and filtering them.
[0740] Output: A list of filtered emails.
[0741] Step 4:
[0742] The server stores the filtered emails in a database
[0743] Input: List of filtered emails
[0744] What it does: The server stores the filtered emails in a database (e.g. MySQL, PostgreSQL) along with the necessary metadata.
[0745] Output: Filtered email entries stored in the database.
[0746] Step 5:
[0747] The server checks the list of recipients
[0748] Input: Filtered emails stored in a database, recipients list (e.g. Excel sheet or CSV file)
[0749] Specific operation: The server checks the expected recipient list against the database to see if any emails have not been received by the expected date. If any emails have not been received, they are added to the undelivered list.
[0750] Output: Undelivered list.
[0751] Step 6:
[0752] The server uses an emotion engine to analyze the user's emotions.
[0753] Input: Missing messages list, past communication contents and current context (text data)
[0754] Specific operation: The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) to analyze the user's emotional state. Based on the analysis results, the server determines the user's emotional state.
[0755] Output: User sentiment analysis results.
[0756] Step 7:
[0757] The server generates a contact email based on the results of the sentiment analysis.
[0758] Input: Undelivered list, user sentiment analysis results
[0759] Specific operation: The server dynamically adjusts the content and tone of the email depending on the results of emotion analysis. For example, if the user is feeling stressed, the email content will be softened.
[0760] Output: The generated contact email.
[0761] Step 8:
[0762] The server sends a notification email
[0763] Input: Generated contact email, contact email address
[0764] Specific operation: The server automatically sends the generated contact email to the contact's email address. The sending result is recorded in a detailed log.
[0765] Output: Sending log.
[0766] Step 9:
[0767] The server accumulates emotional data and uses it for future communication.
[0768] Input: User sentiment analysis results
[0769] Specific operation: The server stores the analyzed emotional data in a database and uses it to generate future contact emails and for communication strategies.
[0770] Output: Accumulated emotion data.
[0771] In this way, the system streamlines corporate email processing operations and enables effective communication that responds to users' emotions.
[0772] (Application example 2)
[0773] 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."
[0774] Inventory management and confirmation of part orders and receipts are important tasks in modern factories and companies. However, with the increase in communication via email, there are cases where confirmation of orders and receipts is delayed or notifications of non-delivery are not properly sent, resulting in a decrease in work efficiency. Another issue is that these tasks can be stressful for employees. To address this issue, there is a need to develop a system that automates these tasks and communicates in a way that takes employees' feelings into consideration.
[0775] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for periodically checking electronic communications received at a specific email address, means for filtering received electronic communications for those containing specific keywords, means for confirming that electronic communications scheduled to be received on a specific date have not yet arrived, means for generating and sending an automatic notification regarding the missed electronic communications, and means for analyzing employee emotions and adjusting the content of the automatic notification based on the analysis results. This improves the efficiency of inventory management and order / receipt confirmation tasks, and enables effective communication that takes employee emotions into consideration.
[0776] "Electronic Communications" means information sent or received via email or other digital messaging services.
[0777] A "checking means" is a mechanism for periodically accessing a particular email address to check for newly received electronic communications.
[0778] "Filtering means" is a function that analyzes the subject and body of received electronic communications and selects only those that contain specific keywords.
[0779] A "measure for verifying receipt" is a process for checking filtered electronic communications against a pre-established list of recipients to determine whether any communications have not been verified as received by a predetermined date.
[0780] An "automated notification generating and sending means" is a system that generates and automatically sends notifications using pre-defined templates based on information about identified missing electronic communications.
[0781] "Means to analyze emotions and adjust content" refers to a function that analyzes an employee's past communications and current context to determine the employee's emotional state, and appropriately changes the content and tone of automated notifications based on the results.
[0782] "Information storage means" means a system that stores filtered electronic communications in a storage device such as a database.
[0783] "Means for checking against recipient lists" refers to the process of checking stored electronic communications against a pre-established scheduled recipient list to identify any missed communications.
[0784] This invention is a system for managing electronic communications in companies and factories, and for streamlining inventory management and order and receipt confirmation tasks. It periodically checks electronic communications received at a specific email address, filters communications containing specific keywords, checks for undelivered communications, and generates and sends automatic notifications based on sentiment analysis as needed. A specific embodiment of this system is described below.
[0785] System Configuration
[0786] 1. Hardware Configuration
[0787] The system of the present invention includes the following hardware configuration.
[0788] Mail Server: The server that manages the mailboxes for specified email addresses.
[0789] Database Server: A server that manages a database for storing filtered electronic communications and recipient lists.
[0790] Edge devices (such as factory robots): Devices that periodically check electronic communications for filtering and delivery.
[0791] User Device: The device (PC, smartphone, etc.) used by the employee to receive notifications.
[0792] 2. Software Configuration
[0793] The system of the present invention includes the following software components:
[0794] IMAP client: Client software for connecting to a mail server and retrieving electronic communications.
[0795] SMTP client: Client software for sending notification emails.
[0796] Filtering Module: Software for filtering received electronic communications for specific keywords.
[0797] Emotion Engine: Software that analyzes employee emotions and adjusts notification content.
[0798] Database Management System: Software that manages electronic communications and recipient lists.
[0799] System Implementation
[0800] 1. Regularly Check Your Electronic Communications
[0801] The edge device uses an IMAP client to periodically check the inbox of a specified email address, for example, at 9:00 AM each day for new electronic communications.
[0802] 2. Filtering Methods
[0803] The filtering module analyzes the received electronic communications and selects those that contain specific keywords such as "invoice" or "INVOICE" in the subject or body of the communications. These communications are then stored in a database server.
[0804] 3. How to confirm that the package has not arrived
[0805] The edge device checks the filtered electronic communications against the expected list to see if any communications have not been received within a given timeframe. If a missed communication is identified, the information is added to the missed list.
[0806] 4. Sentiment analysis and content adjustment
[0807] The emotion analysis engine analyzes the content and context of the employee's past communications to determine their current emotional state. For example, if it determines that the employee is feeling stressed, it will adjust the content and tone of the notification email to be gentler.
[0808] 5. Means of generating and sending automated notifications
[0809] Using an SMTP client, the generated notification email is automatically sent to the sender of the missed communication. Detailed sending results are recorded in a log and notified to the user's terminal as necessary.
[0810] Specific examples
[0811] For example, suppose a user is scheduled to receive delivery of a certain part by October 1st. If it is currently 9:00 AM on October 2nd, the edge device connects to the mail server and checks for new electronic communications that have arrived within the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). If no electronic communications containing the keyword "invoice" or "INVOICE" have arrived during this time, an email notification of the missed delivery is generated.
[0812] The following prompt sentence examples are also provided:
[0813] "If you ask a user to confirm the delivery of a certain part, but it doesn't arrive, please perform sentiment analysis and generate a notification email in a gentle tone to request a re-delivery if the user feels stressed."
[0814] In this way, the present invention improves the efficiency of inventory management and order / receipt confirmation operations, and realizes effective communication that takes into consideration the feelings of employees.
[0815] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0816] Step 1:
[0817] The server periodically accesses the inbox of a specified email address using an IMAP client to retrieve new email communications. The input is the mail server's authentication information (username, password) and the email data in the inbox. As a process, it connects to the mail server using the IMAP protocol and retrieves new email communications within a specified period. The output is the data of the newly received email communications.
[0818] Step 2:
[0819] The server uses a filtering module to filter out electronic communications containing specific keywords (e.g., invoice, INVOICE) based on the subject and body of the electronic communications obtained in step 1. The input is the data of newly received electronic communications. As a process, the subject and body of the electronic communications are analyzed to check whether the specified keywords are included. The output is the data of electronic communications containing the specific keywords.
[0820] Step 3:
[0821] The server stores the filtered electronic communications in a database and compares the filtering results with the list of intended recipients. The inputs are the filtered electronic communications and the list of intended recipients. The processing involves recording the filtered electronic communications in a database and comparing their contents with the list of intended recipients. The output is a list of missed electronic communications.
[0822] Step 4:
[0823] The server analyzes the user's emotions using an emotion analysis engine based on the missing electronic communications. The input is a list of missing electronic communications and the user's past communication history. The processing uses the emotion analysis engine (EmotionEngine) to analyze the user's past communication history and determine the user's current emotional state. The output is the user's emotional state (e.g., stress, anxiety, satisfaction, etc.).
[0824] Step 5:
[0825] The server generates an automatic notification with an appropriate tone based on the results of the sentiment analysis. The input is a list of missed electronic communications and the user's emotional state. The processing involves generating a notification email containing information about the missed electronic communications and adjusting the content and tone according to the user's emotional state. The output is the generated notification email.
[0826] Step 6:
[0827] The server uses an SMTP client to send the generated notification email. The input is the generated notification email. As a process, the notification email is sent to the target email address using the SMTP protocol. The output is log data regarding the sending result.
[0828] Step 7:
[0829] The server records the sending results of the notification email in a database and notifies the user terminal. The input is log data regarding the sending results. As a process, the sending results are recorded in the database and a notification is sent to the user terminal as necessary. The output is the updated database and a notification to the user.
[0830] 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.
[0831] 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.
[0832] 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.
[0833] [Third embodiment]
[0834] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0835] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0836] 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).
[0837] 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.
[0838] 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.
[0839] 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).
[0840] 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. 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.
[0841] 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.
[0842] 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.
[0843] 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.
[0844] 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.
[0845] 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."
[0846] The system of the present invention aims to streamline corporate email operations by confirming receipt of invoices sent to specific email addresses and automatically notifying users of undelivered emails. This system is comprised of multiple components and processes, which are described in detail below.
[0847] Program processing explanation
[0848] Email Reception Confirmation
[0849] The server is configured to periodically check the specified email address. For example, it will access the mail server at 9:00 AM every day to check for new emails. It will connect and log in using the mail server's authentication information.
[0850] Email filtering
[0851] The server analyzes the subject and body of the received email and filters out emails containing specific keywords (e.g., "invoice" or "INVOICE"). The filtered emails are then stored in a database in a structured format for each email.
[0852] Undelivered confirmation
[0853] The server compares the filtering results with a pre-registered list of recipients. It checks whether the emails scheduled to be sent by each business partner by the specified date have been received. If the comparison reveals that the emails have not been received, it adds the information to the list of undelivered emails.
[0854] Generate and send automatic email notifications
[0855] The server dynamically inserts the undelivered information into a specific template based on the undelivered list and generates a notification email. For example, it generates an automatic notification email like this:
[0856] Subject: Notification of undelivered invoice
[0857] Contents:
[0858] Customer Name
[0859] To the person in charge
[0860] thank you always.
[0861] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0862] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0863] XX Co., Ltd.
[0864] The server will automatically send the generated email to the specified email address, and the sending record will be recorded in detail in the log file.
[0865] Specific examples
[0866] For example, suppose a user is scheduled to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are saved in the database and compared with the list of emails to be received. If an email that should be received by October 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a notification email to the specified contact person.
[0867] In this way, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends automatic email notifications, significantly improving business efficiency and reducing human error.
[0868] By combining the above processing steps, the present invention provides a system that can improve the efficiency and reliability of a company's invoice delivery confirmation and communication operations.
[0869] The processing flow will be explained below.
[0870] Step 1: Connect to your mail server
[0871] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[0872] The server logs in to the mail server using pre-registered authentication information (username and password).
[0873] Step 2: Confirm receipt of email
[0874] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[0875] The server stores the list of retrieved emails in its internal memory.
[0876] Step 3: Filtering email
[0877] The server analyzes the subject and body of the retrieved email.
[0878] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[0879] Step 4: Saving to the Database
[0880] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[0881] The server generates a confirmation log to confirm that the save was successful.
[0882] Step 5: Check for undelivered items
[0883] The server compares the pre-registered recipient list with the filtering results stored in the database.
[0884] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[0885] Step 6: Generate automated email notifications
[0886] The server generates an automatic notification email using a specified template based on the undelivered email list.
[0887] Information such as the customer name, delivery date, and resend request is dynamically inserted into the template.
[0888] Step 7: Send a contact email
[0889] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[0890] The server records the transmission result in a log file.
[0891] Step 8: Finalize the process
[0892] The server confirms that all processing has been completed successfully and creates a completion report.
[0893] The server, depending on its configuration, sends this report to the system administrator.
[0894] By performing the above steps, the system of the present invention can efficiently execute the process of checking for undelivered invoices and automatically notifying companies.
[0895] Example 1
[0896] 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."
[0897] In corporate email operations, tasks such as checking receipt of invoices and managing undelivered emails are often done manually, which reduces work efficiency and increases the likelihood of human error. To solve these issues, there is a need for a system that can automatically check and filter emails and automatically notify users of undelivered emails.
[0898] 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.
[0899] In this invention, the server includes a means for periodically checking email addresses, a means for analyzing the subject and text of received emails to filter out emails containing specific keywords, a means for checking undelivered emails against a pre-registered list of email recipients, and a means for generating and sending automatic notification emails based on the list of undelivered emails. This makes it possible to automate email-related tasks, significantly improve business efficiency in companies, and reduce human error.
[0900] The "means for periodically checking a specific email address" is a function that accesses a specified email address at a set time interval and checks for newly received emails.
[0901] "A means of analyzing the subject and body of received emails and filtering out emails containing specific keywords" is a function that detects specific strings or phrases contained in the content of received emails and selects relevant emails based on that.
[0902] "A means of checking against a pre-registered list of emails to be received and confirming that emails that were scheduled to be received on a specific date have not arrived" is a function that compares a pre-set email reception schedule with the actual reception status and detects when scheduled emails have not been received.
[0903] "Means for generating and sending automatic notification emails regarding undelivered emails based on the undelivered email list" is a function that creates a notification email by inserting the necessary information into a pre-prepared template based on the undelivered email information, and then sends it to a specified address.
[0904] "Means for storing filtered emails in a database and comparing them with the scheduled recipient list" is a function for storing email information extracted by filtering in a database and then comparing it with the scheduled recipient list.
[0905] "Means for dynamically inserting information about undelivered emails using an automatic notification email template" is a function that embeds dynamically generated information about undelivered emails in the fixed part of a notification email created in template format.
[0906] The system of the present invention is designed to streamline corporate email operations, by checking invoices received at specific email addresses and automatically notifying users of undelivered emails. This system is primarily run by a server and uses the following hardware and software:
[0907] Hardware and Software Configuration
[0908] The server has the following hardware and software configuration:
[0909] Hardware: A typical server machine, including CPU, memory, hard disk drive, and network interface.
[0910] Software: The following software components are used:
[0911] OS: Linux or Windows Server.
[0912] Mail server connection library: "imaplib" or "poplib" for using the IMAP or POP3 protocol.
[0913] Database: MySQL or PostgreSQL.
[0914] Programming language: Python.
[0915] Template engine: Jinja2.
[0916] SMTP library: smtplib.
[0917] Process Overview
[0918] The server periodically checks specific email addresses and analyzes the subject and body of newly received emails. Emails containing specific keywords (e.g., "invoice" or "INVOICE") are filtered and stored in a database. It also checks against a pre-registered list of recipients to confirm that emails scheduled to be received on a specific date have not yet arrived. If it is determined that an email has not yet arrived, it generates and sends an automatic notification email based on a template.
[0919] Specific examples
[0920] For example, suppose a user is scheduled to receive an invoice by October 1st. The server will run at 9:00 AM on October 2nd, connect to the mail server, and retrieve new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It will then filter out emails that contain "invoice" or "INVOICE" in the subject or body, and store them in a database. The information stored in the database will be compared with the list of emails to be received, and if it is determined that there are any emails that have not yet arrived, it will use that information to generate an automatic notification email and send it to the business partner.
[0921] Example of input prompt for generative AI model
[0922] 1. "Can you give me an example of a Python program that filters emails containing specific keywords and stores them in a database?"
[0923] 2. "Please explain the detailed steps to create an automatic notification system for missed emails."
[0924] 3. "Please tell me the details of how to implement an automated email sending program to streamline company invoicing."
[0925] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0926] Step 1: Check that you received the email
[0927] The server periodically accesses a specific email address at a set time (for example, every day at 9:00 AM). As input, the server uses the connection information to the mail server (email address, password, IMAP or POP3 server address). The server connects to the mail server using the IMAP or POP3 protocol and logs in. If the login is successful, it checks for new emails and retrieves a list of them. As output, it gets a list of new emails (email ID, subject, body, sender information, etc.).
[0928] Step 2: Filtering email
[0929] The server parses the subject and body of each email from the list of new emails it has retrieved. It uses the list of new emails as input. The server uses regular expressions to check whether a specific keyword (e.g., "invoice" or "INVOICE") is included. Emails that include the keyword are extracted and filtered. This filtered email information (e.g., email ID, subject, body, sender information, received date and time, etc.) is output and stored in a database.
[0930] Step 3: Check for undelivered items
[0931] The server compares the filtering results stored in the database with the pre-registered list of expected recipients. The filtered email information and the expected recipient list are used as input. The server uses an SQL query to compare the email data with the expected recipient list to see if the email has arrived by the scheduled date. If the corresponding email has not arrived by the specified date, the client's information is added to the list of undelivered emails. The list of undelivered emails is obtained as output.
[0932] Step 4: Generate automated email notifications
[0933] The server generates an automatic notification email based on the list of missed messages. It uses the list of missed messages and a notification email template as input. The server uses a template engine (Jinja2) to dynamically insert the necessary information into the template and generate the automatic notification email. An example of the generated notification email is as follows:
[0934] Subject: Notification of undelivered invoice
[0935] Contents:
[0936] Customer Name [Business Partner Name]
[0937] To the person in charge
[0938] thank you always.
[0939] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[0940] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[0941] XX Co., Ltd.
[0942] The output is the generated email notification.
[0943] Step 5: Send a contact email
[0944] The server sends the generated contact email to the specified contact's email address. It uses the generated contact email and the contact's email address as input. The server sends the contact email using the SMTP protocol (using the smtplib library). If the transmission is successful, it saves a detailed record of the success in a log file. As output, a transmission log is generated.
[0945] Through the above processing steps, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends notification emails, greatly improving the business efficiency of companies.
[0946] (Application example 1)
[0947] 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."
[0948] Corporate email operations, especially when it comes to confirming receipt of invoices and dealing with undelivered emails, are prone to human error and oversights, resulting in reduced operational efficiency. Another problem is that when an undelivered email is added to a list, the person in charge is not immediately notified, which can lead to delayed responses. Timely confirmation is especially important in operations such as logistics centers, so solving these issues is essential.
[0949] 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.
[0950] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, and means for immediately notifying the recipient of information about the missed emails. This automatically confirms the receipt, filtering, and delivery of emails, as well as generates and sends automatic notification emails, significantly improving the efficiency of a company's email operations, reducing human error and enabling immediate responses.
[0951] A "specific email address" is an email address designated to receive emails related to a specific company or business.
[0952] A "periodic check method" is a process or system that accesses an email server at regular intervals to check for new incoming emails.
[0953] "Specific keywords" are words or phrases contained in the subject or body of an email that serve as the basis for filtering.
[0954] A "filtering method" is a process or system that analyzes the content of received emails and determines whether they contain specific keywords.
[0955] "Emails that were scheduled to be received on a specific date" are emails that are expected to be sent by a specific date based on a pre-registered list.
[0956] A "means for verifying non-delivery" is a process or system that checks the list of expected recipients against the emails actually received to determine whether the expected emails have not arrived.
[0957] An "automatic notification email regarding undelivered email" is an automatically generated notification email to notify relevant parties about email that was scheduled to be received but has not yet arrived.
[0958] The "means for sending" is the process or system that sends the generated automated email to the designated recipient.
[0959] "Means for storing in a database" means a process or system for recording filtered emails and related data in a structured format in a database.
[0960] "Means for checking against the scheduled receiving list" refers to the process or system that compares and verifies the actual received content against the pre-registered scheduled receiving list.
[0961] "Means for immediate notification" refers to processes or systems that inform the person in charge of undelivered emails in real time and encourage a prompt response.
[0962] A system for implementing this invention comprises a server and a client device (e.g., a smartphone or tablet). In this system, the server processes data and performs calculations using the following hardware and software.
[0963] Hardware
[0964] 1. Mail Server: Handles receiving and sending emails.
[0965] 2. Database server: Stores filtered email data, recipient lists, sending records, etc.
[0966] 3. Server computer: Checks email receipt, filters, checks for non-delivery, and generates and sends automatic notification emails.
[0967] software
[0968] 1. IMAP library: Use a library such as imaplib (Python) to retrieve emails from the email server.
[0969] 2. Email analysis library: Use a library such as email (Python) to analyze the subject and body of the email.
[0970] 3. Email sending library: Use a library such as smtplib (Python) to send automatically generated contact emails.
[0971] 4. Schedule library: Use a library like schedule (Python) to check email periodically.
[0972] The server accesses the email server at regular intervals to check for new emails. It then filters out emails containing problematic keywords (e.g., invoices) and stores them in a database. This allows it to check for missing emails against the list of emails it expects to receive. If an email that should be received by a specific date has not arrived, it uses that information to generate and send an automatic notification email.
[0973] Specific processing flow
[0974] 1. Periodic check: The server periodically accesses the mail server to retrieve new incoming emails, for example, every hour.
[0975] 2. Email analysis and filtering: Analyzes received emails to see if they contain specific keywords and filters out the corresponding emails.
[0976] 3. Database storage: The filtered email information is stored in a database and matched with the recipient list.
[0977] 4. Check for undelivered emails: Compare the scheduled receiving list with the actual received emails, and if there are any undelivered emails, add the information to the undelivered list.
[0978] 5. Automatic generation and sending of contact emails: Automatically generate contact emails based on the undelivered list and send them to relevant parties.
[0979] 6. Instant notification: Notify the person in charge of missed emails in real time.
[0980] Specific examples
[0981] For example, suppose a person in charge at a logistics center is scheduled to receive an invoice by December 1st. The server runs at 9:00 AM on December 2nd, connects to the email server, and retrieves new emails from the past 24 hours (from 9:00 AM on December 1st to 9:00 AM on December 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are stored in a database and compared with the list of emails to be received. If an email that should be received by December 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a contact email to the specified contact person, and also notifies the person of the information in real time.
[0982] Example prompts to input to the generative AI model
[0983] "Please analyze the following email receipt programs and optimize them for your distribution center operations:
[0984] Program Overview:
[0985] The server periodically checks your email account and filters out emails containing specific keywords (e.g., invoice, INVOICE).
[0986] The filtered emails are stored in a database and a list of missed emails is generated.
[0987] Based on the missed emails, a notification email will be automatically generated and sent.
[0988] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0989] Step 1:
[0990] The server periodically contacts the email server at a specified interval to retrieve new mail from the inbox. This operation uses an IMAP library (e.g. imaplib) to connect to the mail server with authentication information and download the new mail.
[0991] Input: Mail server credentials, check interval
[0992] Output: List of new incoming emails
[0993] What happens: On a regular schedule, the server contacts the mail server, logs in with credentials, and checks the inbox.
[0994] Step 2:
[0995] The server analyzes the subject and body of the received email and filters emails that contain specific keywords (e.g., invoice, INVOICE). For this operation, an email analysis library (e.g., email) is used.
[0996] Input: List of new incoming emails, filtering keywords
[0997] Output: List of filtered emails
[0998] Specific operation: The server analyzes the subject and body of each email, checks whether it contains specific keywords, and extracts the corresponding emails.
[0999] Step 3:
[1000] The server stores the filtered emails in a database by connecting to a database server and recording the email metadata and content in a structured format.
[1001] Input: List of filtered emails
[1002] Output: Email data stored in the database
[1003] What happens: The server establishes a database connection and stores the content of the filtered email.
[1004] Step 4:
[1005] The server checks the pre-registered list of emails to be received against the emails that have actually been received, and confirms whether any emails that should be received by a specific date have yet to arrive.
[1006] Input: Email data stored in the database, recipient list
[1007] Output: List of missing emails
[1008] What happens: The server compares the mail in the database with the mail list to see if there are any messages that have not yet arrived.
[1009] Step 5:
[1010] The server generates an automatic notification email based on the undelivered email. Here, the notification email is created by dynamically inserting the information about the undelivered email into a template.
[1011] Input: List of undelivered emails, contact email template
[1012] Output: Generated contact email
[1013] Specific operation: The server dynamically generates a template based on the list of undelivered emails and creates an automatic notification email.
[1014] Step 6:
[1015] The server then sends the generated email to the specified recipients, using an email sending library (e.g. smtplib).
[1016] Input: Generated contact email, recipient list
[1017] Output: Transmission record (log file)
[1018] Specific operation: The server uses the email sending library to send a notification email to the recipient and records the result in a log file.
[1019] Step 7:
[1020] The server sends push notifications to smartphones and tablets to notify the person in charge in real time about missed emails.
[1021] Input: List of missed emails
[1022] Output: Notification message for the person in charge
[1023] Specific operation: The server generates a notification message based on the list of undelivered emails and sends it to the person in charge's smartphone.
[1024] In this way, the server provides a system that, through a series of steps, enables companies to improve the efficiency of their email operations and provide quick responses.
[1025] 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.
[1026] This invention is a system for improving the efficiency of corporate e-mail operations, and in particular, combines a function for checking whether an invoice has arrived and automatic notification, with an emotion engine that analyzes the user's emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[1027] Program processing explanation
[1028] Email Reception Confirmation
[1029] The server is configured to periodically check a specified email address, for example, at 9:00 AM each day, to access the mail server and check for new emails. It connects and logs in using authentication information (username and password).
[1030] Email filtering
[1031] The server analyzes the subject and body of the received email. It filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords. The filtered emails are then stored in a database.
[1032] Undelivered confirmation
[1033] The server checks the filtered email against a pre-defined list of recipients to determine if any emails that were due to arrive on a particular date have not arrived. If they have not, the information is added to the list.
[1034] Tailoring email communications through sentiment analysis
[1035] When generating a contact email based on the undelivered list, the server analyzes the user's emotions using an emotion engine, which determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on the content of past communications and the current context.
[1036] Depending on the analysis results, the server dynamically adjusts the content and expression of the contact email. For example, if the emotion engine determines that the user is feeling stressed, it will soften the tone of the email and express the request in a softer manner. This function ensures effective communication without causing discomfort to the recipient.
[1037] Sending automatic email notifications
[1038] Once a contact email is generated, the server automatically sends it to the email addresses of the missed contacts, with detailed logging of the sending results.
[1039] Accumulation and utilization of emotional data
[1040] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[1041] Specific examples
[1042] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[1043] The server uses an emotion engine to analyze the user's emotions and adjust the content of the email as needed. For example, if the server determines that the user is prone to stress, it generates the following email:
[1044] Subject: Notification of undelivered invoice
[1045] Contents:
[1046] Customer Name
[1047] To the person in charge
[1048] thank you always.
[1049] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1050] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1051] XX Co., Ltd.
[1052] In this way, the server utilizes the emotion engine to check receipt of emails, filter them, check if they have arrived, and generate and send emails in response to emotions, thereby improving the efficiency of a company's operations and realizing effective communication with users.
[1053] The processing flow will be explained below.
[1054] Step 1: Connect to your mail server
[1055] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[1056] The server logs in to the mail server using pre-registered authentication information (username and password).
[1057] Step 2: Confirm receipt of email
[1058] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[1059] The server stores the list of new mails it has acquired in its internal memory.
[1060] Step 3: Filtering email
[1061] The server analyzes the subject and body of the retrieved email.
[1062] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[1063] Step 4: Saving to the Database
[1064] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[1065] The server confirms that the save is complete and generates a confirmation log.
[1066] Step 5: Check for undelivered items
[1067] The server compares the pre-registered recipient list with the filtering results stored in the database.
[1068] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[1069] Step 6: Analyzing user sentiment
[1070] The server uses an emotion engine to analyze the user's emotions.
[1071] The server determines the user's emotional state (e.g., stress, anxiety, contentment, etc.) based on past communications and current context.
[1072] Step 7: Generate automated email notifications
[1073] The server generates an automatic notification email using a specified template based on the undelivered email list.
[1074] The server dynamically adjusts the content and expression of the email based on the results of the user's emotion analysis.
[1075] For example, if it is determined that the user is feeling stressed, the tone of the contact email will be softened and the content of the request will be expressed in a softer manner.
[1076] Step 8: Send a contact email
[1077] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[1078] The server records the transmission result in a log file.
[1079] Step 9: Accumulating Emotional Data
[1080] The server stores the user's emotional data analyzed by the emotion engine and uses it as a reference for future communications.
[1081] The server will build a long-term database and use it to improve user satisfaction.
[1082] In this way, the system of the present invention specifically implements a series of processes for checking email receipts, filtering, checking for non-delivery, analyzing emotions, and generating and sending automatic email notifications, thereby significantly improving business efficiency and achieving higher levels of satisfaction through effective communication with users.
[1083] Example 2
[1084] 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."
[1085] Conventional email management systems check received emails and notify users of undelivered emails to improve business efficiency, but they do not achieve efficient and effective communication. Furthermore, they send automatic notification emails without considering the user's emotional state, which can be unpleasant for the recipient. This leads to a decrease in user satisfaction and an inability to provide effective business support.
[1086] 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.
[1087] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, means for analyzing the user's emotional state, means for dynamically adjusting the content of the notification email based on the emotion analysis results, means for recording the results of sending the notification email, and means for accumulating emotion data and utilizing it for future communications. This improves the accuracy and efficiency of corporate email operations and enables effective communication that reflects the user's emotions.
[1088] "Means for periodically checking for mail received at a specific email address" refers to a device or software that periodically accesses a mail server and checks for new mail received at a specified email address.
[1089] "Means for filtering emails containing specific keywords from received emails" refers to a processing device or software that analyzes the subject and body of emails and selects emails that contain pre-set keywords.
[1090] "Means for confirming that emails that were scheduled to be received on a specific date have not yet arrived" refers to a device or software that compares the actual reception results with a pre-registered list of emails to be received and checks whether any emails have not been received by the scheduled date.
[1091] "Means for generating and sending automatic notification emails regarding undelivered emails" refers to a device or software that automatically creates notification emails based on information about undelivered emails and sends them to the appropriate contacts.
[1092] "Means for analyzing a user's emotional state" refers to technology or software for analyzing and assessing a user's emotional state based on past communications and current context.
[1093] "Means for dynamically adjusting the content of notification emails based on the results of emotion analysis" refers to a device or software that appropriately changes the tone and content of notification emails based on the results of user emotion analysis.
[1094] "Means for recording the results of sending the notification email" refers to a device or software for recording in a log whether the generated notification email was sent correctly.
[1095] "Means for accumulating emotional data and utilizing it in future communications" refers to a device or software that stores analyzed emotional data in a database or the like and utilizes it in future email generation and communication strategies.
[1096] This invention is a system that aims to improve the efficiency of corporate e-mail operations, and in particular has the function of checking for and automatically notifying undelivered invoices, and also combines it with an emotion engine that analyzes user emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[1097] The system is mainly composed of a server, terminals, and various hardware and software operated by users. The specific operation and technologies used are explained below.
[1098] Email Reception Confirmation
[1099] The server periodically checks the specified email address. To achieve this, the server accesses the mail server (e.g., Gmail or Microsoft Exchange) using the IMAP or POP3 protocol and logs in using authentication information (username and password).
[1100] Email filtering
[1101] The server analyzes the subject and body of received emails and filters emails containing specific keywords (e.g., "invoice" or "INVOICE"). This analysis is performed using a natural language processing (NLP) library (e.g., NLTK or spaCy). The filtered emails are then stored in a database (e.g., MySQL or PostgreSQL).
[1102] Undelivered confirmation
[1103] The server checks the filtered email against a pre-defined list of recipients (e.g., an Excel spreadsheet or CSV file) to see if any emails that were due to arrive on a particular date have not arrived. If they have not, the emails are added to the list.
[1104] Tailoring email communications through sentiment analysis
[1105] When generating a notification email based on the undelivered list, the server uses an emotion engine to analyze the user's emotions. The emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on past communications and current context. Based on the results of this analysis, the server can dynamically adjust the content and wording of the notification email.
[1106] Sending automatic email notifications
[1107] The generated emails are automatically sent by the server to the email addresses of the missing contacts, and the results of this sending process are logged in detail.
[1108] Accumulation and utilization of emotional data
[1109] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[1110] Specific examples
[1111] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[1112] The server uses an emotion engine to analyze the user's emotions and adjust the content of the notification email as needed. If the user is judged to be prone to stress, the server generates a notification email like this:
[1113] text
[1114] Subject: Notification of undelivered invoice
[1115] Contents:
[1116] Customer Name
[1117] To the person in charge
[1118] thank you always.
[1119] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1120] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1121] Company name
[1122] In this way, the efficiency of business operations of a company can be improved and effective communication with users can be achieved through confirmation of receipt of emails, filtering, confirmation of non-delivery, and generation and sending of communication emails according to emotions.
[1123] Prompt Sentence Examples
[1124] The following prompts can be fed into the generative AI model to provide instructions for sentiment analysis and email generation:
[1125] If the user has missed an invoice they are due to receive, generate a notification email based on the following emotional state:
[1126] If the user is stressed: Soften your tone and phrase your request softly.
[1127] If the user is happy: Generate an email in a standard tone.
[1128] Using this prompt sentence, a system can be constructed in which a generative AI model generates an appropriate contact email based on the user's emotional state.
[1129] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1130] Step 1:
[1131] The server connects to the mail server
[1132] Input: Authentication information (username and password), mail server address
[1133] What happens: The server accesses the mail server using the IMAP or POP3 protocol and logs in using the specified credentials. For example, when connecting to Gmail's IMAP server, the server connects securely using IMAP4_SSL.
[1134] Output: Connection established, mail folder selection in mail server completed.
[1135] Step 2:
[1136] Server retrieves new mail
[1137] Input: Email folder on the connected email server, search criteria (e.g., emails from the last 24 hours)
[1138] Specific operation: The server uses a search command to get the IDs of new emails received within the specified period, creates a list of email IDs, and accesses the new emails.
[1139] Output: A list of new email IDs, along with the body and subject of each email.
[1140] Step 3:
[1141] The server parses the email subject and body
[1142] Input: List of new email IDs, body and subject of each email
[1143] What it does: The server uses a natural language processing (NLP) library (e.g., NLTK or spaCy) to parse the subject and body of each email, checking for specific keywords (e.g., "invoice" or "INVOICE") and filtering them.
[1144] Output: A list of filtered emails.
[1145] Step 4:
[1146] The server stores the filtered emails in a database
[1147] Input: List of filtered emails
[1148] What it does: The server stores the filtered emails in a database (e.g. MySQL, PostgreSQL) along with the necessary metadata.
[1149] Output: Filtered email entries stored in the database.
[1150] Step 5:
[1151] The server checks the list of recipients
[1152] Input: Filtered emails stored in a database, recipients list (e.g. Excel sheet or CSV file)
[1153] Specific operation: The server checks the expected recipient list against the database to see if any emails have not been received by the expected date. If any emails have not been received, they are added to the undelivered list.
[1154] Output: Undelivered list.
[1155] Step 6:
[1156] The server uses an emotion engine to analyze the user's emotions.
[1157] Input: Missing messages list, past communication contents and current context (text data)
[1158] Specific operation: The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) to analyze the user's emotional state. Based on the analysis results, the server determines the user's emotional state.
[1159] Output: User sentiment analysis results.
[1160] Step 7:
[1161] The server generates a contact email based on the results of the sentiment analysis.
[1162] Input: Undelivered list, user sentiment analysis results
[1163] Specific operation: The server dynamically adjusts the content and tone of the email depending on the results of emotion analysis. For example, if the user is feeling stressed, the email content will be softened.
[1164] Output: The generated contact email.
[1165] Step 8:
[1166] The server sends a notification email
[1167] Input: Generated contact email, contact email address
[1168] Specific operation: The server automatically sends the generated contact email to the contact's email address. The sending result is recorded in a detailed log.
[1169] Output: Sending log.
[1170] Step 9:
[1171] The server accumulates emotional data and uses it for future communication.
[1172] Input: User sentiment analysis results
[1173] Specific operation: The server stores the analyzed emotional data in a database and uses it to generate future contact emails and for communication strategies.
[1174] Output: Accumulated emotion data.
[1175] In this way, the system streamlines corporate email processing operations and enables effective communication that responds to users' emotions.
[1176] (Application example 2)
[1177] 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."
[1178] Inventory management and confirmation of part orders and receipts are important tasks in modern factories and companies. However, with the increase in communication via email, there are cases where confirmation of orders and receipts is delayed or notifications of non-delivery are not properly sent, resulting in a decrease in work efficiency. Another issue is that these tasks can be stressful for employees. To address this issue, there is a need to develop a system that automates these tasks and communicates in a way that takes employees' feelings into consideration.
[1179] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for periodically checking electronic communications received at a specific email address, means for filtering received electronic communications for those containing specific keywords, means for confirming that electronic communications scheduled to be received on a specific date have not yet arrived, means for generating and sending an automatic notification regarding the missed electronic communications, and means for analyzing employee emotions and adjusting the content of the automatic notification based on the analysis results. This improves the efficiency of inventory management and order / receipt confirmation tasks, and enables effective communication that takes employee emotions into consideration.
[1180] "Electronic Communications" means information sent or received via email or other digital messaging services.
[1181] A "checking means" is a mechanism for periodically accessing a particular email address to check for newly received electronic communications.
[1182] "Filtering means" is a function that analyzes the subject and body of received electronic communications and selects only those that contain specific keywords.
[1183] A "measure for verifying receipt" is a process for checking filtered electronic communications against a pre-established list of recipients to determine whether any communications have not been verified as received by a predetermined date.
[1184] An "automated notification generating and sending means" is a system that generates and automatically sends notifications using pre-defined templates based on information about identified missing electronic communications.
[1185] "Means to analyze emotions and adjust content" refers to a function that analyzes an employee's past communications and current context to determine the employee's emotional state, and appropriately changes the content and tone of automated notifications based on the results.
[1186] "Information storage means" means a system that stores filtered electronic communications in a storage device such as a database.
[1187] "Means for checking against recipient lists" refers to the process of checking stored electronic communications against a pre-established scheduled recipient list to identify any missed communications.
[1188] This invention is a system for managing electronic communications in companies and factories, and for streamlining inventory management and order and receipt confirmation tasks. It periodically checks electronic communications received at a specific email address, filters communications containing specific keywords, checks for undelivered communications, and generates and sends automatic notifications based on sentiment analysis as needed. A specific embodiment of this system is described below.
[1189] System Configuration
[1190] 1. Hardware Configuration
[1191] The system of the present invention includes the following hardware configuration.
[1192] Mail Server: The server that manages the mailboxes for specified email addresses.
[1193] Database Server: A server that manages a database for storing filtered electronic communications and recipient lists.
[1194] Edge devices (such as factory robots): Devices that periodically check electronic communications for filtering and delivery.
[1195] User Device: The device (PC, smartphone, etc.) used by the employee to receive notifications.
[1196] 2. Software Configuration
[1197] The system of the present invention includes the following software components:
[1198] IMAP client: Client software for connecting to a mail server and retrieving electronic communications.
[1199] SMTP client: Client software for sending notification emails.
[1200] Filtering Module: Software for filtering received electronic communications for specific keywords.
[1201] Emotion Engine: Software that analyzes employee emotions and adjusts notification content.
[1202] Database Management System: Software that manages electronic communications and recipient lists.
[1203] System Implementation
[1204] 1. Regularly Check Your Electronic Communications
[1205] The edge device uses an IMAP client to periodically check the inbox of a specified email address, for example, at 9:00 AM each day for new electronic communications.
[1206] 2. Filtering Methods
[1207] The filtering module analyzes the received electronic communications and selects those that contain specific keywords such as "invoice" or "INVOICE" in the subject or body of the communications. These communications are then stored in a database server.
[1208] 3. How to confirm that the package has not arrived
[1209] The edge device checks the filtered electronic communications against the expected list to see if any communications have not been received within a given timeframe. If a missed communication is identified, the information is added to the missed list.
[1210] 4. Sentiment analysis and content adjustment
[1211] The emotion analysis engine analyzes the content and context of the employee's past communications to determine their current emotional state. For example, if it determines that the employee is feeling stressed, it will adjust the content and tone of the notification email to be gentler.
[1212] 5. Means of generating and sending automated notifications
[1213] Using an SMTP client, the generated notification email is automatically sent to the sender of the missed communication. Detailed sending results are recorded in a log and notified to the user's terminal as necessary.
[1214] Specific examples
[1215] For example, suppose a user is scheduled to receive delivery of a certain part by October 1st. If it is currently 9:00 AM on October 2nd, the edge device connects to the mail server and checks for new electronic communications that have arrived within the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). If no electronic communications containing the keyword "invoice" or "INVOICE" have arrived during this time, an email notification of the missed delivery is generated.
[1216] The following prompt sentence examples are also provided:
[1217] "If you ask a user to confirm the delivery of a certain part, but it doesn't arrive, please perform sentiment analysis and generate a notification email in a gentle tone to request a re-delivery if the user feels stressed."
[1218] In this way, the present invention improves the efficiency of inventory management and order / receipt confirmation operations, and realizes effective communication that takes into consideration the feelings of employees.
[1219] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1220] Step 1:
[1221] The server periodically accesses the inbox of a specified email address using an IMAP client to retrieve new email communications. The input is the mail server's authentication information (username, password) and the email data in the inbox. As a process, it connects to the mail server using the IMAP protocol and retrieves new email communications within a specified period. The output is the data of the newly received email communications.
[1222] Step 2:
[1223] The server uses a filtering module to filter out electronic communications containing specific keywords (e.g., invoice, INVOICE) based on the subject and body of the electronic communications obtained in step 1. The input is the data of newly received electronic communications. As a process, the subject and body of the electronic communications are analyzed to check whether the specified keywords are included. The output is the data of electronic communications containing the specific keywords.
[1224] Step 3:
[1225] The server stores the filtered electronic communications in a database and compares the filtering results with the list of intended recipients. The inputs are the filtered electronic communications and the list of intended recipients. The processing involves recording the filtered electronic communications in a database and comparing their contents with the list of intended recipients. The output is a list of missed electronic communications.
[1226] Step 4:
[1227] The server analyzes the user's emotions using an emotion analysis engine based on the missing electronic communications. The input is a list of missing electronic communications and the user's past communication history. The processing uses the emotion analysis engine (EmotionEngine) to analyze the user's past communication history and determine the user's current emotional state. The output is the user's emotional state (e.g., stress, anxiety, satisfaction, etc.).
[1228] Step 5:
[1229] The server generates an automatic notification with an appropriate tone based on the results of the sentiment analysis. The input is a list of missed electronic communications and the user's emotional state. The processing involves generating a notification email containing information about the missed electronic communications and adjusting the content and tone according to the user's emotional state. The output is the generated notification email.
[1230] Step 6:
[1231] The server uses an SMTP client to send the generated notification email. The input is the generated notification email. As a process, the notification email is sent to the target email address using the SMTP protocol. The output is log data regarding the sending result.
[1232] Step 7:
[1233] The server records the sending results of the notification email in a database and notifies the user terminal. The input is log data regarding the sending results. As a process, the sending results are recorded in the database and a notification is sent to the user terminal as necessary. The output is the updated database and a notification to the user.
[1234] 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.
[1235] 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.
[1236] 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.
[1237] [Fourth embodiment]
[1238] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1239] 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.
[1240] 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).
[1241] 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.
[1242] 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.
[1243] 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).
[1244] 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. 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.
[1245] 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.
[1246] 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.
[1247] 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.
[1248] 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.
[1249] 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.
[1250] 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."
[1251] The system of the present invention aims to streamline corporate email operations by confirming receipt of invoices sent to specific email addresses and automatically notifying users of undelivered emails. This system is comprised of multiple components and processes, which are described in detail below.
[1252] Program processing explanation
[1253] Email Reception Confirmation
[1254] The server is configured to periodically check the specified email address. For example, it will access the mail server at 9:00 AM every day to check for new emails. It will connect and log in using the mail server's authentication information.
[1255] Email filtering
[1256] The server analyzes the subject and body of the received email and filters out emails containing specific keywords (e.g., "invoice" or "INVOICE"). The filtered emails are then stored in a database in a structured format for each email.
[1257] Undelivered confirmation
[1258] The server compares the filtering results with a pre-registered list of recipients. It checks whether the emails scheduled to be sent by each business partner by the specified date have been received. If the comparison reveals that the emails have not been received, it adds the information to the list of undelivered emails.
[1259] Generate and send automatic email notifications
[1260] The server dynamically inserts the undelivered information into a specific template based on the undelivered list and generates a notification email. For example, it generates an automatic notification email like this:
[1261] Subject: Notification of undelivered invoice
[1262] Contents:
[1263] Customer Name
[1264] To the person in charge
[1265] thank you always.
[1266] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1267] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1268] XX Co., Ltd.
[1269] The server will automatically send the generated email to the specified email address, and the sending record will be recorded in detail in the log file.
[1270] Specific examples
[1271] For example, suppose a user is scheduled to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are saved in the database and compared with the list of emails to be received. If an email that should be received by October 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a notification email to the specified contact person.
[1272] In this way, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends automatic email notifications, significantly improving business efficiency and reducing human error.
[1273] By combining the above processing steps, the present invention provides a system that can improve the efficiency and reliability of a company's invoice delivery confirmation and communication operations.
[1274] The processing flow will be explained below.
[1275] Step 1: Connect to your mail server
[1276] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[1277] The server logs in to the mail server using pre-registered authentication information (username and password).
[1278] Step 2: Confirm receipt of email
[1279] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[1280] The server stores the list of retrieved emails in its internal memory.
[1281] Step 3: Filtering email
[1282] The server analyzes the subject and body of the retrieved email.
[1283] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[1284] Step 4: Saving to the Database
[1285] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[1286] The server generates a confirmation log to confirm that the save was successful.
[1287] Step 5: Check for undelivered items
[1288] The server compares the pre-registered recipient list with the filtering results stored in the database.
[1289] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[1290] Step 6: Generate automated email notifications
[1291] The server generates an automatic notification email using a specified template based on the undelivered email list.
[1292] Information such as the customer name, delivery date, and resend request is dynamically inserted into the template.
[1293] Step 7: Send a contact email
[1294] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[1295] The server records the transmission result in a log file.
[1296] Step 8: Finalize the process
[1297] The server confirms that all processing has been completed successfully and creates a completion report.
[1298] The server, depending on its configuration, sends this report to the system administrator.
[1299] By performing the above steps, the system of the present invention can efficiently execute the process of checking for undelivered invoices and automatically notifying companies.
[1300] Example 1
[1301] 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."
[1302] In corporate email operations, tasks such as checking receipt of invoices and managing undelivered emails are often done manually, which reduces work efficiency and increases the likelihood of human error. To solve these issues, there is a need for a system that can automatically check and filter emails and automatically notify users of undelivered emails.
[1303] 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.
[1304] In this invention, the server includes a means for periodically checking email addresses, a means for analyzing the subject and text of received emails to filter out emails containing specific keywords, a means for checking undelivered emails against a pre-registered list of email recipients, and a means for generating and sending automatic notification emails based on the list of undelivered emails. This makes it possible to automate email-related tasks, significantly improve business efficiency in companies, and reduce human error.
[1305] The "means for periodically checking a specific email address" is a function that accesses a specified email address at a set time interval and checks for newly received emails.
[1306] "A means of analyzing the subject and body of received emails and filtering out emails containing specific keywords" is a function that detects specific strings or phrases contained in the content of received emails and selects relevant emails based on that.
[1307] "A means of checking against a pre-registered list of emails to be received and confirming that emails that were scheduled to be received on a specific date have not arrived" is a function that compares a pre-set email reception schedule with the actual reception status and detects when scheduled emails have not been received.
[1308] "Means for generating and sending automatic notification emails regarding undelivered emails based on the undelivered email list" is a function that creates a notification email by inserting the necessary information into a pre-prepared template based on the undelivered email information, and then sends it to a specified address.
[1309] "Means for storing filtered emails in a database and comparing them with the scheduled recipient list" is a function for storing email information extracted by filtering in a database and then comparing it with the scheduled recipient list.
[1310] "Means for dynamically inserting information about undelivered emails using an automatic notification email template" is a function that embeds dynamically generated information about undelivered emails in the fixed part of a notification email created in template format.
[1311] The system of the present invention is designed to streamline corporate email operations, by checking invoices received at specific email addresses and automatically notifying users of undelivered emails. This system is primarily run by a server and uses the following hardware and software:
[1312] Hardware and Software Configuration
[1313] The server has the following hardware and software configuration:
[1314] Hardware: A typical server machine, including CPU, memory, hard disk drive, and network interface.
[1315] Software: The following software components are used:
[1316] OS: Linux or Windows Server.
[1317] Mail server connection library: "imaplib" or "poplib" for using the IMAP or POP3 protocol.
[1318] Database: MySQL or PostgreSQL.
[1319] Programming language: Python.
[1320] Template engine: Jinja2.
[1321] SMTP library: smtplib.
[1322] Process Overview
[1323] The server periodically checks specific email addresses and analyzes the subject and body of newly received emails. Emails containing specific keywords (e.g., "invoice" or "INVOICE") are filtered and stored in a database. It also checks against a pre-registered list of recipients to confirm that emails scheduled to be received on a specific date have not yet arrived. If it is determined that an email has not yet arrived, it generates and sends an automatic notification email based on a template.
[1324] Specific examples
[1325] For example, suppose a user is scheduled to receive an invoice by October 1st. The server will run at 9:00 AM on October 2nd, connect to the mail server, and retrieve new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It will then filter out emails that contain "invoice" or "INVOICE" in the subject or body, and store them in a database. The information stored in the database will be compared with the list of emails to be received, and if it is determined that there are any emails that have not yet arrived, it will use that information to generate an automatic notification email and send it to the business partner.
[1326] Example of input prompt for generative AI model
[1327] 1. "Can you give me an example of a Python program that filters emails containing specific keywords and stores them in a database?"
[1328] 2. "Please explain the detailed steps to create an automatic notification system for missed emails."
[1329] 3. "Please tell me the details of how to implement an automated email sending program to streamline company invoicing."
[1330] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1331] Step 1: Check that you received the email
[1332] The server periodically accesses a specific email address at a set time (for example, every day at 9:00 AM). As input, the server uses the connection information to the mail server (email address, password, IMAP or POP3 server address). The server connects to the mail server using the IMAP or POP3 protocol and logs in. If the login is successful, it checks for new emails and retrieves a list of them. As output, it gets a list of new emails (email ID, subject, body, sender information, etc.).
[1333] Step 2: Filtering email
[1334] The server parses the subject and body of each email from the list of new emails it has retrieved. It uses the list of new emails as input. The server uses regular expressions to check whether a specific keyword (e.g., "invoice" or "INVOICE") is included. Emails that include the keyword are extracted and filtered. This filtered email information (e.g., email ID, subject, body, sender information, received date and time, etc.) is output and stored in a database.
[1335] Step 3: Check for undelivered items
[1336] The server compares the filtering results stored in the database with the pre-registered list of expected recipients. The filtered email information and the expected recipient list are used as input. The server uses an SQL query to compare the email data with the expected recipient list to see if the email has arrived by the scheduled date. If the corresponding email has not arrived by the specified date, the client's information is added to the list of undelivered emails. The list of undelivered emails is obtained as output.
[1337] Step 4: Generate automated email notifications
[1338] The server generates an automatic notification email based on the list of missed messages. It uses the list of missed messages and a notification email template as input. The server uses a template engine (Jinja2) to dynamically insert the necessary information into the template and generate the automatic notification email. An example of the generated notification email is as follows:
[1339] Subject: Notification of undelivered invoice
[1340] Contents:
[1341] Customer Name [Business Partner Name]
[1342] To the person in charge
[1343] thank you always.
[1344] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1345] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1346] XX Co., Ltd.
[1347] The output is the generated email notification.
[1348] Step 5: Send a contact email
[1349] The server sends the generated contact email to the specified contact's email address. It uses the generated contact email and the contact's email address as input. The server sends the contact email using the SMTP protocol (using the smtplib library). If the transmission is successful, it saves a detailed record of the success in a log file. As output, a transmission log is generated.
[1350] Through the above processing steps, the server automatically checks for received emails, filters them, checks for undelivered emails, and generates and sends notification emails, greatly improving the business efficiency of companies.
[1351] (Application example 1)
[1352] 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."
[1353] Corporate email operations, especially when it comes to confirming receipt of invoices and dealing with undelivered emails, are prone to human error and oversights, resulting in reduced operational efficiency. Another problem is that when an undelivered email is added to a list, the person in charge is not immediately notified, which can lead to delayed responses. Timely confirmation is especially important in operations such as logistics centers, so solving these issues is essential.
[1354] 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.
[1355] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, and means for immediately notifying the recipient of information about the missed emails. This automatically confirms the receipt, filtering, and delivery of emails, as well as generates and sends automatic notification emails, significantly improving the efficiency of a company's email operations, reducing human error and enabling immediate responses.
[1356] A "specific email address" is an email address designated to receive emails related to a specific company or business.
[1357] A "periodic check method" is a process or system that accesses an email server at regular intervals to check for new incoming emails.
[1358] "Specific keywords" are words or phrases contained in the subject or body of an email that serve as the basis for filtering.
[1359] A "filtering method" is a process or system that analyzes the content of received emails and determines whether they contain specific keywords.
[1360] "Emails that were scheduled to be received on a specific date" are emails that are expected to be sent by a specific date based on a pre-registered list.
[1361] A "means for verifying non-delivery" is a process or system that checks the list of expected recipients against the emails actually received to determine whether the expected emails have not arrived.
[1362] An "automatic notification email regarding undelivered email" is an automatically generated notification email to notify relevant parties about email that was scheduled to be received but has not yet arrived.
[1363] The "means for sending" is the process or system that sends the generated automated email to the designated recipient.
[1364] "Means for storing in a database" means a process or system for recording filtered emails and related data in a structured format in a database.
[1365] "Means for checking against the scheduled receiving list" refers to the process or system that compares and verifies the actual received content against the pre-registered scheduled receiving list.
[1366] "Means for immediate notification" refers to processes or systems that inform the person in charge of undelivered emails in real time and encourage a prompt response.
[1367] A system for implementing this invention comprises a server and a client device (e.g., a smartphone or tablet). In this system, the server processes data and performs calculations using the following hardware and software.
[1368] Hardware
[1369] 1. Mail Server: Handles receiving and sending emails.
[1370] 2. Database server: Stores filtered email data, recipient lists, sending records, etc.
[1371] 3. Server computer: Checks email receipt, filters, checks for non-delivery, and generates and sends automatic notification emails.
[1372] software
[1373] 1. IMAP library: Use a library such as imaplib (Python) to retrieve emails from the email server.
[1374] 2. Email analysis library: Use a library such as email (Python) to analyze the subject and body of the email.
[1375] 3. Email sending library: Use a library such as smtplib (Python) to send automatically generated contact emails.
[1376] 4. Schedule library: Use a library like schedule (Python) to check email periodically.
[1377] The server accesses the email server at regular intervals to check for new emails. It then filters out emails containing problematic keywords (e.g., invoices) and stores them in a database. This allows it to check for missing emails against the list of emails it expects to receive. If an email that should be received by a specific date has not arrived, it uses that information to generate and send an automatic notification email.
[1378] Specific processing flow
[1379] 1. Periodic check: The server periodically accesses the mail server to retrieve new incoming emails, for example, every hour.
[1380] 2. Email analysis and filtering: Analyzes received emails to see if they contain specific keywords and filters out the corresponding emails.
[1381] 3. Database storage: The filtered email information is stored in a database and matched with the recipient list.
[1382] 4. Check for undelivered emails: Compare the scheduled receiving list with the actual received emails, and if there are any undelivered emails, add the information to the undelivered list.
[1383] 5. Automatic generation and sending of contact emails: Automatically generate contact emails based on the undelivered list and send them to relevant parties.
[1384] 6. Instant notification: Notify the person in charge of missed emails in real time.
[1385] Specific examples
[1386] For example, suppose a person in charge at a logistics center is scheduled to receive an invoice by December 1st. The server runs at 9:00 AM on December 2nd, connects to the email server, and retrieves new emails from the past 24 hours (from 9:00 AM on December 1st to 9:00 AM on December 2nd). It then filters and extracts emails containing "invoice" or "INVOICE." These emails are stored in a database and compared with the list of emails to be received. If an email that should be received by December 1st has not yet arrived, that information is added to the list of emails that have not yet arrived. As a result, the server automatically sends a contact email to the specified contact person, and also notifies the person of the information in real time.
[1387] Example prompts to input to the generative AI model
[1388] "Please analyze the following email receipt programs and optimize them for your distribution center operations:
[1389] Program Overview:
[1390] The server periodically checks your email account and filters out emails containing specific keywords (e.g., invoice, INVOICE).
[1391] The filtered emails are stored in a database and a list of missed emails is generated.
[1392] Based on the missed emails, a notification email will be automatically generated and sent.
[1393] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1394] Step 1:
[1395] The server periodically contacts the email server at a specified interval to retrieve new mail from the inbox. This operation uses an IMAP library (e.g. imaplib) to connect to the mail server with authentication information and download the new mail.
[1396] Input: Mail server credentials, check interval
[1397] Output: List of new incoming emails
[1398] What happens: On a regular schedule, the server contacts the mail server, logs in with credentials, and checks the inbox.
[1399] Step 2:
[1400] The server analyzes the subject and body of the received email and filters emails that contain specific keywords (e.g., invoice, INVOICE). For this operation, an email analysis library (e.g., email) is used.
[1401] Input: List of new incoming emails, filtering keywords
[1402] Output: List of filtered emails
[1403] Specific operation: The server analyzes the subject and body of each email, checks whether it contains specific keywords, and extracts the corresponding emails.
[1404] Step 3:
[1405] The server stores the filtered emails in a database by connecting to a database server and recording the email metadata and content in a structured format.
[1406] Input: List of filtered emails
[1407] Output: Email data stored in the database
[1408] What happens: The server establishes a database connection and stores the content of the filtered email.
[1409] Step 4:
[1410] The server checks the pre-registered list of emails to be received against the emails that have actually been received, and confirms whether any emails that should be received by a specific date have yet to arrive.
[1411] Input: Email data stored in the database, recipient list
[1412] Output: List of missing emails
[1413] What happens: The server compares the mail in the database with the mail list to see if there are any messages that have not yet arrived.
[1414] Step 5:
[1415] The server generates an automatic notification email based on the undelivered email. Here, the notification email is created by dynamically inserting the information about the undelivered email into a template.
[1416] Input: List of undelivered emails, contact email template
[1417] Output: Generated contact email
[1418] Specific operation: The server dynamically generates a template based on the list of undelivered emails and creates an automatic notification email.
[1419] Step 6:
[1420] The server then sends the generated email to the specified recipients, using an email sending library (e.g. smtplib).
[1421] Input: Generated contact email, recipient list
[1422] Output: Transmission record (log file)
[1423] Specific operation: The server uses the email sending library to send a notification email to the recipient and records the result in a log file.
[1424] Step 7:
[1425] The server sends push notifications to smartphones and tablets to notify the person in charge in real time about missed emails.
[1426] Input: List of missed emails
[1427] Output: Notification message for the person in charge
[1428] Specific operation: The server generates a notification message based on the list of undelivered emails and sends it to the person in charge's smartphone.
[1429] In this way, the server provides a system that, through a series of steps, enables companies to improve the efficiency of their email operations and provide quick responses.
[1430] 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.
[1431] This invention is a system for improving the efficiency of corporate e-mail operations, and in particular, combines a function for checking whether an invoice has arrived and automatic notification, with an emotion engine that analyzes the user's emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[1432] Program processing explanation
[1433] Email Reception Confirmation
[1434] The server is configured to periodically check a specified email address, for example, at 9:00 AM each day, to access the mail server and check for new emails. It connects and logs in using authentication information (username and password).
[1435] Email filtering
[1436] The server analyzes the subject and body of the received email. It filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords. The filtered emails are then stored in a database.
[1437] Undelivered confirmation
[1438] The server checks the filtered email against a pre-defined list of recipients to determine if any emails that were due to arrive on a particular date have not arrived. If they have not, the information is added to the list.
[1439] Tailoring email communications through sentiment analysis
[1440] When generating a contact email based on the undelivered list, the server analyzes the user's emotions using an emotion engine, which determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on the content of past communications and the current context.
[1441] Depending on the analysis results, the server dynamically adjusts the content and expression of the contact email. For example, if the emotion engine determines that the user is feeling stressed, it will soften the tone of the email and express the request in a softer manner. This function ensures effective communication without causing discomfort to the recipient.
[1442] Sending automatic email notifications
[1443] Once a contact email is generated, the server automatically sends it to the email addresses of the missed contacts, with detailed logging of the sending results.
[1444] Accumulation and utilization of emotional data
[1445] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[1446] Specific examples
[1447] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[1448] The server uses an emotion engine to analyze the user's emotions and adjust the content of the email as needed. For example, if the server determines that the user is prone to stress, it generates the following email:
[1449] Subject: Notification of undelivered invoice
[1450] Contents:
[1451] Customer Name
[1452] To the person in charge
[1453] thank you always.
[1454] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1455] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1456] XX Co., Ltd.
[1457] In this way, the server utilizes the emotion engine to check receipt of emails, filter them, check if they have arrived, and generate and send emails in response to emotions, thereby improving the efficiency of a company's operations and realizing effective communication with users.
[1458] The processing flow will be explained below.
[1459] Step 1: Connect to your mail server
[1460] The server accesses a specific mail server (e.g. imap.example.com) according to a set schedule.
[1461] The server logs in to the mail server using pre-registered authentication information (username and password).
[1462] Step 2: Confirm receipt of email
[1463] The server checks the inbox of the specified email address (e.g., invoice@example.com) and retrieves any new emails from the past 24 hours.
[1464] The server stores the list of new mails it has acquired in its internal memory.
[1465] Step 3: Filtering email
[1466] The server analyzes the subject and body of the retrieved email.
[1467] The server filters emails containing specific keywords (e.g., "invoice" or "INVOICE") and extracts only those emails that match the keywords.
[1468] Step 4: Saving to the Database
[1469] The server stores information about filtered emails (sender, date and time of receipt, subject, summary of the body of the email, etc.) in a database.
[1470] The server confirms that the save is complete and generates a confirmation log.
[1471] Step 5: Check for undelivered items
[1472] The server compares the pre-registered recipient list with the filtering results stored in the database.
[1473] The server adds emails that have not been confirmed as received by the specified date to a "missing list."
[1474] Step 6: Analyzing user sentiment
[1475] The server uses an emotion engine to analyze the user's emotions.
[1476] The server determines the user's emotional state (e.g., stress, anxiety, contentment, etc.) based on past communications and current context.
[1477] Step 7: Generate automated email notifications
[1478] The server generates an automatic notification email using a specified template based on the undelivered email list.
[1479] The server dynamically adjusts the content and expression of the email based on the results of the user's emotion analysis.
[1480] For example, if it is determined that the user is feeling stressed, the tone of the contact email will be softened and the content of the request will be expressed in a softer manner.
[1481] Step 8: Send a contact email
[1482] The server sends the generated automatic contact email to the email address of the person in charge of the business partner who has not received the email.
[1483] The server records the transmission result in a log file.
[1484] Step 9: Accumulating Emotional Data
[1485] The server stores the user's emotional data analyzed by the emotion engine and uses it as a reference for future communications.
[1486] The server will build a long-term database and use it to improve user satisfaction.
[1487] In this way, the system of the present invention specifically implements a series of processes for checking email receipts, filtering, checking for non-delivery, analyzing emotions, and generating and sending automatic email notifications, thereby significantly improving business efficiency and achieving higher levels of satisfaction through effective communication with users.
[1488] Example 2
[1489] 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."
[1490] Conventional email management systems check received emails and notify users of undelivered emails to improve business efficiency, but they do not achieve efficient and effective communication. Furthermore, they send automatic notification emails without considering the user's emotional state, which can be unpleasant for the recipient. This leads to a decrease in user satisfaction and an inability to provide effective business support.
[1491] 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.
[1492] In this invention, the server includes means for periodically checking emails received at a specific email address, means for filtering out emails containing specific keywords from the received emails, means for confirming that emails scheduled to be received on a specific date have not yet arrived, means for generating and sending automatic notification emails regarding the missed emails, means for analyzing the user's emotional state, means for dynamically adjusting the content of the notification email based on the emotion analysis results, means for recording the results of sending the notification email, and means for accumulating emotion data and utilizing it for future communications. This improves the accuracy and efficiency of corporate email operations and enables effective communication that reflects the user's emotions.
[1493] "Means for periodically checking for mail received at a specific email address" refers to a device or software that periodically accesses a mail server and checks for new mail received at a specified email address.
[1494] "Means for filtering emails containing specific keywords from received emails" refers to a processing device or software that analyzes the subject and body of emails and selects emails that contain pre-set keywords.
[1495] "Means for confirming that emails that were scheduled to be received on a specific date have not yet arrived" refers to a device or software that compares the actual reception results with a pre-registered list of emails to be received and checks whether any emails have not been received by the scheduled date.
[1496] "Means for generating and sending automatic notification emails regarding undelivered emails" refers to a device or software that automatically creates notification emails based on information about undelivered emails and sends them to the appropriate contacts.
[1497] "Means for analyzing a user's emotional state" refers to technology or software for analyzing and assessing a user's emotional state based on past communications and current context.
[1498] "Means for dynamically adjusting the content of notification emails based on the results of emotion analysis" refers to a device or software that appropriately changes the tone and content of notification emails based on the results of user emotion analysis.
[1499] "Means for recording the results of sending the notification email" refers to a device or software for recording in a log whether the generated notification email was sent correctly.
[1500] "Means for accumulating emotional data and utilizing it in future communications" refers to a device or software that stores analyzed emotional data in a database or the like and utilizes it in future email generation and communication strategies.
[1501] This invention is a system that aims to improve the efficiency of corporate e-mail operations, and in particular has the function of checking for and automatically notifying undelivered invoices, and also combines it with an emotion engine that analyzes user emotions. This system improves the accuracy and efficiency of e-mail processing, and enables communication that responds to the user's emotions.
[1502] The system is mainly composed of a server, terminals, and various hardware and software operated by users. The specific operation and technologies used are explained below.
[1503] Email Reception Confirmation
[1504] The server periodically checks the specified email address. To achieve this, the server accesses the mail server (e.g., Gmail or Microsoft Exchange) using the IMAP or POP3 protocol and logs in using authentication information (username and password).
[1505] Email filtering
[1506] The server analyzes the subject and body of received emails and filters emails containing specific keywords (e.g., "invoice" or "INVOICE"). This analysis is performed using a natural language processing (NLP) library (e.g., NLTK or spaCy). The filtered emails are then stored in a database (e.g., MySQL or PostgreSQL).
[1507] Undelivered confirmation
[1508] The server checks the filtered email against a pre-defined list of recipients (e.g., an Excel spreadsheet or CSV file) to see if any emails that were due to arrive on a particular date have not arrived. If they have not, the emails are added to the list.
[1509] Tailoring email communications through sentiment analysis
[1510] When generating a notification email based on the undelivered list, the server uses an emotion engine to analyze the user's emotions. The emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) determines the user's emotional state (e.g., stress, anxiety, satisfaction, etc.) based on past communications and current context. Based on the results of this analysis, the server can dynamically adjust the content and wording of the notification email.
[1511] Sending automatic email notifications
[1512] The generated emails are automatically sent by the server to the email addresses of the missing contacts, and the results of this sending process are logged in detail.
[1513] Accumulation and utilization of emotional data
[1514] The server accumulates the user's emotional data analyzed by the emotion engine and uses it for future communications, thereby building a database to improve user satisfaction over the long term.
[1515] Specific examples
[1516] For example, suppose a user is due to receive an invoice by October 1st. The server runs at 9:00 AM on October 2nd, connects to the mail server, and retrieves new emails from the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). It then filters emails containing specific keywords, stores them in a database, and compares them with the list of emails due to be received by October 1st. If it is determined that an email that should have been received by October 1st has not yet arrived, it is added to the list of emails that have not yet arrived.
[1517] The server uses an emotion engine to analyze the user's emotions and adjust the content of the notification email as needed. If the user is judged to be prone to stress, the server generates a notification email like this:
[1518] text
[1519] Subject: Notification of undelivered invoice
[1520] Contents:
[1521] Customer Name
[1522] To the person in charge
[1523] thank you always.
[1524] The invoice that was due to be received by ____ / ____ / ____ has not yet arrived.
[1525] We apologize for the inconvenience, but please confirm that you would like to resend the item.
[1526] Company name
[1527] In this way, the efficiency of business operations of a company can be improved and effective communication with users can be achieved through confirmation of receipt of emails, filtering, confirmation of non-delivery, and generation and sending of communication emails according to emotions.
[1528] Prompt Sentence Examples
[1529] The following prompts can be fed into the generative AI model to provide instructions for sentiment analysis and email generation:
[1530] If the user has missed an invoice they are due to receive, generate a notification email based on the following emotional state:
[1531] If the user is stressed: Soften your tone and phrase your request softly.
[1532] If the user is happy: Generate an email in a standard tone.
[1533] Using this prompt sentence, a system can be constructed in which a generative AI model generates an appropriate contact email based on the user's emotional state.
[1534] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1535] Step 1:
[1536] The server connects to the mail server
[1537] Input: Authentication information (username and password), mail server address
[1538] What happens: The server accesses the mail server using the IMAP or POP3 protocol and logs in using the specified credentials. For example, when connecting to Gmail's IMAP server, the server connects securely using IMAP4_SSL.
[1539] Output: Connection established, mail folder selection in mail server completed.
[1540] Step 2:
[1541] Server retrieves new mail
[1542] Input: Email folder on the connected email server, search criteria (e.g., emails from the last 24 hours)
[1543] Specific operation: The server uses a search command to get the IDs of new emails received within the specified period, creates a list of email IDs, and accesses the new emails.
[1544] Output: A list of new email IDs, along with the body and subject of each email.
[1545] Step 3:
[1546] The server parses the email subject and body
[1547] Input: List of new email IDs, body and subject of each email
[1548] What it does: The server uses a natural language processing (NLP) library (e.g., NLTK or spaCy) to parse the subject and body of each email, checking for specific keywords (e.g., "invoice" or "INVOICE") and filtering them.
[1549] Output: A list of filtered emails.
[1550] Step 4:
[1551] The server stores the filtered emails in a database
[1552] Input: List of filtered emails
[1553] What it does: The server stores the filtered emails in a database (e.g. MySQL, PostgreSQL) along with the necessary metadata.
[1554] Output: Filtered email entries stored in the database.
[1555] Step 5:
[1556] The server checks the list of recipients
[1557] Input: Filtered emails stored in a database, recipients list (e.g. Excel sheet or CSV file)
[1558] Specific operation: The server checks the expected recipient list against the database to see if any emails have not been received by the expected date. If any emails have not been received, they are added to the undelivered list.
[1559] Output: Undelivered list.
[1560] Step 6:
[1561] The server uses an emotion engine to analyze the user's emotions.
[1562] Input: Missing messages list, past communication contents and current context (text data)
[1563] Specific operation: The server uses an emotion engine (e.g., IBM Watson Tone Analyzer or Azure Text Analytics) to analyze the user's emotional state. Based on the analysis results, the server determines the user's emotional state.
[1564] Output: User sentiment analysis results.
[1565] Step 7:
[1566] The server generates a contact email based on the results of the sentiment analysis.
[1567] Input: Undelivered list, user sentiment analysis results
[1568] Specific operation: The server dynamically adjusts the content and tone of the email depending on the results of emotion analysis. For example, if the user is feeling stressed, the email content will be softened.
[1569] Output: The generated contact email.
[1570] Step 8:
[1571] The server sends a notification email
[1572] Input: Generated contact email, contact email address
[1573] Specific operation: The server automatically sends the generated contact email to the contact's email address. The sending result is recorded in a detailed log.
[1574] Output: Sending log.
[1575] Step 9:
[1576] The server accumulates emotional data and uses it for future communication.
[1577] Input: User sentiment analysis results
[1578] Specific operation: The server stores the analyzed emotional data in a database and uses it to generate future contact emails and for communication strategies.
[1579] Output: Accumulated emotion data.
[1580] In this way, the system streamlines corporate email processing operations and enables effective communication that responds to users' emotions.
[1581] (Application example 2)
[1582] 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."
[1583] Inventory management and confirmation of part orders and receipts are important tasks in modern factories and companies. However, with the increase in communication via email, there are cases where confirmation of orders and receipts is delayed or notifications of non-delivery are not properly sent, resulting in a decrease in work efficiency. Another issue is that these tasks can be stressful for employees. To address this issue, there is a need to develop a system that automates these tasks and communicates in a way that takes employees' feelings into consideration.
[1584] The specific processing by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for periodically checking electronic communications received at a specific email address, means for filtering received electronic communications for those containing specific keywords, means for confirming that electronic communications scheduled to be received on a specific date have not yet arrived, means for generating and sending an automatic notification regarding the missed electronic communications, and means for analyzing employee emotions and adjusting the content of the automatic notification based on the analysis results. This improves the efficiency of inventory management and order / receipt confirmation tasks, and enables effective communication that takes employee emotions into consideration.
[1585] "Electronic Communications" means information sent or received via email or other digital messaging services.
[1586] A "checking means" is a mechanism for periodically accessing a particular email address to check for newly received electronic communications.
[1587] "Filtering means" is a function that analyzes the subject and body of received electronic communications and selects only those that contain specific keywords.
[1588] A "measure for verifying receipt" is a process for checking filtered electronic communications against a pre-established list of recipients to determine whether any communications have not been verified as received by a predetermined date.
[1589] An "automated notification generating and sending means" is a system that generates and automatically sends notifications using pre-defined templates based on information about identified missing electronic communications.
[1590] "Means to analyze emotions and adjust content" refers to a function that analyzes an employee's past communications and current context to determine the employee's emotional state, and appropriately changes the content and tone of automated notifications based on the results.
[1591] "Information storage means" means a system that stores filtered electronic communications in a storage device such as a database.
[1592] "Means for checking against recipient lists" refers to the process of checking stored electronic communications against a pre-established scheduled recipient list to identify any missed communications.
[1593] This invention is a system for managing electronic communications in companies and factories, and for streamlining inventory management and order and receipt confirmation tasks. It periodically checks electronic communications received at a specific email address, filters communications containing specific keywords, checks for undelivered communications, and generates and sends automatic notifications based on sentiment analysis as needed. A specific embodiment of this system is described below.
[1594] System Configuration
[1595] 1. Hardware Configuration
[1596] The system of the present invention includes the following hardware configuration.
[1597] Mail Server: The server that manages the mailboxes for specified email addresses.
[1598] Database Server: A server that manages a database for storing filtered electronic communications and recipient lists.
[1599] Edge devices (such as factory robots): Devices that periodically check electronic communications for filtering and delivery.
[1600] User Device: The device (PC, smartphone, etc.) used by the employee to receive notifications.
[1601] 2. Software Configuration
[1602] The system of the present invention includes the following software components:
[1603] IMAP client: Client software for connecting to a mail server and retrieving electronic communications.
[1604] SMTP client: Client software for sending notification emails.
[1605] Filtering Module: Software for filtering received electronic communications for specific keywords.
[1606] Emotion Engine: Software that analyzes employee emotions and adjusts notification content.
[1607] Database Management System: Software that manages electronic communications and recipient lists.
[1608] System Implementation
[1609] 1. Regularly Check Your Electronic Communications
[1610] The edge device uses an IMAP client to periodically check the inbox of a specified email address, for example, at 9:00 AM each day for new electronic communications.
[1611] 2. Filtering Methods
[1612] The filtering module analyzes the received electronic communications and selects those that contain specific keywords such as "invoice" or "INVOICE" in the subject or body of the communications. These communications are then stored in a database server.
[1613] 3. How to confirm that the package has not arrived
[1614] The edge device checks the filtered electronic communications against the expected list to see if any communications have not been received within a given timeframe. If a missed communication is identified, the information is added to the missed list.
[1615] 4. Sentiment analysis and content adjustment
[1616] The emotion analysis engine analyzes the content and context of the employee's past communications to determine their current emotional state. For example, if it determines that the employee is feeling stressed, it will adjust the content and tone of the notification email to be gentler.
[1617] 5. Means of generating and sending automated notifications
[1618] Using an SMTP client, the generated notification email is automatically sent to the sender of the missed communication. Detailed sending results are recorded in a log and notified to the user's terminal as necessary.
[1619] Specific examples
[1620] For example, suppose a user is scheduled to receive delivery of a certain part by October 1st. If it is currently 9:00 AM on October 2nd, the edge device connects to the mail server and checks for new electronic communications that have arrived within the past 24 hours (from 9:00 AM on October 1st to 9:00 AM on October 2nd). If no electronic communications containing the keyword "invoice" or "INVOICE" have arrived during this time, an email notification of the missed delivery is generated.
[1621] The following prompt sentence examples are also provided:
[1622] "If you ask a user to confirm the delivery of a certain part, but it doesn't arrive, please perform sentiment analysis and generate a notification email in a gentle tone to request a re-delivery if the user feels stressed."
[1623] In this way, the present invention improves the efficiency of inventory management and order / receipt confirmation operations, and realizes effective communication that takes into consideration the feelings of employees.
[1624] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1625] Step 1:
[1626] The server periodically accesses the inbox of a specified email address using an IMAP client to retrieve new email communications. The input is the mail server's authentication information (username, password) and the email data in the inbox. As a process, it connects to the mail server using the IMAP protocol and retrieves new email communications within a specified period. The output is the data of the newly received email communications.
[1627] Step 2:
[1628] The server uses a filtering module to filter out electronic communications containing specific keywords (e.g., invoice, INVOICE) based on the subject and body of the electronic communications obtained in step 1. The input is the data of newly received electronic communications. As a process, the subject and body of the electronic communications are analyzed to check whether the specified keywords are included. The output is the data of electronic communications containing the specific keywords.
[1629] Step 3:
[1630] The server stores the filtered electronic communications in a database and compares the filtering results with the list of intended recipients. The inputs are the filtered electronic communications and the list of intended recipients. The processing involves recording the filtered electronic communications in a database and comparing their contents with the list of intended recipients. The output is a list of missed electronic communications.
[1631] Step 4:
[1632] The server analyzes the user's emotions using an emotion analysis engine based on the missing electronic communications. The input is a list of missing electronic communications and the user's past communication history. The processing uses the emotion analysis engine (EmotionEngine) to analyze the user's past communication history and determine the user's current emotional state. The output is the user's emotional state (e.g., stress, anxiety, satisfaction, etc.).
[1633] Step 5:
[1634] The server generates an automatic notification with an appropriate tone based on the results of the sentiment analysis. The input is a list of missed electronic communications and the user's emotional state. The processing involves generating a notification email containing information about the missed electronic communications and adjusting the content and tone according to the user's emotional state. The output is the generated notification email.
[1635] Step 6:
[1636] The server uses an SMTP client to send the generated notification email. The input is the generated notification email. As a process, the notification email is sent to the target email address using the SMTP protocol. The output is log data regarding the sending result.
[1637] Step 7:
[1638] The server records the sending results of the notification email in a database and notifies the user terminal. The input is log data regarding the sending results. As a process, the sending results are recorded in the database and a notification is sent to the user terminal as necessary. The output is the updated database and a notification to the user.
[1639] 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.
[1640] 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.
[1641] 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.
[1642] 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.
[1643] 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.
[1644] 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.
[1645] 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).
[1646] 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.
[1647] 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."
[1648] 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.
[1649] 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).
[1650] 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.
[1651] 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.
[1652] 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.
[1653] 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.
[1654] 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.
[1655] 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.
[1656] 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.
[1657] 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.
[1658] 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.
[1659] 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.
[1660] The following is further disclosed regarding the above embodiment.
[1661] (Claim 1)
[1662] A means of periodically checking for emails received at a particular email address;
[1663] A means of filtering received emails that contain specific keywords;
[1664] A way to check if emails that were supposed to arrive on a specific date have not arrived,
[1665] means for generating and sending automatic email notifications regarding missed emails;
[1666] A system including:
[1667] (Claim 2)
[1668] 10. The system of claim 1, further comprising means for storing filtered mail in a database and matching the filtered mail against a scheduled recipient list.
[1669] (Claim 3)
[1670] 10. The system of claim 1, further comprising means for dynamically inserting information about missed mail using an auto-contact mail template.
[1671] "Example 1"
[1672] (Claim 1)
[1673] A means of periodically checking a specific email address;
[1674] A means for analyzing the subject and body of received e-mails and filtering out e-mails containing specific keywords;
[1675] A means of checking against a pre-registered recipient list to confirm that emails that were scheduled to be received on a specific date have not yet arrived;
[1676] means for generating and sending an automatic notification email regarding the undelivered email based on the undelivered email list;
[1677] A system including:
[1678] (Claim 2)
[1679] 10. The system of claim 1, further comprising means for storing filtered mail in a database and matching the filtered mail against a scheduled recipient list.
[1680] (Claim 3)
[1681] 10. The system of claim 1, further comprising means for dynamically inserting information about missed mail using an auto-contact mail template.
[1682] "Application Example 1"
[1683] (Claim 1)
[1684] A means of periodically checking for emails received at a particular email address;
[1685] A means of filtering received emails that contain specific keywords;
[1686] A way to check if emails that were supposed to arrive on a specific date have not arrived,
[1687] means for generating and sending automatic email notifications regarding missed emails;
[1688] A means for immediately notifying the user of information about undelivered emails;
[1689] A system including:
[1690] (Claim 2)
[1691] 10. The system of claim 1, further comprising means for storing filtered mail in a database and matching the filtered mail against a scheduled recipient list.
[1692] (Claim 3)
[1693] 10. The system of claim 1, further comprising means for dynamically inserting information about missed mail using an auto-contact mail template.
[1694] "Example 2: Combining Emotion Engines"
[1695] (Claim 1)
[1696] A means of periodically checking for emails received at a particular email address;
[1697] A means of filtering received emails that contain specific keywords;
[1698] A way to check if emails that were supposed to arrive on a specific date have not arrived,
[1699] means for generating and sending automatic email notifications regarding missed emails;
[1700] means for analyzing the emotional state of a user;
[1701] A means for dynamically adjusting the content of the contact email based on the result of the sentiment analysis;
[1702] A means for recording the results of sending the contact email;
[1703] A means to accumulate emotional data and use it in future communications,
[1704] A system including:
[1705] (Claim 2)
[1706] 10. The system of claim 1, further comprising means for storing filtered mail in a database and matching the filtered mail against a scheduled recipient list.
[1707] (Claim 3)
[1708] 10. The system of claim 1, further comprising means for dynamically inserting information about missed mail using an auto-contact mail template.
[1709] "Application example 2 when combining emotion engines"
[1710] (Claim 1)
[1711] A means of periodically checking electronic communications received at a particular email address;
[1712] means for filtering received electronic communications containing specific keywords;
[1713] A means of verifying that electronic communications that were due to be received on a particular date have not been received; and
[1714] means for generating and sending automated notifications regarding missed electronic communications;
[1715] A means of analyzing employee sentiment and adjusting the content of automated notifications based on the analysis results;
[1716] A system including:
[1717] (Claim 2)
[1718] 10. The system of claim 1, further comprising means for storing the filtered electronic communications in the information storage means and for matching the filtered electronic communications with a scheduled receiving list.
[1719] (Claim 3)
[1720] 10. The system of claim 1, further comprising means for dynamically inserting information about the missing electronic communication using an automatic notification template. [Explanation of symbols]
[1721] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means of periodically checking for emails received at a particular email address; A means of filtering received emails that contain specific keywords; A way to check if emails that were supposed to arrive on a specific date have not arrived, means for generating and sending automatic email notifications regarding missed emails; A system including:
2. 10. The system of claim 1, further comprising means for storing filtered mail in a database and for matching the filtered mail with a scheduled recipient list.
3. 2. The system of claim 1, further comprising means for dynamically inserting information regarding missed mail using an auto-contact mail template.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A