C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas...

16
C4.5, C5.0 UN SVM KLASIFIKĀCIJAS ALGORITMU IZPĒTE UN SALĪDZINĀŠANA DATORLINGVISTIKAS VAJADZĪBĀM Autors: Matīss Rikters Vadītājs: prof. Guntis Bārzdiņš Rīga, 2014. gada 4. jūnijs Prezentācija pieejama: http://ej.uz/C5SA

description

The objective of this master’s thesis is to explore the popular language processing tool Maltparser and the algorithms used in its sentence syntactic analyzer – the dependency parsing Arc-eager Shift-reduce algorithm and the machine learning SVM algorithm. In this thesis the SVM algorithm will be compared to two other machine learning algorithms – C4.5 and C5.0 that produce more promising results especially for language processing tasks. In the course of this thesis the author will also develop his own implementation of said dependency parsing algorithm combined with C4.5 / C5.0. The objective of this master’s thesis is to verify whether the SVM classification algorithm can be successfully replaced with the C5.0 classification algorithm. This would make the classification trees and / or rules that are generated by the algorithm easier readable for users unlike the SVM vector format. This master’s thesis will also provide a quantitative comparison of the accuracy and other measurable characteristics of these algorithms.

Transcript of C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas...

Page 1: 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

Page 2: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 3: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

Problēmas apraksts

Page 4: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 5: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

SVM rezultāts – klasifikācijas modelis

Page 6: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 7: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 8: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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ā

Page 9: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 10: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

Ģ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

Page 11: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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:

Page 12: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 13: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 14: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 15: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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

Page 16: C4.5, C5.0 un SVM klasifikācijas algoritmu izpēte un salīdzināšana datorlingvistikas vajadzībām

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