Copyright © 2025 Sid Ahmed KHETTAB
Developed during doctoral research at the University of Oran 2 Mohamed Ben Ahmed, under the supervision of Prof. Fatima Zohra HARIG BENMOSTEFA
Licensed under the GNU AGPL v3
Error Analyzer is an open-source, advanced web-based platform for qualitative error analysis, annotation, and text correction. Developed within the fields of linguistics, discourse analysis, and semiotics, it is designed to support rigorous academic research. The platform enables researchers to conduct systematic investigations by comparing 'wrong' and 'corrected' texts, applying qualitative coding procedures, categorizing errors, and identifying recurrent linguistic patterns. Assisted by Google’s Natural Language Processing (NLP) and Gemini AI, Error Analyzer integrates computational methods with established analytical frameworks, producing detailed reports that enhance both empirical studies and pedagogical practice. It is intended for linguists, educators, and scholars who seek not only correction but also structured analysis, theoretical insight, and reproducible research outcomes.
- Intelligent Text Comparison: Side-by-side comparison of original and corrected texts with a dynamic diff viewer to highlight changes.
- Advanced NLP Insights: Utilize Google NLP to analyze Part-of-Speech (POS) tags, dependencies, entities, tense, number, and surface edits, providing quantitative linguistic insights.
- Gemini AI Integration: Engage with an AI chat assistant for deeper analysis, context-aware explanations, and automated tagging suggestions.
- Flexible Tagging & Annotation: Manually tag and annotate specific errors or linguistic phenomena within texts.
- Comprehensive Notes Management: Create and manage detailed notes associated with text pairs for qualitative analysis.
- Dynamic Tag Reporting: Generate visual reports and charts (e.g., bar charts, pie charts, volcano plots) based on your tags and NLP data, offering actionable insights into error patterns.
- Project Management: Easily create, edit, delete, import, and export projects, maintaining a structured workflow for your analysis tasks.
- Multi-language Support: Seamlessly switch between English and French interfaces for broader accessibility.
- Secure User Authentication: Protect your projects with robust user login and project access control.
⚠️ Note:
- If you’re on Windows and don’t have experience with Python or development environments, it’s preferable to use the compiled standalone Windows Installer available here.
- On Linux or macOS, or if you’re an advanced Windows user, follow the steps below to build from source. These instructions are intended for users who are comfortable working with code.
To get Error Analyzer up and running on your local machine, follow these steps:
-
Clone the Repository:
git clone https://github.com/SidahmedKhettab/error-analyzer.git cd error-analyzer -
Create a Virtual Environment (Recommended):
python -m venv venv # On Windows .\venv\Scripts\activate # On macOS/Linux source venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
-
Configure Google API Key: Error Analyzer utilizes Google NLP and Gemini AI. You'll need a Google Cloud API Key with access to these services.
- Obtain your API Key from the Google Cloud Console.
- During the application's setup, you will be prompted to configure this key within the application's settings.
-
Run the Application:
python main.py
The application will typically run on
http://127.0.0.1:5000/. -
Access in Browser: Open your web browser and navigate to the address provided in the console (e.g.,
http://127.0.0.1:5000/). -
Create or Import a Project:
- Register a new account or log in.
- Create a new project and upload your CSV data containing "wrong" and "corrected" text pairs.
- Alternatively, import an existing project.
-
Perform NLP Analysis:
- Navigate to your project.
- Initiate NLP analysis to generate linguistic insights for your text pairs.
-
Explore & Analyze:
- Use the intuitive interface to compare texts, apply tags, manage notes, and interact with the AI chat for deeper understanding.
- Generate comprehensive Tag Reports to visualize error patterns and linguistic shifts.
Contributions are welcome! If you have suggestions for improvements, bug reports, or want to contribute code, please feel free to:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Make your changes.
- Commit your changes (
git commit -m 'feat: Add new feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
Licensed under AGPL-3.0. See the LICENSE file for the complete terms.
Summary (not a substitute for the license):
You may use and modify this software. If you modify or host it for others to use, you must also make your source code available under the same license.
If you use Error Analyzer in research, please cite:
KHETTAB, S. A. (2025). Error Analyzer (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.17075450
For inquiries, support, or collaboration regarding Error Analyzer, please feel free to reach out: