KR20190115319A - Mobile apparatus and method for classifying a sentence into a plurality of classes - Google Patents
Mobile apparatus and method for classifying a sentence into a plurality of classes Download PDFInfo
- Publication number
- KR20190115319A KR20190115319A KR1020180038217A KR20180038217A KR20190115319A KR 20190115319 A KR20190115319 A KR 20190115319A KR 1020180038217 A KR1020180038217 A KR 1020180038217A KR 20180038217 A KR20180038217 A KR 20180038217A KR 20190115319 A KR20190115319 A KR 20190115319A
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- classes
- natural language
- language processing
- classifying
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003058 natural language processing Methods 0.000 claims abstract description 49
- 230000006870 function Effects 0.000 claims abstract description 47
- 238000013145 classification model Methods 0.000 claims abstract description 30
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 19
- 230000004913 activation Effects 0.000 claims abstract description 18
- 239000000284 extract Substances 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 15
- 241000270295 Serpentes Species 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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
- G06F16/353—Clustering; Classification into predefined classes
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/157—Transformation using dictionaries or tables
-
- 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
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법에 관한 것이다.A mobile device and method for classifying a sentence into a plurality of classes.
스마트폰과 같은 모바일 장치의 보급이 보편화됨에 따라, 모바일 장치에서 사용자의 편의성을 증대시킬 수 있는 방법들에 대한 관심이 고조되고 있다. As the spread of mobile devices such as smart phones is becoming more common, there is a growing interest in methods that can increase user convenience in mobile devices.
입력된 문장에 대한 클래스 분류의 정확도를 높이고, 분류된 클래스 각각의 스코어에 변별력을 줄 수 있는, 문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법을 제공하는 것이다.The present invention provides a mobile device and a method for classifying a sentence into a plurality of classes, which improves the accuracy of class classification of an input sentence and distinguishes a score of each classified class.
제 1 측면에 따른 문장을 복수의 클래스들로 분류하는 방법은, 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행하는 단계; 상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는 단계; 워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하는 단계; 상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하는 단계; 및 상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 단계;를 포함할 수 있다.A method of classifying a sentence according to a first aspect into a plurality of classes includes: performing natural language processing on the first sentence; Extracting a key word having an importance equal to or greater than a predetermined criterion from the first sentence in which the natural language processing is performed; Detecting similar words corresponding to the extracted key words using a word embedding model; Generating a second sentence by merging the detected similar words with the first sentence on which the natural language processing is performed; And classifying the generated second sentence into a plurality of classes using a convolutional neural network-based text classification model using a sigmoid function as an activation function of an output layer.
제 2 측면에 따른 문장을 복수의 클래스들로 분류하는 모바일 장치는, 사용자 인터페이스 장치; 컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및 상기 컴퓨터 실행가능 명령어를 실행함으로써, 상기 사용자 인터페이스 장치를 통해 입력된 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행하고, 상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하며, 워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하고, 상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하며, 상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 프로세서;를 포함할 수 있다.A mobile device for classifying a sentence according to a second aspect into a plurality of classes comprises: a user interface device; Memory for storing computer executable instructions; And executing the computer executable command to perform natural language processing on the first sentence input through the user interface device, and to measure the importance of the predetermined sentence or more in the first sentence in which the natural language processing is performed. Extracts a keyword having a key word, detects a similar word corresponding to the extracted key word by using a word embedding model, merges the detected similar word with the first sentence in which the natural language processing is performed, and generates a second sentence; And a processor for classifying the generated second sentence into a plurality of classes using a convolutional neural network-based text classification model using a sigmoid function as an activation function of an output layer.
제 3 측면에 따른 프로세서에 의해 실행 가능한 명령어들로 저장된 컴퓨터 판독 가능 저장매체는, 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행하는 명령어들; 상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는 명령어들; 워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하는 명령어들; 상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하는 명령어들; 및 상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 명령어들;을 포함할 수 있다.A computer readable storage medium stored as instructions executable by a processor according to the third aspect, comprising: instructions for performing Natural Language Processing on a first sentence; Instructions for extracting a key word having an importance greater than or equal to a predetermined criterion from the first sentence in which the natural language processing is performed; Instructions for detecting a similar word corresponding to the extracted keyword using a word embedding model; Instructions for merging the detected similar words into a first sentence in which the natural language processing is performed to generate a second sentence; And classifying the generated second sentence into a plurality of classes using a convolutional neural network-based text classification model using a sigmoid function as an activation function of an output layer.
도 1은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 모바일 장치의 구성을 나타낸 블록도이다.
도 2는 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 과정에서, 제 1 문장으로부터 제 2 문장을 생성하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 제 1 문장과 제 2 문장 각각을 복수의 클래스들로 분류한 결과를 설명하기 위한도면이다.
도 5는 일 실시예에 따라 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 아웃풋 레이어의 활성화 함수로 각각 서로 다른 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델들 각각을 이용하여 문장을 복수의 클래스들로 분류하는 과정을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 아웃풋 레이어의 활성화 함수로 각각 서로 다른 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델들 각각을 이용하여 문장을 복수의 클래스들로 분류한 결과를 비교하기 위한 도면이다.
도 8은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 방법을 설명하기 위한 도면이다.1 is a block diagram illustrating a configuration of a mobile device for classifying a sentence into a plurality of classes, according to an exemplary embodiment.
2 is a diagram illustrating a process of classifying a sentence into a plurality of classes, according to an exemplary embodiment.
3 is a diagram for describing a process of generating a second sentence from a first sentence in a process of classifying a sentence into a plurality of classes, according to an exemplary embodiment.
4 is a diagram illustrating a result of classifying each of a first sentence and a second sentence into a plurality of classes, according to an exemplary embodiment.
FIG. 5 illustrates a convolutional neural network based text classification model using a sigmoid function as an activation function of an output layer, according to an exemplary embodiment.
FIG. 6 is a diagram illustrating a process of classifying a sentence into a plurality of classes using each of convolutional neural network-based text classification models using different functions as activation functions of an output layer, according to an exemplary embodiment.
FIG. 7 is a diagram illustrating a result of classifying a sentence into a plurality of classes using each of convolutional neural network-based text classification models using different functions as activation functions of an output layer, according to an exemplary embodiment.
8 is a diagram for describing a method of classifying a sentence into a plurality of classes, according to an exemplary embodiment.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.Hereinafter, various embodiments will be described in detail with reference to the accompanying drawings. The embodiments described below may be embodied in various different forms. In order to more clearly describe the features of the embodiments, detailed descriptions of matters well known to those skilled in the art to which the following embodiments belong will be omitted.
본 실시예들은 문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.The embodiments of the present invention relate to a mobile device and a method for classifying sentences into a plurality of classes, and detailed descriptions of matters well known to those skilled in the art to which the following embodiments belong are omitted.
도 1은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 모바일 장치(100)의 구성을 나타낸 블록도이다.1 is a block diagram illustrating a configuration of a
도 1을 참조하면, 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 모바일 장치(100)는, 메모리(110), 프로세서(120), 사용자 인터페이스 장치(130)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 1, the
모바일 장치(100)는 OS(Operating System)를 탑재하고, 모바일 장치(100)에 설치된 애플리케이션을 실행하여, 사용자 입력에 따른 처리 결과를 디스플레이할 수 있는 전자 장치로서, 스마트폰, 태블릿 PC, 랩톱 컴퓨터 등이 될 수 있다. 애플리케이션은 애플리케이션 프로그램 또는 모바일 애플리케이션을 통칭하는 용어이다. 사용자는 모바일 장치(100)에 설치되어 있는 다양한 종류의 애플리케이션들 중에서 실행하고자 하는 애플리케이션을 선택하여 애플리케이션을 실행시킬 수 있다. The
메모리(110)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. The
프로세서(120)는 메모리(110)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(110)에 저장할 수도 있다. 또한, 프로세서(120)는 메모리(110)에 설치된 프로그램을 실행할 수도 있다. 또한, 프로세서(120)는 외부로부터 수신한 애플리케이션을 메모리(110)에 설치할 수도 있다.The
프로세서(120)는 적어도 하나의 프로세싱 모듈을 포함할 수 있다. 프로세서(120)는 사용자 인터페이스 장치(130)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 모바일 장치(100)에 포함된 다른 구성들을 제어할 수 있다. The
사용자 인터페이스 장치(130)는 사용자로부터 사용자 입력 등을 수신할 수 있다. 사용자 인터페이스 장치(130)는 모바일 장치(100)에서 애플리케이션 실행 결과, 사용자 입력에 대응되는 처리 결과, 모바일 장치(100)의 상태 등의 정보를 디스플레이할 수 있다. 사용자 인터페이스 장치(130)는 사용자로부터 입력을 수신하거나 모바일 장치(100)로부터 출력을 제공하기 위한 하드웨어 유닛들을 포함할 수 있으며, 이들을 구동하기 위한 전용 소프트웨어 모듈을 포함할 수도 있다. 예를 들어, 사용자 인터페이스 장치(130)는 터치 스크린이 될 수 있으나, 이에 한정되지 않는다. The
메모리(110)는 프로세서(120)에 의해 실행 가능한 명령어들을 저장할 수 있다. 프로세서(120)는 메모리(110)에 저장된 명령어들을 실행할 수 있다. 프로세서(120)는 사용자 입력에 따라 모바일 장치(100)에 설치된 애플리케이션을 실행할 수 있다. The
프로세서(120)는 제 1 문장에 대해 자연어 처리(Natural Language Processing)와 같은 전처리 과정을 수행할 수 있다. 제 1 문장은 사용자 인터페이스 장치(130)를 통해 입력된 것일 수 있다. 예를 들어, 프로세서(120)는 제 1 문장을 구성하는 단어들 각각의 원형을 추출하고, 추출된 원형들로 구성된 제 1 문장에서 스톱 워드와 단어 빈도 및 역문서 빈도에 기초한 소정의 기준 미만의 중요도를 갖는 비핵심어를 제거하여 자연어 처리를 수행할 수 있다. Lemmatization에 따라 단어의 원형을 추출할 수 있다. 스톱 워드는 문장에 포함되나 문장에서 의미를 전달하지 않는 관사, 전치사, 접속사 등이 될 수 있다. 단어 빈도-역문서 빈도(Term Frequency - Inverse Document Frequency, TF-IDF) 스코어는 어떤 단어가 문장이나 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치로서, 문장이나 문서에서 핵심어를 추출하는데 이용될 수 있다. TF-IDF 스코어는 단어 빈도와 역문서 빈도를 곱한 값일 수 있다.The
프로세서(120)는 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 예를 들어, 프로세서(120)는 자연어 처리가 수행된 제 1 문장에서 단어 빈도와 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 프로세서(120)는 TF-IDF 스코어에 기초하여 상위 스코어에 랭크된 N 개의 단어 또는 소정의 임계치 이상의 TF-IDF 스코어를 갖는 단어를 핵심어로 추출할 수 있다. The
프로세서(120)는 워드 임베딩 모델을 이용하여 추출된 핵심어에 대응되는 유사 단어를 검출할 수 있다. 프로세서(120)는 워드 임베딩 모델을 이용하여 핵심어로 추출된 전체 또는 중요도에 따라 그룹핑된 것 중 일부 그룹에 해당하는 핵심어에 대응되는 유사 단어를 검출할 수 있다. The
프로세서(120)는 자연어 처리가 수행된 제 1 문장에 검출된 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. 프로세서(120)는 자연어 처리가 수행된 제 1 문장의 핵심어의 다음 위치 또는 핵심어들 사이 위치에 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. The
프로세서(120)는 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. 프로세서(120)는 시그모이드 함수에 기초하여, 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득할 수 있다. 프로세서(120)는 우선순위를 가지는 클래스들과 우선순위를 가지는 클래스들 각각의 정규화된 스코어를 함께 제공할 수 있다.The
한편, 프로세서(120)는 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 더 판단할 수 있다. 프로세서(120)는 판단 결과, 소정의 조건을 만족하는 경우, 자연어 처리가 수행된 제 1 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 소정의 조건을 만족하지 않는 경우, 제 2 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. Meanwhile, the
모바일 장치(100)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 모바일 장치(100)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 모바일 장치(100)는 모바일 장치(100)의 외부에 위치한 외부 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 예를 들어 모바일 장치(100)는 서버(200)에서 학습된 워드 임베딩 모델 또는 텍스트 분류 모델을 업데이트 주기에 따라 서버(200)로부터 수신할 수 있다.The
도 2는 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 과정을 설명하기 위한 도면이다.2 is a diagram illustrating a process of classifying a sentence into a plurality of classes, according to an exemplary embodiment.
도 2를 참조하면, 모바일 장치(100)가 텍스트를 포함하는 문장을 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있음이 개시되어 있다. 이와 같은 경우, 컨벌루션 신경망 기반의 텍스트 분류 모델이 학습된 정도가 낮거나 학습된 데이터의 양이 작은 경우, 짧은 길이의 문장이 입력되면 복수의 클래스들로 분류한 분류 정확도에 영향을 미칠 수 있다. 또한, 클래스의 개수가 많은 경우, 각 클래스의 스코어 값이 서로 분별하기 곤란할 정도로 유사해지기 때문에, 각 클래스의 스코어를 활용한 연산들에서 각 클래스의 스코어가 변별력을 줄 수 없다. 이하, 짧은 길이의 문장이 입력되거나, 분류되는 클래스들의 개수가 많아져도, 정확한 분류 처리가 가능하고, 각 클래스의 스코어가 변별력을 가질 수 있도록 하는 방안에 대하여 설명한다.Referring to FIG. 2, it is disclosed that the
도 3은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 과정에서, 제 1 문장으로부터 제 2 문장을 생성하는 과정을 설명하기 위한 도면이다.3 is a diagram for describing a process of generating a second sentence from a first sentence in a process of classifying a sentence into a plurality of classes, according to an exemplary embodiment.
도 3을 참조하면, 제 1 문장으로부터 생성되는 제 2 문장은 제 1 문장보다 문장의 길이가 긴 것일 수 있다. 문장의 길이가 길수록 문장에 포함되는 단어들이 많아지므로, 문장을 클래스로 분류할 때 정확도를 높일 수 있다.Referring to FIG. 3, the second sentence generated from the first sentence may have a longer sentence length than the first sentence. As the length of the sentence increases, more words are included in the sentence, thereby improving accuracy when classifying the sentence into classes.
도 3에 도시된 바와 같이, "오늘도 컴퓨터로 파이썬을 가지고 논다"라는 제 1 문장이 있는 경우, 모바일 장치(100)는 제 1 문장에 대해 자연어 처리를 수행한 후, 제 1 문장에서 핵심어를 찾아낼 수 있다. 모바일 장치(100)는 제 1 문장에 대해, 단어들 각각의 원형을 추출하고, 추출된 원형들로 구성된 제 1 문장에서 스톱 워드와 비핵심어를 제거하면, "컴퓨터 파이썬 놀다"라는 짧은 문장을 획득할 수 있다. 이에 대해, 모바일 장치(100)는 "컴퓨터 파이썬 놀다"라는 문장에서 "컴퓨터"와 "파이썬"을 핵심어로 추출하고, "컴퓨터"와 "파이썬"에 대응되는 유사 단어를 검출할 수 있다. 모바일 장치(100)는 검출된 유사 단어들인 "프로그래밍", "코딩", 및 "언어" 전체 또는 일부를 "컴퓨터 파이썬 놀다"라는 짧은 문장에서 "컴퓨터"와 "파이썬" 사이 또는 "컴퓨터"나 "파이썬" 뒤에 위치하도록 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. 도 3에 도시된 바와 같이, 제 2 문장은 "컴퓨터 파이썬 프로그래밍 언어 놀다"일 수 있다.As shown in FIG. 3, when there is a first sentence "I play with Python on a computer today", the
도 4는 일 실시예에 따른 제 1 문장과 제 2 문장 각각을 복수의 클래스들로 분류한 결과를 설명하기 위한도면이다.4 is a diagram illustrating a result of classifying each of a first sentence and a second sentence into a plurality of classes, according to an exemplary embodiment.
도 4는 앞서 도 3에서 설명한 "컴퓨터 파이썬 놀다"라는 자연어 처리된 제 1 문장과 "컴퓨터 파이썬 프로그래밍 언어 놀다"라는 제 2 문장 각각에 대하여 복수의 크래스들로 분류한 결과를 나타내고 있다. "컴퓨터 파이썬 놀다"라는 전처리된 제 1 문장은 "파이썬"이라는 단어가 뱀의 종류를 지칭하는 것으로 판단될 수도 있으므로, "애완동물"이라는 클래스로 분류될 수도 있다. 반면, "컴퓨터 파이썬 프로그래밍 언어 놀다"라는 제 2 문장은 "컴퓨터", "파이썬" 뿐만 아니라, "프로그래밍", "언어"와 같은 단어들이 더 존재하여, "파이썬"이 뱀의 종류가 아닌 프로그래밍 언어명을 지칭하는 것으로 판단될 수 있다. 즉, 제 2 문장의 경우, 제 1 문장의 핵심어들에 핵심어와 대응되는 유사 단어들을 더 포함시킴으로써, "파이썬"이라는 단어가 잘못 해석되는 경우를 막을 수 있다. 결과적으로, "애완동물"과 같은 부정확한 클래스의 발생을 막고, "프로그래밍"이라는 클래스의 스코어가 가장 높게 나옴에 따라, 복수의 클래스들로 분류한 결과의 정확도가 높아짐을 알 수 있다. FIG. 4 illustrates a result of classifying a plurality of classes into a natural language-processed first sentence "playing a computer python" and a second sentence "playing a computer python programming language" described in FIG. 3. The preprocessed first sentence "playing computer python" may be classified as a "pet" class, since the word "python" may be considered to refer to a kind of snake. On the other hand, the second sentence "playing the computer Python programming language" contains not only "computer" and "python" but also words such as "programming" and "language", so that "python" is not a snake. It may be determined to refer to a person. That is, in the case of the second sentence, the word "python" may be prevented from being misinterpreted by further including similar words corresponding to the key words in the key words of the first sentence. As a result, it can be seen that the accuracy of the result of classifying into a plurality of classes increases as the occurrence of an incorrect class such as "pet" is prevented and the score of the class "programming" is highest.
도 5는 일 실시예에 따라 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 설명하기 위한 도면이다.FIG. 5 illustrates a convolutional neural network based text classification model using a sigmoid function as an activation function of an output layer, according to an exemplary embodiment.
텍스트 분류 모델은 문장에 대하여 클래스로 분류하는 역할을 하는 모델로서, 문장에 대해 카테고라이제이션을 수행하는 역할을 할 수 있다. 예를 들어, 컨벌루션 신경망 기반의 텍스트 분류 모델이 있을 수 있다. The text classification model is a model that classifies sentences into classes, and may perform a categorization of sentences. For example, there may be a text classification model based on convolutional neural networks.
도 5를 참조하면, 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델은 컬벌루션 1D 레이어 활성화 함수로서 Hyperbolic tangent 함수를 사용하며, 옵티마이저 함수로 Adam을 사용할 수 있다. 아웃풋 레이어의 로스 함수로는 Catrgorical cross-entropy가 사용될 수 있다.Referring to FIG. 5, the convolutional neural network-based text classification model using the sigmoid function as the output function of the output layer uses the hyperbolic tangent function as the activation of the convolutional 1D layer, and Adam may be used as the optimizer function. Catrgorical cross-entropy may be used as the loss function of the output layer.
이와 같은 텍스트 분류 모델은 복수의 클래스들 각각에 대한 스코어를 바이너리 분류 방식과 같이 개별적 스코어로 산출할 수 있다. 또한, 산출된 스코어가 높은 상위 n 개의 클래스의 스코어에 대해 정규화(normalization)를 통해 정규화된 스코어를 획득할 수 있다. 이와 같은 경우, 클래스의 개수가 많다고 하더라도, 상위 n 개의 클래스에 대해서 변별력있는 스코어를 기대할 수 있다.Such a text classification model may calculate a score for each of the plurality of classes as individual scores, as in a binary classification scheme. In addition, the normalized score may be obtained through normalization with respect to the score of the upper n class having the high score. In this case, even if the number of classes is large, distinct scores can be expected for the top n classes.
도 6은 일 실시예에 따른 아웃풋 레이어의 활성화 함수로 각각 서로 다른 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델들 각각을 이용하여 문장을 복수의 클래스들로 분류하는 과정을 설명하기 위한 도면이다.6 is a diagram illustrating a process of classifying a sentence into a plurality of classes using each of the convolutional neural network-based text classification models using different functions as activation functions of the output layer, according to an exemplary embodiment.
도 6을 참조하면, "내 취미는 컴퓨터 게임으로 피파 온라인을 하는 것이다"라는 문장에 대해, 멀티 분류(또는 멀티 클래스 분류)에 사용되는 소프트맥스(softmax) 함수를 사용하는 경우와 바이너리 분류(또는 바이너리 클래스 분류)에 사용되는 시그모이드(sigmoid) 함수를 사용하는 경우, 복수의 클래스들로 분류하는 과정을 알 수 있다. 시그모이드 함수를 사용하여 복수의 클래스들로 분류하는 경우, 각 클래스의 스코어 값이 바이너리 분류 방식의 스코어처럼 나오기 때문에, 상위 n 개의 클래스에 대해 각 스코어를 정규화할 수 있다. 도 6에서는 두 경우를 비교하기 위해, 소프트맥스 함수를 사용하여 복수의 클래스들로 분류하는 경우에 대해서도 상위 n 개의 클래스에 대해 각 스코어를 정규화하여 나타내고 있다. 도 6에서는 250 개의 클래스들 중 상위 3개의 클래스들에 대해서 각 스코어를 정규화하고 있다.Referring to FIG. 6, for the sentence "My hobby is to play FIFA online with a computer game", using the softmax function used for multi-class classification (or multi-class classification) and binary classification (or When using the sigmoid function used for binary class classification, it is possible to know the process of classifying into a plurality of classes. When classifying into a plurality of classes using the sigmoid function, each score can be normalized for the top n classes because the score value of each class comes out as a score of a binary classification method. In FIG. 6, in order to compare the two cases, each score is normalized for the upper n classes even when the class is classified into a plurality of classes using a softmax function. In FIG. 6, each score is normalized for the top three classes of the 250 classes.
도 7은 일 실시예에 따른 아웃풋 레이어의 활성화 함수로 각각 서로 다른 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델들 각각을 이용하여 문장을 복수의 클래스들로 분류한 결과를 비교하기 위한 도면이다.FIG. 7 is a diagram illustrating a result of classifying a sentence into a plurality of classes using each of convolutional neural network-based text classification models using different functions as activation functions of an output layer, according to an exemplary embodiment.
도 7을 참조하면, 앞서 도 6에서 설명한 과정에 대한 결과를 다이어그램으로 나타내고 있다. 아웃풋 레이어의 활성화 함수로 소프트맥스(softmax) 함수를 사용하여 복수의 클래스들로 분류한 경우, 상위 3개의 클래스인 "컴퓨터", "취미", 및 "스포츠"가 거의 유사한 스코어 값을 가지게 되고, 이에 대해 정규화하는 경우, 각각 "0.3334", "0.3333", 및 "0.3333"으로 정규화된 스코어 값이 더욱 유사해져서 클래스들 간의 스코어가 변별력이 떨어질 수 있다. 반면, 아웃풋 레이어의 활성화 함수로 시그모이드(sigmoid) 함수를 사용하여 복수의 클래스들로 분류한 경우, 상위 3개의 클래스인 "컴퓨터", "취미", 및 "스포츠"가 각각 "0.9161", "0.8034", 및 "0.5326"의 스코어 값을 가지게 되고, 이에 대해 정규화하더라도, 각각 "0.3883", "0.3469", 및 "0.2646"으로 정규화된 스코어 값을 가지게 되어, 각 클래스의 스코어에 변별력을 기대할 수 있다.Referring to FIG. 7, the results of the process described above with reference to FIG. 6 are shown in a diagram. When categorized into a plurality of classes using the softmax function as the activation function of the output layer, the top three classes "Computer", "Hobbies", and "Sports" have almost similar score values, When normalizing on this, score values normalized to "0.3334", "0.3333", and "0.3333" may become more similar, respectively, so that scores between classes may be less discriminated. On the other hand, when the classification into a plurality of classes using the sigmoid (sigmoid) function as the activation function of the output layer, the top three classes "Computer", "Hobbies", and "Sports" are "0.9161", It will have score values of "0.8034", and "0.5326", and even if it is normalized, it will have score values normalized to "0.3883", "0.3469", and "0.2646", respectively, to expect discrimination in the score of each class. Can be.
도 8은 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 방법을 설명하기 위한 도면이다. 이하, 설명이 생략된 내용이라 하더라도, 문장을 복수의 클래스들로 분류하는 모바일 장치(100)에 관하여 이상에서 설명한 내용은 문장을 복수의 클래스들로 분류하는 방법에도 적용될 수 있다.8 is a diagram for describing a method of classifying a sentence into a plurality of classes, according to an exemplary embodiment. Hereinafter, even if the description is omitted, the above description of the
810 단계에서, 모바일 장치(100)는 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행할 수 있다. In operation 810, the
820 단계에서, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에서 단어 빈도 및 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다.In operation 820, the
830 단계에서, 모바일 장치(100)는 워드 임베딩 모델을 이용하여 추출된 핵심어에 대응되는 유사 단어를 검출할 수 있다.In operation 830, the
840 단계에서, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에 검출된 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장의 핵심어의 다음 위치 또는 핵심어들 사이 위치에 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 제 2 문장을 생성할 수 있다.In operation 840, the
850 단계에서, 모바일 장치(100)는 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. 모바일 장치(100)는 시그모이드 함수에 기초하여, 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득할 수 있다. 모바일 장치(100)는 우선순위를 가지는 클래스들과 우선순위를 가지는 클래스들 각각의 정규화된 스코어를 함께 제공할 수 있다.In operation 850, the
한편, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 더 판단할 수 있다. 모바일 장치(100)는 판단 결과, 소정의 조건을 만족하는 경우, 자연어 처리가 수행된 제 1 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 소정의 조건을 만족하지 않는 경우, 제 2 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다.Meanwhile, the
상술한 문장을 복수의 클래스들로 분류하는 방법에 관한 실시예들은 컴퓨터에서, 문장을 복수의 클래스들로 분류하는 방법을 수행하도록 하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램 또는 애플리케이션 형태로 제공될 수 있다. Embodiments of a method of classifying a sentence into a plurality of classes may be provided in the form of a computer program or application stored in a computer readable storage medium for performing a method of classifying a sentence into a plurality of classes in a computer. have.
한편, 상술한 실시예들은 컴퓨터에 의하여 실행 가능한 명령어 및 데이터를 저장하는 컴퓨터로 읽을 수 있는 기록매체의 형태로 구현될 수 있다. 상기 명령어 및 데이터 중 적어도 하나는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 이와 같은 컴퓨터로 읽을 수 있는 기록매체는 read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있고, 프로세서나 컴퓨터가 명령어를 실행할 수 있도록 프로세서나 컴퓨터에 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 제공할 수 있는 어떠한 장치라도 될 수 있다. Meanwhile, the above-described embodiments may be implemented in the form of a computer-readable recording medium storing instructions and data executable by a computer. At least one of the instructions and data may be stored in the form of program code, and when executed by a processor, a predetermined program module may be generated to perform a predetermined operation. Such computer-readable recording media include read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD + Rs, CD-RWs, CD + RWs, DVD -ROMs, DVD-Rs, DVD + Rs, DVD-RWs, DVD + RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, Magnetic Tape, Floppy Disks, Magneto-optical Data Storage Devices, optical data storage devices, hard disks, solid-state disks (SSDs), and instructions or software, associated data, data files, and data structures, which can be stored on the processor or computer so that the processor or computer can execute the instructions. It may be any device capable of providing instructions or software, associated data, data files, and data structures.
이제까지 실시예들을 중심으로 살펴보았다. 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 개시된 실시예들이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 발명의 범위는 전술한 실시예들의 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 발명의 범위에 포함된 것으로 해석되어야 할 것이다.So far looked at the center of the embodiments. Those skilled in the art to which the disclosed embodiments belong will appreciate that the disclosed embodiments can be implemented in a modified form without departing from the essential characteristics. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the invention is set forth in the claims rather than the foregoing description of the embodiments, and all differences within the scope will be construed as being included in the scope of the invention.
Claims (11)
상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는 단계;
워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하는 단계;
상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하는 단계; 및
상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 단계;
를 포함하는, 문장을 복수의 클래스들로 분류하는 방법.Performing Natural Language Processing on the first sentence;
Extracting a key word having a importance level greater than or equal to a predetermined criterion from the first sentence in which the natural language processing is performed;
Detecting similar words corresponding to the extracted keywords using a word embedding model;
Generating a second sentence by merging the detected similar words with the first sentence on which the natural language processing is performed; And
Classifying the generated second sentence into a plurality of classes using a convolutional neural network-based text classification model using a sigmoid function as an activation function of an output layer;
And classifying the sentence into a plurality of classes.
상기 제 2 문장을 생성하는 단계는,
상기 자연어 처리가 수행된 제 1 문장의 상기 핵심어의 다음 위치 또는 핵심어들 사이 위치에 상기 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 상기 제 2 문장을 생성하는, 문장을 복수의 클래스들로 분류하는 방법.The method of claim 1,
Generating the second sentence,
A plurality of sentences are generated by merging similar words having a priority based on the similarity among the searched similar words to a position next to the key word or between key words of the first sentence on which the natural language processing is performed. How to classify into classes.
상기 복수의 클래스들로 분류하는 단계는,
상기 시그모이드 함수에 기초하여, 상기 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하는 단계;
상기 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득하는 단계; 및
상기 우선순위를 가지는 클래스들과 상기 정규화된 스코어를 함께 제공하는 단계;
를 포함하는, 문장을 복수의 클래스들로 분류하는 방법.The method of claim 1,
Classifying into the plurality of classes,
Calculating a score of a binary classification scheme for each of the plurality of classes based on the sigmoid function;
Obtaining a normalized score through normalization for a score of each of the classes having a priority based on the score; And
Providing the normalized scores with the classes having the priority;
And classifying the sentence into a plurality of classes.
상기 핵심어를 추출하는 단계는,
상기 자연어 처리가 수행된 제 1 문장에서 단어 빈도 및 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는, 문장을 복수의 클래스들로 분류하는 방법.The method of claim 1,
Extracting the key words,
And extracting a key word having an importance greater than or equal to a predetermined criterion based on a word frequency and an inverse document frequency from the first sentence on which the natural language processing is performed.
상기 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 상기 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 상기 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 판단하는 단계를 더 포함하고,
상기 복수의 클래스들로 분류하는 단계는,
상기 판단 결과, 상기 소정의 조건을 만족하는 경우, 상기 자연어 처리가 수행된 제 1 문장을 상기 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 상기 소정의 조건을 만족하지 않는 경우, 상기 제 2 문장을 상기 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는, 문장을 복수의 클래스들로 분류하는 방법.The method of claim 1,
A predetermined condition for classifying into the plurality of classes is satisfied based on a score based on a word frequency and an inverse document frequency for the first sentence on which the natural language processing is performed and the length of the first sentence on which the natural language processing is performed. Determining whether the operation is complete;
Classifying into the plurality of classes,
As a result of the determination, when the predetermined condition is satisfied, the first sentence on which the natural language processing is performed is classified into a plurality of classes using the text classification model, and when the predetermined condition is not satisfied, the first sentence is 2 classifying a sentence into a plurality of classes, using the text classification model.
컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및
상기 컴퓨터 실행가능 명령어를 실행함으로써, 상기 사용자 인터페이스 장치를 통해 입력된 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행하고, 상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하며, 워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하고, 상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하며, 상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 프로세서;
를 포함하는 문장을 복수의 클래스들로 분류하는 모바일 장치.User interface devices;
Memory for storing computer executable instructions; And
By executing the computer-executable instructions, natural language processing is performed on the first sentence input through the user interface device, and the first sentence having the natural language processing has an importance greater than or equal to a predetermined criterion. Extracts a key word, detects a similar word corresponding to the extracted key word by using a word embedding model, generates a second sentence by merging the detected similar word with the first sentence in which the natural language processing is performed, and A processor for classifying the generated second sentence into a plurality of classes using a convolutional neural network-based text classification model using a sigmoid function as an activation function of an output layer;
A mobile device for classifying a sentence comprising a plurality of classes.
상기 프로세서는,
상기 자연어 처리가 수행된 제 1 문장의 상기 핵심어의 다음 위치 또는 핵심어들 사이 위치에 상기 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 상기 제 2 문장을 생성하는, 문장을 복수의 클래스들로 분류하는 모바일 장치.The method of claim 6,
The processor,
A plurality of sentences are generated by merging similar words having a priority based on the similarity among the searched similar words to a position next to the key word or between key words of the first sentence on which the natural language processing is performed. Mobile device categorized into classes.
상기 프로세서는,
상기 시그모이드 함수에 기초하여, 상기 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 상기 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득하여, 상기 우선순위를 가지는 클래스들과 상기 정규화된 스코어를 함께 제공하는, 문장을 복수의 클래스들로 분류하는 모바일 장치.The method of claim 6,
The processor,
Based on the sigmoid function, a score of a binary classification scheme for each of the plurality of classes is calculated, and normalized scores are obtained through normalization of scores of classes having priorities based on the scores. And classifying a sentence into a plurality of classes, together with the classes having the priority and the normalized score.
상기 프로세서는,
상기 자연어 처리가 수행된 제 1 문장에서 단어 빈도와 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는, 문장을 복수의 클래스들로 분류하는 모바일 장치.The method of claim 6,
The processor,
A mobile device for classifying a sentence into a plurality of classes, which extracts a key word having an importance greater than a predetermined criterion based on a word frequency and an inverse document frequency from the first sentence in which the natural language processing is performed.
상기 프로세서는,
상기 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 상기 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 상기 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 더 판단하고,
상기 판단 결과, 상기 소정의 조건을 만족하는 경우, 상기 자연어 처리가 수행된 제 1 문장을 상기 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 상기 소정의 조건을 만족하지 않는 경우, 상기 제 2 문장을 상기 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는, 문장을 복수의 클래스들로 분류하는 모바일 장치.The method of claim 6,
The processor,
A predetermined condition for classifying into the plurality of classes is satisfied based on a score based on a word frequency and an inverse document frequency for the first sentence on which the natural language processing is performed and the length of the first sentence on which the natural language processing is performed. To determine whether or not
As a result of the determination, when the predetermined condition is satisfied, the first sentence on which the natural language processing is performed is classified into a plurality of classes using the text classification model, and when the predetermined condition is not satisfied, the first sentence is And classifying a sentence into a plurality of classes using the text classification model.
상기 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출하는 명령어들;
워드 임베딩 모델을 이용하여 상기 추출된 핵심어에 대응되는 유사 단어를 검출하는 명령어들;
상기 자연어 처리가 수행된 제 1 문장에 상기 검출된 유사 단어를 병합하여 제 2 문장을 생성하는 명령어들; 및
상기 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하는 명령어들;
을 포함하는, 프로세서에 의해 실행 가능한 명령어들로 저장된 컴퓨터 판독 가능 저장매체.Instructions for performing Natural Language Processing on the first sentence;
Instructions for extracting a key word having an importance equal to or greater than a predetermined reference from the first sentence in which the natural language processing is performed;
Instructions for detecting a similar word corresponding to the extracted keyword using a word embedding model;
Instructions for merging the detected similar words into a first sentence in which the natural language processing is performed to generate a second sentence; And
Instructions for classifying the generated second sentence into a plurality of classes using a convolutional neural network based text classification model using a sigmoid function as an activation function of an output layer;
And a computer readable storage medium stored with instructions executable by the processor.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180038217A KR20190115319A (en) | 2018-04-02 | 2018-04-02 | Mobile apparatus and method for classifying a sentence into a plurality of classes |
PCT/KR2018/004623 WO2019194343A1 (en) | 2018-04-02 | 2018-04-20 | Mobile apparatus and method of classifying sentence into plurality of classes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180038217A KR20190115319A (en) | 2018-04-02 | 2018-04-02 | Mobile apparatus and method for classifying a sentence into a plurality of classes |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190115319A true KR20190115319A (en) | 2019-10-11 |
Family
ID=68100860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180038217A KR20190115319A (en) | 2018-04-02 | 2018-04-02 | Mobile apparatus and method for classifying a sentence into a plurality of classes |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20190115319A (en) |
WO (1) | WO2019194343A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210039916A (en) * | 2019-10-02 | 2021-04-12 | (주)디앤아이파비스 | A method for obtaining a word set of a patent document and a method for determining similarity of a patent document based on the obtained word set |
KR20210039915A (en) * | 2019-10-02 | 2021-04-12 | (주)디앤아이파비스 | Method, apparatus and system for determining similarity of patent documents using similarity scores and dissimilarity scores |
KR102440193B1 (en) * | 2022-03-08 | 2022-09-05 | 그린캣소프트(주) | Method for augmenting training data for natural language classification neural network |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449099B (en) * | 2020-03-25 | 2024-02-23 | 瑞典爱立信有限公司 | Text classification method and text classification device |
CN112100384B (en) * | 2020-11-10 | 2021-02-02 | 北京智慧星光信息技术有限公司 | Data viewpoint extraction method, device, equipment and storage medium |
CN113010740B (en) * | 2021-03-09 | 2023-05-30 | 腾讯科技(深圳)有限公司 | Word weight generation method, device, equipment and medium |
CN113254595B (en) * | 2021-06-22 | 2021-10-22 | 北京沃丰时代数据科技有限公司 | Chatting recognition method and device, electronic equipment and storage medium |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317594B2 (en) * | 2012-12-27 | 2016-04-19 | Sas Institute Inc. | Social community identification for automatic document classification |
WO2014190092A1 (en) * | 2013-05-22 | 2014-11-27 | Quantros, Inc. | Probabilistic event classification systems and methods |
US10599700B2 (en) * | 2015-08-24 | 2020-03-24 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and methods for narrative detection and frame detection using generalized concepts and relations |
US10762297B2 (en) * | 2016-08-25 | 2020-09-01 | International Business Machines Corporation | Semantic hierarchical grouping of text fragments |
US11544529B2 (en) * | 2016-09-07 | 2023-01-03 | Koninklijke Philips N.V. | Semi-supervised classification with stacked autoencoder |
-
2018
- 2018-04-02 KR KR1020180038217A patent/KR20190115319A/en not_active Application Discontinuation
- 2018-04-20 WO PCT/KR2018/004623 patent/WO2019194343A1/en active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210039916A (en) * | 2019-10-02 | 2021-04-12 | (주)디앤아이파비스 | A method for obtaining a word set of a patent document and a method for determining similarity of a patent document based on the obtained word set |
KR20210039915A (en) * | 2019-10-02 | 2021-04-12 | (주)디앤아이파비스 | Method, apparatus and system for determining similarity of patent documents using similarity scores and dissimilarity scores |
KR102440193B1 (en) * | 2022-03-08 | 2022-09-05 | 그린캣소프트(주) | Method for augmenting training data for natural language classification neural network |
Also Published As
Publication number | Publication date |
---|---|
WO2019194343A1 (en) | 2019-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190115319A (en) | Mobile apparatus and method for classifying a sentence into a plurality of classes | |
US11361243B2 (en) | Recommending machine learning techniques, features, and feature relevance scores | |
US11544459B2 (en) | Method and apparatus for determining feature words and server | |
Ren et al. | Label noise reduction in entity typing by heterogeneous partial-label embedding | |
de Oliveira et al. | A sensitive stylistic approach to identify fake news on social networking | |
Gao et al. | Emerging app issue identification from user feedback: Experience on wechat | |
US9264387B2 (en) | System and method for authorship disambiguation and alias resolution in electronic data | |
US20160239500A1 (en) | System and methods for extracting facts from unstructured text | |
TW201737118A (en) | Method and device for webpage text classification, method and device for webpage text recognition | |
US10282678B2 (en) | Automated similarity comparison of model answers versus question answering system output | |
US10628749B2 (en) | Automatically assessing question answering system performance across possible confidence values | |
US20230045330A1 (en) | Multi-term query subsumption for document classification | |
JP2014112283A (en) | Information processing device, information processing method, and program | |
Olabenjo | Applying naive bayes classification to google play apps categorization | |
EP3835997A1 (en) | Methods and systems for detecting duplicate document using document similarity measuring model based on deep learning cross-reference to related applications | |
JP2020512651A (en) | Search method, device, and non-transitory computer-readable storage medium | |
Pratiwi et al. | Implementation of rumor detection on twitter using the svm classification method | |
TWI681304B (en) | System and method for adaptively adjusting related search words | |
JP2017151933A (en) | Data classifier, data classification method, and program | |
JP2015018372A (en) | Expression extraction model learning device, expression extraction model learning method and computer program | |
CN117216687A (en) | Large language model generation text detection method based on ensemble learning | |
US9792561B2 (en) | Learning method, information conversion device, and recording medium | |
CN115344563B (en) | Data deduplication method and device, storage medium and electronic equipment | |
US9342795B1 (en) | Assisted learning for document classification | |
JP7349404B2 (en) | Judgment device, judgment method and judgment program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |