Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Linguistica computazionale e approcci corpus-based
Cristina Bosco Corso di Informatica applicata alla comunicazione multimediale
2
Sistemi di NLP Per definire un sistema di NLP occorre conoscerne i seguenti aspetti: Input Algoritmi Conoscenza linguistica Output
3
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à.
4
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.
5
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 …)
6
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.
7
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
8
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).
9
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?
10
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.
11
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
12
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” ?
13
CONOSCENZA LINGUISTICA: quale?
output = il ART, cane NOUN, dorme VERB, in PREP, giardino NOUN conoscenza = ART (il), NOUN (cane, giardino), VERB (dorme), PREP (in)
14
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)]]]” ?
15
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
16
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.
17
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.
18
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.
19
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
20
Corpus versus rule-based
SISTEMA … grammatica lessico
21
Corpus versus rule-based
SISTEMA apprendimento … grammatica lessico CORPUS
22
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
23
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.
24
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
25
Approccio corpus-based
A causa delle critiche di Chomsky l’approccio corpus-based non è stato adottato dalla linguistica computazionale che negli ultimi 20 anni.
26
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.
27
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
28
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).
29
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
30
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
31
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.
32
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
33
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
34
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
35
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
36
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
37
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% …
38
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
39
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
40
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.
41
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
42
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.
43
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.
44
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.
45
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.
46
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.
47
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, ...
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.