Teaching Advies MA-thesis Computertaalkunde

Babelfish by Rod Lord (c) Rod Lord

Basiskennis en vaardigheden computertaalkunde

Wat jullie al hebben is een degelijke achtergrondkennis over algemene taalwetenschap en over de taalkunde van de taal of talen die in jullie specialisatie zitten. Wat jullie (meestal) nog niet hebben, is basiskennis informatica (algoritmen en datastructuren, unix, programmeren in bijv. Python, xml) en enkele wetenschappelijke vaardigheden (bijv. statistische verwerking van gegevens en resultaten, methodologie en gebruik van Machine Learning software). De cursussen Corpustaalkunde, Computertaalkunde, Computationele modellen van taalbegrip en Computationele psycholinguïstiek brengen een deel van die kennis en vaardigheden aan, maar daarnaast is het belangrijk dat jullie zelf lacunes in achtergrondkennis ongedaan maken en vaardigheden oefenen. Deze pagina geeft informatie en links die bij die zelfstudie kunnen helpen.

Unix (Linux, Darwin) en inloggen op de CLiPS machines

Veel software voor computertaalkunde (en Artificial Intelligence in het algemeen) is ontwikkeld op een Unix platform (meestal Linux, soms ook Darwin, de unixversie waar het MacOS X operating system op gebaseerd is).

Er is ook documentatie over de meeste unix commando's in unix zelf. Gebruik daarvoor het commando man

Bijvoorbeeld:
walter% man mkdir

MKDIR(1)                  BSD General Commands Manual                 MKDIR(1)

NAME
     mkdir -- make directories

SYNOPSIS
     mkdir [-pv] [-m mode] directory_name ...

DESCRIPTION
     The mkdir utility creates the directories named as operands, in the order specified, using mode rwxrwxrwx (0777) as
     modified by the current umask(2).

... etc.
Nuttig om te kennen:

De kans is groot dat jullie experimenten zullen uitvoeren op machines can CLiPS.

Instructies: Inloggen doe je (op een Mac) door een Terminal-programma op te starten en vervolgens het volgende commando uit te voeren:
$ ssh username@ipadres
Je username en password krijg je van een CLiPS medewerker. Je kan je password aanpassen na inloggen met het commando:
$ yppasswd
En vervolgens de instructies volgen. Je kan (vanop de UA) inloggen op volgende computers:
ip-adres  naam
146.175.13.200 calc1
146.175.13.102 calc2
146.175.13.111 calc3
146.175.11.243 calc4
146.175.13.123 calc5
146.175.11.197 calc6
146.175.15.35  calc7
146.175.13.124 calc9
Je homedirectory is /home/username. Je kan hierin data bewaren maar geen honderden gigabytes. Als je inlogt, kom je steeds in dezelfde homedirectory met dezelfde files terecht, onafhankelijk van de calc waarop je inlogt. Wanneer je processen opstart op verschillende calcs moet je dus opletten dat de processen geen files met dezelfde naam aanmaken; anders beginnen ze elkaars files te overschrijven. Data van en naar de calcs overbrengen kan je met het scp commando of er bestaan ook handige interfaces bijv. FileZilla client (Alle platformen) of CyberDuck (MacOS X). Het protocol dat je moet instellen is SFTP (poort 22); een ipadres, username en password instellen zoals eerder aangegeven. Als je niet op de UA bent dan moet je eerst VPN aanzetten om te kunnen inloggen. Meer info over vpn op UA.

Tips

Programmeren in Python en NLTK

Python

Python is een open source, multi-platform programmeertaal die snel te leren is, dicht bij natuurlijke taal staat, en waarvoor veel kant en klare taalanalysemodules bestaan. NLTK (Natural Language Tool Kit) is daar waarschijnlijk de belangrijkste van. Voor download, installatie etc. zie de Python website

NLTK

De NLTK website bevat alle noodzakelijke informatie en documentatie voor download, installatie, en gebruik, en ook het NLTK tekstboek. Dat boek en de bijhorende software geven een inleiding tot de programmeertaal Python en tot de methodes van de computertaalkunde. Tegelijk kan je de NLTK software ook verwerken in je eigen Python programma's wat snelle ontwikkeling mogelijk maakt.

Machine Learning methodologie en tools

De volgende pakketten zijn geïnstalleerd op de CLiPS machines.

Statistische toetsing en R

We gebruiken statistiek om data te analyseren (beschrijvende statistiek), om te onderzoeken of experimentele gegevens een hypothese al dan niet ondersteunen (toetsende statistiek), en om voorspellingen te maken op basis van data uit het verleden (predictieve statistiek).

Relevante literatuur en informatie verzamelen over computertaalkunde

De ACL Anthology geeft toegang tot de belangrijkste onderzoeksliteratuur van de computertaalkunde (tijdschrift, conferentie- en workshopproceedings) vanaf de jaren zestig tot nu.

Probeer Google scholar als je iets niet vindt in de anthology.

Er zijn ook steeds meer videos beschikbaar met lezingen van onderzoekers op het gebied van computertaalkunde en machine learning. Zie bijvoorbeeld videolectures.net of de Google tech talks.


Last modified: Thu Jul 18 16:54:01 CEST 2013