Solutiile de machine learning au o gama larga de domenii de aplicare

Solutiile de tip machine learning au o gama larga de aplicatii – de la scopuri bine-cunsocute, cum ar fi identificarea si filtrarea emailurilor spam, penalizarea blogurilor bazate pe spamming, astfel incat utilizatorii sa obtina rezultate relevante la cautari, recomandari de produse relevante sau combaterea fraudei online, pana la modalitati surprinzatoare prin care pot ajuta companiile sa dezvolte produse superioare, mai inteligente si intr-un fel mai rapid, cum ar fi prin identificarea utilizatorului pe baza informatiilor legate de voce, imagine sau date preluate printr-un accelerometru (felul in care un utilizator tine sau misca un dispozitiv mobil), predictii privind preturile diverselor tipuri de licitatii, evolutia preturilor actiunilor de la bursa, automatizarea controlului nivelurilor de acces ale angajatilor intr-un anumit sistem, predictii privind timpii de asteptare la unitatile de urgente ale spitalelor, identificarea gradului de risc pentru infarct miocardic, atac celebral sau episoade convulsive etc.

Pentru a exemplifica unele dintre tipurile de probleme ce pot fi solutionate apeland la machine learning, am alcatuit un set de studii de caz, dintre care majoritatea sunt rezultatul unor sesiuni interne de training si experimentare in scop didactic, de demonstrare a unor concepte:

Acesta a fost singurul nostru proiect de machine learning dezvoltat in scop comercial pana in momentul de fata. Clientul este un start-up ce ofera platforme de software consulatelor, in scopul de-a oferi cetateinlor posibilitatea de-a aplica pentru vize de la distanta, printr-un proces simplificat.

Abordarea din perspectiva machine learning a venit ca urmare a nevoii de-a scana pasaportul cu ajutorul camera foto a unui dispozitiv mobil (iPad), de a citi informatia automat si de-a introduce informatia recunoscuta (cum ar fi numele si prenumele, data nasterii, tara, numarul de pasaport etc.) in spatiile corespunzatoare din formularul de aplicare pentru viza.

Clientul a solicitat intai un demo al conceptului (“proof of concept” - PoC) aplicatiei mobile pentru iPad, pe care sa-l poata folosi pentru a-si prezenta ideea in fata potentialilor clienti (consulate). Fiind foarte multumit de acest demo, clientul a decis sa colaboreze in continuare cu Roweb pentru implementarea produsului final si a unor produse complementare.

Principalele tehnologii folosita in implementarea aplicatiei mobile de scanare a pasapoartelor au fost:

  • iOS
  • ObjectiveC, C++
  • Tesseract-una din cele mai populare librarii open source pentru recunoasterea optica a caracterelor (optical character recognition - OCR)
  • OpenCV- una din cele mai populare librarii pentru capabilitati vizuale ale computerelor

Unele dintre cele mai dificile provocari pe care le-am depasit in implementarea acestei solutii au fost:

  • recunoasterea optica a caracterelor in diverse conditii de iluminare, de la sub-expunere la supra-expunerea detaliilor din pasaport

Am dezvoltat si implementat un sistem de analiza a sentimentelor capabil sa detecteze automat aspectul predominant pozitiv sau negativ exprimat in recenzii de filme. Am fost interesati in identificarea polaritatii din comentariile utilizatorilor, proiectand sistemul astfel incat sa clasifice recenziile de filme ca fiind fie predominant positive, fie predominant negative.

Componenta principala a software-ului de analiza a sentimentelor a fost algoritmul de machine learning capabil sa invete modelul probabilistic de detectare a polaritatii sentimentelor exprimate in recenzia filmului.

Procesul de invatare a implicat colectarea a 50000 de recenzii etichetate – care aveau asociata o anumita polaritate, exprimata prin numarul de stele acordate de catre utilizator. Au fost folosite urmatoarele tehnologii:

  • C#, C++
  • Support Vector Machines – algoritmul folosit pentru invatarea si detectarea polaritatii sentimentelor
  • LibSVM, LibLinear – librarii C++ pentru implementarea algoritmului Support Vector Machines

Cele mai notabile provocari pe care le-am depasit in dezvoltarea acestei aplicatii au fost:

  • colectarea informatiilor pentru training, cele 50000 de recenzii de film etichetate

Scopul acestei aplicatii a fost sa detecteze daca microcipurile produse intr-o uzina de fabricare indeplineau standardele de calitate.

In timpul testelor de asigurare a calitatii, se efectuau o serie de masuratori asupra fiecarui microcip. Multiplele teste aveau rolul de-a asigura functionarea corecta a microcipului, pe baza relatiilor dintre valorile masuratorilor.

Componenta principala a proiectului a fost algoritmul de clasificare folosit la detectarea microcipurilor nefunctionale pornind de la setul de masuratori ale dispozitivului.

Principalele tehnologii folosite au fost:

  • MATLAB – environment-ul de programare in care a fost implementat software-ul
  • Logistic Regression – algoritmul de clasificare folosit la invatarea modelului probabilistic asociat detectarii disfunctionalitatilor

Scopul acestei aplicatii a fost detectarea si recunoasterea textelor scrise de mana. Cererea pentru astfel de capabilitati a inregistrat o continua crestere in ultimul timp, deoarece ele pot fi aplicate unei game largi de scopuri, de la citirea codurilor postale de pe plicuri, pana la recunoasterea sumelor trecute pe cecuri bancare.

Componenta de baza a acestui proiect a fost algoritmul de clasificare folosit la intelegerea informatiei scrise de mana si traducerea acesteia in reprezentari inteligibile pentru calculatoare. Pentru trainingul modelului de clasificare a fost folosit un corp de 10000 de litere si cifre etichetate.

Principalele tehnologii implicate in realizarea acestei solutii au fost:

  • MATLAB – environment-ul de programare in care a fost implementat software-ul
  • Retele neurale &ndash formalismul de clasificare folosit la invatarea modelului probabilistic de clasificare si recunoastere a cifrelor si literelor scrise de mana

Scopul acestui proiect a fost dezvoltarea unei solutii de filtrare a spamului, care sa poata clasifica cu acuratete emailurile in spam si non-spam.

Componenta principala a proiectului a fost algoritmul de clasificare a spam-ului. Solutia a presupus utilizarea in procesul de invatare a unui corp de 4000 de email-uri etichetate si a implicat urmatoarele tehnologii:

  • MATLAB
  • Support Vector Machines – algoritmul folosit pentru training-ul modelului probabilistic astfel incat sa devina capabil sa clasifice email-urile

Etapa de instruire si clasificare a necesitat implementarea unei serii de proceduri de curatare si normalizare a continutului mesajelor din email-uri, cu scopul de-a inlatura continut ne-exprimat in cuvinte, de-a normaliza URL-urile si adresele de email, aplicand procese de lematizare si reducere la radical a cuvintelor.

TScopul acestei solutii a fost implementarea unui algoritm capabil sa detecteze comportamentul anormal al serverelor, pe baza unei serii de masuratori ale functionalitatii lor (de ex. Transfer, latenta etc.).

Componenta de baza a acestui proiect a fost algoritmul de detectare a nodurilor disfuncionale dintr-un cluster de servere. Principalele tehnologii au fost:

  • MATLAB
  • Invatarea parametrilor unei distributii Gaussiene multivariate – formalismul din spatele sistemului de detectare a anomaliilor

Aceasta solutie a avut drept scop implementarea unui sistem de recomandari de filme bazat pe un set de date de utilizatori, filme si evaluari ale utilizatorilor pentru aceste filme. Evaluarile utilizatorilor au fost exprimate prin acordarea unui scor de 1 pana la 5 stele.

Componenta principal a proiectului a fost algoritmul sistemului de recomandare, capabil sa genereze recomandari de filme specifice gusturilor fiecarui utilizator, pe baza evaluarilor efectuate anterior de catre acesta, precum si pe baza evaluarilor efectuate de catre ceilalti utilizatori. Principalele tehnologii folosite la implementarea acestei solutii au fost:

  • MATLAB – environment-ul de programare in care a fost implementat software-ul
  • Filtrarea colaborativa – algoritmul capabil sa faca predictii automate in legatura cu interesele unui utilizator, colectand informatii despre preferintele unui grup de utilizatori

Cateva proiecte ale noastre

Navigati prin portofoliul nostru dupa tipul solutiei, tehnologie principala sau domeniu de activitate al clientului.


Cere acum o estimare de cost gratuita

Trimite-ne un email la contact@roweb.ro sau completeaza informatiile despre proiectul tau si noi te vom contacta cu o estimare de cost in cel mult 2 zile lucratoare.