KR20210062934A - 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법 - Google Patents

단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법 Download PDF

Info

Publication number
KR20210062934A
KR20210062934A KR1020190151194A KR20190151194A KR20210062934A KR 20210062934 A KR20210062934 A KR 20210062934A KR 1020190151194 A KR1020190151194 A KR 1020190151194A KR 20190151194 A KR20190151194 A KR 20190151194A KR 20210062934 A KR20210062934 A KR 20210062934A
Authority
KR
South Korea
Prior art keywords
module
text
text document
word
cluster
Prior art date
Application number
KR1020190151194A
Other languages
English (en)
Other versions
KR102376489B1 (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 KR1020190151194A priority Critical patent/KR102376489B1/ko
Publication of KR20210062934A publication Critical patent/KR20210062934A/ko
Application granted granted Critical
Publication of KR102376489B1 publication Critical patent/KR102376489B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Abstract

본 발명은 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법에 관한 것으로, 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 제1 모듈과, 제1 모듈로부터 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 제2 모듈과, 제2 모듈로부터 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 제3 모듈과, 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 제4 모듈을 포함함으로써, 군집의 품질을 향상할 수 있고, 문서가 가지는 정보를 더 빠르게 얻을 수 있을 뿐만 아니라 이를 통해 더 가치 있는 의사 결정에 이바지할 수 있으며, 이를 응용하여 대용량 데이터의 군집을 통한 군집 별 통계, 시계열 분석 등에 활용할 수 있는 효과가 있다.

Description

단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법{TEXT DOCUMENT CLUSTER AND TOPIC GENERATION APPARATUS AND METHOD THEREOF}
본 발명은 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법에 관한 것으로, 더 상세하게는 비정형 텍스트 문서의 구문 관계를 분석하고 키워드를 추출하여 단어의 랭킹 기반으로 텍스트 문서를 군집하고, 군집 텍스트 문서의 대표 주제를 생성하는 장치 및 그 방법에 관한 것이다.
오늘날 디지털 데이터의 대부분은 텍스트, 이미지, 음성 등과 같은 비정형 데이터로 구성되어 있다. 구조화되어 있지 않은 데이터로부터 의미 있는 분석을 하고 가치를 도출하는 요구는 갈수록 늘어나고 있다.
텍스트 자연어처리 분야에서는 비지도 학습을 통해 문서 집합에서의 확률 모델을 생성함으로써 언어에 대한 자질 추출을 자동으로 수행한다는 점에서 주목 받고 있다. 특히, 최근에는 단어 및 구의 표현을 넘어 문장 및 문서에서의 문맥 정보를 반영하기 위한 방법도 제안되었다.
더 나아가, 자연어처리를 통해 문서 검색, 요약, 연관 정보 분석과 군집 등의 다양한 분야에서 활용되고 있다. 마켓앤마켓 시장조사에 따르면 전 세계 텍스트 분석 시장은 연평균 약 17.2%를 지속해 2022년 87억 9,000만 달러 규모에 이를 지경이라고 발표하였다. 이러한 비정형 텍스트 데이터를 분석하기 위해 SAS, MS 등의 대기업이 텍스트 분석 시장이 뛰어들고 있다.
한편, 기존의 군집 기법에서는 텍스트 단어를 처리하기 위해 수치 데이터로 변환하고 군집의 수를 지정해야 하는 이슈들이 있었으나, 텍스트의 키워드 가중치 정보를 활용함으로써 수치 변환 및 군집의 수를 지정하지 않고 문서를 군집하고 각 군집 된 문서의 대표 주제를 키워드 기반으로 생성하는 방법을 고안하였다.
오늘날 비정형 데이터에 대한 수가 방대해짐에 따라 기업뿐만 아니라 사회 전반적으로 효율적인 업무 관리를 위한 다양한 형태의 분석 요구가 증가하고 있다.
국내 등록특허 제10-1505546호(2015.03.26. 공고)
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 텍스트 문서 내에서 키워드를 추출하여 비지도 학습으로 문서를 군집하고 군집된 문서를 대표하는 주제를 자동으로 생성하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법을 제공하는 데 있다.
본 발명의 다른 목적은 대량의 비정형 데이터의 문서 군집에 있어 문서의 중요한 의미가 있는 키워드의 랭킹을 계산하여 문서를 군집하고 키워드 기반으로 대표 주제를 생성함으로써, 군집의 품질을 향상할 수 있도록 한 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법을 제공하는 데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 제1 모듈; 상기 제1 모듈로부터 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 제2 모듈; 상기 제2 모듈로부터 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 제3 모듈; 및 상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 제4 모듈을 포함하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치를 제공하는 것이다.
여기서, 상기 제1 모듈은, CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보에 따라 구분 지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출함이 바람직하다.
바람직하게, 상기 제1 모듈에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산될 수 있다.
(식 1)
Figure pat00001
여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다.
바람직하게, 상기 제2 모듈은, 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여할 수 있다.
바람직하게, 상기 제3 모듈은, 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 차례대로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집할 수 있다.
바람직하게, 상기 제3 모듈은, 하기의 식 2에 의해 상기 문서 유사도를 계산할 수 있다.
(식 2)
Figure pat00002
여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 상기 제3 모듈을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함하며, 만약에 Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다.
바람직하게, 상기 제4 모듈은, 상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하고, 상기 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하며, 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성할 수 있다.
바람직하게, 상기 제4 모듈은, 의존 구문 분석을 활용하여 상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정할 수 있다.
바람직하게, 상기 제4 모듈은, 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성할 수 있다.
본 발명의 제2 측면은, 제1 내지 제4 모듈을 포함한 장치를 이용하여 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법으로서, (a) 상기 제1 모듈을 통해 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 단계; (b) 상기 제2 모듈을 통해 상기 단계(a)에서 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 단계; (c) 상기 제3 모듈을 통해 상기 단계(b)에서 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 단계; 및 (d) 상기 제4 모듈을 통해 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 단계를 포함하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법을 제공하는 것이다.
여기서, 상기 단계(a)는, 상기 제1 모듈을 통해 CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보에 따라 구분지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출함이 바람직하다.
바람직하게, 상기 제1 모듈에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산될 수 있다.
(식 1)
Figure pat00003
여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다.
바람직하게, 상기 단계(b)는, 상기 제2 모듈을 통해 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여할 수 있다.
바람직하게, 상기 단계(c)는, 상기 제3 모듈을 통해 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 차례대로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집할 수 있다.
바람직하게, 상기 단계(c)에서, 상기 문서 유사도는 하기의 식 2에 의해 계산할 수 있다.
(식 2)
Figure pat00004
여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 상기 제3 모듈을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함하며, 만약에 Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다.
바람직하게, 상기 단계(d)는, (d-1) 상기 제4 모듈을 통해 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하는 단계; (d-2) 상기 제4 모듈을 통해 상기 단계(d-1)에서 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하는 단계; 및 (d-3) 상기 제4 모듈을 통해 상기 단계(d-2)에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성하는 단계를 포함하여 이루어질 수 있다.
바람직하게, 상기 단계(d-1)는, 상기 제4 모듈을 통해 의존 구문 분석을 활용하여 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정할 수 있다.
바람직하게, 상기 단계(d-3)는, 상기 제4 모듈을 통해 상기 단계(d-2)에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성할 수 있다.
본 발명의 제3 측면은, 상술한 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법은 컴퓨터로 판독할 수 있는 기록 매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록 매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
이상에서 설명한 바와 같은 본 발명의 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법에 따르면, 대량의 비정형 데이터의 문서 군집에 있어 문서의 중요한 의미가 있는 키워드의 랭킹을 계산하여 문서를 군집하고 키워드 기반으로 대표 주제를 생성함으로써, 군집의 품질을 향상할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 각 기업에 축적된 비정형 텍스트 데이터를 비슷한 의미가 있는 문서로 군집하고 대표 주제를 요약함으로써 문서가 가지는 정보를 더 빠르게 얻을 수 있고, 이를 통해 더 가치 있는 의사 결정에 기여할 수 있으며, 이를 응용하여 대용량 데이터의 군집을 통한 군집 별 통계, 시계열 분석 등에 활용할 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 적용된 제1 모듈에서 활용한 CYK 알고리즘의 Pseudo code를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 적용된 제2 모듈에 의해 키워드의 가중치 정규화 및 키워드의 랭킹 계산을 설명하기 위한 알고리즘을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 적용된 제3 모듈에 의해 키워드 랭킹 기반의 텍스트 문서를 군집하는 방식을 개념적으로 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 적용된 제4 모듈에 의해 문장 후보의 생성부터 대표 주제의 생성까지의 과정을 개략적으로 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법을 설명하기 위한 전체적인 흐름도이다.
도 7은 본 발명의 일 실시예에 적용된 제4 모듈에 의해 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 단계를 구체적으로 설명하기 위한 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 쉽게 실시할 수 있을 것이다. 본 발명을 설명하면서 본 발명과 관련된 공지 기술에 대한 자세한 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션(실행 엔진)들에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치를 설명하기 위한 전체적인 블록 구성도이고, 도 2는 본 발명의 일 실시예에 적용된 제1 모듈에서 활용한 CYK 알고리즘의 Pseudo code를 나타낸 도면이며, 도 3은 본 발명의 일 실시예에 적용된 제2 모듈에 의해 키워드의 가중치 정규화 및 키워드의 랭킹 계산을 설명하기 위한 알고리즘을 나타낸 도면이며, 도 4는 본 발명의 일 실시예에 적용된 제3 모듈에 의해 키워드 랭킹 기반의 텍스트 문서를 군집하는 방식을 개념적으로 나타낸 도면이며, 도 5는 본 발명의 일 실시예에 적용된 제4 모듈에 의해 문장 후보의 생성부터 대표 주제의 생성까지의 과정을 개략적으로 설명하기 위한 도면이다.
도 1 내지 도 5를 참조하면, 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치는, 크게 제1 모듈(100), 제2 모듈(200), 제3 모듈(300), 및 제4 모듈(400) 등을 포함하여 이루어진다. 한편, 도 1 내지 도 5에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치는 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
제1 모듈(100)은 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 기능을 수행한다.
즉, 제1 모듈(100)은 예컨대, CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보에 따라 구분 지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출하는 기능을 수행한다.
그리고, 제1 모듈(100)에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산될 수 있다.
(식 1)
Figure pat00005
여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다.
제2 모듈(200)은 제1 모듈(100)로부터 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 기능을 수행한다.
즉, 제2 모듈(200)은 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수(예컨대, 100점)로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여하는 기능을 수행한다.
제3 모듈(300)은 제2 모듈(200)로부터 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 기능을 수행한다.
즉, 제3 모듈(300)은 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 차례대로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집하는 기능을 수행한다.
또한, 제3 모듈(300)은 하기의 식 2에 의해 상기 문서 유사도를 계산할 수 있다.
(식 2)
Figure pat00006
여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 상기 제3 모듈을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함하며, 만약에 Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다.
제4 모듈(400)은 제3 모듈(300)로부터 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 기능을 수행한다.
즉, 제4 모듈(400)은 제3 모듈(300)로부터 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하고, 상기 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하며, 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성하는 기능을 수행한다.
또한, 제4 모듈(400)은 의존 구문 분석을 활용하여 제3 모듈(300)로부터 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정하는 기능을 수행할 수 있다.
또한, 제4 모듈(400)은 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성하는 기능을 수행할 수 있다.
이하에는 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법에 대해 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법을 설명하기 위한 전체적인 흐름도이고, 도 7은 본 발명의 일 실시예에 적용된 제4 모듈에 의해 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 단계를 구체적으로 설명하기 위한 흐름도이다.
도 1 내지 도 7을 참조하면, 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법은, 먼저, 제1 모듈(100)을 통해 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출한다(S100).
일 예로, 상기 단계S100은 제1 모듈(100)을 통해 CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보(예컨대, 체언, 용언, 부사구, 관형사구 및 그 외 감탄사, 부호 등)에 따라 구분 지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출할 수 있다.
또한, 제1 모듈(100)에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산될 수 있다.
(식 1)
Figure pat00007
여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다. 단어의 빈도인 TF(Term Frequency) 및 전체 텍스트 문서 중에서 특정 단어를 포함하는 텍스트 문서의 빈도인 DF(Document Frequency)를 계산할 때 로그(log)를 취한 이유는 텍스트 문서 수가 많아질수록 DF의 역수의 값이 전체 가중치에 영향을 크게 주는 것을 상쇄하기 위함이다.
즉, 키워드 추출은 문서에서 중요한 의미가 있는 단어를 추출하는 기법으로, 전통적으로 TF-IDF(Term Frequency - Inverse Document Frequency)와 같은 방법이 이용됐다. 상기 종래의 TF-IDF 방법은 단어의 출현 빈도를 기반으로 키워드를 추출하는 방법으로 키워드의 빈도가 높으면 중요한 의미가 있다는 것을 가정하고 있다.
하지만, 같은 단어라도 단어의 품사 정보에 따라 문장에서 가질 수 있는 의미의 역할이 다르기 때문에(예컨대, 부사는 동사를 수식하기 때문에 실제로는 동사가 부사보다 더 중요한 의미를 가지고 있음), 단순한 빈도수로는 문서에서 중요한 의미가 있는 키워드를 계산하기에는 부족함이 있다.
이러한 이유 때문에 본 발명의 일 실시예에서는 CYK 알고리즘을 사용하여 단어를 형태소 단위로 분해하고, 체언, 용언, 부사구, 관형사구 및 그 외 감탄사, 부호 등으로 구분 지어 관계를 파싱한다(도 2 참조).
이러한 CYK 알고리즘을 활용하여 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 빈도수를 계산하면, 기존의 빈도수 기반의 키워드보다 좀 더 의미 있는 키워드 추출이 가능해진다. 키워드를 추출하기 위한 수식은 상기의 식 1과 같다.
이후에, 제2 모듈(200)을 통해 상기 단계S100에서 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산한다(S200).
일 예로, 상기 단계S200은 제2 모듈(200)을 통해 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수(예컨대, 100점)로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여할 수 있다.
즉, 상기의 식 1에 의해 키워드의 가중치를 계산하고 나면 '0'이상의 양수 값이 나온다(바람직하게, TF, DF, CYK 계산 시 log(0)이 계산되는 것을 막기 위해 보정 값 1을 더함).
하지만, 각 텍스트 문서의 키워드가 다른 텍스트 문서의 키워드와 같은 중요도를 가졌는지 비교하기 위해서 수치를 그대로 비교할 수는 없다. 왜냐하면, 전반적으로 단어의 빈도수가 높은 텍스트 문서의 경우 가중치가 상향 평준화가 되어 있고, 상대적으로 단어 빈도수가 낮은 텍스트 문서의 경우 가중치가 하향 평준화가 되어 있기 때문이다.
이러한 이유로 문서 간 키워드 가중치의 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 단어를 100점으로 치환하고 나머지 단어들을 100점 기준에 맞추어 정규화한다. 이렇게 정규화하게 되면 각 문서의 키워드가 최대 100점을 기준으로 랭킹을 부여할 수 있다(도 3 참조).
그런 다음, 제3 모듈(300)을 통해 상기 단계S200에서 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집한다(S300).
일 예로, 상기 단계S300은 제3 모듈(300)을 통해 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 차례대로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집할 수 있다. 이러한 방법으로 모든 텍스트 문서를 모든 군집과 비교하여 군집을 생성할 수 있다.
이때, 상기 단계S300에서, 상기 문서 유사도는 하기의 식 2에 의해 계산할 수 있다.
(식 2)
Figure pat00008
여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, CD를 이루기 위해 O(C*D)의 계산 복잡도를 가진다. 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 제3 모듈(300)을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함한다. 만약에, Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다(도 4 참조).
또한, 본 발명의 일 실시예에서는 k-means 알고리즘(algorithm)과 같이 군집할 문서의 개수를 미리 지정하지 않기 때문에 군집의 개수를 조정할 수 없다. 본 발명에서는 1-Best 키워드의 가중치 일치(1-best 키워드는 항상 100점을 가짐)를 기준으로 군집할 수 있다. 군집의 유사도를 조율하기 위해서는 n-best의 개수를 조정하여 분석하면 된다.
다음으로, 제4 모듈(400)을 통해 상기 단계S300에서 군집된 각 유사 텍스트 문서에서 대표 주제를 생성한다(S400).
일 예로, 상기 단계S400은, 제4 모듈(400)을 통해 상기 단계S300에서 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하는 단계(S410)와, 제4 모듈(400)을 통해 상기 단계S410에서 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하는 단계(S420)와, 제4 모듈(400)을 통해 상기 단계S420에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성하는 단계(S430)를 포함하여 이루어질 수 있다.
여기서, 상기 단계S410은 제4 모듈(400)을 통해 의존 구문 분석을 활용하여 상기 단계S300에서 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정함이 바람직하다.
그리고, 상기 단계S430은 제4 모듈(400)을 통해 상기 단계S420에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성할 수 있다.
한편, 비정형 텍스트 데이터의 군집은 분류와는 다르게 비지도 학습으로 이루어지기 때문에 군집이 잘 되었는지 평가할 기준이 없을 뿐 아니라 군집된 텍스트 문서가 어떠한 의미가 있는지 확인하기 위해서는 각 군집의 텍스트 문서 내용을 다시 살펴봐야 하는 문제가 있다.
본 발명의 일 실시예에서는 이러한 불편함을 해소하고자 텍스트 문서를 군집하는 것에서 끝나지 않고 각 군집 텍스트 문서에서 주제가 되는 부분을 생성한다. 수많은 문장으로 이루어진 텍스트 문서에서 중요 문장을 추출하는 방법으로는 대표적으로 TextRank 알고리즘이 있다.
상기 TextRank 알고리즘은 Pagerank 기반의 알고리즘으로 구글(Google)의 검색 엔진의 랭킹 알고리즘을 기반으로 만들어졌다. 상기 Pagerank 알고리즘은 중요한 웹 페이지를 찾기 위해서 유입된 링크에 점수를 부여하여 계산한다.
상기 TextRank 알고리즘에서는 하나의 문장을 하나의 페이지로 놓고 문장을 구성하는 단어가 다른 문장에 링크가 많이 되어 있으면 해당 문장이 중요한 문장으로 계산하는 방법이다. 이러한 TextRank 알고리즘의 기본 수식은 하기의 식 3과 같이 구성된다.
(식 3)
Figure pat00009
여기서, TR(Vi)는 문장 또는 단어(Vi)에 대한 TextRank 값이고, Wji는 문장 또는 단어 i와 j 사이의 가중치이며, d(damplingfactor)는 PageRank에서 웹 서핑을 하는 사람이 해당 페이지를 만족하지 못하고 다른 페이지로 이동하는 확률로서, 기본값은 PageRank와 마찬가지로 0.85로 설정하여 사용한다.
그러나, PageRank를 TextRank로 옮겨왔을 때, TR(Vi)를 계산하는 과정에서 문장을 구성하는 단어의 수가 적더라도 단어가 다른 문장들과 링크(link)가 많이 되어 있으면 링크 값이 올라가게 되어 중요한 문장이 될 가능성이 크게 된다.
이러한 문장을 대표 주제로 선정하게 되면 대표 주제가 한두 단어로 이루어져 의미가 포괄적으로 되어 주제를 제대로 파악하기 어려워지는 문제점이 있다. 이러한 문제를 해결하고자 본 발명의 일 실시예에서는 의존 구문을 분석을 활용하여 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조를 이루고 있을 때 후보 문장을 선정한다.
그리고, TextRank 단계에서는 선정된 후보 문장만을 가지고 분석을 하여 대표 문장을 추출하고, 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출하고 어순을 유지하면서 주제어구를 생성한다. 문장 후보 생성부터 대표 주제 생성까지의 절차는 도 5와 같이 이루어질 수 있다.
또한, 후보 문장을 선정하여 대표 주제를 생성하는 수식은 하기의 식 4와 같다.
(식 4)
Figure pat00010
여기서, TR(Si)는 문장(Si)에 대한 TextRank 값이고, Wji는 문장(Si)에 속한 단어 i와 j 사이의 가중치(시뮬레이션을 통해 최적의 값으로 결정할 수 있음)이며,
Figure pat00011
는 의존 구문 분석의 결과로 SVO(ts, tv, to)구조를 가지는 문장의 집합(S)이며, d(damplingfactor)는 PageRank에서 웹 서핑을 하는 사람이 해당 페이지를 만족하지 못하고 다른 페이지로 이동하는 확률로서, 기본값은 PageRank와 마찬가지로 0.85로 설정하여 사용한다.
한편, 본 발명의 일 실시예에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록 매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : 제1 모듈,
200 : 제2 모듈,
300 : 제3 모듈,
400 : 제4 모듈

Claims (19)

  1. 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 제1 모듈;
    상기 제1 모듈로부터 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 제2 모듈;
    상기 제2 모듈로부터 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 제3 모듈; 및
    상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 제4 모듈을 포함하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  2. 제1 항에 있어서,
    상기 제1 모듈은, CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보에 따라 구분 지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  3. 제2 항에 있어서,
    상기 제1 모듈에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산되는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
    (식 1)
    Figure pat00012

    여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다.
  4. 제1 항에 있어서,
    상기 제2 모듈은, 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  5. 제1 항에 있어서,
    상기 제3 모듈은, 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 차례대로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  6. 제5 항에 있어서,
    상기 제3 모듈은, 하기의 식 2에 의해 상기 문서 유사도를 계산하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
    (식 2)
    Figure pat00013

    여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 상기 제3 모듈을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함하며, 만약에 Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다.
  7. 제1 항에 있어서,
    상기 제4 모듈은, 상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하고, 상기 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하며, 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  8. 제7 항에 있어서,
    상기 제4 모듈은, 의존 구문 분석을 활용하여 상기 제3 모듈로부터 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  9. 제7 항에 있어서,
    상기 제4 모듈은, 상기 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치.
  10. 제1 내지 제4 모듈을 포함한 장치를 이용하여 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법으로서,
    (a) 상기 제1 모듈을 통해 외부로부터 수집된 다수의 텍스트 문서들 내의 비정형 텍스트에서 단어 간 관계 정보를 활용하여 각 텍스트 문서별로 가중치가 계산된 키워드를 추출하는 단계;
    (b) 상기 제2 모듈을 통해 상기 단계(a)에서 추출된 각 텍스트 문서별 키워드의 가중치를 정규화하고 키워드의 랭킹을 계산하는 단계;
    (c) 상기 제3 모듈을 통해 상기 단계(b)에서 계산된 각 텍스트 문서별 키워드의 랭킹을 기반으로 유사 텍스트 문서들을 군집하는 단계; 및
    (d) 상기 제4 모듈을 통해 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 대표 주제를 생성하는 단계를 포함하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  11. 제10 항에 있어서,
    상기 단계(a)는, 상기 제1 모듈을 통해 CYK(Cocke-Younger-Kasami) 알고리즘을 활용하여 각 텍스트 문서 내의 비정형 텍스트에서 단어를 형태소 단위로 분해하고, 단어의 품사 정보에 따라 구분 지어 관계를 파싱한 후, 각 텍스트 문서의 문장 내 단어의 관계를 형성하고 많이 참조된 단어를 중심으로 가중치를 계산하여 키워드를 추출하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  12. 제11 항에 있어서,
    상기 제1 모듈에 의해 추출된 키워드의 가중치(Keyword(t, d, D))는 하기의 식 1에 의해 계산되는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
    (식 1)
    Figure pat00014

    여기서, t는 형태소 단위의 단어이고, d는 전체 텍스트 문서에 속한 특정 텍스트 문서이며, D는 전체 텍스트 문서 집합이며, tcnt는 CYK에서 각 단어의 참조된 횟수를 의미한다.
  13. 제10 항에 있어서,
    상기 단계(b)는, 상기 제2 모듈을 통해 각 텍스트 문서 간 키워드의 가중치 격차를 줄이기 위해서 가장 높은 가중치를 가지고 있는 키워드를 기 설정된 기준 점수로 치환하고, 나머지 키워드들을 상기 기 설정된 기준 점수에 맞추어 정규화하며, 상기 기 설정된 기준 점수를 최대 점수로 하여 각 텍스트 문서별 키워드의 랭킹을 부여하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  14. 제10 항에 있어서,
    상기 단계(c)는, 상기 제3 모듈을 통해 상기 텍스트 문서들 중 어느 하나의 텍스트 문서를 피봇(pivot)으로 설정하여 첫 번째 군집을 형성하고, 그 외의 나머지 텍스트 문서들은 순차적으로 군집 간 문서 유사도를 비교하여 같은 군집에 속할지 다른 군집에 속할지 결정하여 모든 텍스트 문서에 대해 유사 텍스트 문서를 군집하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  15. 제14 항에 있어서,
    상기 단계(c)에서, 상기 문서 유사도는 하기의 식 2에 의해 계산하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
    (식 2)
    Figure pat00015

    여기서, 모든 텍스트 문서를 D, 모든 군집을 C라고 할 경우, 최대 군집의 개수는 CD가 되며, 기존의 군집(Ci)은 군집을 이루기 위한 상위 N-best개의 키워드(ki) 및 키워드의 가중치를 가지고 있고, 상기 제3 모듈을 통해 새로운 텍스트 문서(Dki)와 비교하여 일치하면 기존의 군집(Ci)에 포함하며, 만약에 Ci... Cn과 비교하여 군집과 일치하지 않다면 새로운 군집(Cnew)을 생성한다.
  16. 제10 항에 있어서,
    상기 단계(d)는,
    (d-1) 상기 제4 모듈을 통해 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 의존 구문 기반의 후보 문장을 선정하는 단계;
    (d-2) 상기 제4 모듈을 통해 상기 단계(d-1)에서 선정된 후보 문장을 가지고 TextRank 알고리즘 기반의 문장 가중치를 계산 및 분석하여 가중치 기반의 대표 문장을 추출하는 단계; 및
    (d-3) 상기 제4 모듈을 통해 상기 단계(d-2)에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거한 후 대표 주제를 생성하는 단계를 포함하여 이루어진 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  17. 제16 항에 있어서,
    상기 단계(d-1)는, 상기 제4 모듈을 통해 의존 구문 분석을 활용하여 상기 단계(c)에서 군집된 각 유사 텍스트 문서에서 문장이 주어, 동사, 목적어 구조의 하나의 절 또는 구 구조로 이루고 있을 때 후보 문장으로 선정하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  18. 제16 항에 있어서,
    상기 단계(d-3)는, 상기 제4 모듈을 통해 상기 단계(d-2)에서 추출된 가중치 기반의 대표 문장에서 불필요한 수식어구를 제거하기 위해서 형태소 분석을 통해 명사를 추출한 후, 어순을 유지하면서 대표 주제를 생성하는 것을 특징으로 하는 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 방법.
  19. 제10 항 내지 제18 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020190151194A 2019-11-22 2019-11-22 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법 KR102376489B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190151194A KR102376489B1 (ko) 2019-11-22 2019-11-22 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190151194A KR102376489B1 (ko) 2019-11-22 2019-11-22 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20210062934A true KR20210062934A (ko) 2021-06-01
KR102376489B1 KR102376489B1 (ko) 2022-03-18

Family

ID=76376256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190151194A KR102376489B1 (ko) 2019-11-22 2019-11-22 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102376489B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022239985A1 (ko) 2021-05-14 2022-11-17 주식회사 도루코 면도기 카트리지 및 이를 포함하는 면도기 조립체
KR102572106B1 (ko) * 2023-05-15 2023-08-29 (주) 애드캐리 마케팅 방법에 활용되는 문서 자동 변환 시스템
CN116934378A (zh) * 2023-03-02 2023-10-24 成都理工大学 城乡融合试验区生态产品供给能力测算方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101035037B1 (ko) * 2010-09-01 2011-05-19 한국과학기술정보연구원 동적 임계값이 적용된 유사문서 분류화 장치 및 방법
KR101505546B1 (ko) 2014-04-11 2015-03-26 고려대학교 산학협력단 텍스트 마이닝을 이용한 키워드 도출 방법
KR101624909B1 (ko) * 2014-12-10 2016-05-27 주식회사 와이즈넛 정규화된 키워드 가중치에 기반한 연관 키워드 추출 방법
KR101847847B1 (ko) * 2016-11-15 2018-04-12 주식회사 와이즈넛 딥러닝을 이용한 비정형 텍스트 데이터의 문서 군집화 방법
KR102011667B1 (ko) * 2016-11-29 2019-08-20 (주)아크릴 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101035037B1 (ko) * 2010-09-01 2011-05-19 한국과학기술정보연구원 동적 임계값이 적용된 유사문서 분류화 장치 및 방법
KR101505546B1 (ko) 2014-04-11 2015-03-26 고려대학교 산학협력단 텍스트 마이닝을 이용한 키워드 도출 방법
KR101624909B1 (ko) * 2014-12-10 2016-05-27 주식회사 와이즈넛 정규화된 키워드 가중치에 기반한 연관 키워드 추출 방법
KR101847847B1 (ko) * 2016-11-15 2018-04-12 주식회사 와이즈넛 딥러닝을 이용한 비정형 텍스트 데이터의 문서 군집화 방법
KR102011667B1 (ko) * 2016-11-29 2019-08-20 (주)아크릴 딥러닝-기반 키워드에 연관된 단어를 도출하는 방법과 컴퓨터프로그램

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022239985A1 (ko) 2021-05-14 2022-11-17 주식회사 도루코 면도기 카트리지 및 이를 포함하는 면도기 조립체
CN116934378A (zh) * 2023-03-02 2023-10-24 成都理工大学 城乡融合试验区生态产品供给能力测算方法及系统
KR102572106B1 (ko) * 2023-05-15 2023-08-29 (주) 애드캐리 마케팅 방법에 활용되는 문서 자동 변환 시스템

Also Published As

Publication number Publication date
KR102376489B1 (ko) 2022-03-18

Similar Documents

Publication Publication Date Title
CN113011533B (zh) 文本分类方法、装置、计算机设备和存储介质
CN108304468B (zh) 一种文本分类方法以及文本分类装置
US20180300315A1 (en) Systems and methods for document processing using machine learning
US20150199333A1 (en) Automatic extraction of named entities from texts
CN109492109B (zh) 一种信息热点挖掘方法及装置
KR102376489B1 (ko) 단어 랭킹 기반의 텍스트 문서 군집 및 주제 생성 장치 및 그 방법
JP2022191422A (ja) マルチメディア会話からの意図発見のためのシステムおよび方法
US8731930B2 (en) Contextual voice query dilation to improve spoken web searching
CN111444330A (zh) 提取短文本关键词的方法、装置、设备及存储介质
WO2018056423A1 (ja) シナリオパッセージ分類器、シナリオ分類器、及びそのためのコンピュータプログラム
Plank Domain adaptation for parsing
KR20200109417A (ko) 키워드 자동 추출 방법 및 장치
CN113961685A (zh) 信息抽取方法及装置
WO2009017464A1 (en) Relation extraction system
JP2014120053A (ja) 質問応答装置、方法、及びプログラム
US7752033B2 (en) Text generation method and text generation device
Yeasmin et al. Study of abstractive text summarization techniques
US20220238103A1 (en) Domain-aware vector encoding (dave) system for a natural language understanding (nlu) framework
CN115526171A (zh) 一种意图识别方法、装置、设备及计算机可读存储介质
US20220229994A1 (en) Operational modeling and optimization system for a natural language understanding (nlu) framework
Song et al. Multi-words terminology recognition using web search
CN111310467B (zh) 一种在长文本中结合语义推断的主题提取方法及系统
JP2007079730A (ja) 単語類似判断装置、方法及びプログラム
Oliveira et al. A concept-based ilp approach for multi-document summarization exploring centrality and position
JP2009295052A (ja) 複合語の区切り位置を推定する複合語区切り推定装置、方法、およびプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant