Universitatea babeş-bolyai cluj-napoca facultatea de matematicǎ Şi informaticǎ specializarea informatică



Yüklə 465,96 Kb.
səhifə14/14
tarix03.01.2019
ölçüsü465,96 Kb.
#89267
1   ...   6   7   8   9   10   11   12   13   14

Manual de utilizare

În momentul în care dăm dublu-click pe executabil, se deschide următoarea fereastră:

Ne aflăm în fereastra corespunzătoare procesului de antrenare. Dacă dăm click pe butonul Adaugati folder in lista se deschide o fereastră nouă, prin intermediul căreia putem alege folderele corespunzătoare categoriilor documentelor:

Alegem un folder, apăsăm butonul Select Folder, iar lista din fereastra principală va fi actualizată. În cazul în care am ales din greșeală un director greșit și dorim să îl eliminăm, îl selectăm și apăsăm butonul Stergeti folderul selectat din lista:

Pentru a putea începe antrenarea sistemului, în lista folderelor trebuie să existe cel puțin două elemente. În cazul în care nu respectăm acest lucru și apăsăm butonul Incepeti antrenarea sistemului, va fi afișat un mesaj de eroare corespunzător. Un astfel de mesaj își va face apariția și în cazul în care apăsăm butonul de ștergere al unui folder fără a îl selecta. Exemplu:

În momentul în care apăsăm butonul Setări, apare o fereastră nouă, care conține setările prestabilite ale sistemului pentru antrenare. Aceste setări pot fi modificate în funcție de preferințele noastre, salvate cu ajutorul butonului Salvati setarile și vizualizate prin selectarea butonului Setari initiale. În cazul în care cele două câmpuri completate nu sunt valide , la tentativa de salvare a acestora, va apărea un mesaj de eroare reprezentativ.

Să presupunem că lăsăm setările inițiale ale sistemului, adăugăm încă 3 foldere în lista pentru antrenare și apăsăm butonul Incepeti antrenarea sistemului. În timpul în care se derulează procesul de antrenare, cursorul se transformă într-un progress indicator, urmând ca la final, dacă totul a decurs cu bine, să fim anunțați printr-un mesaj.Pentru a putea vedea acuratețea sistemului în urma antrenării, dăm click pe tab-ul în dreptul căruia scrie Testare.

Noua fereastră conține în partea stângă detalii despre ultima antrenare, respectiv testare a sistemului, iar în partea dreaptă, matricea confuziei corespunzătoare.

Dacă dăm click pe tab-ul Clasificare, va apărea următoarea fereastră:

După cum se poate observa, avem la dispoziție trei opțiuni. Prima dintre acestea, ne dă posibilitatea de a crea un document nou care să poată fi ulterior clasificat. Pentru aceasta, apăsăm butonul Creare document nou și ni se va deschide o fereastră nouă, în care vom putea completa conținutul noului fișier:

Apăsăm butonul salvare document și vom putea alege denumirea acestuia și locul în care dorim să îl salvăm.


Dacă dăm click pe butonul Alegeti documente pentru clasificare ni se va deschide o fereastră similară cu cea pentru alegerea directoarelor pentru antrenare, de unde putem alege unul sau mai multe documente pentru a fi clasificate. După aceasta, fișierele alese vor fi supuse procesului de clasificare, rezultatele putând fi observate în partea stângă a ecranului, sub următoarea formă: categorie  probabilitatea cu care a fost aleasă.

În cazul în dorim să vizualizăm și probabilitățile pentru celelalte categorii, apăsăm butonul Detalii și se va deschide o altă fereastră cu un tabel care conține aceste informații. Accesarea butonului Detalii va cauza apariția unui mesaj de eroare, dacă nu au fost alese înainte documente pentru clasificare.

Ultimul tab corespunde graficelor acurateților obținute de-a lungul timpului, pentru toate grupările de categorii care au fost folosite în procesul de antrenare. În partea de sus a ferestrei, există un combo-box, de unde putem alege acea structură a categoriilor pentru care dorim să vizualizăm graficul. Implicit, este selectată și reprezentată prima astfel de grupare existentă. În momentul în care ducem cursorul deasupra unui nod, apare probabilitatea completă corespunzătoare acestuia.


    1. Rezultate obținute

Întrucât sistemul a fost realizat într-o modalitate care să permită antrenarea cu ușurință pentru oricât de multe categorii, am ales două seturi de date care să scoată în evidență atât clasificarea binară cât și cea multi-class.

Astfel, primul set de date este Newsgroup, colectat de către Ken Lang. Acesta conține 20000 articole care au fost împărțite în 20 categorii (Joachims 1997), multe dintre acestea fiind totuși ușor de confundat. De exemplu, cinci dintre ele au denumirea sub forma comp.*, conținând diferse discuții de grup, iar trei dintre ele au ca temă pricipală religia.

