Introduzione al Corso

Documenti analoghi
Obbiettivi del Corso

Concetti di base sugli automi e sui linguaggi formali

L elaborazione del linguaggio naturale

Informatica triennale (L31) sede di Bari Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

L intelligenza artificiale

Informatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

Fondamenti teorici e programmazione

Introduzione al corso

Fondamenti d Informatica: Grammatiche. Barbara Re, Phd

Linguaggi e Ambienti di Programmazione

Fondamenti d Informatica: stringa e linguaggio. Barbara Re, Phd

LINGUAGGI FORMALI. Introduzione

Le grammatiche formali

Linguaggi. Che cos è un linguaggio di programmazione? Aspetti da studiare e comprendere per poter scrivere programmi:

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,

Linguistica Computazionale. 22 settembre 2014

FONDAMENTI DI INFORMATICA M - Z

Corso di Linguaggi e Traduttori 1 AA GRAMMATICHE

Definizione di Grammatica

Fondamenti di Informatica. per la Sicurezza. a.a. 2003/04. Grammatiche. Stefano Ferrari

Prefazione all edizione italiana

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Logica proposizionale

Linguaggi, grammatiche, espressioni regolari

Linguaggi, grammatiche, espressioni regolari

Linguistica Computazionale 2004 Presentazione del Corso

Fondamenti d Informatica. Barbara Re, Phd

Grammatiche Parse trees Lezione del 17/10/2012

Programmazione II. Lezione 3. Daniele Sgandurra 26/10/2010.

Fondamenti dell Informatica

Linguaggi di Programmazione Corso C. Parte n.2 Introduzione ai Linguaggi Formali. Nicola Fanizzi

Parole note, nuovi significati: linguaggio, determinismo e infinito

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Lingua, statistica e computazione

Linguaggi di Programmazione + Lab. A.A Docente: Marco de Gemmis. Presentazione dell insegnamento

AUTOMA A STATI FINITI

Linguistica Computazionale

Corso di Informatica Modulo T2 1 - Linguaggi e macchine

SINTASSI E L E M E N T I I N T R O D U T T I V I 2. Francesca Forza - Nozioni Generali di Sintassi

Proprietà dei linguaggi non contestuali

Linguaggi formali e compilatori

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

32 Laurea magistrale in Informatica Scienze

Introduzione all informatica

I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione

Linguistica computazionale: task sul linguaggio naturale"

Algoritmi e soluzioni di problemi

LAUREA TRIENNALE IN INFORMATICA - DM 270/04

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Automi. Stefano Ferrari. Unautomaastatifinitièunmodellomatematico caratterizzato da:

Elementi di Psicologia dello Sviluppo (II modulo) Mirco Fasolo

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione

Sintassi. Linguaggi. 4: Sintassi. Claudio Sacerdoti Coen. Universitá di Bologna 24/02/2011. Claudio Sacerdoti Coen

Fondamenti d Informatica: Simulazione d esame. Barbara Re, Phd

REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU

INSEGNAMENTI/ ATTIVITÀ FORMATIVE CFU SEMESTRE S.S.D.

Linguaggi Regolari e Linguaggi Liberi

LINGUAGGI DI ALTO LIVELLO

Linguaggi Regolari e Linguaggi Liberi. Linguaggi Regolari. Determinismo vs Non determinismo. Potere espressivo

Fondamenti di Programmazione: AUTOMI E LINGUAGGI FORMALI Corso di Laurea in MATEMATICA a.a. 2018/2019

ITLCC 2006/10/6 19:09 page 7 #3

Intelligenza: Artificiale vs. Naturale

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Linguaggi di Programmazione

Espressioni regolari in UNIX p.1/19

Corso di Linguaggi di Programmazione + Laboratorio

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

Fondamenti dell Informatica a.a. 2013/14 Prova scritta 30 luglio 2014

Linguaggi Regolari e Linguaggi Liberi

Fondamenti teorici e programmazione

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

LINGUAGGI DI ALTO LIVELLO

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp.

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

INTRODUZIONE AL TESTO FILOSOFICO

Macchina di Turing ... !!... !!! a b b! b a! Nastro di Input. testina. s t q i. s r. Unità di Controllo q j S / D / F

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

014 5 Pragmatica Lingue per scopi speciali. [014 8] Abbreviazioni e simboli Filosofia e teoria

Modelli e complessità di calcolo

FONDAMENTI DI INFORMATICA

Automi deterministici e non

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

(1) Linguaggio L = insieme di stringhe, sequenze finite di elementi del vocabolario

2. Sintassi e Semantica

Fondamenti di Linguistica

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

PROGRAMMA DELL INSEGNAMENTO. Prof. Emanuele Banfi / Prof. Ignazio Mauro Mirto. Modulo 1 Elementi di Fonetica e Fonologia

Corso di Laurea Magistrale in Ingegneria Informatica A.A Linguaggi Formali e Compilatori. I linguaggi formali. Giacomo PISCITELLI

Informatica e Laboratorio di Programmazione Automi Alberto Ferrari. Alberto Ferrari Informatica e Laboratorio di Programmazione

informatica di base per le discipline umanistiche

Analizzatori sintattici a discesa ricorsiva

LABORATORIO DI INFORMATICA

PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI PROLOG E ANALISI SINTATTICA DEI LINGUAGGI ESEMPIO

Università degli Studi di Padova - Dipartimento di Studi Linguistici e Letterari

Analisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser

Struttura sintagmatica. Strutture. Alberi, o indicatori sintagmatici. Categorie grammaticali

Transcript:

Introduzione al Corso 1 Argomenti trattati nella lezione: INTRODUZIONE AL CORSO CONCETTI GENERALI GERARCHIA DI CHOMSKY ESPRESSIONI REGOLARI AUTOMI A STATI FINITI ESEMPI DI APPLICAZIONI LINGUISTICHE

Introduzione al corso Obiettivii i formativi i del corso: consentire di approfondire le conoscenze degli strumenti informatici disponibili per un analisi linguistica di documenti in linguaggio naturale; acquisire conoscenze sulle problematiche sottese all elaborazione di testi in linguaggio gg naturale attraverso una macchina; fornire competenze sulle principali applicazioni di linguistica computazionale.

Introduzione al corso Testi Consigliati: Introduzione alla linguistica computazionale Isabella Chiari, Editori Laterza Speech and Language Processing Daniel Jurafsky e James H. Martin, Prentice Hall Foundations of Statistical Natural Language Processing Christopher D. Manning and Hinrich Schϋtse, The MIT Press Trasparenze delle lezioni e dispensa Sito del Corso: http://www.mobilab.unina.it/tacaln.html.

Introduzione al corso Il trattamentott t automatico ti del linguaggioi naturale permette agli utenti di comunicare con le macchine attraverso le abilità comu- nicative naturali. Trattamento Automatico Comprensione Automatica La comprensione automatica del linguaggio naturale consiste nella traduzione delle frasi in una qualche rappresentazione interna sulla quale una macchina sia in grado di compiere, in modo automatico, inferenze e ragionamenti.

Concetti generali Quali sono le principali problematiche che ostacolano la realizzazione di una macchina senziente, capace di avanzati comportamenti linguistici? Comprensione del linguaggio: Speech Recognition Natural Language Understanding Comunicazione: Natural Language g Generation Speech Synthesis Reperimento contenuto informativo: Information Retrieval Information Extraction Ragionamento: Inference La branca dell intelligenza artificiale che studia queste tematiche prende il nome di Speech and Language Processing.

Concetti generali Cosa distingue un applicazione di elaborazione dati da una di elaborazione del linguaggio? Consideriamo il programma Unix wc, che dati uno o più file in input, conta: I byte Le parole Nel conteggio dei byte, il programma si deve solo occupare della valutazione dell occupazionedispazioinmemoria,percontareleparoleilprogrammadeve preliminarmente disporre della conoscenza di cosa sia una parola.

Concetti generali Un programma di elaborazione del linguaggio ha bisogno di una base di conoscenza linguistica, detta Linguistic Knowledge Base (LKB). Fonetica e Fonologia Morfologia Sintassi Semantica LKB Pragmatica Discorso

Concetti generali Test Di Turing o Test di intelligenza per una macchina: Date due persone, indicate con A e B, e un computer, denotato con C, che dialogano tra loro, A deve stabilire quale dei due interlocutori è C. Se A non è in grado di individuare id correttamente t C,allora C è intelligente. t Solo macchine dotate t di intelligenza sono in grado di svolgere compiti di computazione linguistica?

Concetti generali Nel 1966, fece la sua comparsa ELIZA: programma per computer, che in gran parte riproponeva nuovamente molte delle frasi immesse dall utente come domande. UTENTE: "mi fa male la testa ELIZA: "Perché tu dici che ti fa male la testa?" Eliza lavora analizzando e sostituendo delle semplici parole chiavi in frasi preconfezionate (Mancanza di intelligenza). Alcune volte era talmente convincente che alcuni utilizzatori erano fermamente convinti che dietro la macchina ci fosse davvero un essere umano. ELIZA ha smentito completamente il fondamento del Test di Turing

Gerarchia di Chomsky Definizioni Un Linguaggio è definito come un insieme, anche infinito, di stringhe, ognuna costituita da una successione di simboli terminali, talvolta chiamati parole. Una Grammatica è un insieme finito di regole, che specificano un linguaggio. I Linguaggi Formali sono caratterizzati da grammatiche chiare e precise, mentre per i Linguaggi Naturali non è così. I linguisti, però, si sforzano di scoprire le loro proprietà attraverso un processo di indagine scientifica, per poi codificarne i risultati in una grammatica.

Gerarchia di Chomsky Obiettivo: Rappresentazione dell analisi sintattica con una grammatica Comunemente la rappresentazione della struttura grammaticale di una frase è un albero, in cui ogni nodo rappresenta un costituente e con la categoria grammaticale come etichetta. S = nodo root dell albero (sentence) NP= nodo intermedio (Nominal Part) VP= nodo intermedio (Verbal Part)

Gerarchia di Chomsky Consideriamo Maria ama questa persona e le seguenti regole grammaticali: S -> NP VP VP -> V NP NP -> N NP -> A NP 1 2 3 4 La frase viene così scomposta: 1. Partenza: Intera frase S = Maria ama questa persona 2. Applicazione i regola 1 S = NP + VP 3. Applicazione regole 3 e 2 NP = N ; VP = V + NP 4. Applicazione regola 4 NP = A + NP 5. Applicazione regola 3 NP = N N Maria NP V ama S VP A questa NP NP N persona

Gerarchia di Chomsky I formalismi i grammaticali possono essere classificati in base alla loro capacità generativa, ovvero l insieme dei linguaggi che possono rappresentare, ne è un esempio la Gerarchia di Chomsky. Ricorsivamente enumerabili Grammatiche dipendenti dal contesto Grammatiche libere dal contesto Linguaggi Regolari Le lingue naturali non sono regolari, ma per la maggior parte è sufficiente una grammatica libera dal contesto. Tuttavia, esistono rari casi che richiedono una grammatica dipendente dal contesto.

Espressioni regolari Le Espressionii i Regolari (RE) sono una sintassi iattraverso cui si possono rappresentare insiemi di stringhe. Gli insiemi caratterizzabili con espressioni regolari coincidono quelli generabili dalle grammatiche regolari. Dato un alfabeto finito di simboli Σ, si definiscono Costanti: [ oppure Λ] insieme vuoto, [ε] stringa vuota, e un carattere in Σ ; Operatori: concatenazione, unione, stella di Kleene, intersezione, complementazione di un insieme; Caratteri speciali: carattere jolly [.] e le àncore; Esempio di ER in ambiente Unix: ".atto atto" indica ogni stringa di cinque caratteri come gatto, matto o patto "[gm]atto" indica gatto e matto "[^p]atto" indica tutte le combinazioni dell'espressione ".atto" tranne patto "^[gm]atto" indica gatto e matto, ma solo se poste all'inizio di una riga "[gm]atto$" indica gatto e matto, ma solo se poste alla fine di una riga

Espressioni regolari Utilizzo delle ER Formalizzazione Ricerca di Sostituzione linguaggioi stringhe ti caratteri Le sostituzioni i i sono un potente t mezzo per realizzare semplici i programmi di comprensione linguistica, consideriamo il seguente dialogo con ELIZA: User: He says I m depressed much of the time ELIZA I AM SORRY TO HEAR YOU ARE DEPRESSED Le risposte di ELIZA sono ottenute a partire dalle frasi inserite dall utente per sostituzione: s/.* YOU ARE (depressed sad).*/i AM SORRY TO HEAR YOU ARE \1/

Automi a stati finiti Un Automa a Stati Finiti (FSM) è un sistema dinamico, invariante e discreto. L' automa a stati finiti è un semplice modello di calcolo, utilizzato per l'elaborazione lelaborazione di quei linguaggi che nella gerarchia di Chomsky sono definiti di Tipo 3 o Regolari Gli FSM possono essere rappresentati mediante un grafo, o in forma tabellare. Sono caratterizzati da vari impieghi, come il riconoscimento di stringhe

Automi a stati finiti Nastro A Z K U N C I A O W Q L q 0 Automa di riconoscimento della parola CIAO in una sequenza di caratteri q 1 I q 2 C A tutti q 0 q 3 O q 4 tutti tranne C

Esempi di applicazioni linguistiche Esempio di utilizzo di ELIZA:

Esempi di applicazioni linguistiche Esempio di utilizzo di GIGETTA:

Esempi di applicazioni linguistiche Schema di funzionamento di un sistema di dialogo uomo-macchina:

Esempi di applicazioni linguistiche Esempio di utilizzo di EBBA: