Я помню дубликаты этого вопроса:
- Как Google "Вы имели в виду?" Алгоритм работает?
- Как вы реализуете "Вы имели в виду" ?
- ... и многие другие.
Эти вопросы интересуют, как работает алгоритм. Мой вопрос больше похож: предположим, что Google не существует или, возможно, эта функция не существует, и у нас нет ввода пользователя. Как можно реализовать примерную версию этого алгоритма?
Почему это интересно?
Ok. Попробуйте ввести qualfy" в Google, и он сообщает вам:
Возможно, вы имели в виду: qualify
Достаточно честный. Он использует статистическое машинное обучение для данных, собранных миллиардами пользователей для этого. Но теперь попробуйте ввести это: " Trytoreconnectyou" в Google, и он сообщает вам:
Возможно, вы имели в виду: Try To Reconnect You
Теперь это более интересная часть. Как Google это определяет? У вас есть словарь, который лучше всего подходит и, возможно, лучше всего будет использовать слова пользователя, используя пользовательский ввод? И как он различает слово с орфографической ошибкой и предложение?
Теперь, учитывая, что большинство программистов не имеют доступа к вкладам от миллиардов пользователей, я ищу наилучший примерный способ реализовать этот алгоритм и какие ресурсы доступны (наборы данных, библиотеки и т.д.). Любые предложения?