KR102618335B1 - Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot - Google Patents

Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot Download PDF

Info

Publication number
KR102618335B1
KR102618335B1 KR1020200100522A KR20200100522A KR102618335B1 KR 102618335 B1 KR102618335 B1 KR 102618335B1 KR 1020200100522 A KR1020200100522 A KR 1020200100522A KR 20200100522 A KR20200100522 A KR 20200100522A KR 102618335 B1 KR102618335 B1 KR 102618335B1
Authority
KR
South Korea
Prior art keywords
data
learning
message
learning data
chatbot
Prior art date
Application number
KR1020200100522A
Other languages
Korean (ko)
Other versions
KR20220020058A (en
Inventor
조상묵
Original Assignee
주식회사 스켈터랩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스켈터랩스 filed Critical 주식회사 스켈터랩스
Priority to KR1020200100522A priority Critical patent/KR102618335B1/en
Publication of KR20220020058A publication Critical patent/KR20220020058A/en
Application granted granted Critical
Publication of KR102618335B1 publication Critical patent/KR102618335B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

머신러닝 기반의 챗봇에 대한 학습 데이터 생성 방법이 설명된다. 예시적인 학습 데이터 생성 방법은 사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 단계; 적어도 하나의 메시지 각각에 대하여, 다이얼로그의 유형에 관한 시스템 함수에 기초하여, 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 단계; 및 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 단계를 포함할 수 있다. A method of generating learning data for a machine learning-based chatbot is explained. An exemplary learning data generation method includes receiving, from a user, input data including a message set including at least one message and a system response value for a dialog according to the message set; For each of the at least one message, determining one or more label data used for training the chatbot, based on a system function related to the type of dialog; and generating learning data based on the determined one or more label data.

Description

머신러닝 기반 챗봇에 대한 학습 데이터를 생성하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체 {DEVICE, METHOD, SYSTEM AND COMPUTER READABLE STORAGE MEDIUM TO GENERATE LEARNING DATA FOR MACHINE LEARNING-BASED CHATBOT}Device, method, system and computer-readable storage medium for generating learning data for machine learning-based chatbot {DEVICE, METHOD, SYSTEM AND COMPUTER READABLE STORAGE MEDIUM TO GENERATE LEARNING DATA FOR MACHINE LEARNING-BASED CHATBOT}

본 개시는 머신러닝 기반 챗봇에 대한 학습 데이터를 생성하기 위한 장치, 방법 및 컴퓨터 판독가능 저장 매체에 관한 것이다. The present disclosure relates to an apparatus, method, and computer-readable storage medium for generating training data for a machine learning-based chatbot.

여기에서 달리 언급하지 않으면 본 섹션에서 기술되는 내용은 본 출원에서의 청구범위의 선행 기술이 아니며, 본 섹션에 기재하였다는 이유로 선행 기술로 인정되어서는 안 된다.Unless otherwise stated herein, the material described in this section is not prior art to the claims in this application and should not be acknowledged as prior art by virtue of being described in this section.

최근 인공지능의 기법이 발전함에 따라, 그 응용도 폭넓어지고 있다. 특히, 자연어를 이용하여 이용자와 대화를 할 수 있도록 하는 챗봇은 다양한 분야에서 활용되고 있으며, 점차 그 기술도 발전하고 있다. IBM사의 왓슨(Watson) 챗봇 플랫폼과 같은 종래의 챗봇은 룰 기반 다이얼로그(Rule-based Dialog) 방식을 이용하고 있다. 룰 기반 다이얼로그 방식은 챗봇에 예측되는 다양한 대화 시나리오를 설정하고 그러한 예상된 대화 시나리오에 따라 챗봇이 이용자와의 대화를 진행하도록 할 수 있다. 이러한 룰 기반 다이얼로그 방식을 이용하는 챗봇은 사이즈가 비교적 작고 미리 설정된 유형의 대화에 대해서는 안정적인 성능을 발휘한다. 그러나, 챗봇의 빌더는 다양한 유형의 대화를 포괄하기 위하여 복잡한 룰을 설정해야 하고, 새로운 유형의 대화를 추가할 경우 기존 설정된 룰과 충돌이 일어나지 않도록 해야 하므로 어려움이 있을 수 있다. 또한, 챗봇은 정해진 룰에 따라 대화를 진행하므로, 대화의 유연성이 떨어진다. As artificial intelligence techniques have recently developed, their applications are also broadening. In particular, chatbots, which enable conversations with users using natural language, are being used in various fields, and the technology is gradually developing. Conventional chatbots, such as IBM's Watson chatbot platform, use the rule-based dialog method. The rule-based dialog method can set various expected conversation scenarios for the chatbot and allow the chatbot to conduct a conversation with the user according to those expected conversation scenarios. Chatbots that use this rule-based dialog method are relatively small in size and demonstrate stable performance for preset types of conversations. However, chatbot builders must set up complex rules to encompass various types of conversations, and when adding new types of conversations, they must ensure that there are no conflicts with existing rules, which can be difficult. Additionally, chatbots conduct conversations according to set rules, so the flexibility of conversations is low.

이러한 룰 기반 다이얼로그 방식을 개선하기 위하여, 머신러닝 기반의 챗봇이 연구되고 있다. 머신러닝 기반의 챗봇은 다이얼로그 내 메시지의 인텐트(intent), 해당 메시지의 다이얼로그 내 현재 상황, 그러한 메시지에 대응한 챗봇의 정책 결정 등 다양한 과정에 머신러닝, 예컨대 딥 러닝 방식이 이용된다. 기존의 룰 기반 다이얼로그 방식의 챗봇이 예컨대 이용자의 자연어 메시지에 대한 이해를 부분적으로 머신러닝 기법을 이용하고 다이얼로그는 정해진 룰에 따라 진행시키는 것에 비하여, 머신러닝 기반의 챗봇은 다이얼로그의 진행에도 머신러닝을 이용하므로 다이얼로그의 유연성이 높아지며, 새로운 다이얼로그 유형에 대응하여 추가적인 학습을 수행하면 되므로, 구성이 비교적 간편해진다. 그러나, 머신러닝 기반의 챗봇이 충분한 성능으로 동작하기 위해서는 많은 양의 학습 데이터가 요구된다. 이러한 학습 데이터는 각 데이터에 대한 레이블(label)을 포함하며, 챗봇의 빌더는 머신러닝 모델의 입력에 대한 출력이 교정되도록 하기 위하여 학습 데이터의 레이블을 직접 설정할 필요가 있다. To improve this rule-based dialog method, machine learning-based chatbots are being researched. Machine learning-based chatbots use machine learning, such as deep learning methods, in various processes such as the intent of the message in the dialog, the current situation in the dialog of the message, and the chatbot's policy decision in response to such message. While existing rule-based dialogue chatbots partially use machine learning techniques to understand the user's natural language messages and proceed with the dialogue according to set rules, machine learning-based chatbots use machine learning even in the dialogue process. This increases the flexibility of the dialog, and since additional learning needs to be performed in response to new dialog types, configuration becomes relatively simple. However, a large amount of learning data is required for machine learning-based chatbots to operate with sufficient performance. This learning data includes labels for each data, and the chatbot builder needs to directly set the labels of the learning data to ensure that the output of the machine learning model is corrected for its input.

그러나, 머신러닝 기반의 챗봇의 개별 동작들을 모두 교정하기 위한 학습 데이터는 보통 많은 유형의 데이터 및 레이블이 요구되며, 챗봇 빌더가 많은 양의 학습 데이터 및 각 학습 데이터에 대하여 많은 유형의 레이블과 데이터를 직접 작성하는 것은 매우 시간 소비적이고 비효율적인 작업일 수 있다. 또한, 복수의 챗봇 빌더가 레이블을 작성하는 경우, 레이블링의 일관성이 떨어질 수 있으며, 이는 챗봇에 대한 학습의 효과를 저하시킬 수 있다.However, learning data to correct all individual movements of a machine learning-based chatbot usually requires many types of data and labels, and the chatbot builder requires a large amount of learning data and many types of labels and data for each learning data. Writing it yourself can be a very time-consuming and inefficient task. Additionally, if multiple chatbot builders create labels, labeling may become inconsistent, which may reduce the effectiveness of chatbot learning.

본 개시는 위와 같은 문제점들을 해결하기 위한 것으로서, 머신러닝 기반 챗봇의 학습 데이터를 생성하기 위한 장치, 방법 및 컴퓨터 판독가능 저장 매체를 제시한다. The present disclosure is intended to solve the above problems and presents an apparatus, method, and computer-readable storage medium for generating learning data for a machine learning-based chatbot.

본 개시의 일부 실시예에서, 머신러닝 기반의 챗봇에 대한 학습 데이터를 생성하기 위한 학습 데이터 생성 방법이 설명된다. 예시적인 학습 데이터 생성 방법은 사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 단계; 적어도 하나의 메시지 각각에 대하여, 다이얼로그의 유형에 관한 시스템 함수에 기초하여, 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 단계; 및 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 단계를 포함할 수 있다.In some embodiments of the present disclosure, a learning data generation method for generating training data for a machine learning-based chatbot is described. An exemplary learning data generation method includes receiving, from a user, input data including a message set including at least one message and a system response value for a dialog according to the message set; For each of the at least one message, determining one or more label data used for training the chatbot, based on a system function related to the type of dialog; and generating learning data based on the determined one or more label data.

일부 예시에서, 시스템 함수는 입력 데이터에 포함될 수 있다. 일부 다른 예시에서, 학습 데이터 생성 방법은 입력 데이터를 수신하는 단계 이후 및 하나 이상의 레이블 데이터를 생성하는 단계 이전에, 메시지 세트 및 시스템 응답 값 중 적어도 하나에 기초하여 시스템 함수를 결정하는 단계를 더 포함할 수 있다. 추가적인 일부 예시에서, 학습 데이터 생성 방법은 사용자로부터 학습 데이터를 보정하는 보정 학습 데이터를 수신하는 단계를 더 포함할 수 있다.In some examples, system functions may be included in the input data. In some other examples, the method of generating training data further includes determining a system function based on at least one of a message set and a system response value, after receiving input data and before generating one or more label data. can do. In some additional examples, the method of generating training data may further include receiving corrected training data from a user that corrects the training data.

일부 다른 실시예에서, 머신러닝 기반의 챗봇에 대한 학습 데이터 생성 장치가 설명된다. 예시적인 학습 데이터 생성 장치는 입력 모듈; 레이블링 처리 모듈; 및 출력 모듈을 포함할 수 있다. 입력 모듈은 사용자로부터 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신할 수 있다. 레이블링 처리 모듈은 적어도 하나의 메시지 각각에 대하여, 다이얼로그의 유형에 관한 시스템 함수에 기초하여, 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정할 수 있다. 출력 모듈은 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성할 수 있다. 일부 예시에서, 학습 데이터 생성 장치는 사용자로부터 학습 데이터를 보정하는 보정 학습 데이터를 수신하는 피드백 처리 모듈을 더 포함할 수 있다. In some other embodiments, an apparatus for generating learning data for a machine learning-based chatbot is described. An exemplary learning data generation device includes an input module; labeling processing module; and an output module. The input module may receive input data including a message set including at least one message from the user and a system response value for a dialog according to the message set. The labeling processing module may determine one or more label data used for chatbot learning based on a system function related to the type of dialog for each of at least one message. The output module may generate learning data based on one or more determined label data. In some examples, the learning data generating device may further include a feedback processing module that receives corrected learning data that corrects the learning data from the user.

일부 또 다른 실시예에서, 레이블링 프로그램을 저장하는 컴퓨터 판독가능 저장 매체가 설명된다. 예시적인 레이블링 프로그램은 머신러닝 기반의 챗봇에 대한 학습 데이터의 생성을 수행할 수 있다. 레이블링 프로그램은 컴퓨팅 장치에 의해 실행되는 경우, 사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 동작; 적어도 하나의 메시지 각각에 대하여, 다이얼로그의 유형에 관한 시스템 함수에 기초하여, 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 동작; 및 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 동작을 수행하도록 하는 하나 이상의 명령어를 포함할 수 있다. In some further embodiments, a computer-readable storage medium storing a labeling program is described. An example labeling program can perform the generation of training data for a machine learning-based chatbot. The labeling program, when executed by a computing device, includes the following operations: receiving input data from a user, including a message set including at least one message, a system response value for a dialog according to the message set; An operation of determining, for each of at least one message, one or more label data used for learning a chatbot, based on a system function related to the type of dialog; And it may include one or more instructions to perform an operation of generating learning data based on the one or more determined label data.

이상의 간단한 요약 및 효과에 관한 설명은 단순히 예시적인 것으로서 본 개시에서 의도한 기술적 사항을 제한하기 위한 것이 아니다. 이하의 상세한 설명과 첨부된 도면을 참조함으로써, 전술한 예시적인 실시예들과 기술적 특징들에 더하여, 추가적인 실시예와 기술적 특징들이 이해될 수 있을 것이다.The above brief summary and description of effects are merely illustrative and are not intended to limit the technical details intended in the present disclosure. By referring to the following detailed description and the accompanying drawings, additional embodiments and technical features, in addition to the above-described exemplary embodiments and technical features, may be understood.

본 개시의 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명으로부터 충분히 분명해질 것이다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안되는 것을 이해하면서, 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.
도 1a 및 도 1b는 본 개시의 적어도 일부 실시예와 연관되는 머신러닝 기반의 챗봇 장치의 블록도이다.
도 2는 본 개시의 적어도 일부 실시예에 따른 학습 데이터 생성 장치의 블록도이다.
도 3은 본 개시의 적어도 일부 실시예에 따른 챗봇 시스템의 블록도이다.
도 4는 본 개시의 적어도 일부 실시예에 따라, 학습 데이터 생성을 수행하는 예시적인 프로세스를 도시한다.
도 5는 본 개시의 적어도 일부 실시예에 따라, 학습 데이터의 생성을 수행하는 데 이용될 수 있는 컴퓨터 프로그램 제품을 도시한다.
도 6은 본 개시의 적어도 일부 실시예에 따라 배열되는 컴퓨팅 장치의 예시적인 블록도이다.
도 7은 본 개시의 적어도 일부 실시예에 따른, 학습 데이터 생성 장치로의 입력 데이터의 일 예시이다.
도 8은 도 7의 입력 데이터에 기초하여 생성된 학습 데이터의 일 예시이다.
The above-described features and other features of the present disclosure will become fully apparent from the following description with reference to the accompanying drawings. Understanding that these drawings illustrate only a few embodiments according to the present disclosure and therefore should not be considered limiting its scope, the present disclosure is described in greater detail and detail through the use of the accompanying drawings. It will be.
1A and 1B are block diagrams of a machine learning-based chatbot device related to at least some embodiments of the present disclosure.
Figure 2 is a block diagram of a learning data generating device according to at least some embodiments of the present disclosure.
3 is a block diagram of a chatbot system according to at least some embodiments of the present disclosure.
4 illustrates an example process for performing training data generation, according to at least some embodiments of the present disclosure.
5 illustrates a computer program product that can be used to perform generation of training data, in accordance with at least some embodiments of the present disclosure.
6 is an example block diagram of a computing device arranged in accordance with at least some embodiments of the present disclosure.
7 is an example of input data to a learning data generating device, according to at least some embodiments of the present disclosure.
Figure 8 is an example of learning data generated based on the input data of Figure 7.

이하, 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 구현예 및 실시예를 상세히 설명한다. 그러나, 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 구현예 및 실시예에 한정되지 않는다. Hereinafter, with reference to the attached drawings, implementation examples and embodiments of the present disclosure will be described in detail so that those skilled in the art can easily implement the present disclosure. However, the present application may be implemented in many different forms and is not limited to the implementation examples and examples described herein.

본 개시는 일반적으로, 머신러닝 기반의 챗봇에 대한 학습 데이터를 생성하기 위한 방법, 장치, 시스템, 컴퓨터 판독가능 저장 매체 및 이에 저장된 프로그램에 관한 것이다.The present disclosure generally relates to a method, device, system, computer-readable storage medium, and programs stored therefor for generating training data for a machine learning-based chatbot.

도 1a 및 도 1b는 본 개시의 적어도 일부 실시예와 연관되는 머신러닝 기반의 챗봇 장치(100)의 블록도이다. 도 1a는 챗봇 장치(100)가 사용자와의 다이얼로그를 수행하는 일 예시를 나타내고 도 1b는 챗봇 장치(100)의 관리자(160)가 챗봇 장치(100)를 학습시키는 일 예시를 나타낸다. 도 1a 및 도 1b에 도시된 바와 같이, 챗봇 장치(100)는 자연어 이해 모듈(Natural Language Understanding module; 이하, NLU 모듈)(110), 다이얼로그 스테이트 트랙킹 모듈(Dialogue State Tracking module; 이하, DST 모듈)(120), 정책 모듈(130), 자연어 생성 모듈(Natural Language Generation 모듈; 이하 NLG 모듈)(140) 및 학습 관리부(150)를 포함할 수 있다. 도 1a 및 도 1b에 도시된 챗봇 장치(100)의 구성은 단지 예시적인 것이며, 다양한 유형의 챗봇 장치(100)가 본 개시와 연관될 수 있다는 점이 통상의 기술자에게 이해될 것이다. 예컨대, 챗봇 장치(100)는 도 1a 및 도 1b에 도시된 바와 다른 방식으로 컴포넌트가 연결될 수 있거나, 임의의 컴포넌트가 추가될 수 있거나 생략될 수 있거나, 보다 작은 컴포넌트로 분할되는 것도 가능할 수 있다.1A and 1B are block diagrams of a machine learning-based chatbot device 100 related to at least some embodiments of the present disclosure. FIG. 1A shows an example in which the chatbot device 100 performs a dialogue with a user, and FIG. 1B shows an example in which the manager 160 of the chatbot device 100 trains the chatbot device 100. As shown in FIGS. 1A and 1B, the chatbot device 100 includes a Natural Language Understanding module (NLU module) 110 and a Dialogue State Tracking module (DST module). It may include (120), a policy module (130), a natural language generation module (hereinafter referred to as NLG module) (140), and a learning management unit (150). It will be understood by those skilled in the art that the configuration of the chatbot device 100 shown in FIGS. 1A and 1B is merely exemplary, and that various types of chatbot device 100 may be associated with the present disclosure. For example, the chatbot device 100 may have components connected in a different way than shown in FIGS. 1A and 1B, arbitrary components may be added or omitted, or it may be divided into smaller components.

사용자는 챗봇 장치(100)를 직접 이용하거나 또는 유선 또는 무선 네트워크를 통하여 챗봇 장치(100)와 연결되는 사용자 단말 장치를 이용하여 챗봇 장치(100)에 의해 구현된 챗봇과 챗봇 다이얼로그를 수행할 수 있다. 챗봇 장치(100)는 사용자에 의해 입력된 입력 메시지를 수신할 수 있으며, 이러한 입력 메시지는 자연어일 수 있다. 챗봇 장치(100)는 입력 메시지에 응답하여 자연어 형태의 응답 메시지를 출력할 수 있다. 챗봇 장치(100)는 예컨대, 다음과 같이 사용자와의 다이얼로그를 수행할 수 있다.The user can use the chatbot device 100 directly or use a user terminal device connected to the chatbot device 100 through a wired or wireless network to perform the chatbot and chatbot dialog implemented by the chatbot device 100. . The chatbot device 100 may receive an input message entered by a user, and this input message may be a natural language. The chatbot device 100 may output a response message in natural language in response to the input message. The chatbot device 100 may perform a dialogue with the user as follows, for example.

도 1a에 도시된 바와 같이, 챗봇 장치(100)는 NLU 모듈(110), DST 모듈(120), 정책 모듈(130) 및 NLG 모듈(140)을 이용하여 사용자와의 다이얼로그를 수행할 수 있다. NLU 모듈(110), DST 모듈(120), 정책 모듈(130) 및 NLG 모듈(140) 중 적어도 일부는 머신러닝 기법을 이용하여 구현될 수 있다. NLU 모듈(110)은 사용자로부터 입력 메시지를 수신할 수 있으며, 이러한 입력 메시지에 기초하여 해당 입력 메시지의 인텐트(Intent) 값 및 엔티티(Entity) 값을 결정할 수 있다. 예컨대, 입력 메시지가 "12월 25일 3 성급 호텔을 예약하고 싶습니다"인 경우, 인텐트 값은 "호텔 예약"일 수 있는 한편, 엔티티 값은 "hotel-star" 및 "date"라는 엔티티 변수와 그에 각각 대응하는 "3 성" 및 "12월 25일"이라는 값을 포함할 수 있다.As shown in FIG. 1A, the chatbot device 100 can perform a dialogue with the user using the NLU module 110, DST module 120, policy module 130, and NLG module 140. At least some of the NLU module 110, DST module 120, policy module 130, and NLG module 140 may be implemented using machine learning techniques. The NLU module 110 can receive an input message from a user, and can determine the intent value and entity value of the input message based on the input message. For example, if the input message is "I would like to book a 3-star hotel on December 25th", the intent value could be "hotel reservation", while the entity value would be "hotel-star" and the entity variables "date" and It may contain the corresponding values "3 stars" and "December 25th", respectively.

DST 모듈(120)은 챗봇 장치(100)에 의해 수행되는 다이얼로그 및 이에 관한 데이터를 검색하고 관리할 수 있다. 일부 예시에서, DST 모듈(120)은 NLU 모듈(110)에 의해 결정된 인텐트와 엔티티를 수신할 수 있다. DST 모듈(120)은 현재 수행 중인 다이얼로그의 이력 혹은 맥락에 관한 데이터를 획득하고 이러한 맥락에 관한 데이터, 인텐트 및 엔티티에 기초하여, DST 값을 출력할 수 있다. 예컨대, 입력 메시지가 "12월 25일자 3 성급 호텔을 예약하고 싶습니다"인 경우, DST 모듈(120)은 예컨대 수행중인 다이얼로그 내 이전 대화를 고려하여, 현재 호텔 이용의 종료일자에 관한 다이얼로그가 수행되고 있음을 결정할 수 있으며, 그에 따라 "hotel-star" 및 "to-date"라는 DST 변수와 그에 각각 대응하는 "3 성" 및 "12월 25일" 이라는 값을 결정할 수 있다. 이러한 DST 값은 미리 정해진 데이터 포맷을 가질 수 있다.The DST module 120 can search and manage dialogs performed by the chatbot device 100 and data related thereto. In some examples, DST module 120 may receive intents and entities determined by NLU module 110. The DST module 120 may acquire data about the history or context of the currently executing dialog and output a DST value based on data, intents, and entities about this context. For example, if the input message is "I would like to reserve a 3-star hotel for December 25th", the DST module 120 will perform a dialog regarding the end date of the current hotel stay, for example, taking into account the previous dialog within the dialog being performed and It can be determined that there is, and accordingly, the DST variables "hotel-star" and "to-date" and the corresponding values "3 stars" and "December 25" can be determined. These DST values may have a predetermined data format.

정책 모듈(130)은 NLU 모듈(110)에 의한 입력 메시지의 수신 이후에, 챗봇 장치(100)가 수행할 행동 및 응답 메시지에 대한 정책을 결정할 수 있다. 이러한 정책은 입력 메시지에 대한 응답 메시지의 유형을 포함할 수 있다. 정책 모듈(130)은 NLU 모듈(110)로부터 인텐트 값, 엔티티 값을 수신할 수 있으며, DST 모듈(120)로부터 DST 값을 수신할 수 있다. 일부 예시에서, 정책 모듈(130)은 인텐트 값, 엔티티 값 및 DST 값 중 적어도 하나에 기초하여 외부 API(Application Program Interface)를 호출할 수 있으며, 이러한 API에 기초하여 출력될 응답 메시지의 유형을 결정할 수 있다. 일 예시에서, 정책 모듈(130)에 의해 결정되는 메시지의 유형은 사용자에게 추가 정보를 물어보는 형태를 취할 수 있다. 다른 예시에서, 정책 모듈(130)에 의해 결정되는 메시지의 유형은 사용자에게 질의에 대한 응답 데이터를 포함하는 형태를 취할 수 있다.The policy module 130 may determine policies for actions to be performed by the chatbot device 100 and response messages after receiving the input message by the NLU module 110. These policies may include the type of response message to the input message. The policy module 130 may receive an intent value and an entity value from the NLU module 110, and may receive a DST value from the DST module 120. In some examples, the policy module 130 may call an external API (Application Program Interface) based on at least one of an intent value, an entity value, and a DST value, and determine the type of response message to be output based on this API. You can decide. In one example, the type of message determined by policy module 130 may take the form of asking the user for additional information. In another example, the type of message determined by policy module 130 may take the form of containing response data to a query to the user.

한편, 챗봇 장치(100)는 정책 모듈(130)에 의해 결정된 정책에 기초하여, 예컨대, 예약, 검색, 연산 등 다양한 동작을 수행할 수 있다. NLG 모듈(140)은 정책 및 응답 데이터에 기초하여, 응답 메시지를 생성할 수 있다. 예컨대, 정책 모듈(130)에 의해 여행의 시작 날짜를 묻는 정책이 결정되었다면, NLG 모듈(140)은 여행의 시작 날짜를 묻는 자연어를 생성할 수 있다.Meanwhile, the chatbot device 100 can perform various operations, such as reservation, search, and calculation, based on the policy determined by the policy module 130. The NLG module 140 may generate a response message based on the policy and response data. For example, if the policy module 130 determines the policy of asking for the start date of the trip, the NLG module 140 may generate natural language asking for the start date of the trip.

전술한 바와 같이, NLU 모듈(110), DST 모듈(120), 정책 모듈(130) 및 NLG 모듈(140) 중 적어도 일부는 머신러닝 기법을 이용하므로, 도 1b에 도시된 바와 같이, 챗봇 장치(100)의 관리자(160)는 학습 데이터를 이용하여, 챗봇 장치(100) 내 하나 이상의 머신러닝 모델을 학습시킴으로써, 챗봇 장치(100)의 성능을 향상시킬 수 있다. 일부 예시에서, 관리자(160)가 복수의 학습 데이터를 입력하면, 학습 관리부(150)는 복수의 학습 데이터를 수신할 수 있다. 학습 관리부(150)는 수신된 복수의 학습 데이터를 이용하여 챗봇 장치(100)는 하나 이상의 머신러닝 모델을 학습시킬 수 있다. 이러한 학습에는 머신러닝 모델 내 가중치 혹은 파라미터를 조정을 포함할 수 있다.As described above, at least some of the NLU module 110, DST module 120, policy module 130, and NLG module 140 use machine learning techniques, so as shown in FIG. 1B, the chatbot device ( The manager 160 of 100 can improve the performance of the chatbot device 100 by training one or more machine learning models in the chatbot device 100 using learning data. In some examples, when the manager 160 inputs a plurality of learning data, the learning management unit 150 may receive a plurality of learning data. The learning management unit 150 may train the chatbot device 100 to learn one or more machine learning models using a plurality of received learning data. This learning may include adjusting weights or parameters within the machine learning model.

머신러닝 모델의 학습에 이용되는 학습 데이터는 입력 데이터 및 출력 데이터와 같이 하나 이상의 데이터를 포함하는 소정 포맷의 데이터 세트이며, 챗봇 장치(100)의 관리자(160)는 소정 포맷을 가지는 데이터 세트를 작성하도록 요구된다. 학습 데이터는, 입력 메시지, 인텐트 값, 하나 이상의 엔티티 값, DST 값, 시스템 응답 값과 같이, 챗봇 장치(100)에 입력되거나 챗봇 장치(100) 내부에서 또는 외부로 출력되는 데이터뿐만 아니라, 챗봇 장치(100)에 의해 수행되고 있는 다이얼로그의 유형에 관한 시스템 함수를 포함할 수 있다. 시스템 함수는 다이얼로그에 연관된 데이터를 포함할 수 있다. 예컨대, 다이얼로그가 "항공권 예약"에 관한 것인 경우, 시스템 함수는 예약된 항공기의 항공편 번호에 관한 데이터를 포함할 수 있다.The learning data used to learn the machine learning model is a data set in a predetermined format that includes one or more data such as input data and output data, and the manager 160 of the chatbot device 100 creates a data set with a predetermined format. are required to do so. Learning data includes data input to the chatbot device 100 or output internally or externally to the chatbot device 100, such as an input message, an intent value, one or more entity values, a DST value, and a system response value. It may include a system function related to the type of dialog being performed by the device 100. System functions can contain data associated with the dialog. For example, if the dialog is about “flight reservation,” the system function may include data regarding the flight number of the booked aircraft.

이와 같이 챗봇 장치(100)에 포함된 하나 이상의 머신러닝 모델을 학습시키기 위해서는, 관리자(160)가 소정 포맷에 따르는 학습 데이터를 직접 작성하여 입력해야 한다. 예컨대, 관리자(160)는 전술한 엔티티 변수, DST 변수 및 입력 메시지의 개별적인 데이터가 나타내는 것에 대응하는 각각의 레이블(label)을 학습 데이터에 포함시킬 필요가 있다. 그러나, 머신러닝 모델의 충분한 학습에는 많은 양의 학습 데이터가 필요하며, 그러한 학습 데이터를 관리자가 직접 작성하는 것은 매우 시간 소비적인 작업일 수 있다.In order to train one or more machine learning models included in the chatbot device 100, the manager 160 must directly create and input learning data according to a predetermined format. For example, the manager 160 needs to include in the learning data each label corresponding to what the individual data of the above-described entity variable, DST variable, and input message represents. However, sufficient training of a machine learning model requires a large amount of training data, and it can be a very time-consuming task for administrators to create such training data directly.

도 2는 본 개시의 적어도 일부 실시예에 따른 학습 데이터 생성 장치(200)의 블록도이다. 학습 데이터 생성 장치(200)는 예컨대, 데스크 탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 휴대 전화기, 개인 휴대용 단말기(PDA), 특정 용도 장치 또는 상기 기능 중 임의의 것을 포함하는 융합 장치와 같은 단일 컴퓨팅 장치; 또는 서버 팜(server farm), 분산형 네트워크, 클라우드 컴퓨팅 구성과 같이 복수의 컴퓨팅 장치를 포함하는 복수 컴퓨팅 구성일 수 있으나, 이에 제한되지 않는다. Figure 2 is a block diagram of a learning data generating device 200 according to at least some embodiments of the present disclosure. Learning data generating device 200 may be a single device, such as, for example, a desktop computer, laptop computer, smartphone, tablet computer, mobile phone, personal digital assistant (PDA), special purpose device, or fusion device that includes any of the above functions. computing device; Alternatively, it may be a multiple computing configuration including multiple computing devices, such as a server farm, distributed network, or cloud computing configuration, but is not limited thereto.

일부 실시예에서, 학습 데이터 생성 장치(200)는 도 2에 도시된 바와 같이, 입력 모듈(210), 레이블링 처리 모듈(220) 및 출력 모듈(230)을 포함할 수 있다. 추가적으로, 학습 데이터 생성 장치(200)는 피드백 처리 모듈(240)을 더 포함할 수 있다. 학습 데이터 생성 장치(200)는 본 개시에 따른 하나 이상의 프로그램을 내부 메모리에 저장할 수 있으며, 이러한 하나 이상의 프로그램은 프로세서의 실행에 의해, 이하에서 설명되는 입력 모듈(210), 레이블링 처리 모듈(220), 출력 모듈(230) 및 피드백 처리 모듈(240)의 동작 중 적어도 일부를 수행할 수 있다. 이러한 컴포넌트들(210, 220 및 230 및 선택적인 컴포넌트들(240)는 개별적인 컴포넌트로 도시되었으나, 개시된 대상의 범위를 벗어나지 않으면서, 추가적인 컴포넌트로 분리될 수 있거나 더 적은 컴포넌트로 조합되거나 제거될 수 있다. 또한, 도 2에서는 컴포넌트가 소프트웨어에 의해 구현되는 것으로 설명되지만, 당업자라면 컴포넌트의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어 또는 그들의 임의의 조합을 통하여 개별적으로 및/또는 종합적으로 구현될 수 있음을 이해할 것이다. 학습 데이터 생성 장치(200)는 이하에서 설명되는 바와 같이, 머신러닝 기반의 챗봇에 대한 학습 데이터를 생성할 수 있다.In some embodiments, the learning data generating device 200 may include an input module 210, a labeling processing module 220, and an output module 230, as shown in FIG. 2 . Additionally, the learning data generating device 200 may further include a feedback processing module 240. The learning data generating device 200 may store one or more programs according to the present disclosure in an internal memory, and these one or more programs may be executed by a processor, such as an input module 210 and a labeling processing module 220, which will be described below. , at least some of the operations of the output module 230 and the feedback processing module 240 can be performed. These components 210, 220, and 230 and optional components 240 are shown as individual components, but may be separated into additional components, combined into fewer components, or eliminated, without departing from the scope of the disclosed subject matter. In addition, in Figure 2, the component is described as being implemented by software, but those skilled in the art will understand that each function and/or operation of the component can be implemented individually and/or comprehensively through hardware, software, firmware, or any combination thereof. It will be understood that the learning data generating device 200 can generate learning data for a machine learning-based chatbot, as described below.

입력 모듈(210)은 사용자로부터 입력 데이터를 수신할 수 있다. 사용자는 예컨대, 도 1b의 관리자(160)와 같이 머신러닝 기반의 챗봇을 학습시키기 위하여 학습 데이터가 필요할 수 있다. 일부 예시에서, 입력 데이터는 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함할 수 있다. 메시지 세트에 포함되는 적어도 하나의 메시지는 챗봇에 의하여 수행되는 다이얼로그에서 사용되었거나 사용될 수 있는 자연어를 사용하는 텍스트 메시지일 수 있다. 다이얼로그에 대한 시스템 응답 값은 적어도 하나의 메시지 중 임의의 것에 대한 챗봇의 응답 값 또는 메시지 세트에 따른 다이얼로그에 대한 챗봇의 응답 값일 수 있다. 예컨대, 다이얼로그가 항공기 예약에 관련되는 경우, 시스템 응답 값은 항공편 명 및 출발 시각일 수 있다. The input module 210 may receive input data from the user. A user may need learning data to train a machine learning-based chatbot, for example, like the manager 160 in FIG. 1B. In some examples, the input data may include a message set including at least one message and a system response value for a dialog according to the message set. At least one message included in the message set may be a text message using natural language that is or can be used in a dialog performed by a chatbot. The system response value to the dialog may be the chatbot's response value to any of at least one message or the chatbot's response value to the dialog according to the message set. For example, if the dialog relates to aircraft reservations, the system response values may be the flight number and departure time.

레이블링 처리 모듈(220)은 입력 모듈(210)에 의해 수신된 입력 데이터를 이용하여 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정할 수 있다. 레이블 데이터 각각은 데이터 및 해당 데이터에 대응되는 적어도 하나의 레이블 값을 포함할 수 있다. 레이블링 처리 모듈(220)은 메시지 세트에 포함된 적어도 하나의 메시지 각각에 대하여, 시스템 함수에 기초하여 하나 이상의 레이블 데이터를 결정할 수 있다. 일부 예시에서, 시스템 함수는 메시지 세트와 연관된 다이얼로그의 유형에 관련될 수 있으며, 하나 이상의 변수를 포함할 수 있다. 일부 다른 예시에서, 시스템 함수는 챗봇의 동작과 연관될 수 있다. The labeling processing module 220 may use the input data received by the input module 210 to determine one or more label data used for learning the chatbot. Each piece of label data may include data and at least one label value corresponding to the data. The labeling processing module 220 may determine one or more label data for each of at least one message included in the message set based on a system function. In some examples, a system function may be related to the type of dialog associated with the message set and may include one or more variables. In some other examples, system functions may be associated with the behavior of a chatbot.

레이블링 처리 모듈(220)은 적어도 하나의 메시지 각각에 대하여, 시스템 함수에 기초하여, 하나 이상의 레이블 데이터를 결정할 수 있다. 일부 예시에서, 레이블링 처리 모듈(220)은 각 메시지로부터 하나 이상의 데이터를 도출할 수 있으며, 시스템 함수에 기초하여, 도출된 하나 이상의 데이터 각각에 대한 레이블 값을 결정하고 도출된 데이터와 레이블 값을 연관시킬 수 있다. 일부 다른 예시에서, 레이블링 처리 모듈(220)은 시스템 함수에 기초하여, 다이얼로그의 유형에서 요구되는 레이블 값을 결정할 수 있으며, 결정된 레이블 값에 대응하는 데이터를 메시지 세트 및 다이얼로그 관련 데이터로부터 획득할 수 있다. 하나 이상의 레이블 데이터는 예컨대, 메시지에 대한 인텐트, 하나 이상의 엔티티, 다이얼로그 내 다이얼로그 상태 값 중 적어도 하나를 포함할 수 있다. 하나 이상의 레이블 데이터는 이에 제한되지 않으며, 학습 데이터의 변수로서 요구되는 임의의 데이터를 포함할 수 있다. The labeling processing module 220 may determine one or more label data for each of at least one message, based on a system function. In some examples, labeling processing module 220 may derive one or more data from each message, determine a label value for each of the one or more derived data based on a system function, and associate the derived data with the label value. You can do it. In some other examples, the labeling processing module 220 may determine a label value required for a type of dialog based on a system function and obtain data corresponding to the determined label value from the message set and dialog-related data. . One or more label data may include, for example, at least one of an intent for a message, one or more entities, and a dialog state value within a dialog. The one or more label data is not limited to this and may include any data required as a variable in the learning data.

일부 실시예에서, 입력 데이터는 시스템 함수를 포함할 수 있다. 시스템 함수가 입력 모듈(210)에 의해 수신되는 입력 데이터에 포함되는 경우, 레이블링 처리 모듈(220)은 입력 데이터로부터 시스템 함수를 결정할 수 있다. 이와 같이, 시스템 함수가 입력 데이터에 포함되는 경우, 사용자가 그러한 시스템 함수를 직접 선정할 필요가 있으므로, 이를 "반자동 모드(semi-automatic mode)"라고 지칭할 수 있다. In some embodiments, input data may include system functions. If the system function is included in the input data received by the input module 210, the labeling processing module 220 may determine the system function from the input data. As such, when a system function is included in the input data, the user needs to directly select such a system function, so this may be referred to as a “semi-automatic mode.”

한편, 추가적이거나 대안적인 실시예에서, 레이블링 처리 모듈(220)은 "자동 모드"에서 동작할 수 있다. 레이블링 처리 모듈(220)이 자동 모드에서 동작하는 경우, 입력 메시지는 시스템 함수를 포함하지 않을 수 있다. 이러한 경우에, 일부 예시에서, 레이블링 처리 모듈(220)은 입력 데이터의 메시지 세트 및 시스템 응답 값 중 적어도 하나에 기초하여 시스템 함수를 결정할 수 있다. 레이블링 처리 모듈(220)은 이후 시스템 함수에 기초하여 하나 이상의 레이블 데이터를 결정할 수 있다. 일부 추가적인 예시에서, 레이블링 처리 모듈(220)은 미리 정해진 학습 데이터에 더 기초하여 시스템 함수를 결정할 수 있다. 예컨대, 레이블링 처리 모듈(220)은 미리 정해진 학습 데이터 중 임의의 하나의 메시지 또는 시스템 응답 값이 현재 입력 데이터에 포함된 메시지 또는 시스템 응답 값과 동일 또는 유사하다고 볼 수 있는 경우, 해당 학습 데이터의 시스템 함수를 해당 입력 데이터에 대한 시스템 함수로서 결정할 수 있다. Meanwhile, in additional or alternative embodiments, labeling processing module 220 may operate in an “automatic mode.” If the labeling processing module 220 operates in automatic mode, the input message may not include system functions. In this case, in some examples, labeling processing module 220 may determine a system function based on at least one of a message set of input data and a system response value. The labeling processing module 220 may then determine one or more label data based on the system function. In some additional examples, labeling processing module 220 may determine the system function further based on predetermined training data. For example, if the labeling processing module 220 determines that any one message or system response value among the predetermined learning data is the same or similar to a message or system response value included in the current input data, the labeling processing module 220 operates the system of the learning data. The function can be determined as a system function for the corresponding input data.

레이블링 처리 모듈(220)이 "반자동 모드"에서 동작할지 "자동 모드"에서 동작할지는 구현예에 따라 정해질 수 있다. 일부 예시에서, 레이블링 처리 모듈(220)의 동작 모드는 사용자에 의해 미리 정해질 수 있다. 일부 다른 예시에서, 레이블링 처리 모듈(220)의 동작 모드는 입력 메시지의 형태(즉, 시스템 함수의 포함 여부), 준비된 학습 데이터의 양 등의 임의의 조건에 기초하여 자동적으로 결정되도록 구현되는 것도 가능하다.Whether the labeling processing module 220 operates in “semi-automatic mode” or “automatic mode” may be determined depending on implementation. In some examples, the operation mode of the labeling processing module 220 may be predetermined by the user. In some other examples, the operation mode of the labeling processing module 220 may be implemented to be automatically determined based on arbitrary conditions such as the type of the input message (i.e., whether a system function is included), the amount of prepared training data, etc. do.

출력 모듈(230)은 레이블링 처리 모듈(220)에 의해 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성할 수 있다. 출력 모듈(230)에 의해 생성되는 학습 데이터는 챗봇의 학습에 이용되는 학습 데이터로서 이용되도록 미리 정해진 포맷을 취할 수 있다. 일부 예시에서, 레이블링 처리 모듈(220)에 의해 결정되는 데이터에 대응하는 레이블 값이 복수인 경우, 출력 모듈(230)은 해당 데이터에 대응하는 레이블 값의 후보 항목을 포함하도록 학습 데이터를 생성할 수 있다. The output module 230 may generate learning data based on one or more label data determined by the labeling processing module 220. The learning data generated by the output module 230 may have a predetermined format to be used as learning data used for learning of the chatbot. In some examples, when there are multiple label values corresponding to the data determined by the labeling processing module 220, the output module 230 may generate training data to include candidate items for label values corresponding to the data. there is.

추가적인 실시예에서, 피드백 처리 모듈(240)은 사용자로부터 출력 모듈(230)에 의해 생성된 학습 데이터를 보정하는 보정 학습 데이터를 수신할 수 있다. 일부 예시에서, 출력 모듈(230)은 레이블링 처리 모듈(220)에 의해 결정된 하나 이상의 레이블 데이터를 이용하여 해당 포맷에 따라 학습 데이터를 생성할 수 있다. 레이블링 처리 모듈(220)에 의해 결정되는 레이블 데이터 중 일부는 레이블 값 또는 데이터 중 어느 하나 만을 포함할 수 있으며, 대응되는 데이터 또는 레이블 값을 포함하지 않을 수 있다. 이러한 예시에서, 출력 모듈(230)은 레이블 데이터에 포함되지 않은 데이터 또는 레이블 값을 학습 데이터 내에서 공란(blank)으로 남겨둘 수 있다. 사용자는 출력 모듈(230)에 의해 출력된 학습 데이터가 공란(blank)을 가지거나 챗봇에 사용하기 부족한 경우 부족한 부분을 추가함으로써 학습 데이터에 대한 레이블 작업을 완료할 수 있다. 출력된 학습 데이터에 포함된 데이터에 오류가 있는 경우 사용자는 이를 수정할 수 있다. 피드백 처리 모듈(240)은 이와 같이 추가 또는 수정되는 학습 데이터를 보정 학습 데이터로서 수신할 수 있다.In a further embodiment, the feedback processing module 240 may receive corrected training data from a user that corrects the training data generated by the output module 230. In some examples, the output module 230 may generate training data according to a corresponding format using one or more label data determined by the labeling processing module 220. Some of the label data determined by the labeling processing module 220 may include only either a label value or data, and may not include the corresponding data or label value. In this example, the output module 230 may leave data not included in the label data or label values as blank in the training data. If the learning data output by the output module 230 has blanks or is insufficient for use in a chatbot, the user can complete the labeling task for the learning data by adding the missing parts. If there is an error in the data included in the output training data, the user can correct it. The feedback processing module 240 may receive the learning data added or modified in this way as corrected learning data.

일부 예시에서, 피드백 처리 모듈(240)은 출력 모듈(230)에 의해 생성된 학습 데이터 및 피드백 처리 모듈(240)에 의해 수신된 보정 학습 데이터에 기초하여 레이블링 처리 모듈(220)의 레이블링 값의 결정 방식을 평가할 수 있다. 이후, 사용자는 평가의 결과에 기초하여 레이블링 처리 모듈(220), 시스템 함수 또는 학습 데이터를 수정할 수 있다. 일부 다른 예시에서, 피드백 처리 모듈(240)은 학습 데이터 및 보정 학습 데이터에 기초하여, 레이블링 처리 모듈(220)의 하나 이상의 레이블링 값의 결정 방식을 조정할 수 있다. 이와 같은 예시에서, 피드백 처리 모듈(240)은 구현예에 따라, 머신러닝 모듈과 같은 인공지능 모듈을 사용하는 것도 가능하다.In some examples, the feedback processing module 240 determines the labeling value of the labeling processing module 220 based on the training data generated by the output module 230 and the corrected training data received by the feedback processing module 240. method can be evaluated. Thereafter, the user may modify the labeling processing module 220, system function, or learning data based on the results of the evaluation. In some other examples, feedback processing module 240 may adjust how labeling processing module 220 determines one or more labeling values based on the training data and corrected training data. In this example, the feedback processing module 240 may use an artificial intelligence module such as a machine learning module, depending on the implementation.

이와 같이, 학습 데이터 생성 장치(200)가 학습 데이터의 적어도 일부를 자동적으로 생성함으로써, 사용자가 머신러닝 기반의 학습 데이터를 작성 및 준비하는 데 필요한 시간 및 비용을 절감할 수 있다. 또한, 학습 데이터 생성 장치(200)가 자동 모드에서 동작하고 피드백에 의해 보다 정확하게 레이블 데이터를 형성할 수 있음에 따라, 학습 데이터의 생성에 소요되는 시간 및 비용은 더 감소할 수 있다.In this way, the learning data generating device 200 automatically generates at least part of the learning data, thereby reducing the time and cost required for the user to create and prepare machine learning-based learning data. Additionally, as the learning data generating apparatus 200 operates in an automatic mode and can form label data more accurately through feedback, the time and cost required to generate learning data can be further reduced.

도 3은 본 개시의 적어도 일부 실시예에 따른 챗봇 시스템(300)의 블록도이다. 도 3에 도시된 바와 같이, 챗봇 시스템(300)은 학습 데이터 생성 장치(310) 및 챗봇 장치(320)를 포함할 수 있다. 학습 데이터 생성 장치(310)는 도 2에서 설명된 바와 같은 학습 데이터 생성 장치(200)와 같이 학습 데이터를 생성할 수 있다. 챗봇 장치(320)는 도 1a 및 도 1b에서 챗봇 장치(100)와 같이 머신러닝 기반의 챗봇을 구현할 수 있으며, 잘 알려진 다양한 유형의 챗봇 알고리즘이 이용될 수 있다. 일부 예시에서 학습 데이터 생성 장치(310)에 의해 생성된 학습 데이터는 챗봇 시스템(300) 내 메모리에 저장될 수 있으며, 챗봇 장치(320)는 메모리에 저장된 학습 데이터를 이용하여 학습을 수행할 수 있다. Figure 3 is a block diagram of a chatbot system 300 according to at least some embodiments of the present disclosure. As shown in FIG. 3, the chatbot system 300 may include a learning data generating device 310 and a chatbot device 320. The learning data generating device 310 may generate learning data like the learning data generating device 200 described in FIG. 2 . The chatbot device 320 can implement a machine learning-based chatbot like the chatbot device 100 in FIGS. 1A and 1B, and various types of well-known chatbot algorithms can be used. In some examples, learning data generated by the learning data generating device 310 may be stored in a memory within the chatbot system 300, and the chatbot device 320 may perform learning using the learning data stored in the memory. .

학습 데이터 생성 장치(310)에 의해 생성되는 학습 데이터는 일부 예시에서, 사용자에 의한 수정 또는 보정을 거친 후에 저장될 수 있다. 일부 다른 예시에서, 학습 데이터 생성 장치(310)에 의해 생성된 학습 데이터가 사용자에 의한 수정 또는 보정이 요구되지 않을 수 있다. 이러한 예시에서, 사용자는 챗봇 장치(320)에서 사용되는 학습 데이터보다 단순한 입력 데이터를 학습 데이터 생성 장치(310)에 입력함으로써 챗봇 장치(320)의 학습이 수행되는 것이 가능해진다. 학습 데이터 생성 장치(310)는 챗봇 장치(320)와 챗봇 시스템(300)으로서 일체로 형성될 수 있으나, 챗봇 장치(320)와 별개의 장치로서 구현되어 학습 데이터 생성 장치(310)에 의해 생성되는 학습 데이터가 사용자에 의해 수동으로 챗봇 장치(320)로 입력되도록 구현되는 것도 가능하다. In some examples, learning data generated by the learning data generating device 310 may be stored after being modified or corrected by a user. In some other examples, the learning data generated by the learning data generating device 310 may not require modification or correction by the user. In this example, the user inputs simpler input data than the learning data used in the chatbot device 320 into the learning data generating device 310, thereby enabling the chatbot device 320 to learn. The learning data generating device 310 may be integrally formed as the chatbot device 320 and the chatbot system 300, but may be implemented as a separate device from the chatbot device 320 to generate data generated by the learning data generating device 310. It is also possible to implement learning data to be manually input into the chatbot device 320 by the user.

도 4는 본 개시의 적어도 일부 실시예에 따라, 학습 데이터 생성을 수행하는 예시적인 프로세스(400)를 도시한다. 예컨대, 프로세스(400)는 도 2의 학습 데이터 생성 장치(200) 및/또는 챗봇 시스템(300)과 같은 컴퓨팅 장치의 제어 하에서 수행될 수 있다. 따라서, 프로세스(400)는 이하에서 설명되는 바와 같이, 도 1a 및 도 1b의 챗봇 장치(100)와 같은 머신러닝 기반의 챗봇에 대한 학습 데이터를 생성할 수 있다. 도 4에 도시된 프로세스(400)는 블록(410, 420, 430 및/또는 440)에 의하여 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 도 4에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시에의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. 프로세스(400)는 입력 데이터를 수신하는 블록(410)에서 시작할 수 있다.4 illustrates an example process 400 for performing training data generation, in accordance with at least some embodiments of the present disclosure. For example, process 400 may be performed under the control of a computing device, such as learning data generating device 200 and/or chatbot system 300 of FIG. 2 . Accordingly, the process 400 may generate training data for a machine learning-based chatbot, such as the chatbot device 100 of FIGS. 1A and 1B, as described below. Process 400 shown in FIG. 4 may include one or more operations, functions or actions as illustrated by blocks 410, 420, 430 and/or 440. The schematic operations illustrated in FIG. 4 are provided by way of example only, and some of the operations may be optional, combined into fewer operations, or expanded into additional operations without departing from the essence of the disclosed embodiments. there is. Process 400 may begin at block 410, which receives input data.

블록(410)에서 컴퓨팅 장치는 사용자로부터 입력 데이터를 수신할 수 있다. 입력 데이터는 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함할 수 있다. 적어도 하나의 메시지는 챗봇에 의하여 수행되는 다이얼로그에서 사용되었거나 사용될 수 있는 자연어를 사용하는 텍스트 메시지일 수 있다. 다이얼로그에 대한 시스템 응답 값은 적어도 하나의 메시지 중 임의의 것에 대한 챗봇의 응답 값 또는 다이얼로그에 대한 챗봇의 응답 값일 수 있다. At block 410, the computing device may receive input data from the user. Input data may include a message set including at least one message and a system response value for a dialog according to the message set. At least one message may be a text message using natural language that is or can be used in a dialog performed by the chatbot. The system response value to the dialog may be the chatbot's response value to any of at least one message or the chatbot's response value to the dialog.

컴퓨팅 장치는 입력 데이터를 수신한 이후에, 입력 데이터에 기초하여 시스템 함수를 결정할 수 있다. 일부 예시에서, 입력 데이터는 시스템 함수를 더 포함하며, 컴퓨팅 장치는 입력 데이터로부터 시스템 함수를 결정할 수 있다. 일부 다른 예시에서, 입력 데이터는 시스템 함수를 포함하지 않을 수 있으며, 컴퓨팅 장치는 입력 데이터의 수신 이후에, 입력 데이터 내 메시지 세트 및 시스템 응답 값 중 적어도 하나에 기초하여 시스템 함수를 결정할 수 있다. 일부 예시에서, 시스템 함수는 메시지 세트와 연관된 다이얼로그의 유형에 관련될 수 있으며, 하나 이상의 변수를 포함할 수 있다. 일부 다른 예시에서, 시스템 함수는 챗봇의 동작과 연관될 수 있다. 프로세스(400)는 블록(410)으로부터 하나 이상의 레이블 데이터를 결정하는 블록(420)으로 이어질 수 있다.After receiving input data, the computing device may determine a system function based on the input data. In some examples, the input data further includes a system function, and the computing device can determine the system function from the input data. In some other examples, the input data may not include a system function, and the computing device, after receiving the input data, may determine the system function based on at least one of a system response value and a message set in the input data. In some examples, a system function may be related to the type of dialog associated with the message set and may include one or more variables. In some other examples, system functions may be associated with the behavior of a chatbot. Process 400 may continue from block 410 to block 420, which determines one or more label data.

블록(420)에서 컴퓨팅 장치는 시스템 함수에 기초하여, 적어도 하나의 메시지 각각에 대한 하나 이상의 레이블 데이터를 결정할 수 있다. 각 레이블 데이터는 데이터 및 해당 데이터에 대응되는 적어도 하나의 레이블 값을 포함할 수 있다. 이러한 레이블 데이터는 챗봇의 학습에 이용되는 학습 데이터의 요소이다. 일부 예시에서, 컴퓨팅 장치는 각 메시지로부터 하나 이상의 데이터를 도출할 수 있으며 시스템 함수에 의해 미리 정해진 바에 따라 도출된 하나 이상의 데이터 각각에 대한 레이블 값을 결정하고 도출된 데이터와 레이블 값을 연관시킬 수 있다. 일부 다른 예시에서, 컴퓨팅 장치는 시스템 함수에 의해 미리 정해진 바에 따라, 다이얼로그의 유형에서 요구되는 미리 정해진 레이블 값을 결정할 수 있으며, 결정된 레이블 값에 대응하는 데이터를 메시지 세트 및 다이얼로그 관련 데이터로부터 획득할 수 있다. 메시지에 대한 인텐트, 하나 이상의 엔티티, 다이얼로그 내 다이얼로그 상태 값 중 적어도 하나를 포함할 수 있다. 하나 이상의 레이블 데이터는 이에 제한되지 않으며, 학습 데이터의 변수로서 요구되는 임의의 데이터를 포함할 수 있다. 프로세스(400)는 블록(420)으로부터 학습 데이터를 생성하는 블록(430)으로 이어질 수 있다.At block 420, the computing device may determine one or more label data for each of the at least one message based on the system function. Each label data may include data and at least one label value corresponding to the data. This label data is an element of learning data used for chatbot learning. In some examples, the computing device may derive one or more data from each message, determine a label value for each of the one or more derived data as predetermined by a system function, and associate the derived data with the label value. . In some other examples, the computing device may determine a predetermined label value required for a type of dialog, as predetermined by a system function, and obtain data corresponding to the determined label value from the message set and dialog-related data. there is. It may include at least one of an intent for a message, one or more entities, and a dialog state value within a dialog. The one or more label data is not limited to this and may include any data required as a variable in the learning data. Process 400 may continue from block 420 to block 430, which generates training data.

블록(430)에서 컴퓨팅 장치는 블록(420)에서 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성할 수 있다. 컴퓨팅 장치에 의해 생성되는 학습 데이터는 챗봇의 학습에 이용되는 학습 데이터로서 이용 가능하도록 미리 정해진 포맷을 취할 수 있다. In block 430, the computing device may generate training data based on one or more label data determined in block 420. Learning data generated by a computing device may have a predetermined format so that it can be used as learning data used for chatbot learning.

추가적인 실시예에서, 프로세스(400)는 블록(430)으로부터 보정 학습 데이터를 수신하는 블록(440)으로 이어질 수 있다. 블록(440)에서, 컴퓨팅 장치는 사용자로부터 블록(430)에 의해 생성된 학습 데이터를 보정하는 보정 학습 데이터를 수신할 수 있다. 일부 예시에서, 컴퓨팅 장치는 블록(430)에서 생성된 학습 데이터 및 수신된 보정 학습 데이터에 기초하여 컴퓨팅 장치의 레이블링 값의 결정 방식을 평가할 수 있다. 이후, 사용자는 평가의 결과에 기초하여 컴퓨팅 장치의 레이블링 값의 결정 방식, 시스템 함수 또는 학습 데이터를 수정할 수 있다. 일부 다른 예시에서, 컴퓨팅 장치는 학습 데이터 및 보정 학습 데이터에 기초하여, 컴퓨팅 장치의 하나 이상의 레이블링 값의 결정 방식을 조정할 수 있다.In a further embodiment, process 400 may continue at block 440, which receives calibration training data from block 430. At block 440, the computing device may receive corrected training data from a user that corrects the training data generated by block 430. In some examples, the computing device may evaluate how the computing device determines its labeling value based on the training data generated and the received corrected training data at block 430 . Thereafter, the user may modify the method of determining the labeling value of the computing device, the system function, or the learning data based on the results of the evaluation. In some other examples, the computing device can adjust how the computing device determines one or more labeling values based on the training data and the corrected training data.

도 5는 본 개시의 적어도 일부 실시예에 따라, 개시의 적어도 일부 실시예에 따라, 머신러닝 기반의 챗봇에 대한 학습 데이터의 생성을 수행하는 데 이용될 수 있는 컴퓨터 프로그램 제품(500)을 도시한다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 베어링 매체(510)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(500)의 신호 베어링 매체(510)는 컴퓨터 판독가능 매체(530) 및/또는 기록 가능 매체(540)를 포함할 수 있다.5 illustrates a computer program product 500 that can be used to perform generation of training data for a machine learning-based chatbot, according to at least some embodiments of the disclosure. . An exemplary embodiment of an exemplary computer program product is provided using signal bearing media 510. In some embodiments, signal bearing media 510 of one or more computer program products 500 may include computer-readable media 530 and/or recordable media 540.

신호 베어링 매체(510)에 포함된 명령어(520)는 텍스트-음성 변환 장치(200)와 같은 컴퓨팅 장치에 의해 실행될 수 있다. 명령어(520)가 실행되면, 컴퓨팅 장치로 하여금 사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하기 위한 하나 이상의 명령어; 적어도 하나의 메시지 각각에 대하여, 다이얼로그의 유형에 관한 시스템 함수에 기초하여, 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하기 위한 하나 이상의 명령어; 및 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하기 위한 하나 이상의 명령어 중 적어도 하나를 포함한다.Instructions 520 included in signal bearing medium 510 may be executed by a computing device, such as text-to-speech device 200 . When the instruction 520 is executed, it causes the computing device to include one or more instructions for receiving input data from a user, including a message set including at least one message and a system response value for a dialog according to the message set; For each of the at least one message, one or more commands for determining one or more label data to be used for training the chatbot, based on a system function related to the type of dialog; and at least one of one or more instructions for generating training data based on the one or more determined label data.

도 6은 본 개시의 적어도 일부 실시예에 따라 배열되는 컴퓨팅 장치(600)의 예시적인 실시예의 블록도이다. 일 예시적인 기본적인 구성(602)에서, 컴퓨팅 장치(600)는 하나 이상의 프로세서(604) 및 시스템 메모리(606)를 포함할 수 있다. 메모리 버스(608)는 프로세서(604) 및 시스템 메모리(606) 사이에서 통신하기 위하여 이용될 수 있다.6 is a block diagram of an example embodiment of a computing device 600 arranged in accordance with at least some embodiments of the present disclosure. In one example basic configuration 602, computing device 600 may include one or more processors 604 and system memory 606. Memory bus 608 may be used to communicate between processor 604 and system memory 606.

요구되는 구성에 따라, 프로세서(604)는 마이크로 프로세서(μP), 마이크로 컨트롤러(μC), 디지털 신호 프로세서(DSP), 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 프로세서(604)는 레벨 1 캐시(610), 레벨 2 캐시(612)와 같은 하나 이상의 레벨(level)의 캐시(cache), 프로세서 코어(614), 및 레지스터(616)를 포함할 수 있다. 프로세서 코어(614)는 산술 논리 연산장치(arithmetic logic unit; ALU), 부동 소수점 장치(floating point unit; FPU), 디지털 신호 처리 코어(DSP Core), 또는 그들의 임의의 조합을 포함할 수 있다. 메모리 컨트롤러(618)는 또한 프로세서(604)와 함께 사용될 수 있거나, 또는 일부 구현예에서 메모리 컨트롤러(618)는 프로세서(604)의 내적인 일부일 수 있다.Depending on the desired configuration, processor 604 may be of any type, including, but not limited to, a microprocessor (μP), microcontroller (μC), digital signal processor (DSP), or any combination thereof. The processor 604 may include one or more levels of cache, such as a level 1 cache 610 and a level 2 cache 612, a processor core 614, and a register 616. Processor core 614 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. Memory controller 618 may also be used in conjunction with processor 604, or in some implementations, memory controller 618 may be an internal part of processor 604.

요구되는 구성에 따라, 시스템 메모리(606)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그들의 임의의 조합을 포함하는 임의의 유형일 수 있으나, 이에 제한되지는 않는다. 시스템 메모리(606)는 운영 체제(620), 하나 이상의 어플리케이션(application)(622), 및 프로그램 데이터(624)를 포함할 수 있다. 어플리케이션(622)은 도 2의 학습 데이터 생성 장치(200), 도 3의 챗봇 시스템(300) 및/또는 도 4의 프로세스(400)에 관하여 기술된 기능 블록 및/또는 작용을 포함하여 여기에서 기술된 바와 같은 기능을 수행하도록 배열된 알고리즘(626)을 포함할 수 있다. 프로그램 데이터(624)는, 알고리즘 (626)과 함께 이용하기 위한 데이터(628), 예컨대, 정적 네트워크 환경 등에 해당하는 데이터를 포함할 수 있다. 일부 실시예에서, 어플리케이션(622)은 최적의 전송 환경을 결정하기 위한 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 운영 체제(620) 상에서 프로그램 데이터(624)로 동작하도록 배열될 수 있다. 예컨대, 학습 데이터 생성 장치(200)는 컴퓨팅 장치(600)의 전부 또는 일부를 포함할 수 있으며 최적의 전송 환경을 결정하는 구현이 여기에서 설명된 바와 같이 제공될 수 있도록 어플리케이션(622)의 전부 또는 일부를 수행하는 것이 가능할 수 있다. 이러한 기술된 기본적인 구성은 도 6에서 파선(602) 내의 그 구성요소들에 의해 도시된다.Depending on the desired configuration, system memory 606 may be of any type, including, but not limited to, volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. No. System memory 606 may include an operating system 620, one or more applications 622, and program data 624. Application 622 includes the functional blocks and/or actions described with respect to learning data generation device 200 of FIG. 2, chatbot system 300 of FIG. 3, and/or process 400 of FIG. 4, as described herein. It may include an algorithm 626 arranged to perform the function as described. Program data 624 may include data 628 for use with algorithm 626, such as data corresponding to a static network environment. In some embodiments, applications 622 may be arranged to operate with program data 624 on operating system 620 such that implementations for determining optimal transfer environments may be provided as described herein. For example, learning data generation device 200 may include all or part of computing device 600 and all or part of application 622 so that an implementation for determining an optimal transmission environment may be provided as described herein. It may be possible to do some of this. This described basic configuration is shown in Figure 6 by its components within dashed line 602.

컴퓨팅 장치(600)는 기본적인 구성(602) 및 임의의 요구되는 장치 및 인터페이스(interface) 사이의 통신을 용이하게 하도록 추가적인 특징 또는 기능, 및 추가적인 인터페이스를 가질 수 있다. 예를 들어, 버스/인터페이스 컨트롤러(630)는 저장부 인터페이스 버스(634)를 통한 기본적인 구성(602) 및 하나 이상의 데이터 저장 장치(632) 사이의 통신을 용이하게 하도록 사용될 수 있다. 데이터 저장 장치(632)는 이동식 저장 장치(636), 고정식 저장 장치(638), 또는 그 조합일 수 있다. 이동식 저장 장치 및 고정식 저장 장치의 예를 몇 가지 들자면, 플렉서블 디스크 드라이브(flexible disk drive) 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다목적 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(SSD), 및 테이프 드라이브 등을 포함한다. 예시적인 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈(program module), 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에서 구현되는 휘발성 및 비휘발성의 이동식 및 고정식 매체를 포함할 수 있다.Computing device 600 may have additional features or functionality, and additional interfaces, to facilitate communication between the basic configuration 602 and any desired devices and interfaces. For example, bus/interface controller 630 may be used to facilitate communication between basic configuration 602 and one or more data storage devices 632 via storage interface bus 634. Data storage device 632 may be a removable storage device 636, a non-removable storage device 638, or a combination thereof. Some examples of removable and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), compact disk (CD) drives, or digital versatile disk (DVD) drives, and Such as optical disk drives, solid state drives (SSD), and tape drives. Exemplary computer storage media include volatile and non-volatile removable and non-volatile media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. can do.

시스템 메모리(606), 이동식 저장 장치(636) 및 고정식 저장 장치(638)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD) 또는 기타 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 요구되는 정보를 저장하도록 사용될 수 있고, 컴퓨팅 장치(600)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하나, 이에 제한되지는 않는다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 장치(600)의 일부일 수 있다.System memory 606, removable storage device 636, and non-removable storage device 638 are all examples of computer storage media. Computer storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage devices, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or Including, but not limited to, any other media that can be used to store required information and that can be accessed by computing device 600. Any such computer storage media may be part of computing device 600.

컴퓨팅 장치(600)는 또한 버스/인터페이스 컨트롤러(642)를 통한 다양한 인터페이스 장치(예컨대, 출력 인터페이스, 주변 인터페이스, 및 통신 인터페이스)로부터 기본적인 구성(602)으로의 통신을 용이하게 하기 위한 인터페이스 버스(642)를 포함할 수 있다. 예시적인 출력 장치(642)는 그래픽 처리 유닛(648) 및 오디오 처리 유닛(650)을 포함할 수 있으며, 이는 하나 이상의 A/V 포트(652)를 통하여 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 또한, 도 6에서 그래픽 처리 유닛(648)은 출력 장치의 컴포넌트로서 도시되었지만, 프로세서(604)에 더하여, 일부 구현예에 따른 연산을 수행하는 것이 가능하다. 본 개시에 따른 일부 실시예에 따르면, 그래픽 처리 유닛(648)은 예컨대, 신경망의 학습, 신경망에 따른 처리 등과 같은 다양한 신경망 관련 연산을 수행하도록 구성될 수 있다. 예시적인 주변 인터페이스(644)는 직렬 인터페이스 컨트롤러(654) 또는 병렬 인터페이스 컨트롤러(656)를 포함할 수 있으며, 이는 하나 이상의 I/O 포트(658)를 통하여 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 기타 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(646)는 네트워크 컨트롤러(660)를 포함하며, 이는 하나 이상의 통신 포트(664)를 통한 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(662)와의 통신을 용이하게 하도록 배열될 수 있다.Computing device 600 also has an interface bus 642 to facilitate communication from various interface devices (e.g., output interfaces, peripheral interfaces, and communication interfaces) to base configuration 602 via bus/interface controller 642. ) may include. Exemplary output devices 642 may include graphics processing unit 648 and audio processing unit 650, which may be configured to communicate via one or more A/V ports 652 to various external devices, such as displays or speakers. It can be configured. Additionally, although graphics processing unit 648 is shown in Figure 6 as a component of an output device, it is possible to perform operations according to some implementations in addition to processor 604. According to some embodiments according to the present disclosure, the graphics processing unit 648 may be configured to perform various neural network-related operations, such as learning a neural network, processing according to a neural network, etc. Exemplary peripheral interface 644 may include a serial interface controller 654 or a parallel interface controller 656, which may provide input devices (e.g., keyboard, mouse, pen, etc.) through one or more I/O ports 658. It may be configured to communicate with external devices such as voice input devices, touch input devices, etc.) or other peripheral devices (e.g., printers, scanners, etc.). Exemplary communications device 646 includes a network controller 660, which may be arranged to facilitate communication with one or more other computing devices 662 over network communications via one or more communications ports 664.

컴퓨팅 장치(600)는 또한 랩탑 컴퓨터나 랩탑이 아닌 컴퓨터 구성 둘 다를 포함하는 개인 컴퓨터로 구현될 수 있다. 또한, 컴퓨팅 장치(600)는 무선 기지국 또는 기타 무선 시스템 또는 장치의 일부로서 구현될 수 있다.Computing device 600 may also be implemented as a personal computer, including both laptop and non-laptop computer configurations. Additionally, computing device 600 may be implemented as part of a wireless base station or other wireless system or device.

도 7은 본 개시의 적어도 일부 실시예에 따른, 학습 데이터 생성 장치로의 입력 데이터(700)의 일 예시이다. 도 7의 입력 데이터(700)의 형식은 단지 설명을 위한 예시일 뿐이며, 본 개시의 사상을 벗어나지 않으면서 다양한 변형이 이루어질 수 있음을 통상의 기술자는 잘 이해할 것이다. 도 7의 예시적인 입력 데이터(700)는 항공편 예약에 관한 것이다. 도 7에 도시된 바와 같이, 입력 데이터는 메시지(712)와 같은 적어도 하나의 메시지를 포함하는 메시지 세트(710), 시스템 함수(720) 및 시스템 응답 값(730)을 포함할 수 있다. 메시지 세트(710)는 "userUtterrance"와 같은 챗봇 이용자의 자연어 메시지 및 "botUtterance"와 같은 챗봇의 자연어 메시지를 포함할 수 있다. 시스템 함수(720)는 호출을 위한 함수 자체("function call", "name", "checkSchedule")뿐만 아니라, 그러한 함수 내에 포함되는, 예컨대, ("departure": "김포"), ("destination": "제주"), ("start_date": "12일"), ("start_time": "9시")과 같은 하나 이상의 변수 및 그에 대응하는 값을 포함할 수 있다. 시스템 응답 값(730)은 다이얼로그에 따라 챗봇이 수행한 동작에 대한 값을 포함할 수 있다. 예컨대, 시스템 응답 값(730)은 도 7에 도시된 바와 같이, 항공기의 검색 결과에 따른 응답 값인 ("flight_id": "A01234") 및 ("start_time": "9시 10분")을 포함할 수 있다. FIG. 7 is an example of input data 700 to a learning data generating device, according to at least some embodiments of the present disclosure. The format of the input data 700 in FIG. 7 is merely an example for explanation, and those skilled in the art will understand that various changes can be made without departing from the spirit of the present disclosure. Example input data 700 in FIG. 7 relates to flight reservations. As shown in FIG. 7 , input data may include a message set 710 including at least one message such as message 712, a system function 720, and a system response value 730. The message set 710 may include a natural language message of a chatbot user such as “userUtterrance” and a natural language message of the chatbot such as “botUtterance”. The system function 720 includes not only the functions themselves for calling ("function call", "name", "checkSchedule"), but also functions included within such functions, such as ("departure": "Gimpo"), ("destination") : "Jeju"), ("start_date": "12th"), ("start_time": "9 o'clock"), and may contain one or more variables and corresponding values. The system response value 730 may include a value for the action performed by the chatbot according to the dialog. For example, as shown in FIG. 7, the system response value 730 may include ("flight_id": "A01234") and ("start_time": "9:10"), which are response values according to the search results of the aircraft. You can.

도 8은 도 7의 입력 데이터에 기초하여 생성된 학습 데이터(800)의 일 예시이다. 도 8의 학습 데이터(800) 의 형식은 단지 설명을 위한 예시일 뿐이며, 본 개시의 사상을 벗어나지 않으면서 다양한 변형이 이루어질 수 있음을 통상의 기술자는 잘 이해할 것이다. 본 개시에 따른 학습 데이터 생성 장치는 도 7의 시스템 함수(720)에 기초하여 메시지(712)에 대한 하나 이상의 레이블 데이터(810)를 생성할 수 있으며, 이와 같은 방식으로, 도 8에 도시된 바와 같이 메시지 세트(710) 각각에 대한 레이블 데이터를 생성하고, 생성된 레이블 데이터를 이용하여 학습 데이터(800)를 생성할 수 있다. FIG. 8 is an example of learning data 800 generated based on the input data of FIG. 7. The format of the learning data 800 in FIG. 8 is merely an example for explanation, and those skilled in the art will understand that various changes can be made without departing from the spirit of the present disclosure. The learning data generating device according to the present disclosure may generate one or more label data 810 for the message 712 based on the system function 720 of FIG. 7, and in this manner, as shown in FIG. 8 Likewise, label data for each message set 710 can be generated, and training data 800 can be generated using the generated label data.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수도 있다.The description of the present application described above is for illustrative purposes, and those skilled in the art will understand that the present application can be easily modified into other specific forms without changing its technical idea or essential features. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as single may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

