Google per gli sviluppatori: ecco come smettere di creare chatbot stupidi

In genere, i computer sono inutili per tenere una conversazione. Prendono le cose un po' troppo alla lettera. Ma Google sta insegnando ai computer come dare un senso ai capricci del linguaggio e del testo umani.





A partire da oggi, Google sta aprendo quegli algoritmi a sviluppatori di software esterni. Gli strumenti rilasciati aiuteranno i programmatori a creare app e servizi basati sul linguaggio meno soggetti a fastidiosi malintesi rispetto a molti dei chatbot odierni. E dovrebbero aiutare gli sviluppatori ad agganciarsi alle potenti tecniche di apprendimento automatico che Google sta perfezionando.

La padronanza della grammatica e della sintassi di Google aiuta l'azienda a fornire risultati di ricerca più accurati e sarà sempre più importante poiché un numero sempre maggiore di dispositivi e servizi dipenderà dal controllo vocale.

Gli smartphone basati sul software di Google possono, ovviamente, essere già controllati dalla voce e si ritiene che la società stia sviluppando dispositivi domestici, simili a Echo di Amazon, che dipendono maggiormente dall'interazione vocale. Quindi rilasciare uno strumento che renda più accessibile la comprensione della lingua ha molto senso strategico.



La maggior parte dei nostri utenti interagisce con noi attraverso il linguaggio, afferma Fernando Pereira, che guida gli sforzi dell'azienda nella comprensione del linguaggio naturale e nell'apprendimento automatico. Fanno domande, digitate o parlate. Quindi, per servire bene l'utente, dobbiamo fare in modo che i nostri sistemi capiscano cosa vogliono gli utenti.

Uno degli strumenti rilasciati oggi, chiamato SyntaxNet, può imparare a comprendere il significato di parole e frasi dato il loro contesto e l'uso comune. Funziona con il framework di deep learning precedentemente rilasciato da Google, chiamato TensorFlow. Ed è il componente più complesso e sofisticato costruito utilizzando TensorFlow fino ad oggi.

Google ha anche rilasciato un parser pre-addestrato per l'inglese, chiamato Parsey McParseface (un portavoce dice che la società stava avendo problemi a trovare un nome quando qualcuno ha suggerito questo accattivante soprannome). Il testo inserito nel parser verrà automaticamente suddiviso in componenti sintattiche come nomi, verbi, soggetti e oggetti. Ciò semplifica l'analisi corretta di query o comandi ambigui da parte di un computer.



Google di solito si basa sui dati e sull'apprendimento automatico, e in effetti alcuni altri approcci, come quello di Facebook, stanno cercando di addestrare i computer ad analizzare il linguaggio alimentando loro grandi quantità di dati in gran parte privi di etichetta (vedi Insegnare le macchine per capirci). Ma il progetto di comprensione del linguaggio di Google, descritto in un documento online, si basa invece sull'esperienza umana. Per più di otto anni, linguisti professionisti hanno lavorato all'annotazione del testo per l'azienda. E sono stati compiuti progressi recenti inserendo quelle annotazioni in una grande rete neurale di apprendimento profondo.

Comprendere il linguaggio è incredibilmente difficile per i computer perché il linguaggio è spesso ambiguo. Una query di ricerca semplice come Trovami gatti con cappello può essere interpretata come una richiesta di gatti che indossano cappelli o gatti seduti con cappelli. Mentre gli esseri umani usano la conoscenza generale per disambiguare tali frasi, la tecnologia di Google utilizza l'apprendimento automatico. Il suo sistema di deep learning, addestrato con testo sintattico, esprime un giudizio sulla struttura più probabile e corretta di un'affermazione. Nel caso dei gatti con il cappello, si presume che il ricercatore sia interessato ai felini alla moda.

Dave Orr, il product manager di Google responsabile della ricerca di applicazioni commerciali per la ricerca dell'azienda sulla comprensione delle lingue, mi ha dimostrato la tecnologia. Ha alimentato diversi articoli da Revisione della tecnologia del MIT in una versione interna del parser di lingua. Ha commesso un paio di errori banali, ad esempio confondendo la parola volontà all'inizio di una frase con il mio nome, ma in genere sembrava annotare le frasi con una precisione impressionante, identificando strutture sintattiche che catturavano correttamente il significato del titolo o dell'inizio. È il miglior parser che qualcuno abbia creato, dice Orr. Pensiamo che sia vicino al livello umano.



Internamente, Google combina il suo sistema in linguaggio naturale con un database di informazioni semantiche chiamato Knowledge Graph. Ciò gli consente di riconoscere particolari oggetti, persone, luoghi e altri concetti e di rispondere di conseguenza. Il sistema è spesso anche in grado di classificare correttamente nuove parole confrontandole con altre parole che appaiono in un contesto simile. Finora, la tecnologia funziona per 15 lingue. Alcune lingue sono più difficili da analizzare linguisticamente, rendendo la formazione più difficile, dice Orr.

La tecnologia, tuttavia, è tutt'altro che in grado di comprendere perfettamente l'inglese. I nostri sistemi funzionano meglio su testi ben strutturati e ben modificati, afferma Pereira. L'irregolarità dei social media e delle query di ricerca è più impegnativa. Abbiamo fatto progressi lì, ma c'è molto margine di manovra.

Ci sono anche ancora molte ambiguità che richiedono un livello umano di buon senso: cose che impariamo dall'esperienza e dalle istruzioni dei nostri coetanei e dei nostri genitori, dice Pereira. Quel tipo di capacità molto ricca di risolvere i problemi è dove i nostri sistemi sono completamente persi.



Noah Goodman, un professore alla Stanford University che ricerca la comprensione del linguaggio, afferma che una migliore comprensione sintattica è solo l'inizio di ciò di cui i computer hanno bisogno per padroneggiare il linguaggio. La sintassi è certamente una parte importante del linguaggio, dice. Ma è un grande passo da quello alla semantica e dalla semantica superficiale al significato dedotto.

nascondere