Google Bert. Credits:searchengineland.com

Google Bert. Credits:searchengineland.com

Nel 2015 Google rilasciò RankBrain, l’intelligenza artificiale che ha cambiato il modo in cui i risultati delle ricerche venivano forniti agli utenti. Accostandosi all’algoritmo di ricerca base di Google, è in grado di interpretare il significato delle parole chiave inserite dall’utente e fornire risultati migliori, cercando non soltanto i siti contenenti le parole inserite, ma anche quelli legati al significato della frase.

La scorsa settimana un nuovo algoritmo si è unito alla squadra: Bert contribuirà al miglioramento delle ricerche, che a detta di Google sarà in grado di impattare 1 ricerca su 10.

Cos’è BERT?

BERT, che sta per Bidirectional Encoder Representations for Transformers, è una tecnica per la fase di pre-training nel processo di elaborazione del linguaggio naturale (NLP). Essa nasce dal problema dell’insufficienza di dati per il training dei modelli: molti dataset infatti contengono solo qualche centinaio di esempi annotati. Per annotazione si intende l’identificazione e l’etichettatura delle parole chiave in un testo, in maniera che gli algoritmi di machine learning possano imparare ad individuarle anche in testi non annotati.

Per ovviare a questo problema, i ricercatori hanno sviluppato diverse tecniche per pre-allenare gli algoritmi utilizzando testi presi dal web, e quindi non annotati (fase di pre-training). Google da parte sua ha rilasciato un anno fa BERT come tecnica open-source per il pre-training, che da adesso utilizzerà anche per le sue ricerche. Questa tecnologia può essere utilizzata da chiunque per poter allenare il proprio sistema di question answering.

Alcuni esempi dell'utilizzo di modelli NLP e stato dell'arte.
Alcuni esempi dell’utilizzo di modelli NLP e stato dell’arte.

La tecnica è la prima ad essere bidirezionalenon supervisionata, pre-allenata esclusivamente con testi non annotati, e contestuale. Per comprendere la potenza di BERT, prendiamo due frasi in cui la stessa parola, “letto”, viene utilizzata con significati diversi:

Ieri sera sono andato a letto presto.

A causa della forte pioggia, il letto del fiume è pieno di detriti.

  • BERT è bidirezionale in quanto, diversamente dalle altre tecniche, considera tutte le parole della frase e non solo quelle precedenti a quella a cui si vuole dare significato. Se normalmente gli algoritmi prendono in considerazione solo “ieri sera sono andato a”, BERT considera l’intera frase. In questo caso, lavorerà con una proposizione di questo tipo: “Ieri sera sono andato a [MARKER] presto“. Ciò garantisce più precisione nell’individuazione del significato.
  • È anche contestuale in quanto è in grado di assegnare un significato diverso ad una parola a seconda del contesto. Nelle tecniche context-free la parola “letto” avrebbe assunto lo stesso significato in entrambe le frasi. BERT invece è in grado di gestire più rappresentazioni di una stessa parola.
BERT e OpenAI GPT a confronto: il primo è bidirezionale, il secondo no. Credits: https://ai.googleblog.com
BERT e OpenAI GPT a confronto: il primo è bidirezionale, il secondo no. Credits: https://ai.googleblog.com

Che cosa cambierà?

Come anticipato, la previsione di Google afferma che una ricerca su 10 vedrà le piene potenzialità di BERT. Attualmente lavora solo con l’inglese, ma è in programma l’ampliamento a più lingue. In particolare la differenza si vedrà con le ricerche “conversazionali“, ovvero meno precise e più vicine al parlato. Prendendo il caso dell’inglese, le proposizioni “for” e “to” sono quelle che impattano di più sul significato della frase, e che gli algoritmi faticano maggiormente a contestualizzare.

Google ha fornito degli esempi per dimostrare il cambiamento. Prendendo la ricerca “2019 brazil traveler to USA need a visa“, la particella “to” assume un significato importante perché implica la direzione del viaggio dal Brasile agli Stati Uniti, e non il contrario. Con un normale algoritmo di ricerca la distinzione è più difficile: abbiamo infatti brazil e non brazilian per identificare il viaggiatore, col risultato che gli algoritmi, fermandosi alle prime parole della frase, capiscono che si sta parlando di un viaggio verso il Brasile, e non il contrario.

Credits: blog.google
Credits: blog.google

I risultati hanno un significato molto diverso tra di loro: nel primo caso riguardano un viaggio verso il Brasile; nel secondo caso, il primo risultato riguarda i viaggiatori verso gli Stati Uniti e proviene dal consolato in Brasile.

Un altro esempio viene riportato per la particella “for”: nel caso della ricerca “can you get medicine FOR someone pharmacy” i normali metodi non riescono a comprendere l’implicazione della frase. La parte for someone è quella più importante per l’utente che ha effettuato la query, ma non per il modello di language processing. Con BERT questo aspetto viene evidenziato e si ha un risultato molto diverso:

 

Credits: blog.google
Credits: blog.google

L’utilizzo dell’algoritmo con altre lingue oltre l’inglese non sembra essere un obiettivo lontano. Google afferma che ciò che BERT impara in una lingua può essere facilmente trasposto in un’altra, senza dover subire nuovamente tutto il processo di training.