2012. december 13.

Prismatic

A Prismatic tkp. remek példa több dologra is. Mi a keresés jövője? Van valami igazán izgalmas felhasználása az NLP-nek és az ML-nek? Lehet egy terméket teljesen egy funkcionális nyelvre alapozni? A perszonalizációval együtt járó filter bubble jelensége ellen tehetünk valamit?

A Prismatic első ránézésre egy a sok hírolvasó eszköz közül ami a közösségi oldalon megjelenő híreket aggragálja. De nem egészen erről van szó! A Prismatic saját magát "discovery engine"-nek hívja és a hírek tálalását csak az első lépésnek tartja. A közösségi médiában megjelenő tartalmakat tkp. arra használják, hogy kitalálják a felhasználó ízlését és azt hogy milyen filtert épít maga köré. Sajnos arról nem lehet sokat megtudni miképp is működik ez az újdonságot behozó elem, de aki már eltöltött pár órát a Prismatic-en, az tapasztalatból tudja hogy egész jól működik.

A cég blogja is mutatja, mennyire átgondoltan halad a termékfejlesztés. Tulajdonképpen talán a Prismatic az egyetlen cél, ahol holisztikusan koncentrálnak egy adott problémára. Nagyon erős vizióval rendelkeznek arról hogyan is kell az ML és az NLP eredményeit felhasználni egy termékben és arról hogyan is néz ki az alkalmazott kutatás. Az alapoktól egészen a mutatós svájci designt idéző webes megjelenésig átgondoltak mindent (itt és itt érdemes erről olvasni). Érdemes megnézni TC Founder Stories alapítóval készített interjúját.



Ma a legtöbb kereső rendszer az ún term-document matrix megoldáson alapul. A Prismatic az ún topik modellekre szavaz ellenben (bővebben erről itt). Ezek nagyon hasonlóak a címkéző, vagy tagelő megoldásokhoz, de sokkal pontosabban működnek és írják le egy-egy dokumentum látens szemantikáját. A topik modellek a keresésben - több technikai probléma megoldásán túl - lehetővé teszik hogy "csoportosítsák" a találatokat és egyfajta összefoglalót adjanak tartalmukról. Így kerülhető el a duplikációk és a hasonló hírek szűrése, ill. kereshetők hasonló tartalmak. Habár a topik modellek már egy évtizede megjelentek, a Prismatic egyike az első ipari alkalmazóknak.

A "filozófia" mellett természetesen a fejlesztésben is jólátgondolt elveik vannak. Elsőre talán furcsa, hogy a Clojure-t választották, de ez még érthető is (plána, nekem, aki szeretem a Clojure nyelvet). Ami sokkal meglepőbb hogy nem igazán használnak Java cuccokat, inkább maguk írnak meg mindent amire szükségük van. Clojure körökben idézetté vált az "avoid large, monolithic frameworks" mottó (de persze inkább keresünk egy wrapper-t, vagy írunk magunk, semhogy a Prismatic-et követve saját numerikus könyvtárat dobjunk össze :D), ami az abstraction principle-re utal. Ezt az architektúrára is átvitték, a technikai részletek iránt érdeklődőknek ajánlom a High Scalability-n megjelent részletes írást erről.

Úgy tűnik, működőképes ez a szigorúan termékközpontú fejlesztés. Jó lenne látni több kezdeményezést, ami ennyire fókuszáltan és tudatosan vezet be a piacra egy alapvetően elméleti megoldást.

Nincsenek megjegyzések: