Programmieren für Idioten - Teil 1
Mein neues Jahr steht ganz im Zeichen der Doktorarbeit. Ich habe am 2. Januar ein Konzept für ein Programm erarbeitet, das dreierlei Nutzen verfolgen soll: Erstens, es soll einem Menschen, der wie ich immer vor dem letzten Schritt auf dem Weg zum Programmierer zurückgeschreckt ist in den Arsch treten. Zweitens, es soll mir bei der Bewältigung meiner Arbeit helfen. Drittens, es soll modular und verständlich aufgebaut sein, damit ich in Zukunft Gelegenheit habe, für neue Funktionen auf alte zurückzugreifen bzw. das Programm als Referenz zu nehmen. Es ist zwar nur ein kleines und bescheuertes Programm wenn man programmieren kann, aber hey, ich habe eben aus einem spanischen Text das hier herausgeholt:
…
imaginación
imaginar
imaginarias
imaginarme
imaginativas
imbuir
impaciente
impacientemente
impacto
imparcialidad
impedido
impedimentos
impedir
impediría
impedía
impensable
imperativamente
imperativo
imperdonable
imperio
imperiosa
impida
impidan
impide
impidiendo
implantación
implantar
implantarán
implante
implementación
implementar
implementation
…
Für alles gabs ne eigene Funktion, wirklich für Idioten. Aufteilen in einzelne Wörter, Satzzeichen entfernen, kleinschreiben, Duplikate löschen, sortieren… Da steht noch viel auf dem Programm, aber als Zwischenerfolg kann ich das ganze dennoch werten, denn 1. kommen jetzt die ersten Aufgaben die auf den vorigen aufbauen, 2. habe ich schon ganz schön viel gelernt und 3. kann ich die auf diese Weise erzeugte Liste tatsächlich jetzt schon gebrauchen.
Zurück am Schreibtisch
Es war eine lange und anstrengende Zeit seit ich mit dem Semanticker begonnen habe. Nach einem inspirierenden Start und vielen freundlichen Reaktionen verkam das Blog jedoch in kürzester Zeit. Ein wesentlicher Grund wird gewesen sein, dass man nicht wissenschaftlich bloggen kann, wenn man nicht wissenschaftlich arbeitet. Ich hatte schlicht anderes zu tun, zumeist unfreiwillig.
Diese Hürden sind nunmehr allesamt gemeistert. Ich gedenke nun, da ich tatsächlich seit etwas mehr als einer Woche konsistent arbeite, hier von neuem zu beginnen. Eigentlich tendiere ich zur Tabula Rasa Methode, sprich alles löschen, neues Theme und los gehts. Aber ich denke, das muss vielleicht gar nicht sein. In Zukunft hoffe ich auf mehr Beiträge, darunter weniger Metabeiträge wie diesen und die vergangen, und dann werden wir sehen.
Weiter im Tagesgeschäft
Die Gedanken zum Semanticker reifen nach und nach in meinem Schädel. Ich bin derzeit wieder zeitlich sehr eingespannt, darum werde ich sie nur nach und nach umsetzen können. Aber es wird weitergehen.
Meine erste Änderung ist, dass ich davon absehe, hier ein wissenschaftliches Blog in der Hinsicht zu schreiben, dass ich vor mir selbst die Ansprüche fallen lassen, eine Art Handbuch der Computerlinguistik für nicht Computerlinguisten zu schreiben. Das kostet zu viel Zeit und Nerv.
Vielmehr werde ich hier ein paar Anekdoten aus meinem wissenschaftlichen Alltag schildern, ab und an sicher auch anhand von konkreten Beispiel meine Themen illustrieren und so weiter.
Deshalb werde ich demnächst auch unter meinem “wahren Namen” bloggen. Auch mit dem Layout bin ich ganz und gar nicht glücklich. Aber ich habe immerhin beschlossen, bei Wordpress zu bleiben, zumindest vorerst. Aber das seht ihr dann ja alles.
Umbaupause
Liebe Leser, so Ihr Euch überhaupt noch hierher verirren solltet. Im Moment scheint es, als sei mein Ausflug ins wissenschaftliche Bloggen gescheitert. Ich bin noch nicht ganz sicher, wo ich mit dem Semanticker hin möchte, bin mit der Seite an sich unzufrieden und überhaupt. Ich arbeite ja eigentlich mit Blogger und ich fühle mich allein kompetenzmäßig in Wordpress ganz schön eingeschränkt. Dann ist da noch die wissenschaftliche Seite. Was ist mein Anspruch hier? Will ich gleich ein Lehrbuch schreiben? Ich bin doch selber noch lange kein Experte für alles. Will ich diskutieren? Fragen aufwerfen? Oder die Oberfläche ankratzen, mich kaum von der Schulgrammatik abheben um möglichst viele Leser zu erreichen? Brauche ich ein paar “Grundlagenposts” auf die ich später verweise? Und auch sonst: Schreibe ich unter vollem Namen um quasi zum Semanticker stehen zu können? Oder verlinke ich mich lieber mit meinem sonstigen Geblogge, dass ich gerne weiter unter Pseudonym betreiben würde? Kann man beides unter einen Hut kriegen? Und zudem fehlt es mir seit Februar auch deutlich an Zeit. Ich habe im Moment eigentlich immer “besseres” zu tun, d.h. dringende Unisachen, nebenher ein, zwei, drei Nebenjobs um sich grad über dem Wasser zu halten. Ich will den Semanticker keinefalls aufgeben. Ich will ihn nur besser machen. Und wie, das weiß ich im Moment noch nicht. Also, danke fürs vorbeischauen. Wenn es weiter geht, melde ich mich.
Zurück zu Blogger?
Ich sitze jetzt ja seit Februar hier vor einem Wordpress-Blog. So richtig warm geworden bin ich damit bisher nicht. Gutgut. Viel genutzt habe ich es ohnehin nicht, ich weiß. Aber dennoch: Ich bin mit dem Layout mehr als unzufrieden, die Gestaltungsmöglichkeiten der einzelnen Posts erschließen sich mir auch noch nicht wirklich und nebenbei habe ich auch weder Nerv noch Zeit, mir CSS mal richtig anzulesen. Also doch zurück zu Blogger? Das fände ich schade, denn eigentlich ist mir Wordpress sehr sympatisch. Ich bin in der Tat ein wenig ratlos. Ideen?
Scholarz.net
Zu Beginn habe ich ja ein wenig von meiner Suche nach einer geeigneten Literaturverwaltungssoftware geschrieben und habe ein wenig von Connotea geschwärmt. Um es kurz zu machen, die Liebe war nach zwei Tagen wieder aus. Das war einfach nicht was ich suchte. Durch Eure Kommentare und überhaupt durch das wissenschaftlich bloggende Umfeld kam ich dann auf Scholarz.net die damals glaube ich kurz vor der ersten Beta-Version standen. “Klingt ja spannend”, dachte ich. “Aber wird eh nie fertig.” Und wenn: eh nur warme Luft. Man sehe True Knowledge, bei denen ich beim Betatest mitmachen wollte, deren Software ich aber so beknackt fand, dass ich es dort keine halbe Stunde ausgehalten hatte. Entsprechend niedrig dann auch die Motivation, da weiter nach zu schauen.
Als Scholarz dann nach Betatestern fragten, hab ich mich gemeldet und ich bekam in der Tat irgendwann dann mal ein GoldenTicket, d.h. einen Zugang zum bis dato nicht öffentlichen Dienst. Das war alles so furchtbar kompliziert und meine Zeit ständig begrenzt: wie man nicht zuletzt an der geringen Updatefrequenz hier sieht. Es dauerte noch ein paar Wochen bis ich mich endlich an das Probieren wagte.
Und soll ich Euch was sagen? Es hat sich gelohnt. Man könnte es mit dem Satz von Matthew Perry beschreiben, mit dem er Salma Hayeks Herz gewann (und meins): You are all I never knew I always wanted. Denn Scholarz geht über meine Anforderungen an ein sinnvolles und durchdachtes Literaturverwaltungskonzept weit hinaus. Daher war es auch großartig, den Kopf des Projekts, Daniel Koch, hier in München persönlich kennen zu lernen. Er fährt grade eine Tour durch deutsche Unis und erklärt Interessierten die Idee hinter Scholarz.net. Das ist zum Einstieg bestimmt auch nötig, das ganze ist wie gesagt nicht ganz unmächtig und ohne Einleitung kommt man vielleicht schwerer hinter alle Geheimnisse. Aber wenn erst mal ein paar Leute mehr damit arbeiten wird sich das schon rumsprechen und es wird sich zeigen, welche Dienste nützlicher sind.
Ich kann das ganze selber nur kurz umreißen: Scholarz.net dient zum Organisieren von Literatur. Einmal eingegeben lässt sich diese einem oder verschiedenen Projekten zuordnen, die es dann wie ein Label trägt. Des Weiteren ist es möglich, jeder Quelle Notizen anzuheften und diese ebenfalls Projekten oder Schlagworten zuzuordnen. So entsteht ein mehrdimensionales Informationsnetzwerk, dass man sich auf dem Schreibtisch am liebsten mit Fäden und Kopieren anordnen würde und über dem früher oder später jeder wissenschaftlich arbeitende die Hände zusammen schlägt. Außer er nutzt Scholarz.net. Quasi nebenbei liefern die Damen und Herren noch ein soziales Netzwerk á la Facebook für die wissenschaftliche Szene mit einem sehr angenehmen Fokus auf Privatsphäre. Aber wenn ich WOLLTE, könnte ich jederzeit meine Notizen, Quellen, Zusammenfassungen und Projekte online stellen, ganz zu schweigen von eigenen Publikationen. Ich kann andere Wissenschaftler kennen lernen, die ähnliches wie mich bewegt und mit Ihnen meine Quellen teilen oder gemeinsam kommentieren. Das bietet sich ebenso für Arbeitsgruppen wie für wikiartige Konstruktionen an. Kurz und gut: Ich bin begeistert. Zwei Dinge fehlen mir noch. Erstens: Eine Möglichkeit, alle meine PDFs hochzuladen. Dann könnte ich endlich darauf verzichten, die Teile in Ordnern zu lagern die ich benenne, etikettiere und sortiere und bei denen ich dann doch durcheinander komme. Zweitens: Mehr User. Meldet. Euch. An.
Warum blogge ich hier eigentlich unter Pseudonym
Beim “Was sind (gute) Wissenschaftsblogs” wurde Anfang April darüber diskutiert, warum manche Blogger unter Pseudonym bzw. anonym blogge, obwohl sie sich doch offenbar dem Geiste der Wissenschaft verschrieben haben und somit mit offenem Visier “kämpfen” sollten. Da ich das hier praktiziere - wenn auch nicht besonders regelmäßig - wollte ich wenigstens ein paar Gedanken dazu los werden. Obwohl das vielleicht etwas übertrieben ist. Es ist eine kurze Geschichte. Meine Anonymität ist nur oberflächlich, wer mir schreibt, bekommt Antwort mit echtem Namen und echter Mailadresse. Wer an der richtigen Stelle nachschaut, ist in zwei Minuten im Besitz meiner Adresse. Es geht mir hier nicht ums Verschleiern oder Anonymsein. Ich will schlicht nicht gegoogelt werden können. Noch nicht.
Anwendung: Rechtschreibkorrektur - Teil 1
Um den Damm endlich mal zu brechen: ein kleiner einführender Artikel zum Problem der Rechtschreibkorrektur.
Obwohl es sich bei der Rechtschreibkorrektur um eine der Erfolgsgeschichten unserer Wissenschaft handelt und um die Anwendung, die garantiert jeder von Euch schon mal gebrauchen konnte, beginnt die Geschichte wie eigentlich jede: “Rechtschreibkorrektur? Das ist doch einfach!”. Man braucht ja im Grunde nur ein Wörterbuch wo die Wörter richtig drin stehen und dann vergleicht die Software nur noch, ob alles stimmt. Denkste.
Nein, bedauerlicherweise war auch hier die Einsicht nötig, dass das nicht alles so leicht ist, wie man sich das gerne vorgestellt hat. Und Rechtschreibkorrektur; schon gar nicht: Wer von Euch vertraut Word schon an, sein Dokument ungesteuert zu korrigieren? Am nützlichsten sind eben doch die kleinen roten Linien, die auf mögliche Fehler hinweisen. Also eigentlich ist es nur eine Rechtschreibfehlersuche. Und das müsste ja noch leichter sein. So oder so: alles beginnt mit einer ganz entscheidenen Frage: Was ist ein Fehler?
Klar, die Antwort ist leicht gegeben: Ein falsch geschriebenes Wort. Wir nennen solche falschen Wörter gerne auch Nichtwörter oder englisch Non-Words. Alles, was nicht im Wörterbuch steht ist also ein Non-Word. Punkt und aus. Rechtschreibfehlersuche ist also schon mal abgeschlossen. Vorausgesetzt natürlich, dass wir ein ziemlich großes Lexikon haben, denn sonst gelten etwas ungewöhnlichere Wörter schnell als falsch. Ein weiteres Problem sind flektierte, also von ihrer Grundform abweichende Wörter. Entweder bringt man dem Programm bei, Wörter den Regeln entsprechend selbständig zu beugen oder man vergrößert das Wörterbuch soweit, bis alle Formen einen eigenen Eintrag bekommen. Beide Möglichkeiten haben ihre Probleme und Vorteile:
Toll an einem Regellexikon ist, dass es alle (regelmäßigen) Formen von deklinierten und konjugierten Worten ermitteln kann. Der Nachteil steckt aber im selben Detail: Ein Regellexikon erkennt gebrungen als tadelloses deutsches Wort an, wobei wir als kundige Sprecher natürlich wissen, dass es gebracht heißen müsste. Ein weiterer Vorteil ist, dass ein Regellexikon sogar dazu in der Lage ist, die für das Deutsche so üblichen Kompositionen, also zusammengesetzte Wörter wie Mitbewohnerabschiedsfeiereinladungsrundschreiben, zu erkennen. Interessant ist aber, dass das wiederum gewisse Probleme aufwirft. Eins davon ist das so genannte Fugen-S. Das Fugen-S wird mal gebraucht, um eine Abhängigkeit in Komposita zu signalisieren (”Bischofsstab” -> Der Stab des Bischofs) und mal, weil es schöner klingt (”Einkaufszettel” -> *Der Zettel des Einkaufs?). Und manchmal sagt man es auch besser nicht (”Morgenrot” -> Das Rot des Morgens). Sowas kann eine Rechtschreibfehlersuchsoftware natürlich nicht unterscheiden. Word z.B. akzeptiert sowohl Himmelsfahrtkommando als auch Himmelsfahrtskommando und Himmelsfahrtskommando und Himmelfahrtkommando.
Und für beide Lexikatypen gilt - für das Vollformenlexikon um so mehr - ein irritierendes Gebot der Praxis: Je mehr Wörter ein Wörterbuch enthält, um so besser wird es - bis es wieder schlechter wird. Enthält ein Lexikon zu viele Wörter, sinkt sein Unterscheidungsvermögen deutlich, da bei vielen Tippfehlern eben Wörter herauskommen, die in den meisten Kontexten eben nicht gebraucht werden - die Programme arbeiten in der Tat besser, wenn sie seltene Fehler in Kauf nehmen anstatt zu viele zu seltene Wörter ins System mit aufzunehmen.
Die meisten aktuellen Ansätze arbeiten demzufolge mit einer Kombination beider Lexikontypen. Eine robuste Einheit zum flektieren von regelmäßigen Verben und zum Erkennen von Komposita zusammen mit einem umfangreichen Lexikon ergänzt um unregelmäßige Ausdrücke und Ausnahmen für das regelbasierte System.
Nächstes mal dann ein bisschen zum eigentlichen Suchen.
Pausenmusik
Ich gebe zu, so eine lange Pause macht den Semanticker nicht eben attraktiver. Mein Forschungsaufenthalt in Spanien ist jetzt aber um und spätestens ab dem 20. April lebe ich auch wieder im gewohnten Umfeld am eigenen Rechner mit Literatur und Unterlagen und geregeltem Lebensrhythmus und so weiter, sprich: spätestens ab dann könnt ihr viel häufiger und regelmäßiger mit kleinen und größeren Notizen aus der Welt der Computerlinguistik rechnen. Bis dahin plane ich noch ein oder zwei kleinere Appetithäppchen zu posten aber wie gesagt, so richtig los gehts mit diesem Blog ab Mitte bis Ende April - ich hoffe auf Euer Verständnis und das Ihr mir bis dahin gewogen bleibt.
Stichwort: Computerunterstütze Übersetzung
Zum Thema Übersetzen unterscheiden wir in der Computerlinguistik zwei verwandte Themen: die (bereits beschriebene) Automatische Übersetzung auf der einen und die Computergestützte Übersetzung auf der anderen Seite. Ziel der erstgenannten ist die Entwicklung von Systemen, die vollautomatisch Texte übersetzen - mit dem Ziel einer FAHQT (Merkwürdiges Kürzel: Fully Automatic High Quality Translation). Im Gegensatz dazu ist die Computergestützte Übersetzung (Kurz: CAT für Computer Aided Translation) etwas bodenständiger: Man entwickelt ganz praktische Werkzeuge, die einem menschlichen Übersetzer das Leben leichter machen sollen. Das bekannteste Ergebnis dieser Fachrichtung sind so genannte Translation-Memory Systeme (TM-Systeme) oder zu Deutsch Übersetzunsspeicher.
Das System dahinter ist einfach aber bestechend: In meiner Eigenschaft als Übersetzer produziere ich täglich den Rohstoff mit dem sie arbeiten: richtige Übersetzungen. Das TM-Systeme legt nun also ein Archiv an, in dem es jede ursprüngliche Einheit plus ihre von mir angefertigte Übersetzung abspeichert. Bei einer Einheit kann es sich um von Satzzeichen getrennte Sätze handeln, es können aber auch Wörter, Wortsequenzen oder ganze Absätze als einzelnes Segment betrachtet werden.
Kommt nun im Verlauf eines Übersetzungsprojekts der gleiche Satz an anderer Stelle vor, ersetzt ihn das TM-System durch die bereits verwendete Übersetzung. Und stoße ich auf einen Satz, der dem ersten ähnelt, mit ihm aber nicht identisch ist, bekomme ich eine Angabe über die Ähnlichkeit, einen Übersetzungsvorschlag und gegebenenfalls weitere Hinweise zur Übersetzung, davon ausgehend, dass sich ähnelnde Sätze auch ähnliche Übersetzungen haben. Dabei ist Ähnlichkeit so eine Sache, die für uns recht offensichtlich und für den Computer eine echte Herausforderung sein kann. Mit was für Mitteln man den Ähnlichkeitsgrad berechnet, werde ich in einem Artikel zur Rechtschreibkorrektur mal näher erörtern, hier jetzt erstmal eine kleine Auflistung von sich mehr oder weniger ähnelnden Sätzen um das Problem wenigstens grob zu illustrieren:
Das Bruttoeinkommen in Spanien ist gestiegen.
Das Bruttoeinkommen in Deutschland ist gestiegen.
Das Pro-Kopf-Einkommen in Deutschland stagniert.
Das Brutto- und Nettoeinkommen in ganz Asien ist zum ersten Mal seit Jahren gesunken.
Das Flutwasser in Ostdeutschland ist gestiegen.
Sie sind für ein höheres Nettoeinkommen in Deutschland auf die Barrikaden gestiegen.
Gerade die letzten beiden Sätze zeigen, dass sich vom optischen her ähnliche Sätze inhaltlich nicht wirklich ähneln müssen - dazu hat Groucho Marx ein absolut fabulöses Beispiel produziert, ein echter Hit:
Time flies like an arrow.
Fruit flies like a banana.
Na, auf Anhieb verstanden? Auch diese Sätze würde ein TM-System als ähnlich erkennen und dem Übersetzer daher einen Fuzzy-Match (im Gegensatz zum Exact-Match) melden und die passenden Übersetzungen anbieten. Ist ja auch klar: Im Gegensatz zu den meisten Ansätzen der automatischen Übersetzung versucht ein TM-System auch überhaupt nicht, den Satz syntaktisch oder semantisch zu analysieren und somit gewissermaßen zu “verstehen”. Die gesuchte Ähnlichkeit ist rein oberflächlich (auch wenn die Entwicklung natürlich längst den Weg in Richtung Verstehen eingeschlagen hat).
Neben dieser grundsätzlichen Eigenschaft, getätigte Übersetzungen zu speichern und an anderer Stelle zur Verfügung zu stellen, verfügen die verschiedenen TM-Systeme über alle möglichen Spezialitäten, mit denen sie um die Gunst der User buhlen. Die Übersetzer von Transline haben eine gute Einführung zum Thema geschrieben und gleich noch die Frage beantwortet, welches TM-System denn das Beste sei – nämlich keins; schließlich hat jeder Übersetzer andere Anforderungen. Vor allem aber hat auch jeder Kunde eigene Ansprüche: Die Frage, ob es sich lohnen würde, eine große Datenbank anzulegen, in die jeder Nutzer eines TM-Systems seine Übersetzungen ablegt um sie anderen zur Verfügung zu stellen, wird von den Profis eher verneint: Nicht nur hütet so mancher Übersetzer natürlich sein wertvolles Gedankengut, nein, häufig bringen Übersetzungen von anderen einfach auch gar nichts, wenn sie für einen anderen Auftraggeber und daher mit anderem Hintergrund erstellt wurden.
Aber TM-Systeme haben die Welt der Übersetzung in jedem Fall schon beeindruckend verändert. Während die Automatische Übersetzung noch Science Fiction und “Königsdiziplin” ist, hat die computergestützte Übersetzung längst einen großen und vor allem lukrativen Markt. Allerdings, das sollte ich wohl erwähnen, dienen TM-Systeme hauptsächlich dem Übersetzer repetitiver Texte - dem es allerdings locker mehr als 50% der Arbeit abnehmen kann: Wenn ich die technische Dokumentation zu Produkt A übersetzt habe, wird Produktbeschreibung A1 vermutlich viel davon übernehmen. Ein literarischer Übersetzer muss schon länger suchen, um einen Satz zu finden, den er genau so schon einmal übersetzt hat – und zudem geht es in der literarischen Übersetzung ja nicht zwangsläufig um eine möglichst große Einheitlichkeit der Formulierung, sondern viel häufiger spielen Kontext und individueller Stil eine Rolle. Aber, und damit müssen wir wohl noch ziemlich lange leben, dafür gibt es keine Programme: Schreiben und Übersetzen sind beides Kunstformen. Nützlich sein kann es natürlich trotzdem: Kam das Wort Kurfürst schon mal vor und wie hab ich es da übersetzt? Solche und ähnliche Fragen beantwortet das passende TM-System bequem.
Falls jemand von Euch ein TM-System mal ausprobieren möchte: Bei OmegaT handelt es sich um ein engagiertes OpenSource-Projekt auf Javabasis, das dementsprechend plattformunabhängig ist und schon ziemlich gut aussieht. Viel Spaß!
Edit: Hier noch ein Verweis auf einen Artikel von Roxomatic zu OmegaT. Vielen Dank Markus für den Hinweis!
