Post on 13-Jan-2016
description
CNTS Team:
Bart Decadt (onderzoeker)Erik Tjong Kim Sang (onderzoeker, project leider)
Walter Daelemans (supervisie)
ATraNoSWork Package 2, T7-T12
• WP 2 – Detectie en verwerking van OOV items:
I. foneem-naar-grafeem (F2G) omzetter optimaliseren
II. verdere fouten-analyse
III. interactie met de confidence measures van ESAT’s spraakherkenner
CNTS Taken - Overzicht
Even opfrissen …
• F2G omzetter memory based learning (implementatie = TIMBL):– classification-based & similarity-based– gebruikte algoritmes:
• IB1-IG (standaard) met k = { 1, 3, 5 }• IGTree (decision tree based optimization)
– metriek om similarity te berekenen: overlap metric met gain ratio weighting
• experimenten met 10-fold cross-validation met data van ESAT’s foneemherkenner
Resultaten experimenten T1–T6
IB1-IGIGTREE
k=1 k=3 k=5
Volledige dataset
Grafeem-niveau 76.2 77.3 77.4 76.4
Woord-niveau 46.4 46.5 46.5 46.3
OOVs in dataset
Grafeem-niveau 59.9 62.8 63.3 60.7
Woord-niveau 6.2 6.7 6.9 6.1
• beste resultaten dataset zonder instanties met deleties, en geen spelling als context
• beste algoritme = IB1-IG met k = 5
(I) F2G-omzetter optimaliseren
• 4 oplossingen:
a) dataset met minder foneem-deleties
b) dataset met meer OOVs
c) optimalisatie-algoritme voor memory-based learning
d) spellingcorrectie als post-processing
(I.a) Dataset met minder deleties
• vorige dataset van ESAT: error rate ~25%
• nieuwe dataset van ESAT: 20% minder deleties, maar:– 60% meer inserties– 15% meer substituties– totale error rate ~29%– maar: inserties en substituties kunnen opgelost
worden met de F2G-omzetter
(I.a) Dataset met minder deleties
IB1-IGIGTREE
k=1 k=3 k=5
Volledige dataset
Grafeem-niveau 74.2 75.7 75.7 74.4
Woord-niveau 43.9 44.1 43.9 43.8
OOVs in dataset
Grafeem-niveau 59.5 63.2 63.8 60.5
Woord-niveau 6.1 7.1 7.6 6.1
• resultaten van 10-fold cross-validation experimenten:
• beste algoritme: IB1-IG met k=5• resultaat voor hele dataset is wat slechter:
– grafeemniveau: -1.6%
– woordniveau: -2.6%
• resultaat voor OOVs is lichtjes beter:– grafeemniveau: +0.5% (1.6% winst)
– woordniveau: +0.7% (10.1% winst)
– concreet: 8903 OOVs 680 (vs. 611) correctgeconverteerd
(I.a) Dataset met minder deleties
(I.b) Dataset met meer OOVs
• aantal OOVs is klein:– 9k OOVs 120k niet-OOVs
• nieuwe dataset maken:– elke OOV komt 2x voor– elke niet-OOV slechts 1x
• hypothese: memory based learner wordt meer getraind op de eigenaardigheden van de OOVs
(I.b) Dataset met meer OOVs
• resultaten van 10-fold cross-validation experimenten:
IB1-IGIGTREE
k=1 k=3 k=5
Volledige dataset
Grafeem-niveau 76.0 76.5 75.7 76.1
Woord-niveau 46.1 42.5 38.6 46.1
OOVs in dataset
Grafeem-niveau 59.9 63.7 63.9 60.8
Woord-niveau 6.2 7.0 5.3 6.3
(I.b) Dataset met meer OOVs
• enige vooruitgang bij resultaten voor de OOVs: +0.1% op woordniveau
• lichte achteruitgang bij resultaten voor hele dataset
• memory based learner is niet beter getraind op OOVs:– aantal OOVs verdrievoudigen, … ?– waarschijnlijk weinig regelmatigheden in
OOVs
(I.c) Optimalisatie algoritme
1. bepaal default score:– IB1-IG, k = 1 en weighting = gain ratio
2. een exhaustive search naar de beste settings voor:– weighting: w = { gain ratio, info gain, chi-
squared of shared variance }– nearest neighbours: k = { 1, 3, 5, 7, 9, 11, 13,
15 }– class voting type (Timbl4): z = { majority
voting, Inverse Distance weighting, Inverse Linear weighting, Exponential Decay weighting }
(I.c) Optimalisatie algoritme
• start algoritme:– default score = 76.2 %
• resultaat:– setting voor weighting = gain-ratio– setting voor nearest neighbours = 5– setting voor class voting type = Inverse
Distance weighting– eind score = 77.8 % op grafeemniveau voor
hele dataset
(I.d) Spellingcorrectie
• iSpell (Unix/Linux) als spellingcorrector (114k woorden + lijst met affixen)
• output van iSpell:– woorden gelabeld als correct of foutief gespeld– foutief gespelde woorden vaak een lijst met
alternatieven
• spellingcorrector van Microsoft (groter vocabularium) niet te automatiseren
• resultaat met iSpell:– input = conversies voor OOVs in dataset met
minder deleties, met IB1-IG en k=3 (woord-accuraatheid = 6.9%):
• verlies in accuraatheid door correct voorspelde woorden gemarkeerd als foutief -1.4%
• winst (alleen 1ste suggestie) +2.4%• winst (eerste 3 suggesties) +4.1%• winst (alle suggesties) +4.8%
• woord-accuraatheid kan stijgen tot min. 7.8%, max. 10.3%
(I.d) Spellingcorrectie
(II) Verdere fouten-analyse
• hypothese: TIMBL kan zich aanpassen aan de fouten van de foneemherkenner
• in hoeverre gebeurt dit?
• vergelijking met frequentie-gebaseerde methode:– foneem omzetten naar meest voorkomende
grafeem voor dat foneem
(II) Verdere fouten-analyse
frequentie-gebaseerd
IB1-IG, k = 5
Volledige dataset
Grafeem-niveau 70.5 77.4
Woord-niveau 30.0 46.5
OOVs in dataset
Grafeem-niveau 60.2 63.3
Woord-niveau 3.0 6.9
• vergelijking: TIMBL frequentie-gebaseerd:
• TIMBL 130% winst tov. frequentie-gebaseerd methode
(III) Interactie met confidence measures (ESAT)
• experiment met afzonderlijke test-set (3.6k woorden)– accuraatheid op woordniveau = 55.2%
• 7.9% voor OOVs
• 19.2% op herkenningsfouten
• 59.9% voor niet-OOVs
• test-set bevat 14.7% herkenningsfouten– 75% kan correct gelabeld worden als onzeker– slechts 10% van de correcte woorden foutief
gelabeld
• veronderstelling:– 75% correct gelabeld als onzeker omgezet met 7.9%
woord-accuraatheid
– 10% foutief gelabeld als onzeker omgezet met 59.9% woord-accuraatheid
(III) Interactie met confidence measures (ESAT)
• maar leesbaarheid is verbeterd:– 41.7 % van de herkenningsfouten wordt omgezet met
ten hoogste 1 fout per woord
– 62.6 % met ten hoogste 2 fouten
• aantal herkenningsfouten stijgt van 14.7 % naar 16.0 %!
• gespreksonderwerp /G@spreksOnd@r@wEr@/
– spraakherkenner gesprek zonder werk– F2G-omzetter gespreksonberwerp
• speelgoedmitrailleur/sperGutnitrKj-yr/
– spraakherkenner speelgoed moet hier– F2G-omzetter spergoetmietrijer
(III) Interactie met confidence measures (ESAT)
Conclusies
• twee optimalisatie-oplossingen zijn effectief:– dataset met minder deleties– spellingcorrectie zou beter kunnen met
taakspecifieke corrector
• TIMBL leert uit fouten van foneemherkenner
• parameter optimalisatie: weighting = Gain Ratio, nearest neighbours = 5, class voting type = Inverse Distance weighting