In one embodiment, the invention provides a method for creating a voice application, the method being implemented by a computer system and comprising generating a graphical user interface comprising a text-to-topic button; receiving first input identifying a location of a text file; receiving second input selecting the text-to-topic button; partitioning content associated with the text file into subjects in response to receiving the second input; and
storing information on the partitioning.
|
6. A method for a computer to generate content for a speech application, the method comprising
generating a first graphical user interface comprising a text to topic button;
receiving first input identifying a location of a text file;
receiving second input selecting the text to topic button;
partitioning the text file into subjects in response to receiving the second input;
storing information on the partitioning; and
generating a second graphical user interface comprising a plurality of percentage scales displayed simultaneously, each having an associated user-adjustable sliding button to control a granularity of said partitioning.
1. A computer readable medium having stored thereon a sequence of instructions which when executed by a computer, causes the computer to perform a method comprising:
generating a first graphical user interface comprising a text to topic button;
receiving first input identifying a location of a text file;
receiving second input selecting the text to topic button;
partitioning the text file into subjects in response to receiving the second input; and
storing information on the partitioning; and
generating a second graphical user interface comprising a plurality of percentage scales simultaneously displayed, each having an associated user-adjustable sliding button to control a granularity of said partitioning.
11. A system, comprising
a processor; and
a memory coupled to the processor, the memory storing instructions which when executed by the processor cause the system to perform a method comprising:
generating a first graphical user interface comprising a text to topic button;
receiving first input identifying a location of a text file;
receiving second input selecting the text to topic button;
partitioning the text file into subjects in response to receiving the second input;
storing information on the partitioning; and
generating a second graphical user interface comprising a plurality of percentage scales displayed simultaneously, each having and an associated user-adjustable sliding button to control a granularity of said partitioning.
2. The computer readable medium of
3. The computer readable medium of
4. The computer readable medium of
5. The computer readable medium of
7. The method of
8. The method of
9. The method of
10. The method of
12. The system of
13. The system of
14. The system of
15. The system of
|
This invention relates to voice applications. In particular it relates to a method and system for building a voice application.
Voice applications are becoming increasingly popular and may be used in diverse applications such as computer support applications, interactive menu systems, information processing systems, such airline timetable, etc.
In order to create a voice application, it is necessary to create content for the voice application and to develop code which uses the content to generate a voice-user interface.
In order to ensure that the voice-user interface is able to interact with a caller and to engage in a question-and-answer style interaction that the caller perceives as a conversation with a human, the content and the code for the voice application has to be carefully thought out and should be able to cater for every possible eventuality during the interaction.
Thus, situations where the caller provides no input, or provides a meaningless response to choices that were presented to the caller, etc. have to be dealt with appropriately.
On account of the foregoing, it will be appreciated that the creation of a robust voice application, i.e., one that is capable of interacting with a user so that the user perceives the interaction as a conversation with a human, is a complex task that requires the question-and-answer style interaction to be carefully scripted and the code to be rigorous enough to ensure that the voice application is capable of handling all possible input from the caller.
Thus, a considerable amount of time and resources are required to create such robust voice applications. Consequently, a tool that facilitates the creation of robust voice applications is required, particularly where large bodies of knowledge are required to be made accessible to callers through the voice application.
In one embodiment there is provided a method for a computer to generated content for a speech application, the method comprising generating a first graphical user interface comprising a text to topic button; receiving first input identifying a location of a text file; receiving second input selecting the text to topic button; partitioning the text file into subjects in response to receiving the second input; storing information on the partitioning; and generating a second graphical user interface comprising at least one scale and associated user-adjustable sliding button to control said partitioning
In another embodiment there is provided a computer readable medium having stored thereon a sequence of instructions which when executed by a computer, causes the computer to perform a method comprising: generating a first graphical user interface comprising a text to topic button; receiving first input identifying a location of a text file; receiving second input selecting the text to topic button; partitioning the text file into subjects in response to receiving the second input; storing information on the partitioning; and generating a second graphical user interface comprising at least one scale and associated user-adjustable sliding button to control said partitioning.
In another embodiment there is provided a system, comprising a processor; and a memory coupled to the processor, the memory storing instructions to cause the system to perform a method, comprising: generating a first graphical user interface comprising a text to topic button; receiving first input identifying a location of a text file; receiving second input selecting the text to topic button; partitioning the text file into subjects in response to receiving the second input; storing information on the partitioning; and generating a second graphical user interface comprising at least one scale and associated user-adjustable sliding button to control said partitioning
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the invention.
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
Aspects of the present invention disclose a method and a system for generating a graphical user interface to facilitate the creation of a voice application.
Referring to
Referring now
The view 16 also provides a button 20 which when selected by a user provides a subject listing 22 and a topic listing 24 (see
In one embodiment, the graphical user interface allows the user to enter a file name for a text file containing natural language text which the user wishes to use as raw content for the voice application. Thus, in this embodiment, the graphical user interface has a “text to topic button” which when selected causes the system to respond by analyzing the content of the specified text file and to partition the content into subjects and structure the content associated with each subject into a pseudo-conversation with appropriate questions and answers. Information on the partitioned subjects and the pseudo-conversation is then stored by the system. Tags defined in a markup language may be used to structure the content into the pseudo-conversation. Techniques for partitioning the content into subjects and generating the pseudo conversation are described in co-pending U.S. patent application Ser. No. 10/319,144.
Referring now to
Referring again to
Referring again to
In one embodiment, the graphical user interface also provides a “guide me topic generation button” which when selected causes the system to analyze a text document and to generate guide me topics which asks a caller a question to help locate a topic of interest to the caller, within a body of knowledge. This is particularly useful in cases where the body of knowledge is substantial. When the guide me generation topic button is selected, the system responds by building broad groupings of topics and then generating a clarifying “ask” tag with appropriate “reply” tag and “jumps” to the individual topics.
In one embodiment, selection of the guide me topic generation button displays a pop-up window similar to the window 28 which provides the subject extraction, topic similarity, and parent similarity assist features to control the granularity of the groupings of topics used to create the guide me navigation topics.
In contrast to guide me navigation topics, which provide questions which assist the caller to identify a subject topic of interest, the system also provides a number of navigation prompts or questions which are used to disambiguate topics that the system has identified as being relevant to input from the caller. For example, as is shown in the view 54 of
In order to handle for all possible responses to a prompt by a user the responses have to be anticipated and a corresponding grammar built up. For example, in response to a question or prompt an answer that relates to the topic “adjusting the memory for an Apple Macintosh computer” may conceivably have the following variations:
In one embodiment, the graphical user interface of the present invention provides a view 58 shown in
In the example shown in Table 60, a “?” is referred to as the optional operator. This is used to designate a word that is optional, i.e., a word that may or may not be spoken by a caller. Further, parentheses are used to represent the “and” operator. Words within parentheses must be spoken together. Thus, in the example of Table 60, parentheses are used to indicate that the words “stop” and “go” must be spoken together. The square brackets denotes the “or” operator which indicates that any of the words within the square brackets may be spoken. In the example of Table 60, the words “and go” or “now” must be spoken.
Referring to
In some embodiments, the graphical user interface may also include a “review grammar button” which when selected causes the system to review the grammar for errors.
The examine message indicates cases where a subject cannot be spoken using the defined spoken options. For instance, the grammar may include the entries “Apple [mac macintosh]” with the spoken options: “apple Mac” and “apple macintosh.” If, however, the subject is “macintosh,” it will be seen that this subject cannot be selected with the spoken options.
Error messages are used to indicate an illegal spoken option. For example, the grammar “six sixth(? the ? number six]” will indicate an error message since the close parenthesis character is missing. Another example where an error message would be generated includes the case in which all words in the grammar are flagged with a question mark ? character which indicates that they are optional. Since a user has to utter at least one word, the error message indicates to the user that at least one of the words in the grammar should be made mandatory.
The graphical user interface also provides a “review prompt style button” which when selected causes the system to analyze each prompt to ensure that it is written in a manner to elicit a crisp or precise response from a caller. Each prompt is also analyzed to make sure that it is easily understood by a caller and does not contain words that are ambiguous, or sentences that are too lengthy, etc. The details of how the system reviews the prompts are described in co-pending U.S. patent application Ser. No. 10/319,144.
Once all prompts have been written, it is necessary to record audio so that the system can playback the prompts to a caller. Accordingly, the graphical user interface provides a “record audio button” which may be selected to cause the system to go into an audio receive mode wherein the system records audio from an audio source such as an external microphone. After recording, the system automatically saves the recorded audio and then builds an internal association between the recorded audio and its associated prompt.
In one embodiment, the graphical user interface further comprises a “verify project” button which when selected causes the system to review the entire project for errors. For example,
The graphical user interface of the present invention may, in some embodiments, provide a view 78, shown in
In one embodiment, the graphical user interface provides an editor to allow a user to enter code to define a function that is called from within the markup language code. For example, in one embodiment, the graphical user interface provides a Java Script editor which is shown in the view 80 shown in
Referring now to
Processing system 100 typically includes at least one processor 102 coupled to a memory 104. Processor 102 may represent one or more processors (e.g. microprocessors), and memory 104 may represent random access memory (RAM) devices comprising a main storage of system 100, as well as any supplemental levels of memory e.g., cache memories, non-volatile or back-up memories (e.g. programmable or flash memories), read-only memories, etc. In addition, memory 104 may be considered to include memory storage physically located elsewhere in system 100, e.g. any cache memory in a processor 102, as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device 110 or on another computer coupled to system 100 via network 112.
Processing system 100 also typically receives a number of inputs and outputs for communicating information externally. For interface with a user or operator, system 100 typically includes one or more user input devices 106 (e.g., a keyboard, a mouse, etc.) and a display 108 (e.g., a CRT monitor, a LCD panel). However, with some implementations of system 100, such as in a server, direct local user input and output may not be required, such that user input devices 106 and display 108 may be omitted.
For additional storage, system 100 may also include one or more mass storage devices 110, e.g., a floppy or other removable disk drive, a hard disk drive, a Direct Access Storage Device (DASD), an optical drive (e.g. a CD drive, a DVD drive, etc.) and/or a tape drive, among others. Furthermore, hardware 100 may include an interface with one or more networks 112 (e.g., a land, a WAN, a wireless network, and/or the Internet among others) to permit the communication of information with other computers coupled to the networks. It should be appreciated that system 100 typically includes suitable analog and/or digital interfaces between processor 102 and each of the components 104, 106, 108 and 112 as is well known in the art.
Processing system 100 operates under the control of an operating system 114, and executes various computer software applications, components, programs, objects, modules, etc. (e.g. a program or module which performs operations as shown in
In general, the routines executed to implement the embodiments of the invention, may be implemented as part of an operating system or a specific application, component, program, object, module or sequence of instructions referred to as “computer programs”. The computer programs typically comprise one or more instructions set at various times in various memory and storage devices in a computer, and that, when read and executed by one or more processors in a computer, cause the computer to perform these steps necessary to execute steps or elements involving the various aspects of the invention. Moreover, while the invention has been described in the context of fully functioning computers and computer systems, those skilled in the art will appreciate that the various embodiments of the invention are capable of being distributed as a program product in a variety of form, and that the invention applies equally regardless of the particular type of signal bearing media used to actually off the distribution. Examples of signal bearing media include but are not limited to recordable type media such as volatile and non-volatile memory devices, floppy and other removable disks, hard disk drives, optical disks (e.g. CD ROMS, DVDs, etc.), among others, and transmission type media such as digital and analog communication links.
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that the various modification and changes can be made to these embodiments without departing from the broader spirit of the invention as set forth in the claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than in a restrictive sense.
Pollock, Steven Samuel, Khosla, Ashok Mitter
Patent | Priority | Assignee | Title |
10997222, | Jun 29 2018 | International Business Machines Corporation | Conversational agent dialog flow user interface |
D710868, | Mar 12 2013 | HYLAND SOFTWARE, INC. | Display screen with a graphical user interface |
D757082, | Feb 27 2015 | HYLAND SOFTWARE, INC.; HYLAND SOFTWARE, INC | Display screen with a graphical user interface |
Patent | Priority | Assignee | Title |
5033969, | Jul 21 1989 | Pioneer Electronic Corporation | Support device for resolving questions about reproduced information |
6269336, | Jul 24 1998 | Google Technology Holdings LLC | Voice browser for interactive services and methods thereof |
6314411, | Jun 11 1996 | Pegasus Micro-Technologies, Inc.; PEGASUS MICRO-TECHNOLOGIES, INC | Artificially intelligent natural language computational interface system for interfacing a human to a data processor having human-like responses |
6567805, | May 15 2000 | GOOGLE LLC | Interactive automated response system |
6577324, | Jun 03 1992 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Video and audio multimedia pop-up documentation by performing selected functions on selected topics |
6782383, | Jun 18 2001 | Oracle America, Inc | System and method to implement a persistent and dismissible search center frame |
6895084, | Aug 24 1999 | Genesys Telecommunications Laboratories, Inc | System and method for generating voice pages with included audio files for use in a voice page delivery system |
7024348, | Sep 28 2000 | Unisys Corporation | Dialogue flow interpreter development tool |
20020054073, | |||
20020188599, | |||
20030080990, | |||
20030179876, | |||
20040154153, | |||
20060171511, | |||
20090293019, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 16 2008 | Tuvox Incorporated | (assignment on the face of the patent) | / | |||
Jun 18 2010 | POLLOCK, STEVEN S | TUVOX INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025172 | /0547 | |
Oct 14 2010 | KHOSLA, ASHOK M | TUVOX INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025172 | /0547 | |
Jul 27 2012 | Tuvox Incorporated | West Interactive Corporation II | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 029772 | /0122 | |
Jan 01 2016 | HOLLY CONNECTS, INC | WEST INTERACTIVE SERVICES CORPORATION | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 038893 | /0065 | |
Jan 01 2016 | West Interactive Corporation II | WEST INTERACTIVE SERVICES CORPORATION | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 038893 | /0065 | |
Jan 01 2016 | WEST NOTIFICATIONS, INC | WEST INTERACTIVE SERVICES CORPORATION | MERGER AND CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 038893 | /0065 | |
Jun 17 2016 | Reliance Communications, LLC | U S BANK NATIONAL ASSOCIATION | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039093 | /0944 | |
Jun 17 2016 | WEST UNIFIED COMMUNICATIONS SERVICES, INC | U S BANK NATIONAL ASSOCIATION | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039093 | /0944 | |
Jun 17 2016 | WEST SAFETY SERVICES, INC | U S BANK NATIONAL ASSOCIATION | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039093 | /0944 | |
Jun 17 2016 | WEST INTERACTIVE SERVICES CORPORATION | U S BANK NATIONAL ASSOCIATION | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039093 | /0944 | |
Jun 17 2016 | West Corporation | U S BANK NATIONAL ASSOCIATION | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039093 | /0944 | |
Oct 10 2017 | WEST INTERACTIVE SERVICES CORPORATION | CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT | NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS FIRST LIEN | 044169 | /0017 | |
Apr 30 2018 | U S BANK NATIONAL ASSOCIATION | Reliance Communications, LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046046 | /0547 | |
Apr 30 2018 | U S BANK NATIONAL ASSOCIATION | WEST UNIFIED COMMUNICATIONS SERVICES, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046046 | /0547 | |
Apr 30 2018 | U S BANK NATIONAL ASSOCIATION | WEST SAFETY SERVICES, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046046 | /0547 | |
Apr 30 2018 | U S BANK NATIONAL ASSOCIATION | WEST INTERACTIVE SERVICES CORPORATION | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046046 | /0547 | |
Apr 30 2018 | U S BANK NATIONAL ASSOCIATION | West Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 046046 | /0547 | |
Sep 20 2019 | WEST INTERACTIVE SERVICES CORPORATION | INTRADO INTERACTIVE SERVICES CORPORATION | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 064103 | /0814 |
Date | Maintenance Fee Events |
Jun 30 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 13 2018 | REM: Maintenance Fee Reminder Mailed. |
Sep 12 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 12 2018 | M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity. |
Aug 15 2022 | REM: Maintenance Fee Reminder Mailed. |
Jan 30 2023 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 28 2013 | 4 years fee payment window open |
Jun 28 2014 | 6 months grace period start (w surcharge) |
Dec 28 2014 | patent expiry (for year 4) |
Dec 28 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 28 2017 | 8 years fee payment window open |
Jun 28 2018 | 6 months grace period start (w surcharge) |
Dec 28 2018 | patent expiry (for year 8) |
Dec 28 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 28 2021 | 12 years fee payment window open |
Jun 28 2022 | 6 months grace period start (w surcharge) |
Dec 28 2022 | patent expiry (for year 12) |
Dec 28 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |