KR102376570B1 - A device for classifying the semantic relationship of sentences using artificial intelligence technology - Google Patents
A device for classifying the semantic relationship of sentences using artificial intelligence technology Download PDFInfo
- Publication number
- KR102376570B1 KR102376570B1 KR1020190015871A KR20190015871A KR102376570B1 KR 102376570 B1 KR102376570 B1 KR 102376570B1 KR 1020190015871 A KR1020190015871 A KR 1020190015871A KR 20190015871 A KR20190015871 A KR 20190015871A KR 102376570 B1 KR102376570 B1 KR 102376570B1
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- classification
- learning
- semantic relationship
- sentences
- Prior art date
Links
- 238000005516 engineering process Methods 0.000 title description 6
- 238000013473 artificial intelligence Methods 0.000 title description 5
- 239000013598 vector Substances 0.000 claims abstract description 108
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 claims abstract description 37
- 238000000034 method Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 22
- 238000013527 convolutional neural network Methods 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- QLMNCUHSDAGQGT-UHFFFAOYSA-N sintofen Chemical compound N1=C(C(O)=O)C(=O)C=2C(OCCOC)=CC=CC=2N1C1=CC=C(Cl)C=C1 QLMNCUHSDAGQGT-UHFFFAOYSA-N 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Animal Behavior & Ethology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 대화 서비스 제공을 위한 문장 의미 관계 분류 장치에 있어서, 학습 대상인 학습 문서 데이터를 입력받는 입력부; 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하는 단어-벡터 변환부; 상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하는 문장-벡터 변환부; 및 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하고, 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하며, 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행하는 의미 관계 분류부를 포함하는 대화 서비스 제공을 위한 문장 의미 관계 분류 장치를 제공한다.The present invention provides a sentence semantic relationship classification device for providing a conversation service, comprising: an input unit that receives learning document data that is a learning target; a word-vector conversion unit that performs word vector conversion processing to map words of the learning document onto a vector space; a sentence-vector conversion unit that performs sentence vector conversion processing corresponding to sentences of the learning document using the word vector; And according to the degree of relationship between the sentence vectors, perform semantic relationship classification learning between sentences, generate a sentence-based classifier whose semantic relationship has been learned according to the semantic relationship classification learning, and classify the user input document based on the generated classifier. A sentence semantic relationship classification device for providing a conversation service including a semantic relationship classification unit that performs intent classification processing is provided.
Description
본 발명은 인공지능 기술을 이용하여 문장의 의미 관계를 분류하는 장치에 관한 것이다. 보다 구체적으로, 본 발명은 대화 서비스 제공을 위한 문장 의미 관계 학습 프로세스를 위한 문장 의미 관계 분류 장치에 관한 것이다.The present invention relates to a device that classifies the semantic relationships of sentences using artificial intelligence technology. More specifically, the present invention relates to a sentence semantic relationship classification device for a sentence semantic relationship learning process for providing conversation services.
인공지능(Artificial Intelligence)은 비즈니스, 조직운영, 생활방식 그리고 커뮤니케이션 방법에 혁신을 일으키고 있다. 매일매일 빠르게 변화하는 현대적 문화의 생활 방식과 다양하게 끊임없이 변화되는 고객의 요구사항에 최적의 서비스를 제공하기 위한 다양한 정보화 프로젝트가 진행되고 있다.Artificial Intelligence is revolutionizing business, organizational operations, lifestyles, and communication methods. Various informatization projects are underway to provide optimal services to the lifestyles of modern culture that change rapidly every day and the constantly changing needs of customers.
그중에서도 최근 빅데이터와 딥러닝 관련 기술이 빠른 속도로 발전하여 특정 분야에서는 실생활에 적용되고 있는 인공지능 기술이 구현되었으며, 특정 데이터에 대한 분석과, 개개인에게 특화된 다양한 분야의 정보를 통합 제공 및 활용하는 지능화된 개인 서비스에도 적용되고 있다.Among them, big data and deep learning-related technologies have recently developed at a rapid pace, and artificial intelligence technology that is being applied to real life in certain fields has been implemented, analyzing specific data, and providing and utilizing information in various fields specialized for each individual. It is also being applied to intelligent personal services.
이와 같이 인공지능 및 데이터 분석 서비스 등 다양한 사용자 서비스들을 제공하기 위해, 매우 방대한 양의 텍스트 및 기타 언어 기반 정보에 대한 데이터 마이닝이 요구되고 있으며, 이를 위해 주로 기계학습 방식이 이용되고 있다.In order to provide various user services such as artificial intelligence and data analysis services, data mining of very large amounts of text and other language-based information is required, and machine learning methods are mainly used for this purpose.
이러한 문서의 기계학습은 현재 문서가 가진 단어들을 임베딩한 벡터 값으로 문장만을 나타내는 문서 벡터를 이용한 분류 방식이 주로 이용되고 있다.For machine learning of these documents, a classification method using document vectors, which represent only sentences with vector values embedding words in the document, is mainly used.
그러나, 기존의 분류 방식은 문장들 사이의 의미 관계를 파악하기 어려운 문제점이 있다. 이와 같은 문제점은 결과적으로 분류기의 성능에 한계를 보여주게 된다.However, the existing classification method has a problem in that it is difficult to determine the semantic relationship between sentences. Problems like these ultimately limit the performance of the classifier.
예를 들어, 서로 다른 주제를 가진 '유럽'이라는 클래스와 '축구'라는 클래스가 있을 때 '유럽'이라는 문서 데이터 안에 '유럽의 축구'와 관련된 내용이 있다면 '유럽' 클래스와 '축구' 관련된 문장과 '축구' 클래스의 문장들은 의미 관계를 갖고 있다고 할 수 있으나, 현재의 분류기에서는 이와 관련한 어떠한 정보도 연관되어 처리되고 있지 못하고 있는 실정이다.For example, if there are classes called 'Europe' and 'Soccer' with different topics, and there is content related to 'Soccer in Europe' in the document data called 'Europe', sentences related to the class 'Europe' and 'Soccer' and 'Soccer' classes can be said to have a semantic relationship, but the current classifier is not processing any information related to this.
즉, 기존의 방식들은 정해진 문장 클래스별 데이터로 학습을 하고 분류하기 때문에 서로 다른 클래스의 문장 즉, 문서 내에서도 서로 다른 주제를 가진 문장들 사이에서 어떠한 의미 관계가 나타난다고 하더라도 현재의 방식으로는 그 연관된 의미 관계를 파악할 수 없다.In other words, because existing methods learn and classify data for each given sentence class, even if some semantic relationship appears between sentences of different classes, that is, sentences with different topics even within a document, the current method does not Semantic relationships cannot be understood.
이러한 문제점은 기계학습 기반 챗봇, 상담 서비스 등의 대화 서비스에 있어서, 사전 분류되지 않은 새로운 문장에 대한 클래스 구분력 저하로 이어지게 되며, 결과적으로 정상적 대화로 이어지지 않고, 서비스의 품질 저하를 가져오게 된다.This problem leads to a decrease in class distinction ability for new sentences that have not been pre-classified in conversation services such as machine learning-based chatbots and consultation services. As a result, it does not lead to normal conversations and leads to a decrease in service quality.
또한, 현재는 문장 벡터 및 분류 프로세스가 통합적으로 구성되어 있어, 문서의 도메인이 변경되더라도 분류 모델을 가변적으로 적용하기 어려운 측면이 있는 바, 분류 효율 또한 떨어지는 문제점이 있다.In addition, currently, the sentence vector and classification process are integrated, so it is difficult to variably apply the classification model even if the domain of the document changes, which also causes a problem in that classification efficiency is low.
본 발명은 상기한 바와 같은 문제점을 해결하고자 안출된 것으로, 문장 사이의 관계를 추론하여 새로운 문장의 의미를 파악해 클래스를 결정하도록 하여 최종적으로 분류기 성능 향상 및 의미관계 해석을 용이하게 하는 대화 서비스 제공을 위한 문장 의미 관계 분류 장치를 제공하는 데 그 목적이 있다.The present invention was created to solve the problems described above, and provides a conversation service that infers the relationship between sentences, determines the meaning of a new sentence, and determines the class, ultimately improving classifier performance and facilitating the interpretation of semantic relationships. The purpose is to provide a sentence semantic relationship classification device for
상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 문장 의미 관계 분류장치는, The sentence semantic relationship classification device according to an embodiment of the present invention to solve the problems described above is,
문장 간 의미 관계 모델을 이용한 데이터 처리기반 사용자 대화 서비스를 제공하기 위한 문장 의미 관계 분류 장치로서, A sentence semantic relationship classification device for providing a data processing-based user conversation service using a semantic relationship model between sentences,
학습 모델 생성 프로세스를 수행하여 생성된 학습 모델 정보를 저장해둔 학습 데이터 베이스로부터 학습 문서를 입력받고, 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하는 단어-벡터 변환부; 상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하는 문장-벡터 변환부; 및 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하고, 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하며, 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행하는 의미 관계 분류부를 포함한다.a word-vector conversion unit that receives a learning document from a learning database that stores learning model information generated by performing a learning model creation process, and performs word vector conversion processing to map words in the learning document onto a vector space; a sentence-vector conversion unit that performs sentence vector conversion processing corresponding to sentences of the learning document using the word vector; And according to the degree of relationship between the sentence vectors, perform semantic relationship classification learning between sentences, generate a sentence-based classifier whose semantic relationship has been learned according to the semantic relationship classification learning, and classify the user input document based on the generated classifier. It includes a semantic relationship classification unit that performs intent classification processing.
또한, 상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 분류방법은, In addition, the classification method according to an embodiment of the present invention to solve the problems described above is,
문장 간 의미 관계 모델을 이용한 데이터 처리기반 사용자 대화 서비스를 제공하기 위한 문장 의미 관계 분류 장치의 동작 방법에 있어서, 학습 대상인 학습 문서 데이터를 입력받는 단계; 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하는 단계; 상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하는 단계; 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하는 단계; 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하는 단계; 및 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행하는 단계를 포함한다.A method of operating a sentence semantic relationship classification device for providing a data processing-based user conversation service using a semantic relationship model between sentences, comprising: receiving learning document data that is a learning target; performing word vector conversion processing to map words of the learning document into a vector space; performing sentence vector conversion processing corresponding to sentences of the learning document using the word vector; performing semantic relationship classification learning between sentences according to the degree of relationship between the sentence vectors; generating a classifier based on sentences in which semantic relationships have been learned according to the semantic relationship classification learning; and performing intent classification processing of the user input document based on the generated classifier.
한편, 상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시 예에 따른 방법은 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램 및 상기 프로그램이 기록된 기록 매체로 구현될 수 있다.Meanwhile, the method according to an embodiment of the present invention for solving the above-described problem can be implemented with a program for executing the method on a computer and a recording medium on which the program is recorded.
본 발명의 실시 예에 따르면, 학습 문서의 단어들을 벡터 공간상에 맵핑하고, 상기 단어 벡터를 이용하여 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하며, 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하여 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성할 수 있다.According to an embodiment of the present invention, words of a learning document are mapped onto a vector space, sentence vector conversion processing corresponding to the sentences of the learning document is performed using the word vector, and the degree of relationship between the sentence vectors is determined. Accordingly, by performing semantic relationship classification learning between sentences, a classifier based on sentences in which semantic relationships are learned according to the semantic relationship classification learning can be generated.
이에 따라, 본 발명의 실시 예에 따르면 문장 사이의 관계를 추론하여 새로운 문장의 의미를 파악해 클래스를 결정할 수 있는 의미 관계가 학습된 문장 기반의 분류기를 제공할 수 있으며, 이에 따른 대화 서비스에 있어서의 의미 관계 기반 문장 분류 처리를 통해, 보다 풍부한 응답을 가능하게 하는 바, 분류기 성능 향상 및 의미관계 해석을 용이하게 하는 대화 서비스 제공을 위한 문장 의미 관계 분류장치 및 그 동작 방법을 제공할 수 있게 된다.Accordingly, according to an embodiment of the present invention, it is possible to provide a sentence-based classifier with learned semantic relationships that can determine the class by inferring the relationship between sentences to determine the meaning of a new sentence, and the resulting conversation service Through semantic relationship-based sentence classification processing, richer responses are possible, and it is possible to provide a sentence semantic relationship classification device and its operation method for providing a conversation service that improves classifier performance and facilitates semantic relationship interpretation.
또한, 본 발명은 단어 벡터화, 문장 벡터 및 분류 프로세스 각각의 개별적 분류 프로세스들을 제공함으로써, 문서의 도메인이 변경되더라도 분류 모델을 가변적으로 적용할 수 있게 됨에 따라, 시스템 응용성 및 분류 효율을 높일 수 있게 되는 장점이 있다.In addition, the present invention provides individual classification processes for word vectorization, sentence vector, and classification processes, allowing the classification model to be variably applied even if the domain of the document changes, thereby improving system applicability and classification efficiency. There is an advantage to this.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 개념도이다.
도 2는 본 발명의 실시 예에 따른 분류 장치를 보다 구체적으로 설명하기 위한 블록도이다.
도 3은 본 발명의 실시 예에 따른 분류 장치의 동작 방법을 보다 구체적으로 설명하기 위한 흐름도이다.
도 4는 본 발명의 실시 예에 따른 벡터 변환 처리를 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 실시 예에 따른 분류 프로세스 및 결과 예시도이다.
도 7은 본 발명의 실시 예에 따른 서비스 제공 프로세스를 설명하기 위한 흐름도이다.
도 8 및 도 9는 본 발명의 실시 예에 따른 컨볼루션 뉴럴 네트워크 기반 샘플링 및 트리플렛 로스 함수 적용에 따른 결과 데이터를 도시한 도면이다.1 is a conceptual diagram schematically showing the entire system according to an embodiment of the present invention.
Figure 2 is a block diagram for explaining in more detail a classification device according to an embodiment of the present invention.
Figure 3 is a flowchart to explain in more detail the operation method of the classification device according to an embodiment of the present invention.
Figure 4 is a diagram for explaining vector conversion processing according to an embodiment of the present invention.
Figures 5 and 6 are illustrations of a classification process and results according to an embodiment of the present invention.
Figure 7 is a flowchart for explaining the service provision process according to an embodiment of the present invention.
Figures 8 and 9 are diagrams showing result data resulting from application of convolutional neural network-based sampling and triplet loss function according to an embodiment of the present invention.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following merely illustrates the principles of the invention. Therefore, those skilled in the art will be able to invent various devices that embody the principles of the present invention and are included in the spirit and scope of the present invention, although not explicitly described or shown herein. In addition, it is understood that all conditional terms and embodiments listed herein are, in principle, expressly intended solely for the purpose of ensuring that the concept of the invention is understood, and are not limited to the embodiments and conditions specifically listed as such. It has to be.
또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.Additionally, it is to be understood that any detailed description reciting principles, aspects, and embodiments of the invention, as well as specific embodiments, is intended to encompass structural and functional equivalents thereof. In addition, these equivalents should be understood to include not only currently known equivalents but also equivalents developed in the future, that is, all elements invented to perform the same function regardless of structure.
따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.Accordingly, for example, the block diagrams herein should be understood as representing a conceptual view of an example circuit embodying the principles of the invention. Similarly, all flow diagrams, state transition diagrams, pseudo-code, etc. are understood to represent various processes that can be substantially represented on a computer-readable medium and are performed by a computer or processor, whether or not the computer or processor is explicitly shown. It has to be.
또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.Additionally, the clear use of terms such as processor, control, or similar concepts should not be construed as exclusively referring to hardware capable of executing software, and should not be construed as referring exclusively to hardware capable of executing software, including, without limitation, digital signal processor (DSP) hardware, and ROM for storing software. It should be understood as implicitly including ROM, RAM, and non-volatile memory. Other hardware for public administration may also be included.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. The above-described purpose, features and advantages will become clearer through the following detailed description in conjunction with the accompanying drawings, and accordingly, those skilled in the art will be able to easily implement the technical idea of the present invention. There will be. Additionally, in describing the present invention, if it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the attached drawings.
도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이다.1 is a diagram schematically showing the entire system according to an embodiment of the present invention.
도 1을 참조하면 본 발명의 일 실시 예에 따른 시스템은, 학습 장치(100), 서비스 제공 장치(200), 사용자 단말(300)을 포함할 수 있으며, 학습 장치(100)는 학습 데이터베이스(180)를 포함하거나 상기 학습 데이터베이스(180)에 연결되어 있을 수 있다.Referring to FIG. 1, a system according to an embodiment of the present invention may include a
보다 구체적으로, 학습 장치(100)는, 학습 데이터베이스(180)에서 저장된 학습 문서 데이터에 기초하여, 기계학습(machine learning)을 수행하여 문서 학습 모델을 생성할 수 있으며, 생성된 학습 모델을 이용하여, 서비스 제공 장치(200)로부터 입력되는 사용자 입력 문장에 대응한 분류 정보를 출력하거나, 이에 대응한 응답 문장을 서비스 제공 장치(200)로 제공할 수 있다.More specifically, the
특히, 본 발명의 실시 예에 따른 학습 장치(100)는, 서비스 제공 장치(200)의 대화 서비스 제공에 이용될 수 있으며, 학습 대상인 학습 문서 데이터를 입력받아, 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하고, 상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하며, 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하고, 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하며, 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행할 수 있다.In particular, the
나아가, 학습 장치(100)는, 상기 문장 벡터간 컨볼루션 뉴럴 네트워크(Convilutional Neural Network) 기반의 학습 처리를 수행하여 문장 벡터 학습 모델을 생성하고, 상기 문장 벡터 학습 모델에 대응한 문장 벡터간 트리플렛 로스(Triplet-loss) 함수를 처리하며, 상기 트리플렛 로스 함수 처리 결과에 따라, 상기 문장 벡터간 관계 정도에 기초한 문장 간 의미 관계 학습 모델을 출력할 수 있는 바, 이는 문장 사이의 관계를 추론하여 같은 분류의 문장이 서로 가까워지도록 학습하게 하는 것으로. 학습 장치(100)의 출력 레이어에는 문장 사이의 관계 추론 학습이 모두 끝난 후의 문장 사이의 관계를 표현한 문장 벡터가 포함될 수 있다.Furthermore, the
그리고, 서비스 제공 장치(200)는 이와 같이 처리된 문장 간 의미 관계 모델을 이용한 데이터 처리기반 사용자 대화 서비스를 사용자 단말(300)로 제공할 수 있다. 사용자 대화 서비스는 본 발명의 실시 예에 따른 학습 장치(100)의 동작에 의해 생성된 학습 데이터베이스(180) 및 이에 따른 문장 의미 관계 모델을 이용하여, 사용자 단말(300)의 입력 문장에 응답하는 대화 서비스를 포함할 수 있다.In addition, the service providing device 200 can provide a data processing-based user conversation service using the semantic relationship model between sentences processed in this way to the
예를 들어, 서비스 제공 장치(200)는 챗봇 서비스, 상담 서비스 등을 사용자 단말(300)로 제공할 수 있다.For example, the service providing device 200 may provide chatbot services, consultation services, etc. to the
예를 들어, 사용자의 표현 방법은 항시 달라지기 때문에 분류되지 않은 문장이 입력된다면, 응답에 대한 한계가 존재 할 수 있다. 이를 위해 딥러닝 기술이 챗봇에 활용되고 있으나, 모든 문의에 대한 응답을 처리하기에는 학습 데이터가 현저하게 적은 문제가 있으며, 기존 상담 데이터를 활용하기에는 데이터가 분류 되지 않았으며, 사람이 분류하기에는 오랜 시간이 사용되는 문제점이 있다.For example, because the user's expression method always changes, if an unclassified sentence is input, there may be limits to the response. For this purpose, deep learning technology is being used in chatbots, but there is a problem that there is significantly less learning data to process responses to all inquiries, the data is not classified to utilize existing consultation data, and it takes a long time for humans to classify it. There is a problem with its use.
따라서, 본 발명의 실시 예에 따른 학습 장치(100)는, 분류되지 않는 문장들이 입력되더라도, 문장 간 의미 관계 모델에 따라, 유사 문장들로의 효과적인 분류 처리를 수행할 수 있게 되는 장점이 있다.Therefore, the
한편, 사용자 단말(300) 및 서비스 제공 장치(200)는 네트워크를 통해 유선 또는 무선으로 연결될 수 있으며, 네트워크간 상호간 통신을 위해 각 사용자 단말(100) 및 서비스 제공 장치(300)는 인터넷 네트워크, LAN, WAN, PSTN(Public Switched Telephone Network), PSDN(Public Switched Data Network), 케이블 TV 망, WIFI, 이동 통신망 및 기타 무선 통신망 등을 통하여 데이터를 송수신할 수 있다. 또한, 각 사용자 단말(300) 및 서비스 제공 장치(200)는 각 통신망에 상응하는 프로토콜로 통신하기 위한 각각의 통신 모듈을 포함할 수 있다.Meanwhile, the
그리고, 본 명세서에서 설명되는 사용자 단말(100)에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있으나, 본 발명은 이에 한정되지 아니하며 그 이외에 사용자 입력 및 정보 표시 등이 가능한 다양한 장치일 수 있다.In addition, the
이와 같은 시스템에 있어서, 사용자 단말(300)은 서비스 제공 장치(200)와 연결되어 상술한 데이터 기반 대화 서비스를 제공받을 수 있다.In such a system, the
도 2는 본 발명의 실시 예에 따른 학습 장치를 보다 구체적으로 설명하기 위한 블록도이다.Figure 2 is a block diagram for explaining in more detail a learning device according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 실시 예에 따른 학습 장치(100)는, 입력부(110), 학습부(120), 분류장치(150) 및 학습 데이터베이스(180)를 포함할 수 있으며, 분류장치(150)는, 단어-벡터 변환부(151), 문장-벡터 변환부(152), 의미 관계 분류부(153) 및 결과 출력부(154)를 포함한다.Referring to Figure 2, the
먼저, 입력부(110)는, 학습을 위한 학습 문서를 학습 데이터베이스(180)로부터 입력받아 학습부(120)로 전달하여 학습에 이용되도록 처리하거나, 서비스 제공 장치(200)로부터 전달된 사용자 입력 문서를 분류장치(150)로 전달하여 분류 처리된 결과 데이터가 결과 출력부(154)에서 출력되도록 처리할 수 있다. 결과 출력부(154)의 결과 데이터는 다시 서비스 제공 장치(200)로 전달될 수 있다.First, the
한편, 학습부(120)는 분류장치(150)의 동작 및 입력부(110)로부터 입력된 학습 데이터에 기초한 학습 모델 생성 프로세스를 수행할 수 있다. 이와 같이 생성된 학습 모델 정보는 학습 데이터베이스(180)에 저장될 수 있다.Meanwhile, the
특히, 본 발명의 실시 예에 따른 분류장치(150)는 학습 모델 생성에 있어서, 문장 간 의미 관계 학습 모델이 생성되도록 처리함으로써, 문장의 의미 관계 분류를 가능하게 한다.In particular, the classification device 150 according to an embodiment of the present invention enables classification of semantic relationships of sentences by processing a learning model of semantic relationships between sentences in generating a learning model.
이를 위해, 분류장치(150)는 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하는 단어-벡터 변환부(151)와, 상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하는 문장-벡터 변환부(152)와, 상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하고, 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하며, 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행하는 의미 관계 분류부(153)를 포함할 수 있다.For this purpose, the classification device 150 includes a word-vector conversion unit 151 that performs word vector conversion processing to map words of the learning document onto a vector space, and sentences of the learning document using the word vector. a sentence-
그리고, 결과 출력부(154)는 상기 분류 처리 결과를 출력하기 위한 하나 이상의 출력 모듈로 구성될 수 있다.Additionally, the result output unit 154 may be composed of one or more output modules for outputting the classification processing results.
보다 구체적으로, 의미 관계 분류부(153)는, 상기 문장 벡터간 컨볼루션 뉴럴 네트워크(Convilutional Neural Network, CNN) 기반의 학습 처리를 수행하여 문장 벡터 학습 모델을 생성하고, 상기 문장 벡터 학습 모델에 대응한 문장 벡터간 트리플렛 로스(Triplet-loss) 함수를 처리하며, 상기 트리플렛 로스 함수 처리 결과에 따라, 상기 문장 벡터간 관계 정도에 기초한 문장 간 의미 관계 학습 모델을 생성한다.More specifically, the semantic relationship classification unit 153 performs learning processing based on a convolutional neural network (CNN) between the sentence vectors to generate a sentence vector learning model and corresponds to the sentence vector learning model. A triplet-loss function between one sentence vector is processed, and according to the result of the triplet-loss function processing, a semantic relationship learning model between sentences is generated based on the degree of relationship between the sentence vectors.
여기서, 문장-벡터 변환부(152)는, 단어-벡터 변환부(151)에서 학습 문서의 단어들에 대응하는 단어 벡터 변환 값들이 산출되면, 상기 단어 벡터를 이용한 문장 벡터 변환 처리에 따라 상기 단어 벡터로 표현되는 문장 벡터들을 생성할 수 있다. 이와 같이 단어 벡터들로 표현된 문장 벡터들은 상기 컨볼루션 뉴럴 네트워크의 입력 데이터로서 사용될 수 있다.Here, when the word-vector conversion unit 151 calculates word vector conversion values corresponding to words in the learning document, the sentence-
여기서, 단어 인식 수용력 증대를 위하여, 학습 문서는 미리 결정된 정보 사이트, 예를 들어 위키피디아 사이트 등으로부터 수집된 문서로 사전 결정될 수 있다. 이러한 문서들로부터 다양한 어휘가 수용될 수 있으며, 다양한 어휘의 단어 벡터들로 표현된 문장들 간의 의미 관계 정보가 효과적으로 분류될 수 있다.Here, in order to increase word recognition capacity, the learning document may be predetermined as a document collected from a predetermined information site, such as Wikipedia. Various vocabularies can be accepted from these documents, and semantic relationship information between sentences expressed by word vectors of various vocabularies can be effectively classified.
한편, 의미 관계 분류부(153)는 컨볼루션 뉴럴 네트워크의 필터 사이즈의 크기를 조절함에 따라, 문장 내에서 원하는 범위를 획득할 수 있고, 따라서 서로 다른 사이즈의 필터들을 이용해서 레이어를 적층함에 따라 문장 내에서도 여러 범위의 단어부터 구절, 문장까지 점진적인 문장 분류를 처리할 수 있다.Meanwhile, the semantic relationship classification unit 153 can obtain a desired range within a sentence by adjusting the size of the filter size of the convolutional neural network, and thus can stack layers using filters of different sizes to create a sentence It can also process progressive sentence classification from a wide range of words to phrases and sentences.
그리고, 의미 관계 분류부(153)는 트리플렛 로스(Triplet-loss) 함수 적용을 위해, 상기 컨볼루션 뉴럴 네트워크 학습에 따라 1차 분류된 분류 클래스에 따른 앵커(Anchor) 데이터에 기초하여, 문장 벡터들이 같은 클래스인 긍정(Positive) 데이터와, 다른 클래스인 부정(Negative) 데이터로 분류되도록 한다.In order to apply the triplet-loss function, the semantic relationship classification unit 153 generates sentence vectors based on anchor data according to the classification class first classified according to the convolutional neural network learning. It is classified into positive data, which is the same class, and negative data, which is a different class.
그리고, 의미 관계 분류부(153)는 앵커 데이터와 같은 클래스인 긍정 데이터들이 상기 앵커 데이터와의 유클리드 거리가 더 가까이 위치하도록 하고, 다른 클래스인 부정 데이터와의 거리는 더 멀리 위치하도록 조절함에 따라, 군집 데이터간 균형있는 분류 처리할 수 있다. 이와 같은 트리플렛 로스 함수는 데이터 군집간 분류를 용이하게 하는 손실함수일 수 있다.In addition, the semantic relationship classification unit 153 adjusts the Euclidean distance of the positive data, which is the same class as the anchor data, to be located closer to the anchor data, and the distance to the negative data, which is a different class, to be located further away, resulting in clustering. Balanced classification of data can be processed. This triplet loss function may be a loss function that facilitates classification between data clusters.
이에 따라, 본 발명의 실시 예에 따른 의미 관계 분류부(153)는, 상기 문장 벡터들에 대응한 주제 분류에 따라, 각 분류 클래스별 앵커, 긍정 및 부정 데이터를 샘플링하고, 상기 각 샘플링 데이터간 유클리디안 거리 값이 일정 범위 이내가 될 때까지 샘플링 데이터간 손실(loss) 값을 가변할 수 있으며, 상기 손실 값 가변을 위하여, 상기 문장 벡터 학습 모델에 대응한 신경망 가중치 값을 조절을 처리할 수 있다.Accordingly, the semantic relationship classification unit 153 according to an embodiment of the present invention samples anchor, positive and negative data for each classification class according to the subject classification corresponding to the sentence vectors, and samples the anchor, positive and negative data for each classification class, and The loss value between sampling data can be varied until the Euclidean distance value is within a certain range, and in order to vary the loss value, the neural network weight value corresponding to the sentence vector learning model can be adjusted. You can.
그리고, 의미 관계 분류부(153)는 상기 샘플링 데이터간 유클리디안 거리 값이 일정 범위 이내인 경우, 현재 조절된 가중치 값에 따른 문장 벡터 학습 모델을 문장 간 의미 관계 학습 모델로 출력할 수 있다.In addition, if the Euclidean distance value between the sampling data is within a certain range, the semantic relationship classification unit 153 may output a sentence vector learning model according to the currently adjusted weight value as a semantic relationship learning model between sentences.
또한, 의미 관계 분류부(153)는 상기 문장 간 의미 관계 학습 모델을 이용한 문장 의도 분류기를 생성할 수 있으며, 상기 사용자 입력 문서가 사전 설정된 분류 기준에 포함되어 있는 경우, 상기 분류 기준에 대응하는 분류 처리를 수행하고, 상기 사용자 입력 문서가 사전 설정된 분류 기준에 포함되어 있지 않은 경우, 상기 문장 간 의미 관계 학습 모델을 이용한 문장 의도 분류기에 기초하여, 상기 사용자 입력 문서와 유사 의도를 갖는 유사 문장을 색인할 수 있다.In addition, the semantic relationship classification unit 153 may generate a sentence intention classifier using the semantic relationship learning model between sentences, and if the user input document is included in a preset classification standard, classification corresponding to the classification standard. Perform processing, and if the user input document is not included in the preset classification criteria, similar sentences with similar intent as the user input document are indexed based on a sentence intent classifier using a semantic relationship learning model between sentences. can do.
결과 출력부(154)는 상기 색인된 유사 문장에 대응하는 분류 정보를 출력할 수 있는 바, 분류 기준에 없는 문장이라 하더라도 유사 문장이 사용자에게 제공되도록 처리할 수 있다.The result output unit 154 can output classification information corresponding to the indexed similar sentences, and can process the similar sentences so that they are provided to the user even if they are sentences that are not in the classification criteria.
도 3은 본 발명의 실시 예에 따른 학습 장치의 동작 방법을 보다 구체적으로 설명하기 위한 흐름도이다.Figure 3 is a flowchart to explain in more detail the operation method of the learning device according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시 예에 따른 학습 장치(100)는, 먼저 입력부(110)를 통해 학습 문서가 입력되면(S101), 학습 문서의 단어들에 대응하는 단어 벡터 변환 처리를 수행한다(S109).Referring to FIG. 3, when a learning document is first input through the input unit 110 (S101), the
그리고, 학습 장치(100)는, 학습 문서에서, 단어 벡터를 이용한 문장 벡터 변환을 처리한다(S111).Then, the
이후, 학습 장치(100)는, 문장 벡터 임베딩에 따른 문장 간 의미 관계 분류 학습 처리를 수행하고(S113), 의미 관계가 학습된 문장들을 이용한 분류기를 생성한다(S115).Afterwards, the
이후, 학습 장치(100)는 분류기를 이용한 사용자 입력 문서의 의도 분류 처리를 수행한다(S117).Afterwards, the
도 4는 본 발명의 실시 예에 따른 벡터 변환 처리를 설명하기 위한 도면이다.Figure 4 is a diagram for explaining vector conversion processing according to an embodiment of the present invention.
도 4를 참조하면, 기존 분류기준 기반 챗봇에 사용되는 데이터가 학습 문서 데이터로 입력될 수 있으며, 학습 문서는 사용자가 입력할 수 있는 예상 시나리오에 맞게 작성된 문장 30건이 예시될 수 있다. 학습 문서는 도 4에 도시된 바와 같이, 레이블과 콘텐트로 구분 저장 되어, 학습부(120)의 의미 관계 분류부(153) 기반 단어 벡터화 프로세스의 입력 값으로 사용될 수 있다.Referring to FIG. 4, data used in an existing classification criteria-based chatbot can be input as learning document data, and the learning document can be an example of 30 sentences written to fit the expected scenario that the user can input. As shown in FIG. 4, the learning document is stored separately into label and content and can be used as an input value for the word vectorization process based on the semantic relationship classification unit 153 of the
벡터화 프로세스에 따라, 단어-벡터 변환부(151)는, 각 문장의 단어들을 단어 벡터화 하여 벡터 공간상에 맵핑하게 되며, 문장-벡터 변환부(152)는 단어 벡터 데이터를 이용한 문장 벡터 데이터를 획득할 수 있다.According to the vectorization process, the word-vector conversion unit 151 converts the words of each sentence into word vectors and maps them on the vector space, and the sentence-
이후, 의미 관계 분류부(153)는 상기 단어 벡터로 표현된 문장 벡터를 샘플링 모듈의 입력 값으로 입력할 수 있으며, 샘플링된 벡터 데이터를 이용하여, 전술한 컨볼루션 뉴럴 네트워크 생성 및 트리플렛 로스 함수 적용을 통해 문장 간 의미 관계를 나타내도록 처리할 수 있다.Afterwards, the semantic relationship classification unit 153 may input the sentence vector expressed as the word vector as an input value of the sampling module, and use the sampled vector data to generate the above-described convolutional neural network and apply the triplet loss function. It can be processed to indicate semantic relationships between sentences.
예를 들어, 도 4에 도시된 바와 같이, 샘플링에 의해 군집화된 임베딩 벡터 데이터가 생성될 수 있으며, 상기와 같이 군집화 된 벡터 공간상의 데이터는 의미 관계 분류부(153)의 함수 처리를 위한 임베딩 벡터 데이터 입력값으로 사용될 수 있고, 의미 관계 분류부(153)는 상기 군집화 된 문장들을 이용하여 각 문장들의 관계를 학습함으로써, 문장 간 의미 관계 학습 모델을 생성할 수 있다.For example, as shown in FIG. 4, clustered embedding vector data can be generated by sampling, and the data in the vector space clustered as above is an embedding vector for function processing of the semantic relationship classification unit 153. It can be used as a data input value, and the semantic relationship classification unit 153 can create a semantic relationship learning model between sentences by learning the relationship between each sentence using the clustered sentences.
도 5 및 도 6은 본 발명의 실시 예에 따른 분류 프로세스 및 결과 예시도이다.Figures 5 and 6 are illustrations of a classification process and results according to an embodiment of the present invention.
도 5에 도시된 바와 같이, 문장 간 의미 관계 학습 모델에 따른 분류기(153)가 생성되면, 분류장치(150)는 전술한 바와 같이, 단어-벡터 변환부(151)와, 문장-벡터 변환부(152)와, 분류기(153)에 기초한 대화 서비스를 제공할 수 있다.As shown in FIG. 5, when the classifier 153 is created according to the semantic relationship learning model between sentences, the classification device 150 includes a word-vector conversion unit 151 and a sentence-vector conversion unit, as described above. A conversation service based on (152) and classifier (153) can be provided.
특히, 본 발명의 실시 예에 따른 단어-벡터 변환부(151)와 문장-벡터 변환부(152) 및 분류기(153)는 각각 독립적으로 생성될 수 있는 바, 향후의 기술 발전 및 도메인 변경이 이루어지더라도 분류 모델을 변경하기 용이하게 구성될 수 있으며, 독립적으로 다른 프로세스와 연결될 수 있도록 처리할 수 있다. 따라서, 본 발명의 실시 예에 따른 분류 프로세스는 별도 서비스 프로세스들과도 용이하게 결합하여 구성될 수 있다.In particular, the word-vector conversion unit 151, the sentence-
입력 데이터로 사용되는 샘플 데이터는 사용자가 챗봇 상에서 입력하는 데이터일 수 있으며, 실제 학습 되지 않아 기존 분류에 정의되어 있지 않은 문장일 수 있다. 통상적으로 도 6 상단에 개시된 바와 같이 기존 분류 방식의 경우, 문장 의도가 파악되지 못할 수 있다.Sample data used as input data may be data that the user inputs on the chatbot, or may be sentences that have not been actually learned and thus are not defined in the existing classification. Typically, in the case of existing classification methods, as shown at the top of Figure 6, the intent of the sentence may not be identified.
이에 반해, 도 5를 참조하면, 학습 되지 않은 샘플 데이터가 입력되더라도, 분류장치(150)는 어떠한 문장과 의미 관계를 가지는지 확인할 수 있는 바, 각 단어 및 문장에 대응하는 분류 결과는, 예측 값이 가장 높은 10번 레이블을 가지고 있는 문장과 벡터 공간 상 가장 가까움을 나타낼 수 있다.On the other hand, referring to FIG. 5, even if unlearned sample data is input, the classification device 150 can determine which sentence it has a semantic relationship with, and the classification result corresponding to each word and sentence is a predicted value. This can indicate that it is closest in vector space to the sentence with the
이에 따라, 분류장치(150)는 결과 출력부(154)를 통해, 예측 값이 가장 높은 10번 레이블을 가지고 있는 문장들을 출력하게 할 수 있는 바, 이는 도 6 하단에 도시된 바와 같이, 의미가 연관된 다양하고 풍부한 답변이 이루어질 수 있도록 한다.Accordingly, the classification device 150 can output sentences with
도 7은 본 발명의 실시 예에 따른 서비스 제공 프로세스를 설명하기 위한 흐름도이다.Figure 7 is a flowchart for explaining the service provision process according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 실시 예에 따른 학습 장치(100)는 기존 룰(기존 규칙) 기반의 문장 학습 처리를 수행하되(S201), 입력부(110)를 통해 사용자 정의 문장이 입력되면(S203), 상기 룰 기반의 문장인지를 판단한다(S205).Referring to FIG. 7, the
먼저, 룰 기반의 문장인 경우 학습 장치(100)는 룰 기반 응답 내용을 출력하도록 서비스 제공 장치(200)로 응답할 수 있다(S207).First, in the case of a rule-based sentence, the
그러나, 룰 기반 문장이 아닌 경우, 학습 장치(100)는 분류장치(150)로 전달하여, 문장 의미 관계 추론을 통한 유사 문장이 추론되도록 처리할 수 있으며(S209), 추론된 유사 문장에 대응하는 응답 내용이 출력되도록 서비스 제공 장치(200)로 응답할 수 있다(S211).However, if the sentence is not a rule-based sentence, the
이와 같이, 기존 룰 기반 챗봇 서비스는 작성된 시나리오에 따른 사용자 문의만 대응할 수 있도록 되어 있어, 저장 되지 않은 문장이 들어오는 경우 챗봇 서비스에서 알아 듣지 못하는 문제가 있으나,As such, the existing rule-based chatbot service can only respond to user inquiries based on written scenarios, so there is a problem that the chatbot service cannot understand when unsaved sentences are received.
본 발명의 실시 예에 따른 문장 의미 관계 분류가 가능한 학습 장치(100)를 이용하는 경우, 학습 또는 분류 저장 되지 않은 문장이 들어 오더라도 학습된 문장 의미 관계 분류기를 통해 어떠한 문장과 의미 관계가 유사한지 판단하여 해당 내용에 맞게 응답 할 수 있게 된다.When using the
도 8 및 도 9는 본 발명의 실시 예에 따른 컨볼루션 뉴럴 네트워크 기반 샘플링 및 트리플렛 로스 함수 적용에 따른 결과 데이터를 도시한 도면이다.Figures 8 and 9 are diagrams showing result data resulting from application of convolutional neural network-based sampling and triplet loss function according to an embodiment of the present invention.
먼저 도 8을 참조하면, 도 8은 컨볼루션 뉴럴 네트워크를 학습하기 위해 각 Anchor, Negative, Positive 데이터를 샘플링 하는 과정의 예시를 설명하기 위한 도면이다.First, referring to FIG. 8, FIG. 8 is a diagram illustrating an example of the process of sampling anchor, negative, and positive data to learn a convolutional neural network.
먼저, 하기 수학식 1을 참고하면, 트리플렛 로스 함수 적용을 위한 컨볼루션 뉴럴 네트워크 변수는 아래와 같이 설정될 수 있다.First, referring to
여기서, C를 데이터에 존재하는 모든 클래스의 집합이라고 할 때, Positive 데이터 개수를 표현한P는 C에 포함된 임의의 클래스의 데이터 집합 사이즈를 나타낼 수 있다. 또한 Anchor 역시 P와 같은 클래스이므로 P와 같이 C가 가진 클래스 중 하나를 나타낼 수 있다. Negative 의 데이터 개수를 표현한 N은 C에 속한 클래스중 P와 다른 클래스이면서 P보다는 데이터 집합 수가 적은 클래스의 데이터 수를 나타낼 수 있다.Here, when C is a set of all classes existing in the data, P, which represents the number of positive data, can represent the data set size of any class included in C. Additionally, since Anchor is also the same class as P, it can represent one of the classes that C has like P. N, which represents the number of negative data, can represent the number of data of a class belonging to C that is different from P and has a smaller number of data sets than P.
그리고, 본 발명의 실시 예에 따른 트리플렛 로스 함수는 Positive, Anchor 의 데이터 샘플의 수를 N만큼 즉, Negative 와 똑같이 맞춤으로써, 분류기를 구현하고자 하는 것이다.In addition, the triplet loss function according to an embodiment of the present invention seeks to implement a classifier by setting the number of data samples of Positive and Anchor to N, that is, equal to Negative.
예를 들어, 도 8을 참조하면, 도면에서 class 는 같은 주제를 가지고 있는 문장들의 분류를 나타ㅐㄹ 수 있다. 각 S는 워드 임베딩의 벡터로 문장을 표현한 것이고 번호는 문장의 식별번호를 나타낸다. 도 8에 도시된 바와 같이 데이터에 총 3개의 클래스가 존재하고 class A 는 문장이 총 100개, class B 는 문장이 총 120개, class C 는 문장이 총 30개 있을 수 있다.For example, referring to Figure 8, in the figure, class may represent a classification of sentences having the same topic. Each S represents a sentence as a vector of word embedding, and the number represents the identification number of the sentence. As shown in Figure 8, there are a total of three classes in the data, class A may have a total of 100 sentences, class B may have a total of 120 sentences, and class C may have a total of 30 sentences.
여기서 특정 문장 분류에 대응하는 Positive 문장 집합이 class A 에 포함된 문장인 경우, Negative 문장 집합은 class A 가 아닌 나머지 클래스인 class B 또는 class C 중에 Class A 가 가진 데이터 수보다 더 적은 데이터를 가지고 있는 클래스인 Class C 의 문장을 포함할 수 있다.Here, if the positive sentence set corresponding to a specific sentence classification is a sentence included in class A, the negative sentence set is one of the remaining classes other than class A, class B or class C, which has less data than class A. It can contain sentences of Class C, a class.
이에 따라, Negative, Positive 집합의 데이터 수에 차이가 존재하게 되며, Anchor 와의 거리가 계산될 수 있고, 정확한 분류를 위해, 거리에 따른 균형이 맞춰질 수 있다. 거리 계산을 위한 샘플 데이터의 수를 정하는 기준은 클래스 중 문장의 수가 가장 적은 클래스를 기준으로 할 수 있으며, 따라서 class C 의 데이터 개수인 30 이 샘플 데이터 수의 기준이 될 수 있다.Accordingly, there is a difference in the number of data in the negative and positive sets, the distance from the anchor can be calculated, and for accurate classification, the balance according to the distance can be adjusted. The standard for determining the number of sample data for distance calculation can be based on the class with the smallest number of sentences among the classes, and therefore 30, the number of data for class C, can be the standard for the number of sample data.
이에 따라, 의미 관계 분류부(153)는 상기 문장들의 관계를 학습하는 문장 임베딩을 위해, 상기 트리플렛 로스 함수를 샘플 데이터에 적용할 수 있으며 거리 계산 및 조절에 따라, 각 문장들의 의미 관계를 학습하여 추론하는 학습 모델이 생성되도록 처리 할 수 있다. 아래 수학식 2는 트리플렛 로스 함수 적용식을 나타낸다.Accordingly, the semantic relationship classification unit 153 can apply the triplet loss function to sample data for sentence embedding to learn the relationship between the sentences, and learn the semantic relationship of each sentence according to distance calculation and adjustment. It can be processed to create an inference learning model.
상기 수학식 2에서, f 는 임베딩 함수, a 는 achor, p 는 positive, n 은 negative 이다. 따라서 는 anchor 의 임베딩 값, 는 positive 의 임베딩 값, 는 negative 의 임베딩 값이라고 할 수 있다. In
그리고, 의미 관계 분류부(153)는, 유클리디안 거리를 이용해서 anchor 와 positive 의 거리, anchor 와 negative 거리의 차가 이 만족하도록 anchor 와 positive 사이의 거리는 작아지게 하고 negative 사이의 거리는 커지게 조절할 수 있다. 는 와 가 0 이 되지 않게 하기 위한 즉 두 개의 값이 너무 가깝지 않게 하는 margin 을 조절하는 하이퍼파라미터이다.And, the semantic relationship classification unit 153 uses the Euclidean distance to determine the difference between the distance between the anchor and the positive and the distance between the anchor and the negative. To satisfy this, the distance between the anchor and the positive can be adjusted to be small and the distance between the negative can be adjusted to be large. Is and It is a hyperparameter that controls the margin to prevent 0 from becoming 0, that is, to prevent two values from being too close.
도 9는 트리플렛 로스 함수 적용을 위한 샘플링 과정 이후, CNN(Convolutional Neural Network) 및 트리플렛 로스 함수에 따라 일정 범위 내의 loss 를 조절하는 과정까지의 입력 데이터 및 결과 데이터의 사이즈 변화를 나타낸 것이다.Figure 9 shows changes in the size of input data and result data from the sampling process for applying the triplet loss function to the process of adjusting loss within a certain range according to the CNN (Convolutional Neural Network) and triplet loss function.
이와 같이, 의미 관계 분류부(153)는 트리플렛 로스를 이용한 손실 함수를 이용하여 같은 클래스인 Anchor, Positive 의 데이터의 loss 는 작게 만들어서 거리를 더 가깝게 하고, 다른 클래스인 Anchor 와 Negative 사이의 loss 를 크게 만들도록 컨볼루션 신경망의 weight 를 조정할 수 있다. 이에 따라, 의미 관계 분류부(153)는 여러 클래스에 대한 문장 의미 관계가 학습된 벡터 모델 분류기를 생성할 수 있게 된다.In this way, the semantic relationship classification unit 153 uses a loss function using triplet loss to reduce the loss of data of the same class, Anchor and Positive, to make the distance closer, and to increase the loss between Anchor and Negative, which are different classes. You can adjust the weight of the convolutional neural network to create Accordingly, the semantic relationship classification unit 153 can generate a vector model classifier in which sentence semantic relationships for several classes are learned.
한편, 상술한 본 발명의 다양한 실시 예들에 따른 방법은 프로그램으로 구현되어 다양한 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 각 서버 또는 기기들에 제공될 수 있다. 이에 따라, 사용자 단말(100)은 서버 또는 기기에 접속하여, 상기 프로그램을 다운로드할 수 있다.Meanwhile, the methods according to various embodiments of the present invention described above may be implemented as a program and stored in various non-transitory computer readable media and provided to each server or device. Accordingly, the
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.A non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories. Specifically, the various applications or programs described above may be stored and provided on non-transitory readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the invention pertains without departing from the gist of the present invention as claimed in the claims. Of course, various modifications can be made by those skilled in the art, and these modifications should not be understood individually from the technical idea or perspective of the present invention.
Claims (7)
학습 모델 생성 프로세스를 수행하여 생성된 학습 모델 정보를 저장해둔 학습 데이터 베이스;
상기 학습 데이터 베이스로부터 학습 문서를 입력받고, 상기 학습 문서의 단어들을 벡터 공간상에 맵핑하는 단어 벡터 변환 처리를 수행하는 단어-벡터 변환부;
상기 단어 벡터를 이용하여, 상기 학습 문서의 문장들에 대응하는 문장 벡터 변환 처리를 수행하는 문장-벡터 변환부; 및
상기 문장 벡터간 관계 정도에 따라, 문장 간 의미 관계 분류 학습을 수행하고, 상기 의미 관계 분류 학습에 따라 의미 관계가 학습된 문장 기반의 분류기를 생성하며, 상기 생성된 분류기에 기초한 사용자 입력 문서의 의도 분류 처리를 수행하는 의미 관계 분류부를 포함하고,
상기 의미 관계 분류부는,
상기 문장 벡터들에 대응한 주제 분류에 따라, 각 분류 클래스별 앵커, 긍정 및 부정 데이터를 샘플링하고, 각 샘플링 데이터간 유클리디안 거리 값이 일정 범위 이내가 될 때까지 샘플링 데이터간 손실(loss) 값을 가변하기 위하여 문장 벡터 학습 모델에 대응한 신경망 가중치 값을 조절하고,
상기 샘플링 데이터간 유클리디안 거리 값이 일정 범위 이내인 경우, 현재 조절된 가중치 값에 따른 문장 벡터 학습 모델을 문장 간 의미 관계 학습 모델로 출력하고,
상기 사용자 입력 문서가 사전 설정된 분류 기준에 포함되어 있는 경우, 상기 분류 기준에 대응하는 분류 처리를 수행하고, 상기 사용자 입력 문서가 사전 설정된 분류 기준에 포함되어 있지 않은 경우, 상기 문장 간 의미 관계 학습 모델을 이용한 문장 의도 분류기에 기초하여, 상기 사용자 입력 문서와 유사 의도를 갖는 유사 문장을 색인하고,
상기 의미 관계 분류부는,
상기 문장 벡터들에 대응한 주제 분류에 따른 복수의 분류 클래스들 중에서 상기 앵커 데이터 및 상기 긍정 데이터가 속하는 제1 클래스를 제외한 나머지 클래스들 중 제2 클래스를 결정하고,
상기 제2 클래스는 상기 제1 클래스를 제외한 나머지 클래스들 중에서 샘플링 데이터의 개수가 가장 적은 클래스로 선택되며,
손실 계산을 위한 샘플링 데이터의 개수는 상기 제1 클래스 및 상기 제2 클래스가 동일하게 되도록 상기 제1 클래스 및 상기 제2 클래스 중 샘플링 데이터의 개수가 더 적은 클래스를 기준으로 설정되는
대화 서비스를 제공하기 위한 문장 의미 관계 분류 장치.A sentence semantic relationship classification device for receiving user voice as a user input document through an input unit and providing a user conversation service based on data processing using a semantic relationship model between sentences,
A learning database that stores learning model information created by performing a learning model creation process;
a word-vector conversion unit that receives a learning document from the learning database and performs a word vector conversion process to map words of the learning document into a vector space;
a sentence-vector conversion unit that performs sentence vector conversion processing corresponding to sentences of the learning document using the word vector; and
According to the degree of relationship between the sentence vectors, semantic relationship classification learning between sentences is performed, a classifier based on sentences with learned semantic relationships is generated according to the semantic relationship classification learning, and the intention of the user input document based on the generated classifier. It includes a semantic relationship classification unit that performs classification processing,
The semantic relationship classification unit,
According to the topic classification corresponding to the sentence vectors, anchor, positive and negative data for each classification class are sampled, and loss between sampled data is applied until the Euclidean distance value between each sampled data is within a certain range. To change the value, adjust the neural network weight value corresponding to the sentence vector learning model,
If the Euclidean distance value between the sampling data is within a certain range, output a sentence vector learning model according to the currently adjusted weight value as a semantic relationship learning model between sentences,
If the user input document is included in the preset classification criteria, classification processing corresponding to the classification criteria is performed, and if the user input document is not included in the preset classification criteria, a semantic relationship learning model between the sentences is performed. Based on a sentence intent classifier using, similar sentences with similar intent as the user input document are indexed,
The semantic relationship classification unit,
Determining a second class among the remaining classes excluding the first class to which the anchor data and the positive data belong among a plurality of classification classes according to subject classification corresponding to the sentence vectors,
The second class is selected as the class with the smallest number of sampling data among the remaining classes excluding the first class,
The number of sampling data for loss calculation is set based on the class with a smaller number of sampling data among the first class and the second class so that the first class and the second class are the same.
Sentence semantic relationship classification device for providing conversation services.
상기 의미 관계 분류부는,
상기 문장 벡터간 컨볼루션 뉴럴 네트워크(Convilutional Neural Network) 기반의 학습 처리를 수행하여 문장 벡터 학습 모델을 생성하고, 상기 문장 벡터 학습 모델에 대응한 문장 벡터간 트리플렛 로스(Triplet-loss) 함수를 처리하며, 상기 트리플렛 로스 함수 처리 결과에 따라, 상기 문장 벡터간 관계 정도에 기초한 문장 간 의미 관계 학습 모델을 생성하는
대화 서비스 제공을 위한 문장 의미 관계 분류 장치.According to paragraph 1,
The semantic relationship classification unit,
Create a sentence vector learning model by performing learning processing based on a convolutional neural network between the sentence vectors, and process a triplet-loss function between the sentence vectors corresponding to the sentence vector learning model. , according to the results of the triplet loss function processing, to generate a learning model of semantic relationships between sentences based on the degree of relationship between the sentence vectors.
Sentence semantic relationship classification device for providing conversation services.
상기 의미 관계 분류부는
상기 색인된 유사 문장에 대응하는 분류 정보를 출력하는 결과 출력부를 더 포함하는
대화 서비스 제공을 위한 문장 의미 관계 분류 장치.According to paragraph 1,
The semantic relationship classification unit
Further comprising a result output unit that outputs classification information corresponding to the indexed similar sentences.
Sentence semantic relationship classification device for providing conversation services.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190015871A KR102376570B1 (en) | 2019-02-12 | 2019-02-12 | A device for classifying the semantic relationship of sentences using artificial intelligence technology |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190015871A KR102376570B1 (en) | 2019-02-12 | 2019-02-12 | A device for classifying the semantic relationship of sentences using artificial intelligence technology |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200103154A KR20200103154A (en) | 2020-09-02 |
KR102376570B1 true KR102376570B1 (en) | 2022-03-22 |
Family
ID=72449891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190015871A KR102376570B1 (en) | 2019-02-12 | 2019-02-12 | A device for classifying the semantic relationship of sentences using artificial intelligence technology |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102376570B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307170A (en) * | 2020-10-29 | 2021-02-02 | 首都师范大学 | Relation extraction model training method, relation extraction method, device and medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496500B2 (en) | 2004-03-01 | 2009-02-24 | Microsoft Corporation | Systems and methods that determine intent of data and respond to the data based on the intent |
KR101100830B1 (en) * | 2009-10-27 | 2012-01-02 | 주식회사 버즈니 | Entity searching and opinion mining system of hybrid-based using internet and method thereof |
-
2019
- 2019-02-12 KR KR1020190015871A patent/KR102376570B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
Jinfeng Rao et al., "Noise-Contrasive Estimation for Answer Selection with Deep Neural Networks," Proceedings of the 25th ACM International on Conference on Information and Knowledge Management (2016.10.28.)* |
Also Published As
Publication number | Publication date |
---|---|
KR20200103154A (en) | 2020-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20200103165A (en) | A program of classificating semantic relations between sentences for providing conversation services | |
KR102375873B1 (en) | A device for learning the semantic relationship of a sentence using an artificial neural network | |
US11928985B2 (en) | Content pre-personalization using biometric data | |
KR102225858B1 (en) | An apparatus of learning semantic relations between sentences for providing conversation services | |
KR20200098394A (en) | An apparatus and a method of learning semantic relations between sentences for providing conversation services | |
KR102376570B1 (en) | A device for classifying the semantic relationship of sentences using artificial intelligence technology | |
CN112673641B (en) | Inline response to video or voice messages | |
KR20200103156A (en) | A program of learning semantic relations between sentences for providing conversation services | |
KR102375874B1 (en) | A chat service system based on semantic relationships inferred sentence using artificial intelligence technology | |
KR102375876B1 (en) | A method for learning the semantic relationship of sentences using artificial intelligence technology | |
CN114756677A (en) | Sample generation method, training method of text classification model and text classification method | |
KR102376577B1 (en) | A method of classificating semantic relations between sentences for providing conversation services using deep learning technology | |
KR20200103159A (en) | A program of learning semantic relations between sentences for providing conversation services | |
KR20200103157A (en) | Recording midium | |
KR102375875B1 (en) | A method of operating an apparatus for learning the semantic relationship of a sentence using a model generated by adjusting the neural network weight value | |
KR102402744B1 (en) | A chat service method based on semantic relationships inferred sentence | |
KR20200103160A (en) | Recording midium | |
KR102410239B1 (en) | A recording medium recording a document learning program using a variable classifier | |
KR20200103163A (en) | A recording midium of chat service program based on semantic relationships inferred sentence | |
KR20200103162A (en) | A chat service program based on semantic relationships inferred sentence | |
KR20200103166A (en) | Recording midium | |
KR102410237B1 (en) | A method for providing an efficient learning process using a variable classifier | |
KR102375877B1 (en) | A device for efficiently learning documents based on big data and deep learning technology | |
CN113902455A (en) | Customer service providing method and device | |
US20190207889A1 (en) | Filtering graphic content in a message to determine whether to render the graphic content or a descriptive classification of the graphic content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |