[go: up one dir, main page]

KR20220073475A - System and method for natural language understanding and method for processing learning data thereof - Google Patents

System and method for natural language understanding and method for processing learning data thereof Download PDF

Info

Publication number
KR20220073475A
KR20220073475A KR1020200161586A KR20200161586A KR20220073475A KR 20220073475 A KR20220073475 A KR 20220073475A KR 1020200161586 A KR1020200161586 A KR 1020200161586A KR 20200161586 A KR20200161586 A KR 20200161586A KR 20220073475 A KR20220073475 A KR 20220073475A
Authority
KR
South Korea
Prior art keywords
language
learning
learning data
intent
token
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020200161586A
Other languages
Korean (ko)
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 KR1020200161586A priority Critical patent/KR20220073475A/en
Publication of KR20220073475A publication Critical patent/KR20220073475A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

자연어 이해 시스템 및 상기 시스템에서의 학습 데이터 처리 방법이 개시된다. 일 실시예에 따른 자연어 이해 시스템은 하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성되는 학습 데이터를 입력받고, 상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 학습 데이터 분석 모듈; 및 상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정하는 가중치 조정 모듈을 포함한다.A natural language understanding system and a method for processing learning data in the system are disclosed. The natural language understanding system according to an embodiment includes one or more intents and one or more learning sentences corresponding to the respective intentions, and the intention and the learning sentences are learning data configured in one of a first language or a second language. a learning data analysis module for receiving an input and determining whether there is a mixture of language between intentions of the learning data or within the same intention; and a weight adjustment module configured to adjust weights of at least a portion of one or more first language tokens and one or more second language tokens generated from the learning data based on the determination result.

Description

자연어 이해 시스템 및 상기 시스템에서의 학습 데이터 처리 방법{SYSTEM AND METHOD FOR NATURAL LANGUAGE UNDERSTANDING AND METHOD FOR PROCESSING LEARNING DATA THEREOF}SYSTEM AND METHOD FOR NATURAL LANGUAGE UNDERSTANDING AND METHOD FOR PROCESSING LEARNING DATA THEREOF

개시되는 실시예들은 머신 러닝(Machine Learning)을 이용한 자연어 처리/이해(Natural Language Processing/Understanding) 기술과 관련된다.Disclosed embodiments relate to a technology of natural language processing/understanding using machine learning.

컴퓨터 과학에서, 자연어 이해(NLU, Natural Language Understanding)란 사람이 일반적으로 의사소통에 사용하는 한국어, 일본어 또는 영어 등의 자연어로 구성된 문장을 컴퓨터가 입력 받고, 입력된 문장의 의도(intent)를 추론하는 것을 의미한다. 컴퓨터상에서 자연어를 이해하기 위한 기술은 여러 가지가 존재하지만, 최근에는 머신 러닝 기반의 자연어 이해 기술이 주로 연구되고 있다.In computer science, natural language understanding (NLU) means that a computer receives a sentence composed of a natural language such as Korean, Japanese, or English, which is commonly used by humans for communication, and infers the intent of the inputted sentence. means to do There are various technologies for understanding natural language on a computer, but recently, natural language understanding technology based on machine learning has been mainly researched.

현재 시장에 출시된 대부분의 NLU 모델들은 한국어, 영어 등 지정된 특정 언어 하나만을 선택하여 모델링된다. 그러나 이 경우 서비스 제공자(예컨대 챗봇 서비스 등)가 다국어 서비스를 제공하는데 어려움이 존재한다. 서비스 제공자가 제공하는 언어 종류 별로 서로 다른 NLU 모델을 별도로 제작하여야 하기 때문이다. 또한 서비스 사용자의 입장에서도 서비스 사용 이전에 별도로 자신이 사용하는 언어에 따라 적합한 NLU 모델을 선택하여야 하는 불편함이 존재하였다. 이에 따라 둘 이상의 서로 다른 언어를 하나의 NLU 모델로 구성하기 위한 수단이 필요하게 되었다.Most of the NLU models currently on the market are modeled by selecting only one specific language, such as Korean or English. However, in this case, it is difficult for a service provider (eg, a chatbot service, etc.) to provide a multilingual service. This is because it is necessary to separately create different NLU models for each language type provided by the service provider. Also, from the service user's point of view, there was the inconvenience of having to separately select an appropriate NLU model according to the language they use before using the service. Accordingly, a means for configuring two or more different languages into one NLU model is needed.

대한민국 공개특허공보 10-2018-0109624 A (2018.10.08)Republic of Korea Patent Publication No. 10-2018-0109624 A (2018.10.08)

개시되는 실시예들은 서로 다른 특성을 가진 두 개 이상의 언어를 동시에 처리 가능한 NLU 모델을 구현하기 위한 기술적인 수단을 제공하기 위한 것이다.The disclosed embodiments are intended to provide technical means for implementing an NLU model capable of simultaneously processing two or more languages having different characteristics.

예시적인 실시예에 따르면, 하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성되는 학습 데이터를 입력받고, 상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 학습 데이터 분석 모듈; 및 상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정하는 가중치 조정 모듈을 포함하는 자연어 이해 시스템이 제공된다.According to an exemplary embodiment, input learning data including one or more intents and one or more learning sentences corresponding to the respective intentions, wherein the intention and the learning sentences are configured in one of a first language or a second language a learning data analysis module for receiving and judging whether there is a mixture of language between intentions of the learning data or within the same intention; and a weight adjustment module configured to adjust weights of at least a portion of one or more first language tokens and one or more second language tokens generated from the learning data based on the determination result.

상기 가중치는, 단어 빈도(TF, Term Frequency) 또는 역문서 빈도(IDF, Inverse Document Frequency) 중 하나 이상을 포함할 수 있다.The weight may include one or more of a word frequency (TF) and an inverse document frequency (IDF).

상기 판단 결과 상기 학습 데이터의 의도간 언어 혼용이 존재하며, 상기 학습 데이터 내 제1 언어 의도의 점유율이 제2 언어 의도의 점유율보다 높은 경우, 상기 가중치 조정 모듈은, 상기 제1 언어 의도에 대응되는 학습 문장으로부터 생성되는 상기 제1 언어 토큰의 역문서 빈도를 조정할 수 있다.As a result of the determination, if there is a mixture of language between intentions of the learning data, and the share of the first language intent in the learning data is higher than the share of the second language intent, the weight adjustment module is configured to: The frequency of the inverse document of the first language token generated from the learning sentence may be adjusted.

