0

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

Мой вопрос: какие способы я могу использовать для обработки ввода (что я подразумеваю под входными данными, это данные или текст после передачи речи в текст)?

Я нашел несколько способов сделать это, например, сопоставить входные данные с уже сохраненными данными (соответствие шаблонов), но Im ищет что-то более лучшее и умнее, чем это (и если есть какие-либо предлагаемые ссылки).

Благодаря

+1

Взгляните на [SpeechRecognizer для Android] (https://developer.android.com/reference/android/speech/SpeechRecognizer.html) –

+0

Спасибо, но я спрашиваю о тексте, который я получаю после преобразования речи в текст. как я могу его обработать? – N4LN

+0

Требовать от пользователя конкретных фраз. Свободная форма речи трудно разобрать. –

ответ

0

Я хотел бы предложить вам начать с очень простым и четко определенным набором правил ключевых слов вашего собственный:

@Override 
    public void onResults(final Bundle results) { 

     final ArrayList<String> heardVoice = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); 

     if(heardVoice != null && !heardVoice.isEmpty()) { 

      for(String result: heardVoice){ 

       if(result.contains("bluetooth")){ 
        if(result.contains("on")){ 

         // turn on bluetooth 
         break; 
        } else if(result.contains("off")){ 

         // turn off bluetooth 
         break; 
        } 
       } 
      } 
     } 
    } 

После того, как вы поняли эти основные параметров ключевых слов, вы можете выглядеть к использованию модели обработки естественного языка (NLP) и производительности вашего кода.

Есть много примеров, но Apache OpenNLP - хорошее место для начала, с полной документацией.

Смежные вопросы