system
The system automates proposal generation through user input, server verification, and PDF output, addressing the inefficiencies and inconsistencies of manual proposal creation, ensuring quick and accurate results.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Creating custom proposals based on commercial materials is time-consuming and prone to human error, leading to variations in quality and consistency.
A system that includes a user input mechanism, a terminal for data transmission, a server for data verification and proposal generation, and a PDF output, enabling automated proposal creation with improved efficiency and quality.
Enables quick and accurate generation of high-quality proposals by automating the proposal creation process, reducing human intervention and ensuring consistency.
Smart Images

Figure 2026064777000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a persona chatbot control method performed by at least one processor, including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] Conventionally, the work of creating a custom proposal based on a plurality of commercial materials provided by a company has been time-consuming and has a high risk of human error. Also, since it is done manually, there are problems such as variations in the quality and consistency of the proposals. An object of the present invention is to solve these problems and provide a system that can automatically generate proposals quickly and accurately.
Means for Solving the Problems
[0005] The present invention provides a system that includes means for a user to input data, means for a terminal to send data to a server, means for the server to receive and verify the data, means for the server to determine the content of a proposal based on the data, means for the server to embed the content of the proposal into a template, means for the server to generate a PDF file, means for the server to send the generated PDF file, and means for the terminal to download and display the PDF file. This makes it possible to improve the efficiency and quality of proposal creation.
[0006] A "user" refers to an individual or organization that operates the system and inputs the necessary data.
[0007] A "terminal" refers to a device operated by a user, which provides a means for transmitting data to a server.
[0008] A "server" refers to a computer system that processes data received from a terminal, generates proposals, and outputs them as a PDF file.
[0009] "Data" refers to information entered by users, such as product information, cloud service information, security information, mobile information, voice information, and operational information.
[0010] "Receiving" refers to the action of a server receiving data sent from a terminal.
[0011] "Verification" refers to the process of confirming the accuracy and validity of the data received by the server.
[0012] "Proposed content" refers to the specific information and plans included in the proposal that the server determines based on the data entered by the user.
[0013] A "template" refers to a standardized format for a proposal, a predefined document format into which the proposal content is to be inserted.
[0014] "PDF file" is the abbreviation of Portable Document Format and refers to the file format of the proposal generated by the server.
[0015] "Transmission" refers to the operation of transferring the PDF file generated by the server to the user's terminal.
[0016] "Download" refers to the operation of the terminal acquiring the PDF file transmitted from the server and displaying it to the user.
Brief Description of Drawings
[0017] [Figure 1] It is a conceptual diagram showing an example of the configuration of the data processing system according to the first embodiment. [Figure 2] It is a conceptual diagram showing an example of the main functions of the data processing device and the smart device according to the first embodiment. [Figure 3] It is a conceptual diagram showing an example of the configuration of the data processing system according to the second embodiment. [Figure 4] It is a conceptual diagram showing an example of the main functions of the data processing device and the smart glasses according to the second embodiment. [Figure 5] It is a conceptual diagram showing an example of the configuration of the data processing system according to the third embodiment. [Figure 6] It is a conceptual diagram showing an example of the main functions of the data processing device and the headset-type terminal according to the third embodiment. [Figure 7] It is a conceptual diagram showing an example of the configuration of the data processing system according to the fourth embodiment. [Figure 8] It is a conceptual diagram showing an example of the main functions of the data processing device and the robot according to the fourth embodiment. [Figure 9] It shows an emotion map to which a plurality of emotions are mapped. [Figure 10] It shows an emotion map to which a plurality of emotions are mapped. [Figure 11] It is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12]It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Embodiment 2 when combined with an emotion engine. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when combined with an emotion engine.
Modes for Carrying Out the Invention
[0018] Hereinafter, an example of an embodiment of a system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0019] First, the terms used in the following description will be explained.
[0020] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), and the like.
[0021] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0022] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0023] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0025] [First Embodiment]
[0026] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0027] As shown in Figure 1, the data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0028] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0029] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0030] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0032] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0033] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0034] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0035] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0036] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0037] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0038] This invention relates to a system for automatically generating proposals, and describes its implementation.
[0039] This system includes a terminal operated by the user, a server that processes data, and communication means for sending and receiving data between them. The user enters the necessary data into an input form and sends it to the server via the terminal, automatically generating a proposal.
[0040] User actions
[0041] Users access the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Users enter the required information in each field. Once the input is complete, clicking the "Submit" button sends the data from the device to the server.
[0042] Terminal processing
[0043] The terminal converts the data entered by the user into JSON or XML format and sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0044] Server reception and verification
[0045] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0046] Decision on the proposal
[0047] If verification is completed successfully, the server will determine the recommendations based on the entered data. Optimized recommendations will be generated for each category: network products, cloud services, security, mobile, voice, and operational information. For example, if the network product is "dedicated line," detailed information and pricing plans for dedicated lines will be included. Similarly, if "AWS®" is selected as the cloud service, AWS usage plans and specific services (such as EC2 and S3) will be proposed.
[0048] Embedding in proposal templates
[0049] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[0050] Generating PDF files
[0051] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, Python's ReportLab or LaTeX). The generated PDF file is temporarily stored on the server.
[0052] Sending and downloading PDF files
[0053] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. Upon receiving the response, the device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0054] Specific example
[0055] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0056] The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0057] The terminal sends the input information to the server in JSON format.
[0058] The server receives the data and performs field validation.
[0059] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0060] The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0061] The server embeds this information into the proposal template.
[0062] The server generates a PDF proposal and saves it temporarily.
[0063] The server sends a response to the terminal that includes a download link for the PDF file.
[0064] The device downloads a PDF file via a link and provides it to the user.
[0065] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0066] The following describes the processing flow.
[0067] Step 1:
[0068] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[0069] Step 2:
[0070] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. Once the input is complete, they click the "Submit" button.
[0071] Step 3:
[0072] The terminal converts the data entered by the user into JSON or XML format. This converted data is then ready to be sent to the server.
[0073] Step 4:
[0074] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0075] Step 5:
[0076] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0077] Step 6:
[0078] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[0079] Step 7:
[0080] The server embeds the decided proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal content is then appropriately placed within this template.
[0081] Step 8:
[0082] The server converts the embedded template into PDF format. A PDF generation library is used for this purpose. The generated PDF file is saved to the server's temporary storage.
[0083] Step 9:
[0084] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[0085] Step 10:
[0086] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[0087] Step 11:
[0088] The user opens the downloaded proposal PDF and reviews its contents. They can save or print the proposal as needed.
[0089] This series of processes enables users to quickly create efficient and accurate proposals.
[0090] (Example 1)
[0091] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0092] When companies and individuals prepare proposals, gathering, organizing, and documenting information requires considerable time and effort. Especially when offering diverse products or services, collecting detailed information for each item and constructing a proposal based on that information is extremely cumbersome, potentially leading to inconsistencies in proposal quality. There is a need for a system that reduces this effort and automatically generates high-quality proposals quickly and consistently.
[0093] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0094] In this invention, the server includes means for verifying the structure and content of received data, means for determining an optimized proposal based on the verified data, and means for embedding the determined proposal into a predefined template. This makes it possible for users to automatically generate high-quality proposals quickly and consistently simply by inputting the necessary data.
[0095] A "user" is the entity that uses the system to input information for a proposal and receives the final proposal document.
[0096] "Data" refers to the information that users input to generate a proposal, and includes detailed information about the products or services.
[0097] A "terminal" is a computer or mobile device that a user uses to input data and send it to a server.
[0098] A "server" is a computer system that receives data sent from a terminal, verifies it, and performs the necessary processing to generate a proposal.
[0099] A "structured data format" is a data format, such as JSON or XML, that organizes data according to a specific format, making it interchangeable.
[0100] A "verification mechanism" is a function that checks whether the data received by the server is in the correct format and content.
[0101] "Proposal content" refers to the content of the proposal generated by the server based on the data entered by the user, and includes specific information about a particular product or service.
[0102] A "template" is a predefined framework that outlines the basic structure and format of a proposal, serving as a structure for filling in the proposal content.
[0103] A "PDF file" is an abbreviation for Portable Document Format, and it is an electronic document format for ultimately saving, viewing, and sharing proposals.
[0104] A "download link" is a URL link that allows you to obtain the generated PDF file via the internet.
[0105] This invention relates to a system for automatically generating proposals quickly and of high quality, and describes its implementation. The system includes a terminal operated by the user, a server for processing data, and communication means for sending and receiving data between them.
[0106] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. The user enters the required information in each field. For example, they might enter "dedicated line" in the "Network Products" field and "AWS" in the "Cloud Services" field. Once the input is complete, clicking the "Submit" button sends the user's data from their device to the server.
[0107] Next, the terminal receives the data entered by the user. This data is converted to JSON or XML format, and an HTTP POST request is sent to the server's API endpoint. The server receives the data sent from the terminal and verifies whether its structure and content are correct. For example, it might use a Python validation library to check if all required fields are filled in and if the format is correct. If an error is detected, the server generates an error message and sends it back to the terminal.
[0108] If verification is completed successfully, the server will determine the recommendations based on the input data. Optimized recommendations are generated for each category, such as network products, cloud services, security, mobile, voice, and operational information. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will propose "Using EC2 instances and S3 storage."
[0109] Next, the decided proposal content is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates. For example, it might use a Python template engine to embed the information.
[0110] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, ReportLab in Python). The generated PDF file is temporarily stored on the server. The server then sends an HTTP response to the terminal containing a download link for the generated PDF file. The terminal retrieves the download link from the received response and displays it to the user. The user can click this link to download the PDF file and then save or print it.
[0111] Specific example
[0112] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0113] 1. The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0114] 2. The terminal sends the input information to the server in JSON format.
[0115] 3. The server receives the data and validates the fields.
[0116] 4. The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" service.
[0117] 5. The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0118] 6. The server embeds this information into the proposal template.
[0119] 7. The server generates and temporarily saves the PDF proposal.
[0120] 8. The server sends a response to the terminal that includes a download link for the PDF file.
[0121] 9. The device downloads a PDF file via a link and provides it to the user.
[0122] Examples of prompts for generative AI models
[0123] The following is an example of prompt statements for inputting the system requirements into the generated AI model.
[0124] Design a system where, using a web browser or dedicated app, users input information into fields such as network products, cloud services, security, mobile, voice, and operational information, and then, upon clicking the "Submit" button, the server receives the data and automatically generates a proposal. The proposal will contain optimized content based on the input information and will be output in PDF format.
[0125] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0126] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0127] Step 1:
[0128] Users access the input form using a web browser or a dedicated application. The input form includes fields such as "Network Product," "Cloud Service," "Security," "Mobile," "Voice," and "Operational Information." Users enter the required data into these fields and click the "Submit" button when finished. Examples of input include "Network Product: Dedicated Line" and "Cloud Service: AWS." This data is then sent to the terminal.
[0129] Step 2:
[0130] The terminal receives data entered by the user. The received data is converted into a structured data format such as JSON or XML. In the case of JSON format, the data is serialized using Python's json module. The input is data entered by the user, and the output is data in a structured data format (JSON or XML). Specifically, the received data is converted to JSON format using the json.dumps method. After that, the terminal sends an HTTP POST request to the server's API endpoint. This request sends the user data in structured data format to the server.
[0131] Step 3:
[0132] The server receives structured data sent from the terminal. The input is structured data, and the output is validated data. First, the server verifies that the received data is in the correct format and content. The Python pydantic library is used for data validation. Specifically, the pydantic model is used to check the data type and requirements of each field. If an error is detected, the server generates an error message and sends it back to the terminal.
[0133] Step 4:
[0134] If data validation is successfully completed, the server determines optimized suggestions based on the input data. The input is validated data, and the output is the suggested content. Predefined business logic is applied to the process of generating the optimal suggestions for each category. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will suggest "Using EC2 instances and S3 storage." This extracts specific suggestions that best suit the user's needs.
[0135] Step 5:
[0136] The finalized proposal is embedded into a predefined proposal template by the server. The input consists of the proposal content and the template, while the output is the proposal content embedded in the template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. Specifically, a Python template engine (e.g., Jinja2) is used to embed the proposal content into each template field. This step completes the proposal template.
[0137] Step 6:
[0138] Once the template is embedded, the server generates the proposal in PDF format. A PDF generation library is used for this process. The input is the proposal content embedded in the template, and the output is a PDF file. For example, the ReportLab library in Python is used to generate the PDF file. This file is temporarily stored on the server.
[0139] Step 7:
[0140] Finally, the server sends an HTTP response to the terminal containing a download link for the generated PDF file. The input is the PDF file and link generation information, and the output is the response containing the download link. The terminal receives this response and displays the download link to the user. The user can click the displayed link to download the PDF file and review, save, or print the contents of the proposal.
[0141] (Application Example 1)
[0142] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0143] This invention relates to a system that can automatically generate proposals for optimizing production efficiency quickly and accurately. Conventional production efficiency improvement proposals are generally created manually by factory managers, which is time-consuming and labor-intensive, and carries a high risk of human error. Furthermore, because they deal with complex data structures, data verification and embedding into templates are cumbersome tasks.
[0144] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0145] In this invention, the server includes means for determining the content of a proposal based on data entered by the user, means for embedding the content of the proposal into a template, and means for transmitting the generated PDF file. This makes it possible to quickly and accurately automatically generate a proposal to optimize production efficiency based on production-related data entered by the factory manager.
[0146] A "user" is a person or entity that inputs data into a system.
[0147] A "terminal" is a device used by users to input data and send it to a server.
[0148] A "server" is a device that verifies data received from terminals, determines the content of the proposal, and generates a proposal document based on that.
[0149] "Data" refers to production-related information that users input into the system.
[0150] "Proposed content" refers to the content that the server determines based on the data entered by the user, in order to optimize production efficiency.
[0151] A "template" is a standardized format used to embed proposal content.
[0152] A "PDF file" is an electronic file format used to save generated proposals.
[0153] A "generative AI model" is an artificial intelligence system that generates prompt messages based on information input by the user and then generates corresponding suggestions.
[0154] A "prompt statement" is a text-based input statement used by a generative AI model to generate suggested content.
[0155] This invention is a system that automatically generates proposals to optimize production efficiency based on production data entered by factory managers. The system of this invention begins with the user entering data and sending it to the server via a terminal.
[0156] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields such as the production line name, the area to be improved, the current problem, the proposed solution, and the estimated cost. The user enters the necessary information into these fields and clicks the submit button.
[0157] Next, the terminal converts the data entered by the user into JSON format and sends an HTTP POST request to the server's API endpoint. This request contains all the data entered by the user.
[0158] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0159] If data validation is successful, the server determines the proposal based on the entered data. For example, depending on the entered production line name and current challenges, specific proposals to improve production efficiency are generated. The server then embeds these proposals into an appropriate proposal template.
[0160] Next, the server uses a generative AI model to generate a prompt based on the information entered by the user. This prompt is then used to generate more detailed suggestions. For this process, a text generation model such as GPT-3 (registered trademark) is used. The generated suggestions are then embedded back into the template.
[0161] Subsequently, the server generates a PDF file based on the embedded template. This PDF file is created using a PDF generation library (e.g., Python's FPDF library). The generated PDF file is temporarily stored on the server.
[0162] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0163] As a concrete example, consider a case where a factory manager enters the following information:
[0164] Production line name: Line A
[0165] Target for improvement: Assembly process for product B
[0166] Current challenges: Delays in parts supply.
[0167] Proposal: Introduction of a parts supply robot
[0168] Estimated cost: 5 million yen
[0169] Once this information is entered into the input form and submitted, the server generates a prompt message similar to the following:
[0170] Please generate the content of the production improvement proposal based on the following information.
[0171] Production line name: Line A
[0172] Target for improvement: Assembly process for product B
[0173] Current challenges: Delays in parts supply.
[0174] Proposal: Introduction of a parts supply robot.
[0175] Estimated cost: 5 million yen
[0176] The proposals generated by the AI model are embedded in an appropriate proposal template and ultimately generated as a PDF file. This PDF file is provided in a format that allows factory managers to easily download and review it.
[0177] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0178] Step 1:
[0179] The user accesses the input form via a web browser or a dedicated application. The input form includes fields such as production line name, area for improvement, current issues, proposed solution, and estimated cost. The user enters the required information into each field. After completing the input, they click the submit button.
[0180] Input: Data such as production line name, target for improvement, current issues, proposed solutions, and estimated costs.
[0181] Output: Data entered by the user
[0182] Specific actions:
[0183] The user opens a web browser or application, accesses an input form, enters information, and clicks the submit button.
[0184] Step 2:
[0185] The device converts the data entered by the user into JSON format. The device then sends an HTTP POST request to the server's API endpoint using this JSON data.
[0186] Input: Data entered by the user
[0187] Output: Structured data in JSON format
[0188] Specific actions:
[0189] The terminal converts the input data into JSON format and sends an HTTP POST request to the server.
[0190] Step 3:
[0191] The server receives the data sent from the terminal. After receiving the data, the server verifies the data's structure and content. It checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0192] Input: Data in JSON format
[0193] Output: Proceed to the next step if the data is correct; an error message will be displayed if there are errors.
[0194] Specific actions:
[0195] The server receives the data and verifies that the required fields are filled in and that the data format is correct. If there are errors, it returns an error message to the terminal.
[0196] Step 4:
[0197] If data validation is completed successfully, the server will determine the recommendations based on the entered data. Specifically, it will generate recommendations tailored to the production line name and current challenges.
[0198] Input: Verified data
[0199] Output: Proposal
[0200] Specific actions:
[0201] The server determines suggestions for improving production efficiency based on the data.
[0202] Step 5:
[0203] The server embeds the proposal content into a predefined proposal template. This ensures that a consistent proposal is created.
[0204] Input: Proposal Content
[0205] Output: Template with the proposed content embedded.
[0206] Specific actions:
[0207] The server embeds the suggested content into the appropriate location in the template.
[0208] Step 6:
[0209] The server uses a generative AI model to generate prompt messages based on the information entered by the user. These prompt messages are then used to generate more detailed suggestions.
[0210] Input: Information entered by the user
[0211] Output: Prompt message and detailed suggestions
[0212] Specific actions:
[0213] The generative AI model generates prompt messages based on user information, and then uses those prompt messages to generate detailed suggestions.
[0214] Step 7:
[0215] The server generates a PDF file based on a template containing the proposal and detailed proposal information. This is done using a PDF generation library.
[0216] Input: Template with embedded proposal content
[0217] Output: PDF file
[0218] Specific actions:
[0219] The server uses a PDF generation library to convert the template into a PDF file.
[0220] Step 8:
[0221] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user.
[0222] Input: PDF file
[0223] Output: Download link for PDF file
[0224] Specific actions:
[0225] The server sends a response to the terminal containing a download link for a PDF file, and the terminal presents it to the user.
[0226] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0227] This invention combines an emotion engine with a system for automatically generating proposals to recognize the user's emotions and reflect them in the proposal content. The following describes specific embodiments for implementing this invention.
[0228] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, an optimal proposal is automatically generated based on the user's emotion information.
[0229] User actions
[0230] Users access the input form via a web browser or a dedicated application. The input form displays input fields for network products, cloud services, security, mobile, voice, and operational information. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all input is complete.
[0231] Terminal processing
[0232] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[0233] Server reception and verification
[0234] The server receives data and sentiment information sent from the terminal. First, it verifies the structure and content of the received data. It checks that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0235] Decision on the proposal
[0236] If verification is successful, the server determines the recommendations based on the input data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is stressed, the recommendations will include suggestions that provide a corresponding sense of reassurance. If the user is excited, the recommendations will reflect suggestions for the proactive introduction of new technologies.
[0237] Embedding in proposal templates
[0238] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[0239] Generating PDF files
[0240] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0241] Sending and downloading PDF files
[0242] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[0243] Specific example
[0244] Example: When including network products "dedicated lines" and cloud services "AWS"
[0245] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[0246] The device sends input information and emotion information to the server in JSON format.
[0247] The server receives data and sentiment information and performs field validation.
[0248] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0249] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[0250] The server embeds this information into the proposal template.
[0251] The server generates a PDF proposal and saves it temporarily.
[0252] The server sends a response to the terminal that includes a download link for the PDF file.
[0253] The device downloads a PDF file via a link and provides it to the user.
[0254] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[0255] The following describes the processing flow.
[0256] Step 1:
[0257] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[0258] Step 2:
[0259] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state in real time.
[0260] Step 3:
[0261] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is sent to the server.
[0262] Step 4:
[0263] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data and sentiment information entered by the user.
[0264] Step 5:
[0265] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If required fields are missing or the format is incorrect, it generates an error message and sends it back to the terminal.
[0266] Step 6:
[0267] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[0268] Step 7:
[0269] The server analyzes the user's emotional information provided by the emotion engine. For example, if the user is feeling stressed, the server will include additional support options to alleviate this stress in its suggestions.
[0270] Step 8:
[0271] The server embeds the determined proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal is individually customized based on the results of sentiment analysis.
[0272] Step 9:
[0273] The server converts the embedded template into PDF format. A PDF generation library is used for this task. The generated PDF file is saved to the server's temporary storage.
[0274] Step 10:
[0275] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[0276] Step 11:
[0277] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[0278] Step 12:
[0279] The user opens the downloaded proposal PDF and reviews its contents. The proposal includes suggestions tailored to the user's emotional state. The user can save or print the proposal as needed.
[0280] This series of processes enables users to quickly create efficient, accurate, and emotionally resonant proposals.
[0281] (Example 2)
[0282] Next, Example 2 will be described. In the following description, the data processing device 12 is referred to as a "server", and the smart device 14 is referred to as a "terminal".
[0283] Conventional proposal automatic generation systems have a problem that it is difficult to make flexible and appropriate proposals considering the emotional information of individual users because they generate proposal contents without considering the emotional information of users. As a result, it is impossible to propose services and products suitable for users, and it is difficult to improve satisfaction.
[0284] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0285] In this invention, the server includes means for analyzing emotional information, means for verifying the structure and content of data and emotional information, and means for customizing proposal contents based on emotional information and embedding the proposal contents in a proposal template. Thereby, it becomes possible to automatically generate a flexible and appropriate proposal document according to the emotional state of the user.
[0286] The "user" refers to an individual or corporate user who operates the system and inputs data.
[0287] The "terminal" refers to a computer or electronic device for a user to input data and transmit it to the server.
[0288] The "server" refers to a central processing unit or network system that receives data and emotional information transmitted from a terminal, processes them, and generates a proposal document.
[0289] The "data" refers to information such as network commercial materials, cloud services, security, mobile, voice, and operation information input by the user.
[0290] The "emotional information" refers to information regarding the emotional state of the user analyzed from the user's speech, expression, input method, etc.
[0291] "JSON format" refers to a lightweight data exchange format for structuring and transferring data.
[0292] "XML format" refers to a markup language used to structure and transfer data.
[0293] "Verification" refers to the process of checking whether the structure and content of the received data are correct.
[0294] "Proposed content" refers to specific service or product suggestions determined based on the data and emotional information entered by the user.
[0295] A "template" refers to a standardized format for the components of a proposal, a document that serves as a foundation for filling in the necessary information.
[0296] A "PDF file" refers to an electronic document file format generated based on the Portable Document Format.
[0297] "Analysis" refers to the process of deciphering a user's emotional information and identifying their state.
[0298] "Customization" refers to the process of individually adjusting suggestions based on user sentiment information to generate appropriate recommendations.
[0299] "Temporary storage" refers to the storage area on a server used to temporarily store generated data and files.
[0300] An "HTTP request" refers to a request message based on a protocol for sending data over a network.
[0301] To implement this invention, the following system configuration and processing procedure are used. The main elements include a terminal operated by the user, a server that processes data, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them.
[0302] System Configuration
[0303] Users access the input form using a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Once the user has completed the input, they click the "Submit" button.
[0304] The terminal converts the data entered by the user into JSON or XML format. This converted data also includes sentiment information analyzed by the sentiment engine. This information is sent to the server as an HTTP request.
[0305] The server receives data and sentiment information sent from the terminal and first verifies the data structure and content. It checks whether all necessary fields are present and whether the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0306] If data validation is successful, the server determines the recommendations based on the input data and emotional information. Using information from the emotional engine, it generates appropriate recommendations based on the user's stress level, level of joy, and level of excitement. For example, if the user is stressed, it might suggest reassuring suggestions; if they are excited, it might suggest the introduction of proactive new technologies.
[0307] The finalized proposal is embedded in a predefined proposal template provided by the server. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[0308] When the embedding is completed, the server outputs the generated proposal in PDF format. PDFBox or iText is used as the PDF generation library in this process. The generated PDF file is saved in the server's temporary storage.
[0309] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. The user can download the PDF file by clicking this link on the terminal.
[0310] Specific Example
[0311] Example: When including the network product "leased line" and the cloud service "AWS"
[0312] The user enters "Network Product: Leased Line", "Cloud Service: AWS", "Security: WAF", "Mobile: Corporate Contract Plan", "Voice: VoIP", "Operation Information: 24 / 7 Monitoring", etc. into the input form, and the emotion engine recognizes the user's emotional state.
[0313] The terminal sends the input information and emotion information to the server in JSON format.
[0314] The server receives the data and emotion information and performs field verification.
[0315] The server selects "100Mbps bandwidth, fixed fee plan" as the proposal content for the "leased line".
[0316] The server selects "Use of EC2 instances and S3 storage" as the proposal content for "AWS" and includes options and support information to relieve concerns based on the emotion information.
[0317] The server embeds this information into the proposal template.
[0318] The server generates a PDF proposal and saves it temporarily.
[0319] The server sends a response to the terminal that includes a download link for the PDF file.
[0320] The user clicks a link on their device and downloads the PDF file.
[0321] Example of a prompt
[0322] "Please explain the specific operation of a system that automatically generates proposals using an emotion engine for users considering the use of network marketing products and cloud services."
[0323] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[0324] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0325] Step 1: The user enters the data.
[0326] The user opens a web browser or dedicated application and accesses the input form. The user enters the required information in the fields for network products, cloud services, security, mobile, voice, and operational information. Once all entries are complete, the user clicks the "Submit" button.
[0327] Input: Network products, cloud services, security, mobile, voice, operational information
[0328] Output: All data entered by the user
[0329] Step 2: The device converts the data.
[0330] The terminal receives data entered by the user and converts it into JSON or XML format. Simultaneously, the emotion engine analyzes the user's speech and facial expressions to generate emotion information. The terminal then prepares to send the combined data and emotion information to the server.
[0331] Input: Data entered by the user
[0332] Output: Converted data (JSON or XML format), sentiment information
[0333] Specific operation: The terminal packages the converted data and sentiment information as an HTTP request and sends it to the server.
[0334] Step 3: The server receives the data.
[0335] The server receives HTTP requests sent from the terminal and extracts data and sentiment information. First, it verifies the structure and content of the data. If there are errors in the fields, it generates an error message and sends it back to the terminal.
[0336] Input: Converted data (JSON or XML format), sentiment information
[0337] Output: Verified data, and error messages if necessary.
[0338] Specific operation: The server calls a data validation function to verify the integrity of the data.
[0339] Step 4: The server decides on the proposal.
[0340] The server determines the optimal suggestions based on verified data and emotional information. It utilizes information from the emotional engine to provide suggestions tailored to the user's stress level, joy, and excitement.
[0341] Input: Verified data, sentiment information
[0342] Output: Decision made
[0343] Specific operation: The server executes a suggestion generation algorithm and generates suggestions tailored to the user's emotional state.
[0344] Step 5: The server embeds the proposal template.
[0345] The server embeds the decided proposal into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[0346] Input: Decision made
[0347] Output: Template with the proposed content embedded.
[0348] Specific operation: The server calls a template processing function and embeds the determined proposal into the appropriate section.
[0349] Step 6: The server generates the PDF file.
[0350] The server outputs the embedded template in PDF format. This process uses a PDF generation library (PDFBox or iText). The generated PDF file is saved to temporary storage.
[0351] Input: Template with embedded proposal content
[0352] Output: PDF file
[0353] Specific operation: The server calls the PDFBox or iText library to convert the template information into a PDF file.
[0354] Step 7: The server sends the PDF file link.
[0355] Finally, the server sends a download link for the generated PDF file to the terminal as an HTTP response. The user can download the PDF file by clicking this link.
[0356] Input: PDF file
[0357] Output: Download link
[0358] Specific operation: The server generates a link containing the URL of temporary storage and sends it to the terminal as an HTTP response.
[0359] (Application Example 2)
[0360] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0361] In today's advertising industry, there is a demand to display the most relevant ads based on the user's emotions. However, current systems struggle to accurately recognize user emotions and dynamically generate ad content based on them. This results in a lack of flexibility and effectiveness in maximizing user engagement.
[0362] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input data, means for the terminal to transmit data and emotional information to the server, means for the server to receive and verify the data and emotional information, means for the server to determine the suggested content based on the data and emotional information, and means for sending a prompt message to a generation AI model based on the user's emotional state to generate the optimal suggested content. This makes it possible to generate and display optimal advertisements according to the user's emotions.
[0363] A "user" refers to a person who uses the system to input data and emotional information.
[0364] A "server" refers to a computer system that receives and verifies data and sentiment information transmitted from terminals, and generates optimal suggestions.
[0365] A "device" is a device used by a user to input data and emotional information, and this includes smartphones, personal computers, tablets, and other similar devices.
[0366] "Emotional information" refers to data about the user's emotional state, analyzed from their speech, facial expressions, and other factors.
[0367] "Proposed content" refers to information that the server generates and provides to the user based on the user's data and sentiment information.
[0368] A "generative AI model" refers to an artificial intelligence model that receives prompt messages based on user sentiment information and generates optimal suggestions.
[0369] A "prompt message" refers to a document input to a generative AI model that contains the information necessary to generate the suggested content.
[0370] A "PDF file" refers to a Portable Document Format file that is ultimately generated when the server embeds the proposal content into a template.
[0371] A "template" refers to a predefined format or style that provides a framework for embedding proposal content.
[0372] This invention is a system that recognizes the user's emotions and automatically generates optimal suggestions based on those emotions. Specific embodiments for carrying out this invention are described below.
[0373] 1. System Overview
[0374] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, the system automatically generates optimal suggestions based on the user's emotion information.
[0375] 2. User actions
[0376] Users access the input form through a dedicated application. The input form displays fields related to the advertisement. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all entries are complete.
[0377] 3. Terminal Processing
[0378] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[0379] 4. Server reception and verification
[0380] The server receives data and sentiment information sent from the terminal. First, the received data is verified for correct structure and content. If fields are missing or incorrect, an error message is generated and sent back to the terminal.
[0381] 5. Decision on the proposed content
[0382] If verification is successful, the server determines the recommendations based on the entered data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is tired, the server will generate advertisements for products that help them relax.
[0383] 6. Use of Generative AI Models
[0384] When determining the content of the proposal, the server sends a prompt message to the generation AI model to generate the optimal ad copy. An example of a prompt message is shown below.
[0385] Example of a prompt
[0386] If the user is tired:
[0387] Prompt: "Generate ad copy for a relaxing product suitable for tired users. The product is an aroma diffuser."
[0388]
[0389] If the user is healthy:
[0390] Prompt: "Generate ad copy for an energetic product suitable for energetic users. The product is a sports drink."
[0391] 7. Embedding into proposal templates
[0392] The selected proposal is embedded in a predefined template. The template includes the ad title, tagline, product description, images, pricing information, and more.
[0393] 8. Generating a PDF file
[0394] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0395] 9. Sending and downloading PDF files
[0396] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[0397] Through the above process, optimal suggestions tailored to the user's emotions are automatically generated and provided to the user as advertisements. This makes it possible to maximize the effectiveness of the advertisements.
[0398] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0399] Step 1:
[0400] The user accesses the input form through a dedicated application. The input form displays fields related to the advertisement. The user enters the necessary information in each field, and the emotion engine analyzes the user's speech and facial expressions to recognize emotional information. Once the input is complete, the user clicks the "Submit" button.
[0401] Input: User data, speech, facial expressions
[0402] Output: User data, sentiment information
[0403] Step 2:
[0404] The terminal converts the user's input data and sentiment information into JSON or XML format. This converted data and sentiment information are then ready to be sent to the server.
[0405] Input: User data, sentiment information
[0406] Output: Converted data (JSON / XML format)
[0407] Step 3:
[0408] The device sends the converted data and sentiment information to the server. The server receives the data and sentiment information sent from the device.
[0409] Input: Converted data (JSON / XML format), sentiment information
[0410] Output: Received data and sentiment information
[0411] Step 4:
[0412] The server verifies the structure and content of the data and sentiment information it receives. It checks that all necessary fields are present and that the data format is correct. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0413] Input: Received data and sentiment information
[0414] Output: Verification result (success / failure), error message (if necessary)
[0415] Step 5:
[0416] If verification is completed successfully, the server determines the suggested content based on the input data and sentiment information. Sentiment recognition information reflects the user's stress level, degree of joy or excitement, etc. Based on the sentiment information, the server sends a prompt to the generation AI model to generate the optimal ad copy.
[0417] Input: Verified data, sentiment information
[0418] Output: Prompt message, generated ad text
[0419] Step 6:
[0420] The server embeds the generated ad copy into a predefined template. The template includes the ad title, tagline, product description, image, and pricing information.
[0421] Input: Generated ad copy
[0422] Output: Embedded proposal content
[0423] Step 7:
[0424] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0425] Input: Embedded suggestion content
[0426] Output: PDF file
[0427] Step 8:
[0428] The server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. The terminal downloads the PDF file via the link and provides it to the user.
[0429] Input: PDF file
[0430] Output: Download link, provided PDF file
[0431] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0432] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0433] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0434] [Second Embodiment]
[0435] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0436] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0437] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0438] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0439] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0440] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0441] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0442] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0443] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0444] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0445] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0446] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0447] This invention relates to a system for automatically generating proposals, and describes its implementation.
[0448] This system includes a terminal operated by the user, a server that processes data, and communication means for sending and receiving data between them. The user enters the necessary data into an input form and sends it to the server via the terminal, automatically generating a proposal.
[0449] User actions
[0450] Users access the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Users enter the required information in each field. Once the input is complete, clicking the "Submit" button sends the data from the device to the server.
[0451] Terminal processing
[0452] The terminal converts the data entered by the user into JSON or XML format and sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0453] Server reception and verification
[0454] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0455] Decision on the proposal
[0456] If verification is completed successfully, the server will determine the recommendations based on the entered data. Optimized recommendations will be generated for each category: network products, cloud services, security, mobile, voice, and operational information. For example, if the network product is "dedicated line," detailed information and pricing plans for dedicated lines will be included. Similarly, if "AWS" is selected as the cloud service, AWS usage plans and specific services (such as EC2 and S3) will be proposed.
[0457] Embedding in proposal templates
[0458] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[0459] Generating PDF files
[0460] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, Python's ReportLab or LaTeX). The generated PDF file is temporarily stored on the server.
[0461] Sending and downloading PDF files
[0462] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. Upon receiving the response, the device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0463] Specific example
[0464] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0465] The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0466] The terminal sends the input information to the server in JSON format.
[0467] The server receives the data and performs field validation.
[0468] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0469] The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0470] The server embeds this information into the proposal template.
[0471] The server generates a PDF proposal and saves it temporarily.
[0472] The server sends a response to the terminal that includes a download link for the PDF file.
[0473] The device downloads a PDF file via a link and provides it to the user.
[0474] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0475] The following describes the processing flow.
[0476] Step 1:
[0477] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[0478] Step 2:
[0479] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. Once the input is complete, they click the "Submit" button.
[0480] Step 3:
[0481] The terminal converts the data entered by the user into JSON or XML format. This converted data is then ready to be sent to the server.
[0482] Step 4:
[0483] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0484] Step 5:
[0485] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0486] Step 6:
[0487] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[0488] Step 7:
[0489] The server embeds the decided proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal content is then appropriately placed within this template.
[0490] Step 8:
[0491] The server converts the embedded template into PDF format. A PDF generation library is used for this purpose. The generated PDF file is saved to the server's temporary storage.
[0492] Step 9:
[0493] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[0494] Step 10:
[0495] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[0496] Step 11:
[0497] The user opens the downloaded proposal PDF and reviews its contents. They can save or print the proposal as needed.
[0498] This series of processes enables users to quickly create efficient and accurate proposals.
[0499] (Example 1)
[0500] Next, we will describe Example 1. 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."
[0501] When companies and individuals prepare proposals, gathering, organizing, and documenting information requires considerable time and effort. Especially when offering diverse products or services, collecting detailed information for each item and constructing a proposal based on that information is extremely cumbersome, potentially leading to inconsistencies in proposal quality. There is a need for a system that reduces this effort and automatically generates high-quality proposals quickly and consistently.
[0502] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0503] In this invention, the server includes means for verifying the structure and content of received data, means for determining an optimized proposal based on the verified data, and means for embedding the determined proposal into a predefined template. This makes it possible for users to automatically generate high-quality proposals quickly and consistently simply by inputting the necessary data.
[0504] A "user" is the entity that uses the system to input information for a proposal and receives the final proposal document.
[0505] "Data" refers to the information that users input to generate a proposal, and includes detailed information about the products or services.
[0506] A "terminal" is a computer or mobile device that a user uses to input data and send it to a server.
[0507] A "server" is a computer system that receives data sent from a terminal, verifies it, and performs the necessary processing to generate a proposal.
[0508] A "structured data format" is a data format, such as JSON or XML, that organizes data according to a specific format, making it interchangeable.
[0509] A "verification mechanism" is a function that checks whether the data received by the server is in the correct format and content.
[0510] "Proposal content" refers to the content of the proposal generated by the server based on the data entered by the user, and includes specific information about a particular product or service.
[0511] A "template" is a predefined framework that outlines the basic structure and format of a proposal, serving as a structure for filling in the proposal content.
[0512] A "PDF file" is an abbreviation for Portable Document Format, and it is an electronic document format for ultimately saving, viewing, and sharing proposals.
[0513] A "download link" is a URL link that allows you to obtain the generated PDF file via the internet.
[0514] This invention relates to a system for automatically generating proposals quickly and of high quality, and describes its implementation. The system includes a terminal operated by the user, a server for processing data, and communication means for sending and receiving data between them.
[0515] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. The user enters the required information in each field. For example, they might enter "dedicated line" in the "Network Products" field and "AWS" in the "Cloud Services" field. Once the input is complete, clicking the "Submit" button sends the user's data from their device to the server.
[0516] Next, the terminal receives the data entered by the user. This data is converted to JSON or XML format, and an HTTP POST request is sent to the server's API endpoint. The server receives the data sent from the terminal and verifies whether its structure and content are correct. For example, it might use a Python validation library to check if all required fields are filled in and if the format is correct. If an error is detected, the server generates an error message and sends it back to the terminal.
[0517] If verification is completed successfully, the server will determine the recommendations based on the input data. Optimized recommendations are generated for each category, such as network products, cloud services, security, mobile, voice, and operational information. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will propose "Using EC2 instances and S3 storage."
[0518] Next, the decided proposal content is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates. For example, it might use a Python template engine to embed the information.
[0519] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, ReportLab in Python). The generated PDF file is temporarily stored on the server. The server then sends an HTTP response to the terminal containing a download link for the generated PDF file. The terminal retrieves the download link from the received response and displays it to the user. The user can click this link to download the PDF file and then save or print it.
[0520] Specific example
[0521] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0522] 1. The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0523] 2. The terminal sends the input information to the server in JSON format.
[0524] 3. The server receives the data and validates the fields.
[0525] 4. The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" service.
[0526] 5. The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0527] 6. The server embeds this information into the proposal template.
[0528] 7. The server generates and temporarily saves the PDF proposal.
[0529] 8. The server sends a response to the terminal that includes a download link for the PDF file.
[0530] 9. The device downloads a PDF file via a link and provides it to the user.
[0531] Examples of prompts for generative AI models
[0532] The following is an example of prompt statements for inputting the system requirements into the generated AI model.
[0533] Design a system where, using a web browser or dedicated app, users input information into fields such as network products, cloud services, security, mobile, voice, and operational information, and then, upon clicking the "Submit" button, the server receives the data and automatically generates a proposal. The proposal will contain optimized content based on the input information and will be output in PDF format.
[0534] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0535] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0536] Step 1:
[0537] Users access the input form using a web browser or a dedicated application. The input form includes fields such as "Network Product," "Cloud Service," "Security," "Mobile," "Voice," and "Operational Information." Users enter the required data into these fields and click the "Submit" button when finished. Examples of input include "Network Product: Dedicated Line" and "Cloud Service: AWS." This data is then sent to the terminal.
[0538] Step 2:
[0539] The terminal receives data entered by the user. The received data is converted into a structured data format such as JSON or XML. In the case of JSON format, the data is serialized using Python's json module. The input is data entered by the user, and the output is data in a structured data format (JSON or XML). Specifically, the received data is converted to JSON format using the json.dumps method. After that, the terminal sends an HTTP POST request to the server's API endpoint. This request sends the user data in structured data format to the server.
[0540] Step 3:
[0541] The server receives structured data sent from the terminal. The input is structured data, and the output is validated data. First, the server verifies that the received data is in the correct format and content. The Python pydantic library is used for data validation. Specifically, the pydantic model is used to check the data type and requirements of each field. If an error is detected, the server generates an error message and sends it back to the terminal.
[0542] Step 4:
[0543] If data validation is successfully completed, the server determines optimized suggestions based on the input data. The input is validated data, and the output is the suggested content. Predefined business logic is applied to the process of generating the optimal suggestions for each category. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will suggest "Using EC2 instances and S3 storage." This extracts specific suggestions that best suit the user's needs.
[0544] Step 5:
[0545] The finalized proposal is embedded into a predefined proposal template by the server. The input consists of the proposal content and the template, while the output is the proposal content embedded in the template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. Specifically, a Python template engine (e.g., Jinja2) is used to embed the proposal content into each template field. This step completes the proposal template.
[0546] Step 6:
[0547] Once the template is embedded, the server generates the proposal in PDF format. A PDF generation library is used for this process. The input is the proposal content embedded in the template, and the output is a PDF file. For example, the ReportLab library in Python is used to generate the PDF file. This file is temporarily stored on the server.
[0548] Step 7:
[0549] Finally, the server sends an HTTP response to the terminal containing a download link for the generated PDF file. The input is the PDF file and link generation information, and the output is the response containing the download link. The terminal receives this response and displays the download link to the user. The user can click the displayed link to download the PDF file and review, save, or print the contents of the proposal.
[0550] (Application Example 1)
[0551] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0552] This invention relates to a system that can automatically generate proposals for optimizing production efficiency quickly and accurately. Conventional production efficiency improvement proposals are generally created manually by factory managers, which is time-consuming and labor-intensive, and carries a high risk of human error. Furthermore, because they deal with complex data structures, data verification and embedding into templates are cumbersome tasks.
[0553] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0554] In this invention, the server includes means for determining the content of a proposal based on data entered by the user, means for embedding the content of the proposal into a template, and means for transmitting the generated PDF file. This makes it possible to quickly and accurately automatically generate a proposal to optimize production efficiency based on production-related data entered by the factory manager.
[0555] A "user" is a person or entity that inputs data into a system.
[0556] A "terminal" is a device used by users to input data and send it to a server.
[0557] A "server" is a device that verifies data received from terminals, determines the content of the proposal, and generates a proposal document based on that.
[0558] "Data" refers to production-related information that users input into the system.
[0559] "Proposed content" refers to the content that the server determines based on the data entered by the user, in order to optimize production efficiency.
[0560] A "template" is a standardized format used to embed proposal content.
[0561] A "PDF file" is an electronic file format used to save generated proposals.
[0562] A "generative AI model" is an artificial intelligence system that generates prompt messages based on information input by the user and then generates corresponding suggestions.
[0563] A "prompt statement" is a text-based input statement used by a generative AI model to generate suggested content.
[0564] This invention is a system that automatically generates proposals to optimize production efficiency based on production data entered by factory managers. The system of this invention begins with the user entering data and sending it to the server via a terminal.
[0565] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields such as the production line name, the area to be improved, the current problem, the proposed solution, and the estimated cost. The user enters the necessary information into these fields and clicks the submit button.
[0566] Next, the terminal converts the data entered by the user into JSON format and sends an HTTP POST request to the server's API endpoint. This request contains all the data entered by the user.
[0567] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0568] If data validation is successful, the server determines the proposal based on the entered data. For example, depending on the entered production line name and current challenges, specific proposals to improve production efficiency are generated. The server then embeds these proposals into an appropriate proposal template.
[0569] Next, the server uses a generative AI model to generate a prompt based on the information entered by the user. This prompt is then used to generate more detailed suggestions. For this process, a text generation model such as GPT-3 is typically used. The generated suggestions are then embedded back into the template.
[0570] Subsequently, the server generates a PDF file based on the embedded template. This PDF file is created using a PDF generation library (e.g., Python's FPDF library). The generated PDF file is temporarily stored on the server.
[0571] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0572] As a concrete example, consider a case where a factory manager enters the following information:
[0573] Production line name: Line A
[0574] Target for improvement: Assembly process for product B
[0575] Current challenges: Delays in parts supply.
[0576] Proposal: Introduction of a parts supply robot
[0577] Estimated cost: 5 million yen
[0578] Once this information is entered into the input form and submitted, the server generates a prompt message similar to the following:
[0579] Please generate the content of the production improvement proposal based on the following information.
[0580] Production line name: Line A
[0581] Target for improvement: Assembly process for product B
[0582] Current challenges: Delays in parts supply.
[0583] Proposal: Introduction of a parts supply robot.
[0584] Estimated cost: 5 million yen
[0585] The proposals generated by the AI model are embedded in an appropriate proposal template and ultimately generated as a PDF file. This PDF file is provided in a format that allows factory managers to easily download and review it.
[0586] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0587] Step 1:
[0588] The user accesses the input form via a web browser or a dedicated application. The input form includes fields such as production line name, area for improvement, current issues, proposed solution, and estimated cost. The user enters the required information into each field. After completing the input, they click the submit button.
[0589] Input: Data such as production line name, target for improvement, current issues, proposed solutions, and estimated costs.
[0590] Output: Data entered by the user
[0591] Specific actions:
[0592] The user opens a web browser or application, accesses an input form, enters information, and clicks the submit button.
[0593] Step 2:
[0594] The device converts the data entered by the user into JSON format. The device then sends an HTTP POST request to the server's API endpoint using this JSON data.
[0595] Input: Data entered by the user
[0596] Output: Structured data in JSON format
[0597] Specific actions:
[0598] The terminal converts the input data into JSON format and sends an HTTP POST request to the server.
[0599] Step 3:
[0600] The server receives the data sent from the terminal. After receiving the data, the server verifies the data's structure and content. It checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0601] Input: Data in JSON format
[0602] Output: Proceed to the next step if the data is correct; an error message will be displayed if there are errors.
[0603] Specific actions:
[0604] The server receives the data and verifies that the required fields are filled in and that the data format is correct. If there are errors, it returns an error message to the terminal.
[0605] Step 4:
[0606] If data validation is completed successfully, the server will determine the recommendations based on the entered data. Specifically, it will generate recommendations tailored to the production line name and current challenges.
[0607] Input: Verified data
[0608] Output: Proposal
[0609] Specific actions:
[0610] The server determines suggestions for improving production efficiency based on the data.
[0611] Step 5:
[0612] The server embeds the proposal content into a predefined proposal template. This ensures that a consistent proposal is created.
[0613] Input: Proposal Content
[0614] Output: Template with the proposed content embedded.
[0615] Specific actions:
[0616] The server embeds the suggested content into the appropriate location in the template.
[0617] Step 6:
[0618] The server uses a generative AI model to generate prompt messages based on the information entered by the user. These prompt messages are then used to generate more detailed suggestions.
[0619] Input: Information entered by the user
[0620] Output: Prompt message and detailed suggestions
[0621] Specific actions:
[0622] The generative AI model generates prompt messages based on user information, and then uses those prompt messages to generate detailed suggestions.
[0623] Step 7:
[0624] The server generates a PDF file based on a template containing the proposal and detailed proposal information. This is done using a PDF generation library.
[0625] Input: Template with embedded proposal content
[0626] Output: PDF file
[0627] Specific actions:
[0628] The server uses a PDF generation library to convert the template into a PDF file.
[0629] Step 8:
[0630] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user.
[0631] Input: PDF file
[0632] Output: Download link for PDF file
[0633] Specific actions:
[0634] The server sends a response to the terminal containing a download link for a PDF file, and the terminal presents it to the user.
[0635] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0636] This invention combines an emotion engine with a system for automatically generating proposals to recognize the user's emotions and reflect them in the proposal content. The following describes specific embodiments for implementing this invention.
[0637] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, an optimal proposal is automatically generated based on the user's emotion information.
[0638] User actions
[0639] Users access the input form via a web browser or a dedicated application. The input form displays input fields for network products, cloud services, security, mobile, voice, and operational information. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all input is complete.
[0640] Terminal processing
[0641] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[0642] Server reception and verification
[0643] The server receives data and sentiment information sent from the terminal. First, it verifies the structure and content of the received data. It checks that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0644] Decision on the proposal
[0645] If verification is successful, the server determines the recommendations based on the input data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is stressed, the recommendations will include suggestions that provide a corresponding sense of reassurance. If the user is excited, the recommendations will reflect suggestions for the proactive introduction of new technologies.
[0646] Embedding in proposal templates
[0647] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[0648] Generating PDF files
[0649] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0650] Sending and downloading PDF files
[0651] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[0652] Specific example
[0653] Example: When including network products "dedicated lines" and cloud services "AWS"
[0654] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[0655] The device sends input information and emotion information to the server in JSON format.
[0656] The server receives data and sentiment information and performs field validation.
[0657] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0658] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[0659] The server embeds this information into the proposal template.
[0660] The server generates a PDF proposal and saves it temporarily.
[0661] The server sends a response to the terminal that includes a download link for the PDF file.
[0662] The device downloads a PDF file via a link and provides it to the user.
[0663] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[0664] The following describes the processing flow.
[0665] Step 1:
[0666] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[0667] Step 2:
[0668] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state in real time.
[0669] Step 3:
[0670] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is sent to the server.
[0671] Step 4:
[0672] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data and sentiment information entered by the user.
[0673] Step 5:
[0674] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If required fields are missing or the format is incorrect, it generates an error message and sends it back to the terminal.
[0675] Step 6:
[0676] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[0677] Step 7:
[0678] The server analyzes the user's emotional information provided by the emotion engine. For example, if the user is feeling stressed, the server will include additional support options to alleviate this stress in its suggestions.
[0679] Step 8:
[0680] The server embeds the determined proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal is individually customized based on the results of sentiment analysis.
[0681] Step 9:
[0682] The server converts the embedded template into PDF format. A PDF generation library is used for this task. The generated PDF file is saved to the server's temporary storage.
[0683] Step 10:
[0684] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[0685] Step 11:
[0686] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[0687] Step 12:
[0688] The user opens the downloaded proposal PDF and reviews its contents. The proposal includes suggestions tailored to the user's emotional state. The user can save or print the proposal as needed.
[0689] This series of processes enables users to quickly create efficient, accurate, and emotionally resonant proposals.
[0690] (Example 2)
[0691] Next, we will describe Example 2. 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".
[0692] Conventional automated proposal generation systems generate proposals without considering user emotional information, making it difficult to produce flexible and appropriate proposals that take into account the emotional state of individual users. As a result, it was difficult to propose services and products that were suitable for users, and improving satisfaction was challenging.
[0693] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0694] In this invention, the server includes means for analyzing emotional information, means for verifying the structure and content of data and emotional information, and means for customizing proposal content based on emotional information and embedding proposal content into a proposal template. This enables the automatic generation of flexible and appropriate proposals tailored to the user's emotional state.
[0695] A "user" refers to an individual or legal entity that operates the system and inputs data.
[0696] A "terminal" refers to a computer or electronic device used by a user to input data and send it to a server.
[0697] A "server" refers to a central processing unit or network system that receives data and sentiment information transmitted from terminals, processes it, and generates proposals.
[0698] "Data" refers to information entered by users, such as network products, cloud services, security, mobile, voice, and operational information.
[0699] "Emotional information" refers to information about the user's emotional state, analyzed from the user's speech, facial expressions, input methods, etc.
[0700] "JSON format" refers to a lightweight data exchange format for structuring and transferring data.
[0701] "XML format" refers to a markup language used to structure and transfer data.
[0702] "Verification" refers to the process of checking whether the structure and content of the received data are correct.
[0703] "Proposed content" refers to specific service or product suggestions determined based on the data and emotional information entered by the user.
[0704] A "template" refers to a standardized format for the components of a proposal, a document that serves as a foundation for filling in the necessary information.
[0705] A "PDF file" refers to an electronic document file format generated based on the Portable Document Format.
[0706] "Analysis" refers to the process of deciphering a user's emotional information and identifying their state.
[0707] "Customization" refers to the process of individually adjusting suggestions based on user sentiment information to generate appropriate recommendations.
[0708] "Temporary storage" refers to the storage area on a server used to temporarily store generated data and files.
[0709] An "HTTP request" refers to a request message based on a protocol for sending data over a network.
[0710] To implement this invention, the following system configuration and processing procedure are used. The main elements include a terminal operated by the user, a server that processes data, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them.
[0711] System Configuration
[0712] Users access the input form using a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Once the user has completed the input, they click the "Submit" button.
[0713] The terminal converts the data entered by the user into JSON or XML format. This converted data also includes sentiment information analyzed by the sentiment engine. This information is sent to the server as an HTTP request.
[0714] The server receives data and sentiment information sent from the terminal and first verifies the data structure and content. It checks whether all necessary fields are present and whether the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0715] If data validation is successful, the server determines the recommendations based on the input data and emotional information. Using information from the emotional engine, it generates appropriate recommendations based on the user's stress level, level of joy, and level of excitement. For example, if the user is stressed, it might suggest reassuring suggestions; if they are excited, it might suggest the introduction of proactive new technologies.
[0716] The finalized proposal is embedded in a predefined proposal template provided by the server. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[0717] Once the embedding is complete, the server outputs the generated proposal in PDF format. PDFBox or iText are used as PDF generation libraries in this process. The generated PDF file is saved to the server's temporary storage.
[0718] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the device. The user can download the PDF file by clicking this link on their device.
[0719] Specific example
[0720] Example: When including network products "dedicated lines" and cloud services "AWS"
[0721] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[0722] The device sends input information and emotion information to the server in JSON format.
[0723] The server receives data and sentiment information and performs field validation.
[0724] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0725] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[0726] The server embeds this information into the proposal template.
[0727] The server generates a PDF proposal and saves it temporarily.
[0728] The server sends a response to the terminal that includes a download link for the PDF file.
[0729] The user clicks a link on their device and downloads the PDF file.
[0730] Example of a prompt
[0731] "Please explain the specific operation of a system that automatically generates proposals using an emotion engine for users considering the use of network marketing products and cloud services."
[0732] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[0733] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0734] Step 1: The user enters the data.
[0735] The user opens a web browser or dedicated application and accesses the input form. The user enters the required information in the fields for network products, cloud services, security, mobile, voice, and operational information. Once all entries are complete, the user clicks the "Submit" button.
[0736] Input: Network products, cloud services, security, mobile, voice, operational information
[0737] Output: All data entered by the user
[0738] Step 2: The device converts the data.
[0739] The terminal receives data entered by the user and converts it into JSON or XML format. Simultaneously, the emotion engine analyzes the user's speech and facial expressions to generate emotion information. The terminal then prepares to send the combined data and emotion information to the server.
[0740] Input: Data entered by the user
[0741] Output: Converted data (JSON or XML format), sentiment information
[0742] Specific operation: The terminal packages the converted data and sentiment information as an HTTP request and sends it to the server.
[0743] Step 3: The server receives the data.
[0744] The server receives HTTP requests sent from the terminal and extracts data and sentiment information. First, it verifies the structure and content of the data. If there are errors in the fields, it generates an error message and sends it back to the terminal.
[0745] Input: Converted data (JSON or XML format), sentiment information
[0746] Output: Verified data, and error messages if necessary.
[0747] Specific operation: The server calls a data validation function to verify the integrity of the data.
[0748] Step 4: The server decides on the proposal.
[0749] The server determines the optimal suggestions based on verified data and emotional information. It utilizes information from the emotional engine to provide suggestions tailored to the user's stress level, joy, and excitement.
[0750] Input: Verified data, sentiment information
[0751] Output: Decision made
[0752] Specific operation: The server executes a suggestion generation algorithm and generates suggestions tailored to the user's emotional state.
[0753] Step 5: The server embeds the proposal template.
[0754] The server embeds the decided proposal into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[0755] Input: Decision made
[0756] Output: Template with the proposed content embedded.
[0757] Specific operation: The server calls a template processing function and embeds the determined proposal into the appropriate section.
[0758] Step 6: The server generates the PDF file.
[0759] The server outputs the embedded template in PDF format. This process uses a PDF generation library (PDFBox or iText). The generated PDF file is saved to temporary storage.
[0760] Input: Template with embedded proposal content
[0761] Output: PDF file
[0762] Specific operation: The server calls the PDFBox or iText library to convert the template information into a PDF file.
[0763] Step 7: The server sends the PDF file link.
[0764] Finally, the server sends a download link for the generated PDF file to the terminal as an HTTP response. The user can download the PDF file by clicking this link.
[0765] Input: PDF file
[0766] Output: Download link
[0767] Specific operation: The server generates a link containing the URL of temporary storage and sends it to the terminal as an HTTP response.
[0768] (Application Example 2)
[0769] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0770] In today's advertising industry, there is a demand to display the most relevant ads based on the user's emotions. However, current systems struggle to accurately recognize user emotions and dynamically generate ad content based on them. This results in a lack of flexibility and effectiveness in maximizing user engagement.
[0771] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input data, means for the terminal to transmit data and emotional information to the server, means for the server to receive and verify the data and emotional information, means for the server to determine the suggested content based on the data and emotional information, and means for sending a prompt message to a generation AI model based on the user's emotional state to generate the optimal suggested content. This makes it possible to generate and display optimal advertisements according to the user's emotions.
[0772] A "user" refers to a person who uses the system to input data and emotional information.
[0773] A "server" refers to a computer system that receives and verifies data and sentiment information transmitted from terminals, and generates optimal suggestions.
[0774] A "device" is a device used by a user to input data and emotional information, and this includes smartphones, personal computers, tablets, and other similar devices.
[0775] "Emotional information" refers to data about the user's emotional state, analyzed from their speech, facial expressions, and other factors.
[0776] "Proposed content" refers to information that the server generates and provides to the user based on the user's data and sentiment information.
[0777] A "generative AI model" refers to an artificial intelligence model that receives prompt messages based on user sentiment information and generates optimal suggestions.
[0778] A "prompt message" refers to a document input to a generative AI model that contains the information necessary to generate the suggested content.
[0779] A "PDF file" refers to a Portable Document Format file that is ultimately generated when the server embeds the proposal content into a template.
[0780] A "template" refers to a predefined format or style that provides a framework for embedding proposal content.
[0781] This invention is a system that recognizes the user's emotions and automatically generates optimal suggestions based on those emotions. Specific embodiments for carrying out this invention are described below.
[0782] 1. System Overview
[0783] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, the system automatically generates optimal suggestions based on the user's emotion information.
[0784] 2. User actions
[0785] Users access the input form through a dedicated application. The input form displays fields related to the advertisement. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all entries are complete.
[0786] 3. Terminal Processing
[0787] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[0788] 4. Server reception and verification
[0789] The server receives data and sentiment information sent from the terminal. First, the received data is verified for correct structure and content. If fields are missing or incorrect, an error message is generated and sent back to the terminal.
[0790] 5. Decision on the proposed content
[0791] If verification is successful, the server determines the recommendations based on the entered data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is tired, the server will generate advertisements for products that help them relax.
[0792] 6. Use of Generative AI Models
[0793] When determining the content of the proposal, the server sends a prompt message to the generation AI model to generate the optimal ad copy. An example of a prompt message is shown below.
[0794] Example of a prompt
[0795] If the user is tired:
[0796] Prompt: "Generate ad copy for a relaxing product suitable for tired users. The product is an aroma diffuser."
[0797]
[0798] If the user is healthy:
[0799] Prompt: "Generate ad copy for an energetic product suitable for energetic users. The product is a sports drink."
[0800] 7. Embedding into proposal templates
[0801] The selected proposal is embedded in a predefined template. The template includes the ad title, tagline, product description, images, pricing information, and more.
[0802] 8. Generating a PDF file
[0803] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0804] 9. Sending and downloading PDF files
[0805] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[0806] Through the above process, optimal suggestions tailored to the user's emotions are automatically generated and provided to the user as advertisements. This makes it possible to maximize the effectiveness of the advertisements.
[0807] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0808] Step 1:
[0809] The user accesses the input form through a dedicated application. The input form displays fields related to the advertisement. The user enters the necessary information in each field, and the emotion engine analyzes the user's speech and facial expressions to recognize emotional information. Once the input is complete, the user clicks the "Submit" button.
[0810] Input: User data, speech, facial expressions
[0811] Output: User data, sentiment information
[0812] Step 2:
[0813] The terminal converts the user's input data and sentiment information into JSON or XML format. This converted data and sentiment information are then ready to be sent to the server.
[0814] Input: User data, sentiment information
[0815] Output: Converted data (JSON / XML format)
[0816] Step 3:
[0817] The device sends the converted data and sentiment information to the server. The server receives the data and sentiment information sent from the device.
[0818] Input: Converted data (JSON / XML format), sentiment information
[0819] Output: Received data and sentiment information
[0820] Step 4:
[0821] The server verifies the structure and content of the data and sentiment information it receives. It checks that all necessary fields are present and that the data format is correct. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0822] Input: Received data and sentiment information
[0823] Output: Verification result (success / failure), error message (if necessary)
[0824] Step 5:
[0825] If verification is completed successfully, the server determines the suggested content based on the input data and sentiment information. Sentiment recognition information reflects the user's stress level, degree of joy or excitement, etc. Based on the sentiment information, the server sends a prompt to the generation AI model to generate the optimal ad copy.
[0826] Input: Verified data, sentiment information
[0827] Output: Prompt message, generated ad text
[0828] Step 6:
[0829] The server embeds the generated ad copy into a predefined template. The template includes the ad title, tagline, product description, image, and pricing information.
[0830] Input: Generated ad copy
[0831] Output: Embedded proposal content
[0832] Step 7:
[0833] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[0834] Input: Embedded suggestion content
[0835] Output: PDF file
[0836] Step 8:
[0837] The server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. The terminal downloads the PDF file via the link and provides it to the user.
[0838] Input: PDF file
[0839] Output: Download link, provided PDF file
[0840] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[0841] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0842] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[0843] [Third Embodiment]
[0844] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0845] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0846] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0847] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[0848] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0849] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0850] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0851] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0852] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0853] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0854] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0855] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[0856] This invention relates to a system for automatically generating proposals, and describes its implementation.
[0857] This system includes a terminal operated by the user, a server that processes data, and communication means for sending and receiving data between them. The user enters the necessary data into an input form and sends it to the server via the terminal, automatically generating a proposal.
[0858] User actions
[0859] Users access the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Users enter the required information in each field. Once the input is complete, clicking the "Submit" button sends the data from the device to the server.
[0860] Terminal processing
[0861] The terminal converts the data entered by the user into JSON or XML format and sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0862] Server reception and verification
[0863] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0864] Decision on the proposal
[0865] If verification is completed successfully, the server will determine the recommendations based on the entered data. Optimized recommendations will be generated for each category: network products, cloud services, security, mobile, voice, and operational information. For example, if the network product is "dedicated line," detailed information and pricing plans for dedicated lines will be included. Similarly, if "AWS" is selected as the cloud service, AWS usage plans and specific services (such as EC2 and S3) will be proposed.
[0866] Embedding in proposal templates
[0867] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[0868] Generating PDF files
[0869] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, Python's ReportLab or LaTeX). The generated PDF file is temporarily stored on the server.
[0870] Sending and downloading PDF files
[0871] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. Upon receiving the response, the device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0872] Specific example
[0873] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0874] The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0875] The terminal sends the input information to the server in JSON format.
[0876] The server receives the data and performs field validation.
[0877] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[0878] The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0879] The server embeds this information into the proposal template.
[0880] The server generates a PDF proposal and saves it temporarily.
[0881] The server sends a response to the terminal that includes a download link for the PDF file.
[0882] The device downloads a PDF file via a link and provides it to the user.
[0883] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0884] The following describes the processing flow.
[0885] Step 1:
[0886] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[0887] Step 2:
[0888] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. Once the input is complete, they click the "Submit" button.
[0889] Step 3:
[0890] The terminal converts the data entered by the user into JSON or XML format. This converted data is then ready to be sent to the server.
[0891] Step 4:
[0892] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[0893] Step 5:
[0894] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[0895] Step 6:
[0896] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[0897] Step 7:
[0898] The server embeds the decided proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal content is then appropriately placed within this template.
[0899] Step 8:
[0900] The server converts the embedded template into PDF format. A PDF generation library is used for this purpose. The generated PDF file is saved to the server's temporary storage.
[0901] Step 9:
[0902] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[0903] Step 10:
[0904] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[0905] Step 11:
[0906] The user opens the downloaded proposal PDF and reviews its contents. They can save or print the proposal as needed.
[0907] This series of processes enables users to quickly create efficient and accurate proposals.
[0908] (Example 1)
[0909] Next, we will describe Example 1. 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."
[0910] When companies and individuals prepare proposals, gathering, organizing, and documenting information requires considerable time and effort. Especially when offering diverse products or services, collecting detailed information for each item and constructing a proposal based on that information is extremely cumbersome, potentially leading to inconsistencies in proposal quality. There is a need for a system that reduces this effort and automatically generates high-quality proposals quickly and consistently.
[0911] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0912] In this invention, the server includes means for verifying the structure and content of received data, means for determining an optimized proposal based on the verified data, and means for embedding the determined proposal into a predefined template. This makes it possible for users to automatically generate high-quality proposals quickly and consistently simply by inputting the necessary data.
[0913] A "user" is the entity that uses the system to input information for a proposal and receives the final proposal document.
[0914] "Data" refers to the information that users input to generate a proposal, and includes detailed information about the products or services.
[0915] A "terminal" is a computer or mobile device that a user uses to input data and send it to a server.
[0916] A "server" is a computer system that receives data sent from a terminal, verifies it, and performs the necessary processing to generate a proposal.
[0917] A "structured data format" is a data format, such as JSON or XML, that organizes data according to a specific format, making it interchangeable.
[0918] A "verification mechanism" is a function that checks whether the data received by the server is in the correct format and content.
[0919] "Proposal content" refers to the content of the proposal generated by the server based on the data entered by the user, and includes specific information about a particular product or service.
[0920] A "template" is a predefined framework that outlines the basic structure and format of a proposal, serving as a structure for filling in the proposal content.
[0921] A "PDF file" is an abbreviation for Portable Document Format, and it is an electronic document format for ultimately saving, viewing, and sharing proposals.
[0922] A "download link" is a URL link that allows you to obtain the generated PDF file via the internet.
[0923] This invention relates to a system for automatically generating proposals quickly and of high quality, and describes its implementation. The system includes a terminal operated by the user, a server for processing data, and communication means for sending and receiving data between them.
[0924] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. The user enters the required information in each field. For example, they might enter "dedicated line" in the "Network Products" field and "AWS" in the "Cloud Services" field. Once the input is complete, clicking the "Submit" button sends the user's data from their device to the server.
[0925] Next, the terminal receives the data entered by the user. This data is converted to JSON or XML format, and an HTTP POST request is sent to the server's API endpoint. The server receives the data sent from the terminal and verifies whether its structure and content are correct. For example, it might use a Python validation library to check if all required fields are filled in and if the format is correct. If an error is detected, the server generates an error message and sends it back to the terminal.
[0926] If verification is completed successfully, the server will determine the recommendations based on the input data. Optimized recommendations are generated for each category, such as network products, cloud services, security, mobile, voice, and operational information. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will propose "Using EC2 instances and S3 storage."
[0927] Next, the decided proposal content is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates. For example, it might use a Python template engine to embed the information.
[0928] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, ReportLab in Python). The generated PDF file is temporarily stored on the server. The server then sends an HTTP response to the terminal containing a download link for the generated PDF file. The terminal retrieves the download link from the received response and displays it to the user. The user can click this link to download the PDF file and then save or print it.
[0929] Specific example
[0930] Example: In the case of network product "dedicated line" and cloud service "AWS"
[0931] 1. The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[0932] 2. The terminal sends the input information to the server in JSON format.
[0933] 3. The server receives the data and validates the fields.
[0934] 4. The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" service.
[0935] 5. The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[0936] 6. The server embeds this information into the proposal template.
[0937] 7. The server generates and temporarily saves the PDF proposal.
[0938] 8. The server sends a response to the terminal that includes a download link for the PDF file.
[0939] 9. The device downloads a PDF file via a link and provides it to the user.
[0940] Examples of prompts for generative AI models
[0941] The following is an example of prompt statements for inputting the system requirements into the generated AI model.
[0942] Design a system where, using a web browser or dedicated app, users input information into fields such as network products, cloud services, security, mobile, voice, and operational information, and then, upon clicking the "Submit" button, the server receives the data and automatically generates a proposal. The proposal will contain optimized content based on the input information and will be output in PDF format.
[0943] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[0944] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0945] Step 1:
[0946] Users access the input form using a web browser or a dedicated application. The input form includes fields such as "Network Product," "Cloud Service," "Security," "Mobile," "Voice," and "Operational Information." Users enter the required data into these fields and click the "Submit" button when finished. Examples of input include "Network Product: Dedicated Line" and "Cloud Service: AWS." This data is then sent to the terminal.
[0947] Step 2:
[0948] The terminal receives data entered by the user. The received data is converted into a structured data format such as JSON or XML. In the case of JSON format, the data is serialized using Python's json module. The input is data entered by the user, and the output is data in a structured data format (JSON or XML). Specifically, the received data is converted to JSON format using the json.dumps method. After that, the terminal sends an HTTP POST request to the server's API endpoint. This request sends the user data in structured data format to the server.
[0949] Step 3:
[0950] The server receives structured data sent from the terminal. The input is structured data, and the output is validated data. First, the server verifies that the received data is in the correct format and content. The Python pydantic library is used for data validation. Specifically, the pydantic model is used to check the data type and requirements of each field. If an error is detected, the server generates an error message and sends it back to the terminal.
[0951] Step 4:
[0952] If data validation is successfully completed, the server determines optimized suggestions based on the input data. The input is validated data, and the output is the suggested content. Predefined business logic is applied to the process of generating the optimal suggestions for each category. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will suggest "Using EC2 instances and S3 storage." This extracts specific suggestions that best suit the user's needs.
[0953] Step 5:
[0954] The finalized proposal is embedded into a predefined proposal template by the server. The input consists of the proposal content and the template, while the output is the proposal content embedded in the template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. Specifically, a Python template engine (e.g., Jinja2) is used to embed the proposal content into each template field. This step completes the proposal template.
[0955] Step 6:
[0956] Once the template is embedded, the server generates the proposal in PDF format. A PDF generation library is used for this process. The input is the proposal content embedded in the template, and the output is a PDF file. For example, the ReportLab library in Python is used to generate the PDF file. This file is temporarily stored on the server.
[0957] Step 7:
[0958] Finally, the server sends an HTTP response to the terminal containing a download link for the generated PDF file. The input is the PDF file and link generation information, and the output is the response containing the download link. The terminal receives this response and displays the download link to the user. The user can click the displayed link to download the PDF file and review, save, or print the contents of the proposal.
[0959] (Application Example 1)
[0960] Next, we will explain Application Example 1. In the following explanation, 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."
[0961] This invention relates to a system that can automatically generate proposals for optimizing production efficiency quickly and accurately. Conventional production efficiency improvement proposals are generally created manually by factory managers, which is time-consuming and labor-intensive, and carries a high risk of human error. Furthermore, because they deal with complex data structures, data verification and embedding into templates are cumbersome tasks.
[0962] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0963] In this invention, the server includes means for determining the content of a proposal based on data entered by the user, means for embedding the content of the proposal into a template, and means for transmitting the generated PDF file. This makes it possible to quickly and accurately automatically generate a proposal to optimize production efficiency based on production-related data entered by the factory manager.
[0964] A "user" is a person or entity that inputs data into a system.
[0965] A "terminal" is a device used by users to input data and send it to a server.
[0966] A "server" is a device that verifies data received from terminals, determines the content of the proposal, and generates a proposal document based on that.
[0967] "Data" refers to production-related information that users input into the system.
[0968] "Proposed content" refers to the content that the server determines based on the data entered by the user, in order to optimize production efficiency.
[0969] A "template" is a standardized format used to embed proposal content.
[0970] A "PDF file" is an electronic file format used to save generated proposals.
[0971] A "generative AI model" is an artificial intelligence system that generates prompt messages based on information input by the user and then generates corresponding suggestions.
[0972] A "prompt statement" is a text-based input statement used by a generative AI model to generate suggested content.
[0973] This invention is a system that automatically generates proposals to optimize production efficiency based on production data entered by factory managers. The system of this invention begins with the user entering data and sending it to the server via a terminal.
[0974] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields such as the production line name, the area to be improved, the current problem, the proposed solution, and the estimated cost. The user enters the necessary information into these fields and clicks the submit button.
[0975] Next, the terminal converts the data entered by the user into JSON format and sends an HTTP POST request to the server's API endpoint. This request contains all the data entered by the user.
[0976] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[0977] If data validation is successful, the server determines the proposal based on the entered data. For example, depending on the entered production line name and current challenges, specific proposals to improve production efficiency are generated. The server then embeds these proposals into an appropriate proposal template.
[0978] Next, the server uses a generative AI model to generate a prompt based on the information entered by the user. This prompt is then used to generate more detailed suggestions. For this process, a text generation model such as GPT-3 is typically used. The generated suggestions are then embedded back into the template.
[0979] Subsequently, the server generates a PDF file based on the embedded template. This PDF file is created using a PDF generation library (e.g., Python's FPDF library). The generated PDF file is temporarily stored on the server.
[0980] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[0981] As a concrete example, consider a case where a factory manager enters the following information:
[0982] Production line name: Line A
[0983] Target for improvement: Assembly process for product B
[0984] Current challenges: Delays in parts supply.
[0985] Proposal: Introduction of a parts supply robot
[0986] Estimated cost: 5 million yen
[0987] Once this information is entered into the input form and submitted, the server generates a prompt message similar to the following:
[0988] Please generate the content of the production improvement proposal based on the following information.
[0989] Production line name: Line A
[0990] Target for improvement: Assembly process for product B
[0991] Current challenges: Delays in parts supply.
[0992] Proposal: Introduction of a parts supply robot.
[0993] Estimated cost: 5 million yen
[0994] The proposals generated by the AI model are embedded in an appropriate proposal template and ultimately generated as a PDF file. This PDF file is provided in a format that allows factory managers to easily download and review it.
[0995] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0996] Step 1:
[0997] The user accesses the input form via a web browser or a dedicated application. The input form includes fields such as production line name, area for improvement, current issues, proposed solution, and estimated cost. The user enters the required information into each field. After completing the input, they click the submit button.
[0998] Input: Data such as production line name, target for improvement, current issues, proposed solutions, and estimated costs.
[0999] Output: Data entered by the user
[1000] Specific actions:
[1001] The user opens a web browser or application, accesses an input form, enters information, and clicks the submit button.
[1002] Step 2:
[1003] The device converts the data entered by the user into JSON format. The device then sends an HTTP POST request to the server's API endpoint using this JSON data.
[1004] Input: Data entered by the user
[1005] Output: Structured data in JSON format
[1006] Specific actions:
[1007] The terminal converts the input data into JSON format and sends an HTTP POST request to the server.
[1008] Step 3:
[1009] The server receives the data sent from the terminal. After receiving the data, the server verifies the data's structure and content. It checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[1010] Input: Data in JSON format
[1011] Output: Proceed to the next step if the data is correct; an error message will be displayed if there are errors.
[1012] Specific actions:
[1013] The server receives the data and verifies that the required fields are filled in and that the data format is correct. If there are errors, it returns an error message to the terminal.
[1014] Step 4:
[1015] If data validation is completed successfully, the server will determine the recommendations based on the entered data. Specifically, it will generate recommendations tailored to the production line name and current challenges.
[1016] Input: Verified data
[1017] Output: Proposal
[1018] Specific actions:
[1019] The server determines suggestions for improving production efficiency based on the data.
[1020] Step 5:
[1021] The server embeds the proposal content into a predefined proposal template. This ensures that a consistent proposal is created.
[1022] Input: Proposal Content
[1023] Output: Template with the proposed content embedded.
[1024] Specific actions:
[1025] The server embeds the suggested content into the appropriate location in the template.
[1026] Step 6:
[1027] The server uses a generative AI model to generate prompt messages based on the information entered by the user. These prompt messages are then used to generate more detailed suggestions.
[1028] Input: Information entered by the user
[1029] Output: Prompt message and detailed suggestions
[1030] Specific actions:
[1031] The generative AI model generates prompt messages based on user information, and then uses those prompt messages to generate detailed suggestions.
[1032] Step 7:
[1033] The server generates a PDF file based on a template containing the proposal and detailed proposal information. This is done using a PDF generation library.
[1034] Input: Template with embedded proposal content
[1035] Output: PDF file
[1036] Specific actions:
[1037] The server uses a PDF generation library to convert the template into a PDF file.
[1038] Step 8:
[1039] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user.
[1040] Input: PDF file
[1041] Output: Download link for PDF file
[1042] Specific actions:
[1043] The server sends a response to the terminal containing a download link for a PDF file, and the terminal presents it to the user.
[1044] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1045] This invention combines an emotion engine with a system for automatically generating proposals to recognize the user's emotions and reflect them in the proposal content. The following describes specific embodiments for implementing this invention.
[1046] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, an optimal proposal is automatically generated based on the user's emotion information.
[1047] User actions
[1048] Users access the input form via a web browser or a dedicated application. The input form displays input fields for network products, cloud services, security, mobile, voice, and operational information. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all input is complete.
[1049] Terminal processing
[1050] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[1051] Server reception and verification
[1052] The server receives data and sentiment information sent from the terminal. First, it verifies the structure and content of the received data. It checks that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1053] Decision on the proposal
[1054] If verification is successful, the server determines the recommendations based on the input data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is stressed, the recommendations will include suggestions that provide a corresponding sense of reassurance. If the user is excited, the recommendations will reflect suggestions for the proactive introduction of new technologies.
[1055] Embedding in proposal templates
[1056] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[1057] Generating PDF files
[1058] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1059] Sending and downloading PDF files
[1060] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[1061] Specific example
[1062] Example: When including network products "dedicated lines" and cloud services "AWS"
[1063] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[1064] The device sends input information and emotion information to the server in JSON format.
[1065] The server receives data and sentiment information and performs field validation.
[1066] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[1067] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[1068] The server embeds this information into the proposal template.
[1069] The server generates a PDF proposal and saves it temporarily.
[1070] The server sends a response to the terminal that includes a download link for the PDF file.
[1071] The device downloads a PDF file via a link and provides it to the user.
[1072] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[1073] The following describes the processing flow.
[1074] Step 1:
[1075] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[1076] Step 2:
[1077] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state in real time.
[1078] Step 3:
[1079] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is sent to the server.
[1080] Step 4:
[1081] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data and sentiment information entered by the user.
[1082] Step 5:
[1083] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If required fields are missing or the format is incorrect, it generates an error message and sends it back to the terminal.
[1084] Step 6:
[1085] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[1086] Step 7:
[1087] The server analyzes the user's emotional information provided by the emotion engine. For example, if the user is feeling stressed, the server will include additional support options to alleviate this stress in its suggestions.
[1088] Step 8:
[1089] The server embeds the determined proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal is individually customized based on the results of sentiment analysis.
[1090] Step 9:
[1091] The server converts the embedded template into PDF format. A PDF generation library is used for this task. The generated PDF file is saved to the server's temporary storage.
[1092] Step 10:
[1093] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[1094] Step 11:
[1095] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[1096] Step 12:
[1097] The user opens the downloaded proposal PDF and reviews its contents. The proposal includes suggestions tailored to the user's emotional state. The user can save or print the proposal as needed.
[1098] This series of processes enables users to quickly create efficient, accurate, and emotionally resonant proposals.
[1099] (Example 2)
[1100] Next, we will describe Example 2. 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."
[1101] Conventional automated proposal generation systems generate proposals without considering user emotional information, making it difficult to produce flexible and appropriate proposals that take into account the emotional state of individual users. As a result, it was difficult to propose services and products that were suitable for users, and improving satisfaction was challenging.
[1102] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1103] In this invention, the server includes means for analyzing emotional information, means for verifying the structure and content of data and emotional information, and means for customizing proposal content based on emotional information and embedding proposal content into a proposal template. This enables the automatic generation of flexible and appropriate proposals tailored to the user's emotional state.
[1104] A "user" refers to an individual or legal entity that operates the system and inputs data.
[1105] A "terminal" refers to a computer or electronic device used by a user to input data and send it to a server.
[1106] A "server" refers to a central processing unit or network system that receives data and sentiment information transmitted from terminals, processes it, and generates proposals.
[1107] "Data" refers to information entered by users, such as network products, cloud services, security, mobile, voice, and operational information.
[1108] "Emotional information" refers to information about the user's emotional state, analyzed from the user's speech, facial expressions, input methods, etc.
[1109] "JSON format" refers to a lightweight data exchange format for structuring and transferring data.
[1110] "XML format" refers to a markup language used to structure and transfer data.
[1111] "Verification" refers to the process of checking whether the structure and content of the received data are correct.
[1112] "Proposed content" refers to specific service or product suggestions determined based on the data and emotional information entered by the user.
[1113] A "template" refers to a standardized format for the components of a proposal, a document that serves as a foundation for filling in the necessary information.
[1114] A "PDF file" refers to an electronic document file format generated based on the Portable Document Format.
[1115] "Analysis" refers to the process of deciphering a user's emotional information and identifying their state.
[1116] "Customization" refers to the process of individually adjusting suggestions based on user sentiment information to generate appropriate recommendations.
[1117] "Temporary storage" refers to the storage area on a server used to temporarily store generated data and files.
[1118] An "HTTP request" refers to a request message based on a protocol for sending data over a network.
[1119] To implement this invention, the following system configuration and processing procedure are used. The main elements include a terminal operated by the user, a server that processes data, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them.
[1120] System Configuration
[1121] Users access the input form using a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Once the user has completed the input, they click the "Submit" button.
[1122] The terminal converts the data entered by the user into JSON or XML format. This converted data also includes sentiment information analyzed by the sentiment engine. This information is sent to the server as an HTTP request.
[1123] The server receives data and sentiment information sent from the terminal and first verifies the data structure and content. It checks whether all necessary fields are present and whether the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1124] If data validation is successful, the server determines the recommendations based on the input data and emotional information. Using information from the emotional engine, it generates appropriate recommendations based on the user's stress level, level of joy, and level of excitement. For example, if the user is stressed, it might suggest reassuring suggestions; if they are excited, it might suggest the introduction of proactive new technologies.
[1125] The finalized proposal is embedded in a predefined proposal template provided by the server. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[1126] Once the embedding is complete, the server outputs the generated proposal in PDF format. PDFBox or iText are used as PDF generation libraries in this process. The generated PDF file is saved to the server's temporary storage.
[1127] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the device. The user can download the PDF file by clicking this link on their device.
[1128] Specific example
[1129] Example: When including network products "dedicated lines" and cloud services "AWS"
[1130] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[1131] The device sends input information and emotion information to the server in JSON format.
[1132] The server receives data and sentiment information and performs field validation.
[1133] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[1134] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[1135] The server embeds this information into the proposal template.
[1136] The server generates a PDF proposal and saves it temporarily.
[1137] The server sends a response to the terminal that includes a download link for the PDF file.
[1138] The user clicks a link on their device and downloads the PDF file.
[1139] Example of a prompt
[1140] "Please explain the specific operation of a system that automatically generates proposals using an emotion engine for users considering the use of network marketing products and cloud services."
[1141] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[1142] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1143] Step 1: The user enters the data.
[1144] The user opens a web browser or dedicated application and accesses the input form. The user enters the required information in the fields for network products, cloud services, security, mobile, voice, and operational information. Once all entries are complete, the user clicks the "Submit" button.
[1145] Input: Network products, cloud services, security, mobile, voice, operational information
[1146] Output: All data entered by the user
[1147] Step 2: The device converts the data.
[1148] The terminal receives data entered by the user and converts it into JSON or XML format. Simultaneously, the emotion engine analyzes the user's speech and facial expressions to generate emotion information. The terminal then prepares to send the combined data and emotion information to the server.
[1149] Input: Data entered by the user
[1150] Output: Converted data (JSON or XML format), sentiment information
[1151] Specific operation: The terminal packages the converted data and sentiment information as an HTTP request and sends it to the server.
[1152] Step 3: The server receives the data.
[1153] The server receives HTTP requests sent from the terminal and extracts data and sentiment information. First, it verifies the structure and content of the data. If there are errors in the fields, it generates an error message and sends it back to the terminal.
[1154] Input: Converted data (JSON or XML format), sentiment information
[1155] Output: Verified data, and error messages if necessary.
[1156] Specific operation: The server calls a data validation function to verify the integrity of the data.
[1157] Step 4: The server decides on the proposal.
[1158] The server determines the optimal suggestions based on verified data and emotional information. It utilizes information from the emotional engine to provide suggestions tailored to the user's stress level, joy, and excitement.
[1159] Input: Verified data, sentiment information
[1160] Output: Decision made
[1161] Specific operation: The server executes a suggestion generation algorithm and generates suggestions tailored to the user's emotional state.
[1162] Step 5: The server embeds the proposal template.
[1163] The server embeds the decided proposal into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[1164] Input: Decision made
[1165] Output: Template with the proposed content embedded.
[1166] Specific operation: The server calls a template processing function and embeds the determined proposal into the appropriate section.
[1167] Step 6: The server generates the PDF file.
[1168] The server outputs the embedded template in PDF format. This process uses a PDF generation library (PDFBox or iText). The generated PDF file is saved to temporary storage.
[1169] Input: Template with embedded proposal content
[1170] Output: PDF file
[1171] Specific operation: The server calls the PDFBox or iText library to convert the template information into a PDF file.
[1172] Step 7: The server sends the PDF file link.
[1173] Finally, the server sends a download link for the generated PDF file to the terminal as an HTTP response. The user can download the PDF file by clicking this link.
[1174] Input: PDF file
[1175] Output: Download link
[1176] Specific operation: The server generates a link containing the URL of temporary storage and sends it to the terminal as an HTTP response.
[1177] (Application Example 2)
[1178] Next, we will explain application example 2. In the following explanation, 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."
[1179] In today's advertising industry, there is a demand to display the most relevant ads based on the user's emotions. However, current systems struggle to accurately recognize user emotions and dynamically generate ad content based on them. This results in a lack of flexibility and effectiveness in maximizing user engagement.
[1180] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input data, means for the terminal to transmit data and emotional information to the server, means for the server to receive and verify the data and emotional information, means for the server to determine the suggested content based on the data and emotional information, and means for sending a prompt message to a generation AI model based on the user's emotional state to generate the optimal suggested content. This makes it possible to generate and display optimal advertisements according to the user's emotions.
[1181] A "user" refers to a person who uses the system to input data and emotional information.
[1182] A "server" refers to a computer system that receives and verifies data and sentiment information transmitted from terminals, and generates optimal suggestions.
[1183] A "device" is a device used by a user to input data and emotional information, and this includes smartphones, personal computers, tablets, and other similar devices.
[1184] "Emotional information" refers to data about the user's emotional state, analyzed from their speech, facial expressions, and other factors.
[1185] "Proposed content" refers to information that the server generates and provides to the user based on the user's data and sentiment information.
[1186] A "generative AI model" refers to an artificial intelligence model that receives prompt messages based on user sentiment information and generates optimal suggestions.
[1187] A "prompt message" refers to a document input to a generative AI model that contains the information necessary to generate the suggested content.
[1188] A "PDF file" refers to a Portable Document Format file that is ultimately generated when the server embeds the proposal content into a template.
[1189] A "template" refers to a predefined format or style that provides a framework for embedding proposal content.
[1190] This invention is a system that recognizes the user's emotions and automatically generates optimal suggestions based on those emotions. Specific embodiments for carrying out this invention are described below.
[1191] 1. System Overview
[1192] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, the system automatically generates optimal suggestions based on the user's emotion information.
[1193] 2. User actions
[1194] Users access the input form through a dedicated application. The input form displays fields related to the advertisement. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all entries are complete.
[1195] 3. Terminal Processing
[1196] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[1197] 4. Server reception and verification
[1198] The server receives data and sentiment information sent from the terminal. First, the received data is verified for correct structure and content. If fields are missing or incorrect, an error message is generated and sent back to the terminal.
[1199] 5. Decision on the proposed content
[1200] If verification is successful, the server determines the recommendations based on the entered data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is tired, the server will generate advertisements for products that help them relax.
[1201] 6. Use of Generative AI Models
[1202] When determining the content of the proposal, the server sends a prompt message to the generation AI model to generate the optimal ad copy. An example of a prompt message is shown below.
[1203] Example of a prompt
[1204] If the user is tired:
[1205] Prompt: "Generate ad copy for a relaxing product suitable for tired users. The product is an aroma diffuser."
[1206]
[1207] If the user is healthy:
[1208] Prompt: "Generate ad copy for an energetic product suitable for energetic users. The product is a sports drink."
[1209] 7. Embedding into proposal templates
[1210] The selected proposal is embedded in a predefined template. The template includes the ad title, tagline, product description, images, pricing information, and more.
[1211] 8. Generating a PDF file
[1212] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1213] 9. Sending and downloading PDF files
[1214] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[1215] Through the above process, optimal suggestions tailored to the user's emotions are automatically generated and provided to the user as advertisements. This makes it possible to maximize the effectiveness of the advertisements.
[1216] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1217] Step 1:
[1218] The user accesses the input form through a dedicated application. The input form displays fields related to the advertisement. The user enters the necessary information in each field, and the emotion engine analyzes the user's speech and facial expressions to recognize emotional information. Once the input is complete, the user clicks the "Submit" button.
[1219] Input: User data, speech, facial expressions
[1220] Output: User data, sentiment information
[1221] Step 2:
[1222] The terminal converts the user's input data and sentiment information into JSON or XML format. This converted data and sentiment information are then ready to be sent to the server.
[1223] Input: User data, sentiment information
[1224] Output: Converted data (JSON / XML format)
[1225] Step 3:
[1226] The device sends the converted data and sentiment information to the server. The server receives the data and sentiment information sent from the device.
[1227] Input: Converted data (JSON / XML format), sentiment information
[1228] Output: Received data and sentiment information
[1229] Step 4:
[1230] The server verifies the structure and content of the data and sentiment information it receives. It checks that all necessary fields are present and that the data format is correct. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1231] Input: Received data and sentiment information
[1232] Output: Verification result (success / failure), error message (if necessary)
[1233] Step 5:
[1234] If verification is completed successfully, the server determines the suggested content based on the input data and sentiment information. Sentiment recognition information reflects the user's stress level, degree of joy or excitement, etc. Based on the sentiment information, the server sends a prompt to the generation AI model to generate the optimal ad copy.
[1235] Input: Verified data, sentiment information
[1236] Output: Prompt message, generated ad text
[1237] Step 6:
[1238] The server embeds the generated ad copy into a predefined template. The template includes the ad title, tagline, product description, image, and pricing information.
[1239] Input: Generated ad copy
[1240] Output: Embedded proposal content
[1241] Step 7:
[1242] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1243] Input: Embedded suggestion content
[1244] Output: PDF file
[1245] Step 8:
[1246] The server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. The terminal downloads the PDF file via the link and provides it to the user.
[1247] Input: PDF file
[1248] Output: Download link, provided PDF file
[1249] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1250] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1251] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1252] [Fourth Embodiment]
[1253] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1254] As shown in Figure 7, the 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.
[1255] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1256] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1257] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1258] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1259] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1260] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1261] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1262] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[1263] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1264] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1265] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1266] This invention relates to a system for automatically generating proposals, and describes its implementation.
[1267] This system includes a terminal operated by the user, a server that processes data, and communication means for sending and receiving data between them. The user enters the necessary data into an input form and sends it to the server via the terminal, automatically generating a proposal.
[1268] User actions
[1269] Users access the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Users enter the required information in each field. Once the input is complete, clicking the "Submit" button sends the data from the device to the server.
[1270] Terminal processing
[1271] The terminal converts the data entered by the user into JSON or XML format and sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[1272] Server reception and verification
[1273] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[1274] Decision on the proposal
[1275] If verification is completed successfully, the server will determine the recommendations based on the entered data. Optimized recommendations will be generated for each category: network products, cloud services, security, mobile, voice, and operational information. For example, if the network product is "dedicated line," detailed information and pricing plans for dedicated lines will be included. Similarly, if "AWS" is selected as the cloud service, AWS usage plans and specific services (such as EC2 and S3) will be proposed.
[1276] Embedding in proposal templates
[1277] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[1278] Generating PDF files
[1279] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, Python's ReportLab or LaTeX). The generated PDF file is temporarily stored on the server.
[1280] Sending and downloading PDF files
[1281] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. Upon receiving the response, the device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[1282] Specific example
[1283] Example: In the case of network product "dedicated line" and cloud service "AWS"
[1284] The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[1285] The terminal sends the input information to the server in JSON format.
[1286] The server receives the data and performs field validation.
[1287] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[1288] The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[1289] The server embeds this information into the proposal template.
[1290] The server generates a PDF proposal and saves it temporarily.
[1291] The server sends a response to the terminal that includes a download link for the PDF file.
[1292] The device downloads a PDF file via a link and provides it to the user.
[1293] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[1294] The following describes the processing flow.
[1295] Step 1:
[1296] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[1297] Step 2:
[1298] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. Once the input is complete, they click the "Submit" button.
[1299] Step 3:
[1300] The terminal converts the data entered by the user into JSON or XML format. This converted data is then ready to be sent to the server.
[1301] Step 4:
[1302] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data entered by the user.
[1303] Step 5:
[1304] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1305] Step 6:
[1306] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[1307] Step 7:
[1308] The server embeds the decided proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal content is then appropriately placed within this template.
[1309] Step 8:
[1310] The server converts the embedded template into PDF format. A PDF generation library is used for this purpose. The generated PDF file is saved to the server's temporary storage.
[1311] Step 9:
[1312] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[1313] Step 10:
[1314] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[1315] Step 11:
[1316] The user opens the downloaded proposal PDF and reviews its contents. They can save or print the proposal as needed.
[1317] This series of processes enables users to quickly create efficient and accurate proposals.
[1318] (Example 1)
[1319] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1320] When companies and individuals prepare proposals, gathering, organizing, and documenting information requires considerable time and effort. Especially when offering diverse products or services, collecting detailed information for each item and constructing a proposal based on that information is extremely cumbersome, potentially leading to inconsistencies in proposal quality. There is a need for a system that reduces this effort and automatically generates high-quality proposals quickly and consistently.
[1321] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1322] In this invention, the server includes means for verifying the structure and content of received data, means for determining an optimized proposal based on the verified data, and means for embedding the determined proposal into a predefined template. This makes it possible for users to automatically generate high-quality proposals quickly and consistently simply by inputting the necessary data.
[1323] A "user" is the entity that uses the system to input information for a proposal and receives the final proposal document.
[1324] "Data" refers to the information that users input to generate a proposal, and includes detailed information about the products or services.
[1325] A "terminal" is a computer or mobile device that a user uses to input data and send it to a server.
[1326] A "server" is a computer system that receives data sent from a terminal, verifies it, and performs the necessary processing to generate a proposal.
[1327] A "structured data format" is a data format, such as JSON or XML, that organizes data according to a specific format, making it interchangeable.
[1328] A "verification mechanism" is a function that checks whether the data received by the server is in the correct format and content.
[1329] "Proposal content" refers to the content of the proposal generated by the server based on the data entered by the user, and includes specific information about a particular product or service.
[1330] A "template" is a predefined framework that outlines the basic structure and format of a proposal, serving as a structure for filling in the proposal content.
[1331] A "PDF file" is an abbreviation for Portable Document Format, and it is an electronic document format for ultimately saving, viewing, and sharing proposals.
[1332] A "download link" is a URL link that allows you to obtain the generated PDF file via the internet.
[1333] This invention relates to a system for automatically generating proposals quickly and of high quality, and describes its implementation. The system includes a terminal operated by the user, a server for processing data, and communication means for sending and receiving data between them.
[1334] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. The user enters the required information in each field. For example, they might enter "dedicated line" in the "Network Products" field and "AWS" in the "Cloud Services" field. Once the input is complete, clicking the "Submit" button sends the user's data from their device to the server.
[1335] Next, the terminal receives the data entered by the user. This data is converted to JSON or XML format, and an HTTP POST request is sent to the server's API endpoint. The server receives the data sent from the terminal and verifies whether its structure and content are correct. For example, it might use a Python validation library to check if all required fields are filled in and if the format is correct. If an error is detected, the server generates an error message and sends it back to the terminal.
[1336] If verification is completed successfully, the server will determine the recommendations based on the input data. Optimized recommendations are generated for each category, such as network products, cloud services, security, mobile, voice, and operational information. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will propose "Using EC2 instances and S3 storage."
[1337] Next, the decided proposal content is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates. For example, it might use a Python template engine to embed the information.
[1338] Once the embedding is complete, the server outputs the generated proposal in PDF format. This is done using a PDF generation library (for example, ReportLab in Python). The generated PDF file is temporarily stored on the server. The server then sends an HTTP response to the terminal containing a download link for the generated PDF file. The terminal retrieves the download link from the received response and displays it to the user. The user can click this link to download the PDF file and then save or print it.
[1339] Specific example
[1340] Example: In the case of network product "dedicated line" and cloud service "AWS"
[1341] 1. The user enters information such as "Network product: Dedicated line" and "Cloud service: AWS" into the input form and clicks the "Submit" button.
[1342] 2. The terminal sends the input information to the server in JSON format.
[1343] 3. The server receives the data and validates the fields.
[1344] 4. The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" service.
[1345] 5. The server selects "Use of EC2 instances and S3 storage" as the proposed solution from AWS.
[1346] 6. The server embeds this information into the proposal template.
[1347] 7. The server generates and temporarily saves the PDF proposal.
[1348] 8. The server sends a response to the terminal that includes a download link for the PDF file.
[1349] 9. The device downloads a PDF file via a link and provides it to the user.
[1350] Examples of prompts for generative AI models
[1351] The following is an example of prompt statements for inputting the system requirements into the generated AI model.
[1352] Design a system where, using a web browser or dedicated app, users input information into fields such as network products, cloud services, security, mobile, voice, and operational information, and then, upon clicking the "Submit" button, the server receives the data and automatically generates a proposal. The proposal will contain optimized content based on the input information and will be output in PDF format.
[1353] As described above, this system can automatically generate proposals quickly and accurately based on the information entered by the user.
[1354] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1355] Step 1:
[1356] Users access the input form using a web browser or a dedicated application. The input form includes fields such as "Network Product," "Cloud Service," "Security," "Mobile," "Voice," and "Operational Information." Users enter the required data into these fields and click the "Submit" button when finished. Examples of input include "Network Product: Dedicated Line" and "Cloud Service: AWS." This data is then sent to the terminal.
[1357] Step 2:
[1358] The terminal receives data entered by the user. The received data is converted into a structured data format such as JSON or XML. In the case of JSON format, the data is serialized using Python's json module. The input is data entered by the user, and the output is data in a structured data format (JSON or XML). Specifically, the received data is converted to JSON format using the json.dumps method. After that, the terminal sends an HTTP POST request to the server's API endpoint. This request sends the user data in structured data format to the server.
[1359] Step 3:
[1360] The server receives structured data sent from the terminal. The input is structured data, and the output is validated data. First, the server verifies that the received data is in the correct format and content. The Python pydantic library is used for data validation. Specifically, the pydantic model is used to check the data type and requirements of each field. If an error is detected, the server generates an error message and sends it back to the terminal.
[1361] Step 4:
[1362] If data validation is successfully completed, the server determines optimized suggestions based on the input data. The input is validated data, and the output is the suggested content. Predefined business logic is applied to the process of generating the optimal suggestions for each category. For example, if "Network Product" is "Dedicated Line," the server will select detailed information on a "100Mbps bandwidth, fixed-price plan." Also, if "AWS" is selected as the "Cloud Service," the server will suggest "Using EC2 instances and S3 storage." This extracts specific suggestions that best suit the user's needs.
[1363] Step 5:
[1364] The finalized proposal is embedded into a predefined proposal template by the server. The input consists of the proposal content and the template, while the output is the proposal content embedded in the template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. Specifically, a Python template engine (e.g., Jinja2) is used to embed the proposal content into each template field. This step completes the proposal template.
[1365] Step 6:
[1366] Once the template is embedded, the server generates the proposal in PDF format. A PDF generation library is used for this process. The input is the proposal content embedded in the template, and the output is a PDF file. For example, the ReportLab library in Python is used to generate the PDF file. This file is temporarily stored on the server.
[1367] Step 7:
[1368] Finally, the server sends an HTTP response to the terminal containing a download link for the generated PDF file. The input is the PDF file and link generation information, and the output is the response containing the download link. The terminal receives this response and displays the download link to the user. The user can click the displayed link to download the PDF file and review, save, or print the contents of the proposal.
[1369] (Application Example 1)
[1370] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1371] This invention relates to a system that can automatically generate proposals for optimizing production efficiency quickly and accurately. Conventional production efficiency improvement proposals are generally created manually by factory managers, which is time-consuming and labor-intensive, and carries a high risk of human error. Furthermore, because they deal with complex data structures, data verification and embedding into templates are cumbersome tasks.
[1372] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1373] In this invention, the server includes means for determining the content of a proposal based on data entered by the user, means for embedding the content of the proposal into a template, and means for transmitting the generated PDF file. This makes it possible to quickly and accurately automatically generate a proposal to optimize production efficiency based on production-related data entered by the factory manager.
[1374] A "user" is a person or entity that inputs data into a system.
[1375] A "terminal" is a device used by users to input data and send it to a server.
[1376] A "server" is a device that verifies data received from terminals, determines the content of the proposal, and generates a proposal document based on that.
[1377] "Data" refers to production-related information that users input into the system.
[1378] "Proposed content" refers to the content that the server determines based on the data entered by the user, in order to optimize production efficiency.
[1379] A "template" is a standardized format used to embed proposal content.
[1380] A "PDF file" is an electronic file format used to save generated proposals.
[1381] A "generative AI model" is an artificial intelligence system that generates prompt messages based on information input by the user and then generates corresponding suggestions.
[1382] A "prompt statement" is a text-based input statement used by a generative AI model to generate suggested content.
[1383] This invention is a system that automatically generates proposals to optimize production efficiency based on production data entered by factory managers. The system of this invention begins with the user entering data and sending it to the server via a terminal.
[1384] First, the user accesses the input form through a web browser or a dedicated application. The input form includes fields such as the production line name, the area to be improved, the current problem, the proposed solution, and the estimated cost. The user enters the necessary information into these fields and clicks the submit button.
[1385] Next, the terminal converts the data entered by the user into JSON format and sends an HTTP POST request to the server's API endpoint. This request contains all the data entered by the user.
[1386] The server receives data sent from the terminal. The received data is first verified for its correct structure and content. For example, it checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[1387] If data validation is successful, the server determines the proposal based on the entered data. For example, depending on the entered production line name and current challenges, specific proposals to improve production efficiency are generated. The server then embeds these proposals into an appropriate proposal template.
[1388] Next, the server uses a generative AI model to generate a prompt based on the information entered by the user. This prompt is then used to generate more detailed suggestions. For this process, a text generation model such as GPT-3 is typically used. The generated suggestions are then embedded back into the template.
[1389] Subsequently, the server generates a PDF file based on the embedded template. This PDF file is created using a PDF generation library (e.g., Python's FPDF library). The generated PDF file is temporarily stored on the server.
[1390] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user. The user can then review it and save or print it as needed.
[1391] As a concrete example, consider a case where a factory manager enters the following information:
[1392] Production line name: Line A
[1393] Target for improvement: Assembly process for product B
[1394] Current challenges: Delays in parts supply.
[1395] Proposal: Introduction of a parts supply robot
[1396] Estimated cost: 5 million yen
[1397] Once this information is entered into the input form and submitted, the server generates a prompt message similar to the following:
[1398] Please generate the content of the production improvement proposal based on the following information.
[1399] Production line name: Line A
[1400] Target for improvement: Assembly process for product B
[1401] Current challenges: Delays in parts supply.
[1402] Proposal: Introduction of a parts supply robot.
[1403] Estimated cost: 5 million yen
[1404] The proposals generated by the AI model are embedded in an appropriate proposal template and ultimately generated as a PDF file. This PDF file is provided in a format that allows factory managers to easily download and review it.
[1405] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1406] Step 1:
[1407] The user accesses the input form via a web browser or a dedicated application. The input form includes fields such as production line name, area for improvement, current issues, proposed solution, and estimated cost. The user enters the required information into each field. After completing the input, they click the submit button.
[1408] Input: Data such as production line name, target for improvement, current issues, proposed solutions, and estimated costs.
[1409] Output: Data entered by the user
[1410] Specific actions:
[1411] The user opens a web browser or application, accesses an input form, enters information, and clicks the submit button.
[1412] Step 2:
[1413] The device converts the data entered by the user into JSON format. The device then sends an HTTP POST request to the server's API endpoint using this JSON data.
[1414] Input: Data entered by the user
[1415] Output: Structured data in JSON format
[1416] Specific actions:
[1417] The terminal converts the input data into JSON format and sends an HTTP POST request to the server.
[1418] Step 3:
[1419] The server receives the data sent from the terminal. After receiving the data, the server verifies the data's structure and content. It checks whether all necessary fields are filled in and whether the format is correct. If an error is detected, an error message is sent back to the terminal.
[1420] Input: Data in JSON format
[1421] Output: Proceed to the next step if the data is correct; an error message will be displayed if there are errors.
[1422] Specific actions:
[1423] The server receives the data and verifies that the required fields are filled in and that the data format is correct. If there are errors, it returns an error message to the terminal.
[1424] Step 4:
[1425] If data validation is completed successfully, the server will determine the recommendations based on the entered data. Specifically, it will generate recommendations tailored to the production line name and current challenges.
[1426] Input: Verified data
[1427] Output: Proposal
[1428] Specific actions:
[1429] The server determines suggestions for improving production efficiency based on the data.
[1430] Step 5:
[1431] The server embeds the proposal content into a predefined proposal template. This ensures that a consistent proposal is created.
[1432] Input: Proposal Content
[1433] Output: Template with the proposed content embedded.
[1434] Specific actions:
[1435] The server embeds the suggested content into the appropriate location in the template.
[1436] Step 6:
[1437] The server uses a generative AI model to generate prompt messages based on the information entered by the user. These prompt messages are then used to generate more detailed suggestions.
[1438] Input: Information entered by the user
[1439] Output: Prompt message and detailed suggestions
[1440] Specific actions:
[1441] The generative AI model generates prompt messages based on user information, and then uses those prompt messages to generate detailed suggestions.
[1442] Step 7:
[1443] The server generates a PDF file based on a template containing the proposal and detailed proposal information. This is done using a PDF generation library.
[1444] Input: Template with embedded proposal content
[1445] Output: PDF file
[1446] Specific actions:
[1447] The server uses a PDF generation library to convert the template into a PDF file.
[1448] Step 8:
[1449] Finally, the server sends an HTTP response to the device containing a download link for the generated PDF file. The device downloads the PDF file via the link and displays it to the user.
[1450] Input: PDF file
[1451] Output: Download link for PDF file
[1452] Specific actions:
[1453] The server sends a response to the terminal containing a download link for a PDF file, and the terminal presents it to the user.
[1454] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1455] This invention combines an emotion engine with a system for automatically generating proposals to recognize the user's emotions and reflect them in the proposal content. The following describes specific embodiments for implementing this invention.
[1456] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, an optimal proposal is automatically generated based on the user's emotion information.
[1457] User actions
[1458] Users access the input form via a web browser or a dedicated application. The input form displays input fields for network products, cloud services, security, mobile, voice, and operational information. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all input is complete.
[1459] Terminal processing
[1460] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[1461] Server reception and verification
[1462] The server receives data and sentiment information sent from the terminal. First, it verifies the structure and content of the received data. It checks that all necessary fields are present and that the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1463] Decision on the proposal
[1464] If verification is successful, the server determines the recommendations based on the input data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is stressed, the recommendations will include suggestions that provide a corresponding sense of reassurance. If the user is excited, the recommendations will reflect suggestions for the proactive introduction of new technologies.
[1465] Embedding in proposal templates
[1466] The finalized proposal is embedded into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The server then fills in the appropriate information within these templates.
[1467] Generating PDF files
[1468] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1469] Sending and downloading PDF files
[1470] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[1471] Specific example
[1472] Example: When including network products "dedicated lines" and cloud services "AWS"
[1473] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[1474] The device sends input information and emotion information to the server in JSON format.
[1475] The server receives data and sentiment information and performs field validation.
[1476] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[1477] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[1478] The server embeds this information into the proposal template.
[1479] The server generates a PDF proposal and saves it temporarily.
[1480] The server sends a response to the terminal that includes a download link for the PDF file.
[1481] The device downloads a PDF file via a link and provides it to the user.
[1482] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[1483] The following describes the processing flow.
[1484] Step 1:
[1485] The user accesses the proposal creation system. The user interface displays input fields for network products, cloud services, security, mobile, voice, and operational information.
[1486] Step 2:
[1487] The user enters the necessary information into each input field. For example, they might select "dedicated line" as the network product and "AWS" as the cloud service. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state in real time.
[1488] Step 3:
[1489] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is sent to the server.
[1490] Step 4:
[1491] The device sends an HTTP POST request to the server's API endpoint. This request includes all the data and sentiment information entered by the user.
[1492] Step 5:
[1493] The server receives an HTTP request. It parses the received data and verifies that all necessary fields are present and that the data is in the correct format. If required fields are missing or the format is incorrect, it generates an error message and sends it back to the terminal.
[1494] Step 6:
[1495] The server processes the verified data. This determines the most suitable proposal based on the information for each product. For example, if "dedicated line" is selected, it will determine its detailed information and pricing plan. If "AWS" is selected, it will include plans for using EC2 instances and S3 storage.
[1496] Step 7:
[1497] The server analyzes the user's emotional information provided by the emotion engine. For example, if the user is feeling stressed, the server will include additional support options to alleviate this stress in its suggestions.
[1498] Step 8:
[1499] The server embeds the determined proposal into a template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information. The proposal is individually customized based on the results of sentiment analysis.
[1500] Step 9:
[1501] The server converts the embedded template into PDF format. A PDF generation library is used for this task. The generated PDF file is saved to the server's temporary storage.
[1502] Step 10:
[1503] The server generates a download link for the PDF file and sends an HTTP response containing it to the device. This link points to the URL of the temporary storage location.
[1504] Step 11:
[1505] The device receives a response from the server and displays a download link. The user can click this link to download the PDF file.
[1506] Step 12:
[1507] The user opens the downloaded proposal PDF and reviews its contents. The proposal includes suggestions tailored to the user's emotional state. The user can save or print the proposal as needed.
[1508] This series of processes enables users to quickly create efficient, accurate, and emotionally resonant proposals.
[1509] (Example 2)
[1510] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1511] Conventional automated proposal generation systems generate proposals without considering user emotional information, making it difficult to produce flexible and appropriate proposals that take into account the emotional state of individual users. As a result, it was difficult to propose services and products that were suitable for users, and improving satisfaction was challenging.
[1512] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1513] In this invention, the server includes means for analyzing emotional information, means for verifying the structure and content of data and emotional information, and means for customizing proposal content based on emotional information and embedding proposal content into a proposal template. This enables the automatic generation of flexible and appropriate proposals tailored to the user's emotional state.
[1514] A "user" refers to an individual or legal entity that operates the system and inputs data.
[1515] A "terminal" refers to a computer or electronic device used by a user to input data and send it to a server.
[1516] A "server" refers to a central processing unit or network system that receives data and sentiment information transmitted from terminals, processes it, and generates proposals.
[1517] "Data" refers to information entered by users, such as network products, cloud services, security, mobile, voice, and operational information.
[1518] "Emotional information" refers to information about the user's emotional state, analyzed from the user's speech, facial expressions, input methods, etc.
[1519] "JSON format" refers to a lightweight data exchange format for structuring and transferring data.
[1520] "XML format" refers to a markup language used to structure and transfer data.
[1521] "Verification" refers to the process of checking whether the structure and content of the received data are correct.
[1522] "Proposed content" refers to specific service or product suggestions determined based on the data and emotional information entered by the user.
[1523] A "template" refers to a standardized format for the components of a proposal, a document that serves as a foundation for filling in the necessary information.
[1524] A "PDF file" refers to an electronic document file format generated based on the Portable Document Format.
[1525] "Analysis" refers to the process of deciphering a user's emotional information and identifying their state.
[1526] "Customization" refers to the process of individually adjusting suggestions based on user sentiment information to generate appropriate recommendations.
[1527] "Temporary storage" refers to the storage area on a server used to temporarily store generated data and files.
[1528] An "HTTP request" refers to a request message based on a protocol for sending data over a network.
[1529] To implement this invention, the following system configuration and processing procedure are used. The main elements include a terminal operated by the user, a server that processes data, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them.
[1530] System Configuration
[1531] Users access the input form using a web browser or a dedicated application. The input form includes fields for network products, cloud services, security, mobile, voice, and operational information. Once the user has completed the input, they click the "Submit" button.
[1532] The terminal converts the data entered by the user into JSON or XML format. This converted data also includes sentiment information analyzed by the sentiment engine. This information is sent to the server as an HTTP request.
[1533] The server receives data and sentiment information sent from the terminal and first verifies the data structure and content. It checks whether all necessary fields are present and whether the data is in the correct format. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1534] If data validation is successful, the server determines the recommendations based on the input data and emotional information. Using information from the emotional engine, it generates appropriate recommendations based on the user's stress level, level of joy, and level of excitement. For example, if the user is stressed, it might suggest reassuring suggestions; if they are excited, it might suggest the introduction of proactive new technologies.
[1535] The finalized proposal is embedded in a predefined proposal template provided by the server. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[1536] Once the embedding is complete, the server outputs the generated proposal in PDF format. PDFBox or iText are used as PDF generation libraries in this process. The generated PDF file is saved to the server's temporary storage.
[1537] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the device. The user can download the PDF file by clicking this link on their device.
[1538] Specific example
[1539] Example: When including network products "dedicated lines" and cloud services "AWS"
[1540] The user enters information such as "Network product: Dedicated line," "Cloud service: AWS," "Security: WAF," "Mobile: Corporate contract plan," "Voice: VoIP," and "Operational information: 24 / 7 monitoring" into an input form, and the emotion engine recognizes the user's emotional state.
[1541] The device sends input information and emotion information to the server in JSON format.
[1542] The server receives data and sentiment information and performs field validation.
[1543] The server selects a "100Mbps bandwidth, fixed-rate plan" as the proposed "dedicated line" option.
[1544] The server selects "Use of EC2 instances and S3 storage" as the AWS proposal, and includes options and support information to alleviate concerns based on emotional information.
[1545] The server embeds this information into the proposal template.
[1546] The server generates a PDF proposal and saves it temporarily.
[1547] The server sends a response to the terminal that includes a download link for the PDF file.
[1548] The user clicks a link on their device and downloads the PDF file.
[1549] Example of a prompt
[1550] "Please explain the specific operation of a system that automatically generates proposals using an emotion engine for users considering the use of network marketing products and cloud services."
[1551] In this way, by using an emotion engine, it is possible to automatically generate more flexible and appropriate proposals tailored to the user's emotional state.
[1552] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1553] Step 1: The user enters the data.
[1554] The user opens a web browser or dedicated application and accesses the input form. The user enters the required information in the fields for network products, cloud services, security, mobile, voice, and operational information. Once all entries are complete, the user clicks the "Submit" button.
[1555] Input: Network products, cloud services, security, mobile, voice, operational information
[1556] Output: All data entered by the user
[1557] Step 2: The device converts the data.
[1558] The terminal receives data entered by the user and converts it into JSON or XML format. Simultaneously, the emotion engine analyzes the user's speech and facial expressions to generate emotion information. The terminal then prepares to send the combined data and emotion information to the server.
[1559] Input: Data entered by the user
[1560] Output: Converted data (JSON or XML format), sentiment information
[1561] Specific operation: The terminal packages the converted data and sentiment information as an HTTP request and sends it to the server.
[1562] Step 3: The server receives the data.
[1563] The server receives HTTP requests sent from the terminal and extracts data and sentiment information. First, it verifies the structure and content of the data. If there are errors in the fields, it generates an error message and sends it back to the terminal.
[1564] Input: Converted data (JSON or XML format), sentiment information
[1565] Output: Verified data, and error messages if necessary.
[1566] Specific operation: The server calls a data validation function to verify the integrity of the data.
[1567] Step 4: The server decides on the proposal.
[1568] The server determines the optimal suggestions based on verified data and emotional information. It utilizes information from the emotional engine to provide suggestions tailored to the user's stress level, joy, and excitement.
[1569] Input: Verified data, sentiment information
[1570] Output: Decision made
[1571] Specific operation: The server executes a suggestion generation algorithm and generates suggestions tailored to the user's emotional state.
[1572] Step 5: The server embeds the proposal template.
[1573] The server embeds the decided proposal into a predefined proposal template. The template includes a cover sheet, table of contents, detailed descriptions of each product, usage plans and pricing, implementation flow and schedule, and contact information.
[1574] Input: Decision made
[1575] Output: Template with the proposed content embedded.
[1576] Specific operation: The server calls a template processing function and embeds the determined proposal into the appropriate section.
[1577] Step 6: The server generates the PDF file.
[1578] The server outputs the embedded template in PDF format. This process uses a PDF generation library (PDFBox or iText). The generated PDF file is saved to temporary storage.
[1579] Input: Template with embedded proposal content
[1580] Output: PDF file
[1581] Specific operation: The server calls the PDFBox or iText library to convert the template information into a PDF file.
[1582] Step 7: The server sends the PDF file link.
[1583] Finally, the server sends a download link for the generated PDF file to the terminal as an HTTP response. The user can download the PDF file by clicking this link.
[1584] Input: PDF file
[1585] Output: Download link
[1586] Specific operation: The server generates a link containing the URL of temporary storage and sends it to the terminal as an HTTP response.
[1587] (Application Example 2)
[1588] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1589] In today's advertising industry, there is a demand to display the most relevant ads based on the user's emotions. However, current systems struggle to accurately recognize user emotions and dynamically generate ad content based on them. This results in a lack of flexibility and effectiveness in maximizing user engagement.
[1590] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for the user to input data, means for the terminal to transmit data and emotional information to the server, means for the server to receive and verify the data and emotional information, means for the server to determine the suggested content based on the data and emotional information, and means for sending a prompt message to a generation AI model based on the user's emotional state to generate the optimal suggested content. This makes it possible to generate and display optimal advertisements according to the user's emotions.
[1591] A "user" refers to a person who uses the system to input data and emotional information.
[1592] A "server" refers to a computer system that receives and verifies data and sentiment information transmitted from terminals, and generates optimal suggestions.
[1593] A "device" is a device used by a user to input data and emotional information, and this includes smartphones, personal computers, tablets, and other similar devices.
[1594] "Emotional information" refers to data about the user's emotional state, analyzed from their speech, facial expressions, and other factors.
[1595] "Proposed content" refers to information that the server generates and provides to the user based on the user's data and sentiment information.
[1596] A "generative AI model" refers to an artificial intelligence model that receives prompt messages based on user sentiment information and generates optimal suggestions.
[1597] A "prompt message" refers to a document input to a generative AI model that contains the information necessary to generate the suggested content.
[1598] A "PDF file" refers to a Portable Document Format file that is ultimately generated when the server embeds the proposal content into a template.
[1599] A "template" refers to a predefined format or style that provides a framework for embedding proposal content.
[1600] This invention is a system that recognizes the user's emotions and automatically generates optimal suggestions based on those emotions. Specific embodiments for carrying out this invention are described below.
[1601] 1. System Overview
[1602] This system includes a user-operated terminal, a data processing server, an emotion engine that recognizes emotions, and communication means for sending and receiving data and emotion information between them. When the user enters the necessary data into an input form and sends it to the server via the terminal, the system automatically generates optimal suggestions based on the user's emotion information.
[1603] 2. User actions
[1604] Users access the input form through a dedicated application. The input form displays fields related to the advertisement. The emotion engine also analyzes the user's speech, facial expressions, and input methods to recognize their emotional state. Users enter the necessary information into each field and click the "Submit" button once all entries are complete.
[1605] 3. Terminal Processing
[1606] The terminal converts the data entered by the user into JSON or XML format. This converted data, along with the emotion information generated by the emotion engine, is then ready to be sent to the server.
[1607] 4. Server reception and verification
[1608] The server receives data and sentiment information sent from the terminal. First, the received data is verified for correct structure and content. If fields are missing or incorrect, an error message is generated and sent back to the terminal.
[1609] 5. Decision on the proposed content
[1610] If verification is successful, the server determines the recommendations based on the entered data and emotional information. Emotional recognition information reflects the user's stress level, degree of joy or excitement, etc. For example, if the user is tired, the server will generate advertisements for products that help them relax.
[1611] 6. Use of Generative AI Models
[1612] When determining the content of the proposal, the server sends a prompt message to the generation AI model to generate the optimal ad copy. An example of a prompt message is shown below.
[1613] Example of a prompt
[1614] If the user is tired:
[1615] Prompt: "Generate ad copy for a relaxing product suitable for tired users. The product is an aroma diffuser."
[1616]
[1617] If the user is healthy:
[1618] Prompt: "Generate ad copy for an energetic product suitable for energetic users. The product is a sports drink."
[1619] 7. Embedding into proposal templates
[1620] The selected proposal is embedded in a predefined template. The template includes the ad title, tagline, product description, images, pricing information, and more.
[1621] 8. Generating a PDF file
[1622] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1623] 9. Sending and downloading PDF files
[1624] Finally, the server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. This link points to the URL of the temporary storage location.
[1625] Through the above process, optimal suggestions tailored to the user's emotions are automatically generated and provided to the user as advertisements. This makes it possible to maximize the effectiveness of the advertisements.
[1626] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1627] Step 1:
[1628] The user accesses the input form through a dedicated application. The input form displays fields related to the advertisement. The user enters the necessary information in each field, and the emotion engine analyzes the user's speech and facial expressions to recognize emotional information. Once the input is complete, the user clicks the "Submit" button.
[1629] Input: User data, speech, facial expressions
[1630] Output: User data, sentiment information
[1631] Step 2:
[1632] The terminal converts the user's input data and sentiment information into JSON or XML format. This converted data and sentiment information are then ready to be sent to the server.
[1633] Input: User data, sentiment information
[1634] Output: Converted data (JSON / XML format)
[1635] Step 3:
[1636] The device sends the converted data and sentiment information to the server. The server receives the data and sentiment information sent from the device.
[1637] Input: Converted data (JSON / XML format), sentiment information
[1638] Output: Received data and sentiment information
[1639] Step 4:
[1640] The server verifies the structure and content of the data and sentiment information it receives. It checks that all necessary fields are present and that the data format is correct. If fields are missing or incorrect, it generates an error message and sends it back to the terminal.
[1641] Input: Received data and sentiment information
[1642] Output: Verification result (success / failure), error message (if necessary)
[1643] Step 5:
[1644] If verification is completed successfully, the server determines the suggested content based on the input data and sentiment information. Sentiment recognition information reflects the user's stress level, degree of joy or excitement, etc. Based on the sentiment information, the server sends a prompt to the generation AI model to generate the optimal ad copy.
[1645] Input: Verified data, sentiment information
[1646] Output: Prompt message, generated ad text
[1647] Step 6:
[1648] The server embeds the generated ad copy into a predefined template. The template includes the ad title, tagline, product description, image, and pricing information.
[1649] Input: Generated ad copy
[1650] Output: Embedded proposal content
[1651] Step 7:
[1652] Once the embedding is complete, the server outputs the generated proposal in PDF format. A PDF generation library is used for this. The generated PDF file is saved to the server's temporary storage.
[1653] Input: Embedded suggestion content
[1654] Output: PDF file
[1655] Step 8:
[1656] The server generates a download link for the generated PDF file and sends an HTTP response containing it to the terminal. The terminal downloads the PDF file via the link and provides it to the user.
[1657] Input: PDF file
[1658] Output: Download link, provided PDF file
[1659] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1660] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1661] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[1662] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1663] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[1664] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[1665] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[1666] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[1667] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[1668] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[1669] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[1670] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[1671] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[1672] 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.
[1673] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[1674] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[1675] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[1676] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[1677] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[1678] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[1679] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[1680] The following is further disclosed regarding the embodiments described above.
[1681] (Claim 1)
[1682] Means by which users input data,
[1683] The means by which the terminal sends data to the server,
[1684] A means for the server to receive and verify data,
[1685] A means by which the server determines the proposed content based on the data,
[1686] The server has a means of embedding the proposed content into the template,
[1687] The server's means of generating PDF files,
[1688] A means for the server to send the generated PDF file,
[1689] A system that includes means for a device to download and display PDF files.
[1690] (Claim 2)
[1691] The system according to claim 1, which includes means for the server to verify the structure and content of the input data.
[1692] (Claim 3)
[1693] The system according to claim 1, which includes means for a server to embed proposal content into a proposal template.
[1694] "Example 1"
[1695] (Claim 1)
[1696] Means by which users input data,
[1697] A means by which the terminal converts data into a structured data format and sends it to the server,
[1698] A means for verifying the structure and content of the data received by the server,
[1699] A means by which the server determines an optimized proposal based on verified data,
[1700] A means for the server to embed the proposed content into a predefined template,
[1701] A method for generating a PDF file from a server-embedded template,
[1702] A means of providing a download link for the generated PDF file on the server,
[1703] A system that includes means for a device to download and display a PDF file via a provided link.
[1704] (Claim 2)
[1705] The system according to claim 1, comprising means for verifying the format and content of data received by the server.
[1706] (Claim 3)
[1707] The system according to claim 1, comprising means for a server to embed the proposed content into a template and means for temporarily storing the generated PDF file.
[1708] "Application Example 1"
[1709] (Claim 1)
[1710] Means by which users input data,
[1711] The means by which the terminal sends data to the server,
[1712] A means for the server to receive and verify data,
[1713] A means by which the server determines the proposed content based on the data,
[1714] The server has a means of embedding the proposed content into the template,
[1715] The server's means of generating PDF files,
[1716] A means for the server to send the generated PDF file,
[1717] The means by which the device downloads and displays PDF files,
[1718] A server provides a means to generate proposals that optimize production efficiency by optimizing the content of each proposal category,
[1719] A system that includes a program for automatically generating proposals.
[1720] (Claim 2)
[1721] The server has a means to verify the structure and content of the input data,
[1722] The system according to claim 1, comprising means for a server to embed the generated proposal content into a production-related template.
[1723] (Claim 3)
[1724] The system according to claim 1, comprising means for a server to use a generated AI model to generate prompt sentences based on information about factory production entered by a user, and for generating suggested content using those prompt sentences.
[1725] "Example 2 of combining an emotion engine"
[1726] (Claim 1)
[1727] Means by which users input data,
[1728] The means by which the terminal sends data to the server,
[1729] A means for the server to receive and verify data,
[1730] A means by which the server determines the proposed content based on the data,
[1731] The server has a means of analyzing emotional information,
[1732] The server has a means of embedding the proposed content into the template,
[1733] The server's means of generating PDF files,
[1734] A means for the server to send the generated PDF file,
[1735] A system that includes means for a device to download and display PDF files.
[1736] (Claim 2)
[1737] The system according to claim 1, comprising means for a server to verify the structure and content of input data and sentiment information.
[1738] (Claim 3)
[1739] The system according to claim 1, which includes means for a server to customize the proposal content based on emotional information and embed the proposal content into a proposal template.
[1740] "Application example 2 when combining with an emotional engine"
[1741] (Claim 1)
[1742] Means by which users input data,
[1743] A means by which a terminal transmits data and emotional information to a server,
[1744] A server provides means for receiving and verifying data and sentiment information,
[1745] A server provides a means for determining the content of a proposal based on data and sentiment information,
[1746] The server has a means of embedding the proposed content into the template,
[1747] The server's means of generating PDF files,
[1748] A means for the server to send the generated PDF file,
[1749] The means by which the device downloads and displays PDF files,
[1750] A means for sending prompt text to a generation AI model based on the user's emotional state and generating optimal suggestions,
[1751] A system that includes this.
[1752] (Claim 2)
[1753] The system according to claim 1, comprising means for a server to verify the structure and content of input data and sentiment information.
[1754] (Claim 3)
[1755] The system according to claim 1, which includes means for a server to embed proposal content into a proposal template. [Explanation of symbols]
[1756] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Devices 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robots< / url:> < / url:> < / url:> < / url:>
Claims
1. Means by which users input data, The means by which the terminal sends data to the server, A means for the server to receive and verify data, A means by which the server determines the proposed content based on the data, The server has a means of embedding the proposed content into the template, The server's means of generating PDF files, A means for the server to send the generated PDF file, A system that includes means for a device to download and display PDF files.
2. The system according to claim 1, which includes means for the server to verify the structure and content of the input data.
3. The system according to claim 1, which includes means for a server to embed proposal content into a proposal template.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A