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 PDF

Info

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
Application number
KR1020180038217A
Other languages
Korean (ko)
Inventor
박지훈
Original Assignee
필아이티 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 필아이티 주식회사 filed Critical 필아이티 주식회사
Priority to KR1020180038217A priority Critical patent/KR20190115319A/en
Priority to PCT/KR2018/004623 priority patent/WO2019194343A1/en
Publication of KR20190115319A publication Critical patent/KR20190115319A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/157Transformation using dictionaries or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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

Disclosed are a mobile device for classifying a sentence into a plurality of classes, which increases the accuracy of class classification for an input sentence and can discriminate the score of each classified class, and a method thereof. A method for classifying a sentence into a plurality of classes comprises the steps of: performing natural language processing on a first sentence; extracting a key word having an 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 key word 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.

Description

문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법{Mobile apparatus and method for classifying a sentence into a plurality of classes}Mobile apparatus and method for classifying a sentence into a plurality of classes}

문장을 복수의 클래스들로 분류하는 모바일 장치 및 방법에 관한 것이다.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 mobile device 100 that classifies a sentence into a plurality of classes, according to an exemplary embodiment.

도 1을 참조하면, 일 실시예에 따른 문장을 복수의 클래스들로 분류하는 모바일 장치(100)는, 메모리(110), 프로세서(120), 사용자 인터페이스 장치(130)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 1, the mobile device 100 classifying a sentence into a plurality of classes according to an embodiment may include a memory 110, a processor 120, and a user interface device 130. Those skilled in the art will appreciate that other general purpose components may be further included in addition to the components illustrated in FIG. 1.

모바일 장치(100)는 OS(Operating System)를 탑재하고, 모바일 장치(100)에 설치된 애플리케이션을 실행하여, 사용자 입력에 따른 처리 결과를 디스플레이할 수 있는 전자 장치로서, 스마트폰, 태블릿 PC, 랩톱 컴퓨터 등이 될 수 있다. 애플리케이션은 애플리케이션 프로그램 또는 모바일 애플리케이션을 통칭하는 용어이다. 사용자는 모바일 장치(100)에 설치되어 있는 다양한 종류의 애플리케이션들 중에서 실행하고자 하는 애플리케이션을 선택하여 애플리케이션을 실행시킬 수 있다. The mobile device 100 includes an operating system (OS) and executes an application installed in the mobile device 100 to display a processing result according to a user input. The mobile device 100 is a smart phone, a tablet PC, or a laptop computer. And so on. Application is a term that collectively refers to an application program or a mobile application. The user may select an application to be executed from various types of applications installed in the mobile device 100 to execute the application.

메모리(110)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다. The memory 110 may store software and / or a program. For example, the memory 110 may store an application, a program such as an application programming interface (API), and the like, and various kinds of data.

프로세서(120)는 메모리(110)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(110)에 저장할 수도 있다. 또한, 프로세서(120)는 메모리(110)에 설치된 프로그램을 실행할 수도 있다. 또한, 프로세서(120)는 외부로부터 수신한 애플리케이션을 메모리(110)에 설치할 수도 있다.The processor 120 may access and use data stored in the memory 110 or store new data in the memory 110. In addition, the processor 120 may execute a program installed in the memory 110. In addition, the processor 120 may install an application received from the outside in the memory 110.

프로세서(120)는 적어도 하나의 프로세싱 모듈을 포함할 수 있다. 프로세서(120)는 사용자 인터페이스 장치(130)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 모바일 장치(100)에 포함된 다른 구성들을 제어할 수 있다. The processor 120 may include at least one processing module. The processor 120 may control other components included in the mobile device 100 to perform an operation corresponding to the user input received through the user interface device 130.

사용자 인터페이스 장치(130)는 사용자로부터 사용자 입력 등을 수신할 수 있다. 사용자 인터페이스 장치(130)는 모바일 장치(100)에서 애플리케이션 실행 결과, 사용자 입력에 대응되는 처리 결과, 모바일 장치(100)의 상태 등의 정보를 디스플레이할 수 있다. 사용자 인터페이스 장치(130)는 사용자로부터 입력을 수신하거나 모바일 장치(100)로부터 출력을 제공하기 위한 하드웨어 유닛들을 포함할 수 있으며, 이들을 구동하기 위한 전용 소프트웨어 모듈을 포함할 수도 있다. 예를 들어, 사용자 인터페이스 장치(130)는 터치 스크린이 될 수 있으나, 이에 한정되지 않는다. The user interface device 130 may receive a user input from a user. The user interface device 130 may display information such as an application execution result, a processing result corresponding to a user input, a state of the mobile device 100, and the like in the mobile device 100. The user interface device 130 may include hardware units for receiving input from a user or providing output from the mobile device 100, and may include a dedicated software module for driving them. For example, the user interface device 130 may be a touch screen, but is not limited thereto.

메모리(110)는 프로세서(120)에 의해 실행 가능한 명령어들을 저장할 수 있다. 프로세서(120)는 메모리(110)에 저장된 명령어들을 실행할 수 있다. 프로세서(120)는 사용자 입력에 따라 모바일 장치(100)에 설치된 애플리케이션을 실행할 수 있다. The memory 110 may store instructions executable by the processor 120. The processor 120 may execute instructions stored in the memory 110. The processor 120 may execute an application installed in the mobile device 100 according to a user input.

프로세서(120)는 제 1 문장에 대해 자연어 처리(Natural Language Processing)와 같은 전처리 과정을 수행할 수 있다. 제 1 문장은 사용자 인터페이스 장치(130)를 통해 입력된 것일 수 있다. 예를 들어, 프로세서(120)는 제 1 문장을 구성하는 단어들 각각의 원형을 추출하고, 추출된 원형들로 구성된 제 1 문장에서 스톱 워드와 단어 빈도 및 역문서 빈도에 기초한 소정의 기준 미만의 중요도를 갖는 비핵심어를 제거하여 자연어 처리를 수행할 수 있다. Lemmatization에 따라 단어의 원형을 추출할 수 있다. 스톱 워드는 문장에 포함되나 문장에서 의미를 전달하지 않는 관사, 전치사, 접속사 등이 될 수 있다. 단어 빈도-역문서 빈도(Term Frequency - Inverse Document Frequency, TF-IDF) 스코어는 어떤 단어가 문장이나 문서 내에서 얼마나 중요한 것인지를 나타내는 통계적 수치로서, 문장이나 문서에서 핵심어를 추출하는데 이용될 수 있다. TF-IDF 스코어는 단어 빈도와 역문서 빈도를 곱한 값일 수 있다.The processor 120 may perform a preprocessing process such as natural language processing on the first sentence. The first sentence may be input through the user interface device 130. For example, the processor 120 extracts a circle of each word constituting the first sentence, and extracts a circle below a predetermined criterion based on a stop word and a word frequency and an inverse document frequency in the first sentence composed of the extracted circles. Natural language processing can be performed by removing non-core words of importance. According to the lemmatization, the word prototype can be extracted. Stop words can be articles, prepositions, conjunctions, etc. that are included in a sentence but do not convey meaning in the sentence. Term-Inverse Document Frequency (TF-IDF) scores are statistical values that indicate how important a word is in a sentence or document, and can be used to extract key words from a sentence or document. The TF-IDF score may be a product of word frequency and inverse document frequency.

프로세서(120)는 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 예를 들어, 프로세서(120)는 자연어 처리가 수행된 제 1 문장에서 단어 빈도와 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 프로세서(120)는 TF-IDF 스코어에 기초하여 상위 스코어에 랭크된 N 개의 단어 또는 소정의 임계치 이상의 TF-IDF 스코어를 갖는 단어를 핵심어로 추출할 수 있다. The processor 120 may extract a key word having a importance level higher than or equal to a predetermined reference from the first sentence in which the natural language processing is performed. For example, the processor 120 may extract a key word having an importance greater than or equal to a predetermined criterion based on the word frequency and the reverse document frequency in the first sentence in which the natural language processing is performed. The processor 120 may extract, as a key word, N words ranked in a higher score or a word having a TF-IDF score above a predetermined threshold based on the TF-IDF score.

프로세서(120)는 워드 임베딩 모델을 이용하여 추출된 핵심어에 대응되는 유사 단어를 검출할 수 있다. 프로세서(120)는 워드 임베딩 모델을 이용하여 핵심어로 추출된 전체 또는 중요도에 따라 그룹핑된 것 중 일부 그룹에 해당하는 핵심어에 대응되는 유사 단어를 검출할 수 있다.  The processor 120 may detect a similar word corresponding to the extracted key word using the word embedding model. The processor 120 may detect a similar word corresponding to a key word corresponding to a partial group among the grouped according to the whole or the importance extracted using the key word embedding model.

프로세서(120)는 자연어 처리가 수행된 제 1 문장에 검출된 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. 프로세서(120)는 자연어 처리가 수행된 제 1 문장의 핵심어의 다음 위치 또는 핵심어들 사이 위치에 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. The processor 120 may generate the second sentence by merging the similar words detected in the first sentence on which the natural language processing is performed. The processor 120 may generate a second sentence by merging similar words having a priority based on the similarity among the similar words searched in the next position or the positions between the keywords of the first sentence in which the natural language processing is performed.

