NLTK는 Natural Language ToolKit의 약자로 자연어 처리 및 분석을 위한 파이썬 패키지입니다. NLTK는 토큰생성하기, 형태소 분석, 품사 태깅하기 등 다양한 기능을 제공하고 있습니다.
문장 토큰화 (Sentence Tokenization)
import nltk
text = "I am a college student. I'm 23 years old. I like to read books."
sentences = nltk.sent_tokenize(text)
print(sentences)
['I am a college student.', "I'm 23 years old.I like to read books."]
줄바꿈 문자를 기준으로 나누기(LineTokenizer)
# 줄바꿈을 기준으로 나누기(줄바꿈으로 나누어 진다고 가정하에)
from nltk.tokenize import LineTokenizer
line_tokenizer = LineTokenizer()
print(line_tokenizer.tokenize("I am a college student, I'm 23 years old \n I like to read books."))
["I am a college student, I'm 23 years old. ", ' I like to read books.']
공백을 기준으로 나누기(SpaceTokenizer)
# 공백을 기준으로 나누기
from nltk.tokenize import SpaceTokenizer
space_tokenizer = SpaceTokenizer()
print(space_tokenizer.tokenize("I am a college student, I'm 23 years old. \n I like to read books."))
['I', 'am', 'a', 'college', 'student,', "I'm", '23', 'years', 'old.', '\n', 'I', 'like', 'to', 'read', 'books.']
단어 단위로 나누기(word_tokenize)
# 단어 단위로 나누기
from nltk.tokenize import word_tokenize
print(word_tokenize("I am a college student, I'm 23 years old. \n I like to read books."))
['I', 'am', 'a', 'college', 'student', ',', 'I', "'m", '23', 'years', 'old', '.', 'I', 'like', 'to', 'read', 'books', '.']
실제로 word_tokenize가 가장 많이 사용이 된다.
TweetTokenizer
from nltk.tokenize import TweetTokenizer
tweet_tokenizer = TweetTokenizer()
print(tweet_tokenizer.tokenize("This is a coool #dummysmiley: :-) : -P <3 :)"))
['This', 'is', 'a', 'coool', '#dummysmiley', ':', ':-)', ':', '-', 'P', '<3', ':)']
TweetTokenizer은 다음과 같이 이모티콘을 인식하다.
print(word_tokenize("This is a coool #dummysmiley: :-) : -P <3 :)"))
['This', 'is', 'a', 'coool', '#', 'dummysmiley', ':', ':', '-', ')', ':', '-P', '<', '3', ':', ')']
word_tokenize와 비교해보면 이모티콘을 인식하지 못하는 것을 알 수 있다.
'NLP' 카테고리의 다른 글
NLTK 패키지 활용한 텍스트 전처리 (3) 불용어 제거 (0) | 2020.10.07 |
---|---|
NLTK 패키지 활용한 텍스트 전처리 (2) 텍스트 정규화 (0) | 2020.10.07 |
Sentence Embedding Summary (0) | 2020.08.23 |
Word Embedding Summary (0) | 2020.08.23 |
konlpy 형태소 분석기 성능 비교 (0) | 2020.08.17 |