Dietro tutto lo scricchiolio delle informazioni di Google - dal capire quali sono i risultati di ricerca più importanti, alla lettura e alla verifica della tua e-mail - c'è qualche matematica interessante. E recentemente Javier Tordable, un ingegnere del software, ha fatto una presentazione su di esso, aprendo una finestra sul mondo geek di Google solo una crepa.
Cominciamo con Gmail. A volte ricevi posta spam, ma Gmail è abbastanza bravo a capire che, quando un corrispondente sta cercando di farti investire in un principe nigeriano, probabilmente non vuoi quel pezzo di posta nella tua casella di posta. Come lo sa? Fase 1: addestrare la macchina. Secondo passo: mettilo al lavoro.
Si chiama machine learning e Google sta facendo molto. Nel primo passaggio, devi fare ciò che gli informatici chiamano "caratterizzare un'istanza". In matematica, ciò significa:
In generale, le caratteristiche di un'istanza possono essere considerate come elementi in un vettore di uno spazio euclideo nidimensionale per un grande n (100-1000 dimensioni sono normali, 1M-10M non è inaudito)
Ma ecco come pensarci se hai fermato la matematica dopo Calc 1. Gmail può estrarre alcune informazioni chiave da qualsiasi particolare email. Quanto tempo è? Quante lettere maiuscole ci sono? Viene da qualcuno da cui hai ricevuto un'email da prima? Non vuoi che le informazioni necessarie per prendere la decisione siano troppo difficili da prendere o gestire, perché ciò rallenterà e ridurrà l'accuratezza della tua macchina. Quindi Google traccia una linea, in base a ciò che sa di spam. Le e-mail che superano cadono da un lato della linea e quelle spammy dall'altro.
Più matematica parla:
Un semplice modello di classificazione è un iperpiano nello spazio delle caratteristiche. Le istanze di dati su un lato dell'hyperplane sono classificate come e-mail valide e le istanze sull'altro lato sono classificate come spam.
Che dire della ricerca vocale, chiamata anche riconoscimento vocale automatico o ASR? Come l'apprendimento automatico, ASR avviene in due parti: elaborare il suono in arrivo e capire cosa stai dicendo. La prima parte coinvolge trasformazioni di Fourier, che isolano i bit importanti che il computer può tradurre. La seconda parte è modellare il discorso usando quello che viene chiamato un "modello Markov nascosto". Tordable spiega:
In questo modello gli stati sono le lettere del messaggio e la sequenza di eventi è il segnale sonoro. L'algoritmo di Viterbi può essere utilizzato per ottenere la sequenza di stati di massima probabilità.
Google vorrebbe rendere il riconoscimento vocale migliore e più semplice. In questo caso di studio, un gruppo di whizzes di Google scrive:
Un obiettivo di Google è rendere accessibile in modo onnipresente l'accesso vocale. Vorremmo consentire all'utente di scegliere: dovrebbero essere in grado di dare per scontato che l'interazione orale è sempre un'opzione. Raggiungere l'ubiquità richiede due cose: la disponibilità (cioè, incorporata in ogni possibile interazione in cui l'input o l'output del parlato può avere un senso) e le prestazioni (cioè, funziona così bene che la modalità non aggiunge attrito all'interazione).
Un'altra area in cui Google utilizza la matematica è nelle loro mappe, sotto i riflettori recentemente dopo che Apple ha debuttato il suo sistema di mappatura con notevoli critiche. Al centro di Google Maps c'è la teoria dei grafici di base: la matematica per spostarsi da un luogo a un altro mentre si percorre la distanza più breve. Ma, naturalmente, è più complesso di così. Tordable scrive: "Un problema unico è che i grafici utilizzati in Google Maps contengono milioni di nodi, ma gli algoritmi devono essere eseguiti in millisecondi".
Google non ci dirà come lo fanno. Altrimenti Apple non si sarebbe imbattuta nel suo problema, ma le basi implicano lo sgombero dell'algoritmo di Dijsktra (probabilmente l'algoritmo di ricerca del grafico più comunemente usato). Qualche anno fa, gli informatici dell'Università di Karlsruhe hanno descritto un nuovo modo di classificare le query dei percorsi per ottenere risultati molto più veloci. Scrissero:
Il nostro algoritmo preelabora il numero di otto cifre dei nodi necessari per le mappe degli Stati Uniti o dell'Europa occidentale in poche ore utilizzando lo spazio lineare. Le query su percorsi più brevi (ovvero più veloci) richiedono circa otto millisecondi per produrre percorsi più brevi esatti. Questo è circa 2.000 volte più veloce rispetto all'uso dell'algoritmo di Dijkstra.
Tordable passa attraverso una serie di altri strumenti matematici utilizzati da Google, inclusi quelli coinvolti in Google Libri, Ricerche di immagini, Analytics, YouTube, Google Translate, Google Earth e Picasa. Puoi vedere l'intera serie di diapositive qui.
Altro da Smithsonian.com:
Smithsonian ottiene Google Mapped
Traccia le tendenze alimentari con Google Libri