KR102501869B1 - 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
- KR102501869B1 KR102501869B1 KR1020210048333A KR20210048333A KR102501869B1 KR 102501869 B1 KR102501869 B1 KR 102501869B1 KR 1020210048333 A KR1020210048333 A KR 1020210048333A KR 20210048333 A KR20210048333 A KR 20210048333A KR 102501869 B1 KR102501869 B1 KR 102501869B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- sentence
- embedding
- class
- vector
- 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
문장 중요도에 기반한 문서 수준의 감성 분류 방법 및 장치가 개시된다. 일 실시예에 따른 감성 분류 방법은 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하는 동작; 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하는 동작; 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하는 동작; 및 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는 동작을 포함할 수 있다.A document-level sentiment classification method and apparatus based on sentence importance are disclosed. A sentiment classification method according to an embodiment includes an operation of reinforcing first sentence embedding vectors for each sentence included in a document and outputting second sentence embedding vectors; 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 a sentiment class of the document based on the document embedding vector.
Description
아래 개시는 문장 중요도에 기반한 문서 수준의 감성 분류 방법 및 장치에 관한 것이다.The disclosure below relates to a method and apparatus for classifying emotion at a document level based on sentence importance.
감성 분류(Sentiment Classification)(예: 감성 분류 모델)은 주어진 텍스트가 감성적 요소를 가지고 있는지(subjectivity)와 감성적으로 긍정인지 부정인지 극성(polarity)를 결정해주는 소프트웨어(예: 소프트웨어 모듈)를 말한다.Sentiment classification (e.g., sentiment classification model) refers to software (e.g., software module) that determines whether a given text has emotional elements (subjectivity) and emotionally positive or negative polarity.
기존 감성 분류는 주로 문장 수준(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 Publication No. 2020-0107501 (Title of Invention: Emotion Scoring Apparatus and Method 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 known art disclosed to the general public prior to the present application.
다양한 실시예들은 복수의 문장들로 구성된 텍스트(예: 문서 수준의 텍스트)가 입력되었을 때 각 문장의 감성적 중요도를 고려하여 입력 텍스트 전체의 감성을 결정하는 기술을 제공할 수 있다.Various embodiments may provide a technique for determining the emotion of the entire input text by considering the emotional importance of each sentence when a text composed of a plurality of sentences (eg, document-level text) 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 challenges are not limited to the above-described technical challenges, and other technical challenges may exist.
일 실시예에 따른 감성 분류 방법은 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하는 동작; 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하는 동작; 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하는 동작; 및 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는 동작을 포함할 수 있다.A sentiment classification method according to an embodiment includes an operation of reinforcing first sentence embedding vectors for each sentence included in a document and outputting second sentence embedding vectors; 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 a sentiment class of the document based on the document embedding vector.
상기 출력하는 동작은, 문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하는 동작; 및 상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는 동작을 포함할 수 있다.The outputting may include calculating class similarity embedding vectors representing a relation between a sentence and each emotion class; and strengthening the first sentence embedding vectors by connecting the first sentence embedding vectors and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은, 문장과 각 감성 클래스 간의 내적 값을 포함할 수 있다.Each of the class similarity embedding vectors may include a dot product value between a sentence and each emotion class.
상기 생성하는 동작은, 상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하는 동작; 상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하는 동작; 상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하는 동작; 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작을 포함할 수 있다.The generating may include generating third sentence embedding vectors by reflecting the emotional importance on 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 for performing a weighted sum of the output of each encoder and each attention weight.
상기 문서 임베딩 벡터를 생성하는 동작은, 상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작을 포함할 수 있다.The generating of the document embedding vector may include generating the document embedding vector based on a concealment state of a last encoder among the respective encoders and the context vector.
상기 분류하는 동작은, 상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하는 동작; 및 상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는 동작을 포함할 수 있다.The classifying operation may include calculating a class similarity embedding vector indicating a relation between the document embedding vector and each emotion class; and determining a sentiment class of the document by connecting 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 emotion class.
일 실시예에 따른 장치는 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고, 상기 인스트럭션이 실행될 때, 상기 프로세서는, 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하고, 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하고, 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하고, 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류할 수 있다.An apparatus according to one embodiment includes a memory for storing one or more instructions; and a processor configured to execute the instruction, when the instruction is executed, the processor reinforces first sentence embedding vectors for each sentence included in the document and outputs second sentence embedding vectors, and the second sentence embedding vectors are output. Calculate the emotional importance of each sentence in the document based on sentence embedding vectors, generate a document embedding vector by weighted summing sentences in the document based on the emotional importance, and generate the document embedding vector based on the document embedding vector can be classified into emotional classes.
상기 프로세서는, 문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하고, 상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화할 수 있다.The processor may calculate class similarity embedding vectors representing a relationship between a sentence and each emotion class, and reinforce the first sentence embedding vectors by connecting the first sentence embedding vectors and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은, 문장과 각 감성 클래스 간의 내적 값을 포함할 수 있다.Each of the class similarity embedding vectors may include a dot product value between a sentence and each emotion class.
상기 프로세서는, 상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하고, 상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하고, 상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하고, 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성할 수 있다.The processor generates third sentence embedding vectors by reflecting the emotional importance on the second sentence embedding vectors, encodes the third sentence embedding vectors using each encoder, and based on the output of each encoder, A 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 the attention weight.
상기 프로세서는, 상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성할 수 있다.The processor may generate the document embedding vector based on the hidden state of the last encoder among the respective encoders and the context vector.
상기 프로세서는, 상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하고, 상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정할 수 있다.The processor may calculate a class similarity embedding vector indicating a relationship between the document embedding vector and each sentiment class, and determine the sentiment class of the document by connecting 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 emotion class.
도 1은 감성 분류를 설명하기 위한 도면이다.
도 2는 다양한 실시예에 따른 감성 분류 장치를 나타낸다.
도 3은 문장 인코더의 일 예를 설명하기 위한 도면이다.
도 4는 문서 인코더의 일 예를 설명하기 위한 도면이고, 도 5는 문서 인코더의 동작을 설명하기 위한 도면이다.
도 6은 감성 분류기의 일 예를 나타낸다.
도 7은 다양한 실시예에 따른 감성 분류 장치의 개략적인 블록도를 나타낸다.1 is a diagram for explaining emotion classification.
2 illustrates an emotion classification device 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 shows a schematic block diagram of an emotion classification device according to various embodiments.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be changed and implemented in various forms. Therefore, the form actually implemented is not limited only to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions 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, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions 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 a predefined sentiment class (e.g. positive, neutral, negative). It is a task. Sentiment classification models are divided into lexicon-based models and ML-based models.
사전 기반 모델은 먼저 감성 단어와 감성 단어의 속성(예: 극성 및 강도)을 포함하는 감성 사전을 정의한다. 그런 다음, 사전 기반 모델은 감성 단어 수, 감성 단어의 총 강도(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 containing sentiment words and their properties (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 sentiment words, and the maximum strength of sentiment words. The dictionary-based model classifies sentences into a sentiment class having the strongest polarity based on discrete information such as polarity and strength of sentiment words. These dictionary-based models include emotional words and surrounding linguistic clues (e.g., amplifiers (e.g., very, extraordinary, most), and meaning-reducing adverbs (e.g., slightly, somewhat, pretty). ), there is also a model that proposes a rule set for calculating the polarity of input text based on negators (e.g., nobody, none, nothing).
사전 기반 모델은 간단하고 효율적이지만 한계를 갖는다. 첫째, 감성 사전(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, ML-based models have been proposed. ML-based models predict the sentiment class of a given text based on statistical or algebraic information obtained from a large amount of training corpus. These ML-based models require large amounts of polarized annotated data to train. ML-based models include sentiment classification models based on convolutional neural networks (CNNs), recurrent neural networks (RNNs), and DNNs. Previous ML-based models focused on sentence-level sentiment classification, but recent ML-based models focus on document-level sentiment classification (e.g., sentiment classification for documents containing multiple sentences).
기존에, 문서 수준의 감성 분류는 입력 텍스트에서 각 문장의 중요성을 고려하지 않고, 대신에 입력 텍스트를 문장 모음으로 취급한다. 그러나, 인간은 문서의 극성을 결정하는 동안에, 인간은 문서 전체를 읽고 평범한 문장(ordinary sentence)(예: 인상적이지 않은 문장)을 제거하고 인상적인 문장(impressive sentence)을 기반으로 최종 극성을 결정한다. 표 1은 영화 리뷰 도메인에서 감성 분류를 요약한 일 예이다.Conventionally, sentiment classification at the document level 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 a human determines the polarity of a document, the human reads the entire document, removes ordinary sentences (eg unimpressive sentences) and determines the final polarity based on the impressive sentences. Table 1 is an example summarizing sentiment classification in the movie review domain.
[표 1][Table 1]
문서에는 극성이 하나만 있지만, 문서를 구성하는 각 문장은 극성이 다를 수 있다. 첫 번째 문장은 문서의 극성과 반대이고, 두 번째 문장은 편향된 극성(biased polarity)을 포함하지 않는다. 세 번째와 네 번째 문장 각각이 문서의 극성에 약하고 강한 영향을 미친 것을 알 수 있다. 즉, 세 번째와 네 번째 문장은 전체 문서의 극성을 뒷받침하는 강력한 증거이다.A document has only one polarity, but each sentence comprising a document can have a different polarity. The first sentence is opposite the polarity of the document, the second sentence does not contain the biased polarity. It can be seen that the third and fourth sentences have weak and strong effects on the polarity of the document, respectively. That is, sentences 3 and 4 are strong evidence supporting the polarity of the entire document.
표 1에서와 같이, 문서 전체의 감성을 분류하기 위해서는 문장 별 감성 분류 결과를 바탕으로 문서 전체의 감성 분류를 수행해야 한다. 즉, 문서의 극성을 효과적으로 결정하려면 문서의 각 문장을 서로 다른 중요도로 처리할 필요가 있다.As shown in Table 1, in order to classify the emotion of the entire document, the emotion classification of the entire document must be performed based on the emotion classification result for each sentence. That is, to effectively determine the polarity of a document, it is necessary to treat each sentence in the document with a different importance.
도 2는 다양한 실시예에 따른 감성 분류 장치를 나타낸다.2 illustrates an emotion classification device 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 emotion classification model 200 may be a DNN-based emotion classification model. The sentiment classification model 200 may include a
문장 인코더(210)는 ALBERT(예: BERT의 라이트 버전)를 사용하여 주어진 문서(예: 입력 문서)에서 문서에 포함된 각 문장의 문장 임베딩 벡터(예: 제1 문장 임베딩 벡터)를 생성할 수 있다. 문장 인코더(210)는 문장 임베딩을 위한 ALBERT(예: BERT의 라이트 버전)를 포함할 수 있다. 문장 인코더(210)는 문장 임베딩 벡터에 감성 클래스의 임베딩 벡터(예: 클래스 유사도 임베딩(class similarity embedding) 벡터)을 추가하여 문장 임베딩 벡터를 강화할 수 있다. 문장 인코더(210)는 강화된 문장 임베딩 벡터(예: 제2 문장 임베딩 벡터)를 문서 인코더(230)로 출력할 수 있다.
문서 인코더(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 the document (eg, the 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))일 수 있다.In Figure 3, denotes the ith 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 usually conveys the task-oriented semantics of an input document (e.g., a sequence of all input words), whereas in language model 213 a separator token The output vector of can deliver the representation of each input sentence. Input sentences in the document (e.g. ) is the sentence embedding vectors (eg, Equation 1) through the language model 213. ) can be converted to
[수학식 1][Equation 1]
여기서, 는 i번째 세퍼레이터 토큰 의 출력 벡터를 의미할 수 있다.here, is the ith separator token It can mean the 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 To complement , the
[수학식 2][Equation 2]
여기서, 는 i번째 문장 임베딩 벡터 를 타겟 클래스(예: 감성 분류 태스크에서 긍정 클래스, 중립 클래스, 부정 클래스)의 벡터 공간(vector space)에 매핑하기 위한 FNN을 의미할 수 있다. 는 감성 클래스들(예: 타겟 클래스들)의 무작위로 초기화된 도메인 임베딩 벡터들로 구성된 가중치 행렬(weight matrix)을 의미할 수 있다. 는 i번째 입력 문장과 각 감성 클래스(예: 타겟 클래스) 간의 내적(inner product) 값을 포함하는 클래스 유사도 임베딩(class similarity embedding) 벡터를 의미할 수 있다. 클래스 유사도 임베딩 벡터 는 입력 문장과 감성 클래스들(예: 타겟 클래스들) 간의 관련도(degrees of association)를 나타내는 것일 수 있다.here, is the ith sentence embedding vector It may mean 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 denote a weight matrix composed of randomly initialized domain embedding vectors of emotion classes (eg, target classes). may denote a class similarity embedding vector including an inner product value between the i-th input sentence and each emotion class (eg, target class). class similarity embedding vector may represent degrees of association between an input sentence and emotion 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 the enhanced sentence embedding vector (e.g. second sentence embedding vector) emotional importance (importance degree) Represents the sigmoid function for calculating may be a sentence embedding vector in which emotional importance is reflected (eg, a third sentence embedding vector, a gated sentence embedding vector).
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 mean an FNN including an output function for mapping to a vector space of emotion classes (eg, a target class). may be a weight matrix composed of randomly initialized domain embedding vectors of the same emotion 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 It may indicate a connection of
상술한 바와 같이, 감성 분류 장치(100)는 게이트 함수)(예: 게이트 레이어(233))를 사용하여 문서에서 문장의 감성적 중요도를 자동으로 결정하고, 각 문장의 감성적 중요도를 다르게 고려하여 입력 문서를 미리 정의된 감성 클래스로 분류할 수 있다.As described above, the
도 7은 다양한 실시예에 따른 감성 분류 장치의 개략적인 블록도를 나타낸다.7 shows a schematic block diagram of an emotion classification device 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 device 700 (eg, the
메모리(710)는 프로세서(730)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(730)의 동작 및/또는 프로세서(730)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
프로세서(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 unit implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), and Field Programmable Gate Array (FPGA).
프로세서(730)에 의해 수행되는 동작은 도 2 내지 도 6을 참조하여 설명한 문장 인코더(210), 문서 인코더(230), 감성 분류기(250)을 이용하는 감성 분류 동작과 실질적으로 동일할 수 있다. 이에, 상세한 설명은 생략하도록 한다.An 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 as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, 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), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 on a computer readable medium. A computer readable medium may store program instructions, data files, data structures, etc. alone or in combination, and program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. there is. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device 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 limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
Claims (17)
상기 감성 분류 장치가 문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하는 동작;
상기 감성 분류 장치가 게이트 함수를 통해 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하는 동작;
상기 감성 분류 장치가 상기 감성적 중요도에 기초하여 상기 문서 내 문장들을 가중 합산하여 문서 임베딩 벡터를 생성하는 동작; 및
상기 감성 분류 장치가 상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는 동작
을 포함하고,
상기 생성하는 동작은,
상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하는 동작;
상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하는 동작;
상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하는 동작; 및
상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작
을 포함하는, 동작 방법.
In the operation method of the emotion classification device,
outputting second sentence embedding vectors by reinforcing first sentence embedding vectors for each sentence included in the document by the sentiment classification apparatus;
calculating, by the emotion classifier, emotional importance of each sentence in the document based on the second sentence embedding vectors through a gate function;
generating a document embedding vector by adding weighted sentences in the document based on the emotional importance, by the emotion classification device; and
Classifying, by the emotion classification device, the emotion class of the document based on the document embedding vector
including,
The generating operation is
generating third sentence embedding vectors by reflecting the emotional importance on 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, operating method.
상기 출력하는 동작은,
문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하는 동작; 및
상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는 동작
을 포함하는, 동작 방법.
According to claim 1,
The outputting operation is
calculating class similarity embedding vectors indicating a relation between a sentence and each emotion class; and
An operation of reinforcing the first sentence embedding vectors by connecting the first sentence embedding vectors and the class similarity embedding vectors.
Including, operating method.
상기 클래스 유사도 임베딩 벡터들 각각은,
문장과 각 감성 클래스 간의 내적 값을 포함하는, 동작 방법.
According to claim 2,
Each of the class similarity embedding vectors,
A method of operation, including an inner product value between a sentence and each emotion class.
상기 컨텍스트 벡터를 계산하는 동작은,
상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하는 동작; 및
상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산하는 동작
을 포함하는, 동작 방법.
According to claim 1,
The operation of calculating the context vector,
calculating each attention weight based on the output of each encoder and the hidden state of the decoder; and
An operation of calculating the context vector performing a weighted sum of the output of each encoder and each attention weight
Including, operating method.
상기 문서 임베딩 벡터를 생성하는 동작은,
상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는 동작
을 포함하는, 동작 방법.
According to claim 1,
The operation of generating the document embedding vector,
Generating the document embedding vector based on the concealment state of the last encoder among the respective encoders and the context vector
Including, operating method.
상기 분류하는 동작은,
상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하는 동작; 및
상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는 동작
을 포함하는, 동작 방법.
According to claim 1,
The classification operation,
calculating a class similarity embedding vector indicating a relation between the document embedding vector and each emotion class; and
An operation of determining a sentiment class of the document by connecting the document embedding vector and the class similarity embedding vectors.
Including, operating method.
상기 클래스 유사도 임베딩 벡터는,
상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함하는, 동작 방법.
According to claim 7,
The class similarity embedding vector,
And including a dot product value between the document embedding vector and each sentiment class.
상기 인스트럭션을 실행시키기 위한 프로세서
를 포함하고,
상기 인스트럭션이 실행될 때, 상기 프로세서는,
문서에 포함된 각 문장에 대한 제1 문장 임베딩 벡터들을 강화하여 제2 문장 임베딩 벡터들을 출력하고,
게이트 함수를 통해 상기 제2 문장 임베딩 벡터들에 기초하여 상기 문서 내 상기 각 문장의 감성적 중요도를 계산하고,
상기 제2 문장 임베딩 벡터들에 상기 감성적 중요도를 반영하여 제3 문장 임베딩 벡터들을 생성하고,
상기 제3 문장 임베딩 벡터들을 각 인코더를 이용하여 인코딩하고,
상기 각 인코더의 출력에 기초하여 컨텍스트 벡터를 계산하고,
상기 컨텍스트 벡터에 기초하여 문서 임베딩 벡터를 생성하고,
상기 문서 임베딩 벡터에 기초하여 상기 문서의 감성 클래스를 분류하는, 장치.
a memory that stores one or more instructions; and
A processor to execute the instruction
including,
When the instruction is executed, the processor:
outputting second sentence embedding vectors by reinforcing first sentence embedding vectors for each sentence included in the document;
Calculate the emotional importance of each sentence in the document based on the second sentence embedding vectors through a gate function;
generating third sentence embedding vectors by reflecting the emotional importance on 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;
generate a document embedding vector based on the context vector;
Classifying a sentiment class of the document based on the document embedding vector.
상기 프로세서는,
문장과 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터들을 계산하고,
상기 제1 문장 임베딩 벡터들과 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 제1 문장 임베딩 벡터들을 강화하는, 장치.
According to claim 9,
the processor,
Calculate class similarity embedding vectors representing the relationship between the sentence and each emotion class;
and reinforcing the first sentence embedding vectors by concatenating the first sentence embedding vectors and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터들 각각은,
문장과 각 감성 클래스 간의 내적 값을 포함하는, 장치.
According to claim 10,
Each of the class similarity embedding vectors,
A device, containing dot products between sentences and each sentiment class.
상기 프로세서는,
상기 각 인코더의 출력 및 디코더의 은닉 상태에 기초하여 각 어텐션 가중치를 계산하고,
상기 각 인코더의 출력과 상기 각 어텐션 가중치의 가중치 합을 수행하는 상기 컨텍스트 벡터를 계산하는, 장치.
According to claim 9,
the processor,
Calculate each attention weight based on the output of each encoder and the hidden state of the decoder;
The apparatus for calculating the context vector performing a weighted sum of the output of each encoder and each attention weight.
상기 프로세서는,
상기 각 인코더 중에서 마지막 인코더의 은닉 상태 및 상기 컨텍스트 벡터에 기초하여 상기 문서 임베딩 벡터를 생성하는, 장치.
According to claim 9,
the processor,
Generating the document embedding vector based on the concealment state of a last encoder among the respective encoders and the context vector.
상기 프로세서는,
상기 문서 임베딩 벡터와 각 감성 클래스의 관련성을 나타내는 클래스 유사도 임베딩 벡터를 계산하고,
상기 문서 임베딩 벡터와 상기 클래스 유사도 임베딩 벡터들을 연결하여 상기 문서의 감성 클래스를 결정하는, 장치.
According to claim 9,
the processor,
Calculate a class similarity embedding vector representing the relationship between the document embedding vector and each emotion class;
and determining a sentiment class of the document by concatenating the document embedding vector and the class similarity embedding vectors.
상기 클래스 유사도 임베딩 벡터는,
상기 문서 임베딩 벡터와 각 감성 클래스 간의 내적 값을 포함하는, 장치.
According to claim 15,
The class similarity embedding vector,
and a dot product 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 KR20220142050A (en) | 2022-10-21 |
KR102501869B1 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116644759B (en) * | 2023-07-19 | 2023-10-03 | 成都晓多科技有限公司 | Method and system for extracting aspect category and semantic polarity in sentence |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6588449B2 (en) * | 2014-01-31 | 2019-10-09 | グーグル エルエルシー | Generating a vector representation of a document |
-
2021
- 2021-04-14 KR KR1020210048333A patent/KR102501869B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220142050A (en) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7072585B2 (en) | Natural language processing with context-specific word vectors | |
KR102342066B1 (en) | Method and apparatus for machine translation using neural network and method for learning the appartus | |
Yan et al. | A semantic and emotion‐based dual latent variable generation model for a dialogue system | |
Abonizio et al. | Toward text data augmentation for sentiment analysis | |
KR102398993B1 (en) | Apparatus for generating text and method thereof | |
US11941361B2 (en) | Automatically identifying multi-word expressions | |
Zhang et al. | Skill extraction from job postings using weak supervision | |
KR102501869B1 (en) | Document-level sentiment classification method and apparatus based on importance of sentences | |
KR20200060191A (en) | System and method for tracking dialog state in a cross-language | |
KR102413050B1 (en) | Method and apparatus for summarizing document | |
Chen et al. | Relation-constrained decoding for text generation | |
De Kruijf et al. | Training a Dutch (+ English) BERT model applicable for the legal domain | |
KR20210065066A (en) | Statements credibility assessing system using commonsense knowledge and linguistic patterns and the method thereof | |
Jia et al. | EmoDialoGPT: enhancing DialoGPT with emotion | |
US20240143927A1 (en) | Method for generating summary and system therefor | |
KR102659389B1 (en) | System for correcting verbal violence and enhancementing text reliability using abusive language and credibility dependencies, and the method thereof | |
Bhargava et al. | Enhancing Deep Learning Approach for Tamil English Mixed Text Classification | |
US20220335332A1 (en) | Method and apparatus for self-training of machine reading comprehension to improve domain adaptation | |
US20240290065A1 (en) | Method for multimodal embedding and system therefor | |
KR102049517B1 (en) | Korean morphological analysis having linear time complexity, using limited neural network, and recording medium thereof | |
KR20240076978A (en) | Device and method for generating conversational model using knowledge and persona | |
Nam et al. | Korean dependency parsing with proper noun encodin | |
KR20230070697A (en) | Method for generating a song with note embedding and bar embedding and the system thereof | |
KR20240117821A (en) | Device and method for generating knowledge and persona based utterance generative model reflecting human's conversational maxims | |
KR20230078933A (en) | Method and system for information set based on parallel decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |