형태소 분석기 - (2)
Data Analyst

빅데이터 관련 자료/Dacon

형태소 분석기 - (2)

carpe08 2021. 11. 10. 11:11
320x100
320x100

이번시간에는 형태소 분석기의 종류에 대해 알아보고 실습을 통해 어떤식으로 형태소를 분리해 주는지 차이점에 대해 알아보겠습니다. 형태소 분석기의 종류를 여러개 알아야 하는 이유는 각각의 텍스트마다 성능이 좋은 형태소 분석기는 다르기 때문입니다. 오늘 실습 할 형태소 분석기는 Okt, Komoran, Kkma 총 3개 입니다.

 

형태소 분석기를 이용해 형태소를 분석하는 방법은 다음과 같습니다.

  1. 라이브러리 설치
  2. 형태소 분석기 정의
  3. 형태소 분석

순서에 맞게 실습을 진행해 보겠습니다.

# 라이브러리 설치
# Okt, Komoran, Kkma 은 모두 konlpy 라이브러리에서 불러올 수 있습니다.

from konlpy.tag import Kkma,Komoran,Okt
#형태소분석기 정의
okt=Okt()
kkm=Kkma()
kom=Komoran()

#형태소를 분석할 텍스트 정의
text = '마음에 꽂힌 칼한자루 보다 마음에 꽂힌 꽃한송이가 더 아파서 잠이 오지 않는다'

# 형태소 분석기의 pos메소드를 이용해 형태소를 분석
kom.pos(text)
kom.pos(text)
okt.pos(text,norm=True,stem=True)

Komoran

[('마음', 'NNG'), ('에', 'JKB'), ('꽂히', 'VV'), ('ㄴ', 'ETM'), ('칼', 'NNG'), ('한자', 'NNP'),

('루', 'JKB'), ('보다', 'MAG'), ('마음', 'NNG'),('에', 'JKB'), ('꽂히', 'VV'), ('ㄴ', 'ETM'),

('꽃', 'NNG'), ('한송이', 'NNP'), ('가', 'JKS'), ('더', 'MAG'), ('아파서', 'NNP'), ('잠', 'NNG'),

('이', 'JKS'), ('오', 'VV'), ('지', 'EC'), ('않', 'VX'), ('는다', 'EC')]

 

Kkma

[('마음', 'NNG'), ('에', 'JKM'), ('꽂히', 'VV'), ('ㄴ', 'ETD'), ('칼', 'NNG'), ('한자', 'NNG'), ('로', 'JKM'), ('보다', 'MAG'), ('마음', 'NNG'), ('에', 'JKM'), ('꽂히', 'VV'), ('ㄴ', 'ETD'), ('꽃', 'NNG'), ('한', 'MDN'), ('송이', 'NNG'), ('가', 'JKS'), ('더', 'MAG'), ('아프', 'VA'), ('아서', 'ECD'), ('잠', 'NNG'), ('이', 'JKS'), ('오', 'VV'), ('지', 'ECD'), ('않', 'VXV'), ('는', 'EPT'), ('다', 'EFN')]

 

okt

[('마음', 'Noun'), ('에', 'Josa'), ('꽂히다', 'Verb'), ('칼', 'Noun'), ('한', 'Determiner'), ('자루', 'Noun'), ('보다', 'Verb'), ('마음', 'Noun'), ('에', 'Josa'), ('꽂히다', 'Verb'), ('꽃', 'Noun'),

('한송이', 'Noun'), ('가', 'Josa'), ('더', 'Noun'), ('아프다', 'Adjective'), ('잠', 'Noun'),

('이', 'Josa'), ('오지', 'Noun'), ('않다', 'Verb')]

 

분석 결과를 보았을 때, Kkma와 Komoran이 okt 보다 더 구체적으로 형태소에 따라 단어를 쪼개는 것을 알 수 있습니다.

또한 Okt는 stem=True, norm = True의 파라미터가 존재해서, 단어들을 알아서 정규화 해주고, 오타도 수정해주는 기능을 가지고 있습니다. 위예시에서 꽂힌 을 꽂히다아파서 를 아프다 로 바꿨습니다. 이 처럼 여러개의 형태소 분석기를 사용해보고 본인의 데이터에 맞는 알맞는 형태소 분석기를 선정하시기 바랍니다. 

320x100
320x100

'빅데이터 관련 자료 > Dacon' 카테고리의 다른 글

Bag of Words  (0) 2021.11.12
형태소 분석기 - (3)  (0) 2021.11.11
형태소 분석기 - (1)  (0) 2021.11.09
특정 텍스트 제거 - (5)  (0) 2021.11.08
특정 텍스트 제거 - (4)  (0) 2021.11.07