Projects Dec 2023 ML engineer
Multi-Label Genre Prediction
Predicts up to 27 movie genre labels from a plot synopsis using a two-layer BiLSTM. Trained, tuned, and deployed as a Streamlit app.
- Python
- TensorFlow
- Keras
- BiLSTM
- Streamlit
Given a plot synopsis, predict which genres apply. The challenge is multi-label: a film can be simultaneously Action, Drama, and Thriller, so the output is a set of labels rather than a single class.
Model
A Bidirectional LSTM reads the synopsis in both directions simultaneously, capturing context that a forward-only LSTM misses. Two BiLSTM layers are stacked before the classification head.
The output layer uses per-class sigmoid activations rather than softmax, so each of the 27 genres is scored independently and multiple labels can be active at once.
Why BiLSTM for this task
Genre signals in plot text are often non-local. A word like “heist” near the start of a synopsis carries genre information regardless of what follows. The backward pass of a BiLSTM captures this: later context can reinforce or suppress signals from earlier tokens, and the two passes are concatenated before the dense layers.