211service.com
Menselijke intelligentie aan software toevoegen
Amazon's Mechanical Turk-service is lange tijd een goedkope bron van arbeid geweest, terwijl het werk eenvoudig is voor mensen maar moeilijk voor computers. Taken zoals het beschrijven van een afbeelding kunnen bijvoorbeeld online worden uitgevoerd door menselijke werkers op afstand. Programmeurs gebruiken al groepen van deze arbeiders, turkers genaamd, om veel van dergelijke taken tegelijkertijd uit te voeren. Maar Mechanical Turk biedt programmeurs die nieuwe softwaretoepassingen ontwikkelen geen gemakkelijke manier om de inspanningen van de turkers te combineren en te coördineren. Nu hebben computerwetenschappers van MIT een toolkit ontwikkeld die precies dat doet. Genaamd TurKit , laat de tool software-ingenieurs algoritmen schrijven om online werknemers te coördineren met behulp van de Javascript-programmeertaal, en krachtige applicaties te creëren waarin menselijke intelligentie is ingebouwd. De software kan ook worden gedebugd zoals normale code.

Software met hersens: De tekstverwerkingsadd-on Soylent, hierboven weergegeven, is gebouwd met TurKit. Turkit helpt ontwikkelaars bij het schrijven van algoritmen die het werk integreren van mensen die zijn gerekruteerd via Mechanical Turk.
Normaal gesproken zou je in Javascript geen toegang hebben tot Mechanical Turk zonder veel werk, legt Greg Little uit, een promovendus aan het MIT. Laboratorium voor computerwetenschappen en kunstmatige intelligentie , die TurKit heeft gemaakt. Dit is een brug voor het schrijven van code die samenwerkt met de arbeiders op Mechanical Turk, zodat we gemakkelijk nieuwe methoden van menselijke berekeningen kunnen verkennen.
Met TurKit wordt menselijke input opgeslagen in een database. Op die manier hoeven de Turkers, telkens wanneer de software in ontwikkeling crasht, niet helemaal opnieuw te beginnen. In plaats daarvan kan het programma, zodra het eenmaal is opgelost, verder gaan waar het was gebleven. Als je een uur wacht tot de mensen hun taak hebben voltooid en het programma geeft dan een foutmelding, dan wil je niet nog een uur wachten om te zien of je bugfix werkt, zegt Little. TurKit voorkomt ook dat de menselijke input onvoorspelbaar verandert tijdens het debuggen. Als ik elke keer dat ik een programma uitvoerde ander gedrag vertoonde, zou ik dat bewegende doel nooit kunnen debuggen, zegt Michael Bernstein, een promovendus aan het MIT, die TurKit gebruikte om een tekstverwerkingstoepassing te maken genaamd Soylent .
Dankzij TurKit hebben onderzoekers al algoritmen voor menselijke berekening gemaakt die stabiel genoeg zijn om in werkende software op te nemen. Soylent gebruikt groepen van drie tot zeven Turkers om on-demand proeflezen en alinea-inkorting te doen in Microsoft Word, met een algoritme genaamd Find-Fix-Verify. In de Vind-fase markeren Turkers gewoon fouten zonder ze te corrigeren. Soylent vergelijkt de resultaten van verschillende werknemers voor consistentie, en stuurt vervolgens de gefilterde uitvoer naar een andere groep Turkers die de fouten corrigeren. Ten slotte controleert een derde groep de correcties op kwaliteit; ondermaatse resultaten worden gemarkeerd en Soylent geeft alleen de gecontroleerde correcties weer. Als je turkers gewoon loslaat op je alinea, is ongeveer 30 procent van het werk dat je terugkrijgt onbruikbaar, zegt Bernstein. We wilden dat behandelen als inherente ruis in het systeem en tegelijkertijd de kwaliteit voor de eindgebruiker garanderen.
Een andere Mechanical Turk-toepassing, genaamd VizWiz , wordt ontwikkeld om blinde gebruikers in staat te stellen objecten, zoals straatnaamborden of pantryartikelen, te identificeren met behulp van hun smartphonecamera's en ziende turkers. In het ideale geval werkt VizWiz snel, zodat gebruikers resultaten krijgen wanneer ze die het meest nodig hebben. Computerwetenschapper van de Universiteit van Rochester Jeffrey Bigham en zijn team gebruikten TurKit om een algoritme te maken, quikTurkit genaamd, dat de vertragingstijd verkort door groepen turkers in de rij te zetten voordat ze nodig zijn. Wanneer een gebruiker de camera van VizWiz activeert, signaleert quikTurkit turkers dat er een nieuwe vraag op handen is: ofwel nieuwe werknemers rekruteren op aanvraag of het verzoek sturen naar een pool van acht turkers die al bezig zijn met het beantwoorden van eerdere vragen. De eerste methode retourneert de resultaten binnen een paar minuten naar de gebruiker; de laatste gemiddelden minder dan 30 seconden. Als je een dure app voor optische tekenherkenning op je telefoon gebruikt, kan het toch zo lang duren om je een antwoord te geven, zegt Bigham, terwijl VizWiz slimmer is en goedkoper zou kunnen zijn.
Zowel Bigham als Bernstein zeggen dat ze menselijke berekeningen zien als een rijk terrein voor toekomstige toepassingen - met open source-tools zoals TurKit als de beste manier om prototypes te maken en ze te verfijnen. Menselijke algoritmen zijn fundamenteel anders dan we gewend zijn, en TurKit laat ons onderzoeken hoe we ze kunnen optimaliseren, zegt Bernstein. Als we met succes mensenmassa's in deze systemen gaan aansluiten, kunnen we een eindproduct produceren dat veel krachtiger is, en dat tegen lage kosten en met een hoge betrouwbaarheid.