¿Cuáles son algunos algoritmos de aprendizaje automático utilizados para construir Duolingo?

No trabajo en Duolingo, lo que significa que alguien de la compañía puede compartir una mejor respuesta, pero aquí está mi conjetura:

Solo un resumen rápido sobre qué partes del producto podrían usar ML y algoritmos:

  • Algoritmo para determinar y ajustar su nivel de dificultad, la razón por la que solo sugiere oraciones que quizás pueda responder de fácil a difícil.
  • El usuario puede buscar ayuda, como usar la parte de sugerencias, en caso de que el ajuste de nivel no fuera tan bueno.
  • Haciendo una revisión por pares, dejando que la máquina sea enseñada por humanos reales sobre lo que está bien y lo que está mal.

Mire este video para guiarlo por los 3 pasos del procedimiento:

Aquí la parte del algoritmo real en la que podría estar interesado:

  • Hay muchas formas de alcanzar los niveles de dificultad:
    Aquí hay un interesante artículo que encontré publicado en la Universidad de Bonn:
    Predicción de dificultad dinámica.

    Motivados por las aplicaciones en juegos electrónicos, así como por los sistemas de enseñanza, investigamos el problema del ajuste dinámico de la dificultad. La tarea aquí es encontrar repetidamente una configuración de dificultad del juego que no sea “demasiado fácil” y aburra al jugador, ni “demasiado difícil” y sobrecargue al jugador.

Hay algo más llamado:

EQUIPO: El Mecanismo de Adaptabilidad Evolutiva Orientado a Equipo.

Algo similar podría usarse para eliminar las diferentes barreras lingüísticas en diferentes idiomas, por ejemplo, algunos términos no son fáciles incluso si aprende a traducir.

  • Sistemas de corrección, por lo que nuevamente es interesante que haya diferentes formas de lograr esto, sin embargo, tal vez puedas hacer Cosine Similarity.
    Por ejemplo, cada vez que me atoro y le digo que necesito traducción, considera que tiene una relación más alta de Rx y no repite algo con la misma magnitud.
    Machine Learning :: Similitud de coseno para modelos de espacio vectorial (Parte III)
    Es más como un sistema de recomendación, pero para la aplicación en sí y no para el usuario, cada vez que algo no se sugiere correctamente.
  • Finalmente, hacer una revisión por pares puede ser tan simple como Sí o No, pero también hay una manera de hacerlo:

    Vería este artículo aquí: un algoritmo para la calificación automática de revisores
    O

    Comprueba cómo estos chicos están usando la revisión por pares y ML:
    Aprendizaje por revisión por pares

    También alejándose de la revisión por pares tradicional

Esos son algunos de los que solo pensé en mirar a través de los pasos de Duolingo si tuviera que reconstruirlo, sin embargo, hay varios algoritmos para hacer esas cosas e incluso pasos ocultos que no vemos como usuario final.

También aquí está subreddit hablando sobre este tema:

Curioso sobre los algoritmos que utiliza Duolingo

y una de las respuestas es:

Si bien no tengo una respuesta definitiva para usted, diría que Duolingo supondría que tiene cero conocimiento y tratará de darle todo el conocimiento posible sobre todas esas cosas.
Además, advertiría en contra de asumir que el conocimiento de la gramática en un idioma le da dominio instantáneo de él en otro. La gramática puede ser complicada y no todos los idiomas siguen las mismas reglas.

La parte de corrección es definitivamente un problema, porque la computadora es realmente estúpida a menos que una persona inteligente les enseñe cómo pensar y aquí hay una pieza de un artículo:

Otro problema es el desafío básico de que una computadora valide una traducción humana: hay tantas traducciones correctas posibles para una oración dada que se necesita un algoritmo muy complejo para determinar si lo que ha ingresado es aceptable o no. Obviamente han pasado un tiempo considerable desarrollando este algoritmo, y de hecho es impresionante, pero impresionante no es lo suficientemente bueno aquí. A menudo ingresaba traducciones perfectamente válidas que el sistema juzgaba incorrectas, y en algunos casos tenía que adivinar la frase particular que contaría como una respuesta correcta. Esta no es forma de aprender un idioma tan fluido y matizado en su estructura de oraciones como el portugués (o el alemán).
Fuente: Tú eres el producto: una mirada crítica a Duolingo

Cuando se compara el trabajo con Google, Google lo hace de esta manera:

Tanto Google Translate como Duolingo compilan grandes cantidades de datos y utilizan algoritmos para determinar la versión final traducida de un texto. Sin embargo, mientras que Google “busca patrones” en documentos ya disponibles en línea, Duolingo alimenta el texto en su idioma original para traducir.

Y luego Von Ahn dice:

De acuerdo con von Ahn, este método es mejor porque las traducciones no son simplemente accionadas por máquina, sino que son de origen público. Para garantizar la calidad de las traducciones de Duolingo, von Ahn da un ejemplo de un texto traducido del alemán, comparando favorablemente la traducción de Duolingo con la de un traductor profesional:

Lo que respalda mi tercer paso del proceso al alimentar la cantidad de datos más corregida.

Duolingo utiliza una versión mejorada del algoritmo de repetición espaciada .

Al principio, utilizaron el algoritmo de Leitner, pero recientemente desarrollaron un enfoque moderno que utiliza los últimos avances en aprendizaje automático.

Utiliza la curva de olvido de Ebbinghaus y la representación matemática del conocimiento de los estudiantes, para estimar la probabilidad con la que un estudiante puede recordar una palabra en particular.

Puede leer más en su sección de investigación en el sitio web.

Escribí un artículo que habla sobre Duolingo y sus características en detalles. Compruébalo si necesitas más información.