2013-06-09 2 views
2

저는 사람들이 몇 가지 옵션 (문자열) 중에서 말하고 선택할 수있는 앱을 만들고 있습니다. Android 음성 인식기를 제 생각에 맞춰야하는 데 약간의 문제가 있습니다.Android에서 음성 인식 결과 제한

SpeechRecognizer에 "유효한"매개 변수를 전달하고 "가장"일치하는 매개 변수 사이를 선택하는 방법이 있습니까?

나는 코드를 필요로하지 않는다. 나는 단지 google-fu가 오늘 나를 실패하는 것처럼 보이는 약간의 지침이 필요하다.

답변

1

아니요, 매개 변수가 없습니다. Google 음성 인식이 충분히 유연하지 않습니다. CMUSphinx

0

아니요, 인식을 제한하는 매개 변수를 전달하거나 가장 잘 일치하는 데 도움이 될 수 없습니다. 직접 구현해야합니다.

일부 알고리즘을 사용하면 Android의 음성 인식기가 원하는 옵션과 일치하는 것을 쉽게 찾을 수 있습니다. 이는 앱이 Cumin과 같이 Android 인식기에서 인식 할 수없는 단어를 인식해야하는 경우 특히 중요합니다. GAST이 들어

당신은 사람 안드로이드 체크 아웃이 오픈 소스 프로젝트에 일부 구현 및 샘플 코드에 대한 here

같은 음성 매칭 알고리즘을 사용할 수 있습니다.

3

이 문제에 대한 우리의 해결책은 http://kaljurand.github.io/Grammars/에 설명되어 있습니다. 이 페이지에서 링크 된 종이를 확인하십시오 :

Kaarel Kaljurand, Tanel Alumäe. 제어 음성 인식의 자연 언어 기반 사용자 인터페이스 (2012 CNL)

기본 개념은 다음과 같습니다

  1. 당신이 (현재) 언어 모델을 통과 할 수 없기 때문에 구글의 음성 인식기를 사용하지 마십시오 (예 : 문법)을 사용합니다 (우리의 경우 우리가 사용하고자하는 입력 언어도 지원하지 않았습니다).
  2. (예 : Sphinx을 기반으로하는) 자신의 음성 인식기를 구현하고 문법을 입력의 일부로 허용해야합니다.
  3. 은 문법을 구현합니다. 허용되는 구문의 간단한리스트라면 JSGF가 문법 설명 언어로 사용됩니다. 좀 더 복잡한 문법에 대해서는 Grammatical Framework (자동으로 JSGF 또는 유한 상태 오토마타로 컴파일 할 수 있음)을 권합니다.
  4. 인식기에 문법을 전달하는 방법을 추가하여 RecognizerIntent API를 확장하는 Android 앱을 구현합니다. 예 : Kõnele에.

이 모든 것이 과포화 일 수 있습니다. Google 결과의 사후 처리 (@ 렘이 제안한대로)는 확실히 구현하기 쉽습니다. 그러나보다 복잡한 언어 모델이나 다국어 언어 모델로 확장하려는 경우, 우리의 접근 방식은 확실히 필요한 모듈성과 표현력을 제공합니다.

+0

나는 Kaarel에 동의합니다. 여러 부분으로 된 말하기 명령과 관련된 복잡한 말하기 대화를 시도하는 경우 문법을 사용해야하지만 한두 가지 부분 명령 만 수행하는 경우 내 접근 방식이 잘 작동하고 구현하기가 쉽습니다. – gregm