A visit to the Assistive Technology Industry Association 2013 conference where the Microsoft team kindly showed me how we could work in Arabic and English plus the arrival of our Dell tablet with Windows 8 has made us look at the issue of Qatari Arabic support and Windows in depth.
We downloaded the language pack and changed the keyboard and all seemed well but it appears from the email I received from their product advisor that there is no Window Arabic voice at present.
“I researched the question to see if Windows 8 supports Arabic (namely Qatari dialect) text to speech. Unfortunately, at this time, Windows 8 does not support it. Only certain languages are included in the built in software.”
So back to the drawing board for the ATbar desktop option – Narrator is not going to speak in Arabic unless someone has found an Arabic Windows system with a well hidden free voice from Microsoft! If anyone has found a solution to this problem please do let us know!
More research and thanks to a recent development with Arabic eSpeak we now have a free voice, Testing has shown that the voice needs to be improved but with work on the phonetics in the future this is something that could be done. The aim is to ship NVDA with the ATbar desktop version and the Arabic eSpeak voice. It will not really be an acceptable voice where a Nuance or Acapela option is available.
The Windows 8 mobile OS has the potential to support more Arabic options and offers translation from OCR although the actual text is still not 100% correct – Spot the problem!
Nuance has a choice of Arabic voices for mobile and has added speech recognition but none of our team have been able to test its success rates. Google has also rolled out speech recognition in Arabic for Android phones
We have been testing online speech recognition systems offered by Google Chrome and they really are not very successful in the Arabic dialects offered. Below is an example of Speech Recognizer in Arabic.
The TalkTyper system uses Speech Recognizer for speech recognition as well as text to speech – the latter uses a very good voice in Arabic – we are still exploring which voice is used but it sounds like Nuance Maged in Arabic.
What this spot for updates next week linked to the ATbar desktop app and ATbar TTS.
In the last blog Nawar mentioned the issues we are having with the Arabic version of Wiktionary and its presentation of definitions and alternative words when selecting text on Arabic web sites. The Wiktionary pages do not appear to be as well organised in Arabic as they are in English. They are incomplete and often return incorrect results or no results.
Arabic wiktionary homepage
In a previous blog we showed a diagram that highlighted the importance of organising the stems related to words along with the definitions taken from Wiktionary. The way the words are presented with their changing meanings is important and Maraim and Nawar have been discussing the use of crowd sourcing to achieve a successful outcome as this is not something that can be done immediately if we want to make a useful dictionary that makes the most of open source software alongside content that is also open and accessible to all.
Maraim has written a blog about the subject in Arabic. She explains the concept of crowd sourcing and provides examples of three different dictionaries – Lingoz, Wordia and Collins that have all used this technique to gather data.
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.