반응형
텐서플로우는 주로 딥러닝 모델을 구축하고 훈련하는 데 사용되며, 텍스트 라벨링도 이에 포함됩니다.
가장 먼저, 텐서플로우와 관련 라이브러리를 설치합니다.
pip install tensorflow
이후에는 다음과 같은 과정으로 텍스트 라벨링을 진행할 수 있습니다.
데이터 전처리 : 텍스트 데이터를 숫자 형태로 변환하여 모델에 입력할 수 있도록 전처리합니다. 이 과정은 주로 토큰화와 패딩을 포함합니다.
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
# 예제 텍스트 데이터
text_data = ["이 영화 정말 좋아요.", "이 책은 흥미로워요.", "이 음악은 너무 시원해요.", "이 식당의 음식은 별로에요.", "이 게임은 정말 어려워요."]
labels = ["긍정", "긍정", "긍정", "부정", "부정"]
# 레이블을 숫자로 매핑
label_mapping = {"긍정": 1, "부정": 0}
numeric_labels = [label_mapping[label] for label in labels]
# 토큰화 및 패딩
tokenizer = Tokenizer()
tokenizer.fit_on_texts(text_data)
sequences = tokenizer.texts_to_sequences(text_data)
padded_sequences = pad_sequences(sequences)
모델 구축 : 텍스트를 처리하기 위한 딥러닝 모델을 구축합니다. 여기서는 Embedding 레이어를 사용한 간단한 모델을 예시로 들겠습니다.
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, Flatten, Dense
# 단어의 총 개수는 토큰화된 단어의 개수 + 1
vocab_size = len(tokenizer.word_index) + 1
# 모델 구축
model = Sequential()
model.add(Embedding(vocab_size, 32, input_length=padded_sequences.shape[1]))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
# 모델 컴파일
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
모델 훈련 : 라벨이 지정된 데이터를 사용하여 모델을 훈련합니다.
# 모델 훈련
model.fit(padded_sequences, numeric_labels, epochs=10, validation_split=0.2)
새로운 데이터 예측 : 훈련된 모델을 사용하여 새로운 텍스트 데이터에 대한 예측을 수행합니다.
# 새로운 데이터 텍스트
new_text_data = ["이 책은 정말 재미있어요.", "이 영화는 별로에요."]
# 텍스트를 시퀀스로 변환하고 패딩
new_sequences = tokenizer.texts_to_sequences(new_text_data)
new_padded_sequences = pad_sequences(new_sequences, maxlen=padded_sequences.shape[1])
# 예측
predictions = model.predict(new_padded_sequences)
# 결과 출력
for i, text in enumerate(new_text_data):
sentiment = "긍정" if predictions[i] > 0.5 else "부정"
print(f"텍스트: {text}, 예측 감정: {sentiment}")
반응형
'X' 카테고리의 다른 글
ETF의 비밀 해독법: 이름만 봐도 알 수 있는 ETF 투자 전략 (0) | 2024.08.30 |
---|---|
최신 CSS 릴리스: 새로운 기능 소개 (1) | 2024.03.18 |
LG 폴더블 노트북: 장단점과 실제 사용 후기 (0) | 2023.10.18 |
LG 폴더블 노트북: 활용 사례 (1) | 2023.10.17 |
다양한 용도로 활용하는 LG 폴더블 노트북의 혁신적인 기능들 (1) | 2023.10.17 |