Intent extraction device, intent extraction method, and program
The intent extraction device automates the generation and annotation of training data using a template-based approach, reducing time and cost while enhancing the accuracy of intent extraction models for intent-based service provision systems by efficiently generating and updating model parameters.
Patent Information
- Application Number
- PCT/JP2023/023829
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-27
- Publication Date
- 2025-01-02
AI Technical Summary
The existing intent extraction models for intent-based service provision systems face challenges in accuracy due to limited published teacher data on network and communication services, and the time and cost required to manually generate sufficient training data are high.
An intent extraction device with a template generation unit, sample generation unit, annotation unit, extraction unit, and update unit is employed to automatically generate and annotate training data, reducing the time and cost of data generation by using a template to create multiple samples and updating model parameters based on intent elements.
This approach allows for the efficient and cost-effective preparation of training data, improving the accuracy of intent extraction models by recognizing various interaction patterns and extracting intents with high precision, including quantitative indices for resource allocation in communication services.
Smart Images

Figure JP2023023829_02012025_PF_FP_ABST
Abstract
Description
Intent extraction device, intent extraction method, and program
[0001] The embodiments relate to an intent extraction device, an intent extraction method, and a program.
[0002] An intent-based service provision system is known as a technology for providing communication services to users. In the intent-based service provision system, network resources and computing resources provided to users are autonomously controlled based on the user's request (intent).
[0003] To realize an intent-based service provision system, models for extracting intents from natural language input by users are attracting attention. The accuracy of such models can be improved by training them using natural language training data.
[0004] BK Saha, L. Haab and L. Podleski, “Intent-based Industrial Network Management Using Natural Language Instructions,” 2022 IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT), Bangalore, India, 2022, pp. 1-6
[0005] However, there is little publicly available training data on intents related to networks and communication services, and manually generating a sufficient amount of training data to train a model requires a lot of time and cost.
[0006] The present invention has been made in light of the above-mentioned circumstances, and its purpose is to provide a means for reducing the time and cost required to generate training data used to train a model for extracting intent.
[0007] An intent extraction device according to one aspect includes a template generation unit, a sample generation unit, an annotation unit, an extraction unit, and an update unit. The template generation unit generates a first sentence in natural language including a first element of an intent as a template. The sample generation unit generates a plurality of second sentences in natural language as a plurality of samples based on the template. The annotation unit generates a plurality of training data sets by associating the first element with each of the plurality of samples. The extraction unit inputs each of the plurality of training data sets into a model to extract a second element of the intent. The update unit updates parameters of the model by comparing the first element with the second element.
[0008] According to the embodiment, it is possible to provide a means for reducing the time and cost required to generate training data used to train a model that extracts intent.
[0009] FIG. 1 is a block diagram showing an example of a configuration of a service providing system according to an embodiment. FIG. 2 is a block diagram showing an example of a hardware configuration of an intent extraction device according to an embodiment. FIG. 3 is a block diagram showing an example of a configuration of a training function of the intent extraction device according to an embodiment. FIG. 4 is a block diagram showing an example of a configuration of an extraction function of the intent extraction device according to an embodiment. FIG. 5 is a flowchart showing an example of a training operation in the intent extraction device according to an embodiment. FIG. 6 is a flowchart showing an example of an extraction operation in the intent device according to an embodiment.
[0010] Hereinafter, embodiments will be described with reference to the drawings. In the following description, components having the same functions and configurations will be given the same reference numerals.
[0011] 1. Configuration 1.1 Service Providing System First, a configuration of a service providing system including an intent extraction device according to an embodiment will be described. Fig. 1 is a block diagram showing an example of the configuration of a service providing system according to an embodiment.
[0012] 1, the service providing system 1 is an intent-based service providing system. That is, the service providing system 1 provides a communication service to a user U that is autonomously controlled based on the intent of the user U. The service providing system 1 includes an intent extraction device 100 and a service providing device 200. The intent extraction device 100 and the service providing device 200 are managed by a service provider (not shown).
[0013] The intent extraction device 100 is, for example, an information processing device such as a server. The intent extraction device 100 is configured to generate question information indicating a question to be included in a dialogue C so that the chatbot B can efficiently extract an intent from the user U, and input the question information to the chatbot B. The intent extraction device 100 is also configured to extract the intent of the user U based on dialogue information indicating the content of the dialogue C between the user U and the chatbot B.
[0014] The service providing device 200 is, for example, an information processing device such as a server. The service providing device 200 determines the content of a communication service to be provided to the user U based on the intent of the user U extracted by the intent extraction device 100. The content of the communication service includes, for example, network resources, computational resources, and the like. Then, the service providing device 200 provides the user U with the communication service of the determined content.
[0015] 1.2 Hardware Configuration of Intent Extraction Apparatus Next, a hardware configuration of the intent extraction apparatus according to the embodiment will be described.
[0016] 2 is a block diagram illustrating an example of a hardware configuration of the intent extraction device 100 according to the embodiment. As illustrated in FIG. 2, the intent extraction device 100 includes a control circuit 11, a storage 12, a communication module 13, an interface 14, a drive 15, and a storage medium 16.
[0017] The control circuit 11 is a circuit that controls all of the components of the intent extraction device 100. The control circuit 11 includes a central processing unit (CPU), a random access memory (RAM), a read only memory (ROM), and the like.
[0018] The storage 12 is an auxiliary storage device of the intent extraction device 100. The storage 12 is, for example, a hard disk drive (HDD), a solid state drive (SSD), or a memory card. The storage 12 stores data used in the training operation and the extraction operation. The storage 12 may also store programs for executing the training operation and the extraction operation.
[0019] The extraction operation is an operation for extracting the intent of the user U from the dialogue information. The training operation is an operation for updating the parameters of the model used for extracting the intent. The details of the training operation and the extraction operation will be described later.
[0020] The communication module 13 is a circuit used to obtain dialogue information from a dialogue C between a user U and a chatbot B.
[0021] The interface 14 is a circuit for communicating information between the service provider and the control circuit 11. The interface 14 includes input devices and output devices. The input devices include, for example, a touch panel and operation buttons. The output devices include, for example, an LCD (Liquid Crystal Display) or an EL (Electroluminescence) display. The interface 14 converts the input from the service provider into an electrical signal and then transmits it to the control circuit 11. The interface 14 outputs the execution result based on the input from the service provider to the service provider.
[0022] The drive 15 is a device for reading software stored in the storage medium 16. The drive 15 includes, for example, a CD (Compact Disk) drive and a DVD (Digital Versatile Disk) drive.
[0023] The storage medium 16 is a medium that stores software electrically, magnetically, optically, mechanically, or chemically. The storage medium 16 may store a program for executing the training operation and the extraction operation.
[0024] 1.3 Functional Configuration of Intent Extraction Device Next, a functional configuration of the intent extraction device according to the embodiment will be described. The intent extraction device 100 has a training function for executing a training action and an extraction function for executing an extraction action.
[0025] 1.3.1 Training Function FIG. 3 is a block diagram illustrating an example of the configuration of a training function of the intent extraction device according to the embodiment.
[0026] The CPU of the control circuit 11 loads a program related to training movements stored in the storage 12 or the storage medium 16 into the RAM. The CPU of the control circuit 11 then interprets and executes the program loaded into the RAM. As a result, the control circuit 11 functions as a computer including an element acquisition unit 21, a template generation unit 22, an instruction unit 23, a sample generation unit 24, an annotation unit 25, an extraction unit 26, and an update unit 27. The storage 12 also stores a trained model 28.
[0027] The element acquisition unit 21 acquires a set of elements that define an intent, and inputs the acquired set of elements to the template generation unit 22 and the annotation unit 25.
[0028] The elements include quantitative information about predetermined items such as service type, usage amount, usage conditions, quality requirements, and cost.
[0029] The service type is the name of the service provided to the user U. Specifically, for example, the element acquisition unit 21 acquires information such as "web service" or "live streaming" as an element related to the service type.
[0030] The usage conditions are information indicating the usage conditions of the service provided to the user U. The usage conditions include, for example, information such as the number of users, the number of terminals, the period, and the location. More specifically, for example, the element acquisition unit 21 acquires information such as "10,000 users" or "10:00 AM to 12:00 PM next Monday" as elements related to the usage conditions.
[0031] The quality requirements are information indicating the quality of the service provided to the user U. The quality requirements include, for example, information such as delay requirements, bandwidth requirements, and reliability requirements. More specifically, for example, the element acquisition unit 21 acquires information such as "delay time of 0.1 seconds or less" as an element related to the quality requirements.
[0032] The cost is information indicating the cost of the service provided to the user U. Specifically, for example, the element acquisition unit 21 acquires information such as "less than 10,000 yen" as an element related to the cost.
[0033] The above-described elements are merely examples, and the element acquisition unit 21 can acquire any item related to the service provided to the user U as an element. The element acquisition unit 21 may acquire a set of elements based on an input from a service provider, or may automatically generate the set of elements based on a program prepared in advance.
[0034] The template generation unit 22 generates a template of a sentence expressed in a natural language based on the set of elements input from the element acquisition unit 21. The template generation unit 22 inputs the generated template to the sample generation unit 24.
[0035] The template is a sentence that serves as a model of training data used to train a model that extracts intents. The template includes a set of elements input from the element acquisition unit 21 expressed in natural language.
[0036] More specifically, for example, when "live streaming", "10,000", "next Monday 10:00-12:00", and "less than 10,000 Yen" are input as the elements of service type, number of users, period, and cost, the template generation unit 22 generates a natural language sentence such as "I want to start a live streaming service for 10,000 users next Monday 10:00-12:00 with a budget limit 10,000 Yen." as a template.
[0037] The instruction unit 23 generates instruction information for controlling the processing executed by the sample generation unit 24. When an interactive assistant is implemented as the sample generation unit 24, the instruction unit 23 may generate the instruction information, for example, in the form of a sentence in a natural language to be input to the interactive assistant. The instruction unit 23 inputs the generated instruction information to the sample generation unit 24. Note that the instruction unit 23 may generate the instruction information based on input from a service provider, or may automatically generate the instruction information based on a program prepared in advance.
[0038] The sample generation unit 24 includes, for example, an interactive assistant. The sample generation unit 24 generates a plurality of samples based on the template input from the template generation unit 22 and the instruction information input from the instruction unit 23. The sample generation unit 24 inputs the generated plurality of samples to the annotation unit 25.
[0039] A sample is a natural language sentence derived from a template and input as training data to a model that extracts intent. A sample is composed of words and grammar that are identical or similar to the words and grammar that make up the template. In other words, the sample generation unit 24 generates multiple samples using words that are identical or similar to the words that make up the template, or grammar that is identical or similar to the grammar that makes up the template.
[0040] More specifically, for example, when the instruction information "Generate 30 sentences that have the similar meaning with the input template" is input for a template "I want to start a live streaming service for 10,000 users next Monday 10:00-12:00 with a budget limit of 10,000 yen," the sample generation unit 24 generates 30 sentences similar to the template, such as "I would like to start a live streaming service for 10,000 users next Monday 10:00-12:00 with a budget limit of 10,000 yen," as multiple samples. Furthermore, for example, when the instruction information "Rewrite the sentences with more variations" is input for the generated 30 sentences, the sample generation unit 24 generates 30 new sentences as multiple samples by using more synonyms than the previously generated 30 sentences. In this way, the sample generation unit 24 generates multiple samples while making appropriate adjustments in response to instructions from the instruction unit 23.
[0041] The annotation unit 25 associates the set of elements of the intent input from the element acquisition unit 21 with the multiple samples input from the sample generation unit 24. Specifically, the annotation unit 25 assigns an annotation to each of the multiple samples indicating which part corresponds to the set of elements of the intent input from the element acquisition unit 21. More specifically, when "live streaming", "10,000", "next Monday 10:00-12:00", and "less than 10,000 Yen" are input as a set of elements and "I would like to start a live streaming service for 10,000 users next Monday 10:00-12:00 with a budget limit 10,000 Yen." is input as a sample generated based on the set of elements, the annotation unit 25 assigns an annotation to each of the multiple samples indicating which part corresponds to the set of elements of the intent input from the element acquisition unit 21.<live streaming service (Service category)> for <10,000 users (Usage - number of users)><next Monday 10:00~12:00 (Usage - time period)> The annotation unit 25 then generates training data based on the sample and the set of elements associated with the sample. The annotation unit 25 inputs the generated training data to the extraction unit 26.
[0042] The extraction unit 26 includes a neural network having weights and bias terms that function as parameters. An existing model such as a Transformer or a long short term memory (LSTM) can be applied to the neural network in the extraction unit 26. The neural network in the extraction unit 26 is configured to receive training data as input and output (extract) words corresponding to intents. The extraction unit 26 inputs the training data and the extracted intents to the update unit 27.
[0043] The update unit 27 updates the parameters of the neural network in the extraction unit 26. The update unit 27 updates the parameters so as to minimize the error between a set of elements associated with a sample in the training data and a set of elements constituting the intent extracted by the extraction unit 26. Specifically, the parameters are bias terms and weights that determine the characteristics of the neural network provided in the extraction unit 26. When calculating the parameters, the update unit 27 uses, for example, an error backpropagation algorithm.
[0044] Every time the parameters are updated, the update unit 27 applies the updated parameters to the extraction unit 26. When an update termination condition is satisfied, the update unit 27 stores the last updated parameters in the storage 12 as a trained model 28.
[0045] The update termination condition may be, for example, that the number of samples input to the extraction unit 26 in the training motion exceeds a threshold. The update termination condition may be, for example, that the number of parameter updates exceeds a threshold.
[0046] 1.3.2 Extraction Function FIG. 4 is a block diagram showing an example of the configuration of the extraction function of the intent extraction device according to the embodiment.
[0047] The CPU of the control circuit 11 loads into the RAM a program related to the extraction operation stored in the storage 12 or the storage medium 16. The CPU of the control circuit 11 then interprets and executes the program loaded into the RAM. As a result, the control circuit 11 functions as a computer including an extraction unit 26, a dialogue information acquisition unit 29, an input data generation unit 30, a determination unit 31, a question generation unit 32, and an output unit 33. The storage 12 also stores a trained model 28.
[0048] The dialogue information acquisition unit 29 acquires dialogue information from a dialogue C between a user U and a chatbot B. The dialogue information may be character data or voice data. The dialogue information includes information regarding the intent of the communication service that the user U wants to use. The dialogue information acquisition unit 29 inputs the acquired dialogue information to the input data generation unit 30.
[0049] The input data generation unit 30 converts the input dialogue information into the format of a sentence in natural language to be input to the extraction unit 26. The input data generation unit 30 inputs the converted sentence in natural language to the extraction unit 26 as input data.
[0050] The functional configuration of the extraction unit 26 in the extraction function is equivalent to the functional configuration of the extraction unit 26 in the training function. The extraction unit 26 includes a neural network to which a trained model 28 is applied. The extraction unit 26 is configured to receive input data and output (extract) words corresponding to intents. The extraction unit 26 inputs the extracted intents to the determination unit 31.
[0051] The determination unit 31 determines, based on the input intents, whether a sufficient number of types of intents have been extracted to define network resources and computational resources for the communication service that the service providing device 200 provides to the user U. If it is determined that there are types of intents that have not been extracted, the determination unit 31 outputs a notification that the intent extraction is insufficient and the types of intents that have been determined not to have been extracted as determination results to the question generation unit 32. If it is determined that a sufficient number of types of intents have been extracted, the determination unit 31 outputs a notification that the intent extraction is complete and all of the extracted intents as determination results to the output unit 33.
[0052] The question generation unit 32 generates question information indicating a question to be input to the user U in order to obtain the intent to be extracted, based on the determination result input from the determination unit 31. The question generation unit 32 inputs the generated question information to the chatbot B. As a result, the question information is input to the user U via the chatbot B. Then, the desired type of intent is extracted by obtaining an answer to the question from the dialogue information.
[0053] The output unit 33 outputs the intent input as the determination result from the determination unit 31 to the service providing device 200. With the above configuration, the intent extraction device 100 can extract the intent of the user U by using the trained model 28.
[0054] 2. Operation Next, the operation of the intent extraction device according to the embodiment will be described.
[0055] 2.1 Training Operation FIG. 5 is a flowchart showing an example of a training operation in the intent extraction device according to the embodiment.
[0056] When an instruction to perform a training action is received from the service provider (start), the element acquisition unit 21 acquires a set of elements related to the intent of the user U (S11).
[0057] The template generation unit 22 generates a template based on the set of elements acquired in the process of S11 (S12).
[0058] The sample generating unit 24 generates a plurality of samples based on the template generated in the process of S12 (S13).
[0059] The instruction unit 23 determines whether or not to adjust the plurality of samples generated in the process of S13 (S14).
[0060] If it is determined that a plurality of samples are to be adjusted (S14; yes), the instruction unit 23 generates instruction information indicating the adjustment content (S15).
[0061] The sample generator 24 receives the instruction information generated in the process of S15 and generates a plurality of samples in accordance with the instruction information (S13). The subsequent processes of S14 and S15 are then executed. In this manner, the processes of S13 to S15 are repeatedly executed until it is determined that the plurality of samples should not be adjusted.
[0062] If it is determined that the plurality of samples should not be adjusted (S14; no), the annotation unit 25 executes annotation processing (S16). Specifically, the annotation unit 25 annotates the portion of each of the plurality of samples generated in the processing of S13 that corresponds to the set of elements acquired in the processing of S11. Then, the annotation unit 25 generates a plurality of pieces of training data based on the plurality of annotated samples.
[0063] The control circuit 11 determines whether the number of samples exceeds a threshold value (S17).
[0064] If the number of samples is equal to or less than the threshold (S17; no), the element acquisition unit 21 acquires a set of elements different from the sets of elements acquired so far (S11). Then, the subsequent processes of S12 to S17 are executed. In this way, the processes of S11 to S17 are repeatedly executed until the number of samples exceeds the threshold.
[0065] If the number of samples exceeds the threshold value (S17; yes), the control circuit 11 selects one sample from the plurality of samples generated in the process of S13 (S18).
[0066] The extraction unit 26 inputs the samples selected in the process of S18 into the model and extracts the intent (S19).
[0067] The update unit 27 updates the parameters of the model based on the intent extracted in the process of S19 and the set of elements corresponding to the intent associated with the sample in the process of S16 (S20).
[0068] The control circuit 11 determines whether or not all samples have been selected (S21).
[0069] If there are any unselected samples (S21; no), the control circuit 11 selects one sample from the unselected samples (S18). Then, the subsequent steps S19 to S21 are executed. In this manner, the steps S18 to S21 are repeatedly executed until all samples have been selected.
[0070] If all samples have been selected (S21; yes), the update unit 27 stores the parameters last updated in the process of S20 in the storage 12 as the trained model 28 (S22).
[0071] After the processing of S22, the training motion ends (end).
[0072] 2.2 Extraction Operation Next, the extraction operation of the intent extraction device according to the embodiment will be described.
[0073] FIG. 6 is a flowchart illustrating an example of an extraction operation in the intent extraction device according to the embodiment.
[0074] When a dialogue C occurs (starts) between a user U and a chatbot B, the dialogue information acquisition unit 29 acquires dialogue information (S31).
[0075] The input data generating unit 30 converts the dialogue information acquired in the process of S31 into a format that can be input to the extracting unit 26, and generates input data (S32).
[0076] The extraction unit 26 inputs the input data generated in the process of S32 into the neural network to which the trained model 28 is applied, and extracts the intent (S33).
[0077] The determination unit 31 determines whether a sufficient number of intents have been extracted to define the resources of the service to be provided to the user U, based on the intents extracted in the process of S33 (S34). If a sufficient number of intents have not been extracted to define the resources of the service to be provided to the user U (S34; no), the question generation unit 32 generates question information to elicit from the user U the intents not extracted in the process of S33 (S35). The question information generated in the process of S35 is input to the user U via chatbot B.
[0078] After the process of S35, the dialogue information acquisition unit 29 acquires dialogue information (S31). Then, the subsequent processes of S32 to S35 are executed. In this manner, the processes of S31 to S35 are repeatedly executed until a sufficient number of intents are extracted to define the resources of the service to be provided to the user U.
[0079] If a sufficient number of intents are extracted to define the resources of the service to be provided to user U (S34; yes), the output unit 33 outputs the intents extracted in the processing of S33 to the service providing device 200 (S36).
[0080] When the process of S36 is completed, the extraction operation is completed (end).
[0081] 3. Effects of the Embodiment According to the embodiment, the template generation unit 22 generates a first sentence in natural language containing a first element of intent as a template. The sample generation unit 24 generates a plurality of second sentences in natural language as a plurality of samples based on the generated template. The annotation unit 25 generates a plurality of training data sets by associating the first element with each of the generated samples. The extraction unit 26 inputs each of the generated training data sets into a model to extract a second element of intent. The update unit 27 updates the model parameters by comparing the first element with the second element. This allows a single template to be generated by specifying an element of intent, and multiple samples annotated with the specified element based on the template. Therefore, a large amount of training data for training a model that extracts intent can be prepared fully or semi-automatically in a short time and at low cost. This reduces the time and cost required to generate training data used to train a model that extracts intent.
[0082] The sample generator 24 also generates multiple samples using words similar to those included in the template or grammar similar to those included in the template. This allows various sentences containing the same intent to be used in the training operation, thereby improving the accuracy of intent extraction by the model.
[0083] The model applied to the extraction unit 26 includes a neural network, which makes it possible to recognize various patterns of the dialogue C of the user U. As a result, it is possible to extract intent from natural language with high accuracy.
[0084] The extracted intent includes at least one element selected from the type of communication service, the amount of use, the conditions of use, the quality requirements, and the cost, which allows the intent extraction device 100 to extract, as an intent, a quantitative index used by the service providing device 200 to determine the resources to be provided to the user.
[0085] 4. Modifications, etc. Various modifications can be applied to the above-described embodiment.
[0086] In the above-described embodiment, the program for executing the training action and the extraction action is executed by the intent extraction device 100. However, this is not limiting. For example, the program for executing the training action and the extraction action may be executed by a computing resource on the cloud.
[0087] The present invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the invention. Furthermore, the embodiments may be implemented in appropriate combinations, in which case the combined effects can be obtained. Furthermore, the above-described embodiments include various inventions, and various inventions can be extracted by combining selected elements from the disclosed elements. For example, if the problem can be solved and the desired effect can be obtained even if some elements are deleted from all elements shown in the embodiments, the configuration from which these elements are deleted can be extracted as an invention.
[0088] 1...Service providing system 11...Control circuit 12...Storage 13...Communication module 14...Interface 15...Drive 16...Storage medium 21...Element acquisition unit 22...Template generation unit 23...Instruction unit 24...Sample generation unit 25...Annotation unit 26...Extraction unit 27...Update unit 28...Trained model 29...Dialogue information acquisition unit 30...Input data generation unit 31...Determination unit 32...Question generation unit 33...Output unit 100...Intent extraction device 200...Service providing device U...User B...Chatbot C...Dialogue
Claims
1. An intent extraction device comprising: a template generation unit that generates a first sentence in a natural language including a first element of an intent as a template; a sample generation unit that generates a plurality of second sentences in a natural language as a plurality of samples based on the template; an annotation unit that generates a plurality of teacher data by associating the first element with each of the plurality of samples; an extraction unit that inputs each of the plurality of teacher data into a model to extract a second element of the intent; and an update unit that updates parameters of the model by comparing the first element with the second element.
2. The intent extraction device according to claim 1, wherein the sample generation unit is configured to generate the plurality of samples using words similar to words included in the template or grammar similar to grammar included in the template.
3. The intent extraction device according to claim 1, wherein the model includes a neural network.
4. The intent extraction device according to claim 1, wherein the intent includes at least one element selected from a type of communication service, a usage amount, a usage condition, a quality requirement, and a cost.
5. A method for extracting intent, comprising: generating a first sentence in a natural language including a first element of an intent as a template; generating a plurality of second sentences in a natural language as a plurality of samples based on the template; generating a plurality of training data by associating the first element with each of the plurality of samples; inputting each of the plurality of training data into a model to extract a second element of the intent; and updating parameters of the model by comparing the first element with the second element.
6. A program for causing a computer to function as each unit of the intent extraction device according to any one of claims 1 to 4.
Citation Information
Patent Citations
Speech recognition device and speech recognition method, language model generating device and language model generating method, and computer program
JP2010224194A
Dialogue control method, dialogue control program, dialogue control device, information presentation method, and information presentation device
JP2020087352A
Information processing device and information processing method
WO2021205946A1
Cited By
Data processing device, method, and program
WO2026186086A1