1 / 92

Corpora e linguistica computazionale

Corpora e linguistica computazionale. Cristina Bosco Corso di Informatica applicata alla comunicazione multimediale 2013-2014. Elaborare il linguaggio naturale. Il problema della comprensione del linguaggio naturale è molto complesso per un computer.

Télécharger la présentation

Corpora e linguistica computazionale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Corpora e linguistica computazionale Cristina Bosco Corso di Informatica applicata alla comunicazione multimediale 2013-2014

  2. Elaborare il linguaggio naturale Il problema della comprensione del linguaggio naturale è molto complesso per un computer. Lo è anche per gli esseri umani, in cui l’apprendimento della lingua madre è un processo lungo e articolato.

  3. Elaborare il linguaggio naturale Da un lato, esiste il problema di dotare il computer di tutta la conoscenza necessaria (acquisendola e rappresentandola). Assumendo che un linguaggio sia trattabile da un computer che contiene la conoscenza posseduta da un parlante di quella lingua.

  4. Elaborare il linguaggio naturale Dall’altro lato, esiste il problema di dotare il computer di algoritmi adeguati. Assumendo che le operazioni da fare sull’input siano ben definibili.

  5. Soluzioni Si divide il problema generale della comprensione del linguaggio in sottoproblemi, quindi: • si adottano delle astrazioni per limitare a determinati livelli la comprensione • si eseguono dei task in cui si ottiene una comprensione parziale

  6. Soluzioni? L’utilizzo delle astrazioni e la scomposizione in subtask portano vantaggi sia nell’acquisizione/rappresentazione della conoscenza sia nella costruzione degli algoritmi. Ma non risolvono del tutto il problema.

  7. Soluzioni? Utilizzare le astrazioni nell’acquisizione/rappresentazione della conoscenza significa rappresentare il linguaggio con formalismi adatti ai vari livelli distinti. Ad es. definire chiaramente quali sono le informazioni morfologiche e quali quelle sintattiche.

  8. Soluzioni? testo rappresentazione morfologica del testo rappresentazione sintattica del testo

  9. Soluzioni? Utilizzare le astrazioni nella costruzione degli algoritmi significa dividere il trattamento del linguaggio in livelli diversi. Ad es. definire algoritmi che trattano solo la morfologia ed altri che trattano solo la sintassi.

  10. Soluzioni? • Parser • PoStagger testo rappresentazione morfologica del testo rappresentazione sintattica del testo

  11. Problemi Anche assumendo le astrazioni, tuttavia il linguaggio resta difficile da trattare perchè: • è ricco di ambiguità • è usato in modo non corretto • è in continua espansione

  12. Problemi Le diverse soluzioni adottate per acquisire/rappresentare il linguaggio e per costruire gli algoritmi tengono conto dei problemi intrinseci al linguaggio.

  13. Astrazioni e rappresentazioni In questo corso ci focalizziamo sull’acquisizione e rappresentazione della conoscenza pertinente a 2 livelli di astrazione, fondamentali per la maggior parte dei task: • morfologia • sintassi

  14. Acquisizione della conoscenza Un sistema che tratta il linguaggio deve avere a disposizione la conoscenza linguistica necessaria. Ma come si mette la conoscenza dentro un sistema?

  15. Acquisizione della conoscenza Esempio: che conoscenza occorre a un PoStagger (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” ?

  16. Acquisizione della conoscenza output = il ART, cane NOUN, dorme VERB, in PREP, giardino NOUN conoscenza = ART (il), NOUN (cane, giardino), VERB (dorme), PREP (in)

  17. Acquisizione della conoscenza 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)]]]” ?

  18. Acquisizione della conoscenza output = [S [NP (il – cane)] [VP (dorme) [PP (in – giardino)]]] conoscenza = art + noun = NP verb + PP = VP prep + noun = PP NP + VP = S

  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 regolevariano, ad es. dauna lingua all’altra, da un generetestuale ad un altro, devonoessereriscritte in un sistema rule-based, ma non in uno corpus-based.

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

  25. 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

  26. Approccio corpus-based Esempio: 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

  27. 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.

  28. 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.

  29. 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.

  30. Approccio corpus-based 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

  31. Approccio corpus-based Il processodiapprendimentooffre come risultato • la conoscenzadelleregoleedirregolarità del linguaggio (non-ristretto) • MA SOPRATTUTTO la percezionedellafrequenzadellestrutturelinguistiche

  32. Approccio corpus-based In pratica per acquisire la conoscenza: si prende un campione di linguaggio, cioè un insieme di frasi = CORPUS si cercano nel corpus le strutture linguistiche e le loro probabilità = BASE di CONOSCENZA

  33. 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

  34. 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

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

  36. 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

  37. 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

  38. Approccio corpus-based Ma come funziona un sistema statistico? Esempio di un modello probabilistico molto usato: i bi-grammi:- per ogni coppia <a,b> di parole avremo una stima della probabilità che a e b siano associate sintatticamente (a=il e b=cane ha maggiore probabilità di occorrere che a=il e b=gatta)

  39. 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.

  40. Approccio corpus-based A partire dagli anni ‘90 si sono sviluppati sistemi che apprendono la conoscenza da corpora di dati linguistici per moltissimi linguaggi. Si è progressivamente affermata anche la necessità di ANNOTARE i dati linguistici e si sono costruiti i TREEBANK.

  41. Approccio corpus-based Attualmente i TREEBANK sono le risorse linguistiche più utilizzate nel NLP.

  42. Approccio corpus-based Perché annotare i dati ? L’informazione è presente in forma implicita anche nei dati non annotati. Ma introdurre l’informazione in forma esplicita semplifica il processo di apprendimento, inoltre rende possibile la correzione.

  43. Annotazione e treebank Come annotare i dati ? Solitamente si annotano le informazioni di tipo morfologico e sintattico, più raramente quelle semantiche

  44. Annotazione e treebank Come annotare i dati ? Per ogni livello di annotazione vengono fatte delle scelte sia sulla teoria linguistica da prendere come riferimento sia sul modo in cui fisicamente mostrare i dati.

  45. Annotazione e treebank Quali dati annotare ? Occorre scegliere i testi da introdurre nel corpus in modo che siano rappresentativi del linguaggio che si vuole trattare.

  46. Annotazione e treebank Quali dati annotare ? un corpus é un campione significativo e rappresentativo di un linguaggio SE: • contiene frasi non ristrette • è “bilanciato” rispetto al genere, alla collocazione geografica e sociale, al tempo • MA non rappresenta mai TUTTO il linguaggio nel suo complesso

  47. Un progetto reale: TurinUniversityTreebank • Obiettivo: sviluppare una risorsa linguistica, una banca di alberi sintattici per l’italiano

  48. Fasi di sviluppo del progetto • Selezione dei testi da annotare • Definizione dello schema di annotazione • Applicazione dello schema al corpus di testi (validità e consistenza)

  49. Selezioneditesti in TUT • Giornali quotidiani (1.100 frasi = 18,044 tokens) • Codice civile (1.100 frasi = 28,048 tokens) • Acquis (201 frasi = 7,455 tokens) • Wikipedia (459 frasi = 14,746 tokens) • Costituzione Italiana, intera (682 frasi = 13,178 tokens) • Totale 3.452 frasi = 102.000 token

  50. Selezione in altritreebank

More Related