Archiv für den Monat: November 2012

Scheitern als Chance – Testen durch Fehler

Momentan experimentiere ich mit Marcos Zampieri zu Eigenschaften von brasilianisch-portugiesischen Internettexten. Dabei geht es unter anderem darum, spezifisches Vokabular aus diesen zu extrahieren und anhand dieses Vokabulars die Texte wiederum nach ihrer Internetness zu klassifizieren. Die Studie erscheint demnächst als Paper, hier will ich deswegen nicht über die Ergebnisse schreiben, sondern nur eine (zumindest für uns) lehrreiche Begebenheit aus der Entwicklungsphase schildern.

Aus wissenschaftlichen Veröffentlichungen lässt sich nur in den seltensten Fällen herauslesen, welche Fehlschläge auf dem Weg zu den letztlich öffentlich gemachten Versuchsaufbauten und Ergebnissen die Autoren hinnehmen mussten. Um zu zeigen, dass solche Fehlschläge durchaus fruchtbar sein können, muss ich zunächst etwas weiter ausholen und bei den drei Gütekriterien empirischer Studien beginnen, die ja, wie allgemein bekannt, die folgenden sind:

  • Validität – Misst das gewählte Verfahren tatsächlich das, was es messen soll?
  • Reliabilität – Funktioniert die Messung zuverlässig, sind die Ergebnisse im Wiederholungsfall stabil?
  • Objektivität – Wurden die Ergebnisse unabhängig vom Prüfer erzielt?

Auch wenn man – wie wir – ein Labor gebaut hat, in dem alles, was man experimentell anstellt, protokolliert wird, so dass die Ergebnisse im Normalfall (d.h., wenn man die Ausgangsdaten und die Werkzeuge in den entsprechenden Versionen nicht verlegt) jederzeit reproduziert werden können, sind diese drei Kriterien natürlich nicht automatisch erfüllt.

Wir (Computer)Linguisten wollen z.B. Aussagen über Sprache treffen und analysieren dafür Sprachdaten. Diese Aussagen sind natürlich immer abhängig von der Auswahl der Sprachdaten, die wir getroffen haben. Natürliche Sprachen sind ja leider kein abgeschlossenes System (im Gegensatz z.B. zum Text aus dem Voynich Manuskript, jedenfalls solange dessen fehlende Seiten nicht irgendwo auftauchen). Die Auswahl betrifft vor allem die beiden letzten oben genannten Gütekriterien, die Reliabilität (bleiben die Aussagen gleich, wenn ich eine andere Auswahl treffe) und Objektivität (bleiben die Aussagen gleich, auch wenn jemand anders die Auswahl trifft).

Die Validität betrifft mehr die Werkzeuge, die im Analyseprozess verwendet werden – zunächst einmal müssen sie korrekt funktionieren (wer selbst einmal Algorithmen implementiert hat, weiß wahrscheinlich sehr gut, welche Fehler dabei auftreten können). Darüber hinaus muss aber auch irgendwie festgestellt werden, ob sich die Messungen der gewählten Werkzeuge wirklich dazu eignen, darauf die zu treffenden Aussagen zu gründen.

Im  kombinierten Programmier/Experimentier-Prozess, in dem man sich befindet, wenn man neue Werkzeuge erstellt, die dann auch umgehend für empirische Studien eingesetzt werden, muss man sich überlegen, wie man die Validität denn am besten testen kann. Und um jetzt endlich zum Punkt dieses Artikels zu kommen: Ich möchte hier einen solchen Test beschreiben, der in der Form gar nicht geplant war und nur durch einen Fehler zustande kam.

Um, wie wir das vorhatten, die Internetness von Texten bzw. Dokumenten zu ermitteln, kann man sie z.B. mit einem Referenzkorpus vergleichen und schauen, inwieweit sich Spezifika in Abgrenzung zu diesem ermitteln lassen. Es gibt unterschiedliche Methoden, die Keywordness von einzelnen Termen (Wörtern) zu berechnen, im Bereich des Information Retrieval (also im Umfeld von Suchmaschinen) wird häufig der Quotient aus Termfrequenz und inverser Dokumentfrequenz (TF/IDF) hinzugezogen. Für den Vergleich von Korpora eignet sich unserer Meinung nach die Berechnung der Log-Likelihood-Ratio (LLR) für einzelne Termes besser. Um es ganz simpel zu erklären: Das Vorzeichen der LLR gibt für jeden Term an, ob er stärker mit dem Untersuchungskorpus oder mit dem Referenzkorpus assoziiert ist. Noch einfacher: In welchem Korpus er häufiger vorkommt. Allerdings zählen dabei nicht die absoluten Häufigkeitsunterschiede (welche die frequentesten Wörter, also {und, der, die, das} usw. aufweisen würden), die LLR relativiert diese stattdessen (wie sie das tut, passt gerade nicht hier rein). Summiert man nun die LLR-Werte der Token jedes Korpus-Dokumentes und teilt diese Summe durch die Länge des entsprechenden Dokuments, so erhält man vergleichbare Internetness-Werte für jedes Dokument.

Ein Experiment, das den im Text beschriebenen Workflow über einzelne Komponenten realisiert. Von oben nach unten: Korpora, Tokenizer, Frequenz-Zähler, LLR-Berechner, Ranker für Dokumente (die hier in Paragraphen repräsentiert sind) nach den LLR-Werten ihres Vokabulars.

Auf den ersten Blick war fatal, dass uns der Fehler unterlief, unsere Korpora mit Texten unterschiedlicher Encodings zu bestücken. Das ist für Tesla normalerweise kein Problem, wenn nicht gerade alle zusammen in einem Archiv hochgeladen werden, was wir aber getan haben. Das Resultat war, dass alle Wörter mit Umlauten im Internet-Korpus korrekt dargestellt wurden, diese aber im Referenz-Korpus nie auftauchten, weil dessen Encoding zerschossen war. Resultat war, dass não (portugiesisch für nein, falsch encodiert não), offenbar in unserem Korpus das frequenteste Wort mit Sonderzeichen, den höchsten LLR-Wert erhielt. Texte, die lediglich aus não bestanden, bekamen deshalb den höchsten Wert für ihre Internetness.

Das Ergebnis entsprach natürlich keinesfalls dem, das wir erhalten wollten, dennoch hatte die Tatsache, dass wir einen so blöden Fehler gemacht hatten, auch einen gewichtigen Vorteil: Dadurch, dass wir ein so falsches, aber absolut nachvollziehbares Ergebnis erhielten, konnten wir Rückschlüsse bezüglich der Validität des Verfahrens bzw. die Richtigkeit der Algorithmen-Implementationen innerhalb der Komponenten ziehen: Wir hatten genau das gemessen, was aufgrund unseres Fehlers gemessen werden musste. Den Fehler konnten wir einfach korrigieren, die Ergebnisse veränderten sich dementsprechend – auch wenn sie weiterhin bemerkenswerte, durch die Korporaauswahl bedingte, Artefakte enthalten (da muss ich allerdings auf die wissenschaftliche Veröffentlichung vertrösten). Wir waren in einem ersten Versuch gescheitert, aber gerade dieses Scheitern hatte uns einen relativ starken Hinweis auf die Validität unseres Verfahrens gegeben. Und ich finde, das ist schon einen Blogpost wert, zumal solche produktiven Fehlschläge nur sehr selten Platz in wissenschaftlichen Veröffentlichungen finden.

Nachtrag 16.08.2013: Die Mühlen des Peer Review mahlen langsam, jetzt gibt es aber schon einmal eine Voransicht des resultierenden Papers.

 

 

Informationsverarbeitung – was soll das sein?

Als Informationsverarbeiterin* an der Uni hat man es nicht einfach. Allzu oft wird man gefragt, was man eigentlich genau macht so an der Hochschule und in dem Fachbereich. Nach längerer Erklärung bleibt dann bei den Leuten entweder Informatikerin hängen oder Sprachwissenschaftlerin, wobei sich viele unter dem ersten Begriff mehr vorstellen können (Ach, Du machst was mit Computern) als unter dem zweiten (Und da lernt ihr dann verschiedene Sprachen oder was?).

Dabei ist es doch eigentlich gar nicht so schwer – die Informationsverarbeitung an der Uni Köln sieht sich als angewandte Informatik der Geisteswissenschaften. Und da diese ein relativ weites Feld sind, dem man schwerlich im ganzen Umfang gerecht werden kann, hat die Kölner Informationsverarbeitung zwei Spezialisierungen hervorgebracht: Die Sprachliche Informationsverarbeitung (Spinfo) für die Verarbeitung natürlichsprachlicher Daten und die Historisch-Kulturwissenschaftliche Informationsverarbeitung (HKI) für – salopp gesagt – den ganzen Rest. Im Zuge der Umstellung unseres Studiengangs auf Bachelor/Master-Abschlüsse lernen unsere Studentinnen im Bachelorstudiengang die Grundlagen beider Zweige, im Master haben sie dann die Möglichkeit, sich auf einen der beiden zu spezialisieren.

