Искусственный интеллект под Android с открытым API


    Только ленивый не знает сегодня о том, что такое голосовой помощник Siri. Когда два года назад этот продукт был показан на презентации нового iPhone 4S, многие посмотрели на развитие IT-индустрии по-новому. Действительно, искусственный интеллект в кармане, понимающий естественную речь, еще не показывал никто.

    Многие в то время начали говорить о том, что Apple может уже на следующем WWDC предоставить всем программистам под iOS возможность использовать открытое API ассистента Siri для своих собственных программ. Картина вырисовывалась радужной — любое приложение смогло бы реагировать на пользовательские фразы, исполняя различные команды. Действительно, если в магазине AppStore так много разных полезных приложений, почему бы им не дать возможность управления голосом? Тем более что такой вид коммуникации с пользователем, как речь, быстро стал трендовым после выхода iPhone 4s.

    О том, удалось ли это сделать Apple, и что удалось сделать нам, читайте далее.



    Время шло, а API у Siri не появлялось



    Надо отметить, что большинство путает просто распознавание речи и собственно возможности ассистента как искусственного интеллекта. Между этими двумя понятиями огромная разница — решения по распознаванию речи (speech-to-text) присутствуют на рынке уже давно (к примеру, в ОС Android она доступна всем желающим), а вот создать открытую технологию диалоговой системы (с поддержанием контекста, извлечением смысла и т.д.) не удавалось еще никому. Многие также не задумывались о том количестве проблем, которые возникнут при общем доступе множества программ к единому мозговому центру AI в лице Siri. А также о том числе совершенно новых технологий, с которым программистам пришлось бы иметь дело.

    Идея создать голосового ассистента с открытым и доступным для всех API “искусственного интеллекта” уже витала на тот момент в наших головах, и мы решили ее осуществить.

    Ассистент на русском



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

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

    Нашей целью было сделать доступный инструмент для использования этих технологий.

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

    Открытое API искусственного интеллекта


    С первого дня каждый сервис “Ассистента на русском” создавался на основе той же платформы, которую мы планировали открывать для всех в будущем. Этот принцип по-английски называется “Eating your own dog food”. Таким образом мы могли параллельно проектировать голосовую архитектуру и функциональность самого ассистента.

    Результатом нашей работы стало приложение с открытым API и “гибридной” технологией NLP, которая, с одной стороны, дает возможность программировать голосовой интерфейс без всяких серверов, с использованием только вашего девайса и Android SDK, а с другой стороны, переносить часть решений в облако по необходимости. Например, ваши контакты не отправляются ни на какие серверы (привет, Siri), а список всех городов, с которыми работает, скажем, сервис “Погода”, не хранится на клиенте.

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

    “Ассистент на русском” использует возможность межпроцессного взаимодействия (IPC) в ОС Android, так что сам ассистент выступает в роли голосового интерфейса между пользователем и вашим собственным приложением. При этом ваше приложение может отображать свой GUI в интерфейсе ассистента — для этого используются RemoteViews и другие похожие техники.

    Что умеет API


    За счет API “Ассистента на русском” можно создавать и гораздо более интересные варианты, где функциональность ассистента выходит за пределы устройства, на котором он работает. Например, стороннее приложение “АссистентКоннект”, используя API нашего ассистента, дает возможность управлять голосом различными устройствами “умного” дома и домашним кинотеатром.



    При этом “АссистентКоннект” является обычным андроид-приложением, которое умеет отправлять запросы по HTTP-протоколу кинотеатру XBMC и ZWave контроллеру умного дома Vera.

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

    Как получить API


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

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

    Основы


    Для внедрения библиотеки с API ассистента в свое приложение вам не понадобится изучать никаких новых языков программирования или технологий. Все, что вам нужно — это Android SDK и IDE для разработки. Мы предлагаем использовать Android Studio. Подключение библиотек осуществляется просто указанием зависимостей в файле build.gradle

    repositories {
        maven {
            url 'http://voiceassistant.mobi/m2/repository'
        }
    }
    
    dependencies {
        compile 'mobi.voiceassistant:base:0.1.0-SNAPSHOT'
        compile 'mobi.voiceassistant:client:0.1.0-SNAPSHOT'
    }
    


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

    Агенты и модули


    Ассистент заранее извлечет все необходимые данные из текста фразы и предоставит их агенту в виде семантического дерева разбора — Токена. Это происходит благодаря специальным грамматикам (Модулям), которые вам нужно сформировать для вашего сервиса.

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

    <?xml version="1.0" encoding="utf-8"?>
    <module xmlns:android="http://schemas.android.com/apk/res/android">
    
        <pattern name="UserName" value="*" />
    
        <command android:id="@+id/cmd_hello">
            <pattern value="привет* *"/>
        </command>
    
        <command android:id="@+id/cmd_name">
            <pattern value="* меня зовут $UserName"/>
        </command>
    
    </module>
    


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

    Агент — это, по сути, надстройка над обычными Android-сервисами. Он реализует интерфейс между ассистентом и логикой вашего приложения.

    public class HelloAgent extends AssistantAgent {
        @Override
        protected void onCommand(Request request) {
            switch (request.getDispatchId()) {
                case R.id.cmd_hello:
                    onHello(request);
                    break;
                case R.id.cmd_name:
                    onName(request);
                    break;
            }
        }
    
       ...
    }
    


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

    Request содержит всю необходимую информацию о запросе пользователя — идентификатор команды, контент запроса (токен или что-то другое), сессию и т.д. На любой запрос агент должен сформировать ответ — Response, содержащий контент ответа и, при необходимости, инструкции ассистенту о переключении контекста диалога.

    request.addQuickResponse(“Привет!”);


    Это пример формирования быстрого ответа в одну строку. А вот чуть более сложный пример:

    Response response = request.createResponse();
    response.setContent(getString(R.string.hello_say_name));
    response.enterModalQuestionScope(R.xml.name);
    request.addResponse(response);
    


    Здесь ответ кроме контента в виде строки (можно передавать и другие виды контента, например GUI) содержит еще и информацию об изменении контекста диалога. Теперь пользователю будут доступны команды только из модуля R.xml.name, и после озвучки ассистентом ответа от агента автоматически включится микрофон — это называется “модальный режим”.

    Каждый агент — это сервис, и поэтому его надо описать в манифесте приложения — AndroidManifest.xml

    <service android:name=".HelloAgent">
           <intent-filter>
                 <action android:name="mobi.voiceassistant.intent.action.COMMAND"/>
                 <data android:scheme="assist" android:host="mobi.voiceassistant.ru"/>
           </intent-filter>
    
           <meta-data android:name="mobi.voiceassistant.MODULE" android:resource="@xml/hello"/>
    </service>
    
    


    Здесь указывается основной модуль агента и пакет того “Ассистента на русском”, с которым агент может работать.

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

    Продолжение следует


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

    Мы предлагаем вам попробовать голосовое управление в ваших собственных проектах, вступить в сообщество разработчиков и помочь в улучшении этого инструмента.
    i-Free Group
    75,00
    Компания
    Поделиться публикацией

    Комментарии 74

      –30
      Хм
        +6
        Круто, интересно, но, купив ваше приложение и побаловавшись пару часов больше его не использую, просто неудобно и всё тут. А в случае с домом так это вообще — достать телефон, разблокировать (всё, уже надоело), запустить программу, внятно, напрягая речь, сказать, что хочешь, дождаться результата. Пара-тройка таких действий может вывести из себя, куда проще взять пульт и включить-выключить-перемотать.
          +2
          В этой статье рассказывается больше о самой платформе создания голосовых ассистентов. Процесс активации микрофона со временем может быть совершенно другим — активация голосом, сенсорами и т.п. Взять пульт и включить-выключить конечно можно, но зачастую все гораздо быстрее за счет голоса — поставить нужный трек, перемотать, включить громкость процентов на 10 и т.п. Мы сейчас показываем кейсы, которые могут быть реализованы сторонними программистами гораздо лучше!
            +2
            Технология мне понравилась на самом деле, качество распознавания отличное, синтез речи тоже хорош. Только применение хромает.
            А вот с «быстрее за счет голоса» готов поспорить. В ролике есть фраза — включи фильм — а какой фильм, непонятно, название сказать — поймет? Или поймет — включи фильм, который я вчера вечером скачал, не помню как называется. Или вот я скажу — включи последний альбом Beneath the Massacre, имея в виду последний не в дискографии, а в моей папке с музыкой, и, кстати, как распознается английская речь в моём «идеальном» произношении? А, например, — перемотай до барабанного соло?
            Можно привести миллион примеров, но статья не об этом же :)
              +1
              Название фильма поймет. Даже если название сказать не полностью, или не совсем правильно. Также и музыку — сказать если «Включи Мадонну». Посмотрите на канале в ютюбе.
              Статья дает описание того, как можно реализовать все эти возможности, и даже как сделать это лучше, чем на видео — все в руках программиста, который использует технологию.
              0
              «Ok, Glass» и «Привет, ТиВи»?
              +2
              Расценивайте это как первый шаг, представьте что лет через 10 эта система будет иметь микрофон в каждой комнате, с небольшим компом на стене, который будет все это обрабатывать. Приходите домой, говорите что-то в стиле «Привет, дом», система включает вам свет, чтобы вы разделись, спрашивает, подогреть ли еды, вы проходите, садитесь на диван, просите чтобы система подобрала вам фильм «с интересным финалом», она на основе ваших предпочтений выбирает фильмец и так далее. В таком виде это действительно может быть удобнее чем управление при помощи пультов.
                0
                Свет включает простейший датчик присутствия, а вот еду как подогревать? Кто-то же ее в подогревательный механизм должен был поставить? А если это борщ, который к вечеру просто скиснет, если стоит не в холодильнике? :) Или после команды «Подогрей мне еды» система будет переводить холодильник в режим нагрева? А что, минут через 15 там и вареные яйца и жаренная колбаса и борщ горячий, вареная сгущенка, печеные яблоки, картошка в мундире, ммм…
                Насчет «интересного финала» вы тоже загнули. Т.е. это я после просмотра каждого фильма должен буду заполнять анкету «почему мне понравился или не понравился этот фильм», чтобы система хоть как то адекватно реагировала.
                Это я к чему тут изливаюсь — без искусственного интеллекта тут не обойтись.
                  0
                  Заполнять не надо. Просто будет достаточно сказать «больше артхауса от этого режиссера не качать»
                    0
                    Холодильник с микроволновкой и грилем давно пора объединять, кстати. А так же с посудомойкой и шкафом для посуды.
                  0
                  Вы забыли сказать, что пульт надо еще найти! А телефон в большинстве с тобой. Да и почему именно телефон, помошнитк может быть встроен в любой андроид, а он в свою очередь находиться всегда дома и реагировать на голосовую команду?!
                  +1
                  А этот API можно использовать как сервис из моего Java приложения? Или только Android?
                    0
                    Это только Android на данный момент.
                      +2
                      Очень жаль…
                        0
                        Все зависит от того, что вы хотите использовать в качестве сервиса в таком случае. Облачное решение для nlu будет вскоре открыта в составе данной технологии.
                          +3
                          Хочу научить мой «умный дом» говорить и понимать меня)… Не могу найти для этого нормального решения не под windows.
                            +1
                            присоединяюсь к предыдущему оратору.
                            Я бы купил за разумные деньги такую услугу на сервисе (а еще круче оффлайн).

                            ЗЫ: так же для «хитрого дома».
                              0
                              Присоединяюсь. Очень интересна платформа для общения с пользователем, причем не только как пользователю, но и как компании.
                                0
                                Для реализации не на мобильной платформе потребуется техническое оснащение в виде микрофонов и удобный способ активации, плюс решение по распознаванию речи. Сам облачный nlp мы откроем для всех разработчиков в ближайшем будущем.
                                  +1
                                  Микрофоны — не проблема. Активация… Вот тут как раз, как мне кажется проще, чем на мобильных устройствах — можно как раз постоянно слушать звук на предмет нужной фразы, не считаясь с затратами процессора и энергии.
                              0
                              Хочу научить мой «безумный дом» варить мне кофе… Но кроме хотения я ничего не предпринимаю в этом направлении :(
                                +2
                                Берем кофеварку, подключаем в сеть через zwave розетку и командуем ассистенту — Умный дом включи кофеварку! А потом, когда ассистент поймет, что такое кофеварка и куда она включена, можно записать свою команду — Умный дом включи кофеварку когда услышишь фразу Свари мне кофе!

                                Собственно все ))
                                0
                                Таких решение нет.
                                Пытаюсь его сделать уже пару месяцев как. Офлайн распознавание + синтез речи + некое подобие ИИ на AIML.

                                Если Вы сильны в Си то пишите, расскажу суть и чем сможете помочь.
                        +4
                        Это действительно очень здорово. Искренне надеюсь, что ваш проект продолжит свое успешное развитие и дальше.
                          0
                          Спасибо! Да, мы не намерены останавливаться, это только начало.
                          0
                          Насколько я знаю более Google Now предоставляет API начиная с версии 4.4?
                            0
                            Дайте ссылку, плиз.
                              +1
                              Google Now в 4.4 позволяет только открыть ваше приложение по некоторому запросу — здесь не идет речи о голосовом управлении функциями самого приложения, не выходя из ассистента.
                            0
                            Тоже пробовал приложение. Конечно классно, но надоедает. Голос не очень приятный. Я думаю, что люди скорее предпочтут пощёлкать пультом, чем искать телефон, вспоминать графический ключ, искать в меню ассистента и диктовать (про виджеты знаю). Это просто никому ненужно. Apple никогда не делала или делала что то просто так.
                              0
                              Основная проблема взаимодействия — нет толковой возможности просто спросить и получить ответ. Без всяких доставаний-разблокировок и прочего. Банальный паттерн поведения — отложить будильник на пять минут голосом, когда телефон на зарядке, а ты в кровати. Или опять-же голосом узнать текущее время из той же диспозиции.
                                +1
                                Действительно, на данный момент самая главная проблема Ассистента — это его быстрый запуск. Знаем, работаем над этим, и так или иначе мы его (быстный запуск) реализуем.

                                Главная проблема здесь — это то, что постоянное слушанье аудио-канала — довольно энергозатратная операция, и без поддержки со стороны железа (и/или ОС) сделать такой кейс, мягко говоря, затруднительно. Например Moto X для того чтобы отзываться на «Ok, Google» имеет себе сопроцессор который никогда не спит.

                                У нас есть в запасе также другие подходы к проблеме быстрого запуска Ассистента, мы экспериментируем, отлаживаем, выбираем.

                                Следите за обновлениями.
                                  0
                                  Не только запуск, но и модальные окна «не удалось распознать фразу». Они тоже заставляют брать аппарат в руки, чтобы продолжить готовить.
                                  0
                                  Громко крикнуть на улице «будильник на [текущее время]» станет распространенной шуткой.
                                    0
                                    Формат це, ентер, ентер!
                                +3
                                Как и комментом ранее замечу, что статья не о приложении, а об апи, который позволяет сделать гораздо больше, чем представвленное на видео.
                                И кстати искать пульт несложно по-вашему? А пульт, который может управлять одновременно и светом и кондеем, и подключен к xbmc по вайфаю? Тем более, что активировать микрофон можно будет и без прикосновений со временем — одним только голосом. И кстати если уж речь о самом приложении — то с помощью него можно управлять и не только умным домом.
                                  0
                                  Выглядит крайне футуристично. А вы не думали добавить в систему сарказм? Получился бы Джарвис 0.01
                                  А ещё систему можно встроить в навигатор на андроиде и держать в машине. Получится K.I.T.
                                  А ещё мне надо купить губозакатывалку.
                                    0
                                    А ещё можно продавать наборы вот таких маленьких GPS-штук www.xakep.ru/post/61581/
                                    После этого, спросив у системы «Где этот пульт от телевизора?» можно получить точный ответ.
                                      0
                                      Да вы можете и сами попробовать — для этого мы анонсировали апи )) Управлять навигатором или даже реализовать Джарвиса — все это можно без проблем.
                                      0
                                      Немного упустил момент: технология распознавания речи используется собственная или же применяется решение от Google?
                                        0
                                        В данном приложении — гугл. Но вообще, наша технология независима от системы распознавания — может применяться любая, заточенная под конкретные задачи.
                                        0
                                        Круто, чо! Жаль, никто не пилит oss-аналогов…
                                        а вот создать открытую технологию диалоговой системы (с поддержанием контекста, извлечением смысла и т.д.) не удавалось еще никому
                                        Это точно :(
                                          0
                                          Плюсую. В принципе, понимаю, что разработчикам тоже хочется кушать хлеб с маслом (и с икоркой, ага). Но… Я готов заплатить разумные деньги, но дайте человеческое API! У меня есть Андроид, но у меня есть и своя система умного дома, в которую я бы хотел принести такое решение.
                                            0
                                            Так никто не мешает использовать андроид-устройство в качестве точки входа для умного дома. Мы как раз и представляем человеческое апи для этих и многих других задач и бесплатно.
                                              0
                                              Тогда мне не понятна модель лицензирования. На каких условиях предоставляется API? Где можно посмотреть примеры?
                                                0
                                                На сайте http://voiceassistant.mobi все ссылки на документацию и примеры на github. Лицензирование — свободное, можете использовать в своих приложениях.
                                          0
                                          Голос как то коряво распознаётся, заставить набрать номер из тел. справочника просто нереально :(
                                            0
                                            На разных устройствах гугл-распознавание может работать по-разному — все зависит от качества микрофона, шумов вокруг и многих других факторов. Но имена типа Позвони Васе — должно работать нормально. И естественно если фамилия в контакте редкая, то гугл может опросту о ней ничего не знать и вернуть совсем другой вариант. Для этого могут быть использованы другие системы распознавания под конкретные задачи.
                                            0
                                            Он сможет распознать слова типа Филипс, Кокакола, Хюндай?
                                              0
                                              Только что попробовал, все распозналось (хюндай со второго раза, правда).
                                                0
                                                По-моему никаких проблем.
                                                +2
                                                Скажите честно, Вы используете нейронные сети или машинное алгоритмы обучение для совершенствования исполнения команд? Про распознавание и синтез я не говорю, это не ваши алгоритмы.
                                                Если нет (не используете), то заголовок «Искусственный интеллект под Android с открытым API» как минимум, вводит в заблуждение людей. Звучит громко, но если за ним стоит только шаблонные механизмы формирования ответов на вопросы, то грустно как-то.
                                                  0
                                                  Мы вскоре в цикле статей опишем что прячется под капотом, что используется из алгоритмов.
                                                  То, что вы называете «шаблонные механизмы формирования ответов на вопросы» — здесь неуместно, т.к. вы сами видите, что приложение не просто формирует ответы на вопросы — оно поддерживает диалог, умеет понимать контекстные задачи и т.д.
                                                  Нейронные сети — это те же шаблоны кстати, только получаемые в процессе «обучения» — предоставления сети большого количества входных данных.
                                                  Вы можете сами попробовать апи. Его цель — предоставить разработчикам ДОСТУПНУЮ технологию речевого взаимодействия с пользователем.
                                                  0
                                                  Интересный вариант. Надо будет попробовать разобраться с API.
                                                  Я у себя для управления умным домом на MajorDoMo делал следующим образом — смартфон/планшет на Android + Tasker +AutoVoice plug-in + Bluetooth-гарнитура. Tasker/Autovoice настроены так, что пытаются распознать все звуки и по произношению «триггерного» слова (в моём случае это «Алиса, ...») передают всю фразу на сервер, а там уже средствами MajorDoMo идёт обработка фразы на команды («включи музыку», «открой пожалуйста гараж» и т.п.). Можно вместо триггерного слова начинать распознавание речи по нажатию кнопки на гарнитуре.
                                                  Честно говоря, на практике не часто пользуюсь — голосовой интерфейс не самый удобный, но со стороны впечатляет :)
                                                    0
                                                    Голосовой интерфейс неудобен только в случае неудобной реализации. Сделать реализацию удобной — в этом и состоит смысл нашего апи.
                                                      0
                                                      Я не против — сделайте удобно и все будут только рады. Интересно, как апи может сделать более удобным сам принцип управления голосом? Ваше апи упрощает получение описанного мной результата — приём и обработку голосовых команд, это на самом деле здорово. Я просто не считаю голосовое управление само по себе очень удобным. Это не камень в ваш огород, вовсе нет. Как раз появление новых удобных приложений, на основе удобных API эту ситуацию может исправить.
                                                        0
                                                        Сам принцип управления голосом заключается не только в распознавании голоса, а в понимании речи.
                                                        Наш API дает функцию «извлечения смысла» из фразы. Это и создает возможность сделать такое управление удобным — когда система «понимает» контекст, а не просто исполняет записанные команды.
                                                        Тем не менее, проблема качества распознавания в различных условиях и на различных девайсах конечно же остается, продолжает решаться, и вскоре, как мы надеемся, будут реализованы действительно принципиально новые подходы в этом направлении.
                                                    0
                                                    молодцы, неплохая идея и реализация, как я могу посудить, тоже.

                                                    Советую еще посмотреть на проект Voicesphere:
                                                    techcrunch.com/2013/10/28/voicesphere-brings-voice-control-to-facebook-instagram-others-enterprise-apps-coming-next/
                                                    voicesphere.herokuapp.com/

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

                                                    Удачи!
                                                      0
                                                      Насколько мне известно, это совершенно другой вид API — он чисто web-based. Другими словами, сами разработчики этого ассистента интегрируют в него функцию по отображению странички веб-сайта по некоторой команде.
                                                      API Ассистента на русском предлагает гораздо больше по части интеграции в само стороннее приложение. Здесь сам программист использует API для управления логикой своего приложения с помощью диалогов.
                                                      +3
                                                      Мне вообще вот что интересно: а такие вещи в принципе востребованы людьми? Впечатление, что это просто фишка из фантастического фильма, а не что-то, что будет оценено пользователями как полезное. Вот в новых смартфонах Самсунга — управление глазами, жестами итд итп. Много ли людей этим пользуется именно для дела, а не для развлечения и демонстрации телефона друзьям?

                                                      К тому же, в приведённом видео: человек задаёт роботу вопрос о погоде. Вместо того, чтобы дать человеческий ответ типа «Да там прохладно (подразумевая — по сравнению со вчерашним днём), одевайся потеплее (в смысле, чем вчера)», система выдаёт человеку кучу цифровой информации, трудно воспринимаемой на слух. Градусы, ветер, влажность — мы привыкли читать это с экрана, а не слушать. То, что там дальше — тем паче: впечатление, что идёт диалог компьютера и программиста («Применить») — для кого это всё сделано? Какой обычный человек будет держать в голове всю эту логическую структуру? Сможет ли бабушка пользоваться этой системой или вообще понять что это такое?

                                                      К тому же, немного не понятно, что такого нового здесь демонстрируется. Лет 7 назад я увлекался системами CarPC и у меня в машине стоял ноутбук с системой распознавания речи и скриптом, который я сам написал. У меня был голосовой поиск музыки и голосовой запуск всех нужных приложений. Это очень впечатляло друзей (а особенно девушек). У системы было имя (Кристина) — по аналогии с одноимённым фильмом по Ст. Кингу. На это имя она и отзывалась. Ко мне она обращалась «Повелитель». :) Но это игрушка, с которой я завязал. С тех пор мне это совершенно не интересно и не нужно.

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

                                                      Кстати, прошло 7 лет с моих экспериментов, а ваша система работает точно так же как моя: разговаривать с ней нужно тщательно расставляя слова и дожидаясь реакции по 2-3 секунды. Конечно, у вас на видео этого нет, но когда команда распознаётся неверно, начинаешь сердиться, орать на систему. Со стороны это выглядит очень смешно. ))

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

                                                      Сделайте недорогого робота, который будет мыть посуду, прибираться по дому и ходить за хлебом (или хотя бы заказывать его онлайн) — и люди будут его с удовольствием покупать. А голосовое управление телевизором и кондиционером полезно только чтобы развлечь друзей. И то, максимум один раз.
                                                        0
                                                        Где-то видел статистику по поисковикам, где говорилось что голосовым поиском пользуются ~3% юзеров. Поэтому я согласен, что все эти головые фишки просто игрушка и не более.
                                                        Как только придумают как удобно и не выжирая батарею запускать обработчик голоса тогда и будет видна польза. Сейчас же заходим на сайт разработчиков и смотрим, например, видео управления музыкой. Что надо сделать (смотря на видео демо):
                                                        1. нажать кнопку
                                                        2. поднести телефон (издалека мешают шумы?)
                                                        3. четко сказать
                                                        4. ждать реакции
                                                        В классическом управлении мы бы еще на первом шаге кликнули на play/stop и тд и все. Итого тратим кучу времени на игры с голосовым управлением
                                                          0
                                                          1. Свайпнул с экрана блокировки вверх — активировался микрофон
                                                          2. Сказал «Поставь Мадонну» (никто не заставляет вас сидеть около колонки)
                                                          3. Слушать музыку

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

                                                          Ваш пример с поисковиками неуместен, т.к. здесь речь идет не о поиске информации, а об управлении логикой приложений и устройств.
                                                            0
                                                            Пример был как показатель в реальной работе (голосой поиск в гугле, апишка от яндекса и т.д.). Я к тому, что сейчас реальных приложений Android, где голосовое управление/жесты к месту — это разве что навигаторы в машине и т.д. (ну может быть с натяжной умные дома, хотя в коментах выше уже это опровергли).
                                                            По личному опыту с голосовым распознаванием гугла — шанс сказать что-то с 1 раза 50/50, если именно не напрягаться под распознаватель.
                                                            Тоесть сомнения не по лично вашему API, а о таковом способе взаимодействия с приложением в целом на телефонах
                                                              0
                                                              В умных домах как раз натяжки меньше всего — тк там вы имеете дело с множеством различных устройств, с разной функциональностью — в этом случае голос как единый способ управления всем очень подходит. Недаром именно это направление сейчас развивается активнее всего. То, чего вы не видите сейчас, инженеры как раз видят, и в ближайшем будущем продемонстрируют.
                                                                0
                                                                Ну дак вы о будущем, а я о настоящем, в таком виде как оно есть сейчас. Ну не суть, вобщем ждем с нетерпением API не только для андроида)
                                                          0
                                                          Голосовое управление удобно в массе случаев — в том числе и дома, где много устройств и под каждое пульт не найдешь.
                                                          В этой статье мы предлагаем сам API для сторонних разработчиков, а не конкретные решения. Разработчик может сделать так, чтобы его приложением как раз могла воспользоваться бабушка, если ей надо.
                                                          Читайте статью внимательнее — здесь речь немного о другом.
                                                            0
                                                            Лет 7 назад я увлекался системами CarPC и у меня в машине стоял ноутбук с системой распознавания речи и скриптом, который я сам написал. У меня был голосовой поиск музыки и голосовой запуск всех нужных приложений. Это очень впечатляло друзей (а особенно девушек). У системы было имя (Кристина) — по аналогии с одноимённым фильмом по Ст. Кингу. На это имя она и отзывалась. Ко мне она обращалась «Повелитель». :)


                                                            Забавно, сколько интересных вещей делается «по приколу» и «для себя».

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

                                                            Увы, действительно — такие мелочи очень прикольны, когда смотришь на них первый раз, но в повседневной жизни их использовать достаточно неудобно — активация, распознавание и т.д. — куда как удобнее нажать одну кнопку на клавиатуре, если она под рукой.
                                                              0
                                                              Здесь вы описываете, как делаете что-то «по-приколу» и «для себя», и на основе этого делаете вывод о том, что подход с распознаванием речи тупиковый… По крайней мере это странно. Мы же предлагаем попробовать вполне конкретный подход.
                                                              Про одну кнопку на клавиатуре — это и правда удобно когда она под рукой и когда для конкретной задачи нужно нажать только ОДНУ кнопку. А голосом зачастую можно сделать это быстрее и понятнее всем пользователям. Но это зависит конечно от конкретной задачи. Так что обобщать тут довольно сложно.
                                                            0
                                                            А голоса оно различает? Чтобы только я мог заводить свой будильник на 4 утра, а не всякие крикуны на улице)
                                                              0
                                                              Распознавание гугловое, т.е. — нет…
                                                                0
                                                                Ну вы пока нигде и не встретите распознавание речи по конкретному голосу. Даже если это не гугл, а нюанс или еще что-то.
                                                                  0
                                                                  Что интересно, раньше такая возможность, как «Индивидуальное распознавание», была, а сейчас я такой опции не наблюдаю… Возможно она все-таки есть и активирована по умолчанию, т.к. все-таки все девайсы, преимущественно — это персонализированные устройства, а точней персонализирован ваш аккаунт в Гугл…
                                                                    0
                                                                    В том и дело, что сейчас такой опции больше нет
                                                              0
                                                              Я тут некоторое время назад писал — Думаю, следующей революцией будет голосовой ввод информации, но меня никто не понял.

                                                              Интересно, morfeusys, Вы меня понимаете? Как вам изложенные там мысли?

                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.