Lithuanian Grammar software

Most text editing systems have a tool to automatically check for spelling errors (when one or more letters in the word are spelled not correctly); called speller. Their principle of action: the program analyzes each word in the text and looks for it in a database of all the words and their various forms.

Such a test text ensures that the words in the text will be written correctly (as in the dictionary), but does not protect against the agreement (or concord) errors and syntax errors in the sentence. An example of agreement / concord and syntax errors for the English language could be: "He am, I is", "One books, two book", "I goes, he go".

In English language nouns may have 4 forms: 2 forms of number (singular and plural) multiply by 2 forms of case (nominative and genitive cases); e.g. cat, cats, cat's and cats'.

In Russian and Lithuanian languages there are 2 (numbers) * 6 (cases) = 12 forms of the noun (for any word), 24 (36 for Russian) forms of adjective and 5 (6 for Russian) forms for the verb, not counting the forms of the tense.

So, you can make so much agreement errors, as more word forms there are for every word in the sentence. For example in english sentence "I see a nice cat" words have so many forms: I/me, see/sees, a/an/the, nice, cat/cat's/cats/cats'. Searching for the right version of the sentence we may review all possible combinations of the sentence words' forms. Number of combinations is the product of all posible forms of every word: 2*2*3*1*4 = 48. For Lithuanian it is 6 (pronoun forms) *5 (verb) * 24 (adjective) (no article) * 12 (noun) = 8 640; for Russian it is 6*6*24*12 = 10 368.

So, the main problem of creating a grammar checker for Lithuanian (or Russian) language is not the word order (it is not so strict as in English) but a large number of versions of sentence for consideration. Another problem is how to identify for every word its right place and its right form, in any sentence.

As far as I know, no software was created for Lithuanian (and Russian) language, for the complete grammar check, i.e. with the check of agreement/concord and sintax.

So, let me introduce my software that does this.

Here is its second screen. Translation of the status text (first line): "Sintax analysis of the sentence is completed. Number of versions combinations: 25 * 24 * 13 * 5 * 24 * 12 = 11 232 000. Max "depth of the wave" = 17. Number of sentence versions is 8 860 (shown 5, 1-st is selected). Performed for 4.477 sec."

In the first big edit box is the initial sentence; and in the second big edit box shows 5 improved versions of the initial sentence.

Warning. The software correctly identifies less than 5% of sentences. That is because of the incompleteness and imperfection of the dictionary and pattern sentence.