Forschungsbericht 2012 - Max-Planck-Institut für Informatik

YAGO: Wissen im Web

Autoren
Suchanek, Fabian; Hoffart, Johannes; Weikum, Gerhard
Abteilungen
„Ontologies“ und „Datenbanken und Informationssysteme“, Max-Planck-Institut für Informatik, Saarbrücken
Zusammenfassung
YAGO ist eine große Wissenstruktur, die wir mit automatischen Mitteln mit Wissen aus Webseiten gefüllt haben. YAGO enthält rund 10 Millionen Entitäten und über 100 Millionen Fakten. Durch Techniken aus der Logik können wir die Kohärenz unserer Daten sicherstellen – YAGO hat eine Fehlerrate von nur 5%. YAGO ist online verfügbar und kann frei ausprobiert und heruntergeladen werden. YAGO wird bereits von einigen semantischen Anwendungen benutzt und könnte der Ausgangspunkt für eine neue Generation von Suchmaschinen werden.

Auf der Suche nach Wissen

Das World Wide Web hat im letzten Jahrzehnt seinen Siegeszug angetreten. Ob enzyklopädisches Wissen, Nachrichten, Kurznachrichten, Fotos von Freunden, Blogs, oder persönliche Homepages – zu fast jedem Themenbereich findet man Informationen online. Mit einer Internetsuchmaschine (wie Google) kann man sich innerhalb von Sekundenbruchteilen relevante Webseiten zu einem Thema anzeigen lassen. Ist man beispielsweise an dem Physiker Max Planck interessiert, so liefert die Suche nach „Max Planck” direkt mehrere Biographien des Physikers. Rechts daneben zeigt Google seit Herbst 2012 seinen sogenannten Knowledge Graph an. Dies sind strukturierte Informationen zu der gesuchten Person: Geburtsort, Beruf, ein oder mehrere Bilder, Preise und mehr. Eine verwandte Technologie ist im Watson Projekt von IBM entwickelt worden [1]: in der amerikanischen Fernsehsendung Jeopardy! hat damit ein Computer komplizierte Quizfragen besser beantworten können als die menschlichen Champions.

Diese Technologien sind Ausdruck eines Paradigmenwechsels: Suchmaschinen sollen mit Wissen ausgestattet sein, sie sollen Entitäten wie Personen, Orte, Organisationen, Produkte verstehen und sie sollen Beziehungen zwischen Entitäten identifizieren und analysieren können. Eine derartige Wissensmaschine könnte auch Fragen nach den Kindern von Max Planck, seinen wissenschaftlichen Schülern oder Physikern mit denselben oder ähnlichen Preisen beantworten. Diese Fragen sind mit Googles Knowledge Graph zur Zeit noch nicht möglich. Wissensmaschinen sollen auch in der Lage sein, komplexe Fragen zu beanworten, an denen Watson in der erwähnten Quizsendung noch scheiterte, z. B. „Welche amerikanische Stadt hat zwei Flughäfen, die nach einem Kriegshelden und einer Schlacht benannt sind?” Wissen sollte dem Computer auch helfen, ganze Datensammlungen und Textkorpora besser zu erschließen, beispielsweise wenn man Haltungen politischer Parteien und ihrer Akteure zu spezifischen Themen wie Internet-Zensur oder EU-Sparpolitik in Nachrichten und sozialen Medien erfassen, zusammenfassen und analysieren will. Solche Analysen über politische Themen und Akteure, Produkte und Märkte oder Medien und Meinungen werden im „Big-Data”-Zeitalter immer wichtiger.

Am Max-Planck-Institut für Informatik haben wir diese Entwicklung vor 6 Jahren mit angestoßen und das YAGO-Projekt [2] ins Leben gerufen, um eine große Wissensdatenbank mit Allgemeinwissen und Faktenwissen aufzubauen. Auf die Frage, welche Physiker dieselben Ehrungen erhalten haben wie Max Planck, kann YAGO beispielsweise – anders als Google – in Sekundenschnelle antworten. Zu der Frage nach der Stadt mit zwei Flughäfen – bei der Watson versagte – könnte YAGO wertvolle Wissenshinweise liefern. YAGO wurde von Watson für sogenannte Typprüfungen von Antwortkandidaten herangezogen und Google hat die Arbeiten um YAGO mit einem Focused Research Award bedacht.

Wissensrepräsentation