상기 시스템은, 상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단하는 밸런스 분석 모듈을 더 포함하며, 상기 가중치 조정 모듈은, 상기 밸런스 분석 모듈의 판단 결과 상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인 경우, 상기 제1 언어 토큰의 역문서 빈도를 조정할 수 있다.The system further comprises a balance analysis module for determining whether a ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold, the weight adjustment module, the balance When the analysis module determines that the ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold, the frequency of inverse documents of the first language token may be adjusted.

상기 가중치 조정 모듈은, 상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제1 언어 토큰의 역문서 빈도를 조정할 수 있다.The weight adjustment module may adjust the inverse document frequency of the first language token based on a ratio of the first language intent to the second language intent.

상기 판단 결과 상기 학습 데이터의 특정 의도 내 언어 혼용이 존재하며, 상기 특정 의도 내 제1 언어 학습 문장의 점유율이 제2 언어 학습 문장의 점유율보다 높은 경우, 상기 가중치 조정 모듈은, 상기 제2 언어 학습 문장으로부터 생성되는 상기 제2 언어 토큰의 단어 빈도를 조정할 수 있다.If, as a result of the determination, there is a mixture of languages in the specific intention of the learning data, and the share of the first language learning sentences in the specific intent is higher than the share of the second language learning sentences, the weight adjustment module is configured to learn the second language A word frequency of the second language token generated from a sentence may be adjusted.

상기 시스템은, 상기 학습 데이터 내의 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인지의 여부를 판단하는 밸런스 분석 모듈을 더 포함하며, 상기 가중치 조정 모듈은, 상기 밸런스 분석 모듈의 판단 결과 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인 경우, 상기 제2 언어 토큰의 단어 빈도를 조정할 수 있다.The system further includes a balance analysis module for determining whether a ratio of the second language learning sentence to the first language learning sentence in the specific intention in the learning data is less than or equal to a preset threshold, the weight The adjustment module may adjust the word frequency of the second language token when the ratio of the second language learning sentence to the first language learning sentence in the specific intention is less than or equal to a preset threshold as a result of the determination of the balance analysis module have.

상기 가중치 조정 모듈은, 상기 제2 언어 학습 문장에 대한 상기 제1 언어 학습 문장의 비율에 기반하여 상기 제2 언어 토큰의 단어 빈도를 조정할 수 있다.The weight adjustment module may adjust the word frequency of the second language token based on a ratio of the first language learning sentence to the second language learning sentence.

다른 예시적인 실시예에 따르면, 하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성되는 학습 데이터를 입력받는 단계; 상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 단계; 및 상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정하는 단계를 포함하는, 학습 데이터 처리 방법이 제공된다.According to another exemplary embodiment, it includes one or more intents and one or more learning sentences corresponding to the respective intentions, wherein the intention and the learning sentences include learning data composed of one of a first language or a second language. receiving input; determining whether there is a language mixture between intentions of the learning data or within the same intention; and adjusting a weight of at least a portion of one or more first language tokens and one or more second language tokens generated from the learning data based on the determination result.

상기 가중치는, 단어 빈도(TF, Term Frequency) 또는 역문서 빈도(IDF, Inverse Document Frequency) 중 하나 이상을 포함할 수 있다.The weight may include one or more of a word frequency (TF) and an inverse document frequency (IDF).

상기 판단 결과 상기 학습 데이터의 의도간 언어 혼용이 존재하며, 상기 학습 데이터 내 제1 언어 의도의 점유율이 제2 언어 의도의 점유율보다 높은 경우, 상기 가중치를 조정하는 단계는, 상기 제1 언어 의도에 대응되는 학습 문장으로부터 생성되는 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성될 수 있다.If, as a result of the determination, there exists a mixed language between intentions of the learning data, and the share of the first language intent in the learning data is higher than the share of the second language intent, the step of adjusting the weight may include: and adjust an inverse document frequency of the first language token generated from a corresponding learning sentence.

상기 가중치를 조정하는 단계는, 상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인 경우, 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성될 수 있다.The adjusting of the weight may be configured to adjust the inverse document frequency of the first language token when a ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold value. .

상기 가중치를 조정하는 단계는, 상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성될 수 있다.The adjusting the weight may be configured to adjust the inverse document frequency of the first language token based on a ratio of the first language intent to the second language intent.

상기 판단 결과 상기 학습 데이터의 특정 의도 내 언어 혼용이 존재하며, 상기 특정 의도 내 제1 언어 학습 문장의 점유율이 제2 언어 학습 문장의 점유율보다 높은 경우, 상기 가중치를 조정하는 단계는, 상기 제2 언어 학습 문장으로부터 생성되는 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성될 수 있다.If, as a result of the determination, there is a mixture of languages in the specific intention of the learning data, and the occupancy of the first language learning sentences in the specific intent is higher than the occupancy of the second language learning sentences, the step of adjusting the weight may include: and adjust the word frequency of the second language token generated from a language learning sentence.

상기 가중치를 조정하는 단계는, 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인 경우, 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성될 수 있다.The adjusting of the weight may be configured to adjust the word frequency of the second language token when the ratio of the second language learning sentence to the first language learning sentence in the specific intention is less than or equal to a preset threshold value. have.

상기 가중치를 조정하는 단계는, 상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성될 수 있다.The adjusting the weight may be configured to adjust the word frequency of the second language token based on a ratio of the first language intent to the second language intent.

개시되는 실시예들에 따를 경우, 서로 다른 특성을 가진 두 개 이상의 언어를 하나의 NLU 모델을 통하여 처리할 수 있다. 따라서 특히 다국어 서비스가 필요한 챗봇 또는 메신저 등에서 각 언어별 다수의 NLU 모델을 대체할 수 있게 된다.According to the disclosed embodiments, two or more languages having different characteristics may be processed through one NLU model. Therefore, it is possible to replace multiple NLU models for each language, particularly in chatbots or messengers that require multilingual services.

도 1은 일 실시예에 따른 NLU 시스템(100)을 설명하기 위한 블록도
도 2는 일 실시예에 따른 학습 데이터의 구성을 설명하기 위한 예시도
도 3은 다른 실시예에 따른 학습 데이터의 구성을 설명하기 위한 예시도
도 4는 일 실시예에 따른 NLU 시스템(100)의 특징 추출기(104)를 상세히 설명하기 위한 블록도
도 5은 일 실시예에 따른 학습 데이터 처리 과정(500)을 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram illustrating an NLU system 100 according to an embodiment.
2 is an exemplary diagram for explaining the configuration of learning data according to an embodiment;
3 is an exemplary diagram for explaining the configuration of learning data according to another embodiment;
4 is a block diagram illustrating in detail the feature extractor 104 of the NLU system 100 according to an embodiment.
5 is a flowchart illustrating a learning data processing process 500 according to an embodiment.
6 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, devices, and/or systems described herein. However, this is merely an example, and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. And, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification. The terminology used in the detailed description is for the purpose of describing embodiments of the present invention only, and should in no way be limiting. Unless explicitly used otherwise, expressions in the singular include the meaning of the plural. In this description, expressions such as “comprising” or “comprising” are intended to indicate certain features, numbers, steps, acts, elements, some or a combination thereof, one or more other than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, acts, elements, or any part or combination thereof.

