Практический кейс, посвященный вариантам реализации сортировки билетов и реальной реализации машинного обучения с использованием платформы Aito.ai.

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

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

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

Варианты реализации

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

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

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

По моему опыту, существует фундаментальный вопрос о приоритетах: гибкость, стоимость или скорость.

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

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

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

В оставшейся части поста более подробно рассматривается реализация сортировки заявок в службе ИТ-поддержки с использованием Aito.ai — простого, но мощного инструмента машинного обучения для инженеров по автоматизации.

Этот кейс был разработан с друзьями из Futurice на примере данных их тикетов ИТ-услуг от FreshDesk (персональные данные, естественно, скрыты). Кейс рассматривает только функции машинного обучения, чтобы сохранить его разумную длину. Существует множество ресурсов, доступных для интеграции с Freshdesk, и даже некоторые платформы автоматизации, такие как Zapier, могут справиться с этой задачей.

Проверка билетов в Futurice с помощью Aito.ai

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

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

— Туомас Сирьянен, Data & AI, соучредитель, Futurice

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

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

query = {
    "from": TABLENAME,
    "where": {
        "subject": "Laptop issues",
        "requesterId": "XXXXXXXXXXX",
        "sourceName": "Portal",
        "description": "My computer is restarting at random intervals, even after updates. I think it often happens with sleep mode. What could we try to solve this?"
    },
    "predict": "category",
    "limit": 2
}

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

{
  "hits": [
    {
      "$p": 0.739823420970263,
      "feature": "Hardware",
      "field": "category"
    },
    {
      "$p": 0.06230314322171832,
      "feature": "Mobile Budget",
      "field": "category"
    }
  ],
  "offset": 0,
  "total": 19
}

Зная, что мы, вероятно (вероятность более 70%), имеем дело с запросом, связанным с аппаратным обеспечением, мы все равно можем сделать еще один запрос и посмотреть, можем ли мы назначить его подкатегории. Запрос уже выглядит знакомым, но в начале использует дополнительный блок «откуда», чтобы ограничить обучающие данные только билетами этой категории.

query = {
    "from": {
        "from": TABLENAME,
        "where": { 
            "category": "Hardware" 
        }
    },
    "where": {
        "subject": "Laptop issues",
        "category": "Hardware",
        "requesterId": "XXXXXXXXXXX",
        "sourceName": "Portal",
        "description": "My computer is restarting at random intervals, even after updates. I think it often happens with sleep mode. What could we try to solve this?"
    },
    "predict": "sub-category",
    "limit": 2
}

Опять же, результат дает нам наиболее вероятные подкатегории. Он связан с компьютером и может уверенно записывать эти категории обратно в данные заявки.

{
  "hits": [
    {
      "$p": 0.962468610758821,
      "feature": "Computer",
      "field": "sub-category"
    },
    {
      "$p": 0.024520328466996626,
      "feature": "non-categorised",
      "field": "sub-category"
    }
  ],
  "offset": 0,
  "total": 5
}

Во-вторых, мы прогнозируем срочность заявки на основе трехуровневой срочности (1, 2, 3) при использовании в команде. Вы овладеваете этим; посмотрите, как похож запрос, только с несколькими поворотами! :)

query = {
    "from": TABLENAME,
    "where": {
        "subject": "Laptop issues",
        "requesterId": "XXXXXXXXXXX",
        "sourceName": "Portal",
        "category": "Hardware",
        "sub-category": "Computer",
        "description": "My computer is restarting at random intervals, even after updates. I think it often happens with sleep mode. What could we try to solve this?"
    },
    "predict": "urgency",
    "limit": 2
}

Ответ указывает на наиболее вероятную срочность, и его снова легко отправить обратно на платформу FreshDesk, чтобы помочь агентам расставить приоритеты в своей работе.

{
  "hits": [
    {
      "$p": 0.8908651665320588,
      "feature": "2",
      "field": "urgency"
    },
    {
      "$p": 0.09132182836330256,
      "feature": "1",
      "field": "urgency"
    }
  ],
  "offset": 0,
  "total": 3
}

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

Макросы еще не использовались в команде. Таким образом, мы смотрим на 3 самых ценных ответа на похожие запросы и связываем их для выгоды агентов. Запрос выглядит следующим образом:

query = {
    "from": TABLENAME,
    "where": {
        "subject": "Laptop issues",
        "requesterId": "XXXXXXXXXXX",
        "sourceName": "Portal",
        "category": "Hardware",
        "sub-category": "Computer",
        "description": "My computer is restarting at random intervals, even after updates. I think it often happens with sleep mode. What could we try to solve this?"
    },
    "match": "response",
    "limit": 3
}

Ответ дает наилучшие возможные совпадения (вывод объединяется только для того, чтобы содержать одно, чтобы его можно было прочитать).

{
  "hits": [
    {
      "$p": 0.4999865856715547,
      "$value": "Hi XXXXX, I had the same issue couple of days back. I suggest you to try the upgrade to the latest MacOS version, Big Sur. It fixed my freezing and restarting issues. Please notice that some issues have been discovered. Upgrade only if you do not rely on an external 4K monitor. Also please read this first: [INTERNAL LINK HIDDEN] Notice that in the latest version of Big Sur 11.2 some issues have been discovered. - External 4K monitors don't work correctly - Stuck at 30Hz or 1080p resolution - USB-C ports failing to recognize external monitors  - No functioning and reliable fix or workaround has been discovered for either problem. Let me know if you want to try out the latest version and I will add you to the group and give you the instructions on how to upgrade :)"
    },
...
  ],
  "offset": 0,
  "total": 3408
}

Если бы я работал над делом, это было бы очень полезно и определенно сократило бы время, необходимое для ответа. Нужная ссылка уже есть, отдельно искать не надо.

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

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

query = {
    "from": TABLENAME,
    "where": {
        "subject": "Laptop issues",
        "requesterId": "XXXXXXXXXXX",
        "sourceName": "Portal",
        "category": "Hardware",
        "sub-category": "Computer",
        "description": "My computer is restarting at random intervals, even after updates. I think it often happens with sleep mode. What could we try to solve this?"
    },
    "predict": "responder-name",
    "limit": 3
}

Ответ выглядит так, личные данные агентов скрыты. Опять же, это легко добавить к данным заявки.

{
  "hits": [
    {
      "$p": 0.590856133747189,
      "feature": "AGENT-Y",
      "field": "responder-name"
    },
    {
      "$p": 0.19139720520795614,
      "feature": "AGENT-Z",
      "field": "responder-name"
    }
  ],
  "offset": 0,
  "total": 25
}

На этом завершаются этапы сортировки и многое другое. Более точным термином будет сортировка и обогащение билетов. Используя информацию, предоставленную запросами Aito.ai, команда может постоянно автоматизировать и оптимизировать операции и не ограничиваться только функциями, описанными здесь.

Надеюсь, вам понравился этот пример, и он поможет вам продвинуться вперед в автоматизации сервисного центра! Связаться со мной лучше всего в Aito.ai Slack group или через Twitter.

Я директор по продукту в Aito.ai, самом простом инструменте машинного обучения для инженеров RPA. Эта статья была впервые опубликована в Блоге Айто.