KR20210094324A - 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치 - Google Patents

속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치 Download PDF

Info

Publication number
KR20210094324A
KR20210094324A KR1020200007943A KR20200007943A KR20210094324A KR 20210094324 A KR20210094324 A KR 20210094324A KR 1020200007943 A KR1020200007943 A KR 1020200007943A KR 20200007943 A KR20200007943 A KR 20200007943A KR 20210094324 A KR20210094324 A KR 20210094324A
Authority
KR
South Korea
Prior art keywords
attribute
text
map
word
emotional
Prior art date
Application number
KR1020200007943A
Other languages
English (en)
Other versions
KR102448044B1 (ko
Inventor
박세영
노윤석
박성배
Original Assignee
경북대학교 산학협력단
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단, 경희대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020200007943A priority Critical patent/KR102448044B1/ko
Publication of KR20210094324A publication Critical patent/KR20210094324A/ko
Application granted granted Critical
Publication of KR102448044B1 publication Critical patent/KR102448044B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • G06K2209/01

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Processing Or Creating Images (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • Instructional Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 속성 맵을 이용한 속성 기반 감정 분석 방법에 관한 것으로, 텍스트를 입력받아 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델에 입력하는 단계; 상기 학습 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인하는 단계; 및 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인하는 단계;를 포함한다.

Description

속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치{ASPECT BASED SENTIMENT ANALYSIS METHOD USING ASPECT MAP AND ELECTRONIC DEVICE}
본 발명은 특정 속성(specific aspect)의 감정을 텍스트로 분류하는 속성 기반 감정 분석 방법에 관한 것으로, 보다 구체적으로는 속성 맵(aspect map)을 이용하여 특정 속성의 감정을 텍스트로 분류하는 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치에 관한 것이다.
최근 온라인 상에 포스팅되는 개인적인 의견들은 고려할만한 리뷰들로서 이용되며, 댓글(후기)들은 다양한 포털 사이트 또는 웹사이트들에서 이용된다. 이러한 텍스트 형태의 의견들은 영화의 평판을 분석하고, 제품을 개선하고, 책 또는 식당과 같은 개인적인 아이템들에서의 추천을 제공하는데 사용된다. 감정 분석은 잘 알려진 의견 수집 작업이며, 이는 어떤 문장이 긍정적인 의견 또는 부정적인 의견을 포함하는 지를 판단한다. 사용자들에 의해 생성된 텍스트들은 많은 문법적 오류 및 이모티콘들을 포함하여 종종 잡음 요소가 많기 때문에, 텍스트에 대한 감정을 분석하기 전 텍스트들에 적절한 텍스트 전처리를 적용할 필요가 있다. 다양한 감정 분석은 어휘 기반 방법, 통계적 머신 러닝 방법, 최근 딥 러닝 방법과 같은 전처리에서 개발되어 왔다.
일반적으로, 단일 문장은 복수의 속성들을 포함하고, 상기 속성들은 독립적으로 표현된다. 그러므로, 상세한 감정 분석을 위해, 텍스트의 감정들은 텍스트 레벨이 아닌 속성 레벨에서 검사되어야 한다. 몇 가지 방법들이 속성 기반 감정 분석(aspect-based sentiment analysis; ABSA)을 위해 제안되었다. 타겟 속성은 ABSA에서 고정되기 때문에, 텍스트를 이해하는 것 뿐만 아니라 텍스트 내의 속성에 대해 정보를 적절히 이용하는 것이 중요하다. 텍스트를 이해하기 위해, 딥 러닝은 독보적인 방법이 됨이 입증되어 왔다. 결과적으로, 컨볼루션 신경망(CNN)과 양방향 반복 신경망(bi-directional RNN(recurrent neural network))들이 ABSA에서 텍스트 인코더로 널리 사용된다.
상기 속성 기반 감정 분석(ABSA)은 하나의 텍스트에서 특정 속성(aspect)의 감정(sentiment)을 분류하는 작업(task)이다. 단일 텍스트는 보통 독립적으로 표현된 다중의 속성들을 가지기 때문에, ABSA는 상세한 의견 수집을 위한 중요한 작업이다.
ABSA를 해결하는 중요한 요소는 하나의 텍스트에서 그 적절한 타겟 속성(target aspect)을 갖는 감정 표현들을 정렬(align)하는 것이다. 이에 따라, 많은 최근의 신경 모델들은 상기 정렬을 학습하기 위해 어텐션 메커니즘(attention mechanism)들을 적용해왔다. 그러나, "nice" 및 "bad"와 같은 대부분의 감정적인 표현들은 어텐션 메커니즘을 통해서조차 정렬되기에 너무 일반적이기 때문에, 이를 달성하기 위해 어텐션 메커니즘에만 의존하는 것은 한계가 있다.
상기한 문제를 해결하기 위해, 본 발명의 실시예에 따르면 속성 레벨의 감정 분류를 위해 2개의 컨볼루션 신경망(convolutional neural network; CNN)들에 기반하는 속성 레벨 감정 분류 방법 및 전자 장치를 제공한다.
본 발명에 따르면, 감정 표현은 보통 해당 속성의 속성 표현 근처에서 나타나는 속성과 관련이 있기 때문에, 제1 CNN 모듈에서는 먼저 주어진 속성을 위한 속성 표현을 찾고, 제2 CNN 모듈에서는 속성의 최종 감정을 판단하기 위해 속성 표현들 주변의 감정 표현들에 기반하여 감정 분류를 수행하는 속성 레벨 감정 분류 방법 및 전자 장치를 제공한다.
상기와 같은 목적을 달성하기 위한 속성 레벨 감정 분류 방법은, 텍스트를 입력받아 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델에 입력하는 단계; 상기 학습 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인하는 단계; 및 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인하는 단계;를 포함한다.
바람직하게는, 상기 방법은, 상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단하는 단계;를 더 포함한다.
바람직하게는, 상기 감정 극성은, 긍정, 부정, 중립, 충돌 중 적어도 하나를 포함한다.
바람직하게는, 상기 속성 맵은, 상기 입력된 텍스트의 각 단어들 중 상기 적어도 하나의 속성과 관련된 단어에 대한 위치 정보를 포함한다.
바람직하게는, 상기 학습 모델은, 약지도형 학습 방법(weakly supervised manner)에 의한 학습으로 텍스트를 속성에 매핑한다.
바람직하게는, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성과 인접한 감정 표현의 단어를 상기 속성에 대응하는 감정 표현으로 판단한다.
바람직하게는, 상기 방법은, 연속적인 벡터 공간상에서 속성 카테고리들을 임베딩하여 속성 벡터를 생성하는 단계;를 더 포함한다.
다른 측면에서 상기와 같은 목적을 달성하기 위한 본 발명의 전자 장치는, 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델이 저장된 메모리; 및 텍스트를 입력받아 상기 학습 모델에 입력하고, 상기 학습 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인하고, 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대응하는 감정 표현에 대응하는 단어를 확인하도록 하는 프로세서;를 포함한다.
바람직하게는, 상기 프로세서는, 상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단한다.
바람직하게는, 상기 속성 맵은, 상기 입력된 텍스트의 각 단어들 중 상기 적어도 하나의 속성과 관련된 단어에 대한 위치 정보를 포함한다.
바람직하게는, 상기 프로세서는, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 추출하는 제1 컨볼루션 신경망(convolutional neural network; CNN) 모듈; 및 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대응하는 감정 표현에 대응하는 단어를 확인하는 제2 CNN 모듈;을 포함한다.
바람직하게는, 상기 학습 모델은, 약지도형 학습 방법(weakly supervised manner)에 의한 학습으로 텍스트를 속성에 매핑한다.
바람직하게는, 상기 프로세서는, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성과 인접한 감정 표현의 단어를 상기 속성에 대응하는 감정 표현으로 판단한다.
바람직하게는, 상기 프로세서는, 연속적인 벡터 공간상에서 속성 카테고리들을 임베딩하여 속성 벡터를 생성한다.
바람직하게, 상기 제1 컨볼루션 신경망 모듈은 감정분류의 대상이 되는 속성이 주어지지 않을 경우 상기 텍스트에 포함된 속성을 추출한다.
본 발명에 따르면, 감정 표현은 보통 해당 속성의 속성 표현 근처에서 나타나는 속성과 관련이 있기 때문에, 복수의 CNN에 의해 타겟 속성을 위한 속성 표현의 위치 정보를 추출하고, 상기 정보를 속성 맵으로서 표현함으로써. 속성들과 그 표현들 사이의 직접적인 관계에 대한 주석들이 있는 데이터가 존재하지 않더라도, 약지도형 학습 방법(weakly supervised manner)으로 그것을 학습함으로써 속성 맵을 효과적으로 얻을 수 있다.
또한, 본 발명에 따르면, 상기 속성 맵을 사용하여 하나의 텍스트에 있는 복수의 타겟 속성들의 감정을 분류함으로써, 기존에 사용된 다양한 방법들에 비해 동일한 데이터 셋에 대해 최신의 성능을 보여준다.
도 1은 본 발명의 실시예에 따른 속성 기반 감정 분석을 수행하는 전자 장치의 세부 구성을 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 ABSA가 적용되는 텍스트의 예를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 두 개의 투플을 갖는 ABSA 처리의 예를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 속성 레벨 감정 극성을 판단하는 개념을 나타내는 도면이다.
도 5는 본 발명의 실시예에 따른 속성 맵 추출 네트워크(AMEN)의 아키텍처를 나타내는 도면이다.
도 6은 본 발명의 실시예에 따른 동일한 테스트에 대해 모든 속성들을 통합하여 간략화된 표현을 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 AMEN으로부터 속성 맵을 추출하는 예를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 속성 맵 기반 감정 분석 네트워크(AMSAN)의 아키텍처를 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 식당 리뷰에 대해 3가지 속성 카테고리들에 대한 속성 맵을 나타내는 도면이다.
도 10은 본 발명의 실시예에 따른 속성 기반 감정 분석 절차를 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 실시 예에 기초하여 설명한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있는 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백히 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 발명의 실시예들은 컨볼루션 신경망(convolutional neural network; CNN) 기반의 속성 레벨 감정 분류 모델을 제안하며, 다양한 실시예에 따라 두 개의 콘볼류션 신경망(CNN)들로 구성된다. 감정 표현은 보통 해당 속성의 속성 표현 근처에서 나타나는 속성과 관련이 있기 때문에, 제안된 모델은 먼저 주어진 속성을 위한 속성 표현을 찾고, 속성의 최종 감정을 판단하기 위해 속성 표현들 주변의 감정 표현들에 포커스를 맞춘다. 그러므로, 본 발명의 실시예에 따라, 제1 CNN은 타겟 속성을 위한 속성 표현의 위치 정보를 추출하고, 상기 추출한 위치 정보를 속성 맵으로서 표현한다. 다양한 실시예에 따라, 상기 속성 맵은 약지도형 학습 방법(weakly supervised manner)으로 학습함으로써 효과적으로 얻어질 수 있다. 그런 다음, 제2 CNN은 상기 속성 맵을 사용하여 하나의 텍스트에 있는 타겟 속성의 감정을 분류한다. 본 발명의 실시예에 따라 제안된 모델은 SemEval 2016 Task 5 dataset 상에서 평가되고 몇 가지 베이스라인 모델들과 비교될 수 있다. 상기 실험 결과에 따라, 본 발명의 제안된 모델은 베이스라인 모델들을 출력할 뿐만 아니라 상기 데이터 셋에 대한 최신의 성능을 보여준다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 속성 기반 감정 분석을 수행하는 전자 장치의 세부 구성을 나타내는 블록도이다. 도 1을 참조하면, 전자 장치(100)는 통신부(110), 프로세서(120), 메모리(130)를 포함하여 구성될 수 있다. 상기 프로세서(120)는 인터페이스(123), 제1 CNN 모듈(121), 제2 CNN 모듈(122)을 포함할 수 있다.
상기 통신부(110)는 외부 전자 장치들 또는 서버들과 통신을 수행하여, 다양한 정보(또는 데이터)를 송수신할 수 있는 하드웨어를 지칭할 수 있다. 구체적으로, 통신부(110)는 외부 전자 장치들 또는 서버들로부터 속성 기반 감정 분석을 수행하고자 하는 텍스트 데이터를 수신할 수 있다. 상기 외부 전자 장치 또는 서버는 다양한 포털 사이트 또는 웹 사이트 등의 서버일 수 있다. 상기 외부 전자 장치 또는 서버로부터 수신되는 텍스트 데이터는 감정이 포함된 문장으로서 각 웹사이트에 포스팅된 개인적인 의견, 댓글(후기), 영화의 평판 등을 포함할 수 있다. 상기 통신부(110)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 상기 외부 전자 장치들과 다양한 정보를 송수신할 수 있다. 이를 위해, 통신부(110)는 유선 통신 또는 무선 통신을 통해 외부 전자 장치들 또는 서버들과 네트워크로 연결될 수 있다. 이때, 네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.
메모리(120)는 프로세서(130) 등이 접근할 수 있도록 데이터 등의 정보를 전기 또는 자기 형태로 저장하는 하드웨어를 지칭할 수 있다. 이를 위해, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(Flash Memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD), RAM, ROM 등 중에서 적어도 하나의 하드웨어로 구현될 수 있다.
메모리(120)에는 전자 장치(100) 또는 프로세서(130)의 동작에 필요한 적어도 하나의 인스트럭션(instruction), 모듈 또는 데이터가 저장될 수 있다. 여기서, 인스트럭션은 전자 장치(100) 또는 프로세서(130)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다. 데이터는 문자, 수, 영상 등을 나타낼 수 있는 비트 또는 바이트 단위의 정보일 수 있다.
또한, 메모리(120)에 저장되는 학습 모델(131)(예컨대, 인공지능 모델)은 설정된 알고리즘에 따라 학습된 학습 정보일 수 있다. 예컨대, 상기 학습 모델(131)은 상기 통신부(110)를 통해 텍스트를 입력받아 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델일 수 있다.
여기에서, 학습 모델(예컨대, 인공지능 모델)은, 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치(weight values)를 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치의 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks)이 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고는 전술한 예에 한정되지 않는다. 또한, 학습 모델은, 다양한 개념, 조건, 관계 내지는 합의된 지식이 컴퓨터가 처리할 수 있는 형태로 표현된 온톨로지 기반의 데이터 구조로 구성될 수도 있다.
학습 모델은 다양한 학습 알고리즘을 통해 전자 장치(100) 또는 별도의 서버/시스템을 통해 학습된 것일 수 있다. 학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다. 메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의해 인스트럭션, 모듈, 학습 모델 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
프로세서(130)는 하나 또는 복수의 프로세서로 구성될 수도 있으며, 프로세서(130)는 CPU(Central Processing Unit), AP(Application Processor) 등과 같은 범용 프로세서, GPU(Graphic Processing Unit), VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서, NPU(Neural Processing Unit)와 같은 인공지능 전용 프로세서 등으로 구현될 수 있다. 프로세서(130)는 전자 장치(100)의 전반적인 구성을 제어할 수 있다.
상기 프로세서(130)는 인터페이스(123)를 통해 텍스트를 입력받아 제1 CNN 모듈(121)로 전송할 수 있다. 상기 제1 CNN 모듈(121)은 상기 수신된 텍스트를 상기 메모리(131)의 상기 학습 모델(131)에 입력하고, 상기 학습 모델(131)의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인할 수 있다.
상기 제1 CNN 모듈(121)은 상기 텍스트, 상기 확인된 적어도 하나의 속성, 및 상기 적어도 하나의 속성에 대한 속성 맵을 상기 제2 CNN 모듈(122)로 전송할 수 있다.
상기 제2 CNN 모듈(122)은 상기 제1 CNN 모듈(121)로부터 상기 텍스트, 상기 확인된 적어도 하나의 속성, 및 상기 적어도 하나의 속성에 대한 속성 맵을 수신하고, 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인할 수 있다. 상기 제2 CNN 모듈(122)은 상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단할 수 있다.
이하, 상기 프로세서(120)의 제1 CNN 모듈(121) 및 제2 CNN 모듈(122)에서 수행되는 동작을 상세히 설명하기로 한다. 먼저, 본 발명에 적용되는 속성 기반 감정 분석(aspect-based sentiment analysis; ABSA)에 대해 설명한다.
일반적으로, 단일 문장은 복수의 속성들을 포함하고, 상기 속성들은 독립적으로 표현된다. 그러므로, 상세한 감정 분석을 위해, 텍스트의 감정들은 텍스트 레벨이 아닌 속성 레벨에서 검사되어야 하며, 그 예로서 ABSA가 제안되었다. 타겟 속성은 ABSA에서 고정되기 때문에, 텍스트를 이해하는 것 뿐만 아니라 텍스트 내의 속성에 대해 정보를 적절히 이용하는 것이 중요하다. 상기 ABSA에서 텍스트 인코더로 컨볼루션 신경망(CNN)과 양방향 반복 신경망(bi-directional RNN(recurrent neural network))들이 사용될 수 있다.
상기 속성 기반 감정 분석(ABSA)은 하나의 텍스트에서 특정 속성(aspect)의 감정(sentiment)을 분류하는 작업(task)으로서, 하나의 텍스트에서 그 적절한 타겟 속성(target aspect)을 갖는 감정 표현들을 정렬(align)하는 것을 포함한다. 이를 위해, 상기 감정 표현들에 대한 정렬을 학습하기 위해 어텐션 메커니즘(attention mechanism)들이 적용될 수 있다.
본 발명의 다양한 실시예에서는, 상기 ABSA에서 타겟 속성의 정보를 이용하기 위해, 타겟 속성의 속성 벡터를 채용하였으며, 상기 벡터는 연속적인 벡터 공간상에서 속성 카테고리들을 임베딩함으로써 생성된다. 그런 다음, 속성 벡터 및 텍스트 벡터의 연접 벡터(concatenated vector)로 텍스트의 속성 레벨 감정을 판단한다. 동일한 중요도를 갖는 텍스트 내의 모든 단어들을 처리하기 위해 RNN 기반 ABSA 모델들은 어텐션 메커니즘들을 적용할 수 있다. 상기 어텐션 메커니즘들은 관심 있는 태스크를 위한 두드러진 단어들(salient words)에 집중하는 능력을 가지기 때문에, 속성 레벨 감정 분류를 위한 유용한 표현들을 선택적으로 적용하는 컨텍스트 벡터를 생성하는데 이용될 수 있다.
한편, 상기 컨텍스트 벡터의 주요한 문제는 타겟 속성의 속성 표현들이 나타나는 위치를 알기 위해 상기 정보가 ABSA에서 중요하더라도, 두드러진 단어들의 위치 정보를 잃어버린다는 것이다. 예를 들면, 도 2는 두 개의 다른 타겟 속성들과 그 대응하는 감정 표현들을 갖는 식당에서의 예시적인 리뷰를 나타낸다. 도 2에서, 하나의 타겟 속성(target aspect)은 속성 표현(aspect expression) "view of river"로 표현된 LOCATION이며, 다른 하나는, "sushi roll"로 표현된 FOOD이다. 위치에 대한 긍정적인 표현은 가장 왼쪽 단어 "nice"로 보임으로써 발견될 수 있다. 유사하게, 속성 FOOD에 대해 부정적인 단어 "bad"는 속성 표현 "sushi rolls" 근처에서 확인된다. 즉, 감정 표현은 그 속성 표현들 근처에서 나타난다. 속성 표현들 및 그 속성 레이블(label)들이 단어 레벨에서 해석되는 말뭉치(corpus)를 이용할 수 있다면, 속성 표현들의 위치 정보는 현재 ABSA 방법들에 쉽게 통합될 수 있다. 그러나, 그러한 말뭉치가 일반적으로 이용되는 것은 아니며, 텍스트 레벨에서 감정들이 해석되는 말뭉치들(corpora)만이 충분하다. 추가로, 단어 레벨 해석들로 말뭉치를 구성하는 것은 매우 지루한 작업이며 노동 집약적이다.
본 발명의 실시예에서는 두 개의 CNN 모듈(즉, 제1 CNN 모듈(121), 및 제2 CNN 모듈(122))들로 구성된 딥 신경망을 제안하며, 이는 속성 표현과 그 감정 언급 사이의 근접 특성(proximity property)을 이용한다. 제안된 모델의 제1 CNN 모듈(121)은 타겟 속성에 관해 텍스트에서 중요한 단어들을 가리키는 타겟 속성에 대한 속성 맵을 추출하며, 다른 CNN 모듈(제2 CNN 모듈(122))은 속성 맵을 참조함으로써 타겟 속성의 감정 극성(polarity)를 판단한다. 속성 맵 추출을 학습하기 위해 상기 속성들이 단어 레벨에서 해석되는 말뭉치가 필요하다. 그러나, 그러한 말뭉치는 위 언급된 바와 같이 이용 가능하지 않다. 그러므로, 상기 속성 맵 약지도형 학습 방법(weakly supervised manner)으로 추출되어야 한다. 최근, 클래스 활성화 맵(class activation map; CAM)이 컴퓨터 비전의 커뮤니티에서 약지도형 객체 위치화를 위해 제안되었다. CNN의 특징(feature) 맵들을 관련 클래스들에 링크함으로써 이미지의 객체들은 위치화되고, 상기 링크는 전역 평균 풀링(global average pooling)에 의해 구현된다. 그러므로, 상기 CNN 모듈들에 의해 지원되는 네트워크는 상기 약한 레이블된 이미지들로부터 객체들의 위치화를 학습할 수 있으며, 약한 레이블된 텍스트들로부터의 속성 맵 추출과 유사하다. 텍스트 분석을 위한 CNN 모듈들은보통 이미지 분석을 위한 CNN과 달리 다양한 커널 크기들을 갖는 단일 컨벌루션 계층을 갖는다. 그러므로, 이들은 다양한 ns에 대해 n-gram 단어 패턴들을 캡쳐할 수 있다. 결과적으로, 복수의 CAM들이 n 및 상이한 커널들의 개수에 따라 생성된다. ABSA에서 타겟 속성을 위한 속성 맵은 이러한 모든 CAM들의 합이다.
상기 제1 CNN 모듈(121)에서 속성 맵이 추출된 후, 제2 CNN 모듈(122)은 타겟 속성의 감정을 분류한다. 이러한 제1 CNN 모듈(121)의 컨볼루션 계층은 도 2에서 "nice" 및 "bad"와 같은 감정 표현을 활성화시키는 특징 맵들을 생성한다. 일반적으로, ABSA에서 타겟 속성의 속성 표현들 근처에서의 감정 표현들만이 관심이 된다. 그러므로, 타겟 속성-특정 감정 특징 맵들을 남겨두기 위해 속성 맵은 감정 표현들의 특징 맵들에 적용된다. 그런 다음, 제2 CNN 모듈(122)은 상기 속성-특정 감정 특징 맵들을 사용하여 상기 타겟 속성에 대해 텍스트의 감정 극성을 판단한다.
최근 연구에서, ABSA를 위해 게이티드(gated) 컨벌루션 신경망이 소개되었다. 본 발명과 유사하게, 이 모델은, 속성 임베딩으로 tanh 게이트 및 relu 게이트를 각각 사용함으로써 감정 및 속성 특징들 둘 다 생성한다. 매 위치에서, relu 게이트로부터의 속성 특징들이 tanh 게이트들로부터의 감정 특징들을 증폭시키기 위해 사용되므로, 상기 게이티드된 CNN은 어텐션 메커니즘들의 컨텍스트 백터의 문제를 해결하도록 시도한다. 속성 특징들을 생성하기 위해 속성 임베딩만을 이용하고 감정 분류 객체화에서 모든 특징들을 학습하는 상기 게이티드 컨벌류션 신경망과는 달리, 본 발명의 실시예에 따른 모델은 단어와 속성 사이의 관계를 감정 분류로부터 분리하여 학습한다. 결과적으로, 본 발명에 따른 모델은 특정 속성 맵을 획득할 수 있으며, ABSA의 속성 맵을 효과적으로 이용할 수 있다.
이하, 본 발명의 설명에서는, 먼저 속성 기반 감정 분석을 위한 최근 신경 모델의 이전 연구를 간단히 소개한다. 다음으로, 본 발명의 제안하는 모델의 전체적인 절차를 설명한다. 그런 다음, 제안된 모델에서 사용되는 두 개의 CNN 모듈(제1 CNN 모듈(121), 제2 CNN 모듈(122))의 상세한 아키텍쳐들 및 메커니즘들을 설명한다. 다음으로, 실험 결과를 설명하고, 마지막으로 결론을 설명한다.
<관련 기술>
속성 기반 감정 분석은 의견 수집에서 중요한 작업으로서 간주된다. CNN들과 RNN들은 노동-집약적 특징 엔지니어링 없이 텍스트 이해에 대해 뛰어남이 입증되었기 때문에, 가장 최근 연구는 딥 러닝에 의존한다. 초기 딥 러닝 방법들은 보통 속성 인식 감정 분류를 위한 컨텍스트 정보의 유형으로서 타겟 속성을 사용했다. 상기 분류를 위해, 이전 연구들은 컨텍스트 벡터에 타겟 속성을 임베딩했으며, CNN 또는 RNN에 의해 인코딩된 텍스트 벡터와 함께 상기 분류 계층으로 상기 벡터를 입력했다. 그러나, 텍스트는 상기 타겟 속성으로부터 독립적으로 인코딩되기 때문에 이러한 방법은 타겟 속성을 위한 특정 표현들을 검출하는 데 실패한다.
최근, 이러한 문제를 해결하기 위해 어텐션 메커니즘이 채용되었다. ATAE-LSTM(long short term memory)에서, 상기 속성 벡터는 매 단어 표현에 연접되고(concatenated), 그런 다음, 어텐션 메커니즘이 속성 벡터의 적절한 감정을 발견한다. 상기 ATAE-LSTM에서 어텐션 메커니즘은 가격/저렴과 같은 속성 및 속성-특정 감정 사이의 관계를 캡쳐할 수 있으며, "nice" 및 "bad"와 같은 일반적인 감정 단어들 때문에 도 2에서의 텍스트를 분류하는데 실패한다. 일반적인 감정 단어들은 너무 많은 속성들에 사용되기 때문에, 어텐션 메커니즘은 그 올바른 속성을 감지할 수 없다.
속성 임베딩을 갖는 게이티드 컨벌루션 네트워크(Gated convolutional network with aspect embedding; GCAE)은 두 개의 컨벌루션 계층들의 상위에서 두 개의 상이한 게이트 유닛들을 포함하는 CNN 기반 모델이다. 이는 먼저 두 개의 컨벌루션 계층들로부터 두 개의 상이한 특징 맵들을 생성하고, 그런 다음, 각 특징 맵은 tanh 게이트 및 ReLU 게이트로 전달된다. 상기 ReLU 게이트는 감정 특징들의 전파를 제어하기 위해 추가적인 정보를 받는다. 상기 두 개의 게이트들의 출력이 엘리먼트-방식(element-wise) 다중화에 의해 결합된 후, 상기 결합된 특징들은 분류 계층으로 전달된다. 상기 ReLU 게이트의 게이팅 메커니즘은 n-gram 로컬 특징들에만 적용된다. 그러므로, 속성 표현들로부터 커널 크기의 거리 내의 속성-특정 감정 특징들을 검출하는 것이 가능하다. 그러나, GCAE에서 상기 ReLU 게이트 내의 컨볼루션 계층은 속성 및 감정 표현들 둘 다 매칭하여야 하며, 이는 성능의 악화를 가져온다.
다른 연구에서는, ABSA에서 속성 표현들의 위치 정보의 유용성을 예시하였다. 상기 연구에서는 ABSA를 위한 위치 어텐션을 소개한다. 감정 표현 및 속성 표현 사이의 근접성을 이용하기 위해, 위치 어텐션은 속성 표현에 대한 각 단어의 절대적 거리를 측정함으로써 계산된다. 이러한 위치 어텐션을 가지고, 상기 속성 표현 근처에 나타나는 단어는 감정 분류를 위해 더 포커싱된다. 이 연구는 속성 표현들의 위치 정보의 효과를 보여주는데 성공적이었다. 그러나, 이러한 방법은 그 입력으로서 타겟 속성을 위한 속성 표현들을 필요로 하기 때문에, 단지 텍스트 레벨 해석이 이용 가능할 때만 동작한다.
또 다른 연구에서는, 감정 분류를 위한 작업들에 매핑하는 분류 활성화를 적용하였다. 이는 영화 후기들에 다중 채널 CNN들을 훈련하였으며, 그런 다음 CAM들에 의해 수집된 감정-특정 표현들을 예시했다. CAM들을 획득하기 위한 그 방법은 제안된 모델과 부분적으로 유사하지만, 원래 CAM이 그 네트워크에 있는 것과 같이 사용되는 점에서 차이가 있다. 그러므로, 상기 연구는 단지 CAM의 단위 위치화 능력만을 보여준다. 한편, 본 발명의 실시예에 따라 제안된 모델은 ABSA를 해결하기 위해 CAM을 적용한다.
<속성 맵을 사용하는 감정 분석>
본 발명의 실시예에 따른 속성 기반 감정 분석(Aspect-based sentiment analysis; ABSA)은 주어진 텍스트 t 및 타겟 속성 c에 대해 감정 결정 s를 만드는 작업이다. 예를 들면, 도 2에 도시된 아주 간단한 리뷰가 t로서 고려되면, 이는 LOCATION 및 FOOD의 두 가지 속성을 포함한다. 그러므로, 두 개의 입력 투플(tuple)들은 도 3에 도시된 바와 같은 ABSA로 고려되어야 한다. 상기 투플 (t, LOCATION)이 ABSA 시스템에 주어지면, 상기 시스템은 감정 레이블로 긍정(positive)을 출력해야 하고, 상기 투플이 (t, FOOD)일 때 부정(negative)을 출력하는 것이 올바른 결정이다. 본 발명에서는, ABSA 태스크를 두 가지 파이프라인 태스크들로 구분한다. 즉, 입력 투플을 위한 속성 맵이 추출된 후, 상기 추출된 속성 맵을 갖는 입력 투플에 대해 감정 분류가 수행된다.
도 4는 제안된 모델의 전체 구조를 도시하며, 이는 두 개의 CNN 모듈들로 구성된다. 제1 CNN 모듈(121)은 속성-맵 추출 네트워크(aspect-map extraction network; AMEN)이다. AMEN의 목표는 텍스트 t의 부분들이 실제로 타겟 속성 c와 관련되는지를 확인하는 것이다. 그러므로, AMEN의 결과는 t로부터 추출된 타겟 속성 c에 대한 속성 맵 Ac이다. 즉, AMEN은 t 및 c를 입력으로 받아서, Ac를 출력으로 반환시킨다. 상기 속성 맵
Figure pat00001
는 t 내의 모든 단어에 대해 속성 c에 대한 관련성을 가리키며, N은 t의 길이이다. 그런 다음. 높은 관련성을 갖는 단어들은 c에 대한 속성 표현이 된다. 예를 들여, 단어 "sushi" 및 "rolls"는 t에 속성 맵 AFOOD를 적용함으로써 도 4에서 FOOD에 대한 속성 표현으로서 추출된다.
다른 CNN 모듈(즉, 제2 CNN 모듈(122))은 속성 맵-기반 감정 분석 네트워크(aspect map-based sentiment analysis network; AMSAN)이며, 이는 타겟 속성 c에 대한 텍스트 t의 감정 극성을 분류한다. AMSAN은 올바른 분류를 위해 t 내의 c에 대한 속성 표현이 무엇인지 알아야 하기 때문에, 그 입력으로서, t 및 c 뿐만 아니라 속성 맵 Ac를 가진다. 상기 속성 맵 Ac는 c에 대한 속성 표현 근처에서 나타나는 감정 표현을 남겨두는 위치 필터의 유형이다. 예를 들면, 도 4에서, 단어 "bad"는 살아남아 감정 분류의 처리에 영향을 주는 반면, 단어 "nice"는 감정 표현 "sushi rolls"로부터 멀기 때문에 Ac에 의해 배제된다.
이하, 도 5 내지 도 9를 참조하여, 상기 제1 CNN 모듈(121) 및 제2 CNN 모듈(122)에서 수행되는 AMEN 및 AMSAN에 대한 구체적인 동작 예를 상세히 설명하기로 한다.
<AMEN(Aspect-Map Extraction Network)>
속성 맵 추출 네트워크는 텍스트의 어느 부분들이 주어진 속성과 관련되는지를 가리키는 속성 맵을 추출하는 것을 목표로 한다. 그러나, ABSA의 훈련 셋(traning set)은 텍스트 t의 속성들 cs 및 그 해당 속성 극성들에 대한 정보만을 가지며, cs에 대해 t에 있는 단어들의 관련성에 대해 어떠한 정보도 가지지 않기 때문에, 속성 맵을 반환시키는 것은 직접적으로 훈련될 수 없다. 그러므로, AMEN은 약지도형 학습 방법(weakly supervised manner)으로 관련 단어들을 학습해야 하며, 그 실제적인 기능은 t를 cs에 매핑하는 것이다.
도 5는 AMEN의 아키텍처를 도시한다. AMEN은 단어 임베딩 계층(word embedding layer), 컨볼루션 계층(convolutional layer), 전역 평균 풀링 계층(global average pooling layer), 분류 계층(classification layer)의 4개의 계층들을 가진다. 상기 단어 임베딩 계층은 모든 단어 w를 그 해당 단어 벡터
Figure pat00002
에 매핑하며, 여기서 D는 단어 임베딩 벡터들의 차원이다. t는 N개의 단어들을 가지는 것으로 가정하기 때문에, 상기 단어 임베딩 계층은 그 출력으로서 행렬
Figure pat00003
를 반환한다. X가 얻어진 후, 상기 컨볼루션 계층은 다양한 크기들을 갖는 커널들을 사용하여 특징 값(feature value)들의 행렬로 X를 나타낸다. 상기 컨볼루션 계층에서 모든 크기
Figure pat00004
에 해당 K 커널들이 있으며, 각 커널
Figure pat00005
은 h 단어들의 윈도우에 적용된다. 그런 다음, 커널
Figure pat00006
에 의한 i번째 단어 윈도우
Figure pat00007
에 대한 특징 값
Figure pat00008
는 하기 <수학식 1>과 같이 계산될 수 있다.
Figure pat00009
상기 <수학식 1>에서 f()는 tanh 또는 ReLU와 같은 비선형 함수이며,
Figure pat00010
은 바이어스이며, *는 컨볼루션 연산을 나타낸다. 그러므로, 커널
Figure pat00011
에 의해 얻어진 특징 맵은 하기 <수학식 2>와 같이 나타낼 수 있다.
Figure pat00012
모든 크기 h에 대해 K 개의 커널들이 있기 때문에,
Figure pat00013
특징 맵들은 상기 컨볼루션 계층으로부터 출력된다. 모든 특징 맵들의 길이를 입력 텍스트 t의 길이와 동일하게 만들기 위해, 반 패딩(half padding)이 모든 컨볼루션 연산들에 적용된다. 결과적으로, 상기 컨볼루션 계층의 최종 출력은 열 백터가
Figure pat00014
Figure pat00015
이다.
그런 다음, 전역 평균 풀링(global average pooling; GAP)이 Z의 각 열 백터
Figure pat00016
에 적용되고, 특징 값
Figure pat00017
는 하기 <수학식 3>과 같이 모든
Figure pat00018
들을 합하여 매
Figure pat00019
에 대해 출력된다.
Figure pat00020
Figure pat00021
특징 값들은 GAP에 의해 생성되기 때문에, 최종 특징 벡터 g는
Figure pat00022
차원들을 갖는다. 그런 다음. 상기 분류 계층은 최종적으로 <수학식 4>에 의해 속성 카테고리들의 벡터를 예측한다.
Figure pat00023
AMEN은 ABSA 데이터 셋 Ds로부터 추출된 데이터 셋
Figure pat00024
로 훈련된다. 도 6은 Ds로부터 Da를 준비하기 위한 방법을 보여준다. 텍스트 t는 상이한 속성들을 갖는 Ds에서 몇 회 나타날 수 있다. 한편, Da는 t만 한 번 나타낸다. 그러므로, Da는 텍스트 t와 그 속성들 cs 사이에서의 Ds의 간략화된 표현이며, ct는 모든 cs를 1로 나타내고 나머지는 0으로 나타내는 이진 벡터이다. 그런 다음, AMEN의 모든 파라미터들의 셋
Figure pat00025
은 하기 <수학식 5>를 최소화하기 위해 훈련된다.
Figure pat00026
상기 <수학식 5>에서
Figure pat00027
는 교차 엔트로피 손실(cross-entropy loss)이다.
<수학식 3>에서
Figure pat00028
는 특징 맵
Figure pat00029
의 표현이며, 모든 속성들에 직접적으로 연결된다. 그러므로, 타겟 속성 c의 속성 맵 Ac는 하기 <수학식 6>과 같이 된다.
Figure pat00030
상기 <수학식 6>에서
Figure pat00031
는 속성 c를 위한
Figure pat00032
의 열 벡터이고,
Figure pat00033
는 시그모이드(sigmoid) 함수이다. 예를 들어, 도 7을 참조하면, 타겟 속성은 LOCATION이다. 상기 도 7의 AMEN은 H={1,2,3}, K=1을 가진다. 그런 다음, ALOCATION
Figure pat00034
이다
가중치들의 폭
Figure pat00035
,
Figure pat00036
, 및
Figure pat00037
에 의해 보이는 바와 같이,
Figure pat00038
이 LOCATION에 가장 관련된 특징 맵이고,
Figure pat00039
이 가장 관련성이 없는 특징 맵이라고 가정한다. "view" 및 "river"는 강하게 관련된 특징 맵
Figure pat00040
에 의해 활성화되고, "of"는 약하게 관련된 특징 맵
Figure pat00041
에 의해 활성화되기 때문에 ALOCATION은 "view of river"를 LOCATION에 대한 속성 표현으로서 가리킨다. 비록, "sushi" 및 "rolls"는
Figure pat00042
에 의해 강하게 활성화되지만,
Figure pat00043
의 가장 작은 값 때문에 무시된다.
속성 레벨 감정 분석에서 속성 맵을 사용하는 한가지 문제점은 속성 맵이 잡음(noise)이 심할 수 있다는 점이다. 특히, 상기 속성 맵에서의 잡음들은 타겟 속성과 관련된 단어들의 강한 활성화로서 나타난다. 결과적으로, 너무 많은 단어들이 속성 표현으로서 지시된다. 이러한 현상은 CAM이 약지도형 학습 방법에 의해 획득되기 때문에, CAM의 모든 응용들에서 관찰된다. 상기 속성 맵에서 잡음은 AMEN이 다중 레이블된 예시들 (t, ct)과 함께 훈련되므로 더 심각해질 수 있다. 이러한 문제를 처리하기 위해, 하기 <수학식 5>에서 AMEN에 대한 손실 함수가 갱신된다.
Figure pat00044
상기 <수학식 7>에서
Figure pat00045
는 행렬
Figure pat00046
이고, Zt는 입력 텍스트 t에 대한 특성 행렬 Z이다.
추가된 L1 규칙화기(regularizer)는 속성 맵 Ac가 성기게 되도록(sparse) 한다. AMEN은 상호 엔트로피 손실
Figure pat00047
및 L1 규칙화기
Figure pat00048
를 상기 <수학식 7>에 의해 함께 최소하도록 훈련되기 때문에, 그 속성 맵은 더 정확하게 속성 표현들을 가리킬 수 있다. 즉, t를 ct로 분류하기 위해 실제적으로 기여한 단어들은 상기 손실에 의해 활성화되고, 다른 단어들은 규칙화기에 의해 강제로 비활성화된다. At에서 과도한 규칙화는 속성 맵에서 실제적인 속성 표현들을 없앨 수 있으며, 이는 열화된 속성 맵과 속성 성능 저하를 가져올 수 있다. 그러므로, 규칙화의 영향은 λ를 적절한 값으로 설정함으로써 제어되어야 한다.
<AMSAN(Aspect Map-Based Sentiment Analysis Network)>
속성 맵-기반 감정 분석 네트워크(AMSAN)는 Ds로 훈련되고, 속성 맵 Ac를 사용하여 타겟 속성 c를 위해 텍스트 t의 감정 극성(polarity) s를 분류한다. 이러한 작업을 수행하는 AMSAN의 아키텍처는 도 8의 좌측에 도시된다. AMSAN은 단어 임베딩 계층, 두 개의 컨볼루션 계층들(제1 컨볼루션 계층, 제2 컨볼루션 계층), 완전 연결 계층, 및 분류 계층으로 구성된다. 그 최초 두 계층(단어 임베딩 계층 및 제1 컨볼루션 계층)은 AMEN의 계층들과 동일하다. 그러므로, 이들 계층들의 출력은 Z이며, 그 엘리먼드들은 전술한 <수학식 2>에서의
Figure pat00049
들이다.
그런 다음, AMEN으로부터 획득한 속성 맵 Ac는 Z에 적용된다. 이러한 적용은 AMSAN이 감정 극성을 분류하기 위해 훈련되기 때문에, 감정 표현을 캡쳐한다. Ac에서 속성 표현의 위치 정보를 영역 정보로 변환하기 위해, 크기 p를 가진 지역 최대 풀링(local max pooling; LMP)이 Ac에 적용된다. 이러한 동작에 의해, 속성 영역 지도
Figure pat00050
가 출력된다. 그런 다음, Z를 Rc의 길이로 다운 스케일링하기 위해, Z는 또한 확인된 풀링 크기 p를 가지고 LMP에 의해 Zp로 감소된다. 그런 다음, c에 대한 t의 감정 표현들은 Rc 및 Zp의 엘리먼트-방향 다중화(element-wise multiplication)에 의해 획득된다. 즉, c에 대한 감정 표현들을 위한 행렬
Figure pat00051
는 하기 <수학식 8>에 의해 계산된다.
Figure pat00052
상기 <수학식 8>에서
Figure pat00053
는 엘리먼트-방향 다중화 연산자이다. 도 8은 예시적인 텍스트 t로 이러한 연산들을 설명한다. 상기 도 8에서, Z는 t에서 감정 표현들 "nice" 및 "bad"를 활성화시키고, 상기 구 "view of river"는 ALOCATION에 의해 LOCATION의 속성 표현으로서 지시된다. 그러나, Zp는 Rc에 의해 국부적으로 영항을 받기 때문에 감정 표현 "nice"만이
Figure pat00054
에 남게된다.
Figure pat00055
는 제2 컨볼루션 계층으로 전달된다. <수학식 1>의 동작이
Figure pat00056
에 적용된 후, 상기 전역 최대 풀링이 상기 컨볼루션 계층의 출력으로 수행된다. 상기 계층의 결과는 g이며, 이는 전역 최대-풀링된 벡터이다. 상기 타겟 속성 c를 AMSAN에 통합하기 위해, g는 ac와 연접되며, ac는 c의 D-차원 단어 임베딩 벡터이다. 그런 다음, 상기 연접 벡터는 하기 <수학식 9>와 같이 더 높은 레벨 표현
Figure pat00057
을 출력하기 위해 완전 연결 계층으로 입력된다.
Figure pat00058
상기 <수학식 9>에서
Figure pat00059
는 완전 연결 계층의 가중치 행렬이며, bf는 상기 계층의 바이어스 벡터이다. 모든 이러한 계층들의 처리 이후, 마지막으로 분류 계층이 하기 <수학식 10>에 의해 타겟 속성 c를 위해 t의 감정 극성을 판단한다.
Figure pat00060
여기서, Wy 및 by는 각각 상기 분류 계층을 위한 가중치 행렬 및 바이어스를 가리킨다. 도 8에서, 이러한 계층은 "nice"를 확인하는 것에 의해 긍정(positive)으로서 t의 감정을 판단한다. AMSAN의 모든 파라미터들의 A 셋
Figure pat00061
는 하기 <수학식 11>을 최소화함으로써 훈련된다.
Figure pat00062
상기 <수학식 11>에서
Figure pat00063
은 교차 엔트로피 손실이다.
도 10은 본 발명의 실시예에 따른 속성 기반 감정 분석 절차를 나타내는 흐름도이다. 도 10을 참조하면, 먼저 전자 장치(100)는 텍스트를 입력받아 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 인공지능 모델에 입력할 수 있다.(1010 단계)
다음으로, 상기 전자 장치(100)는 상기 인공지능 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인할 수 있다.(1020 단계)
다음으로, 상기 전자 장치(100)는 상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인할 수 있다.(1030 단계)
마지막으로, 상기 전자 장치(100)는 상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단할 수 있다.(1040 단계)
<실험 결과>
- 데이터 셋
제안된 모델의 평가는 SemEval-2014 태스크 4 및 SemEval-2016 태스크 5의 데이터셋들에서 수행된다. SemEval-2014 태스크 4는 ABSA를 위해 널리 사용된 벤치마크 데이터셋이다. 그러나, 이 데이터셋에서 리뷰 텍스트들은 짧은 문장들로 구분된다. 결과적으로, 이 데이터셋에서의 예시들의 약 90%가 단 1 개의 속성만을 가진다. 최근 연구는 두 개 이상의 속성들을 포함하는 어려운 예시들에서 예외적인 결과를 보여준다. 본 발명에서는 어려운 예시들에서 제안된 모델의 효과를 비교하고 보여주는 목적을 위해 실험되었다. SemEval 2016 태스크 5 데이터셋은 두 개의 서브 태스크들(문장-레벨 ABSA 및 텍스트 레벨 ABSA)로 구성된다. 두 서브 태스크들은 두 도메인 데이터셋들을 공유하며, 이는 식당 데이터셋 및 랩탑 데이터셋이다. 식당 데이터셋에서, 문장 레벨에서의 훈련 인스턴스 당 평균 속성 수는 1.26이며, 텍스트 레벨의 평균 속성 수는 4.28이다. 유사하게, 랩탑 데이터셋에서, 문장 레벨에서의 훈련 인스턴스 당 평균 속성 수는 1.16이며, 텍스트 레벨의 평균 속성 수는 5.27이다. 모든 텍스트 레벨 인스턴스들은 다중 속성들을 포함한다. 문장 레벨 ABSA는 SemEval-2014 데이터셋을 사용하여 수행되기 때문에, SemEval-2016 데이터셋에 대해서는, 단지 더 도전적이고 현실적인 텍스트 레벨 ABSA에 초점을 맞춘다.
하기 <표 1>은 본 발명에 따라 제안된 모델의 평가를 위해 사용된 데이터셋들에서의 통계들을 요약한다.
Figure pat00064
SemEvla-2014의 식당 데이터셋은 5 종류의 속성들을 가진 3041개의 훈련 인스턴스들과 800개의 테스트 인스턴스들을 포함한다. 전술한 설명에서와 같이 이러한 데이터셋을
Figure pat00065
로 표현한 후에, Ds는 3713개의 훈련 인스턴스들과 1025 개의 테스트 인스턴스들을 가진다. 인스턴스들의 수가 증가하는 이유는 단일 텍스트 t는 다중화된 cs 및 ss를 가질수 있기 때문이다. AMEN은 Ds의 간략화된 표현인 Da로 훈련되며, AMSAN은 Ds로 훈련된다. Da에서의 인스턴스들의 수는 Ds의 데이터셋의 인스턴스들의 수와 같다. 즉, Da에서의 훈련 인스턴스들의 수는 3041 개이며, 테스트 인스턴스들의 수는 800 개이다. SemEval-2016에서 식당 및 랩탑 데이터의 통계들은 동일한 방법으로 계산될 수 있으며, 상기 <표 1>과 같이 도시된다. 식당 및 랩탑 데이터셋에서 각각 12 및 81 종류의 속성들이 있다. 모든 데이터셋들의 Ds에서, 긍정(positive), 부정(negative), 중립(neutral) 및 충돌(conflict)의 4가지 감정 극성들이 있다. 이에 대한 인스턴스들이 매우 작기 때문에 ABSA에 대한 일부 이전 연구에서 충돌 극성은 배제했다. 그러나, 이러한 배제는 SemEval-2016 태스크 5에서 최고의 모델들의 실험 결과와 본 발명의 제안 모델의 실험 결과를 비교하는 것을 어렵게 한다. 그러므로, 본 발명에 따른 실험에서는 충돌을 포함하는 실험과 포함하지 않는 실험을 수행하였다. 다음으로, SemEval-2014 벤치마크에 대해 충돌이 있는(with conflict) 성능과 어려운 예시(hard instance) 상에서 리포트한다.
- 모델 훈련
상기 데이터셋들은 딥 러닝 모델들을 훈련시키기에 상대적으로 작기 때문에, 두 개의 잘 알려진 기술들이 채용되었다. 하나는 전달 학습(transfer learning)이다. 유사한 태스크들로부터 레이블되거나 레이블되지 않은 데이터의 많은 수를 가진 사전 학습 신경망은 작은 데이터셋을 가지고 훈련하는데 도움이 된다는 것은 잘 알려져 있다. 그러므로, 각 데이터셋에 대해, AMEN을 가지고 동일한 아키텍처로 CNN이 사전 훈련되었다. 300-차원의 GloVe 벡터들이 CNN의 단어 임베딩 계층을 초기화하기 위해 사용되었고, 그런 다음, 상기 CNN은 식당 데이터셋을 위한 4M Yelp 식당 리뷰들 및 랩탑 데이터셋을 위한 3M 아마존 전자 리뷰들(단지 아마존 전자에서 랩탑 및 컴퓨터와 관련된 카테고리의 리뷰들만 사용함)을 가지고 훈련된다. 속성 레이블들이 이러한 리뷰들에 이용되지 않기 때문에, 사전 훈련된 CNN의 단어 임베딩 계층의 가중치만이 AMEN의 것들을 초기화하기 위해 사용된다. AMSAN을 위해, 단어 임베딩 계층 및 제1 컨볼루션 계층의 가중치들이 사전 훈련된 CNN의 것들로 초기화된다. 사용된 다른 기술은 규칙화(regularization)이다. 딥 신경망들이 훈련 데이터에 대해 과도하게 적합(overfitting)시키는 것을 방지하기 위해 몇 가지 규칙화 기술들이 제안되었다. 이들 중, 드롭아웃(dropout)이 AMSAN의 전체 연결 계층뿐만 아니라 AMEN 및 AMSAN의 컨볼루션 계층들의 출력에 적용되었다. 추가로, L2 규칙화가 AMEN 및 AMSAN의 분류 계층들의 출력에 적용된다.
소프트맥스 활성화 및 카테고리화 교차-엔트로피 손실이 경험적으로 시그모이드 활성화 및 바이너리 교차-엔트로피 손실 보다 더 좋은 성능을 보이기 때문에, AMEN 및 AMSAN 둘 다에 사용된다. 필터 크기 h는 AMEN에 대해 (1, 2, 3)이고, AMSAN에 대해 (3, 4, 5)이며, 커널들의 수 K는 모든 hs에 대해 100으로 설정된다. AMSAN의 전체 연결 계층의 차원은 100이다. 16 개의 인스턴스들의 배치 크기와 1e-2의 디폴트 학습율을 가진 AdaGrad가 AMEN 및 AMSAN 둘 다에 사용되었다. 에포크(epoch)들의 최대 수는 AMEN에 대해 30이고 AMSAN에 대해 20이다. 두 네트워크들의 훈련은 랜덤 초기화 및 드롭아웃에 의해 야기되는 난수성을 가지기 때문에, 실험은 30회 수행되고, 표준 편차를 가진 평균 정확도가 보고된다. 본 실험에서의 모든 신경망들은 Deras로 구현된다.
- 실험 결과들
UWB, ATAE-LSTM, GCAE, AMSAn w/o 속성 맵의 4가지 모델들이 제안된 모델을 인증하기 위해 베이스라인들로서 사용된다.
하기 <표 2>는 식당 데이터셋에서 모든 5개의 모델들의 성능을 나타낸다.
Figure pat00066
상기 <표 2>에 도시된 바와 같이, 제안된 모델(AMEN-AMSAN)은 감정 극성 충돌을 포함한 경우 및 포함하지 않는 경우 모두에서 모든 베이스라이들의 성능을 능가한다. 충돌이 고려되는 경우, 제안된 모델은 UWB보다 2% 더 높은 정확도를 달성했다. UWB는 GCAE를 능가한다는 점에서 쉬운 베이스라인이 아니다. ATAE-LSTM은 82.699%의 평균 정확도로 두 번째로 높은 성능을 달성한다. 심지어 충돌이 무시되는 경우, 제안된 모델은 86.578%의 정확도로 최고 성능을 달성하며, 이는 ATAE-LSTM보다 1% 높으며, GCAE보다 거의 3% 더 높다. 속성 맵이 없는 AMSAN은 충돌이 고려될 때 82.309%, 충돌이 고려되지 않을 때 85.394%의 정확도로 비교적 좋은 성능을 달성한다. 그러나, 이러한 정확도들은 AMEN-AMSAN의 정확도들보다 훨씬 낮으며, 이는 텍스트 레벨 ABSA에서 속성 맵의 영향을 입증한다.
상기 제안된 AMEN-AMSAN은 또한 하기 <표 3>에 도시된 바와 같이 랩탑 데이터셋에 대해 최고의 성능을 나타낸다.
Figure pat00067
상기 <표 3>을 참조하면, 본 발명에 따라 제안된 모델은 UWB보다 5.3% 더 높게 정확도를 개선하고, 충돌이 고려될 때, ATAE-LSTM 및 GCAE보다 1.7% 더 높게 정확도를 개선한다. 모든 딥 러닝 모델들은 이러한 데이터셋에 대해 UWB를 능가한다. 즉, ATAE-LSTM 및 GCAE는 UWB보다 거의 3.6% 더 높은 정확도를 달성한다. 충돌을 고려하지 않고, ATAE-LSTM 및 GCAE는 각각 79.685%, 및 80.812%의 정확도를 달성한다. 그러나, 이들은 82.201%의 정확도를 달성한 본 발명의 제안된 모델의 성능에 도달하지 못하며, 이것은 ATAE-LSTM 보다 2.5% 더 높으며, GCAE 보다 1.4% 더 높다. 속성 맵이 없는 AMSAN은 또한 충돌을 고려한 경우와 고려하지 않는 경우 돌 다에서 비교할만한 결과를 보여주며, 이는 AMSAN이 텍스트 레벨 ABSA에 대해 좋은 모델임을 암시한다. 그러나, AMEN-AMSAN이 속성 맵이 없는 AMSAN보다 뛰어나다는 사실이 속성 맵의 효과를 입증한다.
상기 <표 2> 및 <표 3>은 비교적 작은 데이터셋들과 특징 엔지니어링의 배제에도 불구하고 텍스트 레벨 ABSA에 대해 잘 동작함을 나타낸다. 이것은 딥 러닝 모델들이 딥 임베딩 특징 벡터들을 생성하고 어텐션-유사 메커니즘을 통해 주어진 타겟 속성에 대해 컨텍스트-인식 결정들을 수행하기 때문이다. 상기 제안된 모델은 속성 표현들의 위치 정보를 반영하는 속성 맵을 적용함으로써 딥 러닝 모델들을 개선시킨다.
하기 <표 4>는 상대적으로 작은 속성들을 갖는 문장 레벨 리뷰들을 포함하는 SemEval-2014 데이터셋에서의 성능들을 보여준다.
Figure pat00068
- 속성 맵의 품질
속성 맵이 <수학식 7>에서 L1 규칙화
Figure pat00069
에 의해 개선되는 방법을 알아보기 위해, 식당 리뷰가 주어질 때, 3개의 속성들에 대한 두 가지 속성 맵들이 도 8에 도시된다. 상기 3 개의 속성들은 FOOD#QUALITY, AMBIENCE#HENERAL 및 FOOD#PRICES 이다. 먼저, 제안된 L1 규칙화에 의해 아직 규칙화되지 않은 속성 맵이 도 9의 (a)에 도시된다. FOOD#QUALITY를 위한 속성 맵에서, 구문 "restaurant", "The pizza is", 및 "the atmosphere. But the pizza is"는 강하게 하이라이트되었다. 이들 중, "the pizza is"의 표현은 타겟 속성 FOOD#QUALITY와 관련되지만, "restaurant" 및 "the atmosphere"와 같은 다른 표현은 타겟 속성과 그리 많이 관련되지는 않는다. AMBIENCE#GENERAL에 대한 속성 맵에서, 구문 "a fun restaurant" 및 "the atmosphere. But"는 AMBIENCE#GENERAL의 속성 표현들로서 잘 특정되었으며, "yummy"는 또한 AMBIENCE#GENERAL과 관련이 없는 것으로 활성화되었다. 유사하게, FOOD#PRICES의 속성 맵은 "way too expensive"의 표현에 잘 포커싱되었으나, "is yummy."의 표현에 잘못 포커싱되었다. 이러한 예에서 보여지는 바와 같이, 속성 맵은 기본적으로 그 타겟 속성들에 대한 진정한 속성 표현들을 발견하지만, 잘못된 속성 표현들이 또한 종종 속성 맵들에 의해 하이라이트된다. 그러한 잡음들이 AAMSAN이 타겟 속성의 감정을 올바르게 분류하는데 방해가 된다는 것이 분명하다.
한편, 도 9의 (b)는 제안된 규칙화에 의해 제제된(penalized) 속성 맵들의 속성 표현들을 보여준다. 상기 도 9의 (b)의 표현들은 도 9의 (a)의 표현들보다 더 성기어 있으나 더 정확하게 활성화된다. FOOD#QUALITY의 속성 맵은 "restaurant" 및 "the atmosphere"에 더 이상 하이라이트되지 않고, 새롭게 "yummy" 표현에 하이라이트되었다. AMBIENCE#GENERAL에 대한 속성 맵에서, "yummy" 표현의 활성화가 도 9의 (a)에서 원래 속성 맵과 비교하여 더 약화되었다. 마지막으로, FOOD#PRICES에 대한 원래 속성 맵에서 강하게 특정된 표현인 "is yummy"가 규칙화된 특성 맵에서 역시 비활성화되었다. 정제된 속성 맵들로 인해, AMSAN은 주어진 타겟 속성에 대해 올바르게 텍스트의 감정 극성을 분류할 수 있다. 예를 들면, "the atmosphere. But"의 표현은 AMSAN이 집중하는 "like" 단어 근처에 나타나기 때문에 타겟 속성 AMBIENCE#GENERAL에 대해 AMSAN이 긍정인 것으로 도 9에서 리뷰를 분류하도록 도움을 준다.
상기 속성 맵의 또 다른 두드러진 특성은 속성 표현들뿐만 아니라 감정 표현들을 하이라이트하는 경향이 있다는 것이다. 예를 들면, "the atmosphere" 및 "fun"은 AMBIENCE#GENERAL에 대해 속성 맵에 의해 하이라이트되었으나, "fun"은 감정 표현이고, "the atmosphere"는 속성 표현이다. 상기 도 8의 리뷰는 "I like the atmosphere"의 절을 가지므로, 분위기에 대해 긍정적인 극성을 가진다. 이러한 분위기에 대한 긍정적인 극성은 속성 맵이 포커싱하는 표현 "fun"으로부터 추론될 수 있다. 유사하게, "yummy," 및 "expensive"는 또한 각각 FOOD#QUALITY 및 FOOD#PRICES에 대한 속성 맵들에 의해 하이라이트된 감정 표현들이다. 결과적으로, 상기 속성 맵은 감정 표현들이 AMEN 및 AMSAN에서 이중 검사되기 때문에 AMSAN이 텍스트의 속성 기반 감정 극성을 정확하게 분석하는데 도움을 준다는 결론을 내릴 수 있다.
요약하면, 상기 제안된 모델은 텍스트 레벨 ABSA 태스크들에서 좋은 결과를 달성한다. <표 2> 및 <표 3>에서의 결과는 SemEval 2016 태스크 5의 텍스트 레벨 서브태스크들의 최신 성능들이다. 이러한 좋은 성능들은 타겟 속성들을 위한 속성 맵들을 채용함으로써 수행된다. 추가로, 상기 제안된 모델은 속성 맵이 약지도형 학습 방법으로 획득되기 때문에 훈련 데이터에 추가적인 주석 없이 속성 표현을 지역화한다. 그럼에도 불구하고, 상기 맵이 ABSA에 대해 규칙화되기 때문에 속성 맵의 품질은 신뢰성이 높다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 전자 장치 110 : 통신부
120 : 프로세서 121 : 제1 CNN 모듈
122 : 제2 CNN 모듈 123 : 인터페이스
130 : 메모리 131 : 학습 모델

Claims (16)

  1. 속성 맵을 이용한 속성 기반 감정 분석 방법에 있어서,
    텍스트를 입력받아 텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델에 입력하는 단계;
    상기 학습 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인하는 단계; 및
    상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인하는 단계;를 포함하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  2. 제1항에 있어서, 상기 방법은,
    상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단하는 단계;를 더 포함하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  3. 제2항에 있어서, 상기 감정 극성은,
    긍정, 부정, 중립, 충돌 중 적어도 하나를 포함하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  4. 제1항에 있어서, 상기 속성 맵은,
    상기 입력된 텍스트의 각 단어들 중 상기 적어도 하나의 속성과 관련된 단어에 대한 위치 정보를 포함하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  5. 제1항에 있어서, 상기 학습 모델은,
    약지도형 학습 방법(weakly supervised manner)에 의한 학습으로 텍스트를 속성에 매핑하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  6. 제1항에 있어서, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성과 인접한 감정 표현의 단어를 상기 속성에 대응하는 감정 표현으로 판단하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  7. 제1항에 있어서, 상기 방법은,
    연속적인 벡터 공간상에서 속성 카테고리들을 임베딩하여 속성 벡터를 생성하는 단계;를 더 포함하는, 속성 맵을 이용한 속성 기반 감정 분석 방법.
  8. 전자 장치에 있어서,
    텍스트의 속성 및 각 속성의 극성들을 예측하도록 학습된 학습 모델이 저장된 메모리; 및
    텍스트를 입력받아 상기 학습 모델에 입력하고,
    상기 학습 모델의 출력에 기초하여, 상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 확인하고,
    상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대한 감정 표현에 대응하는 단어를 확인하도록 하는 프로세서;를 포함하는 전자 장치.
  9. 제8항에 있어서, 상기 프로세서는,
    상기 확인된 감정 표현에 대응하는 단어로부터 감정 극성을 판단하는, 전자 장치.
  10. 제8항에 있어서, 상기 속성 맵은,
    상기 입력된 텍스트의 각 단어들 중 상기 적어도 하나의 속성과 관련된 단어에 대한 위치 정보를 포함하는, 전자 장치.
  11. 제8항에 있어서, 상기 프로세서는,
    상기 입력된 텍스트에 포함된 복수의 단어들에 대응하는 적어도 하나의 속성 및 상기 적어도 하나의 속성에 대한 상기 입력된 텍스트의 각 단어와의 관련성을 나타내는 속성 맵을 추출하는 제1 컨볼루션 신경망(convolutional neural network; CNN) 모듈; 및
    상기 속성 맵에 기반하여, 상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성에 대응하는 감정 표현에 대응하는 단어를 확인하는 제2 CNN 모듈;을 포함하는, 전자 장치.
  12. 제11항에 있어서, 상기 학습 모델은,
    약지도형 학습 방법(weakly supervised manner)에 의한 학습으로 텍스트를 속성에 매핑하는, 전자 장치.
  13. 제8항에 있어서, 상기 프로세서는,
    상기 텍스트에 포함된 복수의 단어들 중 상기 적어도 하나의 속성과 인접한 감정 표현의 단어를 상기 속성에 대응하는 감정 표현으로 판단하는, 전자 장치.
  14. 제8항에 있어서, 상기 프로세서는,
    연속적인 벡터 공간상에서 속성 카테고리들을 임베딩하여 속성 벡터를 생성하는, 전자 장치.
  15. 제11항에 있어서,
    상기 제1 컨볼루션 신경망 모듈은 감정분류의 대상이 되는 속성이 주어지지 않을 경우 상기 텍스트에 포함된 속성을 추출하는, 전자장치.
  16. 제1항 내지 제7항 중 어느 한 항에 따른 방법을 수행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터 판독 가능한 기록 매체.
KR1020200007943A 2020-01-21 2020-01-21 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치 KR102448044B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200007943A KR102448044B1 (ko) 2020-01-21 2020-01-21 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200007943A KR102448044B1 (ko) 2020-01-21 2020-01-21 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치

Publications (2)

Publication Number Publication Date
KR20210094324A true KR20210094324A (ko) 2021-07-29
KR102448044B1 KR102448044B1 (ko) 2022-09-28

Family

ID=77127821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200007943A KR102448044B1 (ko) 2020-01-21 2020-01-21 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치

Country Status (1)

Country Link
KR (1) KR102448044B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102492574B1 (ko) * 2022-07-15 2023-01-27 오더퀸 주식회사 약한지도학습 기반 챗봇을 이용한 대화형 키오스크 주문 서비스 제공 시스템
CN117633239A (zh) * 2024-01-23 2024-03-01 中国科学技术大学 一种结合组合范畴语法的端到端方面情感识别方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Duyu Tang et al., "Aspect Level Sentiment Classification with Deep Memory Network," arXiv:1605.08900v2 [cs.CL] (2016.09.24.)* *
Raza Ahmad et al., "Aspect Based Sentiment Analysis for Large Documents with Applications to US Presidential Elections 2016,"AMCIS 2017 (2017.05.17.)* *
Ziyu Guan1 et al., "Weakly-Supervised Deep Learning for Customer Review Sentiment Classification," IJCAI-16 (2016.09.05.)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102492574B1 (ko) * 2022-07-15 2023-01-27 오더퀸 주식회사 약한지도학습 기반 챗봇을 이용한 대화형 키오스크 주문 서비스 제공 시스템
CN117633239A (zh) * 2024-01-23 2024-03-01 中国科学技术大学 一种结合组合范畴语法的端到端方面情感识别方法
CN117633239B (zh) * 2024-01-23 2024-05-17 中国科学技术大学 一种结合组合范畴语法的端到端方面情感识别方法

Also Published As

Publication number Publication date
KR102448044B1 (ko) 2022-09-28

Similar Documents

Publication Publication Date Title
CN111291181B (zh) 经由主题稀疏自编码器和实体嵌入的用于输入分类的表示学习
Abid et al. Sentiment analysis through recurrent variants latterly on convolutional neural network of Twitter
Zeberga et al. [Retracted] A Novel Text Mining Approach for Mental Health Prediction Using Bi‐LSTM and BERT Model
Xu et al. Cached long short-term memory neural networks for document-level sentiment classification
US11762990B2 (en) Unstructured text classification
Zhang et al. Sentiment Classification Based on Piecewise Pooling Convolutional Neural Network.
CN111881671B (zh) 一种属性词提取方法
Stojanovski et al. Finki at semeval-2016 task 4: Deep learning architecture for twitter sentiment analysis
Shehu et al. Deep sentiment analysis: a case study on stemmed Turkish twitter data
KR102448044B1 (ko) 속성 맵을 이용한 속성 기반 감정 분석 방법 및 전자 장치
Myagila et al. A comparative study on performance of SVM and CNN in Tanzania sign language translation using image recognition
Tesfaye et al. Automated Amharic hate speech posts and comments detection model using recurrent neural network
Ontoum et al. Personality type based on Myers-Briggs type indicator with text posting style by using traditional and deep learning
Hamdy et al. Deep mining of open source software bug repositories
Bugueño et al. An empirical analysis of rumor detection on microblogs with recurrent neural networks
Chandra et al. Cyberbullying detection using recursive neural network through offline repository
Meng et al. Regional bullying text recognition based on two-branch parallel neural networks
Li et al. Dual-channel attention model for text sentiment analysis
Kentour et al. An investigation into the deep learning approach in sentimental analysis using graph-based theories
Akalya devi et al. Multimodal emotion recognition framework using a decision-level fusion and feature-level fusion approach
KR20220096055A (ko) 단어 임베딩을 수행하는 전자장치 및 이의 동작방법
Im et al. Cross-active connection for image-text multimodal feature fusion
Raj Novel Method for Sentiment Analysis in Social Media Data Using Hybrid Deep Learning Model
Ramadhan et al. Comparative analysis of various optimizers on residual network architecture for facial expression identification
Bhukya et al. Deep learning based sarcasm detection and classification model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right