Programmering

Watson wannabes: 4 open source-projekter til maskinintelligens

I løbet af det sidste år er Watson blevet mindre af en "Jeopardy" -vindende gimmick og mere af et værktøj som en del af de nye virksomhedstjenester, som IBM har skubbet om sin genopfindelse. Det forbliver også IBMs proprietære oprettelse.

Hvad er så chancerne for at skabe et naturligt sprog maskinindlæringssystem i rækkefølge af Watson, om end med open source-komponenter? I en vis grad er dette allerede sket - delvis fordi Watson selv blev bygget oven på eksisterende open source-arbejde, og andre har udviklet lignende systemer parallelt med Watson. Her er et kig på fire sådanne projekter.

DARPA DeepDive

Gruppens største navnemærke, DARPAs DeepDive-projekt, er ikke beregnet til at efterligne Watsons almindelige forespørgselssystem, men snarere Watsons evne til at forbedre sin beslutningstagning over tid med menneskelig vejledning.

Projektet er hovedsageligt udviklet af Christopher Re, professor ved University of Wisconsin, og er open source (Apache 2.0). Ifølge EE Times er hovedmålet med DeepDive at skabe et automatiseret system til klassificering af ustrukturerede data - i et eksempel er det at kategorisere artikler i tekniske tidsskrifter. De, der planlægger at bruge DeepDive, skal være fortrolige med SQL og Python, men systemet er allerede i stand til at udtrække data fra en lang række konventionelle kilder, såsom websider eller PDF-dokumenter.

Apache UIMA

Ustruktureret informationsstyring (UIMA) er en standard til analyse af tekstindhold. Watson brugte en implementering af UIMA, men du behøver ikke at gå gennem Watson for at bruge UIMA. Faktisk var IBMs UIMA-arkitektur open source og vedligeholdes af Apache Foundation. Den understøtter flere programmeringssprog, med opdateringer tilføjet med jævne mellemrum (senest i oktober 2014).

Apache UIMA, som det er, er langt fra at være en fuld maskinlæringsløsning; det er kun en - omend en vigtig - del af det hele, som IBM oprettede. Hvis du ikke vil bruge bare knogler, kan du hente et af dets afledte projekter, såsom YodaQA, der udnytter UIMA til sin behandling og bruger Wikipedia som en primær datakilde.

OpenCog

OpenCog "sigter mod at give forskere og softwareudviklere en fælles platform til at opbygge og dele kunstig intelligensprogrammer." Projektets ambition er at give intet mindre end det, dets skabere kalder "generelt intelligente" systemer, kunstig intelligens, der har bred, menneskelig forståelse af verden i stedet for domænecentrerede specialiteter (såsom at være meget god til skak men intet andet).

OpenCogs skabere hævder, at deres rammer allerede er i brug i "naturlige sprogapplikationer, både til forskning og til kommercielle virksomheder." Det sætter det lidt længere væk fra AI-koncepter med pie-in-the-sky og tættere på det praktiske Q&A domæne beboet af Watson.

OAQA (åben avancering af spørgsmålssvaresystemer)

Som navnet antyder, er OAQA's mission "åben fremgang inden for konstruktion af spørgsmålssvaresystemer - sprogsoftwaresystemer, der giver direkte svar på spørgsmål, der stilles på et naturligt sprog." Lyder det som et af Watsons mål? Yup, især da OAQA blev indledt i fællesskab af IBM og Carnegie Mellon University. Ligesom Apache UIMA implementerer OAQA UIMA-rammen, men tænk ikke på det som en klar til brug-løsning; det er et værktøjssæt.

Den ene største ulempe ved hvert projekt er, som du kan gætte, at de ikke tilbydes i næsten en så raffineret eller poleret pakke som Watson. Mens Watson er designet til at blive brugt med det samme i en forretningsmæssig sammenhæng, er disse rå værktøjssæt, der kræver tunge løft.

Plus, Watsons tjenester er allerede foruddannet med en kurateret række af virkelige data. Med disse systemer skal du levere datakilderne, hvilket kan vise sig at være et langt større projekt end selve programmeringen.