Справочник от Автор24
Поделись лекцией за скидку на Автор24

Сущности, параметры и переменные. Как разнообразить реакции

  • 👀 223 просмотра
  • 📌 195 загрузок
  • 🏢️ РАНХиГС
Выбери формат для чтения
Статья: Сущности, параметры и переменные. Как разнообразить реакции
Найди решение своей задачи среди 1 000 000 ответов
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Сущности, параметры и переменные. Как разнообразить реакции» pdf
Тема 2.5. Сущности, параметры и переменные. Как разнообразить реакции Душкин Р. В. (​ roman.dushkin@gmail.com​ ) Приветствую вас, уважаемые коллеги. Меня зовут Роман Душкин, и это наш курс по основам Искусственного Интеллекта в РАНХиГС. Мы продолжаем пилить нашего чат-бота на DialogFlow, и уже добились кое-каких результатов. Ваши агенты должны быть уже более или менее развитыми, в них должно быть несколько правил, они так или иначе должны реагировать на большую часть обращённых к ним реплик. Ну а вы должны уметь тренировать их. Сегодня я проведу лекционное занятие, на котором расскажу вам про дополнительные возможности инструментария DialogFlow, но применять его или нет в своих агентах вы решите самостоятельно. К тому же, я только лишь кратко расскажу про эти возможности, а детали вы найдёте в руководстве пользователя. Погнали… Для начала давайте обратим своё внимание на сущности. В левом меню DialogFlow есть пункт «Entities». Если кликнуть в него, то на экране появится список сущностей, определённых для агента. Можно создавать сущности, и они будут пополнять представленный список. Фактически, сущность — это некоторая именованная строка, имеющая множество возможных вариантов написания. Например, если вы делаете чат-бота, который отвечает в чате технической поддержки на типовые вопросы, то сущностью может быть название вашей организации, а её наполнением в этом случае является всё множество вариантов его написания. Например, у моего ИИ-ассистента Натали одна из определённых сущностей называется Artificial Neural Network, а в качестве вариантов перечислены все возможные синонимы этого термина на русском языке — ИНС, искусственная нейронная сеть, нейросеть и так далее. Соответственно, когда агент обнаруживает во входной фразе строку, входящую в множество синонимов сущности, он выделяет её и помечает идентификатором сущности, и после этого эту подстроку можно использовать в качестве параметра. В свою очередь, это используется в правилах. Если вы помните, мы пропустили несколько разделов в описании одного правила. Вот сейчас-то мы на них внимательно и посмотрим. Вероятно, что вы уже замечали, что иногда во входных фразах появляются некие выделенные разными цветами подстроки. Это и есть параметры. DialogFlow автоматически выделяет всякие числа, дни недели, города и места, имена собственные и некоторое другие штуки. Также он выделяет все определённые и описанные сущности. Ну и выделенной подстроке даётся идентификатор, по которому её можно использовать в ответах. В разделе «Action and parameters» как раз и перечисляются все параметры и их значения. А в выходных правилах можно использовать идентификатор параметры для того, чтобы в соответствующее место подставить его значение. Например, если есть правило для обработки имён пользователей, которое активируется на такие фразы, как «Меня зовут Роман», то подстрока «Роман» будет выделена в качестве параметра. Затем эту подстроку можно использовать в ответах. Например, чат-бот сможет ответить «Приятно познакомиться, Роман». Впрочем, я хочу отметить, что если для аналитического английского языка это работает неплохо, то для синтетического и флективного русского языка надо будет тщательно подбирать выходные фразы, чтобы учесть все варианты словоизменения значений параметров. Из-за этой сложности, к примеру, я не использую эту возможность DialogFlow. Давайте вернёмся на чуть более ранние разделы правила. Там есть раздел «Context», в котором можно определять контекст активации правила. Но на мой взгляд разработчики DialogFlow здесь перемудрили. Дело в том, что в классическом варианте под контекстом понимается множество пар вида (Идентификатор, Значение), который передаётся из правила в правило, и к значениям можно обращаться как по чтению, так и на запись. А здесь под контекстом имеется в виду только некий набор идентификаторов, которые могут передаваться из правила в правило, и наличие контекста также определяет, активируется правило или нет. Например, если в правиле обозначено наличие определённого контекста, то это правило активируется только в случае, если вместе с входной фразой, записанной в этом правиле на вход ему будет подан и соответствующий контекст. Это очень сильно ограничивает применимость этого механизма. Хотя для решения некоторых задач он подойдёт. Но повторюсь, что этот механизм не универсален. Идём дальше, и у нас раздел «Events», то есть системные события. В DialogFlow определено большое количество системных событий, но подавляющее большинство из них относится к Google Assistant. Для остальных мессенджеров используется только системной событие инициирования беседы. При помощи использования системных событий правило можно активировать, когда соответствующее событие произошло, даже если пользователь не ввёл никакой входной фразы. Но, как я сказал, в основном это доступно только для мессенджера Google, а потому механизм опять не универсален. Давайте посмотрим на раздел «Text Responses», про который вы уже должны прекрасно знать. Здесь также можно задать специфические реакции вашего агенты на фразы, заданные в разных мессенджерах, с которыми агент интегрирован. Если нажать на плюсик, который находится около надписи «Default», то можно выбрать мессенджер, для которого делается специфическая реакция. Например, для Телеграма можно в дополнение к текстовому ответу выдавать пользователю кнопки, ссылки, картинки и некоторые другие варианты. При этом надо отметить, что при помощи ползунка можно указать агенту, использовать ли текстовый ответ по умолчанию, либо надо использовать только специфический ответ для выбранного мессенджера. Наконец, последний раздел в правилах — это «Fulfillment». Это вызов сторонней процедуры по URL для обработки на стороне вашего сервера. Если включить этот вызов, то также будет дана возможность включить наполнение параметров ответа на стороне сервера. Что будет происходить в этом случае? Как только правило активируется, будет создан запрос в формате JSON, который будет передан на ваш URL для обработки. Если активирована необходимость получение параметров ответа,то агент будет ждать ответ вашего сервера, после чего заполнит параметрами выходные строки, которые и будут выданы пользователю в ответ. Эта возможность, фактически, делает DialogFlow универсальным инструментом, так как вы можете любой запрос обрабатывать у себя на стороне, что позволит и вести контекст в универсальном виде, и помнить всё о пользователе, и привлекать внешние базы данных. Ну а сам URL для передачи запросов задаётся в пункте «Fulfillment» главного меню DialogFlow. Если зайти туда, то можно включить обработку запросов на стороне вашего сервера. После включения будет доступна возможность указать URL, задать параметры аутентификации и определить набор ключей в заголовке запроса. При работе с этой возможностью необходимо обеспечить выполнение правил API DialogFlow для внешних сервисов. Обо всём этом можно ознакомиться в детальной документации или на форумах пользователей DialogFlow. Ну и с остальными функциями можно ознакомиться там же. Сегодня я не буду рассказывать вам про возможность подключения семантической базы знаний, так как пока она доступна только для английского языка. Мы пропустим инструменты для анализа работы агента и всякие мелочи, типа преднастроенных фраз для быстрых диалогов. Обо всём этом, если вы заинтересуетесь, вы сможете узнать самостоятельно. Что ж, а я с вами на этом прощаюсь. Сегодня мы узнали про сущности, параметры и другие разделы правил, а также про передачу вызовов на сторонние сервисы. Пользуйтесь этим аккуратно. С вами был Роман Душкин, до новых встреч и пока.
«Сущности, параметры и переменные. Как разнообразить реакции» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Смотреть все 462 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot