KR101136007B1 - 문서 감성 분석 시스템 및 그 방법 - Google Patents

문서 감성 분석 시스템 및 그 방법 Download PDF

Info

Publication number
KR101136007B1
KR101136007B1 KR1020100061629A KR20100061629A KR101136007B1 KR 101136007 B1 KR101136007 B1 KR 101136007B1 KR 1020100061629 A KR1020100061629 A KR 1020100061629A KR 20100061629 A KR20100061629 A KR 20100061629A KR 101136007 B1 KR101136007 B1 KR 101136007B1
Authority
KR
South Korea
Prior art keywords
morpheme
negative
pattern
positive
document
Prior art date
Application number
KR1020100061629A
Other languages
English (en)
Other versions
KR20120001053A (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 KR1020100061629A priority Critical patent/KR101136007B1/ko
Publication of KR20120001053A publication Critical patent/KR20120001053A/ko
Application granted granted Critical
Publication of KR101136007B1 publication Critical patent/KR101136007B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Abstract

본 발명에 따라서 사용자가 입력한 문서의 감성을 분석하기 위한 감성 분석 시스템이 제공된다. 상기 시스템은 사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하여, 패턴 일치기로 전달하는 것인, 상기 형태소 분석기와, 상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 n차원의 벡터 정보를 함께 수신하고, 각각의 형태소에 대하여 그것과 대응하는 패턴이 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단함과 아울러, 대응되는 패턴에 대해 일정 갯수만큼 형태소를 확장한 확장 패턴을 생성하고, 그 확장 패턴과 대응되는 패턴이 문법 사전 데이터베이스에 저장되어 있는지 여부를 판단하는 절차를 반복하여, 상기 문서의 감성을 분석하는 패턴 일치기와; 상기 패턴 일치기에 의해 분석된 문서의 감성 결과를 사용자에게 출력하는 요약기를 포함한다.

Description

문서 감성 분석 시스템 및 그 방법{SYSTEM AND METHOD FOR ANAYLYZING DOCUMENT SENTIMENT}
본 발명은 문서가 내포하는 감성을 분석하는 시스템 및 방법에 관한 것으로서, 특히 문서의 긍정/부정/중립 양태를 분석하는 감성 분석 시스템 및 그 방법에 관한 것이며, 보다 구체적으로는 n차원의 벡터 정보가 부가된 형태소 해석을 기반으로 문서의 긍정/부정/중립 양태와 같은 문서의 감성을 보다 정확하게 분석할 수 있는 감성 분석 시스템 및 그 방법에 관한 것이다.
자연어 처리(Natural Language Processing) 분야에서는 단순한 문장의 구조를 분석하는 것에 그치지 않고, 감성 분석(sentimental analysis)이란 분야가 각광을 받으면서, 사람들은 당시 발생된 사건이나 주제에 대한 주관적이거나 객관적인 다양한 의견(opinion)뿐만 아니라, 기복이 심한 인간의 감정까지도 컴퓨터를 통해 객관적인 데이터로 분석해 내려는 시도들이 이루어지고 있다.
특히, 데이터 속에 녹아있는 사람들이 많은 관심을 가지고 있거나, 이슈화되는 사건이나 주제에 대해서 개인 한 사람의 의견뿐 아니라, 다양한 다른 사람들의 의견이나 이에 대한 주관적이거나 객관적인 판단들을 알고 싶어하며, 이것들을 객관적인 데이터로 만들어서 사용자의 의견을 결정하는데 도움을 받고자 하거나, 당시의 사건들에 대한 사람들의 의견에 대한 추이를 관찰할 수도 있게 한다.
감성 분석을 위해서는 크게 두 가지의 접근방법이 있는데, 통계적 방법과 언어적 접근 방법이다. 통계적 접근 방법은 텍스트 내의 긍정/부정적인 언급들의 출현과 빈도수를 거대한 수학적, 통계적 비교를 통해 이루어지는 반면에, 언어적 접근 방법은 텍스트 안의 규칙들과 그 규칙들로 분석된 문서를 비교하여 분석한다.
지금까지 이와 같은 방식을 이용한 감성 분석의 성능을 향상시키기 위해서 여러 시도들이 이루어지고 있다.
예컨대, A라는 인물이 수 많은 신문이나 인터넷 매체를 통해 기사화된다고 가정하자. 그러면, A 혹은 제3자는 그 수 많은 기사를 읽고 분석하여, 그 기사가 A 인물에 대해 긍정적인 기사인지, 부정적인 기사인지, 중립적인 기사인지를 분석할 필요가 있는데, 이는 사실상 힘든 작업이다. 즉 그 기사 내용 전체를 파악할 필요가 없고, 단지 그 기사의 긍정/부정과 같은 감성만을 분석하기만 하면 되는데도, 이러한 기사 전체를 다 읽어야만 그 기사의 긍정/부정 양태를 파악할 수가 있다는 문제가 있다. 이러한 문제점을 감안하여, 상기 기사를 감성 분석하여, 기사의 긍정/부정 양태를 파악하려는 다양한 시도들이 있다.
그러나, 문서의 감성 분석에 대한 다양한 시도들은 아직까지 일반 문서들에 대한 감성 분석 결과의 정확성을 보장하지 못할 뿐만 아니라, 문서의 특성에 따라 유연하게 적용되지 못하므로, 한국어 문서의 감성 분석 결과에 대해 사용자들이 만족할 만한 결과를 내지 못하고 있는 것이 현재의 상황이다. 특히, 학습된 데이터와 감성 분석을 해야 하는 대상 데이터가 다른 경우, 그 분석의 정확성이 떨어지게 되어, 다양화된 일반적인 문서의 감성 분석의 보편적인 도구로서 사용되기 힘들다는 한계를 가진다.
또한, 기존의 감성 분석 장치로 일반적인 문서에 대한 감성 분석을 하기 위해서는 분석 대상 데이터 문서들의 형태소에 의미 정보를 부착하는 '의미 주석(semantic annotation)' 처리 단계를 거쳐야 한다. '의미 주석' 처리를 하기 위해서는 분석 대상 문서에 대해 "형태소 분석, 태깅, 구문 분석, 의미 주석 부착"과 같은 여러 단계의 복잡한 장치들을 거쳐야 하며, 이와 같은 장치들을 거친 후에, 문서의 감성 분석 장치를 적용할 수 있으므로, 문서를 감성 분석할 때까지 그 절차가 매우 복잡하다. 이와 같은 절차의 복잡성은 문서의 감성 분석 장치의 성능을 향상시키기 위한 다양한 시도들을 감성 분석 장치에 손쉽게 반영하기 어렵게 한다. 뿐만 아니라, 오류 발생 시에 각각의 장치들에서 오류를 찾기도 어렵고, 각각의 장치들에 대한 오류를 수정하는 것 역시 어렵게 된다.
또한, 문서의 감성 분석을 하기 위해서, 문서의 분석 절차가 진행됨에 따라 각각의 단계를 거치는 기존의 장치들은 문서의 감성 분석 결과의 정확성을 높이는 데에 기여하기보다는, 각각의 단계의 장치들을 거치는 문서의 분석 절차가 진행됨에 따라 각 단계에서의 분석 결과의 정확성이 떨어진다는 한계를 가지므로, 마지막 단계인 문서의 감성 분석 장치를 적용하는 단계에서는 그 분석의 정확성이 훨씬 더 떨어지게 된다. 이와 같이 분석 절차의 복잡성과 각각의 장치들이 가지는 분석의 부정확성으로 인해, 기존의 일반 감성 분석 장치는 문서 감성 분석 결과의 정확성이 보장되지 못하고 있다는 문서의 감성 분석 장치의 태생적인 한계가 있다.
한편, 문장을 분석할 때 형태소 분석을 이용한다. 형태소 분석이라 함은, 주어진 입력 문자열을 대상으로 형태소 단위로 분리해내고, 각각의 형태소의 원형을 복원하고 품사를 결정해주는 과정을 의미한다. 형태소 분석을 위해서 사용하는 해석 사전은 일반적으로 형태소 목록을 가지고 있는 어휘 사전 그리고 품사 간의 연결 가능 여부를 표현하는 문법 사전을 포함한다. 이러한 해석 사전을 기반으로 입력 문자열에서 발생 가능한 모든 형태소 열에 대해서 문법 사전에 기술된 연결 정보에 부합하는 형태소 열을 찾아낸다. 이러한 형태소 분석은 기계 번역, 정보 검색, 정보 추출 등의 자연언어처리 기술의 기반 기술로써 최소한의 의미를 가지는 형태소를 쉽게 파악할 수 있게 해준다.
한편, 태스크 온톨로지(task ontology)란 특정 작업에 필요한 의미적 정보의 분류와 정보간의 관계를 계층적으로 정의한 지식 구조체이다. 이러한 태스크 온톨로지를 활용하기 위해서는 주어진 문서나 사용자의 입력에서 온톨로지에 해당하는 정보의 파악 과정이 필요하다. 정보 주석 장치(information annotator)는 정보 분석의 기본 과정인 형태소 해석 및 태스크 온톨로지에 정의된 의미 정보를 파악하고 부착하는 장치이다.
문서를 분석하고 의미 정보를 부착하기 위해서, 기존의 장치들은 형태소 해석을 수행하여 기본 단위로 분석한 뒤, 별도로 구축한 태스크 온톨로지 매핑 모델을 이용하거나 연속된 형태소에 대해서 의미 정보를 부착하는 방식을 이용하고 있다. 그러나, 이러한 방식은 태스크 온톨로지에 정의된 정보의 단위와 형태소 해석에서 정의한 단위의 불일치 문제, 태스크 온톨로지에 기술되어 있는 정보간의 관계 정보를 형태소 해석시 활용하지 못하는 문제점이 있다.
또한, 형태소 해석 시스템의 변경이나 태스크 온톨로지의 변경이 있을 때 매핑 모델을 새로이 재정의해 주어야 하는 문제점이 발생한다. 예컨대, '007 카지노 로얄'과 같은 복수 어절로 표현되는 영화명의 경우, 기존의 방식에 따르면 3개의 연속된 형태소를 태스크 온톨로지에서 찾은 후 의미 정보를 부착하여야만 한다. 또한, 기존의 방식에 따르면, 영화명의 주위에 나타나는 정보를 형태소 해석 과정에서 사용하지 못하는 문제점이 있다.
본 발명은 상기한 종래 기술에서 나타나는 문제점을 해결하기 위한 것으로서, 그 한 가지 목적은 문서의 긍정/부정/중립의 감성을 분석함에 있어서, 기존의 기계 학습(machine training) 방법, 즉 학습된 셋트에 의존적이어서 학습 데이터가 달라짐에 따라 감성 분석 결과의 정확성이 떨어지는 방식으로 어휘사전을 구축하는 대신에, 감성어 사전과 문법 사전 구축시, 형태소가 가지는 형태, 의미, 통사, 화용적인 보편적인 언어 정보를 이용한 심도 있는 언어적 접근 방식을 통해서 데이터 의존적인 종래의 문제를 극복하여, 다양한 문서에도 적용이 쉽고도 유연하게 그리고 높은 정확성으로 문서의 긍정/부정/중립적인 감성을 분석할 수 있는 언어적 보편성을 감안한 감성 분석 시스템 및 그 방법을 제공하는 것이다.
본 발명의 다른 목적은 문서의 긍정/부정/중립적인 감성을 분석함에 있어서, 1차적으로 문서에 포함된 텍스트 구성 어휘를 형태소별로 구분하여 어휘의 특성을 보다 정확하게 분석함과 아울러, 우리말이 갖고 있는 독특성을 감안한 규칙을 별도의 문법 사전에 구축하여, 어휘적 표현만으로 문서의 감성을 분석하는 것이 아니라 우리말의 형태, 의미, 통사, 화용적인 언어적 특성을 기술한 문법을 함께 고려하여, 궁극적으로 문서의 감성을 보다 정확하게 분석할 수 있는 감성 분석 시스템 및 그 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 긍정/부정/중립과 같은 감성뿐만 아니라, 이 외에 문서가 갖고 있는 일반적인 감성도 정확하게 분석할 수 있는 문서 감성 분석 시스템 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 현재 일반적으로 사용되는 기존의 문서 감성 분석 방식에서 본 발명을 이용하여, 보다 정확하게 감성 분석을 할 수 있도록 하는 문서 감성 분석 시스템 및 그 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 기존의 장치들이 가지는 부정확성과 그 문서의 감성 분석 절차의 복잡성이라는 문제점을 극복하기 위해서, 문서를 분석하고 의미 정보를 문서의 형태소 분석에서 직접 부여받으므로, 문서의 감성 분석시 여러 단계를 거쳐 의미정보를 부여받는 기존의 문서의 감성 분석 절차를 간소화하며, 따라서 문서 감성 분석 장치의 오류 발견과 수정 및 업그레이드를 용이하게 할 수 있도록 하는 문서 감성 분석 시스템 및 그 방법을 제공하는 것이다.
상기 목적을 달성하기 위하여, 본 발명에 따라서 사용자가 입력한 문서의 감성을 분석하기 위한 감성 분석 시스템이 제공된다. 상기 시스템은 사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하여, 패턴 일치기로 전달하는 것인, 상기 형태소 분석기와, 상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 n차원의 벡터 정보를 함께 수신하고, 각각의 형태소에 대하여 그것과 대응하는 패턴이 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단함과 아울러, 대응되는 패턴에 대해 일정 갯수만큼 형태소를 확장한 확장 패턴을 생성하고, 그 확장 패턴과 대응되는 패턴이 문법 사전 데이터베이스에 저장되어 있는지 여부를 판단하는 절차를 반복하여, 상기 문서의 감성을 분석하는 패턴 일치기와, 상기 패턴 일치기에 의해 분석된 문서의 감성 결과를 사용자에게 출력하는 요약기를 포함하고, 상기 감성어 사전 데이터베이스는 긍정의 의미를 갖고 있는 어휘를 포함하는 긍정어 사전 데이터베이스와, 부정의 의미를 갖고 있는 어휘를 포함하는 부정어 사전 데이터베이스와, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 중립어 사전 데이터베이스를 포함하며, 상기 각각의 데이터베이스에 수록되는 각 어휘에는 그 어휘의 속성을 나타내는 n차원의 벡터 정보가 부가되어 있는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 감성어 사전 데이터베이스의 각 데이터베이스는 단일 형태소의 경우 긍정의 의미, 부정의 의미, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 어휘를 상기 n차원의 벡터 정보를 부가하여 수록하고, 둘 이상의 형태소 단위를 갖는 어휘의 경우, 그 둘 이상의 형태소 단위 전체가 긍정의 의미, 부정의 의미, 중립의 의미를 갖고 있는지를 분류하여 각 해당 사전 데이터베이스에 해당 어휘를 수록할 수 있다.
한 가지 실시예에 있어서, 상기 문법 사전 데이터베이스는 긍정 의미의 형태소에 부정의 의미자질을 갖고 있는 형태소가 결합하면, 전체적으로 부정의 의미로 해석되도록 부정 의미의 문법 규칙을 규정하고, 부정 의미의 형태소에 긍정의 의미자질을 갖고 있는 형태소가 결합하면, 전체적으로 긍정의 의미로 해석되도록 긍정 의미의 문법 규칙을 규정하며, 긍정 혹은 부정의 의미를 갖고 있는 형태소에 그 의미의 가치를 잃게 하는 중립의 의미자질을 갖고 있는 형태소가 결합하면, 전체적으로 중립의 의미로 해석되도록 중립 의미의 문법 규칙을 규정하며, 상기 긍정 의미, 부정 의미의 형태소는 상기 긍정어 사전 데이터베이스, 부정어 사전 데이터베이스에 수록된 어휘 및 벡터 정보를 이용하고, 상기 부정의 의미자질을 갖는 형태소 및 긍정의 의미자질을 갖는 형태소는 n차원의 벡터 정보가 부가되어, 상기 문법 규칙 역시 형태소와 n차원의 벡터 정보에 의해 기술될 수 있다.
한 가지 실시예에 있어서, 상기 문법 사전 데이터베이스는 긍정, 부정 또는 중립의 의미를 갖는 형태소에 그러한 의미로 정의되지 않는 언어적 정보를 갖는 형태소가 결합되는 경우, 그 결합된 전체의 표현이 긍정, 부정 또는 중립의 의미로 해석되도록 문법 규칙을 규정하고, 상기 긍정 의미, 부정 의미의 형태소는 상기 긍정어 사전 데이터베이스, 부정어 사전 데이터베이스에 수록된 어휘 및 벡터 정보를 이용하며, 상기 긍정, 부정 또는 중립의 의미로 정의되지 않는 언어적 정보를 갖는 형태소에는 n차원의 벡터 정보가 부가되어, 상기 문법 규칙 역시 형태소와 n차원의 벡터 정보에 의해 기술될 수 있다.
한 가지 실시예에 있어서, 상기 감성어 사전 데이터베이스의 각 데이터베이스에 수록되는 단일 형태소 혹은 둘 이상의 형태소 단위 뒤에는 그 형태소의 긍정, 부정 혹은 중립의 의미를 나타내는 감성과 그 감성의 정도를 나타내는 가중치가 함께 부가되어 수록되어 있으며, 상기 문법 사전 데이터베이스에는 상기 긍정어 및 부정어 사전 데이터베이스에 수록된 형태소에 결합되는 긍정 혹은 부정 의미자질의 형태소에 따라 전체적인 감성의 강도가 변화되는 것을 고려한 감성 및 가중치가 부가되어 수록될 수 있다.
한 가지 실시예에 있어서, 상기 패턴 일치기는 사용자가 분석 대상이 문장, 단락 혹은 문서 전체인지를 선택할 수 있도록 해주는 사용자 인터페이스를 제공하고, 상기 형태소 분석기에 의해 분석된 형태소에 부가된 상기 n차원의 벡터 정보를 이용하여 분석 단위를 문장, 문단 혹은 문서 전체로 나누어 주는 문장/단락/문서 인식 유닛과, 상기 형태소 분석기에 의해 분석된 형태소들을 일정 개수씩 그룹지워 연결하면서, 그것과 대응하는 패턴이 상기 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 해당 패턴을 유효 패턴으로 추출하고 상기 감성어 사전 데이터베이스의 감성으로 치환하는 패턴 일치 판단 유닛과, 상기 패턴 일치 판단 유닛에 의해 추출되어 치환된 패턴의 위치를 기준으로 앞과 뒤로 정해진 개수만큼의 형태소를 확장한 확장 패턴을 생성한 후, 확장한 형태소를 하나씩 줄여가면서, 그 확장 패턴에 대응하는 패턴이 상기 문법 사전 데이터베이스에 포함되는지 여부를 판단하는 문법 일치 판단 유닛을 포함할 수 있다.
한 가지 실시예에 있어서, 상기 n차원의 벡터 정보는 어류 태그 정보, 형태적 정보, 통사적 정보, 의미적 정보 및 화용 정보 중 적어도 하나인 벡터 정보이고, 각 벡터 정보는 특수 문자를 포함하며, 그 특수 문자 안에 형태소의 속성이 표현되어 있을 수 있다.
한 가지 실시예에 있어서, 상기 패턴 일치 판단 유닛은 상기 추출된 유효 패턴에 대응되는 긍정/부정/중립의 감성과 그에 부가된 가중치를 이용하여 문서 전체를 위한 점수 저장소 중 해당하는 감성에 가중치를 가산하여 저장하도록 구성되고, 상기 문법 일치 판단 유닛은 상기 검색된 확장 패턴에 대한 감성과 그에 부가된 가중치를 상기 점수 저장소에 가산하여 저장하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 패턴 일치 판단 유닛은 긍정/부정/중립 용어들의 긍정/부정/중립의 감성적 강도에 따라 상기 가중치를 달리하여 단계적으로 적용할 수 있다.
한 가지 실시예에 있어서, 상기 패턴 일치기는 문서 분석시 그 문서의 길이를 고려하여 문서의 전체 감성을 판단하도록 구성될 수 있다.
한 가지 실시예에 있어서, 상기 요약기는 상기 패턴 분석기에 의해 분석된 긍정 가중치와 부정 가중치를 합산한 결과를 각각 출력하고, 상기 분석 결과 중 더 높은 가중치를 갖는 감성에 대한 근거가 되는 문서 내용의 일부를 함께 출력하도록 구성될 수 있다.
본 발명의 다른 양태에 따라서, 문서의 감성을 분석하는 방법이 제공되는데, 상기 방법은 사용자로부터 분석하고자 하는 문서를 입력받는 단계와, 상기 입력된 문서에 대하여 형태소를 분석하는 단계로서, 형태소를 분석함과 아울러, 그 분석된 형태소에 형태소의 속성을 나타내는 n차원의 벡터 정보를 부가하는 것인, 형태소 분석 단계와, 상기 분석된 형태소 및 그에 부가된 n차원의 벡터 정보에 기초하여, 각각의 형태소에 대하여 그것과 대응하는 패턴이 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 해당 패턴을 상기 감성어 사전 데이터베이스의 해당 감성으로 치환함과 아울러 그 감성에 부가되어 있는 감성 점수를 점수 저장소에 가산하여 저장하는 패턴 일치 판단 단계로서, 상기 감성어 사전 데이터베이스는 긍정의 의미를 갖고 있는 어휘를 포함하는 긍정어 사전 데이터베이스와, 부정의 의미를 갖고 있는 어휘를 포함하는 부정어 사전 데이터베이스와, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 중립어 사전 데이터베이스를 포함하며, 상기 각각의 데이터베이스에 수록되는 각 어휘에는 그 어휘의 속성을 나타내는 n차원의 벡터 정보가 부가되어 있고, 상기 감성어 사전 데이터베이스의 각 데이터베이스에 수록되는 단일 형태소 혹은 둘 이상의 형태소 단위 뒤에는 그 형태소의 긍정, 부정 혹은 중립의 의미를 나타내는 감성과 그 감성의 정도를 나타내는 감성 점수가 함께 부가되어 수록되어 있는 것인, 패턴 일치 판단 단계와, 상기 패턴 일치 판단 단계에서 검색된 패턴에 대해 일정 갯수만큼 형태소를 확장한 확장 패턴을 생성하고, 그 확장 패턴과 대응되는 패턴이 문법 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 매치된 패턴을 상기 문법 사전 데이터베이스의 감성과 감성 점수를 이용하여 상기 점수 저장소의 해당 감성에 그 감성 점수를 가산하여 저장하는 문법 일치 판단 단계로서, 상기 문법 사전 데이터베이스에는 상기 긍정어 및 부정어 사전 데이터베이스에 수록된 형태소에 결합되는 긍정 혹은 부정 의미자질의 형태소에 따라 전체적인 감성의 강도가 변화되는 것을 고려한 감성 및 감성 점수가 부가되어 수록되어 있는 것인, 상기 문법 일치 판단 단계와, 상기 분석된 문서의 감성 결과를 출력하는 단계를 포함하는 것을 특징으로 한다.
한 가지 실시예에 있어서, 상기 출력 단계는 상기 분석된 긍정 점수와 부정 점수를 합산한 결과를 각각 출력하고, 상기 분석 결과 중 더 높은 감성 점수를 갖는 감성에 대한 근거가 되는 문서 내용의 일부를 함께 출력할 수 있다.
본 발명의 다른 양태에 따라서, 상기 문서의 감성 분석 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체가 제공된다.
본 발명에 따른 문서의 감성 분석 시스템 및 방법에 따르면, 사용자가 입력한 문서의 감성을 보다 정확하게 분석할 수 있다. 즉 종래와 같이, 단순히 데이터베이스에 형태소만을 수록하여, 그것을 기반으로 문서를 분석하는 대신에, 각 형태소에 n차원의 벡터 정보 및 감성의 정도를 나타내는 가중치를 함께 수록하여, 문서 전체가 가지는 감성의 정도를 정확히 분석할 수 있다. 또한, 우리말의 특수성을 고려하여, 각 사전 데이터베이스를 구축하고, 이에 기반하여 문서의 감성을 분석하도록 함으로써, 보다 정확한 감성 결과가 도출될 수 있다.
또한 본 발명을 기존에 이용되고 있는 문서 감서 분석 장치의 방법에 적용하면, 기존의 감성 분석 시스템의 문서 분석 정확도를 높일 수 있다. 예를 들어, 기계학습에 의한 감성 분석 시스템에 본 발명을 이용하면 그 장치의 분석 정확도를 높일 수 있을 뿐만 아니라, 문서를 분석하고 의미 정보를 부착하기 위해서, 기존의 문서 분석 장치들이 가지는 부정확성과 문서 분석 절차의 복잡성이라는 문제점을 극복하여 문서의 감성 분석시 그 절차를 간소화하고 최적화하여 사용자가 보다 용이하고 유연성 있게 이용할 수 있다.
도 1은 본 발명의 한 가지 실시예에 따른 감성 분석 시스템의 구조를 개략적으로 보여주는 도면이다.
도 2는 본 발명의 시스템에 이용되는 행태소 분석용 다차원 해석 사전 구축 장치의 구성을 모식적으로 보여주는 도면이다.
도 3은 본 발명의 한 가지 실시예에 따른 형태소 분석용 다차원 해석 사전 구축 과정을 보여주는 흐름도이다.
도 4는 본 발명에 따라 문서를 분석하는 과정에서 문서의 감성(긍정/부정/중립)과 관련한 가중치를 저장하는 점수 저장소를 나타내는 데이터 자료 구조를 예시적으로 보여주는 도면이다.
도 5a, 도 5b 및 도 5c는 본 발명의 한 가지 실시예에 따라 입력된 문서 및 그 문서에 대한 형태소 분석 결과 및 문서 분석 과정을 보여주는 도면이다.
도 6은 본 발명에 따라 문서의 감성을 분석한 결과를 나타내는 예시적인 도면이다.
이하에서는 첨부 도면을 참보하여 본 발명의 바람직한 실시예를 설명한다. 이하의 설명은 본 발명의 이해를 돕기 위하여 주어지는 한 가지 예에 불과하여, 본 발명이 그에 제한되지 않는다는 점에 유의하여야 한다.
도 1에는 본 발명의 한 가지 실시예에 따른 감성 분석 시스템의 구조가 개략적으로 도시되어 있는데, 상기 분석 시스템은 크게 형태소 분석기(100), 패턴 일치기(pattern matcher)(200)와 요약기(summarizer)(300)를 포함한다.
A. 형태소 분석기(morph analyzer)(100)
본 발명은 기본적으로, 문장이나 문서 등을 구성하는 단어들의 형태소를 분석하고, 이를 기반으로 하여 문장 등이 전체적으로 긍정인지, 부정인지 아니면 중립적인지 하는 것과 같은 문장의 감성을 판단하는 것을 특징으로 하는 시스템을 제공하는 것이다. 따라서, 이하에서는 본 발명의 한 가지 특징적 구성인 형태소 분석을 위한 해석 사전 구축 장치 및 그 방법에 대하여 먼저 설명하기로 한다.
1. 형태소 해석용 다차원 해석 사전 구축 장치(형태소 분석기)(100)
도 2는 본 발명의 일 실시예에 따른 한국어 형태소 해석용 다차원 해석 사전 구축 장치, 즉 형태소 분석기를 모식적으로 보여주는 도면이다. 본 발명에서 사용하는 형태소 분석용 다차원 해석 사전은 형태소와 그 형태소가 가질 수 있는 품사를 가진 어휘 사전, 시스템에서 사용하는 품사의 정보를 가지는 품사 사전, 그리고 품사 간의 연결 가능 여부를 표현하는 문법 사전, 그리고 특정 영역의 사용자 표현이나 예외적인 형태를 수용하는 사용자 사전을 포함한다.
본 발명의 한 가지 실시예에 따라 구성되는 다차원 해석 사전은 이전의 형태소 해석이 가지는 기능들에 임의의 온톨로지에 적응하기 위해 5차원의 벡터로 품사 정보를 표현하도록 되어 있다. 이전의 형태소 분석기에서는 단순히 두 품사들간의 연결 관계를 나열하는 형식의 연결 정보 방식을 이용하고 있지만, 본 발명의 일실시예에 따른 형태소 분석에서는 5차원의 값을 가지는 형태소들이 온톨로지 상에서 결합하는 관계와 형태소 해석에서 형태소들이 연결되는 관계를 표현하기 위해서 특수 문법 연산자를 이용하여 결합 문법을 최적화한다. 이처럼 본 발명에 따른 해석 사전은 기존의 해석 사전과는 달리 5차원의 벡터 정보를 부가하여 품사 정보 등을 기술하고 있다.
1. 다차원 해석 사전(30)의 구성
(1) 품사 사전(32)
본 발명에 따른 다차원 해석 사전의 품사 사전(32)은 기본 형태소나 태스크 온톨로지에 정의된 표현에 대해서 어류 태그(word class tag) 정보, 형태적(morphological) 정보, 통사적(syntactical) 정보, 의미적(semantic) 정보 및 화용(pragmatic) 정보의 5가지 정보, 즉 5차원의 벡터로 정의되어 구성된다.  특히, 이중 본 발명에 있어서, '어류 태그'라고 하는 용어는 일반 언어학에서 정의내린 품사(part of speech)와는 다른 의미를 갖고 있다. 즉, 본 발명에서 '어류 태그'라는 것은 언어학적인 시각에서는 분류되지 못하는 단어 부류들이지만, 이하에서 더욱 상세히 설명하는 바와 같이, 전산상에서 형태소 분석 및 온톨로지와의 접근을 용이하기 위해 필요한 단어 부류 및 그 속성들을 정의해 놓은 것이다. 이에 본 발명에서는 본 형태소 분석기의 단어들의 분류를 일반 언어학의 품사와 구별하기 위해서 '어류 태그'라는 용어를 사용한다. 따라서 본 형태소 분석기의 어류 태그는  필요에 의해서 새로운 단어들의 부류를 자유롭게 확장하거나 축소하기 위해서 이용될 수 있다.
또한, 형태적 정보에는 형태음운적 정보(예를 들어, 마지막 음절의 종성 유무 {fc})도 함께 처리하였다. 이전의 방식들은 품사에 구문 및 의미 정보를 결합하여 1차원적으로 확장하였으나, 본 발명에 따르면, 품사에 해당하는 어류 태그를 최소한으로 유지하고 통사적인 정보와 의미 정보를 형태와 화용 정보처럼 5차원 벡터에서 별도의 차원으로 정의한다.  이는 총체적으로 품사(어류태그), 구문, 의미, 화용 정보들을 능률적으로 확장할 수 있는 이점을 제공한다. 
이를 구체적인 예를 들어 설명하면 다음과 같다.
<명사>
뉴딜 {ncn}{fc}{}{eco}{}
히스라불로토프 {nq_per}{fc}{}{pol}{}
객 {nc_one}{fc}{}{}{noidx}
<동사 pv>
  무서워하 {pv}{ir_yeo}{tran}{}{}
열리 {pv}{rg}{intra}{}{}
상기한 바와 같이, 본 발명의 한 가지 실시예에 따르면 다차원 해석 사전에 형태소 해석을 위해 5차원의 벡터를 부여한다.  즉, 위의 명사를 표현하는 예에 있어서, '뉴딜'과 '히스라불로토프', '객'이라고 하는 명사를 표현하기 위한 5가지 정보가 표현되어 있는데, 좌측부터 각각 어류 태그 정보, 형태적 정보, 통사적 정보, 의미적 정보 및 화용 정보를 나타낸다.  이처럼, 단순히 기본 형태소 목록 또는 품사 간의 연결 가능 여부를 규정하고 있는 종래의 해석 사전과는 달리, 본 발명에서는, 소정의 형태소와 관련하여, 그 형태소를 어류 태그, 형태적, 통사적, 의미적 그리고 화용의 5가지의 정보 벡터로 구분하여 다차원 해석 사전의 데이터베이스를 구축한다. 이와 같이 함으로써, 형태소 정보가 태스크 온톨로지에 나타나는 의미 정보도 포함할 수 있어, 태스크 온톨로지의 변경이 있더라도 매핑 모델을 새로 재정의하는 등의 작업을 수행할 필요가 없게 된다.
좀 더 구체적으로 설명하면, 위의 기술 내용 중, <명사> 중에 '뉴딜'과 '히스라불로토프', '객'의 어류 태그는 각각 {ncn}와 {nq_per} 및 {nc_one}이며, {ncn}은 일반명사를, {nq_per}는 사람 고유명사를 {nc_one}은 한글자 명사임을 표시한다. 여기서, {fc}는 final consonant의 약자로 명사의 종성이 다음의 형태소와 결합에 영향을 미치는 어류태그들에 대해서만 이 정보를 이용한다. 본 발명에 따르면, 형태소의 마지막 음절에 따라서 'y'(유종성), 'n'(무종성), 'l'(ㄹ 종성), 'c'(don't care) 등의 값으로 시스템이 자동으로 구체화한다. {eco}와 {pol}는 의미적 정보로서 {eco}는 '뉴딜'이 '경제'와 관련된 것이며, '히스라불로토프'는 사람 고유명사 중에 '정치'와 관련된 사람임을 정의해 놓은 것이다. 특히, 한글자 명사인 '객'의 경우, 화용적 정보에 {noidx}가 있는데, 이 정보는 실제 데이터에서 많이 쓰이느냐 혹은 색인어(index word)로 가치가 있느냐 하는 정보에 대한 것이다. '객'의 경우, 복합 명사 분해시 '객'을 따로 분석해 내게 되면 오분석이 많으며, 실제 '객'으로 형태소 분석되어 쓰이는 일이 많지 않으므로, 이러한 한글자 명사들에 {noidx} 정보를 준다. 반면에, 한글자 명사인 '핵'과 같은 경우는 화용적 정보에 {idx}를 주어서 형태소 분석시 이 정보를 활용한다.
즉, 본 발명에 따르면, 사전을 구축함에 있어서, 단순히 형태소로 이루어진 목록만을 구축하는 것이 아니라, 실시예에 따라서는 각각의 형태소를 5개의 정보 벡터로 나누어 정의하고 각각의 정보 벡터에 그 형태소와 관련된 어류 태그 정보, 의미적 정보 등을 부여함으로써, 추후 형태소 해석시 이러한 부가적인 벡터 정보를 활용하여 정확한 형태소 분석을 수행할 수 있도록 한다.
<동사>의 경우, '무서워하'와 '열리'는 어류태그가 {pv}이며 이는 일반적인 동사를 나타내며, {rg}와 {ir_yeo}는 형태적 정보로 {rg}는 규칙동사를, {ir_yeo}는 여불규칙 동사라는 정보를 기술한 것이다. 한편, {tra}와 {intra}는 용언의 통사적 정보로서, 각각 타동사 및 자동라는 통사적 정보를 기술하는 것이다. 이와 같이 각 어류 태그 및 각각의 형태, 통사, 의미, 화용 정보는 각 단어들 부류를 나눌 때의 기준과 속성에 따라 자의적으로 정의할 수 있다.
예컨대, 이하에서 더욱 상세하게 설명하겠지만, 언어에는 동음이의어가 존재하는데, 이러한 동음이의어는 문서의 감성을 분석하는 데에 장애가 된다.
예를 들어, 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"와 乳齒인 "유치_{ncn}{*}{*}{con}{*}"가 있을 수 있다. 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"의 경우, 문서의 긍정/부정/중립 중에 "부정"의 가치를 가진 어휘가 될 수 있으나, 乳齒인 "유치_{ncn}{*}{*}{con}{*}"는 긍정/부정/중립 어느 가치에의 판별 기준이 될 수 없다. 따라서 이 두 어휘를 구분할 수 있다면, 문서의 감성 분석을 할 때 그 오류를 줄일 수 있다.
幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"의 경우, 문서에서 사용되는 예를 찾아보면, 동사화 접미사(vfix)인 "하다"와 함께 쓰이지 홀로는 쓰이지 않는다. 반면에, 乳齒인 "유치_{ncn}{*}{*}{con}{*}"는 동사화 접미사(vfix)인 "하다"와는 결코 쓰이지 않으며, 함께 쓰일 수 있는 서술어는 "나다, 뽑다, 썩다.." 등의 조사와 함께 사용되는 사실을 찾아낼 수 있다.
이와 같은 언어적 특성을 이용하여, 서술성 보통명사를 나타내는 태그 {ncp}를 이용하여 幼稚를 "유치_{ncp}{*}{*}{abs}{*}"의 형태로 후술하는 부정어 사전(244)에 수록하고, 비서술성 보통명사를 나타내는 태그 {ncn}를 이용하여 乳齒의 의미를 갖는 "유치_{ncn}{*}{*}{con}{*}"는 감성어 사전(240)에 수록하지 않음으로써, 문서에 대한 형태소 분석 후, 乳齒인 "유치_{ncn}{*}{*}{con}{*}"를 가진 경우에는 부정을 판별하는데 이용하지 않고, 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"를 가진 경우에는 부정의 감성을 판별하는데 이용함으로써, 문서의 감성 판별의 정확률을 높인다. 즉 본 발명은 이러한 태그를 활용하여 감성 분석의 정확성을 높이도록 하고 있다.
한편, 어류 태그, 의미적 정보 등에 사용되는 각각의 약칭(예컨대, ncn, eco, pol, rg 등)은 사용자가 자신의 편의에 맞게 임의로 정하여 사용할 수 있는 것으로서, 본 발명은 이러한 개개의 약칭의 종류/형태에 제한되지 않는다는 점에 유의하여야 한다.
(2) 어휘 사전(Lexion)(34)
어휘 사전은 형태소와 그 형태소가 가질 수 있는 품사열의 리스트로 구성된다. 형태소는 일반적으로 의미를 가지는 최소한의 단위이다. 그러나 사용 영역에 따라서 의미를 가지는 최소한의 단위의 변화가 필요하다. 예컨대, 영화 정보를 검색할 수 있는 서비스에서는 영화명이 비록 여러 단어로 구성되어 있더라도 하나의 의미를 가지는 최소한의 단위로 파악되어야 정확한 검색 결과를 얻을 수 있다. 그러나, 종래의 형태소 분석에 따르면, 하나의 의미로 파악하는 것이 아니라 최소한의 단위에 대하여 형태소 분석을 수행하기 때문에, 사용자가 원하는 정확한 결과를 도출해낼 수가 없는 문제가 있다.
예를 들어 영화 제목이 포함된 문장 '나는 바람과 함께 사라지다가 좋아.'를 대상으로 기존 방식의 형태소 단위를 적용할 경우 '사라지다가'가 '사라+지다가'로 분석되어, 가능한 어떠한 형태소들의 결합도 '바람과 함께 사라지다'를 해석할 수 없다. 이에 따라, '바람과 함께 사라지다'를 영화명으로 가지고 있어도 검색할 수 없다. 그러나, 본 발명에 따른 다차원 해석 사전, 보다 구체적으로는 어휘 사전(34)은 상기한 바와 같은 기본적인 형태소를 벡터 정보를 이용하여 구축하는 것 외에, 이를 이용하여, 여러 형태소로 이루어지는 단어들을 하나의 의미를 갖는 것으로 규정해 놓고 소정의 시스템이나 서비스에서 정의하는 의미 단위를 반영하는 형태로 데이터베이스화한다. 이때, 본 발명에서 사용하는 어휘 사전의 하나의 형태소가 시스템이나 서비스에서 정의하는 의미 단위를 반영할 수 있도록 포함하는 단어의 개수에 제약이 없다. 예를 들어, 본 발명에 따른 다차원 해석 사전(30)의 어휘 사전(34)에는 '바람과 함께 사라지다'가 하나의 형태소로서 등록된다. 다시 말하면, 형태소 해석에서의 단위가 태스크 온톨로지에 정의된 정보의 단위와 일치되어 등록되고, 그 결과, 예컨대 영화명의 주위에 나타나는 정보를 형태소 해석 과정에서 사용할 수가 있게 된다.
한편, 각각의 형태소는 하나 이상의 관련 품사 정보를 가진다. 예를 들어 형태소 '가'는 명사, 조사 그리고 접미사와 관련된 5차원 값의 품사 정보를 가진다. 여기서의 품사열은 기술 순서에 따라서 분석 과정에 사용되는 순서를 뜻한다. 즉 '가'를 해석하기 위해 명사일 경우를 먼저 가정해서 살펴 보고 분석이 실패할 경우 조사 그리고 접미사의 순으로 해석을 시도한다. 본 발명에서는 이러한 관련 품사의 순서를 두 가지 레벨의 규칙을 이용하여 정의한다. 즉 품사들간의 우선 순위, 그리고 각 어휘별 품사 우선 순위 규칙을 이용한다. 한 형태소의 품사열 순위는 특정 어휘인 경우 사전 작성된 품사 선호 순위에 따라서 결정되며, 그 외의 어휘인 경우는 일반적인 품사들간의 우선 순위에 따라서 결정된다.
(3) 문법 사전(36)
본 발명은 상기한 바와 같이 실시예에 따라 5가지의 정보 벡터로 구분하여 구축되어 있는 기본 해석 사전을 활용하기 위하여, 그에 상응하는 형태로 형태소 분석을 위한 연결 문법을 구축한다.  즉, 주어진 2개의 형태소 또는 단위 정보가 연결이 가능한지를 표현하는 문법이다.  이러한 연결 문법은 5개의 정보로 구성되는 품사 사전 항목 간의 연결 여부 및 강도(예컨대, 0, 1, 2,...)를 기술한다.  이하에서는, 본 발명에 따른 문법 규칙을 구체적인 예를 통해 설명한다.
또한, 본 발명에 있어서, 이하의 문법 규칙에서 각 규칙의 뒤에 기술된 연결 강도 '1'은 앞의 정보와 뒤의 정보의 결합이 문법적임을 의미하는 것이며, '0'은 불가능하다는 것을 나타낸다. 이 이외에도 결합되는 형태소들간의 결합 강도 여부를 계층적으로 표현할 수 있어서, 띄어쓰기 오류(예컨대, 안먹는, 못가는 등등)처럼 국어 문법에서는 비문법적인 표현이지만, 실제적 사용에서는 잘못 쓰인 부분을 처리할 수 있다. 연결 강도가 1인 규칙이 제일 우선시되고, 그 다음 강도를 가지는 규칙을 우선하여 적용한다.
가. 동사와 어미의 연결 가능함을 표현하는 문법 규칙
{pv}{*}{*}{*}{*}    <->         {ef}{*}{*}{*}{*} 1
({pv}는 동사임을, {ef}는 어미에 대한 어류태그)
나. 조사와 조사는 연결 가능하지 못함을 표현하는 문법 규칙
{j}{*}{*}{*}{*}              <->         {j}{*}{*}{*}{*} 0
({j}는 조사에 대한 어류태그)
다. 종성의 여부에 따라서 연결 가능한 조사의 형태가 달라짐을 뜻하는 형태에 따른 연결 여부를 표현하는 문법 규칙
{*}{n}{*}{*}{*}     <->         {j}{n}{*}{*}{*} 1
{*}{y}{*}{*}{*}     <->         {j}{y}{*}{*}{*} 1
({n}은 종성이 없는 형태소이며. {y}는 종성이 있는 형태소인 것에 대한 정보)
라. 허용되는 문법 규칙
많은 데이터에서 '안먹는다, 잘간다, 못놀겠다'와 같이 띄어쓰기 오류인 어절들을 많이 찾아 볼 수 있다. 이와 같은 어절들은 한국어 문법에 의하면 '안 먹는다, 잘 간다, 못 놀겠다'와 같이 써야 한다. 그래서 아래의 예1)처럼 형태소 분석에 실패하게 된다.
예1) 안먹는다 안먹는다_{unk}
잘간다 잘간다_{unk}
못놀겠다 못놀겠다_{unk}
({unk}는 미등록어라는 정보를 나타낸다)
이러한 어절을 해결하기 위해서, 본 발명에 따르면 아래와 같은 허용 문법 규칙을 적용할 수 있다.
{ad}{fc_adpred}{*}{*}{*} <-> {pv}{*}{*}{*}{*} 2
{ad}{fc_adpred}{*}{*}{*} <-> {pa}{*}{*}{*}{*} 2
( {ad}는 부사, {adpred}는 용언과 잘 쓰이는 부사에 대한 정보를 나타낸다)
위의 문법을 적용한 후에, 아래의 예)2처럼 '안먹는다, 잘간다, 못놀겠다'와 같이 띄어쓰기 오류인 어절들에 대해 분석이 가능하게 된다.
예2) 안먹는다 안_{ad} + 먹_{pv} + 는다_{ef}
잘간다 잘_{ad} + 가_{pv} + ㄴ다_{ef}
못놀겠다 못_{ad} + 놀_{pv} + 겠다_{ef}
마. 상기 문법 규칙 이외에, 연결의 제한/특수성을 표현하기 위하여 양방향 화살표가 아닌 단방향 화살표를 허용한다.  예를 들어, 오른쪽 화살표(->)의 경우, 화살표 왼쪽의 복합 품사는 화살표 오른쪽의 복합 품사와만 연결이 가능함을 나타낸다.  왼쪽 화살표(<-)는 반대 의미를 나타내며, 이는 연결 문법을 넓은 품사 영역에서 좁은 품사 영역으로 효과적으로 제한하며 기술하는 것을 가능하게 해준다.
보다 구체적인 예를 들어 설명하면,
{nq_per}{*}{*}{*}{*}        <->         {j}{*}{*}{*}{*} 1
{ncn}{*}{*}{*}{*}           <->         {j}{*}{*}{*}{*} 1
{nfix}{*}{*}{*}{*}          <->         {j}{*}{*}{*}{*} 1
({nq_per}는 사람 고유명사, {ncn}는 일반명사, {nfix}는 명사화접미사에 대한 어류태그)
위의 표현은 {nq_per}, {ncn}, {nfix}의 어류 태그를 가진 단어들은 {j} 어류 태그를 가진 형태소와 결합이 가능함을 의미한다.  즉, 의미적 정보에 {per}를 가지고 있는 어류 태그는 명사, 접미사 등 여러 어류 태그가 있다.  이들 어류 태그는 통사적 정보에 {accu}를 가지고 있는 조사{j} 이외의 다른 조사와 자유롭게 결합할 수 있다.  반면에, 통사적 정보가 {accu}를 가진 조사{j}는 의미적 정보에 {per}를 가진 어류 태그와 결합이 가능하다.  이를 문법에서 표현하면 다음과 같다.
{nq_per}{*}{*}{per}{*}     <-          {j}{*}{accu}{*}{*} 1
{nfix}{*}{*}{per}{*}       <-          {j}{*}{accu}{*}{*} 1
({per}는 사람의 의미적 정보, {accu}는 여격에 대한 통사적 정보)
위의 표현의 경우, 통사적 정보에 {accu}를 가지고 있는 조사는 어류 태그 중에 의미적 정보가 {per}인 명사류와만 결합될 수 있음을 의미한다.
예를 들어, 조사{j}의 부류에 속하는 '에게'는 통사적 정보가 {accu}인 조사이다.  이 경우, '에게'는 '책상에게', '의자에게', '텔레비젼에게', '창문에게', '군대에게'처럼 의미적 정보에 {per}가 아닌 경우는 '에게'와 결합할 수 없으나, '선생님에게', '어머니에게', '의사에게'처럼 의미적 정보가 {per}인 명사군들과는 결합할 수 있다.  {accu}의 통사적 정보를 가지는 조사{j}는 일반적인 다른 조사와는 달리 명사의 정보에 따라 선택적으로 결합함을 위와 같이 표현할 수 있다.
(4) 사용자 사전(38)
일반적인 형태소 분석 시스템에서 어휘 사전은 언어학 전문가에 의해 구축되는데, 이에 따라, 한번 구축되면 계속 발생하는 신조어나 형태소 분석기가 적용되는 사이트만의 요구를 자주 반영하기 쉽지 않다. 그러므로, 본 발명에 따르면, 형태소 분석기에 대한 전문 지식이 없는 사용자도 쉽게 신조어를 등록할 수 있도록 사용자 사전(38)이 제공된다. 본 발명의 사용자 사전(38) 역시 동일한 기능을 가지며, 사용자 사전에 등록된 형태소들은 어휘 사전에 존재하는 형태소들보다 우선적으로 적용되게 구성된다. 사용자가 품사를 특별히 지정하지 않는 한, 가장 많이 나타나는 품사인 명사를 품사값으로 갖도록 구성된다.
2. 임포터(20)를 이용한 다차원 해석 사전(30)의 자동 구축
도 3은 본 발명의 한 가지 실시예에 따른 임포터를 이용한 다차원 해석 사전의 구축 과정을 보여주는 도면이다.
임포터(20)는 온톨로지 데이터베이스(10)에 저장되어 있는 정보, 즉 태스크 온톨로지로 작성된 데이터 엔트리(어휘나 표현)들과 그것들의 의미 정보 및 의미 정보간의 관계를 추출하여 다차원 해석 사전에 반영하는 역할을 한다. 예를 들어, 쇼핑몰을 위한 태스크 온톨로지에는 제품명이 데이터 엔트리에 해당하며, '가전', '의류', '화장품'과 같은 각 제품이 가질 수 있는 제품 분류가 의미 정보에 해당하고, '가전'이 '생활가전', '영상가전', '음향가전' 등으로 구성되는 것과 같은 분류 간의 포함관계 등이 의미 정보간의 관계에 해당한다. 즉, 하나의 데이터 엔트리는 하나 이상의 온톨로지에 정의된 의미 정보를 가진다. 임포터는 이러한 데이터 엔트리가 가지는 의미 정보를 형태소 해석시 같이 출력할 수 있게 온톨로지 데이터베이스를 분석해서 다차원 해석 사전에 적용하는 역할을 수행한다.
먼저 데이터베이스 형태로 저장되어 있거나 텍스트 형태로 저장되어 있는 태스크 온톨로지에서 정보를 하나씩 가져온다(S10). 가져온 정보들은 의미 정보를 가지는 하나의 표현인지 혹은 의미 정보간의 관계(엔트리 사이의 관계)를 나타내는 지에 따라서 차별적으로 처리한다(S11).
데이터 엔트리에 대한 내용일 경우 어휘 사전에 반영하는데, 데이터 엔트리 사이에 관계가 있는 경우(S21), 품사 사전과 문법 사전에 다음과 같은 분석 과정을 통해서 반영된다.
우선 태스크 온톨로지에 사용되는 모든 의미 정보의 부류는 5차원의 품사 정보 중 의미 정보 필드에 기입한다. 의미 정보 필드에 태스크 온톨로지의 의미 정보 부류를 지시하는 명칭을 삽입하는 형태로 새로운 품사를 품사 사전(32)에 추가한다. 그리고, 태스크 온톨로지에 작성되어 있는 2개의 의미 정보 간의 연결 가능 여부는 문법 사전에 반영한다(S22). 예를 들어, 고객 주소를 나타내는 태스크 온톨로지를 반영할 경우, {city}, {street}, {zipcode} 등과 같은 의미 정보 분류를 지시하는 표현을 의미 정보 필드에 삽입한 품사를 생성해서 품사 사전에 추가한다. 또한, 도시명 다음에 동명이 올 수 있고 도시명 다음에 우편번호가 올 수 없다는 정보는 다음과 같은 문법 규칙을 문법 사전에 추가해서 반영한다.
{*}{*}{*}{*city}{*}        <->         {*}{*}{*}{*street}{*} 1
{*}{*}{*}{*city}{*}        <->         {*}{*}{*}{*zipcode}{*} 0
이러한 분석 및 규칙 삽입은 대상 태스크 온톨로지의 표현 형태에 따라서 자동 및 수동으로 반영한다. 각각의 데이터 엔트리가 가지는 온톨로지에서의 의미 정보는 다차원 해석 사전의 품사로 유추가 가능하다.
데이터 엔트리인 경우에는(S11, Yes), 형태소 분석(S12)을 통해서 삽입 대상 표현에 대한 정보를 자동으로 추출한다. 형태소 분석이 실패한 경우(S13, No), 이는 형태소 분석기가 분석할 수 없는 신조어로서 표현 전체를 하나의 단위로 간주하여 사용자 사전에 온톨로지에서의 의미 정보를 지칭하는 필드값을 삽입한 품사를 가지도록 해서 삽입한다(S16). 형태소 분석이 성공한 경우(S13, Yes), 이는 현재 다차원 해석 사전에 존재하는 표현이거나 다차원 해석 사전에 존재하는 표현들의 결합으로 구성되는 표현인 것을 의미한다. 해석 결과가 하나의 용언일 경우에는(S14, Yes) 다차원 해석 사전에서 가지던 원래 품사값에서 태스크 온톨로지에서 가지는 의미 분류를 지칭하는 값을 추가한 품사를 가지게 하여 삽입하고 사전에 반영한다(S15, S20). 즉, 현재 다차원 해석 사전에서 가지고 있던 다차원 품사 정보에서 의미 정보를 변경하여 온톨로지에서 사용되는 의미 정보를 지칭할 수 있는 필드값을 삽입하는 형태로 변경한다.
해석 결과가 여러 개의 단어로 구성된 경우에는(S14, No), 사용된 품사 형태에 따라서 선별적으로 삽입한다. 즉, '먹+다', '입+다', '노랗+다'와 같이 용언의 원형과 형식 형태소의 결합인 경우는, 형식 형태소를 제외한 실질 형태소('먹', '입', '노랗')만을 삽입한다. 그리고, '007 카지노 로얄'과 같은 명사들의 결합인 경우는 단어 전체를 어휘 사전에 반영한다. 모든 삽입 과정에서 현재 다차원 해석 사전에 존재하는 경우에는(S17, Yes) 기존 품사에서 의미 정보 필드값만 변경하여 삽입하며 그렇지 않은 경우에는 명사의 품사에 의미 정보 필드값을 추가한 품사를 삽입한다. 그리고, 현재 다차원 해석 사전에 존재하지 않는 표현인 경우(S17, No), 대상 항목을 분석하여 마지막 음절의 종성 여부(fc), 불규칙 활용 여부(ㅂ 불규칙, ㄹ 불규칙 등), 마지막 음절의 음운적인 특성(양성, 음성) 등을 추출하여, 어류 태그와 품사 항목을 작성하여 삽입하고(S18), 형태적 정보를 추가한다(S19).
이와 같이 태스크 온톨로지에 작성되어 있는 표현과 의미 정보를 다차원 해석 사전에 반영하여 형태소 분석시 인식 및 추출이 가능해진다. 예를 들어, '바람과 함께 사라지다'가 영화명으로 삽입된 경우, 이는 하나의 명사와 비슷한 품사값을 가져 '나+는 바람과_함께_사라지다+가 좋+아'로 분석되며, '바람과_함께_사라지다'가 가지는 품사의 의미 정보 필드를 통해서 영화명임을 확인할 수가 있게 된다.
B. 패턴 일치기(200)
패턴 일치기(200)는 긍정/부정/중립의 자질(features)과 언어적인 정규 패턴(linguistic regular pattern) 및 문법을 이용하여 입력 문서의 성향을 분석해 내고 그 분석 결과를 수치화하는 역할을 한다. 본 발명에서, 패턴 일치기(200)는 보편적인 언어적 지식(linguistic knowledge)을 이용하여 감성 의견을 판별하도록 되어 있어, 도메인 의존도가 적어 다양한 사이트의 문서를 분석하는 데에 용이하다. 패턴 일치기(200)는 긍정/부정/중립을 판별할 수 있는 표현들로 구축된 감성어 사전(240)과 문법 사전(250)을 이용하여 감성 분석을 수행한다. 즉 문서를 구성하고 있는 형태소/단어/어절/구(phrase) 등이 긍정/부정/중립인가에 대한 정보를 이용하여 감성 분석을 수행한다. 이하에서는 이를 보다 구체적으로 설명한다.
1. 문장/단락/문서 인식 유닛(210)
본 발명에 따라 제공되는 감성 분석 시스템은 문서를 분석하기 전에 그 대상이 문장인지, 단락인지 혹은 문서인지를 문장/단락/문서 인식 유닛(210)를 통해 선택한다. 즉 문장/단락/문서 인식 유닛(210)은 사용자가 분석 대상이 문장, 단락 등인지를 선택할 수 있도록 하는 사용자 인터페이스를 제공하고, 사용자가 상기 인터페이스를 통해 그러한 선택을 하면, 상기 인식 유닛이 후술하는 내용에 따라 분석을 수행한다. 이때, 문장/단락은 형태소 분석기(100)로 분석된 형태소의 태그들을 이용하여 인식된다. 이하, 보다 구체적으로 설명한다.
본 발명에 따르면, 입력 문서의 감성을 분석할 때 분석 단위를 옵션으로 입력할 수 있는데, 문장/단락/문서 인식 유닛(210)은 입력된 문서에 맞게 분석 단위를 문장, 문단 혹은 문서 전체로 나눠주는 역할을 하며, 다음과 같이 동작한다.
다음의 예1)을 참조하면, 입력된 문서는 상기 형태소 분석기(100)에 의해 각 형태소 별로 다음의 예1)과 같이 분석된다.
Figure 112010041756817-pat00001
<예 1>
형태소 분석기(100)로부터 입력된 문서에 대한 형태소 분석 결과를 받은 문장/단락/문서 인식 유닛(210)은 형태소 분석 결과 부여된 태그 중에 문장을 지시하는 태그({Sen})를 가진 형태소 뒤에 <.>, <?> 등의 문장 마침을 나타내는 ascii 태그를 가진 형태소가 출현한 경우 문장으로 인식한다(상기 예1 참조). 아울러, 문장/단락/문서 인식 유닛(210)은 상기와 같은 방식으로 문장을 검출하면서, 입력된 문자열에서 줄이 바뀌는 부분이 있으면, 그것을 인식하여 분석 단위를 문단으로 구분한다(이하의 예2 참조). 그리고, 문서의 경우 입력된 전체 문자열을 한 분석 단위로 묶어주게 되는데, 이는 상기와 같은 문단, 문장 구별 없이, 문장 및 문단을 포함하는 전체를 하나의 분석 단위로 삼아 분석 대상으로 삼는다는 것을 의미한다. 문장/단락/문서 인식 유닛(210)에 의해 이와 같이 검출된 입력된 문서의 분석 단위는 사용자의 요구에 따라, 문장 단위로 혹은 단락 단위로 혹은 문서 전체의 단위로 감성 분석의 결과를 알려주게 된다.
Figure 112010041756817-pat00002
<예 2>
한편, 상기 인식 유닛은 HTML 문서도 인식할 수 있도록 구성되는데, HTML이 갖고 있는 속성을 이용한다. 구체적으로, 본 발명에 따르면, 웹에서 추출한 html 문서를 다음의 태그 예제와 같은 패턴의 HTML 태그가 나타나는 지점을 중심으로 단락을 구분할 수 있다.
태그 예제) <p><strong>
<P><FONT color=#333333><FONT color=#333399>
<p><span style="font-size: medium;">
보다 구체적인 예를 들어 설명하면, 아래의 문서는 "한나라당, 여자는 아는 게 쥐뿔도 없다?"라는 제목의 인터넷 신문 기사이다. 이 문서는 중간중간에 굵은 글씨로 씌어진 라인이 있는데, 라인을 중심으로 주제가 바뀐다. 한 예로 "한나라당은 여성유권자가 그렇게 만만한가?"라는 라인을 발췌하였다.
Figure 112010041756817-pat00003
이때, 굵은 글씨로 처리된 부분은 html 원문에 아래와 같이 태그가 붙여져 있음을 확인할 수 있다.
<p align=justify><STRONG>한나라당은 여성유권자가 그렇게 만만한가?</STRONG></P>
html문서를 본 발명의 분석 장치에 입력문서로 사용할 수 있도록 가공하는 단계에서 위 태그가 보여지는 부분부터 새로운 단락으로 구성한다. 가공이 완료되면 아래와 같은 모습이 된다.
Figure 112010041756817-pat00004
2. 패턴 일치 판단 유닛(220)
패턴 일치 판단 유닛(220)은 입력된 문자열에 대한 형태소 분석 결과의 형태소들을 일정 개수씩 그룹지워 연결하면서, 그것과 대응하는 패턴이 감성어 사전(240)에 저장되어 있는 패턴이 존재하는지 여부를 판단하는 유닛이다. 이하에서, 그 동작을 설명한다.
패턴 일치 판단 유닛(220)은 형태소 분석기(100)에 의해 분석된 형태소들을 정해진 n개부터 1개까지 차례대로 조합하여 패턴을 만들어, 그 패턴이 감성어 사전(240)에 포함되어 있는지 여부를 판단한다. 그 결과, 감성어 사전에 포함되어 있는 경우, 유효 패턴으로 추출하고 감성어 사전의 감성으로 치환한다. 치환된 감성과 추출된 패턴의 위치를 기본으로 하여, 후술하는 문법 일치 판단 유닛(230)이 기동하여, 그 패턴을 기준으로 각각 앞과 뒤에 정해진 수 n만큼의 형태소를 확장한 패턴부터 양쪽을 정해진 룰대로 하나씩 줄여가면서 패턴을 만든 후, 그 패턴이 문법 사전(250)에 포함되는지 여부를 판별한다. 한편, 문법 일치 판단 유닛(230)에 의해 아무 패턴도 검색하지 못한 경우에는 패턴 일치 판단 유닛(220)에 의해 검색된 감성과 점수를 기록한다. 이러한 과정을 보다 구체적인 예를 통해 설명하면 다음과 같다.
"매력적이지 못한 상황"이라는 문자 구조에 대해, 형태소 분석기(100)에 의해 다음과 같이 형태소 분석된 패턴을 상정한다.
"매력_{ncn} + 적_{nfix} + 이_{jp} + 지_{ef} + 못하_{aux}"(패턴1)
즉 패턴 일치 판단 유닛(220)은 형태소 분석기에 의해 분석된 결과를 기초로 상기 예와 같은 패턴을 생성하고, 그 패턴이 감성어 사전(240)에 포함되어 있는지를 판단한다. 그 결과, 감성어 사전에 없으면, 패턴 일치 판단 유닛(220)은 상기 패턴 중 형태소 하나를 제거하여 다음과 같은 패턴을 생성한다.
"매력_{ncn} + 적_{nfix} + 이_{jp} + 지_{ef}"(패턴2)
다시, 상기 새로이 생성된 패턴이 감성어 사전에 포함되어 있는지 여부를 판단하고, 포함되어 있지 않으면, 동일한 과정을 통해 다음과 같은 패턴을 생성한다.
"매력_{ncn} + 적_{nfix} + 이_{jp}"(패턴3)
다시, 상기 새로이 생성된 패턴이 감성어 사전에 포함되어 있는지 여부를 판단하고, 포함되어 있지 않으면, 동일한 과정을 통해 다음과 같은 패턴을 생성한다.
"매력_{ncn} + 적_{nfix}"(패턴4)
한편, 감성어 사전에는 "매력_{ncn} + 적_{nfix} P3"가 저장되어 있고, 따라서, 패턴 일치 판단 유닛(220)은 상기 패턴4가 감성어 사전에 포함되어 있는 것을 검색하고, 패턴4를 감성어 사전의 감성인 긍정(pos)으로 치환한 후, 후술하는 문법 일치 판단 유닛(230)이 치환된 감성 정보와 패턴의 위치를 가지고 문법 사전(250)을 참조하여 문법 사전에 맞는 패턴을 찾는다(이에 대해서는 후술한다). 한편, 문법 일치 판단 유닛(230)이 문법 사전에서 맞는 패턴을 찾지 못한 경우, 패턴4에서 찾은 감성(pos)과 점수(P3)를 이용하여 문서 전체를 위한 점수 저장소 중 긍정에 3단계의 점수 P3('P3'는 긍정 가중치 중 3단계의 점수를 기호화한 것으로, 이하에서 상세하게 설명한다) 를 가산하고, 입력된 구분단위 옵션에 따라 구분 단위별 저장 장소 중 긍정에 3단계의 점수 P3를 가산한다. 예를 들어, 입력된 구분단위 옵션이 라인에 해당하는 것이고, 추출된 패턴의 위치가 3라인이라고 한다면, 3라인에 해당하는 긍정 점수 자료 구조에 3단계의 점수 P3가 가산된다(도 4 참조). 한편, 상기 점수 저장소는 메모리에 일시적으로 저장되는 데이터 자료 구조로서, 본 발명에 따른 시스템이 문장 분석을 할 때 해당 값을 저장하고, 가산하고 활용하는 등의 목적으로 이용된다. 도 4에는 상기 데이터 자료 구조를 시각적으로 보여주는 예시적인 구조가 도시되어 있다. 이처럼, 소프트웨어에서 데이터 자료 구조를 메모리에 일시적으로 저장하고 활용하는 방식 자체는 소프트웨어 업계 혹은 본 발명이 속하는 업계의 당업자라면 쉽게 이해할 수 있는 공지의 구성이므로, 그 상세한 설명은 생략한다.
3. 문법 일치 판단 유닛(230)
문법 일치 판단 유닛(230)은 패턴 일치 판단 유닛(220)에서 찾은 패턴의 감성을 포함하는 확장 패턴이 존재하는지 여부를 문법 사전(250)을 통해 검색하여 찾아내는 유닛이다.
문법 일치 판단 유닛(230)은 패턴 일치 판단 유닛(220)에서 추출되어 치환된 감성의 위치를 기준으로 각각 앞과 뒤에 정해진 수 n만큼의 형태소를 확장한 패턴부터 양쪽을 정해진 룰대로 하나씩 줄여가면서 패턴을 만든 후, 그 패턴이 문법 사전(250)에 포함되는지 여부를 판단한다. 만일 문법사전에 포함되는 패턴이 존재하면, 그 찾은 패턴에 대한 감성과 점수를 기록하는 해당 자료구조에 가산해 넣는다. 이를 보다 구체적인 동작 예를 통해 설명하면 다음과 같다.
(1) 확장패턴생성 : pos + 이_{jp} + 지_{ef} + 못하_{aux} + ㄴ_{ef}
(2) 문법사전에 확장패턴이 존재하는가? No
(3) 확장패턴생성 : pos + 이_{jp} + 지_{ef} + 못하_{aux}
(4) 문법사전에 확장패턴이 존재하는가? Yes
문법사전내용 : pos + 이_{jp} + 지_{ef} + 못하_{aux} N3
(5) 확장패턴 (pos + 이_{jp} + 지_{ef} + 못하_{aux})에 해당하는 감성(neg)과 점수 N3('N3'는 부정의 3단계 가중치 값을 기호화한 것이다)를 이용하여 문서 전체를 위한 점수 저장소 중 부정에 3단계의 점수 N3를 가산하고, 입력된 구분단위 옵션에 따라 구분단위별 저장 장소 중 부정에 3단계의 점수 N3를 가산한다. 예를 들어 입력된 구분단위 옵션이 라인에 해당하는 것이고, 추출된 패턴의 위치가 3라인이라고 한다면 3라인에 해당하는 부정 점수 자료구조에 3단계의 점수인 "N3'가 가산된다.
한편, 상기 구체적인 동작 예에서는 형태소를 1차원 벡터, 즉 어류태그 정보만으로 나타내었다. 즉 형태소 분석기(100)에 의한 형태소 분석은 5차원 벡터로 나타내었지만, 상기 동작 예에서는 어류태그 정보만을 포함하는 1차원 벡터로 나타내었다. 이는 설명의 편의를 위한 것이기도 하지만, 본 발명에 따라 형태소 분석시 반드시 5차원 벡터를 이용하여야 한다는 것은 아니라는 것을 의미한다. 즉 1차원, 혹은 2차원 등 5가지의 태그 정보가 아닌 그 보다 작은 태그 정보만으로 형태소를 분석할 수도 있으며, 다만, 형태소 분석의 정밀도만 다소 떨어지는 단점은 있지만, 이 역시 본 발명의 범위 내에 속하는 것이라는 것을 인식하여야 한다. 단, 1차원 벡터를 이용하는 경우, 형태소의 의미를 가장 잘 반영하는 어류 태그를 이용하는 것이 바람직하다.
4. 분석 사전
본 발명에 따르면, 입력된 문서를 분석하여 그 문서가 부정/긍정/중립인지를 판별하기 위하여, 긍정/부정/중립을 판별해 줄 수 있는 감성어 사전(240)과 문법 사전(250), 즉 분석 사전을 이하와 같은 규칙에 따라 구성한다. 감성어 사전과 문법 사전을 구축할 때 형태소들과 형태소들에 부여된 태그(본 발명에서는 품사를 태그로 지칭한다)를 이용하여 작성한다. 태그를 포함하지 않는 형태소만 사전에 수록하는 경우에는 동음이의어에 의해 잘못된 판별을 할 수 있다.
예) 이상_{ncp}과 이상_{ncn}
따라서, 본 발명에서는 형태소 분석기(100)를 이용하여 형태소를 분석한 후, 형태소와 그 형태소의 태그를 이용하여 긍정/부정/중립의 의미를 판별할 수 있도록 해주는 긍정어/부정어/중립어 감성어 사전(240)과 문법 사전(250)을 구축한다. 한편, 후술하는 바와 같이, 각 사전은 형태소 분석기에서 이용되는 사전과 마찬가지로, n차원 벡터를 이용하여 단어 등을 구축한다. 예컨대, 상기한 바와 같이, 5차원 벡터를 이용할 수도 있고, 형태소의 의미를 가장 잘 나타내어주는 어류 태그만을 이용하여 사전을 구축할 수도 있다.
예1) 지_{ef} + 않_{aux} N3
예2) 지_{ef}{*}{*}{*}{*} + 않_{aux}{*}{*}{neg}{*} N3
한편, 각 사전을 구축할 때 이용되는 어류 태그는, 형태소 분석기에 대해서 설명한 바와 같이, 그 어류 태그에 해당하는 형태소의 언어지식적 의미를 가장 잘 반영하는 것을 이용하여 나타낸다. 예컨대, {ncp}는 서술형 보통명사(predicative common noun), {ncn}은 비서술형 보통명사(non-predicative common noun), {abs}는 추상적(abstractive)인 의미를, {con}는 구체성(concrete)인 의미를 나타내는 어류 태그이다. {aux}는 보조용언(auxiliary)을 나타내며, {neg}는 부정(negative)임을 나타내는 어류태그이다. {*} 경우는 어떠한 어류태그라도 상관없거나, 아직 정해지지 않은 어류태그라는 것을 나타낸다. 형태소 분석기의 사전과 마찬가지로, 분석 사전에 사용되는 어류태그를 나타내는 방식 혹은 그 명칭은 본 발명의 시스템을 이용하는 사용자에 의해 다양하게 구현할 수 있으며, 본 발명이 그 어류태그 명칭 하나하나에 제한되지 않는다는 것을 이해하여야 한다.
(1) 감성어 사전(240)
감성어 사전(240), 즉 긍정어 사전(242), 부정어 사전(244) 및 중립어 사전(246)에 수록되는 어휘는 하나의 형태소에서부터 둘 이상의 형태소로 만들어질 수 있다.
가. 단일 형태소 단위
a. 부정어
예1) "이상_{ncp}"와 "이상_{ncn}"으로 형태소 의미 구분하여 수록
- strange의 의미를 가진 "이상_{ncp}"은 부정어 사전(244)에 수록하고, over의 의미를 가진 "이상_{ncn}"은 부정 판별에 작용하지 않는다.
예2) "유치_{ncp}{*}{*}{abs}{*}"와 "유치_{ncn}{*}{*}{con}{*}"
- 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"와 乳齒인 "유치_{ncn}{*}{*}{con}{*}"를 형태소 의미 구분하여 幼稚의 의미를 가진 "유치_{ncp}{*}{*}{abs}{*}"만을 부정어 사전(244)에 수록한다.
b. 긍정어
예1) "진작_{ncp}{*}{*}{abs}{*}"와 "진작_{ad}{*}{*}{*}{*}"
- 振作인 "진작_{ncp}{*}{*}{abs}{*}"과 태그가 부사(adverb)인 "진작_{ad}{*}{*}{*}{*}"을 형태소 의미 구분하여 振作인 "진작_{ncp}{*}{*}{abs}{*}"만을 긍정어 사전(242)에 수록한다.
c. 중립
예1) 출시_{ncp}{*}{*}{abs}{*}
예상_{ncp}{*}{*}{abs}{*}
예2) 그럭저럭_{ad}}{*}{*}{*}{*}
"출시, 예상, 예고"등과 같이 부정 혹은 긍정의 의미를 갖지 않는 단일 형태소들을 중립어 사전(246)에 수록한다. 중립어 사전에 입력된 어휘의 의미들은 이 어휘들이 "기술(記述)"하고 있는 대상들인 사건이나 상황에 대한 것을 객관화시켜 주는 어휘들이다. 즉, "예정_{ncp}{*}{*}{abs}{*}"의 경우에 아래의 예제처럼 어떤 사건이나 상황에 대한 사건에 대해 객관화시킨다. 이와 같은 경우에 해당하는 어휘들은 중립어 사전에 수록한다.
예3) 신기술 워크숍 및 유전체 관련 100여편의 연구 포스터, 기기 전시회도 함께 열릴 예정이다.
또는 "그럭저럭_{ad}{*}{*}{*}{*}"처럼 긍정도 부정도 아닌 감성적 표현이 경우에도 중립어 사전(246)에 수록한다.
나. 둘 이상의 형태소 단위
상기와 같이 하나의 형태소 단위일 때 긍정, 부정, 중립 등의 판별이 가능한 말도 있지만, 둘 이상의 형태소 단위가 되어야 전체적으로 긍정/부정/중립인지 여부를 판별할 수 있는 말도 있는데, 본 발명에서는 이러한 것을 어절 또는 구(phrase) 단위로 감성어 사전을 작성한다. 즉 "단어와 단어", "형태소와 형태소", "어절과 어절"이 결합됨으로써, "긍정"과 "부정"을 표현하는 경우가 있으므로, 이를 고려하여 감성어 사전을 구축한다.
a. 부정어
예: 불매+운동, 추천+금지, ...
깍아+내리다, 천정부지로+치솟다 ....
상기 예에서 볼 수 있는 바와 같이, "추천"은 긍정의 의미를 가지고 있으나, "금지"와 함께 사용하는 경우, 그 전체가 부정의 의미를 갖게 된다. 따라서, "추천+금지"를 부정어 사전(244)에 수록하지 않은 경우, "추천"이라는 단어 때문에, 해당 문장 또는 문서가 긍정의 의미를 가질 수 있다. 본 발명에서는 이와 같은 경우를 고려하여 부정어 사전(244)를 구축한다.
b. 긍정어
예) 기록+경신, 닭살+부부
뜨거운+반응, 본분을+다하다 ....
상기 예로 보여준 바와 같이, "닭살+부부"의 경우, 두 단어 자체만으로는 긍정 또는 부정인지 여부를 판별할 수 없다. 그러나, "단어와 단어,"형태소와 형태소", "어절과 어절"이 결합됨으로써, 긍정 혹은 부정을 표현하는 경우가 있다. "닭살+부부"가 이에 해당되는데, 각 단어가 결합하여 긍정의 의미를 갖게 되고, 따라서 이러한 경우를 고려하여 긍정어 사전(242)를 구축한다.
또한, "뜨거운 반응"의 경우, "뜨겁다"와 "반응"은 긍정 혹은 부정의 의미를 가지지 않지만, 두 어절이 합쳐지면서 긍정의 의미를 가지게 되므로, 따라서 이러한 경우를 고려하여 긍정어 사전(242)에 수록한다.
c. 중립어
"설문+조사"와 같이 "단어와 단어, "형태소와 형태소", "어절과 어절"이 결합되어도, 긍정 혹은 부정의 의미를 표현하지 않는 경우가 있다. 이 경우, 이 어휘표현을 가진 문서의 경우는 그 문서가 기술하는 대상이나 사건이나 상황에 대한 기술 대상이 "설문+조사"의 대상일 뿐이므로, 문서 자체의 감성적 가치인 긍정 및 부정의 가치에서 중립적인 가치로 객관화시키는 효과를 지닌다. 이러한 경우를 고려하여, 중립어 사전(246)을 구축한다.
(2) 문법 사전(250)
상기 감성어 사전을 이용하여 어떤 문장의 긍정 여부를 판별할 수도 있으나, 감성 분석시 문장과 문서를 분석하므로, 단순히, 형태소, 단어 등만을 갖고 그러한 판단을 하는 것은 부정확한 결과를 초래할 수가 있다. 따라서, 본 발명에 따르면, 감성어 사전에 수록된 형태소와 보편적인 형태, 통사, 의미 정보를 이용하여 문장이 표현하는 긍정/부정/중립 의미를 더욱 정확하게 판별할 수 있도록 다음과 같이 문법 사전을 구축한다.
본 발명에 따라 제공되는 문법 사전(250)은 각각의 형태소가 가진 태그 중에 긍정/부정/중립의 의미자질 및 긍정/부정/중립의 이외의 의미자질을 이용하여 규칙을 찾아내고, 그러한 규칙과 감성어 사전에 수록된 목록을 이용하여 문서의 긍정/부정/중립을 판별하는 데에 이용된다.
a. 부정의 의미
예1) {ncn}{*}{*}{pos}{*} + {j} + {pa}{*}{*}{neg}{}
긍정어 사전(242)에 있는 단어 및 표현을 이용한다. 즉 긍정어 사전(242)에 "영광{ncn}{*}{*}{pos}{*}"이 있는데, 이에 부정의 의미자질인 "{neg}"를 가진 "아니_{pa}{*}{*}{neg}{}"가 결합한 "영광 + 이_{j} + 아니_{pa}"는 긍정이 아닌 부정의 의미로 문법 사전에서 처리된다.
규칙 : pos + *_{ef}{*}{*}{*}{*} + *_{aux}{*}{*}{neg}{*} N3
예) 예쁘지 않다
규칙 : pos + ㄹ_{ef}{*}{*}{*}{*} + 수_{nbn}{*}{*}{*}{*} + *_{j}{*}{*}{*}{*} + 없_{aux}{*}{*}{neg}{*} N3
예) 성공할 수가 없다, 성공할 수도 없다.
한편, 상기 예에서 '*_{ef}'와 '*_{j}'는 구체적인 어휘를 지정하는 것이 아니라, 어류태그가 {ef}나 {j}와 결합한 어떠한 어휘가 와도 상관없음을 나타내는 것이다.
이와 같이, "긍정" 표현의 감성어 사전에 수록된 표현인 "예쁘다"에 "*_{ef} + *_{aux}{*}{*}{neg}{*}"과 "ㄹ_{ef}{ef}{*}{*}{*}{*} + 수_{nbn}{*}{*}{*}{*} + *_{j}{*}{*}{*}{*} + 없_{aux}{*}{*}{neg}{*}"음을 결합하면, 긍정 표현에서 부정의 표현으로 판별한다.
b. 긍정의 의미
규칙예) {ncp}{*}{*}{neg}{*} + {vfix}{*}{*}{neg}{}
예1) 회한없이, 박탈감없도록,....
부정어 사전(244) 사전에 있는 단어 및 표현을 사용한다. 즉 부정어 사전(244)에 "반발_{ncp}{*}{*}{neg}{*}"이 있는데, 이에 "없_{vfix}{*}{*}{neg}{}"가 결합한 "반발_{ncp}{*}{*}{neg}{*} + 없_{vfix}{*}{*}{neg}{}"는 부정이 아닌 긍정의 의미로 문법 사전에서 처리된다.
규칙예) neg + *_{ef}{*}{*}{*}{*} + *_{aux}{*}{*}{neg}{*} P3
예1) 실패하지 않는다, 멸망시키지 않는다, ...
규칙예) neg + ㄹ_{ef}{*}{*}{*}{*} + 수_{nbn}{*}{*}{*}{*} + *_{j}{*}{*}{*}{*} + 없_{aux}{*}{*}{neg}{*} P3
예1) 실패할 수 없다
"부정" 표현의 감성어 사전에 수록된 표현에 *_{ef} + *_{aux}{*}{*}{neg}{*}"과 "ㄹ_{ef}{ef}{*}{*}{*}{*} + 수_{nbn}{*}{*}{*}{*} + *_{j}{*}{*}{*}{*} + 없_{aux}{*}{*}{neg}{*}"음을 결합하면, 부정 표현에서 긍정 표현으로 판별한다.
c. 중립의 의미
긍정어 사전(242)에 있는 단어 및 표현이나 부정어 사전(244)에 있는 단어 및 표현을 이용한다.
규칙예1) neg + *_{j}{*}{*}{comb}{*} + 관련_{ncp}{*}{*}{*}{*} Nue3
예) 파탄과 관련....
-> 파탄{ncp}{*}{*}{*}{*} N3
-> 파탄과 관련 Neu3
규칙예2) pos + *_{j}{*}{*}{*}{*} + 관련_{ncp}{*}{*}{*}{*} Neu3
예) 성공과 관련...
-> 성공{ncp}{*}{*}{*}{*} P3
-> 성공과 관련 Neu3
위의 예에서 "파탄"의 경우, 부정의 가치를 가지나 규칙예1에 의해서 '서술(敍述)'의 대상이 되게 되므로 "부정"의 가치를 잃게 되어 중립의 가치를 갖게 된다. 또한, "성공"의 경우도 규칙예2에 의해서 "긍정"의 가치를 잃게 되어 중립의 가치를 가지게 된다.
이와 같은 경우를 문법사전에서 처리하여 중립(NEU)의 가지를 가지게 하도록 하였다.
즉 문법 사전(250)은 단순히 감성어 사전에 수록된 형태소, 단어 등만을 이용하여 문장의 긍정 여부를 판별하는 것이 아니라, 긍정 형태소(단어)에 부정의 의미자질을 갖고 있는 형태소가 결합하면, 부정의 의미로, 부정 형태소(단어)에 긍정의 의미자질을 갖고 있는 형태소가 결합하면, 긍정의 의미로 해석하는 역할을 한다. 즉 문법 사전에 어떤 규칙을 기술할 때, 긍정이나, 부정, 중립을 나타내는 어휘적 표현들을 찾아내어 이들간의 규칙성과 공통성을 찾아내어 사전을 구축하게 되는데, 이는 우리나라 말의 특수성을 고려한 것으로서, 문장 전체의 의미가 의미자질을 갖고 있는 형태소에 따라 긍정 혹은 부정의 의미로 해석되도록 함으로써, 문장의 긍정 여부 판별 성능을 더욱 높여 주는 역할을 하게 된다.
(3) 가중치
상기한 감성 사전의 예를 보면, 사전에 수록되는 형태소, 단어와 단어 등의 뒤에는 긍정 및 부정을 나타내는 감성과 가중치(예컨대, P3, N3)가 함께 저장됨을 알 수 있다. 이는 긍정의 강도, 부정의 강도를 나타내는 것으로서 값이 클수록 부정, 혹은 긍정의 의미가 더 강하다는 것을 의미하며, 실시예에 따라서는 5단계에 따른 값을 병기한다. 예컨대, "좋다"보다는 "아주 좋다"가 긍정의 의미가 더 강하므로, "좋다"보다는 "아주 좋다"에 대해 더 큰 가중치를 부여하여, 보다 정확한 감성 분석이 이루어질 수 있도록 상기 감성어 사전이 구성되어 있으며, 이 역시 본 발명이 중요한 한 가지 특징을 구성한다(이에 대해서는 이하에서 더욱 상세하게 설명한다).
(4) 기타
한편, 본 발명에 있어서, 상기 감성어 사전을 구축할 때 단순히 단어 형태를 나열하는 형태로만 구축하는 것이 아니라, 단어와 단어, 형태소와 형태소, 어절과 어절도 모두 포함하는 형태로 사전을 구축하여, 보다 정확한 감성 분석을 보다 쉽게 처리할 수 있도록 한다. 구체적인 예를 통해 설명하면 다음과 같다.
아래의 예1)은 단어와 단어 단위가 감성사전에 입력되어 있는 것에 대한 예로서, 띄어쓰기 되어 있지 않은 복합명사인 "찰떡호흡"과 띄어쓰기가 되어 있는 "찰떡 호흡"을 다음과같이 사전에 입력하면, 처리가 가능하게 된다.
예)1 찰떡_{ncn}{*}{*}{*}{*} + 호흡_{ncp}{*}{*}{*}{*} P3
다음의 예2)는 "형태소와 형태소"가 결합되어 있는 형태로서, 이 경우도 띄어쓰기 되어 있던 되어 있지 않던 이 형태와 있으면 이 감성사전 목록과 함께 긍정/부정/중립에 대한 판단의 근거가 된다.
예)2 기_{ef}{*}{*}{*}{*} + 좋_{pa}{*}{*}{*}{*} P3
구체적으로, "먹기좋다/먹기 좋다, 살기좋다/살기 좋다.."와 같은 경우는 상기 규칙에 의해 긍정의 의미를 가지게 된다(상기 예에서, "기_{ef}{*}{*}{*}{*}"의 "{ef}{*}{*}{*}{*}"는 "어미"를 지칭하는 어류 태그이며, "좋_{pa}{*}{*}{*}{*}"의 "{pa}{*}{*}{*}{*}"는 "adjective predicate"인 "형용사"를 지칭하는 어류 태그이다.)
띄어쓰기 되어 있는 두 어절인 "반응이 싸늘하다"는 다음과 같이 감성 사전에 포함된다.
예3) 반응_{ncp}{*}{*}{*}{*} + 이{j}{*}{*}{*}{*} + 싸늘하_{pa}{*}{*}{*}{*} N3
이 경우는 "반응이 싸늘한데, 반응이 싸늘하고..."와 같이 띄어쓰기가 되어 있는 두 어절인 "반응이"와 "싸늘하"가 부정을 판단하는 근거가 된다.
이처럼, 본 발명에 따르면, 감성 사전을 구축할 때 단어와 단어, 형태소와 형태소, 어절과 어절 등도 모두 포함시켜, 두 단위가 결합하여 부정 혹은 긍정의 의미를 갖는지를 수록함으로써, 추후 문장 등의 감성을 분석할 때 이를 활용하여, 보다 정확하게 그리고 보다 빠르게 감성을 판단할 수 있게 된다.
3. 감성 분석 판별 방법
본 발명은 단순히 분석 사전에 저장된 긍정/부정/중립 목록, 문법 사전의 문법 규칙을 이용하여 문장 전체의 감성 분석을 판별하는 것에 더 나아가, 긍정/부정/중립의 감성을 표현하는 용어들의 긍정/부정/중립의 강도를 나타내는 가중치(weight)를 부여하고, 이러한 가중치 및 문서 전체의 길이를 고려하여, 입력 문서의 긍정/부정/중립의 정도에 평가값을 부여하고 이를 산출하는 것을 또 하나의 특징으로 한다.
(1) 용어의 가중치
본 발명에 따르면, 용어에 가중치를 제한 없이 정해진 규칙에 따라 적용하고, 이를 통해 용어의 긍정/부정/중립적 표현의 강도를 산출해내도록 한다. 즉 긍정/부정/중립 용어들의 긍정/부정/중립의 감성적 강도에 따라 긍정/부정/중립의 가중치를 달리 부여하여 문장/문단/문서의 감성 표현을 분석하여 판단한다. 본 발명에 따르면, 감성 강도에 따라 1(최저)에서 무한대의 가중치를 부여할 수 있으며, 본 발명의 한 가지 실시예에서는 5단계의 가중치를 부여한다.
규칙1) 정말_{ad}{*}{*}{*}{*} + neg N4
예) 겁나_{pv}{*}{*}{*}{*} N3
정말_{ad}{*}{*}{*}{*} + 겁나_{pv}{*}{*}{*}{*} N4
(ex. 정말 겁나는데, 정말 무섭다......)
규칙2) 정말_{ad}{*}{*}{*}{*} + pos P4
예) 예쁘_{pa}{*}{*}{*}{*} P3
정말_{ad}{*}{*}{*}{*} + 예쁘_{pa}{*}{*}{*}{*} P4
(ex. 정말 예쁘다, 정말 우수하다....)
한 가지 실시예에 있어서, 겁나_{pv}{*}{*}{*}{*}는 감성어 사전에 부정적 의미로 수록됨과 아울러, 그 강도를 3단계의 가중치인 N3를 부여하여 저장될 수 있는데, 정말_{ad}{*}{*}{*}{*}과 문서 내에 사용됨으로써, 그 부정의 의미가 증대되어, 감성 분석시 그 전체가 부정적 의미 강도 4단계인 "N4"가 된다. 한편, 모든 부정적 표현 각각을 사전에 올리는 것이 아니라, 규칙 1을 만들어 쉽고 간결하게 강도 조절을 할 수 있다.
예컨대, "정말_{ad}{*}{*}{*}{*}"과 긍정어 사전(244)에 있는 표현 "예쁘다, 우수하다"와 함께 쓰이는 경우, "예쁘다, 우수하다"의 긍정표현의 값은 3단계의 값 "P3"이지만, 강조하는 "정말"과 함께 쓰이는 "정말 예쁘다, 정말 우수하다"의 긍정표현은 그 긍정의 정도가 더 강하다. 따라서, 규칙 2에 의해, "정말 예쁘다, 정말 우수하다"의 경우는 긍정값이 4단계인 "P4"가 된다.
이 경우, 본 발명에 있어서, 긍정/부정/중립의 각각의 표현들을 일일이 사전에 수록하는 것이 아니라, 형태소가 가지는 의미태그를 이용하던지, 감정사전에 수록된 감성용어들을 neg, pos, neu와 같이 일종의 tag를 부여하여, 이 태그들과 어휘들의 조합에 의해 규칙1, 규칙2와 같이 규칙을 만들어서, 이 규칙들을 문법사전에 기록하면, "정말 예쁘다, 정말 우수하다"와 같은 용어들을 사전에 수록하지 않아도, 긍정 혹은 부정의 감성 표현을 보다 정확하게 평가할 수 있게 된다.
한편, 상기한 바와 같이, 본 발명에 있어서, 긍정과 부정의 경우, 가중치를 "1단계, 2단계, 3단계, 4단계, 5단계"와 같이 5단계로 나누어 그 값을 각각의 단계에 긍정어 "P1, P2, P3, P4, P5"와 부정어 "N1, N2, N3, N4, N5", 중립어 "Neu1, Neu2, Neu3, Neu4, Neu5"와 같이 기호화된 점수를 부여하여 처리할 수 있다. 본 발명에 있어서, 점수를 각각의 단계에 부여하고, 3단계의 점수를 기준점수로 하는데, 본 발명이 이들 값으로 제한되는 것은 아니며, 각 점수는 임의로 규정할 수 있다는 것을 이해하여야 하며, 감성어 사전(240)의 각 사전 및 문법 사전(250)에 후술하는 각 단계의 가중치가 모두 적용될 수도 있고, 일부 단계의 가중치만 적용될 수도 있다.
1) 1단계 : 긍정 P1, 부정 N1, 중립 Neu1
긍정/부정/중립 표현들 중에 그 어휘적 표현 자체만으로는 온전하게 긍정/부정/중립의 값을 가지지 못하고 함께 사용된 다른 어휘적 표현(긍정/부정 용어가 아니더라도)의 도움을 받아야 온전하게 긍정/부정/중립이라는 감성표현을 나타내는 어휘에 대해 가중치 P1, N1, Neu1을 부여한다. 이러한 가중치는 한 가지 예에 불과한 것이고, 상기 값보다 크게 혹은 작게 할 수도 있다는 것을 이해하여야 한다. 예를 들어 설명하면 다음과 같다.
예) 호감_{ncn}{*}{*}{*}{*} P1
- 호감이 있다 P3
- 호감이 없다 N3
예) 실수_{ncp}{*}{*}{*}{*} N1
- 실수가 있다 N3
- 실수가 없다 P3
상기 예에서, 호감과 실수가 각각 긍정어 사전(242) 및 부정어 사건(244)에 상기와 같은 패턴 및 가중치를 갖고 수록되어 있다. 그런데, 호감, 실수는 그 자체로 감성 표현을 하지 못하고, 예에서 나타낸 바와 같이 "있다", "없다"와 함께 사용될 때 그 감성, 즉 부정인지 긍정인지를 표현하게 되며, 따라서 이하와 같은 규칙을 문법 사전(250)에 구축하여, 감성 분석시 정확한 감성을 평가할 수 있도록 한다.
규칙 1: pos + *_{j} + 있_{pa} P3
pos + *_{j} + 없_{pa} N3
규칙 2: neg + *_{j} + 있_{pa} N3
neg + *_{j} + 없_{pa} P3
즉 상기 예에서, 긍정어 사전(242)에 "호감"이라는 단어가 긍정값 P1을 갖고 수록되어 있으나, 함께 사용되는 용어(있, 없)에 따라 그 감성이 표현되므로, 문법사전에 수록된 상기 규칙에 따라, 최종적으로 감성 분석된 결과에 따라, 상기와 같은 가중치의 값을 갖게 되어, 자료 구조에 저장된다.
2) 2단계 : 긍정 P2, 부정 N2, 중립 Neu2
일반적인 긍정/부정의 표현의 경우보다 강도가 약하게 되는 경우, 2단계 점수인 P2, N2, Neu2의 가중치를 부여하여 감성 분석에 반영한다. 예컨대, 다음과 같은 규칙이 문법 사전(250)에 규정될 수 있다.
규칙 : pos + *_{j}{*}{*}{*}{*} + *_{ad}{*}{*}{Unit_S}{*} + 나_{pv}{*}{*}{*}{*} P2
예) 이익이 조금 났다 P2
이익이 났다 P3
상기 규칙 중 {ad}{*}{*}{Unit_S}{*}에서 {ad}는 부사를, {Unit_S}에서 {Unit}는 단위를 의미하는 "양, 크기, 무게..." 등의 의미를 가지며, {Unit_S}는 "조금, 덜, 작게..." 등과 같이, 단위 중에 작은 단위를 나타내는 태그이다.
형태소 분석을 통해 "이익"의 형태소가 분석되고, 이것이 패턴 일치기(200)의 패턴 일치 판단 유닛(220)이 감성어 사전(240)을 검색하여, "이익"이라는 일치되는 패턴을 찾아내고, 아울러 그 가중치 "P1"를 반영한다. 그런데, 이익은 상기 1단계의 경우와 마찬가지로, 같이 사용되는 용어에 따라 긍정/부정의 감성 표현이 달라질 수 있다. 문법 일치 판단 유닛(240)이 문법 사전(250)을 검색하여 "이익이 났다"라는 일치된 패턴을 찾아나게 되면, 상기 1단계 규칙에 따라 최종적으로 "P3"의 가중치가 부여되어, 자료 구조에 일시 저장되지만, "이익이 조금 났다"라는 패턴의 경우, {Unit_S}의 의미를 지닌 부사가 결합됨으로써, "이익이 났다"보다는 그 긍정의 강도가 감소되므로, 상기 2단계 규칙에 따라 "P2"의 가중치를 부여하여, 자료 구조에 저장한다.
3) 3단계 : 긍정 P3, 부정 N3, 중립 Neu3
일반적으로 긍정/부정을 나타내는 표현들은 긍정/부정 값의 기준 점수인 P3, N3, Neu3를 부여하여 감성어 사전(240)에 저장된다(이하의 예 참조). 이때, 그 강도에 따라, 상기 1 및 2단계, 그리고, 이하의 4단계 및 5단계에 따라 가중치가 증감될 수 있다.
예) 아프_{pa}{*}{*}{*}{*} N3
예) 예쁘_{pa}{*}{*}{*}{*} P3
예) 앙숙_{ncn} N3
.............
4) 4단계 : 긍정 P4, 부정 N4, 중립 Neu4
상기 2단계와 달리, 일반적인 긍정/부정의 표현의 경우보다 강도가 강하게 되는 경우, 4단계 점수인 P4, N4, Neu4를 부여한다.
규칙 : *_{ad}{*}{*}{amph}{*} + neg N4
예) 아프다_{pa}{*}{*}{*}{*} N3
-> 너무 아프다 N4
규칙: *_{ad}{*}{*}{amph}{*} + pos P4
예) 예쁘다_{pa}{*}{*}{*}{*} P3
-> 정말 예쁘다 P4
상기 예에서, "너무"와 "정말"은 뒤의 서술어를 강조하는(emphasis) 의미룰 가진 "강조 부사"로서, {ad}{*}{*}{amph}{*} 태그를 가진 부사는 함께 사용되는 어휘에 따라, 전체적으로 긍정 혹은 부정 양자의 감성을 표현할 수 있다. 예컨대, "너무"의 경우 긍정의 어휘와 함께 사용되는 경우 (예컨대, 너무 예쁘다), 전체적으로 긍정의 의미를 더욱 강조하지만, 부정의 어휘(상기 예에서와 같이, 아프다)와 함께 사용되는 경우, 부정의 감성이 강해진다. 이러한 것을 고려하여, 문법 사전에 상기와 같은 방식으로 규칙을 만들어 저장하고, 가중치의 값을 4단계의 값인 P4와 N4를 부여한다.
5) 5단계 : 긍정 P5, 부정 N5, 중립 Neu5
5단계의 점수는 문서의 특징에 따라서 문서의 평가에서 중요한 잣대가 되는 감성 표현을 고려한 가중치이다. 즉, 특수한 문서들의 감성적인 판단을 하기 위한 예외적인 표현들에 대한 보완책이라 할 수 있다. 예를 들면, 영화평의 경우, 이 영화에 대한 평이 긍정적인가 부정적인가 하는 것이 매우 중요하다. 이에 문서의 중요한 긍정/부정 판단에 중요한 표현의 경우에 대해서는 5단계의 점수인 P5, N5, Neu5를 부여한다. 그 구체적인 예는 다음과 같다.
예) 최악_{ncn}{*}{*}{*}{*} + 의_{j}{*}{*}{*}{*} + 영화_{ncp}{*}{*}{*}{*} N4
흥행_{ncp}{*}{*}{*}{*} + 참패_{ncp}{*}{*}{*}{*} N5
(2) 문서 길이의 정규화
본 발명에서는 문서의 길이에 따라 긍정/부정/중립 분석모델을 다르게 적용할 수 있다. 예컨대, 문서의 길이가 충분히 긴 경우 그 안에 포함된 긍정 부정 패턴들이 풍부해 최종 산출된 감성들의 점수차이 만으로도 감성의 구분이 명확해 지지만, 글의 길이가 짧은 경우 문서에 대한 전체 감성들의 점수 차이가 크지 않아 길이가 긴 글에서 사용하던 계산 모델로는 판단이 어려워 지게 된다. 따라서 본 발명에서는 글의 길이에 따라 다른 분석 모델을 적용한다. 예를 들어 분석 모델을 달리할 문서 길이의 기준 "Sen10"을 잡고, 이 기준 길이의 미만 길이의 글은 긍정의 점수와 부정, 긍정 점수의 차이 기준 "Point10"을 잡아 이에 따라서 감성 분석된 결과를 달리하므로, 이 경우에는 일반적인 문서를 감성 분석 방식을 적용하지 않는다.
예1) 길이가 긴 문서
Figure 112010041756817-pat00005
상기 예에서, 문서 길이는 1218, 긍정 점수는 2, 부정 점수는 49로 분석되는데, 문서 길이가 Sen10 이상이고, 문서 전체의 긍정 점수와 부정 점수의 차이가 Point10점 이상이 되므로 문서 전체를 부정의 감성을 갖는 문서로 분석한다.
예2) 길이가 짧은 문서
Figure 112010041756817-pat00006
상기 예에서, 문서 길이는 193, 긍정 점수는 6, 부정 점수는 1로 분석되는데, 문서 길이가 Sen10 미만이므로, 문서 전체의 긍정 점수와 부정 점수의 차이가 5점이지만 문서 전체를 긍정의 감성을 갖는 문서로 분석한다.
(3) 단락의 가중치
문서에 대한 전체 감성 점수뿐 아니라 옵션에 따라 정해지는 구분단위인 단락별 감성 점수가 존재한다. 전체 감성 점수를 산출할 때에 기본 산출 방식은 문서 전체에서 추출한 긍정/부정/중립 패턴들의 점수를 감성별로 합산하고, 합산 결과를 비교하여 값이 큰 감성을 대표 감성으로 분석한다. 이 분석 방법은 한 글에 여러 주제를 담고 있는 글 등 좀 더 세밀한 분석을 요하는 경우 오분석의 가능성을 안고 있다. 이 문제를 해결하기 위해 아래의 단락별 가중치 모델을 적용해 볼 수 있다. (단, 이 모델은 범용 모델이 아니므로 문서의 특성에 따라 수정이 필요하다.)
수정된감성점수 = TScr'
문서전체감성점수 = TScr
문서전체감성과 같은 감성 단락 개수 = EPC
중립 감성 단락 개수 = NPC
별도의 계산에 의해 산출된 Threshold 값 = T
TScr' = TScr + TScr*(EPC/(2*T)) - TScr*(NPC/(2*T))
예)
Figure 112010041756817-pat00007
위의 글을 단락 인식 유닛으로 단락을 나누면 아래와 같이 구분되어 진다.
Figure 112010041756817-pat00008
이 글 전체를 감성 분석한 결과는 57.1% 긍정을 나타낸다. 그러나 단락별로 분석을 해보면 각각 중립의 결과를 얻을 수 있다. 또한 전체 글의 내용을 살펴보면 긍정 보다는 중립으로 분석되는 것이 더 바람직하다. 문제 해결을 위해 단락별 가중치 모델을 적용하면 아래와 같다.
49.9625 = 57.1 + 57.1*(0/(16*2)) - 57.1*(4/(16*2))
이와 같이 57.1%로 전체 감성이 긍정으로 분석 되었던 것을 단락별 가중치 모델을 적용하여 긍정(49.9625%), 부정(50.0375%)로 전체 중립의 결과를 산출해 낼 수 있게 된다.
(4) 기타
기존의 방식으로 구축한 긍정/부정/중립에 대한 단어를 이용하여서는 문서의 감성을 분석을 하기에는 정확률이 떨어지므로, 본 발명에서는 상기한 바와 같이 긍정/부정/중립을 판단하는 표현들을 찾아내고 사전에 구축할 때 n차원 벡터를 이용하여 그 정확률을 높이고 있다. 기존에는 형태소 및 단어들이 긍정이나 부정 중립의 정보만을 이용하였는데, 긍정이나 부정의 정보 이외의 형태소의 언어적 정보를 이용하여 사전 및 문법을 기술하여, 이를 기존의 통계적 방법과 언어적 접근 방법에 이용하면 정확하고, 사전 관리가 쉽고, 일반적인 언어적인 지식만 있어도 문법 및 사전 작성에 용이하다.
예를 들면, 긍정, 부정, 중립 표현들을 일일이 사전에 기술하는 것이 아니라, 상기한 것과 같이, 형태소 분석 결과로 얻어진 n차원 벡터의 태그를 이용하여 규칙화하면, 일일이 사전에 부정의 표현을 기록하는 수고를 줄일 수 있을 뿐만 아니라, 태그를 이용하면 정확한 긍정과 부정, 중립의 감성적인 정도의 차이를 반영하여 문서의 긍정, 부정, 중립을 판별할 수 있다.
규칙)1 neg + j_{*}{*}{*}{*} + *_{pa}{*}{*}{unit_S}{*} N2
예)1 실수가 적다, 죄가 작다, 죄가 가볍다....
-> 실수_{ncp}{*}{*}{abs}{*} N3
-> 실수_{ncp}{*}{*}{abs}{*} + 가_{j}{*}{*}{sub}{*}
+ 적_{pa}{*}{*}{unit_S}{*} N2
규칙_)2 neg + j_{*}{*}{*}{*} + {pa}{*}{*}{unit_L}{*} N4
예) 실수가 많다, 죄가 크다, 죄가 무겁다....
-> 실수_{ncp}{*}{*}{abs}{*} N3
-> 실수_{ncp}{*}{*}{abs}{*} + 가_{j}{*}{*}{sub}{*}
+ 많_{pa}{*}{*}{unit_L}{*} N4
규칙)3 pos + j_{*}{*}{*}{*} + {pa}{*}{*}{unit_S}{*} P1
예) 혜택이 적다, 혜택이 작다....
-> 혜택_{ncp}{*}{*}{abs}{*} P3
-> 혜택_{ncp}{*}{*}{abs}{*} + 이_{j}{*}{*}{sub}{*}
+ 적_{pa}{*}{*}{unit_L}{*} P1
규칙_)4 pos + j_{*}{*}{*}{*} + {pa}{*}{*}{unit_L}{*} P4
예) 혜택이 많다, 혜택이 크다, ....
-> 혜택_{ncp}{*}{*}{abs}{*} P3
-> 혜택_{ncp}{*}{*}{abs}{*} + 이_{j}{*}{*}{sub}{*}
+ 많_{pa}{*}{*}{unit_L}{*} P4
{pa}{*}{*}{unit_S}{*}에서 {pa}는 "형용사"를 나타내는 태그이고, {unit_S}의 "unit"란 "단위"를 나타내는 "크기, 넓이, 무게..." 등을 나타내는 형용사인 "크다, 적다, 작다, 무겁다, 가볍다..." 등을 나타내는 태그이고, "{unit_S}"와 "{unit_L}"에서 "S"는 그 단위가 작은 형용사인 "작다, 적다, 가볍다.."를, "L"은 그 단위가 큰 "크다, 길다, 무겁다..." 등을 나타내는 형용사를 가리키는 태그이다.
위의 예에서 알 수 있듯이 부정의 표현과 함께 쓰이는 경우, 단위를 나타내는 형용사 중에 "{unit_S}"와 "{unit_L}" 중에 어느 것과 함께 쓰이냐에 따라 그 가중치가 달라진다. 즉, 부정의 표현인 "실수"와 단위를 나타내는 형용사 중에 {unit_S}를 나타내는 "적다, 작다.." 등과 같이 사용되면, 그 가중치가 낮아져서 부정의 점수가 3단계인 "N3"에서 2단계로 낮아진 "N2"의 점수를 부여하게 된다. 이는 1단계의 가중치를 주는 규칙으로 생성된 표현인 "실수가 있다(N3)"의 부정적 강도를 비교해 보면 가중치가 낮아지는 이유를 이해할 수 있다. 반대로 부정의 표현인 "실수"와 단위를 나타내는 형용사 중에 "{unit_L}"을 나타내는 "많다, 크다.." 등과 같이 사용되면, 그 가중치가 높아져서 부정의 점수가 3단계인 "N3"에서 4단계인 "N4"로 높아져서 가중치 "N4"를 부여한다.
C. 요약기(summerizer)(300)
요약기(300)는 상기와 같은 과정에 따라, 문서를 분석한 결과, 즉 감성 분석 결과를 출력해줄 뿐만 아니라, 문서 전체 중 분석 결과로 도출된 감성에 대한 근거가 될 수 있는 가장 적합한 부분을 찾아 일부분을 결과로 출력해주는 역할을 한다(도 1 참조). 예를 들어 구분단위 옵션으로 단락이 입력되고, 패턴 일치기(200)를 통해 도출된 전체 문서에 대한 감성이 긍정이라고 할 때, 요약기(300)는 단락별로 저장된 감성 점수 중 긍정 점수가 높고, 주제어가 포함됐을 만한 단락을 찾는다. 한 가지 예를 들어 설명하면, 문서 전체를 형태소 분석한 결과에서 {nq_per}(인명을 나타내는 어류 태그)로 시작되는 태그 혹은 {pn}(pn은 대명사를 나타내는 어류 태그)를 포함하는 형태소 뒤에 '은/는/이/가'와 같은 조사가 존재할 경우 주제어로 판단한다. 상기한 바와 같이, 패턴 일치기 통과 시 단락별로 포함하는 패턴의 위치와 그 점수를 저장해두게 되는데, 이 점수를 이용하여 상기 과정을 통해 찾은 긍정 점수가 가장 높은 단락 중 긍정의 점수가 높으면서 긍정 패턴들이 조밀하게 붙어있는 위치를 파악하고, 원문 중 파악된 위치를 기준으로 전후 일정 길이만큼 뽑아서 요약문을 만들어, 사용자에게 제시한다. 즉, 문서 전체의 요약문을 추출하기 위해서, 형태소의 언어적 특징(즉, tag), 긍정/부정/중립의 점수, 또한 감성을 나타내는 표현들의 긴밀성, 전체 문서의 길이 등을 문서의 감성 요약문을 추출하는데 이용한다. 이를 통해, 사용자는 예컨대 문서의 긍정/부정 등의 감성만을 알 수 있는 것이 아니라, 그 감성 분석 결과를 만들어 낸 가장 핵심적인 단락을 함께 볼 수 있게 된다.
D. 실시예
이하에서는 구체적인 실시예를 참조하여 본 발명을 더욱 구체적으로 설명한다.
먼저, 사용자는 문장/단락/문서 인식 유닛(210)이 제공하는 사용자 인터페이스를 통해 도 5a에 도시한 것과 같은 문서를 입력한 것으로 가정한다. 상기 입력된 문서에 기초하여, 형태소 분석기(100)는 도 2에 도시한 것과 같은 다차원 해석 사전을 참조하여, 상기 문서의 각 형태소를 분석한다. 형태소 분석기에 의해 형태소 분석된 결과가 도 5b에 도시되어 있다.
이어서, 패턴 일치기(200)의 패턴 일치 판단 유닛(220)은 상기 분석된 각각의 형태소에 대하여 정해진 n개부터 1개까지 차례로 조합해 패턴을 만들어, 그 패턴이 감성어 사전(240)에 포함되어 있는지 여부를 판단한다(도 5c 참조). 도 5c에서, "매력_{ncn} + 적_{nfix} + 이_{jp} + 지_{ef} + 못하_{aux}"라는 패턴부터 시작해서, 그 패턴이 감성어 사전에 포함되어 있는지 여부를 판단하며, "매력_{ncn} + 적_{nfix} pos4"이라는 패턴이 감성어 사전(240)에 포함되어 있으므로, "매력_{ncn} + 적_{nfix}"이라는 패턴을 상기 감성어 사전의 해당 감성으로 치환한다. 이어서, 문법 일치 판단 유닛(230)이 기동하여, 상기 패턴 앞과 뒤로 n자씩 붙여 가면서 확장 패턴을 만들어, 그 확장 패턴이 문법사전(250)에 포함되어 있는지 여부를 판단하고, 포함되어 있지 않은 경우 형태소를 하나씩 줄여가면서 문법 사전에 포함되어 있는지 여부를 계속 판단해 간다. 도 5c에서, "pos + 이_{jp} + 지_{ef} + 못하_{aux}" 패턴은 문법사전에 "pos + 이_{jp} + 지_{ef} + 못하_{aux} N3"와 같이 포함되므로, 부정 3단계 점수 N3를 문서2 전체를 위한 점수 저장소 중 부정에 가산한다. 이때, 옵션에 따라서 해당 구분 단위(문장/단락/문서)별 부정 점수에 해당 패턴의 점수(부정의 점수 N3)를 가산한다. 예를 들어, 현재 옵션이 문장이고 현재 10번째 문장의 패턴을 처리 중이었다고 하면, 구분단위별 점수 저장 자료 구조 중 부정 점수를 담는 곳의 10번째 문장의 값에 정해진 부정 점수를 가산한다(도 4 참조).
상기의 과정을 문서가 끝날 때까지 반복하여 수행하며, 모든 반복 과정을 마치면 도 4에 도시한 것과 같이 문서 전체에 대한 긍정/부정/중립 점수와 문서의 구분단위 별로 긍정/부정/중립 점수가 구해지고, 이를 기초로 요약기(300)는 감성 분석 결과를 사용자에게 출력해 주고, 문서 전체 중 분석 결과로 도출된 감성에 대한 근거가 될 수 있는 가장 적합한 부분을 찾아 일부분을 결과로 출력한다. 그 결과 화면이 도 6에 도시되어 있다.
E. 애플리케이션
상기한 본 발명의 시스템은 여러 가지 형태로 적용될 수 있다. 예컨대, 본 발명의 시스템이 소정의 서버 형태로 구현될 수도 있고, 각 장치가 그 서버의 유닛이나 모듈 형태로 구현될 수도 있으며, 이때 각 유닛이나 모듈은 하드웨어적으로 혹은 소프트웨어적으로 구현될 수 있다. 또한, 본 발명은 소정의 기록 매체에 저장되는 소프트웨어로 구현될 수도 있다. 즉 본 발명은 그 특정 구현 형태에 제한되지 않으며, 적용하는 애플리케이션에 맞춰 소프트웨어식으로 혹은 하드웨어식으로 구현될 수 있다.
이상 본 발명을 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 상기 실시예에 제한되지 않는다는 것을 이해하여야 한다. 즉 상기 실시예는 후술하는 특허청구범위 내에서 다양하게 변형 및 수정할 수 있으며, 이들 역시 본 발명의 범위 내에 속하는 것이다. 따라서, 본 발명은 특허청구범위 및 그 균등물에 의해서만 제한된다.

