Sunteți pe pagina 1din 16

Discplina: SGCDM

Lucrare de laborator Nr. 2

Tema: Weka. Gate. Jcolibri.

A efectuat:
Lisnic Inga

Chişinău 2011
1 Scopul si sarcina lucrarii

- Se indeplineste mersul lucrarii utilizând aplicaţia Weka din paginile 2-18. Se raspunde la întrebările
care sunt menţionate cu rosu si se inserează în raport rezultatele ce argumentează răspunsul
(PrintScreen-uri si/sau secvenţe de date).
- De instalat si de testat posibilitatile aplicatiei Gate. De utilizat un set de texte (la limita un text)
pentru a-l prelucra cu ajutorul aplicatiei Gate (separarea in tokenuri, propozitii, identificarea unor
familii de cuvinte). De prezentat rezultatele în raport.
- De instalat si de testat in detaliu aplicatia JColibri, în special pentru testele :Test 5, Test 8, Test 10,
Test 12 (a+b), Test 13a, Test 14, Test 16. De alcatuit exepple proprii si de testat pentru Test 5, Test
10, Test 12a, Test 12b. De inclus rezultatele în raport.

2 Realizarea sarcinii
Weka
Pentru început în programul Weka deschidem fişierul weather.arff.
- What are the possible values of the outlook attribute? The windy attribute? The humidity attribute?
Valorile posibile pentru atributele outlook, windy şi humidity sînt prezente în figurele 1, 2 şi 3.

Figura 1 – Valorile atributului outlook

2
Figura 2 – Valorile atributului windy

Figura 3 – Valorile atributul humidity

- What does the graph tell us about outlook conditions when the play attribute has a value of no?
Atunci cînd atributul play are valoarea no graful indică că valoare Count este 5.

3
Figura 4 – Valorile atributul humidity

- For the attributes with numerical values, did you have to manualy set a boolean condition?

Figura 5 – Atribute cu valori numerice

4
- Is the tree structure obvious to you looking at this output?

Figura 6 – Structura arbore

- Errors are shown as larger (orange) crosses. As you look at different two attribute corelations can
you find situations where errors are grouped? What does this mean?

Figura 7 – Classifier visualize


5
- What does this table tell us?

Figura 8 – Probabilitatea distribuţiei a tablei pentru umeditate

- What is different?

Figura 9 – Probabilitatea distribuţiei a tabelei pentru play

- What is the difference in the model error between k=2 and k=4?
Diferenţa ditre k =2 şi k=4 este următoarea:
Pentru k =2 modelul este clusterizat în două părţi iar pentru k=4 este clusterizat în patru părţi
pentru fiecare evidenţiindu - se probabilitatea apartinenţei unui element la unul din clustere.

6
- How good is our clustering? Does it reflect our classification for play?
Clusterizarea utilizată nu este sufficient de bună, deoarece în total au fost obţinute 21 de clustere
care nu reflect realitatea, deoarece numarul total de instanţe pentru play este de 14.
- What attributes form this cluster?

Figura 10 – Vizualizarea grafică a arborelui


Clusterile sunt alcătuite din combinaţiile tuturor atributelor pe care le avem în modelul dat.
- Use the neural network interface to look at other example data sets such as the iris data. What was
different about the results from the iris dataset?
Pentru a vedea diferenţele v-om rula ambele aplicaţii:

=== Evaluation on training set ===


=== Summary ===
Correctly Classified Instances 14 100 %
Incorrectly Classified Instances 0 0 %
Kappa statistic 1
Mean absolute error 0.036
Root mean squared error 0.0454
Relative absolute error 7.7533 %
Root relative squared error 9.4618 %
Total Number of Instances 14
=== Confusion Matrix ===
a b <-- classified as
9 0 | a = yes
0 5 | b = no

Figura 11 - Rezultatul obţinut pentru fişierul weather.arff

