Arabic Word Generation and Modelling for Spell Checking

Arabic is a language known for its rich and complex morphology. Although many research projects have focused on the problem of Arabic morphological analysis using different techniques and approaches, very few have addressed the issue of generation of fully inflected words for the purpose of text authoring. Available open-source spell checking resources for Arabic are too small and inadequate. Ayaspell, for example, the official resource used with OpenOffice applications, contains only 300,000 fully inflected words. We try to bridge this critical gap by creating an adequate, open-source and large-coverage word list for Arabic containing 9,000,000 fully inflected surface words. Furthermore, from a large list of valid forms and invalid forms we create a character-based tri-gram language model to approximate knowledge about permissible character clusters in Arabic, creating a novel method for detecting spelling errors. Testing of this language model gives a precision of 98.2% at a recall of 100%. We take our research a step further by creating a context-independent spelling correction tool using a finite-state automaton that measures the edit distance between input words and candidate corrections, the Noisy Channel Model, and knowledge-based rules. Our system performs significantly better than Hunspell in choosing the best solution, but it is still below the MS Spell Checker.

[1]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[2]  Markus Walther Computational nonlinear morphology with emphasis on semitic languages , 2002, Computational Linguistics.

[3]  Clodoveu A. Davis,et al.  Approximate String Matching for Geographic Names and Personal Names , 2007, GEOINFO.

[4]  Kenneth Ward Church,et al.  A Spelling Correction Program Based on a Noisy Channel Model , 1990, COLING.

[5]  Jan Hajiÿc,et al.  Feature-Based Tagger of Approximations of Functional Arabic Morphology , 2005 .

[6]  Mans Hulden,et al.  Fast approximate string matching with finite automata , 2009 .

[7]  J. McCarthy The phonology and morphology of Arabic , 2004 .

[8]  Ahmed Hassan Awadallah,et al.  Language Independent Text Correction using Finite State Automata , 2008, IJCNLP.

[9]  OflazerKemal Error-tolerant finite-state recognition with applications to morphological analysis and spelling correction , 1996 .

[10]  Eric Brill,et al.  An Improved Error Model for Noisy Channel Spelling Correction , 2000, ACL.

[11]  Shuly Wintner Strengths and weaknesses of finite-state technology: a case study in morphological grammar development , 2008, Nat. Lang. Eng..

[12]  Roger Mitton,et al.  English spelling and the computer , 1995 .

[13]  Walid Magdy,et al.  Arabic OCR Error Correction Using Character Segment Correction, Language Modeling, and Shallow Morphology , 2006, EMNLP.

[14]  Mans Hulden,et al.  Foma: a Finite-State Compiler and Library , 2009, EACL.

[15]  Animesh Mukherjee,et al.  Investigation and modeling of the structure of texting language , 2007, International Journal of Document Analysis and Recognition (IJDAR).

[16]  Mohamed Ben Ahmed,et al.  Efficient Automatic Correction of Misspelled Arabic Words Based on Contextual Information , 2003, KES.

[17]  Josef van Genabith,et al.  An Open-Source Finite State Morphological Transducer for Modern Standard Arabic , 2011, FSMNLP.

[18]  Kemal Oflazer,et al.  Error-tolerant Finite-state Recognition with Applications to Morphological Analysis and Spelling Correction , 1995, CL.