A method for dialogue state tracking based on abstention and anti-label noise

By employing an abstention-based method to combat label noise, and utilizing a pre-trained BERT model and an abstention-optimized multi-classifier, the impact of label noise on dialogue state tracking is addressed, thereby improving the model's performance and accuracy under noisy data.

CN116628145BActive Publication Date: 2025-12-09BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310301776.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-27
Publication Date
2025-12-09
Estimated Expiration
2043-03-27

AI Technical Summary

Technical Problem

Existing dialogue state tracking methods are limited by label noise, especially the label noise problem in datasets caused by multiple labelers, which affects the prediction accuracy of the model.

Method used

We adopt an abstention-based method to combat label noise. Through data preprocessing, feature encoding, slot category prediction, and slot value decoding, we utilize the pre-trained BERT model and an abstention-optimized multi-classifier to reduce the impact of label noise and improve the model's performance under noisy data.

Benefits of technology

It effectively reduces the impact of label noise on the model, improves the accuracy of dialogue state tracking and encoding efficiency, and enhances the model's performance on label-noise datasets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116628145B_ABST
    Figure CN116628145B_ABST
Patent Text Reader

Abstract

The present application relates to a kind of based on the method of abandoning anti-label noise dialogue state tracking, belong to natural language processing technical field.This method is encoded to each data in data set, judges the prediction mode of slot by the slot classifier based on abandonment, for the slot value generator decoding using for the slot needing to generate, slot value replicator decoding is used to the slot needing to reason.A special category "abandonment" is added in slot classifier, it indicates that the model considers this prediction too complex or there is label noise, and gives up the prediction and learning of this sample, and trains the dialogue state tracking model of anti-label noise through the loss function after revision.This method improves the coding efficiency and decoding speed, effectively reduces the influence of labeling error, so that the model can also maintain good performance in the data set with larger label noise.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to a dialogue state tracking method based on abandonment and anti-label noise, and belongs to the field of computer natural language processing. BACKGROUND

[0002] With the development of the Internet and the wide application of artificial intelligence technology, intelligent dialogue products (such as mobile phone assistants, intelligent customer service, intelligent furniture, chat robots, etc.) are more and more numerous and advanced, and continuously enrich people's life experience. Compared with the traditional mechanical man-machine interaction mode, the intelligent dialogue system can communicate with ordinary users through natural language and complete the corresponding task, so that the user experience is more smooth and natural.

[0003] According to the different contents, the intelligent dialogue system can be divided into two types of chatting and task, wherein the chatting type focuses on the natural and smooth communication process of the user, and the task type focuses more on completing a specific task in the communication process. In the task type dialogue system, the most core is dialogue state tracking, which is responsible for reading in the user's speech, extracting the user's demand information and maintaining the dialogue state information, providing the basis for the downstream dialogue strategy and reply generation, and ensuring the continuous progress of the dialogue and the completion of the final task.

[0004] At present, the research on dialogue state tracking is limited by label noise. Since the dialogue state tracking task is relatively complex, the cost of expert annotation is high, therefore, the mainstream data set of the task is annotated in a crowd-sourcing manner. The problems of multi-annotation and insufficient quality of annotators result in a large amount of label noise in the data set, such as annotation errors, annotation differences, and inconsistent specifications. Through the data analysis of the most commonly used data set MultiWoz2.1, it is shown that the label noise is mainly concentrated in the multi-labeling and missing labeling of a slot, and the spelling error of the slot value accounts for a small proportion. Therefore, the slot state prediction based on abandonment can effectively reduce the influence of label noise. SUMMARY

[0005] The purpose of the application is to solve the technical problem of how to effectively track the dialogue state under the influence of label noise, and creatively propose a dialogue state tracking method based on abandonment and anti-label noise. The method has better adaptability to label noise, and the prediction accuracy of the model after training using data containing label noise is better than that of other methods.

[0006] The application adopts the following technical scheme.

[0007] A dialogue state tracking method based on abandonment and anti-label noise comprises the following steps:

[0008] Step 1: data preprocessing. The multi-turn dialogue in the multi-domain dialogue data set is split into training samples according to the dialogue turns.

[0009] The dataset can adopt the most widely used MultiWoz2.1 dataset in the art. The dataset provides large-scale multi-turn dialogue data.

[0010] The training sample includes two parts of original features and labels. The original feature representation of the sample of the t-th turn of dialogue includes the dialogue utterance D t-1 of the previous turn, t the dialogue utterance D t-1 of the current turn, and the dialogue state B t of the previous turn. The label of the sample is the dialogue state B t of the current turn.

[0011] Specifically, for the original feature of the sample, the dialogue utterance of the t-th turn is represented as R t represents the system utterance of the t-th turn, U j represents the user utterance of the t-th turn, is a concatenation operation of sequences, and [SEP] is a special mark representing separation.

[0012] The dialogue state is represented as J is the total number of slots, is the representation of the J-th slot. Specifically, S j is the name of the slot, is the slot value of the slot j at the t-th turn, and “-” is a special mark used to identify the boundary between the slot name and the slot value. [SLOT] t is a special mark that aggregates the information of the slot value pair into a single vector, which is uniformly replaced by “[SLOT]” in the method.

[0013] For if there is a value in the corresponding slot at the t-th turn, a special mark [EOS] is added at the end of the word sequence of the slot value to represent the end of the sequence; if there is no value in the corresponding slot, a special mark [NULL] is used; if the value of the corresponding slot is DontCare, the phrase “don’t care” is used to utilize the semantics of the phrases learned by the pre-training model.

[0014] Step 2: Feature encoding. The original features are concatenated into a single sequence, which is input into the pre-training model BERT to obtain the representation vectors of the dialogue history, each slot, and the entire sample.

[0015] Specifically, the pre-training model BERT is used as the encoder. The input of the encoder is the concatenation of the original features: where D t is the dialogue utterance of the t-th turn, B tLet [CLS] be the dialogue state in round t, a special marker used to represent the semantics of the entire sentence. The encoder output is represented as H. t =Encoder(X) t ).

[0016] The representation vector of the dialogue history is the encoder output H. t The vector at the position marked [CLS]

[0017] The representation vector of each slot refers to the vector for slot S. j H from encoder output t The j-th symbol [SLOT] extracted. j Vector at corresponding position

[0018] The representation vector of the entire sample Depend on The result obtained after calculation by the forward layer is shown in the following formula:

[0019]

[0020] Among them, W pool These are the trainable parameters of the feedforward layer.

[0021] Step 3: Based on the abstention-based slot category prediction, input the representation vector of each slot into the abstention-optimized multi-classifier to predict its category. This effectively reduces the impact of label noise.

[0022] Specifically, the slot category predictor is a multi-class classifier. For each slot S... j Given its representation vector h, calculate the multi-class probability of that slot. As shown in the following formula:

[0023]

[0024] Among them, W opr These are trainable parameters. The representation vector of this slot.

[0025] The categories of the slot include five regular values: "None", "DontCare", "CarryOver", "Generate" and "Copy". Among them, "None" means that the slot is not mentioned; "DontCare" means that the slot can take any value, and the user has no requirement for the slot; "CarryOver" means that the slot can be directly inherited from the last round for modification; "Generate" means that the user specifies the value of the slot in the current round, which needs to be extracted from the utterance; and "Copy" means that the current round mentions the slot but does not explicitly mention the slot value, which needs to be inferred in combination with the utterance and other slots.

[0026] Further, the anti-noise based on abstention of the method is reflected in:

[0027] Due to the influence of label noise, the slot category prediction module is focused on, and the slot category classifier based on abstention is used. A special value "Abstain" is added to the slot category, which means that the model considers that there is label noise in this prediction, and gives up the prediction and learning of the label. For the abstained slot, the model neither predicts the slot value nor counts into the loss function, but is subject to a certain abstention penalty. The loss function L opr of this module is:

