KR101741249B1 - 카테고리 생성 시스템 및 방법 - Google Patents

카테고리 생성 시스템 및 방법 Download PDF

Info

Publication number
KR101741249B1
KR101741249B1 KR1020160112643A KR20160112643A KR101741249B1 KR 101741249 B1 KR101741249 B1 KR 101741249B1 KR 1020160112643 A KR1020160112643 A KR 1020160112643A KR 20160112643 A KR20160112643 A KR 20160112643A KR 101741249 B1 KR101741249 B1 KR 101741249B1
Authority
KR
South Korea
Prior art keywords
category
news
data
noun
twitter
Prior art date
Application number
KR1020160112643A
Other languages
English (en)
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 KR1020160112643A priority Critical patent/KR101741249B1/ko
Application granted granted Critical
Publication of KR101741249B1 publication Critical patent/KR101741249B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • G06F17/30707
    • G06F17/2755

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

카테고리 생성 시스템은, 트위터 데이터를 수집하고, 기설정된 카테고리별로 뉴스 데이터를 수집하는 데이터 수집부; 트위터 데이터에서 명사를 추출하여 트위터 명사 집단을 형성하고, 뉴스 데이터에서 명사를 추출하여 카테고리별로 뉴스 명사 집단을 형성하는 전처리부; 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하는 클러스터링부; 및 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 클러스터의 카테고리를 생성하는 카테고리 생성부; 를 포함할 수 있다.
이와 같은 카테고리 생성 시스템 및 방법에 의하면, 주어진 데이터에 대해 클러스터링을 수행할 뿐만 아니라 클러스터에 대해 자동으로 카테고리를 생성할 수 있다.
또한, 데이터를 복수의 클러스터로 분류한 후, 뉴스 분석을 통해 클러스터를 재분류하기 때문에 클러스터에 속한 단어들의 연관성을 높일 수 있으며, 카테고리를 생성함에 따라 클러스터나 클러스터에 속한 단어들의 연관성에 대해 사용자의 이해도를 높일 수 있게 된다.

Description

카테고리 생성 시스템 및 방법{SYSTEM AND METHOD FOR GENERATING CATEGORY}
본 발명은 카테고리 생성 시스템 및 방법에 관한 것이다.
최근 웹에서 방대하게 늘어난 정보량으로 인해 사용자가 원하는 정보를 정확히 추출하는데 어려움을 겪고 있다. 이로 인해, 정보 검색의 편리성이 계속해서 강조되어 왔으며, 주어진 데이터를 클러스터링(clustering)하거나 클러스터(cluster)의 카테고리를 정의하는 방식은 중요한 연구 분야로 떠오르게 되었다. 클러스터링은 데이터를 연관성 있는 단어들끼리 분류하는데 이용되며, 카테고리는 클러스터 또는 클러스터에 속한 단어들의 연관성을 한눈에 식별할 수 있게 하여 사용자의 정보 접근을 용이하게 해준다. 하지만 대부분의 웹사이트에서는 클러스터링에 중점을 두어 카테고리를 정의하고 있지 않거나, 카테고리를 수동으로 부여하고 있는 것이 현실이다. 따라서, 주어진 데이터에 대해 클러스터링을 수행할 뿐만 아니라 클러스터에 대해 자동으로 카테고리를 생성하는 시스템에 대한 사용자 니즈가 증가하고 있다.
관련 선행기술로는 대한민국 공개특허공보 제10-2013-0076684(발명의 명칭: 태그간 의미 분석을 이용한 다중 문서 요약 방법 및 시스템, 공개일자: 2013년 0월 17일)가 있다.
본 발명은 자동적으로 카테고리를 생성하는 시스템 및 방법을 제공하고자 한다.
상술한 과제를 해결하기 위하여, 다음과 같은 카테고리 시스템 및 방법이 제공된다.
카테고리 생성 시스템은, 트위터 데이터를 수집하고, 기설정된 카테고리별로 뉴스 데이터를 수집하는 데이터 수집부; 트위터 데이터에서 명사를 추출하여 트위터 명사 집단을 형성하고, 뉴스 데이터에서 명사를 추출하여 카테고리별로 뉴스 명사 집단을 형성하는 전처리부; 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하는 클러스터링부; 및 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 클러스터의 카테고리를 생성하는 카테고리 생성부; 를 포함할 수 있다.
트위터 데이터는, 한글 형식의 트위터 데이터일 수 있다.
전처리부는, 형태소 분석기를 이용하여 트위터 명사 집단 및 뉴스 명사 집단을 형성할 수 있다.
클러스터링부는, LDA(Latent Dirichlet Allocatopn) 모델을 이용하여 복수의 클러스터를 형성할 수 있다.
전처리부는, 트위터 명사 집단에서 의미를 가지지 않는 단어인 불용어 명사를 제외시켜 트위터 명사 집단을 재형성할 수 있다.
클러스터링부는, 재형성된 트위터 명사 집단을 분류하여 복수의 클러스터를 형성할 수 있다.
카테고리 생성부는, 카테고리별로 형성된 뉴스 명사 집단과 클러스터에 속한 명사들간의 일치여부를 판단하여, 클러스터의 카테고리를 생성할 수 있다.
카테고리 생성부는, 카테고리별로 형성된 뉴스 명사 집단 각각에 대해 클러스터에 속한 명사들과의 일치여부를 판단하고, 일치하는 명사들을 포함하는 뉴스 명사 집단의 카테고리를 클러스터의 카테고리로 생성할 수 있다.
카테고리 생성부는, 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 클러스터를 재형성할 수 있다.
카테고리 생성 방법은, 트위터 데이터를 수집하고; 트위터 데이터에서 명사를 추출하여 트위터 명사 집단을 형성하고; 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하고; 기설정된 카테고리별로 뉴스 데이터를 수집하고; 뉴스 데이터에서 명사를 추출하여 카테고리별로 뉴스 명사 집단을 형성하고; 및 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 클러스터의 카테고리를 생성하는; 것을 포함할 수 있다.
이와 같은 카테고리 생성 시스템 및 방법에 의하면, 주어진 데이터에 대해 클러스터링을 수행할 뿐만 아니라 클러스터에 대해 자동으로 카테고리를 생성할 수 있다.
또한, 데이터를 복수의 클러스터로 분류한 후, 뉴스 분석을 통해 클러스터를 재분류하기 때문에 클러스터에 속한 단어들의 연관성을 높일 수 있으며, 카테고리를 생성함에 따라 클러스터나 클러스터에 속한 단어들의 연관성에 대해 사용자의 이해도를 높일 수 있게 된다.
도 1은 카테고리 생성 시스템의 일 실시예에 따른 구성도이다.
도 2는 카테고리 생성 방법의 일 실시예에 따른 흐름도이다.
도 3은 카테고리 생성 방법의 다른 실시예에 따른 흐름도이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
이하에서는 첨부된 도면을 참조하여 카테고리 생성 시스템 및 방법을 후술된 실시예들에 따라 구체적으로 설명하도록 한다. 도면에서 동일한 부호는 동일한 구성 요소를 나타내는 것으로 한다.
도 1은 카테고리 생성 시스템의 일 실시예에 따른 구성도이다.
도 1을 참조하면, 카테고리 생성 시스템(1)은 데이터 수집부(100), 전처리부(200), 클러스터링부(300), 카테고리 생성부(400), 및 저장부(500)를 포함할 수 있다.
데이터 수집부(100)는 카테고리를 생성하기 위한 데이터를 수집한다. 여기서, 데이터는 트위터 형식의 데이터이거나 뉴스 형식의 데이터일 수 있다. 데이터 수집부(100)는 트위터 형식의 데이터(이하, 간단히 ‘트위터 데이터’라 칭함)를 수집하는 트위터 데이터 수집부(110) 및 뉴스 형식의 데이터(이하, 간단히 ‘뉴스 데이터’라 칭함)를 수집하는 뉴스 데이터 수집부(120)를 포함할 수 있다.
트위터 데이터 수집부(110)는 트위터 데이터를 수집한다. 여기서, 트위터는 한글 형식의 트위터인 것으로 한다. 트위터 데이터 수집부(110)는 Java 기반 트위터 스트림 API인 Twitter4J를 이용하여 한글 형식의 트위터 데이터를 수집할 수 있다.
트위터 데이터는 사용자 아이디, 트위터 내용, 및 트위터 게시 날짜를 포함할 수 있으며, 후술될 저장부(500)에 저장되는 것으로 한다. 또한, 트위터 데이터는 전처리부(200)를 통해 명사 추출되고, 추출된 명사는 클러스터링부(300)를 통해 복수의 클러스터로 분류되는데, 이에 대한 구체적 설명은 전처리부(200) 및 클러스터링부(300)에 대한 설명과 함께 후술하기로 한다.
뉴스 데이터 수집부(120)는 뉴스 데이터를 수집할 수 있다. 뉴스 데이터 수집부(120)는 기설정된 일시의 뉴스 데이터를 수집할 수 있다. 뉴스 데이터 수집부(120)는 기설정된 카테고리에 대한 각각의 뉴스 데이터를 수집할 수 있다. 뉴스 데이터 수집부(120)는 카테고리 각각에 대해 기설정된 일시의 뉴스 데이터를 수집할 수 있다.
예를 들어, 정치, 사회, 국제, 문화, IT, 및 경제의 6개의 카테고리가 정의되고, 기설정된 일시가 트위터 게시 날짜인 경우, 데이터 수집부(100)는 트위터가 게시된 날짜에 작성된 정치 분야의 뉴스 데이터, 사회 분야의 뉴스 데이터, 국제 분야의 뉴스 데이터, IT 분야의 뉴스 데이터, 및 경제 분야의 뉴스 데이터를 각각 수집할 수 있다.
각각의 카테고리별로 수집된 뉴스 데이터는 후술될 저장부(500)에 저장되는 것으로 한다.
전처리부(200)는 수집된 데이터에 대해 전처리를 수행한다. 전처리부(200)는 수집된 트위터 데이터에 대해 전처리를 수행하는 트위터 데이터 전처리부(210) 및 수집된 뉴스 데이터에 대해 전처리를 수행하는 뉴스 데이터 전처리부(220)를 포함할 수 있다.
트위터 데이터 전처리부(210)는 수집된 트위터 데이터에서 명사를 추출하여 명사 집합을 형성하며, 이와 같이 형성된 명사 집합을 이하 ‘제 1트위터 명사 집합’이라 칭하기로 한다.
트위터 데이터 전처리부(210)는 형태소 분석기를 이용하여 트위터 데이터의 형태소를 분석함으로써 명사를 추출할 수 있다. 트위터 데이터 전처리부(210)는 예를 들어, Hannanum 형태소 분석기를 이용하여 트위터 데이터에서 명사를 추출할 수 있다.
트위터 데이터 전처리부(210)에서 형성된 제 1트위터 명사 집합은 후술될 저장부에 저장되는 것으로 한다.
트위터 데이터 전처리부(210)는 제 1트위터 명사 집합에서 불용어 명사를 제외시킴으로써 명사 집합을 재형성할 수도 있으며, 이와 같이 재형성된 명사 집합을 이하 ‘제 2트위터 명사 집합’이라 칭하기로 한다. 즉, 트위터 데이터 전처리부(210)는 제 1트위터 명사 집합에서 불용어 명사를 불용어 명사를 제외시키고 나머지 명사들로 구성된 제 2트위터 명사 집합을 형성할 수 있다.
여기서, 불용어 명사는 의미를 가지지 않는 단어로 정의될 수 있다. 트위터에서 수집된 단어는 그 특성상 의미를 가지지 않는 불용어 명사를 많이 포함하므로, 트위터 데이터 전처리부(210)는 이와 같은 불용어 명사를 제외시키는 작업을 수행할 수 있다.
트위터 데이터 전처리부(210)는 불용어 명사를 제외시키기 위해, 온라인 백과사전 예를 들어, 위키피디아를 이용할 수 있다. 트위터 데이터 전처리부(210)는 추출한 명사를 위키피디아에 검색하여, 검색여부에 따라 검색되지 않는 경우 불용어 명사로 취급하여 제외시킬 수 있다.
트위터 데이터 전처리부(210)에서 제 2트위터 명사 집합이 형성되는 경우, 형성된 제 2트위터 명사 집합은 후술될 저장부(500)에 저장되는 것으로 한다.
뉴스 데이터 전처리부(220)는 수집된 뉴스 데이터에서 명사를 추출하여 명사 집합을 형성하며, 이와 같이 형성된 명사 집합을 이하 ‘뉴스 명사 집합’이라 칭하기로 한다.
뉴스 데이터 전처리부(220)는 기설정된 카테고리에 각각에 대해 뉴스 명사 집합을 형성할 수 있다. 예를 들어, 정치, 사회, 국제, 문화, IT, 및 경제의 6개의 카테고리에 대해 뉴스 데이터가 수집된 경우, 뉴스 데이터 전처리부(220)는 각 카테고리의 뉴스 데이터에서 명사를 각각 추출하여, 정치 분야에 대한 뉴스 명사 집합, 사회 분야에 대한 뉴스 명사 집합, 국제 분야에 대한 뉴스 명사 집합, 문화 분야에 대한 뉴스 명사 집합, IT 분야에 대한 뉴스 명사 집합, 및 경제 분야에 대한 뉴스 명사 집합을 각각 형성할 수 있다.
뉴스 데이터 전처리부(220)는 형태소 분석기를 이용하여 뉴스 데이터의 형태소를 분석함으로써 명사를 추출할 수 있다. 뉴스 데이터 전처리부(220)는 예를 들어, Hannanum 형태소 분석기를 이용하여 뉴스 데이터에서 명사를 추출할 수 있다. 뉴스 데이터 전처리부(220)는 트위터 데이터 전처리부(210)와 동일한 형태소 분석기를 이용하여 명사를 추출할 수 있으나, 서로 다른 형태소 분석기를 이용하더라도 무방하다.
뉴스 데이터 전처리부(220)에서 카테고리별로 형성된 뉴스 명사 집합은 후술될 저장부(500)에 저장되는 것으로 한다.
클러스터링부(300)는 트위터 데이터에 대한 명사 집합을 복수의 클러스터로 분류하는 클러스터링을 수행한다. 여기서, 명사 집합은 제 1트위터 명사 집합이 될 수도 있고 또는 제 2트위터 명사 집합이 될 수도 있다.
상술한 트위터 데이터 전처리부(210)가 불용어 명사를 제외시키는 작업을 수행하지 않는 경우, 클러스터링부(300)는 제 1트위터 명사 집합을 복수의 클러스터로 분류할 수 있다. 트위터 데이터 전처리부(210)가 불용어 명사를 제외시키는 작업을 수행하는 경우, 클러스터링부(300)는 제 2트위터 명사 집합을 복수의 클러스터로 분류할 수 있다.
클러스터링부(300)는 명사 집합에서 의미 기반으로 복수의 클러스터를 형성할 수 있다. 클러스터링부(300)는 명사 집합에서 연관성 있는 명사들끼리 그룹화하여 복수의 클러스터를 형성할 수 있다. 클러스터링부(300)는 예를 들어, LDA(Latent Dirichlet Allocatopn) 모델과 같은 클러스터링 알고리즘을 이용하여 복수의 클러스터를 형성할 수 있다.
LDA 모델은 생성 확률 그래프 모델로, 디리클레(Dirichlet) 분포를 이용하여 주어진 단어의 확률을 계산하고, 계산된 결과로부터 확률분포를 추출하여 주어진 그룹 개수만큼 단어를 분류하는 모델이다.
LDA 모델을 이용하기 위해서는 클러스터의 개수인 K값을 정의해야 한다(단, K는 양의 정수). 이 때, K값은 기설정되어 저장부(500)에 저장되거나, 사용자로부터 입력받는 것으로 한다. 예를 들어, K=12로 정의된 경우, 클러스터링부(500)는 LDA 모델을 이용하여, 하기와 [표 1]과 같이 60 여개의 명사로 구성된 명사 집합에 대해 총 12개의 클러스터를 형성할 수 있다.
[표 1]
Figure 112016085498498-pat00001

[표 1]에 나타난 바와 같이, 60 여개의 명사로 구성된 명사 집합은 클러스터링부(300) 및 LDA 모델을 통해 “이벤트, 블로그, 네이버, 원피스, 프랑키”로 구성된 제 1클러스터, “조경태, 안철수, 문재인, 사이트, 천정배”로 구성된 제 2클러스터, “이미지, 이벤트, 사이퍼즈, 스페셜, 고양이”로 구성된 제 3클러스터, “뮤지컬, 신데렐라, 일자리, 포스터, 김연아”로 구성된 제 4클러스터, “트위터, 아저씨, 황순원, 강아지, 소나기”로 구성된 제 5클러스터, “인터뷰, 박원순, 병무청, 세브란스, 아버지”로 구성된 제 6클러스터, “대통령, 박근혜, 나머지, 노무현, 어머니”로 구성된 제 7클러스터, “김무성, 라이브, 콘서트, 새누리당, 손가락”로 구성된 제 8클러스터, “선생님, 돌연변이, 파이팅, 사랑해, 케이팝”로 구성된 제 9클러스터, “커미션, 노란색, 디자인, 케릭터, 박은태”로 구성된 제 10클러스터, “성남시, 변호사, 드라마, 고척돔, 컨텐츠”로 구성된 제 11클러스터, “이야기, 와이프, 유치원, 우리나라, 포스터”로 구성된 제 12클러스터로 분류될 수 있다.
상술한 바에 따르면, LDA 모델을 이용하는 것으로 예시하였으나, 클러스터링부(300)는 복수의 클러스로 분류할 수만 있다면, LDA 모델 외에 공지된 임의의 다른 방법을 이용할 수도 있다.
또한, 분류된 복수의 클러스터 및 클러스터에 속하는 명사들은 후술될 저장부(500) 저장되는 것으로 한다.
카테고리 생성부(400)는 복수의 클러스터에 대한 카테고리를 생성한다.
[표 1]을 다시 참조하면, 각각의 클러스터는 단순히 명사의 모임으로 구성되어, 해당 클러스터의 토픽을 파악하기 어렵다. 카테고리 생성부(400)는 복수의 클러스터에 대해 카테고리를 생성함으로써, 사용자로 하여금 각 클러스터의 토픽을 파악할 수 있도록 한다.
카테고리 생성부(400)는 전처리부(200)에서 형성된 뉴스 명사 집합과 클러스터에 속한 단어들간의 일치여부를 판단하여 카테고리를 생성하고, 해당 클러스터를 재구성한다. 카테고리 생성부(400)는 복수의 카테고리에 대응하여 형성된 복수의 뉴스 명사 집합 각각에 대해 클러스터에 속한 명사들과의 일치여부를 판단하고, 일치하는 명사들을 포함하는 뉴스 명사 집합의 카테고리를 해당 클러스터의 카테고리로 생성한다. 또한, 카테고리 생성부(400)는 일치하는 명사들로만 구성하여 해당 클러스터를 재형성한다. 이와 같이 카테고리를 생성하고 클러스터 재형성하는 과정 중에 클러스터의 개수는 줄어들 수도 있다.
예를 들어, 상술한 [표 1]의 클러스터에 대해, 카테고리 생성부(400)는 하기의 [표 2]와 같이 카테고리를 생성하고, 클러스터를 재형성할 수 있다.
[표 2]
Figure 112016085498498-pat00002

[표 2]에 나타난 바와 같이, 카테고리 형성 및 클러스터 재형성 과정에 따라, 클러스터의 개수는 12개에서 7개의 클러스터로 줄어들 수 있다. 즉, 제 1내지 12클러스터 중 일치하는 명사가 존재하는 제 2 내지 8클러스터만 남아있을 수 있다. 제 2클러스터는 “조경태, 안철수, 문재인, 천정배”, 제 3클러스터는 “이벤트, 스페셜”, 제 4클러스터는 “뮤지컬, 신데렐라”, 제 5클러스터는 “황순원, 소나기”, 제 6클러스터는 “박원순, 병무청, 세브란스”, 제 7클러스터는 “대통령, 박근혜, 노무현”, 및 제 8클러스터는 “김무성, 새누리당”으로 각각 재형성될 수 있으며, 제 2클러스터, 제 7클러스터, 및 제 8클러스터에 대해서는 “정치”카테고리, 제 4클러스터 및 제 5클러스터에 대해서는 “문화”카테고리, 제 6클러스터에 대해서는 “사회”카테고리, 및 제 3클러스터에 대애서는 “IT”카테고리가 각각 생성될 수 있다.
상술한 바와 같이 카테고리 생성부(400)를 통해 클러스터가 재형성됨에 따라, 클러스터에 속한 명사들의 연관성을 높일 수 있으며, 클러스터에 대한 카테고리가 생성됨에 따라, 해당 클러스터의 토픽을 용이 파악할 수 있게 된다.
또한, 재형성된 클러스터와 클러스터에 속하는 명사들, 및 각 클러스터에 대해 생성된 카테고리는 후술될 저장부(500) 저장되는 것으로 한다.
상술한 데이터 수집부(100), 전처리부(200), 클러스터링부(300), 및 카테고리 생성부(400)는 집적 회로가 형성된 적어도 하나의 칩을 포함하는 각종 프로세서(processor)로 마련될 수 있다. 데이터 수집부(100), 전처리부(200), 클러스터링부(300), 및 카테고리 생성부(400)는 모두 하나의 프로세서에 마련될 수도 있고, 복수의 프로세서에 분리되어 마련될 수도 있다. 또한, 데이터 수집부(100), 전처리부(200), 클러스터링부(300), 및 카테고리 생성부(400) 각각은 하나의 프로세서에 마련될 수도 있으나, 복수의 프로세서에 분리되어 마련되는 것도 가능하다.
저장부(500)는 카테고리 생성 시스템(1)의 동작을 위한 각종 데이터 및 프로그램을 일시 또는 비일시적으로 저장한다. 예를 들어, 저장부(500)는 트위터 데이터, 각각의 카테고리별로 수집된 뉴스 데이터, 제 1트위터 명사 집합, 제 2트위터 명사 집합, 카테고리별로 형성된 뉴스 명사 집합, 분류된 복수의 클러스터, 재형성된 클러스터 및 각 클러스터에 대해 생성된 카테고리 등을 저장할 수 있다.
또한, 저장부(500)는 트위터 데이터를 및 뉴스 데이터를 수집하기 위한 프로그램, 제 1트위터 명사 집합 및 제 2트위터 명사 집합을 형성하기 위한 프로그램, 뉴스 명사 집합을 형성하기 위한 프로그램, 제 1트위터 명사 집합이나 제 2트위터 명사 집합을 복수의 클러스터로 분류하기 위한 프로그램, 클러스터를 재형성하고 각 클러스터에 대해 카테고리를 생성하기 위한 프로그램 등을 저장할 수 있다.
이와 같은 저장부(500)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 당업계에 알려져 있는 임의의 다른 형태로 구현될 수도 있다. 또한, 저장부(400)는 인터넷(internet)상에서 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.
이상으로 카테고리 생성 시스템을 예시된 구성도를 바탕으로 설명하였으며, 이하에서는 주어진 흐름도를 참조하여 카테고리 생성 방법을 살펴보기로 한다. 이 때, 동일하거나 대응되는 과정의 설명은 생략하는 것으로 한다.
도 2는 카테고리 생성 방법의 일 실시예에 따른 흐름도이다.
도 2를 참조하면, 먼저 카테고리 생성 시스템(1)은 트위터 데이터를 수집한다(610).
여기서, 트위터는 한글 형식의 트위터인 것으로 한다. 카테고리 생성 시스템(1)은 Java 기반 트위터 스트림 API인 Twitter4J를 이용하여 한글 형식의 트위터 데이터를 수집할 수 있다. 또한, 트위터 데이터는 사용자 아이디, 트위터 내용, 및 트위터 게시 날짜를 포함할 수 있다.
카테고리 생성 시스템(1)은 수집된 트위터 데이터에서 명사를 추출하여 제 1트위터 명사 집합을 형성한다(620).
카테고리 생성 시스템(1)은 수집된 형태소 분석기를 이용하여 트위터 데이터의 형태소를 분석함으로써 명사를 추출할 수 있다. 카테고리 생성 시스템(1)은 예를 들어, Hannanum 형태소 분석기를 이용하여 트위터 데이터에서 명사를 추출할 수 있으나, 이에 한정되는 것은 아니며 임의의 공지된 형태소 분석기를 이용할 수도 있다.
카테고리 생성 시스템(1)은 제 1트위터 명사 집합을 복수의 클러스터로 분류하는 클러스터링을 수행한다(630).
카테고리 생성 시스템(1)은 제 1트위터 명사 집합에서 의미 기반으로 복수의 클러스터를 형성할 수 있다. 카테고리 생성 시스템(1)은 제 1트위터 명사 집합에서 연관성 있는 명사들끼리 그룹화하여 복수의 클러스터를 형성할 수 있다. 카테고리 생성 시스템(1)은 예를 들어, LDA(Latent Dirichlet Allocatopn) 모델과 같은 클러스터링 알고리즘을 이용하여 복수의 클러스터를 형성할 수 있으나, 이에 한정되지 않고 임의의 다른 알고리즘을 이용할 수도 있음은 물론이다.
카테고리 생성 시스템(1)은 뉴스 데이터를 수집한다(640).
카테고리 생성 시스템(1)은 기설정된 일시의 뉴스 데이터를 수집할 수 있다. 카테고리 생성 시스템(1)은 기설정된 카테고리 각각에 대해 뉴스 데이터를 수집할 수 있다. 카테고리 생성 시스템(1)은 카테고리 각각에 대해 기설정된 일시의 뉴스 데이터를 수집할 수 있다.
예를 들어, 정치, 사회, 국제, 문화, IT, 및 경제의 6개의 카테고리가 정의되고, 기설정된 일시가 트위터 게시 날짜인 경우, 카테고리 생성 시스템(1)은 트위터가 게시된 날짜에 작성된 정치 분야의 뉴스 데이터, 사회 분야의 뉴스 데이터, 국제 분야의 뉴스 데이터, IT 분야의 뉴스 데이터, 및 경제 분야의 뉴스 데이터를 각각 수집할 수 있다.
카테고리 생성 시스템(1)은 수집된 뉴스 데이터에서 명사를 추출하여 뉴스 명사 집합을 형성한다(650).
카테고리 생성 시스템(1)은 카테고리별로 뉴스 명사 집합을 형성할 수 있다. 예를 들어, 정치, 사회, 국제, 문화, IT, 및 경제의 6개의 카테고리에 대해 뉴스 데이터가 수집된 경우, 카테고리 생성 시스템(1)은 각 카테고리의 뉴스 데이터에서 명사를 각각 추출하여, 정치 분야에 대한 뉴스 명사 집합, 사회 분야에 대한 뉴스 명사 집합, 국제 분야에 대한 뉴스 명사 집합, 문화 분야에 대한 뉴스 명사 집합, IT 분야에 대한 뉴스 명사 집합, 및 경제 분야에 대한 뉴스 명사 집합을 각각 형성할 수 있다.
카테고리 생성 시스템(1)은 형태소 분석기를 이용하여 뉴스 데이터의 형태소를 분석함으로써 명사를 추출할 수 있다. 카테고리 생성 시스템(1)은 예를 들어, Hannanum 형태소 분석기를 이용하여 뉴스 데이터에서 명사를 추출할 수 있으나, 이에 한정되는 것은 아니며, 임의의 다른 형태소 분석기를 이용하여 명사를 추출할 수도 있다.
카테고리 생성 시스템(1)은 뉴스 명사 집합을 이용하여 각각의 클러스터를 재형성하고, 각 클러스터에 대한 카테고리를 생성한다(660).
카테고리 생성 시스템(1)은 뉴스 명사 집합과 클러스터에 속한 명사들간의 일치여부를 판단하여 카테고리를 생성하고, 해당 클러스터를 재구성한다. 카테고리 생성 시스템(1)은 복수의 카테고리에 대응하여 형성된 복수의 뉴스 명사 집합 각각에 대해 클러스터에 속한 명사들과의 일치여부를 판단하고, 일치하는 명사들을 포함하는 뉴스 명사 집합의 카테고리를 해당 클러스터의 카테고리로 생성한다. 또한, 카테고리 생성 시스템(1)은 일치하는 명사들로만 구성하여 해당 클러스터를 재형성한다. 이와 같이 카테고리를 생성하고 클러스터를 재형성하는 과정 중에 클러스터의 개수는 줄어들 수도 있다.
상술한 바와 같이 클러스터가 재형성됨에 따라, 클러스터에 속한 명사들의 연관성을 높일 수 있으며, 클러스터에 대한 카테고리가 생성됨에 따라, 해당 클러스터의 토픽을 용이 파악할 수 있게 된다.
도 3는 카테고리 생성 방법의 다른 실시예에 따른 흐름도이다. 도 3의 흐름도를 설명함에 있어 도 2의 흐름도와 동일하거나 대응되는 내용은 생략하기로 한다.
도 3를 참조하면, 먼저 카테고리 생성 시스템(1)은 트위터 데이터를 수집한다(710).
카테고리 생성 시스템(1)은 수집된 트위터 데이터에서 명사를 추출하여 제 1트위터 명사 집합을 형성한다(720).
710 및 720 과정은 상술한 바 있는 610 및 620 과정에 각각 대응된다.
카테고리 생성 시스템(1)은 제 1트위터 명사 집합에서 불용어 명사를 제외시키고 나머지 명사들로 구성된 제 2트위터 명사 집합을 형성한다(730). 여기서, 불용어 명사는 의미를 가지지 않는 단어로 정의될 수 있다. 트위터에서 수집된 단어는 그 특성상 의미를 가지지 않는 불용어 명사를 많이 포함하므로, 카테고리 생성 시스템(1)은 이와 같은 불용어 명사를 제외시키는 작업을 수행할 수 있다.
카테고리 생성 시스템(1)은 불용어 명사를 제외시키기 위해, 온라인 백과사전 예를 들어, 위키피디아를 이용할 수 있다. 카테고리 생성 시스템(1)은 추출한 명사를 위키피디아에 검색하여, 검색여부에 따라 검색되지 않는 경우 불용어 명사로 취급하여 제외시킬 수 있다.
카테고리 생성 시스템(1)은 제 2트위터 명사 집합을 복수의 클러스터로 분류하는 클러스터링을 수행한다(740).
카테고리 생성 시스템(1)은 제 2트위터 명사 집합에서 의미 기반으로 복수의 클러스터를 형성할 수 있다. 카테고리 생성 시스템(1)은 제 2트위터 명사 집합에서 연관성 있는 명사들끼리 그룹화하여 복수의 클러스터를 형성할 수 있다. 카테고리 생성 시스템(1)은 예를 들어, LDA(Latent Dirichlet Allocatopn) 모델과 같은 클러스터링 알고리즘을 이용하여 복수의 클러스터를 형성할 수 있으나, 이에 한정되지 않고 임의의 다른 알고리즘을 이용할 수도 있음은 물론이다.
카테고리 생성 시스템(1)은 뉴스 데이터를 수집한다(750).
카테고리 생성 시스템(1)은 기설정된 일시의 뉴스 데이터를 수집할 수 있다. 카테고리 생성 시스템(1)은 기설정된 카테고리 각각에 대해 뉴스 데이터를 수집할 수 있다. 카테고리 생성 시스템(1)은 카테고리 각각에 대해 기설정된 일시의 뉴스 데이터를 수집할 수 있다.
카테고리 생성 시스템(1)은 수집된 뉴스 데이터에서 명사를 추출하여 뉴스 명사 집합을 형성한다(760).
카테고리 생성 시스템(1)은 카테고리별로 뉴스 명사 집합을 형성할 수 있다. 카테고리 생성 시스템(1)은 형태소 분석기를 이용하여 뉴스 데이터의 형태소를 분석함으로써 명사를 추출할 수 있다.
카테고리 생성 시스템(1)은 뉴스 명사 집합을 이용하여 각각의 클러스터를 재형성하고, 각 클러스터에 대한 카테고리를 생성한다(770).
카테고리 생성 시스템(1)은 뉴스 명사 집합과 클러스터에 속한 명사들간의 일치여부를 판단하여 카테고리를 생성하고, 해당 클러스터를 재구성한다. 이와 같이 카테고리를 생성하고 클러스터를 재형성하는 과정 중에 클러스터의 개수는 줄어들 수도 있다.
740 내지 770 과정은 상술한 바 있는 630 내지 660에 각각 대응된다.
상술한 카테고리 생성 시스템 및 방법에 의하면, 주어진 데이터에 대해 클러스터링을 수행할 뿐만 아니라 클러스터에 대해 자동으로 카테고리를 생성할 수 있다.
또한, 데이터를 복수의 클러스터로 분류한 후, 뉴스 분석을 통해 클러스터를 재분류하기 때문에 클러스터에 속한 단어들의 연관성을 높일 수 있으며, 카테고리를 생성함에 따라 클러스터나 클러스터에 속한 단어들의 연관성에 대해 사용자의 이해도를 높일 수 있게 된다.
이상과 같이 예시된 도면을 참조로 하여, 카테고리 생성 시스템 및 방법의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시 될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해해야만 한다.
1: 카테고리 생성 시스템
100 : 데이터 수집부 110 : 트위터 데이터 수집부
120 : 뉴스 데이터 수집부 200 : 전처리부
210 : 트위터 데이터 전처리부 220 : 뉴스 데이터 전처리부
300 : 클러스터링부 400 : 카테고리 생성부
500 : 저장부

