https://github.com/linuxscout/qalsadi-web
https://github.com/linuxscout/qalsadi-web
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/linuxscout/qalsadi-web
- Owner: linuxscout
- License: gpl-3.0
- Created: 2025-07-27T04:46:31.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-27T05:42:02.000Z (11 months ago)
- Last Synced: 2025-07-27T07:28:32.732Z (11 months ago)
- Language: Python
- Size: 42 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
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)