• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

System (algorytm) kontrolujący progres nauki

Cloud VPS
0 głosów
200 wizyt
pytanie zadane 20 stycznia 2020 w Android, Swift, Symbian przez Mya Bywalec (2,790 p.)
Piszę aplikację na androida do nauki słówek języka obcego. Działa ona na zasadzie skoroszytu, do którego użytkownik wpisuje nowo poznane słowa (lub sam znajduje ich tłumaczenia, korzystając z wbudowanego tłumacza). Aplikacja pomaga też w zapamiętywaniu słów poprzez gry/testy sprawdzające znajomość zapisanych słów (nauka przez powtarzanie).

Chciałabym aby aplikacja posiadała jakiś system określający, to jak dobrze użytkownik poznał słówka zapisane w bazie oraz algorytm, który losując słówka do testów, wybierałby przede wszystkim te słabo poznane.

Oczywiście, mogłabym to zrobić po swojemu, np. przypisując na oko punktację do każdego słówka na podstawie tego, jak często użytkownik się przy nim mylił/odpowiadał poprawnie, ale wolałabym coś już opracowanego, mającego "naukowe" podstawy.

Czy ktoś spotkał się z takim systemem/algorytmem?

1 odpowiedź

+1 głos
odpowiedź 20 stycznia 2020 przez Arkadiusz Sikorski Pasjonat (20,160 p.)

Nie słyszałem o czymś takim w naukowym kontekście, ale mógłbyś stworzyć system działający trochę jak nauka fiszkami. Za wikipedią:

Przykład: trzy przegródki: 1, 2 oraz 3. Na początku wszystkie fiszki znajdują się w przegródce 1 - dokonuje się codziennych powtórek fiszek z tejże przegródki; fiszki z przegródki 2 powtarzane są co drugi dzień, fiszki z przegródki 3 np. co czwarty dzień. Jeżeli uczący się zna już odpowiedź, to fiszka wędruje do kolejnej (wyższej) przegródki. Jeżeli nie jest znana prawidłowa odpowiedź, fiszka wędruje do najniższej przegródki. Celem nauki jest umieszczenie wszystkich fiszek w przegródce najwyższej[7]. Aktualnie najpowszechniejszym rozwiązaniem autodydaktycznym jest posługiwanie się pudełkiem z pięcioma przegródkami[8].

Przekładając to na coś bardziej informatycznego, możemy założyć, że mamy pięć grup słówek 1-5, z czego grupa 1 to słowa najlepiej poznane, a 5 - poznane najgorzej (na odwrót niż w powyższym opisie, to kwestia oznaczeń). Na początku wszystkie słówka są w grupie 5.

Chcąc wybrać 10 słówek do testu wybieramy losowo słówka, z czego prawdopodobieństwo wybrania słówka z grupy i-tej może wynieść na przykład:

p(i) = i / (1+2+3+4+5)

Wtedy prawdopodobieństwo wybrania słówka z grupy 5 będzie pięć razy większe od wybrania słówka z grupy 1. Mając już wybraną grupę, wybieramy losowo słówko z danej grupy i taką czynność powtarzamy 10 razy.

Jeśli użytkownik dobrze zapamiętał słówko, przenosimy je do grupy o mniejszym numerze, jeśli odpowiedział źle - przenosimy do grupy o numerze większym. 

Skoro fiszki sprawdzają się dobrze (co wiem od znajomych, którzy uczą się języków czy historii w ten sposób), to taki fiszko-podobny system prawdopodobnie też byłby niezły. Na pewno warto poeksperymentować z różną liczbą grup i z różnymi wartościami prawdopodobieństwa wybrania słówka z poszczególnych grup.

komentarz 21 stycznia 2020 przez Mya Bywalec (2,790 p.)
Dziękuję za poradę, taki sposób działania wydaję się całkiem sensowy, jednak póki co na razie dalej szukam.

Podobne pytania

0 głosów
1 odpowiedź 601 wizyt
pytanie zadane 1 października 2018 w Android, Swift, Symbian przez sapero Gaduła (4,100 p.)
0 głosów
1 odpowiedź 249 wizyt
pytanie zadane 2 czerwca 2018 w Android, Swift, Symbian przez polak1231 Początkujący (270 p.)

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,908 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...