Английский лексикон для исправления поисковых запросов - PullRequest
3 голосов
/ 28 января 2010

Я создаю корректор орфографии для запросов поисковых систем, реализуя метод, описанный в « Корректировка орфографии как итеративный процесс, использующий коллективные знания веб-пользователей ».

Высокоуровневый подход заключается в следующем: для данного запроса составьте возможные варианты исправления (слова в журнале запросов в пределах определенного расстояния редактирования) каждой униграммы и биграммы, затем выполните модифицированный поиск Витербинайти наиболее вероятную последовательность кандидатов с учетом биграммовых частот.Повторяйте этот процесс до тех пор, пока последовательность не станет максимально вероятной.

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

У меня вопрос, где найти такой лексикон.Он должен быть на английском языке и содержать собственные имена (имена / фамилии, места, названия брендов и т. Д.), Которые могут появляться в поисковых запросах, а также обычные и необычные английские слова.Даже толчок в правильном направлении был бы полезен.

Кроме того, если кто-то читает это и имеет какие-либо предложения по улучшению методологии, представленной в документе, я также открыт для тех, кто считает, что это моепервый набег в НЛП.

1 Ответ

2 голосов
/ 29 января 2010

Лучшим лексиконом для этой цели, вероятно, является набор данных Google Web 1T 5 грамм.

http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13

К сожалению, это не бесплатно, если ваш университет не является членом НРС.

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

...