To understand the issues related to alpha-numeric input and IVR, try to remember sending text messages before smartphones. Each number has letters associated with it and you’d have to press the 8-key three times to get the letter V in your message.
Compared to what we can do with smartphones, this method seems archaic, time-consuming, inefficient, and for some–perhaps–barbaric.
One of the challenges with alpha-numeric input in an IVR is the amount of compression on the actual audio that traverses the PSTN. We’ve discussed the limitations of speech rec previously. Suffice it to say, the software tasked with deciphering that audio has a hard time separating letters that have similar sounds, like B, C, D, E, G, P, etc.
But fear not! This doesn’t mean that alpha-numeric input is off the table. Here are two different approaches that you can use if you need to accept alpha-numeric input over the phone.
The Finite List Approach
The first option depends on your data set. If you have a fixed data set (say, less than 1 million unique items) where you know all the possible entries, it’s possible to build a grammar that includes each of those items.
The advantage to this approach is that it’s a relatively quick, easy to implement solution. This may be an appealing stop-gap for companies as they work on a more efficient alpha-numeric solution.
The Structured Format Approach
To dial in your alpha-numeric app (excuse the pun) it helps to identify the structure that your items have and building a grammar around those restrictions.
This means you need to be able to define where, positionally, letters and numbers exist in the item and what the options are for each position. Let’s use a sample item to illustrate this point.
Assume that the items above are two of millions that a company uses for tracking purposes. In this example, the item has fourteen characters where the first two and last two characters are the same for every number.
A rule for this sequence would be: position 1 is a 6; position 2 is an R; positions 3 through 12 can be any digit from 0 to 9; position 13 is a P or a V.
This pattern can generate over 72 million unique items. While that sounds like a lot, compare that to number of unique item numbers if all 13 positions could be any number 0-9 or any number from A-Z: 4.835913248269e^42. It should become clear pretty quickly why the ‘any position can be anything’ approach isn’t a viable option.
It’s helpful to remember that the more complex and the more arbitrary the grammar rules are, the less accurate the output will be. Developers want to build restrictions into the item formatting to reduce the number of possibilities, while still ensuring that there are enough unique items to meet the needs of the business.
If you have a data set that you need to analyze to determine what pattern options exist, it may make sense to use a computer to do the analysis to speed up the process and ensure it is accurate for your entire data set.
Alpha-Numeric Input in Fuse
You can use Fuse to collect alpha-numeric data. To do this you’ll need to use a custom field module and can write a custom grammar using SRGS+XML. If you have a fairly restrictive format the amount of coding can be pretty minimal.
<grammar version="1.0" root="ROOT" mode="voice"> <rule id="ROOT"> <item>6</item> <item>R</item> <item repeat="10"> <one-of> <item>0</item> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> <item>6</item> <item>7</item> <item>8</item> <item>9</item> </one-of> </item> <one-of> <item>P</item> <item>V</item> </one-of> </rule> </grammar>
To learn more about Plum Fuse and alpha-numeric input, contact one of our IVR experts for a consultation.