Учебный лагерь Метис, проект 4

Каждый месяц 456 миллионов человек — примерно каждый 16 человек на земле — посещают сайт TripAdvisor, чтобы спланировать или оценить поездку. Поэтому важно понимать, что составляет хорошую или плохую оценку

Наша цель будет сосредоточена на двух вещах. Тематическое моделирование для рейтингов и прогнозирования недовольных клиентов на основе отзывов клиентов. Мы будем использовать обучение без учителя и обучение с учителем НЛП для достижения цели.

Мы применяем модель бинарного классификатора к набору данных отзывов клиентов, чтобы предсказать, доволен он или нет. Рейтинг отзыва клиента 10 будет означать, что клиент доволен, и результат будет 0. Рейтинг менее 5 будет означать, что клиент недоволен, и результат будет равен 1.

Давайте посмотрим на наш набор данных, который можно скачать с Kaggle. Этот набор данных состоит из 515 тысяч отзывов от 1493 отелей в Европе. Он состоит из 17 столбцов.

Мы сделали EDA для набора данных. Для этого набора данных распределение рейтинга смещено влево, и только 4,3 процента данных имеют рейтинг менее 5.

Мы применяем облако слов к отзывам, и это слова, которые клиенты часто используют, оставляя отзыв об отеле. Мы видим, что такие слова, как расположение, все, Wi-Fi, завтрак и обслуживание, часто используются в обзорах.

Мы разделяем данные на обучение, проверку и тестирование. 60 процентов обучения, 20 процентов проверки и 20 процентов тестирования.

Мы применяем недостаточную выборку к несбалансированному набору данных и применяем униграмму и биграмму векторизатора подсчета, а также униграмму и биграмму векторизатора TFIDF к обзорам.

Использовались 3 модели. Логистическая регрессия, Наивный Байес и случайный лес.

Результаты проверки показывают, что логистическая регрессия и наивный байесовский метод имеют наилучший показатель F1 с использованием векторизатора TFIDF.

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

Логистическая регрессия имеет лучший результат F1 по окончательным данным тестирования.

Дальнейшая настройка порога логистической регрессии может быть выполнена для улучшения оценки F1. Порог установлен на уровне 0,3.

Это окончательная матрица путаницы после установки порога 0,3 для модели логистической регрессии с использованием векторизатора TFIDF (unigram).

Threshold of 0.3:
Precision: 0.8125,   Recall: 0.8180,   F1: 0.8152
true_neg is  2234
false_pos is  84
false_neg is  81
true_pos is  364
accuracy is  0.94
precision is  0.812
recall is  0.818

В следующей части мы применим тематическое моделирование к хорошим и плохим отзывам.

Хорошие отзывы — это те, у которых рейтинг 10, а плохие отзывы — те, у которых меньше 5.

Мы применили неотрицательную матричную факторизацию и скрытый семантический анализ (LSA) и обнаружили темы, которые привели к плохим отзывам, включая грубый персонал, маленький размер комнаты, комнату и мебель старое, плохое обслуживание и плохая чистота и запах в комнате, а такие удобства, как Wi-Fi и кондиционер, вероятно, не работают.

Что касается хороших отзывов, мы наблюдали темы, связанные с хорошим расположением, дружелюбным персоналом, хорошим обслуживанием, хорошими удобствами и завтраком, чистотой и комфортом.

Программный код можно найти на https://github.com/victortan83/project4