Setul de date a fost împărțit astfel: 2/3 pentru procesul de antrenare și 1/3 pentru testare. După cum am precizat și anterior, această repartajare se face aleator. Ca setări pentru procesul de antrenare, am ales eliminarea așa-numitelor stop-words, aplicarea stemmer-ului și eliminarea cuvintelor cu frecvența de apariție mai mică decât 3 și mai mare decât 100. Pentru a putea observa evoluția sistemului în funcție de numărul de categorii alese, am decis să preluăm acurateților obținute după 15 rulări pentru 20, 15, 10, 7, 4 și 2 categorii. Rezultatele obținute pot fi observate în graficele care urmează:

Astfel, pentru antrenarea sistemului pe toate cele 20 de categorii, am obținut o medie a acurateților de 0,804601487, adică o performanță de aproximativ 80,5%, care este comparabil mai mare decât o valoare de 5% care ar fi obținută în cazul alegerii aleatoare a rezultatelor.

Pentru 15 clase, media acurateților a fost 0,884754109, pentru 10 clase: 0,913706699, pentru 7 clase: 0,928769077, pentru 4 clase: 0,940818363, iar în cele din urmă pentru 2 clase: 0,973552894. După cum se poate observa, acuratețea algoritmului crește pe măsură ce numărul de clase scade, iar datorită acestei variații, ne-am putea raporta la acuratețea finală ca fiind media acurateților obținute în urma tuturor experimentelor realizate.Obținem așadar următoarea valoare: 0,907700438.

În continuare, vom realiza o paralelă între programul dezvoltat și experimentele realizate de către Tom Mitchell [13], pe același set de date. Spre deosebire de abordarea noastră, acesta a eliminat primele 100 cuvinte în ordinea descrescătoare a frecvenței de apariție, precum și cele cu numărul de apariție mai mic decât 3. Nu a fost aplicată niciun fel de preprocesare a textului în prealabil. Întrucât nu sunt precizate explicit metodele de evaluare a performanței sistemului, experimentele nu pot fi reproduse cu exactitate. Totuși, este de remarcat faptul că media acurateților pe care am obținut-o depășește rezultatul lui Tom Mitchell cu mai mult de un procent, crescând de la 89% la 90,77%.

În cadrul unei lucrări de cercetare, Andrew McCallum și Kamal Nigam [12] au scos în evidență performanțele obținute pe același set de date, folosind însă Clasificatorul naiv Bayes Bernoulli, unde un anumit document este văzut sub forma unui vector binar peste spațiul de cuvinte. Articolele au fost împărțite în mod aleator în 2/3 pentru antrenare si restul de 1/3 pentru testare, fiind eliminate din vocabularul final acele cuvinte care apăreau o singură dată. Au fost realizate mai multe experimente, obținându-se o medie a acurateților de 0,74 adică o performanță a sistemului de 74%, semnificativ mai mică decât performanța obținută de către sistemul nostru.

Pentru a prezenta și clasificarea binară, am ales să utilizăm o colecție de 5574 de mesaje scurte (sms-uri), dintre care 4827 corespunzătoare categoriei: ham și restul de 747 corespunzătoare categoriei: spam.

În ceea ce privește realizarea experimentelor, am utilizat aceeași împărțire a documentelor ca cea prezentată anterior. Am eliminat așa numitele stop-words, am ales opțiunea de aplicare a stemmerului, iar din cadrul vocabularului final nu am eliminat cuvintele a căror frecvență de apariție să corespundă unui anumit interval. Am repetat procesul de antrenare, respectiv testare de 50 de ori, rezultatele obținute fiind prezentate în graficul următor:


După cum se poate observa, acuratețile obținute variază între 0,977 și 0,987, media lor fiind reprezentată de valoarea: 0,980236814.

Grupul de cercetători care au reușit să acumuleze toate mesajele necesare compunerii acestui set de date [13], au testat mai multe metode de învățare automată, astfel încât să poată evidenția niște rezultate concrete în raport cu măsurarea potențialului datelor colectate. În acest sens, au utilizat două modalități de identificare a cuvintelor în cadrul documentelor:



  • tok1: cuvintele încep cu un caracter printabil, urmat de caractere numerice și alfanumerice, excluzând punctele, virgulele și caracterul două puncte din mijlocul secvenței.

  • tok2: orice secvență de caractere separate de spații goale, caracterul de linie nouă, puncte, virgule, două puncte și liniuțe, este considerată cuvânt.

Aceștia nu au luat în considerare nicio tehică de preprocesare a textului precum: eliminarea stop-words, sau aplicarea unui stemmer, întrucât credeau că acuratețea sistemului ar avea de suferit în ceea ce privește detectarea spam-ului.