프로세서(120)는 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. 프로세서(120)는 시그모이드 함수에 기초하여, 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득할 수 있다. 프로세서(120)는 우선순위를 가지는 클래스들과 우선순위를 가지는 클래스들 각각의 정규화된 스코어를 함께 제공할 수 있다.The processor 120 may classify 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 the output layer. The processor 120 calculates a score of a binary classification scheme for each of the plurality of classes based on the sigmoid function, and normalizes the score through normalization with respect to the score of each class having priority based on the score. Can be obtained. The processor 120 may provide a normalized score of each of the classes having priority and the classes having priority.

한편, 프로세서(120)는 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 더 판단할 수 있다. 프로세서(120)는 판단 결과, 소정의 조건을 만족하는 경우, 자연어 처리가 수행된 제 1 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 소정의 조건을 만족하지 않는 경우, 제 2 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. Meanwhile, the processor 120 may classify the plurality of classes into a plurality of classes based on a score based on a word frequency and a reverse document frequency for the first sentence on which the natural language processing has been performed and a length of the first sentence on which the natural language processing is performed. It may be further determined whether or not the condition is satisfied. As a result of the determination, when the predetermined condition is satisfied, the processor 120 classifies the first sentence on which the natural language processing is performed into a plurality of classes using the text classification model, and when the predetermined condition is not satisfied, the second sentence A sentence may be classified into a plurality of classes using a text classification model.

모바일 장치(100)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 모바일 장치(100)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 모바일 장치(100)는 모바일 장치(100)의 외부에 위치한 외부 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 예를 들어 모바일 장치(100)는 서버(200)에서 학습된 워드 임베딩 모델 또는 텍스트 분류 모델을 업데이트 주기에 따라 서버(200)로부터 수신할 수 있다.The mobile device 100 may perform wired or wireless communication with another device or a network. To this end, the mobile device 100 may include a communication module supporting at least one of various wired and wireless communication methods. The mobile device 100 may be connected to an external device located outside the mobile device 100 to transmit and receive signals or data. For example, the mobile device 100 may receive the word embedding model or the text classification model learned by the server 200 from the server 200 according to an update cycle.

도 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 mobile device 100 may classify a sentence including text into a plurality of classes using a convolutional neural network based text classification model. In such a case, when the convolutional neural network-based text classification model has a low learning rate or a small amount of learned data, inputting a short sentence may affect classification accuracy classified into a plurality of classes. In addition, when the number of classes is large, the score values of each class become so similar that it is difficult to distinguish them from each other, so that the score of each class cannot give discrimination in operations utilizing the score of each class. Hereinafter, even if a short sentence is input or the number of classes to be classified increases, a method of enabling accurate classification processing and allowing a score of each class to have a discriminating power will be described.

도 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 mobile device 100 performs natural language processing on the first sentence, and then finds a key word in the first sentence. I can make it. The mobile device 100 extracts a prototype of each word for the first sentence, and when the stop word and the non-key word are removed from the first sentence composed of the extracted circles, the mobile device 100 obtains a short sentence "playing a computer python". can do. In this regard, the mobile device 100 may extract "computer" and "python" as key words from the sentence "playing computer python", and detect similar words corresponding to "computer" and "python". The mobile device 100 may detect between "computer" and "python" or "computer" or "in a short sentence" programming "," coding ", and all or part of the" language "detected" computer python ". The second sentence can be generated by merging similar words so that they are located after "python". As shown in FIG. 3, the second sentence may be "play the computer Python programming language."

도 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 mobile apparatus 100 classifying a sentence into a plurality of classes may be applied to a method of classifying a sentence into a plurality of classes.

810 단계에서, 모바일 장치(100)는 제 1 문장에 대해 자연어 처리(Natural Language Processing)를 수행할 수 있다. In operation 810, the mobile device 100 may perform natural language processing on the first sentence.

820 단계에서, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에서 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다. 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에서 단어 빈도 및 역문서 빈도에 기초하여 소정의 기준 이상의 중요도를 갖는 핵심어를 추출할 수 있다.In operation 820, the mobile device 100 may extract 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. The mobile device 100 may extract a key word having an importance greater than or equal to a predetermined criterion based on the word frequency and the reverse document frequency in the first sentence in which the natural language processing is performed.

830 단계에서, 모바일 장치(100)는 워드 임베딩 모델을 이용하여 추출된 핵심어에 대응되는 유사 단어를 검출할 수 있다.In operation 830, the mobile device 100 may detect a similar word corresponding to the extracted key word using the word embedding model.

840 단계에서, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에 검출된 유사 단어를 병합하여 제 2 문장을 생성할 수 있다. 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장의 핵심어의 다음 위치 또는 핵심어들 사이 위치에 검색된 유사 단어 중 유사도에 기초한 우선순위를 가지는 유사 단어를 병합하여 제 2 문장을 생성할 수 있다.In operation 840, the mobile device 100 may generate the second sentence by merging the similar words detected in the first sentence on which the natural language processing is performed. The mobile device 100 may generate a second sentence by merging similar words having a priority based on the similarity among the similar words found in the next position or the positions between the keywords of the first sentence in which the natural language processing is performed.

