2014-10-20 5 views
0

Моя цель - проверить результаты OCR.Android: Доступ к системному словарю

Android предлагает SpellCheckerSession inferface для проверки предложений слов. Эта функция должна быть подкреплена локализованным словарем. Есть ли способ получить доступ к этому словарю? Загрузка огромного UserDictionary и сохранение десятков из них для правильной локализации не кажется хорошей идеей.

Я просмотрел документацию снова и снова, но мне что-то не хватает. Вот идеальный сценарий (которого, к сожалению, не существует):

Dictionary d = SystemDictionary.forLocale("fr-ca"); 
d.contains(word); 

ответ

1

Я пытаюсь сделать что-то подобное. Решение, с которым я столкнулся, состояло в том, чтобы использовать SpellCheckerSession и проверить, получилось ли точное соответствие в onGetSentenceSuggestions.

public class SpellChecker implements SpellCheckerSessionListener { 
    public SpellChecker(Activity a) 
    { 
     final TextServicesManager tsm = (TextServicesManager) a.getSystemService(
       Context.TEXT_SERVICES_MANAGER_SERVICE); 
       SpellCheckerSession scs = tsm.newSpellCheckerSession(null, null, this, true); 
       TextInfo[] tia = {new TextInfo("trewgjj"), new TextInfo("great")}; 
       scs.getSentenceSuggestions(tia, 3); 
    } 
    @Override 
    public void onGetSuggestions(SuggestionsInfo[] results) { 
     // TODO Auto-generated method stub 
    } 
    @Override 
    public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { 
     for (int i = 0; i < results.length; ++i) { 
      // Returned suggestions are contained in SuggestionsInfo 
      for (int j = 0; j < results[i].getSuggestionsCount(); ++j) { 
       SuggestionsInfo si = results[i].getSuggestionsInfoAt(j); 
       if ((si.getSuggestionsAttributes() & SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY) != 0) 
        Log.d("", "EXACT MATCH FOUND"); 
      } 
     } 
    } 
} 

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

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