Senior
Elinizde Rusça film incelemeleri ve bunların ikili duygu etiketi (etiketler: 0 — olumsuz, 1 — olumlu) içeren küçük bir veri kümesi var. Göreviniz, hazır kodlayıcılar (örneğin BERT) kullanmadan, 15 dakika içinde basit bir metin sınıflandırma modeli eğitmek için tam bir pipeline uygulamak ve bu veriler üzerindeki doğruluğu (accuracy) göstermek. reviews = [ "Bu film gerçekten muhteşem!", "Korkunç oyunculuk ve sıkıcı hikaye.", "Her anı çok beğendim!", "Gördüğüm en kötü film.", "Harika yönetmenlik ve muhteşem hikaye.", "Dayanılmaz sıkıcı ve tahmin edilebilir." ] labels = [1, 0, 1, 0, 1, 0]
sobes.tech yapay zeka
AI'dan gelen yanıt
Для быстрого решения задачи классификации текстов на русском языке без использования готовых энкодеров можно сделать следующий pipeline:
- Токенизация и простая предобработка (приведение к нижнему регистру, удаление знаков препинания).
- Векторизация текста с помощью мешка слов (Bag of Words) с помощью sklearn CountVectorizer.
- Обучение простой модели, например, логистической регрессии.
- Оценка точности на тех же данных (так как датасет очень маленький).
Пример кода на Python:
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
reviews = [
"Этот фильм просто потрясающий!",
"Ужасная игра актёров и скучный сюжет.",
"Мне очень понравилось каждое мгновение!",
"Самый худший фильм, который я видел.",
"Отличная операторская работа и замечательная история.",
"Невыносимо скучно и предсказуемо."
]
labels = [1, 0, 1, 0, 1, 0]
# Векторизация
vectorizer = CountVectorizer(lowercase=True)
X = vectorizer.fit_transform(reviews)
# Обучение модели
model = LogisticRegression()
model.fit(X, labels)
# Предсказание и оценка
preds = model.predict(X)
accuracy = accuracy_score(labels, preds)
print(f"Accuracy: {accuracy:.2f}")
Такой подход позволит за 15 минут получить базовую модель классификации с приемлемой точностью на маленьком датасете.