Jako trochę bardziej skomplikowany przykład, zobaczmy następującą hipotezę: wyraz w ulegnie ubezdźwięcznieniu, jeśli po nim następuje wyraz zaczynający się od głoski bezdźwięcznej i analogicznie pozostanie dźwięczny w przypadku głoski dźwięcznej. Na przykład:

Wczytajmy naszą bazę:

library(emuR)

Attaching package: ‘emuR’

The following object is masked from ‘package:base’:

    norm
db <- load_emuDB('clarin', verbose = FALSE)

Zobaczmy, ile jest w ogóle wyrazów w w korpusie:

segs_all <- query(db,'[Word == w]')

Z tych 230 przykładów zróbmy podział na takie, po których następują głoski dźwięczne i bezdźwięczne:

segs_unv <- query(db,'[Word == w -> [Word =~ .* ^ [Phoneme == t | p | s | S | tS | tsi | si | f | x | k | ts & Start(Word,Phoneme)==1]]]')
segs_voi <- query(db,'[Word == w -> [Word =~ .* ^ [Phoneme != t | p | s | S | tS | tsi | si | f | x | k | ts & Start(Word,Phoneme)==1]]]')

Kwerenda ta jest trochę bardziej skomplikowana, więc rozbijmy ją na posczególne części:

Widać, że tutaj znowu mamy szczęście i liczność obydwu grup segmentów jest mniej więcej równa:

length(segs_voi[,1])
[1] 1
length(segs_unv[,1])
[1] 1

Jak spojrzymy na zawartość jednego z tych segmentów, zobaczymy, że opis każdego zawiera zarówno wyraz w, jak i to, co następuje po nim:

segs_unv$labels[1:10]
 [1] "w->szkole"       "w->pierwszych"   "w->ciemnościach" "w->prostokątnej" "w->kraju"        "w->którym"       "w->tych"        
 [8] "w->świecie"      "w->tym"          "w->posiadaniu"  

Możemy użyć następującego polecenia, żeby wybrać tylko te części segmentów należące do wyrazu w:

w_unv=requery_seq(db,segs_unv)
w_voi=requery_seq(db,segs_voi)

Następnie, użyjmy poniższego polecenia, żeby odczytać annotację wyrazu na poziomie fonemów, zamiast wyrazu:

ph_unv=requery_hier(db,w_unv,'Phoneme')
ph_voi=requery_hier(db,w_voi,'Phoneme')

Zróbmy teraz tabelę podsumowującą:

d_voi=data.frame(voicness=rep('Dźw.',length(ph_voi[,1])),
                 phoneme=ph_voi$labels)
d_unv=data.frame(voicness=rep('Bezdź.',length(ph_unv[,1])),
                 phoneme=ph_unv$labels)
dt=table(rbind(d_voi,d_unv))
dt
        phoneme
voicness   f   v
  Dźw.     8 102
  Bezdź. 113   7

A na koniec narysujmy wykres:

barplot(dt,legend=rownames(dt))

Ten przykład może i nie jest idealny, bo nie wykorzystuje żadnych wyliczonych cech, tylko polega na informacji wywnioskowanej przez system automatycznego rozpoznawania mowy. System ten pozwala na podwójną transkrypcję (zarówno v jak i f) i używa modelu akustycznego, wytrenowanego na zbiorze danych, żeby znaleźć najlepiej pasującą transkrypcję do nagrania. Niemniej jednak widać, że dla większości przypadków, proces ten działa: wyraz w jest ubezdźwięczniany, jeśli po nim następuje głoska dźwięczna i na odwrót.

W każdym razie celem tego zeszytu było pokazanie w miarę skomplikowanej sytuacji życiowej i kwerendy potrzebnej do jej zrealizowania. Pokazano też dwa dodatkowe polecenia, które się bardzo przydają do doprecyzowania poszukiwanej informacji.

LS0tCnRpdGxlOiAiR8WCb3NraSBkxbp3acSZY3puZSBpIGJlemTFundpxJljem5lIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgpKYWtvIHRyb2NoxJkgYmFyZHppZWogc2tvbXBsaWtvd2FueSBwcnp5a8WCYWQsIHpvYmFjem15IG5hc3TEmXB1asSFY8SFIGhpcG90ZXrEmToKd3lyYXogKip3KiogdWxlZ25pZSB1YmV6ZMW6d2nEmWN6bmllbml1LCBqZcWbbGkgcG8gbmltIG5hc3TEmXB1amUgd3lyYXogemFjenluYWrEhWN5IHNpxJkgb2QgZ8WCb3NraSBiZXpkxbp3acSZY3puZWogaSBhbmFsb2dpY3puaWUgcG96b3N0YW5pZSBkxbp3acSZY3pueSB3IHByenlwYWRrdSBnxYJvc2tpIGTFundpxJljem5lai4gTmEgcHJ6eWvFgmFkOgoKICAqIHcgZHJ1xbx5bmllIC0gKip3KiogamVzdCBkxbp3acSZY3puZSAoY3p5bGkgKnYqKQogICogdyBzYW1vY2hvZHppZSAtICoqdyoqIGplc3QgYmV6ZMW6d2nEmWN6bmUgKGN6eWxpICpmKikKICAKV2N6eXRham15IG5hc3rEhSBiYXrEmToKYGBge3J9CmxpYnJhcnkoZW11UikKZGIgPC0gbG9hZF9lbXVEQignY2xhcmluJywgdmVyYm9zZSA9IEZBTFNFKQpgYGAKClpvYmFjem15LCBpbGUgamVzdCB3IG9nw7NsZSB3eXJhesOzdyAqKncqKiB3IGtvcnB1c2llOgpgYGB7cn0Kc2Vnc19hbGwgPC0gcXVlcnkoZGIsJ1tXb3JkID09IHddJykKYGBgCgpaIHR5Y2ggMjMwIHByenlrxYJhZMOzdyB6csOzYm15IHBvZHppYcWCIG5hIHRha2llLCBwbyBrdMOzcnljaCBuYXN0xJlwdWrEhSBnxYJvc2tpIGTFundpxJljem5lIGkgYmV6ZMW6d2nEmWN6bmU6CmBgYHtyfQpzZWdzX3VudiA8LSBxdWVyeShkYiwnW1dvcmQgPT0gdyAtPiBbV29yZCA9fiAuKiBeIFtQaG9uZW1lID09IHQgfCBwIHwgcyB8IFMgfCB0UyB8IHRzaSB8IHNpIHwgZiB8IHggfCBrIHwgdHMgJiBTdGFydChXb3JkLFBob25lbWUpPT0xXV1dJykKc2Vnc192b2kgPC0gcXVlcnkoZGIsJ1tXb3JkID09IHcgLT4gW1dvcmQgPX4gLiogXiBbUGhvbmVtZSAhPSB0IHwgcCB8IHMgfCBTIHwgdFMgfCB0c2kgfCBzaSB8IGYgfCB4IHwgayB8IHRzICYgU3RhcnQoV29yZCxQaG9uZW1lKT09MV1dXScpCmBgYAoKS3dlcmVuZGEgdGEgamVzdCB0cm9jaMSZIGJhcmR6aWVqIHNrb21wbGlrb3dhbmEsIHdpxJljIHJvemJpam15IGrEhSBuYSBwb3NjemVnw7NsbmUgY3rEmcWbY2k6CgogICogc3p1a2FteSB3eXJhenUgKip3KioKICAqIHBvIHR5bSB3eXJhemllICh6bmFrIGAtPmAgb3puYWN6YSBuYXN0xJlwc3R3bykgd3lzdMSZcHVqZSB0bywgY28gdyBuYXdpYXNpZSBrd2FkcmF0b3d5bQogICogbW/FvGUgdG8gYnnEhyBkb3dvbG55IHd5cmF6ICh6bmFrIGAuKmAgb3puYWN6YSBkb3dvbG7EhSBzZWt3ZW5jasSZIHpuYWvDs3cgLSBqZcWbbGkgdcW8eXdhbXkgd3lyYcW8ZcWEIHJlZ3VsYXJueWNoLCBtdXNpbXkgdGXFvCBzdG9zb3dhxIcgc3ltb2JsIGA9fmAgemFtaWFzdCBwcm9zdGVqIHLDs3dub8WbY2kpCiAgKiB3IGlubnltIHBvemlvbWllIHRlZ28gd3lyYXp1IG11c2kgd3lzdMSZcG93YcSHIGZvbmVtIHogbGlzdHkKICAqIGZvbmVtIHRlbiBtdXNpIGJ5xIcgbmEgcGllcndzenltIG1pZWpzY3UgdyB3eXJhemllCiAgCldpZGHEhywgxbxlIHR1dGFqIHpub3d1IG1hbXkgc3pjesSZxZtjaWUgaSBsaWN6bm/Fm8SHIG9ieWR3dSBncnVwIHNlZ21lbnTDs3cgamVzdCBtbmllaiB3acSZY2VqIHLDs3duYToKYGBge3J9Cmxlbmd0aChzZWdzX3ZvaVssMV0pCmxlbmd0aChzZWdzX3VudlssMV0pCmBgYAoKSmFrIHNwb2pyenlteSBuYSB6YXdhcnRvxZvEhyBqZWRuZWdvIHogdHljaCBzZWdtZW50w7N3LCB6b2JhY3p5bXksIMW8ZSBvcGlzIGthxbxkZWdvIHphd2llcmEgemFyw7N3bm8gd3lyYXogKip3KiosIGphayBpIHRvLCBjbyBuYXN0xJlwdWplIHBvIG5pbTogCmBgYHtyfQpzZWdzX3VudiRsYWJlbHNbMToxMF0KYGBgCgpNb8W8ZW15IHXFvHnEhyBuYXN0xJlwdWrEhWNlZ28gcG9sZWNlbmlhLCDFvGVieSB3eWJyYcSHIHR5bGtvIHRlIGN6xJnFm2NpIHNlZ21lbnTDs3cgbmFsZcW8xIVjZSBkbyB3eXJhenUgKip3Kio6CmBgYHtyfQp3X3Vudj1yZXF1ZXJ5X3NlcShkYixzZWdzX3VudikKd192b2k9cmVxdWVyeV9zZXEoZGIsc2Vnc192b2kpCmBgYAoKTmFzdMSZcG5pZSwgdcW8eWpteSBwb25pxbxzemVnbyBwb2xlY2VuaWEsIMW8ZWJ5IG9kY3p5dGHEhyBhbm5vdGFjasSZIHd5cmF6dSBuYSBwb3ppb21pZSBmb25lbcOzdywgemFtaWFzdCB3eXJhenU6CmBgYHtyfQpwaF91bnY9cmVxdWVyeV9oaWVyKGRiLHdfdW52LCdQaG9uZW1lJykKcGhfdm9pPXJlcXVlcnlfaGllcihkYix3X3ZvaSwnUGhvbmVtZScpCmBgYAoKWnLDs2JteSB0ZXJheiB0YWJlbMSZIHBvZHN1bW93dWrEhWPEhToKYGBge3J9CmRfdm9pPWRhdGEuZnJhbWUodm9pY25lc3M9cmVwKCdExbp3LicsbGVuZ3RoKHBoX3ZvaVssMV0pKSwKICAgICAgICAgICAgICAgICBwaG9uZW1lPXBoX3ZvaSRsYWJlbHMpCmRfdW52PWRhdGEuZnJhbWUodm9pY25lc3M9cmVwKCdCZXpkxbouJyxsZW5ndGgocGhfdW52WywxXSkpLAogICAgICAgICAgICAgICAgIHBob25lbWU9cGhfdW52JGxhYmVscykKZHQ9dGFibGUocmJpbmQoZF92b2ksZF91bnYpKQpkdApgYGAKCkEgbmEga29uaWVjIG5hcnlzdWpteSB3eWtyZXM6CmBgYHtyfQpiYXJwbG90KGR0LGxlZ2VuZD1yb3duYW1lcyhkdCkpCmBgYAoKVGVuIHByenlrxYJhZCBtb8W8ZSBpIG5pZSBqZXN0IGlkZWFsbnksIGJvIG5pZSB3eWtvcnp5c3R1amUgxbxhZG55Y2ggd3lsaWN6b255Y2ggY2VjaCwgdHlsa28gcG9sZWdhIG5hIGluZm9ybWFjamkgd3l3bmlvc2tvd2FuZWogcHJ6ZXogc3lzdGVtIGF1dG9tYXR5Y3puZWdvIHJvenBvem5hd2FuaWEgbW93eS4gU3lzdGVtIHRlbiBwb3p3YWxhIG5hIHBvZHfDs2puxIUgdHJhbnNrcnlwY2rEmSAoemFyw7N3bm8gKnYqIGphayBpICpmKikgaSB1xbx5d2EgbW9kZWx1IGFrdXN0eWN6bmVnbywgd3l0cmVub3dhbmVnbyBuYSB6YmlvcnplIGRhbnljaCwgxbxlYnkgem5hbGXFusSHIG5hamxlcGllaiBwYXN1asSFY8SFIHRyYW5za3J5cGNqxJkgZG8gbmFncmFuaWEuIE5pZW1uaWVqIGplZG5hayB3aWRhxIcsIMW8ZSBkbGEgd2nEmWtzem/Fm2NpIHByenlwYWRrw7N3LCBwcm9jZXMgdGVuIGR6aWHFgmE6IHd5cmF6ICoqdyoqIGplc3QgdWJlemTFundpxJljem5pYW55LCBqZcWbbGkgcG8gbmltIG5hc3TEmXB1amUgZ8WCb3NrYSBkxbp3acSZY3puYSBpIG5hIG9kd3LDs3QuCgpXIGthxbxkeW0gcmF6aWUgY2VsZW0gdGVnbyB6ZXN6eXR1IGJ5xYJvIHBva2F6YW5pZSB3IG1pYXLEmSBza29tcGxpa293YW5laiBzeXR1YWNqaSDFvHljaW93ZWogaSBrd2VyZW5keSBwb3RyemVibmVqIGRvIGplaiB6cmVhbGl6b3dhbmlhLiBQb2themFubyB0ZcW8IGR3YSBkb2RhdGtvd2UgcG9sZWNlbmlhLCBrdMOzcmUgc2nEmSBiYXJkem8gcHJ6eWRhasSFIGRvIGRvcHJlY3l6b3dhbmlhIHBvc3p1a2l3YW5laiBpbmZvcm1hY2ppLg==