Conversation Processors¶
A Conversation Processor represents a discrete task that can be performed on the recorded audio stored in a Conversation object. Each processor produces some output which is accessible as a field on the Conversation object. Processors can performs tasks like transcribe speech, extract topics, and estimate sentiment.
Processors can be bound to a Conversation at creation time or after the fact via a call to the Process a conversation endpoint. Each processor has a unique name that is used when binding.
You may bind additional processors to a Conversation at any time. If a processor has already been bound to a Conversation, it will simply remain bound. Therefore, one processor will run at most once against a single Conversation and the API user needn’t worry about performing redundant calculations.
Some processors have dependencies on other processors. For example the Find Topics processor uses the transcript from the Transcribe processor to generate the topics. If a dependant processor is bound to a conversation, the system will automatically bind all the processors it requires, regardless of whether they are explicitly bound by the client. This frees the client from having to know about the implementation details of individual processors.
Transcribe¶
name: | transcribe |
---|---|
dependencies: | None |
output fields: | transcript |
Transcribes the entire conversation. Transcript is provided as a list of segments, each containing the transcribed text, the timestamp, and the connection id of the speaker.
Find Topics¶
name: | findtopics |
---|---|
dependencies: | transcribe |
output fields: | topics |
Generates a list of topics of conversation. Selects words based on their information content, frequency of use, and relevance to the transcript as a whole.
Classify¶
name: | classify:{classifier} |
---|---|
dependencies: | transcribe |
output fields: | detected_classes |
Performs classification on a conversation. The model must already be constructed.
Grade¶
name: | grade |
---|---|
dependencies: | transcribe |
output fields: | call_grades |
Grades a call against a set of common quality metrics based on the voice and speech content.
This call_grades object is placed in a Conversation when it’s requested as a processor. Call grading looks at both the speech content (words) and voice content (signal), and so it will perform transcription if the Conversation hasn’t already been transcribed.
All of the following values range from 0.0 to 1.0. The meaning of that scale is defined for each item below.
Property | Type | Description |
---|---|---|
Required Properties | ||
outcome | float | Whether the parties of the call appear to have reached a positive result in the conversation. Higher is more successful. |
quality | float | A measure of whether the call was cordial and professional. Higher is more cordial. |
experience | float | Whether the parties analyzed seemed confident and capable given the topics discussed. Higher is more competent. |
proactivity | float | The extent to which problems were addressed before they escalated. Higher is more proactive. |
trust | float | A measure of perceived honesty and trust given the tone and speech content. Higher is better. |
empathy | float | A measure of the extent to which parties reflexively react to the emotions of each other. Higher is more empathetic. |