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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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
개시되는 실시예들은 머신 러닝(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.
개시되는 실시예들은 서로 다른 특성을 가진 두 개 이상의 언어를 동시에 처리 가능한 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
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
5 is a flowchart illustrating a learning
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)
토큰 생성기(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
의도 분류기(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
도 4는 일 실시예에 따른 특징 추출기(104)의 상세 구성을 좀 더 상세하게 설명하기 위한 블록도이다. 개시되는 실시예들에서, NLU 시스템(100)은 서로 다른 두 가지 언어로 구성된 학습 데이터를 이용하여 학습을 수행한다. 만약 학습 데이터 내 제1 언어 및 제2 언어의 비중이 유사한 경우는 문제가 없으나, 만약 특정 언어가 과도하게 많은 비중을 차지하는 경우에는 언어간 불균형(imbalance) 문제가 발생할 수 있다. 4 is a block diagram for explaining the detailed configuration of the
이에 따라 일 실시예에 따른 특징 추출기(104)는 이러한 언어간 불균형 문제를 해소하기 위한 구성을 포함한다. 구체적으로, 특징 추출기(104)는 학습 데이터 분석 모듈(402), 밸런스 분석 모듈(404) 및 가중치 조정 모듈(406)을 포함한다.Accordingly, the
학습 데이터 분석 모듈(402)은 학습 데이터를 입력받고, 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단한다. The learning
밸런스 분석 모듈(404)은 학습 데이터 내의 제1 언어와 제2 언어간 밸런스, 즉 제1 언어와 제2 언어의 비율을 분석한다. The
일 실시예에서, 밸런스 분석 모듈(404)은 학습 데이터 전체를 대상으로 제1 언어와 제2 언어의 비율을 분석할 수 있다. 구체적으로 밸런스 분석 모듈(404)은 학습 데이터 내의 제1 언어 토큰에 대한 상기 제2 언어 토큰의 비율이 기 설정된 임계값 이하인지의 여부를 판단할 수 있다. In one embodiment, the
일 실시예에서, 밸런스 분석 모듈(404)은 학습 데이터 내의 특정 의도를 대상으로 제1 언어와 제2 언어의 비율을 분석할 수 있다. 구체적으로, 밸런스 분석 모듈(404)은 학습 데이터 내의 특정 의도 내의 상기 제1 언어 학습 문장에 대한 상기 제2 언어 학습 문장의 비율이 기 설정된 임계값 이하인지의 여부를 판단할 수 있다.In one embodiment, the
가중치 조정 모듈(406)은 학습 데이터 분석 모듈(402)의 판단 결과에 기반하여 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정한다. 하나 이상의 실시예들에서, 가중치 조정 모듈(406)은 밸런스 분석 모듈(404)의 언어별 비율 분석 결과를 추가로 고려하여 상기 가중치를 조정할 수 있다.The
도 5은 일 실시예에 따른 학습 데이터 처리 과정(500)을 설명하기 위한 흐름도이다. 도시된 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치(12), 예컨대 전술한 NLU 시스템(100)의 특징 추출기(104)에서 수행될 수 있다. 도시된 흐름도에서는 상기 방법 또는 과정을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.5 is a flowchart illustrating a learning
단계 502에서, 학습 데이터 분석 모듈(402)은 학습 데이터를 입력받고, 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단한다. In
이후, 가중치 조정 모듈(406)은 상기 판단 결과에 기반하여 학습 데이터로부터 생성되는 하나 이상의 제1 언어 토큰 및 하나 이상의 제2 언어 토큰 중 적어도 일부의 가중치를 조정한다. 이를 좀 더 상세히 설명하면 다음과 같다.Then, the
상기 502 단계의 판단 결과 학습 데이터의 의도간 언어 혼용이 존재하는 경우, 단계 504에서 밸런스 분석 모듈(404)은 학습 데이터에서 추출된 언어별 토큰 비율이 임계값 이하인지의 여부를 판단한다.As a result of the determination in
예를 들어, 학습 데이터에서 추출된 언어별 토큰 중 제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
만약 상기 504 단계의 판단 결과 언어별 토큰 비율이 임계값 이하인 경우, 단계 506에서 가중치 조정 모듈(406)은 학습 데이터 내의 언어간 의도 비율을 계산한다. 예를 들어, <예시 1>과 같은 학습 데이터에서 제1 언어인 한국어 의도의 개수는 4개, 제2 언어인 영어 의도의 개수는 2개이다. 따라서 이 경우 제1 언어와 제2 언어의 의도 비율은 2:1이 될 수 있다.If it is determined in
단계 508에서, 가중치 조정 모듈(406)은 학습 데이터 내 언어 점유율이 높은 의도에 대한 가중치를 조정한다. 이때 상기 가중치는 역문서 빈도(IDF)일 수 있다. 예를 들어, <예시 1>과 같은 학습 데이터의 경우 언어 점유율이 높은 한국어 의도에 대응되는 토큰의 역문서 빈도를 조정한다. 한국어 의도의 언어 점유율이 높다는 것은 한국어 토큰의 역문서 빈도가 영어 토큰의 역문서 빈도보다 낮음(즉, 영어 토큰의 희소성이 높음)을 의미한다. 따라서 이를 보정하기 위하여 가중치 조정 모듈(406)은 점유율이 높은 한국어 토큰의 역문서 빈도를 보정한다.In
구체적으로 가중치 조정 모듈(406)은, 제2 언어 의도에 대한 제1 언어 의도의 비율에 기반하여 제1 언어 토큰의 역문서 빈도를 조정한다. 예를 들어, <예시 1>의 경우 한국어(제1 언어)와 영어(제2 언어)의 의도 비율은 2:1이다. 따라서 이를 반영하여 가중치 조정 모듈(406)은 한국어 의도를 가지는 학습 문장에서 생성된 토큰의 역문서 빈도에 상기 의도 비율에 해당하는 2의 값을 곱해주게 된다.Specifically, the
한편, 상기 502 단계의 판단 결과 학습 데이터의 의도내 언어 혼용이 존재하는 경우, 단계 510에서 밸런스 분석 모듈(404)은 학습 데이터 중 특정 의도 내에서 추출된 언어별 토큰 비율이 임계값 이하인지의 여부를 판단한다.On the other hand, if it is determined in
예를 들어, 학습 데이터의 특정 의도 내에서 추출된 언어별 토큰 중 제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
만약 상기 510 단계의 판단 결과 동일 의도 내 언어별 토큰 비율이 임계값 이하인 경우, 단계 512에서 가중치 조정 모듈(406)은 해당 특정 의도 내의 언어간 학습 문장의 비율을 계산한다. 예를 들어, <예시 2>와 같은 학습 데이터에서 의도 1에 포함된 제1 언어인 한국어 학습 문장의 개수는 14개, 제2 언어인 영어 학습 문장의 개수는 4개이다. 따라서 이 경우 제1 언어와 제2 언어의 학습 문장 비율은 1:0.28이 될 수 있다.If it is determined in
단계 514에서, 가중치 조정 모듈(406)은 상기 특정 의도 내 언어 점유율이 낮은 학습 문장에 대한 가중치를 조정한다. 이때 상기 가중치는 단어 빈도(TF) 일 수 있다. 예를 들어, <예시 2>와 같은 학습 데이터의 경우 언어 점유율이 낮은 영어 학습 문장으로부터 추출된 토큰의 단어 빈도를 조정한다. 영어 문장의 점유율이 낮다는 것은 영어 토큰의 단어 빈도가 한국어 토큰의 단어 빈도보다 낮음을 의미한다. 따라서 이를 보정하기 위하여 가중치 조정 모듈(406)은 점유율이 낮은 영어 토큰의 단어 빈도를 보정한다.In
구체적으로 가중치 조정 모듈(406)은, 제2 언어 학습 문장에 대한 제1 언어 학습 문장의 비율에 기반하여 제1 언어 토큰의 단어 빈도를 조정한다. 예를 들어, <예시 2>의 경우 한국어(제1 언어)와 영어(제2 언어)의 학습 문장 비율은 1:0.28이다. 따라서 이를 반영하여 가중치 조정 모듈(406)은 영어 학습 문장에서 생성된 토큰의 역문서 빈도에 상기 의도 비율에 해당하는 3.57(=1÷0.28)의 값을 곱해주게 된다.Specifically, the
도 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
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)
상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제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.
상기 가중치는, 단어 빈도(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 언어 의도의 점유율이 제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.
상기 학습 데이터 내의 상기 제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.
상기 가중치 조정 모듈은,
상기 제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 언어 학습 문장의 점유율이 제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.
상기 학습 데이터 내의 상기 특정 의도 내의 상기 제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.
상기 가중치 조정 모듈은,
상기 제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.
상기 학습 데이터의 의도간 또는 동일 의도내 언어 혼용이 존재하는지 여부를 판단하는 단계; 및
상기 판단 결과에 기반하여 상기 학습 데이터로부터 생성되는 하나 이상의 제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.
상기 가중치는, 단어 빈도(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).
상기 판단 결과 상기 학습 데이터의 의도간 언어 혼용이 존재하며, 상기 학습 데이터 내 제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.
상기 가중치를 조정하는 단계는, 상기 학습 데이터 내의 상기 제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.
상기 가중치를 조정하는 단계는,
상기 제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.
상기 판단 결과 상기 학습 데이터의 특정 의도 내 언어 혼용이 존재하며, 상기 특정 의도 내 제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.
상기 가중치를 조정하는 단계는, 상기 특정 의도 내의 상기 제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.
상기 가중치를 조정하는 단계는, 상기 제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.
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)
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)
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 |
-
2020
- 2020-11-26 KR KR1020200161586A patent/KR20220073475A/en active Pending
Patent Citations (1)
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)
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 |