"Oasis Numbers" Adatbázis Kibocsájtó: MTA-SZTE Mesterséges Intelligencia Tanszéki Kutatócsoport, 6720 Szeged, Aradi vértanúk tere 1. Kibocsájtás ideje: 2002.05.20. Elérési cím:
[email protected],
[email protected] Web: http://www.inf.u-szeged.hu/speech Támogató: Az adatbázis készítését az Informatikai Kormánybiztosság 10/1/23/2001 számú pályázati támogatása finanszírozta.
SZT-IS-
Az adatbázis felhasználhatósága: Az adatbázist bárki szabadon felhasználhatja azzal a feltétellel, hogy köteles az adatbázis készít it tájékoztatni az adatbázis felhasználási módjáról illetve az esetleges tudományos eredményekr l.
Tartalomjegyzék 1. 2. 3. 4. 5. 6. 7. 8.
Áttekintés ............................................................................................................................... 3 Az adatbázis tartalma.............................................................................................................. 3 Az adatbázis statisztikai adatai................................................................................................ 4 A beszél k.............................................................................................................................. 4 A felvételek min sége............................................................................................................. 5 Szegmentálás és annotálás ...................................................................................................... 5 Fájl - és könyvtárrendszer ....................................................................................................... 6 Javasolt train és test set-ek ...................................................................................................... 9
2
1. Áttekintés Az "Oasis Numbers" adatbázis gy jtésének célja egy olyan hangállomány összeállítása volt, amelynek segítségével beszél független számfelismer ket lehet betanítani (és persze tesztelni). Ezért úgy állítottuk össze az alap szóanyagot, hogy abból tetsz leges 0 és 999.999.999 közé es szám (konkatenálással) összeállítható legyen. Ez 26 szót eredményezett, amely 66 beszél vel kétszer mondattunk végig. Felvételre került még ezen beszél k mindegyikét l további 20 hosszabb szám is, amelyek minden beszél esetén ugyanazok. A beszél nként 2x26 "rövid" bemondás mindegyikét kézileg fonémákra szegmentáltuk és annotáltuk. Készült továbbá egy teszt-blokk is véletlenszer en kiválasztott számokkal. Ebben a blokkban 45 beszél szerepel, véletlenszer en bemondott számokkal.
2. Az adatbázis tartalma A konkrét "szókincs": A 26 "rövid" szó: nulla egy kett három négy öt
hat hét nyolc kilenc tíz tizen
húsz huszon harminc negyven ötven hatvan
hetven nyolcvan kilencven száz kétszáz ezer
kétezer millió
82 8264 865 87 8793 956
96 9812
A 20 "hosszú" szám: 24.711.091 3.737 381.443.139 385 42 49
5.003 547 612 6.246.557 6482 6575
(Vigyázat! A hosszú számoknál el fordult néhányszor, hogy a beszél tévesztett, és másik számot mondott. Ilyenkor a fájlnév és a fonetikus átirat is a valójában kimondott számnak felel meg.)
A teszt-adatbázis számai: A teszt-adabázisba minden beszél t l 25-25 véletlenszer en kiválasztott szám került. Ezek közül 10 szám 0 és 999 közé, 10 szám pedig 1000 és 999.999 közé esik. A fennmaradó 5 szám pedig 1.000.000 és 999.999.999 közötti.
3
3. Az adatbázis statisztikai adatai Összes bemondások száma: 5857 Ebb l
-
a 26 alapszó: 3432 a 20 hosszú szám: 1300 véletlenszer teszt-bemondás: 1125
Fonetikailag szegmentált és címkézett: a 3432 alapszó-bemondás Fonéma-példányok el fordulási száma: 25431 (átlagosan 7,4 fonéma/fájl)
Az el forduló különböz fonetikai címkék száma (a szünetet jelöl ~-t beleértve): 31
A fonéma-példányok pontos eloszlása: O E i o 2 u 't 'ts v z r l: m J ~
792 1980 792 528 264 264 1318 660 792 792 523 143 396 264 1715 6864
A: e: i: o: 2: u: 'k 'd' s h l j n + -:
396 528 132 132 132 132 660 395 528 1023 647 264 1847 396 132
4. A beszél k
A beszél k kiválasztásánál arra törekedtünk, hogy minél egyenletesebb legyen a nemek eloszlása. Így összességében 62 férfi és 49 n beszél van az adatbázisban. Ebb l 66 beszél hanganyaga esetén a 26 szavas alapszókincs bemondásait fonetikailag szegmentáltuk és annotáltuk. A fennmaradó 45 beszél véletlenszer en mondott be számokat; a hanganyagnak ez a része nincs fonetikailag felszegmentálva, ezt a részt kimondottan tesztelésre szántuk. Életkor tekintetében sajnos nem sikerült "lefedni" a lehetséges értékeket, az adatbázis ugyanis túlnyomórészt egyetemisták hangját tartalmazza. Ami a mikrofonokat illeti, ötféle mikrofont használtunk; a felvételek számának eloszlása a mikrofonok között viszonylag egyenletes.
4
5. A felvételek min sége
A felvételek mindegyikét közvetlenül a számítógép segítségével rögzítettük, Sound Blaster, illetve azzal kompatibilis hangkártyákkal. A felvételek 16-bites kvantálással, 22050 Hz mintavételezéssel készültek. Ötféle mikrofont használtunk, ebb l négy teljesen átlagos "kommersz" számítógépes mikrofon volt, egy pedig egy Shure HW505-ös "headworn" kondenzátormikrofon. A felvételek "irodainak" nevezhet körülmények között készültek, id nként minimális irodai jelleg háttérzaj mellett (beszélgetés, gépelés hangja). A hangmintákat a Microsoft Windows WAV formátumában (PCM kódolással) tároltuk le.
6. Szegmentálás és annotálás Szegmentálóprogram Az adatbázis gy jtése és kézi szegmentálása fokozatosan, több év alatt történt, ezért az id k folyamán a kézi szegmentálást segít szoftver három változatát is használtuk. A legújabb változat az "OASIS Segmentation Assistant" névre hallgató, MS Windows környezetben futó program, melynek fejlesztésére az IKTA-3 49/2000 pályázat keretében került sor.
A DAT-file formátuma Az adatbázis összes "rövid" bemondását szegmentáltuk és annotáltuk. A szegmentálási és annotálási információt a DAT kiterjesztés fájlok tartalmazzák. Ezek közönséges szövegfájlok a következ sorokkal:
REM megjegyzés ALL érték1 érték2 ... TYP fonetikai szimbólumok ORT karakterek
---> tetsz leges megjegyzés beírható ide ---> az összes bejelölt fonémahatár ---> fonetikai átírás ---> ortografikus átírás
A két legfontosabb sor az ALL és a TYP mez . Az ALL sor tartalmazza a szegmenshatárok felsorolását szóközzel elválasztva. Az egyes határok ezredmásodpercben vannak megadva; az els érték gyakorlatilag mindig 0, azaz a fájl elejét jelöli, az utolsó pedig a fájl végét jelzi. Másszóval, a szó el tti és utáni szünetek is jelölve vannak az adatbázisban. A TYP mez tartalmazza a bemondás fonetikai átiratát szóközökkel elválasztott fonetikai szimbólumok sorozataként. Ebb l következ en pontosan eggyel több határnak kell szerepelni az ALL sorban, mint ahány elem van a TYP sorban. Végezetül az ORT mez a bemondás ortografikus, azaz bet szerinti leírását tartalmazza. Jelen esetben, mivel számokról van szó, mindig számjegyekkel írtuk le a bemondásokat, és nem bet kkel.
5
A fonetikai jelölésrendszer Az adatbázisban használt fonetikai jelölésrendszer megfelel a SAMPA nemzetközi szabványnak, egy apró módosítással. Ez a módosítás abból áll, hogy a felpattanó hangokat és az affrikátákat felbontottuk zár- és zörej-részre. A zöngés zár jelölésére a +, a zöngétlen jelölésére a - jelet használtuk. Így tehát pl. a SAMPA által ajánlott [t] helyett az adatbázisban [- 't] fog állni. Aki a nyelvészeti magyarázatra nem kíváncsi, csupán gépi tanításra akarja használni az adatbázist, az megtalálja az adatbázisban el forduló összes különböz szimbólum felsorolását az "info" könyvtár "phonemes.sampa.all" fájljában, két kiegészítéssel: A fájl végén található "~" jel a szó el tti illetve szó utáni csend jelölésére, az "X" szimbólum pedig az esetleges ismeretlen szegmentumok jelölésére szolgál. Ezek a felhasználástól függ en szükség esetén törlend k. A szimbólumrendszerr l elmondható, hogy valamivel részletesebb a fonemikus jelölésmódnál, azaz pl. allofónok jelölését is lehet vé teszi. Kevésbé részletes jelöléshez találtuk ki a "group" fájlokat, amelyek segítségével fonetikai szimbólumokat vonhatunk össze. Néhány ilyen példa található az "info" könyvtárban "gr1", "gr2", stb. kiterjesztéssel. Mi a beszédfelismerési kísérleteinkben a gr1 fájlt használtuk, amely csupán néhány allofónt von össze az adatbázisban található címkék közül. Az adatbázisban található "hosszú" bemondásokhoz fonetikai átirat nem készült, és szegmentálásukra sem került sor. A koartikulációs hatások miatt ezek a bemondások nyilván tartalmaznak olyan beszédhangokat is, amelyekre nincs példa a "rövid" bemondások címkéi közt. Ennek ellenére mi úgy találtuk, hogy a "rövid" számokon tanított rendszer jól boldogul a "hosszú" bemondásokkal is. Az ilyen tesztekhez a "hosszú" bemondásokhoz egyszer en a "rövid" bemondások átiratainak konkatenációjával készítettünk átiratokat. Ilyenekre találhatunk példákat az "info" könyvtárban elhelyezett "dictionary" fájlokban.
Megjegyzés: a SAMPA kódtábla megtalálható a „doc” könyvtár „IpaSampa.jpg” fájljában.
7. Fájl - és könyvtárrendszer A CD-n egyetlen könyvtár található, amely az "Oasis-numbers" nevet viseli. Vincseszterre történ átmásolás esetén javasoljuk a könyvtárnév megtartását azért, hogy az elérési útvonalak legfeljebb csak a meghajtó bet jelében módosuljanak. Az adatbázis szegmentált része a "data-szegmentalt" könyvtárban található. Ezen belül a mikrofonok alapján vannak csoportosítva a felvételek, majd nemek, azon belül pedig beszél k szerint. Minden beszél n belül három alkönyvtár van, az "1" és "2" nev ek tartalmazzák a két sorozatban bemondott "rövid" számokat, a "hosszú" nev könyvtár pedig a "hosszú" számokat (utóbbiak nincsenek szegmentálva). A fenti struktúrától egyetlen helyen van eltérés: az egyetlen gyerek beszél a "classic" könyvtár "gyerek" alkönyvtárában található, és nála hiányzik a "hosszú” alkönyvtár. A tesztelésre szánt felvételek a "data-teszt" könyvtárban vannak. Minden beszél nél három alkönyvtár van: az 1.000 alatti, az 1.000 és 1.000.000 közé es , és az 1.000.000-nál nagyobb számok.
6
A "doc" könyvtár A "doc" könyvtárban két fájlnak kell lennie: readme.pdf (ez a fájl), illetve a fonetikai kódrendszert bemutató IpaSampa.jpg
A "tools" könyvtár A "tools" könyvtárban néhány kis segédprogram található, Visual Basic szkriptek avagy (konzolos) Windows programok formájában. A leghasznosabb talán a "wavtrav.vbs", amely rekurzívan ki tudja gy jteni egy adott könyvtárban szerepl WAV-fájlok neveit (útvonallal együtt). Ezzel a programmal esetleges újabb train- és teszt-készleteket tudunk összeállítani. A másik hasznos program a "createort.exe", amellyel esetleges további WAVfájlokhoz tudunk DAT-fájlt készíteni: a DAT fájlba egyetlen ORT sor fog kerülni, amelynek tartalma meg fog egyezni a fájl nevével. A szkriptek használatához útmutatást a szkript els soraiban találunk; az exe paraméter nélküli indítás esetén a képerny re írja a használati utasítást.
Az "info" könyvtár Fonémacsoport-fájlok (phonemes alkönyvtár): A "phonemes.sampa.all" nev fájl felsorolja az összes különböz címkét, amely az adatbázisban el fordul. Ezen túl az utolsó két sorában tartalmaz két további jelet: az "~" a szavak el tti/utáni csend jelölésére szolgál; a másik "extra" szimbólum az "X", amelyet a saját felismer rendszerünk a nem-fonetikai jelleg szegmentumok jelölésére használ. Ez a szimbólum nem fordul el a DAT-fájlokban, tehát akár törölhet is. Hogy a tanítást/felismerést ki lehessen próbálni különféle kisebb elemszámú csoportokra is, bevezettük a "csoport-fájlokat", amelyek segítségével hasonló fonémák összevonhatók. Öt ilyen csoport-fájlt tartalmaz az info könyvtár, amelyek közül a legfontosabb a "phonemes.sampa.gr1", amely csak néhány allofón összevonását tartalmazza a "phonemes.sampa.all"-hoz képest. Jelenleg mindig ezt használjuk a beszédfelismerési kísérleteinkben, és másoknak is ennek a használatát javasoljuk.
Dictionary-fájlok (dictionaries alkönyvtár): Beszédfelismer k teszteléséhez készültek a dictionary-fájlok, amelyek egyfajta primitív nyelvi modellnek tekinthet k. A "dictionary.sampa" tartalmazza a 26 "rövid" szám fonetikai átiratát, az egyenl ségjel után pedig magát a szót. A dictionary-fájl lehet vé teszi, hogy egy adott szóhoz több fonetikai átirat is tartozzon, így kiejtési variációkat is tudunk kezelni. Mi például felvettük a "h"-kezdet a szavakat szókezd "h" nélkül is, mert ennek megtalálása gondot okoz a felismer nk számára. A másik eset, ahol kiejtési variánsokat engedtünk meg, az a "kett " és a "két" esete. A "dictionary100.sampa" egy lehetséges szótár-fájl a 0 és 100 közé es számok felismeréséhez; a "dictionary1000.sampa" pedig a 0 és 1000 közé es számok felismeréséhez. Megjegyezzük, hogy az ezekben szerepl fonetikus átiratok NEM az adott szavak helyes átiratai, mivel a valódi átiratuk tartalmazna olyan szimbólumokat is, amelyek a "rövid" számok között nem fordulnak el (a szóhatárokon fellép hasonulások miatt). Az itt szerepl átiratok viszont csak olyan szimbólumokat használnak, amelyek betaníthatók az
7
adatbázis "rövid", kézileg felszegmentált részén. Személyes tapasztalatunk az, hogy ezekkel is hatékony felismerés érhet el a "hosszú" számokon is.
Train- és test-set fájlok (train-teszt alkönyvtár): A fennmaradó fájlok felismer rendszerek tanításához szolgáló lehetséges train- és teszt-készleteket adnak meg az adatbázisból. Ezek a fájlok egyszer en wav-fájlok egy-egy felsorolását tartalmazzák, útvonallal együtt (és a név végén a "wav" kiterjesztés nélkül). A fájlnevek a következ szabály szerint épülnek fel egyszer bb esetben:
mikrofontípus_bemondástípus_beszélok_meghajtó.txt ahol a mikrofontípus az ötféle mikrofonhoz tartozó alkönyvtárak neve lehet, a bemondástípus vagy "short" vagy "long", a beszél pedig a kiválaszott beszél k száma, vagy egyetlen beszél esetén a monogramja. Mindhárom mez helyén szerepelhet az "all" szó, ami az összes lehetséges érték összességét jelöli. Legvégül a meghajtó bet jele a fájlban lev útvonalakban szerepl meghajtó bet jele. Minden train- és teszt fájlt elkészítettünk c:, d:, e: és z: meghajtójelekkel is.
Bonyolultabb eset: ha egy adott halmaz "komplementerét" akartuk megjelölni. Ehhez a mínuszjelet használtuk a következ képpen (példa):
classic_short_20_d.txt - ez a "classic" mikrofon "rövid" bemondásaiból 20 beszél anyaga, d: meghajtó esetén
all_short_all-classic_short_20_d.txt - ez a fenti komplementere az összes mikrofon összes beszél jének "rövid" anyagaira nézve
8
8. Javasolt train és test set-ek Train: Egyel re két train set-et alakítottunk ki; mindegyik csak "rövid" bemondásokat tartalmaz, hiszen csak ezek vannak felszegmentálva. Az egyik set csak a "classic" mikrofont használja, azon belül pedig 20 beszél anyagát, fele-fele arányban n két és férfiakét. A set neve "classic_short_20_X.txt" (ahol X a meghajtó bet jele). A másik set minden mikrofon-könyvtárból 3-3 férfit és n t tartalmaz, azaz összesen 24 beszél t. E készlet neve "all_short_24_X.txt".
Test: Az el bbi tanítófájl komplementerét a "classic" mikrofon "rövid" részére nézve, azaz a rövid bemondásait tartalmazza a "classic_short_allkimaradt 6 beszél classic_short_20_X.txt" file. Az összes "rövid" bemondásra vett komplementerét pedig az "all_short_all-classic_short_20_X.txt" file. A másik tanítókészlet összes "rövid" bemondásra vett komplementere az "all_short_all-all_short_24_X.txt" file.
Tesztkészletek a vegyes bemondásokra: Két tesztkészletet alakítottunk ki a vegyes bemondásokból: "all_teszt_all_X.txt": - ez az összes teszt-bemondást tartalmazza (1125 bemondás) "all_teszt_1000alatt_X.txt": -ez csak az 1000 alatti teszt-bemondásokat tartalmazza (450 bemondás)
9