Claims (10)

  1. 트위터 데이터를 수집하고, 기설정된 카테고리별로 뉴스 데이터를 수집하는 데이터 수집부;
    상기 트위터 데이터에서 명사를 추출하여 트위터 명사 집단을 형성하고, 상기 뉴스 데이터에서 명사를 추출하여 상기 카테고리별로 뉴스 명사 집단을 형성하는 전처리부;
    상기 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하는 클러스터링부; 및
    상기 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 상기 클러스터의 카테고리를 생성하는 카테고리 생성부;
    를 포함하는 카테고리 생성 시스템.
  2. 제 1 항에 있어서,
    상기 트위터 데이터는,
    한글 형식의 트위터 데이터인 카테고리 생성 시스템.
  3. 제 1 항에 있어서,
    상기 전처리부는,
    형태소 분석기를 이용하여 상기 트위터 명사 집단 및 뉴스 명사 집단을 형성하는 카테고리 생성 시스템.
  4. 제 1 항에 있어서,
    상기 클러스터링부는,
    LDA(Latent Dirichlet Allocatopn) 모델을 이용하여 상기 복수의 클러스터를 형성하는 카테고리 생성 시스템.
  5. 제 1 항에 있어서,
    상기 전처리부는,
    상기 트위터 명사 집단에서 의미를 가지지 않는 단어인 불용어 명사를 제외시켜 상기 트위터 명사 집단을 재형성하는 카테고리 생성 시스템.
  6. 제 5 항에 있어서,
    상기 클러스터링부는,
    상기 재형성된 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하는 카테고리 생성 시스템.
  7. 제 1 항에 있어서,
    상기 카테고리 생성부는,
    상기 카테고리별로 형성된 뉴스 명사 집단과 상기 클러스터에 속한 명사들간의 일치여부를 판단하여, 상기 클러스터의 카테고리를 생성하는 카테고리 생성 시스템.
  8. 제 1 항에 있어서,
    상기 카테고리 생성부는,
    상기 카테고리별로 형성된 뉴스 명사 집단 각각에 대해 상기 클러스터에 속한 명사들과의 일치여부를 판단하고, 일치하는 명사들을 포함하는 상기 뉴스 명사 집단의 카테고리를 상기 클러스터의 카테고리로 생성하는 카테고리 생성 시스템.
  9. 제 1 항에 있어서,
    상기 카테고리 생성부는,
    상기 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 상기 클러스터를 재형성하는 카테고리 생성 시스템.
  10. 트위터 데이터를 수집하고;
    상기 트위터 데이터에서 명사를 추출하여 트위터 명사 집단을 형성하고;
    상기 트위터 명사 집단을 분류하여 복수의 클러스터를 형성하고;
    기설정된 카테고리별로 뉴스 데이터를 수집하고;
    상기 뉴스 데이터에서 명사를 추출하여 상기 카테고리별로 뉴스 명사 집단을 형성하고; 및
    상기 카테고리별로 형성된 뉴스 명사 집단을 이용하여, 상기 클러스터의 카테고리를 생성하는;
    것을 포함하는 카테고리 생성 방법.
KR1020160112643A 2016-09-01 2016-09-01 카테고리 생성 시스템 및 방법 KR101741249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160112643A KR101741249B1 (ko) 2016-09-01 2016-09-01 카테고리 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160112643A KR101741249B1 (ko) 2016-09-01 2016-09-01 카테고리 생성 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101741249B1 true KR101741249B1 (ko) 2017-05-30

Family

ID=59052811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160112643A KR101741249B1 (ko) 2016-09-01 2016-09-01 카테고리 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101741249B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315738A (zh) * 2017-07-05 2017-11-03 山东大学 一种文本信息的创新度评估方法
CN107943824A (zh) * 2017-10-17 2018-04-20 广东广业开元科技有限公司 一种基于lda的大数据新闻分类方法、系统及装置
CN111091915A (zh) * 2019-12-24 2020-05-01 医渡云(北京)技术有限公司 医疗数据处理方法及装置、存储介质、电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107315738A (zh) * 2017-07-05 2017-11-03 山东大学 一种文本信息的创新度评估方法
CN107943824A (zh) * 2017-10-17 2018-04-20 广东广业开元科技有限公司 一种基于lda的大数据新闻分类方法、系统及装置
CN111091915A (zh) * 2019-12-24 2020-05-01 医渡云(北京)技术有限公司 医疗数据处理方法及装置、存储介质、电子设备
CN111091915B (zh) * 2019-12-24 2023-06-09 医渡云(北京)技术有限公司 医疗数据处理方法及装置、存储介质、电子设备

