Abstract:
The assignment of phonemes to graphemes producing them in a lexicon having words (grapheme sequences) and their associated phonetic transcription (phoneme sequences) for the preparation of patterns for training neural networks for the purpose of grapheme-phoneme conversion is carried out with the aid of a variant of dynamic programming which is known as dynamic time warping (DTW).

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
         [0001]    This application is based on and hereby claims priority to German Application No. 10042943.2 filed on Aug. 31, 2000 in Germany, the contents of which are hereby incorporated by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    The invention relates to a method, a computer program product, a data medium and a computer system for the assignment of phonemes to the graphemes producing them in a lexicon having words (grapheme sequences) and their associated phonetic transcription (phoneme sequences).  
           [0003]    Speech processing methods are disclosed, for example, in U.S. Pat. No. 6,029,135, U.S. Pat. No. 5,732,388, DE 19636739 C1 and DE 19719381 C1. Routines for grapheme-phoneme conversion, that is to say for converting written words into spoken sounds, are required for automatically reading aloud or extending the vocabulary of dictation systems or of automatic speech recognition systems. Neural networks are frequently used for this purpose.  
           [0004]    The training of these neural networks is performed with the aid of patterns. A pattern includes of a number of letters from a word which are applied to the input nodes of a neural network, and of the associated phoneme corresponding to the output node. Each phoneme is frequently also assigned what is termed a grouping value. The grouping value specifies the number of graphemes which produce the associated phoneme.  
           [0005]    The patterns are obtained from what are termed training lexica. A training lexicon contains assignments of graphemes, as a rule words, numerals, etc., that is to say everything which is to be converted, to phonemes and phoneme sequences, that is to say grapheme-phoneme transcriptions at the level of words. The phoneme sequences are produced in the training lexicon by a suitable type of phonetic transcription. SAMPA phonetic transcriptions or Spicos inventory, which are based on ASCII characters, are frequently used in the field of automatic speech recognition. A few German words may be listed by way of example with the associated phonetic transcription in SAMPA:  
                                                       Quatsch   kv&#39;atS           spät   SpE:t           Schutz   SUts           schwer   Sve:6           Sprache   Spra:x@                      
 
           [0006]    The sound “sch” is represented, for example, by [S], lengthenings by a colon. In this case, phonemes are represented in square brackets [ ], graphemes in pointed brackets &lt; &gt;. All the examples of phonetic transcription in the description are reproduced in SAMPA.  
           [0007]    Although these training lexica include the phonetic transcription, they do not include the unique assignment of phonemes and the graphemes producing them, as required for the patterns. For example, the following assignment would be desirable for the word &lt;Sprache&gt;:  
                                                               Graphemes   S   p   r   a   c   h   e       Phonemes   S, 1   p, 1   r, 1   a:, 1   x, 2       @, 1                  
 
           [0008]    from which it is easier to derive the patterns for training the neural network. In the case of an input window with 7 letters, the following 6 patterns are yielded directly from the unique assignment:  
                                                                   1st   Input               S   p   r   a       Pattern   Output               S, 1                  
 
           [0009]    The grapheme sequence of 3 empty characters, &lt;S&gt;, &lt;p&gt;, &lt;r&gt; and &lt;a&gt;, &lt;S&gt; being located centrally in the input window, is assigned to the sound [S] with the grouping value 1. The following are obtained correspondingly as further patterns:  
                                                                   2nd   Input           S   p   r   a   c       Pattern   Output               p, 1       3rd   Input       S   p   r   a   c   h       Pattern   Output               r, 1       4th   Input   S   p   r   a   c   h   e       Pattern   Output               a:, 1       5th   Input   p   r   a   c   h   e       Pattern   Output               x, 2                  
 
           [0010]    The “Ach” sound, or voiceless velar fricative “ch” is assigned a grouping value of 2 in accordance with the segmentation rules, since it is assigned the two letters &lt;c&gt; and &lt;h&gt;. The letter window can therefore be displaced in the following pattern by 2 letters:  
                                                                   6th   Input   a   c   h   e                   Pattern   Output               @, 1                  
 
           [0011]    The assignment of letters to phonemes is not, however, yielded uniquely from the phonetic transcription of the lexicon. The word &lt;Sprache&gt; has of 7 letters, but only of 6 phonemes. The question arises as to which of the phonemes is produced by 2 letters. Since also 2 phonemes can be produced by one letter, for example [ks] by &lt;x&gt;, the uncertainty in the grapheme-phoneme assignment is a general problem for the patterns.  
           [0012]    To date, the grapheme-phoneme assignment has been carried out semi-automatically, starting from empirical rules evident to a native speaker, but this is subject to error, particularly in the case of multilingual systems, and constitutes a substantial outlay.  
         SUMMARY OF THE INVENTION  
         [0013]    It is an object of one aspect of the invention automatically to produce the assignment of phonemes to the graphemes producing them for patterns for training a neural network for grapheme-phoneme conversion.  
           [0014]    In this case, in the context of a computer program product the computer program is understood as a suitable product in whatever form, for example on paper, on a machine-readable data medium, distributed over a network, etc.  
           [0015]    According to one aspect of the invention, the assignment of phonemes to the graphemes producing them is carried out in a lexicon having words (grapheme sequences) and their associated phonetic transcription (phoneme sequences) with the aid of a dynamic time warping (DTW) algorithm.  
           [0016]    DTW algorithms are a variant of dynamic programming. They are described, for example, in:  
           [0017]    1. Hoffmann, R.: “Signalanalyse und-erkennung” (Signal analysis and recognition.), SpringerVerlag, Berlin, Heidelberg, 1998, pages 390-393.  
           [0018]    2. Rabiner, L. R.; Juang, B. -H.: “Fundamentals of speech recognition.” Englewood Cliffs: Prentice Hall 1993 (Prentice Hall Signal Processing Series).  
           [0019]    3. Besling, S.: “Heuristical and Statistical methods of Grapheme-to-Phoneme Conversion”; Proceedings KONVENS 94, Vienna, pages 23-31.  
           [0020]    It is preferred to select in a first step words in which the number of the graphemes and the number of the phonemes coincide. In these words, the graphemes and phonemes are assigned to one another in the sequence of the specification of their graphemes and phonemes in the lexicon. The relative frequency with which a phoneme is produced by a grapheme is determined from these assignments. Alternatively, it is also possible to determine the relative frequency with which a grapheme is assigned to a phoneme.  
           [0021]    Created in a second step for each word of the lexicon is a two-dimensional matrix, the so-called incidence matrix, one index of which is given by the grapheme of the word, and the second index of which is given by the phoneme of the word. The relative frequencies belonging to the respective phoneme-grapheme pair and determined in the first step are selected as entries of the matrix.  
           [0022]    In a third step, each matrix entry is logically combined by a mathematical operation, in particular a multiplication, with the extreme value, which is preferably the maximum value, of the following three preceding matrix entries: the entry for the same phoneme and the preceding grapheme in the word, the entry for the preceding phoneme and the same grapheme in the word, and the entry for the preceding phoneme and the preceding grapheme in the word. Other computing operations are also conceivable instead of multiplication, for example addition of the reciprocals of the matrix entries, or other operations successful in dynamic programming.  
           [0023]    The first grapheme and the first phoneme of the word are the starting point in the multiplication operation, the modified entries of the matrix respectively yielded from the multiplication operations being used in determining the maximal values. A step direction is determined for this matrix entry by determining which of the three preceding matrix entries was extreme.  
           [0024]    In a fourth step, the step direction determined for the matrix entry is respectively defined, starting from the matrix entry for the last phoneme and the last grapheme, along a path through the matrix up to the matrix entry for the first phoneme and the first grapheme. The matrix elements belonging to the path define the assignment of graphemes to phonemes of the word.  
           [0025]    The lexicon is therefore consistently prepared. The method according to one aspect of the invention can be adapted for producing patterns for training neural networks.  
           [0026]    After execution of the assignment of graphemes to phonemes for each word of the lexicon, these assignments are used to determine the position-dependent relative frequency with which a phoneme is produced by two or more graphemes, or two or more phonemes are produced by a grapheme, or two or more graphemes are assigned to a phoneme, or a grapheme is assigned to two or more phonemes. This permits corrections to be undertaken to the assignments in a further step.  
           [0027]    These corrected assignments can be used for iterative improvements of the relative frequencies and thus of the assignments. For this purpose, after the correction of the assignments, the position-dependent relative frequencies are determined anew for each word of the lexicon from these corrected assignments. These are used in further assignments.  
           [0028]    When determining the relative frequencies, it is advantageous to take into account only those assignments in which the matrix entry for the last phoneme and the last grapheme exceeds a prescribed threshold value after execution of the multiplications. This filters out long words in the case of which the assignment is uncertain, as well as very rare and therefore uncertain assignments.  
           [0029]    It is advantageous to use unique entry knowledge for the matrix entries in order to create stable fixed points. Thus, for example, the matrix entry for the first phoneme and the first grapheme of each word is set to 1, like the matrix entry for the last phoneme and the last grapheme of each word. These two entries form the starting point and finishing point, respectively, of the path to be determined, and must be traversed in any case. On the other hand, the matrix entry for the first phoneme and the last grapheme of each word, as well as the matrix entry for the last phoneme and the first grapheme of each word are set to 0, because these assignments are basically ruled out.  
           [0030]    The diagonal is preferred as the most likely path when determining the maximum in conjunction with the multiplication. That is to say, if in the determination of the maximum value of the three preceding matrix entries the matrix entry for the preceding phoneme and the preceding grapheme in the word and one of the other two entries are of equal magnitude, the matrix entry for the preceding phoneme and the preceding grapheme in the word is regarded as a maximum. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]    These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:  
         [0032]    [0032]FIG. 1 shows a computer system suitable for assigning phonemes to the graphemes producing them in a lexicon;  
         [0033]    [0033]FIG. 2 shows a matrix with a 1-to-1 assignment of graphemes and phonemes for the word &lt;haben&gt;;  
         [0034]    [0034]FIG. 3 shows a matrix for assigning graphemes and phonemes for the word &lt;textlich&gt;;  
         [0035]    [0035]FIG. 4 shows the matrix of the transition frequencies for the assignment of graphemes and phonemes for the word &lt;können&gt;;  
         [0036]    [0036]FIG. 5 shows the matrix in accordance with FIG. 4 after execution of multiplications; and  
         [0037]    [0037]FIG. 6A shows a matrix in accordance with FIG. 5 for the word &lt;yield&gt;; and  
         [0038]    [0038]FIG. 6B shows the matrix in accordance with FIG. 6A after a correction of the assignment of graphemes and phonemes. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0039]    Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.  
         [0040]    [0040]FIG. 1 shows a computer system suitable for assigning phonemes to the graphemes producing them. This system has a processor (CPU)  20 , a main memory (RAM)  21 , a program memory (ROM)  22 , a hard disk controller (HDC)  23 , which controls a hard disk ( 30 ), and an interface controller (I/O controller)  24 . The processor  20 , main memory  21 , program memory  32 , hard disk controller  23  and interface controller  24  are coupled with one another via a bus, the CPU bus  25 , for exchanging data and commands. The computer also has an input/output bus (I/O bus)  26 , which couples various input and output devices to the interface controller  24 . The input and output devices include, for example, a general input and output interface (I/O interface)  27 , a display  28 , a keyboard  29  and a mouse  31 .  
         [0041]    It is described below how the assignment of phonemes to graphemes producing them is carried out for a word.  
         [0042]    Various relative frequencies for calculating the best assignment are used in the following description, and are generally denoted below briefly as frequencies. The frequency with which the grapheme g is assigned to the phoneme p is also termed the transitional frequency and is calculated from  
         H        (     g   →   p     )       =       Z        (     g   →   p     )         N        (   p   )                               
 
         [0043]    In this case, Z(g-&gt;p) is the number of assignments of the grapheme g, denoted below by &lt;g&gt;, the phoneme p, denoted below by [p], and N(p) is the number of all the assignments of all the graphemes to this phoneme [p].  
         [0044]    Further frequencies are also required, since the relative frequency of the direct assignment of a grapheme to a phoneme is not sufficient for a final decision on the assignments. Consequently, position-dependent frequencies are also determined in grapheme groups &lt;G&gt;, as are the predecessor and successor frequencies which reflect the dependencies of the assignment to phonemes of the preceding and succeeding graphemes.  
         [0045]    Position-dependent frequency H pos  is understood as the frequency with which the grapheme at a specific position within a grapheme group &lt;G&gt; is assigned to a phoneme. Thus, for example, in the assignment of the grapheme group &lt;ch&gt; to the phoneme [C], the grapheme &lt;c&gt; is located at the first position, and the grapheme &lt;h&gt; at the second one. In this case, [C] is the voiceless palatal fricative or “Ich” sound, as in &lt;Sicht&gt;.  
         [0046]    The frequency Hpos is calculated from  
           H   pos          (       g   →   p     |       g                 in     &lt;   G   &gt;     at                 Pos                 i         )       =       Z        (       g   →   p     |       g                 in                &lt;   G   &gt;                at                 Pos                 i         )         N        (   p   )                               
 
         [0047]    The transitional frequencies are initialized by using the entries in a lexicon with words and their phonetic transcription, in the case of which the number of the graphemes coincides with the number of the phonemes. It is assumed that each grapheme is assigned to the corresponding phoneme. This is illustrated in FIG. 2 by the diagonally extending line.  
         [0048]    This direct assignment is not always correct, as is shown, for example, by the example of &lt;textlich&gt; from FIG. 3, in which the line for the assignments does not extend simply diagonally. The number of the graphemes in the word &lt;textlich&gt; coincides with the number of the phonemes. There are 8 in each case. However, the letter &lt;x&gt; is mapped onto two phonemes [ks], and the letter group &lt;ch&gt; is mapped onto only one phoneme [C]. since such exceptions occur relatively seldom, however, they are of a correspondingly low weighting in the application of the relative frequencies. Moreover, all the frequencies which undershoot a specific threshold value are removed in a later correction step.  
         [0049]    The assignments are counted, and the relative frequencies or transitional frequencies are determined from them.  
         [0050]    The relative frequencies or transitional frequencies obtained in the preceding step are used to set up a matrix with transitional frequencies for each word in the lexicon, as is shown in FIG. 4 for the word &lt;können&gt;.  
         [0051]    Four entries are permanently prescribed in this case. The entries at bottom left and top right must always be traversed, since they are the starting point and finishing point, respectively. They are therefore set to 1. By contrast, the fields at top left and bottom right can never be traversed. They are therefore set to 0. All other fields contain the corresponding transitional frequencies H(g-&gt;p).  
         [0052]    In this initial assignment, &lt;n&gt; is assigned to the phoneme [9] (rounded half-open front vowel “ö”). Consequently 0.013 is set instead of numeral 0 in the corresponding fields. However, it may be seen that this frequency is much lower than the remaining frequencies. It is therefore of virtually no importance.  
         [0053]    The individual matrix entries are now multiplied in each case by the maximum of the adjacent entries in order to calculate the path. Since only the movements upward, to the right or upward to the right are permitted, only the values on the left, at the bottom and at bottom left starting from the respective matrix entry are considered for determining the maximum.  
         [0054]    If during the determination of the maximum value the matrix entry at bottom left (diagonally) starting from the respective matrix entry and one of the other two entries are of equal magnitude, the diagonally situated matrix entry is regarded as maximal.  
         [0055]    The multiplication begins with the first entry at bottom left, use being made in the determination of the maximum values of the modified entries of the matrix respectively resulting from the multiplications.  
         [0056]    The first column and the lowermost row represent special cases, since there is no left-hand or lower neighbor. Here, the current entry is always multiplied by the lower or left-hand entry. The individual products resulting are illustrated in FIG. 5.  
         [0057]    The accumulated frequency at the final point at top right is therefore the product of the entries or frequencies on the optimal path from the starting point to the finishing point.  
         [0058]    A step direction from matrix entry to matrix entry is determined by determining which of the three preceding matrix entries was maximal. Starting from the matrix entry for the last phoneme and the last grapheme (top right), a path is respectively defined through the matrix along the determined step direction up to the matrix entry at bottom left. The matrix elements belonging to the path define the assignment of graphemes to phonemes of the word.  
         [0059]    Subsequently, post-treatment is carried out for further improvement. The post-treatment serves to check the decisions made, taking account of the grapheme context and phoneme context.  
         [0060]    Firstly, after execution of the described assignment of graphemes to phonemes for each word of the lexicon, these assignments are used to determine the relative frequency with which a phoneme is produced by two or more graphemes, or two or more phonemes are produced by a grapheme, that is to say the position-dependent frequency Hpos.  
         [0061]    Subsequently, the assignment of graphemes to phonemes within a word is corrected with the aid of the position-dependent frequencies. Consideration is given for this purpose to FIG. 6A which corresponds in structure to FIG. 5. The previously described method supplies, for example, for the English word &lt;yield&gt;, the assignment  
         [0062]    yi e l d  
         [0063]    to  
         [0064]    j i: l d  
         [0065]    since the frequency of the assignment of the grapheme &lt;i&gt; to the phoneme [j] is higher (here 0.04) than the frequency of the assignment to the phoneme [i:] (here 0.03).  
         [0066]    The position-dependent frequencies show, however, that the frequency of the assignment of &lt;i&gt; to the phoneme [j] is low when &lt;i&gt; is located at the second position of the grapheme group &lt;yi&gt;. By contrast, the frequency of the assignment of &lt;i&gt; to the phoneme [i:] is high when &lt;i&gt; is located at the first position of the grapheme group &lt;ie&gt;.  
         [0067]    This corrected assignment is also supported by the consideration of the position-dependent frequency of &lt;e&gt;. The frequency of the assignment of &lt;e&gt; to the phoneme [i:] is low when &lt;e&gt; is located in front of &lt;l&gt;. By contrast, the frequency of the assignment of &lt;e&gt; to the phoneme [i:] is high when &lt;e&gt; is located at the second position of the grapheme group &lt;ie&gt;.  
         [0068]    The assignment can therefore be corrected in accordance with FIG. 6B.  
         [0069]    After execution of the corrected assignment for each word of the lexicon, these corrected assignments are used to determine the transitional frequencies and the position-dependent frequencies. These are used in further assignments.  
         [0070]    In order to determine the relative frequencies, only those assignments are taken into account in which the matrix entry for the last phoneme and the last grapheme (top right) overshoots a prescribed threshold value after execution of the multiplications outlined. This matrix entry corresponds to the product of the transitional frequencies along the best path. The magnitude of this product is therefore used as a criterion as to whether this path is to be accepted or not.  
         [0071]    The method is executed in several iterations. In this case, the threshold value is high at the start and is reduced after each iteration. Consequently, at the start only those assignments are accepted which are correct with relative certainty. Since all frequencies are less than 1, the length of the word also enters indirectly into the product. The more factors the product has, the smaller it becomes. Thus, at the start it is predominantly the assignments of short words that are accepted. With short words, the probability of finding a wrong assignment is smaller than in the case of long ones.  
         [0072]    The assignments in the case of which the product of the transitional frequencies has overshot the threshold value are used to obtain the new statistics. Even in the case of the first evaluation of the statistics thus obtained, most of the errors which have resulted from the one-to-one initialization of the frequencies have vanished. Moreover, it is also checked how frequently each grapheme-phoneme assignment has occurred. If the ratio undershoots a threshold value, this assignment is ignored, and thus not further used when the matrices are next filled up.  
         [0073]    The result is an assignment of the graphemes to the phonemes for the entire lexicon. Furthermore, a list is obtained showing which phoneme or which phoneme group can be produced by which graphemes, for example [tS] in English by &lt;ch&gt;, &lt;cz&gt;, &lt;c&gt;, &lt;tch&gt;, &lt;cc&gt;, &lt;t&gt; and &lt;che&gt;.  
         [0074]    The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.