La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "TEORIE E TECNICHE DEL RICONOSCIMENTO Espressioni regolari in Python Uso di espressioni regolari in NLP 1."— Transcript della presentazione:

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

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() – 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 Espressioni regolari in Python Uso di espressioni regolari in NLP 1."

Presentazioni simili


Annunci Google