How tayyabsiddique77/semantic_movie_recommender works
CineMatch is a Streamlit semantic movie recommender: a user selects a title, the app retrieves its stored embedding, searches a FAISS index, and displays similar movies with posters fetched from TMDB. The README also describes the offline metadata-cleaning and embedding-generation pipeline, but its notebook and source dataset are absent from the supplied tree, so those implementation stages are not represented as runtime components.
Main entry points: app.py Recommendation search · movies.pkl Movie catalog · embeddings.pkl Movie embeddings · movie_index.faiss FAISS index
Components 9
User interface
- Movie selection UI
app.py - Recommendation display
app.py
Recommendation
- Recommendation search
app.py
Stored artifacts
- Movie catalog
movies.pkl - Movie embeddings
embeddings.pkl - FAISS index
movie_index.faiss
Poster integration
- Poster retrieval
app.py
Other components
- Movie seeker
- TMDB API
Connections 9
- Movie seeker → Movie selection UI: selects title
README.md - Movie selection UI → Recommendation search: invokes search
app.py - Recommendation search → Movie catalog: looks up movie
app.py - Recommendation search → Movie embeddings: reads vector
app.py - Recommendation search → FAISS index: searches neighbors
app.py - Recommendation search → Poster retrieval: fetches posters
app.py - Poster retrieval → TMDB API: requests poster data
app.py - Recommendation search → Recommendation display: returns recommendations
app.py - Recommendation display → Movie seeker: displays results
README.md