자연어처리를 할 때, 데이터 전처리로 문장을 형태소 단위로 나누는 과정을 거쳐야 하는데요, 파이썬에서 형태소 단위로 나누는 라이브러리는 다양합니다. 그중에서 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 :
['오늘', '도', '나', '는', '커피', '를', '마시다']
확인 결과, 해당 문장이 형태소 단위로 잘 나누어졌음을 확인할 수 있습니다.
'BLOG > 머신러닝' 카테고리의 다른 글
[머신러닝] 지도학습과 비지도학습의 차이 및 알고리즘 종류 (0) | 2021.03.23 |
---|---|
[머신러닝] 데이터프레임 : Null 값이 있는 행 확인하고, 삭제하는 방법 (0) | 2021.03.23 |
[자연어처리] 파이썬으로 원 핫 인코딩(One-Hot Encoding) 구현하기 (코드) (0) | 2021.03.23 |
[자연어처리] 패딩(Padding) : 다른 숫자로 패딩하는 방법 (파이썬) (0) | 2021.03.23 |
[자연어처리] 패딩(Padding) : 길이 지정 방법 - maxlen (파이썬) (0) | 2021.03.23 |