KR20230022040A - Apparatus and method for identification and categorization of request message - Google Patents

Apparatus and method for identification and categorization of request message Download PDF

Info

Publication number
KR20230022040A
KR20230022040A KR1020210104172A KR20210104172A KR20230022040A KR 20230022040 A KR20230022040 A KR 20230022040A KR 1020210104172 A KR1020210104172 A KR 1020210104172A KR 20210104172 A KR20210104172 A KR 20210104172A KR 20230022040 A KR20230022040 A KR 20230022040A
Authority
KR
South Korea
Prior art keywords
data
training data
data set
message
request
Prior art date
Application number
KR1020210104172A
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 KR1020210104172A priority Critical patent/KR20230022040A/en
Publication of KR20230022040A publication Critical patent/KR20230022040A/en

Links

Images

Classifications

    • 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
    • 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/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a method for classification of a request message and a device for performing the same. The device for classification of request message according to an embodiment comprises: a data set acquisition unit which acquires a first data set including a plurality of message data each labeled with a first label indicating whether or not a predefined request is included and a second data set including a plurality of message data each labeled with a second label representing a predefined type of request; a data preprocessor unit which performs preprocessing on each of the first data set and the second data set to generate a first training data set including a plurality of first training data from the first data set and generate a second training data set including a plurality of second training data from the second data set; a feature extraction unit which extracts features for each of the plurality of first learning data and the plurality of second learning data based on a probabilistic language model; and a model learning unit which trains a request message identification model to predict whether the predefined request for unlabeled message data is included using characteristics of each of the plurality of first learning data, and trains a request message classification model to predict the type of the predefined request for the unlabeled message data using characteristics of each of the plurality of second learning data. Accordingly, the present invention can accurately classify a plurality of sentences.

Description

요청 메시지 분류 장치 및 방법{APPARATUS AND METHOD FOR IDENTIFICATION AND CATEGORIZATION OF REQUEST MESSAGE}Request message classification apparatus and method {APPARATUS AND METHOD FOR IDENTIFICATION AND CATEGORIZATION OF REQUEST MESSAGE}

개시되는 실시예들은 요청 메시지를 분류하기 위한 기술에 관한 것이다.The disclosed embodiments relate to techniques for classifying request messages.

최근, 재난 대응 및 관리 업무를 위해 SNS(Social Network Service)의 적용은 다양한 방식으로 연구되고 있다. 특히, 미국의 소셜 네트워크 서비스인 트위터(Twitter)와 같은 소셜 미디어 플랫폼은 긴급 및 재난 상황에 조직적으로 대응하기에 유용한 다양한 유형의 정보를 포함하고 있다. Recently, the application of SNS (Social Network Service) for disaster response and management tasks has been studied in various ways. In particular, social media platforms such as Twitter, an American social network service, include various types of information useful for systematic response to emergency and disaster situations.

그런데, 이러한 소셜 미디어 플랫폼은 방대한 양의 정보를 가지고 있을 다양뿐만 아니라, 언어 및 언어 습관이 상이한 다양한 사람들이 메시지를 작성하는 바, 다양한 양식의 메시지 중 재난에 대한 요청을 포함하는 메시지를 식별하고 요청을 분류하여 신속하게 재난 상황에 대응할 필요가 있다.However, these social media platforms not only have a vast amount of information, but also various people with different languages and language habits write messages, identifying and requesting messages including requests for disaster among various types of messages It is necessary to classify and quickly respond to disaster situations.

이에 재난이 발생했을 때 SNS를 통해 업로드 되는 메시지를 신속하고 정확하게 식별하고 분류의 필요성이 점점 증가하고 있다.Accordingly, when a disaster occurs, the need to quickly and accurately identify and classify messages uploaded through SNS is increasing.

대한민국 공개특허공보 제 10-2001-0064269호(2001.07.09. 공개)Republic of Korea Patent Publication No. 10-2001-0064269 (published on July 9, 2001)

개시되는 실시예들은 요청 메시지를 식별 및 분류에 필요한 학습 데이터를 구성하기 위한 기술적인 수단을 제공하기 위한 것이다.The disclosed embodiments are intended to provide technical means for constructing learning data necessary for identifying and classifying request messages.

일 실시예에 따라 메시지 요청 메시지 분류 장치는, 각각 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제1 데이터 세트 및 각각 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제2 데이터 세트를 획득하는 데이터 세트 획득부, 상기 제1 데이터 세트 및 상기 제2 데이터 세트 각각에 대한 전처리를 수행하여 상기 제1 데이터 세트로부터 복수의 제1 학습 데이터를 포함하는 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트로부터 복수의 제2 학습 데이터를 포함하는 제2 학습 데이터 세트를 생성하는 데이터 전처리부, 확률적 언어 모델에 기초하여 상기 복수의 제1 학습 데이터 및 상기 복수의 제2 학습 데이터 각각에 대한 특징을 추출하는 특징 추출부 및 상기 복수의 제1 학습 데이터 각각에 대한 특징을 이용하여 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델을 학습시키고, 상기 복수의 제2 학습 데이터 각각에 대한 특징을 이용하여 상기 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시키는 모델 학습부를 포함한다.According to an embodiment, an apparatus for classifying a message request message includes a first data set including a plurality of message data labeled with a first label indicating whether each predefined request is included, and a first data set each indicating the type of the predefined request. A data set acquisition unit acquiring a second data set including a plurality of message data labeled with 2 labels, performing preprocessing on each of the first data set and the second data set to obtain a plurality of data sets from the first data set. A data preprocessing unit for generating a first training data set including first training data and generating a second training data set including a plurality of second training data from the second data set, based on a probabilistic language model The pre-definition of unlabeled message data by using a feature extractor extracting a feature for each of the plurality of first training data and the plurality of second training data and a feature for each of the plurality of first training data. For learning a request message identification model for predicting whether or not a requested request is included, and for predicting the type of the predefined request for the unlabeled message data using a feature of each of the plurality of second training data and a model learning unit for learning a request message classification model.

상기 데이터 전처리부는, 상기 제1 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제2 학습 데이터를 생성할 수 있다. The data pre-processing unit generates the first training data set through at least one of removing and converting some of the characters included in each of the plurality of message data included in the first data set, and The second learning data may be generated through at least one of removing and converting some of the characters included in each of the plurality of included message data.

상기 확률적 언어 모델은, 상기 복수의 제1 학습 데이터 각각을 사전 설정된 하나 이상의 문자열 단위로 분할하여 상기 복수의 제1 학습 데이터 각각에 대한 복수의 문자열을 생성하고, 상기 복수의 문자열 중 적어도 일부를 병합(merge)하여 생성된 적어도 하나의 단어를 포함하는 단어 세트를 생성하고, 상기 단어 세트에 포함된 상기 적어도 하나의 단어 각각의 출현 빈도에 기초하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model generates a plurality of strings for each of the plurality of first training data by dividing each of the plurality of first training data into one or more preset string units, and at least a part of the plurality of strings A word set including at least one word generated by merging is generated, and a feature vector for each of the plurality of first training data is based on an appearance frequency of each of the at least one word included in the word set. can be extracted.

상기 확률적 언어 모델은, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 단어 세트에 포함된 적어도 하나의 단어 각각에 제1 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model assigns a first weight to each of at least one word included in the word set using TF-IDF (Term Frequency-Inverse Document Frequency) to obtain a characteristic for each of the plurality of first training data vectors can be extracted.

상기 확률적 언어 모델은, 상기 단어 세트에 포함된 적어도 하나의 단어 중 사전 설정된 단어에 대해 사전 설정된 규칙에 기초한 제2 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model may extract a feature vector for each of the plurality of first training data by assigning a second weight based on a preset rule to a preset word among at least one word included in the word set. there is.

상기 모델 학습부는, 상기 복수의 제2 학습 데이터 중 적어도 상기 사전 정의된 요청의 종류가 유사한 둘 이상의 데이터 사이의 유사도가 작아지도록 상기 요청 메시지 분류 모델을 학습시킬 수 있다. The model learning unit may train the request message classification model such that a similarity between at least two pieces of data having a similar type of the predefined request among the plurality of second training data becomes smaller.

마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 상기 요청 메시지 식별 모델 및 상기 요청 메시지 분류 모델의 성능을 평가하는 성능 평가부를 더 포함할 수 있다. The method may further include a performance evaluation unit that evaluates performance of the request message identification model and the request message classification model based on at least one of a micro-average measurement and a macro-average measurement.

일 실시예에 따라 메시지 요청 메시지 분류 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 각각 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제1 데이터 세트 및 각각 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제2 데이터 세트를 획득하는 단계, 상기 제1 데이터 세트 및 상기 제2 데이터 세트 각각에 대한 전처리를 수행하여 상기 제1 데이터 세트로부터 복수의 제1 학습 데이터를 포함하는 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트로부터 복수의 제2 학습 데이터를 포함하는 제2 학습 데이터 세트를 생성하는 단계, 확률적 언어 모델에 기초하여 상기 복수의 제1 학습 데이터 및 상기 복수의 제2 학습 데이터 각각에 대한 특징을 추출하는 단계 및 상기 복수의 제1 학습 데이터 각각에 대한 특징을 이용하여 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델을 학습시키고, 상기 복수의 제2 학습 데이터 각각에 대한 특징을 이용하여 상기 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시키는 단계를 포함한다. According to an embodiment, a method of classifying a message request message is a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, each of which predefined requests. A first data set including a plurality of message data labeled with a first label indicating whether to include a first data set and a second data set including a plurality of message data each labeled with a second label indicating a type of predefined request obtaining, generating a first training data set including a plurality of first training data from the first data set by performing preprocessing on each of the first data set and the second data set; generating a second training data set including a plurality of second training data from the set; extracting a feature for each of the plurality of first training data and the plurality of second training data based on a probabilistic language model; and learning a request message identification model for predicting whether or not the predefined request for unlabeled message data is included using features of each of the plurality of first training data, and learning the plurality of second training data. and training a request message classification model to predict the type of the predefined request for the unlabeled message data using the feature for each.

상기 생성하는 단계는, 상기 제1 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제2 학습 데이터를 생성할 수 있다. The generating may include generating the first training data set through at least one of removing and converting some of characters included in each of a plurality of message data included in the first data set, and generating the second data set. The second learning data may be generated through at least one of removing and converting some of the characters included in each of the plurality of message data included in .

상기 확률적 언어 모델은, 상기 복수의 제1 학습 데이터 각각을 사전 설정된 하나 이상의 문자열 단위로 분할하여 상기 복수의 제1 학습 데이터 각각에 대한 복수의 문자열을 생성하고, 상기 복수의 문자열 중 적어도 일부를 병합(merge)하여 생성된 적어도 하나의 단어를 포함하는 단어 세트를 생성하고, 상기 단어 세트에 포함된 상기 적어도 하나의 단어 각각의 출현 빈도에 기초하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model generates a plurality of strings for each of the plurality of first training data by dividing each of the plurality of first training data into one or more predetermined string units, and at least some of the plurality of strings A word set including at least one word generated by merging is generated, and a feature vector for each of the plurality of first training data is based on an appearance frequency of each of the at least one word included in the word set. can be extracted.

상기 확률적 언어 모델은, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 단어 세트에 포함된 적어도 하나의 단어 각각에 제1 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model assigns a first weight to each of at least one word included in the word set using term frequency-inverse document frequency (TF-IDF) to obtain a characteristic for each of the plurality of first training data vectors can be extracted.

상기 확률적 언어 모델은, 상기 단어 세트에 포함된 적어도 하나의 단어 중 사전 설정된 단어에 대해 사전 설정된 규칙에 기초한 제2 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출할 수 있다. The probabilistic language model may extract a feature vector for each of the plurality of first training data by assigning a second weight based on a preset rule to a preset word among at least one word included in the word set. there is.

상기 학습시키는 단계는, 상기 복수의 제2 학습 데이터 중 적어도 상기 사전 정의된 요청의 종류가 유사한 둘 이상의 데이터 사이의 유사도가 작아지도록 상기 요청 메시지 분류 모델을 학습시킬 수 있다. In the training, the request message classification model may be trained so that a similarity between at least two pieces of data having a similar type of the predefined request among the plurality of second training data becomes smaller.

마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 상기 요청 메시지 식별 모델 및 상기 요청 메시지 분류 모델의 성능을 평가하는 성능 평가부를 더 포함할 수 있다. The method may further include a performance evaluation unit that evaluates performance of the request message identification model and the request message classification model based on at least one of a micro-average measurement and a macro-average measurement.

개시되는 실시예들에 따르면, 트위터의 트윗과 같이 SNS 상에 업로드하는 매우 짧은 길이의 메시지 데이터에 사전 정의된 요청의 포함 여부를 식별하고, 사전 정의된 요청의 종류에 따라 메시지를 분류할 수 있다. According to the disclosed embodiments, it is possible to identify whether a predefined request is included in message data of a very short length uploaded on SNS, such as a tweet of Twitter, and classify the message according to the type of the predefined request. .

개시되는 실시예들에 따르면, 짧은 단어로 이루어진 문장에 대해서 유사 의미로 분류될 수 있는 복수의 문장들을 정확하게 분류할 수 있다. According to the disclosed embodiments, it is possible to accurately classify a plurality of sentences that can be classified with similar meanings with respect to sentences made of short words.

도 1은 일 실시예에 따른 요청 메시지 분류 장치를 설명하기 위한 블록도
도 2는 일 실시예에 따른 학습 데이터를 구성하는 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도
도 3은 일 실시예에 따른 특징 벡터 추출을 위한 확률적 언어 모델을 설명하기 위한 블록도
도 4는 일 실시예에 따른 요청 메시지 분류 방법을 설명하기 위한 순서도
도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a block diagram for explaining a request message classification apparatus according to an embodiment
2 is an exemplary diagram of pseudocode for explaining a method of constructing learning data according to an exemplary embodiment;
3 is a block diagram for explaining a probabilistic language model for feature vector extraction according to an exemplary embodiment;
4 is a flowchart for explaining a method of classifying a request message according to an embodiment
5 is a block diagram for illustrating and describing a computing environment including a computing device according to an exemplary embodiment;

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

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

도 1은 일 실시예에 따른 요청 메시지 분류 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an apparatus for classifying a request message according to an exemplary embodiment.

일 실시예에 따른 요청 메시지 분류 장치(100)는 임의의 메시지 데이터에 사전 정의된 요청이 포함되어 있는지 여부를 식별하고, 사전 정의된 요청이 포함되어 있는 경우, 식별된 요청의 종류에 기초하여 메시지 데이터를 분류한다. The request message classification apparatus 100 according to an embodiment identifies whether a predefined request is included in any message data, and if the predefined request is included, a message is sent based on the type of the identified request. classify the data

메시지 데이터는 예를 들어, 트위터의 트윗과 같이 SNS 상에 업로드하는 매우 짧은 길이의 포스팅을 의미한다 Message data refers to postings of very short length that are uploaded on social media, for example, tweets on Twitter.

도시된 바와 같이, 일 실시예에 따른 요청 메시지 분류 장치(100)는 학습 데이터 세트 획득부(110), 데이터 전처리부(120), 특징 추출부(130) 및 모델 학습부(140)를 포함한다. As shown, the request message classification apparatus 100 according to an embodiment includes a learning data set acquisition unit 110, a data pre-processing unit 120, a feature extraction unit 130, and a model learning unit 140. .

데이터 세트 획득부(110)는 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 제1 데이터 세트 및 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 제2 데이터 세트를 획득한다.The data set acquisition unit 110 acquires a first data set labeled with a first label indicating whether a predefined request is included and a second data set labeled with a second label indicating the type of the predefined request.

