Сортировка отзывов IGN Game Wiki и предложение улучшений в сборе данных

Задний план

Подача заявки на стажировку по управлению продуктами обычно представляет собой ту же серию мероприятий. Свяжите резюме, возможно, заполните пробелы в форме опроса и отправьте. Однако одним из самых интересных PM-приложений, с которыми я столкнулся, было IGN’s. Кандидатам давали только набор вопросов, на которые нужно было ответить; резюме не принимается. Процесс был отличной практикой; этот вопрос заключался в следующем…

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

Отказ от ответственности: я предполагаю, что это не нарушение конфиденциальности, эти вопросы доступны на веб-сайте их приложения IGN Code Foo 2020

Обзор

Я решил ответить на этот вопрос о группировке отзывов с двух точек зрения (изоляция дала мне много времени подумать); простой «логический» подход с использованием Excel и сводных таблиц, а также «творческий» подход с использованием машинного обучения и TensorFlow, пытающийся определить настроение.

Набор данных

Логический подход

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

Методология

  • Я начал с просмотра URL-адресов для каждого отзыва, чтобы открыть некоторые полезные функции и категории для группировки. Было всего 24 сайта, и на основе этих посещений я создал категории, которые привели к проницательным фильтрам для данных.

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

  • Эта сводная таблица также позволила получить общее представление о том, где (если таковые имеются) были сосредоточены негативные отзывы, например, в регионах, или если страница игры не обновлялась так же недавно, как другие страницы.

Результаты

  • Отсутствующая информация составляет наибольшее количество отзывов пользователей (~ 70%) независимо от страны.
  • Примерно 40 % отзывов приходится на URL из категории «Отсутствующая информация», которые не обновлялись
    как минимум в течение 5 лет.

Креативный подход

Использование машинного обучения и обработки естественного языка в TensorFlow для определения тональности (представления или отношения к ситуации) в тексте, а затем классификации результатов в многомерном визуальном представлении.

Методология

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

  • Моя конечная цель состоит в том, чтобы мой алгоритм изучил часть набора данных (75%) и проверил его на оставшейся части (25%). Используя полученную точность, я мог бы сгруппировать похожие отзывы на основе отношения их векторов.
  • Используя Excel, TensorFlow, немного Python и Google Colab Notebook, я начинаю с очистки набора данных и удаления URL-адресов, общих слов (стоп-слов) и других несоответствий.
  • После того, как я установил несколько исходных переменных в алгоритме НЛП, таких как обучающая часть и места усечения/дополнения, я проверяю, чтобы убедиться, что все еще получаю все перечисленные отзывы.
  • Теперь разделим набор данных на обучающие и тестовые переменные.

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

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

  • На графике слева показана взаимосвязь между точностью наборов для обучения и проверки по эпохам (количество итераций). Из этого графика мы можем сделать вывод, что модель выиграет от большего количества эпох, но без дополнительных данных это может привести к переоснащению обучающего набора.
  • График справа показывает взаимосвязь между потерями обучающего и проверочного наборов по эпохам. Из этого графика можно сделать вывод, что модели требуется гораздо больше данных (обе потери превышают 100%).

Результаты

  • Чтобы визуализировать вывод модели (хотя и довольно неточный из-за небольшого набора данных), я экспортирую векторные файлы в TensorFlow Embedding Projector. Мне легче понять результаты кластеров PCA, когда они визуализируются.

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

Улучшения

Предложение (1 из 2)

  • Я начал с определения того, как собиралась обратная связь. Затем я создал макет для улучшения формы сбора отзывов.

Предложение (2 из 2)

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

Компромиссы

Резюме

  • Изучив несколько методов группировки отзывов на страницах IGN Game Wiki, я определил, что наиболее эффективным способом сортировки отзывов является использование сводных таблиц, хотя это может занять много времени при большом наборе данных. С другой стороны, с большим набором данных модели обработки естественного языка могут быть эффективными для группировки настроений в обратной связи и требуют более невмешательства.
  • Улучшение процесса сбора отзывов может обеспечить более эффективную фильтрацию отзывов еще до того, как они будут просмотрены внутренними командами или программами.
  • В целом, этот вопрос позволил мне узнать больше о сводных таблицах и получить общее представление о том, как фильтровать отзывы, основываясь исключительно на точках данных, без общения с клиентами. Я также смог попрактиковаться в творческом подходе, попытавшись создать модель процесса естественного языка и визуализировать настроение в тексте.

Спасибо, что дочитали до конца! Если вы хотите обсудить все, что связано с продуктом, задать вопросы или оставить отзыв, свяжитесь со мной! Линкедин