|
|
|
![]() |
|
Strumenti |
![]() |
#21 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Ma i grafi a che servono? Non ne avevi parlato prima. Finora ero rimasto a due alberi di cui estrarre delle informazioni di similitudine. O sbaglio?
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
#22 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il problema è associare, ad esempio, una linea disegnata su una sorgente video proprio ad una linea. Cioè serve un algoritmo per farlo (tutt'altro che banale).
Ed in questi casi non basta fare un matching esatto fra i simboli che compongono l'input, ma bisogna fare una ricerca approssimata. In sostanza l'algoritmo ti dovrà dire che in una certa posizione della sorgente c'è un dato pattern con una certa probabilità. Inoltre per il formato intrinseco delle varie sorgenti, l'algoritmo di riconoscimento dovrà variare da sorgente a sorgenti. Basta pensare ad una sorgente monodimensionale come un file di testo o ad una sorgente bidimensionale come una immagine. |
![]() |
![]() |
![]() |
#23 | |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Mi ero perso le risposte al thread, uni del cavolo
![]() Quote:
-il grafo di Composizione è composto dagli alberi di cui discutevamo; è un grafo e non un albero, per questo è importante che i simboli vengano riconosciuti e riutilizzati. E' un grafo "speciale" perchè partendo da un qualsiasi nodo, si vede un albero. L'albero risultante ci dice tutte le sotto-componenti del nodo dato... l'idea è costruire il riconoscimento di aggregati di simboli in maniera ricorsiva. -poi c'è il Grafo di Associazione, che forse non avevo citato per bene: è un grafo direzionato che collega i simboli (sempre gli stessi del primo grafo) a livello paritetico, cioè, tramite dei pesi ci dice quale simbolo "richiama" quale altro simbolo. Viene costruito per "vicinanza", cioè un arco tra 2 simboli viene costruito o rinforzato quando 2 simboli compaiono vicini nello spazio dell'input. Ad esempio, 2 parole che compaiono vicine in una frase. E' importante perchè mentre l'altro grafo ci dice quali simboli sono stati riconosciuti ORA, questo ci dice quali simboli in passato sono stati riconosciuti vicino a quello dato. Rappresenta la memoria associativa, in poche parole. @Cionci: questo secondo grafo è quello che risolve il problema che poni. L'algoritmo che estrae i simboli dalla sorgente video è invece piuttosto semplice, perchè estrae solo i "simboli primitivi", cioè punti, linee, colori e contrasti. Niente che software esistente non faccia agile (OpenCV?). Il punto è proprio che per riconoscere simboli composti ci si affida alle capacità della "AI". Quindi non serve nessun algoritmo specifico, basta che la linea compaia qualche volta nello stesso input di qualcos'altro, e i due simboli verranno in futuro richiamati insieme. Es di procedimento: il pattern del carattere scritto "a" viene riconosciuto dalle sue features con un albero di composizione (grafo 1). A questo punto si interroga il grafo di associazione, e viene fuori che il simbolo del carattere ASCII "a" è il closest match. Si prende quel simbolo risultato e si manda in output. La sorgente "console a riga di comando" lo intercetta e lo stampa. Hai fatto un OCR ![]() PS: Associare due sorgenti diverse è scontato, perchè gli input di tutte le sorgenti vengono "unificati" prima del riconoscimento finale nello stesso spazio di input, formando un solo simbolo che contiene il "contesto corrente". E' un pò una forzatura, ma ci si può lavorare ![]() RIEDIT: ho pescato questo Google n-gram database che contiene tutte le sequenze di massimo 5 parole ricorrenti in tutto il database di Google Books... se costruissi il grafo di composizione da questo si avrebbe? Boh ![]() Ultima modifica di Tommo : 05-01-2011 alle 13:21. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:32.