ngrams
ngrams copied to clipboard
Extract Class
Problema: El método train() en la clase Bigram mezcla tokenización, conteo y actualización de vocabulario en una sola clase, dificultando mantenibilidad y pruebas.
Beneficios:
Mejor organización separando responsabilidades.
Facilita pruebas unitarias enfocadas y reduce acoplamientos.
Código más claro y fácil de extender.
Solución Aplicada: Se crearon clases especializadas (Tokenizer y BigramCounter). La clase Bigram delega responsabilidades, dejando train() limpio y enfocado en la orquestación.