Duckling user see true value, not extractor value

I add duckling in my project and its works well. User typing date (I have slot date) (today, tommorow, next friday, …) and duckling find this “time” entity and set slot “date” from this entity: date: 2019-06-14T00:00:00.000+03:00 (today) date: 2019-06-15T00:00:00.000+03:00 (tommorow) … and so on. (this values will be send to the server to do some things) But if I want to show respons for user, I can show for him this value 2019-06-14T00:00:00.000+03:100, but I want that user see what he type.

In all, user typing date like “today”, “next monday”, duckling find them and set slot “date”, then bot send value from duckling to the server, and show for the user what he type “Value “today” will be send to the server”. So, I can do this thing with duckling?

@Vadimkatr are you currently using a slot placeholder (e.g. {date} in your utterance? What you can do is re-name it to e.g. {user_date} and then use dispatcher.utter_template("template_name", tracker, user_date=user_input) where user_input is a variable you can populate from the tracker (i.e from the duckling extracted entities, it will tell you what text got turned into that number).

You could also just use dispatcher.utter_message and fill in the information that way instead of using templates for this utterance.

erohmensing okey, thanks, I did it like this:

tracker.latest_message['entities'] - return list of two dict from two EntityExtractors (CRFEntityExtractor and DucklingHTTPExtractor) and there I can get text that turned into date. Its work, but now I have another question:

Why CRFEntityExtractor works with this entity? Maybe I should leave only DucklingHTTPExtractor, or its fine that they both find this entity?

CRFEntityExtractor works because you have the data labelled. You should leave in the entity extractor in your pipeline because I’m sure you use it for other entities, but should get rid of the labelling for those entities that you’ve picked up via duckling.

Hm, I know how to set what entitys get for duckling extractor:

- name: "DucklingHTTPExtractor"
    url: "http://localhost:8000"
    dimensions: ["time"]

but where set entitye for CRFEntityExtractor ? (please, can you tell me : ))

What does your NLU data for this intent look like?

intent: find_room

- find a room for [today](time)
- find a room for [today from 10 00 to 11 00](time) on the [10th](floor) floor
- find a room on the [8th](floor) floor

Okay, so this data is what tells your CRFEntityExactor what to pick up. I would recommend removing any instances of the entity time in your domain and NLU files (same for any other entity picked up by duckling)

So e.g. the intent data would just be

# intent: find_room 
- find a room for today
- find a room for today from 10 00 to 11 00 on the [10th](floor) floor
- find a room on the [8th](floor) floor