«Автоматизация, применяемая к эффективной работе, увеличит эффективность» - Билл Гейтс

Согласно опросу 2005 потребителей в США, проведенному Podium, программным обеспечением для управления взаимодействием с клиентами и онлайн-обзорами, 93% потребителей говорят, что онлайн-отзывы влияют на их решение о покупке.

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

В этом сообщении в блоге я написал о том, как и какие методы машинного обучения мы использовали внутри компании для создания первой версии такого уровня автоматизации.

Проблема

Ежедневно на платформы электронной коммерции загружаются миллионы списков продуктов. Эти данные еще больше усугубляются из-за того, что сотни потребителей в конечном итоге пишут обзоры почти для каждого объявления.

Но эти данные полезны, поскольку обзоры используются для создания средних баллов для оценки продуктов.
Теперь классификация отзывов пользователей вручную требует больших затрат и времени. Поэтому в Squad мы работаем над автоматизацией процесса назначения полярности отзывам пользователей. Цель состоит в том, чтобы предсказать полярность любого отзыва как положительного, отрицательного или нейтрального / предложения.

Влияние автоматизации анализа мнений на бизнес

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

Более того, полярность обзоров может помочь в точной оценке продуктов, тем самым помогая новым онлайн-потребителям фильтровать продукты на основе рекомендаций «Нравится / Не нравится» других пользователей.

Начиная со статистики набора данных

Мы подготовили набор данных отзывов пользователей, собрав отзывы о различных продуктах и ​​применив Рабочий процесс Squad's Human-in-the-loop для их маркировки. На Рисунке 1 видно, что 42,04% положительных отзывов, 45,02% отрицательных отзывов и 12,94% отзывов о предложениях. Данные были очень искажены, и у нас было очень мало образцов для предложения.

Различные конвейеры машинного обучения, с которыми мы экспериментировали

Вот где начинается самое интересное с машинным обучением.

Данные были предварительно обработаны путем удаления всех повторяющихся записей и пустых ответов. Затем для каждого обзора были рассчитаны характеристики Tf-Idf (Term frequency - Inverse document frequency):

  • sublinear_df имеет значение True, чтобы использовать логарифмическую форму для частоты.
  • min_df - минимальная доля документов, в которых должно присутствовать слово, чтобы его сохранить.
  • Для stop_words установлено значение «english», чтобы удалить все распространенные местоимения («a», «the»,… ), чтобы уменьшить количество шумных объектов

Затем эти данные были разделены на соотношение 70–30, при этом 70% данных использовались для обучения, а 30% данных использовались для тестирования нашей модели. Есть три целевых класса: положительные, отрицательные и внушения.

Мы попробовали два конвейера:

I. Конвейер 1 - Tf-Idf + SVM (машина опорных векторов)

A. Он прошел перекрестную проверку с помощью GridSearchCV с различными параметрами, как показано на рисунке 3.

Б. Обучение этой модели на процессоре Intel Core I5 ​​1,8 ГГц (MacBook Air) с 8 ГБ ОЗУ заняло примерно час.

II. Конвейер 2 - Tf-Idf + NN (нейронная сеть)

A. Мы создали индивидуальную однослойную нейронную сеть. Архитектура которой представлена ​​ниже.

Б. Модель CheckPointer использовалась для сохранения лучшей модели после каждой эпохи, а ранняя остановка использовалась для остановки обучения модели, когда потери при проверке перестают улучшаться.

C. Обучение этой модели на том же компьютере MacBook Air, которое я использовал в Pipeline 1, заняло около 20 минут.

Сравнение и результаты

Второй метод с использованием нейронной сети дал сравнительно лучшие результаты. Мы оценили производительность моделей по определенному значению доверительного порога, то есть максимальная вероятность появления среди всех трех классов (отрицательный, положительный и предложение) должна быть выше этого значения. Образцы с достоверностью ниже этого порога считаются неоднозначными и затем проверяются системой Squad HIL (Human In the Loop). Таким образом, автоматизация обозначает долю образцов, не требующих проверки человеком.

Результаты конвейера 1 (Tf-Idf + SVM) с доверительным порогом 0,9:

Результаты Трубопровода 2 (Tf-Idf + NN) с порогом достоверности 0,9:

Заключение

Мы разработали модель классификации отзывов пользователей. Результаты положительного и отрицательного классов были немного лучше, чем у класса «Предложение». Из общего наблюдения можно сделать вывод, что образцы предложений иногда путали с положительными, а иногда с отрицательными.

Производительность класса «Предложение» может быть улучшена за счет дальнейшего увеличения размера вектора функции Tf-Idf; создание векторизатора Tf-Idf для каждого класса и передача каждого обзора от каждого векторизатора, объединение функций и последующее обучение классификатора.

Что дальше?

В настоящее время мы работаем над методами увеличения краткого текста, чтобы увеличить долю искаженных классов в наборе данных отзывов пользователей, чтобы повысить точность нашей модели. Кроме того, мы также проводим исследования по выявлению настроений пользователей по определенным характеристикам продукта с помощью таких методов, как анализ настроений на основе аспектов.

В следующем посте я напишу еще один пример использования, над которым мы сейчас работаем для одного из наших корпоративных клиентов. А пока зацените - « Отряд сдает тест Джоэла ».