See on R-i kood, millega on analüüsitud kõnetempo ja soravuse andmeid Eesti Rakenduslingvistika Ühingu aastaraamatus ilmunud artikli tarvis.

library(tidyverse)
library(gridExtra)

teema <-  theme_bw() + 
  theme(plot.title = element_text(hjust = 0.5, size = 12),
        axis.text = element_text(size = 8),
        axis.title = element_text(size = 8),
        strip.text = element_text(size = 10),
        legend.text = element_text(size = 10),
        legend.title = element_text(size = 10))

Andmete ettevalmistus

Teke ja foneetikakorpuse andmestikus on andmed kogutud kõnevoorude kaupa (lokaalne kõnetempo). Artiklis analüüsime globaalset kõnetempot, selleks teisendame andmed nii, et ühelt kõnelejalt oleks üks rida ühe faili kohta. Samuti siin artiklis analüüsime ainult dialooge, nii et filtreerime välja failid, kus on rohkem kui kaks vestlejat. Siin

Teke andmed

Koodiblokk mis, loeb teke andmed:

teke <- read.delim("teke_voorud.csv", encoding = "UTF-8") 
teke$sugu <- toupper(teke$sugu)
# vastavalt faili kogukestusele
teke %>%
  group_by(fail, koneleja) %>%
  reframe(faili_kogukestus = (faili_kogukestus_ms/1000),
            vanus = vanus,
            sugu = sugu,
            silpide_arv = sum(silpide_arv),
            sonade_arv = sum(sõnade_arv),
            poolikute_arv = sum(poolikute_arv),
            venituste_arv = sum(venituste_arv),
            korduste_arv =sum(korduste_arv),
            disf_arv = sum(poolikute_arv+korduste_arv+venituste_arv),
            kestus = sum((kestus_ms)/1000)) %>%
  distinct() %>%
  filter(!is.na(sugu), !is.na(vanus)) %>%
  group_by(fail) %>%
  mutate(prop = kestus/faili_kogukestus) %>%
  ungroup() -> tmp

tmp <- data.frame(tmp,
                  kaaskoneleja = character(nrow(tmp)),
                  kaaskoneleja_sugu = character(nrow(tmp)),
                  kaaskoneleja_vanus = numeric(nrow(tmp)),
                  kaaskoneleja_kestus = numeric(nrow(tmp)),
                  kaaskoneleja_silpide_arv = numeric(nrow(tmp)),
                  kaaskoneleja_sonade_arv = numeric(nrow(tmp)),
                  kaaskoneleja_disf_arv = numeric(nrow(tmp))) 
for(f in unique(tmp$fail)){
  tmp2 <- tmp[tmp$fail==f,]
  for(k in tmp2$koneleja){
    tmp2[tmp2$koneleja != k,]$koneleja %>% 
      unique() %>% paste(., collapse = "_") -> tmp$kaaskoneleja[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$sugu %>% 
      unique() %>% ifelse(length(.) > 1, "mõlemad", .) -> tmp$kaaskoneleja_sugu[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$vanus %>% 
      mean() -> tmp$kaaskoneleja_vanus[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$silpide_arv %>% 
      mean() -> tmp$kaaskoneleja_silpide_arv[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$sonade_arv %>% 
      mean() -> tmp$kaaskoneleja_sonade_arv[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$kestus %>% 
      mean() -> tmp$kaaskoneleja_kestus[tmp$fail==f&tmp$koneleja==k]
    tmp2[tmp2$koneleja != k,]$disf_arv %>% 
      mean() -> tmp$kaaskoneleja_disf_arv[tmp$fail==f&tmp$koneleja==k]
  }
}
tmp %>%
  filter(!nchar(kaaskoneleja)>3, vanus>9, kaaskoneleja_vanus>9) -> teke2

# faktoriseerime muutujad
teke2$koneleja <- factor(teke2$koneleja)
teke2$sugu <- factor(teke2$sugu)
teke2$fail <- factor(teke2$fail)

Salvestame globaalse kõnetempo andmestiku

save(teke2, file = "teke_globaalne_konetempo.Rda")

Foneetika korpuse andmed

Salvestame globaalse kõnetempo andmed

save(fonkorp2, file = "fonkorp_globaalne_konetempo.Rda")

Loeme andmestikud

Kui eelnevat mitte jookustada, siis võib alustada siit ja lugeda sisse kolm globaalse kõnetempo andmestikku.

Teke

load("teke_globaalne_konetempo.Rda")

Foneetika korpus

load("fonkorp_globaalne_konetempo.Rda")

Põhjatuule korpuse andmed

Materjali kirjeldus

###Teismeliste korpus

TeKE koosneb teismeliste omavahelistest vestlustest, mis on salvestatud diktofoniga (enamasti keelejuhtide kodudes). Korpus on käsitsi transkribeeritud, märgitud on kõnevooru piirid, sõnad üldiselt tavaortograafias mõningate täpsustavate lisamärkidega. Siin ettekandes kasutame seda osa TeKE-st,

Materjal: Eesti keele spontaanse kõne foneetiline korpus

EKSKFK (Lippus et al. 2021) koosneb mono-, dia- ja trialoogidest, mis on käsitsi märgendatud erinevatel lingvistilistel tasanditel: märgitud on sõnade, silpide ja häälikute piirid, häälelaadi, venitusi, üneeme jpm. Salvestused on suures osas läbi viidud foneetika labori vaikses salvestusruumis.
Siin ettekandes kasutame seda osa foneetika korpusest,

  • kus osaleb kaks kõnelejat;
  • 139 erinevat kõnelejat;
  • 67 meest ja 72 naist vanuses 20–69 aastat;
  • kokku 164 vestlust;
  • keskmine kestus 34 minutit (13–51 minutit);
  • kogukestus 46.2 tundi.

Materjal: Põhjatuule ja päikese korpus

Korpus koosneb Põhjatuule ja päikese loetud tekstist. Suuresti samad keelejuhid, kes osalevad EKSKFK, aga oleme seda teksti palunud lugeda ka muudes katsetes osalejatel. Korpus on osaliselt märgendatud (umbes 90 salvestust), märgitud on sõnade ja häälikute piirid. Salvestused on suures osas läbi viidud foneetika labori vaikses salvestusruumis.

  • kokku 268 salvestust;
  • 147 erinevat kõnelejat;
  • 64 meest ja 83 naist vanuses 20–81 aastat;
  • Keelejuhtidest 108 on samad, kes osalevad ka EKSKFK spontaansetes vestlustes.

Vestluspaaride sooline ja vanuseline jaotus TEKEs

Vestluspaaride sooline ja vanuseline jaotus EKSKFKs

Kõnelejate jaotus Põhjatuule ja päikese korpuses

Kõnetempo analüüs

Vanuse ja soo efekt

Teismeliste korpuses