Summarizing conversations made simple

3 min read Author: Sascha

Python-NLTK

Imagine the following scenario: A guy named Tom is a sales agent for an insurance company. Tom is talking to a customer for the first time and tries to work through a list of questions he has previously worked out. Of course, the potential customer doesn’t answer as Tom’s questionnaire intended. The customer has additional questions and different requirements than Tom had in mind … and much more. But, lucky Tom: The conversation ends well, the customer is interested. But in what again exactly? What was particularly important to the customer? And: How can Tom manage to remember all important details?

In the fields of Sales, Service and Marketing, personal conversation with customers is crucial. What are the needs of your customer? What information do I gather in order to provide my customer with the most useful offer or a solution to his problem?

Taking notes while listening – a tough challenge

During the first contact with a customer a lot of information is important: What was the key point of the conversation? What does the information mean for follow-up calls? What memo do I leave on the customer so that colleagues can continue communicating with them properly? These and many other questions can often be answered on the basis of written notes. However, this also means that it’s not possible to fully focus on the call. While notes are being written down, the next exchange of ideas with the customer is already taking place. In the end, important information is lost. To prevent this from happening, there are several possible solutions.

What you could do

  1. You could record the conversation and check later again for the most important statements. The disadvantage of this is obviously that it is a tedious and time-consuming task, especially when it comes to longer conversations.
  2. Another option is to transcribe the conversations automatically for example by using Google Speech. Everything that was spoken is then available in written form. This saves you having to take notes, but you may have to deal with large amounts of text. A lot of work – a lot of time lost.

Make it short!

Probably a better solution would therefore be a summary of the contents of conversations, in which only the core information is stated. There is already a technical solution for this: NLTK. The “Natural Language Toolkit” for Python. It’s based on Natural Language Processing (NLP), which means the machine processing of language.

A distinction is made between extractive-based summarization and abstraction-based summarization. The first one is the simpler method, because it “only” combines a subset of the words used, that represent the most important elements, to create a summary. The result will probably be grammatically incorrect, but the core statement is recognizable.

Abstraction-based summarization achieves a completely different, more humane result. The original text will possibly be paraphrased and shortened, as you would do it manually. This also means that words may appear in the summary that are not part of the original text. However, this method requires advanced deep learning technologies and sophisticated language modeling.

How such solutions look like in technical detail is described very well on “Text Summarization with NLTK in Python” by Usman Malik.

We at CLINQ are currently working on integrating this feature into our existing telephony solution and we are experimenting with recent results. Here is an example of how a conversation can look like: in the original and as a summary:

Original customers’ answer:

“Well, you know, these days, it’s common for our team members to work remotely and from home. In order to involve all of our colleagues in all processes, I need to simply add them to a channel like it’s done in Slack. This would make them available by phone, wherever they are. That’s what we need. It would also be important that the team’s phone number is also displayed for calls while in home office so that none of our customers is confused and no team member has to share their private phone number. It would be best if even colleagues who are on the go can still be reached: Imagine that they just set up a forwarding to a mobile phone and it will ring there, too. The person who picks up the phone first takes the call. Can you provide something like that?”

Summarization of the answer:

“It would also be important that the team’s phone number is also displayed for calls while in home office so that none of our customers is confused and no team member has to share their private phone number.”

Keep in mind, that this is still work in progress, but I think you get the idea. If you like, you can try for yourself.

Try it!

Just enter some random text in the language you prefer and choose how long the summary should be.

By the way, the use of NLTK is just a small piece on our way to provide our service CLINQ with Augmented Conversation. If you are curious about what Augmented Conversation means to us, you might want to read this short article about it: Introduction to Augmented Conversation

Sascha

Leave a Reply

Your email address will not be published. Required fields are marked *