Skip to content

I am attempting to create a spelling error detection and correction system for Guragee. The system utilizes distance algorithms to determine whether a given word is correct or incorrect. Additionally, it suggests the nearest word based on the input provided.

Notifications You must be signed in to change notification settings

aronsinkie/Semitic-NLP

Repository files navigation

Spelling Error Detection and Correction System

This study aims to develop a Guragee spell checker that takes into account the complex morphology of the Gurage language. Previous attempts using approaches like metaphone and edit distance algorithms, designed for simpler languages like English, did not yield satisfactory results for Gurage. Similarly, existing morphological analyzers were not suitable for computational morphology in Gurage. Therefore, this study explores the possibility of using a morphology-based approach to design and develop a Guragee typing error detection and correction system specifically targeting non-word errors.

The code I provided leverages Flask to create a web application with route handling, form processing, and HTML template rendering using Jinja.

  • The code is a Flask application written in Python(app.y).
  • It utilizes a SQL database(spellcheckersql.py).
  • The application includes route handlers to handle different URL endpoints and execute corresponding functions(@app.route('/spellcheck', methods=['POST'])in app.py.
  • Form handling is implemented to process user input from HTML forms.
  • The Jinja template engine is used to render dynamic HTML templates by filling in data placeholders with Python code.

image

bandicam-2023-11-13-11-33-53-847-mbqc6jbr_YgiQB3A9.mp4

General Architecture of the System

The spell checker works by accepting a block of text and splitting it into individual words. It analyzes each word for spelling errors and determines if it is valid or invalid. For incorrect words, the spell checker provides suggestions for alternative words based on their similarity in spelling, calculated using a distance algorithm. The suggestions are ranked based on the calculated distance, with closer words being given higher priority.

Detailed Architecture of The System

The system makes use of a stored database called the dictionary, which comprises ten tables in the background. These tables encompass various components such as Morphological rules, Dictionary lookup, and the Amharic characters database. In addition, the system incorporates the dictionary searcher Ratcliff-Obershelp and the Distance Calculator component. These components are essential parts of the Rule Filter, Stem Extractor, and Suggestion Ranker components within the system.

About

I am attempting to create a spelling error detection and correction system for Guragee. The system utilizes distance algorithms to determine whether a given word is correct or incorrect. Additionally, it suggests the nearest word based on the input provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published