Я создаю корректор орфографии для запросов поисковых систем, реализуя метод, описанный в « Корректировка орфографии как итеративный процесс, использующий коллективные знания веб-пользователей ».
Высокоуровневый подход заключается в следующем: для данного запроса составьте возможные варианты исправления (слова в журнале запросов в пределах определенного расстояния редактирования) каждой униграммы и биграммы, затем выполните модифицированный поиск Витербинайти наиболее вероятную последовательность кандидатов с учетом биграммовых частот.Повторяйте этот процесс до тех пор, пока последовательность не станет максимально вероятной.
Модификация поиска Витерби такова, что, если два соседних слова находятся в доверенном лексиконе, самое большее одно можно исправить.Это особенно важно, чтобы избежать исправления правильно написанных однословных запросов к словам более высокой частоты.
У меня вопрос, где найти такой лексикон.Он должен быть на английском языке и содержать собственные имена (имена / фамилии, места, названия брендов и т. Д.), Которые могут появляться в поисковых запросах, а также обычные и необычные английские слова.Даже толчок в правильном направлении был бы полезен.
Кроме того, если кто-то читает это и имеет какие-либо предложения по улучшению методологии, представленной в документе, я также открыт для тех, кто считает, что это моепервый набег в НЛП.