Author Archives: nawarhalabi

Arabic Spell Checker

Maraim Masoud and I (I am Nawar Habib) have been aiming to improve the accuracy of the Arabic spell checker currently running on ATbar.  We have done some research through previous work done in the area. The currently-running spell checker is an ASpell instance using a word list of common Arabic words. It produces good spelling suggestions for long Arabic words (longer than 4 letters) because of the high diffusion between long Arabic words (Which is probably true in any language). High diffusion means that it is not likely that a Typing error in one word would produce another correct word. Arabic roots on the other hand, are 3 or 4-letter words, so a typing error (changing on letter or omitting a letter) would very likely produce another correct root or even another Arabic language constructs like a connective or proposition, and even if the word produced by the error was not an Arabic word, the spelling suggestions might sometimes be confusing for short words because of many alternative possibilities.

Ayaspell is a project aimed at producing an Arabic word list mainly for spell-checking purposes. The creators of Ayaspell also provide a Hunspell based spell checker equipped with their word list. The main issue with their work is that they used traditional Arabic dictionaries as their word source which contain Arabic words that are no longer used. This would confuse the spell checker and decrease the diffusion talked about above in this post. This is the only documented word list we have found and we did a brief test on the Hunspell implementation which did not show good results.

Hence to improve our spell-checker we should:

1- Make sure popular words are added to our word list (the ability to do that exists).
2- Hunspell and ASpell use Phonetic codes to represent words as they sound spoken. This helps in giving suggestions that not just have close spelling but also close pronunciation. For Arabic it is completely different, Arabic words sound as written (With some exceptions like confusing ة with ه, or ي with ى, or ى with ا, or أ with ا), hence, spelling errors happen accidentally (Button Proximity). But still the phonetic code should be utilized in Arabic but new methods should be added to accurately calculate the distance between words (like Adding Grammar-checking).

We had a problem with Wiktionary’s service API. Wiktionary, when asked for a word definition, conducts an exact-match search on Arabic words, so, if the submitted word has prefixs or suffixes or a definitive article, the word would not be found. To solve this we are creating a light stemmer that operates as preprocessor before the word is looked-up in the dictionary. The light stemmer has a smll CPU footprint because it does not use a word list (only Grammer rules), unlike heavy stemmers which use word list to increase accuracy but decrease performance.

Automatic updating of ATbar and Arabic Desktop Toolbar

Whilst Magnus has been working on moving ATbar onto new servers which has meant that the ATkit framework has been re-engineered for greater stability and will now automatically provided all users with the latest version of ATbar with no need to manually update.   Magnus has also finished the first version of the spell checking service and this is now ready for testing.  There is a new wiki with plugin guides and more information about the ATbar and the ATkit framework.  On the Services page there is also a link to a   forum for any questions that may arise.

Nawar Halabi has joined the team to help with our desktop toolbar. We are really grateful to have his expertise in Arabic and desktop programming. He has been developing the Arabic Desktop Toolbar

Arabic Desktop Toolbar

The new Arabic toolbar is an open source windows application built using the C# programming language on top of .NET framework. The main purpose of the toolbar is to provide a launch pad for the Ease of Access options provided by Windows and other accessibility applications to Arab desktop computer users.  We hope to gradually provide the same functions that are available on ATbar (which is for web users).

At present the toolbar is available for beta testing and includes four functions: an onscreen keyboard, a screen reader, a magnifier and colour overlays.  The first two use the Windows built-in onscreen keyboard and Narrator, and the other two are bespoke applications.  The window magnifier and the colour overlays can be adapted to suit the user.   There is the ability to open a preferences window where it is possible to customize  the size and behaviour of the magnifier (lens or docked); change the colour of overlays and change whether the toolbar windows are always on top (see screenshots).

Toolbar magnifierTooblarToolbar colour overlayPreferences

Please help us to improv the toolbar and by downloading the beta version from github

Observations so far:

  • A good Arabic screen reader is required to replace windows Narrator. We are looking into the use of NVDA with the Windows Arabic voice.  There appear to be no freely available text to speech voices in Arabic at present.
  • Making the toolbar in a way that accepts plugins (similar to the ATbar browser version) to make it easier to add new features.
  • The toolbar has been built to be accessible to any input device and could take any language support – at present it is only available in Arabic.   It can be used in High contrast mode and has its own desktop icon.