Добрый день.
Пишу как один из авторов следующего проекта:
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, а также интеграции с реальными устройствами:
нужно определить небольшой круг поддерживаемых интерфейсов и устройств и выполнить интеграцию.
Одна из глобальных целей сейчас: собрать стенд модуль-подключенные устройства для возможности снятия демонстраций и подготовки к выходу на порталы краудфандинга.
Интересует мнение форумчан: есть ли здесь люди, которым было бы интересно участие в подобном начинании в роли специалиста, выполняющего интеграцию новых устройств?