A simple Python amharic search engine which includes implementation of TF and IDF for multiple text documents, including basic text preprocessing such as normalization, tokenization, and stopword removal.
# Amharic_Search_Engine
This project implements **Term Frequency (TF)** and **Inverse Document Frequency (IDF)** from scratch using Python.
It is designed to be **simple, readable, and beginner-friendly**, without relying on external NLP libraries.
The goal is to understand how TF and IDF work internally rather than using built-in tools.
## Features
- Load multiple text documents from files
- Normalize text (lowercasing, removing punctuation)
- Tokenize documents
- Remove stopwords
- Compute:
- Term Frequency (TF) for each document
- Inverse Document Frequency (IDF) across all documents
- Works for **any number of documents**
## Concepts Covered
- Text preprocessing
- Term Frequency (TF)
- Document Frequency (DF)
- Inverse Document Frequency (IDF)
- NLP fundamentals