Grafeem-naar-foneemconversie met neurale netwerken

Robrecht
Meersman

What can I help you with?Bommelding, verspringen, gynaecologie, december… hoe spreek je dat uit? Als mensen hebben we nu en dan eens moeite met de uitspraak van woorden. Het lijkt dus bijna onmogelijke om een computer dit te leren. Toch zijn er veel doeleinden waarbij het nuttig is dat een computer kan spreken. Deze zogenaamde text-to-speechsystemen (TTS) vind je terug in GPS-software, in de medische sector als hulp bij mensen met een visuele of spraakbeperking, in treinstations als automatische aankondigingen en in de steeds populairder wordende digitale assistenten zoals de Google Assistent, Siri en Alexa. Het einddoel voor TTS is een model creëeren dat eender welke zin correct en verstaanbaar kan uitpreken en idealiter niet meer te onderscheiden is van een opname van een menselijke stem.

Grafeem-naar-foneem, geen eenvoudige taak

Een belangrijke tussenstap voor text-to-speech is de grafeem-naar-foneemconversie of G2P: het omzetten van woorden naar hun fonetische representatie. Het populairste fonetisch alfabet IPA maakt gebruik van vreemde letters die elk een unieke klank voorstellen. Zo wordt het woord “december” omgezet naar “desɛmbər”. Met andere woorden, we schrijven alles letterlijk, op de manier waarop het uitgesproken wordt. Deze opdracht is niet eenvoudig, zo wordt de letter “e” in het woord “december” op drie verschillende manieren uitgesproken. We kunnen dus niet alle letters uit het alfabet met één overeenkomstige klank associëren en de opdracht als afgerond beschouwen. Bovendien bestaan er woorden die meerdere mogelijke uitspraken hebben, afhankelijk van hun betekenis in de zin (denk maar aan vérspringen – verspríngen). Daarbovenop hebben voor- en achternamen dikwijls uitspraken die sterk verschillen van hun notatie.

Volgens de regels

De meest voorkomende implementatie van een G2P-module maakt gebruik van een woordenboek. In dat woordenboek staan de meest voorkomende woorden met hun overeenkomstige fonetische notaties. Een taal is in de praktijk echter niet zo statisch. Er komen dagelijks nieuwe woorden bij, mensen gebruiken onbestaande woorden of lenen woorden uit een andere taal. Het is dus onmogelijk om al die woorden in het woordenboek op te nemen. Wanneer een woord bijgevolg niet in het woordenboek voorkomt, wordt gebruik gemaakt van de traditionele regels van de taal. Deze regels worden door professionele linguïsten ingegeven. Afhankelijk van de fonemische aspecten van de taal zijn dit eenvoudige of juist zeer complexe regels. Het ingeven hiervan is een intensief en tijdrovend werk. Bovendien zou een taal geen taal zijn zonder de vele uitzonderingen op die regels.

Neurale netwerken en vertaalcomputers

Dankzij de stijgende hoeveelheid aanwezige data en de opmars van neurale netwerken en machine learning kan de volledige regelgebaseerde G2P-module vervangen worden door een artificieel neuraal netwerk. Neurale netwerken zijn lange aaneenschakelingen van eenvoudige bewerkingen om zo complexe verbanden te kunnen modelleren. Ze zijn gebaseerd op het menselijk brein en vereisen geen tussenkomst van een expert. In de trainingsfase vragen we een “dom” netwerk om woorden om te zetten waarvan we de fonetische representatie zelf al kennen. Door te vertellen waar het een fout maakte, zal het netwerk uiteindelijk leren wat de regels van die taal zijn. Er zijn dus nooit linguïstische regels  ingegeven, enkel voorbeelden van woorden met hun uitspraak.

Neurale netwerken worden reeds intensief gebruikt bij vertaalcomputers (zoals Google Translate) en blijken zeer goed te werken in verhouding met regelgebaseerde systemen. Uit onderzoek blijkt dat het vertalen van woorden uit een brontaal naar een doeltaal zeer veel gelijkenissen kent met het vertalen van letters naar fonetische tekens. Een woord uit de brontaal wordt niet consistent vertaald naar  hetzelfde woord. De vertaling verschilt afhankelijk de woorden die in de buurt staan. Dit fenomeen is volledig analoog voor letters (herinner je het woord “december”): ze worden een verschillende klank toegekend afhankelijk van de letters in de buurt.

We kunnen dus de types neurale netwerken die goed presteren in het vertalen proberen hergebruiken in onze G2P-taak. Hiervoor wordt er geëxperimenteerd met verschillende types netwerken en worden hun resultaten zowel kwalitatief als kwantitatief vergeleken.

