首页 / 专利库 / 人工智能 / 情感识别 / 자연어 기반 감정인식, 감정표현 시스템 및 그 방법

자연어 기반 감정인식, 감정표현 시스템 및 그 방법

阅读:413发布:2021-01-02

专利汇可以提供자연어 기반 감정인식, 감정표현 시스템 및 그 방법专利检索,专利查询,专利分析的服务。并且PURPOSE: A system and method for expressing emotion based on a natural language are provided to analyze a person's emotion included in a natural language conversation sentence input by the person and generate emotion and conversation of a virtual character for the analyzed emotion. CONSTITUTION: A system for expressing emotion based on a natural language includes a conversation input unit(100) for providing a chatting function by which a person and a virtual character transmit their thoughts to each other, an emotion recognizing unit(200) for recognizing the person's emotion from a conversation sentence represented by a natural language text input by the person, and an emotion generating unit(300) for generating emotion of the virtual character for the person's emotion recognized by the emotion recognizing unit. The system further includes a conversation generating unit(500) for generating a conversation of the virtual character for the person's emotion and the virtual character's emotion from the conversation sentence input through the conversation input unit, an emotion expressing unit(400) for expressing the virtual character's emotion as an image of the virtual character, and a conversation output unit(600) for expressing the conversation of the virtual character to the person.,下面是자연어 기반 감정인식, 감정표현 시스템 및 그 방법专利的具体信息内容。

  • 자연어 기반 감정인식, 감정표현 시스템에 있어서,
    인간과 가상 인격체간의 의사전달이 가능한 채팅기능을 제공하는 대화 입력수단;
    인간이 입력한 자연어 텍스트로 표현된 대화문장으로부터 인간의 감정을 인식하게 하는 감정인식 수단;
    상기 감정인식 수단으로부터 알아낸 인간의 감정에 대한 가상인격체의 감정을 생성해내는 감정생성 수단;
    상기 대화입력수단으로 입력된 대화문장으로부터, 상기 감정인식 수단으로부터 알아낸 인간의 감정과 상기 감정생성 수단으로부터 알아낸 가상인격체의 감정에 대한 가상인격체의 대화를 생성해내는 대화생성 수단;
    상기 감정생성 수단에 의해서 생성된 가상인격체의 감정을 가상인격체의 영상이미지로 표현하는 감정표현 수단;
    상기 대화생성 수단으로부터 가상인격체의 대화를 인간에게 표현하는 대화출력 수단을 포함하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 대화입력 수단은, 인간과 가상인격체 간의 의사전달이 가능한 채팅기능을 제공하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 감정인식 수단은, 인간이 입력한 자연어 텍스트로 표현된 대화문장으로부터 이모티콘 분석, 화행분석, 의미분석, 감정분석의 단계를 거친 후, 인간의 감정을 인식하게 하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 감정생성 수단은, 상기 감정인식 수단으로부터 알아낸 인간의 감정에 대한 가상인격체의 감정을 생성해내는 것으로, 가상인격체의 감정이 반영된 감정대응사전으로부터 감정을 선택 하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 감정표현 수단은, 상기 감정생성 수단에 의해서 생성된 가상인격체의 감정을 가상인격체의 영상이미지로 표현하는 것으로, 영상 데이타베이스에서 감정을 나타내는 에니메이션 영상을 불러와서 표현하게 하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 대화생성 수단은, 상기 대화입력 수단으로 입력된 대화문장으로부터, 상기 감정인식 수단으로부터 알아낸 인간의 감정과 상기 감정생성 수단으로부터 알아낸 가상인격체의 감정에 대한 가상인격체의 대화를 생성해내는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 1항에 있어서,
    상기 대화출력 수단은 상기 대화생성 수단으로부터 가상인격체의 대화를 자연어 텍스트 출력과 함께 음성으로 대화를 표현하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단은, 이모티콘 판단부, 이모티콘 분석부, 화행분석부, 의미분석부, 감정분석부, 이모티콘 사전으로 구성된 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 이모티콘 분석부는, 이모티콘사전에 저장되어 있는 이모티콘 정보를 이용해서 감정을 판단하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 화행분석부는, 각 화행마다 그 화행분류에 화자의 의도와 화맥을 고려하고 그 화행에 내재되어 있는 감정을 고려하여 감정을 부여하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 의미분석부는, 동사 격틀사전과 명사 의미사전을 이용하여 격관계를 분석하고, 동사 격틀사전과 명사 의미사전을 이용해도 분석되지 않는 격관계는 확률분석을 이용하여 분석하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 감정분석부는,
    3차원 감정공간상의 벡터 정보가 저장되어 있는 감정명사사전와 감정용언사전을 이용하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 12 항에 있어서,
    상기 감정명사사전와 감정용언사전의 저장 형식은,
    [감정명사와 감정용언의 기본형] : [감정명사와 감정용언의 어간](품사범주) {감정명사와 감정용언의 3차원 벡터값} / [감정명사와 감정용언의 상위감정]의 형태로 표시하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 감정분석부는, 각성(Arousal)축, 유발성(Valence)축, 및 스탠스(Stance)축으로 이루어진 3차원 감정공간에, 감정을 나타내는 단어와 지배 감정을 퍼지벡터로 표시하여 감정을 분석하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 감정분석부는, 상기 입력대화문장에 포함되어 있는 정도 부사어에 소정의 가중치를 부여하여 감정을 분석하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 감정분석부는, 상기 입력대화문장에 포함되어 있는, 신체부위나 생리적 상태를 이용한 은유적 감정 표현 문장을 이용하여 감정을 분석하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 3항에 있어서,
    상기 감정인식 수단의 감정분석부는, 상기 입력대화문장에 숙어적이거나 관용적인 표현이 쓰여 감정을 나타낼 경우의 감정파악은 상기 숙어적이거나 관용적인 표현정보를 저장한 패턴 DB를 이용하여 감정을 파악하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단은, 대화분석부, 핵심키워드선택부, 응답화행 패턴사전, 응답화행생성부, 화행판단부, 핵심키워드 감정단어 판단부, 응답문장 생성부, 응답문장 패턴사전, 육하원칙 답변부, 의미시소러스 처리부, 육하원칙 응답문장 패턴사전, 시소러스 응답문장 패턴사전으로 이루어진 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 대화분석부는, 상기 대화입력장치를 통해서 들어온 대화입력문장의 유형을 분석하기 위해서, 상기 대화입력문장으로부터 육하원칙 구성성분을 추출하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 핵심키워드 선택부는, 상기 대화입력장치을 통해서 들어온 대화입력문장에서부터 가장 핵심적인 어휘를 선택하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 응답화행 생성부는, 상기 입력대화문장의 화행에 대한 가상인격체가 대답할 수 있는 대화문장을 응답화행 패턴사전을 통하여 생성하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 응답문장 생성부는, 상기 응답문장 패턴사전을 이용하여, 상기 핵심키워드에 맞는 응답 대화문장을 생성하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 의미시소러스 처리부는, 시소러스 응답문장 패턴사전을 이용하여 입력문장과 유사한 문장으로 응답대화문장을 생성하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 제 6항에 있어서,
    상기 대화생성 수단의 육하원칙 답변부는, 육하원칙 응답문장 패턴사전을 이용하여 입력문장의 육하원칙 구성요소 중 빠진 부분을 상기시키거나 되묻는 응답대화문장을 생성하는 것을 특징으로 하는 자연어 기반 감정인식, 감정표현 시스템.
  • 说明书全文

    자연어 기반 감정인식, 감정표현 시스템 및 그 방법{ Natural Language Based Emotion Recognition , Emotion Expression System and its Method }

    본 발명은 자연어 기반 감정인식, 감정표현 시스템에 관한 것으로서, 더욱 상세하게는 인간과 가상 인격체간에 대화를 진행할 때, 인간이 입력한 대화문장으로부터 인간의 감정을 인식하고, 상기 인식된 인간의 감정에 대한 가상인격체의 감정과 대화를 생성하여 가상인격체의 얼굴로 감정을 표현하고 음성이나 자연어 텍스트로 대화를 표현하는, 자연어 기반 감정인식, 감정표현 시스템 및 그 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.

    인간은 오랫동안 기계에다 인간의 감정과 정신, 그리고 능력을 실현시키는 세상을 꿈꿔왔다. 인간과 동일하거나 더 뛰어난 지능을 소유하면서 인간 대신 힘든 일을 하고, 인간의 삶을 윤택하게 해 줄 가상인격체는 아마 멀지 않은 미래에 실현될 것이다.

    본 발명에서는 아바타나 캐릭터, 로보트 등으로 실현될 인간과 동일한 지능을 가진 가상인격체를 구현하는 선행연구로서, 먼저 인간의 자연어 입력문장 등으로부터 감정을 인식하고, 이 결과를 이용해서 인간의 감정과 대응되는 가상인격체의 감정과 대화를 생성시키며, 이렇게 생성된 가상인격체의 감정을 2D나 3D 그래픽화면으로 표현하며, 가상인격체의 대화는 음성합성기술을 이용하여 실시간 구현하여 보다 지능적이고 인간적인 가상인격체를 구현하는데 초점을 두고 있다.

    그러나, 인간의 자연어 입력 문장을 통하여 기계적으로 컴퓨터가 인간이 가상인격체에게 전달하고 싶은 감정을 분석하고, 인간의 감정에 대한 가상인격체의 감정을 생성하고, 대화까지 할 수 있게 한다는 것은 정말 난해한 문제이다.

    그리고, 자연어 문장으로부터 인간의 감정을 분석하고, 인간의 감정에 대한 가상인격체의 대응감정을 추론하면서, 가상인격체로 하여금 인간의 대화입력에 대해서 감정에 기반을 둔 대화를 생성하는 연구는 아직 없다.

    다만, 가상인격체의 하나인 아바타를 이용해서 감정을 표현하는 종래의 기술에는 공개특허 제01-25161호(2001. 04. 06), 공개특허 제02-42248호(2002. 06. 05)와 공개특허 제01-34987호(2001. 05. 07)가 있다.

    공개특허 제01-25161호(2001. 04. 06)는 감정처리가 가능한 아바타를 구현하기 위해서 감정 처리 데이터에 기반한 자연언어를 해석하고, 그 패턴을 분석하여, 표정 및 립싱크 데이터를 조합한 후, 실시간 렌더링을 수행하여 아바타를 디스플레이하고 있다. 그러나 어떠한 방법에 의해서 감정처리 데이터를 기반으로 자연언어를 해석하였는지, 그리고 어떻게 자연언어의 패턴을 분석하는지 분명히 설명하지 못하고 있으며, 또한 자연언어를 해석하고 자연언어의 패턴을 분석한 후, 어떤 식으로 표정 및 립싱크 데이터를 조합할 것인가에 대한 설명도 미흡하다는 문제점이 있다.

    한편, 공개특허 제02-42248호(2002. 06. 05)는 샘플문장마다 감정코드를 부여하고 새롭게 입력되는 문장의 감정을 계산하기 위해서 이전에 샘플문장과 얼마나 유사한지를 확률로 계산하여 새롭게 입력되는 문장의 감정을 계산하는 방법을 제안하였고 있는데, 다음과 같은 문제점이 있다.

    첫째, 단순히 어절분석 레벨에서 확률을 이용한 것으로서, 감정단어와 화행간의 관계, 감정단어와 감정을 느끼는 심리적인 주체인 경험주 (Experiencer)와의관계를 어떻게 분석할 것인가에 대한 언급 없이, 문장에 나타난 어절만으로 그 문장이 나타내는 감정을 분석하는 것은 상식적으로 생각할 수 없다는 문제점이 있다.

    둘째, 자연어로 구성될 수 있는 문장조합이 무한대이므로 샘플문장마다 감정을 부여하는 것이 불가능하고, 수백 개에서 수천 개의 샘플문장에 감정을 부여했다 하더라도, 입력으로 들어오는 문장이 샘플문장과 유사하지 않으면 의미적으로는 같은 감정이지만 다른 감정이 할당되거나 아예 감정이 부여되지 않는 오류가 발생할 수 있다는 문제점이 있다.

    셋째, 자연어 처리에서 형태소분석을 하는 이유는 유사도 계산이나 확률 계산시 단어의 원형을 유추함으로써, 계산 빈도를 줄여주고, 단어의미 애매성을 줄이기 위해서 이용되는데, 공개특허 제02-42248호(2002. 06. 05)는 형태소분석을 하지 않고, 어절 단위로 문장을 분리해서 확률계산에 이용하는 바, 정통적인 자연어처리 기술에 역행하면서, 많은 시스템메모리 소모와 계산속도 지연을 유발하게 된다는 문제점이 있다.

    넷째, 가장 치명적인 문제점은 텍스트의 입력내용을 의미적으로 분석하지 않고 단순하게 입력문장에 포함되는 어절의 확률정보만 이용하여 감정을 계산하기 때문에 다음과 같은 중대한 결함을 안고 있다는 것이다.

    예를 들면, 화자와 청자의 쌍방대화시 화자의 입력문장이 '너, 어제 영화가 재미있었니?'일 경우, 상기 방법을 따르면, 감정을 표현하는 어절인 '재미있었니'에 해당하는 확률값에 의해서 캐릭터가 '재미' 라는 감정을 표현해야 하므로, 화자의 캐릭터가 웃는 표정이나 동작을 하게 된다. 이러한 결과는 화자가 청자에게 '너, 어제 영화가 재미있었니?'라고 질문하면서 화자가 소유한 캐릭터의 표정이나 행동이 화자의 입력내용과 전혀 상관없는 태도를 보여준다.

    즉, 감정을 느끼는 경험주가 누구인지도 분석하지 않고, 입력문장의 어절만 보고 감정을 부여하면, 그 감정이 누구의 감정을 표현하는 것인지 모르게 된다는 것이다. 이러한, 예는 동작분석적인 측면에서도 똑 같이 적용될 수 있는데, '아, 졸려'라고 한다면, 화자의 캐릭터가 조는 행동을 취하지만, '너, 졸리니?, 너 지금 졸고 있네.'라고 해도 화자의 캐릭터가 조는 행동을 취하게 되는 심각한 오류가 발생한다. 따라서, 인간의 감정분석은 의미분석 레벨에까지 심층적으로 분석하지 않으면, 거의 제대로 된 감정을 분석할 수 없게 된다.

    또한, 공개특허 제01-34987호(2001. 05. 07)는 전자우편(E-mail)의 송수신 또는 대화(Chatting)를 함에 있어서, 문자와 연동하여 움직이는 캐릭터를 이용하여 문자와 더불어 동적캐릭터를 송수신하여 수신자가 문자를 읽는 동안 캐릭터가 그 문자 또는 문단의 의미에 맞추어 움직이게 하거나, 양방향 대화시 입력하는 문자 또는 문단의 의미에 따라 캐릭터를 움직이게 하는 방법에 관한 것이다. 이 방법의 핵심적인 내용은 텍스트의 입력내용 중 감정을 표현하는 문자를 분류하여 군(群)으로 나누고, 각 군에 연동하는 캐릭터의 표정, 행동들을 생성하여 데이터베이스화하여, 각 문자가 속하는 군 별로 캐릭터가 움직이게 하는 것이다.

    그러나, 이 방법의 핵심적인 내용에서 텍스트의 입력내용 중 감정을 표현하는 문자를 분류하여 군(群)으로 나누는 부분은 인간의 감정을 나타내는 단어는 천차만별하고, 그 정도도 다양한데, 하나의 문자가 어느 감정에 속하는지 틀을 정해서 이것을 모두 일괄적으로 군으로 나눈다는 것은 많은 문제점을 가지고 있고, 또한 하나의 문장에서 감정을 나타내는 단어가 여러 개 있을 경우, 어느 감정을 우선해서 선택할지도 모호하게 된다는 문제점이 있다.

    또한, 공개특허 제01-34987호(2001. 05. 07)가 내포하고 있는 문제는 텍스트의 입력내용을 의미적으로 분석하지 않고 단순하게 입력내용에 포함되는 어떤 문자에 해당하는 캐릭터의 표정, 행동을 생성하는 것으로서 다음과 같은 중대한 문제점을 안고 있다.

    예를 들면, 감정분석적인 측면에서, 화자와 청자의 쌍방대화시 화자의 입력내용이 '어제 영화가 재미있었니?'일 경우, 상기 방법을 따르면, 감정을 표현하는 단어인 '재미'에 해당하는 캐릭터의 감정이 생성되므로, 화자의 캐릭터가 웃는 표정이나 동작을 하게 된다. 이러한 결과는 화자가 청자에게 '어제 영화가 재미있었니?'라고 질문하면서 화자가 소유한 캐릭터의 표정이나 행동이 화자의 입력내용과 전혀 상관없는 태도를 보여준다.

    또한, 동작분석적인 측면에서, 화자와 청자의 쌍방대화시 화자의 입력내용이 '너는 어제 어디 갔었니?'일 경우, 상기방법을 따르면, 동작을 표현하는 단어인 '가다'에 해당하는 캐릭터의 동작이 생성되므로, 화자의 캐릭터가 걷고 있는 동작을 하게 된다. 그러나 입력내용인 '너는 어제 어디 갔었니?'는 청자가 어제 한 행동을 묻는 것이므로 화자의 캐릭터가 동작을 표현하는 것은 입력문장의 의미를 제대로 분석하지 않고 문자만 보고 패턴 매칭하였기 때문이다.

    또한, 공개특허 제01-34987호(2001. 05. 07)가 제안하고 있는 방법론에 따르면 하나의 문장에서 주어가 두개 오는 이중주격 문장에서는 동작이나 감정의 주체를 구분할 수 없는 단점이 있다.

    또한, 인간이 문자를 이용해서 양방향 대화시 단순히 그때, 그때 입력되는 문장에서 감정을 표현하는 문자만 추출하여 데이터 베이스화 되어 있는 캐릭터의 표정을 출력하기 때문에, 직접 감정을 표현하는 문자가 아닌 인간의 신체 부위나 생리적인 상태를 이용해서 은유적으로 표현할 때는 감정을 추출하지 못한다는 문제점이 있는데, 이것으로 말미암아, 공개특허 제01-34987호(2001. 05. 07)는 내부적으로 치명적인 문제점을 포함하고 있다는 것을 알 수 있다.

    본 발명은, 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 인간이 입력하는 자연어 입력 대화문장에 내포되어 있는 인간의 감정을 분석하고, 그 분석된 감정에 대한 가상인격체의 감정과 대화를 생성하는, 자연어 기반 감정인식, 감정표현 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.

    도 1은 본 발명에 따른 자연어 기반 감정인식, 감정표현 시스템 및 그 방법에 대한 일실시예 설명도.

    도 2는 본 발명에 따른 도 1의 감정인식장치의 일실시예 구성도.

    도 3는 본 발명에 따른 도 2의 감정인식장치의 감정분석부에서 효과적인 감정분석을 위한 3차원 감정공간에 대한 예시도.

    도 4은 본 발명에 따른 도 1의 감정생성장치의 일실시예 구성도.

    도 5은 본 발명에 따른 도 1의 대화생성장치의 일실시예 구성도.

    * 도면의 주요부분의 부호 설명

    100: 대화입력장치 200: 감정인식장치

    300: 감정생성장치 400: 감정표현장치

    500: 대화생성장치 600: 대화출력장치

    본 발명은, 상기와 같은 문제점을 해결하기 위하여 제안된 것으로, 자연어 기반 감정인식, 감정표현 시스템에 있어서, 인간과 가상 인격체간의 의사전달이 가능한 채팅기능을 제공하는 대화 입력수단; 인간이 입력한 자연어 텍스트로 표현된대화문장으로부터 인간의 감정을 인식하게 하는 감정인식 수단; 상기 감정인식 수단으로부터 알아낸 인간의 감정에 대한 가상인격체의 감정을 생성해내는 감정생성 수단; 상기 대화입력수단으로 입력된 대화문장으로부터, 상기 감정인식 수단으로부터 알아낸 인간의 감정과 상기 감정생성 수단으로부터 알아낸 가상인격체의 감정에 대한 가상인격체의 대화를 생성해내는 대화생성 수단; 상기 감정생성 수단에 의해서 생성된 가상인격체의 감정을 가상인격체의 영상이미지로 표현하는 감정표현 수단; 상기 대화생성 수단으로부터 가상인격체의 대화를 인간에게 표현하는 대화출력 수단을 포함한다.

    본 발명은 모든 감정 분석단계에서는 감정을 분석하기 위해서 공간감정을 제안하고 감정을 나타내는 단어를 퍼지벡터로 표시한다. 본 발명은 인간의 자연어 문장 입력에 대해서, 그 문장 속에 내포된 인간의 감정을 분석하고, 분석된 감정을 바탕으로, 가상인격체의 대응감정과 대화를 생성하여, 가상인격체의 자연스러운 감정표현과 함께, 음성과 자연어 텍스트 출력으로 완벽하게 구현할 수 있는 방법을 제공한다. 이러한 본 발명을 달성하기 위해서는 다음과 같은 과제가 선행적으로 해결되어야 한다.

    첫번째, 공개특허 제01-34987호의 핵심적인 내용에서 텍스트의 입력내용 중 감정을 표현하는 문자를 분류하여 군(群)으로 나누는 부분은 인간의 감정을 나타내는 단어는 천차만별하고, 그 정도에 있어서 다양한데, 입력된 문장에 내포된 단어가 어느 감정에 속하는지 틀을 정해서 이것을 모두 일괄적으로 군을 나눈다는 것은 많은 문제점을 가지고 있고, 또한 하나의 문장에서 감정을 나타내는 단어가 여러개 있을 경우, 어느 감정을 우선해서 선택할지도 모호하게 된다는 문제점이 있다.

    이러한 문제를 해결하기 위해서 본 발명은 3차원 감정공간 상에 감정을 나타내는 단어를 위치시키는 방법을 제공하며, 이들 감정단어와 지배감정단어의 벡터거리를 구하여 가장 가까운 인접 지배감정단어에 귀속하게 한다.

    두번째, 감정의 강도를 분석해야 한다. 감정의 강도가 세다는 말은 긍정적인 감정일 경우, 적극적인 제스처나 동작으로 표현될 것이고, 부정적인 감정일 때, 감정의 강도가 세다는 말은 그 감정유형에 따라 제스처나 동작이 거칠게 표현되거나 소극적으로 표현되어야 한다.

    세번째, 하나의 문장에서 주어가 두개 오는 이중주격 문장에서는 동작이나 감정의 주체를 구분할 수 없는 단점이 있기 때문에 의미분석해서 행위주(Agent), 경험주(Experience), 대상(Theme) 등의 의미관계를 파악해야 한다.

    네번째, 인간은 감정을 직접적으로 표현하기 보다는 신체부위나 생리적인 상태를 이용해서 은유적으로 감정표현하기 때문에 인간의 신체 부위나 생리적인 상태를 어떻게 감정표현에 이용하는가에 대한 연구가 선행되어야 효과적인 해결책을 제시할 수 있다.

    다섯번째, 인간이 감정을 표현할 때는 직접적인 감정단어를 이용해서 감정을 표현하기 보다는 여러 가지 다양한 문장유형을 이용해서 표현하기도 한다. 즉, '기분이 나쁘다', '기가 막히다', '시험에 떨어졌어' 등과 같은 유형의 문장으로 표현하게 되는데, 이러한 감정을 나타내는 문장유형들에 대한 패턴 사전을 구축하여야 한다.

    이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.

    도 1 은 본 발명에 따른 자연어 기반 감정인식, 감정표현 시스템 및 그 방법에 대한 일실시예 설명도이다.

    본 발명은, 입력데이터의 유형에 따라 처리 과정이 다음과 같이 다르다.

    먼저, 대화입력장치(100)는 인간과 가상인격체 간의 의사전달이 가능한 채팅기능을 제공하는 역할을 수행한다. 여기서, 인간은 가상인격체와 대화를 나눌 때, 자연어 텍스트를 입력하여 가상인격체와 대화를 진행하게 된다.

    한편, 감정인식장치(200)는 인간이 입력한 자연어 텍스트로 표현된 대화문장으로부터 인간의 감정을 인식하게 하는 것으로써, 대화 문장에 포함된 감정은 내부적으로 이모티콘 분석, 화행분석, 의미분석, 감정분석의 단계를 거친 후, 최종적으로 입력된 대화문장의 감정을 평가한다.

    감정생성장치(300)는 상기 감정인식장치(200)로부터 알아낸 인간의 감정에 대한 가상인격체의 감정을 생성해내는 것으로, 가상인격체의 감정이 반영된 감정대응사전으로부터 감정을 선택하게 된다.

    감정표현장치(400)는 상기 감정생성장치(300)에 의해서 생성된 가상인격체의 감정을 가상인격체의 영상이미지로 표현하는 것으로, 영상데이타베이스에서 감정을 나타내는 에니메이션 영상을 불러와서 표현하게 된다.

    대화생성장치(500)는 상기 대화입력장치(100)로 입력된 대화문장으로부터, 상기 감정인식장치(200)로부터 알아낸 인간의 감정과 상기 감정생성장치(300)로부터 알아낸 가상인격체의 감정에 대한 가상인격체의 대화를 생성해내는 역할을 한다.

    대화출력장치(600)는 상기 대화생성장치(500)로부터 가상인격체의 대화를 인간에게 표현하는 역할을 하는데, 이때, 자연어 텍스트 출력과 함께 음성으로 대화를 표현한다.

    따라서, 본 발명은 인간과 가상 인격체간에 대화를 진행할 때, 인간이 입력한 대화문장으로부터 인간의 감정을 인식하고, 상기 인식된 인간의 감정에 대한 가상인격체의 감정과 대화를 생성하여 가상인격체의 얼굴로 감정을 표현하고 음성이나 자연어 텍스트로 대화를 표현하게 된다.

    이하, 도 1에서 설명한 자연어 기반 감정인식, 감정표현 시스템의 각 구성요소를 기준으로 설명하기로 한다. 즉, 대화입력장치(100), 감정인식장치(200), 감정생성장치(300), 감정표현장치(400), 대화생성장치(500), 대화출력장치(600)등에 대하여 순서대로 설명하면서 관련도면은 함께 설명하기로 한다.

    < 대화입력장치(100) >

    대화입력장치(100)는 인간과 가상인격체 간의 의사전달이 가능한 채팅기능을 제공하는 역할을 수행하면서 인간이 입력한 자연어 텍스트로 된 대화문장을 감정인식장치(200)로 전달한다. 또한, 가상인격체가 적당한 응답대화를 생성하기 위해서 자연어 텍스트로 된 대화문장을 대화생성장치(500)로 전달한다.

    < 감정인식장치(200) >

    도 2는 본 발명에 따른 도 1의 감정인식장치의 일실시예 구성도이다.

    감정인식장치(200)는 인간이 입력한 자연어 텍스트로 표현된 대화문장으로부터 인간의 감정을 인식하게 하는 것으로써, 이모티콘 판단부(220), 이모티콘 분석부(230), 화행분석부(250), 의미분석부(260), 감정분석부(240), 이모티콘 사전(270)로 이루어져 있다.

    이모티콘 판단부(220)는 인간이 입력한 대화문장에 이모티콘이 포함되어 있는지 판단하는 부분으로써, 이모티콘사전(270)에 저장되어 있는 이모티콘 정보를 이용해서 판단한다. 이때, 대화문자에서 이모티콘이 발견되면, 상기 발견된 이모티콘의 속하는 감정을 이모티콘분석부(230)에서 분석하고, 감정분석부(240)로 분석된 결과를 전달한다.

    화행분석부(250)는 문서요약기법에 의해 중요문장으로 추출된 문장 또는 문서요약기법이 필요 없는 순수한 자연어 문장 등을 입력으로 받아들여 화행분석을 하여 감정을 분석한다.

    본 발명에서 입력으로 들어오는 자연어 문장에서 감정과 동작을 추출하기 위해서는 자연어 문장이 암시하는 목적이나 의도를 알아내야 한다. 따라서, 본 발명에서는 입력되는 자연어 문장에서 감정과 동작을 분석하기 위한 실례로서, 입력으로 들어오는 자연어 문장을 대화체 문장으로 간주하고 분석하도록 한다.

    먼저, 본 발명에서 화행이란 화자에 의해 의도되어 발화 속에 포함된 행위를 말하고, 대화를 처리한다는 것은 지금까지의 화자와 청자사이에 오고 간 대화상황들을 올바르게 분석하여 이에 대한 적절한 응답을 하는 것으로서, 이때 발화의 화행을 알아내는 일은 대화분석의 기본이라고 할 수 있다.

    화행분석부(250)는 문서요약기법에 의해 중요문장으로 추출된 문장 또는 문서요약기법이 필요 없는 순수한 자연어 문장 등을 입력으로 받아들여 화행분석을 하여 감정을 분석한다.

    본 발명에서 입력으로 들어오는 자연어 문장에서 감정과 동작을 추출하기 위해서는 자연어 문장이 암시하는 목적이나 의도를 알아내야 한다. 따라서, 본 발명에서는 입력되는 자연어 문장에서 감정과 동작을 분석하기 위한 실례로서, 입력으로 들어오는 자연어 문장을 대화체 문장으로 간주하고 분석하도록 한다.

    먼저, 본 발명에서 화행이란 화자에 의해 의도되어 발화 속에 포함된 행위를 말하고, 대화를 처리한다는 것은 지금까지의 화자와 청자사이에 오고 간 대화 상황들을 올바르게 분석하여 이에 대한 적절한 응답을 하는 것으로서, 이때 발화의 화행을 알아내는 일은 대화분석의 기본이라고 할 수 있다.

    화행에는 요청(Request), 제시(Suggest), 사과(Apologize), 거절(Reject), 제안(Propose) , 용의표시(Willing), 불평(Complain), 보장(License), 결심 (resolve), 감사(Thank), 언급(Tell), 주장(Claim), 의견개진(Opine), 관찰(Remark), 변명(Excuse), 정당화(Jestify), 옹호(Condone), 최소화 (Minimization), 동조(Sympathize), 인사(Greet) 등이 있는데, 실제대화 속에 발화의 의미 및 화맥 속에서의 발화의 위치, 담화 내적(Discourse internal)에 근거하여 화행을 분석한 일부 예제는 다음 (표 1)와 같다. 여기서, 담화내적은 담화의유지라는 목표를 위해서 화자들이 활용하는 화행을 뜻한다.

    요청(Request) : 식사하려 가시죠?제시(Suggest) : 영화 보는 게 좋겠네요.사과(Apologize) : 죄송합니다.거절(Reject) : 제가 개인적인 일로 바쁘기 때문에 어렵겠군요.토픽전환(Topic_shift) : 근데 저기수용(Accept) : 그렇게 하겠습니다.

    또한, 본 발명에서 화행은 언표내적 행위(Illocutionary Act)에 우선순위를 부여하는데, 대화상에 나타나는 자연언어의 실제 표현과 해당 언표내적 행위의 관계의 일부 예제는 (표 2)과 같고, 화행별 특성을 분석한 일부 예제는 (표 3)와 같다. (표 3) 에서 S는 화자(Speaker), H는 청자(Hearer), A는 액션(Action)을 나타낸다.

    화행은 각 화행마다 그 화행분류에 화자의 의도 및 화맥을 고려하고 그 화행에 내재되어 있는 감정을 고려하게 되면, 보다 종합적으로 발화의 의미를 알 수 있게 된다는 특징을 가진다.

    언표내적행위(Illocutionary Act) 대화상에 나타나는 실제 표현들
    Request_Act ~ 할 수 있어요?, ~ 주세요, ~ 줘, ~ 싶은데요, 궁금해.
    Apologize 미안해. 죄송합니다. 용서해줘. 한번만 봐줘. 사과할께. 시정하겠습니다.
    Gratitude 감사합니다. 고맙습니다, 고마워, 땡큐, Thank you

    Illocutionary Act Action Goal Content Condition Emotion
    Request Act S's wish H's belief S for H's A Good for S Anticipation
    Apologize S's wish H's belief S not for S's A(past) Bad for H Apologize
    Gratitude S's wish H's belief S for H's A(past) Good for S Joy

    다음으로는, 감정인식장치(200)의 의미분석부(260)를 설명한다.

    본 발명에서, 화행분석을 통하여 분석된 감정과는 별도로, 자연어 문장 내에 잠재하는 감정을 분석하기 위해서는 의미분석 과정을 거쳐야 한다.

    본 발명에서 의미분석은 감정을 느끼는 경혐주(Experiencer)와 감정동사, 감정명사의 관계를 명확히 설정하기에 앞서, 자연언어를 구문분석한 정보를 바탕으로 격구조(Case structure)를 이용한 의미분석을 행한다. 격구조 표현(Case structure representation)이란 입력 문장을 받아 구문요소들의 적당한 격들을 선택하여 이들의 구조를 분석하여 표현하는 방법으로서 격 구조 표현을 위해 정의한 격(의미역)은 다음과 같다.

    AGT(AGenT) 행위를 야기시키거나 행위의 주체
    THM(THeMe) 동작이나 과정의 영향을 입는 요소
    EXP(EXPeriencer) 감정이나 정서, 경험의 주체
    LOC(LOCation) 공간적 배경
    SOC(SOurCe) 동작의 시작점
    GOL(GOal) 도달지점

    본 발명에서 의미분석은 동사 격틀 사전과 명사 의미사전을 이용해서 격관계를 분석하고, 상기 방법을 이용해서 분석되지 못한 격관계는 확률분석에 의해서최종적으로 분석하는 것에 의하여 이루어진다.

    명사 의미사전은 모든 명사의 의미 자질들이 계층적으로 저장되어 있는 사전을 말하며, 동사 격틀 사전에서 동사는 각각 자신이 가질 수 있는 격들의 종류를 가지며, 각 격마다 자신을 채울 수 있는 명사의 의미자질(Semantic feature) 및 조사(Case marker)를 가지는데 일반적으로 다음과 같은 저장 형식을 가진다.

    [나가다] {

    (N1 <가>, (Human/Animal), AGT),

    (N2 <에서> (Location), From_LOC),

    (*N3 <에> (Location), To_LOC)

    }

    여기서, 동사 나가다는 AGT와 From_LOC을 필수격으로 가지고 To_LOC를 자유격으로 가진다는 것을 보여주고 있으며, AGT의 주격조사 '가'는 Human이나 Animal등의 의미자질을 가지는 명사 뒤에 붙어 쓰일 수 있고, From_LOC은 대표조사 '에서'가 Location의 의미자질을 가지는 명사 뒤에 쓰일 수 있다는 것을 나타낸다.

    본 발명에 사용되는 의미분석 알고리즘은 다음과 같다.

    (가). 동사 격틀 사전에서 주어진 입력 문장의 동사에 해당하는 격틀을 모두 가져온다.

    (나). 주어진 입력문장과 동사 격틀간의 조사를 비교해서 어절을 대응시킨다.

    (다). 대응된 어절마다 명사 부분의 의미자질을 비교해서 의미자질이 일치할 경우, 격틀 내에 보유하고 있는 이 어절의 격관계를 알아내어 의미분석 결과로 제시한다.

    (라). 대응하는 의미자질을 찾지 못하였을 경우, 지배소의 의미부류, 의존소의 의미부류, 지배소의 어휘와 지배소의 품사 정보를 이용하여 확률 분석하는데, 확률분석에 이용되는 확률모델식은 다음의 (수학식 1)과 같다. 여기서, R subject 는 주어의 의미역을 나타내고, R adverb 는 부사어의 의미역을 결정하기 위한 확률모델이다.

    여기서, dep 는 의존소의 의미부류, gov 는 지배소의 의미부류, govm 는 지배소의 형태소, govp 는 지배소의 품사를 말하고, (수학식 1)과 (수학식 2)에 적용되는 확률은 자질조합이 출현한 빈도로 의미역과 자질조합이 함께 나타난 빈도로 나눈 (수학식 3)과 같은 방법으로 구한다.

    또한, 본 발명에서는 확률분석에서의 자료부족(Sparseness) 문제를 해결하기 위해 Bigram model을 이용한 Linear interpolation과 Backing-off models을 이용하는데, 이러한 방법론은 확률적으로 구체적인 자질을 이용해서 해결하지 못하는 경우, 일반적인 자질을 이용해서 확률값을 계산하는 방법을 사용하는 것으로서, 그 확률식은 다음의 (수학식 4)과 같다. 여기서, l의 범위는 0~1 사이이고 합은 1이 되도록 조정한다.

    이상과 같은 의미분석에 의해, 입력문장이 '나는 개를 좋아한다.'일 경우,전체 의미분석 결과에 대한 예제는 다음과 같다.

    SENSE {[LOVE] -> (EXP: I), (THM: DOG)}

    다음으로는, 감정인식장치(200)의 감정분석부(240)를 설명한다.

    인간의 감정은 동작이나 제스처를 통해서 표현하거나 언어로 감정을 나타낸다. 그러나 인간이 언어로 감정을 표현하는 방법은 '나는 지금 너무 부끄러워.'와 같이 부끄러운 감정을 직접 표현하는 방법과 '울화통이 터져'와 같이 추상적이고 심리적으로 감정을 표현하는 방법이 있다. 그리고, '나는 지금 몸 둘 바를 모르겠어'와 같이 숙어적이거나 관용적인 표현으로 감정을 표현하는 방법이 있다. 또한, '나는 지금 너무 부끄러워.'에서 '지금'은 현재의 감정을 나타내고, '나는 어제 너무 부끄러웠어.'는 과거의 감정을 나타내고, '나는 아마 부끄러워 할 거야'는 미래의 감정을 나타내고 있다. 그리고 '너무 부끄러워.', '조금 부끄러워.'와 같이 같은 부끄러운 감정도 감정의 정도가 수식하는 부사어의 종류에 따라 다름을 알 수 있다.

    이하, 인간의 감정을 분석하기 위해서 감정의 전달 유형에 따라 5가지 종류로 나누고, 각각에 대해서 효과적으로 감정을 분석할 수 있는 방법론을 제안한다.

    첫째로, '나는 지금 너무 부끄러워.'같은 직접적인 감정표현은 의미분석을 통해서 분석하고, 둘째로, '엄청', '너무', '조금' 등의 감정의 정도는 그 감정의 강도를 나타냄으로 감정의 강도를 계산하는 방법을 제안한다. 그리고, 셋째로, 감정을 추상적이고 심리적인 언어로 표현하는 경우는 심리기반 감정추론 시스템에 의해서 감정을 분석하도록 한다. 넷째로, 감정을 나타내는 단어가 주변단어와 감정관계가 있는가 없는가를 파악한다. 다섯째로, '몸 둘 바를 모르겠어', '시험에 떨어졌어'와 같이 숙어적이거나 관용적인 표현으로 감정을 표현할 때도 감정을 추론해야 한다.

    첫째로, 감정용언(감정동사와 감정형용사)과 감정명사를 이용해서 직접적으로 감정을 표출하는 경우에 대해서는, 의미분석 결과인 행위주, 대상, 경험주 등의 관계를 파악함으로써 알 수 있다.

    일반적으로 감정용언은 감정의 대상을 전제로 하는 대상 의존적인 경우와 그렇지 않은 경우로 나뉘는데, 감정용언 중 '노엽다, 고맙다, 부끄럽다, 자랑스럽다, 가엽다, 부럽다' 등은 대상 의존적인 경우가 된다. 이 감정용언들은 자극의 유무에 따라 분류되는데, 이를 나타내는 표지로는 '한테', '에 대해'가 쓰인다. 또한, 감정용언의 고유속성에 나타난 심리형상은 경험주와의 관계에 따라 '우월감, 만족, 열등감' 등의 감정을 파악할 수 있다.

    감정용언은 그 속성에 따라 셋으로 구분되는데, (유형 1)은 '행복하다', '기쁘다'와 같이 어떤 대상에 의해서가 아니더라도 스스로 느낄 수 있거나, 또는 그 느낌이 원인을 설명할 수 없을 경우가 있고, (유형 2)는 '사랑하다', '부럽다'와 같이 감정의 대상을 전제하는 대상 의존적인 경우가 있으며, 마지막으로 (유형 3)은 '노엽다','고맙다'처럼 대상에 의존적이면서도 그 대상한테 감정을 발생하는 자극이 있다고 보는 경우이다.

    본 발명에서는 감정용언은 감정벡터로 표시되고, 각각의 감정용언은 그 유형에 따라 감정용언의 의미역과 함께 그 용언이 취할 수 있는 감정을 함께 병행 기술하여 저장함을 원칙으로 한다. 따라서, 감정용언 (유형 1)은 경험주만 파악해서 감정 추출이 가능하고, (유형 2)와 (유형 3)은 경험주와 대상의 관계를 모두 고려해서 파악해야 한다.

    보다 상세하게 설명하면, 다음과 같다.

    (ㄱ), 나는 아버지가 고맙다, 부끄럽다.

    (ㄱ) 은 감정용언이 쓰인 문장으로서 감정동사나 심리동사는 이중주어구문을 많이 동반한다. 상기 문장을 구분분석 후, 단순히 주어 서술어 관계만 따지면 누가 누구에게 어떤 감정이 표현되는지 알 수 없는 관계이므로 의미분석을 통해야만 정확히 알 수 있다. 따라서, 구문분석 후, 의미분석을 통하여 경험주 '나'와 대상인 '아버지' 사이에는 '자극-감정 발생'의 상호관계가 이루어져 경험주 '나'의 심리적 감정은 대상인 '아버지'에 대해 고마움(부끄러움)을 느끼는 감정이라는 것을 파악할 수 있다.

    또한, 감정명사를 이용해서 감정을 표현 할 경우는 감정명사에 특정 어휘가 추가되어 감정을 표현하게 된다. 즉, '고독감을 느끼다', '외로움이 생기다'와 같이, 감정명사에 '느끼다, 생기다, 들다, 받다'등의 단어가 연속적으로 등장하여 쓰일 때에도 감정을 파악할 수 있어야 한다. 따라서, 이때에는 감정명사와 결합하여 감정명사의 감정을 표현할 수 있는 단어 DB를 보유함으로써 해결할 수 있다.

    둘째로, 인간이 어떤 감정을 표현할 때는 표현하는 감정의 정도를 언어적으로 나타내는데 이때, 보통 정도 부사어를 사용한다. 정도 부사어는 그 적용 대상이가장 넓으며 형용사를 비롯하여 관형사나 동태 부사어를 두루 수식할 수 있는데, 상태 서술이나 동태 수식의 정도를 한층 높이거나 낮추는 기능, 즉, 피수식어의 의미 효과를 한층 세차게 하거나 약하게 하는 기능을 보인다.

    정도 부사어가 쓰인 예문은 다음과 같다.

    (ㄱ) 그 옷이 너무 좋다.

    (ㄴ) 나는 그녀를 무척 사랑한다.

    (ㄷ) 부모님이 퍽 걱정하신다.

    (ㄹ) 머리가 좀 아프다.

    정도 부사어에 대하여 예를 들면, 다음과 같다.

    (a) 가장, 지극히, 극히, 최고로, 최대로

    (b) 아주, 심히, 매우, 대단히, 굉장히, 참, 몹시, 사뭇, 무척, 퍽, 자못

    (c) 유난히, 유달리, 워낙, 훨씬, 더욱, 더욱이, 더구나, 한층, 한결, 게다가.

    (d) 상당히, 꽤, 제법

    (e) 조금, 덜

    (f) 너무나, 너무, 하도

    앞의 정도부사어의 예에서 (a)의 보기들은 '맏높은 정도'를 나타내는 것으로서 그 강조성이 가장 높은 것이다. (b)의 것들은 최상에 가까울 만큼 그 정도를세차게 수식하는 효과를 보인다. (c)의 보기들은 '한층 더'라는 의미를 가지고 정도를 강하게 나타내는 것들이다. (d)의 보기들은 '생각한 것보다는 더'또는 '보통 보다는 더'라는 의미로 쓰이는 정도 부사어이고, (e)는 낮은 정도를 나타낸다. 그리고 (f)는 정도가 지나침을 나타내는 것들이다.

    본 발명에서는 정도부사어에 일정한 가중치를 부여하여 감정이나 동작의 강도(Intensity)를 측정하는데 이용한다. 아래 (표 4)는 정도부사어에 일정한 가중치를 부여한 표이고, 그 범위는 0~1 사이에 존재한다.

    정보 부사어(Intensifier) 강도(Intensity)
    (a), (f) 1.0
    (b) 0.8
    (c) 0.6
    (d) 0.4
    Default 0.2
    (e) 0.1

    셋째로, 심리기반 감정 추론은 인간이 감정을 언어적으로 간접 표현할 때, 신체 부위나 생리적인 상태를 이용해서 은유적으로 표현한다, 즉, 인간의 신체는 다양한 감정을 표현하는 주요 근원이 된다.

    먼저, 신체 부위를 범주화한 감정표현을 분석하기 위해서, 감정 표현에 관한 문장을 구문적인 관계에 의해서 두가지 경우로 나눌 수 있다. 즉, 제 1유형은 '주어(신체부위) + 서술어(감정 표현 자동사 및 형용사)', 제 2유형은 '목적어(신체부위) + 서술어(감정 표현 타동사)'의 두가지로 나눌 수 있는데, 제 1유형과 제 2유형을 분석하기 위해 입력문장을 구문분석하는 과정을 거치게 된다.

    신체부위별 생리적 반응양상에 따른 감정표현에 대하여 예를 들면, 다음의 (표 5)와 같다.

    신체부위 감정표현 유형 감정(Emotion)
    가슴 벅차다/부풀다/뿌듯하다/설레다 기쁨(Joy)
    *펴다 자부심(Pride)
    뭉클하다 감동(Impression)
    미어지다/쓰리다/찢어지다/*저미다 슬픔(Sorrow)
    간장이 끓어지다 슬픔(Sorrow)
    뒤집히다 화(Anger)
    떨리다/오그라들다/콩알만하다 두려움(Fear)
    마르다/*졸이다 긴장(Tession)

    여기서, "*저미다"에서 "*"표시는 상기 제2유형 문장에 해당한다.

    넷째로. 감정을 나타내는 단어는 주변단어와의 관계를 파악해야 한다. '아버지가 우셨다.'에서 동사 '울다'는 '새가 울었다.'에서도 쓸 수 있는데, '새가 울었다.'에서는 화자에게 어떤 감정을 유발하고 있는지 명확하지 않지만, '아버지가 우셨다.'에서는 화자의 감정에 영향을 미치고 있음을 알 수 있다. 따라서, 감정동사가 쓰인 문장에서는 다른 단어와의 감정관계를 규명해야 해야 하는데, 이러한 관계는 의미분석 후, 행위주와 감정관계가 있는 단어를 모은 감정관계 어휘사전을 통해서 해결한다.

    다섯째로, '몸 둘 바를 모르겠어(부끄러움)', '시험에 떨어졌어(슬픔)'과같이 입력대화문장에 숙어적이거나 관용적인 표현이 쓰여 감정을 나타낼 경우의 감정파악은 상기 숙어적이거나 관용적인 표현정보를 저장한 패턴 DB를 이용하여 감정을 파악한다.

    상기와 같이 입력문장으로부터 인간의 감정 전달 유형에 따라 감정을 분석한 뒤에, 추출된 감정을 3차원 벡터로 표현해서 3차원 감정공간에 매핑하고, 최종적으로 결정되는 지배감정은 상기 방법으로 계산된 3차원 공간상의 지배감정이 위치한 한점과 가장 가까운 곳에 위치하고 있는 감정을 지배감정에 할당함으로서 해결한다.

    도 3 은 본 발명에 따른 도 2 의 감정분석부에서의 효과적인 감정 분석을 위한 3차원 감정공간(Affect Space)에 대한 예시도로서, 각성(Arousal)축, 유발성(Valence)축, 및 스탠스(Stance)축으로 이루어진 3차원 공간상에 일부 감정을 배치한 것이다.

    3차원 감정공간의 한 축을 형성하는 각성(Arousal) 축은 의식의 상태가 높은지(High), 평온한지 (Neutral), 낮은지(Low)를 결정하는 축으로서 활성화 정도를 나타낸다. 유발성(Valence)축은 어떤 행위가 끌어당기는 힘이 적극적(Positive)인가, 소극적(Negative)인가, 중립적(Neutral)인가에 따라 결정되는 축을 나타내는데 예를 들면, 어떤 감정이 쾌한지 불쾌한지의 정도를 나타낸다. 스탠스(Stance)축은 정신적, 감정적 자세가 열려있는지(Open), 닫혀있는지(Close), 중립적인지 (Neutral)를 결정하는 축이다.

    감정사전(감정 명사사전과 감정용언사전)에 저장되어 있는 감정명사와 감정용언에 대한 벡터표현은 다음과 같다. 이때, 감정명사와 감정용언의 저장 형식은 "[감정명사와 감정용언의 기본형] : [감정명사와 감정용언의 어간](품사범주) {감정명사와 감정용언의 3차원 벡터값} / [감정명사와 감정용언의 지배감정]"의 형태로 구성되어 있다.

    감정의 3차원 벡터값의 범위는 실제 사람들이 느끼는 감정의 정도를 실험에 의해 구한 값으로서, 감정의 정도에 따라 -1 에서 1사이의 값을 가진다.

    [감정명사]

    감명 : 감명(CMCPA){0.00, 0.43, 0.53}/ 감명

    감회 : 감회(CMCN) {0.00, 0.22, 0.18} / 회상

    거부 : 거부(CMCPA) {0.19, -0.65, -0.40} / 거부

    [감정용언]

    연모하다 : 연모(CMCPA) {0.03, 0.16, 0.34} / 사랑

    열광하다 : 열광(CMCPA) {0.91, 0.53, 0.67} / 열광

    염려하다 : 염려(CMCPA) {-0.02, -0.44, -0.27} / 염려

    외롭다 : 외롭(YBHO) {-0.40, -0.58, -0.54} / 외로움

    우려하다 : 우려(CMCPA) {-0.04, -0.49, -0.21} / 걱정

    우습다 : 우습(YBHO) {0.15, -0.08, 0.29} / 웃음

    < 감정생성장치(300) >

    도 4은 본 발명에 따른 도 1의 감정생성장치의 일실시예 구성도이다.

    감정생성장치(300)는 상기 감정인식장치(200)로부터 알아낸 인간의 감정에 대한 가상인격체의 감정을 생성해내는 장치로써, 감정대응사전(320), 감정선택부(330), 가상인격체의 내재 감정부(340)으로 이루어져 있다.

    감정생성장치(300)에서 감정 선택부(330)는 인간의 감정에 대한 가상인격체의 대응 감정이 미리 정의되어 있는 감정대응사전(320)으로부터 가상인격체의 내재 감정부(340)를 참조하여 가상인격체의 감정을 선택한다. 가상인격체의 내재 감정부(340)는 시간에 따라 변할 수 있는 가상인격체의 감정을 미리 저장하고, 감정대응사전(320)에 저장되어 있는 인간의 감정에 대한 가상인격체의 대응감정을 판단하는데 이용한다.

    인간의 감정과 가상인격체의 대응감정은 각각 동일한 감정유형을 가지며, 상기 감정유형은 모두 지배감정이라는 이름으로 정의하였다.

    상기 지배감정은 '두려움, 화남, 불안, 미움, 놀람, 안도' 등 24개의 범주로 나누어지며, 이들 범주에는 세부 감정을 내포하고 있다. 예를 들어, 두려움이라는 지배감정에는 '공포, 두려움, 위압감, 위축감, 겁나다, 경외하다, 무섭다, 무시무시하다, 소름끼치다'등의 세부 감정이 소속되어 있는데, 상기 세부감정이 지배감정에 소속되지는 판단할 수 있는 기준은 지배 감정들 사이의 삼차원 공간에 위치하는 세부 감정들의 지배감정들과의 퍼지벡터의 거리차로 평가한다.

    상기 감정대응사전(320)에 저장되어 있는 감정은 (표 6)과 같다.

    인간의 감정 가상인격체의 대응 감정
    기쁨 기쁨, 미움, 안도, 걱정, 등

    따라서, (표 7)과 같은 감정사전에 저장된 인간의 감정에 대한 가상인격체의 대응감정 정보는 가상인격체의 내재 감정부(340)에 저장되어 있는 가상인격체의 내재 감정을 통하여 취사 선택하게 된다.

    가상인격체의 내재 감정부에서 처리되는 패턴 유형들은 (표 7)과 같이 나타낼 수 있다.

    인간의 감정 가상인격체의 대응 감정 가상인격체의 내재 감정
    기쁨 기쁨 평온, 안도, 기대, 동정, 사랑
    미움 화남, 미움, 고통, 걱정, 슬픔, 허무
    안도 기대

    < 대화생성장치(500) >

    도 5는 본 발명에 따른 도 1의 대화생성장치의 일실시예 구성도이다.

    대화생성장치(500)는 상기 대화입력장치(100)로 입력된 대화문장(502)으로부터, 상기 감정인식장치(200)로부터 알아낸 인간의 감정(501)과 상기 감정생성장치(300)로부터 알아낸 가상인격체의 감정(511)에 대한 가상인격체의 대화를 생성해내는 장치로써, 대화분석부(503), 핵심키워드선택부(504), 응답화행 패턴사전(505), 응답화행생성부(506), 화행판단부(507), 핵심키워드 감정단어 판단부(508), 응답문장 생성부(509), 응답문장 패턴 사전(510), 육하원칙 답변부(512), 의미시소러스 처리부(513), 육하원칙 응답문장 패턴사전(514), 시소러스 응답문장 패턴사전(515)으로 이루어져 있다.

    대화분석부(503)는 상기 대화입력장치(100)을 통해서 들어온 대화입력문장(502)의 유형을 분석하는 곳으로써, 상기 대화입력문장(502)으로부터 육하원칙 구성성분을 추출한다. 상기 육하원칙 구성성분 추출은 (표 8)과 같이 가도까와 의미시소러스를 이용한 패턴 추출로 달성할 수 있다. 이때, 인간이 생각하는 육하원칙 구성요소와 컴퓨터로 직접 추출할 수 있는 육하원칙 구성요소와는 차이점이 있다. 따라서, 컴퓨터로 직접 추출할 수 있는 육하원칙 구성요소를 의사(Pseudo) 육하원칙 구성요소라 하고, '누가, 언제, 어디서, 무엇을, 어떻게, 왜'대신 'who, Pwhen, Pwhere, Pwhat, Phow, Pwhy, SE, PE'라는 태그를 부착하였다. 이렇게 하는 이유는, 컴퓨터로 육하원칙 구성요소를 추출할 때의 한계성을 참작하여, 인간이 생각하는 육하원칙 구성요소에 최대한 근소한 결과를 도출하기 위해서이다.

    범주 패턴 정보
    Pwho 사람, 동물, 국적, 소속단체 + 주격조사(이/가)/보조사(은/는) (1)
    Pwhen 숫자+년/월/일/시/분/초, 작년/올해/오전/오후/낮/밤 등
    Pwhere 지명, 기관, 장소 + 에, 에서, (으)로(부터) 등
    Pwhat (1)을 제외한 명사(구) + 주격조사(이/가)/보조사(은/는)명사(구) : 목적격조사(을/를)
    Phow 방법, 수단(~을 통해, ~로/을 이용~, ~에 의해, ~과정으로/에서 등)
    Pwhy 원인, 이유(~기 위하여, ~을 위해, ~때문에, ~이유로, ~로 인해, ~위해서)
    SE 명사(구) + 보조사, 공동격조사, 부사격조사 등
    PE 용언(동사)

    핵심키워드 선택부(504)는 상기 대화입력장치(100)을 통해서 들어온 대화입력문장에서부터 가장 핵심적인 어휘를 선택하는 부분으로써, 인간의 가상인격체에게 표현하는 감정을 나타내는 감정단어를 먼저 찾고, 상기 감정단어를 못 찾았을 경우에는 명사를 핵심 키워드로 선택한다.

    그리고, 상기 대화입력장치(100)을 통해서 들어온 대화입력문장으로부터 화행을 추출하였는지, 못하였는지를 체크하는 화행판단부(507)는 상기 화행을 추출하였을 경우, 상기 화행에 대한 응답화행을 생성하기 위해서, 응답화행 생성부(506)로 전달된다. 이때, 응답화행 생성부(506)는 인간이 입력한 대화입력문장에 대한 대화를 생성하기 위해서 응답화행을 생성하게 되는데, 이때, 대화흐름을 자연스럽게 유도하기 위해 인간의 각 발화에 결정된 화행에 의해 유발될 수 있는 화행은 다음 (표 9)과 같다.

    Speaker(Speech Act) Hearer(Reaction) Speaker(Speech Act for Reaction)
    Request Act Give Act Give Act
    Promise Acceptance, Rejection Ask Why(in Rejection)
    Give Info Request Info Request Info or Ask yes/no

    따라서, 인간이 가상인격체에게 대화를 시작할 때, 입력한 대화문장의 화행을 분석하면, 가상인격체가 대답할 수 있는 대화문장도 (표 9)에서 처럼 일정한 응답 패턴을 가진다. 이때, 각 응답 패턴에 따른 대화 문장은 응답화행 패턴사전(505)를 통하여 생성한다. 예를 들면, 입력화행이 '축하(당신의 성공을 축하합니다.{(WHO:당신) WHAT:성공, PE:축하}' 일 경우, 그 응답 화행은 '감사(나의 성공을 축하해줘서 감사해요.{(WHO:나)WHAT: 성공, PE:축하, PE: 감사}'로써, 대화분석부(503)으로부터 분석된 입력문장유형과 비슷한 문장유형으로 응답화행을 결정한다. 따라서, 이러한 응답화행은 응답화행 패턴 사전에 다음 (표 10)과 같은 정보가 기록되어 있다.

    입력대화문장의 화행 종류 입력 문장유형 응답대화문장의 화행 종류 출력 문장유형
    Congratulations(축하) PEWHAT, PE(WHO)WHAT, PEGratitude Gratitude(감사) PEWHAT, PE : PE(WHO)WHAT, PE : PE

    한편, 상기 대화입력장치(100)을 통해서 들어온 대화입력문장으로부터 화행을 추출하지 못하였을 경우, 핵심키워드선택부(504)에서 대화입력문장에 핵심키워드를 포함하는지 체크하게 된다. 이때, 핵심키워드가 존재할 경우,응답문장생성부(509)로 전달되어, 응답문장 패턴사전을 이용하여, 상기 핵심키워드에 맞는 응답 대화문장을 생성하게 된다. 이때에도, 입력문장과 유사한 응답 대화문장을 생성하기 위해서, 감정인식장치(200)와 감정생성장치(300)의 결과값을 이용하여, 입력문장에 대한 응답문장의 패턴을 응답문장 패턴사전을 통하여 전달 받아 최종적인 응답 대화를 생성하게 된다.

    상기, 응답문장생성부(509)에서는 다음 (표 11)과 같은 응답문장 패턴사전(510)을 이용한다. 상기 응답문장 패턴사전(510)에는 가상인격체의 내재 감정에 따라 서로 다른 문장유형을 저장하고 있다.

    인간의 감정/문형패턴 가상인격체의 대응감정/문형패턴 가상인격체의 내재 감정
    사랑(LOVE)널 사랑해/PWHO:CTP2, PE 사랑(LOVE)나도 널 사랑해/CTP1, PWHO:CTP2, PE 평온, 안도, etc.
    미움(HATE)사랑하지 않을 거야/NOT(PE)미워/ PE(HATE)거짓말 하지마/Sentence1 화남

    상기, 핵심키워드선택부(504)에서 대화입력문장에 핵심키워드를 포함하지 않을 경우, 의미시소러스 처리부(513)에서 시소러스 응답문장 패턴사전(515)을 이용하여 입력문장과 유사한 문장으로 응답대화문장을 생성하거나, 육하원칙 답변부(512)에서 육하원칙 응답문장 패턴사전을 이용하여 입력문장의 육하원칙 구성요소 중 빠진 부분을 상기시키거나 되묻는 응답대화문장을 생성한다.

    상기, 육하원칙 답변부(512)에는 다음과 같은 처리를 수행한다. 즉, '나는어제 산에 갔어'에 대한 대화분석부 처리 결과는 {Pwho:나, Pwhen:어제, Pwhere:산, PE:가다}로써, 하나의 입력문장에서 나올 수 있는 의사 육하원칙 구성성분 유형 중 빠진 부분(Pwhat, Phow, Pwhy, SE)을 이용하여 '왜 갔니{Pwhy, PE}'와 같이 되 묻을 수 있다. 상기 응답대화문장은 육하원칙 응답문장 패턴사전(514)에 다음 (표 12)와 같이 저장되어 있다.

    입력대화문장 응답대화문장
    Pwho, Pwhen, Pwhere, PE(나는 어제 산에 갔어) Pwhy, PE(왜 갔니)SE(Pwho), PE(누구와 같니)

    상기, 의미시소러스 처리부(513)에서는 다음과 같은 처리를 수행한다. 즉, '나는 어제 산에 갔어'에 대한 대화분석부 처리 결과는 {Pwho:나, Pwhen:어제, Pwhere:산, PE:가다}로써, 주요 키워드로 분석된 명사인 '어제, 산'은 의미시소러스의 같은 범주에 소속되어 있는 다른 단어를 이용하여 '나는 어제 한라산에 갔어, 나는 오늘 바다에 갔어'와 같은 응답 문장을 생성할 수 있다. 왜냐하면, '어제, 오늘', '산, 바다'등은 같은 의미시소러스 사전(515)에서 같은 의미 분류에 속한 단어이므로, 상기 단어를 의미 시소러스사전(515)에서 랜덤하게 추출하여 대화문장을 생성할 수 있다.

    한편, 감정표현장치(400)는 가상인격체의 얼굴표정을 나타내는 그래픽 이미지와 음절단위의 입술정보를 나타내는 그래픽이미지를 그래픽 DB에서 불어와서 보여주는 역할을 한다. 또한, 대화 출력장치(600)는 TTS시스템에 의해 자연어를 음성데이터로 변환하여 음성으로 출력하면서 자연어 텍스트 문장으로도 출력한다.

    상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.

    이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

    다시 말해, 자연언어로 입력문장들이 매우 다양한 서로 다른 성분과 서로 다른 기능을 포함할 수 있다는 것은 당해 기술 분야에서 잘 알려져 있다. 본 발명의 또 다른 실시예는 서로 다른 구성요소들과 서로 다른 기능들의 혼합을 포함할 수 있고, 다양한 구성요소의 일부로서 여러 가지 기능을 그룹 지을 수 있다.

    보다 명확하게, 본 발명은 서로 상이한 혁신적인 성분들과 이들의 혁신적인 조합을 포함하는 시스템으로 설명된다. 다만, 본 명세서에서 설명하는 실시예에 나열된 혁신적인 모든 성분들의 조합으로 본 발명을 한정하고자 하는 것은 아니다.

    더욱이, 개개의 자연어로 이루어진 텍스트 형식, 자연어 기술언어 및 연산자의 우선순위 방법을 변경하는 것은 자연언어 처리분야와 인공지능 시스템에 대한 당업자들에게 잘 알려져 있다. 구성요소의 특정 구현언어 또는 포멧에 대한 개시는 특허청구범위에 기재되어 있지 않는 한 본 발명을 한정하는 것이 아님은 명백하다.

    상기 기술한 발명으로 인해, 인간과 가상 인격체간에 대화를 진행할 때, 인간이 입력한 대화문장으로부터 인간의 감정을 인식하고, 상기 인식된 인간의 감정에 대한 가상인격체의 감정과 대화를 생성하여 가상인격체의 얼굴로 감정을 표현하고 음성이나 자연어 텍스트로 대화를 표현할 수 있다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