izpis_h1_title_alt

Evaluation of binary classification models for the discovery of Software-as-a-Service usage
ID DELEVA, ROSANA (Author), ID Štruc, Vitomir (Mentor) More about this mentor... This link opens in a new window

.pdfPDF - Presentation file, Download (1,92 MB)
MD5: E5F390F1A87B23046E22BD0A3DBBC44C

Abstract
The exponential growth of corporate data necessitates efficient management and analysis. Software-as-a-Service (SaaS) applications have become prevalent, playing a pivotal role in modern business operations. However, accurately identifying SaaS usage within vast data streams remains a challenge. This thesis investigates the efficacy of various machine learning approaches for developing a binary classifier capable of distinguishing SaaS from non-SaaS traffic based solely on textual data strings. The rise of big data within organizations presents both opportunities and challenges. While valuable insights can be gleaned from this data, extracting meaningful information requires robust techniques. SaaS services, with their inherent scalability and ease of use, have become the preferred choice for many business functions. This thesis proposes a novel approach to SaaS service identification by employing machine learning techniques. We will explore the effectiveness of several well-established algorithms, including Naive Bayes (NB) and Support Vector Machines (SVM), alongside cutting-edge transformer models like RoBERTa, XLM- RoBERTa, and the recently unveiled GPT-4. These models are trained on a meticulously curated dataset consisting of labeled text strings, representing both SaaS and non-SaaS traffic. Through rigorous testing and evaluation, we aim to establish the optimal approach for further developing and improving our existing SaaS matching service. Our preliminary investigations suggest promising results, with certain models exhibiting a remarkable ability to differentiate between SaaS and non-SaaS data strings. By identifying the most effective method for developing a binary classifier, this thesis aims to contribute to the advancement of SaaS service identification and reduce the reliance on human intervention that has been necessary thus far.

Language:English
Keywords:Software-as-a-Service, binary classification, natural language processing, text processing, transformer
Work type:Bachelor thesis/paper
Typology:2.11 - Undergraduate Thesis
Organization:FE - Faculty of Electrical Engineering
Year:2024
PID:20.500.12556/RUL-162293 This link opens in a new window
COBISS.SI-ID:208717315 This link opens in a new window
Publication date in RUL:20.09.2024
Views:183
Downloads:1050
Metadata:XML DC-XML DC-RDF
:
Copy citation
Share:Bookmark and Share

Secondary language

Language:Slovenian
Title:Ovrednotenje binarnih razvrščevalnikov za zaznavanje uporabe programske opreme kot storitve
Abstract:
Eksponentna rast korporativnih podatkov zahteva učinkovito upravljanje in analizo. Programska oprema kot storitev (angl. Software as a Service, v nadaljevanju SaaS) igra ključno vlogo v sodobnem poslovanju. Vendar pa natančno razpoznavanje uporabe SaaS v obsežnih tokovih podatkov ostaja izziv. Ta diplomska naloga raziskuje učinkovitost različnih pristopov strojnega učenja za razvoj binarnega klasifikatorja, ki lahko razlikuje med SaaS in ne-SaaS prometom zgolj na podlagi besedilnih podatkovnih nizov. Povečanje obsega velikih podatkov znotraj organizacij prinaša tako priložnosti kot izzive. Medtem ko lahko iz teh podatkov pridobimo dragocene vpoglede, so za luščenje smiselnih informacij potrebni robustni postopki. SaaS storitve so zaradi svoje inherentne skalabilnosti in enostavne uporabe postale prednostna izbira za mnoge poslovne funkcije. Naloga predlaga nov pristop k razpoznavanju SaaS storitev iz tekstovnih podatkovnih nizov z uporabo postopkov strojnega učenja. V nalogi raziščemo učinkovitost več dobro uveljavljenih algoritmov, vključno z postopkom naivnega Bayesa, metodo podpornih vektorjev in najsodobnejšimi transformerji, kot so RoBERTa, XLM-RoBERTa in nedavno predstavljeni GPT-4. Ti modeli so usposobljeni na skrbno pripravljenem naboru podatkov, ki vsebuje označene besedilne nize, ki predstavljajo SaaS in ne-SaaS promet. Najprej smo pregledali obstoječo literaturo in preverili, ali že obstajajo podobne rešitve za podan problem. Med iskanjem sorodnih projektov in rešitev, ki na nek način vsebujejo razvrščanje, oziroma razlikovanje med SaaS in ne-SaaS storitve, smo hitro ugotovili unikatnost našega problema. Medtem ko obstaja veliko študij in orodij za razpoznavanje in priporočanje oblačnih storitev na podlagi potreb strank, se te rešitve večinoma osredotočajo na usmerjanje podjetij pri izbiri ustreznih SaaS storitev iz široke ponudbe na trgu. Vendar pa ne obravnavajo specifičnega izziva, s katerim se ukvarjamo mi – razlikovanje med SaaS in ne-SaaS prometom v podatkovnih tokovih za storitve, ki so že v uporabi znotraj organizacije. Razvoj takšne rešitve bo omogočilo boljše upravljanje podatkov, optimizirano licenciranje in izboljšane varnostne ukrepe. Na ta način bomo organizacijam omogočili boljše razumevanje njihove trenutne SaaS infrastrukture in uporabe, kar bo vodilo do učinkovitejših poslovnih odločitev in konkurenčne prednosti. V diplomski nalogi opišemo uporabljeno metodologijo ter mere uspešnosti, ki jih uporabljamo za iskanje najučinkovitejšega pristopa za našo klasifikacijo. Predstavljamo sestavljen nabor podatkov, vključno z njegovo kompleksnostjo in težavami, s katerimi se soočamo. V naboru podatkov, ki vsebuje veliko šuma in včasih nerazumljivih delov, posebej poudarjamo potrebo po predobdelavi oziroma čiščenju besedilnih nizov, kar vključuje odstranjevanje ločil, nealfanumeričnih simbolov in vzorcev, ki ne prinašajo prave vrednosti za naše raziskovanje. Prav tako izpostavljamo pomen vektorizacije, s katero besedilne nize pretvorimo v obliko, ki jo računalnik lahko razume in obdeluje. Vektorizacija omogoča, da besedila predstavimo kot številčne vrednosti, kar je ključno za uporabo metod strojnega učenja pri klasifikaciji podatkov. Predstavjamo več metod, ki so široko uporabljene za klasifikacijo besedil. Te vključujejo preproste matematične in statistične modele kot tudi bolj kompleksne modele, imenovane Veliki Jezikovni Modeli, ki temeljijo na arhitekturi modela transformerja, ki omogoča učinkovito obdelavo in razumevanje naravnega jezika. Naš cilj je testirati te metode, in ugotoviti, kateri pristop je najbolj primeren za natančno razpoznavanje SaaS v podatkovnih tokovih. S tem celovitim pristopom želimo zagotoviti, da bo naš razvrščevalnik čim bolj robusten in zanesljiv. Prvi korak po predobdelavi in vektorizaciji je razdelitev nabora podatkov na učni in testni del v razmerju 80/20. Učni nabor, ki predstavlja 80% podatkov, je uporabljen za treniranje modelov strojnega učenja, medtem ko je testni nabor, ki predstavlja preostalih 20%, uporabljen za ocenjevanje njihove učinkovitosti. Uporabili smo tudi metodo navzkrižne validacije (angl. cross validation), kjer bomo nabor podatkov razdelili na več podnaborov, v našem primeru 10. Model bomo trenirali večkrat, vsakič z drugačnim podnaborom kot testnim delom, kar bo omogočilo robustnejšo oceno učinkovitosti modela in zmanjšalo možnost prekomernega prileganja (angl. overfitting). Namesto navzkrižne validacije, pri Velikih Jezikovnih Modelih uporabljamo epohe, pri čemer vsaka epoha uporabi premešano različico nabora podatkov. To pomeni, da je med vsako epoho model treniran na celotnem učnem naboru podatkov, vendar z različnim vrstnim redom paketov (angl. batches). Ta pristop nam omogoča oceno učinkovitosti modela na različnih delih podatkov in zmanjšuje tveganje, da bi se model prilegal le določenemu podnaboru. Rezultati med različnimi epohami nam omogočajo spremljanje napredka modela in prilagajanje hiperparametrov za izboljšanje njegove uspešnosti. Poleg tega še vedno uporabljamo metodo validacije, da ocenimo končno učinkovitost modela na testnem naboru podatkov. Prav tako analiziramo verjetnosti za vsak klasificiran vzorec, da bi ugotovili, kje določen model naleti na težave pri klasifikaciji. Za ocenjevanje uspešnosti modelov uporabljamo različne kazalnike uspešnosti, kot so natančnost (angl. accuracy), konfuzijske matrike (angl. confusion matrices), Matthewsov korelacijski koeficient (MCC) in površina pod krivuljo ROC (ROC AUC). Kazalniki uspešnosti nam omogočajo celovit vpogled v delovanje modelov in primerjavo njihovih rezultatov. S primerjavo teh metrik bomo lahko določili, kateri model je najbolj primeren za natančno klasifikacijo SaaS in ne-SaaS podatkovnih nizov. Skozi testiranje in ovrednotenje želimo ugotoviti optimalen pristop za klasifikacijo SaaS storitev. Naše preliminarne raziskave kažejo obetavne rezultate, saj nekateri modeli izjemno dobro razlikujejo med SaaS in ne-SaaS podatkovnimi nizi. Ta raziskava ima potencial znatno izboljšati vidnost uporabe SaaS v organizacijah, kar vodi do boljšega upravljanja podatkov, optimiziranih licenčnih praks in izboljšanih varnostnih ukrepov. S uspešnim razvojem robustnega in učinkovitega binarnega klasifikatorja bo ta naloga prispevala k napredku razpoznavanja SaaS storitev in hkrati zmanjšala odvisnost od človeškega posredovanja, ki je bilo doslej potrebno. Pridobljeni vpogledi bodo organizacijam omogočili, da v celoti izkoristijo svoj SaaS ekosistem, kar bo posledično vodilo k boljšemu odločanju in konkurenčni prednosti.

Keywords:programska oprema kot storitev, binarna klasifikacija, obdelava naravnega jezika, transformerji za strojno učenje

Similar documents

Similar works from RUL:
Similar works from other Slovenian collections:

Back