In [41]:
import json
import copy
from itertools import product
def getlinelist(filename):
with open(filename) as f:
return [l.strip() for l in f.read().splitlines()]
def writelinelist(filename, mylist):
with open(filename, 'w') as fw:
for l in mylist:
fw.write(l+'\n')
In [ ]:
fixed1 = "aan het begin van | aan het eind van | aan het einde van | gedurende | na | met ingang van | m.i.v. | miv | op | tijdens | tot | tot aan | t/m | tm | tot en met | van | vanaf | voor | voorgaand aan"
fixed1 = [item.strip() for item in fixed1.split('|')]
#print(fixed1)
opt1 = "de | deze"
opt1 = [item.strip() for item in opt1.split('|')]
opt1.append('')
print(opt1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
In [30]:
tmx1 = []
def combine_exp(f1, f2, op1,timex):
for fxd1 in f1:
for fxd2 in f2:
for o1 in op1:
if o1 == '':
timex.append(fxd1+' '+fxd2)
else:
timex.append(fxd1+' '+o1+' '+fxd2)
return timex
combine_exp(fixed1, fixed2, opt1, tmx1)
print(len(fixed1),len(fixed2),len(tmx1))
def wrToFile(tmx):
with open('combinedtimex', mode='wt', encoding='utf-8') as myfile:
myfile.write('\n'.join(tmx))
wrToFile(tmx1)
for t in tmx1:
print(t)
In [31]:
timex2 = []
fixed1 = "iedere | elke"
fixed1 = [item.strip() for item in fixed1.split('|')]
print(fixed1)
opt1 = "eerste| tweede| derde| vierde | laatste"
opt1 = [item.strip() for item in opt1.split('|')]
opt1.append('')
print(opt1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
timex2 = combine_exp(fixed1, fixed2, opt1, timex2)
print(len(fixed1),len(fixed2),len(opt1),len(timex2))
wrToFile(timex2)
print(timex2)
In [32]:
timex3 = []
fixed1 = ["om de"]
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
timex3 = ["om de "+f2 for f2 in fixed2]
wrToFile(timex3)
print(timex3)
In [34]:
timex4 = []
fixed1 = ["aanstaande", "deze", "die", "komende", "verleden", "volgende", "vorige", "volgende week", "vorige week", "komende week"]
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
for f1 in fixed1:
for f2 in fixed2:
timex4.append(f1+' '+f2)
print(len(fixed1),len(fixed2),len(timex4))
wrToFile(timex4)
print(timex4)
In [37]:
timex5 = []
fixed1 = ["aanstaande", "daarop", "erop", "ervoor", "daarvoor", "daaropvolgend", "eropvolgend", "eraanvoorgaand"]
print(fixed1)
opt1 = ["de", "deze", "die",""]
print(opt1)
fixed2 = ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"]
print(fixed2)
for fxd1 in fixed1:
for fxd2 in fixed2:
for o1 in opt1:
if o1 == '':
timex5.append(fxd1+' '+fxd2)
else:
timex5.append(o1+' '+fxd1+' '+fxd2)
print(len(fixed1),len(fixed2),len(opt1),len(timex5))
wrToFile(timex5)
print(timex5)
In [38]:
timex6 = []
fixed1 = "alle "
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
timex6 = [fixed1+f2 for f2 in fixed2]
wrToFile(timex6)
print(timex6)
In [40]:
timex7 = []
fixed1 = ["de", "deze", "die", "eerste", "komende", "laatste", "volgende", "vorige"]
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
for f1 in fixed1:
for f2 in fixed2:
timex7.append(f1+' '+f2)
print(len(fixed1),len(fixed2),len(timex7))
wrToFile(timex7)
print(timex7)
In [99]:
timex7 = []
fixed1 = ["de", "deze", "die"]
fixed2 = getlinelist('../timexNelleke/timexlist')
for f1 in fixed1:
for f2 in fixed2:
timex7.append(f1+' '+f2)
print(len(fixed1),len(fixed2),len(timex7))
wrToFile(timex7)
for t in timex7:
print(t)
In [ ]:
from itertools import product
timex8 = []
fixed1 = ["de","die"]
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
fixed3 = ["daarop", "erop", "ervoor", "daarvoor", "daaropvolgend", "eropvolgend", "eraan voorgaand", "voorafgaand aan"]
timex8 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2,fixed3])]
print(len(fixed1),len(fixed2),len(opt1),len(timex8))
wrToFile(timex8)
print(timex8)
In [44]:
timex9 = []
fixed1 = ["1","een"]
print(fixed1)
fixed2 = getlinelist('../timexNelleke/timexlist')
print(fixed2)
fixed3 = ["eerder", "ervoor", "erna", "voorafgaand", "later"]
timex9 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2,fixed3])]
print(len(fixed1),len(fixed2),len(timex9))
wrToFile(timex9)
print(timex9)
In [48]:
timex10 = []
fixed1 = ["2","3","4","5","6","7","8","9","10"]
fixed2 = ['dagen', 'avonden', 'middagen', 'namiddagen','nachten', 'ochtenden']
fixed3 = ["eerder", "eraan voorafgaand", "ervoor", "erna", "voorafgaand", "later"]
timex10 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2,fixed3])]
wrToFile(timex10)
In [50]:
timex11 = []
fixed1 = ["in","op", "voor", "na", "tijdens", "tot", "van", "vanaf", ""]
fixed2 = ['dag', 'avond', 'middag', 'namiddag', 'morgen', 'nacht', 'ochtend']
fixed3 = getlinelist('../timexNelleke/timexlist')
fixed3.append("")
timex11 = [" ".join(map(str,x)) for x in product(*[fixed1,["de"], fixed2, fixed3])]
timex11 = [t11.strip() for t11 in timex11]
wrToFile(timex11)
In [56]:
timex12 = []
fixed2 = ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"]
#fixed1 = ["in", "m.i.v.", "miv", "met ingang van", "na", "t/m", "tegen", "tot en met", "van", "vanaf", "voor"]
timex12 = [" ".join(map(str,x)) for x in product(*[["medio"], fixed2])]
wrToFile(timex12)
In [58]:
timex13 = []
fixed1 = ["aan het begin van", "aan het eind van", "aan het einde van", "halverwege", "bij", "tot", "tot aan", "voor", "na", "voorafgaand aan", "tijdens", "in de loop van", "bij"]
fixed2 = getlinelist('../timexNelleke/timexlist')
timex13 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2])]
wrToFile(timex13)
In [61]:
timex14 = []
opt1 = ["binnen", "met", "om", "na", "over", "rond", "tot", "van", "vanaf", "voor", "tegen", ""]
fixed1 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
timex14 = [" ".join(map(str,x)) for x in product(*[opt1, fixed1, ["uur"]])]
timex14 = [t14.strip() for t14 in timex14]
wrToFile(timex14)
In [63]:
timex15 = []
opt1 = ["binnen", "met", "om", "na", "over", "rond", "tot", "van", "vanaf", "voor", "tegen", ""]
fixed2 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
timex15 = [" ".join(map(str,x)) for x in product(*[opt1, ["een uur of"], fixed2])]
timex15 = [t15.strip() for t15 in timex15]
wrToFile(timex15)
In [64]:
timex16 = []
fixed1 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
fixed2 = ["eerder","later","vroeger"]
timex16 = [" ".join(map(str,x)) for x in product(*[["een uur of"], fixed1, fixed2])]
timex16 = [t16.strip() for t16 in timex16]
wrToFile(timex16)
In [65]:
timex17 = []
opt1 = ["binnen", "met", "om", "na", "over", "rond", "tot", "van", "vanaf", "voor", "tegen", ""]
fixed1 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
fixed2 = ["eerder","later","vroeger"]
timex17 = [" ".join(map(str,x)) for x in product(*[opt1, fixed1, ["uur"]])]
timex17 = [t17.strip() for t17 in timex17]
wrToFile(timex17)
In [66]:
timex18 = []
opt1 = ["elk", "ieder", "om het", "een heel", ""]
timex18 = [" ".join(map(str,x)) for x in product(*[opt1, ["uur"]])]
timex18 = [t18.strip() for t18 in timex18]
wrToFile(timex18)
In [67]:
timex19 = []
fixed1 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
timex19 = [" ".join(map(str,x)) for x in product(*[fixed1, ["uur"]])]
wrToFile(timex19)
In [68]:
timex20 = []
fixed1 = ["een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen", "tien", "elf", "twaalf", \
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12","13", "14", "15", "16", "17", "18", "19", "20",\
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",\
"41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60","72"]
fixed2 = ["eerder", "later", "vroeger", "te vroeg", "te laat"]
timex20 = [" ".join(map(str,x)) for x in product(*[fixed1, ["uur"], fixed2])]
wrToFile(timex20)
In [72]:
timex21 = []
fixed1 = ["seconde", "minuut", "week", "maand", "jaar", "eeuw"]
fixed2 = ["eerder", "later"]
timex21 = [" ".join(map(str,x)) for x in product(*[["een"],fixed1,["of wat"], fixed2])]
wrToFile(timex21)
In [73]:
timex22 = []
fixed1 = ["eerder", "later"]
timex22 = [" ".join(map(str,x)) for x in product(*[["een paar uur"],fixed1])]
wrToFile(timex22)
In [74]:
timex23 = []
fixed1 = ["een paar", "enkele"]
fixed2 = ["seconden", "minuten", "uren", "weken", "maanden", "jaren", "eeuwen"]
fixed3 = ["eerder", "later"]
timex23 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex23)
In [75]:
timex24 = []
fixed1 = ["het uur", "de minuut", "het kwartier", "het weekend", "het weekeinde", "de week", "de maand", "het jaar", "de uren", "de minuten", "de weken", "de maanden", "de jaren", "de eeuw", "de eeuwen"]
fixed2 = ["daaraan voorafgaand", "daarop", "daaropvolgend", "daarop volgend", "daarvoor", "daarna", "eraan voorafgaand", "erop", "eropvolgend", "ervoor", "erna"]
timex24 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2])]
wrToFile(timex24)
In [77]:
timex25 = []
fixed1 = ["aan het begin van", "aan het eind van", "aan het einde van", "gedurende", "na", "met ingang van", "m.i.v.", "miv", "op", "tijdens", "tot", "tot aan", "t/m", "tm", "tot en met", "van", "vanaf", "voor", "voorgaand aan"]
fixed2 = [" de "," deze ", " "]
fixed3 = ["week", "maand", "vakantie", "periode", "vakantieperiode", "eeuw"]
timex25 = ["".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex25)
In [78]:
timex26 = []
fixed1 = ["iedere", "elke"]
fixed2 = [" eerste ", " tweede ", " derde", " vierde ", " laatste ", " "]
fixed3 = ["seconde", "minuut", "week", "weekend", "weekeinde", "maand"]
timex26 = ["".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex26)
In [80]:
timex27 = []
fixed1 = ["ieder", "elk"]
fixed2 = [" eerste ", " tweede ", " derde", " vierde ", " laatste ", " "]
fixed3 = ["seizoen", "jaar"]
timex27 = ["".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex27)
In [84]:
timex28 = []
fixed1 = ["aan het begin van ", "aan het eind van ", "aan het einde van ", "halverwege ", "gaandeweg ", "in de loop van ", ""]
fixed2 = ["dit ", "komend ", "verleden ", "volgend ", "vorig "]
fixed3 = ["weekend", "weekeinde", "jaar", "seizoen"]
timex28 = ["".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex28)
In [14]:
# prepare for timex29
#([eerste | komende | laatste | volgende | vorige | voorbije] + (N))
timextmp = []
fixed1 = ["eerste", "komende", "laatste","volgende","vorige", "voorbije"]
fixed2 = getlinelist('../timexNelleke/timexlist')
fixed2 = [" "+f for f in fixed2]
fixed2.append("")
timextmp = ["".join(map(str,x)) for x in product(*[fixed1, fixed2])]
writelinelist("combinedtimex", timextmp)
In [19]:
timex29 = []
fixed1 = ["in ", "voor ", "na ", "tijdens ", "tot ", "tot en met ", "gedurende ", "in de loop van ", ""]
fixed2 = ["de","deze","die"] # if you want this comment the below line. Do not forget fixed4!
fixed2 = ["het", "dat","dit"]
fixed3 = getlinelist('../timexNelleke/timexlist')
fixed3 = [" "+f+" " for f in fixed3]
fixed3.append(" ")
fixed4 = ["seconde", "seconden", "minuut", "minuten"] #if you want this comment the below line
fixed4 = ["weekend", "seizoen", "jaar"] # "uur" has different numbers, combined differently
timex29 = ["".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3, fixed4])]
writelinelist("combinedtimex", timex29)
In [93]:
timex30 = []
fixed1 = ["1", "een"]
fixed2 = ["seconde", "minuut", "uur", "kwartier", "week", "maand", "jaar", "eeuw"]
fixed3 = ["eerder", "ervoor", "erna", "geleden", "voorafgaand", "later"]
timex30 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex30)
In [96]:
timex31 = []
fixed1 = [str(n) for n in range(2,121)]
fixed2 = ["seconden", "minuuten", "uren", "weken", "maanden", "jaren", "eeuwen"]
fixed3 = ["eerder", "ervoor", "erna", "geleden", "voorafgaand", "later"]
timex31 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
wrToFile(timex31)
In [100]:
timex32 = []
fixed1 = ["in"]
fixed2 = ["het uur", "de uren", "de week", "de weken", "de maand", "de maanden"]
fixed3 = ["na","van","voor"]
fixed4 = getlinelist('../timexNelleke/timexlist')
timex32 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3, ])]
wrToFile(timex32)
In [ ]:
monthlist = ["januari","februari","maart","april","mei","juli","juni","augustus","september","oktober","november","december"]
for m in monthlist:
for i in range(1,32):
print(str(i)+' '+m[:3])
print(str(i)+' '+m)
In [21]:
#rule: over [zo'n|precies|exact|krap|ruim|ongeveer|om en nabij|dik] driekwartier
timex33 = []
fixed1 = ["zo'n", "precies", "exact", "krap", "ruim", "ongeveer", "om en nabij", "dik"]
for f1 in fixed1:
print("over "+f1+" driekwartier")
In [24]:
#rule: nog ([maar|slechts]) [een paar|enkele]
# [seconden|minuten|minuutjes|kwartier|kwartiertjes|uren|uurtjes|dagen|daagjes|nachten|nachtjes|weken|weekjes|maanden|maandjes|jaar|jaartjes|eeuwen]
# ([tot d-day|tot de wedstrijd|tot de rust|tot de ontmoeting|tot het treffen|tot het fluitsignaal])
timex34 = []
fixed1 = ["nog "]
opt1 = ["maar ","slechts ", ""]
fixed2 = ["een paar ", "enkele "]
fixed3 = ["seconden ", "minuten ", "minuutjes ", "kwartier ", "kwartiertjes ", "uren ", "uurtjes ", "dagen ", "daagjes ", "nachten ", "nachtjes ", "weken ", "weekjes ", "maanden ", "maandjes ", "jaar ", "jaartjes ", "eeuwen "]
opt2 = ["tot d-day", "tot de wedstrijd", "tot de rust", "tot de ontmoeting", "tot het treffen", "tot het fluitsignaal", ""]
timex34 = ["".join(map(str,x)) for x in product(*[fixed1, opt1, fixed2, fixed3, opt2])]
writelinelist("combinedtimex",timex34)
In [25]:
#rule: nog ([maar|slechts]) [een paar|enkele]
# [seconden|minuten|minuutjes|kwartier|kwartiertjes|uren|uurtjes|dagen|daagjes|nachten|nachtjes|weken|weekjes|maanden|maandjes|jaar|jaartjes|eeuwen] geleden
timex35 = []
fixed1 = ["nog "]
opt1 = ["maar ","slechts ", ""]
fixed2 = ["een paar ", "enkele "]
fixed3 = ["seconden ", "minuten ", "minuutjes ", "kwartier ", "kwartiertjes ", "uren ", "uurtjes ", "dagen ", "daagjes ", "nachten ", "nachtjes ", "weken ", "weekjes ", "maanden ", "maandjes ", "jaar ", "jaartjes ", "eeuwen "]
fixed4 = ["geleden"]
timex35 = ["".join(map(str,x)) for x in product(*[fixed1, opt1, fixed2, fixed3, fixed4])]
writelinelist("combinedtimex",timex35)
In [27]:
#rule: over [precies|exact|krap|ruim|ongeveer|bij benadering|om en nabij|dik] [1, een] [seconde|minuut|kwartier|half uur|uur|dag|week|maand|jaar|eeuw]
timex36 = []
fixed1 = ["over"]
fixed2 = ["precies", "exact", "krap", "ruim", "ongeveer", "bij benadering", "om en nabij", "dik"]
fixed3 = ["1","een"]
fixed4 = ["seconde", "minuut", "kwartier", "half uur", "uur", "dag", "week", "maand", "jaar", "eeuw"]
timex36 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3,fixed4])]
writelinelist("combinedtimex", timex36)
In [29]:
#rule: nog ([maar|slechts|meer dan|minder dan|iets meer dan|iets minder dan|dik]) [een|1]
# [seconde|minuut|minuutje|uur|uurtje|kwartier|kwartiertje|dag|dagje|nacht|nachtje|week|weekje|maand|maandje|jaar|jaartje|eeuw]
# ([tot d-day|tot de wedstrijd|tot de rust|tot de ontmoeting|tot het treffen|tot het fluitsignaal])
timex37 = []
fixed1 = ["nog "]
fixed2 = ["maar ", "slechts ", "meer dan ", "minder dan ", "iets meer dan ", "iets minder dan ", "dik ", ""]
fixed3 = ["een ", "1 "]
fixed4 = ["seconde ", "minuut ", "minuutje ", "uur ", "uurtje ", "kwartier ", "kwartiertje ", "dag ", "dagje ", "nacht ", "nachtje ", "week ", "weekje ", "maand ", "maandje ", "jaar ", "jaartje ", "eeuw "]
fixed5 = ["tot d-day", "tot de wedstrijd", "tot de rust", "tot de ontmoeting", "tot het treffen", "tot het fluitsignaal", ""]
timex37 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3,fixed4, fixed5])]
writelinelist("combinedtimex", timex37)
In [31]:
#rule: [1|een] [seconde|minuut|minuutje|kwartier|kwartiertje|half uur|half uurtje|uur|uurtje|dag|dagje|nacht|nachtje|week|weekje|maand|maandje]
# [voor|na|tot|tot aan] [d-day|de wedstrijd|de rust|de ontmoeting|het treffen|het fluitsignaal]
timex38 = []
fixed1 = ["een ", "1 "]
fixed2 = fixed4 = ["seconde ", "minuut ", "minuutje ", "kwartier ", "kwartiertje ", "half uur ", "half uurtje ", "uur ", "uurtje ", "dag ", "dagje ", "nacht ", "nachtje ", "week ", "weekje ", "maand ", "maandje "]
fixed3 = ["voor ", "na ", "tot ", "tot aan "]
fixed4 = ["d-day", "de wedstrijd", "de rust", "de ontmoeting", "het treffen", "het fluitsignaal"]
timex38 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3,fixed4])]
writelinelist("combinedtimex", timex38)
In [32]:
#rule(N==1): N [seconde|minuut|minuutje|kwartier|kwartiertje|half uur|half uurtje|uur|uurtje|dag|dagje|nacht|nachtje|week|weekje|maand|maandje]
# geleden
timex39 = []
fixed1 = ["een ", "1 "]
fixed2 = ["seconde ", "minuut ", "minuutje ", "kwartier ", "kwartiertje ", "half uur ", "half uurtje ", "uur ", "uurtje ", "dag ", "dagje ", "nacht ", "nachtje ", "week ", "weekje ", "maand ", "maandje "]
fixed3 = ["geleden"]
timex39 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3])]
writelinelist("combinedtimex", timex39)
In [33]:
#rule(N==1): nog ([maar|slechts]) N
# [seconde|minuut|minuutje|uur|uurtje|kwartier|kwartiertje|dag|dagje|nacht|nachtje|week|weekje|maand|maandje|jaar|jaartje|eeuw]
# geleden
timex40 = []
fixed1 = ["nog "]
fixed2 = ["maar ","slechts ",""]
fixed3 = ["een ", "1 "]
fixed4 = ["seconde ", "minuut ", "minuutje ", "kwartier ", "kwartiertje ", "half uur ", "half uurtje ", "uur ", "uurtje ", "dag ", "dagje ", "nacht ", "nachtje ", "week ", "weekje ", "maand ", "maandje ", "jaar ", "jaartje ", "eeuw "]
fixed5 = ["geleden"]
timex40 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4, fixed5])]
writelinelist("combinedtimex", timex40)
In [48]:
#rule(N>1): over [precies|exact|krap|ruim|ongeveer|bij benadering|om en nabij|een kleine|dik] N
# [seconden|minuten|kwartier|uur|dagen|weken|maanden|jaar|eeuwen]
timex41 = []
fixed1 = ["over "]
fixed2 = ["precies ", "exact ", "krap ", "ruim ", "ongeveer ", "bij benadering ", "om en nabij ", "een kleine ", "dik "]
fixed3 = getlinelist("../timexNelleke/timexlist") # numbers
fixed4 = [" seconden ", " minuten ", " kwartier ", " uur ", " dagen ", " weken ", " maanden ", " jaar ", " eeuwen"] # every item should get a different numeral range.
timex41 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
writelinelist("combinedtimex", timex41)
In [55]:
#rule(N>1): nog ([maar|slechts|meer dan|minder dan|iets meer dan|iets minder dan|dik]) N
# [seconden|minuten|minuutjes|kwartier|kwartiertjes|uren|uurtjes|dagen|daagjes|nachten|nachtjes|weken|weekjes|maanden|maandjes|jaar|jaartjes|eeuwen]
# ([tot d-day|tot de wedstrijd|tot de rust|tot de ontmoeting|tot het treffen|tot het fluitsignaal])
timex42 = []
fixed1 = ["nog "]
fixed2 = ["maar ", "slechts ", "meer dan ", "minder dan ", "iets meer dan ", "iets minder dan ", "dik ", ""]
fixed3 = getlinelist("../timexNelleke/timexlist") # numbers
fixed4 = [" weken ", " weekjes ", " maanden ", " maandjes ", " jaar ", " jaartjes ", " eeuwen"] #[" seconden ", " minuten ", " minuutjes ", " uren ", " uurtjes ", " kwartier ", " kwartiertjes ", " dagen ", " daagjes ", " nachten ", " nachtjes ", " weken ", " weekjes ", " maanden ", " maandjes ", " jaar ", " jaartjes ", " eeuwen"] # every item should get a different numeral range.
fixed5 = ["tot d-day ", "tot de wedstrijd ", "tot de rust ", "tot de ontmoeting ", "tot het treffen ", "tot het fluitsignaal", ""]
timex42 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4, fixed5])]
writelinelist("combinedtimex", timex42)
In [66]:
#rule(N>1): N [seconden|minuten|minuutjes|uur|uurtjes|kwartier|dagen|daagjes|nachten|nachtjes||weken|weekjes|maanden|maandjes]
# [voor|na|tot|tot aan] [d-day|de wedstrijd|de rust|de ontmoeting|het treffen|het fluitsignaal]
timex43 = []
fixed1 = getlinelist("../timexNelleke/timexlist") # numbers
fixed2 = #[" seconden ", " minuten ", " minuutjes ", " uren ", " uurtjes ", " kwartier ", " kwartiertjes ", " dagen ", " daagjes ", " nachten ", " nachtjes ", " weken ", " weekjes ", " maanden ", " maandjes ", " jaar ", " jaartjes ", " eeuwen"] # every item should get a different numeral range.
fixed3 = ["voor ", "na ","tot ", "tot aan "]
fixed4 = ["d-day", "de wedstrijd", "de rust", "de ontmoeting", "het treffen", "het fluitsignaal"]
timex43 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
writelinelist("combinedtimex", timex43)
In [73]:
#rule(N>1): N [seconden|minuten|minuutjes|kwartier|uur|uurtjes|dagen|daagjes|nachten|nachtjes||weken|weekjes|maanden|maandjes]
# geleden
timex44 = []
fixed1 = getlinelist("../timexNelleke/timexlist") # numbers
fixed2 = ["maanden", "maandjes"] #[" seconden ", " minuten ", " minuutjes ", " uren ", " uurtjes ", " kwartier ", " kwartiertjes ", " dagen ", " daagjes ", " nachten ", " nachtjes ", " weken ", " weekjes ", " maanden ", " maandjes "]
fixed3 = ["geleden"]
timex44 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3])]
writelinelist("combinedtimex", timex44)
In [78]:
#rule(N>1): nog ([maar|slechts]) N
# [seconden|minuten|minuutjes|kwartier|kwartiertjes|uren|uurtjes|dagen|daagjes|nachten|nachtjes|weken|weekjes|maanden|maandjes|jaar|jaartjes|eeuwen] geleden
timex45 = []
fixed1 = ["nog "]
fixed2 = ["maar ","slechts ",""]
fixed3 = getlinelist("../timexNelleke/timexlist")
fixed4 = [" maanden ", " maandjes ", " jaar ", " jaartjes ", " eeuwen "] #[" seconden ", " minuten ", " minuutjes ", " uren ", " uurtjes ", " kwartier ", " kwartiertjes ", " dagen ", " daagjes ", " nachten ", " nachtjes ", " weken ", " weekjes ", " maanden ", " maandjes ", " jaar ", " jaartjes ", " eeuwen "] # every item should get a different numeral range.
fixed5 = ["geleden"]
timex45 = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4, fixed5])]
writelinelist("combinedtimex", timex45)
In [9]:
# hour
fixed1 = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"]
fixed2 = ["."]#[":","'"]
fixed3 = ["00","05","10","15","20","25","30","35","40","45","50","55"]
#fixed4 = [" u", " uur", ""]
timextmp = ["".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3])]
timextmp = [tt.strip() for tt in timextmp]
writelinelist("combinedtimex", timextmp)
In [12]:
#rule(T is clock time): ([vandaag|vanochtend|vanmiddag|vanavond|vannacht|morgen|morgenochtend|morgenmiddag|morgenavond|gisteren|gistermiddag|gisteravond])
# [om|tot|vanaf|na|rond|aanvang] T ([u|uur])
fixed1 = ["vandaag", "vanochtend", "vanmiddag", "vanavond", "vannacht", "morgen", "morgenochtend", "morgenmiddag", "morgenavond", "gisteren", "gistermiddag", "gisteravond", ""]
fixed2 = ["om", "tot", "vanaf", "na", "rond", "aanvang", ""]
fixed3 = getlinelist("../timexNelleke/timexlist")
fixed4 = ["u", "uur", ""]
timex46 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
timex46 = [tx.strip() for tx in timex46]
writelinelist("combinedtimex", timex46)
In [27]:
#rule(T is fraction): over ([zo'n|precies|exact|krap|ruim|ongeveer|een kleine]) T uur
fixed1 = ["over"]
fixed2 = ["zo'n", "precies", "exact", "krap", "ruim", "ongeveer", "een kleine", ""]
fixed3 = getlinelist("../timexNelleke/timexlist")
fixed4 = ["u", "uur", ""]
timex47 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
timex47 = [tx.strip() for tx in timex47]
writelinelist("combinedtimex", timex47)
In [104]:
#rule: [aan|tegen] het [begin|eind] van [de|deze|die] [ochtend|morgen|dag|nacht|middag|avond|week|maand]
fixed1 = ["aan", "tegen"]
fixed2 = ["het begin", "het eind"]
fixed3 = ["van de","van deze","van die"]
fixed4 = ["ochtend", "morgen", "dag", "nacht", "middag", "avond", "week", "maand"]
timex48 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
writelinelist("combinedtimex", timex48)
In [105]:
#rule: [aan|tegen] het [begin|eind] van [het|dit|dat] [weekend|jaar|seizoen]
fixed1 = ["aan", "tegen"]
fixed2 = ["het begin", "het eind"]
fixed3 = ["van het","van dit","van dat"]
fixed4 = ["weekend","jaar", "seizoen"]
timex49 = [" ".join(map(str,x)) for x in product(*[fixed1,fixed2,fixed3, fixed4])]
writelinelist("combinedtimex", timex49)
In [109]:
# rule: nog ([maar|slechts]) N1|N2 uur en N2 min|minuten
fixed1 = ["nog"]
opt1 = ["maar","slechts", ""]
fixed2 = getlinelist("../timexNelleke/timexlist")
fixed3 = ["uur en"]
fixed4 = fixed2[2:] # do not include 1 en een
fixed5 = ["minuten","min"]
timex50 = [" ".join(map(str,x)) for x in product(*[fixed1, opt1, fixed2,fixed3, fixed4, fixed5])]
writelinelist("combinedtimex", timex50)
In [115]:
#nog ([maar|slechts]) N1 week en N2 dagen
#nog ([maar|slechts]) N1 week en N1 dag
#nog ([maar|slechts]) N2 weken en N1 dag
#nog ([maar|slechts]) N2 weken en N2 dagen
fixed1 = ["nog"]
opt1 = ["maar","slechts", ""]
fixed2 = getlinelist("../timexNelleke/timexlist")
fixed3 = ["weken en"]#getlinelist("../timexNelleke/timexlist")
#fixed4 = fixed2 be careful!
fixed5 = ["dagen"]
timex51 = [" ".join(map(str,x)) for x in product(*[fixed1, opt1, fixed2, fixed3, fixed2, fixed5])]
writelinelist("combinedtimex", timex51)
In [119]:
fixed1 = ["nog"]
fixed2 = getlinelist("../timexNelleke/timexlist")
fixed3 = ["min", "sec", "u"]
timex51 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2, fixed3])]
writelinelist("combinedtimex", timex51)
In [29]:
fixed1 = ["komende", "aanstaande"]
fixed2 = getlinelist("../timexNelleke/timexlist")
timex52 = [" ".join(map(str,x)) for x in product(*[fixed1, fixed2])]
writelinelist("combinedtimex", timex52)
In [26]:
seedtmx = getlinelist('seedtimex')
print(len(seedtmx))
seedtmx = list(set(seedtmx))
for st in sorted(seedtmx):
print(st)
writelinelist('cleanseedtmx',sorted(seedtmx))
In [57]:
# tmxtemp will have the elements which are contained by others. If a string contains an element from this list, it will have
# at least one match from the long list.
tmxtemp = copy.deepcopy(timexall5)
for i in range(0, len(tmxtemp)):
#print(timexall3[i], [t for t in timexall3[i:] if " "+timexall3[i]+" " in t])
recurrent = [t for t in tmxtemp[i+1:] if (" "+tmxtemp[i]+" " in t) or (tmxtemp[i]+" " in t) or (" "+tmxtemp[i] in t)]
if len(recurrent) > 0:
tmxtemp = [tt for tt in tmxtemp if tt not in recurrent]
print(tmxtemp[i], i, len(tmxtemp), len(recurrent))
if i == len(tmxtemp):
break
In [2]:
for n in range(2,101):
for tx in ['minuten','seconde','seconden']:
print('over '+str(n)+' '+tx)
In [4]:
for n in range(1,9):
print('over '+str(n)+' kwartier')
In [7]:
# All times with comma seperator!
for n in range(0,24):
h=str(n)
if n<10:
h='0'+h # keep in mind, hour does not need to be in zero-padded format.
for n2 in range(0,60):
m = str(n2)
if n2<10:
m='0'+m
print(h+','+m+' uur')
In [8]:
for n in range(0,24):
h=str(n)
if n<10:
h='0'+h # keep in mind, hour does not need to be in zero-padded format.
for n2 in range(0,60):
m = str(n2)
if n2<10:
m='0'+m
if n2%5 != 0:
print(h+'.'+m+' uur')
print(h+':'+m+' uur')
In [ ]: