-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Salve, ho seguito i vostri corsi su ML e DL e nel corso dello studio ho trovato diversi contenuti deprecati e da gestire in maniera differente che però purtroppo non ho segnato. Ho adesso appena iniziato a seguire questo corso e ho trovato già all'inizio, nella libreria PyPDF2, un po' di cose che sono deprecate e andrebbero aggiornate. Man mano che ne trovo, aggiorno l'issue, così magari rimane tutto più centralizzato e potete correggere più facilmente. Sono ben consapevole che nel giro di un paio d'anni possa cambiare molto riguardo alle varie librerie e che essendo questo uno dei settori in più forte espansione, questo è un fenomeno molto comune. Ecco perché penso che sia utile tenere del materiale come questo aggiornato e spero di aiutare eventualmente anche chi sta seguendo il corso e incorre nei solito problemi 😊
- Libreria
PyPDF2-
PdfFileReader->PdfReader -
getIsEncrypted()-> Adesso esiste il parametrois_encrypted -
getPage()-> la classePdfReaderha le pagine come parametropagesche è una lista diPageObject -
numPages-> si deve controllare la lunghezza del parametropages - Non è più necessario fare il fix dei caratteri speciali (che anzi può adesso rovinare il file) e non esiste più il problema dell'andare a capo in mezzo alla frase
-
- Libreria
BeautifulSoup-
findAll()->find_all()
-
- Libreria
NLTK-
word_tokenize-> Non è più nel modellopunk, ma inpunk_tab, è quindi necessario farenltk.download("punkt_tab")per poterla usare. - Il modello per il POS da scaricare non è più
averaged_perceptron_tagger, maaveraged_perceptron_tagger_eng - Il dettaglio sui TAG del POS non è più nel modello
tagsets, ma nel modellotagsets_json
-
- Dataset New York Times Articles
- Questo dataset non è più disponibile! Io ho scaricato, sempre da Kaggle, questo dataset (piuttosto grande), ho poi preso solo la colonna
lead_paragraphche però contiene più di 2 milioni di record che possono andare da 1 carattere a 504073 caratteri, quindi ho limitato il dataset ai record con lead_paragraph tra 100 e 110 caratteri (per ottenere dati non troppo grandi da processare, ma comunque con un certo valore) e poi limitato il tutto ai primi 8888 record (per avere il solito numero di record del corso). Seguendo il corso, si può poi tranquillamente passare il dataframe che ho costruito alla classeCountVectorizer. Di seguito il codice:
- Questo dataset non è più disponibile! Io ho scaricato, sempre da Kaggle, questo dataset (piuttosto grande), ho poi preso solo la colonna
!kaggle datasets download aryansingh0909/nyt-articles-21m-2000-present
!unzip nyt-articles-21m-2000-present.zip
import pandas as pd
df = pd.read_csv('nyt-metadata.csv')
min_char = 100
max_char = 110
new_df = df[(df['lead_paragraph'].str.len()>min_char) & (df['lead_paragraph'].str.len()<max_char)]
new_df = new_df[:8888]CountVectorizer-
get_feature_names()->get_feature_names_out()
-
pyLDAvis- Ci sono molti problemi legati alle dipendenze su Google Colaboratory. La cosa migliore da fare è creare un piccolo conda e installare lì le dipendenze necessarie. Di base viene creato un ambiente con solo le dipendenze necessarie per utilizzare
pyLDAvisdove poi si può tranquillamente installare qualsiasi pacchetto vogliamo al di là delle dipendenze necessarie per Colab. Per farlo, basta eseguire questa cella
- Ci sono molti problemi legati alle dipendenze su Google Colaboratory. La cosa migliore da fare è creare un piccolo conda e installare lì le dipendenze necessarie. Di base viene creato un ambiente con solo le dipendenze necessarie per utilizzare
!pip install -q condacolab
import condacolab
condacolab.install()
Alla fine della quale la sessione di Colab si riavvierà da sola, andrà quindi lanciata un'altra cella per installare i pacchetti
!mamba install -y pyldavis scikit-learn gensim jinja2
Va tenuto a mente che, da ora in avanti, stiamo lavorando dentro a questo ambiente virtuale. Se vogliamo tornare ad un'istanza di Google Colaboratory esterna a conda, dovremo selezionare Runtime->Disconnetti runtime ed eliminare i dati per tornare ad un'istanza poi di Colaboratory totalmente nuova.
-
pyLDAvisnon ha più il modulosklearn, adesso bisogna lanciareimport pyLDAvis.lda_model