Riconoscitori di lingua in documenti testuali 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
Riconoscitori di lingua in documenti testuali 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
Definizione di riconoscitore linguistico FileTesto1.txt FileTesto2.txt FileTesto3.txt LinguaTesto1 LinguaTesto2 LinguaTesto3 Testi Lingua Riconoscitore Più formalmente: 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 problema decisionale Riconoscitori di lingua in documenti testuali
Strategia di implementazione Abbiamo adattato tecniche applicate al più ampio problema della categorizzazione di un documento testuale Sistema esperto vs Apprendimento automatico Supervisore Set di training Ipotesi di induzione e generalizzazione Set di test Base di conoscenza Base di regole Riconoscitori di lingua in documenti testuali
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
Funzionamento del riconoscitore Fase di riconoscimento Categorization Status Value Index-Vector Modello Index – term [the,un,et,il,y] Indicizzazione Riconoscimento Decisione Documento Test Lingua riconosciuta Riconoscitori di lingua in documenti testuali
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 Decisione riconoscitore VPi FPi FNi VNi 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
L’applicazione software Paradigma di programmazione a oggetti: linguaggio JAVA Riconoscitori di lingua in documenti testuali
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: Testati i riconoscitori con Testing-set costituito da 60 documenti index term il y the der et på o aa ã ö i Riconoscitori di lingua in documenti testuali
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
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
Metodologia Naive Bayes - prestazioni Nessun errore di riconoscimento Necessario l’utilizzo delle soglie decisionali ! Metodologia Naive Bayes senza soglia con soglia lingue non riconosciute italiano spagnolo francese catalano suomi / PrM (%) 69.12* 100 ReM (%) 85.24* Pr = Re (%) 45.00 Riconoscitori di lingua in documenti testuali
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 = β · Σ vytrain/|{dtrain}| + γ · Σ vytrain/|{dtrain}| β + γ = 1 β>0, γ <= 0 dtrainЄ ci dtrain Є ci 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
Metodologia profile-based Rappresentazione geometrica 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 Riconoscitori di lingua in documenti testuali
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 lingue non riconosciute / PrM (%) 98.33 97.08 ReM (%) 96.67 Pr = Re (%) Riconoscitori di lingua in documenti testuali
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
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
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 (%) Pr = Re (%) Riconoscitori di lingua in documenti testuali
Riconoscitori di lingua in documenti testuali 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
Riconoscitori di lingua in documenti testuali Materiale Volume tesi e applicazione scaricabili al seguente indirizzo web: http://digilander.libero.it/Pietrino71as/ Riconoscitori di lingua in documenti testuali