I am using JSON
format data as training data. Simple things are working correctly.
Now I want to extract the date part from the data and I would like to use regex for that and I don’t want to hardcode all dates in training data.
Is this possible using regex? If possible, how?
config_spacy.json
{
"backend": "spacy_sklearn",
"path" : "./",
"data" : "data/sitebot-data.json",
"num_threads":100,
"pipeline":"pretrained_embeddings_spacy"
}
Ex. If the user enter “Show me something happening on 11-12-2018” then I should be abele to extract 11-12-2018.
Any help would be greatly appreciated.
Thanks.
rctatman
(Rachael Tatman )
June 22, 2020, 8:43pm
2
You could build this by hand if you really needed to, but it would be way easier to use Duckling to extract your dates for you. Here’s the bit in the docs that tells you how to add it to your assistant.
2 Likes
@mayur091193 You can use Duckling or python DateTime package to validate your date value according to your requirements.
I hope It will help you
def validate_date(
self,
value: Text,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any],
) -> Optional[Text]:
"""Validate date value."""
#text = '2nd aug 2020'
try:
date = d.parse_time(value)
Ducklingvalue = date[0]['value']['value']
from_date = Ducklingvalue[0:4]
current_text = 'today'
current_date = d.parse_time(current_text)
Current_date_Ducklingvalue = current_date[0]['value']['value']
current_year = Current_date_Ducklingvalue[0:4]
today = str(current_year)
count = abs(int(from_date)-int(today))
final_date=''
if count > 0 or count < 0:
final_date = today+Ducklingvalue[4:10]
else:
final_date = Ducklingvalue[0:10]
except Exception as e:
dispatcher.utter_message("Provide input in proper format. e.g. 17th sept.")
else:
return {'date': final_date}
1 Like