Magamról

Saját fotó
Főiskolai, majd egyetemi diplomamunkáimtól kezdve világ életemben, adatok, adatbázisok, adattárházak (leginkább Oracle) környékén mozogtam. Mostanság adattárházasként, adatbányászként élem napjaimat.
A következő címkéjű bejegyzések mutatása: anki. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: anki. Összes bejegyzés megjelenítése

2016. június 29., szerda

Ankiban rejlő rendkívüli potenciál

.
Sok mindent nem szeretek a nyelvtanulásban (a moslék-kategóriájú egynyelvű tankönyvektől a számomra a hatékonyságát sosem bizonyító gap-filling drill-ig), de például a számítógéppel/multimédiával (kép, hang, videó) támogatott drága és/vagy problémás hatékonyságú tanárt mellőző tanulásban mindig láttam rendkívüli fejlődési potenciált.

Emlékszem régen filóztam egy kikérdező program megírásán (amiben nem a programozástechnika lenne értelemszerűen a truvájság, hanem a tanulót támogató funkcionalitás módszertani finomságai, egyszerű eszközei, amiket sosem találtam meg az általam kipróbált szoftverekben. Nem hogy egyben, hanem az összes szoftver funkcionalitását összeadva sem.

Na azt hiszem az Anki-val ez ad acta került. Szó nincs arról, hogy nincs szebb, jobb program az Ankinál, vagy ne lehetne tovább fejleszteni (például konszenzus irányába az SRS-ét). De amit kínál azt egyszerűen és meggyőzően kínálja Python-ban írt frameworkjével. A felhasználótábora meg nem véletlen, hogy rapid módon növekszik.

Anki előnyei:
- Ingyenes (25 USD-s Iphone-verziót leszámítva, az adja az anyagi hátteret a fejlesztésnek)
 - PC-n elérhető csomagok okostelefonon bármikor használhatók Ankiweb révén (szinkronizálás után).
- Óriási felhasználói támogatás (használat, csomagok, pluginek terén)
- Bár lehet egy helyre önteni a csomagokat, de lehetőség van egy csomag egy könyvtár elve alapján Ankizni, nem keverve a különböző forrású anyagokat.
- Van magyar nyelvű interface. Én ugyan minden progimat angolul használom, mert kifejezetten nem szeretem a magyar nyelvű vizuális elemeket, de nyelvtanulásnál pláne kezdeteknél van akinek jól jöhet az ilyen feature is.
- Van SRS-t támogató ütemezési lehetőség
- Lehet csillagozni a kártyákat.
- Van mumus-menedzsment.
- Van statisztika
- Van latex-támogatás matek-dolgokhoz.
- Tudásbázis rendszerezési lehetőségek, nyelvtanuláson felül (nyelvtan, ötletbörze, stb)

Egy kitérőt ismét tennék a tanulás és/vagy ismétlés irányába. Kőrösi Bálint, feketeöves Anki-guru :), azt mondja az "egész megosztott csomagok" cuccok feleslegesek, sőt károsak, mert
(1) az Anki nem tanulásra, hanem ismétlésre való
(2) ismételni pedig csak egyszer már megtanult, átélt, emlékekhez köthető dolgokat lehet.
Azzal nyilván én is egyetértek, hogy 4.000 szó tanulását nem abc-rendben kell elkezdeni, SRS-alapon. :)
Amit viszont én másképpen látok:
- Kisebb - mások által előállított - alegységeket miért ne tekinthetnék át multimédiásan, asszociációs háló építésével, tanulási jelleggel (SRS nélkül), miért ne tölthetnék el egy-egy lexikai elemnél rövidebb hosszabb időt, amik egyes elemeit aztán saját csomagba nyugodtan átemelhetek.
- Egészen más, ha asszociációs háló nélkül akarunk memorizálni valamit és más, ha fordítani akarunk. Egyszerűen más-más agytevékenységek ezek. Márpedig a megosztott csomagok között vannak fordítási célzatúak is.
- Ütemezett ismétléses SRS-ezést tényleg kizárólag saját csomaggal értelmes csak, szerintem is (második körben).

Hogy mennyire erős az Anki azt egy megosztott csomagján (deck) keresztül is lehet szépen demózni (screenshotok bevetésével).
Paul Nation: 4000 Essential English Words - [en-hu]