Claims (14)

  1. 사용자가 입력한 문서의 감성을 분석하기 위한 감성 분석 시스템으로서,
    사용자가 입력한 문서의 형태소를 분석하는 형태소 분석기로서, 상기 형태소 분석기는 상기 분석된 형태소에 그 형태소의 속성을 나타내는 어류 태그 정보, 형태적 정보, 통사적 정보, 의미적 정보 및 화용 정보의 5차원의 벡터 정보 중 하나 이상의 벡터 정보를 부가하여, 패턴 일치기로 전달하는 것인, 상기 형태소 분석기와,
    상기 형태소 분석기로부터 상기 분석된 형태소 및 그에 부가된 벡터 정보를 함께 수신하고, 각각의 형태소에 대하여 그것과 대응하는 패턴이 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단함과 아울러, 대응되는 패턴에 대해 일정 갯수만큼 형태소를 확장한 확장 패턴을 생성하고, 그 확장 패턴과 대응되는 패턴이 문법 사전 데이터베이스에 저장되어 있는지 여부를 판단하는 절차를 반복하여, 상기 문서의 감성을 분석하는 패턴 일치기와;
    상기 패턴 일치기에 의해 분석된 문서의 감성 결과를 사용자에게 출력하는 요약기
    를 포함하고,
    상기 감성어 사전 데이터베이스는 긍정의 의미를 갖고 있는 어휘를 포함하는 긍정어 사전 데이터베이스와, 부정의 의미를 갖고 있는 어휘를 포함하는 부정어 사전 데이터베이스와, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 중립어 사전 데이터베이스를 포함하며, 상기 각각의 데이터베이스에 수록되는 각 어휘에는 그 어휘의 속성을 나타내는 상기 벡터 정보가 부가되어 있는 것을 특징으로 하는 문서의 감성 분석 시스템.
  2. 청구항 1에 있어서, 상기 감성어 사전 데이터베이스의 각 데이터베이스는 단일 형태소 단위를 갖는 어휘의 경우, 긍정의 의미, 부정의 의미, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 어휘에 상기 벡터 정보를 부가하여 수록하고, 둘 이상의 형태소 단위를 갖는 어휘의 경우, 그 둘 이상의 형태소 단위 전체가 긍정의 의미, 부정의 의미, 중립의 의미를 갖고 있는지를 분류하여 각 해당 사전 데이터베이스에 해당 어휘를 수록하는 것을 특징으로 하는 문서의 감성 분석 시스템.
  3. 청구항 2에 있어서, 상기 문법 사전 데이터베이스는 긍정 의미의 형태소에 부정의 의미 자질을 갖고 있는 형태소가 결합하면, 전체적으로 부정의 의미로 해석되도록 부정 의미의 문법 규칙을 규정하고, 부정 의미의 형태소에 긍정의 의미자질을 갖고 있는 형태소가 결합하면, 전체적으로 긍정의 의미로 해석되도록 긍정 의미의 문법 규칙을 규정하며, 긍정 혹은 부정의 의미를 갖고 있는 형태소에 그 의미의 가치를 잃게 하는 중립의 의미자질을 갖고 있는 형태소가 결합하면, 전체적으로 중립의 의미로 해석되도록 중립 의미의 문법 규칙을 규정하며, 상기 긍정 의미, 부정 의미, 중립 의미의 형태소는 상기 긍정어 사전 데이터베이스, 부정어 사전 데이터베이스, 중립어 사전 데이터베이스에 수록된 상기 어휘 및 상기 벡터 정보를 이용하고, 상기 부정의 의미자질을 갖는 형태소, 긍정의 의미자질을 갖는 형태소, 중립의 의미자질을 갖는 형태소에는 상기 벡터 정보가 부가되어, 상기 문법 규칙 역시 형태소와 상기 벡터 정보에 의해 기술되어 있는 것을 특징으로 하는 문서의 감성 분석 시스템.
  4. 청구항 3에 있어서, 상기 문법 사전 데이터베이스는 긍정, 부정 또는 중립의 의미를 갖는 형태소에 긍정, 부정 또는 중립의 의미로 정의되지 않는 언어적 정보를 갖는 형태소가 결합되는 경우, 그 결합된 전체의 표현이 긍정, 부정 또는 중립의 의미로 해석되도록 문법 규칙을 규정하고, 상기 긍정 의미, 부정 의미, 중립 의미의 형태소는 상기 긍정어 사전 데이터베이스, 부정어 사전 데이터베이스, 중립어사전 데이터베이스에 수록된 상기 어휘 및 상기 벡터 정보를 이용하며, 상기 긍정, 부정 또는 중립의 의미로 정의되지 않는 언어적 정보를 갖는 형태소에는 상기 벡터 정보가 부가되어, 상기 문법 규칙 역시 형태소와 상기 벡터 정보에 의해 기술되어 있는 것을 특징으로 하는 문서의 감성 분석 시스템.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서, 상기 감성어 사전 데이터베이스의 각 데이터베이스에 수록되는 단일 형태소 혹은 둘 이상의 형태소 단위 뒤에는 그 형태소의 긍정, 부정 혹은 중립의 의미를 나타내는 감성과 그 감성의 정도를 나타내는 가중치가 함께 부가되어 수록되어 있으며, 상기 문법 사전 데이터베이스에는 상기 긍정어, 부정어 및 중립어 사전 데이터베이스에 수록된 형태소에 결합되는 긍정, 부정 또는 중립 의미자질의 형태소에 따라 긍정, 부정 또는 중립의 감성의 강도가 변화되는 것을 고려하여, 감성 및 그 감성의 강도의 변화에 비례한 가중치가 부가되어 수록되어 있는 것을 특징으로 하는 문서의 감성 분석 시스템.
  6. 청구항 5에 있어서, 상기 패턴 일치기는
    사용자가 분석 대상이 문장, 단락 혹은 문서 전체인지를 선택할 수 있도록 해주는 사용자 인터페이스를 제공하고, 상기 형태소 분석기에 의해 분석된 형태소에 부가된 상기 벡터 정보를 이용하여 분석 단위를 문장, 문단 혹은 문서 전체로 나누어 주는 문장/단락/문서 인식 유닛과,
    상기 형태소 분석기에 의해 분석된 형태소들을 일정 개수씩 그룹지워 연결하면서, 그것과 대응하는 패턴이 상기 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 해당 패턴을 유효 패턴으로 추출하고 상기 감성어 사전 데이터베이스의 감성으로 치환하는 패턴 일치 판단 유닛과,
    상기 패턴 일치 판단 유닛에 의해 추출되어 치환된 패턴의 위치를 기준으로 앞과 뒤로 정해진 개수만큼의 형태소를 확장한 확장 패턴을 생성한 후, 확장한 형태소를 하나씩 줄여가면서, 그 확장 패턴에 대응하는 패턴이 상기 문법 사전 데이터베이스에 포함되는지 여부를 판단하는 문법 일치 판단 유닛
    을 포함하는 것을 특징으로 하는 문서의 감성 분석 시스템.
  7. 청구항 6에 있어서, 상기 벡터 정보 각각은 특수 문자를 포함하며, 그 특수 문자 안에 형태소의 속성이 표현되어 있는 것을 특징으로 하는 문서의 감성 분석 시스템.
  8. 청구항 6에 있어서, 상기 패턴 일치 판단 유닛은 상기 추출된 유효 패턴에 대응되는 긍정/부정/중립의 감성과 그에 부가된 가중치를 이용하여 문서 전체를 위한 점수 저장소 중 해당하는 감성에 가중치를 가산하여 저장하도록 구성되고, 상기 문법 일치 판단 유닛은 상기 확장 패턴에 대한 감성과 그에 부가된 가중치를 상기 점수 저장소에 가산하여 저장하도록 구성되는 것을 특징으로 하는 문서의 감성 분석 시스템.
  9. 청구항 8에 있어서, 상기 패턴 일치 판단 유닛은 긍정/부정/중립 용어들의 긍정/부정/중립의 감성적 강도에 따라 상기 가중치를 달리하여 단계적으로 적용하는 것을 특징으로 하는 문서의 감성 분석 시스템.
  10. 청구항 9에 있어서, 상기 패턴 일치기는 문서 분석시 그 문서의 길이를 고려하여 문서의 전체 감성을 판단하도록 구성되는 것을 특징으로 하는 문서의 감성 분석 시스템.
  11. 청구항 6에 있어서, 상기 요약기는 상기 패턴 분석기에 의해 분석된 긍정 가중치와 부정 가중치 및 중립의 가중치를 합산한 결과를 각각 출력하고, 합산된 긍정 가중치의 결과와 합산된 부정 가중치의 결과 및 합산된 중립의 가중치의 결과 중 가장 높은 가중치를 갖는 감성에 대한 근거가 되는 문서 내용의 요약문을 함께 출력하도록 구성되는 것을 특징으로 하는 문서의 감성 분석 시스템.
  12. 사용자로부터 분석하고자 하는 문서를 입력받는 단계와,
    상기 입력된 문서에 대하여 형태소를 분석하는 단계로서, 형태소를 분석함과 아울러, 그 분석된 형태소에 형태소의 속성을 나타내는 어류 태그 정보, 형태적 정보, 통사적 정보, 의미적 정보 및 화용 정보의 5차원의 벡터 정보 중 하나 이상의 벡터 정보를 부가하는 것인, 형태소 분석 단계와,
    상기 분석된 형태소 및 그에 부가된 벡터 정보에 기초하여, 각각의 형태소에 대하여 그것과 대응하는 패턴이 감성어 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 해당 패턴을 상기 감성어 사전 데이터베이스의 해당 감성으로 치환함과 아울러 그 감성에 부가되어 있는 감성 점수를 점수 저장소에 가산하여 저장하는 패턴 일치 판단 단계로서, 상기 감성어 사전 데이터베이스는 긍정의 의미를 갖고 있는 어휘를 포함하는 긍정어 사전 데이터베이스와, 부정의 의미를 갖고 있는 어휘를 포함하는 부정어 사전 데이터베이스와, 긍정 혹은 부정의 의미가 아닌 중립의 의미를 갖고 있는 중립어 사전 데이터베이스를 포함하며, 상기 각각의 데이터베이스에 수록되는 각 어휘에는 그 어휘의 속성을 나타내는 벡터 정보가 부가되어 있고, 상기 감성어 사전 데이터베이스의 각 데이터베이스에 수록되는 단일 형태소 혹은 둘 이상의 형태소 단위 뒤에는 그 형태소의 긍정, 부정 혹은 중립의 의미를 나타내는 감성과 그 감성의 정도를 나타내는 감성 점수가 함께 부가되어 수록되어 있는 것인, 패턴 일치 판단 단계와,
    상기 패턴 일치 판단 단계에서 검색된 패턴에 대해 일정 갯수만큼 형태소를 확장한 확장 패턴을 생성하고, 그 확장 패턴과 대응되는 패턴이 문법 사전 데이터베이스에 저장되어 있는지 여부를 판단하여, 매치된 패턴을 상기 문법 사전 데이터베이스의 감성과 감성 점수를 이용하여 상기 점수 저장소의 해당 감성에 그 감성 점수를 가산하여 저장하는 문법 일치 판단 단계로서, 상기 문법 사전 데이터베이스에는 상기 긍정어, 부정어 및 중립어 사전 데이터베이스에 수록된 형태소에 결합되는 긍정, 부정 또는 중립 의미자질의 형태소에 따라 긍정, 부정 또는 중립의 감성의 강도가 변화되는 것을 고려하여, 감성 및 그 감성의 강도의 변화에 비례한 가중치가 부가되어 수록되어 있는 것인, 상기 문법 일치 판단 단계와,
    상기 분석된 문서의 감성 결과를 출력하는 단계
    를 포함하는 것을 특징으로 하는 문서의 감성 분석 방법.
  13. 청구항 12에 있어서, 상기 출력 단계는 상기 분석된 긍정 가중치와 부정 가중치 및 중립의 가중치를 합산한 결과를 각각 출력하고, 합산된 긍정 가중치의 결과와 합산된 부정 가중치의 결과 및 합산된 중립의 가중치의 결과 중 가장 높은 가중치를 갖는 감성에 대한 근거가 되는 문서 내용의 일부를 함께 출력하는 것을 특징으로 하는 문서의 감성 분석 방법.
  14. 청구항 12 또는 청구항 13의 문서의 감성 분석 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020100061629A 2010-06-29 2010-06-29 문서 감성 분석 시스템 및 그 방법 KR101136007B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100061629A KR101136007B1 (ko) 2010-06-29 2010-06-29 문서 감성 분석 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100061629A KR101136007B1 (ko) 2010-06-29 2010-06-29 문서 감성 분석 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20120001053A KR20120001053A (ko) 2012-01-04