도 1은 일 실시예에 따른 자연어 이해(NLU; Natural Language Understanding) 시스템(100)을 설명하기 위한 블록도이다. 일 실시예에 따른 NLU 시스템(100)은 복수의 자연어 문장으로 구성된 학습 데이터를 학습하여 NLU 모델을 구성하고, 이를 이용하여 입력된 자연어 문장에 대한 의도를 분류하기 위한 시스템이다. 도시된 바와 같이, 일 실시예에 따른 NLU 시스템(100)은 토큰 생성기(102), 특징 추출기(104) 및 의도 분류기(106)를 포함한다.1 is a block diagram illustrating a natural language understanding (NLU) system 100 according to an embodiment. The NLU system 100 according to an embodiment is a system for learning the learning data composed of a plurality of natural language sentences to configure an NLU model, and classifying intentions for the input natural language sentences using the NLU model. As shown, the NLU system 100 according to one embodiment includes a token generator 102 , a feature extractor 104 , and an intent classifier 106 .

토큰 생성기(102, Tokenizer)는 학습 데이터를 입력받고, 상기 학습 데이터에 포함된 학습 문장들로부터 토큰(token)을 생성한다. 개시되는 실시예들에서, 학습 데이터는 하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성될 수 있다. 예컨대, 상기 제1 언어가 한국어이고 상기 제2 언어가 영어일 경우, 학습 데이터는 각각 영어 또는 한국어로 구성된 복수 개의 학습 문장을 포함할 수 있으며 각각의 학습 문장들은 각각 영어 또는 한국어로 구성된 복수의 의도 중 어느 하나로 분류될 수 있다. 이하의 설명에서는 편의를 위하여 제1 언어를 한국어로, 제2 언어를 영어로 가정하였다. 그러나 개시되는 실시예들은 특정 종류의 언어에 한정되는 것은 아니다.The token generator 102 (Tokenizer) receives learning data and generates a token from learning sentences included in the learning data. In the disclosed embodiments, the learning data includes one or more intents and one or more learning sentences corresponding to the respective intentions, and the intent and the learning sentences may be configured in one of a first language or a second language. have. For example, when the first language is Korean and the second language is English, the learning data may include a plurality of learning sentences in English or Korean, respectively, and each of the learning sentences is a plurality of intentions in English or Korean, respectively. can be classified as either one. In the following description, for convenience, it is assumed that the first language is Korean and the second language is English. However, the disclosed embodiments are not limited to a specific type of language.

도 2는 일 실시예에 따른 학습 데이터의 구성을 설명하기 위한 예시도이다. 도시된 실시예에서 학습 데이터는 제1 언어 및 제2 언어 중 어느 하나를 가지는 복수의 의도를 포함할 수 있다. 즉 본 실시예의 경우 학습 데이터 내의 복수의 의도간 언어 혼용이 존재한다. 다만 이 경우 동일한 의도 내의 학습 문장 간에는 언어 혼용이 발생하지 않는다. 예를 들어 제1 언어 의도의 경우 제1 언어로 된 학습 문장만이 포함되며, 제2 언어 의도의 경우에도 제2 언어로 된 학습 문장만을 포함한다.2 is an exemplary diagram for explaining the configuration of learning data according to an embodiment. In the illustrated embodiment, the learning data may include a plurality of intentions having any one of the first language and the second language. That is, in the present embodiment, there is a mixture of languages between a plurality of intentions in the learning data. However, in this case, language mixing does not occur between learning sentences with the same intention. For example, in the case of the first language intent, only learning sentences in the first language are included, and in the case of the second language intent, only learning sentences in the second language are included.

아래의 <예시 1>은 의도간 언어 혼용이 존재하는 학습 문장을 예시한 것이다. <예시 1>에서, 의도 1 내지 4는 한국어 의도, 의도 5 및 6은 영어 의도이다. 또한 한국어 의도에는 한국어 학습 문장이, 영어 의도에는 영어 학습 문장만이 포함된 것을 알 수 있다.<Example 1> below is an example of a learning sentence in which language mixture between intentions exists. In <Example 1>, intentions 1 to 4 are Korean intentions, and intentions 5 and 6 are English intentions. Also, it can be seen that the Korean intention includes Korean learning sentences and the English intention includes only English learning sentences.

<예시 1><Example 1>

의도 1: 소리가 선명하지 않습니다Intent 1: Sound is not clear

- 학습 문장 1: TV의 음질이 좋지 않습니다. 어떻게 해야 합니까?- Learning sentence 1: The sound quality of the TV is not good. What should I do?

- 학습 문장 2: 내 TV의 나쁜 소리- Study Sentence 2: My TV sounds bad

의도 2: TV가 켜지지 않습니다Intent 2: TV won't turn on

- 학습 문장 1: 켜지지 않는 TV를 수정하는 방법?- Learning sentence 1: How to fix a TV that won't turn on?

- 학습 문장 2: TV의 전원 문제.- Study Sentence 2: TV power problem.

의도 3: 색조를 조정하는 방법?Intent 3: How to adjust the tint?

- 학습 문장 1: 색조를 수정하는 단계를 알려주세요.- Learning Sentence 1: Please tell me the steps to correct the color tone.

- 학습 문장 2: 색상 수준을 변경하는 방법?- Learning sentence 2: How to change the color level?

의도 4: 내 TV가 자동으로 꺼집니다.Intent 4: My TV turns off automatically.

- 학습 문장 1: TV 전원이 자동으로 꺼지면 어떤 해결책이 될 수 있습니까?- Study Sentence 1: What can be the solution if the TV turns off automatically?

- 학습 문장 2: TV 전원이 자동으로 꺼지는 것을 도와주세요?- Study Sentence 2: Help the TV turn off automatically?

의도 5: How to Install an App?Intent 5: How to Install an App?

- 학습 문장 1: how application can be downloaded in tv?- Learning sentence 1: how application can be downloaded in tv?

- 학습 문장 2: What would be the method of installing app?- Learning Sentence 2: What would be the method of installing app?

의도 6: hat is Easy Sharing?Intent 6: hat is Easy Sharing?

- 학습 문장 1: Need to understand about easy sharing.- Learning Sentence 1: Need to understand about easy sharing.

