ENEA Eigennamen Extraction und Analyse

Ähnliche Dokumente
Lösungen zum Aufgabenblatt 9 Symbolisches Programmieren

Praktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform

Import und Export von Veranstaltungen

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

Nutzung maschinellen Lernens zur Extraktion von Paragraphen aus PDF-Dokumenten

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache

Erstellung Ihres Eintrags leicht gemacht. - leben und einkaufen in deiner region

Stream EDitor SED und Reguläre Ausdrücke

2 Eine einfache Programmiersprache

Stratego/XT und ASF+SDF Meta-Environment. Paul Weder Seminar Transformationen Datum:

Tandberg Leitfaden für Videoprofis

Friedrich-Alexander-Universität Professur für Computerlinguistik. Nguyen Ai Huong

Reguläre Ausdrücke. Felix Döring, Felix Wittwer 14. November Python-Kurs

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

2 Eine einfache Programmiersprache

Formale Methoden III - Tutorium

NEUE KONTEN IN ORGAMAX ANLEGEN

Lateinische Morphologie: Anleitung

Übung 2 Algorithmische Bioinformatik WS 15/16. Yvonne Mayer

Ein Secondo-basierter Routenplaner mit Berücksichtigung von Steigungen

Krawatterätsel - Verbesserung der oberen Schranke

Krawattenrätsel - Verbesserung der oberen Schranke

Basiskurs für Citavi 6

Erstellen eigener Tastaturkürzel

Web Mining Übung. Aufgaben. Umfang

OpenJustitia Anom V. 0.9 / September 2011

Inhalte in Kurse einfügen. Um Inhalte in Kurse einzufügen, logge dich in Moodle ein und betrete deinen Kurs.

Lösungen zum Aufgabenblatt 4 Computerlinguistische Anwendungen

KLAUSUR ZUM BACHELORMODUL,,EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2011/12, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

:44 1/8 Fachwahl

Erzeugen benutzerdefinierter Buchstabenlisten in EXCEL

Eine Formularvorlage für einen Muster-Kostenvoranschlag erstellen

Anleitung zur Anlage einer Kommunalwahldatei für NRW

Inverted Files for Text Search Engines

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

Erkennung menschlicher Aktionen durch Inferenz stochastischer regulärer Grammatiken

REDAXO KURZANLEITUNG. Juli 2006 Version 1.0

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

18. Natürliche Suchbäume

Ihre Einreichung redaktioneller Beiträge bei der Zeitschrift Natur und Landschaft

Was ist ein Korpus. Zitat aus: Carstensen et al. Computerlinguistik und Sprachtechnologie: Eine Einführung. Kap. 4.2, Textkorpora

Basiskurs für Citavi 6

Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik

1. Abfragen. Erstellen neuer Abfragen

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

Deduktive Systeme in Isabelle

HTML Tutorial Part I - Einführung und erste Texte schreiben

Mobilaufmaß für Apple ios v Sander & Doll AG

Das Halteproblem. Ein unlösbares Problem der Informatik - 1 -

Datenmodelle und Datenbanken 2

Medikamentenliste verwalten

Vorbemerkung zur elektronischen Orientierungsliste für Rechtschreibunterricht und -didaktik, Fassung 2014

Austauschen von Rollmaterial in einem Szenario

Modell Bahn Verwaltung. Tutorial. Decoder Datei. Min. Programm Version 0.65, März w w w. r f n e t. c h 1 / 10

Ronald M. Kaplan, Martin Kay Regular Models of Phonological Rule Systems

Info 1 Aufgabensammlung 2003 by Andreas Scholz

Institut für Informatik und Angewandte Kognitionswissenschaften

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Linux I II III Res WN/TT NLTK BNC/XML XLE I XLE. Nicolas Bellm. 3. April 2008

Kurzanleitung. Erstellen von Word- und Excelvorlagen. mit KuferSQL. Stand: Februar Kufer Software Konzeption

Ein- und Ausgabeumlenkung

Martin Schmidt

Beuth Hochschule Zahlensysteme WS15/16, S. 1

2. Formeln und Datenreihen

Basiskonzepte des Rechnerbetriebs

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln

LehrerInnen Schritt für Schritt durch s SbX-Portal

ERSTELLUNG EINES DATENEXPORTS MIT ORGAMAX

In 5 Schritten zur korrekten Formel. Komplexe Formeln und Funktionen richtig Verschachteln und Zusammensetzen

LAREX - Ein Werkzeug zur Layout-Analyse und Segmentierung von frühen Buchdrucken

Erläuterungen zur Verwendung des Erhebungsprogrammes für die Jahresabfallbilanz 2007

Kartei zur Erarbeitung der wörtlichen Rede

Mein eigenes Wörterbuch Lehrerhandbuch. Verwaltung von Wörterbüchern. Hinzufügen eines Wörterbuches. Verändern der generellen Daten des Wörterbuchs

Erweiterung AE WWS Lite Win: Module Barcode Printing

Die Produktfamilie SIMPLE Installation und Upgrade

Excel + VBA. Ergänzungen. Kapitel 1 Einführung in VBA Sequentielle Textdateien HARALD NAHRSTEDT. Erstellt am

Informatik B von Adrian Neumann

Spalten aufsummieren?!

Parallele und funktionale Programmierung Sommersemester Übung Abgabe bis , 18:00 Uhr

I N H A L T 1 PROJEKTE FUNKTIONEN AUSGABE...5 VERMSOFT ANLEITUNG INHALT

Sozialwissenschaftliche Fakultät der Universität Göttingen. Sommersemester 2009, Statistik mit SPSS

Lexikalische Programmanalyse der Scanner

ABITURPRÜFUNG 2006 LEISTUNGSFACH INFORMATIK (HAUPTTERMIN)

Peter Deckert. Hallo Tipp-Kick Freunde

Sie können das Datum im Feld < Option > abändern. Klicken Sie dazu einfach in das Feld, Sie können dann ein Datum eingeben.

2. Programmierung in C

Wissensrepräsentation

Übungen zu Algorithmische Bioinformatik

Anleitung zur Erstellung eines Serienbriefes

SAS Format: Fallen und Tricks

Programmierpraktikum WS 16/17

ABA-Navi-Tool 002. Bedienungsanleitung

Die Funktionen des Programms für Office Excel 2007

5.1.1 Dateilinks hinzufügen

1 Aussagenlogischer Kalkül

Substantiv / Artikelwort: Die Deklination

KompetenzManager Manual für die Benutzung der Website

ASCII-Datei der Lagerartikel

Abschnitt 7: Beispiel: Die Klasse String (Teil 1)

Transkript:

ENEA Eigennamen Extraction und Analyse Studienprojekt 24.05.2007 Betreuer: Dr. Markus Demleitner Matthias Hartung Dr. Detlef Prescher Referentin: Małgorzata Szczerbik

Das Ziel des Projekts war Ein Programm zu entwickeln, das Personennamen aus polnischen Texten extrahiert und diese einem bestimmten Deklinationstyp zuweist Namen im Polnischen werden dekliniert!

Überblick über das Programm Namenendungen und Deklinationstypen Name Regeln Lese Datei Entity Recognition Silbentrenner Deklinationstypen Finder Korpus Silben Muster

Zwischenschritte Herausforderungen Unicode in Java Output auf der Konsole Speichern von unicode-text in Java Einlesen und speichern unicode-text in Java Reguläre Ausdrücke in Java

Kurz zu verwendeten Dateien Korpus Regeln Silbenmuster Namensendung mit dem Deklinationstyp

Korpus Artikel aus der polnischen Zeitung online Rzeczpospolita (http://www.rzeczpospolita.pl/) in eine Text-Datei kopiert (manuell)

Korpus Bearbeitung Durchsuchung des Korpus per Handlese auf relevante Stellen und Markierung Erstellung der erwünschten Ergebnisse 420 Namen

Erarbeitung den Regeln Überlegung wie können die Namen im Polnischen im Satz repräsentiert werden: zb: VN NN-NN oder VN NN oder NN Sammlung von den Schlüsselwörtern vor und nach den Namen aus verschiedenen Zeitschriften Entsprechende Erarbeitung den Regeln

Beispiel für die Schlüsselwörter Namen stehen nach Titeln Prof, gen., Dr, Pan (Herr), Pani (Frau) Namen stehen vor Kommata, gefolgt von einer Berufs- oder Amtsbezeichnug Pani Pieczarek, przewodniczaca (Frau Pieczarek, Vorsitzende) Namen stehen nach Inquit-Formeln powiedział (sagte)

Struktur von Regelndatei Beschriebung der Datei Unnötige Zeichen vor dem Namen Reguläre Ausdrücke Unnötige Zeichen nach dem Namen Regeln haben die Form: ein Schlüsselwort, wonach oder wovor ein Personenname erwartet wird wie oben

SILBENMUSTER BEISPIEL Silbenmuster wurden übernommen von Hanna Kolodziejska.ć0ć8.ć0ł8.ć0ń8.ć0ś8.ć0ź8.ć0ż8...

Namensendungen mit den Deklinationstypen Paradigma mit der letzten Silbe und dem Deklinationstyp Letze Silbe Deklinationstyp _ SKI LEK SKA REK Sg. Nom. Vok. mask. Sg. Nom. mask Sg. Nom. Gen. Dat. Akk. Ins. Lok. Vok. fem. Sg. Nom. fem. Sg. Gen. Akk. mask. Sg. Nom. mask Sg. Nom. Gen. Dat. Akk. Ins. Lok. Vok. fem.

Das Programm Teil Entity Recognition und Name-Regeln Programmiersprache Java Mehrere Zeilen werden analysiert, darauf die Regeln angewendet, um Namen zu finden Als output werden Namen ausgeben

Das Programm Teil Silbentrenner Programmiersprache Java Basiert auf dem Algorithmus von Liang Der Algorithmus benutzt eine Liste von hyphenation patterns. Muster bestehen aus einer Buchstabenfolge mit Zahlenwerten zwischen 0 und 8 z.b.. 0 h 0 y 3 p 0 h 0 Die Zahlen geben die Trennbarkeit an: gerade Zahl bedeutet: Trennung verboten, ungerade Zahl bedeutet: Trennung erlaubt.

Silbentrenner Text gefundenename WOLSKI Silben Muster.ć0ć8.ć0ł8.ć0ń8.ć0ś8.ć0ź8.ć0ż8... musterhashtable.ć0ć0 -.ć0ć8.ć0ł0 -.ć0ł8 ć0ń0 -.ć0ń8.ć0ś0 -.ć0ś8.ć0ź0 -.ć0ź8.ć0ż0 -.ć0ż8.. -.. - m =.W0O0L0S0K0I0. Kurzepat (siehe nächste Seite) es existieren viele Suche in Musterhashtable nach Kurzepat Wenn gefunden: Wähle den original silben Muster Vergleiche die Zahlen im m und orignal silben Muster. Wenn die Zahl im orignal silben Muster größer ist als in m dann wechsle die Zahl in m Lösche alle Punkte und gerade Zahlen Tausche alle ungerade Zahlen gegen - WOL-SKI

Silbentrenner Kurzepat -.W0O0L0S0K0I0...W W.W0 W0 0.W0O W0O 0O O.W0O0 W0O0 0O0 O0 0.W0O0L W0O0L 0O0L O0L 0L L.W0O0L0.W0O0L0S.W0O0L0S0.W0O0L0S0K.W0O0L0S0K0.W0O0L0S0K0I.W0O0L0S0K0I. W0O0L0 W0O0L0S W0O0L0S0 W0O0L0S0K W0O0L0S0K0 W0O0L0S0K0I W0O0L0S0K0I. 0O0L0 0O0L0S 0O0L0S0 0O0L0S0K 0O0L0S0K0 0O0L0S0K0I 0O0L0S0K0I. O0L0 O0L0S O0L0S0 O0L0S0K O0L0S0K0 O0L0S0K0I O0L0S0K0I. 0L0 0L0S 0L0S0 0L0S0K 0L0S0K0 0L0S0K0I 0L0S0K0I. L0 L0S L0S0 L0S0K L0S0K0 L0S0K0I L0S0K0I. 0 0S 0S0 0S0K 0S0K0 0S0K0I 0S0K0I. S S0 S0K S0K0 S0K0I S0K0I. 0 0K 0K0 0K0I 0K0I. K K0 K0I K0I. 0 0I 0I. I I.. alle Buchstabenfolgen werden bis zu einer bestimmten Länge ermittelt.

Silbentrenner Kurzepat -.W0O0L0S0K0I0...W.W0.W0O.W0O0.W0O0L.W0O0L0.W0O0L0S.W0O0L0S0.W0O0L0S0K.W0O0L0S0K0.W0O0L0S0K0I.W0O0L0S0K0I. W W0 W0O W0O0 W0O0L W0O0L0 W0O0L0S W0O0L0S0 W0O0L0S0K W0O0L0S0K0 W0O0L0S0K0I W0O0L0S0K0I. 0 0O 0O0 0O0L 0O0L0 0O0L0S 0O0L0S0 0O0L0S0K 0O0L0S0K0 0O0L0S0K0I 0O0L0S0K0I. O O0 O0L O0L0 O0L0S O0L0S0 O0L0S0K O0L0S0K0 O0L0S0K0I O0L0S0K0I. 0 0L 0L0 0L0S 0L0S0 0L0S0K 0L0S0K0 0L0S0K0I 0L0S0K0I. L L0 L0S L0S0 L0S0K L0S0K0 L0S0K0I L0S0K0I. 0 0S 0S0 0S0K 0S0K0 0S0K0I 0S0K0I. S S0 S0K S0K0 S0K0I S0K0I. 0 0K 0K0 0K0I 0K0I. K K0 K0I K0I. 0 0I 0I. I I...W8 O1 2L1S

Kurzpat -.W0O0L0S0K0I0. Lösche alle Punkte und gerade Zahlen Tausche alle ungerade Zahlen gegen - WOL-SKI

Deklinationstypen Finder Wol-ski Suche nach dem letzten - um die Startposition der letzten Silbe zu finden Extrahiere die letzte Silbe ski ski - Sg. Nom. Vok. mask. fem.... -...... -...... -... Weise den Namen einem Deklinationstyp zu. Suche im Deklinationswörterbuch nach der letzten Silbe. Wenn die Silbe gefunden wurde, schreibe den Namen und die passende Beschreibung, die bei der letzten Silbe im Wörterbuch steht.

Ergebnis Beispiele Input Namen BOLEK, KOWALSKI, AGOREK Namen Deklinationstyp _ AGOREK Sg. Nom. mask. Sg. Nom. Gen. Dat. Akk. Ins. Lok. Vok. fem. BOLEK Sg. Nom. mask. Sg. Nom. Gen. Dat. Akk. Ins. Lok. Vok. fem. KOWALSKI Sg. Nom. Vok. mask. Ergebnisliste hat keine Doppeleinträge und ist sortiert

Ergebnis für Namenextraction Korpus1 Regeln 1 Alle Namen im Korpus Ergebnisse: gefunden im Korpus Nicht erkannte Namen im Korpus Falsch erkannte Namen im Korpus 301 420 319 121 20

Ergebnis für Namenextraction Korpus 2 Regeln 1 Alle Namen im Korpus Ergebnisse: gefunden im Korpus Nicht erkannte Namen im Korpus Falsch erkannte Namen im Korpus 301 178 125 53 4

Wichtige Beobachtung Regeln, die als Schlüsselwort ein Titel haben, zb. Prof. liefern die besten Ergebnisse.

Ergebnis für Namenextraction Regeln Titel Alle Namen im Korpus, auf die die Regeln mit dem Schüsselwort Titel zutreffen Korpus 2 Ergebnisse: gefunden im Korpus Nicht erkannte Namen im Korpus 52 64 63 1 0 Falsch erkannte Namen im Korpus

Gründe für nicht erkannte Namen Fehlende Regeln einfach Tipp Fehler

Gründe für falsch erkannte Namen Ambige Namen Personenname = Firmenname Im Polnischen ist es möglich, dass nach manchen Formen sowohl Personennamen als auch Land oder Firmen vorkommen, zb: Prezydent Warszawy (Prezydent von Warschau) Prezydent Kaczyński (Prezydent Kaczyński) In manchen Fällen trifft die Regel auch dann zu, wenn das Wort (eigentlich kein Name ) am Anfang des Satzes (großgeschrieben) ist und danach folgt das Schlüsselwort, zb: Profesor tłumaczy (Profesor erklärt)

Zusammenfassung Regeln aufwendig zu erstellen, Problem mit ambigen Namen die sowohl Firmaals auch Personenname repräsentieren Regeln die nur Titel beschreiben liefern die besten Ergebnisse Die Deklinationstypendatei muß um einsilbige Namen ergänzt werden Ambige Silben in der Deklinationstypendatei, wegen Konsonant-Alternationen

Lösungsvorschläge für Zweifelsfälle Für ambige Namen Erstellung von Ignore Listen Für konsonanten Alternation morphologische Analyse die zurück zum Stamm führt

Projekt Informationen http://www.rzuser.uni-heidelberg.de/~mszczerb/index.html

Danke für Eure Aufmerksamkeit Die Diskussion ist hiermit eröffnet