Machine Learning Engineer of Trifork, Daniel Middelhede, shares details of an exciting project at Trifork. The following blog post is based on an interview with Daniel.
Recently, while working on a project for a customer with more than 4 million clients, Daniel and his Machine Learning colleagues at Trifork had a flash of inspiration.
The original assignment was to provide a recommendation tool to assist Contact Centre agents in their decision-making in a specific situation. As the project progressed and the team learned more about the customer, the team spotted an opportunity to explore other ways that Machine Learning could boost the customer’s overall Contact Centre performance.
With the support of Trifork and the customer, Daniel and the team decided to explore the power of Machine Learning by addressing the following question while creating a Minimum Viable Product (MVP):
How can we build a tool to enhance the decision-making process of both new and experienced agents?
By working closely with the customer and their Contact Centre agents, the team identified the following areas where ML technology could help:
- Increase Customer Satisfaction and Net Promoter Score
- Increase Agent Satisfaction
- Reduce the number of errors and callbacks
- Reduce the amount of time spent on administration and call logging
I sat down with Daniel recently for an interesting discussion about how he and the team went about addressing these factors. The rest of this blog post outlines the challenges, process and results of building the MVP.
Due to the nature of information capture and storage in a Contact Centre environment, we noticed a number of challenges when exploring how to best approach the MVP.
Big data silos: Call Centres might record all calls, but they don’t use the wealth of information they contain for anything other than training and evaluation purposes. While this is a good use of the data, this by no means captures the full value of the data being stored.
Information silos and high amount of tacit knowledge: Contact Centre employees often have vast amounts of knowledge relating to what happens in their interaction with the customers. This includes patterns in the types of calls they receive and common fixes. After a call, it’s not possible for them to document all that happened in full detail.
A lack of readily accessible decision-making support: In many call centres, there are complex manuals that agents use by manually looking through call scripts trying to find the best solution. Especially in technical call centres where you have to deal with hundreds of products, you need to be able to find the information fast. A noninteractive manual is not enough.
‘’We wanted to create a system that intelligently reacts to a conversation. This was the guiding principle for the rest of the project. ‘’
Giving meaning to tangled conversations
In order to have a system that reacts intelligently to the conversation at hand, you need quality transcriptions. There needs to be a medium which tells you what the conversation is all about.
Transcriptions are, however, never perfect. Especially during a phone call, people might interrupt each other; there can be background noise or merely a lousy signal. It’s not an easy task to get an accurate transcription.
Instead of relying on a perfect transcription, we decided to focus on keyword matching. We initially hand-crafted a set of keywords that represent what customers are talking about in each unique case.
Once the keywords were identified, we moved on to selecting sets of keywords defining a conversation topic. Fuzzy matching of keywords turned out to be extremely important. To correctly discover conversational topics, it was not enough to do simple transformations of the words, turning plural into singular and such. Instead we turned to modern techniques, such as word embeddings, to help us handle slang and jargon.
When we succeeded in matching keywords to conversational topics, we then started to create a refined knowledge base. We have built an array of tools that allow us to extract knowledge from existing knowledge bases (i.e. the agents’ technical manuals) and then link them to specific conversational topics.
So far, we have been very successful in mapping conversations to relevant topics. We mainly use the Google Cloud Platform for providing transcriptions, which we find works really well.
Creating an automated knowledge extraction system
In the Minimum Viable Product (MVP) that we have created, we present relevant information in real-time to the agents. Since we already know what the caller most likely needs, we map conversations to highly relevant decision-making information.
That’s why we are also developing a way to extract domain knowledge from existing data that is already within a Contact Centre (documents, manuals, voice recordings etc.). We can then turn the knowledge extracted from data into interactive ‘’pop-up’’ cards, which agents can see on their screen and use during a conversation.
To make this possible, the domain knowledge should be stored in a way that allows us to move from keywords into relevant cards. The difficulty of this part depends a lot on how a Contact Centre has been saving its data before we start working with them.
By utilising advanced Natural Language Processing techniques, such as topic modelling, we can extract a lot of information from existing documents, and even unstructured data such as recorded conversations and notes. The tools are always a work in progress, and there is a need to do some manual work to clean up the results afterwards and generate the correct “pop-up” cards.
We also have a secondary goal, which is that this knowledge base should be able to stay up-to-date by analysing conversations. Right now, we can do this implicitly by finding similar conversations as we work to transform that into something that can update the knowledge base.
“Our automated domain knowledge extraction system is dynamically evolving.”
Our solution is designed to integrate closely with the existing Contact Centre software. As we are focusing on crafting a toolbox for building up additional smart Contact Centre functionality, we make sure we can integrate this functionality with software from
All the work has led to a lot of additional ideas we want to explore. By talking with our customers from various industries, we are exploring the following functionalities:
- Identifying events that impact operations in real time (types and numbers of calls). By using the call transcriptions and the extracted keywords, we can start to identify unplanned events as they happen. For example, things going wrong during production or customers who are not able to purchase anything online.
- Statistics of topics/issues, allowing the company to identify which topics/products/services often cause problems.
- Sentiment analysis of the calls to help understand further which topics end-customers enjoy and which bother them the most. For example this could be used to assess when the best time in a call is to cross or upsell.
If Contact Centers invest time to successfully extract and analyse the knowledge coming in from conversations, the possibilities are endless.
Trifork webinar on additional Contact Centre functionality (in Dutch)
If you would like to learn more about what we developed for Contact Centres that can be integrated with your current software, you are welcome to follow the Trifork webinar in Dutch: 11 April, 10:00 AM https://register.gotowebinar.com/register/6696380253331691532
Culture of Trifork Machine Learning
Trifork offers me and my colleagues the opportunity to freely dive into projects, extract new knowledge and explore the endless possibilities. It is in the company’s DNA to look for challenges and opportunities to offer practical solutions to our customers. We are already on the path of helping customers transform with Machine Learning for better performance, both now and in the future.
An overview of our work for Contact Centres can be found on Trifork’s website. Learn more about how we use Machine Learning and feel free to reach out with questions, ask for advice or plan an expert consultation session.