이상, 본 개시에서 청구하고자 하는 대상에 대해 구체적으로 살펴 보았다. 본 개시에서 청구된 대상은 앞서 기술한 특정 구현예로 그 범위가 제한되지 않는다. 예컨대, 어떤 구현예에서는 장치 또는 장치의 조합 상에서 동작 가능하게 사용되는 하드웨어의 형태일 수 있으며, 다른 구현예에서는 소프트웨어 및/또는 펌웨어의 형태로 구현될 수 있고, 또 다른 구현예에서는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. 여기서, CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 저장 매체는, 예컨대 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행될 때 앞서 설명한 구현예에 따라 해당 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 이러한 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.Above, we have looked in detail at the object sought to be claimed in this disclosure. The subject matter claimed in this disclosure is not limited in scope to the specific implementation examples described above. For example, in some implementations it may be in the form of hardware operably used on a device or combination of devices, in other implementations it may be implemented in the form of software and/or firmware, and in still other implementations it may be implemented in the form of a signal bearing medium, It may contain one or more items such as storage media. Here, the storage medium, such as a CD-ROM, computer disk, flash memory, etc., may contain instructions that, when executed by a computing device, such as a computing system, computing platform, or other system, may cause execution of the corresponding processor according to the implementation described above. can be saved. Such a computing device may include one or more processing units or processors, one or more input/output devices such as a display, keyboard, and/or mouse, and one or more memory such as static random access memory, dynamic random access memory, flash memory, and/or a hard drive. may include.

