system
A system for analyzing customer requirements in natural language, structuring, comparing with past projects, and suggesting corrections addresses incomplete requirement definition, improving project success through real-time collaboration and visualization.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-15
- Publication Date
- 2026-04-27
AI Technical Summary
Inaccurate and incomplete requirement definition in system development leads to project failures due to incompleteness and omission of requirements, necessitating improved accuracy and speed in requirement definition with real-time detection and correction.
A system that receives customer requirements in natural language, analyzes them using natural language processing, generates structured requirements, compares with similar past projects to detect omissions, and automatically suggests corrections, facilitating real-time information sharing among stakeholders.
Enhances the efficiency and accuracy of requirement definition by automatically detecting and correcting omissions, ensuring smooth project progression through real-time collaboration and visualization.
Smart Images

Figure 2026070143000001_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, the method including steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance as a 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] In system development, it is very important to accurately understand requirements provided by customers and document them without omission. However, incompleteness and omission of requirements still occur in many projects, which greatly affects the success of the projects. To address such problems, it is required to improve the accuracy and speed of requirement definition while automatically and real-time detecting requirement omission.
Means for Solving the Problems
[0005] This invention provides a system that receives requirements from customers using natural language, analyzes those requirements using natural language processing, and generates their structure. Furthermore, it generates a comparison list using requirement sets obtained from similar past projects and detects missing requirements by comparing it with the newly received requirement structure. Any detected omissions are immediately notified, automatic correction suggestions are generated, and these are shared among stakeholders, thereby improving the efficiency and accuracy of requirements definition.
[0006] "Natural language" refers to the words and sentences that humans use on a daily basis, and which have not been converted into a special format for machine interpretation.
[0007] "Requirements" specify the functions and conditions that a system or software must meet, and concretely represent the user's needs and expectations.
[0008] "Analysis" is the process of breaking down information into its details and understanding its structure and elements.
[0009] A "similar past project" refers to a project that was previously undertaken and has similar functions and objectives to the new project.
[0010] A "requirements set" is a collection of a set of requirements needed for a particular project or system.
[0011] A "comparison list" is a list of requirements extracted from past projects that are used as a benchmark for comparing newly provided requirements.
[0012] "Missing requirements" refers to a situation where some of the requirements needed for a system or project are missing, which can result in malfunctions or incomplete deliverables.
[0013] A "notification" is an alert or message used to convey specific information to relevant parties, and is used as a means of sharing information in real time.
[0014] "Automated correction suggestions" are proposed corrections or improvements generated using AI or machine learning to address any detected omissions in requirements.
[0015] "Stakeholders" refers to all individuals and organizations that are directly or indirectly affected by or contribute to a project or system development. [Brief explanation of the drawing]
[0016] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] This 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 the emotion engine is combined. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when the emotion engine is combined.
Mode for Carrying Out the Invention
[0017] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0018] First, the terms used in the following description will be explained.
[0019] 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), etc.
[0020] 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.
[0021] 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.
[0022] 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).
[0023] 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."
[0024] [First Embodiment]
[0025] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0026] 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.
[0027] 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).
[0028] 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.
[0029] 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.
[0030] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form 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.
[0031] 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.
[0032] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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".
[0037] This invention provides a system for receiving requirements provided by customers in natural language, and for automatically generating, reviewing, and verifying them as system requirements documents. The following describes specific embodiments of this system.
[0038] Customer requirements reception and analysis
[0039] The system provides an interface that allows users to input requirements in natural language. The terminal sends these requirements to the server, which then uses a natural language processing engine to analyze them. This analysis clarifies the meaning and intent behind the user's requirements.
[0040] Structuring and visualizing requirements
[0041] The analyzed requirements are structured by the server. The server models this as a hierarchical structure and generates information to visualize the main categories and relationships of the requirements. The terminal presents this visualization to the user, allowing them to confirm the requirements in a visually easy-to-understand manner.
[0042] Create a comparison list of past projects
[0043] The server extracts similar sets of requirements from past project databases. This generates a comparison list with the newly entered requirements, which is then used as the basis for comparison.
[0044] Detection of missing requirements
[0045] The server compares the newly generated requirements structure with the comparison list. If any requirements are missing as a result of the comparison, the server generates an alert. This alert is immediately notified to the user via the terminal.
[0046] Automatic correction suggestion generation
[0047] If any omissions are found in the requirements, the server uses a machine learning algorithm to automatically generate correction suggestions. These suggestions outline specific actions to address the detected missing requirements.
[0048] Information sharing and collaboration
[0049] The server has the capability to share generated correction suggestions and alerts among stakeholders in real time. Terminals distribute this information to team members, enabling all stakeholders to respond quickly based on the same information.
[0050] As a concrete example, suppose a user enters the requirement "a function to manage customer order history" when designing a new e-commerce platform. This requirement is analyzed and compared by the server to similar past projects. As a result, it is discovered that "a function to check product inventory information in real time" is missing. Based on this, the server automatically creates a correction suggestion and presents it to the user via the terminal. In this way, the present invention efficiently detects missing requirements and supports the success of the project.
[0051] The following describes the processing flow.
[0052] Step 1:
[0053] The user enters their requirements in natural language using a terminal. The terminal receives this input and sends it to the server as formatted data.
[0054] Step 2:
[0055] The server receives the input requirements data and begins analysis using a natural language processing engine. Here, word tokenization and grammatical analysis are performed to clarify the meaning and intent of the requirements.
[0056] Step 3:
[0057] The server structures the requirements based on the analysis results, understanding their hierarchy and relationships. This identifies the main categories of requirements.
[0058] Step 4:
[0059] The server references past project databases and extracts similar sets of requirements. This data is used to create a comparison list, which serves as a benchmark for comparing new requirements.
[0060] Step 5:
[0061] The server compares the new requirements structure with the generated comparison list to detect any missing or inconsistent requirements. If any are found, the server immediately generates an alert.
[0062] Step 6:
[0063] The server uses a machine learning algorithm to automatically generate remediation suggestions for any leaks it detects. These suggestions highlight new elements necessary to complement the requirements.
[0064] Step 7:
[0065] The server sends alerts and suggested fixes to the terminal, notifying the user. The user can then review this information through the terminal and modify the requirements as needed.
[0066] Step 8:
[0067] The server shares suggested fixes and alerts with project stakeholders. The terminal then distributes this information to stakeholders, enabling real-time collaboration.
[0068] (Example 1)
[0069] 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."
[0070] There is a need to efficiently analyze requirements expressed in natural language and detect omissions and shortcomings. Furthermore, a challenge lies in achieving smooth collaboration within the project management process, including requirement visualization and real-time information sharing. Traditional methods involve a significant amount of manual analysis and verification, which is time-consuming and labor-intensive; therefore, an efficient system to automate these processes is needed.
[0071] 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.
[0072] In this invention, the server includes a device that receives requirements using natural language, a device that analyzes the requirements and generates a requirements structure, and a device that retrieves sets of requirements from similar past cases and generates a comparison table. This makes it possible to automatically analyze requirements provided in natural language, detect omissions and deficiencies, and manage requirements quickly and accurately. Furthermore, by using visualization means and communication devices, visual confirmation of requirements and real-time sharing of information become possible, supporting the smooth progress of the project.
[0073] "Natural language" refers to the language that humans use on a daily basis, which requires special analysis for computers to understand.
[0074] "Requirements" are descriptions of the events and specifications that should be achieved in a system or project, and are generally expressed in natural language.
[0075] "Analysis" refers to the process of breaking down given data or information in detail and clarifying its structure and meaning.
[0076] A "requirements structure" is a hierarchical or systematic organization of analyzed requirements, classified according to their relationships and importance.
[0077] "Past similar cases" refers to projects or tasks that have been carried out in the past and have similar characteristics and properties to the current requirements.
[0078] A "comparison table" is a list created to compare new requirements with past examples, and it serves as the basis for detecting any omissions or shortcomings in requirements.
[0079] "Visualization" refers to the process of representing data and information as graphs and diagrams to make them easier to understand visually.
[0080] "Communication equipment" refers to a system of hardware or software used to send and receive information to and from other devices or users.
[0081] "Omission" refers to a situation where a required condition is not described or considered, resulting in an incomplete state.
[0082] A "revision suggestion" refers to automatically generated solutions or improvements to address any missing or incomplete requirements that have been detected.
[0083] This invention provides a system for efficiently processing user-expressed requirements in natural language. Specifically, three main entities—a server, a terminal, and a user—interact to analyze, structure, visualize, compare, suggest modifications to, and share information about the requirements.
[0084] First, the user inputs their requirements into the system in natural language via a terminal. This interface is implemented as a web application, quickly transferring user input to the server. The server receives this input and performs natural language analysis. Specifically, it uses natural language processing technology to semantically analyze the input requirements. In this process, an open-source analysis engine is utilized to clarify the intent and importance of the requirements.
[0085] Next, the server organizes the analyzed requirements into a hierarchical structure and identifies the main categories of requirements. This structured data is used for visualization, which will be described later. Specifically, the server generates data in JSON format and sends it to the terminal.
[0086] The terminal uses data received from the server to visualize the requirements using a data visualization library. This allows the user to visually confirm the content of the requirements and make modifications as needed.
[0087] The server also accesses a database of similar past cases and compares them with the analyzed requirements. It identifies similar cases and generates a comparison table with the new requirements. This process uses a high-speed data retrieval algorithm to quickly extract the most relevant data from past cases.
[0088] When missing or incomplete requirements are detected, the server generates corrective suggestions to fill them in. This generation uses a framework incorporating machine learning techniques to derive the best solution for the detected data gaps. The corrective suggestions are sent to the terminal for user review.
[0089] Furthermore, real-time information sharing enables smooth communication among stakeholders. The devices utilize high-speed communication protocols to quickly share revision suggestions and relevant information. This allows the entire team to proceed with the project based on consistent information.
[0090] As a concrete example, consider a scenario where, at the start of designing a new e-commerce platform, a user inputs the requirement, "We need a function to manage customer order history." This requirement is analyzed and compared by the server to past projects. As a result, it is discovered that a necessary feature, "the ability to check product inventory information in real time," is missing. The server generates a suggested fix to address this and presents it to the user via the terminal. An example of a prompt is shown below.
[0091] Prompt: "Generate the specifications for the e-commerce platform based on the following requirements. It needs to have a function to manage customer order history."
[0092] In this way, the present invention aims to improve the efficiency and accuracy of projects through requirements processing using natural language.
[0093] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0094] Step 1:
[0095] The user enters requirements in natural language. The terminal receives this input and sends it to the server as text data. The input data is in unstructured text format in natural language.
[0096] Step 2:
[0097] The server analyzes the received text data. This process uses a natural language processing engine to break down the text and clarify its meaning and intent. Specifically, it utilizes a generative AI model to perform syntactic analysis and word semantics. The output of this step is data that demonstrates the semantic structure of the requirements.
[0098] Step 3:
[0099] The server organizes the analyzed data into a hierarchical requirements structure. Here, it identifies the main categories and attributes of the requirements and organizes the data in JSON format. This data is then transformed into a form that is easy to visualize, becoming the output for subsequent processes.
[0100] Step 4:
[0101] The terminal receives JSON data sent from the server and performs visualization. This process utilizes a data visualization library to visually display the requirements structure as a diagram. As a result, users can review the requirements in a more easily understandable way.
[0102] Step 5:
[0103] The server accesses the database and searches for similar past cases. A search engine like ElasticSearch® is used to quickly search past data and extract similar sets of requirements. The output is a comparison list to facilitate comparison with new requirements.
[0104] Step 6:
[0105] The server compares the new requirements with the reference list. During this process, a pattern matching algorithm is used to detect missing requirements. If any missing requirements are found during the comparison, their contents are summarized and output.
[0106] Step 7:
[0107] The server generates automatic correction suggestions based on the missing requirements information. Using machine learning algorithms, it generates specific action proposals to fill the detected gaps. In this process, the optimal solution is output as data.
[0108] Step 8:
[0109] The terminal receives correction suggestions and notifies the user. Furthermore, it facilitates real-time information sharing, ensuring all stakeholders can proceed with the project based on the same information. This process utilizes WebSockets for instant data delivery.
[0110] This allows for the efficient execution of the entire process, from receiving requirements and analyzing them to generating and sharing proposed modifications.
[0111] (Application Example 1)
[0112] 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."
[0113] In modern manufacturing environments, workers are required to quickly and accurately update the motion plans for production equipment and robots. However, efficiently processing requirements communicated in natural language and reflecting them in motion plans is not easy. Furthermore, there is a lack of automated systems to prevent requirements from being overlooked. In this situation, improving the efficiency of requirements management is a challenge.
[0114] 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.
[0115] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the requirements and generating a requirements structure, means for obtaining a set of requirements from similar past projects and generating a comparison list, means for detecting missing requirements by comparing the requirements structure with the comparison list, means for notifying of missing requirements, means for generating automatic correction suggestions to fill in the gaps, means for sharing the correction suggestions with stakeholders, means for generating an operation plan related to production equipment, and means for presenting visualized information in real time. This makes it possible to streamline the production process within the factory, update operation plans, and prevent missing requirements.
[0116] "Means of receiving requirements using natural language" refers to a function that provides an interface that allows users to input requirements into the system using natural language.
[0117] "Methods for analyzing requirements and generating requirements structures" refers to the process of analyzing input natural language requirements and structuring them as system requirements.
[0118] "A means of obtaining requirement sets from similar past projects and generating a comparison list" refers to a function that extracts similar requirements from a database of past projects and creates a list for comparison with new requirements.
[0119] "A means of detecting missing requirements by comparing the requirements structure with a reference list" is a process of comparing the generated requirements structure with past reference lists to identify missing requirements.
[0120] "Means for notifying of missing requirements" refers to a notification mechanism within the system that alerts the user to any detected missing requirements.
[0121] "Means for generating automated correction suggestions to fill in gaps" refers to a function that automatically creates and provides specific correction proposals to fill in any missing requirements found.
[0122] "Means for sharing proposed revisions with stakeholders" refers to a communication function that enables all stakeholders to share the generated proposed revisions and respond quickly based on a shared understanding.
[0123] "Means for generating operational plans related to production equipment" refers to a function that automatically formulates the operating schedule and procedures of production equipment in order to optimize production efficiency.
[0124] "Means of presenting visualized information in real time" refers to technologies for displaying information such as analysis results and action plans to users visually in real time.
[0125] This invention is a system for improving production efficiency within a factory. The server uses a natural language processing engine and machine learning algorithms to analyze the requirements entered by the user and generate an operation plan for the production equipment based on this analysis.
[0126] Users can input requirements in natural language using smart glasses, and this interface is converted to text using a Python speech recognition library. The server receives this text and analyzes it using spaCy, a Python natural language processing library. The analyzed requirements are then structured and visualized on a web application using the Django framework.
[0127] The server also extracts similar requirements from past project databases and generates a comparison list. This allows for comparison with the new requirements structure, detecting any omissions. If omissions are found, the server generates automatic correction suggestions using a machine learning algorithm with TENSORFLOW®. These correction suggestions are notified to the user in real time and shared among stakeholders.
[0128] For example, if a factory worker inputs a requirement such as "increase the operating speed of line 3," the server will generate an appropriate operation plan based on that requirement. Furthermore, by referring to past success stories, it can also suggest additional efficiency improvements.
[0129] An example of a prompt for a generative AI model might be: "Suggest the optimal factory configuration for producing the new product, referencing successful examples from similar projects."
[0130] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0131] Step 1:
[0132] The user uses smart glasses to input requirements via voice. The voice is converted into text data using a Python speech recognition library within the smart glasses. The input to this process is voice data, and the output is text data.
[0133] Step 2:
[0134] The terminal sends text data to the server. The server parses the received text data using Python's natural language processing library (spaCy). This parsing results in the user's requirements being output as structured data. The input is text data, and the output is structured requirements data.
[0135] Step 3:
[0136] The server visualizes structured requirements data in a web application using the Django framework. This visualization includes the main categories and relationships of the requirements. The input here is structured requirements data, and the output is a visual interface.
[0137] Step 4:
[0138] The server extracts similar requirements from a past project database and generates a comparison list. The input is the past project database and structured requirements data, and the output is the comparison list.
[0139] Step 5:
[0140] The server compares the new requirements structure with the reference list to detect any missing requirements. The inputs here are the requirements structure and the reference list, and the output is a list of the missing requirements.
[0141] Step 6:
[0142] The server uses a machine learning algorithm (TensorFlow) to generate automated correction suggestions to fill in any missing requirements. The input is a list of missing requirements, and the output is the correction suggestions.
[0143] Step 7:
[0144] Revision suggestions are presented to the user in real time through a visualized interface. Furthermore, the server shares the suggestions among stakeholders. The input to this process is the generated revision suggestions, and the output is notifications to the user and information shared among stakeholders.
[0145] 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.
[0146] This invention aims to more precisely generate, refine, and verify system requirements by further analyzing requirements provided by customers in natural language using an emotion engine. Specifically, this system is implemented as follows:
[0147] When a user inputs requirements in natural language using a terminal, the terminal sends this data to the server. The server has the capability to analyze the received requirements using a natural language processing engine and generate structured requirements. In addition, the present invention incorporates an emotion engine, which is a key feature of this invention.
[0148] The emotion engine analyzes the user's emotional state when requirements are entered. For example, it recognizes the user's emotions from the tone of the text and keywords, and uses the results to dynamically adjust the priority of requirements. Based on this data, the server extracts similar sets of requirements from the past project database and generates a comparison list with the new requirements. Using this comparison list, it detects missing requirements and issues an alert if any are found to be incomplete.
[0149] Furthermore, based on the analysis results from the emotion engine, the server can automatically generate proposed revisions to the requirements and present them in a way that takes the user's emotions into consideration. For example, if the user is feeling stressed, the server may suggest simplifying the requirements.
[0150] As a concrete example, suppose a user inputs, "Intuitive usability is necessary in the design of the new system." If the emotion engine recognizes the user's emotion as "tension," the server will highly value the importance of usability and, based on the comparison list, will prioritize suggesting modifications along with other similar requirements.
[0151] As a result, the present invention can take into account the user's psychological state at the requirements definition stage, enabling more flexible and effective requirements management.
[0152] The following describes the processing flow.
[0153] Step 1:
[0154] The user uses a terminal to input requirements in natural language. The terminal sends this input as text data to the server.
[0155] Step 2:
[0156] The server receives the text data and begins analysis using a natural language processing engine. Here, the text is broken down into words and phrases, and a language model is applied to understand their meaning.
[0157] Step 3:
[0158] Simultaneously, the server uses an emotion engine to analyze the user's emotional state from the input requirement text. The emotion engine performs keyword detection and contextual analysis to extract emotions such as "urgent" or "concerned."
[0159] Step 4:
[0160] The server structures the requirements based on the analyzed requirements and the user's emotional state. It adjusts the priority of the requirements according to the emotional state and uses this result to match similar sets of requirements from past projects.
[0161] Step 5:
[0162] The server creates a comparison list using a set of requirements extracted from past projects and compares it with the structured new requirements. This comparison detects missing requirements and generates an alert if any are found.
[0163] Step 6:
[0164] If a leak is detected, the server uses a machine learning algorithm to automatically generate correction suggestions. Furthermore, it adjusts the content and order in which the suggestions are presented, taking into account the user's emotional state.
[0165] Step 7:
[0166] The server sends the generated correction suggestions and alerts to the terminal, notifying the user. The user can review these through the terminal and correct the requirements as needed.
[0167] Step 8:
[0168] The server integrates with collaboration tools to share all correction information and alerts among stakeholders. The terminal then distributes this information to project members, enabling real-time feedback.
[0169] (Example 2)
[0170] 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 device 14 as the "terminal".
[0171] Existing requirements definition processes often fail to consider users' emotions and psychological states, making it difficult to prioritize requirements and manage them effectively. Furthermore, they are prone to communication problems due to missing requirements or incomplete revision proposals.
[0172] 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.
[0173] In this invention, the server includes a device that receives requests using natural language, a device that identifies the user's emotional state using emotion analysis technology, and a device that dynamically adjusts the priority of requests based on the emotional state. This enables sophisticated requirements management that takes user emotions into account and appropriate measures to prevent requests from being missed.
[0174] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is analyzed for the purpose of computer comprehension.
[0175] "Requirement structure" refers to the format in which requirements described in natural language are analyzed, systematized, or structured.
[0176] "Emotion analysis technology" refers to technology that analyzes a user's natural language input to identify the emotions and psychological state contained within it.
[0177] "Dynamic prioritization" refers to a process of flexibly changing how requests are handled based on analyzed emotional states.
[0178] "Similar tasks" refer to the requirements and conditions from past projects or tasks, which are then compared to current requirements.
[0179] A "comparison catalog" refers to a list used to compare current requirements with sets of requirements obtained from similar past operations.
[0180] A "revised version" is a set of suggestions generated to address any omissions or shortcomings in the identified requirements.
[0181] A "learning algorithm" refers to a technology that automatically identifies patterns and rules from data and performs predictions and classifications.
[0182] The system according to this invention mainly consists of three elements: a user, a terminal, and a server. The user uses the terminal to input a request written in natural language. Specifically, the user might input, "The design of the new system requires intuitive operation." The terminal converts this natural language request into digital data and sends it to the server.
[0183] A server is generally a computer with high-performance computing resources that runs specific software. For natural language processing, generative AI models are used, including, for example, GPT (Generative Pre-trained Transformer) based engines. The server uses this engine to analyze incoming requests and generate structured request information.
[0184] In addition, the server uses sentiment analysis technology. This technology analyzes the tone and keywords of the text to identify the user's emotional state, such as "tension" or "anticipation." This allows the server to dynamically adjust the priority of requests, taking the user's emotions into consideration.
[0185] The server references past databases to retrieve request sets from similar tasks. Using this information, the server generates a comparison catalog and detects any gaps in the current request. If omissions are found, the user is notified with an alert. Furthermore, the server generates and presents automated correction suggestions to the user to fill in any missing requests. These suggestions are provided in a way that takes the user's emotions into consideration. For example, if "tension" is detected, a suggestion to simplify the request is made.
[0186] For example, if a user enters "The interface should be user-friendly," the server will take this request seriously, refer to similar past projects, and suggest feasible modifications.
[0187] An example of a prompt might be: "Please provide the sentiment analysis results while considering the following requirements: Given the need for intuitive usability in the design of the new system and the determination that the user's emotional state is tension, what modifications would you suggest?" In this way, the system achieves efficient and flexible requirements management.
[0188] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0189] Step 1:
[0190] The user uses a terminal to input system requests in natural language. For example, they might input, "The design of the new system requires intuitive operation." This input is then sent directly to the server as digital data via the terminal.
[0191] Step 2:
[0192] The server analyzes natural language data received from the terminal using a generative AI model. Specifically, it uses a GPT-based engine to convert the content of the request into structured information. The input is natural language data, and the output is structured data that semantically classifies the request.
[0193] Step 3:
[0194] The server performs sentiment analysis on the analyzed data. Based on the tone and keywords of the text, sentiment analysis technology is used to identify the user's emotional state. In this step, structured request data is used as input, and the user's emotional state (e.g., "anxious" or "anticipated") is obtained as output.
[0195] Step 4:
[0196] The server uses the results of the emotional state to prioritize requests. Based on the data obtained from the emotion analysis, it dynamically sets the priority of requests. For example, if "tension" is detected, it will decide to process a specific request with priority.
[0197] Step 5:
[0198] The server searches the historical database and extracts relevant request sets from similar operations. The input for this step is the parsed request data, and the output is a comparative catalog based on similar past requests.
[0199] Step 6:
[0200] The server uses the generated comparison catalog to detect missing requests. Through a comparison process, it compares the current set of requests with past sets to identify deficiencies and shortcomings. The output provides the locations of the detected omissions and shortcomings.
[0201] Step 7:
[0202] The server generates and presents automated corrective suggestions to the user to fill in any missing requests. The input for this step is the request data, including any omissions, and the output is the completed corrective suggestions. The suggestions are presented in a way that takes the user's emotions into account; for example, if "tension" is detected, a more concise suggestion is provided.
[0203] Each step involves clear input data, data processing and calculations based on that data, and ultimately, user requirements are managed flexibly and effectively.
[0204] (Application Example 2)
[0205] 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".
[0206] In content distribution services, there is a problem in that the psychological state of users is not adequately considered when analyzing requirements based on user requests. This makes it difficult to provide personalized content recommendations that resonate with users' emotions, and improving user satisfaction is crucial.
[0207] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0208] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the emotional state of the requirements, and means for adjusting the priority of the requirements based on the emotional state. This enables flexible and personalized content recommendations that respond to the user's emotions.
[0209] "Natural language" refers to the language that humans use on a daily basis, and is a means of expressing information in an unstructured form.
[0210] "Requirements" are the conditions and performance specifications that a system or service must meet, and are based on the user's wishes and needs.
[0211] A "requirements structure" is a model that analyzes requirements expressed in natural language and presents them in an organized format.
[0212] A "comparison list" is a reference list created to compare the requirements of similar past cases with the current requirements.
[0213] "Missing requirements" refers to a situation where necessary requirements are omitted from the specifications of a system or service.
[0214] An "automatic correction suggestion" is an improvement plan that the system automatically generates to fill in any missing requirements that have been detected.
[0215] "Emotional state" refers to a state that indicates a user's psychological mood or emotions, and is extracted by natural language processing or an emotion engine.
[0216] "Priority adjustment" means rearranging the importance of requirements hierarchically based on the detected emotional state.
[0217] "Content recommendation" is the act of suggesting the most suitable information and entertainment based on the user's emotions and preferences.
[0218] The system of the present invention includes a user terminal, a server, and various software components. The user can input requirements in natural language using the terminal, and the input requirements are sent to the server. The server analyzes the received data using a natural language processing engine and generates a requirements structure. This structures the input information, enabling detailed analysis.
[0219] Furthermore, the server uses an emotion analysis engine to perform sentiment analysis and extract emotional states corresponding to user input. Emotional states are identified based on the tone and keywords of the user's writing and are used to dynamically adjust the priority of requirements. When retrieving requirement sets from similar past projects, a comparison list is generated and used to detect missing requirements.
[0220] If a requirement is missing, the server uses a machine learning algorithm to automatically generate corrective suggestions. These suggestions are presented in a way that takes the user's emotional state into consideration; for example, explanations are simplified for users who are feeling stressed. The corrective suggestions are shared with stakeholders, enabling efficient requirements management.
[0221] For example, if a user enters "I'm tired, please suggest some relaxing content," the server will analyze this request and prioritize recommending content that will help relieve tension. An example of a prompt might be, "Please suggest the best movie based on the emotion expressed in the following sentence: I'm tired and want to change my mood." In this way, content recommendations that take the user's emotions into consideration are realized.
[0222] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0223] Step 1:
[0224] The user enters their requirements in natural language using a device. The entered requirements are sent directly to the server as data. This input data may include information such as "I want to watch a relaxing movie."
[0225] Step 2:
[0226] The server analyzes the received natural language data using a natural language processing engine. By converting the input sentences into structured data, it generates a requirements structure. Through this analysis, it identifies keywords such as "relax" and extracts specific requirement elements.
[0227] Step 3:
[0228] The server uses an emotion analysis engine to analyze the user's emotional state from their input. It analyzes tone and keywords from the input data to detect the emotion of "wanting to relax." This allows the server to understand the user's current emotional state.
[0229] Step 4:
[0230] The server retrieves a set of requirements by referencing a database of similar past cases. Based on the requirements structure and database information, it generates a comparison list. This allows it to identify requirements similar to those in the past.
[0231] Step 5:
[0232] Using the comparison list, the server detects missing requirements. For example, it might detect that "music recommendations" are missing. Subsequent processing is then performed to fill in this detected omission.
[0233] Step 6:
[0234] The server uses machine learning algorithms to automatically generate suggested modifications. Based on the user's emotional state, it creates suggested modifications with appropriate content (e.g., relaxing music). This allows for suggestions that align with the user's desired conditions.
[0235] Step 7:
[0236] The proposed revisions will be shared with relevant parties. Users and relevant departments will be notified, and a policy for providing content that meets user needs will be outlined. This sharing will facilitate the concrete implementation of the proposed revisions.
[0237] 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.
[0238] 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.
[0239] 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.
[0240] [Second Embodiment]
[0241] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0242] 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.
[0243] 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).
[0244] 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.
[0245] 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.
[0246] 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).
[0247] 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.
[0248] 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.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] 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".
[0253] This invention provides a system for receiving requirements provided by customers in natural language, and for automatically generating, reviewing, and verifying them as system requirements documents. The following describes specific embodiments of this system.
[0254] Customer requirements reception and analysis
[0255] The system provides an interface that allows users to input requirements in natural language. The terminal sends these requirements to the server, which then uses a natural language processing engine to analyze them. This analysis clarifies the meaning and intent behind the user's requirements.
[0256] Structuring and visualizing requirements
[0257] The analyzed requirements are structured by the server. The server models this as a hierarchical structure and generates information to visualize the main categories and relationships of the requirements. The terminal presents this visualization to the user, allowing them to confirm the requirements in a visually easy-to-understand manner.
[0258] Create a comparison list of past projects
[0259] The server extracts similar sets of requirements from past project databases. This generates a comparison list with the newly entered requirements, which is then used as the basis for comparison.
[0260] Detection of missing requirements
[0261] The server compares the newly generated requirements structure with the comparison list. If any requirements are missing as a result of the comparison, the server generates an alert. This alert is immediately notified to the user via the terminal.
[0262] Automatic correction suggestion generation
[0263] If any omissions are found in the requirements, the server uses a machine learning algorithm to automatically generate correction suggestions. These suggestions outline specific actions to address the detected missing requirements.
[0264] Information sharing and collaboration
[0265] The server has the capability to share generated correction suggestions and alerts among stakeholders in real time. Terminals distribute this information to team members, enabling all stakeholders to respond quickly based on the same information.
[0266] As a concrete example, suppose a user enters the requirement "a function to manage customer order history" when designing a new e-commerce platform. This requirement is analyzed and compared by the server to similar past projects. As a result, it is discovered that "a function to check product inventory information in real time" is missing. Based on this, the server automatically creates a correction suggestion and presents it to the user via the terminal. In this way, the present invention efficiently detects missing requirements and supports the success of the project.
[0267] The following describes the processing flow.
[0268] Step 1:
[0269] The user enters their requirements in natural language using a terminal. The terminal receives this input and sends it to the server as formatted data.
[0270] Step 2:
[0271] The server receives the input requirements data and begins analysis using a natural language processing engine. Here, word tokenization and grammatical analysis are performed to clarify the meaning and intent of the requirements.
[0272] Step 3:
[0273] The server structures the requirements based on the analysis results, understanding their hierarchy and relationships. This identifies the main categories of requirements.
[0274] Step 4:
[0275] The server references past project databases and extracts similar sets of requirements. This data is used to create a comparison list, which serves as a benchmark for comparing new requirements.
[0276] Step 5:
[0277] The server compares the new requirement structure with the generated contrast list to detect requirement omissions and inconsistencies. If there is an omission, the server immediately generates an alert.
[0278] Step 6:
[0279] For the detected omissions by the server, an automatic correction proposal is generated using a machine learning algorithm. This proposal indicates the new elements necessary for complementing the requirements.
[0280] Step 7:
[0281] The server sends the generated alert and correction proposal to the terminal to notify the user. The user can check this information through the terminal and modify the requirements as needed.
[0282] Step 8:
[0283] The server shares the correction proposal and alert with the project stakeholders. The terminal distributes this information to the stakeholders, enabling real-time collaboration.
[0284] (Example 1)
[0285] Next, Example 1 will be described. In the following description, the data processing device 12 is referred to as the "server", and the smart glasses 214 are referred to as the "terminal".
[0286] It is required to efficiently analyze requirements expressed in natural language and detect omissions and deficiencies. Also, in a project management process including requirement visualization and real-time information sharing, it is an issue to realize a smooth cooperation system. In the conventional method, there are many manual analysis and confirmation operations, which are time-consuming and labor-intensive, so an efficient system for automating this is needed.
[0287] The specific processing by the specific processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0288] In this invention, the server includes a device that receives requirements using natural language, a device that analyzes the requirements and generates a requirements structure, and a device that retrieves sets of requirements from similar past cases and generates a comparison table. This makes it possible to automatically analyze requirements provided in natural language, detect omissions and deficiencies, and manage requirements quickly and accurately. Furthermore, by using visualization means and communication devices, visual confirmation of requirements and real-time sharing of information become possible, supporting the smooth progress of the project.
[0289] "Natural language" refers to the language that humans use on a daily basis, which requires special analysis for computers to understand.
[0290] "Requirements" are descriptions of the events and specifications that should be achieved in a system or project, and are generally expressed in natural language.
[0291] "Analysis" refers to the process of breaking down given data or information in detail and clarifying its structure and meaning.
[0292] A "requirements structure" is a hierarchical or systematic organization of analyzed requirements, classified according to their relationships and importance.
[0293] "Past similar cases" refers to projects or tasks that have been carried out in the past and have similar characteristics and properties to the current requirements.
[0294] A "comparison table" is a list created to compare new requirements with past examples, and it serves as the basis for detecting any omissions or shortcomings in requirements.
[0295] "Visualization" refers to the process of representing data and information as graphs and diagrams to make them easier to understand visually.
[0296] "Communication equipment" refers to a system of hardware or software used to send and receive information to and from other devices or users.
[0297] "Omission" refers to a situation where a required condition is not described or considered, resulting in an incomplete state.
[0298] A "revision suggestion" refers to automatically generated solutions or improvements to address any missing or incomplete requirements that have been detected.
[0299] This invention provides a system for efficiently processing user-expressed requirements in natural language. Specifically, three main entities—a server, a terminal, and a user—interact to analyze, structure, visualize, compare, suggest modifications to, and share information about the requirements.
[0300] First, the user inputs their requirements into the system in natural language via a terminal. This interface is implemented as a web application, quickly transferring user input to the server. The server receives this input and performs natural language analysis. Specifically, it uses natural language processing technology to semantically analyze the input requirements. In this process, an open-source analysis engine is utilized to clarify the intent and importance of the requirements.
[0301] Next, the server organizes the analyzed requirements into a hierarchical structure and identifies the main categories of requirements. This structured data is used for visualization, which will be described later. Specifically, the server generates data in JSON format and sends it to the terminal.
[0302] The terminal uses data received from the server to visualize the requirements using a data visualization library. This allows the user to visually confirm the content of the requirements and make modifications as needed.
[0303] The server also accesses a database of similar past cases and compares them with the analyzed requirements. It identifies similar cases and generates a comparison table with the new requirements. This process uses a high-speed data retrieval algorithm to quickly extract the most relevant data from past cases.
[0304] When a requirement omission or deficiency is detected, the server generates a proposed modification to complement it. For this generation, a framework incorporating machine learning techniques is used to derive an optimal solution for the detected data gap. The proposed modification is sent to the terminal for the user to confirm.
[0305] Furthermore, through real-time sharing of information, smooth communication among relevant parties is achieved. The terminal uses a high-speed communication protocol to quickly share the proposed modification and related information. This enables the entire team to proceed with the project based on consistent information.
[0306] As a specific example, consider the case where at the start of designing a new e-commerce platform, a user enters "A function to manage customer order history is required". This requirement is analyzed and compared by the server with past projects. As a result, it is found that the "function to be able to check product inventory information in real time", which needs to be implemented, is missing. The server generates a proposed modification to supplement this and presents it to the user through the terminal. An example of a prompt sentence is shown below.
[0307] Prompt sentence: "Please generate the specifications of the e-commerce platform based on the following requirements. A function to manage customer order history is required."
[0308] In this way, the present invention aims to improve the efficiency and accuracy of a project through requirement processing in natural language.
[0309] The flow of specific processing in Example 1 will be described using FIG. 11.
[0310] Step 1:
[0311] The user inputs requirements in natural language. The terminal receives this input and sends it to the server as text data. The input data is in a text format that is not structured in natural language.
[0312] Step 2:
[0313] The server analyzes the received text data. This process uses a natural language processing engine to break down the text and clarify its meaning and intent. Specifically, it utilizes a generative AI model to perform syntactic analysis and word semantics. The output of this step is data that demonstrates the semantic structure of the requirements.
[0314] Step 3:
[0315] The server organizes the analyzed data into a hierarchical requirements structure. Here, it identifies the main categories and attributes of the requirements and organizes the data in JSON format. This data is then transformed into a form that is easy to visualize, becoming the output for subsequent processes.
[0316] Step 4:
[0317] The terminal receives JSON data sent from the server and performs visualization. This process utilizes a data visualization library to visually display the requirements structure as a diagram. As a result, users can review the requirements in a more easily understandable way.
[0318] Step 5:
[0319] The server accesses the database and searches for similar past cases. A search engine like Elasticsearch is used to quickly search historical data and extract similar sets of requirements. The output is a comparison list to facilitate comparison with new requirements.
[0320] Step 6:
[0321] The server compares the new requirements with the reference list. During this process, a pattern matching algorithm is used to detect missing requirements. If any missing requirements are found during the comparison, their contents are summarized and output.
[0322] Step 7:
[0323] The server generates automatic correction suggestions based on the missing requirements information. Using machine learning algorithms, it generates specific action proposals to fill the detected gaps. In this process, the optimal solution is output as data.
[0324] Step 8:
[0325] The terminal receives correction suggestions and notifies the user. Furthermore, it facilitates real-time information sharing, ensuring all stakeholders can proceed with the project based on the same information. This process utilizes WebSockets for instant data delivery.
[0326] This allows for the efficient execution of the entire process, from receiving requirements and analyzing them to generating and sharing proposed modifications.
[0327] (Application Example 1)
[0328] 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."
[0329] In modern manufacturing environments, workers are required to quickly and accurately update the motion plans for production equipment and robots. However, efficiently processing requirements communicated in natural language and reflecting them in motion plans is not easy. Furthermore, there is a lack of automated systems to prevent requirements from being overlooked. In this situation, improving the efficiency of requirements management is a challenge.
[0330] 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.
[0331] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the requirements and generating a requirements structure, means for obtaining a set of requirements from similar past projects and generating a comparison list, means for detecting missing requirements by comparing the requirements structure with the comparison list, means for notifying of missing requirements, means for generating automatic correction suggestions to fill in the gaps, means for sharing the correction suggestions with stakeholders, means for generating an operation plan related to production equipment, and means for presenting visualized information in real time. This makes it possible to streamline the production process within the factory, update operation plans, and prevent missing requirements.
[0332] "Means of receiving requirements using natural language" refers to a function that provides an interface that allows users to input requirements into the system using natural language.
[0333] "Methods for analyzing requirements and generating requirements structures" refers to the process of analyzing input natural language requirements and structuring them as system requirements.
[0334] "A means of obtaining requirement sets from similar past projects and generating a comparison list" refers to a function that extracts similar requirements from a database of past projects and creates a list for comparison with new requirements.
[0335] "A means of detecting missing requirements by comparing the requirements structure with a reference list" is a process of comparing the generated requirements structure with past reference lists to identify missing requirements.
[0336] "Means for notifying of missing requirements" refers to a notification mechanism within the system that alerts the user to any detected missing requirements.
[0337] "Means for generating automated correction suggestions to fill in gaps" refers to a function that automatically creates and provides specific correction proposals to fill in any missing requirements found.
[0338] "Means for sharing proposed revisions with stakeholders" refers to a communication function that enables all stakeholders to share the generated proposed revisions and respond quickly based on a shared understanding.
[0339] "Means for generating operational plans related to production equipment" refers to a function that automatically formulates the operating schedule and procedures of production equipment in order to optimize production efficiency.
[0340] "Means of presenting visualized information in real time" refers to technologies for displaying information such as analysis results and action plans to users visually in real time.
[0341] This invention is a system for improving production efficiency within a factory. The server uses a natural language processing engine and machine learning algorithms to analyze the requirements entered by the user and generate an operation plan for the production equipment based on this analysis.
[0342] Users can input requirements in natural language using smart glasses, and this interface is converted to text using a Python speech recognition library. The server receives this text and analyzes it using spaCy, a Python natural language processing library. The analyzed requirements are then structured and visualized on a web application using the Django framework.
[0343] The server also extracts similar requirements from past project databases and generates a comparison list. This allows for comparison with the new requirements structure, detecting any omissions. If omissions are found, the server generates automatic correction suggestions using a machine learning algorithm powered by TensorFlow. These correction suggestions are notified to the user in real time and shared among stakeholders.
[0344] For example, if a factory worker inputs a requirement such as "increase the operating speed of line 3," the server will generate an appropriate operation plan based on that requirement. Furthermore, by referring to past success stories, it can also suggest additional efficiency improvements.
[0345] An example of a prompt for a generative AI model might be: "Suggest the optimal factory configuration for producing the new product, referencing successful examples from similar projects."
[0346] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0347] Step 1:
[0348] The user uses smart glasses to input requirements via voice. The voice is converted into text data using a Python speech recognition library within the smart glasses. The input to this process is voice data, and the output is text data.
[0349] Step 2:
[0350] The terminal sends text data to the server. The server parses the received text data using Python's natural language processing library (spaCy). This parsing results in the user's requirements being output as structured data. The input is text data, and the output is structured requirements data.
[0351] Step 3:
[0352] The server visualizes structured requirements data in a web application using the Django framework. This visualization includes the main categories and relationships of the requirements. The input here is structured requirements data, and the output is a visual interface.
[0353] Step 4:
[0354] The server extracts similar requirements from a past project database and generates a comparison list. The input is the past project database and structured requirements data, and the output is the comparison list.
[0355] Step 5:
[0356] The server compares the new requirements structure with the reference list to detect any missing requirements. The inputs here are the requirements structure and the reference list, and the output is a list of the missing requirements.
[0357] Step 6:
[0358] The server uses a machine learning algorithm (TensorFlow) to generate automated correction suggestions to fill in any missing requirements. The input is a list of missing requirements, and the output is the correction suggestions.
[0359] Step 7:
[0360] Revision suggestions are presented to the user in real time through a visualized interface. Furthermore, the server shares the suggestions among stakeholders. The input to this process is the generated revision suggestions, and the output is notifications to the user and information shared among stakeholders.
[0361] 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.
[0362] This invention aims to more precisely generate, refine, and verify system requirements by further analyzing requirements provided by customers in natural language using an emotion engine. Specifically, this system is implemented as follows:
[0363] When a user inputs requirements in natural language using a terminal, the terminal sends this data to the server. The server has the capability to analyze the received requirements using a natural language processing engine and generate structured requirements. In addition, the present invention incorporates an emotion engine, which is a key feature of this invention.
[0364] The emotion engine analyzes the user's emotional state when requirements are entered. For example, it recognizes the user's emotions from the tone of the text and keywords, and uses the results to dynamically adjust the priority of requirements. Based on this data, the server extracts similar sets of requirements from the past project database and generates a comparison list with the new requirements. Using this comparison list, it detects missing requirements and issues an alert if any are found to be incomplete.
[0365] Furthermore, based on the analysis results from the emotion engine, the server can automatically generate proposed revisions to the requirements and present them in a way that takes the user's emotions into consideration. For example, if the user is feeling stressed, the server may suggest simplifying the requirements.
[0366] As a concrete example, suppose a user inputs, "Intuitive usability is necessary in the design of the new system." If the emotion engine recognizes the user's emotion as "tension," the server will highly value the importance of usability and, based on the comparison list, will prioritize suggesting modifications along with other similar requirements.
[0367] As a result, the present invention can take into account the user's psychological state at the requirements definition stage, enabling more flexible and effective requirements management.
[0368] The following describes the processing flow.
[0369] Step 1:
[0370] The user uses a terminal to input requirements in natural language. The terminal sends this input as text data to the server.
[0371] Step 2:
[0372] The server receives the text data and begins analysis using a natural language processing engine. Here, the text is broken down into words and phrases, and a language model is applied to understand their meaning.
[0373] Step 3:
[0374] Simultaneously, the server uses an emotion engine to analyze the user's emotional state from the input requirement text. The emotion engine performs keyword detection and contextual analysis to extract emotions such as "urgent" or "concerned."
[0375] Step 4:
[0376] The server structures the requirements based on the analyzed requirements and the user's emotional state. It adjusts the priority of the requirements according to the emotional state and uses this result to match similar sets of requirements from past projects.
[0377] Step 5:
[0378] The server creates a comparison list using a set of requirements extracted from past projects and compares it with the structured new requirements. This comparison detects missing requirements and generates an alert if any are found.
[0379] Step 6:
[0380] If a leak is detected, the server uses a machine learning algorithm to automatically generate correction suggestions. Furthermore, it adjusts the content and order in which the suggestions are presented, taking into account the user's emotional state.
[0381] Step 7:
[0382] The server sends the generated correction suggestions and alerts to the terminal, notifying the user. The user can review these through the terminal and correct the requirements as needed.
[0383] Step 8:
[0384] The server integrates with collaboration tools to share all correction information and alerts among stakeholders. The terminal then distributes this information to project members, enabling real-time feedback.
[0385] (Example 2)
[0386] 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".
[0387] Existing requirements definition processes often fail to consider users' emotions and psychological states, making it difficult to prioritize requirements and manage them effectively. Furthermore, they are prone to communication problems due to missing requirements or incomplete revision proposals.
[0388] 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.
[0389] In this invention, the server includes a device that receives requests using natural language, a device that identifies the user's emotional state using emotion analysis technology, and a device that dynamically adjusts the priority of requests based on the emotional state. This enables sophisticated requirements management that takes user emotions into account and appropriate measures to prevent requests from being missed.
[0390] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is analyzed for the purpose of computer comprehension.
[0391] "Requirement structure" refers to the format in which requirements described in natural language are analyzed, systematized, or structured.
[0392] "Emotion analysis technology" refers to technology that analyzes a user's natural language input to identify the emotions and psychological state contained within it.
[0393] "Dynamic prioritization" refers to a process of flexibly changing how requests are handled based on analyzed emotional states.
[0394] "Similar tasks" refer to the requirements and conditions from past projects or tasks, which are then compared to current requirements.
[0395] A "comparison catalog" refers to a list used to compare current requirements with sets of requirements obtained from similar past operations.
[0396] A "revised version" is a set of suggestions generated to address any omissions or shortcomings in the identified requirements.
[0397] A "learning algorithm" refers to a technology that automatically identifies patterns and rules from data and performs predictions and classifications.
[0398] The system according to this invention mainly consists of three elements: a user, a terminal, and a server. The user uses the terminal to input a request written in natural language. Specifically, the user might input, "The design of the new system requires intuitive operation." The terminal converts this natural language request into digital data and sends it to the server.
[0399] A server is generally a computer with high-performance computing resources that runs specific software. For natural language processing, generative AI models are used, including, for example, GPT (Generative Pre-trained Transformer) based engines. The server uses this engine to analyze incoming requests and generate structured request information.
[0400] In addition, the server uses sentiment analysis technology. This technology analyzes the tone and keywords of the text to identify the user's emotional state, such as "tension" or "anticipation." This allows the server to dynamically adjust the priority of requests, taking the user's emotions into consideration.
[0401] The server references past databases to retrieve request sets from similar tasks. Using this information, the server generates a comparison catalog and detects any gaps in the current request. If omissions are found, the user is notified with an alert. Furthermore, the server generates and presents automated correction suggestions to the user to fill in any missing requests. These suggestions are provided in a way that takes the user's emotions into consideration. For example, if "tension" is detected, a suggestion to simplify the request is made.
[0402] For example, if a user enters "The interface should be user-friendly," the server will take this request seriously, refer to similar past projects, and suggest feasible modifications.
[0403] An example of a prompt might be: "Please provide the sentiment analysis results while considering the following requirements: Given the need for intuitive usability in the design of the new system and the determination that the user's emotional state is tension, what modifications would you suggest?" In this way, the system achieves efficient and flexible requirements management.
[0404] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0405] Step 1:
[0406] The user uses a terminal to input system requests in natural language. For example, they might input, "The design of the new system requires intuitive operation." This input is then sent directly to the server as digital data via the terminal.
[0407] Step 2:
[0408] The server analyzes natural language data received from the terminal using a generative AI model. Specifically, it uses a GPT-based engine to convert the content of the request into structured information. The input is natural language data, and the output is structured data that semantically classifies the request.
[0409] Step 3:
[0410] The server performs sentiment analysis on the analyzed data. Based on the tone and keywords of the text, sentiment analysis technology is used to identify the user's emotional state. In this step, structured request data is used as input, and the user's emotional state (e.g., "anxious" or "anticipated") is obtained as output.
[0411] Step 4:
[0412] The server uses the results of the emotional state to prioritize requests. Based on the data obtained from the emotion analysis, it dynamically sets the priority of requests. For example, if "tension" is detected, it will decide to process a specific request with priority.
[0413] Step 5:
[0414] The server searches the historical database and extracts relevant request sets from similar operations. The input for this step is the parsed request data, and the output is a comparative catalog based on similar past requests.
[0415] Step 6:
[0416] The server uses the generated comparison catalog to detect missing requests. Through a comparison process, it compares the current set of requests with past sets to identify deficiencies and shortcomings. The output provides the locations of the detected omissions and shortcomings.
[0417] Step 7:
[0418] The server generates and presents automated corrective suggestions to the user to fill in any missing requests. The input for this step is the request data, including any omissions, and the output is the completed corrective suggestions. The suggestions are presented in a way that takes the user's emotions into account; for example, if "tension" is detected, a more concise suggestion is provided.
[0419] Each step involves clear input data, data processing and calculations based on that data, and ultimately, user requirements are managed flexibly and effectively.
[0420] (Application Example 2)
[0421] 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."
[0422] In content distribution services, there is a problem in that the psychological state of users is not adequately considered when analyzing requirements based on user requests. This makes it difficult to provide personalized content recommendations that resonate with users' emotions, and improving user satisfaction is crucial.
[0423] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0424] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the emotional state of the requirements, and means for adjusting the priority of the requirements based on the emotional state. This enables flexible and personalized content recommendations that respond to the user's emotions.
[0425] "Natural language" refers to the language that humans use on a daily basis, and is a means of expressing information in an unstructured form.
[0426] "Requirements" are the conditions and performance specifications that a system or service must meet, and are based on the user's wishes and needs.
[0427] A "requirements structure" is a model that analyzes requirements expressed in natural language and presents them in an organized format.
[0428] A "comparison list" is a reference list created to compare the requirements of similar past cases with the current requirements.
[0429] "Missing requirements" refers to a situation where necessary requirements are omitted from the specifications of a system or service.
[0430] An "automatic correction suggestion" is an improvement plan that the system automatically generates to fill in any missing requirements that have been detected.
[0431] "Emotional state" refers to a state that indicates a user's psychological mood or emotions, and is extracted by natural language processing or an emotion engine.
[0432] "Priority adjustment" means rearranging the importance of requirements hierarchically based on the detected emotional state.
[0433] "Content recommendation" is the act of suggesting the most suitable information and entertainment based on the user's emotions and preferences.
[0434] The system of the present invention includes a user terminal, a server, and various software components. The user can input requirements in natural language using the terminal, and the input requirements are sent to the server. The server analyzes the received data using a natural language processing engine and generates a requirements structure. This structures the input information, enabling detailed analysis.
[0435] Furthermore, the server uses an emotion analysis engine to perform sentiment analysis and extract emotional states corresponding to user input. Emotional states are identified based on the tone and keywords of the user's writing and are used to dynamically adjust the priority of requirements. When retrieving requirement sets from similar past projects, a comparison list is generated and used to detect missing requirements.
[0436] If a requirement is missing, the server uses a machine learning algorithm to automatically generate corrective suggestions. These suggestions are presented in a way that takes the user's emotional state into consideration; for example, explanations are simplified for users who are feeling stressed. The corrective suggestions are shared with stakeholders, enabling efficient requirements management.
[0437] For example, if a user enters "I'm tired, please suggest some relaxing content," the server will analyze this request and prioritize recommending content that will help relieve tension. An example of a prompt might be, "Please suggest the best movie based on the emotion expressed in the following sentence: I'm tired and want to change my mood." In this way, content recommendations that take the user's emotions into consideration are realized.
[0438] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0439] Step 1:
[0440] The user enters their requirements in natural language using a device. The entered requirements are sent directly to the server as data. This input data may include information such as "I want to watch a relaxing movie."
[0441] Step 2:
[0442] The server analyzes the received natural language data using a natural language processing engine. By converting the input sentences into structured data, it generates a requirements structure. Through this analysis, it identifies keywords such as "relax" and extracts specific requirement elements.
[0443] Step 3:
[0444] The server uses an emotion analysis engine to analyze the user's emotional state from their input. It analyzes tone and keywords from the input data to detect the emotion of "wanting to relax." This allows the server to understand the user's current emotional state.
[0445] Step 4:
[0446] The server retrieves a set of requirements by referencing a database of similar past cases. Based on the requirements structure and database information, it generates a comparison list. This allows it to identify requirements similar to those in the past.
[0447] Step 5:
[0448] Using the comparison list, the server detects missing requirements. For example, it might detect that "music recommendations" are missing. Subsequent processing is then performed to fill in this detected omission.
[0449] Step 6:
[0450] The server uses machine learning algorithms to automatically generate suggested modifications. Based on the user's emotional state, it creates suggested modifications with appropriate content (e.g., relaxing music). This allows for suggestions that align with the user's desired conditions.
[0451] Step 7:
[0452] The proposed revisions will be shared with relevant parties. Users and relevant departments will be notified, and a policy for providing content that meets user needs will be outlined. This sharing will facilitate the concrete implementation of the proposed revisions.
[0453] 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.
[0454] 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.
[0455] 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.
[0456] [Third Embodiment]
[0457] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[0458] 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.
[0459] 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).
[0460] 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.
[0461] 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.
[0462] 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).
[0463] 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.
[0464] 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.
[0465] 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.
[0466] 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.
[0467] 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.
[0468] 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".
[0469] This invention provides a system for receiving requirements provided by customers in natural language, and for automatically generating, reviewing, and verifying them as system requirements documents. The following describes specific embodiments of this system.
[0470] Customer requirements reception and analysis
[0471] The system provides an interface that allows users to input requirements in natural language. The terminal sends these requirements to the server, which then uses a natural language processing engine to analyze them. This analysis clarifies the meaning and intent behind the user's requirements.
[0472] Structuring and visualizing requirements
[0473] The analyzed requirements are structured by the server. The server models this as a hierarchical structure and generates information to visualize the main categories and relationships of the requirements. The terminal presents this visualization to the user, allowing them to confirm the requirements in a visually easy-to-understand manner.
[0474] Create a comparison list of past projects
[0475] The server extracts similar sets of requirements from past project databases. This generates a comparison list with the newly entered requirements, which is then used as the basis for comparison.
[0476] Detection of missing requirements
[0477] The server compares the newly generated requirements structure with the comparison list. If any requirements are missing as a result of the comparison, the server generates an alert. This alert is immediately notified to the user via the terminal.
[0478] Automatic correction suggestion generation
[0479] If any omissions are found in the requirements, the server uses a machine learning algorithm to automatically generate correction suggestions. These suggestions outline specific actions to address the detected missing requirements.
[0480] Information sharing and collaboration
[0481] The server has the capability to share generated correction suggestions and alerts among stakeholders in real time. Terminals distribute this information to team members, enabling all stakeholders to respond quickly based on the same information.
[0482] As a concrete example, suppose a user enters the requirement "a function to manage customer order history" when designing a new e-commerce platform. This requirement is analyzed and compared by the server to similar past projects. As a result, it is discovered that "a function to check product inventory information in real time" is missing. Based on this, the server automatically creates a correction suggestion and presents it to the user via the terminal. In this way, the present invention efficiently detects missing requirements and supports the success of the project.
[0483] The following describes the processing flow.
[0484] Step 1:
[0485] The user enters their requirements in natural language using a terminal. The terminal receives this input and sends it to the server as formatted data.
[0486] Step 2:
[0487] The server receives the input requirements data and begins analysis using a natural language processing engine. Here, word tokenization and grammatical analysis are performed to clarify the meaning and intent of the requirements.
[0488] Step 3:
[0489] The server structures the requirements based on the analysis results, understanding their hierarchy and relationships. This identifies the main categories of requirements.
[0490] Step 4:
[0491] The server references past project databases and extracts similar sets of requirements. This data is used to create a comparison list, which serves as a benchmark for comparing new requirements.
[0492] Step 5:
[0493] The server compares the new requirements structure with the generated comparison list to detect any missing or inconsistent requirements. If any are found, the server immediately generates an alert.
[0494] Step 6:
[0495] The server uses a machine learning algorithm to automatically generate remediation suggestions for any leaks it detects. These suggestions highlight new elements necessary to complement the requirements.
[0496] Step 7:
[0497] The server sends alerts and suggested fixes to the terminal, notifying the user. The user can then review this information through the terminal and modify the requirements as needed.
[0498] Step 8:
[0499] The server shares suggested fixes and alerts with project stakeholders. The terminal then distributes this information to stakeholders, enabling real-time collaboration.
[0500] (Example 1)
[0501] 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."
[0502] There is a need to efficiently analyze requirements expressed in natural language and detect omissions and shortcomings. Furthermore, a challenge lies in achieving smooth collaboration within the project management process, including requirement visualization and real-time information sharing. Traditional methods involve a significant amount of manual analysis and verification, which is time-consuming and labor-intensive; therefore, an efficient system to automate these processes is needed.
[0503] 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.
[0504] In this invention, the server includes a device that receives requirements using natural language, a device that analyzes the requirements and generates a requirements structure, and a device that retrieves sets of requirements from similar past cases and generates a comparison table. This makes it possible to automatically analyze requirements provided in natural language, detect omissions and deficiencies, and manage requirements quickly and accurately. Furthermore, by using visualization means and communication devices, visual confirmation of requirements and real-time sharing of information become possible, supporting the smooth progress of the project.
[0505] "Natural language" refers to the language that humans use on a daily basis, which requires special analysis for computers to understand.
[0506] "Requirements" are descriptions of the events and specifications that should be achieved in a system or project, and are generally expressed in natural language.
[0507] "Analysis" refers to the process of breaking down given data or information in detail and clarifying its structure and meaning.
[0508] A "requirements structure" is a hierarchical or systematic organization of analyzed requirements, classified according to their relationships and importance.
[0509] "Past similar cases" refers to projects or tasks that have been carried out in the past and have similar characteristics and properties to the current requirements.
[0510] A "comparison table" is a list created to compare new requirements with past examples, and it serves as the basis for detecting any omissions or shortcomings in requirements.
[0511] "Visualization" refers to the process of representing data and information as graphs and diagrams to make them easier to understand visually.
[0512] "Communication equipment" refers to a system of hardware or software used to send and receive information to and from other devices or users.
[0513] "Omission" refers to a situation where a required condition is not described or considered, resulting in an incomplete state.
[0514] A "revision suggestion" refers to automatically generated solutions or improvements to address any missing or incomplete requirements that have been detected.
[0515] This invention provides a system for efficiently processing user-expressed requirements in natural language. Specifically, three main entities—a server, a terminal, and a user—interact to analyze, structure, visualize, compare, suggest modifications to, and share information about the requirements.
[0516] First, the user inputs their requirements into the system in natural language via a terminal. This interface is implemented as a web application, quickly transferring user input to the server. The server receives this input and performs natural language analysis. Specifically, it uses natural language processing technology to semantically analyze the input requirements. In this process, an open-source analysis engine is utilized to clarify the intent and importance of the requirements.
[0517] Next, the server organizes the analyzed requirements into a hierarchical structure and identifies the main categories of requirements. This structured data is used for visualization, which will be described later. Specifically, the server generates data in JSON format and sends it to the terminal.
[0518] The terminal uses data received from the server to visualize the requirements using a data visualization library. This allows the user to visually confirm the content of the requirements and make modifications as needed.
[0519] The server also accesses a database of similar past cases and compares them with the analyzed requirements. It identifies similar cases and generates a comparison table with the new requirements. This process uses a high-speed data retrieval algorithm to quickly extract the most relevant data from past cases.
[0520] When missing or incomplete requirements are detected, the server generates corrective suggestions to fill them in. This generation uses a framework incorporating machine learning techniques to derive the best solution for the detected data gaps. The corrective suggestions are sent to the terminal for user review.
[0521] Furthermore, real-time information sharing enables smooth communication among stakeholders. The devices utilize high-speed communication protocols to quickly share revision suggestions and relevant information. This allows the entire team to proceed with the project based on consistent information.
[0522] As a concrete example, consider a scenario where, at the start of designing a new e-commerce platform, a user inputs the requirement, "We need a function to manage customer order history." This requirement is analyzed and compared by the server to past projects. As a result, it is discovered that a necessary feature, "the ability to check product inventory information in real time," is missing. The server generates a suggested fix to address this and presents it to the user via the terminal. An example of a prompt is shown below.
[0523] Prompt: "Generate the specifications for the e-commerce platform based on the following requirements. It needs to have a function to manage customer order history."
[0524] In this way, the present invention aims to improve the efficiency and accuracy of projects through requirements processing using natural language.
[0525] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0526] Step 1:
[0527] The user enters requirements in natural language. The terminal receives this input and sends it to the server as text data. The input data is in unstructured text format in natural language.
[0528] Step 2:
[0529] The server analyzes the received text data. This process uses a natural language processing engine to break down the text and clarify its meaning and intent. Specifically, it utilizes a generative AI model to perform syntactic analysis and word semantics. The output of this step is data that demonstrates the semantic structure of the requirements.
[0530] Step 3:
[0531] The server organizes the analyzed data into a hierarchical requirements structure. Here, it identifies the main categories and attributes of the requirements and organizes the data in JSON format. This data is then transformed into a form that is easy to visualize, becoming the output for subsequent processes.
[0532] Step 4:
[0533] The terminal receives JSON data sent from the server and performs visualization. This process utilizes a data visualization library to visually display the requirements structure as a diagram. As a result, users can review the requirements in a more easily understandable way.
[0534] Step 5:
[0535] The server accesses the database and searches for similar past cases. A search engine like Elasticsearch is used to quickly search historical data and extract similar sets of requirements. The output is a comparison list to facilitate comparison with new requirements.
[0536] Step 6:
[0537] The server compares the new requirements with the reference list. During this process, a pattern matching algorithm is used to detect missing requirements. If any missing requirements are found during the comparison, their contents are summarized and output.
[0538] Step 7:
[0539] The server generates automatic correction suggestions based on the missing requirements information. Using machine learning algorithms, it generates specific action proposals to fill the detected gaps. In this process, the optimal solution is output as data.
[0540] Step 8:
[0541] The terminal receives correction suggestions and notifies the user. Furthermore, it facilitates real-time information sharing, ensuring all stakeholders can proceed with the project based on the same information. This process utilizes WebSockets for instant data delivery.
[0542] This allows for the efficient execution of the entire process, from receiving requirements and analyzing them to generating and sharing proposed modifications.
[0543] (Application Example 1)
[0544] 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."
[0545] In modern manufacturing environments, workers are required to quickly and accurately update the motion plans for production equipment and robots. However, efficiently processing requirements communicated in natural language and reflecting them in motion plans is not easy. Furthermore, there is a lack of automated systems to prevent requirements from being overlooked. In this situation, improving the efficiency of requirements management is a challenge.
[0546] 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.
[0547] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the requirements and generating a requirements structure, means for obtaining a set of requirements from similar past projects and generating a comparison list, means for detecting missing requirements by comparing the requirements structure with the comparison list, means for notifying of missing requirements, means for generating automatic correction suggestions to fill in the gaps, means for sharing the correction suggestions with stakeholders, means for generating an operation plan related to production equipment, and means for presenting visualized information in real time. This makes it possible to streamline the production process within the factory, update operation plans, and prevent missing requirements.
[0548] "Means of receiving requirements using natural language" refers to a function that provides an interface that allows users to input requirements into the system using natural language.
[0549] "Methods for analyzing requirements and generating requirements structures" refers to the process of analyzing input natural language requirements and structuring them as system requirements.
[0550] "A means of obtaining requirement sets from similar past projects and generating a comparison list" refers to a function that extracts similar requirements from a database of past projects and creates a list for comparison with new requirements.
[0551] "A means of detecting missing requirements by comparing the requirements structure with a reference list" is a process of comparing the generated requirements structure with past reference lists to identify missing requirements.
[0552] "Means for notifying of missing requirements" refers to a notification mechanism within the system that alerts the user to any detected missing requirements.
[0553] "Means for generating automated correction suggestions to fill in gaps" refers to a function that automatically creates and provides specific correction proposals to fill in any missing requirements found.
[0554] "Means for sharing proposed revisions with stakeholders" refers to a communication function that enables all stakeholders to share the generated proposed revisions and respond quickly based on a shared understanding.
[0555] "Means for generating operational plans related to production equipment" refers to a function that automatically formulates the operating schedule and procedures of production equipment in order to optimize production efficiency.
[0556] "Means of presenting visualized information in real time" refers to technologies for displaying information such as analysis results and action plans to users visually in real time.
[0557] This invention is a system for improving production efficiency within a factory. The server uses a natural language processing engine and machine learning algorithms to analyze the requirements entered by the user and generate an operation plan for the production equipment based on this analysis.
[0558] Users can input requirements in natural language using smart glasses, and this interface is converted to text using a Python speech recognition library. The server receives this text and analyzes it using spaCy, a Python natural language processing library. The analyzed requirements are then structured and visualized on a web application using the Django framework.
[0559] The server also extracts similar requirements from past project databases and generates a comparison list. This allows for comparison with the new requirements structure, detecting any omissions. If omissions are found, the server generates automatic correction suggestions using a machine learning algorithm powered by TensorFlow. These correction suggestions are notified to the user in real time and shared among stakeholders.
[0560] For example, if a factory worker inputs a requirement such as "increase the operating speed of line 3," the server will generate an appropriate operation plan based on that requirement. Furthermore, by referring to past success stories, it can also suggest additional efficiency improvements.
[0561] An example of a prompt for a generative AI model might be: "Suggest the optimal factory configuration for producing the new product, referencing successful examples from similar projects."
[0562] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0563] Step 1:
[0564] The user uses smart glasses to input requirements via voice. The voice is converted into text data using a Python speech recognition library within the smart glasses. The input to this process is voice data, and the output is text data.
[0565] Step 2:
[0566] The terminal sends text data to the server. The server parses the received text data using Python's natural language processing library (spaCy). This parsing results in the user's requirements being output as structured data. The input is text data, and the output is structured requirements data.
[0567] Step 3:
[0568] The server visualizes structured requirements data in a web application using the Django framework. This visualization includes the main categories and relationships of the requirements. The input here is structured requirements data, and the output is a visual interface.
[0569] Step 4:
[0570] The server extracts similar requirements from a past project database and generates a comparison list. The input is the past project database and structured requirements data, and the output is the comparison list.
[0571] Step 5:
[0572] The server compares the new requirements structure with the reference list to detect any missing requirements. The inputs here are the requirements structure and the reference list, and the output is a list of the missing requirements.
[0573] Step 6:
[0574] The server uses a machine learning algorithm (TensorFlow) to generate automated correction suggestions to fill in any missing requirements. The input is a list of missing requirements, and the output is the correction suggestions.
[0575] Step 7:
[0576] Revision suggestions are presented to the user in real time through a visualized interface. Furthermore, the server shares the suggestions among stakeholders. The input to this process is the generated revision suggestions, and the output is notifications to the user and information shared among stakeholders.
[0577] 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.
[0578] This invention aims to more precisely generate, refine, and verify system requirements by further analyzing requirements provided by customers in natural language using an emotion engine. Specifically, this system is implemented as follows:
[0579] When a user inputs requirements in natural language using a terminal, the terminal sends this data to the server. The server has the capability to analyze the received requirements using a natural language processing engine and generate structured requirements. In addition, the present invention incorporates an emotion engine, which is a key feature of this invention.
[0580] The emotion engine analyzes the user's emotional state when requirements are entered. For example, it recognizes the user's emotions from the tone of the text and keywords, and uses the results to dynamically adjust the priority of requirements. Based on this data, the server extracts similar sets of requirements from the past project database and generates a comparison list with the new requirements. Using this comparison list, it detects missing requirements and issues an alert if any are found to be incomplete.
[0581] Furthermore, based on the analysis results from the emotion engine, the server can automatically generate proposed revisions to the requirements and present them in a way that takes the user's emotions into consideration. For example, if the user is feeling stressed, the server may suggest simplifying the requirements.
[0582] As a concrete example, suppose a user inputs, "Intuitive usability is necessary in the design of the new system." If the emotion engine recognizes the user's emotion as "tension," the server will highly value the importance of usability and, based on the comparison list, will prioritize suggesting modifications along with other similar requirements.
[0583] As a result, the present invention can take into account the user's psychological state at the requirements definition stage, enabling more flexible and effective requirements management.
[0584] The following describes the processing flow.
[0585] Step 1:
[0586] The user uses a terminal to input requirements in natural language. The terminal sends this input as text data to the server.
[0587] Step 2:
[0588] The server receives the text data and begins analysis using a natural language processing engine. Here, the text is broken down into words and phrases, and a language model is applied to understand their meaning.
[0589] Step 3:
[0590] Simultaneously, the server uses an emotion engine to analyze the user's emotional state from the input requirement text. The emotion engine performs keyword detection and contextual analysis to extract emotions such as "urgent" or "concerned."
[0591] Step 4:
[0592] The server structures the requirements based on the analyzed requirements and the user's emotional state. It adjusts the priority of the requirements according to the emotional state and uses this result to match similar sets of requirements from past projects.
[0593] Step 5:
[0594] The server creates a comparison list using a set of requirements extracted from past projects and compares it with the structured new requirements. This comparison detects missing requirements and generates an alert if any are found.
[0595] Step 6:
[0596] If a leak is detected, the server uses a machine learning algorithm to automatically generate correction suggestions. Furthermore, it adjusts the content and order in which the suggestions are presented, taking into account the user's emotional state.
[0597] Step 7:
[0598] The server sends the generated correction suggestions and alerts to the terminal, notifying the user. The user can review these through the terminal and correct the requirements as needed.
[0599] Step 8:
[0600] The server integrates with collaboration tools to share all correction information and alerts among stakeholders. The terminal then distributes this information to project members, enabling real-time feedback.
[0601] (Example 2)
[0602] 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."
[0603] Existing requirements definition processes often fail to consider users' emotions and psychological states, making it difficult to prioritize requirements and manage them effectively. Furthermore, they are prone to communication problems due to missing requirements or incomplete revision proposals.
[0604] 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.
[0605] In this invention, the server includes a device that receives requests using natural language, a device that identifies the user's emotional state using emotion analysis technology, and a device that dynamically adjusts the priority of requests based on the emotional state. This enables sophisticated requirements management that takes user emotions into account and appropriate measures to prevent requests from being missed.
[0606] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is analyzed for the purpose of computer comprehension.
[0607] "Requirement structure" refers to the format in which requirements described in natural language are analyzed, systematized, or structured.
[0608] "Emotion analysis technology" refers to technology that analyzes a user's natural language input to identify the emotions and psychological state contained within it.
[0609] "Dynamic prioritization" refers to a process of flexibly changing how requests are handled based on analyzed emotional states.
[0610] "Similar tasks" refer to the requirements and conditions from past projects or tasks, which are then compared to current requirements.
[0611] A "comparison catalog" refers to a list used to compare current requirements with sets of requirements obtained from similar past operations.
[0612] A "revised version" is a set of suggestions generated to address any omissions or shortcomings in the identified requirements.
[0613] A "learning algorithm" refers to a technology that automatically identifies patterns and rules from data and performs predictions and classifications.
[0614] The system according to this invention mainly consists of three elements: a user, a terminal, and a server. The user uses the terminal to input a request written in natural language. Specifically, the user might input, "The design of the new system requires intuitive operation." The terminal converts this natural language request into digital data and sends it to the server.
[0615] A server is generally a computer with high-performance computing resources that runs specific software. For natural language processing, generative AI models are used, including, for example, GPT (Generative Pre-trained Transformer) based engines. The server uses this engine to analyze incoming requests and generate structured request information.
[0616] In addition, the server uses sentiment analysis technology. This technology analyzes the tone and keywords of the text to identify the user's emotional state, such as "tension" or "anticipation." This allows the server to dynamically adjust the priority of requests, taking the user's emotions into consideration.
[0617] The server references past databases to retrieve request sets from similar tasks. Using this information, the server generates a comparison catalog and detects any gaps in the current request. If omissions are found, the user is notified with an alert. Furthermore, the server generates and presents automated correction suggestions to the user to fill in any missing requests. These suggestions are provided in a way that takes the user's emotions into consideration. For example, if "tension" is detected, a suggestion to simplify the request is made.
[0618] For example, if a user enters "The interface should be user-friendly," the server will take this request seriously, refer to similar past projects, and suggest feasible modifications.
[0619] An example of a prompt might be: "Please provide the sentiment analysis results while considering the following requirements: Given the need for intuitive usability in the design of the new system and the determination that the user's emotional state is tension, what modifications would you suggest?" In this way, the system achieves efficient and flexible requirements management.
[0620] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0621] Step 1:
[0622] The user uses a terminal to input system requests in natural language. For example, they might input, "The design of the new system requires intuitive operation." This input is then sent directly to the server as digital data via the terminal.
[0623] Step 2:
[0624] The server analyzes natural language data received from the terminal using a generative AI model. Specifically, it uses a GPT-based engine to convert the content of the request into structured information. The input is natural language data, and the output is structured data that semantically classifies the request.
[0625] Step 3:
[0626] The server performs sentiment analysis on the analyzed data. Based on the tone and keywords of the text, sentiment analysis technology is used to identify the user's emotional state. In this step, structured request data is used as input, and the user's emotional state (e.g., "anxious" or "anticipated") is obtained as output.
[0627] Step 4:
[0628] The server uses the results of the emotional state to prioritize requests. Based on the data obtained from the emotion analysis, it dynamically sets the priority of requests. For example, if "tension" is detected, it will decide to process a specific request with priority.
[0629] Step 5:
[0630] The server searches the historical database and extracts relevant request sets from similar operations. The input for this step is the parsed request data, and the output is a comparative catalog based on similar past requests.
[0631] Step 6:
[0632] The server uses the generated comparison catalog to detect missing requests. Through a comparison process, it compares the current set of requests with past sets to identify deficiencies and shortcomings. The output provides the locations of the detected omissions and shortcomings.
[0633] Step 7:
[0634] The server generates and presents automated corrective suggestions to the user to fill in any missing requests. The input for this step is the request data, including any omissions, and the output is the completed corrective suggestions. The suggestions are presented in a way that takes the user's emotions into account; for example, if "tension" is detected, a more concise suggestion is provided.
[0635] Each step involves clear input data, data processing and calculations based on that data, and ultimately, user requirements are managed flexibly and effectively.
[0636] (Application Example 2)
[0637] 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."
[0638] In content distribution services, there is a problem in that the psychological state of users is not adequately considered when analyzing requirements based on user requests. This makes it difficult to provide personalized content recommendations that resonate with users' emotions, and improving user satisfaction is crucial.
[0639] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0640] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the emotional state of the requirements, and means for adjusting the priority of the requirements based on the emotional state. This enables flexible and personalized content recommendations that respond to the user's emotions.
[0641] "Natural language" refers to the language that humans use on a daily basis, and is a means of expressing information in an unstructured form.
[0642] "Requirements" are the conditions and performance specifications that a system or service must meet, and are based on the user's wishes and needs.
[0643] A "requirements structure" is a model that analyzes requirements expressed in natural language and presents them in an organized format.
[0644] A "comparison list" is a reference list created to compare the requirements of similar past cases with the current requirements.
[0645] "Missing requirements" refers to a situation where necessary requirements are omitted from the specifications of a system or service.
[0646] An "automatic correction suggestion" is an improvement plan that the system automatically generates to fill in any missing requirements that have been detected.
[0647] "Emotional state" refers to a state that indicates a user's psychological mood or emotions, and is extracted by natural language processing or an emotion engine.
[0648] "Priority adjustment" means rearranging the importance of requirements hierarchically based on the detected emotional state.
[0649] "Content recommendation" is the act of suggesting the most suitable information and entertainment based on the user's emotions and preferences.
[0650] The system of the present invention includes a user terminal, a server, and various software components. The user can input requirements in natural language using the terminal, and the input requirements are sent to the server. The server analyzes the received data using a natural language processing engine and generates a requirements structure. This structures the input information, enabling detailed analysis.
[0651] Furthermore, the server uses an emotion analysis engine to perform sentiment analysis and extract emotional states corresponding to user input. Emotional states are identified based on the tone and keywords of the user's writing and are used to dynamically adjust the priority of requirements. When retrieving requirement sets from similar past projects, a comparison list is generated and used to detect missing requirements.
[0652] If a requirement is missing, the server uses a machine learning algorithm to automatically generate corrective suggestions. These suggestions are presented in a way that takes the user's emotional state into consideration; for example, explanations are simplified for users who are feeling stressed. The corrective suggestions are shared with stakeholders, enabling efficient requirements management.
[0653] For example, if a user enters "I'm tired, please suggest some relaxing content," the server will analyze this request and prioritize recommending content that will help relieve tension. An example of a prompt might be, "Please suggest the best movie based on the emotion expressed in the following sentence: I'm tired and want to change my mood." In this way, content recommendations that take the user's emotions into consideration are realized.
[0654] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0655] Step 1:
[0656] The user enters their requirements in natural language using a device. The entered requirements are sent directly to the server as data. This input data may include information such as "I want to watch a relaxing movie."
[0657] Step 2:
[0658] The server analyzes the received natural language data using a natural language processing engine. By converting the input sentences into structured data, it generates a requirements structure. Through this analysis, it identifies keywords such as "relax" and extracts specific requirement elements.
[0659] Step 3:
[0660] The server uses an emotion analysis engine to analyze the user's emotional state from their input. It analyzes tone and keywords from the input data to detect the emotion of "wanting to relax." This allows the server to understand the user's current emotional state.
[0661] Step 4:
[0662] The server retrieves a set of requirements by referencing a database of similar past cases. Based on the requirements structure and database information, it generates a comparison list. This allows it to identify requirements similar to those in the past.
[0663] Step 5:
[0664] Using the comparison list, the server detects missing requirements. For example, it might detect that "music recommendations" are missing. Subsequent processing is then performed to fill in this detected omission.
[0665] Step 6:
[0666] The server uses machine learning algorithms to automatically generate suggested modifications. Based on the user's emotional state, it creates suggested modifications with appropriate content (e.g., relaxing music). This allows for suggestions that align with the user's desired conditions.
[0667] Step 7:
[0668] The proposed revisions will be shared with relevant parties. Users and relevant departments will be notified, and a policy for providing content that meets user needs will be outlined. This sharing will facilitate the concrete implementation of the proposed revisions.
[0669] 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.
[0670] 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.
[0671] 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.
[0672] [Fourth Embodiment]
[0673] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[0674] 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.
[0675] 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).
[0676] 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.
[0677] 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.
[0678] 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).
[0679] 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.
[0680] 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.
[0681] 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.
[0682] 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.
[0683] 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.
[0684] 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.
[0685] 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".
[0686] This invention provides a system for receiving requirements provided by customers in natural language, and for automatically generating, reviewing, and verifying them as system requirements documents. The following describes specific embodiments of this system.
[0687] Customer requirements reception and analysis
[0688] The system provides an interface that allows users to input requirements in natural language. The terminal sends these requirements to the server, which then uses a natural language processing engine to analyze them. This analysis clarifies the meaning and intent behind the user's requirements.
[0689] Structuring and visualizing requirements
[0690] The analyzed requirements are structured by the server. The server models this as a hierarchical structure and generates information to visualize the main categories and relationships of the requirements. The terminal presents this visualization to the user, allowing them to confirm the requirements in a visually easy-to-understand manner.
[0691] Create a comparison list of past projects
[0692] The server extracts similar sets of requirements from past project databases. This generates a comparison list with the newly entered requirements, which is then used as the basis for comparison.
[0693] Detection of missing requirements
[0694] The server compares the newly generated requirements structure with the comparison list. If any requirements are missing as a result of the comparison, the server generates an alert. This alert is immediately notified to the user via the terminal.
[0695] Automatic correction suggestion generation
[0696] If any omissions are found in the requirements, the server uses a machine learning algorithm to automatically generate correction suggestions. These suggestions outline specific actions to address the detected missing requirements.
[0697] Information sharing and collaboration
[0698] The server has the capability to share generated correction suggestions and alerts among stakeholders in real time. Terminals distribute this information to team members, enabling all stakeholders to respond quickly based on the same information.
[0699] As a concrete example, suppose a user enters the requirement "a function to manage customer order history" when designing a new e-commerce platform. This requirement is analyzed and compared by the server to similar past projects. As a result, it is discovered that "a function to check product inventory information in real time" is missing. Based on this, the server automatically creates a correction suggestion and presents it to the user via the terminal. In this way, the present invention efficiently detects missing requirements and supports the success of the project.
[0700] The following describes the processing flow.
[0701] Step 1:
[0702] The user enters their requirements in natural language using a terminal. The terminal receives this input and sends it to the server as formatted data.
[0703] Step 2:
[0704] The server receives the input requirements data and begins analysis using a natural language processing engine. Here, word tokenization and grammatical analysis are performed to clarify the meaning and intent of the requirements.
[0705] Step 3:
[0706] The server structures the requirements based on the analysis results, understanding their hierarchy and relationships. This identifies the main categories of requirements.
[0707] Step 4:
[0708] The server references past project databases and extracts similar sets of requirements. This data is used to create a comparison list, which serves as a benchmark for comparing new requirements.
[0709] Step 5:
[0710] The server compares the new requirements structure with the generated comparison list to detect any missing or inconsistent requirements. If any are found, the server immediately generates an alert.
[0711] Step 6:
[0712] The server uses a machine learning algorithm to automatically generate remediation suggestions for any leaks it detects. These suggestions highlight new elements necessary to complement the requirements.
[0713] Step 7:
[0714] The server sends alerts and suggested fixes to the terminal, notifying the user. The user can then review this information through the terminal and modify the requirements as needed.
[0715] Step 8:
[0716] The server shares suggested fixes and alerts with project stakeholders. The terminal then distributes this information to stakeholders, enabling real-time collaboration.
[0717] (Example 1)
[0718] 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".
[0719] There is a need to efficiently analyze requirements expressed in natural language and detect omissions and shortcomings. Furthermore, a challenge lies in achieving smooth collaboration within the project management process, including requirement visualization and real-time information sharing. Traditional methods involve a significant amount of manual analysis and verification, which is time-consuming and labor-intensive; therefore, an efficient system to automate these processes is needed.
[0720] 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.
[0721] In this invention, the server includes a device that receives requirements using natural language, a device that analyzes the requirements and generates a requirements structure, and a device that retrieves sets of requirements from similar past cases and generates a comparison table. This makes it possible to automatically analyze requirements provided in natural language, detect omissions and deficiencies, and manage requirements quickly and accurately. Furthermore, by using visualization means and communication devices, visual confirmation of requirements and real-time sharing of information become possible, supporting the smooth progress of the project.
[0722] "Natural language" refers to the language that humans use on a daily basis, which requires special analysis for computers to understand.
[0723] "Requirements" are descriptions of the events and specifications that should be achieved in a system or project, and are generally expressed in natural language.
[0724] "Analysis" refers to the process of breaking down given data or information in detail and clarifying its structure and meaning.
[0725] A "requirements structure" is a hierarchical or systematic organization of analyzed requirements, classified according to their relationships and importance.
[0726] "Past similar cases" refers to projects or tasks that have been carried out in the past and have similar characteristics and properties to the current requirements.
[0727] A "comparison table" is a list created to compare new requirements with past examples, and it serves as the basis for detecting any omissions or shortcomings in requirements.
[0728] "Visualization" refers to the process of representing data and information as graphs and diagrams to make them easier to understand visually.
[0729] "Communication equipment" refers to a system of hardware or software used to send and receive information to and from other devices or users.
[0730] "Omission" refers to a situation where a required condition is not described or considered, resulting in an incomplete state.
[0731] A "revision suggestion" refers to automatically generated solutions or improvements to address any missing or incomplete requirements that have been detected.
[0732] This invention provides a system for efficiently processing user-expressed requirements in natural language. Specifically, three main entities—a server, a terminal, and a user—interact to analyze, structure, visualize, compare, suggest modifications to, and share information about the requirements.
[0733] First, the user inputs their requirements into the system in natural language via a terminal. This interface is implemented as a web application, quickly transferring user input to the server. The server receives this input and performs natural language analysis. Specifically, it uses natural language processing technology to semantically analyze the input requirements. In this process, an open-source analysis engine is utilized to clarify the intent and importance of the requirements.
[0734] Next, the server organizes the analyzed requirements into a hierarchical structure and identifies the main categories of requirements. This structured data is used for visualization, which will be described later. Specifically, the server generates data in JSON format and sends it to the terminal.
[0735] The terminal uses data received from the server to visualize the requirements using a data visualization library. This allows the user to visually confirm the content of the requirements and make modifications as needed.
[0736] The server also accesses a database of similar past cases and compares them with the analyzed requirements. It identifies similar cases and generates a comparison table with the new requirements. This process uses a high-speed data retrieval algorithm to quickly extract the most relevant data from past cases.
[0737] When missing or incomplete requirements are detected, the server generates corrective suggestions to fill them in. This generation uses a framework incorporating machine learning techniques to derive the best solution for the detected data gaps. The corrective suggestions are sent to the terminal for user review.
[0738] Furthermore, real-time information sharing enables smooth communication among stakeholders. The devices utilize high-speed communication protocols to quickly share revision suggestions and relevant information. This allows the entire team to proceed with the project based on consistent information.
[0739] As a concrete example, consider a scenario where, at the start of designing a new e-commerce platform, a user inputs the requirement, "We need a function to manage customer order history." This requirement is analyzed and compared by the server to past projects. As a result, it is discovered that a necessary feature, "the ability to check product inventory information in real time," is missing. The server generates a suggested fix to address this and presents it to the user via the terminal. An example of a prompt is shown below.
[0740] Prompt: "Generate the specifications for the e-commerce platform based on the following requirements. It needs to have a function to manage customer order history."
[0741] In this way, the present invention aims to improve the efficiency and accuracy of projects through requirements processing using natural language.
[0742] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0743] Step 1:
[0744] The user enters requirements in natural language. The terminal receives this input and sends it to the server as text data. The input data is in unstructured text format in natural language.
[0745] Step 2:
[0746] The server analyzes the received text data. This process uses a natural language processing engine to break down the text and clarify its meaning and intent. Specifically, it utilizes a generative AI model to perform syntactic analysis and word semantics. The output of this step is data that demonstrates the semantic structure of the requirements.
[0747] Step 3:
[0748] The server organizes the analyzed data into a hierarchical requirements structure. Here, it identifies the main categories and attributes of the requirements and organizes the data in JSON format. This data is then transformed into a form that is easy to visualize, becoming the output for subsequent processes.
[0749] Step 4:
[0750] The terminal receives JSON data sent from the server and performs visualization. This process utilizes a data visualization library to visually display the requirements structure as a diagram. As a result, users can review the requirements in a more easily understandable way.
[0751] Step 5:
[0752] The server accesses the database and searches for similar past cases. A search engine like Elasticsearch is used to quickly search historical data and extract similar sets of requirements. The output is a comparison list to facilitate comparison with new requirements.
[0753] Step 6:
[0754] The server compares the new requirements with the reference list. During this process, a pattern matching algorithm is used to detect missing requirements. If any missing requirements are found during the comparison, their contents are summarized and output.
[0755] Step 7:
[0756] The server generates automatic correction suggestions based on the missing requirements information. Using machine learning algorithms, it generates specific action proposals to fill the detected gaps. In this process, the optimal solution is output as data.
[0757] Step 8:
[0758] The terminal receives correction suggestions and notifies the user. Furthermore, it facilitates real-time information sharing, ensuring all stakeholders can proceed with the project based on the same information. This process utilizes WebSockets for instant data delivery.
[0759] This allows for the efficient execution of the entire process, from receiving requirements and analyzing them to generating and sharing proposed modifications.
[0760] (Application Example 1)
[0761] 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".
[0762] In modern manufacturing environments, workers are required to quickly and accurately update the motion plans for production equipment and robots. However, efficiently processing requirements communicated in natural language and reflecting them in motion plans is not easy. Furthermore, there is a lack of automated systems to prevent requirements from being overlooked. In this situation, improving the efficiency of requirements management is a challenge.
[0763] 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.
[0764] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the requirements and generating a requirements structure, means for obtaining a set of requirements from similar past projects and generating a comparison list, means for detecting missing requirements by comparing the requirements structure with the comparison list, means for notifying of missing requirements, means for generating automatic correction suggestions to fill in the gaps, means for sharing the correction suggestions with stakeholders, means for generating an operation plan related to production equipment, and means for presenting visualized information in real time. This makes it possible to streamline the production process within the factory, update operation plans, and prevent missing requirements.
[0765] "Means of receiving requirements using natural language" refers to a function that provides an interface that allows users to input requirements into the system using natural language.
[0766] "Methods for analyzing requirements and generating requirements structures" refers to the process of analyzing input natural language requirements and structuring them as system requirements.
[0767] "A means of obtaining requirement sets from similar past projects and generating a comparison list" refers to a function that extracts similar requirements from a database of past projects and creates a list for comparison with new requirements.
[0768] "A means of detecting missing requirements by comparing the requirements structure with a reference list" is a process of comparing the generated requirements structure with past reference lists to identify missing requirements.
[0769] "Means for notifying of missing requirements" refers to a notification mechanism within the system that alerts the user to any detected missing requirements.
[0770] "Means for generating automated correction suggestions to fill in gaps" refers to a function that automatically creates and provides specific correction proposals to fill in any missing requirements found.
[0771] "Means for sharing proposed revisions with stakeholders" refers to a communication function that enables all stakeholders to share the generated proposed revisions and respond quickly based on a shared understanding.
[0772] "Means for generating operational plans related to production equipment" refers to a function that automatically formulates the operating schedule and procedures of production equipment in order to optimize production efficiency.
[0773] "Means of presenting visualized information in real time" refers to technologies for displaying information such as analysis results and action plans to users visually in real time.
[0774] This invention is a system for improving production efficiency within a factory. The server uses a natural language processing engine and machine learning algorithms to analyze the requirements entered by the user and generate an operation plan for the production equipment based on this analysis.
[0775] Users can input requirements in natural language using smart glasses, and this interface is converted to text using a Python speech recognition library. The server receives this text and analyzes it using spaCy, a Python natural language processing library. The analyzed requirements are then structured and visualized on a web application using the Django framework.
[0776] The server also extracts similar requirements from past project databases and generates a comparison list. This allows for comparison with the new requirements structure, detecting any omissions. If omissions are found, the server generates automatic correction suggestions using a machine learning algorithm powered by TensorFlow. These correction suggestions are notified to the user in real time and shared among stakeholders.
[0777] For example, if a factory worker inputs a requirement such as "increase the operating speed of line 3," the server will generate an appropriate operation plan based on that requirement. Furthermore, by referring to past success stories, it can also suggest additional efficiency improvements.
[0778] An example of a prompt for a generative AI model might be: "Suggest the optimal factory configuration for producing the new product, referencing successful examples from similar projects."
[0779] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0780] Step 1:
[0781] The user uses smart glasses to input requirements via voice. The voice is converted into text data using a Python speech recognition library within the smart glasses. The input to this process is voice data, and the output is text data.
[0782] Step 2:
[0783] The terminal sends text data to the server. The server parses the received text data using Python's natural language processing library (spaCy). This parsing results in the user's requirements being output as structured data. The input is text data, and the output is structured requirements data.
[0784] Step 3:
[0785] The server visualizes structured requirements data in a web application using the Django framework. This visualization includes the main categories and relationships of the requirements. The input here is structured requirements data, and the output is a visual interface.
[0786] Step 4:
[0787] The server extracts similar requirements from a past project database and generates a comparison list. The input is the past project database and structured requirements data, and the output is the comparison list.
[0788] Step 5:
[0789] The server compares the new requirements structure with the reference list to detect any missing requirements. The inputs here are the requirements structure and the reference list, and the output is a list of the missing requirements.
[0790] Step 6:
[0791] The server uses a machine learning algorithm (TensorFlow) to generate automated correction suggestions to fill in any missing requirements. The input is a list of missing requirements, and the output is the correction suggestions.
[0792] Step 7:
[0793] Revision suggestions are presented to the user in real time through a visualized interface. Furthermore, the server shares the suggestions among stakeholders. The input to this process is the generated revision suggestions, and the output is notifications to the user and information shared among stakeholders.
[0794] 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.
[0795] This invention aims to more precisely generate, refine, and verify system requirements by further analyzing requirements provided by customers in natural language using an emotion engine. Specifically, this system is implemented as follows:
[0796] When a user inputs requirements in natural language using a terminal, the terminal sends this data to the server. The server has the capability to analyze the received requirements using a natural language processing engine and generate structured requirements. In addition, the present invention incorporates an emotion engine, which is a key feature of this invention.
[0797] The emotion engine analyzes the user's emotional state when requirements are entered. For example, it recognizes the user's emotions from the tone of the text and keywords, and uses the results to dynamically adjust the priority of requirements. Based on this data, the server extracts similar sets of requirements from the past project database and generates a comparison list with the new requirements. Using this comparison list, it detects missing requirements and issues an alert if any are found to be incomplete.
[0798] Furthermore, based on the analysis results from the emotion engine, the server can automatically generate proposed revisions to the requirements and present them in a way that takes the user's emotions into consideration. For example, if the user is feeling stressed, the server may suggest simplifying the requirements.
[0799] As a concrete example, suppose a user inputs, "Intuitive usability is necessary in the design of the new system." If the emotion engine recognizes the user's emotion as "tension," the server will highly value the importance of usability and, based on the comparison list, will prioritize suggesting modifications along with other similar requirements.
[0800] As a result, the present invention can take into account the user's psychological state at the requirements definition stage, enabling more flexible and effective requirements management.
[0801] The following describes the processing flow.
[0802] Step 1:
[0803] The user uses a terminal to input requirements in natural language. The terminal sends this input as text data to the server.
[0804] Step 2:
[0805] The server receives the text data and begins analysis using a natural language processing engine. Here, the text is broken down into words and phrases, and a language model is applied to understand their meaning.
[0806] Step 3:
[0807] Simultaneously, the server uses an emotion engine to analyze the user's emotional state from the input requirement text. The emotion engine performs keyword detection and contextual analysis to extract emotions such as "urgent" or "concerned."
[0808] Step 4:
[0809] The server structures the requirements based on the analyzed requirements and the user's emotional state. It adjusts the priority of the requirements according to the emotional state and uses this result to match similar sets of requirements from past projects.
[0810] Step 5:
[0811] The server creates a comparison list using a set of requirements extracted from past projects and compares it with the structured new requirements. This comparison detects missing requirements and generates an alert if any are found.
[0812] Step 6:
[0813] If a leak is detected, the server uses a machine learning algorithm to automatically generate correction suggestions. Furthermore, it adjusts the content and order in which the suggestions are presented, taking into account the user's emotional state.
[0814] Step 7:
[0815] The server sends the generated correction suggestions and alerts to the terminal, notifying the user. The user can review these through the terminal and correct the requirements as needed.
[0816] Step 8:
[0817] The server integrates with collaboration tools to share all correction information and alerts among stakeholders. The terminal then distributes this information to project members, enabling real-time feedback.
[0818] (Example 2)
[0819] 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".
[0820] Existing requirements definition processes often fail to consider users' emotions and psychological states, making it difficult to prioritize requirements and manage them effectively. Furthermore, they are prone to communication problems due to missing requirements or incomplete revision proposals.
[0821] 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.
[0822] In this invention, the server includes a device that receives requests using natural language, a device that identifies the user's emotional state using emotion analysis technology, and a device that dynamically adjusts the priority of requests based on the emotional state. This enables sophisticated requirements management that takes user emotions into account and appropriate measures to prevent requests from being missed.
[0823] "Natural language" refers to the linguistic forms that humans use on a daily basis, and is analyzed for the purpose of computer comprehension.
[0824] "Requirement structure" refers to the format in which requirements described in natural language are analyzed, systematized, or structured.
[0825] "Emotion analysis technology" refers to technology that analyzes a user's natural language input to identify the emotions and psychological state contained within it.
[0826] "Dynamic prioritization" refers to a process of flexibly changing how requests are handled based on analyzed emotional states.
[0827] "Similar tasks" refer to the requirements and conditions from past projects or tasks, which are then compared to current requirements.
[0828] A "comparison catalog" refers to a list used to compare current requirements with sets of requirements obtained from similar past operations.
[0829] A "revised version" is a set of suggestions generated to address any omissions or shortcomings in the identified requirements.
[0830] A "learning algorithm" refers to a technology that automatically identifies patterns and rules from data and performs predictions and classifications.
[0831] The system according to this invention mainly consists of three elements: a user, a terminal, and a server. The user uses the terminal to input a request written in natural language. Specifically, the user might input, "The design of the new system requires intuitive operation." The terminal converts this natural language request into digital data and sends it to the server.
[0832] A server is generally a computer with high-performance computing resources that runs specific software. For natural language processing, generative AI models are used, including, for example, GPT (Generative Pre-trained Transformer) based engines. The server uses this engine to analyze incoming requests and generate structured request information.
[0833] In addition, the server uses sentiment analysis technology. This technology analyzes the tone and keywords of the text to identify the user's emotional state, such as "tension" or "anticipation." This allows the server to dynamically adjust the priority of requests, taking the user's emotions into consideration.
[0834] The server references past databases to retrieve request sets from similar tasks. Using this information, the server generates a comparison catalog and detects any gaps in the current request. If omissions are found, the user is notified with an alert. Furthermore, the server generates and presents automated correction suggestions to the user to fill in any missing requests. These suggestions are provided in a way that takes the user's emotions into consideration. For example, if "tension" is detected, a suggestion to simplify the request is made.
[0835] For example, if a user enters "The interface should be user-friendly," the server will take this request seriously, refer to similar past projects, and suggest feasible modifications.
[0836] An example of a prompt might be: "Please provide the sentiment analysis results while considering the following requirements: Given the need for intuitive usability in the design of the new system and the determination that the user's emotional state is tension, what modifications would you suggest?" In this way, the system achieves efficient and flexible requirements management.
[0837] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0838] Step 1:
[0839] The user uses a terminal to input system requests in natural language. For example, they might input, "The design of the new system requires intuitive operation." This input is then sent directly to the server as digital data via the terminal.
[0840] Step 2:
[0841] The server analyzes natural language data received from the terminal using a generative AI model. Specifically, it uses a GPT-based engine to convert the content of the request into structured information. The input is natural language data, and the output is structured data that semantically classifies the request.
[0842] Step 3:
[0843] The server performs sentiment analysis on the analyzed data. Based on the tone and keywords of the text, sentiment analysis technology is used to identify the user's emotional state. In this step, structured request data is used as input, and the user's emotional state (e.g., "anxious" or "anticipated") is obtained as output.
[0844] Step 4:
[0845] The server uses the results of the emotional state to prioritize requests. Based on the data obtained from the emotion analysis, it dynamically sets the priority of requests. For example, if "tension" is detected, it will decide to process a specific request with priority.
[0846] Step 5:
[0847] The server searches the historical database and extracts relevant request sets from similar operations. The input for this step is the parsed request data, and the output is a comparative catalog based on similar past requests.
[0848] Step 6:
[0849] The server uses the generated comparison catalog to detect missing requests. Through a comparison process, it compares the current set of requests with past sets to identify deficiencies and shortcomings. The output provides the locations of the detected omissions and shortcomings.
[0850] Step 7:
[0851] The server generates and presents automated corrective suggestions to the user to fill in any missing requests. The input for this step is the request data, including any omissions, and the output is the completed corrective suggestions. The suggestions are presented in a way that takes the user's emotions into account; for example, if "tension" is detected, a more concise suggestion is provided.
[0852] Each step involves clear input data, data processing and calculations based on that data, and ultimately, user requirements are managed flexibly and effectively.
[0853] (Application Example 2)
[0854] 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".
[0855] In content distribution services, there is a problem in that the psychological state of users is not adequately considered when analyzing requirements based on user requests. This makes it difficult to provide personalized content recommendations that resonate with users' emotions, and improving user satisfaction is crucial.
[0856] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means.
[0857] In this invention, the server includes means for receiving requirements using natural language, means for analyzing the emotional state of the requirements, and means for adjusting the priority of the requirements based on the emotional state. This enables flexible and personalized content recommendations that respond to the user's emotions.
[0858] "Natural language" refers to the language that humans use on a daily basis, and is a means of expressing information in an unstructured form.
[0859] "Requirements" are the conditions and performance specifications that a system or service must meet, and are based on the user's wishes and needs.
[0860] A "requirements structure" is a model that analyzes requirements expressed in natural language and presents them in an organized format.
[0861] A "comparison list" is a reference list created to compare the requirements of similar past cases with the current requirements.
[0862] "Missing requirements" refers to a situation where necessary requirements are omitted from the specifications of a system or service.
[0863] An "automatic correction suggestion" is an improvement plan that the system automatically generates to fill in any missing requirements that have been detected.
[0864] "Emotional state" refers to a state that indicates a user's psychological mood or emotions, and is extracted by natural language processing or an emotion engine.
[0865] "Priority adjustment" means rearranging the importance of requirements hierarchically based on the detected emotional state.
[0866] "Content recommendation" is the act of suggesting the most suitable information and entertainment based on the user's emotions and preferences.
[0867] The system of the present invention includes a user terminal, a server, and various software components. The user can input requirements in natural language using the terminal, and the input requirements are sent to the server. The server analyzes the received data using a natural language processing engine and generates a requirements structure. This structures the input information, enabling detailed analysis.
[0868] Furthermore, the server uses an emotion analysis engine to perform sentiment analysis and extract emotional states corresponding to user input. Emotional states are identified based on the tone and keywords of the user's writing and are used to dynamically adjust the priority of requirements. When retrieving requirement sets from similar past projects, a comparison list is generated and used to detect missing requirements.
[0869] If a requirement is missing, the server uses a machine learning algorithm to automatically generate corrective suggestions. These suggestions are presented in a way that takes the user's emotional state into consideration; for example, explanations are simplified for users who are feeling stressed. The corrective suggestions are shared with stakeholders, enabling efficient requirements management.
[0870] For example, if a user enters "I'm tired, please suggest some relaxing content," the server will analyze this request and prioritize recommending content that will help relieve tension. An example of a prompt might be, "Please suggest the best movie based on the emotion expressed in the following sentence: I'm tired and want to change my mood." In this way, content recommendations that take the user's emotions into consideration are realized.
[0871] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0872] Step 1:
[0873] The user enters their requirements in natural language using a device. The entered requirements are sent directly to the server as data. This input data may include information such as "I want to watch a relaxing movie."
[0874] Step 2:
[0875] The server analyzes the received natural language data using a natural language processing engine. By converting the input sentences into structured data, it generates a requirements structure. Through this analysis, it identifies keywords such as "relax" and extracts specific requirement elements.
[0876] Step 3:
[0877] The server uses an emotion analysis engine to analyze the user's emotional state from their input. It analyzes tone and keywords from the input data to detect the emotion of "wanting to relax." This allows the server to understand the user's current emotional state.
[0878] Step 4:
[0879] The server retrieves a set of requirements by referencing a database of similar past cases. Based on the requirements structure and database information, it generates a comparison list. This allows it to identify requirements similar to those in the past.
[0880] Step 5:
[0881] Using the comparison list, the server detects missing requirements. For example, it might detect that "music recommendations" are missing. Subsequent processing is then performed to fill in this detected omission.
[0882] Step 6:
[0883] The server uses machine learning algorithms to automatically generate suggested modifications. Based on the user's emotional state, it creates suggested modifications with appropriate content (e.g., relaxing music). This allows for suggestions that align with the user's desired conditions.
[0884] Step 7:
[0885] The proposed revisions will be shared with relevant parties. Users and relevant departments will be notified, and a policy for providing content that meets user needs will be outlined. This sharing will facilitate the concrete implementation of the proposed revisions.
[0886] 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.
[0887] 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.
[0888] 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 robot 414.
[0889] 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.
[0890] 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.
[0891] 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.
[0892] 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.
[0893] 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.
[0894] 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."
[0895] 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.
[0896] 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.
[0897] 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.
[0898] 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.
[0899] 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.
[0900] 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.
[0901] 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.
[0902] 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.
[0903] 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.
[0904] 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.
[0905] 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.
[0906] 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.
[0907] The following is further disclosed regarding the embodiments described above.
[0908] (Claim 1)
[0909] A means of receiving requirements using natural language,
[0910] A means for analyzing the aforementioned requirements and generating a requirements structure,
[0911] A means of obtaining a set of requirements from similar past projects and generating a comparison list,
[0912] A means for detecting missing requirements by comparing the aforementioned requirements structure with a comparison list,
[0913] Means of notifying of missing requirements,
[0914] Means for generating automatic correction suggestions to compensate for the aforementioned omissions,
[0915] A means of sharing the aforementioned proposed revisions with relevant parties,
[0916] A system that includes this.
[0917] (Claim 2)
[0918] The system according to claim 1, characterized in that the requirements analysis using natural language is performed using a natural language processing engine.
[0919] (Claim 3)
[0920] The system according to claim 1, characterized in that the automatic correction suggestions are generated using a machine learning algorithm.
[0921] "Example 1"
[0922] (Claim 1)
[0923] A device that accepts requirements using natural language,
[0924] A device that analyzes the aforementioned requirements and generates a requirements structure,
[0925] A device that retrieves a set of requirements from similar past cases and generates a comparison table,
[0926] A device that detects deficiencies in requirements by comparing the requirements structure with the comparison table,
[0927] A device that notifies of missing requirements,
[0928] A device that generates automatic correction suggestions to compensate for the aforementioned deficiencies,
[0929] A device for sharing the aforementioned proposed revisions with relevant parties,
[0930] A device that visualizes requirements using visualization means,
[0931] A communication device for distributing information in real time,
[0932] A system that includes this.
[0933] (Claim 2)
[0934] The system according to claim 1, characterized in that the analysis of requirements using natural language is performed using a language processing engine.
[0935] (Claim 3)
[0936] The system according to claim 1, characterized in that the automatic correction suggestion is generated using a learning device.
[0937] "Application Example 1"
[0938] (Claim 1)
[0939] A means of receiving requirements using natural language,
[0940] A means for analyzing the aforementioned requirements and generating a requirements structure,
[0941] A means of obtaining a set of requirements from similar past projects and generating a comparison list,
[0942] A means for detecting missing requirements by comparing the aforementioned requirements structure with a comparison list,
[0943] Means of notifying of missing requirements,
[0944] Means for generating automatic correction suggestions to compensate for the aforementioned omissions,
[0945] A means of sharing the aforementioned proposed revisions with relevant parties,
[0946] Means for generating operation plans related to production equipment,
[0947] A means of presenting information visualized in real time,
[0948] A system that includes this.
[0949] (Claim 2)
[0950] The system according to claim 1, characterized in that the requirements analysis using natural language is performed using a natural language processing engine.
[0951] (Claim 3)
[0952] The system according to claim 1, characterized in that the automatic correction suggestions are generated using a machine learning algorithm.
[0953] "Example 2 of combining an emotion engine"
[0954] (Claim 1)
[0955] A device that accepts requests using natural language,
[0956] A device that analyzes the aforementioned requirements and generates a requirements structure,
[0957] A device that identifies a user's emotional state using emotion analysis technology,
[0958] A device that dynamically adjusts the priority of requests based on the aforementioned emotional state,
[0959] A device that retrieves a set of requests from similar past operations and generates a comparison catalog,
[0960] A device that detects missing requirements by comparing the requirements structure with a comparison catalog,
[0961] A device that notifies of missed requests,
[0962] A device for generating automatic correction proposals to compensate for the aforementioned omissions,
[0963] A device that presents the aforementioned revised proposal in a manner that takes into consideration the user's feelings,
[0964] A system that includes this.
[0965] (Claim 2)
[0966] The system according to claim 1, characterized in that the request analysis using natural language is performed using a generative AI system.
[0967] (Claim 3)
[0968] The system according to claim 1, characterized in that the automatically corrected suggestions are generated using a learning algorithm.
[0969] "Application example 2 when combining with an emotional engine"
[0970] (Claim 1)
[0971] A means of receiving requirements using natural language,
[0972] A means for analyzing the aforementioned requirements and generating a requirements structure,
[0973] A means of obtaining a set of requirements from similar past cases and generating a comparison list,
[0974] A means for detecting missing requirements by comparing the aforementioned requirements structure with a comparison list,
[0975] Means of notifying of missing requirements,
[0976] Means for generating automatic correction suggestions to fill in the aforementioned omissions,
[0977] A means of sharing the aforementioned proposed revisions with relevant parties,
[0978] A means of analyzing the emotional state of requirements received from users,
[0979] Means for adjusting the priority of requirements based on the aforementioned emotional state,
[0980] A means of providing modification suggestions that take into account emotional states,
[0981] A system that includes this.
[0982] (Claim 2)
[0983] The system according to claim 1, characterized in that the requirements analysis using natural language is performed using a natural language processing engine, and further, an emotion analysis engine is used for the analysis of the emotional state.
[0984] (Claim 3)
[0985] The system according to claim 1, characterized in that the automatic correction suggestions are generated using a machine learning algorithm and that content recommendations are based on the user's emotional state. [Explanation of Symbols]
[0986] 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. A means of receiving requirements using natural language, A means for analyzing the aforementioned requirements and generating a requirements structure, A means of obtaining a set of requirements from similar past projects and generating a comparison list, A means for detecting missing requirements by comparing the aforementioned requirements structure with a comparison list, Means of notifying of missing requirements, Means for generating automatic correction suggestions to compensate for the aforementioned omissions, A means of sharing the aforementioned proposed revisions with relevant parties, A system that includes this.
2. The system according to claim 1, characterized in that the requirements analysis using natural language is performed using a natural language processing engine.
3. The system according to claim 1, characterized in that the automatic correction suggestions are generated using a machine learning algorithm.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A