[LC] Preparazione del testo


revisioni

Preparazione del testo

Rumore

Bisogna compiere una serie di passaggi per avere un testo effettivamente compatibile con le metodologie d’analisi che vogliamo utilizzare. I dati testuali già digitali o digitalizzati contengono un rumore, possono tipo:

  • codici di markup
  • errori di digitalizzazione (ad es. OCR)
  • errori di conversione (caratteri spuri etc.)
  • errori di battitura

Fasi principali

  1. text cleaning
  2. verifica dei caratteri del testo
  3. normalizzazione del testo
  4. tokenizzazione

Text cleaning

Ripulire il contenuto testuale dai codici in formato testo che spesso sono presenti da testi scaricati dal Web, ad esempio. Rimozione di:

  • tabelle, didascalie delle figure, intestazione delle pagine e in generale il materiale ripetuto per ragioni tipografiche
  • mark-up HTML
  • titoli per la barra di navigazione, frammenti di codice JavaScript, link, etc.
    • cf. iniziativa internazionale CLEANEVAL
  • trattini per spezzare e mandare a capo

Di solito sono lavori di cui dobbiamo occuparci noi stando attenti a non togliere troppo. In alcuni casi esistono, ad es. su wikipedia, dei testi che vengono puliti collaborativamente.

Boiler-plate: struttura di impaginazione ma di cui non ci interessa direttamente perché non sono diretto contenuto.

Verifica dei caratteri del testo

Un typo (errore di battitura) come la è verbo e la e congiunzione compromette l’analisi linguistica perché i nostri strumenti non sono raffinati come noi che, automaticamente, interpretiamo il testo.

Tokenizzazione

Uno dei passaggi fondamentali nel processo di preparazione al testo. Come si identifica un token? La nozione di parola è molto diversa tra noi e un computer, nel senso che un elaboratore ha una sequenza di caratteri mentre noi abbiamo criteri: ortografici, semantici, morfologici. Quindi la tokenizzazione è una divisione del testo, in token.

Cos’è un token?

Dividere il testo in una serie di unità, che consideriamo minime, che chiameremo token (occorrenza). I token includono le parole ma anche la punteggiatura, date, sigle, indirizzo, riferimento giuridico. In sostanza è un’unità di base per la nostra analisi, come punto di partenza unitario. Ciò non toglie che si possa frammentare in parti anche un token.

Nelle lingue non segmentate (i cui confini di parola non sono marcati esplicitamente nella scrittura, es. cinese, giapponese, etc.) la tokenizzazione di fatto richiede l’analisi lessicale (word segmentation) e spesso portano molta ambiguità.

Invece nelle lingue segmentate, come l’italiano, è possibile tokenizzare basandosi su alcuni criteri ortografici e pochi linguistici. mandarglielo è un token ma contiene tre parole: mandare, gli, lo. Non c’è un rapporto 1:1 tra token e sequenze di caratteri delimitate da spazi:

“dopo essere sceso, l’uomo si allontanò”

  • 6 token
    • se usiamo solo gli spazi
  • 9 token
    • se consideriamo le unità linguistiche (parole, puntteggiatura, etc.)

Problemi della tokenizzazione

  • Mancano spazi che separano le parole dalla punteggiatura che segue (precede)
    • gi ispettori,
    • “Domani..”
  • sequenze di caratteri non separati da spazi che corrispondono a 2 token
    • dell’uomo
Punteggiatura e ambiguità

carattere . ad esempio viene usato per: * abbreviazioni: Sig. Rossi * acronimi: U.S.A. * separatori cifre decimali: 3.14 * data: 12.12.12 * indirizzi (web, email): www.unipi.it

Come si distingue che significa quel carattere ”.”?

Ci sono sequenze di caratteri separate da spazi che possono formare un solo token:

  • nomi propri composti
    • New York
    • Los Angeles
      • la città di La Spezia
      • la spezia che viene usata
  • espressioni polirematiche (multiwork expressions)
    • al di là
    • ad hox
  • date e ore
    • 18 giugno 1956
  • prezzi
    • 20 euro e 30 centesimi

Utile perché «al di là» ha un suo valore unitario, come anche «new» se voglio contarlo o analizzarlo non dovrei tener conto se fa parte del nome di una città in alcuni casi.

Il sistema di tokenizzazione è strettamente dipendente da:

  • linguaggio e sistema grafico del testo
    • diversi modi di scrivere (formattare) i numeri o date e simili
  • strategie diverse per la creazione di composti (in tedesco, giustapposizione o finlandese)
  • dinamiche linguistiche

Le lingue segmentate e non non hanno una linea di separazione netta tipo il finlandese che giustappone e concatena le parole nonostante usi spazi per separarle quindi in certi casi vanno considerati token diversi anche se sono contenute tra soli due spazi.

Esempio di tokenizzazione
l'aereo
per
gli U.S.A.
(vedi slide)
Tokenizzatori

moduli software per la preparazione e tokenizzazione del testo tramite:

  • mini-grammatiche (che specificano le forme in cui possono comparire i token, tipo date e formattazioni 25/2/1993 o 25 febbraio 1993)
  • (vedi slide)

Statistica

Terminologia di base

  • Popolazione: insieme di entità (oggetti, individui, università) su cui vogliamo acquisire conoscenza
  • unità statistiche: elementi che compongono la popolazione
  • variabili
    • attributi delle unità statistiche
    • valori
  • (vedi slide)

Variabili

  • nominali (o categoriali) numero finito, classi a cui appartengono le unità statistiche, sesso provenienza categoria grammaticale etc
  • ordinali valori grandi che permettono di confrontare le unità statistiche, differenza tra i gradi di scala non sono comparabili
  • intervallo (o ratio) hanno valori che permettono di stabilire non solo relazioni di orgfinamento ma anche di compararre le differenze ed i rapporti tra i valori (es. altezza, lunghezza)

Scarica il MarkDown