Início Profile Projeto
Avatar de

Wesley Fuchs

Corretor Ortografico

  • Python

Corretor Ortografico em Python Utilizando tecnicas de NLP

Badge em Desenvolvimento

🪧 Vitrine.Dev
Nome Corretor Ortografico
🏷️ Tecnologias Python
🚀 URL https://github.com/wesleyfuchs/Corretor-ortografico
🔥 Desafio https://cursos.alura.com.br/course/nlp-corretor-ortografico

Sobre o projeto 📚

Esse corretor ortografico foi o projeto criado durante o curso Corretor Ortográfico em Python: aplicando técnicas de NLP da Alura.
A ideia do projeto foi criar um corretor que como parametro uma palavra digitada de maneira equivocada, gerar as possíveis palavras corretas, e então inferir quais daquelas possíveis candidatas era possivelmente a correta.
Durante o desenvolvimento foram adicionados algoritimos onde nós inseríamos letras na palavra digitada equivocadamente, deletamos letras, trocamos letras e invertemos letras da palavra. Para realizar a inferência da palavra correta foi usada uma base de dados, e neste caso foram os artigos do Blog da Alura compilados em artigos.txt.

Desenvolvimento

Começei pela importação da base de dados

import # Separei a string em pequenos tokens. Para isso, utilizei a biblioteca Python específica para processamento de linguagem natural chamada nltk.
Depois, separei dos tokens apenas os que eram palavras, e aí foi feita uma contagem do número de palavras que havia no nosso dataset e tambem do numero de palavras unicas.

bibliteca-nltk tokenize palavras_unicas # Após isso, foi iniciada a construção do algoritimo

Inserir_letras palavras_geradas # A função corretor() faz uma comparação das palavras geradas e procura pela palavra com mais aparições dentro do dataset

corretor # Para testar o corretor foi criado uma função que mostra a taxa de acerto do corretor após aplicar testes em um arquivo .txt com diversas palavras.

dados_teste avaliador_1

Alem da inserir_letra(), foram adicionadas as funções deletando_caracteres(), troca_letra() e inverte_letra().
Chegando então a quase 77% de taxa de acerto.

avaliador_2 # Foi criado tambem um corretor_turbinado() que tem como ideia corrigir palavras com 2 erros, que consegue corrigir palavras que o nosso antigo corretor não conseguia, porem, depois de testa-lo foi constatado uma taxa de 55.38% de acerto fazendo com que o antigo continue tendo uma taxa de acerto maior e continue sendo a melhor opção

corretor_turbinado