Resultaten

De nauwkeurigheid van een G2P-systeem wordt gemeten in Phoneme Error Rate (PER) en Word Error Rate (WER). Deze zijn respectievelijk het percentage fout voorspelde letters en fout voorspelde woorden. Zo haalt een regelgebaseerd systeem ongeveer 85% WER op Kroatisch en 50% WER op Turks, de talen waarmee geëxperimenteerd wordt. Dit betekent dat wanneer een woord niet gevonden wordt in het woordenboek en de taalregels moeten toegepast worden, er zoveel percent kans is dat de regels niet voldoende zijn.

ResultatenNa grondige experimentatie haalt het beste neuraal netwerk hierbij 29% voor Kroatisch en 15% voor Turks, wat een significante daling is op vlak van error rate. In de literatuur werd het gebruik van neurale netwerken reeds voorgesteld en kunnen ze op een Engelse dataset tot 22% WER halen. We reduceren deze error rate tot 20% waardoor we nauw aansluiten bij de huidige state-of-the-art.

Wanneer de gemaakte fouten geanalyseerd worden, blijkt klemtoon het moeilijkst te voorspellen. Klemtoon is een zeer intuïtief gegeven dat ook in regels moeilijk vast te leggen is, dus dit gedrag is te verwachten. Andere linguïstische aspecten zoals voorspelling van lettergreepgrenzen worden wel correct gemodelleerd door het neuraal netwerk.

Neurale netwerken verbeteren niet alleen de kwaliteit van text-to-speech, maar de implementatie ervan is eenvoudiger en goedkoper dan bij regelgebaseerde systemen. Merk op dat de taak van de professionele linguïsten nu verschuift van regels implementeren naar het voorzien van correcte woordenboeken. Wees gerust, jullie job wordt zeker niet afgenomen door de invoering van artificiële intelligentie!

Bibliografie

Alammar, J. (2018). The illustrated transformer. http://jalammar.github.io/illustrated-transformer.



Bahdanau, D., Cho, K., and Bengio, Y. (2014). Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.



Bengio, S., Vinyals, O., Jaitly, N., and Shazeer, N. (2015). Scheduled sampling for sequence prediction with recurrent neural networks. In Advances in Neural Information Processing Systems, pages 1171-1179.



Bisani, M. and Ney, H. (2008). Joint-sequence models for grapheme-to-phoneme conversion. Speech communication, 50(5):434-451.



Chen, S. F. (2003). Conditional and joint models for grapheme-to-phoneme conversion. In INTERSPEECH.



Cho, K., Van Merriënboer, B., Gulcehre, C., Bahdanau, D., Bougares, F., Schwenk, H., and Bengio, Y. (2014). Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv preprint arXiv:1406.1078.



Elman, J. L. (1990). Finding structure in time. Cognitive science, 14(2):179-211.



Elovitz, H., Johnson, R., McHugh, A., and Shore, J. (1976). to-sound rules for automatic translation of english text to phonetics. IEEE Transactions on Acoustics, Speech, and Signal Processing, 24(6):446-459.



Galescu, L. and Allen, J. F. (2002). Pronunciation of proper names with a joint n-gram model for bi-directional grapheme-to-phoneme conversion. In Seventh International Conference on Spoken Language Processing.



Gehring, J., Auli, M., Grangier, D., Yarats, D., and Dauphin, Y. N. (2017). Convolutional sequence to sequence learning. In Proceedings of the 34th International Conference on Machine Learning-Volume 70, pages 1243-1252. JMLR. org.



Graves, A., Mohamed, A.-r., and Hinton, G. (2013). Speech recognition with deep recurrent neural networks. In 2013 IEEE international conference on acoustics, speech and signal processing, pages 6645-6649. IEEE.

Jordan, J. (2018). Setting the learning rate of your neural network. https://www.jeremyjordan.me/nn-learning-rate/.

Kalchbrenner, N., Espeholt, L., Simonyan, K., Oord, A. v. d., Graves, A., and Kavukcuoglu, K. (2016). Neural machine translation in linear time. arXiv preprint arXiv:1610.10099.

Kurita, K. (2017). Paper dissected: \attention is all you need" explained. http://mlexplained.com/2017/12/29/attention-is-all-you-need-explained.

Lai, S., Xu, L., Liu, K., and Zhao, J. (2015). Recurrent convolutional neural networks for text classi cation. In Twenty-ninth AAAI conference on arti cial intelligence.

