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: