Как именно добавить в приложение голосовой интерфейс?

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

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

В широком смысле, Alan - это полноценная платформа искусственного интеллекта для голосовой связи, которая позволяет создавать, отлаживать, интегрировать и выполнять итерацию голосового помощника для вашего приложения.

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

Платформа Alan Platform автоматизирует это с помощью своей облачной инфраструктуры, включающей большое количество передовых технологий распознавания голоса и разговорного языка. Это позволяет Алану поддерживать полноценную голосовую беседу, определяемую разработчиками с помощью скриптов Alan Studio, написанных на JavaScript. Алан интегрирует голосовой ИИ в любое приложение с помощью простых в использовании SDK.

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

В отличие от Google Assistant и Alexa, Alan интегрируется с любым приложением, которое вы разрабатываете, а это означает, что вам не нужно менять существующие рабочие процессы или пользовательский интерфейс.

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

Чтобы показать вам возможности платформы Alan Platform, мы начнем с создания собственного простого голосового сценария, определяющего опыт; затем мы добавим его в мобильное приложение. Мобильное приложение, которое мы здесь будем использовать, - это Приложение SAP Deliveries, доступное на странице Alan Github.

Для начала загрузите и установите Git Large File Storage и убедитесь, что у вас установлена ​​последняя версия Xcode и Swift.

Мы можем скачать Alan iOS SDK здесь:

git clone https://github.com/alan-ai/alan-sdk-ios.git

Приложение будет расположено в каталоге examples / под названием SAP_SampleApplication /.

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

Создание приложения Alan

Сначала зарегистрируйтесь и создайте учетную запись Alan Studio.

Затем войдите в систему в Alan, и вы увидите панель управления проектом. Здесь мы создадим образец проекта для приложения SAP Deliveries с открытым исходным кодом для iOS (которое мы скачали ранее).

Предыдущие модели требовали тысяч строк кода для размещения, разработки, обучения и развертывания - Алан автоматизирует все эти задачи и разрабатывает ваши модели за вас.

В проекте нажмите кнопку «Добавить сценарий» и выберите сценарии SAP_Deliveries_Data и SAP_Deliveries_Logic.

Убедитесь, что скрипт SAP_Deliveries_Data указан первым.

Чтобы понять голосовые скрипты Алана, нам нужно знать две важные особенности - намерения и сущности.

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

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

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

Теперь, когда мы понимаем основные части нашего скрипта, мы можем перейти к отладке нашего голосового опыта в приложении.

Отладка

Алан предоставляет множество функций, которые делают отладку простой и эффективной.

Во-первых, мы можем протестировать этот скрипт в чате отладки, нажав кнопку Алана и спросив: «Какие продукты доступны?»

Здесь мы видим, что Алан отвечает пользователю и отправляет соответствующее визуальное обновление, распознающее намерение продукта.

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

Наконец, Алан предоставляет специальную платформу, на которой мы можем протестировать наше приложение - Alan Playground. Доступный в Интернете, iOS и Android, Alan Playground - еще одна возможность протестировать ваше приложение вместе с его визуальным контекстом.

Для отладки на мобильном устройстве начните с нажатия кнопки QR-кода в Alan Studio Debug Chat и используйте Alan Playground на мобильном устройстве для сканирования кода. Это просканирует ваш голосовой скрипт Алана и откроет его в приложении, которое вы затем сможете протестировать.

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

После завершения тестирования мы можем создать новую версию сценария SAP Deliveries Script для производства!

Контроль версий

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

Здесь наш скрипт сохранен в Development и Last (единственная редактируемая версия). После отладки мы сохраним наш голосовой скрипт и переместим его в рабочую среду. Назовем этот скрипт «V1» и выберем «Запускать в производственной среде».

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

Вверху мы видим наш ключ Alan SDK Key, который мы сохраним для интеграции нашего скрипта в приложение. Теперь, когда у нас есть полная настройка и тестирование сценария, мы интегрируем наш голосовой сценарий в приложение доставки SAP.

Интеграция

Помните проект Github, который мы скачали? Приложение представляет собой образец приложения, созданного с использованием стека SAP Developer.

Открывая проект в Xcode, мы видим, что библиотека Alan уже интегрирована для нас. В папке Alan мы можем открыть файл UIWindow + Alan.swift, чтобы увидеть, что интеграция завершена.

Нам нужно только изменить эту строку в func addAlan (), чтобы включить наш производственный ключ Alan:

let config = AlanConfig(key: “YOUR_KEY_FROM_ALAN_STUDIO_HERE", isButtonDraggable: false)

В других проектах легко интегрировать библиотеки Alan в любой проект Xcode. Нам просто нужно опубликовать следующий фрагмент кода в нашем контроллере представления проекта Swift и добавить следующий фрагмент кода в функцию viewDidLoad. Поскольку это уже сделано в нашем приложении SAP, нам не нужно выполнять эти шаги.

Для более подробной интеграции или для других платформ, таких как Android и Интернет, см. Нашу документацию здесь.

После добавления этого кода вы можете запустить приложение SAP Deliveries в эмуляторе или устройстве iOS и начать использовать Alan!

После тестирования пары функций перейдите на главный экран и спросите «Как мне это использовать?». Кроме того, вы можете использовать эмулятор для проверки кнопки Алана.

К сожалению, в нашем скрипте это намерение не будет распознано.

Чтобы лучше понять, как исправить нераспознанные намерения, давайте перейдем в Alan Analytics, чтобы увидеть все наши взаимодействия с пользователем и то, как Алан был вовлечен.

Итерация

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

Теперь, когда мы интегрировали и запустили приложение SAP Deliveries, мы можем видеть некоторые аналитические данные в Alan Studio. Мы можем видеть время сеанса, количество использования, наиболее частые намерения и многое другое.

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

Здесь мы видим, что пользователь спросил «Как мне это использовать» на главном экране, где он не был распознан.

Давайте обновим код в Alan Studio для поддержки этого конкретного визуального контекста.

Здесь мы можем добавить этот код в сценарий SAP_Deliveries_Logic в строке 190, чтобы помочь исправить это нераспознанное намерение.

Теперь давайте проверим это в чате Alan Debug.

Сначала нажмите «Установить визуальное состояние» и замените подсказку на:

{
    “screen”: “Product”
}

Затем спросите: «Как мне это использовать?»

Оно работает! Теперь мы можем добавить новую версию скрипта и запустить ее в производство. Это должно быть доступно пользователю немедленно, и повторное открытие приложения SAP Deliveries на вашем мобильном устройстве должно дать правильный ответ на ваш вопрос.

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

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

Давайте добавим автоматические тесты. Здесь мы заполнили наши тестовые примеры несколькими образцами фраз:

  1. «Какие продукты у вас есть?»
  2. «Покажи мне записные книжки».
  3. «Что я могу здесь сделать?»

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

Теперь, когда мы полностью знакомы с платформой Alan, давайте рассмотрим все, что мы узнали.

Заключение

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

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

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

С Alan сделайте свои приложения свободными от рук и предоставьте своим пользователям лучший опыт разговорной речи.

Больше наглядного ученика? Следите за нашим обзорным видео здесь!

Для справки просмотрите примеры проектов Alan и SDK здесь: https://github.com/alan-ai

Или посмотрите Документацию Алана за дополнительными проектами.