TEORIE E TECNICHE DEL RICONOSCIMENTO

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

Corso di Fondamenti di Programmazione canale E-O
LINGUAGGIO DI PROGRAMMAZIONE C
Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Introduzione al linguaggio C
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
String c++.
Stringhe di caratteri In linguaggio C.
Selezione - approfondimento
PROGRAMMARE IN PASCAL (le basi)
Analizzatori Lessicali con JLex
Informatica 2 Lezione 4 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.
Linguaggi Regolari e Linguaggi Liberi
Linguaggi a memoria condivisa Lidea è di aggiungere ad un linguaggio imperativo dei costrutti per rappresentare lesecuzione parallela di statements. Supponiamo.
Metodologie di Programmazione = decomposizione basata su astrazioni
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
Programmazione Procedurale in Linguaggio C++
Elaborazione del linguaggio naturale automi & morfologia Maria Teresa PAZIENZA a.a
Introduzione al linguaggio C++ 5 lezioni
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) JAVA: funzione di output a video Anno Accademico 2009/2010.
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Argomenti Direttive di Preprocessore: Compilazione Condizionale
Bioinformatica Corso di Laurea Specialistica in Biologia Cellulare e Molecolare Ricerca pattern e di motivi funzionali 8/5/2008 Stefano Forte.
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Istruzioni di selezione in Java Programmazione Corso di laurea in Informatica.
Lezione 7 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Dichiarazioni e tipi predefiniti nel linguaggio C
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX AWK Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Corso di PHP.
Elementi di Informatica
JAVA Franco Bombi 8 ottobre FB Introduzione Java è un linguaggio di impiego generale, basato su classi e orientato agli oggetti Java.
CAP. 2 ANALISI LESSICALE 2.1 Il ruolo dell'analizzatore lessicale
PROGRAMMAZIONE: linguaggi
CODIFICA Da flow-chart a C++.
BIOINFO3 - Lezione 281 PATTERN MATCHING E sicuramente una delle cose più utili del Perl, che lo rende un linguaggio estremamente potente. Permette di cercare.
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
BIOINFO3 - Lezione 291 PATTERN MATCHING Imparato cosa sono e come si usano le espressioni regolari per individuare dei pattern, vediamo come si usano in.
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
LINGUISTICA GENERALE E COMPUTAZIONALE, PARTE 2
Si dica in quale modo la trasformazione di Thompson, TF, può essere considerata come definente un compilatore. In particolare, si dica: –a) chi sono il.
Corso di Algoritmi e Strutture Dati con Laboratorio A.A. 2014/15 Espressioni regolari (cenni)
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
Introduzione a Javascript
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Arduino: introduzione alla programmazione
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Contare e ordinare files di testo Per contare i caratteri, le righe e le parole in un file di testo wc (word count) % wc human_proteins.fa Conta le parole.
Operatori di incremento e decremento
TEORIE E TECNICHE DEL RICONOSCIMENTO
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
Concetti Fondamentali sulla Programmazione
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
TEORIE E TECNICHE DEL RICONOSCIMENTO
TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Dizionari.
1 Laboratorio di Programmazione di Sistema - C Susanna Pelagatti Ricevimento: Me ,
TEORIE E TECNICHE DEL RICONOSCIMENTO Python: Debugging, 2: Understanding Python better.
Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.
Approfondimenti SQL.
Transcript della presentazione:

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

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)]

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

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

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

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

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

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

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

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

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

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')]

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

‘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’

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

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

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

Tokenizzazione NLTK, cap. 3, p.17