Sangmun

자연어 전처리 관련 유용한 패키지 본문

개발

자연어 전처리 관련 유용한 패키지

상상2 2023. 1. 22. 12:40

1. KoNLPy

pip install konlpy

한국어 말뭉치를 처리하기 위해 각 문장의 품사를 분석하기 위한 패키지 이며 여러가지 모듈을 제공한다.

* Kkma, Komoran, Hannanum, Okt, Mecab 등등...

 

각각의 모듈들은 사용 하는 품사 태그나, 실행시간과 성능에 차이가 있다고 한다.

모듈별 품사 태그 : https://docs.google.com/spreadsheets/d/1OGAjUvalBuX-oZvZ_-9tEfYD2gQe7hTGsgUpiiBSXI8/edit#gid=0

모듈별 성능 비교 : https://konlpy.org/ko/latest/morph/#comparison-between-pos-tagging-classes

 

2. Khaiii

KoNLPy는 통계기반으로 형태소를 분석하지만 Khaiii는 딥러닝 기반으로 형태소를 분석을 하는 패키지이다.

!git clone https://github.com/kakao/khaiii.git
!pip install cmake
!mkdir build
!cd build && cmake ../khaiii
!cd build && make all
!cd build && make resource
!cd build && make install
!cd build && make package_python
!pip install build/package_python

깃허브 주소 : https://github.com/kakao/khaiii/wiki/CNN-%EB%AA%A8%EB%8D%B8

 

GitHub - kakao/khaiii: Kakao Hangul Analyzer III

Kakao Hangul Analyzer III. Contribute to kakao/khaiii development by creating an account on GitHub.

github.com

 

3. PyKoSpacing

PykoSpacing은 한국어의 띄어쓰기를 주성해주는 패키지로 딥러닝을 기반으로 한 패키지이다.

pip install git+https://github.com/haven-jeon/PyKoSpacing.git

https://github.com/haven-jeon/PyKoSpacing

 

GitHub - haven-jeon/PyKoSpacing: Automatic Korean word spacing with Python

Automatic Korean word spacing with Python . Contribute to haven-jeon/PyKoSpacing development by creating an account on GitHub.

github.com

 

4. Py-Hanspell

PyKoSpacing과 마찬가지로 딥러닝을 기반으로 하여 맞춤법을 교정해주는 패키지이며, '네이버 한국어 맞춤법 검사기'를 기반으로 제작이 되었다.

!pip install git+https://github.com/ssut/py-hanspell.git

https://github.com/ssut/py-hanspell

 

GitHub - ssut/py-hanspell: 파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용)

파이썬 한글 맞춤법 검사 라이브러리. (네이버 맞춤법 검사기 사용). Contribute to ssut/py-hanspell development by creating an account on GitHub.

github.com

 

5. NLTK

6. kss

7. spacy

 

최근 뉴스데이터를 전처리 하는 작업을 하고 있는데 정규표현식으로 필요 없는 구문들은 삭제를 해주고 위의 패키지들을 순차적으로만 적용해줘도 깔끔한 문장이 생성되는것을 확인할 수 있었다.

다만 딥러닝 기반이라 시간이 많이 소요되는 문제점이 있었다. 병렬처리를 해도 애초에 딥러닝 모델을 통과를 하는것이라 어쩔수가 없는 부분인것 같다...

'개발' 카테고리의 다른 글

Docker 기본 명령어 정리  (0) 2023.02.04
저작권에 대한 내용 정리  (0) 2023.01.23
python 코드 formatter black  (0) 2023.01.06
python flake8 기본 사용법  (0) 2023.01.05
Mini conda  (0) 2022.10.20
Comments