Assemble an aligned dataset
Collect image–caption pairs (for example MS COCO or curated website images with human-written alt text) and add edge cases such as diagrams and screenshots.
Generate descriptive alt text. Assess grounding and relevance.
Automatic alt text generation produces concise, descriptive text that conveys the important visual content of an image for people who use screen readers. Typical failure modes include hallucinated details, omitted salient objects, non-descriptive language, over-long captions and cultural or privacy-sensitive content.
Learning concept · Not a validated service
Automatic alt text generation produces concise, descriptive text that conveys the important visual content of an image for people who use screen readers. Typical failure modes include hallucinated details, omitted salient objects, non-descriptive language, over-long captions and cultural or privacy-sensitive content.
A proposed application: generate candidate alt text for a content-management system so an editor can review and approve suggestions. A human reviewer should remain in charge for accessibility and privacy decisions; this starter does not deliver a production-ready system.
Collect image–caption pairs (for example MS COCO or curated website images with human-written alt text) and add edge cases such as diagrams and screenshots.
Start with a multimodal encoder–decoder such as CLIP or an image‑encoder with a transformer decoder, and evaluate greedy and beam decoding variants.
Use recall@K for candidate grounding, CIDEr/BLEU/ROUGE for language overlap, and human usefulness/grounding scores to measure harmful hallucinations.
Expose candidate captions to human editors, log corrections for continuous training, and include checks for privacy-sensitive content.
The supplied starter is a small text-classification pipeline: it trains a scikit-learn Pipeline with TfidfVectorizer and LogisticRegression on six short, hand-written English sentences with binary labels, then prints a classification report and a sample prediction. It does not process images, image features or generate textual captions from visual input.
model = Pipeline(
steps=[
("tfidf", TfidfVectorizer(ngram_range=(1, 2), min_df=1)),
("classifier", LogisticRegression(max_iter=1000)),
]
)
model.fit(X_train, y_train)
predictions = model.predict(X_test)The starter code is a plain text classifier on six synthetic sentences and does not implement image captioning, multimodal embeddings, or any form of alt text generation. The tiny labelled set and its text-domain labels cannot validate the project task; no image data, visual encoders or decoder-generation logic are present.
A proposed extension: replace the starter data with image–caption pairs, add an image encoder plus a text decoder (or a multimodal model like an encoder–decoder transformer), and deploy a candidate-suggestion API for human editors to accept or correct.
This is a potential application pathway, not a delivered product. The supplied starter does not implement this service or validate it with real users.
Networkers Home runs this topic inside its AI Engineer Course, with placement support and hands-on labs.