idioma → nivel → lección → pregunta
Algunas suposiciones:
1- Mapear palabras solo puede ser útil en el mismo idioma.
- ¿Hay algún dato que sea particularmente difícil de obtener con respecto a la valoración de la asistencia sanitaria?
- ¿Es manejable tomar el curso de especialización en ciencia de datos de John Hopkins en Coursera sin experiencia en programación?
- ¿EsProc puede reemplazar SQL?
- ¿Cómo son las perspectivas de trabajos de análisis de datos en Singapur?
- ¿Puede alguien de una experiencia que no sea de software aprender o cambiar a análisis de big data?
2- Las palabras comunes entre niveles no son muchas, ya que debes aprender nuevas palabras.
3- Cada nivel tiene un máximo de 10 lecciones.
4- Cada lección tiene 10 preguntas.
5- Preguntas tiene un máximo de 500 caracteres.
De acuerdo con estos supuestos, tratar con los datos será común en el nivel de clúster. Además, 500 * 10 * 10 no es un número grande, por lo que una simple coincidencia para corregir la pregunta será suficiente.
Espera: ¿Qué pasa si Duolingo por sí mismo también puede aprender?
Aprenderá los errores tipográficos comunes y no comunes.
Trie: es una estructura de datos en la que cada nodo tiene 26 aristas (26 letras en inglés) que apuntan a otro nodo, si queremos representar una oración en Trie “hola mundo” el primer guiño tendrá arista en ‘h’ al segundo nodo que tener borde ‘e’, y así sucesivamente.
Cada respuesta tendrá Trie y puntuación. Cada nodo en este intento también tendrá puntaje.
Tienes que aprobar con una puntuación del 70% de los caracteres correctos y del 75% de las palabras correctas.
Si pasa, lance la respuesta correcta:
- Agrega su puntuación, si es el final de la palabra y todos los caracteres son correctos, agregue +1 a la puntuación de las palabras.
Si haces un error tipográfico:
- Creará un nuevo nodo y pondrá puntaje = 0.
- Golpeó un nodo tipográfico, así que agregue su puntaje y actualice su puntaje.
Podemos realizar un seguimiento con la mejor puntuación de cada índice de respuesta y si currentScore + bestScore <70%, nos detenemos.
Podemos hacer un tiempo muerto para que los nodos ahorren memoria y no almacenen datos innecesarios.
Hay muchas otras optimizaciones para hacer en un árbol Trie.
PD: esta respuesta puede cambiar después de tomar clases de aprendizaje automático y minería de datos.