Английский лексикон для исправления поисковых запросов
Я создаю корректор орфографии для запросов поисковых систем, реализуя метод, описанный в разделе " Корректировка орфографии как итеративный процесс, использующий коллективные знания веб-пользователей".
Высокоуровневый подход заключается в следующем: для данного запроса найдите возможные варианты исправления (слова в журнале запросов в пределах определенного расстояния редактирования) каждой униграммы и биграммы, затем выполните модифицированный поиск Витерби, чтобы найти наиболее вероятную последовательность кандидатов даны биграмные частоты. Повторяйте этот процесс, пока последовательность не станет максимальной вероятности.
Модификация поиска Витерби такова, что если два соседних слова находятся в доверенном словаре, можно исправить не более одного слова. Это особенно важно, чтобы избежать исправления правильно написанных однословных запросов к словам более высокой частоты.
У меня вопрос, где найти такой лексикон. Он должен быть на английском языке и содержать собственные имена (имена / фамилии, места, названия брендов и т. Д.), Которые могут появляться в поисковых запросах, а также обычные и необычные английские слова. Даже толчок в правильном направлении был бы полезен.
Кроме того, если кто-то читает это и имеет какие-либо предложения по улучшению методологии, представленной в документе, я также открыт для тех, кто считает, что это мой первый набег в НЛП.
1 ответ
Лучшим лексиконом для этой цели, вероятно, является набор данных Google Web 1T 5 грамм.
http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13
К сожалению, это не бесплатно, если ваш университет не является членом НРС.
Вы также можете попробовать корпус в таких пакетах, как Python NLTK, но Google лучше всего подходит для ваших целей, поскольку он уже связан с поисковыми запросами.