YAGO ist eine sogenannte „Ontologie” – eine strukturierte Sammlung von Wissen [3] (siehe auch Max-Planck-Jahrbuch 2007, „Die Suche nach Wissen statt nach Webseiten”). Im einfachsten Fall ist eine Ontologie ein gerichteter Graph, dessen Knoten Entitäten und dessen Kanten Relationen sind. Beispielsweise steht die Entität „Max Planck” mit der Entität „Nobelpreis Physik” in der Relation „erhielt”, denn Max Planck erhielt den Nobelpreis in Physik. Obwohl dieses Modell gewissen Einschränkungen unterliegt, lassen sich damit bereits viele Wissensbausteine auf einfache Weise ausdrücken.

Ein Ausschnitt aus einer Ontologie ist in Abbildung 1 dargestellt. Entitäten, die viele gemeinsame Eigenschaften haben, werden in sogenannten Klassen zusammengefasst. Max Planck beispielsweise, ebenso wie seine physikbegeisterten Kollegen, gehört der Klasse „Physiker” an. In der Ontologie ist die Klasse „Physiker” nichts anderes als eine weitere Entität, die mit der Relation „ist ein” mit den Physikern verbunden wird. Jeder Physiker ist ein Wissenschaftler, sodass die Klassen „Physiker” und „Wissenschaftler” in der „Unterklasse von”-Relation stehen. Dadurch ergibt sich eine Hierarchie von Klassen, in der jeweils die obere (allgemeinere) die unteren (spezielleren) einschließt.

Als nächster Abstraktionsschritt wird eine Unterscheidung zwischen Wörtern und ihren Bedeutungen eingeführt. Dabei wird also zwischen „Max Planck” (dem Wort) und Max Planck (dem Physiker) unterschieden. Dies ist sinnvoll, da verschiedene Wörter sich auf dasselbe Individuum beziehen können (beispielsweise „Dr. Planck” oder „M. Planck”). Umgekehrt kann sich dasselbe Wort auch auf unterschiedliche Individuen beziehen (es gibt z. B. mehrere Personen mit dem Namen „Planck”). Darüber hinaus erfolgt durch diese Unterscheidung eine weitere Abstraktion über die Wahl der Sprache hinweg. So können sich dann, vereinfacht, die Wörter „Physiker”, „physicist” und „physicien” allesamt auf die Klasse „Physiker” beziehen.

Automatische Konstruktion einer Ontologie: YAGO

Ziel ist nun, die Ontologie automatisch mit Wissen zu füllen. Ausgangspunkt ist dazu die englische Version der großen Online-Enzyklopädie Wikipedia. Wikipedia enthält Artikel zu Abertausenden von Persönlichkeiten, Produkten, Begriffen und Organisationen. Viele dieser Artikel haben tabellenartige Informationen in sogenannten Infoboxen. So enthält der (englische) Artikel über Max Planck beispielsweise den Hinweis „Notable Awards: Nobel Prize in Physics”. Dadurch kann eine Kante für eine wissenschaftliche Ehrung zu unserem Graphen hinzugefügt werden. Weiterhin ist jeder Artikel bestimmten Kategorien zugeordnet. Der Artikel über Max Planck etwa ist in 29 verschiedenen Kategorien, wie „People from Kiel” und „German Nobel laureates”. Nun bedeuten nicht alle diese Kategorienamen eine Klasse im ontologischen Sinne. Manche Kategorien sind thematischer Natur, wie z. B. „Physics” oder „Science”. Um die einen von den anderen zu unterscheiden, wird ein Trick benutzt: Wenn das Hauptwort des Kategorienamens im Plural auftaucht (wie z. B. in „German Nobel laureates”), so ist das Hauptwort zwangsweise zählbar. Zählbare Nomen sind üblicherweise Klassennamen. So können diese Kategorien als die Klassen von Max Planck zu unserer Ontologie hinzugefügt werden. Die höheren Klassen (wie „Scientist” und „Human”) erhält man aus WordNet, einem digitalen Lexikon der englischen Sprache. Auf diese Weise kann jede Entität in eine Klassenhierarchie eingepflegt werden.

Auch andere strukturierte Wissensquellen werden genutzt. Geonames beispielsweise ist ein Geo-Gazetteer, also eine Sammlung von geographischen Entitäten. Durch spezielle Übertragungsverfahren konnten wir die Informationen aus Geonames mit denen von Wikipedia verschmelzen. Auch wird eine Datenquelle namens Universal WordNet [4] genutzt, welche Namen von Klassen und Entitäten in über 200 Sprachen zur Verfügung stellt. Diese Quellen zusammen ergeben schließlich unsere Ontologie YAGO („Yet Another Great Ontology”).

YAGO ist eine der größten Ontologien weltweit. Zurzeit enthält YAGO 10 Millionen Entitäten und mehr als 100 Millionen Fakten. Es wird jedoch nicht nur Wert auf die Größe gelegt, sondern auch auf die Qualität der Ontologie. Da diese Wissenssammlung automatisch erstellt wurde, besteht immer die Gefahr, dass sich Fehler einschleichen. Wenn beispielsweise eine Infobox nicht nur den wissenschaftlichen Preis, sondern auch einen Mitgewinner enthält, so kann es sein, dass unsere automatisierten Verfahren diesen Mitgewinner versehentlich als wissenschaftlichen Preis verbuchen. Deshalb werden eine ganze Suite von Verifikationsalgorithmen angewendet, die die extrahierten Fakten auf Plausibilität hin überprüfen. In dem Beispiel würden diese Algorithmen herausfinden, dass die Klassen von „Person” und „wissenschaftlicher Preis” disjunkt sind, sodass der Mitgewinner als Preis wieder verworfen wird. Dadurch kann eine hohe Korrektheit der Ontologie garantiert werden. Wir haben eine statistische Stichprobe von mehreren Tausend Fakten per Hand untersucht und konnten eine Fehlerquote von weniger als 5% feststellen. Mit dieser geringen Fehlerquote ist YAGO Spitzenreiter auf dem Gebiet der automatisch erstellten Ontologien.

Forschung an YAGO und mit YAGO

YAGO hat eine Reihe von Forschungsprojekten am MPI für Informatik inspiriert. Eine Gruppe von Projekten (PATTY [5], SOFIE und PROSPERA [6]) zielt darauf ab, auch andere Internetdokumente wie Biographien, Lexikoneinträge, Homepages und Nachrichtentexte inhaltlich für den Computer zu erschließen. Diese Aufgabe ist nicht einfach. Nehmen wir beispielsweise an, der Computer fände in einer Biografie den Satz „Einstein wurde 1879 geboren”. Dieser Satz ist für den Computer lediglich eine Folge von Buchstaben. Für den Computer sieht der Satz also so aus, wie für uns die chinesische Zeichenfolge 爱因斯坦出生於1879年. Wie soll der Computer erkennen, dass diese Zeichen das Geburtsdatum Einsteins nennen (und nicht etwa das Einschulungsdatum)? Hier kommt nun das Wissen aus YAGO zu Hilfe: Wenn YAGO bereits das Geburtsdatum von Max Planck enthält, so kann der Computer Sätze finden, die über dieses Geburtsdatum sprechen. Wenn er dann diese bekannten Sätze mit dem neuen Satz vergleicht, kann er die Bedeutung dieses neuen Satzes erraten – und so das Geburtsdatum von Einstein zur Ontologie hinzufügen.

Es gibt im Semantic Web buchstäblich hunderte von Ontologien. Die meisten haben verschiedene thematische Schwerpunkte (wie z. B. Bücher, Filme, oder Pokemons). Wenn ein Benutzer also YAGO eine bestimmte Anfrage stellt, so kann es sein, dass die Antwort dazu über verschiedene Ontologien verstreut ist. Um dem Benutzer dieses gesamte Wissen zu erschließen, müssen diese Ontologien also miteinander verknüpft werden. Die Schwierigkeit dabei ist, dass dieselbe Entität (z. B. „Max Planck Society”) in einer anderen Ontologie ganz anders heißen kann (z. B. „MPG”). In einem Projekt namens PARIS [7] haben wir uns dieses Problems zusammen mit dem INRIA Saclay in Frankreich angenommen. Unser System untersucht systematisch Hinweise auf die Gleichheit von Klassen, Entitäten und Beziehungen, und verdichtet so schrittweise Vermutungen auf die Gleichheit dieser Elemente. Dies trägt dazu bei, dass verschiedene Ontologien von verschiedenen kommerziellen und akademischen Anbietern zusammen ein Wissensnetz bilden können – das Semantic Web.

Ein anderes Projekt am MPI für Informatik macht sich das Wissen in YAGO zunutze, um Entitäten in Zeitungsartikeln und anderen Texten zu identifizieren. Die Aufgabe ist nicht einfach. Enthält ein Artikel zum Beispiel den Satz „Napoleon was defeated at Waterloo by Wellington”, so könnten mit „Napoleon” rund 100 verschiedene Personen und Orte dieses Namens in YAGO gemeint sein. Ganz ähnlich sieht es mit „Waterloo” und „Wellington” aus. Das Projekt AIDA [8] macht sich zunutze, dass die semantische Nähe zwischen den 3 Begriffen dann am größten ist, wenn Napoleon sich auf Napoleon den Ersten bezieht, Wellington auf den britischen Feldmarschall und Waterloo auf den belgischen Ort. Diese Technik kommt auch im DEANNA Projekt [9] zur Anwendungin, bei dem versucht wird, in natürlicher Sprache formulierte Fragen auf YAGO zu beantworten.

Andere Projekte (YAGO2 [10] und PRAVDA) ergänzen YAGO um eine zeitliche Dimension. So kann z. B. zu Max Planck's Nobelpreis das Jahr 1918 hinzugefügt werden. Eine weitere Gruppe von Projekten (URDF, AMIE) beschäftigt sich mit dem automatischen Schlussfolgern. Diese Systeme können beispielsweise herausfinden, dass Alexander von Brill höchstwahrscheinlich an der Universität München gearbeitet hat – schlichtweg deshalb weil er der Doktorvater von Max Planck war, der dort promoviert hat.

Wissenssuche

Die Wissenssammlung YAGO ist online unter http://yago-knowledge.org verfügbar. Dort kann man über eine spezielle Anfragesprache nach Wissenszusammenhängen suchen. So lässt sich die Frage „Welche Physiker haben dieselben Preise gewonnen wie Max Planck?” wie folgt formulieren:

Max Planck hasWonPrize ?p
  →  (die Variable ?p wird nun einen Preis von Max Planck enthalten)

?x hasWonPrize ?p
  →  (die Variable ?x wird nun einen Gewinner desselben Preises enthalten)

?x isA physicist
  → (die Variable ?x wird nun auf Physiker eingeschränkt)

YAGO antwortet darauf mit mehreren Dutzend anderen Physikern.

Schlusswort

Mit YAGO ist die Tür zu einer neuen Art der intelligenten Interaktion mit dem Computer aufgestoßen worden. Der Computer kennt Entitäten und Eigenschaften dieser Entitäten und kann damit Fragen beantworten. Er kann logische Schlussfolgerungen auf diesem Wissen ausführen und das Wissen mit anderen Ontologien automatisch verknüpfen. Er kann Entitäten in Internetdokumenten finden und neues Wissen extrahieren. Mit diesen Beiträgen bewegen wir uns von einer Informationsgesellschaft hin zu einer modernen Wissensgesellschaft, in der das Wissen der Menschheit nicht nur im Internet verfügbar ist, sondern auch effektiv genutzt werden kann.

Literaturhinweise

IBM Journal of Research and Development 56 (3/4)
Special issue on "This is Watson"
(2012)
Suchanek, F. M.; Kasneci, G.; Weikum, G.
Yago - A core of semantic knowledge
16th international World Wide Web conference (WWW 2007)
Staab, S.; Studer, R.
Handbook on ontologies
Springer-Verlag (2004)
de Melo, G.; Weikum, G.
Towards a universal wordnet by learning from combined evidence" (UWN)
Conference on Information and Knowledge Management (CIKM 2009)
Nakashole, N.; Weikum, G.; Suchanek, F. M.
PATTY: A taxonomy of relational patterns with semantic types
International Conference on Empirical Methods in Natural Language Processing (EMNLP 2012)
Nakashole, N.; Theobald, M.; Weikum, G.
Scalable knowledge harvesting with high precision and high recall (PROSPERA)
International Conference on Web Search and Data Mining (WSDM 2011)
Suchanek, F. M.; Abiteboul, S.; Senellart, P.
PARIS: probabilistic alignment of relations, instances, and schema
International Conference on Very Large Databases (VLDB 2012), PVLDB Journal, Volume 5, Number 3, November 2011
Amir, M. Y.; Hoffart, J.; Bordino, I.; Spaniol, M.; Weikum, G.
AIDA: an online tool for accurate disambiguation of named entities in text and tables
International Conference on Very Large Databases (VLDB 2011)
Yahya, M.; Berberich, K.; Elbassuoni, S.; Ramanath, M.; Tresp, V.; Weikum, G.
Natural language questions for the web of data (DEANNA)
Conference on Empirical Methods in Natural Language Processing and Natural Language Learning (EMNLP 2012)
Hoffart, J.; Suchanek, F. M.; Berberich, K.; Weikum, G.
YAGO2: a spatially and temporally enhanced knowledge base from Wikipedia
Special issue of the Artificial Intelligence Journal
Zur Redakteursansicht