Un cliente me ha pedido que agregue un algoritmo simple de repetición espaciada (SRS) para un sitio de aprendizaje en línea. Pero antes de lanzarme en eso, me gustaría discutirlo con la comunidad.Repetición espaciada (SRS) para aprender
Básicamente, el sitio le hace al usuario un montón de preguntas (seleccionando automáticamente 10 de cada 100 preguntas de una base de datos) y el usuario responde de manera correcta o incorrecta. Los usuarios de resultados se almacenan en una base de datos, por ejemplo:
userid questionid correctlyanswered dateanswered
1 123 0 (no) 2010-01-01 10:00
1 124 1 (yes) 2010-01-01 11:00
1 125 1 (yes) 2010-01-01 12:00
Ahora, para maximizar la capacidad de los usuarios para aprender todas las respuestas, yo debería ser capaz de aplicar un algoritmo SRS para que un usuario, la próxima vez que toma el cuestionario, recibe preguntas contestadas incorrectamente con más frecuencia; que las preguntas respondidas correctamente. Además, las preguntas que anteriormente se respondieron incorrectamente, pero que a menudo se respondieron correctamente con frecuencia, deberían producirse con menos frecuencia.
¿Alguien ha implementado algo así antes? ¿Algún consejo o sugerencia?
theese son los mejores enlaces que he encontrado:
- http://en.wikipedia.org/wiki/Spaced_repetition
- http://www.mnemosyne-proj.org/principles.php
- http://www.supermemo.com/english/ol/sm2.htm
Anki es Affero GPL (es decir, efectivamente GPL). Si lo "portas", es posible que tu aplicación tenga que ser Affero GPL (licencia viral). Cuidado con este enfoque. Sería genial si alguien pudiera abstraer simplemente el motor SRS de Anki en un proyecto independiente que luego podría conectarse a cualquier interfaz y pedirle a Damien que haga esa LGPL (para que las aplicaciones que la usen no sean GPL). , pero va a ser un poco difícil entender y desenredar las partes internas de Anki, e incluso entonces, Damien podría no desear desconectar el motor SRS de GPL. –