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

Popüler Yayınlar