hamza-aziz-ai/CrossLingual-IE-MT

Cross-lingual NLP pipeline (English <-> Hindi/Tamil/Marathi/Bengali) translating text with NLLB-200 and extracting Named Entities, Relations, and Temporal Events, via a Streamlit dashboard.

0

stars

3

commits

Python

primary language

Sep 2, 2026

updated

huggingface
indic-languages
information-extraction
machine-translation
named-entity-recognition
nllb
nlp
relation-extraction
streamlit
transformers

README

Cross-Lingual Information Extraction and Machine Translation System

NLP Applications (S2-25_AIMLCZG519) — Assignment 2, Part 1 BITS Pilani Work Integrated Learning Programmes — M.Tech. Artificial Intelligence and Machine Learning

An integrated NLP pipeline that translates text between English and four Indic languages (Hindi, Tamil, Marathi, Bengali) while extracting Named Entities, Relations, and Temporal Events, exposed through an interactive Streamlit web dashboard.

Repository: github.com/hamza-aziz-ai/CrossLingual-IE-MT

Group

Student IDNameContribution
2024AC05133Hamza Aziz100%
2024AC05114Kalpana S.100%
2024AC05136Hardik Sharma100%
2024AC05128Shubham Srivastava100%
2024AC05109Nitin Verma100%

Quick start

The project uses pipenv for dependency management:

pip install --user pipenv
pipenv install --dev
pipenv run streamlit run frontend/app.py

pipenv install --dev installs everything, including the spaCy en_core_web_sm model — no separate download step needed. See SETUP.md for full installation instructions (including CPU vs. GPU torch), troubleshooting, and how to generate the application screenshots.

Deliverables map

Assignment requirementLocation
1. Source Codebackend/, frontend/
2. Setup GuideSETUP.md
3. System Reportdocs/System_Report.docx / docs/System_Report.pdf
4. Application Screenshotsscreenshots/ — generated via tools/capture_screenshots.py, see screenshots/README.md
5. Task-B Documentdocs/Task_B_Efficiency_and_Optimization_Plan.pdf
Demo / module walkthrough (supplementary)notebooks/demo_pipeline.ipynb — already executed with real outputs
Automated teststests/test_offline_modules.py (24 tests, pipenv run pytest tests/ -v)

Architecture at a glance

Indic input  --[NLLB-200: Indic→English]--> English text --[NER + RE + Event]--> IE results
English input --[NLLB-200: English→Indic]--> Indic text (display only)
              \--[NER + RE + Event on the original English]--> IE results

Translation runs on facebook/nllb-200-distilled-600M; Information Extraction runs on the English side of the pair (Translate-then-Extract), using spaCy + IndicNER for NER, REBEL (with an automatic rule-based fallback) for Relation Extraction, and spaCy + dateparser for Event/Temporal Extraction. Full rationale, preprocessing steps, and challenges encountered are documented in docs/System_Report.docx. The comparison against a Direct Cross-Lingual Extraction architecture and a model-compression/deployment plan are documented in docs/Task_B_Efficiency_and_Optimization_Plan.pdf.

Contributors

hamza-aziz-ai

3 commits

hamza-aziz-ai/CrossLingual-IE-MT

Cross-lingual NLP pipeline (English <-> Hindi/Tamil/Marathi/Bengali) translating text with NLLB-200 and extracting Named Entities, Relations, and Temporal Events, via a Streamlit dashboard.

0

stars

3

commits

Python

primary language

Sep 2, 2026

updated

huggingface
indic-languages
information-extraction
machine-translation
named-entity-recognition
nllb
nlp
relation-extraction
streamlit
transformers

README

Cross-Lingual Information Extraction and Machine Translation System

NLP Applications (S2-25_AIMLCZG519) — Assignment 2, Part 1 BITS Pilani Work Integrated Learning Programmes — M.Tech. Artificial Intelligence and Machine Learning

An integrated NLP pipeline that translates text between English and four Indic languages (Hindi, Tamil, Marathi, Bengali) while extracting Named Entities, Relations, and Temporal Events, exposed through an interactive Streamlit web dashboard.

Repository: github.com/hamza-aziz-ai/CrossLingual-IE-MT

Group

Student IDNameContribution
2024AC05133Hamza Aziz100%
2024AC05114Kalpana S.100%
2024AC05136Hardik Sharma100%
2024AC05128Shubham Srivastava100%
2024AC05109Nitin Verma100%

Quick start

The project uses pipenv for dependency management:

pip install --user pipenv
pipenv install --dev
pipenv run streamlit run frontend/app.py

pipenv install --dev installs everything, including the spaCy en_core_web_sm model — no separate download step needed. See SETUP.md for full installation instructions (including CPU vs. GPU torch), troubleshooting, and how to generate the application screenshots.

Deliverables map

Assignment requirementLocation
1. Source Codebackend/, frontend/
2. Setup GuideSETUP.md
3. System Reportdocs/System_Report.docx / docs/System_Report.pdf
4. Application Screenshotsscreenshots/ — generated via tools/capture_screenshots.py, see screenshots/README.md
5. Task-B Documentdocs/Task_B_Efficiency_and_Optimization_Plan.pdf
Demo / module walkthrough (supplementary)notebooks/demo_pipeline.ipynb — already executed with real outputs
Automated teststests/test_offline_modules.py (24 tests, pipenv run pytest tests/ -v)

Architecture at a glance

Indic input  --[NLLB-200: Indic→English]--> English text --[NER + RE + Event]--> IE results
English input --[NLLB-200: English→Indic]--> Indic text (display only)
              \--[NER + RE + Event on the original English]--> IE results

Translation runs on facebook/nllb-200-distilled-600M; Information Extraction runs on the English side of the pair (Translate-then-Extract), using spaCy + IndicNER for NER, REBEL (with an automatic rule-based fallback) for Relation Extraction, and spaCy + dateparser for Event/Temporal Extraction. Full rationale, preprocessing steps, and challenges encountered are documented in docs/System_Report.docx. The comparison against a Direct Cross-Lingual Extraction architecture and a model-compression/deployment plan are documented in docs/Task_B_Efficiency_and_Optimization_Plan.pdf.

Contributors

hamza-aziz-ai

3 commits

Languages

Python

57.0%

Jupyter Notebook

43.0%