An open API service indexing awesome lists of open source software.

https://github.com/linuxscout/qalsadi-web


https://github.com/linuxscout/qalsadi-web

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Qalsadi Web Interface

πŸ”€ **Qalsadi Web UI** is a simple and interactive web interface for the [Qalsadi Arabic Morphological Analyzer](https://github.com/linuxscout/qalsadi), built using [Flask](https://flask.palletsprojects.com/). It provides tools for morphological analysis, tokenization, stemming, lemmatization, and more β€” all from your browser.

## Demo

Coming soon: [Tahadz.com](http://tahadadz.com/qalsadi)

## πŸš€ Features

- πŸ” Morphological analysis of Arabic text (using [`Qalsdai morphological analyzer and lemmalizer`](http://github.com/linuxscout/qalsadi))
- πŸ“‘ Support for output in table, CSV, JSON, and XML formats
- ⌨️ Extra text processing actions:
- Stemming (using [`Tashaphye light stemmer`](http://github.com/linuxscout/tashaphyne))
- Tokenization (using [`pyarabic`](https://github.com/linuxscout/pyarabic))
- Lemmatization (using [`Qalsdai morphological analyzer and lemmalizer`](http://github.com/linuxscout/qalsadi))
- Strip Tashkeel (using [`pyarabic`](https://github.com/linuxscout/pyarabic))
- Sorting tokens
- Generate random Arabic text (using [`arrand Arabic text generation Ω…ΩƒΨͺΨ¨Ψ© Ψ§Ω„Ψ±Ω†Ψ―`](https://github.com/linuxscout/Arrand-arabic-random-text))
- πŸ“₯ Upload Arabic text files
- πŸ—‚οΈ Profile-based result display (main, all, root, lemma…)

---

## 🧰 Requirements

- Install dependencies:

```bash
pip install -r requirements.txt
```

------

## πŸ–₯️ Usage

Run the web application:

```bash
python web/app.py
```

Visit in your browser:

```
http://127.0.0.1:5000/
```

------

## πŸ§ͺ Example Actions

- **ΨͺΨ­Ω„ΩŠΩ„ ءرفي**: Use Qalsadi analyzer to extract morphological features.
- **Ψͺجذيع**: Use Tashaphye to stem each word.
- **ΨͺΨ£Ψ΅ΩŠΩ„**: Extract the lemma using Qalsadi.
- **ΨͺΩΨ±ΩŠΩ‚ Tokens**: Tokenize Arabic sentences.
- **حذف Ψ§Ω„ΨͺΨ΄ΩƒΩŠΩ„**: Strip diacritics using PyArabic.
- **Ω†Ψ΅ عربي عشوائي**: Generate random Arabic text using `arrandom`.

------

## πŸ“ Project Structure

```text
qalsadi-web/
β”œβ”€β”€ docs
β”œβ”€β”€ Makefile
β”œβ”€β”€ README.md
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ web
β”‚ β”œβ”€β”€ app.py
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ static
β”‚ β”‚Β Β  └── style.css
β”‚ └── templates
β”‚ β”œβ”€β”€ about.html
β”‚ β”œβ”€β”€ base.html
β”‚ β”œβ”€β”€ index.html
β”‚ └── docs.html
└── tests # test folder
Β Β  β”œβ”€β”€ output
Β Β  β”œβ”€β”€ samples
Β Β  β”‚Β Β  └── text.txt
Β Β  └── test_unit_web.py
```

------

## πŸ“œ License

This project is open-source and released under the GPL v3 License.

------

## ✨ Acknowledgements

- Built with ❀️ using [Flask](https://flask.palletsprojects.com/)
- Powered by [Qalsadi](https://github.com/linuxscout/qalsadi), [PyArabic](https://github.com/linuxscout/pyarabic), [Tashaphye](https://github.com/linuxscout/tashaphye), and [arrandom](https://github.com/linuxscout/arrandom)