La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

TEORIE E TECNICHE DEL RICONOSCIMENTO

Presentazioni simili


Presentazione sul tema: "TEORIE E TECNICHE DEL RICONOSCIMENTO"— Transcript della presentazione:

1 TEORIE E TECNICHE DEL RICONOSCIMENTO
Espressioni regolari in Python Uso di espressioni regolari in NLP

2 Espressioni regolari Cosa sono: un linguaggio sviluppato per eseguire ricerche su testi E per operare TRASFORMAZIONI su questi testi sulla base di queste ricerche Esempio: espressione per cercare tutte le parole in un corpus che finiscono in ‘ed’ [w for w in wordlist if re.search(‘ed$’,w)]

3 Principali caratteristiche del linguaggio delle espressioni regolari
Disgiunzione [0-9] \d Ripetizione [0-9]+ Negazione [^5]

4 Metacaratteri Base: [,],+,*,^
Metacaratteri che specificano caratteri non stampabili \n \t Metacaratteri che specificano disgiunzioni particolarmente comuni \d (= [0-9]) \s (= [ \t\n\r\f\v]) \w (= [a-zA-Z0-9_]) . = ‘qualsiasi carattere’ Metacaratteri che specificano negazioni \D (= [^0-9]) \S Ripetizione: Home-?brew a/{1,3}b

5 Altri metacaratteri Fine stringa: $ ‘ed$’ Inizio stringa: ^ ‘^..j..’

6 Backlash Un metacarattere usato per includere metacaratteri nelle espressioni regolari Per cercare ‘*’: \* Per cercare i punti: \.

7 Espressioni regolari in Python
Libreria: re import re Match: search()

8 Uso di search() [w for w in wordlist if re.search(‘ed$’,w)]

9 search() con altri metacaratteri
Nltk cap.3, p 12

10 Altri tipi di match match() findall()
Cerca pattern all’inizio di una parola findall() Cerca tutte le istanze del pattern

11 Uso di findall() Nltk cap.3, p 13

12 findall() per stemming
>>> re.findall(r'^.*(?:ing|ly|ed|ious|ies|ive|es|s|ment)$', 'processing') ['processing'] >>> re.findall(r'^(.*)(ing|ly|ed|ious|ies|ive|es|s|ment)$', 'processing') [('process', 'ing')]

13 findall() per stemming
Nltk cap.3, p 15

14 ‘top level’ e ‘pattern level’
Finora abbiamo visto l’uso di operazioni di ricerca in re al ‘top level’ In realta’ queste operazioni sono implementate utilizzando operazioni a piu’ basso livello che data una espressione regolare ne compilano un oggetto di tipo ‘pattern’

15 compile() e match() p = re.compile(‘[a-z]+’) m = p.match(‘gatto’)
m.group() m.span()

16 Livello di modulo o livello di pattern
Se l’espressione regolare e’ usata in un solo punto del codice, meglio espressioni ad alto livello Altrimenti compilare

17 Normalizzazione e tokenizzazione usando espressioni regolari
L’uso principale delle espressioni regolari in linguistica computazionale e’ nel preprocessing dei testi: Normalizzazione (= eliminazione di ‘rumore’, adozione di forme standard) Tokenizzazione

18 Tokenizzazione NLTK, cap. 3, p.17


Scaricare ppt "TEORIE E TECNICHE DEL RICONOSCIMENTO"

Presentazioni simili


Annunci Google