Dear Community members,

I am thinking about an interactive machine to teach a school child to write difficult words correctly. As a first step I need a collection of words. I will select a pool of words from this collection. Then I will use the pool to make the machine.

My question is: is there a way to get the words with Mathematica? A constraint is that I need German words.


It might be overkill, but with:

DictionaryLookup[{"German", All}]

you get a list of every German word. To be a bit more precise, you could then narrow things with string searches, i.e. DictionaryLookup[{"German", "a" ~~ ___ ~~ "b"}] gets you a list of words that begin with a and end with b. Full documentation is here.

| improve this answer | |

I suggest you build your own kind of database using sources from the web and copy&past the content into a text file. Afterwards you can use the Import functionalities Mathematica offers.

A possible source I think is appropriate: (you may have to filter some words out by hand which you think could be to difficult for your student)


Extracting words from webpages is usually straightforward after examining the structure of the page a little bit. Here is a concrete example:

page = Import["http://www.duden.de/schwierige-woerter", "XMLObject"];

   "span", {"class" -> "field-content"}, {XMLElement["a", _, {s_String}]}] :> s, Infinity]
| improve this answer | |
  • $\begingroup$ I hope you don't mind that I added some example code for extracting the words. Please edit to your liking. $\endgroup$ – Szabolcs Nov 14 '12 at 17:03
  • $\begingroup$ Very neat:) I never thought about handling the issue programmatically. I must admit compared to your method copy&paste is rather crude. $\endgroup$ – Sascha Nov 14 '12 at 17:11
  • $\begingroup$ Actually for a simple list like this one you're right that copy-paste is much faster ... I made a small palette for these kinds of tasks a long time ago, it's here (search for "tabular" on the page---I should update that page some day ...). It works fine with this page and TSV paste, I just needed to filter the alphabet (A, B, C...) from the list. $\endgroup$ – Szabolcs Nov 14 '12 at 18:36
  • $\begingroup$ Thank you very much. Could you please comment on the role of parameters in the operator? Just to understand, how this code works. $\endgroup$ – Alexei Boulbitch Nov 15 '12 at 9:34

If you need a more comprehensive list of German words you could download a file such as this, unzip it and then load it with Import.

The default Mathematica German dictionary contains 76155 words, whereas the dictionary available with the link above contains 1328614 words.

| improve this answer | |
  • 2
    $\begingroup$ ideal for school children - make them work! $\endgroup$ – cormullion Nov 14 '12 at 19:29

You could use the function DictionaryLookup. At least at my machine, it supports German but I'm not sure whether this depends on the installation or not. Just look it up in the documentation.

| improve this answer | |
  • 1
    $\begingroup$ I don't think it depends on installation since it grabs the data from Wolfram servers $\endgroup$ – ssch Nov 14 '12 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.