CNTS Team

advertisement
ATRaNoS T1-T6
CNTS Team:
Bart Decadt
Erik Tjong Kim Sang
Walter Daelemans
CNTS taak voor T1+6
• WP2: Ontdekken en verwerken van Out-OfVocabulary-items (OOV)
– Specifieke taak = foneem-naar-grafeem omzetting
– Doeleinden:
• T1+6: Baseline omzetter
• T1+6: Rapport
Overzicht
• Waarom foneem-naar-grafeem omzetting?
• Haalbaarheidsexperimenten met CELEX
– Resultaten + fouten-analyse
• Experimenten met ‘echte’ data
– Resultaten + fouten-analyse
• Conclusies + TODO
WP2: Taak: foneem-naar-grafeem omzetting
spraak
Spraak
Herkenner
tekst
Confidence threshold
Vermoedelijk OOV-item
Foneemherkenner (ESAT)
Foneemstring + context (voorgaande en volgende woorden in spelling)
Training
Data
Omzetter (TiMBL)
Spelling
Spelling corrector met
omvangrijk vocabularium
(1) Onderzoek naar haalbaarheid
• Wat is de haalbaarheid van foneem-naar-grafeem
omzetting?
– Experimenten met CELEX
– Memory Based Learning (TiMBL) als machine
learning methode
• Hoe groot is de invloed van ruis in de data?
– Typische error rate van een foneem-herkenner ~ 25 tot
30%
Voorbereiden van de data (1)
• Voorbereiden van CELEX
– Spelling en uitspraak moeten gealigneerd
worden (met Expectation Maximization (EM)
algoritme [ILKAlign])
• “nul” symbool
• samengestelde grafemen
/tAksi/ taxi tax_i
/slap/ slaap slAp
– Voordeel van EM: geen tuning nodig
– Gerandomiseerd op woordniveau
Voorbereiden van de data (2)
• Toevoegen van ruis
– Gebeurde op woordniveau
– Simulatie van substituties: fonemen werden
vervangen door hun nearest phonemes
• Confusion matrix a.h.v. MVDM (Modified Value
Difference Metric)
– Van 0 tot 50% ruis
Experimenten met TiMBL
• Memory Based Learning experimenten
– Classification-based
– Similarity-based
– Gebruikte algoritmes:
• IB1 (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
• Resultaten (accuraatheid)
– Vrij van fouten: 99.1 (grafemen)
– 25% fouten:
93.1 (grafemen)
– 30% fouten:
92.0 (grafemen)
91.4 (woorden)
53.0 (woorden)
47.7 (woorden)
Resultaten van experimenten met CELEX
100
98
96
94
92
90
88
86
84
82
80
0
5
10
15
20
25
30
35
40
45
50
percentage of noise
IG-Tree, overlap, GR
IB-1, overlap, GR, k1
IB-1, overlap, GR, k3
IB-1, overlap, GR, k5
accuracy at word-level
100
90
80
accuracy
accuracy
accuracy at grapheme-level
70
60
50
40
30
20
0
5
IG-Tree, overlap, GR
10
15
20
25
30
percentage of noise
IB-1, overlap, GR, k1
35
IB-1, overlap, GR, k3
40
45
50
IB-1, overlap, GR, k5
Fouten-analyse
• Analyse van fouten in de output van
algoritme IB1, k=1 op dataset zonder ruis
• 2 soorten fouten:
– Fouten door ambiguïteit
– Fouten door atypische spelling
Fouten door ambiguïteit
• Ambiguïteit door spellingsconventies
– /k/  c of k?
• /INkledIN/  incleding
• /vudbAlkOm@ptitsi/  voetbalkompetitie
– /i/  i of y?
• /fil@/  fyle
• /elEktrolitis/  elektrolitisch
• Ambiguïteit door assimilatie
– /n/ wordt /m/ voor /b/
• /embanswEx/  eembaansweg
• Ambiguïteit door zelfde uitspraak, andere spelling
– /ledikAnt/  ladikant  ladykiller, ladyshave, ladylike
Fouten door atypische spelling
Fonemen
TiMBL
Correct
/rokAj@/
Rokuille
Rocaille
/sikorK/
Sykcurij
Cichorei
/fwAje/
Foyee
Foyer
/bazuka/
Bazoeka
Bazooka
/x@krust/
Gekroest
Gecruist
(2) Experimenten met data van
foneemherkenner
• Data van ESAT:
– 129075 woorden – 605955 grafemen
– 8913 OOV-items
– Enkele voorbeelden:
• grafeemstring:
foneemstring:
• grafeemstring:
foneemstring:
• grafeemstring:
foneemstring:
ze veegde de tranen uit haar ooghoeken
z@ veGe t@r tran@n Lt har ohok@n
het was een spel geworden
h@t wAs @ spEl G@wOrt@n t@x
cathy had haar uiterste best gedaan
kYdi hAt hAr Ljt@rst@ bEs x@dan
Voorbereiden van de ESAT-data (1)
• Aligneren met “nul” symbolen + samengestelde
grafemen
• Problemen bij het aligneren van de data:
– Door deleties in de foneemstrings werkt het EM
algoritme niet
• Oplossing:
– Ander aligneer-algoritme: Dynamic Programming (DP)
(of Dynamic Time Warping)
– Nadeel: tuning nodig!
– Voordeel: kan deleties aligneren
Voorbereiden van de ESAT-data (2)
•
•
•
Deleties staan niet aangeduid in de input van
omzetter  deleties werden verwijderd uit
dataset
Heeft spelling voorgaande/volgende woord
invloed?
Vier verschillende datasets:
1.
2.
3.
4.
•
Woorden met deleties verwijderd, geen spelling als context
Woorden met deleties verwijderd, wel spelling als context
Instanties met deleties verwijderd, geen spelling als context
Instanties met deleties verwijderd, wel spelling als context
Experimenten: (1) 10 CV op volledige dataset,
en (2) alleen OOV-items als testmateriaal
Resultaten met hele dataset grafeemniveau
Dataset
-spelling
-woorden
+spelling
-woorden
-spelling
-instanties
+spelling
-instanties
IB1, k=1 IB1, k=3 IB1, k=5 IGTREE
73.10
74.53
74.77
73.31
72.16
74.82
75.27
72.46
76.23
77.32
77.43
76.36
74.62
76.91
76.95
74.92
Resultaten met hele dataset woordniveau
Dataset
-spelling
-woorden
+spelling
-woorden
-spelling
-instanties
+spelling
-instanties
IB1, k=1 IB1, k=3 IB1, k=5 IGTREE
46.88
47.03
47.00
46.82
43.86
44.83
44.25
43.51
46.38
46.54
46.52
46.30
42.49
43.92
43.40
42.27
Voorbeeld van output
• TiMBL’s output:
cafe zag en wild zwaaien
haar vader stak zijn dan omhoog
fassaf hij wilde zeggen
het komt we goed jog
haar maar klefde bijnae tegen ik aultoeraanpiee aan
• Correcte versie:
cathy zag hen wild zwaaien
haar vader stak zijn duim omhoog
alsof hij wilde zeggen
het komt wel goed joch
haar moeder kleefde bijna tegen het autoraampje aan
Foutenanalyse: hoe goed worden
OOV-items omgezet?
• Alle OOV-items uit de tien test-bestanden van 10
CV experimenten gehaald (8913 woorden)
• Resultaten berekend op grafeem- en woordniveau
• Geteld hoeveel woorden 0, 1, 2, … fouten per
woord hebben
Resultaten op grafeemniveau
Dataset
-spelling
-woorden
+spelling
-woorden
-spelling
-instanties
+spelling
-instanties
IB1, k=1 IB1, k=3 IB1, k=5 IGTREE
58.88
62.00
62.69
59.66
58.07
62.29
63.06
59.14
59.87
62.82
63.34
60.66
58.93
63.07
63.37
60.06
Resultaten op woordniveau
Dataset IB1, k=1 IB1, k=3 IB1, k=5 IGTREE
-spelling
6.24
6.70
6.89
6.11
-woorden
+spelling
5.14
6.29
6.51
5.35
-woorden
-spelling
6.17
6.67
6.87
6.05
-instanties
+spelling
4.97
6.20
6.41
5.13
-instanties
MAAR  verzameling OOV-words bevat 3985 (44.7%) woorden met
deleties  deze woorden kunnen nooit volledig correct herkend worden
Voorbeeld van output
• TiMBL’s output:
het komt wel goed jog
bijna tegen het aultoeraampiee aan
haar neus werd pladvedrukt
cathy zag de belleen langzaam verdwijnen
cathy staarde hem bevreemd aan
• Correcte versie:
het komt wel goed joch
bijna tegen het autoraampje aan
haar neus werd platgedrukt
cathy zag de bmw langzaam verdwijnen
cathy staarde hem bevreemd aan
Fouten-analyse OOV-items
Number of words for errors per word
2000
Number of words
1800
1600
1400
1200
1000
800
600
400
200
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Errors per word
De meeste woorden hebben 2 tot 5 fouten per woord
(gemiddelde is 3.03)
16
(3) Conclusie
• Experimenten op volledige ESAT dataset
(max. 47.0) komen in de buurt van de
resultaten van de experimenten met
artificiële ruis (47.7 – 53.0% op
woordniveau)
• Resultaten bij de OOV-items (max. 6.9%)
liggen ver beneden de resultaten van de
experimenten met artificiële ruis
(4) TODO
• Verdere optimalisering van de leertechniek
op deze taak
• Oplossing voor probleem van deleties
• Spelling corrector met omvangrijk
vocabularium als post-processing
• Evaluatie van omzetter in combinatie met
de confidence measures ontwikkeld door
ESAT
Download