Aufbau eines linguistischen Korpus aus den Daten der englischen Wikipedia
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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