Google Prediction API för att kategorisera, prediktera och se förändring

2010-08-22

Nu finns ett nytt API i Google Labs för statistiska prediktioner:

Google Prediction API

Konceptet är att du för upp ditt data enligt ett definierat format till Google Storage och kan sedan operera på det med Google Prediction API för att skatta relaterat till statistisk mönsterigenkänning.

Utan att ha prövat Google Prediction API och givet att begränsad dokumentation ännu finns är det kanske lätt att tolka fel vad det men min prediktion avseende vad det gör är:

  • Att det används för kategorisering av data avseende var ett "prov" hör hemma.
  • Beslut för kategoriseringen avgörs med statistiska metoder där dessa inte är dokumenterade men sannolikt är av samma typ som t.ex. maximum likelihood samt givet följande angivet av Google "Message routing decisions" också allmän grafteori.
  • Hur väl kategoriseringen presterar beror på om ditt träningsdata (d.v.s. data där kända kategorier finns) är tillräckligt stort och på dess kvalitet (d.v.s. om du mäter data black-box får du troligen en hel del fel och irrelevant data även om korrekt kategori för respektive "händelse" är känd).

Komplexiteten för att göra detta rörande teori är inte enormt svårt och idag inarbetad i en mängd applikationer men implementationer som är tillräckligt snabba kan vara svårare att få till bra om man har begränsade resurser och mjukvara kan vara ganska dyra även om många som är gratis också finns. För mindre aktörer inte minst på nätet idag ofta utan egna servrar kan Google Prediction API vara en enkelt och utmärkt lösning för.

Vad som också är potentiellt mycket intressant med Google Prediction API är för situationer där vi betraktar språk eftersom Google väl demonstrerat med t.ex. Google Translate att de både har omfattande statistik och klarar att realisera komplexa applikationer som faktiskt fungerar från det.

För språk gäller att vi har generella statistiska mönster innebärande att när vi kategoriserar från för problemet unikt träningsdata kan man förhoppningsvis dra nytta av dessa varande bättre och färdigt "mätta" av Google och därigenom spara tid och nå högre kvalitet. Där finns också färdigt redan nu identifikation av språk. Samma värde kan tänkas också finnas för t.ex. spam och annat som Google troligen regelmässigt mäter för egna applikationer även utanför våra dagliga språk.

Dock gäller för allt detta att givet att dokumentationen ännu är ganska begränsad att det krävs att man prövar det för att få en riktig bild av vad Google Prediction API använder, klarar av och hur väl det ännu fungerar praktiskt. Det är ännu en tidig version fortfarande i Google Labs där det är avsett för användare som vill testa det utan egentliga garantier för att inte buggar finns.

Möjliga praktiska applikationer där jag kan prediktera att detta kan tänkas bli ofta använt är till exempel:

  • Olika web-gadgets som predikterar d.v.s. kurvor m.m. av olika typer (här mer avseende gadgets för "nöje" vilka ofta kommer tidigare än sådana som har konkret långsiktigt praktiskt värde).
  • Kategorisering och prediktion relaterat till gränssnitt där ju data i storlek är väldigt begränsat per användare emedan varje möjlighet är låg vilket gör att god kvalitet är möjligt. Här kan det tänkas fungera väldigt bra tidigt.
  • Allt som rör data relaterat till språk t.ex. detektion av spam. Mycket möjligt är detta det område där Google kan prestera unikt bra givet statistik från flera språk och särskilt i situationer där data just rör flera språk.

En generell applikation som givet stor acceptans av störningar i data är möjlig i väldigt mycket är detektion av underliga förändringar där något plötsligt avviker (när något plötsligt ser tydligt annorlunda ut är alla dess algoritmer väldigt bra på att se när det har inträffat). Där är det dock säkert klokt när det har betydelse att också ha regelbaserade kontroller som alltid varnar där man låter statistisk mönsterigenkänning komplettera. Att Google Prediction API i sig är supervised learning hindrar inte sådana applikationer på något sätt även om visst förarbete kan krävas.

Hela detta område kan vi också ställa i relation till länkar även om det är mindre intuitivt. Dessa uttrycker dock både grafer och bär mening samtidigt som de konkret ofta kategorisera. Detta har diskuterat något i:

Relationer i länkar kanske approximerar generella samband för "organisatorisk entropi"