일 실시예에 따라 학습 데이터 세트 획득부(110)는 사용자에 의해 입력된메시지에 사전 정의된 요청의 포함 여부를 식별하고, 사전 정의된 요청의 종류에 따라 메시지에 포함된 요청의 종류를 명확히 분류하기 위해 요청 메시지 분류 장치(100)의 사전 정의된 요청의 포함 여부를 나타내는 라벨로 라벨링된 데이터 세트 및 사전 정의된 요청의 종류를 나타내는 라벨로 라벨링된 데이터 센트를 획득할 수 있다. According to an embodiment, the learning data set acquisition unit 110 identifies whether a message input by a user includes a predefined request, and clearly classifies the type of request included in the message according to the type of the predefined request. To do this, a data set labeled with a label indicating whether or not a predefined request is included in the request message classification apparatus 100 and a data center labeled with a label indicating the type of the predefined request may be obtained.

이때, 캠브리지 사전과 옥스퍼드 사전에 따르면, 요청은 무언가를 부탁하거나 누군가에게 어떤 것을 해달라고, 공손하고 사회적인 방법으로 제안하는 것을 의미한다. 그러나, 사람들은 메시지를 작성하는 동안 창의적이고 불규칙한 언어를 사용하며, 비정형적, 비문법적이고 간결한 방식으로 표현하므로, 요청을 효율적으로 식별하는데 도움을 제공하기 위해 요청의 의미를 확장할 필요가 있다. Here, according to Cambridge and Oxford dictionaries, request means to ask for something or to suggest that someone do something in a polite and social way. However, as people use creative and irregular language while composing messages and express themselves in unstructured, non-grammatical and concise ways, it is necessary to extend the semantics of requests to provide assistance in effectively identifying them.

따라서, 사전 정의된 요청은 캠브리지 사전 또는 옥스퍼드 사전에 정의된 '요청(Request)'을 확장함으로써 정의될 수 있으며, 사전 정의된 요청은 예를 들어, '부상이 있어서 응급처치 상자가 필요합니다(I have an injury, need first aid box)'와 같은 선언적 요청(Declarative request), '응급 처치 상자가 좀 가져다 주시겠어요?(could you bring first aid box?)' 와 같은 의문 요청(Interrogative request), 간절한 요청(Imperative request)의 세 가지 기본 요청을 포함할 수 있으며, 간절한 요청은 예를 들어, '응급 처치 상자 갖다 줘(Get me first aid box)'와 같은 명령(Command), '구급 상자 좀 주세요(Bring me first aid box, please)'와 같은 사전적 의미의 요청(Request)의 두 가지 하위 요청을 포함하도록 확장될 수 있다. Thus, a predefined request can be defined by extending 'Request' defined in the Cambridge Dictionary or the Oxford Dictionary, where a predefined request is, for example, 'I am injured and I need a first aid kit (I am injured). Declarative requests such as “have an injury, need first aid box”, interrogative requests such as “could you bring first aid box?”, and earnest requests. Imperative requests can include three basic requests, and an earnest request can include, for example, a command such as 'Get me first aid box', a command such as 'Bring me a first aid box' It can be extended to include two sub-requests of a dictionary meaning request such as 'me first aid box, please'.

사전 정의된 요청의 종류는, 사전 정의된 요청을 분류하기 위한 카테고리로서 예를 들어, 음식 요청, 의료 요청, 보호소 요청, 옷 요청, 돈 요청, 자원 요청 등 재난 또는 비상 상태 동안 긴급하게 처리되어야 하는 요청을 포함할 수 있다. Kinds of predefined requests are categories for classifying predefined requests, for example, food requests, medical requests, shelter requests, clothes requests, money requests, resource requests, etc. may contain requests.

일 실시예에 따르면, 구체적으로, 데이터 세트 획득부(110)는 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 제1 데이터 세트를 획득할 수 있다. 즉, 제1 데이터 세트는 요청 포함 및 요청 불포함의 두 클래스로 구성될 수 있다. According to an embodiment, in detail, the data set acquisition unit 110 may acquire a first data set labeled with a first label indicating whether a predefined request is included. That is, the first data set may be composed of two classes: with request and without request.

또한, 일 실시예에 따르면, 데이터 세트 획득부(110)는 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 제2 데이터 세트를 획득할 수 있다. 즉, 제2 데이터 세트는 예를 들어, 음식, 의료, 보호소, 옷, 돈 자원의 6개의 클래스로 구성될 수 있다. Also, according to an embodiment, the data set acquisition unit 110 may acquire a second data set labeled with a second label indicating a predefined request type. That is, the second data set may consist of, for example, six classes of resources: food, medical care, shelter, clothing, and money.

데이터 전처리부(120)는 제1 데이터 세트 및 제2 데이터 세트 각각에 대한 전처리를 수행하여 제1 데이터 세트로부터 제1 학습 데이터 세트를 생성하고, 제2 데이터 세트로부터 제2 학습 데이터를 생성한다. The data preprocessor 120 performs preprocessing on each of the first data set and the second data set to generate a first training data set from the first data set and second training data from the second data set.

일 실시예에 따르면, 데이터 전처리부(120)는 제1 데이터 세트 및 제2 데이터 세트 각각에 포함된 하나 이상의 데이터에 포함된 문자를 식별하고, 식별된 문자 일부의 제거 및 변환 중 적어도 하나를 통해 학습 데이터를 생성할 수 있다. According to an embodiment, the data pre-processing unit 120 identifies characters included in one or more data included in each of the first data set and the second data set, and removes or converts some of the identified characters through at least one of training data can be generated.

일 실시예에 따르면, 데이터 전처리부(120)는 사전 설정된 순서에 따라 하나 이상의 데이터에서 식별된 문자 일부의 제거 또는 변환을 통해 학습 데이터를 생성할 수 있다. According to an embodiment, the data pre-processing unit 120 may generate learning data by removing or converting some of the characters identified from one or more pieces of data according to a preset sequence.

도 2는 일 실시예에 따른 학습 데이터를 생성하는 방법을 설명하기 위한 수도 코드(pseudocode)의 예시도이다. 2 is an exemplary diagram of pseudocode for explaining a method of generating learning data according to an exemplary embodiment.

구체적으로, 도 2는 데이터 전처리부(120)에 수행되는 데이터 처리 알고리즘 1을 도시한다. Specifically, FIG. 2 shows data processing algorithm 1 performed by the data pre-processing unit 120 .

도 2를 참조하면, 알고리즘 1(200)은 알고리즘 1을 수행하기 위한 입출력 데이터 정보 및 파라미터 정보(210), 사전 설정된 순서에 기초하여 하나 이상의 데이터에 포함된 문자를 식별하고, 식별된 문자 일부의 제거 및 변환하기 위한 복수의 함수에 대한 실행 순서를 포함하는 실행 함수 목록(220), 태그 일반화 함수(230), 문자 오기 정정 함수(240) 및 표제어 추출 함수(250)를 포함한다. Referring to FIG. 2, Algorithm 1 (200) identifies characters included in one or more data based on input/output data information and parameter information (210) for performing Algorithm 1 and a preset sequence, and identifies some of the identified characters. It includes an execution function list 220 including an execution sequence for a plurality of functions for removing and converting, a tag generalization function 230, a character misspelling function 240 and a lemma extraction function 250.

일 실시예에 따르면, 데이터 전처리부(120)는 사전 설정된 순서에 따라 하나 이상의 데이터에서 식별된 문자 일부의 제거 또는 변환을 통해 학습 데이터를 생성할 수 있다. According to an embodiment, the data pre-processing unit 120 may generate learning data by removing or converting some of the characters identified from one or more pieces of data according to a preset sequence.

한편, 일 실시예에 따르면, 사전 설정된 순서는 알고리즘 1의 함수 실행 순서(220)와 동일한 순서로 수행될 수 있다. Meanwhile, according to an embodiment, the preset order may be performed in the same order as the function execution order 220 of Algorithm 1.

먼저, 데이터 전처리부(120)는 데이터 실행 함수 목록(220)에 포함된 RemovingNonASCIICharacters(tw) 함수를 통해 이상의 데이터에 포함된 NON-ASCII 문자를 제거할 수 있다. First, the data preprocessing unit 120 may remove NON-ASCII characters included in the above data through the RemovingNonASCIICharacters(tw) function included in the data execution function list 220.

