Logo Lanfrica

Natnael-Ab/multilingual-search-engine

Domaine:

natural language processing

Type de record:

software
Créateur:
Nat
Hôte:
A multilingual information retrieval system supporting English-Amharic search using BM25, TF-IDF, query expansion and Flask. # Multilingual Search Engine A multilingual Information Retrieval (IR) system that enables English and Amharic document retrieval using modern search techniques including BM25 ranking, TF-IDF ranking, query expansion, and cross-language search. ## Live Demo 🚀 **Live Application:** multilingual-search-engine-… ### Quick Links - Live Demo: multilingual-search-engine-… - Source Code: github.com ## Overview This project demonstrates the core concepts of Information Retrieval by implementing a complete search engine capable of retrieving relevant documents across multiple languages. The system includes document preprocessing, indexing, ranking, evaluation, and a web-based search interface. ## Key Features - English document retrieval - Amharic document retrieval - Cross-language information retrieval - BM25 ranking algorithm - TF-IDF ranking algorithm - Query expansion - Inverted index generation - Search evaluation metrics - Flask-based web interface - Persistent index storage ## System Architecture ```text User Query │ ▼ Preprocessing │ ▼ Query Expansion │ ▼ Translation Layer │ ▼ BM25 / TF-IDF Ranking │ ▼ Search Results ``` ## Project Structure ```text multilingual-search-engine/ │ ├── app.py ├── requirements.txt ├── README.md ├── LICENSE │ ├── dataset/ │ ├── english/ │ └── amharic/ │ ├── ir/ │ ├── preprocessing.py │ ├── indexing.py │ ├── ranking.py │ ├── search_engine.py │ ├── translation.py │ ├── query_expansion.py │ └── evaluation.py │ ├── templates/ ├── static/ ├── saved_indexes/ │ ├── .github/ ├── .devcontainer/ │ └── render.yaml ``` ## Technologies Used - Python 3 - Flask - Flask-CORS - NLTK - BM25 Ranking - TF-IDF Ranking - HTML - CSS - JavaScript ## Installation ### Clone Repository ```bash git clone github.com cd multilingual-search-engine ``` ### Install Dependencies ```bash pi …