전술한 상세한 설명에서는 블록도, 흐름도 및/또는 기타 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 기타 예시는 하나 이상의 기능 및/또는 동작을 포함하게 되며, 당업자라면 블록도, 흐름도 및/또는 기타 예시 내의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 개별적으로 혹은 집합적으로 구현될 수 있다는 점을 이해할 수 있을 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 이와 달리, 본 개시의 실시예의 일부 양상은 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수도 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내에 속하는 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. The foregoing detailed description illustrates various embodiments of devices and/or processes through block diagrams, flow diagrams, and/or other examples. Such block diagrams, flowcharts, and/or other examples will include one or more functions and/or operations, and those of ordinary skill in the art will understand that each function and/or operation within the block diagrams, flowcharts, and/or other examples includes hardware, software, firmware, Alternatively, it will be understood that any combination thereof may be implemented individually or collectively. In one embodiment, some portions of the subject matter described in this disclosure may be implemented through an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Digital Signal Processor (DSP), or other form of integration. Alternatively, some aspects of embodiments of the present disclosure may include one or more computer programs running on one or more computers (e.g., one or more programs running on one or more computer systems), one or more programs running on one or more processors (e.g., one or more programs running on one or more computer systems), (e.g., one or more programs running on one or more microprocessors), firmware, or substantially any combination thereof, may also be implemented in whole or in part on an integrated circuit, including writing code for software and/or firmware. and/or design of circuits are within the scope of skill of those skilled in the art in light of this disclosure. Additionally, those skilled in the art will understand that the mechanisms of the subject matter of this disclosure may be distributed in a variety of program products, and the examples of the subject matter of this disclosure apply regardless of the specific type of signal bearing medium used to actually perform the distribution. You will understand.

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 당업자라면, 청구된 대상에서 벗어남이 없이, 다양한 기타의 수정 또는 등가물로의 치환 가능성을 이해할 수 있다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.Although certain example techniques have been described and shown herein using various methods and systems, those skilled in the art will recognize that various other modifications or equivalents may be substituted without departing from the claimed subject matter. Additionally, many modifications may be made to adapt the teachings of the claimed subject matter to particular situations without departing from the central concept described herein. Accordingly, it is intended that the claimed subject matter not be limited to the specific examples disclosed, but that such claimed subject matter may also include all embodiments that fall within the scope of the appended claims and their equivalents.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위, 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present application. do.

