def tokenize(text): steemming = stem.RSLPStemmer() tokens = text.decode('utf8').split() tokens = [i for i in tokens if i not in string.punctuation] stems = [steemming.stem(token) for token in tokens] stems = join_strings(stems) return stems
def __init__(self, nnp=None, terms=None, patterns=None, language=LANGUAGE): self.nnp = nnp self.terms = terms self.patterns = patterns self.language = language self.stopwords = stopwords.words(language) self.stemmer = stem.RSLPStemmer( ) if language == self.LANGUAGE else stem.porter.PorterStemmer()
def tokenize(text): """ Méotodo responsável por realizar os segunintes passos com uma data sentença: - tokenize a sentença, ou seja, reparti-la em tokens ou em cada um dos elementos da sentença. - remoção de pontuação - processo de Stemming, em que a palavra é reduzida a seu radical. - a sentença é novamente unida em uma única string já processada. :param text: sentença a qual se deseja classificar. :return: a senteça processada com apenas radicais de cada token. """ steemming = stem.RSLPStemmer() tokens = word_tokenize(smart_unicode(text)) tokens = [i for i in tokens if i not in string.punctuation] stems = [steemming.stem(token) for token in tokens] stems = join_strings(stems) return stems
def pre_process(data_set): tokenizer = RegexpTokenizer(r'\w+') stopword_set = set(stopwords.words('portuguese')) stemmer = stem.RSLPStemmer() new_data = [] for phrase in data_set: phrase = phrase.strip() if phrase != '': new_str = unicodedata.normalize('NFD', phrase.lower()).encode( 'ASCII', 'ignore').decode('UTF-8') dlist = tokenizer.tokenize(new_str) dlist = list(set(dlist).difference(stopword_set)) for s in range(len(dlist)): dlist[s] = stemmer.stem(dlist[s]) new_data.append(dlist) return new_data
def demo(): from nltk import stem stemmer = stem.RSLPStemmer() # white-space tokenizer friendly text; text taken from the first paragraph # of Erico Verissimo's "Música ao Longe" text = u""" Clarissa risca com giz no quadro-negro a paisagem que os alunos devem copiar . Uma casinha de porta e janela , em cima duma coxilha . Um coqueiro do lado ( onde o nosso amor nasceu - pensa ela no momento mesmo em que risca o troco longo e fino ) . Depois , uma estradinha que corre , ondulando como uma cobra , e se perde longe no horizonte . Nuvens de fiz do céu preto , um sol redondo e gordo , chispando raios , árvores , uma lagoa com marrecos nadando ... """ tokens = text.split() for token in tokens: word = token stem = stemmer.stem(token) print "%16s - %16s" % (word, stem)
def aplicar_stemming(text): """ Aplica algoritmo de Stemming para reduzir as palavras da frase do parâmetro até sua base (raiz) O resultado apresentado auxilia na identificação do significado da palavra e diminuição de dimensão da base de dados Parâmetros: text (string): Texto contendo palavras Retorna: list<string>: Lista de palavras com stemming aplicado """ # stemmer usado com a linguagem português stemmer = stem.RSLPStemmer() transformed_words = [] for word in text.split(): stemmed_word = stemmer.stem(word) if (stemmed_word): transformed_words.append(stemmed_word) return transformed_words
import re import unicodedata from nltk.corpus import stopwords from nltk import stem BAD_SYMBOLS_RE = re.compile(r'[^0-9a-z]') DUPLICATED_LETTERS = re.compile(r'([a-z])\1{2,}') STOPWORDS = set(stopwords.words('portuguese')) stemmer = stem.RSLPStemmer() def strip_accents(text: str) -> str: try: text = unicode(text, 'utf-8') except (TypeError, NameError): pass text = unicodedata.normalize('NFD', text) text = text.encode('ascii', 'ignore') text = text.decode("utf-8") return str(text) def preprocess_text(text: str) -> str: text = strip_accents(text) text = text.lower() text = BAD_SYMBOLS_RE.sub(' ', text) text = ' '.join(word for word in text.split()) return text
def __init__(self, component_config=None): super(SentimentAnalyzer, self).__init__(component_config) self.corpus_words = {} self.class_words = {} self.stemmer = stem.RSLPStemmer()