KR101122436B1 - 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치 - Google Patents

단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치 Download PDF

Info

Publication number
KR101122436B1
KR101122436B1 KR1020100095117A KR20100095117A KR101122436B1 KR 101122436 B1 KR101122436 B1 KR 101122436B1 KR 1020100095117 A KR1020100095117 A KR 1020100095117A KR 20100095117 A KR20100095117 A KR 20100095117A KR 101122436 B1 KR101122436 B1 KR 101122436B1
Authority
KR
South Korea
Prior art keywords
word
score
words
transfer
document
Prior art date
Application number
KR1020100095117A
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 KR1020100095117A priority Critical patent/KR101122436B1/ko
Priority to JP2011215297A priority patent/JP5877677B2/ja
Application granted granted Critical
Publication of KR101122436B1 publication Critical patent/KR101122436B1/ko

Links

Images

Classifications

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

Landscapes

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

Abstract

단어의 문서 관련도 점수 및 연관된 단어들 간의 전달 점수에 기반하여 문서의 키워드를 추출하는 방법 및 장치가 제공된다.
문서는 형태소 분석되고, 분석된 결과를 이용하여 단어 그래프가 생성된다. 단어의 문서 관련도 점수는 생성된 단어 그래프와 병합되어 단어의 중요도를 나타내는 키워드 점수가 계산된다. 계산된 키워드 점수에 따라 단어들 중 문서의 키워드가 선택된다.

Description

단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치{METHOD AND APPARATUS FOR EXTRACTING KETWORDS FROM A PAGE BASED ON RELEVANCE SCORES OF TERMS AND GRAPH STRUCTURE}
아래의 실시예들은 문서 집합이 주어졌을 때, 문서 집합에 포함되는 각 문서의 키워드를 추출하는 방법 및 장치에 관한 것이다.
웹(Web)에서 수집된 문서들, 뉴스 기사들 또는 학술지에 발표된 논문들과 같은 문서 집합이 주어졌을 때, 각 문서의 키워드가 추출될 필요가 있다.
문서에서 키워드를 추출하는 방법은 크게 학습 기반 방법과 비학습 기반 방법으로 분류될 수 있다.
학습 기반 방법은 어휘와 의미에 기반하여 키워드를 인식하도록 미리 학습한 키워드 추출 시스템이 학습된 결과를 바탕으로 문서의 키워드를 추출하는 방법이다.
비학습 기반 방법은 키워드 추출 시스템이 학습 과정 없이 단어들이 사용된 순서나 횟수 등을 활용하여 키워드를 추출하는 방법이다.
비학습 기반 방법은 키워드 추출 시스템의 학습이 요구되지 않으므로 간단하게 사용될 수 있다. 또한, 비학습 기반 방법의 키워드 추출 성능은 학습 기반 방법의 키워드 추출 성능과 유사한 것으로 알려져 있다.
정보 검색 분야에서는, 질의어와 유사한 문서를 찾기 위하여 각 단어의 문서 관련도 점수가 계산된다. 각 단어의 문서 관련도 점수를 계산하기 위해, 문서에 포함되는 각 단어의 문서 내 사용 빈도(Term Frequency; TF) 및 각 단어들이 사용된 문서 수 등이 이용된다.
각 문서를 구성하는 단어들 중, 해당 문서에서 많이 사용되는 단어와 다른 문서에서는 사용되지 않지만 해당 문서에서만 사용되는 단어들은 해당 문서에서 중요한 단어로 간주될 수 있다. 문서의 관점에서 보면, 관련도 점수가 높은 단어들이 문서를 적절하게 표현하는 단어들이라고 볼 수 있다.
본 발명의 일 실시예는, 단어의 문서 관련도 점수 및 연관된 단어들 간의 전달 점수에 기반하여 문서의 키워드를 추출하는 방법 및 장치를 제공할 수 있다.
본 발명의 일 실시예는, 문서를 형태소 분석함으로써 생성된 단어 그래프 및 단어의 문서 관련도 점수를 병합하는 비학습 기반의 키워드 점수 생성 방법 및 장치를 제공할 수 있다.
본 발명의 일측에 따르면, 문서의 키워드를 추출하는 방법에 있어서, 하나 이상의 단어들 각각의 상기 문서에 대한 관련도 점수를 계산하는 단계, 상기 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들을 계산하는 단계 및 상기 하나 이상의 전달 점수들 및 상기 관련도 점수에 기반하여 상기 하나 이상의 단어들 각각의 키워드 점수를 계산하는 단계를 포함하고, 상기 하나 이상의 전달 점수들은 상기 관련도 점수에 기반하여 생성되고, 상기 하나 이상의 단어들 중 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 전달되는, 문서의 키워드 추출 방법이 제공된다.
상기 문서의 키워드 추출 방법은, 상기 문서를 형태소 분석하여 단어 단위로 분할함으로써 상기 하나 이상의 단어들을 생성하는 단계를 더 포함할 수 있다.
상기 하나 이상의 단어들은 상기 문서 내의 단어들 중 특정한 품사의 단어들일 수 있고, 상기 거리는 상기 특정한 품사의 단어들을 기준으로 계산될 수 있다.
상기 하나 이상의 단어들 중 특정한 단어의 상기 관련도 점수는 문서 집합 중 상기 특정한 단어가 사용된 문서의 개수 및 상기 특정한 단어의 상기 문서 내 사용 빈도 중 하나 이상에 기반하여 계산될 수 있다.
상기 문서의 키워드 추출 방법은, 하나 이상의 노드들 및 하나 이상의 링크들을 포함하는 단어 그래프를 생성하는 단계를 더 포함할 수 있고, 상기 하나 이상의 노드들 각각은 상기 하나 이상의 단어들 중 하나의 단어에 대응할 수 있고, 상기 하나 이상의 링크들 각각은 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결할 수 있다.
상기 전달 점수는 상기 단어 그래프 내의 경로의 시작 노드에 대응하는 제1 단어로부터 상기 경로의 마지막 노드에 대응하는 제2 단어로 전달될 수 있고, 상기 경로는 상기 하나 이상의 링크 중 하나 이상의 연결된 링크들일 수 있다.
상기 제1 단어로부터 상기 제2 단어로의 상기 전달 점수는 상기 제1 단어의 상기 관련도 점수 및 상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율에 기반하여 계산될 수 있다.
상기 제1 단어로부터 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제3 단어들 각각으로의 상기 전달 점수 비율들은 상기 하나 이상의 제3 단어들 각각의 상기 관련도 점수 및 상기 제1 단어에 대응하는 노드로부터 상기 제3 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례할 수 있다.
상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율은 상기 하나 이상의 연결된 링크들 각각에 대응하는 전달 점수 비율들에 기반하여 계산될 수 있고, 상기 링크에 대응하는 전달 점수 비율은 상기 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 전달 점수 비율일 수 있다.
상기 문서의 키워드 추출 방법은 상기 하나 이상의 단어들 중 일부를 키워드 점수의 내림차순으로 키워드로서 선택하는 단계를 더 포함할 수 있다.
본 발명의 다른 일측에 따르면, 문서의 키워드를 추출하는 장치에 있어서, 하나 이상의 단어들 각각의 상기 문서에 대한 관련도 점수를 계산하는 관련도 점수 계산부, 상기 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들을 계산하는 전달 점수 계산부 및 상기 하나 이상의 전달 점수들 및 상기 관련도 점수에 기반하여 상기 하나 이상의 단어들 각각의 키워드 점수를 계산하는 키워드 점수 계산부를 포함하고, 상기 전달 점수 계산부는 상기 관련도 점수에 기반하여 상기 하나 이상의 전달 점수들을 생성하고, 상기 하나 이상의 단어들 중 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 상기 하나 이상의 전달 점수들 각각을 전달하는, 문서의 키워드 추출 장치가 제공된다.
단어의 문서 관련도 점수 및 연관된 단어들 간의 전달 점수에 기반하여 문서의 키워드를 추출하는 방법 및 장치가 제공된다.
문서를 형태소 분석함으로써 생성된 단어 그래프 및 단어의 문서 관련도 점수를 병합하는 비학습 기반의 키워드 점수 생성 방법 및 장치가 제공된다.
도 1은 본 발명의 일 실시예에 따른 단어로 구성된 그래프를 도시한다.
도 2는 본 발명의 일 실시예에 따른 단어의 키워드 점수 계산 방법을 설명한다.
도 3은 본 발명의 일 실시예에 따른 길이가 1인 경로의 전달 점수 비율의 계산 방법을 도시한다.
도 4는 본 발명의 일 예에 따른 전달 점수 계산 방법을 도시한다.
도 5는 본 발명의 일 실시예에 따른 문서의 키워드 추출 방법의 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 문서의 키워드 추출 장치의 구조도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 단어로 구성된 그래프를 도시한다.
주어진 문서(110)는 형태소 분석되어 단어 단위로 분할된다. 형태소 분석에 의해 생성된 단어 및 단어의 품사는 하기의 표 1과 같다.
주어진[동사] 문서[명사] 를[조사] 형태소[명사] 분석[명사]
한[어미] 후[명사] 형태소[명사] 분석[명사] 에[조사]
의해서[동사] 생성[명사] 된[어미] 단어[명사] 들[조사]
의[조사] 나열[명사] 로[조사] 표현[명사] 한다[어미]
.[심볼] 그[대명사] 후[명사] 노드[명사] 는[조사]
단어[명사] 에[조사] 해당[명사] 하고[어미] 단어[명사]
나열[명사] 에서[조사] 서로[부사] 인접[명사] 한[어미]
단어[명사] 들[조사] 에[조사] 해당[명사] 하는[어미]
두[관형사] 개[의존명사] 의[조사] 노드[명사] 는[조사]
링크[명사] 로[조사] 연결[명사] 되어[어미] 있는[동사]
단어[명사] 그래프[명사] 를[조사] 생성[명사] 한다[어미]
.[심볼]
생성된 단어들 중 특정한 품사(예컨대, 명사, 형용사 또는 동사)의 단어만으로 단어 그래프가 구성될 수 있다.
표 1의 단어들 중 명사는 하기의 표 2와 같다.
문서 형태소 분석 형태소
분석 생성 단어 나열 표현
노드 단어 해당 단어
나열 인접 단어 해당 노드
링크 연결 단어 그래프 생성
표 2의 25개의 명사들 중 중복된 단어들을 제외하면 14개의 단어들이 남는다. 따라서 14개의 단어들에 각각 대응하는 14개의 노드를 갖는 단어 그래프(120)가 생성될 수 있다.
단어 그래프(120)는 하나 이상의 노드들을 포함하며, 하나 이상의 링크를 포함할 수 있다.
하나 이상의 노드들 각각은 문서 내의 하나 이상의 단어들 중 하나의 단어에 대응한다.
문서 내에서, 인접한 2개의 단어들에 각각 대응하는 2개의 노드들 사이에 링크가 생성된다.
인접한 2개의 단어들은 서로 간의 거리가 특정 값 이하인 2개의 단어들을 의미한다. 즉, 하나 이상의 링크들 각각은 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결한다.
단어들 간의 거리는 특정한 품사의 단어들을 기준으로 계산될 수 있다. 예컨대, 표 2에서 나열된 명사들 중, 바로 이어진 경우만을 인접한 경우로 볼 경우, (문서, 형태소), (형태소, 분석), (분석, 후) 등이 인접한 단어 쌍이다. 2단계 떨어져 있는 경우도 인접한 경우로 볼 경우, (문서, 형태소), (문서, 분석), (형태소, 분석), (형태소, 후) 등이 인접한 단어에 해당된다.
도시된 그래프(120)는 바로 이어진 2개의 단어들이 인접한 단어들로 간주되었을 때, 표 2의 나열된 명사를 사용하여 생성된 것이다.
문서 내에서 특정한 단어 쌍이 1번 이상 인접할 때, 상기 단어 쌍을 나타내는 노드 쌍은 1개 이상의 링크로 연결된다. 예컨대, 표 2에서 "단어" 및 "해당"은 3번 인접한다(서로 간의 거리가 1인 2개의 단어들을 인접한 것으로 봄). 따라서, "단어"에 대응하는 노드(122) 및 "해당"에 대응하는 노드(124)는 3개의 링크로 서로 연결된다.
도 2는 본 발명의 일 실시예에 따른 단어의 키워드 점수 계산 방법을 설명한다.
도 2에서 4개의 노드들(210, 230, 250 및 270)이 도시되었고, 노드들(210, 230, 250 및 270)은 각각 단어
Figure 112010063175849-pat00001
(212, 232, 252 및 272)에 대응한다.
시작 노드(210) 및 마지막 노드(270)는 d개의 링크로 연결되었다. d개의 연결된 링크는 d+1개의 노드를 연결하며, 이 중 첫 번째 노드(210), 두 번째 노드(230), d 번째 노드(250) 및 d+1 번째 노드(270)가 도시되었고, 나머지 노드는 생략되었다.
노드(210) 및 노드(270) 간의 경로(290)는 d개의 연결된 링크들을 포함한다. 이 중 첫 번째 링크(292), 두 번째 링크(294), d-1 번째 링크(296) 및 d 번째 링크(298)가 도시되었다.
단어 t e (272)의 키워드 점수 KS(t e )(280)는 단어 t e (272)의 문서에 대한 관련도 점수(이하, 관련도 점수로 약술함) R(t e )(282) 및 단어 t e (272) (또는, 단어 t e (272)에 대응하는 노드(270))로 전달된 하나 이상의 전달 점수들(284)에 기반하여 계산된다.
예컨대, 키워드 점수 KS(t e )(280)는 관련도 점수 R(t e )(282) 및 전달 점수들(284)의 가중치가 부여된 합일 수 있다.
특정한 단어의 관련도 점수는 상기 특정한 단어의 문서에 대한 관련도를 의미한다. 특정한 단어의 관련도 점수는 문서 집합 중 상기 특정한 단어가 사용된 문서의 개수를 나타내는 역 문서 빈도(Inverse Document Frequency; IDF) 및 단어의 문서 내 사용 빈도(Term Frequency; TF)에 기반하여 계산될 수 있다. 관련도 점수는 BM25 모델 및 언어 모델 등의 방법을 사용하여 계산될 수 있다.
전달 점수는 특정 단어로 전달되는 점수를 의미하며, 문서 내의 다른 단어로부터 상기 특정 단어로 전달된다.
전달 점수는 상호 인접한 2개의 단어들을 통해 전달된다. 이는, 단어 그래프의 관점에서, 전달 점수는 링크로 연결된 2개의 노드들을 통해 전달된다는 것을 의미한다.
즉, 전달 점수는 단어 그래프 내의 경로의 시작 노드(또는, 시작 노드에 대응하는 시작 단어)로부터 경로의 마지막 노드(또는, 마지막 노드에 대응하는 마지막 단어)로 전달된다.
도시된 경로(290)를 통해 첫 번째 노드(210)(단어 t s (212))로부터 d+1 번째 노드(270)(단어 t e (272))로 전달 점수가 전달된다.
경로의 마지막 단어(예컨대, t e (272))가 경로의 시작 단어(예컨대, t s (212))로부터 전달 받은 점수를 제1 점수라 하고, 경로의 시작 단어의 관련도 점수를 제2 점수라 할 때, 제1 점수 및 제2 점수 간의 비율을 전달 점수 비율로 명명한다. 전달 점수 계수 및 전달 계수 또한 같은 의미이다.
길이가 d인 경로(290)에서, 경로(290)의 마지막 단어 t e (272)가 경로의 시작 단어 t s (212)로부터 전달 받은 전달 점수를 단어 t s (212)의 관련도 점수 R(t s )(222)에 비교했을 때, 그 전달 점수 비율을 α d (t e , t s )로 나타낸다.
전달 점수 비율이 주어진 경우, 경로의 마지막 단어가 경로의 시작 단어로부터 전달 받는 전달 점수는 시작 단어의 관련도 점수 및 시작 단어로부터 마지막 단어로의 전달 점수 비율에 기반하여 계산될 수 있다. 즉, 전달 점수는 시작 단어의 관련도 점수 및 시작 단어로부터 마지막 단어로의 전달 점수 비율의 곱일 수 있다.
두 노드 간의 전달 점수 비율은 두 노드를 연결하는 경로의 전달 점수 비율인 것으로 볼 수 있다.
길이가 d인 경로의 전달 점수 비율은, 상기 경로를 구성하는 길이가 1인 경로(즉, 링크)들의 전달 점수 비율들의 곱으로 볼 수 있다.
즉, 전달 점수 비율 α d (t e , t s )에 대해 하기의 수학식 1이 성립한다.
Figure 112010063175849-pat00002
여기서,
Figure 112010063175849-pat00003
는 첫 번째 노드(210)로부터 두 번째 노드(230)로의 전달 점수 비율이다. 이는 첫 번째 링크(292)의 전달 점수 비율로 볼 수 있다.
Figure 112010063175849-pat00004
는 두 번째 노드(230)로부터 D 번째 노드(250)로의 전달 점수 비율이다. 이는 두 번째 링크(294) 내지 D-1 번째 링크(296)의 전달 점수 비율들을 곱한 값이다.
Figure 112010063175849-pat00005
는 D 번째 노드(250)로부터 D+1 번째 노드(270)로의 전달 점수비율이다.
전술된 것처럼, 전달 점수 비율은 경로를 구성하는 하나 이상의 연결된 링크들 각각에 대응하는 전달 점수 비율들에 기반하여 계산될 수 있고, 링크에 대응하는 전달 점수 비율은 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 점수 전달 비율일 수 있다.
일반적으로, 2개의 단어들은 상호 간에 연관되는 것이며, 하나의 단어가 일방적으로 다른 단어를 참조하는 것이 아니다. 따라서, 단어 그래프의 링크는 양방향 링크로 볼 수 있다. 따라서, 길이가 1인 링크에 대응하는 전달 점수 비율은 각 방향 별로 2개이다. 예컨대, 단어 t 1 과 단어 t 2 가 상호 연관된 경우, t 1 으로부터 t 2 로의 전달 점수 비율
Figure 112010063175849-pat00006
t 2 로부터 t 1 으로의 전달 점수 비율
Figure 112010063175849-pat00007
이 각각 계산되며, 양 값들
Figure 112010063175849-pat00008
Figure 112010063175849-pat00009
은 서로 상이할 수 있다.
첫 번째 노드(210)로부터 d+1 번째 노드(270)로 전달되는 전달 점수는 첫 번째 노드(210)의 관련도 점수 R(t s )(222)가 d 개의 링크들(292, 294, 296 및 298)을 거쳐 d+1 번째 노드(270)로 전달되면서, 관련도 점수 R(t s )(222)에 d개의 링크들 각각의 점수 전달 비율이 순차적으로 곱해진 값으로 볼 수 있다.
따라서, 전달 점수는 특정한 단어 t의 관련도 점수에 기반하여 생성되며, 생성된 전달 점수는 링크를 통해 전달되는 것으로 볼 수 있다. 링크는 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결하는 것이다. 따라서, 전달 점수는 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 전달되는 것으로 볼 수 있다. 전달 점수가 하나 이상의 링크들을 통해 전달되면서, 링크에 대응하는 전달 점수 비율이 상기 하나 이상의 링크들을 통해 전달되고 있는 전달 점수에 곱해진다.
또한, 제1 단어에 대응하는 제1 노드 및 제2 단어에 대응하는 제2 노드가 하나 이상의 링크로 연결되었을 때, 제1 단어로부터 제2 단어로의 전달 점수 비율은 상기 하나 이상의 링크들 각각에 대응하는 전달 점수 비듈들에 기반하여 계산될 수 있다. 각각의 링크에 대응하는 전달 점수 비율은 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 전달 점수 비율일 수 있다.
링크를 통해 전달 점수가 전달되면서 상기 전달 점수에 링크의 전달 점수 비율이 곱해짐에 따라, 전달 점수의 값은 점점 작이진다. 전달 중인 전달 점수가 특정한 임계값 이하가 되면, 상기 전달 점수는 더 이상 전달되지 않을 수 있다. 이는 키워드 점수를 계산하는데 의미가 없을 정도의 적은 값이 계속적으로 전달되는 것을 방지하며, 전달 점수 또는 키워드 점수를 계산하는 시스템에 과도한 부하가 발생하는 것을 방지한다.
특정 단어 t에 대응하는 노드는 하나 이상의 경로들의 마지막 노드일 수 있다. 따라서, 상기 특정 노드에 대응하는 단어 t로 전달되는 전달 점수는 하나 이상일 수 있다. 이러한 하나 이상의 경로들은 경로의 길이에 따라 분류될 수 있다.
일반적으로, 하나 이상의 경로들은 싸이클(Cycle)을 포함할 수 있다. 단, 실시예에 따라, 하나 이상의 경로들은 싸이클(Cycle)을 포함하지 않는 것만으로 한정될 수도 있다.
따라서, 단어 t로 전달되는 전달 점수들의 총 합 T(t)는 하기의 수학식 2에 따라 계산될 수 있다.
Figure 112010063175849-pat00010
여기서, path(t, d)는 길이가 d이고, 단어 t가 마지막 단어인(즉, 단어 t에 대응하는 노드가 마지막 노드인) 하나 이상의 경로들을 나타낸다. start(l)은 경로 l의 시작 단어(즉, 시작 단어에 대응하는 시작 노드)를 나타낸다.
d는 최대 경로 길이일 수 있다. 즉, 전달 점수는 길이가 d 이하인 경로를 통해서만 전달되는 것으로 제한될 수 있다. d는 단어 t에 대응하는 노드가 마지막 노드인 하나 이상의 경로들 각각의 길이의 최대값일 수 있다. 실시예에 따라, 하나 이상의 경로들은 싸이클을 포함하지 않는 것으로 한정될 수 있으며, 싸이클을 포함하는 것도 허용될 수 있다.
전술된 것처럼, 단어 t의 키워드 점수 KS(t)는 단어 t의 관련도 점수 R(t) 및 단어 t로의 전달 점수들의 총 합 T(t)의 가중치가 부여된 합으로 볼 수 있다. 관련도 점수 R(t)에 대한 가중치를 λ(0 ≤ λ ≤ 1)라 하고, 전달 점수들에 대한 가중치를 (1 - λ)라 할 때, 키위드 점수 KS(t)는 하기의 수학식 3에 따라 계산될 수 있다.
Figure 112010063175849-pat00011
도 3은 본 발명의 일 실시예에 따른 길이가 1인 경로의 전달 점수 비율의 계산 방법을 도시한다.
도 3에서, 노드(310)로부터 상기 노드(310)에 인접하는 하나 이상의 다른 노드들(330, 350 및 370) 각각으로의 전달 점수 비율(322, 342 및 362)을 계산하는 방법이 검토된다. 즉, 단어 t s (312)에 대응하는 노드(310)가 시작 노드이며, 상기 노드(310)에 링크(320, 340 또는 360)로 연결된 다른 노드들(330, 350 및 370)가 마지막 노드일 때, 시작 노드 및 마지막 노드들을 각각 연결하는 링크(320, 340 및 360)의 전달 점수 비율(322, 342 및 362)이 계산된다.
시작 노드(310)는 n 개의 노드들(330, 350 및 370) 각각과 링크(320, 340 및 360)로 연결되었다. 즉, 단어 t s (312)는 단어 t 1 내지 t n (332, 352 및 372)과 일정한 거리 내에 있다. 연결된 n 개의 노드들 중 첫 번째 노드(330), 두 번째 노드(350) 및 n 번째 노드(370)가 도시되었고, 3 번째 노드 내지 n - 1 번째 노드는 생략되었다.
일반적으로, 단어 그래프 내의 링크는 양방향 링크이나, 도 3 에서는 시작 노드(310)로부터 다른 노드들(330, 350 및 370) 각각으로의 단방향 링크(320, 340 및 360) 만이 도시되었다.
단어 t s (312) 관련도 점수는 R(t s )(314)이고, 단어 t 1 내지 t n (332, 352 및 372)의 관련도 점수는 각각 R(t 1 ) 내지 R(t n )(334, 354 및 374)이다.
링크의 전달 점수 비율은 상기 링크의 시작 노드의 관련도 점수(예컨대, R(t s )(314)) 및 상기 시작 노드의 아웃 링크가 가리키는 노드들의 관련도 점수들(예컨대,
Figure 112010063175849-pat00012
)의 합(예컨대,
Figure 112010063175849-pat00013
)에 반비례할 수 있다. 이 때, 특정한 노드가 2개 이상의 링크로 연결된 경우, 상기의 노드에 대응하는 단어의 관련도 점수는 링크의 개수만큼 반복하여 더해질 수 있다.
링크의 전달 점수 비율은 상기 링크의 마지막 노드의 관련도 점수(예컨대, R(t 1 )(334), R(t 2 )(354) 또는 R(t n )(374))에 비례할 수 있다.
전술된 시작 노드의 관련도 점수 및 상기 시작 노드와 링크로 연결된 노드들의 관련도 점수들의 합은 모든 마지막 노드들에게 공통된 값이다. 따라서, 링크들(320, 340, 360)의 전달 점수 비율들(322, 342 및 362)은 상기 링크들(320, 340, 360)이 가리키는 노드(330, 350 및 370)의 관련도 점수(334, 354 및 374)에 비례할 수 있다.
따라서, 특정한 2개의 단어들 사이의 링크는 1개 이하라고 가정하면, 특정한 제1 단어로부터 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제2 단어들 각각으로의 전달 점수 비율은 상기 하나 이상의 제2 단어들 각각의 관련도 점수에 비례할 수 있다.
특정한 제1 단어와 특정한 제3 단어가 하나 이상의 링크들로 연결된 경우, 각각의 링크는 별도의 전달 점수 비율을 갖는다(단, 이 경우 하나 이상의 링크들의 전달 점수 비율들은 동일함). 따라서, 특정한 제1 단어로부터 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제2 단어들 각각으로의 전달 점수 비율들은 하나 이상의 제2 단어들 각각의 관련도 점수 및 상기 제1 단어에 대응하는 노드로부터 상기 제2 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례할 수 있다.
전술된 것처럼, 단어 t s 로부터 단어 t e 로의 링크의 전달 점수 비율 α 1 (t e , t s )는 하기의 수학식 4에 의해 계산될 수 있다.
Figure 112010063175849-pat00014
여기서, outlink(t s )는 단어 t s 에 대응하는 노드의 아웃 링크(즉, 단어 t s 에 대응하는 노드에서 시작하고 길이가 1인 경로)의 집합이고, end(l)은 아웃 링크 l에 연결된 노드에 대응하는 단어(즉, 길이가 1인 경로 l의 마지막 노드에 대응하는 단어)이다.
도 4는 본 발명의 일 예에 따른 전달 점수 계산 방법을 도시한다.
도 4에서, 문서(400)는 4개의 단어 A(412), B(422), C(432) 및 D(442)로 구성되었다. 상기 문서(400)에 기반하여 단어 그래프(402)가 생성된다. 본 예에서, 서로 간의 거리가 1인 2개의 단어들을 서로 인접한 단어들로 본다.
단어 그래프(402)는 4개의 노드들(410, 420, 430 및 440)(이하 각각 노드 A, 노드 B, 노드 C 및 노드 D로 명명함) 및 상기 노드들(410, 420, 430 및 440) 간의 링크들(450, 452, 454, 456, 458 및 460)을 포함한다. 상기 링크들은 양방향 링크이다.
노드 A 내지 D(410, 420, 430 및 440)는 각각 단어 A 내지 D(412, 422, 432 및 442)에 대응한다. 단어 A 내지 D(412, 422, 432 및 442)는 각각 관련도 점수(414, 424, 434 또는 444)를 갖는다.
전달 점수는 단계 별로 전달될 수 있다.
하나의 단계에서, 전달 점수는 하나의 아웃 링크를 거쳐 전달된다. 제1 단어 및 제2 단어가 길이가 3인 경로를 통해 연결되어 있을 경우, 제1 단어로부터 제2 단어로의 전달 점수가 전달되려면 3 단계가 요구된다.
본 실시예에서, 전달 점수가 전달되는 경로는 싸이클을 포함할 수 있다.
특정 단계에서 제1 단어로 전달된 전달 점수들은, 그 다음 단계에서, 제1 단어가 나타내는 노드의 아웃 링크들을 따라 제1 단어에 인접한 제2 단어들로 재전달된다. 전술한 것과 같이, 아웃 링크를 통해 재전달되는 값은, 이전 단계에서 제1 단어로 전달된 전달 점수들의 합 및 상기 링크의 전달 점수 비율의 곱일 수 있다.
단어의 키워드 점수는 상기 단어의 관련도 점수 및 특정 단계에서 상기 단어로 전달된 점수에 기반하여 계산될 수 있다.
하기에서, 아웃 링크로 연결된 단어로 전달 점수를 전달하는 과정을 검토한다.
우선, 단어들(412, 422, 432 및 442)의 관련도 점수(414, 424, 434 및 444) 및 전술된 수학식 4를 이용하여, 링크들(450, 452, 454, 456, 458 및 460) 각각의 전달 점수 비율이 계산된다.
단어 A(412)에 대응하는 노드 A(410)의 아웃 링크들은 각각 노드 B(420), 노드 C(430) 및 노드 D(440)를 가리킨다.
따라서, 노드 A(410)로부터 노드 B(420)로의 전달 점수 비율은 0.6/(0.4 + 0.6 + 0.8 + 1.0) = 3/14이다. 노드 A(410)로부터 노드 C(430)로의 전달 점수 비율은 0.8/(0.4 + 0.6 + 0.8 + 1.0) = 2/7이다. 노드 A(410)로부터 노드 D(440)로의 전달 점수 비율은 1.0/(0.4 + 0.6 + 0.8 + 1.0) = 5/14이다.
같은 방법으로, 노드 B(420)에서 다른 노드들(410, 430 및 440)으로의 전달 점수 비율이 계산된다. 단, 노드 B(420) 및 노드 C(430)는 두 개의 링크들(456 및 458)로 연결되기 때문에, 전달 점수 비율의 계산에 있어서, 단어 C(432)의 관련도 점수(434)는 두 번 포함된다. 따라서, 노드 B(420)로부터 노드 C(430)로의 링크들(456 및 458) 각각의 전달 점수 비율은 0.8/(0.6 + 0.4 + 0.8 + 0.8 + 1.0) = 2/9이다.
하기의 표 3은 시작 노드(행) 및 마지막 노드(열) 사이의 링크의 전달 점수 비율을 나타낸다. 2개의 노드들 사이에 2개 이상의 링크들이 있을 경우, 2개 이상의 링크들 각각의 전달 점수 비율을 나타낸다.
이하, "노드 A로부터"를 "A →"와 같이 약술하고, "노드 A로"를 "→ A"로 약술한다. 즉, "A → B"는 "노드 A로부터 노드 B로"를 의미한다.
→ A → B → C → D
A → 0 3/14 2/7 5/14
B → 1/9 0 2/9 5/18
C → 1/6 1/4 0 0
D → 1/5 3/10 0 0
다음으로, 첫 번째 단계에서 아웃 링크로 연결된 노드(즉, 노드에 대응하는 단어)로 전달 점수가 전달되는 과정을 살펴본다.
첫 번째 단계에서 각 노드가 아웃 링크로 연결된 단어로 전달하는 점수는, 상기 노드가 나타내는 단어의 관련도 점수 및 상기 아웃 링크의 전달 점수 비율의 곱일 수 있다.
예컨대, A(410) → B(420)의 전달되는 점수는 단어 A(412)의 관련도 점수 0.4(414) 및 A(410) → B(420)의 전달 점수 비율 3/14를 곱한 값인 0.4 * 3/14 = 3/35이다. B(420) → C(430)의 전달되는 점수는 양 노드들(420 및 430) 간의 아웃 링크가 2개이므로, B(422)의 관련도 점수 0.6(424), B(420) → C(430)의 전달 점수 비율 2/9 및 링크의 개수 2를 곱한 값인 0.6 * 2/9 * 2 = 4/15이다.
하기의 표 4는 첫 번째 점수 전달 단계에서 각 단어가 다른 단어들로 전달한 점수를 표시한다.
→ A → B → C → D
A → 0 3/35 4/35 1/7
B → 1/15 0 4/15 1/6
C → 2/15 2/5 0 0
D → 1/5 3/10 0 0
유입 총합 2/5 11/14 8/21 13/42
키워드 점수 0.400000 0.63714 0.71619 0.86190
유입 총합은 단어들 각각으로 유입된 전달 점수의 총 합을 나타낸다.
키워드 점수는 상기 점수 전달 단계가 수행된 후 계산된, 단어들 각각의 키워드 점수이다. 단어의 키워드 점수는 수학식 2와 같이 단어의 관련도 점수 및 단어로 전달된 전달 점수들의 가중치가 부여된 합일 수 있다.
λ = 0.8인 경우, 단어 A(412)의 키워드 점수는 1) 0.8(λ)에 0.4(관련도 점수(414))를 곱한 값 및 2) 0.2(1 - λ)에 2/5(단어 A로의 유입 총합)를 곱한 값의 합이다. 즉, 표 4에서 표시된 것과 같이, 단어 A(412)의 키워드 점수는 0.8 * 0.4 + 0.2 * 2/5 = 2/5이다.
다음으로, 두 번째 단계에서 아웃 링크로 연결된 노드(즉, 노드에 대응하는 단어)로 전달 점수가 전달되는 과정을 살펴본다. 두 번째 단계에서부터는 단어의 관련도 점수가 아닌 단어들 각각이 이전 단계에서 전달받은 점수들(즉, 전 단계의 유입 총합)을 이용하여 전달 점수가 계산된다.
예컨대, 단어 A(412)에서 단어 B(422)로 전달될 점수는 단어 A(412)가 직전 단계에서 받은 전달 점수의 유입 총합 및 A(410) → B(420)의 아웃 링크(450)의 전달 점수 비율을 곱한 값(즉, 2/5 * 3/14 = 3/35)이다.
또한, 단어 B(422)에서 단어 C(432)로 전달될 점수는 단어 B(422)가 직전 단계에서 받은 전달 점수의 유입 총합, B(420) → C(430)의 아웃 링크(456 및 458)의 전달 점수 비율 및 B(420) → C(430)의 아웃 링크(456 및 458)의 개수를 곱한 값(즉, 11/14 * 2/9 * 2 = 22/63)이다.
하기의 표 5는 점수 전달의 두 번째 단계에서 각 단어가 다른 단어들로 전달한 점수를 표시한다.
→ A → B → C → D
A → 0 3/35 4/35 1/7
B → 11/126 0 22/63 55/252
C → 16/315 32/105 0 0
D → 13/210 13/140 0 0
유입 총합 1/5 29/60 146/315 13/36
키워드 점수 0.36000 0.41667 0.41270 0.39222
두 번째 단계 이후로는, 같은 과정이 반복된다.
하기의 표 6은 동일한 점수 전달 단계가 한 번 더 반복되었을 경우의 점수의 흐름 및 단어들 각각의 키워드 점수를 표시한다.
→ A → B → C → D
A → 0 3/70 2/35 1/14
B → 29/540 0 29/135 29/216
C → 79/945 73/315 0 0
D → 13/210 13/140 0 0
유입 총합 27/140 262/713 257/945 94/457
키워드 점수 0.35857 0.39349 0.37439 0.36114
상기와 같은 점수 전달 단계가 반복되면서, 전달될 점수들이 임계값 이하가 될 경우 점수 전달이 중단될 수 있다.
상기와 같은 점수 전달 단계가 일정한 횟수만큼 수행되면 점수 전달이 중단될 수 있다. 예컨대, 점수 전달 단계가 3회 반복되고 중단된다면, 단어들(412, 422, 432 및 442) 각각의 최종 키워드 점수는 표 6에서 표시된 키워드 점수이다.
표 6의 결과에 따르면, 단어들 각각의 키워드 점수는 B(422) > A(412) > C(432) > D(442)의 순서이다. 따라서, 1개의 키워드가 추출될 경우, 단어 B(422)가 키워드로 지정되고, 2개의 키워드가 추출될 경우, 단어 B(422) 및 단어 C(432)가 키워드로 지정된다.
도 5는 본 발명의 일 실시예에 따른 문서의 키워드 추출 방법의 흐름도이다.
문서의 키워드 추출 방법은 단어 그래프 생성 단계(S510 내지 S532), 전달 점수 계산 단계(S540 내지 S570) 및 키워드 지정 단계(S580 내지 S590)로 구분될 수 있다.
단어 그래프 생성 단계(S510 내지 S532)에서는 문서의 단어 그래프가 생성된다.
전달 점수 계산 단계(S540 내지 S570)에서는 하나 이상의 단어들 각각이 전달받은 점수가 계산된다.
키워드 지정 단계(S580 내지 S590)에서는 문서의 키워드가 지정된다.
우선, 단어 그래프 생성 단계(S510 내지 S532)를 설명한다. 본 단계(S510 내지 S532)에서 하나 이상의 노드들 및 하나 이상의 링크들을 포함하는 단어 그래프가 생성된다.
단계(S510)에서, 형태소 분석에 의해 문서가 단어 단위로 분할된다.
단계(S520)에서, 분할된 단어들 중 사용하고자 하는 특정한 품사의 단어들이 선택되고, 하나 이상의 단어들로 구성된 단어 리스트가 생성된다.
단계(S530)에서, 하나 이상의 단어들 중 중복된 단어들이 제거되고 남은 하나 이상의 단어들 각각이 단어 그래프의 노드로서 할당된다.
단계(S532)에서, 단어 리스트 내에서 서로 인접한 2개의 단어들이 검색된다. 검색된 2개의 단어들에 각각 대응하는 2개의 노드들이 링크로 연결된다. 서로 인접한 2개의 단어들은 단어 리스트에서 서로 간의 거리가 특정 값 이하인 2개의 단어일 수 있다. 단어 리스트는 특정한 품사의 단어들만을 포함할 수 있으므로, 문서를 기준으로 거리를 산정할 경우, 상기 거리는 특정한 품사의 단어들을 기준으로 계산될 수 있다.
다음, 전달 점수 계산 단계(S540 내지 S570)를 설명한다.
단계(S540)에서, 하나 이상의 단어들 각각의 관련도 점수가 계산된다.
특정한 단어의 관련도 점수는 문서 집합 중 상기 특정한 단어가 사용된 문서의 개수 및 상기 특정한 단어의 문서 내 사용 빈도 중 하나 이상에 기반하여 계산될 수 있으며, BM25 등의 방법을 사용하여 계산될 수 있다.
단계(S542)에서, 하나 이상의 단어들의 관련도 점수들에 기반하여 하나 이상의 링크들 각각의 전달 점수 비율이 계산된다. 이 때, 제1 단어 및 제2 단어를 연결하는 링크의 전달 점수 비율은, 제1 단어로부터 제2 단어로의 전달 점수 비율 및 제2 단어로부터 제1 단어로의 전달 점수 비율이 각각 계산된다.
제1 단어로부터 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제3 단어들 각각으로의 전달 점수 비율들은, 상기 하나 이상의 제3 단어들 각각의 관련도 점수 및 제1 단어에 대응하는 노드로부터 상기 제3 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례할 수 있다.
단계(S544)에서, 하나 이상의 단어들 각각에 대해, 전달 받은 전달 점수의 누적값이 0으로 초기화된다.
단계(S550)에서, 관련도 점수에 기반하여 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들이 계산된다. 하나 이상의 전달 점수들 각각은 링크를 통해 전달된다.
전달 점수는 전달 점수를 전달하는 노드에 대응하는 단어의 관련도 점수 및 전달 점수를 전달할 링크의 전달 점수 비율의 곱일 수 있다.
즉, 제1 단어로부터 제2 단어로의 전달 점수는 제1 단어의 관련도 점수 및 제1 단어로부터 제2 단어로의 링크의 전달 점수 비율에 기반하여 계산될 수 있다.
단계(S560)에서, 계산된 전달 점수들이 링크를 통해 하나 이상의 단어들 각각으로 전달된다.
단계(S562)에서, 하나 이상의 단어들 각각은, 전달 받은 전달 점수들을 자신의 누적값에 더한다.
단계(S564)에서, 단어로 전달된 전달 점수들에 기반하여 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들이 계산된다. 하나 이상의 전달 점수들 각각은 링크를 통해 전달 된다.
전달 점수는 전달 점수를 전달하는 노드에 대응하는 단어가 전달 받은 전달 점수와 전달 점수를 전달할 링크의 전달 점수 비율의 곱일 수 있다.
특정 링크로 전달될 전달 점수가 주어진 임계값보다 작을 경우, 상기 전달 점수는 0으로 간주될 수 있다.
단계(S570)에서, 인접할 단어로 보낼 전달 점수가 있는지 여부가 검사된다.
하나 이상의 링크들 각각을 통해 전달될 전달 점수들이 모두 0이라면, 더 이상 인접한 단어로 보낼 전달 점수가 없는 것으로 볼 수 있다.
또는, 하나 이상의 단어들 각각으로 전달 점수가 전달된 횟수(즉, 단계(S560)이 반복된 횟수)가 주어진 임계값을 초과했다면, 더 이상 인접한 단어로 보낼 전달 점수가 없는 것으로 볼 수 있다.
인접할 단어로 보낼 전달 점수가 더 있는 경우 단계(S560)가 다시 수행되고, 그렇지 않은 경우, 키워드 지정 단계(S580 내지 S590)가 수행된다.
다음, 키워드 지정 단계(S580 내지 S590)를 설명한다.
단계(S580)에서, 하나 이상의 단어들 각각의 키워드 점수가 계산된다.
단어의 키워드 점수는 단어로 전달된 하나 이상의 전달 점수들 및 단어의 관련도 점수에 기반하여 계산될 수 있다.
단어의 키워드 점수는 단어로 전달된 하나 이상의 전달 점수들 및 단어의 관련도 점수의 가중치가 부여된 합일 수 있다.
단계(S590)에서, 하나 이상의 단어들 중 키워드가 지정된다.
키워드는 하나 이상의 단어들 중 일부가 키워드 점수의 내림차순으로 선택된 것일 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 6은 본 발명의 일 실시예에 따른 문서의 키워드 추출 장치의 구조도이다.
문서의 키워드 추출 장치(600)는 저장부(610), 단어 생성부(620), 단어 그래프 생성부(630), 관련도 점수 계산부(640), 전달 점수 계산부(650), 키워드 점수 계산부(660) 및 키워드 추출부(670)를 포함할 수 있다.
저장부(610)는 본 장치에서 사용되는 데이터 구조(예컨대, 문서, 단어, 노드, 링크, 단어 리스트, 관련도 점수, 전달 점수, 전달 점수 비율, 키워드 점수 및 추출된 키워드를 나타내기 위한 데이터 구조 또는 객체)를 저장하고, 다른 구성 요소(620 내지 670)에게 제공한다.
상기의 데이터 구조는 저장부(610)를 거치지 않고, 다른 구성 요소(620 내지 670) 간에 직접적으로 제공될 수 있다.
단어 생성부(620)는 문서를 형태소 분석하여 단어 단위로 분할함으로써 하나 이상의 단어들을 생성한다.
단어 그래프 생성부(630)는 하나 이상의 노드들 및 하나 이상의 링크들을 포함하는 단어 그래프를 생성한다.
단어 그래프 생성부(630)는 하나 이상의 단어들 각각에 대응하는 하나 이상의 노드들을 생성할 수 있고, 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결하는 하나 이상의 링크들을 생성할 수 있다.
관련도 점수 계산부(640)는 하나 이상의 단어들 각각의 상기 문서에 대한 관련도 점수를 계산한다.
관련도 점수 계산부(640)는 문서 집합 중 단어가 사용된 문서의 개수 및 단어의 문서 내 사용 빈도 중 하나 이상에 기반하여 관련도 점수를 계산할 수 있다.
전달 점수 계산부(650)는 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들을 계산한다.
전달 점수 계산부(650)는 관련도 점수에 기반하여 하나 이상의 전달 점수들을 생성할 수 있고, 하나 이상의 단어들 중 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 상기 하나 이상의 전달 점수들 각각을 전달할 수 있다.
전달 점수 계산부(650)는 단어 그래프 내의 경로의 시작 노드에 대응하는 제1 단어로부터 상기 경로의 마지막 노드에 대응하는 제2 단어로 전달 점수를 전달할 수 있고, 상기 경로는 하나 이상의 링크 중 하나 이상의 연결된 링크들일 수 있다.
전달 점수 계산부(650)는 제1 단어의 상기 관련도 점수 및 제1 단어로부터 제2 단어로의 전달 점수 비율에 기반하여 제1 단어로부터 제2 단어로의 전달 점수를 계산할 수 있다.
전달 점수 계산부(650)는 제1 단어와 특정 거리 내에 있는 하나 이상의 제3 단어들 각각의 관련도 점수 및 제1 단어에 대응하는 노드로부터 제3 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례하도록 제1 단어로부터 하나 이상의 제3 단어들 각각으로의 전달 점수 비율들을 계산할 수 있다.
전달 점수 계산부(650)는 하나 이상의 연결된 링크들 각각에 대응하는 전달 점수 비율들에 기반하여 제1 단어로부터 제2 단어로의 전달 점수 비율을 계산할 수 있다. 이 경우, 링크에 대응하는 전달 점수 비율은 상기 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 전달 점수 비율일 수 있다.
단어 생성부(620630)는 문서 내의 단어들 중 특정한 품사의 단어들을 상기 하나 이상의 단어들로서 생성할 수 있고, 전달 점수 계산부(650)는 특정한 품사의 단어들을 기준으로 단어들 간의 거리를 계산할 수 있다.
키워드 점수 계산부(660)는 하나 이상의 전달 점수들 및 관련도 점수에 기반하여 하나 이상의 단어들 각각의 키워드 점수를 계산한다.
키워드 추출부(670)는 하나 이상의 단어들 중 일부를 키워드 점수의 내림차순으로 키워드로서 선택한다.
앞서 도 1 내지 도 5를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
상기 구성 요소들(620 내지 670)의 기능은 단일한 제어부(도시되지 않음)에서 수행될 수 있다. 이때, 상기 제어부는 단일(Single) 또는 복수(Multi) 프로세서(Processor)를 나타낼 수 있다. 상기 구성 요소들(620 내지 670)은 상기 제어부에서 수행되는 서비스(Service), 프로세스(Process), 쓰레드(Thread) 또는 모듈(Module)을 나타낼 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
600: 문서의 키워드 추출 장치
620: 단어 생성부
630: 단어 그래프 생성부
640: 관련도 점수 계산부
650: 전달 점수 계산부
660: 키워드 점수 계산부
670: 키워드 추출부

