KR20220142050A - Document-level sentiment classification method and apparatus based on importance of sentences - Google Patents
Document-level sentiment classification method and apparatus based on importance of sentences Download PDFInfo
- Publication number
- KR20220142050A KR20220142050A KR1020210048333A KR20210048333A KR20220142050A KR 20220142050 A KR20220142050 A KR 20220142050A KR 1020210048333 A KR1020210048333 A KR 1020210048333A KR 20210048333 A KR20210048333 A KR 20210048333A KR 20220142050 A KR20220142050 A KR 20220142050A
- Authority
- KR
- South Korea
- Prior art keywords
- document
- sentence
- embedding
- class
- sentiment
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
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)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
Description
아래 개시는 문장 중요도에 기반한 문서 수준의 감성 분류 방법 및 장치에 관한 것이다.The following disclosure relates to a document-level sentiment classification method and apparatus based on sentence importance.
감성 분류(Sentiment Classification)(예: 감성 분류 모델)은 주어진 텍스트가 감성적 요소를 가지고 있는지(subjectivity)와 감성적으로 긍정인지 부정인지 극성(polarity)를 결정해주는 소프트웨어(예: 소프트웨어 모듈)를 말한다.Sentiment classification (eg, sentiment classification model) refers to software (eg, a software module) that determines whether a given text has an emotional element (subjectivity) and whether it is emotionally positive or negative.
기존 감성 분류는 주로 문장 수준(sentence-level) 입력을 대상으로 연구되었고, 문서 수준(document-level) 입력에 대해서도 문서 전체의 감성을 결정하였다.Existing sentiment classification was mainly studied for sentence-level input, and the sentiment of the entire document was also determined for document-level input.
관련 선행기술로, 한국 공개특허공보 제2020-0107501호(발명의 명칭: 심리 상담을 위한 감정 스코어링 장치 및 방법)가 있다.As a related prior art, there is Korean Patent Application Laid-Open No. 2020-0107501 (Title of the Invention: Apparatus and Method for Emotion Scoring for Psychological Counseling).
위에서 설명한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.The background art described above is possessed or acquired by the inventor in the process of deriving the disclosure of the present application, and cannot necessarily be said to be a known technology disclosed to the general public prior to the present application.
다양한 실시예들은 복수의 문장들로 구성된 텍스트(예: 문서 수준의 텍스트)가 입력되었을 때 각 문장의 감성적 중요도를 고려하여 입력 텍스트 전체의 감성을 결정하는 기술을 제공할 수 있다.Various embodiments may provide a technique for determining the sentiment of the entire input text in consideration of the emotional importance of each sentence when text (eg, text at a document level) composed of a plurality of sentences is input.
다양한 실시예들은 문서를 구성하는 각 문장의 감성적 중요도에 기초하여 문서 수준 감성 분류 성능을 개선할 수 있다.Various embodiments may improve document-level sentiment classification performance based on the emotional importance of each sentence constituting the document.
다만, 기술적 과제는 상술한 기술적 과제들로 한정되는 것은 아니며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problems are not limited to the above-described technical problems, and other technical problems may exist.
일 실시예에 따른 감성 분류 방법은 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하는 동작; 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하는 동작; 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하는 동작; 및 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는 동작을 포함할 수 있다.A sentiment classification method according to an embodiment includes: outputting second sentence embedding vectors by reinforcing first sentence embedding vectors for each sentence included in a document; calculating an emotional importance of each sentence in the document based on the second sentence embedding vectors; generating a document embedding vector by weighted summing sentences in the document based on the emotional importance; and classifying the sentiment class of the document based on the document embedding vector.
상기 출력하는 동작은, 문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하는 동작; 및 상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는 동작을 포함할 수 있다.The outputting operation may include calculating class similarity embedding vectors indicating the relation between the sentence and each sentiment class; and concatenating the first sentence embedding vectors and the class similarity embedding vectors to reinforce the first sentence embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은, 문장과 각 감성 클래스 간의 내적 값을 포함할 수 있다.Each of the class similarity embedding vectors may include a dot product value between a sentence and each sentiment class.
상기 생성하는 동작은, 상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하는 동작; 상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하는 동작; 상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하는 동작; 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작을 포함할 수 있다.The generating may include generating third sentence embedding vectors by reflecting the emotional importance in the second sentence embedding vectors; encoding the third sentence embedding vectors using respective encoders; calculating a context vector based on the output of each encoder; and generating the document embedding vector based on the context vector.
상기 컨텍스트 벡터를 계산하는 동작은, 상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하는 동작; 및 상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산하는 동작을 포함할 수 있다.The calculating of the context vector may include calculating each attention weight based on the output of each encoder and the hidden state of the decoder; and calculating the context vector performing a weighted sum of the output of each encoder and the respective attention weights.
상기 문서 임베딩 벡터를 생성하는 동작은, 상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작을 포함할 수 있다.The generating of the document embedding vector may include generating the document embedding vector based on a hidden state of a last encoder among the encoders and the context vector.
상기 분류하는 동작은, 상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하는 동작; 및 상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는 동작을 포함할 수 있다.The classifying may include: calculating a class similarity embedding vector indicating a relationship between the document embedding vector and each sentiment class; and determining the sentiment class of the document by concatenating the document embedding vector and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터는, 상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함할 수 있다.The class similarity embedding vector may include a dot product value between the document embedding vector and each sentiment class.
일 실시예에 따른 장치는 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고, 상기 인스트럭션이 실행될 때, 상기 프로세서는, 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하고, 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하고, 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하고, 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류할 수 있다.An apparatus according to one embodiment includes a memory for storing one or more instructions; and a processor for executing the instruction, wherein when the instruction is executed, the processor enhances the first sentence embedding vectors for each sentence included in the document to output second sentence embedding vectors, and the second Calculating the emotional importance of each sentence in the document based on the sentence embedding vectors, weighted summing the sentences in the document based on the emotional importance to generate a document embedding vector, and based on the document embedding vector, the document embedding vector can classify the emotional classes of
상기 프로세서는, 문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하고, 상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화할 수 있다.The processor may calculate class similarity embedding vectors indicating the relevance of each sentiment class to a sentence, and connect the first sentence embedding vectors and the class similarity embedding vectors to reinforce the first sentence embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은, 문장과 각 감성 클래스 간의 내적 값을 포함할 수 있다.Each of the class similarity embedding vectors may include a dot product value between a sentence and each sentiment class.
상기 프로세서는, 상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하고, 상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하고, 상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하고, 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성할 수 있다.The processor generates third sentence embedding vectors by reflecting the emotional importance in the second sentence embedding vectors, encodes the third sentence embedding vectors using each encoder, and based on the output of each encoder The context vector may be calculated, and the document embedding vector may be generated based on the context vector.
상기 프로세서는, 상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하고, 상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산할 수 있다.The processor may calculate each attention weight based on the output of each encoder and the hidden state of the decoder, and calculate the context vector for performing a weighted sum of the output of each encoder and each attention weight.
상기 프로세서는, 상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성할 수 있다.The processor may generate the document embedding vector based on a hidden state of a last encoder among the encoders and the context vector.
상기 프로세서는, 상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하고, 상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정할 수 있다.The processor may calculate a class similarity embedding vector indicating the relationship between the document embedding vector and each sentiment class, and determine the sentiment class of the document by concatenating the document embedding vector and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터는, 상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함할 수 있다.The class similarity embedding vector may include a dot product value between the document embedding vector and each sentiment class.
도 1은 감성 분류를 설명하기 위한 도면이다.
도 2는 다양한 실시예에 따른 감성 분류 장치를 나타낸다.
도 3은 문장 인코더의 일 예를 설명하기 위한 도면이다.
도 4는 문서 인코더의 일 예를 설명하기 위한 도면이고, 도 5는 문서 인코더의 동작을 설명하기 위한 도면이다.
도 6은 감성 분류기의 일 예를 나타낸다.
도 7은 다양한 실시예에 따른 감성 분류 장치의 개략적인 블록도를 나타낸다.1 is a diagram for explaining emotion classification.
2 illustrates a sentiment classification apparatus according to various embodiments.
3 is a diagram for explaining an example of a sentence encoder.
4 is a diagram for explaining an example of a document encoder, and FIG. 5 is a diagram for explaining an operation of the document encoder.
6 shows an example of a sentiment classifier.
7 is a schematic block diagram of a sentiment classification apparatus according to various embodiments.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical spirit described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various elements, these terms should be interpreted only for the purpose of distinguishing one element from another. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted.
도 1은 감성 분류를 설명하기 위한 도면이다.1 is a diagram for explaining emotion classification.
감성 분류(예: 감성 분류 모델, 감성 분석 모델)은 주어진 텍스트(예: 입력 텍스트)가 사전 정의된 감성 클래스(예: 긍정, 중립, 부정)로 분류되는 자연어 처리(natural language processing(NLP)) 태스크이다. 감성 분류 모델은 사전(lexicon) 기반 모델과 ML 기반 모델로 나뉜다.Sentiment classification (e.g. sentiment classification model, sentiment analysis model) is a natural language processing (NLP) method in which a given text (e.g. input text) is classified into predefined sentiment classes (e.g. positive, neutral, negative). It's a task. The sentiment classification model is divided into a lexicon-based model and an ML-based model.
사전 기반 모델은 먼저 감성 단어와 감성 단어의 속성(예: 극성 및 강도)을 포함하는 감성 사전을 정의한다. 그런 다음, 사전 기반 모델은 감성 단어 수, 감성 단어의 총 강도(total strength), 및 감성 단어의 최대 강도(maximum strength)를 사용하여 주어진 텍스트의 감성 클래스(예: 등급)을 예측한다. 사전 기반 모델은 감성 단어의 극성 및 강도(strength)와 같은 개별 정보(discrete information)에 기초하여 문장을 가장 강한 극성을 가지는 감성 클래스로 분류하는 것이다. 이러한 사전 기반 모델에는 감성 단어 및 주변 언어적 단서(surrounding linguistic clue)(예: 의미 강화부사(amplifier)(예: very, extraordinary, most), 의미 약화부사(downtoner)(예: slightly, somewhat, pretty), 부정어(negator)(예: nobody, none, nothing))에 기초하여 입력 텍스트의 극성을 계산하기 위한 규칙 세트(rule set)를 제안하는 모델도 있다.The dictionary-based model first defines a sentiment dictionary including sentiment words and their attributes (eg, polarity and intensity). Then, the dictionary-based model predicts the sentiment class (eg, rating) of a given text using the number of sentiment words, the total strength of the sentiment words, and the maximum strength of the sentiment words. The dictionary-based model classifies a sentence into a sentiment class having the strongest polarity based on discrete information such as polarity and strength of the sentiment word. These dictionary-based models include emotional words and surrounding linguistic clues (e.g., amplifiers (e.g., very, extraordinary, most), and downtoners (e.g., slightly, somewhat, pretty) ) and negators (eg nobody, none, nothing), there is also a model that proposes a rule set for calculating the polarity of the input text.
사전 기반 모델은 간단하고 효율적이지만 한계를 갖는다. 첫째, 감성 사전(sentiment lexicon)를 수동으로 구성하는 것은 시간과 노동 집약적인 작업이다. 둘째, 애플리케이션 도메인에 따라 극성이 다를 수 있지만, 각 감성 단어에는 강도가 있는 고정 극성이 할당되어야 한다. 예를 들어, "The air conditioner is so hot"는 부정적인 의견을 표현하는데, "hot"이 "having mechanical trouble"를 의미하기 때문이다. 이와 대조적으로, "The movie is so hot"는 긍정적인 의견을 표현하는데, "hot"이 "popular"를 의미하기 때문이다.Dictionary-based models are simple and efficient, but have limitations. First, constructing a sentiment lexicon manually is a time- and labor-intensive task. Second, although the polarity may be different depending on the application domain, each sentiment word should be assigned a fixed polarity with strength. For example, "The air conditioner is so hot" expresses a negative opinion because "hot" means "having mechanical trouble". In contrast, "The movie is so hot" expresses a positive opinion, because "hot" means "popular."
이러한 한계를 극복하기 위해, ML 기반 모델이 제안된 것이다. ML 기반 모델은 많은 양의 트레이닝 말뭉치(코퍼스)에서 얻은 통계(statistical) 또는 대수(algebraic) 정보를 기반으로 주어진 텍스트의 감성 클래스를 예측한다. 이러한 ML 기반 모델에는 트레이닝을 위해 극성이 있는 주석이 달린 많은 양의 데이터가 필요하다. ML 기반 모델에는 컨벌루션 신경망(CNN), RNN(Recurrent Neural Network), DNN 등을 기반으로 하는 감성 분류 모델이 있다. 이전의 ML 기반 모델은 문장 수준의 감성 분류에 중점을 두었지만, 최근의 ML 기반 모델은 문서 수준의 감성 분류(예: 여러 문장을 포함하는 문서에 대한 감성 분류)에 중점을 두고 있다.To overcome these limitations, an ML-based model is proposed. The ML-based model predicts the sentiment class of a given text based on statistical or algebraic information obtained from a large amount of training corpus (corpus). These ML-based models require large amounts of polarized annotated data for training. ML-based models include sentiment classification models based on convolutional neural networks (CNNs), recurrent neural networks (RNNs), and DNNs. While previous ML-based models focused on sentence-level sentiment classification, recent ML-based models focus on document-level sentiment classification (eg, sentiment classification for documents containing multiple sentences).
기존에, 문서 수준의 감성 분류는 입력 텍스트에서 각 문장의 중요성을 고려하지 않고, 대신에 입력 텍스트를 문장 모음으로 취급한다. 그러나, 인간은 문서의 극성을 결정하는 동안에, 인간은 문서 전체를 읽고 평범한 문장(ordinary sentence)(예: 인상적이지 않은 문장)을 제거하고 인상적인 문장(impressive sentence)을 기반으로 최종 극성을 결정한다. 표 1은 영화 리뷰 도메인에서 감성 분류를 요약한 일 예이다.Conventionally, document-level sentiment classification does not consider the importance of each sentence in the input text, but instead treats the input text as a collection of sentences. However, while humans determine the polarity of a document, humans read the entire document, remove ordinary sentences (eg, unimpressive sentences), and determine the final polarity based on the impressive sentences. Table 1 is an example of summarizing sentiment classification in the movie review domain.
[표 1][Table 1]
문서에는 극성이 하나만 있지만, 문서를 구성하는 각 문장은 극성이 다를 수 있다. 첫 번째 문장은 문서의 극성과 반대이고, 두 번째 문장은 편향된 극성(biased polarity)을 포함하지 않는다. 세 번째와 네 번째 문장 각각이 문서의 극성에 약하고 강한 영향을 미친 것을 알 수 있다. 즉, 세 번째와 네 번째 문장은 전체 문서의 극성을 뒷받침하는 강력한 증거이다.A document has only one polarity, but each sentence that makes up a document can have a different polarity. The first sentence is the opposite of the polarity of the document, and the second sentence contains no biased polarity. It can be seen that each of the third and fourth sentences had a weak and strong effect on the polarity of the document. That is, the third and fourth sentences are strong evidence to support the polarity of the entire document.
표 1에서와 같이, 문서 전체의 감성을 분류하기 위해서는 문장 별 감성 분류 결과를 바탕으로 문서 전체의 감성 분류를 수행해야 한다. 즉, 문서의 극성을 효과적으로 결정하려면 문서의 각 문장을 서로 다른 중요도로 처리할 필요가 있다.As shown in Table 1, in order to classify the emotion of the entire document, it is necessary to perform the emotion classification of the entire document based on the emotion classification result for each sentence. In other words, to effectively determine the polarity of a document, it is necessary to treat each sentence in the document with different importance.
도 2는 다양한 실시예에 따른 감성 분류 장치를 나타낸다.2 illustrates a sentiment classification apparatus according to various embodiments.
감성 분류 장치(100)는 감성 분류 모델(200)(예: 문서 수준 감성 분류 모델, 문서 수준 감성 분석 모델)을 포함할 수 있다. 감성 분류 장치(100)는 감성 분류 모델(200)을 이용하여 입력되는 문서(예: 복수의 문장들을 포함함)의 감성 클래스를 분류(예: 결정)할 수 있다.The
감성 분류 모델(200)은 문서 내 각 문장의 감성적 중요도에 기초하여 문서의 감성 클래스를 분류할 수 있다. 감성 분류 모델(200)은 DNN 기반의 감성 분류 모델일 수 있다. 감성 분류 모델(200)은 문장 인코더(sentence encoder)(210), 문서 인코더(document encoder)(230), 및 감성 분류기(sentiment classifier)(250)을 포함할 수 있다.The emotion classification model 200 may classify the emotion class of the document based on the emotional importance of each sentence in the document. The sentiment classification model 200 may be a DNN-based sentiment classification model. The sentiment classification model 200 may include a
문장 인코더(210)는 ALBERT(예: BERT의 라이트 버전)를 사용하여 주어진 문서(예: 입력 문서)에서 문서에 포함된 각 문장의 문장 임베딩 벡터(예: 제1 문장 임베딩 벡터)를 생성할 수 있다. 문장 인코더(210)는 문장 임베딩을 위한 ALBERT(예: BERT의 라이트 버전)를 포함할 수 있다. 문장 인코더(210)는 문장 임베딩 벡터에 감성 클래스의 임베딩 벡터(예: 클래스 유사도 임베딩(class similarity embedding) 벡터)을 추가하여 문장 임베딩 벡터를 강화할 수 있다. 문장 인코더(210)는 강화된 문장 임베딩 벡터(예: 제2 문장 임베딩 벡터)를 문서 인코더(230)로 출력할 수 있다.The
문서 인코더(230)는 게이트 함수(gate function)(예: Gate layer)를 통해 문서 내 각 문장의 감성적 중요도(importance)(예: 문서 전체의 감성을 판단하는데 각 문장의 감성적 중요도)를 계산할 수 있다. 문서 인코더(230)는 계산된 감성적 중요도에 따라 문장들을 가중 합산(weighted summing)하여 문서 임베딩(document embedding) 벡터(예: 문서 임베딩)을 생성할 수 있다. 그 후, 문서 인코더(230)는 문서 임베딩 벡터에 감성 클래스의 임베딩 벡터(예: 클래스 유사도 임베딩 벡터)를 추가하여 문서 임베딩 벡터를 강화할 수 있다. 문서 인코더(230)는 강화된 문서 임베딩 벡터(예: 강화된 문서 임베딩)를 감성 분류기(250)로 출력할 수 있다.The
감성 분류기(250)는 FNN(Fully Connected Neural Network)을 통해 입력 문서의 감성 클래스를 결정할 수 있다.The
도 3은 문장 인코더의 일 예를 설명하기 위한 도면이다.3 is a diagram for explaining an example of a sentence encoder.
문서(예: 입력 문서)에 포함된 각 문장은 문장별로 문장 인코더(210)에 입력될 수 있다. 문장 인코더(210)는 언어 모델(213), 클래스 임베딩 레이어(215), 및 연결 함수(217)를 포함할 수 있다.Each sentence included in a document (eg, an input document) may be input to the
언어 모델(213)은 각 문장(예: 각 입력 문장)을 문장 임베딩 벡터로 변환하며, 문장 임베딩 벡터는 문맥 정보(contextual information)를 포함할 수 있다. 언어 모델(213)은 ALBERT로 구현될 수 있다.The
도 3에서, 는 언어 모델(213)로 입력되는 i번째 문장을 의미하며, 언어 모델(213)을 통해 각 단어가 임베딩 벡터(예: ALBERT 임베딩 벡터)로 표시(예: 표현)될 수 있다. 는 클래스 토큰(예: 분류 태스크를 위한 특수 토큰(special token))을 의미하고, 는 i번째 세퍼레이터(separator) 토큰(예: i번째 문장과 i+1번째 문장 사이의 문장 경계(sentence boundary)를 나타내는 특수 토큰(special token))일 수 있다.3, denotes an i-th sentence input to the
BERT 및 ALBERT와 같은 언어 모델에서, 클래스 토큰의 출력 벡터(output vector)가 일반적으로 입력 문서의 태스크-지향적 의미(예: 모든 입력 단어의 시퀀스)를 전달하는데, 언어 모델(213)에서는 세퍼레이터 토큰 의 출력 벡터가 입력되는 각 문장의 표현(representation)을 전달할 수 있다. 문서 내 입력 문장들(예: )은 언어 모델(213)을 통해 수학식 1과 같이 문장 임베딩 벡터들(예: )로 변환될 수 있다.In language models such as BERT and ALBERT, an output vector of class tokens typically conveys the task-oriented meaning of an input document (e.g., a sequence of all input words), whereas in the
[수학식 1][Equation 1]
여기서, 는 i번째 세퍼레이터 토큰 의 출력 벡터를 의미할 수 있다.here, is the i-th separator token may mean an output vector of .
감성 클래스의 도메인 지식(domain knowledge)으로 문장 임베딩 벡터 를 보완하기 위해, 클래스 임베딩 레이어(215)는 수학식 2와 같이 도메인 임베딩 방식을 수행할 수 있다. 클래스 임베딩 레이어(215)는 ReLU(Rectified Linear Activation Unit) 출력 함수가 포함된 FNN(fully connected neural network)을 포함할 수 있다. 클래스 임베딩 레이어(215)는 해당 문장의 감성적 중요도(예: 문서를 고려하지 않는 문장과 감성 클래스 사이의 관련성)를 계산할 수 있다. 클래스 임베딩 레이어(215)에 의해서 계산되는 문장의 감성적 중요도는 문장과 감성 클래스들(예: 타겟 클래스들) 간의 관련도(degrees of association) (예: 클래스 유사도 임베딩 벡터)일 수 있다.Sentence embedding vector with domain knowledge of sentiment class In order to supplement , the
[수학식 2][Equation 2]
여기서, 는 i번째 문장 임베딩 벡터 를 타겟 클래스(예: 감성 분류 태스크에서 긍정 클래스, 중립 클래스, 부정 클래스)의 벡터 공간(vector space)에 매핑하기 위한 FNN을 의미할 수 있다. 는 감성 클래스들(예: 타겟 클래스들)의 무작위로 초기화된 도메인 임베딩 벡터들로 구성된 가중치 행렬(weight matrix)을 의미할 수 있다. 는 i번째 입력 문장과 각 감성 클래스(예: 타겟 클래스) 간의 내적(inner product) 값을 포함하는 클래스 유사도 임베딩(class similarity embedding) 벡터를 의미할 수 있다. 클래스 유사도 임베딩 벡터 는 입력 문장과 감성 클래스들(예: 타겟 클래스들) 간의 관련도(degrees of association)를 나타내는 것일 수 있다.here, is the i-th sentence embedding vector may refer to an FNN for mapping to a vector space of a target class (eg, a positive class, a neutral class, and a negative class in a sentiment classification task). may mean a weight matrix composed of randomly initialized domain embedding vectors of sentiment classes (eg, target classes). may mean a class similarity embedding vector including an inner product value between the i-th input sentence and each sentiment class (eg, target class). Class Similarity Embedding Vector may indicate degrees of association between the input sentence and sentiment classes (eg, target classes).
연결 함수(217)는 수학식 3과 같이 문장 임베딩 벡터 와 클래스 유사도 임베딩 벡터 를 연결하여(예: 추가하여) 문장 임베딩 벡터를 강화할 수 있다. 연결 함수(217)는 강화된 문장 임베딩 벡터(예: i번째 문장의 도메인-특정(domain-specific) 문장 임베딩 벡터) 를 생성하여 문서 인코더(230)로 출력할 수 있다.The
[수학식 3][Equation 3]
도 4는 문서 인코더의 일 예를 설명하기 위한 도면이고, 도 5는 문서 인코더의 동작을 설명하기 위한 도면이다.4 is a diagram for explaining an example of a document encoder, and FIG. 5 is a diagram for explaining an operation of the document encoder.
문서 인코더(230)는 게이트 레이어(233), RNN(235), 어텐션 레이어(237), 디코더(239)를 포함할 수 있다.The
게이트 레이어(233)는 문서 내 문장의 감성적 중요도(importance degree) (예: 문서 전체의 감성을 판단하는데 각 문장의 감성적 중요도)를 계산하고, 문장의 감성적 중요도가 반영된 문장 임베딩 벡터(예: 제3 문장 임베딩 벡터)를 생성할 수 있다. 게이트 레이어(233)는 수학식 4와 같이 게이트 메커니즘을 이용할 수 있다.The
[수학식 4][Equation 4]
여기서, 는 무작위로 초기화된 가중치 행렬을 나타내고, 는 강화된 문장 임베딩 벡터 (예: 제2 문장 임베딩 벡터)의 감성적 중요도(importance degree) 를 계산하기위한 시그모이드 함수를 나타내며, 는 감성적 중요도가 반영된 문장 임베딩 벡터(예: 제3 문장 임베딩 벡터, 게이트된 문장 임베딩 벡터)일 수 있다.here, denotes a randomly initialized weight matrix, is an enhanced sentence embedding vector (e.g., the second sentence embedding vector) emotional importance (importance degree) represents the sigmoid function for calculating may be a sentence embedding vector (eg, a third sentence embedding vector, a gated sentence embedding vector) in which emotional importance is reflected.
RNN(235)는 하나 이상의GRU 인코더를 포함하며, GRU 인코더를 통해 감성적 중요도가 반영된 문장 임베딩 벡터(예: 제3 문장 임베딩 벡터, 게이트된 문장 임베딩 벡터)를 인코딩할 수 있다. 모든 문장 임베딩 벡터는 수학식 5로 표현되는 GRU 인코더를 통해 인코딩될 수 있다.The
[수학식 5][Equation 5]
여기서, 는 GRU 인코더의 순방향 상태(forward state)로 인코딩된 i번째 인코딩된 문장 임베딩 벡터를 의미할 수 있다.here, may mean the i-th encoded sentence embedding vector encoded in the forward state of the GRU encoder.
그런 다음, 문서 인코더(230)는 어텐션 레이어(237) 및 디코더(239)(예: GRU 디코더)를 이용하여 문서 임베딩 벡터를 생성할 수 있다. 어텐션 레이어(237) 및 디코더(237)의 동작의 일 예가 도 5에 도시되어 있다.Then, the
도 5에 도시된 바와 같이, 어텐션 레이어(237)는 GRU 인코더의 각 출력 과 디코더(239)의 첫 번째 은닉 상태(hidden state) 사이에 내적(inner product)을 수행하여 각 어텐션 가중치 를 계산할 수 있다. 각 어텐션 가중치 는 GRU 인코더의 각 출력 이 디코더(239)의 첫 번째 은닉 상태 와 얼마나 관련이 있는지를 나타내는 것일 수 있다. 어텐션 레이어(237)는 어텐션 가중치 와 의 가중치 합(weighted sum)을 수행하여 컨텍스트 벡터 를 계산할 수 있다.As shown in Figure 5, the
디코더(239)는 RNN에 포함된 인코더(예: 마지막 GRU 인코더)의 마지막 은닉 상태(hidden state) , 시작 심볼(start symbol) (예: 디코더(239)의 디코딩의 시작을 의미하는 값(벡터 값)), 및 컨텍스트 벡터 에 기초하여 문서 임베딩 벡터 를 생성할 수 있다. 문서 임베딩 벡터 는 수학식 6과 같이 표현될 수 있다.The
[수학식 6][Equation 6]
도 6은 감성 분류기의 일 예를 나타낸다.6 shows an example of a sentiment classifier.
문서 임베딩 벡터 는 감성 분류기(250)에 입력될 수 있다. 감성 분류기(250)는 문서 임베딩 벡터 및 클래스 유사도 임베딩 벡터에 기초하여 문서의 감성 클래스를 분류할 수 있다. 감성 분류기(250)는 클래스 임베딩 레이어(253), 및 FNN(255)를 포함할 수 있다.Document Embedding Vector may be input to the
클래스 임베딩 레이어(253)는 ReLU(Rectified Linear Activation Unit) 출력 함수가 포함된 FNN(fully connected neural network)을 포함할 수 있다. 클래스 임베딩 레이어(253)는 클래스 유사도 임베딩 벡터 를 계산할 수 있다. 수학식 7로 표현되는 것처럼, 클래스 유사도 임베딩 벡터는 문서 임베딩 벡터와 감성 클래스들(예: 타겟 클래스들) 간의 관련도를 나타낸다는 것일 수 있다. 클래스 유사도 임베딩 벡터가 문서 임베딩 벡터와 타겟 클래스들 간의 관련도를 나타낸다는 점을 제외하면, 클래스 유사도 임베딩 벡터의 설명은 문장 인코더(210)에서와 동일할 수 있다.The
[수학식 7][Equation 7]
여기서, 는 문서 임베딩 벡터 를 감성 클래스들(예: 타겟 클래스)의 벡터 공간(vector space)에 매핑하기 위한 출력 함수가 포함된 FNN을 의미할 수 있다. 는 수학식 2에서와 동일한 감성 클래스들(예: 타겟 클래스들)의 무작위로 초기화된 도메인 임베딩 벡터들로 구성된 가중치 행렬일 수 있다. 즉, 감성 분류기(250)는 문장 인코더(210)와 가중치 행렬 을 공유할 수 있다. 는 문서 임베딩 벡터와 각 감성 클래스(예: 각 타겟 클래스) 사이의 내적 값(inner product value)을 포함하는 클래스 유사도 임베딩 벡터(class similarity embedding)를 나타낼 수 있다.here, is the document embedding vector It may refer to an FNN including an output function for mapping , to a vector space of sentiment classes (eg, a target class). may be a weight matrix composed of randomly initialized domain embedding vectors of the same sentiment classes (eg, target classes) as in Equation (2). That is, the
FNN(255)는 시그모이드 출력 함수를 포함하며, 입력 문서의 감성 클래스를 결정할 수 있다. 감성 클래스는 수학식 8과 같이 결정될 수 있다.The
[수학식 8][Equation 8]
여기서, 는 문서 임베딩 벡터 과 클래스 유사도 임베딩 벡터 의 연결을 나타내는 것일 수 있다.here, is the document embedding vector and class similarity embedding vector may indicate a connection of
상술한 바와 같이, 감성 분류 장치(100)는 게이트 함수)(예: 게이트 레이어(233))를 사용하여 문서에서 문장의 감성적 중요도를 자동으로 결정하고, 각 문장의 감성적 중요도를 다르게 고려하여 입력 문서를 미리 정의된 감성 클래스로 분류할 수 있다.As described above, the
도 7은 다양한 실시예에 따른 감성 분류 장치의 개략적인 블록도를 나타낸다.7 is a schematic block diagram of a sentiment classification apparatus according to various embodiments.
감성 분류 장치(700)(예: 도 2의 기계 독해 장치(100))는 도 2 내지 도 6을 참조하여 설명한 문장 중요도를 반영한 문서 수준의 감성 분류 동작을 수행할 수 있다. 기계 독해 장치(700)는 메모리(710) 및 프로세서(730)를 포함할 수 있다. 도 2의 감성 분류 모델(200)(예: 도 2의 문장 인코더(210), 문서 인코더(230), 감성 분류기(250))은 메모리(710)에 저장되어 있다. 프로세서(730)에 로딩되어 프로세서(730)에 의해서 실행될 수도 있으며, 프로세서(730)에 임베디드될 수도 있다.The emotion classification apparatus 700 (eg, the
메모리(710)는 프로세서(730)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(730)의 동작 및/또는 프로세서(730)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The
프로세서(730)는 메모리(710)에 저장된 데이터를 처리할 수 있다. 프로세서(730)는 메모리(710)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(730)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.The
프로세서(730)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.The
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).
프로세서(730)에 의해 수행되는 동작은 도 2 내지 도 6을 참조하여 설명한 문장 인코더(210), 문서 인코더(230), 감성 분류기(250)을 이용하는 감성 분류 동작과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.The operation performed by the
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA) array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using a general purpose computer or special purpose computer. The processing device may execute an operating system (OS) and a software application running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in a computer-readable recording medium.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may store program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. have. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, a person skilled in the art may apply various technical modifications and variations based thereon. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (17)
상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하는 동작;
상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하는 동작; 및
상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는 동작
을 포함하는, 감성 분류 방법.
outputting second sentence embedding vectors by reinforcing the first sentence embedding vectors for each sentence included in the document;
calculating an emotional importance of each sentence in the document based on the second sentence embedding vectors;
generating a document embedding vector by weighted summing sentences in the document based on the emotional importance; and
Classifying the sentiment class of the document based on the document embedding vector
Including, sentiment classification method.
상기 출력하는 동작은,
문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하는 동작; 및
상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는 동작
을 포함하는, 감성 분류 방법.
According to claim 1,
The output operation is
calculating class similarity embedding vectors indicating the relation between the sentence and each sentiment class; and
Reinforcing the first sentence embedding vectors by concatenating the first sentence embedding vectors and the class similarity embedding vectors
Including, sentiment classification method.
상기 클래스 유사도 임베딩 벡터들 각각은,
문장과 각 감성 클래스 간의 내적 값을 포함하는, 감성 분류 방법.
3. The method of claim 2,
Each of the class similarity embedding vectors is,
A sentiment classification method, including a dot product value between a sentence and each sentiment class.
상기 생성하는 동작은,
상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하는 동작;
상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하는 동작;
상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하는 동작; 및
상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작
을 포함하는, 감성 분류 방법.
According to claim 1,
The generating operation is
generating third sentence embedding vectors by reflecting the emotional importance in the second sentence embedding vectors;
encoding the third sentence embedding vectors using respective encoders;
calculating a context vector based on the output of each encoder; and
generating the document embedding vector based on the context vector
Including, sentiment classification method.
상기 컨텍스트 벡터를 계산하는 동작은,
상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하는 동작; 및
상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산하는 동작
을 포함하는, 감성 분류 방법.
5. The method of claim 4,
The operation of calculating the context vector is,
calculating each attention weight based on the output of each encoder and the hidden state of the decoder; and
Calculating the context vector performing a weighted sum of the output of each encoder and the respective attention weights
Including, sentiment classification method.
상기 문서 임베딩 벡터를 생성하는 동작은,
상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작
을 포함하는, 감성 분류 방법.
5. The method of claim 4,
The operation of generating the document embedding vector comprises:
generating the document embedding vector based on the context vector and the hidden state of the last encoder among the encoders
Including, sentiment classification method.
상기 분류하는 동작은,
상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하는 동작; 및
상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는 동작
을 포함하는, 감성 분류 방법.
According to claim 1,
The classification operation is
calculating a class similarity embedding vector indicating a relationship between the document embedding vector and each sentiment class; and
determining the sentiment class of the document by concatenating the document embedding vector and the class similarity embedding vectors
Including, sentiment classification method.
상기 클래스 유사도 임베딩 벡터는,
상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함하는, 감성 분류 방법.
8. The method of claim 7,
The class similarity embedding vector is,
Sentiment classification method comprising a dot product value between the document embedding vector and each sentiment class.
상기 인스트럭션을 실행시키기 위한 프로세서
를 포함하고,
상기 인스트럭션이 실행될 때, 상기 프로세서는,
문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하고,
상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하고,
상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하고,
상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는, 장치.
a memory storing one or more instructions; and
a processor for executing the instructions
including,
When the instruction is executed, the processor
outputting second sentence embedding vectors by strengthening the first sentence embedding vectors for each sentence included in the document,
calculating the emotional importance of each sentence in the document based on the second sentence embedding vectors,
generating a document embedding vector by weighted summing sentences in the document based on the emotional importance,
Classifying the sentiment class of the document based on the document embedding vector.
상기 프로세서는,
문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하고,
상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는, 장치.
10. The method of claim 9,
The processor is
Calculate the class similarity embedding vectors indicating the relationship between the sentence and each emotional class,
concatenating the first sentence embedding vectors and the class similarity embedding vectors to reinforce the first sentence embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은,
문장과 각 감성 클래스 간의 내적 값을 포함하는, 장치.
11. The method of claim 10,
Each of the class similarity embedding vectors is,
A device comprising a dot product value between a sentence and each sentiment class.
상기 프로세서는,
상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하고,
상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하고,
상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하고,
상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는, 장치.
10. The method of claim 9,
The processor is
generating third sentence embedding vectors by reflecting the emotional importance to the second sentence embedding vectors;
Encoding the third sentence embedding vectors using each encoder,
Calculate a context vector based on the output of each encoder,
and generate the document embedding vector based on the context vector.
상기 프로세서는,
상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하고,
상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산하는, 장치.
13. The method of claim 12,
The processor is
calculating each attention weight based on the output of each encoder and the hidden state of the decoder;
and calculating the context vector for performing a weighted sum of the output of the respective encoders and the respective attention weights.
상기 프로세서는,
상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는, 장치.
13. The method of claim 12,
The processor is
and generating the document embedding vector based on the context vector and a hidden state of a last encoder among the respective encoders.
상기 프로세서는,
상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하고,
상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는, 장치.
10. The method of claim 9,
The processor is
calculating a class similarity embedding vector indicating the relationship between the document embedding vector and each sentiment class,
An apparatus for determining the sentiment class of the document by concatenating the document embedding vector and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터는,
상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함하는, 장치.
16. The method of claim 15,
The class similarity embedding vector is,
and a dot product value between the document embedding vector and each sentiment class.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210048333A KR102501869B1 (en) | 2021-04-14 | 2021-04-14 | Document-level sentiment classification method and apparatus based on importance of sentences |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210048333A KR102501869B1 (en) | 2021-04-14 | 2021-04-14 | Document-level sentiment classification method and apparatus based on importance of sentences |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220142050A true KR20220142050A (en) | 2022-10-21 |
KR102501869B1 KR102501869B1 (en) | 2023-02-21 |
Family
ID=83805500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210048333A KR102501869B1 (en) | 2021-04-14 | 2021-04-14 | Document-level sentiment classification method and apparatus based on importance of sentences |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102501869B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644759A (en) * | 2023-07-19 | 2023-08-25 | 成都晓多科技有限公司 | Method and system for extracting aspect category and semantic polarity in sentence |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160117516A (en) * | 2014-01-31 | 2016-10-10 | 구글 인코포레이티드 | Generating vector representations of documents |
KR101715118B1 (en) * | 2016-10-26 | 2017-03-10 | 가천대학교 산학협력단 | Deep Learning Encoding Device and Method for Sentiment Classification of Document |
JP2019507423A (en) * | 2016-01-27 | 2019-03-14 | エム・ゼット・アイ・ピィ・ホールディングス・リミテッド・ライアビリティ・カンパニーMz Ip Holdings, Llc | Method for judging user's feelings in chat data |
KR102215286B1 (en) * | 2020-08-25 | 2021-02-10 | 건국대학교 산학협력단 | Method and apparatus for providing sentence generation chatbot service based on document understanding |
-
2021
- 2021-04-14 KR KR1020210048333A patent/KR102501869B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160117516A (en) * | 2014-01-31 | 2016-10-10 | 구글 인코포레이티드 | Generating vector representations of documents |
JP2019507423A (en) * | 2016-01-27 | 2019-03-14 | エム・ゼット・アイ・ピィ・ホールディングス・リミテッド・ライアビリティ・カンパニーMz Ip Holdings, Llc | Method for judging user's feelings in chat data |
KR101715118B1 (en) * | 2016-10-26 | 2017-03-10 | 가천대학교 산학협력단 | Deep Learning Encoding Device and Method for Sentiment Classification of Document |
KR102215286B1 (en) * | 2020-08-25 | 2021-02-10 | 건국대학교 산학협력단 | Method and apparatus for providing sentence generation chatbot service based on document understanding |
Non-Patent Citations (1)
Title |
---|
"A Comprehensive Guide to Attention Mechanism in Deep Learning for Everyone", (URL" https://www.analyticsvidhya.com/blog/2019/11/comprehensive-guide-attention-mechanism-deep-learning/), 2019.11., pp.1-18. 1부.* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644759A (en) * | 2023-07-19 | 2023-08-25 | 成都晓多科技有限公司 | Method and system for extracting aspect category and semantic polarity in sentence |
CN116644759B (en) * | 2023-07-19 | 2023-10-03 | 成都晓多科技有限公司 | Method and system for extracting aspect category and semantic polarity in sentence |
Also Published As
Publication number | Publication date |
---|---|
KR102501869B1 (en) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102342066B1 (en) | Method and apparatus for machine translation using neural network and method for learning the appartus | |
JP7072585B2 (en) | Natural language processing with context-specific word vectors | |
US10839165B2 (en) | Knowledge-guided structural attention processing | |
KR102565275B1 (en) | Translating method and apparatus based on parallel processing | |
US9330084B1 (en) | Automatically generating question-answer pairs during content ingestion by a question answering computing system | |
KR102458244B1 (en) | Machine translation method and apparatus | |
KR102410825B1 (en) | Method and apparatus for determining domain of sentence | |
US20220067590A1 (en) | Automatic knowledge graph construction | |
US11941361B2 (en) | Automatically identifying multi-word expressions | |
Fashwan et al. | SHAKKIL: an automatic diacritization system for modern standard Arabic texts | |
Cao et al. | Inference time style control for summarization | |
KR102501869B1 (en) | Document-level sentiment classification method and apparatus based on importance of sentences | |
US20220147721A1 (en) | Adapters for zero-shot multilingual neural machine translation | |
Zhang et al. | Skill extraction from job postings using weak supervision | |
US20220237435A1 (en) | Systems and methods for routing within multitask mixture-of-experts models | |
EP3809405A1 (en) | Method and apparatus for determining output token | |
US20200293614A1 (en) | Parse tree based vectorization for natural language processing | |
KR20200060191A (en) | System and method for tracking dialog state in a cross-language | |
KR102413050B1 (en) | Method and apparatus for summarizing document | |
US11341340B2 (en) | Neural machine translation adaptation | |
US20240143927A1 (en) | Method for generating summary and system therefor | |
US20220335332A1 (en) | Method and apparatus for self-training of machine reading comprehension to improve domain adaptation | |
KR102659389B1 (en) | System for correcting verbal violence and enhancementing text reliability using abusive language and credibility dependencies, and the method thereof | |
Tao et al. | Improving matching models with hierarchical contextualized representations for multi-turn response selection | |
KR102445497B1 (en) | Apparatus for generating lexical pattern and training sentence and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |