Мир, который мы видим сегодня, — это научно-фантастическая утопия, в которой технологии, дизайн и природа гармонично сочетаются друг с другом. Мы легко используем множество технологий. Например, могли ли вы представить десять лет назад, что вы сможете разговаривать с телефоном, консолью или динамиком, и они будут выполнять сценарии задач только с вашими голосовыми командами и без каких-либо действий с вашей стороны? Хотя еще есть время, когда мы ищем товарищеских отношений и влюбляемся в нашу ИИ / операционную систему, как показано в фильме «Она», но голосовой помощник прошел долгий путь, убив все потребности в компьютерной периферии. В этом блоге мы расшифруем историю виртуальных помощников и расскажем, как вы можете запрограммировать и создать своего собственного личного виртуального помощника на основе ИИ с помощью Python.

От коробки для обуви до умных колонок…

Для тех, кто не знает, виртуальный помощник ИИ — это часть программного обеспечения, которое понимает письменные или устные команды и выполняет задачи, поставленные пользователем. Первые попытки создания голосовых помощников восходят к началу 60-х годов, когда IBM представила первый инструмент цифрового распознавания речи. Хотя он был очень примитивным, он распознавал 16 слов и 9 цифр. Следующий прорыв произошел в 90-х годах, когда компания Dragon выпустила самый первый программный продукт, проложивший путь к компетентному распознаванию голоса и транскрипции.

Виртуальные помощники стали популярными, когда Apple представила Siri в феврале 2010 года с интеграцией в iPhone 4S. Команда использовала комбинацию обработки естественного языка и распознавания речи, чтобы внедрить инновацию виртуального помощника. Siri была обучена инициировать после пробуждающей фразы «Привет, Siri», после чего пользователь мог задать вопрос, например: «Какая сегодня погода в Ченнаи?». Затем эти тексты передавались в программу НЛП для интерпретации. После Siri за трендом последовали Google Now и Cortana от Microsoft.

Следующая веха была позже достигнута Alexa от Amazon и ее запуском для Echo Dot, что положило начало тому, что мы сегодня называем «Умный динамик», и рождению Voicebot.ai.

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

Приступим к разработке персонального голосового помощника с искусственным интеллектом

Давайте проведем здесь различие, прежде чем мы начнем. Если вы хотите встроить возможности голоса и NLP в свое собственное приложение, у вас есть несколько вариантов облака и API. Для Apple вы можете использовать их Sirikit API, а также заплатить 99 долларов за регистрацию в качестве разработчика Apple и публикацию в Apple Store. Одним из таких примеров является Swiggy и его голосовая команда пользовательского интерфейса для отслеживания партнера по доставке. Другие облачные варианты включают Amazon Alexa с учетной записью AWS и Google Now.

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

Компоненты и пакеты Python для голосового интерфейса

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

Есть несколько компонентов голосового помощника:

Голосовой ввод/вывод

Это означает, что пользователю не нужно прикасаться к своему экрану или элементам графического интерфейса, чтобы сделать запрос. Голосового управления более чем достаточно. Наше программное обеспечение голосового помощника выполнит данную задачу, используя STT. Они преобразуют голосовые задания, заданные пользователем, в текстовые сценарии, анализируют и выполняют их. Мы будем использовать распознавание речи и библиотеку пакетов pyttsx3 для преобразования речи в текст и наоборот. Пакеты поддерживают Mac OS X, Linux и Windows.

НЛП и интеллектуальная интерпретация

Наш голосовой помощник не должен ограничиваться определенными крылатыми фразами, пользователь должен быть свободен в общении. Ответ делается путем пометки определенных элементов, которые могут быть достоверными для вашего пользователя. Мы будем интегрировать Wolfram Alpha API для вычисления ответов экспертного уровня с использованием алгоритмов базы знаний Wolfram и технологии искусственного интеллекта. Все это стало возможным благодаря Wolfram Language.

Подпроцессы

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

Сжать речь

Помимо основных функций, мы будем использовать несколько других библиотек Python, таких как Wikipedia, Ecapture, Time, DateTime, request и другие, чтобы включить больше функций.

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

Если вам нужна профессиональная помощь, запишитесь на Курс Python от GUVI IIT-M. Прежде всего, это поможет вам продвинуться в программировании на Python.

Написание скрипта для персональных голосовых помощников

Прежде всего, давайте импортируем все библиотеки с помощью команды pip или терминала. Для ясности мы назовем нашего персонального голосового помощника JARVIS-One.

(Любое сходство является сверхъестественным)

Настройка речевого движка

Мы собираемся использовать Sapi5, механизм преобразования текста в речь Microsoft для распознавания голоса. Модуль Pyttsx3 хранится в механизме имен переменных. Мы можем установить идентификатор голоса как 0 или 1. «0» указывает на мужской голос, а «1» указывает на женский голос.

Далее мы определим функцию speak, которая будет преобразовывать текст в речь. Функция speak примет тексты в качестве аргумента и инициализирует движок.

Команда «Выполнить и ждать»

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

Приветствие пользователя

Библиотека Python поддерживает функцию wishMe, чтобы персональный голосовой помощник приветствовал пользователя. Функция now().hour абстрагирует час от текущего времени.

Если час больше нуля и меньше 12, голосовой помощник поздравит вас с сообщением «Доброе утро ‹F_name›».

Если час больше 12 и меньше 18, голосовой помощник пожелает вам следующего сообщения «Добрый день ‹F_name›».

В противном случае он озвучивает сообщение «Добрый вечер».

Настройка командной функции для нашего персонального голосового помощника

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

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

Текущая функция

Основная функция начинается отсюда, команда, данная человеком/пользователем, сохраняется в переменной statement.

Голосовой помощник-ДЖАРВИС теперь может прослушивать некоторые триггерные слова, назначенные пользователем.

Навыки/Силы Призыва

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

1. Доступ к данным из веб-браузеров — G-Mail, Google Chrome и YouTube

Функция Open_new_tab принимает URL-адрес веб-браузера в качестве параметра, к которому необходимо получить доступ. В то время как функция спящего режима Python задерживает выполнение программы на заданное время.

2. Получение данных с помощью Wikipedia API

После того, как мы успешно импортировали API Википедии, мы будем использовать следующую команду для извлечения из него данных. Функция wikipedia.summary() помогает пользователям запрашивать любые мелочи и выполнять их с кратким описанием в качестве переменного результата.

3. Прогнозирование времени

JARVIS-one может прогнозировать текущее время с помощью функции datetime.now(), которая будет отображать время в часах, минутах и ​​секундах в имени переменной strTime. сильный>.

4. Щелчок по картинкам

Функция ec.capture() позволяет JARVIS-One Click делать снимки с вашей камеры. Он имеет 3 параметра: индекс камеры, имя окна и имя сохранения.

Если есть две веб-камеры, первая будет иметь индикацию «0», а вторая будет иметь индикацию «1». Более того, это может быть как строка, так и переменная. Если вы не хотите открывать это окно, введите False.

Вы также можете дать имя нажатому изображению. Если вы не хотите сохранять изображение, введите False.

5. Получить последние новости

JARVIS-One запрограммирован на получение основных новостей из Time of India с помощью функции веб-браузера.

6. Получение данных из Интернета

Функция open_new_tab() помогает искать и извлекать данные из веб-браузера. Например, вы можете искать изображения голубых одуванчиков. Jarvis-One поможет открыть изображения Google и получить их.

7. Wolfram Alpha API для географических и вычислительных вопросов

Сторонний API Wolfram Alpha API позволяет Jarvis-one отвечать на вычислительные и географические вопросы. Однако для доступа к Wolfram alpha API вам необходимо создать учетную запись и иметь уникальный идентификатор приложения с их официального сайта. client — это экземпляр (класс), созданный для wolfram alpha, тогда как переменная res хранит ответ, данный wolfram alpha.

8. Прогноз погоды

С помощью ключа API от Open Weather Map ваш личный голосовой помощник может определять погоду. Это онлайн-сервис, который предлагает данные о погоде для всех мест. Мы можем использовать команду city_name_variables, используя функцию takecommand().

просмотреть файл rawVoice_assistant.py, размещенный на

‹img draggable="false" role="img" class="emoji" alt="" src=""https://s.w.org/images/core/emoji/13.1.0/svg/2764.svg »'› от GitHub

9. Кредиты

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

elif 'who are you' in statement or 'what can you do' in statement:

speak('I am JARVIS-one version 1 point O your personal assistant. I am programmed to minor tasks like'

'opening youtube,google chrome, gmail and stackoverflow ,predict time,take a photo,search wikipedia,predict weather'

'In different cities, get top headline news from times of india and you can ask me computational or geographical questions too!')

elif "who made you" in statement or "who created you" in statement or "who discovered you" in statement:

speak("I was built by F_NAME")

print("I was built by F_NAME")

10. Подпроцессы — выход из системы

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

elif "log off" in statement or "sign out" in statement:

speak("Ok , your pc will log off in 10 sec make sure you exit from all applications")

subprocess.call(["shutdown", "/l"])

time.sleep(3)

Теперь, когда вы освоились, вы можете создать своего личного голосового помощника с нуля. Точно так же вы можете включить так много других бесплатных API, чтобы включить больше функций. Если вы хотите изменить свой код, посетите этот Git Repository. (Все заслуги принадлежат разработчику).