728x90
반응형
한글 형태소 분석기 (KoNLPy)
1. Okt (Open Korea Text)
from konlpy.tag import Okt
okt = Okt()
text = "가장 유명한 100가지 명언. 하루에 3시간을 걸으면 7년 후에 지구를 한바퀴 돌 수 있다. "
print(okt.morphs(text))
print(okt.pos(text))
print(okt.nouns(text))
# ['가장', '유명한', '100', '가지', '명언', '.', '하루', '에', '3시간', '을', '걸으면', '7년', '후', '에', '지구', '를', '한', '바퀴', '돌', '수', '있다', '.']
# [('가장', 'Noun'), ('유명한', 'Adjective'), ('100', 'Number'), ('가지', 'Noun'), ('명언', 'Noun'), ('.', 'Punctuation'), ('하루', 'Noun'), ('에', 'Josa'), ('3시간', 'Number'), ('을', 'Foreign'), ('걸으면', 'Verb'), ('7년', 'Number'), ('후', 'Noun'), ('에', 'Josa'), ('지구', 'Noun'), ('를', 'Josa'), ('한', 'Determiner'), ('바퀴', 'Noun'), ('돌', 'Noun'), ('수', 'Noun'), ('있다', 'Adjective'), ('.', 'Punctuation')]
# ['가장', '가지', '명언', '하루', '후', '지구', '바퀴', '돌', '수']
2. Komoran (코모란)
from konlpy.tag import Komoran
komoran = Komoran()
text = "가장 유명한 100가지 명언. 하루에 3시간을 걸으면 7년 후에 지구를 한바퀴 돌 수 있다. "
print(komoran.morphs(text))
print(komoran.pos(text))
print(komoran.nouns(text))
# ['가장', '유명', '하', 'ㄴ', '100', '가지', '명언', '.', '하루', '에', '3', '시간', '을', '걷', '으면', '7', '년', '후', '에', '지구', '를', '한', '바퀴', '돌', '수', '있', '다', '.']
# [('가장', 'MAG'), ('유명', 'XR'), ('하', 'XSA'), ('ㄴ', 'ETM'), ('100', 'SN'), ('가지', 'NNB'), ('명언', 'NNP'), ('.', 'SF'), ('하루', 'NNG'), ('에', 'JKB'), ('3', 'SN'), ('시간', 'NNG'), ('을', 'JKO'), ('걷', 'VV'), ('으면', 'EC'), ('7', 'SN'), ('년', 'NNB'), ('후', 'NNG'), ('에', 'JKB'), ('지구', 'NNG'), ('를', 'JKO'), ('한', 'MM'), ('바퀴', 'NNP'), ('돌', 'NNP'), ('수', 'NNB'), ('있', 'VX'), ('다', 'EF'), ('.', 'SF')]
# ['가지', '명언', '하루', '시간', '년', '후', '지구', '바퀴', '돌', '수']
3. Hannanum (한나눔)
from konlpy.tag import Hannanum
tokenizer = Hannanum()
text = "가장 유명한 100가지 명언. 하루에 3시간을 걸으면 7년 후에 지구를 한바퀴 돌 수 있다. "
print(tokenizer.morphs(text))
print(tokenizer.pos(text))
print(tokenizer.nouns(text))
# ['가장', '유명', '하', 'ㄴ', '100가지', '명언', '.', '하루', '에', '3시간', '을', '걸', '면', '7년', '후', '에', '지구', '를', '한바퀴', '돌', 'ㄹ', '수', '있', '다', '.']
# [('가장', 'M'), ('유명', 'N'), ('하', 'X'), ('ㄴ', 'E'), ('100가지', 'N'), ('명언', 'N'), ('.', 'S'), ('하루', 'N'), ('에', 'J'), ('3시간', 'N'), ('을', 'J'), ('걸', 'P'), ('면', 'E'), ('7년', 'N'), ('후', 'N'), ('에', 'J'), ('지구', 'N'), ('를', 'J'), ('한바퀴', 'N'), ('돌', 'P'), ('ㄹ', 'E'), ('수', 'N'), ('있', 'P'), ('다', 'E'), ('.', 'S')]
# ['유명', '100가지', '명언', '하루', '3시간', '7년', '후', '지구', '한바퀴', '수']
4. Kkma (꼬꼬마)
from konlpy.tag import Kkma
tokenizer = Kkma()
text = "가장 유명한 100가지 명언. 하루에 3시간을 걸으면 7년 후에 지구를 한바퀴 돌 수 있다. "
print(tokenizer.morphs(text))
print(tokenizer.pos(text))
print(tokenizer.nouns(text))
# ['가장', '유명', '하', 'ㄴ', '100', '가지', '명언', '.', '하루', '에', '3', '시간', '을', '걷', '으면', '7', '년', '후', '에', '지구', '를', '한', '바퀴', '돌', 'ㄹ', '수', '있', '다', '.']
# [('가장', 'MAG'), ('유명', 'NNG'), ('하', 'XSV'), ('ㄴ', 'ETD'), ('100', 'NR'), ('가지', 'NNG'), ('명언', 'NNG'), ('.', 'SF'), ('하루', 'NNG'), ('에', 'JKM'), ('3', 'NR'), ('시간', 'NNG'), ('을', 'JKO'), ('걷', 'VV'), ('으면', 'ECD'), ('7', 'NR'), ('년', 'NNM'), ('후', 'NNG'), ('에', 'JKM'), ('지구', 'NNG'), ('를', 'JKO'), ('한', 'MDN'), ('바퀴', 'NNM'), ('돌', 'VV'), ('ㄹ', 'ETD'), ('수', 'NNB'), ('있', 'VV'), ('다', 'EFN'), ('.', 'SF')]
# ['유명', '100', '100가지', '가지', '명언', '하루', '3', '3시간', '시간', '7', '7년', '년', '후', '지구', '바퀴', '수']
한글 형태소 분석기 (mecab-ko)
import MeCab
import mecab_ko_dic
tokenizer = MeCab.Tagger(mecab_ko_dic.MECAB_ARGS)
text = "가장 유명한 100가지 명언. 하루에 3시간을 걸으면 7년 후에 지구를 한바퀴 돌 수 있다. "
print(tokenizer.parse(text))
'''
가장 MAG,성분부사/정도부사,T,가장,*,*,*,*
유명 NNG,*,T,유명,*,*,*,*
한 XSA+ETM,*,T,한,Inflect,XSA,ETM,하/XSA/*+ᆫ/ETM/*
100 SN,*,*,*,*,*,*,*
가지 NNBC,*,F,가지,*,*,*,*
명언 NNG,*,T,명언,*,*,*,*
. SY,*,*,*,*,*,*,*
하루 NNG,*,F,하루,*,*,*,*
에 JKB,*,F,에,*,*,*,*
3 SN,*,*,*,*,*,*,*
시간 NNG,*,T,시간,*,*,*,*
을 JKO,*,T,을,*,*,*,*
걸으면 VV+EC,*,T,걸으면,Inflect,VV,EC,걷/VV/*+으면/EC/*
7 SN,*,*,*,*,*,*,*
년 NNBC,*,T,년,*,*,*,*
후 NNG,*,F,후,*,*,*,*
에 JKB,*,F,에,*,*,*,*
지구 NNG,*,F,지구,*,*,*,*
를 JKO,*,T,를,*,*,*,*
한 MM,~가산명사,T,한,*,*,*,*
바퀴 NNBC,*,F,바퀴,*,*,*,*
돌 VV+ETM,*,T,돌,Inflect,VV,ETM,돌/VV/*+ᆯ/ETM/*
수 NNB,*,F,수,*,*,*,*
있 VV,*,T,있,*,*,*,*
다 EF,*,F,다,*,*,*,*
. SF,*,*,*,*,*,*,*
EOS
'''
728x90
반응형
'AI 인공지능 > NLP' 카테고리의 다른 글
바이트 페어 인코딩 (BPE - Byte Pair Encoding) (0) | 2022.09.08 |
---|---|
fairseq를 활용한 기계 번역 (0) | 2022.08.31 |
NLP 토큰화 (Tokenization) 처리 방법 (0) | 2022.08.31 |
기계 번역 - 오픈 소스 벤치마킹 (0) | 2022.08.09 |
트랜스포머 (Transformer) (0) | 2021.01.19 |