Zamyšlení nad historií testů k výukovému programu – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zamyšlení nad historií testů k výukovému programu – Delphi – Fórum – Programujte.comZamyšlení nad historií testů k výukovému programu – Delphi – Fórum – Programujte.com

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

oxidián0
Grafoman
17. 4. 2020   #1
-
0
-

Jsou to teď dva roky co jsem se vrátil k programovaní programu na výuku jazyků. Soubor testu vypadá tak, že na každém řádku může být několik sloupců. V prvním sloupci obvykle je cizí slovíčko, pak je přepis a pak překlad. Může to být i jinak Může být jen přepis a pak překlad. Nebo mohou být dva přepisy. Každopádně v prvním řádku je hlavička, kde si předprogramuju, v jakém směru chci test provádět. V programu je taky nabídka nastavení obtížnosti, od 0 do 8 kde si uživatel zvolí číslo a pak se způsob testu vybere automaticky. Soubory testů se taky dají zapsat po řádcích místo po sloupcích.

Nyní pracuji na zápisu výsledků testu do souboru. Soubor mkr obsahuje takové informace jako:

1. deaktivace položky (slovíčka) 2. id položky 3. historie špatných odpovědí pro tuto otázku 4. historie špatných odpovědí v rámci jiných slovíček 5. zápis historie známek pro tři poslední testy, tak že každá obtížnost obsahuje jednu známku od 1 do 5 ... 6. nakonec je výpis sloupců ze souboru testu, tam jsou slovíčka pro kontrolu kompatibility testu (jestli se test nezměnil

V plánu mám udělat také něco jako "playlist", kde budou zahrnuty všechny testy z určité oblasti, tam bude třeba 20-30 testů nebo více. Cílem by mělo být monitorovat testy, které byly ukončeny a slovíčka, která je třeba zahrnout do opakování. Opakování by mělo automaticky najít slovíčko podle toho jak ho dobře umí a připomenout ho ve vhodný čas. Možná se tak budou automatikcy vytvářet testy k opakování slovíček.

Napadá vás jak to udělat, když bych potřeboval jednotlivá slovíčka identifikovat mezi všema testama?

Dám příklad procvičování z hebrejštiny. V různých testech se mohou objevit slova jako:

davar - slovo

wedavar - a slovo

wedavar - ale slovo

devarim - slova

bét - dům

bét (2) - rodina

bevét - v domě

bevét (2) - v rodině

mevét - z domu

Problémem jsou slovíčka, která mají předložku nebo koncovku:

Middavarcha - z tvého slova

Bedavarcha - ve tvém slovu

Řekl jsem si mohl bych použít pajpu | jako oddělovač předpon a koncovek k identifikaci základu slova:

Mid|davar|cha - z tvého slova

Be|davar|cha - ve tvém slovu

be|devrim - ve tých slovech

be|devrim|cha - ve tých slovech

Z toho vidíte, že existují dva až čtyři tvary pro podstatné jméno: 1. davar 2. dever 3. divré 4. divrim apod.

Tyto slova bych chtěl testovat jako samostatné "entity" tedy každá by měla mít jiné id. Jenže jak vlastně zaručit jedinečné id pro slovo?

Je jasné, že je třeba brát ohled nejen na hebrejský tvar, ale i na překlad. Ale protože je možné testovat ve směru u češtiny do hebrejštiny, pak mohu položit otázku ve směru: dům -> bét, rodina -> bét (2)

takže problém je - zatímco v hebrejstině je bét jako jeden význam v češtině jsou dva. Proto bét a bét (2) nemají mít stejné id. Těch významů přitom v hebrejštině může být víc. Často to řeším takto:

evtach/evrax - důvěřuji, mám jistotu

Mám uvedeny dva tvary najednou

ale u sloves je problém:

jatciléchá/jatciléxá - vysvobodí tě

ale v rámci fráze může mít jiný význam pokud jde o určení času:

jatciléchá/jatciléxá - vysvobodil jsem tě

Běžně přitom můžou být slova, která jsou přeloženy ve třech různých časech nebo jiném způsobu jako:

tretcá - zabiješ

tretcá - budeš zabíjet

tretcá - pobiješ

tretcá - zabil jsi

tretcá - zabíjel jsi

tretcá - zabij

V češtině tak může jedno slovo mít mnoho významů v závislosti na kontextu slova nebo věty. Do testů se to slovičko dostane v jedné podobě, ale z různých testů se jich vytáhne více. Zde by mohla být na místě úvaha:

sloučit do jedné položky všechny nalezené překlady ... Jenže, stále tu jsou možnosti jako že tam bude ještě koncovka určující předmět zabití... I když zde si myslím, že se mění tvar, např. hargéní - zabij mě. (koncovka -ení) je mě jako imperativ, ale imperfekt by asi měl jiný tvar.

Nahlásit jako SPAM
IP: 89.176.180.–
MilanL+1
Expert
17. 4. 2020   #2
-
0
-

#1 oxidián
hele ty různé významy a kontexty nejsou tak odlišné od češtiny.

Jinak na tuhle analýzu už by to chtělo pracovat s DB, 

K jednotlivým slovíčkům bych nadefinoval indexy kontextů v rámci slovních spojení

K testům bych přidal indexy kontextů tech slovíček v rámci té fráze.

Pak můžeš vyhodnotit i jednotlivá slovíčka z fráze, např odpovídá sloveso a rod a neodpovídá čas apod.

Nahlásit jako SPAM
IP: 91.139.9.–
MilanL+1
Expert
17. 4. 2020   #3
-
0
-

.. pokračování jsem se uklikl,

na základě toho vyhodnocení, pak můžeš analyzovat s jakým slovíčkem a v jakém kontextu má student problém.

Nahlásit jako SPAM
IP: 91.139.9.–
oxidián0
Grafoman
17. 4. 2020   #4
-
0
-

Já jsem nejdříve uvažoval takto - dám příklad s qátal - zabil.

kataltí - zabil jsem

kataltá - zabil jsi

katalt~ - zabil

kat~lá - zabila

kátalnú - zabili jsme

k~taltém - zabili jste (m)

k~taltén - zabili jste (n)

kataló - zabil

z toho když bych u hebrejského přepisu označil kořen tak vyjde několik kořenů, které mohu všechny označit, že odkazují na stejné slovo a mají podobný význam. Tím pádem by to opakování nerozlišovalo koncovky.

Na české straně však musím označit slova které je nutno vypustit (sloveso být) takže asi takto:

katal|tí - zabil jsem=

katal|tá - zabil jsi=

katal|t~ - zabil

kat~l|á - zabil|a

kátal|nú - zabil|i jsme=

k~tal|tém - zabil|i jste= (m)

k~tal|tén - zabil|i jste= (n)

katal|ó - zabil

program pak vypustí to co je v závorkách a koncovky, takže ví že všude je kořen zabil...

Vznikaj ale dva nové problémy:

1) Některé hebrejské slova mohou mít stejný tvar, ale odlišný slovní význam (verb, noun, adjective).

tzn. asi bych musel použít závorku k označení slovního významu např. (noun), (verb), (adj) - kdežto číslice .označuje variantu (2).

2) podstatná jména se mohou měnit podle sklonění

a) dům, dom|u, dom|ě, dom|em (singular)

b) dom|y, dom|ů, dom|ům, dom|ech (plural)

A tady prostě nejde automaticky detekovat že je to stejný tvar. Takže si představ:

a) bét - dům

b) vét - dům

c) be|vét - v= dom|ě

d) me|vét - z= domu

Tím pádem je to složité.

Při vytváření testu bych musel nějak určit, že:

1) "dům" a "dom" je jedno a to samé - a tím se to komplikuje.

2) že dom je samo o sobě nic neznamená, takže bych musel označit základní tvar třeba hvězdičkou *dům

Představ si pro zjednodušení takový to test:

we|šav|tí - a= bydlel jsem=

be|vét - v= domě

av|ó - svého= otce

Pokud by toho bylo víc, tak člověk by měl spoustu tvarů na které musí myslet a nesmí na nic zapomenout. Protože otec má taky více tvarů: *otec, otc|e / otc|i / otc/em, otče  ...tady jsou hned tři různé tvary, které zatím nejsou navzájem propojeny. Vytvářet nějaké definiční seznamy by bylo pracné a třeba by se to ani úplně nevyužilo...

Třetí problém je pak: červen%, červen|ý, červen|á - kde je třeba myslet na to, že červen je kořen slova červený a tak ho označit jako slovo s jiným významem, dejme tomu, že % označuje podstané jméno.

Člověk by chtěl aby ty testy nebyly moc složité. No a když by byla fráze, tak o to horší to je. Tohle by asi nebylo na trénování frází.

Nahlásit jako SPAM
IP: 89.176.180.–
oxidián0
Grafoman
17. 4. 2020   #5
-
0
-

Nebo:

rešít - začát|ek*

be|rešít - na= začát|ku, na= počát|ku, se= začát|kem

tady schází definice slova počátek* a u položky berešít je problém v tom, že nebyl definová začátek jako základní tvar. Pokud máš 28 řádků, musel bys myslet na to jestli už někde byl ten tvar nadefinován.

Či-li tato věc je ukrutně složitá

Nahlásit jako SPAM
IP: 89.176.180.–
oxidián0
Grafoman
17. 4. 2020   #6
-
0
-

Napadlo mě udělat tu detekci českého významu tak, že v hebrejštině detekuju společný význam pomocí souhlásek a pro ty slova pak v češtině předpokládat to samé. Společné souhlásky by označovali stejné slovo:

dům = dm, dom|ů = dm

ale

*otec, otc|e / otc|i / otc|em, otče

tam bych musel přidat pipeline:

*otec, otc|e / otc|i / otc|em, otč|e

a odstranit diakritiku na

*otc, otc / otc / otc, otc

tam je pak shoda všude.

Napadaj tě ještě nějaká záludná slova v češtině, co se hodně mění?

Nahlásit jako SPAM
IP: 89.176.180.–
MilanL+1
Expert
17. 4. 2020   #7
-
0
-

#5 oxidián
hm zlatá koukám angličtina co?

Nahlásit jako SPAM
IP: 91.139.9.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 73 hostů

Podobná vlákna

Update zaznamu v historii — založil peter

Select zaznamu s historii — založil peter

Zhotovení testu ve VB — založil Poklička

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý