Implement natural language processing solutions
Prebuilt vs custom
Azure AI Language offers prebuilt capabilities with no training: sentiment, opinion mining, key phrase extraction, entity recognition (including PII detection with masking), language detection, summarization, and text analytics for health. Custom capabilities require labelled data: conversational language understanding (CLU) for intents and entities in utterances, custom named entity recognition, and custom text classification (single-label or multi-label).
Disambiguating the services
CLU is for commands and dialogue - you supply utterances tagged with intents so the model learns to route 'book a flight to Paris' to a BookFlight intent with a destination entity. Question answering is for documents and FAQs - you supply a knowledge source and it returns the best answer passage; it needs no utterances. Choosing CLU for a static FAQ, or QA for command routing, is the classic trap. Also know that single-label classification picks exactly one category per document, while multi-label allows several.
Speech and translation
Speech-to-text, text-to-speech, custom speech (your audio/accent), and intent recognition that calls CLU. Translator handles language translation and is a separate resource type from Azure AI Language. PII detection returns entities and can redact; questions often ask whether redaction is automatic - it is not, you apply the mask.
Traps: assuming prebuilt entity categories include your domain terms (train custom NER); expecting summarization to work well without specifying document vs conversation style; mixing translator and language resources in one endpoint.
Rule of thumb: if users talk to it, use CLU; if users search in it, use question answering.