Moving Enterprise Applications into VoiceXML. May 2002



Similar documents
Web page creation using VoiceXML as Slot filling task. Ravi M H

VoiceXML-Based Dialogue Systems

ORACLE ENTERPRISE DATA QUALITY PRODUCT FAMILY

INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY

How To Use Voicexml On A Computer Or Phone (Windows)

Natural Language to Relational Query by Using Parsing Compiler

VoiceXML and VoIP. Architectural Elements of Next-Generation Telephone Services. RJ Auburn

interactive product brochure :: Nina: The Virtual Assistant for Mobile Customer Service Apps

HOPS Project presentation

IVR CRM Integration. Migrating the Call Center from Cost Center to Profit. Definitions. Rod Arends Cheryl Yaeger BenchMark Consulting International

Avaya Aura Orchestration Designer

How To Develop A Voice Portal For A Business

ARMORVOX IMPOSTORMAPS HOW TO BUILD AN EFFECTIVE VOICE BIOMETRIC SOLUTION IN THREE EASY STEPS

Open-Source, Cross-Platform Java Tools Working Together on a Dialogue System

Bringing Value to the Organization with Performance Testing

SESTEK VOICE VERIFICATION FOR AVEA CALL CENTER

A Development Tool for VoiceXML-Based Interactive Voice Response Systems

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0

50 shades of Siebel mobile

Developing Usable VoiceXML Applications

Power Tools for Pivotal Tracker

Speech-Enabled Interactive Voice Response Systems

Metadata Quality Control for Content Migration: The Metadata Migration Project at the University of Houston Libraries

Making Data Available on the Web

VocalPassword : voice biometrics authentication.

Service Overview. KANA Express. Introduction. Good experiences. On brand. On budget.

Data Warehouse (DW) Maturity Assessment Questionnaire

Consumers want conversational virtual assistants.

Materials Software Systems Inc (MSSI). Enabling Speech on Touch Tone IVR White Paper

Security Test s i t ng Eileen Donlon CMSC 737 Spring 2008

Web Application Development for the SOA Age Thinking in XML

Hitachi ID Password Manager Telephony Integration

Interfaces de voz avanzadas con VoiceXML

HOSPITAL MANAGEMENT SYSTEM

Automatic vs. Manual Code Analysis

VoiceXML Tutorial. Part 1: VoiceXML Basics and Simple Forms

Retrieving Data Using the SQL SELECT Statement. Copyright 2006, Oracle. All rights reserved.

Configuration and Management of Speaker Verification Systems

The Data Quality Continuum*

Intrusion detection for web applications

BlackShield ID Agent for Remote Web Workplace

Mobile Testing in a Fast Paced World

CRM 2013 Workflows. Description

The Cloud ERP. Case Study JAAS

TCP/IP Networking, Part 2: Web-Based Control

May For other information please contact:

Open Source VoiceXML Interpreter over Asterisk for Use in IVR Applications

Business Mobile App User Guide

Onset Computer Corporation

Basic Unix/Linux 1. Software Testing Interview Prep

VOICE INFORMATION RETRIEVAL FOR DOCUMENTS. Except where reference is made to the work of others, the work described in this thesis is.

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

Dialog planning in VoiceXML

FileMaker Server 10 Help

Sun Bear Marketing Automation Software

Where every interaction matters.

BlackShield ID Agent for Terminal Services Web and Remote Desktop Web

By Makesh Kannaiyan 8/27/2011 1

Measuring Performance in a Biometrics Based Multi-Factor Authentication Dialog. A Nuance Education Paper

InternetVista Web scenario documentation

Enterprise Communication Suite

An Introduction to VoiceXML

Developer Guide to Authentication and Authorisation Web Services Secure and Public

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

What's New In DITA CMS 4.0

metaengine DataConnect For SharePoint 2007 Configuration Guide

Thin Client Development and Wireless Markup Languages cont. VoiceXML and Voice Portals

NATURAL LANGUAGE TO SQL CONVERSION SYSTEM

CRM. Booklet. How to Choose a CRM System

ZAP Business Intelligence Application for Microsoft Dynamics

<Insert Picture Here> Operational Reporting for Oracle Applications with Oracle GoldenGate

TESTING FRAMEWORKS. Gayatri Ghanakota

JWIG Yet Another Framework for Maintainable and Secure Web Applications

Cache Configuration Reference

SQL INJECTION ATTACKS By Zelinski Radu, Technical University of Moldova

Web Applications Testing

