zurück

Platypus, eine Schnittstelle zu Wikidata in natürlicher Sprache

Jens Ohlig

23. Februar 2015

PPP (Projet Pensées Profondes)  ist ein Projekt von Studierenden mit dem Ziel eine offene Frage-Antwort-Plattform zu bauen. Die dabei entstandene Demo-Anwendung Platypus (http://askplatyp.us) stützt sich in erster Linie auf Inhalte von Wikidata. In einem Gastbeitrag berichten die Menschen hinter Platypus von ihrem Projekt, Wikidata das Sprechen beizubringen. 

An der École normale supérieure de Lyon steht im ersten Teil des Masterstudiengangs ein Software-Praktikum auf dem Plan. Einige von uns waren an natürlicher Sprachverarbeitung interessiert, andere an Wissensdatenbanken. Wir suchten also ein Projekt, an dem beide Seiten arbeiten konnten und kamen recht schnell auf die Idee einer offenen Frage-Antwort-Plattform. Dieses Werkzeug sollte eine Menge unterschiedlicher Fragen beantworten können und brauchte deshalb eine einen riesigen Datenfundus an Weltwissen, damit wir schnell loslegen konnten. Jemand bei uns war schon Wikidata-Editor und inspiriert von dem schicken, aber mittlerweile nicht mehr gepflegten Wiri-Tool von Magnus Manske stand schnell fest, dass wir Wikidata als primäre Datenquelle nutzen wollten.

Nach vier Monaten harter Arbeit in einem Team von sieben Leuten können wir jetzt das Ergebnis unserer Mühen präsentieren: Platypus, ein natürlichsprachliches Interface für Wikidata in Englisch.

Aufrufbar ist es als eine einfache Web-Anwendung. Die Dokumentation zur Einführung befindet sich hier: https://projetpp.github.io/demo.html

Platypus, das Jimbo Alpha?

Platypus benutzt fortschrittliche Techniken aus der Computerlinguistik und Wikidata und kann so viele Fragen beantworten von eifachen wie “What is the birth date of Douglas Adams?” bis zu ungewöhnlichen wie “What are the daughters of the wife of the husband of the wife of the president of the United States?” Die meisten Fragen, die sich mit einem einzelnen Wikidata-Statement beantworten lassen werden im Moment unterstützt. Platypus führt auch einfache Rechtschreibüberprüfungen durch und kann so Fragen beantworten wie “What is the cappyttal of Franse?”.
Als Informatiker mögen wir natürlich Mathe, so dass Platypus auch mathematische Formeln versteht – in Schreibweisen wie “sqrt(180)” oder wie bei Mathematica wie “Sum[1/n^42, {n,1,Infinity}]” oder in sogar in LaTeX-Notation wie “\sum_{i=0}^n i^2”.

Was Wikidata so toll macht

Wikidata war eine gute Wahl. Mit seiner starken Datenbasis und den Labeln und Aliasen war es ein leichtes, die passenden Entities zu finden, auch durch die Suchvorschläge der Wikidata-API. So konnten wir Ausdrücke in natürlicher Sprache schnell den Bezeichnern in Wikidata zuordnen und dann die Statements benutzen, um einfache Fragen zu beantworten wie “When is X born?”.
Platypus war auch eine prima Ausrede, um an der Verbesserung von Wikidata zu arbeiten: Wenn Platypus eine Frage nicht beantworten konnte, war das oft eine gute Gelegenheit, um relevante Daten zu Wikidata hinzuzufügen und unterschiedliche Formulierungen für die gleiche Frage gaben uns oft Gelegenheit, Aliase zu ergänzen und die Auffindbarkeit von Entities zu erhöhen. Auch konnten wir Vandalismus bei Wikidata aufspüren. Als eines Tages die Frage nach “Barack Obama” nicht funktionierte lag das an einem veränderten englischen Label des Wikidata-Items. Nachdem wir den Vandalismus revertet hatten und den Cache geleert hatten, war Wikidata wieder sauber und die Frage funktionierte wieder.
Wir freuen uns auch schon auf Weiterentwicklungen bei Wikidata wie Quantities und Units, was die Menge der beantwortbaren Fragen nochmal erhöhen wird.

Schlussfolgerungen

Das Studierenden-Projekt ist abgeschlossen, aber das Open-Source-Projekt geht weiter. Wir arbeiten zur Zeit an der Unterstützung weiterer Sprachen wie Französisch, an der Performance und wir schauen uns an, wie wir Kontext hinzufügen können, damit Fragen wie “What is his birthdate?” nach der Frage “Who is the president of the United States?” gestellt werden können oder eine Antwort auf die Frage “Where is the closest Wikimedia user group?” gegeben werden kann. Wir freuen uns über alle, die uns bei diesen Punkten helfen können oder allgemein Platypus verbessern wollen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert