#!/usr/bin/env python import sys import cgi import urllib import cgitb cgitb.enable() data = '../SetsTwNC/' script = 'http://www.let.rug.nl/gosse/bin/verwant_twnc.py' def findWords(kwh, filename, rm = '', link = False): l = len(kwh) p = '' fp = open(data + filename, 'r') for line in fp: if line[0:l] == kwh: if (rm): line = line.replace(rm, '') ww = line.split('#') for w in ww[1:21]: w = w.strip() if (w): if (link): sys.stdout.write('%s%s' % (p, script, urllib.quote(w), cgi.escape(w).replace(' ', ' '))) else: sys.stdout.write('%s%s' % (p, cgi.escape(w).replace(' ', ' '))) p = ',\n' fp.close() sys.stdout.write('''Content-type: text/html; charset=iso-8859-1
Woorden zoals %s:\n' % kwCgi) findWords(kwh, 'all.nbest', link = True) sys.stdout.write('\n
\nWerkwoorden met %s als lijdend voorwerp of als deel van een voorzetselvoorwerp:\n' % kwCgi) findWords(kwh, 'obj1.mibest', 'OBJ') sys.stdout.write(', ') findWords(kwh, 'pc.mibest', 'OBJ') sys.stdout.write('\n
\nWerkwoorden met %s als onderwerp:\n' % kwCgi) findWords(kwh, 'su.mibest', 'SUBJ') sys.stdout.write('\n
\nBijvoeglijke naamwoorden bij %s:\n' % kwCgi) findWords(kwh, 'mod.mibest', 'ADJ') sys.stdout.write('\n
\nWoorden waarmee %s in een nevenschikking voorkomt:\n' % kwCgi) findWords(kwh, 'cnj.mibest', ' CONJ', True) sys.stdout.write('\n
\nEen %s is een (bijstelling bij):\n' % kwCgi) findWords(kwh, 'app-of.mibest', ' CONJ', True) sys.stdout.write('\n
\nVoorbeelden van %s (heeft bijstelling):\n' % kwCgi) findWords(kwh, 'app.mibest', ' CONJ', True) sys.stdout.write('''
Data ontleend aan Nederlandse kranten (AD, Trouw, Parool, NRC, Volkskrant) uit de periode 1997-2004 opgenomen in het Twente Nieuws Corpus (500 mln woorden) en de volledige tekst van de Nederlandse Wikipedia (augustus 2008, 110 miljoen woorden).
Een vergelijkbare demo is gemaakt door Erik Tjong Kim Sang. Google Sets en de thesaurus demo van Patrick Pantel zijn vergelijkbare systeem voor het Engels.