KR101007284B1 - 인터넷을 이용한 의견 검색 시스템 및 그 방법 - Google Patents

인터넷을 이용한 의견 검색 시스템 및 그 방법 Download PDF

Info

Publication number
KR101007284B1
KR101007284B1 KR1020080093125A KR20080093125A KR101007284B1 KR 101007284 B1 KR101007284 B1 KR 101007284B1 KR 1020080093125 A KR1020080093125 A KR 1020080093125A KR 20080093125 A KR20080093125 A KR 20080093125A KR 101007284 B1 KR101007284 B1 KR 101007284B1
Authority
KR
South Korea
Prior art keywords
opinion
negative
positive
internet
keyword
Prior art date
Application number
KR1020080093125A
Other languages
English (en)
Other versions
KR20100034140A (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 KR1020080093125A priority Critical patent/KR101007284B1/ko
Priority to US13/120,649 priority patent/US20110179009A1/en
Priority to PCT/KR2009/005405 priority patent/WO2010036012A2/ko
Publication of KR20100034140A publication Critical patent/KR20100034140A/ko
Application granted granted Critical
Publication of KR101007284B1 publication Critical patent/KR101007284B1/ko

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 인터넷을 이용한 의견 검색 시스템 및 그 방법에 관한 것으로, 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 사용자 의견 정보들을 자동 추출 및 분석하여 긍정/부정 의견별로 검색 및 통계를 확인할 수 있도록 의견 검색 서비스를 제공해 줌으로써, 의견 검색 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링(Monitoring) 할 수 있으며, 기존에 다른 사용자들의 의견을 검색하기 위해서 들였던 많은 시간을 크게 단축시킬 수 있는 효과가 있다.
또한, 본 발명에 의하면, 각 회사의 마케팅 담당자나 주식 투자자, 기업 가치 평가자 등은 방대한 인터넷 상에서 존재하는 해당 기업이나 물품에 대한 여러 사용자들의 의견을 한눈에 확인할 수 있으며, 기존에 사용자들의 의견을 알기 위해서 실시했던 설문조사나 컨설팅 회사에 들였던 비용을 대폭 줄일 수 있으면서 효과적으로 각 사용자들의 의견 추출 및 통계를 내서 활용할 수 있다.
인터넷, 의견, 검색, 키워드, 긍정, 부정, 웹 문서, 형태소 분석, 띄어쓰기

Description

인터넷을 이용한 의견 검색 시스템 및 그 방법{SYSTEM AND METHOD FOR SEARCHING OPINION USING INTERNET}
본 발명은 인터넷을 이용한 의견 검색 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 사용자 의견 정보들을 자동 추출 및 분석하여 긍정/부정 의견별로 검색 및 통계를 확인할 수 있도록 의견 검색 서비스를 제공해 줌으로써, 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링 할 수 있는 인터넷을 이용한 의견 검색 시스템 및 그 방법에 관한 것이다.
최근에 인터넷 사용이 점차 활발해 짐에 따라, 많은 사람들이 인터넷에서 예컨대, 블로그(Blog), 위키(Wiki)와 같은 매체를 통해서 자신의 의견을 표현하고 있는 추세이다. 또한, 특정한 정보의 가치를 평가할 때, 이러한 다른 사람들이 인터넷 상에 올려놓은 의견 정보를 참조하고자 하는 수요도 높아지고 있다.
예를 들면, 인터넷 상에는 상품 리뷰(Review)에서 영화 리뷰까지 다양한 사 용자들의 의견이 존재한다. 이러한 각 사용자들의 의견들은 일반 사용자들이 물품을 구매하거나, 영화를 보기 전에 다른 사용자들의 의견을 보고자 하는 경우에도 이용될 수 있으며, 마케팅 담당자나 주식 매매자 등이 각 물품이나 회사에 대한 일반 사용자들의 다양한 의견을 알고자 하는 경우에도 사용될 수 있다. 특히, 일반 사용자들은 특정 물품을 구매하기 전에 다른 사용자들의 평가를 먼저 보고 나서 이런 물품을 구매하려는 경향이 크다.
하지만, 이러한 인터넷 상에 존재하는 의견들은 개개의 웹사이트들에만 존재하여, 이러한 의견 정보들을 사용하고자 할 경우에는 사용자가 일일이 이러한 개개의 모든 웹사이트를 수동으로 찾아보아야 하는 번거로움이 존재한다.
이러한 모든 웹사이트들을 사용자들이 모두 찾아보기 어려우며 일반 검색으로 다른 사용자들의 의견을 찾고자 하는 경우에는 의견이 있는 웹 문서, 긍정적인 의견이 있는 웹 문서, 부정적인 의견이 있는 웹 문서 등이 혼재하여 효과적으로 다른 사용자들의 의견을 찾아보기 어려운 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 사용자 의견 정보들을 자동 추출 및 분석하여 긍정/부정 의견별로 검색 및 통계를 확인할 수 있도록 의견 검색 서비스를 제공해 줌으로써, 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링 할 수 있는 인터넷을 이용한 의견 검색 시스템 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 인터넷 상에 존재하는 웹 문서 데이터를 수집하는 제1 서버; 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 언어처리모듈; 상기 추출된 각 문장의 언어적인 자질들을 이용하여 의견/비의견 문장을 구분하는 의견/비의견 구분모듈; 상기 구분된 의견 문장의 언어적인 자질들에 대해 긍정/부정 의견표현으로 구분하는 의견표현 구분모듈; 상기 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 저장되도록 인덱싱하는 제2 서버; 및 인터넷을 통해 접속된 사용자 단말로부터 전송되는 특정 키워드를 제공받아 상기 제2 서버와 연동되어 상기 특정 키워드와 관련된 웹 문서의 의견 정보들을 검색하여 해당 사용자 단말의 화면에 의견 검색결과를 디스플레이 해주는 웹 서버를 포함하는 인터넷을 이용한 의견 검색 시스템을 제공하는 것이다.
여기서, 상기 제1 서버를 통해 수집된 웹 문서 데이터에서 필요한 텍스트, 이미지 또는 비디오 정보들 중 적어도 어느 하나의 정보 데이터를 추출하여 저장되는 데이터 저장모듈이 더 포함됨이 바람직하다.
바람직하게, 상기 제2 서버를 통해 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들이 데이터베이스(DB)화하여 저장되는 의견 인덱싱 정보 저장모듈이 더 포함될 수 있다.
바람직하게, 상기 웹 문서의 기본 및 의견 정보들은 제목, 본문, 의견 분석된 본문, 생성 날짜, 태그, URL, 이미지, 동영상, 긍정/부정 표현의 수, 전체적인 긍정/부정 정도, 각 긍정/부정 표현의 시작과 끝의 위치정보, 의견 어휘들의 대상이 될만한 객체 키워드 정보, 객체 키워드와 의견표현 관계정보, 또는 각 객체 키워드들이 속하는 타입 정보 중 적어도 하나의 정보로 이루어질 수 있다.
바람직하게, 상기 언어처리는 형태소 분석(Morpheme Analyze) 또는 띄어쓰기(Segmentation) 처리로 이루어질 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 전체 의견, 긍정적/부정적 의견내용을 선택적으로 확인할 수 있도록 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 해당 사용자 단말의 화면에 디스플 레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 중요도 또는 시간 순서에 따라 리스트(List)화하여 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 중요도는 상기 특정 키워드가 해당 웹 문서에서 가지는 관련도와 의견표현 정도를 통해 결정되고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용되며, 상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 결정되고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용될 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 웹 문서의 의견 내용들에 대해 댓글 형식으로 해당 의견 검색 사용자의 의견을 추가할 수 있도록 의견 입력창을 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 상기 특정 키워드와 함께 긍정/부정으로 표현된 부분을 특정한 표현으로 강조하여 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 선택에 따라 긍정/부정 의견 부분을 분석하고, 이를 특정한 표현으로 강조하여 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 특정한 표현은 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 강조표현으로 이루어질 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 긍정/부정 의견표현 정도에 따라 시기별로 긍정/부정 비율의 변화를 그래프 형태로 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 상기 특정 키워드의 세부 항목별로 긍정/부정 비율을 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 찬성/반대 의사를 선택할 수 있도록 해당 사용자 단말의 화면에 디스플레이 해줄 수 있다.
바람직하게, 상기 웹 서버는 사용자가 기 등록한 특정 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링 하여 해당 사용자 단말로 통지해줄 수 있다.
본 발명의 제2 측면은, (a) 인터넷 상에 존재하는 웹 문서 데이터를 수집하는 단계; (b) 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계; (c) 상기 추출된 각 문장의 언어적인 자질들을 이용하여 의견/비의견 문장을 구분하는 단계; (d) 상기 구분된 의견 문장의 언어적인 자질들에 대해 긍정/부정 의견표현으로 구분하는 단계; (e) 상기 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 저장되도록 인덱싱하는 단계; 및 (f) 인터넷을 통해 접속된 사용자 단 말로부터 전송되는 특정 키워드와 관련된 웹 문서의 의견 정보들을 검색하여 해당 사용자 단말의 화면에 의견 검색결과를 디스플레이 해주는 단계를 포함하는 인터넷을 이용한 의견 검색 방법을 제공하는 것이다.
바람직하게, 상기 단계(e)에서, 상기 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들을 데이터베이스(DB)화하여 별도의 저장모듈에 저장하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(b)에서, 상기 언어처리는 형태소 분석 또는 띄어쓰기 처리를 수행할 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 전체 의견, 긍정적/부정적 의견내용을 선택적으로 확인할 수 있도록 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 중요도 또는 시간 순서에 따라 디스플레이 해줄 수 있다.
바람직하게, 상기 중요도는 상기 특정 키워드가 해당 웹 문서에서 가지는 관련도와 의견표현 정도를 통해 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용하며, 상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용할 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 웹 문서의 의견 내용들에 대해 댓글 형식으로 해당 의견 검색 사용자의 의견을 추가할 수 있도록 의견 입력창을 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 함께 긍정/부정으로 표현된 부분을 특정한 표현으로 강조하여 디스플레이 해줄 수 있다.
바람직하게, 상기 특정한 표현은 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 강조 표현일 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 선택에 따라 긍정/부정 의견 부분을 분석한 후, 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 표현으로 강조하여 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 긍정/부정 의견표현 정도에 따라 시기별 긍정/부정 비율의 변화를 그래프 형태로 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드의 세부 항목별로 긍정/부정 비율을 디스플레이 해줄 수 있다.
바람직하게, 상기 단계(f)이후에, 사용자가 기 등록한 특정 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링 하여 해당 사용자 단말로 통지해주는 단계를 더 포함할 수 있다.
본 발명의 제3 측면은, 상술한 인터넷을 이용한 의견 검색 방법을 실행시키기 위한 프로그램을 기록한 기록매체를 제공하는 것이다.
이상에서 설명한 바와 같은 본 발명의 인터넷을 이용한 의견 검색 시스템 및 그 방법에 따르면, 인터넷 상에 존재하는 여러 웹사이트들에 흩어져 있는 사용자 의견 정보들을 자동 추출 및 분석하여 긍정/부정 의견별로 검색 및 통계를 확인할 수 있도록 의견 검색 서비스를 제공해 줌으로써, 사용자들은 특정 키워드에 대하여 다른 사용자들의 의견을 손쉽게 한눈에 검색 및 모니터링 할 수 있으며, 기존에 다른 사용자들의 의견을 검색하기 위해서 들였던 많은 시간을 크게 단축시킬 수 있는 이점이 있다.
또한, 본 발명에 의하면, 각 회사의 마케팅 담당자나 주식 투자자, 기업 가치 평가자 등은 방대한 인터넷 상에서 존재하는 해당 기업이나 물품에 대한 여러 사용자들의 의견을 한눈에 확인할 수 있으며, 기존에 사용자들의 의견을 알기 위해서 실시했던 설문조사나 컨설팅 회사에 들였던 비용을 대폭 줄일 수 있으면서 효과적으로 각 사용자들의 의견 추출 및 통계를 내서 활용할 수 있는 이점이 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
도 1은 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 시스템은, 크게 데이터 수집서버(100), 언어처리모듈(200), 의견/비의견 구분모듈(300), 의견표현 구분모듈(400), 인덱싱 서버(500), 의견 인덱싱 정보 저장모듈(600), 의견검색모듈(700), 웹 서버(800) 및 사용자 단말(900) 등을 포함하여 이루어진다.
여기서, 데이터 수집서버(100)는 인터넷(10) 상에 존재하는 다양한 웹 문서 데이터들을 수집하는 기능을 수행한다. 즉, 데이터 수집서버(100)는 인터넷(10) 상에 존재하는 각 웹사이트(Web Site)들의 HTML(Hyper Text Markup Language) 정보를 실시간으로 다운로드(Download) 받게 된다.
또한, 데이터 수집서버(100)는 상기와 같이 다운로드(Download) 받은 웹 문서 데이터에서 필요한 정보들 예컨대, 텍스트(Text), 이미지(Image) 또는 비디오(Video) 등의 정보들 중 적어도 어느 하나의 정보 데이터를 추출하여 별도의 데이터 저장모듈(150)에 저장시킬 수 있다.
또한, 데이터 수집서버(100)는 하기의 표 1과 같이, 의견정보 데이터(즉, 일반 문장/문서 데이터와 이에 대한 긍정/부정 평가가 매겨진 정보 데이터)를 포함하는 웹 문서 데이터들을 선별하여 수집할 수도 있다.
이때, 상기 의견정보 데이터를 포함하는 웹 문서 데이터들만을 선별적으로 수집하는 방법으로는, 의견정보 데이터를 포함하는 특정의 웹 문서 데이터를 선별하고, 후술하는 기계학습 알고리즘(예컨대, SVM, K-NN, Bayseian 등)을 사용하여 웹 문서 선별 모델을 생성한 후, 상기 생성된 웹 문서 선별 모델을 사용하여 전체 인터넷 웹 페이지에서 의견정보 데이터가 포함된 웹 문서 데이터들만을 선별적으로 수집할 수 있게 된다.
최근 들어서 사용자들의 자신이 본 영화나 구매한 상품 및 유명인, 국가 정책 등에 대한 평가/의견 글들을 인터넷에 올리는 양이 급증하고 있다. 하기의 표 1에 나타난 데이터도 우리가 흔히 볼 수 있는 영화에 대한 평가 글들이다.
이처럼 현재의 웹(Web)에서는 (문장/문서, 긍정/부정 점수) 쌍으로 되어 있는 가용데이터가 크게 증가하고 있다. 이러한 웹 문서 데이터의 증가는 자동적인 의견 어휘 사전 구축 및 의견 추출 시스템 개발에 있어서 큰 기여를 하게 된다.
표현 점수 의견내용
★★★★★ 10 재미있어 신고
★★★★★ 10 '똑똑한' 사람들이 살아가는 이야기 신고
★★★★★ 8 현명한 사람들의 일상 뜯어고치기! 신고
★★★★★ 9 삼촌의 매력에 흠뻑... 신고
★★★★★ 8 스마트한 사람들의 이야기가 아닌 평범한 사람들의 이야기 신고
★★★★★ 10 연기도 좋고 내용도 잼있고 가슴 훈훈해지는 사랑이야기. 삼촌 너무 매력적이야∼???? 신고
★★★★★ 10 정말 감동할만한 이야기이었어요. 신고
★★★★★ 10 별 기대 안하고 봤는데, 보는 내내 가슴 따뜻해지는 영화였습니다. 재미도 있고요 신고
★★★★ 6 훈훈하고 코믹하고.. 영화 넘 짧은거 같은데.. 근데 진짜 삼촌없음 어쩔뻔???? 신고
★★★ 5 돌고돌고돌아 결국은 뻔한 이야기. 신고
즉, 데이터 수집서버(100)를 통해 수집되는 대상 데이터는 상기의 표 1에 나타난 바와 같이, 의견정보 데이터 즉, 일반 문장/문서 데이터와 이에 대한 긍정/부정 평가가 매겨진 정보 데이터들이다.
이때, 상기 긍정/부정 평가는 일정 범위내의 점수로 표현되어지거나, 별표(★)나 기타 기호들을 이용하여 다양하게 평가될 수 있다. 본 발명에서는 이렇게 다양한 방식으로 표현되는 긍정/부정 평가는 모두 동일한 점수 범위로 재 계산되어서 사용된다.
이를 구체적으로 설명하면, 본 발명의 일 실시예에서 사용하는 점수 범위가 a∼b 라고 하였을 때에 수집한 데이터의 점수범위가 c∼d 라고 한다면, 해당 수집 점수 x는 하기의 수학식 1과 같이 변화된다.
Figure 112008066712789-pat00001
예를 들어, 본 발명은 1∼10점 사이의 점수를 사용하고(10점에 가까울수록 긍정), 수집한 데이터는 1∼5점 사이의 점수를 사용하는 경우에, 수집한 데이터가 2점이라고 한다면, 하기의 수학식 2와 같이 계산되어 진다.
Figure 112008066712789-pat00002
다른 경우로, 본 발명에서는 1∼10점 사이의 점수를 사용하고, 수집한 데이터가 1∼20점 사이의 점수를 사용한다고 하면, 하기의 수학식 3과 같이 계산되어 진다.
Figure 112008066712789-pat00003
상기와 같이 수집한 데이터는 해당 데이터 문장/문서와 본 발명에서 사용하는 점수로 변환된 의견 점수 집합{(데이터, 점수), (데이터, 점수), (데이터, 점수), (데이터, 점수)}이 된다.
한편, 전술한 바와 같이, 데이터 수집서버(100)에 의해 수집된 웹 문서 데이터는 바로 사용도 가능하지만, 도메인 분류모듈(미도시)을 적용하여 각 도메인별로 분류한 후 사용하는 방법도 가능하다.
이를 구체적으로 설명하면, 먼저, 분류하기로 결정한 각 도메인별(예컨대, 영화, 책, 전자제품, 화장품, 의류, 인물, 기타 등등)로 해당 도메인과 관련된 데이터를 수집하여 도메인별로 데이터를 확보한다.
이때, 수집하는 각 도메인별 데이터는 해당 도메인에 대한 의견(Review) 데이터와 사실 데이터의 조합으로 이루어져 있다. 각 도메인별로 수집한 데이터의 의견 데이터와 사실 데이터의 비율은 모두 같거나 비슷한 비율을 유지하도록 하여, 데이터가 순수하게 도메인에 따라서 분류되도록 한다.
다음으로, 이렇게 수집한 도메인에서는 각 도메인에서 적절한 자질(Feature)을 추출하기 위해서 언어처리를 수행하게 된다. 이때, 상기 언어처리는 예컨대, 형태소 분석(Morpheme Analyze)이나 띄어쓰기(Segmentation) 등을 통해서 의미적으로 분리 가능한 단위로 나누게 된다.
한편, 후술하는 기계학습 모델에 입력되는 각 도메인의 자질(Feature)은 다음과 같다.
예를 들어, 도서관련 도메인에서 입력(Input) 데이터가 "저자는 도서 A에서 흥미진진하게 글을 구성하였다."일 경우, 상기 띄어쓰기(Segmentation)를 수행하면, "저자 는 도서 A 에서 흥미진진 하 게 글 을 구성하 였다."로 변환되고, 상기 형태소 분석을 수행하면, "저자(CTP3 3인칭 대명사) + 는(fjb 보조사) 도서(CMCN 비서술 보통명사) A(F 외국문자) 에(UM 체언 추정) + 에서(fjcao 일반 부사격조사) 흥미진진(CMCPA 동작성 서술 보통명사) + 하(fph 형용사파생접사) + 게(fmoca 보조 연결어미) 글(CMCN 비서술 보통명사) + 을(fjco 목적격조사) 구성하(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호)"로 변환된다.
이때, 상기 띄어쓰기(Segmentation)를 수행한 데이터만 사용하는 경우, 해당 도메인의 자질은 다음과 같다.
① 유니그램(Unigram) : 저자, 는, 도서, A, 에서, 흥미진진, 하, 게, 글, 을, 구성하, 였다,.
=> a b c d e -> a, b, c, d, e
② 바이그램(Bigram) : 저자 는, 는 도서, 도서 A, A 에서, 에서 흥미진진, 흥미진진 하, 하 게, 게 글, 글 을, 을 구성하, 구성하 였다, 였다 .
=> a b c d e -> a b, b c, c d, d e
③ 트라이그램(Trigram) : 저자 는 도서, 는 도서 A, 도서 A 에서, A 에서 흥미진진, 에서 흥미진진 하, 흥미진진 하 게, 하 게 글, 게 글 을, 글 을 구성하, 을 구성하 였다,.
=> a b c d e -> a b c, b c d, c d e
한편, 상기 형태소 분석을 수행한 데이터를 사용하는 경우, 해당 도메인의 자질은 다음과 같다. 즉, 형태소 분석 결과 특별한 의미를 가지지 않는 조사나 접사, 선 어말 어미, 종결 어미 등을 제거한 후, 상기의 띄어쓰기와 같이 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 형태의 자질을 사용할 수 있다.
① 유니그램(Unigram) : 저자, 도서, A, 흥미진진, 글, 구성하
② 바이그램(Bigram) : 저자 도서, 도서 A, A 흥미진진, 흥미진진 글, 글 구성하
③ 트라이그램(Trigram) : 저자 도서 A,도서 A 흥미진진, A 흥미진진 글, 흥미진진 글 구성하
전술한 바와 같이, 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 자질을 모두 사용하거나, 일부분만 선택적으로 사용할 수 있으며, 이는 평가 데이터를 이용한 평가를 통해 가장 높은 성능을 보이는 경우의 조합을 선택하게 된다.
이후에, 각 도메인별 자질(Feature)들은 예컨대, Naive Baysian, SVM 또는 K-NN, 기타 일반적인 기계학습 알고리즘(Machine Learning Classifier Algorithm)을 이용하여 확률적으로 학습을 하게 된다.
예를 들면, 선형 분류기(Linear Classifier)는 하기의 수학식 4와 같이 표현될 수 있다.
Figure 112008066712789-pat00004
여기서,
Figure 112008066712789-pat00005
는 입력 데이터 벡터로서 본 발명의 일 실시예에서는 선택한 유니그램(Unigram), 바이그램(Bigram), 트라이그램(Trigram) 입력 데이터들이 이에 해당된다.
Figure 112008066712789-pat00006
는 해당 각 자질(Feature)의 개수(Frequency)나, 존재 유무 등의 정보를 이용하여 벡터를 만들게 된다.
상기 벡터의 크기는 전체 자질(Feature) 수이며, 해당 문서에서 등장하지 않은 자질(Feature)은 "0" 값들 가지며, 해당 문서에서 등장한 자질(Feature)들은 그것의 개수(Frequency)나 "1" 값을 가지게 된다.
그래서,
Figure 112008066712789-pat00007
는 예컨대, [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,….]과 같이 자질 벡터(Feature Vector)로 표현된다.
그리고,
Figure 112008066712789-pat00008
는 가중치 벡터(Weight Vector)로서 각 클래스(class)별로 각 자질(Feature)에 가중치(Weight)를 부여하는 벡터(Vector)로서 매트릭스(Matrix) 크기는 자질(Feature)의 종류 수 × 클래스(class) 개수이다.
이와 같이 학습을 하게 되면
Figure 112008066712789-pat00009
의 값을 예측할 수 있게 된다.
Figure 112008066712789-pat00010
의 값을 알게 되면, 임의의
Figure 112008066712789-pat00011
가 입력되었을 때에
Figure 112008066712789-pat00012
와 매트릭스 연산을 수행하여 어느 클래스(Class)에서 가장 높은 값을 가지는지 알 수 있게 된다.
또한, 기계학습 알고리즘에는 상기와 같은 방식으로 데이터를 사용할 수 있게 된다. 구체적으로 Naive Baysian을 예로 들어서 설명하면, 하기의 수학식 5와 같이 표현될 수 있다.
Figure 112008066712789-pat00013
여기서, 상기 C는 클래스(Class)를 의미하며 예컨대, 영화, 도서, 상품 등과 같은 도메인이 이에 해당된다. 상기 Fi는 각각의 자질(Feature)을 의미하며 예컨대, 유니그램(Unigram)(저자), 바이그램(Bigram)(저자 도서), 트라이그램(Trigram)(저자 도서 A) 등이 이에 해당된다.
그리고, 상기 P(C)는 클래스 C가 나올 확률이다. 예컨대, 영화 데이터가 5개, 도서 데이터가 12개, 상품 데이터가 8개라고 한다면, P(영화)는 "5/(5+12+8)" 확률이 된다.
그리고, 상기 P(F1,...,Fn)는 각각의 Fi가 동시에 나올 확률인데, 모든 클래스에 대해서 동일하게 적용되기 때문에 생략도 가능하다(모든 클래스에 동일하게 분모로 적용됨). 그리고, 상기 P(F1,...,Fn|C)는 클래스 C가 주어졌을 때, F1,...,Fn 가 생성될 확률이다.
상기의 수학식 5에서 실제 클래스 확률을 결정하는 분자들의 계산은 각각의 자질(Feature)들이 서로 조건적으로 독립적(Conditionally Independent)이라고 가정하고 구체적으로 하기의 수학식 6과 같이 계산한다.
Figure 112008066712789-pat00014
여기서, 상기 p(Fi|C)는 임의의 C가 주어졌을 때, 상기 Fi의 확률로서,
Figure 112008066712789-pat00015
와 같이 계산할 수 있으며, 상기 Freq(Fj|C)는 임의의 클래스 C 안에서의 자질(Feature) Fj의 개수(Frequency)를 나타낸다. 전체 자질(Feature)의 개수는 N개이다.
상기와 같이, Naive Baysian 이외에도 기타 기계학습 알고리즘에 상기 자질(Feature)들을 입력으로 받아서 임의의 입력 데이터들에 대하여 클래스 C를 결정해주는 모델을 생성 가능하게 된다.
마지막으로, 전술한 바와 같이 학습을 마치면, 하나의 분류 모델이 생성되며, 이렇게 생성된 분류 모델은 임의의 문장이나 문서가 입력으로 들어오게 되면, 해당 데이터가 어떤 도메인에 포함되는지 확률적으로 결정하게 된다.
한편, 실제로 분류 모델을 사용할 때에는, 임의의 문장이나 문서가 입력되면, 상기의 예에서 자질(Feature)을 선택하였듯이, 해당 입력 데이터에 대해서 자질을 같은 방식으로 선택한다.
그런 다음, 해당 입력 데이터의 자질들을 분류 모델에 입력하게 되면, 분류 모델은 해당 자질들에 대해서 가장 높은 생성 확률을 보이는 클래스 C를 출력하게 된다.
전술한 바와 같이, 본 발명의 일 실시예에서 상기의 도메인 분류모듈을 사용할 경우, 후술하는 의견/비의견 구분모듈(300)을 통한 의견 추출 시 자동화된 방식으로 사전을 구축할 수 있으며, 후술하는 의견표현 구분모듈(400)에서 의견 표현을 구분하기 위한 학습 모델도 자동적으로 생성할 수 있다.
이에 따라, 각 도메인별로 데이터를 분류하여 학습 모델을 구축하게 되면, 도메인에 최적화된 성능을 내는 의견 추출을 위한 모델을 자동적으로 생성할 수 있다.
한편, 인터넷(Internet)(10)은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미하며, 사용자 단말(900)은 후술하는 웹 서버(800)에 용이하게 접속될 수 있게 하는 환경을 제공한다. 한편, 인터넷(10)은 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망 일 수도 있다.
그리고, 언어처리모듈(200)은 데이터 수집서버(100)로부터 수집되거나 데이터 저장모듈(150)에 저장된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질(Feature)들을 추출하는 기능을 수행한다.
이때, 상기 언어처리는 예컨대, 형태소 분석(Morpheme Analyze) 또는 띄어쓰기(Segmentation) 처리로 수행됨이 바람직하지만, 이외에도 자질(또는 색인어) 추 출을 위한 조사 처리, 한국어 굴절 처리, 또는 원형 복귀 처리 등을 수행할 수도 있다.
그리고, 의견/비의견 구분모듈(300)은 언어처리모듈(200)로부터 추출된 각 문장의 언어적인 자질(Feature)들을 이용하여 의견/비의견 문장을 구분하는 기능을 수행한다.
즉, 언어처리모듈(200)로부터 추출된 문장들은 의견이 있는 문장들도 있고, 의견이 존재하지 않은 일반 문장도 있다. 이러한 문장들은 의견/비의견 구분모듈(300)을 이용하여 의견이 존재하는 문장과 의견이 존재하지 않은 문장으로 구분할 수 있게 된다.
이러한 의견/비의견 구분모듈(300)은 상술한 통상의 기계학습 알고리즘을 이용하여 용이하게 구현될 수 있다.
이를 구체적으로 설명하면, 먼저, 의견으로 이루어진 데이터 집합과 사실 정보로만 이루어진 데이터 집합을 수집한다. 이후에, 예컨대, 형태소 분석(Morpheme Analyze)이나 띄어쓰기(Segmentation) 등을 수행하여 적절한 언어적인 자질(Feature)을 추출한다.
여기서, 상기 띄어쓰기(Segmentation)라 함은 입력 문장을 의미를 가지는 단위로 나누는 과정이다. 예를 들면, 입력 문장이 "나는 영화를 재밌게 봤다"라고 한다면, 결과 문장은 "나 는 영화 를 재밌 게 보 았 다"로 변환된다.
그리고, 상기 형태소 분석(Morpheme Analyze)이라 함은 상기 각 나뉘어진 단 위에 대하여 어떤 품사(Part Of Speech) 정보를 지니고 있는지 찾아주는 작업이다. 예를 들면, 입력 문장이 "나는 영화를 재밌게 봤다"라고 한다면, 결과 문장은 "나(CTP1 1인칭 대명사) + 는(fjb 보조사) 영화(CMCN 비서술 보통명사) + 를(fjco 목적격조사) 재밌(YBDO 일반동사) + 게(fmoca 보조 연결어미) 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)"로 변환된다.
다음으로, 상기 추출한 언어적인 자질(Feature)을 이용하여 통상의 기계학습 알고리즘인 예컨대, Naive Baysian, SVM, K-NN 이나 기타 모델을 선택하여 학습을 수행한다.
이렇게 학습이 끝나고 나면, 임의의 문장이나 문서가 입력이 되면, 해당 데이터가 의견 데이터인지 사실 데이터인지 구분할 수 있는 의견/비의견 구분모델 즉, 의견/비의견 구분모듈(300)이 구현될 수 있다.
한편, 전술한 바와 같이 구성된 의견/비의견 구분모듈(300)은 상술한 도메인 분류모델을 통해 분류된 각 도메인별 데이터들에 대해 각각 하나씩 구비되어 구현될 수도 있다.
그리고, 의견표현 구분모듈(400)은 의견/비의견 구분모듈(300)로부터 구분된 의견 문장의 언어적인 자질(Feature)들에 대해 긍정/부정 의견표현으로 구분하는 기능을 수행한다.
즉, 의견표현 구분모듈(400)은 입력된 의견 문장 중에서 긍정적/부정적 의견인 부분을 찾아서 그 부분을 표시해준다. 한편, 의견/비의견 구분모듈(300)을 사용 하지 않고 바로 의견표현 구분모듈(400)을 사용하여 입력된 문장에서 긍정적/부정적 표현 부분을 표시해 줄 수도 있다.
이러한 의견표현 구분모듈(400)은 연어뿐만 아니라 일반적인 자립어, 어절 등 모든 단어들의 긍정/부정 정도를 수량화하여 하나의 자원으로 활용하고, 문장 내에서 긍정/부정 표현을 찾아내기 위한 기계학습 모델을 생성하는데 사용된다.
이를 구체적으로 설명하면, 인터넷 상에는 영화 리뷰(Review), 상품평, 책 서평 등 각종 리뷰가 존재한다. 이러한 리뷰(Review)들은 보통 평가 문장들과 함께 평가 결과도 함께 게시되어 있다.
예를 들어, "이 영화는 최고의 걸작이다."하고 10점을 주거나, "이거는 완전히 쓰레기 영화다."하고 1점을 주는 방식이다. 이러한 의견 데이터를 기반으로 하여 본 발명에서는 각 의미 단위들이 가지는 긍정 점수와 부정 점수를 계산하여 자동적으로 별도의 의견 어휘 저장모듈(미도시)에 저장하게 된다.
만약, 입력 문장이 「"이 영화는 정말 재밌었다" - 10점, "이번에 본거는 꽤 재밌었다" - 9점, "내 생애 최고로 재밌었던 영화" - 9점」이라고 한다면,
상기 언어처리를 수행할 경우, 「"이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 정말(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)" - 10점, "이번(CMCN 비서술 보통명사) + 에(fjcao 일반 부사격조사) 본거(CMCN 비서술 보통명사) + 는(fjb 보조사) 꽤(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미)" - 9점, "나(CTP1 1인칭 대명사) + 에(fjcao 일반 부사 격조사) 생애(CMCN 비서술 보통명사) 최고(CMCN 비서술 보통명사) + 로(fjcao 일반 부사격조사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 던(fmotgp 과거시제 관형형 전성어미) 영화(CMCN 비서술 보통명사)" - 9점」과 같이 언어 단위별로 분리된다.
다음으로, 상기와 같이 분리된 각 언어 단위별로 긍정적/부정적 표현으로 될 확률을 계산한다.
예컨대, 입력 데이터는 아래와 같이, 긍정 정도를 나타내는 점수와 해당 점수에 속하는 문장/문서들로 이루어져 있다. 이 의견 데이터들은 상술한 바와 같이 일반 웹에서 사용자가 긍정/부정 점수와 의견을 같이 올리는 리뷰 사이트들을 통해서 수집하게 된다.
「① 1점 - ["A를 봤는데 지루했다", "B는 최악이다",…],
② 2점 - ["C를 봤는데 실망이었다", "D는 졸작이다",…],
③ 9점 - ["E를 봤는데 흥미진진 했다", "F는 수작이다",…],
④ 10점 - ["G는 최고의 영화이다", "H는 세계 최고의 영화이다",…].」
이러한 데이터들은 전술한 바와 같이, 띄어쓰기(Segmentation)와 언어별로 형태소 분석(Morpheme Analyze)을 수행하게 된다(다른 언어에서도 동일하게 적용 가능하다). 그러면, 아래와 같이 의견 데이터가 변환된다.
「① A(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 지루(CMCPA 동작성 서술 보통명사) + 하(fph 형용사파생접사) + 였(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), B(F 외국문자) + 는(fjb 보조사) + 최악(CMCPS 상태성 서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
② C(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 실망(CMCPA 동작성 서술 보통명사) + 이(fpd 동사파생접사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), D(F 외국문자) + 는(fjb 보조사) + 졸작(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
③ E(F 외국문자) + 를(fjco 목적격조사) + 보(YBDO 일반동사) + 았(fmbtp 과거시제 선어말어미) + 는데(fmocs 종속 연결어미) + 흥미진진(CMCN 비서술 보통명사) + 하(YBDO 일반동사) + 였(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미), F(F 외국문자) + 는(fjb 보조사) + 수작(CMCPA 동작성 서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미),
④ G(F 외국문자) + 는(fjb 보조사) + 최고(CMCN 비서술 보통명사) + 의(fjcg 관형격조사) + 영화(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미), H(F 외국문자) + 는(fjb 보조사) + 세계(CMCN 비서술 보통명사) + 최고(CMCN 비서술 보통명사) + 의(fjcg 관형격조사) + 영화(CMCN 비서술 보통명사) + 이(fpd 동사파생접사) + 다(fmofd 평서형 종결어미)」
다음으로, 이렇게 언어처리가 수행된 의견 데이터를 이용하여, 각 언어 단위가 가지는 긍정/부정 수치를 얻어내는 것이다.
예를 들어, "최고(CMCN 비서술 보통명사)"가 얼마 정도의 긍정/부정을 나타 내는지 "최고(CMCN 비서술 보통명사)"라는 단어가 각 점수대별(1∼10)에 어떻게 분포하는지를 확률적으로 하기의 수학식 7과 같은 수식을 거쳐서 계산하게 된다.
아래에서 나타내는 wj는 "최고(CMCN 비서술 보통명사)"이며, 이와 같이 단어와 태그정보(POS - Part Of Speech)의 조합을 나타내거나, "최고" 태그정보를 제외한 하나의 단어를 나타낼 수 있다.
즉, 모든 1∼10점의 점수대에 모두 같은 개수의 데이터가 존재한다면 하기의 수학식 7과 같이 구할 수 있게 된다.
Figure 112008066712789-pat00016
여기서, 상기 S는 모든 점수 집합을 의미한다. 예를 들어, 영화 평가문이 1∼10점 이 있다면, 1∼10점으로 점수가 매겨진 문장 집합을 의미한다. 상기 Score(si)는 해당 점수 집합의 실제 점수를 의미한다. 즉, 10점 점수 집합의 Score(si)는 10이 된다.
그리고, 상기 Score(wi)는 wi의 긍정/부정 점수를 나타낸다. 상기 Freq(wj,si)는 단어 wj가 점수 집합 si에서 나타나는 횟수를 나타낸다.
Figure 112008066712789-pat00017
는 결국 모든 점수 집합에서 단어 wj가 나타난 횟수를 더한 값으로서, 결국 전체 데이터에서 wj가 나타난 횟수를 의미한다.
상기의 수학식 7과 같은 간단한 평균으로 구할 수 있으며, 예를 들어, "재밌"이란 10점 문장 2개, 9점 문장 2개만이 존재한다고 가정하면, 하기의 수학식 8과 같이 구할 수 있다.
Figure 112008066712789-pat00018
여기서, 의미 단위는 "재밌"을 형태소인 "YBDO"와 함께 묶어서 하나의 의미 단위로 구성할 수도 있으며, "재밌"이라는 단어 하나만을 가지고 의미 단위로 구성할 수도 있다.
한편, 현실 상황에서는 모든 점수대에서 같은 개수의 문장이 존재하는 경우는 드물다. 이런 환경에서 상기와 같은 단순히 평균을 적용하게 된다면, 10점대의 데이터가 10만개, 1점대의 데이터가 1만개가 있는 환경에서 "영화"와 같이 모든 점수대에서 자주 등장하는 단어는 단순히 평균이 되어 버리기 때문에, 10점대의 데이터가 많다는 이유 하나만으로 10점에 가까운 상당히 긍정적인 단어로 판단되는 문제점이 존재한다.
예를 들어, "영화"라는 키워드가 10만개 10점대 문장에서 5만번 등장하고, 1만개 1점대 문장에서 5000번 등장했다고 가정하면, 하기의 수학식 9와 같이 계산되어 진다.
Figure 112008066712789-pat00019
상기와 같이 "영화"라는 키워드는 10점대와, 1점대에서 등장하는 비율이 똑같아서, 상식적으로 보면 5점대에 가까워야 맞지만, 각 점수대의 데이터 개수가 다르면 상기와 같은 문제가 발생한다. 그래서, 각 점수대의 데이터의 개수를 고려하여 하기의 수학식 10이 필요하다.
Figure 112008066712789-pat00020
여기서, 상기 P(wj|si)는 wj가 si 점수 집합에서 나타날 확률 값이다. 그래서, 상기 wj의 si에서의 빈도수를 si 안의 전체 단어 수
Figure 112008066712789-pat00021
로 나눈 것이다.
상기의 수학식 10으로 위에서 예제로 든 문제상황 "영화"라는 키워드가 10만개 10점 문서에서 50000번 나타나고, 1만개 1점 문서에서 5000번 나타나는 상황을 다시 계산해 보면 하기의 수학식 11과 같이 나타낼 수 있다.
Figure 112008066712789-pat00022
전술한 바와 같이, 단어가 각 점수대에서 나타나는 확률 값을 이용하여 정규화(Normalization)를 수행하여 점수대의 크기에 따라 점수가 치우치는(Biased) 문제를 해결하게 된다.
다음으로, 상기와 같이 각 의미 단위들의 긍정적/부정적인 점수를 계산하여 별도의 의견 어휘 저장모듈에 저장하게 된다.
한편, 전술한 도메인 분류모듈을 적용할 경우, 의견표현 구분모듈(400)은 상술한 도메인 분류모델을 통해 분류된 각 도메인별 데이터들에 대해 각각 하나씩 구비되어 구현될 수도 있다.
다음으로, 전술한 바와 같이, 각 언어 단위별로 긍정적/부정적 표현으로 될 확률을 계산한 후, 긍정/부정 의견표현으로 표시(Marking)하는 과정을 수행한다.
이를 구체적으로 설명하면, 입력 문장이 「① 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 정말(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) - 10점,
② 이번(CMCN 비서술 보통명사) + 에(fjcao 일반 부사격조사) 본거(CMCN 비서술 보통명사) + 는(fjb 보조사) 꽤(SBO 일반 부사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) - 9점,
③ 나(CTP1 1인칭 대명사) + 에(fjcao 일반 부사격조사) 생애(CMCN 비서술 보통명사) 최고(CMCN 비서술 보통명사) + 로(fjcao 일반 부사격조사) 재밌(YBDO 일반동사) + 었(fmbtp 과거시제 선어말어미) + 던(fmotgp 과거시제 관형형 전성어미) 영화(CMCN 비서술 보통명사) - 9 점,
④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호) - 1점」이라고 한다면,
상기 긍정/부정 의견표현으로 표시된 문장은 다음과 같다.
「① 이(SGR 지시 관형사)/NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 정말(SBO 일반 부사) /NEUTRAL 재밌(YBDO 일반동사)/POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL - 10점,
② 이번(CMCN 비서술 보통명사) /NEUTRAL + 에(fjcao 일반 부사격조사) /NEUTRAL 본거(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 꽤(SBO 일반 부사) /NEUTRAL 재밌(YBDO 일반동사) /POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL - 9점,
③ 나(CTP1 1인칭 대명사) /NEUTRAL + 에(fjcao 일반 부사격조사) /NEUTRAL 생애(CMCN 비서술 보통명사) /NEUTRAL 최고(CMCN 비서술 보통명사) /POSITIVE + 로(fjcao 일반 부사격조사) /NEUTRAL 재밌(YBDO 일반동사) /POSITIVE + 었(fmbtp 과거시제 선어말어미) /NEUTRAL + 던(fmotgp 과거시제 관형형 전성어미) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL - 9 점,
④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/POSITIVE + 지(fmoca 보조 연결어미) /NEUTRAL 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL」
또한, 상기의 의견 어휘 저장모듈에 저장되어 있는 어휘들 중에서 1∼10점 사이의 점수 중 특정 점수 이상의 어휘는 긍정, 특정 점수 이하의 어휘는 부정 어휘들로 간주한다.
그리고, 상기의 예제에서는 "재밌(YBDO 일반동사)"이 긍정 어휘, "않(YA 보조용언)"이 부정 어휘로 간주된 경우에 있어서 표시된 모습이다.
여기서, ④번 같은 경우 긍정/부정 어휘가 혼재되어 있으며, 전체적으로 긍정으로 표시해야 할지, 부정으로 표시해야 할지 판단하기 어려운 경우이다. 이러한 경우가 다음 단계에서 많기 때문에, 의견표현 구분 학습모델을 이용하여 의견표현 구분모듈(400)을 구현하게 된다. 즉, 의견표현 구분모듈(400)은 상기와 같이 문장이 입력되면 구체적으로 의견인 부분을 찾아서 표시(Marking)해주는 역할을 수행한다.
한편, 의견 어휘로 표시를 하는 부분에서는 해당 어휘가 긍정인지 부정인지에 따라서 상기와 같이 바로 표시하는 방법도 존재하며, 동시에 해당 문장이 긍정적인 문장인지 부정적인 문장인지 정보를 이용하여 긍정/부정 어휘를 표시하는 방법도 가능하다.
예를 들어, ④번 문장이 1점 문장 집합에 속한다고 하면, ④번 문장은 부정 문장임이 확실하고, 이런 부정 문장이라는 정보를 이용하여 ④번 문장 내에서의 긍정/부정 어휘를 모두 부정 어휘로 표시하게 된다. 즉, ④번 문장은 다음과 같이 표시하게 된다.
④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/NEGATIVE + 지(fmoca 보조 연결어미) /NEUTRAL 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL
이후에, 상기의 긍정/부정 의견표현이 표시된 문장들을 이용하여 의견표현 구분모듈(400)을 구현하기 위하여 학습하게 된다. 이때, 학습하는 데에 이용되는 모델은 예컨대, Hidden Markov Model(HMM), Maximum Entropy Model(ME), Conditional Random Field, Struct Support Vector Machine 이나 기타 기계학 습(Machine Learning) 알고리즘들이다.
이러한 기계학습 알고리즘 모델들에서 공통적으로 입력되는 데이터는 (x1, y1),...,(xn, yn)로서, 상기 x는 의미 단위로서 "재밌(YBDO 일반동사)"이나 "재밌", "YBDO 일반동사" 등이 가능하며, 상기 y는 해당 의미 단위가 가질 수 있는 레벨(Label)로서, 상기에서 예로 든 "Positive", "Negative" 및 "Neutral" 등이 가능하며, "Strength"와 같이 긍정/부정을 판단하는데 도움을 주는 다른 레벨(Label)도 추가할 수 있다.
즉, 본 발명에서 원하는 모델은 결국 입력 데이터 시퀀스(Sequence) x들에 대하여 붙게 되는 레벨(Label) y를 예측하는 모델이다. 상기의 데이터 (x1, y1),...,(xn, yn)가 입력으로 주어지게 되면, 상기에 언급한 모델들은 특정 위치의 xi에 대하여 xi의 앞뒤 (xi-1, yi-1), (xi+1, yi+1), 그 앞뒤의 앞뒤인 (xi-2, yi-2), (xi+2, yi+2), 이처럼 계속적으로 확장한 주변 데이터, 그 외에 해당 위치에 존재하는 다른 자질(Feature-Part Of Speech, Capital Letter, Emoticon etc.) 정보도 또한 같이 사용하여 특정한 조건하에서 xi의 yi가 어떤 레벨(Label)이 되는지 예측하게 된다.
전술한 바와 같이 모델이 학습하게 되면 의견표현 구분모듈(400)이 생성된다. 의견표현 구분모듈(400)은 임의의 데이터 시퀀스(Sequence) xi가 들어오게 되 면, 해당 데이터 시퀀스(Sequence)에 대해서 어떤 레벨 시퀀스(Label Sequence) yi가 생성되는지 예측하게 된다.
만약, 임의의 문장이 입력되면, 아래와 같이 언어처리를 수행하여 띄어쓰기(Segmentation) 또는 형태소 분석(Morpheme Analyze) 등을 선택적으로 수행하게 되고, 이러한 데이터가 의견표현 구분모듈(400)에 입력되면 다음과 같이 표현할 수 있다.
예를 들면, 입력 문장이 "④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) + 는(fjb 보조사) 재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언) + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호) - 1 점"이라고 한다면,
긍정/부정 의견표현이 구분된 문장은 "④ 이(SGR 지시 관형사) /NEUTRAL 영화(CMCN 비서술 보통명사) /NEUTRAL + 는(fjb 보조사) /NEUTRAL 재밌(YBDO 일반동사)/NEGATIVE + 지(fmoca 보조 연결어미) /NEGATIVE 않(YA 보조용언) /NEGATIVE + 았(fmbtp 과거시제 선어말어미) /NEUTRAL + 다(fmofd 평서형 종결어미) /NEUTRAL + .(g 기호) /NEUTRAL"으로 표현된다.
이때, 이 문장에서 연속으로 같은 극성(Polarity)의 의견 어휘가 나오면 하나의 의견표현으로 간주하고, "POSITVE", "NEGATIVE" 표현 위주로 표시를 하게 되면 "NEUTRAL"은 제거한다.
즉, "④ 이(SGR 지시 관형사) 영화(CMCN 비서술 보통명사) 는(fjb 보조사) <NEGATIVE>재밌(YBDO 일반동사) + 지(fmoca 보조 연결어미) 않(YA 보조용언)</NEGATIVE> + 았(fmbtp 과거시제 선어말어미) + 다(fmofd 평서형 종결어미) + .(g 기호)"와 같이 표현된다.
여기서, <NEGATIVE> 은 표현의 시작이고, </NEGATIVE> 은 표현의 끝을 나타낸다.
한편, 상기의 도메인 분류모듈을 이용하여 의견표현 구분 학습모델을 생성할 경우, 상기 도메인 분류모듈로 입력되는 긍정/부정 부분이 표시된 의견 데이터를 분류한 후에 각 도메인별로 의견표현 구분모듈(400)을 생성하는 방식도 가능하다.
그리고, 인덱싱 서버(500)는 의견표현 구분모듈(400)로부터 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 의견 인덱싱 정보 저장모듈(600)에 저장되도록 인덱싱(Indexing)하는 기능을 수행한다.
여기서, 의견 인덱싱 정보 저장모듈(600)은 인덱싱 서버(500)를 통해 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들이 데이터베이스(DB)화하여 저장되는 기능을 수행한다.
이를 구체적으로 설명하면, 입력 데이터에 대해서 의견/비의견 구분모듈(300)과 의견표현 구분모듈(400)을 이용하여 긍정/부정 의견표현 부분을 찾아서 표시해주게 된다.
예를 들면, 긍정/부정 의견표현 부분이 표시된 결과가 "AA 는 정말 <POSITIVE>재밌</POSITIVE> 었 다. 하지만 BB 는 < NEGATIVE>재밌 지 않</NEGATIVE> 았 다."라고 한다면, 이와 같은 결과 데이터들은 인덱싱 서버(500)에 의하여 의견 인덱싱 정보 저장모듈(600)에 저장된다.
일반적으로, 검색에서 특정 웹페이지가 저장되는 경우에 예컨대, 제목, 본문, 의견 분석된 본문, 생성 날짜, 태그, URL, 이미지 정보, 동영상 정보 등의 정보가 저장 가능하다.
이와 더불어서 의견 정보를 저장하는 데에 있어서는 추가적으로 예컨대, 해당 웹페이지 내에서의 긍정 표현의 수, 부정 표현의 수, 전체적인 긍정/부정 정도, 각 긍정/부정 표현의 시작과 끝의 위치정보, 의견 어휘들의 대상이 될만한 객체 키워드(Entity Keyword) 정보, 객체 키워드와 의견표현 관계정보, 또는 각 객체 키워드(Entity Keyword)들이 속하는 타입(Type) 정보 등이 그 대상이 될 수 있다.
상기의 예제 데이터가 "http://example.com" 링크에서 "BB 리뷰"라는 제목으로 "2008/08/12 23:35:15"에 "영화 리뷰"라는 태그로 "http://example_test.jpg"라는 이미지와 "http://example_movie.avi"라는 동영상과 함께 올라왔다고 가정하면, 다음과 같은 데이터 정보들이 의견 인덱싱 정보 저장모듈(600)에 데이터베이스(DB)화하여 저장될 수 있다.
「1. 제목 : BB 리뷰
2. 본문 : AA는 정말 재밌었다. 하지만 BB는 재밌지 않았다.
3. 형태 분석된 본문 : AA 은 정말 재밌 었 다. 하지만 BB 는 재밌 지 않 았 다.
4. 각 단어들의 위치 정보 : AA-1, 은-2, 정말-3, 재밌-4,11, 었-5, 다- 6,15, .-7,17 하지만-8, BB-9, 는-10, 지-12, 않-13, 았-14
5. 생성 날짜 : 2008/08/12 23:35:15
6. 태그 : 영화 리뷰
7. 이미지 : http://example_test.jpg
8. 동영상 : http://example_movie.avi
9. 긍정 표현의 수 : 1(위 예제에서 긍정 표현이 1개이기 때문에 1로 함)
10. 부정 표현의 수 : 1(위 예제에서 부정 표현이 1개이기 때문에 1로 함)
11. 문서의 전체적인 긍정/부정 정도 : 0(긍정 표현 개수 1 - 긍정 표현 개 1 = 0, 문서의 전체적인 긍정/부정 정도를 1로 판단함)
12. 각 긍정 표현의 위치 : (4,4)-(AA/1 은/2 정말/3 재밌/4 었/5 다/6. /7)
13. 각 부정 표현의 위치 : (11,13)-(하지만/8 BB/9 는/10 재밌/11 지/12 않/13 았/14 다/15. /16)
14. 객체 키워드 : AA, BB
15. 객체 키워드 위치 : AA - (1), BB - (9)
16. 객체 키워드의 타입(Type) 정보 : (AA, movie), (BB, movie)
17. 객체 키워드와 의견표현 관계정보 : (AA - (4,4|POSITIVE)), (BB - (11,13|NEGATIVE))」
여기서, 상기 정보 데이터들 중에서 객체 키워드의 타입(Type) 정보는 다음과 같은 두 가지 방법을 혼합해서 사용하여 알아낼 수 있다. 첫 번째는 미리 정의 된 타입(Type)별로 객체(Entity) 데이터베이스를 확보하여 각 객체(Entity)의 타입(Type) 정보를 알아내는 방법이고, 두 번째 방법은 상기의 도메인 분류모듈을 사용하여 해당 웹 문서, 문장의 도메인을 분류하여 어떤 타입(Type)인지 알아내는 방법이다.
그리고, 객체 키워드와 의견표현 정보간의 관계 정보는 예컨대, 한국어 파서(Parser)나, SVO 분석(주어, 동사, 목적어 분석) 방법 등을 사용하여 각 의견표현이 어떤 객체(Entity)에 종속(Dependency)이 걸리지는 판단하여 정보를 알아내서 입력하게 된다.
상기와 같은 정보 데이터들이 의견 인덱싱 정보 저장모듈(600)에 저장되어서 추후에 의견검색모듈(700)이 사용하게 된다.
의견검색모듈(700)은 웹 서버(800)를 통해 전송된 사용자의 특정 의견검색 키워드 및/또는 타입(Type) 정보를 제공받아 인덱싱 서버(500) 또는 인덱싱 정보 저장모듈(600)과 연동하여, 상기 특정 의견검색 키워드 및/또는 타입(Type) 정보와 관련된 웹 문서의 인덱싱 정보들을 검색하여 해당 사용자 단말(900)로 전송되도록 웹 서버(800)로 전달하는 기능을 수행한다.
즉, 웹 서버(800)에 전달되는 내용은 "키워드(Keyword) : 놈놈놈, 타입(Type) : 긍정/부정/의견"이 될 수 있다. 여기서, 상기 타입 정보 중에서 "의견"이라 함은 긍정 및 부정 의견이 모두 함께 나타나는 검색 결과이며, "긍정"이라 함은 긍정 의견만 나오는 타입이다. "부정"이라 함은 부정 의견만 나오는 타입이다.
이와 같이 특정 의견검색 키워드와 타입을 의견검색모듈(700)에 전달하게 되면, 인덱싱 서버(500) 또는 인덱싱 정보 저장모듈(600)에서 해당 특정 의견검색 키워드와 해당 타입에 해당되는 데이터를 읽어 와서 의견의 양이나 날짜 순서 등의 랭킹(Ranking)으로 검색된 결과를 다시 웹서버(800)에 전송해준다.
이때, 상기 검색된 결과 정보는 예컨대, 제목, 링크(Link), 해당 사이트 제목, 긍정 개수, 부정 개수, 긍정 개수, 본문 내용, 본문 요약 내용, 긍정 표현 위치, 부정 표현 위치 등으로 이루어질 수 있다.
여기서, 상기 본문 요약 내용은 해당 키워드 "놈놈놈"이 검색된 결과 문서에 나타나는 부분과 긍정/부정 의견표현 부분이 같이 나타나는 문서의 일부분을 의미한다. 한편, 일반 검색처럼 검색 키워드만 본문 요약 내용(Snippet)에 표시해주는 것이 아니라 해당 키워드에 대해서 의견이 나타나는 부분까지 요약부분에 같이 표시해준다.
이때에 해당 특정 검색 키워드와 관련된 정보를 미리 광고주에 의해서 광고 관련 데이터가 입력된 광고선택모듈(미도시)을 통해서 적절한 광고를 선택하여, 검색 결과와 함께 보여줄 수도 있다.
그리고, 웹 서버(800)는 인터넷(10)을 통해 접속된 사용자 단말(900)로부터 전송되는 특정 의견검색 키워드 및/또는 타입(Type) 정보를 제공받아 의견검색모듈(700)로 전달하고, 의견검색모듈(700)로부터 검색된 의견 검색결과 즉, 인덱싱 정보 데이터들을 제공받아 해당 사용자 단말(900)의 화면에 디스플레이 되도록 인 터페이스(Interface)해주는 기능을 수행한다.
한편, 본 발명의 일 실시예에서는 의견검색모듈(700) 및 웹 서버(800)를 서로 분리하여 구성하였지만, 이에 국한하지 않으며, 의견검색모듈(700)이 웹 서버(800)에 통합되어 웹 서버(800)에서 모든 기능을 수행할 수 있도록 구현할 수도 있다.
이러한 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 전체 의견, 긍정적/부정적 의견내용을 선택적으로 확인할 수 있도록 해당 사용자 단말(900)의 화면에 디스플레이(Display) 해줄 수 있다(도 3a 내지 도 3d 참조).
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 의견검색 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다(도 3a 내지 도 3d 참조).
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 중요도 또는 시간 순서(최근 순서나 오래된 순서)에 따라 리스트(List)화하여 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다.
여기서, 상기 중요도는 상기 특정 의견검색 키워드가 해당 웹 문서에서 가지는 중요도와 해당 웹 문서가 얼마나 많은 의견을 포함하고 있는지 등의 비율을 계산한다. 즉, 관련도와 의견표현 정도가 중요도를 결정짓게 된다. 상기 중요도는 전체 시간 범위에서 계산될 수도 있고, 특정 시간 범위로 제한하여 해당 시간대의 문서에 대해서만 적용될 수도 있다.
그리고, 상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 보여주는 방식이다. 이렇게 전체 시간에 대해서 오름차순/내림차순으로 보여줄 수도 있고, 특정 시간 범위 안에서 시간 순으로 보여줄 수도 있다.
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 다른 사용자들의 의견을 검색할 뿐만 아니라 검색된 의견 결과에 댓글 형식으로 자신의 의견을 추가할 수 있도록 소정의 의견 입력창(미도시)을 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다.
이때, 해당 사용자는 로그인(Login)하거나, 비 로그인한 상태에서 의견을 달 수 있게 된다. 로그인하기 위해서는 회원 가입 시에 성별/나이/지역 및 기타 개인 신상 정보를 입력하게 되고, 이러한 개인 신상 정보를 이용하여 본 시스템 내에서 덧붙여진 의견 정보에 대해서는 성별/나이/지역 및 기타 분류에 따른 통계 정보를 얻을 수 있게 되고, 이는 다른 이용자들에게 유로/무료 방식으로 제공될 수 있다.
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 상기 특정 의견검색 키워드가 들어가 부분과 함께 각 의견 검색결과 글에서 긍정/부정으로 표현된 부분을 특정한 표현(예컨대, 밑줄, 굵은 글씨체 또는 다양한 색상 등, 기타 웹에서 강조할 수 있는 표현)으로 강조하여 해당 사용자 단말(900)의 화면에 디스플레이 해줌으로써, 사용자가 의견인 부분을 좀더 편하게 구분할 수 있게 된다(도 3a 내지 도 3d 참조).
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 선택에 따라 긍정/부정 의견 부분을 분석하고, 이를 특 정한 표현으로 강조하여 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다(도 3c 참조).
만약, 사용자가 웹 서버(800)를 통해 제공된 의견 검색결과 글들 중에서 특정한 의견 검색결과 글에 대해 "의견 분석한 페이지" 기능을 선택하면, 웹 서버(800)는 해당 의견검색 결과 글에 대해 의견 분석을 수행한 후 해당 사용자 단말(900)의 화면에 디스플레이 한다. 이때, 의견/긍정/부정으로 표현된 부분을 특정 색이나, 긁은 글씨, 밑줄 등, 기타 웹에서 강조할 수 있는 표현들로 강조하여 사용자에게 보여진다.
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 긍정/부정 의견표현 정도에 따라 시기별로 긍정/부정 비율의 변화를 그래프 형태로 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다.
즉, 웹 서버(800)는 사용자가 입력한 특정 의견검색 키워드에 대한 의견 분석된 통계 데이터를 제공해주는데, 예컨대, X축은 시간, Y축은 긍정/부정 의견표현 정도(긍정도/부정도)를 나타내게 하여, 각 특정 의견검색 키워드가 각 시기별로 긍정/부정 비율이 어떻게 변하는지 볼 수 있다.
이때는 해당 특정 의견검색 키워드에 대해서만 그래프로 보여주거나, 해당 특정 의견검색 키워드와 같은 범주에 속하는 다른 특정 의견검색 키워드들에 대한 긍정/부정 비율 변화를 그래프로 같이 표현할 수 있다.
이와 같은 화면을 구성하기 위해서는 인덱싱 정보 저장모듈(600)에 상기와 같은 날짜 정보도 같이 저장되어야 한다. 그리고, 화면 구성을 위해서 다음과 같은 연산을 수행하게 된다.
먼저, 각 기간별로(일/주/달/년) 주기를 하나 선택해서 해당 주기별로 해당 특정 의견검색 키워드가 긍정적으로 판단되는 문서와 부정으로 판단되는 문서의 개수를 찾는다.
예를 들어, "A"라는 키워드가 나타난 문서가 2008년 07월∼2008년 08월 사이에 긍정으로 4000개, 부정으로 1000개 등장하였다고 하면, "A"라는 키워드의 긍정도는 "
Figure 112008066712789-pat00023
"이 된다. 이러한 수치가 각 시기별로 사용자 단말(900)의 화면을 통해서 표시된다.
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 상기 특정 의견검색 키워드의 세부 항목별로 긍정/부정 비율을 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다.
이때, 상기 세부 항목이라 함은 사용자가 "애니콜"이라고 입력하였을 때, 예컨대, 음질, 디자인, 휴대성 등과 같은 해당 키워드의 세부 항목(Sub Theme)을 구분하고, 이 세부 항목별로 긍정/부정 정도를 표시해줄 수 있다.
또한, 웹 서버(800)는 상기 특정 의견검색 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 찬성/반대 의사를 선택할 수 있도록 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다(도 3d 참조).
즉, 의견 검색된 결과에 대해서도 사용자는 해당 의견에 대해서 찬성(동의한다는 의미), 반대를 할 수 있다. 이는 후술하는 도 3d에 도시된 바와 같이, 의견검 색 결과 화면상에서 찬성/반대 버튼을 클릭(선택)함으로써 반영될 수 있다.
그리고, (사용자가 찬성한 수 - 사용자가 반대한 수) 값은 각 의견검색 결과 랭킹에 가중치로 부여되며, 찬성한 수가 반대한 수에 비해서 많을수록 랭킹을 높이는 효과를 가져오고, 반대수가 찬성에 비해서 많을수록 랭킹을 낮추는 효과를 준다.
여기서, 찬성은 이전에 언급한 광고 플랫폼에서 수익을 분배하는 데에 있어서, 해당 찬성을 많이 받은 컨텐츠 제공업자에게 혜택이 돌아가게끔 recommend(wi)에 의하여 영형을 준다. 즉, "recommend(wi)=agree(wi)-disagree(wi)"로서 agree(wi)는 사용자가 찬성한 숫자를 의미하며 disagree(wi)는 사용자가 반대한 숫자를 의미한다.
또한, 웹 서버(800)는 사용자가 기 등록한 특정 의견검색 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링(Monitoring)하여 해당 사용자 단말(900)로 통지해줄 수 있다.
즉, 사용자들은 특정 의견검색 키워드를 입력하여 다른 사용자들의 의견이 나와 있는 문서를 모니터링(Monitoring)하게 된다. 이때, 상기 모니터링이라 함은 사용자가 미리 등록 해놓은 특정 의견검색 키워드와 관련된 긍정/부정 의견이 생성되는 것을 감지하게 되면 해당 사용자에게 통지해 줌으로써, 각 기업은 자사에 대한 부정 의견을 모니터링 하여 즉각적으로 대처해 나갈 수 있는 효과가 있다.
더욱이, 웹 서버(800)는 사용자가 특정 의견검색 키워드를 입력하여 해당 특 정 의견검색 키워드에 대한 의견 검색결과를 확인하는 화면에서 해당 특정 의견검색 키워드와 연관된 광고를 해당 사용자 단말(900)의 화면에 디스플레이 해줄 수 있다.
이때에 여러 연관 광고를 게재할 수 있으면 광고 게재 순서는 광고 과금 금액이 큰 순서나, 해당 키워드와 연관 관계 정보 등이 이용될 수 있다. 따라서, 사용자는 일반 의견검색(긍정 및 부정 혼합)/긍정 의견검색/부정 의견검색을 선택적으로 수행할 수 있으며, 각각의 의견검색에 대하여 연관된 상기의 광고가 함께 게재된다.
또한, 각 광고 제품에 대하여 긍정적으로 표현한 문서들을 추출하여 각 광고와 함께 일반 온라인 광고 게시에 제공될 수 있다. 이는 일반 키워드 검색 광고나, 의견 검색 광고, 일반 배너 광고 등 온라인에서 사용 가능한 모든 광고 방식과 함께 추출된 긍정 의견 문서를 보여주게 된다.
또한, 사용자가 특정 제품 이름이 아닌 일반적인 범주를 검색 키워드로 입력하였을 때에는 해당 범주의 광고 제품을 검색 광고로 보여줄 수 있다. 이때, 각 제품들의 긍정/부정 의견 수치와 각 제품별로 긍정 의견들도 함께 보여줄 수도 있다.
또한, 부정 의견검색 결과에 대해서도 각 광고주들은 자사의 광고를 게시할 수 있다. 이때, 일반 광고나, 해당 의견들에 대한 해명 글들을 게시할 수 있으며, 동시에 일괄적으로 부정 의견 글들에 대해서 해명 글을 트랙백(tracback)을 보낼 수도 있다.
또한, 상기 "의견 분석한 페이지" 기능을 사용자가 보게 될 때도 관련된 광 고를 화면에 같이 게재할 수 있게 된다. 이때도 마찬가지로 광고 상품에 대한 긍정적인 글들의 링크도 함께 보여줄 수 있다.
전술한 바와 같이, 해당 특정 의견검색 키워드와 관련된 광고 게재 시 이에 대한 내용을 구체적으로 설명하면, 먼저, 광고주가 입력하는 데이터는 예를 들어 다음과 같은 데이터를 입력하여 광고 설정을 할 수 있게 된다.
1. 광고 내용 : 광고 링크, 광고 문구, 광고 이미지 등을 설정한다.
① 광고 링크 : http://example_shop.co.kr
② 광고 문구 : 고품격 샤인폰 최저가 판매
③ 이미지 : http://www.example.com/test.jpg
④ 검색 키워드 : 핸드폰, 휴대폰
⑤ 일반 검색결과 키워드 : 샤인폰, LG폰, 싸이온
⑥ 의견 검색결과 키워드 : 샤인폰, LG폰, 싸이온
⑦ 긍정 검색결과 키워드 : 샤인폰, LG폰, 싸이온
⑧ 부정 검색결과 키워드 : 애니콜, 삼성 폰
⑨ 분석된 페이지 키워드 : 샤인폰, LG폰, 싸이온, 애니콜
2. 의견검색 키워드 : 광고주는 어떤 의견검색 키워드가 입력된 경우에 자신의 광고가 게시되도록 설정한다. 예를 들면, "샤인폰"이란 의견검색 키워드를 설정하게 되면 사용자가 "샤인폰"이라고 의견 검색어를 입력하면 "샤인폰"이라고 입력한 광고주의 광고가 나오게 된다.
이때, 의견검색 결과는 상단에 배치되며, 배치되는 순서는 광고주가 지불한 금액순서를 따른다. 그리고, 광고와 함께 해당 광고 상품에 대해서 긍정적으로 리뷰를 한 사용자의 글도 함께 게시가 가능하다.
3. 의견검색 결과 키워드 : 광고주는 의견검색 결과 중에서 설정한 의견검색 결과 키워드가 등장하게 되면 자신의 광고가 게시되도록 설정할 수 있다.
예를 들어, 의견검색 결과 키워드 "JM53"을 입력하게 되면, 의견검색 결과 중에서 "JM53"이 등장한 경우에 해당 광고주의 광고를 게시할 수 있다. 이로써 광고 효과를 극대화 할 수 있다.
이때, 광고 게시 위치는 의견검색 결과 상단에 위치시키거나, 의견검색 결과물과 같이 배치할 수 있고, 광고주는 어떤 의견검색 결과 중에서 광고를 내 보낼지 선택할 수 있으며, 일반 검색/의견 검색/긍정 의견 검색/부정 의견 검색 결과 중에서 선택할 수 있다.
또한, 광고 수익은 의견을 올린 게시자와 일정 비율 공유하는 방식도 가능하다. 이를 활용하게 되면 자사 제품에 대해서 긍정적으로 나오는 글이 있는 경우에 자사 제품에 대한 광고를 내보내도록 설정하거나, 경쟁 회사 제품에 대한 부정적인 글이 나오는 경우에 자사 제품에 대한 광고를 게시할 수도 있게 된다.
4. 분석된 페이지 키워드 : 광고주는 의견 검색결과들 중 하나를 선택해서 해당 의견검색 결과 본문에 대해서 구체적으로 긍정/부정 부분을 의견 분석한 페이지를 보게 되는 경우에도 분석 페이지 내에서 광고를 게시할 수 있다.
이때, 상기 분석된 페이지 안에서 주된 주제로 다루어지는 토픽(Topic)에 우선 순위를 부여하여, 관련 토픽을 키워드로 등록한 광고주가 우선적으로 보여지고, 그 안에서도 광고 금액이 높은 순서대로 노출이 된다.
또한, 광고주는 분석된 페이지 안의 주로 긍정적인지/부정적인지에 따라서 선택적으로 광고를 게시할 수 있으며, 광고주의 키워드에 대하여 긍정적/부정적인지 여부는 해당 긍정/부정 표현과 광고주가 입력한 키워드간의 거리가 일정 거리 이내인 표현이 긍정/부정 각각 몇 개 이상 등장하는 지를 통해서 결정할 수 있다.
한편, 도면에 도시되진 않았지만, 본 발명의 일 실시예에서는 의견검색 결과에 있어서도, 광고 수익을 의견검색 결과를 제공해주는 컨텐츠 제공자와 함께 공유하는 구성을 구현할 수도 있다.
이를 구체적으로 설명하면, 먼저, 광고주가 입력하는 데이터는 전술한 데이터 입력 내용과 동일하며, 의견검색 결과 컨텐츠를 제공해주는 웹사이트 관리자들이 입력하는 내용은 예컨대, 이름, 주민등록번호, 계좌 번호, 사이트 주소, 주소 등으로 이루어질 수 있다.
그리고, 사용자가 의견 검색을 수행하는 경우에 예컨대, 사용자는 의견검색 키워드 "A"를 검색창에 입력한다. 이후에, 의견검색 결과가 해당 사용자 단말(900)의 화면에 디스플레이 된다.
여기서, 상위 N개의 의견 검색결과 컨텐츠 제공자(해당 사이트)와 의견검색 키워드 광고 수익을 공유하게 된다. 이때, 수익을 공유하는 컨텐츠 제공자는 본 검색 사이트에 사이트 정보를 미리 입력한 대상이 된다.
또한, 상기 수익을 분배하는 금액은 다음과 같이 각각의 가중치를 부여하여, 전체 중에서 차지하는 비율에 근거하여, 해당 의견검색 키워드 광고 수익을 공유하게 된다. 상기 컨텐츠 제공자는 의견검색 결과 상위 N개의 컨텐츠로 그 대상을 제한한다.
만약, 한 번의 의견검색 키워드 입력으로 발생하는 광고 수익이 "C"이고, 플랫폼 제공 업체 즉, 의견 검색서비스 제공 업체(검색 업체)가 수익을 가져가는 비율이 "α"이며, 의견검색 결과 컨텐츠 제공자들이 수익을 가져가는 비율이 "1-α"라고 한다면, 수익 분배에 있어서 각 컨텐츠 제공자들이 가지는 중요도(wi)는 하기의 수학식 12와 같이 계산된다.
Figure 112008066712789-pat00024
여기서, 상기 registered(wi) 함수는 wi 컨텐츠 제공자가 의견 검색서비스 제공 업체에 등록되었는지 여부를 나타내는 함수로서,
Figure 112008066712789-pat00025
를 나타낸다.
그리고, 상기 ranki는 wi 컨텐츠 제공자의 컨텐츠가 나오는 검색 순위를 나타내는 값으로서, 첫 번째로 나오는 컨텐츠일 경우에는 1값을 가지게 된다. 상기 rank_weight는 의견검색 결과에 얼만큼의 중요도를 할당할지를 결정해주는 함수로써 높은 값을 가질수록 의견검색 결과 랭킹(Ranking)의 중요도가 더 높게 반영된 다.
그리고, 상기 click(wi)는 해당 컨텐츠 검색 결과를 검색한 사용자가 클릭했는지 여부를 나타내는 함수로서,
Figure 112008066712789-pat00026
를 나타낸다. 상기 click_weight는 이 사용자가 클릭했는지 여부에 대해서 얼마큼의 가중치를 부여할지 결정해주는 상수이다. 상기 recommend(wi)는 사용자들이 해당 컨텐츠에 대한 추천 횟수를 나타낸다.
여기서, 추천 회수는 일반적인 추천 횟수와 특정 의견검색 키워드와 관련한 추천 횟수 두 가지 추천 횟수의 경우가 있다. 그리고, 상기 recommend_weight는 추천 횟수에 부여하는 가중치를 나타낸다.
상기의 수학식 12를 이용하게 되면 등록된 사용자 중에서 의견검색 결과 상위에 나오면서 사용자와 더 자주 클릭하는 사이트, 그리고 더 많은 사용자가 추천한 컨텐츠일 경우에 수익 분배에 있어서 더 큰 비중을 차지하게 된다.
그래서, 결국 광고주들이 각각의 의견검색 키워드별 의견검색 결과에 대하여 제공해주는 광고 요금(C)은 하기의 수학식 13과 같이 배분된다.
Figure 112008066712789-pat00027
여기서, C×α가 의견검색 서비스 제공 업체(검색 업체)가 가져가는 수익이 되고, C×(1-α)가 컨텐츠 제공자들이 가져가는 수익이 되며, 한 컨텐츠 제공자가 받게 되는 수익 Profit(wi)는 하기의 수학식 14와 같이 계산된다.
Figure 112008066712789-pat00028
사용자 단말(900)은 예컨대, 네트워크(Network) 또는 인터넷(Internet) 등과 같은 유선 또는 무선 통신망을 통해 웹 서버(800)에 접속되며, 통상적인 웹 브라우저(Web Browser)를 통해 웹 서버(800)에서 제공하는 각종 서비스를 제공받을 수 있게 된다.
예컨대, 데스크탑 PC, 노트북 PC 등 컴퓨터인 것이 일반적이지만, 이에 한정되는 것은 아니며 인터넷(10)을 통하여 웹 서버(800)에 접속하여 양방향성 의견검색 서비스를 이용할 수 있는 모든 종류의 유무선 통신 장치일 수 있다.
예를 들어, 사용자 단말(900)은 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: Personal Communications Services phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000) 등 이동 단말을 포함하고, 이외에도 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA: Personal Digital Assistant), 스마트폰(Smart phone), 왑폰(WAP phone: Wireless application protocol phone), 모바일 게임기(mobile play-station) 등 의견검색 서비스를 운영하는 웹 서버(800)에 접속 하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 장치를 포괄적으로 의미할 수 있다.
도 2는 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 방법을 설명하기 위한 전체적인 흐름도이고, 도 3a 내지 도 3d는 본 발명의 일 실시예에 적용된 의견검색 결과를 설명하기 위한 화면 구성도들로서, 도 3a는 특정의 의견검색 키워드(놈놈놈) 및 긍정 의견 타입 선택 시 의견검색 결과를 나타낸 화면 구성도이고, 도 3b는 특정의 의견검색 키워드(놈놈놈) 및 부정 의견 타입 선택 시 의견검색 결과를 나타낸 화면 구성도이며, 도 3c는 특정의 의견검색 키워드(놈놈놈)와 관련된 의견검색 결과 글에 대한 의견 분석한 페이지 기능을 구체적으로 나타낸 화면 구성도이며, 도 3d는 특정의 의견검색 키워드(놈놈놈)와 관련된 의견 검색결과 글들에 대해 사용자의 찬성/반대 의사를 선택할 수 있도록 구비한 화면 구성도이다.
도 1, 도 2, 도 3a 내지 도 3d를 참조하면, 먼저, 데이터 수집서버(100)를 통해 인터넷(10) 상에 존재하는 웹 문서 데이터를 수집한 후(S100), 언어처리모듈(200)을 통해 상기 단계S100에서 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리(예컨대, 형태소 분석 또는 띄어쓰기 등)를 수행하여 언어적인 자질(Feature)들을 추출한다(S200).
다음으로, 의견/비의견 구분모듈(300)을 통해 상기 단계S200에서 추출된 각 문장의 언어적인 자질들을 이용하여 의견/비의견 문장을 구분한 후(S300), 의견표현 구분모듈(400)을 통해 상기 단계S300에서 구분된 의견 문장의 언어적인 자질들 에 대해 긍정/부정 의견표현으로 구분한다(S400).
이후에, 인덱싱 서버(500)를 통해 상기 단계S400에서 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 의견 인덱싱 정보 저장모듈(600)에 저장되도록 인덱싱(Indexing)을 수행한다(S500).
여기서, 상기 단계S500에서 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들을 데이터베이스(DB)화하여 별도의 의견 인덱싱 정보 저장모듈(600)에 저장함이 바람직하다.
다음으로, 의견검색을 원하는 사용자는 인터넷(10) 접속이 가능한 사용자 단말(900)을 이용하여 의견검색 서비스를 제공하는 특정의 웹 페이지(예컨대, http://buzzni.com)에 접속하면, 웹 서버(800)는 의견검색을 위한 검색 입력창(A) 및 의견검색 타입(의견/긍정/부정)을 선택하는 타입선택버튼(B)들을 구비한 메인 검색화면을 제공한다.
이러한 의견검색 서비스 환경에서, 사용자가 원하는 의견검색 키워드를 검색 입력창(A)에 입력한 후, 타입선택버튼(B)들 중 어느 하나의 버튼을 클릭(선택)하면, 웹 서버(800)는 인터넷(10)을 통해 접속된 사용자 단말(900)로부터 전송되는 특정 의견검색 키워드 및/또는 의견검색 타입을 제공받아 의견검색모듈(700)에 전달한 후, 의견검색모듈(700)은 웹 서버(800)를 통해 전달받은 상기 특정 의견검색 키워드와 관련된 웹 문서의 의견 정보들을 인덱싱 서버(500) 또는 의견 인덱싱 정보 저장모듈(600)에서 검색하고 그 의견 검색결과를 웹 서버(800)로 다시 전달한다.
이후에, 웹 서버(800)는 의견검색모듈(700)을 통해 검색된 상기 특정 의견검색 키워드에 대한 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 해준다(S600).
이때, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 상기 특정 의견검색 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 의견검색 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 디스플레이 해줌이 바람직하다(도 3a 내지 도 3d 참조).
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 중요도 또는 시간 순서에 따라 디스플레이 해줌이 바람직하다.
이때, 상기 중요도는 상기 특정 의견검색 키워드가 해당 웹 문서에서 가지는 관련도와 의견표현 정도를 통해 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용하며, 상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용할 수 있다.
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 상기 특정 의견검색 키워드와 관련된 웹 문서의 의견 내용들에 대해 댓글 형식으로 해당 의견검색 사용자의 의견을 추가할 수 있도록 의견 입력창(미도시)을 디스플레이 해줌이 바람직하 다.
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 상기 특정 의견검색 키워드와 함께 긍정/부정으로 표현된 부분을 특정한 표현(예컨대, 밑줄, 굵은 글씨체 또는 다양한 색상 등)으로 강조하여 디스플레이 해줌이 바람직하다(도 3a 내지 도 3d 참조).
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 각 의견 검색결과 글들에 "의견 분석한 페이지" 기능을 제공할 수 있다(도 3a 내지 도 3d 참조).
이때, 사용자가 임의의 의견 검색결과 글에 해당하는 "의견 분석한 페이지" 기능을 선택할 경우, 웹 서버(800)는 해당 의견 검색결과 글에 대해 긍정/부정 의견 부분을 분석한 후, 예컨대, 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 표현으로 강조하여 디스플레이 해줌이 바람직하다(도 3c 참조).
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 긍정/부정 의견표현 정도에 따라 시기별 긍정/부정 비율의 변화를 그래프 형태로 디스플레이 해줌이 바람직하다(도 3a 내지 도 3d 참조).
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 상기 특정 의견검색 키워드의 세부 항목별로 긍정/부정 비율을 디스플레이 해줄 수도 있다.
또한, 상기 단계S600에서 상기 특정 의견검색 키워드와 관련된 의견 검색결과를 해당 사용자 단말(900)의 화면에 디스플레이 할 경우, 상기 특정 의견검색 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 찬성/반대 의사를 선택할 수 있도록 해당 사용자 단말(900)의 화면에 디스플레이 해줌이 바람직하다(도 3d 참조).
추가적으로, 상기 단계S600 이후에, 웹 서버(800)를 통해 사용자가 기 등록한 특정 의견검색 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링(Monitoring) 하여 해당 사용자 단말(900)로 통지해주는 단계를 더 포함할 수도 있다.
한편, 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
삭제
전술한 본 발명에 따른 인터넷을 이용한 의견 검색 시스템 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
예를 들면, 본 발명의 일 실시예에서는 한국어를 기반으로 인터넷을 이용한 의견 검색 시스템 및 그 방법을 구현하였지만, 이에 국한하지 않으며, 예컨대, 영어, 일본어, 중국어 등 다양한 언어를 적용하여 구현할 수도 있다.
도 1은 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 인터넷을 이용한 의견 검색 방법을 설명하기 위한 전체적인 흐름도이다.
도 3a 내지 도 3d는 본 발명의 일 실시예에 적용된 의견검색 결과를 설명하기 위한 화면 구성도들로서, 도 3a는 특정의 의견검색 키워드(놈놈놈) 및 긍정 의견 타입 선택 시 의견검색 결과를 나타낸 화면 구성도이고, 도 3b는 특정의 의견검색 키워드(놈놈놈) 및 부정 의견 타입 선택 시 의견검색 결과를 나타낸 화면 구성도이며, 도 3c는 특정의 의견검색 키워드(놈놈놈)와 관련된 의견검색 결과 글에 대한 의견 분석한 페이지 기능을 구체적으로 나타낸 화면 구성도이며, 도 3d는 특정의 의견검색 키워드(놈놈놈)와 관련된 의견 검색결과 글들에 대해 사용자의 찬성/반대 의사를 선택할 수 있도록 구비한 화면 구성도이다.

Claims (21)

  1. 삭제
  2. 인터넷 상에 존재하는 웹 문서 데이터를 수집하는 제1 서버;
    상기 제1 서버를 통해 수집된 웹 문서 데이터에서 필요한 텍스트, 이미지 또는 비디오 정보들 중 적어도 어느 하나의 정보 데이터를 추출하여 저장되는 데이터 저장모듈;
    상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 언어처리모듈;
    상기 추출된 각 문장의 언어적인 자질들을 이용하여 의견/비의견 문장을 구분하는 의견/비의견 구분모듈;
    상기 구분된 의견 문장의 언어적인 자질들에 대해 긍정/부정 의견표현으로 구분하는 의견표현 구분모듈;
    상기 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 저장되도록 인덱싱하는 제2 서버; 및
    인터넷을 통해 접속된 사용자 단말로부터 전송되는 특정 키워드를 제공받아 상기 제2 서버와 연동되어 상기 특정 키워드와 관련된 웹 문서의 의견 정보들을 검색하여 해당 사용자 단말의 화면에 의견 검색결과를 디스플레이 해주는 웹 서버를 포함하는 인터넷을 이용한 의견 검색 시스템.
  3. 제2 항에 있어서,
    상기 제2 서버를 통해 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들이 데이터베이스(DB)화하여 저장되는 의견 인덱싱 정보 저장모듈이 더 포함되는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  4. 제3 항에 있어서,
    상기 웹 문서의 기본 및 의견 정보들은 제목, 본문, 의견 분석된 본문, 생성 날짜, 태그, URL, 이미지, 동영상, 긍정/부정 표현의 수, 전체적인 긍정/부정 정도, 각 긍정/부정 표현의 시작과 끝의 위치정보, 의견 어휘들의 대상이 될만한 객체 키워드 정보, 객체 키워드와 의견표현 관계정보, 또는 각 객체 키워드들이 속하는 타입 정보 중 적어도 하나의 정보로 이루어진 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  5. 제2 항에 있어서,
    상기 언어처리는 형태소 분석(Morpheme Analyze) 또는 띄어쓰기(Segmentation) 처리로 이루어진 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  6. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 전체 의견, 긍정적/부정적 의견내용을 선택적으로 확인할 수 있도록 해당 사용자 단말의 화면에 디스플레이 해주거나, 특정 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 해당 사용자 단말의 화면에 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  7. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 중요도 또는 시간 순서에 따라 리스트(List)화하여 해당 사용자 단말의 화면에 디스플레이 해주되,
    상기 중요도는 상기 특정 키워드가 해당 웹 문서에서 가지는 관련도와 의견표현 정도를 통해 결정되고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용되며,
    상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 결정되고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용되는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  8. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 웹 문서의 의견 내용들에 대해 댓글 형식으로 해당 의견 검색 사용자의 의견을 추가할 수 있도록 의견 입력창을 해당 사용자 단말의 화면에 디스플레이 해주거나, 상기 특정 키워드와 관련된 의견 검색결과를 상기 특정 키워드와 함께 긍정/부정으로 표현된 부분을 특정한 표현으로 강조하여 해당 사용자 단말의 화면에 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  9. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 선택에 따라 긍정/부정 의견 부분을 분석하고, 이를 특정한 표현으로 강조하여 해당 사용자 단말의 화면에 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  10. 제8 항 또는 제9 항에 있어서,
    상기 특정한 표현은 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 강조표현으로 이루어진 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  11. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과를 긍정/부정 의견표현 정도에 따라 시기별로 긍정/부정 비율 변화 그래프 형태로 해당 사용자 단말의 화면에 디스플레이 해주거나, 상기 특정 키워드와 관련된 의견 검색결과를 상기 특정 키워드의 세부 항목별로 긍정/부정 비율의 형태로 해당 사용자 단말의 화면에 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  12. 제2 항에 있어서,
    상기 웹 서버는 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 찬성/반대 의사를 선택할 수 있도록 찬성/반대 버튼을 해당 사용자 단말의 화면에 디스플레이 해주거나, 사용자가 기 등록한 특정 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링 하여 해당 사용자 단말로 통지해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 시스템.
  13. 삭제
  14. (a) 인터넷 상에 존재하는 웹 문서 데이터를 수집하는 단계;
    (b) 상기 수집된 웹 문서 데이터에 대해 문장 단위로 분리하고, 분리된 각 문장에 대해 언어처리를 수행하여 언어적인 자질들을 추출하는 단계;
    (c) 상기 추출된 각 문장의 언어적인 자질들을 이용하여 의견/비의견 문장을 구분하는 단계;
    (d) 상기 구분된 의견 문장의 언어적인 자질들에 대해 긍정/부정 의견표현으로 구분하는 단계;
    (e) 상기 구분된 의견 문장의 언어적인 자질별로 해당 웹 문서의 의견 정보들이 저장되도록 인덱싱하는 단계; 및
    (f) 인터넷을 통해 접속된 사용자 단말로부터 전송되는 특정 키워드와 관련된 웹 문서의 의견 정보들을 검색하여 해당 사용자 단말의 화면에 의견 검색결과를 디스플레이 해주는 단계를 포함하되,
    상기 단계(e)에서, 상기 인덱싱된 각 의견 문장의 언어적인 자질별 해당 의견 문장의 요약정보 및 해당 웹 문서의 기본 및 의견 정보들을 데이터베이스(DB)화하여 별도의 저장모듈에 저장하는 단계를 더 포함하는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  15. 제14 항에 있어서,
    상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 전체 의견, 긍정적/부정적 의견내용을 선택적으로 확인할 수 있도록 디스플레이 해주거나, 상기 특정 키워드와 관련된 전체적인 의견 검색결과 내에서의 긍정/부정 의견표현의 비율, 또는 상기 특정 키워드와 관련된 각 의견 정보 내에서의 긍정/부정 의견표현의 비율을 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  16. 제14 항에 있어서,
    상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 중요도 또는 시간 순서에 따라 디스플레이 해주되,
    상기 중요도는 상기 특정 키워드가 해당 웹 문서에서 가지는 관련도와 의견표현 정도를 통해 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용하며,
    상기 시간 순서는 해당 웹 문서가 생성되는 순서에 따라 오름차순/내림차순으로 결정하고, 전체 시간 범위 또는 특정 시간 범위로 제한하여 적용하는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  17. 제14 항에 있어서,
    상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 웹 문서의 의견 내용들에 대해 댓글 형식으로 해당 의견 검색 사용자의 의견을 추가할 수 있도록 의견 입력창을 디스플레이 해주거나, 상기 특정 키워드와 함께 긍정/부정으로 표현된 부분을 특정한 표현으로 강조하여 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  18. 제14 항에 있어서,
    상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드와 관련된 의견 검색결과 글들에 대해 해당 사용자의 선택에 따라 긍정/부정 의견 부분을 분석한 후, 밑줄, 굵은 글씨체 또는 다양한 색상 중 적어도 어느 하나의 표현으로 강조하여 디스플레이 해주거나, 긍정/부정 의견표현 정도에 따라 시기별 긍정/부정 비율의 변화를 그래프 형태로 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  19. 제14 항에 있어서,
    상기 단계(f)에서, 상기 특정 키워드와 관련된 의견 검색결과를 해당 사용자 단말의 화면에 디스플레이 할 경우, 상기 특정 키워드의 세부 항목별로 긍정/부정 비율을 디스플레이 해주는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  20. 제14 항에 있어서,
    상기 단계(f) 이후에, 사용자가 기 등록한 특정 키워드와 관련된 긍정/부정 의견의 생성을 실시간으로 모니터링 하여 해당 사용자 단말로 통지해주는 단계를 더 포함하는 것을 특징으로 하는 인터넷을 이용한 의견 검색 방법.
  21. 삭제
KR1020080093125A 2008-09-23 2008-09-23 인터넷을 이용한 의견 검색 시스템 및 그 방법 KR101007284B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080093125A KR101007284B1 (ko) 2008-09-23 2008-09-23 인터넷을 이용한 의견 검색 시스템 및 그 방법
US13/120,649 US20110179009A1 (en) 2008-09-23 2009-09-23 Internet-based opinion search system and method, and internet-based opinion search and advertising service system and method
PCT/KR2009/005405 WO2010036012A2 (ko) 2008-09-23 2009-09-23 인터넷을 이용한 의견 검색 시스템, 의견 검색 및 광고 서비스 시스템과 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080093125A KR101007284B1 (ko) 2008-09-23 2008-09-23 인터넷을 이용한 의견 검색 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20100034140A KR20100034140A (ko) 2010-04-01
KR101007284B1 true KR101007284B1 (ko) 2011-01-13

Family

ID=42212338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080093125A KR101007284B1 (ko) 2008-09-23 2008-09-23 인터넷을 이용한 의견 검색 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101007284B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101498944B1 (ko) * 2011-11-28 2015-03-06 세종대학교산학협력단 상품 판매 업체 관련 글 판단 방법 및 그 장치
KR101411530B1 (ko) * 2013-05-31 2014-06-25 (주)이지웍스유니버스 온라인을 통한 인적 네트워크 구성 시스템 및 그 방법
KR101808631B1 (ko) * 2013-06-28 2017-12-13 삼성에스디에스 주식회사 설문에 대한 피설문자 응답을 게시하는 방법 및 그 방법을 지원하는 설문 서비스 서버
KR101662791B1 (ko) * 2015-01-29 2016-10-14 주식회사 포워드벤처스 상품 평가 관련 정보 디스플레이 시스템 및 상품 평가 관련 정보 디스플레이 방법
KR102007437B1 (ko) * 2016-11-25 2019-08-05 한국전자통신연구원 콘텐츠 분류 장치 및 방법
KR102582544B1 (ko) * 2018-05-03 2023-09-25 삼성전자주식회사 전자 장치 및 그 동작 방법
KR101954933B1 (ko) * 2018-07-06 2019-03-08 주식회사 한다파트너스 투자 포트폴리오를 구축하는 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040053369A (ko) * 2001-11-26 2004-06-23 후지쯔 가부시끼가이샤 정보 해석 방법 및 장치
KR20060103165A (ko) * 2005-03-23 2006-09-28 조광현 분류된 웹 사이트 검색 시스템 및 방법
JP3917629B2 (ja) 2000-08-21 2007-05-23 富士通株式会社 自然文処理装置及び自然文処理用プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3917629B2 (ja) 2000-08-21 2007-05-23 富士通株式会社 自然文処理装置及び自然文処理用プログラム
KR20040053369A (ko) * 2001-11-26 2004-06-23 후지쯔 가부시끼가이샤 정보 해석 방법 및 장치
KR20060103165A (ko) * 2005-03-23 2006-09-28 조광현 분류된 웹 사이트 검색 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
의견 어구 추출을 위한 생성 모델과 분류 모델을 결합한 부분 지도 학습 방법(2008.06.)*

Also Published As

Publication number Publication date
KR20100034140A (ko) 2010-04-01

Similar Documents

Publication Publication Date Title
KR101005337B1 (ko) 웹 문서에서의 의견 추출 및 분석 장치 및 그 방법
Chiu et al. Opinion mining of hotel customer-generated contents in Chinese weblogs
Mirzaalian et al. Exploring destination loyalty: Application of social media analytics in a nature-based tourism setting
Ortigosa et al. Sentiment analysis in Facebook and its application to e-learning
Alessia et al. Approaches, tools and applications for sentiment analysis implementation
US20110179009A1 (en) Internet-based opinion search system and method, and internet-based opinion search and advertising service system and method
Mostafa More than words: Social networks’ text mining for consumer brand sentiments
Buzova et al. Does culture affect sentiments expressed in cruise tours’ eWOM?
US20070112764A1 (en) Web document keyword and phrase extraction
Moussa An emoji-based metric for monitoring consumers’ emotions toward brands on social media
US20140114648A1 (en) Method for determining a sentiment from a text
KR101007284B1 (ko) 인터넷을 이용한 의견 검색 시스템 및 그 방법
US20090063132A1 (en) Information Processing Apparatus, Information Processing Method, and Program
Maity et al. Analyzing the linguistic structure of question texts to characterize answerability in quora
Bellot et al. INEX Tweet Contextualization task: Evaluation, results and lesson learned
HaCohen-Kerner et al. Automatic classification of complaint letters according to service provider categories
Haque et al. Opinion mining from bangla and phonetic bangla reviews using vectorization methods
KR101074820B1 (ko) 인터넷을 활용한 추천 검색 시스템 및 그 방법
KR101652433B1 (ko) Sns 문서에서 추출된 토픽을 기반으로 파악된 감정에 따른 개인화 광고 제공 방법
Kongthon et al. HotelOpinion: An opinion mining system on hotel reviews in Thailand
KR20160130369A (ko) 온라인 상에 게재된 웹 문서 기반 상권 분석 서비스 시스템 및 방법
Humphreys Automated text analysis
Lopez et al. How can catchy titles be generated without loss of informativeness?
Shi et al. EOSentiMiner: an opinion-aware system based on emotion ontology for sentiment analysis of Chinese online reviews
Mahboob et al. Sentiment analysis of RSS feeds on sports news–a case study

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20140106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 10