Sobes.tech
Senior

Masz mały zestaw danych z recenzjami filmów po rosyjsku i ich binarną etykietą tonu (etykiety: 0 — negatywny, 1 — pozytywny). Twoim zadaniem jest zaimplementowanie pełnego pipeline'u w 15 minut, aby wytrenować prosty model klasyfikacji tekstu bez użycia gotowych enkoderów, takich jak BERT, i wyświetlić dokładność (accuracy) na tych danych. reviews = [ "Ten film jest po prostu niesamowity!", "Straszna gra aktorów i nudna fabuła.", "Podobało mi się każdą chwilę!", "Najgorszy film, jaki widziałem.", "Doskonała reżyseria i wspaniała historia.", "Nie do zniesienia nudno i przewidywalnie." ] labels = [1, 0, 1, 0, 1, 0]

sobes.tech AI

Odpowiedź od AI

Для быстрого решения задачи классификации текстов на русском языке без использования готовых энкодеров можно сделать следующий pipeline:

  1. Токенизация и простая предобработка (приведение к нижнему регистру, удаление знаков препинания).
  2. Векторизация текста с помощью мешка слов (Bag of Words) с помощью sklearn CountVectorizer.
  3. Обучение простой модели, например, логистической регрессии.
  4. Оценка точности на тех же данных (так как датасет очень маленький).

Пример кода на 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 минут получить базовую модель классификации с приемлемой точностью на маленьком датасете.