diumenge, 21 de febrer del 2010

SHAZAM ...la màgia d'endevinar cançons.

Estàs escoltant una cançó que t'agrada i no pots saber quina és?, doncs connectes Shazam i en 10 segons ja tens el nom de la cançó i el grup.




Tenia curiositat de saber com funcionava, i afortunadament hi ha un article escrit per u dels desenvolupadors per a explicar-ho. Per supost deixar de costat alguns dels detalls, però la idea bàsica és exactament el que es pot esperar: es basa en la presa d'empremtes dactilars de música basat en un espectrograma.
Pensem-ho per un moment, quan nosaltres escoltem una cançó ens és senzill saber quina és gràcies al nostre meravellosos cervell. Escoltant una fracció podem dir fàcilment quina cançó és la que sona (sempre que l'hàgem escoltant abans clar). Shazam fa una cosa semblant ja que només reconeix cançons que hi ha "escoltat" abans.

Estos són mes o menys els passos bàsics:

1. En principi Shazam té un ampli catàleg de música, i emmagatzema “les empremtes dactilars” en una base de dades.
2. L’usuari, “Taguea” (pren una mostra) una cançó que proporcionara les empremtes dactilars d'una mostra de 10 segons d'àudio.
3. L'aplicació Shazam puja l'empremta digital al servidor per a comparar-la, és a dir, fa la busca de l'empremta presa corresponent en la seua base de dades.
4. Si es troba una coincidència, la informació de la cançó es torna a l'usuari, en cas contrari torna una errada.

Aixina, és com funciona la presa d'empremtes dactilars:

Es pot pensar de qualsevol peça de música com un temps-freqüència, dit gràfic espectrograma . Be, un dels eixos és el temps (X), un altre la freqüència(Y), i el tercer és la intensitat (Z). Cada punt de la gràfica representa la intensitat d'una freqüència donada en un punt específic en el temps. Suposant que el temps està en l'eix X i la freqüència està en l'eix Y, una línia horitzontal contínua representaria un to pur i una línia vertical representaria una explosió instantània de soroll. Ací, veiem un exemple de com pot paréixer una cançó:



Espectrograma d'una mostra de cançó amb intensitats màximes marcades en roig.

S'interpreten les empremtes dactilars de l'algoritme Shazam d'una cançó de la generació d'este gràfic 3D, i la identificació de freqüències de "màxima intensitat". Per a cada u d'estos punts de pic es fa un seguiment de la freqüència i la quantitat de temps des del començament de la pista.
Per tant un exemple d'una empremta dactilar per a una mostra de 10 segons pot ser:


Shazam basa el seu catàleg d'empremtes dactilars com una taula hash, on la clau és la freqüència. Quan Shazam rep una empremta digital com l'anterior, usa la primera clau (en este cas 823.44), i busca totes les cançons que coincidisquen. La seua taula d'hash podria ser semblant al següent:



Alguns detalls extra: no sols marca un punt únic en l'espectrograma, sinó que marca un parell de punts, la "màxima intensitat", a més d'un segon "punt d'ancoratge". Pel que el seu clau no és només una freqüència única, és un hash de les freqüències d'abdós punts. Açò porta a menys col•lisions hash que alternativament acceleren la busca de catàleg en diverses ordes de magnitud pel que permet aprofitar millor les constants de la taula (O (1)).
Si un patró específic és trobat diverses vegades, llavors es comprova si estes freqüències corresponen en el temps. De fet, tenen una forma intel•ligent d'actuar creant un lot de mostres de freqüència, un eix és el temps des del començament de la pista de les freqüències que apareixen en la cançó, en l'altre eix estan les freqüències que apareixen en la mostra . Si hi ha una relació temporal entre els conjunts de punts, llavors els punts s'alineen al llarg d'una diagonal. A partir d'ací s'utilitza un altre mètode per al reconeixement del senyal i poder distingir-la en la base de dades.

Per a més informació us deixe el document PDF en perfecte anglés.

Enllaç de descàrrega:
shazam.pdf

dimarts, 2 de febrer del 2010

web, web2, web3 ...

Amb la necessitat de que els ordinadors siguin capaços de donar un sentit semàntic a les paraules, emulant el coneixement humà es crea el projecte de la web semàntica.

Què és la Web Semàntica?
La web semàntica, és una web que busca reforçar les cerques de la web actual, associant significat a les paraules de manera que les màquines ho puguin entendre i interpretar.
Avui en dia, ens trobem que a Internet hi ha una gran quantitat d’informació que al no tenir un sentit semàntic, produeix un desordre i una tardança al intentar navegar a través de la web. Per aquest motiu, la W3C ha creat la Web Semàntica, la qual sembla la millor solució per ficar ordre a tota aquesta informació.
Podem dir que la web semàntica és una extensió de la web actual, que gràcies a aquesta semàntica i a l’enteniment i interpretació de les màquines, la cerca d’informació a Internet serà més directa i fàcil per a l’usuari.

En què es basa?
La web semàntica es basa en les metadades, que necessiten un llenguatge especial, els metallenguatges, per poder representar ontologies i fer més comprensibles per les màquines les pàgines web.
Els principals metallenguatges emprats en el funcionament de la Web Semàntica són el XML, el RDF i el RDF Schema.
El llenguatge XML (eXtensible Markup Language) a diferència del llenguatge HTML (hypertext markup language) emprat en la web actual, a més de ser un llenguatge, també permet especificar altres llenguatges, és a dir que qualsevol llenguatge expressat d’una forma determinada pot ser XML.

Necessitat de la Web Semàntica.
La necessitat de una web semàntica, ve de la necessitat de no sols emmagatzemar dades sinó d’arribar a comprendre-les i interpretar-les, sent aquesta nova web una extensió de la actual.
Com hem dit anteriorment, la Web Semàntica ha estat creada per tal de simplificar les carències de la web actual i posar un ordre a la web actual. La possibilitat que dóna la Web Semàntica és la de que gràcies als components que la formen, la màquina és capaç de processar la informació d’una manera intel·ligent i així facilitar la navegació a l’usuari.
La recuperació de dades que proporciona la Web Semàntica també és un factor important el qual reordenarà les dades de la Web i les farà més comprensibles i accessibles als nostres propòsits.

Avantatges i inconvenients de la Web Semàntica.
El principal avantatge de la web semàntica respecte de l’actual, es que la web actual basa la seva cerca estrictament en la paraula clau introduïda, mentre que la web semàntica es basa en la informació ontològica, de manera que els resultats seran discriminats donant sols els que realment tenen a veurà amb el que s’està buscant, imitant el que un humà especialitzat triaria de tota la informació que es troba a la xarxa.
El principal inconvenient es la grandària d’aquest projecte, i la implicació que necessita d’empreses etc, per dur-la a terme.
Però com qualsevol idea que mescla un concepte revolucionari i una falta de concretizació en la proposta, els problemes que sorgixen en la implantació de la Web Semàntica són diversos.
Entre ells hi haurà que redefinir el funcionament dels buscadors cosa que el coneixement i els procediments adquirits per les empreses que els dissenyen perdran valor.
Si hui per hui ja hi ha trucs per a enganyar els buscadors i aconseguir millors llocs entre les busques realitzades, un sistema tan complex com el web semàntic podria fer créixer este problema per mitjà de l'ús de “spam semàntic”.
Així doncs, caldrà esperar un poc més que siguen les màquines les que ens oferisquen el millor contingut possible a partir d'una petició concreta realitzada en un llenguatge normal i no formatat per a ser entés millor per un programa.

Conclusions.
Les primeres conclusions respecte a la web semàntica, es que es un projecte molt ambiciós que en principi seria un gran avantatge per tots els usuaris de la xarxa, sempre que per dur-la a terme el usuari pogués seguir utilitzant el llenguatge natural per fer les seves cerques i no necessites un llenguatge específic que limites l’accés als usuaris no professionals.
La Web semàntica esta principalment orientada cap a grups específics que recullin dintre de les seves webs les ontologies del seu àmbit, de manera que el usuaris que utilitzant el seu buscador, solen ser professionals de la matèria (col·legis de metges, abocats, arquitectes, tècnics, etc.) o un motor semàntiques en algunes pàgines webs, de bancs, ajuntaments, etc. per que el usuaris puguin fer el seus tràmits més fàcilment, de moment almenys queda molt lluny una web semàntica amb un alcans semblant al Google amb la web 2.0.


Per a més informació descarregat el document pdf amb la documentació ampliada sobre el tema. Agraïsc la col·laboració als companys del grup MIC4all durant el pirmer semestre del curs 2008 a la UOC.

Enllaç de descàrrega: