Text Technology Lab
- TTLab
spaCy
spaCy ist eine Python-Library, veröffentlicht unter der MIT-Open-Source Lizenz. Sie unterstützt Entwickler
im Bereich des Natural Language Processing. Die Library verwendet zur Analyse von Texten Techniken wie
Tokenisierung, Part-of-speech (POS) Tagging, Lemmatisierungen und vieles mehr.
Im Kontext der Bundestags-Mine wird sie vom Text Technology Lab genutzt, um NLP pipelines einzurichten,
welche die Reden des deutschen Bundestags durchlaufen. Die Ergebnisse dieser Analysen sind underanderem
Token, Sentiments und Named-Entities.
Token
Die grundsätzliche Idee von Tokenisierung ist es, den gegebenen Text in kleinere Untereinheiten aufzuteilen. Je nach Tokenizer kann ein Token entweder ein Wort, ein Zeichen oder ein Teilwort sein. Der Satz:
"Meine sehr verehrten Kolleginnen und Kollegen!"
hat die folgenden Token in der Bundestags-Mine:
"Meine"; "sehr"; "verehrten"; "Kolleginnen"; "und"; "Kollegen"; "!"
Lemmatisierung
Bei der Lemmatisierung wird versucht, die Grundform des Wortes zu extrahieren (wie man es typischerweise in einem Wörterbuch findet). So ist das Lemma von "Mine" weiterhin "Mine", aber das Lemma von "ist" wäre "sein". Am Beispiel vom obigen Satz:
"Meine sehr verehrten Kolleginnen und Kollegen!"
ist lemmatisiert:
"Meine sehr verehren Kollegin und Kollege!"
Part-of-speech (POS) Tagging
Beim POS-Tagging wird den einzelnen Token die jeweils passende Wortart zugeordnet. Wortarten sind unteranderem Nomen, Verben, Adverben, Pronomen etc. Am Beispiel vom obigen Satz:
"Meine sehr verehrten Kolleginnen und Kollegen!"
hat folgende POS:
"PPOSAT ADV ADJA NN KON NN"
Dabei stehen die Abkürzungen für folgende Tags:
- PPOSAT: besitzanzeigende Determinante
- ADV: Adverb
- ADJA: attributives Adjektiv
- NN: Nomen
- KON: koordinierende Konjunktion
Named-Entity Recognition (NER)
Die Aufgabe der NER ist es, Eigennamen (benannte Entitäten) unter Token zu bestimmen und diese dann zu kategorisieren. Folgende Kategorien gibt es in der Bundestags-Mine:
- PER: Person
- ORG: Organisation
- LOC: Location (Ort)
- MISC: Miscellaneous (Sonstiges)
Ein Beispiel anhand eines Satzes:
"Herr Kollege Fiedler hat es auch bestätigt."
hat einen erkannten Eigennamen:
"Fiedler" = Person
In der Bundestags-Mine werden die Named-Entities dazu genutzt, Themen der Reden und damit Redenden zu bestimmen. Dabei wird auf eine gefilterte Anzahl der Named-Entities pro Rede geschaut.
Named-Entities sind ein Kernstück der Bundestags-Mine.Sentiment-Analyse
Die Sentiment-Analyse wertet Texte aus, um dessen Aussagen als positiv, neutral oder negativ einzuordnen und die darunter liegende Stimmung zu erkennen. Dafür wird ein Wert berechnet, der von -1 bis 1 reicht. -1 bedeutet dabei sehr negativ, 0 gleicht neutral und 1 einem sehr positiven Sentiment. In der Bundestags-Mine werden die Reden der Abgeordneten einer solche Analyse auf satzbasis unterzogen. Es wird also ein Sentiment pro Satz definiert. Ein Beispiel:
"Denn wenn sie der bockigen und trotzigen Ampel jetzt nicht klar und eindeutig ihre Grenzen aufzeigen,
dann wird diese Ampel dauerhaft auf ihrer Nase rumtanzen, so wie heute schon bei der Unterbringung
von Flüchtlingen, bei der Krankenhausplanung, beim Pakt für den Rechtsstaat und jetzt auch noch beim
Hinweisgeberschutz"
besitzt einen Sentiment-Wert von:
-0.45 (negativ)