본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
도 1는 본 발명의 일 실시예에 따른 감정정보 추출 장치의 블록도이다.
감정정보 추출 장치(100)는 문서 입력부(110), 형태소 분석부(120), 감정용어 추출부(130), 가중치 조정부(140), 유사도 산정부(150), 문서 생성부(160) 및 감정용어 저장부(170)를 포함한다.
문서 입력부(110)는 소정 문서내의 소정 텍스트 문자를 입력받는다. 여기서, 문서 입력부(110)에 입력된 텍스트 문자는 형태소 분석이 가능하도록 복수개의 문장으로 구분될 수 있다. 그리고, 상기 문서는 일반적으로 소정 기기(컴퓨터, 이동 단말기 등)에 의해 작성된 전자 문서일 수 있다.
형태소 분석부(120)는 텍스트 문자에서 형태소를 추출한다. 예를 들어, 형태소 분석부(120)는 표준 용어 사전을 이용하여 텍스트 문자에서 형태소를 추출할 수 있다. 그러나 이에 한정되지 않고 다양한 분석 방법을 이용하여 형태소가 추출될 수 있음은 물론이다.
감정용어 추출부(130)는 추출된 형태소에서 감정용어를 추출하여 소정 기준에 따라 분류한다. 참고로, 표 1과 같이 한국어의 감정용어 분류 기준에서는, 다양한 감정용어를 기쁨, 슬픔, 놀람, 공포, 혐오, 분노의 6가지의 감정종류로 분류하고 있다.
감정종류 |
감정용어 |
기쁨 |
기쁘다, 웃다, 즐겁다, 미소짓다, 흐뭇하다, 흥겹다, 정겹다, 반갑다 |
슬픔 |
슬프다, 애잔하다, 서글프다, 울다, 비통하다, 눈물겹다, 섭섭하다 |
놀람 |
놀라다, 당황하다, 자지러지다, 질리다 |
공포 |
무섭다, 두렵다, 소름 돋다, 진저리나다 |
혐오 |
가증스럽다, 미워하다, 싫어하다, 밉다, 얄밉다, 역겹다, 불쾌하다 |
분노 |
화내다, 성내다, 노엽다, 분하다, 뒤틀리다, 발끈하다, 언짢다 |
[표 1]
본 발명의 실시예에서는, 상기 표 1의 감정용어 분류 기준을 활용하여, 감정 용어의 강약(이하, 감정 정도라 함)에 따라 바람직하게는 표 2와 같이 복수개의 등급(EGA, EGB, EGC )으로 감정용어를 분류하여 이용할 수 있다. 그러나, 이외에도 다양한 기준에 따라 감정용어의 강약 및 감정종류가 정의될 수 있음은 물론이다.
감정종류 |
강한 감정(EGA) |
보통 감정(EGB) |
약한 감정(EGC) |
기쁨 |
환호함, 통쾌함, 신명남 |
반가움, 웃음, 즐거움 |
미소지음, 흐뭇함 |
슬픔 |
비통, 절망, 고통 |
울음, 서글픔, 눈물남 |
애잔함, 섭섭함, 외로움 |
놀람 |
자지러짐, 질림 |
당황함, 긴장함 |
떨림 |
공포 |
끔찍함, 진저리남 |
무서움, 두려움 |
불안함, 소름 돋음 |
혐오 |
가증스러움, 역겨움 |
불쾌함, 미움, 싫어함 |
얄미움 |
분노 |
격분함, 원통함, 성냄 |
증오함, 노여움, 화남 |
언짢음, 발끈함, 질투 |
[표 2]
상기 표 2에 있어서, EG(Emotion Grade)은 감정의 정도에 따라 복수개의 등급으로 구분될 수 있다. 즉, 강한 감정은 보통 감정 및 약한 감정보다 더 강한 감정 표현들의 그룹이다. 그리고, 보통 감정은 강한 감정보다는 약한 감정 표현이지만 약한 감정보다는 더 강한 감정 표현들의 그룹이다. 또한, 약한 감정은 강한 감정 및 보통 감정보다 약한 감정 표현들의 그룹이다.
가중치 조정부(140)는 감정용어(들)가 속한 감정종류 및 감정 정도에 따라 가중치를 계산한다. 이를 통해, 문서의 감정정보에 대한 감정 벡터가 계산되고, 해당 문서를 대표하는 감정정보가 추출될 수 있다. 여기서, 바람직하게는 이하 수식 1에 의해 상기 가중치가 계산될 수 있다.
[수식 1]
상기 수식 1에 있어서, EQj는 문서의 감정정보에 대한 감정 벡터(값)를 의미하고, 감정 벡터의 Wij는 감정용어가 속한 감정종류 및 감정 정도에 따른 가중치를 나타낸다. 즉, 감정 벡터(EQj)를 통해 해당 문서의 대표적인 감정정보를 얻을 수 있다. 또한 이를 위해, 감정용어가 속한 감정종류 및 감정 정도에 따라 가중치(Wij)가 산출되어진다. 여기서, 1<=i<=6, 1<=j<=n로 각각 정의될 수 있다. 그리고, 감정종류에 있어서 i=1이면 기쁨, i=2이면 슬픔, i=3이면 놀람, i=4이면 공포, i=5이면 혐오, i=6이면 분노를 의미한다. 즉, 문서 j에 있어서 W1j는 기쁨의 가중치를 의미하며, W2j는 슬픔의 가중치를 의미한다.
또한, ega ,b, cfreqij(즉, egafreqij, egbfreqij 또는 egcfreqij)는 문서 j에 있어서 소정 감정용어 분류 기준에 따라 분류된 감정용어에 대해서 감정종류 i의 소정 감정 정도에 속하는 감정용어의 빈도수를, ega,b,ctotalfreqi는 소정 감정용어 분류 기준에 따라 분류된 감정용어에 대해서 감정종류 i의 소정 감정 정도에 속하는 미리 정의된 감정용어의 빈도수를 나타낸다. 예를 들어, ega ,b, ctotalfreqi는 표준 용어 사전에서 감정용어 분류 기준을 기초로 추출된 감정용어를 감정 종류와 감정 정도에 따라 분류하고, 분류된 그룹에 속하는 감정용어의 빈도수를 나타내는 미리 정의된 값이다. 따라서, ega ,b, ctotalfreqi 값은 미리 정의되어 데이터 베이스 형태로 저장될 수 있다.
그리고, Wa ,b,c는 감정 정도(강한 감정, 보통 감정, 약한 감정)에 따른 가중치를 의미한다.
따라서, 상기 수식 1을 통해 소정 문서에 대해 감정종류에 따라 가중치가 계산되고 이를 통해 해당 문서를 대표하는 감정정보를 산출할 수 있다. 예를 들어, EQj=(0.8, 0.0, 0.3, 0.0, 0.0, 0.0)일 경우, 문서를 대표하는 감정은 기쁨이란 감정이 된다. 즉, 감정 벡터(EQj)에서 기쁨의 가중치가 다른 감정(종류)의 가중치보다 클 경우 해당 문서를 대표하는 감정은 기쁨으로 정의될 수 있다. 이하 구체적으로 예를 들어 설명하기로 한다.
예를 들어, 문서 j에 있어서 기쁨의 가중치가 상기 수식 1에 따라 W1j = 0.4 x 0.5 + 0.1 x 0.3 + 0.2 x 0.2 = 0.27이라면, 기쁨의 가중치가 0.27이라는 것을 의미한다. 만약, W1j가 1값을 갖는 경우, 기쁨의 가중치가 가장 큰 값을 갖는 경우이다. 즉, 상술된 6가지 감정종류에 있어서 각 감정종류에 대한 가중치는 0(zero) 내지 1사이의 값을 가질 수 있다. 여기서, 각 감정 정도간에는 소정 비율로 차이가 나도록 가중치가 정의될 수 있다. 즉, 강한 감정(Wa)에는 0.5값, 보통 감정(Wb)에는 0.3값, 약한 감정(Wc)에는 0.2값으로 가중치가 할당될 수 있다.
한편, 유사도 산정부(150)는 상술된 문서(제1 문서라 함)에 대한 감정 벡터(감정정보)를 기초로 비교 대상 문서(제2 문서라 함)와의 유사도를 산출(산정)한다. 즉, 유사도 산정부(150)는 제1 문서에 대한 감정 벡터(EQj)와 제2 문서에 대한 감정 벡터(EDij)를 비교하여 유사도 여부를 판단할 수 있다. 제2 문서에 대한 감정 벡터(EDij)는 상술된 수식 1의 원리에 따라 구해질 수 있으며, 결과값은 수식 2와 같이 정의될 수 있다.
[수식 2]
그리고, 유사도 판단을 위해 이하 수식 3 또는 수식 4가 이용될 수 있다.
[수식 3]
[수식 4]
수식 3 및 수식 4에 있어서, EQi는 제1 문서, EDij는 제2 문서를 의미하며, 1<=i<=6, 1<=j<=n로 각각 정의될 수 있다. 제2 문서로서, ED1, ED2, ED3, ... , EDn가 있고, 상술한 바와 같이 6가지의 감정종류로 분류될 수 있다고 가정하면, 제2 문서의 감정 벡터는 EDij=(W1j, W2j, W3j, W4j, W5j, W6j)로 표현될 수 있다.
예를 들어, 수식 3 또는 수식 4을 이용하여 이하 표 3과 같이 유사도가 계산될 수 있다.
제2 문서 |
문장의 예 |
감정 벡터값 |
S값(수식 3) |
D값(수식 4) |
ED1 |
합격 소식에 깜짝 놀라 환호를 질렀다. |
(0.8, 0.0, 0.3, 0.0, 0.0, 0.0) |
0.93 |
0.32 |
ED2 |
아기가 탄생한 기쁨에 눈물이 났다. |
(0.3, 0.2, 0.0, 0.0, 0.0, 0.0) |
0.82 |
0.64 |
ED3 |
그의 가증스러움에 증오심이 생겼다. |
(0.0, 0.0, 0.0, 0.0, 0.8, 0.6) |
0.00 |
1.35 |
ED4 |
사고 현장에서 부상자들의 얼굴은 끔찍하고 역겨운 생각마저 들게 하였다. |
(0.0, 0.0, 0.0, 0.8, 0.7, 0.0) |
0.08 |
1.34 |
ED5 |
면접을 앞두고 떨려서 소름이 돋았다. |
(0.0, 0.0, 0.2, 0.2, 0.0, 0.0) |
0.07 |
0.93 |
EQ |
그 사람의 이별 통보에 불안하기도 했지만, 왠지 모를 상쾌한 기분이 들었다. |
(0.9, 0.0, 0.0, 0.1, 0.0, 0.0) |
ED1과 가장 유사한 문장 |
ED1과 가장 유사한 문장 |
[표 3]
상기 표 3은 문서 내 (샘플) 문장을 기초로 하여 각 문서의 유사도를 산출한 값을 표로 나타낸 것이다. 여기서, EQ 문서와 ED1 문서는 기쁨이란 감정에 있어서 가장 유사하며, 수식 3을 이용할 경우 S값(유사도)이 0.93, 수식 4를 이용할 경우 D값(유사도)이 0.32로 각각 산출된다. 따라서, S값이 클수록 그리고 D값이 작을수록 유사도가 크다는 것을 알 수 있다. 이와 같이, 문서의 감정 벡터값을 기초로 문서의 대표 감정정보 및 각 문서간의 유사도가 산출될 수 있다.
한편, 제1 문서의 감정 벡터값을 통해 기존 문서(제2 문서)와의 유사도가 판단되고, 이를 기초로 환자의 진술서를 이용한 정신 감정, 유사 자료의 보관 및 활용 등에 이용될 수 있다.
이하, 도 2 및 도 3은 상술된 6가지의 감정종류를 나타내는 축에 대한 감정 벡터를 도시한 것이다.
즉, 도 2에 도시된 바와 같이, 6가지의 감정종류를 나타내는 축상에서, EQ(302)=0.2+0.0+0.0+0.0+0.0+0.0이고, ED1(304)=0.6+0.4+0.1+0.0+0.0+0.0이고, ED2(306)=0.2+0.0+0.8+0.0+0.0+0.0 이라고 가정하면, 각각의 감정 벡터는 도 3과 같이 도시될 수 있다. 그리고, 상기 수식 3을 이용한 문서간의 유사도를 감정 벡터 사이의 각도에 대한 코사인 값으로 계산하면, S(EQ, ED1)=0.82, S(EQ, ED2)=0.24로, 제1 문서(EQ)(302)는 제2 문서(ED1)(304)와 유사한 문서로 분류될 수 있다. 또한, 수식 4를 적용하면, D(ED1 , EQ)=0.57, D(ED2 , EQ)=0.8과 같은 결과가 나오며, 결과 값이 클수록 벡터간의 거리가 먼 것으로 해석되므로, EQ와 ED1간 벡터의 거리가 EQ와 ED2간 벡터의 거리에 비해 더 가까운 것으로 해석될 수 있다. 따라서, 수식 3을 적용한 결과와 동일하게 된다.
문서 생성부(160)는 텍스트 문자의 감정정보를 메타데이터로 표현한 (감정) 문서를 생성한다. 따라서, 사용자는 문서의 대표 감정정보를 알 수 있으며, 이를 응용하여 아바타를 이용한 가상 화상 교육, 이메일 서비스, 휴대폰 문자 서비스 등의 다양한 분야에 인간의 감정을 표현한 다차원적인 서비스를 제공할 수 있게 된다. 상기 메타데이터는 HTML(HyperText Markup Language) 태그, 또는 XML(eXtensible Markup Language) 태그 등으로 다양하게 구성될 수 있으며, 문서의 감정종류, 감정 정도, 대표 감정정보 등에 대한 정보를 포함할 수 있다. 이하, 표 4는 XML 기반의 ERML(Emotion Representation Markup Language)에서 정의한 태그 및 속성 종류를 나타낸다.
태그 종류 |
태그 설명 |
속성 종류 |
속성값 종류 |
속성 설명 |
<ERML> |
루트 태그 |
|
|
|
<emotion> |
감정 태그 |
type |
joy |
기쁨 |
sadness |
슬픔 |
surprise |
놀람 |
fear |
공포 |
hatred |
혐오 |
anger |
분노 |
<dimension> |
감정 정도 범위 |
|
|
|
<strong> |
강함 |
degree |
0에서 1사이의 값 |
감정의 정도에 대한 수치값 |
<moderate> |
보통 |
<weak> |
약함 |
<content> |
문장의 내용 |
|
|
|
[표 4]
또한, 도 4는 ERML 태그를 이용한 메타 데이터형식으로 표현된 감정 문서의 예를 나타낸다. 도 4에 도시된 바와 같이, 메타 데이터형식으로 문서(또는 특정 문장)의 감정 정보(402a) 및 가중치(402b)가 나타날 수 있다.
감정용어 저장부(170)는 바람직하게는 한국어 감정용어 분류 기준에 따른 감정용어들을 감정 정도에 따라 저장한다. 또한, 감정용어 저장부(170)는 감정정보를 메타데이터로 표현한 문서 및 비교 대상 문서(제2 문서)를 저장할 수 있다.
도 5는 본 발명의 일 실시예에 따른 감정정보 추출 방법의 순서도이다.
먼저, 형태소 분석부(120)가 텍스트 문자에서 형태소를 추출한다(S401).
감정용어 추출부(130)는 문서내 텍스트 문자의 형태소에서 감정용어를 추출하여 소정 기준에 따라 분류한다(S411). 감정종류 및 감정 정도에 따른 감정용어에 대한 분류 기준은 도 1 및 도 2를 참조하기 바란다.
그리고, 가중치 조정부(140)는 감정용어가 속한 감정종류 및 감정 정도에 따라 가중치를 계산하여 상기 문서의 감정정보를 추출한다(S421). 여기서, 상술된 수식 1이 이용될 수 있으며, 본 단계(S421)를 통해 문서의 감정정보에 대한 감정벡터가 산출될 수 있다.
다음으로, 유사도 산정부(150)는 상기 문서에 대한 감정정보를 기초로 대상 문서와의 유사도를 산출한다(S431). 여기서, 상술된 수식 3 또는 수식 4가 이용될 수 있으며, 본 단계(S431)를 통해 감정정보가 유사한 종류대로 문서가 분류될 수 있다. 여기서, 문서를 대표하는 대표 감정정보가 이용될 수 있다.
이후, 문서 생성부(160)는 문서의 감정정보를 메타데이터로 생성할 수 있으며, 감정용어 저장부(170)를 통해 메타데이터로 생성된 문서를 저장할 수 있다.
도 1에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.