Este projeto foi desenvolvido como parte do curso de Processamento de Linguagem Natural (NLP) na Alura. O objetivo principal é construir um corretor ortográfico simples em Python usando técnicas de processamento de texto e probabilidades.
- Pandas
- NLTK (Natural Language Toolkit)
O corpus utilizado consiste em artigos da Alura e foi lido a partir de um arquivo de texto.
file_path = "/caminho/para/o/arquivo/artigos.txt"
with open(file_path, "r") as file:
corpus = file.read()
O texto do corpus foi tokenizado e filtrado para criar uma lista de palavras limpas.
lista_palavras = lista_palavras(tokenize(corpus))
frequencia_palavras_corpus = nltk.FreqDist(lista_palavras)
total_palavras = len(lista_palavras)
vocabulario = set(lista_palavras)
corretor_por_insercao('lgica')
# return ['lógica']
corretor_por_alterancia('lígica')
# return ['lógica']
corretor_deleta_caracter_extra('lóigica')
# return ['lógica']
corretor_inverte_caracteres('lgóica')
# return 'lógica'
corretor_deleta_dois_caracteres_extras_seguidos('dosss')
# return ['dos']
Os dados de teste consistem em pares de palavras corretas e palavras com erros simulados.
test_path = "/caminho/para/o/arquivo/palavras.txt"
with open(test_path, "r") as f:
lista_palavras_teste = [tuple(linha.split()) for linha in f]
avaliador(lista_palavras_teste, vocabulario)
# 79.57% de 186 palavras corrigidas corretamente.
# 6.99% de 186 palavras desconhecidas.
Este corretor ortográfico simples demonstra a aplicação de técnicas de processamento de linguagem natural para lidar com erros ortográficos em palavras. A avaliação com dados de teste fornece insights sobre a eficácia do corretor em diferentes cenários.