- 학습 문장 2: What is use of easy sharing?- Study Sentence 2: What is use of easy sharing?

도 3은 다른 실시예에 따른 학습 데이터의 구성을 설명하기 위한 예시도이다. 도시된 실시예에서 학습 데이터에 포함된 의도들은 각각 제1 언어 및 제2 언어 중 어느 하나를 가지는 복수의 학습 문장을 포함할 수 있다. 즉 본 실시예의 경우 동일 의도 내에서 언어 혼용이 존재한다. 3 is an exemplary diagram for explaining the configuration of learning data according to another embodiment. In the illustrated embodiment, the intentions included in the learning data may include a plurality of learning sentences each having one of a first language and a second language. That is, in the present embodiment, there is a mixture of languages within the same intention.

아래의 <예시 2>는 의도 내 언어 혼용이 존재하는 학습 문장을 예시한 것이다. <예시 2>에서 동일 의도 내(의도 1)에 포함된 학습 문장들 중 1 내지 14는 한국어 문장, 15 내지 18은 영어 문장으로 구성된다.<Example 2> below exemplifies a learning sentence in which language mixture exists within the intention. In <Example 2>, among the learning sentences included in the same intention (intent 1), 1 to 14 are Korean sentences, and 15 to 18 are English sentences.

<예시 2><Example 2>

의도 1: How to Install an App?Intent 1: How to Install an App?

- 학습 문장 1: netflix를 설치하고 싶습니다.- Learning Sentence 1: I want to install netflix.

- 학습 문장 2: TV에서 페이스 북을 다운로드하는 방법?- Learning sentence 2: How to download Facebook on TV?

- 학습 문장 3: 내 TV에 응용 프로그램을 설치하고 싶습니다.- Learning Sentence 3: I want to install an application on my TV.

- 학습 문장 4: 삼성 스마트 TV에 색상 앱이 없습니까?- Learning Sentence 4: No Color app on your Samsung Smart TV?

- 학습 문장 5: Netflix를 다운로드하는 방법은 무엇입니까?- Learning Sentence 5: How to Download Netflix?

- 학습 문장 6: 앱을 설치하는 가장 빠른 방법을 알려주세요.- Learning Sentence 6: Please tell me the fastest way to install the app.

- 학습 문장 7: TV에서 핫 스타 앱을 찾도록 도와주세요.- Learning sentence 7: Help find the hot star app on TV.

- 학습 문장 8: 스마트 TV에서 더 많은 앱을 추가하려면 어떻게 해야 합니까?- Learning Sentence 8: How can I add more apps on my smart TV?

- 학습 문장 9: 텔레비전에서 앱을 다운로드하는 절차.- Learning Sentence 9: The procedure for downloading the app on the television.

- 학습 문장 10: TV에 응용 프로그램을 설치하는 방법을 알아야합니까?- Learning Sentence 10: Need to know how to install an application on your TV?

- 학습 문장 11: 그 앱 스토어에서 응용 프로그램. HOOQ를 설치하는 방법- Learning Sentence 11: Applications from the App Store. How to install HOOQ

- 학습 문장 12: 색상 앱을 설치하려면 어떻게 해야 합니까?- Learning Sentence 12: How do I install the color app?

- 학습 문장 13: TV에서 Hotstar 앱은 어디에 있습니까?- Learning Sentence 13: Where is the Hotstar app on the TV?

- 학습 문장 14: TV에 Hot Star 앱이 나타나지 않습니다.- Learning Sentence 14: The Hot Star app does not appear on the TV.

- 학습 문장 15: how application can be downloaded in tv?- Learning sentence 15: how application can be downloaded in tv?

- 학습 문장 16: What would be the method of installing app?- Learning sentence 16: What would be the method of installing app?

- 학습 문장 17: I am not able to view zee5 app in my samsung smart TV- Learning sentence 17: I am not able to view zee5 app in my samsung smart TV

- 학습 문장 18: Want to install applications in my tv.- Learning Sentence 18: Want to install applications in my tv.

다시 도 1로 돌아가서, 특징 추출기(104, Featurizer)는 토큰 생성기(102)에서 생성된 하나 이상의 각 토큰에 대응되는 특징 벡터를 생성한다. 일 실시예에서, 상기 특징 벡터는 적어도 상기 각 토큰의 가중치를 포함할 수 있다. 이때 상기 가중치는 각 토큰의 단어 빈도(TF, Term Frequency) 또는 역문서 빈도(IDF, Inverse Document Frequency) 중 하나 이상을 포함할 수 있다.Returning to FIG. 1 again, the feature extractor 104 (featurizer) generates a feature vector corresponding to each of the one or more tokens generated by the token generator 102 . In an embodiment, the feature vector may include at least a weight of each token. In this case, the weight may include at least one of a word frequency (TF) or an inverse document frequency (IDF) of each token.

의도 분류기(106, Intent Classifier)는 특징 추출기(104)에서 생성된 상기 특징 벡터를 학습하여 NLU 모델을 구성한다. 이후 의도 분류기(106)는 상기 NLU 모델을 이용하여, 입력되는 자연어 문장의 의도를 추정하게 된다.An intent classifier (106) constructs an NLU model by learning the feature vector generated by the feature extractor (104). Thereafter, the intent classifier 106 estimates the intent of the input natural language sentence using the NLU model.

도 4는 일 실시예에 따른 특징 추출기(104)의 상세 구성을 좀 더 상세하게 설명하기 위한 블록도이다. 개시되는 실시예들에서, NLU 시스템(100)은 서로 다른 두 가지 언어로 구성된 학습 데이터를 이용하여 학습을 수행한다. 만약 학습 데이터 내 제1 언어 및 제2 언어의 비중이 유사한 경우는 문제가 없으나, 만약 특정 언어가 과도하게 많은 비중을 차지하는 경우에는 언어간 불균형(imbalance) 문제가 발생할 수 있다. 4 is a block diagram for explaining the detailed configuration of the feature extractor 104 according to an embodiment in more detail. In the disclosed embodiments, the NLU system 100 performs learning using learning data composed of two different languages. If the proportion of the first language and the second language in the learning data is similar, there is no problem, but if a specific language occupies an excessively large proportion, an imbalance problem between languages may occur.

이에 따라 일 실시예에 따른 특징 추출기(104)는 이러한 언어간 불균형 문제를 해소하기 위한 구성을 포함한다. 구체적으로, 특징 추출기(104)는 학습 데이터 분석 모듈(402), 밸런스 분석 모듈(404) 및 가중치 조정 모듈(406)을 포함한다.Accordingly, the feature extractor 104 according to an embodiment includes a configuration for resolving such a language imbalance problem. Specifically, the feature extractor 104 includes a learning data analysis module 402 , a balance analysis module 404 , and a weight adjustment module 406 .

