Aufbau eines linguistischen Korpus aus den Daten der englischen Wikipedia

Die Seite wird erstellt Merlin Simon
 
WEITER LESEN
Aufbau eines linguistischen Korpus
                     aus den Daten der englischen Wikipedia
                                       Markus Fuchs
                                  Informationswissenschaft
                                   Universität Regensburg
                                  Regensburg, Deutschland
                                fuchs.markus@gmail.com

                                                       Zum einen sind sie (zumeist) frei verfügbar
                   Abstract                        und zum anderen kann durch die große Zahl an
                                                   freiwilligen Mitarbeitern ein hoher Grad an Ab-
Die Online-Enzyklopädie Wikipedia bietet eine      deckung und Aktualität erreicht werden.
Fülle an (semantischer) Information, die zur Lö-       Die Wikipedia als der wohl bedeutendste Ver-
sung von Problemstellungen aus verschiedenen       treter der KWRs bietet durch ihren enzyklopädi-
Bereichen der Sprach- und Texttechnologie (In-     schen Aufbau, ihre dichte Verweisstruktur und
formation Retrieval, Verarbeitung natürlicher      ihre Multilingualität eine Fülle an (semantischer)
Sprache, Information Extraction) eingesetzt wer-   Information und wurde bereits für eine Vielzahl
den kann. Die Informationen liegen jedoch nur in   verschiedener Studien eingesetzt:
semi-strukturierter Form in der Wikipedia-             Gabrilovich und Markovitch (2009) machen
eigenen Markup-Sprache vor, dem sogenannten        sich die Tatsache zu Nutze, dass jeder
„Wikitext“.                                        Wikipedia-Artikel einen Begriff beschreibt, und
   Dieser Artikel stellt ein System vor, das auf   gründen darauf ein Verfahren zur Berechnung
Basis der Daten der (englischen) Wikipedia ein     der semantischen Verwandtschaft. Ruiz-Casado
linguistisches Korpus erstellt und darin auch      u. a. (2005) vergleichen die Artikeltexte mit den
Wikipedia-spezifische strukturelle Daten und       Glossierungen potenziell bedeutungsgleicher
Metadaten wie Artikelverweise, Kategorienzu-       WordNet-Synsets, um Wikipedia-Einträge auto-
gehörigkeit oder zwischensprachliche Verweise      matisiert auf die entsprechenden Konzepte von
speichert. Da alle Daten in einer relationalen     WordNet abzubilden.
Datenbank abgelegt werden, ist ein einfacher und       In der Wikipedia kommen drei verschiedene
sehr effizienter Zugriff mit umfassender Such-     Arten von Verweisen vor: Links auf andere Arti-
funktionalität möglich. Es wird unter anderem      kel werden z. B. von Ito u. a. (2008) eingesetzt.
gezeigt, wie sich die drei häufigsten Untersu-     Sie nutzen deren Kookkurrenzen, um ein System
chungsmethoden von Korpora (Konkordanz,            zur Bestimmung der semantischen Verwandt-
Frequenzlisten und Kollokationen) mit dem hier     schaft zu erstellen.
beschriebenen System realisieren lassen.               Kategorien-Links werden in der Wikipedia
                                                   verwendet, um mehrere Artikel bzw. mehrere
1   Einleitung                                     Kategorien in einer Kategorie zusammenzufas-
                                                   sen. Ponzetto und Strube (2007) analysieren bei-
Eine neue Art der semantischen Ressource findet    spielsweise die Syntax der Titel verknüpfter
in den letzten Jahren verstärkt Anwendung in der   Kategorien, um deren semantische Beziehung zu
Verarbeitung natürlicher Sprache: Sogenannte       bestimmen.
kollaborativ erstellte Wissensressourcen (KWR)         Durch zwischensprachliche Verweise können
bieten gegenüber traditionellen Ressourcen wie     Artikel mit gleichem Inhalt unterschiedlicher
WordNet oder GermaNet einige Vorteile, die sie     Sprachversionen der Online-Enzyklopädie mitei-
für den Einsatz bei vielen Problemstellungen       nander verknüpft werden. De Smet und Moens
interessant machen (Zesch et al., 2008):           (2009) verwenden dies in einem Verfahren, mit
                                                   dem sich bestimmen lässt, ob zwei Nachrichten-
meldungen in verschiedenen Sprachen über das           schen Daten wie etwa die Artikelverweise ent-
gleiche Ereignis berichten.                            halten.2

2      Vergleichbare Arbeiten                          3     System    zur    Erstellung                    eines
                                                             Wikipedia-Korpus
    Für den Zugriff auf die Wikipedia (WP)-
Daten werden sogenannte „Datenbank-Backup-             Um die Nachteile der oben beschriebenen Pro-
Dumps“ angeboten1. Dabei handelt es sich um            jekte zu umgehen, muss das hier vorgestellte
eine XML-Datei, die in mehr oder weniger re-           System die folgenden Anforderungen erfüllen:
gelmäßigen Abständen (alle 1-3 Wochen) für alle            Da der Datenbestand der Wikipedia ständig
Sprachversionen erstellt wird und alle zu diesem       anwächst, muss das System gut skalieren kön-
Zeitpunkt bestehenden Artikel enthält. Die Texte       nen. Des Weiteren sollen darin sowohl
der einzelnen Artikel selbst sind im Wikipedia-        Wikipedia-spezifische als auch linguistische
eigenen Wikitext-Format gespeichert.                   Daten enthalten sein, damit das Korpus für mög-
    Um strukturiert auf die Daten zugreifen zu         lichst viele wissenschaftliche Fragestellungen
können, muss der Wikitext erst geparst werden.         verwendet werden kann. Und schließlich soll das
Deshalb gibt es mittlerweile einige Projekte, bei      Speicherformat zum einen so gestaltet sein, dass
denen dieser Schritt bereits erledigt ist, wie z. B.   sich zusätzliche Daten (z. B. weitere linguisti-
die Java Wikipedia Library (JWPL) (Zesch et al.,       sche Annotationen) auch nachträglich leicht hin-
2008), den Semantically Annotated Snapshot of          zufügen lassen. Zum anderen sollen die Daten
Wikipedia (SW1) (Atserias et al., 2008) oder das       leicht in ein Standardformat exportiert werden
WaCkypedia_EN-Korpus (Baroni et al., 2008).            können.
Keines dieser Systeme bzw. Ressourcen bietet
allerdings einen effizienten und umfassenden           3.1     Plattform und Architektur
Zugriff auf die in der Wikipedia enthaltene Infor-     Das System wurde in C++ mit plattformunab-
mationsmenge dergestalt, dass komplexe Such-           hängigen Standardbibliotheken programmiert.
anfragen formuliert werden können.                     Als Datenspeicher wird eine PostgreSQL-
    So wurden die Wikipedia-Artikeltexte bei           Datenbank verwendet.
SW1 zwar um eine Vielzahl an linguistischen                Dadurch kann die in dem relationalen Daten-
Annotationsdaten angereichert, jedoch fehlen           bank-Management-System (RDBMS) implemen-
viele wichtige Wikipedia-spezifische Daten wie         tierte Indizierungs- und Suchfunktionalität auch
zwischen-sprachliche Verweise oder die Katego-         bei der Korpus-Abfrage verwendet werden. Und
rienzugehörigkeiten. Zudem sind die Daten in           über die Abfragesprache SQL sind auch komple-
mehreren      Textdateien      im      proprietären    xere Abfragen und Mustersuchen möglich. Wei-
"Multitag"-Format gespeichert, sodass eine Ver-        terhin lassen sich auch nachträglich weitere
wendung nicht unmittelbar möglich ist.                 Daten hinzufügen, indem die neuen Datentabel-
    Bei der JWPL hingegen lassen sich die Daten        len über Fremdschlüssel mit den bestehenden
