NLP/KoNLPy

[NLP] soynlp

데이터 세상 2021. 4. 11. 18:14

soynlp

https://github.com/lovit/soynlp

 

lovit/soynlp

한국어 자연어처리를 위한 파이썬 라이브러리입니다. 단어 추출/ 토크나이저 / 품사판별/ 전처리의 기능을 제공합니다. - lovit/soynlp

github.com

한국어 처리를 위한 파이썬 패키지 중 하나

  • KoNLPy에서 제공하는 형태소 분석기는 형태소 기반으로 문서를 토큰화할 수 있는 기능을 제공하지만 새롭게 만들어진 미 등록 단어들은 인식이 잘되지 않아 사용자 사전에 단어를 등록하는 절차 필요

사용자 사전과 형태소 분석 없이 cohension 기반으로 토큰화를 할 수 있는 기능 제공

 

Cohesion

  • 문자열을 글자 단위로 분리하여 부분문자열(substring)을 만들 때 왼쪽부터 문맥을 증가시키면서 각 문맥이 주어졌을 때 그 다음 글자가 나올 확률을 계산하여 누적곱을 한 값

 

Branching Entropy

  • 문자열의 경계에서 얼마나 다양한 다음 문자가 등장하는지를 계산하는 척도
  • 조건부 확률의 값이 아니라 확률분포의 엔트포리값을 사용

 

Accessor Variety

  • 확률분포를 구하지 않고 단순히 특정 문자열 다음에 나올 수 있는 글자의 종류만 계산
  • 글자의 종류가 많다면 엔트로피가 높아질 것이라고 추정하는 것

 

soynlp 설치

pip install soynlp

 

Corpus 다운로드

패키지 내에 말뭉치를 제공하지 않음

예제 말뭉치 파일을 다운로드해서 사용

github.com/lovit/soynlp/blob/master/tutorials/2016-10-20.txt

from soynlp import DoublespaceLineCorpus

# 문서 단위 말뭉치 생성 
corpus = DoublespaceLineCorpus("2016-10-20.txt")
len(corpus)  # 문서의 갯수

References

반응형

'NLP > KoNLPy' 카테고리의 다른 글

[NLP] Mecab 설치(Windows OS)  (0) 2021.04.21
[NLP] Mecab  (0) 2021.04.11
[NLP] Khaii  (0) 2021.03.18
[NLP] Okt  (0) 2021.03.18
[NLP] KoNLPy  (0) 2021.03.11