학습 데이터 분석 모듈(402)은 학습 데이터를 입력받고, 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단한다. The learning data analysis module 402 receives the learning data, and determines whether there is a mixed language between intentions of the learning data or within the same intention.

밸런스 분석 모듈(404)은 학습 데이터 내의 제1 언어와 제2 언어간 밸런스, 즉 제1 언어와 제2 언어의 비율을 분석한다. The balance analysis module 404 analyzes the balance between the first language and the second language in the learning data, that is, the ratio of the first language and the second language.

일 실시예에서, 밸런스 분석 모듈(404)은 학습 데이터 전체를 대상으로 제1 언어와 제2 언어의 비율을 분석할 수 있다. 구체적으로 밸런스 분석 모듈(404)은 학습 데이터 내의 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단할 수 있다. In one embodiment, the balance analysis module 404 may analyze the ratio of the first language to the second language for the entire learning data. Specifically, the balance analysis module 404 may determine whether the ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold.

일 실시예에서, 밸런스 분석 모듈(404)은 학습 데이터 내의 특정 의도를 대상으로 제1 언어와 제2 언어의 비율을 분석할 수 있다. 구체적으로, 밸런스 분석 모듈(404)은 학습 데이터 내의 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인지의 여부를 판단할 수 있다.In one embodiment, the balance analysis module 404 may analyze the ratio of the first language and the second language for a specific intention in the learning data. Specifically, the balance analysis module 404 may determine whether the ratio of the second language learning sentence to the first language learning sentence within a specific intention in the learning data is less than or equal to a preset threshold value.

가중치 조정 모듈(406)은 학습 데이터 분석 모듈(402)의 판단 결과에 기반하여 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정한다. 하나 이상의 실시예들에서, 가중치 조정 모듈(406)은 밸런스 분석 모듈(404)의 언어별 비율 분석 결과를 추가로 고려하여 상기 가중치를 조정할 수 있다.The weight adjustment module 406 adjusts the weights of at least some of the one or more first language tokens and the one or more second language tokens generated from the training data based on the determination result of the training data analysis module 402 . In one or more embodiments, the weight adjustment module 406 may adjust the weight in consideration of the language-specific ratio analysis result of the balance analysis module 404 .

도 5은 일 실시예에 따른 학습 데이터 처리 과정(500)을 설명하기 위한 흐름도이다. 도시된 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치(12), 예컨대 전술한 NLU 시스템(100)의 특징 추출기(104)에서 수행될 수 있다. 도시된 흐름도에서는 상기 방법 또는 과정을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.5 is a flowchart illustrating a learning data processing process 500 according to an embodiment. The illustrated method is performed in a computing device 12 having one or more processors and a memory storing one or more programs to be executed by the one or more processors, for example in the feature extractor 104 of the NLU system 100 described above. can be performed. In the illustrated flowchart, the method or process is divided into a plurality of steps, but at least some of the steps are performed in a different order, are performed in combination with other steps, are omitted, are performed in separate steps, or are shown. One or more steps not included may be added and performed.

단계 502에서, 학습 데이터 분석 모듈(402)은 학습 데이터를 입력받고, 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단한다. In step 502, the learning data analysis module 402 receives the learning data, and determines whether there is a mixed language between intentions of the learning data or within the same intention.

이후, 가중치 조정 모듈(406)은 상기 판단 결과에 기반하여 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정한다. 이를 좀 더 상세히 설명하면 다음과 같다.Then, the weight adjustment module 406 adjusts the weights of at least one of the one or more first language tokens and the one or more second language tokens generated from the learning data based on the determination result. This will be described in more detail as follows.

상기 502 단계의 판단 결과 학습 데이터의 의도간 언어 혼용이 존재하는 경우, 단계 504에서 밸런스 분석 모듈(404)은 학습 데이터에서 추출된 언어별 토큰 비율이 임계값 이하인지의 여부를 판단한다.As a result of the determination in step 502, if there is a mixture of language between intentions of the learning data, in step 504, the balance analysis module 404 determines whether the ratio of tokens for each language extracted from the learning data is less than or equal to a threshold value.

예를 들어, 학습 데이터에서 추출된 언어별 토큰 중 제1 언어 토큰의 개수가 제2 언어 토큰의 개수보다 많은 경우, 밸런스 분석 모듈(404)은 학습 데이터 내의 제1 언어 토큰에 대한 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단한다. 일 실시예에서, 상기 임계값은 예컨대 60% 내지 90% 사이의 값으로 설정될 수 있다. 학습 데이터 내에서 토큰 개수가 적은 언어의 비율이 임계값 이하일 경우는 향후 의도 분류에 있어 불균형 문제가 발생할 수 있기 때이다.For example, when the number of first language tokens among the tokens for each language extracted from the learning data is greater than the number of second language tokens, the balance analysis module 404 is a second language token for the first language token in the learning data It is determined whether the ratio of is equal to or less than a preset threshold value. In one embodiment, the threshold value may be set to a value between 60% and 90%, for example. If the ratio of languages with a small number of tokens in the training data is less than the threshold value, it is because an imbalance problem may occur in the future intention classification.

만약 상기 504 단계의 판단 결과 언어별 토큰 비율이 임계값 이하인 경우, 단계 506에서 가중치 조정 모듈(406)은 학습 데이터 내의 언어간 의도 비율을 계산한다. 예를 들어, <예시 1>과 같은 학습 데이터에서 제1 언어인 한국어 의도의 개수는 4개, 제2 언어인 영어 의도의 개수는 2개이다. 따라서 이 경우 제1 언어와 제2 언어의 의도 비율은 2:1이 될 수 있다.If it is determined in step 504 that the token ratio for each language is less than or equal to the threshold, in step 506, the weight adjustment module 406 calculates an intention ratio between languages in the learning data. For example, in the training data such as <Example 1>, the number of intentions for Korean as the first language is 4 and the number of intentions for English as the second language is 2. Accordingly, in this case, the intention ratio between the first language and the second language may be 2:1.

