Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


linguistica computazionale, Slide di Linguistica

linguistica computazionale e regex tokenizzazione

Tipologia: Slide

2025/2026

Caricato il 24/05/2026

rey-63
rey-63 🇮🇹

5 documenti

1 / 38

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Riconoscere unità e
suddividere un
testo
– La tokenizzazion
Linguistica Computazionale
Francesco Mambrini
2024/2025
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26

Anteprima parziale del testo

Scarica linguistica computazionale e più Slide in PDF di Linguistica solo su Docsity!

Riconoscere unità e

suddividere un

testo

  • La tokenizzazion Linguistica Computazionale Francesco Mambrini 2024/

Argomenti

Cosa sono i «token»; cos’è la «tokenizzazione» 01 Esploriamo la tokenizzazione contando le parole in Harry Potter e la camera dei segreti!

Un esercizio pratico

03 Introduzione generale 02

La tokenizzazione

Le espressioni

regolari

È una verità universalmente riconosciuta che uno scapolo in possesso di una discreta fortuna debba essere in cerca di una moglie. Per quanto poco noti siano i sentimenti e i gusti di un simile uomo nel momento in cui entra a far parte di una comunità, tale convinzione è così ben radicata nelle menti delle famiglie del vicinato che il giovane finisce per essere ritenuto legittima proprietà di una o dell’altra delle loro figlie.

  1. Quante frasi ci sono?
  2. Quante parole ci sono nella prima frase?

Ecco una prima differenza!

Attraverso due nozioni per noi «intuitive» ( parola e
frase) siamo in grado di segmentare un testo in unità

fondamentali, senza quasi pensarci. Per noi è un’operazione triviale. Un computer non possiede queste nozioni e non è in grado da solo di svolgere questa operazione.

Per analizzare un testo, partiamo dall’analisi del suo lessico Parole Dobbiamo segmentare questo continuum di caratteri in unità da analizzare Unità Per un computer un testo è una sequenza di caratteri (spazi e «a capo» compresi) Caratteri

Token

L’ unità di base in cui scomponiamo il testo per svolgere le operazioni di elaborazione successive (analisi, lettura, calcolo…)

Token

  • (^) In molte applicazioni corrisponde alla nozione intuitiva di «parola».
  • (^) Ma un testo contiene anche altro :
$4.95, #sonountoken, 😝…
  • (^) Per le lingue che usano le convenzioni dell’italiano i token sono (generalmente!) separati da spazi.
  • (^) Ci sono zone grigie : glielo, c’era,
doesn’t, j’aime, New York…
  • (^) Bisogna definire i criteri di tokenizzazione!
  • (^) Un programma che esegue la tokenizzazione è chiamato Unità fondamentale per l’analisi ! tokenizzazione e tokenizzatore

La tokenizzazione è

I criteri dipendono dal tipo di analisi che intendiamo svolgere (e.g.: glielo). Spesso, tuttavia, si seguono pratiche standardizzate

Convenzionale

Possiamo avere approcci diversi a seconda dello scopo. Ma ogni futuro lavoro di elaborazione partirà dal testo tokenizzato come input

Essenziale

E le lingue che non usano spazi

bianchi?

姚姚姚姚姚姚姚 “ Yao Ming reaches the finals” 3 token? 姚姚 姚姚 姚姚姚 YaoMing reaches finals 5 token? 姚 姚 姚姚 姚 姚姚 Yao Ming reaches overall finals 7 token? (solo segni ideografici): 姚 姚 姚 姚 姚 姚 姚 Yao Ming enter enter overall decision game Da Jurafsky and Martin

Sentence splitting: sembra facile, ma…

Anche la punteggiatura (nelle lingue dove è usata) ha le sue ambiguità: Buongiorno. Le presento il Sig. Rossi.

Espressioni

Regolari

Un «linguaggio» per definire pattern di stringhe

Espressioni regolari

  • (^) Una notazione formale per individuare tipi di stringhe
  • (^) Formalmente, sono una notazione algebrica per definire in maniera formale dei pattern di stringhe
  • (^) Un pattern è una sequenza di regole che descrive il tipo di testo che vogliamo trovare
  • (^) può essere pensato come uno schema che descrive come una stringa è fatta (per esempio un tipico titolo di un libro
di HP)
  • (^) Molti programmi supportano le Cosa sono ! Regular expression, Regex(p) .*

Regular Expressions: Disgiunzioni

  • (^) Lettere fra parentesi quadre []
  • (^) Intervalli (range) [A-Z] Pattern Matches [iI]ce [cC]ream Ice Cream, ice cream, Ice cream… [1234567890] Qualsiasi numero Pattern Matches [A-Z] Una lettera maiuscola Domani verrò a trovarti [a-z] Una lettera minisculo mi piace il gelato [0-9] Un numero Chapter 1 : Down the Rabbit Hole

Regex: ancora disgiunzioni

  • (^) Come possiamo catturare 2 varianti (“sedia” e “seggiola”)?
  • (^) Il simbolo pipe | è usato per la disgiunzione Pattern Matches sedia|seggiola seggiola tuo|mio mio a|b|c = [abc] [sS]edia|[sS]eggiola Sedia