TensorFlow는 구글(Google)에서 제공하는 머신러닝 프레임워크입니다. 오픈소스 기반으로 Python과 함께 사용되어 알고리즘 구현, 딥러닝 애플리케이션 개발 등 다양한 작업에 활용되며, 연구 목적과 상용(프로덕션) 환경 모두에서 널리 쓰입니다.
TensorFlow 설치
'tensorflow' 패키지는 Windows 환경에서 아래 명령어 한 줄로 간단히 설치할 수 있습니다.
pip install tensorflow
텐서(Tensor)와 개발 환경 소개
텐서(Tensor)는 TensorFlow에서 사용되는 핵심 데이터 구조입니다. 흐름 다이어그램에서 각 노드를 연결하는 역할을 하며, 이 다이어그램을 '데이터 흐름 그래프(Data Flow Graph)'라고 부릅니다. 텐서는 본질적으로 다차원 배열 또는 리스트에 해당합니다.
이 글의 코드는 Google Colaboratory(Colab)에서 실행됩니다. Google Colab은 브라우저만으로 Python 코드를 실행할 수 있게 해주는 도구로, 별도의 설정이 필요 없으며 GPU(그래픽 처리 장치)를 무료로 사용할 수 있다는 장점이 있습니다. Colaboratory는 Jupyter Notebook을 기반으로 만들어졌습니다.
예제 코드: TextVectorization 레이어 설정
VOCAB_SIZE = 10000
print("텍스트 전처리를 시작합니다")
binary_vectorize_layer = TextVectorization(
max_tokens=VOCAB_SIZE,
output_mode='binary')
MAX_SEQUENCE_LENGTH = 250
int_vectorize_layer = TextVectorization(
max_tokens=VOCAB_SIZE,
output_mode='int',
output_sequence_length=MAX_SEQUENCE_LENGTH)코드 출처 — https://www.tensorflow.org/tutorials/load_data/text
출력 결과
텍스트 전처리를 시작합니다
코드 설명
데이터는 'TextVectorization' 레이어를 통해 표준화(standardization), 토큰화(tokenization), 벡터화(vectorization) 과정을 거칩니다.
표준화는 텍스트를 사전 처리하여 문장 부호와 HTML 요소 등 불필요한 요소를 제거하는 단계입니다.
토큰화는 공백을 기준으로 문장을 단어 단위로 분리하는 과정입니다.
벡터화는 토큰을 숫자 형태로 변환하여 신경망 모델이 입력으로 받아들일 수 있도록 만드는 단계입니다.
바이너리(binary) 모드의 벡터화 레이어는 단어의 출현 여부만을 고려하는 bag-of-words(단어 가방) 방식으로 모델을 구성합니다.
위 예제에서 VOCAB_SIZE는 어휘 사전의 최대 크기를 10,000개 단어로 제한하며, MAX_SEQUENCE_LENGTH는 시퀀스 길이를 250으로 고정해 입력 데이터의 크기를 일관되게 유지합니다. 이러한 전처리 과정은 스택 오버플로 질문과 같은 비정형 텍스트 데이터를 딥러닝 모델 학습에 적합한 형태로 준비하는 데 필수적입니다.