Si funksionon Ciceroni?
Mbledhja dhe përgatitja e teksteve
Teksti nga korpuset e fundit 24 orëve futet në IA-në. Hapat fillestarë përfshijnë pastrimin e të dhënave. Qëllimi është të zbatojmë disa teknika të Përpunimit të Gjuhës Natyrore (NLP) për të sjellë të dhënat në një format të duhur. Këto transformime përfshijnë: heqjen e fjalëve të zakonshme (stop words), rrënjësimin e fjalëve, heqjen e numrave, shndërrimin e të gjitha teksteve në shkronja të vogla dhe kontrollin e cilësisë. E gjitha kjo është relativisht e thjeshtë në anglisht (ekzistojnë shumë biblioteka), por për shqipen na është dashur t'i zhvillojmë këto funksione nga fillimi, gjë që kërkon shumë punë manuale dhe kohë. Funksionet nuk janë të përsosura, por qëllimi është t'i përmirësojmë dhe t'i publikojmë si punën tonë. Një mendim për të ardhmen është se kjo do të jetë e rëndësishme për modelin BERT që dëshirojmë të trajnojmë për analizë ndjenjash në gjuhën shqipe.
Pasi kemi tekstin e pastër, duhet ta transformojmë në një formë matematikisht të kuptueshme, në fjalë të tjera, bëjmë shndërrimin në vektorë. Kjo do të thotë se tokenizojmë çdo fjalë nga të dhënat e pastruara dhe i japim një vlerë numerike. Për ta kuptuar më lehtë këtë: imagjinoni fjalë si grua, madhështi, mbretëreshë; shndërrimi në vektorë do të jepte mundësinë të thoshim grua + madhështi = mbretëreshë. Por ky transformim në hapësirën e vektorëve nuk është i mjaftueshëm. Pa një model gjuhe, duhet të gjejmë një zgjidhje alternative, që e kemi arritur. Këtu prezantojmë llogaritjen e frekuencës së termave. Ne ndërrojmë pak kuptimin e artikujve të lajmeve dhe tani i quajmë dokumente. Detyra kryesore është gjetja e dokumenteve të ngjashme (mjaftueshëm e thjeshtë). Kjo është një detyrë shumë e vjetër, që daton që në vitet 1970, ndaj algoritmet për këtë janë të njohura dhe funksionojnë shumë mirë. Një algoritëm jashtëzakonisht popullor është TF-IDF. Algoritmi merr dokumentin dhe llogarit frekuencën e një fjale në atë dokument dhe pastaj krahason dokumentet e tjera që kanë një frekuencë të ngjashme të asaj fjale, ndaj heqja e fjalëve të zakonshme është jashtëzakonisht e rëndësishme.
Kategorizimi dhe grupimi i lajmeve
Tani arrijmë në pjesën ku kemi tekst të pastër, i cili është përfaqësuar matematikisht. Hapi tjetër është që AI të aplikojë disa teknika të të mësuarit të pakontrolluar të makinës dhe të përfitojë kuptim nga të dhënat. Teknikat që kemi provuar janë si më poshtë (për më shumë detaje, kontaktoni me mua pasi është shumë për të shkruar këtu): Analiza e Komponentëve të Pavarur (ICA), Analiza e Komponentëve Kryesorë (PCA), Shpërndarja e Afinitetit, Harta Vetëorganizimi (SoMs), Klastërizimi K-Means, Klastërizimi Hapësinor i Bazuar në Dendësi (DBScan), Klastërizimi Hierarkik i Grumbullimit, dhe Klastërizimi i Grumbullimit. Supozimet fillestare ishin që PCA dhe HAC do ta zgjidhnin problemin, por pastaj provova PCA me DBScan, që dha rezultate shumë më të mira. Gjithashtu, kushdo që lexon këtë duhet të dijë se PCA është për vizualizim pasi nuk ofron etiketat e klasterit, ndërsa HAC ose DBScan ofrojnë etiketat që, kur vendosen mbi PCA, japin një paraqitje vizuale të mirë të të dhënave tuaja. Kjo është e rëndësishme pasi si ndryshe mund të shikoni mijëra klastra dhe të vlerësoni manualisht cilësinë e tyre. Gjithsesi, k-means nuk është shumë logjike, pasi nuk e dimë sa klastra do të kemi. Gjëja e fundit për t'u eksploruar janë Shpërndarjet e Afinitetit këto janë shumë premtuese, por nuk jam i sigurt nëse funksionojnë për të dhëna tekstuale.