Natural Language Processing con Tensorflow

TensorFlow, un popolare framework open source per l'apprendimento automatico.
TensorFlow lavora nel deep learning, per costruire sistemi di elaborazione del linguaggio naturale. Utilizzando alcuni linguaggi di programmazione è possibile elaborare il testo, in modo che possano essere immesse in una rete neurale.
È possibile applicare in in TensorFlow anche RNN, GRU e LSTM o formare un LSTM sul testo esistente per creare un prodotto originale.
Per eseguire questo è necessario conoscere i fondamenti del Machine Learning, specialmente nella parte che riguarda il Deep Learning.
Quando vengono analizzate delle immagini, si ha a che fare con valori relativi a pixel e quindi a numeri. Invece quando si elaborano testi, il tutto deve essere codificato in modo che possa essere facilmente elaborato da una rete neurale, e per questo potremmo usare i loro valori ASCII. Tuttavia, l'uso di valori ASCII limita la nostra comprensione semantica della frase.
Ora, invece di etichettare ogni lettera con un numero, ovvero valori ASCII, etichettiamo ogni parola. Nelle frasi sopra, abbiamo etichettato ogni parola. L'unica differenza è l'ultima parola. Quando visualizziamo solo le etichette, osserviamo uno schema.

Guardando questa immagine vediamo che c'è somiglianza tra le frasi. Da qui in poi, possiamo iniziare a formare una rete neurale in grado di comprendere il significato delle frasi.

Il Token gestirà il lavoro più pesante, infatti con il token creato sarà possibile etichettare ogni parola e fornire un dizionario delle parole utilizzate nelle frasi.