CHATBOT #2 - Data pre-processing

In questa sezione diamo un'occhiata a quelle che saranno le operazioni da effettuare sul nostro dataset per renderlo comprensibile al nostro modello. Si tratta del primo articolo in cui iniziamo a sporcarci le mani

Quindi non perdiamo tempo e apriamo il nostro Spyder.


In questa sezione vedremo le operazioni necessarie a pre-processare il nostro dataset, così da renderlo elaborabile dal nostro sistema.

Per prima cosa vediamo l'importazione delle librerie che ci accingiamo a utilizzare, che saranno le seguenti:
  • Numpy 
  • Tensorflow - il noto framework  open source per il Machine Learning
  • Re - la usiamo per ripulire il testo, e, viste le dimensioni ridotte del nome, possiamo non associare ad essa nessuno shortcut.
  • Time 




Ad ognuna delle importazioni assoceremo uno shortcut.
Qui sotto il codice risultante.
Per assicurarvi che tutto sia OK, vi suggerisco di provare a  lanciare le importazioni dopo averle selezionate.



import numpy as np
import tensorflow as tf
import re
import time 

A questo punto dobbiamo importare i due file che abbiamo appena scaricato, contenenti le informazioni relative alle conversazioni.


  • movie_lines.txt
  • movie_conversations.txt

Come si vede dall'immagine sottostante i due file sono già presenti nella work directory: 




In tal modo l'operazione di importazione può essere effettuata in un colpo solo con la seguente riga: 


lines = open('movie_lines.txt',encoding='utf-8', errors= 'ignore').read().split('\n')

I parametri passati sono i seguenti: 

  • il nome del file
  • encoding del file, nel nostro caso 
  • ignoriamo eventuali errori 

Il metodo "read" serve per leggere il file, mentre specifichiamo il separatore tra un record e un altro con "split('\n')".
Il tutto viene ripetuto anche per il file delle conversazioni.

Il risultato è quindi il seguente:



lines = open('movie_lines.txt',encoding='utf-8', errors= 'ignore').read().split('\n')

conversations = open('movie_conversations.txt',encoding='utf-8', errors= 'ignore').read().split('\n')


Se tutto è andato a buon fine, nella finestra in alto a destra, nel variable explorer, troviamo le due variabili correttamente censite e valorizzate.












Comments