#!/usr/bin/env python # coding: utf-8 #

# # **Token의 활용** # # ## **1 Token** # 어휘분석 # In[ ]: # ! pip3 install nltk # In[ ]: # import nltk # nltk.download('punkt') # In[ ]: text = """오늘 금요일, 오후. 오늘 조금만 버티면 주말입니다. 조금만 힘내세요""" # In[ ]: from nltk import sent_tokenize sent_tokenize(text) # In[ ]: from nltk import word_tokenize text = word_tokenize(text) text # In[ ]: from nltk import FreqDist dict(FreqDist(text)) #

# ## **2 Re 를 사용한 Regex 정규식** # In[ ]: text = """Park 010-1234-1234 Kim 010-8888-9999 Lee 010-2123-1299 홍길동 010-222-9999 신사임당 010-555-2345""" from nltk.tokenize import RegexpTokenizer re_capt = RegexpTokenizer(r'\d+') re_capt.tokenize(text) # In[ ]: from nltk.tokenize import RegexpTokenizer re_capt = RegexpTokenizer(r'[A-z]\w+') re_capt.tokenize(text) # In[ ]: from nltk.tokenize import RegexpTokenizer re_capt = RegexpTokenizer(r'[가-힣]\w+') re_capt.tokenize(text) #

# ## **| Quiz : Regex 의 활용** # In[ ]: # 한글/영문 이름만 추출하기 # Quiz1 : 한글과 영어를 함께 추출한다 # QUiz2 : 전화번호만 추출한다 #

# ## **| Answer : Quiz 풀기** # In[ ]: # 한글/영문이름 추출하기 from nltk.tokenize import RegexpTokenizer re_capt = RegexpTokenizer(r'[ =Quiz!= ]\w+') re_capt.tokenize(text) # In[ ]: # cf) 전화번호만 추출해보기 re_capt = RegexpTokenizer('\d{ =Quiz!= }-\d{ =Quiz!= }-\d{ =Quiz!= }') re_capt.tokenize(text) #

# ## **| Import re** # In[ ]: text = "갤럭시(GalaxyNote9)노트9은 2018년 08월 폭발적인 인기를 이끌고 있습니다" # In[ ]: import re tokenizer = re.compile(r'[가-힣]+') tokenizer.findall(text) # In[ ]: # 한글과 공백을 제외한 나머지 선택후 제거 tokenizer = re.compile(r'[^ 가-힣]+') tokenizer.sub("", text)