200 likes | 400 Views
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.
E N D
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
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 LinguaTesto1 LinguaTesto2 LinguaTesto3 FileTesto1.txt FileTesto2.txt FileTesto3.txt 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 Lingua riconosciuta Documento Test Riconoscitori di lingua in documenti testuali
Lingua ci Decisione esperto Si No Decisione riconoscitore Si VPi FPi No FNi VNi Misure di prestazione • Tecniche basate sul conteggio dei casi Vero/Falso Positivo e Vero/Falso Negativo • Tabelle di contingenza • 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
index term il y the der et på o aa ã ö i 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 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 / imaggiore Riconoscitori di lingua in documenti testuali
Metodologia Naive Bayes senza soglia con soglia lingue non riconosciute italiano spagnolo francese catalano suomi / PrM (%) 69.12* 100 ReM (%) 85.24* 100 Pr = Re(%) 45.00 100 Metodologia Naive Bayes - prestazioni • Nessun errore di riconoscimento • Necessario l’utilizzo delle soglie decisionali ! 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 β + γ = 1 β>0, γ <= 0 wiy = β · Σvytrain/|{dtrain}| + γ · Σ vytrain/|{dtrain}| 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 =1 e = 0 =1.2 e = -0.2 lingue non riconosciute / / PrM (%) 98.33 97.08 ReM (%) 98.33 96.67 Pr = Re(%) 98.33 96.67 Metodologia profile-based - prestazioni • Buone prestazioni • Nessuna sensibile differenza con l’utilizzo della formula completa 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 K=1 K=2 lingue non riconosciute / / PrM (%) 98.33 100 ReM (%) 98.33 100 Pr = Re (%) 98.33 100 Metodologia example-based - prestazioni • Nessun errore di riconoscimento per K=2 • Molto buono anche nella versione semplice con K=1 • Ottimo rapporto costo/prestazioni 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
Materiale • Volume tesi e applicazione scaricabili al seguente indirizzo web: http://digilander.libero.it/Pietrino71as/ Riconoscitori di lingua in documenti testuali