Senior
Դուք ունեք փոքր տվյալների հավաքածու ռուսերեն ֆիլմերի վերանայումներով և դրանց բինար զգացմունքային նշաններով (նշաններ՝ 0 — բացասական, 1 — դրական): Ձեր խնդիրն է 15 րոպեում իրականացնել ամբողջական պայպլայն՝ պարզ տեքստի դասակարգման մոդել ուսուցանելու համար՝ առանց պատրաստի ինկոդերների, ինչպիսիք են BERT-ը, և ցույց տալ ճշգրտությունը (accuracy) տվյալների վրա: reviews = [ "Այս ֆիլմը պարզապես հիանալի է!", "Անհաջող խաղ և ձանձրալի սյուժե:", "Ինձ շատ դուր եկավ յուրաքանչյուր պահը!", "Ամենավատ ֆիլմը, որ տեսել եմ:", "Ավելի լավ աշխատանք ռեժիսորության և հիանալի պատմության:", "Անտանելի ձանձրալի և կանխատեսելի:"] labels = [1, 0, 1, 0, 1, 0]
sobes.tech AI
Պատասխան AI-ից
Для быстрого решения задачи классификации текстов на русском языке без использования готовых энкодеров можно сделать следующий 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 минут получить базовую модель классификации с приемлемой точностью на маленьком датасете.