Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Aplicando o Pré-Processamento de Texto na Prática | Fundamentos de Pré-Processamento de Texto
Introdução ao PLN

bookAplicando o Pré-Processamento de Texto na Prática

Documentos

Primeiramente, antes de prosseguir com um exemplo prático de pré-processamento de texto, é importante compreender os principais componentes de um corpus de texto: documentos.

Note
Definição

Um documento é uma unidade separada de texto dentro de um corpus, por exemplo, um e-mail dentro de um corpus de e-mails.

Essencialmente, todo corpus de texto é um conjunto de documentos, portanto, pré-processar o corpus significa pré-processar cada um dos documentos.

Carregando o Corpus

Anteriormente, tínhamos nosso corpus de texto como variáveis de string. No entanto, em cenários do mundo real, um corpus de texto geralmente é armazenado em arquivos TXT para dados puramente textuais ou em arquivos CSV com múltiplas colunas quando dados adicionais estão associados ao texto.

Neste curso, trabalharemos com arquivos CSV ou TXT, onde cada documento começa em uma nova linha. Portanto, utilizaremos a função read_csv() da biblioteca pandas para carregar um corpus de texto a partir de um arquivo.

123456
import pandas as pd corpus = pd.read_csv( 'https://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

Aqui, lemos este arquivo TXT em um DataFrame. Definimos sep='\r' para usar o símbolo de retorno de carro como separador, indicando que cada documento começa em uma nova linha. Utilizamos header=None para que a primeira linha não seja considerada um cabeçalho, e especificamos names=['Document'] para nomear a única coluna como 'Document'. Como resultado, teremos um DataFrame com uma única coluna chamada 'Document' contendo 6 documentos (frases).

Pré-processamento do Corpus

Para pré-processar o corpus, primeiro vamos criar uma função para pré-processar cada um dos documentos:

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

Agora, vamos aplicar essa função ao nosso DataFrame para cada documento e criar uma coluna com os documentos limpos:

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://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

Como pode ser observado, nosso corpus foi pré-processado com sucesso, portanto utilizaremos a versão pré-processada deste corpus posteriormente no curso.

question mark

Selecione a saída correta do seguinte trecho de código.

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you explain what each step in the preprocessing function does?

What are stop words and why are they removed?

How can I customize the preprocessing steps for my own dataset?

Awesome!

Completion rate improved to 3.45

bookAplicando o Pré-Processamento de Texto na Prática

Deslize para mostrar o menu

Documentos

Primeiramente, antes de prosseguir com um exemplo prático de pré-processamento de texto, é importante compreender os principais componentes de um corpus de texto: documentos.

Note
Definição

Um documento é uma unidade separada de texto dentro de um corpus, por exemplo, um e-mail dentro de um corpus de e-mails.

Essencialmente, todo corpus de texto é um conjunto de documentos, portanto, pré-processar o corpus significa pré-processar cada um dos documentos.

Carregando o Corpus

Anteriormente, tínhamos nosso corpus de texto como variáveis de string. No entanto, em cenários do mundo real, um corpus de texto geralmente é armazenado em arquivos TXT para dados puramente textuais ou em arquivos CSV com múltiplas colunas quando dados adicionais estão associados ao texto.

Neste curso, trabalharemos com arquivos CSV ou TXT, onde cada documento começa em uma nova linha. Portanto, utilizaremos a função read_csv() da biblioteca pandas para carregar um corpus de texto a partir de um arquivo.

123456
import pandas as pd corpus = pd.read_csv( 'https://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

Aqui, lemos este arquivo TXT em um DataFrame. Definimos sep='\r' para usar o símbolo de retorno de carro como separador, indicando que cada documento começa em uma nova linha. Utilizamos header=None para que a primeira linha não seja considerada um cabeçalho, e especificamos names=['Document'] para nomear a única coluna como 'Document'. Como resultado, teremos um DataFrame com uma única coluna chamada 'Document' contendo 6 documentos (frases).

Pré-processamento do Corpus

Para pré-processar o corpus, primeiro vamos criar uma função para pré-processar cada um dos documentos:

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

Agora, vamos aplicar essa função ao nosso DataFrame para cada documento e criar uma coluna com os documentos limpos:

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://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

Como pode ser observado, nosso corpus foi pré-processado com sucesso, portanto utilizaremos a versão pré-processada deste corpus posteriormente no curso.

question mark

Selecione a saída correta do seguinte trecho de código.

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 9
some-alt