한국어 문장을 처리할 때, 문장 내 띄어쓰기에도 주의해야한다.
띄어쓰기가 어디에 되어있는지에 따라 다른 의미로 해석될 가능성이 존재하기 때문이다.
아래의 예시를 보자.
1) 엄마가 회사 줬어
2) 엄마가 회 사줬어
두 문장의 의미가 띄어쓰기에 따라 완전히 달라진다는 것을 확인할 수 있다.
이렇기 때문에 텍스트 데이터를 분석할 때 띄어쓰기가 제대로 되어있도록 교정해주는 작업이 필요하다.
PyKoSpacing 패키지
띄어쓰기가 되어있지 않은 문장을 띄어쓰기 처리를 해주는 패키지고 PyKoSpacing 이 있다.
PyKoSpacing is based on Deep Learning model trained from large corpus(more than 100 million NEWS articles from Chan-Yub Park).
참고로 R 에서도 사용할 수 있는 라이브러리를 제공하고 있다.
일반적인 텍스트 데이터를 사용하는 경우, 대부분 띄어쓰기가 되어있는 상태로 수집될 가능성이 크다.
따라서 사용 전에는 띄어쓰기를 없애주는 작업을 진행하고 해당 라이브러리를 사용해서 띄어쓰기 처리를 한다.
Example
- prerequisite
pip install tensorflow
pip install keras
- Installation
!pip install git+https://github.com/haven-jeon/PyKoSpacing.git
- 간단한 예제
먼저, 예제 텍스트를 띄어쓰기가 없는 문장으로 만들어준다.
text = '최근 주요 시중은행에서 주택담보대출을 받는 금융소비자 가운데 70% 이상이 고정금리를 선택하고 있는 것으로 나타났다.'
# 띄어쓰기가 없는 문장으로 만들기
text_nospace = text.replace(" ", '')
print(text_nospace)
이후 pykospacing 을 사용하여, 새로 띄어쓰기를 해준다.
from pykospacing import Spacing
spacing = Spacing()
kospacing_result = spacing(text_nospace)
print(text)
print(kospacing_result)
위의 예시에서는 원본과 새로 띄어쓰기 처리를 한 결과가 동일함을 확인할 수 있다.
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
'[Python] 연습' 카테고리의 다른 글
[Python] ChatGPT 파인튜닝 예제 (1) | 2024.01.31 |
---|---|
[python] matplotlib 한글 폰트 적용하기 (0) | 2023.04.30 |
[python] 리스트 형태의 값을 분리하여 각 하나의 값으로 표현하기 (0) | 2022.11.12 |
[python] json 파일 data frame 으로 읽기 (0) | 2022.11.11 |
[python] 프로그래머스 신고결과받기 (0) | 2022.10.29 |