WebDev2030
@WebDev2030
Битриксоид до мозга и костей

Алгоритмы распознания команд?

Всем привет.
Задача следующая:
  1. Пользователь произносит команду скрипт превращает ее в текст. Это ерунда, можно использовать внешние сервисы, суть вопроса не в этом
  2. далее программа должна понять что есть что. в команде
    Например:
    • включить светильник
    • белый светильник включить
    • включить светильник в углу
    • включить два светильника

    и так далее. Система должна понять что:
    • "включить" - это действие
    • "светильник"- предмет
    • "белый светильник" - предмет
    • "светильник в углу" - предмет
    • "два" - количество предметов


В примере используется "Светильник", но я не знаю какие предметы могут быть. Нужно что-то универсальное. Принцип примерно напоминает разбор предложения на члены предложения, сказуемое, подлежащее, определение.
Получается что на входе у нас текст команды, а на выходе: команда в виде предмет, количество, действие.
В какую сторону копать?
  • Вопрос задан
  • 411 просмотров
Пригласить эксперта
Ответы на вопрос 3
Labunsky
@Labunsky
Я есть на хабре
Для обработки коротких комманд нет смысла в использовании нейронных сетей и прочей тяжелой артиллерии.
Получаемые комманды (в смысле действия) известны заранее, все количественные параметры и сами объекты тоже. Тогда обработка комманды сводится к обработке токенов-слов для определения действия, объектов и их характеристик, и все они известны программе на момент поступления.

Пример
Известные действия: {включить, выключить}
Известные объекты с характеристиками: {светильник={синий, в углу}, светильник={белый, на тумбе}}
Поступающая комманда: "белый светильник включить"
Токены комманды: {белый, светильник, включить}

Шаги алгоритма:
1. Находим токен-действие - "включить";
2. Находим токен-объект по ключу известных объектов: "светильник";
3. Оставшиеся токены ("белый") - характеристики. Проверяем все объекты с ключом "светильник" на наличие характеристики "белый", находим нужный;
4. ???;
5. Комманда обработана - найдено действие и объект.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Определение части речи: https://habrahabr.ru/post/152389/
2. Для сравнения полученного текста (с микрофона) и заранее созданых ожидаемых команд (или их шаблонов) - нечёткий поиск Stumper API.
Ответ написан
Комментировать
@anti_bug
У Яндекса целый стек технологий для решения задач распознавания речи и текста на русском языке. Посмотрите в эту сторону, например - https://tech.yandex.ru/mystem/doc/usage-examples-d...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы