자연어 처리란

자연어(Natural Language)란 우리가 일상 생활에서 사용하는 언어를 의미한다. 자연어 처리(Natural Language Processing)란 이러한 자연어의 의미를 컴퓨터가 처리할 수 있도록 하는 것이다.

자연어 처리가 사용되는 분야에는 음성 인식, 내용 요약, 번역, 감성 분석, 텍스트 분류, 질의 응답 시스템, 챗봇 등이 있다.

 

키워드 추출 기법

  • 통계적 특성에 기초한 키워드 추출
    • Rake, YAKE!, TF-IDF
  • 의미적 측면을 고려한 키워드 추출
    • KeyBERT

TF-IDF

TF-IDF는 단어의 빈도와 역 문서 빈도를 사용하여 DTM(문서 단어 행렬)내의 각 단어들마다 중요한 정도를 가중치로 주는 특징 추출 기법이다.

 

  • TF (단어 빈도)
    • Term Frequency의 약자로, 1개 문서 안에서 특정 단어의 등장 빈도를 의미한다. 문장을 단어로 나눈 후 전체 단어 수에서 특정 단어가 얼마나 사용되었는지를 파악하는 방식이다. 해당 문서의 성질을 파악하는 지표로도 사용된다.

 

  • DF (문서 빈도)
    • Document Frequency의 약자로, 특정 단어가 나타나는 문서 수를 의미한다.
  • IDF (역 문서 빈도)
    • DF에서 역수 변환을 해준 값이다.

 

TF-IDF = TF * IDF이다.

단순히 많이 등장하는 빈도 수로 그 단어의 가치를 정하는 것이 아니라(Not Only TF), 많이 등장하는 단어들에게는 일종의 패널티를 주어서 단어 빈도의 스케일을 맞추어가는(But Also IDF) 기법이다.

 

KeyBERT

  • Python 언어 기반
  • BERT 언어 모델 사용
  • 트랜스포머 라이브러리 사용

공식 레포는 https://github.com/MaartenGr/KeyBERT 이다.

 

앞서 BERT 모델이란?

BERT는 2018년에 자연어 처리를 위해 구글에서 고안한 트랜스포머 기반의 머신러닝 기법이다. BERT의 가장 큰 특징중 하나는 문장 전체의 구조를 양방향으로 학습해 문맥을 파악한다는 점이다.

기존의 Word2Vec, Glove와 같은 임베딩 방식은 문맥 파악 없이 단어를 임베딩한 것에 반해 BERT는 앞뒤 문맥을 통해 구분할 수 있다는 장점을 갖는다.

 

KeyBERT는

BERT를 이용해 문서의 주제를 파악하고, N-gram을 위해 단어를 임베딩한다. 이후 코사인 유사도를 계싼해 어떤 N-gram 단어 또는 구가 문서와 가장 유사한지 찾아낸다. 가장 유사한 단어들은 문서를 가장 잘 설명할 수 있는 키워드로 분류된다.

 

 

출처

https://wikidocs.net/21667

https://insightcampus.co.kr/2021/07/08/keybert%EB%A1%9C-%EA%B4%80%EB%A0%A8-%ED%82%A4%EC%9B%8C%EB%93%9C-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0/

https://velog.io/@mare-solis/BERT-keyBert%EB%A1%9C-%ED%82%A4%EC%9B%8C%EB%93%9C-%EC%B6%94%EC%B6%9C%ED%95%98%EA%B8%B0

https://wiserloner.tistory.com/646

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기