Homepage des Kurses

Computerlinguistik und PROLOG I

Frühjahrssemester 2008, Institut für Germanistik, Universität Debrecen

Dozent: Gergely Pethő

 

Diese Seite stellt die wichtigsten Informationen für die Teilnehmerinnen dieses Kurses bereit.

Die Beschreibung des Kurses, die über die geplanten Themen und kurz über die Zielsetzungen des Kurses informiert, finden Sie auf der Website des Instituts, genauer hier, auf Seite 2 des verlinkten Textdokuments.

 


Lehrbuch

Das im Kurs verwendete Lehrbuch (Carstensen u.a.: Computerlinguistik und Sprachtechnologie, 2. Aufl.) steht im Institutsbibliothek zur Verfügung der Teilnehmerinnen. Wenden Sie sich diesbezüglich bitte an die Bibliothekarin.

Sie können das Lehrbuch auch über Amazon.de kaufen.

Falls Sie nicht mit dem Printexemplar des Lehrbuchs arbeiten möchten, steht die Lektüre für die erste Unterrichtswoche (12. 02. 2008) im Adobe PDF-Format für Sie zum Download bereit (17 MB). Klicken Sie mit der rechten Maustaste auf diesen Link und wählen sie im daraufhin erscheinenden Menü die Option "Datei speichern als..." o.ä. Falls der Downloadprozess nicht sofort nach dem Anklicken des Links beginnt, haben Sie bitte etwas Geduld (1 oder 2 Minuten), es dauert nämlich manchmal ein wenig, bis der Webserver die Daten übermittelt.

Die Lektüre für die zweite Unterrichtswoche (19. 02. 2008) im Adobe PDF-Format (28,5 MB) können Sie ebenfalls hier und schon jetzt herunterladen. Die erste Seite von Abschnitt 2.1.3 (Seite 43) finden Sie in der vorhergehenden Datei. Abschnitt 2.1.4 (Seiten 50 und 51) und Seite 61 brauchen Sie nicht zu lesen, wie auch 2.1.5 nicht (auf Seite 81).

Hier finden Sie den dritten Teil der Lektüren aus dem Lehrbuch.

 


Materialien zu PROLOG

Zu Informationen über die Installation von Prolog siehe weiter unten, "Aufgaben für die erste Unterrichtswoche".

Zur Programmiersprache Prolog werden wir kein gedrucktes Lehrbuch verwenden. Ich werde die Einführung im Wesentlichen auf den Online-Kurs "Learn Prolog Now!" von Blackburn, Bos und Striegnitz aufbauen. Die Teilnehmerinnen können mithilfe dieses (allerdings englischsprachigen) Textes die jeweils Woche für Woche behandelten Themen gern im Voraus lesen und üben, müssen aber nicht unbedingt. Wir werden im Seminar grundsätzlich deutschsprachige Powerpoint-Folien verwenden.

Zwei deutschsprachige Lehrbücher zur Programmiersprache, die wir voraussichtlich nicht direkt verwenden werden, die aber zum Nachschlagen oder im Fall von Verständnisschwierigkeiten im Zusammenhang mit dem im Seminar behandelten Stoff nützlich sein dürften, sind die folgenden:

Esther König/Roland Seiffert: Grundkurs PROLOG für Linguisten. Tübingen: Francke, 1989.

Christoph Lehner: Prolog und Linguistik. 2. Auflage. München: Oldenbourg, 1992. Dieses Buch ist auch online verfügbar und empfehlenswert.

Weitere nützliche Lektüren auf Englisch zum Thema Computerlinguistik mit Prolog sind ferner:

Clive Matthews: An Introduction to Natural Language Processing through Prolog. London: Longman, 1998.

Gerald Gazdar/Chris Mellish: Natural Language Processing in PROLOG: An Introduction to Computational Linguistics. Addison-Wesley, 1989. Ebenfalls online verfügbar.

Diese Bücher, mit Ausnahme des letzten, werden voraussichtlich noch diese Woche auf CD in gescannter Form in zwei Exemplaren in der Institutsbibliothek auszuleihen sein.

 


Aufgaben für die erste Unterrichtswoche

Alle Teilnehmerinnen des Kurses lesen bitte Abschnitte 2.1.1 (Mengenlehre) und 2.1.2 (Aussagenlogik) des Lehrbuchs (Seiten 26 bis 43), sowie die kurze Einleitung von Abschnitt 2.1 auf Seite 26.

Versuchen Sie, die eingeführten Grundbegriffe (besonders die fett hervorgehobenen) gründlich zu verstehen und zu lernen. Machen Sie sich ferner mit den eingeführten Symbolen zur Mengentheorie und zur Logik vertraut.

Falls Sie eine weniger dicht geschriebene (und ungarischsprachige) Einführung in die Grundlagen der formalen Logik suchen, bieten sich eine Reihe von Lehrbüchern an, vor allem:

Alle drei Bücher sind ausleihbar in der Universitätsbibliothek.

Zu den absoluten Grundbegriffen der Mengentheorie, die wir brauchen werden, ist mir keine ähnlich leicht zu lesende Einführung bekannt. Die ungarische Terminologie zur Mengentheorie können Sie den folgenden Handouts zu einem meiner früheren Seminare entnehmen: Teil I und Teil II.

Des weiteren: Laden Sie bitte das Programm zur Programmiersprache Prolog herunter, das wir benutzen werden: SWI-Prolog. Sie finden die Installationsdatei, indem Sie auf dieser Seite links auf "Download" und dann auf "Stable Release" klicken. Wenn Sie Prolog auf einem Windows-System auf einer 32-bit-Maschine benutzen wollen (das werden vermutlich die meisten), können Sie auch direkt auf diesen Link klicken und so den Download starten.

Wenn Sie die Installationsdatei heruntergeladen haben, führen Sie sie aus, und installieren Sie die Software auf ihrem Computer. Führen Sie das Programm anschließend aus (unter Windows: Startmenü > SWI-Prolog > Prolog). Wenn ein Fenster mit dem Programmiersystem erscheint, und auf eine Eingabe von Ihnen wartet, können Sie im Laufe des Semesters mit dem System arbeiten.

WICHTIG: Sollten Sie eine Fehlermeldung bei der Installation bekommen, die besagt, dass Sie nicht über die zur Installation notwendigen Rechte (Administratorrechte) verfügen, arbeiten Sie wahrscheinlich gerade an einer öffentlich zugänglichen Maschine. Hier können Sie das System nicht installieren, sondern Sie müssen mit Ihrem eigenen Computer arbeiten. Verfügen Sie über keinen Computer, auf dem Sie über Administratorrechte verfügen, können Sie nicht am Kurs teilnehmen, oder Sie können den Administrator der jeweiligen Maschine bitten, das Entwicklungssystem für Sie zu installieren.

 


Aufgaben für die zweite Unterrichtswoche

In der ersten Woche haben wir die Mengenlehre gründlich besprochen und geübt, es wurde die Aussagenlogik und die Benutzung von Prolog kurz eingeführt.

In der zweiten Woche besprechen wir kurz die Aussagenlogik und machen einige Übungen zu diesem Thema, und gehen dann mit Prädikatenlogik weiter. Dieses Thema werden wir ebenfalls üben, und machen anschließend mit Prolog weiter.

Lesen Sie bitte den Abschnitt zu Mengentheorie nochmals gründlich durch und lernen Sie die Symbole und die Begriffe. Die zweite Sitzung beginnt mit einer kurzen Klausurarbeit (5 Min.) zur Mengenlehre.

Üben Sie die Symbole und Begriffe mithilfe dieses Aufgabenblattes. Aufgaben 1 bis 20 zur Mengenlehre haben wir schon in Seminar gelöst. Den Rest lösen Sie bitte selbstständig, wir werden diese Übungen im Seminar kurz besprechen.

Lesen Sie außerdem den Abschnitt 2.1.3 zur Prädikatenlogik aus dem Lehrbuch (Lektüre für die 2. Unterrichtswoche; Seite 1 dieses Abschnitts finden Sie noch in der ersten Lektüredatei) gründlich durch. Beide gelernten Logiken werden in der nächsten Sitzung ausführlich geübt werden. Wir machen allerdings noch nicht mit Automatentheorie und formalen Sprachen weiter, da die Zeit dafür nicht ausreichen wird. Dieses Thema wird erst in der dritten Woche besprochen. Abschnitt 2.2 brauchen Sie also für nächsten Dienstag noch nicht zu lernen, Sie sollten den Text allerdings trotzdem ein- oder zweimal durchlesen, um sich schon jetzt einen ersten Eindruck über ihn zu machen.

 


Aufgaben für die dritte Unterrichtswoche

In der zweiten Woche haben wir die Themen Aussagenlogik und Prädikatenlogik größtenteils durchgenommen. In der dritten Woche gehen wir noch kurz auf die Semantik der Quantifikation ein (den Teil der Prädikatenlogik, mit dem wir noch nicht fertig sind). Anschließend machen wir mit Abschnitt 2.2 (Automatentheorie und formale Sprachen) weiter. Diesen sollten Sie deshalb möglichst gründlich durchlesen und lernen.

Zu Prolog haben wir bisher die Themen 1 und 2 aus Learn Prolog Now! durchgenommen, abgesehen von dem Thema "Beweisstrategie", mit dem wir in der dritten Woche weitergehen werden. Anschließend machen wir Thema 3 "Rekursion" und können hoffentlich auch mit Thema 4 "Listen" anfangen. Wenn Sie möchten, können Sie die oben angegebenen Links zum Online-Kurs benutzen und diese schon im Voraus lesen. Die im Seminar von mir benutzten Powerpoint-Folien finden Sie hier (im PDF-Format): Thema 1, Thema 2, bzw. für das ganze Semester hier.

Lösen Sie bitte die Übungen auf dem folgenden Aufgabenblatt zur Prädikatenlogik und zu den behandelten Themen zu Prolog. Schicken Sie mir die von Ihnen zu den Aufgaben 4 und 6 programmierten Wissensbasen per Email zu. Benennen Sie die an die Email angehängte Datei, welche die Lösungen enthält, bitte folgenderweise: hf1-cl-NACHNAME.doc, wo NACHNAME für ihren Nachnamen ohne diakritische Zeichen (Umlaute, Striche etc.) steht.

Etwas verspätete Anmerkung: Die Lösungen bitte spätestens bis 22 Uhr heute, d. h. Montag, den 25.2. abschicken.

Hier finden Sie die Ergebnisse der ersten Klausurarbeit (Mengenlehre).

 


Aufgaben für die vierte Unterrichtswoche

Nachdem wir letzte Woche leider mit den Übungen zur Prädikatenlogik und zur grundlegenden Syntax von Prolog verbringen mussten, und nicht weitergehen konnten, haben Sie dieselben Aufgaben für die nächste Woche wie oben beschrieben.

Lösen Sie bitte allerdings ein weiteres Aufgabenblatt zur Prädikatenlogik und zu Prolog (bzw. dasselbe im Word-Format, damit geht auch Copy und Paste richtig). Das Thema dieses Aufgabenblattes ist identisch mit dem von letzter Woche, es sind allerdings auch andere Aufgabentypen dabei. Wenn Sie mit den Aufgaben zur Prädikatenlogik nicht klarkommen, sollten Sie versuchen, die entsprechenden Teile der oben, bei der ersten Woche erwähnten Lehrbücher zu lesen. Parallel zur Lösung der Aufgaben zu Prolog sollten Sie auf jeden Fall mit einem echten Computer arbeiten und Ihre Lösungen ausprobieren, um festzustellen, ob sie die richtigen Resultate liefern.

Schicken Sie mir per Email Ihre Lösungen für die Aufgaben 1, 3 und 7 (mit dem Dateinamen hf2-cl-NACHNAME.doc) zu. Ich erwarte Ihre Lösungen bis spätestens 22 Uhr am Montag, den 3. März.

 


Aufgaben für die fünfte Unterrichtswoche

Letzte Woche haben wir erneut die Prädikatenlogik und die Syntax von Prolog wiederholt, und sind nicht mit dem Stoff weitergekommen. Nachdem die Teilnehmer im großen und ganzen diesen Stoff akzeptabel beherrschen, schreiben sie am 11. 03. eine kurze Klausurarbeit zu den Themen Aussagenlogik, Prädikatenlogik und grundlegende Syntax von Prolog (Atome, Variablen, komplexe Terme, Regeln, Fakten, Anfragen, Matching). Nach dieser Klausurarbeit machen wir mit formalen Sprachen und Automatentheorie sowie mit Beweissuche und Rekursion in Prolog weiter.

Falls Sie mir vergangene Woche keine Lösung für Aufgabe 7 geschickt haben, oder Ihre Lösung zu Aufgabe 7 korrigieren bzw. ergänzen möchten, schicken Sie mir diese (mit dem Dateinamen hf3-cl-NACHNAME.doc) bis spätestens 22 Uhr am Montag, dem 10. März zu.

In der Tabelle mit den bisherigen Ergebnissen können Sie kontrollieren, welche Aufgaben Sie bisher mit welchem Ergebnis gelöst haben. Ein Bindestrich zeigt an, dass ich von dem jeweiligen Teilnehmer keine Lösung für die betreffende Aufgabe bekommen habe. Wenn es bis zum Ende des Semesters mehr als viermal vorkommt, dass ein Teilnehmer Hausaufgaben nicht (oder nicht rechtzeitig) einreicht bzw. Klausurarbeiten nicht schreibt, gelten die Bedingungen des Seminars für diese Person als nicht erfüllt.

 


Aufgaben für die sechste Unterrichtswoche

Letzte Woche haben wir einige grundlegende Begriffe der formalen Sprachen kennen gelernt und die Beweisstrategie bzw. die Rekursion in Prolog besprochen. Nächste Woche machen wir mit den formalen Sprachen bzw. mit weiteren Aspekten der Rekursion und der Verarbeitung von sog. Listen in Prolog weiter. Lesen Sie bitte dementsprechend nochmal den Rest des Kapitels 2.2 aus dem Lehrbuch durch, und lösen Sie bitte zur Wiederholung der Gelernten die Übungen auf folgendem Aufgabenblatt (hier finden Sie dasselbe im Word-Format). Studieren Sie im Zusammenhang mit diesen Aufgaben die beiden Beispiele für Rekursion in dieser Datei.

Schicken Sie mir bitte Ihre Lösungen zu den Aufgaben 2, 3 und 4 sowie Ihre vollständige Wissensbasis zu Aufgabe 7 (unter dem Dateinamen hf4-cl-NACHNAME.doc) bis spätestens 22 Uhr am Montag, dem 17. März zu.

Ich möchte Sie darauf aufmerksam machen, dass ich inzwischen ihnen zwei weitere Materialien zum Download anbieten kann, nämlich zum einen das Lehrbuch Grundkurs Prolog..., zum anderen das Lehrbuch von Lehner in einem etwas übersichtlicheren Format. Klicken Sie einfach auf die Titel dieser beiden Bücher, wenn Sie sie herunterladen/öffnen möchten.


Aufgaben für die achte Unterrichtswoche

Wir haben letzte Woche uns weiter mit Rekursion in Prolog sowie mit Listen auseinandergesetzt. Lesen Sie bitte zuerst die Materialien, die ich zum Teil im Seminar vorgetragen habe und automatisieren Sie die dort behandelten Begriffe. Diesen Text finden Sie in dieser Datei.

Nachdem Sie den dort erläuterten Stoff verstanden und geübt haben, lösen Sie bitte die Übungen auf dem folgenden Aufgabenblatt (hier dasselbe im Word-Format). Diese beziehen sich direkt auf den Stoff der letzten Stunde und dienen dazu, dass Sie überprüfen können, ob sie alles verstanden und automatisiert haben.

Lösen Sie danach bitte die auch Aufgaben auf dem zweiten Aufgabenblatt (hier im Word-Format), die dieselben Themen weiter üben.

Schicken Sie mir bitte wie gewohnt bis 22 Uhr am Montag, dem 7. April Ihre Lösungen für folgende Aufgaben zu:

Aufgabenblatt 1: 2/3, 2/5, 2/7, 3

Aufgabenblatt 2: 2, 4, 8

WICHTIG: Da der übliche Mailserver vorübergehend nicht funktioniert, schicken Sie Ihre Lösungen diesmal bitte an meine andere Adresse.

Wir werden ferner nächste Woche kurz die kontextfreien Grammatiken berühren und dann mit dem nächsten Abschnitt im Lehrbuch weitergehen. Lesen Sie deshalb bitte auch Kapitel 2.3 "Graphentheorie und Merkmalsstrukturen" aus dem Lehrbuch.

 


Aufgaben für die neunte Unterrichtswoche

Wir haben letzte Woche weitere Prädikate besprochen, die auf Rekursion und Listenverarbeitung aufbauen. Ferner wurde ein kurzer Überblick über kontextfreie Grammatiken und Kellerautomaten präsentiert, und wir haben begonnen, die Grundbegriffe der Graphentheorie und der Merkmalsstrukturen zu besprechen.

Für nächste Woche bekommen Sie keine neuen Aufgaben. Wenn Sie die Aufgaben für diese Woche nicht geschafft haben, arbeiten Sie weiter an ihnen, bis Sie sie lösen können. Als Referenz bzw. zur Kontrolle Ihrer Lösung können Sie die hier erreichbaren Musterlösungen verwenden, die ich im auch im Seminar vorgestellt habe.

Nächste Woche schreiben Sie eine Klausurarbeit zu den seit der letzten Arbeit behandelten Themen. Aufgabentypen, mit denen Sie vor allem rechnen können, sind die folgenden: entscheiden, ob ein bestimmtes Wort Element einer bestimmten formalen Sprache ist; angeben, welche formale Sprache durch eine Grammatik erzeugt wird; Darstellungsweisen von Listen und Matching mit Listen; entscheiden, welche Antwort Prolog ausgibt, wenn eine Wissensbasis mit rekursiven Regeln und/oder Listen gegeben ist.

Lesen Sie ferner für nächste Woche den folgenden kurzen Text zur Arithmetik in Prolog. Ich werde davon ausgehen, dass Sie den Text gelesen, verstanden, geübt und die Programme ausprobiert haben. Wir werden im Seminar mit Aufgaben zu diesem Text anfangen, mit Aufgaben zu Merkmalsstrukturen weitergehen, das Kapitel zu Merkmalsstrukturen fortsetzen und weitere Beispiele für die Behandlung von Listen in Prolog behandeln. Wie schon mehrmals erwähnt basieren die zu behandelnden Themen grundsätzlich auf dem Konzept der Rekursion, Sie müssen daher die Technik der rekursiven Programmierung in Prolog beherrschen, um das Seminar verstehen zu können.

 


Aufgaben für die vorletzte Unterrichtswoche

Wir haben vor zwei Wochen weitere Einzelheiten über die Verarbeitung von Listen besprochen. Wir machen diese Woche ausnahmsweise am Donnerstag um 12 Uhr mit der Verarbeitung von Grammatiken weiter. Lesen Sie dazu bitte den Stoff von der letzten Stunde nochmal durch; sie finden ihn hier.

 


Letzte Änderung: 9.4.2008, PG