Puheaineiston litterointi ja annotointi (ääni ja video)

Kielipankkiin toimitettavan puheaineiston ei välttämättä tarvitse olla annotoitua. Jo alustava litterointi lisää kuitenkin puhekorpuksen käyttömahdollisuuksia merkittävästi.

Puhetta litteroidessa teksti kannattaa mahdollisuuksien mukaan kohdistaa suoraan vastaaviin ääni- tai videotiedostoihin, jolloin siitä muodostuu mediatiedostojen aikajanaan sidottua annotaatiota. Puhetta voi litteroida ja annotoida käsin tähän tarkoitukseen sopivilla työkaluilla (esim. ELAN tai Praat). Joskus on myös mahdollista käyttää apuna automaattista puheentunnistusta.

Jos aineisto on jo aikaisemmin litteroitu käsin erillisiin tekstidokumentteihin, on mahdollista käyttää automaattisia tai puoliautomaattisia apuvälineitä tekstin ja äänen kohdistamiseen keskenään. Yleensä on kuitenkin tehokkainta kohdistaa teksti ja ääni toisiinsa ainakin karkealla tasolla jo litteroinnin aikana.

Mitä hyötyä puheen annotoinnista on?

Kun litteroitu teksti on kohdistettu ääni- tai videonäytteen aikajanaan, haluttu kohta alkuperäisestä näytteestä löytyy helposti annotoidun tekstin perusteella.

Tutkimuksen kannalta on yleensä tärkeää säilyttää litteroidun tekstin linkitys ensisijaiseen aineistoon. Litteroitu teksti pohjautuu aina tulkintaan, joten sitä on voitava tarvittaessa tarkistaa. Kirjoitetusta tekstistä jää väistämättä pois suuri määrä luonnolliseen puheeseen ja vuorovaikutukseen sisältyvää informaatiota. Tällaisia piirteitä ovat esimerkiksi äänensävyn ja puhenopeuden vaihtelut, puheen jaksotteluun liittyvät seikat sekä keskustelijoiden ilmeet ja eleet.

Litteraatin eli tekstimuotoon kirjoitetun sanallisen sisällön lisäksi puhenäytteistä voidaan tarpeen mukaan rajata ja annotoida mitä tahansa tutkijaa kiinnostavia ominaisuuksia. Ajallisesti päällekkäisten ilmiöiden kuvaamiseen voidaan järjestelmällisesti käyttää useita annotaatiokerroksia tai ”rivejä”.

Sopivan annotaation avulla voidaan myös äänitteistä ja videoista tehdä automaattisia mittauksia ja analyyseja. Kun esimerkiksi keskustelun osallistujien puheenvuorot on rajattu omiin kerroksiinsa riittävällä tarkkuudella, voidaan taukojen tai päällekkäispuhunnan kestot mitata automaattisesti vuorojen alku- ja loppurajojen perusteella. Annotaation pohjalta tehdyt analyysit voidaan myös tarvittaessa toistaa.

Litteroitua tekstiä halutaan joskus käyttää ja näyttää tilapäisesti irrallaan tunnisteellisesta mediatiedostosta. Aikasidonnaisesti annotoitu teksti voidaan aina tarvittaessa viedä varsinaisesta annotaatiotiedostosta erilliseen, helppolukuiseen tekstitiedostoon.

Esimerkiksi tietosuojasyistä on myös periaatteessa mahdollista ylläpitää aineistosta kahta erilaisiin käyttötarkoituksiin suunnattua versiota, joista toiseen sisältyy koko tunnisteellinen aineisto mediatiedostoineen päivineen ja toiseen pelkät tekstimuotoiset, anonymisoidut litteraatit.

Tietokoneavusteinen litterointi

Litteroiminen on hidasta ja rasittavaa työtä. Jos kokonaan litteroimatonta aineistoa on runsaasti, työn pohjaksi kannattaa ehkä kokeilla automaattista puheentunnistusta. On kuitenkin varauduttava siihen, että tulos riippuu materiaalin laadusta ja puhuttavasta kielestä. Esimerkiksi suomenkielisen puheen automaattinen tunnistus toimii parhaiten, jos äänite sisältää melko yleiskielistä ja selkeää puhetta vain yhdeltä puhujalta kerrallaan. Joihinkin tarkoituksiin saattaa riittää osaksi virheellinenkin tunnistustulos, ja jos virheitä ei tule paljon, ne voidaan korjata käsin.

Automaattinen litterointi (automaattinen puheentunnistus, ASR)

Suomenkielistä puhetta sisältävien äänitiedostojen automaattiseen litterointiin voi Kielipankissa kokeilla automaattista puheentunnistinta nimeltä Aalto-ASR.

Taukokohtien rajaaminen ja eri puhujien erottelu (diarisointi)

Kaikille kielille, murteille ja puhetyyleille ei välttämättä ole saatavilla sopivaa automaattista tunnistinta tai tunnistustulos voi olla heikko. Näissäkin tapauksissa litteroinnin etenemistä voi koettaa nopeuttaa automatisoimalla yksittäisiä työvaiheita, joiden onnistuminen ei riipu näytteessä puhuttavasta kielestä. Esimerkiksi äänitteiden taukokohdat on mahdollista rajata joko kokonaan automaattisesti (esim. Praat-ohjelman komennolla To TextGrid (silences)… tai Praat-skriptillä mark.pauses.praat, jotka perustuvat äänen intensiteetin muutoksiin) tai tietokoneavusteisesti näytettä kuuntelemalla (esim. ELANin Segmentation mode), minkä jälkeen puhetta sisältävien kohtien litteroinnit on helpompi lisätä käsin.

Aalto-yliopiston tuottamaan Aalto-ASR-työkaluun on myöhemmin tulossa mahdollisuus ääninäytteen diarisointiin eli eri puhujien puheen automaattiseen erotteluun, mutta tämän toiminnon aikataulusta ei vielä ole tarkempaa tietoa.

Litterointi käsin

Mikäli automaattista puheentunnistusta ei ole mahdollista käyttää tai sen tulos ei ole kyseiselle aineistolle riittävän hyvä, käsin tapahtuvaan litterointiin kannattaa käyttää puheen annotointiin soveltuvaa ohjelmaa, joita ovat esim. ELAN ja Praat (molemmat saatavilla ilmaiseksi eri käyttöjärjestelmille). Niiden avulla mediatiedostoja voi joustavasti kuunnella tai katsella ja litteroidun tekstin voi samalla kohdistaa alkuperäisiin tallenteisiin. Näin syntyvä annotointi parantaa jatkossa aineiston haku- ja käyttömahdollisuuksia merkittävästi. Annotoidun tekstin perusteella mediatallenteesta voidaan myöhemmin nopeasti löytää halutut kohdat.

Annotointiohjelmilla voidaan ääni- tai videoaineistoon liittää myös kerrosteisia kuvauksia. Vaikkapa haastattelu kannattaa litteroida siten, että kunkin puhujan puheenvuorot merkitään omaan annotaatiokerrokseensa vastaavien haastatteluäänitteestä tai -videosta rajattujen aikavälien kohdalle. Näin helpotetaan päällekkäisen puheen ja muiden ajallisesti päällekkäisten ilmiöiden merkitsemistä ja tutkimista.

Aiemmin litteroidun erillisen tekstin kohdistaminen alkuperäiseen mediaan (ääni- ja videotiedostot)

Jos käytössäsi on suomenkielistä aineistoa, joka on joskus aikaisemmin litteroitu irrallisiin tekstitiedostoihin (esimerkiksi Word-dokumentteihin tai raakatekstitiedostoihin), voit kokeilla tekstin automaattista kohdistamista äänitiedostoon Aalto-ASR-työkaluilla. Kohdistustulos riippuu toisaalta litteroidun tekstin sanatarkkuudesta ja toisaalta aineiston teknisestä laadusta ja hälyisyydestä. Jos litteroitu teksti ei täysin vastaa pitkän ääninäytteen sisältöä, kohdistin saattaa ”kadottaa” oikean kohdan keskellä näytettä ja teksti kohdistuu osaksi väärään paikkaan. Kohdistin ei myöskään erottele puhujia toisistaan vaan raakateksti kohdistetaan sellaisenaan äänitteeseen yhtenä annotaatiokerroksena.

Jos automaattinen kohdistaminen ei onnistu, voit kokeilla tekstin puoliautomaattista kohdistamista äänitiedostoon Praat-ohjelmalla. Kyseinen työkalu perustuu äänen intensiteetin analyysiin ja toimii kaikilla kielillä, kunhan tekstimuotoinen litteraatti on sopivassa muodossa.

Jos ääninäyte on jo annotoitu puheenvuorojen tarkkuudella ja tarkoitus on segmentoida ja analysoida myös pienempiä puheen yksiköitä, voit kokeilla sana- ja foneemirajojen pakotettua automaattista kohdistusta Praat-skriptillä. Skripti hyödyntää Praat-ohjelman eSpeak-pohjaista, monikielistä forced alignment -toimintoa.

Annotoidun puheaineiston käsittely ja tutkiminen

Jos puheaineisto on annotoitu siten, että siihen liitetyt tekstimuotoiset litteroinnit tai muut merkkaukset on kohdistettu alkuperäisten mediatiedostojen aikajanaan, annotaatioita voidaan käsitellä ja hyödyntää monin tavoin.

Kurssi: Puheen analyysin perusteet

Tällä kaikille suomalaisille yliopistoille avoimella verkkokurssilla otetaan haltuun perustyökalut puhenäytteiden tutkimiseen ja opitaan suunnittelemaan oman puhekorpuksen keräämistä.

Kurssi tarjoaa yleiskuvan puheaineistojen käsittelystä ja puheen akustis-foneettisista analyysimenetelmistä. Kurssilla tutustutaan erityisesti Praat-puheanalyysiohjelman käyttömahdollisuuksiin ja opitaan soveltamaan ohjelman ominaisuuksia joustavasti omassa työssä. Kurssilla opetellaan käyttämään myös ELAN-ohjelmaa, jolla voi litteroida ja annotoida äänen lisäksi videota.

Lue lisää ja tule mukaan!

 

Verkkokurssi Puheen analyysin perusteet alkaa jälleen

Kurssilla otetaan haltuun perustyökalut puhenäytteiden tutkimiseen ja opitaan käyttämään erityisesti Praat-ohjelmaa. Kurssille ovat tervetulleita kaikkien suomalaisten yliopistojen opiskelijat ja se suoritetaan kokonaan etänä Moodle-oppimisympäristön kautta. Kurssi on suomenkielinen.

Lisätiedot ja ilmoittautuminen: https://courses.helsinki.fi/fi/kik-lg212/120960613

Huom. Vastaava kurssi järjestetään seuraavan kerran todennäköisesti syksyllä 2018 sekä suomen- että englanninkielisenä.

FIN-CLARIN järjestää 31.10. – 18.12.2016 verkkokurssin Puheen analyysin perusteet Praat- ja ELAN-ohjelmilla.

Kurssi on suunnattu erityisesti fonetiikan, puhetieteiden ja kieliaineiden opiskelijoille, mutta se sopii kaikille, jotka suunnittelevat hyödyntävänsä puheäänitteitä tutkimusaineistona esim. opinnäytetyössään. Kurssi suoritetaan kokonaisuudessaan etäopiskeluna. Myös muiden kuin Helsingin yliopiston opiskelijat ovat tervetulleita mukaan!

Lisätietoa ja ilmoittautumisohjeet löytyvät kurssin kotisivulta (ks. ohessa).

Puheen tekstimuotoisen litteraatin kohdistaminen äänitiedostoon: puoliautomaattinen menetelmä

Alla olevan ohjeen ja siinä mainitun Praat-skriptin avulla voidaan puoliautomaattisesti kohdistaa litteroidun keskustelun puheenvuorot ja/tai yksittäiset puhunnokset niitä vastaaviin kohtiin äänitiedostossa. Puoliautomaattinen kohdistus etenee käyttäjän avustuksella tekstirivi tekstiriviltä, puhunnos puhunnokselta siten, että kone ehdottaa kullekin puheen pätkälle alku- ja loppurajaa äänitteessä, käyttäjä tarkistaa rajauksen signaalikuvaa katsomalla ja näytettä kuuntelemalla, hyväksyy ne ja saa rajausehdotuksen seuraavalle puhunnokselle.

Ennen puoliautomaattiseen kohdistamiseen ryhtymistä kannattaa selvittää, voisiko sittenkin käyttää kokonaan automaattista kohdistusta. Kannattaa tutustua Kielipankissa olevaan automaattiseen Aalto-ASR-työkaluun ja kokeilla, sopisiko siinä oleva kohdistin käsiteltävänä olevalle kielelle.

Aalto-ASR:n kohdistin osaa tällä hetkellä kohdistaa tekstiä vain yhteen annotointikerrokseen, jolloin tarvittaessa puhujien vaihtumiskohdat täytyy lopuksi käsityönä muokata annotaatioon. Puhujien vaihtumisen tunnistaminen eli diarisointi on myöhemmin tulossa myös automaattiseen kohdistimeen. Vielä toistaiseksi puoliautomaattinen kohdistus saattaa kuitenkin olla mm. keskusteluaineistoille sopivin vaihtoehto.

Puoliautomaattinen vs. manuaalinen kohdistus

Tässä kuvattua puoliautomaattista kohdistusmenetelmää voidaan kokeilla, mikäli aineiston sisältämälle kielelle ei ole käytettävissä automaattista kohdistinta tai puheentunnistinta, tai mikäli on huomattu, ettei automaattisen kohdistuksen tarkkuus riitä vaadittuun tarkoitukseen. Puoliautomaattisella kohdistusmenetelmällä saadaan myös merkittyä eri puhujien puheenvuorot omiin kerroksiinsa.

Kohdistusnopeus puoliautomaattisella työkalulla on arviolta noin 3-10-kertaisesti alkuperäisen äänitteen kesto. Nopeus kuitenkin vaihtelee huomattavasti aineiston hälyisyydestä, kohdistettavien pätkien määrästä ja tarkkuudesta sekä päällekkäispuhunnan määrästä riippuen.

Hitain vaihtoehto on kohdistaa olemassa oleva litteraatti äänitiedostoon kokonaan käsin. Jollakin puheen monikerroksiseen annotointiin soveltuvalla ohjelmalla (esim. Elan, Praat) luodaan aluksi annotaatiokerrokset kullekin puhujalle. Sitten merkitään äänitiedoston perusteella kunkin puhujan puhunnosten alku- ja loppurajat käsin, yksi puhunnos kerrallaan. Jokaisen rajatun jakson nimikkeeksi kopioidaan vastaava kohta tekstitiedostosta, jota voi pitää avoinna toisessa ikkunassa.

Vinkki: Monikerroksisen keskusteluannotaation voi siirtää milloin tahansa lukukelpoiseen tekstimuotoon esimerkiksi Praat-ohjelmalla (katso ohjeet) tai Elanilla (esim. komento Export As:Traditional Transcript Text… tai Interlinear Text…).

Doc-, rtf- tai tekstimuotoisen keskustelun litteraatin kohdistaminen äänitiedostoon Praat-ohjelmalla

Tässä ohjeessa kuvattu Praat-skripti ehdottaa valinnan mukaan joko jokaiselle kokonaiselle puheenvuoroille tai sen kullekin osalle alustavaa rajausta äänen intensiteetin (ts. äänen voimakkuuden perusteella oletettujen taukojen) sekä vastaavan tekstin merkkimäärän perusteella. Käyttäjälle näytetään kyseinen puhunnos/vuoro ja hän voi korjata rajauksen, minkä jälkeen jatketaan seuraavaan puhunnokseen/vuoroon. Skripti sijoittaa puhunnokset automaattisesti kunkin puhujan omaan annotaatiokerrokseen tekstitiedoston rivin alussa mainitun puhujakoodin mukaisesti.

Huom. Äänitiedostoa ei saa kohdistuksen jälkeen enää pilkkoa tai ”siivota”, jotta kohdistus säilyy! Äänitiedoston tulee olla WAV- tai AIFF-muotoinen, jotta sen voi avata Praat-ohjelmalla. Äänitiedoston voi tarvittaessa muuntaa toiseen muotoon esim. Audacity-ohjelmalla.

1. Litteraatin muuntaminen sopivaan tiedostomuotoon

Jos litteraatti on tehty esim. MS Word-ohjelmalla ja se on RTF-muodossa (Rich Text Format) tai Word-muodossa (.doc, .docx), on tiedosto ensin muunnettava Unicode-muotoiseksi raakatekstiksi (plain text, UTF-8), katso ohjeet.

Huom: Tallenna tiedosto samannimisenä kuin sitä vastaava äänitiedosto, mutta vaihda tekstitiedoston päätteeksi .txt. Näin alkuperäinen litteraatti, äänitiedosto ja niistä kohdistettu TextGrid-tiedosto on helppo pitää yhdessä eikä tule sekaannuksia.

Tarkista lopuksi, ettei tiedostossa ole tyhjiä rivejä.

Tekstitiedoston sisällöstä ja koodauksesta:

Mikäli tiedoston alussa on litteraattia koskevaa taustatietoa, sen voi jättää paikalleen, mikäli taustaosion keskellä ei ole yhtään tyhjää riviä ja taustaosiota ja varsinaista litteraattia erottaa yksi tyhjä rivi. (Tällöin taustaosio erotetaan kohdistusvaiheessa automaattisesti ja se tallentuu erilliseen info-tiedostoon.) Taustaosion voi halutessaan myös poistaa etukäteen UTF-8-muotoon tallennetusta litteraattitiedostosta.

Litteraattiosiossa:

Kunkin rivin alussa on ko. puhujan tunnus tai koodi, jota seuraa kaksoispiste. Jos puhujan tunnus puuttuu, oletetaan että puhuja on sama kuin edellisellä rivillä esiintynyt.
Pisteen ja pilkun kohdalle kohdistusskripti ehdottaa lyhyttä taukoa. Kaari-, aalto- ja hakasulkeissa esiintyvä teksti käsitellään tällä hetkellä kuten mikä tahansa muu teksti. Jos puheenvuoron alussa on useampi kuin yksi välilyönti tai sarkainmerkki, oletetaan, että tämä vuoro on puhuttu edellisen puhujan vuoron päälle. (Kohdistusskripti kuitenkin arvioi tällaisen päällekkäispuhunnan alkuajan hyvin karkeasti merkkimäärän perusteella.)

2. Asenna tarvittaessa Praat-ohjelma

Praat-ohjelman uusimman version voit tarvittaessa hakea ja asentaa itse ilman ylläpitäjän oikeuksia osoitteesta http://www.praat.org.

3. Lataa omalle koneellesi kohdistusskripti:

align_conversation_transcript_with_sound.praat
(Klikkaa linkkiä hiiren oikealla napilla ja valitse Save target as… tai Save link as…)

Skripti pitää tallentaa samaan hakemistoon litteraattitiedoston kanssa, jolloin skripti löytää oikean litteraatin automaattisesti Praatilla avaamasi äänitiedoston nimen perusteella. Kohdistettu tiedosto (Praatin TextGrid-muodossa) tallentuu myös samaan hakemistoon, jossa skriptitiedosto sijaitsee.

4. Avaa Praat-ohjelma.

5. Avaa Praat-ohjelmalla äsken lataamasi kohdistusskripti.

Open: Read from file… Skripti aukeaa uuteen skripti-ikkunaan.

6. Avaa äänitiedosto Praatilla

Avaa se äsken luomaasi tekstitiedostoa vastaava äänitiedosto, johon haluat litteraatin kohdistaa. Äänitiedosto on avattava Praatissa LongSound-tyyppisenä.

Valitse Objects-ikkunan Open-valikosta komento Open long sound file…

7. Kun LongSound-ääniobjekti on valittuna Praatin objekti-ikkunassa, aloita kohdistus käynnistämällä skripti.

Siirry skripti-ikkunaan ja valitse Run:Run.

Skripti etsii LongSound-objektin nimen perusteella vastaavaa tekstitiedostoa samasta hakemistosta, jossa skripti sijaitsee.

Skripti tallentaa ensin mahdolliset litteraatin alkuosassa olevat kuvailutiedot yms. informaation toiseen tekstitiedostoon, jonka nimeksi tulee litteraatinnimi.info.

Sen jälkeen skripti luo LongSound-objektille uuden TextGrid-annotaatio-objektin ja avaa sen editori-ikkunaan.

8. Skripti etsii litteraattiriviltä seuraavan, mahdollisesti taukojen erottaman tekstipätkän ja ehdottaa sille rajoja kyseisen puhujan annotaatiokerroksessa.

Tarvittaessa luodaan uusi annotaatiokerros, jos litteraatissa esiintyy uusi puhuja, jolle ei ole vielä rajattu yhtään puhunnosta. Skripti pysähtyy kunkin puhunnoksen alustavan kohdistuksen jälkeen odottamaan käyttäjän tekemää tarkastusta.

Samalla litteraattirivillä oleva teksti jaetaan ehdotettuihin puhunnoksiin pilkkujen, pisteiden, sarkainmerkkien tai vähintään 3 toistuvan välilyönnin kohdalta.

Skripti käyttää alimmaisena olevaa annotaatiokerrosta nimeltä ”original” alkuperäisten litteraattirivien tallentamiseen. Niiden avulla voidaan myös päätellä, mihin kohtaan litteraatti edellisellä kerralla jäi ja jatkaa aiemmin talletettua työtä.

Huom: Tällä hetkellä skripti ei pysty jatkamaan työtä keskeltä litteraattiriviä, jos rivi on jaettu useisiin puhunnoksiin! Keskeneräisen rivin joutuu joko kohdistamaan käsin loppuun ennen kuin automaattisia ehdotuksia voi jatkaa, tai sitten on poistettava aloitetun keskeneräisen rivin rajaukset käsin TextGridistä ja tallennettava tämä versio ennen skriptin ajamista, jolloin skripti ehdottaa uudelleen puhunnoksia ko. rivin alusta.

Kuuntele ainakin lyhyitä äänipätkiä puhunnoksen alun ja lopun kohdalta ja varmista, että alku- ja loppurajat ovat suunnilleen oikeissa kohdissa.

Jos huomaat, ettei kahden peräkkäisen puhunnoksen välillä oikeasti olekaan varsinaista taukoa vaan puhuja esimerkiksi pidättää jotakin äännettä tai puhuu yhtäjaksoisesti, älä jätä puhunnosten väliin taukoa vaan poista ylimääräinen raja. Näin tulee nopealla tavalla kirjatuksi muistiin, ettei taukoa ollut, vaikka rajaus sinänsä olisikin vasta alustava.

Tarkempaa tietoa rajausperiaatteesta

Rajausehdotus on hyvin karkea. Skripti tekee äänestä intensiteettianalyysin. Jos tällä perusteella saadun rajausehdotuksen kesto poikkeaa merkittävästi kyseisen puhunnoksen merkkimäärän perusteella ennustetusta kestosta, sijoitetaan puhunnoksen loppuraja jälkimmäisellä perusteella. Skripti pyrkii siis välttämään ylilyhyitä tai ylipitkiä puhunnoksia.

Normaalitapauksessa skripti ehdottaa puhunnokselle alkuaikaa hieman edeltävän, joko saman tai toisen puhujan tuottaman puhunnoksen jälkeen. Jos litteraatin perusteella on syytä epäillä päällekkäispuhuntaa (eli jos puheenvuoron alussa on useita välilyöntejä ja/tai sarkainmerkkejä), skripti ehdottaa puhunnoksen rajausta edellisen puhujan puheenvuoron kohdalle vähän sen alkamisajan jälkeen (mutta tietenkin nykyisen puhujan annotaatiokerrokseen).

9. Paina Continue, jolloin skripti ehdottaa järjestyksessä seuraavan puhunnoksen rajausta (ks. kohta 8).

Katso myös ohjeet aineiston teknisestä formaatista.

Huom: Tällä sivulla kuvattu Praat-skripti on testikäytössä eikä välttämättä toimi kaikilta osin oikein.

Hae Kielipankki-portaalista:
Marjatta Palander
Kuukauden tutkija: Marjatta Palander

 

Tulevat tapahtumat

Yhteystiedot

Kielipankin tekninen ylläpito:
kielipankki (ät) csc.fi
p. 09 4572001

Aineistoihin ja muuhun sisältöön liittyvät asiat:
fin-clarin (ät) helsinki.fi
p. 029 4129317

Tarkemmat yhteystiedot