Pentru realizarea experimentelor, au fost folosite implementările din WEKA pentru mai mulți algoritmi de învățare automată, luând în considerare toate setările inițiale, cu excepția numărului maxim de iterații care a fost setat la valoarea 20. Setul de date a fost împărțit astfel: 30% pentru antrenare (1674 mesaje), iar restul pentru testare (3900 mesaje).

Clasificatorii utilizați alături de rezultatele obținute, pot fi urmăriți în tabelul de mai jos:

Clasificator

Acuratețe %

Linear Support Vector Machine + tok1

97,64

Boosted NB + tok2

97,50

Boosted C4.5 + tok2

97,50

PART + tok2

97,50

Minimum Description Length + tok1

96,26

C4.5 + tok2

95,00

Multivariate Bernoulli NB + tok1

94,00

Multinomial term frequency NB + tok1

93,74

Multinomial Boolean NB + tok1

93,72

K-Nearest Neighbors (K = 1) + tok2

92,70

Basic NB + tok1

77,13

Gauss NB + tok1

91,95

Flexible NB + tok1

90,72

Boolean NB + tok1

77,13

K-Nearest Neighbors (K = 3) + tok2

90,10

Expectation-Maximization + tok2

85,54

TR

86,95

Cea mai bună performanță a fost obținută prin folosirea mașinilor cu suport vectorial, alături de prima variantă de identificare a cuvintelor în cadrul documentelor: tok1. În acest caz, acuratețea exprimată în procente a fost 97,64 %.

Așadar, algoritmul nostru de categorizare textuală reușește cu succes să depășească toate metodele de învățare automată prezentate în tabelul de mai sus, aplicabile pe setul de date de față și folosind setările precizate anterior.

    1. Extinderi posibile

Produsul soft dezvoltat oferă posibilitatea utilizatorilor de a clasifica documente text noi pe baza unei antrenări realizate în prealabil, necesară sistemului pentru a putea învăța categoriile dorite. În momentul de față, performanțele obținute sunt demne de luat în considerare, însă cu siguranță există posibilitatea unor îmbunătățiri, atât din punct de vedere computațional, cât și la nivelul interfeței grafice.

În vederea creșterii acurateții, ar putea fi realizate modificări, respectiv îmbunătățiri în partea de preprocesare a textului. O variantă ar putea fi reprezentată de oferirea posibilității de modificare a fișierului cu separatori, respectiv posibilitatea de creare a unor șabloane corespunzătoare identificării cuvintelor, bazate pe expresii regulare, pentru utilizatorii inițiați. Întrucât programul a fost realizat astfel încât să poată fi antrenat pe oricâte categorii, nu au putut fi luate decizii de preprocesare care să se muleze perfect pe toate variantele posibile. Așadar, ideea precedentă ar fi utilă pentru maparea produsului soft pe anumite categorii concrete.

Momentan, utilizatorul are acces la informații despre ultima antrenare realizată, pe baza căreia pot face și clasificări ale unor documente noi. O oportunitate de extindere a funcționalității sistemului ar putea fi constituită de stocarea unui jurnal al antrenărilor, existând și posibilitatea de gestionare al acestuia. În acest fel, utilizatorul ar putea alege orice antrenare anterioară în vederea clasificării, fără a fi nevoit să inițieze din nou procesul de antrenare.

Deși există și acum grafice care scot în evidență performanțele sistemului în funcție de categoriile pe care a fost antrenat, această parte vizuală ar putea fi extinsă prin includerea mai multor elemente de acest gen, care să faciliteze interacțiunea utilizatorului cu programul.

Toate aceste propuneri, reprezintă posibile extinderi ale produsului actual, menite să ajute la îmbunătățirea acestuia. Totuși, stadiul în care ne aflăm este unul suficient pentru o utilizare intuitivă și sugestivă a programului, funcționalitățile acestuia fiind reprezentate într-o manieră prietenoasă.



CONCLUZIE

În lucrarea de față am încercat să scoatem în evidență posibilitatea integrării metodelor de învățare Bayesiană în viața noastră de zi cu zi, prin simplificarea proceselor de luare a unor decizii în raport cu implicarea sistemelor inteligente de natură artificială.

Pe lângă prezentarea conceptelor teoretice care stau la baza îndeplinirii scopului nostru, am decis să demonstrăm și aplicabilitatea practică a acestuia, prin enunțarea și conceperea unui produs soft capabil să satisfacă cerințele utilizatorilor atât din punct de vedere funcțional cât și din punct de vedere al ușurinței de înțelegere și utilizare a aplicației.

Tematica abordată în vederea realizării acestui program s-a axat pe conceptul de categorizare textuală. În acest sens, produsul final oferă posibilitatea de clasificare a unor documente noi în una din categoriile pentru care a fost antrenat sistemul. O caracteristică interesantă și utilă în același timp, este dată de faptul că rigiditatea clasică a clasificatorilor corespunzătoare unor seturi de date fixate este înlocuită cu alegerea liberă a categoriilor, proces care poate fi repetat de un număr nelimitat de ori.

Datorită utilizării unor tehnici de preprocesare variate a textelor, precum și datorită oferirii posibilității de alegere a categoriilor pentru efectuarea procesului de antrenare, performanțele obținute au fost neașteptat de bune, surclasând în anumite cazuri abordările unor cercetători, pe aceleași seturi de date pe care le-am utilizat și noi pentru realizarea experimentelor.

Alături de o interfață grafică prietenoasă și ușor de intuit, produsul final poate fi integrat cu ușurință într-o varietate mare domenii, pornind de la cel jurnalistic și ajungând la cel medical, cât timp este respectat conținutul de natură textuală a elementelor ce se doresc a fi clasificate. Datorită portabilității oferită de independența de platformă a sistemului, nu sunt necesare eforturi suplimentare de rezolvare a problemelor de incompatibilitate.

Așadar, această lucrare are rolul de a oferi o perspectivă clară asupra metodelor de învățare Bayesiană, în raport cu realizarea unei aplicații practice care să vină în ajutorul consolidării acestor fundamentări de natură teoretică.

BIBLIOGRAFIE

[1] Vicent Alabau, Jesûs Andrès, Francisco Casacuberta, Jorge Civera Josè Garcia-Hernàndez, Adrià Gimènez, Alfons Juan, Alberto Sanchis, Enrique Vidal - The naive Bayes model, generalisations and applications, Agencia Valenciana de Ciencia y Tecnología, 004 (2005)

[2] Tiago A. Almeida, José María Gómez, Akebo Yamakami - Contributions to the Study of SMS Spam Filtering: New Collection and Results, in Proceedings of the 2011 ACM Symposium on Document Engineering, Mountain View, (2011), 259-262

[3] P.Bhargavi, Dr.S.Jyothi - Applying Naive Bayes Data Mining Technique for Classification of Agricultural Land Soils, IJCSNS International Journal of Computer Science and Network Security, 8 (2009)

[4] Carla E. Brodley, Umaa Rebbapragada, Kevin Small, Byron C. Wallace - Challenges and Opportunities in Applied Machine Learning, AI Magazine, Spring (2012), 11-24

[5] David Corney - Designing Food with Bayesian Belief Networks, ACDM2000, (2000), 83-94

[6] Paul Ekman, Wallace V. Friesen, Sonia Ancoli – Facial Signs of Emotional Experience, Journal of Personality and Social Psychology, 6 (1980), 1125-1134

[7] David Heckerman - A Tutorial on Learning With Bayesian Networks, Microsoft Research, MSR-TR-95-06, (1995)

[8] Héctor Hugo Avilés-Arriaga, Luis Enrique Sucar, Carlos Eduardo Mendoza, Blanca Vargas - Visual Recognition of Gestures using Dynamic Naive Bayesian Classifiers, Tec de Monterrey Campus Cuernavaca Av. Paseo de la Reforma, 182

[9] Ben-Gal I. - Bayesian Networks, Encyclopedia of Statistics in Quality & Reliability, Wiley & Sons, (2007)

[10] Joanna Kazmierskaa, Julian Malicki - Application of the Naive Bayesian Classifier to optimize treatment decisions, Radiotherapy and Oncology, 86 (2008), 211–216

[11] C. Lynnes, S. Berrick, A. Gopalan, X. Hua, S. Shen, P. Smith, K-Y. Yang, K. Wheeler, C. Curry - Application of Bayesian Classification to Content-based Data Management, (2004)

[12] Andrew McCallum, Kamal Nigam - A Comparison of Event Models for Naive Bayes Text Classification, Darpa HPKB, (1998), 41-48

[13] Tom M. Mitchell - Machine Learning, McGraw-Hill, 1997

[14] Nils J. Nilsson – Introduction to Machine Learning, Robotics Laboratory, Department of Computer Science, Stanford University, Stanford, CA 94305, 1996

[15] Irina Rish - An empirical study of the naive Bayes classifier, IBM Research Report, (2001)

[16] Stuart J. Russel, Peter NorvigArtificial Intelligence – A Modern Aproach, Prentice-Hall, Englewood Cliffs, New Jersey, 1995

[17] N. Sebe, M.S. Lew, I. Cohen, A. Garg, T.S. Huang - Emotion Recognition Using a Cauchy Naive Bayes Classifier, Proceedings of the 16 th International Conference on Pattern Recognition (ICPR'02), 1 (2002), 10017

[18] http://www.forbes.com/sites/85broads/2014/01/06/six-novel-machine-learning-applications/

[19] http://scott.fortmann-roe.com/docs/BiasVariance.html



[20] http://ai.stanford.edu/~chuongdo/papers/em_tutorial.pdf
Yüklə 465,96 Kb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin