Eine der am häufigsten gestellten Fragen an uns ist ohne Zweifel die nach den Verwendungsmöglichkeiten für Tesla. Die Frage kam bereits in den Kommentaren dieses Blogs auf, sie wird uns auf den Konferenzen gestellt, auf denen wir Tesla vorstellen, sie war sowohl Teil meiner Disputation, als auch der meines Kollegen Stephan Schwiebert.
Die Antwort auf die Frage ist relativ einfach: Mit Tesla kann man eigentlich alles machen, was auf maschinellen Annotationen oder einer automatischen Analyse von Texten beruht. Wie das mit einfachen Antworten so ist, ergibt sich aus ihnen meist eine ganze Reihe weiterer Fragen. So auch hier:
- Was fällt denn alles unter den Begriff Texte?
- Was kann man sich konkret unter maschinellen Annotationen vorstellen?
- Und was unter automatischen Analysen?
- Was bedeutet man kann eigentlich alles machen?
- Gibt es denn Dinge, für die sich Tesla nicht eignet?
- Aber es gibt doch auch das System XYZ, kann das nicht genau das Gleiche?
Versuche ich mal, diese Fragen zu beantworten, ohne dass allzu viele Folgefragen aufgeworfen werden (weswegen ich auch versuche, möglichst ohne sprachwissenschaftliche und informatische Fachbegriffe auszukommen):
(1) Wir verwenden den Begriff Text relativ weit gefasst. Texte sind für uns einfach alle Daten, die sich in einer linearen, eindimensionalen Abfolge von Zeichen aus einem definierten Alphabet repräsentieren lassen. Das gilt zunächst einmal für alle Daten, die sich irgendwie in einem herkömmlichen Computer speichern und verarbeiten lassen, letztlich arbeitet dieser ja mit Sequenzen von Nullen und Einsen. Wir meinen hier aber vor allem diejenigen Daten, die sich durch ihre eindimensionale Struktur auszeichnen. Darunter fallen vor allem natürlichsprachliche Texte, aber auch Text-Repräsentationen von DNA, RNA, Proteinen und auch von Musikstücken. Die Entscheidung, möglichst viele unterschiedliche Daten in Tesla verarbeiten zu können, wurde bewusst getroffen. Auf diese Weise können unterschiedliche Verfahren für spezifische Daten entwickelt werden, die dann gegebenenfalls auf andere Daten übertragen werden können. Tesla stellt außerdem keinerlei Anforderungen an das Format der Texte.
(2) Sprache ist zwar letztlich (spätestens beim Verlassen unseres Sprechorgans bzw. als Buchstabenfolge eines Textes) eindimensional organisiert: Mündliche Sprachmitteilungen bestehen etwa aus einer Folge von Lauten, schriftliche Texte aus einer Folge von Buchstaben. Über diesen mehr oder weniger grundlegenden Einheiten sprachlicher Kommunikation existieren jedoch weitere Organisationseinheiten wie Wörter oder Sätze, dabei gibt es unterschiedliche Wortklassen (z.B. Substantive, Verben) und Funktionen (z.B. Objekt, Prädikat). Alle diese Einheiten, Klassen und Funktionen sind implizit im Sprachsignal enthalten, um sie auswerten zu können, müssen die Sprachdaten explizit mit ihnen ausgezeichnet (annotiert) werden. Das kann man entweder manuell machen (was gewisse Vor-, aber auch Nachteile hat) oder bestimmte dafür programmierte Werkzeuge machen lassen. Dazu gehören z.B. Tokenizer, die Wortgrenzen bestimmen, Tagger, die Wörter Wortklassen zuordnen und Parser, welche die Funktion von Wörtern oder Wortgruppen erkennen. Tesla besitzt eine ganze Reihe solcher Werkzeuge, mit denen sich Daten maschinell annotieren lassen.
(3) Annotationen wie in (2) beschrieben, sind meist eine Vorstufe zur Daten-Analyse, die man auch innerhalb von Tesla betreiben kann. Aus der unüberschaubaren Menge möglicher Analysen wähle ich hier ein Beispiel aus dem Bereich Informationsextraktion (IE). IE ist eine Art Oberbegriff für Verfahren, die aus unstrukturierten Daten (z.B. Texten) strukturierte Daten (z.B. Tabellen in einer Datenbank) ableiten. Ein Anwendungsfall für IE-Verfahren ist die sogenannte Sentiment Analysis (zu deutsch etwa “Stimmungserkennung”), wo Texte z.B. nach positiven und negativen Einstellungen hinsichtlich eines Untersuchungsgegenstandes (Mobiltelefon, Hotel, Fluggesellschaft oder was auch immer) klassifiziert werden. Soll eine solche Klassifikation automatisch erfolgen, so benötigt man einerseits annotierte Texte, um Wörter und Wortgruppen ausfindig zu machen, von denen die Wertung des Textes abhängt, so wie spezielle Adjektive, Gradpartikel, Negationen etc. Man spricht davon, dass bestimmte Merkmale in Texten ausfindig gemacht werden. Mit diesen Merkmalen wird dann ein Klassifikationsmechanismus gefüttert, welcher auf dieser Basis die Texte in Klassen einteilt (also z.B. in gute und schlechte Bewertungen). Die beschriebene Sentiment-Analyse ist nur ein mögliches Verfahren, das in Tesla realisiert werden kann. Inzwischen haben wir eine ganze Bandbreite verschiedener Verfahren in Tesla realisiert, ich etwa habe das Voynich Manuskript damit analysiert, meine Kollegen arbeiten zu den Themen Extraktion syntaktischer Strukturen und Bedeutungskonstitution in natürlichsprachlichen Daten. Innerhalb eines Projekts wurden außerdem Vorarbeiten zur beschriebenen Sentiment-Analyse und der Extraktion temporaler Ausdrücke sowie von Gen-Bezeichnungen durchgeführt.
(4) Tesla ist ein Framework, in dem Werkzeuge zur Annotation und Analyse von Texten sowohl programmiert wie auch genutzt werden können. Was genau zu einem bestimmten Zeitpunkt in Tesla umgesetzt werden kann, hängt von der Ausstattung des Systems zu diesem Zeitpunkt ab. Zur Zeit umfasst das Inventar etwas mehr als 60 verschiedene Komponenten, manche Funktionalität ist gleich durch mehrere Werkzeuge abgedeckt (so gibt es z.B. zwei Tokenizer – einen, der sehr einfach zu bedienen ist, einer der sehr umfassend konfiguriert werden kann). Eine Übersicht zu den vorhandenen Komponenten findet sich auf der Tesla-Entwicklerseite. Prinzipiell (also eigentlich) kann man mit Tesla also alles machen, was in den Bereich der automatischen Prozessierung von Texten fällt. De facto beschränkt aber die aktuelle Ausstattung die momentan mögliche Anwendung – wobei man jederzeit die fehlende Funktionalität selbst implementieren kann.
(5) Man kann in Tesla nicht alles mit Texten machen, man kann nur alles machen, was sich automatisieren lässt. Alles, was mit manueller Auszeichnung zu tun hat, muss damit außerhalb von Tesla erfolgen – das bedeutet z.B., dass man nicht einfach in einem Editor die automatisch erzeugten Ergebnisse korrigieren kann. Hinter dieser Einschränkung steht die Überlegung, dass wir ein System haben wollten, in dem Analysen durchgeführt werden können, die absolut nachvollziehbar sind. Solange man lediglich Software-Algorithmen (die deterministisch sind, also keinen nicht reproduzierbaren Zufalls-Effekt enthalten) arbeiten lässt, hat man die Möglichkeit – so denn die geeigneten Vorkehrungen getroffen wurden – die Analysen jederzeit zu wiederholen und weiterzugeben, auf dass sie woanders reproduziert werden können. Ließe man manuelle Eingriffe in diesem Prozess zu, verlöre man diese Möglichkeit. Ich habe schon mehrere Posts zu diesem Thema geschrieben, etwa diese Parabel, so dass ich es jetzt hier mal dabei belasse. Nebenbei – Tesla ist kein absolut fertiges System (wir haben es mehr oder weniger zu zweit gebaut), so ist etwa die Umsetzung von Maschinellen Lernverfahren, für die Trainingsphasen durchgeführt werden müssen, noch verbesserungsfähig.
(6) Ja, es gibt eine Reihe von Systemen, die ähnlich wie Tesla angelegt sind und auf manchen Gebieten tatsächlich mit unserem System konkurrieren. Dazu zählen Gate, Apache UIMA und TextGrid. Zu den Unterschieden komm ich aber mal ein andermal. Ungeduldigen sei diese Monographie empfohlen.
Ich hoffe, dass ich mit diesem Post ein wenig aufklären konnte, was Tesla tatsächlich ist. Was man damit so alles machen kann, konnte nur bruchstückhaft dargestellt werden (auf Visualisierungen, wie z.B. das Titelbild oben, bin ich noch gar nicht eingegangen). Dafür brauche ich wohl ein paar mehr Posts. Damit man sich aber schonmal ein Bild machen kann, wie Tesla aussieht, habe ich unten noch einmal einen Screenshot der Tesla-Benutzeroberfläche angehangen.
OpenEdition schlägt Ihnen vor, diesen Beitrag wie folgt zu zitieren:
Jürgen Hermes (28. März 2012). “Und was kann man jetzt mit Tesla machen?” TEXperimenTales. Abgerufen am 6. Oktober 2024 von https://doi.org/10.58079/uq37
7 Antworten auf „“Und was kann man jetzt mit Tesla machen?”“
Wirklich schön geschrieben, gefällt mir! Insbesondere bei dem Punkt hinsichtlich der konkurrierenden Systeme habe ich mich auch schon öfters nach der Motivation und den Stärken von Tesla gegenüber den anderen Systemen gefragt (mal abgesehen davon, dass man grundsätzlich lieber selbst entwickelte Systeme verwendet wenn man ganz klare Vorstellungen hat).
@Patrick
Vielen Dank für das Lob, den Punkt zu Konkurrenzsystemen habe ich ja eigentlich noch gar nicht ausgeführt, sondern einen eigenen Post versprochen bzw. auf Stephans Diss verwiesen, wo er sich ausgiebig mit TextGrid, UIMA und Gate auseinandersetzt und aufzeigt, in welchen Bereichen Tesla besser ist.
Deiner Aussage, dass man grundsätzlich lieber eigene Systeme entwickelt, würde ich so nicht zustimmen. Wir haben jetzt 6 Jahre (mit Vorstudien sogar noch länger) an der Tesla-Entwicklung gesessen. Das war zwar das, was wir machen wollten, wenn sich aber jeder erstmal ein eigenes System entwickelt, hält das die Sachen auf, die man eigentlich machen will. Nebenbei wird die Weitergabe von Forschungsergebnissen doch erheblich erschwert, wenn jeder sein eigenes Systemsüppchen kocht. Hätte es etwas mit Tesla vergleichbares gegeben (was nach unseren Vorstellungen erweiterbar gewesen wäre), hätten wir es mit Sicherheit nicht selbst nochmal entwickelt. Und wir hoffen natürlich auch, dass jetzt, wo es Tesla gibt, sich niemand mehr hinsetzt und etwas ähnliches nochmal vollbringt, sondern stattdessen mit Tesla arbeitet.
Danke für diesen hervorragenden Post. Die Ausgangsfrage ist damit tatsächlich hinreichend beantwortet – schön kompakt und eingängig. Nach dem Studium der beiden Dissertationen durchaus eine erfrischende Zusammenfassung.
Der Vergleichsartikel GATE – UIMA – TextGrid – Tesla (und Konsorten?) würde mich auch interessieren. Den Abschnitt in Stephans Diss finde ich persönlich etwas zu technisch.
@Mandy
Auch Dir vielen Dank für das Lob. Es ist schwer, den Unterschied zwischen Tesla und anderen linguistischen Komponentensystemen auf einer nicht-technischen Ebene zu behandeln. Das ist so, weil die Eingeweide von Komponentensystemen, nämlich die Art der Schnittstelle zwischen den einzelnen Einheiten den entscheidenden Unterschied ausmachen. Wenn ich einen Weg gefunden habe, das irgendwie als einen Blogtext formulieren zu können, werde ich das tun. Vorher werde ich wahrscheinlich aber nochmal eine andere Baustelle bearbeiten.
Alles klar, danke! Jetzt habe ich es verstanden! 🙂
[…] entspricht auch ungefähr dem Ansatz, den wir im Bereich der Textprozessierung mit unserem Text Engineering Software Laboratory (kurz Tesla) verfolgen. Grob kann man sich dieses virtuelle Labor als Verpackungsmaschine für […]
[…] [kann], was auf maschinellen Annotationen oder einer automatischen Analyse von Texten beruht”11. Bei Textmining geht es zumeist darum, bestimmte Muster in einem Text bzw. in großen Textcorpora […]