850 단계에서, 모바일 장치(100)는 생성된 제 2 문장을 아웃풋 레이어의 활성화 함수로 시그모이드 함수를 사용한 컨벌루션 신경망 기반의 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다. 모바일 장치(100)는 시그모이드 함수에 기초하여, 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득할 수 있다. 모바일 장치(100)는 우선순위를 가지는 클래스들과 우선순위를 가지는 클래스들 각각의 정규화된 스코어를 함께 제공할 수 있다.In operation 850, the mobile device 100 may classify 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 the output layer. The mobile device 100 calculates a score of a binary classification scheme for each of the plurality of classes based on the sigmoid function, and scores normalized by normalizing the scores of the classes having priority based on the scores. Can be obtained. The mobile device 100 may provide a normalized score of each of the classes having priority and the classes having priority.

한편, 모바일 장치(100)는 자연어 처리가 수행된 제 1 문장에 대한 단어 빈도 및 역문서 빈도에 기초한 스코어와 자연어 처리가 수행된 제 1 문장의 길이에 기초하여, 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 더 판단할 수 있다. 모바일 장치(100)는 판단 결과, 소정의 조건을 만족하는 경우, 자연어 처리가 수행된 제 1 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류하고, 소정의 조건을 만족하지 않는 경우, 제 2 문장을 텍스트 분류 모델을 이용하여 복수의 클래스들로 분류할 수 있다.Meanwhile, the mobile apparatus 100 may classify the plurality of classes into a plurality of classes based on a score based on a word frequency and an inverse document frequency of the first sentence on which the natural language processing has been performed and a length of the first sentence on which the natural language processing is performed. It may be further determined whether a predetermined condition is satisfied. As a result of the determination, when the mobile terminal 100 satisfies a predetermined condition, the mobile apparatus 100 classifies the first sentence on which the natural language processing is performed into a plurality of classes using the text classification model, and when the predetermined condition is not satisfied, Two sentences can be classified into a plurality of classes using a text classification model.

상술한 문장을 복수의 클래스들로 분류하는 방법에 관한 실시예들은 컴퓨터에서, 문장을 복수의 클래스들로 분류하는 방법을 수행하도록 하는 컴퓨터 판독 가능 저장매체에 저장된 컴퓨터 프로그램 또는 애플리케이션 형태로 제공될 수 있다. 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 문장에 대해 자연어 처리(Natural Language Processing)를 수행하는 단계;
상기 자연어 처리가 수행된 제 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.
제 1 항에 있어서,
상기 제 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.
제 1 항에 있어서,
상기 복수의 클래스들로 분류하는 단계는,
상기 시그모이드 함수에 기초하여, 상기 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하는 단계;
상기 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득하는 단계; 및
상기 우선순위를 가지는 클래스들과 상기 정규화된 스코어를 함께 제공하는 단계;
를 포함하는, 문장을 복수의 클래스들로 분류하는 방법.
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 항에 있어서,
상기 핵심어를 추출하는 단계는,
상기 자연어 처리가 수행된 제 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 문장의 길이에 기초하여, 상기 복수의 클래스들로 분류하기 위한 소정의 조건을 만족하는지 여부를 판단하는 단계를 더 포함하고,
상기 복수의 클래스들로 분류하는 단계는,
상기 판단 결과, 상기 소정의 조건을 만족하는 경우, 상기 자연어 처리가 수행된 제 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.
제 6 항에 있어서,
상기 프로세서는,
상기 자연어 처리가 수행된 제 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.
제 6 항에 있어서,
상기 프로세서는,
상기 시그모이드 함수에 기초하여, 상기 복수의 클래스들 각각에 대한 바이너리 분류 방식의 스코어를 산출하고, 상기 스코어에 기초한 우선순위를 가지는 클래스들 각각의 스코어에 대해 정규화를 통해 정규화된 스코어를 획득하여, 상기 우선순위를 가지는 클래스들과 상기 정규화된 스코어를 함께 제공하는, 문장을 복수의 클래스들로 분류하는 모바일 장치.
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.
제 6 항에 있어서,
상기 프로세서는,
상기 자연어 처리가 수행된 제 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.
제 6 항에 있어서,
상기 프로세서는,
상기 자연어 처리가 수행된 제 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 문장에 대해 자연어 처리(Natural Language Processing)를 수행하는 명령어들;
상기 자연어 처리가 수행된 제 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.
KR1020180038217A 2018-04-02 2018-04-02 Mobile apparatus and method for classifying a sentence into a plurality of classes KR20190115319A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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