7
Pentru comparaţie analizam rezultatele pentru fişierul iris.arff
Time taken to build model: 9.39 seconds
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 148 98.6667 %
Incorrectly Classified Instances 2 1.3333 %
Kappa statistic 0.98
Mean absolute error 0.0248
Root mean squared error 0.0911
Relative absolute error 5.5779 %
Root relative squared error 19.3291 %
Total Number of Instances 150
=== Confusion Matrix ===
a b c <-- classified as
50 0 0 | a = Iris-setosa
0 49 1 | b = Iris-versicolor
0 1 49 | c = Iris-virginica

Figura 12 - Rezultatul obţinut pentru fişierul iris.arff

Diferenţa dintre rezultatele celor două fişiere este în acea că eroare relativă pentru fişierul iris.arff
este de aproape 3 ore mai mare. Acest fapt este observat datorită numărului mare de variante în al doilea
caz utilizate pentru antrenarea reţelei neuronale care încearcă să determine rezultatul. Pentru primul caz
datorită numărului mic de variante de intrare reţeaua neuronală identifică corect răspunsul pentru oricare
variantă.
GATE
Separarea pe tokenuri împarte textul în tokenuri foarte simple, cum ar fi numere, semne de
punctuaţie şi cuvinte de diferite tipuri. De exemplu, se pot distinge cuvinte ce incep cu litera mare şi
cuvinte ce incep cu litere mici, precum şi între anumite tipuri de punctuaţie. Scopul este de a limita lucru
cu tokenurile pentru a maximiza eficienţa, şi pentru a oferi o mai mare flexibilitate prin plasarea sarcinii
pe regulile gramaticale, care sunt mai adaptabile.
O regula are partea stinga (LHS) si partea dreapta (RHS). LHS este o expresie regulata care trebuie
sa se potriveasca cu datele de intrare, iar RHS descrie adnotarile care trebuie sa fie adaugate la
AnnotationSet.LHS este separate de RHS prin “>”. Urmatoarele operatii pot fi utilizate pentru LHS:
| (or)
* (0 or more occurrences)
? (0 or 1 occurrences)  
+ (1 or more occurrences)
RHS foloseşte ";" ca un separator, şi are următorul format:

8
{LHS} > {Annotation type} ; {attribute1}={value1};...;{attribute n} = { value n}
Urmatoarea regula de separare pe tokenuri pentru cuvintele ce incep cu o singura litera majuscule:
‘UPPERCASE_LETTER’ ‘LOWERCASE_LETTER’* > Token;orth=upperInitial;kind=word;
Aceasta afirmă că secvenţa trebuie să înceapă cu o majusculă, urmată de zero sau mai multe litere.
Această secvenţă va fi apoi adnotata ca tip de "Token" Atributul(ortografie) "Orth" contine valoarea
"upperInitial"; iar atributul "kind" are valoarea = "word".
In setul implicit de reguli, urmatoarele tokenuri si SpaceToken sunt posibile:
Cuvintul – un set de litere mari si mici invecinate, care include si cratima (dar nu si alte semne de
punctuatie). De asemenea cuvintul are si atributul ‘orth’ pentru care urmatoarele valori sunt definite:
- upperInitial – prima litera este majuscula restul sunt minuscule
- allCaps – toate literele sunt majuscule
- lowerCase – toate literele sunt minuscule
- mixedCaps – orice combinatie de litere majuscule si minuscule, excluzind situatiile descrise mai sus.
Număr - Un număr este definit ca orice combinaţie de cifre consecutive. Nu există subdiviziuni
de numere.
Simbol – doua tipuri de simboluri sunt definite :
- currency symbol (e.g. ‘$’, ‘£’)
- symbol (e.g‘. &’, ‘ ’).
Punctuatie – Trei tipuri de punctuatie sunt definite:
- start_punctuation (e.g. ‘(’),
- end_punctuation (e.g. ‘)’),
- other punctuation (e.g. ‘:’).
Fiecare simbol de punctuatie este un token separate
SpaceToken – Spatiile albe sunt divizate in 2 tipuri de spacetoken – spatiu si control- in
dependenta daca acestea sunt pure caractere de spatii sau sunt spatii de control.
Tokeniser englez – este procesul de procesare a resurselor care cuprinde un tokeniser normal si
un JAPE translator
Exemplu:
William Shakespeare (baptised 26 April 1564; died 23 April 1616) was an English poet and
playwright, widely regarded as the greatest writer in the English language and the world's pre-eminent
dramatist.
He is often called England's national poet and the "Bard of Avon".His surviving works, including
some collaborations, consist of about 38 plays 154 sonnets, two long narrative poems, and several other
poems. His plays have been translated into every major living language and are performed more often
than those of any other playwright.
9
Shakespeare was born and raised in Stratford-upon-Avon. At the age of 18, he married Anne
Hathaway, with whom he had three children: Susanna, and twins Hamnet and Judith. Between 1585 and
1592, he began a successful career in London as an actor, writer, and part owner of a playing company
called the Lord Chamberlain's Men, later known as the King's Men. He appears to have retired to
Stratford around 1613, where he died three years later. Few records of Shakespeare's private life survive,
and there has been considerable speculation about such matters as his physical appearance, sexuality,
religious beliefs, and whether the works attributed to him were written by others.
Pentru a utiliza GATE pentru analiza acestui text v-om parcurge următorii paşi:
1) Cream un ANNIE With Defaults

Figura 13 – Crearea ANNIE With defaults


2) Crearea unui Corpus şi a unui document

Figura 14 – Crearea unui corpus si a unui document


3) Adaugarea unui document in corpus

Figura 15 – Adaugarea unui document in corpus

10
4) Rularea ANNIE Sentence Splitter pentru corpusu creat

Figura 16 – Rularea ANNIE Sentence Splitter


În figura 14 este reprezentat detectarea numelor personale din text precum şi pozitia lor unde se află
în cadrul textului.

Figura 17 – Detectarea numelor de persoane


În figura 15 este reprezentată detectarea token – urilor în cadrul textului

Figura 18 – Detectarea token-urilor


11
JColibri
Test 5
În urma rulării testului 5 am obtinut următoarele rezultate:
Retrieved cases:
[Description:(Journey21;Recreation;2;(2,Belgium,Brussels, Brussels National Airport,Euro); Car; 14; May; TwoStars)] [Solution:(Journey21;2240;Hotel
Ostend, Belgium)][Sol.Just: null][Result: null] -> 0.48826979472140764

[Description: (Journey11;City;2;(1,Cairo,Cairo,Cairo Airport,Egyptian Pound); Plane; 7;April; ThreeStars)] [Solution: (Journey11;1978;Hotel Victoria,
Cairo)][Sol.Just.: null][Result: null] -> 0.44574780058651026

[Description: (Journey55;Recreation;2;(5,Allgaeu,Munich,Munich Airport,Euro) ;Car;7;June;TwoStars)] [Solution: (Journey55;648;Gasthaus Meier, Allgaeu)]


[Sol.Just.: null][Result: null] -> 0.4305962854349951

[Description: (Journey56;Wandering;4;(5,Allgaeu,Munich,Munich Airport,Euro);Car;7;July;TwoStars)] [Solution:(Journey56;972;Gasthaus


Alpenland,Allgaeu)][Sol.Just.: null][Result: null] -> 0.4305962854349951

[Description: (Journey38;Active;3;(3,Bulgaria,Sofia,Sofia Airport,Lev);Plane;14;July;FourStars)]


[Solution:(Journey38;2739;Hotel Burgas, Sunny Beach)][Sol.Just.: null][Result: null] -> 0.2913000977517107

[Description: (Journey39;Bathing;2;(3,Bulgaria,Sofia,Sofia Airport,Lev);Plane;14;September;FourStars)] [Solution: (Journey39;2399;Grandhotel Varna,


Albena)][Sol.Just.: null][Result: null] -> 0.2913000977517107

[Description:(Journey41;Bathing;5;(4,Bornholm,Ronne,Bornholm Airport,Danish krone);Car;7;July; HolidayFlat)]


[Solution: (Journey41;1729;H.Flat Bornholm)][Sol.Just.: null][Result: null] -> 0.20332355816226785

[Description: (Journey40;Bathing;3;(4,Bornholm,Ronne,Bornholm Airport,Danish krone);Car;14;August; HolidayFlat)]


[Solution: (Journey40;2273;H.Flat Bornholm)][Sol.Just.: null][Result: null] -> 0.20039100684261976

Query:
[Description: (null;Recreation;4;(null,Bulgaria,Sofia,airport,Euro);null;10;April;ThreeStars)]
Combined cases
[Description: (null;Recreation;4;(null,Bulgaria,Sofia,airport,Euro);null;10;April;ThreeStars)][Solution: (Journey21;2240;Hotel Ostend, Belgium)][Sol.Just.:
null][Result: null]

Astfel obţinem următorul rezultat: pentru o cazare în Bulgaria pentru 4 persoane pentru 10 zile a fost ales
hotelul Ostend din Belgia cu preţul de 2240 euro. În baza de date preţul cazării este dat pentru 2 persoane
timp de 14 zile şi constituie 1568 euro.

Daca mai adăugam următoarele înregistrări în baza de date:


// table travel
insert into travel values('Journey57','Recreation',772,4,6,'Car',7,'July','TwoStars','Sofia Best');

// table region
insert into region values(6, 'Bulgaria', 'Sofia', 'Sofia Airport', 'Euro')

Obţinem următoarea soluţie:


[Description: (null;Recreation;4;(null,Bulgaria,Sofia,airport,Euro);null;10;April;ThreeStars)][Solution: (Journey57;1102;Sofia Best)]
Obţinem ca cea mai bună soluţie este înregistrarea care am introdus-o.

12
Test 8
Acest test evaluează precizia cu care se realizează interogările, astfel, din imagine se observă că
puţine interogări au o precizie mai mică decât 80%.

Figura 19 – Rezultatele pentru Test 8

Test 10
Acest test demonstrează extragerea din ontologiei a resursei care satisface interogarea. În acest caz
pentru fiecare călătorie din ontologia vacations.owl este extrasă URI-ul preţului.
Retrieved cases:
[Description: (I1356;RECREATION;I2;FUERTEVENTURA;PLANE;I14;April;THREESTARS)]
[Solution: (I1356;I2828.00)][Sol.Just.: null][Result: null] -> 0.9027777777777777
[Description: (I1416;BATHING;I2;LANZAROTE;PLANE;I14;April;THREESTARS)]
[Solution: (I1416;I2788.00)][Sol.Just.: null][Result: null] -> 0.861111111111111
[Description: (I16;CITY;I2;CAIRO;PLANE;I7;April;THREESTARS)]
[Solution: (I16;I2308.00)][Sol.Just.: null][Result: null] -> 0.8194444444444443
[Description: (I260;RECREATION;I4;CHALKIDIKI;PLANE;I14;July;FOURSTARS)]
[Solution: (I260;I5329.00)][Sol.Just.: null][Result: null] -> 0.7916666666666666
[Description: (I1234;BATHING;I4;EGYPT;PLANE;I14;February;THREESTARS)]
[Solution: (I1234;I4552.00)][Sol.Just.: null][Result: null] -> 0.75
[Description: (I673;BATHING;I4;MALLORCA;PLANE;I14;July;THREESTARS)]
[Solution: (I673;I3530.00)][Sol.Just.: null][Result: null] -> 0.75
[Description: (I209;BATHING;I4;CORSICA;PLANE;I7;July;TWOSTARS)]
[Solution: (I209;I3522.00)][Sol.Just.: null][Result: null] -> 0.75
[Description: (I1442;RECREATION;I2;TURKISHRIVIERA;PLANE;I14;March;FIVESTARS)]
[Solution: (I1442;I2418.00)][Sol.Just.: null][Result: null] -> 0.7361111111111112
[Description: (I948;RECREATION;I4;HARZ;CAR;I7;December;TWOSTARS)]
[Solution: (I948;I2007.00)][Sol.Just.: null][Result: null] -> 0.7361111111111112
[Description: (I1294;RECREATION;I3;MALTA;PLANE;I14;December;FOURSTARS)]
[Solution: (I1294;I1922.00)][Sol.Just.: null][Result: null] -> 0.7361111111111112

13
În cazul extinderii bazei de date se pot obţine şi rezultate suplimentare.

Figura 20 – Calătoria cerută


În fişierul travel.sql observăm că nu există o călătorie care s-ar potrivi in totalitate cu interogarea
prezentată, astfel, găsim că cea mai apropiată călătorie este:
('Journey626','Recreation',3578,2,'Fuerteventura','Plane',14,'June','ThreeStars','Hotel Crystal Beach, Fuerteventura');

Prin adăugarea unei călătorii care ar avea luna Aprilie vom obţine un răspuns care se potriveşte în
totalitate cu interogarea dată

Test 12 a
Testul 12 a utilizează GATE pentru extragerea informaţiei. La rularea acestuia obţinem rezultatul
de mai jos (numai o porţiune):
(TempLocation,California),
(TempDate,Mon.),
(TempDate,Tues.),
(JobTitle,chef),
(JobTitle,chef),
(Money,$28),
(JobTitle,cook),
(JobTitle,chef),
(JobTitle,cook),
(Money,$36),
(Money,$25),
(Money,$90),
(Money,$11),
(Money,$8.95),
(Money,$9),
(Money,$15),
(Money,$18),
(Money,$26),
(Money,$16),
(Money,$30),
(Money,$6.45),
(Money,$11),
(Money,$10),
(TempTime,7 a.m.),
(TempTime,9 p.m.),
(TempTime,8:30 p.m.),
(TempTime,two),
(TempTime,6.45),
(TempTime,4 p.m.),

14
Test 12 b
Acest test parsează textul şi extrage informaţia din el. La rularea testului obţinem următorul rezultat:
(Food,pork),
(Food,pork),
(Food,pizza),
(Food,coffe),
(Food,vegetables),
(Food,vegetables),
(Food,sandwich),
(Food,fish),
(Food,salads),
(Food,chicken),
(Food,eggplant),
(Food,beef),
(Food,pork),
(Food,chicken),
(Food,chicken),
(Food,eggs),
(Food,eggs),
(Food,squid),
(Food,catfish),
(Food,tuna),
(Food,fish),
(Food,fish),
(Food,spaghetti)]

Test 13 a
Acest test utilizează extensia OpenCBR pentru a oferi informative cu privire la alegerea unui
restaurant după o anumit frază cheie.
Pentru interogarea Taisty a fost recomandat restaurantul prezentat în imagine:

Figura 21 – Rezultatul pentru interogarea “Taisty”

15
Test 14
Acest test exemplifică evaluarea concomitentă a exactităţii pentru două seturi de date, cu precizia
lor.
Rezultatele:
Iris Prediction Cost Accuracy: 93.33333333333333
Glass Prediction Cost Accuracy: 69.04761904761905

Figura 22 – Rezultatele pentru testul 14

Test 16
Acest test arată cum poate fi evaluată similitudinea textului utilizînd clasificarea. Drept sursă este
utilizat un set de emailuri divizat în două părţi dintre care una e considerată mesaje spam.
Rezultatul testului:
Precision: 0.8771929824561403
Recall: 1.0
True Spam: 150.0
False Ham: 0.0
False Spam: 21.0
True Ham: 129.0

Concluzie

În această lucrare de laborator am utilizat aplicaţia Weka şi am raspuns la întrebările necesare. Am


analizat posibilitatile aplicaţiei Gate şi JColibri.

Bibliografie

1) Indrumar pentru laboratorul N2 .pdf [Resursă electronică].


2) http://gate.ac.uk/ [Resursă electronică].
3) http://gaia.fdi.ucm.es/projects/jcolibri/ [Resursă electronică].
4) http://www.cs.waikato.ac.nz/ml/weka/ [Resursă electronică].

16

S-ar putea să vă placă și