[0028]

[0029] Where opr represents the predicted category, p abs represents the prediction probability of the category "Abstain". In the above formula, the first term is the modified cross-entropy loss, which normalizes the prediction probability of non-abstention. If p abs = 0, it is completely restored to the cross-entropy loss; the second term is the abstention penalty, and the weight a is a hyperparameter used to control the penalty degree. If a is set moderately, the neural network will automatically decide whether to abstain according to the cross-entropy error generated when learning the real category, so as to reduce the influence of label noise.

[0030] Step 4: Slot value decoding. For each slot, different sub-modules are selected to predict the slot value according to the predicted category.

[0031] Specifically, for slot S j , if the predicted category is "None" or "Abstain", the slot value of the current round is directly set as [NULL]. If the category is "DontCare", the slot value is set as "don't care". If the category is "CarryOver", the slot value is directly set as .

[0032] ​Specifically, the prediction method of the slot value generation is as follows:

[0033] The structure of the module is a GRU decoder, and for a slot S of a category "Generate" j , the initial hidden state of the GRU is set as The initial input is At the k-th step of the GRU decoding, k≥1, the word embedding of the prediction result of the last step is taken as the input of the step The hidden state of the k-th step is calculated as As shown in the following formula:

[0034]

[0035] wherein, represents the hidden state of the (k-1)-th step.

[0036] Then, the probability distribution of the k-th word in the slot value is calculated by using a soft copy mechanism Specifically as follows:

[0037]

[0038]

[0039]

[0040]

[0041] wherein, E is a word embedding matrix of the encoder, represents a probability distribution based on a vocabulary; H t is an output of the encoder, represents a probability distribution copied from a dialogue context; W1 is a trainable parameter, and ";" represents a splicing operation of a vector. The final probability distribution is obtained by weighted sum of and α represents a weight.

[0042] The decoder generates each word in the slot value in a loop until the decoder generates an [EOS] mark, and the generation process ends. The slot value is spliced by the words generated by each step of the decoder.

[0043] The prediction method of the slot value copy is as follows:

[0044] The structure of the module is an attention module and a multi-classifier. For a slot S of a category "Copy" j , the input is a representation vector and representation vectors of all slots The probability distribution of copying the slot value from other slots is calculated Specifically as follows:

[0045]

[0046]

[0047] wherein W cpy is trainable parameter, d k represents the dimension of vector , represents the transpose of the input vector , represents the calculation result of the attention module.

[0048] The serial number of the copied slot is calculated The slot value corresponding to the slot S j of the t-th round is obtained

[0049] Finally, all the slots and slot values of the current round are used to update the dialogue state in a covering manner.

[0050] Advantages

[0051] Compared with the prior art, the method has the following advantages:

[0052] 1. The method uses the dialogue state of the previous round to replace the long dialogue history, improving the coding efficiency; the slot category prediction method is used to generate slot values only for specific slots, improving the decoding speed.

[0053] 2. The method applies a slot category classifier based on rejection, effectively reducing the influence of labeling errors, so that the model can maintain good performance in a large data set with label noise. DETAILED DESCRIPTION

[0054] Figure 1 is the overall flowchart of the application;

[0055] Figure 2 is the dialogue state tracking model structure diagram in the embodiment of the application. SPECIFIC EMBODIMENT

[0056] In order to make the purpose, technical scheme and advantages of the application clearer, the method of the application will be further described in detail below in combination with the drawings and embodiments.

[0057] As Figure 1 shown, a dialogue state tracking method based on rejection and resistant to label noise includes the following steps:

[0058] Step A: data preprocessing;

[0059] Specific to the embodiment, the multi-turn dialogue in the multi-domain dialogue dataset is split into training samples according to the dialogue turn. The specific step 1 is the same as the invention content.

[0060] Step B: obtaining a representation vector of each slot by using a pre-trained model;

[0061] Specific to the embodiment, the original features are connected into a single sequence, input into the pre-trained model Bert, and the representation vectors of the entire sample, the dialogue history, and each slot are obtained. The specific step 2 is the same as the invention content.

[0062] Step C: using a slot category classifier based on abandonment to predict the category of each slot;

[0063] Specific to the embodiment, the representation vector of each slot is input into the abandonment-optimized multi-classifier, the category is predicted, and according to different categories, it is transferred to step D, E or F. The specific step 3 is the same as the invention content.

[0064] Step D: directly specifying the slot value for the special category;

[0065] Specific to the embodiment, the specific step 4.1 is the same as the invention content.

[0066] Step E: obtaining the slot value in a generative manner;

[0067] Specific to the embodiment, the specific step 4.2 is the same as the invention content.

[0068] Step F: obtaining the slot value from other slots;

[0069] Specific to the embodiment, the specific step 4.3 is the same as the invention content.

[0070] Step G: updating the dialogue state;

[0071] Specific to the embodiment, after the slot values of all slots are obtained, all "slot-slot value" are directly combined into the dialogue state of the current turn.

[0072] Embodiment

[0073] Taking the third turn of the dialogue with the serial number SNG01856 in the dataset MultiWoz2.1 as an embodiment, the embodiment will detail the specific operation steps of the dialogue state tracking method based on abandonment and anti-label noise according to the invention.

[0074] A dialogue state tracking method based on abandonment and anti-label noise, as shown in Figure 1 , includes the following steps:

[0075] Step A: data preprocessing;

[0076] Specific to the embodiment, for the dialogue turn t = 3, the last round system utterance R2, the last round user utterance U2, the current round system utterance R3, and the current round user utterance U3 are respectively: "Okay, do you have a specific area you want to stay in?", "No, i just need to make sure it's cheap. oh, and i need parking", "I found 1 cheap hotel for you that includes parking. Do you like me to book it?", "Yes, please. 6 people 3 nights starting on tuesday. And a restaurant on the same day". The last round dialogue state is B2{hotel-pricerange-cheap, hotel-parking-yes}, and the current round dialogue state is B3{hotel-pricerange-cheap, hotel-parking-yes, hotel-people-6, hotel-stay-3, hoel-day-tuesday, resuaurant-day-tuesday}.

[0077] For the last round dialogue state B2, all the slots should be connected when constructing the input, the slot value of the slot not mentioned is represented by [NULL], and the value of the slot not cared by the user is represented by "don't care". Therefore, the constructed input sequence is X3 = [CLS] Okay, do you have...stay in?; no, i just...parking. [SEP] I found...book it?; Yes,...night. [SEP] [SLOT] restaurant-food-[NULL]...[SLOT] hotel-pricerange-cheap...[SLOT] hotel-parking-yes...

[0078] Step B: obtaining a representation vector of each slot by using a pre-trained model;

[0079] In this embodiment, the encoder chooses a pre-trained model BERT with a hidden layer dimension of 768. Because BERT has a maximum length limit, the method will truncate X t Align to 512 bits: If Xt is too long, it will be truncated from the back; if it is too short, special markers [PAD] will be added at the back.

[0080] In this embodiment, the length of X3 after tokenization is only 264, and 248 [SEP] markers need to be supplemented. The output of the encoder can be regarded as a set of 512 768-dimensional vectors. The position of the [CLS] marker in X3 is 0, so the 0th vector in H3; the slot position hotel-parking is the 9th in the set of slot positions, so the corresponding [SLOT] 9 position in X3 is 126, so the representation vector of this slot is the 126th vector in H3; the other slot positions are the same. The set of representation vectors of all slot positions is

[0081] Step C: Use the abstention-based slot category classifier to predict the category for each slot;

[0082] In this embodiment, for the slot hotel-parking, the input the output the slot category is predicted as “CarryOver”. For the slot hotel-day, the slot category is predicted as “Generate”, and the slot restaurant-day is predicted as “Copy”. It needs to be noted separately that “Abstain” can be regarded as the same as “None” when predicting.

