Character-Level Deep Learning
A deep-learning model that predicts a person's gender from their name alone, by reading the name character by character through a CNN + LSTM network — no name dictionary required — served behind a simple Flask web API. (Built during an internship at Kazee.)
What it does. Given a name (e.g. "Aditya Rizky"), the model predicts a binary gender label. It works purely from the spelling of the name — the sub-word patterns, suffixes, and letter sequences that correlate with gender — so it generalizes to names it has never seen, rather than looking them up in a list. It's wrapped in a small Flask service that takes a name and returns a prediction.
Predicting gender from a name is deceptively tricky:
Embedding layer turns character ids into dense vectors./predict_gender endpoint that runs the full
preprocess→encode→predict pipeline on an incoming name.| Layer | Technologies |
|---|---|
| Modeling | Keras / TensorFlow — Embedding → Conv1D → LSTM → Dense → sigmoid (LSTM-stacked variant also trained) |
| Encoding | Character-level Keras Tokenizer + pad_sequences (maxlen 40) |
| Serving | Flask (/predict_gender endpoint) |
| Workflow | Jupyter notebooks (model · predict), pickled tokenizer + saved model/weights |
Disclaimer: sample visuals may contain anonymized, simulated, or non-production values for presentation purposes.