Как реализовать выбор выпадающего списка с помощью распознавания речи в веб-браузере?

Я ищу способ выбора записи из раскрывающегося списка на веб-странице с помощью распознавания речи.

Мои первоначальные мысли - использовать Google x-webkit-speech в элементе input type="text". Затем, когда сработает событие onwebkitspeechchange, рассчитайте расстояние Левенштейна для каждой записи в раскрывающемся списке, а затем выберите минимум.

Одна деталь: я бы предпочел, чтобы текстовое поле было скрыто, чтобы казалось, что вы выбираете микрофон для элемента выбора. (Еще не пробовал, но предполагаю, что это можно сделать...)

Пара недостатков заключается в том, что расстояние Левенштейна не всегда может быть точным способом выбора, и в обозримом будущем оно будет работать только в Google Chrome.

Может ли кто-нибудь предложить какие-либо альтернативные предложения или конкретизировать какие-либо детали?


person Steve Chambers    schedule 30.04.2012    source источник


Ответы (1)


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

person Kevin Junghans    schedule 30.04.2012
comment
Вари приятно! Не видел функцию грамматики, но она выглядит именно то, что мне нужно - большое спасибо. - person Steve Chambers; 30.04.2012
comment
Хммм, похоже, что это может быть невозможно с текущей поддержкой браузера - только что наткнулся на это: code.google.com/p/chromium/issues/detail?id=120113 - person Steve Chambers; 30.04.2012
comment
Хороший улов. Это реальный недостаток текущего продукта. Надеюсь, в будущем они добавят эту функцию. В текущей реализации вы можете взять возвращенный n-лучший список и попытаться сопоставить его с параметрами раскрывающегося списка, чтобы определить выбранный вариант. - person Kevin Junghans; 30.04.2012
comment
Не видел, чтобы возвращалось более одного результата - выглядит многообещающе. Всем, кому нужно то же самое, пожалуйста, добавьте свой голос/звезду для функции грамматики здесь: code.google.com/p/chromium/issues/detail?id=120113 - person Steve Chambers; 06.05.2012