This application is a national phase application based on PCT/EP2003/004521, filed Apr. 30, 2003, the content of which is incorporated herein by reference.
The present invention relates generally to the automatic production of speech, through a grapheme-to-phoneme transcription of the sentences to utter. More particularly, the invention concerns a method and a system for generating grapheme-phoneme rules, to be used in a text to speech device, comprising an alignment phase for associating graphemes to phonemes, and a text to speech system.
Speech generation is a process that allows the transformation of a string of symbols into a synthetic speech signal. An input text string is divided into graphemes (e.g. letters, words or other units) and for each grapheme a corresponding phoneme is determined. In linguistic terms a “grapheme” is the visual form of a character string, while a “phoneme” is the corresponding phonetic pronunciation.
The task of grapheme-to-phoneme alignment is intrinsically related to text-to-speech conversion and provides the basic toolset of grapheme-phoneme correspondences for use in predicting the pronunciation of a given word. In a speech synthesis system, the grapheme-to-phoneme conversion of the words to be spoken is of decisive importance. In particular, if the grapheme-to-phoneme transcription rules are automatically obtained from a large transcribed lexicon, the lexicon alignment is the most important and critical step of the whole training scheme of an automatic rule-set generator algorithm, as it builds up the data on which the algorithm extracts the transcription rules.
The core of the process is based on a dynamic programming algorithm. The dynamic programming algorithm aligns two strings finding the best alignment with respect to a distance metric between the two strings.
A lexicon alignment process iterates the application of the dynamic programming algorithm on the grapheme and phoneme sequences, where the distance metric is given by the probability P(f|g) that a grapheme g will be transcribed as a phoneme f. The probabilities P(f|g) are estimated during training each iteration step.
In document Baldwin Timoty and Tanaka Hozumi, “A comparative Study of Unsupervised Grapheme-Phoneme Alignment Methods”, Dept of Computer Science-Tokyo Institute of Technology, two well-known unsupervised algorithms to automatically align grapheme and phoneme strings are compared. A first algorithm is inspired by the TF-IDF model, including enhancements to handle phonological determine frequency through analysis variation and of “alignment potential”. A second algorithm relies on the C4.5 classification system, and makes multiple passes over the alignment data until consistency of output is achieved.
In document Walter Daelemans and Antal Van den Bosch, “Data-oriented Methods for Grapheme-to-Phoneme Conversion”, Institute for Language Technology and AI, Tilburg University, NL-5000 LE Tilburg, two further grapheme-to-phoneme conversion methods are shown. In both cases the alignment step and the rule generation step are blended using a lookup table. The algorithms search for all unambiguous one-to-one grapheme-phoneme mappings and stores these mappings in the lookup table.
In U.S. Pat. No. 6,347,295 a computer method and apparatus for grapheme-to-phoneme rule-set-generation is proposed. The alignment and rule-set generation phases compare the character string entries in the dictionary, determining a longest common subsequence of characters having a same respective location within the other character string entries.
In the methods disclosed in the above-mentioned documents, the graphemes and the phonemes belong respectively to a grapheme-set and a phoneme-set that are defined in advance and fixed, and that cannot be modified during the alignment process.
The assignment of graphemes to phonemes is not, however, yielded uniquely from the phonetic transcription of the lexicon. A word having N letters may have a corresponding number of phonemes different from N, since a single phoneme can be produced by two or more letters, as well as one letter can, produce two or more phonemes. Therefore, the uncertainty in the grapheme-phoneme assignment is a general problem, particularly when such assignment is performed by an automatic system.
The Applicant has tackled the problem of improving the grapheme-to-phoneme alignment quality, particularly where there are a different number of symbols in the two corresponding representation forms, graphemic and phonetic. In such cases a coherent grapheme-phoneme association is particularly important, in presence of automatic learning algorithms, to allow the system to correctly detect the statistic relevance of each association.
The Applicant observes that particular grapheme-phoneme associations, in which for example a single letter produces two phonemes, or vice versa, may recur very often during the alignment process of a lexicon.
The Applicant has determined that, if such particular grapheme-phoneme associations are identified during the alignment process and treated accordingly in a coherent and well defined manner, such alignment can be particularly precise.
In view of the above, it is an object of the invention to provide a method of generating grapheme-phoneme rules comprising a particularly accurate alignment phase, which is language independent and is not bound by the lexical structures of a language.
According to the invention that object is achieved by means of a method of generating grapheme-phoneme rules comprising a multi-step alignment phase.
The invention improves the grapheme-to-phoneme alignment quality introducing a first preliminary alignment step, followed by an enlargement step of the grapheme-set and phoneme-set, and a second alignment step based on the previously enlarged grapheme/phoneme sets. During the enlargement step grapheme clusters and phoneme clusters are generated that become members of a new grapheme and phoneme set. The new elements are chosen using statistical information calculated using the results of the first alignment step. The enlarged sets are the new grapheme and phoneme alphabet used for the second alignment step. The lexicon is rewritten using this new alphabet before starting with the second alignment step that produces the final result.
The invention will now be described, by way of example only, with reference to the annexed figures of drawing, wherein:
With reference to
The lexicon input 4 comprises a plurality of entries, each entry being formed by a character string and a corresponding phoneme string indicating pronunciation of the character string. By analysing each entry's character string pattern and corresponding phoneme string pattern in relation to character string-phoneme string patterns in other entries, the method is able to create grapheme to phoneme rules for a text-to-speech synthesizer, not shown in figure. A text-to-speech synthesizer uses the generated rule-set 10 to analyse an input text containing character strings written in the same language as the lexicon 4, for producing an audible rendition of the input text.
The device 2 comprises two main blocks, connected in series between the input lexicon 4 and the generated output rule-set 10, an alignment block 6 for the assignment of phonemes to graphemes generating them in the lexicon 4, and a rule-set extraction block 8 for generating, from an aligned lexicon, the rule-set 10 for automatic grapheme to phoneme conversion.
The present invention provides in particular a new method of implementing the grapheme-to-phoneme alignment block 6.
The block flow diagram in
A first block F1, explained in detail hereinbelow with reference to
The block F3, following block F2, implements a second alignment step on the lexicon which has been rewritten with the new graphemic and phonetic sets. Such second step of the lexicon alignment process is quivalent to the preliminary alignment step F1.
The grapheme-set/phoneme-set enlargement step F2 and the second alignment step F3 can be looped several times, see decision block F4 in
Generally, a single pass of blocks F2, F3 is satisfactory for improving greatly the quality of the alignment. Block F7 represents the end of the improved alignment process.
The process starts in block F8 using the starting lexicon 4 as data source. The lexicon, which is composed by a set of pairs <grapheme form>=<phoneme form> for each word, is compiled and prepared for the following alignment.
In block F9 is performed the alignment, followed by blocks F10-F11 in which some grapheme clusters and phoneme clusters, whose occurrence is higher then a predetermined threshold (THR1 for grapheme clusters and THR2 for phoneme clusters), are selected. The values of the thresholds THR1 and THR2 depend on the size of the lexicon. An absolute value for these thresholds can be, for example, a value around 5.
In block F10 the system calculates a statistical distribution of potential grapheme and phoneme clusters generated in the lexicon alignment step F9, for selecting, among said potential grapheme and phoneme clusters a cluster having highest occurrence. If such occurrence is higher then a threshold THR4, the lexicon is recompiled with the enlarged grapheme/phoneme sets, block F13, replacing each sequence of components corresponding to the sequence of components of the selected cluster with the selected cluster, and the process is reiterated starting from F8; otherwise the loop ends in block F14.
The potential grapheme and phoneme clusters are individuated searching all grapheme or phoneme cancellations or insertions, that is where there are a different number of symbols in the two corresponding representation forms, graphemic and phonetic.
The process starts from the lexicon F15, corresponding to a plurality of pairs <grapheme form>=<phoneme form> for each word, such pairs being well-known as “tuples”. The process is divided in two sub-blocks, a first loop F9a and a second loop F9b.
In the first loop F9a the algorithm considers only tuples where the number of graphemes ng(g) and the number of phonemes nf(f) are equal, as, for example in the tuple “amazon={grave over ( )}Ae m Heh z Heh n”. In block F16 the tuples with ng(g)=nf(f) are selected. A statistical model P(g|f) is initialised with a constant value, in block F17, or it can be initialised using pre-calculated statistics.
The lexicon alignment process iterates the application of a Dynamic Programming algorithm on the grapheme and phoneme sequences, where the distance metric is given by the probability that the grapheme g will be transcribed as the phoneme f, that is P(f|g). The calculation of P(f|g) is performed in block F18, for obtaining a P(f|g) model F19. The obtained statistical model F19 substitutes the statistical model F17 in the next step of the loop F9a. In block F20 it is checked if the model P(f|g) is stable; if it is not stable the process goes back to F18, otherwise it continues in block F23 of loop F9b.
The best alignment is the one with the maximum probability, that is:
where Pathk is a generic alignment between grapheme and phoneme sequences. The probabilities P(f|g) are estimated during training at each iteration step. The previous statistical model is used as bootstrap model for the next step until the model itself is stable enough (block F20), for example a good metric is:
where THa is a threshold that indicates the distance between the models. The value of FRM1 decreases in value until it reaches a relative minimum, then the value of FRM1 swings. The threshold THa can be estimated starting with a value equal to zero since FRM1 reach the minimum, then setting THa to a value equal to the mean of the first 10 swings of FRM1.
When the model is considered stable enough, this model is used, see block F23, as the bootstrap model for the next phase, block F24, in which is performed calculation of P(f|g) using the whole lexicon F15. Then it is checked if the model P(f|g) obtained in block F25 is stable, block F26, and if it is not stable the process goes back to block F24 using the model obtained in block F25 in block F23, otherwise it continues in block F29. Block F29 represents the stable model P(f|g).
The stable model P(f|g) is then used with the lexicon F15 for performing the lexicon alignment in block F30, obtaining an aligned lexicon F31.
In loop F9b the algorithm considers all the tuples in the lexicon, the statistical model is initialised with the last statistical model calculated during previous loop F9a.
The lexicon alignment process can be the same as explained before with reference to loop F9a, however other metrics and/or other thresholds can be chosen.
After the alignment of the lexicon, performed in block F9, we are able to consider, for every tuple, all the cases of grapheme/phoneme cancellation/insertion. Operation of blocks F10, F11, F13 in
g1g2g3g4g5−g6
f1−f2f3f4f5f6
This can be the result of the F9b loop alignment for one word, where the gi are the graphemes (or grapheme clusters chosen in previous steps) and the fj the phonemes (or phoneme clusters chosen in previous steps) of the tupla.
The algorithm implemented in blocks F10-F11 calculates the possible clusters:
For each cluster present in the aligned lexicon, the algorithm calculates the number of the occurrences, buildings a table of occurrences.
If the occurrence of the most present grapheme/phoneme cluster is higher than the predetermined threshold (THR1 for grapheme clusters and THR2 for phoneme clusters), it is used to recompile the lexicon, block F13.
The algorithm therefore selects the most frequent cluster, and this cluster will be used for re-writing the lexicon.
By way of example, if the algorithm chooses the cluster g2,g3→f2, Each occurrence of g2,g3 in the lexicon will be re-written as g2+g3:
<g1g2+g3g4g5g6>=<f1f2f3f4f5f6>
In this case the number of the graphemes in the pair decreases, modifying future choices in the next F9b loop step.
The grapheme and phoneme clusters enlarge temporally the grapheme-set and the phoneme-set: in the example g2+g3 becomes temporally a member of the grapheme-set.
If there are no grapheme/phoneme clusters which mount is higher than the predetermined threshold, the first-step alignment algorithm ends, block F14.
The alignment algorithm provides the grapheme and phoneme sets enlargement. It starts from the aligned lexicon F32.
In blocks F33 and F34 a pair of cluster thresholds is chosen, respectively a graphemic cluster threshold THR6 in block F33 and a phonemic cluster threshold THR7 in block F34.
The graphemic cluster threshold THR6 indicates the percentage of realizations that the graphemic cluster must achieve to be considered as potential element for the grapheme-set enlargement, while the phonetic cluster threshold THR7 indicates the percentage of realizations that the phonetic cluster must achieve to be considered as potential element for the phoneme-set enlargement.
The thresholds THR6 and THR7 are independent, and can be modified if the number of potential candidates exceeding the thresholds is too small, generally lower then a predetermined minimum number of graphemic clusters CN and phonetic clusters PN.
In block F35 the graphemic and phonetic clusters satisfying the thresholds THR6 and THR7 are selected, in block F36 it is verified if the desired number CN of graphemic clusters has been reached, while in block F37 it is verified if the desired number PN of phonetic clusters has been reached.
If required, it's possible to increase only one of the sets. The thresholds can be tuned in order to add more clusters. Experimental results have shown that thresholds around 80% are good for several languages. Lower thresholds can limit the subsequent extraction of good phonetic transcription rules.
If the desired number of graphemic and phonetic clusters has been obtained the corresponding grapheme and phoneme sets are enlarged permanently, respectively in blocks F38 and F39, and the lexicon F32 is rewritten, block 40, using the new grapheme and phoneme sets. The new, not-aligned, lexicon is obtained substituting the sequences of elements present in the lexicon with the grapheme and phoneme clusters chosen to enlarge the grapheme and phoneme sets.
The obtained lexicon, ready for a new alignment, is represented in
The following table shows an example of analysis of the aligned lexicon, wherein each cluster is associated to a percentage indicating its occurrence:
After the grapheme-set and phoneme-set enlargement step F2, the second alignment step F3 is performed, as previously described with reference to
The operation of the second alignment step F3 is the same as previously described with reference to
The grapheme-set/phoneme-set enlargement step F2 and the alignment algorithm F3 can be looped several times, until the obtained alignment is considered stable enough, depending on the intended use of the aligned lexicon.
The method and system according to the present invention can be implemented as a computer program comprising computer program code means adapted to run on a computer. Such computer program can be embodied on a computer readable medium.
The grapheme-to-phoneme transcription rules automatically obtained by means of the above described method and system, can be advantageously used in a text to speech system for improving the quality of the generated speech. The grapheme-to-phoneme alignment process is indeed intrinsically related to text-to-speech conversion, as it provides the basic toolset of grapheme-phoneme correspondences for use in predicting the pronunciation of a given word.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP03/04521 | 4/30/2003 | WO | 00 | 10/28/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2004/097793 | 11/11/2004 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5781884 | Pereira et al. | Jul 1998 | A |
6134528 | Miller et al. | Oct 2000 | A |
6347295 | Vitale et al. | Feb 2002 | B1 |
6411932 | Molnar et al. | Jun 2002 | B1 |
7107216 | Hain | Sep 2006 | B2 |
7171362 | Hain | Jan 2007 | B2 |
7406417 | Hain | Jul 2008 | B1 |
20020049591 | Hain | Apr 2002 | A1 |
Number | Date | Country |
---|---|---|
199 42 178 C 1 | Jan 2001 | DE |
Number | Date | Country | |
---|---|---|---|
20060265220 A1 | Nov 2006 | US |