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

Даются основные понятия:

  • искусственный интеллект;
  • машинное обучение;
  • глубокое обучение;
  • типы задач, решаемые с помощью искусственного интеллекта;
  • примеры применения искусственного интеллекта и машинного обучения.
Не точные определения, для понимания.
  • Искусственный Интеллект (ИИ) — область науки и технологий, целью которой является создание «умных машин», а также «умных программ».
  • Машинное обучение (machine learning) — подраздел ИИ, целью которого является создание алгоритмов, которые способны «обучаться».
  • Искусственные нейронные сети (Artificial Neural Networks) — класс алгоритмов машинного обучения.
  • Классическое машинное обучение, классические алгоритмы машинного обучения, «классика» — машинное обучение без нейронных сетей.
  • Глубокое обучение (deep learning) — раздел машинного обучения, изучающий Искусственные нейронные сети.
Разберемся в понятиях.
Искусственный интеллект как набор технологий состоит из технологий, основанных на обычных алгоритмах (правилах), и технологий машинного обучения.
Алгоритмы машинного обучения от обычных алгоритмов, основанных на правилах, отличаются тем, что они обучаются.

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

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

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

Нейронные сети — это просто класс моделей машинного обучения. Он интересен тем, что модели в упрощенном представлении — это просто последовательное преобразование входных данных, и таких преобразований (слоев) может быть очень много. В этом смысле, если мы заказчик решения, нас не очень волнует, какая именно модель для решения выбрана — нейронная сеть, или же что-то проще из машинного обучения. Нам важен конечный результат — качество, как его можно посчитать, мы разберем чуть позже. Но надо отметить, что последнее время почти всегда лучшие решения задач в области машинного обучения получаются с помощью нейронных сетей.
Какие задачи можно решать с помощью машинного обучения?
Задач, которые можно решить с помощью технологий машинного обучения, довольно много, и наверняка вы уже даже слышали о некоторых из них. Сейчас компьютеры пишут музыку, рисуют картины, выигрывают людей в такие сложные игры как GO, в компьютерные игры, ведут диалог таким образом, что сложно понять, что общаешься с роботом, озвучивают книги, водят машины, следят за поведением людей по видеокамерам. Это довольно сложные системы, состоящие из немалого количества различных модулей, большая часть из которых — это нейронные сети и машинное обучение. На следующем занятии мы разберем все же, из каких более мелких и понятных частей может состоять такое сложное решение. Сейчас лишь отметим, что нейронные сети умеют:

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

  • работать с естественной речью, на которой разговаривают люди — определять, что спросил человек, выделять некоторые параметры из реплики человека (город, адрес, время, имя и тд), определять настроение человека, который сказал ту или иную реплику. Тут примером может являться любой голосовой помощник — яндексАлиса, Сири, Кортана, Гугл Ассистент, Алекса и т. д.

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

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

Разбор типов задач по МО — обучение с учителем, без учителя.

Обсуждение направлений, где применяется МО — Видеоаналитика, Natural language processing (Понимание естественного языка, NLP), Аудиоаналитика, предиктивные задачи, рекомендательные системы.

Типы задач Машинного обучения (МО)
Задачи машинного обучения делят на 2 основных типа. Они называются — задачи с учителем и задачи без учителя.

Задача с учителем — это когда мы по объекту хотим понять какую-то его характеристику:

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

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

Задача без учителя — это когда у нас нет конкретных ответов, но есть данные. И мы хотим из этих данных получить какие-то знания.

Например, мы хотим проводить какие-то маркетинговые акции и хотим сделать их несколько, так, чтобы для каждого клиента была интересная именно ему акция. Мы можем разбить наших клиентов на группы, похожие по поведению (кластеризовать), и для каждой такой группы разработать уже свою акцию. Другой пример: мы можем предсказывать покупки наших клиентов, находить какие-то правила и закономерности в их поведении.
Задачи с учителем и без учителя отличаются в своей постановке. В одном случае мы хотим предсказать что-то — тогда нам нужны размеченные данные. Такие данные, для которых уже известен ответ, чтобы в будущем для данных, для которых нет ответа, его можно было предсказать. В другом случае мы хотим понять что-то про наши данные, найти какие-то закономерности. Тут нам не нужны размеченные данные, но и мы не знаем точно, что мы ищем.

Вообще и в частности в коммерческих задачах чаще всего встречаются задачи с учителем. Задачи без учителя в чистом виде не так часто нужны, но они могут быть использованы как промежуточный шаг. Например, данные кластеризуются, и потом для каждого кластера отдельно решается общая задача.
Давайте рассмотрим на примерах.
Одно из направлений задач, которые решаются технологиями Машинного обучения — это компьютерное зрение. Чаще всего в этом разделе встречаются задачи детектирования объекта — найти на картинке или кадре конкретный объект.

Например, мы хотим детектировать людей на видео. Для того, чтобы решить такую задачу, необходимо научиться на картинке, кадре видео находить область, в которой есть человек. Для этого нам необходимо разметить несколько тысяч картинок. Взять картинки, где есть человек, и отметить те области, где он находится. Потом подать модели наши исходные картинки и отмеченные области с человеком. Тут ответами являются области с людьми, которые мы показываем модели.
Еще одно интересное направление в Машинном обучении это NLP — Natural language processing, понимание естественного языка. Тут есть очень много различных задач — понять, о чем спрашивает пользователь, классификация текста — спам/не спам, классификация по настроению — позитивное/нейтральное/негативное.
Если нам понадобится решить задачу анализа тональности текста, то нам нужно будет набрать большое количество текстов и для каждого пометить, является ли реплика позитивной/негативной/нейтральной, и потом обучить модель.
Если мы будем строить алгоритм, переводящий голос в текст — распознавание голоса, то нам понадобятся примеры аудиозаписей и расшифровки к ним в качестве ответов.

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

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

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

Как оценить работу моделей машинного обучения?
Мы с вами уже разобрались, что, чтобы обучить модель Машинного обучения на предсказание, нам необходимо подать модели примеры решений нашей задачи, и модель будет искать взаимосвязи и на основе их делать свои предсказания. Делать предсказание модель будет на основе статистики. Естественно, что такой подход не работает на 100%, ­все-таки это статистика. Возникает вопрос — «когда модель работает достаточно хорошо», то есть какой уровень этих ошибок допустим.

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

В общем виде работа происходит следующим образом. У нас есть данные — объекты с ответами, размеченные данные. Например, мы хотим построить спам-фильтр и разметили большую часть писем — для каждого письма у нас есть метка, является ли оно спамом или нет. Нам необходимо отложить часть этих размеченных данных для будущей оценки нашей метрики качества, а на другой части обучать наши модели. Выборка, которая используется для обучения, называется train выборкой, а та, которая отложена для оценки качества работы алгоритма, — test выборкой.
А как ­все-таки выбрать метрику, которая даст нам лучшее решение для нашей бизнес-­задачи?
Если мы говорим о применении Машинного обучения для работы, улучшении ­каких-то проектов, то тогда необходимо в первую очередь отталкиваться от бизнес-­постановки нашей задачи. Надо понять, какие ошибки для нас более чувствительные, какой уровень этих ошибок мы можем себе позволить, чтобы применение модели было полезным — ускоряло и упрощало работу.

Рассмотрим для примера такую задачу. Мы делаем голосового робота, и нам необходимо решить подзадачу — просит ли пользователь позвать оператора-­человека, или он готов дальше общаться с роботом. Тут могут быть 2 типа ошибок:

  • Пользователь на самом деле не звал оператора, но модель решила, что он зовет. Такие ошибки называются ошибками первого рода — это когда реальный ответ отрицательный, а модель распознает как положительный;
  • Пользователь зовет оператора, а робот продолжает сам с ним общаться, считая что оператора пользователь не зовет. Это ошибка второго рода — когда реальный ответ положительный, а модель распознает как отрицательный.

Если у нас будет большое количество ошибок первого рода, то мы можем перегрузить наш контакт-­центр и не автоматизировать наш процесс совсем. Если у нас будет много ошибок второго рода, то наши пользователи будут недовольны, будут писать жалобы и так далее.

Конечно, нам всегда будет хотеться, чтобы было ноль ошибок вообще и первого и второго рода. Но, как мы поняли, Машинное обучение не дает 100% качество.

На самом деле, можно уменьшать количество ошибок первого рода, за счет ошибок второго. Модели Машинного обучения вначале получают некоторое числовое значение того, насколько они «считают», что ответ положительный (пользователь зовет оператора), а потом сравнивают его с некоторым порогом, он еще часто называется трешхолдом. Если числовое значение «уверенности» модели в том, что пользователь зовет оператора, больше порога, то модель решает, что пользователь зовет оператора.
Таким образом, мы можем увеличить наш порог и тем самым уменьшить ошибки первого рода. Но также очевидно, что увеличится ошибка второго рода — мы чаще будем попадать в ситуации, когда пользователь зовет оператора, но модель решает, что не зовет, так как уверенность не превысила порог. Симметрично уменьшая порог, мы будем уменьшать ошибку второго рода за счет ошибки первого рода.
Возвращаясь к нашей бизнес-­задаче. Исходя из загруженности нашего контакт-­центра и уровня автоматизации, начиная с которого мы получаем пользу, необходимо рассчитать уровень допустимых ошибок первого и второго рода. Это не сделают за заказчика датасаентисты. Необходимо в ТЗ включить минимальный уровень качества модели, начиная с которой появляется польза от применения модели.

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

А что делать, когда перед нами задача без учителя? Модель нам дает ­какие-то знания, и мы не знаем, как оценить их качество. Тут ничего не остается, кроме как отталкиваться от бизнес-­потребности задачи. Если мы, например, кластеризуем наших пользователей для того, чтобы проводить маркетинговые мероприятия, то только эффект от этих мероприятий может быть адекватной оценкой работы нашей модели. Если же для нас решение задачи без учителя является лишь частью решения более общей задачи — пусть даже задачи построения модели с учителем, — то оценка этой большой задачи покажет нам качество работы нашей модели без учителя.
А какими данными надо обладать, чтобы считать, что можно решить задачу методами Машинного обучения?
Данные должны обладать двумя важными характеристиками, чтобы мы могли считать, что можно запускать процесс обучения. Это качество этих данных и их количество.
Количество и качество данных должно быть такое, чтобы оно отражало реальную картину мира. Тут можно вспомнить определение репрезентативной выборки, то есть данные, на которых мы учимся, должны представлять собой репрезентативную выборку, что означает, что можно обобщать результаты исследования наших данных на все данные, и наши данные отражают реальную картину задачи.
Тут может быть такая проблема, что у вас есть фотографии только одного ­какого-то подкласса объектов. Например, если вы решили распознавать лица людей, то убедитесь, что у вас достаточно примеров лиц людей всех рас и обоих полов. Хорошо бы, чтобы фотографии были сделаны в тех же условиях, в которых вы потом собираетесь применять модель — освещение, качество фото и другое.
Пример из реальной практики
Это было несколько лет назад, мы распознавали ценники в магазинах, и магазин предоставил нам большой датасет с ценниками, модель показала хороший результат на тестовой выборке, но когда мы вышли в магазин, то качество сильно просело. Как позже выяснилось, в датасете все ценники были со штрихкодом в правом нижнем углу, и модель решила, что это отличительный признак ценника. Пока инженеры обучали модель, в магазине сменили формат ценников.
Главное, помните — что вы показываете модели, на том она и учится. И то она потом и предсказывает.
Количество данных должно быть достаточным, чтобы провести моделирование. Некоторые алгоритмы, например, нейронные сети, требуют большое количество данных для обучения, нежели другие алгоритмы.
По количеству данных — отдельно никто заранее не сможет точно сказать, начиная с какого количества данных под конкретную задачу будет достаточно. Поэтому ситуацию можно описать так: чем больше, тем лучше (в конце концов, можем ­какую-то часть данных не рассматривать в тренировке, а только тестировать ей наши алгоритмы). Только опытный специалист по Машинному обучению, исходя из своего опыта решения похожих задач, может с некоторой уверенностью (не точно) сказать, сколько данных нужно.

Также необходимо учесть чисто технические условия сбора и хранения данных:

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

Это сильно может повлиять на качество данных.
Вот несколько примеров:
  • Люди записывали ответы на вопросы других людей (естественно, могли делать ошибки). Могла система автоматически записывать данные, например, биллинга — длительность сессий, количество сессий.
  • Например, данные перекочевали из одной базы в другую, и потерялась часть данных, либо структура хранения такая, что в истории есть не все данные, например, те, которые старше 3 месяцев, хранятся в виде статистических отчетов, но не как полные данные.
  • Данные могут быть в одной базе или в нескольких (тогда нужен способ понять, как увязывать данные из разных баз между собой), одна и та же характеристика может храниться в разных форматах, более или менее удобных (например, адрес может быть просто строкой, а могут быть отдельные характеристики для города, улицы, номера дома и номера квартиры).
  • Могут быть пропуски, такие как ошибки операторов или падение системы в ­какой-то момент (в который мы и получили пропуски). Также не нужно путать пропуски в данных с незаполненными данными (например, адрес, где не поставили номер квартиры, потому что ее не узнали по ­какой-то причине, и адрес, где нет квартиры — частный дом). Также может оказаться, что в ­каких-то, например, регионах просто нет возможности собирать некоторую информацию.
  • Может быть так, что у нас есть данные для 2‑х классов объектов, и один класс представлен 10 000 объектов, а второй класс — 100 000. Но реально генеральная совокупность (реальная ситуация, в которой будет работать модель) устроена так, что классы встречаются 50 на 50.
Это все нужно учитывать при моделировании далее, поэтому необходимо сразу все это изучить.
Искусственный интеллект (ИИ) без машинного обучения.

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

Сейчас давайте обсудим ту часть технологий ИИ, которая не использует Машинное обучение. На самом деле, не всегда необходимо обучать модель. Иногда можно написать правила – алгоритм для решения конкретной задачи. Это может быть часть всего проекта, например, если мы хотим реагировать на определенные слова в общении пользователя и робота, такие как маты, то можно просто собрать словарь всех матерных слов и сравнивать слова из реплики пользователя с нашим словарем. Для выделения из сообщения пользователя, например, номера телефона, лучше воспользоваться написанием специального правила, которое будет по шаблону искать часть, которая может быть номером телефона – 10 цифр подряд с возможным включением пробелов, знаков «-», и знаков «(» после первой и «)» после четвертой цифры.
+7 xxx xxx xx xx
7 xxx xxx xx xx
7 xxx xxx xxxx
8 xxx xxx xx xx
8 xxx xxx xxxx
7 (xxx) xxx xx xx
+7 (xxx) xxx xx xx
8 (xxx) xxx xx xx
8 (xxx) xxx xxxx
7xxxxxxxxxx
8xxxxxxxxxx
+7xxxxxxxxxx
Очевидно, что можно выписать все подобные шаблоны, где вместо «x» будет цифра.
Подобные правила для разбора текста называются регулярными выражениями. Для написания регулярных выражений (регулярок) во всех языках программирования есть возможности.
Вот пример из реальной практики. Необходимо было разбирать электронные письма. Это было необходимо для сервиса заявок поездок. В письмах была информация о поездке – откуда, куда, класс автомобиля, во сколько поездка и тд. Задача состояла в том, чтобы модель «читала» письмо и заносила информацию о поездке в специальный сервис. При внимательном изучении данных оказалось, что 30% писем содержат таблицы, в которых обозначены поля, которые необходимо заполнить. Примерно такие:
Как оказалось, на сайте компании, предоставляющей эти услуги, был пример, как заполнить заявку в электронном письме, и часть пользователей просто копировали эту таблицу с сайта и заполняли ее. Поэтому написав алгоритм, который просто проверял, есть ли таблица в письме, и если находил ее, то просто брал данные из нее и отправлял соответствующие поля, получили результат, близкий к 100% качеству на 30% писем. Обучив модели NLP на оставшихся письмах, получили решение, которое существенно лучше, чем если бы просто пытались обучить на всех письмах. Общий результат тоже получился гораздо лучше, так как Машинное обучение не дает 100% качества, а подобные правила дают.
Также есть технологии «онтологий» и «графы знаний» для формализации некоторой области знаний с помощью концептуальной схемы в виде графа. Например:
Они позволяют давать ответы на вопросы по той области знаний, для которой они выполнены. Мы не будем подробно останавливаться на технологиях, которые используются в этих подходах. Отметим лишь, что подобные решения хорошо себя показали, например, в задачах поисковых систем – суммированная информация, которую мы видим обычно справа на веб-странице, когда используем поисковик, как раз собрана с помощью технологии графы знаний.
Давайте рассмотрим основные плюсы и минусы двух подходов к решению задачи. Основанные на правилах и на Машинном обучении:
Машинное обучение
Плюсы:

  • Гибкость – можно переобучить, если изменилась постановка задачи
  • Нет необходимости 100% понимать, как решать задачу – достаточно только иметь примеры решений