단계 508에서, 가중치 조정 모듈(406)은 학습 데이터 내 언어 점유율이 높은 의도에 대한 가중치를 조정한다. 이때 상기 가중치는 역문서 빈도(IDF)일 수 있다. 예를 들어, <예시 1>과 같은 학습 데이터의 경우 언어 점유율이 높은 한국어 의도에 대응되는 토큰의 역문서 빈도를 조정한다. 한국어 의도의 언어 점유율이 높다는 것은 한국어 토큰의 역문서 빈도가 영어 토큰의 역문서 빈도보다 낮음(즉, 영어 토큰의 희소성이 높음)을 의미한다. 따라서 이를 보정하기 위하여 가중치 조정 모듈(406)은 점유율이 높은 한국어 토큰의 역문서 빈도를 보정한다.In step 508 , the weight adjustment module 406 adjusts a weight for an intention having a high language occupancy in the training data. In this case, the weight may be an inverse document frequency (IDF). For example, in the case of training data such as <Example 1>, the frequency of inverse documents of tokens corresponding to Korean intentions with a high language share is adjusted. The high share of the language of Korean intent means that the frequency of inverse documents of Korean tokens is lower than that of English tokens (that is, the scarcity of English tokens is high). Accordingly, in order to correct this, the weight adjustment module 406 corrects the frequency of inverse documents of Korean tokens having a high occupancy.

구체적으로 가중치 조정 모듈(406)은, 제2 언어 의도에 대한 제1 언어 의도의 비율에 기반하여 제1 언어 토큰의 역문서 빈도를 조정한다. 예를 들어, <예시 1>의 경우 한국어(제1 언어)와 영어(제2 언어)의 의도 비율은 2:1이다. 따라서 이를 반영하여 가중치 조정 모듈(406)은 한국어 의도를 가지는 학습 문장에서 생성된 토큰의 역문서 빈도에 상기 의도 비율에 해당하는 2의 값을 곱해주게 된다.Specifically, the weight adjustment module 406 adjusts the inverse document frequency of the first language token based on the ratio of the first language intent to the second language intent. For example, in <Example 1>, the intention ratio between Korean (first language) and English (second language) is 2:1. Accordingly, by reflecting this, the weight adjustment module 406 multiplies the frequency of inverse documents of tokens generated from learning sentences with Korean intent by a value of 2 corresponding to the intent ratio.

한편, 상기 502 단계의 판단 결과 학습 데이터의 의도내 언어 혼용이 존재하는 경우, 단계 510에서 밸런스 분석 모듈(404)은 학습 데이터 중 특정 의도 내에서 추출된 언어별 토큰 비율이 임계값 이하인지의 여부를 판단한다.On the other hand, if it is determined in step 502 that there is a mixture of languages within the intent of the learning data, the balance analysis module 404 in step 510 determines whether the ratio of tokens for each language extracted within a specific intent among the learning data is less than or equal to a threshold value to judge

예를 들어, 학습 데이터의 특정 의도 내에서 추출된 언어별 토큰 중 제1 언어 토큰의 개수가 제2 언어 토큰의 개수보다 많은 경우, 밸런스 분석 모듈(404)은 해당 의도 내의 제1 언어 토큰에 대한 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단한다. 일 실시예에서, 상기 임계값은 60% 내지 90% 사이의 값으로 설정될 수 있다. 동일 의도 내에서 토큰 개수가 적은 언어의 비율이 임계값 이하일 경우는 향후 의도 분류에 있어 불균형 문제가 발생할 수 있기 때이다.For example, if the number of first language tokens among the tokens for each language extracted within a specific intent of the learning data is greater than the number of second language tokens, the balance analysis module 404 for the first language token in the corresponding intent It is determined whether the ratio of the second language tokens is equal to or less than a preset threshold. In an embodiment, the threshold value may be set to a value between 60% and 90%. If the ratio of languages with a small number of tokens within the same intent is less than the threshold, an imbalance problem may occur in the future intent classification.

만약 상기 510 단계의 판단 결과 동일 의도 내 언어별 토큰 비율이 임계값 이하인 경우, 단계 512에서 가중치 조정 모듈(406)은 해당 특정 의도 내의 언어간 학습 문장의 비율을 계산한다. 예를 들어, <예시 2>와 같은 학습 데이터에서 의도 1에 포함된 제1 언어인 한국어 학습 문장의 개수는 14개, 제2 언어인 영어 학습 문장의 개수는 4개이다. 따라서 이 경우 제1 언어와 제2 언어의 학습 문장 비율은 1:0.28이 될 수 있다.If it is determined in step 510 that the token ratio for each language within the same intent is less than or equal to the threshold, in step 512 the weight adjustment module 406 calculates the ratio of learning sentences between languages within the specific intent. For example, in the learning data such as <Example 2>, the number of sentences for learning Korean as the first language included in intention 1 is 14 and the number of sentences for learning English as the second language is 4. Therefore, in this case, the learning sentence ratio of the first language and the second language may be 1:0.28.

단계 514에서, 가중치 조정 모듈(406)은 상기 특정 의도 내 언어 점유율이 낮은 학습 문장에 대한 가중치를 조정한다. 이때 상기 가중치는 단어 빈도(TF) 일 수 있다. 예를 들어, <예시 2>와 같은 학습 데이터의 경우 언어 점유율이 낮은 영어 학습 문장으로부터 추출된 토큰의 단어 빈도를 조정한다. 영어 문장의 점유율이 낮다는 것은 영어 토큰의 단어 빈도가 한국어 토큰의 단어 빈도보다 낮음을 의미한다. 따라서 이를 보정하기 위하여 가중치 조정 모듈(406)은 점유율이 낮은 영어 토큰의 단어 빈도를 보정한다.In step 514 , the weight adjustment module 406 adjusts a weight for the learning sentence having a low language occupancy within the specific intent. In this case, the weight may be a word frequency (TF). For example, in the case of learning data such as <Example 2>, the word frequency of tokens extracted from English learning sentences with a low language occupancy is adjusted. The low share of English sentences means that the word frequency of English tokens is lower than that of Korean tokens. Therefore, in order to correct this, the weight adjustment module 406 corrects the word frequency of the English token having a low occupancy.

구체적으로 가중치 조정 모듈(406)은, 제2 언어 학습 문장에 대한 제1 언어 학습 문장의 비율에 기반하여 제1 언어 토큰의 단어 빈도를 조정한다. 예를 들어, <예시 2>의 경우 한국어(제1 언어)와 영어(제2 언어)의 학습 문장 비율은 1:0.28이다. 따라서 이를 반영하여 가중치 조정 모듈(406)은 영어 학습 문장에서 생성된 토큰의 역문서 빈도에 상기 의도 비율에 해당하는 3.57(=1÷0.28)의 값을 곱해주게 된다.Specifically, the weight adjustment module 406 adjusts the word frequency of the first language token based on the ratio of the first language learning sentence to the second language learning sentence. For example, in <Example 2>, the learning sentence ratio of Korean (first language) and English (second language) is 1:0.28. Accordingly, by reflecting this, the weight adjustment module 406 multiplies the inverse document frequency of the token generated in the English learning sentence by a value of 3.57 (=1 ÷ 0.28) corresponding to the intention ratio.

도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.6 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 일 실시예에 따른 NLU 시스템(100)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be NLU system 100 according to one embodiment. Computing device 12 includes at least one processor 14 , computer readable storage medium 16 , and communication bus 18 . The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiments discussed above. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions that, when executed by the processor 14, configure the computing device 12 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other forms of storage medium accessed by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12 , including processor 14 and computer readable storage medium 16 .

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . The input/output interface 22 and the network communication interface 26 are coupled to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output device 24 may include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or imaging devices. input devices and/or output devices such as display devices, printers, speakers and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12 , and may be connected to the computing device 102 as a separate device distinct from the computing device 12 . may be

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, an embodiment of the present invention may include a program for performing the methods described in this specification on a computer, and a computer-readable recording medium including the program. The computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be specially designed and configured for the present invention, or may be commonly used in the field of computer software. Examples of computer-readable recording media include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and program instructions specially configured to store and execute program instructions such as ROMs, RAMs, flash memories, etc. Hardware devices are included. Examples of the program may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative embodiments above, those of ordinary skill in the art to which the present invention pertains can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims described below as well as the claims and equivalents.

100: NLU 시스템
102: 토큰 생성기
104: 특징 추출기
106: 의도 분류기
402: 학습 데이터 분석 모듈
404: 밸런스 분석 모듈
406: 가중치 조정 모듈
100: NLU system
102: Token Generator
104: feature extractor
106: intent classifier
402: training data analysis module
404: balance analysis module
406: weight adjustment module

Claims (16)

하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성되는 학습 데이터를 입력받고, 상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 학습 데이터 분석 모듈; 및
상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정하는 가중치 조정 모듈을 포함하는, 자연어 이해 시스템.
one or more intentions and one or more learning sentences corresponding to the respective intentions, wherein the intention and the learning sentences receive learning data composed of one of a first language or a second language, and the intention of the learning data a learning data analysis module for determining whether there is a mixture of languages between or within the same intention; and
and a weight adjustment module configured to adjust weights of at least a portion of one or more first language tokens and one or more second language tokens generated from the learning data based on the determination result.
청구항 1에 있어서,
상기 가중치는, 단어 빈도(TF, Term Frequency) 또는 역문서 빈도(IDF, Inverse Document Frequency) 중 하나 이상을 포함하는, 자연어 이해 시스템.
The method according to claim 1,
wherein the weight includes at least one of a Term Frequency (TF) or an Inverse Document Frequency (IDF).
청구항 1에 있어서,
상기 판단 결과 상기 학습 데이터의 의도간 언어 혼용이 존재하며, 상기 학습 데이터 내 제1 언어 의도의 점유율이 제2 언어 의도의 점유율보다 높은 경우,
상기 가중치 조정 모듈은, 상기 제1 언어 의도에 대응되는 학습 문장으로부터 생성되는 상기 제1 언어 토큰의 역문서 빈도를 조정하는, 자연어 이해 시스템.
The method according to claim 1,
As a result of the determination, if there is a mixture of language between intentions of the learning data, and the share of the first language intent in the learning data is higher than the share of the second language intent,
The weight adjustment module is configured to adjust a frequency of an inverse document of the first language token generated from a learning sentence corresponding to the first language intent.
청구항 3에 있어서,
상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단하는 밸런스 분석 모듈을 더 포함하며,
상기 가중치 조정 모듈은, 상기 밸런스 분석 모듈의 판단 결과 상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인 경우, 상기 제1 언어 토큰의 역문서 빈도를 조정하는, 자연어 이해 시스템.
4. The method according to claim 3,
Further comprising a balance analysis module for determining whether the ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold,
The weight adjustment module is configured to adjust the inverse document frequency of the first language token when the ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold as a result of the determination of the balance analysis module a natural language understanding system.
청구항 3에 있어서,
상기 가중치 조정 모듈은,
상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제1 언어 토큰의 역문서 빈도를 조정하는, 자연어 이해 시스템.
4. The method according to claim 3,
The weight adjustment module,
and adjust the inverse document frequency of the first language token based on a ratio of the first language intent to the second language intent.
청구항 1에 있어서,
상기 판단 결과 상기 학습 데이터의 특정 의도 내 언어 혼용이 존재하며, 상기 특정 의도 내 제1 언어 학습 문장의 점유율이 제2 언어 학습 문장의 점유율보다 높은 경우,
상기 가중치 조정 모듈은, 상기 제2 언어 학습 문장으로부터 생성되는 상기 제2 언어 토큰의 단어 빈도를 조정하는, 자연어 이해 시스템.
The method according to claim 1,
If, as a result of the determination, there is a mixture of languages within the specific intention of the learning data, and the share of the first language learning sentences in the specific intent is higher than the share of the second language learning sentences,
and the weight adjustment module adjusts the word frequency of the second language token generated from the second language learning sentence.
청구항 6에 있어서,
상기 학습 데이터 내의 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인지의 여부를 판단하는 밸런스 분석 모듈을 더 포함하며,
상기 가중치 조정 모듈은, 상기 밸런스 분석 모듈의 판단 결과 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인 경우, 상기 제2 언어 토큰의 단어 빈도를 조정하는, 자연어 이해 시스템.
7. The method of claim 6,
Further comprising a balance analysis module for determining whether the ratio of the second language learning sentence to the first language learning sentence in the specific intention in the learning data is less than or equal to a preset threshold,
The weight adjustment module is, as a result of the determination of the balance analysis module, when the ratio of the second language learning sentence to the first language learning sentence in the specific intention is less than or equal to a preset threshold, the word frequency of the second language token Coordinated, natural language understanding system.
청구항 6에 있어서,
상기 가중치 조정 모듈은,
상기 제2 언어 학습 문장에 대한 상기 제1 언어 학습 문장의 비율에 기반하여 상기 제2 언어 토큰의 단어 빈도를 조정하는, 자연어 이해 시스템.
7. The method of claim 6,
The weight adjustment module,
and adjusting the word frequency of the second language token based on the ratio of the first language learning sentence to the second language learning sentence.
하나 이상의 의도(intent) 및 상기 각 의도에 대응되는 하나 이상의 학습 문장을 포함하며, 상기 의도 및 상기 학습 문장은 제1 언어 또는 제2 언어 중 하나로 구성되는 학습 데이터를 입력받는 단계;
상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 단계; 및
상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정하는 단계를 포함하는, 학습 데이터 처리 방법.
receiving learning data including one or more intentions and one or more learning sentences corresponding to the respective intentions, wherein the intention and the learning sentences are configured in one of a first language or a second language;
determining whether there is a language mixture between intentions of the learning data or within the same intention; and
Comprising the step of adjusting the weight of at least one of the one or more first language tokens and one or more second language tokens generated from the learning data based on the determination result, the learning data processing method.
청구항 9에 있어서,
상기 가중치는, 단어 빈도(TF, Term Frequency) 또는 역문서 빈도(IDF, Inverse Document Frequency) 중 하나 이상을 포함하는, 학습 데이터 처리 방법.
10. The method of claim 9,
Wherein the weight includes at least one of a word frequency (TF, Term Frequency) and an inverse document frequency (IDF).
청구항 9에 있어서,
상기 판단 결과 상기 학습 데이터의 의도간 언어 혼용이 존재하며, 상기 학습 데이터 내 제1 언어 의도의 점유율이 제2 언어 의도의 점유율보다 높은 경우,
상기 가중치를 조정하는 단계는, 상기 제1 언어 의도에 대응되는 학습 문장으로부터 생성되는 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
10. The method of claim 9,
As a result of the determination, if there is a mixture of language between intentions of the learning data, and the share of the first language intent in the learning data is higher than the share of the second language intent,
The adjusting of the weight is configured to adjust a frequency of an inverse document of the first language token generated from a learning sentence corresponding to the first language intent.
청구항 11에 있어서,
상기 가중치를 조정하는 단계는, 상기 학습 데이터 내의 상기 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인 경우, 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
12. The method of claim 11,
The adjusting of the weight is configured to adjust the inverse document frequency of the first language token when a ratio of the second language token to the first language token in the learning data is less than or equal to a preset threshold value. How data is processed.
청구항 11에 있어서,
상기 가중치를 조정하는 단계는,
상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제1 언어 토큰의 역문서 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
12. The method of claim 11,
The step of adjusting the weight is
and adjust the inverse document frequency of the first language token based on a ratio of the first language intent to the second language intent.
청구항 9에 있어서,
상기 판단 결과 상기 학습 데이터의 특정 의도 내 언어 혼용이 존재하며, 상기 특정 의도 내 제1 언어 학습 문장의 점유율이 제2 언어 학습 문장의 점유율보다 높은 경우,
상기 가중치를 조정하는 단계는, 상기 제2 언어 학습 문장으로부터 생성되는 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
10. The method of claim 9,
If, as a result of the determination, there is a mixture of languages within the specific intention of the learning data, and the share of the first language learning sentences in the specific intent is higher than the share of the second language learning sentences,
The adjusting the weight is configured to adjust the word frequency of the second language token generated from the second language learning sentence.
청구항 14에 있어서,
상기 가중치를 조정하는 단계는, 상기 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인 경우, 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
15. The method of claim 14,
The adjusting the weight is configured to adjust the word frequency of the second language token when the ratio of the second language learning sentence to the first language learning sentence in the specific intention is less than or equal to a preset threshold value, How to process training data.
청구항 14에 있어서,
상기 가중치를 조정하는 단계는, 상기 제2 언어 의도에 대한 상기 제1 언어 의도의 비율에 기반하여 상기 제2 언어 토큰의 단어 빈도를 조정하도록 구성되는, 학습 데이터 처리 방법.
15. The method of claim 14,
and the adjusting the weight is configured to adjust the word frequency of the second language token based on a ratio of the first language intent to the second language intent.
KR1020200161586A 2020-11-26 2020-11-26 System and method for natural language understanding and method for processing learning data thereof Pending KR20220073475A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200161586A KR20220073475A (en) 2020-11-26 2020-11-26 System and method for natural language understanding and method for processing learning data thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200161586A KR20220073475A (en) 2020-11-26 2020-11-26 System and method for natural language understanding and method for processing learning data thereof

