Wortarten-Tagging für Nomen

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

NER Named Entity Recognition
Claudio Moraga; Gisbert Dittrich
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Zusammenfassung der Vorwoche
Dr. Helmuth Sagawe WS 2010/11 Universität Heidelberg
Puck eine visuelle Programmiersprache für die Schule
Verifizieren versus Berechnen
Kapitel 4 Syntaktische Analyse: LR Parsing.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Prinzipien des Algorithmenentwurfs Backtracking Prof. Dr. Th. Ottmann
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Fakten, Regeln und Anfragen
1 Automatische Klassifikation von Nomen nach Begriffstyp Christof Rumpf Heinrich-Heine-Universität
Beata Kouchnir1 Part-of-Speech Tagging Eine Übersicht über verschiedene Ansätze sowie eine theoretische Beschreibung des TnT-Taggers von Thorsten.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Klausur „Diskrete Mathematik II“
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Semantisch gestützte Suche im Internet
Was ist Lemmatisierung und wie wird sie maschinell durchgeführt?
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
NPGrammar NPGrammar. Nominalphrasenextraktion.
Inhalte und Maßnahmen eingegeben haben,
- Die wichtigsten Wortarten im Überblick -
Hauptseminar Automaten und Formale Sprachen
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
Kontrollfragen zu Kapitel 1
Titelmasterformat durch Klicken bearbeiten Formatvorlage des Untertitelmasters durch Klicken bearbeiten Die formalen Sprachen bei ETAP Teil II.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
DEUTSCH Präpositionen  nächste Seite
Knowledge Discovery mit Wordnet und Alembic Workbench
1 Knowledge Discovery mit Wordnet und Alembic Workbench (Julia Faion) (Markus Reiter)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wir üben die Malsätzchen
Project Perseus Der volle Projektname lautet Perseus Digital Library Project. Das Projekt begann in 1985 als Experiment zur Digitalisierung von Bibliotheken.
Polynome und schnelle Fourier-Transformation
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Bernd-Kristian Kaczenski Humboldt-Universität zu Berlin
PRO:CONTROL Ziel des Moduls Arbeitspakete
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Übung zu Einführung in die LDV I
Analyseprodukte numerischer Modelle
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Formulare in HTML.
Kontrastive Untersuchung von Präpositionen (D-Fr)
1 Tagesüberblick 4 Lösung Hausaufgabe/Fragen Mustervergleiche.
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Wortarten Verben - veränderbare (flektierbare) Wortart, die eine Tätigkeit, ein Geschehen, einen Vorgang oder einen Zustand bezeichnet - konjugierbar.
Lexikalische Semantik
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
Rechtschreibstrategien
ADJEKTIVDEKLINATION.
Terminologie-Extraktion
 Präsentation transkript:

Wortarten-Tagging für Nomen Einleitung Markus Gündert

Hochschule der Medien - Maschinelle Sprachverarbeitung Wortarten - Tagging Inhalt der Präsentation Einleitung: 1. Was versteht man unter Wortarten-Tagging? Definition Beispiel 2. Motivation für Wortarten-Tagging Wofür dient Wortarten-Tagging? 3. Tags & Tagsets Tag – Begriffserklärung TagSet – Begriffserklärung STTS – Tagset 4. Lemmatisierung Begriffserklärung Probleme und Lösungsideen Seite 2 Projektbetreuung: Gertrud Faasz 2

Hochschule der Medien - Maschinelle Sprachverarbeitung Wortarten - Tagging Inhalt der Präsentation Projekt Modul 2 : Nomen-Tagging: 5. Projektbeschreibung Aufgabenstellung & Rahmenbedingungen Input & gewünschter Output 6. Vorüberlegung & Programmablauf Vorüberlegung Nomenerkennung Übersicht Programmablauf 7. Implementierung (Pseudocode) Aufbau des Lexikons Einlesen der tokenisierten Datei Nomenerkennung für Wörter, die NICHT am Satzanfang stehen Nomenerkennung für Wörter, die am Satzanfang stehen Tags setzen und in die Datei zurückschreiben Präsentation des Perl-Programms 8. Evaluierung AWK-Skript Vergleich mit Tree-Tagger Ergebnisse Seite 3 Projektbetreuung: Gertrud Faasz 3

