Linguistica computazionale e approcci corpus-based

Slides:



Advertisements
Presentazioni simili
Linguistica computazionale e approcci corpus-based
Advertisements

Table View. Problemi ricorrenti Una situazione ricorrente è quella in cui il controller potrebbe avere un’altezza superiore a quella dello schermo. In.
Davidson La traduzione incomincia a casa. Due idee centrali e un problema 1.Olismo semantico (da Quine) 2.Teoria del significato (da Tarski) il problema.
Selezione avversa nella selezione del personale. Il problema Al momento dell’assunzione è molto costoso avere a che fare con lavoratori non adatti al.
IO NON HO PAURA NEANCHE DEL TEOREMA DI PITAGORA....CHE POI NON ERA NEMMENO NEL PROGRAMMA!” “
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Fare storia con le fonti: archivio e memoria orale Carla Marcellini INSMLI Istituto Storia Marche.
REPORT SUI DATI RESTITUITI DALL’INVALSI A.S. 2015/2016
Il Parallel Turin University Treebank
La chimica della vita Ogni organismo vivente è una macchina sofisticata, risultato di un complesso insieme di reazioni chimiche. La costruzione e il funzionamento.
LA STATISTICA DESCRITTIVA
CODING.
linguistico-artistico-espressiva
il periodo è una frase composta da più proposizioni che possono essere
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Pensiero Computazionale
FARE RICERCA, MAI COSÌ FACILE!
Linguistica computazionale, treebank e altre risorse
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
LA POLITICA DEI VOUCHER PER I NIDI D’INFANZIA I risultati della missione valutativa Bologna 24 ottobre 2012.
Dott. Fabio Massimo Zanzotto a.a
Dal problema al processo risolutivo
LE FUNZIONI DELLA LINGUA
FARE RICERCA, MAI COSÌ FACILE!
Raccolta ed Analisi dei Requisiti nella Progettazione
Algoritmi e soluzioni di problemi
Universal Dependencies e treebank
Dal problema al processo risolutivo
Cluster Analysis Definizione di Classificazione: operazione concettuale condotta adottando un solo criterio (detto fondamento della divisione) per individuare.
Statistica Aziendale Tutti i fenomeni aziendali che si prestano ad analisi statistica dovrebbero rientrare, anche se in modo non esclusivo, nell’ambito.
Studente/i Relatore Correlatore Committente Aris Piatti
Le postcondizioni specificano l’output della funzione.
Linguistica e treebank
Modulo 3 Costituzione del consorzio dei partner
Computer assisted translation e terminologia
LE BANCHE DATI PER LE RICERCHE BIBLIOGRAFICHE
Conoscenze, abilità, competenze
Adeguamento obiettivi curricolari
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Gestione Informatica dei Dati Aziendali Sistemi Informativi Gestionali
IL TESTO ESPOSITIVO - INFORMATIVO
Che cosa è un problema matematico
Laboratorio linguistico L’articolo di giornale
Laboratorio linguistico L’articolo di giornale
Istituto Comprensivo Statale di Motta S.Giovanni (RC)
Psicologia dell’apprendimento
DIDATTICA INCLUSIVA E ALUNNI MIGRANTI: BUONE PRASSI PER DIVENTARE VISIBILI IN CLASSE A cura di: Dott.ssa Lisa Mattioli Dott.ssa Giulia Zoboli.
La statistica, uno strumento utile per le professioni sanitarie?
Pharma Language 27/12/2018.
Programmare.
Perché una Didattica speciale per l’educazione linguistica?
La relazione - Giulio Colecchia
Gli automi.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Sistemi informativi statistici
Definizione di linguaggio di programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Conoscenze, abilità, competenze
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Fogli elettronici e videoscrittura
Senza Zaino Per una scuola comunità
Teoria della computabilità
Macchine Parlanti A.A. 2018/19 Titolo progetto (es. orologio parlante senza display) template per il progetto finale del corso di Documentazione Linguistica.
EVENTI COMPORTAMENTALI
Dalle prove INVALSI alla didattica
I.C. “F. MAZZITELLI” CESSANITI(VV)
La metodologia del nostro curricolo di italiano: principi generali
Uso della Danza nell’Insegnamento delle Materie Curriculari
DAL TESTO ALLA CONVERSAZIONE
Variabile interveniente
Transcript della presentazione:

Linguistica computazionale e approcci corpus-based Cristina Bosco Corso di Informatica applicata alla comunicazione multimediale 2016-2017

Sistemi di NLP Per definire un sistema di NLP occorre conoscerne i seguenti aspetti: Input Algoritmi Conoscenza linguistica Output

INPUT: modalità Il sistema riceve in ingresso un input in linguaggio naturale L’input può assumere diverse modalità: scritto, parlato, gestuale o una mescolanza di queste tre modalità, che possono anche interagire tra loro. Noi ci occuperemo specificamente di linguaggio scritto, ma non va dimenticata la complessità derivante dalle altre modalità, come la sintesi del parlato e i problemi derivanti dal “rumore”, la percezione ed interpretazione della gestualità.

Un esempio: l’input nelle lingue dei segni e nel parlato Nel caso delle lingue dei segni, l’input è gestuale e si deve tenere conto della gestualità delle mani, principale strumento per “segnare”, ma anche delle espressioni del viso, della posizione del capo, delle spalle, braccia, ecc. Queste stesso componenti possono entrare in gioco anche quando il linguaggio è parlato … l’espressione del viso in molti casi è una fondamentale chiave di interpretazione del significato del testo enunciato.

INPUT: lingua e genere Il sistema riceve in ingresso un input in linguaggio naturale L’input può contenere testi di natura molto diversa tra loro a seconda di: - Lingua (francese, giapponese, swahili …) Genere testuale (prosa giornalistica, Twitter, poesia, romanzi, prosa scientifica, manualistica tecnica, previsioni meteo …)

ALGORITMI Il sistema deve anche avere gli algoritmi adeguati a utilizzare la conoscenza e a produrre un determinato output. Si deve pertanto assumere che la sequenza di semplici passi (=algoritmo) da fare sull’input sia ben definibile, e trovare un modo per definirla.

ALGORITMI Ma quale è l’algoritmo giusto? Potrebbe includere le stesse operazioni che fanno gli esseri umani (AI forte) oppure no (AI debole). Potrebbe esserci più di un modo per produrre l’output e potrebbe essercene uno migliore e per vari motivi: più adatto all’input e la tipo di conoscenza più veloce

ALGORITMI: un esempio, la traduzione I sistemi che traducono in modo automatico adottano approcci diversi, traducono direttamente dalla lingua target alla lingua sorgente oppure tramite la mediazione di interlingue. Essi utilizzano tipi di conoscenza diversa, dizionari, ontologie ecc. (e non tutte queste basi di conoscenza sono disponibili per tutte le lingue).

CONOSCENZA LINGUISTICA Rispetto alla conoscenza necessaria al sistema per trattare il linguaggio occorre risolvere vari problemi: - quale conoscenza? come rappresentarla? come fornirla al sistema? come usarla una volta acquisita?

CONOSCENZA LINGUISTICA: quale? Assumiamo che una lingua sia trattabile da un sistema che ha a disposizione la conoscenza posseduta da un parlante di quella lingua. La prima cosa da fare è dunque equipaggiare il sistema con tale conoscenza.

CONOSCENZA LINGUISTICA: quale? Il primo problema consiste nel delimitare la conoscenza necessaria alla comprensione del linguaggio. Gli esseri umani non hanno che una molto parziale consapevolezza di quale e quanta conoscenza utilizzano per comunicare tramite il linguaggio

CONOSCENZA LINGUISTICA: quale? Esempio: che conoscenza occorre a un PoS tagger (analizzatore morfologico) per prendere in input “il cane dorme in giardino” e restituire in output “il ART, cane NOUN, dorme VERB, in PREP, giardino NOUN” ?

CONOSCENZA LINGUISTICA: quale? output = il ART, cane NOUN, dorme VERB, in PREP, giardino NOUN conoscenza = ART (il), NOUN (cane, giardino), VERB (dorme), PREP (in)

