Designing Speech Analytics Custom Topics for Complex Keyword Detection
Executive Summary & Architectural Context
Native Speech and Text Analytics in Genesys Cloud automatically transcribe 100% of contact center interactions. By default, the system applies “Out-of-the-Box” (OOTB) topics to categorize calls-such as “Cancellation”, “Payment”, or “Escalation”.
However, enterprise environments require hyper-specific intelligence. If your legal team mandates that agents must read a very specific 3-sentence compliance disclaimer (e.g., “Mini-Miranda” debt collection rights), the generic OOTB topics cannot verify this. You must architect a Custom Topic utilizing complex boolean logic, exact phrase matching, and proximity operators to detect exact utterances with near-zero false positives.
This masterclass details the engineering methodology for building, tuning, and deploying highly accurate Speech Analytics custom topics within Genesys Cloud.
Prerequisites, Roles & Licensing
- Licensing: Genesys Cloud CX 3 (or CX 1/2 with WEM add-on).
- Roles & Permissions:
Quality > Topic > Add/Edit - Platform Dependencies:
- Voice transcription must be actively enabled on your queues.
- A solid understanding of Boolean search operators (AND, OR, NOT).
The Implementation Deep-Dive
1. The Anatomy of a Topic
A Topic is simply a container for Phrases. If an interaction transcript contains a match for any of the phrases inside the Topic, the interaction is tagged with that Topic.
- Navigate to Admin > Quality > Topics.
- Click Add Topic. Name it
Legal_Compliance_Disclaimer. - Select the dialect (e.g.,
en-US). Analytics are strictly language-bound.
2. Engineering the Phrases (The Logic Layer)
Do not just type “this call is an attempt to collect a debt.” Transcription engines occasionally mishear words (e.g., hearing “debt” as “death”). You must engineer resilience using Dialect syntax.
A. Exact Phrase Matching
Use double quotes to enforce exact word order.
"attempt to collect a debt"
B. Distance / Proximity Operators (The Secret Weapon)
If the agent says, “This call is an attempt today to help you collect a previous debt,” the exact phrase match fails. Use the proximity operator ~ to allow “slop” (words in between).
"attempt collect debt"~3- Logic: The words “attempt”, “collect”, and “debt” must appear within 3 words of each other, in any order. This drastically improves hit rates against transcription errors.
C. Boolean AND / OR
If the compliance requires two separate concepts in the same call:
("collect a debt" OR "debt collection") AND ("information obtained" OR "purpose")- Note: Genesys Cloud allows you to build complex nested queries directly in the phrase editor.
3. Speaker Isolation (The Critical Filter)
If the customer says, “Are you attempting to collect a debt?”, the Topic will flag. This is a massive false positive. We only care if the Agent says the disclaimer.
- In the Phrase editor, locate the Speaker dropdown.
- Change it from
BothtoInternal. - Logic: The system will now only evaluate the audio track originating from the agent’s headset. The customer’s audio track is completely ignored for this specific phrase.
4. Strictness Formatting
Genesys Cloud allows you to define how rigidly it matches a word.
- Select a phrase and adjust the Strictness.
- Exact: Matches only the exact word (e.g., “cancel”).
- Forms: Matches grammatical variants (e.g., “cancel”, “canceled”, “canceling”).
- Best Practice: For compliance disclaimers, use Exact with proximity operators. For generic intent (e.g., customer wants to cancel), use Forms.
Validation, Edge Cases & Troubleshooting
Edge Case 1: The “False Positive” Avalanche
You deploy a topic to track “Manager Escalations” using the phrase manager. Suddenly, 40% of all calls are flagged. Why? Because agents are saying, “I am the account manager.”
- Troubleshooting: You must use the
NOToperator or negative proximity. - Refactored Phrase:
manager AND NOT "account manager" - Alternatively, use proximity:
"speak to manager"~2OR"transfer to manager"~2.
Edge Case 2: Transcription Engine Latency
You publish a new Topic at 10:00 AM, but calls at 10:15 AM are not being tagged.
- The Trap: Transcriptions are processed asynchronously. When a call ends, it enters a queue for the transcription engine. During peak hours, this can take 5 to 15 minutes. Furthermore, newly published topics do not apply retroactively to historical calls.
- Solution: To test a new topic immediately, use the Topic Miner or the Test function inside the Topic builder. Provide an exact Interaction ID of a past call, and the system will run your new logic against that historical transcript instantly.
Tuning Methodology (The Feedback Loop)
Speech analytics is not “set and forget.” It requires iterative tuning.
- Deploy the topic.
- Wait 48 hours.
- Open Performance > Workspace > Interactions. Filter by your new Topic.
- Manually review 10 flagged transcripts. If 3 are false positives, analyze why.
- Update the Topic logic with a
NOToperator to exclude the false positive pattern. Re-publish.
Official References
- Create and Manage Topics: Genesys Cloud Resource Center: Work with topics
- Search Operators and Syntax: Genesys Cloud Resource Center: Speech and text analytics search operators
- Topic Miner Overview: Genesys Cloud Resource Center: Topic Miner