コード例 #1
0
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
コード例 #2
0
ファイル: pre_processing.py プロジェクト: leocomelli/scc5920
    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()
コード例 #3
0
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
コード例 #4
0
ファイル: execute.py プロジェクト: gbllopes/text-mining-tcc
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
コード例 #5
0
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)
コード例 #6
0
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
コード例 #7
0
ファイル: utils_text.py プロジェクト: Leothi/fbd_2020
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
コード例 #8
0
 def __init__(self, component_config=None):
     super(SentimentAnalyzer, self).__init__(component_config)
     self.corpus_words = {}
     self.class_words = {}
     self.stemmer = stem.RSLPStemmer()