Отпремање презентације траје. Молимо да сачекате

Отпремање презентације траје. Молимо да сачекате

Klasifikacija tekstualnih dokumenata

Сличне презентације


Презентација на тему: "Klasifikacija tekstualnih dokumenata"— Транскрипт презентације:

1 Klasifikacija tekstualnih dokumenata
Multimedijalni sistemi Elektrotehnički fakultet Univerzitet u Banjoj Luci

2 Stojeći upiti Put od pronalaženja informacija do klasifikacije
Postoji kontinuirana informaciona potreba, npr. Upit: Obrada prirodnog jezika

3 Stojeći upiti Put od pronalaženja informacija do klasifikacije
Postoji kontinuirana informaciona potreba, npr. Upit: Obrada prirodnog jezika Potrebno je periodično zadati ovaj upit da bi se pronašle nove informacije vezane za temu – rezultati su novi dokumenti Inverzni pristup: provjerava se da li je novi dokument relevantan za zadatu temu – problem klasifikacije: relevantan ili nije relevantan Ovakvi upiti se nazivaju stojeći upiti Primjer: Google Alerts Ručno formiran klasifikator tekstualnih dokumenata

4 Chris Manning, Pandu Nayak and Prabhakar Raghavan
Introduction to Information Retrieval Chris Manning, Pandu Nayak and Prabhakar Raghavan 3

5 Šta je klasifikacija/kategorizacija?

6 Klasifikacija Na osnovu atributa (obilježja) ulaznog uzorka predvidjeti klasu kojoj uzorak pripada Primjeri Detekcija spama (ulaz: dokument, klase: spam/ham) OCR (ulaz: slika, klase: znakovi) Klasifikacija muzike po žanrovima (ulaz: kompozicija, klase: žanrovi) Medicinska dijagnostika (ulaz: simptomi, klase: bolesti) Automatsko ocjenjivanje studentskih radova (ulaz: rad, klase: ocjene) Detekcija bankovnih prevara (ulaz: aktivnosti na računu, klase: prevara/nije prevara) Detekcija sadržaja za odrasle (ulaz: video/slika/tekst, klase: oznake uzrasta) ...

7 Klasifikacija u pretraživanju baza punog teksta
Predobrada (automatska detekcija kodovanja, jezika, segmentacija riječi,...) Detekcija spam stranica Detekcija seksualno eksplicitnog sadržaja Detekcija osjećanja Klasifikacija poruka elektronske pošte Vertikalna pretraga Učenje funkcije rangiranja Vertikalna pretraga se odnosi na pretraživanje specifičnog segmenta sadržaja, naročito online sadržaja. Područje pretrage se može odnositi na određenu temu, tip medija ili žanr sadržaja. Često korištene vertikale su: trgovina, medicinske informacije, naučna literatura, putovanja, itd.

8 Filtriranje spama Subject: discover you made money while you were sleeping aaer xchxa you must read this word for word ! information that you may not receive again so please take it seriously ! ! would you like to receive thousands in cash daily ? Subject: re : milan waterproof , stainless steel material , sapphire crystal surface and other lovely features bring you sheer feeling for luxury . wearing rollexes is stylish . wearing our rollexes is smart and stylish . Subject: work distribution logistics has made the following changes : bob cotten - will handle the wellhead portfolio ( currently handled by tom acton ) tom acton - will handle gulf energy , entex , copano , sempra , and the rest of george grant ' s desk

9 Klasifikacija – formalna definicija
Data je reprezentacija dokumenta xX reprezentacija u vektorskom prostoru npr. skup riječi Dat je fiksan skup klasa C = {c1, c2,…, cJ} Odrediti kojoj klasi pripada dati dokument f(x)C f:X C je klasifikator ili klasifikaciona funkcija Dokument pripada samo jednoj klasi

10 Metodi klasifikacije Kako klasifikovati uzorke (dokumente)?

11 Metodi klasifikacije Kako klasifikovati uzorke (dokumente)?
Ručna klasifikacija Pravila, pravila,... Mašinsko učenje

12 Metodi klasifikacije 1. Ručna klasifikacija
Kako se implementira? Dobre i loše strane?

13 Metodi klasifikacije 1. Ručna klasifikacija
Ručnu klasifikaciju dokumenata koriste biblioteke Baze naučnih informacija: PubMed ( Yahoo je koristio ručnu klasifikaciju veb stranica u ranim danima veba Kasnije i Open Directory Project Vrlo tačna kada je rade eksperti Konzistentna kada su veličina problema i tima mali Spora, skupa i teška za skaliranje Treba tražiti automatske metode

14 Metodi klasifikacije 2. Pravila, pravila,...
Kako se implementira? Dobre i loše strane?

15 Metodi klasifikacije 2. Pravila, pravila,...
Eksperti u određenim oblastima formiraju pravila na osnovu kojih se uzorci klasifikuju Pravila često sadrže predikate zadate Bulovim izrazima ako su prisutne određene riječi klasifikuj dokument u jednu od klasa Postoje razvojna okruženja za efikasno formiranje složenih pravila (npr. Verity Query Language) Moguće je postići visoku tačnost ako eksperti vremenom dorađuju pravila Implementacija i održavanje sistema su skupi Kako formirati pravila za klasifikaciju audio ili video snimaka?

16 Metodi klasifikacije 3. Mašinsko učenje
Kako se implementira? Dobre i loše strane? Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

17 Metodi klasifikacije 3. Mašinsko učenje
Model klasifikatora Određuje strukturu klasifikatora Bira se na osnovu poznavanja domena primjene Prilagođava se konkretnom problemu podešavanjem parametara modela Obučavanje klasifikatora Estimacija vrijednosti parametara na osnovu raspoloživih podataka Nadgledano obučavanje Poznata pripadnost klasama podataka koji se koriste za obučavanje Nenadgledano obučavanje Ne postoji informacija o pripadnosti klasama Otkrivanje strukture i skrivenih koncepata u podacima Mašinsko učenje je dio vještačke inteligencije Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

18 Metodi klasifikacije 3. Mašinsko učenje
Model klasifikatora Funkcija odlučivanja Parametri modela prilagođavaju klasifikator konkretnom zadatku Određuju se u procesu obučavanja klasifikatora Hiperparametri utiču na strukturu, obučavanje i rad klasifikatora Moraju se definisati prije obučavanja klasifikatora Ovim ćemo se baviti malo više. Klasifikatori često imaju parametre koje je potrebno naučiti, npr. vjerovatnoće da dokumenti pripadaju klasama. Nekada je potrebno naučiti i strukturu problema – šta je važno za klasifikaciju. Ukoliko raspoloživi podaci nisu označeni potrebno je koristiti nenadgledano obučavanje da bi se otkrili skriveni koncepti.

19 Osnovni koncepti obučavanja klasifikatora Podaci
Potrebno je prikupiti označene primjere, npr. imejl poruke označene kao spam/ham Trening skup Obučavanje klasifikatora Modelovanje podataka Validacioni skup Provjera i podešavanje hiperparametara Testni skup Evaluacija klasifikatora Ne smije se koristiti u prethodna dva koraka Obilježja: parovi atribut-vrijednost koji karakterišu primjere Primjeri u trening skupu treba da, pored reprezentacije dokumenta, sadrže i oznaku klase kojoj pripadaju. Za ovo je takođe potrebna ljudska intervencija, ali zadatak ručne klasifikacije dokumenata je znatno jednostavniji od formiranja pravila za klasifikaciju i ne zahtijeva angažovanje eksperta.

20 Primjer Klasifikacija tema
Dokumentima je potrebno dodijeliti oznake tema o kojima govore. Klase su teme. U ovom primjeru postoji hijerarhijska organizacija tema, ali generalno ćemo smatrati da između klasa ne postoji nikakva relacija oblika podskup i da su klase disjunktne. Konkretno, u ovom primjeru smatraćemo da su klase teme na drugom nivou. Dati su dokumenti na osnovu kojih se obučava klasifikator: trening skup. Prikazana su po tri primjera sa po nekoliko riječi u svakom dokumentu. Potrebno je obučiti klasifikator koji će klasifikovati novi dokument d’. Obilježja su u ovom slučaju riječi, a reprezentacija je skup riječi.

21 Osnovni koncepti obučavanja klasifikatora
Obučavanje klasifikatora Estimirati (naučiti) parametre tako da tačno klasifikuje trening uzorke Najčešće aktivnost koja se provodi prije korištenja klasifikatora u produkciji Testiranje Ocijeniti performanse klasifikatora na testnom skupu Ne smije biti korišten u prethodnim koracima! Na osnovu rezultata koje klasifikator postiže na validacionom skupu podesiti njegove parametre.

22 Osnovni koncepti obučavanja klasifikatora Testiranje
Ocijeniti performanse klasifikatora Tačnost: Procenat tačno klasifikovanih uzoraka Vjerovatnoća greške Generalizacija Želimo da klasifikator pokaže dobre rezultate na testnom skupu – novim podacima Previše prilagođen model (overfitting): dobri rezultati na trening skupu, ali loši na testnom skupu – slaba generalizacija Složen model i malo trening uzoraka Premalo prilagođen model (underfitting): loši rezultati i na trening i na testnom skupu Nedovoljno složen model Podaci iz testnog skupa se ne smiju koristiti pri obučavanju klasifikatora. Trivijalno se postižu idealne performanse na trening skupu, npr. pamćenjem svih trening primjera.

23 Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda

24 Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda

25 Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda Previše prilagođen model!

26 Generalizacija Polinomijalna interpolacija – modelovanje podataka polinomom datog reda Premalo prilagođen model!

27 Eksperimentalni ciklus klasifikatora
Obučavanje klasifikatora Provjera i podešavanje hiperparametara Podesiti hiperparametre koristeći performanse klasifikatora na validacionom skupu Testiranje klasifikatora Sva tri skupa moraju biti disjunktna Izbjegavati podešavanje hiperparametara na osnovu perfomansi na testnom skupu

28 Obilježja Parovi atribut – vrijednost opisuju osobine uzorka Atributi
nominalni: simboli iz konačnog skupa (riječi, vremenske prilike, poštanski brojevi) numerički: brojne vrijednosti (cijeli, realni, kompleksni brojevi) Koristićemo numeričke atribute Reprezentacija uzorka vektorom numeričkih atributa – vektor obilježja Vektori obilježja pripadaju prostoru obilježja

29 Klase u vektorskom prostoru
Prikazani su uzorci u dvodimenzionalnom prostoru Uzorci iz trening skupa za koje su poznate oznake pripadnosti klasama U stvarnoj aplikaciji prostor je po pravilu više dimenzionalnosti Ali, princip je isti

30 U koju klasu svrstati testni uzorak?
Potrebno je testni uzorak klasifikovati u jednu od ponuđenih klasa Algoritam zavisi od izabranog klasifikatora Postoji veliki broj algoritama za klasifikaciju

31 Pretpostavke Pretpostavka 1: Dokumenti iz iste klase formiraju region u prostoru obilježja Pretpostavka 2: Nema preklapanja između regiona koji odgovaraju različitim klasama

32 Granica odlučivanja Potrebno je pronaći granice koje dijele prostor obilježja u regione koji odgovaraju različitim klasama Granice su obično hiperpovrši u visokodimenzionalnom prostoru Obučavanje klasifikatora je potraga za takvim granicama odlučivanja koje će rezultovati dobrom klasifikacijom novih primjera

33 U koju klasu svrstati testni uzorak?
Potrebno je testni uzorak klasifikovati u jednu od ponuđenih klasa Algoritam zavisi od izabranog klasifikatora Postoji veliki broj algoritama za klasifikaciju

34 NN klasifikator Klasifikator na principu najbližeg susjeda (Nearest Neighbor – NN) Testni uzorak se svrstava u klasu kojoj pripada najsličniji primjer iz trening skupa (označeni primjer) Sličnost primjera se ocjenjuje nekom mjerom udaljenosti/sličnosti u vektorskom prostoru NN klasifikator zapravo nema fazu obučavanja pa ni termin “trening skup” nije u potpunosti prikladan. Zbog toga se negdje koristi termin “skup označenih primjera”. U stvari nije bitno, zna se na šta se misli.

35 NN klasifikator Granica odlučivanja
NN klasifikator zapravo nema fazu obučavanja pa ni termin “trening skup” nije u potpunosti prikladan. Zbog toga se negdje koristi termin “skup označenih primjera”. U stvari nije bitno, zna se na šta se misli.

36 NN klasifikator Kojoj klasi pripada testni primjer?
Najbliži trening primjer može biti pogrešno označen ili netipičan pa NN klasifikator nije pretjerano robustan. Zbog toga se često koristi više susjeda.

37 kNN klasifikator Klasifikator na principu k najbližih susjeda (k-Nearest Neighbor – kNN) Testni uzorak se svrstava u klasu kojoj pripada većina od k najbližih susjeda Najbliži trening primjer može biti pogrešno označen netipičan pa NN klasifikator nije pretjerano robustan. Zbog toga se često koristi više susjeda.

38 kNN klasifikator Testni uzorak se svrstava u klasu kojoj pripada većina od k najbližih susjeda Zašto ovo radi? Pretpostavljamo da je klasa kojoj pripada testni uzorak ista kao klase uzoraka koji su mu najsličniji k = 1 daje NN klasifikator Nekad daje dobre rezultate Nije robustan jer jedan dokument može biti netipičan ili pogrešno klasifikovan k > 1 je robusnije rješenje jer k najbližih susjeda glasa za klasu Manji uticaj usamljenog trening primjera kNN klasifikator je izuzetno jednostavan. Složeniji klasifikatori: Bejsov klasifikator, logistička regresija, stabla odlučivanja, SVM obično daju bolje rezultate.

39 Linearni klasifikator
Neka je dokument predstavljen vektorom x=[x1 x2 ... xN]T npr. vektorska reprezentacija dokumenta (TF-IDF) Dvije klase – pozitivna (c1) i negativna (c2) – binarni klasifikator Linearni klasifikator računa linearnu kombinaciju vrijednosti obilježja – funkcija klasifikatora

40 Linearni klasifikator
Odluka se donosi na osnovu poređenja sa pragom odlučivanja Težine wk i prag odlučivanja q su parametri čije se vrijednosti određuju tokom obučavanja na osnovu primjera iz trening skupa. Često se prag odlučivanja uključuje u vektor težina klasifikatora: Novi prag odlučivanja je nula.

41 Granica odlučivanja Geometrijski granica odlučivanja kod linearnog klasifikatora je prava (2D), ravan (3D) ili hiperravan (višedimenzionalni prostor) Klase su linearno separabilne ako se uzorci mogu tačno klasifikovati linearnim klasifikatorom

42 Kako odrediti granicu odlučivanja?
Treba tačno klasifikovati trening uzorke Želimo dobru generalizaciju Uvodi se dodatni kriterijum optimalnosti Postoji veliki broj algoritama za obučavanje linearnih klasifikatora: najmanji kvadrati, Bejsovo pravilo, pravilo perceptrona, mašine sa vektorima nosačima, logistička regresija Bayesov klasifikator je linearni klasifikator.

43 Mašine sa vektorima nosačima Support Vector Machine (SVM)
Želimo da obučimo klasifikator tako da postiže dobru generalizaciju SVM traži optimalnu granicu odlučivanja Kriterijum kod SVM je da granica odlučivanja bude maksimalno udaljena od trening primjera Udaljenost najbližih primjera od granice odlučivanja naziva se margina klasifikatora Želimo da maksimiziramo marginu Granica (funkcija) odlučivanja zavisi od malog broja trening primjera – vektori nosači (support vectors) Ostali primjeri ne utiču na granicu odlučivanja

44 Maksimizacija margine klasifikatora
Kada se uzorak nalazi blizu granice odlučivanja onda odluka o njegovoj klasifikaciji postaje vrlo osjetljiva na šum. Ako imamo veliku marginu odlučivanja onda smanjujemo mogućnost da se uzorak nađe blizu granice odlučivanja.

45 Formalna postavka problema maksimizacije margine
Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće?

46 Formalna postavka problema maksimizacije margine
Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće?

47 Formalna postavka problema maksimizacije margine
Trening uzorci Binarni klasifikator Linearno separabilne klase Funkcija odlučivanja Funkcionalna margina trening uzorka Odrediti težine tako da funkcionalne margine trening uzoraka budu što veće? Problem: Skaliranjem w i b funkcionalna margina se može učiniti proizvoljno velikom – previše prilagođen model

48 Formalna postavka problema maksimizacije margine
Potrebno je ograničiti vrijednosti elemenata w Regularizacija klasifikatora Udaljenost uzorka od granice odlučivanja Geometrijska margina je maksimalna širina opsega kojim je moguće razdvojiti vektore nosače za dvije klase

49 SVM matematika Funkcionalna margina se može proizvoljno skalirati
Pretpostavimo da je veća ili jednaka 1 za svaki uzorak iz trening skupa (jednakost za vektore nosače) Za vektore nosače je udaljenost od granice odlučivanja Margina klasifikatora

50 Optimizacija Želimo da maksimizujemo geometrijsku marginu
I da tačno klasifikujemo trening uzorke Ekvivalentno, minimizujemo funkciju pod uslovom Lagranžova funkcija Problem kvadratnog programiranja (Quadratic Programming, QP) D je trening skup. Kvadratno programiranje je poznata klasa optimizacionih problema, dobro je istraženo u matematici i postoji mnogo algoritama za njegovo rješavanje. Međutim, postoje i efikasni algoritmi koji su prilagođeni problemu obučavanja SVM i koriste specifičnu strukturu QP problema koji se javlja u ovom kontekstu. Postoje efikasne biblioteke kojima je implementirana SVM, npr. LIBSVM (

51 Atipični uzorci Odstupaju od generalne raspodjele uzoraka iz klase
Narušeni šumom, pogrešno označeni, manjkav model podataka

52 Klasifikacija sa mekom marginom
Sec Klasifikacija sa mekom marginom Dozvoljava se pogrešna klasifikacija nekih primjera Za svaku grešku u klasifikaciji se plaća određena cijena Smatramo da se atipičan uzorak pomjera za iznos određen korekcionom promjenljivom kako bi trening skup postao linearno separabilan

53 Klasifikacija sa mekom marginom Optimizacija
Sec Klasifikacija sa mekom marginom Optimizacija Minimizuje se funkcija pod uslovom Parametar C je regularizacioni član Kontroliše se sposobnost generalizacije

54 Regularizacija Velika vrijednost C (=100)

55 Regularizacija Mala vrijednost C (=1)

56 Rješenje optimizacionog problema
Vektor težina Koeficijenti αi su različiti od nule samo za vektore nosače

57 Klasifikacija pomoću SVM
Sec. 15.1 Klasifikacija pomoću SVM Vrijednost funkcije klasifikatora Poređenje sa pragom Može se postaviti prag t -1

58 Linearno neseparabilne klase

59 Linearno neseparabilne klase
Preslikavanje u prostor više dimenzionalnosti u kojem su klase linearno separabilne

60 Linearno neseparabilne klase
Funkcija klasifikatora Nije potrebno eksplicitno preslikavanje uzoraka Dovoljno je naći kernel funkciju čija je vrijednost jednaka skalarnom proizvodu vektora više dimenzionalnosti SVM sa kernel funkcijom

61 Kerneli Zašto koristiti kernele? Često korišteni kerneli
Sec Kerneli Zašto koristiti kernele? Linearno neseparabilan problem postaje separabilan. Podaci se implicitno preslikavaju u prostor sa boljom reprezentacijom Često korišteni kerneli Linearni Polinomijalni Daje konjunkcije obilježja Gausov kernel (radijalna bazna funkcija) Nije posebno koristan u klasifikaciji teksta, ali jeste u klasifikaciji slika

62 Nelinearna granica odlučivanja
Gausov kernel

63 Kako klasifikovati podatke u više od jedne klase?
Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

64 Kako klasifikovati podatke u više od jedne klase?
Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

65 Klasifikacija u više klasa pomoću linearnog klasifikatora
Pretpostavka: klase su međusobno isključive Pretpostavka: uzorak pripada samo jednoj klasi

66 Klasifikacija u više klasa pomoću linearnih klasifikatora
Za svaku od klasa obučiti klasifikator pri čemu se u trening skupu uzorci iz te klase smatraju pozitivnim, a uzorci iz svih ostalih klasa negativnim Na testni dokument primjeniti pojedinačno svaki od ovih klasifikatora Dokument klasifikovati u klasu kojoj odgovara najveća sigurnost klasifikacije (npr. udaljenost od granice odlučivanja)

67 Kako klasifikovati podatke u više od jedne klase?
Do sada smo razmatrali binarne klasifikatore. Međutim, često se susrećemo sa potrebom da uzorak klasifikujemo u jednu od više (>2) ponuđenih klasa. Pretpostavljamo da su klase međusobno isključive.

68 Ishodi predikcije binarnim klasifikatorom
Predikcija pozitivna negativna Stvarna klasa TP FN FP TN TP – true positive (tačno pozitivni) FN – false negative (lažno negativni) FP – false positive (lažno pozitivni) TN – true negative (tačno negativni)

69 Mjere efektivnosti klasifikatora
Tačnost Udio tačno pozitivnih uzoraka (true positive rate, recall) Udio tačno negativnih uzoraka (true negative rate) Udio lažno pozitivnih uzoraka (false positive rate) Preciznost F1 mjera

70 PR dijagram

71 Radna karakteristika prijemnika (Receiver Operating Characteristic, ROC)

72 Klasifikacija u više klasa
Matrica konfuzija Predikcija a b c Ukupno Stvarna klasa 88 10 2 100 14 40 6 60 18 12 120 20

73 Tačnost klasifikatora
Mikrousrednjavanje Tačnost = suma dijagonalnih elemenata / suma svih elemenata Tačnost = 140 / 200 = 0,70 Makrousrednjavanje Tačnost = srednja vrijednost tačnosti po klasama Tačnost = (88/ / /40) /3 = 0,62

74 Koji klasifikator upotrebiti za dati problem?
Ne postoji optimalan klasifikator za sve probleme klasifikacije Faktori koje treba uzeti u obzir: Složenost problema (linearna ili nelinearna granica odlučivanja) Koliko je podataka na raspolaganju za obučavanje? Koliko su podaci narušeni šumom? Koliko je problem stabilan u vremenu? Za nestabilne probleme bolje je koristiti jednostavnije i robusnije klasifikatore Odluke se donose heuristički, evaluacijom na validacionom skupu

75 Šta je šta? Šta su trening/validacioni/testni podaci?
Koju mjeru efektivnosti koristiti? Koji model klasifikatora izabrati? Koji hiperparametri postoje Koji parametri postoje? Kako ih optimizovati?

76 Filtriranje spama Subject: discover you made money while you were sleeping aaer xchxa you must read this word for word ! information that you may not receive again so please take it seriously ! ! would you like to receive thousands in cash daily ? Subject: re : milan waterproof , stainless steel material , sapphire crystal surface and other lovely features bring you sheer feeling for luxury . wearing rollexes is stylish . wearing our rollexes is smart and stylish . Subject: work distribution logistics has made the following changes : bob cotten - will handle the wellhead portfolio ( currently handled by tom acton ) tom acton - will handle gulf energy , entex , copano , sempra , and the rest of george grant ' s desk

77 Klasifikator spama Binarni klasifikator poruka elektronske pošte
Klase spam (1) i ham (0) Da bi se obučio klasifikator potrebno je prikupiti reprezentativne uzorke poruka iz obje klase

78 Pretprocesiranje poruka
Tipični koraci pretprocesiranja: Pretvaranje u mala slova Uklanjanje HTML tagova Normalizacija URL-ova (zamjena sa npr. ‘httpaddr’) Normalizacija adresa (‘ addr’) Normalizacija brojeva (zamjena sa npr. ‘number’) Znak za dolar (zamjena sa ‘dollar’) Uklanjanje sufiksa (stemming) Uklanjanje znakova koji nisu dijeovi riječi

79 Pretprocesiranje poruka

80 Formiranje rječnika Na osnovu pretprocesiranih poruka iz trening skupa formira se rječnik U rječnik se mogu uključiti svi termini, a mogu se i filtrirati npr. na osnovu broja pojavljivanja

81 Vektorska reprezentacija dokumenta
Korištenjem rječnika svaka poruka se može preslikati u listu indeksa termina u rječniku Vektorska reprezentacija poruke je vektor čiji su elementi brojevi pojavljivanja odgovarajućeg termina u poruci Može se koristiti i binarna reprezentacija – indikator da li se termin javlja u poruci Dimenzionalnost reprezentacije je jednaka broju termina u rječniku

82 Obučavanje klasifikatora
Pretprocesirati poruke iz trening skupa Izdvojiti sve termine iz poruka iz trening skupa Formirati rječnik od termina koji zadovoljavaju određeni kriterijum za uključivanje u rječnik Formirati vektorske reprezentacije poruka iz trening skupa korištenjem rječnika Obučiti klasifikator korištenjem primjera iz trening skupa. Odrediti optimalne vrijednosti hiperparametara korištenjem validacionog skupa.

83 Klasifikacija poruke Pretprocesirati poruku (na isti način kao poruke iz trening skupa) Formirati vektorsku reprezentaciju korištenjem rječnika formiranog pomoću trening skupa Odrediti klasu kojoj poruka pripada korištenjem obučenog klasifikatora

84 Primjer klasifikacije
Enron-Spam kolekcija poruka Enron1 skup 3672 legitimne poruke 1500 neželjene poruke (spam) Podjela na trening i test skup po 50% poruka iz svake klase SVM klasifikator

85 Uticaj načina formiranja rječnika na tačnost klasifikacije
1 pojavljivanje – puna linija, 10 pojavljivanja – crtkana linija, 50 pojavljivanja – tačkasta linija

86 Performanse klasifikatora
AUC = 0,9929

87 Literatura Glava 14


Скинути ppt "Klasifikacija tekstualnih dokumenata"

Сличне презентације


Реклама од Google