NLTK
İngilizce bir veri seti kullanarak duygusal tepkiler oluşturmak için oluşturulmuş bir kod örneği:
import nltk
from nltk.corpus import stopwords
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn import svm
# Veri seti
texts = ["I love this movie, it's amazing!",
"This book made me cry, it's so emotional.",
"The concert was fantastic, I had a great time!",
"I feel disappointed, the service was terrible.",
"The news is heartbreaking, it's a tragic event."]
labels = [1, 1, 1, 0, 0] # 1: Mutlu, 0: Üzgün
# Stop-words kaldırma
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))
processed_texts = []
for text in texts:
processed_text = ' '.join([word for word in text.split() if word.lower() not in stop_words])
processed_texts.append(processed_text)
# Özellik çıkarımı
vectorizer = TfidfVectorizer()
features = vectorizer.fit_transform(processed_texts)
# SVM sınıflandırma modeli
clf = svm.SVC()
clf.fit(features, labels)
# Test veri seti
test_text = "This song always puts me in a good mood."
processed_test_text = ' '.join([word for word in test_text.split() if word.lower() not in stop_words])
test_feature = vectorizer.transform([processed_test_text])
# Tahmin yapma
predicted_label = clf.predict(test_feature)
# Tahmin sonucunu yazdırma
if predicted_label == 1:
print("Mutlu")
else:
print("Üzgün")
Bu kodda, İngilizce duygusal metinlerden oluşan bir veri seti (`texts`) ve bu metinlere karşılık gelen duygusal etiketler (`labels`) bulunmaktadır. Stop-words'leri kaldırmak için `stopwords` kütüphanesini kullanıyoruz ve metinleri bu şekilde işleyerek (`processed_texts`) özellik çıkarımı için kullanıyoruz.
Özellik çıkarımında `TfidfVectorizer` kullanarak metinleri sayısal özelliklere dönüştürüyoruz. SVM sınıflandırma modelini eğiterek (`fit`) ve test veri setinde (`test_text`) tahmin yaparak (`predict`) duygusal etiketleri tahmin ediyoruz.
Son olarak, tahmin sonucunu yazdırarak metnin duygusunu belirtiyoruz. Eğer tahmin edilen etiket 1 ise "Mutlu", 0 ise "Üzgün" olarak çıktı verecektir.
Bu örnek, İngilizce duygusal metinleri sınıflandırmak için basit bir yöntemi göstermektedir. Daha karmaşık duygusal analiz veya daha geniş veri setleri için daha gelişmiş yöntemler ve modeller kullanılabilir.
Yorumlar
Yorum Gönder