Claims (23)

  1. 문서의 키워드를 추출하는 방법에 있어서,
    하나 이상의 단어들 각각의 상기 문서에 대한 관련도 점수를 계산하는 단계;
    상기 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들을 계산하는 단계; 및
    상기 하나 이상의 전달 점수들 및 상기 관련도 점수에 기반하여 상기 하나 이상의 단어들 각각의 키워드 점수를 계산하는 단계
    를 포함하고, 상기 하나 이상의 전달 점수들은 상기 관련도 점수에 기반하여 생성되고, 상기 하나 이상의 단어들 중 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 전달되는, 문서의 키워드 추출 방법.
  2. 제1항에 있어서,
    상기 문서를 형태소 분석하여 단어 단위로 분할함으로써 상기 하나 이상의 단어들을 생성하는 단계
    를 더 포함하는, 문서의 키워드 추출 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 단어들은 상기 문서 내의 단어들 중 특정한 품사의 단어들이고, 상기 거리는 상기 특정한 품사의 단어들을 기준으로 계산되는 문서의 키워드 추출 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 단어들 중 특정한 단어의 상기 관련도 점수는 문서 집합 중 상기 특정한 단어가 사용된 문서의 개수 및 상기 특정한 단어의 상기 문서 내 사용 빈도 중 하나 이상에 기반하여 계산되는, 문서의 키워드 추출 방법.
  5. 제1항에 있어서,
    하나 이상의 노드들 및 하나 이상의 링크들을 포함하는 단어 그래프를 생성하는 단계
    를 더 포함하고, 상기 하나 이상의 노드들 각각은 상기 하나 이상의 단어들 중 하나의 단어에 대응하고, 상기 하나 이상의 링크들 각각은 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결하는, 문서의 키워드 추출 방법.
  6. 제5항에 있어서,
    상기 전달 점수는 상기 단어 그래프 내의 경로의 시작 노드에 대응하는 제1 단어로부터 상기 경로의 마지막 노드에 대응하는 제2 단어로 전달되고, 상기 경로는 상기 하나 이상의 링크 중 하나 이상의 연결된 링크들인, 문서의 키워드 추출 방법.
  7. 제6항에 있어서,
    상기 경로는 싸이클을 포함하지 않는, 문서의 키워드 추출 방법.
  8. 제6항에 있어서,
    상기 제1 단어로부터 상기 제2 단어로의 상기 전달 점수는 상기 제1 단어의 상기 관련도 점수 및 상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율에 기반하여 계산되는, 문서의 키워드 추출 방법.
  9. 제8항에 있어서,
    상기 제1 단어로부터 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제3 단어들 각각으로의 상기 전달 점수 비율들은 상기 하나 이상의 제3 단어들 각각의 상기 관련도 점수 및 상기 제1 단어에 대응하는 노드로부터 상기 제3 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례하는, 문서의 키워드 추출 방법.
  10. 제8항에 있어서,
    상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율은 상기 하나 이상의 연결된 링크들 각각에 대응하는 전달 점수 비율들에 기반하여 계산되고, 상기 링크에 대응하는 전달 점수 비율은 상기 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 전달 점수 비율인, 문서의 키워드 추출 방법.
  11. 제1항에 있어서,
    상기 하나 이상의 단어들 중 일부를 키워드 점수의 내림차순으로 키워드로서 선택하는 단계
    를 더 포함하는, 문서의 키워드 추출 방법.
  12. 제1항 내지 제11항 중 어느 한 항의 문서의 키워드 추출 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  13. 문서의 키워드를 추출하는 장치에 있어서,
    하나 이상의 단어들 각각의 상기 문서에 대한 관련도 점수를 계산하는 관련도 점수 계산부;
    상기 하나 이상의 단어들 각각으로 전달되는 하나 이상의 전달 점수들을 계산하는 전달 점수 계산부; 및
    상기 하나 이상의 전달 점수들 및 상기 관련도 점수에 기반하여 상기 하나 이상의 단어들 각각의 키워드 점수를 계산하는 키워드 점수 계산부
    를 포함하고,
    상기 전달 점수 계산부는 상기 관련도 점수에 기반하여 상기 하나 이상의 전달 점수들을 생성하고, 상기 하나 이상의 단어들 중 서로 간의 거리가 특정 값 이하인 2개의 단어들을 통해 상기 하나 이상의 전달 점수들 각각을 전달하는, 문서의 키워드 추출 장치.
  14. 제13항에 있어서,
    상기 문서를 형태소 분석하여 단어 단위로 분할함으로써 상기 하나 이상의 단어들을 생성하는 단어 생성부
    를 더 포함하는, 문서의 키워드 추출 장치.
  15. 제13항에 있어서,
    상기 단어 생성부는 상기 문서 내의 단어들 중 특정한 품사의 단어들을 상기 하나 이상의 단어들로서 생성하고,
    상기 전달 점수 계산부는 상기 특정한 품사의 단어들을 기준으로 상기 거리를 계산하는 문서의 키워드 추출 장치.
  16. 제13항에 있어서,
    상기 관련도 점수 계산부는 상기 하나 이상의 단어들 중 특정한 단어의 상기 관련도 점수를 문서 집합 중 상기 특정한 단어가 사용된 문서의 개수 및 상기 특정한 단어의 상기 문서 내 사용 빈도 중 하나 이상에 기반하여 계산하는, 문서의 키워드 추출 장치.
  17. 제13항에 있어서,
    하나 이상의 노드들 및 하나 이상의 링크들을 포함하는 단어 그래프를 생성하는 단어 그래프 생성부
    를 더 포함하고,
    상기 단어 그래프 생성부는 상기 하나 이상의 단어들 각각에 대응하는 상기 하나 이상의 노드들을 생성하고, 서로 간의 거리가 특정 값 이하인 2개의 단어들에 각각 대응하는 2개의 노드들을 연결하는 상기 하나 이상의 링크들을 생성하는, 문서의 키워드 추출 장치.
  18. 제17항에 있어서,
    상기 전달 점수 계산부는 상기 단어 그래프 내의 경로의 시작 노드에 대응하는 제1 단어로부터 상기 경로의 마지막 노드에 대응하는 제2 단어로 상기 전달 점수를 전달하고, 상기 경로는 상기 하나 이상의 링크 중 하나 이상의 연결된 링크들인, 문서의 키워드 추출 장치.
  19. 제18항에 있어서,
    상기 경로는 싸이클을 포함하지 않는, 문서의 키워드 추출 장치.
  20. 제18항에 있어서,
    상기 전달 점수 계산부는 상기 제1 단어의 상기 관련도 점수 및 상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율에 기반하여 상기 제1 단어로부터 상기 제2 단어로의 상기 전달 점수를 계산하는, 문서의 키워드 추출 장치.
  21. 제20항에 있어서,
    상기 전달 점수 계산부는 상기 제1 단어와 특정 거리 내에 있는 하나 이상의 제3 단어들 각각의 상기 관련도 점수 및 상기 제1 단어에 대응하는 노드로부터 상기 제3 단어들 각각에 대응하는 노드로의 링크의 개수의 곱에 비례하도록 상기 제1 단어로부터 상기 하나 이상의 제3 단어들 각각으로의 상기 전달 점수 비율들을 계산하는, 문서의 키워드 추출 장치.
  22. 제20항에 있어서,
    상기 전달 점수 계산부는 상기 하나 이상의 연결된 링크들 각각에 대응하는 전달 점수 비율들에 기반하여 상기 제1 단어로부터 상기 제2 단어로의 전달 점수 비율을 계산하고, 상기 링크에 대응하는 전달 점수 비율은 상기 링크가 연결하는 2개의 노드들에 각각 대응하는 2개의 단어들 간의 전달 점수 비율인, 문서의 키워드 추출 장치.
  23. 제13항에 있어서,
    상기 하나 이상의 단어들 중 일부를 키워드 점수의 내림차순으로 키워드로서 선택하는 키워드 추출부
    를 더 포함하는, 문서의 키워드 추출 장치.
KR1020100095117A 2010-09-30 2010-09-30 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치 KR101122436B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100095117A KR101122436B1 (ko) 2010-09-30 2010-09-30 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치
JP2011215297A JP5877677B2 (ja) 2010-09-30 2011-09-29 単語の文書関連度スコアおよびグラフ構造に基づく文書のキーワード抽出方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100095117A KR101122436B1 (ko) 2010-09-30 2010-09-30 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101122436B1 true KR101122436B1 (ko) 2012-03-09

Family

ID=46141729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100095117A KR101122436B1 (ko) 2010-09-30 2010-09-30 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치

Country Status (2)

Country Link
JP (1) JP5877677B2 (ko)
KR (1) KR101122436B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066216A (ko) * 2014-12-02 2016-06-10 세종대학교산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
KR101713558B1 (ko) * 2015-10-30 2017-03-08 조선대학교산학협력단 소셜 네트워크 서비스 상의 사용자 게시글 감정 분류 방법
KR20210117038A (ko) * 2020-03-18 2021-09-28 충북대학교 산학협력단 소셜 네트워크에서 연관 문서 분석을 통한 지역 이벤트 검출 시스템 및 방법
WO2021235617A1 (ko) * 2020-05-20 2021-11-25 위인터랙트 주식회사 과학기술 지식정보 추천 시스템 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145281B (zh) * 2017-06-15 2020-12-25 北京嘀嘀无限科技发展有限公司 语音识别方法、装置及存储介质
TW201921336A (zh) 2017-06-15 2019-06-01 大陸商北京嘀嘀無限科技發展有限公司 用於語音辨識的系統和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896614B1 (ko) 2007-01-29 2009-05-08 엔에이치엔(주) 검색 시스템 및 방법
KR20100093804A (ko) * 2009-02-17 2010-08-26 엔에이치엔(주) 기여 점수에 기초한 문서 순위 결정 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366582A (ja) * 2001-06-06 2002-12-20 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法、プログラム、および同プログラムを記録した記録媒体
JP2009193219A (ja) * 2008-02-13 2009-08-27 Nippon Telegr & Teleph Corp <Ntt> インデックス作成装置、その方法、プログラム及び記録媒体
JP4934115B2 (ja) * 2008-08-08 2012-05-16 ヤフー株式会社 キーワード抽出装置、方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100896614B1 (ko) 2007-01-29 2009-05-08 엔에이치엔(주) 검색 시스템 및 방법
KR20100093804A (ko) * 2009-02-17 2010-08-26 엔에이치엔(주) 기여 점수에 기초한 문서 순위 결정 시스템 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160066216A (ko) * 2014-12-02 2016-06-10 세종대학교산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
KR101638535B1 (ko) 2014-12-02 2016-07-11 세종대학교 산학협력단 사용자 검색어 연관 이슈패턴 검출 방법, 이를 수행하는 이슈패턴 검출 서버 및 이를 저장하는 기록매체
KR101713558B1 (ko) * 2015-10-30 2017-03-08 조선대학교산학협력단 소셜 네트워크 서비스 상의 사용자 게시글 감정 분류 방법
KR20210117038A (ko) * 2020-03-18 2021-09-28 충북대학교 산학협력단 소셜 네트워크에서 연관 문서 분석을 통한 지역 이벤트 검출 시스템 및 방법
KR102328234B1 (ko) 2020-03-18 2021-11-17 충북대학교 산학협력단 소셜 네트워크에서 연관 문서 분석을 통한 지역 이벤트 검출 시스템 및 방법
WO2021235617A1 (ko) * 2020-05-20 2021-11-25 위인터랙트 주식회사 과학기술 지식정보 추천 시스템 및 그 방법
KR20210143431A (ko) * 2020-05-20 2021-11-29 위인터랙트(주) 과학기술 지식정보의 추천을 위한 운영컴퓨터, 과학기술 지식정보 추천 시스템 및 그 방법
KR102371329B1 (ko) * 2020-05-20 2022-03-07 위인터랙트(주) 과학기술 지식정보의 추천을 위한 운영컴퓨터, 과학기술 지식정보 추천 시스템 및 그 방법

