Artificial Intelligence is playing a key role in providing automated and quick services for users, especially for functions like customer service, across all verticals. Conversational Intelligence using supervised machine learning techniques is allowing users to make a really quick and helpful experience—in some cases, more so than opening an app or website. A conversational experience allows for that personal approach. It brings warmth and personality to conversations with the users.
This article provides a technical case study detailing the approach how Zencode Solutions helped an enterprise service provider to build rich conversational agent using Google Dialog Flow powered by Google Action SDK, integrating with third-party support systems and using automated push notifications based on user permission.
The enterprise service provider helps their customers to provide home assistance services like plumbing services, cleaning service, electronic device repairs, etc. The customer support team receives an extremely high number of requests for electronic device repairs request ranging from air-conditioners to laptops, via different channels like Facebook Chat, emails, phone calls, etc. When the request gets raised by the user, a human agent from the supporting ticketing system may or not be available; hence the whole process becomes offline, resulting in a bad user experience.
Only when the agent becomes online/available, they see the requests by different users and can start speaking to the user (if available), then creates a support ticket, updates with details for the technician and available timings, confirms with the user, sends a notification and closes the tickets on completion of the repair work. The overall process is extremely people intensive, non-scalable, understanding the huge volume of request requests and hence and tight response time. Generally, the Turn-Around-Time (TAT) is way beyond SLA. Also, there is a high cost of training ad-hoc support resources as part of the Customer Support team. It has been a semi-automated process in terms of data management and communication to their users.
A solution needed to:
Zencode Solutions determined to innovate and keep pace with ever-changing consumer behaviour; building rich conversational experiences powered by natural language understanding (NLU) and machine learning.
Smart Service Advisor, powered by the Machine Learning Team of Zencode Solutions would help registered users to get authenticated via Google assistant enabled phones, request for services related to electronic device repair, at any point of time, answered online. At their core, Service Assistants are software services that engage in automated conversations with users in self-service environments.
Following functionalities were provided as a part overall solution
Smart Service Advisor empowers consumers on their journey for answers and task completion by simplifying the process of information delivery in multiple channels, including the online website, mobile, and social environments.
Smart Service Advisor is often the first point of contact between a customer and an organization and excel in guiding customers toward the information they need, in a way that is fast, efficient and enjoyable. The smart advisors do all of this at a fraction of the cost of human-assisted service and they deliver a combination of benefits that businesses just can’t get from live support channels
Before we started using Dialog Flow, Zencode Machine Learning Team investigated several competing technologies. We recognized the pros and cons of many of them and decided on Dialog Flow. The team had three main reasons for choosing Dialog Flow:
The notification intent will be applied automatically to all the intent (business relevant intents like electronic_repair for that user. That permission is updated in the user table in the backend
API Management
Sample code of the API for handling setup_push notification:
if (intentName.lower() == 'setup_push'): resp1 = { "data": { "google": { "expectUserResponse": True, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "PLACEHOLDER" } } ] }, "systemIntent": { "intent": "actions.intent.PERMISSION", "data": { "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec", "permissions": [ "UPDATE" ], "updatePermissionValueSpec": { "intent": 'Notification' } } } } }, "contextOut": [ { "name": "_actions_on_google", "lifespan": 99, "parameters": { "data": "{}" } } ] } return Response(resp1)
Sample code of the API for handling finish_push notification:
if (intentName.lower() == 'finish_push_setup'): res_start_alert_you = { "data": { "google": { "expectUserResponse": True, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "Ok, I'll start alerting you." } } ] }, } }, "contextOut": [ { "name": "_actions_on_google", "lifespan": 99, "parameters": { "data": "{}" } } ] } response_json = req action_name = response_json['result']['contexts'][1]['name'] if (action_name == "actions_intent_permission"): permisssion_status = response_json['result']['contexts'][1]['parameters']['PERMISSION'] print(permisssion_status) parameters_len = response_json['result']['contexts'][1]['parameters'] print(parameters_len) uuid_val = response_json['originalRequest']['data']['user']['userStorage'] data = uuid_val.split("'") print(data[1]) if (permisssion_status and (len(parameters_len)) == 2): # code for update userID print("inside if block") vals = [] user_ID = response_json['result']['contexts'][1]['parameters']['UPDATES_USER_ID'] print("data") print(data[1]) print(user_ID) uuid_data = data[1] intent_name = "Notification" updates_id = user_ID push_permission = "yes" try: db = MySQLdb.connect(unix_socket=config.unix_socket, user=config.user, passwd=config.passwd, db=config.db) c = db.cursor() c.execute( """INSERT INTO updated_userID(id, intent_name,updated_id, push_permission) values(%s, %s, %s, %s)""", (uuid_data, intent_name, updates_id, push_permission)) # Bulk insertion c.close() db.commit() except Exception as e: print("Error storing user details: ", e) return Response(res_start_alert_you) else: print("inside else block") return Response(res_start_alert_you)
The agents need to be tested at a unit level using the Google dialog flow integration settings page using the device of your choice. We used phones, for our requirement.
This is provided in the Releases Section in Google Actions Console.
The complete backend, APIs and database are deployed using Google app engine. This deployment technique will help, since:
Integration issues with Google Assistant
Conversation Enablement for GSuite:
DJango Deployment (Python 3.5 & higher) of App Engine with https support
Consumers can use the Smart Service Advisor to ask questions related to services for electronic repairs, but not limited to that.
Zencode Solutions Machine Learning Team began working with Dialog flow, we were able to move so quickly that we met or exceeded every milestone or goal. The implementation was efficient because Dialog Flow was easy to train people on and easy to use. The smart advisor efficient surpassed original expectations, but innovation at the enterprise service provider is a continual process. They recognize the importance of improving and fine-tuning the conversational experience to meet their customers’ needs.
This article has been jointly contributed by Anshuk and Kartick.
Fill in the details to know more
From The Eyes Of Emerging Technologies: IPL Through The Ages
April 29, 2023
Personalized Teaching with AI: Revolutionizing Traditional Teaching Methods
April 28, 2023
Metaverse: The Virtual Universe and its impact on the World of Finance
April 13, 2023
Artificial Intelligence – Learning To Manage The Mind Created By The Human Mind!
March 22, 2023
Wake Up to the Importance of Sleep: Celebrating World Sleep Day!
March 18, 2023
Operations Management and AI: How Do They Work?
March 15, 2023
How Does BYOP(Bring Your Own Project) Help In Building Your Portfolio?
What Are the Ethics in Artificial Intelligence (AI)?
November 25, 2022
What is Epoch in Machine Learning?| UNext
November 24, 2022
The Impact Of Artificial Intelligence (AI) in Cloud Computing
November 18, 2022
Role of Artificial Intelligence and Machine Learning in Supply Chain Management
November 11, 2022
Best Python Libraries for Machine Learning in 2022
November 7, 2022
Add your details:
By proceeding, you agree to our privacy policy and also agree to receive information from UNext through WhatsApp & other means of communication.
Upgrade your inbox with our curated newletters once every month. We appreciate your support and will make sure to keep your subscription worthwhile