Как реализовать гугл-стиль Вы имели в виду?

Возможный дубликат:
Как вы реализовать. Возможно, вы имели в виду?

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

Mikul Jaxon
Prinz Charlz
Britnie Speers

Или для этого потребуется создать собственную базу данных?

Я хотел бы иметь что-то вроде функции Google "Did you mean ... ?", где они предлагали бы исправления, когда вы что-то опечатали. В моем случае это просто нужно для известных людей.


person Hunter Thompkins    schedule 19.12.2010    source источник
comment
проверка орфографии для имен знаменитостей - очень специфическое требование. Взгляните на алгоритм Питера Норвига: norvig.com/spell-correct.html   -  person McDowell    schedule 19.12.2010
comment
Микула Джексона не подберет Google - он ищет только слова, которые отличаются небольшим количеством букв.   -  person Skilldrick    schedule 19.12.2010


Ответы (1)


вам следует проверить поиск нечеткости apache solr / lucene. maby нечеткий поиск или автозаполнение - лучший вариант, так как он будет быстрее.

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

затем вы можете запустить свой запрос в «или-конъюнкции» для этой таблицы и получить результаты о том, сколько токенов состоит из вашей строки.

тогда вы можете легко определить, какое слово соответствует словам в вашем запросе, вычислив Levenshtein_distance.

person The Surrican    schedule 19.12.2010