Modulo B Valutare i sistemi automatici di interazione linguistica 10. Intelligenza artificiale e no 5 aprile 2017 Linguistica italiana II Mirko Tavosanis A. a. 2016-2017 Sviluppo del corso • Finora abbiamo visto il trattamento del linguaggio prodotto da esseri umani (gli assistenti digitali andavano oltre) • Nelle prossime settimane vedremo in sostanza la generazione automatica del linguaggio, in modo meno collegato all’input di esseri umani • In pratica: • Riassunto di testi • Chat • Generazione automatica di testi sulla base di dati numerici • Su tutti questi argomenti sarà possibile fare la relazione finale Dettaglio 10. Intelligenza artificiale e no – 5 aprile 11. Il riassunto automatico – 12 aprile 12. Il dialogo automatico – 13 aprile 13. I chatbot oggi – 19 aprile 14. La composizione automatica del testo – 20 aprile 15. L’italiano giornalistico automatizzato – 3 maggio 16. Applicazioni di composizione automatica – 4 maggio 17. Definizione delle relazioni – 10 maggio 18. Conclusioni – 11 maggio Sono ancora possibili spostamenti e rinvii, fino alla settimana del 17-18 maggio Mancata comprensione del testo • Tutti gli strumenti che abbiamo visto – e che vedremo – non «comprendono» il testo • Abbiamo visto per esempio la situazione della sintassi: è un lavoro sostanzialmente statistico e manca anche la capacità di individuare le relazioni sintattiche • Tuttavia, questi sistemi si rendono utili anche se non sono davvero capaci di capire il testo • Prima di procedere dobbiamo fare qualche considerazione generale sulla comprensione del testo e sull’intelligenza artificiale • Poi, la semantica Dal riconoscimento alla comprensione • In italiano (significati di De Mauro) : • riconoscere significa «identificare, individuare qcn. o qcs. che già si conosce» • conoscere significa «avere qcs. presente all’intelletto, averne la nozione, il concetto, sapere che esiste, qual è e che caratteristiche ha» • Il riconoscimento però può essere un’operazione del tutto meccanica, nel senso in cui una serratura «riconosce» la chiave • Il riconoscimento del parlato, come abbiamo visto, opera senza nessuna vera comprensione: ricollega statisticamente i suoni a forme del dizionario • Tuttavia, alcuni sistemi muovono (piccolissimi) passi in direzione della comprensione Intelligenza artificiale • Oggi va di nuovo di moda parlare di «intelligenza artificiale» (IA): l’abbiamo visto parlando degli assistenti vocali • Siamo arrivati al punto in cui ‘Artificial Intelligence’ Has Become Meaningless. It’s often just a fancy name for a computer program: Ian Bogost, The Atlantic, 4 marzo 2017 https://www.theatlantic.com/technology/archive/2017/03/what-is-artificialintelligence/518547/ • Per esempio: Facebook announces an AI to detect suicidal thoughts posted to its platform, but closer inspection reveals that the “AI detection” in question is little more than a pattern-matching filter that flags posts for human community managers. • Come “verifica”, direi che è importante ricordarci anche questo: gli strumenti sono limitati e funzionano per un compito solo In ogni caso, qualche passo avanti c’è • I programmi basati su reti neurali, apprendimento automatico e così via, anche se sono sempre lontani da una vera intelligenza rappresentano passi avanti rispetto alle tecnologie precedenti • Operativamente, fanno cose che prima non si potevano fare! • Inoltre, spesso includono componenti di regole esplicite che ricordano i vecchi «sistemi esperti» • Il ritorno dei linguisti? Ancora no, ma l’analisi statistica forse non è lontana dai suoi limiti (aumentare la massa dei testi non farà molto) • Per esempio, l’inserimento di informazioni semantiche esplicite è una componente • Nelle prossime lezioni occorrerà spesso distinguere caso per caso tra sistemi meccanici, statistici, basati su apprendimento automatico, semantica e così via Capire il testo • «Capire» il testo, naturalmente, è una convenzione: probabilmente anche gli esseri umani non lo fanno sempre e a volte operano in modo meccanico • Di sicuro, in molti casi il testo prodotto da esseri umani non ha senso e/o non viene compreso! (Lo vedo regolarmente in elaborati di laurea e simili) • Non possiamo descrivere in dettaglio i meccanismi intellettuali dietro alla comprensione, ma in alcuni casi siamo in grado di verificare se c’è stata o no • Per esempio, dato un testo è possibile vedere se un essere umano è in grado di rispondere correttamente e non meccanicamente a domande sul contenuto del testo stesso Controllo della comprensione del testo • Un esercizio inserito nei test d’accesso per Informatica umanistica (triennale) per l’anno accademico 2016-2017 • Le domande richiedono di comprendere il testo e applicare in modo non meccanico le nozioni contenute al suo interno • Domanda 1: non c’è alcun appiglio formale che consenta di trattare l’esempio; alla domanda non si può rispondere se non si applicano distinzioni astratte • Nessun sistema informatico ha oggi la capacità di rispondere a domande del genere senza addestramento specifico! • La prova contiene anche domande di tipo diverso: per esempio la domanda 4 richiede la comprensione lessicale Elaborazione senza comprensione • Possiamo immaginarci situazioni di trattamento meccanico del testo da parte di esseri umani – per esempio nel caso di testo incomprensibile • Un esercizio sul testo che non richiede comprensione: «nel testo compare il nome ‘Bloomfield’»? • In questo testo cinese si parla di Pechino (北京)? 《不列颠百科全书》将北京形容为全球最伟大的城市之 一,而且断言“这座城市是中国历史上最重要的组成部 分。在中国过去的8个世纪里,几乎北京所有主要建筑都 拥有着不可磨灭的民族和历史意义”。北京古迹众多,著 名的有故宫、天坛、颐和园、圆明园、北海公园等。 • Non c’è nulla di strano, e il lavoro può essere utile Integrazioni • In un certo senso (limitato), l’inserimento di informazioni semantiche è una forma di comprensione del testo • Questo inserimento permette in alcuni casi di superare il limite indicato da Bar-Hillel • Statistica su singola parola Se si sceglie solo la corrispondenza più probabile, la parola pen inglese sarà sempre tradotta come penna in italiano • Correzione con dati In presenza di alcune informazioni sintattiche o di contenuto, la parola pen può essere tradotta come recinto • In linguistica computazionale si parla di Word sense disambiguation • Resta sempre un lavoro statistico – ma non puramente statistico Valutazione Già Bar Hillel (1951 e 1960; in particolare, Appendici II e III) aveva notato che la traduzione sarebbe rimasta sempre imperfetta perché collegata alla semantica “The box was in the pen” il significato è diverso quando si tiene conto di un contesto più ampio: “Little John was looking for his toy box. Finally he found it. The box was in the pen. John was very happy.” Google Traduttore: “Little John stava cercando la sua scatola dei giocattoli. Finalmente la trovò. La scatola era nella penna. John era molto felice.” Microsoft Translator: “Little John era alla ricerca di sua scatola dei giochi. Infine lo ha trovato. La scatola era nella penna. John era molto felice.” Tuttavia aveva notato anche che questa imperfezione era una questione quantitativa, collegata al numero di frasi interpretabili solo in base al contesto – frasi che in alcuni testi potevano essere del tutto assenti Polisemia • Molte parole hanno più di un significato, ma gli esseri umani disambiguano in base al contesto – e gli errori sono materia di barzellette • In italiano, per esempio, allungare ha sei significati diversi come verbo transitivo (De Mauro): I. v.tr. I 1a. rendere lungo o più lungo, aumentare in lunghezza: allungare un percorso, un vestito I 1b. distendere: allungare le gambe I 2. aumentare la durata, protrarre: allungare un discorso, una sosta I 3. TS gramm. di vocale: aumentare la quantità I 4. FO diluire: allungare lo smalto con il solvente; annacquare: allungare il vino I 5. CO fam., dare, spec. qcs. che sia a portata di mano: allungami la bottiglia per favore, suo padre gli ha allungato un biglietto da centomila come se niente fosse I 6. CO fam., affibbiare, assestare, spec. uno schiaffo, una pedata II. v.intr. (avere) TS sport nel ciclismo e nel podismo: effettuare un allungo Esempi di polisemia • «Indicativamente, nel complesso dei 260.000 lessemi italiani se ne trovano oltre 50.000 con più di un’accezione, oltre 27.000 con più di due accezioni, oltre 9000 con più di cinque, 100 con più di venti, una decina con più di trenta»: Luca Lorenzetti, Lessico, in Enciclopedia dell’italiano • Oltretutto, la polisemia è concentrata nelle parole di uso quotidiano e nel vocabolario di base, mentre è più ridotta nella terminologia tecnico-scientifica («ruggine» ha 5 diversi significati, «pirolisi» uno solo) • Il verbo fare ha 28 significati diversi, nel dizionario di De Mauro Tra questi: • Transitivo 15. trascorrere, passare: fare Natale in famiglia, fare le vacanze al mare, fare tre ore di coda • Intransitivo 3. seguito dalla prep. da, avere la funzione, fungere: fare da padre; questo divano può anche fare da letto Disambiguazione • In sostanza, data una parola in un testo (comunque sia stata ottenuta), occorre ricondurre la parola a uno dei suoi significati da dizionario • Cioè, dato «fare», occorre vedere in quale dei suoi significati il verbo viene usato in quel contesto • Ovviamente la procedura ha dei limiti; però ci sono modi per fare ipotesi soddisfacenti • Due tecniche di disambiguazione si basano su: • Argomento del brano (topical context - se nel brano compaiono le parole «ore», «presto», «tempo» e così via è più probabile che il significato di fare sia «trascorrere, passare») • Contesto locale (local context, informazioni sintattiche o semantiche molto vicine alla parola - se immediatamente dopo il verbo c’è la preposizione da è più probabile che il significato di fare sia «avere la funzione, fungere») Disambiguazione in base all’argomento • Per gli esseri umani è una componente importante della comprensione • Per i sistemi automatici la lunghezza migliore della «finestra» per individuare l’argomento è stata individuata in 50 parole (Gale, Church e Yarovsky, 1992) • Nei sistemi automatici la disambiguazione funziona molto bene quando i significati delle parole sono molto diversi • Pesca: atto del pescare • Pesca: frutto • Funziona molto peggio quando le due parole hanno significati vicini; per esempio, il sostantivo basso in un brano in cui si parla di musica Basso (sostantivo) De Mauro riporta quattro sensi della parola collegati all’ambito musicale: II 5a. TS mus. la voce maschile di registro più grave | cantante che ha tale voce (abbr. B) II 5b. TS mus. la parte più grave, vocale o strumentale, di un brano musicale | la voce cui è affidata tale parte (abbr. B) | con funzione appositiva, indica uno strumento che, tra quelli di una stessa famiglia, ha un’estensione corrispondente approssimativamente a quella della voce di basso: clarinetto basso II 5c. TS mus. spec. al pl., in un’orchestra, l’insieme dei violoncelli, dei contrabbassi o dei fagotti | nella musica jazz, contrabbasso II 5d. TS mus. contrabbasso a forma di chitarra, in cui le vibrazioni delle corde sono convertite in impulsi elettrici e fatti poi passare attraverso un amplificatore Disambiguazione in base al contesto • Anche questa è una componente importante della comprensione per gli esseri umani • Gli esseri umani riescono a farla bene con una «finestra» di 2 parole prima o dopo la parola interessata • La stessa lunghezza viene usata per l’elaborazione automatica • Del resto, le parole connesse (preposizioni, sostantivi e aggettivi concordati, verbi…) si trovano spesso in sequenza immediata • Per l’analisi statistica, però, questo è un problema: ci sono pochi dati su cui lavorare Combinazione • Miglioramenti nella disambiguazione si possono avere combinando le informazioni fornite dall’argomento del brano con quelle fornite dal contesto locale • Oggi queste tecniche sono usate comunemente; ricordiamoci però lo stato dell’arte: “Little John was looking for his toy box. Finally he found it. The box was in the pen. John was very happy.” Google Traduttore: “Little John stava cercando la sua scatola dei giocattoli. Finalmente la trovò. La scatola era nella penna. John era molto felice.” Microsoft Translator: “Little John era alla ricerca di sua scatola dei giochi. Infine lo ha trovato. La scatola era nella penna. John era molto felice.” • Per alcune informazioni relative a WordNet: Leacock e Chodorow, Combining Local Context and WordNet Similarity for Word Sense Identification, 1998 • Che cos’è WordNet? Preliminare • Per poter ricondurre la parola a un significato da dizionario occorre innanzitutto che il dizionario esista • Poi, per lavorare in automatico occorre che il dizionario possa essere usato da una macchina • Una risorsa di riferimento per i compiti di disambiguazione è WordNet (Università di Princeton), un database di organizzazione del lessico sviluppato per l’inglese: http://wordnet.princeton.edu/ • I contenuti di WordNet possono essere visti via browser (ma WordNet è anche scaricabile) • Una raccolta di studi: WordNet. An Electronic Lexical Database, a cura di Christiane Fellbaum, Cambridge (Ms.), MIT Press, 1998 WordNet • “WordNet® is a large lexical database of English. Nouns, verbs, adjectives and adverbs are grouped into sets of cognitive synonyms (synsets), each expressing a distinct concept. Synsets are interlinked by means of conceptual-semantic and lexical relations. The resulting network of meaningfully related words and concepts can be navigated with the browser. WordNet is also freely and publicly available for download. WordNet's structure makes it a useful tool for computational linguistics and natural language processing.” • “WordNet superficially resembles a thesaurus [dizionario dei sinonimi], in that it groups words together based on their meanings. However, there are some important distinctions. First, WordNet interlinks not just word forms—strings of letters—but specific senses of words. As a result, words that are found in close proximity to one another in the network are semantically disambiguated. Second, WordNet labels the semantic relations among words, whereas the groupings of words in a thesaurus does not follow any explicit pattern other than meaning similarity.” • Per esempio: S: (n) sty, pigsty, pigpen (a pen for swine) ItalWordNet • Sul modello di Wordnet, l’ILC ha realizzato ItalWorldNet, che include: un wordnet contenente circa 47.000 lemmi, 50.000 synset e 130.000 relazioni semantiche (tra le relazioni codificate le più importanti sono le seguenti: iperonimia/iponimia, antonimia, meronimia, relazioni di causa, relazioni di ruolo etc.); un Inter-Lingual Index (ILI), che è una versione non strutturata di WN1.5: questo modulo, usato in EWN per collegare wordnet di diverse lingue, è stato mantenuto anche in IWN per rendere la risorsa utilizzabile in applicazioni multilingue; la Top Ontology (TO), una gerarchia di concetti indipendenti dalla lingua, che riflette fondamentali distinzioni semantiche, costruita nell'ambito di EWN e parzialmente modificata in IWN per spiegare gli aggettivi (non trattati in EWN): la TO è costituita da aspetti indipendenti dalla lingua, che possono (o non possono) essere lessicalizzati in vari modi, o secondo diversi modelli, in diverse lingue (…); attraverso l'ILI, tutti i concetti del wordnet sono direttamente o indirettamente collegati alla TO . • L’interrogazione è disponibile a: http://www.ilc.cnr.it/iwndb/iwndb_php/ Uso con Google • La rete di sinonimi / iponimi / iperonimi si presta bene alle correzioni semantiche • Il vecchio sistema Google di traduzione automatica (ancora in uso per l’italiano) si serve di Wordnet e varianti per diverse lingue • Per l’italiano apparentemente viene usato MultiwordNet della Fondazione Bruno Kessler (multiwordnet.fbk.eu): MultiWordNet is a multilingual lexical database in which the Italian WordNet is strictly aligned with Princeton WordNet 1.6. The Italian synsets are created in correspondence with the Princeton WordNet synsets, whenever possible, and semantic relations are imported from the corresponding English synsets; i.e., we assume that if there are two synsets in PWN and a relation holding between them, the same relation holds between the corresponding synsets in Italian. While the project stresses the usefulness of a strict alignment between wordnets of different languages, the multilingual hierarchy implemented is able to represent true lexical idiosyncrasies between languages, such as lexical gaps and denotation differences.