Category: отзывы

Category was added automatically. Read all entries about "отзывы".

Оценка качества RnnMorph по ручной морфологической разметке из OpenCorpora

Оценка точности разметки существительных для морфологического анализатора RnnMorph.
В качестве эталона разметки взят "Подкорпус со снятой омонимией" из OpenCorpora.

NOUN recall=0.9931500509117838
NOUN precision=0.9943005421435522
NOUN+tags precision=0.9590843797785089


NOUN precision - точность без учета тегов, NOUN+tags - точность с учетом тэгов Case, Number.

Неудачная попытка использования XGBRanker и LGBMRanker для задачи определения перефразировки

Под катом - особенности определения синонимичности фраз в языке, использование BERT, метрики для оценки моделей и проблема с задачей ранжирования.
Collapse )

Черновое сравнение XGBoost, LightGBM и CatBoost на классификации MNIST

Задача - классическая многоклассовая классификация изображений рукописных цифр MNIST. Для этой задачи не только хорошо известны результаты для самых разных матмоделей (включая бустинг поверх разных способов получения фич), но и датасет легко доступен, компактен и удобен. На такой задаче очень удобно посмотреть на достоинства и недостатки трех реализаций градиентного бустинга.

Снижение размерности

Датасет представляет из себя набор из нескольких десятков черно-белых картинок размером 28*28 пикселей с 256 градациями. Развернув картинку в вектор, получаем 784 признака на сэмпл. Многовато. XBGoost на таких сэмплах учится более часа на моем железе, и это сильно снижает возможности пройтись по пространству гиперпараметров и получить оптимальный набор настроек. То есть эксперименты затруднены.

Поэтому я решил сжать каждое изображение с помощью Variational AutoEncoder до 64 параметров. Реализацию VAE я взял прямо из репозитория Keras  https://github.com/fchollet/keras/blob/master/examples/variational_autoencoder.py.

Такая трансформация немного ухудшает достигаемую точность. С другой стороны, более быстрый обсчет одного варианта гиперпараметров позволяет лучше настроить модель.

Исходный текст моделей

Лежит тут: https://github.com/Koziev/MNIST_Boosting

Простой запуск модели с XGBoost: https://github.com/Koziev/MNIST_Boosting/blob/master/xgb_solver.py

Модель для XGBoost с автоподбором оптимальных гиперпараметров: https://github.com/Koziev/MNIST_Boosting/blob/master/xgb_hyperopt_solver.py

Collapse )

Перестановочная нормализация фраз в результатах оценки сентимента

Сделал очень простой алгоритм, который подбирает правильный порядок слов в ходе нормализации словосочетаний.

Выдержка из результатов тестового прогона по моей базе оценок из отзывов:

Collapse )

Сейчас в базе 23990 уникальных словосочетаний по которым сделана оценка или обнаружен факт наличия/отсутствия какого-то аспекта. Общее количество оценок и фактов равно 9677415. Думаю, можно попытаться поучить RNN/LSTM модель нормализовать словосочетания по такому шаблону:

Collapse )

100% качества добиться, наверное, вряд ли получится из-за ограничений на объем памяти в сетке, но общие закономерности рекуррентная модель должна уловить. Например:

приведение к нейтральной форме:
анимация бедноватенькая ==> бедноватая анимация

приведение главного существительного к словарной форме и пересогласование зависимого прилагательного:
анимационные программы очень веселые ==> очень веселая анимационная программа

и так далее.