über eine umfangreiche Programmierschnittstelle        verknüpft werden. Außerdem erleichtert das
abfragen. Hier sind aber wiederum keine zusätz-        stark strukturierte Speicherformat einer relationa-
lichen Annotationsdaten enthalten. Darüber hin-        len Datenbank den Export der Daten in ein ande-
aus sind Suchmöglichkeiten auf eher strukturelle       res Format (z. B. XCES).
Daten beschränkt (z. B. "Gib alle Artikel aus, die         Die einzelnen Artikel-Datensätze des
eine bestimmte Anzahl an einkommenden Ver-             Wikipedia-Daten-Dumps lassen sich unabhängig
weisen haben.").                                       voneinander verarbeiten und speichern. Deshalb
    Das WaCkypedia_EN-Korpus ist eines der             wurde die Verarbeitung parallelisiert und auf drei
Korpora aus dem WaCky-Projekt, bestehend aus           Programme (WikiServer, WikiCorpusClient und
den Artikeltexten der englischen Wikipedia. Die        CorpusServer) verteilt, die auf unterschiedlichen
Daten sind in einem XML-Format gespeichert,            Rechnern laufen können. Dadurch lässt sich die
das von der IMS Open Corpus WorkBench gele-            Erstellung des Korpus stark beschleunigen.
sen und indiziert werden kann. Die Artikeltexte
wurden um linguistische Annotationsdaten er-
weitert. Jedoch sind keine Wikipedia-spezifi-

                                                       2
                                                         Eine ausführlichere Darstellung vergleichbarer Arbeiten
1
    http://dumps.wikimedia.org/enwiki/                 findet sich in Fuchs (2009).
3.2    Wikitext-Parser                                     kommenshäufigkeiten der Terme in jedem Arti-
                                                           kel gezählt und in der Datenbank abgespeichert.
    Der erste Verarbeitungsschritt ist das Parsen
                                                           Über Aggregatfunktionen des RDBMS können
des Wikitext-Markups. Um größtmögliche Kom-
                                                           die Häufigkeitswerte der einzelnen Artikel dann
patibilität mit dem Original-Parser zu erreichen,
                                                           summiert werden.
wurden die dort verwendeten Ersetzungs-
                                                               Ebenso werden bei der Erstellung des Korpus
Algorithmen übernommen und in einer modular
                                                           auch die direkten Kookkurrenzen (surface
aufgebauten, objektorientierten und dadurch
                                                           cooccurrences) über ein asymmetrisches Kon-
leichter zu wartenden C++-Bibliothek implemen-
                                                           textfenster mit einer Größe von vier Tokens nach
tiert.3
                                                           rechts gezählt (Evert, 2008).
    Aus dem vom Parser erstellten Parsebaum
                                                               Bei der Zählung von Kookkurrenzen und der
wird zuerst der reine Artikeltext (ohne Formatie-
                                                           Berechnung der Assoziationsmaße überlagern
rungen) extrahiert. Zusätzlich werden aber auch
                                                           sich die verschiedenen Bedeutungen der Terme.
alle Verweistypen und Hervorhebungen (fett,
                                                           Die Filterung nach Part-of-Speech erlaubt die
kursiv) gespeichert.
                                                           Auftrennung in begrenztem Umfang. Eine klare
3.3    Lexikalische Verarbeitung                           Trennung wäre nur bei einer Bedeutungsannota-
                                                           tion möglich.
Zur lexikalischen Verarbeitung des reinen Arti-                Mihalcea (2007) hat gezeigt, dass sich die Ar-
keltextes wurde der FoxTagger (Fuchs, 2007)                tikelverweise als Bedeutungsannotation von de-
verwendet. Da der Part-of-Speech-Tagger bereits            ren Ankertexten interpretieren lassen. Aus
sowohl eine Satzgrenzen-Erkennung als auch die             diesem Grund erfolgt die Zählung der Kookkur-
Tokenisierung integriert hat, sind für diese not-          renzen auf zwei Artikelversionen: Bei der einen
wendigen Verarbeitungsschritte keine weiteren              werden die Tokens des Ankertextes gezählt und
Programme nötig.                                           bei der anderen die Artikelverweise selbst. Damit
    Als Lexikon verwendet der Tagger nicht –               lassen sich auch die Kollokationen von
wie sonst üblich – ein aus dem Trainingskorpus             „Wikipedia-Begriffen“ ermitteln, wenn auch auf
erstelltes Lexikon, sondern die Index-Dateien              einer kleineren Datenbasis.
von WordNet für die offenen Wortklassen und
eine von Hand erstellte Liste für die geschlosse-          3.5   Speicherformat
nen Wortklassen.
                                                           Die Daten des Korpus sind auf mehrere Daten-
    Fuchs (2007) hat in Untersuchungen festge-
                                                           bank-Tabellen verteilt. Kernstück ist die Tabelle
stellt, dass diese Konfiguration einen positiven
                                                           corpus_tokens. Sie enthält für jedes Token des
Effekt auf die Genauigkeit und Robustheit des
                                                           Korpus eine Tabellenzeile mit den folgenden
Taggers hat. Deshalb ist davon auszugehen, dass
                                                           Daten: die Wortform des Tokens (surface), seine
FoxTagger auch auf dem Datenbestand der
                                                           Grundform (lemmata), Wortart (part_of_speech)
Wikipedia sehr gute Ergebnisse liefert, obwohl
                                                           und Position im Korpus (token_pos); die ID des
sich die darin enthaltenen Texte vermutlich stark
                                                           Artikels, in dem es vorkommt (rev_id); die
vom Trainingskorpus unterscheiden. Da es leider
                                                           Nummer des Satzes, in dem es vorkommt
keinen Gold-Standard für die Part-of-
                                                           (sentence_id), sowie die Position in diesem Satz
Speech (PoS)-Annotation der Wikipedia-Texte
                                                           (pos_in_sentence) und schließlich, ob das Token
gibt, konnte diese Vermutung nicht verifiziert
                                                           fett oder kursiv formatiert ist (is_emphasized).
werden.
                                                           Zusätzlich ist für jedes Token, das im Ankertext
    In dem PoS-Tagger ist außerdem eine mor-
                                                           eines Links vorkommt, der Name des Artikels
phologische Analyse implementiert, die für jedes
                                                           gespeichert,     auf    den     verwiesen     wird
Token alle für die zugewiesene Wortart mögli-
                                                           (links_to_article).
chen Lemmata ausgibt.
                                                               In weiteren Tabellen sind alle Artikel-, Kate-
3.4     (Ko-)Okkurrenz-Analyse                             gorien- und zwischensprachlichen Verweise
                                                           gespeichert (article_links, article_categories und
Die Untersuchung von Frequenzlisten und Kol-               article_iw_links). Die corpus_articles-Tabelle
lokationen sind typische Verwendungen von                  enthält für jeden Artikel einen eigenen Datensatz,
Korpora. Um beide leicht aus dem Wikipedia-                in dem dessen Titel, ID (rev_id) und Informatio-
Korpus abfragen zu können, werden die Vor-                 nen über die Anzahl der darin enthaltenen To-
                                                           kens gespeichert sind. Die im vorherigen
3
  Für eine nähere Beschreibung des Parsers sei auf Fuchs   Abschnitt erwähnten (Ko-)Okkurrenz-Häufigkei-
(2009) verwiesen.
ten für jeden Artikel sind in den beiden Tabellen      Konkordanz einer bestimmten Wortbedeutung
article_term_frequencies und article_cooccur-          darstellen.
rence_frequencies gespeichert. Zusätzlich enthält
die Datenbank die beiden Tabellen cor-                 5   Ausblick
pus_term_frequencies und corpus_cooccur-
rence_frequencies, in denen die Häufigkeitswerte       Für das Korpus ist ein Webinterface
für das Gesamtkorpus bereits summiert wurden.          (http://www.wikicorpus.com) in Vorbereitung,
    Wie die im Korpus enthaltenen Daten für ty-        über das sich die Daten auch ohne SQL abfragen
pische korpusbasierte Studien (Frequenzlisten,         lassen. Dort soll es dem Benutzer dann auch
Kollokationen, Konkordanz) verwendet werden            möglich sein, das Korpus um eigene Annotatio-
können, zeigt der nächste Abschnitt.                   nen zu erweitern oder Listen in der Datenbank
                                                       anzulegen, auf die dann bei Abfragen referenziert
4   Anwendungsmöglichkeiten                            werden kann.
                                                           Ebenso ist für die nächste Version des Kor-
Da die Termhäufigkeiten des Gesamtkorpus be-           pus-Systems geplant, noch mehr Daten aus der
reits in einer eigenen Tabelle gespeichert sind, ist   Wikipedia zu extrahieren und in der Datenbank
die Abfrage von Frequenzlisten sehr einfach.           abzuspeichern. Dazu zählen z. B. die Informatio-
Dabei können die Algorithmen der Datenbank             nen aus Infoboxen oder über den Aufbau des
zur Sortierung und Filterung verwendet werden.         Artikels (Sektionen, Paragraphen).
Da die Vorkommenshäufigkeiten der Terme auch               Der Datenbestand wird in Zukunft automa-
für jeden Artikel in der Datenbank abgelegt sind,      tisch über die Wikipedia-Daten-Dumps laufend
lassen sich auch Frequenzlisten für Subkorpora         aktualisiert.
(z. B. für alle Artikel einer Kategorie) sehr leicht       Der Großteil der einzelnen Verarbeitungs-
erstellen.                                             schritte zur Erstellung des Korpus ist sprachun-
    Interessieren nur die Frequenzwerte für eine       abhängig. Deshalb ist eine Verwendung des
begrenzte Anzahl Terme, können diese in einer          Korpus-Systems für weitere Sprachen möglich
eigenen Tabelle abgelegt und zur Filterung ver-        und angedacht.
wendet werden.
    Um Kollokationen im Sinne von wiederkeh-
renden und vorhersagbaren Wortkombinationen
(Evert, 2008) aus dem Korpus zu extrahieren,
werden verschiedene Assoziationsmaße verwen-
det. Zur Berechnung werden die Vorkommens-
häufigkeiten der beiden Terme und deren
Kookkurrenzen sowie die Gesamtzahl aller To-
kens des Korpus benötigt. Auch hier lassen sich
diese Werte wieder direkt aus den entsprechen-
den Tabellen (corpus_term_frequencies für die
Termfrequenzen bzw. corpus_cooccurrence_fre-
quencies für die Kookkurrenzhäufigkeiten) ab-
fragen. Wie oben bereits erwähnt, können die
Artikelverweise als Bedeutungsannotation inter-
pretiert und auch deren Kollokationen ermittelt
werden.
    Es ist angedacht, die Assoziationswerte für
die gängigsten Assoziationsmaße (Evert, 2008)
zu berechnen und in der Datenbank abzuspei-
chern.
    Zur Erstellung einer Konkordanz-Ansicht
können alle Positionen, an denen das gesuchte
Knotenwort auftritt, und deren Kontext über
einen Tabellenindex abgefragt werden.
    Auch hier ist es wieder möglich, die Artikel-
verweise zu nutzen. Somit lässt sich auch die
S. P. Ponzetto und M. Strube. 2007. Deriving a
Literatur                                               Large-Scale Taxonomy from Wikipedia.
                                                        AAAI, S. 1440–1445.
J. Atserias, H. Zaragoza, M. Ciaramita und G.
                                                     M. Ruiz-Casado, E. Alfonseca und P. Castells.
   Attardi. 2008. Semantically Annotated Snaps-
                                                        2005. Automatic Assignment of Wikipedia
   hot of the English Wikipedia. Proceedings of
                                                        Encyclopedic Entries to WordNet Synsets.
   LREC’08, S. 2313-2316.
                                                        AWIC, S. 380–386.
M. Baroni, S. Bernardini, A. Ferraresi und E.
                                                     F. A. Smadja. 1993. Retrieving Collocations
   Zanchetta. 2009. A Collection of Very Large
                                                        from Text: Xtract. Computational Linguistics
   Linguistically Processed Web-Crawled Corpo-
                                                        19(1): 143–177.
   ra. Language Resources and Evaluation,
                                                     T. Zesch, C. Müller und I. Gurevych. 2008.
   43(3): 209-226.
                                                        Extracting Lexical Semantic Knowledge from
C. Biemann, S. Bordag, G. Heyer, U. Quasthoff
                                                        Wikipedia and Wiktionary. Proceedings of
   und C. Wolff. 2004. Language-Independent
                                                        LREC’08, S. 1646-1652.
   Methods for Compiling Monolingual Lexical
   Data. CICLing, S. 217–228.
L. Denoyer und P. Gallinari. 2006. The
   Wikipedia XML Corpus. ACM SIGIR Forum,
   4(1): 64-69.
W. De Smet und M.-F. Moens (2009).
   Crosslanguage linking of news stories on the
   web using interlingual topic modelling. SWSM
   ’09: Proceeding of the 2nd ACM workshop on
   Social web search and mining. S. 57–64.
S. Evert. 2008. Corpora and collocations. Kap.
   58, S. 1212–1249, Walter de Gruyter
   (Handbooks of Linguistics and Communicati-
   on Science).
W. M. Francis und H. Kucera (1964): Brown
   Corpus. Manual of lnformation.
M. Fuchs (2007): Automatische Extraktion und
   Annotation formaler Textmerkmale. Hoch-
   schule Regensburg, Diplomarbeit.
M. Fuchs (2009): Aufbau eines wissenschaftli-
   chen Textcorpus auf der Basis der Daten der
   englischsprachigen Wikipedia. Universität
   Regensburg, Masterarbeit.
E. Gabrilovich und S. Markovitch. 2009.
   Wikipedia-based Semantic Interpretation for
   Natural Language Processing. Journal of
   Artificial Intelligence Resources, 34: 443-498.
M. Ito, K. Nakayama, T. Hara und S. Nishio.
   2008. Association thesaurus construction
   methods based on link co-occurrence analysis
   for wikipedia. CIKM, 2008, S. 817–826.
A. Mehler, R. Gleim, A. Ernst und U. Waltinger.
   2008. WikiDB: Building Interoperable Wiki-
   Based Knowledge Resources for Semantic
   Databases. Sprache und Datenverarbeitung.
   International Journal for Language Data Pro-
   cessing, 32(1): 47–70.
R. Mihalcea. 2007. Using Wikipedia for Auto-
   matic Word Sense Disambiguation. HLT-
   NAACL, The Association for Computational
   Linguistics, S. 196–203.
Sie können auch lesen