Download - C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām
C4.5, C5.0 UN SVM KLASIFIKĀCIJAS ALGORITMU IZPĒTE UN SALĪDZINĀŠANA DATORLINGVISTIKAS VAJADZĪBĀM
Autors: Matīss RiktersVadītājs: prof. Guntis BārzdiņšRīga, 2014. gada 4. jūnijs
Prezentācija pieejama:http://ej.uz/C5SA
Motivācija• Šobrīd sintaktiskajā
analīzē nelieto C5.0
• C5.0 lietojums guvis panākumus semantiskajā analīzē
• C5.0 atvieglotu manuālu rezultātu precizitātes celšanu
Darba mērķi• Izpētīt izvēlēto algoritmu darbību• Veikt literatūras apskatu• Salīdzināt ar vienkāršiem piemēriem
• Izveidot sistēmu algoritmu salīdzināšanai
• Salīdzināt algoritmus izveidotajā sistēmā• Izpildīt eksperimentus• Apkopot rezultātus
Problēmas apraksts
C4.5, C5.0 ieejas datiPhotographer.names
amateur photographer, pro photographer, non photographer.
photography experiance: continuous.
main camera type: cameraphone, film SLR, DSLR, full-frame DSLR, medium-format DSLR.
camera count: continuous.
Photographer.data
5, cameraphone, 2, non photographer
2, full-frame DSLR, 3, amateur photographer
6, full-frame DSLR, 3, pro photographer
4, medium-format DSLR, 5, pro photographer
5, DSLR, 1, amateur photographer
0.0 1:5.0 3:2.01.0 1:2.0 2:1.0 3:3.02.0 1:6.0 2:1.0 3:3.02.0 1:4.0 2:2.0 3:5.01.0 1:5.0 2:3.0 3:1.0
SVM ieejas dati
SVM rezultāts – klasifikācijas modelis
C4.5 lēmumu koks C5.0 lēmumu koks
Rule 1: (1353, lift 2.9)camera count = 2-> class amateur photographer [0.999]
Rule 2: (28, lift 2.8) camera count = 3-> class pro photographer [0.967]
C4.5/C5.0 lēmumu likumi
C5.0
• Ātrāks par C4.5
• Mazāk kļūdu
• Veido mazāku lēmumu koku
• Jaunas iespējas• Iespēja uzstādīt vienu atribūtu
nozīmīgāku par citu• Jauni atribūtu datu tipi
C5.0 C4.5
C5SA (C5.0 sintaktiskā analizatora) izstrāde
C5.0 (C4.5, SVM)
Arc-eager Shift-
reduce
Arc-eager Shift-reduce darbībasLEFT-ARC
Izveido atkarību loku no rindas nākamā vārda uz steka augšējo vārdu, izmet steka augšējo vārdu
RIGHT-ARC
Izveido atkarību loku no steka augšējā vārda uz rindas nākamo vārdu, ieliek nākamo vārdu no rindas stekā
REDUCE Izmet steka augšējo vārduSHIFT Ieliek nākamo vārdu no rindas
stekā
Datu ģenerators
Ieejas dati CoNLL formātā:1 Zēns zens n ncmsn1 _ 2 _ _ _2 gāja iet v vmnisii30an _ 5 _ _ _3 uz uz s spsay _ 2 _ _ _4 skolu skola n ncfsa4 _ 3 _ _ _5 . . z zs _ 0 _ _ _
Solis
Steks Rinda Atkarību loki
Gājiens
0 Zēns gāja uz skolu.
SHIFT
1 Zēns gāja uz skolu. LEFT ARC2 gāja uz skolu. Zēns ←
gājaSHIFT
3 gāja uz skolu. Zēns ← gājagāja → uz
RIGHT ARC
4 gāja uz skolu. Zēns ← gājagāja → uzuz → skolu
RIGHT ARC
5 gāja uz skolu
. Zēns ← gājagāja → uzuz → skolu
REDUCE
6 gāja uz . Zēns ← gājagāja → uzuz → skolu
REDUCE
7 gāja . Zēns ← gājagāja → uzuz → skolu
LEFT ARC
8 . Zēns ← gājagāja → uzuz → skolugāja ← .
SHIFT
Ģenerētie gājieni:
C5SA izstrāde
Katrā izejas datu rindiņā atrodas: • steka augšējā vārda morfoloģiskais
marķējums• nākamā rindas vārda morfoloģiskais
marķējums• pazīme - vai eksistē atkarības loks uz steka
augšējo vārdu• pazīme - vai eksistē atkarības loks uz
nākamo rindas vārdu• izpildāmais gājiens
Ģenerēto datu fragmenti
SVM formātā:0.00.0 1:1.0 2:1.01.0 1:2.0 2:2.01.0 1:1.0 2:2.00.0 2:2.00.0 1:3.0 2:3.01.0 1:4.0 2:4.02.0 1:3.0 2:4.00.0 1:5.0 2:5.0 3:1.01.0 1:6.0 2:6.0
C4.5/C5.0 formātā:NULL, n_fsa_, false, false, SHIFTn_fsa_, n_fsn_, false, false, SHIFTn_fsn_, vm_is__30__, false, false, LEFT ARCn_fsa_, vm_is__30__, false, false, LEFT ARC
NULL, vm_is__30__, false, false, SHIFTvm_is__30__, vm_pdfsa_s_, false, false, SHIFTvm_pdfsa_s_, cc_, false, false, LEFT ARCvm_is__30__, cc_, false, false, RIGHT ARCcc_, r__, true, false, SHIFTr__, a_fsa__, false, false, LEFT ARC
Sintaktiskās analīzes piemērsIevaddati:n_fsn_ vm_is__30__ n_fsa_ spsgy n_fsg_ cc_ vm_pu000_0_ r__ vm_is__30__ n_fsd_ spsgy n_fsg_ zs
(Mia salika delnu uz delnas un raudot ritmiski spieda mātei uz sirds.)
Izpildītie gājieni: Sintaktisko atkarību loki starp vārdiem:
RezultātiA
r tr
eniņ
u d
ati
em
0 10 20 30 40 50 60 70 80 90 100
87.37%
68.48%
88.67%
74.13%
87.35%
76.13%
91.17%
70.99%
Veicamā gājiena klasificēšanas precizitāte
SVM C5.0 likumi C5.0 koks C5SA
Pilna teikuma piemērsID HEA
D FORM LEMMA POSTAG C5S
A+C5.
0 SVM
1 6 Mia Mia n_fsn_ 1→2 1→2
2 6 salika salikt vm_is__30__ 2→1 2→6
3 2 delnu delna n_fsa_ 3→2 3→2 3→2
4 2 uz uz spsgy 4→3 4→2 4→6
5 4 delnas delna n_fsg_ 5→4 5→4 5→4
6 13 un un cc_ 6→4 6→13
7 9 raudot raudāt vm_pu000_0_
7→8 7→6
8 9 ritmiski
ritmiski r__
8→7 8→9 8→9
9 6 spieda spiest vm_is__30__ 9→6 9→13
10 9 mātei māte n_fsd_ 10→9 10→9 10→9
11 9 uz uz spsgy 11→9 11→9 11→9
12 11 sirds sirds n_fsg_ 12→0 12→11 12→11
13 0 . . zs 13→0 13→0
Rezultāti
0 10 20 30 40 50 60 70 80 90 100
37.22%
61.57%
53.85%
Teikuma sintaktiskās struktūras klasificēšanas precizitāte
SVM C5.0 koks C5SA
Secinājumi• Teikumu sintaktiskajā analīzē var veiksmīgi izmantot C4.5/C5.0
algoritmus
• C4.5/C5.0 klasifikācijas modelis ir uzskatāmāks nekā SVM• Spēj izveidot viegli interpretējamu un pārveidojamu lēmumu koku
• Piedāvā iespēju izveidot arī lēmumu likumus
• C4.5 un C5.0 vairākās situācijās pārspēj SVM algoritmu veiktspējā• Augstāka precizitāte, izmantojot testa datus
• Ātrāk sagatavo klasifikācijas modeli
• Iegūtos precizitātes rezultātus iesējams uzlabot• Sadalot morfoloģisko marķējumu smalkāk
• Lēmumu koka veidošanā izmantojot arī vārda pamatformu
Paldies par uzmanību!Prezentācija - http://ej.uz/C5SASintaktisko atkarību analizatora prototips - http://ej.uz/dependancy-parserC5 sintaktiskais analizators - http://ej.uz/C5-Syntactic-Analyser