Chatbot information processing device and chatbot information processing method

By introducing reaction data storage mechanism and natural language processing technology into chatbot information processing equipment, the flexibility of external dialogue formats and external device input and output in the prior art is solved, and the improvement of user-specific language understanding and dialogue flexibility is achieved.

JP7648255B1Active Publication Date: 2025-03-18STRIKE FIRST CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024115639
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-07-19
Publication Date
2025-03-18
Estimated Expiration
2044-07-19

AI Technical Summary

Technical Problem

The prior art is difficult to achieve flexibility in conversation formats outside of Q&A and input and output with external devices, and it is difficult to handle user-specific language understanding.

Method used

By introducing a reaction data storage mechanism into the chatbot information processing device, the reaction data containing output processing and recursive processing is generated and output, allowing the device to perform flexible dialogue and input and output operations based on the input information, and improve the accuracy of the conversation through natural language processing and the accumulation of user-specific data.

Benefits of technology

It realizes flexibility in dialogue formats outside the Q&A and input and output operations with external devices, and can predict and understand dialogues according to user specific habits, reducing the dependence on a large amount of pre-prepared data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007648255000001_ABST
    Figure 0007648255000001_ABST
Patent Text Reader

Abstract

To provide a chatbot information processing device that can conduct dialogue and input / output with greater flexibility than conventional devices with regard to the dialogue partner and content. [Solution] The chatbot information processing device 10 is a learning-type chatbot that returns output information in response to given input information through natural language processing using a computer, and is equipped with a memory unit 14 that accumulates reaction data pairing reaction keys and reactions, and an algorithm generation engine unit 13 that analyzes the input information and generates and outputs output information. The algorithm generation engine unit 13 has an input analysis unit 13a that creates a reaction key including a syntax key from the input information, a judgment unit 13b that judges whether reaction data including a reaction corresponding to the created reaction key has been accumulated in the memory unit 14, and a reaction unit 13c that executes an output reaction or a recursive reaction depending on the judgment result.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a learning chatbot information processing device that returns output information in response to given input information through natural language processing using a computer. [Background technology]

[0002] Conventionally, various technologies have been proposed as learning chatbot information processing devices that return output information by natural language processing using a computer in response to given input information (see, for example, Patent Document 1). The technology in Patent Document 1 is a natural language processing system that uses a neural network, receives sentences related to a question and a context, determines a score for the received question and each sentence, uses an encoder and a decoder to generate a minimum set of sentences from the scores associated with the question and sentences, and generates an answer to the question from the minimum set of sentences. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Special Publication No. 2021-515310 Summary of the Invention [Problem to be solved by the invention]

[0004] However, the technology of Patent Document 1 employs a method of accepting questions from a user and returning answers to the user, which has the problem that it cannot handle dialogues other than question-and-answer format. For example, it cannot be applied to responses that include input / output to external devices such as timers, sensors, and home appliances, and therefore lacks flexibility.

[0005] Therefore, an object of the present invention is to provide a chatbot information processing device and a chatbot information processing method that can conduct dialogue and input / output with greater flexibility than conventional methods in terms of the dialogue partner and content. [Means for solving the problem]

[0006] In order to achieve the above object, a chatbot information processing device according to one embodiment of the present invention comprises: Acquired The output information is generated by computer-generated natural language processing based on the input information. Generate and output A learning chatbot information processing device, comprising: a storage unit that accumulates reaction data that pairs a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment materials is connected as a key, with a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process; From the terminal device The input information is acquired and analyzed, and the analysis result is stored in the storage unit. The storage unit is referenced to generate output information in response to the acquired input information. To the terminal device and an algorithm generation engine unit that performs input analysis using natural language processing on the input information to generate a syntax key that is information regarding a syntax based on morphemes that constitute the input information, New Include as one of the components of the response key New An input analysis unit that creates a reaction key, , new Contains the reaction corresponding to the reaction key New A determination unit that determines whether reaction data is stored in the storage unit, and New When it is determined that the reaction data is stored in the storage unit, if the reaction belongs to an output process, the analysis result stored in the storage unit is referenced to generate output information responsive to the input information, and the output information is output. By doing so, the process based on the determination by the determination unit is terminated. When the reaction belongs to a recursive process, Execute the reaction, and display the result of the execution. Judgment results of the judgment materials corresponding to the reaction As and a reaction unit that acquires a key corresponding to the acquired judgment result, adds the key corresponding to the acquired judgment result to the reaction key, and then causes the judgment unit to repeat the judgment using the added reaction key. death , The recursive process includes acquiring information from an external device, analyzing the effect of the acquired information on the generation of output information, acquiring the analysis result as the judgment result, and adding a key corresponding to the acquired judgment result to the reaction key. .

[0007] In order to achieve the above object, a chatbot information processing method according to one embodiment of the present invention includes: Acquired The output information is generated by computer-generated natural language processing based on the input information. Generate and output A learning chatbot information processing method, comprising: a storage unit provided in the computer; storing reaction data in which a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment materials is connected as a key, and a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process, are paired; and the chatbot information processing method includes: From the terminal device The input information is acquired and analyzed, and the analysis result is stored in the storage unit. The storage unit is referenced to generate output information in response to the acquired input information. To the terminal device The algorithm generating step includes an algorithm generating step of performing an input analysis using natural language processing on the input information to generate a syntactic key, which is information on a syntax based on morphemes constituting the input information, New Include as one of the components of the response key New an input analysis step for generating a reaction key; , new Contains the reaction corresponding to the reaction key New A determination step of determining whether reaction data is stored in the storage unit, and New When it is determined that the reaction data is stored in the storage unit, if the reaction belongs to an output process, the analysis result stored in the storage unit is referenced to generate output information responsive to the input information, and the output information is output. By doing so, the process based on the judgment in the judgment step is terminated. When the reaction belongs to a recursive process, Execute the reaction, and display the result of the execution. Judgment results of the judgment materials corresponding to the reaction As and a reaction step of repeating the judgment in the judgment step for the added reaction key after acquiring the key corresponding to the acquired judgment result and adding the key corresponding to the acquired judgment result to the reaction key. fruit , The recursive process includes acquiring information from an external device, analyzing the effect of the acquired information on the generation of output information, acquiring the analysis result as the judgment result, and adding a key corresponding to the acquired judgment result to the reaction key. . Effect of the Invention

[0008] The present invention provides a chatbot information processing device and a chatbot information processing method that can conduct dialogue and input / output with greater flexibility than conventional methods in terms of the dialogue partner and content. [Brief description of the drawings]

[0009] [Figure 1A] FIG. 1A is a block diagram illustrating a configuration example of a chatbot system in which a chatbot information processing device according to an embodiment is applied to a cloud computer. [Figure 1B] FIG. 1B is a block diagram illustrating a configuration example of a robot to which a chatbot information processing device according to an embodiment is implanted. [Diagram 2] FIG. 2 is a block diagram showing a detailed configuration of the chatbot information processing device in FIGS. 1A and 1B. [Figure 3A] FIG. 3A is a flowchart illustrating an overall procedure of processing by a chatbot information processing device according to an embodiment. [Figure 3B] FIG. 3B is a flowchart that further details some of the steps in the flowchart shown in FIG. 3A. [Figure 4A] FIG. 4A is a flowchart showing a detailed procedure of input analysis by the input analyzer, among the processes in the flowcharts shown in FIGS. 3A and 3B. [Figure 4B] FIG. 4B is a flowchart showing a process that follows the flowchart shown in FIG. 4A. [Figure 4C] FIG. 4C is a flowchart showing a process that follows the flowchart shown in FIG. 4B. [Figure 5A] FIG. 5A is a flowchart showing a detailed procedure of response preparation by the reaction unit, among the processes in the flowcharts shown in FIGS. 3A and 3B. [Figure 5B]FIG. 5B is a flowchart showing a process following the flowchart shown in FIG. 5A. [Figure 5C] FIG. 5C is a flowchart showing a process that follows the flowchart shown in FIG. 5B. [Figure 6A] FIG. 6A is a diagram for explaining the premise of dialogue / operation by a chatbot information processing device. [Figure 6B] FIG. 6B is a diagram showing an example of a dialogue / action in the first scenario (scenario 1), illustrating an example of a real-time change in communication. [Figure 6C] FIG. 6C is a diagram showing a second dialogue / operation example (scenario 2), in which the chatbot information processing device asks the user for feedback regarding a morpheme. [Figure 6D] FIG. 6D is a diagram showing a third dialogue / operation example (scenario 3), in which the chatbot information processing device asks the user for feedback regarding zero pronouns. [Figure 6E] FIG. 6E is a diagram showing a fourth dialogue / operation example (scenario 4), in which the chatbot information processing device asks the user for feedback regarding pronouns. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] [Embodiment Mode] A chatbot information processing device according to an embodiment is a learning-type chatbot information processing device that returns output information in response to given input information by natural language processing using a computer, and includes a memory unit that accumulates reaction data paired with a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment materials is connected as a key, and a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process, and an algorithm generation engine unit that acquires and analyzes input information, stores the analysis result in the memory unit, and generates and outputs output information responsive to the acquired input information by referring to the memory unit, and the algorithm generation engine unit configures the input information by performing input analysis using natural language processing on the input information. the input analysis unit creates a reaction key including a syntax key, which is information about a syntax based on a morpheme, as one of the keys constituting the reaction key; a judgment unit judges whether reaction data including a reaction corresponding to the reaction key created by the input analysis unit is stored in the memory unit; and when the judgment unit judges that reaction data including the reaction is stored in the memory unit, if the reaction belongs to an output process, the judgment unit generates and outputs output information responsive to the input information by referring to the analysis result stored in the memory unit, and if the reaction belongs to a recursive process, the reaction unit acquires a judgment result of a judgment material corresponding to the reaction, adds a key corresponding to the acquired judgment result to the reaction key, and then causes the judgment unit to repeat the judgment on the added reaction key.

[0011] As a result, depending on the reaction data stored in the storage unit, the processing procedure and processing contents in the algorithm generation engine unit change, and as a result, it may change which of output processing and recursive processing is executed, in what order they are executed, how many times the recursive processing is repeated, and what external device is the target for input / output, etc. For example, by using the current time as input information as one of the recursive processing and executing processing dependent on the current time, or by issuing an instruction to start a mail server as one of the output processing, it is possible to respond to dialogues other than question and answer format and to apply to input / output targeted at external devices, thereby realizing a chatbot information processing device that can execute dialogues and input / output with greater flexibility than before in terms of the other party and content of the dialogue.

[0012] Here, when the determination unit determines that the reaction data including the reaction is not stored in the storage unit, the reaction unit acquires the reaction data including the reaction from the user and stores it in the storage unit, and then causes the determination unit to repeat the determination. This allows the user to add the missing reaction data and store it in the storage unit when necessary reaction data is not stored in the storage unit, thereby enabling functional expansion of the other party and content of the conversation.

[0013] In addition, in at least one of the following cases during the input analysis: when a morpheme constituting the input information is not any of a plurality of predefined morphemes, when a grammar included in the input information is not any of a plurality of predefined grammars, when a pronoun included in the input information is not any of a plurality of predefined pronouns, and when the input information is a question and an answer corresponding to the question cannot be generated with a reliability equal to or higher than a predetermined standard, the input analysis unit returns a question prepared in advance to the user in correspondence with the case, and continues the input analysis based on the answer obtained from the user to the question.

[0014] As a result, when the chatbot information processing device encounters a case that it cannot solve, it will solve the problem by asking the user a question back, ensuring a reliable solution that reflects the user's intentions, and eliminating the need to prepare huge amounts of program processing and data to handle every possible case, allowing the chatbot information processing device to be realized in a compact size. As a result, it becomes possible to implement or transplant the chatbot information processing device even in server devices or devices with low processing power.

[0015] The input analysis unit also generates information indicating the sequence of morphemes that constitute the input information as the syntactic key. As a result, the input analysis unit extracts and stores from the input information syntax that can be used semi-permanently once it has been learned, so that the input information is stored in a highly active form compared to the case where specific words are stored, making it possible to learn in a short period of time.

[0016] In addition, the memory unit accumulates morpheme data which collects information on morphemes, grammar data which collects information on grammar, branch data which collects information on syntactic branches, and antecedent data which collects information on antecedents, and the input analysis unit generates stored data indicating information on the morphemes, grammar, branch data, and antecedent data of the input information from the input information by referring to the morpheme data, the grammar data, the branch data, and the antecedent data accumulated in the memory unit, and generates the syntactic key by converting the generated stored data into a syntactic key, and the stored data includes an identifier of a user providing the input information.

[0017] As a result, the stored data includes not only content and grammatical information, but also an identifier for the user providing the input information, so that by accumulating and using stored data for each user's account, it becomes possible to make interactions and predictions based on the user's unique habits.

[0018] The algorithm generation engine unit acquires the input information from a first device via a communication path and outputs the output information to a second device via a communication path, the first device including at least one of a timer for measuring date and time, a GPS (Global Positioning System), a sensor for detecting a physical quantity, a measuring instrument for measuring a physical quantity, a microphone, a mobile object, a computer, a storage device, a robot, a production facility, a home appliance, and a communication terminal, and the second device including at least one of a mail server, a speaker, a mobile object, a computer, a storage device, a robot, a production facility, a home appliance, and a communication terminal. This enables not only a question-and-answer style dialogue with a user, but also response processing including input and output to an external device.

[0019] A chatbot information processing method according to an embodiment is a learning-type chatbot information processing method that returns output information in response to given input information by natural language processing using a computer, in which a storage unit included in the computer accumulates reaction data that pairs a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment materials is connected as a key, with a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process, and the chatbot information processing method includes an algorithm generation step of acquiring and analyzing input information, storing the analysis result in the storage unit, and generating and outputting output information in response to the acquired input information by referring to the storage unit, and the algorithm generation step performs input analysis using natural language processing on the input information to generate and output output information in response to the acquired input information. the input analysis step of creating a reaction key including a syntactic key, which is information on a syntax based on morphemes constituting force information, as one of the keys constituting a reaction key; a judgment step of judging whether reaction data including a reaction corresponding to the reaction key created in the input analysis step is stored in the memory unit; and when it is judged by the judgment step that reaction data including the reaction is stored in the memory unit, generating and outputting output information responsive to the input information by referring to the analysis result stored in the memory unit when the reaction belongs to an output process, and when the reaction belongs to a recursive process, acquiring a judgment result of a judgment material corresponding to the reaction, adding a key corresponding to the acquired judgment result to the reaction key, and then repeating the judgment by the judgment step with the added reaction key as a target.

[0020] As a result, depending on the reaction data stored in the storage unit, the processing procedure and processing contents in the algorithm generation step change, and as a result, it may change which of output processing and recursive processing is executed, in what order they are executed, how many times the recursive processing is repeated, and what kind of external device is the target for input / output, etc. For example, by using the current time as input information as one of the recursive processing and executing processing dependent on the current time, or by issuing an instruction to start a mail server as one of the output processing, it is possible to respond to dialogues other than question and answer format and to be applied to input / output targeted at external devices, thereby realizing a chatbot information processing method that can perform dialogues and input / output with greater flexibility than before in terms of the other party and content of the dialogue.

[0021] In addition, the present invention can also be realized as a program that causes a computer to execute the steps included in the above-mentioned chatbot information processing method, or as a computer-readable recording medium such as a DVD or ROM on which the program is recorded.

[0022] [Example] Hereinafter, the embodiments of the present invention will be described in detail with reference to the drawings. Note that each of the embodiments described below shows an example of the present invention. The contents and structure of data, dialogue examples, functional components of a chatbot information processing device, connections between components, processing order, computer implementation, external devices, and interactions with external devices shown in the following embodiments are merely examples and are not intended to limit the present invention.

[0023] (1) The inventor's idea Conventional natural language processing by computers tends to rely on known morphological analysis engines and to solve the problem through mathematical processing. However, the number of patterns in Japanese language easily exceeds 10 to the 100th power even for a sentence of about 40 characters. If it is assumed that the number of seconds in 10 years is 10 to the 8th power, processing at a speed exceeding 10 to the 92nd power per second is necessary to obtain valid statistical data. This shows that a solution through mathematical processing is practically impossible. In addition, conventional chatbot information processing devices rely on an unspecified number of data, and therefore, as shown in the following dialogue examples 1 and 2, processing that takes into account user-specific data is insufficient. In the following dialogue examples, the chatbot information processing device is written as "Chatbot".

[0024] (Dialogue example 1) User: "My blood type is A." Chatbot: “I understand.” User: "What is my blood type?" Chatbot: “I don’t know.” Also, even if a user routinely refers to a cup as "that," the system cannot respond, as shown in the example dialogue below.

[0025] (Dialogue example 2) User: "Get that" Chatbot: “I don’t know.”

[0026] On the other hand, most Japanese people start using Japanese from an early age, and become able to converse naturally around the time they enter elementary school. Some children receive grammar education, but not receiving this education does not mean they will not be able to speak Japanese. This shows that Japanese language education and theory are not necessarily necessary.

[0027] Therefore, the inventor has elucidated conventional theories in natural language processing and reflected the elucidated conventional theories in a chatbot information processing device. To this end, the inventor has focused on the relationship between morphemes and syntax. What is needed is a language processing algorithm that can feed back data acquired from a memory DB (database). This also includes the tendency of anaphoric expressions used by users. The memory DB is a collection (database) of stored data that includes values ​​for each item of the input information, such as morphemes, grammar, branch data, and information on antecedents. A collection of data is called a DB (database).

[0028] The stored data (hereinafter, also referred to as "conceptual data") constituting the storage DB includes user data. Note that the storage DB may be divided into data types according to the usage environment.

[0029] The present invention may be realized by a computing device consisting of a processor and a memory. It also includes chat languages ​​such as browsers and software. The input information includes information acquired by the destination device including the server, information acquired by an external website or system through API integration or crawling, and information acquired by a mail server. The input information obtained from the device includes date and time, capacity, memory, remaining battery level, audio data from a microphone, various sensors, and values ​​obtained from the outside. The output information may be a reply by chat, operation of the destination device, operation of an external website or system through API integration, sending of email, etc. The destination device includes a robot, a drone, a home appliance, a server, a computer, a smartphone, a tablet, etc.

[0030] (2) Explanation of terms The definitions of terms used in the present embodiment will be explained below.

[0031] (2-1) Terms related to overall operation 1) Materials for judgment This is information used to make decisions about generating output information. Specifically, each key is created based on the date and time, GPS, external links, discourse analysis, personal theories, input analysis, etc., and these keys are ultimately connected as reaction keys.

[0032] 2) External collaboration This information is obtained from an external site or device of the chatbot information processing device of the embodiment.

[0033] 3) Reactions This is a response process by a chatbot information processing device, and is expressed as information that specifies the order of execution by linking one or more processes. Basically, there are three types: "initial reaction (pre-processing of branching process by reaction key; input analysis)", "output reaction (output of answer text as output information; output process)", and "recursive reaction (appending to reaction key and recursion; recursive process)". However, there are cases where internal and external systems, sites, databases, etc. are used during processing.

[0034] In particular, the process of adding a reaction key can be realized by linking it within a single reaction (the linked reaction is also called an "integrated reaction"), but it can also be split and run multiple times through a recursive reaction to achieve the same result (the split reaction is also called a "split reaction"). Split reactions offer greater flexibility, but the amount of registration of required reaction data (i.e., reaction training) increases dramatically. Input analysis and answer preparation (i.e., generation of output information) can be realized in any of the three types of reactions mentioned above, and also in both integrated and split reactions.

[0035] 4) Initial reaction This corresponds to the process before deciding whether to use an output reaction or a recursive reaction (i.e., branching process). This allows any variable factor to be used as a trigger for a reaction. For example, even if the access form to the chatbot information processing device is replaced with "HTTP method GET: '0', POST: '1'" or "started by browser: '0', started by receiving email: '1'", if you recurse using the part returned to the reaction, the result of the input analysis can also be reflected by adding it to the reaction key.

[0036] 5) Key It is information that connects the "present (1)", "absent (0)" or concrete values ​​of all elements (i.e., criteria for judgment). A key and a value corresponding to the key are linked, and these sets form the basic structure of all data. It is created immediately after access by a user and during processing within each reaction. The two are interchangeable. As one embodiment, a cloud environment (i.e., the chatbot information processing device is realized in the cloud) is assumed, but depending on the environment, the former may not be necessary. For example, a timer-based startup (daemon) running on a server can be used as a trigger.

[0037] 6) Response key This is information that connects keys created from each decision-making element. It is not necessary to connect all keys, and it can be expanded or contracted depending on the situation. The longer it is, the more complex the reaction will be based on the decision. For example, it is information with the following structure.

[0038] Response key = date / time key + GPS key + external key + discourse key + self-argument key + syntax key 7) Reaction data (reaction DB if multiple) This is information that pairs a reaction key with a reaction, and determines the direction of branching in the above-mentioned branching process.

[0039] 8) Output reaction This is the last reaction to be executed, and output information is provided to the user (however, reactions in which no output information is provided to the user are also included). For example, in the "question answering" process, in which the chatbot information processing device returns an answer sentence as output information in response to a question from a user, "reaction answer," which is one of the output reactions, is executed last. Also, in the "educational learning" process, in which the user teaches things to the chatbot information processing device, "reaction learning," which is one of the output reactions, is executed last.

[0040] 9) Recursive Reactions This is a reaction that is executed exclusively with the output reaction, and after this reaction is executed, the reaction key is extended (i.e., appended) and it returns to the initial reaction. The longer the recursive reaction is (i.e., the more times the recursive reaction is executed), the more precise the situation judgment becomes, but on the other hand, the amount of reaction data required also becomes enormous.

[0041] (2-2) Terms related to input analysis The terms related to input analysis (i.e., analysis of input information) in a chatbot information processing device are as follows:

[0042] 1) Morpheme tags This is additional information that indicates the part of speech or attributes assigned to a morpheme.

[0043] 2) Morpheme data (morpheme DB if multiple) This information uses morphemes as keys and links them to morpheme tags such as parts of speech and attributes.

[0044] 3) Input analysis Input analysis is performed using data and databases of morphemes, grammar, branches, and antecedents, and the input sentence (i.e., input information) is converted into stored data, and the stored data is further converted into morpheme keys and syntax keys.

[0045] 4) Input sentence This is an example of input information, and is the original text that the user entered in the chat input field.

[0046] 5) Delimited Sentences This is a sentence obtained by dividing the input sentence into morpheme units using morpheme data.

[0047] 6) Bigram Processing This is an analysis process that treats the delimited sentences as pairs, starting with the first two, and once processing is complete, shifts them one by one in the order of the second and third, the third and fourth, etc. Once all are completed, the memorized data is complete.

[0048] 7) Grammar data (Grammar DB if multiple) This is information that indicates the processing content assigned to a pair in bigram processing. If there are multiple grammar data for the same pair, it is necessary to specify it using branch data.

[0049] 8) Branch data (branch DB if multiple) When there are multiple grammar data at the same location, this information determines which one to use.

[0050] 9) Morpheme Key This information is generated at the same time as converting stored data into syntactic keys. It is required when answering questions.

[0051] (2-3) Terms related to stored data As described above, the stored data is data generated from the input sentence by input analysis. The terms related to the stored data are as follows:

[0052] 1) Input history Memory data used for discourse analysis.

[0053] 2) Discourse analysis The input history is grouped by topic and the information necessary for input analysis is created. For example, if the input sentence contains pronouns such as "that" or "that," the user is asked to select the antecedent. Morphemes that are determined to be related through discourse analysis are also added as candidates from the options.

[0054] 3) Memory data The input sentence is converted into a delimited sentence, and the delimited sentence is converted into stored data, which may be further converted into expanded data and a syntax key.

[0055] 4) Syntax Key A single line of stored data consisting of multiple lines. Used as the ID of the input sentence.

[0056] 5) Deployment This is a process that creates stored data with the key and value reversed.

[0057] 6) Expanded data This is data that has been expanded from stored data. The input memory unit (input buffer memory) of the chatbot information processing device stores stored data and expanded data. However, depending on the timing of expansion, there are two types: "memory utilization type" and "capacity utilization type." The type is selected according to the hardware performance of the chatbot information processing device.

[0058] 7) Memory utilization type This method stores the stored data in the input memory without expanding it, and expands it after retrieving it as needed. This method consumes a lot of memory.

[0059] 8) Capacity Utilization Type This method expands the stored data and then stores it in the input storage section. Although it consumes capacity in the input storage section, it consumes little memory.

[0060] (2-4) Terms related to answer preparation The terms associated with preparing a response as output information are as follows:

[0061] 1) Evaluation This is the process of counting the number of matches of keywords and chains when recovering sentences from stored data in preparation for an answer. The sentence with the most matches becomes the most likely answer sentence.

[0062] 2) Preparation of answers Using the question tag and chain data and the DB described below, the sentences in the stored data are restored and evaluated, and answer sentences and supplementary explanatory sentences are selected.

[0063] 3) Association The input memory section, which stores stored data and expanded data, counts the number of matches with "keywords related to question tags" and "chains," and selects the most likely answer to the question. It also restores sentences that could be candidates for the answer.

[0064] 4) Question tags This information links the tag of the morpheme that is the core of the question to the syntactic key. During answer preparation, morphemes with this tag are collected as keywords and then used in evaluation during the recovery of the sentence from the memory data. The number of question tags also affects the answer sentence after it is determined, and if there is no sufficient match, a supplementary explanatory sentence is selected.

[0065] 5) Keywords A morpheme that has a question tag as a morpheme tag. The number of matches with the value of the stored data item is counted, and affects the selection of the answer sentence.

[0066] 6) Linkage Data (also called "Evaluation Data") This is data used when answering a question, and is information that links a syntax key to elements that may be answers to the question. Since the order of elements is important in matching, the term "chain" is used. Up to three chains can be specified. The more matches there are, the closer the answer is to the correct one. Cases where there is one, two, and three matching elements are called "1 chain," "2 chain," and "3 chain," respectively. Note that being able to specify up to three chains is just one example, and the number of chains is not limited to this. For example, up to 10 chains may be specified.

[0067] 7) Reconstruction This is a sentence reconstructed by association within memory data.

[0068] 8)Answer text The keyword or sequence that matches best is the recovered sentence that is selected (i.e., the final output information).

[0069] 9) Supplementary explanation This is a reconstructed sentence selected when the question tag of the answer sentence does not match sufficiently, ignoring the match of the chain.

[0070] (3) Configuration of chatbot information processing device 1A is a block diagram showing a configuration example of a chatbot system 100 in which a chatbot information processing device 10 according to an embodiment is applied to a cloud computer. In the chatbot system 100, the chatbot information processing device 10 according to the embodiment serves as a cloud computer and provides services as a chatbot (e.g., "answering questions") to terminal devices 52a to 52b used by each user via a communication network 55 while cooperating with a mail server 50 and a website 51 as necessary.

[0071] 1B is a block diagram showing a configuration example of a robot 110 to which a chatbot information processing device 10 according to an embodiment is implanted. In the robot 110, the chatbot information processing device 10 according to the embodiment is implemented as a controller of the robot 110, and controls, obtains information from, and outputs information to various external devices (a light-emitting unit 60, a camera 61, a voice synthesis unit 62b that outputs a voice signal to a speaker 62a, a voice recognition unit 63b that converts a voice signal from a microphone 63a into voice data, a wireless communication adapter 70, a GPS 71, a timer 72, a temperature sensor 73, an acceleration sensor 74, and a drive unit 75 that drives wheels) to operate the robot 110, converse with people, and control external devices.

[0072] Fig. 2 is a block diagram showing a detailed configuration of the chatbot information processing device 10 in Fig. 1A and Fig. 1B. The chatbot information processing device 10 is a learning chatbot that returns output information in response to given input information through natural language processing using a computer, and includes an input / output unit 11, a control unit 12, and a storage unit 14.

[0073] The input / output unit 11 is an input / output interface that connects the chatbot information processing device 10 to an external device via a signal cable or a communication network 55, and is, for example, a bus interface, a communication adapter, etc.

[0074] The control unit 12 is a controller of the chatbot information processing device 10, and is realized by an input memory unit (input buffer memory) that reads and temporarily stores data stored in the memory unit 14, a main memory that reads and temporarily stores programs stored in the memory unit 14, and a processor that executes the programs, and functionally has a management unit (not shown) that manages access by users through log-on and log-off, and an algorithm generation engine unit 13 that interacts with users and external devices or performs input / output.

[0075] The algorithm generation engine unit 13 is a processing unit that acquires and analyzes input information input from the terminal devices 52a to 52b, etc. via the input / output unit 11, stores the analysis results in the memory unit 14, and also generates output information responsive to the acquired input information by referring to the memory unit 14 and outputs it to the terminal devices 52a to 52b, etc. via the input / output unit 11, and has an input analysis unit 13a, a judgment unit 13b, and a reaction unit 13c.

[0076] The input analysis unit 13a performs input analysis using natural language processing on the input information to create a reaction key that includes a syntax key, which is information regarding a syntax based on the morphemes that constitute the input information, as one of the keys that constitute the reaction key.

[0077] The determination unit 13b determines whether or not reaction data including a reaction corresponding to the reaction key generated by the input analysis unit 13a is stored in the storage unit 14.

[0078] When the judgment unit 13b judges that reaction data including a reaction is stored in the memory unit 14, the reaction unit 13c generates and outputs output information responsive to the input information by referring to the analysis results stored in the memory unit 14 if the reaction belongs to an output process, and when the reaction belongs to a recursive process, it obtains the judgment result of the judgment material corresponding to the reaction, adds a key corresponding to the obtained judgment result to the reaction key, and then causes the judgment by the judgment unit 13b to be repeated for the added reaction key.

[0079] The storage unit 14 is an auxiliary storage device that holds various data and programs required for processing by the control unit 12, and is realized by, for example, a hard disk drive, etc. The storage unit 14 stores various data organized into a DB (database), such as reaction data, morpheme data, delimiter data, grammar data, input tag data, question tag data, evaluation data, etc. These data are referenced and updated via a database management system (not shown) that the control unit 12 has.

[0080] The reaction data is data paired with a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment materials is connected as a key, and a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process. The morpheme data is information in which morpheme tags such as parts of speech and attributes are linked to morphemes as keys. The delimiter data is a sentence in which an input sentence is divided into morpheme units using the morpheme data. The grammar data is information indicating the processing content assigned to a pair in bigram processing. The input tag data is information in which input tags such as "polite, assertion, question, greeting, murmur, affirmation, negation" are linked to a syntax key. The question tag data is information in which a specific question expression is linked to a syntax key. The evaluation data is data used when answering a question, and is information in which a syntax key is linked to an element that can be an answer to a question, and is also called linkage data.

[0081] (4)Characteristics of chatbot information processing device The chatbot information processing device 10 has the following features.

[0082] (4-1) Morpheme and Syntactic Conjugation The chatbot information processing device 10 uses multiple data stored in the memory unit 14 to extract and store syntax from input sentences, which are input information entered by users. Once a syntax is learned, it can be used semi-permanently. Therefore, the combination patterns increase exponentially according to the number of syntaxes, the number of morphemes used in the syntax, the number of replaceable morphemes, etc.

[0083] For example, if the input sentence is "A wa B ga C desu," there are three positions where the morpheme can be placed: A, B, and C. If there are 10 morphemes that can be placed in each position, the combination patterns are 10 to the power of 3, or 1,000 patterns, by simple calculation. In reality, it is unlikely that the sentence will be "Kuruma wa Kuruma ga Kuruma desu," so at least 10 patterns must be subtracted. However, it is easy to imagine that the number could be several hundred times higher. If the input sentence is stored in concrete words rather than morphemes, the number of patterns will be enormous. The largest dictionary in Japan, "Nihon Kokugo Daijiten" (Shogakukan), has 500,000 words. For example, in the case of "A wa B desu," the simple calculation is "(500,000 squared) - 500,000 ≒ 2.5 × 10 to the power of 11." The chatbot information processing device 10 according to the embodiment efficiently processes an enormous number of patterns of input sentences by extracting syntax based on morphemes from the input sentences, storing them, and learning them.

[0084] (4-2) No use of weights The chatbot information processing device 10 performs processing faithful to Japanese grammar by attaching morpheme tags to morphemes and utilizing them. It considers each morpheme more broadly and deeply than humans do, thoroughly eliminating unnecessary patterns. This does not require huge computational resources such as those symbolized by supercomputers and big data. By porting it to hardware other than servers, such as robots, drones, and IoT, it can be fully autonomous even offline without performance degradation.

[0085] In the recent race to develop generative AI, it has become commonplace to waste electricity and semiconductors, and environmentally unfriendly developments are intensifying. In addition, in this field, the technological foundations such as TPU (Tensor Processing Unit; trademark of Google), semiconductor production bases, and AWS (Amazon Web Service; trademark of Amazon.com) are already being seized by Korea, Taiwan, and Big Tech (FAANG, known domestically as GAFA). The chatbot information processing device 10 does not require such overseas special technology. As a result, the chatbot information processing device 10 can be realized in an independent form and maintain sufficient competitiveness using Sakura rental servers, which are representative of domestic technology.

[0086] (4-3)Collecting and reflecting user information In conversation, when a speaker uses pronouns or abbreviated expressions, the listener is required to have the ability to guess the corresponding words. This ability is inaccurate and very inefficient unless it is based on data collected from the speaker, no matter how much data is collected and analyzed externally. The chatbot information processing device 10 accumulates input sentences for each logged-on user account in the form of the above-mentioned stored data, making it possible to make predictions based on the user's unique habits.

[0087] (4-4) Accurate interpretation through questioning The chatbot information processing device 10 does not make easy predictions while the user information is insufficient. In cases of omitted expressions, pronouns, or cases where interpretations differ, the chatbot information processing device 10 asks questions back to thoroughly eliminate ambiguous interpretations. In addition, the questions from the chatbot information processing device 10 used at that time can also be edited by the user through training. The contents of the questions back can be broadly categorized into 1) learning during education, 2) answers to questions, and 3) others, as listed below.

[0088] 1) Learning during education Adding morphemes ·Select how to divide · Bigram processing method -Selection when there are multiple grammatical interpretations · Check pronouns -Check for abbreviations Check input tags 2) Answering questions Check question tags Check the evaluation method (a) Search within stored data Check how to fix it 3)Other -Adding special morphemes

[0089] (4-5) Summary The chatbot information processing device 10 is a hand-crafted algorithm that the generation AI wants to acquire by utilizing vast computational resources in natural language processing. In the first place, it is difficult to theoretically acquire such an algorithm using the generation AI method.

[0090] For example, the number of patterns in shogi is 10 to the power of 220. It is not difficult to imagine that Japanese is more difficult to understand than shogi. In contrast, although there are differences in processors, even if the world's fastest supercomputer, Frontier, were to operate at full capacity for 10 years, the number of patterns that could be solved would be 10 to the power of 26. Even if technological innovations that accelerate speed by several orders of magnitude occur every few years, it is highly doubtful whether the time will come when we will even be able to solve shogi. In other words, it is difficult to construct an algorithm that covers all theoretically possible patterns.

[0091] The inventor has elucidated conventional theories in natural language processing, and has reflected the elucidated conventional theories in information processing in the chatbot information processing device 10. To this end, the inventor has focused on the relationship between morphemes and syntax. What is needed is a language processing algorithm that can feed back data acquired from a memory DB (database), and this language processing algorithm is implemented in the chatbot information processing device 10.

[0092] (5) Operation of the chatbot information processing device Next, the operation of the chatbot information processing device 10 according to the embodiment configured as above (that is, the chatbot information processing method) will be described.

[0093] FIG. 3A is a flowchart showing the overall procedure of processing by the chatbot information processing device 10 according to the embodiment. FIG. 3B is a flowchart showing in more detail some steps (S22, S25, S26) in the flowchart shown in FIG. 3A. Here, the processing procedure is shown taking as an example a case where the chatbot information processing device 10 is realized by a cloud computer or as a robot controller. In FIG. 3A, steps S11 to S13 included in step S10 are user operations, and steps S21 to S27 included in step S20 are processing by the chatbot information processing device 10.

[0094] First, a user accesses the chatbot information processing device 10 through a web browser using the terminal device 52a, and gives an input sentence to the chatbot information processing device 10 (S11).

[0095] In the chatbot information processing device 10 that has been accessed by a user, the input analysis unit 13a of the algorithm generation engine unit 13 reads the reaction database from the memory unit 14 (S21) and then performs input analysis (i.e., initial reaction) on the input sentence currently provided by the user, thereby creating a reaction key based on the decision-making information contained in the input sentence (S22).

[0096] In step S22 (initial reaction), more specifically, referring to FIG. 3B, the input analysis unit 13a creates stored data by input analysis (S22a in FIG. 3B), converts the created stored data into a syntax key (S22b in FIG. 3B), and adds the obtained syntax key to the reaction key (S22c in FIG. 3B).

[0097] 3A, the judgment unit 13b of the algorithm generation engine unit 13 judges whether or not the reaction database read from the storage unit 14 contains reaction data including reaction data corresponding to the reaction key created by the input analysis unit 13a (S23), and if it is determined that the reaction data does not exist (No in S23), it transmits an input field for requesting input of such reaction data to the terminal device 52a (S24). The terminal device 52a that has received the input field accepts input of reaction data from the user and transmits the accepted reaction data to the chatbot information processing device 10 (S12).

[0098] In the chatbot information processing device 10 that receives the reaction data, the judgment unit 13b adds the received reaction data to the reaction database, and then judges again whether reaction data including reaction data corresponding to the reaction key created by the input analysis unit 13a exists in the reaction database (S23).

[0099] As a result, when the judgment unit 13b judges that the reaction data exists (Yes in S23), the reaction unit 13c of the algorithm generation engine unit 13 identifies whether the reaction data included in the reaction data judged to exist corresponds to an output reaction or a recursive reaction, and when it is determined that the reaction data corresponds to an output reaction, it executes the corresponding output reaction (S25) and outputs the answer sentence obtained by the output reaction by sending it to the terminal device 52a (S13), while when it is determined that the reaction data included in the reaction data judged to exist corresponds to a recursive reaction, it executes the corresponding recursive reaction (S26) and adds the execution result to the reaction key (S27).Then, the judgment unit 13b repeats the judgment of whether reaction data including reaction data corresponding to the reaction key exists in the reaction database again for the reaction key added by the reaction unit 13c (S23).

[0100] As shown in the output reactions (S25) of FIG. 3B, the output reactions (S25) include a process called "reaction learning" (S31a to S31c), a process called "reaction answer" (S32a to S32b), a process called "reaction command execution" (S33a to S33b), and a process called "reaction external reference" (S34a to S34b).

[0101] In "reaction learning", in order to notify the user that the input sentence given by the user has been learned, the reaction unit 13c first creates memory data by expanding the input sentence (S31a), then writes the created memory data into the input memory unit (S31b), and then creates a response sentence notifying the user of the completion of learning and transmits it to the user's terminal device 52a (S31c). This corresponds to the above-mentioned "educational learning".

[0102] In the "reaction response", in order to return a Yes / No response to an input sentence given by the user, the reaction unit 13c first adds Yes / No to the beginning of the response sentence corresponding to the input sentence (S32a), and then transmits the obtained response sentence to the user's terminal device 52a (S32b). This corresponds to the above-mentioned "question response".

[0103] In "reaction command execution", in order to receive and respond to the input text given by the user by email as a message request, the reaction unit 13c first accesses the mail server 50 and prepares for transmission (S33a), and then instructs the mail server 50 to send a reply text for the message start notification, thereby sending an email for the message start notification to the user (S33b).

[0104] In the "reaction external reference" method, in order to operate an external device, the reaction unit 13c first executes control over the external device corresponding to the reaction key generated from the input sentence (S34a), and then creates a response sentence notifying the user of the completion of the operation and sends it to the user's terminal device 52a (S34b).

[0105] In this way, by executing the output reaction, a corresponding reply sentence is created (or there may be no reply sentence) and sent to the user's terminal device 52a, the mail server 50, or an external device.

[0106] Also, as shown in the recursive reaction (S26) in FIG. 3B, the recursive reaction (S26) includes a process called "reaction date and time consideration" (S41a to S41b), a process called "reaction GPS consideration" (S42a to S42b), a process called "reaction external linkage consideration" (S43a to S43b), a process called "reaction discourse analysis consideration" (S44a to S44c), a process called "reaction self-theory formation consideration" (S45a to S45c), and a process called "reaction answer narrowing" (S46a to S46c).

[0107] In the "reaction date and time consideration" mode, in order to respond taking into account the current date and time, the reaction unit 13c first obtains the current date and time (e.g., epoch seconds) from a timer 72 or the like accessible to the chatbot information processing device 10, analyzes the effect of the obtained date and time (effect on the process of generating a response sentence) (S41a), and then adds the result to the reaction key (S41b).

[0108] In the "reaction GPS consideration" mode, in order to respond taking into account the current geographical location, the reaction unit 13c first acquires the current geographical location from a GPS 71 or the like accessible to the chatbot information processing device 10, analyzes the effect of the acquired geographical location (the effect on the process of generating an answer sentence) (S42a), and then adds the result to the reaction key (S42b).

[0109] In the "reaction with external collaboration taken into consideration" mode, in order to respond taking into consideration collaboration with external devices, the reaction unit 13c first acquires information from an external device such as a temperature sensor 73 accessible to the chatbot information processing device 10, analyzes the impact of the acquired information (impact on the process of generating an answer sentence) (S43a), and then adds the result to the reaction key (S43b).

[0110] In the "reaction discourse analysis consideration" mode, in order to engage in a conversation with the user, the reaction unit 13c first reads the stored data obtained from the input sentence into the input memory unit (S44a), then performs a prepared analysis as discourse analysis (S44b), and adds the result to the reaction key (S44c).

[0111] In the "reaction considering the formation of one's own theory" mode, in order to support the user in forming his / her own theory, the reaction unit 13c first forms a theory based on stored data obtained from the input sentence (S45a), analyzes the influence of the formed theory (the influence on the process of generating the answer sentence) (S45b), and then adds the result to the reaction key (S45c).

[0112] In the "reaction answer narrowing" step, in order to narrow down the answer sentences to be generated, the reaction unit 13c first reads the stored data obtained from the input sentence into the input memory unit (S46a), then calculates the degree of match in the chain described above (S46b), and adds the calculated result to the reaction key (S46c).

[0113] In this way, the execution result of the recursive reaction is added to the reaction key, and the output reaction or recursive reaction is executed again on the added reaction key, and processing such as "educational learning" and "question answering" is performed.

[0114] For example, "educational learning" is realized by executing steps S22, S23, S31a to S31c in this order, and "question answering" is realized by executing steps S22, S23, S46a to S46c, S23, S32a to S32b in this order.

[0115] The details of the output reaction S25 and the recursive reaction S26 shown in Fig. 3B are merely examples, and as shown in "other reaction materials" in Fig. 3B, other reactions such as "greeting," "advice," "acknowledgement," "ignorance," "counterargument," and "notification" are also provided. Also included are output reactions that end without sending output information to the user, recursive reactions that set or change internal information (modes, flags, etc.), and output reactions that send output information to the user depending on internal information.

[0116] Furthermore, as described above, each reaction shown in FIG. 3B may have a split reaction configuration in which the multiple steps constituting the reaction are split and the recursive reaction goes around multiple times, and similar results may be obtained.

[0117] 4A to 4C are flowcharts showing detailed steps of the input analysis by the input analyzer 13a among the processes in the flowcharts shown in FIGS. 3A and 3B.

[0118] As the input analysis (S100 in FIG. 4A), the input analysis unit 13a first reads the morpheme DB from the storage unit 14 (S101 in FIG. 4A) and executes the morpheme analysis on the input sentence from the user (S102 in FIG. 4A). Then, the input analysis unit 13a judges whether or not there is an unknown morpheme in the input sentence (S103 in FIG. 4A). If it judges that there is an unknown morpheme (Yes in S103 in FIG. 4A), it generates a reverse question by displaying an input field for inputting the unknown morpheme on the user's terminal device 52a (S104 in FIG. 4A), receives the morpheme input by the user in response to the reverse question (S105 in FIG. 4A), and adds the received morpheme to the morpheme DB (S106 in FIG. 4A).

[0119] On the other hand, if it is determined that there are no unknown morphemes (No in S103 of FIG. 4A), the input analysis unit 13a creates a "delimited sentence" by dividing the input sentence into morphemes (S107 of FIG. 4A), and then reads the grammar DB (S108 of FIG. 4A), the branch DB (S109 of FIG. 4A), and further the antecedent DB (S110 of FIG. 4A) from the memory unit 14.

[0120] Then, the input analysis unit 13a performs bigram processing on the delimited sentence by referring to the read grammar DB, branch DB, and antecedent DB (S120 in FIG. 4B). More specifically, the input analysis unit 13a creates a grammar key for the delimited sentence that connects the parts of speech and attributes of the first and second morphemes, and the presence or absence of each main morpheme (S121 in FIG. 4B), and determines whether or not grammar data corresponding to the created grammar key is in the grammar DB (S122 in FIG. 4B). Note that the bigram processing and subsequent processing that depends on the bigram processing are not essential processes to be performed by the input analysis unit 13a.

[0121] As a result, if it is determined that there is no grammar data corresponding to the grammar key in the grammar DB (No in S122 of FIG. 4B), the input analysis unit 13a generates an inverse question by displaying an input field for inputting the unknown grammar data on the user's terminal device 52a (S123 of FIG. 4B), receives the grammar data input by the user in response to this as an answer to the inverse question (S124 of FIG. 4B), and adds the received grammar data to the grammar DB (S125 of FIG. 4B).

[0122] On the other hand, if it is determined that the grammar data corresponding to the grammar key is in the grammar DB (Yes in S122 of FIG. 4B), the input analysis unit 13a then determines whether or not branch data is needed, that is, whether or not an unknown modifier relationship exists in the input sentence (S126 of FIG. 4B). If it is determined that branch data is needed (Yes in S126 of FIG. 4B), the input analysis unit 13a then determines whether or not the branch data corresponding to the grammar key is in the branch DB (S127 of FIG. 4B). If it is determined that the branch data corresponding to the grammar key is not in the branch DB (No in S127 of FIG. 4B), an input field for inputting the unknown branch data is displayed on the user's terminal device 52a to generate a reverse question (S128 of FIG. 4B), and the user's input of the branch data in response to this is received as a response to the reverse question (S129 of FIG. 4B), and the received branch data is added to the branch DB (S130 of FIG. 4B).

[0123] If it is determined in step S126 of FIG. 4B that branch data is not required (No in S126 of FIG. 4B), and if it is determined in step S127 of FIG. 4B that branch data corresponding to the grammar key is in the branch DB (Yes in S127 of FIG. 4B), the input analysis unit 13a advances one bigram (S140 of FIG. 4C) and determines whether or not the bigram processing is completed (S141 of FIG. 4C). If it is not completed (No in S141 of FIG. 4C), the bigram processing (S121 of FIG. 4B to S141 of FIG. 4C) is repeated until it is determined that the bigram processing is completed (Yes in S141 of FIG. 4C).

[0124] After completing the bigram process, the input analysis unit 13a identifies main morphemes and main parts of the input sentence (S142 in FIG. 4C) and generates storage data (S143 in FIG. 4C). Then, the input analysis unit 13a judges whether or not there is a pronoun or a zero pronoun in the stored data (S144 in FIG. 4C), and if there is a pronoun or a zero pronoun (Yes in S144 in FIG. 4C), it judges whether or not that pronoun or zero pronoun is in the antecedent DB (S144a in FIG. 4C), and if there is (Yes in S144a in FIG. 4C), it replaces the pronoun with the found antecedent or substitutes the zero pronoun (S144b in FIG. 4C), while if there is no antecedent (No in S144a in FIG. 4C), it generates a reverse question by displaying an input field for inputting the unknown antecedent on the user's terminal device 52a (S145 in FIG. 4C), receives the antecedent input by the user in response to this as a response to the reverse question (S146 in FIG. 4C), and adds the received antecedent to the antecedent DB (S147 in FIG. 4C). A zero pronoun is a sentence in which the pronoun is omitted.

[0125] Next, the input analysis unit 13a accumulates the stored data in the input memory unit (S148 in FIG. 4C), converts the stored data into a syntax key (S149 in FIG. 4C), generates a morpheme key for each morpheme (S150 in FIG. 4C), and adds the syntax key to the response key (S151 in FIG. 4C).

[0126] In this manner, the input analysis of the input sentence by the input analyzer 13a is completed, and a syntax key is generated.

[0127] 5A to 5C are flow charts showing detailed steps of response preparation by the reaction unit 13c among the processes in the flow charts shown in FIGS. 3A and 3B.

[0128] As a preparation for answering a question (S200 in FIG. 5A), the reaction unit 13c first reads the question tag DB from the storage unit 14 (S201 in FIG. 5A), and then generates an input field for inputting the question tag of the input sentence as an input field for a reverse question to be displayed on the user's terminal device 52a (S202 in FIG. 5A). The reaction unit 13c then judges whether or not data with a matching syntax key is sufficiently stored in the question tag DB (S203 in FIG. 5A). If it is judged that the data is not sufficiently stored (No in S203 in FIG. 5A), the reaction unit 13c makes a reverse question by displaying an input field for inputting a question tag on the user's terminal device 52a, and receives the question tag input by the user in response to the input as an answer to the reverse question (S204 in FIG. 5A), and adds the received question tag to the question tag DB (S205 in FIG. 5A).

[0129] Next, the reaction unit 13c generates a keyword list by listing morphemes having the attribute of the question tag (S206 in FIG. 5A), and generates an input field for inputting a chain as an input field for a reverse question to be displayed on the user's terminal device 52a (S207 in FIG. 5A). The reaction unit 13c reads the chain DB from the storage unit 14 (S208 in FIG. 5A), and judges whether or not there is chain data with a matching syntax key in the chain DB (S210 in FIG. 5B). If it judges that there is no chain data with a matching syntax key in the chain DB (No in S210 in FIG. 5B), it asks a reverse question that displays an input field for inputting a chain on the user's terminal device 52a, and receives the chain input by the user as a response to the reverse question (S211 in FIG. 5B), and adds the received chain to the chain DB (S212 in FIG. 5B).

[0130] Next, the reaction unit 13c reads the data stored in the input storage unit (S213 in FIG. 5B), expands the stored data based on the morphemes that make up the input sentence (S214 in FIG. 5B), and then restores one of the expanded stored data to the original sentence (S215 in FIG. 5B).The reaction unit 13c then determines whether the value of the item of the restored stored data matches a keyword (S216 in FIG. 5B), and if they match (Yes in S216 in FIG. 5B), counts the number of keyword matches by one (S217 in FIG. 5B).

[0131] Next, the reaction unit 13c determines whether the combination of items and values ​​of the restored stored data matches one chain data (S218 in FIG. 5B), and if they match (Yes in S218 in FIG. 5B), counts one chain number as one (S219 in FIG. 5B).

[0132] Similarly, the reaction unit 13c determines whether the combination of items and values ​​of the restored stored data matches the 2-chain data (S220 in FIG. 5C), and if they match (Yes in S220 in FIG. 5C), counts the 2-chain number as 1 (S221 in FIG. 5C).

[0133] Similarly, the reaction unit 13c determines whether the combination of items and values ​​of the restored stored data matches the 3-chain data (S222 in FIG. 5C), and if they match (Yes in S222 in FIG. 5C), counts the number of 3-chains as 1 (S223 in FIG. 5C).

[0134] Then, the reaction unit 13c judges whether the restoration of all the stored data has been completed (S224 in FIG. 5C), and if it has not been completed (No in S224 in FIG. 5C), it continues to restore all the stored data (S215 in FIG. 5B to S224 in FIG. 5C) until it is determined that the restoration is completed (Yes in S224 in FIG. 5C).

[0135] When the restoration of all stored data has been completed, the reaction unit 13c creates a ranking of the restored sentences in the order of the number of keyword matches, the number of three-chain sequences, the number of two-chain sequences, and the number of one-chain sequences (S225 in FIG. 5C), and determines the restored sentence ranked first as the answer sentence (S226 in FIG. 5C).

[0136] Then, the reaction unit 13c judges whether the number of keyword matches for the determined restored sentence is less than the number of question tags (S227 in FIG. 5C), and if so (Yes in S227 in FIG. 5C), determines the restored sentence with the same number of keyword matches as the number of question tags from the ranking as the supplementary explanation sentence (S228 in FIG. 5C), and transmits the answer sentence and, if there is a supplementary explanation sentence, the supplementary explanation sentence to the user's terminal device 52a for display (S229 in FIG. 5C).

[0137] In this manner, the reaction unit 13c completes preparation of the answer, and the answer text or the like is provided to the user.

[0138] (6) Examples of dialogue / operations of chatbot information processing device Below, examples of dialogue / operations by the chatbot information processing device 10 will be explained with reference to Figures 6A to 6E. In Figures 6A to 6E, the numbers on the left side are line numbers for explanatory purposes. Also, in Figures 6B to 6E showing examples of dialogue / operations, the subject of the dialogue (i.e., the user / chatbot information processing device (written as "Chatbot") 10) and example dialogue / operation steps are indented in that order to the right of the line numbers.

[0139] FIG. 6A is a diagram for explaining the premise (i.e., prior settings) of the dialogue / operation by the chatbot information processing device 10. In this example, the chatbot information processing device 10 is pre-configured to change the tone of voice when speaking to the user according to the user's authority (i.e., whether logged on or logged off) (line 11). Specifically, it is set to use non-honorific language (plain language) when logged off (line 12), and to use honorific language (polite language) when logged on (line 13). Note that the morpheme data, grammar data, and other various data mentioned above are all stored in the storage unit 14 as a DB (line 14).

[0140] 6B is a diagram showing an example of a dialogue / operation in the first scenario (scenario 1) and an example of a real-time change in communication. It is now night and the user is logged off (line 101). The user has given the input sentence "Good morning" (for the first time) to the chatbot information processing device 10 (lines 102-103).

[0141] Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 executes the recursive reaction "Consider reaction date and time", which is a recursive reaction pre-registered in correspondence with the reaction key generated from the input analysis of "Good morning", to add the confirmed time period to the reaction key, and then executes the recursive reaction pre-registered in correspondence with the added reaction key, thereby detecting the discrepancy between the fact that it is night and "Good morning", and adds the result to the reaction key (lines 104-105).

[0142] Furthermore, the algorithm generation engine unit 13 recognizes that the consideration function (flag) is off by executing the recursive reaction "Reaction external collaboration consideration", and adds the result to the reaction key (line 106), and then executes the output reaction pre-registered corresponding to the added reaction key to generate the answer sentence "Is it night now?" and send it to the user's terminal device 52a (lines 107-108).

[0143] In response to this, assume that the user provides the input sentence "Read the atmosphere" to the chatbot information processing device 10 (lines 109-110). Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 executes an output reaction to detect the input tag "consideration on" linked to "read the atmosphere" (lines 111-112), switches the consideration function (flag) from off to on (line 113), and ends the response without outputting any particular answer sentence.

[0144] Next, suppose that the user again gives the input sentence "Good morning" (for the second time) to the chatbot information processing device 10 (lines 114-115). Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 detects the input tag "time period is morning" linked to "Good morning" by input analysis (lines 116-117), and executes the output reaction to generate the greeting "Good morning!" linked to logoff and linked to morning as a response sentence and transmit it to the user's terminal device 52a (lines 118-120).

[0145] In response to this, assume that the user provides the chatbot information processing device 10 with an input sentence, "In times like that, say, 'Good morning!'" (lines 121-122). In the chatbot information processing device 10, the algorithm generation engine unit 13 detects the input tag "reply message update" linked to "In times like that, say, 'Good morning!'" through input analysis (lines 123-124), executes a "recursive reaction" to change the reaction data corresponding to this situation (line 125), and then executes an output reaction to generate a reply sentence, "I got it!", and transmits it to the user's terminal device 52a (lines 126-127).

[0146] Next, suppose that the user again gives the input sentence "Good morning" (third time) to the chatbot information processing device 10 (lines 128-129). Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 detects the input tag "time period is morning" linked to "Good morning" by input analysis, and executes the output reaction to generate the changed greeting "Good morning!" linked to logoff and linked to morning as a response sentence and transmit it to the user's terminal device 52a (lines 130-132).

[0147] In this way, by having the chatbot learn to change the reaction data through communication with the chatbot information processing device 10, it becomes possible to change the content of the response by the chatbot information processing device 10 in real time.

[0148] Fig. 6C is a diagram showing an example of a dialogue / operation of the second (scenario 2), in which the chatbot information processing device 10 asks the user to reflect on a morpheme. Now, assume that the user logs in to the chatbot information processing device 10 (line 201), the user ID at that time is "AAA", and the user authority is "general user" (lines 202-203). Then, assume that the user provides the input sentence "I'm eating ramen" to the chatbot information processing device 10 (lines 204-205).

[0149] Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 stops the input analysis because the morpheme "ramen" is not in the morpheme data (lines 206-207), and by activating the asking-again function (line 208), creates a message saying "Please tell me the first word after 'ramen'", and sends it to the user's terminal device 52a (lines 209-210), and transitions to "morpheme confirmation mode" (line 211).

[0150] In response to this, suppose that the user gives the input sentence "It's ramen" to the chatbot information processing device 10 (lines 212-213). In response, in the chatbot information processing device 10, the algorithm generation engine unit 13 adds the morpheme "ramen" as morpheme data (lines 214-215), creates a message saying "Understood," and sends it to the user's terminal device 52a (lines 216-217), and cancels the "morpheme confirmation mode" (line 218).

[0151] In this example, with the authority of a "general user," the system only asks for confirmation of morphemes and pronouns, and if other data is lacking, it sends the user a message stating, "There are some things I don't understand. We will check with the developer, so please wait a few days." (lines 219-222).

[0152] In this way, when an unknown morpheme is input, a question is asked to the user to find a solution that reflects the user's intention, and learning is carried out.

[0153] FIG. 6D is a third (scenario 3) dialogue / operation example, showing an example of the chatbot information processing device 10 asking the user about the zero pronoun. Now, assume that the user logs in to the chatbot information processing device 10 (line 301), the user ID at that time is "BBB", the date is May 24, 2024, and the user authority is "developer" (lines 302-304). Then, assume that the user provides the input sentence "I'm eating ramen" to the chatbot information processing device 10 (lines 305-306).

[0154] Then, in the chatbot information processing device 10, if morpheme data and grammar data related to the input sentence are stored in the memory unit 14 (lines 307 to 308), the algorithm generation engine unit 13 performs input analysis on the input sentence "I'm eating ramen" and converts it into the stored data format (lines 310 to 314) (line 309).

[0155] Then, in the input analysis, the algorithm generation engine unit 13 detects zero pronouns (here, a state in which there is no subject) from the converted stored data (line 320), and by activating the ask-again function (line 321), creates a message saying "Is it you? Please tell us the subject." and sends it to the user's terminal device 52a (lines 322-323), and transitions to "pronoun confirmation mode" (line 324).

[0156] In response to this, suppose that the user gives the input sentence "No, it's CCC" to the chatbot information processing device 10 (lines 325-326). In response, in the chatbot information processing device 10, the algorithm generation engine unit 13 updates the above-mentioned stored data (lines 327-333), creates a message saying "Memorized", sends it to the user's terminal device 52a (lines 340-341), and cancels the "pronoun confirmation mode" (line 342).

[0157] In this way, when an unknown zero pronoun is input during input analysis, a question is asked to the user to find a solution that reflects the user's intention, and learning is carried out.

[0158] 6E is a fourth example of a dialogue / operation (scenario 4), showing an example of the chatbot information processing device 10 asking the user to reflect on the pronoun. Assume that the user has given the chatbot information processing device 10 an input sentence saying, "This is delicious" (lines 401-402).

[0159] Then, in the chatbot information processing device 10, the algorithm generation engine unit 13 detects the pronoun "kore" in the input sentence in the input analysis (lines 403-404), creates a message saying "What does 'kore' mean?" and sends it to the user's terminal device 52a (lines 405-406), and transitions to "pronoun confirmation mode" (line 407). Thereafter, similar to scenario 3, when an unknown pronoun is input, a question is asked back to the user to find a solution that reflects the user's intention, and learning is performed (line 408).

[0160] In this way, when an unknown pronoun is input during input analysis, a question is asked to the user to find a solution that reflects the user's intention, and learning is carried out.

[0161] Although the chatbot information processing device and chatbot information processing method according to the present invention have been described above based on the embodiments and examples, the present invention is not limited to these embodiments and examples. As long as they do not deviate from the gist of the present invention, various modifications conceived by those skilled in the art to the present embodiments and examples, and other forms constructed by combining some of the components in the embodiments and examples are also included within the scope of the present invention.

[0162] For example, the present invention may be realized as a program that causes a computer to execute the steps included in the chatbot information processing method, or as a computer-readable recording medium such as a DVD or ROM on which the program is recorded.

[0163] Furthermore, the chatbot information processing device 10 does not necessarily need to interact with a user, and may be implemented, for example, as a controller mounted on a drone or the like that does not have a user interaction function and that interacts only with external devices such as various sensors and drive mechanisms possessed by the drone. [Industrial Applicability]

[0164] The present invention can be used as a learning-type chatbot information processing device that returns output information based on given input information through natural language processing using a computer, for example, as a chatbot information processing device that can be implemented in a cloud computer or transplanted into a robot, a drone, a home appliance, a server, a computer, a smartphone, a tablet, etc. [Explanation of symbols]

[0165] 10 Chatbot information processing device 11 Input / output section 12 Control section 13 Algorithm generation engine 13a Input Analysis Section 13b Judgment part 13c Reaction section 14 Storage section 50 Mail Server 51 Websites 52a, 52b Terminal equipment 60 Light emitting part 61 Camera 62a Speaker 62b Voice synthesis section 63a Microphone 63b Voice Recognition Unit 70 Wireless communication adapter 71 GPS 72 Timer 73 Temperature Sensor 74 Acceleration Sensor 75 Drive unit 100 Chatbot System 110 Robot

Claims

1. A learning chatbot information processing device that generates and outputs output information by natural language processing using a computer in response to acquired input information, a storage unit that accumulates reaction data that pairs a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment factors is connected as a key, with a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process; an algorithm generation engine unit that acquires input information from a terminal device, analyzes the input information, stores the analysis result in the storage unit, and generates output information in response to the acquired input information by referring to the storage unit, and outputs the output information to the terminal device; The algorithm generation engine unit an input analysis unit that performs input analysis using natural language processing on the input information to create a new reaction key including a syntactic key, which is information on a syntax based on morphemes constituting the input information, as one of the keys constituting the new reaction key; a determination unit that determines whether new reaction data including a reaction corresponding to a new reaction key, which is created by the input analysis unit, is stored in the storage unit; a reaction unit which, when it is determined by the determination unit that new reaction data including the reaction has been accumulated in the storage unit, ends the process based on the judgment by the determination unit by generating and outputting output information responsive to the input information by referring to the analysis result stored in the storage unit when the reaction belongs to an output process, and which, when the reaction belongs to a recursive process, executes the reaction, obtains the execution result as a judgment result of a judgment material corresponding to the reaction, adds a key corresponding to the obtained judgment result to the reaction key, and then causes the determination by the determination unit to be repeated for the added reaction key; The recursive process includes acquiring information from an external device, analyzing the effect of the acquired information on generation of output information, acquiring a result of the analysis as the judgment result, and adding a key corresponding to the acquired judgment result to the response key. Chatbot information processing device.

2. When the determination unit determines that reaction data including the reaction is not stored in the storage unit, the reaction unit acquires reaction data including the reaction from a user and stores the reaction in the storage unit, and then causes the determination unit to repeat the determination. The chatbot information processing device according to claim 1.

3. The input analysis unit, in the input analysis, If the morpheme constituting the input information is not one of the multiple predefined morphemes, If the grammar included in the input information is not one of the predefined grammars, If the pronoun included in the input information is not one of the multiple predefined pronouns, If the input information is a question, and an answer corresponding to the question cannot be generated with a reliability equal to or higher than a predetermined standard, in at least one of the cases, returning a prepared question corresponding to the case to the user, and continuing the input analysis based on an answer obtained from the user to the question. The chatbot information processing device according to claim 1.

4. the input analysis unit generates, as the syntactic key, information indicating a sequence of morphemes constituting the input information; The chatbot information processing device according to claim 1.

5. the storage unit accumulates morpheme data that collects information about morphemes, grammar data that collects information about grammar, branch data that collects information about syntactic branches, and antecedent data that collects information about antecedents, the input analysis unit generates, from the input information, stored data indicating information related to the morpheme, grammar, branch data, and antecedent of the input information by referring to the morpheme data, the grammar data, the branch data, and the antecedent data stored in the storage unit, and generates the syntactic key by converting the generated stored data into a syntactic key; The stored data includes an identifier of a user providing the input information. The chatbot information processing device according to claim 4.

6. The reaction unit acquires information from a first device, which is the external device, via a communication path, and outputs the output information to a second device via the communication path; the first device includes at least one of a timer that measures date and time, a GPS (Global Positioning System), a sensor that detects a physical quantity, a measuring instrument that measures a physical quantity, a microphone, a moving object, a computer, a storage device, a robot, a production facility, a home appliance, and a communication terminal; The second device includes at least one of a mail server, a speaker, a mobile object, a computer, a storage device, a robot, a production facility, a home appliance, and a communication terminal. The chatbot information processing device according to claim 1.

7. A learning chatbot information processing method for generating and outputting output information by natural language processing using a computer for acquired input information, comprising: The storage unit of the computer stores reaction data in which a reaction key, which is information in which a judgment result for at least one of a plurality of predetermined judgment factors is connected as a key, is paired with a reaction, which is a response process corresponding to the reaction key and belongs to either an output process or a recursive process; The chatbot information processing method includes: An algorithm generating step of acquiring input information from a terminal device, analyzing the input information, storing the analysis result in the storage unit, and generating output information in response to the acquired input information by referring to the storage unit, and outputting the output information to the terminal device; The algorithm generating step includes: an input analysis step of performing an input analysis using natural language processing on the input information to create a new reaction key including a syntactic key, which is information on a syntax based on morphemes constituting the input information, as one of the keys constituting the new reaction key; a determination step of determining whether new reaction data including a reaction corresponding to a new reaction key, which is created in the input analysis step, is stored in the storage unit; and when it is determined by the determination step that new reaction data including the reaction has been accumulated in the storage unit, the method further comprises a reaction step of: when the reaction belongs to an output process, generating and outputting output information responsive to the input information by referring to the analysis result stored in the storage unit, thereby terminating the process based on the determination in the determination step; when the reaction belongs to a recursive process, executing the reaction, acquiring the execution result as a judgment result of the judgment material corresponding to the reaction, adding a key corresponding to the acquired judgment result to the reaction key, and then repeating the judgment in the determination step with the added reaction key as the target; The recursive process includes acquiring information from an external device, analyzing the effect of the acquired information on generation of output information, acquiring a result of the analysis as the judgment result, and adding a key corresponding to the acquired judgment result to the response key. Chatbot information processing method.

8. A program that causes a computer to execute the steps included in the chatbot information processing method according to claim 7.

Citation Information

Patent Citations

  • Answer questions about documents with minimal context

    JP2021515310A

  • Communication assisting device, method and program

    JP2022085248A

  • Chat bot operation and management architecture

    US20200412671A1