Íme rögtön az első gyönyörűség. strukturált csomag. Bár ennek a funkciónak a támogatása egyelőre még korlátozott az Anki-ban, de legalább már létezik. Ráadásul a legfontosabb feature-ével ("hierarchizálás") együtt. Nyilván egy csomag, könyvekre bomlik fel, míg egy könyv meg fejezetekre/unitok-ra. Ha 4.000 lexikális egységet akarunk rohamozni, azt jobb nem egybe frontoldali támadással megkísérelni. ;) Viszont ha vannak kisebb alegységek, akkor ugyanolyan fontos, hogy az alegységek "kivégzése" után a nagyobb egységek is menedzselhetők legyenek. Nehéz alábecsülni e feature kellemességét, hasznosságát. :)


Itt egy gyönyörű példa egy csomagbeli kártyára ("afraid").
Ami külön szép a dologban, az Anki csak a keretet adja, a funkcionalitást a felhasználó biztosítja magának az Anki framework meghajtásával.
- Van kép, ami megdöbbentő hatékonysággal tudja támogatni az elmét.
- Van hang ami kimondja a feladatokat illetve demó-mondatokat. R-gombbal teszőlegesen ismételhetően.
- Van kiejtés-átírási lehetőség, ha "látni" is szeretnénk a kiejtést, nemcsak hallani.
- Van gap-filling drill (és most tekintsünk el egy pillanatra attól, hogy ezt a feladattípust megutáltatták velem)
- Van szókeverő (amiből kirakandó a mondat), ez is népszerű feladattípus (én ezt is értelmetlen találom amúgy, de most ez is szintén mellékes)
- Lehet "papagájozni" (shadowing, copyright Bea) a kiejtést támogatandó, na ez már nagyon finom dolog (akár gépi akár egyéb forrású humán hanganyag révén).
- Lehet kisebb-nagyobb kontextusba beágyazni a tanulni kívánt fogalmat.
- Egy gombnyomásra hozzájuthatunk a megoldáshoz.
- Fordíthatunk. Ha két nyelvvel dolgozunk, akkor mindkét irányba (egyetlen setting kapcsolásán múlik).
- Többféle megoldás lehet, kontrollálható crlf-ekkel (<br>).
- Begépelhetjük a megoldást, támogatva az íráskészség fejlődését. Mondjuk, aki duolingozott már, az nem esik ettől hanyatt, hiszen ott unásig csinálhatta (ami az elgépelések miatt fárasztó és lelombozó is tud lenni), de a lehetőség az adott.
- Kijavítódik a megoldásunk, ha hibás. Ha jó minden zöld, ha elírunk valamit az piros lesz. Nyilván nem AI alapon, hiszen egyeznünk kell a korábban megadott megoldással, még ha nem is csak az az egy megoldás létezik (ebben egy duolingo a közösségi támogatásával erősebb perpillanat)
- URL-ek segítségével online szótárba is pozicionálhatunk, szélesebbkörű infókért.
- Vegyük észre, hogy a tetszőleges mennyiségű gombokra, url-ekre tetszőleges további funkciókat varrhatunk. Határ a csillagos ég, no meg a fantáziánk és kreativitásunk korlátai.
- A funkcionalitást elég egyetlen egyszer az elején megcsinálni (html+css) és onnantól az öröklödhet a további szavakra, mondatokra.
- Lehet manuálisan és ami fő kötegelten beküldeni az adatokat, síma mezei tab-delimited utf-8 csv révén.
- Bármikor bővíthetjük, módossítással személyessé tehetjük - "perszonalizálhatjuk" - a példamondat-szekciót.
- Saját hangot is rendelhetünk a kártyához.
- Címkézéssel lehet később szűrt csomagokat kreálni (pl.: állatok)

Itt tudakoljuk meg a megoldást az inkriminált gomb megnyomásával.

Itt gépelhetjük be ugye a megoldásunkat.

Ilyen az, ha jók vagyunk és máris láthatjuk a szótárakat a mögöttük lévő korrekt linkkel.
 Ilyen az, ha hibázunk:
Itt a szókevertés 
Ilyen a kirakott demó mondat
Itt vannak a mezőink, amibe be kell tolni a CSV-t.
Értelemszerűen annyit definiálunk amennyit szeretnénk. 
Így néz ki manuális rögzítéssel egy kártya. 
Ugyanez a rekord kötegelt bevitelnél (tab-delimited utf-8 csv)
A könnyebb olvashatóságért a mezőket sorokra tördeltem.

No: 1
Angol1: afraid
Angol2:
Angol magyarázat-Cloze: When someone is {{c1::afraid}}, they feel fear.
Angol magyarázat: When someone is afraid, they feel fear.
Angol példamondat-Cloze: The woman was {{c1::afraid}} of what she saw.
Angol példamondat: The woman was afraid of what she saw.
Magyar: riadt<br />félős
Egyéb:
Kép: "<img src=""afraid_1397924728875.jpg"" />"
Transcription: [ə'freɪd]
Hanganyag: [sound:afraid_1397924728875.mp3]   
 
Így néz ki a  html-css template, amit az elején kell megcsinálni (preview-lehetőséggel). tetszőlegesen editálható, javítható, fejleszthető vagy épp egyszerűsíthető, pl.: a szókeverés kidobásával :).
És itt látszik az átfordítás gomb is, ahol a fordítási irányt változtatni lehet.

