Define a text task
Choose a specific task such as support-ticket classification. Collect examples with permission, remove unnecessary personal information and write clear label definitions. Keep related messages in the same split so near duplicates do not leak from training into evaluation.
Build a baseline
Compare a simple keyword rule with a bag-of-words or TF-IDF classifier. Inspect tokenization, punctuation and language-specific handling. A baseline makes it possible to tell whether a more complex model actually improves the task.
Evaluate relevant errors
Use a confusion matrix and per-class precision and recall. Inspect short messages, ambiguous wording and mixed languages separately. For generated text, assess correctness and supported evidence rather than relying only on fluent wording.
Deliver a useful experiment
Create a ticket classifier with an uncertainty or manual-review path. Include dataset notes, split logic, example mistakes and reproducible inference instructions. Document what the system should not decide automatically and how new data will be checked before retraining.
NLP lab: inspect ambiguous labels
Write fifteen short support messages across three categories, including examples that fit two categories. Define how such messages should be labelled before training. Compare a rule-based baseline and a simple text classifier on a held-out set. Inspect every disagreement and decide whether the model, label definition or input ambiguity caused it. Record uncertainty explicitly. Avoid promising that a small classroom dataset represents all languages, users or production traffic.
Check your progress
Keep your working files, test cases and notes together. Explain one design decision, demonstrate a failure case and list what you would improve next. These concrete outputs make it easier to identify the next skill to practice.