# Patent

## Title
System and method of word graph matrix decomposition

## Abstract

Disclosed is a system and method of decomposing a lattice transition matrix into a block diagonal matrix. The method is applicable to automatic speech recognition but can be used in other contexts as well, such as parsing, named entity extraction and any other methods. The method normalizes the topology of any input graph according to a canonical form.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to automatic speech recognition modules and more specifically to a system and method of decomposing a lattice transition matrix into a block diagonal matrix.
2. Introduction
A lattice is a mathematic structure of a set of data together with one or more relations or operators defined over the set. Lattices may be used to process any type of data. The present invention is disclosed in the context of one of many uses of lattices. In large vocabulary continuous speech recognition (LVCSR), the word search space, which is prohibitively large, is commonly approximated by word lattices. Usually these word lattices are acyclic and have no a-priori structures. Their transitions are weighted by acoustic and language model probabilities. More recently a new class of normalized word lattices has been proposed. These word lattices (a.k.a. sausages) are more efficient than canonic word lattices and they provide an alignment for all the strings in the word lattices. The present invention relates to a general framework for lattice chunking. One way to characterize the present invention is the pivot algorithm or method. In terms of state transition matrix, the present invention corresponds to decomposing the lattice transition matrix into a block diagonal (chunk) matrix.



BRIEF DESCRIPTION OF THE DRAWINGS
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
FIG. 1 illustrates state transition matrices for topologically sorted traditional lattices and pivot alignments;
FIG. 2 is a flowchart illustrating the method according to an embodiment of the invention;
FIG. 3 is a graph illustrating receiver operating characteristic (ROC) curves for confidence scores; and
FIG. 4 is a graph illustrating a percentage of correctly recognized words in confidence score bins on the best path of pivot alignments computed without using time information.



DETAILED DESCRIPTION OF THE INVENTION
In terms of automatic speech recognition, sausages are very efficient and they provide a normalization or chunking of the lattice by aligning words from all possible hypotheses. The present invention relates to a system and method of providing a general framework for lattice chunking. The method is referred to herein as the pivot algorithm. There are four important components of the pivot algorithm. First, the time information is not necessary but is beneficial for the overall performance. Second, the algorithm allows the definition of a predefined chunk structure of the final word lattice. Third, the algorithm operates on both weighted and unweighted lattices. Fourth, the labels on the graph are generic and could be words as well as part of speech tags or parse tags.
While the algorithm has applications to many tasks (e.g., parsing, named entity extraction), the invention is described herein with reference to speech recognition results on the performance of confidence scores for different large vocabulary speech recognition tasks. When compared with the results of our algorithms against off-the-shelf methods, the present invention shows significant improvements.
FIG. 1 shows the state transition matrices for topologically sorted traditional lattices and the new type of lattices we propose, the pivots. The elements are binary: 1 if there is at least one transition between states i and j and 0 if otherwise. As used herein, the equivalence class of state transitions from state i (102) to state j (104). The state transitions ai,j can weighted or unweighted. In the weighted case, the cost associated to the transition from state i to state j and with label wk is ci,jwk.
As mentioned above, there are four important components of the pivot algorithm: 1) the time information computed using the frame numbers is not necessary but is beneficial for the overall performance (the timing information is expressed in the state of the word lattice and corresponds to frame numbers of the speech files or the audio files.); 2) the algorithm allows the definition of a predefined chunk structure for the final lattice; 3) the algorithm operates on both weighted and unweighted lattices; and 4) the labels on the graph are generic and could be words as well as part of speech tags or parse tags.
The method is described herein in the context of automatic speech recognition (ASR). Lattice chunking has the clear advantage of normalizing the search space of word hypotheses. The advantages of these normalized lattices are in terms of memory and computation. In terms of memory, the resulting structures (pivots) are much smaller in size (order of magnitudes), while preserving accuracy of the original search space. In terms of computation, the normalized matrices have the compositional property. Suppose that one wants to compute the word string with lowest weight, Cmin, among all strings W=w1, . . . , wk, . . . wN in the lattice:




  
    
      
        
          C
          min
        
        =
        
          
            
              min
              W
            
            ⁢
            
              
                ∑
                
                  w
                  k
                
              
              ⁢
              
                c
                
                  i
                  ,
                  j
                
                wk
              
            
          
          -
          
            
              ∑
              
                m
                l
              
            
            ⁢
            
              
                min
                
                  W
                  l
                
              
              ⁢
              
                
                  ∑
                  
                    v
                    k
                  
                
                ⁢
                
                  c
                  
                    i
                    ,
                    j
                  
                  vk
                
              
            
          
        
      
    
    
      
        (
        1
        )
      
    
  