Itt vannak az online-szótárak vonatkozó screenshotjai.







2016. június 20., hétfő

Anki - SM2 algoritmus-variánsa

.
Az előző ANKI blogposzt után felmerült egy sokkal-sokkal izgalmasabb kérdés. Mi legyen a flashcard kikérdezési -sorrend, alkalmazott -időintervallum két ismétlés között, -ismétlésszám etc.

ANKI-nál szépen dokumentált a dolog indoklással, milyen algoritmust használ és, miért. Maga az alapkérdés abszolút adatbányászatot is érintő interdiszciplináris feladat. Prediktálható-e tanulói szempontból opimálisan, azaz (a) jól, (b) minimálisan, (c) teljesen valamint (d) megbízhatóan a következő flashcard (mondjuk most így azonosítója) ANKI-ban?

Érdekes módon az ANKI "nem bízik" a tudományban. Noha már SM6-nál jár a supermemo-algoritmus, az ANKI-szerző az SM2- egy egyszerűsített ám  továbbgondolt, felhasználói inputtól jobban függő, algoritmus-verziót részesíti előnyben. Ne az algoritmus akarjon mindent kitalálni esetleg rosszul.

Így hirtelenjében végiggondolva, reálisnak tűnik az ANKI visszafogottabb hozzáállása. Hiába akarná támogatni az adatbányász énem az automatizáltan működő algoritmust, lássuk be, egészen egyszerűen, elvi alapon is, kevés a géppel olvasható input-infója bármilyen potenciális algoritmusnak, amiből jól meghatározható /szabályozható lenne dolog, nem látszik megspórolhatónak a felhasználói input.

Mégha a szoftver pontosan detektálná is a flashcard-ra adott írásos vagy szóbeli válaszunkat (ami önmagában lehetetlennel határosan nagyon nehéz kihívás még manapság is), akkor sem tudhatja semmilyen algoritmus milyen élmény volt bennünk a reagálás/recall, 100% vegytisztán algoritmikus úton.

Ha viszont kell a felhasználói input/kategorizálás, akkor nekem speciel se az ANKI, se az SM recall-kategorizálása nem tetszik. Az utóbbi valóban látszólag feleslegesen sok kategóriát tartalmaz, az ANKI viszont túlegyszerűsít ráadásul nem túl szimpatikus kategória-nevekkel. Számomra mintha a kettő között lenne a jó út (és hozzá sokkal-sokkal precízebb megnevezésű és tartalmú recall-kategórianevekkel). Mármint, hogy hogyan idéztük fel a flashcard-válaszokat.

Egészen egyszerűen a recall-kategorizálásnak, (a) triviálisnak, (b) automatikusnak, (c) jónak kell lennie, különben "nem ér semmit" (többe kerül a leves, mint a hús). Megkockáztatva, hogy érdemes lehet megfontolni a kikukázását a felhasználói inputnak, ha ez nem érhető el. Vagy jók (könnyűek és megbízhatók) a recall-kategóriák és akkor jöhetnek a szofisztikáltabb EF- és OF-kalkulálások (Easiness and Optimal factors) vagy szimplán ignorálni érdemes a felhasználói kategorizálást egyformának tekintve a tanulói recall-nehézségeket.

Azt azonban szigorúan rögzíteném, hogy a felhasználói input kidobása, csak és kizárólag ismétlési fázisban kéne kidobásra kerülnie és nem valamiféle vegyes kombinált tanulási-ismétlési fázisban.

Nagyon hajlok afelé, hogy a tanulást és ANKI-ismétlést nagyon is külön kéne kezelni és menedzselni. Megelőlegezve/megcélozva azt a bizalmat, hogy jól tanultunk korábban és ezért az ismétlés/recall már minden tanulási elemre konvergál a közel azonoshoz. Magyarán én a tanulásba fektetnék energiát és fókuszt (inkább ANKI nélkül, mint ANKI-val). Nem pedig egy kevert/zajos folyamatot próbálnék meg így-úgy optimalizálni. Egyszerűen elvi alapon sem látszik helyesnek ugyanis a dolog.

Az meg, hogy hogyan kéne tanulni ANKI-ismétlés elött mindenképpen egy külön poszt témája kell legyen.