I have conversations a customer with an agent (without punctuation). There are phrases of several categories of promises that an agent gave to a customer (call back, make an appointment, etc.). It has been done manually. Altogether 12 categories. Now I'm thinking of creating an algorithm for this. I am thinking to do this task in two steps.

  1. In the first step, I need to create an algorithm that can find an end and a beginning of all promises. This algorithm has to insert a start tag and an end tag.
  2. The second step is to create a classifier that would label a promise to the necessary categories.

As I understand, the second step is well known and this is called text classification. But for the first step, I could not find any articles and github repositories. But I think it is an important NLP task and there must be information on this. Maybe are there approaches that solve two steps at the same time?


Just sample an agent's transcript (in reality it is more difficult):

hi my name is ben how can i help you yes good what about i can help probably yes sir do you have a problem with internet connection i see let do you need a help at place okay i see so what i can do i can arrange appointment with technical will it be good for you great can i help you with something else you okey okey to have a great day you too

Promise here is

i can arrange appointment with technical

1 Answer 1


That would be a sequence labeling task, the most common type is Named Entity Recognition, you'll find many examples about it but you can train a custom system with your data. The traditional method is Conditional Random Fields, there are a good few libraries available.

Side note: usually a single CRF model is used to do both detecting and labeling at once (your steps 1 and 2).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.