[0083] Step D: Directly specify the slot value for special categories;

[0084] In this embodiment, the 1st slot restaurant-name is predicted as None, and the slot value is empty, so the 9th slot hotel-parking is predicted as “CarryOver”, and

[0085] Step E: Obtain the slot value in the generation mode;

[0086] In this embodiment, the 5th slot hotel-day is predicted as “Generate”, so and H3 input slot value generation submodule, GRU first step decoding generates the word "tuesday", and the word embedding vector of "tuesday" is fed back to GRU, the second step decoding generates "[EOS]", indicating that the decoding is completed, and the slot value of this slot is tuesday.

[0087] Step F: obtain the slot value from other slots;

[0088] Specific to the embodiment, the 28th slot resuaurant-day is predicted as "Copy", so the slot value of the 28th slot is copied from the 5th slot hotel-day. and Input slot value copy submodule, the prediction result It is indicated that the value of the slot is equal to the value of the 5th slot hotel-day, and the value of the slot is also tuesday.

[0089] Step G: update the dialogue state.

[0090] Specific to the embodiment, according to steps D-E, the current round dialogue state is B3{hotel-pricerange-cheap,hotel-parking-yes,hotel-people-6,hotel-stay-3,hoel-day-tuesday}.

Claims

1. A method for anti-tag-noise dialogue state tracking based on abandonment, characterized in that, The method comprises the following steps: Step 1: data preprocessing, the multi-turn dialogue in the multi-domain dialogue dataset is split into training samples according to dialogue turns; The training samples consist of two parts: raw features and labels. The raw feature representation of the sample from the t-th round of dialogue includes: the utterances D from the previous round of dialogue. t-1 The current round of dialogue D t The dialogue status B from the previous round t-1 The sample is labeled as the current round of dialogue state B. t ; Step 2: feature encoding; the original features are connected into a single sequence, input into a pre-trained model Bert to obtain representation vectors of dialogue history, each slot and the entire sample; Step 3: slot category prediction based on abandonment, the representation vector of each slot is input into a multi-classifier optimized for abandonment to make category prediction; Wherein, the anti-noise based on abandonment is reflected in: The slot category classifier based on abstention is adopted; a special value "Abstain" is added to the slot category, indicating that the model considers that there is label noise in this prediction, and gives up the prediction and learning of the label; for the slot of abstention, the model neither predicts the slot value nor counts into the loss function, but is punished by the abstention, and the loss function L of this module is: opr L = -log(p) + λ * log(1-p) where oprdenotes the predicted class, p abs is the predicted probability of class "Abstain"; in the above equation, the first term is the modified cross-entropy loss, which is normalized by the predicted probability of non-abstention, and if p abs = 0, it is completely recovered to the cross-entropy loss; the second term is the abstention penalty, and its weight a is a hyperparameter to control the penalty degree. Step 4: slot value decoding; for each slot, according to its predicted category, select different sub-modules to predict the slot value; finally, update the dialogue state in a covering manner with all the slots and slot values of the current round; For slot S j If the predicted class is "None" or "Abstain", then directly set the current round slot value to [NULL]; if the class is "DontCare", then set the slot value to "don't care"; if the class is "CarryOver", then directly set the slot value The prediction method of the slot value generation is: The structure of the module is a GRU decoder, for a slot S of a category "Generate" j , setting the initial hidden state of the GRU The initial input is At the k-th step of the GRU decoding, k ≥ 1, the word embedding of the prediction result of the last step is taken as the input of the step The hidden state of the k-th step is calculated As shown in the following formula: wherein, denotes the hidden state of the k-1 step; After that, the soft copy mechanism is used to calculate the probability distribution of the kth word in the slot value The details are as follows: where E is the word embedding matrix of the encoder, denotes a word-based probability distribution; H t is the output of the encoder, denotes a probability distribution copied from the dialogue context; W1is a trainable parameter, " denotes a concatenation operation of vectors; the final probability distribution is obtained by weighted sum with α denotes the weight; The decoder loop generates each word in the slot value until the decoder generates an [EOS] token, at which point the generation process ends; slot value The words generated by each step of the decoder are concatenated together; The prediction method of the slot value copy is: The structure of the module is an attention module and a multi-classifier; for a slot S of a class Copy j , input its representation vector and the representation vectors of all slots Calculate the probability distribution of the slot copying slot values from other slots Specific as follows: where W cpy are trainable parameters, d k denotes the dimension of the vector denotes the transpose of the input vector denotes the result of the attention module computation;​​ Computing the sequence number of the replicated slot Obtaining the tth slot S j Corresponding slot value 2. The method of claim 1, wherein, In step 1, the dataset uses MultiWoz2.1 dataset.