CONOSCENZA LINGUISTICA: quale? Esempio: che conoscenza occorre a un parser (analizzatore sintattico) per prendere in input “il cane dorme in giardino” e restituire in output “[S [NP (il – cane)] [VP (dorme) [PP (in – giardino)]]]” ?

CONOSCENZA LINGUISTICA: quale? output = [S [NP (il – cane)] [VP (dorme) [PP (in – giardino)]]] conoscenza = art + noun = NP verb + PP = VP prep + noun = PP NP + VP = S

CONOSCENZA LINGUISTICA: come rappresentarla? Il secondo problema è che la conoscenza del parlate deve essere rappresentata in modo adeguato ad essere usata dal sistema (dizionari, ontologie, corpora, memorie di traduzione, basi terminologiche …). La forma di tale conoscenza può essere molto diversa a seconda del task e del tipo di informazione.

CONOSCENZA LINGUISTICA: un esempio, il dizionario per la MT Un dizionario utilizzato da un sistema di MT ha una organizzazione molto diversa da un dizionario usato dagli esseri umani. I termini sono divisi in sezioni in base alla frequenza d’uso (alta, media, bassa) e al dominio terminologico (generale, specifico), in modo da massimizzare la velocità con cui il sistema accede alle informazioni.

CONOSCENZA LINGUISTICA: come fornirla al sistema? Una volta stabilito quale conoscenza si deve fornire al sistema ed in quale forma, occorre risolvere il problema di come fornirla al sistema. Questo è un problema che è stato molto discusso e che è determinante per chi progetta un sistema di NLP.

Acquisizione della conoscenza Dove si trova la conoscenza? Le soluzioni sono 2: conoscenza dentro il sistema – rule-based conoscenza dentro un corpus di dati linguistici – corpus-based

Corpus versus rule-based SISTEMA … grammatica lessico

Corpus versus rule-based SISTEMA apprendimento … grammatica lessico CORPUS

Corpus versus rule-based In entrambi i casi si presuppone che il linguaggio sia governato da regole (da conoscere per trattarlo) MA: nei sistemi corpus-based le regole sono apprese, nei rule-based sono date nei sistemi corpus-based le regole sono probabilistiche, nei rule-based sono deterministiche

Corpus versus rule-based Se le regole variano, ad es. da una lingua all’altra, da un genere testuale ad un altro, devono essere riscritte in un sistema rule-based, ma non in uno corpus-based.

Approccio corpus-based Utilizzato dai linguisti dalla fine dell’800 e oggi molto diffuso Consiste nell’apprendere dal linguaggio le regole ed irregolarità del linguaggio

Approccio corpus-based A causa delle critiche di Chomsky l’approccio corpus-based non è stato adottato dalla linguistica computazionale che negli ultimi 20 anni.

Approccio corpus-based Il suo principale vantaggio è di offrire un concreto supporto alla soluzione del problema dell’ambiguità. Se una frase è ambigua, il sistema che la tratta ne costruisce più strutture alternative. Analizzando un corpus possiamo scoprire quale ordine di preferenza dare alle alternative costruite.

Approccio corpus-based Si basa sull’idea che le co-occorrenze sono fonti importanti di informazioni sulla lingua Si ispira all’idea di apprendimento linguistico umano, tramite esposizione a esempi e basato su criteri statistici

Approccio corpus-based: come funziona? Si assume che un CORPUS C di un linguaggio L possa contenere (~tutta) la conoscenza necessaria a trattare L, e si acquisisce la conoscenza da esso. L’acquisizione della conoscenza avviene tramite tecniche di apprendimento automatico (machine learning).

Approccio corpus-based Il processo di apprendimento offre come risultato: la conoscenza delle regole ed irregolarità del linguaggio (non-ristretto) MA SOPRATTUTTO la percezione della frequenza delle strutture linguistiche

Approccio corpus-based: come funziona? Si prende un campione di linguaggio, cioè un insieme di frasi (= CORPUS) che si considera rappresentativo della lingua Si cercano nel corpus le strutture linguistiche e la frequenza con cui occorrono nel corpus, arrivando a costruire una BASE di CONOSCENZA per il sistema Si utilizza la base di conoscenza per trattare le frasi nuove

