Back to projects

AI / NLP course project

Redacted Name Predictor

A supervised name-reconstruction experiment using redaction length, nearby words, part-of-speech features, n-grams, and a class-balanced logistic regression model.

NLTKscikit-learnLogistic regressionFeature engineering
View repository
REDACTED NAME PREDICTOR
REDACTED CONTEXT → FEATURES → NAME PREDICTION

01 / COMPONENTS & DATA FLOW

Inside the system.

  1. 01Redacted TSV contexts
  2. 02NLTK + feature strings
  3. 03CountVectorizer
  4. 04Logistic regression names

Redaction-aware features

The feature extractor counts block characters, locates the redacted token, and captures neighboring words, POS tags, sentence length, position, and local n-gram features.

Supervised classification

Training rows are selected from a split-labeled TSV. CountVectorizer turns feature strings into sparse features, and LogisticRegression uses balanced class weights to predict name labels.

Validation and submission

Validation computes weighted precision, recall, and F1. The test path generates a TSV containing record IDs and predicted names.

02 / IMPLEMENTATION DECISIONS

Why it works this way.

Study information leakage

The experiment asks how much identity signal survives in surrounding text. It reconstructs redacted names; it does not detect and redact sensitive entities.

Feature engineering is inspectable

Redaction length and adjacent POS features make the inputs explicit. The learned labels are drawn from the training set rather than generated as arbitrary names.

03 / SCOPE & TRADEOFFS

The implementation boundary.

A supervised reconstruction experiment. No validated accuracy percentage is published here; repository metric display formatting is not treated as benchmark evidence.

04 / READ THE IMPLEMENTATION

Follow it into the code.