This is a simple Amharic text processing library designed to assist with common language processing tasks for the Amharic language. The library provides functionalities for text normalization, stop word removal, word stemming, and word suggestion. It aims to simplify the process of working with Amharic text data.
# AmharicNLP
This is a lightweight C++17 header-only library for Amharic text pre-processing. The library provides functionalities for text normalization, stop word removal, word stemming, and word suggestion. It is designed to be easy to use, with no external dependencies required.
## Features
- **Text normalization**: The library normalizes Amharic text by applying Unicode normalization techniques. This ensures consistent representation of characters and compatibility with other Unicode operations.
- **Stop word removal**: It offers a predefined list of Amharic stop words and efficiently removes them from the given text. This helps in excluding commonly used words that do not contribute significantly to the overall meaning of the text.
- **Word stemming**: The library implements a simple stemming algorithm specifically tailored for the Amharic language. It reduces words to their root form, facilitating better analysis and comparison of text data.
- **Word suggestion**: After removing stop words and stemming the remaining words, the library attempts to provide a suggestion for the possible full word that the stemmed word may represent. This feature helps users with auto-suggestions and improves the usability of the library.
- **Character Composition/Decomposition**: The AmharicNLP library provides a convenient feature for decomposing Amharic characters into their consonant and vowel forms. This functionality allows you to separate the base consonant from any accompanying vowel, enabling a better understanding of the linguistic structure of Amharic text.
## Installation
This library is a single header file, amharic_text_processing.hpp. You can download the header and include it in your C++ project.
in order to enable word suggestion you need to have the dictionary in `asset/` folder and compile your program defining NLP_ENABLE_SUGGESTION
```bash
g++ -DNLP_ENABLE_SUGGESTION std=c++17 your_program.c -o program
cd my-project
```
## Usage/Exam …