Il Natural Language Processing (NLP) è un campo di ricerca che si focalizza sull’elaborazione automatica del linguaggio naturale. Nella ricerca condotta da Google, l’NLP è orientato verso lo sviluppo di algoritmi che possano essere applicati su larga scala, attraverso diverse lingue e domini. Questi sistemi trovano applicazione in numerose aree all’interno di Google, come la ricerca, le applicazioni mobile, le pubblicità, le traduzioni e molti altri servizi, migliorando l’esperienza utente in questi ambiti.
Le attività condotte spaziano attraverso una vasta gamma di compiti tradizionali associati all’NLP, con algoritmi general-purpose per la sintassi e la semantica che costituiscono la base per sistemi più specializzati. In particolare, vi è un interesse marcato verso algoritmi che scalano bene e possono essere eseguiti in modo efficiente in un ambiente altamente distribuito.
Dal punto di vista sintattico, i sistemi sviluppati prevedono la predizione di etichette grammaticali (part-of-speech tags) per ogni parola presente in una frase, oltre a caratteristiche morfologiche come il genere e il numero. Inoltre, vengono etichettate le relazioni tra le parole, come il soggetto, l’oggetto, la modifica, e altre. L’attenzione è posta su algoritmi efficienti che sfruttano grandi quantità di dati non etichettati, con una recente incorporazione della tecnologia delle reti neurali.
Per quanto riguarda l’aspetto semantico, i sistemi identificano entità nel testo libero, etichettandole con tipi specifici (ad esempio, persona, luogo, o organizzazione). Vengono poi raggruppate le menzioni di queste entità all’interno e tra documenti diversi (un processo noto come coreference resolution), e vengono risolte le entità nel Knowledge Graph di Google.
Recentemente, l’enfasi è stata posta sull’incorporazione di molteplici fonti di conoscenza e informazione per assistere l’analisi del testo, applicando la semantica del frame a livello di frase nominale, frase, e documento.