Skip to content
This repository has been archived by the owner on Jan 13, 2023. It is now read-only.
Muralidhar Chavan edited this page Sep 20, 2018 · 10 revisions

Welcome to the smart-email-support wiki!

Short Name

Smart Email Support

Short Description

Smart email support showcases Watson natural language capabilities to provide a methodology for developing an intelligent customer support system.

Offering Type

Artificial Intelligence

Introduction

Organisations receive communication, from their customers, through various channels like emails, phone calls, applications etc. It is important for these organisations to act on these communications quickly and accurately. Manually handling this scenario can be time consuming and error prone. Building an automated, intelligent system to handle customer communications is needed for customer satisfaction and speedier resolutions of concerns. Here we provide a methodology for handling emails from customer in an automated and smarter way. The system will understand the intent and content of emails, determine if the email has all the necessary information to process the request, compose an email asking for missing information if any. Watson services on IBM Cloud are used to demonstrate this use case.

Author

Muralidhar Chavan

Code

Demo

  • N/A

Video

Overview

Providing customer support in a timely manner is very important to enhance customer experience. Organisations receive communication, from their customers, through various channels like emails, phone calls, applications etc. Organisations need to understand the intent and content of each of the communication and ask customers for any additional information required to fulfil their requests.

In this code pattern we take an use case of a telecom domain customer support who action on email requests they receive from customer. We will consider request scenarios for Enabling a service, disabling a service, changing plans and Adding family member to a plan.

As a customer support, one should

  • Know intent of email
  • Know information available in these emails
  • Identify information that is missing
  • Auto-compose responses and send emails

This code pattern provides an automatic and cognitive way of achieving the above requirements. It uses natural language processing of emails, understanding intents of emails, auto composing responses and providing a dashboard with high level summary of intents and emails. While the use case demonstrated here is for a telecom domain, it can be applied to any domain. It integrates with database, which acts as a CRM, to pull customer information to validate emails and requests. It uses Watson Knowledge Studio or WKS (for custom domain natural language processing), Watson Natural Language Understanding or NLU (to deploy custom domain model and get entities from emails), Watson Natural Language Classifier or NLC (to get intent of email), Node-RED (integrates with email, watson services and Cloudant database), CloudantNoSQL database (to store emails and customer data) and Node runtime.

After completing this pattern, you will learn how to:

  • Build a custom model using Watson Knowledge Studio and deploy it on Watson Natural Language Understanding
  • Build a node-RED flow that integrates email server, Watson services (NLU and NLC) and Cloudant database
  • Deploy application, send sample customer emails and see the emails being auto processed using a simple UI

Flow

Architecture

  1. Deploy custom model, built using Watson Knowledge Studio , to Watson Natural Language Understanding
  2. Node-RED flow polls for new emails and retrieves new emails, if any.
  3. Node-RED flow retrieves customer data from Cloudant database
  4. Watson NLU identifies entities in email
  5. Get intent of email using Watson NLC
  6. Email details, entities, intent are all stored in database
  7. User accesses application deployed on IBM cloud
  8. Application gets email data from database
  9. Auto composed emails can be sent to users

Included components

  • Watson Knowledge Studio: Use IBM Watson™ Knowledge Studio to create a machine-learning model that understands the linguistic nuances, meaning, and relationships specific to your industry or to create a rule-based model that finds entities in documents based on rules that you define.
  • Watson Natural Language Understanding: A IBM Cloud service that can analyse text to extract meta-data from content such as concepts, entities, keywords, categories, sentiment, emotion, relations, semantic roles, using natural language understanding.
  • Watson Natural Language Classifier: The Natural Language Classifier service applies cognitive computing techniques to return the best matching classes for a sentence or phrase.
  • Node-RED: Node-RED provides a browser-based flow editor that makes it easy to wire together devices, APIs, and online services by using the wide range of nodes in the palette.
  • SDK of Node.js: The Node.js runtime on IBM® Cloud is powered by the sdk-for-nodejs buildpack. The sdk-for-nodejs buildpack provides a complete runtime environment for Node.js apps.

Featured technologies

  • Natural Language Processing: the ability of a computer program to understand human language as it is spoken. NLP is a component of Artificial Intelligence
  • Artificial Intelligence: Intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans.

Blog

Organisations receive communication, from their customers, through various channels like emails, phone calls, applications etc. It is important for these organisations to act on these communications quickly and accurately. Manually handling this scenario can be time consuming and error prone. Building an automated, intelligent system to handle customer communications is needed for customer satisfaction and speedier resolutions of concerns. Here we provide a methodology for handling emails from customer in an automated and smarter way.

In the Code Pattern we take an use case of a telecom domain customer support who action on email requests they receive from customer. We will consider request scenarios for Enabling a service, disabling a service, changing plans and Adding family member to a plan.

As a customer support, one should

  • Know intent of email
  • Know information available in these emails
  • Identify information that is missing
  • Auto-compose responses and send emails

This code pattern provides an automatic and cognitive way of achieving the above requirements. It uses natural language processing of emails, understanding intents of emails, auto composing responses and providing a dashboard with high level summary of intents and emails. While the use case demonstrated here is for a telecom domain, it can be applied to any domain. It integrates with database, which acts as a CRM, to pull customer information to validate emails and requests. It uses Watson Knowledge Studio or WKS (for custom domain natural language processing), Watson Natural Language Understanding or NLU (to deploy custom domain model and get entities from emails), Watson Natural Language Classifier or NLC (to get intent of email), Node-RED (integrates with email, watson services and Cloudant database), CloudantNoSQL database (to store emails and customer data) and Node runtime.

Links

Clone this wiki locally