KR101555039B1 - 감정 사전 구축 장치 및 감정 사전 구축 방법 - Google Patents

감정 사전 구축 장치 및 감정 사전 구축 방법 Download PDF

Info

Publication number
KR101555039B1
KR101555039B1 KR1020130136710A KR20130136710A KR101555039B1 KR 101555039 B1 KR101555039 B1 KR 101555039B1 KR 1020130136710 A KR1020130136710 A KR 1020130136710A KR 20130136710 A KR20130136710 A KR 20130136710A KR 101555039 B1 KR101555039 B1 KR 101555039B1
Authority
KR
South Korea
Prior art keywords
emotion
word
score
positive
dictionary
Prior art date
Application number
KR1020130136710A
Other languages
English (en)
Other versions
KR20150054355A (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 KR1020130136710A priority Critical patent/KR101555039B1/ko
Publication of KR20150054355A publication Critical patent/KR20150054355A/ko
Application granted granted Critical
Publication of KR101555039B1 publication Critical patent/KR101555039B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 감정 사전 구축 장치 및 감정 사전 구축 방법에 관한 것으로, 감정 사전 구축 장치는 긍정적 의견으로 분류된 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부; 감정 사전(sentiment dictionary)에 상기 단어에 대응하여 설정된 감정 스코어(sentiment score)가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 비교 판단부; 및 상기 감정 사전에 상기 단어에 대응하여 설정된 상기 감정 스코어를 상기 비교 판단부의 판단 결과에 따라 선택적으로 변경하는 스코어 변환부를 포함한다.

Description

감정 사전 구축 장치 및 감정 사전 구축 방법{APPARATUS AND METHOD FOR BUILDING UP SENTIMENT DICTIONARY}
본 발명은 감정 사전 구축 장치 및 감정 사전 구축 방법에 관한 것이다.
최근 들어, 감정 분석(sentiment analysis)과 오피니언 마이닝(opinion mining) 기술에 관한 연구가 증가하고 있다. 감정 분석과 오피니언 마이닝 기술은 소셜미디어 상에서의 주식이나 선거 혹은 영화 등에 대한 대화를 분석할 수 있다. 또한, 감정 분석과 오피니언 마이닝 기술은 특정한 사건이 발생한 후 사회적 정서를 모델링하는데 활용될 수 있으며, 실업통계만으로는 얻기 어려운 깊은 통찰력(deep insight)을 제공할 수 있다. 감정 분석과 오피니언 마이닝 기술은 크게 기계 학습(machine learning)에 의한 방식과, 감정 사전(sentiment dictionary)을 이용하는 방식으로 분류할 수 있다. 이들 중 기계학습을 이용한 의견 분류 방식은 사회적 이슈를 다루는 경우에 있어, 초기 데이터로 학습한 분류기를 이용하여 나중에 생성되는 데이터를 분류할 때 분류 성능이 떨어질 수 있다.
감정 스코어(sentiment score)나 감정 범주(sentiment category)를 정의하는 다양한 어휘 자료들(lexical resources)이 구축되고 활용 가능해졌다. 각각의 어휘 자료들은 인터넷상의 댓글, 상품평, 블로그나 트위터 등의 텍스트로 표현된 의견을 긍정 의견이나 부정 의견으로 분류하는데 활용될 수 있다. 일 예로, 기업체의 경우, 상품 마케팅에 활용하기 위해 인터넷상의 상품평들을 분석하기를 원할 수 있다. 예를 들면, 감정 사전(sentiment dictionary)을 활용하여 상품평에 포함되어 있는 단어들에 대한 감정 스코어들의 평균값을 산출하는 것에 의해 상품평을 긍정 혹은 부정 의견으로 분류할 수 있다.
다양한 감정 사전들은 서로 다른 포맷(format)과 단어 규모(size)를 갖는다. 즉, 서로 다른 감정 사전들은 동일한 단어에 대하여 서로 다른 감정 스코어 혹은 서로 다른 감정 범주를 나타내며, 각각의 감정 사전에 수록되어 있는 단어들의 리스트 역시 다를 수 있다. 이 때문에, 어떤 감정 사전을 활용하는지에 따라 동일한 텍스트 의견에 대한 분류 결과가 다르게 나타날 수 있다. 또한, 종래의 감정 사전에는 실제로 의견 분류에 별다른 영향을 미치지 않거나 정확한 의견 분류에 악영향을 끼치는 단어들이 다수 포함될 수 있으며, 이로 인해 의견 분류 성능이 저하될 수 있다.
뿐만 아니라, 종래의 감정 사전은 각 도메인(domain)별 고유 특성을 정확하게 반영하지 못하기 때문에, 특정 도메인에 대하여 의견 분류 성능이 저하될 수 있다. 예를 들어, 장갑에 대한 상품평에서 'warm' 이라는 단어는 긍정적 감정 스코어로 분류되는 것이 바람직한 반면, 맥주에 대한 상품평에서 'warm' 이라는 단어는 부정적 감정 스코어로 분류되는 것이 바람직하다. 하지만, 종래의 감정 사전은 단어들에 대해 도메인과 무관하게 일률적으로 감정 스코어를 부여하고 있어, 특정 도메인의 경우에서는 잘못된 의견 분류 결과가 초래될 수 있다.
본 발명은 감정 사전에서 정확한 의견 분류에 악영향을 끼치는 단어들의 감정 스코어 값을 변경하여 의견 분류 성능을 높일 수 있는 감정 사전 구축 장치 및 감정 사전 구축 방법을 제공하는 것을 목적으로 한다.
본 발명이 해결하고자 하는 다른 과제는 의견 분류에 그다지 영향을 미치지 않는 단어들을 감정 사전에서 제거하여 의견 분류 정확성 및 효율성을 높일 수 있는 감정 사전 구축 장치 및 감정 사전 구축 방법을 제공하는 것에 있다.
본 발명이 해결하고자 하는 또 다른 과제는 서로 다른 감정 사전들을 병합한 통합 감정 사전을 구축함으로써 보다 정확한 의견 분석 결과를 얻도록 하는 감정 사전 구축 장치 및 감정 사전 구축 방법을 제공하는 것에 있다.
본 발명이 해결하고자 하는 또 다른 과제는 도메인(domain)별로 극대화된 의견 분류 성능을 얻도록 하는 감정 사전 구축 장치 및 감정 사전 구축 방법을 제공하는 것에 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않는다. 언급되지 않은 다른 기술적 과제들은 이하의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 측면에 따른 감정 사전 구축 장치는 긍정적 의견으로 분류된 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부; 감정 사전(sentiment dictionary)에 상기 단어에 대응하여 설정된 감정 스코어(sentiment score)가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 비교 판단부; 및 상기 감정 사전에 상기 단어에 대응하여 설정된 상기 감정 스코어를 상기 비교 판단부의 판단 결과에 따라 선택적으로 변경하는 스코어 변환부를 포함한다.
본 발명의 일 실시 예에서, 상기 스코어 변환부는, 상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않는 것으로 판단되면, 상기 감정 스코어를 변경할 수 있다.
본 발명의 일 실시 예에서, 상기 비교 판단부는 상기 긍정 텍스트들과 상기 부정 텍스트들 간의 텍스트 개수 비율을 산출하고, 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값을 산출하며, 상기 감정 스코어의 극성(polarity)과 상기 차이값의 극성을 비교하여 상기 감정 스코어의 변경 여부를 판단할 수 있다.
본 발명의 일 실시 예에서, 상기 스코어 변환부는 상기 감정 스코어의 극성과 상기 차이값의 극성이 서로 일치하지 않는 경우, 상기 감정 스코어의 극성을 전환할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전 구축 장치는 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 상기 감정 사전에서 상기 단어를 제거하는 단어 제거부를 더 포함할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전 구축 장치는 서로 다른 감정 사전 자료들을 병합하여 상기 감정 사전을 구축하는 감정 사전 병합부를 더 포함할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전 병합부는 상기 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화하고, 각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어들을 평균한 값을 상기 각 단어에 대한 감정 스코어로 산출할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전에서 상기 단어에 대한 감정 스코어는 도메인별로 서로 다른 값으로 설정되고, 상기 스코어 변환부는 상기 감정 사전의 상기 단어에 대한 감정 스코어들 중 상기 긍정 텍스트군과 상기 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경할 수 있다.
상기 과제를 해결하기 위한 본 발명의 다른 일 측면에 따르면, 긍정적 의견으로 분류된 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단계; 감정 사전(sentiment dictionary)에 상기 단어에 대응하여 설정된 감정 스코어(sentiment score)가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 단계; 및 상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않으면, 상기 감정 스코어를 변경하는 단계를 포함하는 감정 사전 구축 방법이 제공된다.
본 발명의 일 실시 예에서, 상기 판단하는 단계는, 상기 긍정 텍스트들과 상기 부정 텍스트들 간의 텍스트 개수 비율을 산출하는 단계; 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값을 산출하는 단계; 및 상기 감정 스코어의 극성(polarity)과 상기 차이값의 극성을 비교하여 상기 감정 스코어의 극성을 전환할지 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전 구축 방법은 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 상기 감정 사전에서 상기 단어를 제거하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전 구축 방법은 서로 다른 감정 사전 자료들을 병합하여 상기 감정 사전을 구축하는 단계를 더 포함하며, 상기 감정 사전을 구축하는 단계는, 상기 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화하는 단계; 및 각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어들을 평균한 값을 상기 각 단어에 대한 감정 스코어로 산출하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에서, 상기 감정 사전에서 상기 단어에 대한 감정 스코어는 도메인별로 서로 다른 값으로 설정되고, 상기 스코어를 변경하는 단계는 상기 감정 사전의 상기 단어에 대한 감정 스코어들 중 상기 긍정 텍스트군과 상기 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경할 수 있다.
본 발명의 실시 예에 의하면, 감정 사전에서 정확한 의견 분류에 악영향을 끼치는 단어들의 감정 스코어를 변경하여 의견 분류 성능을 높일 수 있다.
또한, 본 발명의 실시 예에 의하면, 의견 분류에 그다지 영향을 미치지 않는 단어들을 감정 사전에서 제거하여 의견 분류 정확성 및 효율성을 높일 수 있다.
또한, 본 발명의 실시 예에 의하면, 서로 다른 감정 사전들을 병합한 통합 감정 사전을 구축함으로써 보다 정확한 의견 분석 결과를 얻을 수 있다.
또한, 본 발명의 실시 예에 의하면, 도메인별로 극대화된 의견 분류 성능을 얻을 수 있다.
본 발명의 효과는 상술한 효과들로 제한되지 않는다. 언급되지 않은 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 포함하는 감정 사전 구축 시스템을 보여주는 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 보여주는 구성도이다.
도 3은 도 2에 도시된 감정 사전 구축부를 보여주는 구성도이다.
도 4는 도 3에 도시된 감정 사전 갱신부를 보여주는 구성도이다.
도 5 내지 도 6은 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 설명하기 위한 도면이다.
도 7 내지 도 12는 본 발명의 일 실시 예에 따른 감정 사전 구축 장치의 효과를 설명하기 위한 도면이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술하는 실시 예를 참조하면 명확해질 것이다. 본 발명은 이하에서 제시되는 실시 예로 제한되지 않고, 제시되지 않은 다양한 형태로 구현될 수 있으며, 본 발명의 범주는 특허청구범위에 의해 정의될 뿐이다. 만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 공지된 구성에 대한 일반적인 설명은 본 발명의 요지를 흐리지 않기 위해 생략될 수 있다. 본 발명의 도면에서 동일하거나 상응하는 구성에 대하여는 가급적 동일한 도면부호가 사용된다.
본 발명의 일 실시 예에 따른 감정 사전 구축 장치는 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군 및 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부; 긍정 텍스트군 및 부정 텍스트군 각각에 대한 빈도값 간의 비율을 산출하고, 긍정 텍스트들과 부정 텍스트들 간의 텍스트 개수 비율을 산출하고, 빈도값 간의 비율과 텍스트 개수 비율 간의 차이값을 산출하며, 감정 사전(sentiment dictionary)에 설정된 단어의 감정 스코어(sentiment score)의 극성(polarity)과, 상기 차이값의 극성을 비교하여 감정 스코어의 변경 여부를 판단하는 비교 판단부; 및 상기 감정 스코어의 극성과 상기 차이값의 극성이 서로 일치하지 않는 경우, 감정 스코어의 극성을 전환(switching)하는 스코어 변환부를 포함한다. 본 발명의 실시 예에 의하면, 정확한 의견 분류에 악영향을 끼치는 단어들의 감정 스코어를 전환하여 의견 분류 성능을 높일 수 있다.
본 발명의 일 실시 예에 따른 감정 사전 구축 장치는 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 감정 사전에서 해당 단어를 제거(removing)하는 단어 제거부를 더 포함할 수 있다. 본 발명의 실시 예에 의하면, 의견 분류에 그다지 영향을 미치지 않는 단어들을 감정 사전에서 제거하여 의견 분류 정확성 및 효율성을 높일 수 있다.
본 발명의 일 실시 예에 따른 감정 사전 구축 장치는 서로 다른 감정 사전 자료들을 병합(merging)하여 감정 사전을 구축하는 감정 사전 병합부를 더 포함할 수 있다. 감정 사전 병합부는 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화하고, 각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어들을 평균한 값을 각 단어에 대한 감정 스코어로 산출할 수 있다. 본 발명의 실시 예에 의하면, 서로 다른 감정 사전들을 병합한 통합 감정 사전을 구축함으로써 보다 정확한 의견 분석 결과를 얻을 수 있다.
본 발명의 일 실시 예에 있어서, 감정 사전에서 단어에 대한 감정 스코어는 도메인(domain)별로 서로 다른 값(혹은 서로 다른 극성)을 갖도록 설정되고, 스코어 변환부는 감정 사전의 단어에 대한 감정 스코어들 중 긍정 텍스트군과 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경할 수 있다. 본 발명의 실시 예에 의하면, 도메인별로 극대화된 의견 분류 성능을 얻을 수 있다.
도 1은 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 포함하는 감정 사전 구축 시스템을 보여주는 구성도이다. 도 1을 참조하면, 감정 사전 구축 장치(100)는 예시적으로 네트워크(network)를 통해 다수의 감정 사전 제공 서버들(10, 20)로부터 서로 다른 감정 사전 자료들(sentiment dictionary resources)을 제공받고, 서로 다른 감정 사전 자료들을 병합(merging)하여 감정 사전(sentiment dictionary), 즉 통합(merged or integrated) 감정 사전을 구축할 수 있다. 서로 다른 감정 사전들을 병합함으로써 개별 감정 사전 자료보다 확장된 단어 스펙트럼을 갖는 통합 감정 사전을 구축할 수 있으며, 통합 감정 사전을 이용함으로써 개별 감정 사전 자료를 이용하는 것보다 정확한 의견 분류 결과를 얻을 수 있다.
감정 사전 구축 장치(100)는 예시적으로 네트워크를 통해 훈련 데이터 제공 서버(30)로부터 훈련 데이터(training data)를 제공받고, 훈련 데이터를 이용하여 통합 감정 사전을 갱신할 수 있다. 훈련 데이터 제공 서버(30)는 예시적으로 아마존(Amazon)과 같은 서버일 수 있다. 네트워크는 예시적으로 인터넷(internet)일 수 있다. 훈련 데이터는 긍정적 의견으로 분류되는 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군과, 부정적 의견으로 분류되는 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군을 포함할 수 있다. 훈련 데이터는 예시적으로 아마존 서버로부터 제공받은 상품평들일 수 있다. 예시적으로, 훈련 데이터는 별점 표시(star rating) 등의 방식에 의하여 긍정 텍스트들과 부정 텍스트들로 분류될 수 있다. 감정 사전 구축 장치(100)는 긍정 텍스트들과 부정 텍스트들에 나타난 단어의 출현 빈도를 분석하여, 감정 사전에서 정확한 의견 분류에 악영향을 끼치는 단어들의 감정 스코어를 전환(switching)하거나, 의견 분류에 그다지 영향을 미치지 않는 단어들을 감정 사전에서 제거(removing)할 수 있다. 이에 따라 의견 분류 정확성 및 효율성을 높일 수 있다.
도 2는 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 보여주는 구성도이다. 도 1 내지 도 2를 참조하면, 감정 사전 구축 장치(100)는 사용자 인터페이스부(110), 입력부(120), 감정 사전 구축부(130), 메모리(140), 디스플레이부(150) 및 제어부(160)를 포함한다. 사용자 인터페이스부(110)는 키보드(keyboard), 마우스(mouse), 혹은 터치 패드(touch pad) 등과 같은 입력 인터페이스일 수 있다. 예시적으로, 사용자는 사용자 인터페이스부(110)를 조작하는 것에 의하여 감정 사전 제공 서버들(10, 20)로부터 감정 사전 자료들을 제공받거나, 훈련 데이터 제공 서버(30)로부터 훈련 데이터를 제공받거나, 감정 사전 구축부(130)에서 제공하는 기능들 혹은 동작들을 실행하거나, 감정 사전 자료들 혹은 훈련 데이터를 메모리(140)에 저장할 수 있다. 입력부(120)는 통신 인터페이스로 동작하며, 네트워크를 통해 감정 사전 자료들이나 훈련 데이터를 전송받는 기능을 수행한다.
감정 사전 구축부(130)는 사용자의 입력에 따라 감정 사전 자료들을 병합하여 통합 감정 사전을 구축하거나, 통합 감정 사전을 훈련 데이터를 이용하여 갱신하는 등의 기능을 수행한다. 감정 사전 구축부(130)의 기능과 동작은 하나 이상의 프로세서(processor)에 의하여 수행될 수 있다. 감정 사전 구축부(130)는 제어부(160) 내에 통합적으로 제공될 수도 있다. 감정 사전 구축부(130)의 구체적인 기능과 동작은 이후 도 3을 참조하여 보다 상세하게 설명될 것이다. 메모리(140)는 사용자의 입력에 따라 감정 사전 자료들, 훈련 데이터, 통합 감정 사전 혹은 감정 사전 구축부(130)의 각종 기능과 동작을 실행하기 위해 필요한 알고리즘 등을 저장할 수 있다. 디스플레이부(150)는 감정 사전 자료들, 훈련 데이터 혹은 통합 감정 사전 등의 각종 정보들을 화면으로 표시할 수 있다. 디스플레이부(150)는 LCD(Liquid Crystal Display) 등의 화면으로 제공될 수 있다. 감정 사전 구축 장치(100)를 구성하는 각 구성들의 기능과 동작은 하나 이상의 프로세서를 포함하는 제어부(160)에 의해 제어될 수 있다.
도 3은 도 2에 도시된 감정 사전 구축부를 보여주는 구성도이다. 도 1 내지 도 3을 참조하면, 감정 사전 구축부(130)는 감정 사전 병합부(131)와 감정 사전 갱신부(132)를 포함한다. 감정 사전 병합부(131)는 예시적으로 감정 사전 제공 서버들(10, 20)로부터 제공받은 서로 다른 감정 사전 자료들을 병합(merging)하여 통합 감정 사전을 구축한다. 감정 사전 병합부(131)는 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화(standardize)하고, 각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어 값들을 평균한 값을 각 단어에 대한 감정 스코어로 산출할 수 있다. 감정 사전 갱신부(132)는 훈련 데이터 제공 서버(30)로부터 제공받은 훈련 데이터를 이용하여 통합 감정 사전을 갱신하거나, 혹은 훈련 데이터를 이용하여 개별 감정 사전 자료를 갱신할 수 있다.
도 4는 도 3에 도시된 감정 사전 갱신부를 보여주는 구성도이다. 도 3 내지 도 4를 참조하면, 감정 사전 갱신부(132)는 단어 빈도 산출부(1321), 비교 판단부(1322), 단어 제거부(1323) 및 스코어 변환부(1324)를 포함한다. 단어 빈도 산출부(1321)는 훈련 데이터 중 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군과, 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출한다.
비교 판단부(1322)는 감정 사전(sentiment dictionary)에 단어에 대응하여 설정된 감정 스코어(sentiment score)가 긍정 텍스트군 및 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단한다. 단어 제거부(1323)는 빈도값 간의 비율과 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 감정 사전에서 해당 단어를 제거한다. 스코어 변환부(1324)는 감정 사전에 단어에 대응하여 설정된 감정 스코어를 비교 판단부(1322)의 판단 결과에 따라 선택적으로 변경한다. 즉, 스코어 변환부(1324)는 감정 스코어가 빈도값 간의 비율과 부합하지 않는 것으로 판단되면, 감정 스코어를 변경할 수 있다.
본 발명의 일 실시 예에서, 비교 판단부(1322)는 긍정 텍스트들과 부정 텍스트들 간의 텍스트 개수 비율을 산출하고, 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값을 산출하며, 감정 스코어의 극성(polarity)과 상기 차이값의 극성을 비교하여 감정 스코어의 변경 여부를 판단할 수 있다. 스코어 변환부(1324)는 감정 스코어의 극성과 상기 차이값의 극성이 서로 일치하지 않는 경우, 해당 단어에 대한 감정 스코어의 극성을 (-)에서 (+)로, 혹은 (+)에서 (-)로 전환할 수 있다.
본 발명의 일 실시 예에서, 감정 사전에서 단어에 대한 감정 스코어는 도메인(domain)별로 서로 다른 값 혹은 서로 다른 극성으로 설정될 수 있다. 도메인은 예시적으로, 주식, 선거, 정치 성향, 영화 평가, 서평, 다양한 상품에 대한 상품평 등을 예로 들 수 있으며, 서로 다른 상품별로 개별적인 도메인이 구축될 수 있다. 단어 제거부(1323)는 감정 사전의 단어에 대한 감정 스코어들 중 긍정 텍스트군과 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 제거할 수 있다. 이러한 경우, 다른 도메인에서는 해당 단어의 감정 스코어 값이 그대로 유지될 수 있다. 스코어 변환부(1324)는 감정 사전의 단어에 대한 감정 스코어들 중 긍정 텍스트군과 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경할 수 있다. 이때, 다른 도메인에 대응하는 해당 단어의 감정 스코어 값은 변동되지 않을 수 있다. 본 발명의 실시 예에 의하면, 도메인별로 최적화되는 감정 스코어를 이용하여 도메인별로 의견 분류 성능을 극대화할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 구성하는 감정 사전 갱신부의 단어 제거(removing) 기능을 설명하기 위한 도면이다. 도 3 내지 도 5를 참조하면, 감정 사전 갱신부(132)는 긍정 텍스트군과 부정 텍스트군에서의 단어 발생 빈도 간의 비율 값이 긍정 텍스트들과 부정 텍스트들의 개수 비율과 유사한 값을 갖는 사전 항목(단어)을 제거한다. 도 5에 예시한 바와 같이, 긍정 텍스트군(Positive Reviews)은 네 개의 긍정 텍스트들을 포함하고, 부정 텍스트군(Negative Reviews)은 한 개의 부정 텍스트를 포함한다. 모든 텍스트들은 단어 'interested'를 포함한다. 단어 'interested'는 긍정 텍스트군에서 4회 출현하고, 부정 텍스트군에서 1회 출현한다. 긍정 텍스트군과 부정 텍스트군 각각에서 단어 'interested'가 출현한 빈도값 간의 비율은 4/1이고, 긍정 텍스트들의 개수와 부정 텍스트들 간의 텍스트 개수 비율 역시 4/1이다. 즉, 긍정 텍스트군과 부정 텍스트군에서 단어 'interested'가 출현한 비율은 긍정 텍스트들과 부정 텍스트들 간의 텍스트 개수 비율과 동일하며, 그 차이값은 0이다.
도 5의 예에서, 단어 'interested'는 모든 텍스트들에 포함되어 있으므로, 실제 의견 분류에 크게 기여하지 않는다. 따라서, 정확한 의견 분류를 결정하는데 있어서 보다 결정적인 다른 단어들을 강조할 수 있도록, 의견 분류에 그다지 기여하지 않는 단어 'interested'는 단어 제거부(1323)에 의해 감정 사전에서 제거된다. 도 5에 도시된 실시 예에서, 긍정 텍스트군과 부정 텍스트군 각각에서 단어가 출현한 빈도값 간의 비율과, 긍정 텍스트들의 개수와 부정 텍스트들 간의 개수 비율 사이의 차이값이 0인 경우, 해당 단어를 제거하는 것을 예로 들었지만, 단어 제거부(1323)는 단어의 긍정/부정 텍스트군 빈도값 간의 비율과 긍정/부정 텍스트 개수 비율 간의 차이값이 반드시 0이 아니라, 0을 포함하는 미리 설정된 임계 범위 내에 속하는 차이값을 가질 경우에도, 감정 사전에서 해당 단어를 제거할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 감정 사전 구축 장치를 구성하는 감정 사전 갱신부의 감정 스코어 전환(switching) 기능을 설명하기 위한 도면이다. 도 3 내지 도 4, 도 6을 참조하면, 감정 사전 갱신부(132)는 긍정 텍스트군과 부정 텍스트군 간의 단어 출현 비율과, 긍정 텍스트들과 부정 텍스트들 간의 텍스트 개수 비율 간의 차이값이 감정 스코어의 극성에 반대되는 극성을 갖는 단어에 대해 해당 단어의 감정 스코어의 극성을 반대로 전환한다. 도 6에 예시한 바와 같이, 긍정 텍스트군(Positive Reviews)은 네 개의 긍정 텍스트들을 포함하고, 부정 텍스트군(Negative Reviews)은 두 개의 부정 텍스트를 포함한다. 단어 'betrayal'은 긍정 텍스트군에서 4회 출현하고, 부정 텍스트군에서 1회 출현한다. 긍정 텍스트군과 부정 텍스트군 각각에서 단어 'betrayal'이 출현한 빈도값 간의 비율은 4/1이고, 긍정 텍스트들의 개수와 부정 텍스트들 간의 개수 비율은 4/2이다. 긍정 텍스트군과 부정 텍스트군에서 단어 'betrayal'이 출현한 비율은 긍정 텍스트들과 부정 텍스트들 간의 개수 비율보다 많으며, 그 차이값은 양(+)의 값(4 - 2 = 2)으로 산출된다. 이에 반해, 감정 사전에서 'betrayal'은 음(-)의 값으로 주어져 있다. 즉, 긍정 텍스트군과 부정 텍스트군 각각에서 단어가 출현한 비율과, 긍정 텍스트들과 부정 텍스트들 간의 개수 비율 간의 차이값의 극성(+)과, 해당 단어에 대해 감정 사전에 설정된 감정 스코어의 극성(-)이 서로 반대인 경우, 단어에 대한 감정 스코어의 극성을 전환한다. 도 6의 예에서, 단어 'betrayal'의 극성은 (-) 값에서 (+) 값으로 전환될 것이다.
본 발명의 실시 예에 따른 감정 사전 구축 장치에 의한 의견 분류 성능을 평가하기 위한 실험을 수행하였다. 인터넷에서 공중 이용 가능한 10개의 잘 알려진 감정 사전 자료들을 수집하였다. 10개의 감정 사전 자료들, 즉 'AFINN'(혹은 'AFN')', 'ANEW'(혹은 'ANW'), 'General Inquirer'(혹은 'GI'), 'Micro-WNOp'(혹은 'MWN' 또는 'MWO'), 'Opinion Lexicon'(혹은 'OPL' 또는 'OL'), 'SenticNet'(혹은 'STN'), 'SentiSense'(혹은 'STS' 또는 'SS'), 'SentiWordNet'(혹은 'SWN'), 'Subjectivity Lexicon'(혹은 'SBL' 또는 'SL'), 'WordNet-Affect'(혹은 'WNA')은 각각 URL(Uniform Resource Locator) 주소 'http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6010', 'http://www.uvm.edu/~pdodds/files/papers/others/1999/bradley1999a.pdf', 'http://www.wjh.harvard.edu/~inquirer/spreadsheet_guide.htm', 'http://www-3.unipv.it/wnop/', 'http://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html#lexicon', 'http://sentic.net/senticnet-2.0.zip', 'http://nlp.uned.es/~jcalbornoz/resources.html', 'http://sentiwordnet.isti.cnr.it/', 'http://mpqa.cs.pitt.edu/lexicons/subj_lexicon/', 'http://wndomains.fbk.eu/wnaffect.html'로부터 수집되었다.
10개의 감정 사전들 외에, 6개의 웹 주소, 'http://www.psychpage.com/learning/library/assess/feelings.html', 'http://www.destinies.com/en/?sv=&category=Goal+Success&title=Understanding+Emotional+Testing', 'http://www.enchantedlearning.com/wordlist/negativewords.shtml', 'http://eqi.org/fw neg.htm(http://eqi.org/cnfs.htm)', 'http://www.thehappinessblueprint.com/2013/01/emotional-essence-words.html', 'http://www.slideshare.net/stevenkellyactor/positive-emotions-list' 에서 긍정/부정 단어 리스트를 스크래치(scratch)하여 감정 사전 자료 'WWW-Scratch'를 구축하였다.
상기 열거된 다수의 감정 사전 자료들 중 일부는 수치화된 감정 스코어를 정의하는 대신, 'positive', 'negative', 'emotions' 등과 같은 감정 범주(sentiment category)를 정의하고 있다. 감정 스코어를 정의하는 감정 사전 자료라 하더라도, 서로 다른 감정 사전 자료는 동일한 단어에 대하여 다양한 감정 스코어를 부여하고 있다. 따라서, 다수의 감정 사전 자료들을 통합 감정 사전으로 병합하여 통합 감정 사전을 구축하기 위해, 다수의 감정 사전 자료들을 표준화하였다. 이를 위해, 감정 사전 자료들 각각에 대해 단일 단어들, 즉 하이픈(hyphen), 밑줄 표시(underscore), 빈 칸(blank space)이 없는 단어들의 감정 스코어가 -1.0 ~ 1.0 사이의 값을 갖도록 서로 다른 감정 사전 자료들의 포맷을 표준화하였다. 예시적으로, 아래의 수식 1과 같은 변환 관계식을 이용해 감정 스코어 값을 구간 [A, B]에서 구간 [C, D]로 정규화할 수 있다. 본 명세서에서, '[a, b]'는 a 이상 b(b≥a) 이하의 구간을 의미한다.
[수식 1]
Figure 112013102752836-pat00001
수식 1에서, X는 개별 감정 사전 자료에 정의된 단어의 감정 스코어를 나타내고, X'는 통합 감정 사전으로 정규화된 단어의 감정 스코어를 나타낸다. 감정 사전 자료 'AFN'의 경우, 단어의 감정 스코어는 [-5, 5] 사이의 값을 갖는다. 예시적으로, 감정 사전 자료 'AFN'에 정의된 단어의 감정 스코어는 "X' = 0.2X"의 변환 관계식을 이용해 [-1, 1] 사이의 값을 갖는 감정 스코어로 변환될 수 있다. 감정 사전 자료 'ANW'는 [1, 9] 사이의 감정 스코어 값을 갖는다. 예시적으로, 감정 사전 자료 'ANW'는 "X' = 0.25X - 1.25"의 변환 관계식을 이용해 [-1, 1] 범위의 감정 스코어 값을 갖도록 변환될 수 있다.
감정 사전 자료 'GI'의 경우, 감정 범주들 'Positive', 'Pstv', 'PosAff', 'Pleasur', 'Virtue', Complet', 'Yes'은 1.0 값을 갖는 감정 스코어로 변환되고, 감정 범주들 'Negativ', 'Ngtv', NegAff', 'Pain', 'Vice', 'Fail', 'No', 'Negate'는 -1.0 값을 갖는 감정 스코어로 변환된다. 결과적으로, 긍정적 감정 범주인 1,738개의 단어들과 부정적 감정 범주인 2,113개의 단어들이 각각 1.0, -1.0의 감정 스코어로 할당되며, 긍정적 감정 범주와 부정적 감정 범주를 동시에 포함하고 있는 71개의 단어들은 0.0의 감정 스코어로 할당된다.
감정 사전 자료 'OPL'은 2,006개의 긍정 단어들과 4,783개의 부정 단어들로 구성되며, 긍정 단어들은 1.0의 감정 스코어가 부여되고, 부정 단어들은 -1.0의 감정 스코어가 부여된다. 긍정, 부정 리스트 모두에서 배제되는 모호한 단어들은 0.0의 감정 스코어가 부여된다. 감정 사전 자료 'SBL'의 경우, 'positive', 'negative', 'neutral'의 극성을 갖는 단어들이 각각 1.0, -1.0, 0.0의 감정 스코어를 갖도록 변환된다. 그 밖의 다른 감정 사전 자료들에 대해서도 단어들의 감정 스코어가 [-1, 1] 사이의 값을 갖도록 정규화하였다.
감정 사전 자료 'SWN'을 제외한 10개의 표준화된 감정 사전 자료들을 병합하여 하나의 통합 감정 사전을 구축하였다. 서로 다른 감정 사전 자료들의 단어 목록을 병합할 때, 서로 다른 감정 사전 자료들에 중복되는 단어의 감정 스코어는 감정 사전 자료들에서 표준화된 감정 스코어 값들을 평균함으로써 구하였다. 결과적으로, 15,599개의 단어 목록을 갖는 통합 감정 사전이 구축된다. 이들 중 서적 관련 단어들의 개수는 12,776개, 영화 관련 단어들의 개수는 11,633개, 스마트폰 관련 단어들의 개수는 6,521개였다. 통합 감정 사전은 개별 감정 사전 자료보다 많은 단어 목록을 가지므로, 텍스트 의견들과 매칭되는 단어의 개수가 증가되며, 이에 따라 의견 분류 정확도가 높아질 수 있다.
11개의 개별 감정 사전들과, 통합 감정 사전의 성능을 평가하기 위해 3개의 상품평에 대하여 실험을 수행하였다. 이를 위한 훈련 데이터는 서적, 영화, 스마트폰에 대한 아마존 상품평으로부터 수집하였으며, 각 도메인에 대하여 90,000개, 35,000개, 15,000개의 텍스트 의견으로 이루어지는 데이터 세트가 구축되었다. 서적, 영화, 스마트폰에 대한 텍스트 의견들 중에서 임의적으로 10,000개, 5,000개, 5,000개의 의견들을 문턱값과 슬라이더 값의 설정을 위한 설정용 데이터로 선택하였다. 각각의 상품평은 토큰화(tokenized)되고, 분류 정리(lemmatized)되었다.
개별 감정 사전 자료들과, 이들을 병합한 감정 사전 각각에 대해 분류에 영향을 미치지 않는 단어와 분류에 악영향을 미치는 단어를 찾기 위해, 훈련 데이터를 긍정 의견과 부정 의견으로 분류하여, 긍정/부정 텍스트 개수 비율(RatioReview)을 산출하였다. 각각의 아마존 상품평은 평가자에 의해 주어지는 별점표시(star rating)를 갖는다. 아마존 상품평에서 가장 추천되는 상품은 5개의 별이 주어지고, 가장 덜 추천되는 상품은 1개의 별이 주어진다. 5개의 별점과 4개의 별점을 갖는 텍스트 의견은 긍정 의견으로 분류하였으며, 1개의 별점과 2개의 별점을 갖는 텍스트 의견은 부정 의견으로 분류하였다. 3개의 별점을 갖는 의견은 긍정 또는 부정 의견으로 분류하기 어려우므로, 훈련 데이터에서 제외하였다.
긍정/부정 텍스트군에서의 단어 발생 빈도 비율(RatioWord)을 얻기 위해 긍정 텍스트군과 부정 텍스트군에 포함된 사전 단어의 출현 빈도를 카운트한다. 이어서, 단어 발생 빈도 비율(RatioWord)에서 긍정/부정 텍스트 개수 비율(RatioReview)을 뺀 차이값(DifferenceRatio)을 산출 다음, 긍정/부정 텍스트 개수 비율(RatioReview)에 대한 차이값(DifferenceRatio)의 비율로부터 차이값 비율(ProportionRatioDiff)을 산출한다. 그리고나서, 어떤 단어 목록을 제거하고 어떤 감정 극성을 전환할지를 결정하기 위한 슬라이더 값(slider value)을 설정한다. 슬라이더 값은 0.0 ~ 0.5 사이에서 0.1 간격으로 결정할 수 있다. 만약, 차이값 비율(ProportionRatioDiff)이 0 이상이면서 슬라이더 값과 같거나 슬라이더 값보다 작은 경우, 해당 단어를 감정 사전에서 삭제(removing)할 수 있다. 만약, 차이값 비율(ProportionRatioDiff)이 슬라이더 값보다 큰 것과 동시에 감정 사전에 정의된 감정 스코어와 차이값(DifferenceRatio)이 서로 다른 극성을 갖는 경우, 해당 단어의 감정 스코어의 극성을 반대로 전환(switching)함으로써, 수정 감정 사전을 구축할 수 있다.
11개의 개별 감정 사전 자료들과, 통합 감정 사전 각각에 대하여 분류 정확도를 측정하였다. 먼저, 각각의 감정 사전(Dj, j=1,...,12)에서 각 단어(wi, i=1,...,n)에 대한 감정 스코어 'Dj(wi)'를 검색하며, 예시적으로, 아래의 수식 2에 나타낸 바와 같이, 감정 사전에 부합되는 텍스트 의견의 모든 단어들의 감정 스코어 값들을 평균하여 텍스트 의견 감정 스코어(Review Sentiment Score; RSS)를 산출한다.
[수식 2]
Figure 112013102752836-pat00002
아래의 수식 3에 나타낸 바와 같이, 만약, RSS 값이 문턱값(threshold)과 같거나 문턱값보다 크면, 텍스트 의견은 긍정적인 것으로 판단되고, 그렇지 않으면, 부정적인 것으로 판단된다.
[수식 3]
Figure 112013102752836-pat00003
예시적으로, 서적에 대한 상품평 데이터 세트는 별점 표시에 의하여 분류되는 긍정 의견의 개수(9,007개)가 부정 의견의 개수(993개)보다 많은 불균형적인 데이터 세트(대략 9:1 비율)이므로, 전체 성능을 정확하게 평가하기 위해 아래의 수식 4에 나타낸 바와 같은 균형화된 정확도(AccBAL)를 사용하였다.
[수식 4]
Figure 112013102752836-pat00004
Figure 112013102752836-pat00005
Figure 112013102752836-pat00006
수식 4에서, RecallPOS와 RecallNEG는 각각 긍정 의견과 부정 의견의 정확도를 나타내고, 'true positives'는 감정 사전을 이용하여 긍정 의견으로 분류된 텍스트 의견들 중 별점 표시 4개 이상인 텍스트 의견들의 개수를 나타내고, 'true negatives'는 감정 사전을 이용하여 부정 의견으로 분류된 텍스트 의견들 중 별점 표시 2개 이하인 텍스트 의견들의 개수를 나타내고, 'false negatives'는 감정 사전을 이용하여 부정 의견으로 분류된 텍스트 의견들 중 별점 표시 4개 이상인 텍스트 의견들의 개수를 나타내고, 'false positives'는 감정 사전을 이용하여 긍정 의견으로 분류된 텍스트 의견들 중 별점 표시 2개 이하인 텍스트 의견들의 개수를 나타낸다.
한편, 11개의 개별 감정 사전들과 이들을 병합한 통합 감정 사전 각각에 대하여, 의견 분류에 영향을 미치지 않는 단어를 감정 사전에서 제거하고, 의견 분류에 악영향을 미치는 단어의 감정 스코어를 전환하는 것에 의하여 수정 감정 사전을 구축하였다. 12개의 감정 사전들 각각에 대한 실험에서, 긍정 의견과 부정 의견을 분류하기 위한 기준값인 문턱값(threshold)과, 각 감정 사전에 대하여 수정 사전의 구축시 감정 스코어의 전환 여부를 결정하기 위한 기준값인 슬라이더 값(slider value)은 훈련 데이터 중의 일부 혹은 전부를 사용하여 설정되었다. 문턱값과 슬라이더 값은 각 감정 사전마다 개별적으로 설정되었으며, 다양한 문턱값과 슬라이더 값의 조합에 대하여 반복 실험한 후 최대의 의견 분류 정확도를 갖는 문턱값과 슬라이더 값을 선택함으로써 문턱값과 슬라이더 값을 결정하였다.
아래의 표 1은 아마존으로부터 수집된 서평들(book reviews)에 대하여 각 감정 사전들을 이용하여 긍정/부정 의견을 분류한 정확도를 측정한 결과를 보여준다.
Figure 112013102752836-pat00007
표 1에서, 'R & S'는 각 감정 사전에 대해 의견 분류에 영향을 미치지 않는 단어를 제거(Remove)하고, 의견 분류에 악영향을 미치는 단어의 감정 스코어를 전환(Switch)한 수정 감정 사전의 정확도(Balanced Accuracy)를 나타내고, 'Original'은 수정 전의 감정 사전에 대한 정확도를 나타낸다. 'Integrated'는 감정 사전들을 병합한 감정 사전을 나타낸다. 'Training Data:10000/Test Data:80000'은 수정 감정 사전의 구축을 위해 10000개의 서평(설정용 데이터)를 이용하고, 80000개의 서평(테스트용 데이터)을 이용하여 수정 전과 후의 감정 사전 각각에 대해 정확도를 측정한 경우를 나타내고, 'Training Data=Test Data:90000'은 90000개의 서평을 이용하여 수정 감정 사전을 구축하고, 수정 전과 후의 감정 사전에 대해 정확도를 측정한 경우를 나타낸다. 'R & S Dictionary's Threshold 10000/90000'은 10000개의 설정용 데이터를 이용하여 설정된 문턱값과, 90000개의 설정용 데이터를 이용하여 설정한 문턱값을 나타내며, 'R & S Slider Value 10000/90000'은 10000개의 설정용 데이터를 이용하여 설정된 슬라이더 값과, 90000개의 설정용 데이터를 이용하여 설정한 슬라이더 값을 나타내며, 'Matched Word Size'는 각 감정 사전에서 훈련 데이터와 매칭되는 단어의 개수를 나타낸다.
표 1에 나타낸 바로부터, 모든 감정 사전의 경우에 대하여, 수정 감정 사전의 의견 분류 정확도는 수정 전의 감정 사전보다 훨씬 높은 것을 알 수 있다. 감정 사전 자료들을 병합한 통합 감정 사전(Integrated)은 개별 감정 사전 자료보다 높은 정확도를 갖는다. 또한, 개별 감정 사전 자료들을 병합한 후 의견 분류에 영향을 미치는 단어를 제거하고 의견 분류에 악영향을 미치는 단어의 감정 스코어를 전환하여 구축한 수정 감정 사전의 경우에도 단지 개별 감정 사전 자료들을 병합한 감정 사전보다 훨씬 높은 의견 분류 정확도(83.8%)를 보여준다.
아래의 표 2는 아마존으로부터 수집된 영화 후기들(movie reviews)에 대하여 각 감정 사전들을 이용하여 긍정/부정 의견을 분류한 정확도를 측정한 결과를 보여준다.
Figure 112013102752836-pat00008
표 2에서, 'Training Data:5000/Test Data:30000'은 수정 감정 사전의 구축을 위해 5000개의 영화 후기들(설정용 데이터)을 이용하고, 30000개의 영화 후기들(테스트용 데이터)을 이용하여 수정 전과 후의 감정 사전 각각에 대해 정확도를 측정한 경우를 나타내고, 'Training Data=Test Data:35000'은 35000개의 영화 후기들을 이용하여 수정 감정 사전을 구축하고, 수정 전과 후의 감정 사전에 대해 정확도를 측정한 경우를 나타낸다. 'R & S Dictionary's Threshold 5000/35000'은 5000개의 설정용 데이터를 이용하여 설정된 문턱값과, 35000개의 설정용 데이터를 이용하여 설정한 문턱값을 나타내며, 'R & S Slider Value 5000/35000'은 5000개의 설정용 데이터를 이용하여 설정된 슬라이더 값과, 35000개의 설정용 데이터를 이용하여 설정한 슬라이더 값을 나타낸다.
도 7은 5000개의 설정용 데이터와 30000개의 테스트용 데이터를 이용하여 측정한 영화에 대한 의견 분류의 정확도를 문턱값과 슬라이더 값에 따라 나타낸 도면이고, 도 8은 35000개의 데이터를 이용하여 측정한 영화에 대한 의견 분류의 정확도를 문턱값과 슬라이더 값에 따라 나타낸 도면이다. 도 7 내지 도 8에서, 예를 들어 'dict_0.10'은 슬라이더 값이 0.10으로 설정된 경우의 정확도를 나타내는 그래프이다. 도 7 내지 도 8에 도시된 바와 같이, 문턱값과 슬라이더 값은 의견 분류 정확도가 최대로 되는 값으로 설정될 수 있다. 도 7의 경우 문턱값은 0.13으로 설정되고 슬라이더 값은 0.1로 설정되며, 도 8의 경우 문턱값은 0.19로 설정되고 슬라이더 값은 0.2로 설정된다.
표 2에서 확인할 수 있는 바와 같이, 모든 감정 사전에 대하여, 수정 감정 사전은 수정 전의 감정 사전보다 의견 분류 정확도가 향상된다. 감정 사전 자료들을 병합한 감정 사전(Integrated)은 개별 감정 사전 자료보다 높은 정확도를 보여준다. 또한, 개별 감정 사전 자료들을 병합한 후 의견 분류에 영향을 미치는 단어를 제거하고 의견 분류에 악영향을 미치는 단어의 감정 스코어를 전환하여 구축한 수정 감정 사전의 경우에도 단지 개별 감정 사전 자료들을 병합한 감정 사전보다 높은 의견 분류 정확도(83.9%)를 보여준다.
아래의 표 3은 아마존으로부터 수집된 스마트폰 상품평들(smartphone reviews)에 대하여 각 감정 사전들을 이용하여 긍정/부정 의견을 분류한 정확도를 측정한 결과를 보여준다.
Figure 112013102752836-pat00009
표 3에서, 'Training Data:5000/Test Data:10000'은 수정 감정 사전의 구축을 위해 5000개의 스마트폰 상품평들(설정용 데이터)을 이용하고, 10000개의 스마트폰 상품평들(테스트용 데이터)을 이용하여 수정 전과 후의 감정 사전 각각에 대해 정확도를 측정한 경우를 나타내고, 'Training Data=Test Data:15000'은 15000개의 스마트폰 상품평들을 이용하여 수정 감정 사전을 구축하고, 수정 전과 후의 감정 사전에 대해 분류 정확도를 측정한 경우를 나타낸다. 'R & S Dictionary's Threshold 5000/15000'은 5000개의 설정용 데이터를 이용하여 설정된 문턱값과, 15000개의 설정용 데이터를 이용하여 설정한 문턱값을 나타내며, 'R & S Slider Value 5000/15000'은 5000개의 설정용 데이터를 이용하여 설정된 슬라이더 값과, 15000개의 설정용 데이터를 이용하여 설정한 슬라이더 값을 나타낸다.
도 9는 5000개의 설정용 데이터와 15000개의 테스트용 데이터를 이용하여 측정한 스마트폰 상품평의 분류 정확도를 문턱값과 슬라이더 값에 따라 나타낸 도면이고, 도 10은 15000개의 데이터를 이용하여 측정한 스마트폰 상품평의 분류 정확도를 문턱값과 슬라이더 값에 따라 나타낸 도면이다. 도 9의 경우, 표 3에 나타난 바와 같이 문턱값은 0.165로 설정되었고 슬라이더 값은 0.2로 설정되었다. 도 10의 경우, 표 3에 나타난 바와 같이 문턱값은 0.17로 설정되었고 슬라이더 값은 0.3으로 설정되었다.
표 3에서 확인할 수 있는 바와 같이, 모든 감정 사전에 대하여, 수정 감정 사전에 의한 의견 분류 정확도는 수정 전의 감정 사전의 의견 분류 정확도보다 훨씬 높게 나타난다. 감정 사전 자료들을 병합한 감정 사전(Integrated)은 개별 감정 사전 자료보다 높은 정확도를 보여준다. 또한, 개별 감정 사전 자료들을 병합한 후 의견 분류에 영향을 미치는 단어를 제거하고 의견 분류에 악영향을 미치는 단어의 감정 스코어를 전환하여 구축한 수정 감정 사전을 이용하여 의견 분류한 경우에도 단지 개별 감정 사전 자료들을 병합한 감정 사전을 이용하여 의견 분류한 경우보다 훨씬 높은 의견 분류 정확도(83.6%)를 나타낸다.
도 11은 개별 감정 사전 자료들과 이들을 병합한 감정 사전의 분류 정확도를 비교하여 보여주는 그래프이다. 도 11에 도시된 바와 같이, 감정 사전 자료들을 병합한 감정 사전(MRG)을 이용하여 텍스트 의견을 분류할 경우, 개별 감정 사전 자료를 이용하는 경우보다 높은 최대 분류 정확도를 얻을 수 있다. 도 12는 개별 감정 사전 자료들과 이들을 병합한 감정 사전 각각에 대해 분류에 영향을 미치지 않는 단어를 제거하고 분류에 악영향을 미치는 단어의 감정 스코어를 전환한 수정 감정 사전의 분류 정확도를 비교하여 보여주는 그래프이다. 도 11 내지 도 12를 비교하면, 수정된 감정 사전을 이용하는 경우, 수정하기 전의 감정 사전을 이용하는 경우보다 최대 분류 정확도가 향상된다. 도 12를 참조하면, 감정 사전 자료들을 병합한 후 수정한 감정 사전(MRG)을 이용하여 텍스트 의견을 분류할 경우, 개별 감정 사전 자료를 수정한 감정 사전보다 높은 최대 분류 정확도를 얻을 수 있다.
본 발명의 실시 예에 따른 감정 사전 구축 방법은 예를 들어 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등과 같은 불휘발성 메모리, 플로피 디스크, 하드 디스크 또는 광학적 판독 매체 예를 들어 시디롬, 디브이디 등과 같은 형태의 저장매체일 수 있으나, 이에 제한되지는 않는다.
이상의 실시 예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시 예들도 본 발명의 범위에 속하는 것임을 이해하여야 한다. 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명에 대하여까지 미치는 것임을 이해하여야 한다.
10, 20: 감정 사전 제공 서버 30: 훈련 데이터 제공 서버
100: 감정 사전 구축 장치 110: 사용자 인터페이스부
120: 입력부 130: 감정 사전 구축부
131: 감정 사전 병합부 132: 감정 사전 갱신부
1321: 단어 빈도 산출부 1322: 비교 판단부
1323: 단어 제거부 1324: 스코어 변환부
140: 메모리 150: 디스플레이부
160: 제어부

Claims (13)

  1. 긍정적 의견으로 분류된 긍정 텍스트들(positive texts)의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들(negative texts)의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부;
    감정 사전(sentiment dictionary)에 상기 단어에 대응하여 설정된 감정 스코어(sentiment score)가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 비교 판단부; 및
    상기 감정 사전에 상기 단어에 대응하여 설정된 상기 감정 스코어를 상기 비교 판단부의 판단 결과에 따라 선택적으로 변경하는 스코어 변환부를 포함하며,
    상기 비교 판단부는 상기 긍정 텍스트들과 상기 부정 텍스트들 간의 텍스트 개수 비율을 산출하고, 상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값을 산출하며, 상기 감정 스코어의 극성(polarity)과 상기 차이값의 극성을 비교하여 상기 감정 스코어의 변경 여부를 판단하는 감정 사전 구축 장치.
  2. 제1 항에 있어서,
    상기 스코어 변환부는, 상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않는 것으로 판단되면, 상기 감정 스코어를 변경하는 감정 사전 구축 장치.
  3. 삭제
  4. 제1 항에 있어서,
    상기 스코어 변환부는 상기 감정 스코어의 극성과 상기 차이값의 극성이 서로 일치하지 않는 경우, 상기 감정 스코어의 극성을 전환하는 감정 사전 구축 장치.
  5. 제1 항에 있어서,
    상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 상기 감정 사전에서 상기 단어를 제거하는 단어 제거부를 더 포함하는 감정 사전 구축 장치.
  6. 긍정적 의견으로 분류된 긍정 텍스트들의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부;
    감정 사전에 상기 단어에 대응하여 설정된 감정 스코어가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 비교 판단부; 및
    상기 감정 사전에 상기 단어에 대응하여 설정된 상기 감정 스코어를 상기 비교 판단부의 판단 결과에 따라 선택적으로 변경하는 스코어 변환부를 포함하며,
    서로 다른 감정 사전 자료들을 병합하여 상기 감정 사전을 구축하는 감정 사전 병합부를 더 포함하는 감정 사전 구축 장치.
  7. 제6 항에 있어서,
    상기 감정 사전 병합부는 상기 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화하고, 각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어들을 평균한 값을 상기 각 단어에 대한 감정 스코어로 산출하는 감정 사전 구축 장치.
  8. 긍정적 의견으로 분류된 긍정 텍스트들의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단어 빈도 산출부;
    감정 사전에 상기 단어에 대응하여 설정된 감정 스코어가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 비교 판단부; 및
    상기 감정 사전에 상기 단어에 대응하여 설정된 상기 감정 스코어를 상기 비교 판단부의 판단 결과에 따라 선택적으로 변경하는 스코어 변환부를 포함하며,
    상기 감정 사전에서 상기 단어에 대한 감정 스코어는 도메인별로 서로 다른 값으로 설정되고,
    상기 스코어 변환부는 상기 감정 사전의 상기 단어에 대한 감정 스코어들 중 상기 긍정 텍스트군과 상기 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경하는 감정 사전 구축 장치.
  9. 삭제
  10. 단어 빈도 산출부가, 긍정적 의견으로 분류된 긍정 텍스트들의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단계;
    비교 판단부가, 감정 사전에 상기 단어에 대응하여 설정된 감정 스코어가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 단계; 및
    상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않으면, 스코어 변환부가 상기 감정 스코어를 변경하는 단계를 포함하며,
    상기 비교 판단부가 판단하는 단계는,
    상기 긍정 텍스트들과 상기 부정 텍스트들 간의 텍스트 개수 비율을 산출하는 단계;
    상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값을 산출하는 단계; 및
    상기 감정 스코어의 극성(polarity)과 상기 차이값의 극성을 비교하여 상기 감정 스코어의 극성을 전환할지 여부를 판단하는 단계를 포함하는 감정 사전 구축 방법.
  11. 제10 항에 있어서,
    상기 빈도값 간의 비율과 상기 텍스트 개수 비율 간의 차이값이 0을 포함하는 소정의 임계 범위 내에 속하는 경우, 단어 제거부가 상기 감정 사전에서 상기 단어를 제거하는 단계를 더 포함하는 감정 사전 구축 방법.
  12. 단어 빈도 산출부가, 긍정적 의견으로 분류된 긍정 텍스트들의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단계;
    비교 판단부가, 감정 사전에 상기 단어에 대응하여 설정된 감정 스코어가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 단계; 및
    상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않으면, 스코어 변환부가 상기 감정 스코어를 변경하는 단계를 포함하며,
    감정 사전 병합부가, 서로 다른 감정 사전 자료들을 병합하여 상기 감정 사전을 구축하는 단계를 더 포함하며,
    상기 감정 사전 병합부가 상기 감정 사전을 구축하는 단계는,
    상기 감정 사전 자료들 각각의 단어들에 대한 서로 다른 감정 스코어들과 서로 다른 감정 범주들(sentiment categories)을 표준화하는 단계; 및
    각 단어에 대하여 표준화된 서로 다른 감정 사전 자료들의 감정 스코어들을 평균한 값을 상기 각 단어에 대한 감정 스코어로 산출하는 단계를 포함하는 감정 사전 구축 방법.
  13. 단어 빈도 산출부가, 긍정적 의견으로 분류된 긍정 텍스트들의 집합체인 긍정 텍스트군 및 부정적 의견으로 분류된 부정 텍스트들의 집합체인 부정 텍스트군 각각에서 소정의 단어가 출현한 빈도값을 산출하는 단계;
    비교 판단부가, 감정 사전에 상기 단어에 대응하여 설정된 감정 스코어가 상기 긍정 텍스트군 및 상기 부정 텍스트군 각각에 대한 빈도값 간의 비율과 부합하는지를 판단하는 단계; 및
    상기 감정 스코어가 상기 빈도값 간의 비율과 부합하지 않으면, 스코어 변환부가 상기 감정 스코어를 변경하는 단계를 포함하며,
    상기 감정 사전에서 상기 단어에 대한 감정 스코어는 도메인별로 서로 다른 값으로 설정되고,
    상기 스코어 변환부가 상기 감정 스코어를 변경하는 단계는 상기 감정 사전의 상기 단어에 대한 감정 스코어들 중 상기 긍정 텍스트군과 상기 부정 텍스트군의 도메인에 대응하는 감정 스코어만을 선택적으로 변경하는 감정 사전 구축 방법.
KR1020130136710A 2013-11-12 2013-11-12 감정 사전 구축 장치 및 감정 사전 구축 방법 KR101555039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130136710A KR101555039B1 (ko) 2013-11-12 2013-11-12 감정 사전 구축 장치 및 감정 사전 구축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130136710A KR101555039B1 (ko) 2013-11-12 2013-11-12 감정 사전 구축 장치 및 감정 사전 구축 방법

Publications (2)

Publication Number Publication Date
KR20150054355A KR20150054355A (ko) 2015-05-20
KR101555039B1 true KR101555039B1 (ko) 2015-09-22

Family

ID=53390524

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130136710A KR101555039B1 (ko) 2013-11-12 2013-11-12 감정 사전 구축 장치 및 감정 사전 구축 방법

Country Status (1)

Country Link
KR (1) KR101555039B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101755227B1 (ko) * 2015-08-10 2017-07-06 숭실대학교산학협력단 제품 유형 분류 장치 및 방법
KR102023516B1 (ko) * 2017-08-11 2019-09-20 주식회사 인데이터랩 사용자 반응 데이터 분석 방법 및 장치
CN109671487A (zh) * 2019-02-25 2019-04-23 上海海事大学 一种社交媒体用户心理危机预警方法
KR102221513B1 (ko) * 2019-02-28 2021-03-03 전남대학교산학협력단 음성 감정 인식 방법 및 시스템
CN112182332A (zh) * 2020-09-25 2021-01-05 科大国创云网科技有限公司 一种基于爬虫采集的情感分类方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018234A (ja) 2005-07-07 2007-01-25 National Institute Of Information & Communication Technology 感情表現語句辞書自動生成方法及び装置、並びにテキストに対する感情尺度評価値自動付与方法及び装置
JP2012003574A (ja) 2010-06-18 2012-01-05 Nomura Research Institute Ltd 感性辞書編集支援システム及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018234A (ja) 2005-07-07 2007-01-25 National Institute Of Information & Communication Technology 感情表現語句辞書自動生成方法及び装置、並びにテキストに対する感情尺度評価値自動付与方法及び装置
JP2012003574A (ja) 2010-06-18 2012-01-05 Nomura Research Institute Ltd 感性辞書編集支援システム及びプログラム

Also Published As

Publication number Publication date
KR20150054355A (ko) 2015-05-20

Similar Documents

Publication Publication Date Title
Danescu-Niculescu-Mizil et al. How opinions are received by online communities: a case study on amazon. com helpfulness votes
Krouska et al. The effect of preprocessing techniques on Twitter sentiment analysis
Farnadi et al. Computational personality recognition in social media
Marchetti-Bowick et al. Learning for microblogs with distant supervision: political forecasting with Twitter
Patil et al. Sentiment analysis for social media: a survey
US11709875B2 (en) Prioritizing survey text responses
KR101555039B1 (ko) 감정 사전 구축 장치 및 감정 사전 구축 방법
CN105247507A (zh) 品牌的影响力得分
Kar et al. Finding opinion strength using fuzzy logic on web reviews
Kiefer Assessing the Quality of Unstructured Data: An Initial Overview.
CN102789449B (zh) 对评论文本进行评价的方法和装置
Suryadi et al. A data-driven methodology to construct customer choice sets using online data and customer reviews
Kim et al. Text mining and sentiment analysis for predicting box office success
TW201719569A (zh) 社交業務特徵用戶的識別方法和裝置
Jonathan et al. Sentiment analysis of customer reviews in zomato bangalore restaurants using random forest classifier
Rathan et al. Every post matters: a survey on applications of sentiment analysis in social media
Nirmala et al. Twitter data analysis for unemployment crisis
US10614100B2 (en) Semantic merge of arguments
Kim et al. Comparing machine learning classifiers for movie WOM opinion mining
JP2014099045A (ja) プロフィール推定装置、方法、及びプログラム
Prakhash et al. Categorizing food names in restaurant reviews
US20180114171A1 (en) Apparatus and method for predicting expected success rate for a business entity using a machine learning module
Simeon et al. Evaluating the Effectiveness of Hashtags as Predictors of the Sentiment of Tweets
CN110929123A (zh) 一种电商产品竞争分析方法及***
Tripathi et al. Analysis and prediction of extent of helpfulness of reviews on E-commerce websites

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: 20180917

Year of fee payment: 4

R401 Registration of restoration