Abstract:
The invention discloses a system and method for speech-activated navigating or browsing via a speech control interface used in a speech-activated multifunctional communications system. In one embodiment, the invention provides an approach to extend speech-activated navigation by linking an output of an open vocabulary recognizer to an Internet search engine in order that a user may have more options to search information related to his spoken commands. In another embodiment, the invention provides a means to enable the user to orally navigate a database via a speech control interface wherein the selections and associated selection criteria are organized into a hierarchical view menu. In another embodiment, the invention provides an approach with high flexibility and accuracy to recognize the user&#39;s command using a new grammar structure and a matching score system.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is a divisional of U.S. Ser. No. 09/999,551, filed Oct. 24, 2001 (Attorney Docket No. AGLE0049), all of which is incorporated herein in their entirety by this reference thereto. 
     
    
     FIELD OF INVENTION  
       [0002]     This invention relates generally to speech recognition technology, and more specifically to a system and method for speech-activated navigation.  
       BACKGROUND OF THE INVENTION  
       [0003]     Speech recognition system has been in development for more than 25 years resulting in a variety of hardware and software tools for personal computers. Products and services employing speech recognition are developing rapidly and are continuously applied to new markets.  
         [0004]     With the sophistication of speech recognition technologies, networking technologies, and telecommunication technologies, a multifunctional speech-activated communications system, which incorporates TV program service, video on demand (VOD) service, and Internet service and the like, becomes possible.  
         [0005]     This trend of integration, however, creates new technical challenges, particularly in the field of navigating or browsing via a speech control interface.  
         [0006]     For example, when the system is in the Internet browsing mode, the user could feel disappointed if the system is not responsive to a spoken command which is not very well matched with a button label displayed on a Web page. Therefore, a mechanism for extending speech-activated navigation to another available search engine in certain circumstances is desired.  
         [0007]     Another example of technical challenge is that, when the system is in a video on demand (VOD) mode, traditional method of navigating hierarchical menus will no longer meet the efficiency needs. Hierarchical menus are widely used in automated systems that permit users to pick a desired item from a large list. The list for instance could be a list of items for sale, a list of films that may be vended by a video on demand (VOD) system, or some other kind of list.  
         [0008]     The use of a hierarchy allows a user to reach a final selection by making a small number of choices among alternatives, perhaps a sequence of three to five such choices, where each intermediate choice narrows the range of list items from which the final selection will be made. For instance, in a video on demand (VOD) system, the range of selections in principle consists of every movie ever filmed, which of course may be a very long list. But if the selection process advances by indicating first a genre, then an actor, and so on, the long list may be navigated quickly. For this reason, hierarchical menus are quite common in graphical user interfaces, touchtone-based interactive telephone systems, and other modes of list selection.  
         [0009]     A key drawback of hierarchical menu systems, however, is that they can be tedious and cumbersome to use. In particular, the choices must be made in the order dictated by the designer of the hierarchical system.  
         [0010]     What is further desired is a means for alleviating the tedium, through the automatic creation of an automatic speech recognition system and associated grammar(s) and database(s), embodying the same list of selections and selection criteria present in a given hierarchical menu system, but conducted through the medium of the spoken word, and moreover, using modes of statement that are natural and fluent, rather than simply mirroring in words the selections that might be made either with a cursor and graphical display in the case of a graphical user interface, or a telephone keypad in the case of an interactive telephone system.  
         [0011]     Another example of technical challenge is that when the system is in a video on demand (VOD) mode, if the user did not speak exactly the button label displayed by the speech control interface or if the input utterance is lower than a pre-set confidence level, the system may fail to recognize the correct command and thus the system would be unable to provide the service that the user requested. For example, in a one-grammar-path-per-title approach, if the user spoke “American President” instead of “The American President”, the user&#39;s command would not be mapped to the correct movie “The American President”.  
         [0012]     Therefore, a system that can more generously recognize the user&#39;s input utterance without sacrificing reliability is further desired.  
       SUMMARY OF THE INVENTION  
       [0013]     In one embodiment, the invention provides an approach to extend speech-activated navigation to Internet search. The system enables speech access to the Internet by mixing fixed grammars with open vocabulary for an open query to a search engine. If the spoken request doesn&#39;t match the vocabulary defined for the Internet browser to proceed, the entire spoken request is passed to a search engine that processes it and displays the results of the search. Then, the user may navigate the open Web with a speech-activated browser.  
         [0014]     In another embodiment, the invention provides a means for alleviating the tedium of hierarchical menu browsing, through the automatic creation of an automatic speech recognition system and associated grammar(s) and database(s), embodying the same list of selections and selection criteria present in a given hierarchical menu system, but conducted through the medium of the spoken word, and moreover using modes of expression that are natural and fluent, rather than simply mirroring in words the selections that might be made either with a cursor and graphical display (in the case of a graphical user interface), or a telephone keypad (in the case of an interactive telephone system).  
         [0015]     In another embodiment, the invention provides a mechanism to recognize the user&#39;s input utterance using a new grammar structure and a matching score system. In case that the user exactly spoke a movie title, a grammar structure based on each single movie title is generated and the command associated with the recognized movie title is linked and the video server delivers the movie to the user. In case that the user&#39;s input utterance does not match any movie title, generated is a grammar structure based on each single word of a list of candidate movie titles that may be selected—they may be the entire movie titles available in the database or a partial list determined according to a certain criterion. The speech recognizer first recognizes the keywords from the input utterance; then it applies the recognized keywords, via the grammar structure, to the candidate movie titles; and then, a processor computes the matching score of each movie title in the list. Finally, the processor decides the movie with highest matching score as one that the user desired and maps or links this movie title to a command acceptable by the video server, which in turn delivers the movie to the user. The matching score may be computed based on various standards, including but not limited to, the number of recognized words that appear in each movie title. 
     
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0016]      FIG. 1  is a block diagram of a speech-activated multifunctional communications system  100 ;  
         [0017]      FIG. 2A  is an exemplary word page  200  that appears on the screen as a collection of buttons with text on them;  
         [0018]      FIG. 2B  is a diagram illustrating a grammar structure  220  and a query process wherein an input utterance  210  matches a grammar path  201   a  representing the textual content of a button  201  shown in  FIG. 2A ;  
         [0019]      FIG. 2C  is a diagram illustrating a grammar structure  220  and a query process wherein an input utterance  240  does not match any grammar path and the recognized text  250  for the input utterance  240  is passed to an Internet search engine  251 ;  
         [0020]      FIG. 3A  is an exemplary page  300  of a speech control interface  107  for a speech-activated video on demand (VOD) system;  
         [0021]      FIG. 3B  is a diagram illustrating a grammar structure  320  and a query process wherein an input utterance  310  matches a grammar path  303   a  representing the movie title  303  shown in  FIG. 3A ;  
         [0022]      FIG. 3C  is a diagram illustrating a grammar structure  350  and a query process wherein every single word included in a list movie titles is assigned to a distinct grammar path and an input utterance  340  not exactly matching to a movie title is recognized based on a word matching score system. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0000]     A. Speech-Activated Communications System  
         [0023]      FIG. 1  is a block diagram illustrating a speech-activated communications system  100 , which provides interactive program guide (IPG) service, video on demand (VOD) service, and World-wide Web browsing (Internet) service. The system incorporates a “real world” type experience, allowing the end user to complete the process of finding, selecting, and purchasing program and movie content. For example, upon confirmation of the purchase of a movie or selection of a television program, the selected movie, program, or channel is immediately displayed on the television screen.  
         [0024]     The communications system  100  includes a speech-activated remote control  102 , a personal computer (client)  104 , a remote server  112 , and a television set  109 . The user  101  gives spoken commands using the remote control  102  that converts acoustic signals into electromagnetic signals or other kind signals receivable by a wireless receiver. The signals are interfaced to the personal computer  104  via a serial port and a communication protocol  103 . The speech recognition system  105  running in the personal computer  104  converts the received signals into digital signals that can be executed by the personal computer. The automatic grammar generator  106  is an application for generating different grammar structures for different services. Using the remote control  102 , the user  101  may browse for service via a speech control interface  107 . The speech control interface may be in different modes depending on the service requested. For example, it is in VOD mode for video on demand (VOD) service. When an input utterance is processed, a specific grammar is applied to the speech recognition system  105 . The computer processes the output of the speech recognition system  105  and executes the commands associated by the output. The service that the user requested is then delivered by the server  112  via NTSC  111  or Ethernet  110  and rendered on TV screen  109  via NTSC  108 . The server  112  also provides Internet Proxy service  118  so that the user may browse the Internet via the speech control interface  107 .  
         [0025]     The server  112  is coupled to one or more content databases ( 114  and  116 ) that store content items such as movies, television programs, television channels, and etc. Typically, the databases are encoded for a database manager supporting the SQL format and include a movie list, television program list, actor list, and genre format. The content from the server  112  is visible as a window within the static interface or in full-screen mode, as the speech control interface demands.  
         [0000]     B. Open Vocabulary Enhancement of Speech Activated Internet Browsing System  
         [0026]     One embodiment of this invention is a system for enhancing or extending a speech-controlled Web browsing within the framework of the communications system  100  described above. In order to understand the invention, it is necessary to review the design of Web pages and speech-controlled Web browsers in general. We begin with the review, and then explain the nature of the invention.  
         [0027]     A Web browser is a program running on a computer, typically called the client. This program receives textual descriptions of displays, also known as Web pages, to create on the client computer screen from another computer, typically called the server. The textual descriptions are written in a specific computer language, called HTML. The action of the Web browser is to interpret the HTML, and thereby render onto the client computer screen the combination of graphics and text specified in any selected Web page.  
         [0028]     Typically there are regions of the rendered screen, labeled with text, that cause the client computer to take some action when the user moves his mouse over the affected region and clicks a mouse switch. These regions are themselves called “buttons.” 
         [0029]     The standard technique for speech-enabling a Web browser is to scan the HTML description of a page, and identify the text that is associated with each button, the text hereafter called a “button label.” The button labels are then assembled into a grammar, where each arc or pathway through the grammar corresponds to a single complete button label. For a speech-enabled Web browser, the grammar and the speech recognition system are so arranged that when a user speaks the text that is associated with a given button label, the speech recognition system causes the client computer to take the same action that it would have taken had the user activated the same region of the screen by use of the mouse. Note that by nature of the construction of the grammar, the vocabulary that can be recognized for the page consists exclusively of the words that appear within button labels.  
         [0030]     The problem with this approach is that the system is limited to all and only the text supplied with the HTML page. This makes it impossible to direct the browser to fetch and load an arbitrary Web page.  
         [0031]     The approach according to this invention is an augmentation of the above scheme for speech-enabled Web browsing. As described above, the speech-enabled browser attempts to recognize an input utterance using the grammar constructed from button labels. However, if no one arc through the grammar is a satisfactory match for the utterance, the system will abandon this approach. Instead, the utterance will be reprocessed by an open vocabulary recognizer which may be a sub-system of the speech recognition system. Such an open vocabulary recognizer is not constrained by a grammar, but is designed to recognize arbitrary utterances constructed from a very large vocabulary, typically  50 , 000  words or more. The output of the recognition process will then be provided as a query to a search engine, which will seek and display Web link options that are a close match to the given query.  
         [0032]     We proceed to give greater detail on the architecture of this system.  FIG. 2A  shows an exemplary word Web page  200  that appears on the screen as a collection of buttons with text on them. The first button  201  corresponds to a news story that says: “Bush plans to smoke them out.” The second button  202  says: “Angelina Jolie film released; photos.” The third button  203  says: “J Jervis elected to management hall of fame.” The text in the buttons is available to us in the form of HTML. The system takes the HTML and analyzes it, and then processes it into a grammar, which in this example, has three phrases associated with it: the first is the Bush phrase; the second is the Angelina Jolie phrase; and the third one is the Jim Jervis phrase.  
         [0033]     This grammar is then supplied to the speech recognition system  105 , which proceeds to use the grammar to recognize the utterances given as input.  FIG. 2B  illustrates the case in which the user speaks, for example, the first statement corresponding to the first button  201 . The grammar  220  has three grammar paths,  201   a ,  202   a , and  203   a , with reference to three button labels shown in  FIG. 1A . The input of the process is the user&#39;s utterance (“Bush plans to smoke them out”)  210 , which is recognized by the speech recognition system  105  as a corresponding to the text “Bush plans to smoke them out”  230 . Associated with the statement  201   a , we have an action, which is also embedded in the grammar  220 —not necessarily with square bracket  201   b . Here the bracket  201   b  represents the fact that some additional information is being associated with the statement  201   a . This may be a little piece of program implementing a command to activate a link  201   c  that lies underneath the button label  201 .  
         [0034]     In the case when an utterance matches closely to an arc of the grammar, the speech recognition system  105  will simply invoke the associated action such as  201   c . However, if no arc of the grammar matches well, the system will reprocess the input utterance using an open vocabulary recognizer, and pass the resulting text to a standard Web search engine.  FIG. 2C  illustrates an example of this process, wherein the user&#39;s utterance  240  fails to match with any path of the grammar  220 . The system processes the utterance  240  using an open vocabulary recognizer  105   b  and passes the output  250  (i.e. the recognized text) to an Internet search engine  251 . As a result of the search, a Web page is delivered and rendered  251 .  
         [0035]     The follow steps further explains how this process works: 
        Taking a Web page as shown in  FIG. 2A ;     Scraping the Web page for its textual content;     Generating a grammar  220  as shown in  FIG. 2B  for the textual content, and applying this grammar to the speech recognition system  105 ; Inputting an audio signal representing the user&#39;s utterance;     Determining the confidence level of the recognized statement representing the audio signal against a pre-set confidence level;     If the confidence level is high enough, i.e. the input utterance matches one of the grammar paths, then as  FIG. 2B  illustrated, executing the command associated with the recognized button label;     If the confidence level is not high enough, i.e., it fails to match any of the grammar paths ( 201   a ,  202   a ,  203   a ) in the grammar  220 , then as  FIG. 2C  illustrated, passing the utterance through an open vocabulary recognizer  105   b , which is designed to transcribe arbitrary statements or texts that do not match any particular grammar;     Taking the output  250  from that open vocabulary recognizer  105   b  as the input to an arbitrary Internet search engine such as Alta Vista or Yahoo Search. As a result, it comes back with a number of hits of Internet link options.        
 
         [0043]     In summary, if the system cannot reconcile the text on a screen button with the spoken command (i.e. the input utterance), then it just defaults the command and leads to a broad Internet search.  
         [0000]     C. Automatic Grammar Generation from Hierarchical Menus  
         [0044]     Another embodiment of the invention is an architecture for automatic grammar generation from hierarchical menus. The architecture consists two key elements. The first one is a database, which lists the items from which a final selection is to be made. Each item in the original list is an entry in the database. Moreover, each entry is labeled with the selection criteria that it satisfies, as expressed in the original hierarchical menu system. Consider for example a long list of titles, comprising both television shows to be aired over a given period of time, and films available from a video on demand (VOD) system. Those database entries corresponding to the first category would bear some indication that they are television shows; those entries corresponding to movies would likewise bear some indication they are movies. Note that some titles would bear both indications. Continuing with this idea, a given title might also bear some indication of which actors appear in the show or movie, who directed the work, when it was produced, and so on. Any criterion embedded in the original hierarchical menu would be mirrored by indications made in the automatically generated database.  
         [0045]     The second key element is the means to generate one or more grammars, reflecting the different selection criteria that may be applied against the database entries. (For information on the structure and meaning of a grammar in this context, consult the document “OSR 1.0 Developer&#39;s Guide,” published by Speechworks International, 2001.) Continuing with the example, if the actors appearing in a television show or movie may be used as a selection criterion, then a grammar consisting of all actor names appearing in any database entry is generated. As we explain further below, the eventual idea is that if a given actor&#39;s name is spoken, only films or shows in which that actor appears will be extracted from the database.  
         [0046]     The grammars for each different selection criterion are embedded within a larger grammar or set of grammars, which is constructed in such a manner that either a sequence of spoken commands (for instance, the uttering of the criterion name “actors,” followed by the actress name “Angelina Jolie”), or a fluent statement such as “show me films starring Angelina Jolie” will obtain the database entries with the desired property, in a manner identical to selection by the same criteria within the original hierarchical menu system. The result of this action can then be further refined by continuing the process in the same way, but with additional selection criteria applied, to further narrow the entries obtained from the database. For example, if the system is not sure about the exact name of the actor or actress called, it presents to the user an intermediary screen with a list of actor candidates, and the user can make further selection from the list.  
         [0000]     D. Use of Inexact and Partial Match to Improve Accuracy of Speech Recognition  
         [0047]      FIG. 3A  illustrates an exemplary page  300  of a speech control interface for a speech-activated video on demand (VOD) system. A user may navigate through a large list of films by titles by operating various buttons on a remote control or by giving spoken commands via a microphone incorporated in the remote control. In the exemplary page  300 , each movie title is presented in a button. For example, button  301  is for “Rain Main”, button  302  for “X Files”, button  303  for “The American President”, button  304  for “American Graffiti”, and button  305  for “Ferris Bueller&#39;s Day Off”, etc.  
         [0048]     Normally when we deal with this list of titles, the list is represented by a grammar in which each complete title corresponds to one arc or choice within the grammar.  FIG. 3B  illustrates such a grammar structure  320  wherein each arc represents a path for a movie title in the list shown in the Web page  300 . For example, arc  301   a  is for “Rain Main”, arc  302   a  for “X Files”, arc  303   a  for “The American President”, arc  304   a  for “American Graffiti”, and arc  305   a  for “Ferris Bueller&#39;s Day Off”, etc.  
         [0049]     The input to the speech recognition system  105  is the user&#39;s utterance  310 . The system processes the utterance  310  against the grammar  320 . The path through the grammar that matches the utterance most closely in the acoustic sense is the output of the speech recognition system. For example, when the user spoke “The American President”, the title “The American President”  303  was recognized and the speech recognition result  330  was mapped into a command  331  acceptable by a video server (See  FIG. 1, 113  and  114 ).  
         [0050]     In reality, users may garble and drop off words, for instance, saying “American President” rather than “The American President.” For that reason, the word “the” was missing here. That would cause the path  303   a  to get a poor acoustic match score against the given utterance. The title “American Graffiti”  304  is not what the user said, but matches fairly well because the spoken word “American” matches “American”, and “Graffiti” in  304  is about the same length as “President” in  203 . It could end up getting a higher score than the desired film, just because the user neglected to utter the initial definite article “the” in the full title, “The American President.” 
         [0051]     To solve this problem, we create a different grammar structure. Instead of keeping each movie title in one single path, we take all available movie titles from the database and cut each movie title into individual words such as “rain”, “man”, “the”, “X”, “files”, “American”, “graffiti”, “president”, and so on. Every single word included in any movie title is incorporated into the grammar structure as shown in  FIG. 3C  wherein each single word represents a single path. Moreover the grammar  350  is structured in such a way that each such word may be spoken any number of times.  
         [0052]     In this case, when the utterance “American President”  340  is presented to the speech recognition system  105 , the word “American” is recognized, followed by the word “President”. Note that no association with the specific movie title “The American President” is yet made. The resulting sequence of words is called the keyword sequence S.  
         [0053]     In the broadest conception of the invention, the keyword sequence S is then matched against a set of candidate titles C. Each element C i  of C is then matched against S, by a function hereafter called ComputeScore(S, C i ). The elements of C are then sorted in decreasing order of quality of match. The resulting list may then be used in one of a number of ways, for example: 
        The single top-scoring C i  may be presented as the recognizer output, or     Some predetermined number k of elements of C, consisting of the top-scoring k candidates, may be presented to the user, for final selection, or     All elements whose score lies within some range or fraction of the top-scoring C i  may be presented to the user, for final selection.        
 
         [0057]     The ComputeScore(S, C i ) function may take any one of a number of forms. We list some of the possibilities, with the understanding that this is not to limit the scope of claim of the invention: A simple definition, illustrated in  FIG. 2D , is to count the number of words of S that appear in each given C i ; 
        A more sophisticated definition takes into account the relative order of words in S and C i , computing a higher score when the words of S and Ci are in the same order and position;     This score or some variant of it may be normalized by the number of words of the given C i , so that long titles are not anomalously favored;     This score or some variant of it may be normalized by the fraction of words in S that could match any word in C i , so that a candidate that matches a few words of S well is not anomalously favored over another candidate C i  that matches more words, but with an error in position; and     The definition may take the recognition system&#39;s confidence of each word of S into account, in counting matches.        
 
         [0062]     In addition, in one variant of the invention, the candidate list C is generated dynamically from a database, where certain criteria, if activated under user control, prevent adding a given title to the candidate list.  
         [0063]     In another variant of the invention, in the process of dynamically generating the candidate list C, the words in the list are optionally processed into a form that matches the form of words used in the grammar. By this is meant, for instance, spelling out numbers as text.  
         [0064]     In summary, the process described above includes the following steps: 
        Creating a grammar structure  350  wherein every single word of each movie title that may be recognized is assigned to a distinct path in the grammar, and moreover so that any such word may be uttered any number of times and intermixed in order with any other word of the grammar;     Recognizing an utterance  340  by a speech recognizer  105   a;       Applying the recognized keywords of the utterance to each candidate title in a list which may be a list of the whole database entries, or a smaller list selected from the database based on a certain criterion;     As indicated by the loop  351 , returning each candidate title&#39;s matching information to the processor  105   c;       Computing the score of each candidate title;     Mapping the movie title with highest matching score into a command  361  acceptable by a video server (See  FIG. 1, 113  and  114 ).        
 
         [0071]     Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention.  
         [0072]     Accordingly, the invention should only be limited by the claims included below.