System
The system automates email generation and distribution from spreadsheet data, enhancing business efficiency by reducing manual effort and errors, and allowing personalized communication based on user emotions.
Patent Information
- Application Number
- JP2024121604
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-26
- Publication Date
- 2026-02-05
AI Technical Summary
Existing business processes, such as sending emails and sharing spreadsheet data, require significant manual effort and specialized programming knowledge, leading to inefficiencies and human errors.
A system that automates these tasks by acquiring data from a spreadsheet, generating and sending emails, and setting timer triggers, allowing users to easily manage business processes without programming knowledge through functions like data acquisition, email generation, and placeholder replacement.
This system significantly improves work efficiency by automating email distribution and reducing manual effort, minimizing errors, and enabling personalized email content based on user emotions.
Smart Images

Figure 2026019856000001_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] Improving business efficiency within companies and organizations requires a lot of manual work, and it takes a lot of time and effort, especially when it comes to sending emails or sharing spreadsheet data. Because automating such tasks requires specialized programming knowledge, there is a demand for systems that can easily automate tasks. [Means for solving the problem]
[0005] The present invention solves the above-mentioned problems by providing a system including a means for acquiring data from a spreadsheet, a means for generating an email based on the data, a means for sending the generated email, and a means for setting a timer trigger for periodically executing the above-mentioned means. Furthermore, by including a means for replacing placeholders in a spreadsheet to generate the email body, and a means for acquiring the email destination address, CC address, subject, and body from the spreadsheet, it is possible to easily automate business processes without programming knowledge.
[0006] A "spreadsheet" is an electronic table that manages and displays data in a format organized by rows and columns.
[0007] "Data" is the collection of information entered into a spreadsheet and used to generate and send emails.
[0008] "Email" means an electronic message sent or received over the Internet.
[0009] "Generate" refers to the act of creating a new email based on the data entered.
[0010] "Sending" is the act of sending the generated email to the specified recipient address.
[0011] A "timer trigger" is a setting that automatically executes a specific process or script at a specific time or interval.
[0012] A "placeholder" is a temporary marker within a template that is to be replaced with specific data or information at a later time.
[0013] "Getting" is the act of reading the required information from a spreadsheet or other data source. [Brief explanation of the drawings]
[0014] [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
[0015] 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.
[0016] First, the terms used in the following description will be explained.
[0017] 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).
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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."
[0022] [First embodiment]
[0023] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0024] 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.
[0025] 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).
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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."
[0035] As an embodiment of the invention, specific steps for a user to achieve improved business efficiency and system operation will be described.
[0036] Steps to be taken by the user
[0037] First, users open a Google spreadsheet and enter their business data into an "Email List" sheet, which must contain the To address, CC address, subject, and body of each email.
[0038] Next, the user opens Google's script editor, pastes in the script, and saves it. The script contains functions to read data from the spreadsheet and generate and send an email.
[0039] For initial setup, the user manually runs the setupTrigger function in the script to set a periodic timer trigger, which will automatically send emails at the specified interval.
[0040] Server Operation
[0041] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List").
[0042] The server then loads a template to generate the email, which contains placeholders that are replaced based on each row of data.
[0043] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0044] Specific examples
[0045] For example, if a user wants to send a work reminder email every day at 9:00, they would enter the following data into the "Email List" sheet in Google Sheets:
[0046] | To address | CC address | Subject | Body |
[0047] |------------------------|------------------|--------------------------|----------------------------|
[0048] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0049] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to set the sendAutoEmails function to run automatically every day at 9:00 AM.
[0050] The server runs the script every day at 9:00, retrieves data from the spreadsheet, generates emails based on templates, and sends them to recipients. This saves users the trouble of manually sending emails, significantly improving work efficiency.
[0051] This system allows users to easily set up automatic email distribution without any programming knowledge, thereby improving work efficiency.
[0052] The processing flow will be explained below.
[0053] Step 1:
[0054] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0055] Step 2:
[0056] Users simply open Google's script editor, paste in the required script, and save it, which reads the data from the spreadsheet and generates and sends the email.
[0057] Step 3:
[0058] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0059] Step 4:
[0060] The server will automatically execute the script at the specified time according to the configured trigger.
[0061] Step 5:
[0062] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0063] Step 6:
[0064] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0065] Step 7:
[0066] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0067] Step 8:
[0068] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0069] Step 9:
[0070] The server obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data in that order.
[0071] Step 10:
[0072] The server generates formattedBody by replacing the placeholder {{body}} in the HTML template it loaded beforehand with the retrieved body data.
[0073] Step 11:
[0074] The server uses the GmailApp.sendEmail function to send an email by specifying the destination address, subject, body, and CC address.
[0075] Step 12:
[0076] After the server has completed generating and sending emails for all row data, it ends the process.
[0077] Example 1
[0078] 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."
[0079] In conventional business operations, sending emails was often done manually, which required a lot of time and effort. Furthermore, manual email sending is prone to human error and reduced efficiency, so there was a need to automate this process to improve business efficiency. Furthermore, there was a lack of a system for automatically generating and sending emails based on data entered into a spreadsheet.
[0080] 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.
[0081] In this invention, the server includes means for acquiring data from a spreadsheet document containing business data, means for generating an electronic document based on the data, means for transmitting the generated electronic document, and means for setting a time-based trigger for periodically executing the means, thereby automating the email transmission process, reducing human error and improving business efficiency.
[0082] "Business data" refers to information such as work details, email addresses, subjects, and text entered into electronic documents or spreadsheets.
[0083] A "spreadsheet document" is a document created using software for managing and editing data in matrix format. Examples include spreadsheets.
[0084] An "electronic document" is a document that is digitized and transmitted over a communications medium, such as in the form of an email.
[0085] A "time-based trigger" is a mechanism for automatically executing a specific process at a specified time interval or at a specific time.
[0086] A "server" is a computer system that performs designated processing and provides services to clients.
[0087] "Means for acquiring data" refers to the functions and devices for reading the necessary information from the target data source.
[0088] "Means for generating electronic documents" refers to functions or devices for creating e-mails or other documents in a predefined format based on acquired data.
[0089] The "means for transmitting an electronic document" refers to a communication function or device for transmitting the generated electronic document to a specified address.
[0090] A "placeholder" is a temporary character string for embedding a variable value or dynamically changing data, and is replaced with the final data.
[0091] The present invention automates specific processes in a system for managing business data, improving business efficiency. The main components of this system are as follows:
[0092] First, the user opens a spreadsheet and organizes and enters business data into the "Mail List" sheet. This sheet must contain the email To address, CC address, subject, and body text. Next, the user opens the script editor, pastes the provided script, and saves it. The script contains functions for reading data from the spreadsheet and generating and sending electronic documents. For initial setup, the user manually executes the setupTrigger function in the script to set a periodic timer trigger. This allows emails to be sent automatically at specified intervals.
[0093] The server (Google Apps Script's execution engine) first retrieves data from a spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List"). Next, the server loads a template for generating an electronic document. The template contains placeholders that are replaced based on the data for each row. The server loops through the process, reads data from each row of the spreadsheet, replaces the placeholders with the appropriate data, generates an electronic document, and sends it to the specified recipient using GmailApp.
[0094] For example, if a user wants to send a work reminder email every day at 9:00, he or she would enter the following data into the "Mail List" sheet of a spreadsheet:
[0095] | To address | CC address | Subject | Body |
[0096] |------------------------|------------------|--------------------------|-----------------------------|
[0097] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0098] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 9:00 every day. The server executes the script at 9:00 every day, retrieves data from the spreadsheet, generates an electronic document based on the template, and sends it to the specified recipients. This saves the user the trouble of manually sending emails, significantly improving work efficiency.
[0099] Examples of prompts to input to a generative AI model include:
[0100] "I would like you to create a script using Google Apps Script that will automatically send emails based on data from a spreadsheet. Please provide a function that allows users to enter recipient addresses, CC addresses, a subject line, and a body of email in the "Email List" sheet of the spreadsheet, and send an email every day at 9:00 AM based on that information."
[0101] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0102] Step 1:
[0103] A user enters data into a spreadsheet document.
[0104] The user first opens a spreadsheet and enters business data into the "Mail List" sheet, which includes the recipient address, CC address, subject, and body of the email.
[0105] Input: Enter business data into a spreadsheet.
[0106] Output: The entered data is saved in the "Email List" sheet.
[0107] Step 2:
[0108] The user configures and saves the script in the script editor.
[0109] The user opens the "Script Editor" from the "Tools" menu of the spreadsheet, pastes the provided script, and saves it. The script contains functions for reading data and generating and sending emails.
[0110] Input: The script code provided.
[0111] Output: The script saved in the script editor.
[0112] Step 3:
[0113] The user sets up a timer trigger during first-time setup.
[0114] The user manually executes the setupTrigger function in the script editor to set a timer trigger to automatically execute the script at a specific time every day.
[0115] Input: Execution of setupTrigger function.
[0116] Output: Trigger settings to automatically execute a script at a specified time.
[0117] Step 4:
[0118] The server periodically runs the script and retrieves the data.
[0119] The server is triggered at the specified time to execute the script, first retrieving data from the "Mail List" sheet in the spreadsheet.
[0120] Input: The script started by the trigger and the data from the "Mail List" sheet in the spreadsheet.
[0121] Output: Business data read into memory by the script.
[0122] Step 5:
[0123] The server generates the email.
[0124] Based on the retrieved data, the server replaces the placeholders in the template to generate the email, using a loop to replace the placeholders for each row of data.
[0125] Input: In-memory business data and templates.
[0126] Output: Placeholders are replaced and a separate email template is generated.
[0127] Step 6:
[0128] The server sends the email.
[0129] Once the email is generated, the server uses GmailApp to send it to the specified recipient.
[0130] Input: The generated email.
[0131] Output: A successful delivery message to the specified recipient.
[0132] This process flow saves the user the trouble of manually sending emails, improving work efficiency.
[0133] (Application example 1)
[0134] 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."
[0135] In recent years, automated machines have been introduced in many factories. Among these, regular maintenance of machines is important, and any omissions in maintenance can affect the entire production line. However, managing maintenance schedules and notifying personnel at the appropriate times is time-consuming and prone to human error. Furthermore, systems for managing maintenance information are often complex, placing a burden on users. The present invention aims to solve these problems and improve the efficiency of maintenance management of factory machines.
[0136] 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.
[0137] In this invention, the server includes means for acquiring data from a spreadsheet, means for generating e-mail based on the data, means for sending the generated e-mail, means for setting a timer trigger for periodically executing the means, and means for managing the maintenance schedule of the factory machines, thereby enabling effective management of the machine maintenance schedule and automatic notification to the person in charge.
[0138] A "spreadsheet" is software for organizing data and storing it in a tabular format.
[0139] "Means for obtaining data" refers to the functionality for extracting the necessary information from the spreadsheet.
[0140] The "means for generating e-mail" is a function for creating e-mail content based on the acquired data.
[0141] The "means for sending e-mail" is a function for sending the generated e-mail to a specified destination.
[0142] The "means for setting a timer trigger" is a scheduling function for automatically executing a specific process periodically.
[0143] A "factory" is a facility for manufacturing products.
[0144] "Machinery" refers to production equipment and devices used in factories.
[0145] A "maintenance schedule" is a plan that indicates the dates for regular maintenance work on a machine.
[0146] "Means of control" refers to the ability to effectively organize and track maintenance schedules.
[0147] A "person in charge" is a person who is responsible for carrying out a particular job or task.
[0148] "Sending notifications automatically" means that the system automatically makes contact without human intervention.
[0149] The following describes in detail an embodiment of the present invention. One embodiment of the present invention is a system that automatically manages maintenance schedules for machines in a factory and notifies personnel in charge at appropriate times.
[0150] Steps to be taken by the user
[0151] First, users open a Google spreadsheet and organize and enter data related to maintenance schedules into the "Maintenance Schedule" sheet. This sheet contains placeholders for the recipient address, CC address, subject line, and body of each notification. Specifically, the maintenance date, name of the person in charge, and name of the machine are entered.
[0152] Next, the user opens the Google Script Editor, pastes in the appropriate script, and saves it. This script contains functions to read data from a spreadsheet and generate and send emails. For initial setup, the user manually runs the setupTrigger function to set up a periodic timer trigger, which automatically sends maintenance notifications at the specified interval.
[0153] Server Operation
[0154] The server (the execution engine of Google Apps Script) first retrieves the data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Maintenance Schedule"). Next, the server loads a template for generating the email. The template contains placeholders that are replaced based on the data for each row.
[0155] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0156] Specific examples
[0157] For example, if a user wants to send a machine maintenance reminder email every day at 8:00, they would enter the following data into the "Maintenance Schedule" sheet in Google Sheets:
[0158] | Maintenance person's email address | CC address | Subject | Person in charge name | Maintenance date | Machine name |
[0159] |---------------------------|-------------|---------------------------|-----------|---------------|---------|
[0160] | maintainer@example.com | supervisor@example.com | Robot maintenance notification | Taro Yamada | 2023-11-01 | Manufacturing robot A |
[0161] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 8:00 every day. The server executes the script at 8:00 every day, retrieves data from the spreadsheet, generates emails based on the template, and sends them to the recipients. This saves the user the trouble of manually sending notifications and greatly improves the efficiency of managing maintenance schedules.
[0162] Example prompt sentence:
[0163] "I would like to apply an automatic email notification system using Google Spreadsheets to machine maintenance management in a factory. Please provide me with the Google Apps Script code for an application that automatically sends reminder emails to the person in charge about maintenance dates."
[0164] In this way, the present invention allows users to easily set up automatic distribution of maintenance notifications even if they do not have programming knowledge, thereby improving the efficiency of factory operations.
[0165] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0166] Step 1:
[0167] The user opens a Google spreadsheet and enters the maintenance schedule data, including the email address of the maintenance person, CC address, subject, person's name, maintenance date, and machine name.
[0168] Input: Maintenance-related data (recipient address, CC address, email subject, contact person name, maintenance date, machine name)
[0169] Output: Maintenance data organized in a Google spreadsheet
[0170] Step 2:
[0171] The user opens the Google Script Editor, pastes in the appropriate script, saves it, and then manually runs the setupTrigger function to set up a periodic timer trigger.
[0172] Input: Google Apps Script code
[0173] Output: Setting a timer trigger that runs periodically
[0174] Step 3:
[0175] The server periodically executes a script triggered by a timer to retrieve data from a spreadsheet. Here, SpreadsheetApp is used to select the active spreadsheet and retrieve all data from the specified sheet ("Maintenance Schedule").
[0176] Input: "Maintenance Schedule" sheet in Google Spreadsheet
[0177] Output: Retrieved maintenance data
[0178] Step 4:
[0179] The server loads an email template, which contains placeholders that are replaced based on each line of data.
[0180] Input: Email template, captured maintenance data
[0181] Data manipulation: Customize templates by replacing placeholders in the template based on each row's data
[0182] Output: Customized email body
[0183] Step 5:
[0184] The server performs a loop based on the retrieved data and generates email information (recipient, CC, subject, and body) from each row of data.
[0185] Input: Retrieved maintenance data
[0186] Data Calculation: Generate email recipients, CCs, subject lines, and body text based on each line of data
[0187] Output: Generated email information
[0188] Step 6:
[0189] Sends the generated email using GmailApp and records the success or failure status of the sending.
[0190] Input: Generated email information
[0191] Data calculation: Send emails and record result status using GmailApp
[0192] Output: Reminder email sent to the agent, status log
[0193] This process ensures that maintenance schedules for factory machines are managed efficiently and that personnel receive timely reminders.
[0194] 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.
[0195] The system of the present invention combines data management using Google Spreadsheets with automatic sending via Gmail, and further integrates an emotion engine that recognizes the user's emotions to provide a function for automatically customizing the content of emails. Specific embodiments are described below.
[0196] Steps to be taken by the user
[0197] First, the user opens a Google spreadsheet and creates an "Email List" sheet. In this sheet, they enter the recipient address, CC address, subject, and body of the email. This data will be used as the sending information for the email.
[0198] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine.
[0199] For the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0200] Server Operation
[0201] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0202] The server then uses an emotion engine to recognize the user's emotions. This emotion data is used to customize the email content. For example, if the user is in a positive mood, an email with a more encouraging message will be generated.
[0203] The server then loads an email template, which contains placeholders that are replaced based on the data and sentiment data from the spreadsheet.
[0204] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and uses the Gmail app to send the email to the specified recipient.
[0205] Specific examples
[0206] For example, if a user wants to send a work reminder email every morning, they would enter the data into the "Email List" sheet as follows:
[0207] | To address | CC address | Subject | Body |
[0208] |------------------------|------------------|--------------------------|----------------------------|
[0209] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0210] Additionally, if the emotion engine recognizes that the user is satisfied with the work they did the previous day, it will add an encouraging message to the email body: "You did a great job yesterday. Let's do our best today too!"
[0211] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to automatically send the email every morning.
[0212] The server runs a script every morning, retrieving data from the spreadsheet and sending personalized emails based on the emotions detected by the emotion engine, eliminating the need for users to manually send emails and allowing for personalized responses based on emotions.
[0213] As a result, the system of the present invention can realize advanced automatic email distribution that takes into account the user's emotions, thereby improving business efficiency and the quality of communication.
[0214] The processing flow will be explained below.
[0215] Step 1:
[0216] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0217] Step 2:
[0218] Users simply open Google's script editor, paste in the required script, and save it. This script reads data from a spreadsheet and interacts with the sentiment engine to generate and send emails.
[0219] Step 3:
[0220] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0221] Step 4:
[0222] The server will automatically execute the script at the specified time according to the configured trigger.
[0223] Step 5:
[0224] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0225] Step 6:
[0226] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0227] Step 7:
[0228] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0229] Step 8:
[0230] The server uses an emotion engine to recognize the user's emotion. For example, the user's emotion data can be obtained from an external API or a sensor device.
[0231] Step 9:
[0232] The server replaces placeholders in email templates based on the recognized emotion, for example adding an encouraging message to the email body if a positive emotion is recognized.
[0233] Step 10:
[0234] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0235] Step 11:
[0236] The server sequentially obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data, and customizes them based on the template and emotion data.
[0237] Step 12:
[0238] The server uses the GmailApp.sendEmail function to send a customized email with the specified recipient address, subject, body, and CC addresses.
[0239] Step 13:
[0240] After the server has completed generating and sending emails for all row data, it ends the process.
[0241] Example 2
[0242] 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."
[0243] Modern business communication requires the ability to efficiently manage large numbers of emails and automatically send them based on specific conditions. Another challenge is improving the quality of communication by customizing email content to match the recipient's emotions. However, current systems do not provide these functions in an integrated manner, requiring users to manually compose and send emails, which is time-consuming. Furthermore, email customization linked to sentiment analysis is not possible, making it difficult to respond to individual requests.
[0244] 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. In this invention, the server includes means for acquiring data from a data spreadsheet, means for generating an electronic communication message based on the data, means for analyzing a user's emotions, means for customizing the electronic communication message based on the emotion data, and means for setting a time trigger for periodically executing the above means. This makes it possible to automatically generate and send electronic communication messages, and further improve the quality of communication by customizing them according to the user's emotions.
[0245] "Data spreadsheet software" is application software for managing data in a tabular format and performing numerical calculations and data aggregation.
[0246] "Electronic Communications" means emails and other text-based communications sent or received over the Internet.
[0247] "Means for analyzing emotions" refers to algorithms or software for detecting the user's emotional state and obtaining the analysis results.
[0248] A "placeholder" is a symbol or string of characters that indicates where specific information should be inserted within an email template.
[0249] A "time trigger" is a setting function that automatically executes a specified procedure at a specific time or time interval.
[0250] "Customization methods" are methods for modifying or adjusting the content of electronic communication messages based on acquired emotional data or other input data.
[0251] "Data acquisition means" refers to the techniques and processes used to read and acquire the required information from data spreadsheets and other data sources.
[0252] A "means for generating an electronic communication message" is a method for creating a final electronic communication message using the acquired data and templates.
[0253] The present invention is a system that combines data management using a data spreadsheet with automated sending of electronic communication messages, and also provides the ability to analyze user sentiment and customize electronic communication messages based on that sentiment.
[0254] First, the user opens a data spreadsheet (e.g., Google Sheets) and creates an "email list" sheet, where they enter the data required for sending emails, such as recipient addresses, CC addresses, subject lines, and email body text.
[0255] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from the data spreadsheet and interact with the emotion engine to generate and send electronic communication messages.
[0256] As part of the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0257] The server (the execution engine of Google Apps Script) first selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array. Then, it uses the emotion engine to analyze the user's emotion. For example, if a positive emotion is recognized, that data is used to customize the email body.
[0258] The server loads the email message template and replaces the placeholders with appropriate content based on the spreadsheet data and sentiment data. After generating the email, it is sent to the specified recipient using the Gmail app.
[0259] As a concrete example, let's say a user wants to send a work reminder email every morning. The user enters the following data into the "Email List" sheet:
[0260] | To address | CC address | Subject | Body |
[0261] |---------------------|----------------|-------------------|--------------------------|
[0262] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0263] If the emotion engine recognizes that the user is satisfied with the work they did yesterday, an encouraging message such as "You did a great job yesterday. Let's do our best today!" is added to the email body. An example of a prompt sentence that can be used is, "Let the emotion engine recognize whether the user is satisfied with the work they did yesterday, and if so, add an encouraging message. For example, "You did a great job yesterday. Let's do our best today!"."
[0264] This system eliminates the need for users to manually send emails and enables personalized responses based on emotions, which is expected to improve work efficiency and the quality of communication.
[0265] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0266] Step 1:
[0267] The user opens a Google spreadsheet and names a new sheet "Email List." In this sheet, the user enters the recipient address, CC address, subject, and message body. The input data is the information required to send an email. For example, enter the data as follows:
[0268] | To address | CC address | Subject | Body |
[0269] |---------------------|----------------|-------------------|--------------------------|
[0270] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0271] Input: Spreadsheet data
[0272] Output: Email sending information data
[0273] Step 2:
[0274] The user opens the Google Script Editor, pastes the system script, and saves it. The script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine. The user saves the script and makes it executable.
[0275] Input: System script
[0276] Output: Saved script
[0277] Step 3:
[0278] The user manually runs the setupTrigger function in the Google Script Editor as the initial setup and sets a timer trigger, which allows the script to be automatically executed at set intervals.
[0279] Input: Execute setupTrigger function
[0280] Output: Timer trigger setting
[0281] Step 4:
[0282] The server (Google Apps Script execution engine) automatically executes the script periodically based on the configured timer trigger. First, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0283] Input: Timer Trigger
[0284] Output: A two-dimensional array of spreadsheet data
[0285] Step 5:
[0286] The server processes the retrieved data and reads the content of each line. At the same time, it uses an emotion engine to analyze the user's emotions. For example, it obtains "positive" or "negative" as emotion data and uses it to customize the email content.
[0287] Input: 2D array of spreadsheet data, emotion data
[0288] Output: Emotion analysis results
[0289] Step 6:
[0290] The server loads the email message template and replaces placeholders with appropriate content based on the spreadsheet data and sentiment data, for example adding sentiment-based messages like, "You did a great job yesterday! Let's do our best today!"
[0291] Input: Template data, spreadsheet data, emotion data
[0292] Output: Customized email body
[0293] Step 7:
[0294] The server generates an electronic communication message using the customized email body and sends the generated email to the specified destination using GmailApp.
[0295] Input: Customized email body
[0296] Output: The electronic communication message sent
[0297] In this way, the system can automatically send emails and respond to individual emotions, which is expected to improve work efficiency and the quality of communication.
[0298] (Application example 2)
[0299] 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."
[0300] Conventional email auto-generation systems have the problem of sending emails with uniform content without customizing them based on the user's emotions. As a result, the content of emails often does not match the recipient's interests or emotions, reducing the effectiveness of advertisements and notifications.
[0301] 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 acquiring data from a spreadsheet, means for generating e-mail based on the data, means for analyzing the user's emotions, means for customizing the content of the e-mail based on the analyzed emotions, means for sending the generated e-mail, and means for setting a timer trigger for periodically executing the above means. This makes it possible to automatically generate and send e-mail with content that corresponds to the user's emotions.
[0302] A "spreadsheet" is a tabular document used to manage data using spreadsheet software.
[0303] A "means of obtaining data" is a method or technique for reading the required information from the spreadsheet.
[0304] "Means for generating e-mail" refers to a method or technology for creating the body and subject of an e-mail based on the acquired data.
[0305] "Means for analyzing user emotions" refers to algorithms and technologies for extracting and evaluating the emotions and psychological state of the sender or receiver.
[0306] "Means for customizing email content based on analyzed emotions" refers to technology that appropriately changes and adjusts the content of emails based on the results of emotion analysis.
[0307] "Means for sending email" refers to the method or technology for sending the generated email to the specified destination.
[0308] "Means for setting a timer trigger" refers to a technique for setting a time interval or timing for periodically executing a specific process.
[0309] The system for realizing this invention is configured by combining a spreadsheet, an emotion analysis engine, an email sending system, and a timer trigger setting function. Specifically, it is implemented in the following procedure.
[0310] First, the user creates an "email list" sheet using spreadsheet software (e.g., Google Spreadsheets) and enters the necessary data, such as the recipient address, CC address, subject, and body of the email. This data will later be used as the basis for generating and sending emails.
[0311] Next, the user opens the script editor, pastes the system script, and saves it. This script includes a function to retrieve the necessary data from the spreadsheet and analyze the user's emotions in conjunction with a sentiment analysis engine (e.g., emotion recognition API). The sentiment analysis engine evaluates the user's emotions from their reviews, comments, email history, etc., and returns the results.
[0312] The server (the Google Apps Script execution engine) retrieves the data from the spreadsheet and analyzes the user's emotions using a sentiment analysis engine. For example, if the user's emotions are evaluated as positive, an encouraging message is added to the template based on the results. By customizing the content of the email based on the analyzed emotions, more personalized messages can be sent.
[0313] The server then loads the email template, replaces placeholders based on the spreadsheet data and the results of a sentiment analysis engine, and sends the resulting email to the specified recipients.
[0314] Furthermore, this system is set to run periodically by a timer trigger. For initial setup, the user can manually run the setupTrigger function to set up an email to be sent automatically at 9:00 every morning, for example.
[0315] A concrete example is managing an advertising campaign. The user enters the advertising content into an "Advertisement List" sheet, and a sentiment analysis engine is used to analyze customer sentiment. If the sentiment is positive, a message such as "Thank you. We appreciate your support!" is added. An example of a prompt for a generative AI model is, "A customer is dissatisfied with their recent purchase experience, but is interested in a new product. Please generate a customized advertising email."
[0316] In this way, by automatically generating and sending emails with content that matches the user's emotions, more effective communication with the recipient can be achieved.
[0317] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0318] Step 1:
[0319] A user uses spreadsheet software to create a "mail list" sheet, which is populated with data such as To addresses, CC addresses, subject lines, and email body. The input data is a spreadsheet containing To addresses, CC addresses, subject lines, and email body, and the output is a spreadsheet with these data appropriately populated.
[0320] Step 2:
[0321] The user opens the script editor, pastes the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet and analyze the user's sentiment in conjunction with a sentiment analysis engine. The input data is the script code, and the output is the saved script.
[0322] Step 3:
[0323] During the initial setup, the user manually executes the setupTrigger function. This sets a timer trigger, so that the script will be executed automatically, for example, every morning at 9:00. The input data is the timer setting information, and the output is the set timer trigger.
[0324] Step 4:
[0325] The server is triggered at the set time to retrieve data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Mail List" sheet as a 2D array. The input data is the spreadsheet data, and the output is the retrieved 2D array data.
[0326] Step 5:
[0327] The server uses a sentiment analysis engine to analyze the user's sentiment. This sentiment data is used to customize the content of the email. For example, the previous day's reviews and comments are sent as input data to the sentiment analysis engine, and the resulting sentiment data is received as output. The input data are the user's reviews and comments, and the output is the analyzed sentiment data.
[0328] Step 6:
[0329] The server loads an email template based on the emotion data and replaces placeholders based on the spreadsheet data and emotion data. Specifically, it replaces placeholders such as "{{emotion message}}" in the template with messages corresponding to the emotion. The input data are the template, spreadsheet data, and emotion data, and the output is a customized email body.
[0330] Step 7:
[0331] The server uses the Gmail API to send the generated email to the specified recipients. Specifically, it calls the GmailApp.sendEmail() function with a customized email body. The input data is the customized email body and the recipient address, and the output is the sent email.
[0332] Step 8:
[0333] The server updates the spreadsheet as needed for the next script execution, for example by updating the send date and time and the send status. The input data is the latest state of the spreadsheet, and the output is the updated spreadsheet.
[0334] 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.
[0335] 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.
[0336] 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.
[0337] [Second embodiment]
[0338] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0339] 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.
[0340] 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).
[0341] 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.
[0342] 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.
[0343] 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).
[0344] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0345] 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.
[0346] 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.
[0347] 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.
[0348] In the smart glasses 214, 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.
[0349] 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."
[0350] As an embodiment of the invention, specific steps for a user to achieve improved business efficiency and system operation will be described.
[0351] Steps to be taken by the user
[0352] First, users open a Google spreadsheet and enter their business data into an "Email List" sheet, which must contain the To address, CC address, subject, and body of each email.
[0353] Next, the user opens Google's script editor, pastes in the script, and saves it. The script contains functions to read data from the spreadsheet and generate and send an email.
[0354] For initial setup, the user manually runs the setupTrigger function in the script to set a periodic timer trigger, which will automatically send emails at the specified interval.
[0355] Server Operation
[0356] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List").
[0357] The server then loads a template to generate the email, which contains placeholders that are replaced based on each row of data.
[0358] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0359] Specific examples
[0360] For example, if a user wants to send a work reminder email every day at 9:00, they would enter the following data into the "Email List" sheet in Google Sheets:
[0361] | To address | CC address | Subject | Body |
[0362] |------------------------|------------------|--------------------------|----------------------------|
[0363] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0364] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to set the sendAutoEmails function to run automatically every day at 9:00 AM.
[0365] The server runs the script every day at 9:00, retrieves data from the spreadsheet, generates emails based on templates, and sends them to recipients. This saves users the trouble of manually sending emails, significantly improving work efficiency.
[0366] This system allows users to easily set up automatic email distribution without any programming knowledge, thereby improving work efficiency.
[0367] The processing flow will be explained below.
[0368] Step 1:
[0369] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0370] Step 2:
[0371] Users simply open Google's script editor, paste in the required script, and save it, which reads the data from the spreadsheet and generates and sends the email.
[0372] Step 3:
[0373] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0374] Step 4:
[0375] The server will automatically execute the script at the specified time according to the configured trigger.
[0376] Step 5:
[0377] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0378] Step 6:
[0379] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0380] Step 7:
[0381] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0382] Step 8:
[0383] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0384] Step 9:
[0385] The server obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data in that order.
[0386] Step 10:
[0387] The server generates formattedBody by replacing the placeholder {{body}} in the HTML template it loaded beforehand with the retrieved body data.
[0388] Step 11:
[0389] The server uses the GmailApp.sendEmail function to send an email by specifying the destination address, subject, body, and CC address.
[0390] Step 12:
[0391] After the server has completed generating and sending emails for all row data, it ends the process.
[0392] Example 1
[0393] 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."
[0394] In conventional business operations, sending emails was often done manually, which required a lot of time and effort. Furthermore, manual email sending is prone to human error and reduced efficiency, so there was a need to automate this process to improve business efficiency. Furthermore, there was a lack of a system for automatically generating and sending emails based on data entered into a spreadsheet.
[0395] 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.
[0396] In this invention, the server includes means for acquiring data from a spreadsheet document containing business data, means for generating an electronic document based on the data, means for transmitting the generated electronic document, and means for setting a time-based trigger for periodically executing the means, thereby automating the email transmission process, reducing human error and improving business efficiency.
[0397] "Business data" refers to information such as work details, email addresses, subjects, and text entered into electronic documents or spreadsheets.
[0398] A "spreadsheet document" is a document created using software for managing and editing data in matrix format. Examples include spreadsheets.
[0399] An "electronic document" is a document that is digitized and transmitted over a communications medium, such as in the form of an email.
[0400] A "time-based trigger" is a mechanism for automatically executing a specific process at a specified time interval or at a specific time.
[0401] A "server" is a computer system that performs designated processing and provides services to clients.
[0402] "Means for acquiring data" refers to the functions and devices for reading the necessary information from the target data source.
[0403] "Means for generating electronic documents" refers to functions or devices for creating e-mails or other documents in a predefined format based on acquired data.
[0404] The "means for transmitting an electronic document" refers to a communication function or device for transmitting the generated electronic document to a specified address.
[0405] A "placeholder" is a temporary character string for embedding a variable value or dynamically changing data, and is replaced with the final data.
[0406] The present invention automates specific processes in a system for managing business data, improving business efficiency. The main components of this system are as follows:
[0407] First, the user opens a spreadsheet and organizes and enters business data into the "Mail List" sheet. This sheet must contain the email To address, CC address, subject, and body text. Next, the user opens the script editor, pastes the provided script, and saves it. The script contains functions for reading data from the spreadsheet and generating and sending electronic documents. For initial setup, the user manually executes the setupTrigger function in the script to set a periodic timer trigger. This allows emails to be sent automatically at specified intervals.
[0408] The server (Google Apps Script's execution engine) first retrieves data from a spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List"). Next, the server loads a template for generating an electronic document. The template contains placeholders that are replaced based on the data for each row. The server loops through the process, reads data from each row of the spreadsheet, replaces the placeholders with the appropriate data, generates an electronic document, and sends it to the specified recipient using GmailApp.
[0409] For example, if a user wants to send a work reminder email every day at 9:00, he or she would enter the following data into the "Mail List" sheet of a spreadsheet:
[0410] | To address | CC address | Subject | Body |
[0411] |------------------------|------------------|--------------------------|-----------------------------|
[0412] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0413] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 9:00 every day. The server executes the script at 9:00 every day, retrieves data from the spreadsheet, generates an electronic document based on the template, and sends it to the specified recipients. This saves the user the trouble of manually sending emails, significantly improving work efficiency.
[0414] Examples of prompts to input to a generative AI model include:
[0415] "I would like you to create a script using Google Apps Script that will automatically send emails based on data from a spreadsheet. Please provide a function that allows users to enter recipient addresses, CC addresses, a subject line, and a body of email in the "Email List" sheet of the spreadsheet, and send an email every day at 9:00 AM based on that information."
[0416] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0417] Step 1:
[0418] A user enters data into a spreadsheet document.
[0419] The user first opens a spreadsheet and enters business data into the "Mail List" sheet, which includes the recipient address, CC address, subject, and body of the email.
[0420] Input: Enter business data into a spreadsheet.
[0421] Output: The entered data is saved in the "Email List" sheet.
[0422] Step 2:
[0423] The user configures and saves the script in the script editor.
[0424] The user opens the "Script Editor" from the "Tools" menu of the spreadsheet, pastes the provided script, and saves it. The script contains functions for reading data and generating and sending emails.
[0425] Input: The script code provided.
[0426] Output: The script saved in the script editor.
[0427] Step 3:
[0428] The user sets up a timer trigger during first-time setup.
[0429] The user manually executes the setupTrigger function in the script editor to set a timer trigger to automatically execute the script at a specific time every day.
[0430] Input: Execution of setupTrigger function.
[0431] Output: Trigger settings to automatically execute a script at a specified time.
[0432] Step 4:
[0433] The server periodically runs the script and retrieves the data.
[0434] The server is triggered at the specified time to execute the script, first retrieving data from the "Mail List" sheet in the spreadsheet.
[0435] Input: The script started by the trigger and the data from the "Mail List" sheet in the spreadsheet.
[0436] Output: Business data read into memory by the script.
[0437] Step 5:
[0438] The server generates the email.
[0439] Based on the retrieved data, the server replaces the placeholders in the template to generate the email, using a loop to replace the placeholders for each row of data.
[0440] Input: In-memory business data and templates.
[0441] Output: Placeholders are replaced and a separate email template is generated.
[0442] Step 6:
[0443] The server sends the email.
[0444] Once the email is generated, the server uses GmailApp to send it to the specified recipient.
[0445] Input: The generated email.
[0446] Output: A successful delivery message to the specified recipient.
[0447] This process flow saves the user the trouble of manually sending emails, improving work efficiency.
[0448] (Application example 1)
[0449] 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."
[0450] In recent years, automated machines have been introduced in many factories. Among these, regular maintenance of these machines is important, and any omissions in maintenance can affect the entire production line. However, managing maintenance schedules and notifying personnel at the appropriate times is time-consuming and prone to human error. Furthermore, systems for managing maintenance information are often complex, placing a burden on users. The present invention aims to solve these problems and improve the efficiency of maintenance management of factory machines.
[0451] 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.
[0452] In this invention, the server includes means for acquiring data from a spreadsheet, means for generating e-mail based on the data, means for sending the generated e-mail, means for setting a timer trigger for periodically executing the means, and means for managing the maintenance schedule of the factory machines, thereby enabling effective management of the machine maintenance schedule and automatic notification to the person in charge.
[0453] A "spreadsheet" is software for organizing data and storing it in a tabular format.
[0454] "Means for obtaining data" refers to the functionality for extracting the necessary information from the spreadsheet.
[0455] The "means for generating e-mail" is a function for creating e-mail content based on the acquired data.
[0456] The "means for sending e-mail" is a function for sending the generated e-mail to a specified destination.
[0457] The "means for setting a timer trigger" is a scheduling function for automatically executing a specific process periodically.
[0458] A "factory" is a facility for manufacturing products.
[0459] "Machinery" refers to production equipment and devices used in factories.
[0460] A "maintenance schedule" is a plan that indicates the dates for regular maintenance work on a machine.
[0461] "Means of control" refers to the ability to effectively organize and track maintenance schedules.
[0462] A "person in charge" is a person who is responsible for carrying out a particular job or task.
[0463] "Sending notifications automatically" means that the system automatically makes contact without human intervention.
[0464] The following describes in detail an embodiment of the present invention. One embodiment of the present invention is a system that automatically manages maintenance schedules for machines in a factory and notifies personnel in charge at appropriate times.
[0465] Steps to be taken by the user
[0466] First, users open a Google spreadsheet and organize and enter data related to maintenance schedules into the "Maintenance Schedule" sheet. This sheet contains placeholders for the recipient address, CC address, subject line, and body of each notification. Specifically, the maintenance date, name of the person in charge, and name of the machine are entered.
[0467] Next, the user opens the Google Script Editor, pastes in the appropriate script, and saves it. This script contains functions to read data from a spreadsheet and generate and send emails. For initial setup, the user manually runs the setupTrigger function to set up a periodic timer trigger, which automatically sends maintenance notifications at the specified interval.
[0468] Server Operation
[0469] The server (the execution engine of Google Apps Script) first retrieves the data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Maintenance Schedule"). Next, the server loads a template for generating the email. The template contains placeholders that are replaced based on the data for each row.
[0470] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0471] Specific examples
[0472] For example, if a user wants to send a machine maintenance reminder email every day at 8:00, they would enter the following data into the "Maintenance Schedule" sheet in Google Sheets:
[0473] | Maintenance person's email address | CC address | Subject | Person in charge name | Maintenance date | Machine name |
[0474] |---------------------------|-------------|---------------------------|-----------|---------------|---------|
[0475] | maintainer@example.com | supervisor@example.com | Robot maintenance notification | Taro Yamada | 2023-11-01 | Manufacturing robot A |
[0476] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 8:00 every day. The server executes the script at 8:00 every day, retrieves data from the spreadsheet, generates emails based on the template, and sends them to the recipients. This saves the user the trouble of manually sending notifications and greatly improves the efficiency of managing maintenance schedules.
[0477] Example prompt sentence:
[0478] "I would like to apply an automatic email notification system using Google Spreadsheets to machine maintenance management in a factory. Please provide me with the Google Apps Script code for an application that automatically sends reminder emails to the person in charge about maintenance dates."
[0479] In this way, the present invention allows users to easily set up automatic distribution of maintenance notifications even if they do not have programming knowledge, thereby improving the efficiency of factory operations.
[0480] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0481] Step 1:
[0482] The user opens a Google spreadsheet and enters the maintenance schedule data, including the email address of the maintenance person, CC address, subject, person's name, maintenance date, and machine name.
[0483] Input: Maintenance-related data (recipient address, CC address, email subject, contact person name, maintenance date, machine name)
[0484] Output: Maintenance data organized in a Google spreadsheet
[0485] Step 2:
[0486] The user opens the Google Script Editor, pastes in the appropriate script, saves it, and then manually runs the setupTrigger function to set up a periodic timer trigger.
[0487] Input: Google Apps Script code
[0488] Output: Setting a timer trigger that runs periodically
[0489] Step 3:
[0490] The server periodically executes a script triggered by a timer to retrieve data from a spreadsheet. Here, SpreadsheetApp is used to select the active spreadsheet and retrieve all data from the specified sheet ("Maintenance Schedule").
[0491] Input: "Maintenance Schedule" sheet in Google Spreadsheet
[0492] Output: Retrieved maintenance data
[0493] Step 4:
[0494] The server loads an email template, which contains placeholders that are replaced based on each line of data.
[0495] Input: Email template, captured maintenance data
[0496] Data manipulation: Customize templates by replacing placeholders in the template based on each row's data
[0497] Output: Customized email body
[0498] Step 5:
[0499] The server performs a loop based on the retrieved data and generates email information (recipient, CC, subject, and body) from each row of data.
[0500] Input: Retrieved maintenance data
[0501] Data Calculation: Generate email recipients, CCs, subject lines, and body text based on each line of data
[0502] Output: Generated email information
[0503] Step 6:
[0504] Sends the generated email using GmailApp and records the success or failure status of the sending.
[0505] Input: Generated email information
[0506] Data calculation: Send emails and record result status using GmailApp
[0507] Output: Reminder email sent to the agent, status log
[0508] This process ensures that maintenance schedules for factory machines are managed efficiently and that personnel receive timely reminders.
[0509] 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.
[0510] The system of the present invention combines data management using Google Spreadsheets with automatic sending via Gmail, and further integrates an emotion engine that recognizes the user's emotions to provide a function for automatically customizing the content of emails. Specific embodiments are described below.
[0511] Steps to be taken by the user
[0512] First, the user opens a Google spreadsheet and creates an "Email List" sheet. In this sheet, they enter the recipient address, CC address, subject, and body of the email. This data will be used as the sending information for the email.
[0513] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine.
[0514] For the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0515] Server Operation
[0516] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0517] The server then uses an emotion engine to recognize the user's emotions. This emotion data is used to customize the email content. For example, if the user is in a positive mood, an email with a more encouraging message will be generated.
[0518] The server then loads an email template, which contains placeholders that are replaced based on the data and sentiment data from the spreadsheet.
[0519] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and uses the Gmail app to send the email to the specified recipient.
[0520] Specific examples
[0521] For example, if a user wants to send a work reminder email every morning, they would enter the data into the "Email List" sheet as follows:
[0522] | To address | CC address | Subject | Body |
[0523] |------------------------|------------------|--------------------------|----------------------------|
[0524] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0525] Additionally, if the emotion engine recognizes that the user is satisfied with the work they did the previous day, it will add an encouraging message to the email body: "You did a great job yesterday. Let's do our best today too!"
[0526] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to automatically send the email every morning.
[0527] The server runs a script every morning, retrieving data from the spreadsheet and sending personalized emails based on the emotions detected by the emotion engine, eliminating the need for users to manually send emails and allowing for personalized responses based on emotions.
[0528] As a result, the system of the present invention can realize advanced automatic email distribution that takes into account the user's emotions, thereby improving business efficiency and the quality of communication.
[0529] The processing flow will be explained below.
[0530] Step 1:
[0531] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0532] Step 2:
[0533] Users simply open Google's script editor, paste in the required script, and save it. This script reads data from a spreadsheet and interacts with the sentiment engine to generate and send emails.
[0534] Step 3:
[0535] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0536] Step 4:
[0537] The server will automatically execute the script at the specified time according to the configured trigger.
[0538] Step 5:
[0539] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0540] Step 6:
[0541] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0542] Step 7:
[0543] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0544] Step 8:
[0545] The server uses an emotion engine to recognize the user's emotion. For example, the user's emotion data can be obtained from an external API or a sensor device.
[0546] Step 9:
[0547] The server replaces placeholders in email templates based on the recognized emotion, for example adding an encouraging message to the email body if a positive emotion is recognized.
[0548] Step 10:
[0549] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0550] Step 11:
[0551] The server sequentially obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data, and customizes them based on the template and emotion data.
[0552] Step 12:
[0553] The server uses the GmailApp.sendEmail function to send a customized email with the specified recipient address, subject, body, and CC addresses.
[0554] Step 13:
[0555] After the server has completed generating and sending emails for all row data, it ends the process.
[0556] Example 2
[0557] 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."
[0558] Modern business communication requires the ability to efficiently manage large numbers of emails and automatically send them based on specific conditions. Another challenge is improving the quality of communication by customizing email content to match the recipient's emotions. However, current systems do not provide these functions in an integrated manner, requiring users to manually compose and send emails, which is time-consuming. Furthermore, email customization linked to sentiment analysis is not possible, making it difficult to respond to individual requests.
[0559] 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. In this invention, the server includes means for acquiring data from a data spreadsheet, means for generating an electronic communication message based on the data, means for analyzing a user's emotions, means for customizing the electronic communication message based on the emotion data, and means for setting a time trigger for periodically executing the above means. This makes it possible to automatically generate and send electronic communication messages, and further improve the quality of communication by customizing them according to the user's emotions.
[0560] "Data spreadsheet software" is application software for managing data in a tabular format and performing numerical calculations and data aggregation.
[0561] "Electronic Communications" means emails and other text-based communications sent or received over the Internet.
[0562] "Means for analyzing emotions" refers to algorithms or software for detecting the user's emotional state and obtaining the analysis results.
[0563] A "placeholder" is a symbol or string of characters that indicates where specific information should be inserted within an email template.
[0564] A "time trigger" is a setting function that automatically executes a specified procedure at a specific time or time interval.
[0565] "Customization methods" are methods for modifying or adjusting the content of electronic communication messages based on acquired emotional data or other input data.
[0566] "Data acquisition means" refers to the techniques and processes used to read and acquire the required information from data spreadsheets and other data sources.
[0567] A "means for generating an electronic communication message" is a method for creating a final electronic communication message using the acquired data and templates.
[0568] The present invention is a system that combines data management using a data spreadsheet with automated sending of electronic communication messages, and also provides the ability to analyze user sentiment and customize electronic communication messages based on that sentiment.
[0569] First, the user opens a data spreadsheet (e.g., Google Sheets) and creates an "email list" sheet, where they enter the data required for sending emails, such as recipient addresses, CC addresses, subject lines, and email body text.
[0570] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from the data spreadsheet and interact with the emotion engine to generate and send electronic communication messages.
[0571] As part of the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0572] The server (the execution engine of Google Apps Script) first selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array. Then, it uses the emotion engine to analyze the user's emotion. For example, if a positive emotion is recognized, that data is used to customize the email body.
[0573] The server loads the email message template and replaces the placeholders with appropriate content based on the spreadsheet data and sentiment data. After generating the email, it is sent to the specified recipient using the Gmail app.
[0574] As a concrete example, let's say a user wants to send a work reminder email every morning. The user enters the following data into the "Email List" sheet:
[0575] | To address | CC address | Subject | Body |
[0576] |---------------------|----------------|-------------------|--------------------------|
[0577] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0578] If the emotion engine recognizes that the user is satisfied with the work they did yesterday, an encouraging message such as "You did a great job yesterday. Let's do our best today!" is added to the email body. An example of a prompt sentence that can be used is, "Let the emotion engine recognize whether the user is satisfied with the work they did yesterday, and if so, add an encouraging message. For example, "You did a great job yesterday. Let's do our best today!"."
[0579] This system eliminates the need for users to manually send emails and enables personalized responses based on emotions, which is expected to improve work efficiency and the quality of communication.
[0580] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0581] Step 1:
[0582] The user opens a Google spreadsheet and names a new sheet "Email List." In this sheet, the user enters the recipient address, CC address, subject, and message body. The input data is the information required to send an email. For example, enter the data as follows:
[0583] | To address | CC address | Subject | Body |
[0584] |---------------------|----------------|-------------------|--------------------------|
[0585] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0586] Input: Spreadsheet data
[0587] Output: Email sending information data
[0588] Step 2:
[0589] The user opens the Google Script Editor, pastes the system script, and saves it. The script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine. The user saves the script and makes it executable.
[0590] Input: System script
[0591] Output: Saved script
[0592] Step 3:
[0593] The user manually runs the setupTrigger function in the Google Script Editor as the initial setup and sets a timer trigger, which allows the script to be automatically executed at set intervals.
[0594] Input: Execute setupTrigger function
[0595] Output: Timer trigger setting
[0596] Step 4:
[0597] The server (Google Apps Script execution engine) automatically executes the script periodically based on the configured timer trigger. First, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0598] Input: Timer Trigger
[0599] Output: A two-dimensional array of spreadsheet data
[0600] Step 5:
[0601] The server processes the retrieved data and reads the content of each line. At the same time, it uses an emotion engine to analyze the user's emotions. For example, it obtains "positive" or "negative" as emotion data and uses it to customize the email content.
[0602] Input: 2D array of spreadsheet data, emotion data
[0603] Output: Emotion analysis results
[0604] Step 6:
[0605] The server loads the email message template and replaces placeholders with appropriate content based on the spreadsheet data and sentiment data, for example adding sentiment-based messages like, "You did a great job yesterday! Let's do our best today!"
[0606] Input: Template data, spreadsheet data, emotion data
[0607] Output: Customized email body
[0608] Step 7:
[0609] The server generates an electronic communication message using the customized email body and sends the generated email to the specified destination using GmailApp.
[0610] Input: Customized email body
[0611] Output: The electronic communication message sent
[0612] In this way, the system can automatically send emails and respond to individual emotions, which is expected to improve work efficiency and the quality of communication.
[0613] (Application example 2)
[0614] 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."
[0615] Conventional email auto-generation systems have the problem of sending emails with uniform content without customizing them based on the user's emotions. As a result, the content of emails often does not match the recipient's interests or emotions, reducing the effectiveness of advertisements and notifications.
[0616] 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 acquiring data from a spreadsheet, means for generating e-mail based on the data, means for analyzing the user's emotions, means for customizing the content of the e-mail based on the analyzed emotions, means for sending the generated e-mail, and means for setting a timer trigger for periodically executing the above means. This makes it possible to automatically generate and send e-mail with content that corresponds to the user's emotions.
[0617] A "spreadsheet" is a tabular document used to manage data using spreadsheet software.
[0618] A "means of obtaining data" is a method or technique for reading the required information from the spreadsheet.
[0619] "Means for generating e-mail" refers to a method or technology for creating the body and subject of an e-mail based on the acquired data.
[0620] "Means for analyzing user emotions" refers to algorithms and technologies for extracting and evaluating the emotions and psychological state of the sender or receiver.
[0621] "Means for customizing email content based on analyzed emotions" refers to technology that appropriately changes and adjusts the content of emails based on the results of emotion analysis.
[0622] "Means for sending email" refers to the method or technology for sending the generated email to the specified destination.
[0623] "Means for setting a timer trigger" refers to a technique for setting a time interval or timing for periodically executing a specific process.
[0624] The system for realizing this invention is configured by combining a spreadsheet, an emotion analysis engine, an email sending system, and a timer trigger setting function. Specifically, it is implemented in the following procedure.
[0625] First, the user creates an "email list" sheet using spreadsheet software (e.g., Google Spreadsheets) and enters the necessary data, such as the recipient address, CC address, subject, and body of the email. This data will later be used as the basis for generating and sending emails.
[0626] Next, the user opens the script editor, pastes the system script, and saves it. This script includes a function to retrieve the necessary data from the spreadsheet and analyze the user's emotions in conjunction with a sentiment analysis engine (e.g., emotion recognition API). The sentiment analysis engine evaluates the user's emotions from their reviews, comments, email history, etc., and returns the results.
[0627] The server (the Google Apps Script execution engine) retrieves the data from the spreadsheet and analyzes the user's emotions using a sentiment analysis engine. For example, if the user's emotions are evaluated as positive, an encouraging message is added to the template based on the results. By customizing the content of the email based on the analyzed emotions, more personalized messages can be sent.
[0628] The server then loads the email template, replaces placeholders based on the spreadsheet data and the results of a sentiment analysis engine, and sends the resulting email to the specified recipients.
[0629] Furthermore, this system is set to run periodically by a timer trigger. For initial setup, the user can manually run the setupTrigger function to set up an email to be sent automatically at 9:00 every morning, for example.
[0630] A concrete example is managing an advertising campaign. The user enters the advertising content into an "Advertisement List" sheet, and a sentiment analysis engine is used to analyze customer sentiment. If the sentiment is positive, a message such as "Thank you. We appreciate your support!" is added. An example of a prompt for a generative AI model is, "A customer is dissatisfied with their recent purchase experience, but is interested in a new product. Please generate a customized advertising email."
[0631] In this way, by automatically generating and sending emails with content that matches the user's emotions, more effective communication with the recipient can be achieved.
[0632] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0633] Step 1:
[0634] A user uses spreadsheet software to create a "mail list" sheet, which is populated with data such as To addresses, CC addresses, subject lines, and email body. The input data is a spreadsheet containing To addresses, CC addresses, subject lines, and email body, and the output is a spreadsheet with these data appropriately populated.
[0635] Step 2:
[0636] The user opens the script editor, pastes the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet and analyze the user's sentiment in conjunction with a sentiment analysis engine. The input data is the script code, and the output is the saved script.
[0637] Step 3:
[0638] During the initial setup, the user manually executes the setupTrigger function. This sets a timer trigger, so that the script will be executed automatically, for example, every morning at 9:00. The input data is the timer setting information, and the output is the set timer trigger.
[0639] Step 4:
[0640] The server is triggered at the set time to retrieve data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Mail List" sheet as a 2D array. The input data is the spreadsheet data, and the output is the retrieved 2D array data.
[0641] Step 5:
[0642] The server uses a sentiment analysis engine to analyze the user's sentiment. This sentiment data is used to customize the content of the email. For example, the previous day's reviews and comments are sent as input data to the sentiment analysis engine, and the resulting sentiment data is received as output. The input data are the user's reviews and comments, and the output is the analyzed sentiment data.
[0643] Step 6:
[0644] The server loads an email template based on the emotion data and replaces placeholders based on the spreadsheet data and emotion data. Specifically, it replaces placeholders such as "{{emotion message}}" in the template with messages corresponding to the emotion. The input data are the template, spreadsheet data, and emotion data, and the output is a customized email body.
[0645] Step 7:
[0646] The server uses the Gmail API to send the generated email to the specified recipients. Specifically, it calls the GmailApp.sendEmail() function with a customized email body. The input data is the customized email body and the recipient address, and the output is the sent email.
[0647] Step 8:
[0648] The server updates the spreadsheet as needed for the next script execution, for example by updating the send date and time and the send status. The input data is the latest state of the spreadsheet, and the output is the updated spreadsheet.
[0649] 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.
[0650] 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.
[0651] 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.
[0652] [Third embodiment]
[0653] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0654] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0655] 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).
[0656] 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.
[0657] 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.
[0658] 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).
[0659] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0660] 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.
[0661] 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.
[0662] 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.
[0663] 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.
[0664] 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."
[0665] As an embodiment of the invention, specific steps for a user to achieve improved business efficiency and system operation will be described.
[0666] Steps to be taken by the user
[0667] First, users open a Google spreadsheet and enter their business data into an "Email List" sheet, which must contain the To address, CC address, subject, and body of each email.
[0668] Next, the user opens Google's script editor, pastes in the script, and saves it. The script contains functions to read data from the spreadsheet and generate and send an email.
[0669] For initial setup, the user manually runs the setupTrigger function in the script to set a periodic timer trigger, which will automatically send emails at the specified interval.
[0670] Server Operation
[0671] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List").
[0672] The server then loads a template to generate the email, which contains placeholders that are replaced based on each row of data.
[0673] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0674] Specific examples
[0675] For example, if a user wants to send a work reminder email every day at 9:00, they would enter the following data into the "Email List" sheet in Google Sheets:
[0676] | To address | CC address | Subject | Body |
[0677] |------------------------|------------------|--------------------------|----------------------------|
[0678] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0679] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to set the sendAutoEmails function to run automatically every day at 9:00 AM.
[0680] The server runs the script every day at 9:00, retrieves data from the spreadsheet, generates emails based on templates, and sends them to recipients. This saves users the trouble of manually sending emails, significantly improving work efficiency.
[0681] This system allows users to easily set up automatic email distribution without any programming knowledge, thereby improving work efficiency.
[0682] The processing flow will be explained below.
[0683] Step 1:
[0684] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0685] Step 2:
[0686] Users simply open Google's script editor, paste in the required script, and save it, which reads the data from the spreadsheet and generates and sends the email.
[0687] Step 3:
[0688] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0689] Step 4:
[0690] The server will automatically execute the script at the specified time according to the configured trigger.
[0691] Step 5:
[0692] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0693] Step 6:
[0694] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0695] Step 7:
[0696] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0697] Step 8:
[0698] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0699] Step 9:
[0700] The server obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data in that order.
[0701] Step 10:
[0702] The server generates formattedBody by replacing the placeholder {{body}} in the HTML template it loaded beforehand with the retrieved body data.
[0703] Step 11:
[0704] The server uses the GmailApp.sendEmail function to send an email by specifying the destination address, subject, body, and CC address.
[0705] Step 12:
[0706] After the server has completed generating and sending emails for all row data, it ends the process.
[0707] Example 1
[0708] 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."
[0709] In conventional business operations, sending emails was often done manually, which required a lot of time and effort. Furthermore, manual email sending is prone to human error and reduced efficiency, so there was a need to automate this process to improve business efficiency. Furthermore, there was a lack of a system for automatically generating and sending emails based on data entered into a spreadsheet.
[0710] 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.
[0711] In this invention, the server includes means for acquiring data from a spreadsheet document containing business data, means for generating an electronic document based on the data, means for transmitting the generated electronic document, and means for setting a time-based trigger for periodically executing the means, thereby automating the email transmission process, reducing human error and improving business efficiency.
[0712] "Business data" refers to information such as work details, email addresses, subjects, and text entered into electronic documents or spreadsheets.
[0713] A "spreadsheet document" is a document created using software for managing and editing data in matrix format. Examples include spreadsheets.
[0714] An "electronic document" is a document that is digitized and transmitted over a communications medium, such as in the form of an email.
[0715] A "time-based trigger" is a mechanism for automatically executing a specific process at a specified time interval or at a specific time.
[0716] A "server" is a computer system that performs designated processing and provides services to clients.
[0717] "Means for acquiring data" refers to the functions and devices for reading the necessary information from the target data source.
[0718] "Means for generating electronic documents" refers to functions or devices for creating e-mails or other documents in a predefined format based on acquired data.
[0719] The "means for transmitting an electronic document" refers to a communication function or device for transmitting the generated electronic document to a specified address.
[0720] A "placeholder" is a temporary character string for embedding a variable value or dynamically changing data, and is replaced with the final data.
[0721] The present invention automates specific processes in a system for managing business data, improving business efficiency. The main components of this system are as follows:
[0722] First, the user opens a spreadsheet and organizes and enters business data into the "Mail List" sheet. This sheet must contain the email To address, CC address, subject, and body text. Next, the user opens the script editor, pastes the provided script, and saves it. The script contains functions for reading data from the spreadsheet and generating and sending electronic documents. For initial setup, the user manually executes the setupTrigger function in the script to set a periodic timer trigger. This allows emails to be sent automatically at specified intervals.
[0723] The server (Google Apps Script's execution engine) first retrieves data from a spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List"). Next, the server loads a template for generating an electronic document. The template contains placeholders that are replaced based on the data for each row. The server loops through the process, reading data from each row of the spreadsheet, replacing the placeholders with the appropriate data, generating an electronic document, and sending it to the specified recipient using GmailApp.
[0724] For example, if a user wants to send a work reminder email every day at 9:00, he or she would enter the following data into the "Mail List" sheet of a spreadsheet:
[0725] | To address | CC address | Subject | Body |
[0726] |------------------------|------------------|--------------------------|-----------------------------|
[0727] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0728] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 9:00 every day. The server executes the script at 9:00 every day, retrieves data from the spreadsheet, generates an electronic document based on the template, and sends it to the specified recipients. This saves the user the trouble of manually sending emails, significantly improving work efficiency.
[0729] Examples of prompts to input to a generative AI model include:
[0730] "I would like you to create a script using Google Apps Script that will automatically send emails based on data from a spreadsheet. Please provide a function that allows users to enter recipient addresses, CC addresses, a subject line, and a body of email in the "Email List" sheet of the spreadsheet, and send an email every day at 9:00 AM based on that information."
[0731] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0732] Step 1:
[0733] A user enters data into a spreadsheet document.
[0734] The user first opens a spreadsheet and enters business data into the "Mail List" sheet, which includes the recipient address, CC address, subject, and body of the email.
[0735] Input: Enter business data into a spreadsheet.
[0736] Output: The entered data is saved in the "Email List" sheet.
[0737] Step 2:
[0738] The user configures and saves the script in the script editor.
[0739] The user opens the "Script Editor" from the "Tools" menu of the spreadsheet, pastes the provided script, and saves it. The script contains functions for reading data and generating and sending emails.
[0740] Input: The script code provided.
[0741] Output: The script saved in the script editor.
[0742] Step 3:
[0743] The user sets up a timer trigger during first-time setup.
[0744] The user manually executes the setupTrigger function in the script editor to set a timer trigger to automatically execute the script at a specific time every day.
[0745] Input: Execution of setupTrigger function.
[0746] Output: Trigger settings to automatically execute a script at a specified time.
[0747] Step 4:
[0748] The server periodically runs the script and retrieves the data.
[0749] The server is triggered at the specified time to execute the script, first retrieving data from the "Mail List" sheet in the spreadsheet.
[0750] Input: The script started by the trigger and the data from the "Mail List" sheet in the spreadsheet.
[0751] Output: Business data read into memory by the script.
[0752] Step 5:
[0753] The server generates the email.
[0754] Based on the retrieved data, the server replaces the placeholders in the template to generate the email, using a loop to replace the placeholders for each row of data.
[0755] Input: In-memory business data and templates.
[0756] Output: Placeholders are replaced and a separate email template is generated.
[0757] Step 6:
[0758] The server sends the email.
[0759] Once the email is generated, the server uses GmailApp to send it to the specified recipient.
[0760] Input: The generated email.
[0761] Output: A successful delivery message to the specified recipient.
[0762] This process flow saves the user the trouble of manually sending emails, improving work efficiency.
[0763] (Application example 1)
[0764] 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."
[0765] In recent years, automated machines have been introduced in many factories. Among these, regular maintenance of machines is important, and any omissions in maintenance can affect the entire production line. However, managing maintenance schedules and notifying personnel at the appropriate times is time-consuming and prone to human error. Furthermore, systems for managing maintenance information are often complex, placing a burden on users. The present invention aims to solve these problems and improve the efficiency of maintenance management of factory machines.
[0766] 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.
[0767] In this invention, the server includes means for acquiring data from a spreadsheet, means for generating e-mail based on the data, means for sending the generated e-mail, means for setting a timer trigger for periodically executing the means, and means for managing the maintenance schedule of the factory machines, thereby enabling effective management of the machine maintenance schedule and automatic notification to the person in charge.
[0768] A "spreadsheet" is software for organizing data and storing it in a tabular format.
[0769] "Means for obtaining data" refers to the functionality for extracting the necessary information from the spreadsheet.
[0770] The "means for generating e-mail" is a function for creating e-mail content based on the acquired data.
[0771] The "means for sending e-mail" is a function for sending the generated e-mail to a specified destination.
[0772] The "means for setting a timer trigger" is a scheduling function for automatically executing a specific process periodically.
[0773] A "factory" is a facility for manufacturing products.
[0774] "Machinery" refers to production equipment and devices used in factories.
[0775] A "maintenance schedule" is a plan that indicates the dates for regular maintenance work on a machine.
[0776] "Means of control" refers to the ability to effectively organize and track maintenance schedules.
[0777] A "person in charge" is a person who is responsible for carrying out a particular job or task.
[0778] "Sending notifications automatically" means that the system automatically makes contact without human intervention.
[0779] The following describes in detail an embodiment of the present invention. One embodiment of the present invention is a system that automatically manages maintenance schedules for machines in a factory and notifies personnel in charge at appropriate times.
[0780] Steps to be taken by the user
[0781] First, users open a Google spreadsheet and organize and enter data related to maintenance schedules into the "Maintenance Schedule" sheet. This sheet contains placeholders for the recipient address, CC address, subject line, and body of each notification. Specifically, the maintenance date, name of the person in charge, and name of the machine are entered.
[0782] Next, the user opens the Google Script Editor, pastes in the appropriate script, and saves it. This script contains functions to read data from a spreadsheet and generate and send emails. For initial setup, the user manually runs the setupTrigger function to set up a periodic timer trigger, which automatically sends maintenance notifications at the specified interval.
[0783] Server Operation
[0784] The server (the execution engine of Google Apps Script) first retrieves the data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Maintenance Schedule"). Next, the server loads a template for generating the email. The template contains placeholders that are replaced based on the data for each row.
[0785] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0786] Specific examples
[0787] For example, if a user wants to send a machine maintenance reminder email every day at 8:00, they would enter the following data into the "Maintenance Schedule" sheet in Google Sheets:
[0788] | Maintenance person's email address | CC address | Subject | Person in charge name | Maintenance date | Machine name |
[0789] |---------------------------|-------------|---------------------------|-----------|---------------|---------|
[0790] | maintainer@example.com | supervisor@example.com | Robot maintenance notification | Taro Yamada | 2023-11-01 | Manufacturing robot A |
[0791] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 8:00 every day. The server executes the script at 8:00 every day, retrieves data from the spreadsheet, generates emails based on the template, and sends them to the recipients. This saves the user the trouble of manually sending notifications and greatly improves the efficiency of managing maintenance schedules.
[0792] Example prompt sentence:
[0793] "I would like to apply an automatic email notification system using Google Spreadsheets to machine maintenance management in a factory. Please provide me with the Google Apps Script code for an application that automatically sends reminder emails to the person in charge about maintenance dates."
[0794] In this way, the present invention allows users to easily set up automatic distribution of maintenance notifications even if they do not have programming knowledge, thereby improving the efficiency of factory operations.
[0795] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0796] Step 1:
[0797] The user opens a Google spreadsheet and enters the maintenance schedule data, including the email address of the maintenance person, CC address, subject, person's name, maintenance date, and machine name.
[0798] Input: Maintenance-related data (recipient address, CC address, email subject, contact person name, maintenance date, machine name)
[0799] Output: Maintenance data organized in a Google spreadsheet
[0800] Step 2:
[0801] The user opens the Google Script Editor, pastes in the appropriate script, saves it, and then manually runs the setupTrigger function to set up a periodic timer trigger.
[0802] Input: Google Apps Script code
[0803] Output: Setting a timer trigger that runs periodically
[0804] Step 3:
[0805] The server periodically executes a script triggered by a timer to retrieve data from a spreadsheet. Here, SpreadsheetApp is used to select the active spreadsheet and retrieve all data from the specified sheet ("Maintenance Schedule").
[0806] Input: "Maintenance Schedule" sheet in Google Spreadsheet
[0807] Output: Retrieved maintenance data
[0808] Step 4:
[0809] The server loads an email template, which contains placeholders that are replaced based on each line of data.
[0810] Input: Email template, captured maintenance data
[0811] Data manipulation: Customize templates by replacing placeholders in the template based on each row's data
[0812] Output: Customized email body
[0813] Step 5:
[0814] The server performs a loop based on the retrieved data and generates email information (recipient, CC, subject, and body) from each row of data.
[0815] Input: Retrieved maintenance data
[0816] Data Calculation: Generate email recipients, CCs, subject lines, and body text based on each line of data
[0817] Output: Generated email information
[0818] Step 6:
[0819] Sends the generated email using GmailApp and records the success or failure status of the sending.
[0820] Input: Generated email information
[0821] Data calculation: Send emails and record result status using GmailApp
[0822] Output: Reminder email sent to the agent, status log
[0823] This process ensures that maintenance schedules for factory machines are managed efficiently and that personnel receive timely reminders.
[0824] 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.
[0825] The system of the present invention combines data management using Google Spreadsheets with automatic sending via Gmail, and further integrates an emotion engine that recognizes the user's emotions to provide a function for automatically customizing the content of emails. Specific embodiments are described below.
[0826] Steps to be taken by the user
[0827] First, the user opens a Google spreadsheet and creates an "Email List" sheet. In this sheet, they enter the recipient address, CC address, subject, and body of the email. This data will be used as the sending information for the email.
[0828] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine.
[0829] For the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0830] Server Operation
[0831] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0832] The server then uses an emotion engine to recognize the user's emotions. This emotion data is used to customize the email content. For example, if the user is in a positive mood, an email with a more encouraging message will be generated.
[0833] The server then loads an email template, which contains placeholders that are replaced based on the data and sentiment data from the spreadsheet.
[0834] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and uses the Gmail app to send the email to the specified recipient.
[0835] Specific examples
[0836] For example, if a user wants to send a work reminder email every morning, they would enter the data into the "Email List" sheet as follows:
[0837] | To address | CC address | Subject | Body |
[0838] |------------------------|------------------|--------------------------|----------------------------|
[0839] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0840] Additionally, if the emotion engine recognizes that the user is satisfied with the work they did the previous day, it will add an encouraging message to the email body: "You did a great job yesterday. Let's do our best today too!"
[0841] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to automatically send the email every morning.
[0842] The server runs a script every morning, retrieving data from the spreadsheet and sending personalized emails based on the emotions detected by the emotion engine, eliminating the need for users to manually send emails and allowing for personalized responses based on emotions.
[0843] As a result, the system of the present invention can realize advanced automatic email distribution that takes into account the user's emotions, thereby improving business efficiency and the quality of communication.
[0844] The processing flow will be explained below.
[0845] Step 1:
[0846] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[0847] Step 2:
[0848] Users simply open Google's script editor, paste in the required script, and save it. This script reads data from a spreadsheet and interacts with the sentiment engine to generate and send emails.
[0849] Step 3:
[0850] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[0851] Step 4:
[0852] The server will automatically execute the script at the specified time according to the configured trigger.
[0853] Step 5:
[0854] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[0855] Step 6:
[0856] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[0857] Step 7:
[0858] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[0859] Step 8:
[0860] The server uses an emotion engine to recognize the user's emotion. For example, the user's emotion data can be obtained from an external API or a sensor device.
[0861] Step 9:
[0862] The server replaces placeholders in email templates based on the recognized emotion, for example adding an encouraging message to the email body if a positive emotion is recognized.
[0863] Step 10:
[0864] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[0865] Step 11:
[0866] The server sequentially obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data, and customizes them based on the template and emotion data.
[0867] Step 12:
[0868] The server uses the GmailApp.sendEmail function to send a customized email with the specified recipient address, subject, body, and CC addresses.
[0869] Step 13:
[0870] After the server has completed generating and sending emails for all row data, it ends the process.
[0871] Example 2
[0872] 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."
[0873] Modern business communication requires the ability to efficiently manage large numbers of emails and automatically send them based on specific conditions. Another challenge is improving the quality of communication by customizing email content to match the recipient's emotions. However, current systems do not provide these functions in an integrated manner, requiring users to manually compose and send emails, which is time-consuming. Furthermore, email customization linked to sentiment analysis is not possible, making it difficult to respond to individual requests.
[0874] 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. In this invention, the server includes means for acquiring data from a data spreadsheet, means for generating an electronic communication message based on the data, means for analyzing a user's emotions, means for customizing the electronic communication message based on the emotion data, and means for setting a time trigger for periodically executing the above means. This makes it possible to automatically generate and send electronic communication messages, and further improve the quality of communication by customizing them according to the user's emotions.
[0875] "Data spreadsheet software" is application software for managing data in a tabular format and performing numerical calculations and data aggregation.
[0876] "Electronic Communications" means emails and other text-based communications sent or received over the Internet.
[0877] "Means for analyzing emotions" refers to algorithms or software for detecting the user's emotional state and obtaining the analysis results.
[0878] A "placeholder" is a symbol or string of characters that indicates where specific information should be inserted within an email template.
[0879] A "time trigger" is a setting function that automatically executes a specified procedure at a specific time or time interval.
[0880] "Customization methods" are methods for modifying or adjusting the content of electronic communication messages based on acquired emotional data or other input data.
[0881] "Data acquisition means" refers to the techniques and processes used to read and acquire the required information from data spreadsheets and other data sources.
[0882] A "means for generating an electronic communication message" is a method for creating a final electronic communication message using the acquired data and templates.
[0883] The present invention is a system that combines data management using a data spreadsheet with automated sending of electronic communication messages, and also provides the ability to analyze user sentiment and customize electronic communication messages based on that sentiment.
[0884] First, the user opens a data spreadsheet (e.g., Google Sheets) and creates an "email list" sheet, where they enter the data required for sending emails, such as recipient addresses, CC addresses, subject lines, and email body text.
[0885] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from the data spreadsheet and interact with the emotion engine to generate and send electronic communication messages.
[0886] As part of the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[0887] The server (the execution engine of Google Apps Script) first selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array. Then, it uses the emotion engine to analyze the user's emotion. For example, if a positive emotion is recognized, that data is used to customize the email body.
[0888] The server loads the email message template and replaces the placeholders with appropriate content based on the spreadsheet data and sentiment data. After generating the email, it is sent to the specified recipient using the Gmail app.
[0889] As a concrete example, let's say a user wants to send a work reminder email every morning. The user enters the following data into the "Email List" sheet:
[0890] | To address | CC address | Subject | Body |
[0891] |---------------------|----------------|-------------------|--------------------------|
[0892] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0893] If the emotion engine recognizes that the user is satisfied with the work they did yesterday, an encouraging message such as "You did a great job yesterday. Let's do our best today!" is added to the email body. An example of a prompt sentence that can be used is, "Let the emotion engine recognize whether the user is satisfied with the work they did yesterday, and if so, add an encouraging message. For example, "You did a great job yesterday. Let's do our best today!"."
[0894] This system eliminates the need for users to manually send emails and enables personalized responses based on emotions, which is expected to improve work efficiency and the quality of communication.
[0895] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0896] Step 1:
[0897] The user opens a Google spreadsheet and names a new sheet "Email List." In this sheet, the user enters the recipient address, CC address, subject, and message body. The input data is the information required to send an email. For example, enter the data as follows:
[0898] | To address | CC address | Subject | Body |
[0899] |---------------------|----------------|-------------------|--------------------------|
[0900] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[0901] Input: Spreadsheet data
[0902] Output: Email sending information data
[0903] Step 2:
[0904] The user opens the Google Script Editor, pastes the system script, and saves it. The script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine. The user saves the script and makes it executable.
[0905] Input: System script
[0906] Output: Saved script
[0907] Step 3:
[0908] The user manually runs the setupTrigger function in the Google Script Editor as the initial setup and sets a timer trigger, which allows the script to be automatically executed at set intervals.
[0909] Input: Execute setupTrigger function
[0910] Output: Timer trigger setting
[0911] Step 4:
[0912] The server (Google Apps Script execution engine) automatically executes the script periodically based on the configured timer trigger. First, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[0913] Input: Timer Trigger
[0914] Output: A two-dimensional array of spreadsheet data
[0915] Step 5:
[0916] The server processes the retrieved data and reads the content of each line. At the same time, it uses an emotion engine to analyze the user's emotions. For example, it obtains "positive" or "negative" as emotion data and uses it to customize the email content.
[0917] Input: 2D array of spreadsheet data, emotion data
[0918] Output: Emotion analysis results
[0919] Step 6:
[0920] The server loads the email message template and replaces placeholders with appropriate content based on the spreadsheet data and sentiment data, for example adding sentiment-based messages like, "You did a great job yesterday! Let's do our best today!"
[0921] Input: Template data, spreadsheet data, emotion data
[0922] Output: Customized email body
[0923] Step 7:
[0924] The server generates an electronic communication message using the customized email body and sends the generated email to the specified destination using GmailApp.
[0925] Input: Customized email body
[0926] Output: The electronic communication message sent
[0927] In this way, the system can automatically send emails and respond to individual emotions, which is expected to improve work efficiency and the quality of communication.
[0928] (Application example 2)
[0929] 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."
[0930] Conventional email auto-generation systems have the problem of sending emails with uniform content without customizing them based on the user's emotions. As a result, the content of emails often does not match the recipient's interests or emotions, reducing the effectiveness of advertisements and notifications.
[0931] 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 acquiring data from a spreadsheet, means for generating e-mail based on the data, means for analyzing the user's emotions, means for customizing the content of the e-mail based on the analyzed emotions, means for sending the generated e-mail, and means for setting a timer trigger for periodically executing the above means. This makes it possible to automatically generate and send e-mail with content that corresponds to the user's emotions.
[0932] A "spreadsheet" is a tabular document used to manage data using spreadsheet software.
[0933] A "means of obtaining data" is a method or technique for reading the required information from the spreadsheet.
[0934] "Means for generating e-mail" refers to a method or technology for creating the body and subject of an e-mail based on the acquired data.
[0935] "Means for analyzing user emotions" refers to algorithms and technologies for extracting and evaluating the emotions and psychological state of the sender or receiver.
[0936] "Means for customizing email content based on analyzed emotions" refers to technology that appropriately changes and adjusts the content of emails based on the results of emotion analysis.
[0937] "Means for sending email" refers to the method or technology for sending the generated email to the specified destination.
[0938] "Means for setting a timer trigger" refers to a technique for setting a time interval or timing for periodically executing a specific process.
[0939] The system for realizing this invention is configured by combining a spreadsheet, an emotion analysis engine, an email sending system, and a timer trigger setting function. Specifically, it is implemented in the following procedure.
[0940] First, the user creates an "email list" sheet using spreadsheet software (e.g., Google Spreadsheets) and enters the necessary data, such as the recipient address, CC address, subject, and body of the email. This data will later be used as the basis for generating and sending emails.
[0941] Next, the user opens the script editor, pastes the system script, and saves it. This script includes a function to retrieve the necessary data from the spreadsheet and analyze the user's emotions in conjunction with a sentiment analysis engine (e.g., emotion recognition API). The sentiment analysis engine evaluates the user's emotions from their reviews, comments, email history, etc., and returns the results.
[0942] The server (the Google Apps Script execution engine) retrieves the data from the spreadsheet and analyzes the user's emotions using a sentiment analysis engine. For example, if the user's emotions are evaluated as positive, an encouraging message is added to the template based on the results. By customizing the content of the email based on the analyzed emotions, more personalized messages can be sent.
[0943] The server then loads the email template, replaces placeholders based on the spreadsheet data and the results of a sentiment analysis engine, and sends the resulting email to the specified recipients.
[0944] Furthermore, this system is set to run periodically by a timer trigger. For initial setup, the user can manually run the setupTrigger function to set up an email to be sent automatically at 9:00 every morning, for example.
[0945] A concrete example is managing an advertising campaign. The user enters the advertising content into an "Advertisement List" sheet, and a sentiment analysis engine is used to analyze customer sentiment. If the sentiment is positive, a message such as "Thank you. We appreciate your support!" is added. An example of a prompt for a generative AI model is, "A customer is dissatisfied with their recent purchase experience, but is interested in a new product. Please generate a customized advertising email."
[0946] In this way, by automatically generating and sending emails with content that matches the user's emotions, more effective communication with the recipient can be achieved.
[0947] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0948] Step 1:
[0949] A user uses spreadsheet software to create a "mail list" sheet, which is populated with data such as To addresses, CC addresses, subject lines, and email body. The input data is a spreadsheet containing To addresses, CC addresses, subject lines, and email body, and the output is a spreadsheet with these data appropriately populated.
[0950] Step 2:
[0951] The user opens the script editor, pastes the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet and analyze the user's sentiment in conjunction with a sentiment analysis engine. The input data is the script code, and the output is the saved script.
[0952] Step 3:
[0953] During the initial setup, the user manually executes the setupTrigger function. This sets a timer trigger, so that the script will be executed automatically, for example, every morning at 9:00. The input data is the timer setting information, and the output is the set timer trigger.
[0954] Step 4:
[0955] The server is triggered at the set time to retrieve data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Mail List" sheet as a 2D array. The input data is the spreadsheet data, and the output is the retrieved 2D array data.
[0956] Step 5:
[0957] The server uses a sentiment analysis engine to analyze the user's sentiment. This sentiment data is used to customize the content of the email. For example, the previous day's reviews and comments are sent as input data to the sentiment analysis engine, and the resulting sentiment data is received as output. The input data are the user's reviews and comments, and the output is the analyzed sentiment data.
[0958] Step 6:
[0959] The server loads an email template based on the emotion data and replaces placeholders based on the spreadsheet data and emotion data. Specifically, it replaces placeholders such as "{{emotion message}}" in the template with messages corresponding to the emotion. The input data are the template, spreadsheet data, and emotion data, and the output is a customized email body.
[0960] Step 7:
[0961] The server uses the Gmail API to send the generated email to the specified recipients. Specifically, it calls the GmailApp.sendEmail() function with a customized email body. The input data is the customized email body and the recipient address, and the output is the sent email.
[0962] Step 8:
[0963] The server updates the spreadsheet as needed for the next script execution, for example by updating the send date and time and the send status. The input data is the latest state of the spreadsheet, and the output is the updated spreadsheet.
[0964] 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.
[0965] 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.
[0966] 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.
[0967] [Fourth embodiment]
[0968] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[0969] 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.
[0970] 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).
[0971] 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.
[0972] 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.
[0973] 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).
[0974] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0975] 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.
[0976] 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.
[0977] 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.
[0978] 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.
[0979] 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.
[0980] 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."
[0981] As an embodiment of the invention, specific steps for a user to achieve improved business efficiency and system operation will be described.
[0982] Steps to be taken by the user
[0983] First, users open a Google spreadsheet and enter their business data into an "Email List" sheet, which must contain the To address, CC address, subject, and body of each email.
[0984] Next, the user opens Google's script editor, pastes in the script, and saves it. The script contains functions to read data from the spreadsheet and generate and send an email.
[0985] For initial setup, the user manually runs the setupTrigger function in the script to set a periodic timer trigger, which will automatically send emails at the specified interval.
[0986] Server Operation
[0987] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List").
[0988] The server then loads a template to generate the email, which contains placeholders that are replaced based on each row of data.
[0989] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[0990] Specific examples
[0991] For example, if a user wants to send a work reminder email every day at 9:00, they would enter the following data into the "Email List" sheet in Google Sheets:
[0992] | To address | CC address | Subject | Body |
[0993] |------------------------|------------------|--------------------------|----------------------------|
[0994] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[0995] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to set the sendAutoEmails function to run automatically every day at 9:00 AM.
[0996] The server runs the script every day at 9:00, retrieves data from the spreadsheet, generates emails based on templates, and sends them to recipients. This saves users the trouble of manually sending emails, significantly improving work efficiency.
[0997] This system allows users to easily set up automatic email distribution without any programming knowledge, thereby improving work efficiency.
[0998] The processing flow will be explained below.
[0999] Step 1:
[1000] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[1001] Step 2:
[1002] Users simply open Google's script editor, paste in the required script, and save it, which reads the data from the spreadsheet and generates and sends the email.
[1003] Step 3:
[1004] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[1005] Step 4:
[1006] The server will automatically execute the script at the specified time according to the configured trigger.
[1007] Step 5:
[1008] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[1009] Step 6:
[1010] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[1011] Step 7:
[1012] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[1013] Step 8:
[1014] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[1015] Step 9:
[1016] The server obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data in that order.
[1017] Step 10:
[1018] The server generates formattedBody by replacing the placeholder {{body}} in the HTML template it loaded beforehand with the retrieved body data.
[1019] Step 11:
[1020] The server uses the GmailApp.sendEmail function to send an email by specifying the destination address, subject, body, and CC address.
[1021] Step 12:
[1022] After the server has completed generating and sending emails for all row data, it ends the process.
[1023] Example 1
[1024] 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."
[1025] In conventional business operations, sending emails was often done manually, which required a lot of time and effort. Furthermore, manual email sending is prone to human error and reduced efficiency, so there was a need to automate this process to improve business efficiency. Furthermore, there was a lack of a system for automatically generating and sending emails based on data entered into a spreadsheet.
[1026] 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.
[1027] In this invention, the server includes means for acquiring data from a spreadsheet document containing business data, means for generating an electronic document based on the data, means for transmitting the generated electronic document, and means for setting a time-based trigger for periodically executing the means, thereby automating the email transmission process, reducing human error and improving business efficiency.
[1028] "Business data" refers to information such as work details, email addresses, subjects, and text entered into electronic documents or spreadsheets.
[1029] A "spreadsheet document" is a document created using software for managing and editing data in matrix format. Examples include spreadsheets.
[1030] An "electronic document" is a document that is digitized and transmitted over a communications medium, such as in the form of an email.
[1031] A "time-based trigger" is a mechanism for automatically executing a specific process at a specified time interval or at a specific time.
[1032] A "server" is a computer system that performs designated processing and provides services to clients.
[1033] "Means for acquiring data" refers to the functions and devices for reading the necessary information from the target data source.
[1034] "Means for generating electronic documents" refers to functions or devices for creating e-mails or other documents in a predefined format based on acquired data.
[1035] The "means for transmitting an electronic document" refers to a communication function or device for transmitting the generated electronic document to a specified address.
[1036] A "placeholder" is a temporary character string for embedding a variable value or dynamically changing data, and is replaced with the final data.
[1037] The present invention automates specific processes in a system for managing business data, improving business efficiency. The main components of this system are as follows:
[1038] First, the user opens a spreadsheet and organizes and enters business data into the "Mail List" sheet. This sheet must contain the email To address, CC address, subject, and body text. Next, the user opens the script editor, pastes the provided script, and saves it. The script contains functions for reading data from the spreadsheet and generating and sending electronic documents. For initial setup, the user manually executes the setupTrigger function in the script to set a periodic timer trigger. This allows emails to be sent automatically at specified intervals.
[1039] The server (Google Apps Script's execution engine) first retrieves data from a spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Email List"). Next, the server loads a template for generating an electronic document. The template contains placeholders that are replaced based on the data for each row. The server loops through the process, reads data from each row of the spreadsheet, replaces the placeholders with the appropriate data, generates an electronic document, and sends it to the specified recipient using GmailApp.
[1040] For example, if a user wants to send a work reminder email every day at 9:00, he or she would enter the following data into the "Mail List" sheet of a spreadsheet:
[1041] | To address | CC address | Subject | Body |
[1042] |------------------------|------------------|--------------------------|-----------------------------|
[1043] | user@example.com | cc@example.com | Daily task reminder | Let me know what you need to do today. |
[1044] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 9:00 every day. The server executes the script at 9:00 every day, retrieves data from the spreadsheet, generates an electronic document based on the template, and sends it to the specified recipients. This saves the user the trouble of manually sending emails, significantly improving work efficiency.
[1045] Examples of prompts to input to a generative AI model include:
[1046] "I would like you to create a script using Google Apps Script that will automatically send emails based on data from a spreadsheet. Please provide a function that allows users to enter recipient addresses, CC addresses, a subject line, and a body of email in the "Email List" sheet of the spreadsheet, and send an email every day at 9:00 AM based on that information."
[1047] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1048] Step 1:
[1049] A user enters data into a spreadsheet document.
[1050] The user first opens a spreadsheet and enters business data into the "Mail List" sheet, which includes the recipient address, CC address, subject, and body of the email.
[1051] Input: Enter business data into a spreadsheet.
[1052] Output: The entered data is saved in the "Email List" sheet.
[1053] Step 2:
[1054] The user configures and saves the script in the script editor.
[1055] The user opens the "Script Editor" from the "Tools" menu of the spreadsheet, pastes the provided script, and saves it. The script contains functions for reading data and generating and sending emails.
[1056] Input: The script code provided.
[1057] Output: The script saved in the script editor.
[1058] Step 3:
[1059] The user sets up a timer trigger during first-time setup.
[1060] The user manually executes the setupTrigger function in the script editor to set a timer trigger to automatically execute the script at a specific time every day.
[1061] Input: Execution of setupTrigger function.
[1062] Output: Trigger settings to automatically execute a script at a specified time.
[1063] Step 4:
[1064] The server periodically runs the script and retrieves the data.
[1065] The server is triggered at the specified time to execute the script, first retrieving data from the "Mail List" sheet in the spreadsheet.
[1066] Input: The script started by the trigger and the data from the "Mail List" sheet in the spreadsheet.
[1067] Output: Business data read into memory by the script.
[1068] Step 5:
[1069] The server generates the email.
[1070] Based on the retrieved data, the server replaces the placeholders in the template to generate the email, using a loop to replace the placeholders for each row of data.
[1071] Input: In-memory business data and templates.
[1072] Output: Placeholders are replaced and a separate email template is generated.
[1073] Step 6:
[1074] The server sends the email.
[1075] Once the email is generated, the server uses GmailApp to send it to the specified recipient.
[1076] Input: The generated email.
[1077] Output: A successful delivery message to the specified recipient.
[1078] This process flow saves the user the trouble of manually sending emails, improving work efficiency.
[1079] (Application example 1)
[1080] 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."
[1081] In recent years, automated machines have been introduced in many factories. Among these, regular maintenance of machines is important, and any omissions in maintenance can affect the entire production line. However, managing maintenance schedules and notifying personnel at the appropriate times is time-consuming and prone to human error. Furthermore, systems for managing maintenance information are often complex, placing a burden on users. The present invention aims to solve these problems and improve the efficiency of maintenance management of factory machines.
[1082] 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.
[1083] In this invention, the server includes means for acquiring data from a spreadsheet, means for generating e-mail based on the data, means for sending the generated e-mail, means for setting a timer trigger for periodically executing the means, and means for managing the maintenance schedule of the factory machines, thereby enabling effective management of the machine maintenance schedule and automatic notification to the person in charge.
[1084] A "spreadsheet" is software for organizing data and storing it in a tabular format.
[1085] "Means for obtaining data" refers to the functionality for extracting the necessary information from the spreadsheet.
[1086] The "means for generating e-mail" is a function for creating e-mail content based on the acquired data.
[1087] The "means for sending e-mail" is a function for sending the generated e-mail to a specified destination.
[1088] The "means for setting a timer trigger" is a scheduling function for automatically executing a specific process periodically.
[1089] A "factory" is a facility for manufacturing products.
[1090] "Machinery" refers to production equipment and devices used in factories.
[1091] A "maintenance schedule" is a plan that indicates the dates for regular maintenance work on a machine.
[1092] "Means of control" refers to the ability to effectively organize and track maintenance schedules.
[1093] A "person in charge" is a person who is responsible for carrying out a particular job or task.
[1094] "Sending notifications automatically" means that the system automatically makes contact without human intervention.
[1095] The following describes in detail an embodiment of the present invention. One embodiment of the present invention is a system that automatically manages maintenance schedules for machines in a factory and notifies personnel in charge at appropriate times.
[1096] Steps to be taken by the user
[1097] First, users open a Google spreadsheet and organize and enter data related to maintenance schedules into the "Maintenance Schedule" sheet. This sheet contains placeholders for the recipient address, CC address, subject line, and body of each notification. Specifically, the maintenance date, name of the person in charge, and name of the machine are entered.
[1098] Next, the user opens the Google Script Editor, pastes in the appropriate script, and saves it. This script contains functions to read data from a spreadsheet and generate and send emails. For initial setup, the user manually runs the setupTrigger function to set up a periodic timer trigger, which automatically sends maintenance notifications at the specified interval.
[1099] Server Operation
[1100] The server (the execution engine of Google Apps Script) first retrieves the data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the specified sheet ("Maintenance Schedule"). Next, the server loads a template for generating the email. The template contains placeholders that are replaced based on the data for each row.
[1101] The server loops, reads the data from each row in the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and then uses GmailApp to send the email to the specified recipient.
[1102] Specific examples
[1103] For example, if a user wants to send a machine maintenance reminder email every day at 8:00, they would enter the following data into the "Maintenance Schedule" sheet in Google Sheets:
[1104] | Maintenance person's email address | CC address | Subject | Person in charge name | Maintenance date | Machine name |
[1105] |---------------------------|-------------|---------------------------|-----------|---------------|---------|
[1106] | maintainer@example.com | supervisor@example.com | Robot maintenance notification | Taro Yamada | 2023-11-01 | Manufacturing robot A |
[1107] The user pastes the appropriate script into the script editor and saves it. Then, the setupTrigger function is manually executed to set the sendAutoEmails function to run automatically at 8:00 every day. The server executes the script at 8:00 every day, retrieves data from the spreadsheet, generates emails based on the template, and sends them to the recipients. This saves the user the trouble of manually sending notifications and greatly improves the efficiency of managing maintenance schedules.
[1108] Example prompt sentence:
[1109] "I would like to apply an automatic email notification system using Google Spreadsheets to machine maintenance management in a factory. Please provide me with the Google Apps Script code for an application that automatically sends reminder emails to the person in charge about maintenance dates."
[1110] In this way, the present invention allows users to easily set up automatic distribution of maintenance notifications even if they do not have programming knowledge, thereby improving the efficiency of factory operations.
[1111] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1112] Step 1:
[1113] The user opens a Google spreadsheet and enters the maintenance schedule data, including the email address of the maintenance person, CC address, subject, person's name, maintenance date, and machine name.
[1114] Input: Maintenance-related data (recipient address, CC address, email subject, contact person name, maintenance date, machine name)
[1115] Output: Maintenance data organized in a Google spreadsheet
[1116] Step 2:
[1117] The user opens the Google Script Editor, pastes in the appropriate script, saves it, and then manually runs the setupTrigger function to set up a periodic timer trigger.
[1118] Input: Google Apps Script code
[1119] Output: Setting a timer trigger that runs periodically
[1120] Step 3:
[1121] The server periodically executes a script triggered by a timer to retrieve data from a spreadsheet. Here, SpreadsheetApp is used to select the active spreadsheet and retrieve all data from the specified sheet ("Maintenance Schedule").
[1122] Input: "Maintenance Schedule" sheet in Google Spreadsheet
[1123] Output: Retrieved maintenance data
[1124] Step 4:
[1125] The server loads an email template, which contains placeholders that are replaced based on each line of data.
[1126] Input: Email template, captured maintenance data
[1127] Data manipulation: Customize templates by replacing placeholders in the template based on each row's data
[1128] Output: Customized email body
[1129] Step 5:
[1130] The server performs a loop based on the retrieved data and generates email information (recipient, CC, subject, and body) from each row of data.
[1131] Input: Retrieved maintenance data
[1132] Data Calculation: Generate email recipients, CCs, subject lines, and body text based on each line of data
[1133] Output: Generated email information
[1134] Step 6:
[1135] Sends the generated email using GmailApp and records the success or failure status of the sending.
[1136] Input: Generated email information
[1137] Data calculation: Send emails and record result status using GmailApp
[1138] Output: Reminder email sent to the agent, status log
[1139] This process ensures that maintenance schedules for factory machines are managed efficiently and that personnel receive timely reminders.
[1140] 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.
[1141] The system of the present invention combines data management using Google Spreadsheets with automatic sending via Gmail, and further integrates an emotion engine that recognizes the user's emotions to provide a function for automatically customizing the content of emails. Specific embodiments are described below.
[1142] Steps to be taken by the user
[1143] First, the user opens a Google spreadsheet and creates an "Email List" sheet. In this sheet, they enter the recipient address, CC address, subject, and body of the email. This data will be used as the sending information for the email.
[1144] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine.
[1145] For the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[1146] Server Operation
[1147] The server (the execution engine of Google Apps Script) first retrieves data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[1148] The server then uses an emotion engine to recognize the user's emotions. This emotion data is used to customize the email content. For example, if the user is in a positive mood, an email with a more encouraging message will be generated.
[1149] The server then loads an email template, which contains placeholders that are replaced based on the data and sentiment data from the spreadsheet.
[1150] The server loops, reads the data from each row of the spreadsheet, replaces the placeholders with the appropriate data, generates an email, and uses GmailApp to send the email to the specified recipient.
[1151] Specific examples
[1152] For example, if a user wants to send a work reminder email every morning, they would enter the data into the "Email List" sheet as follows:
[1153] | To address | CC address | Subject | Body |
[1154] |------------------------|------------------|--------------------------|----------------------------|
[1155] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[1156] Additionally, if the emotion engine recognizes that the user is satisfied with the work they did the previous day, it will add an encouraging message to the email body: "You did a great job yesterday. Let's do our best today too!"
[1157] The user pastes the appropriate script into the script editor, saves it, and then manually runs the setupTrigger function to automatically send the email every morning.
[1158] The server runs a script every morning, retrieving data from the spreadsheet and sending personalized emails based on the emotions detected by the emotion engine, eliminating the need for users to manually send emails and allowing for personalized responses based on emotions.
[1159] As a result, the system of the present invention can realize advanced automatic email distribution that takes into account the user's emotions, thereby improving business efficiency and the quality of communication.
[1160] The processing flow will be explained below.
[1161] Step 1:
[1162] The user opens a Google spreadsheet and creates an "Email List" sheet, where they enter the recipient address, CC address, subject, and body of the email.
[1163] Step 2:
[1164] Users simply open Google's script editor, paste in the required script, and save it. This script reads data from a spreadsheet and interacts with the sentiment engine to generate and send emails.
[1165] Step 3:
[1166] The device manually executes the setupTrigger function in the saved script to set a timer trigger, which automatically runs the script at a specific time interval (for example, every day at 9:00).
[1167] Step 4:
[1168] The server will automatically execute the script at the specified time according to the configured trigger.
[1169] Step 5:
[1170] The server invokes SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Mail List') to obtain the "Mail List" sheet.
[1171] Step 6:
[1172] The server uses sheet.getDataRange().getValues() to retrieve all data on the sheet as a two-dimensional array.
[1173] Step 7:
[1174] The server calls HtmlService.createHtmlOutputFromFile('emailTemplate').getContent() to load the HTML email template.
[1175] Step 8:
[1176] The server uses an emotion engine to recognize the user's emotion. For example, the user's emotion data can be obtained from an external API or a sensor device.
[1177] Step 9:
[1178] The server replaces placeholders in email templates based on the recognized emotion, for example adding an encouraging message to the email body if a positive emotion is recognized.
[1179] Step 10:
[1180] The server begins a loop through each row of data in the array, skipping the first row of the array as a header.
[1181] Step 11:
[1182] The server sequentially obtains the destination address (toAddress), CC address (ccAddress), subject, and body from each line of data, and customizes them based on the template and emotion data.
[1183] Step 12:
[1184] The server uses the GmailApp.sendEmail function to send a customized email with the specified recipient address, subject, body, and CC addresses.
[1185] Step 13:
[1186] After the server has completed generating and sending emails for all row data, it ends the process.
[1187] Example 2
[1188] 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."
[1189] Modern business communication requires the ability to efficiently manage large numbers of emails and automatically send them based on specific conditions. Another challenge is improving the quality of communication by customizing email content to match the recipient's emotions. However, current systems do not provide these functions in an integrated manner, requiring users to manually compose and send emails, which is time-consuming. Furthermore, email customization linked to sentiment analysis is not possible, making it difficult to respond to individual requests.
[1190] 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. In this invention, the server includes means for acquiring data from a data spreadsheet, means for generating an electronic communication message based on the data, means for analyzing a user's emotions, means for customizing the electronic communication message based on the emotion data, and means for setting a time trigger for periodically executing the above means. This makes it possible to automatically generate and send electronic communication messages, and further improve the quality of communication by customizing them according to the user's emotions.
[1191] "Data spreadsheet software" is application software for managing data in a tabular format and performing numerical calculations and data aggregation.
[1192] "Electronic Communications" means emails and other text-based communications sent or received over the Internet.
[1193] "Means for analyzing emotions" refers to algorithms or software for detecting the user's emotional state and obtaining the analysis results.
[1194] A "placeholder" is a symbol or string of characters that indicates where specific information should be inserted within an email template.
[1195] A "time trigger" is a setting function that automatically executes a specified procedure at a specific time or time interval.
[1196] "Customization methods" are methods for modifying or adjusting the content of electronic communication messages based on acquired emotional data or other input data.
[1197] "Data acquisition means" refers to the techniques and processes used to read and acquire the required information from data spreadsheets and other data sources.
[1198] A "means for generating an electronic communication message" is a method for creating a final electronic communication message using the acquired data and templates.
[1199] The present invention is a system that combines data management using a data spreadsheet with automated sending of electronic communication messages, and also provides the ability to analyze user sentiment and customize electronic communication messages based on that sentiment.
[1200] First, the user opens a data spreadsheet (e.g., Google Sheets) and creates an "email list" sheet, where they enter the data required for sending emails, such as recipient addresses, CC addresses, subject lines, and email body text.
[1201] Next, the user opens Google's script editor, pastes in the system's script, and saves it. This script includes functions to retrieve data from the data spreadsheet and interact with the emotion engine to generate and send electronic communication messages.
[1202] As part of the initial setup, the user manually executes the setupTrigger function to set a timer trigger, which automatically executes the email sending script at the set interval.
[1203] The server (the execution engine of Google Apps Script) first selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array. Then, it uses the emotion engine to analyze the user's emotion. For example, if a positive emotion is recognized, that data is used to customize the email body.
[1204] The server loads the email message template and replaces the placeholders with appropriate content based on the spreadsheet data and sentiment data. After generating the email, it is sent to the specified recipient using the Gmail app.
[1205] As a concrete example, let's say a user wants to send a work reminder email every morning. The user enters the following data into the "Email List" sheet:
[1206] | To address | CC address | Subject | Body |
[1207] |---------------------|----------------|-------------------|--------------------------|
[1208] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[1209] If the emotion engine recognizes that the user is satisfied with the work they did yesterday, an encouraging message such as "You did a great job yesterday. Let's do our best today!" is added to the email body. An example of a prompt sentence that can be used is, "Let the emotion engine recognize whether the user is satisfied with the work they did yesterday, and if so, add an encouraging message. For example, "You did a great job yesterday. Let's do our best today!"."
[1210] This system eliminates the need for users to manually send emails and enables personalized responses based on emotions, which is expected to improve work efficiency and the quality of communication.
[1211] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1212] Step 1:
[1213] The user opens a Google spreadsheet and names a new sheet "Email List." In this sheet, the user enters the recipient address, CC address, subject, and message body. The input data is the information required to send an email. For example, enter the data as follows:
[1214] | To address | CC address | Subject | Body |
[1215] |---------------------|----------------|-------------------|--------------------------|
[1216] | user@example.com | cc@example.com | Morning task reminder | Let me know what you need to do today. |
[1217] Input: Spreadsheet data
[1218] Output: Email sending information data
[1219] Step 2:
[1220] The user opens the Google Script Editor, pastes the system script, and saves it. The script includes functions to retrieve data from a spreadsheet, generate and send emails, and integrate with the emotion engine. The user saves the script and makes it executable.
[1221] Input: System script
[1222] Output: Saved script
[1223] Step 3:
[1224] The user manually runs the setupTrigger function in the Google Script Editor as the initial setup and sets a timer trigger, which allows the script to be automatically executed at set intervals.
[1225] Input: Execute setupTrigger function
[1226] Output: Timer trigger setting
[1227] Step 4:
[1228] The server (Google Apps Script execution engine) automatically executes the script periodically based on the configured timer trigger. First, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Email List" sheet as a two-dimensional array.
[1229] Input: Timer Trigger
[1230] Output: A two-dimensional array of spreadsheet data
[1231] Step 5:
[1232] The server processes the retrieved data and reads the content of each line. At the same time, it uses an emotion engine to analyze the user's emotions. For example, it obtains "positive" or "negative" as emotion data and uses it to customize the email content.
[1233] Input: 2D array of spreadsheet data, emotion data
[1234] Output: Emotion analysis results
[1235] Step 6:
[1236] The server loads the email message template and replaces placeholders with appropriate content based on the spreadsheet data and sentiment data, for example adding sentiment-based messages like, "You did a great job yesterday! Let's do our best today!"
[1237] Input: Template data, spreadsheet data, emotion data
[1238] Output: Customized email body
[1239] Step 7:
[1240] The server generates an electronic communication message using the customized email body and sends the generated email to the specified destination using GmailApp.
[1241] Input: Customized email body
[1242] Output: The electronic communication message sent
[1243] In this way, the system can automatically send emails and respond to individual emotions, which is expected to improve work efficiency and the quality of communication.
[1244] (Application example 2)
[1245] 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."
[1246] Conventional email auto-generation systems have the problem of sending emails with uniform content without customizing them based on the user's emotions. As a result, the content of emails often does not match the recipient's interests or emotions, reducing the effectiveness of advertisements and notifications.
[1247] 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 acquiring data from a spreadsheet, means for generating e-mail based on the data, means for analyzing the user's emotions, means for customizing the content of the e-mail based on the analyzed emotions, means for sending the generated e-mail, and means for setting a timer trigger for periodically executing the above means. This makes it possible to automatically generate and send e-mail with content that corresponds to the user's emotions.
[1248] A "spreadsheet" is a tabular document used to manage data using spreadsheet software.
[1249] A "means of obtaining data" is a method or technique for reading the required information from the spreadsheet.
[1250] "Means for generating e-mail" refers to a method or technology for creating the body and subject of an e-mail based on the acquired data.
[1251] "Means for analyzing user emotions" refers to algorithms and technologies for extracting and evaluating the emotions and psychological state of the sender or receiver.
[1252] "Means for customizing email content based on analyzed emotions" refers to technology that appropriately changes and adjusts the content of emails based on the results of emotion analysis.
[1253] "Means for sending email" refers to the method or technology for sending the generated email to the specified destination.
[1254] "Means for setting a timer trigger" refers to a technique for setting a time interval or timing for periodically executing a specific process.
[1255] The system for realizing this invention is configured by combining a spreadsheet, an emotion analysis engine, an email sending system, and a timer trigger setting function. Specifically, it is implemented in the following procedure.
[1256] First, the user creates an "email list" sheet using spreadsheet software (e.g., Google Spreadsheets) and enters the necessary data, such as the recipient address, CC address, subject, and body of the email. This data will later be used as the basis for generating and sending emails.
[1257] Next, the user opens the script editor, pastes the system script, and saves it. This script includes a function to retrieve the necessary data from the spreadsheet and analyze the user's emotions in conjunction with a sentiment analysis engine (e.g., emotion recognition API). The sentiment analysis engine evaluates the user's emotions from their reviews, comments, email history, etc., and returns the results.
[1258] The server (the Google Apps Script execution engine) retrieves the data from the spreadsheet and analyzes the user's emotions using a sentiment analysis engine. For example, if the user's emotions are evaluated as positive, an encouraging message is added to the template based on the results. By customizing the content of the email based on the analyzed emotions, more personalized messages can be sent.
[1259] The server then loads the email template, replaces placeholders based on the spreadsheet data and the results of a sentiment analysis engine, and sends the resulting email to the specified recipients.
[1260] Furthermore, this system is set to run periodically by a timer trigger. For initial setup, the user can manually run the setupTrigger function to set up an email to be sent automatically at 9:00 every morning, for example.
[1261] A concrete example is managing an advertising campaign. The user enters the advertising content into an "Advertisement List" sheet, and a sentiment analysis engine is used to analyze customer sentiment. If the sentiment is positive, a message such as "Thank you. We appreciate your support!" is added. An example of a prompt for a generative AI model is, "A customer is dissatisfied with their recent purchase experience, but is interested in a new product. Please generate a customized advertising email."
[1262] In this way, by automatically generating and sending emails with content that matches the user's emotions, more effective communication with the recipient can be achieved.
[1263] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1264] Step 1:
[1265] A user uses spreadsheet software to create a "mail list" sheet, which is populated with data such as To addresses, CC addresses, subject lines, and email body. The input data is a spreadsheet containing To addresses, CC addresses, subject lines, and email body, and the output is a spreadsheet with these data appropriately populated.
[1266] Step 2:
[1267] The user opens the script editor, pastes the system's script, and saves it. This script includes functions to retrieve data from a spreadsheet and analyze the user's sentiment in conjunction with a sentiment analysis engine. The input data is the script code, and the output is the saved script.
[1268] Step 3:
[1269] During the initial setup, the user manually executes the setupTrigger function. This sets a timer trigger, so that the script will be executed automatically, for example, every morning at 9:00. The input data is the timer setting information, and the output is the set timer trigger.
[1270] Step 4:
[1271] The server is triggered at the set time to retrieve data from the spreadsheet. Specifically, it selects the active spreadsheet using SpreadsheetApp and retrieves all data from the "Mail List" sheet as a 2D array. The input data is the spreadsheet data, and the output is the retrieved 2D array data.
[1272] Step 5:
[1273] The server uses a sentiment analysis engine to analyze the user's sentiment. This sentiment data is used to customize the content of the email. For example, the previous day's reviews and comments are sent as input data to the sentiment analysis engine, and the resulting sentiment data is received as output. The input data are the user's reviews and comments, and the output is the analyzed sentiment data.
[1274] Step 6:
[1275] The server loads an email template based on the emotion data and replaces placeholders based on the spreadsheet data and emotion data. Specifically, it replaces placeholders such as "{{emotion message}}" in the template with messages corresponding to the emotion. The input data are the template, spreadsheet data, and emotion data, and the output is a customized email body.
[1276] Step 7:
[1277] The server uses the Gmail API to send the generated email to the specified recipients. Specifically, it calls the GmailApp.sendEmail() function with a customized email body. The input data is the customized email body and the recipient address, and the output is the sent email.
[1278] Step 8:
[1279] The server updates the spreadsheet as needed for the next script execution, for example by updating the send date and time and the send status. The input data is the latest state of the spreadsheet, and the output is the updated spreadsheet.
[1280] 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.
[1281] 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.
[1282] 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.
[1283] 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.
[1284] 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.
[1285] 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.
[1286] 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).
[1287] 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.
[1288] 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."
[1289] 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.
[1290] 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).
[1291] 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.
[1292] 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.
[1293] 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.
[1294] 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.
[1295] 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.
[1296] 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.
[1297] 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.
[1298] 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.
[1299] 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.
[1300] 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.
[1301] The following is further disclosed regarding the above embodiment.
[1302] (Claim 1)
[1303] a means of retrieving data from a spreadsheet;
[1304] means for generating an email based on the data;
[1305] means for sending the generated email;
[1306] A means for setting a timer trigger for periodically executing the means;
[1307] A system including:
[1308] (Claim 2)
[1309] 10. The system of claim 1, further comprising means for replacing placeholders in a spreadsheet to generate the body of the email.
[1310] (Claim 3)
[1311] 10. The system of claim 1, further comprising means for obtaining the email's To address, CC address, subject line, and body from the spreadsheet.
[1312] "Example 1"
[1313] (Claim 1)
[1314] means for acquiring data from a spreadsheet document containing business data;
[1315] means for generating an electronic document based on the data;
[1316] means for transmitting the generated electronic document;
[1317] means for setting a time-based trigger for periodically executing said means;
[1318] A system including:
[1319] (Claim 2)
[1320] 10. The system of claim 1, further comprising means for replacing placeholders in a spreadsheet document to generate the body of the electronic document.
[1321] (Claim 3)
[1322] 2. The system according to claim 1, further comprising means for obtaining a destination address, a CC address, a title, and a body of the electronic document from a spreadsheet document.
[1323] "Application Example 1"
[1324] (Claim 1)
[1325] a means of retrieving data from a spreadsheet;
[1326] means for generating an email based on the data;
[1327] means for sending the generated email;
[1328] A means for setting a timer trigger for periodically executing the means;
[1329] A means of managing the maintenance schedule of factory machinery;
[1330] A system including:
[1331] (Claim 2)
[1332] 10. The system of claim 1, further comprising means for replacing placeholders in a spreadsheet to generate the body of the email.
[1333] (Claim 3)
[1334] 2. The system according to claim 1, further comprising means for obtaining the email destination address, CC address, subject, body, maintenance schedule, person in charge name, and machine name from the spreadsheet.
[1335] "Example 2: Combining Emotion Engines"
[1336] (Claim 1)
[1337] A means of obtaining data from the data spreadsheet;
[1338] means for generating an electronic communication message based on said data;
[1339] means for transmitting the generated electronic communication message;
[1340] means for analyzing user emotions;
[1341] means for customizing an electronic communication message based on said emotion data;
[1342] means for setting a time trigger for periodically executing said means;
[1343] A system including:
[1344] (Claim 2)
[1345] 10. The system of claim 1, further comprising means for replacing placeholders in a data spreadsheet to generate the body of the electronic communication message.
[1346] (Claim 3)
[1347] 10. The system of claim 1, further comprising means for obtaining the destination address, CC address, subject line, and body of the electronic communication message from a data spreadsheet.
[1348] "Application example 2 when combining emotion engines"
[1349] (Claim 1)
[1350] a means of retrieving data from a spreadsheet;
[1351] means for generating an email based on the data;
[1352] means for analyzing user emotions;
[1353] means for customizing email content based on the analyzed sentiment;
[1354] means for sending the generated email;
[1355] A means for setting a timer trigger for periodically executing the means;
[1356] A system including:
[1357] (Claim 2)
[1358] 10. The system of claim 1, further comprising means for replacing placeholders in a spreadsheet to generate the body of the email.
[1359] (Claim 3)
[1360] 10. The system of claim 1, further comprising means for obtaining the email's To address, CC address, subject line, and body from the spreadsheet. [Explanation of symbols]
[1361] 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 retrieving data from a spreadsheet; means for generating an email based on the data; means for sending the generated email; A means for setting a timer trigger for periodically executing the means; A system including:
2. 10. The system of claim 1, further comprising means for replacing placeholders in a spreadsheet to generate the body of the email.
3. 10. The system of claim 1, further comprising means for obtaining the email's To address, CC address, subject line, and body from a spreadsheet.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A