Levenshtein, V. I. (1966). Binary codes capable of correcting deletions, insertions, and reversals. In Soviet physics doklady, volume 10, pages 707-710.

Linzen, T., Dupoux, E., and Goldberg, Y. (2016). Assessing the ability of lstms to learn syntaxsensitive dependencies. Transactions of the Association for Computational inguistics, 4:521-535.

Liu, F., Baldwin, T., and Cohn, T. (2017). Capturing long-range contextual dependencies with memory-enhanced conditional random elds. arXiv preprint arXiv:1709.03637.

Luong, M., Brevdo, E., and Zhao, R. (2017). Neural machine translation (seq2seq) tutorial. https://github.com/tensor ow/nmt.

Luong, M.-T., Pham, H., and Manning, C. D. (2015). E ective approaches to attention-based neural machine translation. arXiv preprint arXiv:1508.04025.

Mousa, A. E.-D. and Schuller, B. W. (2016). Deep bidirectional long short-term memory recurrent neural networks for grapheme-to-phoneme conversion utilizing complex many-to-many alignments. In Interspeech, pages 2836-2840.

Neubig, G. (2017). Neural machine translation and sequence-to-sequence models: A tutorial. arXiv preprint arXiv:1703.01619.

Ping, W., Peng, K., Gibiansky, A., Arik, S.  O., Kannan, A., Narang, S., Raiman, J., and Miller, J. (2017). Deep voice 3: 2000-speaker neural text-to-speech. CoRR, abs/1710.07654.

Pitts, W. (1942). Some observations on the simple neuron circuit. The bulletin of mathematical biophysics, 4(3):121{129.

Rao, K., Peng, F., Sak, H., and Beaufays, F. (2015). Grapheme-to-phoneme conversion using long short-term memory recurrent neural networks. In 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 4225-4229. IEEE.

Russell, S. J. and Norvig, P. (2016). Arti cial intelligence: a modern approach. Malaysia; Pearson Education Limited,.

Shen, J., Pang, R., Weiss, R. J., Schuster, M., Jaitly, N., Yang, Z., Chen, Z., Zhang, Y., Wang, Y., Skerrv-Ryan, R., et al. (2018). Natural tts synthesis by conditioning wavenet on mel spectrogram predictions. In 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 4779-4783. IEEE.

Sotelo, J., Mehri, S., Kumar, K., Santos, J. F., Kastner, K., Courville, A. C., and Bengio, Y. (2017). Char2wav: End-to-end speech synthesis. In ICLR.

Sutskever, I., Vinyals, O., and Le, Q. V. (2014). Sequence to sequence learning with neural networks. In Advances in neural information processing systems, pages 3104-3112.

Toshniwal, S. and Livescu, K. (2016). Jointly learning to align and convert graphemes to phonemes with neural attention models. In 2016 IEEE Spoken Language Technology Workshop (SLT), pages 76-82. IEEE.

Van Den Oord, A., Dieleman, S., Zen, H., Simonyan, K., Vinyals, O., Graves, A., Kalchbrenner, N., Senior, A. W., and Kavukcuoglu, K. (2016). Wavenet: A generative model for raw audio. SSW, 125.

Vaswani, A., Bengio, S., Brevdo, E., Chollet, F., Gomez, A. N., Gouws, S., Jones, L., Kaiser, L., Kalchbrenner, N., Parmar, N., et al. (2018). Tensor2tensor for neural machine translation. arXiv preprint arXiv:1803.07416.

Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., and Polosukhin, I. (2017). Attention is all you need. In Advances in neural information processing systems, pages 5998-6008.

Wang, W., Xu, S., and Xu, B. (2016). First step towards end-to-end parametric tts synthesis: Generating spectral parameters with neural attention. In INTERSPEECH.

Wang, Y., Skerry-Ryan, R., Stanton, D., Wu, Y., Weiss, R. J., Jaitly, N., Yang, Z., Xiao, Y., Chen, Z., Bengio, S., et al. (2017). Tacotron: A fully end-to-end text-to-speech synthesis

model. arXiv preprint arXiv:1703.10135.

Yao, K. and Zweig, G. (2015). Sequence-to-sequence neural net models for grapheme-to-phoneme conversion. arXiv preprint arXiv:1506.00196.

Yolchuyeva, S., Németh, G., and Gyires-Tóth, B. (2019). Grapheme-to-phoneme conversion with convolutional neural networks. Applied Sciences, 9(6):1143.

 

Download scriptie (1.94 MB)
Universiteit of Hogeschool
Universiteit Gent
Thesis jaar
2019
Promotor(en)
Jan Cnops, Corinne Bos