티스토리 뷰
자연어 처리에서 가장 중요한 전처리 작업이 바로 "텍스트 전처리" 입니다.
텍스트 전처리를 하는데에 있어 Python에는 다양한 라이브러리가 존재하지만
오늘은 NLTK를 이용하여 처리하는 작업을 수행해보겠습니다.
필요한 라이브러리 설치
- pip3 install nltk
먼저 토큰화를 진행하기 위해서는 아래와 같이 "punkt"라는 것을 설치해주어야 합니다.
1
2
3
|
import nltk
nltk.download('punkt')
|
cs |
###만약 아나콘다 환경이 아니며 설치시 오류가 난다면 아래링크를 참조해보세요.
programmers.co.kr/learn/courses/21/lessons/946#noteprogrammers.co.kr/learn/courses/21/lessons/946#note%EF%BB%BF
그럼 바로 실습으로 넘어가도록 하겠습니다.
문구를 이용하여 각 단어로 분할하는 작업 즉 토큰화를 수행해보도록 하겠습니다.
1
2
3
4
|
from nltk.tokenize import word_tokenize
EM = "I finished watching Miss Kobayashi's Dragon Maid. We now need Dragon girls too."
token = word_tokenize(EM)
|
cs |
보통 위와 같은 방법으로 토큰화를 많이 진행하지만 ['s] 와 같이 어파스트로피를 함께 처리해주지 못합니다.
그런 경우에는 아래와 같은 방법으로 수행해주면 됩니다.
1
2
3
4
|
from nltk.tokenize import TweetTokenizer
tokeniz = TweetTokenizer()
token = tokeniz.tokenize(EM)
|
cs |
저는 두번째 방법으로 수행한 결과를 이용하여 진행하도록 하겠습니다.
문단의 토큰화를 진행했으니 분석을 위해서는 이에 대해서 쓸모없는 단어 혹은 특수문자 등은 지워주는게 좋겠죠?
그렇기 위해서는 불용어(Stop word)와 특수문자를 지워주도록 하겠습니다.
아까와 같이 불용어를 다운로드 하겠습니다.
1
2
3
|
import nltk
nltk.download('stopwords')
|
cs |
이제 불용어+특수문자 처리를 수행해보도록 하겠습니다.
1
2
3
4
5
|
from nltk.corpus import stopwords #불용어
from string import punctuation #특수문자
stop_words = stopwords.words('english') + list(punctuation)
filtered_sentence = [w for w in token if not w.lower() in stop_words]
|
cs |
결과를 보시면 불용어와 특수문자인 ["I", "We", "now", "too", "."] 가 삭제되었습니다.
'Dev Story > Etc' 카테고리의 다른 글
ANACONDA 설치 가이드-PYTHON 설치 (0) | 2023.04.30 |
---|---|
티스토리 블로그에 인용구 테마입히기 (HTML 테마적용) (1) | 2023.03.03 |
티스토리 블로그에 코드블록 테마입히기 (Highlight 테마적용) (0) | 2023.03.03 |
오라클 클라우드 (Oracle Cloud Free Tier) - 평생 무료 VM 인스턴스 시작하기 (0) | 2022.08.08 |
Color Scripter 이용하여 블로그에서 프로그램 코드 예쁘게 정리하기 (0) | 2021.03.30 |
- Total
- Today
- Yesterday
- svelte 따라해보기
- python
- AWS
- nestjs
- ML
- 한식
- typescript
- ubuntu
- ChartGPT
- 따라해보기
- 실습
- docker
- 개발이야기
- Containerization
- 클라우드
- DevOps
- Docker 관리
- 티스토리
- MongoDB
- svelte
- lambda
- EC2
- GPT
- cloudcomputing
- frontend
- 쉽게따라하기
- 따라하기
- Redis
- AI
- 딥러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |