Глубокое обучение для просмотра и анализа пути.

Внимание, мы переехали! Если вы хотите и дальше следить за последними техническими новостями Square, посетите наш новый дом https://developer.squareup.com/blog

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

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

Поскольку каждый продавец использует свою панель управления по-разному, оказание поддержки для решения конкретных проблем всех продавцов может занять много времени и ресурсов как для продавцов, так и для Square. Поэтому мы решили автоматизировать индивидуальные решения для каждого продавца.

Данные

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

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

Метод

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

Я был вдохновлен Франсуа Шоле, основным автором одной из самых популярных библиотек нейронных сетей с открытым исходным кодом под названием Keras, использующей подмножество рекуррентных нейронных сетей, LSTM (Long-Short Term Memory) для классификации фильма IMDb. отзывы *. В этом примере исследования тональность отзыва может быть извлечена с высокой точностью из введенного пользователем текста в произвольной форме.

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

Результаты

Прогнозирование поведения человека - довольно сложная задача. Это потому, что все реагируют по-разному, даже если они выглядят так, как будто они выполняют один и тот же набор действий. Например, некоторые люди активно обращаются за помощью через подтверждающие документы; другие обращаются к коллегам или находят другие способы решения своих проблем. Учитывая этот факт, мы смогли обнаружить сигналы поддержки с высоким уровнем отзыва 66%, сохраняя при этом нашу частоту выпадений на уровне около 24%. Это огромное улучшение по сравнению с отзывом на 5%, которое мы иначе получили бы при случайных предположениях. Он также значительно превосходит модели цепей Маркова и эвристические подходы.

Заключение

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

* https: //github.com/fchollet/keras/blob/master/examples/imdb_cnn_lstm.py