US20110161927A1 - Generating voice extensible markup language (vxml) documents - Google Patents
Generating voice extensible markup language (vxml) documents Download PDFInfo
- Publication number
- US20110161927A1 US20110161927A1 US13/041,872 US201113041872A US2011161927A1 US 20110161927 A1 US20110161927 A1 US 20110161927A1 US 201113041872 A US201113041872 A US 201113041872A US 2011161927 A1 US2011161927 A1 US 2011161927A1
- Authority
- US
- United States
- Prior art keywords
- vxml
- document
- design
- design document
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
Definitions
- Interactive voice response refers to a computerized system that allows a user, typically a telephone caller, to select an option from a voice menu or otherwise interface with a computer system.
- the system plays pre-recorded voice prompts to which the user responds by either pressing a number on a telephone keypad or speaking to the system.
- Voice extensible markup language (“VoiceXML” or “VXML”) is an open standard developed by the World Wide Web Consortium (W3C) for IVR applications.
- An IVR application user interface may be documented in a portion (e.g., a dialog design portion) of a design document (e.g., a Service Design Document or “SDD”).
- a SDD may include an application summary, application call flows, application specification requirements, and dialog design for an IVR application.
- the dialog design portion of the SDD may be used to show what the IVR application will do and how it will behave.
- the dialog design portion may be used to build the IVR application in the form of VXML documents.
- the VXML documents may include VXML elements that conform to the specifications recommended by W3C.
- the dialog design portion of the SDD may be arranged in tables (e.g., in a spreadsheet or in a table provided in a word processing document) that contain VXML element properties.
- the tables may include the following VXML element properties: (1) a previous dialog state; (2) type of grammar to be activated during the dialog state; (3) prompts to play during transitioning from a previous dialog state; (4) prompts to play during an initial dialog state; (5) “no speech” (nothing spoken) timeout prompts; (6) “no match” (something spoken outside of the grammar) timeout prompts; (7) “help” prompts; and/or (8) a next dialog state.
- VXML documents for an IVR application from a design document.
- this involves the programmer reading the design document and creating VXML documents that implement the dialog design portion of the design document. This may be very time consuming and may cause erroneous dialog design to be input by the programmer in the VXML documents.
- FIG. 1 is a diagram of an overview of an exemplary implementation described herein;
- FIG. 2 is an exemplary diagram of a device in which systems and methods consistent with the principles of the invention may be implemented;
- FIG. 3 is a diagram of a portion of an exemplary computer-readable medium that may be used by the device of FIG. 2 ;
- FIG. 4A is a diagram of a system for generating a VXML document(s) from a design document(s) according to an exemplary implementation
- FIG. 4B is a diagram of an exemplary portion of the design document of FIG. 4A ;
- FIGS. 4C and 4D are diagrams of exemplary portions of the VXML document of FIG. 4A ;
- FIG. 5 is a functional diagram of the components of the exemplary system of FIG. 4A ;
- FIG. 6 is a diagram of a user interface of the exemplary system of FIGS. 4A and 5 ;
- FIG. 7 is a diagram of a VXML element selector of the exemplary system of FIGS. 4A and 5 ;
- FIG. 8 is a diagram of a design document selector of the exemplary system of FIGS. 4A and 5 ;
- FIG. 9 is a diagram of a VXML specifications unit of the exemplary system of FIGS. 4A and 5 ;
- FIG. 10 is a diagram of a design document parser of the exemplary system of FIGS. 4A and 5 ;
- FIG. 11 is a diagram of a VXML element creator of the exemplary system of FIGS. 4A and 5 ;
- FIG. 12 is a diagram of a VXML document publisher of the exemplary system of FIGS. 4A and 5 ;
- FIG. 13 is a diagram of a VXML document saver of the exemplary system of FIGS. 4A and 5 ;
- FIGS. 14A and 14B provide a flowchart of an exemplary process for generating a VXML document(s) from a design document(s).
- Implementations described herein may provide systems and methods for automatically generating a VXML document(s) from a portion (e.g., a dialog design portion) of a design document(s) (e.g., a SDD) for a speech recognition IVR application.
- the design portion may describe the desired VXML elements for the VXML document(s), and the VXML document(s) may follow the specifications recommended by the W3C for a particular version of VXML (e.g., VoiceXML 2.0 and/or 2.1).
- the automatically generated VXML document(s) may be deployed on a server (e.g., a web server or an application server), and may be fetched by a speech engine (e.g., to navigate through a call flow). Automatic generation of VXML document(s) may help reduce the development time, the development cost, and/or manual input errors for speech recognition IVR applications.
- a system for generating VXML document(s) may receive a design document (e.g., a SDD) that specifies the VXML elements to include in the VXML document(s).
- the system may also parse the design document into VXML elements, and may create a VXML document(s) from the parsed VXML elements.
- the system may output the automatically created VXML document(s) for deployment and/or utilization by a speech engine.
- the systems and methods described herein may be used in any industry involved in the development of speech recognition IVR applications using VXML documents, and/or any other industry using VXML documents.
- a “document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product.
- a document may include, for example, a file, a combination of files, one or more files with embedded links to other files, a word processing file (e.g., a Microsoft Word® file), a spreadsheet (e.g., a Microsoft Excel® spreadsheet), a VXML document, etc.
- a word processing file e.g., a Microsoft Word® file
- a spreadsheet e.g., a Microsoft Excel® spreadsheet
- VXML document etc.
- a common document is a web page. Web pages often include textual information and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.).
- a “design document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product.
- a design document may include, for example, any document that includes VXML elements, information capable of being converted into VXML elements, information capable of being interpreted as VXML elements, etc.
- VXML element is to be broadly interpreted to include any VXML element (e.g., command) capable of being used in a VXML document.
- VXML elements may be used in VoiceXML 2.0 and/or 2.1: ⁇ assign>, ⁇ audio>, ⁇ block>, ⁇ break>, ⁇ catch>, ⁇ choice>, ⁇ clear>, ⁇ data>, ⁇ disconnect>, ⁇ else>, ⁇ elseif>, ⁇ emphasis>, ⁇ enumerate>, ⁇ error>, ⁇ example>, ⁇ exit>, ⁇ field>, ⁇ filled>, ⁇ foreach>, ⁇ form>, ⁇ goto>, ⁇ grammar>, ⁇ help>, ⁇ if>, ⁇ initial>, ⁇ item>, ⁇ link>, ⁇ log>, ⁇ mark>, ⁇ menu>, ⁇ meta>,
- FIG. 2 is an exemplary diagram of a device 200 that may be used with aspects of the invention.
- a device may be defined as a personal computer, a wireless telephone, a personal digital assistant (PDA), a lap top, or another type of computation or communication device.
- PDA personal digital assistant
- Device 200 may include a bus 210 , a processor 220 , a main memory 230 , a read only memory (ROM) 240 , a storage device 250 , an input device 260 , an output device 270 , and a communication interface 280 .
- Bus 210 may include a path that permits communication among the elements of device 200 .
- Processor 220 may include a processor, microprocessor, or processing logic that may interpret and execute instructions.
- Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 220 .
- ROM 240 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 220 .
- Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive.
- Input device 260 may include a mechanism that permits an operator to input information to device 200 , such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.
- Output device 270 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc.
- Communication interface 280 may include any transceiver-like mechanism that enables device 200 to communicate with other devices and/or systems.
- communication interface 280 may include mechanisms for communicating with another device or system via a network.
- device 200 may perform certain operations to generate a VXML document(s) from a design document(s). Device 200 may perform these operations in response to processor 220 executing software instructions contained in a computer-readable medium, such as memory 230 .
- a computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.
- the software instructions may be read into memory 230 from another computer-readable medium, such as data storage device 250 , or from another device via communication interface 280 .
- the software instructions contained in memory 230 may cause processor 220 to perform processes that will be described later.
- hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the principles of the invention.
- implementations consistent with the principles of the invention are not limited to any specific combination of hardware circuitry and software.
- FIG. 3 is a diagram of a portion of an exemplary computer-readable medium 300 that may be used by a device, such as device 200 .
- computer-readable medium 300 may correspond to memory 230 of device 200 .
- the portion of computer-readable medium 300 illustrated in FIG. 3 may include an operating system 310 , automatic VXML document generation software 320 , and VXML document editor software 330 .
- Automatic VXML document generation software 320 and/or VXML document editor software 330 may be included in operating system 310 or may be separate from operating system 310 .
- VXML document editor software 330 may be included in automatic VXML document generation software 320 or may be separate from automatic VXML document generation software 320 .
- Operating system 310 may include operating system software, such as the Microsoft Windows®, Apple MAC OS®, Linux®, Unix®, IBM OS/2®, and/or operating systems for personal digital assistants, cell phones, or other types of computation or communication devices.
- operating system software such as the Microsoft Windows®, Apple MAC OS®, Linux®, Unix®, IBM OS/2®, and/or operating systems for personal digital assistants, cell phones, or other types of computation or communication devices.
- Automatic VXML document generation software 320 may include an executable object or process.
- Device 200 may obtain the executable object or process from a server or from a disk, tape, network, CD-ROM, etc. Alternatively, the executable object or process may be pre-installed on device 200 .
- Automatic VXML document generation software 320 may permit automatic generation of a VXML document(s) from a design document(s). Automatic VXML document generation software 320 may be automatically activated upon initiation of operating system 310 . Alternatively, automatic VXML document generation software 320 may be activated when instructed by a user. In either case, automatic VXML document generation software 320 may permit automatic generation of a VXML document(s) from a design document(s), as will be described below.
- VXML document editor software 330 may include an executable object or process.
- Device 200 may obtain the executable object or process from a server or from a disk, tape, network, CD-ROM, etc. Alternatively, the executable object or process may be pre-installed on device 200 .
- VXML document editor software 330 may permit editing of a VXML document(s). VXML document editor software 330 may operate in conjunction with automatic VXML document generation software 320 , and enable editing of VXML document(s) generated by software 320 . In another implementation, VXML document editor software 330 may be part of automatic VXML document generation software 320 . In this latter implementation, automatic VXML document generation software 320 may perform the functions of VXML document editor software 330 . In yet another implementation, VXML document software 330 may be a process separate from operating system 310 and/or automatic VXML document generation software 320 .
- VXML document editor software 330 may be automatically activated upon initiation of operating system 310 and/or automatic VXML document generation software 320 . Alternatively, VXML document editor software 330 may be activated when instructed by a user. In either case, VXML document editor software 330 may permit editing of VXML document(s), as will be described below.
- FIG. 4A is an exemplary diagram of a system 400 for generating a VXML document 410 from a design document 405 .
- one or more of the functions of system 400 may be performed by a device (e.g., device 200 ).
- one or more of these functions may be performed by an entity separate from device 200 , such as a computer associated with device 200 .
- FIG. 4B is a diagram of an exemplary portion of design document 405 .
- Design document 405 may include a variety of information, including an application summary, application call flows, application specification requirements, and/or a dialog design.
- a portion of a dialog design section of design document 405 may include a variety of information, including the dialog states that may describe the dialog interaction to be used in an IVR application.
- the dialog design section may also include tables containing VXML element properties.
- the dialog design section may include a previous dialog state section 415 (e.g., a “GetPIN” section), a pre-condition and action section 420 , and/or a prompts section 425 .
- Prompts section 425 may be divided into columns (e.g., a condition column, a name column, a wording column, and a barge-in column). As further shown in FIG. 4B , prompts section 425 may include a prompt 430 to play during an initial dialog state (e.g., during an initial customized state for a PIN having a fixed number of digits), a prompt 435 to play during another initial dialog state (e.g., during an initial customized state for a PIN having a variable number of digits), and a timeout prompt 440 .
- an initial dialog state e.g., during an initial customized state for a PIN having a fixed number of digits
- a prompt 435 to play during another initial dialog state (e.g., during an initial customized state for a PIN having a variable number of digits)
- a timeout prompt 440 e.g., a timeout prompt 440 .
- design document 405 may include fewer or additional types of information.
- design document 405 may include the kind of grammar (e.g., dates, currency, phone, etc.) to be activated during the dialog state, prompts to play during transitioning from a previous dialog state, prompts to play during an initial dialog state, “no speech” timeout prompts, “no match” timeout prompts, “help” prompts, a next dialog state, etc.
- kind of grammar e.g., dates, currency, phone, etc.
- FIGS. 4C and 4D are diagrams of exemplary portions of VXML document 410 .
- VXML document 410 may include a variety of information, including any of the specifications recommended by the W3C and defined in VoiceXML 2.0 and/or 2.1.
- VXML document 410 may be a static document (i.e., the pages of VXML document may be called directly), or a dynamic document.
- Dynamic VXML documents for example, may be in the form of servlets, java server pages, active server pages, etc.
- the application may forward the user to a VXML document, as may be specified by the IVR call flow.
- a voice browser may render the VXML document, may follow the rules specified by the WC3 in VoiceXML 2.0 and/or 2.1, and may play the appropriate prompts.
- a user may call an IVR application, and, in one of the dialog states, the IVR application may prompt the user to input a seven digit account identification.
- a “no input” event may be defined as when there is no input from the user for four seconds.
- the voice browser may activate the “no input” event and may play the appropriate prompts specified by a ⁇ noinput> VXML element in the VXML document.
- a portion of VXML document 410 may include an introductory section 445 referring to the VXML version used for the VXML document.
- VXML document 410 may also include a block section 450 that may provide information relating to the initial prompt to be played.
- the portion of VXML document 410 may also include a field type section 455 that may specify the input type for the user's input, a first prompt section 460 relating to a “no input” event, and a second prompt section 465 relating to a “no input” event.
- the portion of VXML document 410 may include a script section 470 that provides a list of variables and the audio prompts (e.g., “For more information say help”) associated with each variable.
- VXML document 410 may include fewer or additional types of information.
- VXML document 415 may include any of the VXML elements described above.
- FIG. 5 is a functional diagram of the components of system 400 .
- system 400 may include a user interface 500 , a VXML element selector 510 , a design document selector 520 , a VXML specifications unit 530 , a design document parser 540 , a VXML element creator 550 , a VXML document publisher 560 , and a VXML document saver 570 .
- System 400 may alternatively include other components and/or component interrelations not shown in FIG. 5 .
- User interface 500 may display an interface that permits a user to interact with system 400 .
- VXML element selector 510 may permit selection of different VXML elements (e.g., any of the VXML elements defined above) for a dialog design described in a design document (e.g., design document 405 ). For example, if the dialog design includes a ⁇ field> VXML element, then the user, via VXML element selector 510 , may select “yes” for the field element and may also select the type of field (e.g., digits, Boolean, etc.).
- VXML element selector 510 may permit selection of different VXML elements (e.g., any of the VXML elements defined above) for a dialog design described in a design document (e.g., design document 405 ). For example, if the dialog design includes a ⁇ field> VXML element, then the user, via VXML element selector 510 , may select “yes” for the field element and may also select the
- the dialog design portion of the design document may require the user to enter digits between “4” and “8.” This may be accomplished with VXML element selector 510 by choosing the field type “digits” and entering the minimum and maximum number of digits as “4” and “8.”
- Document design selector 520 may permit selection of a design document, and VXML specifications unit 530 may specify the VXML elements and the relationships between them.
- Design document parser 540 may parse the design document into, e.g., VXML elements, prompts, other properties, etc. The individual elements of the parsed design document may be used by VXML element creator 550 to assemble a VXML document(s).
- VXML document publisher 560 may display the created VXML document and may permit editing of the VXML document.
- VXML document publisher 560 may also permit selection of another design document (e.g., via design document selector 520 ).
- the VXML document may be named and saved by VXML document saver 570 .
- FIG. 5 shows user interface 500 , VXML element selector 510 , design document selector 520 , VXML specifications unit 530 , design document parser 540 , VXML element creator 550 , VXML document publisher 560 , and VXML document saver 570 as separate components, the tasks of such components may be performed by a single processor (e.g., processor 220 ) or multiple tasks may be implemented by a single software component.
- processor 220 e.g., processor 220
- FIGS. 6-13 are diagrams illustrating the components of the exemplary system (e.g., system 400 ) in additional detail.
- User interface 500 may perform a variety of tasks to aid in the generation of VXML document(s).
- user interface 500 may include a user interface generator 600 that generates a user interface (e.g., a graphical user interface provided on output device 270 of device 200 ) for use by the other components of system 400 .
- the user interface may be a stand alone application, a web page, a client/server application, etc.
- the user interface may be written in a variety of programming languages, including, for example, any of the object oriented programming languages (e.g., java, c++, c#, visual basic, etc.).
- the user interface via VXML element selector 510 , may provide a display that enables selection of different VXML elements to be included in the VXML document(s) (e.g., the VXML elements set forth in the dialog design portion of the design document).
- the user interface via design document selector 520 , may provide a display that enables selection of the design document. If a design document is selected, the components of system 400 (e.g., VXML specifications unit 530 , design document parser 540 , and VXML element creator 550 ) may generate a VXML document(s), and the user interface, in conjunction with VXML document publisher 560 , may display the generated VXML document(s).
- the user interface via VXML document publisher 560 , may provide a display that permits the VXML document(s) to be edited and/or may permit selection of another design document.
- VXML document saver 570 the user interface may provide a display that permits the generated VXML document(s) to be named and/or saved.
- FIG. 6 shows an exemplary task performed by user interface 500
- user interface 500 may perform additional tasks that may be used to generate VXML document(s).
- VXML element selector 510 may perform a variety of tasks to aid in the generation of VXML document(s).
- VXML element selector 510 may include a field element selector 700 that permits selection of a field element, a field type selector 710 that permits selection of a field type for a selected field element, an application namer 720 that permits specification of an application name associated with a selected field element, etc.
- VXML element selector 510 may aid the selection of VXML elements to conform to VoiceXML 2.0 and/or 2.1.
- VXML element selector 510 may permit selection of a field element (e.g., via field element selector 700 ) if a dialog design portion of a design document includes a field element. If a field element is selected, then VXML element selector 510 (via field type selector 710 ) may permit selection of what type of field (e.g., digits, Boolean, currency, date, etc.) may be used for the field element. For example, if the dialog design portion may require that the IVR application user enter a date, then VXML element selector 510 may enable selection of the field type as a “date.”
- FIG. 7 shows exemplary tasks performed by VXML element selector 510
- VXML element selector 510 may perform additional tasks that may be used to generate VXML document(s).
- FIG. 7 shows the components of VXML element selector 510 as interconnected, in other implementations, the components of VXML element selector 510 may be separate, non-interconnected components.
- Design document selector 520 may perform a variety of tasks to aid in the generation of VXML document(s).
- design document selector 520 may include a design document selector 800 that permits selection of a design document (e.g., a SDD), a dialog design portion selector 810 that permits selection of a dialog design portion of a selected design document, etc.
- Design document selector 520 may perform such tasks in conjunction with the user interface (e.g., user interface 500 ), or over a command line.
- the dialog design portion of the design document may include the VXML elements for a given dialog state.
- FIG. 8 shows exemplary tasks performed by design document selector 520
- design document selector 520 may perform additional tasks that may be used to generate VXML document(s).
- FIG. 8 shows the components of design document selector 520 as interconnected, in other implementations, the components of design document selector 520 may be separate, non-interconnected components.
- VXML specifications unit 530 may perform a variety of tasks to aid in the generation of VXML document(s).
- VXML specifications unit 530 may include a VXML element specifier 900 that specifies the VXML elements provided in a design document, a VXML element relationship determiner 910 that determines the relationships between the specified VXML elements, etc.
- VXML specifications unit 530 may add the ⁇ vxml> element as the root element for the VXML document(s) generated by system 400 .
- VXML specifications unit 530 may add a ⁇ form> element as a parent element for the ⁇ field> element.
- FIG. 9 shows exemplary tasks performed by VXML specifications unit 530
- VXML specifications unit 530 may perform additional tasks that may be used to generate VXML document(s).
- FIG. 9 shows the components of VXML specifications unit 530 as interconnected, in other implementations, the components of VXML specifications unit 530 may be separate, non-interconnected components.
- Design document parser 540 may perform a variety of tasks to aid in the generation of VXML document(s).
- design document parser 540 may include a design document to VXML elements parser 1000 that parses the design document into VXML elements, prompts, and other properties, etc.
- design document parser 540 may use an Excel parser to break down the Excel document into individual data elements.
- design document parser 540 may parse the table(s) in the document into individual data elements.
- design document parser 540 may perform additional tasks that may be used to generate VXML document(s).
- VXML element creator 550 may perform a variety of tasks to aid in the generation of VXML document(s).
- VXML element creator 550 may include a VXML document assembler 1100 that may receive VXML elements (e.g., from parser 1000 ) and may create a VXML document(s) (e.g., VXML document 410 ) from the VXML elements.
- VXML document assembler 1100 may create a VXML document that may contain the root ⁇ vxml> element and other children VXML elements specified in the dialog design portion of the design document (e.g., design document 405 ).
- FIG. 11 shows an exemplary task performed by VXML element creator 550
- VXML element creator 550 may perform additional tasks that may be used to generate VXML document(s).
- VXML document publisher 560 may perform a variety of tasks to aid in the generation of VXML document(s).
- VXML document publisher 560 may include a VXML document display 1200 that may display (e.g., in conjunction with user interface 500 ) the VXML document(s) created by VXML element creator 550 .
- VXML document publisher 560 may include a VXML document editor 1210 that may permit editing of the VXML document(s), a document selector 1220 that may permit selection of alternative or additional design documents to be used to create a VXML document(s), etc.
- FIG. 12 shows exemplary tasks performed by VXML document publisher 560
- VXML document publisher 560 may perform additional tasks that may be used to generate VXML document(s).
- FIG. 12 shows the components of VXML document publisher 560 as interconnected, in other implementations, the components of VXML document publisher 560 may be separate, non-interconnected components.
- VXML document saver 570 may perform a variety of tasks to aid in the generation of VXML document(s).
- VXML document saver 570 may include a published VXML document identifier 1300 that may permit a user to save the VXML document(s) created by VXML document publisher 560 , etc.
- VXML document saver 570 may permit a user to select a name and an extension for the VXML document(s).
- a default extension for the VXML document(s) may be “vxml”.
- FIG. 13 shows an exemplary task performed by VXML document saver 570
- VXML document saver 570 may perform additional tasks that may be used to generate VXML document(s).
- FIGS. 14A and 14B provide a flowchart of an exemplary process for generating a VXML document(s) from a design document(s).
- a process 1400 for generating a VXML document(s) from a design document(s) may begin with the generation of a user interface (block 1405 ).
- user interface 500 may include user interface generator 600 that generates a user interface for use by the other components of system 400 .
- the user interface via other components of system 400 , may enable selection of different VXML elements to be included in the VXML document(s), may enable selection of the design document, may display the generated VXML document(s), may permit the VXML document(s) to be edited, may permit selection of another design document, and/or may permit the generated VXML document(s) to be named and/or saved.
- Process 1400 may determine whether VXML elements are to be selected by a user (block 1410 ). If VXML elements are to be selected by the user (block 1410 —YES), then process 1400 may receive or permit selection of VXML elements (block 1415 ). Otherwise (block 1410 —NO), process 1400 may receive or permit specification of an application name (block 1420 ).
- VXML element selector 510 may include field element selector 700 that permits selection of a field element, field type selector 710 that permits selection of a field type for the selected field element, application namer 720 that permits specification of an application name associated with the selected field element, etc. VXML element selector 510 may aid the selection of VXML elements to conform to VoiceXML 2.0 and/or 2.1.
- process 1400 may receive or permit selection and/or specification of a design document (block 1425 ).
- design document selector 520 may include design document selector 800 that may permit selection of a design document (e.g., a SDD), and dialog design portion selector 810 that may permit selection of a dialog design portion of a selected design document.
- VXML specifications unit 530 may include VXML element specifier 900 that may specify the VXML elements provided in the design document, a VXML element relationship determiner 910 that may determine the relationships between the specified VXML elements, etc.
- Process 1400 may parse the design document into VXML elements (block 1430 ).
- design document parser 540 may include design document to VXML elements parser 1000 that parses the design document into VXML elements, prompts, and other properties, etc.
- design document parser 540 may use an Excel parser to break down the Excel document into individual Excel elements.
- design document parser 540 may parse the table(s) in the document into individual elements.
- process 14 A may create and/or save the VXML document(s) assembled from the parsed VXML elements (block 1435 ).
- VXML element creator 550 may include VXML document assembler 1100 that may receive VXML elements (e.g., from parser 1000 ) and may create a VXML document(s) (e.g., VXML document 410 ) from the VXML elements, etc.
- VXML document assembler 1100 may receive VXML elements (e.g., from parser 1000 ) and may create a VXML document(s) (e.g., VXML document 410 ) from the VXML elements, etc.
- VXML document publisher 560 may include VXML document display 1200 that may display the VXML document(s) created by VXML element creator 550 , VXML document editor 1210 that may permit editing of the VXML document(s), document selector 1220 that may permit selection of alternative or additional design documents to be used to create a VXML document(s), etc.
- VXML document saver 570 may include published VXML document identifier 1300 that may permit a user to save the VXML document(s) created by VXML document publisher 560 , etc. In one example, VXML document saver 570 may permit a user to select a name and an extension for the VXML document(s).
- Process block 1415 ( FIG. 14A ) of process 1400 may include the blocks shown in FIG. 14B .
- process block 1415 may receive or permit addition of a form element (block 1440 ).
- VXML element selector 510 may permit selection of a form element (a form element may contain the core logic of a voice application, including grammars, prompts, and code to be executed based on user response) for the VXML document to be generated.
- Process block 1415 may receive or permit addition of a subdialog element (block 1445 ).
- VXML element selector 510 may receive or permit selection of a subdialog element for the VXML document to be generated.
- process block 1415 may receive or permit selection of field elements (block 1450 ).
- VXML element selector 510 may include field element selector 700 that permits selection of a field element and field type selector 710 that permits selection of a field type for the selected field element for the VXML document to be generated.
- Process block 1415 may receive or permit addition of text-to-speech (block 1455 ).
- VXML element selector 510 may permit selection of text-to-speech for the VXML document to be generated.
- Process block 1415 may receive or permit selection of the maximum number of errors for a “no input” event and/or a “no match” event (block 1460 ).
- VXML element selector 510 may permit selection of the maximum number of errors for a “no input” event (e.g., a IVR application user is unresponsive) and/or a “no match” event (e.g., an IVR application user is not providing the correct information) for the VXML document to be generated.
- Implementations described herein may provide systems and methods for automatically generating a VXML document(s) from a dialog design portion of a design document(s) for a speech recognition IVR application.
- the systems and methods may permit specification of the VXML elements in the design document, and may automatically parse the design document to extract the VXML elements from the design document.
- the systems and methods may assemble a VXML document(s) based on the extracted VXML elements. Automatic generation of VXML document(s) may help reduce the development time, the development cost, and/or manual input errors for speech recognition IVR applications.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- Interactive voice response (IVR) refers to a computerized system that allows a user, typically a telephone caller, to select an option from a voice menu or otherwise interface with a computer system. Generally, the system plays pre-recorded voice prompts to which the user responds by either pressing a number on a telephone keypad or speaking to the system.
- Voice extensible markup language (“VoiceXML” or “VXML”) is an open standard developed by the World Wide Web Consortium (W3C) for IVR applications. An IVR application user interface may be documented in a portion (e.g., a dialog design portion) of a design document (e.g., a Service Design Document or “SDD”). A SDD may include an application summary, application call flows, application specification requirements, and dialog design for an IVR application. The dialog design portion of the SDD may be used to show what the IVR application will do and how it will behave. The dialog design portion may be used to build the IVR application in the form of VXML documents. The VXML documents may include VXML elements that conform to the specifications recommended by W3C.
- The dialog design portion of the SDD may be arranged in tables (e.g., in a spreadsheet or in a table provided in a word processing document) that contain VXML element properties. For example, the tables may include the following VXML element properties: (1) a previous dialog state; (2) type of grammar to be activated during the dialog state; (3) prompts to play during transitioning from a previous dialog state; (4) prompts to play during an initial dialog state; (5) “no speech” (nothing spoken) timeout prompts; (6) “no match” (something spoken outside of the grammar) timeout prompts; (7) “help” prompts; and/or (8) a next dialog state.
- Conventionally, an IVR designer or programmer manually creates VXML documents for an IVR application from a design document. Generally, this involves the programmer reading the design document and creating VXML documents that implement the dialog design portion of the design document. This may be very time consuming and may cause erroneous dialog design to be input by the programmer in the VXML documents.
- The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the invention and, together with the description, explain aspects of the invention. In the drawings:
-
FIG. 1 is a diagram of an overview of an exemplary implementation described herein; -
FIG. 2 is an exemplary diagram of a device in which systems and methods consistent with the principles of the invention may be implemented; -
FIG. 3 is a diagram of a portion of an exemplary computer-readable medium that may be used by the device ofFIG. 2 ; -
FIG. 4A is a diagram of a system for generating a VXML document(s) from a design document(s) according to an exemplary implementation; -
FIG. 4B is a diagram of an exemplary portion of the design document ofFIG. 4A ; -
FIGS. 4C and 4D are diagrams of exemplary portions of the VXML document ofFIG. 4A ; -
FIG. 5 is a functional diagram of the components of the exemplary system ofFIG. 4A ; -
FIG. 6 is a diagram of a user interface of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 7 is a diagram of a VXML element selector of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 8 is a diagram of a design document selector of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 9 is a diagram of a VXML specifications unit of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 10 is a diagram of a design document parser of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 11 is a diagram of a VXML element creator of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 12 is a diagram of a VXML document publisher of the exemplary system ofFIGS. 4A and 5 ; -
FIG. 13 is a diagram of a VXML document saver of the exemplary system ofFIGS. 4A and 5 ; and -
FIGS. 14A and 14B provide a flowchart of an exemplary process for generating a VXML document(s) from a design document(s). - The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.
- Implementations described herein may provide systems and methods for automatically generating a VXML document(s) from a portion (e.g., a dialog design portion) of a design document(s) (e.g., a SDD) for a speech recognition IVR application. The design portion may describe the desired VXML elements for the VXML document(s), and the VXML document(s) may follow the specifications recommended by the W3C for a particular version of VXML (e.g., VoiceXML 2.0 and/or 2.1). The automatically generated VXML document(s) may be deployed on a server (e.g., a web server or an application server), and may be fetched by a speech engine (e.g., to navigate through a call flow). Automatic generation of VXML document(s) may help reduce the development time, the development cost, and/or manual input errors for speech recognition IVR applications.
- For example, in one implementation, as shown in
FIG. 1 , a system for generating VXML document(s) may receive a design document (e.g., a SDD) that specifies the VXML elements to include in the VXML document(s). The system may also parse the design document into VXML elements, and may create a VXML document(s) from the parsed VXML elements. The system may output the automatically created VXML document(s) for deployment and/or utilization by a speech engine. The systems and methods described herein may be used in any industry involved in the development of speech recognition IVR applications using VXML documents, and/or any other industry using VXML documents. - A “document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product. A document may include, for example, a file, a combination of files, one or more files with embedded links to other files, a word processing file (e.g., a Microsoft Word® file), a spreadsheet (e.g., a Microsoft Excel® spreadsheet), a VXML document, etc. In the context of the Internet, a common document is a web page. Web pages often include textual information and may include embedded information (such as meta information, images, hyperlinks, etc.) and/or embedded instructions (such as Javascript, etc.).
- A “design document,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product. A design document may include, for example, any document that includes VXML elements, information capable of being converted into VXML elements, information capable of being interpreted as VXML elements, etc.
- A “VXML element,” as the term is used herein, is to be broadly interpreted to include any VXML element (e.g., command) capable of being used in a VXML document. For example, the following VXML elements may be used in VoiceXML 2.0 and/or 2.1: <assign>, <audio>, <block>, <break>, <catch>, <choice>, <clear>, <data>, <disconnect>, <else>, <elseif>, <emphasis>, <enumerate>, <error>, <example>, <exit>, <field>, <filled>, <foreach>, <form>, <goto>, <grammar>, <help>, <if>, <initial>, <item>, <link>, <log>, <mark>, <menu>, <meta>, <noinput>, <nomatch>, <object>, <one-of>, <option>, <paragraph>, <param>, <phoneme>, <prompt>, <property>, <prosody>, <record>, <reprompt>, <return>, <rule>, <ruleref>, <say-as>, <script>, <send>, <sentence>, <sub>, <subdialog>, <submit>, <tag>, <throw>, <token>, <transfer>, <value>, <var>, and <vxml>.
-
FIG. 2 is an exemplary diagram of adevice 200 that may be used with aspects of the invention. A device may be defined as a personal computer, a wireless telephone, a personal digital assistant (PDA), a lap top, or another type of computation or communication device. -
Device 200 may include abus 210, aprocessor 220, amain memory 230, a read only memory (ROM) 240, astorage device 250, aninput device 260, anoutput device 270, and acommunication interface 280.Bus 210 may include a path that permits communication among the elements ofdevice 200. -
Processor 220 may include a processor, microprocessor, or processing logic that may interpret and execute instructions.Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution byprocessor 220.ROM 240 may include a ROM device or another type of static storage device that may store static information and instructions for use byprocessor 220.Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive. -
Input device 260 may include a mechanism that permits an operator to input information todevice 200, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc.Output device 270 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc.Communication interface 280 may include any transceiver-like mechanism that enablesdevice 200 to communicate with other devices and/or systems. For example,communication interface 280 may include mechanisms for communicating with another device or system via a network. - As will be described in detail below,
device 200 may perform certain operations to generate a VXML document(s) from a design document(s).Device 200 may perform these operations in response toprocessor 220 executing software instructions contained in a computer-readable medium, such asmemory 230. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave. - The software instructions may be read into
memory 230 from another computer-readable medium, such asdata storage device 250, or from another device viacommunication interface 280. The software instructions contained inmemory 230 may causeprocessor 220 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the principles of the invention. Thus, implementations consistent with the principles of the invention are not limited to any specific combination of hardware circuitry and software. -
FIG. 3 is a diagram of a portion of an exemplary computer-readable medium 300 that may be used by a device, such asdevice 200. In one implementation, computer-readable medium 300 may correspond tomemory 230 ofdevice 200. The portion of computer-readable medium 300 illustrated inFIG. 3 may include anoperating system 310, automatic VXMLdocument generation software 320, and VXMLdocument editor software 330. Automatic VXMLdocument generation software 320 and/or VXMLdocument editor software 330 may be included inoperating system 310 or may be separate fromoperating system 310. VXMLdocument editor software 330 may be included in automatic VXMLdocument generation software 320 or may be separate from automatic VXMLdocument generation software 320. -
Operating system 310 may include operating system software, such as the Microsoft Windows®, Apple MAC OS®, Linux®, Unix®, IBM OS/2®, and/or operating systems for personal digital assistants, cell phones, or other types of computation or communication devices. - Automatic VXML
document generation software 320 may include an executable object or process.Device 200 may obtain the executable object or process from a server or from a disk, tape, network, CD-ROM, etc. Alternatively, the executable object or process may be pre-installed ondevice 200. - Automatic VXML
document generation software 320 may permit automatic generation of a VXML document(s) from a design document(s). Automatic VXMLdocument generation software 320 may be automatically activated upon initiation ofoperating system 310. Alternatively, automatic VXMLdocument generation software 320 may be activated when instructed by a user. In either case, automatic VXMLdocument generation software 320 may permit automatic generation of a VXML document(s) from a design document(s), as will be described below. - VXML
document editor software 330 may include an executable object or process.Device 200 may obtain the executable object or process from a server or from a disk, tape, network, CD-ROM, etc. Alternatively, the executable object or process may be pre-installed ondevice 200. - VXML
document editor software 330 may permit editing of a VXML document(s). VXMLdocument editor software 330 may operate in conjunction with automatic VXMLdocument generation software 320, and enable editing of VXML document(s) generated bysoftware 320. In another implementation, VXMLdocument editor software 330 may be part of automatic VXMLdocument generation software 320. In this latter implementation, automatic VXMLdocument generation software 320 may perform the functions of VXMLdocument editor software 330. In yet another implementation,VXML document software 330 may be a process separate fromoperating system 310 and/or automatic VXMLdocument generation software 320. - VXML
document editor software 330 may be automatically activated upon initiation ofoperating system 310 and/or automatic VXMLdocument generation software 320. Alternatively, VXMLdocument editor software 330 may be activated when instructed by a user. In either case, VXMLdocument editor software 330 may permit editing of VXML document(s), as will be described below. -
FIG. 4A is an exemplary diagram of asystem 400 for generating aVXML document 410 from adesign document 405. According to one implementation, one or more of the functions ofsystem 400, as described below, may be performed by a device (e.g., device 200). According to another implementation, one or more of these functions may be performed by an entity separate fromdevice 200, such as a computer associated withdevice 200. -
FIG. 4B is a diagram of an exemplary portion ofdesign document 405.Design document 405 may include a variety of information, including an application summary, application call flows, application specification requirements, and/or a dialog design. As shown inFIG. 4B , a portion of a dialog design section ofdesign document 405 may include a variety of information, including the dialog states that may describe the dialog interaction to be used in an IVR application. The dialog design section may also include tables containing VXML element properties. For example, the dialog design section may include a previous dialog state section 415 (e.g., a “GetPIN” section), a pre-condition andaction section 420, and/or aprompts section 425.Prompts section 425 may be divided into columns (e.g., a condition column, a name column, a wording column, and a barge-in column). As further shown inFIG. 4B , promptssection 425 may include a prompt 430 to play during an initial dialog state (e.g., during an initial customized state for a PIN having a fixed number of digits), a prompt 435 to play during another initial dialog state (e.g., during an initial customized state for a PIN having a variable number of digits), and atimeout prompt 440. - Although
FIG. 4B shows exemplary information that may be included indesign document 405, in other implementations,design document 405 may include fewer or additional types of information. For example,design document 405 may include the kind of grammar (e.g., dates, currency, phone, etc.) to be activated during the dialog state, prompts to play during transitioning from a previous dialog state, prompts to play during an initial dialog state, “no speech” timeout prompts, “no match” timeout prompts, “help” prompts, a next dialog state, etc. -
FIGS. 4C and 4D are diagrams of exemplary portions ofVXML document 410.VXML document 410 may include a variety of information, including any of the specifications recommended by the W3C and defined in VoiceXML 2.0 and/or 2.1.VXML document 410 may be a static document (i.e., the pages of VXML document may be called directly), or a dynamic document. Dynamic VXML documents, for example, may be in the form of servlets, java server pages, active server pages, etc. In one example, if a user calls an IVR application, the application may forward the user to a VXML document, as may be specified by the IVR call flow. A voice browser may render the VXML document, may follow the rules specified by the WC3 in VoiceXML 2.0 and/or 2.1, and may play the appropriate prompts. For example, a user may call an IVR application, and, in one of the dialog states, the IVR application may prompt the user to input a seven digit account identification. For this dialog state, a “no input” event may be defined as when there is no input from the user for four seconds. In other words, if the user does not key in or speak the account identification after four seconds, the voice browser may activate the “no input” event and may play the appropriate prompts specified by a <noinput> VXML element in the VXML document. - As shown in
FIGS. 4C and 4D , a portion ofVXML document 410 may include anintroductory section 445 referring to the VXML version used for the VXML document.VXML document 410 may also include ablock section 450 that may provide information relating to the initial prompt to be played. As further shown inFIG. 4C , the portion ofVXML document 410 may also include afield type section 455 that may specify the input type for the user's input, a firstprompt section 460 relating to a “no input” event, and a secondprompt section 465 relating to a “no input” event. As further shown inFIG. 4D , the portion ofVXML document 410 may include ascript section 470 that provides a list of variables and the audio prompts (e.g., “For more information say help”) associated with each variable. - Although
FIGS. 4C and 4D show exemplary information that may be included inVXML document 410, in other implementations,VXML document 410 may include fewer or additional types of information. For example,VXML document 415 may include any of the VXML elements described above. -
FIG. 5 is a functional diagram of the components ofsystem 400. As shown inFIG. 5 ,system 400 may include a user interface 500, aVXML element selector 510, adesign document selector 520, aVXML specifications unit 530, adesign document parser 540, aVXML element creator 550, aVXML document publisher 560, and aVXML document saver 570.System 400 may alternatively include other components and/or component interrelations not shown inFIG. 5 . - User interface 500 may display an interface that permits a user to interact with
system 400.VXML element selector 510 may permit selection of different VXML elements (e.g., any of the VXML elements defined above) for a dialog design described in a design document (e.g., design document 405). For example, if the dialog design includes a <field> VXML element, then the user, viaVXML element selector 510, may select “yes” for the field element and may also select the type of field (e.g., digits, Boolean, etc.). In another example, the dialog design portion of the design document may require the user to enter digits between “4” and “8.” This may be accomplished withVXML element selector 510 by choosing the field type “digits” and entering the minimum and maximum number of digits as “4” and “8.” -
Document design selector 520 may permit selection of a design document, andVXML specifications unit 530 may specify the VXML elements and the relationships between them.Design document parser 540 may parse the design document into, e.g., VXML elements, prompts, other properties, etc. The individual elements of the parsed design document may be used byVXML element creator 550 to assemble a VXML document(s).VXML document publisher 560 may display the created VXML document and may permit editing of the VXML document.VXML document publisher 560 may also permit selection of another design document (e.g., via design document selector 520). The VXML document may be named and saved byVXML document saver 570. - Although
FIG. 5 shows user interface 500,VXML element selector 510,design document selector 520,VXML specifications unit 530,design document parser 540,VXML element creator 550,VXML document publisher 560, andVXML document saver 570 as separate components, the tasks of such components may be performed by a single processor (e.g., processor 220) or multiple tasks may be implemented by a single software component. -
FIGS. 6-13 are diagrams illustrating the components of the exemplary system (e.g., system 400) in additional detail. - User interface 500, as shown in
FIG. 6 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation, user interface 500 may include a user interface generator 600 that generates a user interface (e.g., a graphical user interface provided onoutput device 270 of device 200) for use by the other components ofsystem 400. The user interface may be a stand alone application, a web page, a client/server application, etc. The user interface may be written in a variety of programming languages, including, for example, any of the object oriented programming languages (e.g., java, c++, c#, visual basic, etc.). - The user interface, via
VXML element selector 510, may provide a display that enables selection of different VXML elements to be included in the VXML document(s) (e.g., the VXML elements set forth in the dialog design portion of the design document). The user interface, viadesign document selector 520, may provide a display that enables selection of the design document. If a design document is selected, the components of system 400 (e.g.,VXML specifications unit 530,design document parser 540, and VXML element creator 550) may generate a VXML document(s), and the user interface, in conjunction withVXML document publisher 560, may display the generated VXML document(s). The user interface, viaVXML document publisher 560, may provide a display that permits the VXML document(s) to be edited and/or may permit selection of another design document. In conjunction withVXML document saver 570, the user interface may provide a display that permits the generated VXML document(s) to be named and/or saved. - Although
FIG. 6 shows an exemplary task performed by user interface 500, in other implementations, user interface 500 may perform additional tasks that may be used to generate VXML document(s). -
VXML element selector 510, as shown inFIG. 7 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,VXML element selector 510 may include afield element selector 700 that permits selection of a field element, afield type selector 710 that permits selection of a field type for a selected field element, anapplication namer 720 that permits specification of an application name associated with a selected field element, etc.VXML element selector 510 may aid the selection of VXML elements to conform to VoiceXML 2.0 and/or 2.1. For example,VXML element selector 510 may permit selection of a field element (e.g., via field element selector 700) if a dialog design portion of a design document includes a field element. If a field element is selected, then VXML element selector 510 (via field type selector 710) may permit selection of what type of field (e.g., digits, Boolean, currency, date, etc.) may be used for the field element. For example, if the dialog design portion may require that the IVR application user enter a date, thenVXML element selector 510 may enable selection of the field type as a “date.” - Although
FIG. 7 shows exemplary tasks performed byVXML element selector 510, in other implementations,VXML element selector 510 may perform additional tasks that may be used to generate VXML document(s). Furthermore, althoughFIG. 7 shows the components ofVXML element selector 510 as interconnected, in other implementations, the components ofVXML element selector 510 may be separate, non-interconnected components. -
Design document selector 520, as shown inFIG. 8 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,design document selector 520 may include adesign document selector 800 that permits selection of a design document (e.g., a SDD), a dialogdesign portion selector 810 that permits selection of a dialog design portion of a selected design document, etc.Design document selector 520 may perform such tasks in conjunction with the user interface (e.g., user interface 500), or over a command line. The dialog design portion of the design document may include the VXML elements for a given dialog state. - Although
FIG. 8 shows exemplary tasks performed bydesign document selector 520, in other implementations,design document selector 520 may perform additional tasks that may be used to generate VXML document(s). Furthermore, althoughFIG. 8 shows the components ofdesign document selector 520 as interconnected, in other implementations, the components ofdesign document selector 520 may be separate, non-interconnected components. -
VXML specifications unit 530, as shown inFIG. 9 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,VXML specifications unit 530 may include aVXML element specifier 900 that specifies the VXML elements provided in a design document, a VXMLelement relationship determiner 910 that determines the relationships between the specified VXML elements, etc. For example, since the <vxml> element may be a root element for the VXML document,VXML specifications unit 530 may add the <vxml> element as the root element for the VXML document(s) generated bysystem 400. In another example, since a parent element for a <field> element (this element may create an interactive dialog between a user and the IVR application) may be a <form> element, if a <field> element is selected,VXML specifications unit 530 may add a <form> element as a parent element for the <field> element. - Although
FIG. 9 shows exemplary tasks performed byVXML specifications unit 530, in other implementations,VXML specifications unit 530 may perform additional tasks that may be used to generate VXML document(s). Furthermore, althoughFIG. 9 shows the components ofVXML specifications unit 530 as interconnected, in other implementations, the components ofVXML specifications unit 530 may be separate, non-interconnected components. -
Design document parser 540, as shown inFIG. 10 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,design document parser 540 may include a design document to VXML elements parser 1000 that parses the design document into VXML elements, prompts, and other properties, etc. For example, if the design document is in the form of an Excel document,design document parser 540 may use an Excel parser to break down the Excel document into individual data elements. In another example, if the design document is in the form of a document with a table(s),design document parser 540 may parse the table(s) in the document into individual data elements. - Although
FIG. 10 shows an exemplary task performed bydesign document parser 540, in other implementations,design document parser 540 may perform additional tasks that may be used to generate VXML document(s). -
VXML element creator 550, as shown inFIG. 11 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,VXML element creator 550 may include aVXML document assembler 1100 that may receive VXML elements (e.g., from parser 1000) and may create a VXML document(s) (e.g., VXML document 410) from the VXML elements. In one example,VXML document assembler 1100 may create a VXML document that may contain the root <vxml> element and other children VXML elements specified in the dialog design portion of the design document (e.g., design document 405). - Although
FIG. 11 shows an exemplary task performed byVXML element creator 550, in other implementations,VXML element creator 550 may perform additional tasks that may be used to generate VXML document(s). -
VXML document publisher 560, as shown inFIG. 12 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,VXML document publisher 560 may include aVXML document display 1200 that may display (e.g., in conjunction with user interface 500) the VXML document(s) created byVXML element creator 550. In other implementations,VXML document publisher 560 may include aVXML document editor 1210 that may permit editing of the VXML document(s), adocument selector 1220 that may permit selection of alternative or additional design documents to be used to create a VXML document(s), etc. - Although
FIG. 12 shows exemplary tasks performed byVXML document publisher 560, in other implementations,VXML document publisher 560 may perform additional tasks that may be used to generate VXML document(s). Furthermore, althoughFIG. 12 shows the components ofVXML document publisher 560 as interconnected, in other implementations, the components ofVXML document publisher 560 may be separate, non-interconnected components. -
VXML document saver 570, as shown inFIG. 13 , may perform a variety of tasks to aid in the generation of VXML document(s). For example, in one implementation,VXML document saver 570 may include a publishedVXML document identifier 1300 that may permit a user to save the VXML document(s) created byVXML document publisher 560, etc. In another example,VXML document saver 570 may permit a user to select a name and an extension for the VXML document(s). A default extension for the VXML document(s) may be “vxml”. - Although
FIG. 13 shows an exemplary task performed byVXML document saver 570, in other implementations,VXML document saver 570 may perform additional tasks that may be used to generate VXML document(s). -
FIGS. 14A and 14B provide a flowchart of an exemplary process for generating a VXML document(s) from a design document(s). As shown inFIG. 14A , aprocess 1400 for generating a VXML document(s) from a design document(s) may begin with the generation of a user interface (block 1405). For example, in one implementation described above in connection withFIG. 6 , user interface 500 may include user interface generator 600 that generates a user interface for use by the other components ofsystem 400. The user interface, via other components ofsystem 400, may enable selection of different VXML elements to be included in the VXML document(s), may enable selection of the design document, may display the generated VXML document(s), may permit the VXML document(s) to be edited, may permit selection of another design document, and/or may permit the generated VXML document(s) to be named and/or saved. -
Process 1400 may determine whether VXML elements are to be selected by a user (block 1410). If VXML elements are to be selected by the user (block 1410—YES), thenprocess 1400 may receive or permit selection of VXML elements (block 1415). Otherwise (block 1410—NO),process 1400 may receive or permit specification of an application name (block 1420). For example, in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may includefield element selector 700 that permits selection of a field element,field type selector 710 that permits selection of a field type for the selected field element,application namer 720 that permits specification of an application name associated with the selected field element, etc.VXML element selector 510 may aid the selection of VXML elements to conform to VoiceXML 2.0 and/or 2.1. - As further shown in
FIG. 14A ,process 1400 may receive or permit selection and/or specification of a design document (block 1425). For example, in one implementation described above in connection withFIG. 8 ,design document selector 520 may includedesign document selector 800 that may permit selection of a design document (e.g., a SDD), and dialogdesign portion selector 810 that may permit selection of a dialog design portion of a selected design document. In another implementation described above in connection withFIG. 9 ,VXML specifications unit 530 may includeVXML element specifier 900 that may specify the VXML elements provided in the design document, a VXMLelement relationship determiner 910 that may determine the relationships between the specified VXML elements, etc. -
Process 1400 may parse the design document into VXML elements (block 1430). For example, in one implementation described above in connection withFIG. 10 ,design document parser 540 may include design document to VXML elements parser 1000 that parses the design document into VXML elements, prompts, and other properties, etc. In one example, if the design document is in the form of an Excel document,design document parser 540 may use an Excel parser to break down the Excel document into individual Excel elements. In another example, if the design document is in the form of a document with a table(s),design document parser 540 may parse the table(s) in the document into individual elements. - As further shown in
FIG. 14A , process 14A may create and/or save the VXML document(s) assembled from the parsed VXML elements (block 1435). For example, in one implementation described above in connection withFIG. 11 ,VXML element creator 550 may includeVXML document assembler 1100 that may receive VXML elements (e.g., from parser 1000) and may create a VXML document(s) (e.g., VXML document 410) from the VXML elements, etc. In another implementation described above in connection withFIG. 12 ,VXML document publisher 560 may includeVXML document display 1200 that may display the VXML document(s) created byVXML element creator 550,VXML document editor 1210 that may permit editing of the VXML document(s),document selector 1220 that may permit selection of alternative or additional design documents to be used to create a VXML document(s), etc. In still another implementation described above in connection withFIG. 13 ,VXML document saver 570 may include publishedVXML document identifier 1300 that may permit a user to save the VXML document(s) created byVXML document publisher 560, etc. In one example,VXML document saver 570 may permit a user to select a name and an extension for the VXML document(s). - Process block 1415 (
FIG. 14A ) ofprocess 1400 may include the blocks shown inFIG. 14B . Thus,process block 1415 may receive or permit addition of a form element (block 1440). For example, in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may permit selection of a form element (a form element may contain the core logic of a voice application, including grammars, prompts, and code to be executed based on user response) for the VXML document to be generated.Process block 1415 may receive or permit addition of a subdialog element (block 1445). For example, in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may receive or permit selection of a subdialog element for the VXML document to be generated. - As further shown in
FIG. 14B ,process block 1415 may receive or permit selection of field elements (block 1450). For example in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may includefield element selector 700 that permits selection of a field element andfield type selector 710 that permits selection of a field type for the selected field element for the VXML document to be generated.Process block 1415 may receive or permit addition of text-to-speech (block 1455). For example in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may permit selection of text-to-speech for the VXML document to be generated. -
Process block 1415 may receive or permit selection of the maximum number of errors for a “no input” event and/or a “no match” event (block 1460). For example in one implementation described above in connection withFIG. 7 ,VXML element selector 510 may permit selection of the maximum number of errors for a “no input” event (e.g., a IVR application user is unresponsive) and/or a “no match” event (e.g., an IVR application user is not providing the correct information) for the VXML document to be generated. - Implementations described herein may provide systems and methods for automatically generating a VXML document(s) from a dialog design portion of a design document(s) for a speech recognition IVR application. For example, the systems and methods may permit specification of the VXML elements in the design document, and may automatically parse the design document to extract the VXML elements from the design document. The systems and methods may assemble a VXML document(s) based on the extracted VXML elements. Automatic generation of VXML document(s) may help reduce the development time, the development cost, and/or manual input errors for speech recognition IVR applications.
- The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of acts have been described with regard to
FIGS. 14A and 14B , the order of the acts may be modified in other implementations consistent with principles of the invention. Further, non-dependent acts may be performed in parallel. - It will be apparent to one of ordinary skill in the art that aspects of the invention, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement aspects consistent with principles of the invention is not limiting of the invention. Thus, the operation and behavior of the aspects were described without reference to the specific software code—it being understood that one of ordinary skill in the art would be able to design software and control hardware to implement the aspects based on the description herein.
- No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/041,872 US20110161927A1 (en) | 2006-09-01 | 2011-03-07 | Generating voice extensible markup language (vxml) documents |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/469,629 US7937687B2 (en) | 2006-09-01 | 2006-09-01 | Generating voice extensible markup language (VXML) documents |
US13/041,872 US20110161927A1 (en) | 2006-09-01 | 2011-03-07 | Generating voice extensible markup language (vxml) documents |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/469,629 Continuation US7937687B2 (en) | 2006-09-01 | 2006-09-01 | Generating voice extensible markup language (VXML) documents |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110161927A1 true US20110161927A1 (en) | 2011-06-30 |
Family
ID=39465283
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/469,629 Expired - Fee Related US7937687B2 (en) | 2006-09-01 | 2006-09-01 | Generating voice extensible markup language (VXML) documents |
US13/041,872 Abandoned US20110161927A1 (en) | 2006-09-01 | 2011-03-07 | Generating voice extensible markup language (vxml) documents |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/469,629 Expired - Fee Related US7937687B2 (en) | 2006-09-01 | 2006-09-01 | Generating voice extensible markup language (VXML) documents |
Country Status (1)
Country | Link |
---|---|
US (2) | US7937687B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918321B2 (en) * | 2012-04-13 | 2014-12-23 | At&T Intellectual Property I, L.P. | System and method for enhancing speech recognition accuracy |
US9741340B2 (en) | 2014-11-07 | 2017-08-22 | Nuance Communications, Inc. | System and method for enhancing speech recognition accuracy using weighted grammars based on user profile including demographic, account, time and date information |
US11758044B1 (en) * | 2020-07-02 | 2023-09-12 | Intrado Corporation | Prompt list context generator |
US11488597B2 (en) * | 2020-09-08 | 2022-11-01 | Google Llc | Document creation and editing via automated assistant interactions |
Citations (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020184373A1 (en) * | 2000-11-01 | 2002-12-05 | International Business Machines Corporation | Conversational networking via transport, coding and control conversational protocols |
US20020198719A1 (en) * | 2000-12-04 | 2002-12-26 | International Business Machines Corporation | Reusable voiceXML dialog components, subdialogs and beans |
US20030018668A1 (en) * | 2001-07-20 | 2003-01-23 | International Business Machines Corporation | Enhanced transcoding of structured documents through use of annotation techniques |
US20030055651A1 (en) * | 2001-08-24 | 2003-03-20 | Pfeiffer Ralf I. | System, method and computer program product for extended element types to enhance operational characteristics in a voice portal |
US20030055884A1 (en) * | 2001-07-03 | 2003-03-20 | Yuen Michael S. | Method for automated harvesting of data from a Web site using a voice portal system |
US20030139928A1 (en) * | 2002-01-22 | 2003-07-24 | Raven Technology, Inc. | System and method for dynamically creating a voice portal in voice XML |
US20030182622A1 (en) * | 2002-02-18 | 2003-09-25 | Sandeep Sibal | Technique for synchronizing visual and voice browsers to enable multi-modal browsing |
US20040006471A1 (en) * | 2001-07-03 | 2004-01-08 | Leo Chiu | Method and apparatus for preprocessing text-to-speech files in a voice XML application distribution system using industry specific, social and regional expression rules |
US20040128136A1 (en) * | 2002-09-20 | 2004-07-01 | Irani Pourang Polad | Internet voice browser |
US6766298B1 (en) * | 1999-09-03 | 2004-07-20 | Cisco Technology, Inc. | Application server configured for dynamically generating web pages for voice enabled web applications |
US20040181467A1 (en) * | 2003-03-14 | 2004-09-16 | Samir Raiyani | Multi-modal warehouse applications |
US20040205614A1 (en) * | 2001-08-09 | 2004-10-14 | Voxera Corporation | System and method for dynamically translating HTML to VoiceXML intelligently |
US20040205579A1 (en) * | 2002-05-13 | 2004-10-14 | International Business Machines Corporation | Deriving menu-based voice markup from visual markup |
US20050125232A1 (en) * | 2003-10-31 | 2005-06-09 | Gadd I. M. | Automated speech-enabled application creation method and apparatus |
US20050132323A1 (en) * | 2003-12-12 | 2005-06-16 | International Business Machines Corporation | Systems and methods for generating applications that are automatically optimized for network performance |
US20050135338A1 (en) * | 2003-12-23 | 2005-06-23 | Leo Chiu | Method for creating and deploying system changes in a voice application system |
US20050149331A1 (en) * | 2002-06-14 | 2005-07-07 | Ehrilich Steven C. | Method and system for developing speech applications |
US6920425B1 (en) * | 2000-05-16 | 2005-07-19 | Nortel Networks Limited | Visual interactive response system and method translated from interactive voice response for telephone utility |
US20050229048A1 (en) * | 2004-03-30 | 2005-10-13 | International Business Machines Corporation | Caching operational code in a voice markup interpreter |
US20050273759A1 (en) * | 2000-12-04 | 2005-12-08 | Lucassen John M | MVC (Model-View-Controller) based multi-modal authoring tool and development environment |
US20060025997A1 (en) * | 2002-07-24 | 2006-02-02 | Law Eng B | System and process for developing a voice application |
US6999930B1 (en) * | 2002-03-27 | 2006-02-14 | Extended Systems, Inc. | Voice dialog server method and system |
US20060136870A1 (en) * | 2004-12-22 | 2006-06-22 | International Business Machines Corporation | Visual user interface for creating multimodal applications |
US20060203980A1 (en) * | 2002-09-06 | 2006-09-14 | Telstra Corporation Limited | Development system for a dialog system |
US20060212841A1 (en) * | 2005-03-15 | 2006-09-21 | Julian Sinai | Computer-implemented tool for creation of speech application code and associated functional specification |
US7143042B1 (en) * | 1999-10-04 | 2006-11-28 | Nuance Communications | Tool for graphically defining dialog flows and for establishing operational links between speech applications and hypermedia content in an interactive voice response environment |
US7231636B1 (en) * | 2001-12-21 | 2007-06-12 | Nortel Networks Limited | System and method for tracking VoiceXML document execution in real-time |
US20070180365A1 (en) * | 2006-01-27 | 2007-08-02 | Ashok Mitter Khosla | Automated process and system for converting a flowchart into a speech mark-up language |
US7287248B1 (en) * | 2002-10-31 | 2007-10-23 | Tellme Networks, Inc. | Method and system for the generation of a voice extensible markup language application for a voice interface process |
US7289607B2 (en) * | 2001-12-11 | 2007-10-30 | Cisco Technology, Inc. | System and methodology for voice activated access to multiple data sources and voice repositories in a single session |
US20070261027A1 (en) * | 2006-05-08 | 2007-11-08 | International Business Machines Corporation | Method and system for automatically discovering and populating a palette of reusable dialog components |
US20070280216A1 (en) * | 2006-05-31 | 2007-12-06 | At&T Corp. | Method and apparatus for providing a reliable voice extensible markup language service |
US7373300B1 (en) * | 2002-12-18 | 2008-05-13 | At&T Corp. | System and method of providing a spoken dialog interface to a website |
US7434162B2 (en) * | 2002-06-06 | 2008-10-07 | Speechcyle, Inc. | Visual knowledge publisher system |
US7555431B2 (en) * | 1999-11-12 | 2009-06-30 | Phoenix Solutions, Inc. | Method for processing speech using dynamic grammars |
US7606714B2 (en) * | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
US7817784B2 (en) * | 2003-12-23 | 2010-10-19 | Apptera, Inc. | System for managing voice files of a voice prompt server |
US7831426B2 (en) * | 1999-11-12 | 2010-11-09 | Phoenix Solutions, Inc. | Network based interactive speech recognition system |
US20100299590A1 (en) * | 2006-03-31 | 2010-11-25 | Interact Incorporated Software Systems | Method and system for processing xml-type telecommunications documents |
US8024196B1 (en) * | 2005-09-19 | 2011-09-20 | Sap Ag | Techniques for creating and translating voice applications |
US8104024B2 (en) * | 2003-10-17 | 2012-01-24 | Hewlett-Packard Development Company., L.P. | Voice mark-up language and interpreter |
-
2006
- 2006-09-01 US US11/469,629 patent/US7937687B2/en not_active Expired - Fee Related
-
2011
- 2011-03-07 US US13/041,872 patent/US20110161927A1/en not_active Abandoned
Patent Citations (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766298B1 (en) * | 1999-09-03 | 2004-07-20 | Cisco Technology, Inc. | Application server configured for dynamically generating web pages for voice enabled web applications |
US7143042B1 (en) * | 1999-10-04 | 2006-11-28 | Nuance Communications | Tool for graphically defining dialog flows and for establishing operational links between speech applications and hypermedia content in an interactive voice response environment |
US7555431B2 (en) * | 1999-11-12 | 2009-06-30 | Phoenix Solutions, Inc. | Method for processing speech using dynamic grammars |
US7624007B2 (en) * | 1999-11-12 | 2009-11-24 | Phoenix Solutions, Inc. | System and method for natural language processing of sentence based queries |
US7831426B2 (en) * | 1999-11-12 | 2010-11-09 | Phoenix Solutions, Inc. | Network based interactive speech recognition system |
US6920425B1 (en) * | 2000-05-16 | 2005-07-19 | Nortel Networks Limited | Visual interactive response system and method translated from interactive voice response for telephone utility |
US20020184373A1 (en) * | 2000-11-01 | 2002-12-05 | International Business Machines Corporation | Conversational networking via transport, coding and control conversational protocols |
US20060041431A1 (en) * | 2000-11-01 | 2006-02-23 | Maes Stephane H | Conversational networking via transport, coding and control conversational protocols |
US20020198719A1 (en) * | 2000-12-04 | 2002-12-26 | International Business Machines Corporation | Reusable voiceXML dialog components, subdialogs and beans |
US20050273759A1 (en) * | 2000-12-04 | 2005-12-08 | Lucassen John M | MVC (Model-View-Controller) based multi-modal authoring tool and development environment |
US7487440B2 (en) * | 2000-12-04 | 2009-02-03 | International Business Machines Corporation | Reusable voiceXML dialog components, subdialogs and beans |
US7643998B2 (en) * | 2001-07-03 | 2010-01-05 | Apptera, Inc. | Method and apparatus for improving voice recognition performance in a voice application distribution system |
US20040006471A1 (en) * | 2001-07-03 | 2004-01-08 | Leo Chiu | Method and apparatus for preprocessing text-to-speech files in a voice XML application distribution system using industry specific, social and regional expression rules |
US20030055884A1 (en) * | 2001-07-03 | 2003-03-20 | Yuen Michael S. | Method for automated harvesting of data from a Web site using a voice portal system |
US7286985B2 (en) * | 2001-07-03 | 2007-10-23 | Apptera, Inc. | Method and apparatus for preprocessing text-to-speech files in a voice XML application distribution system using industry specific, social and regional expression rules |
US20030018668A1 (en) * | 2001-07-20 | 2003-01-23 | International Business Machines Corporation | Enhanced transcoding of structured documents through use of annotation techniques |
US20040205614A1 (en) * | 2001-08-09 | 2004-10-14 | Voxera Corporation | System and method for dynamically translating HTML to VoiceXML intelligently |
US20030055651A1 (en) * | 2001-08-24 | 2003-03-20 | Pfeiffer Ralf I. | System, method and computer program product for extended element types to enhance operational characteristics in a voice portal |
US7289607B2 (en) * | 2001-12-11 | 2007-10-30 | Cisco Technology, Inc. | System and methodology for voice activated access to multiple data sources and voice repositories in a single session |
US7231636B1 (en) * | 2001-12-21 | 2007-06-12 | Nortel Networks Limited | System and method for tracking VoiceXML document execution in real-time |
US20030139928A1 (en) * | 2002-01-22 | 2003-07-24 | Raven Technology, Inc. | System and method for dynamically creating a voice portal in voice XML |
US20030182622A1 (en) * | 2002-02-18 | 2003-09-25 | Sandeep Sibal | Technique for synchronizing visual and voice browsers to enable multi-modal browsing |
US6999930B1 (en) * | 2002-03-27 | 2006-02-14 | Extended Systems, Inc. | Voice dialog server method and system |
US20040205579A1 (en) * | 2002-05-13 | 2004-10-14 | International Business Machines Corporation | Deriving menu-based voice markup from visual markup |
US7434162B2 (en) * | 2002-06-06 | 2008-10-07 | Speechcyle, Inc. | Visual knowledge publisher system |
US20050149331A1 (en) * | 2002-06-14 | 2005-07-07 | Ehrilich Steven C. | Method and system for developing speech applications |
US7712031B2 (en) * | 2002-07-24 | 2010-05-04 | Telstra Corporation Limited | System and process for developing a voice application |
US20060025997A1 (en) * | 2002-07-24 | 2006-02-02 | Law Eng B | System and process for developing a voice application |
US20060203980A1 (en) * | 2002-09-06 | 2006-09-14 | Telstra Corporation Limited | Development system for a dialog system |
US8046227B2 (en) * | 2002-09-06 | 2011-10-25 | Telestra Corporation Limited | Development system for a dialog system |
US20040128136A1 (en) * | 2002-09-20 | 2004-07-01 | Irani Pourang Polad | Internet voice browser |
US7287248B1 (en) * | 2002-10-31 | 2007-10-23 | Tellme Networks, Inc. | Method and system for the generation of a voice extensible markup language application for a voice interface process |
US7373300B1 (en) * | 2002-12-18 | 2008-05-13 | At&T Corp. | System and method of providing a spoken dialog interface to a website |
US7606714B2 (en) * | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
US20040181467A1 (en) * | 2003-03-14 | 2004-09-16 | Samir Raiyani | Multi-modal warehouse applications |
US8104024B2 (en) * | 2003-10-17 | 2012-01-24 | Hewlett-Packard Development Company., L.P. | Voice mark-up language and interpreter |
US20050125232A1 (en) * | 2003-10-31 | 2005-06-09 | Gadd I. M. | Automated speech-enabled application creation method and apparatus |
US20050132323A1 (en) * | 2003-12-12 | 2005-06-16 | International Business Machines Corporation | Systems and methods for generating applications that are automatically optimized for network performance |
US7817784B2 (en) * | 2003-12-23 | 2010-10-19 | Apptera, Inc. | System for managing voice files of a voice prompt server |
US20050135338A1 (en) * | 2003-12-23 | 2005-06-23 | Leo Chiu | Method for creating and deploying system changes in a voice application system |
US20050229048A1 (en) * | 2004-03-30 | 2005-10-13 | International Business Machines Corporation | Caching operational code in a voice markup interpreter |
US20060136870A1 (en) * | 2004-12-22 | 2006-06-22 | International Business Machines Corporation | Visual user interface for creating multimodal applications |
US20060212841A1 (en) * | 2005-03-15 | 2006-09-21 | Julian Sinai | Computer-implemented tool for creation of speech application code and associated functional specification |
US8024196B1 (en) * | 2005-09-19 | 2011-09-20 | Sap Ag | Techniques for creating and translating voice applications |
US20070180365A1 (en) * | 2006-01-27 | 2007-08-02 | Ashok Mitter Khosla | Automated process and system for converting a flowchart into a speech mark-up language |
US20100299590A1 (en) * | 2006-03-31 | 2010-11-25 | Interact Incorporated Software Systems | Method and system for processing xml-type telecommunications documents |
US20070261027A1 (en) * | 2006-05-08 | 2007-11-08 | International Business Machines Corporation | Method and system for automatically discovering and populating a palette of reusable dialog components |
US20070280216A1 (en) * | 2006-05-31 | 2007-12-06 | At&T Corp. | Method and apparatus for providing a reliable voice extensible markup language service |
Non-Patent Citations (2)
Title |
---|
(Hartman, J.D.; Vila, J.A.; , "VoiceXML builder: a workbench for investigating voiced-based applications," Frontiers in Education Conference, 2001. 31st Annual , vol.3, no., pp.S2C-6-9 vol.3, 2001). * |
(Zhiyan Shao; Capra, R.; Perez-Quinones, M.A.; , "Transcoding HTML to voiceXML using annotation," Tools with Artificial Intelligence, 2003. Proceedings. 15th IEEE International Conference on , vol., no., pp. 249- 258, 3-5 Nov. 2003) * |
Also Published As
Publication number | Publication date |
---|---|
US7937687B2 (en) | 2011-05-03 |
US20080126941A1 (en) | 2008-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6832196B2 (en) | Speech driven data selection in a voice-enabled program | |
US7389213B2 (en) | Dialogue flow interpreter development tool | |
US7546382B2 (en) | Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms | |
US7146323B2 (en) | Method and system for gathering information by voice input | |
US6604075B1 (en) | Web-based voice dialog interface | |
US8209170B2 (en) | Voiced programming system and method | |
US7552055B2 (en) | Dialog component re-use in recognition systems | |
US7930182B2 (en) | Computer-implemented tool for creation of speech application code and associated functional specification | |
US6801897B2 (en) | Method of providing concise forms of natural commands | |
US8355918B2 (en) | Method and arrangement for managing grammar options in a graphical callflow builder | |
US20050165607A1 (en) | System and method to disambiguate and clarify user intention in a spoken dialog system | |
US20060136220A1 (en) | Controlling user interfaces with voice commands from multiple languages | |
JP2000137596A (en) | Interactive voice response system | |
JP2009059378A (en) | Recording medium and method for abstracting application aimed at dialogue | |
US8918323B2 (en) | Contextual conversion platform for generating prioritized replacement text for spoken content output | |
JP2007122747A (en) | Dialogue flow interpreter | |
US20110161927A1 (en) | Generating voice extensible markup language (vxml) documents | |
Larson | VoiceXML and the W3C speech interface framework | |
WO2004066270A1 (en) | Method and apparatus for facilitating globalization of voice applications | |
Enden | Java speech API | |
Dunn | Building Prompts | |
Dunn | Speech Server 2007 | |
JP2004233852A (en) | System and method for supporting preparation of speech response application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MCI NETWORK SERVICES, INC.;VERIZON BUSINESS NETWORK SERVICES INC.;SIGNING DATES FROM 20060410 TO 20090801;REEL/FRAME:032627/0876 Owner name: VERIZON BUSINESS NETWORK SERVICES INC., NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MCI NETWORK SERVICES, INC.;VERIZON BUSINESS NETWORK SERVICES INC.;SIGNING DATES FROM 20060410 TO 20090801;REEL/FRAME:032627/0876 Owner name: VERIZON BUSINESS NETWORK SERVICES INC., VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:MCI NETWORK SERVICES, INC.;REEL/FRAME:032632/0848 Effective date: 20060410 |
|
AS | Assignment |
Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDATION COVERSHEET'S ERRONEOUS LISTING OF ASSIGNORS AND ASSIGNEES PREVIOUSLY RECORDED ON REEL 032627 FRAME 0876. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:VERIZON BUSINESS NETWORK SERVICES INC.;REEL/FRAME:032783/0914 Effective date: 20090801 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MCI NETWORK SERVICES INC., VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHARMA, RAJESH;REEL/FRAME:052392/0169 Effective date: 20060901 |