AI-102 : Designing and Implementing a Microsoft Azure AI Solution : Part 02
-
You are building a language model by using a Language Understanding service.
You create a new Language Understanding resource.
You need to add more contributors.
What should you use?
- a conditional access policy in Azure Active Directory (Azure AD)
- the Access control (IAM) page for the authoring resources in the Azure portal
- the Access control (IAM) page for the prediction resources in the Azure portal
-
Case study
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.Overview
A company named Wide World Importers is developing an e-commerce platform.
You are working with a solutions architect to design and implement the features of the e-commerce platform. The platform will use microservices and a serverless environment built on Azure.
Wide World Importers has a customer base that includes English, Spanish, and Portuguese speakers.
Existing Environment
Applications
Wide World Importers has an App Service plan that contains the web apps shown in the following table.
Azure Resources
You have the following resources:
– An Azure Active Directory (Azure AD) tenant
– The tenant supports internal authentication.
– All employees belong to a group named AllUsers.
– Senior managers belong to a group named LeadershipTeam.
– An Azure Functions resource
– A function app posts to Azure Event Grid when stock levels of a product change between OK, Low Stock, and Out of Stock. The function app uses the Azure Cosmos DB change feed.
– An Azure Cosmos DB account
– The account uses the Core (SQL) API.
– The account stores data for the Product Management app and the Inventory Tracking app.
– An Azure Storage account
– The account contains blob containers for assets related to products.
– The assets include images, videos, and PDFs.
– An Azure Cognitive Services resource named wwics
– A Video Indexer resource named wwiviRequirements
Business Goals
Wide World Importers wants to leverage AI technologies to differentiate itself from its competitors.
Planned Changes
Wide World Importers plans to start the following projects:
– A product creation project: Help employees create accessible and multilingual product entries, while expediting product entry creation.
– A smart e-commerce project: Implement an Azure Cognitive Search solution to display products for customers to browse.
– A shopping on-the-go project: Build a chatbot that can be integrated into smart speakers to support customers.Business Requirements
Wide World Importers identifies the following business requirements for all the projects:
– Provide a multilingual customer experience that supports English, Spanish, and Portuguese.
– Whenever possible, scale based on transaction volumes to ensure consistent performance.
– Minimize costs.Governance and Security Requirements
Wide World Importers identifies the following governance and security requirements:
– Data storage and processing must occur in datacenters located in the United States.
– Azure Cognitive Services must be inaccessible directly from the internet.Accessibility Requirements
Wide World Importers identifies the following accessibility requirements:
– All images must have relevant alt text.
– All videos must have transcripts that are associated to the video and included in product descriptions.
– Product descriptions, transcripts, and alt text must be available in English, Spanish, and Portuguese.Product Creation Requirements
Wide World Importers identifies the following requirements for improving the Product Management app:
– Minimize how long it takes for employees to create products and add assets.
– Remove the need for manual translations.Smart E-Commerce Requirements
Wide World Importers identifies the following requirements for the smart e-commerce project:
– Ensure that the Cognitive Search solution meets a Service Level Agreement (SLA) of 99.9% availability for searches and index writes.
– Provide users with the ability to search insight gained from the images, manuals, and videos associated with the products.
– Support autocompletion and autosuggestion based on all product name variants.
– Store all raw insight data that was generated, so the data can be processed later.
– Update the stock level field in the product index immediately upon changes.
– Update the product index hourly.Shopping On-the-Go Requirements
Wide World Importers identifies the following requirements for the shopping on-the-go chatbot:
– Answer common questions.
– Support interactions in English, Spanish, and Portuguese.
– Replace an existing FAQ process so that all Q&A is managed from a central location.
– Provide all employees with the ability to edit Q&As. Only senior managers must be able to publish updates.
– Support purchases by providing information about relevant products to customers. Product displays must include images and warnings when stock levels are low or out of stock.Product JSON Sample
You have the following JSON sample for a product.
-
DRAG DROP
You are developing the smart e-commerce project.
You need to design the skillset to include the contents of PDFs in searches.
How should you complete the skillset design diagram? To answer, drag the appropriate services to the correct stages. Each service may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: Azure Blob storage
At the start of the pipeline, you have unstructured text or non-text content (such as images, scanned documents, or JPEG files). Data must exist in an Azure data storage service that can be accessed by an indexer.Box 2: Computer Vision API
Scenario: Provide users with the ability to search insight gained from the images, manuals, and videos associated with the products.The Computer Vision Read API is Azure’s latest OCR technology (learn what’s new) that extracts printed text (in several languages), handwritten text (English only), digits, and currency symbols from images and multi-page PDF documents.
Box 3: Translator API
Scenario: Product descriptions, transcripts, and alt text must be available in English, Spanish, and Portuguese.Box 4: Azure Files
Scenario: Store all raw insight data that was generated, so the data can be processed later.Incorrect Answers:
The custom vision API from Microsoft Azure learns to recognize specific content in imagery and becomes smarter with training and time.
-
-
You have a Video Indexer service that is used to provide a search interface over company videos on your company’s website.
You need to be able to search for videos based on who is present in the video.
What should you do?
- Create a person model and associate the model to the videos.
- Create person objects and provide face images for each object.
- Invite the entire staff of the company to Video Indexer.
- Edit the faces in the videos.
- Upload names to a language model.
Explanation:
Video Indexer supports multiple Person models per account. Once a model is created, you can use it by providing the model ID of a specific Person model when uploading/indexing or reindexing a video. Training a new face for a video updates the specific custom model that the video was associated with.Note: Video Indexer supports face detection and celebrity recognition for video content. The celebrity recognition feature covers about one million faces based on commonly requested data source such as IMDB, Wikipedia, and top LinkedIn influencers. Faces that aren’t recognized by the celebrity recognition feature are detected but left unnamed. Once you label a face with a name, the face and name get added to your account’s Person model. Video Indexer will then recognize this face in your future videos and past videos.
-
You use the Custom Vision service to build a classifier.
After training is complete, you need to evaluate the classifier.
Which two metrics are available for review? Each correct answer presents a complete solution. (Choose two.)
NOTE: Each correct selection is worth one point.
- recall
- F-score
- weighted accuracy
- precision
- area under the curve (AUC)
Explanation:Custom Vision provides three metrics regarding the performance of your model: precision, recall, and AP.
-
DRAG DROP
You are developing a call to the Face API. The call must find similar faces from an existing list named employeefaces. The employeefaces list contains 60,000 images.
How should you complete the body of the HTTP request? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: LargeFaceListID
LargeFaceList: Add a face to a specified large face list, up to 1,000,000 faces.Note: Given query face’s faceId, to search the similar-looking faces from a faceId array, a face list or a large face list. A “faceListId” is created by FaceList – Create containing persistedFaceIds that will not expire. And a “largeFaceListId” is created by LargeFaceList – Create containing persistedFaceIds that will also not expire.
Incorrect Answers:
Not “faceListId”: Add a face to a specified face list, up to 1,000 faces.Box 2: matchFace
Find similar has two working modes, “matchPerson” and “matchFace”. “matchPerson” is the default mode that it tries to find faces of the same person as possible by using internal same-person thresholds. It is useful to find a known person’s other photos. Note that an empty list will be returned if no faces pass the internal thresholds. “matchFace” mode ignores same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It can be used in the cases like searching celebrity-looking faces. -
DRAG DROP
You are developing a photo application that will find photos of a person based on a sample image by using the Face API.
You need to create a POST request to find the photos.
How should you complete the request? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: detect
Face – Detect With Url: Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.POST {Endpoint}/face/v1.0/detect
Box 2: matchPerson
Find similar has two working modes, “matchPerson” and “matchFace”. “matchPerson” is the default mode that it tries to find faces of the same person as possible by using internal same-person thresholds. It is useful to find a known person’s other photos. Note that an empty list will be returned if no faces pass the internal thresholds. “matchFace” mode ignores same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It can be used in the cases like searching celebrity-looking faces. -
HOTSPOT
You develop a test method to verify the results retrieved from a call to the Computer Vision API. The call is used to analyze the existence of company logos in images. The call returns a collection of brands named brands.
You have the following code segment.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: Yes
Box 2: Yes
Coordinates of a rectangle in the API refer to the top left corner.Box 3: No
-
HOTSPOT
You develop an application that uses the Face API.
You need to add multiple images to a person group.
How should you complete the code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: Stream
The File.OpenRead(String) method opens an existing file for reading.Example: Open the stream and read it back.
using (FileStream fs = File.OpenRead(path))Box 2: CreateAsync
Create the persons for the PersonGroup. Persons are created concurrently.
Example:await faceClient. Person Group Person. Create Async(person GroupId, personName);
-
HOTSPOT
You are developing an application that will use the Computer Vision client library. The application has the following code.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: No
Box 2: Yes
The ComputerVision. analyzeImageInStreamAsync operation extracts a rich set of visual features based on the image content.Box 3: No
Images will be read from a stream. -
You are developing a method that uses the Computer Vision client library. The method will perform optical character recognition (OCR) in images. The method has the following code.
During testing, you discover that the call to the GetReadResultAsync method occurs before the read operation is complete.
You need to prevent the GetReadResultAsync method from proceeding until the read operation is complete.
Which two actions should you perform? Each correct answer presents part of the solution. (Choose two.)
NOTE: Each correct selection is worth one point.
- Remove the Guid.Parse(operationId) parameter.
- Add code to verify the results.Status value.\
- Add code to verify the status of the txtHeaders.Status value.
- Wrap the call to GetReadResultAsync within a loop that contains a delay.
Explanation:
Example code :
do
{
results = await client.GetReadResultAsync(Guid.Parse(operationId));
}
while ((results.Status == OperationStatusCodes.Running ||
results.Status == OperationStatusCodes.NotStarted)); -
HOTSPOT
You have a Computer Vision resource named contoso1 that is hosted in the West US Azure region.
You need to use contoso1 to make a different size of a product photo by using the smart cropping feature.
How should you complete the API URL? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
-
DRAG DROP
You are developing a webpage that will use the Video Indexer service to display videos of internal company meetings.
You embed the Player widget and the Cognitive Insights widget into the page.
You need to configure the widgets to meet the following requirements:
– Ensure that users can search for keywords.
– Display the names and faces of people in the video.
– Show captions in the video in English (United States).How should you complete the URL for each widget? To answer, drag the appropriate values to the correct targets. Each value may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
-
DRAG DROP
You train a Custom Vision model to identify a company’s products by using the Retail domain.
You plan to deploy the model as part of an app for Android phones.
You need to prepare the model for deployment.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
-
HOTSPOT
You are developing an application to recognize employees’ faces by using the Face Recognition API. Images of the faces will be accessible from a URI endpoint.
The application has the following code.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
-
DRAG DROP
You have a Custom Vision resource named acvdev in a development environment.
You have a Custom Vision resource named acvprod in a production environment.
In acvdev, you build an object detection model named obj1 in a project named proj1.
You need to move obj1 to acvprod.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
-
Case study
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.Overview
A company named Wide World Importers is developing an e-commerce platform.
You are working with a solutions architect to design and implement the features of the e-commerce platform. The platform will use microservices and a serverless environment built on Azure.
Wide World Importers has a customer base that includes English, Spanish, and Portuguese speakers.
Existing Environment
Applications
Wide World Importers has an App Service plan that contains the web apps shown in the following table.
Azure Resources
You have the following resources:
– An Azure Active Directory (Azure AD) tenant
– The tenant supports internal authentication.
– All employees belong to a group named AllUsers.
– Senior managers belong to a group named LeadershipTeam.
– An Azure Functions resource
– A function app posts to Azure Event Grid when stock levels of a product change between OK, Low Stock, and Out of Stock. The function app uses the Azure Cosmos DB change feed.
– An Azure Cosmos DB account
– The account uses the Core (SQL) API.
– The account stores data for the Product Management app and the Inventory Tracking app.
– An Azure Storage account
– The account contains blob containers for assets related to products.
– The assets include images, videos, and PDFs.
– An Azure Cognitive Services resource named wwics
– A Video Indexer resource named wwiviRequirements
Business Goals
Wide World Importers wants to leverage AI technologies to differentiate itself from its competitors.
Planned Changes
Wide World Importers plans to start the following projects:
– A product creation project: Help employees create accessible and multilingual product entries, while expediting product entry creation.
– A smart e-commerce project: Implement an Azure Cognitive Search solution to display products for customers to browse.
– A shopping on-the-go project: Build a chatbot that can be integrated into smart speakers to support customers.Business Requirements
Wide World Importers identifies the following business requirements for all the projects:
– Provide a multilingual customer experience that supports English, Spanish, and Portuguese.
– Whenever possible, scale based on transaction volumes to ensure consistent performance.
– Minimize costs.Governance and Security Requirements
Wide World Importers identifies the following governance and security requirements:
– Data storage and processing must occur in datacenters located in the United States.
– Azure Cognitive Services must be inaccessible directly from the internet.Accessibility Requirements
Wide World Importers identifies the following accessibility requirements:
– All images must have relevant alt text.
– All videos must have transcripts that are associated to the video and included in product descriptions.
– Product descriptions, transcripts, and alt text must be available in English, Spanish, and Portuguese.Product Creation Requirements
Wide World Importers identifies the following requirements for improving the Product Management app:
– Minimize how long it takes for employees to create products and add assets.
– Remove the need for manual translations.Smart E-Commerce Requirements
Wide World Importers identifies the following requirements for the smart e-commerce project:
– Ensure that the Cognitive Search solution meets a Service Level Agreement (SLA) of 99.9% availability for searches and index writes.
– Provide users with the ability to search insight gained from the images, manuals, and videos associated with the products.
– Support autocompletion and autosuggestion based on all product name variants.
– Store all raw insight data that was generated, so the data can be processed later.
– Update the stock level field in the product index immediately upon changes.
– Update the product index hourly.Shopping On-the-Go Requirements
Wide World Importers identifies the following requirements for the shopping on-the-go chatbot:
– Answer common questions.
– Support interactions in English, Spanish, and Portuguese.
– Replace an existing FAQ process so that all Q&A is managed from a central location.
– Provide all employees with the ability to edit Q&As. Only senior managers must be able to publish updates.
– Support purchases by providing information about relevant products to customers. Product displays must include images and warnings when stock levels are low or out of stock.Product JSON Sample
You have the following JSON sample for a product.
-
DRAG DROP
You are planning the product creation project.
You need to recommend a process for analyzing videos.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order. (Choose four.)
Explanation:
Scenario: All videos must have transcripts that are associated to the video and included in product descriptions.
Product descriptions, transcripts, and alt text must be available in English, Spanish, and Portuguese.Step 1: Upload the video to blob storage
Given a video or audio file, the file is first dropped into a Blob Storage. TStep 2: Index the video by using the Video Indexer API.
When a video is indexed, Video Indexer produces the JSON content that contains details of the specified video insights. The insights include: transcripts, OCRs, faces, topics, blocks, etc.Step 3: Extract the transcript from the Video Indexer API.
Step 4: Translate the transcript by using the Translator API.
-
HOTSPOT
You need to develop code to upload images for the product creation project. The solution must meet the accessibility requirements.
How should you complete the code? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
-
-
You are building a Language Understanding model for an e-commerce platform.
You need to construct an entity to capture billing addresses.
Which entity type should you use for the billing address?
- machine learned
- Regex
- geographyV2
- Pattern.any
- list
Explanation:
A regular expression entity extracts an entity based on a regular expression pattern you provide. It ignores case and ignores cultural variant. Regular expression is best for structured text or a predefined sequence of alphanumeric values that are expected in a certain format. For example:
Incorrect Answers:
C: The prebuilt geographyV2 entity detects places. Because this entity is already trained, you do not need to add example utterances containing GeographyV2 to the application intents. GeographyV2 entity is supported in English culture.The geographical locations have subtypes:
D: Pattern. any is a variable-length placeholder used only in a pattern’s template utterance to mark where the entity begins and ends.
E: A list entity represents a fixed, closed set of related words along with their synonyms. You can use list entities to recognize multiple synonyms or variations and extract a normalized output for them. Use the recommend option to see suggestions for new words based on the current list.
-
You need to upload speech samples to a Speech Studio project.
How should you upload the samples?
- Combine the speech samples into a single audio file in the .wma format and upload the file.
- Upload a .zip file that contains a collection of audio files in the .wav format and a corresponding text transcript file.
- Upload individual audio files in the FLAC format and manually upload a corresponding transcript in Microsoft Word format.
- Upload individual audio files in the .wma format.
Explanation:
To upload your data, navigate to the Speech Studio . From the portal, click Upload data to launch the wizard and create your first dataset. You’ll be asked to select a speech data type for your dataset, before allowing you to upload your data.
The default audio streaming format is WAVUse this table to ensure that your audio files are formatted correctly for use with Custom Speech:
-
You are developing a method for an application that uses the Translator API.
The method will receive the content of a webpage, and then translate the content into Greek (el). The result will also contain a transliteration that uses the Roman alphabet.
You need to create the URI for the call to the Translator API.
You have the following URI.
https://api.cognitive.microsofttranslator.com/translate?api-version=3.0
Which three additional query parameters should you include in the URI? Each correct answer presents part of the solution. (Choose three.)
NOTE: Each correct selection is worth one point.
-
toScript=Cyrl
-
from=el
-
textType=html
-
to=el
-
textType=plain
-
toScript=Latn
Explanation:
C: textType is an optional parameter. It defines whether the text being translated is plain text or HTML text (used for web pages).D: to is a required parameter. It specifies the language of the output text. The target language must be one of the supported languages included in the translation scope.
F: toScript is an optional parameter. It specifies the script of the translated text.
We use Latin (Roman alphabet) script. -
-
You have a chatbot that was built by using the Microsoft Bot Framework.
You need to debug the chatbot endpoint remotely.
Which two tools should you install on a local computer? Each correct answer presents part of the solution. (Choose two.)
NOTE: Each correct selection is worth one point.
- Fiddler
- Bot Framework Composer
- Bot Framework Emulator
- Bot Framework CLI
- ngrok
- nginx
Explanation:
Bot Framework Emulator is a desktop application that allows bot developers to test and debug bots, either locally or remotely.ngrok is a cross-platform application that “allows you to expose a web server running on your local machine to the internet.” Essentially, what we’ll be doing is using ngrok to forward messages from external channels on the web directly to our local machine to allow debugging, as opposed to the standard messaging endpoint configured in the Azure portal.