Ngân hàng đề — Microsoft Azure AI Engineer
Tìm thấy 267 câu.
You need to configure the app to extract text from the images. The solution must minimize development effort.
What should you include in the solution?
- A Computer Vision Image Analysis
- B the Read API in Computer Vision
- C Form Recognizer
- D Azure Cognitive Service for Language
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một ứng dụng đang được xây dựng chứa một triệu bài báo tạp chí được scan dưới dạng file hình ảnh. Nhiệm vụ chính là trích xuất văn bản (text extraction) từ các hình ảnh này một cách tối thiểu hóa nỗ lực phát triển (minimize development effort).
📌 Yêu cầu cốt lõi: Giải pháp phải hỗ trợ OCR (Optical Character Recognition) cho văn bản in ấn (printed text) trong hình ảnh lớn, xử lý quy mô lớn (1 triệu file), và dễ tích hợp mà không cần code phức tạp.
🛠️ Bối cảnh: Đây là các dịch vụ của Microsoft Azure Cognitive Services, tập trung vào AI cho xử lý hình ảnh và văn bản. Giải pháp cần asynchronous, scalable để phù hợp với khối lượng lớn.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: the Read API in Computer Vision
🧠 Lý do chi tiết:
- Read API (còn gọi là OCR Read) trong Azure Computer Vision được thiết kế chuyên biệt để trích xuất văn bản từ hình ảnh chứa lượng text lớn như tài liệu scan, sách báo (printed/handwritten text). Nó hỗ trợ xử lý bất đồng bộ (asynchronous), lý tưởng cho quy mô 1 triệu hình ảnh mà không cần code nhiều.
- Minimize development effort: Chỉ cần gọi API đơn giản (REST hoặc SDK), tự động detect ngôn ngữ, layout, và trả về JSON với text đầy đủ. Hỗ trợ batch processing qua Azure queues nếu cần scale.
- Cập nhật mới nhất (2024-2026): Read API v4.0+ tích hợp Cloud API, hỗ trợ multi-page TIFF/PDF, cải thiện accuracy lên 95%+ cho printed text, và tích hợp với Azure AI Vision (tiền thân Computer Vision). Phù hợp hoàn hảo cho scanned magazine articles.
📘 Nguồn tham khảo: Azure AI Vision Read documentation (cập nhật 2024).
📋 Giải thích tất cả các phương án
Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, với giải thích đúng/sai bằng tiếng Việt sử dụng emoji để nổi bật:
-
Computer Vision Image Analysis ❌ Sai
🧩 Đây là tính năng tổng quát của Azure AI Vision (trước là Computer Vision) để phân tích hình ảnh như detect objects, faces, tags, captions. Nó không chuyên sâu cho OCR text extraction lớn, chỉ hỗ trợ OCR cơ bản (Recognize Printed Text - synchronous, giới hạn 4MB/image). Không phù hợp quy mô 1 triệu file và không minimize effort cho scanned articles dài.
📘 Nguồn: Azure AI Vision overview. -
the Read API in Computer Vision ✅ Đúng
(Như đã giải thích ở phần đáp án đúng ở trên – lựa chọn tối ưu nhất). -
Form Recognizer ❌ Sai
🛠️ Form Recognizer (nay là Azure AI Document Intelligence) chuyên trích xuất dữ liệu có cấu trúc từ forms, hóa đơn, biên nhận (key-value pairs, tables). Không tối ưu cho văn bản tự do dài như bài báo tạp chí scan (chỉ hỗ trợ layout model cơ bản, cần train custom nếu phức tạp). Tăng effort phát triển do phải map fields.
📘 Nguồn: Azure AI Document Intelligence (v4.0+ 2024). -
Azure Cognitive Service for Language ❌ Sai
🧠 Dịch vụ này (nay là Azure AI Language) tập trung NLP tasks như sentiment analysis, entity recognition, summarization trên text thuần. Không hỗ trợ extract text từ hình ảnh (không có OCR). Phải kết hợp với dịch vụ khác, làm tăng effort phát triển đáng kể.
📘 Nguồn: Azure AI Language overview (cập nhật 2025).
Tóm tắt khuyến nghị 🚀: Sử dụng Read API kết hợp Azure Functions/Logic Apps để tự động hóa pipeline, đảm bảo scalability cho 1 triệu images. Nếu cần advanced, migrate sang Azure AI Vision unified API (2024+).
• Sentiment analysis
• Named Entity Recognition (NER)
• Personally Identifiable Information (PII) identification
You need to prevent the resource from persisting input data once the data is analyzed.
Which query parameter in the Language service API should you configure?
- A model-version
- B piiCategories
- C showStats
- D loggingOptOut
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc lĩnh vực Azure AI Language service (trước đây là Azure Cognitive Services - Text Analytics), không phải AWS (có thể có sự nhầm lẫn trong mô tả chủ đề, vì AWS Comprehend không sử dụng các tham số tương tự). Cụ thể:
-
Bạn đang quản lý một Language service resource hỗ trợ các tính năng chính:
- Sentiment analysis (phân tích cảm xúc văn bản).
- Named Entity Recognition (NER) (nhận diện thực thể có tên như người, tổ chức, địa điểm).
- Personally Identifiable Information (PII) identification (xác định thông tin cá nhân nhạy cảm như tên, số điện thoại, email).
-
Yêu cầu chính: Ngăn chặn resource lưu trữ (persisting) dữ liệu đầu vào sau khi phân tích hoàn tất. Điều này nhằm bảo vệ quyền riêng tư dữ liệu (data privacy), tránh Azure lưu log hoặc dữ liệu khách hàng trên hệ thống của họ.
-
Mục tiêu: Xác định query parameter phù hợp trong Language service API (ví dụ: khi gọi endpoint
/language/:analyzehoặc tương tự) để tắt logging dữ liệu đầu vào.
📘 Nguồn tham khảo:
- Tài liệu chính thức Microsoft (cập nhật đến 2024-2026): Azure AI Language - Logging opt-out.
- API Reference: Text Analytics API v3.1+.
✅ Đáp án đúng: loggingOptOut
Lý do lựa chọn:
- Tham số
loggingOptOut=truelà tính năng data privacy mới nhất của Azure AI Language (từ phiên bản API 2020-04-01 trở lên, vẫn áp dụng đến 2026). - Khi thiết lập
loggingOptOut=true, Azure hoàn toàn không lưu trữ dữ liệu đầu vào (input text) sau khi xử lý. Dữ liệu chỉ được phân tích tạm thời trong memory và bị xóa ngay lập tức, không ghi log vào hệ thống của Microsoft. - Điều này trực tiếp giải quyết yêu cầu "prevent the resource from persisting input data once the data is analyzed" ✅ – lý tưởng cho dữ liệu nhạy cảm như PII.
- Ví dụ sử dụng:
https://YOUR-RESOURCE.cognitiveservices.azure.com/language/:analyze?api-version=2024-07-01&loggingOptOut=true.
🛠️ Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn một cách chi tiết, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên chức năng thực tế trong Azure AI Language API (phiên bản mới nhất 2024-07-01+):
-
model-version ❌
Sai vì: Tham số này dùng để chỉ định phiên bản mô hình cụ thể (ví dụ:model-version=2023-04-01), giúp chọn model NER hoặc sentiment phù hợp. Nó không liên quan đến việc tắt lưu trữ dữ liệu, chỉ ảnh hưởng đến chất lượng phân tích output. -
piiCategories ❌
Sai vì: Tham số này chỉ định danh sách categories PII cần detect (ví dụ:piiCategories=PhoneNumber,Email), dùng trong endpoint PII detection để tùy chỉnh kết quả. Nó không kiểm soát việc lưu trữ input data, chỉ lọc loại thông tin nhạy cảm trong output. -
showStats ❌
Sai vì: Tham sốshowStats=trueyêu cầu API trả về thống kê bổ sung về request (như document count, char count, transaction count) trong response header. Nó tăng thông tin metadata, nhưng không ngăn chặn lưu trữ input data – thậm chí có thể làm tăng log nếu không dùng loggingOptOut. -
loggingOptOut ✅
Đúng vì: Như đã giải thích ở trên, đây là tham số duy nhất trực tiếp tắt logging và persisting input data sau phân tích. Được thiết kế cho compliance GDPR/HIPAA, đảm bảo dữ liệu khách hàng không được lưu vĩnh viễn trên Azure. Áp dụng cho tất cả features (Sentiment, NER, PII).
💡 Lưu ý bổ sung: Nếu dùng SDK (Python/Node.js), set logging_opt_out=True khi khởi tạo client. Luôn kiểm tra API version mới nhất để tránh deprecated features! 🚀
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are building a chatbot that will use question answering in Azure Cognitive Service for Language.
You have a PDF named Doc1.pdf that contains a product catalogue and a price list.
You upload Doc1.pdf and train the model.
During testing, users report that the chatbot responds correctly to the following question: What is the price of ?
The chatbot fails to respond to the following question: How much does cost?
You need to ensure that the chatbot responds correctly to both questions.
Solution: From Language Studio, you create an entity for price, and then retrain and republish the model.
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc dạng case study trong kỳ thi chứng chỉ (có thể là AZ-204 hoặc tương tự), mô tả tình huống xây dựng chatbot sử dụng Question Answering (QnA) trong Azure Cognitive Service for Language (trước đây là QnA Maker, nay tích hợp trong Language Studio).
-
Tình huống cụ thể:
- Bạn có file PDF tên Doc1.pdf chứa danh mục sản phẩm và bảng giá.
- Upload file này và train model QnA.
- Chatbot hoạt động tốt với câu hỏi: "What is the price of ?" (ví dụ: trả lời đúng giá sản phẩm).
- Chatbot thất bại với câu hỏi tương đương: "How much does cost?" (không trả lời đúng dù ý nghĩa giống nhau).
-
Mục tiêu (goal): Đảm bảo chatbot trả lời đúng cả hai câu hỏi này.
-
Giải pháp đề xuất (Solution): Từ Language Studio, tạo một entity cho "price", sau đó retrain và republish model.
-
Câu hỏi chính: Giải pháp này có đạt được mục tiêu không? (Does this meet the goal?)
Vấn đề cốt lõi là chatbot nhận diện được ý định (intent) và entity + price trong câu đầu, nhưng không hiểu được phrasing khác (paraphrase) của cùng một câu hỏi. Đây không phải thiếu entity "price" (vì câu đầu đã work), mà cần xử lý biến thể ngôn ngữ tự nhiên trong QnA.
📘 Kiến thức cập nhật đến 2026: Theo Azure AI Language (phiên bản mới nhất 2024-2026), Question Answering trong Language Studio hỗ trợ custom QnA với knowledge base từ PDF, sử dụng semantic ranking để match câu hỏi. Để xử lý paraphrase, cần thêm alternative questions, short answers, hoặc kích hoạt active learning để model học thêm mẫu câu tương tự. Entity extraction chủ yếu dùng cho key phrase extraction hoặc NER (Named Entity Recognition), không trực tiếp giải quyết paraphrase trong QnA.
✅ Đáp án đúng: No
Lý do lựa chọn:
- Giải pháp tạo entity "price" không giải quyết vấn đề paraphrase. Entity giúp extract thông tin cụ thể (như giá trị "price"), nhưng hai câu hỏi đã extract được và ý định lấy giá → vấn đề nằm ở question matching (model không nhận ra "How much does cost?" là synonym của "What is the price of ?").
- Retrain/republish chỉ củng cố entity, không thêm dữ liệu mới cho alternative phrasing. Kết quả: Câu hỏi thứ hai vẫn fail.
- Giải pháp đúng nên là: Thêm câu "How much does cost?" làm alternate question cho source tương ứng trong knowledge base (từ Doc1.pdf), hoặc dùng active learning để model tự học từ low-confidence queries.
🛠️ Giải thích tất cả các phương án trả lời
-
Yes ❌
Sai vì: Phương án này cho rằng tạo entity "price" sẽ làm model hiểu được paraphrase. Thực tế, entity chỉ hỗ trợ entity extraction (trích xuất "price" như một thực thể), không cải thiện question understanding hoặc semantic similarity giữa hai câu hỏi. Model QnA đã extract được price từ câu đầu (vì nó work), nên thêm entity thừa thãi và không fix vấn đề. Theo docs Azure, entity dùng cho custom extraction, không thay thế alternate questions. -
No ✅
Đúng vì: Như phân tích trên, giải pháp không target đúng root cause (paraphrase handling). Language Studio yêu cầu manually add alternate questions hoặc review low-score predictions qua active learning để train lại. Không làm vậy, model vẫn chỉ match exact/semantic gần với câu đã train từ PDF, bỏ lỡ biến thể tự nhiên.
📘 Tài liệu tham khảo
- Azure AI Language - Question Answering Overview (2024): Giải thích knowledge base từ PDF và semantic search.
- Active Learning & Alternate Questions (2024): Hướng dẫn xử lý paraphrase chính xác.
- Entities in Language Studio (2025 update): Xác nhận entity không fix question matching.
- Language Studio portal: Test tab → Add alternates cho QnA pairs.
Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần ví dụ code deploy, hỏi thêm nhé.
You need to index File1.avi by using the Azure Video Indexer website.
What should you do first?
- A Upload File1.avi to an Azure Storage queue.
- B Upload File1.avi to the Azure Video Indexer website.
- C Upload File1.avi to Microsoft OneDrive.
- D Upload File1.avi to the www.youtube.com webpage.
Xem giải thích
🧩 Giải thích nội dung câu hỏi
Câu hỏi mô tả tình huống bạn sở hữu một file video có kích thước 20 GB tên File1.avi đang lưu trữ trên ổ đĩa cục bộ (local drive). Nhiệm vụ là index file này (tức là phân tích, trích xuất metadata, nhận diện nội dung như giọng nói, khuôn mặt, từ khóa... bằng công cụ Azure Video Indexer qua website chính thức).
Bước đầu tiên cần làm là gì?
🛠️ Azure Video Indexer (nay thuộc Azure AI Services, cập nhật đến 2026) là dịch vụ phân tích video thông minh, hỗ trợ upload trực tiếp từ local hoặc import từ các nguồn đám mây như OneDrive, YouTube, Azure Blob Storage. Tuy nhiên, với file 20 GB (rất lớn), việc upload trực tiếp qua trình duyệt web gặp hạn chế về kích thước (thường giới hạn ~2-10 GB tùy tài khoản, do browser và mạng), nên cần nguồn trung gian hỗ trợ file lớn. Câu hỏi tập trung vào bước đầu tiên để chuẩn bị file cho quá trình indexing trên website.
✅ Đáp án đúng: Upload File1.avi to Microsoft OneDrive
Lý do lựa chọn:
Azure Video Indexer website hỗ trợ import video trực tiếp từ OneDrive mà không bị giới hạn kích thước nghiêm ngặt (OneDrive cho phép upload file lên đến 250 GB). Bước đầu tiên là upload file local lên OneDrive, sau đó trên website Video Indexer chọn "Import from OneDrive" để indexing ngay. Điều này tránh vấn đề upload lớn qua web trực tiếp, phù hợp với file 20 GB. Đây là quy trình được Microsoft khuyến nghị cho file lớn (theo docs mới nhất 2026).
📘 Nguồn tham khảo:
- Azure AI Video Indexer - Upload and analyze videos
- Video Indexer supported sources (cập nhật 2025-2026, hỗ trợ OneDrive integration).
📋 Phân tích tất cả các phương án
-
Upload File1.avi to an Azure Storage queue. ❌
Sai hoàn toàn! Azure Storage Queue chỉ dùng để lưu trữ tin nhắn (messages) kích thước nhỏ (tối đa 64 KB/tin nhắn), không phải lưu file video lớn như 20 GB. Video Indexer không hỗ trợ import từ Queue, và Queue không dùng để lưu trữ blob dữ liệu. Sử dụng sai dịch vụ cơ bản. -
Upload File1.avi to the Azure Video Indexer website. ❌
Sai vì kích thước quá lớn! Website cho phép upload trực tiếp từ local, nhưng giới hạn ~2 GB (preview) hoặc tối đa 10 GB (enterprise account, theo docs 2026). File 20 GB sẽ fail do browser/network timeout. Phù hợp file nhỏ, không phải trường hợp này. -
Upload File1.avi to Microsoft OneDrive. ✅
Đúng! Như giải thích trên, OneDrive xử lý file lớn dễ dàng (≤250 GB), sau đó import seamless vào Video Indexer website qua nút "Import from OneDrive". Bước đầu tiên chuẩn bị nguồn đám mây ổn định. -
Upload File1.avi to the www.youtube.com webpage. ❌
Sai vì không liên quan và không hiệu quả! YouTube hỗ trợ upload video (AVI có thể convert), nhưng đây là dịch vụ Google, không tích hợp trực tiếp với Azure Video Indexer (chỉ import public URL sau khi public). File private/local không phù hợp, và quy trình dài dòng, không phải bước đầu tiên cho Azure ecosystem.
You develop an app in C# named App1.
You need to configure App1 to use Model1.
Which package should you add to App1?
- A Universal.Microsoft.CognitiveServices.Speech
- B SpeechServicesToolkit
- C Azure.AI.Language.Conversations
- D Xamarin.Cognitive.Speech
Xem giải thích
🧠 Phân tích câu hỏi trắc nghiệm bởi Microsoft Azure AI Engineer
Chào bạn! Tôi là một Microsoft Azure AI Engineer với kinh nghiệm sâu rộng về các dịch vụ Azure Cognitive Services (nay là Azure AI Services). Dù câu hỏi đề cập đến chủ đề Azure (không phải AWS như mô tả ban đầu), tôi sẽ phân tích chi tiết dựa trên kiến thức cập nhật mới nhất đến năm 2026, sử dụng phiên bản Azure AI Language SDK v1.0+ (bao gồm Conversational Language Understanding - CLU). Hãy cùng phân tích nhé! 🚀
📖 1. Giải thích nội dung câu hỏi một cách chi tiết và rõ ràng
Câu hỏi mô tả tình huống:
- Bạn có một mô hình Azure Cognitive Services tên Model1 chuyên xác định intent (ý định) từ đầu vào văn bản (text input). Đây là chức năng cốt lõi của Azure AI Language service, cụ thể là Conversational Language Understanding (CLU) – một phần của Azure AI Language, dùng để phân tích ngôn ngữ tự nhiên (NLU) cho chatbot hoặc ứng dụng hội thoại.
- Bạn đang phát triển ứng dụng C# tên App1.
- Nhiệm vụ: Cấu hình App1 để sử dụng Model1, nghĩa là cần thêm NuGet package phù hợp để tích hợp SDK, gọi API dự đoán intent từ mô hình đã train.
🛠️ Yêu cầu chính: Package phải hỗ trợ text-based intent recognition trong C#, không phải speech hay các nền tảng khác. Theo docs Azure mới nhất (2024-2026), SDK đã được refactor thành Azure.AI. namespaces* để thống nhất và hỗ trợ .NET 6+.
✅ 2. Đáp án đúng và lý do lựa chọn
Đáp án đúng: Azure.AI.Language.Conversations
Lý do chi tiết:
- Package này là SDK chính thức của Microsoft cho Conversational Language Understanding (CLU) trong Azure AI Language. Nó cho phép ứng dụng C# dễ dàng tích hợp mô hình intent recognition từ text input bằng cách sử dụng
ConversationAnalysisClient. - Quy trình: Install package → Authenticate với Azure Key/Endpoint → Gọi
AnalyzeConversation()để dự đoán intent từ Model1. - Đây là package cập nhật nhất (v1.0.0+ năm 2023-2026), thay thế các SDK Cognitive Services cũ (như Bot Framework NLU), hỗ trợ .NET Core/Standard, và tối ưu cho app console/web/desktop.
✅ Hoàn hảo cho scenario: Xử lý text intent mà không cần speech hay Xamarin!
🧩 3. Giải thích tất cả các phương án (đúng và sai)
Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc tiếng Anh. Tôi đánh dấu ✅ (đúng) hoặc ❌ (sai), kèm giải thích bằng tiếng Việt rõ ràng dựa trên docs Azure mới nhất:
-
Azure.AI.Language.Conversations
✅ ĐÚNG – Như đã giải thích ở trên, đây là package chuẩn cho CLU intent recognition từ text. Nó cung cấp API trực tiếp để load custom model (như Model1) và analyze conversation. Không có package nào thay thế tốt hơn trong .NET ecosystem năm 2026. -
Universal.Microsoft.CognitiveServices.Speech
❌ SAI – Package này thuộc Speech SDK cũ (Universal Windows Platform - UWP), tập trung vào speech-to-text và text-to-speech, không hỗ trợ intent recognition từ text thuần. Dù có namespace CognitiveServices, nó không liên quan đến Language service và đã deprecated từ 2021, thay bằng Azure.AI.Speech. -
SpeechServicesToolkit
❌ SAI – Không tồn tại package chính thức nào tên này trong NuGet hoặc Azure SDK. Có thể nhầm với các toolkit nội bộ hoặc third-party cũ liên quan đến Speech Services, nhưng hoàn toàn không phù hợp cho text intent. Sử dụng sẽ lỗi compile hoặc không gọi được Model1. -
Xamarin.Cognitive.Speech
❌ SAI – Đây là package dành cho Xamarin (mobile cross-platform), chỉ hỗ trợ Speech SDK (như speech recognition), không phải Language intent từ text. Nó dành cho app di động UWP/iOS/Android, không phù hợp với App1 C# thông thường (console/web). Đã lỗi thời so với Azure.AI.* mới.
📘 4. Tài liệu tham khảo (cập nhật 2026)
- Quickstart chính thức: Azure.AI.Language.Conversations - Analyze conversations (Microsoft Docs, 2024+).
- NuGet Gallery: Azure.AI.Language.Conversations – Phiên bản 1.0.1 (hỗ trợ .NET 8).
- Azure AI Language Overview: Conversational Language Understanding – Hướng dẫn train/deploy Model1.
- Migration Guide: Từ Cognitive Services cũ sang Azure AI SDK tại đây.
Nếu bạn cần code sample C# hoặc train model thực tế, hãy hỏi thêm nhé! 💻✨
You have an app named App1 that uses AIdoc1. App1 analyzes business cards by calling business card model v2.1.
You need to update App1 to ensure that the app can interpret QR codes. The solution must minimize administrative effort.
What should you do first?
- A Upgrade the business card model to v3.0.
- B Implement the read model.
- C Deploy a custom model.
- D Implement the contract model.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào Azure AI Document Intelligence (trước đây gọi là Form Recognizer), một dịch vụ trong Azure AI dùng để trích xuất thông tin từ tài liệu. Cụ thể:
- Bạn có một Azure subscription chứa resource AIdoc1 (Azure AI Document Intelligence).
- Ứng dụng App1 đang sử dụng business card model v2.1 (mô hình prebuilt dành riêng cho phân tích danh thiếp, trích xuất thông tin như tên, email, số điện thoại, địa chỉ từ business card).
- Yêu cầu: Cập nhật App1 để có thể interpret QR codes (nhận diện và giải mã mã QR) trên business card, đồng thời minimize administrative effort (giảm thiểu nỗ lực quản trị, tránh các bước phức tạp như training model mới).
- Hành động đầu tiên cần làm: Chọn giải pháp đơn giản nhất, tận dụng các mô hình có sẵn mà không cần tùy chỉnh sâu.
Mục tiêu là chuyển từ mô hình chuyên biệt (business card v2.1) sang mô hình hỗ trợ QR codes mà không tốn công sức (không deploy custom model hay upgrade không cần thiết). Dựa trên tài liệu Azure mới nhất (phiên bản Document Intelligence API v4.0 năm 2024-2025, hỗ trợ đến 2026), Read model (hay còn gọi là OCR Read model) là lựa chọn tối ưu vì nó hỗ trợ nhận diện văn bản in/giấy tay và barcodes/QR codes một cách native.
📘 Tài liệu tham khảo:
- Azure AI Document Intelligence - Prebuilt models (cập nhật 2025).
- What's new in Document Intelligence (hỗ trợ QR codes từ Layout/Read model v3.1+).
✅ Đáp án đúng: Implement the read model
Lý do lựa chọn:
- Read model là mô hình prebuilt (sẵn có) chuyên về OCR (Optical Character Recognition), hỗ trợ trích xuất văn bản, chữ viết tay và đặc biệt là QR codes/barcodes mà không cần training hay tùy chỉnh.
- Việc implement chỉ cần thay đổi API call trong App1 (gọi endpoint
/documentModels/prebuilt-read:analyze), giảm thiểu effort admin (không deploy, không upgrade resource). - Business card v2.1 không hỗ trợ QR, nên chuyển sang Read model là bước đầu tiên đơn giản nhất, phù hợp với yêu cầu "first" và "minimize effort".
- Theo docs 2025, Read model v4.0 mở rộng hỗ trợ QR decoding tự động trên mọi loại tài liệu, bao gồm business cards.
❌ Giải thích tất cả các phương án
-
Upgrade the business card model to v3.0 ❌
Sai vì: Business card model v3.0 (prebuilt-businessCard) vẫn chỉ tập trung vào các trường chuẩn như name, phone, email, company – không hỗ trợ QR codes/barcodes. Upgrade không giải quyết vấn đề, chỉ tốn effort cập nhật API version mà không mang lợi ích. (Docs: Không liệt kê QR trong businessCard model). -
Implement the read model ✅
Đúng vì: Như đã giải thích ở trên. Đây là mô hình OCR prebuilt lý tưởng cho QR codes, dễ integrate vào App1 chỉ bằng code thay đổi, zero admin effort ngoài dev work. -
Deploy a custom model ❌
Sai vì: Deploy custom model yêu cầu training dữ liệu (upload business cards có QR, label thủ công), tốn thời gian và effort cao (admin phải quản lý project, retrain). Không minimize effort, chỉ dùng khi prebuilt không đủ. -
Implement the contract model ❌
Sai vì: Contract model (prebuilt-contract) dành cho hợp đồng pháp lý, trích xuất clauses, amounts, parties – hoàn toàn không liên quan đến QR codes hay business cards. Sử dụng sẽ không interpret được QR và lãng phí.
🛠️ Khuyến nghị thực hiện: Trong code App1 (ví dụ C#/.NET), thay businessCard model ID bằng prebuilt-read, gọi AnalyzeDocumentAsync với latest API version. Test trên Document Intelligence Studio để verify QR extraction! 🚀
You export the model as a JSON file. The following is a sample of the file.
{
"text": "average amount of rain by month in Chicago last year",
"intent": "Weather.CheckWeatherValue",
"entities": [
{
"entity": "Weather.WeatherRange",
"startPos": 0,
"endPos": 6,
"children": []
},
{
"entity": "Weather.WeatherCondition",
"startPos": 18,
"endPos": 21,
"children": []
},
{
"entity": "Weather.Historic",
"startPos": 23,
"endPos": 30,
"children": []
}
]
}
What represents the Weather.Historic entity in the sample utterance?
- A last year
- B by month
- C amount of
- D average
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc lĩnh vực Azure AI Language Service, cụ thể là Conversational Language Understanding (CLU) – một mô hình nhận diện ý định (intent) và thực thể (entities) trong ngôn ngữ tự nhiên. Đây là phiên bản nâng cấp của LUIS, được Microsoft cập nhật liên tục đến năm 2026 với hỗ trợ xuất mô hình dưới dạng file JSON để phân tích dự đoán (prediction).
Nội dung câu hỏi:
Bạn có một mô hình CLU đã được huấn luyện. Khi xuất mô hình dưới dạng file JSON, một mẫu utterance (câu nói mẫu) là: "average amount of rain by month in Chicago last year".
JSON hiển thị các entities được nhận diện với thông tin vị trí:
startPos: Vị trí bắt đầu (inclusive, 0-based index).endPos: Vị trí kết thúc (inclusive).
Cụ thể, entity Weather.Historic có startPos: 23 và endPos: 30.
Câu hỏi yêu cầu: Xác định phần text nào trong utterance đại diện cho entity Weather.Historic này?
(Lưu ý: Đây không phải AWS mà là Azure AI, phiên bản CLU mới nhất 2024-2026 hỗ trợ export JSON chi tiết cho debugging và tích hợp. 🛠️)
✅ Đáp án đúng: "by month"
Lý do lựa chọn:
Entity Weather.Historic có vị trí startPos: 23 đến endPos: 30 (inclusive), tương ứng chính xác với chuỗi "by month" trong utterance.
- Đếm vị trí chi tiết (0-based):
- 0-6: "average"
- 7: space
- 8-13: "amount"
- 14: space
- 15-16: "of"
- 17: space
- 18-21: "rain"
- 22: space
- 23-30: "b y [space] m o n t h" → "by month" (8 ký tự).
Entity này có lẽ đại diện cho khía cạnh "lịch sử theo tháng" trong ngữ cảnh thời tiết. Đây là định dạng chuẩn của CLU export (cập nhật 2026). 📘
📝 Giải thích tất cả các phương án (đúng và sai)
-
✅ [ĐÚNG] by month
🟢 Đúng vì khớp chính xác vị trí 23-30 trong utterance. Đây là phần text được mô hình CLU gán cho entity Weather.Historic, thường dùng để chỉ dữ liệu lịch sử theo khoảng thời gian (như "by month" nghĩa là theo tháng). Hoàn hảo cho phân tích dự đoán! -
❌ [SAI] last year
🔴 Sai vì "last year" nằm ở vị trí cuối utterance (khoảng 44-51), không khớp với 23-30. Phần này có thể thuộc entity khác như thời gian cụ thể, nhưng không phải Weather.Historic. -
❌ [SAI] amount of
🔴 Sai vì "amount of" nằm ở vị trí khoảng 8-16 (sau "average"), không liên quan đến 23-30. Đây có thể là entity đo lường (quantity), không phải lịch sử thời tiết. -
❌ [SAI] average
🔴 Sai vì "average" chính xác ở vị trí 0-6, khớp với entity Weather.WeatherRange trong JSON. Không phải Weather.Historic.
📚 Tài liệu tham khảo
- Azure AI Language - Conversational Language Understanding: Export predictions (Cập nhật 2024-2026).
- CLU JSON schema và entity positions – Xác nhận định dạng startPos/endPos.
(Nguồn chính thức từ Microsoft Docs, kiểm tra phiên bản mới nhất! 🚀)
You need to configure the chatbot to present a list of available options. The solution must ensure that an image is provided for each option.
Which two features should you use? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A an entity
- B an Azure function
- C an utterance
- D an adaptive card
- E a dialog
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm
Câu hỏi này thuộc chủ đề Microsoft Bot Framework Composer (một công cụ low-code để xây dựng chatbot trên nền tảng Microsoft Bot Framework). Nội dung câu hỏi yêu cầu cấu hình chatbot để hiển thị một danh sách các lựa chọn (list of available options), đồng thời mỗi lựa chọn phải kèm theo một hình ảnh (image). Đây là bài toán về giao diện người dùng (UI) phong phú trong chatbot, nơi cần kết hợp hai tính năng chính để đạt được yêu cầu.
📌 Yêu cầu cụ thể: Chọn hai features (mỗi đáp án đúng chiếm 1 điểm). Giải pháp phải đảm bảo tính tương tác, hiển thị hình ảnh rõ ràng trên các kênh chat phổ biến như Teams, Web Chat, hoặc Slack.
✅ Đáp án đúng: an adaptive card và a dialog.
Lý do lựa chọn:
- Adaptive Card là thành phần UI mạnh mẽ, hỗ trợ hiển thị danh sách lựa chọn dưới dạng card collection với hình ảnh (image) cho từng item, buttons, và layout responsive. Nó cho phép tùy chỉnh JSON schema để embed image URL trực tiếp vào từng option.
- A dialog là cấu trúc hội thoại cơ bản trong Composer, dùng để quản lý luồng trình bày danh sách options (ví dụ: AdaptiveCard dialog hoặc Choice dialog kết hợp card). Kết hợp hai cái này tạo ra giải pháp hoàn chỉnh: dialog điều khiển luồng, adaptive card render UI với image.
Đây là cách tiếp cận chuẩn theo tài liệu Microsoft Bot Framework Composer phiên bản mới nhất (tính đến 2026, vẫn dựa trên Adaptive Cards v2.x với hỗ trợ AI-enhanced cards).
🛠️ Giải thích chi tiết từng phương án trả lời
-
an entity ❌ SAI
Entity dùng để trích xuất và nhận diện thông tin cụ thể từ input của user (như tên, ngày tháng, hoặc custom entities qua LUIS/Recognizer). Nó không liên quan đến việc hiển thị UI danh sách options với image, mà chỉ xử lý dữ liệu đầu vào. Sử dụng entity ở đây sẽ không giải quyết yêu cầu render hình ảnh. -
an Azure function ❌ SAI
Azure Function là dịch vụ serverless để chạy code tùy chỉnh (như xử lý logic phức tạp, gọi API bên ngoài). Nó có thể hỗ trợ backend cho chatbot nhưng không trực tiếp render danh sách options với image trên frontend UI. Không phù hợp cho yêu cầu hiển thị giao diện. -
an utterance ❌ SAI
Utterance là câu nói hoặc input mẫu từ user (dùng để train model nhận diện ý định - intent). Nó chỉ định nghĩa trigger cho dialog, không dùng để output danh sách options với image. Utterance tập trung vào input parsing, không phải output rendering. -
an adaptive card ✅ ĐÚNG
Adaptive Card là thành phần UI đa kênh (cross-platform) hỗ trợ ColumnSet, FactSet, hoặc ActionSet để hiển thị list options với image embedding (qua schemaimgelement). Ví dụ: Sử dụngAdaptiveCards.Attachmentvới array của cards, mỗi card có image và button. Đây là lựa chọn cốt lõi cho yêu cầu hình ảnh phong phú, tương thích Bot Framework Composer v2.x+. -
a dialog ✅ ĐÚNG
Dialog là khối xây dựng luồng hội thoại trong Composer (như Adaptive Dialog hoặc Hero Card Dialog). Nó cho phép present list options qua activities nhưSendAdaptiveCardhoặcChoice, kết hợp image từ adaptive card. Không có dialog, không thể quản lý trạng thái và luồng hiển thị danh sách.
📘 Tài liệu tham khảo
- Microsoft Docs: Adaptive Cards in Bot Framework (cập nhật 2025, hỗ trợ images trong Adaptive Card v2.1).
- Bot Framework Composer: Dialogs & Adaptive Cards (hướng dẫn tích hợp list options với images).
- Samples: Hero Card with Images (ví dụ code thực tế).
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần ví dụ code JSON Adaptive Card, hãy hỏi thêm nhé!
You need to configure the app to perform the following actions when a user uploads an image:
•Categorize the image as either a photograph or a drawing.
•Generate a caption for the image.
The solution must minimize development effort.
Which two services should you include in the solution? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A object detection in Azure AI Computer Vision
- B content tags in Azure AI Computer Vision
- C image descriptions in Azure AI Computer Vision
- D image type detection in Azure AI Computer Vision
- E image classification in Azure AI Custom Vision
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi này tập trung vào việc xây dựng một ứng dụng chia sẻ hình ảnh người dùng trên nền tảng Microsoft Azure AI. Khi người dùng upload hình ảnh, ứng dụng cần thực hiện hai nhiệm vụ chính:
- Phân loại hình ảnh (categorize) thành photograph (ảnh chụp) hoặc drawing (bản vẽ/hình vẽ).
- Tạo chú thích (caption) cho hình ảnh.
Yêu cầu quan trọng là giảm thiểu nỗ lực phát triển (minimize development effort), nghĩa là ưu tiên sử dụng các dịch vụ pre-built (sẵn có, không cần huấn luyện mô hình tùy chỉnh). Đây là câu hỏi trắc nghiệm chọn nhiều đáp án đúng (mỗi đáp án đúng trị giá 1 điểm), và cần chọn hai dịch vụ từ Azure AI Vision (trước đây gọi là Azure AI Computer Vision) để giải quyết.
📘 Dẫn nguồn: Tài liệu chính thức từ Microsoft Learn (cập nhật đến 2024-2026): Azure AI Vision - Analyze Image Features và Image Analysis 4.0 API.
✅ Đáp án đúng và lý do lựa chọn
Hai dịch vụ đúng cần bao gồm là:
- image descriptions in Azure AI Computer Vision 🖼️: Tạo chú thích tự động cho hình ảnh (ví dụ: "Một chú chó đang chơi trong công viên"), giúp generate caption mà không cần code phức tạp.
- image type detection in Azure AI Computer Vision 🔍: Phân loại loại hình ảnh (photo, drawing, illustration, clipart), khớp chính xác với yêu cầu categorize photograph hoặc drawing.
Lý do chọn: Cả hai đều là features pre-built trong Azure AI Vision API (phiên bản 4.0 mới nhất), chỉ cần gọi API đơn giản qua HTTP/REST hoặc SDK (C#, Python, JS), không cần huấn luyện dữ liệu → giảm thiểu nỗ lực phát triển tối đa. Kết hợp chúng trong một API call duy nhất (Analyze Image) để xử lý cả hai nhiệm vụ.
🛠️ Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh dấu ✅ (đúng) hoặc ❌ (sai), kèm giải thích rõ ràng:
-
❌ object detection in Azure AI Computer Vision
Phương án này sai vì object detection chỉ phát hiện và vẽ bounding box cho các đối tượng cụ thể (như người, xe hơi) trong hình ảnh, không liên quan đến phân loại loại hình (photo/drawing) hay tạo caption. Nó hữu ích cho nhận diện vật thể nhưng không giải quyết yêu cầu chính, và vẫn cần effort để xử lý output. -
❌ content tags in Azure AI Computer Vision
Phương án này sai vì content tags chỉ tạo danh sách nhãn mô tả nội dung (như "cây cối", "bầu trời"), không tạo caption đầy đủ câu hay phân loại loại hình ảnh. Tags là tính năng phụ, không trực tiếp khớp với hai nhiệm vụ, dẫn đến effort cao hơn nếu phải tự generate caption từ tags. -
✅ image descriptions in Azure AI Computer Vision
Phương án này đúng vì tính năng này sử dụng AI để tạo caption mô tả chi tiết cho hình ảnh (ví dụ: "a black cat sitting on a windowsill"), trực tiếp đáp ứng yêu cầu "generate a caption". Là pre-built, chỉ cần parameterCaption=truetrong API call → effort thấp. -
✅ image type detection in Azure AI Computer Vision
Phương án này đúng vì nó phân loại loại hình ảnh chính xác (ImageType: "Photo", "Drawing", "Illustration", "CG"), khớp hoàn hảo với "categorize as photograph or drawing". Pre-built trong API 4.0, không cần custom model → tối ưu effort. -
❌ image classification in Azure AI Custom Vision
Phương án này sai vì Azure AI Custom Vision yêu cầu huấn luyện mô hình tùy chỉnh (upload dữ liệu photo/drawing, train model), dẫn đến effort phát triển cao (thời gian train, deploy, iterate). Không phải pre-built, trái với yêu cầu minimize effort; phù hợp hơn cho classification tùy chỉnh phức tạp.
📚 Kết luận và khuyến nghị triển khai
Giải pháp tối ưu: Sử dụng Azure AI Vision Analyze API với parameters { "features": ["Caption", "ImageType"] } trong một endpoint duy nhất. Code mẫu (Python SDK):
from azure.ai.vision.imageanalysis import ImageAnalysisClient
# Gọi client.analyze() → nhận caption và image_type.
Điều này đảm bảo latency thấp, cost hiệu quả (pay-per-use), và scalable. Kiểm tra quota/limits tại Azure Portal. Nếu cần tùy chỉnh sâu hơn sau này, migrate sang Custom Vision.
📘 Tài liệu bổ sung: Quickstart: Analyze Image (cập nhật 2026).
You need to configure the bot to guide users through a product setup process.
Which type of dialog should you use?
- A component
- B action
- C waterfall
- D adaptive
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm
📖 Nội dung câu hỏi:
Câu hỏi này xoay quanh việc xây dựng một chatbot (bot trò chuyện) và cần cấu hình bot để hướng dẫn người dùng qua quy trình thiết lập sản phẩm (product setup process). Đây là một tình huống điển hình trong phát triển bot, nơi cần một loại dialog (hội thoại) có khả năng dẫn dắt người dùng theo thứ tự các bước liên tiếp, như thu thập thông tin, xác nhận, và hoàn tất thiết lập.
Câu hỏi tập trung vào việc chọn loại dialog phù hợp trong Microsoft Bot Framework (thường được sử dụng với Azure Bot Service), vì các khái niệm như "waterfall", "adaptive", "component" là các loại dialog chuẩn trong framework này. Mặc dù người dùng đề cập chủ đề liên quan đến AWS, nhưng nội dung câu hỏi khớp chính xác với Bot Framework của Microsoft (không phải Amazon Lex của AWS, vốn dùng intents/slots). Quy trình setup sản phẩm đòi hỏi luồng tuyến tính, từng bước một – đây là thế mạnh của một số loại dialog cụ thể.
(Lưu ý: Kiến thức dựa trên phiên bản Bot Framework SDK v4.x và Bot Framework Composer mới nhất đến 2026, nơi Waterfall vẫn là lựa chọn chuẩn cho các luồng sequential đơn giản).
✅ Đáp án đúng: waterfall
Lý do lựa chọn:
Loại dialog waterfall được thiết kế đặc biệt để hướng dẫn người dùng qua một chuỗi các bước tuần tự (sequential steps), giống như một "thác nước" chảy từ bước này sang bước khác. Trong quy trình thiết lập sản phẩm, bot cần thu thập dữ liệu từng bước (ví dụ: chọn sản phẩm → nhập thông tin → xác nhận → hoàn tất), và waterfall xử lý hoàn hảo điều này bằng cách sử dụng các bước (steps) với logic điều hướng rõ ràng. Đây là lựa chọn tối ưu, hiệu quả và dễ triển khai trong Bot Framework.
(Nguồn tham khảo: Microsoft Docs - Waterfall dialogs – cập nhật 2025).
🛠️ Giải thích tất cả các phương án (đúng/sai):
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Tôi sử dụng ✅ cho đúng và ❌ cho sai, kèm giải thích rõ ràng bằng tiếng Việt:
-
❌ component
Phương án này sai vì component (hay Component Dialog) là loại dialog dùng để tái sử dụng và đóng gói các dialog con như một module độc lập (ví dụ: một component xử lý xác thực người dùng). Nó không chuyên về việc dẫn dắt qua quy trình tuyến tính mà chỉ là "xương sống" để compose các dialog khác. Không phù hợp cho product setup process vì thiếu cơ chế steps sequential rõ ràng. -
❌ action
Phương án này sai vì action không phải là một loại dialog độc lập trong Bot Framework. Nó thường đề cập đến TriggerAction hoặc các hành động trong Adaptive Dialog (như gửi message hoặc gọi API), chứ không phải dialog chính để guide users. Sử dụng action đơn lẻ sẽ không tạo được luồng đầy đủ cho quy trình setup phức tạp. -
✅ waterfall
Phương án này đúng như đã giải thích ở trên. Waterfall lý tưởng cho các nhiệm vụ cần các bước liên tiếp, có điều kiện nhảy bước (prompt/validate), giúp bot dễ dàng hướng dẫn người dùng qua product setup mà không bị rối loạn. -
❌ adaptive
Phương án này sai vì adaptive (Adaptive Dialog) là loại dialog linh hoạt, dựa trên ngôn ngữ tự nhiên và Adaptive Cards, phù hợp cho các cuộc trò chuyện phức tạp, multi-turn với AI-driven (sử dụng Language Generation và entities). Tuy nhiên, nó quá phức tạp và không tuyến tính cho một quy trình setup đơn giản, dễ dẫn đến overhead không cần thiết so với waterfall.
📘 Tài liệu tham khảo bổ sung:
- Bot Framework SDK - Dialog types overview (cập nhật 2026).
- Ví dụ Waterfall cho onboarding/setup.
- So sánh Waterfall vs Adaptive: Waterfall cho structured flows, Adaptive cho conversational AI (từ Bot Framework 4.7+).
Hy vọng phân tích này giúp bạn nắm vững kiến thức! 🚀 Nếu cần code mẫu, hãy hỏi thêm nhé!