Philip Fuller, President
Welcome to the beginning of spring and the end of the first quarter of 2011. I am pleased to share this current issue of the VEXIS Voice with you, our valued customers and friends. As promised in the last newsletter, we are announcing two new major product releases, the all new Envoy® Reporting and Analytics (ERA) and the Envoy® Voice Attendant (EVA) speech application. Both products are positioned to upgrade and replace the previous VEXIS solutions with significantly enhanced features and functionality all under the integrated Envoy® middleware platform.
Envoy® Reporting and Analytics offers a much improved reporting solution over our previous offerings with a fully revamped user interface and enterprise architecture built around our state of the art Envoy® middleware platform. The extensive built in summary reports and charting capabilities allows customers to not only journal nearly every event through the contact center from “Cradle to Grave” but also allows business managers and analysts to define goals that can be tracked across the contact center from the IVR to live agents and back again, all in real time! If you want to learn more about “What” ERA does then check out Richard Wolff’s first article Envoy® Updates - Introducing ERA-Envoy® Reporting and Analytics. When you finish that article you are going to want to know “How” ERA is able to do what it does so well, so I would recommend that you read Richard’s second article Envoy® Updates - Envoy® Reporting Plugin.
The newly revamped Envoy® Voice Attendant (EVA) is the brain child of Keith Rolle our resident Speech Solutions Engineer, VUI design Guru and “Data Driven Design™” advocate. Like similar packaged solutions available in the market space the new EVA is a VXML based speech auto attendant application that combines seamless integration across multiple IVR platforms but, that is where the similarity ends. Sure they offer similar out of the box speech enabled features but come to find out it is not so much “what’s in a name” so much as knowing exactly “how to say it” that makes all the difference. As a member of the original Nuance software development team that built one of the industry’s preeminent speech recognizers, Keith has firsthand experience in knowing exactly how the speech recognizers will interpret virtually any spoken input, especially a name. It is exactly that experience that VEXIS customers are able to leverage when they deploy the EVA Speech Auto Attendant application. Find out more about what makes EVA better than the competition by reading Keith’s article Getting It Exactly Right, Introducing EVA® - The VEXIS Envoy Voice Attendant.
I know it is hard to believe but, in addition to the articles and fanfare around ERA and EVA, there is even more great information packed in to this quarter’s edition of the VEXIS Voice. Blake Cardwell, Manager of Support Services, shares some important information regarding known issues with Anti-Virus software and the latest release of Nuance ASR/OSR in his article Anti-virus Scans: Interference with Nuance.
Whether you are new to our newsletter or are just need a refresher, I always recommend that you go back and check out some of the other great articles in previous newsletters. I promise it will be worth your time and may even spark some new ideas for your business!
President & CEO
Richard Wolff, Director of Software R&D
My mother always told me “key performance indicators are the answer to understanding your business and maintaining efficient applications and systems” or was she the one that used to tell me “always wash behind your ears”? Hmmm, not sure which but both are excellent advice.
So what is a Key Performance Indicator (KPI)? Well, if you sell books, then you will want to know how many book orders were placed. But is that good enough? You probably need to know how many orders were placed in the past week, month, and quarter, who are your best customers, how much of the business comes from repeat customers, and why is “Do It Yourself Nuclear Fusion” the most popular book again this month? Answers we all want to know indeed. OK, you already know the set of KPI that is meaningful to you… how do you currently capture that information? You have enterprise systems doing a lot of automation work for your business – but are those systems telling you “what” they are doing for your business or how often they do not meet your business targets? This is where Envoy® Reporting and Analytics comes to the rescue! The Envoy® Framework has components pre-built for you that let you concentrate on getting the data – not worrying about code integration, deployment, and scalability. Now each of those items are a big piece of the puzzle not to be overlooked - so we will address each of those considerations in a separate article – for now, let’s stay focused on the importance of understanding your captured data points.
Customizable Views of Data – Everyone needs some of the same “facts” about their business, but let’s face it, we all consume or understand data in different ways. After all, just because there is “a lot of numbers” on the chart or spreadsheet does not mean it is as impactful to everyone that views it – we want to see the data in a way that visually means the most to us. Take for example the summary KPI data (picture) above – maybe you want all the same data, but you like it “grouped” according to the criteria you specify, and then “drill down” for details.
Or perhaps you like to manipulate all the variables and are a hardcore numbers type – so you like a pivot grid.
Goal Tracking – To this point, everything we have seen is good – for those that know all the details of the voice response system or web application. Give all this great data to the techies and let them use the information to maintain their applications in tip top shape. You want to know high level business oriented information. Hey - you are a goal driven person, not a gear head! Good, because the Envoy® Reporting plugin is built from the ground up to gather and report on the business objectives (goals) that you want to see. Perhaps you already know how many book orders you received; but do you know how many attempts the callers made to place an order – and how many failed because they just gave up? Yikes! Maybe that old voice response application is losing business because it has old menu choices, drops call transfers, or just has poorly tuned speech recognition. Maybe it is transferring almost every call to your agents and the dang thing is not doing any work for you at all. If only you knew…
Goal tracking! No application details! Great stuff but maybe the contact center supervisors need this data real time. Maybe they really wish they could be alerted to goals not meeting service level agreements…
Terrific, now we are getting somewhere! And by the way - not to show off or anything - but did you notice the cool theme support in the reporting user interface? Pick the colors that make your reports and charts stand out. Yes, you can chart your data if you prefer.
Data Filtering – Ok, the data views and printed reports are really helping you understand strengths and weaknesses within the applications and back end systems (Envoy® Server has plugins that can monitor just about anything you want to keep an eye on) but capturing all that data makes it tough to find your best customers or those that call in with specific complaints. Envoy® Reporting and Analytics has many standard reports for the most common data points of interest, but it also supports multiple mechanisms for retrieving limited data sets you are interested in at any given time. From ad-hoc query tools / searchable data fields…
… to allowing you to dynamically “customize” the screen with only the data fields you care about…
… you can find the data you need fast. And then export the data to the format that is best for your business needs.
There are still many more advanced features of Envoy® Reporting and Analytics not listed here that your enterprise can put to use immediately. VEXIS wants to help you get the most from the applications that we deploy for you and with you. And VEXIS can also help you use Envoy® Reporting and Analytics to instrument the applications that you have running right now in your enterprise that your mother warned you about – those that are “lacking supervision”. Hey, if your friend runs with scissors, crosses the street without looking, or operates his/her contact center blindly without knowing anything about the automated systems and applications – does that mean you are going to do the same thing also?
Hang on to your seats for the next VEXIS Voice “Envoy® Updates” article or contact your VEXIS Territory Manager to get an up close look at what Envoy® Reporting and Analytics can do for your contact center!
Keith Rolle, Chief VUI Designer
As we expand our suite of VEXIS Envoy products, I'm excited to introduce EVA®, our Envoy Voice Attendant application. Speech IVR companies like VEXIS always have their own internal Voice Attendant (we've used EVA for years), and being a frequent user has made me into a big fan. There's a lot to like:
• High usability, leading to quick adoption by internal employees
• Increased productivity, with no more fumbling of paper or mouse looking for the corporate directory; one button on the phone, and a quick prompt -- it's just the first few seconds of your call to your co-worker
• Friendly, efficient all-hours routing of external callers, with configurable transfer to the front desk during open hours for callers who are not quickly connected to their party
• Automated maintenance, due to employee names databases becoming more and more accessible via internal networks
• Simple dialog, which puts the emphasis on the strong point of the technology -- the raw, wow-factor recognition
With so much going for them, I've always been surprised that Voice Attendants aren't more widely used. The main problem seems to be pronunciations, which are a lot harder to get right for names than for regular words. You can't just look them all up in the dictionary, because some of them aren't there. And if they were all there, then you would get a bunch of alternate pronunciations when you only want one (exactly the right one).
We've solved this problem by "pre-tuning" EVA® before each deployment, with exactly the right pronunciation for each employee name, and then including pronunciation maintenance in our overall maintenance agreement. You tell us how each name is pronounced, and a linguist reviews the system pronunciations for correctness and creates a new, exactly right pronunciation if one is needed. (I know this sounds custom, and expensive, but there are a lot of underemployed linguists in the world, and we already use them to transcribe utterances during post-deployment tuning.)
Why are pronunciations so important? To answer that, let's get down to some speech recognition basics.
Speech recognition works by creating statistical models for each of the different vowels and consonants in a language (these are called the "speech models"). The words and sentences in your grammar are broken down into sequences of these speech models (similar to a printed page, where words and sentences are represented by sequences of letters). Each sequence corresponds to the vowels and consonants in one possible spoken input. During a call, the actual spoken input is matched against every single one of these sequences, and the one that matches best is the recognition result.
The recognizer uses a very sophisticated pattern matching algorithm, and its speech models are trained on millions of different speakers. I like to compare it to a bloodhound. Both are highly bred, and highly trained. When you give a bloodhound a scent, it sniffs it out with amazingly accuracy. When you give the recognizer a pronunciation, it will sniff it out with equal accuracy. But both will fail if you don't give them the right scent to start with. And both get confused if you give them too many scents. That's why it's so important to get the pronunciation exactly right.
The approach taken by the speech software vendor is to create a huge dictionary of every name in the universe, with an extra license fee. This is a reasonable approach if you are a very large multi-national company that has tens of thousands of employees (especially if you have a big budget and a spare speech scientist on staff). But the big dictionary has a problem: the bigger it gets the more alternate pronunciations it includes for each name. It has to, because it doesn't know how your employee's name is actually pronounced. It can't help but create a lot of false scents, and recognition performance will be negatively affected.
If you have 1-2,000 employees, at only a few sites, speaking only 1 or 2 languages, you don't need or want the big name dictionary. What you need is exactly the right dictionary, containing exactly the right pronunciations of your employees' names.
And that's the secret of EVA®. She comes pre-tuned, with exactly the right pronunciations. And she comes with inexpensive pronunciation maintenance so that when you add a new name you can be confident it will work.
Let's illustrate EVA®'s "Exactly Right" approach using the names of 5 VEXIS employees. Here's the grammar:
<item> prashant aphale </item>
<item> mary bouakadakis </item>
<item> philip fuller </item>
<item> jack ni </item>
<item> keith rolle </item>
Even though there are quite a few unusual names in the list, the basic system dictionary (which comes for free) already includes pronunciations for all them, except “aphale” and “bouakadakis”.
That's the good news. But there's some bad news is buried the details. Here's a chart showing the actual pronunciations that are in the system dictionary:
While the system has pronunciations for "prashant" and "rolle", it does not have the correct ones ("pr@SQnt" and "rQli"). And while it has the correct pronunciation for "fuller", it also has two more that are not correct, and which no one is likely to say. In the first case, the recognizer won't be given the right scent. In the second, it will be given too many scents. It's not going to work very well.
The lesson here is not that the dictionary is of poor quality, because it's not, it's state of the art. Rather, the issue is that names are harder than ordinary words. There are lots of ways to say them, and no dictionary will have all possibilities. And, if it did, that would be too many, since you only want one. There is no substitute for a manual review by a linguist, which quickly gives a much smaller "exactly right" set of pronunciations, which looks like this:
Finally, we get back to "aphale" and "bouakadakis". How do we get those pronunciations? Do we pay an extra license fee so we can look up every possible pronunciation in an even bigger more sophisticated dictionary? No. We don't want every possible pronunciation – we just want exactly the right pronunciation. So we have those names phonetically transcribed by the same linguist, giving this final, exactly right, list of pronunciations:
No missing scents. And no false scents. So you get an amazingly accurate Voice Attendant, pre-tuned for your employees. You can't achieve the same performance using a large generic name dictionary. There is no substitute for pronunciation transcription and tuning by a linguist on your actual names. We make it easy ... EVA® is ready!
For more information, or to find out how your company can benefit from the EVA Speech Auto Attendant, please contact us anytime by e-mailing email@example.com or by calling EVA at 918-663-8080 and asking for sales.
Blake Cardwell, Manager of Customer Support
Viruses and malware are an unfortunate part of our lives in the ever-connected internet world that we live in today. Therefore, it is a mandatory requirement to protect critical resources by utilizing a barrage of anti-virus, anti-spyware, and system backup utilities. But did you know that the utilities designed to protect you can have serious impacts on your IVR and speech recognition software?
Our Support Analysts at VEXIS Systems have experienced several occurrences where scheduled system scans have caused an outage of the speech recognition resources that directly impacted callers in the IVR. It was determined that the anti-virus scans were attempting to scan files that were in use by Nuance speech recognition and this created a snowball effect that eventually crashed the Nuance application.
It is always recommended that your servers be protected by anti-virus and anti-spyware software, as well as the most current Microsoft patches. Simply disabling system scans or Microsoft updates on the IVR servers is not a viable or recommended option. However, when utilizing system scans, there are some steps that can be taken in order to protect you from malicious software while also maintaining the stability of the IVR resources.
Excluding a few key files or folders from system scans can allow both resources to coexist. There are only a few folders on the local hard drive that Nuance services use. The simplest solution is to exclude these folders from the system scans. The second option would involve fine-tuning the exclusions to only exclude the specific files that are conflicting. However, due to differences in versions and environments, this last option can take a significant amount of time and can provide less reliable results.
If you have experienced interference between system scans and IVR resources in the past, or if you have been reluctant to run routine system scans on these servers, VEXIS Systems can assist with ensuring that you are protecting your critical systems from malicious software and system conflicts alike.
Richard Wolff, Director of Software R&D
In the previous issue of the “Envoy® Updates” article ( Building a “Better” Soft Phone, Part Four ) covering the Envoy® Soft Phone (ESP) advanced features I had stated “…as a teaser, consider that ESP communicates with Envoy® Server and that one of the plugins available among standard plugins is the Envoy® Reporting plugin …”. Well, I was just teasing, forget about it. Today, let’s talk about the possum that is as big as a cat that I keep finding in my garage. Ok, ok, I will cover the reporting plugin - guess I kind of set myself up for that one – but you are missing a good story. So what does the Envoy® Reporting plugin do? It allows a developer to track virtually any piece of data or event occurrence within an application and it captures the data points real-time. So how is that different than going in and providing database write operations throughout your application? I am glad you asked – let’s explore that in more depth.
Abstraction, Connectivity and Resource Management – So, if you went into your application and sprinkled database write operations throughout the code to capture key data points, you would get the data you wanted in your database. However, the code would be for a specific database vendor (e.g. SQL Server, Oracle, DB2, Sybase) so it would not be portable to another database. Wait, you did your homework and used an abstraction layer to communicate with the database – you used ODBC or ADO / OLEDB so you can use more than one database – good decision! But what if your application was running within an enterprise server such as a web service or an IVR platform – now every single instance of the application needs a database connection – that could be a terrible performance hit on your database server. I guess you could “fix” that issue and just task your development team with writing a dynamic database connection management layer – and triple the time, money, and expertise needed for your original reporting project. But then again, you may need the same logic for web service connection resource management later. Envoy® Server is built to efficiently scale to a very large set of client connections (agent desktop soft phones, enterprise applications, embedded clients in 3rd party tools, etc) and Envoy® Server is also built to effectively manage resources so that all those client connections have access to all the backend systems and data stores. In other words, Envoy® Server manages a configurable number of connections to your backend systems (in this case your database) for you and takes care of sharing those connections with all the clients that connect – allowing your developers to capture data and not worry about managing connection resource pools. Furthermore, Envoy® Server can be configured to dynamically grow the connections for an unexpected “heavy” traffic period (such as your peak calling hour) and then shrink the connections back to the normal operating limits. The database connections managed by Envoy® Server are also capable not only of communicating to different database types, but also in parallel if needed – so mirroring of data can occur to multiple data stores of different types – all without writing any additional database code! You can read more about Envoy® Server here: Envoy® Server Multi-Client Endpoints, Envoy® Server Resource Management, and The Power of Envoy® Server, the Dexterity of .NET.
Application Programming Interface (API) – The Envoy® Reporting plugin is built based upon the same principles of the other Envoy® plugins – to consume XML messages. It is really that simple – all the powerful functionality is accomplished using a very simple, standards based, easy to read message set built purely upon XML. VEXIS “ate our own cooking” by using our Envoy® Client and a simple XML client side API to build out the reporting interface – no proprietary technology hidden under the covers. I am sure you noticed the previous sentence mentioned “Envoy® Client” - but that is not a “catch” – you are free to use any client program you want to use to talk to the Envoy® Server because it understands multiple message framing protocols. But you may actually want to use Envoy® Client so that you take advantage of the easy XML syntax and the fact that the API is exposed as a C/C++, COM, and .NET API. The same easy API is callable from virtually any programming language such as the latest .NET (C#, VB.NET, ASP.NET) technologies to low level C code and even legacy Visual Basic applications – allowing your developers to use the programming language with which they are most comfortable – or the ones they are forced to use to integrate with legacy code. There is even a special version of the API used to allow enterprise class applications, such as an Interactive Voice Response (IVR) system to make use of the client in a network optimized manner. You can read more about the API here: Envoy® Client Software Development Kit (SDK).
Network Efficiency – The Envoy® Reporting plugin is part of the Envoy® Framework that encapsulates components that operate together as an event driven system. What does that mean? Well, we really only care about certain “events” (caller transferred to agent for example) that occur in our enterprise – not every single tick of the second hand on the clock. So make your enterprise applications track and report only the important events, not everything! Consider a call center that has 500 agent desktops – each one running a softphone application in a “pull” model – so each desktop would ask (poll) the server “is there a telephony event for me”? The server would have to reply to each desktop application – with 500 hundred separate replies – and maybe only half of those desktops have an actual event they need to be notified of from the server. To make matters worse, the “poll interval” – how often the clients ask for “anything new” - could be configured such that it occurs every second, or even more frequently. This “pull” model makes the server work hard and the network full of unnecessary traffic. With the “push” model, the clients tell the server to send events to them only when they occur and then the clients do not bother the server again; the server notifies the client when the specific event they want to know about happens –the server pushes the event to the client. The “push” model is more efficient because the server only sends messages when they are necessary and network traffic is considerably less “chatty”. So now consider that if you want your softphone or other agent desktop application to write data to the database – it would have to “poll” (pull model) your CTI server for that data at designated intervals – and all you really want is to capture certain data points as they occur on the telephony switch, not clog up your network. The Envoy® Framework operates in the push model and only concentrates on the events you configure it to capture or act upon. The Envoy® Client used in conjunction with the Envoy® Reporting plugin will allow your applications to only capture relevant data based upon important events that occur throughout your enterprise instead of just “logging everything”.
Data Availability and Usability – So now you have the data in your database. Whether you used the pre-built high efficiency components of the Envoy® Framework or opted to use your own code implementation, you now have to get all that data into a useable user interface for end user consumption. That word “usable” is a big one! Not everyone wants data displayed in the same format. And not every individual has the same ability to grasp the importance of the data based upon one single visual representation of the data – so get to cooking on that user interface that does multiple data views, supports multiple data export formats and can dimension the data based upon various date ranges as well a real time views. Or, just let the pre-built ERA-Envoy® Reporting and Analytics do all that work for you.
There are still many more advanced features of the Envoy® Reporting plugin not listed here that your enterprise can put to use immediately; please make sure and check out some of the related articles.
Hang on to your seats for the next VEXIS Voice “Envoy® Updates” article!
This newsletter is designed to provide you with useful support, technical and key topics of interest to you in a fast and efficient manner.
Let us know what you’re interested in seeing future issues. The goal is to make the results you get reading this as worthwhile as possible for your time.
Call 888-58VEXIS or 888-588-3947.
Call 918-663-8080 and say “Sales” or email firstname.lastname@example.org