KR101671740B1 - 토픽 추출 장치 및 방법 - Google Patents

토픽 추출 장치 및 방법 Download PDF

Info

Publication number
KR101671740B1
KR101671740B1 KR1020150104390A KR20150104390A KR101671740B1 KR 101671740 B1 KR101671740 B1 KR 101671740B1 KR 1020150104390 A KR1020150104390 A KR 1020150104390A KR 20150104390 A KR20150104390 A KR 20150104390A KR 101671740 B1 KR101671740 B1 KR 101671740B1
Authority
KR
South Korea
Prior art keywords
topic
word
vertex
pmi value
words
Prior art date
Application number
KR1020150104390A
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 US15/302,433 priority Critical patent/US20170192959A1/en
Priority to PCT/KR2015/012704 priority patent/WO2017007084A1/ko
Application granted granted Critical
Publication of KR101671740B1 publication Critical patent/KR101671740B1/ko

Links

Images

Classifications

    • G06F17/2745
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • G06F17/2735
    • G06F17/277
    • G06F17/30864
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

토픽 추출 장치 및 방법이 개시된다.
토픽 추출 장치는 LDA(Latent Dirichlet Allocation)를 이용하여 문서로부터 최초 토픽을 추출하고, 추출한 최초 토픽에 포함된 단어 간의 유사도 비교를 통해 토픽이 중복되어 추출되거나 토픽이 혼재되는 것을 보정하여 문서의 최종적인 토픽을 추출한다.

Description

토픽 추출 장치 및 방법{APPARATUS AND METHOD FOR EXTRACTING TOPICS}
본 발명은 토픽 추출 장치 및 방법에 관한 것으로서, 보다 상세하게는 문서 집합으로부터 각 문서에 대한 토픽을 추출하는 토픽 추출 장치 및 방법에 관한 것이다.
토픽 모델(Topic Model)은 문서 집합으로부터 토픽을 추출하는 모델이며 자연어 처리 등에 사용되고 있다. LSA 등 벡터 기반의 모델은 단어 벡터를 이용해 문서를 다차원으로 표현하는 것에 비해, 토픽 모델은 단어의 분포가 특정 토픽에 따라 다르다는 것을 기반으로 문서에 포함된 토픽을 확률 분포로 표현한다. 토픽 모델을 사용하게 되면 문서를 저차원으로 표현할 수 있고 또한 잠재적인 토픽을 추출할 수 있다.
자연어 처리에서 대표적인 토픽 모델인 잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)은 토픽을 문서에 할당하는 확률 모형이다. 주어진 문서로부터 주제별 단어의 분포를 추정하고, 주어진 문서에서 발견된 단어의 분포를 분석하는 것으로 해당 문서가 어떤 주제들을 다루고 있는지를 관측할 수 있다.
잠재 디리클레 할당은 간결하고 실용적인 토픽모델로 여러 연구나 제품에 많이 응용되고 있다. 중국의 IT회사 텐센트(Tencent)에서는 잠재 디리클레 할당을 이용한 대규모 잠재 토픽 추출 프로젝트 Peacock을 상용화하였다. Peacock에서는 10억×1억 크기의 행렬을 분해하여 계산하는 병렬계산방법을 통하여 10만100만개의 토픽을 학습하였다. 학습된 토픽은 텍스트 단어 의미 추출, 추천 시스템, 사용자의 취향 파악, 광고 추천 등의 영역에 사용된다.
토픽추출에 있어서 LDA외에 다른 단어 군집화 방법을 이용한 토픽 추출방법도 있다. 또한, 토픽추출에 있어서 지역별 뉴스를 이용하여 지역별 토픽을 단어 군집화 방법을 통해 추출하는 방법도 있다.
그러나, 단어 군집화 방법을 사용하면 토픽 중복 문제와 토픽 혼재 문제가 발생할 수 있다. 토픽 중복은 특정 토픽이 여러 개의 토픽으로 추출되는 문제이며, 토픽 혼재는 추출된 하나의 토픽 내에 여러 토픽이 혼재되어 있는 문제이다.
따라서, 토픽 중복 문제 및 토픽 훈제 문제를 해결할 수 있는 토픽 추출 방식이 필요한 상황이다.
본 발명의 일측면은 LDA(Latent Dirichlet Allocation)를 이용하여 문서로부터 최초 토픽을 추출하고, 추출한 최초 토픽에 포함된 단어 간의 유사도 비교를 통해 토픽이 중복되어 추출되거나 토픽이 혼재되는 것을 보정하여 문서의 최종적인 토픽을 추출하는 토픽 추출 장치 및 방법을 제공한다.
본 발명의 일측면에 따른 토픽 추출 방법은 문서 데이터를 수집하여 명사를 추출하고, LDA(Latent Dirichlet Allocation) 기법을 이용하여 상기 추출한 명사 중 LDA 토픽을 추출하고, 상기 LDA 토픽 내 토픽후보단어 간의 유사도를 산출하고, 상기 토픽후보단어 간의 유사도에 따라 상기 LDA 토픽을 분리하고, 상기 분리된 각 LDA 토픽을 상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하여 최종 토픽을 추출한다.
상기 토픽후보단어 간의 유사도를 산출하는 것은, 상기 토픽후보단어 간의 PMI(Pointwise Mutual Information) 값을 산출할 수 있다.
상기 토픽후보단어 간의 PMI 값을 산출하는 것은, 상기 토픽후보단어 중 임의의 두 단어가 한 문장 내에 동시에 출현될 확률 대비 각각 출현될 확률의 비율로 산출할 수 있다.
상기 LDA 토픽을 분리하는 것은, 상기 토픽후보단어 및 상기 토픽후보단어 간의 PMI 값을 나타내는 Matrix를 생성하고, 상기 Matrix 내에서 상기 토픽후보단어의 출현빈도에 따라 초기 기준단어를 설정하여 상기 설정한 각각의 초기 기준단어에 대한 TC(Topic Clique)를 생성하여 상기 LDA 토픽을 분리할 수 있다.
상기 초기 기준단어에 대한 TC(Topic Clique)를 생성하는 것은, 상기 초기 기준단어와 상기 Matrix에 포함된 토픽후보단어 중 상기 초기 기준단어를 뺀 나머지 토픽후보단어 간의 PMI 값을 확인하여 상기 Matrix에서 상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어를 삭제하고, 상기 Matrix에서 상기 초기 기준단어를 TC(Topic Clique)의 정점단어로 이동시키는 제1 과정, 상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어가 삭제된 Matrix에 포함된 토픽후보단어 중 상기 토픽후보단어의 출현빈도에 따라 차순위의 토픽후보단어를 비교기준단어로 설정하고, 상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어 및 상기 초기 기준단어가 삭제된 Matrix에 포함된 토픽후보단어와 상기 비교기준단어 간의 PMI 값을 확인하여 상기 비교기준단어와의 PMI 값이 0 이하인 토픽후보단어를 삭제하는 제2 과정, 상기 제2 과정에서 상기 Matrix에 하나의 토픽후보단어가 남을 때까지 상기 제2 과정을 반복하는 제3 과정을 수행하여 상기 TC(Topic Clique)에 이동된 정점단어로 상기 초기 기준단어에 대한 TC(Topic Clique)를 생성할 수 있다.
상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하는 것은, 상기 각각의 초기 기준단어에 대한 TC(Topic Clique) 중 임의의 두 TC(Topic Clique)에 포함된 정점단어의 합집합으로 새로운 Matrix를 생성하고, 상기 새로운 Matrix에서 PMI 값이 0 이하인 간선을 검출하고, 상기 새로운 Matrix에서 검출한 PMI 값이 0 이하인 간선의 수 대비 상기 새로운 Matrix에 포함된 전체 간선의 수의 비율로 상기 TC(Topic Clique) 간 거리를 산출하고, 상기 TC(Topic Clique) 간 거리에 따라 상기 TC(Topic Clique)를 병합할 수 있다.
상기 TC(Topic Clique)를 병합하는 것은, 상기 임의의 두 TC(Topic Clique)를 하나의 토픽으로 병합할 수 있다.
상기 TC(Topic Clique)를 병합하는 것은, 상기 새로운 Matrix에서 PMI 값이 0을 초과하는 부분에 대응하는 정점단어들로 단어집합을 구성하여 상기 TC(Topic Clique)를 병합할 수 있다.
상기 TC(Topic Clique)를 병합하는 것은, 상기 새로운 Matrix에서 PMI 값이 0 이하인 부분에 대응하는 음성정점단어집합에 포함된 정점단어를 상기 새로운 Matrix에서 PMI 값이 0을 초과하는 부분에 대응하는 양성정점단어집합에 포함된 정점단어와의 PMI 값에 따라 추가하여 상기 TC(Topic Clique)를 병합할 수 있다.
PMI 값에 따라 상기 음성정점단어집합에 포함된 정점단어를 상기 양성정점단어집합에 추가하는 것은, 상기 음성정점단어집합에 포함된 정점단어 중 출현빈도에 따라 정점단어를 선택하여 상기 양성정점단어집합에 추가하되, 상기 양성정점단어집합에 포함된 정점단어 간의 PMI 값을 확인하여 상기 음성정점단어집합에서 출현빈도에 따른 최우선순위의 정점단어가 상기 양성정점단어집합에 포함된 정점단어 중 적어도 하나와 PMI 값이 0이하인 간선을 생성하는지 여부를 확인하고, 상기 양성정점단어집합에 포함된 정점단어 중 적어도 하나와 PMI 값이 0이하인 간선을 생성하지 않으면 상기 양성정점단어집합에 추가할 수 있다.
상기 TC(Topic Clique)를 병합하는 것은, 상기 임의의 두 TC(Topic Clique) 각각의 평균 PMI 값을 산출하고, 상기 임의의 두 TC(Topic Clique) 중 평균 PMI 값이 더 큰 TC(Topic Clique)를 추출하여 상기 TC(Topic Clique)를 병합할 수 있다.
본 발명의 일 실시예에 따른 토픽 추출 장치는 문서 데이터를 수집하여 명사를 추출하는 명사 추출부, LDA 기법을 이용하여 상기 추출한 명사 중 LDA 토픽을 추출하는 LDA 토픽 추출부, 상기 LDA 토픽 내 토픽후보단어 간의 유사도를 산출하고, 상기 토픽후보단어 간의 유사도에 따라 상기 LDA 토픽을 분리하는 토픽 분리부 및 상기 분리된 각 LDA 토픽을 상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하여 최종 토픽을 추출하는 토픽 병합부를 포함한다.
상술한 본 발명의 일측면에 따르면, 토픽 중복 및 토픽 혼재 문제를 보정함으로써, 보다 정확하게 토픽을 추출할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 토픽 추출 장치의 블록도이다.
도 2 는 도 1 의 도시된 형태소 분석부 및 명사 추출부의 동작 방법을 설명하기 위해 도시한 도면이다.
도 3 은 LDA 기법을 이용하여 추출된 토픽들이 도시된 도면이다.
도 4 는 토픽 내 단어 간 유사도를 산출한 일예를 도시한 도면이다.
도 5 는 LDA 기법으로 추출된 토픽 내 단어를 출현 빈도 순으로 나열한 일예이다.
도 6 은 도 4 에서 산출한 유사도를 이용하여 Matrix를 생성하는 방법을 설명하기 위해 도시한 도면이다.
도 7 은 생성한 Matrix를 이용하여 TC(Topic Clique)를 생성하는 방법을 설명하기 위해 도시한 도면이다.
도 8 은 출현 빈도에 따라 TC(Topic Clique)를 생성하는 방법을 설명하기 위해 도시한 도면이다.
도 9 는 TC(Topic Clique) 생성 과정을 알고리즘으로 나타낸 도면이다.
도 10 은 TC(Topic Clique) 간의 거리를 산출하는 방법을 설명하기 위해 도시한 도면이다.
도 11 은 TC(Topic Clique) 간 병합을 수행하는 방법을 설명하기 위해 도시한 도면이다.
도 12 는 TC(Topic Clique) 병합 알고리즘을 나타낸 도면이다.
도 13 은 본 발명의 일 실시예에 따른 토픽 추출 방법을 도시한 순서도이다.
도 14 는 본 발명의 다른 실시예에 따른 토픽 추출 방법을 도시한 순서도이다.
도 15a, 15b 는 본 발명의 또 다른 실시예에 따른 토픽 추출 방법을 도시한 순서도이다.
도 16 은 본 또 다른 실시예에 따른 토픽 추출 방법을 도시한 순서도이다.
도 17a, 17b 는 통하여 본 발명의 일 실시예에 따른 TC 생성 방법을 도시한 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1 은 본 발명의 일 실시예에 따른 토픽 추출 장치의 블록도이며, 도 2 는 도 1 의 도시된 형태소 분석부 및 명사 추출부의 동작 방법을 설명하기 위해 도시한 도면이며, 도 3 은 LDA 기법을 이용하여 추출된 토픽들이 도시된 도면이며, 도 4 는 토픽 내 단어 간 유사도를 산출한 일예를 도시한 도면이며, 도 5 는 LDA 기법으로 추출된 토픽 내 단어를 출현 빈도 순으로 나열한 일예이며, 도 6 은 도 4 에서 산출한 유사도를 이용하여 Matrix를 생성하는 방법을 설명하기 위해 도시한 도면이며, 도 7 은 생성한 Matrix를 이용하여 TC(Topic Clique)를 생성하는 방법을 설명하기 위해 도시한 도면이며, 도 8 은 출현 빈도에 따라 TC(Topic Clique)를 생성하는 방법을 설명하기 위해 도시한 도면이며, 도 9 는 TC(Topic Clique) 생성 과정을 알고리즘으로 나타낸 도면이다.
본 발명의 일 실시예에 따른 토픽 추출 장치(1)는 LDA(Latent Dirichlet Allocation, 잠재 디리클레 할당) 모델 기법을 이용하여 문서 집합으로부터 1차적으로 토픽을 추출하고, 토픽 내 포함된 단어 간의 유사도를 비교하여 중복 또는 혼재되어 있는 단어들을 제거 또는 보정함으로써 각 문서에 대한 토픽이 보다 정확하게 추출되도록 할 수 있다. 한편, 본 발명의 일 실시예에 따른 토픽은 토픽단어의 집합을 의미할 수 있다.
도 1 을 참조하면, 본 발명의 일 실시예에 따른 토픽 추출 장치(1)는 수집부(100), 전처리부(200), 불용어 데이터베이스(300), 토픽 추출부(400)를 포함할 수 있다.
수집부(100)는 크롤러(Crawler)를 이용하여 온라인 콘텐츠 또는 임의의 문서 데이터로부터 적어도 하나 이상의 문서를 수집할 수 있다. 수집부(100)는 검사를 통해 수집한 문서에서 중복 데이터를 제거할 수 있다.
전처리부(200)는 수집부(100)에 의해 수집된 문서에서 복수의 명사를 추출할 수 있다. 이를 위해, 전처리부(200)는 형태소 분석부(210), 명사 추출부(220) 및 불용어 제거부(230)를 포함할 수 있다.
형태소 분석부(210)는 형태소 분석기를 이용하여 문서에 포함된 문장의 형태소를 분석할 수 있다. 예를 들어, 도 2 와 같이 “굳은 모습의 “땅콩회항” 조현아 전 부사장” 이라는 문장을 “굳/VA + 은/ETM + 모습/NNG + 의/JKG + “/SS + 땅콩회항/NNG + “/SS + 조현아/NNP + 전/NNG + 부사장/NNG”으로 형태소 분석할 수 있다.
명사 추출부(220)는 형태소 분석부(210)를 통해 분석된 문장으로부터 명사에 해당되는 토큰(Token)만을 남겨두고 다른 부분을 제거할 수 있다. 명사 추출부(220)는 남은 부분을 명사로 인식하여 추출할 수 있다.
불용어 제거부(230)는 명사 추출부(220)에 의해 추출된 명사 중 토픽 추출에 불필요한 단어들을 제거할 수 있다. 불용어 제거부(230)는 미리 구축된 불용어 데이터를 이용하여 추출된 명사 중 토픽 추출에 불필요한 단어들을 제거할 수 있다. 예를 들어, 추출된 명사가 “모습, 땅콩회항, 조현아, 부사장, 서울, 한종찬, 기자 항공보안법상, 항공기항로변경, 서울서부지검, 끝, 저작권자, 무단, 전재, 재배포, 금지” 이고, 불용어 데이터에 ”저작권자, 무단, 전재, 재배포, 금지”가 포함되어 있으면, 추출된 명사들 중 “저작권자, 무단, 전재, 재배포, 금지”을 제거할 수 있다.
한편, 불용어 데이터는 불용어 데이터베이스(300)에 미리 생성되어 저장되어 있을 수 있으며, 사용자 또는 추출한 명사 분석으로 업데이트될 수 있다.
토픽 추출부(400)는 전처리부(200)에 의한 전처리 과정을 통해 추출된 명사들로부터 토픽을 추출할 수 있다. 이를 위해, 토픽 추출부(400)는 LDA 토픽 추출부(410), 단어 유사도 산출부(420), 토픽 분리부(430) 및 토픽 병합부(440)를 포함할 수 있다.
LDA 토픽 추출부(410)는 LDA 모델 기법을 이용하여 추출된 명사들로부터 1차적인 토픽(이하, LDA 토픽)을 추출할 수 있다.
구체적으로, LDA 토픽 추출부(410)는 토픽을 추출하기 위한, 적절한 파라미터를 설정하여 토픽을 추출할 수 있다. 이때, 본 발명의 일 실시예에 따른 LDA 토픽 추출부(410)는 LDA 모델의 Local Optimum 파라미터 조합으로 TopicNum=35,α=1.0,β=0.1로 설정하여 토픽을 추출할 수 있다. 도 3 은 LDA 모델 기법을 이용하여 추출된 35개 토픽 중 7개 토픽을 나타낸 것이다. 도 3 을 참조하면, Topic 07은 두가지 정답 단어가 혼재되어 추출되었으며, Topic 03, 04를 제외한 모든 토픽에서는 오류 단어들이 추출된 것을 확인할 수 있다. 이와 같이, LDA 모델 기법은 토픽 내 단어의 출현 확률분포를 이용한 기법으로, 토픽 내 단어 간 유사도를 고려하지 않아 상술한 것과 같은 토픽 혼재 문제가 발생할 수 있으며, 사용자가 요구하는 토픽이 추출되지 않을 가능성 있다. 본 발명의 일 실시예에 따른 토픽 추출 장치(1)는 지정된 문서의 토픽 내 단어 간 유사도를 이용하여 이러한 토픽 혼재 문제를 해결할 수 있다.
이를 위해, 단어 유사도 산출부(420)는 각 토픽 내의 단어 간의 유사도를 산출할 수 있다. 이때, 본 발명의 일 실시예에 따른 단어 유사도 산출부(420)는 단어 간 유사도를 산출하기 위해, PMI(Pointwise Mutual Information) 기법을 이용할 수 있다. PMI 기법은 같은 맥락에서 발생하는 단어들은 유사한 의미를 가지는 경향이 있다는 전재 조건을 기반으로 하며, 아래의 <수학식 1>에 의해 산출될 수 있다.
Figure 112015071694962-pat00001
여기서,
Figure 112015071694962-pat00002
Figure 112015071694962-pat00003
Figure 112015071694962-pat00004
의 연관성 수치를 의미하며,
Figure 112015071694962-pat00005
Figure 112015071694962-pat00006
Figure 112015071694962-pat00007
가 하나의 문장에 동시에 출현할 확률을 나타내며,
Figure 112015071694962-pat00008
Figure 112015071694962-pat00009
Figure 112015071694962-pat00010
가 각각 출현할 확률을 나타낸다.
PMI 기법을 이용하여 단어 간 유사도를 산출하는 것은 아래의 <수학식 2>에 따른다.
Figure 112015071694962-pat00011
단어 유사도 산출부(420)는 토픽 내 단어 간 PMI 값을 산출한 후, 산출한 PMI 값을 나타내는 Matrix를 생성할 수 있다. 예를 들어, 도 4 와 같이 도 2 에 도시된 Topic 01에 포함된 각 단어 간의 PMI 값을 Matrix로 나타낼 수 있다. 한편, 도 4 에서 왼쪽 상단에서 오른쪽 하단 방향으로의 빗금으로 표시한 간선은 토픽 내 단어 간의 관계가 P(A∩B)=0을 의미하며, 오른쪽 상단에서 왼쪽 하단 방향으로의 빗금으로 표시한 간선은 PMI(A,B)<0, 즉 토픽 내 단어 간의 관계가 음의 관계를 이루는 것을 의미한다.
토픽 분리부(430)는 단어 유사도 산출부(420)에 산출된 PMI 값에 따라 토픽을 분리할 수 있다.
구체적으로, 토픽 분리부(430)는 토픽 내 토픽후보단어 출현 빈도와 단어 간의 PMI 값을 이용하여 하나의 토픽을 적어도 하나 이상의 TC(Topic Clique)로 분리할 수 있다. 이때, 토픽 내 토픽후보단어 출현 빈도는 LDA 토픽 추출부(410)에서 LDA 토픽 추출시 산출될 수 있다. 한편, 본 발명의 일 실시예에 따른 TC는 토픽 내 토픽후보단어를 정점으로 하며, 토픽후보단어 간 PMI 값이 0보다 큰 값을 간선의 Weight로 하는 완전 부분 그래프(Complete Subgragh)를 의미할 수 있다.
도 5 를 참조하면, LDA 기법으로 추출된 토픽 내 토픽후보단어의 출현 빈도를 확인할 수 있으며, 토픽 분리부(430)는 토픽 내 토픽후보단어 출현 빈도에 따라 기준 단어를 변경하여 토픽에 대한 TC를 생성할 수 있다. 이때, 토픽 분리부(430)는 토픽 내 토픽후보단어 출현 빈도에 따라 가장 높은 출현 빈도를 갖는 토픽후보단어를 기준 단어로 설정할 수 있다. 토픽 분리부(430)는 출현 빈도 순에 따라 토픽 내 나머지 토픽후보단어와 설정한 기준 단어와의 PMI 값을 확인할 수 있다. 토픽 분리부(430)는 토픽 내 나머지 토픽후보단어 중 설정한 기준 단어와의 PMI 값이 0보다 작거나 같은 토픽후보단어가 있으면 해당 토픽후보단어는 설정한 기준 단어와 연관성이 없는 것으로 판단하여 생성한 Matrix에서 삭제할 수 있다. 토픽 분리부(430)는 토픽 내 나머지 단어들 중 설정한 기준 단어와의 PMI 값이 0 이하인 단어를 Matrix에서 삭제한 후, 설정한 기준 단어를 Matrix에서 삭제하는 동시에 설정한 기준 단어를 TC의 정점으로 추가할 수 있다. 토픽 분리부(430)는 첫번째 설정한 기준 단어를 TC의 정점으로 추가한 후, 출현 빈도에 따라 두번째로 출현 빈도가 높은 단어를 기준 단어로 설정할 수 있다. 토픽 분리부(430)는 첫번째로 설정한 기준 단어로 수행한 과정에 동일하게, 두번째로 설정한 기준 단어와 Matrix에 남아있는 단어들과의 PMI 값을 확인할 수 있다. 토픽 분리부(430)는 두번째로 설정한 기준 단어와 Matrix에 남아있는 단어들과의 PMI 값을 확인하여, Matrix에 남아있는 단어들 중 두번째로 설정한 기준 단어와의 PMI 값이 0 이하인 단어들을 Matrix에서 삭제할 수 있다. 토픽 분리부(430)는 두번째로 설정한 기준 단어와의 PMI 값이 0 이하인 단어들을 Matrix에서 삭제한 후, 두번째로 설정한 기준 단어를 Matrix에서 삭제하는 동시에 두번째로 설정한 기준 단어를 TC의 다음 정점으로 추가할 수 있다. 토픽 분리부(430)는 Matrix에 단어가 하나 남을 때까지 상기 과정을 반복 수행하여 TC를 생성할 수 있다. 예를 들어, 도 5 및 6 을 참조하면, 토픽 분리부(430)는 가장 출현 빈도가 높은 것으로 나타난 “경찰”을 첫번째 기준 단어로 설정할 수 있다. 토픽 분리부(430)는 첫번째 기준 단어인 “경찰”과 Matrix 내 나머지 단어인 “여성, 남편, 병원, 아들, 차량, 범행, 사고, 피해자, 할머니, 수사, 안전, 신고, 살해, 경위, 호주, 아파트, 아이, 가방, 신은미” 각각의 단어와의 PMI 값을 확인할 수 있다. 토픽 분리부(430)는 도 4 를 통해 PMI 값 확인시 “경찰”과 “아이”와의 PMI 값이 -0.44로 0이하인 것을 확인할 수 있다. 토픽 분리부(430)는 도 6 의 step 0과 같이, Matrix에서 “아이”를 삭제하고, “경찰”을 TC의 정점으로 추가할 수 있다. 토픽 분리부(430)는 출현 빈도에 따라 “경찰” 다음으로 출현 빈도가 높은 “여성”을 두번째 기준 단어로 설정할 수 있다. 토픽 분리부(430)는 “여성”과 Matrix에 남은 단어인 “남편, 병원, 아들, 차량, 범행, 사고, 피해자, 할머니, 수사, 안전, 신고, 살해, 경위, 호주, 아파트, 가방, 신은미” 각각의 단어와의 PMI 값을 확인할 수 있다. 토픽 분리부(430)는 PMI 값 확인시 “여성”과 “할머니” 및 “인천”과의 PMI 값이 -0.09, -0.52로 0 이하인 것을 확인할 수 있다. 이에 따라, 토픽 분리부(430)는 도 6 의 step 1와 같이, Matrix에서 “할머니”와 “인천”를 삭제하고, 두번째 기준 단어인 “여성”을 Matrix에서 삭제하는 동시에 “여성”을 TC의 다음 정점으로 추가할 수 있다. 토픽 분리부(430)는 출현 빈도가 “여성” 다음으로 높은 “남편”을 세번째 기준 단어로 설정 및 상기 과정을 반복하여, 도 6 의 step 2와 같이 Matrix에서 “가방”을 삭제하고, “남편”을 Matrix에서 삭제하는 동시에 TC의 그 다음 정점으로 추가할 수 있다. 토픽 분리부(430)는 Matrix에 하나의 단어가 남을 때까지 상술한 과정을 반복하여 도 7 과 같이, “경찰, 여성, 남편, 병원, 아들, 범행, 피해자, 신고, 경위”를 갖는 TC를 생성할 수 있다. 한편, 도 7 은 “경찰”을 첫번째 기준 단어를 설정했을 때 생성되는 TC를 나타낸 표이며, 도 7 에서 보는 것과 같이 생성된 TC는 PMI 값이 0 보다 큰 단어 쌍들만 포함할 수 있다.
토픽 분리부(430)는 첫번째 기준 단어를 토픽후보단어의 출현빈도에 따라 변경하여 상술한 과정을 통해 복수 개의 TC를 생성할 수 있다. 예를 들어, 도 8 과 같이 토픽후보단어가 “경찰, 여성, 남편, 병원, 아들, 차량, 범행, 사고, 피해자, 할머니, 수사, 안전, 신고, 살해, 경위, 호주, 아파트, 아이, 가방, 신은미”이면, 토픽후보단어의 출현빈도에 따라 가장 출현빈도가 높은 토픽후보단어인 “경찰”을 첫번째 기준 단어로 설정하여 상술한 과정을 통해 TC를 생성하고, 토픽후보단어의 출현빈도에 따라 “경찰” 다음으로 출현빈도가 높은 토픽후보단어인 “여성”을 첫번째 기준 단어로 설정하여 상술한 과정을 통해 다른 TC를 생성하고, 토픽후보단어의 출현빈도에 따라 “여성” 다음으로 출현빈도가 높은 토픽후보단어인 “남편”을 첫번째 기준 단어로 설정하여 상술한 과정을 통해 또 다른 TC를 생성할 수 있다. 토픽 분리부(430)는 토픽후보단어의 출현빈도에 따라 첫번째 기준 단어를 변경하면서 복수 개의 TC를 생성한 후, 생성한 복수 개의 TC에서 중복되는 TC를 제거하여 최종 TC를 획득할 수 있다. 한편, 상술한 토픽 분리 과정, 즉 TC 생성 과정을 알고리즘으로 나타내면 도 9 와 같다.
도 10 은 TC(Topic Clique) 간의 거리를 산출하는 방법을 설명하기 위해 도시한 도면이며, 도 11 은 TC(Topic Clique) 간 병합을 수행하는 방법을 설명하기 위해 도시한 도면이며, 도 12 는 TC(Topic Clique) 병합 알고리즘을 나타낸 도면이다.
토픽 병합부(440)는 토픽 분리부(430)에 의해 생성된 복수 개의 TC를 TC 간 거리에 따라 병합할 수 있다. 이때, TC를 병합하는 것은, 유사한 TC를 병합하여 중복되는 토픽이 추출되지 않도록 하기 위함이다.
구체적으로, 토픽 병합부(440)는 병합할 TC를 검출하기 위해, TC간 거리를 산출할 수 있다. 이때, TC 간의 거리는 TC 간의 점정단어의 합집합으로 구성되는 새로운 Matrix에서 PMI 값이 0이하인 간선의 비율로 산출될 수 있다. 예를 들어,
Figure 112015071694962-pat00012
Figure 112015071694962-pat00013
에서의 정점의 집합이라고 할 때, 도 8 에서 추출된 TC1의
Figure 112015071694962-pat00014
={경찰,여성,남편,병원,차량,사고,피해자,신고,경위}이며,
Figure 112015071694962-pat00015
={경찰,여성,남편,병원,아들,범행,피해자,신고,경위}이며,
Figure 112015071694962-pat00016
={경찰,여성,남편,병원,피해자,신고,경위,아들,차량,범행,사고}이다. 이때, TC1과 TC2로 구성된 새로운 Matrix는 도 10과 같으며, 도 10 을 참고하면 PMI 값이 0 이하가 되는 간선의 수는 6개이며, 총 간선의 수는 110개이므로, 토픽 병합부(440)는 TC 간의 점정의 합집합으로 구성되는 새로운 Matrix에서 PMI 값이 0이하인 간선의 비율, 즉 TC1와 TC2의 거리
Figure 112015071694962-pat00017
으로 산출할 수 있다. 토픽 병합부(440)는 TC 간의 거리가 미리 정해진 임계값 이하인 경우 두 TC를 하나의 토픽으로 병합할 수 있다. 이때, 미리 정해진 임계값은 실험으로부터 학습된 값을 사용할 수 있다.
한편, 토픽 병합부(440)는 4가지 방법에 따라 TC를 병합할 수 있다. TC를 병합하는 4가지 방법은 아래와 같다.
방법 1.
Figure 112015071694962-pat00018
로 구성된 단어집합으로 토픽 병합
방법 2.
Figure 112015071694962-pat00019
Figure 112015071694962-pat00020
로 구성된 단어집합으로 토픽 병합
방법 3.
Figure 112015071694962-pat00021
Figure 112015071694962-pat00022
로 구성된 단어집합의 단어를 내림차순으로 정렬한 후
Figure 112015071694962-pat00023
에 하나씩 추가한다. 다만, 정점을 추가시 PMI≤0인 간선이 생성되면 해당 정점은 삭제된다.
방법 4.
Figure 112015071694962-pat00024
Figure 112015071694962-pat00025
방법 1에 따르면, 토픽 병합부(440)는 미리 정해진 임계값 이하인 거리를 갖는 두 TC를 하나의 토픽으로 병합할 수 있다. 예를 들어,
Figure 112015071694962-pat00026
={경찰,여성,남편,병원,차량,사고,피해자,신고,경위}이며,
Figure 112015071694962-pat00027
={경찰,여성,남편,병원,아들,범행,피해자,신고,경위}이면, 병합 결과는 {경찰, 영성, 남편, 병원, 피해자, 신고, 경위, 아들, 차량, 범행, 사고}일 수 있다.
방법 2에 따르면, 토픽 병합부(440)는 단어 간 PMI 값이 0을 초과하는 정점단어로 구성되도록 토픽을 병합할 수 있다. 예를 들어, 도 11 에서 표시된 PMI>0인 값을 포함하는 부분에 해당하는 정점단어들로 단어집합을 구성하여 토픽을 병합할 수 있다.
방법 3에 따르면, PMI 값이 0 이하인 값을 갖는 정점단어를 내림차순으로 정렬한 후, PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 PMI 값이 0 이하인 값을 갖는 정점단어를 하나씩 추가한다. 이때, 단어 추가 시 PMI 값이 0 이하인 간선이 생성되면 PMI 값이 0 이하인 값을 갖는 정점단어의 집합에서 해당 정점단어는 삭제한다. 예를 들어, 도 11 에서 PMI 값이 0 이하인 값을 갖는 정점단어의 집합은 {아들, 차량, 범행, 사고}이다. PMI 값이 0 이하인 값을 갖는 정점단어를 내림차순으로 정렬하면 “아들, 차량, 범행, 사고”이며, 토픽 병합부(440)는 내림차순으로 정렬한 순서에 따라 먼저 “아들”을 PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 추가한다. 이때, “아들”을 PMI 값이 0을 초과하는 값을 갖는 정점단어 집합에 추가 후, 내름차순으로 정렬한 순서에 따라 그 다음 단어인 “차량”을 PMI 값이 0을 초과하는 값을 갖는 정점단어 집합에 추가하려고 하면 “차량”은 추가된 정점단어인 “아들”과 PMI≤0인 간선이 생성된다. 이에 따라, 토픽 병합부(440)는 PMI 값이 0 이하인 값을 갖는 정점단어의 집합에서 “차량”을 삭제한다. 토픽 병합부(440)는 “차량”이라는 정점단어 삭제 후, 내림차순에 따라 그 다음 정점단어인 “범행”은 PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 포함된 정점단어들과 PMI≤0인 간선이 생성하지 않으므로, PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 “범행”을 추가한다. 토픽 병합부(440)는 “범행”을 PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 추가한 후, 내림차순에 따라 그 다음 정점단어인 “사고”를 PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 추가하려고 할 때, “사고”이 PMI 값이 0을 초과하는 값을 갖는 정점단어의 집합에 추가된 “범행”과 PMI≤0인 간선이 생성된다는 것을 확인할 수 있다. 이에 따라, 토픽 병합부(440)는 “사고”라는 정점단어를 삭제하고, TC1과 TC2의 병합결과로 {경찰, 여성, 남편, 병원, 피해자, 신호, 경위, 아들, 범행}을 추출할 수 있다.
방법 4에 따르면, 토픽 병합부(440)는 토픽 분리부(430)에 의해 생성된 복수 개의 TC 각각의 평균 PMI 값을 산출하여 산출된 평균 PMI 값 중 가장 큰 평균 PMI 값을 갖는 TC를 토픽 병합 결과로 추출할 수 있다. 예를 들어, 도 8 에 나타난 TC1 내지 TC12 각각의 평균 PMI 값을 산출했을 때,
Figure 112015071694962-pat00028
은 1.26이며, 이 값에 해당하는 TC는 TC2이므로, 토픽 병합 결과는 {경찰, 여성, 남편, 병원, 아들, 범행, 피해자, 신고, 경위}일 수 있다.
한편, 상술한 토픽 병합 과정을 알고리즘으로 나타내면 도 12 와 같다.
토픽 병합부(440)는 상술한 토픽 병합 방법 4가지 중 어느 하나에 따라 추출된 병합 결과를 최종 토픽을 추출할 수 있다.
이하에서는, 도 13 을 통하여 본 발명의 일 실시예에 따른 토픽 추출 방법을 설명한다. 이때, 도 13 에서는 상술한 4가지 토픽 병합 방법 중 방법 1에 따라 토픽을 통합하여 최종 토픽을 추출하는 방법에 대해 설명한다.
먼저, 수집부(100)를 통해 수집된 문서 데이터를 입력받고(510), 입력된 문서 데이터를 검사하여 중복 데이터를 제거한다(515).
중복 데이터가 제거된 문서를 형태소 분석하여 명사를 추출(520)하고, 추출된 명사와 미리 정해진 불용어 데이터를 비교하여 추출된 명사에서 불용어를 제거한다(525).
불용어가 제거된 명사에 LDA 기법을 적용하여 불용어가 제거된 명사로부터 LDA 토픽을 추출한다(530).
추출된 토픽에서 토픽 혼재 문제가 발생하는 것을 해결하기 위해, 추출된 토픽 내의 토픽후보단어 간의 PMI 값을 산출한다(535).
이때, PMI는 두 단어가 하나의 문장에 동시 출현한 확률 대비 두 단어가 각각 출현할 확률의 비율을 나타내며, PMI 값이 높을수록 두 단어의 연관성이 높다는 것을 의미할 수 있다.
산출한 PMI 값에 따라 토픽을 분리하여 적어도 하나 이상의 TC를 생성한다(540).
이때, PMI 값에 따라 토픽을 분리하는 방법은 도 17 을 통하여 자세히 설명한다.
생성한 TC 간의 거리(
Figure 112015071694962-pat00029
)을 산출(545)하고, 산출한 TC 간의 거리(
Figure 112015071694962-pat00030
)가 미리 정해진 임계값 미만인지 여부를 확인한다(550).
이때, TC 간의 거리(
Figure 112015071694962-pat00031
)는 두 TC 간의 점정단어의 합집합으로 구성되는 새로운 Matrix에서 PMI 값이 0이하인 간선의 비율을 산출함으로써 획득할 수 있다. 또한, TC 간의 거리(
Figure 112015071694962-pat00032
)가 미리 정해진 임계값 미만인지 여부를 확인하는 것은, 두 TC 가 유사한지 여부를 검출하기 위함이다.
TC 간의 거리(
Figure 112015071694962-pat00033
)가 미리 정해진 임계값 미만인 것으로 확인(550)되면, 해당 두 TC는 유사한 것으로 인식하여 두 TC를 하나의 토픽으로 병합하여 최종 토픽을 추출한다(555).
또한, TC 간의 거리(
Figure 112015071694962-pat00034
)가 미리 정해진 임계값 이상인 것으로 확인(550)되면, 각각의 TC가 각각 다른 토픽을 가지는 것으로 인식하여, 생성된 TC를 최종 토픽으로 추출한다(560).
이하에서는, 도 14 를 통하여 본 발명의 다른 실시예에 따른 토픽 추출 방법을 설명한다. 이때, 도 14 에서는 상술한 4가지 토픽 병합 방법 중 방법 2에 따라 토픽을 통합하여 최종 토픽을 추출하는 방법에 대해 설명한다.
먼저, 수집부(100)를 통해 수집된 문서 데이터를 입력받고(610), 입력된 문서 데이터를 검사하여 중복 데이터를 제거한다(615).
중복 데이터가 제거된 문서를 형태소 분석하여 명사를 추출(620)하고, 추출된 명사와 미리 정해진 불용어 데이터를 비교하여 추출된 명사에서 불용어를 제거한다(625).
불용어가 제거된 명사에 LDA 기법을 적용하여 불용어가 제거된 명사로부터 LDA 토픽을 추출한다(630).
추출된 토픽에서 토픽 혼재 문제가 발생하는 것을 해결하기 위해, 추출된 토픽 내의 토픽후보단어 간의 PMI 값을 산출한다(635).
산출한 PMI 값에 따라 토픽을 분리하여 적어도 하나 이상의 TC를 생성한다(640).
이때, PMI 값에 따라 토픽을 분리하는 방법은 도 17a, 17b 를 통하여 자세히 설명한다.
생성한 TC 간의 거리(
Figure 112015071694962-pat00035
)을 산출(645)하고, 산출한 TC 간의 거리(
Figure 112015071694962-pat00036
)가 미리 정해진 임계값 미만인지 여부를 확인한다(650).
TC 간의 거리(
Figure 112015071694962-pat00037
)가 미리 정해진 임계값 미만인 것으로 확인(650)되면, 두 TC로 구성되는 새로운 Matrix에서 PMI 값이 0을 초과하는 단어집합을 최종 토픽을 추출한다(655).
또한, TC 간의 거리(
Figure 112015071694962-pat00038
)가 미리 정해진 임계값 이상인 것으로 확인(650)되면, 각각의 TC가 각각 다른 토픽을 가지는 것으로 인식하여, 생성된 TC를 최종 토픽으로 추출한다(660).
이하에서는, 도 15a, 15b 를 통하여 본 발명의 또 다른 실시예에 따른 토픽 추출 방법을 설명한다. 이때, 도 15a, 15b 에서는 상술한 4가지 토픽 병합 방법 중 방법 3에 따라 토픽을 통합하여 최종 토픽을 추출하는 방법에 대해 설명한다.
먼저 도 15a 를 참조하면, 수집부(100)를 통해 수집된 문서 데이터를 입력받고(710), 입력된 문서 데이터를 검사하여 중복 데이터를 제거한다(715).
중복 데이터가 제거된 문서를 형태소 분석하여 명사를 추출(720)하고, 추출된 명사와 미리 정해진 불용어 데이터를 비교하여 추출된 명사에서 불용어를 제거한다(725).
불용어가 제거된 명사에 LDA 기법을 적용하여 불용어가 제거된 명사로부터 LDA 토픽을 추출한다(730).
추출된 토픽에서 토픽 혼재 문제가 발생하는 것을 해결하기 위해, 추출된 토픽 내의 토픽후보단어 간의 PMI 값을 산출한다(735).
산출한 PMI 값에 따라 토픽을 분리하여 적어도 하나 이상의 TC를 생성한다(740).
이때, PMI 값에 따라 토픽을 분리하는 방법은 도 17a, 17b 를 통하여 자세히 설명한다.
생성한 TC 간의 거리(
Figure 112015071694962-pat00039
)을 산출(745)하고, 산출한 TC 간의 거리(
Figure 112015071694962-pat00040
)가 미리 정해진 임계값 미만인지 여부를 확인한다(750).
TC 간의 거리(
Figure 112015071694962-pat00041
)가 미리 정해진 임계값 이상인 것으로 확인(750)되면, 각각의 TC가 각각 다른 토픽을 가지는 것으로 인식하여, 생성된 TC를 최종 토픽으로 추출한다(755).
도 15b 를 참조하면, 도 15a 를 통해 TC 간의 거리(
Figure 112015071694962-pat00042
)가 미리 정해진 임계값 미만인 것으로 확인(750)되면, 두 TC로 구성되는 새로운 Matrix에서 PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00043
)에 포함된 정점단어를 출현빈도에 따라, 즉 출현빈도가 높은 순에서 낮은 순서에 따라 정렬한다(810).
PMI 값이 0이하인 정점단어 중 정렬된 순서에 따라 최우선순위로 정해진 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00044
)에 추가시 PMI≤0인 간선이 생성되는지 여부를 확인한다(815).
이때, 추가시 PMI≤0인 간선이 생성되는지 여부를 확인하는 것은, 정렬된 순서에 따라 최우선순위로 정해진 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00045
)에 추가시 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00046
)에 포함된 적어도 하나의 정점단어가 정렬된 순서에 따라 최우선순위로 정해진 정점단어와 PMI≤0인 값을 갖는 관계인지 여부를 확인하는 것일 수 있다.
이때, 정렬된 순서에 따라 최우선순위로 정해진 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00047
)에 추가시 PMI≤0인 간선이 생성되지 않는 것으로 확인(815)되면, 해당 정점단어가 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00048
)가 연관성이 있는 것으로 인식하여, 해당 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00049
)에 추가한다(820).
또한, 정렬된 순서에 따라 최우선순위로 정해진 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00050
)에 추가시 PMI≤0인 간선이 생성되는 것으로 확인(820)되면, 해당 정점단어가 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00051
)가 연관성이 없는 것으로 인식하여, 해당 정점단어를 삭제한다(825).
정렬된 순서에 따라 최우선순위로 정해진 정점단어를 추가 또는 삭제한 후, PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00052
)에 정점단어가 남아있는지 여부를 확인한다(830).
이때, PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00053
)에 정점단어가 남아있는 것으로 확인(830)되면, 정렬된 순서에 따라 차순위의 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00054
)에 추가시 PMI≤0인 간선이 생성되는지 여부를 확인한다(835).
정렬된 순서에 따라 차순위의 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00055
)에 추가시 PMI≤0인 간선이 생성되지 않는 것으로 확인(835)되면, 해당 정점단어가 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00056
)가 연관성이 있는 것으로 인식하여, 해당 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00057
)에 추가한다(840).
또한, 정렬된 순서에 따라 차순위의 정점단어를 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00058
)에 추가시 PMI≤0인 간선이 생성되는 것으로 확인(835)되면, 해당 정점단어가 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00059
)가 연관성이 없는 것으로 인식하여, 해당 정점단어를 삭제한다(845).
차순위의 정점단어를 PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00060
)에서 삭제(845)한 후, PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00061
)에 정점단어가 남아있는지 여부를 확인한다(850).
이때, PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00062
)에 정점단어가 남아있는 것으로 확인(850)되면, 단계 835로 돌아가 PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00063
)에 남은 정점단어가 없을 때까지 반복 수행한다.
PMI 값이 0이하인 정점단어의 집합(
Figure 112015071694962-pat00064
)에 정점단어가 남아 있지 않은 것으로 확인(830, 850)되면, 최종적으로 PMI 값이 0을 초과하는 정점단어의 집합(
Figure 112015071694962-pat00065
)에 포함된 정점단어를 최종 토픽으로 추출한다(855).
이하에서는, 도 16 을 통하여 본 발명의 또 다른 실시예에 따른 토픽 추출 방법을 설명한다. 이때, 도 16 에서는 상술한 4가지 토픽 병합 방법 중 방법 4에 따라 토픽을 통합하여 최종 토픽을 추출하는 방법에 대해 설명한다.
먼저, 수집부(100)를 통해 수집된 문서 데이터를 입력받고(910), 입력된 문서 데이터를 검사하여 중복 데이터를 제거한다(915).
중복 데이터가 제거된 문서를 형태소 분석하여 명사를 추출(920)하고, 추출된 명사와 미리 정해진 불용어 데이터를 비교하여 추출된 명사에서 불용어를 제거한다(925).
불용어가 제거된 명사에 LDA 기법을 적용하여 불용어가 제거된 명사로부터 LDA 토픽을 추출한다(930).
추출된 토픽에서 토픽 혼재 문제가 발생하는 것을 해결하기 위해, 추출된 토픽 내의 토픽후보단어 간의 PMI 값을 산출한다(635).
산출한 PMI 값에 따라 토픽을 분리하여 적어도 하나 이상의 TC를 생성한다(940).
이때, PMI 값에 따라 토픽을 분리하는 방법은 도 17a, 17b 를 통하여 자세히 설명한다.
생성한 TC 간의 거리(
Figure 112015071694962-pat00066
)을 산출(945)하고, 산출한 TC 간의 거리(
Figure 112015071694962-pat00067
)가 미리 정해진 임계값 미만인지 여부를 확인한다(950).
TC 간의 거리(
Figure 112015071694962-pat00068
)가 미리 정해진 임계값 미만인 것으로 확인(950)되면, 두 TC로 구성되는 새로운 Matrix에서 PMI 값이 0을 초과하는 단어집합을 최종 토픽을 추출한다(955).
TC 간의 거리(
Figure 112015071694962-pat00069
)가 미리 정해진 임계값 이상인 것으로 확인(950)되면,
Figure 112015071694962-pat00070
Figure 112015071694962-pat00071
각각의 평균 PMI 값을 산출(955)하고,
Figure 112015071694962-pat00072
Figure 112015071694962-pat00073
중 산출한 평균 PMI 값이 더 큰 TC를 최종 토픽으로 추출한다(960).
또한, TC 간의 거리(
Figure 112015071694962-pat00074
)가 미리 정해진 임계값 이상인 것으로 확인(950)되면, 각각의 TC가 각각 다른 토픽을 가지는 것으로 인식하여, 생성된 TC를 최종 토픽으로 추출한다(965).
이하에서는, 도 17a, 17b 를 통하여 본 발명의 일 실시예에 따른 TC 생성 방법에 대해 설명한다.
도 17a 를 참조하면, 토픽후보단어 및 산출한 PMI값으로 구성된 Matrix에서 토픽후보단어의 출현빈도에 따라 최우선순위의 토픽후보단어를 초기 기준단어로 설정한다(1010).
이때, 초기 기준단어는 토픽을 분리하기 위해 생성하는 TC의 기준으로서, 해당 초기 기준단어와 연관성이 있는 토픽후보단어만을 선별하여 TC로 군집화하기 위해 사용되는 단어일 수 있다. 본 발명의 일 실시예에 따른 토픽 추출 장치(1)는 이러한 초기 기준단어를 변경하면서 TC를 생성하여 하나의 토픽에서 하나 이상의 TC를 생성할 수 있다.
Matrix 내 설정한 초기 기준단어를 제외한 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 있는지 여부를 확인(1020)하고, 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 없으면 초기 기준단어를 TC의 정점단어로 추가한다(1030).
이때, 초기 기준단어를 TC의 정점단어로 추가하는 것은, Matrix에서 해당 초기 기준단어를 삭제하는 동시에 토픽을 분리하기 위해 생성하는 TC 내의 단어로 추가시키는 것이다.
또한, 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 있으면 해당 토픽후보단어가 초기 기준단어와 연관성이 없는 것으로 인식하여 Matrix에서 설정한 초기 기준단어와의 PMI 값이 0이하인 토픽후보단어를 삭제하고, 초기 기준단어를 TC의 정점단어로 추가한다(1040).
초기 기준단어를 TC의 정점단어로 추가(1030, 1040)한 후, Matrix에서 토픽후보단어의 출현빈도에 따라 그 다음 순위의 토픽후보단어를 확인하여 비교기준단어로 설정한다(1050).
비교기준단어를 설정(1050)한 후, Matrix에 남아있는 나머지 토픽후보단어 중 비교기준단어와의 PMI 값이 0이하인 단어가 있는지 여부를 확인(1060)하고, 나머지 토픽후보단어 중 설정한 비교기준단어와의 PMI 값이 0이하인 단어가 없으면 설정한 비교기준단어를 TC의 정점단어로 추가한다(1070).
또한, 나머지 토픽후보단어 중 설정한 비교기준단어와의 PMI 값이 0이하인 단어가 있으면 해당 토픽후보단어가 비교기준단어와 연관성이 없는 것으로 인식하여 Matrix에서 설정한 비교기준단어와의 PMI 값이 0이하인 토픽후보단어를 삭제하고, 비교기준단어를 TC의 정점단어로 추가한다(1080).
최우선순위의 토픽후보단어 다음으로 출현빈도가 높은 토픽후보단어를 TC에 추가한 후, Matrix 내에 토픽후보단어가 남아있는지 여부를 확인(1090)하여 Matrix 내에 토픽후보단어가 남아있으면 단계 1050로 돌아가 Matrix 내에 하나의 토픽후보단어가 남을 때까지 상술한 과정을 반복 수행한다.
도 17b 를 참조하면, 도 17a 를 통해 Matrix 내에 토픽후보단어가 남아있지 않지 않은 것으로 확인(1090)되면, Matrix에서 토픽후보단어의 출현빈도에 따라 차순위의 토픽후보단어를 초기 기준단어로 설정한다(1110).
Matrix 내 남아있는 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 있는지 여부를 확인(1115)하고, 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 없으면 초기 기준단어를 TC의 정점단어로 추가한다(1120).
이때, 초기 기준단어를 TC의 정점단어로 추가하는 것은, Matrix에서 해당 초기 기준단어를 삭제하는 동시에 토픽을 분리하기 위해 생성하는 TC 내의 단어로 추가시키는 것이다.
또한, 나머지 토픽후보단어 중 설정한 초기 기준단어와의 PMI 값이 0이하인 단어가 있으면 해당 토픽후보단어가 초기 기준단어와 연관성이 없는 것으로 인식하여 Matrix에서 설정한 초기 기준단어와의 PMI 값이 0이하인 토픽후보단어를 삭제하고, 초기 기준단어를 TC의 정점단어로 추가한다(1125).
초기 기준단어를 TC의 정점단어로 추가(1120, 1125)한 후, Matrix에서 토픽후보단어의 출현빈도에 따라 그 다음 순위의 토픽후보단어를 확인하여 비교기준단어로 설정한다(1130).
비교기준단어를 설정(1130)한 후, Matrix에 남아있는 나머지 토픽후보단어 중 비교기준단어와의 PMI 값이 0이하인 단어가 있는지 여부를 확인(1135)하고, 나머지 토픽후보단어 중 설정한 비교기준단어와의 PMI 값이 0이하인 단어가 없으면 설정한 비교기준단어를 TC의 정점단어로 추가한다(1140).
또한, 나머지 토픽후보단어 중 설정한 비교기준단어와의 PMI 값이 0이하인 단어가 있으면 해당 토픽후보단어가 비교기준단어와 연관성이 없는 것으로 인식하여 Matrix에서 설정한 비교기준단어와의 PMI 값이 0이하인 토픽후보단어를 삭제하고, 비교기준단어를 TC의 정점단어로 추가한다(1145).
차순위 토픽후보단어가 초기 기준단어로 설정된 비교기준단어에 대해 비교기준단어를 TC에 추가한 후, Matrix 내에 토픽후보단어가 남아있는지 여부를 확인한다(1150).
이때, Matrix 내에 토픽후보단어가 남아있으면 단계 1130으로 돌아가 Matrix에 토픽후보단어가 하나 남을 때까지 상술한 과정을 반복 수행한다.
또한, Matrix 내에 토픽후보단어가 남아있지 않으면 TC에 추가된 정점단어로 TC를 생성한다(1155).
또한, 차순위의 토픽후보단어를 초기 기준단어로 설정하여 TC를 생성(1155)한 후, Matrix 내에 토픽후보단어의 출현빈도에 따라 다음 초기 기준단어로 설정할 토픽후보단어가 있는지 여부를 확인(1155)하고, 다음 초기 기준단어로 설정할 토픽후보단어가 있으면 단계 1110으로 돌아가 상술한 과정을 반복하여 다음 초기 기준단어로 설정하는 초기 기준단어에 대한 TC를 생성하고, 다음 초기 기준단어로 설정할 토픽후보단어가 없으면 종료한다.
이와 같은, 문서 데이터에서 토픽을 추출하는 기술은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1: 토픽 추출 장치
100: 수집부
200: 전처리부
300: 불용어 데이터베이스
400: 토픽 추출부
410: LDA 토픽 추출부
420: 단어 유사도 산출부
430: 토픽 분리부
440: 토픽 병합부

Claims (12)

  1. 토픽 추출 장치에서의 토픽 추출 방법으로서,
    상기 토픽 추출 장치가 문서 데이터를 수집하여 명사를 추출하고,
    상기 토픽 추출 장치가 LDA(Latent Dirichlet Allocation) 기법을 이용하여 상기 추출한 명사 중 LDA 토픽을 추출하고,
    상기 토픽 추출 장치가 상기 LDA 토픽 내 토픽후보단어 간의 유사도를 산출하고, 상기 토픽후보단어 간의 유사도에 따라 상기 LDA 토픽을 분리하고,
    상기 토픽 추출 장치가 상기 분리된 각 LDA 토픽을 상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하여 최종 토픽을 추출하되,
    상기 토픽후보단어 간의 유사도는 상기 토픽후보단어 간의 PMI(Pointwise Mutual Information) 값을 산출하여 이루어지고,
    상기 LDA 토픽을 분리하는 것은,
    상기 토픽후보단어 및 상기 토픽후보단어 간의 PMI 값을 나타내는 Matrix를 생성하고, 상기 Matrix 내에서 상기 토픽후보단어의 출현빈도에 따라 초기 기준단어를 설정하여 상기 설정한 각각의 초기 기준단어에 대한 TC(Topic Clique)를 생성하여 상기 LDA 토픽을 분리하는 토픽 추출 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 토픽후보단어 간의 PMI 값을 산출하는 것은,
    상기 토픽후보단어 중 임의의 두 단어가 한 문장 내에 동시에 출현될 확률 대비 각각 출현될 확률의 비율로 산출하는 토픽 추출 방법.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 초기 기준단어에 대한 TC(Topic Clique)를 생성하는 것은,
    상기 초기 기준단어와 상기 Matrix에 포함된 토픽후보단어 중 상기 초기 기준단어를 뺀 나머지 토픽후보단어 간의 PMI 값을 확인하여 상기 Matrix에서 상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어를 삭제하고, 상기 Matrix에서 상기 초기 기준단어를 TC(Topic Clique)의 정점단어로 이동시키는 제1 과정,
    상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어가 삭제된 Matrix에 포함된 토픽후보단어 중 상기 토픽후보단어의 출현빈도에 따라 차순위의 토픽후보단어를 비교기준단어로 설정하고, 상기 초기 기준단어와의 PMI 값이 0 이하인 토픽후보단어 및 상기 초기 기준단어가 삭제된 Matrix에 포함된 토픽후보단어와 상기 비교기준단어 간의 PMI 값을 확인하여 상기 비교기준단어와의 PMI 값이 0 이하인 토픽후보단어를 삭제하는 제2 과정,
    상기 제2 과정에서 상기 Matrix에 하나의 토픽후보단어가 남을 때까지 상기 제2 과정을 반복하는 제3 과정을 수행하여 상기 TC(Topic Clique)에 이동된 정점단어로 상기 초기 기준단어에 대한 TC(Topic Clique)를 생성하는 토픽 추출 방법.
  6. 제 1 항에 있어서,
    상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하는 것은,
    상기 각각의 초기 기준단어에 대한 TC(Topic Clique) 중 임의의 두 TC(Topic Clique)에 포함된 정점단어의 합집합으로 새로운 Matrix를 생성하고, 상기 새로운 Matrix에서 PMI 값이 0 이하인 간선을 검출하고, 상기 새로운 Matrix에서 검출한 PMI 값이 0 이하인 간선의 수 대비 상기 새로운 Matrix에 포함된 전체 간선의 수의 비율로 상기 TC(Topic Clique) 간 거리를 산출하고, 상기 TC(Topic Clique) 간 거리에 따라 상기 TC(Topic Clique)를 병합하는 토픽 추출 방법.
  7. 제 6 항에 있어서,
    상기 TC(Topic Clique)를 병합하는 것은,
    상기 임의의 두 TC(Topic Clique)를 하나의 토픽으로 병합하는 토픽 추출 방법.
  8. 제 6 항에 있어서,
    상기 TC(Topic Clique)를 병합하는 것은,
    상기 새로운 Matrix에서 PMI 값이 0을 초과하는 부분에 대응하는 정점단어들로 단어집합을 구성하여 상기 TC(Topic Clique)를 병합하는 토픽 추출 방법.
  9. 제 6 항에 있어서,
    상기 TC(Topic Clique)를 병합하는 것은,
    상기 새로운 Matrix에서 PMI 값이 0 이하인 부분에 대응하는 음성정점단어집합에 포함된 정점단어를 상기 새로운 Matrix에서 PMI 값이 0을 초과하는 부분에 대응하는 양성정점단어집합에 포함된 정점단어와의 PMI 값에 따라 추가하여 상기 TC(Topic Clique)를 병합하는 토픽 추출 방법.
  10. 제 9 항에 있어서,
    PMI 값에 따라 상기 음성정점단어집합에 포함된 정점단어를 상기 양성정점단어집합에 추가하는 것은,
    상기 음성정점단어집합에 포함된 정점단어 중 출현빈도에 따라 정점단어를 선택하여 상기 양성정점단어집합에 추가하되, 상기 양성정점단어집합에 포함된 정점단어 간의 PMI 값을 확인하여 상기 음성정점단어집합에서 출현빈도에 따른 최우선순위의 정점단어가 상기 양성정점단어집합에 포함된 정점단어 중 적어도 하나와 PMI 값이 0이하인 간선을 생성하는지 여부를 확인하고, 상기 양성정점단어집합에 포함된 정점단어 중 적어도 하나와 PMI 값이 0이하인 간선을 생성하지 않으면 상기 양성정점단어집합에 추가하는 토픽 추출 방법.
  11. 제 6 항에 있어서,
    상기 TC(Topic Clique)를 병합하는 것은,
    상기 임의의 두 TC(Topic Clique) 각각의 평균 PMI 값을 산출하고, 상기 임의의 두 TC(Topic Clique) 중 평균 PMI 값이 더 큰 TC(Topic Clique)를 추출하여 상기 TC(Topic Clique)를 병합하는 토픽 추출 방법.
  12. 문서 데이터를 수집하여 명사를 추출하는 명사 추출부;
    LDA 기법을 이용하여 상기 추출한 명사 중 LDA 토픽을 추출하는 LDA 토픽 추출부;
    상기 LDA 토픽 내 토픽후보단어 간의 유사도를 산출하고, 상기 토픽후보단어 간의 유사도에 따라 상기 LDA 토픽을 분리하는 토픽 분리부; 및
    상기 분리된 각 LDA 토픽을 상기 분리된 각 LDA 토픽 간의 거리에 따라 병합하여 최종 토픽을 추출하는 토픽 병합부를 포함하고,
    상기 토픽 분리부는,
    상기 토픽후보단어 간의 PMI(Pointwise Mutual Information) 값을 산출하여 유사도를 산출하고,
    상기 토픽후보단어 및 상기 토픽후보단어 간의 PMI 값을 나타내는 Matrix를 생성하고, 상기 Matrix 내에서 상기 토픽후보단어의 출현빈도에 따라 초기 기준단어를 설정하여 상기 설정한 각각의 초기 기준단어에 대한 TC(Topic Clique)를 생성하여 상기 LDA 토픽을 분리하는 토픽 추출 장치.
KR1020150104390A 2015-07-07 2015-07-23 토픽 추출 장치 및 방법 KR101671740B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/302,433 US20170192959A1 (en) 2015-07-07 2015-11-25 Apparatus and method for extracting topics
PCT/KR2015/012704 WO2017007084A1 (ko) 2015-07-07 2015-11-25 토픽 추출 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150096801 2015-07-07
KR1020150096801 2015-07-07

Publications (1)

Publication Number Publication Date
KR101671740B1 true KR101671740B1 (ko) 2016-11-16

Family

ID=57540492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150104390A KR101671740B1 (ko) 2015-07-07 2015-07-23 토픽 추출 장치 및 방법

Country Status (3)

Country Link
US (1) US20170192959A1 (ko)
KR (1) KR101671740B1 (ko)
WO (1) WO2017007084A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117944A (ko) * 2017-04-20 2018-10-30 군산대학교산학협력단 객체 평판 마이닝 방법 및 장치
KR20190127448A (ko) * 2018-05-04 2019-11-13 군산대학교산학협력단 잠재 디리클레 할당을 이용한 토픽 모델 자동화 방법 및 장치
KR20210146832A (ko) * 2020-05-27 2021-12-06 정치훈 토픽 키워드의 추출 장치 및 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170124181A1 (en) * 2015-10-30 2017-05-04 Oracle International Corporation Automatic fuzzy matching of entities in context
US10509855B2 (en) * 2016-03-02 2019-12-17 International Business Machines Corporation Dynamic facet tree generation
US10229184B2 (en) * 2016-08-01 2019-03-12 International Business Machines Corporation Phenomenological semantic distance from latent dirichlet allocations (LDA) classification
US10242002B2 (en) * 2016-08-01 2019-03-26 International Business Machines Corporation Phenomenological semantic distance from latent dirichlet allocations (LDA) classification
CN108334533B (zh) * 2017-10-20 2021-12-24 腾讯科技(深圳)有限公司 关键词提取方法和装置、存储介质及电子装置
US10977156B2 (en) * 2018-10-10 2021-04-13 International Business Machines Corporation Linking source code with compliance requirements
CN110321553B (zh) * 2019-05-30 2023-01-17 平安科技(深圳)有限公司 短文本主题识别方法、装置及计算机可读存储介质
CN110472225B (zh) * 2019-06-26 2021-05-18 北京交通大学 基于词扩展lda的铁路事故原因分析方法
US20230056003A1 (en) * 2021-08-23 2023-02-23 International Business Machines Corporation Automated document adaptation based on topic classification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116982A (ko) * 2012-04-17 2013-10-25 한국과학기술원 Sns에서 사회적 이웃의 관심사와 사회적 활동의 토픽을 통해 사용자 관심사를 추론하는 방법 및 그 시스템
KR20140056618A (ko) * 2012-10-30 2014-05-12 주식회사 케이티 콘텐츠 장면별 키워드 추출 서버 및 방법
KR20150008635A (ko) * 2013-07-15 2015-01-23 주식회사 다음카카오 핵심 키워드 선정 장치, 핵심 키워드 선정 방법 및 이를 이용한 검색 서비스 제공 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3855551B2 (ja) * 1999-08-25 2006-12-13 株式会社日立製作所 検索方法及び検索システム
KR20090013928A (ko) * 2007-08-03 2009-02-06 김남호 토픽 추출 장치, 상기 토픽 추출 장치를 이용한 소셜네트워크 생성 시스템 및 그 방법
US20090234836A1 (en) * 2008-03-14 2009-09-17 Yahoo! Inc. Multi-term search result with unsupervised query segmentation method and apparatus
US20100153365A1 (en) * 2008-12-15 2010-06-17 Hadar Shemtov Phrase identification using break points
US8356025B2 (en) * 2009-12-09 2013-01-15 International Business Machines Corporation Systems and methods for detecting sentiment-based topics
US8176067B1 (en) * 2010-02-24 2012-05-08 A9.Com, Inc. Fixed phrase detection for search
US8843497B2 (en) * 2012-02-09 2014-09-23 Linkshare Corporation System and method for association extraction for surf-shopping
US9195635B2 (en) * 2012-07-13 2015-11-24 International Business Machines Corporation Temporal topic segmentation and keyword selection for text visualization
US10599697B2 (en) * 2013-03-15 2020-03-24 Uda, Llc Automatic topic discovery in streams of unstructured data
US9948689B2 (en) * 2013-05-31 2018-04-17 Intel Corporation Online social persona management
US20150379610A1 (en) * 2013-07-19 2015-12-31 Rakuten, Inc. Recommendation information presentation device, recommendation information presentation method, and recommendation information presentation program
JP6040137B2 (ja) * 2013-10-17 2016-12-07 日本電信電話株式会社 アイテム推薦装置、アイテム推薦方法およびアイテム推薦プログラム
US9450771B2 (en) * 2013-11-20 2016-09-20 Blab, Inc. Determining information inter-relationships from distributed group discussions
US20150256475A1 (en) * 2014-03-05 2015-09-10 Wipro Limited Systems and methods for designing an optimized infrastructure for executing computing processes
US20150317303A1 (en) * 2014-04-30 2015-11-05 Linkedin Corporation Topic mining using natural language processing techniques
US10255354B2 (en) * 2015-04-24 2019-04-09 Microsoft Technology Licensing, Llc Detecting and combining synonymous topics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116982A (ko) * 2012-04-17 2013-10-25 한국과학기술원 Sns에서 사회적 이웃의 관심사와 사회적 활동의 토픽을 통해 사용자 관심사를 추론하는 방법 및 그 시스템
KR20140056618A (ko) * 2012-10-30 2014-05-12 주식회사 케이티 콘텐츠 장면별 키워드 추출 서버 및 방법
KR20150008635A (ko) * 2013-07-15 2015-01-23 주식회사 다음카카오 핵심 키워드 선정 장치, 핵심 키워드 선정 방법 및 이를 이용한 검색 서비스 제공 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180117944A (ko) * 2017-04-20 2018-10-30 군산대학교산학협력단 객체 평판 마이닝 방법 및 장치
KR101961012B1 (ko) * 2017-04-20 2019-03-21 군산대학교산학협력단 객체 평판 마이닝 방법 및 장치
KR20190127448A (ko) * 2018-05-04 2019-11-13 군산대학교산학협력단 잠재 디리클레 할당을 이용한 토픽 모델 자동화 방법 및 장치
KR102052823B1 (ko) * 2018-05-04 2019-12-05 군산대학교산학협력단 잠재 디리클레 할당을 이용한 토픽 모델 자동화 방법 및 장치
KR20210146832A (ko) * 2020-05-27 2021-12-06 정치훈 토픽 키워드의 추출 장치 및 방법
KR102519955B1 (ko) 2020-05-27 2023-04-10 정치훈 토픽 키워드의 추출 장치 및 방법

Also Published As

Publication number Publication date
WO2017007084A1 (ko) 2017-01-12
US20170192959A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
KR101671740B1 (ko) 토픽 추출 장치 및 방법
Ratinov et al. Learning-based multi-sieve co-reference resolution with knowledge
CN102799647B (zh) 网页去重方法和设备
CN110738039B (zh) 一种案件辅助信息的提示方法、装置、存储介质和服务器
CN105975453A (zh) 评论标签提取方法和装置
CN109902223B (zh) 一种基于多模态信息特征的不良内容过滤方法
CN102426603A (zh) 一种文字信息地域识别方法及装置
CN104216968A (zh) 一种基于文件相似度的排重方法及系统
Schulz et al. Small-scale incident detection based on microposts
CN107832467A (zh) 一种基于改进的Single‑pass聚类算法的微博话题检测方法
CN110110325A (zh) 一种重复案件查找方法和装置、计算机可读存储介质
Alfikri et al. Detailed analysis of extrinsic plagiarism detection system using machine learning approach (naive bayes and svm)
CN111191413B (zh) 一种基于图排序模型的事件核心内容自动标记方法、装置及系统
Shtekh et al. Applying topic segmentation to document-level information retrieval
Zaraket et al. Arabic cross-document NLP for the hadith and biography literature
KR101686067B1 (ko) 개체간 암묵적 관계 추론을 통한 정보 추출 증강 시스템 및 이를 이용한 정보 추출 방법
Rumagit et al. Comparison of graph-based and term weighting method for automatic summarization of online news
Vosoughi et al. A semi-automatic method for efficient detection of stories on social media
Indarapu et al. Comparative analysis of machine learning algorithms to detect fake news
KR102623120B1 (ko) 소셜 미디어 대상 재난 안전 관심 주제 탐지 시스템 및 방법
Saini et al. Intrinsic plagiarism detection system using stylometric features and DBSCAN
CN109542766A (zh) 基于代码映射和词法分析的大规模程序相似性快速检测与证据生成方法
Pathwar et al. Tackling COVID-19 infodemic using deep learning
CN108882033B (zh) 一种基于视频语音的人物识别方法、装置、设备和介质
Han et al. Mining Technical Topic Networks from Chinese Patents.

Legal Events

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

Payment date: 20191014

Year of fee payment: 4