Taken:
- ✔ Levenshtein-meting zonder normalisatie per woord
- → zie beneden
✔ DialectClassification.accdb omzetten naar tsv
→ zie: /net/aistaff/kleiweg/spraak/fa/DialectClassification
- ✔ Eigen classificatiemethode beschrijven
- ❏ Verdiepen in machine learning
- ✔ Levenshtein-meting zonder normalisatie per woord
- Werktijden
- ❏ uren bijhouden
Eigen classificatiemethode
Trainen:
Voor één zin, voor één woord (bijv het eerste woord, w1):
Stel, het woord heeft vier varianten (w1a, w1b, w1c, w1d). Tel hoe vaak elke variant in elk gebied voorkomt (in de trainingsset):
|
Noord |
Oost |
Zuid |
w1a |
100 |
20 |
10 |
w1b |
50 |
40 |
40 |
w1c |
0 |
0 |
90 |
w1d |
80 |
100 |
60 |
Normaliseer eerst per kolom, door te delen door het aantal sprekers per gebied, in dit geval 230, 160 en 200. (Dit is een kunstmatig voorbeeld. Hier is het totaal aantal sprekers iets groter dan in de werkelijke data.)
|
Noord |
Oost |
Zuid |
w1a |
0.435 |
0.125 |
0.050 |
w1b |
0.217 |
0.250 |
0.200 |
w1c |
0.000 |
0.000 |
0.450 |
w1d |
0.348 |
0.625 |
0.300 |
Normaliseer daarna per rij, zodat de som van elke rij 1 is:
|
Noord |
Oost |
Zuid |
w1a |
0.713 |
0.205 |
0.082 |
w1b |
0.325 |
0.375 |
0.300 |
w1c |
0.000 |
0.000 |
1.000 |
w1d |
0.273 |
0.491 |
0.236 |
Je ziet nu dat variant w1a een waarde heeft voor oost die groter is dan twee keer de waarde voor zuid, terwijl in de trainigsset de telling voor oost precies het dubbele was van zuid voor die variant. Het grotere verschil in de slotwaarde komt doordat er meer trainingsdata was uit het zuiden dan uit het oosten.
Testen:
Voor een spreker wordt de variant van een woord opgezocht in de tabel, en de waardes in de bijbehorende rij worden opgeteld bij de regiosommen voor die spreker. (Als de variant niet voorkomt in de tabel worden de waardes 0 gebruikt voor elke regiod.) Dit gebeurt voor elk woord in de zin. Daarna wordt de zin toegekend aan de regio met de hoogste score voor die spreker.
Een variant die ik gebruikt heb is in plaats van de waardes op de tellen, alle waardes te verhogen met 0.001, en ze daarna met elkaar te vermenigvuldigen. Dit geeft ongeveer dezelfde eindscores.
Levenshtein
Hieronder de plots van alle zinnen samen voor de vier methodes:
- Levenshtein -N 6, indel = subst / 2
- Levenshtein -N 6, indel = subst
- Binair
- Gewichteter Identitätswert
De outlier in de eerste twee plots is O-15268