Processed 22,522 research papers from ArXiv and Semantic Scholar, building an NLP preprocessing pipeline with NLTK and spaCy covering tokenization, stopword removal, stemming, and language detection across 2.7M tokens.
Engineered a hybrid retrieval system combining BM25 lexical search with FAISS dense search over Word2Vec, SBERT, and SciBERT embeddings, achieving an MRR of 0.83 on a held-out query set.
Benchmarked LDA against BERTopic for topic modeling and selected on measured coherence (0.448 versus 0.420) rather than on qualitative inspection alone.
Applied knowledge distillation from a BART-MNLI zero-shot teacher into a lightweight student classifier, matching teacher accuracy at 67% across 12 categories while running approximately 50x faster at inference.
Added LIME explanations and structured logging so every classification could be inspected, traced, and reused as a regression test case.
Shipped the full pipeline as a Streamlit dashboard, exposing retrieval, topic assignment, and explanation in a single interface.
The bullets above are reported in the full source resume ↗. Repository findings and any differences are identified separately below.
01 / SYSTEM ARCHITECTURE
How it fits together.
Three notebooks collect and clean the paper corpus, build embeddings and retrieval indexes, then integrate the models into a Streamlit interface. BM25 scores are fused with cosine similarity from an IndexFlatIP FAISS index over normalized SBERT vectors. A BART-MNLI teacher supplies pseudo-labels to a frozen-SBERT plus logistic-regression student; topic models, summaries and LIME explanations share the resulting corpus.
NumPySciPypandasscikit-learnPyTorchHugging Face Transformerssentence-transformersBM25FAISSGensimBERTopicUMAPHDBSCANNLTKspaCyLIMEMatplotlibSeabornPlotlyStreamlit
Alternative considered: The initial semantic-heavy weighting hypothesis
A parameter search favored a larger lexical contribution; the published comparison still shows BM25 alone outperforming the hybrid on its synthetic relevance labels.
Published classification results over the 12-class taxonomy.
Accuracy 67%, macro-F10.20, weighted-F10.62, with approximately 50× student-versus-teacher inference speedup. The macro/weighted gap exposes the class imbalance.