Journal Mes péripéties avec la répétition espacée

Posté par (page perso) . Licence CC by-sa
68
10
juin
2017

Sommaire

Bonjour Nal,

Aujourd'hui, je viens pour te raconter mes péripéties avec la répétition espacée et la naissance de morji, un logiciel de répétition espacée, tout comme mnemosyne ou anki, mais comme alternative minimaliste en mode texte dans le terminal. Avant de te raconter le pourquoi du comment de morji, je vais te raconter un peu le concept de répétition espacée, ainsi que te montrer un peu le principe des algorithmes qui font marcher l'idée.

La répétition espacée : qu'est-ce donc  ?

L'idée de la répétition espacée part d'un constat expérimental : lorsqu'on apprend quelque chose, peu importe quoi, on a besoin de réviser pour ne pas l'oublier, et l'intervalle entre révision et révision peut s'allonger avec le temps — l'expérience suggère une progression exponentielle. Si je t'apprends le nom d'une plante aujourd'hui et que je te repose la question dans un mois, tu auras sans doute oublié d'ici là. Si je te repose la question demain, il y a des chances que tu t'en souviennes, et si je te repose la question une semaine après, il y a de bonnes chances aussi ; si après ceci j'attends un mois pour t'embêter de nouveau… et bien probablement aussi !

Tu me diras, rien de bien extraordinaire là-dedans. Peut-être pas, et encore… Mais ce qui est sûr, c'est que, du coup, il faut une certaine organisation si l'on veut retenir un maximum de choses tout en faisant un minimum d'efforts. Le drame, c'est que choisir manuellement à l'intuition ce qu'il faut réviser et quand, c'est pas toujours évident.

Un peu d'automatisation !

C'est là qu'on se dit, et si on pouvait faire faire ce travail à une machine ? Il se trouve que ça s'applique pas facilement à tout type de connaissance, mais il y a des cas où on peut, en particulier lorsque les faits à se remémorer se structurent facilement en cartes-mémoires du type question/réponse. Par exemple :

Question: nom de plante avec de gros piquants dangereux
qui pousse dans le désert
Réponse: cactus

L'interaction (version naïve) se fait ainsi :

  • le programme nous pose la question ;
  • on réfléchit à la réponse ;
  • on affiche la réponse ;
  • on dit à la machine si on s'en souvenait.

Si on s'en souvenait (on a pensé à « cactus »), la machine calcule alors la date de la révision suivante en tenant compte de l'intervalle entre les deux révisions précédentes. Sinon (on a pensé à « rose » ou « chardon » ou à rien du tout), les intervalles repartent de zéro pour ce fait, qu'il faut remémoriser.

Ces idées ont donné naissance à des algorithmes. Le premier semble être le Système Leitner, qui date des années 70 et qui ne semble pas être vraiment utilisé aujourd'hui dans des logiciels, mais qui par contre avait l'avantage de pouvoir s'utiliser à la main avec des boîtes. Cet algorithme classait les faits par groupes (les boîtes) : le premier groupe contenait les faits non mémorisés ou oubliés, le second les faits mémorisés qui ont été révisés une fois, et ainsi de suite. Plus le numéro de groupe était élevé, moins la carte était révisée, suivant une méthode de calcul artisanale qui utilisait une taille maximale pour chaque groupe : le premier groupe était de taille 1, le deuxième de taille 2, puis 5, puis 8, etc. C'est seulement lorsqu'un groupe était « plein » qu'il fallait réviser des cartes de ce groupe pour les faire passer au groupe suivant.

L'inconvénient du procédé, même implémenté dans un logiciel (parce que les boîtes ça prend de la place mine de rien), c'est qu'il est un peu binaire. Des fois on se souvient presque (on a pensé « kaktus »), ou alors on se souvient, mais on a eu beaucoup de mal, ou alors c'était trop facile. Du coup, l'idée est venu de demander à l'utilisateur d'évaluer lui-même sa performance, soit à l'aide d'un nombre entre 0 et 5 (mnemosyne ou SuperMemo), soit de façon plus qualitative (anki). En fonction du résultat, l'intervalle de révision suivant est ajusté par le logiciel qui maintenant a une idée de la difficulté que présente ce fait particulier pour l'utilisateur.

Vers des algos plus évolués : exemple de SM2

Un deuxième algo plus évolué est alors apparu, appelé SM2, du nom de SuperMemo2, logiciel pas libre qui a lancé l'idée. Depuis, son algo s'est compliqué sensiblement pour tenir compte finement du fait que certains faits sont liés entre eux et autres subtilités, et le logiciel est probablement devenu une usine à gaz, mais l'idée de fond reste la même. En fait, les logiciels mnemosyne et anki utilisent simplement une version modifiée de SM2 qui marche bien en pratique et leurs auteurs semblent sceptiques sur les versions suivantes de l'algo (ça va jusqu'à SM11 ou plus). Il y a aussi un mode Emacs qui fait de la répétition espacée et qui permet d'utiliser SM5, même si par défaut ça utilise encore le système Leitner si les infos sur le site ne sont pas obsolètes. Il y a aussi Org-Drill (Emacs encore) qui fait du SM5 par défaut.

L'algorithme SM2 original est une simple traduction des idées ci-dessus : si I(n) représente l'intervalle entre la (n-1)-ième répétition et la n-ième, alors :

  • I(1) = 1
  • I(2) = 6
  • Pour n > 2 : I(n) = I(n-1) * facilité.

facilité est un paramètre propre au fait qui évolue au fil des notes successives données à chaque révision. Initialement il vaut 2.5, puis il évolue autour en fonction des notes. Le paramètre a une valeur minimale de 1.3, pour éviter des révisions trop fréquentes d'un même fait : en pratique elles correspondent à des faits non-compris ou mal posés dont il faut revoir la présentation. Par exemple, anki propose 4 choix lors d'une révision :

  • On a oublié : l'intervalle est remis à zéro, la facilité laissée telle quelle ; si on a oublié ça veut pas forcément dire que c'était dur, des fois on oublie, c'est tout.
  • Ok, mais c'était dur : la facilité est diminuée (de 0.15 il me semble pour anki), et le nouvel intervalle tiendra compte de ceci.
  • Ok, juste comme il faut : la facilité ne change pas.
  • Ok, mais trop facile : la facilité augmente (0.10 pour mnemosyne, 0.15 pour anki de mémoire).

Le détail de l'algorithme original et de la modification du paramètre de facilité peut être trouvé à la source (site qui, dit en passant, contient beaucoup d'articles intéressants sur la mémoire, bien que parfois un peu biaisés sans doute). Remarque annexe sur le document : Faut faire gaffe, car il y a une petite subtilité : le 5ème et 6ème points sont inversés dans mnemosyne et anki, c'est-à-dire qu'on ne modifie pas la facilité lorsqu'on a oublié. Ceci semble logique, car si on a oublié totalement un fait, ça veut pas forcément dire qu'en le réapprenant on va avoir des difficultés et, de plus, ajuster la facilité en variant les réponses affirmatives semble suffisant et plus raisonnable : l'algo original (si tant est que ce ne soit pas juste un bug du document) a tendance à faire plomber trop vite le taux de facilité suite à des échecs successifs lors de l'apprentissage d'une carte.

Quelques améliorations

Un souci avec le SM2 original, c'est qu'il suppose que l'utilisateur va apprendre tous les jours plus ou moins la même quantité de faits. En effet, si un jour on apprend 20 faits, et un autre on en apprend 50, ça veut dire que ces 20 faits seront révisés, à moins d'être oubliés, toujours aux mêmes dates avec les mêmes intervalles, et de même pour les autres 50 aussi : on se retrouve donc avec une charge de révision très inégale suivant les jours. Même en étant disciplinés, il arrive parfois de ne pas pouvoir faire ses révisions pendant plusieurs jours, par exemple, et créer ainsi sans faire exprès ce genre d'inégalités de charge.

Les logiciels anki et mnemosyne introduisent un peu d'aléatoire dans l'algorithme pour résoudre ce problème. Plutôt que de faire réviser les 50 cartes le même jour, elles seront réparties sur les jours autour, avec une incertitude qui dépend de l'intervalle (5% pour mnemosyne, sauf pour les petits intervalles où des valeurs spéciales sont codées en dur).

Il y a d'autres petites subtilités pour être un peu résistant aux vacances ou autres cas spéciaux : par exemple, si on se souvient d'un fait qu'on était censé réviser il y a une semaine, le nouvel intervalle doit tenir compte de la date de la vraie répétition, pas seulement de la date théorique mais, en même temps, si l'utilisateur a du mal, on peu préférer être plus conservateur sur le nouvel intervalle qu'en théorie : lors du calcul anki compte les jours de retard avec un poids plus faible qui dépend de la note ; mnemosyne se contente d'être conservateur si la note correspond à « c'était dur ». C'est des ajustements de bon sens, mais sans théorie vraiment derrière, pour autant que je sache.

Une petite simulation !

Pour se faire une idée de la charge de révision que l'on accumule, j'ai fait une petite simulation sur plus d'un an (500 jours). Tous les jours, 15 nouvelles cartes apprises, et quelques pourcentages pris un peu au flair (ça varie sans doute beaucoup suivant la façon de voter de la personne et le sujet) : chaque jour, 5% de cartes oubliées (mais réapprises le jour même de l'oubli), 2% classées difficiles, et 1% classées faciles. Au total, 7500 cartes sont mémorisées. On se retrouve avec un nombre de cartes à réviser par jour pour la semaine suivante qui ressemble à :

88 88 76 85 86 79 56

Un petit calcul permet de prévoir l'ordre de grandeur du résultat : en supposant de voter toujours « Ok, je m'en souviens bien », ça correspond à des intervalles (à randomisation et ajustements près) de 1, puis 6, puis à partir d'ici multiplier l'intervalle par 2.5, ce qui donne en moyenne entre 5 et 6 révisions par carte sur l'intervalle de 500 jours, donc en multipliant par le nombre de cartes nouvelles par jour, ça donne entre 5 * 15 = 75 et 90. Comme en pratique on oublie quand même des cartes, et la facilité c'est souvent un peu moins de 2.5, c'est en fait un peu plus, mais c'est le bon ordre de grandeur.

Quelques types de cartes-mémoires

Tout à l'heure, j'ai donné un exemple simple de question/réponse avec un cactus. Les logiciels gèrent en général plus de types de cartes-mémoire. En particulier, des faits que l'on veut être capable de retenir dans les deux sens. Par exemple, imaginons qu'on veut retenir le nom des capitales, on veut une question du genre :

Question: France
Réponse: Paris

Mais peut-être qu'il peut être intéressant aussi d'avoir la question à l'envers aussi :

Question: Paris
Réponse: France

En pratique on s'aperçoit souvent que ce n'est pas parce qu'on sait répondre à une question dans un sens qu'on sait le faire dans l'autre ! Les amateurs de langues le savent bien :) C'est pour cela que mnemosyne et anki sont capables de générer deux cartes-mémoires à partir d'un seul fait pour gérer ce genre de cas de façon commode.

Une autre façon parfois pratique de représenter une question peut être le texte à trous :

Question: [...] est la capitale de la France.
Réponse: Paris

Mais aussi :

Question: Paris est la capitale de [...].
Réponse: la France

Pour ce genre de cartes, en pratique on écrit quelque
chose comme :

Question: [Paris] est la capitale de [la France].
Réponse: la France

…Et le logiciel génère à partir de ce seul fait les deux
cartes-mémoires.

D'un point de vue de l'algorithme, ça pose la question intéressante d'éviter de se voir demander les deux cartes le même jour, ce qui risquerait de fausser un peu la révision et la note attribuée à la deuxième carte. En pratique on utilise des solutions plus ou moins ad-hoc où on s'arrange pour ne pas mettre les deux le même jour.

Morji

morji c'est donc encore un autre logiciel de répétition espacée utilisant un SM2 modifié, comme anki et mnemosyne, mais dans le terminal et avec un minimum de dépendances. « Mnemosyne » est le nom d'une déesse grecque de la mémoire, « anki » signifie mémorisation en japonais ; pour rester dans le thème et faute de meilleures idées, « morji » signifie « se souvenir » en lojban.

Une nimage d'abord

https://bardinflor.perso.aquilenet.fr/morji/morji-screenshot.png

Le début de l'histoire

J'étais jusqu'à il y a peu un utilisateur relativement satisfait de mnemosyne. L'interface est plutôt simple, son concept de tags pour organiser les faits est flexible et, dans l'ensemble, le logiciel est assez orthogonal. Il a quelques défauts, parfois un peu lent pour certaines opérations, c'était quand même un peu trop clickodrome pour moi et, devoir écrire mes cartes sans vim, c'était un peu dur ; mais dans l'ensemble, c'est sympa.

D'habitude j'utilise OpenBSD sur un fixe, mnemosyne est dans les paquets, donc tout va bien. Mais j'ai aussi une autre machine (un ordinateur portable) sur laquelle, pas de chance, OpenBSD détectait pas bien la carte réseau, du coup j'ai installé un Void Linux (il s'agissait de pas être trop dépaysé). Et là, c'est le drame. Mnemosyne n'était pas dans les dépôts. Paf.

Je prends mon courage à deux mains, et j'essaie de compiler le truc. Je regarde les dépendances, certaines sont pas dans les dépôts. Qu'à cela ne tienne, c'est du python, j'installe ça avec pip… Après plusieurs itérations à installer de nouveaux paquets, c'est l'échec cuisant. Je commence à redouter des incompatibilités de versions, python 2 ou 3, je teste des trucs ; ça fait bien deux heures, j'abandonne et me dis que, quand même, les packageurs, c'est un peu des super héros, et que je serais mal barré sans eux.

Ça m'a fait un peu peur, parce que, bon, l'idée de me retrouver un jour avec ma base de données mnemosyne et toutes ses données d'apprentissage sans pouvoir l'utiliser, ça fait un peu mal. Alors, comme je connaissais un peu les algorithmes, SM2 et tout ça, je savais que c'était quand même pas très compliqué et, comme j'avais pas besoin de tant de features que ça, je me suis lancé.

Les features

morji gère juste les trois types de cartes-mémoires que j'ai décrites avant : dans un sens, à double sens et textes à trous. Il ne gère pas l'html, ni le javascript, mais il permet de faire du balisage sémantique simple pour mettre des couleurs, du gras ou de l'italique. Par exemple, la ligne suivante dans le fichier de configuration :

markup keyword colored red

Définit le tag keyword qui permettra de rendre du texte en rouge. On l'utilise ainsi dans le contenu d'une question :

Que veut dire [keyword mot-clé]?

qui rend mot-clé en rouge.

morji utilise un système de tags similaires à celui de mnemosyne. On peut donc associer à chaque fait un ou plusieurs tags. Ensuite, on active ou désactive des tags pour choisir quels thèmes réviser ou apprendre. Ça permet par exemple de mixer les thèmes pendant les révisions — chose que je trouve stimulante perso —, puis au moment d'apprendre de nouvelles cartes sélectionner un seul tag.

Il est possible d'importer d'un coup une liste de faits depuis un fichier avec des champs séparés par des tabulations, un peu comme avec mnemosyne.

Remarque technique :. morji n'est pas un projet de recherche, du coup il stocke moins de statistiques dans la base de données. Je ne sais pas si c'est surtout ça, ou le fait que mnemosyne stocke certaines informations plus ou moins en double pour des raisons qui restent un peu mystérieuses pour moi (éviter de recalculer des choses, peut-être), mais ma base de données mnemosyne est passée de presque 50M à 10M avec morji ; pratique pour faire des backups quand on a une connexion pas trop rapide :)

Les trucs qu'il n'y a pas

Actuellement, morji ne gère pas de fichiers externes (images, son). A priori, il serait cependant facile si besoin de l'étendre via le fichier de configuration (qui est un script Tcl même si ça se voit pas) pour lancer un visionneur d'images externe, par exemple, à défaut d'un truc parfaitement intégré.

Il n'y a pas non plus de navigateur de cartes-mémoire. En pratique, ça correspond à cas d'utilisation très rare — en tous cas pour moi — puisque, a priori, le principe c'est qu'on va pas chercher des faits soi-même, c'est le logiciel qui le fait pour nous ; ceci dit, parfois ça pourrait être commode, mais je n'ai pas trouvé encore une solution simple qui me plaise. En attendant d'en trouver éventuellement une, pour faire des substitutions en masse ou ce genre de choses, il est possible d'utiliser un script (morji est scriptable en Tcl) ; l'interface pour faciliter cela proprement n'est pas encore vraiment fixée ni documentée (en dehors de commentaires dans le code et d'exemples), mais ne devrait pas trop changer, donc en pratique il y a moyen de se dépatouiller si besoin.

Sous le tapis

Là, c'est parti pour une petite section un peu technique, pour ceux qui ont eu la patience de me lire jusqu'ici :)

Comme j'ai un peu raconté tout ce qu'il faut savoir sur SM2, les faits et les types de cartes-mémoires, etc. je me dis que tu veux peut-être savoir à quoi ressemble le schéma de la base de données utilisée par morji, qui est en fait une traduction idée pour idée des concepts.

Il y a quatre tables : une pour les faits, une pour l'information spécifique à chaque carte-mémoire, une pour les tags, une qui fait la relation entre quels faits ont quels tags, et puis c'est tout. Je vais juste raconter un peu les deux premières, pour qu'on revoie les concepts de l'algo SM2.

Celle des faits, facts, stocke donc, entre autres, une question et une réponse :

CREATE TABLE IF NOT EXISTS facts(
    uid INTEGER PRIMARY KEY,
    question TEXT NOT NULL,
    answer TEXT NOT NULL,
    notes TEXT NOT NULL,
    -- oneside/twoside(recognition/production)/cloze...
    type TEXT NOT NULL
);

En fait, on retrouve bien le champ pour la question et la réponse. Il y a de plus un champ pour des notes additionnelles dont je n'ai pas parlé avant (mais c'est dans la nimage plus haut), et qui sert à afficher des trucs en plus dans la réponse pour les faits à deux sens, indépendamment du sens (par exemple un lien vers la source de l'information). Le champ type nous dit s'il s'agit d'un fait à un sens, à deux sens ou d'un texte à trous.

La table contenant l'information d'apprentissage de chaque carte mémoire est un peu plus compliquée :

CREATE TABLE IF NOT EXISTS cards(
    uid INTEGER PRIMARY KEY,
    -- last repetition time (null for new cards)
    last_rep INTEGER,
    -- next repetition time (null for new cards)
    next_rep INTEGER CHECK(next_rep ISNULL OR last_rep < next_rep),
    easiness REAL NOT NULL DEFAULT 2.5 CHECK(easiness > 1.29),
    -- number of repetitions (0 for new and forgotten cards)
    reps INTEGER NOT NULL,
    fact_uid INTEGER NOT NULL REFERENCES facts ON DELETE CASCADE,
    -- additional data whose meaning depends on facts.type
    fact_data TEXT NOT NULL
);

Les champs last_rep et next_rep contiennent les dates de la dernière répétition et la répétition suivante, respectivement (leur différence est donc l'intervalle théorique entre les deux répétitions). Le champ easiness contient la facteur de facilité de toute à l'heure, et reps, c'est le nombre de répétitions, donc le n des formules. Enfin, fact_uid signale le fait auquel fait référence la carte, et fact_data donne des informations supplémentaires : par exemple, est-ce le verso ou le recto qu'il faut montrer ? Un truc à remarquer aussi, c'est la valeur par défaut de 2.5 pour la facilité et la contrainte sur le minimum, qui font écho à l'algorithme.

Petite anecdote pour la fin

Je crois que j'ai déjà prononcé le mot Tcl un peu avant. Eh oui, morji est écrit en Tcl. En fait, quand j'ai commencé à écrire morji, j'ai vite compris que ça allait être essentiellement des requêtes SQLite et pas grand-chose de plus. Or, pendant que je me mettais à jour sur SQLite, mon attention a été attiré, un peu par hasard, par le fait que SQLite avait été initialement prévu comme une extension Tcl, avant de devenir ce qu'on connaît aujourd'hui ; du coup ça m'a intrigué, j'ai découvert que l'interface Tcl pour SQLite était vraiment sympa et leur système de tests unitaires aussi. Ajouté au fait que Tcl est un langage léger présent sur à peu près toutes les plateformes, eh bien, j'ai pas pu résister :)

Anecdote : au début j'envisageais d'écrire morji en Go, du coup je voulais l'appeler « gogoratu » — « se souvenir » en basque —, parce que c'était rigolo, mais du coup, après, la blague tombait un peu à l'eau :)

Voilà, c'est tout !

Liens : site de morji, avec documentation en html ; page github du projet.

  • # Merci

    Posté par (page perso) . Évalué à 6 (+5/-0).

    Un simple merci pour ce magnifique journal et pour morji !

  • # Automatiser n'est pas forcément une bonne idée dans ce cas

    Posté par . Évalué à 3 (+1/-0).

    Le but de la manœuvre étant de retenir le contenu des cartes et bien écrire les cartes aide à les mémoriser..

    De la même manière qu'on s'est rendu compte que ceux qui écrivaient leurs notes de cours retenaient mieux le cours par rapport à ceux qui les tapaient sur un ordinateur.

    • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

      Posté par (page perso) . Évalué à 4 (+2/-0).

      Le but de la manœuvre étant de retenir le contenu des cartes et bien écrire les cartes aide à les mémoriser..

      Je ne sais pas trop où tu veux en venir. En effet, en général c'est mieux d'écrire soi-même ses cartes, même si suivant le type de contenu d'autres stratégies peuvent marcher aussi. Mais l'écriture des cartes, c'est la partie apprentissage + compréhension, qui est évidemment nécessaire et c'est celle qui prend le plus de temps. Le logiciel permet ensuite de décider quand réviser cette carte : il se débrouille pour te faire faire un peu plus de 5 révisions sur la première année en moyenne, révisions qui, en moyenne, prennent pas plus de quelques secondes, donc moins d'une minute si on compte l'ensemble des révisions d'une carte. C'est là qu'est tout l'intérêt du logiciel : ne pas perdre du temps à réapprendre ce qui nous a pris du temps à mémoriser initialement.

      De la même manière qu'on s'est rendu compte que ceux qui écrivaient leurs notes de cours retenaient mieux le cours par rapport à ceux qui les tapaient sur un ordinateur.

      J'ai lu ce genre de choses, mais aussi le contraire, et je pense sincèrement que ça dépend beaucoup du type de contenu à mémoriser (mathématiques, littérature, langues, histoire ?), de la personne et de son affinité avec les deux méthodes et son utilisation correcte des dites méthodes (par exemple, quelqu'un qui passe au clavier parce qu'il avait du mal avec les prises de notes à la main utilisait déjà à la base peut-être de mauvaises techniques et va continuer à en pâtir au clavier), du contexte et des méthodes pédagogiques du prof si c'est un cours (cours parlé, écrit au tableau, slides, rapide ou lent ?), qui peuvent s'avérer plus ou moins adaptées à un type de prise de notes ou un autre, etc.

    • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

      Posté par . Évalué à 6 (+4/-0).

      Tu aurais une référence pour cette dernière affirmation ? Ça m'intéresse !

    • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

      Posté par . Évalué à 7 (+6/-0). Dernière modification le 13/06/17 à 11:57.

      De la même manière qu'on s'est rendu compte que ceux qui écrivaient leurs notes de cours retenaient mieux le cours par rapport à ceux qui les tapaient sur un ordinateur.

      Un jour, j'ai un professeur qui nous a dit que pour comprendre un cours, il valait mieux l'écouter plutôt que de ne faire que l'entendre en l'écrivant à côté. D'ailleurs, il interdisait la prise de note même aux compulsifs de la trace écrite, et fournissait à chacun une copie écrite des points essentiels de son cours à la fin.

      Ce qu'il voulait, c'était notre attention active, où les gens participaient là où il y avait besoin, et où les personnes qui ne comprenaient pas se manifestaient, plutôt que de noter en espérant comprendre en relisant seul chez soi. Je dois avouer que j'ai trouvé sa méthode très efficace, tant sur ma compréhension et mes résultats que sur mon intérêt pour la matière en question.

      • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

        Posté par . Évalué à 5 (+4/-0).

        J'ai eu l'occasion d'avoir ce genre de prof en prépa maths. Qu'est-ce que c'était agréable de pouvoir venir en cours en se disant que l'on allait passer 2h à apprendre tout un tas de choses et qu'on allait pas passer notre temps à stresser de recopier à toute vitesse ce que disait le prof ! C'était aussi mes meilleurs cours car je pouvais être à 100% concentré sur ce qu'il disait. De plus, j'ai toujours eu du mal à prendre les notes rapidement, j'étais toujours à la traîne avec les autres cours ce qui faisait que j'étais toujours désynchronisé, à la fois entrain d'écouter ce que disait le professeur à l'instant t, et noter ce qu'il avait dit à l'instant t - 5min.

      • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

        Posté par . Évalué à 3 (+2/-0).

        Personnellement, si je n'ai pas à noter en même temps que le cours, j'ai tendance à me déconcentrer. Je trouve que la meilleure méthode c'est un cours où le prof écris au tableau, mais prends le temps d'expliquer. Du coup, ça force à suivre et à recopier, mais on a le temps de comprendre et commencer à assimiler.

        J'ai sûrement de bonnes capacités de mémorisation et de compréhension, mais cette méthode m'a permis de retenir et comprendre mes cours de prépas sans avoir besoin de beaucoup de travail chez moi.

      • [^] # Re: Automatiser n'est pas forcément une bonne idée dans ce cas

        Posté par (page perso) . Évalué à 5 (+3/-0).

        Un jour, j'ai un professeur qui nous a dit que pour comprendre un cours, il valait mieux l'écouter plutôt que de ne faire que l'entendre en l'écrivant à côté.

        J’ai ruiné mon espagnol à cause d’un prof comme ça. Et c’était justement le cours où « écrire » semble le plus inadapté : un cours de langue. Mais en fait j’avais élaboré une méthode qui me correspondait très bien : je notais tout ce qui passait dès que je sentais ou constatais que ma mémoire était incapable de ressortir spontanément un mot de vocabulaire ou une forme verbale etc. Mes notes n’étaient donc que des listes, et en fait je reproduisait une part de ce mécanisme des boîtes expliquée dans ce journal : ce que je constate ne pas savoir, ou pas assez, je le mettais « dans la boîte », sur ma feuille, et en fait je ne revenais jamais sur ces feuilles, ce qui comptait, c’est que je fasse un effort intellectuel pour ces choses que je constatais ne pas avoir mémorisé, et je le faisais en direct. Ce que je savais déjà, je l’ignorais, ce que je ne savais pas ou pas assez, je faisais ce geste simple engageant ma mémoire et mon intelligence : je le notais.

        Je n’avais jamais été aussi bon en un quelconque cours de langue qu’en espagnol, puis j’ai changé de lycée, et le prof m’a retiré ma feuille. J’ai complètement sombré. Certains traits de mon caractère font que les cours de langues me sont habituellement complètement inadaptés dans leur forme.

        Aussi, je reviendrai en particulier sur ce point :

        de ne faire que l'entendre en l'écrivant à côté

        Parfois ce mécanisme est essentiel voire vital pour certains élèves ayant un caractère plutôt secondaire. Il y a aussi des mécanismes implicites (inconscients ?) de mémorisation, quand la mémoire retient ce que l’intelligence ou le corps procède, sans avoir à y prêter attention : une forme d’apprentissage inconscient des données que la personne traite. Dans cette situation, tout ce que la personne entend ressort aussitôt, excepté ce qu’il sanctionne par écriture. Dans ce cas, forcer l’élève à ne pas noter le contraint à tout oublier, car on le prive du mécanisme qui enclenche ce processus inconscient de mémorisation et l’information n’atteint pas certaines zones de son intelligence, ces zones où la mémoire pioche ce qu’il faut retenir.

        ce commentaire est sous licence cc by 4 et précédentes

  • # nimage

    Posté par . Évalué à 3 (+2/-0).

    L'exemple dans ton nimage n'aide pas à appréhender le fonctionnement de ton app.

    T'aurais pas un exemple plus concret et accessoirement, pour le côté curiosité, c'est quoi gismu?

    • [^] # Re: nimage

      Posté par (page perso) . Évalué à 3 (+1/-0).

      Eh bien, pour n'importe lequel des exemples du journal (les capitales ou le cactus), dans le champ Question: on a la question, et dans le champ Answer: on a la réponse. Donc par exemple :

      Question: France
      >>
      Answer: Paris
      

      Le >> suivi de rien correspond à avoir tapé sur «espace» pour afficher la réponse.

      Je t'accorde que l'exemple de la nimage est un peu spécial :) Un gismu ça veut dire, grosso-modo, «verbe» en Lojban, et l'exemple correspond à la définition d'un verbe (un peu exotique) dans le champ Question: avec en réponse le mot qui correspond.

      Pour l'anecdote, «morji» est un gismu qui signifie «se remémorer» et dont la définition (simplifiée) dans le dictionnaire Lojban ressemble à x1 se souvient de x2 :)

      • [^] # Re: nimage

        Posté par . Évalué à 2 (+1/-0).

        bah vois-tu, je pensais que x1 et x2 étaient des "placeholders" ou valeurs à trouver. ;)

        Tu devrais éviter les refs d'initiés dans tes exemples surtout que le code couleur de l'UI à ce stage n'est pas identifié et que tu ne prends pas le temps d'expliquer le contenu de l'image.

        • [^] # Re: nimage

          Posté par (page perso) . Évalué à 2 (+0/-0). Dernière modification le 11/06/17 à 23:04.

          J'avoue que pour l'image, j'ai pas été très pédagogique, capture d'écran direct de ce que j'avais sur le moment :)

          Et je n'ai pas pensé à décrire dans le journal le détail de l'interface de morji. Comme l'image le montre, en tapant ? on voit l'aide, et l'aide, c'est juste une liste de raccourcis accompagnés d'une description. Ça donne quelque chose comme :

          Keys (on current card): 
            q      show current card question again
            space  show current card answer
            a      grade card as not memorized (again)
            h      grade card recall as hard
            g      grade card recall as good
            e      grade card recall as easy
            E      edit current card
            D      delete current card's fact
          Keys: 
            ?      show this help
            N      new card
            t      select tags with glob pattern
            T      deselect tags with glob pattern
            r      rename a tag
            s      show cards scheduled in next days
            S      show statistics
            I      import file of facts with tab separated fields
            Q      quit program
          

          Donc, en particulier, on vote en tapant a, h g ou e, et on affiche la réponse avec la touche espace. Certaines actions sortent des invites de commandes spéciales, comme t et T pour sélectionner ou déselectionner des tags.

  • # Mémoire incertaine ?

    Posté par . Évalué à 2 (+2/-0).

    Pour naviguer dans les cartes mémoires tu peux ptêtre te tourner vers des FW de visualisation de graphe basé sur tes tags (par exemple visjs.org mais c'est pour le web) et ainsi mettre en relation l'ensemble de tes cartes ? ça peut permettre de changer un peu ton algo d'apprentissage et quand tu révises un carte tu peux choisir de parcourir le thème associé, l'algo choisissant les cartes à te présenter.

    • [^] # Re: Mémoire incertaine ?

      Posté par (page perso) . Évalué à 2 (+0/-0).

      Je suis pas trop sûr de comprendre. En pratique (par exemple vu les exemples du journal), les tags ça pourrait être capitales et nom-de-plantes, et puis un tag all qui regroupe tout. Du coup, effectivement, un navigateur devrait pouvoir filtrer par tags ; puis après peut-être raffiner le filtre des cartes ayant ces tags par regexp sur le contenu ou je sais pas quoi pour en choisir une à éditer — c'est le cas d'utilisation que j'avais en tête en parlant de navigateur. Mais le graphe serait souvent vraiment très simple : plus de deux ou trois tags par fait, c'est rare et, par contre, pour une configuration de tags données, il y a par contre beaucoup de faits.

      • [^] # Re: Mémoire incertaine ?

        Posté par . Évalué à 1 (+1/-0).

        oui j'ai posté un peu vite, je ne pensais pas forcément à l'édition, mais par exemple pour les nom de plante j'imaginais des tags un peu plus généraux/globaux "botanique", "Nord", "Amérique", "comestible" pour par exemple te concentrer sur les plantes nord-américaine comestibles =) bon ça suppose peut-être d'avoir un peu trop de données à vouloir se souvenir et ça dépasse le cadre de ce logiciel.

        Du coup dans ce cas le graphe te permet de visualiser les tags ou les groupes de cartes sur lesquels tu as répété, et ceux où tu dois répéter, et si tu en as un certain nombre au lieu de le faire aléatoirement tu peux choisir ceux qui sont en relation (et donc t'en souvenir plus facilement).

        As-tu pensé à une version web ? je ne connais pas les autres logiciels mais ça peut te permettre de le porter sur les téléphones et autres support mobile pour faire tes répétitions dans le bus, en avion, dans ta-voiture-qui-conduit-à-ta-place, etc … =)

        • [^] # Re: Mémoire incertaine ?

          Posté par (page perso) . Évalué à 2 (+0/-0).

          bon ça suppose peut-être d'avoir un peu trop de données à vouloir se souvenir et ça dépasse le cadre de ce logiciel.

          Je dirais que ça pourrait rentrer dans le cadre de morji, a priori, oui. Avec morji (ou anki ou mnemosyne), c'est largement possible de se débrouiller avec des dizaines de milliers de cartes.

          si tu en as un certain nombre au lieu de le faire aléatoirement tu peux choisir ceux qui sont en relation

          Je vois un peu ce que tu veux dire, mais l'idée avec morji (ou les logiciels de répétition espacée en général), c'est qu'en dehors de vacances ou autres interruptions, tu réussis normalement à réviser toutes les cartes (tous thèmes confondus) qui sont dues en un jour donné : la partie révision en pratique n'est pas trop longue (10 à 20 minutes si on est à un rythme de 15 nouvelles par jour), c'est la partie apprentissage de nouvelles cartes (et création) qui prend le plus de temps.

          Par contre, je suis en train de réfléchir à faire un « navigateur » pour trouver des cartes à éditer et, j'ai l'impression qu'un truc comme appuyer sur f (pour find), écrire un pattern, entrée, puis recevoir une liste numérotée de cartes qui correspondent et choisir alors la carte à éditer serait pas mal ; et, si disponible, lancer un fuzzy finder externe pour choisir la carte plus facilement.

          As-tu pensé à une version web ?

          Pas vraiment. Pour ça, je pense que le plus pragmatique, c'est d'utiliser anki, qui a une version pour android. Mnemosyne aussi, il me semble. Après, vu que la base de données de morji est simple (pas de stockage de statistiques non essentielles), ça ne serait pas très difficile de faire une version web de morji qui s'occuppe au moins de la révision (donc sans édition de cartes et le reste, moins utiles en déplacement, je suppose), mais perso ça me motive un peu moins de le faire, vu que j'en ai pas trop l'usage.

          • [^] # Re: Mémoire incertaine ?

            Posté par (page perso) . Évalué à 2 (+0/-0).

            Par contre, je suis en train de réfléchir à faire un « navigateur » pour trouver des cartes à éditer et, j'ai l'impression qu'un truc comme appuyer sur f (pour find), écrire un pattern, entrée, puis recevoir une liste numérotée de cartes qui correspondent et choisir alors la carte à éditer serait pas mal ; et, si disponible, lancer un fuzzy finder externe pour choisir la carte plus facilement.

            Voilà, c'est fait et commité !

  • # matière première

    Posté par . Évalué à 2 (+0/-0).

    L'outil en soit ne paraît pas très compliqué et c'est une bonne chose.

    Une limitation peut être, comme l'a souligné Ezka, au niveau de la gestion des thématiques.

    Par contre, trouver la matière première ne me paraît pas simple.

    Est-ce qu'il y a, à votre connaissance, des projets collaboratifs pour construire et/ou capitaliser les fiches ?

    • [^] # Re: matière première

      Posté par (page perso) . Évalué à 3 (+1/-0).

      Est-ce qu'il y a, à votre connaissance, des projets collaboratifs pour construire et/ou capitaliser les fiches ?

      Les logiciels anki et mnemosyne ont des reccueils assez conséquents de fiches, en particulier pour les langues, mais pas que. C'est souvent pas très difficile de les adapter pour morji, vu que anki et mnemosyne proposent des formats de sortie en fichiers textes TSV similaires à ce que peut prendre morji en entrée. Le seul hic, c'est si les cartes anki ou mnemosyne utilisent trop d'html, ça peut demander un peu d'efforts pour nettoyer et adapter au format plus simple de morji (pas de balisages imbriqués).

      Perso, j'ai dû faire un peu ça pour importer ma base de données mnemosyne vers morji ; ça s'est fait assez facilement, mais c'est par contre difficile de faire une fonctionnalité d'import vraiment générique.

      Pour les langues, c'est facile de récupérer des trucs de dictionnaires ou de collections de phrases avec traduction (par exemple Tatoeba).

      Ceci dit, un truc à garder en mémoire, c'est que si utiliser des collections de fiches faites par d'autres peut s'avérer parfois pratique (je le fais des fois), ça peut être aussi assez piégeux. En effet, l'objectif de la répétition espacée est de permettre de ne pas oublier des choses que l'on a appris et d'être un complément à l'apprentissage. Le risque c'est de se retrouver à essayer de mémoriser du contenu que l'on a pas vraiment compris ou qui n'est pas organisé d'une façon adaptée à soi, mais adaptée à son créateur, qui parfois n'a peut-être pas inclus des choses qui lui semblaient évidentes et qu'il a appris par d'autres moyens. C'est pourquoi faire ses propres cartes, c'est souvent mieux, et je dirais surtout lorsqu'on débute, parce que ça motive et c'est didactique. Un ensemble de règles pour la création de cartes souvent mentionné est celui des 20 règles pour formuler la connaissance sur le site de supermemo.

  • # Cartes en français

    Posté par (page perso) . Évalué à 2 (+1/-0).

    Bonjour,

    Désolé si le sujet dérive moins sur morji et plus Mnemosyne.

    J'ai pas mal cherché et pas mal pas trouvé des cartes pour des enfants en CE2 / CM1. Sauf celles que l'on peut utiliser pour apprendre une langue étrangère.

    Du coup le pourquoi Mnemosyne, principalement, parce c'est plus simpe pour les enfants (PC, Tablette, et que je souhaite leur faire apprendre les départements ; donc graphique).

    Si vous connaissez des ressources pour enfants, je suis preneur. En attendant, j'ai commencé à écrire quelques cartes sur la conjugaison : https://framagit.org/Flyounet/cartes-pour-mnemosyne et toute aide est la bienvenue.

    • [^] # Re: Cartes en français

      Posté par (page perso) . Évalué à 2 (+0/-0).

      Pour anki il y a plus de cartes pré-faites disponibles en ligne, par exemple une recherche permet de trouver des trucs pour les régions (pas testé, par contre). A priori ça devrait pas être trop dur de les adapter pour Mnemosyne qui est plus adapté qu'anki pour les enfants, peut-être.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.