이후, 데이터 전처리부(120)는 실행 함수 목록(220)에 포함된 RemoningNonEnglishTweet(tw NOASCII ) 함수를 통해 NON-ASCII 문자가 제거된 하나의 데이터에 포함된 영어를 제외한 타 언어를 모두 제거하여 영어 이외의 언어로 인해 낭비되는 훈련시간을 줄일 수 있다. Thereafter, the data pre-processing unit 120 removes all languages other than English included in one data from which NON-ASCII characters are removed through the RemoningNonEnglishTweet (tw NOASCII ) function included in the execution function list 220, so that all languages other than English are removed. It can reduce training time wasted due to language.

이후, 데이터 전처리부(120)는 실행 함수 목록(220)에 포함된 LowerCaseConversion(tw Eng )를 통해 타 언어가 모두 제거된 하나 이상의 데이터에 포함된 영어를 소문자로 변환하여 대문자를 기반으로 한 단어의 분화를 방지할 수 있다. Thereafter, the data pre-processing unit 120 converts English included in one or more data from which all other languages have been removed to lowercase letters through LowerCaseConversion (tw Eng ) included in the execution function list 220 to obtain a word based on uppercase letters. fragmentation can be prevented.

이후, 데이터 전처리부(120)는 실행 함수 목록(220)에 포함된 RemovingPunction(tw LC )를 통해 소문자로 변한된 영문자 중 불용어를 제거하여 불필요한 정보를 제거할 수 있다. Thereafter, the data pre-processing unit 120 may remove unnecessary information by removing stopwords among English letters converted to lowercase through RemovingPunction (tw LC ) included in the execution function list 220 .

이후, 데이터 전처리부(120)는 실행 함수 목록(220)에 포함된 RemovingStopWods(tw NoP )를 통해 하나 이상의 데이터에서 구두점을 제거할 수 있다. Thereafter, the data preprocessing unit 120 may remove punctuation marks from one or more data through RemovingStopWods (tw NoP ) included in the execution function list 220 .

이후, 데이터 전처리부(120)는 실행 함수 목록(220)에 포함된 RemovingTweetsHavingNullSinglWordLength(tw NoSW )를 통해 하나 이상의 데이터 중 0 또는 단일 단어 길이 문자를 제거할 수 있다. Thereafter, the data preprocessing unit 120 may remove zero or single word length characters from one or more data through RemovingTweetsHavingNullSinglWordLength (tw NoSW ) included in the execution function list 220 .

이후, 데이터 전처리부(120)는 태그 일반화 함수(230)인, GeneralizationOfTags(tw L>p )를 통해 하나 이상의 데이터 중 태그(tag)를 일반화하여 태그 정보를 보존할 수 있다. Thereafter, the data preprocessing unit 120 may generalize a tag among one or more pieces of data through the tag generalization function 230, GeneralizationOfTags(tw L>p ), and preserve tag information.

태그 일반화 함수(230)는 해시태그, 숫자, 멘션(mention), 리트윗(retweet) 및 하이퍼링크를 포함하는 다양한 태그를 일반화하는 기능을 수행할 수 있다. 예를 들어, 태그 일반화 함수(230)는 하나 이상의 데이터에 포함된'숫자'는 NUM, 'www.example123.com'은 URL 로 'RT @user-name'은 RT로, '@ user-name'은 MENT로 대체할 수 있다. 예를 들면, 태그 일반화 함수(230)는 데이터“He is going to school @akram, www.example.com" 는 'He is going to school MENT URL'로 일반화 할 수 있다. The tag generalization function 230 may perform a function of generalizing various tags including hashtags, numbers, mentions, retweets, and hyperlinks. For example, the tag generalization function 230 converts a 'number' in one or more pieces of data to NUM, 'www.example123.com' to URL, 'RT @user-name' to RT, '@ user-name' can be replaced with MENT. For example, the tag generalization function 230 may generalize data “He is going to school @akram, www.example.com” to “He is going to school MENT URL”.

이후, 데이터 전처리부(120)는 문자 오기 정정 함수(240)인, SpellCorrection(tw GoT )를 통해 영문자에 포함된 오기를 정정할 수 있다. Thereafter, the data pre-processing unit 120 may correct misspellings included in English characters through the character misspelling correction function 240, SpellCorrection(tw GoT ).

이후, 데이터 전처리부(120)는 태그가 일반화된 영문자를 표제어 추출(Lemmatization) 및 어간 추출(Stemming) 중 적어도 하나를 통해 영문자를 변환할 수 있다. Thereafter, the data pre-processing unit 120 may convert the English letters of which tags are generalized through at least one of lemmatization and stemming.

이후, 데이터 전처리부(120)는 표제어 추출 함수(250)인, SpellCorrection(tw GoT )를 통해 영문자를 기본 형태 영문자로 변환할 수 있다.Thereafter, the data preprocessing unit 120 may convert English letters to basic English letters through SpellCorrection(tw GoT ), which is the lemma extraction function 250 .

구체적으로, 표제어 추출 함수(250)는 사전(dictionary)에 기초하여 불용어가 제거된 영문자를 기본 형태 영문자로 변환할 수 있다. 예를 들어, “He writes a letter”와 “He wrote a letter”를 동일하게 “He write a letter”로 변환 할 수 있다. 어간 추출은 어근을 중심으로 규칙에 기반하여 어미 제거 혹은 변환할 수 있다. Specifically, the lemma extraction function 250 may convert English letters from which stop words are removed based on a dictionary to basic English letters. For example, “He writes a letter” and “He wrote a letter” can be converted to “He writes a letter”. Stem extraction can remove or convert suffixes based on rules centering on the root.

일 실시예에 따라 제1 데이터 세트 및 제2 데이터 세트 각각에 포함된 하나 이상의 데이터에 포함된 문자를 식별하고, 식별된 문자 일부의 제거 및 변환 하기 위한 사전 설정된 순서는 상술한 순서에 기초하여 수행될 수 있으나, 이에 한정되지 않는다. According to an embodiment, a predetermined sequence for identifying characters included in one or more pieces of data included in each of the first data set and the second data set, and removing and converting some of the identified characters is performed based on the above-described sequence. It may be, but is not limited thereto.

특징 추출부(130)는 확률적 언어 모델에 기초하여 제1 학습 데이터 세트 및 제2 학습 데이터 세트 각각에 포함된 학습 데이터에 대한 특징을 추출한다. The feature extractor 130 extracts features of training data included in each of the first training data set and the second training data set based on the probabilistic language model.

일 실시예에 따르면, 확률적 언어 모델은 제1 학습 데이터 세트에 포함된 하나 이상의 데이터 각각을 N(Number, 자연수) 이하의 문자를 포함하는 문자열 단위로 절단하고, 절단된 하나 이상의 데이터 일부를 병합(merge)하여 적어도 하나의 단어를 포함하는 단어 세트를 생성하고, 단어 세트에 기초하여 제1 학습 데이터 세트에 대한 특징 벡터를 추출할 수 있다. According to an embodiment, the probabilistic language model cuts each of one or more pieces of data included in the first training data set into string units including characters of N (Number, natural number) or less, and merges parts of the one or more cut pieces of data. A word set including at least one word may be generated by merging, and a feature vector for the first training data set may be extracted based on the word set.

또한, 일 실시예에 따르면, 확률적 언어 모델은 단어 세트에 대해 TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 단어 세트에 포함된 적어도 하나의 문자 각각에 제1 가중치를 부여하여 제1 학습 데이터에 대한 특징 벡터를 추출할 수 있다. Further, according to an embodiment, the probabilistic language model assigns a first weight to each of at least one character included in the word set using TF-IDF (Term Frequency-Inverse Document Frequency) for the word set to obtain a first value. A feature vector for training data can be extracted.

또한, 일 실시예에 따르면, 확률적 언어 모델은 단어 세트에 포함된 적어도 하나의 문자 중 특정 문자에 대한 사전 설정된 규칙에 기초하여 제2 가중치를 부여하여 제1 학습 데이터에 대한 특징 벡터를 추출할 수 있다. In addition, according to an embodiment, the probabilistic language model extracts a feature vector for the first training data by assigning a second weight based on a preset rule for a specific character among at least one character included in the word set. can

도 3은 일 실시예에 따른 확률적 언어 모델을 설명하기 위한 구조도이다. 3 is a structural diagram illustrating a probabilistic language model according to an exemplary embodiment.

구체적으로, 도 3은 변형된 N-gram 및 규칙 기반 구조를 포함하는 확률적 언어 모델을 설명하기 위한 구조도이다. Specifically, FIG. 3 is a structural diagram for explaining a probabilistic language model including a modified N-gram and a rule-based structure.

일 실시예에 따르면 특징 추출부(120)는 확률적 언어 모델에 기초하여 제1 학습 데이터 세트 및 제2 학습 데이터 세트 각각에 포함된 학습 데이터에 대한 특징을 추출할 수 있다. 이때, 확률적 언어 모델은 변형된 N-gram 및 규칙 기반 구조를 포함할 수 있다. According to an embodiment, the feature extractor 120 may extract features of training data included in each of the first training data set and the second training data set based on a probabilistic language model. In this case, the probabilistic language model may include a modified N-gram and a rule-based structure.

도 3을 참조하면, 확률적 언어 모델은 TF 수치를 계산하기 위한 변형된 N-gram 구조(310)(이하, 'TF 구조'), TF-IDF 수치를 계산하기 위한 변형된 N-gram 구조(320) (이하, 'TF-IDF 구조') 및 규칙 기반 특징 구조(350)를 포함한다. Referring to FIG. 3, the probabilistic language model includes a modified N-gram structure 310 (hereinafter referred to as 'TF structure') for calculating TF values, and a modified N-gram structure for calculating TF-IDF values ( 320) (hereinafter 'TF-IDF structure') and a rule-based feature structure 350.

일 실시예에 따르면, 특징 추출부(120)는 N-gram을 변형하여 학습 데이터 세트에 포함된 하나 이상의 데이터 각각을 N(Number, 자연수) 이하의 문자를 포함하는 문자열 단위로 절단하고, 절단되 하나 이상의 데이터 일부를 병합(merge)하여 적어도 하나의 단어를 포함하는 단어 세트를 생성할 수 있다. 이때, N은 3인 것으로 가정한다. According to an embodiment, the feature extractor 120 transforms N-grams, cuts each of one or more pieces of data included in the training data set into character string units including N (Number, natural numbers) or less characters, and cuts A word set including at least one word may be generated by merging one or more pieces of data. At this time, it is assumed that N is 3.

구체적으로, 특징 추출부(120)에 의해 생성되는 단어 세트는 변형된 N-gram을 통해 생성될 수 있다. 즉, 변형된 N-gram은 하나의 문자를 포함하는 문자열 단위로 절단(N=1)하고, 두개의 문자를 포함하는 문자열 단위로 절단(N=2) 및 세 개의 문자를 포함하는 문자열 단위로 절단(N=3)하여, Unigrams, bigrams 및 trigrams 을 획득하고, Unigrams 및 bigrams 과 bigrams 및 trigrams 각각을 병합하여 단어 세트를 생성할 수 있다. Specifically, the word set generated by the feature extractor 120 may be generated through modified N-grams. That is, the modified N-gram is cut into string units including one character (N=1), cut into string units including two characters (N=2), and string units including three characters. By cutting (N=3), Unigrams, bigrams, and trigrams are obtained, and a word set can be generated by merging Unigrams and bigrams with bigrams and trigrams, respectively.

TF 구조(310)는 변형된 N-gram을 통해 단어 빈도(Term Frequency)에 기초하여 단어 세트에 포함된 적어도 하나의 문자 각각에 제1 가중치를 부여하기 위한 특징 벡터를 추출하는 구조를 포함한다. The TF structure 310 includes a structure for extracting a feature vector for assigning a first weight to each of at least one character included in a word set based on a term frequency through a modified N-gram.

TF-IDF 구조(320)는 변형된 N-gram을 통해 역문서 빈도(Term Frequency - Inverse Document Frequency)에 기초하여 단어 세트에 포함된 적어도 하나의 문자 각각에 제1 가중치를 부여하기 위한 특징 벡터를 추출하는 구조를 포함한다. The TF-IDF structure 320 generates a feature vector for assigning a first weight to each of at least one character included in a word set based on a term frequency-inverse document frequency through a modified N-gram. Contains structure to extract.

규칙 기반 특징 구조(330)는 단어 세트에 포함된 적어도 하나의 문자 중 특문자에 대한 사전 설정된 규칙에 기초하여 제2 가중치를 부여하여 학습 데이터에 대한 특징 벡터를 추출하는 구조를 포함한다. 규칙 기반 특징 구조(330)에 초함된 Ruled-based Feature 가 사전 설정되 규칙 기반의 특징 추출을 의미한다. 여기서 사전 설정된 규칙은 표1에 도시된 바와 같으나, 이에 한정 되는 것은 아니다. The rule-based feature structure 330 includes a structure for extracting a feature vector for training data by assigning a second weight based on a preset rule for a special character among at least one character included in a word set. The Ruled-based Feature included in the rule-based feature structure 330 is preset and means rule-based feature extraction. Here, the preset rules are as shown in Table 1, but are not limited thereto.

1One \b\b Represents the word boundaryRepresents the word boundary 22 .. indicates any character except a newlineindicates any character except a newline 33 ** Represents zero or more occurrence of the precedingRepresents zero or more occurrences of the preceding 44 ?? Represents zero or one occurrence of the precedingRepresents zero or one occurrence of the preceding 55 || Refers to OR operatorRefers to OR operator 66 \s\s Used to match whitespace characters i.e., tab, return etc.Used to match whitespace characters i.e., tab, return etc. 77 \w\w Refers to word character i.e., a-z, A-Z, _ and 0-9.Refers to word character i.e., a-z, A-Z, _ and 0-9.

모델 학습부(140)는 제1 학습 데이터 세트를 이용하여 라벨링되지 않은 데이터에 대한 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델 및 제2 학습 데이터 세트를 이용하여 라벨링되지 않은 데이터에 대한 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시킨다.The model learning unit 140 uses a request message identification model for predicting whether or not a predefined request for unlabeled data is included using the first training data set and unlabeled data using the second training data set. Train a request message classification model to predict the type of predefined request for

일 실시예에 따르면, 모델 학습부(140)는 제2 학습 데이터 세트에 포함된 적어도 사전 정의된 요청의 종류가 유사한 둘 이상의 데이터 사이의 유사도가 작아지도록 요청 메시지 분류 모델을 학습시킬 수 있다. According to an embodiment, the model learning unit 140 may train a request message classification model such that a similarity between two or more pieces of data included in the second training data set having similar types of at least predefined requests becomes smaller.

예를 들어, 일반적인 N-gram을 통한 "He love me"와 "He like me"의 두 문장의 코사인 유사성은 0.6이다. 모델 학습부(140)는 변형된 N-gram을 포함하는 확률적 언어 모델을 학습시켜 "He love me"와 "He like me" 사이의 유사도가 작아지도록 학습시킬 수 있다. 일 실시예에 따라, 확률적 언어 모델을 통한 "He love me"와 "He like me" 사이의 유사도는 uni-grams+bi-grams 및 uni+bi+trigrams 을 사용한 경우, 각각 0.4 와 0.333으로 감소할 수 있다. For example, the cosine similarity of the two sentences "He loves me" and "He like me" through a general N-gram is 0.6. The model learning unit 140 A probabilistic language model including modified N-grams may be trained to reduce the similarity between “He loves me” and “He like me”. According to an embodiment, the similarity between “He love me” and “He like me” through a probabilistic language model is reduced to 0.4 and 0.333 when uni-grams+bi-grams and uni+bi+trigrams are used, respectively. can do.

