KR20210083986A - 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 - Google Patents

반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 Download PDF

Info

Publication number
KR20210083986A
KR20210083986A KR1020190176837A KR20190176837A KR20210083986A KR 20210083986 A KR20210083986 A KR 20210083986A KR 1020190176837 A KR1020190176837 A KR 1020190176837A KR 20190176837 A KR20190176837 A KR 20190176837A KR 20210083986 A KR20210083986 A KR 20210083986A
Authority
KR
South Korea
Prior art keywords
emotion
word
value
conversation
lstm model
Prior art date
Application number
KR1020190176837A
Other languages
English (en)
Other versions
KR102315830B1 (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 KR1020190176837A priority Critical patent/KR102315830B1/ko
Priority to PCT/KR2020/001931 priority patent/WO2021132797A1/ko
Priority to US17/789,088 priority patent/US20230029759A1/en
Publication of KR20210083986A publication Critical patent/KR20210083986A/ko
Application granted granted Critical
Publication of KR102315830B1 publication Critical patent/KR102315830B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Child & Adolescent Psychology (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 실시 형태에 따른 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정 분류를 하는 방법은 학습을 위해 단어마다 해당되는 기본 감정이 태깅되어 있는 단어 감정 사전을 참조하여, 입력되는 대화 데이터의 발화 내에 있는 단어마다 감정을 태깅해주는 단어 단위 감정 임베딩 단계; 상기 입력된 발화의 감정값을 추출하는 단계; 그리고 추출된 발화의 감정값을 장단기 기억 모델(LSTM model)의 입력 값으로 사용하여, 상기 LSTM 모델에 기반하여 상기 메신저 클라이언트에서 이루어지고 있는 대화 내 감정의 변화를 고려하여 발화의 감정을 분류하는 단계를 포함한다. 본 발명은 자연어로 이루어지는 대화 내에서 감정의 변화를 인지하여 적절한 감정을 분류해줄 수 있다.

Description

반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내에서 발화의 감정 분류 방법 {Emotional Classification Method in Dialogue using Word-level Emotion Embedding based on Semi-Supervised Learning and LSTM model}
본 발명은 메신저 대화 내에서 발화의 감정 분류에 관한 것으로서, 더욱 상세하게는 단어 단위의 감정 임베딩과 딥 러닝(Deep learning)을 이용하여 하나의 대화 내에서 각 발화들이 어떤 감정을 의미하는지 분류하는 방법에 관한 것이다.
채팅은 사용자가 통신가능한 컴퓨팅 장치에 설치된 메신저 프로그램을 이용하여 인터넷과 서버 컴퓨터 등의 장치를 통해 인터넷 상의 다른 사용자들과메시지를 주고받는 것으로 예전부터 사용되었다. 이후 휴대전화 및 모바일 장치의 발달로 인터넷 접속에 있어서의 공간적인 제약을 극복하여 채팅은 인터넷에 연결할 수 있는 장치가 있는 곳이면 어디에서든 사용 가능하게 되었다. 하나의 채팅 내에서 사용자들이 메시지를 주고받을 때, 사용자들이 가지는 감정은 변할 수 있다. 이전의 메시지 내용이 감정의 변화에 큰 영향을 줄 수도 있기 때문에, 하나의 채팅 내에서 각 발화가 가지는 감정은 다르다.
예전부터, 인간은 기계가 인간의 감정을 이해할 수 있도록 많은 연구를 진행하였다. 그러나 기계가 문장만을 보고 인간이 어떤 감정을 가지고 메시지를 입력했는지 파악하기 힘들다. 사용자들이 메시지를 주고 받으면서 이전의 메시지로 인해 감정이 변화할 수 있다. 또한 하나의 메시지만 고려할 때는 긍정의 의미이지만, 채팅 내에서 상황을 고려하였을 때는 부정의 의미를 지닐 수 있다. 예를 들면, '아~ 기분 좋다.' 만 보았을 때는, 기계가 기쁨이라는 감정으로 인식한다. 하지만, 채팅 내에서 상황이 부정적인 경우에는, 기계가 기쁨이라는 감정을 인식한 것이 잘못된 결과라는 것을 알 수 있다.
종래에 메신저 혹은 텍스트에서 감정을 분류하는 기술들은 주로 패턴 사전을 구축함으로써 기계가 인간의 감정을 분류한다. 종래의 기술에는 대한민국 공개특허 제 10-2004-0106960(공개특허 1)호 및 제 10-2015-0080112호(공개특허 2)가 있다.
공개특허 1은 인간이 입력하는 자연어 입력 대화문장에 내포되어 있는 인간의 감정을 분류한다. 자연어 문장 내에 잠재하는 감정을 분류하기 위해 감정용언과 감정명사를 이용한다. 감정명사와 감정용언은 3차원 벡터로 표현된다. 또한, 자연어 문장 내에서 표현하는 감정의 정도가 다를 수 있으므로 정도 부사어를 사용한다. 또한, 감정을 나타내는 단어와 주변 단어와의 관계를 파악하기 위해, 감정관계 어휘사전을 만든다. 그리고 숙어나 관용어구의 감정 파악을 위해, 숙어적이거나 관용적인 표현정보를 저장한 패턴 DB를 이용한다. 그러나 다음과 같은 문제점이 있다.
첫째, 자연어로 구성될 수 있는 문장조합이 무한대이므로 모든 문장에 대한 감정관계 어휘사전과 패턴 DB를 만드는 것이 불가능하다. 또한, 입력으로 들어오는 문장이 감정관계 어휘사전과 패턴 DB 에 해당되는 경우가 아니라면 감정 분류에 오류가 발생할 수 있다는 문제점이 있다.
둘째, 구축해 놓은 패턴과 어휘사전을 이용해 메시지의 감정을 분류하므로, 채팅 내에서 감정의 변화를 고려하여 감정을 분류하기 힘들다는 문제점이 있다.
셋째, 3차원 벡터로 표현된 감정 명사와 감정 용언이 제대로 된 의미를 힘들다는 문제점이 있다.
또한, 공개특허 2는 일상적인 메신저 대화에서 감정을 분류한다. 이를 위해, 대화 내용의 패턴들을 형성하여 감정분류에 필요한 패턴들을 추출한다. 추출된 패턴들을 입력으로 하여 기계 학습을 실시한다. 그러나, 이 방법 또한 문제점이 있다.
첫째, 자연어로 구성될 수 있는 문장 조합이 무한대이므로 구축해야 하는 패턴의 종류도 무한하므로 모든 문장에 대한 패턴을 만들기 어렵다는 문제점이 있다.
둘째, 일상적인 메신저에는 다양한 종류의 내용으로 이루어져 있으므로, 구축해놓은 패턴에 해당되지 않는 문장이 들어오면 감정 분류에 오류가 발생할 수 있다는 문제점이 있다.
셋째, 패턴만을 가지고 채팅 내에서 감정의 변화를 고려하여 감정을 분류하기 힘들다는 문제점이 있다.
상기 기술한 내용처럼 종래 기술들은 채팅 내에서 감정의 변화를 고려하는 것이 힘들고, 모든 대화 내용에 따라 패턴들을 준비해야한다는 문제점이 있다. 따라서, 감정의 변화를 고려하여 감정을 분류하는 방법에 대한 연구가 필요하게 되었다.
대한민국 공개특허 제 10-2004-0106960호 (2004.12.20. 공개, 발명의 명칭: 자연어 기반 감정인식, 감정표현 시스템 및 그 방법) 대한민국 공개특허 제 10-2015-0080112호 (2015.07.09. 공개, 발명의 명칭: 메신저 대화 기반 감정분석 방법)
본 발명은 반지도 학습(Semi-Supervised Learning) 기반으로 단어 단위의 감정을 임베딩과 장단기 기억(Long Short-Term Memory: LSTM) 모델을 이용함으로써 대화 내에서 발화(utterance)의 감정을 분류하는 방법을 제공하는 데에 그 목적이 있다.
본 발명이 해결하고자 하는 과제는 상술한 과제들에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
상기 본 발명의 일 목적을 실현하기 위한 실시예들에 따른 단어 단위 감정 임베딩과 LSTM 모델 기반 대화 내 발화 감정 분류 방법은 컴퓨터 판독가능 프로그램으로 구현되어, 컴퓨터 장치의 프로세서에 의해 실행되는 방법으로서, 상기 방법은, 상기 컴퓨터 장치에서, 학습을 위해 단어마다 해당되는 기본 감정이 태깅되어 있는 단어 감정 사전을 참조하여, 입력되는 대화 데이터의 발화 내에 있는 단어마다 감정을 태깅해주는 단어 단위 감정 임베딩 단계; 상기 컴퓨터 장치에서, 상기 입력된 발화의 감정값을 추출하는 단계; 그리고 상기 컴퓨터 장치에서, 추출된 발화의 감정값을 장단기 기억 모델(LSTM model)의 입력 값으로 사용하여, 상기 LSTM 모델에 기반하여 상기 메신저 클라이언트에서 이루어지고 있는 대화 내 감정의 변화를 고려하여 발화의 감정을 분류하는 단계를 포함한다.
예시적인 실시예들에 있어서, 상기 단어 단위 감정 임베딩 단계는, 자연어로 이루어진 발화 내에서 단어마다 가지는 감정값을 상기 단어 감정 사전을 참조하여 태깅하고, 단어 단위 감정 임베딩 학습을 위해 단어와 단어에 해당되는 감정을 쌍으로 데이터를 구축하는 '단어마다 감정 태깅 단계'; 단어가 대화 내에서 지니는 유의미한 벡터 값을 추출하는 '단어에 대한 벡터 값 추출 단계'; 그리고 발화 내에서 단어가 지니는 감정의 유의미한 벡터 값을 추출하는'단어에 대한 감정 벡터 값 추출 단계'를 포함할 수 있다.
예시적인 실시예들에 있어서, 상기 단어 감정 사전은 분노(anger), 두려움(fear), 혐오(disgust), 행복(happiness), 슬픔(sadness), 놀람(surprise)의 6가지의 감정을 상기 기본 감정으로 포함할 수 있다.
예시적인 실시예들에 있어서, 상기 단어의 유의미한 벡터값은 One-hot Encoding으로 표현된 단어 벡터와 가중치 행렬에 대해서 가중치 연산을 수행하여 얻어지는 인코딩 된 벡터값일 수 있다.
예시적인 실시예들에 있어서, 상기 '단어가 지니는 감정의 유의미한 벡터 값'은 상기 단어에 대한 벡터 값 추출 단계에서 인코딩 된 벡터 값과 가중치 행렬에 대해 가중치 연산을 수행하여 얻어지며, 상기 가중치 행렬의 값은 추출된 벡터 값과 예상되어야 하는 감정값의 비교를 통해 조정될 수 있다.
예시적인 실시예들에 있어서, 상기 입력된 발화의 감정값을 추출하는 단계는, 상기 발화를 이루고 있는 단어들에 대한 단어 단위 감정 임베딩을 통해 단어 단위 감정 벡터 값을 추출하고, 추출된 값들을 합하여 발화의 감정값을 추출할 수 있다.
예시적인 실시예들에 있어서, 상기 '대화 내 감정의 변화를 고려하여 발화의 감정을 분류하는 단계'는, 상기 발화 단위 감정값 추출 단계(S200)에서 추출되는 대화 내 발화들의 감정값들을 합한 값을 상기 LSTM 모델에 입력으로 사용하여 대화 내 발화의 감정을 분류하고, 상기 LSTM 모델에서 출력되는 값은 소프트맥스(softmax) 함수를 통해 예상되어야 하는 감정값과 비교 연산을 수행하는 것을 통해 분류할 수 있다.
예시적인 실시예들에 있어서, 상기 입력되는 대화 데이터는 서버 컴퓨터로 작용하는 상기 컴퓨터 장치가 클라이언트 컴퓨터 장치에서 생성된 메신저 클라이언트를 통해 입력되는 데이터이다.
본 발명의 예시적인 실시예들에 따르면, 본 발명은 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 채팅 등과 같은 대화 내에서 발화의 감정을 분류할 수 있다. 이 기술을 통해 자연어로 이루어지는 대화 내에서 감정의 변화를 인지하여 적절한 감정을 분류해줄 수 있다.
도 1은 본 발명의 일 실시예에 따른 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 방법을 수행하기 위한 시스템의 구성을 개략적으로 도시한다.
도 2는 본 발명의 실시예에 따른 대화에서 발화의 감정을 분류하기 위한 모델을 예시한다.
도 3은 도 2에 도시된 단어 단위 감정 임베딩부의 아키텍처를 예시한다.
도 4는 본 발명의 실시예에 따른 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 방법을 나타내는 흐름도이다.
도 5는 본 발명의 실시예에 따른 단어 단위 감정 임베딩 단계에 관한 상세 흐름도이다.
도 6은 본 발명의 실시예에 따른 발화 단위 감정값을 추출하는 단계에 관한 상세 흐름도이다.
도 7은 본 발명의 실시예에 따른 LSTM 모델 기반 대화 내에서 발화의 감정을 분류하는 방법을 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 형태에 따른 반지도 학습 기반의 단어 단위 감정 임베딩을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 학습 방법을 설명한다.
도 1은 일 실시예에 따른 본 발명의 시스템(50)의 구성을 개략적으로 나타낸다. 이 시스템(50)은 본 발명의 일 실시예에 따른 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 방법을 수행하기 위한 시스템이다. 본 발명에 따른 시스템(50)은 클라이언트 컴퓨터 장치(100); 및 서버 컴퓨터 장치(200)를 포함할 수 있다. 간략히 설명하면, 클라이언트 컴퓨터 장치(100)는 대화 감정 분류를 위해 대화 데이터를 생성하고, 그 생성된 대화 데이터를 서버 컴퓨터 장치(200)에 입력 데이터로 제공하기 위한 장치이다. 서버 컴퓨터 장치(200)는 클라이언트 컴퓨터 장치(100)로부터 입력 데이터를 전달받아 대화 감정 분류를 처리하기 위한 장치이다.
클라이언트 컴퓨터 장치(100)는 사람들의 대화를 입력받아 디지털 데이터로 변환하는 기능 등을 수행하기 위한 컴퓨팅 기능, 예컨대 서버 컴퓨터 장치(200) 등 통신망을 통해 외부의 컴퓨팅 장치와 통신할 수 있는 통신 기능 등을 구비하는 장치일 수 있다. 예컨대, 클라이언트 컴퓨터 장치(100)는 스마트폰 장치, 이동통신 단말기(휴대폰), 휴대용 컴퓨터, 테블릿, 퍼스널 컴퓨터 장치 등이 대표적인 예가 될 수 있으나, 반드시 이것에 국한되는 것은 아니하고 상기 기능들을 수행할 수 있는 컴퓨팅 장치라면 그 종류에 제한이 없다.
서버 컴퓨터 장치(200)는 서버용 컴퓨터 장치로 구현될 수 있다. 복수의 클라이언트 컴퓨터 장치(100)들이 유선 통신 및/또는 무선 통신을 통해 서버 컴퓨터 장치(200)에 접속할 수 있다. 서버 컴퓨터 장치(200)는 클라이언트 컴퓨터 장치(100)의 요청에 응하여, 클라이언트 컴퓨터 장치(100)들이 전송하는 디지털 데이터를 수신하는 기능, 그 수신된 데이터를 처리하여 그 대화의 감정을 분류하는 기능 등을 수행하고, 필요 시 처리 결과를 해당 클라이언트 컴퓨터 장치(100)에게 회신하는 등의 기능을 수행하는 컴퓨팅 장치일 수 있다.
본 발명의 시스템(50)은 예컨대 다수의 사용자들 간의 대화를 실시간으로 중계해주는 인스턴트 메신저(instant messenger) 시스템일 수 있다. 상용화된 인스턴트 메신저 시스템의 예로는 카카오톡 메신저 시스템, 라인 메신저 시스템 등과 같은 것이다. 클라이언트 컴퓨터 장치(100)는 생성된 메신저(110)를 포함할 수 있다. 메신저(110)는 클라이언트 컴퓨터 장치(100)에서 판독 가능한 프로그램으로 구현될 수 있다. 예컨대 카카오톡 메신저 시스템의 경우, 메신저(110)는 카카오톡 메신저 애플리케이션 프로그램의 일부로 포함될 수 있다. 클라이언트 컴퓨터 장치(100)는 카카오톡 사용자들 사용하는 스마트폰 단말기이고, 메신저(110)는 카카오톡 메신저에 포함되는 일부 기능 모듈로 제공될 수 있다. 메신저(110) 프로그램은 실행파일로 만들어질 수 있다. 그 실행파일은 클라이언트 컴퓨터 장치(100)에서 실행되어, 그 컴퓨터 장치(100)의 프로세서로 하여금 사용자 사이의 대화를 위한 공간을 만들고, 대화 공간에 참여한 복수의 클라이언트 컴퓨터 장치(100)들의 사용자들 간의 대화를 주고받을 수 있도록 메신저 역할을 수행할 수 있게 한다.
서버 컴퓨터 장치(200)는 접속된 클라이언트 컴퓨터 장치(100)들의 상기 생성된 메신저(110)로부터 생성되는 대화를 입력받을 수 있고, 그 입력된 대화 내 발화의 감정을 분류할 수 있다. 구체적으로, 서버 컴퓨터 장치(200)는 클라이언트 컴퓨터 장치(100)들이 자신에 접속할 수 있도록 통신 연결을 지원해주고, 자신을 통해 접속된 클라이언트 컴퓨터 장치(100)들끼리 메신저 방을 만들어 대화 메시지를 교환할 수 있도록 해줄 수 있다. 그리고 서버 컴퓨터 장치(200)는 클라이언트 컴퓨터 장치(100)들 간에 나눈 대화를 입력 데이터로 제공받아 그 대화의 감정을 분류하는 처리를 할 수 있다.
이를 위해, 서버 컴퓨터 장치(200)는 발화 감정 분석 모듈(210)과, 대화 감정 분석 모듈(220)을 구비할 수 있다. 발화 감정 분석 모듈(210)과 대화 감정 분석 모듈(220)은 각각 컴퓨터 장치에서 판독할 수 있는 프로그램으로 구현될 수 있다. 발화 감정 분석 모듈(210)의 프로그램과 대화 감정 분석 모듈(220)의 프로그램은 실행파일로 만들질 수 있다. 이들 실행파일은 서버 컴퓨터 장치(200)로 기능하는 컴퓨터 장치에서 실행될 수 있다.
발화 감정 분류 모듈(210)은 입력 받은 문장의 감정 벡터 값을 추출해주는 모듈일 수 있다. 대화 감정 분류 모듈(220)은 상기 생성된 메신저(110)에서 이루어지는 대화 내 감정의 변화를 파악하여 발화의 감정을 분류해주는 모듈일 수 있다.
도 2는 본 발명의 실시예에 따른 대화에서 발화의 감정을 분류하기 위한 모델(300)을 예시한다. 도3은 도 2에 도시된 단어 단위 감정 임베딩부(word level emotion embedding)(230)의 아키텍처를 예시한다.
도 2를 참조하면, 스마트 폰(130)이 클라이언트 컴퓨터 장치(100)의 예로서 제시되어 있고, 단어 단위 감정 임베딩부(230)와 단일 레이어 LSTM부(260)는 서버 컴퓨터 장치(200)에서 실행되는 유닛이다.
도 2에 도시된 감정 분류 모델(300)은 클라이언트 컴퓨터 장치(100)의 일 예인 스마트 폰(130)으로부터 서버 컴퓨터 장치(200)가 대화 데이터를 입력 데이터로 제공받아서 감정 분류를 위한 처리를 하는 모델이다. 이 감정 분류 모델(300)은 다음 세 가지 사항에 기초하고 있다. 첫째는 단어 단위 감정 임베딩이다. 즉, 동일한 발화의 단어가 유사한 감정을 가질 수 있기 때문에, 감정을 반지도 학습에 기초하여 단어 단위로 임베드시킬 필요가 있다. 둘째는 발화 단위 감정값 추출(표현)이다. 즉, 요소별 합계 연산자(element-wise summation operator)를 통해 발화의 감정을 나타내는 감정 벡터값을 얻을 수 있다. 셋째는 대화 내에서 발화의 감정을 분류하는 것이다. 대화에서 발화의 감정을 분류하기 위해 단일 레이어 LSTM을 훈련시킬 수 있다.
훈련 과정에서, 상기 감정 분류 모델의 두 가지 주요 부분 즉, 단어 단위 감정 임베딩 및 대화 내의 감정 분류는 별도로 훈련시킬 수 있다. 추론 과정에서, 대화는 대화에서 발화의 감정을 분류하기 위해 모델에 입력된다. 발화는 단어로 구성된다. 발화의 감정을 분류하기 위해서는 발화로 구성된 단어의 감정을 이해해야 한다. 발화에 따르면 동일한 단어조차도 서로 다른 감정을 가질 수 있다. 예를 들어, "당신을 사랑한다"와 "나는 당신을 싫어한다."라는 문장에서 "나는 당신을 사랑한다"에 있는 "당신"이라는 단어는 Ekman의 여섯 가지 기본적인 감정 중에서 "기쁨"에 더 가깝다. 그러나 "나는 당신을 싫어한다"라는 문장에 있는 단어 "당신"은 Ekman의 여섯 가지 기본 감정 중에서 "분노"또는 "혐오감"에 더 가깝다. 그러므로 우리는 같은 발화 내의 단어들은 비슷한 감정을 가지고 있다고 생각해야 한다.
본 발명의 예시적인 실시예에 따르면, 대화에서 발화의 감정을 분류하는 것은 반지도(semi-supervised)된 단어 단위의 감정 임베딩에 기초하여 수행될 수 있다. 본 발명의 주된 아이디어는 동일한 발화의 동시 발생 단어들이 분포 가설에 기초하여 유사한 감정을 갖는다는 점에 착안한 것이다. 따라서 예시적인 실시예에 따른 감정 분류 모델(300)은 단어 감정을 벡터로 표현할 필요가 있다. 대화에서 감정을 분류하기 전에 단어 단위의 감정 벡터를 얻기 위해 스킵-그램 모델(skip-gram model)의 수정된 버전을 학습할 수 있다. 기존 모델과는 달리, 본 발명에 따른 감정 분류 모델(300)은 반지도 학습에 의해 훈련될 수 있다.
단어 단위 감정 벡터에 대한 반지도 학습을 하기 위해, 레이블이 지정된 데이터가 필요할 수 있다. 단어의 감정을 표시하기 위해 단어 감정 사전(240)이 필요할 수 있다. 단어 감정 사전(240)의 예로는 NRC 감정 사전(National Research Council Emotion Lexicon)을 들 수 있다. 그 NRC 감정 사전에는 영어 단어를 인간의 8 개의 기본 감정과 2 개의 정서로 레이블을 지정하여 정리되어 있다. 반지도 학습을 통해 NRC 감정 사전에 레이블이 지정되지 않은 단어는 벡터 공간에서 감정으로 표현 될 수 있다. 본 발명의 예시적인 실시예에서는 그 NRC 감정 사전에서 사용하는 감정의 일부만을 활용할 수 있다. 예컨대, 단어 감정 사전(240)에서 7 가지 기본 감정 (Ekman의 6 가지 기본적인 감정 + 중립) 또는 8가지 기본 감정(Ekman의 6 가지 기본적인 감정 + 중립 및 비중립)만을 고려할 수 있다. 예시적인 실시예에 따른 단어 감정 사전(240)은 예컨대 Ekman의 6가지 기본 감정 즉, 분노(anger), 두려움(fear), 역겨움(disgust), 행복(happiness), 슬픔(sadness), 놀라움(surprise)을 인간의 기본 감정으로 포함할 수 있다. 어떤 발화의 감정을 얻으려면, 그 발화에 이러한 감정 벡터를 추가할 수 있다. 그런 다음, 대화에서 단일 레이어 LSTM 기반 분류 네트워크를 훈련할 수 있다.
도 6에 도시된 단어 단위 감정 임베딩부(250)에 제공되는 입력단어 wi는 길이 n의 입력 발화 uttr i 의 단어이며, 식 (1)로 표현될 수 있다.
uttr i ={w 1 , w 2 , ...,w n } ......(1)
입력 단어 wi는 '1-of-V 인코딩'을 사용하여 인코딩 될 수 있다. 여기서, V는 어휘의 크기이다. 가중치 행렬 W는 VxD 차원(
Figure pat00001
)을 갖는다. 입력 단어 wi는 가중치 행렬 W에 의해 나타내질 수 있다. D차원을 갖는 인코딩된 벡터 enc(w i )는 1-of-V 인코딩 벡터 wi를 연속 벡터로서 나타낸다. 가중치 행렬 W'로 enc(w i )를 계산한 결과는 출력 벡터 out(w i )이다. 가중치 행렬 W'는 DxK 차원(
Figure pat00002
)을 갖는다. 여기서, K는 감정 레이블의 개수이다. 예측 출력 벡터(predicted output vector) out(w i )는 기대 출력 벡터(expected output vector)와의 비교 연산을 통해 모델의 학습이 이루어질 수 있다.
이 임베딩 모델을 학습하기 위해, 입력과 예측 출력의 쌍을 만들 수 있다. 이 아키텍처는 skip-gram 모델의 약간의 변형이므로, 중앙 단어를 기반으로 단어들의 최대 거리를 선택할 수 있다. 예컨대 NRC Emotion Lexicon과 같은 단어 감정 사전(240)에 있는 중심 단어만 선택할 수 있다. 중심 단어를 선택한 후, 중심 단어와 동일한 감정으로 문맥 단어들(context words)이 분류될 수 있다. 반지도 학습을 통해 단어의 감정을 벡터 공간에서 연속적인 벡터로 나타낼 수 있다. 예를 들어, "아름다운"이라는 단어가 단어 감정 사전(240)에 없으면 "아름다운"이라는 단어가 연속적인 벡터 공간에서 "기쁨"이라는 감정으로 표현된다.
감정은 발화 단위로 표현될 수 있다. 미리 훈련된 벡터로부터 발화의 감정을 얻을 수 있다. 길이 n의 i 번째 발화를 식 (1)로 표현된다고 하자. n은 고정 변수가 아니다. e(w i )는 단어 단위의 감정 임베딩에 적용된 미리 훈련된 벡터이다. i 번째 문장의 감정은 다음과 같이 표현될 수 있다.
e(uttr i )=e(w 1)+e(w 2)+...+e(w n ) ......(2)
여기서 +는 요소별 합계 연산자(element-wise summation operator)이다. 앞서 말했듯이, 모든 발화 길이는 같지 않다. 이러한 이유 때문에 연결 연산자(concatenation operator)가 아닌 합계 연산자를 사용할 수 있다. 식 (2)를 이용하여 얻은 감정 벡터 e(uttr i )는 대화의 감정을 분류하는 데 사용된다.
대화 내의 감정은 다음과 같이 분류할 수 있다. 반지도 신경 언어 모델로부터 얻어진 발화 단위의 감정 벡터들에 대해 단일 레이어 LSTM(260)에 기초하여 분류 네트워크를 훈련시킬 수 있다. 앞서 기술했듯이 감정 흐름(emotion flow)과 같이 대화 내의 문맥 정보를 고려하는 것은 중요하다. 예시적인 실시예에서, 감정 흐름을 순차적인 데이터로 간주할 수 있다. 따라서 분류 모델에서 순환 신경망 (recurrent neural network, RNN) 아키텍처를 채택할 수 있다. 대화는 몇 가지 발화로 구성될 수 있다. 그것은 식 (3)으로 표현될 수 있다.
dialogue = {uttr 1 , uttr 2 ,...,uttr C } ......(3)
여기서, C는 고정되어 있지 않다. 도 7에 도시된 바와 같이, 시간 단계 t에서의 단일 레이어 LSTM(260)에 제공되는 입력 e(uttr i )은 감정 벡터들이다. 시간 단계 t에서, 예측 출력 벡터 및 기대 출력 벡터는 예컨대 소프트맥스(softmax)와 같은 비선형 함수로 계산될 수 있다. 여기서, 소프트맥스 함수는 입력받은 값을 출력으로 0~1사이의 값으로 모두 정규화하며 출력 값들의 총합은 항상 1이 되는 특성을 가진 함수이다.
다음으로, 도 4는 본 발명의 실시예에 따른 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 방법을 나타내는 흐름도이다.
도 4를 참조하면, 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 이용하여 대화 내에서 발화의 감정을 분류하기 위한 방법은 단어 단위 감정 임베딩 단계(S100), 발화 단위 감정값 추출 단계(S200), LSTM 모델 기반 대화 내에서 발화의 감정을 분류하는 단계(S300)를 포함할 수 있다.
상기 단어 단위 감정 임베딩 단계(S100)는 서버 컴퓨터 장치(200)에서, 클라이언트 컴퓨터 장치(100)로 기능하는 통신 단말기(130)로부터 제공되는 대화 데이터를 단어 단위 감정 임베딩부(230)로 입력하여 단어 단위 감정 임베딩을 수행할 수 있다. 단어 단위 감정 임베딩을 위해, 단어 감정 사전(240)을 참조하여, 발화 내에 있는 단어마다 감정을 태깅 해준다. 이를 위해, 위에서 언급한 것처럼 단어 감정 사전(240)에는 학습을 위해 단어마다 인간의 기본 감정이 태깅되어 있다. 단어가 지니는 감정의 유의미한 값을 추출하기 위해, 단어 감정 사전(240)의 출력을 임베딩부(250)에 제공하여 단어에 대한 벡터 값을 추출한다. 추출된 단어에 대한 벡터 값을 이용하여, 추출된 단어의 감정값을 가중치 연산을 통하여 벡터 값을 추출하는 단계이다.
상기 발화 단위 감정값 추출 단계(S200)는 발화 내 단어들에 해당되는 감정 벡터 값들에 대해 합 연산을 수행하여 발화에 해당되는 감정 벡터 값을 추출하는 단계이다.
상기 LSTM 모델 기반 대화 내에서 발화의 감정을 분류하는 단계(S300)는 상기 발화 단위 감정값 추출 단계(S200)에서 추출된 발화의 감정 벡터 값을 LSTM 모델(260)의 입력 값으로 사용하여, 그 LSTM 모델을 통해 대화 내에서 감정의 변화를 고려한 발화의 감정을 분류하는 단계이다.
도 3은 본 발명의 실시예에 따라 도 2의 단어 단위 감정 임베딩 단계(S100)의 구체적인 수행 방법에 관한 상세 흐름도이다.
도 3을 참조하면, 예시적인 실시예에 따른 단어 단위 감정 임베딩 단계(S100)는 단어마다 감정 태깅 단계(S110), 단어에 대한 벡터 값 추출 단계(S120), 단어에 대한 감정 벡터 값 추출 단계(S130)를 포함할 수 있다.
예시적인 실시예에 따른 상기 단어마다 감정 태깅 단계(S110)는 자연어로 이루어진 발화 내에서 단어마다 가지는 감정값을 단어 감정 사전(240)을 이용하여 태깅하고, 단어 단위 감정 임베딩 학습을 위해 데이터를 구축하는 단계이다. 발화에 따라 동일한 단어라도 지니는 감정은 다르다. 이를 위해 발화 내의 단어들 중 한 단어를 중심으로 주변 단어들의 감정은 중심 단어의 감정이랑 동일한 감정이라고 생각한다. 단어에 감정값을 태깅하기 위해, 단어마다 인간의 기본 감정인 6가지 감정이 태깅되어 있는 단어 감정 사전(240)을 참조한다. 중심 단어가 상기 단어 감정 사전(240)에 해당되지 않을 경우에는 주변 단어들의 감정을 태깅하지 않는다. 학습을 위해 단어와 단어에 해당되는 감정을 쌍으로 데이터를 구축한다.
예시적인 실시예에 따른 상기 단어에 대한 벡터 값 추출 단계(S120)는 단어가 대화 내에서 지니는 유의미한 값을 추출하는 단계이다. 단어의 유의미한 벡터 값을 추출하기 위해 One-hot Encoding으로 표현된 단어 벡터와 가중치 행렬에 대해서 가중치 연산을 수행한다. 가중치 연산을 통해 인코딩 된 벡터 값을 단어의 유의미한 벡터 값이라고 본다.
예시적인 실시예에 따른 상기 단어에 대한 감정 벡터 값 추출 단계(S130)는 발화 내에서 단어가 지니는 감정의 유의미한 값을 추출하는 단계이다. 단어에 대한 유의미한 감정 벡터 값을 추출하기 위해 상기 단어에 대한 벡터 값 추출 단계(S120)에서 인코딩 된 벡터 값과 가중치 행렬에 대해 가중치 연산을 수행한다. 가중치 연산을 통해 추출된 벡터 값과 예상되어야 하는 감정값(즉, 원래 단어가 가지는 진짜 감정값(정답 감정값))을 비교하여 가중치 행렬의 값을 조정한다.
다음으로, 도 6은 본 발명의 실시예에 따른 발화 단위 감정값 추출하는 단계(S200)의 구체적인 수행 방법에 관한 상세 흐름도이다.
도 6을 참조하면, 예시적인 실시예에 따른 발화의 감정값 추출 단계(S210)를 포함할 수 있다.
예시적인 실시예에 따른 상기 발화의 감정값 추출 단계(S210)는 상기 발화를 이루고 있는 단어들에 대한 단어 단위 감정 임베딩을 통해 단어 단위 감정 벡터 값을 추출하고, 추출된 값들을 합하여 발화의 감정값을 추출하는 단계이다. 상기 발화의 감정값 추출 단계(S210)는 발화 내 단어들에 대한 감정 벡터 값을 합 연산을 통해 발화의 감정값으로 볼 수 있다.
다음으로, 도 7은 본 발명의 실시예에 따른 단일 레이어 LSTM 모델(260) 기반으로 대화 내 발화들의 감정을 분류하는 방법을 나타내는 도면이다.
도 7을 참조하면서, 도 4에 나타낸 상기 LSTM 모델 기반 대화 내 발화의 감정을 분류하는 단계(S300)를 설명한다.
상기 LSTM 모델 기반 대화 내 발화 감정 분류 단계(S300)는 LSTM 모델(260)을 이용하여 대화 내에서 발생하는 감정의 변화를 고려하여 발화의 감정을 분류하는 단계이다. 감정 분류를 위해 단일 층으로 이루어진 LSTM 모델(260)을 이용한다. 하나의 대화는 여러 개의 발화로 이루어질 수 있다. 따라서, LSTM 모델(260)의 입력은 식 (3)으로 표현되듯이 상기 발화 단위 감정값 추출 단계(S200)에서 추출되는 대화 내 발화들의 감정값이다. LSTM 모델(260)에서 출력되는 값은 소프트맥스(softmax) 함수를 통해 예상되어야 하는 감정값과 비교 연산을 수행한다. 이를 통해 대화 내에서 발생하는 감정의 변화를 고려하여 발화의 감정을 분류할 수 있다.
이와 같이 본 발명은 반지도 학습 기반의 단어 단위 감정 임베딩과 LSTM 모델을 기반으로 자연어로 이루어지는 대화 내에서 감정의 변화를 인지하여 발화의 적절한 감정을 분류해주는 원천 기술을 제공할 수 있다. 이상에서 설명한 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내에서 발화의 감정 분류 방법은, 위의 설명에서 충분히 예견될 수 있듯이, 컴퓨터 프로그램으로 구현될 수 있다. 그리고 그 컴퓨터 프로그램은 실행파일로 만들어져서 컴퓨터 장치의 프로세서에 의해 실행될 수 있다. 즉, 프로세서가 그 컴퓨터 프로그램의 명령어 시퀀스를 실행하는 것에 의해 상기 방법의 각 단계가 수행될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 자연어 처리분야에서 다양하게 이용될 수 있다. 특히 본 발명은 통해 자연어로 이루어지는 대화 내에서 감정의 변화를 인지하여 적절한 감정을 분류해줄 수 있으므로, 이를 필요로 하는 응용분야에 유용하게 이용될 수 있다.
이상에서 실시 예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시 예에 포함되며, 반드시 하나의 실시 예에만 한정되는 것은 아니다. 나아가, 각 실 시예에서 예시된 특징, 구조, 효과 등은 실시 예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100: 클라이언트 장치 200: 서버 장치
130: 이동통신 단말기 230: 단어 단위 감정 임베딩부
240: 단어 감정 사전 250: 임베딩부
260: 단일 레이어 LSTM

Claims (8)

  1. 컴퓨터 판독가능 프로그램으로 구현되어, 컴퓨터 장치의 프로세서에 의해 실행되는 방법으로서, 상기 방법은,
    상기 컴퓨터 장치에서, 학습을 위해 단어마다 해당되는 기본 감정이 태깅되어 있는 단어 감정 사전을 참조하여, 입력되는 대화 데이터의 발화 내에 있는 단어마다 감정을 태깅해주는 단어 단위 감정 임베딩 단계;
    상기 컴퓨터 장치에서, 상기 입력된 발화의 감정값을 추출하는 단계; 그리고
    상기 컴퓨터 장치에서, 추출된 발화의 감정값을 장단기 기억 모델(LSTM model)의 입력 값으로 사용하여, 상기 LSTM 모델에 기반하여 상기 메신저 클라이언트에서 이루어지고 있는 대화 내 감정의 변화를 고려하여 발화의 감정을 분류하는 단계를 포함하는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  2. 제 1항에 있어서, 상기 단어 단위 감정 임베딩 단계는, 자연어로 이루어진 발화 내에서 단어마다 가지는 감정값을 상기 단어 감정 사전을 참조하여 태깅하고, 단어 단위 감정 임베딩 학습을 위해 단어와 단어에 해당되는 감정을 쌍으로 데이터를 구축하는 '단어마다 감정 태깅 단계'; 단어가 대화 내에서 지니는 유의미한 벡터 값을 추출하는 '단어에 대한 벡터 값 추출 단계'; 그리고 발화 내에서 단어가 지니는 감정의 유의미한 벡터 값을 추출하는'단어에 대한 감정 벡터 값 추출 단계'를 포함하는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  3. 제2항에 있어서, 상기 단어 감정 사전은 분노(anger), 두려움(fear), 혐오(disgust), 행복(happiness), 슬픔(sadness), 놀람(surprise)의 6가지의 감정을 상기 기본 감정으로 포함하는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  4. 제2항에 있어서, 상기 단어의 유의미한 벡터값은 One-hot Encoding으로 표현된 단어 벡터와 가중치 행렬에 대해서 가중치 연산을 수행하여 얻어지는 인코딩 된 벡터값인 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  5. 제4항에 있어서, 상기 '단어가 지니는 감정의 유의미한 벡터 값'은 상기 단어에 대한 벡터 값 추출 단계에서 인코딩 된 벡터 값과 가중치 행렬에 대해 가중치 연산을 수행하여 얻어지며, 상기 가중치 행렬의 값은 추출된 벡터 값과 예상되어야 하는 감정값의 비교를 통해 조정되는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  6. 제 1항에 있어서, 상기 '입력된 발화의 감정값을 추출하는 단계'는, 상기 발화를 이루고 있는 단어들에 대한 단어 단위 감정 임베딩을 통해 단어 단위 감정 벡터 값을 추출하고, 추출된 값들을 합하여 발화의 감정값을 추출하는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  7. 제 1항에 있어서, 상기 '대화 내 감정의 변화를 고려하여 발화의 감정을 분류하는 단계'는, 상기 발화 단위 감정값 추출 단계(S200)에서 추출되는 대화 내 발화들의 감정값들을 합한 값을 상기 LSTM 모델에 입력으로 사용하여 대화 내 발화의 감정을 분류하고, 상기 LSTM 모델에서 출력되는 값은 소프트맥스(softmax) 함수를 통해 예상되어야 하는 감정값과 비교 연산을 수행하는 것을 통해 분류하는 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
  8. 제1항에 있어서, 상기 입력되는 대화 데이터는 서버 컴퓨터로 작용하는 상기 컴퓨터 장치가 클라이언트 컴퓨터 장치에서 생성된 메신저 클라이언트를 통해 입력되는 데이터인 것을 특징으로 하는 반지도 학습 기반 단어 단위 감정 임베딩과 LSTM 모델을 이용한 대화 내 발화의 감정 분류 방법.
KR1020190176837A 2019-12-27 2019-12-27 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 KR102315830B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190176837A KR102315830B1 (ko) 2019-12-27 2019-12-27 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
PCT/KR2020/001931 WO2021132797A1 (ko) 2019-12-27 2020-02-12 반지도 학습 기반 단어 단위 감정 임베딩과 장단기 기억 모델을 이용한 대화 내에서 발화의 감정 분류 방법
US17/789,088 US20230029759A1 (en) 2019-12-27 2020-02-12 Method of classifying utterance emotion in dialogue using word-level emotion embedding based on semi-supervised learning and long short-term memory model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190176837A KR102315830B1 (ko) 2019-12-27 2019-12-27 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법

Publications (2)

Publication Number Publication Date
KR20210083986A true KR20210083986A (ko) 2021-07-07
KR102315830B1 KR102315830B1 (ko) 2021-10-22

Family

ID=76575590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190176837A KR102315830B1 (ko) 2019-12-27 2019-12-27 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법

Country Status (3)

Country Link
US (1) US20230029759A1 (ko)
KR (1) KR102315830B1 (ko)
WO (1) WO2021132797A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783812B2 (en) * 2020-04-28 2023-10-10 Bloomberg Finance L.P. Dialogue act classification in group chats with DAG-LSTMs
CN113488052B (zh) * 2021-07-22 2022-09-02 深圳鑫思威科技有限公司 无线语音传输和ai语音识别互操控方法
CN114239547A (zh) * 2021-12-15 2022-03-25 平安科技(深圳)有限公司 一种语句生成方法及电子设备、存储介质
CN116108856B (zh) * 2023-02-14 2023-07-18 华南理工大学 基于长短回路认知与显隐情感交互的情感识别方法及系统
CN116258134B (zh) * 2023-04-24 2023-08-29 中国科学技术大学 一种基于卷积联合模型的对话情感识别方法
US11995410B1 (en) * 2023-06-30 2024-05-28 Intuit Inc. Hierarchical model to process conversations

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106960A (ko) 2003-06-10 2004-12-20 (주)얄리 자연어 기반 감정인식, 감정표현 시스템 및 그 방법
KR20150080112A (ko) 2013-12-30 2015-07-09 주식회사 스캐터랩 메신저 대화 기반 감정분석 방법
KR101763679B1 (ko) * 2017-05-23 2017-08-01 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
KR20180100001A (ko) * 2017-02-28 2018-09-06 서울대학교산학협력단 인공지능을 이용한 기계학습 기반의 한국어 대화 시스템과 방법 및 기록매체
KR20180108400A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체
KR20180125905A (ko) * 2017-05-16 2018-11-26 삼성전자주식회사 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
KR20190109670A (ko) * 2018-03-09 2019-09-26 강원대학교산학협력단 신경망을 이용한 사용자 의도분석 시스템 및 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209182B2 (en) * 2005-11-30 2012-06-26 University Of Southern California Emotion recognition system
US20180129937A1 (en) * 2016-11-04 2018-05-10 Salesforce.Com, Inc. Quasi-recurrent neural network
US10678816B2 (en) * 2017-08-23 2020-06-09 Rsvp Technologies Inc. Single-entity-single-relation question answering systems, and methods
US10810266B2 (en) * 2017-11-17 2020-10-20 Adobe Inc. Document search using grammatical units
EP3714380A4 (en) * 2017-11-24 2021-06-02 Microsoft Technology Licensing, LLC PROVIDING A SUMMARY OF A MULTIMEDIA DOCUMENT IN A SESSION
US11200506B2 (en) * 2017-12-15 2021-12-14 Microsoft Technology Licensing, Llc Chatbot integrating derived user intent
CN110263165A (zh) * 2019-06-14 2019-09-20 中山大学 一种基于半监督学习的用户评论情感分析方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040106960A (ko) 2003-06-10 2004-12-20 (주)얄리 자연어 기반 감정인식, 감정표현 시스템 및 그 방법
KR20150080112A (ko) 2013-12-30 2015-07-09 주식회사 스캐터랩 메신저 대화 기반 감정분석 방법
KR20180100001A (ko) * 2017-02-28 2018-09-06 서울대학교산학협력단 인공지능을 이용한 기계학습 기반의 한국어 대화 시스템과 방법 및 기록매체
KR20180108400A (ko) * 2017-03-23 2018-10-04 삼성전자주식회사 전자 장치, 그의 제어 방법 및 비일시적 컴퓨터 판독가능 기록매체
KR20180125905A (ko) * 2017-05-16 2018-11-26 삼성전자주식회사 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
KR101763679B1 (ko) * 2017-05-23 2017-08-01 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
KR20190109670A (ko) * 2018-03-09 2019-09-26 강원대학교산학협력단 신경망을 이용한 사용자 의도분석 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARIO GIULIANELLI, 'Semi-supervised emotion lexicon expansion with label propagation and specialized word embeddings', arXiv:1708.03910, 2017.08.13. 1부.* *
MING-HSIANG SU 외 3명, 'LSTM-based Text Emotion Recognition Using Semantic and Emotional Word Vectors', 2018 ACII Asia, 2018.09.24. 1부.* *

Also Published As

Publication number Publication date
WO2021132797A1 (ko) 2021-07-01
US20230029759A1 (en) 2023-02-02
KR102315830B1 (ko) 2021-10-22

Similar Documents

Publication Publication Date Title
Kamath et al. Deep learning for NLP and speech recognition
KR102315830B1 (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
US11568240B2 (en) Method and apparatus for classifying class, to which sentence belongs, using deep neural network
US10817650B2 (en) Natural language processing using context specific word vectors
Ji et al. A latent variable recurrent neural network for discourse relation language models
CN117521675A (zh) 基于大语言模型的信息处理方法、装置、设备及存储介质
US10789942B2 (en) Word embedding system
CN113127624B (zh) 问答模型的训练方法及装置
CN112214591B (zh) 一种对话预测的方法及装置
CN114676234A (zh) 一种模型训练方法及相关设备
CN116861995A (zh) 多模态预训练模型的训练及多模态数据处理方法和装置
CN113886601B (zh) 电子文本事件抽取方法、装置、设备及存储介质
Bokka et al. Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks
Bothe et al. Dialogue-based neural learning to estimate the sentiment of a next upcoming utterance
Tajane et al. AI based chat-bot using azure cognitive services
CN113705315A (zh) 视频处理方法、装置、设备及存储介质
CN116050425A (zh) 建立预训练语言模型的方法、文本预测方法及装置
CN113761883A (zh) 一种文本信息识别方法、装置、电子设备及存储介质
Tsakiris et al. The development of a chatbot using Convolutional Neural Networks
CN114281996B (zh) 长文本分类方法、装置、设备及存储介质
Wang et al. An end-to-end actor-critic-based neural coreference resolution system
CN113221553A (zh) 一种文本处理方法、装置、设备以及可读存储介质
Sitender et al. Effect of GloVe, Word2Vec and fastText embedding on english and hindi neural machine translation systems
Serban et al. Text-based speaker identification for multi-participant opendomain dialogue systems
Sharma et al. Language identification for hindi language transliterated text in roman script using generative adversarial networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right