Реализация классификатора


Таким образом мы реализовали простой классификатор тональности отзывов о фильмах на питоне. Данные были собраны с Кинопоиска. Было отобрано 500 положительных и 500 отрицательных отзывов. В качестве алгоритма классификации я использовалнаивный байесовский классификатор (NB) и метод опорных векторов (SVM). В качестве признаков я протестировал униграммы, биграммы и их комбинацию, а в качестве функции взвешивания: бинарная функция для байеса и SVM, и дельта TF-IDF для SVM. Для оценки работы классификатора я провел перекрестную проверку: для каждого набора параметров было запущено подряд 5 тестов, в каждом из которых использовалось 800 отзывов для обучения и 200 для тестирования. Ниже представлены результаты (точность в процентах) для всех 9-ти наборов параметров.

Признаки NB SVM SVM+delta
Униграммы 85.5 82.5 86.2
Биграммы 84.9 86.5 87.8
Комбинация 86.5 88.4 90.8


Из результатов видно, что для данной коллекции лучшие результаты показывает метод опорных векторов с функцией взвешивания дельта TF-IDF. Если же использовать обычную бинарную функцию, то оба классификатора (NB и SVM) показывают примерно одинаковые результаты. Комбинация униграммов и биграммов дает лучше результаты во всех тестах.

Посмотрим, почему же дельта TF-IDF дает такой отрыв (2.4 — 4.3%) в результатах. Выберем N-граммы с максимальными по модулю значениями дельта TF-IDF:

Потрясающий 5.20 ведут себя -5.02
Зависит 5.08 зачем-то -4.80
Принимает 4.95 не смогли -4.80
Создают 4.80 ни о -4.71
Работами 4.80 не впечатлил -4.71
Тщательно 4.71 сексом -4.71
самого себя 4.71 хуже чем -4.71
Ким 4.62 но этого -4.71
Триллеров 4.62 был снят -4.62
для нее 4.51 не смотрите -4.62

На примере негативных N-граммов особо заметно, что их вес отражает негативную тональность.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: