Multe companii se confruntă cu aceeași problemă în fiecare zi: cum să se ocupe de grămada tot mai mare de arhive pe hârtie și de gigaocteți de documente schimbate în diverse formate raster, adesea reprezentând date neorganizate și nestructurate. Pentru a utiliza oricare dintre aceste date, trebuie mai întâi să le clasificați. De exemplu, documentele contabile pot fi împărțite în contracte, facturi, rapoarte de acceptanță și multe altele. Documentația tehnică a rețelei poate fi împărțită în schițe de proiectare, protocoale de recepție a rețelei, protocoale de audit, protocoale de eșec în rețea/în stații, fișe de inspecție tehnică, etc. Cu toate acestea, procesul de clasificare poate fi consumator de timp, costisitor și frustrant pentru toți cei implicați. Poate soluția la această problemă să provină din Artificial Intelligence? Am decis să testăm și să aplicăm tehnici de machine learning pentru clasificarea și sortarea diferitelor tipuri de documente ca parte a activităților de cercetare și dezvoltare în curs de desfășurare în proiectul GlobIQ.
Experimente cu clasificare
Experimentul nostru a implicat utilizarea unui clasificator bayesian naiv într-un mod de învățare supervizat pentru a clasifica documentația proiectului.
Clasificarea textului supravegheat implică atribuirea automată a textelor unui set de clase predefinite, numite și categorii. Un document poate aparține unei singure clase (clasificarea cu o singură etichetă) sau mai multor clase (clasificarea multi-etichetă), în funcție de evaluarea subiectivă a setului. O variantă a clasificării cu o singură etichetă este așa-numita clasificare binară, în care fiecare document este atribuit unui set sau complementului acestuia.
Etapele sale au fost după cum urmează:
Am folosit următorii clasificatori din biblioteca scikit-learn:
- Random Forest Classifier
- Linear Support Vector Classification
- Multinomial Naive Bayes Classifier
- Logistic Regression
Pentru a evalua clasificatorii am folosit același set de training (împărțit automat într-un subset de formare și un subset de test) de 470 de documente cu o categorie cunoscută. Ca măsură de bază a performanței clasificatorilor am folosit parametrul “accuracy”. Acest parametru reprezintă raportul dintre numărul de valori prognozate corect și numărul total de valori din setul de testare.
Rezultatele pentru anumiți clasificatori au fost după cum urmează:
Cel mai bun rezultat (0,975) a fost realizat de un clasificator folosind LinearSVC și a fost folosit mai târziu în experiment.
- Am folosit cel mai bun clasificator găsit – LinearSVC – pentru a simula clasificarea producției unui set de 6272 de documente PDF cu scanări (aproximativ 24000 pagini A4). Fluxul de lucru a fost următorul:
- extragerea fișierelor JPG din fișierele PDF
- utilizare OCR pentru a prelua text simplu din fișierul JPG
- utilizare clasificator și specificare categoria de document
- comparare categoria prevăzută cu categoria determinată de operator (cea corectă)
Rezultatele experimentului au fost după cum urmează:
Categorie | Documente in categorie | Predictii incorecte | Acuratete | Note |
1 | 2,050 | 329 | 84.0% | Scanari de calitate slaba |
2 | 342 | 1 | 99.7% | |
3 | 2,340 | 13 | 99.4% | |
4 | 0 | 0 | - | Niciun document in setul de date testate |
5 | 1,539 | 13 | 99.2% | |
Total | 6,272 | 357 | - |
Concluziile experimentului
Acuratețea obținută în clasificarea documentelor a fost foarte ridicată – pentru 3 categorii a fost de peste 99%. Numai pentru o categorie, precizia a fost de 84%. Clasificarea volumelor mari de documente (10.000 – 20.000) se finalizează în câteva minute. Apreciem că vizualizarea manuală și clasificarea a 10.000 de documente ar dura aproximativ 10-20 de zile. Experimentul demonstrează că metodele și instrumentele AI, inclusiv algoritmii utilizați de GlobIQ, pot fi foarte utile în clasificarea documentelor.