Question-answering system and method of controlling the same

Through the multi-task learning module of deep learning technology, the in-vehicle question-answering system can identify and provide accurate answers to vehicle-related questions, solving the problem of recognizing the diversity of user expressions and achieving more efficient information delivery.

CN114969247BActive Publication Date: 2026-04-21HYUNDAI MOTOR CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HYUNDAI MOTOR CO LTD
Filing Date
2022-02-18
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Existing in-vehicle dialogue systems struggle to effectively identify user intent and provide accurate answers to vehicle-related questions, especially when users express themselves in different ways.

Method used

Using deep learning technology, the system encodes and classifies user-input statements through a multi-task learning module, identifies answers that match representative questions stored in the database, and trains the system with multiple extended statements to improve its recognition capabilities.

Benefits of technology

It improves the accuracy and flexibility of the in-vehicle question-and-answer system in recognizing user questions and providing answers, and is able to handle different forms of user input, providing more accurate vehicle-related information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114969247B_ABST
    Figure CN114969247B_ABST
Patent Text Reader

Abstract

The present invention relates to a question and answer system and a control method thereof, which provides appropriate answers for vehicle-related FAQs by utilizing deep learning. The question and answer system includes a storage in which a plurality of representative questions are matched with a plurality of answers respectively corresponding to the plurality of representative questions and stored, a learning module configured to output a representative question corresponding to an input sentence from the stored plurality of representative questions, and an output module configured to search for an answer matching the output representative question in the storage and output the found answer. The learning module is configured to perform multi-task learning using a plurality of extended sentences of the plurality of representative questions as input data and using a plurality of representative questions respectively corresponding to the plurality of extended sentences and a plurality of categories to which the plurality of extended sentences respectively belong as output data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a question-and-answer system and its control method, wherein the system provides answers to questions raised by users. Background Technology

[0002] A dialogue system is a system that identifies a user's intent through dialogue and provides services corresponding to that intent. Associated with a specific device, a dialogue system can also control the device or provide specific information based on the user's intent.

[0003] Because users inside a vehicle have spatial and contextual limitations on their movement, dialogue systems can be used effectively to identify user intentions through their speech and provide the services they want.

[0004] In particular, due to the great need for services that provide answers to users' vehicle-related questions, research and development are required to improve the accuracy and quality of these services. Summary of the Invention

[0005] The present invention provides a question-answering system and its control method, wherein the question-answering system is capable of providing appropriate answers to frequently asked questions (FAQs) related to vehicles by applying deep learning.

[0006] Further aspects of the disclosed implementation scheme will be set forth in part in the description below.

[0007] According to an embodiment of the present invention, a question-answering system is provided, comprising: a memory storing a plurality of representative questions for matching with a plurality of answers respectively corresponding to the plurality of representative questions; a learning module configured to output a representative question corresponding to an input statement from the stored plurality of representative questions; and an output module configured to search the memory for an answer matching the output representative question and output the found answer. The learning module is configured to perform multi-task learning by using a plurality of extended statements of the plurality of representative questions as input data and using the plurality of representative questions corresponding to the plurality of extended statements and the plurality of categories to which the plurality of extended statements belong as output data.

[0008] The learning module can be configured to perform multi-task learning by using multiple extended statements as input data and multiple representative questions, multiple categories, and multiple named entities respectively included in the multiple extended statements as output data.

[0009] The representative questions stored in the memory can include common questions (FAQs) related to vehicles.

[0010] The multiple named entities may include vehicle-related terms.

[0011] The learning module can be configured to, in multi-task learning, classify representative questions corresponding to input data from a stored set of representative questions, and classify the category to which the input data belongs from a set of categories.

[0012] The learning module can be configured to calculate the loss value of the representative problem after classification and the loss value of the category after classification, and adjust the weights of the deep learning model used for multi-task learning based on the calculated loss values.

[0013] The learning module can be configured to, in multi-task learning, classify representative questions corresponding to input data from a stored set of representative questions, classify the category to which the input data belongs from a set of categories, and classify named entities included in the input data from a set of named entities.

[0014] The learning module can be configured to calculate the loss value of the representative problem after classification, the loss value of the category after classification, and the loss value of the named entity after classification, and adjust the weights of the deep learning model used for multi-task learning based on the calculated loss values.

[0015] The learning module may include: an encoding module configured to encode an input sequence corresponding to the input data; a question classifier configured to classify representative questions based on the output of the encoding module; and a category classifier configured to classify categories based on the output of the encoding module.

[0016] The encoding module may include: a first encoding layer configured to globally encode the input sequence; and a second encoding layer configured to sequentially encode the output of the first encoding layer.

[0017] The learning module may further include a variational inference network configured to apply variational inference to the output of the encoding module. The output of the variational inference network may be input to a category classifier.

[0018] The learning module may include: an encoding module configured to encode an input sequence corresponding to the input data; a question classifier configured to classify representative questions based on the output of the encoding module; a category classifier configured to classify categories based on the output of the encoding module; and a named entity classifier configured to classify named entities based on the output of the encoding module.

[0019] According to an embodiment of the present invention, a method for controlling a question-answering system is provided. The method includes: matching and storing multiple representative questions with multiple answers corresponding to the multiple representative questions; performing multi-task learning by using multiple extended statements of the multiple representative questions as input data and using multiple representative questions corresponding to the multiple extended statements and multiple categories to which the multiple extended statements belong as output data; in response to the completion of multi-task learning, determining a representative question corresponding to a user's input statement from the stored multiple representative questions based on the result of multi-task learning; and determining an answer matching the determined representative question from the stored multiple answers.

[0020] Performing multi-task learning can include: using multiple extended statements as input data and multiple representative questions, multiple categories, and multiple named entities respectively included in the multiple extended statements as output data.

[0021] The stored representative questions can include common questions (FAQs) related to vehicles.

[0022] The multiple named entities may include vehicle-related terms.

[0023] Performing multi-task learning may include: classifying representative questions corresponding to input data from a stored set of representative questions, and classifying the category to which the input data belongs from a set of categories.

[0024] Performing multi-task learning may include: calculating the loss value of the representative problem after classification and the loss value of the category after classification; and adjusting the weights of the deep learning model used for multi-task learning based on the calculated loss values.

[0025] Performing multi-task learning may include: classifying representative questions corresponding to input data from a stored set of representative questions, classifying the category to which the input data belongs from a set of categories, and classifying named entities included in the input data from a set of named entities.

[0026] Performing multi-task learning may include: calculating the loss value of the representative problem after classification, the loss value of the category after classification, and the loss value of the named entity after classification, and adjusting the weights of the deep learning model used for multi-task learning based on the calculated loss values.

[0027] Performing multi-task learning can include global encoding and sequential encoding of the input sequence corresponding to the input data. Attached Figure Description

[0028] These and other aspects of the invention will become apparent and more readily understood from the following description of embodiments presented in conjunction with the accompanying drawings, in which:

[0029] Figure 1 This is a control block diagram of the question-and-answer system according to the implementation scheme;

[0030] Figure 2 This is a schematic diagram illustrating an example of information stored in the memory of a question-and-answer system according to an implementation scheme;

[0031] Figure 3 This is a schematic diagram illustrating an example of an expanded statement for learning in a question-answering system according to an implementation scheme;

[0032] Figure 4 This shows another control block diagram of the question-and-answer system according to the implementation scheme;

[0033] Figure 5 This is a control block diagram showing the configuration of the preprocessing module of the question-and-answer system according to the implementation scheme;

[0034] Figure 6 This is a control block diagram showing the configuration of the feature extraction module in the question-answering system according to the implementation scheme;

[0035] Figure 7 This is a table showing an example of feature extraction results from a question-answering system according to the implementation scheme;

[0036] Figure 8 This is a table showing an example of the format conversion results of a question-and-answer system according to the implementation plan.

[0037] Figure 9 This is a control block diagram showing the learning module of the question-answering system according to the implementation scheme;

[0038] Figure 10 This is a schematic diagram illustrating layer-specific operations of the learning module of a question-answering system according to the implementation scheme;

[0039] Figure 11 This is a control block diagram showing the learning module of the question-and-answer system according to the implementation plan;

[0040] Figure 12 It shows Figure 11 A schematic diagram of layer-specific operations in the learning module of the question-and-answer system;

[0041] Figure 13 This is a table showing the performance test results of the question-and-answer system according to the implementation plan;

[0042] Figure 14 This is a schematic diagram illustrating the information exchanged between the vehicle and the server;

[0043] Figure 15 This is a control block diagram showing a server that includes a question-and-answer system;

[0044] Figure 16 This is a control block diagram showing a vehicle connected to a server that includes a question-and-answer system;

[0045] Figure 17 This is a flowchart illustrating a method for controlling a question-and-answer system according to an implementation scheme;

[0046] Figure 18 This is a flowchart illustrating a method for controlling a question-and-answer system according to an implementation scheme, which also illustrates a method for performing named entity recognition. Detailed Implementation

[0047] It should be understood that the term "vehicle" or "of a vehicle" or other similar terms as used herein generally include motor vehicles, such as passenger cars including sport utility vehicles (SUVs), buses, trucks, and various commercial vehicles, boats including various vessels and ships, aircraft, etc., and includes hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen-powered vehicles, and other alternative fuel vehicles (e.g., vehicles powered by non-petroleum energy sources). As mentioned herein, a hybrid vehicle is a vehicle with two or more power sources, such as both gasoline and electric power.

[0048] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that when the terms “comprising” and / or “including” are used in this specification, they indicate the presence of the stated features, values, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, values, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any and all combinations of one or more of the associated enumerations. Throughout the specification, unless explicitly described to the contrary, the word “comprising” and variations such as “including” or “comprising” will be understood to imply the inclusion of the stated elements, but not to exclude any other elements. Furthermore, the terms “unit,” “device,” “section,” and “module” described in the specification refer to a unit for performing at least one function and operation, and may be implemented by hardware components or software components and combinations thereof.

[0049] Furthermore, the control logic of the present invention can be implemented as a non-volatile computer-readable medium on a computer-readable medium containing executable program instructions that are executed by a processor or controller. Examples of computer-readable media include, but are not limited to, ROM, RAM, optical disc (CD)-ROM, magnetic tape, floppy disk, flash drive, smart card, and optical data storage device. The computer-readable medium can also be distributed across a network-connected computer system, enabling the computer-readable medium to be stored and operated in a distributed manner (e.g., via a telematics server or a controller area network (CAN)).

[0050] The embodiments described herein and shown in the configuration of the present invention are merely preferred embodiments, and it should be understood that various equivalent forms and modifications may be used to replace these embodiments in the context of the present invention.

[0051] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0052] Terms such as “part,” “device,” “block,” “component,” and “module” can refer to a unit used to perform at least one function or action. For example, these terms can refer to at least one process executed by at least one piece of hardware (e.g., a field-programmable gate array (FPGA) / application-specific integrated circuit (ASIC)), software stored in memory, or a processor.

[0053] Although terms such as "first," "second," "A," "B," etc. can be used to describe various components, these terms do not limit the corresponding components, but are only used to distinguish one component from another.

[0054] The reference numerals used in the diagrams for method operations are for ease of interpretation only and are not intended to restrict the order of operations. Therefore, unless the context clearly specifies otherwise, the order in which the operations are written may be practiced in other ways.

[0055] Furthermore, the disclosed implementation can be implemented as a recording medium storing instructions executable by a computer. The instructions can be stored as program code, and when executed by a processor, the instructions can generate a program module to perform the operations of the disclosed implementation. The recording medium can be implemented as a computer-readable recording medium.

[0056] Computer-readable recording media include various recording media that store instructions that can be decoded by a computer, such as read-only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage devices, etc.

[0057] The following section will describe in detail, with reference to the accompanying drawings, an implementation scheme for a question-and-answer system and its control method according to one aspect.

[0058] Figure 1 This is a control block diagram of a question-and-answer system according to the implementation scheme. Figure 2 This is a schematic diagram illustrating an example of information stored in the memory of a question-and-answer system according to an implementation scheme. Figure 3 This is a schematic diagram illustrating an example of an expanded statement for learning in a question-answering system according to an implementation scheme.

[0059] Reference Figure 1 Figure 1 illustrates a question-answering system 1 according to an implementation scheme. As shown, the question-answering system 1 includes a memory 140, a learning module 120, and an output module 130. In the memory 140, multiple representative questions are matched and stored with multiple answers corresponding to the multiple representative questions. The learning module 120 is configured to output a representative question corresponding to an input statement from the stored multiple representative questions. The output module 130 is configured to search for an answer in the memory 140 that matches the output representative question and output the found answer.

[0060] According to certain implementation schemes, the question-and-answer system 1 is a system that provides answers to questions raised by users. Here, the questions raised by users may be pre-defined Frequently Asked Questions (FAQs), and the question-and-answer system 1 may output answers to the pre-defined FAQs.

[0061] When Question Answering System 1 is associated with a vehicle, the questions asked by the user can be vehicle-related FAQs. Therefore, Question Answering System 1 can output answers to the vehicle-related FAQs asked by the user.

[0062] Therefore, multiple representative questions related to various FAQs concerning the vehicle can be stored in the memory 140 in the form of question-answer pairs to match the corresponding answers, such as Figure 2 As shown in the example.

[0063] Furthermore, even for questions with the same content, the statements uttered by the user may take different forms. That is, the user does not need to utter the same statement as the representative question stored in memory 140, but can utter another type of statement that has the same meaning as the representative question stored in memory 140.

[0064] Therefore, the learning module 120 of the question-answering system 1 can identify representative questions corresponding to any statement spoken by the user from a plurality of representative questions stored in the memory 140.

[0065] To this end, the learning module 120 can use multiple learning datasets, including input data and output data, to perform learning, wherein multiple extended statements can be used as input data, and multiple representative questions corresponding to the multiple extended statements can be used as output data.

[0066] Reference Figure 3 Extended statements are statements that differ from the representative question but have the same meaning. For example, the representative question "What is automatic parking?" and the statement with the same meaning as the representative question "What is the function that eliminates the need to keep the brake pedal pressed?" can be used as extended statements for learning.

[0067] For the representative question "How do I turn on the steering wheel hot wire?", the statement "I want to turn on the hand warmer. What should I do?", which has the same meaning as the representative question, can be used as an extended statement for learning. According to the implementation plan, the question-and-answer system 1 can use multiple extended statements for a single representative question for learning.

[0068] During the aforementioned learning process, the question-answering system 1 according to the implementation plan can be configured to perform multi-task learning, simultaneously learning representative questions corresponding to the input statement and the category to which the input statement belongs. By simultaneously learning related tasks in this way, the performance of the learning module 120 can be improved.

[0069] Therefore, the question-answering system 1 can learn by using multiple extended statements as input data and by using multiple representative questions corresponding to the multiple extended statements and multiple categories to which the multiple extended statements belong as output data.

[0070] Multi-task learning is based on deep learning models. The following is a detailed description of the multi-task learning process in learning module 120.

[0071] The output module 130 can search the memory 140 for representative questions corresponding to the input statement and output the answer that matches the found representative question.

[0072] Meanwhile, before being input into the learning module 120, the user's spoken input can be converted into an appropriate format that can be processed by the deep learning model. For this purpose, the question-answering system 1 may include a preprocessing module 110 for converting the format of the input statements.

[0073] The following section will describe the preprocessing process of user speech.

[0074] Figure 4 This is another control block diagram showing the question-and-answer system according to the implementation scheme. Figure 5 This is a control block diagram showing the configuration of the preprocessing module of the question-and-answer system according to the implementation scheme.

[0075] Reference Figure 4 The question-and-answer system 1 according to the implementation scheme may further include a speech recognizer 150, which converts the user's speech as a speech signal into text (i.e., sentences).

[0076] The speech recognizer 150 can be implemented as a speech-to-text (STT) engine and can apply speech recognition algorithms to the user's speech to convert the speech into text.

[0077] For example, the speech recognizer 150 can use feature vector extraction techniques (e.g., cepstral, linear predictive coefficient (LPC), Mel frequency cepstral coefficient (MFCC), or filter bank energy) to extract feature vectors from the user's speech.

[0078] Then, the speech recognizer 150 can compare the extracted feature vectors with a trained reference pattern to obtain a recognition result. For this purpose, an acoustic model that models and compares the signal features of speech, or a language model that models the linguistic order relationships of words or syllables corresponding to the recognized words, can be used.

[0079] Furthermore, the speech recognizer 150 can also convert the user's speech into text based on learning using machine learning or deep learning. In this embodiment, there are no limitations on the method by which the speech recognizer 150 converts the user's speech into text, and in addition to the methods described above, the speech recognizer 150 can convert the user's speech into spoken text by applying various speech recognition technologies.

[0080] The input sentences corresponding to the user's words can be input into the preprocessing module 110 and converted into a form that can be processed by a deep learning model.

[0081] Reference Figure 5 The preprocessing module 110 may include a normalization module 111 for normalizing the input statement, a feature extraction module 112 for extracting features from the input statement, and a format conversion module 113 for converting the format of the input statement.

[0082] The normalization module 111 can perform normalization to exclude meaningless data such as special characters and symbols from the input statements. It is assumed that all input statements processed in the components described below are normalized input statements.

[0083] The feature extraction module 112 can extract features from the normalized input statement, and the format conversion module 113 can assign an index to the input statement based on the extracted features.

[0084] Figure 6 This is a control block diagram illustrating the configuration of the feature extraction module in a question-answering system according to the implementation scheme.

[0085] Reference Figure 6 The feature extraction module 112 may include a morpheme analyzer 112a, a part-of-speech analyzer 112b, and a syllable analyzer 112c.

[0086] The morpheme analyzer 112a divides the input sentence into units of morphemes, and the word class analyzer 112b analyzes the word class of each morpheme and marks the word class of each morpheme.

[0087] The syllable analyzer 112c can divide the input sentence into syllables. Because it uses syllables as features in addition to morphemes, it can analyze unknown or infrequent words, thereby improving the performance of the learning module 120.

[0088] Figure 7 This is a table showing an example of feature extraction results from a question-answering system according to the implementation plan. Figure 8 This is a table showing an example of the format conversion results of a question-and-answer system according to the implementation plan. Figure 8 and Figure 9 The example input statement described is a Korean statement.

[0089] The following is an example of the input statement " The description of the result obtained when asking "(I can't get my seatbelt off, what should I do?)".

[0090] Reference Figure 7 The normalization module 111 can perform normalization on the input statement to remove the special character "?".

[0091] The lexical analyzer 112a divides the normalized input sentence into units of lexical components and outputs the results.

[0092] The lexical analyzer 112b can analyze the lexical class of each morpheme and assign the analyzed lexical class to each morpheme to output the results. According to the dictionary of parts of speech markers, NNG, JKS, VV, EC, VX, MAG, and EF represent parts of speech, respectively. NNG represents a common noun. JKS represents a nominative particle. VV represents a verb. EC represents a conjunctive suffix. VX represents an auxiliary predicate element. MAG represents an adverb. EF represents a final suffix.

[0093] The syllable analyzer 112c can divide a normalized input sentence into syllables and output the result.

[0094] According to the implementation plan, the input sentence is divided not only by morpheme but also by syllable, so that word embedding and character embedding can be performed on the input sentence at the same time, as described below.

[0095] As described above, the format conversion module 113 can index the input statement based on the feature extraction results. Specifically, the format conversion module 113 can use a predefined dictionary to assign an index to each of the multiple words or features constituting the input statement. The index assigned during the format conversion process can indicate the position of the word in the dictionary.

[0096] Format conversion module 113 can process standardized input sentences on a morpheme-by-word or syllable-by-syllable basis. Perform indexing, such as Figure 8 As shown. The index assigned to the input statement by the format conversion module 113 can be used in the embedding process described below.

[0097] In the implementation described below, the preprocessed input statements will be referred to as input sequences. Input sequences can be processed in units of tokens; in this example, tokens are processed in units of morphemes.

[0098] Figure 9 This is a control block diagram showing the learning module of the question-and-answer system according to the implementation scheme. Figure 10 This is a schematic diagram illustrating layer-specific operations of the learning module of a question-and-answer system according to an implementation scheme.

[0099] According to the implementation plan, the learning module 120 may include a multi-task deep learning model, which simultaneously learns representative questions and categories corresponding to the input statements. (See also...) Figure 9 The learning module 120 includes an embedding module 121, an encoding module 122, a feedforward neural network (FFNN) 123, a category classifier 124a, a question classifier 124b, a loss calculator 125, and a weight adjuster 126.

[0100] Embedding module 121 performs embedding to vectorize the input sequence. For example, embedding module 121 can perform embedding by applying a one-hot vector coding method.

[0101] Specifically, when there are k words, a k-dimensional 0-vector can be generated, and only the corresponding word can be represented by index 1. To do this, redundant words are removed, the remaining words are listed, each word is converted into a one-hot vector, and each sentence is generated using the converted one-hot vector.

[0102] Reference Figure 10 A [CLS] token can be added to the input sequence fed into the learning module 120. Through the encoding process described below, a vector of [CLS] tokens can indicate the meaning of the input statement.

[0103] According to the implementation scheme, the embedding module 121 can perform character embedding and word embedding. As described above, since the feature extraction module 112 extracts not only morpheme unit features but also syllable unit features, the syllable unit features can also be input to the embedding module 121 and used for character embedding.

[0104] Since syllable unit information provides information about word similarity and is applicable to unknown or uncommon words not included in the word dictionary, using both word unit information and syllable unit information can improve the performance of deep learning models.

[0105] Furthermore, pre-training can be used for both word embeddings and character embeddings. For example, for Korean, word embeddings can be pre-trained using a neural network language model (NNLM), while character embeddings can be pre-trained using GloVe (Pennington et al., 2014). For English, both word and character embeddings can be pre-trained using FastText (Bojanowski et al., 2017). Using pre-trained embeddings can improve the speed and performance of deep learning models.

[0106] Embedding module 121 can output a word embedding vector e generated by performing word embedding on the input sequence. i w =emb w (q i ) and the character embedding vector e generated by performing character embedding on the input sequence. i c =CNN c (qi), and these two types of embedding vectors can be concatenated and input into encoding module 122.

[0107] Encoding module 122 can encode the tags of the input sequence, which are represented as vectors through embedding. In some embodiments of the question-answering system 1, the input sequence is only classified without generating new output statements, thus decoding can be omitted.

[0108] To improve performance, the encoding module 122 may include a first encoding layer for global encoding and a second encoding layer for sequential encoding. Each of the first and second encoding layers may include multiple hidden layers.

[0109] The first encoding layer, which performs global encoding, can encode the entire input sequence at once. The second encoding layer, which performs sequential encoding, can receive and encode tokens sequentially. According to the implementation scheme, encoding module 122 can perform both sequential encoding and sequential encoding, thereby improving the accuracy of information about the order or position of words in the input sentence.

[0110] The first and second coding layers can be implemented using various algorithms. For example, the first coding layer can utilize an attention algorithm. According to the attention algorithm, a portion of the entire input sequence associated with the word predicted at a specific time point can be referenced using attention.

[0111] As an example, the first encoding layer can utilize an encoder such as a Transformer (Vaswani et al., 2017) that includes multiple self-attention layers, and the second encoding layer can utilize algorithms such as recurrent neural networks (RNNs) and bidirectional gated recurrent units (BiGRUs) for sequential encoding.

[0112] In this case, the hidden state s of the first coding layer i The hidden states can be input separately to the second encoding layer, and the second encoding layer can bidirectionally encode the hidden states to generate sequentially encoded context vectors r. i The output s of the first coding layer i The output r of the second coding layer i This can be represented by Equation 1 below.

[0113] s i =Transformer(e i [Equation 1]

[0114] r i =BiRNN(r i-1 ,s i )

[0115] In Equation 1, the input e of the first coding layer i It is a dense vector that concatenates word embedding vectors and character embedding vectors.

[0116] On the other hand, the hidden states s of the first coding layer i It can be input to the second coding layer, and the hidden state s of the [CLS] marker in the first coding layer. [CLS] The hidden states s can be input into the feedforward neural network 123. [CLS]-tagged hidden states s [CLS] It can imply the meaning of the entire input statement.

[0117] The last hidden state r of the second coding layer n It can also be input into the feedforward neural network 123. That is, the hidden state s labeled [CLS] in the first encoding layer. [CLS] The last hidden state r of the second coding layer n It can be connected in series and input into the feedforward neural network 123.

[0118] As described above, the learning module 120 can learn both problem classification and category classification simultaneously. To this end, the feedforward neural network 123 can perform linear operations using shared parameters for both problem classification and category classification. By passing through the feedforward neural network 123, the outputs of the first and second coding layers can be more naturally concatenated.

[0119] The output of the feedforward neural network 123 can be fed into each of the problem classifier 124b and the category classifier 124a.

[0120] The question classifier 124b can determine the representative question corresponding to the input statement from a plurality of predefined representative questions. For example, approximately 1,500 representative questions can be predefined, and the question classifier 124b can utilize a linear function with parameters shared with the category classifier 124a through the feedforward neural network 123.

[0121] On the other hand, in order to embed representative questions into statement vectors, the question answering system 1 according to the implementation scheme can utilize the language model BERT (Bidirectional Encoder Representations from Transformers) (Reimers and Gurevych, 2019) to improve the performance of the question classifier 124b.

[0122] The question classifier 124b compares the statement vectors of representative questions with the encoded input sequence to classify the representative questions corresponding to the input statements. For example, the question classifier 124b can use the softmax function to match the input sequence with the representative questions; the softmax function is an activation function used in classification tasks.

[0123] The category classifier 124a can determine the category to which an input statement belongs from a number of predefined categories.

[0124] For example, vehicle-related FAQs can be categorized based on the topic of the questions, such as basic guidelines and information, safety precautions, safety systems, dashboard, convenience features, starting and driving the vehicle, emergencies, maintenance, troubleshooting, checking for faults, how to maintain the vehicle, vehicle information (e.g., my car information), and so on.

[0125] Category classifier 124a can identify the category to which the input statement belongs among the categories in the example above. Similar to question classifier 124b, a softmax function can be used to match the input sequence with the category.

[0126] Meanwhile, in order to improve the performance of category classification, in some implementations, the question answering system 1 may pass the output of the feedforward neural network 123 through a variational inference network before it is input to the category classifier 124a.

[0127] Assuming that the latent variable z exists in a high-dimensional semantic space, variational inference networks can operate as in manifold learning to learn to transform data into a low-dimensional space and extract semantic features to generate robust deep learning models.

[0128] When the question classifier 124b and the category classifier 124a output representative questions and categories corresponding to the input statement, respectively, the loss calculator 125 can calculate the loss value for question classification and the loss value for category classification. Furthermore, the loss calculator 125 can calculate the total loss value by adding the two loss values.

[0129] For example, the loss calculator 125 can use cross-entropy as the loss function. When using L... q Represents the loss value for problem classification and uses L c When representing the loss value for category classification, the total loss value L can be expressed as Equation 2 below.

[0130] L=αL q +βL c [Equation 2]

[0131] Here, the hyperparameters α and β can represent the weights used to optimize problem classification and category classification, respectively.

[0132] The weight adjuster 126 can adjust the weights of the hidden layers of the deep learning model in the direction that minimizes the calculated total loss value.

[0133] Figure 11 This is a control block diagram showing the learning module of the question-and-answer system according to the implementation plan. Figure 12 It shows Figure 11 A schematic diagram of layer-specific operations in the learning module of the question-and-answer system.

[0134] As described above, the implementation of question-answering system 1 can improve the performance of the deep learning model by simultaneously learning question classification and category classification as related tasks. As another example, question-answering system 1 can additionally learn the classification of vehicle-related named entities. Vehicle-related named entities can represent vehicle-related terms.

[0135] Therefore, referring to Figure 11 In addition to the question classifier 124b and the category classifier 124a, the learning module 120 may further include a named entity classifier 124c.

[0136] The operation of the named entity classifier 124c can be defined as named entity recognition (NER). NER is one of the information extraction tasks used to find specific types of words in a sentence, and the named entity classifier 124c can perform NER to find words related to vehicles in the input sentence.

[0137] For the classification of named entities, vehicle-related named entity labels can be predefined. Vehicle-related named entity labels can have two identifiers: type and role. For example, types can include vehicle model, body, chassis, safety, traffic safety, dashboard, infotainment, air conditioning, convenience features, driving, maintenance, personal data, and transactions, and multiple roles can be identified for each type.

[0138] Reference Figure 12 The named entity classifier 124c can be implemented as a conditional random field (CRF) layer (Lample et al., 2016). Each hidden state of the second encoding layer can be input to the CRF layer. That is, in Equation 1, the output r of the second encoding layer can be input to the CRF layer.

[0139] The Named Entity Classifier 124c can use BIO tags to label each token in the input sequence. B can be assigned to the beginning of a vehicle-related named entity, I can be assigned to the part that belongs to a vehicle-related named entity, and O can be assigned to the part that is not a vehicle-related named entity.

[0140] When the question classifier 124b, category classifier 124a, and named entity classifier 124c output representative questions, categories, and named entities corresponding to the input statement, respectively, the loss calculator 125 can calculate the loss value for question classification, the loss value for category classification, and the loss value for named entity recognition, respectively. Furthermore, the loss calculator 125 can calculate the total loss value by adding the three loss values ​​together.

[0141] For example, the loss calculator 125 can use cross-entropy as the loss function. When using L... q The loss value representing problem classification is represented by L. c Represents the loss value for category classification and uses L e When representing the loss value of named entity recognition, the total loss value L can be expressed as Equation 3 below.

[0142] L=αL q +βL c +γL e [Equation 3]

[0143] Here, the hyperparameters α, β, and γ can be weights used to optimize problem classification, category classification, and named entity recognition, respectively.

[0144] The weight adjuster 126 can adjust the weights of the hidden layers of the deep learning model in the direction that minimizes the calculated total loss value.

[0145] Figure 13 This is a table showing the performance test results of the question-and-answer system 1 according to the implementation scheme.

[0146] Using a simple RNN model as a baseline, the accuracy of question classification (FAQ acc), the accuracy of category classification (Cat.acc), and the accuracy of named entity recognition (NER F1) were calculated for both the RNN model and the deep learning model (represented by the model of the present invention) applied to the question-answering system 1 according to the implementation scheme. Furthermore, the processing time (milliseconds per sentence) was also calculated.

[0147] Reference Figure 13For Korean, the deep learning model applied to Question Answering System 1 achieved 85.24% question classification accuracy, 87.94% category classification accuracy, and 74.79% named entity recognition accuracy. For English, it achieved 82.95% question classification accuracy, 79.42% category classification accuracy, and 73.56% named entity recognition accuracy. It can be seen that, compared to RNN and BERT models, it provides improved performance without significantly increasing processing time.

[0148] The above-described operations of the question-answering system 1 can be implemented by a computer program. The question-answering system 1 may include at least one memory storing a program and at least one processor for executing the stored program. Components such as the speech recognizer 150, preprocessing module 110, learning module 120, and output module 130 are not distinguished by physical configuration but by their operation. Therefore, these components do not need to be implemented by separate memory or processors, and at least some components may share memory or processor.

[0149] The question-answering system 1 according to the implementation scheme can be implemented in a vehicle or in a server connected to the vehicle through communication. The following description uses the implementation of the question-answering system 1 in a server as an example.

[0150] Figure 14 This is a schematic diagram illustrating the information exchanged between the vehicle and the server. Figure 15 This is a control block diagram showing a server that includes a question-and-answer system. Figure 16 This is a control block diagram showing a vehicle connected to a server that includes a question-and-answer system.

[0151] Reference Figure 14 When a user in vehicle 1 inputs a message, the input message can be sent to server 3. The user's message may include vehicle-related questions, and server 3, including question-and-answer system 1, can send system messages to vehicle 1 containing answers to the vehicle-related questions.

[0152] Reference Figure 15 Server 3 may include communicator 310 and the aforementioned question-and-answer system 1. Communicator 310 communicates with vehicle 1 to send signals to and receive signals from vehicle 1. Communicator 310 may employ various wireless communication methods (e.g., 4G, 5G, and...). At least one of them communicates with vehicle 1.

[0153] The communicator 310 can receive user speech transmitted from the vehicle 1 in the form of voice signals. The speech recognizer 150 of the question-and-answer system 1 converts the user's speech into text (input statement) according to the above method and inputs the text to the preprocessing module 110.

[0154] When the learning module 120, which has already completed its learning, is actually used, the category classification, loss value calculation, and weight adjustment can be omitted from the above operations of the question-answering system 1. In addition to category classification, loss value calculation, and weight adjustment, the input statement can be preprocessed, embedded, and encoded, and then the representative questions corresponding to the input statement can be classified in the same way as described above.

[0155] When the learning module 120 outputs a representative question corresponding to the input statement, the output module 130 can search for the answer corresponding to the representative question in the memory 140 and send the found answer to the vehicle 1 through the communicator 310.

[0156] The output module 130 can send the found answer in the form of text or voice signal. When sending the answer in the form of voice signal, a text-to-speech (TTS) engine can be included in the output module 130.

[0157] Reference Figure 16 Vehicle 2 may include a communicator 210 for communicating with server 3 and a controller 220 for controlling vehicle 2, as well as a microphone 231, a speaker 232 and a display 233 corresponding to the user interface.

[0158] The user's speech input to microphone 231 can be converted into a voice signal and then transmitted to server 3 via communicator 210. When communicating with server 3, communicator 210 of vehicle 2 can also employ various wireless communication methods (e.g., 4G, 5G, and...). At least one of the following.

[0159] When the server 3 sends an answer corresponding to a question raised by a user, the communicator 210 can receive the answer, and the controller 220 can output the answer using the speaker 232 or the display 233, depending on the type of the answer.

[0160] For example, when the answer sent from server 3 is text, the answer can be output visually through display 233, and when the answer sent from server 3 is an audio signal, the answer can be output auditorily through speaker 232.

[0161] Alternatively, even when the answer sent from server 3 is text, the TTS engine included in vehicle 1 can convert the sent answer into a speech signal and output the converted speech signal answer through speaker 232.

[0162] The method of the control question-and-answer system according to the implementation scheme will now be described. When implementing the method of the control question-and-answer system 1 according to the implementation scheme, the above-described question-and-answer system 1 can be used. Therefore, referring to the above... Figures 1 to 16 The description can also be applied to the methods used to control question-and-answer system 1, unless otherwise stated.

[0163] Figure 17 This is a flowchart illustrating a method for controlling a question-and-answer system according to an implementation scheme. The method shown in the flowchart is the method executed during the learning operation of the question-and-answer system.

[0164] First, in order to execute the method of controlling the question-and-answer system, input statements can be input into the preprocessing module 110. The input statements input into the preprocessing module 110 during the learning operation are as described above. Figure 3 The example shows the extended statement.

[0165] Reference Figure 17 In box 1010, preprocessing module 110 normalizes the input statement. During the input statement normalization operation, meaningless data such as special characters and symbols can be excluded from the input statement. All input statements described below refer to normalized input statements.

[0166] In box 1020, preprocessing module 110 extracts features from the input statement. Features extracted from the input statement may include morphemes, parts of speech, syllables, etc. Specifically, preprocessing module 110 can divide the input statement into units of morphemes, and lexical analyzer 112b can analyze the part of speech of each morpheme and label the part of speech of each morpheme. Furthermore, when the input statement is also divided into units of syllables and used as features, unknown or infrequent words can also be analyzed, thereby improving the performance of learning module 120.

[0167] In box 1030, preprocessing module 110 transforms the input format of the input statement based on the extracted features. Transforming the input format may include indexing the input statement. Preprocessing module 110 may use a predefined dictionary to assign an index to each of the multiple words or features constituting the input statement. The index assigned during the format transformation process may indicate its position in the dictionary.

[0168] The input statements that have undergone the above preprocessing are called input sequences.

[0169] When embedding is performed on the input sequence based on the above index results, the input sequence can be vectorized. In this case, both word embedding and character embedding can be performed. The word embedding vector generated by performing word embedding on the input sequence and the character embedding vector generated by performing character embedding on the input sequence can be concatenated and input into the encoding module 122.

[0170] In box 1040, encoding module 122 encodes the input sequence, which has been converted into a vector. To improve performance, encoding module 122 may include a first encoding layer that performs global encoding and a second encoding layer that performs sequential encoding. Each of the first and second encoding layers may include multiple hidden layers.

[0171] The first encoding layer, which performs global encoding, can encode the entire input sequence at once, while the second encoding layer, which performs sequential encoding, can receive and encode tags sequentially. By performing both sequential and sequential encoding, the accuracy of information about the order or position of words in the input sentence can be improved. The details of the encoding method are the same as those of the implementation scheme of Question Answering System 1.

[0172] The encoded result is input to each of the question classifier 124b and the category classifier 124a. As described in the above embodiment, the encoded result can be input to classifiers 124a and 124b after passing through the feedforward neural network 123.

[0173] In box 1051, category classifier 124a classifies categories, and in box 1052, question classifier 124b classifies representative questions. Specifically, category classifier 124a can determine the category to which the input statement belongs from predefined categories. To improve category classification performance, the encoded input sequence can be fed into the variational inference network before category classification.

[0174] The question classifier 124b can compare the statement vector of a representative question with the encoded input sequence to determine the representative question corresponding to the input statement.

[0175] When representative questions and categories corresponding to the input statement are determined, in box 1060, the loss value calculator 125 calculates the loss value for question classification and the loss value for category classification, and adds the two loss values ​​to calculate the total loss value.

[0176] The weight adjuster 126 can adjust the weights of the hidden layers of the deep learning model in the direction that minimizes the calculated total loss value.

[0177] Figure 18 This is a flowchart illustrating a method for controlling a question-and-answer system according to an implementation scheme, which also illustrates a method for performing named entity recognition. Figure 18 The method shown is also executed during the learning operation of the question-and-answer system.

[0178] The operations of normalizing the input statement in box 1010, extracting features from the input statement in box 1020, transforming the format of the input statement in box 1030, and performing encoding in box 1040 are the same as those described above. Figure 17 The operations are the same as those in the flowchart.

[0179] In addition to each of the question classifier 124b and the category classifier 124a, the encoding results are also input to the named entity classifier 124c. The category classifier 124a and the question classifier 124b can receive the last hidden state of the encoding module 122, and the named entity classifier 124c, which needs to identify named entities in the entire input sequence, can receive each hidden state of the encoding module 122.

[0180] In box 1051, category classifier 124a classifies categories. In box 1052, question classifier 124b classifies representative questions. In box 1053, named entity classifier 124c classifies named entities.

[0181] For example, named entity classification can be performed as a Conditional Random Field (CRF) layer (Lample et al., 2016). Each hidden state of the second encoding layer can be input to the CRF layer. That is, in Equation 1, the output r of the second encoding layer can be input to the CRF layer.

[0182] After identifying named entities, BIO tags can be used to annotate each tag in the input sequence. B can be assigned to the beginning of a vehicle-related named entity. I can be assigned to parts belonging to vehicle-related named entities. O can be assigned to parts that are not vehicle-related named entities.

[0183] When representative questions and categories corresponding to the input statement are determined and named entities included in the input statement are identified, in box 1060, the loss value calculator 125 can calculate the loss value for question classification, the loss value for category classification, and the loss value for named entity identification, and add the three loss values ​​together to calculate the total loss value.

[0184] The weight adjuster 126 can adjust the weights of the hidden layers of the deep learning model in the direction that minimizes the calculated total loss value.

[0185] After performing multi-task learning according to the above method, when a user asks a question, the user's utterance is converted into an input statement, and the normalization operation from box 1010 to encoding in box 1040, as described above, is performed. In box 1052, the encoded input sequence is classified into questions. The answer corresponding to the representative question can be retrieved from memory 140 and output to the user.

[0186] Based on the question-answering system and its control method described above, the performance of deep learning models can be improved by simultaneously learning representative question classifications and category classifications of input statements, or by simultaneously learning representative question classifications, category classifications, and named entity classifications of input statements used as related tasks.

[0187] Furthermore, by generating a deep learning model specifically for vehicles and then using that model to provide answers to vehicle-related FAQs, the hassle of vehicle users having to search manuals for the answers they need can be eliminated.

[0188] Although embodiments of the invention have been described with reference to the accompanying drawings, those skilled in the art will understand that other specific modifications can be readily made without departing from the technical spirit or essential characteristics of the invention. Therefore, the foregoing embodiments should be considered illustrative rather than restrictive in all respects.

Claims

1. A question-answering system, comprising: A memory that matches and stores multiple representative questions with multiple answers corresponding to the multiple representative questions; The learning module is configured to output representative questions corresponding to the input statement from a stored set of representative questions; as well as The output module is configured to search the memory for an answer that matches a representative question from the output, and then output the found answer. The learning module is configured to perform multi-task learning by using multiple extended statements of multiple representative questions as input data and using multiple representative questions corresponding to the multiple extended statements and multiple categories to which the multiple extended statements belong as output data. The learning module is configured as follows: In multi-task learning, representative questions corresponding to the input data are classified from a stored set of representative questions, and the input data is classified into categories from a set of categories. Calculate the loss value of the representative problem after classification and the loss value of the category after classification; The weights of the deep learning model used for multi-task learning are adjusted based on the calculated loss value.

2. The question-answering system according to claim 1, wherein, The learning module is configured to perform multi-task learning by using the plurality of extended statements as input data and the plurality of representative questions, the plurality of categories, and the plurality of named entities respectively included in the plurality of extended statements as output data.

3. The question answering system of claim 1, wherein, Several representative questions stored in the memory include common vehicle-related issues.

4. The question answering system of claim 2, wherein, The named entities include vehicle-related terms.

5. The question answering system of claim 2, wherein, The learning module is configured to, in multi-task learning, classify representative questions corresponding to input data from a stored set of representative questions, classify the category to which the input data belongs from a set of categories, and classify named entities included in the input data from a set of named entities.

6. The question and answer system of claim 5, wherein, The learning module is configured to calculate the loss value of the representative problem after classification, the loss value of the category after classification, and the loss value of the named entity after classification, and adjust the weights of the deep learning model used for multi-task learning based on the calculated loss values.

7. The question and answer system of claim 1, wherein, The learning module includes: An encoding module configured to encode an input sequence corresponding to the input data; A problem classifier configured to classify representative problems based on the output of the encoding module; and A category classifier configured to classify categories based on the output of the encoding module.

8. The question and answer system of claim 7, wherein, The encoding module includes: The first encoding layer is configured to globally encode the input sequence; and The second coding layer is configured to sequentially encode the output of the first coding layer.

9. The question and answer system of claim 8, wherein, The learning module further includes a variational inference network, which is configured to apply variational inference to the output of the encoding module. The output of the variational inference network is input into the category classifier.

10. The question answering system of claim 6, wherein, The learning module includes: An encoding module configured to encode an input sequence corresponding to the input data; A problem classifier configured to classify representative problems based on the output of the encoding module; A category classifier configured to classify categories based on the output of the encoding module; and A named entity classifier configured to classify named entities based on the output of the encoding module.

11. A method for controlling a question-answering system, the method comprising: Match and store multiple representative questions with multiple answers corresponding to the multiple representative questions; Multi-task learning is performed by using multiple extended statements of multiple representative questions as input data and using multiple representative questions corresponding to the multiple extended statements and multiple categories to which the multiple extended statements belong as output data. In response to the completion of multi-task learning, a representative question corresponding to the user's input statement is determined from multiple stored representative questions based on the results of multi-task learning. From the stored multiple answers, determine the answer that matches the identified representative question. Multi-task learning includes: The system categorizes representative questions corresponding to the input data from a stored set of representative questions, and further categorizes the input data into categories from a set of multiple categories. Calculate the loss value of the representative problem after classification and the loss value of the category after classification; The weights of the deep learning model used for multi-task learning are adjusted based on the calculated loss value.

12. The method of claim 11, wherein, Performing multi-task learning includes: using the plurality of extended statements as input data and using the plurality of representative questions, the plurality of categories, and the plurality of named entities respectively included in the plurality of extended statements as output data.

13. The method of claim 11, wherein, Several representative questions stored include common vehicle-related issues.

14. The method of claim 12, wherein, The named entities include vehicle-related terms.

15. The method of claim 12, wherein, Performing multi-task learning includes: The system categorizes representative questions corresponding to the input data from a stored set of representative questions, classifies the category to which the input data belongs from a set of categories, and classifies the named entities included in the input data from a set of named entities.

16. The method of claim 15, wherein, Performing multi-task learning includes: Calculate the loss values ​​for the representative problem after classification, the loss values ​​for the categories after classification, and the loss values ​​for the named entities after classification, and adjust the weights of the deep learning model used for multi-task learning based on the calculated loss values.

17. The method of claim 11, wherein, Performing multi-task learning includes: global encoding and sequential encoding of the input sequence corresponding to the input data.

Citation Information

Patent Citations

  • FAQ conversation method and device and electronic equipment

    CN110096580A