Русский
Русский
English
Статистика
Реклама

Serenade

Перевод Программирование голосом. Передовые рубежи разработки ПО

06.04.2021 12:11:10 | Автор: admin

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


Работа в Serenade

Технологическая основа


Мы все больше и больше взаимодействуем с гаджетами через речь. Наши старые виртуальные помощники вроде Alexa и Siri теперь объединяются с автомобильными ассистентами, например Apple CarPlay и Android Auto, а также с приложениями, работающими с голосовой биометрикой и командами. Но что, если саму технологию можно было бы создавать при помощи голоса?

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

Однако программирование голосом оказывается не столь простым и кроет в себе несколько слоев сложной технологии. К примеру, в Serenade используется движок преобразования речи в текст, созданный специально для работы с кодом, в отличие от аналогичного API Speech-to-text, спроектированного Google для разговорной речи. После того, как инженер проговаривает код, движок Serenade передает его в слой обработки естественного языка, в котором специально обученные модели машинного обучения (МО) распознают и переводят стандартные программные конструкции в синтаксически верный код.

Существует две основных платформы, предлагающих различные подходы к задачам рецитирования кода компьютеру. Одна из них, Serenade, выступает в качестве цифрового помощника, позволяя описывать вводимые в коде команды без необходимости проговаривать каждую инструкцию дословно. Другой инструмент, Talon, предоставляет более тонкий контроль над каждой строкой, что также требует более тщательного понимания каждой программируемой в машину задачи. Ниже вы видите простой пример пошагового руководства в Serenade и Talon по генерации кода Python, выводящего на экран слово hello.




Технология против офисного синдрома


Компания Serenade, собравшая $2.1 миллиона на этапе начального финансирования в 2020 году, родилась в силу необходимости, после того, как одному из ее основателей, Мэтту Уитхоффу, в 2019 году бы поставлен диагноз хроническая травма от повторяющегося напряжения. Я бросил работу разработчиком ПО в Quora, потому что просто перестал с ней справляться, говорит Мэтт. В качестве альтернативы можно было заняться деятельностью, не требующей такого количества набора текста, либо искать другой выход.

Тем же путем в 2017 году пошел Райан Хайлман, оставив свое постоянное место работы программистом, после того как годом ранее у него возникли сильные боли в руке. Тогда Тайлман занялся разработкой Talon, платформы для написания кода без использования рук. Он говорил: Задача Talon полностью заменить клавиатуру и мышь для любого человека.

С этой целью в ней реализовано три программных компонента: распознавание речи, отслеживание глаз и распознавание звука. Движок распознавания речи основан на разработанной Facebook автоматической системе Wav2letter, которую Тайлман расширил командами для программирования. При этом функция отслеживания глаз и распознавания звука симулирует управление с помощью мыши. Курсор перемещается по экрану вслед за перемещением взгляда, а клики совершаются в ответ на издаваемый ртом звук, напоминающий откупоривание шампанского. Как говорит Райан: Издать такой звук легко. Он не требует особых усилий и распознается очень быстро, что представляет более быстрый невербальный способ реализации щелчков мыши, не вызывающий голосового напряжения.

Написание кода с помощью Talon звучит подобно инопланетному языку, как это продемонстрировала Эмили Ши, инженер и практик данной техники, выступавшая на конференции в 2019 году. Предложенное ей видео наполнено командами типа slap (Ввод), undo, spring 3 (перейти к третьей строке файла) и phrase name op equals snake extract word paren mad (дает такую строку: name = extract_word(m)).

С другой стороны, при написании кода с помощью Serenade, команды проговариваются более естественным образом. Можно сказать delete import, чтобы удалить инструкцию импорта в начале файла или build, чтобы выполнить пользовательскую команду сборки. Также можно сказать add function factorial для создания функции, вычисляющей факториал, например, в JavaScript. В этом случае приложение полностью возьмет на себя синтаксис, включая ключевое слово function, скобки и фигурные скобки, избавив вас от необходимости явно проговаривать каждый элемент.

Для программирования голосом требуется хороший микрофон, особенно если вы хотите устранить фоновый шум. Тем не менее модели Serenade обучены на аудио, получаемом с микрофонов ноутбуков. Если же вы хотите использовать Talon с функцией отслеживания движения глаз, то также потребуется соответствующее оборудование. Хотя Talon отлично работает и без него. Открытые платформы для написания кода голосом, такие как Aenea и Caster, хоть и бесплатны, но обе опираются на движок распознавания речи Dragon, который пользователь должен приобретать отдельно. При этом Caster предлагает поддержку Kaldi, открытого набора инструментов для распознавания речи, а также Windows Speech Recognition, поставляемого с ОС Windows по умолчанию.

По словам сооснователя Serenade Labs, Томми МакУилльям, результаты говорят сами за себя: Описать желаемое действие становится намного проще. Ведь куда легче просто сказать move these three lines down или duplicate this method вместо того, чтобы печатать все эти инстуркции или даже использовать горячие клавиши.

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

Написание кода с помощью речи, помимо прочего, снижает барьер входа в разработку ПО. МакУилльям по этому поводу говорит так: Если человек сможет представить код, который он хочет написать, логически и структурированно, то остальное можно будет поручить алгоритму МО, который переведет мысли разработчика в синтаксически правильный код.

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

Подробнее..

Перевод Речевое программирование может стать следующей вехой в разработке ПО

25.03.2021 22:22:00 | Автор: admin

Все чаще мы общаемся с гаджетами голосом. К давно знакомым помощникам вроде Alexa и Siri присоединились автомобильные речевые интерфейсы Apple CarPlay и Android Auto. Появились даже приложения, чувствительные к голосовой биометрии. А если и создавать новые продукты с помощью речевых команд?

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

Речевое программирование это не так просто, как может показаться. За ним стоит сложная многослойная технология. В приложение Serenade для кодинга голосом встроен специализированный движок распознавания речи. Он работает с кодом, и в этом его главное отличие от решения Google, распознающего разговорную речь. Как только программист произносит текст программы, Serenade передаёт его движку обработки естественного языка (NLP). Его модели машинного обучения натренированы на обнаружение и перевод распространённых лексем программирования в синтаксически корректный код.

В 2020 году Serenade собрала 2,1 млн долларов во время раунда посевного финансирования. Компания появилась годом ранее, когда у её основателя нашли тоннельный синдром:
Я больше не мог работать программистом в Quora и оставил эту работу. У меня был выбор: найти другую специальность, где не требуется набирать так много текста, или придумать решение проблемы.
Создатель Serenade Мэтт Витхофф

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

В Talon входит несколько компонентов: распознавание речи, слежение за глазами и распознавание шума. Расшифровка речи в Talon основана на API Wav2letter от Facebook, в которую Хайлман добавил команды для создания кода. Отслеживание взгляда и распознавание шумов позволяют имитировать работу с мышью. Глаза перемещают курсор по экрану, а клики происходят, когда пользователь щёлкает языком:
Этот звук легко воспроизвести. Он не требует больших усилий и распознаётся без задержек, так что это быстрый невербальный способ щёлкнуть мышью, который не вызывает голосового напряжения.
Создатель Talon Райан Хайлман

В 2019 году Эмили Ши показала, как выглядит работа в Talon. Со стороны программирование в этой среде звучит как разговор на чужом языке. Видео наполнено голосовыми командами типа slap (нажать Enter), undo (удалить), spring 3 (перейти к третьей строчке файла) и phrase name op equals snake extract word paren mad (что должно создать эту строчку кода: name = extract_word(m)).


Программирование в Serenade происходит естественнее. Можно сказать delete import, чтобы удалить инструкцию по импорту в верхней части файла, или build, чтобы запустить сборку. Ещё можно сказать add function factorial, чтобы создать функцию, которая вычисляет факториал в JavaScript. Приложение само позаботится о синтаксисе включая ключевое слово function, круглые и фигурные скобки так что не нужно проговаривать каждый элемент.


Модели Serenade обучены работать со звуком с микрофона ноутбука. Однако в идеале нужен хороший микрофон это поможет отсечь лишние фоновые шумы.

Если вы планируете работать с Talon и пользоваться отслеживанием взгляда, вам понадобится специальное оборудование, хотя среда прекрасно работает и без него. Распознающие голос платформы с открытым исходным кодом, такие как Aenea и Caster бесплатны, но работают на основе движка Dragon, который продаётся отдельно. Тем не менее Caster поддерживает опенсорсный инструмент для распознавания речи Kaldi и Windows Speech Recognition, который предустанавливают в Windows.

Результаты говорят сами за себя:
Описать словами, что вы хотите сделать намного проще, чем через клавиатуру: достаточно сказать перенеси эти три строки вниз или продублируй этот метод.
Соучредитель Serenade Labs Томми МакВильям

Речевое программирование позволяет людям с травмами или хроническими болезнями продолжать работать в любимой сфере. Возможность использовать голос и убрать руки из схемы уравнения сделала управление компьютером более свободным, говорит Эмили Ши. К тому же, программирование голосом снизит порог входа в разработку ПО.
Если люди смогут думать о программе логичным и понятным для них образом, машинное обучение сможет взять на себя работу по превращению мыслей человека в синтаксически верный код.
Соучредитель Serenade Labs Томми МакВильям

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

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru