AI-102 : Designing and Implementing a Microsoft Azure AI Solution : Part 04
-
HOTSPOT
You are building an Azure Cognitive Search custom skill.
You have the following custom skill schema definition.
For each of the following statements, select Yes if the statement. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: Yes
Once you have defined a skillset, you must map the output fields of any skill that directly contributes values to a given field in your search index.Box 2: Yes
The definition is a custom skill that calls a web API as part of the enrichment process.Box 3: No
For each organization identified by entity recognition, this skill calls a web API to find the description of that organization. -
You have the following data sources:
– Finance: On-premises Microsoft SQL Server database
– Sales: Azure Cosmos DB using the Core (SQL) API
– Logs: Azure Table storage
– HR: Azure SQL databaseYou need to ensure that you can search all the data by using the Azure Cognitive Search REST API.
What should you do?
- Configure multiple read replicas for the data in Sales.
- Mirror Finance to an Azure SQL database.
- Migrate the data in Sales to the MongoDB API.
- Ingest the data in Logs into Azure Sentinel.
Explanation:
On-premises Microsoft SQL Server database cannot be used as an index data source.Note: Indexer in Azure Cognitive Search: : Automate aspects of an indexing operation by configuring a data source and an indexer that you can schedule or run on demand. This feature is supported for a limited number of data source types on Azure.
Indexers crawl data stores on Azure.
– Azure Blob Storage
– Azure Data Lake Storage Gen2 (in preview)
– Azure Table Storage
– Azure Cosmos DB
– Azure SQL Database
– SQL Managed Instance
– SQL Server on Azure Virtual Machines -
You are developing a solution to generate a word cloud based on the reviews of a company’s products.
Which Text Analytics REST API endpoint should you use?
-
keyPhrases
-
sentiment
-
languages
-
entities/recognition/general
-
-
DRAG DROP
You have a web app that uses Azure Cognitive Search.
When reviewing billing for the app, you discover much higher than expected charges. You suspect that the query key is compromised.
You need to prevent unauthorized access to the search endpoint and ensure that users only have read only access to the documents collection. The solution must minimize app downtime.
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.
-
You are developing the smart e-commerce project.
You need to implement autocompletion as part of the Cognitive Search solution.
Which three actions should you perform? Each correct answer presents part of the solution. (Choose three.)
NOTE: Each correct selection is worth one point.
- Make API queries to the autocomplete endpoint and include suggesterName in the body.
- Make API queries to the autocomplete endpoint and include suggesterName in the body.
- Make API queries to the search endpoint and include the product name fields in the searchFields query parameter.
- Add a suggester for each of the three product name fields.
- Set the searchAnalyzer property for the three product name variants.
- Set the analyzer property for the three product name variants.
Explanation:
Scenario: Support autocompletion and autosuggestion based on all product name variants.A: Call a suggester-enabled query, in the form of a Suggestion request or Autocomplete request, using an API. API usage is illustrated in the following call to the Autocomplete REST API.
POST /indexes/myxboxgames/docs/autocomplete?search&api-version=2020-06-30
{
“search”: “minecraf”,
“suggesterName”: “sg”
}B: In Azure Cognitive Search, typeahead or “search-as-you-type” is enabled through a suggester. A suggester provides a list of fields that undergo additional tokenization, generating prefix sequences to support matches on partial terms. For example, a suggester that includes a City field with a value for “Seattle” will have prefix combinations of “sea”, “seat”, “seatt”, and “seattl” to support typeahead.
F. Use the default standard Lucene analyzer (“analyzer”: null) or a language analyzer (for example, “analyzer”: “en.Microsoft”) on the field.
-
-
You are building a multilingual chatbot.
You need to send a different answer for positive and negative messages.
Which two Text Analytics APIs should you use? Each correct answer presents part of the solution. (Choose two.)
NOTE: Each correct selection is worth one point.
- Linked entities from a well-known knowledge base
- Sentiment Analysis
- Key Phrases
- Detect Language
- Named Entity Recognition
Explanation:
B: The Text Analytics API’s Sentiment Analysis feature provides two ways for detecting positive and negative sentiment. If you send a Sentiment Analysis request, the API will return sentiment labels (such as “negative”, “neutral” and “positive”) and confidence scores at the sentence and document-level.D: The Language Detection feature of the Azure Text Analytics REST API evaluates text input for each document and returns language identifiers with a score that indicates the strength of the analysis.
This capability is useful for content stores that collect arbitrary text, where language is unknown.
-
DRAG DROP
You plan to build a chatbot to support task tracking.
You create a Language Understanding service named lu1.
You need to build a Language Understanding model to integrate into the chatbot. The solution must minimize development time to build the model.
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:
Step 1: Add a new application
Create a new app
Sign in to the LUIS portal with the URL of https://www.luis.ai.
Select Create new app.
Etc.Step 2: Add example utterances.
In order to classify an utterance, the intent needs examples of user utterances that should be classified with this intent.Step 3: Train the application
Step 4: Publish the application
In order to receive a LUIS prediction in a chat bot or other client application, you need to publish the app to the prediction endpoint. -
You are building a bot on a local computer by using the Microsoft Bot Framework. The bot will use an existing Language Understanding model.
You need to translate the Language Understanding model locally by using the Bot Framework CLI.
What should you do first?
- From the Language Understanding portal, clone the model.
- Export the model as an .lu file.
- Create a new Speech service.
- Create a new Language Understanding service.
Explanation:
You might want to manage the translation and localization for the language understanding content for your bot independently.Translate command in the @microsoft/bf-lu library takes advantage of the Microsoft text translation API to automatically machine translate .lu files to one or more than 60+ languages supported by the Microsoft text translation cognitive service.
What is translated?
An .lu file and optionally translate
Comments in the lu file
LU reference link texts
List of .lu files under a specific path. -
DRAG DROP
You are using a Language Understanding service to handle natural language input from the users of a web-based customer agent.
The users report that the agent frequently responds with the following generic response: “Sorry, I don’t understand that.”
You need to improve the ability of the agent to respond to requests.
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.)
Explanation:
Step 1: Add prebuilt domain models as required.
Prebuilt models provide domains, intents, utterances, and entities. You can start your app with a prebuilt model or add a relevant model to your app later.Note: Language Understanding (LUIS) provides prebuilt domains, which are pre-trained models of intents and entities that work together for domains or common categories of client applications.
The prebuilt domains are trained and ready to add to your LUIS app. The intents and entities of a prebuilt domain are fully customizable once you’ve added them to your app.
Step 2: Enable active learning
To enable active learning, you must log user queries. This is accomplished by calling the endpoint query with the log=true querystring parameter and value.Step 3: Train and republish the Language Understanding model
The process of reviewing endpoint utterances for correct predictions is called Active learning. Active learning captures endpoint queries and selects user’s endpoint utterances that it is unsure of. You review these utterances to select the intent and mark entities for these real-world utterances. Accept these changes into your example utterances then train and publish. LUIS then identifies utterances more accurately.Incorrect Answers:
Enable log collection by using Log Analytics
Application authors can choose to enable logging on the utterances that are sent to a published application. This is not done through Log Analytics. -
You build a conversational bot named bot1.
You need to configure the bot to use a QnA Maker application.
From the Azure Portal, where can you find the information required by bot1 to connect to the QnA Maker application?
- Access control (IAM)
- Properties
- Keys and Endpoint
- Identity
Explanation:
Obtain values to connect your bot to the knowledge base
1. In the QnA Maker site, select your knowledge base.
2. With your knowledge base open, select the SETTINGS tab. Record the value shown for service name. This value is useful for finding your knowledge base of interest when using the QnA Maker portal interface. It’s not used to connect your bot app to this knowledge base.
3. Scroll down to find Deployment details and record the following values from the Postman sample HTTP request:
4. POST /knowledgebases/<knowledge-base-id>/generateAnswer
5. Host: <your-host-url>
6. Authorization: EndpointKey <your-endpoint-key> -
HOTSPOT
You are building a chatbot by using the Microsoft Bot Framework Composer.
You have the dialog design shown in the following exhibit.
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
User.name is a property.Box 2: Yes
Box 3: Yes
The coalesce() function evaluates a list of expressions and returns the first non-null (or non-empty for string) expression. -
HOTSPOT
You are building a chatbot for a Microsoft Teams channel by using the Microsoft Bot Framework SDK. The chatbot will use 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: Yes
The ActivityHandler. OnMembersAddedAsync method overrides this in a derived class to provide logic for when members other than the bot join the conversation, such as your bot’s welcome logic.Box 2: Yes
membersAdded is a list of all the members added to the conversation, as described by the conversation update activity.Box 3: No
-
HOTSPOT
You are reviewing the design of a chatbot. The chatbot includes a language generation file that contains the following fragment.
# Greet(user) - ${Greeting()}, ${user.name}
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
Example: Greet a user whose name is stored in `user.name`
– ${ welcomeUser(user.name) }Example: Greet a user whose name you don’t know:
– ${ welcomeUser() }Box 2: No
Greet(User) is a Send a response action.Box 3: Yes
-
HOTSPOT
You are building a chatbot by using the Microsoft Bot Framework SDK.
You use an object named UserProfile to store user profile information and an object named ConversationData to store information related to a conversation.
You create the following state accessors to store both objects in state.
var userStateAccessors = _userState.CreateProperty<UserProfile>(nameof(UserProfile)); var conversationStateAccessors = _conversationState.CreateProperty<ConversationData>(nameof(ConversationData));
The state storage mechanism is set to Memory Storage.
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
You create property accessors using the CreateProperty method that provides a handle to the BotState object. Each state property accessor allows you to get or set the value of the associated state property.Box 2: Yes
Box 3: No
Before you exit the turn handler, you use the state management objects’ SaveChangesAsync() method to write all state changes back to storage. -
HOTSPOT
You are building a chatbot that will provide information to users as shown in the following exhibit.
Use the drop-down menus to select the answer choice that completes each statement based on the information presented in the graphic.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: A Thumbnail card
A Thumbnail card typically contains a single thumbnail image, some short text, and one or more buttons.Incorrect Answers:
an Adaptive card is highly customizable card that can contain any combination of text, speech, images, buttons, and input fields.
a Hero card typically contains a single large image, one or more buttons, and a small amount of text.Box 2: an image
-
HOTSPOT
You are building a bot and that will use Language Understanding.
You have a LUDown file that contains the following content.
Use the drop-down menus to select the answer choice that completes each statement based on the information presented in the graphic.
NOTE: Each correct selection is worth one point.
-
HOTSPOT
You are designing a conversation flow to be used in a chatbot.
You need to test the conversation flow by using the Microsoft Bot Framework Emulator.
How should you complete the .chat file? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
-
You build a bot by using the Microsoft Bot Framework SDK and the Azure Bot Service.
You plan to deploy the bot to Azure.
You register the bot by using the Bot Channels Registration service.
Which two values are required to complete the deployment? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
-
botId
-
tenantId
-
appId
-
objectId
-
appSecret
-
-
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 developing the shopping on-the-go project.
You are configuring access to the QnA Maker resources.
Which role should you assign to AllUsers and LeadershipTeam? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation:
Box 1: QnA Maker Editor
Scenario: Provide all employees with the ability to edit Q&As.The QnA Maker Editor (read/write) has the following permissions:
– Create KB API
– Update KB API
– Replace KB API
– Replace Alterations
– “Train API” [in new service model v5]Box 2: Contributor
Scenario: Only senior managers must be able to publish updates.
Contributor permission: All except ability to add new members to roles
-