Hi, I'm new to TOD task, trying to reproduce the results on the multiwoz dataset. I found your project is perfect to follow, so I used tour dataset and evaluation script.
Specifically, I tried to use BART-base to reproduce E2E multiwoz, built the E2E dataset according to the flatten_data
function of dataclass.py
, and then used my own BART and training modules to train. Then generate it according to batch_generate
of inference_utlis.py
, and use eval.py
for evaluation.
The final evaluation results are as follows:
BLEU: 18.27 Success: 28.90 Inform: 78.40
Then I also used your T5-small without multi-task learning for training and the result is:
BLEU: 18.03 Success: 75.85 Inform: 83.17
It can be seen that BLEU and Inform are basically the same, but there is a big gap in Success. What do you think may be the problem?
I know this is out of the scope of an issue, you can ignore it if is it not convenient. Thank you very much!
Here are partial generated results (the first two dialogues) from my BART:
[
{
"aspn": "[taxi] [request] leave arrive",
"aspn_gen": "[taxi] [request] arrive",
"aspn_reform": "[taxi] [request] leave arrive",
"bsdx": "[taxi] destination departure",
"bsdx_reform": "[taxi] destination , departure",
"bspn": "[taxi] destination pizza hut fen ditton departure saint john 's college",
"bspn_gen": "[taxi] destination pizza hut fen ditton departure saint johns college",
"bspn_reform": "[taxi] destination is pizza hut fen ditton , departure is saint john 's college",
"db": "[db_nores]",
"dial_id": "sng0073",
"dspn": "[taxi]",
"pointer": "",
"resp": "what time do you want to leave and what time do you want to arrive by ?",
"resp_gen": "i would be happy to help with your request , what time would you like to leave ?",
"turn_domain": [
"[taxi]"
],
"turn_num": 0,
"usdx": "i would like a taxi from saint john 's college to pizza hut fen ditton .",
"user": "i would like a taxi from saint john 's college to pizza hut fen ditton ."
},
{
"aspn": "[taxi] [inform] car phone",
"aspn_gen": "[taxi] [inform] car",
"aspn_reform": "[taxi] [inform] car phone",
"bsdx": "[taxi] destination departure leave",
"bsdx_reform": "[taxi] destination , departure , leave",
"bspn": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_gen": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_reform": "[taxi] destination is pizza hut fen ditton , departure is saint john 's college , leave is 17:15",
"db": "[db_nores]",
"dial_id": "sng0073",
"dspn": "[taxi]",
"pointer": "",
"resp": "booking completed ! your taxi will be [value_car] contact number is [value_phone]",
"resp_gen": "booking completed ! booked car type : [value_car] contact number : [_phone]",
"turn_domain": [
"[taxi]"
],
"turn_num": 1,
"usdx": "i want to leave after 17:15 .",
"user": "i want to leave after 17:15 ."
},
{
"aspn": "[general] [reqmore]",
"aspn_gen": "[general] [reqmore]",
"aspn_reform": "[general] [reqmore]",
"bsdx": "[taxi] destination departure leave",
"bsdx_reform": "[taxi] destination , departure , leave",
"bspn": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_gen": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_reform": "[taxi] destination is pizza hut fen ditton , departure is saint john 's college , leave is 17:15",
"db": "[db_nores]",
"dial_id": "sng0073",
"dspn": "[general]",
"pointer": "",
"resp": "you are welcome . is there anything else i can help you with today ?",
"resp_gen": "you are welcome . is there anything else i can help you with ?",
"turn_domain": [
"[general]"
],
"turn_num": 2,
"usdx": "thank you for all the help ! i appreciate it .",
"user": "thank you for all the help ! i appreciate it ."
},
{
"aspn": "[general] [bye]",
"aspn_gen": "[general] [bye]",
"aspn_reform": "[general] [bye]",
"bsdx": "[taxi] destination departure leave",
"bsdx_reform": "[taxi] destination , departure , leave",
"bspn": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_gen": "[taxi] destination pizza hut fen ditton departure saint john 's college leave 17:15",
"bspn_reform": "[taxi] destination is pizza hut fen ditton , departure is saint john 's college , leave is 17:15",
"db": "[db_nores]",
"dial_id": "sng0073",
"dspn": "[general]",
"pointer": "",
"resp": "you too ! thank you",
"resp_gen": "thank you for using our services .",
"turn_domain": [
"[general]"
],
"turn_num": 3,
"usdx": "no , i am all set . have a nice day . bye .",
"user": "no , i am all set . have a nice day . bye ."
},
{
"aspn": "[restaurant] [nooffer] name [request] food",
"aspn_gen": "[restaurant] [inform] food price area name",
"aspn_reform": "[restaurant] [nooffer] name [request] food",
"bsdx": "",
"bsdx_reform": "",
"bspn": "",
"bspn_gen": "[restaurant] name nusha",
"bspn_reform": "",
"db": "[db_nores]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "",
"resp": "i do n't seem to be finding anything called [value_name] . what type of food does the restaurant serve ?",
"resp_gen": "[value_name] is a [value_food] restaurant in the [valuevalue_area] . would you like to make a reservation ?",
"turn_domain": [
"[restaurant]"
],
"turn_num": 0,
"usdx": "please find a restaurant called nusha .",
"user": "please find a restaurant called nusha ."
},
{
"aspn": "[restaurant] [inform] name [request] name",
"aspn_gen": "[restaurant] [inform] price name food",
"aspn_reform": "[restaurant] [inform] name [request] name",
"bsdx": "",
"bsdx_reform": "",
"bspn": "",
"bspn_gen": "[restaurant] name nusha",
"bspn_reform": "",
"db": "[db_nores]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "",
"resp": "could you double check that you have spelled the name correctly ? the closest i can find is [value_name] .",
"resp_gen": "[value_name] serves [value_food] food .",
"turn_domain": [
"[restaurant]"
],
"turn_num": 1,
"usdx": "i am not sure of the type of food but could you please check again and see if you can find it ? thank you .",
"user": "i am not sure of the type of food but could you please check again and see if you can find it ? thank you ."
},
{
"aspn": "[attraction] [inform] type address area [general] [reqmore]",
"aspn_gen": "[general] [reqmore]",
"aspn_reform": "[attraction] [inform] type address area [general] [reqmore]",
"bsdx": "[attraction] name",
"bsdx_reform": "[attraction] name",
"bspn": "[attraction] name nusha",
"bspn_gen": "[restaurant] name nusha food do n't care",
"bspn_reform": "[attraction] name is nusha",
"db": "[db_1]",
"dial_id": "pmul4648",
"dspn": "[attraction]",
"pointer": "attraction: 1; ",
"resp": "oh its okay . that is an [value_type] type located in the [value_area] at [value_address] . do you need their phone number ?",
"resp_gen": "is there anything else i can help you with today ?",
"turn_domain": [
"[attraction]"
],
"turn_num": 2,
"usdx": "it is not a restaurant , it is an attraction . nusha .",
"user": "it is not a restaurant , it is an attraction . nusha ."
},
{
"aspn": "[attraction] [inform] postcode address [general] [reqmore]",
"aspn_gen": "[attraction] [inform] postcode address",
"aspn_reform": "[attraction] [inform] postcode address [general] [reqmore]",
"bsdx": "[attraction] name",
"bsdx_reform": "[attraction] name",
"bspn": "[attraction] name nusha",
"bspn_gen": "[attraction] name nusha [restaurant] name do n't care",
"bspn_reform": "[attraction] name is nusha",
"db": "[db_1]",
"dial_id": "pmul4648",
"dspn": "[attraction]",
"pointer": "attraction: 1; ",
"resp": "their address is [value_address] the postcode is [value_postcode] . is their anything else i can do for you ?",
"resp_gen": "[value_name] is located at [value_address] and their postcode is [value] . can i help you with anything else ?",
"turn_domain": [
"[attraction]"
],
"turn_num": 3,
"usdx": "no , but please confirm their address again and their postcode .",
"user": "no , but please confirm their address again and their postcode ."
},
{
"aspn": "[restaurant] [inform] food area choice [request] price",
"aspn_gen": "[restaurant] [inform] choice [request] price",
"aspn_reform": "[restaurant] [inform] food area choice [request] price",
"bsdx": "[attraction] name [restaurant] food area",
"bsdx_reform": "[attraction] name [restaurant] food , area",
"bspn": "[attraction] name nusha [restaurant] food indian area centre",
"bspn_gen": "[attraction] name nusha [restaurant] name do n't care area centre food indian",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre",
"db": "[db_3]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "restaurant: >3; ",
"resp": "there are [value_choice] [value_food] restaurant -s in [value_area] what price range do you want ?",
"resp_gen": "there are [value_choice] restaurant -s that meet your criteria . do you have a price range in mind ?",
"turn_domain": [
"[restaurant]"
],
"turn_num": 4,
"usdx": "i want indian food in the center area .",
"user": "i want indian food in the center area ."
},
{
"aspn": "[restaurant] [inform] price food name",
"aspn_gen": "[restaurant] [recommend] name [offerbook]",
"aspn_reform": "[restaurant] [inform] price food name",
"bsdx": "[attraction] name [restaurant] food area pricerange",
"bsdx_reform": "[attraction] name [restaurant] food , area , pricerange",
"bspn": "[attraction] name nusha [restaurant] food indian area centre pricerange expensive",
"bspn_gen": "[restaurant] name nusha food indian area centre pricerange expensive",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre , pricerange is expensive",
"db": "[db_3]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "restaurant: >3; ",
"resp": "[value_name] is an [value_price] restaurant that serves [value_food] food",
"resp_gen": "there are [value_choice] restaurant -s that meet your criteria . do you have a price range in mind ?",
"turn_domain": [
"[restaurant]"
],
"turn_num": 5,
"usdx": "i am looking for expensive indian food .",
"user": "i am looking for expensive indian food ."
},
{
"aspn": "[restaurant] [inform] address",
"aspn_gen": "[restaurant] [inform] address [general] [reqmore]",
"aspn_reform": "[restaurant] [inform] address",
"bsdx": "[attraction] name [restaurant] food area pricerange name",
"bsdx_reform": "[attraction] name [restaurant] food , area , pricerange , name",
"bspn": "[attraction] name nusha [restaurant] food indian area centre pricerange expensive name saffron brasserie",
"bspn_gen": "[restaurant] name nusha food indian area centre pricerange expensive",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre , pricerange is expensive , name is saffron brasserie",
"db": "[db_1]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "restaurant: 1; ",
"resp": "the address is [value_address]",
"resp_gen": "[value_name] is located at [value_address] .",
"turn_domain": [
"[restaurant]"
],
"turn_num": 6,
"usdx": "can i get the address for saffron brasserie ?",
"user": "can i get the address for saffron brasserie ?"
},
{
"aspn": "[restaurant] [inform] food name",
"aspn_gen": "[restaurant] [inform] food",
"aspn_reform": "[restaurant] [inform] food name",
"bsdx": "[attraction] name [restaurant] food area pricerange name",
"bsdx_reform": "[attraction] name [restaurant] food , area , pricerange , name",
"bspn": "[attraction] name nusha [restaurant] food indian area centre pricerange expensive name saffron brasserie",
"bspn_gen": "[restaurant] name nusha food indian area centre pricerange expensive",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre , pricerange is expensive , name is saffron brasserie",
"db": "[db_1]",
"dial_id": "pmul4648",
"dspn": "[restaurant]",
"pointer": "restaurant: 1; ",
"resp": "yes , [value_name] is [value_food] food .",
"resp_gen": "[value_name] serves [value_food] food .",
"turn_domain": [
"[restaurant]"
],
"turn_num": 7,
"usdx": "can i clarify that it was indian food and not italian food please ?",
"user": "can i clarify that it was indian food and not italian food please ?"
},
{
"aspn": "[general] [bye]",
"aspn_gen": "[general] [bye]",
"aspn_reform": "[general] [bye]",
"bsdx": "[attraction] name [restaurant] food area pricerange name",
"bsdx_reform": "[attraction] name [restaurant] food , area , pricerange , name",
"bspn": "[attraction] name nusha [restaurant] food indian area centre pricerange expensive name saffron brasserie",
"bspn_gen": "[restaurant] name nusha food indian area centre pricerange expensive",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre , pricerange is expensive , name is saffron brasserie",
"db": "[db_nores]",
"dial_id": "pmul4648",
"dspn": "[general]",
"pointer": "",
"resp": "i hope i have been of help",
"resp_gen": "thank you for contacting us and have a nice day .",
"turn_domain": [
"[general]"
],
"turn_num": 8,
"usdx": "thank you that is all the information i need at the moment .",
"user": "thank you that is all the information i need at the moment ."
},
{
"aspn": "[general] [bye]",
"aspn_gen": "[general] [bye]",
"aspn_reform": "[general] [bye]",
"bsdx": "[attraction] name [restaurant] food area pricerange name",
"bsdx_reform": "[attraction] name [restaurant] food , area , pricerange , name",
"bspn": "[attraction] name nusha [restaurant] food indian area centre pricerange expensive name saffron brasserie",
"bspn_gen": "[attraction] name nusha [restaurant] name do n't care area centre food indian pricerange expensive",
"bspn_reform": "[attraction] name is nusha [restaurant] food is indian , area is centre , pricerange is expensive , name is saffron brasserie",
"db": "[db_nores]",
"dial_id": "pmul4648",
"dspn": "[general]",
"pointer": "",
"resp": "i am glad to help . enjoy your stay !",
"resp_gen": "thank you for contacting us and have a nice day .",
"turn_domain": [
"[general]"
],
"turn_num": 9,
"usdx": "you have . thank you . goodbye .",
"user": "you have . thank you . goodbye ."
}
]