3. The method of claim 1, wherein, In step 1, for the original features of the sample, the dialogue utterance of the t-th round is represented as R t represents the system utterance of the t-th round, U t represents the user utterance of the t-th round, is a connection operation of the sequence, and [SEP] is a special mark representing a separation. The dialog state is represented as J is the total number of slots, is the representation of the Jth slot; S j is the name of the slot, is the slot value of slot j at turn t, and “-” is a special marker used to identify the boundary between the slot name and the slot value;[SLOT] j is a special marker that aggregates the information of this slot value pair into a single vector; For If there is a value in the corresponding slot at the t-th round, a special token [EOS] is added at the end of the word sequence of the slot value to indicate the end of the sequence; if there is no value in the corresponding slot, it is represented by a special token [NULL]; if the value of the corresponding slot is DontCare, it is represented by the phrase "don't care" to utilize the semantics of the phrases that the pre-trained model has already learned. If there is a value in the corresponding slot at the t-th round, a special token [EOS] is added at the end of the word sequence of the slot value to indicate the end of the sequence; if there is no value in the corresponding slot, it is represented by a special token [NULL]; if the value of the corresponding slot is DontCare, it is represented by the phrase "don't care" to utilize the semantics of the phrases that the pre-trained model has already learned.​ 4. The method of claim 1, wherein, In step 2, a pre-trained model BERT is used as an encoder, and the input of the encoder is the concatenation of the original features: where D t is the dialogue utterance of the t-th round, B t is the dialogue state of the t-th round, and [CLS] is a special token used to represent the semantics of the whole sentence; the output of the encoder is represented as H t = Encoder(X t ); The representation vector of the dialogue history is the output H of the encoder t The vector at the position corresponding to the token [CLS] The representation vector of each slot refers to the vector of the slot S j extracted from the encoder output H t the jth symbol [SLOT] j the vector of the corresponding position representation vector of the entire sample by through forward layer computation, as shown in the following formula: where W pool is the trainable parameter of the forward layer.

5. The method of claim 1, wherein, In step 3, the slot class predictor is a multi-classifier; for each slot S j , its representation vector h is input, and the multi-class probabilities for that slot are computed as follows: wherein W opr is a trainable parameter, is the representation vector for the slot. The categories of the slots include five values: "None", "DontCare", "CarryOver", "Generate" and "Copy"; wherein, "None" indicates that the slot is not mentioned; "DontCare" indicates that the slot can take any value, and the user has no requirement for the slot; "CarryOver" indicates that the slot is not changed and can directly inherit the slot value from the last round; "Generate" indicates that the user specifies the value of the slot in the current round, which needs to be extracted from the utterance; "Copy" indicates that the current round mentions the slot but does not explicitly mention its slot value, which needs to be inferred in combination with the utterance and other slots.

Citation Information

Patent Citations

  • Dialogue emotion recognition network model based on double knowledge interaction and multi-task learning, construction method, electronic equipment and storage medium

    CN113535957A

  • Task type dialogue state tracking method fusing slot association and semantic association

    CN114860908A