Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A categorization profile contains categories and subcategories for the Conversation Analyzer feature. Conversation Analyzer uses the profile to categorize transcripts of call recordings. The profile also contains any substitution and redaction rules you provide. Using the substitution and redaction rules, Conversation Analyzer refines the transcribed text.

The categorization profile applies to the associated account. For information about where you can view the categorized recordings and refined transcripts, see Listening to and commenting on a call recording.

...

  • name (a name/value pair)
  • language (a name/value pair)
  • skipCallsUnder (an integer)

  • customDictionary (an object)
  • categories (an array of category objects).
    Each category consists of the following:
    • name (a name/value pair)
    • rules (an array of one or more categorization rule objects).

      Info

      Not used.


    • subcategories (an array of one or more subcategory objects).
      Each subcategory consists of the following:
      • name (a name/value pair)
      • rules (an array of one or more categorization rule objects).
        Each categorization rule object consists of the following:
        • party (a name/value pair)
        • expression (a name/value pair)
      • subcategories (an array of one or more nested subcategory objects).

        Info

        Not used.


    For more information about categorization rules, see Categorization rules.
  • substitution (an array of substitution rule objects).
    Each substitution rule consists of the following:
    • party (a name/value pair)
    • find (a name/value pair)
    • replace (a name/value pair)
    For more information about substitution rules, see Substitution and redaction rules.

...

Conversation Analyzer uses a call's Language and ConversationAnalyzerProfile data source values to identify the categorization profile to use to categorize and refine the call recording. Both language and name need to match the Language and ConversationAnalyzerProfile data source values to identify the profile. For information about how the Language and ConversationAnalyzerProfile data sources get their values, see Overview of Conversation Analyzer.

Categorization rules

As part of transcribing recordings, Conversation Analyzer categorizes the textual contents of the transcript, by identifying specific words and phrases that correspond to defined categories. A category is a collection of subcategories, which in turn contain a series of rules. Each rule consists of a word or phrase and the party who said that word or phrase. If the transcript contains the word or phrase and was spoken by the specified party, the transcript matches the category.

For example, you may want to track how polite your agents are when speaking with customers. Create a category of 'Politeness' that contains subcategories that look for phrases such as 'Please', 'Thank you' and 'You're welcome'. You may also want to ensure that agents are promoting a new product or service. You would need to create a category for the product or service with subcategories indentifying incidences of the agent using terms relating to the product or service.

Note
Conversation Analyzer applies categorization rules to processed transcripts—text that Conversation Analyzer has applied substitution rules to—rather than the original text. Keep this in mind when you create your categories.

Example categorization profile

In the following example, the categorization profile—Cat_example—contains one category—CatsCats contains two subcategories, Cat details and Cat position. Each of these subcategories contains two rules—one rule for each party. The substitution array contains no rules. If more than one rule applies to some text in the transcript, that text will appear in multiple categories.

...

languagejava

...

skipCallsUnder

You can configure Conversation Analyzer to not process short calls. Short calls are those that are shorter than your configured threshold. This threshold is in seconds and is defined in the skipCallsUnder parameter. The skipCallsUnder parameter is a single integer—in whole seconds only—and you can configure skipCallsUnder for each categorization profile. By default, skipCallsUnder is 0 resulting in Conversation Analyzer processing all calls.

customDictionary

The custom dictionary allows you to specify words that are not common for the language you're using, but are common for your use case. For example, you can specify your product or brand names, locations and so on. Custom dictionary is currently only available in US node and for language en-us. The dictionary helps improve the quality of transcripts.

Note

The dictionary is just a hint for transcription engine. There is no guarantee that the engine will use the hints during transcription.

Example customDictionary

Expand


Code Block
  "customDictionary": {
     "phrases": ["New Voice Media", "Elastix","Contact Pad","Connect","Conversation Analyzer","Spectrum"]
  }


You can specify words in phrases array. You can use as many hints as you want, but we recommend that you keep the list short. Words must not contain following characters: !, (, ), and `(grave accent, not apostrophe).

Info

The following tip can help increase the success of your custom dictionary:

  • Where a brand or product is made up of multiple words, separate the words in the dictionary. For example, include "New Voice Media" instead of "NewVoiceMedia".
  • Use phrases that include a brand or product name as well as the name on its own. The transcription engine is more likely to transcribe longer phrases than a single word. For example, "Welcome to New Voice Media" is more effective than "New Voice Media". List phrases before the name on its own.
  • Limit the number of dictionary entries to the most important values. A large number of entries in the dictionary may conflict.

Categorization rules

As part of transcribing recordings, Conversation Analyzer categorizes the textual contents of the transcript, by identifying specific words and phrases that correspond to defined categories. A category is a collection of subcategories, which in turn contain a series of rules. Each rule consists of a word or phrase and the party who said that word or phrase. If the transcript contains the word or phrase and was spoken by the specified party, the transcript matches the category.

For example, you may want to track how polite your agents are when speaking with customers. Create a category of 'Politeness' that contains subcategories that look for phrases such as 'Please', 'Thank you' and 'You're welcome'. You may also want to ensure that agents are promoting a new product or service. You would need to create a category for the product or service with subcategories identifying incidences of the agent using terms relating to the product or service.

Note
Conversation Analyzer applies categorization rules to processed transcripts—text that Conversation Analyzer has applied substitution rules to—rather than the original text. Keep this in mind when you create your categories.

Example categorization profile

In the following example, the categorization profile—Cat_example—contains one category—CatsCats contains two subcategories, Cat details and Cat position. Each of these subcategories contains three rules—one rule for each party. The substitution array contains no rules. If more than one rule applies to some text in the transcript, that text will appear in multiple categories.

Expand


Code Block
languagejava
{
    "name": "Cat_example",
	"language": "en-us",
    "categories": [
        {
			"name": "Cats",
			"rules": [],
			"subcategories": [
				{
					"name": "Cat position",
                    "rules": [
                        {
                            "party": "customer",
                            "expression": "cat * sat mat ~2"
                        },
                        {
                            "party": "agent",
                    { 			"name": "Cats", 			"rules": [], 			"subcategories": [ 				{ 					"nameexpression": "Catcat mat position~3",
                       "rules": [ },
                        {
                            "party": "customereither",
                            "expression": "cat * sat mat ~2"": "cat * stairs"
                        }
    },                ],
        {            "subcategories": []
               "party": "agent" },
                {
           "expression": "cat mat ~3"      "name": "Cat details",
                 }   "rules": [	
				        {
       ],                     "subcategoriesparty": []
"customer",
               },                 {
   "expression": "cat is ## years old"
                "name": "Cat details",      },
              "rules": [	 				        {
                            "party": "customeragent",
                            "expression": "cat is ## years oldyour cat?"
                        },
                        {
                            "party": "agenteither",
                            "expression": "your cat?cat has # legs"
                        }
			        ],
                    "subcategories": []
                }
			]
		}
    ]
    "substitution": []
}


The following sections describe the party and expression name/value pairs.

party

party defines the party speaker who must say the word or phrase defined by the rule expression for the transcript to match the category. Party party can be customer, agent, or either. either means that the rule applies to what the agent, the customer or both parties said.

The format of party is "party": "valuewhere value can be:

  • customer
  • agent
  • either

expression

The expression name/value pair in a rule defines the text that must appear in the transcript to match the category.

...

Expand


Code Block
languagejava
{
    "name": "Subs_example",
	"language": "en-us",
    "categories": [ ]
    "substitution": [
        {
            "party": "agent",
            "find": "new voice media",
            "replace": "NewVoiceMedia"
        },
        {
            "party": "customereither",
            "find": "Beijing spoke",
            "replace": "Basingstoke"
        },
        {
            "party": "customer",
            "find": "my card number is *",
            "replace": "xxxx xxxx xxxx xxxx"
        }
    ]
}


...

Valid expression and find values contain only alphanumeric, apostrophe and space characters; that is, values can contain spaces (U+0020), apostrophes (U+0027), and characters from the following Unicode categories:

Values can be no more than 100 characters long.

...