System
An interactive system using natural language processing to analyze and execute network device management commands addresses the complexity and inefficiency of manual management, allowing non-experts to manage devices effectively and reduce errors.
Patent Information
- Application Number
- JP2024140515
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Managing network devices with numerous parameters requires significant effort and specialized systems, leading to complex and inefficient manual management, especially for non-experts, and often results in errors due to the need for fast and accurate responses in IP address and interface information handling.
An interactive system that analyzes natural language commands to identify command types and target parameters, accessing databases to perform operations, and generates intuitive responses, utilizing tokenization, part-of-speech tagging, and keyword extraction for efficient management of network devices.
Enables users without specialized knowledge to manage network devices efficiently and error-free by interpreting natural language commands, simplifying complex operations and improving operational efficiency.
Smart Images

Figure 2026037490000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In modern network management, a large number of devices exist on each network, and many parameters are assigned to each device. Managing such devices requires a great deal of effort and cost, and the need for dedicated systems for each network and device type increases the complexity of management. Furthermore, the management of IP addresses and interface information requires fast and accurate responses, which is sometimes not possible with current manual management methods. These issues need to be resolved. [Means for solving the problem]
[0005] The present invention provides an interactive system that receives and analyzes natural language commands from users to manage parameters. Specifically, the system analyzes natural language commands entered by users to identify the command type and target parameters, and then accesses a database and executes the required operations based on the identified parameters. The system generates execution results in natural language and displays them to the user, enabling intuitive and efficient management. Furthermore, the system uses natural language processing techniques such as tokenization, part-of-speech tagging, and keyword extraction to enable accurate analysis of the input natural language. This system allows for rapid execution of operations based on the identified parameters, such as reassigning IP addresses or outputting a list of routers by region.
[0006] "User" refers to the person who operates the system and enters natural language commands.
[0007] "Natural language commands" refer to instructions entered in a natural human language (such as Japanese or English).
[0008] "Means for receiving" refers to a device or interface that obtains input from a user.
[0009] "Means for parsing" refers to the functionality for processing received natural language commands and understanding their meaning and intent.
[0010] "Command type" refers to the type of operation the user intends to perform (e.g., reassigning an IP address, outputting a list of routers, etc.).
[0011] "Target parameter" refers to the element (e.g., a specific router or IP address) designated by the user as the target of operation.
[0012] "Means of accessing a database" refers to the ability to search, update, add, and delete data within a system or network.
[0013] "Means for performing the required operations" refers to the specific processing that the system should perform in accordance with the specified command.
[0014] "Response message" refers to a message generated by the system in natural language as a result of a user's command.
[0015] The "means for displaying" refers to an interface that visually presents the response message to the user.
[0016] "Tokenization" refers to the process of breaking down input natural language into basic units such as words and symbols.
[0017] "Part-of-speech tagging" refers to the process of assigning a part of speech (noun, verb, adjective, etc.) to each tokenized word or symbol.
[0018] "Keyword extraction" refers to the process of extracting important words and phrases from natural language input.
[0019] An "IP address" refers to a unique address assigned to each device within a network.
[0020] A "router" refers to a device for transferring data between networks.
[0021] "Interface information" refers to information relating to the connection ports and communication settings of network devices. [Brief explanation of the drawings]
[0022] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4]FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0023] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0024] First, the terms used in the following description will be explained.
[0025] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0026] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0027] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0028] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0029] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0030] [First embodiment]
[0031] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0032] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0033] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0034] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0035] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0036] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0037] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0038] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0039] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0040] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0041] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0042] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0043] The present invention relates to a system that provides an interactive tool for a user to manage parameters of network devices in natural language. A specific embodiment for implementing this system will be described below.
[0044] Receiving natural language commands
[0045] First, the user inputs a command in natural language through the terminal. For example, the user inputs "Reassign the IP address of Router A." This command is received by the terminal.
[0046] Natural Language Processing (NLP)
[0047] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library. Specifically, the following process is performed:
[0048] Tokenization: Breaking commands into words.
[0049] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[0050] Keyword extraction: Extract important words and phrases from the command. For example, in this case, "Router A," "IP address," and "reissue" are extracted as keywords.
[0051] Interpreting commands and identifying parameters
[0052] The server identifies the command type and target parameter based on the analysis results. In this example, the command type is "IP address re-assignment" and the target parameter is "Router A."
[0053] Database Connection and Operations
[0054] The server accesses the database based on the specified parameters. The specific steps are as follows:
[0055] 1. Establishing a database connection
[0056] 2. Obtaining your current IP address information
[0057] 3. Generate a new IP address
[0058] 4. Update the generated IP address to the database
[0059] Generating a response message
[0060] The server generates a response message to the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a response message such as "Router A's new IP address is 192.168.1.10."
[0061] Sending and Displaying Responses
[0062] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[0063] Specific examples
[0064] For example, consider the case where a user enters "Print a list of routers in prefecture X." This command is processed according to the following steps:
[0065] 1. The device receives the command
[0066] 2. Send from device to server
[0067] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0068] 4. The server accesses the database and retrieves information about all routers in prefecture X.
[0069] 5. Create a response message based on the obtained router list and send it to the terminal
[0070] 6. The device displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[0071] This invention allows users to easily perform complex operations in natural language, greatly improving the efficiency of network device management.
[0072] The processing flow will be explained below.
[0073] Step 1:
[0074] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[0075] Step 2:
[0076] A terminal receives natural language input from a user.
[0077] Step 3:
[0078] The terminal transmits the received natural language command to the server.
[0079] Step 4:
[0080] The server analyzes the received command using a natural language processing library (e.g., NLTK or SpaCy).
[0081] Tokenization: Breaks the input command into words.
[0082] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[0083] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[0084] Step 5:
[0085] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0086] Step 6:
[0087] The server connects to a database to retrieve the current IP address information based on the specified parameters.
[0088] Step 7:
[0089] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[0090] Step 8:
[0091] The server updates the database with the new IP address it generated.
[0092] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[0093] Step 9:
[0094] The server generates a response message in natural language based on the results of the database update, for example, "Router A's new IP address is 192.168.1.10."
[0095] Step 10:
[0096] The server generates a response message and sends it to the terminal.
[0097] Step 11:
[0098] The terminal displays the response message received from the server to the user, for example, "Router A's new IP address is 192.168.1.10."
[0099] By following the above steps, users can easily manage the parameters of network devices through natural language input.
[0100] Example 1
[0101] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0102] Managing modern network devices requires a high level of expertise and involves numerous complex procedures. This results in problems that are time-consuming, labor-intensive, and prone to errors. Furthermore, the configuration and management methods for different network devices are not standardized, making consistent operation difficult. This creates problems, particularly for users without specialized knowledge, who are unable to operate network devices efficiently.
[0103] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0104] In this invention, the server includes: means for receiving a natural language command input by a user; means for analyzing the natural language command to identify the command type and target parameters; means for accessing an information repository based on the identified command type and target parameters and performing the required operation; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for a terminal to analyze the received natural language command and use a natural language processing library to identify the command type and target parameters based on the analysis result; means for the server to identify the command type and target parameters using the natural language processing library; means for the terminal to send the command to the server; and means for the server to access the information repository based on the identified parameters and generate and update new parameters. This allows users without specialized knowledge to manage network devices in natural language, enabling efficient and error-free operation.
[0105] A "user" is a person who uses this system to input commands in natural language and manage network devices.
[0106] A "natural language command" is a statement written in a human language that a user uses to input instructions to a system.
[0107] A "terminal" is a device used by a user to input natural language commands, including a personal computer, smartphone, tablet, etc.
[0108] A "server" is a central computer system that interprets natural language commands sent from the terminals and performs the necessary database operations.
[0109] A "natural language processing library" is a software toolkit used to parse natural language commands and provides functionality for tokenization, part-of-speech tagging, keyword extraction, etc.
[0110] The "command type" is the type of operation indicated by the received natural language command, and specifically indicates what action should be taken.
[0111] The "target parameters" are the network devices and their setting items that are specified as the target of operation by the natural language command.
[0112] The "information repository" is a database for managing the configuration information and parameters of network devices.
[0113] A "response message" is a message in natural language that the server generates to inform the user of the execution result.
[0114] "Tokenization" is the process by which natural language processing libraries break natural language commands into words and phrases.
[0115] "Part-of-speech tagging" is the process of labeling tokenized words with their parts of speech (nouns, verbs, adjectives, etc.).
[0116] "Keyword extraction" is the process of extracting important words and phrases from natural language commands.
[0117] "New parameters" are new setting values that are generated when updating the settings of existing network devices or when setting new settings.
[0118] The present invention relates to a system that provides an interactive tool that allows a user to manage parameters of network devices in natural language. Specific embodiments for carrying out the present invention will be described below.
[0119] System Overview
[0120] The system consists of three main components: the user, the terminal, and the server. The user inputs commands in natural language through the terminal, and the server analyzes the commands and performs appropriate data processing.
[0121] Hardware and software used
[0122] Devices: PCs, smartphones, tablets, etc.
[0123] Server: A computer system with a powerful central processing unit.
[0124] Natural Language Processing Library: spaCy for Python
[0125] Database: MySQL (registered trademark)
[0126] IP address generation library: Python iPad(R) dress library
[0127] Database connection library: Python mysql-connector
[0128] Processing Details
[0129] 1. Entering and receiving natural language commands
[0130] The user uses the terminal to input a command in natural language. For example, "Reassign the IP address of Router A." The terminal receives this command and stores it in its internal memory. At the same time, it displays a message to the user confirming that the command was received.
[0131] 2. Natural Language Processing
[0132] The terminal sends the received command to the server, which then uses the Python library spaCy to perform the following natural language processing:
[0133] Tokenization: Divide the command into words. For example, it is divided into "Router A", "of", "IP address", "of", "again", and "issue".
[0134] Part-of-speech tagging: tag each word with its part of speech. For example: "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[0135] Keyword extraction: Extract important words and phrases. Examples: "Router A", "IP address", "reissue".
[0136] 3. Interpreting commands and identifying parameters
[0137] The server identifies the command type and target parameter based on the analysis results. In this case, the command type is "IP address re-assignment" and the target parameter is "Router A."
[0138] 4. Database Connection and Operation
[0139] The server connects to the MySQL database and performs the following operations:
[0140] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[0141] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[0142] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[0143] Update generated IP address to database: Update the new IP address to the database.
[0144] 5. Generating a Response Message
[0145] The server generates a response message for the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a message such as "Router A's new IP address is 192.168.1.10".
[0146] 6. Sending and Displaying Responses
[0147] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[0148] Specific examples
[0149] For example, if a user inputs "Print a list of routers in prefecture X," the following steps are taken:
[0150] 1. The user enters a command into the terminal, which receives it.
[0151] 2. The terminal sends this command to the server.
[0152] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0153] 4. The server connects to the MySQL database and runs a query to retrieve the desired router information.
[0154] 5. The server generates a response message based on the obtained router list and sends it to the terminal.
[0155] 6. The terminal displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[0156] An example of this prompt statement:
[0157] "List all router information in prefecture X"
[0158] Examples include:
[0159] This invention allows users without specialized knowledge to easily manage network devices using natural language, and enables efficient and error-free operations, significantly improving overall operational efficiency.
[0160] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0161] Step 1:
[0162] The user enters a command in natural language, for example, "Reassign the IP address of Router A." This input is made through an input field displayed on the terminal's user interface. The terminal receives this input and stores it in its internal memory. As an output, the terminal displays a message to the user confirming receipt of the command.
[0163] Step 2:
[0164] The terminal sends the received natural language command to the server. As input, the natural language command stored on the terminal is used. As output, the terminal forwards this command to the server. This confirms that the command reaches the server.
[0165] Step 3:
[0166] The server parses the received command. Specifically, it uses the Python library spaCy to perform the following natural language processing: The natural language command sent to the server is used as input.
[0167] Tokenization: Divide the command into words. For example, "Router A", "of", "IP address", "of", "again", and "issue".
[0168] Part-of-speech tagging: tag each word with its part of speech, e.g., "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[0169] Keyword extraction: Extracts important words and phrases. For example, "Router A," "IP address," and "reissue" are extracted.
[0170] As output, a parsing result is produced, identifying the command type and target parameters.
[0171] Step 4:
[0172] The server identifies the command type and target parameters based on the analysis results. The natural language processing analysis results are used as input. The command type (e.g., "Reassign IP address") and target parameters (e.g., "Router A") are identified as output.
[0173] Step 5:
[0174] The server connects to the MySQL database and performs the necessary operations. The specific steps are as follows:
[0175] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[0176] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[0177] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[0178] Update generated IP address to database: Update the new IP address to the database.
[0179] As input, the specified command type and target parameters are used, and as output, a new IP address (e.g., "192.168.1.10") is generated / updated.
[0180] Step 6:
[0181] The server generates a response message for the user based on the results of the database operation. As input, it uses the updated database result (the new IP address). As output, it generates a response message such as "Router A's new IP address is 192.168.1.10."
[0182] Step 7:
[0183] The server sends the generated response message to the terminal. The generated response message is used as input. The response message is sent to the terminal as output.
[0184] Step 8:
[0185] The terminal displays the response message received from the server to the user. As input, the response message sent to the terminal is used. As output, the response message is displayed in the user interface. For example, the message "Router A's new IP address is 192.168.1.10" will be displayed.
[0186] (Application example 1)
[0187] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0188] Currently, managing network equipment (routers, switches, etc.) in brick-and-mortar stores requires specialized knowledge and expertise, making it complex and difficult for general store staff. Furthermore, there is a lack of efficient tools for quickly troubleshooting network equipment and changing settings. Under these circumstances, streamlining and simplifying network management in store operations is a challenge.
[0189] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0190] In this invention, the server includes: means for receiving natural language commands input by a user; means for analyzing the natural language commands to identify the command type and target parameters; means for accessing a database and performing the required operation based on the identified command type and target parameters; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for providing interactive support to facilitate management of network devices in a physical store; and means for inputting commands via voice or text through a smart device. This enables store staff without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, thereby improving the efficiency of network management in physical stores. Furthermore, the use of smart devices enables more flexible and prompt responses.
[0191] "User-input natural language commands" refers to words input by a system user via voice or text that instruct the operation or management of network devices.
[0192] "Means for parsing" refers to a method for interpreting input natural language commands, understanding the content of the commands, and extracting key words and phrases.
[0193] "Command type" is a classification that indicates the type and purpose of each command interpreted by the system, and includes, for example, setting changes and status checks.
[0194] "Target parameter" refers to the specific device or setting item that is the target of the operation in the command.
[0195] "Means for accessing the database" refers to a method for reading out related information and setting data based on specified parameters and updating them as necessary.
[0196] "Means for generating a response message in natural language based on the execution result" refers to a method for generating the result of a database operation as a message in natural language in a user-friendly format.
[0197] "Means for displaying a response message to a user" refers to a method for displaying the generated response message on the user's device screen.
[0198] "Means for providing interactive support to facilitate the management of network devices in physical stores" refers to interactive support functions that enable users to easily manage network devices such as routers and access points used in physical stores.
[0199] "Means for inputting commands by voice or text through a smart device" refers to a method by which a user can input commands in voice or text format using a device such as a smartphone or head-mounted display.
[0200] This invention relates to an interactive support system for facilitating the management of network devices in brick-and-mortar stores. This system allows users to manage and troubleshoot network devices in natural language using smart devices such as smartphones and head-mounted displays (HMDs).
[0201] First, the user inputs a command in natural language using a smart device. For example, the user inputs an instruction such as "Reassign the IP address of the main router" by voice or text. This command is received by the smart device.
[0202] The received command is then sent to the server, which uses a natural language processing library (e.g., spaCy or transformers' BERT model) to parse the command, tokenize it, tag it as a part of speech, and extract keywords, thereby identifying the command type (e.g., "reclaim IP address") and the target parameters (e.g., "main router").
[0203] Based on the parsed results, the server accesses a database and performs the necessary operations, such as generating a new IP address and updating it in the database to change the configuration of a particular network device.
[0204] The result of the database operation is generated as a response message in natural language. For example, if a new IP address is assigned, the response generated is "The new IP address of the main router is 192.168.1.10." This response message is sent to the smart device and displayed to the user.
[0205] This allows users without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, significantly improving the efficiency of network management in brick-and-mortar stores.
[0206] As a concrete example, suppose the user enters the following prompt sentence:
[0207] "Reassign the IP address of the main router"
[0208] In response to this prompt, the system will assign a new IP address and notify the user of the result, making network device management simple and efficient.
[0209] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0210] Step 1:
[0211] The user inputs a natural language command using a smart device. The input command is, for example, a sentence such as "Reassign the IP address of the main router." This command is received by the smart device. The input can be in the form of voice or text. The input here is a natural language command, and the output is the received command as is.
[0212] Step 2:
[0213] The received command is sent by the terminal to the server. The server receives the command and performs natural language processing. This processing includes tokenization, part-of-speech tagging, and keyword extraction. In this step, the input is the received natural language command, and the output is the parsed command type and target parameters. Specifically, the spaCy and transformers libraries are used to perform tokenization and part-of-speech tagging, extracting keywords such as "main router," "IP address," and "reissue."
[0214] Step 3:
[0215] The server identifies the command type and target parameters based on the analysis results. In this identification process, for example, "Reassign IP address" is identified as the command type and "Main router" is identified as the target parameter. The input to this step is the analyzed keyword, and the output is the identified command type and target parameters. In this step, the command is classified based on the analysis results, and a specific operation is determined.
[0216] Step 4:
[0217] The server accesses the database based on the specified command type and target parameters. To access the database, it uses a database management system such as SQLite to, for example, obtain the current IP address, generate a new IP address, and update it in the database. The input to this step is the specified command type and parameters, and the output is the result of executing the database operation. Specifically, it establishes a database connection and executes an "UPDATE" query to register the new IP address.
[0218] Step 5:
[0219] The server generates a response message in natural language based on the results of the database operation. For example, if the new IP address is 192.168.1.10, the message "The new IP address of the main router is 192.168.1.10" is generated. The input of this step is the result of the database operation, and the output is the generated response message. Specifically, the generated new IP address is used to embed the response message template.
[0220] Step 6:
[0221] The server sends the generated response message to the terminal. The terminal receives this response message and displays it to the user. The input here is the generated response message, and the output is the message displayed to the user. Specifically, the message is transferred to the smart device using a message transmission protocol and displayed on the screen.
[0222] This series of steps allows users to easily manage network devices using natural language commands, significantly improving the efficiency of network management in physical stores.
[0223] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0224] The present invention relates to a system incorporating an emotion engine that recognizes the user's emotions and optimizes responses, in addition to an interactive tool that allows users to manage parameters of network devices using natural language. Specific embodiments for implementing this system are described below.
[0225] Receiving natural language commands
[0226] The user inputs a command in natural language through the terminal. For example, "Reassign the IP address of Router A." This command is received by the terminal.
[0227] Natural Language Processing (NLP)
[0228] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library (such as NLTK or SpaCy). Specifically, the following process is performed:
[0229] Tokenization: Breaking commands into words.
[0230] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[0231] Keyword extraction: Extract important words and phrases from the command. For example, "Router A," "IP address," and "reissue" are extracted as keywords.
[0232] Interpreting commands and identifying parameters
[0233] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0234] Emotion recognition by emotion engine
[0235] The server further analyzes the user's emotional state using an emotion engine, which uses the user's voice tone, command content, and contextual information to determine whether the user is angry, happy, or distressed.
[0236] Database Connection and Operations
[0237] The server accesses the database based on the specified parameters. The operation is performed in the following steps:
[0238] 1. Establishing a database connection
[0239] 2. Obtaining your current IP address information
[0240] 3. Generate a new IP address
[0241] 4. Update the generated IP address to the database
[0242] Generating a response message
[0243] The server generates a response message in natural language based on the results of the database operation. Furthermore, based on the analysis results of the emotion engine, it generates a message that includes a tone and expressions appropriate to the user's emotions. For example, if the new IP address is "192.168.1.10" and the user is angry, the server generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0244] Sending and Displaying Responses
[0245] The server generates a response message and sends it to the terminal, which displays it to the user, completing the interaction.
[0246] Specific examples
[0247] For example, suppose a user inputs "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused. This command is processed as follows:
[0248] 1. The device receives the command
[0249] 2. Send from device to server
[0250] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0251] 4. The emotion engine identifies the user's emotion as "confusion"
[0252] 5. The server accesses the database and retrieves information about all routers in prefecture X.
[0253] 6. Generate a response message based on the obtained router list, generating a sentiment-appropriate message such as "The list of routers in prefecture X is as follows. Please let us know if there is anything else we can help you with."
[0254] 7. Send a response message to the terminal
[0255] 8. The device displays to the user, "The list of routers in prefecture X is below. Let us know if there's anything else we can help you with."
[0256] This invention allows users to easily manage the parameters of network devices by inputting natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0257] The processing flow will be explained below.
[0258] Step 1:
[0259] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[0260] Step 2:
[0261] A terminal receives natural language input from a user.
[0262] Step 3:
[0263] The terminal transmits the received natural language command to the server.
[0264] Step 4:
[0265] The server analyzes the received command using a natural language processing library.
[0266] Tokenization: Breaks the input command into words.
[0267] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[0268] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[0269] Step 5:
[0270] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0271] Step 6:
[0272] The server uses an emotion engine to analyze the user's emotional state.
[0273] The system uses voice tone, command content, and contextual information to identify the user's emotions (such as joy, anger, or sadness).
[0274] Step 7:
[0275] The server accesses a database based on the type and target parameters of the specified command.
[0276] Establish a database connection.
[0277] Get the current IP address information.
[0278] Step 8:
[0279] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[0280] Step 9:
[0281] The server updates the database with the new IP address it generated.
[0282] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[0283] Step 10:
[0284] The server generates a response message in natural language based on the results of the database update.
[0285] Based on the analysis results of the emotion engine, a message is generated that includes a tone and expression appropriate to the user's emotions.
[0286] For example, if the user is angry, it might generate a response message saying, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0287] Step 11:
[0288] The server generates a response message and sends it to the terminal.
[0289] Step 12:
[0290] The terminal displays the response message received from the server to the user.
[0291] For example, it might display "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0292] By following the above steps, users can easily manage the parameters of network devices through natural language input, and the system will provide optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0293] Example 2
[0294] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0295] In conventional parameter management systems for network devices, responses are generated without considering emotions when users operate them in natural language, leading to unsatisfactory user experiences. In particular, when users with little technical knowledge operate the system, there is a concern that the user experience will be poor if the system's responses are not accurate and considerate of emotions.
[0296] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0297] In this invention, the server includes means for receiving a natural language command input by a user, means for analyzing the natural language command to identify the command type and target parameters, means for accessing a database and executing a required operation based on the identified command type and target parameters, means for generating a response message in natural language based on the execution result, means for analyzing the emotional state of the user, and means for adapting the tone and expression of the response message based on the analysis result. This not only allows the user's natural language operation to be appropriately analyzed and processed, but also makes it possible to optimize the tone and expression of the response through emotion recognition.
[0298] "User" refers to the person who operates the system and enters commands in natural language.
[0299] "Terminal" refers to a device through which a user inputs and receives natural language commands.
[0300] "Server" refers to a computing unit that receives, analyzes, processes data sent from a terminal, and generates a response message.
[0301] A "natural language command" refers to an instruction or request entered by a user in human language.
[0302] "Tokenization" refers to the process of breaking down natural language commands into words.
[0303] "Part-of-speech tagging" refers to the process of tagging tokenized words with tags that indicate their grammatical roles.
[0304] "Keyword extraction" refers to the process of selecting important words and phrases from natural language commands.
[0305] "Emotional state" refers to a state that indicates the user's current emotion, such as anger, joy, confusion, etc.
[0306] "Response message" refers to a message generated by the server in natural language and displayed to the user.
[0307] "Database" refers to a system for storing information and performing necessary operations based on specified parameters.
[0308] "Emotion engine" refers to software or algorithms for detecting and analyzing a user's emotions.
[0309] "Parameters" refer to input information and attributes required for configuring and operating network devices.
[0310] This invention is a system that integrates an interactive tool for managing network device parameters in natural language with an emotion engine that recognizes user emotions and optimizes responses. Specific embodiments for implementing this system are described below.
[0311] Receiving natural language commands
[0312] The user uses a terminal to input commands in natural language, such as "Reassign the IP address of Router A." The terminal receives this command and sends it to the server.
[0313] Natural Language Processing (NLP)
[0314] The server parses the received command using a natural language processing library (e.g., NLTK or SpaCy). This process involves the following steps:
[0315] 1. Tokenization: The server breaks the user's command into words.
[0316] 2. Part-of-Speech Tagging: The server tags the tokenized words with their grammatical roles (nouns, verbs, etc.).
[0317] 3. Keyword extraction: The server extracts important words and phrases from the command.
[0318] Interpreting commands and identifying parameters
[0319] The server identifies the command type and target parameters based on the analysis results. For example, the command type is "Reassign IP address" and the target parameter is "Router A."
[0320] Emotion recognition by emotion engine
[0321] The server uses an emotion engine to analyze the user's emotional state, which can use voice tone, command content, and contextual information to identify the user's emotion, for example, whether the user is confused, angry, or happy.
[0322] Database Connection and Operations
[0323] The server accesses the database based on the specified parameters and performs the necessary operations, specifically by performing the following steps:
[0324] 1. Establishing a database connection: The server establishes a connection using the database connection information.
[0325] 2. Obtaining current IP address information: The server obtains the current IP address from the database.
[0326] 3. Generate a new IP address: The server generates a new IP address.
[0327] 4. Update the database with the generated IP address: The server updates the database with the new IP address.
[0328] Generating a response message
[0329] The server generates a response message in natural language based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. For example, if the new IP address is "192.168.1.10" and it recognizes that the user is angry, it generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0330] Sending and Displaying Responses
[0331] The server then sends the generated response message to the terminal, which then displays the message to the user. This completes the dialogue.
[0332] Specific examples
[0333] For example, if a user types "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused, the server will perform the following actions:
[0334] 1. The command received from the terminal is analyzed, and "Prefecture X" and "Router List" are extracted as keywords.
[0335] 2. The emotion engine identifies the user's emotion as "confused."
[0336] 3. The server accesses the database and retrieves information about all routers in prefecture X.
[0337] 4. Generate a response message based on the obtained list of routers, creating a message that reads, "The list of routers in Prefecture X is as follows. Please let us know if there is anything else we can help you with."
[0338] 5. Sends a response message to the terminal, which displays it to the user.
[0339] Prompt Sentence Examples
[0340] "Print a list of routers in prefecture X"
[0341] This invention allows users to easily manage the parameters of network devices using natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0342] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0343] Step 1:
[0344] The user inputs a command into the terminal in natural language. For example, "Reassign the IP address of Router A." As input, the user provides instructions in text format to the terminal. The terminal receives this command and saves it as text data. The output is the text data of the command received by the terminal.
[0345] Step 2:
[0346] The terminal sends the received natural language command to the server. This transmission is carried out over a network, providing the text data of the command to the server as input. Specifically, communication protocols such as HTTP requests and RPC (Remote Procedure Call) are used. The output is the text data of the command received by the server.
[0347] Step 3:
[0348] The server parses the received commands using a natural language processing library (NLTK or SpaCy). The input is the text data of the received natural language command. The processing includes the steps of tokenization, part-of-speech tagging, and keyword extraction:
[0349] Tokenization: The server splits the text data into words. For example, "Reassign the IP address of Router A" is split into "Router A", "of", "IP address", "of", "again", and "assign".
[0350] Part-of-speech tagging: The server tags each token with a part of speech, for example, "Router A (noun)", "IP address (noun)", "again (adverb)", "withdraw (verb)", etc.
[0351] Keyword extraction: The server extracts important words and phrases, such as "router A," "IP address," and "reissue."
[0352] The output is structured data of the parsed commands.
[0353] Step 4:
[0354] The server identifies the command type and target parameters based on the analysis results. The input is the analysis result of natural language processing, and the output is the identified command type and parameters. As a specific operation, for example, it identifies that "the command type is IP address re-assignment" and "the target parameters are Router A."
[0355] Step 5:
[0356] The server uses an emotion engine to analyze the user's emotional state. The input is the content of the natural language command and the analysis result. The emotion engine analyzes the text content and identifies the user's emotion (e.g., anger, joy, confusion, etc.). Specifically, it uses specific keywords, phrases, and contextual information to determine the emotion. The output is the user's emotional state.
[0357] Step 6:
[0358] The server accesses the database based on the specified parameters and performs the required operation. The input is the specified command type and parameters. The specific database operation flow is as follows:
[0359] 1. Establishing a database connection: The server establishes a connection using the database connection information, for example, a Data Source Name (DSN).
[0360] 2. Obtain current IP address information: The server executes the appropriate SQL query to obtain the current IP address information.
[0361] 3. Generate a new IP address: Generate a new IP address from an available IP address range, for example, by selecting an unused address from an IP address pool.
[0362] 4. Update the generated IP address to the database: The new IP address is saved in the database using the SQL UPDATE statement.
[0363] The output is the result of a database operation.
[0364] Step 7:
[0365] The server generates a response message based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. The input is the database operation result and the user's emotional state. For example, it adjusts the content and expression to something like, "The new IP address is 192.168.1.10. We apologize for the inconvenience." The output is the generated response message.
[0366] Step 8:
[0367] The server sends the generated response message to the terminal. The terminal displays this message to the user. The input is the generated response message. Specifically, the server sends a message in JSON format to the terminal, which parses it and displays it to the user. The output is the response message displayed to the user. This completes the interaction.
[0368] The above is the processing flow including the specific operations and input / output at each step.
[0369] (Application example 2)
[0370] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0371] Conventional factory robot control systems require users to have detailed technical knowledge and are complicated to operate. Furthermore, they lack the quality of the user experience because they do not provide responses that take into account the user's emotions. This has led to issues such as reduced efficiency in factory work and reduced user satisfaction.
[0372] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0373] In this invention, the server includes means for receiving natural language commands input by a user, means for analyzing the natural language commands to identify the command type and target parameters, means for accessing a database based on the identified command type and target parameters and executing the required operation, means for analyzing the execution results and the user's emotional state and generating a response message, means for displaying the response message to the user, and means for generating commands for operating a robot and sending instructions to a specific robot. This allows the user to intuitively operate the robot using natural language, and the system can provide optimal responses according to the user's emotions, thereby improving work efficiency in the factory and user satisfaction.
[0374] A "user" is a human participant operating an automated robotic system.
[0375] "Natural language commands" refer to instructions or commands entered by a user using normal or spoken language.
[0376] "Parsing" is the process of breaking down complex natural language commands and identifying the command type and target parameters.
[0377] "Command type" is information indicating what type of operation the user's instruction corresponds to.
[0378] "Target parameter" refers to the specific object or setting value to which the command applies.
[0379] A "database" is a system for storing, managing, and accessing information based on specified parameters.
[0380] An "operation" refers to a specific command or action performed on a database, machine, or robot.
[0381] A "response message" is a message that includes the execution result or feedback returned from the system to the user.
[0382] "Emotional state" refers to analyzing the user's emotions and moods and recognizing their state.
[0383] A "robot" is an automated mechanical device that performs specific tasks in a factory based on specified commands.
[0384] "Sending instructions" refers to the act of sending a specific operation command to a device such as a robot based on the analyzed command content.
[0385] The present invention provides a system that allows a user to operate a factory robot using natural language, and that provides an optimal response according to the user's emotions. Specific embodiments for carrying out the present invention will be described below.
[0386] Hardware and Software
[0387] 1. Hardware
[0388] Device: Smartphone or tablet
[0389] Server: High performance server
[0390] Robot: an automated machine that performs a specific task in a factory
[0391] 2. Software
[0392] Natural Language Processing library: NLTK (Natural Language Toolkit) or SpaCy
[0393] Emotion recognition engine: EmotionAnalyzer
[0394] Robot Control SDK: FactoryRobot SDK
[0395] Program processing explanation
[0396] 1. Receiving natural language commands
[0397] The device receives natural language commands entered by the user, which are sent through an input form on the smartphone or tablet.
[0398] 2. Natural Language Processing
[0399] The server analyzes the natural language commands received from the device using a natural language processing library, performing tokenization, part-of-speech tagging, and keyword extraction.
[0400] For example, a command entered by a user such as "Have robot A move the part on shelf B" is tokenized, and keywords such as "robot A," "shelf B," and "moving the part" are extracted.
[0401] 3. Emotion recognition
[0402] When analyzing natural language commands, the server uses an emotion recognition engine to identify the user's emotional state, such as whether the user is confused or anxious.
[0403] 4. Database Access and Manipulation
[0404] The server accesses a database based on the type of command and target parameters specified and performs the necessary operations.
[0405] For example, a new IP address may be generated based on the identified parameters and the database updated.
[0406] 5. Robot Operation
[0407] The server generates robot control commands based on the identified command and target parameters and sends the instructions to the specific robot using the FactoryRobot SDK, which causes the robot to perform the instructed operation.
[0408] 6. Generating a Response Message
[0409] The server generates a response message in natural language based on the execution result and the analysis result of the emotion recognition engine. The response message includes an appropriate tone and expression according to the user's emotion.
[0410] For example, if the user is impatient, a response message might be generated that reads, "Robot A has successfully moved the part on shelf B. Please let us know if you have any questions."
[0411] 7. Sending and Displaying Responses
[0412] The generated response message is sent to the terminal and displayed to the user, allowing the user to receive the robot's work results and feedback.
[0413] Specific examples
[0414] For example, if a user inputs "have robot A move the part on shelf B," the system will process it as follows:
[0415] The device receives the command
[0416] Sending commands from the terminal to the server
[0417] The server performs natural language processing and extracts "Robot A," "Shelf B," and "Parts movement."
[0418] The emotion engine identifies the user's emotion as "impatience"
[0419] The server accesses the database and performs the necessary operations
[0420] Sends instructions to the robot to move parts
[0421] Robot moves parts
[0422] A response message is generated based on the results, displaying "Robot A successfully moved the parts from shelf B. Please let us know if you have any questions."
[0423] Prompt Sentence Examples
[0424] "Have robot A move the parts from shelf B"
[0425] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0426] Step 1:
[0427] A user inputs commands in natural language into a smartphone or tablet, which is received by the device.
[0428] Input: Natural language commands (e.g., "Tell robot A to move the part on shelf B")
[0429] Output: Received natural language command
[0430] Step 2:
[0431] The device sends the received natural language commands to the server, which prepares the received data for analysis.
[0432] Input: Received natural language command
[0433] Output: Natural language command sent to the server
[0434] Step 3:
[0435] The server parses the received commands using a natural language processing library (NLTK or SpaCy), performing tokenization, part-of-speech tagging, and keyword extraction.
[0436] Input: Natural language command (e.g., "Have robot A move the part on shelf B")
[0437] Output: Extracted keywords and structured instructions (e.g., "Robot A," "Shelf B," "Move Parts")
[0438] Step 4:
[0439] The server analyzes the user's emotions using an emotion recognition engine, which identifies emotions from the content of the command and the tone of the voice.
[0440] Input: Natural language commands and their audio tones
[0441] Output: User's emotional state (e.g., "anxious")
[0442] Step 5:
[0443] Based on the type of command and target parameters specified, the server accesses the database and performs the necessary operations, e.g., generates new parameters and updates the database.
[0444] Input: The type of command identified and the target parameters (e.g., "Robot A", "Shelf B", "Move Part")
[0445] Output: Updated database information
[0446] Step 6:
[0447] The server generates robot control commands based on the analysis results, and uses the FactoryRobot SDK to send the commands to the specified robot to perform the operation.
[0448] Input: Updated database information and robot control commands
[0449] Output: The operation the robot will perform (e.g., "Move part")
[0450] Step 7:
[0451] The server generates an appropriate response message based on the execution result and the user's emotional state, including a tone and expression appropriate to the user's emotions.
[0452] Input: Robot execution results and user emotional state
[0453] Output: Response message (e.g. "Robot A successfully moved the part from shelf B. Please let us know if you have any questions.")
[0454] Step 8:
[0455] The server generates a response message and sends it to the terminal, which then displays the received message to the user.
[0456] Input: Response message
[0457] Output: Response message displayed on the terminal
[0458] The above processing steps enable users to operate factory robots in natural language and receive execution results and feedback.
[0459] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0460] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0461] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0462] [Second embodiment]
[0463] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0464] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0465] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0466] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0467] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0468] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0469] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0470] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0471] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0472] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0473] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0474] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0475] The present invention relates to a system that provides an interactive tool for a user to manage parameters of network devices in natural language. A specific embodiment for implementing this system will be described below.
[0476] Receiving natural language commands
[0477] First, the user inputs a command in natural language through the terminal. For example, the user inputs "Reassign the IP address of Router A." This command is received by the terminal.
[0478] Natural Language Processing (NLP)
[0479] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library. Specifically, the following process is performed:
[0480] Tokenization: Breaking commands into words.
[0481] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[0482] Keyword extraction: Extract important words and phrases from the command. For example, in this case, "Router A," "IP address," and "reissue" are extracted as keywords.
[0483] Interpreting commands and identifying parameters
[0484] The server identifies the command type and target parameter based on the analysis results. In this example, the command type is "IP address re-assignment" and the target parameter is "Router A."
[0485] Database Connection and Operations
[0486] The server accesses the database based on the specified parameters. The specific steps are as follows:
[0487] 1. Establishing a database connection
[0488] 2. Obtaining your current IP address information
[0489] 3. Generate a new IP address
[0490] 4. Update the generated IP address to the database
[0491] Generating a response message
[0492] The server generates a response message to the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a response message such as "Router A's new IP address is 192.168.1.10."
[0493] Sending and Displaying Responses
[0494] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[0495] Specific examples
[0496] For example, consider the case where a user enters "Print a list of routers in prefecture X." This command is processed according to the following steps:
[0497] 1. The device receives the command
[0498] 2. Send from device to server
[0499] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0500] 4. The server accesses the database and retrieves information about all routers in prefecture X.
[0501] 5. Create a response message based on the obtained router list and send it to the terminal
[0502] 6. The device displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[0503] This invention allows users to easily perform complex operations in natural language, greatly improving the efficiency of network device management.
[0504] The processing flow will be explained below.
[0505] Step 1:
[0506] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[0507] Step 2:
[0508] A terminal receives natural language input from a user.
[0509] Step 3:
[0510] The terminal transmits the received natural language command to the server.
[0511] Step 4:
[0512] The server analyzes the received command using a natural language processing library (e.g., NLTK or SpaCy).
[0513] Tokenization: Breaks the input command into words.
[0514] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[0515] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[0516] Step 5:
[0517] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0518] Step 6:
[0519] The server connects to a database to retrieve the current IP address information based on the specified parameters.
[0520] Step 7:
[0521] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[0522] Step 8:
[0523] The server updates the database with the new IP address it generated.
[0524] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[0525] Step 9:
[0526] The server generates a response message in natural language based on the results of the database update, for example, "Router A's new IP address is 192.168.1.10."
[0527] Step 10:
[0528] The server generates a response message and sends it to the terminal.
[0529] Step 11:
[0530] The terminal displays the response message received from the server to the user, for example, "Router A's new IP address is 192.168.1.10."
[0531] By following the above steps, users can easily manage the parameters of network devices through natural language input.
[0532] Example 1
[0533] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0534] Managing modern network devices requires a high level of expertise and involves numerous complex procedures. This results in problems that are time-consuming, labor-intensive, and prone to errors. Furthermore, the configuration and management methods for different network devices are not standardized, making consistent operation difficult. This creates problems, particularly for users without specialized knowledge, who are unable to operate network devices efficiently.
[0535] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0536] In this invention, the server includes: means for receiving a natural language command input by a user; means for analyzing the natural language command to identify the command type and target parameters; means for accessing an information repository based on the identified command type and target parameters and performing the required operation; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for a terminal to analyze the received natural language command and use a natural language processing library to identify the command type and target parameters based on the analysis result; means for the server to identify the command type and target parameters using the natural language processing library; means for the terminal to send the command to the server; and means for the server to access the information repository based on the identified parameters and generate and update new parameters. This allows users without specialized knowledge to manage network devices in natural language, enabling efficient and error-free operation.
[0537] A "user" is a person who uses this system to input commands in natural language and manage network devices.
[0538] A "natural language command" is a statement written in a human language that a user uses to input instructions to a system.
[0539] A "terminal" is a device used by a user to input natural language commands, including a personal computer, smartphone, tablet, etc.
[0540] A "server" is a central computer system that interprets natural language commands sent from the terminals and performs the necessary database operations.
[0541] A "natural language processing library" is a software toolkit used to parse natural language commands and provides functionality for tokenization, part-of-speech tagging, keyword extraction, etc.
[0542] The "command type" is the type of operation indicated by the received natural language command, and specifically indicates what action should be taken.
[0543] The "target parameters" are the network devices and their setting items that are specified as the target of operation by the natural language command.
[0544] The "information repository" is a database for managing the configuration information and parameters of network devices.
[0545] A "response message" is a message in natural language that the server generates to inform the user of the execution result.
[0546] "Tokenization" is the process by which natural language processing libraries break natural language commands into words and phrases.
[0547] "Part-of-speech tagging" is the process of labeling tokenized words with their parts of speech (nouns, verbs, adjectives, etc.).
[0548] "Keyword extraction" is the process of extracting important words and phrases from natural language commands.
[0549] "New parameters" are new setting values that are generated when updating the settings of existing network devices or when setting new settings.
[0550] The present invention relates to a system that provides an interactive tool that allows a user to manage parameters of network devices in natural language. Specific embodiments for carrying out the present invention will be described below.
[0551] System Overview
[0552] The system consists of three main components: the user, the terminal, and the server. The user inputs commands in natural language through the terminal, and the server analyzes the commands and performs appropriate data processing.
[0553] Hardware and software used
[0554] Devices: PCs, smartphones, tablets, etc.
[0555] Server: A computer system with a powerful central processing unit.
[0556] Natural Language Processing Library: spaCy for Python
[0557] Database: MySQL
[0558] IP address generation library: Python's ipaddress library
[0559] Database connection library: Python mysql-connector
[0560] Processing Details
[0561] 1. Entering and receiving natural language commands
[0562] The user uses the terminal to input a command in natural language. For example, "Reassign the IP address of Router A." The terminal receives this command and stores it in its internal memory. At the same time, it displays a message to the user confirming that the command was received.
[0563] 2. Natural Language Processing
[0564] The terminal sends the received command to the server, which then uses the Python library spaCy to perform the following natural language processing:
[0565] Tokenization: Divide the command into words. For example, it is divided into "Router A", "of", "IP address", "of", "again", and "issue".
[0566] Part-of-speech tagging: tag each word with its part of speech. For example: "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[0567] Keyword extraction: Extract important words and phrases. Examples: "Router A", "IP address", "reissue".
[0568] 3. Interpreting commands and identifying parameters
[0569] The server identifies the command type and target parameter based on the analysis results. In this case, the command type is "IP address re-assignment" and the target parameter is "Router A."
[0570] 4. Database Connection and Operation
[0571] The server connects to the MySQL database and performs the following operations:
[0572] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[0573] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[0574] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[0575] Update generated IP address to database: Update the new IP address to the database.
[0576] 5. Generating a Response Message
[0577] The server generates a response message for the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a message such as "Router A's new IP address is 192.168.1.10".
[0578] 6. Sending and Displaying Responses
[0579] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[0580] Specific examples
[0581] For example, if a user inputs "Print a list of routers in prefecture X," the following steps are taken:
[0582] 1. The user enters a command into the terminal, which receives it.
[0583] 2. The terminal sends this command to the server.
[0584] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0585] 4. The server connects to the MySQL database and runs a query to retrieve the desired router information.
[0586] 5. The server generates a response message based on the obtained router list and sends it to the terminal.
[0587] 6. The terminal displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[0588] An example of this prompt statement:
[0589] "List all router information in prefecture X"
[0590] Examples include:
[0591] This invention allows users without specialized knowledge to easily manage network devices using natural language, and enables efficient and error-free operations, significantly improving overall operational efficiency.
[0592] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0593] Step 1:
[0594] The user enters a command in natural language, for example, "Reassign the IP address of Router A." This input is made through an input field displayed on the terminal's user interface. The terminal receives this input and stores it in its internal memory. As an output, the terminal displays a message to the user confirming receipt of the command.
[0595] Step 2:
[0596] The terminal sends the received natural language command to the server. As input, the natural language command stored on the terminal is used. As output, the terminal forwards this command to the server. This confirms that the command reaches the server.
[0597] Step 3:
[0598] The server parses the received command. Specifically, it uses the Python library spaCy to perform the following natural language processing: The natural language command sent to the server is used as input.
[0599] Tokenization: Divide the command into words. For example, "Router A", "of", "IP address", "of", "again", and "issue".
[0600] Part-of-speech tagging: tag each word with its part of speech, e.g., "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[0601] Keyword extraction: Extracts important words and phrases. For example, "Router A," "IP address," and "reissue" are extracted.
[0602] As output, a parsing result is produced, identifying the command type and target parameters.
[0603] Step 4:
[0604] The server identifies the command type and target parameters based on the analysis results. The natural language processing analysis results are used as input. The command type (e.g., "Reassign IP address") and target parameters (e.g., "Router A") are identified as output.
[0605] Step 5:
[0606] The server connects to the MySQL database and performs the necessary operations. The specific steps are as follows:
[0607] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[0608] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[0609] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[0610] Update generated IP address to database: Update the new IP address to the database.
[0611] As input, the specified command type and target parameters are used, and as output, a new IP address (e.g., "192.168.1.10") is generated / updated.
[0612] Step 6:
[0613] The server generates a response message for the user based on the results of the database operation. As input, it uses the updated database result (the new IP address). As output, it generates a response message such as "Router A's new IP address is 192.168.1.10."
[0614] Step 7:
[0615] The server sends the generated response message to the terminal. The generated response message is used as input. The response message is sent to the terminal as output.
[0616] Step 8:
[0617] The terminal displays the response message received from the server to the user. As input, the response message sent to the terminal is used. As output, the response message is displayed in the user interface. For example, the message "Router A's new IP address is 192.168.1.10" will be displayed.
[0618] (Application example 1)
[0619] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0620] Currently, managing network equipment (routers, switches, etc.) in brick-and-mortar stores requires specialized knowledge and expertise, making it complex and difficult for general store staff. Furthermore, there is a lack of efficient tools for quickly troubleshooting network equipment and changing settings. Under these circumstances, streamlining and simplifying network management in store operations is a challenge.
[0621] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0622] In this invention, the server includes: means for receiving natural language commands input by a user; means for analyzing the natural language commands to identify the command type and target parameters; means for accessing a database and performing the required operation based on the identified command type and target parameters; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for providing interactive support to facilitate management of network devices in a physical store; and means for inputting commands via voice or text through a smart device. This enables store staff without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, thereby improving the efficiency of network management in physical stores. Furthermore, the use of smart devices enables more flexible and prompt responses.
[0623] "User-input natural language commands" refers to words input by a system user via voice or text that instruct the operation or management of network devices.
[0624] "Means for parsing" refers to a method for interpreting input natural language commands, understanding the content of the commands, and extracting key words and phrases.
[0625] "Command type" is a classification that indicates the type and purpose of each command interpreted by the system, and includes, for example, setting changes and status checks.
[0626] "Target parameter" refers to the specific device or setting item that is the target of the operation in the command.
[0627] "Means for accessing the database" refers to a method for reading out related information and setting data based on specified parameters and updating them as necessary.
[0628] "Means for generating a response message in natural language based on the execution result" refers to a method for generating the result of a database operation as a message in natural language in a user-friendly format.
[0629] "Means for displaying a response message to a user" refers to a method for displaying the generated response message on the user's device screen.
[0630] "Means for providing interactive support to facilitate the management of network devices in physical stores" refers to interactive support functions that enable users to easily manage network devices such as routers and access points used in physical stores.
[0631] "Means for inputting commands by voice or text through a smart device" refers to a method by which a user can input commands in voice or text format using a device such as a smartphone or head-mounted display.
[0632] This invention relates to an interactive support system for facilitating the management of network devices in brick-and-mortar stores. This system allows users to manage and troubleshoot network devices in natural language using smart devices such as smartphones and head-mounted displays (HMDs).
[0633] First, the user inputs a command in natural language using a smart device. For example, the user inputs an instruction such as "Reassign the IP address of the main router" by voice or text. This command is received by the smart device.
[0634] The received command is then sent to the server, which uses a natural language processing library (e.g., spaCy or transformers' BERT model) to parse the command, tokenize it, tag it as a part of speech, and extract keywords, thereby identifying the command type (e.g., "reclaim IP address") and the target parameters (e.g., "main router").
[0635] Based on the parsed results, the server accesses a database and performs the necessary operations, such as generating a new IP address and updating it in the database to change the configuration of a particular network device.
[0636] The result of the database operation is generated as a response message in natural language. For example, if a new IP address is assigned, the response generated is "The new IP address of the main router is 192.168.1.10." This response message is sent to the smart device and displayed to the user.
[0637] This allows users without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, significantly improving the efficiency of network management in brick-and-mortar stores.
[0638] As a concrete example, suppose the user enters the following prompt sentence:
[0639] "Reassign the IP address of the main router"
[0640] In response to this prompt, the system will assign a new IP address and notify the user of the result, making network device management simple and efficient.
[0641] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0642] Step 1:
[0643] The user inputs a natural language command using a smart device. The input command is, for example, a sentence such as "Reassign the IP address of the main router." This command is received by the smart device. The input can be in the form of voice or text. The input here is a natural language command, and the output is the received command as is.
[0644] Step 2:
[0645] The received command is sent by the terminal to the server. The server receives the command and performs natural language processing. This processing includes tokenization, part-of-speech tagging, and keyword extraction. In this step, the input is the received natural language command, and the output is the parsed command type and target parameters. Specifically, the spaCy and transformers libraries are used to perform tokenization and part-of-speech tagging, extracting keywords such as "main router," "IP address," and "reissue."
[0646] Step 3:
[0647] The server identifies the command type and target parameters based on the analysis results. In this identification process, for example, "Reassign IP address" is identified as the command type and "Main router" is identified as the target parameter. The input to this step is the analyzed keyword, and the output is the identified command type and target parameters. In this step, the command is classified based on the analysis results, and a specific operation is determined.
[0648] Step 4:
[0649] The server accesses the database based on the specified command type and target parameters. To access the database, it uses a database management system such as SQLite to, for example, obtain the current IP address, generate a new IP address, and update it in the database. The input to this step is the specified command type and parameters, and the output is the result of executing the database operation. Specifically, it establishes a database connection and executes an "UPDATE" query to register the new IP address.
[0650] Step 5:
[0651] The server generates a response message in natural language based on the results of the database operation. For example, if the new IP address is 192.168.1.10, the message "The new IP address of the main router is 192.168.1.10" is generated. The input of this step is the result of the database operation, and the output is the generated response message. Specifically, the generated new IP address is used to embed the response message template.
[0652] Step 6:
[0653] The server sends the generated response message to the terminal. The terminal receives this response message and displays it to the user. The input here is the generated response message, and the output is the message displayed to the user. Specifically, the message is transferred to the smart device using a message transmission protocol and displayed on the screen.
[0654] This series of steps allows users to easily manage network devices using natural language commands, significantly improving the efficiency of network management in physical stores.
[0655] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0656] The present invention relates to a system incorporating an emotion engine that recognizes the user's emotions and optimizes responses, in addition to an interactive tool that allows users to manage parameters of network devices using natural language. Specific embodiments for implementing this system are described below.
[0657] Receiving natural language commands
[0658] The user inputs a command in natural language through the terminal. For example, "Reassign the IP address of Router A." This command is received by the terminal.
[0659] Natural Language Processing (NLP)
[0660] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library (such as NLTK or SpaCy). Specifically, the following process is performed:
[0661] Tokenization: Breaking commands into words.
[0662] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[0663] Keyword extraction: Extract important words and phrases from the command. For example, "Router A," "IP address," and "reissue" are extracted as keywords.
[0664] Interpreting commands and identifying parameters
[0665] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0666] Emotion recognition by emotion engine
[0667] The server further analyzes the user's emotional state using an emotion engine, which uses the user's voice tone, command content, and contextual information to determine whether the user is angry, happy, or distressed.
[0668] Database Connection and Operations
[0669] The server accesses the database based on the specified parameters. The operation is performed in the following steps:
[0670] 1. Establishing a database connection
[0671] 2. Obtaining your current IP address information
[0672] 3. Generate a new IP address
[0673] 4. Update the generated IP address to the database
[0674] Generating a response message
[0675] The server generates a response message in natural language based on the results of the database operation. Furthermore, based on the analysis results of the emotion engine, it generates a message that includes a tone and expressions appropriate to the user's emotions. For example, if the new IP address is "192.168.1.10" and the user is angry, the server generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0676] Sending and Displaying Responses
[0677] The server generates a response message and sends it to the terminal, which displays it to the user, completing the interaction.
[0678] Specific examples
[0679] For example, suppose a user inputs "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused. This command is processed as follows:
[0680] 1. The device receives the command
[0681] 2. Send from device to server
[0682] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0683] 4. The emotion engine identifies the user's emotion as "confusion"
[0684] 5. The server accesses the database and retrieves information about all routers in prefecture X.
[0685] 6. Generate a response message based on the obtained router list, generating a sentiment-appropriate message such as "The list of routers in prefecture X is as follows. Please let us know if there is anything else we can help you with."
[0686] 7. Send a response message to the terminal
[0687] 8. The device displays to the user, "The list of routers in prefecture X is below. Let us know if there's anything else we can help you with."
[0688] This invention allows users to easily manage the parameters of network devices by inputting natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0689] The processing flow will be explained below.
[0690] Step 1:
[0691] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[0692] Step 2:
[0693] A terminal receives natural language input from a user.
[0694] Step 3:
[0695] The terminal transmits the received natural language command to the server.
[0696] Step 4:
[0697] The server analyzes the received command using a natural language processing library.
[0698] Tokenization: Breaks the input command into words.
[0699] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[0700] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[0701] Step 5:
[0702] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0703] Step 6:
[0704] The server uses an emotion engine to analyze the user's emotional state.
[0705] The system uses voice tone, command content, and contextual information to identify the user's emotions (such as joy, anger, or sadness).
[0706] Step 7:
[0707] The server accesses a database based on the type and target parameters of the specified command.
[0708] Establish a database connection.
[0709] Get the current IP address information.
[0710] Step 8:
[0711] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[0712] Step 9:
[0713] The server updates the database with the new IP address it generated.
[0714] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[0715] Step 10:
[0716] The server generates a response message in natural language based on the results of the database update.
[0717] Based on the analysis results of the emotion engine, a message is generated that includes a tone and expression appropriate to the user's emotions.
[0718] For example, if the user is angry, it might generate a response message saying, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0719] Step 11:
[0720] The server generates a response message and sends it to the terminal.
[0721] Step 12:
[0722] The terminal displays the response message received from the server to the user.
[0723] For example, it might display "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0724] By following the above steps, users can easily manage the parameters of network devices through natural language input, and the system will provide optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0725] Example 2
[0726] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0727] In conventional parameter management systems for network devices, responses are generated without considering emotions when users operate them in natural language, leading to unsatisfactory user experiences. In particular, when users with little technical knowledge operate the system, there is a concern that the user experience will be poor if the system's responses are not accurate and considerate of emotions.
[0728] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0729] In this invention, the server includes means for receiving a natural language command input by a user, means for analyzing the natural language command to identify the command type and target parameters, means for accessing a database and executing a required operation based on the identified command type and target parameters, means for generating a response message in natural language based on the execution result, means for analyzing the emotional state of the user, and means for adapting the tone and expression of the response message based on the analysis result. This not only allows the user's natural language operation to be appropriately analyzed and processed, but also makes it possible to optimize the tone and expression of the response through emotion recognition.
[0730] "User" refers to the person who operates the system and enters commands in natural language.
[0731] "Terminal" refers to a device through which a user inputs and receives natural language commands.
[0732] "Server" refers to a computing unit that receives, analyzes, processes data sent from a terminal, and generates a response message.
[0733] A "natural language command" refers to an instruction or request entered by a user in human language.
[0734] "Tokenization" refers to the process of breaking down natural language commands into words.
[0735] "Part-of-speech tagging" refers to the process of tagging tokenized words with tags that indicate their grammatical roles.
[0736] "Keyword extraction" refers to the process of selecting important words and phrases from natural language commands.
[0737] "Emotional state" refers to a state that indicates the user's current emotion, such as anger, joy, confusion, etc.
[0738] "Response message" refers to a message generated by the server in natural language and displayed to the user.
[0739] "Database" refers to a system for storing information and performing necessary operations based on specified parameters.
[0740] "Emotion engine" refers to software or algorithms for detecting and analyzing a user's emotions.
[0741] "Parameters" refer to input information and attributes required for configuring and operating network devices.
[0742] This invention is a system that integrates an interactive tool for managing network device parameters in natural language with an emotion engine that recognizes user emotions and optimizes responses. Specific embodiments for implementing this system are described below.
[0743] Receiving natural language commands
[0744] The user uses a terminal to input commands in natural language, such as "Reassign the IP address of Router A." The terminal receives this command and sends it to the server.
[0745] Natural Language Processing (NLP)
[0746] The server parses the received command using a natural language processing library (e.g., NLTK or SpaCy). This process involves the following steps:
[0747] 1. Tokenization: The server breaks the user's command into words.
[0748] 2. Part-of-Speech Tagging: The server tags the tokenized words with their grammatical roles (nouns, verbs, etc.).
[0749] 3. Keyword extraction: The server extracts important words and phrases from the command.
[0750] Interpreting commands and identifying parameters
[0751] The server identifies the command type and target parameters based on the analysis results. For example, the command type is "Reassign IP address" and the target parameter is "Router A."
[0752] Emotion recognition by emotion engine
[0753] The server uses an emotion engine to analyze the user's emotional state, which can use voice tone, command content, and contextual information to identify the user's emotion, for example, whether the user is confused, angry, or happy.
[0754] Database Connection and Operations
[0755] The server accesses the database based on the specified parameters and performs the necessary operations, specifically by performing the following steps:
[0756] 1. Establishing a database connection: The server establishes a connection using the database connection information.
[0757] 2. Obtaining current IP address information: The server obtains the current IP address from the database.
[0758] 3. Generate a new IP address: The server generates a new IP address.
[0759] 4. Update the database with the generated IP address: The server updates the database with the new IP address.
[0760] Generating a response message
[0761] The server generates a response message in natural language based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. For example, if the new IP address is "192.168.1.10" and it recognizes that the user is angry, it generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[0762] Sending and Displaying Responses
[0763] The server then sends the generated response message to the terminal, which then displays the message to the user. This completes the dialogue.
[0764] Specific examples
[0765] For example, if a user types "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused, the server will perform the following actions:
[0766] 1. The command received from the terminal is analyzed, and "Prefecture X" and "Router List" are extracted as keywords.
[0767] 2. The emotion engine identifies the user's emotion as "confused."
[0768] 3. The server accesses the database and retrieves information about all routers in prefecture X.
[0769] 4. Generate a response message based on the obtained list of routers, creating a message that reads, "The list of routers in Prefecture X is as follows. Please let us know if there is anything else we can help you with."
[0770] 5. Sends a response message to the terminal, which displays it to the user.
[0771] Prompt Sentence Examples
[0772] "Print a list of routers in prefecture X"
[0773] This invention allows users to easily manage the parameters of network devices using natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[0774] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0775] Step 1:
[0776] The user inputs a command into the terminal in natural language. For example, "Reassign the IP address of Router A." As input, the user provides instructions in text format to the terminal. The terminal receives this command and saves it as text data. The output is the text data of the command received by the terminal.
[0777] Step 2:
[0778] The terminal sends the received natural language command to the server. This transmission is carried out over a network, providing the text data of the command to the server as input. Specifically, communication protocols such as HTTP requests and RPC (Remote Procedure Call) are used. The output is the text data of the command received by the server.
[0779] Step 3:
[0780] The server parses the received commands using a natural language processing library (NLTK or SpaCy). The input is the text data of the received natural language command. The processing includes the steps of tokenization, part-of-speech tagging, and keyword extraction:
[0781] Tokenization: The server splits the text data into words. For example, "Reassign the IP address of Router A" is split into "Router A", "of", "IP address", "of", "again", and "assign".
[0782] Part-of-speech tagging: The server tags each token with a part of speech, for example, "Router A (noun)", "IP address (noun)", "again (adverb)", "withdraw (verb)", etc.
[0783] Keyword extraction: The server extracts important words and phrases, such as "router A," "IP address," and "reissue."
[0784] The output is structured data of the parsed commands.
[0785] Step 4:
[0786] The server identifies the command type and target parameters based on the analysis results. The input is the analysis result of natural language processing, and the output is the identified command type and parameters. As a specific operation, for example, it identifies that "the command type is IP address re-assignment" and "the target parameters are Router A."
[0787] Step 5:
[0788] The server uses an emotion engine to analyze the user's emotional state. The input is the content of the natural language command and the analysis result. The emotion engine analyzes the text content and identifies the user's emotion (e.g., anger, joy, confusion, etc.). Specifically, it uses specific keywords, phrases, and contextual information to determine the emotion. The output is the user's emotional state.
[0789] Step 6:
[0790] The server accesses the database based on the specified parameters and performs the required operation. The input is the specified command type and parameters. The specific database operation flow is as follows:
[0791] 1. Establishing a database connection: The server establishes a connection using the database connection information, for example, a Data Source Name (DSN).
[0792] 2. Obtain current IP address information: The server executes the appropriate SQL query to obtain the current IP address information.
[0793] 3. Generate a new IP address: Generate a new IP address from an available IP address range, for example, by selecting an unused address from an IP address pool.
[0794] 4. Update the generated IP address to the database: The new IP address is saved in the database using the SQL UPDATE statement.
[0795] The output is the result of a database operation.
[0796] Step 7:
[0797] The server generates a response message based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. The input is the database operation result and the user's emotional state. For example, it adjusts the content and expression to something like, "The new IP address is 192.168.1.10. We apologize for the inconvenience." The output is the generated response message.
[0798] Step 8:
[0799] The server sends the generated response message to the terminal. The terminal displays this message to the user. The input is the generated response message. Specifically, the server sends a message in JSON format to the terminal, which parses it and displays it to the user. The output is the response message displayed to the user. This completes the interaction.
[0800] The above is the processing flow including the specific operations and input / output at each step.
[0801] (Application example 2)
[0802] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0803] Conventional factory robot control systems require users to have detailed technical knowledge and are complicated to operate. Furthermore, they lack the quality of the user experience because they do not provide responses that take into account the user's emotions. This has led to issues such as reduced efficiency in factory work and reduced user satisfaction.
[0804] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[0805] In this invention, the server includes means for receiving natural language commands input by a user, means for analyzing the natural language commands to identify the command type and target parameters, means for accessing a database based on the identified command type and target parameters and executing the required operation, means for analyzing the execution results and the user's emotional state and generating a response message, means for displaying the response message to the user, and means for generating commands for operating a robot and sending instructions to a specific robot. This allows the user to intuitively operate the robot using natural language, and the system can provide optimal responses according to the user's emotions, thereby improving work efficiency in the factory and user satisfaction.
[0806] A "user" is a human participant operating an automated robotic system.
[0807] "Natural language commands" refer to instructions or commands entered by a user using normal or spoken language.
[0808] "Parsing" is the process of breaking down complex natural language commands and identifying the command type and target parameters.
[0809] "Command type" is information indicating what type of operation the user's instruction corresponds to.
[0810] "Target parameter" refers to the specific object or setting value to which the command applies.
[0811] A "database" is a system for storing, managing, and accessing information based on specified parameters.
[0812] An "operation" refers to a specific command or action performed on a database, machine, or robot.
[0813] A "response message" is a message that includes the execution result or feedback returned from the system to the user.
[0814] "Emotional state" refers to analyzing the user's emotions and moods and recognizing their state.
[0815] A "robot" is an automated mechanical device that performs specific tasks in a factory based on specified commands.
[0816] "Sending instructions" refers to the act of sending a specific operation command to a device such as a robot based on the analyzed command content.
[0817] The present invention provides a system that allows a user to operate a factory robot using natural language, and that provides an optimal response according to the user's emotions. Specific embodiments for carrying out the present invention will be described below.
[0818] Hardware and Software
[0819] 1. Hardware
[0820] Device: Smartphone or tablet
[0821] Server: High performance server
[0822] Robot: an automated machine that performs a specific task in a factory
[0823] 2. Software
[0824] Natural Language Processing library: NLTK (Natural Language Toolkit) or SpaCy
[0825] Emotion recognition engine: EmotionAnalyzer
[0826] Robot Control SDK: FactoryRobot SDK
[0827] Program processing explanation
[0828] 1. Receiving natural language commands
[0829] The device receives natural language commands entered by the user, which are sent through an input form on the smartphone or tablet.
[0830] 2. Natural Language Processing
[0831] The server analyzes the natural language commands received from the device using a natural language processing library, performing tokenization, part-of-speech tagging, and keyword extraction.
[0832] For example, a command entered by a user such as "Have robot A move the part on shelf B" is tokenized, and keywords such as "robot A," "shelf B," and "moving the part" are extracted.
[0833] 3. Emotion recognition
[0834] When analyzing natural language commands, the server uses an emotion recognition engine to identify the user's emotional state, such as whether the user is confused or anxious.
[0835] 4. Database Access and Manipulation
[0836] The server accesses a database based on the type of command and target parameters specified and performs the necessary operations.
[0837] For example, a new IP address may be generated based on the identified parameters and the database updated.
[0838] 5. Robot Operation
[0839] The server generates robot control commands based on the identified command and target parameters and sends the instructions to the specific robot using the FactoryRobot SDK, which causes the robot to perform the instructed operation.
[0840] 6. Generating a Response Message
[0841] The server generates a response message in natural language based on the execution result and the analysis result of the emotion recognition engine. The response message includes an appropriate tone and expression according to the user's emotion.
[0842] For example, if the user is impatient, a response message might be generated that reads, "Robot A has successfully moved the part on shelf B. Please let us know if you have any questions."
[0843] 7. Sending and Displaying Responses
[0844] The generated response message is sent to the terminal and displayed to the user, allowing the user to receive the robot's work results and feedback.
[0845] Specific examples
[0846] For example, if a user inputs "have robot A move the part on shelf B," the system will process it as follows:
[0847] The device receives the command
[0848] Sending commands from the terminal to the server
[0849] The server performs natural language processing and extracts "Robot A," "Shelf B," and "Parts movement."
[0850] The emotion engine identifies the user's emotion as "impatience"
[0851] The server accesses the database and performs the necessary operations
[0852] Sends instructions to the robot to move parts
[0853] Robot moves parts
[0854] A response message is generated based on the results, displaying "Robot A successfully moved the parts from shelf B. Please let us know if you have any questions."
[0855] Prompt Sentence Examples
[0856] "Have robot A move the parts from shelf B"
[0857] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0858] Step 1:
[0859] A user inputs commands in natural language into a smartphone or tablet, which is received by the device.
[0860] Input: Natural language commands (e.g., "Tell robot A to move the part on shelf B")
[0861] Output: Received natural language command
[0862] Step 2:
[0863] The device sends the received natural language commands to the server, which prepares the received data for analysis.
[0864] Input: Received natural language command
[0865] Output: Natural language command sent to the server
[0866] Step 3:
[0867] The server parses the received commands using a natural language processing library (NLTK or SpaCy), performing tokenization, part-of-speech tagging, and keyword extraction.
[0868] Input: Natural language command (e.g., "Have robot A move the part on shelf B")
[0869] Output: Extracted keywords and structured instructions (e.g., "Robot A," "Shelf B," "Move Parts")
[0870] Step 4:
[0871] The server analyzes the user's emotions using an emotion recognition engine, which identifies emotions from the content of the command and the tone of the voice.
[0872] Input: Natural language commands and their audio tones
[0873] Output: User's emotional state (e.g., "anxious")
[0874] Step 5:
[0875] Based on the type of command and target parameters specified, the server accesses the database and performs the necessary operations, e.g., generates new parameters and updates the database.
[0876] Input: The type of command identified and the target parameters (e.g., "Robot A", "Shelf B", "Move Part")
[0877] Output: Updated database information
[0878] Step 6:
[0879] The server generates robot control commands based on the analysis results, and uses the FactoryRobot SDK to send the commands to the specified robot to perform the operation.
[0880] Input: Updated database information and robot control commands
[0881] Output: The operation the robot will perform (e.g., "Move part")
[0882] Step 7:
[0883] The server generates an appropriate response message based on the execution result and the user's emotional state, including a tone and expression appropriate to the user's emotions.
[0884] Input: Robot execution results and user emotional state
[0885] Output: Response message (e.g. "Robot A successfully moved the part from shelf B. Please let us know if you have any questions.")
[0886] Step 8:
[0887] The server generates a response message and sends it to the terminal, which then displays the received message to the user.
[0888] Input: Response message
[0889] Output: Response message displayed on the terminal
[0890] The above processing steps enable users to operate factory robots in natural language and receive execution results and feedback.
[0891] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0892] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0893] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0894] [Third embodiment]
[0895] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0896] 5, the data processing system 310 includes the data processing device 12 and a headset type terminal 314. An example of the data processing device 12 is a server.
[0897] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0898] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0899] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0900] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0901] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0902] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0903] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0904] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0905] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0906] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0907] The present invention relates to a system that provides an interactive tool for a user to manage parameters of network devices in natural language. A specific embodiment for implementing this system will be described below.
[0908] Receiving natural language commands
[0909] First, the user inputs a command in natural language through the terminal. For example, the user inputs "Reassign the IP address of Router A." This command is received by the terminal.
[0910] Natural Language Processing (NLP)
[0911] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library. Specifically, the following process is performed:
[0912] Tokenization: Breaking commands into words.
[0913] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[0914] Keyword extraction: Extract important words and phrases from the command. For example, in this case, "Router A," "IP address," and "reissue" are extracted as keywords.
[0915] Interpreting commands and identifying parameters
[0916] The server identifies the command type and target parameter based on the analysis results. In this example, the command type is "IP address re-assignment" and the target parameter is "Router A."
[0917] Database Connection and Operations
[0918] The server accesses the database based on the specified parameters. The specific steps are as follows:
[0919] 1. Establishing a database connection
[0920] 2. Obtaining your current IP address information
[0921] 3. Generate a new IP address
[0922] 4. Update the generated IP address to the database
[0923] Generating a response message
[0924] The server generates a response message to the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a response message such as "Router A's new IP address is 192.168.1.10."
[0925] Sending and Displaying Responses
[0926] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[0927] Specific examples
[0928] For example, consider the case where a user enters "Print a list of routers in prefecture X." This command is processed according to the following steps:
[0929] 1. The device receives the command
[0930] 2. Send from device to server
[0931] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[0932] 4. The server accesses the database and retrieves information about all routers in prefecture X.
[0933] 5. Create a response message based on the obtained router list and send it to the terminal
[0934] 6. The device displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[0935] This invention allows users to easily perform complex operations in natural language, greatly improving the efficiency of network device management.
[0936] The processing flow will be explained below.
[0937] Step 1:
[0938] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[0939] Step 2:
[0940] A terminal receives natural language input from a user.
[0941] Step 3:
[0942] The terminal transmits the received natural language command to the server.
[0943] Step 4:
[0944] The server analyzes the received command using a natural language processing library (e.g., NLTK or SpaCy).
[0945] Tokenization: Breaks the input command into words.
[0946] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[0947] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[0948] Step 5:
[0949] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[0950] Step 6:
[0951] The server connects to a database to retrieve the current IP address information based on the specified parameters.
[0952] Step 7:
[0953] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[0954] Step 8:
[0955] The server updates the database with the new IP address it generated.
[0956] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[0957] Step 9:
[0958] The server generates a response message in natural language based on the results of the database update, for example, "Router A's new IP address is 192.168.1.10."
[0959] Step 10:
[0960] The server generates a response message and sends it to the terminal.
[0961] Step 11:
[0962] The terminal displays the response message received from the server to the user, for example, "Router A's new IP address is 192.168.1.10."
[0963] By following the above steps, users can easily manage the parameters of network devices through natural language input.
[0964] Example 1
[0965] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0966] Managing modern network devices requires a high level of expertise and involves numerous complex procedures. This results in problems that are time-consuming, labor-intensive, and prone to errors. Furthermore, the configuration and management methods for different network devices are not standardized, making consistent operation difficult. This creates problems, particularly for users without specialized knowledge, who are unable to operate network devices efficiently.
[0967] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0968] In this invention, the server includes: means for receiving a natural language command input by a user; means for analyzing the natural language command to identify the command type and target parameters; means for accessing an information repository based on the identified command type and target parameters and performing the required operation; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for a terminal to analyze the received natural language command and use a natural language processing library to identify the command type and target parameters based on the analysis result; means for the server to identify the command type and target parameters using the natural language processing library; means for the terminal to send the command to the server; and means for the server to access the information repository based on the identified parameters and generate and update new parameters. This allows users without specialized knowledge to manage network devices in natural language, enabling efficient and error-free operation.
[0969] A "user" is a person who uses this system to input commands in natural language and manage network devices.
[0970] A "natural language command" is a statement written in a human language that a user uses to input instructions to a system.
[0971] A "terminal" is a device used by a user to input natural language commands, including a personal computer, smartphone, tablet, etc.
[0972] A "server" is a central computer system that interprets natural language commands sent from the terminals and performs the necessary database operations.
[0973] A "natural language processing library" is a software toolkit used to parse natural language commands and provides functionality for tokenization, part-of-speech tagging, keyword extraction, etc.
[0974] The "command type" is the type of operation indicated by the received natural language command, and specifically indicates what action should be taken.
[0975] The "target parameters" are the network devices and their setting items that are specified as the target of operation by the natural language command.
[0976] The "information repository" is a database for managing the configuration information and parameters of network devices.
[0977] A "response message" is a message in natural language that the server generates to inform the user of the execution result.
[0978] "Tokenization" is the process by which natural language processing libraries break natural language commands into words and phrases.
[0979] "Part-of-speech tagging" is the process of labeling tokenized words with their parts of speech (nouns, verbs, adjectives, etc.).
[0980] "Keyword extraction" is the process of extracting important words and phrases from natural language commands.
[0981] "New parameters" are new setting values that are generated when updating the settings of existing network devices or when setting new settings.
[0982] The present invention relates to a system that provides an interactive tool that allows a user to manage parameters of network devices in natural language. Specific embodiments for carrying out the present invention will be described below.
[0983] System Overview
[0984] The system consists of three main components: the user, the terminal, and the server. The user inputs commands in natural language through the terminal, and the server analyzes the commands and performs appropriate data processing.
[0985] Hardware and software used
[0986] Devices: PCs, smartphones, tablets, etc.
[0987] Server: A computer system with a powerful central processing unit.
[0988] Natural Language Processing Library: spaCy for Python
[0989] Database: MySQL
[0990] IP address generation library: Python's ipaddress library
[0991] Database connection library: Python mysql-connector
[0992] Processing Details
[0993] 1. Entering and receiving natural language commands
[0994] The user uses the terminal to input a command in natural language. For example, "Reassign the IP address of Router A." The terminal receives this command and stores it in its internal memory. At the same time, it displays a message to the user confirming that the command was received.
[0995] 2. Natural Language Processing
[0996] The terminal sends the received command to the server, which then uses the Python library spaCy to perform the following natural language processing:
[0997] Tokenization: Divide the command into words. For example, it is divided into "Router A", "of", "IP address", "of", "again", and "issue".
[0998] Part-of-speech tagging: tag each word with its part of speech. For example: "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[0999] Keyword extraction: Extract important words and phrases. Examples: "Router A", "IP address", "reissue".
[1000] 3. Interpreting commands and identifying parameters
[1001] The server identifies the command type and target parameter based on the analysis results. In this case, the command type is "IP address re-assignment" and the target parameter is "Router A."
[1002] 4. Database Connection and Operation
[1003] The server connects to the MySQL database and performs the following operations:
[1004] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[1005] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[1006] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[1007] Update generated IP address to database: Update the new IP address to the database.
[1008] 5. Generating a Response Message
[1009] The server generates a response message for the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a message such as "Router A's new IP address is 192.168.1.10".
[1010] 6. Sending and Displaying Responses
[1011] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[1012] Specific examples
[1013] For example, if a user inputs "Print a list of routers in prefecture X," the following steps are taken:
[1014] 1. The user enters a command into the terminal, which receives it.
[1015] 2. The terminal sends this command to the server.
[1016] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[1017] 4. The server connects to the MySQL database and runs a query to retrieve the desired router information.
[1018] 5. The server generates a response message based on the obtained router list and sends it to the terminal.
[1019] 6. The terminal displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[1020] An example of this prompt statement:
[1021] "List all router information in prefecture X"
[1022] Examples include:
[1023] This invention allows users without specialized knowledge to easily manage network devices using natural language, and enables efficient and error-free operations, significantly improving overall operational efficiency.
[1024] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1025] Step 1:
[1026] The user enters a command in natural language, for example, "Reassign the IP address of Router A." This input is made through an input field displayed on the terminal's user interface. The terminal receives this input and stores it in its internal memory. As an output, the terminal displays a message to the user confirming receipt of the command.
[1027] Step 2:
[1028] The terminal sends the received natural language command to the server. As input, the natural language command stored on the terminal is used. As output, the terminal forwards this command to the server. This confirms that the command reaches the server.
[1029] Step 3:
[1030] The server parses the received command. Specifically, it uses the Python library spaCy to perform the following natural language processing: The natural language command sent to the server is used as input.
[1031] Tokenization: Divide the command into words. For example, "Router A", "of", "IP address", "of", "again", and "issue".
[1032] Part-of-speech tagging: tag each word with its part of speech, e.g., "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[1033] Keyword extraction: Extracts important words and phrases. For example, "Router A," "IP address," and "reissue" are extracted.
[1034] As output, a parsing result is produced, identifying the command type and target parameters.
[1035] Step 4:
[1036] The server identifies the command type and target parameters based on the analysis results. The natural language processing analysis results are used as input. The command type (e.g., "Reassign IP address") and target parameters (e.g., "Router A") are identified as output.
[1037] Step 5:
[1038] The server connects to the MySQL database and performs the necessary operations. The specific steps are as follows:
[1039] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[1040] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[1041] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[1042] Update generated IP address to database: Update the new IP address to the database.
[1043] As input, the specified command type and target parameters are used, and as output, a new IP address (e.g., "192.168.1.10") is generated / updated.
[1044] Step 6:
[1045] The server generates a response message for the user based on the results of the database operation. As input, it uses the updated database result (the new IP address). As output, it generates a response message such as "Router A's new IP address is 192.168.1.10."
[1046] Step 7:
[1047] The server sends the generated response message to the terminal. The generated response message is used as input. The response message is sent to the terminal as output.
[1048] Step 8:
[1049] The terminal displays the response message received from the server to the user. As input, the response message sent to the terminal is used. As output, the response message is displayed in the user interface. For example, the message "Router A's new IP address is 192.168.1.10" will be displayed.
[1050] (Application example 1)
[1051] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1052] Currently, managing network equipment (routers, switches, etc.) in brick-and-mortar stores requires specialized knowledge and expertise, making it complex and difficult for general store staff. Furthermore, there is a lack of efficient tools for quickly troubleshooting network equipment and changing settings. Under these circumstances, streamlining and simplifying network management in store operations is a challenge.
[1053] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1054] In this invention, the server includes: means for receiving natural language commands input by a user; means for analyzing the natural language commands to identify the command type and target parameters; means for accessing a database and performing the required operation based on the identified command type and target parameters; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for providing interactive support to facilitate management of network devices in a physical store; and means for inputting commands via voice or text through a smart device. This enables store staff without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, thereby improving the efficiency of network management in physical stores. Furthermore, the use of smart devices enables more flexible and prompt responses.
[1055] "User-input natural language commands" refers to words input by a system user via voice or text that instruct the operation or management of network devices.
[1056] "Means for parsing" refers to a method for interpreting input natural language commands, understanding the content of the commands, and extracting key words and phrases.
[1057] "Command type" is a classification that indicates the type and purpose of each command interpreted by the system, and includes, for example, setting changes and status checks.
[1058] "Target parameter" refers to the specific device or setting item that is the target of the operation in the command.
[1059] "Means for accessing the database" refers to a method for reading out related information and setting data based on specified parameters and updating them as necessary.
[1060] "Means for generating a response message in natural language based on the execution result" refers to a method for generating the result of a database operation as a message in natural language in a user-friendly format.
[1061] "Means for displaying a response message to a user" refers to a method for displaying the generated response message on the user's device screen.
[1062] "Means for providing interactive support to facilitate the management of network devices in physical stores" refers to interactive support functions that enable users to easily manage network devices such as routers and access points used in physical stores.
[1063] "Means for inputting commands by voice or text through a smart device" refers to a method by which a user can input commands in voice or text format using a device such as a smartphone or head-mounted display.
[1064] This invention relates to an interactive support system for facilitating the management of network devices in brick-and-mortar stores. This system allows users to manage and troubleshoot network devices in natural language using smart devices such as smartphones and head-mounted displays (HMDs).
[1065] First, the user inputs a command in natural language using a smart device. For example, the user inputs an instruction such as "Reassign the IP address of the main router" by voice or text. This command is received by the smart device.
[1066] The received command is then sent to the server, which uses a natural language processing library (e.g., spaCy or transformers' BERT model) to parse the command, tokenize it, tag it as a part of speech, and extract keywords, thereby identifying the command type (e.g., "reclaim IP address") and the target parameters (e.g., "main router").
[1067] Based on the parsed results, the server accesses a database and performs the necessary operations, such as generating a new IP address and updating it in the database to change the configuration of a particular network device.
[1068] The result of the database operation is generated as a response message in natural language. For example, if a new IP address is assigned, the response generated is "The new IP address of the main router is 192.168.1.10." This response message is sent to the smart device and displayed to the user.
[1069] This allows users without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, significantly improving the efficiency of network management in brick-and-mortar stores.
[1070] As a concrete example, suppose the user enters the following prompt sentence:
[1071] "Reassign the IP address of the main router"
[1072] In response to this prompt, the system will assign a new IP address and notify the user of the result, making network device management simple and efficient.
[1073] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1074] Step 1:
[1075] The user inputs a natural language command using a smart device. The input command is, for example, a sentence such as "Reassign the IP address of the main router." This command is received by the smart device. The input can be in the form of voice or text. The input here is a natural language command, and the output is the received command as is.
[1076] Step 2:
[1077] The received command is sent by the terminal to the server. The server receives the command and performs natural language processing. This processing includes tokenization, part-of-speech tagging, and keyword extraction. In this step, the input is the received natural language command, and the output is the parsed command type and target parameters. Specifically, the spaCy and transformers libraries are used to perform tokenization and part-of-speech tagging, extracting keywords such as "main router," "IP address," and "reissue."
[1078] Step 3:
[1079] The server identifies the command type and target parameters based on the analysis results. In this identification process, for example, "Reassign IP address" is identified as the command type and "Main router" is identified as the target parameter. The input to this step is the analyzed keyword, and the output is the identified command type and target parameters. In this step, the command is classified based on the analysis results, and a specific operation is determined.
[1080] Step 4:
[1081] The server accesses the database based on the specified command type and target parameters. To access the database, it uses a database management system such as SQLite to, for example, obtain the current IP address, generate a new IP address, and update it in the database. The input to this step is the specified command type and parameters, and the output is the result of executing the database operation. Specifically, it establishes a database connection and executes an "UPDATE" query to register the new IP address.
[1082] Step 5:
[1083] The server generates a response message in natural language based on the results of the database operation. For example, if the new IP address is 192.168.1.10, the message "The new IP address of the main router is 192.168.1.10" is generated. The input of this step is the result of the database operation, and the output is the generated response message. Specifically, the generated new IP address is used to embed the response message template.
[1084] Step 6:
[1085] The server sends the generated response message to the terminal. The terminal receives this response message and displays it to the user. The input here is the generated response message, and the output is the message displayed to the user. Specifically, the message is transferred to the smart device using a message transmission protocol and displayed on the screen.
[1086] This series of steps allows users to easily manage network devices using natural language commands, significantly improving the efficiency of network management in physical stores.
[1087] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1088] The present invention relates to a system incorporating an emotion engine that recognizes the user's emotions and optimizes responses, in addition to an interactive tool that allows users to manage parameters of network devices using natural language. Specific embodiments for implementing this system are described below.
[1089] Receiving natural language commands
[1090] The user inputs a command in natural language through the terminal. For example, "Reassign the IP address of Router A." This command is received by the terminal.
[1091] Natural Language Processing (NLP)
[1092] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library (such as NLTK or SpaCy). Specifically, the following process is performed:
[1093] Tokenization: Breaking commands into words.
[1094] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[1095] Keyword extraction: Extract important words and phrases from the command. For example, "Router A," "IP address," and "reissue" are extracted as keywords.
[1096] Interpreting commands and identifying parameters
[1097] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[1098] Emotion recognition by emotion engine
[1099] The server further analyzes the user's emotional state using an emotion engine, which uses the user's voice tone, command content, and contextual information to determine whether the user is angry, happy, or distressed.
[1100] Database Connection and Operations
[1101] The server accesses the database based on the specified parameters. The operation is performed in the following steps:
[1102] 1. Establishing a database connection
[1103] 2. Obtaining your current IP address information
[1104] 3. Generate a new IP address
[1105] 4. Update the generated IP address to the database
[1106] Generating a response message
[1107] The server generates a response message in natural language based on the results of the database operation. Furthermore, based on the analysis results of the emotion engine, it generates a message that includes a tone and expressions appropriate to the user's emotions. For example, if the new IP address is "192.168.1.10" and the user is angry, the server generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1108] Sending and Displaying Responses
[1109] The server generates a response message and sends it to the terminal, which displays it to the user, completing the interaction.
[1110] Specific examples
[1111] For example, suppose a user inputs "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused. This command is processed as follows:
[1112] 1. The device receives the command
[1113] 2. Send from device to server
[1114] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[1115] 4. The emotion engine identifies the user's emotion as "confusion"
[1116] 5. The server accesses the database and retrieves information about all routers in prefecture X.
[1117] 6. Generate a response message based on the obtained router list, generating a sentiment-appropriate message such as "The list of routers in prefecture X is as follows. Please let us know if there is anything else we can help you with."
[1118] 7. Send a response message to the terminal
[1119] 8. The device displays to the user, "The list of routers in prefecture X is below. Let us know if there's anything else we can help you with."
[1120] This invention allows users to easily manage the parameters of network devices by inputting natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1121] The processing flow will be explained below.
[1122] Step 1:
[1123] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[1124] Step 2:
[1125] A terminal receives natural language input from a user.
[1126] Step 3:
[1127] The terminal transmits the received natural language command to the server.
[1128] Step 4:
[1129] The server analyzes the received command using a natural language processing library.
[1130] Tokenization: Breaks the input command into words.
[1131] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[1132] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[1133] Step 5:
[1134] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[1135] Step 6:
[1136] The server uses an emotion engine to analyze the user's emotional state.
[1137] The system uses voice tone, command content, and contextual information to identify the user's emotions (such as joy, anger, or sadness).
[1138] Step 7:
[1139] The server accesses a database based on the type and target parameters of the specified command.
[1140] Establish a database connection.
[1141] Get the current IP address information.
[1142] Step 8:
[1143] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[1144] Step 9:
[1145] The server updates the database with the new IP address it generated.
[1146] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[1147] Step 10:
[1148] The server generates a response message in natural language based on the results of the database update.
[1149] Based on the analysis results of the emotion engine, a message is generated that includes a tone and expression appropriate to the user's emotions.
[1150] For example, if the user is angry, it might generate a response message saying, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1151] Step 11:
[1152] The server generates a response message and sends it to the terminal.
[1153] Step 12:
[1154] The terminal displays the response message received from the server to the user.
[1155] For example, it might display "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1156] By following the above steps, users can easily manage the parameters of network devices through natural language input, and the system will provide optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1157] Example 2
[1158] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1159] In conventional parameter management systems for network devices, responses are generated without considering emotions when users operate them in natural language, leading to unsatisfactory user experiences. In particular, when users with little technical knowledge operate the system, there is a concern that the user experience will be poor if the system's responses are not accurate and considerate of emotions.
[1160] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1161] In this invention, the server includes means for receiving a natural language command input by a user, means for analyzing the natural language command to identify the command type and target parameters, means for accessing a database and executing a required operation based on the identified command type and target parameters, means for generating a response message in natural language based on the execution result, means for analyzing the emotional state of the user, and means for adapting the tone and expression of the response message based on the analysis result. This not only allows the user's natural language operation to be appropriately analyzed and processed, but also makes it possible to optimize the tone and expression of the response through emotion recognition.
[1162] "User" refers to the person who operates the system and enters commands in natural language.
[1163] "Terminal" refers to a device through which a user inputs and receives natural language commands.
[1164] "Server" refers to a computing unit that receives, analyzes, processes data sent from a terminal, and generates a response message.
[1165] A "natural language command" refers to an instruction or request entered by a user in human language.
[1166] "Tokenization" refers to the process of breaking down natural language commands into words.
[1167] "Part-of-speech tagging" refers to the process of tagging tokenized words with tags that indicate their grammatical roles.
[1168] "Keyword extraction" refers to the process of selecting important words and phrases from natural language commands.
[1169] "Emotional state" refers to a state that indicates the user's current emotion, such as anger, joy, confusion, etc.
[1170] "Response message" refers to a message generated by the server in natural language and displayed to the user.
[1171] "Database" refers to a system for storing information and performing necessary operations based on specified parameters.
[1172] "Emotion engine" refers to software or algorithms for detecting and analyzing a user's emotions.
[1173] "Parameters" refer to input information and attributes required for configuring and operating network devices.
[1174] This invention is a system that integrates an interactive tool for managing network device parameters in natural language with an emotion engine that recognizes user emotions and optimizes responses. Specific embodiments for implementing this system are described below.
[1175] Receiving natural language commands
[1176] The user uses a terminal to input commands in natural language, such as "Reassign the IP address of Router A." The terminal receives this command and sends it to the server.
[1177] Natural Language Processing (NLP)
[1178] The server parses the received command using a natural language processing library (e.g., NLTK or SpaCy). This process involves the following steps:
[1179] 1. Tokenization: The server breaks the user's command into words.
[1180] 2. Part-of-Speech Tagging: The server tags the tokenized words with their grammatical roles (nouns, verbs, etc.).
[1181] 3. Keyword extraction: The server extracts important words and phrases from the command.
[1182] Interpreting commands and identifying parameters
[1183] The server identifies the command type and target parameters based on the analysis results. For example, the command type is "Reassign IP address" and the target parameter is "Router A."
[1184] Emotion recognition by emotion engine
[1185] The server uses an emotion engine to analyze the user's emotional state, which can use voice tone, command content, and contextual information to identify the user's emotion, for example, whether the user is confused, angry, or happy.
[1186] Database Connection and Operations
[1187] The server accesses the database based on the specified parameters and performs the necessary operations, specifically by performing the following steps:
[1188] 1. Establishing a database connection: The server establishes a connection using the database connection information.
[1189] 2. Obtaining current IP address information: The server obtains the current IP address from the database.
[1190] 3. Generate a new IP address: The server generates a new IP address.
[1191] 4. Update the database with the generated IP address: The server updates the database with the new IP address.
[1192] Generating a response message
[1193] The server generates a response message in natural language based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. For example, if the new IP address is "192.168.1.10" and it recognizes that the user is angry, it generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1194] Sending and Displaying Responses
[1195] The server then sends the generated response message to the terminal, which then displays the message to the user. This completes the dialogue.
[1196] Specific examples
[1197] For example, if a user types "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused, the server will perform the following actions:
[1198] 1. The command received from the terminal is analyzed, and "Prefecture X" and "Router List" are extracted as keywords.
[1199] 2. The emotion engine identifies the user's emotion as "confused."
[1200] 3. The server accesses the database and retrieves information about all routers in prefecture X.
[1201] 4. Generate a response message based on the obtained list of routers, creating a message that reads, "The list of routers in Prefecture X is as follows. Please let us know if there is anything else we can help you with."
[1202] 5. Sends a response message to the terminal, which displays it to the user.
[1203] Prompt Sentence Examples
[1204] "Print a list of routers in prefecture X"
[1205] This invention allows users to easily manage the parameters of network devices using natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1206] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1207] Step 1:
[1208] The user inputs a command into the terminal in natural language. For example, "Reassign the IP address of Router A." As input, the user provides instructions in text format to the terminal. The terminal receives this command and saves it as text data. The output is the text data of the command received by the terminal.
[1209] Step 2:
[1210] The terminal sends the received natural language command to the server. This transmission is carried out over a network, providing the text data of the command to the server as input. Specifically, communication protocols such as HTTP requests and RPC (Remote Procedure Call) are used. The output is the text data of the command received by the server.
[1211] Step 3:
[1212] The server parses the received commands using a natural language processing library (NLTK or SpaCy). The input is the text data of the received natural language command. The processing includes the steps of tokenization, part-of-speech tagging, and keyword extraction:
[1213] Tokenization: The server splits the text data into words. For example, "Reassign the IP address of Router A" is split into "Router A", "of", "IP address", "of", "again", and "assign".
[1214] Part-of-speech tagging: The server tags each token with a part of speech, for example, "Router A (noun)", "IP address (noun)", "again (adverb)", "withdraw (verb)", etc.
[1215] Keyword extraction: The server extracts important words and phrases, such as "router A," "IP address," and "reissue."
[1216] The output is structured data of the parsed commands.
[1217] Step 4:
[1218] The server identifies the command type and target parameters based on the analysis results. The input is the analysis result of natural language processing, and the output is the identified command type and parameters. As a specific operation, for example, it identifies that "the command type is IP address re-assignment" and "the target parameters are Router A."
[1219] Step 5:
[1220] The server uses an emotion engine to analyze the user's emotional state. The input is the content of the natural language command and the analysis result. The emotion engine analyzes the text content and identifies the user's emotion (e.g., anger, joy, confusion, etc.). Specifically, it uses specific keywords, phrases, and contextual information to determine the emotion. The output is the user's emotional state.
[1221] Step 6:
[1222] The server accesses the database based on the specified parameters and performs the required operation. The input is the specified command type and parameters. The specific database operation flow is as follows:
[1223] 1. Establishing a database connection: The server establishes a connection using the database connection information, for example, a Data Source Name (DSN).
[1224] 2. Obtain current IP address information: The server executes the appropriate SQL query to obtain the current IP address information.
[1225] 3. Generate a new IP address: Generate a new IP address from an available IP address range, for example, by selecting an unused address from an IP address pool.
[1226] 4. Update the generated IP address to the database: The new IP address is saved in the database using the SQL UPDATE statement.
[1227] The output is the result of a database operation.
[1228] Step 7:
[1229] The server generates a response message based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. The input is the database operation result and the user's emotional state. For example, it adjusts the content and expression to something like, "The new IP address is 192.168.1.10. We apologize for the inconvenience." The output is the generated response message.
[1230] Step 8:
[1231] The server sends the generated response message to the terminal. The terminal displays this message to the user. The input is the generated response message. Specifically, the server sends a message in JSON format to the terminal, which parses it and displays it to the user. The output is the response message displayed to the user. This completes the interaction.
[1232] The above is the processing flow including the specific operations and input / output at each step.
[1233] (Application example 2)
[1234] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1235] Conventional factory robot control systems require users to have detailed technical knowledge and are complicated to operate. Furthermore, they lack the quality of the user experience because they do not provide responses that take into account the user's emotions. This has led to issues such as reduced efficiency in factory work and reduced user satisfaction.
[1236] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1237] In this invention, the server includes means for receiving natural language commands input by a user, means for analyzing the natural language commands to identify the command type and target parameters, means for accessing a database based on the identified command type and target parameters and executing the required operation, means for analyzing the execution results and the user's emotional state and generating a response message, means for displaying the response message to the user, and means for generating commands for operating a robot and sending instructions to a specific robot. This allows the user to intuitively operate the robot using natural language, and the system can provide optimal responses according to the user's emotions, thereby improving work efficiency in the factory and user satisfaction.
[1238] A "user" is a human participant operating an automated robotic system.
[1239] "Natural language commands" refer to instructions or commands entered by a user using normal or spoken language.
[1240] "Parsing" is the process of breaking down complex natural language commands and identifying the command type and target parameters.
[1241] "Command type" is information indicating what type of operation the user's instruction corresponds to.
[1242] "Target parameter" refers to the specific object or setting value to which the command applies.
[1243] A "database" is a system for storing, managing, and accessing information based on specified parameters.
[1244] An "operation" refers to a specific command or action performed on a database, machine, or robot.
[1245] A "response message" is a message that includes the execution result or feedback returned from the system to the user.
[1246] "Emotional state" refers to analyzing the user's emotions and moods and recognizing their state.
[1247] A "robot" is an automated mechanical device that performs specific tasks in a factory based on specified commands.
[1248] "Sending instructions" refers to the act of sending a specific operation command to a device such as a robot based on the analyzed command content.
[1249] The present invention provides a system that allows a user to operate a factory robot using natural language, and that provides an optimal response according to the user's emotions. Specific embodiments for carrying out the present invention will be described below.
[1250] Hardware and Software
[1251] 1. Hardware
[1252] Device: Smartphone or tablet
[1253] Server: High performance server
[1254] Robot: an automated machine that performs a specific task in a factory
[1255] 2. Software
[1256] Natural Language Processing library: NLTK (Natural Language Toolkit) or SpaCy
[1257] Emotion recognition engine: EmotionAnalyzer
[1258] Robot Control SDK: FactoryRobot SDK
[1259] Program processing explanation
[1260] 1. Receiving natural language commands
[1261] The device receives natural language commands entered by the user, which are sent through an input form on the smartphone or tablet.
[1262] 2. Natural Language Processing
[1263] The server analyzes the natural language commands received from the device using a natural language processing library, performing tokenization, part-of-speech tagging, and keyword extraction.
[1264] For example, a command entered by a user such as "Have robot A move the part on shelf B" is tokenized, and keywords such as "robot A," "shelf B," and "moving the part" are extracted.
[1265] 3. Emotion recognition
[1266] When analyzing natural language commands, the server uses an emotion recognition engine to identify the user's emotional state, such as whether the user is confused or anxious.
[1267] 4. Database Access and Manipulation
[1268] The server accesses a database based on the type of command and target parameters specified and performs the necessary operations.
[1269] For example, a new IP address may be generated based on the identified parameters and the database updated.
[1270] 5. Robot Operation
[1271] The server generates robot control commands based on the identified command and target parameters and sends the instructions to the specific robot using the FactoryRobot SDK, which causes the robot to perform the instructed operation.
[1272] 6. Generating a Response Message
[1273] The server generates a response message in natural language based on the execution result and the analysis result of the emotion recognition engine. The response message includes an appropriate tone and expression according to the user's emotion.
[1274] For example, if the user is impatient, a response message might be generated that reads, "Robot A has successfully moved the part on shelf B. Please let us know if you have any questions."
[1275] 7. Sending and Displaying Responses
[1276] The generated response message is sent to the terminal and displayed to the user, allowing the user to receive the robot's work results and feedback.
[1277] Specific examples
[1278] For example, if a user inputs "have robot A move the part on shelf B," the system will process it as follows:
[1279] The device receives the command
[1280] Sending commands from the terminal to the server
[1281] The server performs natural language processing and extracts "Robot A," "Shelf B," and "Parts movement."
[1282] The emotion engine identifies the user's emotion as "impatience"
[1283] The server accesses the database and performs the necessary operations
[1284] Sends instructions to the robot to move parts
[1285] Robot moves parts
[1286] A response message is generated based on the results, displaying "Robot A successfully moved the parts from shelf B. Please let us know if you have any questions."
[1287] Prompt Sentence Examples
[1288] "Have robot A move the parts from shelf B"
[1289] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1290] Step 1:
[1291] A user inputs commands in natural language into a smartphone or tablet, which is received by the device.
[1292] Input: Natural language commands (e.g., "Tell robot A to move the part on shelf B")
[1293] Output: Received natural language command
[1294] Step 2:
[1295] The device sends the received natural language commands to the server, which prepares the received data for analysis.
[1296] Input: Received natural language command
[1297] Output: Natural language command sent to the server
[1298] Step 3:
[1299] The server parses the received commands using a natural language processing library (NLTK or SpaCy), performing tokenization, part-of-speech tagging, and keyword extraction.
[1300] Input: Natural language command (e.g., "Have robot A move the part on shelf B")
[1301] Output: Extracted keywords and structured instructions (e.g., "Robot A," "Shelf B," "Move Parts")
[1302] Step 4:
[1303] The server analyzes the user's emotions using an emotion recognition engine, which identifies emotions from the content of the command and the tone of the voice.
[1304] Input: Natural language commands and their audio tones
[1305] Output: User's emotional state (e.g., "anxious")
[1306] Step 5:
[1307] Based on the type of command and target parameters specified, the server accesses the database and performs the necessary operations, e.g., generates new parameters and updates the database.
[1308] Input: The type of command identified and the target parameters (e.g., "Robot A", "Shelf B", "Move Part")
[1309] Output: Updated database information
[1310] Step 6:
[1311] The server generates robot control commands based on the analysis results, and uses the FactoryRobot SDK to send the commands to the specified robot to perform the operation.
[1312] Input: Updated database information and robot control commands
[1313] Output: The operation the robot will perform (e.g., "Move part")
[1314] Step 7:
[1315] The server generates an appropriate response message based on the execution result and the user's emotional state, including a tone and expression appropriate to the user's emotions.
[1316] Input: Robot execution results and user emotional state
[1317] Output: Response message (e.g. "Robot A successfully moved the part from shelf B. Please let us know if you have any questions.")
[1318] Step 8:
[1319] The server generates a response message and sends it to the terminal, which then displays the received message to the user.
[1320] Input: Response message
[1321] Output: Response message displayed on the terminal
[1322] The above processing steps enable users to operate factory robots in natural language and receive execution results and feedback.
[1323] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1324] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1325] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1326] [Fourth embodiment]
[1327] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1328] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1329] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1330] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1331] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1332] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1333] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1334] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1335] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1336] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1337] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1338] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1339] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1340] The present invention relates to a system that provides an interactive tool for a user to manage parameters of network devices in natural language. A specific embodiment for implementing this system will be described below.
[1341] Receiving natural language commands
[1342] First, the user inputs a command in natural language through the terminal. For example, the user inputs "Reassign the IP address of Router A." This command is received by the terminal.
[1343] Natural Language Processing (NLP)
[1344] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library. Specifically, the following process is performed:
[1345] Tokenization: Breaking commands into words.
[1346] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[1347] Keyword extraction: Extract important words and phrases from the command. For example, in this case, "Router A," "IP address," and "reissue" are extracted as keywords.
[1348] Interpreting commands and identifying parameters
[1349] The server identifies the command type and target parameter based on the analysis results. In this example, the command type is "IP address re-assignment" and the target parameter is "Router A."
[1350] Database Connection and Operations
[1351] The server accesses the database based on the specified parameters. The specific steps are as follows:
[1352] 1. Establishing a database connection
[1353] 2. Obtaining your current IP address information
[1354] 3. Generate a new IP address
[1355] 4. Update the generated IP address to the database
[1356] Generating a response message
[1357] The server generates a response message to the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a response message such as "Router A's new IP address is 192.168.1.10."
[1358] Sending and Displaying Responses
[1359] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[1360] Specific examples
[1361] For example, consider the case where a user enters "Print a list of routers in prefecture X." This command is processed according to the following steps:
[1362] 1. The device receives the command
[1363] 2. Send from device to server
[1364] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[1365] 4. The server accesses the database and retrieves information about all routers in prefecture X.
[1366] 5. Create a response message based on the obtained router list and send it to the terminal
[1367] 6. The device displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[1368] This invention allows users to easily perform complex operations in natural language, greatly improving the efficiency of network device management.
[1369] The processing flow will be explained below.
[1370] Step 1:
[1371] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[1372] Step 2:
[1373] A terminal receives natural language input from a user.
[1374] Step 3:
[1375] The terminal transmits the received natural language command to the server.
[1376] Step 4:
[1377] The server analyzes the received command using a natural language processing library (e.g., NLTK or SpaCy).
[1378] Tokenization: Breaks the input command into words.
[1379] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[1380] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[1381] Step 5:
[1382] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[1383] Step 6:
[1384] The server connects to a database to retrieve the current IP address information based on the specified parameters.
[1385] Step 7:
[1386] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[1387] Step 8:
[1388] The server updates the database with the new IP address it generated.
[1389] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[1390] Step 9:
[1391] The server generates a response message in natural language based on the results of the database update, for example, "Router A's new IP address is 192.168.1.10."
[1392] Step 10:
[1393] The server generates a response message and sends it to the terminal.
[1394] Step 11:
[1395] The terminal displays the response message received from the server to the user, for example, "Router A's new IP address is 192.168.1.10."
[1396] By following the above steps, users can easily manage the parameters of network devices through natural language input.
[1397] Example 1
[1398] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1399] Managing modern network devices requires a high level of expertise and involves numerous complex procedures. This results in problems that are time-consuming, labor-intensive, and prone to errors. Furthermore, the configuration and management methods for different network devices are not standardized, making consistent operation difficult. This creates problems, particularly for users without specialized knowledge, who are unable to operate network devices efficiently.
[1400] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1401] In this invention, the server includes: means for receiving a natural language command input by a user; means for analyzing the natural language command to identify the command type and target parameters; means for accessing an information repository based on the identified command type and target parameters and performing the required operation; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for a terminal to analyze the received natural language command and use a natural language processing library to identify the command type and target parameters based on the analysis result; means for the server to identify the command type and target parameters using the natural language processing library; means for the terminal to send the command to the server; and means for the server to access the information repository based on the identified parameters and generate and update new parameters. This allows users without specialized knowledge to manage network devices in natural language, enabling efficient and error-free operation.
[1402] A "user" is a person who uses this system to input commands in natural language and manage network devices.
[1403] A "natural language command" is a statement written in a human language that a user uses to input instructions to a system.
[1404] A "terminal" is a device used by a user to input natural language commands, including a personal computer, smartphone, tablet, etc.
[1405] A "server" is a central computer system that interprets natural language commands sent from the terminals and performs the necessary database operations.
[1406] A "natural language processing library" is a software toolkit used to parse natural language commands and provides functionality for tokenization, part-of-speech tagging, keyword extraction, etc.
[1407] The "command type" is the type of operation indicated by the received natural language command, and specifically indicates what action should be taken.
[1408] The "target parameters" are the network devices and their setting items that are specified as the target of operation by the natural language command.
[1409] The "information repository" is a database for managing the configuration information and parameters of network devices.
[1410] A "response message" is a message in natural language that the server generates to inform the user of the execution result.
[1411] "Tokenization" is the process by which natural language processing libraries break natural language commands into words and phrases.
[1412] "Part-of-speech tagging" is the process of labeling tokenized words with their parts of speech (nouns, verbs, adjectives, etc.).
[1413] "Keyword extraction" is the process of extracting important words and phrases from natural language commands.
[1414] "New parameters" are new setting values that are generated when updating the settings of existing network devices or when setting new settings.
[1415] The present invention relates to a system that provides an interactive tool that allows a user to manage parameters of network devices in natural language. Specific embodiments for carrying out the present invention will be described below.
[1416] System Overview
[1417] The system consists of three main components: the user, the terminal, and the server. The user inputs commands in natural language through the terminal, and the server analyzes the commands and performs appropriate data processing.
[1418] Hardware and software used
[1419] Devices: PCs, smartphones, tablets, etc.
[1420] Server: A computer system with a powerful central processing unit.
[1421] Natural Language Processing Library: spaCy for Python
[1422] Database: MySQL
[1423] IP address generation library: Python's ipaddress library
[1424] Database connection library: Python mysql-connector
[1425] Processing Details
[1426] 1. Entering and receiving natural language commands
[1427] The user uses the terminal to input a command in natural language. For example, "Reassign the IP address of Router A." The terminal receives this command and stores it in its internal memory. At the same time, it displays a message to the user confirming that the command was received.
[1428] 2. Natural Language Processing
[1429] The terminal sends the received command to the server, which then uses the Python library spaCy to perform the following natural language processing:
[1430] Tokenization: Divide the command into words. For example, it is divided into "Router A", "of", "IP address", "of", "again", and "issue".
[1431] Part-of-speech tagging: tag each word with its part of speech. For example: "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[1432] Keyword extraction: Extract important words and phrases. Examples: "Router A", "IP address", "reissue".
[1433] 3. Interpreting commands and identifying parameters
[1434] The server identifies the command type and target parameter based on the analysis results. In this case, the command type is "IP address re-assignment" and the target parameter is "Router A."
[1435] 4. Database Connection and Operation
[1436] The server connects to the MySQL database and performs the following operations:
[1437] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[1438] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[1439] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[1440] Update generated IP address to database: Update the new IP address to the database.
[1441] 5. Generating a Response Message
[1442] The server generates a response message for the user based on the results of the database operation. For example, if the new IP address is "192.168.1.10", it generates a message such as "Router A's new IP address is 192.168.1.10".
[1443] 6. Sending and Displaying Responses
[1444] The server generates a response message and sends it to the terminal, which receives it and displays it to the user, completing the interaction.
[1445] Specific examples
[1446] For example, if a user inputs "Print a list of routers in prefecture X," the following steps are taken:
[1447] 1. The user enters a command into the terminal, which receives it.
[1448] 2. The terminal sends this command to the server.
[1449] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[1450] 4. The server connects to the MySQL database and runs a query to retrieve the desired router information.
[1451] 5. The server generates a response message based on the obtained router list and sends it to the terminal.
[1452] 6. The terminal displays to the user "List of routers in Prefecture X: Router 1, Router 2, Router 3..."
[1453] An example of this prompt statement:
[1454] "List all router information in prefecture X"
[1455] Examples include:
[1456] This invention allows users without specialized knowledge to easily manage network devices using natural language, and enables efficient and error-free operations, significantly improving overall operational efficiency.
[1457] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1458] Step 1:
[1459] The user enters a command in natural language, for example, "Reassign the IP address of Router A." This input is made through an input field displayed on the terminal's user interface. The terminal receives this input and stores it in its internal memory. As an output, the terminal displays a message to the user confirming receipt of the command.
[1460] Step 2:
[1461] The terminal sends the received natural language command to the server. As input, the natural language command stored on the terminal is used. As output, the terminal forwards this command to the server. This confirms that the command reaches the server.
[1462] Step 3:
[1463] The server parses the received command. Specifically, it uses the Python library spaCy to perform the following natural language processing: The natural language command sent to the server is used as input.
[1464] Tokenization: Divide the command into words. For example, "Router A", "of", "IP address", "of", "again", and "issue".
[1465] Part-of-speech tagging: tag each word with its part of speech, e.g., "router A / noun", "of / particle", "IP address / noun", "o / particle", "again / adverb", "pay out / verb".
[1466] Keyword extraction: Extracts important words and phrases. For example, "Router A," "IP address," and "reissue" are extracted.
[1467] As output, a parsing result is produced, identifying the command type and target parameters.
[1468] Step 4:
[1469] The server identifies the command type and target parameters based on the analysis results. The natural language processing analysis results are used as input. The command type (e.g., "Reassign IP address") and target parameters (e.g., "Router A") are identified as output.
[1470] Step 5:
[1471] The server connects to the MySQL database and performs the necessary operations. The specific steps are as follows:
[1472] Establishing a database connection: Connect to the database using the Python mysql-connector library.
[1473] Obtaining current IP address information: Query the current IP address of the specified "Router A".
[1474] Generate a new IP address: Generate a new IP address using the Python ipaddress library.
[1475] Update generated IP address to database: Update the new IP address to the database.
[1476] As input, the specified command type and target parameters are used, and as output, a new IP address (e.g., "192.168.1.10") is generated / updated.
[1477] Step 6:
[1478] The server generates a response message for the user based on the results of the database operation. As input, it uses the updated database result (the new IP address). As output, it generates a response message such as "Router A's new IP address is 192.168.1.10."
[1479] Step 7:
[1480] The server sends the generated response message to the terminal. The generated response message is used as input. The response message is sent to the terminal as output.
[1481] Step 8:
[1482] The terminal displays the response message received from the server to the user. As input, the response message sent to the terminal is used. As output, the response message is displayed in the user interface. For example, the message "Router A's new IP address is 192.168.1.10" will be displayed.
[1483] (Application example 1)
[1484] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1485] Currently, managing network equipment (routers, switches, etc.) in brick-and-mortar stores requires specialized knowledge and expertise, making it complex and difficult for general store staff. Furthermore, there is a lack of efficient tools for quickly troubleshooting network equipment and changing settings. Under these circumstances, streamlining and simplifying network management in store operations is a challenge.
[1486] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1487] In this invention, the server includes: means for receiving natural language commands input by a user; means for analyzing the natural language commands to identify the command type and target parameters; means for accessing a database and performing the required operation based on the identified command type and target parameters; means for generating a response message in natural language based on the execution result; means for displaying the response message to the user; means for providing interactive support to facilitate management of network devices in a physical store; and means for inputting commands via voice or text through a smart device. This enables store staff without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, thereby improving the efficiency of network management in physical stores. Furthermore, the use of smart devices enables more flexible and prompt responses.
[1488] "User-input natural language commands" refers to words input by a system user via voice or text that instruct the operation or management of network devices.
[1489] "Means for parsing" refers to a method for interpreting input natural language commands, understanding the content of the commands, and extracting key words and phrases.
[1490] "Command type" is a classification that indicates the type and purpose of each command interpreted by the system, and includes, for example, setting changes and status checks.
[1491] "Target parameter" refers to the specific device or setting item that is the target of the operation in the command.
[1492] "Means for accessing the database" refers to a method for reading out related information and setting data based on specified parameters and updating them as necessary.
[1493] "Means for generating a response message in natural language based on the execution result" refers to a method for generating the result of a database operation as a message in natural language in a user-friendly format.
[1494] "Means for displaying a response message to a user" refers to a method for displaying the generated response message on the user's device screen.
[1495] "Means for providing interactive support to facilitate the management of network devices in physical stores" refers to interactive support functions that enable users to easily manage network devices such as routers and access points used in physical stores.
[1496] "Means for inputting commands by voice or text through a smart device" refers to a method by which a user can input commands in voice or text format using a device such as a smartphone or head-mounted display.
[1497] This invention relates to an interactive support system for facilitating the management of network devices in brick-and-mortar stores. This system allows users to manage and troubleshoot network devices in natural language using smart devices such as smartphones and head-mounted displays (HMDs).
[1498] First, the user inputs a command in natural language using a smart device. For example, the user inputs an instruction such as "Reassign the IP address of the main router" by voice or text. This command is received by the smart device.
[1499] The received command is then sent to the server, which uses a natural language processing library (e.g., spaCy or transformers' BERT model) to parse the command, tokenize it, tag it as a part of speech, and extract keywords, thereby identifying the command type (e.g., "reclaim IP address") and the target parameters (e.g., "main router").
[1500] Based on the parsed results, the server accesses a database and performs the necessary operations, such as generating a new IP address and updating it in the database to change the configuration of a particular network device.
[1501] The result of the database operation is generated as a response message in natural language. For example, if a new IP address is assigned, the response generated is "The new IP address of the main router is 192.168.1.10." This response message is sent to the smart device and displayed to the user.
[1502] This allows users without specialized knowledge to manage and troubleshoot network devices using simple natural language commands, significantly improving the efficiency of network management in brick-and-mortar stores.
[1503] As a concrete example, suppose the user enters the following prompt sentence:
[1504] "Reassign the IP address of the main router"
[1505] In response to this prompt, the system will assign a new IP address and notify the user of the result, making network device management simple and efficient.
[1506] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1507] Step 1:
[1508] The user inputs a natural language command using a smart device. The input command is, for example, a sentence such as "Reassign the IP address of the main router." This command is received by the smart device. The input can be in the form of voice or text. The input here is a natural language command, and the output is the received command as is.
[1509] Step 2:
[1510] The received command is sent by the terminal to the server. The server receives the command and performs natural language processing. This processing includes tokenization, part-of-speech tagging, and keyword extraction. In this step, the input is the received natural language command, and the output is the parsed command type and target parameters. Specifically, the spaCy and transformers libraries are used to perform tokenization and part-of-speech tagging, extracting keywords such as "main router," "IP address," and "reissue."
[1511] Step 3:
[1512] The server identifies the command type and target parameters based on the analysis results. In this identification process, for example, "Reassign IP address" is identified as the command type and "Main router" is identified as the target parameter. The input to this step is the analyzed keyword, and the output is the identified command type and target parameters. In this step, the command is classified based on the analysis results, and a specific operation is determined.
[1513] Step 4:
[1514] The server accesses the database based on the specified command type and target parameters. To access the database, it uses a database management system such as SQLite to, for example, obtain the current IP address, generate a new IP address, and update it in the database. The input to this step is the specified command type and parameters, and the output is the result of executing the database operation. Specifically, it establishes a database connection and executes an "UPDATE" query to register the new IP address.
[1515] Step 5:
[1516] The server generates a response message in natural language based on the results of the database operation. For example, if the new IP address is 192.168.1.10, the message "The new IP address of the main router is 192.168.1.10" is generated. The input of this step is the result of the database operation, and the output is the generated response message. Specifically, the generated new IP address is used to embed the response message template.
[1517] Step 6:
[1518] The server sends the generated response message to the terminal. The terminal receives this response message and displays it to the user. The input here is the generated response message, and the output is the message displayed to the user. Specifically, the message is transferred to the smart device using a message transmission protocol and displayed on the screen.
[1519] This series of steps allows users to easily manage network devices using natural language commands, significantly improving the efficiency of network management in physical stores.
[1520] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1521] The present invention relates to a system incorporating an emotion engine that recognizes the user's emotions and optimizes responses, in addition to an interactive tool that allows users to manage parameters of network devices using natural language. Specific embodiments for implementing this system are described below.
[1522] Receiving natural language commands
[1523] The user inputs a command in natural language through the terminal. For example, "Reassign the IP address of Router A." This command is received by the terminal.
[1524] Natural Language Processing (NLP)
[1525] The device sends the received natural language command to the server, which then analyzes the command using a natural language processing library (such as NLTK or SpaCy). Specifically, the following process is performed:
[1526] Tokenization: Breaking commands into words.
[1527] Part-of-speech tagging: Parts of speech are tagged for the segmented words.
[1528] Keyword extraction: Extract important words and phrases from the command. For example, "Router A," "IP address," and "reissue" are extracted as keywords.
[1529] Interpreting commands and identifying parameters
[1530] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[1531] Emotion recognition by emotion engine
[1532] The server further analyzes the user's emotional state using an emotion engine, which uses the user's voice tone, command content, and contextual information to determine whether the user is angry, happy, or distressed.
[1533] Database Connection and Operations
[1534] The server accesses the database based on the specified parameters. The operation is performed in the following steps:
[1535] 1. Establishing a database connection
[1536] 2. Obtaining your current IP address information
[1537] 3. Generate a new IP address
[1538] 4. Update the generated IP address to the database
[1539] Generating a response message
[1540] The server generates a response message in natural language based on the results of the database operation. Furthermore, based on the analysis results of the emotion engine, it generates a message that includes a tone and expressions appropriate to the user's emotions. For example, if the new IP address is "192.168.1.10" and the user is angry, the server generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1541] Sending and Displaying Responses
[1542] The server generates a response message and sends it to the terminal, which displays it to the user, completing the interaction.
[1543] Specific examples
[1544] For example, suppose a user inputs "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused. This command is processed as follows:
[1545] 1. The device receives the command
[1546] 2. Send from device to server
[1547] 3. The server performs natural language processing to extract "Prefecture X" and "Router List" and identify the command type and parameters.
[1548] 4. The emotion engine identifies the user's emotion as "confusion"
[1549] 5. The server accesses the database and retrieves information about all routers in prefecture X.
[1550] 6. Generate a response message based on the obtained router list, generating a sentiment-appropriate message such as "The list of routers in prefecture X is as follows. Please let us know if there is anything else we can help you with."
[1551] 7. Send a response message to the terminal
[1552] 8. The device displays to the user, "The list of routers in prefecture X is below. Let us know if there's anything else we can help you with."
[1553] This invention allows users to easily manage the parameters of network devices by inputting natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1554] The processing flow will be explained below.
[1555] Step 1:
[1556] The user inputs a command in natural language through the terminal, for example, "Reassign the IP address of Router A."
[1557] Step 2:
[1558] A terminal receives natural language input from a user.
[1559] Step 3:
[1560] The terminal transmits the received natural language command to the server.
[1561] Step 4:
[1562] The server analyzes the received command using a natural language processing library.
[1563] Tokenization: Breaks the input command into words.
[1564] Part-of-speech tagging: Each segmented word is tagged with a part of speech.
[1565] Keyword extraction: Extract key keywords (e.g., "router A," "IP address," "reissue") from the natural language command.
[1566] Step 5:
[1567] Based on the analysis results, the server identifies the command type (in this case, "Reassign IP address") and target parameters ("Router A").
[1568] Step 6:
[1569] The server uses an emotion engine to analyze the user's emotional state.
[1570] The system uses voice tone, command content, and contextual information to identify the user's emotions (such as joy, anger, or sadness).
[1571] Step 7:
[1572] The server accesses a database based on the type and target parameters of the specified command.
[1573] Establish a database connection.
[1574] Get the current IP address information.
[1575] Step 8:
[1576] The server generates a new IP address, which involves allocating a new unique IP address from an IP address pool.
[1577] Step 9:
[1578] The server updates the database with the new IP address it generated.
[1579] For example, run the SQL query "UPDATE routers SET ip_address="new address" WHERE name="Router A"".
[1580] Step 10:
[1581] The server generates a response message in natural language based on the results of the database update.
[1582] Based on the analysis results of the emotion engine, a message is generated that includes a tone and expression appropriate to the user's emotions.
[1583] For example, if the user is angry, it might generate a response message saying, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1584] Step 11:
[1585] The server generates a response message and sends it to the terminal.
[1586] Step 12:
[1587] The terminal displays the response message received from the server to the user.
[1588] For example, it might display "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1589] By following the above steps, users can easily manage the parameters of network devices through natural language input, and the system will provide optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1590] Example 2
[1591] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1592] In conventional parameter management systems for network devices, responses are generated without considering emotions when users operate them in natural language, leading to unsatisfactory user experiences. In particular, when users with little technical knowledge operate the system, there is a concern that the user experience will be poor if the system's responses are not accurate and considerate of emotions.
[1593] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1594] In this invention, the server includes means for receiving a natural language command input by a user, means for analyzing the natural language command to identify the command type and target parameters, means for accessing a database and executing a required operation based on the identified command type and target parameters, means for generating a response message in natural language based on the execution result, means for analyzing the emotional state of the user, and means for adapting the tone and expression of the response message based on the analysis result. This not only allows the user's natural language operation to be appropriately analyzed and processed, but also makes it possible to optimize the tone and expression of the response through emotion recognition.
[1595] "User" refers to the person who operates the system and enters commands in natural language.
[1596] "Terminal" refers to a device through which a user inputs and receives natural language commands.
[1597] "Server" refers to a computing unit that receives, analyzes, processes data sent from a terminal, and generates a response message.
[1598] A "natural language command" refers to an instruction or request entered by a user in human language.
[1599] "Tokenization" refers to the process of breaking down natural language commands into words.
[1600] "Part-of-speech tagging" refers to the process of tagging tokenized words with tags that indicate their grammatical roles.
[1601] "Keyword extraction" refers to the process of selecting important words and phrases from natural language commands.
[1602] "Emotional state" refers to a state that indicates the user's current emotion, such as anger, joy, confusion, etc.
[1603] "Response message" refers to a message generated by the server in natural language and displayed to the user.
[1604] "Database" refers to a system for storing information and performing necessary operations based on specified parameters.
[1605] "Emotion engine" refers to software or algorithms for detecting and analyzing a user's emotions.
[1606] "Parameters" refer to input information and attributes required for configuring and operating network devices.
[1607] This invention is a system that integrates an interactive tool for managing network device parameters in natural language with an emotion engine that recognizes user emotions and optimizes responses. Specific embodiments for implementing this system are described below.
[1608] Receiving natural language commands
[1609] The user uses a terminal to input commands in natural language, such as "Reassign the IP address of Router A." The terminal receives this command and sends it to the server.
[1610] Natural Language Processing (NLP)
[1611] The server parses the received command using a natural language processing library (e.g., NLTK or SpaCy). This process involves the following steps:
[1612] 1. Tokenization: The server breaks the user's command into words.
[1613] 2. Part-of-Speech Tagging: The server tags the tokenized words with their grammatical roles (nouns, verbs, etc.).
[1614] 3. Keyword extraction: The server extracts important words and phrases from the command.
[1615] Interpreting commands and identifying parameters
[1616] The server identifies the command type and target parameters based on the analysis results. For example, the command type is "Reassign IP address" and the target parameter is "Router A."
[1617] Emotion recognition by emotion engine
[1618] The server uses an emotion engine to analyze the user's emotional state, which can use voice tone, command content, and contextual information to identify the user's emotion, for example, whether the user is confused, angry, or happy.
[1619] Database Connection and Operations
[1620] The server accesses the database based on the specified parameters and performs the necessary operations, specifically by performing the following steps:
[1621] 1. Establishing a database connection: The server establishes a connection using the database connection information.
[1622] 2. Obtaining current IP address information: The server obtains the current IP address from the database.
[1623] 3. Generate a new IP address: The server generates a new IP address.
[1624] 4. Update the database with the generated IP address: The server updates the database with the new IP address.
[1625] Generating a response message
[1626] The server generates a response message in natural language based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. For example, if the new IP address is "192.168.1.10" and it recognizes that the user is angry, it generates a response message that reads, "Router A's new IP address is 192.168.1.10. We apologize for the inconvenience."
[1627] Sending and Displaying Responses
[1628] The server then sends the generated response message to the terminal, which then displays the message to the user. This completes the dialogue.
[1629] Specific examples
[1630] For example, if a user types "Print a list of routers in prefecture X" and the emotion engine recognizes that the user is confused, the server will perform the following actions:
[1631] 1. The command received from the terminal is analyzed, and "Prefecture X" and "Router List" are extracted as keywords.
[1632] 2. The emotion engine identifies the user's emotion as "confused."
[1633] 3. The server accesses the database and retrieves information about all routers in prefecture X.
[1634] 4. Generate a response message based on the obtained list of routers, creating a message that reads, "The list of routers in Prefecture X is as follows. Please let us know if there is anything else we can help you with."
[1635] 5. Sends a response message to the terminal, which displays it to the user.
[1636] Prompt Sentence Examples
[1637] "Print a list of routers in prefecture X"
[1638] This invention allows users to easily manage the parameters of network devices using natural language, and the system provides optimal responses according to the user's emotions, thereby improving user satisfaction and operational efficiency.
[1639] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1640] Step 1:
[1641] The user inputs a command into the terminal in natural language. For example, "Reassign the IP address of Router A." As input, the user provides instructions in text format to the terminal. The terminal receives this command and saves it as text data. The output is the text data of the command received by the terminal.
[1642] Step 2:
[1643] The terminal sends the received natural language command to the server. This transmission is carried out over a network, providing the text data of the command to the server as input. Specifically, communication protocols such as HTTP requests and RPC (Remote Procedure Call) are used. The output is the text data of the command received by the server.
[1644] Step 3:
[1645] The server parses the received commands using a natural language processing library (NLTK or SpaCy). The input is the text data of the received natural language command. The processing includes the steps of tokenization, part-of-speech tagging, and keyword extraction:
[1646] Tokenization: The server splits the text data into words. For example, "Reassign the IP address of Router A" is split into "Router A", "of", "IP address", "of", "again", and "assign".
[1647] Part-of-speech tagging: The server tags each token with a part of speech, for example, "Router A (noun)", "IP address (noun)", "again (adverb)", "withdraw (verb)", etc.
[1648] Keyword extraction: The server extracts important words and phrases, such as "router A," "IP address," and "reissue."
[1649] The output is structured data of the parsed commands.
[1650] Step 4:
[1651] The server identifies the command type and target parameters based on the analysis results. The input is the analysis result of natural language processing, and the output is the identified command type and parameters. As a specific operation, for example, it identifies that "the command type is IP address re-assignment" and "the target parameters are Router A."
[1652] Step 5:
[1653] The server uses an emotion engine to analyze the user's emotional state. The input is the content of the natural language command and the analysis result. The emotion engine analyzes the text content and identifies the user's emotion (e.g., anger, joy, confusion, etc.). Specifically, it uses specific keywords, phrases, and contextual information to determine the emotion. The output is the user's emotional state.
[1654] Step 6:
[1655] The server accesses the database based on the specified parameters and performs the required operation. The input is the specified command type and parameters. The specific database operation flow is as follows:
[1656] 1. Establishing a database connection: The server establishes a connection using the database connection information, for example, a Data Source Name (DSN).
[1657] 2. Obtain current IP address information: The server executes the appropriate SQL query to obtain the current IP address information.
[1658] 3. Generate a new IP address: Generate a new IP address from an available IP address range, for example, by selecting an unused address from an IP address pool.
[1659] 4. Update the generated IP address to the database: The new IP address is saved in the database using the SQL UPDATE statement.
[1660] The output is the result of a database operation.
[1661] Step 7:
[1662] The server generates a response message based on the results of the database operation. Furthermore, it optimizes the tone and expression of the response message based on the analysis results of the emotion engine. The input is the database operation result and the user's emotional state. For example, it adjusts the content and expression to something like, "The new IP address is 192.168.1.10. We apologize for the inconvenience." The output is the generated response message.
[1663] Step 8:
[1664] The server sends the generated response message to the terminal. The terminal displays this message to the user. The input is the generated response message. Specifically, the server sends a message in JSON format to the terminal, which parses it and displays it to the user. The output is the response message displayed to the user. This completes the interaction.
[1665] The above is the processing flow including the specific operations and input / output at each step.
[1666] (Application example 2)
[1667] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1668] Conventional factory robot control systems require users to have detailed technical knowledge and are complicated to operate. Furthermore, they lack the quality of the user experience because they do not provide responses that take into account the user's emotions. This has led to issues such as reduced efficiency in factory work and reduced user satisfaction.
[1669] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 2 is realized by the following means.
[1670] In this invention, the server includes means for receiving natural language commands input by a user, means for analyzing the natural language commands to identify the command type and target parameters, means for accessing a database based on the identified command type and target parameters and executing the required operation, means for analyzing the execution results and the user's emotional state and generating a response message, means for displaying the response message to the user, and means for generating commands for operating a robot and sending instructions to a specific robot. This allows the user to intuitively operate the robot using natural language, and the system can provide optimal responses according to the user's emotions, thereby improving work efficiency in the factory and user satisfaction.
[1671] A "user" is a human participant operating an automated robotic system.
[1672] "Natural language commands" refer to instructions or commands entered by a user using normal or spoken language.
[1673] "Parsing" is the process of breaking down complex natural language commands and identifying the command type and target parameters.
[1674] "Command type" is information indicating what type of operation the user's instruction corresponds to.
[1675] "Target parameter" refers to the specific object or setting value to which the command applies.
[1676] A "database" is a system for storing, managing, and accessing information based on specified parameters.
[1677] An "operation" refers to a specific command or action performed on a database, machine, or robot.
[1678] A "response message" is a message that includes the execution result or feedback returned from the system to the user.
[1679] "Emotional state" refers to analyzing the user's emotions and moods and recognizing their state.
[1680] A "robot" is an automated mechanical device that performs specific tasks in a factory based on specified commands.
[1681] "Sending instructions" refers to the act of sending a specific operation command to a device such as a robot based on the analyzed command content.
[1682] The present invention provides a system that allows a user to operate a factory robot using natural language, and that provides an optimal response according to the user's emotions. Specific embodiments for carrying out the present invention will be described below.
[1683] Hardware and Software
[1684] 1. Hardware
[1685] Device: Smartphone or tablet
[1686] Server: High performance server
[1687] Robot: an automated machine that performs a specific task in a factory
[1688] 2. Software
[1689] Natural Language Processing library: NLTK (Natural Language Toolkit) or SpaCy
[1690] Emotion recognition engine: EmotionAnalyzer
[1691] Robot Control SDK: FactoryRobot SDK
[1692] Program processing explanation
[1693] 1. Receiving natural language commands
[1694] The device receives natural language commands entered by the user, which are sent through an input form on the smartphone or tablet.
[1695] 2. Natural Language Processing
[1696] The server analyzes the natural language commands received from the device using a natural language processing library, performing tokenization, part-of-speech tagging, and keyword extraction.
[1697] For example, a command entered by a user such as "Have robot A move the part on shelf B" is tokenized, and keywords such as "robot A," "shelf B," and "moving the part" are extracted.
[1698] 3. Emotion recognition
[1699] When analyzing natural language commands, the server uses an emotion recognition engine to identify the user's emotional state, such as whether the user is confused or anxious.
[1700] 4. Database Access and Manipulation
[1701] The server accesses a database based on the type of command and target parameters specified and performs the necessary operations.
[1702] For example, a new IP address may be generated based on the identified parameters and the database updated.
[1703] 5. Robot Operation
[1704] The server generates robot control commands based on the identified command and target parameters and sends the instructions to the specific robot using the FactoryRobot SDK, which causes the robot to perform the instructed operation.
[1705] 6. Generating a Response Message
[1706] The server generates a response message in natural language based on the execution result and the analysis result of the emotion recognition engine. The response message includes an appropriate tone and expression according to the user's emotion.
[1707] For example, if the user is impatient, a response message might be generated that reads, "Robot A has successfully moved the part on shelf B. Please let us know if you have any questions."
[1708] 7. Sending and Displaying Responses
[1709] The generated response message is sent to the terminal and displayed to the user, allowing the user to receive the robot's work results and feedback.
[1710] Specific examples
[1711] For example, if a user inputs "have robot A move the part on shelf B," the system will process it as follows:
[1712] The device receives the command
[1713] Sending commands from the terminal to the server
[1714] The server performs natural language processing and extracts "Robot A," "Shelf B," and "Parts movement."
[1715] The emotion engine identifies the user's emotion as "impatience"
[1716] The server accesses the database and performs the necessary operations
[1717] Sends instructions to the robot to move parts
[1718] Robot moves parts
[1719] A response message is generated based on the results, displaying "Robot A successfully moved the parts from shelf B. Please let us know if you have any questions."
[1720] Prompt Sentence Examples
[1721] "Have robot A move the parts from shelf B"
[1722] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1723] Step 1:
[1724] A user inputs commands in natural language into a smartphone or tablet, which is received by the device.
[1725] Input: Natural language commands (e.g., "Tell robot A to move the part on shelf B")
[1726] Output: Received natural language command
[1727] Step 2:
[1728] The device sends the received natural language commands to the server, which prepares the received data for analysis.
[1729] Input: Received natural language command
[1730] Output: Natural language command sent to the server
[1731] Step 3:
[1732] The server parses the received commands using a natural language processing library (NLTK or SpaCy), performing tokenization, part-of-speech tagging, and keyword extraction.
[1733] Input: Natural language command (e.g., "Have robot A move the part on shelf B")
[1734] Output: Extracted keywords and structured instructions (e.g., "Robot A," "Shelf B," "Move Parts")
[1735] Step 4:
[1736] The server analyzes the user's emotions using an emotion recognition engine, which identifies emotions from the content of the command and the tone of the voice.
[1737] Input: Natural language commands and their audio tones
[1738] Output: User's emotional state (e.g., "anxious")
[1739] Step 5:
[1740] Based on the type of command and target parameters specified, the server accesses the database and performs the necessary operations, e.g., generates new parameters and updates the database.
[1741] Input: The type of command identified and the target parameters (e.g., "Robot A", "Shelf B", "Move Part")
[1742] Output: Updated database information
[1743] Step 6:
[1744] The server generates robot control commands based on the analysis results, and uses the FactoryRobot SDK to send the commands to the specified robot to perform the operation.
[1745] Input: Updated database information and robot control commands
[1746] Output: The operation the robot will perform (e.g., "Move part")
[1747] Step 7:
[1748] The server generates an appropriate response message based on the execution result and the user's emotional state, including a tone and expression appropriate to the user's emotions.
[1749] Input: Robot execution results and user emotional state
[1750] Output: Response message (e.g. "Robot A successfully moved the part from shelf B. Please let us know if you have any questions.")
[1751] Step 8:
[1752] The server generates a response message and sends it to the terminal, which then displays the received message to the user.
[1753] Input: Response message
[1754] Output: Response message displayed on the terminal
[1755] The above processing steps enable users to operate factory robots in natural language and receive execution results and feedback.
[1756] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1757] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1758] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1759] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1760] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1761] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1762] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1763] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1764] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1765] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1766] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1767] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1768] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1769] 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.
[1770] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1771] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1772] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1773] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1774] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1775] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1776] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1777] The following is further disclosed regarding the above embodiment.
[1778] (Claim 1)
[1779] means for receiving natural language commands input from a user;
[1780] means for parsing said natural language command to identify the command type and target parameters;
[1781] means for accessing a database and performing the required operations based on the identified command type and target parameters;
[1782] means for generating a response message in natural language as a result of the execution;
[1783] means for displaying the response message to a user;
[1784] A system including:
[1785] (Claim 2)
[1786] The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
[1787] (Claim 3)
[1788] 10. The system of claim 1, wherein accessing the database generates and updates new parameters based on the identified parameters.
[1789] "Example 1"
[1790] (Claim 1)
[1791] means for receiving natural language commands input from a user;
[1792] means for parsing said natural language command to identify the command type and target parameters;
[1793] means for accessing the information repository and performing the required operations based on the identified command type and target parameters;
[1794] means for generating a response message in natural language as a result of the execution;
[1795] means for displaying the response message to a user;
[1796] a means for analyzing the natural language command received by the terminal and using a natural language processing library to identify the type of command and target parameters based on the analysis result;
[1797] a means for the server to utilize a natural language processing library to identify the type of command and target parameters;
[1798] a means for the terminal to send commands to the server;
[1799] means for the server to access the information repository based on the identified parameters to generate and update new parameters;
[1800] A system including:
[1801] (Claim 2)
[1802] The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
[1803] (Claim 3)
[1804] 10. The system of claim 1, wherein accessing the repository generates and updates new parameters based on the identified parameters.
[1805] "Application Example 1"
[1806] (Claim 1)
[1807] means for receiving natural language commands input from a user;
[1808] means for parsing said natural language command to identify the command type and target parameters;
[1809] means for accessing a database and performing the required operations based on the identified command type and target parameters;
[1810] means for generating a response message in natural language as a result of the execution;
[1811] means for displaying the response message to a user;
[1812] a means for providing interactive support to facilitate management of network equipment in a brick-and-mortar store;
[1813] a means for inputting commands via voice or text through a smart device;
[1814] A system including:
[1815] (Claim 2)
[1816] The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
[1817] (Claim 3)
[1818] The system of claim 1 , wherein the device is a smartphone or a head-mounted display.
[1819] "Example 2: Combining Emotion Engines"
[1820] (Claim 1)
[1821] means for receiving natural language commands input from a user;
[1822] means for parsing said natural language command to identify the command type and target parameters;
[1823] means for accessing a database and performing the required operations based on the identified command type and target parameters;
[1824] means for generating a response message in natural language as a result of the execution;
[1825] means for displaying the response message to a user;
[1826] means for analyzing the emotional state of a user;
[1827] means for adapting the tone and wording of the response message based on the analysis results;
[1828] A system including:
[1829] (Claim 2)
[1830] The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
[1831] (Claim 3)
[1832] 10. The system of claim 1, wherein accessing the database generates and updates new parameters based on the identified parameters.
[1833] "Application example 2 when combining emotion engines"
[1834] (Claim 1)
[1835] means for receiving natural language commands input from a user;
[1836] means for parsing said natural language command to identify the command type and target parameters;
[1837] means for accessing a database and performing the required operations based on the identified command type and target parameters;
[1838] A means for analyzing the execution result and the user's emotional state and generating a response message;
[1839] means for displaying the response message to a user;
[1840] means for generating commands for operating the robot and sending instructions to a specific robot;
[1841] A system including:
[1842] (Claim 2)
[1843] The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
[1844] (Claim 3)
[1845] 10. The system of claim 1, wherein accessing the database generates and updates new parameters based on the identified parameters. [Explanation of symbols]
[1846] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving natural language commands input from a user; means for parsing said natural language command to identify the command type and target parameters; means for accessing a database and performing the required operations based on the identified command type and target parameters; means for generating a response message in natural language as a result of the execution; means for displaying the response message to a user; A system including:
2. The system of claim 1 , wherein the natural language analysis uses a natural language processing library including tokenization, part-of-speech tagging, and keyword extraction.
3. The system of claim 1 , wherein accessing the database generates and updates new parameters based on the specified parameters.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A