Wie man unschwer aus meinen restlichen Blogartikeln (und dem Profilbild oben) ersehen kann, bin ich in der Spinfo gelandet. Was wir so machen, heißt an anderen Unis meist Computerlinguistik, was man sich als eine Schnittstelle zwischen Linguistik (also Sprachwissenschaft) und Informatik vorstellen kann. Einfacher gesagt beschäftigen wir uns prinzipiell mit all den Situationen, in denen natürliche Sprache auf künstliche Rechnersysteme trifft. Der gemeinen Computernutzerin kommen da sicherlich direkt Anwendungen in den Sinn, die sie – mal mit mehr, mal mit weniger Erfolg – täglich nutzt: Autokorrektur und Autovervollständigung von Eingaben, Übersetzungsdienste, vielleicht auch automatische Sprachein- oder -ausgabe in Dialogsystemen bzw. persönlichen Assistentinnen. Mit Siri, einem System letzterer Art, gelang der Firma Apple im vorvergangenen Jahr ein großer PR-Erfolg, schien doch ein alter Traum von Science-Fiction-Autoren Wirklichkeit zu werden: Die Möglichkeit in Echtzeit und über mündliche Kommunikation dem Rechner (hier: einem kleinen Telefon in der Hand) mitzuteilen, was er für einen tun kann. Tatsächlich waren meine Umgebung und ich von der Entwicklung überrascht, auch wenn sich die Euphorie inzwischen ein wenig gelegt hat – ich selbst besitze kein Endgerät mit einer persönlichen Assistentin und mir fällt auch im Alltag kaum jemand auf, der eine solche nutzt. Aber das kann sich ja noch ändern.

Kurze Zeit, nachdem Apple mit Siri ankam, überraschte auch die große alte Konkurrentin aus den 80er Jahren, der Elektronikriese IBM, nicht nur die Fachwelt mit der Antwortmaschine Watson. Dieser gelang es, das Spiel Jeopardy gegen die beiden bis dahin erfolgreichsten menschlichen Spieler zu gewinnen. Bemerkenswert ist, dass diese beiden Spielerinnen – Ken Jennings und Brad Rutten – wahrscheinlich über die enge US-Amerikanischen Jeopardy-Fangemeinschaft hinaus kaum jemanden bekannt waren, ganz im Gegensatz zum 1997 amtierenden Schachweltmeisters Garry Kasparow. Und es ist bezeichnend, dass die Enthrohnung der Schachweltmeisterin (durch die ebenfalls von IBM gebaute Maschine DeepBlue) 14 Jahre vor Watson ein viel größeres Medienecho hervorrief. 14 Jahre sind eine halbe Ewigkeit in der Informationstechnologie, die man aber offenbar benötigte, nach einem Problem, unter dem sich jede etwas vorstellen kann (wie spiele ich erfolgreich Schach?) auch eins zu lösen, das doch eigentlich nicht so schwer sein kann (wie interpretiere ich eine Frage?).

IBMs Watson (Mitte) in Aktion

Sowohl bei Watson als auch bei Siri kommen Konzepte zum Tragen, die im Bereich der Computerlinguistik entwickelt wurden. Wie die Systeme genau funktionieren, ist noch nicht ganz ans Licht der Öffentlichkeit getreten (speziell in Cupertino gibt man sich wie gehabt ausgesprochen zugeknöpft – IBM veröffentlichte zumindest das grobe Prozessierungs-Konzept). Bei uns kann man aber lernen, auf welchen Grundlagen solche Entwicklungen möglich sind. Und wenn das nicht mal spannend ist…

* [Im Zuge der gerade stattfindenden InWoche nutze ich für meinen Text das generische Femininum. Ohne Zweifel dürfte bei der ein oder anderen stellenweise eine kurze Verwirrung eintreten. Diese Verwirrung ist beabsichtigt, da sie auf ein Problem aufmerksam macht, das wir ansonsten nur selten wahrnehmen. Ich halte die Verwendung des generischen Femininums nicht für den Königsweg, denke aber, dass es das Anliegen wert ist, zumindest einen meiner Blogartikel damit zu verfassen.]

 

Ein Jahr Blogger

