Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wortarten-Tagging für Nomen

Ähnliche Präsentationen


Präsentation zum Thema: "Wortarten-Tagging für Nomen"—  Präsentation transkript:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

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

20 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

21 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

22 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

23 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

24 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

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

26 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

27 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

28 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

29 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

30 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

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

32 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

33 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

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


Herunterladen ppt "Wortarten-Tagging für Nomen"

Ähnliche Präsentationen


Google-Anzeigen