August 2014 San Antonio Texas The Power of Embedded Analytics with SAP BusinessObjects

App Development with Talkamatic Dialogue Manager

Business Object Document (BOD) Message Architecture for OAGIS Release 9.+

Voice Authentication On-Demand: Your Voice as Your Key

Novell Identity Manager

Transcription:

Moving Enterprise Applications into VoiceXML May 2002

ViaFone Overview ViaFone connects mobile employees to to enterprise systems to to improve overall business performance. Enterprise Application Focus; not Consumer Customer-facing Employees: Field Sales and Service Vertical Industry Focus Companies Have Enterprise Systems Installed: CRM, SFA, ERP, Email/PIM 2

Existing Speech Application Framework being moved onto VoiceXML Dialog Server VoiceXML Browser Mobile Application Server Mobile Presentation Server All VoiceXML generated dynamically 3

Differentiating Speech Platform Features Adaptive Matching, N-Best Filtering, Constraints Natural Language Support Centralized Dialog Flow Description Declarative Existing Vertical Applications MobileSales MobilePharma MobileService MobileAssistant 4

Enterprise Applications Very Difficult to move to Deployment Recognition Quality and Dialog Design Demonstration of Business Value Commitment to ongoing maintenance Characteristics Often very large, dynamic databases Perceived easiest applications often the hard recognition/dialog problems Not a consumer app, recognition must work well for everyone Recognition must work consistently well for all items (Lack of) Acceptance of technology limitations by USERS 5

The Problems Recognition Quality Not just error rate but types of errors Rejections, user interface flaws perceived as recognition problems Names and non standard categories Dialog Complexity Deceptive, even simple apps when fully fleshed out are surprisingly complex Specification of behavior and behavior very difficult Going far enough to make it worth it. Spoken Language Problems get worse from pilot to deployment User Feedback rarely part of the design cycle Getting representative samples of speakers and data Deployment and Maintenance Scale up for Actual Deployment Ongoing maintenance and tuning of grammars and dictionaries 6

A limited definition of Natural Language phrase variations "10 servers "10 n-class servers" multiple "orthogonal" slots save email and send <action1 "save email > <action2 "send"> multiple "combinatorial" slots "update it to 90% "update win probability to 90% "what is the win probability?" Clause variations 90% for the win probability Underspecification "update probability" + 90% set it to 90% semantic and syntactic ambiguity 7

Natural Language in VoiceXML Filled mechanism is weak Complicates generation when slots are combinatorial Similar to overgeneration problem in grammars N-Best Filtering N-best must be parsed independantly No mechanisms for choosing amongst competing parses Interpretation of Utterances Requires Application State Information Insufficient Semantics Model (including proposal in 2.0) 8

Our Approach Kept the Centralized Dialog Flow Engine 1 - to many relationship from states to pages Pages kept very simple We do our own parsing for natural language support Templatized Voice XML We generate a very simple skeleton XSL Processing step to customize for different browsers Customization of standard behavior in pages Centralized Grammar Skeleton Grammar Sharing Mechanisms in XML, make testing and tuning difficult Maintain one grammar with dynamically generated rules Split the grammars for VoiceXML browsers 9

ViaFone Solution: Adaptive Matching Data Preprocessing Abbreviations, expansion of numbers Combine descriptions of different features (fields from database) - For example: 10 n-class servers for hp - Becomes: ten one zero n dash class servers for h p hewlett packard Grammar Generation Very simple grammar structure Application Logic Likely matches for recognition Correction for misspellings, autopron mistakes Application constraints to determine most relevant and/or likely matches 10

Why it Works Statistical Argument For most mis-spelled or mis-phoneticized word, there is a similar word (or shorter word) that is correctly represented Requires a certain size of data set Paradoxically works better when grammar is large Application Constraints Subsetting for each representative Integration with scheduler Recent usage, usage of related companies 11

Recognition: Example 1 Selecting Opportunities from a Sales Database (e.g. Siebel) All opportunities have arbitrary names Misspellings, Abbreviations, Duplicates, etc The key feature to the user may be contact, company, etc Sales rep can have 10 100 depending on industry, etc Many thousands of entries total A type of natural language problem User s don t remember exact name, or they remember other features Ambiguity in description Conventional Grammar Solution Return a slot with id, phrasing variations (type A) hand-coded in grammar 6 Man months effort (for a subset of 500 entries) 60% Recognition Rate Low coverage of phrasing variations 12

Solution Dialog Structure Query Matching Present Refine 87% hit rate in first response 13,000 entries covering any variation in phrasing Searchable on multiple fields (name, contact, company) refinement of searches No rejections, matching errors more natural (for the most part) 13

Recognition: Example 1 Voice XML Template <vxml version="1.0" application="http://..."> <property name="universals" value="none"/> <form id="noname"> <USE_NBEST/> <USE_DTMF params="..."/> <block> <prompt bargein="true"><audio src="http:..."/></prompt> </block> <field name="result"> <grammar src="http>//..."/> <REC_SUBMIT next=http://...?sessionid=10964368 method="post namelist="result DTMFCount DTMFStopTone nbestresult"/> <ERR_SUBMIT next="http://...?sessionid=10964368" method="post namelist="result"/> </field> </form> </vxml> 14

Processed Template <vxml version="1.0" application="http://..."> <property name="universals" value="none"/> <form id="noname"> <var expr="initial" name="nbestresult"/> <var expr="1" name="dtmfcount"/> <var expr="'pound'" name="dtmfstoptone"/> <block/> <field name="result"> <prompt bargein="true"><audio src="http:..."/></prompt> <property name="maxnbest" value="4"/> <property name="confidencelevel" value="0"/> <grammar src=""> <nbest><![cdata[ for(var i = 0; i < lastresult$.length; i++){ var inter = new String(lastresult$[i].interpretation); var len = inter.length; var idx = inter.indexof('=', 0); inter = new String(inter.substring(idx+1, len-1)); var conf = lastresult$[i].confidence; if(i == 0) { nbestresult = inter + ' ' + conf; }else{ nbestresult = nbestresult + ';' + inter + ' ' + conf; } } return lastresult$;]]> </nbest> </grammar> <filled> <submit next="http://...?sessionid=10964368" method="post" namelist="result DTMFCount DTMFStopTone nbestresult"/> </filled> <dtmf>+[ dtmf-1 dtmf-2 dtmf-3 dtmf-4 dtmf-5 dtmf-6 dtmf-7 dtmf-8 dtmf-9 dtmf-0 dtmf-star dtmf-pound] </dtmf> <catch event="noinput"> <assign expr="'#nohear'" name="result"/> <submit next="http://...?sessionid=10964368" method="post" namelist="result"/> </catch> <catch event="nomatch"> <assign expr="'#inputrejected'" name="result"/> <submit next="http://...?sessionid=10964368" method="post" namelist="result"/> </catch> </field> </form> </vxml> 15

Recognition: Example 2 User Authentication Large Database of Users Names have very non-standard phonetics PIN codes present technical, usability and security problems Pure Recognition and Verification Problem Conventional grammar on names presents recognition problems Name + password helps, but users uncomfortable with speaking password Adaptive Matching + Authentication Present cross constraints, verification is a filter on recognition Match list can be used to adjust confidence in verification results 16

Solution Verification Process Recognize (Buffered) Match (retrieve ids) Validate Ids Verify ID list Voice XML Template Query Additional <vxml version="1.0" application="http://..."> <property name="universals" value="none"/> <form id="noname"> <PLATFORM vendor="nuance"/> <USE_NBEST/> <USE_VERIFY type="buffer"/> <block> <prompt bargein="true"><audio src="http:..."/></prompt> </block> <field name="result"> <grammar src="http>//..."/> <REC_SUBMIT next="http://...?sessionid=10964368" method="post" namelist="result DTMFCount DTMFStopTone nbestresult "/> <ERR_SUBMIT next="http://...?sessionid=10964368" method="post" namelist="result"/> </field> </form> </vxml> Custom Speech Object for verification of multiple IDs 17

Deployment and Maintenance Scale up Custom Grammar development Maintenance is ongoing and expensive Specialized expertise required 18

Levels of Testing Grammar Coverage Dialog Flow Correctness of Generated VoiceXML Application and Usability Testing 19

Testing Support Tools Static Analysis of Application Semantics Coverage of all recognition events Listing all state transitions Driver Application for Dialog Flow Validating browser behavior Load Testing more representative of actual usage Instrumenting the application Http Request Validation Validation of application logic and flow independent of browser issues Templates provide for easy checking and automation Static analysis makes it possible to do full coverage The real problem is the external specification of application behavior 20

Final Observations Speech recognition is not an out of the box technology. Look for the right balance between browser and server side presentation layer logic. Consider the whole application life cycle when designing architecture. What can be done to make testing and maintenance easier and more automated. 21