Vor etwas mehr als einem Jahr, am 26.10.2011, habe ich – damals noch auf der Plattform Posterous – meinen ersten wissenschaftlichen Blogpost geschrieben. Wie ich genau darauf gekommen bin, mit dem Bloggen anzufangen, weiß ich bis heute nicht genau. Vielleicht lag es vor allem daran, dass ich kurz vorher meine Dissertation abgegeben hatte und irgendeine Form von Kompensation brauchte, meine Schreiblücke aufzufüllen. Ein weiterer Grund war sicherlich, dass ich Werbung machen wollte für Tesla, also die Software, die wir im Zug zweier paralleler Dissertationen an unserem Lehrstuhl entwickelt hatten. Zwar hatten wir das System schon auf diversen Konferenzen vorgestellt, Artikel verfasst und eine verhältnismäßig gut dokumentierte Webseite [just heute migrieren wir auf einen neuen Server, sorry, Link schalte ich morgen wieder frei] angelegt, irgendwie hatte ich aber das Gefühl, dass ich mehr Leute von unserem Konzept, empirisch-experimentelle Wissenschaft über Textdaten zu betreiben, erreichen könnte, würde ich nur neue Kommunikationskanäle nutzen (fast genau ein Jahr vorher bin ich zum Twitterer geworden, aber die Geschichte erzähle ich demnächst woanders).

Tatsächlich bloggte ich anfangs wohl vor allem für mich und vielleicht für ein paar Student|inn|en, die daran interessiert waren, was ihr Dozent so treibt, wenn er sie nicht gerade mit Unterricht belästigt (mit, ich habe mit geschrieben). Allerdings ist es mir aber nach und nach gelungen (da hat sicher auch mein Twitter-Profil viel beigetragen), mehr Interessenten auf die Seite zu locken und teilweise wurde gar kommentiert, u.a. auch von Mareike König, die ja bekanntermaßen das Sprachrohr dieser Plattform hier ist. Als de.hypotheses dann im Frühjahr diesen Jahres an den Start ging, bekam ich das (Twitter) mit und fand das Konzept einer geisteswissenschaftlichen Blogplattform so stimmig, dass ich mich fast umgehend darum bewarb, dorthin wechseln zu dürfen.

Ich habe diesen Entschluss bisher noch zu keinem Zeitpunkt bereut – die Plattform ist phantastisch betreut, bei Problemen erhält man umgehend Rückmeldung (Twitter) und Hilfe und man muss nicht mehr ganz allein die Werbetrommel für seinen Blog rühren (Twitter), tatsächlich bekommt man auch eine Menge Laufkundschaft dadurch, dass die eigenen Artikel auf der Protalseite verlinkt sind. Nicht zu unterschätzen ist auch, dass man weiß, dass das, was man so im Blog verbricht, zumindest von der hypotheses-Redaktion gelesen wird. Bei Gefallen bekommt man einen prominenten Platz auf der Portalseite, was zumindest mich zusätzlich anspornt (mit meinem ersten Artikel hier bin ich sogar Headliner mit unterlegtem Bild geworden; ich schiebe es mal darauf, dass es da noch nicht viele Blogs gab…). Ein weiterer Vorteil wäre die Vernetzung mit anderen Bloggern aus der Linguistik/Computerlinguistik-Szene, wenn es die hier denn geben würde. Noch bin ich vor allem von Historikern umgeben, aber vielleicht ändert sich das ja noch (Und ja, das ist ein Aufruf!).

Die Vergrößerung der Reichweite meines Blogs über die letzten Monate kann ich mir über das Analysetool von WordPress selbst anschauen, allerdings ist immer schwer zu ermitteln, ob sich gerade wirkliche Besucher auf meine Seite verirrt haben, oder ob sich lediglich ein paar Bots austoben. Wichtiger sind da Retweets meiner Werbetweets von anderen Twitter-Nutzern, Likes bei Facebook, +1en bei Google+, vor allem aber Pingbacks aus anderen Blogs, Empfehlungen auf anderen Plattformen (Webwatch auf spektrum.de) und – nicht zu vergessen – Leser-Kommentare, die mir zeigen, dass sich tatsächlich echte Menschen mit den von mir geäußerten Gedanken befassen. Wirklich geadelt fühlte ich mich, als ein Beitrag für gut genug befunden wurde, um bei den Scilogs zu erscheinen.

Inzwischen nutze ich Links auf einzelne Blogposts oft dazu, potentiell an unserer Software Tesla Interessenten einen ersten Eindruck zu geben, was genau die Vorteile sind, wenn man sich darauf einlässt, unser virtuelles Labor zu nutzen. Oder um meine Theorie zur Entstehung des Textes im Voynich-Manuskript knapp zu erläutern. Oft – wie gerade jetzt – verfalle ich auch ins Meta-Bloggen, also in die bloggende Betrachtung des Bloggens selbst. Ich verspreche aber, dass ich mich in nächster Zeit wieder um Sachthemen aus meinem angestammten Wissenschaftsbereich kümmern werde. Bloggen macht Spaß, darf aber nicht zum Selbstzweck werden…