KR101136007B1 true KR101136007B1 (ko) 2012-04-20

Family

ID=45608797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100061629A KR101136007B1 (ko) 2010-06-29 2010-06-29 문서 감성 분석 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101136007B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137290A (ko) * 2019-05-29 2020-12-09 서울시립대학교 산학협력단 텍스트 감성 분석 장치 및 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663453B1 (ko) * 2016-08-03 2016-10-07 주식회사 비욘드테크 문장 순서 및 구조 변경을 이용한 문장 유사도 산출 장치 및 그 방법
KR102398683B1 (ko) * 2017-08-22 2022-05-17 한국과학기술원 패러프레이징을 이용한 감정 사전 구축 및 이를 이용한 텍스트 상의 감정 구조 인식 시스템 및 방법
KR102074578B1 (ko) * 2018-06-07 2020-03-02 현대건설주식회사 텍스트마이닝 기반 건설공사 문서분석방법 및 시스템
KR102053076B1 (ko) * 2018-07-09 2019-12-06 주식회사 한글과컴퓨터 감성 분석 기반의 스타일 적용이 가능한 문서 편집 장치 및 그 동작 방법
KR102361598B1 (ko) * 2019-05-03 2022-02-11 주식회사 자이냅스 감성 예측 분석이 필요한 대상의 감성 정보를 레이블링하는 프로그램이 기록된 비휘발성 기록매체
KR102371505B1 (ko) * 2019-05-03 2022-03-08 주식회사 자이냅스 빅데이터를 활용하여 뉴스를 레이블링하는 프로그램
KR102361596B1 (ko) * 2019-05-03 2022-02-11 주식회사 자이냅스 빅데이터를 활용하여 뉴스 기사의 감성 정보를 레이블링하는 방법
KR102382226B1 (ko) * 2019-05-03 2022-04-05 주식회사 자이냅스 뉴스 기사의 감성 정보를 레이블링하는 장치
KR102382681B1 (ko) * 2019-05-03 2022-04-06 주식회사 자이냅스 빅데이터를 활용하여 뉴스 기사의 감성 정보를 레이블링하는 프로그램
KR102348689B1 (ko) * 2019-12-31 2022-01-07 성균관대학교산학협력단 감정점수를 활용한 시퀀스-투-시퀀스 기반의 텍스트 요약
KR102348177B1 (ko) * 2020-01-13 2022-01-06 군산대학교산학협력단 감성 분석을 위한 학습 데이터 생성 방법 및 장치
KR102322899B1 (ko) * 2020-06-04 2021-11-05 주식회사 웨이커 딥러닝 nlp 모델을 활용한 뉴스 긍정도 분석 솔루션 및 장치
WO2021246812A1 (ko) * 2020-06-04 2021-12-09 주식회사 웨이커 딥러닝 nlp 모델을 활용한 뉴스 긍정도 분석 솔루션 및 장치
CN117494727B (zh) * 2023-12-29 2024-03-29 卓世科技(海南)有限公司 用于大语言模型的去偏倚方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230011A (ja) 2001-02-05 2002-08-16 Seiko Epson Corp 感情認識システム
JP2009163565A (ja) 2008-01-08 2009-07-23 Toyota Central R&D Labs Inc 文整形装置及び文整形プログラム
KR20090126862A (ko) * 2008-06-05 2009-12-09 주식회사 다이퀘스트 자연어 처리를 이용한 감성 정보 분석 시스템 및 방법,자연어 처리를 이용한 감성 정보 분석 방법을 컴퓨터에서실행하기 위한 프로그램을 저장한 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002230011A (ja) 2001-02-05 2002-08-16 Seiko Epson Corp 感情認識システム
JP2009163565A (ja) 2008-01-08 2009-07-23 Toyota Central R&D Labs Inc 文整形装置及び文整形プログラム
KR20090126862A (ko) * 2008-06-05 2009-12-09 주식회사 다이퀘스트 자연어 처리를 이용한 감성 정보 분석 시스템 및 방법,자연어 처리를 이용한 감성 정보 분석 방법을 컴퓨터에서실행하기 위한 프로그램을 저장한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
moHANA: 다차원 해석 사전을 기반으로 한 한국어 형태소 분석기(서승현 외2명; 2007년도 제19회 한글 및 한국어 정보처리 학술대회, 2007.10) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200137290A (ko) * 2019-05-29 2020-12-09 서울시립대학교 산학협력단 텍스트 감성 분석 장치 및 방법
KR102326473B1 (ko) * 2019-05-29 2021-11-15 서울시립대학교 산학협력단 텍스트 감성 분석 장치 및 방법

Also Published As

Publication number Publication date
KR20120001053A (ko) 2012-01-04

Similar Documents

Publication Publication Date Title
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
Oueslati et al. A review of sentiment analysis research in Arabic language
Arora et al. Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis
US11334726B1 (en) Applied artificial intelligence technology for using natural language processing to train a natural language generation system with respect to date and number textual features
CN106997382B (zh) 基于大数据的创新创意标签自动标注方法及系统
US9633007B1 (en) Loose term-centric representation for term classification in aspect-based sentiment analysis
KR101339103B1 (ko) 의미적 자질을 이용한 문서 분류 시스템 및 그 방법
Gupta et al. A survey of text question answering techniques
US8751218B2 (en) Indexing content at semantic level
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
US20170300565A1 (en) System and method for entity extraction from semi-structured text documents
US20140136188A1 (en) Natural language processing system and method
Plank Domain adaptation for parsing
Arumugam et al. Hands-On Natural Language Processing with Python: A practical guide to applying deep learning architectures to your NLP applications
Bam Named Entity Recognition for Nepali text using Support Vector Machine
Sen et al. Bangla natural language processing: A comprehensive analysis of classical, machine learning, and deep learning-based methods
KR100858035B1 (ko) 형태소 분석용 다차원 해석 사전 구축 방법 및 그 다차원해석 사전 구축 장치
Pembe et al. A tree-based learning approach for document structure analysis and its application to web search
Akkineni et al. Hybrid Method for Framing Abstractive Summaries of Tweets.
Testas Natural Language Processing with Pandas, Scikit-Learn, and PySpark
Dubey Towards Complex Question Answering over Knowledge Graphs.
Worke INFORMATION EXTRACTION MODEL FROM GE’EZ TEXTS
Shaban A semantic graph model for text representation and matching in document mining
Wang Information Extraction from TV Series Scripts for Uptake Prediction
US20240046039A1 (en) Method for News Mapping and Apparatus for Performing the Method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180405

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 8