ML – это не магия
Galina Shirankova, https://t.me/poltora_productaA AI правда умный?
Сейчас много шума вокруг AI, ML. Создается ощущение, что технологии позволяют создать AI-продукт, который думает на уровне человека, а иногда его превосходит. Например, Chat GPT может за секунды выделить основные смыслы из документа на 50 страниц и ответить на любой вопрос в любой предметной области. А я – нет.
Это все так, кроме одного – за AI стоит огромное число людей, которые пишут обычный программный код, а иногда и ответы вручную, чтобы на выходе получилось что-то приближенное к человеку и его интеллекту.
За 3 года работы в Марусе мне как раз предстояло узнать:
1. Что нет ИИ, который сам понимает что и когда надо отвечать;
2. Умения ассистента пишутся разработчиками;
3. Для многих кейсов проще написать ответы руками.
И сегодня мы обсудим:
- Как работают голосовые помощники;
- Разберем популярные мифы про AI;
- Посмотрим, где используется ML, а где ручной труд.
Как работает голосовой помощник?
Если кратко: голосовой помощник преобразует голос в текст, понимает, про что его спросили и вызывает skill – атомарное умение ассистента, например “поставить будильник” или “сказать погоду”. Если детальнее, но все еще очень верхнеуровнево, то работа занимает 5 шагов:
ASR (Automatic Speech Recognition): преобразование голоса в текст. Работает на основе классических речевых ML-моделей.
Matching: Сопоставление фразы с ранее известными помощнику фразами. Здесь мы решаем задачу выделения интента, помощник понимает что конкретно хотел пользователь и есть ли у него релевантный ответ.
Skill call: вызов наиболее подходящего скилла из имеющихся в помощнике. На этапе матчинга мы получили вероятности, с которыми скиллы могут релевантно ответить. Теперь нам нужно выбрать, какой из них брать и эта логика может программироваться руками: нам часто важнее отвечать “нужными скиллами”, например, если вероятность скилла поиска в интернете сравнима с “ответами по FAQ продукта”, лучше выбрать второй.
Помощник не умеет отвечать на все вопросы во вселенной скиллами, поэтому делаются скиллы «я не умею» и поход в fallback-скиллы, например поиск по интернету.
Skill work: работа самого скилла – сценарий, вызовы API, в общем, обычное выполнение программного кода. Обычно скиллы не используют ML, но какие-то и используют. Например, скилл написания письма в Марусе с помощью ML расставляет знаки препинания.
TTS (Text-to-speech): Преобразование текста ответа скилла в голос.
Миф 1: AI способен сам понять интент
Идем дальше: откуда берутся интенты, то есть список намерений пользователя, на которые нужно реагировать? Правильно – их делают люди.
Невозможно без размеченного потока кластеризовать темы, с которыми дальше работать. ML должен на чем-то учиться. Как это делается:
– кто-то смотрит на поток и выделяет первый список интентов
– пишется инструкция для асессора: если фраза похожа на что-то про погоду ставь интент “погода”
– после этого модель учится на этих фразах и теперь умеет предсказывать, что фраза пользователя про выделенный интент из того списка
Что происходит с остальными интентами, которые мы пока не умеем предсказывать? То же самое, но позже. К счастью для многих general интентов типа погоды и времени эту задачу уже решили поисковики – можно понять по появлению колдунчика, что это за тематика. Но если это узкий запрос, придется через разметку.
Если вы задумали помощника для своего продукта, вам могут помочь:
👉 статистика запросов в техподдержку
👉 прогнать через поисковик
👉 статистика популярных поисковых запросов
👉 экспертно сформировать список интентов, на которые вы собираетесь отвечать, и оценить «регулярками»
Миф 2: AI не ошибается
Понятно, что ошибаются, у каждой модели есть своя точность. Продуктово задача ассистента дать пользователю релевантный ответ. В Марусе используется end-to-end качество: асессоры и размечают фразы вопрос-ответ на плохие/нейтральные/хорошие ответы. Дальше можно переобучать модель (долго), поэтому существует возможность прибить фразу к интенту руками.
Чтобы повысить качество ответов на многие вопросы ответы пишут редакторы! Они же пишут ответы для создания характера ассистента типа “какой твой любимый цвет”.
А бывают случаи, что модель знает ответ и он релевантный, но по разным причинам отвечать пользователю так не стоит – политика, этика. Тогда ответ тоже пишется вручную.
Отдельная проблема фактчекинга, тут тоже ручная разметка и дальше чаще всего написание ответа вручную или “прибивание руками” источника, откуда брать инфо.
Ок, мы выяснили, что многие ответы пишутся вручную, где еще люди?
Миф 3: AI знает что отвечать
Да, если это фактовый вопрос и что-то подобное уже писали в интернете, на котором он учился. Не персональное и общедоступное. Без динамических данных. Без возможности использовать перс данные.
Из коробки Chat GPT не может ответить на вопросы именно про ваш продукт или перевести в поддержку, если нужно что-то сделать, а не просто поговорить.
Тут мы снова встречаемся со скиллами – программной логикой, которую умеет по интенту вызывать ассистент. Так вот – она пишется разработчиком, там нет никакого ИИ.
Сидит продакт и рисует схемки, как должно работать:
Дальше разрабатывается так же, как любая обычная фича. Иногда с кучей интеграций, например я запускала скилл чтения и отправки почты через mail.ru и сообщения ВК – там много работы было на стороне команд почты и ВК.
Summary
Все, что вы используете в голосовом помощнике, с большой долей вероятности написано руками человека.
ML не магия, а инструмент, который для каких-то задач типа ASR и TTS подходит отлично, а для каких-то не подходит. И Chat GPT самостоятельно не заменит поддержку, только с продуктом и процессами вокруг него.
🌚 AI прекрасен для задач генерации контента, но не умеет выполнять действия
🌚 Даже в генерации текстов есть место для ручного труда и его много
🌚 Чтобы сделать AI продукт придется делать много разметок и даже они не решат все проблемы с качеством
Galina Shirankova, здесь можно подписаться🦄