en_us_normalization.production.classify.TimeFst
- class en_us_normalization.production.classify.TimeFst[source]
Finite state transducer for classifying time. Slots to fill when time is parsed:
hours - 1-2 digit number
minutes - 1-2 digit number (optional)
suffix - abbreviation such as AM or PM (optional)
time zone - abbreviation at the end such as EST (optional)
Hours and minutes can be separated with “:” or “.”. At least one successor should (minutes, suffix or time zone) should help to classify digits as hours.
Examples of input/output strings:
12:30 a.m. est -> time { hours: “12” minutes: “30” suffix: “AM” zone: “EST” }
2.30 a.m. -> time { hours: “2” minutes: “30” suffix: “AM” }
02.30 a.m. -> time { hours: “2” minutes: “30” suffix: “AM” }
2.00 a.m. -> time { hours: “2” suffix: “AM” }
2 a.m. -> time { hours: “2” suffix: “AM” }
02:00 -> time { hours: “2” }
2:00 -> time { hours: “2” }