If only I could write with no spelling mistakes
KSpell is a spelling verification and correction system that uses Natural Language Processing technology, especially formulated for the Arabic language, through a fast Arabic morphological analyzer, KMorph. The speller is capable of discovering spelling errors and suggesting corrections for the most frequent misspellings of Arabic words. The types of errors it covers are phonetic errors, morpho-syntactic errors and errors related to misspelling the glottal stop (hamza), especially in the beginning of a word.
Basically, the speller/corrector's structure consists of two components: one is used to verify a word's spelling, while the other suggests a list of correct words.
Two important points have been taken into consideration in developing this product:
The first point being that the user of such a system is not necessarily an expert in the Arabic language. The second point is that the trapping of spelling errors for Arabic, as well as their correction requires more than a simplistic "typographical" error correction mechanism, as is the case for, say, the English language. This has, in turn, led to the adoption of a "Descriptive", rather than a "Prescriptive" approach to the development of the spelling suggestions for a misspelled word.
KSpell is capable of correcting words that stem from traditional Arabic dictionaries in contemporary use, as well as: