ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Text mining] RAKE(Rapid Automatic Keyword Extraction) Algorithm
    Data miner 2019. 3. 29. 14:36
    728x90

     

       Text mining 에서 중요한 부분을 담당하고 있는 전처리 부분(preprocessing). 이 전처리 과정을 용이하게 해주는 Rake algorithm에 대해서 정리하고자 한다. 전처리 과정이 중요한 이유는 Text에 포함된 수 많은 단어 중에서 분석에 있어 유의미한 단어들로 줄여야 하기 때문이다. 또한, 궁극적으로는 Text mining에서  분석 단계에서 쓰이는 Document-Term Matrix에서 구성 요소의 값들이 0이 아닌 값들로 구성하도록(dense matrix) 만들기 위함이다. 자 그러면, Rake algorithm은 어떻게 작동하는 것일까? 

    (구체적인 내용과 관련된 책의 출처는 : Automatic Keyword Extraction from Individual Documents ; https://www.researchgate.net/publication/227988510_Automatic_Keyword_Extraction_from_Individual_Documents)

     

    크게 3단계로 구성이 되며, 다음과 같다. 

    1. 키워드 후보군을 고르는 단계. 키워드는 문서에서 중요하게 여겨지는 단어들이며, 이는 문법적으로만 유의미한 단어들을 제외한다. RAKE 알고리즘에는 Stopword list와 더불어서 키워드 후보군에 영향을 미치는 파라미터가 총 3가지가 있다. 영어 텍스트의 경우, '문자열의 개수(단어로 간주 될 수 있는 최소한의 문자열의 수), 어구의 포함되는 단어들의 최대 개수, 그리고 전체 문서(코퍼스)에서 몇 번 등장하는지'가 해당 파라미터에 해당한다. 이를 통해서 키워드 후보군을 뽑아내게 된다. 

    2. 후보 단어들 중에서 Co-ocurrences of words(동시 출현한 단어)들을 중요한 의미를 가지는 단어들로 본다. 따라서, 각 단어들에 대해서 이와 관련된 word score을 측정하게 된다. 예시 메트릭스와 함께 설명하겠다.

    Text Mining: Applications and Theory.book에 실린 그림입니다!

    1) 각 단어들의 빈도수 계산 

    freq(minimal) = 3, freq(systems)=4 가 된다. 

    2) degree 계산 ; 개별 단어들의 빈도수와 단어가 어구의 형태로 후보군에 묶이게 되었을 때, 각 단어들의 빈도수와 다른 단어와 함께 쓰이는 횟수를 더한 값

    deg(minimal) = 1+3+2+1+1 = 8, deg(systems) = 4 가 된다. 

    3) degree / 빈도수 를 통한 1)과 2)의 비율을 구한다. 어구의 ratio 값은 어구에 포함된 각각의 단어 ratio의 값을 더하면 된다. 이 값이 나중에 최종 keyword list를 만드는데 중요한 영향을 끼치게 된다. 

    ratio(minimal) = 8/3 , ratio(systems) =1 이 되며, ratio(minimal systems) = 11/3 이다.

    4) 총 개별 단어의 수의 3분의 1에 해당하는 수를 keyword list의 총 갯수로 본다. 예를 들어 총 단어가 28개 였다면, 28/3, 약 9개의 단어가 유의미한 keyword에 해당한다. Ratio의 값을 내림차순으로 정렬하여 상위 9개를 분석에 있어서 유의미한 단어로 보게 되는 것이다. 

     

    이런 과정을 통해 RAKE algorithm이 작동하게 되며, 이를 직접적으로 코딩하는 방법은 곧 올리겠다! 

     

     

     

Designed by Tistory.