POLITECNICO DI MILANO Polo Regionale di Como Facoltà di Ingegneria dell’Informazione Corso di Studi in Ingegneria Informatica on line Riconoscitori di lingua in documenti testuali Tutor universitario: Prof. Giuseppe Pozzi Elaborato finale di: Andrea Serighelli matr. 679850 A.A. 2007-2008 Riconoscitori di lingua in documenti testuali 1 Sommario Metodologie di riconoscimento della lingua di un testo Software di implementazione Misure di prestazione Confronto tra le diverse metodologie implementate Riconoscitori di lingua in documenti testuali 2 Definizione di riconoscitore linguistico FileTesto1.txt LinguaTesto1 FileTesto2.txt LinguaTesto2 FileTesto3.txt LinguaTesto3 Testi Più formalmente: Lingua Riconoscitore CL : D x C → {0,1} dove: CL: algoritmo di riconoscimento linguistico D: dominio dei documenti di testo C: dominio delle lingue se CL (dЄD,cЄC) = 1 allora secondo CL d è scritto nella lingua c se CL (dЄD,cЄC) = 0 allora secondo CL d non è scritto nella lingua c Riconoscitori di lingua in documenti testuali problema decisionale 3 Strategia di implementazione Abbiamo adattato tecniche applicate al più ampio problema della categorizzazione di un documento testuale •Base di conoscenza •Base di regole Sistema esperto vs Apprendimento automatico •Supervisore •Set di training •Ipotesi di induzione e generalizzazione •Set di test Riconoscitori di lingua in documenti testuali 4 Funzionamento del riconoscitore •Fase di apprendimento Training set Index – term [the,un,et,il,y] Indicizzazione Index-Vector Apprendimento M odello Riconoscitori di lingua in documenti testuali 5 Funzionamento del riconoscitore •Fase di riconoscimento IndexVector Categorization Status Value Modello Index – term [the,un,et,il,y] Indicizzazione Riconoscimento Decisione Lingua riconosciuta Documento Test Riconoscitori di lingua in documenti testuali 6 Misure di prestazione Tecniche basate sul conteggio dei casi Vero/Falso Positivo e Vero/Falso Negativo Tabelle di contingenza Lingua ci Decisione esperto Si No Si VPi FPi No FNi VNi Decisione riconoscitore Calcolo della precisione Pri = VPi / (VPi+FPi) Calcolo della recall Rei = VPi / (VPi+FNi) Calcolo delle medie (micro e macro averaging) Riconoscitori di lingua in documenti testuali 7 L’applicazione software Paradigma di programmazione a oggetti: linguaggio JAVA Riconoscitori di lingua in documenti testuali 8 Testing dei riconoscitori implementati Implementati tre differenti metodologie di riconoscimento Addestrati i riconoscitori con Training-set costituito da 30 documenti Totale di 10 lingue europee apprese Index term costituito da 11 elementi: index term il y the der et på o aa ã ö i Testati i riconoscitori con Testing-set costituito da 60 documenti Riconoscitori di lingua in documenti testuali 9 Metodologia Naive Bayes Stima della probabilità che il documento sia scritto nella lingua Ci ricavati in fase di addestramento CSVi(d) = P(ci|d) = Π [P(ci|ty)•P(ty|d) + P(ci|ty)•P(ty|d)] y=1...r ricavati dall’indicizzazione di d Nel calcolo della stima percentuale concorrono le probabilità condizionate (Bayes) legate alla presenza e assenza di un particolare termine dell’index-vector....e tali probabilità concorrono come r fattori indipendenti (Naive)! Riconoscitori di lingua in documenti testuali 10 Metodologia Naive Bayes - soglie La lingua relativa alla componente di CSV maggiore, potrebbe non rappresenta la decisione migliore !!! Soglie decisionali differenti componente i del vettore csv di dtrain τi = Σ csvitrain / |{dtrain}| dtrainЄ ci E’ scelta la lingua avente rapporto CSVi / i maggiore Riconoscitori di lingua in documenti testuali 11 Metodologia Naive Bayes - prestazioni Nessun errore di riconoscimento Necessario l’utilizzo delle soglie decisionali ! Metodologia Naive Bayes senza soglia con soglia italiano spagnolo francese catalano suomi / PrM (%) 69.12* 100 ReM (%) 85.24* 100 Pr = Re (%) 45.00 100 lingue non riconosciute Riconoscitori di lingua in documenti testuali 12 Metodologia profile-based Ad ogni lingua è associato un profilo Il profilo è un vettore di dimensione pari all’index-term componente y del vettore wi wiy = β ·d ΣЄ cvytrain/|{dtrain}| + γ ·d ΣЄvc ytrain/|{dtrain}| train i train i β+γ=1 β>0, γ <= 0 componente y dell’index-vector di dtrain Ad ogni lingua è associato un profilo E’ scelta la lingua avente profilo più simile all’index-vector del documento di test: CSVi (dtest) = d (index-dtest , wi) Riconoscitori di lingua in documenti testuali 13 Metodologia profile-based Rappresentazione geometrica t1 W0 = (0.5, 0.1, 0.4) w1 = (0.1, 0.7, 0.2) w1 t2 w2 = (0.4, 0, 0.6) d d = (0.2, 0.6, 0.2) w2 w0 t0 Index-term a tre elementi: spazio 3-dim Riconoscitore riconosce tre lingue: 3 profili d è più vicino a w1 (la distanza d(d,w1) è minore di tutte le altre): d è scritto nella lingua rappresentata da w1 t0 Riconoscitori di lingua in documenti testuali 14 Metodologia profile-based - prestazioni Buone prestazioni Nessuna sensibile differenza con l’utilizzo della formula completa Metodologia profile-based =1 e = 0 =1.2 e = -0.2 / / PrM (%) 98.33 97.08 ReM (%) 98.33 96.67 Pr = Re (%) 98.33 96.67 lingue non riconosciute Riconoscitori di lingua in documenti testuali 15 Metodologia example-based L’index-vector del documento di test è confrontato con gli index-vector dei documenti di training È scelta la lingua del documento di training avente index-vector più simile Lazy classifier: non è costruito alcun modello! Come funzione di confronto è stata utilizzata la distanza euclidea tra vettori Riconoscitori di lingua in documenti testuali 16 Metodologia example-based Evoluzione: si confronta il documento di test con i K documenti di training più simili (K=1 è il caso precedente) Retrieval Status Value: misura di quanto dtest e dtrain sono simili (es: distanza degli index-vector, ma anche indici di correlazione, relazioni semantiche....) CSVi = Σ RSV (dtest, dtrain) dtrainЄ k-best ci| k documenti di training classificati in ci con max valore RSV (dtest, dtrain) Per K=1 e RSV intesa come distanza euclidea si torna al caso precedente Riconoscitori di lingua in documenti testuali 17 Metodologia example-based - prestazioni Nessun errore di riconoscimento per K=2 Molto buono anche nella versione semplice con K=1 Ottimo rapporto costo/prestazioni Metodologia example-based K=1 K=2 lingue non riconosciute / / PrM (%) 98.33 100 ReM (%) 98.33 100 Pr = Re (%) 98.33 100 Riconoscitori di lingua in documenti testuali 18 Conclusioni L’approccio basato sull’apprendimento automatico supervisionato si è mostrato valido Tale approccio permette di modificare il dominio applicativo riaddestrando i riconoscitori (es: diverse lingue, differenti ambiti, ....) Temi aperti: riconoscimento della lingua dei documenti web, ottimizzazione dell’index-term, estensione delle metodologie implementate in ambiti più vasti (categorizzazione dei testi, sistemi in cascata). Riconoscitori di lingua in documenti testuali 19 Materiale Volume tesi e applicazione scaricabili al seguente indirizzo web: http://digilander.libero.it/Pietrino71as/ Riconoscitori di lingua in documenti testuali 20