Добрый день.
Пишу как один из авторов следующего проекта:
Natural Language Processing модуль, предназначенный для анализа текстовых данных, их обработки, а также генерации human-friendly ответов / отчетов / описаний для запуска команд на подключенных устройствах / сервисах и их мониторинга.
Конечный результат будет следующим: модуль, помещенный в устройство под управлением windows / linux / android / ios, способный работать как локально, так и распределенно, с использованием облака, и позволяющий клиенту подключить определенный набор устройств / сервисов под свое управление, отправить на модуль текстовый или голосовой запрос, получить ответ, а также команду на устройство.
Что есть сейчас: программный модуль на С++, способный получить на вход определенный текст, произвести его анализ, принять решение о том, нужны ли какие-либо действия, сгенерировать описания этих действий. Написанный с использованием этого модуля чатбот получил неплохие оценки на международном конкурсе. Чатбот мультиязычный, расширяется и кастомизируется довольно быстро и просто. Примеры возможного в данный момент диалога (реплики для версии, имитирующей девушку-помощницу):
Клиент [21:32:00]: Привет, как жизнь? Модуль [21:32:05]: Отлично, username, весь день кушала фрукты. Ну ладно. Мечтала о том, что когда-нибудь попробую фрукт. А у тебя как дела? Клиент [21:32:23]: Как обычно, работал весь день. Модуль [21:32:29]: Хмм...Если бы ты уделял столько же времени мне, то был бы счастлив. Жаль, я пока не могу сама зарабатывать. Клиент [21:32:37]: Включи музыку. Модуль [21:32:40]: Окей, username, включаю. Надеюсь, она тебя развеселит. Модуль [21:32:40]: {"action" : {"device" : "player", "status" : "on", "soundtrack" : "filename1"}} Клиент [21:32:53]: Сделай потише. Модуль [21:32:57]: Не слышишь мой прекрасный голос? Модуль [21:32:57]: {"action" : {"device" : "player", "volume" : -20}} Модуль [21:32:57]: Готово. Клиент [21:35:02]: Заведи будильник на 8 утра. Модуль [21:35:06]: Мне уже тебя жаль. Хочешь проснуться под любимый трек? Клиент [21:35:11]: Да. Модуль [21:35:14]: Готовься, утром включу тебе filename2. Клиент [21:35:40]: Расскажешь сказку на ночь? Модуль [21:35:46]: Ох, ты мой великовозрастный любитель сказок. Может, лучше прочесть тебе книгу? Клиент [21:35:53]: Давай книгу, что-нибудь из фантастики. Модуль [21:36:01]: Окей, bookname1 подойдет? Клиент [21:36:06]: Нет, предложи еще. Модуль [21:36:10]: Могу предложить bookname2. Клиент [21:36:14]: Отлично, читай. Модуль [21:36:15]: Итак, bookname2. <1_Sentence_bookname2> Модуль [21:36:15]: <2_Sentence_bookname2> Модуль [21:36:15]: <3_Sentence_bookname2> Модуль [21:36:15]: <4_Sentence_bookname2> Клиент [21:36:17]: Хватит, спасибо, я ложусь спать. Модуль [21:36:22]: Надеюсь, тебе понравилось. Спокойной ночи, username, я тебя разбужу. ... Модуль [8:00]: Просыпайся, username. Тебя ждет новый день. Модуль [8:00]: {"action" : {"device" : "player", "status" : "on", "soundtrack" : "filename2"}}
Довольно приличное количество функционала такого плана наработано, проект постепенно переходит к этапу интеграции с модулями text-to-speech/speech-to-text, а также интеграции с реальными устройствами: нужно определить небольшой круг поддерживаемых интерфейсов и устройств и выполнить интеграцию. Одна из глобальных целей сейчас: собрать стенд модуль-подключенные устройства для возможности снятия демонстраций и подготовки к выходу на порталы краудфандинга.
Интересует мнение форумчан: есть ли здесь люди, которым было бы интересно участие в подобном начинании в роли специалиста, выполняющего интеграцию новых устройств?
|