BLOG/머신러닝
[자연어처리] Okt : 형태소 단위로 나누는 방법 (파이썬)
알디노
2021. 3. 23. 12:18
자연어처리를 할 때, 데이터 전처리로 문장을 형태소 단위로 나누는 과정을 거쳐야 하는데요, 파이썬에서 형태소 단위로 나누는 라이브러리는 다양합니다. 그중에서 Okt 라이브러리를 이용하여 형태소 단위로 나누는 방법에 대해서 살펴보도록 하겠습니다.
- 형태소 단위로 나누기
먼저, 필요한 라이브러리를 설치해줍니다.
from konlpy.tag import Okt
import re
그리고, 형태소 단위로 나눌 문장은 다음과 같다고 가정하겠습니다.
text1 = "Tue) 오늘도 나는 커피를 마셔요!"
Okt 객체를 이용해서 이 문장을 형태소 단위로 나누기 전, 한글과 공백을 제외한 문자를 모두 제거해주어야 하는데요, 정규표현식을 이용해서 코드를 다음과 같이 입력해주면 됩니다.
text2 = re.sub("[^가-힣ㄱ-ㅎㅏ-ㅣ\\s]", "", text1)
그리고나서, Okt를 이용하여 형태소 단위를 나누면 되는데요, okt 라이브러리의 morphs()라는 모듈을 이용하면 됩니다.
okt = Okt()
word_text = okt.morphs(text2, stem=True)
이렇게 다 입력하고 실행했다면, 문장이 형태소 단위로 나누어지게 되는데요, 그 결과를 보도록 하겠습니다.
print(word_text)
# output :
['오늘', '도', '나', '는', '커피', '를', '마시다']
확인 결과, 해당 문장이 형태소 단위로 잘 나누어졌음을 확인할 수 있습니다.