Programmering

Watson wannabes: 4 open source-prosjekter for maskinintelligens

I løpet av det siste året, som en del av de nye virksomhetstjenestene som IBM har presset på for å gjenoppfinne, har Watson blitt mindre en "Jeopardy" -vinnende gimmick og mer av et verktøy. Det forblir også IBMs egenutviklede opprettelse.

Hva er da sjansene for å lage et naturlig språk maskinlæringssystem på rekkefølgen av Watson, om enn med komponenter med åpen kildekode? I noen grad har dette allerede skjedd - delvis fordi Watson selv ble bygget i toppen av eksisterende open source-arbeid, og andre har utviklet lignende systemer parallelt med Watson. Her er en titt på fire slike prosjekter.

DARPA DeepDive

Det største navnemerket til gjengen, DARPAs DeepDive-prosjekt, er ikke ment å etterligne Watsons vanlige språksystem, men heller Watsons evne til å forbedre beslutningstaking over tid med menneskelig veiledning.

Prosjektet er utviklet av Christopher Re, professor ved University of Wisconsin, og er åpen kildekode (Apache 2.0). I følge EE Times er hovedmålet med DeepDive å lage et automatisert system for klassifisering av ustrukturerte data - i et eksempel, kategorisering av artikler i tekniske tidsskrifter. De som planlegger å bruke DeepDive, bør være kjent med SQL og Python, men systemet er allerede i stand til å trekke ut data fra et bredt utvalg av konvensjonelle kilder, for eksempel websider eller PDF-dokumenter.

Apache UIMA

Unstructured Information Management (UIMA) er en standard for analyse av tekstinnhold. Watson brukte en implementering av UIMA, men du trenger ikke å gå gjennom Watson for å bruke UIMA. Faktisk var IBMs UIMA-arkitektur åpen og vedlikeholdes av Apache Foundation. Den har støtte for flere programmeringsspråk, med oppdateringer lagt til med jevne mellomrom (sist i oktober 2014).

Apache UIMA slik det ser ut er langt fra å være en full maskinlæringsløsning; det er bare en - om enn en viktig - del av helheten som IBM opprettet. Hvis du ikke vil bruke bare bein, kan du plukke opp et av dets avledede prosjekter, for eksempel YodaQA, som utnytter UIMA for behandlingen og bruker Wikipedia som en primær datakilde.

OpenCog

OpenCog "har som mål å gi forskere og programvareutviklere en felles plattform for å bygge og dele kunstig intelligensprogrammer." Prosjektets ambisjon er å gi drivstoff til intet mindre enn det skaperne kaller "generelt intelligente" systemer, kunstig intelligens som har bred, menneskelig forståelse av verden i stedet for domenesentrerte spesialiteter (for eksempel å være veldig åpne god til sjakk men ingenting annet).

OpenCogs skapere hevder at deres rammeverk allerede er i bruk i "naturlige språkapplikasjoner, både for forskning og av kommersielle selskaper." Det setter det litt lenger borte fra pie-in-the-sky AI-konsepter og nærmere det praktiske spørsmål og svar-domenet bebodd av Watson.

OAQA (åpen avansering av spørsmålssystemer)

Som navnet kan tilsi, er OAQAs oppdrag "åpen utvikling innen konstruksjon av spørsmålssvaresystemer - språkprogramvaresystemer som gir direkte svar på spørsmål som stilles på naturlig språk." Høres ut som et av Watsons mål? Yup, spesielt siden OAQA ble initiert av IBM og Carnegie Mellon University. I likhet med Apache UIMA implementerer OAQA UIMA-rammeverket, men ikke tenk på det som en klar til bruk-løsning; det er et verktøysett.

Den eneste store ulempen med hvert prosjekt, som du kan gjette, er at de ikke blir tilbudt i nesten like raffinert eller polert en pakke som Watson. Mens Watson er designet for å brukes umiddelbart i forretningssammenheng, er dette rå verktøysett som krever tunge løft.

I tillegg er Watsons tjenester allerede trent med en kurert mengde data fra den virkelige verden. Med disse systemene må du levere datakildene, noe som kan vise seg å være et langt større prosjekt enn selve programmeringen.