AI-102 : Designing and Implementing a Microsoft Azure AI Solution : Part 03
-
DRAG DROP
You are building a retail chatbot that will use a QnA Maker service.
You upload an internal support document to train the model. The document contains the following question: “What is your warranty period?”
Users report that the chatbot returns the default QnA Maker answer when they ask the following question: “How long is the warranty coverage?”
The chatbot returns the correct answer when the users ask the following question: ‘What is your warranty period?”
Both questions should return the same answer.
You need to increase the accuracy of the chatbot responses.
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. (Choose three.)
-
You need to measure the public perception of your brand on social media by using natural language processing.
Which Azure Cognitive Services service should you use?
- Text Analytics
- Content Moderator
- Computer Vision
- Form Recognizer
Explanation:
Text Analytics Cognitive Service could be used to quickly determine the public perception for a specific topic, event or brand.Example: A NodeJS app which pulls Tweets from Twitter using the Twitter API based on a specified search term. Then pass these onto Text Analytics for sentiment scoring before storing the data and building a visualisation in PowerBI. The Architecture looked something like this:
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 build a language model by using a Language Understanding service. The language model is used to search for information on a contact list by using an intent named FindContact.
A conversational expert provides you with the following list of phrases to use for training.
– Find contacts in London.
– Who do I know in Seattle?
– Search for contacts in Ukraine.You need to implement the phrase list in Language Understanding.
Solution: You create a new intent for location.
Does this meet the goal?
- Yes
- No
Explanation:
An intent represents a task or action the user wants to perform. It is a purpose or goal expressed in a user’s utterance.Define a set of intents that corresponds to actions users want to take in your application.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 build a language model by using a Language Understanding service. The language model is used to search for information on a contact list by using an intent named FindContact.
A conversational expert provides you with the following list of phrases to use for training.
– Find contacts in London.
– Who do I know in Seattle?
– Search for contacts in Ukraine.You need to implement the phrase list in Language Understanding.
Solution: You create a new entity for the domain.
Does this meet the goal?
- Yes
- No
Explanation:
Instead use a new intent for location.Note: An intent represents a task or action the user wants to perform. It is a purpose or goal expressed in a user’s utterance.
Define a set of intents that corresponds to actions users want to take in your application.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 build a language model by using a Language Understanding service. The language model is used to search for information on a contact list by using an intent named FindContact.
A conversational expert provides you with the following list of phrases to use for training.
– Find contacts in London.
– Who do I know in Seattle?
– Search for contacts in Ukraine.You need to implement the phrase list in Language Understanding.
Solution: You create a new pattern in the Find Contact intent.
Does this meet the goal?
- Yes
- No
Explanation:
Instead use a new intent for location.Note: An intent represents a task or action the user wants to perform. It is a purpose or goal expressed in a user’s utterance.
Define a set of intents that corresponds to actions users want to take in your application.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 develop an application to identify species of flowers by training a Custom Vision model.
You receive images of new flower species.
You need to add the new images to the classifier.
Solution: You add the new images, and then use the Smart Labeler tool.
Does this meet the goal?
- Yes
- No
Explanation:
The model need to be extended and retrained.Note: Smart Labeler to generate suggested tags for images. This lets you label a large number of images more quickly when training a Custom Vision model.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 develop an application to identify species of flowers by training a Custom Vision model.
You receive images of new flower species.
You need to add the new images to the classifier.
Solution: You add the new images and labels to the existing model. You retrain the model, and then publish the model.
Does this meet the goal?
- Yes
- No
Explanation:The model needs to be extended and retrained.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
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 develop an application to identify species of flowers by training a Custom Vision model.
You receive images of new flower species.
You need to add the new images to the classifier.
Solution: You create a new model, and then upload the new images and labels.
Does this meet the goal?
- Yes
- No
Explanation:The model needs to be extended and retrained.
-
HOTSPOT
You are developing a service that records lectures given in English (United Kingdom).
You have a method named AppendToTranscriptFile that takes translated text and a language identifier.
You need to develop code that will provide transcripts of the lectures to attendees in their respective language. The supported languages are English, French, Spanish, and German.
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: {“fr”, “de”, “es”}
A common task of speech translation is to specify target translation languages, at least one is required but multiples are supported. The following code snippet sets both French and German as translation language targets.static async Task TranslateSpeechAsync()
{
var translationConfig =
SpeechTranslationConfig.FromSubscription(SPEECH__SUBSCRIPTION__KEY, SPEECH__SERVICE__REGION);translationConfig.SpeechRecognitionLanguage = “it-IT”;
// Translate to languages. See, https://aka.ms/speech/sttt-languages
translationConfig.AddTargetLanguage(“fr”);
translationConfig.AddTargetLanguage(“de”);
}Box 2: TranslationRecognizer
After you’ve created a SpeechTranslationConfig, the next step is to initialize a TranslationRecognizer.Example code:
static async Task TranslateSpeechAsync()
{
var translationConfig =
SpeechTranslationConfig.FromSubscription(SPEECH__SUBSCRIPTION__KEY, SPEECH__SERVICE__REGION);var fromLanguage = “en-US”;
var toLanguages = new List<string> { “it”, “fr”, “de” };
translationConfig.SpeechRecognitionLanguage = fromLanguage;
toLanguages.ForEach(translationConfig.AddTargetLanguage);using var recognizer = new TranslationRecognizer(translationConfig);
} -
DRAG DROP
You train a Custom Vision model used in a mobile app.
You receive 1,000 new images that do not have any associated data.
You need to use the images to retrain the model. The solution must minimize how long it takes to retrain the model.
Which three actions should you perform in the Custom Vision portal? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
-
You are building a Language Understanding model for an e-commerce chatbot. Users can speak or type their billing address when prompted by the chatbot.
You need to construct an entity to capture billing addresses.
Which entity type should you use?
- machine learned
- Regex
- list
- Pattern.any
-
You are building an Azure Weblob that will create knowledge bases from an array of URLs.
You instantiate a QnAMakerClient object that has the relevant API keys and assign the object to a variable named client.
You need to develop a method to create the knowledge bases.
Which two actions should you include in the method? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- Create a list of FileDTO objects that represents data from the WebJob.
- Call the client.Knowledgebase.CreateAsync method.
- Create a list of QnADTO objects that represents data from the WebJob.
- Create a CreateKbDTO object.
-
HOTSPOT
You are developing an application that includes language translation.
The application will translate text retrieved by using a function named getTextToBeTranslated. The text can be in one of many languages. The content of the text must remain within the Americas Azure geography.
You need to develop code to translate the text to a single language.
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 natural language model.
You need to enable active learning.
What should you do?
- Add show-all-intents=true to the prediction endpoint query.
- Enable speech priming.
- Add log=true to the prediction endpoint query.
- Enable sentiment analysis.
-
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.
-
HOTSPOT
You are planning the product creation project.
You need to build the REST endpoint to create the multilingual product descriptions.
How should you complete the URI? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: api.cognitive.microsofttranslator.com
Translator 3.0: Translate. Send a POST request to:https://api.cognitive.microsofttranslator.com/translate?api-version=3.0
Box 2: /translate
-
-
HOTSPOT
You are developing a text processing solution.
You develop the following method.
You call the method by using the following code.
GetKeyPhrases(textAnalyticsClient, “the cat sat on the mat”);
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
The Key Phrase Extraction API evaluates unstructured text, and for each JSON document, returns a list of key phrases.Box 2: No
‘the’ is not a key phrase.This capability is useful if you need to quickly identify the main points in a collection of documents. For example, given input text “The food was delicious and there were wonderful staff”, the service returns the main talking points: “food” and “wonderful staff”.
Box 3: No
Key phrase extraction does not have confidence levels. -
You deploy a web app that is used as a management portal for indexing in Azure Cognitive Search. The app is configured to use the primary admin key.
During a security review, you discover unauthorized changes to the search index. You suspect that the primary access key is compromised.
You need to prevent unauthorized access to the index management endpoint. The solution must minimize downtime.
What should you do next?
- Regenerate the primary admin key, change the app to use the secondary admin key, and then regenerate the secondary admin key.
- Change the app to use a query key, and then regenerate the primary admin key and the secondary admin key.
- Regenerate the secondary admin key, change the app to use the secondary admin key, and then regenerate the primary key.
- Add a new query key, change the app to use the new query key, and then delete all the unused query keys.
Explanation:
Regenerate admin keys.
Two admin keys are created for each service so that you can rotate a primary key, using the secondary key for business continuity.
1. In the Settings >Keys page, copy the secondary key.
2. For all applications, update the API key settings to use the secondary key.
3. Regenerate the primary key.
4. Update all applications to use the new primary key.Note: Two admin api-keys, referred to as primary and secondary keys in the portal, are automatically generated when the service is created and can be individually regenerated on demand. Having two keys allows you to roll over one key while using the second key for continued access to the service.
-
You have an existing Azure Cognitive Search service.
You have an Azure Blob storage account that contains millions of scanned documents stored as images and PDFs.
You need to make the scanned documents available to search as quickly as possible.
What should you do?
- Split the data into multiple blob containers. Create a Cognitive Search service for each container. Within each indexer definition, schedule the same runtime execution pattern.
- Split the data into multiple blob containers. Create an indexer for each container. Increase the search units. Within each indexer definition, schedule a sequential execution pattern.
- Create a Cognitive Search service for each type of document.
- Split the data into multiple virtual folders. Create an indexer for each folder. Increase the search units. Within each indexer definition, schedule the same runtime execution pattern.
Explanation:Incorrect Answers:
A: Need more search units to process the data in parallel.
B: Run them in parallel, not sequentially.
C: Need a blob indexer.Note: A blob indexer is used for ingesting content from Azure Blob storage into a Cognitive Search index.
Index large datasets
Indexing blobs can be a time-consuming process. In cases where you have millions of blobs to index, you can speed up indexing by partitioning your data and using multiple indexers to process the data in parallel. Here’s how you can set this up:– Partition your data into multiple blob containers or virtual folders
– Set up several data sources, one per container or folder.
– Create a corresponding indexer for each data source. All of the indexers should point to the same target search index.
– One search unit in your service can run one indexer at any given time. Creating multiple indexers as described above is only useful if they actually run in parallel. -
You need to implement a table projection to generate a physical expression of an Azure Cognitive Search index.
Which three properties should you specify in the skillset definition JSON configuration table node? Each correct answer presents part of the solution. (Choose three.)
NOTE: Each correct selection is worth one point.
-
tableName
-
generatedKeyName
-
dataSource
-
dataSourceConnection
-
source
Explanation:Defining a table projection.
Each table requires three properties:
– tableName: The name of the table in Azure Storage.
– generatedKeyName: The column name for the key that uniquely identifies this row.
– source: The node from the enrichment tree you are sourcing your enrichments from. This node is usually the output of a shaper, but could be the output of any of the skills. -
-
HOTSPOT
You are creating an enrichment pipeline that will use Azure Cognitive Search. The knowledge store contains unstructured JSON data and scanned PDF documents that contain text.
Which projection type should you use for each data type? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: Object projection
Object projections are JSON representations of the enrichment tree that can be sourced from any node.Box 2: File projection
File projections are similar to object projections and only act on the normalized_images collection.