I have a text string containing unstructured data and I would like to analyze it in order to extract structured information. In particular, this text string specifies when a service is operational (the days and the hours). This text string may be written in different ways:
- a list containing one or more day names;
- hours may be written next to the names of the days to which they refer;
- the string may contain one or more range of days (each range of days could have a certain range of hours);
- the name of the days may not be present, and in this case it could be replaced by "every day" or the words "workdays" or by "holidays";
What approach could I use to be able to extract structured information from such a text string? Are there specific algorithms to achieve this purpose? Should I use a classifier (artificial neural networks, random forests, etc.)?