Also Published As

Publication number Publication date
JP2012079309A (ja) 2012-04-19
JP5877677B2 (ja) 2016-03-08

Similar Documents

Publication Publication Date Title
KR101122436B1 (ko) 단어의 문서 관련도 점수 및 그래프 구조에 기반한 문서의 키워드 추출 방법 및 장치
US7519588B2 (en) Keyword characterization and application
Furlan et al. Semantic similarity of short texts in languages with a deficient natural language processing support
US8321409B1 (en) Document ranking using word relationships
US10528662B2 (en) Automated discovery using textual analysis
CN110083696B (zh) 基于元结构技术的全局引文推荐方法、推荐系统
US11531692B2 (en) Title rating and improvement process and system
US7917496B2 (en) Method and apparatus for discovering and classifying polysemous word instances in web documents
Srinivas et al. A weighted tag similarity measure based on a collaborative weight model
Twinandilla et al. Multi-document summarization using k-means and latent dirichlet allocation (lda)–significance sentences
Mohamed et al. Improving query-based summarization using document graphs
JP6340351B2 (ja) 情報検索装置、辞書作成装置、方法、及びプログラム
JP7434125B2 (ja) 文書検索装置、文書検索方法、及びプログラム
JP2008117351A (ja) 検索システム
Oard et al. TREC 2006 at Maryland: Blog, Enterprise, Legal and QA Tracks.
US8135715B2 (en) Method and apparatus for discovering and classifying polysemous word instances in web documents
KR102519955B1 (ko) 토픽 키워드의 추출 장치 및 방법
Dianati et al. Words stemming based on structural and semantic similarity
Benkoussas et al. Book Recommendation Using Information Retrieval Methods and Graph Analysis.
Choi et al. Consento: a new framework for opinion based entity search and summarization
Yang et al. An Opinion-aware Approach to Contextual Suggestion.
Rahimtoroghi et al. A structural rule-based stemmer for Persian
Sindhu et al. Plagiarism detection in Malayalam language text using a composition of similarity measures
Huang et al. Constructing personal knowledge base: automatic key-phrase extraction from multiple-domain web pages
JP2009140411A (ja) 文章要約装置および文章要約方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170117

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 8