한편, 일 실시예에 따르면, 요청 메시지 분류 장치(100)는 마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 요청 메시지 식별 모델 및 요청 메시지 분류 모델의 성능을 평가하는 성능 평가부를 더 포함할 수 있다. Meanwhile, according to an embodiment, the request message classification apparatus 100 evaluates the performance of the request message identification model and the request message classification model based on at least one of micro-average measurement and macro-average measurement. It may further include a performance evaluation unit that does.

표 2는 메시지 식별 및 분류에 사용된 7개의 분류기 목록을 포함한다. Table 2 contains a list of seven classifiers used for message identification and classification.

S#S# Classifier ModelClassifier Model 1One Decision Tree (DT)Decision tree (DT) 22 Gradient Boosting (GB)Gradient Boosting (GB) 33 Logistic Regression (LR)Logistic Regression (LR) 44 Multilayer Perceptron (MLP)Multilayer Perceptron (MLP) 55 Naive Bayes (NB)Naive Bayes (NB) 66 Support Vector Machine (SVM)Support Vector Machine (SVM) 77 Random Forest (RForest)Random Forest (RForest)

일 실시예에 따르면, 성능 평가부는 마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 요청 메시지 식별 모델 및 요청 메시지 분류 모델의 성능을 평가할 수 있다. According to an embodiment, the performance evaluation unit may evaluate performance of the request message identification model and the request message classification model based on at least one of a micro-average measurement and a macro-average measurement.

마이크로 평균 인스턴스에 대한 측정값을 집계하여 문서당 평균값으로 간주하는 방법으로서, 각 하나 이상의 데이터에 동일한 가중치를 부여하고, 마이크로 평균은 발생 횟수에 따라 계산되므로 발생 횟수가 많은 클래스의 중요성이 더 커질 수 있다. A method of aggregating measurements of micro-average instances and considering them as average values per document, where each one or more data points are weighted equally, and since micro-averages are calculated according to the number of occurrences, classes with a high number of occurrences may become more important. there is.

마이크로 평균의 예측값(Precision)은 수학식 1을 통해 계산될 수 있다. The precision of the micro-average can be calculated through Equation 1.

Figure pat00001
Figure pat00001

Figure pat00002
: 분류가 옳은 검출(True Positive)
Figure pat00002
: Detection with correct classification (True Positive)

Figure pat00003
: 분류가 틀린 검출(False Positive)
Figure pat00003
: Detection of incorrect classification (False Positive)

마이크로 평균의 재현율(Recall)은 수학식 2을 통해 계산될 수 있다. The recall of the micro-average can be calculated through Equation 2.

Figure pat00004
Figure pat00004

Figure pat00005
: 분류가 옳은 검출
Figure pat00005
: detection of correct classification

Figure pat00006
: 분류가 틀린 검출
Figure pat00006
: Detection of misclassification

Figure pat00007
: 분류되어야 하는 분류가 검출되지 않음(False Negative)
Figure pat00007
: The classification that should be classified is not detected (False Negative)

마이크로 평균의 F-score는 수학식 3을 통해 계산될 수 있다. The micro-average F-score can be calculated through Equation 3.

Figure pat00008
Figure pat00008

Figure pat00009
: 마이크로 평균의 F-score
Figure pat00009
: F-score of micro-average

Figure pat00010
: 마이크로 평균의 예측값
Figure pat00010
: predicted value of micro-average

Figure pat00011
: 마이크로 평균의 재현율
Figure pat00011
: Recall of the micro-average

이때,

Figure pat00012
또는
Figure pat00013
이며
Figure pat00014
는 0이 되고, 완벽한 시스템의 경우,
Figure pat00015
,
Figure pat00016
이 되어
Figure pat00017
가 1 이 될 수 있다. At this time,
Figure pat00012
or
Figure pat00013
is
Figure pat00014
becomes 0, and for a perfect system,
Figure pat00015
,
Figure pat00016
become
Figure pat00017
can be 1.

Figure pat00018
Figure pat00018

Figure pat00019
: 분류가 옳은 검출
Figure pat00019
: detection of correct classification

Figure pat00020
: 분류가 틀린 검출
Figure pat00020
: Detection of misclassification

매크로 평균의 재현율은 수학식 5를 통해 계산될 수 있다. The recall of the macro average can be calculated through Equation 5.

Figure pat00021
Figure pat00021

Figure pat00022
: 분류가 옳은 검출
Figure pat00022
: detection of correct classification

Figure pat00023
: 분류가 틀린 검출
Figure pat00023
: Detection of misclassification

Figure pat00024
: 분류되어야 하는 분류가 검출되지 않음
Figure pat00024
: Classification that should be classified is not detected

매크로 평균의 F-score는 수학식 6을 통해 계산될 수 있다. The F-score of the macro average can be calculated through Equation 6.

Figure pat00025
Figure pat00025

Figure pat00026
: 매크로 평균의 F-score
Figure pat00026
: F-score of macro average

Figure pat00027
: 매크로 평균의 예측값
Figure pat00027
: Predicted value of the macro average

Figure pat00028
: 매크로 평균의 재현율
Figure pat00028
: Recall of the macro average

이때,

Figure pat00029
또는
Figure pat00030
이며
Figure pat00031
는 0이 되고, 완벽한 시스템의 경우,
Figure pat00032
,
Figure pat00033
이 되어
Figure pat00034
가 1 이 될 수 있다.At this time,
Figure pat00029
or
Figure pat00030
is
Figure pat00031
becomes 0, and for a perfect system,
Figure pat00032
,
Figure pat00033
become
Figure pat00034
can be 1.

상술한 표 2에 도시된 7개의 분류기 각각에 확률적 언어 모델을 통해 획득한 특징 벡터를 입력하여 마이크로 평균 예측값(

Figure pat00035
), 재현율(
Figure pat00036
), F-score(
Figure pat00037
), 매크로 평균 예측값(
Figure pat00038
), 재현율(
Figure pat00039
), F-score(
Figure pat00040
)에 대한 성능 평가 결과는 다음의 표 3과 같다. The micro-average prediction value (
Figure pat00035
), recall (
Figure pat00036
), F-score(
Figure pat00037
), macro average predicted value (
Figure pat00038
), recall (
Figure pat00039
), F-score(
Figure pat00040
The performance evaluation results for ) are shown in Table 3 below.

ClassifierClassifier Feature SetFeature Set

Figure pat00041
Figure pat00041
Figure pat00042
Figure pat00042
Figure pat00043
Figure pat00043
Figure pat00044
Figure pat00044
Figure pat00045
Figure pat00045
Figure pat00046
Figure pat00046
AA DTDT TF(Uni+Bi-grams) +RulesTF(Uni+Bi-grams)+Rules 76.6676.66 76.5376.53 76.6676.66 76.3576.35 76.4276.42 76.6676.66 76.6676.66 GBGB TF(Uni+Bi-grams) +RulesTF(Uni+Bi-grams)+Rules 79.4379.43 79.479.4 79.4379.43 79.0679.06 79.4379.43 79.1879.18 79.4379.43 LRLR TF(Uni+Bi-grams) +RulesTF(Uni+Bi-grams)+Rules 82.3882.38 82.3382.33 82.3882.38 82.1182.11 82.3882.38 82.282.2 82.3882.38 MLPMLP TF(Uni+Bi+Tri-grams)+RulesTF(Uni+Bi+Tri-grams)+Rules 81.0381.03 80.9180.91 81.0381.03 80.8680.86 81.0381.03 80.8880.88 81.0381.03 NBNB TF(Uni+Bi+Tri-grams)+RulesTF(Uni+Bi+Tri-grams)+Rules 81.3581.35 82.2882.28 81.3581.35 80.5380.53 81.3581.35 80.8280.82 81.3581.35 RFRF TF(Uni-grams)Uni-grams (TFs) 78.0178.01 77.8777.87 78.0178.01 77.877.8 78.0178.01 77.8377.83 78.0178.01 SVMSVM __ 54.2154.21 -- 54.2154.21 5050 54.2154.21 -- 54.2154.21

도 4는 일 실시예에 따른 요청 메시지 분류 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a method of classifying a request message according to an exemplary embodiment.

도 4에 도시된 방법은 예를 들어, 전술한 요청 메시지 분류 장치(100)에 의해 수행될 수 있다. The method shown in FIG. 4 may be performed, for example, by the above-described request message classification apparatus 100.

410 단계에서, 요청 메시지 분류 장치(100)는 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 제1 데이터 세트 및 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 제2 데이터 세트를 획득한다.In step 410, the request message classification apparatus 100 performs a first data set labeled with a first label indicating whether a predefined request is included or not and a second data set labeled with a second label indicating the type of predefined request. Acquire

420 단계에서, 요청 메시지 분류 장치(100)는 제1 데이터 세트 및 제2 데이터 세트 각각에 대한 전처리를 수행하여 제1 데이터 세트로부터 제1 학습 데이터 세트를 생성하고, 제2 데이터 세트로부터 제2 학습 데이터를 생성한다.In step 420, the request message classification apparatus 100 performs pre-processing on each of the first data set and the second data set to generate a first training data set from the first data set and a second training data set from the second data set. generate data

430 단계에서, 요청 메시지 분류 장치(100)는 확률적 언어 모델에 기초하여 제1 학습 데이터 세트 및 제2 학습 데이터 세트 각각에 포함된 학습 데이터에 대한 특징을 추출한다. In step 430, the request message classification apparatus 100 extracts features of training data included in each of the first training data set and the second training data set based on the probabilistic language model.

440 단계에서, 요청 메시지 분류 장치(100)는 제1 학습 데이터 세트를 이용하여 라벨링되지 않은 데이터에 대한 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델 및 제2 학습 데이터 세트를 이용하여 라벨링되지 않은 데이터에 대한 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시킨다.In step 440, the request message classification apparatus 100 uses a request message identification model for predicting whether or not a predefined request for unlabeled data is included using the first training data set and the second training data set Train a request message classification model to predict the types of predefined requests for unlabeled data.

도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

도 5는 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.5 is a block diagram illustrating and describing a computing environment 10 including a computing device according to an exemplary embodiment. In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 요청 메시지 분류 장치(100)일 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be request message classification device 100 .

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

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

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

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

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

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

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 요청 메시지 분류 장치
110: 데이터 세트 획득부
120: 데이터 전처리부
130: 특징 벡터 추출부
140: 모델 학습부
10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: I/O interface
24: I/O device
26: network communication interface
100: request message classification device
110: data set acquisition unit
120: data pre-processing unit
130: feature vector extraction unit
140: model learning unit

Claims (14)

각각 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제1 데이터 세트 및 각각 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제2 데이터 세트를 획득하는 데이터 세트 획득부;
상기 제1 데이터 세트 및 상기 제2 데이터 세트 각각에 대한 전처리를 수행하여 상기 제1 데이터 세트로부터 복수의 제1 학습 데이터를 포함하는 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트로부터 복수의 제2 학습 데이터를 포함하는 제2 학습 데이터 세트를 생성하는 데이터 전처리부;
확률적 언어 모델에 기초하여 상기 복수의 제1 학습 데이터 및 상기 복수의 제2 학습 데이터 각각에 대한 특징을 추출하는 특징 추출부; 및
상기 복수의 제1 학습 데이터 각각에 대한 특징을 이용하여 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델을 학습시키고, 상기 복수의 제2 학습 데이터 각각에 대한 특징을 이용하여 상기 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시키는 모델 학습부를 포함하는, 메시지 분류 장치.
A first data set including a plurality of message data each labeled with a first label indicating whether or not a predefined request is included, and a plurality of message data each labeled with a second label indicating a type of predefined request a data set acquiring unit acquiring a second data set;
Preprocessing is performed on each of the first data set and the second data set to generate a first training data set including a plurality of first training data from the first data set, and a plurality of training data sets from the second data set. a data pre-processing unit generating a second training data set including second training data;
a feature extraction unit extracting features for each of the plurality of first training data and the plurality of second training data based on a probabilistic language model; and
A request message identification model for predicting whether or not the predefined request for unlabeled message data is included is learned using the feature of each of the plurality of first training data, and each of the plurality of second training data and a model learning unit that trains a request message classification model for predicting a type of the predefined request for the unlabeled message data using a feature for the message classification.
청구항 1에 있어서,
상기 데이터 전처리부는,
상기 제1 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제1 학습 데이터 세트를 생성하고,
상기 제2 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제2 학습 데이터를 생성하는, 메시지 분류 장치.
The method of claim 1,
The data pre-processing unit,
generating the first training data set through at least one of removing and converting some of the characters included in each of a plurality of message data included in the first data set;
and generating the second learning data through at least one of removing and converting some of the characters included in each of the plurality of message data included in the second data set.
청구항 1항에 있어서,
상기 확률적 언어 모델은, 상기 복수의 제1 학습 데이터 각각을 사전 설정된 하나 이상의 문자열 단위로 분할하여 상기 복수의 제1 학습 데이터 각각에 대한 복수의 문자열을 생성하고, 상기 복수의 문자열 중 적어도 일부를 병합(merge)하여 생성된 적어도 하나의 단어를 포함하는 단어 세트를 생성하고, 상기 단어 세트에 포함된 상기 적어도 하나의 단어 각각의 출현 빈도에 기초하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 장치.
The method of claim 1,
The probabilistic language model generates a plurality of strings for each of the plurality of first training data by dividing each of the plurality of first training data into one or more preset string units, and at least a part of the plurality of strings A word set including at least one word generated by merging is generated, and a feature vector for each of the plurality of first training data is based on an appearance frequency of each of the at least one word included in the word set. A message classifier for extracting .
청구항 3항에 있어서,
상기 확률적 언어 모델은, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 단어 세트에 포함된 적어도 하나의 단어 각각에 제1 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 장치.
The method of claim 3,
The probabilistic language model assigns a first weight to each of at least one word included in the word set using TF-IDF (Term Frequency-Inverse Document Frequency) to obtain a characteristic for each of the plurality of first training data A message classification device that extracts vectors.
청구항 3항에 있어서,
상기 확률적 언어 모델은, 상기 단어 세트에 포함된 적어도 하나의 단어 중 사전 설정된 단어에 대해 사전 설정된 규칙에 기초한 제2 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 장치.
The method of claim 3,
The probabilistic language model extracts a feature vector for each of the plurality of first training data by assigning a second weight based on a preset rule to a preset word among at least one word included in the word set. message classifier.
청구항 1항에 있어서,
상기 모델 학습부는,
상기 복수의 제2 학습 데이터 중 적어도 상기 사전 정의된 요청의 종류가 유사한 둘 이상의 데이터 사이의 유사도가 작아지도록 상기 요청 메시지 분류 모델을 학습시키는, 메시지 분류 장치.
The method of claim 1,
The model learning unit,
and learning the request message classification model so that a similarity between two or more pieces of data having similar types of at least the predefined request among the plurality of second training data becomes small.
청구항 1에 있어서,
마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 상기 요청 메시지 식별 모델 및 상기 요청 메시지 분류 모델의 성능을 평가하는 성능 평가부를 더 포함하는, 메시지 분류 장치.
The method of claim 1,
and a performance evaluation unit that evaluates performance of the request message identification model and the request message classification model based on at least one of a micro average measurement and a macro average measurement.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
각각 사전 정의된 요청의 포함 여부를 나타내는 제1 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제1 데이터 세트 및 각각 사전 정의된 요청의 종류를 나타내는 제2 라벨로 라벨링된 복수의 메시지 데이터를 포함하는 제2 데이터 세트를 획득하는 단계;
상기 제1 데이터 세트 및 상기 제2 데이터 세트 각각에 대한 전처리를 수행하여 상기 제1 데이터 세트로부터 복수의 제1 학습 데이터를 포함하는 제1 학습 데이터 세트를 생성하고, 상기 제2 데이터 세트로부터 복수의 제2 학습 데이터를 포함하는 제2 학습 데이터 세트를 생성하는 단계;
확률적 언어 모델에 기초하여 상기 복수의 제1 학습 데이터 및 상기 복수의 제2 학습 데이터 각각에 대한 특징을 추출하는 단계; 및
상기 복수의 제1 학습 데이터 각각에 대한 특징을 이용하여 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 포함 여부를 예측하기 위한 요청 메시지 식별 모델을 학습시키고, 상기 복수의 제2 학습 데이터 각각에 대한 특징을 이용하여 상기 라벨링되지 않은 메시지 데이터에 대한 상기 사전 정의된 요청의 종류를 예측하기 위한 요청 메시지 분류 모델을 학습시키는 단계를 포함하는, 메시지 분류 방법.
one or more processors; and
A method performed in a computing device having a memory storing one or more programs executed by the one or more processors,
A first data set including a plurality of message data each labeled with a first label indicating whether or not a predefined request is included, and a plurality of message data each labeled with a second label indicating a type of predefined request obtaining a second data set;
Preprocessing is performed on each of the first data set and the second data set to generate a first training data set including a plurality of first training data from the first data set, and a plurality of training data sets from the second data set. generating a second training data set including second training data;
extracting a feature for each of the plurality of first training data and the plurality of second training data based on a probabilistic language model; and
A request message identification model for predicting whether or not the predefined request for unlabeled message data is included is learned using the feature of each of the plurality of first training data, and each of the plurality of second training data and training a request message classification model to predict the type of the predefined request for the unlabeled message data using a feature for the message.
청구항 8에 있어서,
상기 생성하는 단계는,
상기 제1 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제1 학습 데이터 세트를 생성하고,
상기 제2 데이터 세트에 포함된 복수의 메시지 데이터 각각에 포함된 문자 중 일부에 대한 제거 및 변환 중 적어도 하나를 통해 상기 제2 학습 데이터를 생성하는, 메시지 분류 방법.
The method of claim 8,
The generating step is
generating the first training data set through at least one of removing and converting some of the characters included in each of a plurality of message data included in the first data set;
The message classification method of generating the second training data through at least one of removing and converting some of the characters included in each of the plurality of message data included in the second data set.
청구항 8항에 있어서,
상기 확률적 언어 모델은, 상기 복수의 제1 학습 데이터 각각을 사전 설정된 하나 이상의 문자열 단위로 분할하여 상기 복수의 제1 학습 데이터 각각에 대한 복수의 문자열을 생성하고, 상기 복수의 문자열 중 적어도 일부를 병합(merge)하여 생성된 적어도 하나의 단어를 포함하는 단어 세트를 생성하고, 상기 단어 세트에 포함된 상기 적어도 하나의 단어 각각의 출현 빈도에 기초하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 방법.
The method of claim 8,
The probabilistic language model generates a plurality of strings for each of the plurality of first training data by dividing each of the plurality of first training data into one or more predetermined string units, and at least some of the plurality of strings A word set including at least one word generated by merging is generated, and a feature vector for each of the plurality of first training data is based on an appearance frequency of each of the at least one word included in the word set. A message classification method for extracting .
청구항 10항에 있어서,
상기 확률적 언어 모델은, TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 상기 단어 세트에 포함된 적어도 하나의 단어 각각에 제1 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 방법.
The method of claim 10,
The probabilistic language model assigns a first weight to each of at least one word included in the word set using TF-IDF (Term Frequency-Inverse Document Frequency) to obtain a characteristic for each of the plurality of first training data A message classification method that extracts vectors.
청구항 11항에 있어서,
상기 확률적 언어 모델은, 상기 단어 세트에 포함된 적어도 하나의 단어 중 사전 설정된 단어에 대해 사전 설정된 규칙에 기초한 제2 가중치를 부여하여 상기 복수의 제1 학습 데이터 각각에 대한 특징 벡터를 추출하는, 메시지 분류 방법.
The method of claim 11,
The probabilistic language model extracts a feature vector for each of the plurality of first training data by assigning a second weight based on a preset rule to a preset word among at least one word included in the word set. How to classify messages.
청구항 8항에 있어서,
상기 학습시키는 단계는,
상기 복수의 제2 학습 데이터 중 적어도 상기 사전 정의된 요청의 종류가 유사한 둘 이상의 데이터 사이의 유사도가 작아지도록 상기 요청 메시지 분류 모델을 학습시키는, 메시지 분류 방법.
The method of claim 8,
The learning step is
and learning the request message classification model so that a similarity between two or more pieces of data having similar types of at least the predefined request among the plurality of second training data becomes small.
청구항 8에 있어서,
마이크로 평균(micro average) 측정 및 매크로 평균(Macro average) 측정 중 적어도 하나에 기초하여 상기 요청 메시지 식별 모델 및 상기 요청 메시지 분류 모델의 성능을 평가하는 성능 평가부를 더 포함하는, 메시지 분류 방법.
The method of claim 8,
and a performance evaluation unit that evaluates performance of the request message identification model and the request message classification model based on at least one of a micro average measurement and a macro average measurement.
KR1020210104172A 2021-08-06 2021-08-06 Apparatus and method for identification and categorization of request message KR20230022040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210104172A KR20230022040A (en) 2021-08-06 2021-08-06 Apparatus and method for identification and categorization of request message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210104172A KR20230022040A (en) 2021-08-06 2021-08-06 Apparatus and method for identification and categorization of request message

Publications (1)

Publication Number Publication Date
KR20230022040A true KR20230022040A (en) 2023-02-14

Family

ID=85221023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210104172A KR20230022040A (en) 2021-08-06 2021-08-06 Apparatus and method for identification and categorization of request message

Country Status (1)

Country Link
KR (1) KR20230022040A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010064269A (en) 1999-12-27 2001-07-09 오길록 3-D clustering representation system and method using hierarchical terms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010064269A (en) 1999-12-27 2001-07-09 오길록 3-D clustering representation system and method using hierarchical terms

Similar Documents

Publication Publication Date Title
Kulkarni et al. Natural language processing recipes
Nagarajan et al. Classifying streaming of Twitter data based on sentiment analysis using hybridization
US20240127126A1 (en) Utilizing machine learning models to identify insights in a document
US9633007B1 (en) Loose term-centric representation for term classification in aspect-based sentiment analysis
US20200004882A1 (en) Misinformation detection in online content
US10585989B1 (en) Machine-learning based detection and classification of personally identifiable information
WO2020134008A1 (en) Method and apparatus for matching semantic text data with tags, and computer readable storage medium storing instruction
Zobeidi et al. Opinion mining in Persian language using a hybrid feature extraction approach based on convolutional neural network
CN114341865B (en) Progressive concatenation for real-time conversations
US10180935B2 (en) Identifying multiple languages in a content item
US20200401910A1 (en) Intelligent causal knowledge extraction from data sources
Abd et al. Political articles categorization based on different naïve bayes models
US9640177B2 (en) Method and apparatus to extrapolate sarcasm and irony using multi-dimensional machine learning based linguistic analysis
US11003950B2 (en) System and method to identify entity of data
Zainuddin et al. Improving twitter aspect-based sentiment analysis using hybrid approach
US20220067290A1 (en) Automatically identifying multi-word expressions
Dashtipour et al. Extending persian sentiment lexicon with idiomatic expressions for sentiment analysis
US11227183B1 (en) Section segmentation based information retrieval with entity expansion
Tuarob et al. A product feature inference model for mining implicit customer preferences within large scale social media networks
Nasim et al. Cluster analysis of urdu tweets
Nazare et al. Sentiment analysis in Twitter
Rana et al. An unsupervised approach for sentiment analysis on social media short text classification in roman urdu
Orgeira-Crespo et al. An analysis of unconscious gender bias in academic texts by means of a decision algorithm
Toçoğlu et al. Satire detection in Turkish news articles: a machine learning approach
Anis et al. Sentiment analysis of hotel reviews using machine learning techniques

Legal Events

Date Code Title Description
E902 Notification of reason for refusal