Partielle Analyse von Personen-, Orts- und Zeitangaben in Texten aus der Museumsdokumentation Martin Scholz martin.scholz@i8.informatik.uni-erlangen.de 05.02.2009
Inhalt Anwendungsfall: Goldschmiede-Texte Erkennung von Named Entities (NER) Allgemeine Probleme Zeiten Orte Personen Name Authorities Nutzung als Lexikon Nutzung von Metadaten Ausgabebeispiele & Probleme anschaulich
Goldschmiede-Texte Goldschmiede-Projekt des Germanischen Nationalmuseums Goldschmiede-Kunst in Franken 16. - 19. Jhd. Daten in MIDAS-Format: Strukturierte Felder, freie Textfelder Problem: In freien Texten sind wichtige Informationen kodiert. Texte sind nicht maschinell nutzbar (z.b. für Suchanfragen)
Auszug aus Goldschmiede- Datenbank
Goldschmiede-Texte Idee: (Halb-)automatische flache Erschließung der Texte Ereignisorientierte Annotierung der Texte Überführung der Informationen in ein ontologisches System (CIDOC CRM) Dazu: Erkennen von Personennamen, Ortsnamen, Zeitangaben, etc. Anreicherung mit Metadaten (Name Authorities) Weiterhin: Erkennen von Ereignissen, Anaphernresolution
Named Entity Recognition (NER) Named Entity / benannte Entität: Dinge, die durch einen Namen referenziert werden Verschiedenste Kategorien: Personen Orte Gesellschaften (Kunst-)Gegenstände Zeiten!?...
Allgemeine Probleme bei NER Verwechslung von Namen mit normalen Wörtern: Essen (Stadt) vs. Essen (Nomen) Referenzierungen nicht eineindeutig Frankfurt (Main) vs. Frankfurt (Oder) (Alexander) Humboldt vs. (Wilhelm) Humboldt Norma Jeane Mortenson vs. Marilyn Monroe Washington (Person) vs. Washington (Stadt)
NER für Goldschmiede-Texte Momentan drei Komponenten: Personennamen Ortsnamen Zeitangaben Beliebige Sequenzierung Vorverarbeitung: POS-Tagger zur Bestimmung von Wortart und Lemma
Erkennen von Zeitangaben Einbinden / Übernahme eines bestehenden Erkenners (GéoSem-Projekt) Lexiko-syntaktische Regeln (Prolog-DCG) Beispiel: Erkennen von 1450-1506 periode(temporal: (type:complete..number:nexp..periode: (asem: (intervall: ((date:(type:ordinary..grain:year..value:j1))..date:(type:ordinary..grain:year..value:j2)))..intpr:(begin:(day:1..month:1..year:j1)..end:(day:31..month:12..year:j2))))) --> jahr(j1), [token('\-',_)], jahr(j2), {inccounter(idexpression,nexp), recorda(exp_temp1,(nexp,j1)), recorda(exp_temp2,(nexp,j2))}.
Erkennen von Zeitangaben Erkannte Ausdrücke: Relative und absolute Angaben Tag, Monat, Jahr, Jahrzehnt, Jahrhundert (19. Januar 2009, 1789, drei Tage später) Zeitspannen (1450-1506, nach Juli 1800) Alle Angaben außer tagesgenauen werden als Zeitspanne aufgefasst Resolution von relativen Angaben durch Rückgriff auf zuletzt erkannten passenden Ausdruck: Am 05.02.1800 kam er von seiner 1795 begonnenen Reise zurück. Er starb drei Tage später.
Erkennen von Ortsangaben Einbinden / Übernahme eines bestehenden Erkenners (GéoSem-Projekt) Unterscheidung Ortsname vs. Lokaler Ausdruck in Oberfranken die Städte München und Nürnberg Erkennen von Ortsnamen über externes Lexikon Beachtung von Groß-/Kleinschreibung: Alles was klein geschrieben wird, kann kein Ort sein
Erkennen von Ortsangaben 11 geogr. Typen Disambiguierung: die Städte München und Nürnberg und Finnland Einschränken von Ambiguitäten: die Stadt Berlin vs. das Land Berlin
Erkennen von Personennamen Spezielle Probleme bei Personennamen: Name besteht aus Kombinationen verschiedener Gruppen, hier: Vorname, Nachname, Kopula, Generationsangabe Der Name muss nicht vollständig sein (Hans vs. Hans II Jamnitzer) Verschiedene gleichwertige Sequenzierung der Gruppen möglich (Hans Jamnitzer vs. Jamnitzer, Hans) Ambiguität durch Komma: Aufzählung vs. Schreibweise Daher: Erkennung muss besonders flexibel sein
Erkennen von Personennamen Zunächst Erkennen aller potentiellen Namensbestandteile Lexikon für Namensbestandteile Für Kopula und Generationsangaben fest Für Vor- und Nachnamen erweiterbar (Name Authorities) Lexiko-syntaktische Auslöser Kandidat, wenn Lemma unbekannt oder Wortart Eigenname Einbeziehen des Kontexts: Syntax des Auslösers Beruf Name Titel Name APPR Beziehung Name PPOSAT Beziehung Name Beziehung der / des Name Beziehung von Beziehung : Beispiel [der] Goldschmied Samuel Klemm Frau Martha mit Meister Silvester Seine Tochter Katharina Tochter des Christian Mahler [der] Sohn von Peter von Quickelberg Lehrling: Lang, Johann Christoph
Erkennen von Personennamen Zusammensetzen der Bestandteile zu ganzen Namen nach bestimmten Regeln Endliche Automaten Längste angenommene Sequenz wird als Name betrachtet n n g Jamnitzer Jamnitzer I v + n Wenzel Jam nitzer v + g k n *Wenzel I von Jamnitzer v + g n Wenzel I Jamnitzer v + k n *Wenzel von Jamnitzer v + g Wenzel I v + Wenzel n, v + g Jamnitzer, Wenzel I n, v + k *Jamnitzer, Wenzel von n, v + g k *Jamnitzer, Wenzel I von n, v + Jamnitzer, Wenzel
Erkennen von Personennamen Ihm wurde laut Ratsbeschluß 1571.12.11 das Meisterrecht geschenkt, Wenzel I Jamnitzer zu Ehren. Lexika Kandidat Vor-/Nachname Ihm wurde laut Ratsbeschluß 1571.12.11 das Meisterrecht geschenkt, Wenzel I Jamnitzer zu Ehren. Vorname Generat.ang. Nachnamen Automaten Ihm wurde laut Ratsbeschluß 1571.12.11 das Meisterrecht geschenkt, Wenzel I Jamnitzer zu Ehren.
Name Authorities Standardisierung von Namen / Benennungen Schaffung von einheitlichen Referenzen (z.b. für Schlüssel) Verschiedene Grade von Autorität und Vollständigkeit Nutzung mehrerer Name Authorities Priorisierung von Name Authorities Verschiedene Distributionswege: Programm, Datei, Web-Seite, Web Service, etc. Keine einheitlichen Schnittstellen
Beispiel: Getty TGN 20 20
Name Authorities Unterstützte Name Authorities: Getty Thesaurus of Geographic Names (Web-Seite) Board on Geographic Names (Datei) Geographie-Datei des Diskus-Bundes (Datei) Orbis Latinus (Web-Seite) Getty Union List of Artist Names (Web-Seite) Personennamenkenndatei (Datei)
Verwendung von Name Authorities Nutzung als Lexikon für NER Für Vor- und Nachnamen und Ortsnamen Erstellen eines lokalen Cache (Effizienz) Probleme: Namen(sbestandteile) evtl. schwer aus NA zu extrahieren Übererkennung durch Seltene, aber hoch ambige Namen (z.b. Der ) Wörter in Pseudonymen o.ä., die in NA nicht von Namen unterschieden werden
Verwendung von Name Authorities Name Authorities teils mit Metadaten versehen Nutzung der Metadaten Disambiguierung Anreicherung von Objekten mit Daten Anreicherung von Named Entities mit Metadaten Je nach Name Authority unterschiedliche Metadaten Kein Cache (Aktualität) Keine Priorisierung, keine Vorauswahl Metadaten in separater Datei; lose verknüpft durch IDs
NER-Ausgabe (Z-O-P)
NER-Ausgabe (Z-P-O)
Metadaten-Ausgabe
ENDE
Beispiel Bearbeitungsablauf Umwandlung in TEI Named Entity Erkennung
Beispiel Bearbeitungsablauf Anreicherung mit Metadaten
TEI (Lite) Regeln zur Kodierung von Texten XML-basiert Sehr umfangreiche Sammlung an Auszeichnungen (Tags) Gruppierung von Tags in Modulen; freie Zusammenstellung je nach Bedürfnissen Verschiedenste Werkzeuge TEI Lite: Kombination von häufig genutzten Modulen
GS-Texte in TEI Lite Umwandlung der Texte zur Bearbeitung in Zwischenformat TEI Texte lose in einer Datei zusammengefasst Verbindung von Textfeld in MIDAS mit Text in TEI mittels xml:id
Ziel dieser Arbeit Aufbereitung der Texte durch Transformation nach TEI Entwicklung eines Programms zur Erkennung von Personen- und Ortsnamen sowie Zeitangaben (Named Entity Recognition) Anreicherung der Named Entities mit Metadaten unter Verwendung von Name Authorities