Beispiel #1
0
def get_pos_lemmas(df):
    from textblob_de.lemmatizers import PatternParserLemmatizer
    _lemmatizer = PatternParserLemmatizer()
    setPosLemmas = []
    for index, row in df.iterrows():
        setPosLemmas.append(set(_lemmatizer.lemmatize(row['Antwort'])))
    return setPosLemmas
Beispiel #2
0
 def lemmatize_words(self, data):
     _lemmatizer = PatternParserLemmatizer()
     lemmatized_data = []
     if (type(data) == list):
         for d in data:
             text = ""
             for word in d:
                 text = text + " " + word
             l = _lemmatizer.lemmatize(text)
             lemmatized_data.append([i[0] for i in l])
     if (type(data) == str):
         l = _lemmatizer.lemmatize(data)
         lemmatized_data.append([i[0] for i in l])
     return lemmatized_data
Beispiel #3
0
    def lemmatize(self):
        """Return the lemma of each word in this WordList.

        Currently using NLTKPunktTokenizer() for all lemmatization
        tasks. This might cause slightly different tokenization results
        compared to the TextBlob.words property.

        """
        _lemmatizer = PatternParserLemmatizer(tokenizer=NLTKPunktTokenizer())
        # WordList object --> Sentence.string
        # add a period (improves parser accuracy)
        _raw = " ".join(self) + "."
        _lemmas = _lemmatizer.lemmatize(_raw)
        return self.__class__([Word(l, t) for l, t in _lemmas])
    def lemmatize(self):
        """Return the lemma of each word in this WordList.

        Currently using NLTKPunktTokenizer() for all lemmatization
        tasks. This might cause slightly different tokenization results
        compared to the TextBlob.words property.

        """
        _lemmatizer = PatternParserLemmatizer(tokenizer=NLTKPunktTokenizer())
        # WordList object --> Sentence.string
        # add a period (improves parser accuracy)
        _raw = " ".join(self) + "."
        _lemmas = _lemmatizer.lemmatize(_raw)
        return self.__class__([Word(l, t) for l, t in _lemmas])
def check_if_subjunctive(word):
    """Returns true if a word is subjuntive, False otherwise

    word -- a Blob Word object that is a verb
    TODO: must the word be a verb? Saya?
    TODO: write tests for this

    """
    _lemmatizer = PatternParserLemmatizer()
    lemma =  _lemmatizer.lemmatize(word)[0][0]
    if conjugate(lemma, PRESENT, 1, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PRESENT, 2, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PRESENT, 3, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PRESENT, 1, PL, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PRESENT, 2, PL, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PRESENT, 3, PL, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 1, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 2, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 3, SG, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 1, PL, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 2, PL, mood=SUBJUNCTIVE) == word:
        return True
    elif conjugate(lemma, PAST, 3, PL, mood=SUBJUNCTIVE) == word:
        return True
    else:
        return False
print (tokens)

#### POS Tagging ####

print("POS TAGS")

postags = blob.tags
print(postags)

#### Morphologie ####

#Grundformen

print("LEMMATIZATION AND POS TAGS - TEXTBLOB")

_lemmatizer = PatternParserLemmatizer()

lemmata = _lemmatizer.lemmatize(text)
print(lemmata)

#Generierung

print("MORPHOLOGY GENERATION - TEXTBLOB")

print(pd.attributive(u"gut", gender=pd.FEMALE, role=pd.INDIRECT, article="die"))

# Lange Wörter

'''
print("LONG WORDS IN ADIDAS TEXT")
adidas_tokens = word_tokenize (text_long)
Beispiel #7
0
 def __init__(self, tokenizer=None, lemmatizer=None, lemmatize=True):
     self.tokenizer = tokenizer if tokenizer is not None else PatternTokenizer()
     self.lemmatize = lemmatize
     if self.lemmatize:
         self.lemmatizer = lemmatizer if lemmatizer is not None \
             else PatternParserLemmatizer(tokenizer=self.tokenizer)
Beispiel #8
0
from textblob_de import TextBlobDE as tbde
from textblob_de.lemmatizers import PatternParserLemmatizer
_lemmatizer = PatternParserLemmatizer()

import spacy
import string

#textle = ' war nicht ganz richtig. Denn die eine Gesäßbacke befand sich leicht links von der Mitte und die andere Backe leicht rechts von der Mitte. Mayer kam zu dem Schluss, dass nur sein After direkt auf der Mitte der Bank saß, bzw. schwebte.  Ein Schatten fiel auf in und störte seine Kreise. Mayer blickte hoch und höher. Eine staatliche Frau stand vor ihm, und seiner Bank, auf der er mittig saß. Er beantwortete die unausgesprochene Frage in den Augen der Frau: Bitte, nehmen Sie ruhig Platz.  Danke, sagte die stattliche Frau und setzte sich rechts neben Mayer auf die Bank. Könnten Sie vielleicht etwas nach links rutschen?  Mayer löste seinen Blick von der Schönheit der Landschaft. Stattdessen betrachtete er nun nachdenklich die Dame; die rotblonden, halblangen Haare; die modische Hornbrille; das hübsche, herzförmige Gesicht; die weiße Bluse; das Dekolleté. Dann überlegte er, wie lange es gedauert hatte, hier auf dieser Bank seine Mitte zu finden. Er hatte mehrere Fixpunkte in der Landschaft, die sich unter ihm ausbreitete wie ein Ölgemälde, in seine innere Navigation, in sein Koordinatensystem, einbezogen: den Funkmast links, den Windpark rechts, natürlich den Stand der Sonne; und sein Augenmaß. Mayer besaß ein gutes Augenmaß, das ihn selten im Stich ließ. Und all diese Mühen wären mit einem Mal hinfällig wegen einer zweifellos attraktiven Frau, die aus dem Hinterhalt aufgetaucht war und ihn aus seiner Mitte vertreiben wollte? Niemals!  Nein, es tut mir leid., sagte Mayer mit fester Stimme, die keinen Zweifel an der Unabänderlichkeit seiner Entscheidung zuließ.  Sie sind nicht sehr freundlich.  Ich wurde nicht geboren, um freundlich zu sein., brummte Mayer und bohrte seinen Blick in das Gesicht der Dame.  Sie werden schon sehen, was Sie davon haben., sagte die rotblonde Dame.  Abrupt stand Mayer auf und gab die Bank frei. Für heute hatte er genug gesehen. Morgen würde er eine neue Mitte finden. Bitte, sagte er zu der Dame, lächelte verschmitzt und machte sich auf den Weg zum Parkplatz, der nur wenige Meter vom Schloss entfernt war.'
textle = [
    'hatte', 'wurde', 'Bäume', 'viele', 'Belastungen', 'gekauft', 'habe',
    'brüllte', 'hässliche', 'war'
]
#print(l_words)
#
print(" Ausgangstext: ")
print(textle)
#blob = tbde(str(textle))
print("..............................................")
#
blob1 = _lemmatizer.lemmatize(str(textle))
#print(blob1)
print(" TextBlob  lemma ")
sliste = ()
sliste = [x for (x, y) in blob1 if y not in ('x')]
print((sliste))
print("..............................................")
print("Jetzt -- SPACY....")
print("de_core_news_sm   ")
#
nlpeter = spacy.load("de_core_news_sm")
#doc = nlpeter(str(textle))
Beispiel #9
0
#   
#   copyright 2020, Peter Dittrich
#
# ADDED FOR TESTING PURPOSES by FAD28

from HanTa import HanoverTagger as ht
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime, time
from textblob_de import TextBlobDE as tbde
import os,math,re,sys
from textblob_de import PatternParser
from textblob_de.lemmatizers import PatternParserLemmatizer
from termcolor import colored
_lemmatizer = PatternParserLemmatizer()
#
#pd.set_option("display.max_columns",30)
pd.set_option('display.max_columns', None)

print("........................................................................")
#
lenni = len(sys.argv)
if lenni == 1: 
   print("  ACHTUNG Eingabefehler   ")
   sys.exit(" No Corpus file in command line")
text = sys.argv[1]
print("      >>>>>>>  Auswertung CORPUS : ",text,"  <<<<<<<<< ")
print(".")
tsname = text
now = datetime.datetime.now()
Beispiel #10
0
 def __init__(self):
     self.lemmatizer = PatternParserLemmatizer()
Beispiel #11
0
class TextBlobDeTokenizer():
    def __init__(self):
        self.lemmatizer = PatternParserLemmatizer()

    def tokenize(self, s):
        return [lemma[0] for lemma in self.lemmatizer.lemmatize(s)]
Beispiel #12
0
 def __init__(self):
     self.lemmatizer = PatternParserLemmatizer()
Beispiel #13
0
class TextBlobDeTokenizer():
    def __init__(self):
        self.lemmatizer = PatternParserLemmatizer()
        
    def tokenize(self, s):
        return [lemma[0] for lemma in self.lemmatizer.lemmatize(s)]