Claims (13)

컴퓨팅 장치의 제어 하에서 수행되고, 머신러닝 기반의 챗봇에 대한 학습 데이터를 생성하기 위한 학습 데이터 생성 방법으로서,
사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 상기 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 단계;
상기 메시지 세트 및 상기 시스템 응답 값 중 적어도 하나에 기초하여, 상기 다이얼로그의 유형에 관련되고 각 메시지로부터의 데이터를 해당 다이얼로그의 유형과 연관된 적어도 하나의 레이블 값과 연관시키기 위한 시스템 함수를 결정하는 단계;
상기 적어도 하나의 메시지 각각에 대하여, 상기 시스템 함수에 기초하여, 상기 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 단계; 및
상기 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 단계
를 포함하는 학습 데이터 생성 방법.
A learning data generation method performed under the control of a computing device and for generating learning data for a machine learning-based chatbot,
Receiving, from a user, input data including a message set including at least one message and a system response value for a dialog according to the message set;
determining, based on at least one of the message set and the system response value, a system function associated with the type of dialog and for associating data from each message with at least one label value associated with the type of dialog;
For each of the at least one message, determining one or more label data used for learning of the chatbot based on the system function; and
Generating learning data based on the determined one or more label data
A learning data generation method including.
제1항에 있어서,
상기 시스템 함수는 상기 입력 데이터에 포함되는 것인, 학습 데이터 생성 방법.
According to paragraph 1,
A method of generating learning data, wherein the system function is included in the input data.
삭제delete 제1항에 있어서,
상기 시스템 함수를 결정하는 단계는 미리 정해진 하나 이상의 학습 데이터에 더 기초하는 것인, 학습 데이터 생성 방법.
According to paragraph 1,
The method of generating learning data, wherein the step of determining the system function is further based on one or more predetermined learning data.
제1항에 있어서,
상기 적어도 하나의 메시지 각각에 대한 상기 하나 이상의 레이블 데이터는, 해당 메시지에 대한 인텐트(intent), 하나 이상의 엔티티(entity), 상기 다이얼로그 내 다이얼로그 상태 값 중 적어도 하나를 포함하는 것인, 학습 데이터 생성 방법.
According to paragraph 1,
The one or more label data for each of the at least one message includes at least one of an intent for the corresponding message, one or more entities, and a dialog state value within the dialog. Generating learning data. method.
제1항에 있어서,
상기 사용자로부터 상기 학습 데이터를 보정하는 보정 학습 데이터를 수신하는 단계
를 더 포함하는 학습 데이터 생성 방법.
According to paragraph 1,
Receiving correction learning data that corrects the learning data from the user
A method of generating training data further comprising:
제6항에 있어서,
상기 학습 데이터 및 상기 보정 학습 데이터에 기초하여, 상기 하나 이상의 레이블 데이터 내 값의 결정 방식을 평가하는 단계
를 더 포함하는 학습 데이터 생성 방법.
According to clause 6,
Evaluating a method of determining a value in the one or more label data based on the learning data and the corrected learning data.
A method of generating training data further comprising:
제6항에 있어서,
상기 학습 데이터 및 상기 보정 학습 데이터에 기초하여, 상기 하나 이상의 레이블 데이터 내 값의 결정 방식을 조정하는 단계
를 더 포함하는 학습 데이터 생성 방법.
According to clause 6,
Adjusting a method of determining a value in the one or more label data based on the learning data and the corrected learning data.
A method of generating training data further comprising:
제1항에 있어서,
상기 결정된 적어도 하나의 레이블 데이터 각각은 데이터 및 해당 데이터에 대응되는 적어도 하나의 레이블 값을 포함하는 것인, 학습 데이터 생성 방법.
According to paragraph 1,
A method of generating learning data, wherein each of the determined at least one label data includes data and at least one label value corresponding to the data.
머신러닝 기반의 챗봇에 대한 학습 데이터 생성 장치로서,
사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 상기 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 입력 모듈;
상기 메시지 세트 및 상기 시스템 응답 값 중 적어도 하나에 기초하여, 상기 다이얼로그의 유형에 관련되고 각 메시지로부터의 데이터를 해당 다이얼로그의 유형과 연관된 적어도 하나의 레이블 값과 연관시키기 위한 시스템 함수를 결정하고, 상기 적어도 하나의 메시지 각각에 대하여, 상기 시스템 함수에 기초하여, 상기 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 레이블링 처리 모듈; 및
상기 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 출력 모듈
을 포함하는 학습 데이터 생성 장치.
As a learning data generation device for a machine learning-based chatbot,
an input module that receives, from a user, input data including a message set including at least one message and a system response value for a dialog according to the message set;
Based on at least one of the message set and the system response value, determine a system function associated with the type of dialog and for associating data from each message with at least one label value associated with the type of dialog, a labeling processing module that determines, for each of at least one message, one or more label data used for learning of the chatbot, based on the system function; and
An output module that generates learning data based on the determined one or more label data
A learning data generating device comprising:
제10항에 있어서,
상기 사용자로부터 상기 학습 데이터를 보정하는 보정 학습 데이터를 수신하는 피드백 처리 모듈
을 더 포함하는 학습 데이터 생성 장치.
According to clause 10,
A feedback processing module that receives correction learning data that corrects the learning data from the user
A learning data generating device further comprising:
제11항에 있어서,
상기 피드백 처리 모듈은 상기 학습 데이터 및 상기 보정 학습 데이터에 기초하여, 상기 레이블링 처리 모듈의 성능을 평가하는 것인, 학습 데이터 생성 장치.
According to clause 11,
The feedback processing module is configured to evaluate the performance of the labeling processing module based on the learning data and the corrected learning data.
머신러닝 기반의 챗봇에 대한 학습 데이터의 생성을 수행하는 레이블링 프로그램을 저장하는 컴퓨터 판독가능 저장 매체로서, 레이블링 프로그램은 컴퓨팅 장치에 의해 실행되는 경우,
사용자로부터, 적어도 하나의 메시지를 포함하는 메시지 세트, 상기 메시지 세트에 따른 다이얼로그에 대한 시스템 응답 값을 포함하는 입력 데이터를 수신하는 동작;
상기 메시지 세트 및 상기 시스템 응답 값 중 적어도 하나에 기초하여, 상기 다이얼로그의 유형에 관련되고 각 메시지로부터의 데이터를 해당 다이얼로그의 유형과 연관된 적어도 하나의 레이블 값과 연관시키기 위한 시스템 함수를 결정하는 동작;
상기 적어도 하나의 메시지 각각에 대하여, 상기 시스템 함수에 기초하여, 상기 챗봇의 학습에 이용되는 하나 이상의 레이블 데이터를 결정하는 동작; 및
상기 결정된 하나 이상의 레이블 데이터에 기초하여, 학습 데이터를 생성하는 동작
을 수행하도록 하는 하나 이상의 명령어를 포함하는 것인, 컴퓨터 판독가능 저장 매체.
A computer-readable storage medium that stores a labeling program that generates training data for a machine learning-based chatbot, where the labeling program is executed by a computing device,
Receiving, from a user, input data including a message set including at least one message and a system response value for a dialog according to the message set;
determining, based on at least one of the message set and the system response value, a system function associated with the type of dialog and for associating data from each message with at least one label value associated with the type of dialog;
For each of the at least one message, determining one or more label data used for learning of the chatbot based on the system function; and
An operation of generating learning data based on the determined one or more label data
A computer-readable storage medium comprising one or more instructions to perform.
KR1020200100522A 2020-08-11 2020-08-11 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot KR102618335B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200100522A KR102618335B1 (en) 2020-08-11 2020-08-11 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200100522A KR102618335B1 (en) 2020-08-11 2020-08-11 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot

Publications (2)

Publication Number Publication Date
KR20220020058A KR20220020058A (en) 2022-02-18
KR102618335B1 true KR102618335B1 (en) 2023-12-27

Family

ID=80495207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200100522A KR102618335B1 (en) 2020-08-11 2020-08-11 Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot

Country Status (1)

Country Link
KR (1) KR102618335B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018132754A (en) * 2017-02-13 2018-08-23 株式会社東芝 Dialog system, dialog method, and method for adapting dialog system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200094311A (en) * 2019-01-30 2020-08-07 주식회사 레드타이 Method for providing chatbot service, apparatus and system thereof
KR20190103951A (en) * 2019-02-14 2019-09-05 주식회사 머니브레인 Method, computer device and computer readable recording medium for building or updating knowledgebase models for interactive ai agent systen, by labeling identifiable but not-learnable data in training data set

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018132754A (en) * 2017-02-13 2018-08-23 株式会社東芝 Dialog system, dialog method, and method for adapting dialog system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Andreas Stolcke et al.,"Dialogue Act Modeling for Automatic Tagging and Recognition of Conversational Speech,"Computational Linguistics (2000.09.01.)*
Nabiha Asghar et al.,"Deep Active Learning for Dialogue Generation,"Proceedings of the 6th Joint Conference on Lexical and Computational Semantics (2017.08.03.)*
Yinpei Dai et al., "A Survey on Dialog Management: Recent Advances and Challenges," arXiv:2005.02233v1 [cs.CL] 5 May 2020 (2020.05.05.)*