Approccio corpus-based Prendiamo il corpus formato dalle 5 frasi seguenti: Il cane dorme in giardino. Mario ha un cane che dorme in giardino. Il cane dorme spesso nel suo giardino. Quando Mario dorme il cane va in giardino.

Approccio corpus-based Acquisiamo dal corpus preso la conoscenza circa la frequenza di strutture linguistiche: avremo le seguenti frequenze di bi-grammi: Il-cane: 80%, cane-dorme: 60%, Mario-dorme:20%, in-giardino:80%, ... e molte altre

Approccio corpus-based Nell’esempio sono stati usati i bi-grammi, cioè le coppie di parole che si trovano vicine nella frase: per ogni coppia <a,b> di parole possiamo estrarre dal corpus la probabilità che a e b siano associate sintatticamente

Approccio corpus-based Perché usare i bi-grammi? ovviamente il sistema non conosce a priori quale è la struttura della frase (il suo obiettivo è proprio di costruirla!) quindi procede per ipotesi e si interroga su quali parole della frase sarebbe corretto associare e ipotizza che le parole che sovente sono vicine siano tra loro legate sintatticamente

Approccio corpus-based Ma come funziona un sistema statistico? ad ogni struttura S del linguaggio il sistema associa un valore di probabilità il valore di probabilità di S è dato dalla composizione delle probabilità delle parti di S

Approccio corpus-based In pratica un sistema corpus-based: se incontra una struttura ambigua cerca nella base di conoscenza l’informazione utile per costruire la rappresentazione più probabile della struttura

Approccio corpus-based Esempio: “il cane dorme in giardino” P(il–cane: NP) = 95% P(cane-dorme:?) = 3% P(dorme-in: ?) = 5% P(in-giardino: PP) = 95% …

Approccio corpus-based Ma come funziona un sistema statistico? la probabilità di ogni parte di una frase analizzata dipende dalla sua frequenza in un CORPUS di riferimento e dal modello statistico utilizzato

Approccio corpus-based Ma come funziona un sistema statistico? Cosa è un modello probabilistico ? Serve a determinare come calcolare la probabilità di ogni risultato ottenuto dal sistema

Approccio corpus-based i bi-grammi di “il cane dorme in giardino”: 1-il cane 2-cane dorme 3-dorme in 4-in giardino La probabilità di 1 sarà maggiore di quella di 2, quindi il sistema propone la costruzione di 1 invece che di 2.

Approccio corpus-based Nell’analisi sintattica (parsing), di fronte all’ambiguità e quindi generazione di più strutture, per una singola frase, si ricavano dai dati linguistici i CRITERI per scegliere la migliore delle strutture generate

Approccio corpus-based L’approccio corpus-based assume che buona parte del successo del linguaggio umano nella comunicazione dipende dall’abilità che gli esseri umani hanno nel gestire ambiguità ed imprecisione in modo efficiente.

Approccio corpus-based Gli esseri umani riescono infatti a cogliere la corretta interpretazione di un messaggio da un insieme di stimoli di varia natura (ad es. contestuali ed emotivi) oltre che dalle parole e strutture che compongono il messaggio stesso.

Approccio corpus-based L’approccio corpus-based offre inoltre la possibilità di sfruttare la conoscenza che va al di là delle parole e delle strutture che compongono il linguaggio. È quindi un modo efficiente di acquisire la conoscenza sul linguaggio.

Approccio corpus-based I primi sistemi corpus-based apprendevano tutta la conoscenza direttamente dai dati così come si presentavano (approccio non supervisionato). Parte della conoscenza risultava però difficile da apprendere perché poco rappresentata o perché difficile da generalizzare.

Approccio corpus-based A partire dagli anni ‘90 si sono sviluppati sistemi che apprendono la conoscenza da corpora di dati linguistici annotati (approccio supervisionato). In questo modo si ha maggiore controllo sulla conoscenza che il sistema deve apprendere.

Approccio corpus-based Attualmente i TREEBANK (la cui annotazione descrive i dati dal punto di vista morfologico e sintattico) sono le risorse linguistiche più utilizzate nel NLP. Altre risorse annotate sono i corpora per la sentiment analysis, lessici e lemmari semantici e/o morfologici, corpora annotati con part of speech, ...