This submission implements an end-to-end Information Retrieval system in Streamlit for Assignment 1.
app.py- Streamlit applicationdata/group44_city_resilience_docs.jsonl- bundled document collectionreport_Group44.pdf- submission-ready report with experimental results and inferencesreport_Group44.md- editable report sourcescreenshots/- application evidencerequirements.txt- Python dependencies
python -m pip install -r requirements.txtstreamlit run app.pyThe app opens in the browser. Use the sidebar to upload a custom text/CSV/JSONL collection or keep the bundled Group 44 dataset.
- Multiple
.txtfiles: each file becomes one document. .csv: recommended columns aredoc_id,title, andtext..jsonl: one JSON object per line withdoc_id,title, andtext.
TXT, CSV, and JSONL uploads were tested through both the parser and the Streamlit browser interface.
The Streamlit front end includes:
- Dataset upload and document viewing
- Tokenization, inverted index creation, lowercasing, stop word removal, hyphen handling, stemming, and lemmatization
- Stemming vs lemmatization retrieval-quality comparison
- Phrase query comparison using biword and positional indexes
- Dictionary search using Binary Search Tree and B-Tree with timing experiments
- Tolerant retrieval using wildcard search, edit-distance correction, and k-gram similarity
- Inference and discussion for every required task
https://irassignment-group-44.streamlit.app/
https://irassignment-group-44.streamlit.app/
The assignment awards a separate mark for execution on the BITS Virtual Lab portal. Capture screenshots or a short recording from that environment and include them with the final submission.