Also Published As

Publication number Publication date
KR20220020058A (en) 2022-02-18

Similar Documents

Publication Publication Date Title
US20230252975A1 (en) Routing for chatbots
US20210304075A1 (en) Batching techniques for handling unbalanced training data for a chatbot
US11694032B2 (en) Template-based intent classification for chatbots
JP2022547631A (en) Stopword data augmentation for natural language processing
JP2023520416A (en) Improved techniques for out-of-domain (OOD) detection
US11605304B2 (en) Learning of policy for selection of associative topic in dialog system
WO2019204710A1 (en) Task-independent conversational systems
US20220230000A1 (en) Multi-factor modelling for natural language processing
US20180150768A1 (en) Automated generation of natural language task/expectation descriptions
US11468880B2 (en) Dialog system training using a simulated user system
JP2023551860A (en) Out-of-domain data augmentation for natural language processing
JP2023551859A (en) Enhanced logit for natural language processing
JP2023544328A (en) Chatbot automatic out-of-scope transition
CN116615727A (en) Keyword data augmentation tool for natural language processing
US11544467B2 (en) Systems and methods for identification of repetitive language in document using linguistic analysis and correction thereof
KR102618335B1 (en) Device, method, system and computer readable storage medium to generate learning data for machine learning-based chatbot
US11842290B2 (en) Using functions to annotate a syntax tree with real data used to generate an answer to a question
CN116955557A (en) Prompt word determining method, device, equipment and medium applied to large language model
US11816422B1 (en) System for suggesting words, phrases, or entities to complete sequences in risk control documents
US20230080553A1 (en) Adjusting outlier data points for training a machine-learning model
US11526781B2 (en) Automatic sentence inferencing network
US20210034946A1 (en) Recognizing problems in productivity flow for productivity applications
US20220138435A1 (en) Method and apparatus for generating a text, and storage medium
US20240054421A1 (en) Discriminative model for identifying and demarcating textual features in risk control documents
US20230214589A1 (en) Dynamic Chat Discourse Rephrasing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant