Upload
newprolab
View
340
Download
7
Embed Size (px)
Citation preview
Классификация текстов: в поисках серебряной пули
Юрий Макаров, Data Scientist, E-Contenta
Коротко о задаче, и зачем оно нужно
С точки зрения бизнеса:1. Позволяет сегментировать интернет2. Помогает вытаскивать мета-информацию для более точных
персональных рекомендаций
С технической точки зрения:1. Задача обучения с учителем2. Увлекательный препроцессинг данных 3. Изучается, актуальна, есть state-of-the-art методы4. Высокие требования к нагрузкам
На каких данных нам бы поучиться?
Проблемы:- Сложно добавлять новые темы- Сложно увеличивать количество обучающих
примеров- Время и финансы
Асессоры?
На каких данных мы учимся?
Плюсы:- Не требуются асессоры- Легко добавлять новые темы- Можно увеличивать количество
обучающих примеров
Минусы:- Верим в правильность и
корректность поисковых запросов- Доверяем алгоритмам ранжирования
Поисковая выдача :)
Как измерить качество?
- Меткость (accuracy) по всем классам
- Меткость, точность (precision), полнота (recall) по каждому классу
- Что-то похитрее, если у классов есть взаимосвязь: метрика ближайшего общего предка (Least Common Ancestor Metrics)
https://arxiv.org/pdf/1306.6802v2.pdf
Общая схема работы модели
Проблемы обработки текста
- Очень много шума- Аббревиатуры- Опечатки- Сложность разбиения на предложения- Токенизация- Стоп-слова- ...
Основные способы векторизации текста
- Модель мешка слов (bag-of-words) - порядок слов не имеет значение
Предложение: Мама мыла раму.Мешок слов: Мама - 1 раму - 1 мыла - 1
- Фреймворк Word2Vec (word2vec paper)
Пример:король - королева = мужчина -
женщина
Данные готовы, время экспериментов!Модель LCA metrics
TF-IDF clusters for each node 0.15
Multinomial Naive Bayes (TF-IDF) 0.49
Multinomial Naive Bayes (binary features) 0.53
SVM (poly kernel, C=0.001, TF-IDF) 0.55
Logistic Regression (Ridge, C=1.0, TF-IDF) 0.41
DNN (2 layers, dropout, TF-IDF inputs) 0.62
LSTM (dropout, TF-IDF, 20 epoch) 0.66
LSTM (dropout, w2v, 20 epoch) 0.71
Что придумали мы?Идея коротко: обучили случайный лес (random forest) на
каждый класс (стратегия One-vs-All) с необычной обработкой признаков
+
Outperform it!Модель LCA metrics
TF-IDF clusters for each node 0.15
Multinomial Naive Bayes (TF-IDF) 0.49
Multinomial Naive Bayes (binary features) 0.53
SVM (poly kernel, C=0.001, TF-IDF) 0.55
Logistic Regression (Ridge, C=1.0, TF-IDF) 0.41
DNN (2 layers, dropout, TF-IDF inputs) 0.62
LSTM (dropout, TF-IDF, 20 epoch) 0.66
LSTM (dropout, w2v, 20 epoch) 0.71
Random Forest + great features 0.89
Важные идеи и итоги
- Экспериментируйте: идея из смежной области может сработать хорошо
- Garbage in - garbage out. - Ищите компромисс между временем и качеством
(http://www.aclweb.org/anthology/P12-2018)- Стоит заметить, что на “академических” датасетах
нейросети всех победили
Полезные ссылки- https://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classif
ication.pdf - классификация текстов с помощью CNN на символьном уровне - https://arxiv.org/pdf/1511.01432v1.pdf - semi-supervised learning для классификации
текстов- http://ling.go.mail.ru/static/models/ruscorpora_russe.model.bin.gz - word2vec,
обученный на национально корпусе русского языка- https://cs224d.stanford.edu/reports/BergerMark.pdf - про важность предварительного
обучения embedding слоя для нейросетей- https://arxiv.org/pdf/1506.00019v4.pdf - большая и содержательная статья про RNN - http://www.aclweb.org/anthology/P12-2018 - комбинация наивного Байеса и SVM
дает результат на несколько процентов хуже нейросетей на большинстве датасетов
- https://arxiv.org/pdf/1408.5882v2.pdf - CNN для классификации текстов на уровне слов, а не символов
- https://research.fb.com/wp-content/uploads/2016/11/bag_of_tricks_for_efficient_text_classification.pdf - FastText by facebook.
Юрий МакаровData Scientist
(E-Contenta, SPbSEU)[email protected]
https://www.linkedin.com/in/lvoursl/