:::: MENU ::::
Posts tagged with: google

Come funziona davvero l’ottimizzazione per i motori di ricerca (SEO)?

Nel mio articolo precedente, “Come funziona davvero Google Search?” abbiamo visto le basi su come Google esegue la scansione del web, indicizza i dati e presenta i risultati di ricerca utilizzando un sistema a punteggio chiamato PageRank per determinare quali collegamenti devono essere visualizzati per primi. Vi ho promesso, alla fine dell’articolo di parlare del SEO e dei metodi (leciti) per aumentare il pagerank.

Il termine SEO è sempre più spesso utilizzato in ambito informatico. Libri, seminari, siti web e professioni sono state creati per promuovere e discutere questo argomento. In questo articolo vorrei presentare le possibilità che Google mette a disposizione dei webmaster in ambito SEO. In sostanza, le raccomandazioni di Google sono basate sul controllo dei contenuti, procedure tecniche e controllo sulla qualità. Google inoltre fornisce alcune istruzioni su come aggiungere l’URL del sito e una sitemap per agevolare al meglio il processo di indicizzazione. Continue Reading


Come funziona davvero Google Search?

C’è poco da dire: Google non è un motore di ricerca; Google è il motore di ricerca. Vi capita spesso di usare Google? E non vi chiedete mai il motivo per cui alcuni risultati vengono visualizzati prima rispetto ad altri? Forse perchè alcuni link sono più attinenti che altri, oppure perchè vengono aggiornati spesso… Insomma, in parole povere, come fa Google a stabilire l’ordine di priorità dei risultati? Ma poi perchè mi faccio queste domande, quando posso cercare con Google le risposte? Continue Reading


Google Glass in ambito medico?

I Google Glass saranno probabilmente disponibili all’inizio del 2014, e mentre Google ha incentrato la campagna di comunicazione sull’uso “social” degli occhiali, c’è chi pensa come questa nuova tecnologia possa avere applicazioni di vasta portata in ambito sanitario sia personale che professionale.

google-glass-works

Centri di ricerca e medici di tutto il mondo hanno mostrato un interesse a sperimentare ed esplorare le potenzialità di Google Glass in ambito medico.

Con un concorso pubblico, Google ha selezionato 8.000 “vincitori” per acquistare i Google Glass a 1.500 dollari. Questi vincitori sono diventati il gruppo di utenti beta che ha sperimentato gli occhiali in vari ambiti, aiutando Google a risolve i bug prima del definitivo lancio sul mercato. Tra questi beta-tester il centro medico Radboud University in Olanda è stato il primo sistema sanitario a testare i Google Glass in Europa. L’ospedale, che rappresenta un importante centro di innovazione, ha voluto esplorare i vantaggi di questa nuova tecnologia, diventando così parte integrante della campagna di marketing di Google.

Ma esattamente come potrebbero essere applicati in ambito medico i Google Glass? Gli specialisti pensano che le possibilità siano infinite. Medici e operatori sanitari possono accedere alle informazioni in tempo reale, indossando gli occhiali di Google. Oppure potrebbero comunicare con colleghi a distanza, attraverso la webcam integrata negli occhiali, ottenendo un feedback immediato per migliorare l’efficienza e la qualità delle cure prestate al paziente. Ma il vero potenziale si potrebbe avere in sala operatoria. I chirurghi potrebbero vedere i risultati della TAC del paziente in tempo reale e ottenere un feedback sui loro progressi per migliorare i risultati.

Harry Van Goor è chirurgo e docente in chirurgia presso la Radboud University. Ha testato i Google Glass durante un’operazione addominale. Ha filmato l’intervento per tre ore con i Google Glass e ciò ha permesso agli studenti di seguire l’intervento dal punto di vista del medico chirurgo. Anche se il filmato era un po’ traballante, i primi risultati sono promettenti.

Oltre ad essere uno strumento didattico, Van Goor ha utilizzato gli occhiali come strumento di documentazione e registrazione delle procedure adottate nell’intervento chirurgico. “Di solito è possibile prendere appunti registrando la voce con un microfono, ma attraverso i Google Glass è possibile registrare il video oltre che l’audio, ottenendo una documentazione molto più precisa e affidabile”, spiega Van Goor.

Molti sostengono che operando con un menu pop-up davanti all’occhio possa essere fastidioso per il chirurgo. Secondo Van Goor invece ciò non rappresenta un problema: “il piccolo schermo in alto a destra dei Google Glass è sopra il mio occhio. Quando faccio l’intervento devo guardare in basso e non ho problemi di visuale o altri distrattori, quindi posso concentrarmi totalmente sul mio lavoro”, ha aggiunto.

Un altra critica che spesso viene avanzata è se la tecnologia dei Google Glass riesce a fornire una protezione adeguata della privacy dei pazienti. Effettuare registrazioni su di essi potrebbe rappresentare una evidente violazione della privacy. Se gli ospedali vogliono massimizzare l’utilità di Google Glass, è necessario avere l’accesso ad informazioni specifiche del paziente. Tutto ciò potrebbe essere un chiaro ostacolo in ambito sanitario se non si utilizzano adeguati sistemi di protezione e autorizzazione all’accesso delle informazioni.

Quindi, anche se le applicazioni in ambito healtcare potrebbero sembrare infinite, Google Glass è ancora poco più di un prototipo, il che rende difficile prevedere il suo futuro nel mondo della sanità.


La distanza di Levenshtein, a cosa serve? (2° parte)

Un’implementazione della distanza di Levenshtein può essere fatta in qualsiasi linguaggio. In questo esempio, verrà utilizzato interamente il linguaggio MYSQL.

Per prima cosa, bisogna creare una routine su MySql. Aiutatevi con phpmyadmin per fare ciò. Eseguite direttamente il codice definito in questo listato per creare e aggiungere la funzione levenshtein() al vostro database MySql.

Se volete potete anche aggiungere quest’altra funzione, che restituisce la percentuale di esattezza della parola data.

A questo punto l’unica cosa da fare è quella di creare una query per interrogare il database utilizzando in modo opportuno la funzione definita sopra.

Il risultato sarà questo:

levenshtein2

L’unico vero e grande problema è la lentezza dell’esecuzione dell’algoritmo. Per calcolare la distanza di levenshtein di “romme” su una base dati di 8,092 record, il tempo di esecuzione si aggira attorno ai 12 secondi, e peggiora in maniera esponenziale se la stringa da ricercare è più lunga (es. Castelbuono anzichè Roma). Purtroppo l’algoritmo contiene un doppio WHILE all’interno e questo potrebbe rappresentare un ostacolo, sopratutto in una tabella con migliaia di record.

Tuttavia possiamo cercare di ottimizzare la query MySql in fase di interrogazione in modo da cercare di dimezzare i tempi di ricerca. Una prima ottimizzazione è quella di selezionare solamente i termini più “vicini” a quello che stiamo cercando, confrontando la lunghezza degli stessi. Aggiungo quindi una condizione sulla lunghezza del campo CityName, che deve essere di un carattere più (+1) o meno (-1) lunga rispetto a ciò che sto cercando.

 levenshtein3

Abbiamo un netto miglioramento in termini di prestazioni in fase di esecuzione: 1,17 secondi contro 12 secondi del primo! 

Esistono ovviamente altre ottimizzazioni, infatti ne ho implementata una che mi permette di raggiungere un tempo di esecuzione pari a 0,5740 secondi, ma in questo caso bisogna integrare qualche riga di codice PHP. Vi lancio la sfida di cercarne una! Qui sotto invece trovate un altra ipotesi di ottimizzazione…

Spoiler Inside SelectShow

 


La distanza di Levenshtein, a cosa serve? (1° parte)

In teoria dell’informazione e informatica , la distanza di Levenshtein è un’unità di misura per calcolare la differenza tra due stringhe. In altre parole, la distanza di Levenshtein tra due parole A e B è il numero minimo di modifiche di un carattere singolo (inserimento, cancellazione, sostituzione) necessario per modificare la parola A nella parola B. Con edit distance ci si riferisce spesso alla distanza di Levenshtein. La funzione prende il nome dal suo creatore Vladimir Levenshtein, scienziato russo specializzato in teoria dell’informazione, che la scoprì nel 1965.

Esempio

Calcolare la distanza di Levenshtein tra “kitten” e “sitting”. Ovviamente la risposta è 3, poiché sono necessarie tre modifiche per trasformare una parola nell’altra e non c’è altro modo per farlo con meno di tre modifiche:

  1. kitten → sitten (sostituzione di “k” con”s”)
  2. Sitten → Sittin (sostituzione di “e” con “i”)
  3. Sittin → sitting (inserimento di “g” alla fine).

Alcune precisazioni

La distanza di Levenshtein ha alcuni limiti superiori e inferiori. Questi includono:

  • La lunghezza è sempre almeno la differenza della lunghezza delle due stringhe.
  • La lunghezza può essere al massimo uguale alla lunghezza della stringa più lunga.
  • È zero se, e solo se, le stringhe sono uguali.
  • Se le stringhe sono le stesse dimensioni, la distanza di Hamming è un limite superiore alla distanza Levenshtein.
  • La distanza di Levenshtein tra due stringhe non può essere maggiore della somma delle loro distanze di levenshtein da una terza stringa (disuguaglianza triangolare).

Un classico utilizzo

Avete presente quando sbagliate a digitare una parola da cercare con Google? Il motore di ricerca vi consiglia una correzione della parola errata. Guardate l’esempio qui sotto, vi siete mai chiesti come fa Google a correggere le parole errate? La risposta è semplice: Levenshtein!

levenstein

La funzione levenhstein() in PHP

In php è presente da tempo una funzione chiamata appunto levenhstein(), e viene definita di seguito:

dove:

  • str1: prima stringa in ingresso da confrontare
  • str2: seconda stringa in ingresso da confrontare
  • cost_ins: definisce il “costo” dell’operazione di inserimento di un carattere
  • cost_rep: definisce il “costo” dell’operazione di sostituzione di un carattere
  • cost_del: definisce il “costo” dell’operazione di cancellazione di un carattere

continua…


By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close