Practicum ASR pesten

In dit practicum gaan we verder waar we vorige week gebleven waren. Vorige week hebben we het systeem getraind en gekeken wat het kan. Vandaag gaan proberen te ontdekken wat het systeem niet kan. En of wij die dingen, die het systeem niet kan, juist wel zonder moeite kunnen of juist niet...

Omdat dit een commercieel systeem is kunnen we niet binnen het systeem aan parameters 'draaien'. Het enige dat wij kunnen variëren is de invoer. Dit gaan we dus ook uitgebreid doen.

De vorm van dit practicum is als volgt:

  • voorbereiding: theorie hoorcollege, muziek (met en zonder zang) en andere bron(nen) meenemen
  • practicum: opnemen van spraak, muziek en andere bron(nen), input variatie, testen
  • individuele opdrachten

pesten
We gaan pesten. Dit doen we door aan de invoer te 'sleutelen'. Dragon NaturallySpeaking heeft ook de mogelijkheid om met opgenomen spraak te werken, hierdoor kunnen wij het flink moeilijk maken voor het systeem.

Hierbij een voorgelezen versie van tekst2. Je kan deze tekst uitlezen door het naar DragonPad te slepen of via het menu Geluid -> Opname uitschrijven...

Het opnemen van geluid doe je m.b.v. Audacity.

Exporteer alle bestanden als WAV-bestand! Neem een samplefrequentie van 22050 Hz.

  • Neem jullie eigen spraak op. Dicteer beiden tekst 2 (De Auto). (Dus echt voorlezen, zonder commando's als komma, etc). Stuur deze wav-file ook op naar .
  • Neem je meegenomen muziek op (maak twee opnames, kies een interessant stukje met tekst en een stukje zonder tekst van 15 seconden o.i.d.).
  • Heb je nog een andere geluidsbron: neem deze dan ook op.

input variatie
We voegen nu de signalen samen, wederom met Audacity. (Denk aan de samplefrequentie (22050 Hz) en de lengte van het signaal. Exporteer ze weer allemaal als WAV-bestand.)
Kies een van de volgende drie soorten stationaire ruis en voeg deze samen met je eigen tekst. Dit doe je door eerst je wav-bestand te openen en vervolgens de ruis te importeren (bij Project -> Audio importeren...).

Doe hetzelfde met één van de volgende soorten niet-stationaire ruis:

Je kunt nu de signalen gaan verzwakken met een factor a. Selecteer hiervoor het signaal dat je wilt verzwakken (de ruis bij de eerste vier en het spraaksignaal bij de laatste twee verhoudingen die hier onder staan, bij 0 dB laat je de signalen ongemoeid) en kies Effect -> Versterken.... Vul hier de decibelwaarde (negatief als je het signaal verzwakt, dus de eerste aanpassing wordt -26 dB!) in die hieronder staat aangegeven. Het vinkje bij "Don't allow clipping" mag je weg halen.
Begin bij een factor a = 20, dit reduceert de energie van het signaal met een factor 400 = 20^2 en geeft een signal-to-noise-ratio (SNR) in deciBel (dB) van 10*log10(400) = 26 dB. Zorg dat je de volgende signaal ruis verhoudingen maakt:

  • alleen spraak: SNR = effectief ongeveer 30 dB
  • spraak + ruis/20: SNR = 26 dB
  • spraak + ruis/10: SNR = 20 dB
  • spraak + ruis/5: SNR = 13 dB
  • spraak + ruis/2 SNR = 6
  • spraak + ruis: SNR = 0 dB
  • spraak/2 + ruis: SNR = -6 dB
  • spraak/4 + ruis: SNR = -12 dB
  • alleen ruis: geen signaal

Doe dit voor beide soorten ruis en luister naar alle opnamen: beschrijf of ze moeilijk te herkennen zijn. Bij de onderstaande opdrachten gebruik je de gemaakte bestanden.

leeg lexicon
Maak een nieuwe gebruiker aan. In het scherm van van Gebruiker maken -> Geavanceerd..., kies Leeg lexicon. Volg de instructies op zoals eerder en dicteer tekst 2 (wederom "De auto").

testen
Voor de opdrachten moet je de bestanden die je gemaakt hebt uitschrijven. Dat doe je op de volgende manier: kies Geluid -> Opname uitschrijven.... Beantwoord steeds de vragen die bij die bij de uit te schrijven bestanden horen (hieronder). Zorg dat je alle uitgeschreven teksten opslaat.

individuele opdrachten

  1. Schrijf in Dragon uit: tekst 2 (van Erik) en jullie eigen tekst 2. Gebruik voor de opdrachten steeds de je eigen gebruikersprofiel in Dragon.
    1. Hoeveel fouten worden er bij de tekst van Erik gemaakt en hoeveel bij de eigen tekst?
    2. Is er een groot verschil in gemaakte fouten en de sprekers? Hoe verklaar je dit?
  2. Schrijf in Dragon jullie muziek met en zonder zang uit.
    1. Beschrijf hoe het systeem hierop reageert.
    2. Kun je een verschil zien tussen muziek met en zonder zang?
  3. Schrijf in Dragon jullie andere geluidsbronnnen uit (indien meegenomen).
    1. Beschrijf hoe het systeem hierop reageert.
  4. Schrijf in Dragon de bestanden met verschillende signaal-ruisverhoudingen uit.
    1. Geef voor ieder bestand het aantal fouten dat er gemaakt wordt.
    2. Beluister de bestanden, kunnen jullie overal de spraak herkennen?
    3. Verklaar voor de twee soorten achtergrondsignaal die je hebt gekozen de mate van herkenning aan de hand van de eigenschappen van het toegevoegde achtergrondsignaal.
    4. Voor de signaal/ruisverhouding van 13 dB kun je of de ruis verzwakken (zoals jullie hierboven gedaan hebben) of het signaal versterken met 13 dB. Probeer dit laatste ook. Welke spraak kunnen jullie het beste verstaan? En welke het systeem? Of is er geen verschil? Waar ligt dit aan?
  5. Leeg lexicon
    1. Wat zijn de herkenningsresultaten van een gebruiker met een leeg lexicon?
  6. Conclusies
    1. Zit er veel verschil tussen de herkenningsprestatie op de door Erik opgenomen tekst 2 en de door jou opgenomen tekst 2?
    2. Wat kan het systeem niet, waar mensen geen problemen mee hebben?
    3. Wat kan het systeem niet, dat mensen ook niet kunnen?
    4. Zijn er dingen die het systeem kan, die mensen niet kunnen?

analyse resultaten
deadline vrijdag 20 maart om 9 uur 's ochtends
Jullie hebben in het practicum uitgebreid kennis gemaakt met de mogelijkheden en onmogelijkheden van Dragon. Vat nu de resultaten van de twee practica (spelen en pesten) samen en leg verbanden met de onderliggende werking van Dragon NaturallySpeaking (HMM's e.d.). Hieronder staat een aantal vragen dat je kunt gebruiken voor de analyse. Je hoeft ze niet allemaal te beantwoorden, gebruik alleen interessante antwoorden die bijdragen aan een antwoord op de speciale aandachtspunten onderaan de pagina.
NB. Je krijgt de resultaten van de andere groepen vrijdag 13 maart door Maria toegestuurd.

vragen bij het eerste practicum

  1. Bereken de fout-ratio (aantal fout/aantal woorden) voor elke groep/gebruiker. Wat is de (gemiddelde) ratio van de gehele groep?
  2. Kun je de fouten in klassen indelen als je samengenomen resultaten bekijkt?
  3. Is er een verschil tussen mannelijke en vrouwelijke sprekers?
  4. Welke fouten vinden jullie begrijpelijk en welke niet? Betrek ook de menselijke prestatie op dezelfde woorden/zinnen in het antwoord.
  5. Is er een verschil in herkenning van verschillende klinkers en medeklinkers (pal/bal, bol/bal)? Waar heeft dit dan mee te maken?
  6. Wat zijn over het algemeen genomen de resultaten van de ongrammaticale zinnen? Geef een paar voorbeelden.
  7. Wat gebeurt er bij niet-bestaande woorden? Geef een paar voorbeelden.

vragen bij het tweede practicum

  1. Bereken het gemiddeld aantal fouten in de uitgeschreven tekst van Erik en in de eigen tekst van alle groepen.
  2. Bekijk de antwoorden op de onderstaande vragen van alle groepen:
    1. Wordt er spraak uit muziek herkend?
    2. Wat is de invloed van de verschillende soorten ruis, welke soort vormt geen probleem voor herkenning en welke het meest? En hoe komt dit?
    3. Wat kan het systeem niet wat mensen wel kunnen?
    4. Wat kunnen zowel het systeem als mensen niet?
    5. Is er iets dat het systeem wel kan, maar mensen niet?

Speciale aandachtspunten voor de relatie tussen de theorie en de praktijk:

  • Hoe belangrijk is een goed sprekersmodel?
  • Hoe zijn de resultaten in ruizige omstandigheden te verklaren door de gebruikte techniek van spraakherkenning?
  • In welk stadium doen zich de grootste problemen voor / worden de grootste problemen veroorzaakt bij de herkenning (bv. parameterisatie, classificatie, taalmodel (resultaten bij een leeg lexicon)...)?

Contact

postadres
Auditory Cognition Group
Kunstmatige Intelligentie
Rijksuniversiteit Groningen
Postbus 407
9700 AK Groningen

bezoekadres
Bernoulliborg
Nijenborgh 9
9747 AG Groningen

How to reach us