2010 m. lapkričio 10 d., trečiadienis

Kompiuterinė lingvistika: balso sintezė iš teksto (1)

ĮŽANGA

Viena iš, mano nuomone, įdomių kompiuterijos sričių yra kompiuterinė lingvistika. Tačiau, kas tai yra? Pagal mokymo programos aprašą (tokia programa yra KTU), studentas, baigęs kompiuterinę lingvistiką gali dirbti kalbos analizės ir apdorojimo, elektroninės leidybos, darbo su informacinėmis kalbos, šnekos ir teksto technologijomis srityse. O jeigu konkrečiau, tai kalbos signalų apdorojimas, kalbos sintezė ir atpažinimas, mašininė sintaksinė analizė, mašininis vertimas, tekstynų apdorojimas, skiemenavimas ir žodžių kėlimas, rašybos tikrinimas, automatinis santraukos sudarymas, pagalbinės vertimo priemonės (žinoma, visam tam, be informatikos, reikia fonologijos, fonetikos, morfologijos, kirčiavimo, transkribavimo ir kitų filologijos sričių išmanymo).

Kadangi ši sritis man yra įdomi, tai taip jau nutiko, kad ir bakalauro ir magistro baigiamuosius darbus rašiau apie balso sintezę iš teksto (vadovas - dr. P. Kasparaitis). Vienas iš darbo rezultatų - signalo formavimo modulis (kas tai yra, bus aprašyta šioje įrašų serijoje). O kažkurios (ne naujausios) versijos sintezuotos kalbos galite pasiklausyti čia: „Labas, mielasis dienoraščio skaitytojau“.

Tad šiame įraše pradėsiu pasakoti apie balso sintezę iš teksto. Kadangi teksto žada būti daug, tai visas pasakojimas bus išskirstytas per kelis blogo įrašus. Šis įrašas bus nedidelis, bet kiti, tikėtina, bus ilgesni

ĮVADAS

Vienas iš požymių, kuo žmogus skiriasi nuo kitų gyvūnų, yra artikuliuota kalba. Ši savybė kartu su abstrakčiu mąstymu, žmogiška kultūra bei socialiniais ypatumais lėmė dabartinį žmonių paplitimą bei pasiektą išsimokslinimo lygį. Žmogui kalba – svarbiausia bendravimo priemonė. Dabar, esant kompiuteriams, telekomunikacijoms ir internetui, ypač daug socialinių procesų vyksta virtualioje erdvėje. Žmonės vis daugiau ir daugiau laiko praleidžia prie kompiuterių ir interneto, bendravimas tampa daugiau tekstinis nei balsinis. Žinoma, didėjant ryšio pralaidumams balso komunikacijos (pavyzdžiui, Skype) populiarėja, tačiau dauguma informacijos vis tiek lieka tekstinė.

Žmonės atsisako pagrindinės savo bendravimo priemonės tam, kad galėtų patogiau atlikti kitas užduotis. Tačiau ar tikrai būtina atsisakyti? Juk projektai, skatinantys balso komunikacijas, sudaro galimybę ir bando sugrąžinti tai, ką žmonės iš savęs atėmė priimdami kompiuterių bei interneto privalumus.

Vienas iš būdų diegti balsinę kalbą kompiuteriuose – tiesiog „išmokyti“ kompiuterius bendrauti mums natūraliausia bendravimo priemone. Kalbos atpažinimo bei sintezės sistemos – tai pirmasis žingsnis to link.

Akivaizdu, kad kai kuriose srityse yra ypač sunku apsieiti be kalbos sintezatorių (tokiose, kaip akliesiems skirtose sistemose), būtent dėl to aktualu ir verta tyrinėti šią sritį bei tobulinti metodus, įrankius bei programinę įrangą, skirtą sintezuoti balsą iš teksto. Pastaraisiais metais kompiuterių skaičiavimo pajėgumai bei atminties talpa išaugo tiek, kad dažniausiai tai nėra ribojantis veiksnys, kuris lemia kalbos sintezės kokybę. Tačiau kalbos sintezatoriai vis dar nėra masiškai naudojami ir paplitę įvairiose srityse būtent dėl to, kad sintezuotos kalbos kokybė vis dar nėra pakankamai gera. Todėl daugelio kalbų sintezatorius nuolat stengiamasi tobulinti, gerinant jų sintezės kokybę.

Dabar naudojami lietuvių kalbos sintezatoriai remiasi garsų jungimo metodu (pavyzdžiui, UAB „Etalinkas“ sukurtas sintezatorius [Eta10] bei VU sukurtas sintezatorius „Aistis“). Vienas iš tokių metodų – jungti difonus, pavyzdžiui, viena lietuvių kalbos difonų duomenų bazė yra aprašyta [Kas05]. Šiuo metodu realizuoti sintezatoriai susideda iš trijų pagrindinių modulių (visi trys moduliai išsamiai aprašyti 2.2 poskyryje).

Tobulinant kiekvieną modulį atskirai galima gauti geresnius visos balso sintezės sistemos rezultatus, t. y. geresnės kokybės sintezuotą kalbą.

1. KALBOS IŠGAVIMAS

Kad suprastumėme kai kurių sintezės sistemų veikimo ypatumus, panagrinėkime žmogaus kalbos traktą bei jo ypatumus. Šiame skyriuje nesistengiama pateikti išsamaus ir visiškai tikslaus paaiškinimo, kaip žmogus išgauna kalbą – čia tik supažindinama su pagrindiniais kalbos atsiradimo žmogaus kalbos trakte ypatumais.

Supaprastintai žvelgiant į žmogaus kalbos išgavimo organus ir jų vaizdą, galima apibendrintai teigti, kad:

  • plaučiai veikia kaip energijos šaltinis;
  • kai balso stygos būna įtemptos, tai jos virpa ir generuoja tam tikro dažnio bangas, ir taip atsiranda skardus garsas;
  • visos kitos ertmės ir kalbos padargai (nosies, burnos, ryklės ertmės, liežuvis, dantys, lūpos) veikia kaip tam tikras muzikos instrumentas, leidžiantis sukurti bei modifikuoti garsą.

Taigi, skirtingų formų kalbos traktas keičia garsą (t. y., pro jį einančią garso bangą). Viena iš svarbiausių yra burnos ertmė. Keisdami jos formą bei tūrį, išgauname įvairius garsus. Nosies ertmė ypač svarbi išgaunant nosinius garsus (pavyzdžiui, n ir m, kuriuos išgaunant oras išeina pro nosį). Iš viso to galime susidaryti supaprastintą modelį (1 pav.).

1 pav. Supaprastintas žmogaus kalbos trakto modelis

Taigi, įtemptos balso stygos generuoja periodines tam tikro dažnio bangas, kurios naudojamos išgauti skardžiuosius garsus, o duslieji garsai gaunami iš panašaus į triukšmą garso.

TĘSINYS BUS :)

Kitame įraše pasistengsime bendrai apžvelgti kalbos sintezės iš teksto sistemas – jų pritaikymo sritis, naudojimą bei skirstymą. Taip pat pateiksime kelias bendras sintezatorių schemas bei paanalizuosime vienos iš jų sudedamąsias dalis. Tad iki kito karto!

LITERATŪRA

[Eta10] UAB „Etalinkas“. Lietuvių kalbos sintezatorius. [Žiūrėta 2010-05-08]. Prieiga per Internetą.

[Kas05] P. Kasparaitis. Diphone Databases for Lithuanian Text-to-Speech Synthesis. Informatica, 16(2), 2005, pp. 193-202.