본문 바로가기
AI

YAKE:단일문서 키워드 추출기.

by soypablo 2022. 12. 25.

문서에서 키워드를 추출하는 것은 NLP에서 중요한 태스크중 하나이다.

그래서 오늘은 YAKE라는 키워드 추출기에 대해서 소개한다.

어떤 방식으로 키워드를 추출하는 지는 간단하게만 소개하고, 실제 사용법은 다음 글에 작성하려 한다.

논문링크

https://repositorio.inesctec.pt/server/api/core/bitstreams/ef121a01-a0a6-4be8-945d-3324a58fc944/content

YAKE의 장점

  1. 많은 양의 훈련데이터에 의존하지 않고, 단일 문서만 있어도 키워드 추출이 가능하다.
  2. 다국어에서 사용이 가능하다. 정확히 말하면 언어에 구애받는 부분이 매우 적다.(언어별로 stopword만 정의해주면 된다.)

추출 단계(6단계)

  1. 텍스트 사전 처리
  2. 특징 추출
  3. 개별 용어 점수
  4. 후보 키워드 목록 생성
  5. 데이터 중복 제거
  6. 순위

크게 데이터를 전처리하는 과정1, 데이터의 용어의 특징을 확인하는 2~6으로 나뉘어져 있다고 보면 될 것 같다.

1. 텍스트 사전 처리

먼저 텍스트를 space 또는 줄바꿈, 쉼표, 대괄호, 마침표등을 구분자로 분할한다.

2~6 특징

분할된 용어의 특징을 찾는 과정을 거치는데, 5가지 방법으로 특징을 찾는다.

1) Casing
2) Word Positional
3) Word Frequency
4) Word Relatedness to Context
5) Word DifSentence

1. Casing

Casing은 용어가 소문자인지 대문자인지를 조사하는 것이다.
의외로 소문자인지 대문자인지가 많이 중요하다.(물론 한국어에서는 소용이 없다.)
왜냐면 중요한 키워드는 보통 첫글자가 대문자이거나 전체를 대문자로 표시(줄임말)하기 때문이다.
이름도 중요한 키워드 요소인데 이름을 적을때도 대문자를 사용한다.

2. Word Positional

문장에서 단어가 어느 위치에 있는지를 통해 Term의 중요도를 체크한다.
보통 위키피디아나 기술관련도니 문서들을 보면, 문장에서 앞쪽에 있을 수록 중요한 키워드인 경우가 많기 때문에,
이러한 중요도 조사방식을 사용하는 것이 도움이 된다고 한다.

3. Word Frequency

용어의 빈도를 통해 점수를 매긴다. 용어의 빈도가 잦을수록 점수가 올라간다.

4. Word Relatedness to Context

후보 용어의 왼쪽(오른쪽)에 발생하는 다른 용어의 수를 계산한다.
(양쪽에서) 후보 단어와 동시에 발생하는 다른 용어의 수가 많을수록 후보 단어는 더 의미가 없을 가능성이 높다.

이게 무슨 말이냐면, 만약 후보 단어가 정말 중요한 단어라면, 이 단어에 대한 내용만으로 문장이 구성되었을 확률이 높다.
그런데 같은 문장에서 다른 용어들이 많이 나온다면, 중요한 키워드가 될 확률이 낮을 것이라는 이야기이다.

5. Word DifSentence

후보 단어가 다른 문장 내에 얼마나 자주 나타나는지를 정량화한다.
3번과 4번을 합친 것이라고 보면 된다. 어떤 두 예비키워드의 빈도는 동일한데, 여러 문장에 걸쳐 자주 나오는 예비 키워드가,
한문장에서 매우 자주 나오는 예비 키워드보다 점수가 높다고 보면 될 것이다.(확실하지 않음)

아무튼 각각 1-gram, 2-gram, 3-gram에 대해 예비 키워드를 만들고,
이 5가지를 종합해서 예비 키워드에 대해 점수를 매긴뒤, 밑의 스크린샷 처럼 키워드 랭킹을 리턴해준다.

사용법은 다음에 간단히 소개하겠다.(엄청쉽다 사실)