In der Computerlinguistik ist Programmieren eine zentrale Fertigkeit. Wer
anwendungsorientiert arbeitet, will Programme erstellen, die Benutzern,
Firmen und Organisationen helfen – zum Beispiel Programme zur automatischen
Übersetzung, digitale Assistenten oder Systeme, die strukturierte Informationen
aus Text extrahieren. Wer theoretisch arbeitet, will mehr darüber herausfinden,
wie menschliche Sprache funktioniert, und benutzt Computer, um zu diesem Zweck
Daten zu analysieren. In diesem Fall muss man programmieren, um die benötigten
Informationen aus den Daten zu extrahieren und dem Computer zu sagen, welche
Analysen genau er durchführen soll.
Welche Art von Computerlinguistik Sie auch betreiben, ein nicht
unerheblicher Teil Ihrer Arbeit wird daraus bestehen, Programme zu schreiben,
die Sprachdaten verarbeiten. Sprachdaten gibt es in vielen Formen.
„Rohdaten“ können zum Beispiel Audiodateien mit Aufzeichnungen gesprochener
Sprache oder Textdateien mit geschriebener Sprache sein.
Neben Rohdaten spielen annotierte Daten eine wichtige Rolle. Das
sind Rohdaten mit Zusatzinformationen (Annotationen), die von
Linguisten in oft mühsamer Arbeit hinzugefügt worden sind. Aufzeichnungen
gesprochener Sprache können z.B. mit Transkriptionen annotiert sein,
also mit Verschriftlichungen des Gesagten. Morphosyntaktische
Annotation gibt die Wortart jedes Wortes an, so wie auch Kasus,
Genus, Numerus und andere grammatische Eigenschaften. Syntaktische
Annotation gibt die Struktur von Sätzen und die grammatischen
Beziehungen zwischen Wörtern an. Es gibt viele Arten von semantischer
Annotation. Sie kann zum Beispiel die Bedeutung potenziell
mehrdeutiger Wörter angeben oder ob ein Text positiv oder negativ über
seinen Gegenstand spricht. Das sind nur einige wenige Beispiele der vielen
Arten von Annotation, mit denen in der Linguistik und in der Computerlinguistik
gearbeitet wird.
Neben rohen und annotierten Sprachdaten gibt es auch lexikalische
Datenbanken. Diese enthalten Informationen über Wörter, wie zum
Beispiel ihre Orthographie, Aussprache, Häufigkeit, Flexion, Herkunft,
Bedeutungen, Verwendungsbeispiele, Übersetzungen etc.
Wenn Sie in der Computerlinguistik Programme schreiben, ist deren Aufgabe
oft, Daten einzulesen, Teile herauszufiltern, die für Ihr aktuelles Problem
keine Rolle spielen, und die verbleibenden Teile in einem neuen Format ausgeben
oder Berechnungen damit durchführen, die helfen, Ihr Problem zu lösen. Aber was
ist eigentlich ein Programm? Und welche Arten von Programmen können wir
unterscheiden?