Similar Documents

Publication Publication Date Title
Bucur Using opinion mining techniques in tourism
Deveaud et al. Accurate and effective latent concept modeling for ad hoc information retrieval
Ratkiewicz et al. Detecting and tracking the spread of astroturf memes in microblog streams
Liu et al. Story forest: Extracting events and telling stories from breaking news
US10095685B2 (en) Phrase pair collecting apparatus and computer program therefor
US20080301105A1 (en) Methodologies and analytics tools for locating experts with specific sets of expertise
Himdi et al. Arabic fake news detection based on textual analysis
Na et al. Comparing sentiment expression in movie reviews from four online genres
Lloret et al. Analyzing the use of word graphs for abstractive text summarization
Dragoni Shellfbk: An information retrieval-based system for multi-domain sentiment analysis
Aisopos et al. Using n-gram graphs for sentiment analysis: an extended study on Twitter
KR101741249B1 (ko) 카테고리 생성 시스템 및 방법
Cook et al. Building and evaluating web corpora representing national varieties of English
Gong et al. Phrase-based hashtag recommendation for microblog posts.
CN109284389A (zh) 一种文本数据的信息处理方法、装置
Mazoyer et al. Real-time collection of reliable and representative tweets datasets related to news events
Ahmad et al. Opinion mining using frequent pattern growth method from unstructured text
Liu et al. Towards computation of novel ideas from corpora of scientific text
Belbachir et al. Using language models to improve opinion detection
Makrynioti et al. PaloPro: a platform for knowledge extraction from big social data and the news
Chang et al. Incorporating word embedding into cross-lingual topic modeling
Lehmberg et al. Profiling the semantics of n-ary web table data
KR102275095B1 (ko) 개인 미디어 제작을 위한 유튜브 동영상 메타데이터 취득 및 정보화 방법
Yoon et al. A conference paper exploring system based on citing motivation and topic
Khurdiya et al. Multi-perspective linking of news articles within a repository

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant