Semnar d sstem nformatc Text Categorzaton metodologa d apprendmento medante approcc statstc e ret neuronal artfcal Claudo Bancalana 1 Contatt Claudo Bancalana c.bancalana@opennformatca.org 2
Informaton Retreval IR Indczzazone e rcerca d document testual Rcerca d pagne sul web Obettvo prncpale è la rcerca effcace d document rlevant Obettvo secondaro è la rcerca effcente tra un nseme vasto d document 3 Input: Obettv IR Un nseme d document testual scrtt n lnguaggo naturale. Una strnga rapprensentante una query. Output: Un nseme d document ordnat n base alla loro rlevanza alla query. 4
Sstema IR Inseme Document Strnga d Query Sstema IR Document Rlevant 1. Doc1 2. Doc2 3. Doc3.. 5 Archtettura d un sstema IR Necesstà Dell utenza Interfacca Utente Operazon sul testo Vsta logca Testo Feedback Operazon d query Indczzazone Manager Della BD Query Searchng Indce Docs ordnat Rankng Docs rlevat Text Database 6
Input: Categorzzazone Una descrzone d una stanza, x X, dove X è l stanza lnguaggo o spazo dell stanza. Un numero fssato d categore: C={c 1, c 2, c n } Output: La categora d x: cx C, dove cx è una funzone d catgorzzazone che ha come domno X e come codomno C. 7 Imparare per categorzzare Un esempo d apprendmento per una stanza x X, accoppata con la sua categora cx: <x, cx> con una sconoscuta funzone d categorzzazone, c. Sa dato un nseme d esemp d apprendmento, D. Trovare una potzzata funzone d categorzzazone, hx, tale che: < x, c x > D : h x = c x Consstenza 8
Category Learnng Problem esempo Istanza d lnguaggo: <grandezza, colore, forma> grandezza {small, medum, large} colore {rosso, blu, verde} forma {quadrato, cercho, trangolo} C = {postvo, negatvo} D: Esempo Grand. Colore Forma Categora 1 small rosso cercho postvo 2 large rosso cercho postvo 3 small rosso trangolo negatvo 4 large blu cercho negatvo 9 Text Categorzaton Assegnare document ad un nseme fssato d categore. Applcazon: Pagne web Recommendng Classfcazon Yahoo! Messagg su Newsgroup Recommendng Fltraggo spam Artcol Gornal personalzzat Emal Routng Prortzng Folderzng Fltraggo spam 10
Algortm d apprendmento Lo svluppo manuale d una funzone d text categorzaton è dffcle. Algortm per l apprendmento: Bayesan naïve Ret neuronal Relevance Feedback Roccho Nearest Neghbor case based Support Vector Machnes SVM Basato su regole 11 Rappresentazone de document Una collezone d n document può essere rappresentata nel modello come una matrce de termn del documento. Un valore nella matrce corrsponde al peso d un termne nel documento; zero sgnfca che l termne non è sgnfcatvo nel documento o pù semplcemente non è presente nel documento. T 1 T 2. T t D 1 w 11 w 21 w t1 D 2 w 12 w 22 w t2 : : : : : : : : D n w 1n w 2n w tn 12
TF*IDF Metodologa d rappresentazone de pes del vettore per l pattern recognton TF = frequenza del termne nel documento IDF = log N/n N= numero totale d document nella collezone d tranng n = numero d document che contengono l termne nella collezone d tranng Per ogn termne abbamo TF*IDF 13 Rappresentazone grafca Esempo: C 1 = 2T 1 + 3T 2 + 5T 3 C 2 = 3T 1 + 7T 2 + T 3 D= 0T 1 + 0T 2 + 2T 3 5 T 3 C 1 = 2T 1 + 3T 2 + 5T 3 D = 0T 1 + 0T 2 + 2T 3 2 3 T 1 C 2 = 3T 1 + 7T 2 + T 3 T 2 7 E C 1 o C 2 pù smle a D? Come s msura l grado d smlartà? Dstanza? Angolo? Proezone? 14
Algortmo roccho Usamo lo standard d ndczzazone TF/IDF per rapprensentare n forma vettorale document d testo normalzzat secondo la frequenza massma d un termne Per ogn categora, vene elaborato un vettore Prototpo dalla somma de vettor d tranng nella categora Assegnamo l documento d test alla categora col vettore prototpo pù vcno medante la regola d smlartà del coseno. 15 Regole d smlartà del coseno S msura l coseno dell angolo fra due vettor θ 1 t 3 CosSmc j, d = c c j j d d = = 1 t t w w j j = 1 = 1 2 w t q w q 2 C 1 θ 2 D t 1 t 2 C 2 C 1 = 2T 1 + 3T 2 + 5T 3 CosSmC 1, D = 10 / 4+9+250+0+4 = 0.81 C 2 = 3T 1 + 7T 2 + 1T 3 CosSmC 2, D = 2 / 9+49+10+0+4 = 0.13 D = 0T 1 + 0T 2 + 2T 3 16
Algortmo Roccho apprendmento Sa l nseme delle categore {c 1, c 2, c n } For from 1 to n let p = <0, 0,,0> nzalzzone For each esempo d tranng <x, cx> D Let d = vettore TF/IDF per l doc x Let = j: c j = cx somma d tutt vettor n c per ottenere p Let p = p + d 17 Algortmo Roccho Test Dato un documento d test x Let d = vettore TF/IDF per x Let m = 2 nzalzzazone For from 1 to n: calcola la smlartà col vettore prototpo Let s = cossmd, p f s > m let m = s let r = c aggorna l pù smle Return class r 18
Text categorzaton con Roccho 19 Algortmo d apprendmento Nearest-Neghbor L apprendmento s rduce al modo d mmagazznare le rappresentazon degl esemp d tranng n D. Test dell stanza x: Elabora la smlartà tra x e tutt gl esemp n D. Assegna ad x la categora del pù smle n D. Non s calcolano esplctamente prototp delle categore. Conoscuto anche sotto l nome d: Case-based Memory-based Lazy learnng 20
Metrca per la smlartà Nearest neghbor s basa su una metrca d smlartà o dstanza La pù semplce per uno spazo contunuo è la dstanza eucldea. La pù semplce per spaz d stanza m- dmensonal bnar è la dstanza d Hammng Per test, la smlartà basata sul coseno, per vettor costrut medante ndczzazone TF-IDF, è tpcamente la pù effcente. 21 3 Nearest Neghbor Illustraton Eucldan Dstance.......... 22
K Nearest Neghbor per test Tranng: For each each esempo d tranng <x, cx> D Calcola l corrspondente vettore TF-IDF, d x, per l doc x Test dell stanza y: Calcola l vettore TF-IDF d per l doc y For each <x, cx> D Let s x = cossmd, d x Ordna gl esemp, x, n D al decrescere d s x Let N = I prm k esemp n D. ottene così vcn pù sml Return la classe con pù esemp n N 23 Nearest Neghbor per test 24
Roccho: anomala I prototp possono avere problem con categore dsgunte. 25 Nearest Neghbor Nearest Neghbor tende ad avere n tal caso un comportamento mglore. 26
27 Metod bayesan Apprendere e classfcare medante approcc probablstc Il teorema d bayes goca un ruolo crtco nell apprendmento e classfcazone. 28 Categorzzazone Bayesana Sa l nseme delle categore {c 1, c 2, c n } Sa E una descrzone d un stanza Determnare l grado d appartenenza d E per ogn c PE può essere determnata solo se le categore sono complete e dsgunte. E P c E P c P E c P = = = = = n n E P c E P c P E c P 1 1 1 = = n c E P c P E P 1
Categorzzazone Bayesana E necessaro sapere: Pc PE c Pc sono faclmente stmat da dat. se n deglesempn D sono n c, allora Pc = n / D Se s assume che le caratterstche d una stanza sano ndpendent data la categora c P E c = P e1 e2 L em c = m j= 1 P e j c 29 Esempo C = {allerga, raffreddore, salute} e 1 = starnuto; e 2 = tosse; e 3 = febbre E = {starnuto, tosse, febbre} Prob Pc Pstarnuto c Ptosse c Pfebbre c salute 0.9 0.1 0.1 0.01 raffreddore 0.05 0.9 0.8 0.7 allerga 0.05 0.9 0.7 0.4 30
Esempo contnua Probabltà Salute Rafferddore Allerga Pc 0.9 0.05 0.05 Pstarnuto c 0.1 0.9 0.9 E={starnuto, tosse, febbre} Ptosse c 0.1 0.8 0.7 Pfebbre c 0.01 0.7 0.4 Psalute E = 0.90.10.10.99/PE=0.0089/PE Praffreddore E = 0.050.90.80.3/PE=0.01/PE Pallerga E = 0.050.90.70.6/PE=0.019/PE Categfora pù probable: allerga PE = 0.089 + 0.01 + 0.019 = 0.0379 Psalute E = 0.23 Praffreddore E = 0.26 Pallerga E = 0.50 31 Algortmo d apprendmento Naïve Bayes Let V = l vocabolaro d tutte le parole ne document n D For each categora c C Let D = l sottonseme d document n D nella categora c Pc = D / D Let T = la concatenazone d tutt document n D Let n = l numero totale delle occorrenze n T For each parola w j V Let n j = l numero d occorrenze d w j n T Let Pw c = n j + 1 / n + V 32
Algortmo d test Naïve Bayes Dato un documento d test X Let n = numero d occorrenze n X Return categora: argmax P c c C = 1 P a c dove a l occorrenza della parola nella -esma poszone n X n 33 Ret neural Una rete neuronale consste n un pool d semplc process elementar che comuncano fra loro spedendos segnal attraverso numerose connesson pesate 34
Neurone artfcale x 1 w 1j x 2 w 2j n s j = wj x + b =0 j y = j f s j y j w nj 1 1+ e s j x n b j 35 Percettrone Una rete a strato sngolo consste n uno o pù neuron d output, ognuno de qual è connesso con un fattore peso w j a tutt gl nput x. x b b 36
Percettrone Nel caso pù semplce abbamo solo due nput e un solo output. L output del neurone è: 2 y = f w x = 1 + b Supponamo la seguente funzone d attvazone f 1 = 1 f f s > 0 s 0 37 Percettrone In questa semplce rete l neurone può essere usato per separare gl nput n due class. La separazone nelle due class è data da w x 1 1 + w2x2 + b = 0 38
Percettrone x 1 x x x x x x x x x x 2 39 Learnng I pes della rete neurale sono modfcat durante la fase d learnng w b j j t + 1 t + 1 = = b w j j t + w t + b j j 40
Learnng S parte con pes casual Dalla coppa d nput x, dx: se y dx allora modfca l peso medante la formula: w = d x j x NB Regola del gradente dscendente E E y y = x wj = γ = j wj y wj wj E y = d y = δ w j = γδ x j 41 Categorzzazone e percettron Un percettrone per ogn categora Learnng su document d tranng della sua categora Durante la fase d test, l percettrone fornsce un valore VERO/FALSO sull appartenenza del vettore rappresentatvo l documento alla categora 42
Valutare la categorzzazone Esstono due parametr accettat dalla comuntà IR A Ra R RECALL: Ra / R PRECISION: Ra / A 43 Valutare la categorzzazone PRECISION L abltà nel restture document che sono pù rlevant. RECALL L abltà nel restture tutt document rlevant dell ntero domno. F-Measure = 2PR = 2 F 1 1 P + R + R P 44