[파이썬][AI Chatbot] 토큰화(Tokenization) 예제

토큰화(Tokenization)는 텍스트를 작은 단위로 분할하는 과정을 말합니다. 이 작은 단위는 토큰(token)이라고 불리며, 일반적으로 단어, 구두점, 숫자 등으로 나뉩니다. 토큰화는 자연어 처리에서 중요한 전처리 단계로, 텍스트를 분석 가능한 작은 조각으로 나누어줍니다.

토큰화의 예시:

원본 텍스트: “I love natural language processing!”

토큰화 결과: [“I”, “love”, “natural”, “language”, “processing”, “!”]

토큰화는 문장을 단어로 나누는 것이 대표적인 형태지만, 문장을 단어 뿐만 아니라 구두점, 숫자 등의 다양한 요소로 나누는 작업도 수행합니다.

예제 코드:

Python의 NLTK(Natural Language Toolkit) 라이브러리를 사용하여 토큰화를 수행하는 간단한 예제 코드를 보겠습니다.

import nltk
from nltk.tokenize import word_tokenize, sent_tokenize

nltk.download('punkt')

## 문장 토큰화 예제
text = "Hello, world. Natural language processing is interesting."
sentences = sent_tokenize(text)
print("Sentence tokens:", sentences)

## 단어 토큰화 예제
sentence = "I love natural language processing!"
words = word_tokenize(sentence)
print("Word tokens:", words)` 

위 코드에서 sent_tokenize 함수는 텍스트를 문장 단위로 토큰화하며, word_tokenize 함수는 문장을 단어 단위로 토큰화합니다. 결과는 각각 문장 또는 단어로 나뉘어진 리스트 형태로 반환됩니다.

출력 예시:

Sentence tokens: ['Hello, world.', 'Natural language processing is interesting.']
Word tokens: ['I', 'love', 'natural', 'language', 'processing', '!']` 

이렇게 토큰화된 텍스트는 더 나은 문장 분석 및 처리를 위해 다양한 자연어 처리 작업에 활용될 수 있습니다.