Common Text Pre-Processing for Portuguese

The purpose of this library is to provide a set of functions commonly used for cleaning texts and similar tasks. The focus of the library is Brazilian Portuguese.

Common Usage

from textpp_ptbr.preprocessing import TextPreProcessing as tpp

text = '''\
Escrever é esquecer. A literatura é a maneira mais agradável de ignorar a vida.
A música embala, as artes visuais animam, as artes vivas (como a dança e a arte
de representar) entretêm. A primeira, porém, afasta-se da vida por fazer dela
um sono; as segundas, contudo, não se afastam da vida - umas porque usam de
fórmulas visíveis e portanto vitais, outras porque vivem da mesma vida humana.
Não é o caso da literatura. Essa simula a vida. Um romance é uma história do
que nunca foi e um drama é um romance dado sem narrativa. Um poema é a
expressão de ideias ou de sentimentos em linguagem que ninguém emprega, pois
que ninguém fala em verso.

Fernando Pessoa'''

tpp.remove_accents(text)
print(tpp.remove_accents(text))

# Output:
# Escrever e esquecer. A literatura e a maneira mais agradavel de ignorar a vida.
# A musica embala, as artes visuais animam, as artes vivas (como a danca e a arte
# de representar) entretem. A primeira, porem, afasta-se da vida por fazer dela
# um sono; as segundas, contudo, nao se afastam da vida - umas porque usam de
# formulas visiveis e portanto vitais, outras porque vivem da mesma vida humana.
# Nao e o caso da literatura. Essa simula a vida. Um romance e uma historia do
# que nunca foi e um drama e um romance dado sem narrativa. Um poema e a
# expressao de ideias ou de sentimentos em linguagem que ninguem emprega, pois
# que ninguem fala em verso.
#
# Fernando Pessoa

Main features

class textpp_ptbr.preprocessing.TextPreProcessing[source]

Collection of static methods used to perform common text cleanup tasks focused on portuguese language.

This class use dictionaries and regular expressions to expose a set of features to help process Portuguese texts.

classmethod get_stopwords()[source]

Returns a list of brazilian portuguese stopwords.

All stopwords were extracted from NLTK.

classmethod remove_adverbs(text)[source]

Remove reduced or crontracted words.

Method based on a dictionary.

In [ ]: from textpp_ptbr.preprocessing import TextPreProcessing as tpp
   ...: tpp.remove_pronouns('Chegaram tarde para o Jantar. Era a moça mais bonita da festa. Partiram ontem apressadamente.')
Out[ ]: 'Chegaram   para o Jantar. Era a moça   bonita da festa. Partiram    .'            
classmethod remove_hour(text)[source]

Remove hour patterns from texts.

In [ ]: from textpp_ptbr.preprocessing import TextPreProcessing as tpp
   ...: tpp.remove_hour('some text with 12h or another 13hs time explicit')
Out[ ]: 'some text with   or another   time explicit'            
classmethod remove_person_names(text)[source]

Remove common person names.

All accents are removed before identify names. This method uses a dictionary with brazilian common names to build a regular expression that match common names.

In [ ]: from textpp_ptbr.preprocessing import TextPreProcessing as tpp
   ...: tpp.remove_person_names('Afirma o réu que seu funcionário Mário Tadeu dirigia o veículo na ocasião.')
Out[ ]: 'Afirma o reu que seu funcionario     dirigia o veiculo na ocasiao.'            
classmethod remove_pronouns(text)[source]

Remove pronouns.

Method based on a dictionary.

In [ ]: from textpp_ptbr.preprocessing import TextPreProcessing as tpp
   ...: tpp.remove_pronouns('Ninguém sabe ao certo donde partiram os gritos.')
Out[ ]: 'Ninguém sabe   certo   partiram os gritos.'            
classmethod remove_reduced_or_contracted_words(text)[source]

Remove reduced or crontracted words.

Method based on a dictionary.

In [ ]: from textpp_ptbr.preprocessing import TextPreProcessing as tpp
   ...: tpp.remove_pronouns('Ninguém sabe ao certo donde partiram os gritos.')
Out[ ]: 'Ninguém sabe   certo   partiram os gritos.'