Publications (1)

Publication Number Publication Date
KR20220073475A true KR20220073475A (en) 2022-06-03

Family

ID=81983247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200161586A Pending KR20220073475A (en) 2020-11-26 2020-11-26 System and method for natural language understanding and method for processing learning data thereof

Country Status (1)

Country Link
KR (1) KR20220073475A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102764115B1 (en) * 2024-06-12 2025-02-07 사이오닉에이아이 주식회사 Apparatus and method of processing natural language using boosting keyword set and suppressing keyword set

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109624A (en) 2017-03-28 2018-10-08 삼성전자주식회사 Method for operating speech recognition service and electronic device supporting the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180109624A (en) 2017-03-28 2018-10-08 삼성전자주식회사 Method for operating speech recognition service and electronic device supporting the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102764115B1 (en) * 2024-06-12 2025-02-07 사이오닉에이아이 주식회사 Apparatus and method of processing natural language using boosting keyword set and suppressing keyword set

Similar Documents

Publication Publication Date Title
JP6333745B2 (en) Translation result providing method, translation result providing system, program, and file distribution system
US10843080B2 (en) Automated program synthesis from natural language for domain specific computing applications
US11343582B2 (en) Systems and methods for providing subtitles based on language proficiency
US10827067B2 (en) Text-to-speech apparatus and method, browser, and user terminal
US7487096B1 (en) Method to automatically enable closed captioning when a speaker has a heavy accent
US12032902B2 (en) Text generation for patent applications using natural language modeling and programmable templating language
US20100082324A1 (en) Replacing terms in machine translation
US9336204B1 (en) Techniques for modifying the complexity of literary content
US20130144594A1 (en) System and method for collaborative language translation
US9304712B2 (en) Automated word substitution for contextual language learning
CN111462740A (en) Voice Command Matching for Prototype Testing of Voice-Assisted Applications in Non-Phonetic Alphabet Languages
US10275456B2 (en) Determining context using weighted parsing scoring
KR102315181B1 (en) Method, apparauts and system for named entity linking and computer program thereof
US20180239743A1 (en) Keyboard input corresponding to multiple languages
KR101709693B1 (en) Method for Web toon Language Automatic Translating Using Crowd Sourcing
KR102188564B1 (en) Method and system for machine translation capable of style transfer
CN110554875A (en) Code conversion method and device, electronic equipment and storage medium
RU2631975C2 (en) Method and system for user input command processing
KR20220073475A (en) System and method for natural language understanding and method for processing learning data thereof
WO2007055986A2 (en) Input/query methods and apparatuses
KR20160052506A (en) Method and system for providing translated result
US20240020482A1 (en) Corpus Annotation Method and Apparatus, and Related Device
US20170116174A1 (en) Electronic word identification techniques based on input context
US11074420B2 (en) Self-learning input-driven brokering of language-translation engines
KR20210081811A (en) Method and device for improving speech recognition performance

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000