Pergunta

Estou construindo um corretor de ortografia para consultas de mecanismo de pesquisa implementando o método descrito em "Correção de ortografia como um processo iterativo que explora o conhecimento coletivo dos usuários da Web".

A abordagem de alto nível é a seguinte: para uma determinada consulta, crie possíveis candidatos a correção (palavras no registro de consulta a uma certa distância de edição) de cada unigram e bigram, depois execute uma pesquisa viterbi modificada para encontrar a sequência mais provável de candidatos que receberam frequências bigram. Repita esse processo até que a sequência seja de maior probabilidade.

A modificação na pesquisa de Viterbi é tal que, se duas palavras adjacentes forem encontradas em um léxico confiável, no máximo um poderá ser corrigido. Isso é especialmente importante para evitar a correção de consultas de palavras de correr adequadamente para palavras de maior frequência.

Minha pergunta é onde encontrar um léxico assim. Deve estar em inglês e conter substantivos adequados (nomes, locais, nomes, nomes de marcas etc.) que apareçam nas consultas de pesquisa, além de palavras comuns e incomuns em inglês. Mesmo um empurrão na direção certa seria útil.

Além disso, se alguém estiver lendo isso e tem alguma sugestão de melhoria na metodologia fornecida no artigo, também estou aberto a elas, uma vez que esta é minha primeira incursão na PNL.

Foi útil?

Solução

O melhor léxico para esse fim é provavelmente o conjunto de dados do Google Web 1T 5 gramas.

http://www.ldc.upenn.edu/catalog/catalogentry.jsp?catalogid=ldc2006t13

Infelizmente, não é gratuito, a menos que sua universidade seja membro do LDC.

Você também pode experimentar os corpora em pacotes como o Python NLTK, mas o Google parece ser o melhor para o seu objetivo, pois já está relacionado às consultas de pesquisa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top