Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Applicazione della Pre-Elaborazione del Testo nella Pratica | Fondamenti della Pre-Elaborazione del Testo
Introduzione alla NLP

bookApplicazione della Pre-Elaborazione del Testo nella Pratica

Documenti

Prima di procedere con un esempio pratico di pre-elaborazione del testo, è importante comprendere i componenti chiave di un corpus testuale: i documenti.

Note
Definizione

Un documento è un singolo testo all'interno di un corpus, ad esempio un'email in un corpus di email.

Fondamentalmente, ogni corpus testuale è un insieme di documenti, quindi la pre-elaborazione del corpus significa pre-elaborare ciascuno dei documenti.

Caricamento del Corpus

In precedenza, abbiamo utilizzato il nostro corpus testuale come variabili stringa. Tuttavia, in scenari reali, un corpus testuale è spesso memorizzato in file TXT per dati puramente testuali o in file CSV con più colonne quando sono associati dati aggiuntivi al testo.

Nel nostro corso, lavoreremo sia con file CSV che con file TXT, dove ogni documento inizia da una nuova riga. Pertanto, utilizzeremo la funzione read_csv() della libreria pandas per caricare un corpus testuale da un file.

123456
import pandas as pd corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Qui, leggiamo questo file TXT in un DataFrame. Impostiamo sep='\r' per utilizzare il simbolo di ritorno a capo come separatore, indicando che ogni documento inizia su una nuova riga. Usiamo header=None affinché la prima riga non venga considerata come intestazione, e specifichiamo names=['Document'] per nominare l'unica colonna 'Document'. Di conseguenza, otterremo un DataFrame con una sola colonna chiamata 'Document' contenente 6 documenti (frasi).

Preprocessing del Corpus

Per preprocessare il corpus, creiamo innanzitutto una funzione per il preprocessing di ciascun documento:

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Applichiamo ora questa funzione al nostro DataFrame per ciascun documento e creiamo una colonna con i documenti puliti:

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Come puoi vedere, il nostro corpus è stato preprocessato con successo, quindi utilizzeremo la versione preprocessata di questo corpus più avanti nel corso.

question mark

Seleziona l'output corretto del seguente frammento di codice.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 9

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.45

bookApplicazione della Pre-Elaborazione del Testo nella Pratica

Scorri per mostrare il menu

Documenti

Prima di procedere con un esempio pratico di pre-elaborazione del testo, è importante comprendere i componenti chiave di un corpus testuale: i documenti.

Note
Definizione

Un documento è un singolo testo all'interno di un corpus, ad esempio un'email in un corpus di email.

Fondamentalmente, ogni corpus testuale è un insieme di documenti, quindi la pre-elaborazione del corpus significa pre-elaborare ciascuno dei documenti.

Caricamento del Corpus

In precedenza, abbiamo utilizzato il nostro corpus testuale come variabili stringa. Tuttavia, in scenari reali, un corpus testuale è spesso memorizzato in file TXT per dati puramente testuali o in file CSV con più colonne quando sono associati dati aggiuntivi al testo.

Nel nostro corso, lavoreremo sia con file CSV che con file TXT, dove ogni documento inizia da una nuova riga. Pertanto, utilizzeremo la funzione read_csv() della libreria pandas per caricare un corpus testuale da un file.

123456
import pandas as pd corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) print(corpus)
copy

Qui, leggiamo questo file TXT in un DataFrame. Impostiamo sep='\r' per utilizzare il simbolo di ritorno a capo come separatore, indicando che ogni documento inizia su una nuova riga. Usiamo header=None affinché la prima riga non venga considerata come intestazione, e specifichiamo names=['Document'] per nominare l'unica colonna 'Document'. Di conseguenza, otterremo un DataFrame con una sola colonna chiamata 'Document' contenente 6 documenti (frasi).

Preprocessing del Corpus

Per preprocessare il corpus, creiamo innanzitutto una funzione per il preprocessing di ciascun documento:

123456789101112131415161718
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc
copy

Applichiamo ora questa funzione al nostro DataFrame per ciascun documento e creiamo una colonna con i documenti puliti:

123456789101112131415161718192021222324252627
import re from nltk.tokenize import word_tokenize from nltk.corpus import stopwords import nltk import pandas as pd nltk.download('punkt_tab') nltk.download('stopwords') stop_words = set(stopwords.words('english')) def preprocess_document(doc): doc = re.sub(r'[^a-zA-Z\s]', '', doc, re.I | re.A) doc = doc.lower() doc = doc.strip() tokens = word_tokenize(doc) filtered_tokens = [token for token in tokens if token not in stop_words] doc = ' '.join(filtered_tokens) return doc corpus = pd.read_csv( 'https://staging-content-media-cdn.codefinity.com/courses/c68c1f2e-2c90-4d5d-8db9-1e97ca89d15e/section_1/chapter_8/example_corpus.txt', sep='\r', header=None, names=['Document']) corpus['Cleaned_Document'] = corpus['Document'].apply(preprocess_document) print(corpus)
copy

Come puoi vedere, il nostro corpus è stato preprocessato con successo, quindi utilizzeremo la versione preprocessata di questo corpus più avanti nel corso.

question mark

Seleziona l'output corretto del seguente frammento di codice.

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 9
some-alt