Improve german time approximation (#435)

Summary:
Improves the recognition of German time approximation language and removes a single error in the rule of <time-of-day> approximately.

Pull Request resolved: https://github.com/facebook/duckling/pull/435

Reviewed By: patapizza

Differential Revision: D24934281

Pulled By: chessai

fbshipit-source-id: 641bcb6a7e5c26e66c735fe13bccae9b7a8909ae
This commit is contained in:
Christoph Flick 2020-11-19 13:39:48 -08:00 committed by Facebook GitHub Bot
parent 700118644c
commit d0a6f8114c
3 changed files with 365 additions and 334 deletions

View File

@ -42,10 +42,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.43318965612301924, unseen = -5.8111409929767,
likelihoods = HashMap.fromList [("", 0.0)], n = 332},
ClassData{prior = -0.41886243767998566,
unseen = -5.8522024797744745,
likelihoods = HashMap.fromList [("", 0.0)], n = 346},
koData =
ClassData{prior = -1.0453677741492975, unseen = -5.204006687076795,
ClassData{prior = -1.0723443618474995, unseen = -5.204006687076795,
likelihoods = HashMap.fromList [("", 0.0)], n = 180}}),
("exactly <time-of-day>",
Classifier{okData =
@ -126,6 +127,17 @@ classifiers
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> approximately",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.6094379124341003,
likelihoods =
HashMap.fromList
[("<time-of-day> o'clock", -0.6931471805599453),
("hour", -0.6931471805599453)],
n = 1},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("<time> <part-of-day>",
Classifier{okData =
ClassData{prior = -0.12044615307586722,
@ -232,30 +244,32 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 11}}),
("at <time-of-day>",
Classifier{okData =
ClassData{prior = -0.137201121513485, unseen = -4.3694478524670215,
ClassData{prior = -0.1416505170630268, unseen = -4.634728988229636,
likelihoods =
HashMap.fromList
[("<time-of-day> o'clock", -2.0541237336955462),
[("<time-of-day> o'clock", -1.8523840910444898),
("half <integer> (german style hour-of-day)",
-3.6635616461296463),
("about <time-of-day>", -2.7472709142554916),
("time-of-day (latent)", -1.717651497074333),
-3.9318256327243257),
("about <time-of-day>", -3.0155349008501706),
("time-of-day (latent)", -1.62924053973028),
("relative minutes after|past <integer> (hour-of-day)",
-3.6635616461296463),
("hh:mm", -2.7472709142554916),
-3.9318256327243257),
("hh:mm", -3.0155349008501706),
("quarter after|past <integer> (hour-of-day)",
-3.6635616461296463),
("hour", -1.0608719606852628), ("minute", -2.159484249353372),
-3.9318256327243257),
("hour", -0.9614111671546247), ("minute", -2.4277482359480516),
("<hour-of-day> <integer> (as relative minutes)",
-3.6635616461296463)],
n = 34},
-3.9318256327243257)],
n = 46},
koData =
ClassData{prior = -2.0541237336955462, unseen = -3.044522437723423,
ClassData{prior = -2.0243817644968085,
unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -1.2039728043259361),
("hour", -1.2039728043259361)],
n = 5}}),
[("<time-of-day> o'clock", -2.4849066497880004),
("time-of-day (latent)", -1.2321436812926323),
("hour", -1.0986122886681098)],
n = 7}}),
("Neujahr",
Classifier{okData =
ClassData{prior = -1.252762968495368, unseen = -1.3862943611198906,
@ -412,30 +426,32 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<time-of-day> o'clock",
Classifier{okData =
ClassData{prior = -4.580953603129422e-2,
unseen = -4.9344739331306915,
ClassData{prior = -3.846628082779605e-2,
unseen = -5.3706380281276624,
likelihoods =
HashMap.fromList
[("exactly <time-of-day>", -4.23410650459726),
("at <time-of-day>", -2.624668592163159),
[("exactly <time-of-day>", -4.672828834461907),
("at <time-of-day>", -2.5933872927820705),
("half <integer> (german style hour-of-day)",
-4.23410650459726),
("about <time-of-day>", -2.847812143477369),
("time-of-day (latent)", -1.3437347467010947),
-4.672828834461907),
("about <time-of-day>", -2.1078794770003695),
("time-of-day (latent)", -1.4539530095937054),
("quarter after|past <integer> (hour-of-day)",
-4.23410650459726),
("until <time-of-day>", -3.1354942159291497),
("hour", -0.7841189587656721), ("minute", -3.828641396489095),
("after <time-of-day>", -3.1354942159291497)],
n = 64},
-4.672828834461907),
("until <time-of-day>", -3.5742165457937967),
("hour", -0.750855498180592), ("minute", -4.267363726353742),
("after <time-of-day>", -3.5742165457937967)],
n = 102},
koData =
ClassData{prior = -3.1060803307228566, unseen = -2.833213344056216,
ClassData{prior = -3.2771447329921766,
unseen = -2.9444389791664407,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -1.6739764335716716),
("hour", -1.3862943611198906),
("after <time-of-day>", -2.0794415416798357)],
n = 3}}),
[("at <time-of-day>", -2.1972245773362196),
("time-of-day (latent)", -1.791759469228055),
("hour", -1.2809338454620642),
("after <time-of-day>", -2.1972245773362196)],
n = 4}}),
("Rosch haSchana",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.6094379124341003,
@ -563,333 +579,333 @@ classifiers
n = 3}}),
("intersect",
Classifier{okData =
ClassData{prior = -0.11795690334351183,
unseen = -7.3277805384216315,
ClassData{prior = -0.11743683520286512,
unseen = -7.332369205929062,
likelihoods =
HashMap.fromList
[("Boghiyear", -6.633976111699347),
("Lailat al-Qadryear", -5.1298987149230735),
("Samstag<time-of-day> o'clock", -6.633976111699347),
("hourday", -5.38121314320398),
("<datetime> - <datetime> (interval)year", -5.38121314320398),
("dayhour", -2.9704144655697013),
("daymonth", -3.3952976595349673),
("Orthodoxer Ostersonntagyear", -6.633976111699347),
[("Boghiyear", -6.638567789166521),
("Lailat al-Qadryear", -5.134490392390246),
("Samstag<time-of-day> o'clock", -6.638567789166521),
("hourday", -5.385804820671153),
("<datetime> - <datetime> (interval)year", -5.385804820671153),
("dayhour", -2.937265815054027),
("daymonth", -3.39988933700214),
("Orthodoxer Ostersonntagyear", -6.638567789166521),
("<day-of-month>(ordinal) <named-month> year<time-of-day> o'clock",
-6.633976111699347),
("monthyear", -4.842216642471293),
("yearhour", -6.633976111699347),
("Naraka Chaturdashiyear", -6.2285110035911835),
("Govardhan Pujayear", -6.2285110035911835),
("Juliintersect", -6.633976111699347),
("intersect<time-of-day> o'clock", -4.493909948203076),
("after lunchat <time-of-day>", -6.633976111699347),
-6.638567789166521),
("monthyear", -4.846808319938465),
("yearhour", -6.638567789166521),
("Naraka Chaturdashiyear", -6.233102681058356),
("Govardhan Pujayear", -6.233102681058356),
("Juliintersect", -6.638567789166521),
("intersect<time-of-day> o'clock", -4.49850162567025),
("after lunchat <time-of-day>", -6.638567789166521),
("absorption of , after named daymm/dd/yyyy",
-6.633976111699347),
("intersectJuli", -5.940828931139402),
("Isra and Mi'rajyear", -5.717685379825192),
("Schawuotyear", -6.2285110035911835),
("Aschermontagyear", -5.940828931139402),
("<day-of-month> (ordinal)Dienstag", -6.633976111699347),
("Sukkotyear", -6.2285110035911835),
("intersect by 'of', 'from', 'syear", -6.2285110035911835),
("<day-of-month> (ordinal)September", -6.2285110035911835),
("intersect<time> <part-of-day>", -4.554534570019512),
("Jom Kippuryear", -6.2285110035911835),
("<time-of-day> o'clockafter lunch", -5.940828931139402),
("<day-of-month> (ordinal)Mittwoch", -6.633976111699347),
("Montagthis <cycle>", -6.633976111699347),
("Holiyear", -5.940828931139402),
-6.638567789166521),
("intersectJuli", -5.945420608606575),
("Isra and Mi'rajyear", -5.722277057292366),
("Schawuotyear", -6.233102681058356),
("Aschermontagyear", -5.945420608606575),
("<day-of-month> (ordinal)Dienstag", -6.638567789166521),
("Sukkotyear", -6.233102681058356),
("intersect by 'of', 'from', 'syear", -6.233102681058356),
("<day-of-month> (ordinal)September", -6.233102681058356),
("intersect<time> <part-of-day>", -4.5591262474866845),
("Jom Kippuryear", -6.233102681058356),
("<time-of-day> o'clockafter lunch", -5.945420608606575),
("<day-of-month> (ordinal)Mittwoch", -6.638567789166521),
("Montagthis <cycle>", -6.638567789166521),
("Holiyear", -5.945420608606575),
("<time> <part-of-day><time-of-day> o'clock",
-6.633976111699347),
("Oktoberyear", -5.535363823031238),
("today<time-of-day> o'clock", -6.633976111699347),
("Dhanterasyear", -6.2285110035911835),
("<time-of-day> o'clockon <date>", -6.2285110035911835),
("Islamisches Neujahryear", -6.2285110035911835),
("intersect by ','year", -5.535363823031238),
("Holika Dahanyear", -5.940828931139402),
("on <date><time-of-day> o'clock", -6.633976111699347),
("exactly <time-of-day>tomorrow", -6.2285110035911835),
("Jumu'atul-Widayear", -5.717685379825192),
("mm/dd<time-of-day> o'clock", -6.633976111699347),
("monthhour", -6.2285110035911835),
-6.638567789166521),
("Oktoberyear", -5.539955500498411),
("today<time-of-day> o'clock", -6.638567789166521),
("Dhanterasyear", -6.233102681058356),
("<time-of-day> o'clockon <date>", -6.233102681058356),
("Islamisches Neujahryear", -6.233102681058356),
("intersect by ','year", -5.539955500498411),
("Holika Dahanyear", -5.945420608606575),
("on <date><time-of-day> o'clock", -6.638567789166521),
("exactly <time-of-day>tomorrow", -6.233102681058356),
("Jumu'atul-Widayear", -5.722277057292366),
("mm/dd<time-of-day> o'clock", -6.638567789166521),
("monthhour", -6.233102681058356),
("on <date>between <datetime> and <datetime> (interval)",
-6.2285110035911835),
("last <day-of-week> of <time>year", -6.633976111699347),
("hourmonth", -6.2285110035911835),
("Krishna Janmashtamiyear", -6.2285110035911835),
("todayat <time-of-day>", -5.940828931139402),
("Guru Gobind Singh Jayantiyear", -6.633976111699347),
("mm/ddabout <time-of-day>", -6.2285110035911835),
-6.233102681058356),
("last <day-of-week> of <time>year", -6.638567789166521),
("hourmonth", -6.233102681058356),
("Krishna Janmashtamiyear", -6.233102681058356),
("todayat <time-of-day>", -5.945420608606575),
("Guru Gobind Singh Jayantiyear", -6.638567789166521),
("mm/ddabout <time-of-day>", -6.233102681058356),
("Donnerstagfrom <datetime> - <datetime> (interval)",
-5.717685379825192),
("<day-of-month> (ordinal)Mai", -6.633976111699347),
-5.722277057292366),
("<day-of-month> (ordinal)Mai", -6.638567789166521),
("on <date>between <time-of-day> and <time-of-day> (interval)",
-6.2285110035911835),
("Christi Himmelfahrtyear", -5.940828931139402),
("on <date>at <time-of-day>", -6.2285110035911835),
("dayday", -3.455922281351402),
("<time> <part-of-day>at <time-of-day>", -6.2285110035911835),
("Thai Pongalyear", -5.717685379825192),
("Thiru Onamyear", -5.940828931139402),
("Maulid an-Nab\299year", -6.2285110035911835),
("Vijayadashamiyear", -6.2285110035911835),
("about <time-of-day>on <date>", -6.633976111699347),
-6.233102681058356),
("Christi Himmelfahrtyear", -5.945420608606575),
("on <date>at <time-of-day>", -6.233102681058356),
("dayday", -3.460513958818575),
("<time> <part-of-day>at <time-of-day>", -6.233102681058356),
("Thai Pongalyear", -5.722277057292366),
("Thiru Onamyear", -5.945420608606575),
("Maulid an-Nab\299year", -6.233102681058356),
("Vijayadashamiyear", -6.233102681058356),
("about <time-of-day>on <date>", -6.638567789166521),
("<hour-of-day> <integer> (as relative minutes)in|during the <part-of-day>",
-6.2285110035911835),
("<day-of-month> (ordinal)intersect", -5.38121314320398),
("hourhour", -4.1082474673910925),
("hh:mmintersect by ','", -5.38121314320398),
-6.233102681058356),
("<day-of-month> (ordinal)intersect", -5.385804820671153),
("hourhour", -4.112839144858265),
("hh:mmintersect by ','", -5.385804820671153),
("Donnerstagfrom <time-of-day> - <time-of-day> (interval)",
-5.38121314320398),
("Dienstagthis <cycle>", -6.633976111699347),
("<part-of-day> of <time>Februar", -6.2285110035911835),
("Raksha Bandhanyear", -6.633976111699347),
("Tu biSchevatyear", -6.2285110035911835),
("dayyear", -1.8381855661026065),
("Eid al-Adhayear", -4.493909948203076),
("Orthodoxer Palmsonntagyear", -6.633976111699347),
("K\246nigstagyear", -5.940828931139402),
("Mittwochthis <cycle>", -6.633976111699347),
("Jom HaShoahyear", -5.717685379825192),
("Lag BaOmeryear", -6.2285110035911835),
-5.385804820671153),
("Dienstagthis <cycle>", -6.638567789166521),
("<part-of-day> of <time>Februar", -6.233102681058356),
("Raksha Bandhanyear", -6.638567789166521),
("Tu biSchevatyear", -6.233102681058356),
("dayyear", -1.8427772435697796),
("Eid al-Adhayear", -4.49850162567025),
("Orthodoxer Palmsonntagyear", -6.638567789166521),
("K\246nigstagyear", -5.945420608606575),
("Mittwochthis <cycle>", -6.638567789166521),
("Jom HaShoahyear", -5.722277057292366),
("Lag BaOmeryear", -6.233102681058356),
("<time-of-day> o'clockin|during the <part-of-day>",
-5.535363823031238),
("Guru Ravidass Jayantiyear", -5.535363823031238),
("tomorrow<time-of-day> o'clock", -6.633976111699347),
("<time-of-day> o'clocktomorrow", -5.940828931139402),
("Jom Ha'atzmautyear", -5.940828931139402),
-5.539955500498411),
("Guru Ravidass Jayantiyear", -5.539955500498411),
("tomorrow<time-of-day> o'clock", -6.233102681058356),
("<time-of-day> o'clocktomorrow", -5.945420608606575),
("Jom Ha'atzmautyear", -5.945420608606575),
("<day-of-month>(ordinal) <named-month>year",
-5.940828931139402),
-5.945420608606575),
("half <integer> (german style hour-of-day)after lunch",
-6.633976111699347),
("Pargat Diwasyear", -5.717685379825192),
-6.638567789166521),
("Pargat Diwasyear", -5.722277057292366),
("absorption of , after named day<day-of-month>(ordinal) <named-month>",
-5.38121314320398),
("Rabindra Jayantiyear", -5.717685379825192),
("hourminute", -5.940828931139402),
("the <day-of-month> (ordinal)Juli", -6.633976111699347),
("Ostermontagyear", -6.633976111699347),
("Fastenzeityear", -6.633976111699347),
-5.385804820671153),
("Rabindra Jayantiyear", -5.722277057292366),
("hourminute", -5.945420608606575),
("the <day-of-month> (ordinal)Juli", -6.638567789166521),
("Ostermontagyear", -6.638567789166521),
("Fastenzeityear", -6.638567789166521),
("on <date><day-of-month>(ordinal) <named-month>",
-6.2285110035911835),
("minutemonth", -4.1082474673910925),
("minutehour", -4.382684313092852),
("Maha Navamiyear", -6.633976111699347),
("Simchat Torahyear", -6.633976111699347),
-6.233102681058356),
("minutemonth", -4.112839144858265),
("minutehour", -4.387275990560026),
("Maha Navamiyear", -6.638567789166521),
("Simchat Torahyear", -6.638567789166521),
("at <time-of-day>in|during the <part-of-day>",
-5.717685379825192),
("Palmsonntagyear", -6.633976111699347),
-5.722277057292366),
("Palmsonntagyear", -6.638567789166521),
("absorption of , after named day<day-of-month>(ordinal) <named-month> year",
-6.2285110035911835),
-6.233102681058356),
("absorption of , after named day<named-month> <day-of-month> (non ordinal)",
-5.535363823031238),
("Kaanum Pongalyear", -6.2285110035911835),
("Maha Saptamiyear", -6.633976111699347),
-5.539955500498411),
("Kaanum Pongalyear", -6.233102681058356),
("Maha Saptamiyear", -6.638567789166521),
("<day-of-month>(ordinal) <named-month> year<time> <part-of-day>",
-6.633976111699347),
-6.638567789166521),
("<hour-of-day> <integer> (as relative minutes)after lunch",
-6.633976111699347),
("Donnerstag<time> timezone", -6.2285110035911835),
("on <date>Dezember", -6.633976111699347),
("Parsi Neujahryear", -5.717685379825192),
("Corpus Christiyear", -6.2285110035911835),
("Samstagat <time-of-day>", -6.2285110035911835),
-6.638567789166521),
("Donnerstag<time> timezone", -6.233102681058356),
("on <date>Dezember", -6.638567789166521),
("Parsi Neujahryear", -5.722277057292366),
("Corpus Christiyear", -6.233102681058356),
("Samstagat <time-of-day>", -6.233102681058356),
("intersect<day-of-month>(ordinal) <named-month>",
-5.38121314320398),
("Orthodoxer Ostermontagyear", -6.633976111699347),
-5.385804820671153),
("Orthodoxer Ostermontagyear", -6.638567789166521),
("this <part-of-day><time-of-day> o'clock",
-6.633976111699347),
-6.638567789166521),
("<day-of-month>(ordinal) <named-month>intersect",
-6.633976111699347),
("hh:mmintersect", -4.191629076330143),
("Fastnachtyear", -5.940828931139402),
("Donnerstaghh:mm", -6.633976111699347),
("Weihnachtenyear", -6.633976111699347),
("<day-of-month> (ordinal)Juli", -5.940828931139402),
("Dayananda Saraswati Jayantiyear", -6.633976111699347),
("Orthodoxer Karfreitagyear", -6.633976111699347),
("Chanukkayear", -6.2285110035911835),
("intersect by ','intersect", -5.38121314320398),
("intersect by 'of', 'from', 'sJuli", -6.633976111699347),
-6.638567789166521),
("hh:mmintersect", -4.196220753797316),
("Fastnachtyear", -5.945420608606575),
("Donnerstaghh:mm", -6.638567789166521),
("Weihnachtenyear", -6.638567789166521),
("<day-of-month> (ordinal)Juli", -5.945420608606575),
("Dayananda Saraswati Jayantiyear", -6.638567789166521),
("Orthodoxer Karfreitagyear", -6.638567789166521),
("Chanukkayear", -6.233102681058356),
("intersect by ','intersect", -5.385804820671153),
("intersect by 'of', 'from', 'sJuli", -6.638567789166521),
("half <integer> (german style hour-of-day)in|during the <part-of-day>",
-6.2285110035911835),
("Mahavir Jayantiyear", -6.2285110035911835),
-6.233102681058356),
("Mahavir Jayantiyear", -6.233102681058356),
("from <datetime> - <datetime> (interval)year",
-5.940828931139402),
("at <time-of-day>intersect", -4.842216642471293),
-5.945420608606575),
("at <time-of-day>intersect", -4.846808319938465),
("on <date>from <time-of-day> - <time-of-day> (interval)",
-5.717685379825192),
-5.722277057292366),
("<time> <part-of-day>from <time-of-day> - <time-of-day> (interval)",
-6.633976111699347),
-6.638567789166521),
("absorption of , after named day<day-of-month> (ordinal)",
-5.38121314320398),
-5.385804820671153),
("Donnerstagbetween <time-of-day> and <time-of-day> (interval)",
-6.2285110035911835),
("Dreifaltigkeitssonntagyear", -5.717685379825192),
("Tisha B'Avyear", -6.633976111699347),
("the <day-of-month> (ordinal)Dezember", -6.633976111699347),
("dayminute", -3.861387389459566),
-6.233102681058356),
("Dreifaltigkeitssonntagyear", -5.722277057292366),
("Tisha B'Avyear", -6.638567789166521),
("the <day-of-month> (ordinal)Dezember", -6.638567789166521),
("dayminute", -3.865979066926739),
("on <date>from <datetime> - <datetime> (interval)",
-6.2285110035911835),
("Maiyear", -6.633976111699347),
("Mittwochnext <cycle>", -6.633976111699347),
-6.233102681058356),
("Maiyear", -6.638567789166521),
("Mittwochnext <cycle>", -6.638567789166521),
("Donnerstagbetween <datetime> and <datetime> (interval)",
-6.2285110035911835),
-6.233102681058356),
("<time> <part-of-day>from <datetime> - <datetime> (interval)",
-6.633976111699347),
("intersectyear", -4.762173934797756),
("on <date>intersect", -6.2285110035911835),
("on <date><day-of-month> (ordinal)", -6.2285110035911835),
("intersectSeptember", -3.994918782084089),
("<ordinal> <cycle> of <time>year", -6.633976111699347),
("minuteday", -2.7838285099892888),
("absorption of , after named dayintersect",
-4.236080838900977),
("intersect by ','September", -5.247681750579457),
("year<time-of-day> o'clock", -6.633976111699347),
("Juliyear", -6.2285110035911835),
("at <time-of-day>intersect by ','", -5.940828931139402),
("hh:mmabsorption of , after named day", -6.2285110035911835),
("Earth Houryear", -6.2285110035911835),
("intersect by ','<time> <part-of-day>", -5.717685379825192),
("Karfreitagyear", -5.940828931139402),
("Chinesisches Neujahryear", -6.633976111699347),
("Gr\252ndonnerstagyear", -5.535363823031238),
("hh:mmon <date>", -4.191629076330143),
("Pfingstenyear", -6.2285110035911835),
("Mattu Pongalyear", -6.633976111699347),
("Rosch haSchanayear", -5.940828931139402),
-6.638567789166521),
("intersectyear", -4.766765612264929),
("on <date>intersect", -6.233102681058356),
("on <date><day-of-month> (ordinal)", -6.233102681058356),
("intersectSeptember", -3.999510459551262),
("<ordinal> <cycle> of <time>year", -6.638567789166521),
("minuteday", -2.788420187456462),
("absorption of , after named dayintersect", -4.24067251636815),
("intersect by ','September", -5.25227342804663),
("year<time-of-day> o'clock", -6.638567789166521),
("Juliyear", -6.233102681058356),
("at <time-of-day>intersect by ','", -5.945420608606575),
("hh:mmabsorption of , after named day", -6.233102681058356),
("Earth Houryear", -6.233102681058356),
("intersect by ','<time> <part-of-day>", -5.722277057292366),
("Karfreitagyear", -5.945420608606575),
("Chinesisches Neujahryear", -6.638567789166521),
("Gr\252ndonnerstagyear", -5.539955500498411),
("hh:mmon <date>", -4.196220753797316),
("Pfingstenyear", -6.233102681058356),
("Mattu Pongalyear", -6.638567789166521),
("Rosch haSchanayear", -5.945420608606575),
("at <time-of-day>absorption of , after named day",
-6.633976111699347),
("until <time-of-day>after lunch", -6.633976111699347),
("Pfingstmontagyear", -6.2285110035911835),
("mm/ddyear", -6.2285110035911835),
("intersect by ','<time-of-day> o'clock", -5.717685379825192),
("intersect<day-of-month> (ordinal)", -5.38121314320398),
("absorption of , after named daymm/dd", -6.633976111699347),
("on <date>September", -5.717685379825192),
("Septemberyear", -6.2285110035911835),
-6.638567789166521),
("until <time-of-day>after lunch", -6.638567789166521),
("Pfingstmontagyear", -6.233102681058356),
("mm/ddyear", -6.233102681058356),
("intersect by ','<time-of-day> o'clock", -5.722277057292366),
("intersect<day-of-month> (ordinal)", -5.385804820671153),
("absorption of , after named daymm/dd", -6.638567789166521),
("on <date>September", -5.722277057292366),
("Septemberyear", -6.233102681058356),
("<day-of-month> (ordinal)intersect by 'of', 'from', 's",
-5.940828931139402),
("at <time-of-day>on <date>", -4.762173934797756),
("Pessachyear", -5.535363823031238),
("intersectintersect", -4.554534570019512),
("<day-of-month> (ordinal)Februar", -5.535363823031238),
("Aschurayear", -5.940828931139402),
("dayweek", -5.535363823031238),
("intersect by ','Juli", -5.940828931139402),
-5.945420608606575),
("at <time-of-day>on <date>", -4.766765612264929),
("Pessachyear", -5.539955500498411),
("intersectintersect", -4.5591262474866845),
("<day-of-month> (ordinal)Februar", -5.539955500498411),
("Aschurayear", -5.945420608606575),
("dayweek", -5.539955500498411),
("intersect by ','Juli", -5.945420608606575),
("absorption of , after named daythe <day-of-month> (ordinal)",
-6.633976111699347),
("weekyear", -6.2285110035911835),
("<day-of-month> (ordinal)Dezember", -5.535363823031238),
("hh:mmin|during the <part-of-day>", -5.717685379825192),
("Karva Chauthyear", -6.2285110035911835),
("Orthodoxer Karsamstagyear", -6.633976111699347),
("Navaratriyear", -6.2285110035911835),
("Maha Shivaratriyear", -6.633976111699347),
("Ramadanyear", -5.38121314320398),
("Marzyear", -6.633976111699347),
("Bhai Doojyear", -6.633976111699347),
("tomorrowat <time-of-day>", -6.2285110035911835),
-6.638567789166521),
("weekyear", -6.233102681058356),
("<day-of-month> (ordinal)Dezember", -5.539955500498411),
("hh:mmin|during the <part-of-day>", -5.722277057292366),
("Karva Chauthyear", -6.233102681058356),
("Orthodoxer Karsamstagyear", -6.638567789166521),
("Navaratriyear", -6.233102681058356),
("Maha Shivaratriyear", -6.638567789166521),
("Ramadanyear", -5.385804820671153),
("Marzyear", -6.638567789166521),
("Bhai Doojyear", -6.638567789166521),
("tomorrowat <time-of-day>", -6.233102681058356),
("<hour-of-day> <integer> (as relative minutes)on <date>",
-6.633976111699347),
("Eid al-Fitryear", -5.247681750579457),
-6.638567789166521),
("Eid al-Fitryear", -5.25227342804663),
("Donnerstag<time-of-day> - <time-of-day> (interval)",
-6.2285110035911835),
-6.233102681058356),
("Donnerstag<datetime> - <datetime> (interval)",
-6.633976111699347),
("Aschermittwochyear", -5.940828931139402),
("Lazarus-Samstagyear", -6.2285110035911835),
("Sonntaglast <cycle>", -6.633976111699347),
("at <time-of-day>tomorrow", -6.633976111699347),
("Ostersonntagyear", -6.633976111699347),
("Gro\223e Fastenzeityear", -6.633976111699347),
-6.638567789166521),
("Aschermittwochyear", -5.945420608606575),
("Lazarus-Samstagyear", -6.233102681058356),
("Sonntaglast <cycle>", -6.638567789166521),
("at <time-of-day>tomorrow", -6.638567789166521),
("Ostersonntagyear", -6.638567789166521),
("tomorrowabout <time-of-day>", -6.233102681058356),
("Gro\223e Fastenzeityear", -6.638567789166521),
("about <time-of-day>in|during the <part-of-day>",
-6.2285110035911835),
("Schmini Azeretyear", -5.940828931139402),
-6.233102681058356),
("Schmini Azeretyear", -5.945420608606575),
("half <integer> (german style hour-of-day)on <date>",
-6.633976111699347),
("this <part-of-day>at <time-of-day>", -6.2285110035911835),
("<datetime> - <datetime> (interval)Juli", -6.2285110035911835),
("Vaisakhiyear", -5.717685379825192),
("Diwaliyear", -5.940828931139402),
-6.638567789166521),
("this <part-of-day>at <time-of-day>", -6.233102681058356),
("<datetime> - <datetime> (interval)Juli", -6.233102681058356),
("Vaisakhiyear", -5.722277057292366),
("Diwaliyear", -5.945420608606575),
("after lunch<hour-of-day> <integer> (as relative minutes)",
-6.2285110035911835),
("<day-of-month> (ordinal)Marz", -6.633976111699347),
("last <cycle> of <time>year", -6.2285110035911835),
-6.233102681058356),
("<day-of-month> (ordinal)Marz", -6.638567789166521),
("last <cycle> of <time>year", -6.233102681058356),
("<named-month> <day-of-month> (non ordinal)year",
-6.633976111699347),
("minuteyear", -6.2285110035911835),
-6.638567789166521),
("minuteyear", -6.233102681058356),
("<day-of-month> (non ordinal) <named-month>year",
-6.633976111699347),
("Chhathyear", -5.940828931139402),
("Vasant Panchamiyear", -6.2285110035911835),
("Global Youth Service-Tagyear", -6.633976111699347),
("Karsamstagyear", -5.940828931139402)],
n = 639},
-6.638567789166521),
("Chhathyear", -5.945420608606575),
("Vasant Panchamiyear", -6.233102681058356),
("Global Youth Service-Tagyear", -6.638567789166521),
("Karsamstagyear", -5.945420608606575)],
n = 642},
koData =
ClassData{prior = -2.195834723047165, unseen = -6.0014148779611505,
ClassData{prior = -2.1999985042189447, unseen = -6.003887067106539,
likelihoods =
HashMap.fromList
[("absorption of , after named daythe <day-of-month> (non ordinal)",
-5.305789381386738),
("<datetime> - <datetime> (interval)year", -5.305789381386738),
("dayhour", -4.612642200826793),
("daymonth", -3.6010412891483123),
("monthyear", -5.305789381386738),
("yearhour", -5.305789381386738),
("after lunchat <time-of-day>", -4.9003242732785735),
("mm/dduntil <time-of-day>", -4.9003242732785735),
("until <time-of-day>year", -4.9003242732785735),
("<day-of-month> (ordinal)Dienstag", -4.9003242732785735),
("absorption of , after named dayFebruar", -4.207177092718628),
("Donnerstagyear", -4.612642200826793),
("on <date>Februar", -5.305789381386738),
("intersect by 'of', 'from', 'syear", -4.612642200826793),
("intersect<time> <part-of-day>", -5.305789381386738),
("<time-of-day> o'clockafter lunch", -5.305789381386738),
("<day-of-month> (ordinal)Mittwoch", -5.305789381386738),
("after lunch<time-of-day> o'clock", -5.305789381386738),
("Holiyear", -5.305789381386738),
("absorption of , after named dayhh:mm", -5.305789381386738),
-5.308267697401205),
("<datetime> - <datetime> (interval)year", -5.308267697401205),
("dayhour", -4.61512051684126),
("daymonth", -3.6035196051627794),
("monthyear", -5.308267697401205),
("yearhour", -5.308267697401205),
("after lunchat <time-of-day>", -4.9028025892930405),
("mm/dduntil <time-of-day>", -4.9028025892930405),
("until <time-of-day>year", -4.9028025892930405),
("<day-of-month> (ordinal)Dienstag", -4.9028025892930405),
("absorption of , after named dayFebruar", -4.209655408733095),
("Donnerstagyear", -4.61512051684126),
("on <date>Februar", -5.308267697401205),
("intersect by 'of', 'from', 'syear", -4.61512051684126),
("intersect<time> <part-of-day>", -5.308267697401205),
("<time-of-day> o'clockafter lunch", -5.308267697401205),
("<day-of-month> (ordinal)Mittwoch", -5.308267697401205),
("after lunch<time-of-day> o'clock", -5.308267697401205),
("Holiyear", -5.308267697401205),
("absorption of , after named dayhh:mm", -5.308267697401205),
("<time-of-day> o'clock<time> <part-of-day>",
-4.389498649512583),
("monthhour", -5.305789381386738),
("todayat <time-of-day>", -5.305789381386738),
("dayday", -3.9194950202668473),
("Thai Pongalyear", -4.612642200826793),
("hourhour", -3.8017119846104634),
("Donnerstagafter <time-of-day>", -5.305789381386738),
("dayyear", -2.2377364462531206),
("Ostermontagyear", -5.305789381386738),
("Fastenzeityear", -5.305789381386738),
("Palmsonntagyear", -5.305789381386738),
("Aprilyear", -5.305789381386738),
("Sonntagyear", -5.305789381386738),
("Montagyear", -4.612642200826793),
("Dienstagafter <time-of-day>", -5.305789381386738),
("Donnerstaghh:mm", -4.9003242732785735),
("<day-of-month> (ordinal)Juli", -4.9003242732785735),
("dayminute", -3.9194950202668473),
("until <time-of-day>Juli", -5.305789381386738),
("Karfreitagyear", -5.305789381386738),
("Freitagyear", -4.9003242732785735),
("year<time> <part-of-day>", -5.305789381386738),
("mm/ddyear", -3.8017119846104634),
("Neujahryear", -4.389498649512583),
-4.39197696552705),
("monthhour", -5.308267697401205),
("todayat <time-of-day>", -5.308267697401205),
("dayday", -3.9219733362813143),
("Thai Pongalyear", -4.61512051684126),
("hourhour", -3.804190300624931),
("Donnerstagafter <time-of-day>", -5.308267697401205),
("dayyear", -2.2402147622675876),
("Ostermontagyear", -5.308267697401205),
("Fastenzeityear", -5.308267697401205),
("Palmsonntagyear", -5.308267697401205),
("Aprilyear", -5.308267697401205),
("Sonntagyear", -5.308267697401205),
("Montagyear", -4.61512051684126),
("Dienstagafter <time-of-day>", -5.308267697401205),
("Donnerstaghh:mm", -4.9028025892930405),
("<day-of-month> (ordinal)Juli", -4.9028025892930405),
("dayminute", -3.9219733362813143),
("until <time-of-day>Juli", -5.308267697401205),
("Karfreitagyear", -5.308267697401205),
("Freitagyear", -4.9028025892930405),
("year<time> <part-of-day>", -5.308267697401205),
("mm/ddyear", -3.804190300624931),
("Neujahryear", -4.39197696552705),
("<day-of-month> (ordinal)intersect by 'of', 'from', 's",
-4.9003242732785735),
("Donnerstag<part-of-day> of <time>", -5.305789381386738),
("<day-of-month> (ordinal)April", -5.305789381386738),
("Ostersonntagyear", -5.305789381386738),
("after <time-of-day>year", -5.305789381386738),
("on <date>after <time-of-day>", -5.305789381386738),
("Diwaliyear", -5.305789381386738),
("tomorrownoon", -5.305789381386738),
("Samstagyear", -4.612642200826793),
("Karsamstagyear", -5.305789381386738)],
-4.9028025892930405),
("Donnerstag<part-of-day> of <time>", -5.308267697401205),
("<day-of-month> (ordinal)April", -5.308267697401205),
("Ostersonntagyear", -5.308267697401205),
("after <time-of-day>year", -5.308267697401205),
("on <date>after <time-of-day>", -5.308267697401205),
("Diwaliyear", -5.308267697401205),
("tomorrownoon", -5.308267697401205),
("Samstagyear", -4.61512051684126),
("Karsamstagyear", -5.308267697401205)],
n = 80}}),
("<ordinal> <cycle> of <time>",
Classifier{okData =
@ -1388,11 +1404,11 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("tomorrow",
Classifier{okData =
ClassData{prior = -0.13353139262452263,
unseen = -2.1972245773362196,
likelihoods = HashMap.fromList [("", 0.0)], n = 7},
ClassData{prior = -0.11778303565638351,
unseen = -2.3025850929940455,
likelihoods = HashMap.fromList [("", 0.0)], n = 8},
koData =
ClassData{prior = -2.0794415416798357,
ClassData{prior = -2.1972245773362196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("Simchat Torah",
@ -1542,32 +1558,33 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("about <time-of-day>",
Classifier{okData =
ClassData{prior = -6.899287148695143e-2,
unseen = -3.4657359027997265,
ClassData{prior = -1.626052087178029e-2,
unseen = -4.852030263919617,
likelihoods =
HashMap.fromList
[("<time-of-day> o'clock", -1.3545456628053103),
("time-of-day (latent)", -1.3545456628053103),
("hour", -0.7259370033829361)],
n = 14},
[("at <time-of-day>", -2.646962509122372),
("<time-of-day> o'clock", -1.5860905484371093),
("about <time-of-day>", -2.2792377289970545),
("time-of-day (latent)", -2.010973742402375),
("hour", -0.7170527014134996)],
n = 61},
koData =
ClassData{prior = -2.70805020110221, unseen = -1.791759469228055,
ClassData{prior = -4.127134385045092, unseen = -2.0794415416798357,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
[("time-of-day (latent)", -1.252762968495368),
("hour", -1.252762968495368)],
n = 1}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.25704510298989114,
unseen = -4.110873864173311,
ClassData{prior = -0.21197025071608455, unseen = -4.31748811353631,
likelihoods =
HashMap.fromList
[("integer (numeric)", -8.701137698962981e-2),
("integer (0..19)", -2.4849066497880004)],
n = 58},
[("integer (numeric)", -6.995858860691034e-2),
("integer (0..19)", -2.6946271807700692)],
n = 72},
koData =
ClassData{prior = -1.4842747694800944, unseen = -2.995732273553991,
ClassData{prior = -1.6554230256759237, unseen = -2.995732273553991,
likelihoods =
HashMap.fromList
[("integer (numeric)", -0.17185025692665928),

View File

@ -270,11 +270,24 @@ allExamples = concat
]
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
[ "zirka 15 uhr"
, "circa 15 uhr"
, "um circa 15 uhr"
, "zirka 3 uhr am nachmittag"
, "um ungefähr 15 uhr"
, "gegen 15 uhr"
, "ca. 15h"
, "ca. um 15 uhr"
, "um ca 15h"
, "so gegen 15 uhr"
, "so um 15 uhr"
, "etwa um 15 uhr"
, "so ungefähr um 15 uhr"
, "etwa gegen 15 uhr"
, "gegen 15 uhr"
, "ungefähr um 15 uhr"
, "ungefähr gegen 15 uhr"
, "so circa um 15 uhr"
, "15 uhr in etwa"
]
, examples (datetime (2013, 4, 1, 18, 0, 0) Hour)
[ "01.04. gegen 18Uhr"
@ -593,6 +606,7 @@ allExamples = concat
]
, examples (datetime (2013, 2, 13, 15, 0, 0) Hour)
[ "morgen um 15 Uhr"
, "morgen so um 15 Uhr"
]
, examples (datetimeOpenInterval After (2013, 2, 12, 14, 0, 0) Hour)
[ "nach 14 Uhr"

View File

@ -712,7 +712,7 @@ ruleTimeofdayApproximately = Rule
{ name = "<time-of-day> approximately"
, pattern =
[ Predicate isATimeOfDay
, regex "(um )?zirka|ungef(ä)hr|etwa"
, regex "ca\\.?|circa|zirka|ungef(ä)hr|(in )?etwa"
]
, prod = \tokens -> case tokens of
(Token Time td:_) -> tt $ notLatent td
@ -1103,7 +1103,7 @@ ruleAboutTimeofday :: Rule
ruleAboutTimeofday = Rule
{ name = "about <time-of-day>"
, pattern =
[ regex "(um )?zirka|ca\\.?|ungef(ä)hr|etwa|gegen"
[ regex "so( um)?|(so |um |so um )?circa|zirka|ca\\.?|ungef(ä)hr|(etwa|gegen)( so| um| so um)?"
, Predicate isATimeOfDay
]
, prod = \tokens -> case tokens of