Cum să utilizați Machine Learning pentru a vă clasifica datele?

By March 22, 2019 Uncategorized

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ă:

1

În primul rând, am obținut o colecție de documente de proiect marcate, compuse din fișiere JPG (adăugate în PDF), împărțite în 6 categorii diferite. Fișierele JPG conțineau scanări ale documentelor pe hârtie atât cu scris de mână cât și cu text imprimat. Dimensiunea setului de date a fost de câteva mii de documente de o pagină sau de mai multe pagini.
2

Apoi am identificat aleatoriu un subset de documente care a fost folosit ca set de training. Dimensiunea setului de instruire a fost de 470 de documente.
3

Am folosit OCR (Google Vision API Beta) pentru a converti fișiere JPG din setul de învătațare în text simplu.
4

Prin intermediul unor funcții simple am curățat textul de semne inutile, punctuație, schimbat în litere mici, etc.
5

În etapa următoare am evaluat diferiții clasificatori utilizând datele din setul de training.

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 -
94
acuratețea medie a predicțiilor

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.