Esempio n. 1
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
Esempio n. 2
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
Esempio n. 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])
Esempio n. 4
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 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
Esempio n. 6
0
#### 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)
longwordslist = []
longwordslist.append([w for w in adidas_tokens if len(w) > 15])
Esempio n. 7
0
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))
doc = nlpeter(str(sliste))
#
spacc = []
for token in doc:
Esempio n. 8
0
class TextBlobDeTokenizer():
    def __init__(self):
        self.lemmatizer = PatternParserLemmatizer()

    def tokenize(self, s):
        return [lemma[0] for lemma in self.lemmatizer.lemmatize(s)]
Esempio n. 9
0
class TextBlobDeTokenizer():
    def __init__(self):
        self.lemmatizer = PatternParserLemmatizer()
        
    def tokenize(self, s):
        return [lemma[0] for lemma in self.lemmatizer.lemmatize(s)]