where W1=v1, . . . vk, . . . vM is the set of word strings recognized by the lth lattice chunk, m1.
There are many applications where these properties have been very useful. In the case of weighted lattices, the transition probabilities on the pivots can also be used as word confidence scores. The posterior probabilities on the most probable path of the resulting pivot alignment have been used as confidence scores for unsupervised learning of language models and active learning for ASR. The pivot structure of competing word hypotheses, as well as their confidence scores, have been used for improving spoken language understanding, machine translation and named entity extraction. The compositional property has been extended to the case of weighted string costs. Presented herein is the application of the pivot algorithm to the computation of word confidence scores for all the strings in a word lattice. Although not limited to this context, results are presented herein on the performance of confidence scores for a large vocabulary continuous speech recognition task.
The sausage algorithm that has been proposed by others is designed to reduce word error rate and is thus biased towards automatic speech recognition. The pivot algorithm according to the present invention is general and aims to normalize the topology of any input graph according to a canonic form. FIG. 2 provides a flowchart illustrating the method embodiment of the invention. If the lattice is weighted, the method comprises computing the posterior probability of all transitions in the word graph (102). This can be accomplished by doing a forward and a backward pass through the graph or by other means. At this point, the posterior probability of a transition could be used as a confidence score by itself, but some improvements are possible by taking into account the competing hypotheses in the same time slot. In the case of unweighted lattices, this step can be skipped. The method next comprises sampling a sequence of states that lie on a path from the lattice to use as the baseline of the pivot alignment (104). This step can be described as extracting the pivot baseline path. A path is a sequence of state transitions from the initial state to a final state.
The pivot baseline can be the best path or the longest path of the lattice, as well as any random path. The process of extracting the pivot baseline path from the lattice can be accomplished in many different ways. Further, the pivot baseline path is not a unique point or set of points in the word lattice. For example, in most experiments performed by the inventors, either the best or the longest path was used. Thus, the pivot baseline can be extracted in numerous ways and can represent different data.
The states on the pivot alignment baseline are assumed to inherit their time information from the lattice. According to the present invention, the time information is not necessary, but is beneficial for the overall performance. A time slot ts(T) of transition T is defined as the speech interval between the starting and ending time frames of T.
For all transitions T in the topologically ordered lattice, the steps described below are taken (106). In the lattice, each transition overlapping ts(T) is a competitor of T, but competitors having the same word label was T are allies. All the posterior probabilities of the allies of transition T are summed to obtain what is called a posterior probability of word w. The rationale of this operation is to try to avoid missing the important contribution of the same word, often due to very small differences in alignment. To compute the sum of the posterior probabilities of all transitions labeled with word w that correspond to the same instance, the lattice in a topological order is traversed and the method inserts all transitions into the pivot alignment baseline, finally forming the pivot alignment. The method next comprises finding the most overlapping location on the baseline (108), defined by a source and a destination state.
Continuing with the description of the flowchart of FIG. 2, the method queries whether there is already a transition at the location that precedes T on a path in the lattice (110). Insertion of T at that location would hurt the topology of the lattice. If there is no such transition, the method checks if another transition with the same label already occurs in between those two states (112). In the presence of such a transition, the method increments its posterior probability by the posterior probability of the new transition (114). In the absence of a transition with the same label, the method creates a new transition from the source to destination state, with the label and the posterior probability of the currently traversed transition on the lattice (116).
Returning back to step 110, if the topology of the lattice would be hurt by the insertion of T to that location, the method creates a new location by inserting a new state in between source and destination (118). The method adjusts all the transitions by making them point to the newly inserted state and inserts the current transition from the lattice in between the newly created state and the destination state (118). In the preferred embodiment of the invention, the newly inserted state is assigned the mean of the times of source and destination states as a location.
When the time information is not available, the method assigns each state of the lattice its approximate location on the overall lattice. According to this, the initial state is assigned a location 0 and the final states that do not have any outgoing transition are assigned a location 1. All the other states in between are assigned a real number in (0, 1), obtained by dividing the average length of all paths up to that state by the average length of all paths that go through that state. These numbers can be computed by a forward and a backward pass through the lattice. The inventors prefer to use these approximate state locations to obtain ts(T). In an initial state, ts(T)=0 and in a final state, ts(T)=1. The pivot algorithm runs in O(n×k) time, where n is the number of state transitions in the lattice and k is the number of chunks in the resulting structure, which usually is much less than n. For example, if the best path is used as the pivot baseline, then k is the length of the best path plus the number of state insertions made.
The inventors performed a series of experiments to test the quality of the pivot alignments and the confidence scores on them. These experiments used a test set of 2,174 utterances (31,018 words) from the database of the AT&T's “How May I Help You?” system for customer care (HMIHY). The language models used in all the experiments are trigram models based on Variable N-gram Stochastic Automata. The acoustic models are subword unit based, with tri-phone context modeling and variable number of Gaussians (4-24). The word accuracy of the test set when recognized with these models is 66.2%, and the oracle accuracy of the output lattices is 85.7%. Oracle accuracy is the word accuracy of the path in the lattice closest to the reference sequences. It is an upper-bound on the word accuracy that can be obtained using these lattices. To assess the quality of confidence scores on pivot alignments, the inventors plot ROC curves of false rejection versus false acceptance. False rejection is the percentage of words that are correctly recognized in the ASR output but are rejected as their confidence score is below some threshold. False acceptance is the percentage of words that are misrecognized but are accepted as their confidence score is above that same threshold. False rejection and false acceptance are computed with various thresholds to form the ROC curve. FIG. 3 illustrates a plot of the ROC curves for four different types of confidence scores: the posterior probabilities of the transitions on the best path of the lattice, the most likely path of the pivot alignments using approximate time information, consensus hypotheses of sausages, and the most likely path of the pivot alignments using time information. Both pivot alignments and sausages result in better confidence scores than the approach of using the posterior probabilities on the best path of the lattice. As shown in FIG. 3, although the pivot alignments using time information were generated in much less time than sausages, their ROC curve is almost overlapping with the one obtained using sausages. When the time information is not available, the ROC curve for the pivot alignments is only slightly worse than the one obtained using time.
Another method for testing the quality of the confidence scores is checking the percentage of correctly recognized words for given confidence scores. One may expect k % of the words having the confidence score of k/100 to be correct. FIG. 4 shows a graph 402 illustrating the results using confidence score bins without using time information. As seen, the percentage of correctly recognized words in each confidence score bin increases almost linearly as the confidence score increases.
To assess the quality of the pivot alignments, the inventors computed oracle accuracies after pruning the pivot alignments with two different criteria. In Table 1, the oracle accuracies after pruning the pivot alignments by using a threshold for posterior probability are presented.










TABLE 1







k
Oracle Accuracy



















0.4
67.5%



0.2
70.8%



0.1
74.2%



0.05
77.0%



0.01
81.2%



0
86.7%










Any arc that has a posterior probability less than k has been pruned from the pivot alignment and the oracle accuracy has been computed on the pruned pivot alignment. Table 2 presents the oracle accuracies after pruning the pivot alignments using the rank of the transitions.










TABLE 2







I
Oracle Accuracy









1
66.2%



2
75.5%



3
79.0%



4
80.9%



∞
86.7%










In between all two states connected by a transition, only the top I transitions that have the highest posterior probability has been retained when computing the oracle accuracy. For example, if one uses only the two transitions that have the highest posterior probabilities, one can achieve an oracle accuracy of 75.5%. These numbers indicate that, using the top candidates in the pivot alignments instead of just the ASR I-best hypothesis, it is possible to be more robust to ASR errors. The sizes of the pivot alignments are much smaller than the corresponding lattices. In tests, the size of the pivot alignments is 7% of the size of the lattices.
The method embodiment of the present invention does not require any time information on the input lattice, and the labels of the lattice can be words as well as part of speech tags or parse tags.
Embodiments within the scope of the present invention may also include computer-readable media for carrying or having computer-executable instructions or data structures stored thereon. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or combination thereof) to a computer, the computer properly views the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of the computer-readable media.
Computer-executable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Computer-executable instructions also include program modules that are executed by computers in stand-alone or network environments. Generally, program modules include routines, programs, objects, components, and data structures, etc. that perform particular tasks or implement particular abstract data types. Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
Those of skill in the art will appreciate that other embodiments of the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination thereof) through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, a matrix generated according to the method described above is within the scope of the invention. Further, the data associated with a lattice that may be linearalized into a block diagonal matrix may relate to any string of symbols. In the context of language processing, the lattice data may relate to named entities, city names as labels, telephone numbers as labels, or any data related to natural language processing. The linearization process can enable a visualization of a lattice wherein the previously unstructured data can be visualized after linearization in a graphic form. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.

## Claims

1. A method of generating a block diagonal matrix from a lattice, the method comprising:
(1) if a lattice having transitions T is weighted, computing posterior probabilities of all transitions T in a graph;
(2) extracting a pivot baseline path from the lattice; and
(3) aligning the transitions T in the lattice with the transitions in the pivot baseline path.

2. A method of claim 1, wherein the graph is a word graph.

3. The method of claim 2, wherein aligning the transitions T further comprises, for all transitions T in the topologically ordered lattice, performing the following:
A. using time slots of transitions T, finding the most overlapping location on the pivot baseline;
B. if there is no transition at that location that precedes T in the lattice, performing the following:
i. if a transition with the same label already occurs at that location, adding posterior probability of T to the posterior probability of that transition;
ii. if a transition with the same label does not already occur at that location, inserting a new transition to that location with the label and posterior probability of T;

C. if there is a transition at that location that precedes T in the lattice, performing the following:
i. inserting a new state Sn to the pivot alignment;
ii. assigning that state a time information;
iii. changing the destination state of all transitions originating from state Ss to Sn; and
iv. inserting a transition between states Sn and Se and assigning it the label and posterior of T, wherein the lattice is transformed into a block diagonal matrix.

4. The method of claim 3, wherein computing posterior probabilities of all transitions T in a word graph further comprises performing a forward and a backward pass through the word graph.

5. The method of claim 3, wherein if the lattice is not weighted, skipping the step of computing posterior probabilities of all transitions.

6. The method of claim 3, wherein extracting the pivot baseline path further comprises extracting the best path from the lattice.

7. The method of claim 3, wherein extracting the pivot baseline path further comprises extracting the longest path from the lattice.

8. The method of claim 1, wherein extracting the pivot baseline path further comprises extracting a random path from the lattice.

9. The method of claim 3, wherein the time slots of transition T comprise a speech interval between starting and ending time frames of T.

10. The method of claim 1, wherein the block diagonal matrix is smaller in size than the lattice.

11. The method of claim 1, wherein the block diagonal matrix has the computational property.

12. The method of claim 1, wherein if the lattice is weighted, the method further comprises using the probabilities of the block diagonal matrix as word confidence scores.

13. The method of claim 1, wherein the method further comprises using the probabilities of the most probable path of the block diagonal matrix as confidence scores for unsupervised learning of language models.

14. The method of claim 1, wherein the method further comprises using the probabilities of the most probable path of the block diagonal matrix as confidence scores for unsupervised learning for automatic speech recognition.

15. The method of claim 3, wherein the method further comprises applying the probabilities of the block diagonal matrix confidence scores to spoken language understanding.

16. The method of claim 3, wherein the method further comprises applying the probabilities of the block diagonal matrix confidence scores to machine translation.

17. The method of claim 3, wherein the method further comprises applying the probabilities of the block diagonal matrix confidence scores to named entity extraction.

18. The method of claim 1, wherein the block diagonal matrix is smaller in size than the lattice.

19. A method of linearizing a lattice, the method comprising:
(1) if a lattice having transitions T is weighted, computing posterior probabilities of all transitions T in a graph;
(2) extracting a pivot baseline path from the lattice; and
(3) linearizing the lattice by aligning the transitions T in the lattice with the transitions in the pivot baseline path, wherein the linearized lattice can be visualized.