Randomized cloze-deletion tests

All about language programs, courses, websites and other learning resources
User avatar
Bakunin
Orange Belt
Posts: 245
Joined: Sun Jul 19, 2015 5:11 pm
Location: Zürich
Languages: German (N), English, Thai, Swiss-German (adv.), Khmer, Isaan (studying); dormant: French, Polish
x 660
Contact:

Randomized cloze-deletion tests

Postby Bakunin » Tue Aug 18, 2015 6:49 pm

I’m not sure if it’s indecent to ask something like this here, but I’d love to have a little application which creates a randomized cloze-deletion test from a given text. I envisage it as follows: inputs are a short text, a number N and some information on delimiters to indicate word boundaries (I need it for Thai and would provide my own delimiters; for European languages, the delimiter for words would usually be a space). Then the code (run from the command line with maybe the filename of the text as an argument), ideally in Python (I want to run it on my Mac and have Python installed), creates an html page with words removed at random positions such that on average every N-th word is clozed out. The user then types in the missing words and presses a button. Then the program checks the answers, marking errors in red and providing correct answers. I’d be willing to pay for such a program (price tbd). I’m thinking of doing it myself, but I’m not very fast at programming and currently don’t have the time…

I think randomized cloze-deletion is an interesting way to engage with written texts. Normal cloze-deletion can lead to learning the answers by heart without really processing the text, but randomized cloze-deletion shouldn’t suffer from this. Once the text is prepared and saved, I would use it as a quick 5 minute exercise: fire up the page, type in the stuff, check the answers, and move on with my day.
0 x

User avatar
MorkTheFiddle
Black Belt - 2nd Dan
Posts: 2132
Joined: Sat Jul 18, 2015 8:59 pm
Location: North Texas USA
Languages: English (N). Read (only) French and Spanish. Studying Ancient Greek. Studying a bit of Latin. Once studied Old Norse. Dabbled in Catalan, Provençal and Italian.
Language Log: https://forum.language-learners.org/vie ... 11#p133911
x 4869

Re: Randomized cloze-deletion tests

Postby MorkTheFiddle » Tue Aug 18, 2015 7:29 pm

Maybe Hot Potatoes will fit your needs. It is a free app. A blurb on its site gives some of its pluses and minuses:

"The Hot Potatoes suite includes six applications, enabling you to create interactive multiple-choice, short-answer, jumbled-sentence, crossword, matching/ordering and gap-fill exercises for the World Wide Web. Hot Potatoes is freeware, and you may use it for any purpose or project you like. It is not open-source. The Java version provides all the features found in the windows version, except: you can't upload to hotpotatoes.net and you can't export a SCORM object from Java Hot Potatoes."

I do not know what a "SCORM" object is.

The reference to Hot Potatoes was passed on to me by a Portuguese tutor named MFR (I think) at LingQ. She said she taught ESL for many years and made a lot of use of it.

I used the Java version of the gap-fill/cloze exercises a couple of years ago. I think I used them for Ancient Greek, but it was too long ago for me to be sure, and the exercises that I created are long gone. The results pleased me. I don't remember whether it can do random testing, and I don't know whether the intervening upgrades to Java and to the various OS's hampered any of its effectiveness.

It is worth a look, I think.
2 x
Many things which are false are transmitted from book to book, and gain credit in the world. -- attributed to Samuel Johnson

User avatar
rdearman
Site Admin
Posts: 7255
Joined: Thu May 14, 2015 4:18 pm
Location: United Kingdom
Languages: English (N)
Language Log: viewtopic.php?f=15&t=1836
x 23249
Contact:

Re: Randomized cloze-deletion tests

Postby rdearman » Tue Aug 18, 2015 8:25 pm

I wrote you a perl program which does this. Although it doesn't store punctuation or new line characters so it is very basic. I'm sure a good programmer could do better. :)
===========
#!/usr/bin/perl

# (1) quit unless we have the correct number of command-line args
$num_args = $#ARGV + 1;
if ($num_args != 2) {
print "\nUsage: close.pl number_to_blank filename\n";
exit;
}

$rndAmount = $ARGV[0];
$filename = $ARGV[1];
$replacement = "XXXXXXX";

open FILE, "<$filename" or die $!;
@file_array = <FILE>;

foreach $line ( @file_array )
{
#chomp $line;
@tmp = $line =~ /(\w+(?:[-']\w+)*)/g;
foreach $sw (@tmp)
{
push(@words,$sw);
}
}
close(FILE);
$limit = @words;

for ( $i=0; $i<= $rndAmount; $i++)
{
$random_number = int(rand($limit));
@words[$random_number] = $replacement;
}

foreach $value( @words )
{
print "$value ";
}
4 x
: 26 / 150 Read 150 books in 2024

My YouTube Channel
The Autodidactic Podcast
My Author's Newsletter

I post on this forum with mobile devices, so excuse short msgs and typos.

User avatar
Bakunin
Orange Belt
Posts: 245
Joined: Sun Jul 19, 2015 5:11 pm
Location: Zürich
Languages: German (N), English, Thai, Swiss-German (adv.), Khmer, Isaan (studying); dormant: French, Polish
x 660
Contact:

Re: Randomized cloze-deletion tests

Postby Bakunin » Wed Aug 19, 2015 5:17 am

@rdearman: Wow, many thanks :D ! I'll try it tonight. I have no experience with Perl but a good starting point like this will defintively make my life a lot easier. I'll report back (but may take a while). Thanks again!
0 x

User avatar
rdearman
Site Admin
Posts: 7255
Joined: Thu May 14, 2015 4:18 pm
Location: United Kingdom
Languages: English (N)
Language Log: viewtopic.php?f=15&t=1836
x 23249
Contact:

Re: Randomized cloze-deletion tests

Postby rdearman » Wed Aug 19, 2015 5:19 am

Bakunin wrote:@rdearman: Wow, many thanks :D ! I'll try it tonight. I have no experience with Perl but a good starting point like this will defintively make my life a lot easier. I'll report back (but may take a while). Thanks again!


Good luck with it. It was an interesting exercise, I might have another go in Python and see if I can get it to keep the punctuation along with the words. :)

Works well for short paragraphs though.
1 x
: 26 / 150 Read 150 books in 2024

My YouTube Channel
The Autodidactic Podcast
My Author's Newsletter

I post on this forum with mobile devices, so excuse short msgs and typos.

User avatar
aokoye
Black Belt - 1st Dan
Posts: 1818
Joined: Sat Jul 18, 2015 6:14 pm
Location: Portland, OR
Languages: English (N), German (~C1), French (Intermediate), Japanese (N4), Swedish (beginner), Dutch (A2)
Language Log: https://forum.language-learners.org/vie ... 15&t=19262
x 3310
Contact:

Re: Randomized cloze-deletion tests

Postby aokoye » Wed Aug 19, 2015 5:39 am

Deutsche Welle has a cloze test maker that doesn't do random words (rather you can chose every 2, 3, 4, 5, or 6th word). You can find it here.
1 x
Prefered gender pronouns: Masculine

User avatar
Bakunin
Orange Belt
Posts: 245
Joined: Sun Jul 19, 2015 5:11 pm
Location: Zürich
Languages: German (N), English, Thai, Swiss-German (adv.), Khmer, Isaan (studying); dormant: French, Polish
x 660
Contact:

Re: Randomized cloze-deletion tests

Postby Bakunin » Wed Aug 19, 2015 5:52 am

@MorkTheFiddle and @aokoye: Thanks, I'll certainly look into those two as well, but I really want randomized cloze deletion on button press! Cloze deletion (the non-random type) is usually about training specific words or grammar; with randomized cloze deletion I'm more after (1) fun engagement with a text in a non-repetitive way, and (2) training the skill to 'interpolate'. Fun and variety/non-repetitiveness is always an important component of learning for me, and (2) is a crucial skill in real-life conversations: We never hear every single word clearly, not even in our mother tongue; in our native language, we're usually able to interpolate and predict what comes next quite well (some people even have the habit to finish your sentences for you... applying exactly that skill!).
0 x

User avatar
aokoye
Black Belt - 1st Dan
Posts: 1818
Joined: Sat Jul 18, 2015 6:14 pm
Location: Portland, OR
Languages: English (N), German (~C1), French (Intermediate), Japanese (N4), Swedish (beginner), Dutch (A2)
Language Log: https://forum.language-learners.org/vie ... 15&t=19262
x 3310
Contact:

Re: Randomized cloze-deletion tests

Postby aokoye » Wed Aug 19, 2015 6:34 am

I honestly have never been able to figure out cloze tests that aren't specifically for things like adjective endings. I can't can't even do them well in my native language, English (and that's despite being a voracious reader). Good luck though! The tool on Deutsch Welle's website appears to not go after any specific type of word so again, while it's not random, it might be closer to what you're looking for. I feel like I've also seen tools that make random cloze tests online as well but I'd have to search for them (and being that it's 11:30pm now is not the time).
0 x
Prefered gender pronouns: Masculine

User avatar
Serpent
Black Belt - 3rd Dan
Posts: 3657
Joined: Sat Jul 18, 2015 10:54 am
Location: Moskova
Languages: heritage
Russian (native); Belarusian, Polish

fluent or close: Finnish (certified C1), English; Portuguese, Spanish, German, Italian
learning: Croatian+, Ukrainian; Romanian, Galician; Danish, Swedish; Estonian
exploring: Latin, Karelian, Catalan, Dutch, Czech, Latvian
x 5181
Contact:

Re: Randomized cloze-deletion tests

Postby Serpent » Wed Aug 19, 2015 12:54 pm

2 x
LyricsTraining now has Finnish and Polish :)
Corrections welcome

User avatar
Bakunin
Orange Belt
Posts: 245
Joined: Sun Jul 19, 2015 5:11 pm
Location: Zürich
Languages: German (N), English, Thai, Swiss-German (adv.), Khmer, Isaan (studying); dormant: French, Polish
x 660
Contact:

Re: Randomized cloze-deletion tests

Postby Bakunin » Wed Aug 19, 2015 6:33 pm

Thanks everybody for the suggestions! Unfortunately, none of the webpages and tools can process Thai out of the box, as is so often the case. But I've got inspired by rdearman's little script and am writing one myself; it's actually much simpler than expected :)
2 x


Return to “Language Programs and Resources”

Who is online

Users browsing this forum: No registered users and 2 guests