Минусы:

  • Нужны данные для обучения хорошего качества
  • Дает статистический ответ, который будет иногда ошибаться
  • Почти всегда решение является «черным ящиком» – сложно объяснить, как принимается решение
  • Необходимы существенные мощности для обучения модели
  • Сложно заранее предсказать качество работы модели
Алгоритмы, основанные на правилах
Плюсы:

  • Нет необходимости в большом количестве размеченных данных
  • Близкое к 100% качеству решение, если нет ошибок
  • Алгоритм работает в точности так, как его задали
  • Можно отдельно обработать особые ситуации
  • Прогнозируемый результат качества
Минусы:

  • Необходимо точно описать алгоритм работы
  • Довольно сложно переделывать, когда изменилась задача или обнаружилась ошибка
Что такое Цифровой Диалоговый Ассистент (ЦДА) и почему это удобный способ внедрения ИИ.

ЦДА, подключаемые навыки, разбираем примеры из прошлых вебинаров и то, как там можно было бы подключить ЦДА. Также рассказываем про mlops (набор практик для развертывания и поддержки решений на базе МО) на платформе и про ЦДА как ответственного за регламенты и ответственного за процесс.

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

  • Процессы построены на людях, им необходимо переучиваться работать с новыми IT-системами;
  • Модели работают не на 100% качество, необходимо прописывать работу с ошибками;
  • Модели могут устаревать и их надо обновлять/дообучать;
  • Необходимо внедрять модели в существующую IT-инфраструктуру.
  • ….
Многие из этих проблем решаются с помощью внедрения Цифровых Диалоговых Ассистентов (ЦДА). ЦДА, по сути, это робот, который может самостоятельно работать с другими системами и процессами, отдает команды и обрабатывает ответы. Также он общается с людьми, вовлеченными в бизнес-процесс – получает от них команду, оповещает об ошибках и дает рекомендации по улучшению процессов, сохраняет отчеты и журнал событий.

ЦДА общаются с людьми в привычных для людей каналах – мессенджерах, телефонными звонками, что значительно ускоряет скорость внедрения решения.

По сути, это тот ИИ, который мы привыкли видеть в художественных произведениях – он заменяет собой реальных сотрудников. У ЦДА 2 группы задач:

  • Оцифровывает и автоматизирует производственные и бизнес-процессы;
  • Обеспечивают взаимодействие между человеком и этими процессами.
Простыми словами, ЦДА может общаться с коллегами-людьми и делать какие-то действия/работы. ЦДА:

  • Функционируют в виртуальной среде, это не физические роботы;
  • Они ведут диалог и понимают человека;
  • Получается цифровой сотрудник на базе ИИ.
Все модели могут быть подключены к ЦДА и будут навыками нашего цифрового сотрудника.
Например, у нас есть технология по видеоаналитике, которая фиксирует нарушения при переходе шлагбаума. Если мы имеем только саму модель, то нам надо подумать о многих вещах:

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

ЦДА может анализировать ответы моделей Машинного обучения, которыми он пользуется, и при каком-то серьезном изменении в статистике этих ответов сообщить ответственному за разработку и внедрение моделей. Например, раньше система технической поддержки подключала операторов-людей в 30% случаев, можно отследить, что в какой-то момент процент подключения операторов серьезно вырос, и сообщить кому-то, что похоже у нас нестандартная ситуация, и, возможно, кому-то стоит глубже рассмотреть, что случилось.

И самое главное, что ЦДА может быть ответственным за сам бизнес-процесс. Это робот, он не забудет и не запутается, и будет делать все ровно так, как мы задали ему работать.


Если мы говорим о техподдержке, даже если сам ЦДА не справился с ответом и передал оператору, он может отследить, что пользователь получил ответ и его вопрос не затерялся – спросить оператора, напомнить ли ему о запросе, в конце поинтересоваться у пользователя, решена ли его проблема.


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