211service.com
Aggiungere l'intelligenza umana al software
Il servizio Mechanical Turk di Amazon ha fornito a lungo una fonte di lavoro a basso costo, quando il lavoro è semplice per gli umani ma difficile per i computer. Compiti come la descrizione di un'immagine, ad esempio, possono essere completati online da operatori umani remoti. I programmatori utilizzano già gruppi di questi lavoratori, chiamati turkers, per svolgere molti di questi compiti contemporaneamente. Ma Mechanical Turk non offre un modo semplice per i programmatori che sviluppano nuove applicazioni software per combinare e coordinare gli sforzi dei turker. Ora gli scienziati informatici del MIT hanno sviluppato un toolkit che fa proprio questo. Chiamato TurKit , lo strumento consente agli ingegneri del software di scrivere algoritmi per coordinare i lavoratori online utilizzando il linguaggio di programmazione Javascript e creare potenti applicazioni con intelligenza umana integrata. Il software può anche essere sottoposto a debug come un normale codice.

Software con cervello: Il componente aggiuntivo di elaborazione testi, Soylent, mostrato sopra, è stato creato con TurKit. Turkit aiuta gli sviluppatori a scrivere algoritmi che integrano il lavoro degli umani reclutati tramite Mechanical Turk.
Di solito in Javascript, non saresti in grado di accedere a Mechanical Turk senza molto lavoro, spiega Greg Little, un dottorando al MIT Laboratorio di informatica e intelligenza artificiale , che ha creato TurKit. Questo è un ponte per scrivere codice che interagisce con i lavoratori su Mechanical Turk, così possiamo facilmente esplorare nuovi metodi di calcolo umano.
Con TurKit, l'input umano viene archiviato in un database. In questo modo, ogni volta che il software in fase di sviluppo si blocca, i turker non devono ricominciare da capo. Invece, una volta che il programma è stato corretto, può riprendere da dove era stato interrotto. Se aspetti un'ora che gli umani finiscano il loro compito, e poi il programma genera un errore, non vuoi aspettare un'altra ora solo per vedere se la tua correzione di bug funziona, dice Little. TurKit impedisce inoltre che l'input umano cambi in modo imprevedibile durante il processo di debug. Se avessi un comportamento diverso ogni volta che eseguivo (un programma), non potrei mai eseguire il debug di quel bersaglio in movimento, afferma Michael Bernstein, un dottorando al MIT, che ha utilizzato TurKit per creare un'applicazione di elaborazione testi chiamata Soylent .
Grazie a TurKit, i ricercatori hanno già creato algoritmi di calcolo umano sufficientemente stabili da poter essere incorporati in un software funzionante. Soylent utilizza gruppi da tre a sette turker per eseguire la correzione di bozze su richiesta e l'accorciamento dei paragrafi in Microsoft Word, con un algoritmo chiamato Find-Fix-Verify. Nella fase Trova, i turchi evidenziano semplicemente gli errori senza correggerli. Soylent confronta i risultati di diversi lavoratori per coerenza, quindi invia l'output filtrato a un altro gruppo di turchi che correggono gli errori. Infine, un terzo gruppo controlla le correzioni per la qualità; i risultati scadenti vengono contrassegnati e Soylent visualizza solo le correzioni controllate. Se lasci perdere il tuo paragrafo, circa il 30 percento del lavoro che ottieni è inutilizzabile, dice Bernstein. Volevamo trattarlo come un rumore intrinseco nel sistema garantendo la qualità all'utente finale.
Un'altra applicazione Mechanical Turk, chiamata VizWiz , è stato sviluppato per consentire agli utenti non vedenti di identificare oggetti, come segnali stradali o articoli della dispensa, con l'aiuto delle fotocamere dei loro smartphone e dei tutori vedenti. Idealmente, VizWiz funzionerà velocemente, in modo che gli utenti ottengano risultati quando ne hanno più bisogno. Informatico dell'Università di Rochester Jeffrey Bigham e il suo team ha utilizzato TurKit per creare un algoritmo, chiamato quikTurkit, che riduce i tempi di attesa mettendo in coda gruppi di turchi prima che siano necessari. Quando un utente attiva la fotocamera di VizWiz, quikTurkit segnala ai turchi che una nuova query è imminente, reclutando nuovi lavoratori su richiesta o inviando la richiesta a un pool di otto turchi già impegnati a rispondere alle domande precedenti. Il primo metodo restituisce i risultati all'utente entro un paio di minuti; quest'ultimo ha una media inferiore a 30 secondi. Se stai eseguendo una costosa app di riconoscimento ottico dei caratteri sul tuo telefono, potrebbe volerci così tanto tempo per darti una risposta, dice Bigham, mentre VizWiz è più intelligente e potrebbe essere più economico.
Sia Bigham che Bernstein affermano di vedere il calcolo umano come un campo ricco per applicazioni future, con strumenti open source come TurKit come il miglior mezzo per prototiparli e perfezionarli. Gli algoritmi umani sono fondamentalmente diversi da quelli a cui siamo abituati e TurKit ci consente di esplorare modi per ottimizzarli, afferma Bernstein. Se iniziamo a collegare con successo le folle umane a questi sistemi, possiamo produrre un prodotto finale molto più potente e farlo a basso costo con un'elevata affidabilità.