1. Was versteht man unter Wortarten-Tagging Hochschule der Medien - Maschinelle Sprachverarbeitung 1. Was versteht man unter Wortarten-Tagging 1.1 Definition: zu deutsch: Wortartenannotation Anreicherung der Wortformen um grammatische Informationen Genauer: Zuweisung von Wortarten-Kennungen (Tags) an Tokens im Text Token: eine durch Leerzeichen abgegrenzte Buchstabenfolge Wortarten: Adjektive, Adverben, Konjunktionen, Nomen, Partizipien, Präpositionen, Pronomen,Verben... Ein System das eine solche Analyse und Generierung leistet heißt PART-OF-SPREECH TAGGER (POS) Seite 4 Projektbetreuung: Gertrud Faasz 4

1. Was versteht man unter Wortarten-Tagging Hochschule der Medien - Maschinelle Sprachverarbeitung 1. Was versteht man unter Wortarten-Tagging 1.2 Ein getaggter Beispielsatz: Token POS - Tag Lemma Im APPRART im Falle NN Fall|Falle von APPR von familiären ADJA familiär Zwischenfällen NN Zwischenfall oder KON oder gesundheitlichen ADJA gesundheitlich Problemen NN Problem sind VAFIN sein jedoch ADV jedoch Ausnahmen NN Ausnahme möglich ADJD möglich Seite 5 Projektbetreuung: Gertrud Faasz 5

2. Motivation für Wortarten-Tagging Hochschule der Medien - Maschinelle Sprachverarbeitung 2. Motivation für Wortarten-Tagging 2.1 Wozu dient Wortarten-Tagging? Suche in Korpora wenn nicht explizit vermerkt ist, welche Wortart ein Wort hat, kann man nur nach Buchstabenfolgen suchen würde zu vielen ungewollten Suchtreffer führen Beispiel: Suche von Eigennamen „Der Mann heißt mit Nachnamen Herr Mann“ Maschinelle Übersetzung Voraussetzung für das Parsing (Syntaxanalyse) Seite 6 Projektbetreuung: Gertrud Faasz 6

Hochschule der Medien - Maschinelle Sprachverarbeitung 3. Tags & Tagsets 3.1 Tag - Beriffserklärung Tag = Kürzel zur Benennung der Wortart bzw. Unterwortart bezieht sich immer auf genau ein Token beim Tagging-Vorgang wird jedem Token ein Tag zugeordnet Seite 7 Projektbetreuung: Gertrud Faasz 7

Hochschule der Medien - Maschinelle Sprachverarbeitung 3. Tagsets 3.2 Tagset - Begriffserklärung Ein Tagset ist eine definierte Menge an Tags, die annotiert werden können Anzahl der Tags schwankt je nach Sprache, Korpus undEntwicklungsstand zwischen 45 (Penn Treebank Tagset) und über 160 (C6 Tagset) geringe Anzahl an Tags  geringe Fehlerrate; lässt allerdings keine feine linguistischen Unterscheidungen zu Große Anzahl an Tags  Ambiguität und Fehlerrate steigt kodieren außer Wortarteninformation noch semantische, syntaktische oder morphologische Information Seite 8 Projektbetreuung: Gertrud Faasz 8

Hochschule der Medien - Maschinelle Sprachverarbeitung 3. Tagsets 3.3 STTS - Tagset STTS = Stuttgart-Tübingen-TagSet Tagset für die deutsche Sprache umfasst 54 Tags jedes Tag gehört zu einer von elf Hauptwortarten (Nomen, Verben, Artikel, Adjektive usw.) oder ist ein spezielles Tag, z.B. für Satzzeichen hierarchischer Aufbau: Sieben Hauptwortarten sind weiter unterteilt in Unterwortarten Bsp. Nomen: Aufteilung in NN und NE bis zu 3 Hierarchieebenen Seite 9 Projektbetreuung: Gertrud Faasz 9

Hochschule der Medien - Maschinelle Sprachverarbeitung 3. Tagsets 3.4 Auszug aus dem STTS Seite 10 Projektbetreuung: Gertrud Faasz 10

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.1 Begriffserklärung Lemma = Grundform eines Wortes Lemmatisierung: Reduktion auf die Grundform eines Wortes Lemma von Nomen: Nominativ Singular Beispiel: Autos  Auto Flugzeuge  Flugzeug Seite 11 Projektbetreuung: Gertrud Faasz 11

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Idee: Lemmatisierung durch Streichung der “en“-Endung Beispiele: Felsen  Fels Situationen  Situation Techniken  Technik Aber: Aufgaben  Aufgab Gruppen  Grupp Maßnahmen  Maßnahm Seite 12 Projektbetreuung: Gertrud Faasz 12

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Lemmatisierung durch Streichung der “en“-Endung Zusatzbedingung: Wort endet auf “-ten“ Beispiele: Aktivitäten  Aktivität Piloten  Pilot Schriftarten  Schriftart Aber: Experten  Expert Geschichten  Geschicht Raketen  Raket Seite 13 Projektbetreuung: Gertrud Faasz 13

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Lemmatisierung durch Streichung der “en“-Endung Zusatzbedingung: Wort endet auf “-nten“ Beispiele: Agenten  Agent Präsidenten  Präsident Studenten  Student Aber: Renten  Rent Komponenten  Komponent Konten  Kont Seite 14 Projektbetreuung: Gertrud Faasz 14

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Lemmatisierung durch Streichung der “en“-Endung Zusatzbedingung: Wort endet auf “-eiten“ Beispiele: Arbeiten  Arbeit Fähigkeiten  Fähigkeit Zeiten  Zeit Aber: Seiten  Seit Seite 15 Projektbetreuung: Gertrud Faasz 15

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Zusatzbedingung: Wort endet auf “-keiten“ Beispiele: Möglichkeiten  Möglichkeit Schwierigkeiten  Schwierigkeit Tätigkeiten  Tätigkeit Gleiches gilt für Wörter, die auf “-heiten“ enden: Einheiten  Einheit Gegebenheiten  Gegebenheit Wahrheiten  Wahrheit Seite 16 Projektbetreuung: Gertrud Faasz 16

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen schwierig, allgemeine Lemmatisierungsregeln zu finden für manche Nomen lassen sich dennoch Regeln definieren Regel 1: Lösche die en-Endung raus, wenn Nomen auf –keiten, –heiten oder –ungen endet Beispiel: Schwierigkeiten  Schwierigkeit Einheiten  Einheit Schwingungen  Schwingung Seite 17 Projektbetreuung: Gertrud Faasz 17

Hochschule der Medien - Maschinelle Sprachverarbeitung 4. Lemmatisierung 4.2 Probleme und Lösungsideen Regel 2: Lösche die e-Endung raus, wenn Wort auf –teile endet Beispiel: Vorteile  Vorteil Anteile  Anteil Ersatzteile  Ersatzteil Seite 18 Projektbetreuung: Gertrud Faasz 18

Wortarten-Tagging für Nomen Projekt Modul 2 Markus Gündert

Hochschule der Medien - Maschinelle Sprachverarbeitung Wortarten - Tagging Inhalt der Präsentation Projekt Modul 2 : Nomen-Tagging: 5. Projektbeschreibung Aufgabenstellung & Rahmenbedingungen Input & gewünschter Output 6. Vorüberlegung & Programmablauf Vorüberlegung Nomenerkennung Übersicht Programmablauf 7. Implementierung (Pseudocode) Aufbau des Lexikons Einlesen der tokenisierten Datei Nomenerkennung für Wörter, die NICHT am Satzanfang stehen Nomenerkennung für Wörter, die am Satzanfang stehen Tags setzen und in die Datei zurückschreiben Präsentation des Perl-Programms 8. Evaluierung AWK-Skript Vergleich mit Tree-Tagger Ergebnisse Seite 20 Projektbetreuung: Gertrud Faasz 20

Hochschule der Medien - Maschinelle Sprachverarbeitung 5. Projektbeschreibung 5.1 Aufgabenstellung & Rahmenbedingungen Ziel: Erstellung eines regel- und lexikonbasierten Wortarten-Taggers in Perl Anforderungen an den Tagger: automatische Erkennung und Lemmatisierung von Nomen Tagset, der verwendet werden soll: STTS (Stuttgart-Tübingen TagSet) Nomen werden als „NN“ (Normales Nomen) getagged (1 tab Abstand) Eigennamen (NE) werden ebenfalls als „NN“ getagged Evaluierung: mit Hilfe eines AWK-Skripts Vergleich mit dem Ergebnis des TreeTaggers (AWK-Skript) Seite 21 Projektbetreuung: Gertrud Faasz 21

Hochschule der Medien - Maschinelle Sprachverarbeitung 5. Projektbeschreibung 5.2 Input & gewünschter Output Input: Output: <s> <s> Zeitungen Zeitungen NN Zeitung informieren informieren über über aktuelle aktuelle Geschehnisse Geschehnisse NN Geschehnis in in der der Politik Poilitik NN . . </s> </s> Seite 22 Projektbetreuung: Gertrud Faasz 22

6. Programmablauf & Algorithmus Hochschule der Medien - Maschinelle Sprachverarbeitung 6. Programmablauf & Algorithmus 6.1 Vorüberlegung Nomenerkennung Nomenerkennung anhand Großschreibung Problem: Satzanfang Abhilfe: Wörter am Satzanfang gegen ein Nomen – Lexikon abgleichen Alternative Möglichkeiten, wenn Wort nicht im Lexikon vorkommt: Nomenerkennung anhand von Endungen: -ung,-ungen, -keit, -keiten, -sel, -urm, ürme, io Ausschließungsprinzip anhand von Kontext: 2 Nomen meistens nicht hintereinander am Satzanfang Bsp: „Das Haus ist groß“ Seite 23 Projektbetreuung: Gertrud Faasz 23

6. Programmablauf & Algorithmus Hochschule der Medien - Maschinelle Sprachverarbeitung 6. Programmablauf & Algorithmus 6.2 Übersicht über den Programmablauf Aufbau eines Nomen-Lexikons (einmalig) wenn möglich, Lemma gleich mit ablegen tokenisierte Textdatei von Modul 1 einlesen Wörter, die nicht am Satzanfang stehen, auf Großschreibung untersuchen falls groß geschrieben, Lexikon um dieses Wort eventuell ergänzen Wörter am Satzanfang gegen Lexikon abgleichen oder alternativ auf Kontext und Endung überprüfen NN-Tags setzen Seite 24 Projektbetreuung: Gertrud Faasz 24

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.1 Aufbau des Lexikons - Pseudocode Grundlage für das Lexikon: Textfiles mit bereits über 500 000 enhaltenen Nomen: Vorverarbeitung nötig: Leerzeichen und Ziffern rauslöschen Seite 25 Projektbetreuung: Gertrud Faasz 25

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.2 Aufbau des Lexikons und Lemmatisierung Pseudocode: read (all nomen_textfiles) { var Nomen = aktuelleZeile; //schreibt den aktuellen Zeileninhalt in die Variable bereinige(Nomen); //Leerzeichen und Zahlen rauslöschen (if Endung == -heiten or –keiten or –ungen or –teile { lemma = lemmatisiere(Nomen); //Anwendung der Lemmatisierungsregeln HashDBM.add(Nomen, lemma); } else { HashDBM.add(Nomen); Seite 26 Projektbetreuung: Gertrud Faasz 26

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.3 Einlesen der tokenisierten Datei Pseudocode: read (tokenisierte_Datei.txt) { var wort = aktuelleZeile; //lies jede Zeile der Datei ein if(/<s>| ‘ | “ /) { //falls neuen Satzanfang erreicht merk_dir_pos(wort); //merk dir, welche Wörter am } Satzanfang stehen } Seite 27 Projektbetreuung: Gertrud Faasz 27

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.4 Nomenerkennung für Wörter, die NICHT am Satzanfang stehen Pseudocode: If (wort.position != satzanfang && wort.großgeschrieben == true) { istNomen[i] = true; //merke dir, dass dieses Wort ein Nomen ist //falls gefundenes Nomen noch nicht vorhanden in der Hash-DBM if(/not exists HashDBM(aktuellesWort)/) lemma = lemmatisiere(aktuellesWort); //ergänze HashDBM HashDBM.add(aktuelles_Wort, lemma); } i++; Seite 28 Projektbetreuung: Gertrud Faasz 28

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.5 Nomenerkennung für Wörter, die am Satzanfang stehen Pseudocode: If (Wort.position == Satzanfang && nextWord is not Nomen) { //Kontextberücksichtigen If (exists HashDBM{Wort} ) { istNomen[i] = true; //merke dir, dass dieses Wort ein Nomen ist } else //alternative Nomenerkennung anhand von Endungen if (Wort.endung== /ung$|ungen$|keit$|keiten$|sel$|urm$|ürme$|io$/) { istNomen[i] = true; } else { istNomen[i] = false; Seite 29 Projektbetreuung: Gertrud Faasz 29

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.6 Tags setzen und in Datei zurückschreiben Pseudocode: For(i=0; i<wortAnzahl; i++) { If (istNomen[i] == true) { write(Datei, wort +“\tab NN “ + “\tab“ + lemma); } else write(Datei, wort); Seite 30 Projektbetreuung: Gertrud Faasz 30

Hochschule der Medien - Maschinelle Sprachverarbeitung 7. Implementierung 7.7 Präsentation des Perl - Programms Seite 31 Projektbetreuung: Gertrud Faasz 31

Hochschule der Medien - Maschinelle Sprachverarbeitung 8. Evaluierung 8.1 AWK-Skript Vergleich des Tagging-Ergebnisses mit dem des TreeTaggers Awk-Skript: // kopiert Tagging-Ergebnisse in eine gemeinsame Datei awk “NR==FNR{a[FNR]=$1\"\t\"$2;next} {print a[FNR] \"\t\" $2}" treetagger.txt myresult.txt > vergleich.txt // vergleicht Tagging-Ergebnisse awk “$2 ~ /NN/ {gesamt++} $2==$3 && $1!~/<s>|<\/\s>/ {korrekt++} $2 ~ /NE/ {ne++} END{print \"Treetager hat \"gesamt\" Nomen erkannt\n\MyTagger hat davon \"korrekt\" Nomen korrekt erkannt\n\Erkennungsquote: \"korrekt*100/gesamt\"%\n\"ne\" NE wurden der Einfachheitshalber als NN getagged\"}" vergleich.txt Seite 32 Projektbetreuung: Gertrud Faasz 32

Hochschule der Medien - Maschinelle Sprachverarbeitung 8. Evaluierung 8.2 Vergleich mit TreeTagger - Ergebnisse Tokenisierte Beispiel-Textdatei mit 1420 Tokens “beispiel.txt” TreeTagger erkannte darunter 296 Nomen Mein Tagger erkannte davon 291 Nomen korrekt Erkennungsrate: 98,31% 54 NE wurden einfachheitshalber als NN getagged Seite 33 Projektbetreuung: Gertrud Faasz 33

Hochschule der Medien - Maschinelle Sprachverarbeitung 8. Evaluierung 8.2 Vergleich mit TreeTagger - Ergebnisse Seite 33 Projektbetreuung: Gertrud Faasz 34