How Machine Learning based routing works

Introduction

Machine Learning based SkillRouting (ML routing) is a UCCUCC stands for Unified Contact Center and consists of a queue that can be handled by Agents Each Contact Center has its own settings, interactive voice response questions and Agent with specific skills. Agents can be member of, or sign up to, one or more Contact Centers. feature which can ask an Azure ML service for a skill for a specific phrase.

 

Example Scenario

Below an example on how Machine Learning based routing can work:

Webchat: What's your name?

Customer: Alice

Webchat: Hi Alice, please ask me a question and I will connect you to an appropriate agent.

Customer: I want to renew my Attendant Console license.

Webchat: Thank you, please hold while I try to reach an agent for your question.

// HTTP REST request to Azure ML service: Execute("I want to renew my Attendant Console license.")

// HTTP REST response from Azure ML service: { "Subject": "License", "SubjectProbability": 0.88456247 }

// This means that the ML service is for 88% sure that the question is about 'License'

// UCC will place the chat in the License IDRInteractive Dialogue Response (IDR) is an application to take orders via keypad or button through a computer. By choosing menu options the contact receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent. queue

// Agent accepts chat

Agent: Hi Alice, if you have your account number and Company Name I will renew your license.

Alice: 12345 Contoso Ltd

Agent: I see your current license is valid for 3 days from now. Do you want to renew your license for another year?

Alice: Yes

Agent: Okay, you will receive the license within 24 hours on your e-mail account.

Agent: Is there something else I can help you with?

Alice: No that would be all, thank you!

 

Requirements

  • A default configured UCC
  • License is Enterprise Plus or higher
  • Azure Machine Learning Service

 

Configure

To configure this functionality the following SharePoint site settings are needed:

​Name

Default value

​Description

​MLBasedSkillRoutingEnabled​​

​False

​Enables or disables the functionality

​​MLBasedSkillRoutingBaseUrl

​NULL

​The Azure ML service URL (can be found in the Azure ML portal)

​MLBasedSkillRoutingApiKey​​

​NULL

​The Azure ML API Key (can be found in the Azure ML portal)

​MLBasedSkillRoutingThreshold

​0.0

​ML based skill routing is only used when the skill probability is above this value.

​MLBasedSkillRoutingFeedbackInterval

​180

​​The interval in minutes for sending feedback to Azure ML engine

​​MLBasedSkillRoutingMessageAskQuestion

​Please, ask your question and we will connect you to an agent.

​This message is displayed after the User entered his/her name in the webchat.

To enable ML based routing for a chat endpoint simply change the Endpoint's modality to ChatML. Set the skill to a default fallback skill which is used when the MLBasedSkillRoutingEnabled​ is False OR MLBasedSkillRoutingThreshold is higher than the result's probability OR there was an error (connection errors, Azure errors, Unknown skill returned by Azure etc.).

 

Presence

​​​The chat endpoint presence behavior is as follows:

Presence

Conditions​

​Offline

​UCC is turned off

​Away

UCC is outside business hours [OR]UCC is in holiday

​Busy

​Conditions of Offline, Away and Available are not met

​Available

​Chat endpoint modality is ChatML [AND]Skill is set on endpoint [AND]Conditions of Offline and Away are not met

 

Maintaining the ML Service

To use the service, the customer needs to import the ML Skillbased routing template into Azure. The template works out of the box, however the customer is free to make customizations as long as the service responds with a Subject/SubjectProbability pair. The customer is responsible for maintaining the data in the Azure ML service.