Подтвердить что ты не робот

Какой алгоритм используется в программе проверки орфографии Android?

Я изучаю алгоритмы сопоставления строк. Один из самых полезных для использования, с которым я столкнулся, - это тот, который использует мой мобильный телефон (андроид 2.3.4 на SE xPeria neo v).

enter image description here

Как видно на скриншоте, я нажал символы jiw, которые рядом те, которые я хотел, и предложили правильно.

Кажется, что алгоритм похож на levenstein distance (расстояние между моим входом и словарем). Так или иначе близкие символы имеют некоторые значения в сопоставлении строк.

Любая идея об использовании алгоритма?

4b9b3361

Ответ 1

Я вытащил исходный код Android и искал проверку орфографии. Я нашел этот каталог, который, как представляется, содержит источники, которые вы ищете:

packages/inputmethods/LatinIME/java/src/com/android/inputmethod/latin/

Файл spellcheck/AndroidSpellCheckerService.java похож на тот, который выполняет всю тяжелую работу, но Suggest.java также, по-видимому, участвует каким-то образом.