













































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
File completo per sostenere l'esame di Informatica Umanistica con Di Buono. Lascia una recensione se il file ti è stato utile! :)
Tipologia: Dispense
1 / 85
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!














































































L’informatica umanistica (o Digital Humanities) è una disciplina nata a metà del 1950, con le prime applicazioni di analisi testuale. Il nome fa riferimento al fatto che le scienze umane, ovvero le cosiddette scienze molli, si stanno appropriando di strumenti informatici per produrre dei software, delle applicazioni che servono a migliorare lo studio e l’accesso alle informazioni. Abbiamo diverse definizioni di informatica umanistica:
Utilizzare le tecnologie informatiche per trasformare un oggetto analogico in formato digitale (come l’OCR) non è l’unico compito delle Digital Humanities. Gli studiosi cercano soprattutto di analizzare gli aspetti differenti di un testo, o di un altro oggetto delle scienze umane, attraverso l’analisi letteraria o linguistica, che sono metodologie proprie delle scienze umane. È quindi una coniugazione della testualità con l’informatica, intesa come scienza dell’elaborazione dell’informazione. Il compito delle DH è inserire i dati in una rete di conoscenza che permette di connetterli ad altri oggetti della conoscenza, adeguandoli alle macchine. Bisogna quindi trasformare gli oggetti in questione secondo delle regole ben precise, adottando il linguaggio delle macchine, ovvero quello binario (in cui 0 è l’assenza di impulso e 1 è la presenza). Esistono vari aspetti da tenere in considerazione:
di computer, lo fece manualmente. Questo lavoro gli avrebbe occupato 30 anni della sua vita, e c’era il rischio di incappare in numerosi errori. Per questo motivo, entrò in contatto con il presidente IBM Thomas Watson, al quale chiese di utilizzare i calcolatori dell’IBM per terminare quest’analisi, che riguardava circa 9 milioni di parole.
calcolatori. La sua opera iniziò a metà degli anni ’30 e lavorò sugli aspetti della crittografia (tecnica con la quale si codifica il linguaggio naturale con dei numeri o un linguaggio artificiale). Negli anni
diventa uno standard ISO, riconosciuto ufficialmente, quindi condivisibile. All’inizio degli anni ’ viene proposto il progetto per rendere in formato elettronico l’opera del Beowulf.
Il Word Wide Web nasce nel 1991 e diventa presto necessario diffonderlo, così come i PC. Questo avvento cambia drasticamente le DH, poiché aumenta la disponibilità di materiali accessibili a tutti. Abbiamo un passaggio dal Web 1.0 al 3.0 che si può riassumere in:
riflessione metodologica e teorica, lo sviluppo di determinate pratiche, risorse e strumenti condivisi. Vengono studiati anche fenomeni che riguardano le culture digitali e l’analisi di modifiche nella comunicazione scientifica e infrastrutture di ricerca.
Quando si parla di linguistica computazionale, si pensa a Harris che aveva scritto una grammatica dell’inglese su basi matematiche. C’è una vicinanza tra linguaggio naturale e matematica, perciò ne consegue la possibilità di processare il linguaggio attraverso dei simboli. La linguistica computazionale si occupa principalmente di creare regole descrittive del linguaggio naturale in modo da poterlo rappresentare in un formato adatto al suo trattamento (semi)automatico da parte delle macchine. La linguistica computazionale quando si intende che si occupa di linguaggio naturale (NLP) è costituita di due processi: fase di understanding (comprensione) e fase di generation (produzione): si crea conoscenza attraverso la comprensione del testo o del linguaggio; si genera linguaggio e si crea conoscenza che avviene in questo scambio tra understanding e generation; questo è proprio ciò che devono fare le macchine. la Linguistica Computazionale si basa sulla linguistica formale, ossia sulla rappresentazione e formalizzazione del linguaggio naturale; essa si incentra inoltre sulla matematica, sulla logica, sulle scienze cognitive e sull’informatica.
L’apprendimento macchina è un sistema per il quale le macchine a partire da dati conosciuti riescono a produrre nuova conoscenza. diamo alla macchina questi esempi, come l’utente potrebbe formulare una domanda per avere delle informazioni e a partire da questi dati la macchina dev’essere in grado di riconoscere dei dati nuovi mai visti. Quindi, si da un piccolo set di dati conosciuti che ci si immagina come prima ipotesi e si dice alla macchina: “questi dati significano questo”. Un importante contributo che ha dato la spinta alle Digital Humanities è la disponibilità di contenuti e di dati su cui lavorare. Esistono i cosiddetti “open data” che sono i dati aperti, cioè i dati prodotti
Il Publication Office dell’Unione Europea, ha lanciato nel 2017 il Datathon, è una competizione basata sui dati. Il Publication Office mette a disposizione un portale di open data europei dove i provider, le istituzioni, forniscono le loro informazioni, L’Unione Europea poi li raccoglie tutti in un grande portale che si chiama Open Data Europa e li mette a disposizione dei ricercatori delle persone che vogliono utilizzarli.
Il processamento base dei testi si riferisce a delle operazioni preliminari che si effettuano su testo prima di procedere con analisi più specifiche relative a determinati task. Esiste un problema di lemmatizzazione e di forme di parola. Se noi produciamo una frase nel linguaggio naturale, Alexa
fatta una distinzione dove, ad esempio, in una frase ci sono delle ripetizioni e ci si chiedeva come considerare le parole e dire quante parole ci sono nella frase se la parola è ripetuta. si è giunti alla conclusione in cui si afferma l’esistenza di una differenziazione tra il lemma e i lemmi e le Word
è la parte sotto, cioè la parte di significato. Un altro problema è quello dei Token, ovvero quanti Token ci sono in una frase e quanti Type ci sono nella frase e la differenza che esiste tra Type e Token, dove Type è l’elemento che si trova all’interno del vocabolario. I Token sono le istanze, ovvero la realizzazione di un Type all’interno del testo. Di conseguenza da un punto di vista linguistico probabilmente verranno chiamati “lemma” e Word Form”, e nella parte di trattamento automatico del linguaggio, si parlerà di token.
La parola “corpus” ossia corpo, si riferisce a una raccolta di testi digitali. Quest’ultimi possono possedere alcune caratteristiche:
linguistico. Il materiale linguistico ha lo scopo di servire da base per la ricerca linguistica. I testi pertanto vengono raccolti sotto forma di corpus, selezionando i dati di modo che siano rappresentativi di un fenomeno. I corpora possono variare in base alla:
Si tratta di processi legati alla morfologia, perché per portare la parola alla forma base, al lemma, dobbiamo ricavare la radice, cioè la parte del lessema lessicale che porta il significato principale. Il parsing morfologico effettua questo processo: riconosce la parola, la scompone nel morfema lessicale (più piccola unità di significato che forma la parola) e nell’affisso grammaticale e riporta il tutto alla forma base. L’ultimo passaggio è quello della lemmatizzazione: si passa dal token al type, alla forma base. La
attraverso il quale i token vengono riportati alla loro forma di lemma, un processamento che avviene carattere per carattere. in un primo momento si punta alla tokenizzazione, dopodiché la parola viene analizzata carattere per carattere e viene individuata la radice. Il sistema dev’essere consapevole dell’esistenza di questi elementi, ed è per questo motivo che si devono dare delle regole in cui vengono descritti i vari affissi esistenti per tutte le parole in italiano.
Il processo successivo è la normalizzazione, ossia la trasformazione dei token in un formato standard. Possono essere utilizzate diverse modalità per scrivere le stesse parole. Ad esempio, U.S.A. come acronimo è uguale a USA e bisogna normalizzarlo, cioè portarlo allo stesso tipo di forma superficiale. Si applica a tutti i testi, perché bisogna renderli uniformi prima di processarli. La normalizzazione si basa in genere sulla trasformazione di tutte le lettere maiuscole in lettere minuscole, perché il più delle volte c’è una tendenza da parte degli utenti a utilizzare le minuscole. Tendenzialmente si normalizza per uniformare il testo per alcuni tipi di applicazioni ci sono delle differenze, se si considera l’acronimo USA scritto in maiuscolo, fa chiaramente riferimento agli Stati Uniti. Se utilizziamo “usa” in minuscolo, esso può indicare il verbo usare. C’è, quindi, una differenza, per cui il processo di normalizzazione ha anche dei risvolti negativi, che risiedono anche nell’ambiguità del linguaggio. Per certi task è importante differenziare i caratteri maiuscoli da quelli minuscoli. Ci sono dei casi in cui la normalizzazione causa una perdita di informazioni. Ci sono una serie di soluzioni che possono essere adottate: si può non normalizzare, ma sono problemi che si risolvono con l’aggiunta di informazioni ulteriori, che possono essere relative a informazioni di tipo grammaticali, morfologiche o informazioni semantiche. Si può tokenizzare, normalizzare e poi utilizzare ulteriori informazioni per risolvere i problemi causati dalla normalizzazione.
Un altro problema riguarda la segmentazione delle frasi, perché se bisogna processare un testo si deve anche capire come riconoscere le frasi, oltre che le parole, perché le frasi sono separate da segni che non sono spazi bianchi, ma segni di punteggiatura. Anche questo crea problemi, ma ci sono anche delle soluzioni. Generalmente si utilizza un dizionario di abbreviazioni o una lista di acronimi. Questi si danno alla macchina e si trasformano in una sorta di algoritmo, una serie di istruzioni che vengono date come sequenza per raggiungere uno scopo, per compiere un’azione. Sono una forma descrittiva di come un’azione deve essere compiuta. Bisogna rappresentare il testo in qualche modo per permettere alla macchina di processare questo testo e questa rappresentazione si deve basare sui linguaggi formali.
Con linguaggio formale si intende un insieme di stringhe costruite sopra un alfabeto, cioè sopra un insieme di oggetti tendenzialmente semplici che vengono chiamati caratteri, simboli o lettere. Sovente si suppone che l'alfabeto sul quale è costruito il linguaggio sia un insieme finito. La teoria dei linguaggi formali nasce negli anni ’50 nell’ambito della linguistica, ed è utilizzata come modo per comprendere e descrivere le regolarità dei linguaggi naturali. Ci sono degli aspetti, delle regolarità del linguaggio che possono essere descritti come combinazioni di caratteri, prima di arrivare a parlare di significati si ha un insieme di caratteri che possono essere combinati in stringhe e questi sono effettivamente degli oggetti. La teoria dei linguaggi formali considera un linguaggio come un oggetto matematico. In linguistica ci sono molti altri tentativi di descrivere un linguaggio su base matematica, proprio perché gli studi linguistici tendono ad analizzare il linguaggio anche in maniera generale oppure a generalizzare sulle modalità di funzionamento di un linguaggio. Un linguaggio può essere definito come un set di stringhe, a partire da un alfabeto finito. Questo set di stringhe è presumibilmente infinito poiché non vi è effettivamente un limite alle combinazioni che possiamo fare tra i diversi caratteri per formare le parole, ma nella realtà questo set di stringhe è finito ed è anche definito da un vocabolario. nella crittografia si associa un numero a una lettera, quindi i numeri si concatenano in sequenza per formare una parola. Ad esempio, si potrebbe dire che:
dimostrare che la correttezza sintattica non implica che la frase sia dotata di significato, restando pur sempre una frase grammaticalmente corretta. Il problema di questa frase è che, pur essendo grammaticalmente corretta (well-formed), in realtà non significa nulla, non ha un significato. Ciò porta a dire che, attraverso il linguaggio formale, rappresentiamo delle informazioni che sono prettamente grammaticali, ma in realtà non stiamo ancora rappresentando i significati.
La gerarchia di Chomsky-Schützenberger descrive quattro classi di linguaggi formali, corrisponde a un tipo di grammatica e a un tipo di analizzatore automatico, quindi un parser. Un parser verifica se una parola o una frase appartengono o meno a un linguaggio, verifica se le regole del linguaggio
macchina l’istruzione di considerare entrambe potrebbe essere mettere la s tra parentesi tonde. Quello che bisogna fare è quindi ricavare l’elemento comune tra queste due sequenze di caratteri e utilizzare dei simboli per segnalarlo alla macchina, segnalando la presenza di un ulteriore carattere che le distingue. Facciamo ciò se si vuole vedere quante volte occorre questa parola all’interno di un testo. Se si volessero recuperare sia “woodchuck” che “Woodchuck”, bisognerebbe dire alla macchina che il carattere iniziale è lo stesso, ma può essere sia maiuscolo che minuscolo: lo si fa inserendo tra parentesi quadre entrambe le forme. ( es. [wW]oodchuck) Se si volesse invece recuperare tutte e quattro le parole elencate, bisognerebbe comunicare alla macchina [wW]oodchuck(s) → unendo due tipi di informazioni. Attraverso l’uso delle espressioni regolari si fa un’astrazione, cioè dai caratteri si va verso una forma di rappresentazione delle informazioni più astratta. Il simbolo ^ (carat) indica che non deve essere trovato quanto segue all’interno delle parentesi quadre. Per cercare dei sinonimi si usa il simbolo | (pipe). Si parla in questo caso di disgiunzioni.
Bisogna annotare un testo perché le parole tokenizzate non stanno portando altre informazioni, sono solo sequenze di caratteri. Nel momento in cui si desidera processare un testo che ha delle
dispone di un testo in formato digitale che contiene una serie di informazioni, queste ultime possono essere processate in maniera automatica con l’analisi testuale. Un altro motivo è la creazione di risorse linguistiche, una serie di risorse di diverso tipo, che possono essere database, basi terminologiche e corpora che contengono una serie di informazioni sul testo. Attraverso l’annotazione si può inoltre recuperare ed estrarre una serie di informazioni; nel momento in cui si annota si possiedono delle informazioni sul testo e attraverso queste annotazioni è possibile recuperare altre informazioni all’interno della rete di conoscenza. Infine, si usa per l’addestramento dei sistemi di machine learning. Alla macchina vengono fornite una serie di parole, i dati di esempio, e su quello deve essere fatto l’addestramento. Dopodiché la macchina sarà capace di riconoscere dei dati che non ha mai visto e quindi classificarli.
cui queste etichette sono convertite in un linguaggio formale, machine readable, e lo si capisce dal fatto che ci sono dei collegamenti. È possibile annotare i morfemi, le parole, i gruppi di parole, frasi, paragrafi e testi completi e dunque tutto ciò che è all’interno del testo, a partire dall’unità più piccola: il morfema. In alcuni casi si può annotare soltanto una parte della parola e via salendo di grado; il morfema è la parte più piccola, le parole e i gruppi di parole sono intermedi e poi paragrafi e testi completi sono i livelli più alti di annotazione. Se si volesse annotare una frase per indicare se sia una frase con un sentimento positivo o un sentimento negativo, dovrà essere preso tutto il blocco. A livello di annotazione linguistica esistono diversi livelli che si possono identificare e che riguardano tutti gli aspetti di analisi linguistica. Possiamo annotare gli aspetti di sintassi e dunque le parole per selezionare il verbo, il nome e fare un’analisi linguistica testuale, oppure per vedere un autore come e quante volte utilizza i nomi o che utilizzo si fa dell’aggettivo. È possibile annotare anche gli aspetti di fonologia e fonetica quando si tratta di trascrizioni del parlato, il lessico, il discorso così come la pragmatica e la struttura del testo. Tutto quello che costituisce un’analisi linguistica può essere annotato in un testo. Se si parla di cosa sono le hate speech detection si hanno la lecture di un intented speaker, e in questo caso l’annotazione iniziale che si deve fare per riconoscere questi dati è un’annotazione di tipo semantico e si fa a livello di frase a cui viene assegnata una polarità positiva o negativa. Può essere una frase discriminante oppure le viene assegnato un valore neutro, o addirittura un valore positivo come a indicare che quella frase non contiene messaggi d’odio. Se si dicesse “brutti bastardi questi razzisti” non si starebbe scrivendo una frase d’odio, anzi il contrario, però se si facesse un’annotazione a livello di parola comparirebbero una serie di parole negative e quella frase verrebbe associata a un sentimento negativo. Vi è una lista di diversi fenomeni linguistici che possono essere annotati, i quali sono identificabili come task difficili, task più facili e task più difficili. Un esempio molto in voga è quello della co-referenza, cioè l’utilizzo di un elemento come il pronome relativo “che”, il quale fa riferimento a un altro elemento all’interno
quel “che” prima di “mi ha detto” è un elemento co-referente con la parola Mario. Per le macchine è molto difficile riconoscere quell’elemento a che cosa fa riferimento, mentre per un parlante è chiaramente facile riconoscere nel filo del discorso se il primo che è un elemento che si riferisce a una persona o che introduce una dichiarativa. Si creano dei dati che possono essere messi a disposizione della macchina per la fase di apprendimento o che possono servire anche a noi per certe analisi automatiche o semi automatiche che possiamo fare, però esistono dei task che possono essere molto più difficili, come ad esempio l’assegnazione di un valore positivo o negativo ad una frase e dunque il “maledetti razzisti” può essere sia una frase positiva che negativa; i dati sono fatti da esseri umani e ci sono una serie di task che riguardano anche le opinioni o la soggettività, quindi, sono soggetti ad annotazione anche dagli annotatori il che può creare dei problemi. Elementi che sono molto più difficili da annotare, come ad esempio il sarcasmo, l’ironia, che tra l’altro è una cosa culturalmente legata e può essere ad esempio valida per un soggetto, ma non per un altro. Esistono le annotazioni informali, perché tendenzialmente non sono machine readable e non sono condivisibili in una situazione più ampia, il trattamento dei testi che bisogna fare è dunque un trattamento automatico o semiautomatico, ma che permetta anche ad altri di utilizzare questi dati.
flessibile, , dice che gli elementi possono essere creati a discrezione di chi sta utilizzando quel linguaggio. Non si devono necessariamente utilizzare etichette esistenti, ma possono essere personalizzate, quindi per esempio, se si vogliono identificare certi elementi in un testo, anche elementi extra-testuali, lo si può fare definendo dei tag all’interno del linguaggio XML e utilizzando questi ultimi. Questi linguaggi sono quelli che permettono di condividere informazioni con altre persone. Ovviamente si considera che, se si utilizzano etichette personali, è chiaro che la macchina, anche se addestrata, può sbagliare. Se si mettono delle annotazioni su un testo senza adeguarsi a certi schemi, ovviamente poi non è detto che questo testo sia comprensibile anche in altre situazioni.
Questi linguaggi di marcatura sono estremamente importanti perché hanno dato vita ad altre iniziative come la TEI (iniziativa di codifica del testo). La TEI è un’iniziativa estremamente importante perché è la prima iniziativa che ha creato delle linee guida per classificare e inserire una serie di informazioni sui testi digitali. All’interno di un testo c’è un titolo, che è una sequenza di caratteri e poi di parole che rappresenta il titolo del libro, oppure, la parte in cui viene fatta la dedica. Quando poi si va a processare il testo con una macchina queste informazioni possono tornare utili, ad esempio se si vuole vedere se un autore ogni volta che ha scritto il libro, lo ha dedicato sempre alla stessa persona; oppure se si vuole vedere se la casa editrice Feltrinelli nelle sue edizioni economiche ha sempre una prefazione del traduttore. Quella potrebbe essere un tipo di analisi e queste informazioni devono essere aggiunte su un testo digitale inizialmente attraverso l’annotazione manuale e attraverso gli elementi della TEI che permettono di conoscere questi aspetti. Se si vuole organizzare un task di annotazione, l’annotazione inizialmente è manuale, anche per quella che poi viene fatta automaticamente dalle macchine in un secondo momento, però i dati iniziali sono a opera degli umani. Si ha uno schema proposto nel 2013 da Pustejovsky e Stubbs che viene chiamato Ciclo MATTER. Le MATTER sono le iniziali delle diverse fasi: una fase del modello/modellazione, una fase di annotazione, una fase di training, una fase di test, una fase di valutazione e una fase di revisione e poi si ricomincia. Il ciclo è circolare, perché alcuni task sono difficili da svolgere come annotazione ed esistono certi aspetti che sono soggettivi, per cui non sempre i modelli sono adeguati.
annotare quello come aggettivo quando eventualmente è un nome utilizzato in funzione di aggettivo, quindi, è l’etichetta a essere sbagliata. Esiste anche il caso in cui non viene annotato un elemento che doveva essere annotato. Esistono task oggettivi e soggettivi, dove i più semplici sono quelli oggettivi. Un esempio è il POS tagging (part of speech tagging), cioè l’annotazione delle categorie grammaticali. Se un’annotazione non risponde il 100 % vuol dire che gli annotatori umani non sono in grado di avere un accordo al 100% su quali sono le categorie grammaticali. Quando andiamo sul significato delle parole l’accordo scende al 70% (fino al 70% c’è accordo, oltre no). Il risultato di un’annotazione di
secondo lui è un verbo. Significa che stiamo dando alla macchina dei dati non congruenti, non coerenti. Nel caso di una annotazione a più mani è necessario calcolare il grado di IAA. Il grado di accordo tra gli annotatori stabilisce anche il grado di qualità/affidabilità della risorsa annotata, ovvero se gli annotatori prendono coerentemente le stesse decisioni. Si calcola l’agreement, cioè l’accordo. L’inter-annotator agreement è un calcolo, è una formula matematica che si fa anche in modo automatico. Esistono dei tool per calcolarlo, per vedere quanto gli annotatori sono d’accordo sulle annotazioni, cioè quanto due o più annotatori utilizzano la stessa etichetta per annotare un certo elemento. Il grado di accordo si può stabilire in vari modi:
Cohen’s kappa. L’accordo tra annotatori è quello che rende valide le annotazioni. Al di sotto di certe cifre non si presentano i dati. Il calcolo dell’accordo tra annotatori si fa con una serie di calcoli che permettono di dire quanto due o più annotatori concordano sul fatto che quella porzione di testo sia una certa informazione. La Precision calcola la qualità delle annotazioni effettuate: la precision e recall sono due concetti che non si usano solo per l’annotazione, ma anche per i motori di ricerca, cioè il calcolo della precision, del recall e poi della misura F, in realtà sono dei valori che si usano in tante situazioni per vedere la quantità e la qualità delle informazioni, Ciò significa, per le annotazioni, quante annotazioni corrette ci sono rispetto al numero totale di annotazioni eseguite. Il recall invece va rispetto alla quantità, cioè numero di annotazioni corrette eseguite su numero totale di annotazioni corrette attese, cioè su 1000, se ne sono fatte 90 corrette, ma dovevano essere 110.
Il grado di accordo tra gli annotatori si calcola su un sottogruppo di dati totali per vedere se gli annotatori interpretano allo stesso modo i dati linguistici da annotare. Due annotatori annotano un set comune di dati, se si ha un set di 10 mila frasi da annotare, ogni annotatore dovrebbe annotare 5 mila frasi diverse, però per controllare che il modello e il sistema di annotazione sia chiaro si effettua il calcolo dell’accordo. Si prende un piccolo set e vengono annotati due volte, cioè da entrambi gli annotatori, su queste annotazioni si calcola quanto gli annotatori siano d’accordo cioè si va a vedere se abbiano selezionato le stesse parole, se abbiano applicato la stessa categoria. Per esempio, se si parla di annotazione sintattica con le classi grammaticali, si possono considerare una frase dove c’è una parola ambigua che può essere un nome o un verbo. Questo calcolo permette di vedere quanto concordano i due annotatori e se il modello di annotazione sia chiaro. Quando il modello non è chiaro si andrà a vedere i casi dubbi, cioè dove gli annotatori hanno annotato in maniera diversa. Si danno una serie di informazioni agli annotatori per distinguere questi casi, ad esempio se prima c’è un articolo. Le indicazioni che vengono date agli annotatori sono molto specifiche sia per il task che per la lingua, non esistono delle regole assolute che possono essere applicate a tutte le lingue o a tutti i task. L’accordo è importante perché è quello che ci dà il valore dei dati annotati. Al di sotto di un certo grado di accordo tra gli annotatori il dataset non è considerato valido e si deve annotare di nuovo, in generale un agreement corretto è tra il 60% e il 70%. Si va ad inserire:
◦ Nomi e verbi nuovi come iPhone or to fax Ci sono delle parole che possono essere a metà tra la classe aperta e la classe chiusa ad esempio gli ausiliari che vengono considerate parole funzionali ma inizialmente appartengono ai verbi e quindi dovrebbero essere nella classe aperta. Il PoS Tagging consiste nell’assegnare una part-of-speech a ogni parola in un testo, cioè ad una categoria grammaticale. Viene considerato un task di disambiguazione perché le parole hanno spesso più di una part-of-speech. Esempio: in inglese, “book” può essere un nome o un verbo. E in questo caso la differenza tra verbo e nome non è data dalla posizione della parola, ma dal contesto frastico. Da un punto di vista della macchina, questa deve mappare da una sequenza di parole X1, ..., Xn (a seconda di quante parole ci sono nel testo) a una sequenza di Y1, …, Yn di PoS tag, che corrisponde al numero di parole. Il PoS Tagger associa ad ogni parola la categoria grammaticale.
principali categorie grammaticali. È stato creato nel 2016 ed è uno dei più utilizzati. È chiamato Universal Dependencies perché fa riferimento a degli universali linguistici comuni a tutte le lingue. Per determinate categorie, è necessario essere più specifici per descrivere il linguaggio in maniera precisa. Un esempio sono i verbi con gli ausiliari, che sono delle sottocategorie. Tra le varie categorie abbiamo:
Per provare a risolvere tali problemi e migliorare l’accuratezza è possibile inserire informazioni aggiuntive per disambiguare. Ci sono tre fonti di informazioni che servono per migliorare questo valore di accuratezza nel PoS tagging. Innanzitutto la probabilità apriori secondo cui una certa parola presenta un certo tag (will è generalmente un avverbio); altra fonte sono le ide si fa la differenza fra gli algoritmi supervisionati (Supervised Machine Learning Algorithsms) e non supervisionati (Unsupervised Machine Learning Algorithsms). Gli algoritmi supervisionati sono così chiamati perché hanno dei dati iniziali di riferimento che servono per apprendere e riconoscere i nuovi dati; quelli non supervisionati, al contrario, non hanno dati di esempio. Possiamo quindi dire che tutte queste operazioni di trattamento automatico del linguaggio sono semi-automatiche perché c’è sempre una fase iniziale in cui vengono prodotti dei dati iniziali da umani e poi ci sono gli algoritmi supervisionati che lavorano e apprendono a parte da quei dati. ntità delle parole vicine; vi è poi la morfologia e le forme di parole.
Per distinguere i nomi propri esiste un task, quello del riconoscimento delle entità nominate. Le
nome proprio. I tag più comuni sono: PER (person) per indicare la persona LOC (location), ORG (Organization) per le organizzazioni, GPE (Geo-Politcal Entity) per le entità geopolitiche. Il task di Named Entity Recognition (NER) trova porzioni (span) di testo che costituiscono un nome proprio e tagga il tipo di entità.
La NER è un task difficile:
Il Parsing sintattico è un task che consiste nell’assegnare una struttura sintattica a una frase. Se il PoS Tagging serve ad assegnare delle categorie grammaticali alle singole parole all’interno di una frase, il Parsing lavora su un livello più alto: dalla singola parola a cui si può associare una categoria grammaticale, si ragiona in termini di frase di cui si vuole descrivere la struttura sintattica.