diff --git a/data/unified_datasets/sgd/data.zip b/data/unified_datasets/sgd/data.zip index e29e82d67d158b41122b9e0e7a90ffdf6607c370..fc2398bc94a0f0c39484df06714c13fd0cc4f6be 100644 Binary files a/data/unified_datasets/sgd/data.zip and b/data/unified_datasets/sgd/data.zip differ diff --git a/data/unified_datasets/sgd/preprocess.py b/data/unified_datasets/sgd/preprocess.py index 7122e4e5736150d97a0cd5fa3d3669a800dacc68..9c120e7e250bd009fa05435e0295e814e31f9a41 100644 --- a/data/unified_datasets/sgd/preprocess.py +++ b/data/unified_datasets/sgd/preprocess.py @@ -132,8 +132,12 @@ def preprocess(): dialogues = [] ontology = {'domains': {}, 'intents': get_intent(), - 'binary_dialogue_acts': set(), - 'state': {}} + 'state': {}, + 'dialogue_acts': { + "categorical": set(), + "non-categorical": set(), + "binary": set() + }} splits = ['train', 'validation', 'test'] dataset_name = 'sgd' for data_split in splits: @@ -332,17 +336,26 @@ def preprocess(): turn['service_call'][domain] = frame['service_call'] turn['db_results'][domain] = frame['service_results'] - for da in turn['dialogue_acts']['binary']: - da_tuple = (da['intent'], da['domain'], da['slot'], da['value'],) - if da_tuple not in ontology['binary_dialogue_acts']: - ontology['binary_dialogue_acts'].add(da_tuple) + # add to dialogue_acts dictionary in the ontology + for da_type in turn['dialogue_acts']: + das = turn['dialogue_acts'][da_type] + for da in das: + intent, domain, slot, value = da['intent'], da['domain'], da['slot'], da['value'] + if da_type == 'binary': + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot, value)) + else: + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot)) dialogue['turns'].append(turn) dialogues.append(dialogue) - ontology['binary_dialogue_acts'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(ontology['binary_dialogue_acts'])] + for da_type in ontology['dialogue_acts']: + if da_type == 'binary': + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3],'value':da[4]}) for da in sorted(ontology["dialogue_acts"][da_type])] + else: + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3]}) for da in sorted(ontology["dialogue_acts"][da_type])] json.dump(dialogues[:10], open(f'dummy_data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) - json.dump(dialogues, open(f'{new_data_dir}/dialogues.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) json.dump(ontology, open(f'{new_data_dir}/ontology.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) + json.dump(dialogues, open(f'{new_data_dir}/dialogues.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) with ZipFile('data.zip', 'w', ZIP_DEFLATED) as zf: for filename in os.listdir(new_data_dir): zf.write(f'{new_data_dir}/{filename}') diff --git a/data/unified_datasets/tm1/data.zip b/data/unified_datasets/tm1/data.zip index ba8262228f13571f91889e01f977ce10bf830f7e..d1f6a9c80a770c417892d9b5f188e5d9d46eb589 100644 Binary files a/data/unified_datasets/tm1/data.zip and b/data/unified_datasets/tm1/data.zip differ diff --git a/data/unified_datasets/tm1/preprocess.py b/data/unified_datasets/tm1/preprocess.py index 26eca3dd911268dba358456801f987adaec0bcea..5bb2956b186a92f40c65423886647770f070e9c7 100644 --- a/data/unified_datasets/tm1/preprocess.py +++ b/data/unified_datasets/tm1/preprocess.py @@ -149,8 +149,12 @@ def preprocess(): 'accept': {'description': 'accept the value of a slot or a transaction'}, 'reject': {'description': 'reject the value of a slot or a transaction'} }, - 'binary_dialogue_acts': set(), - 'state': {}} + 'state': {}, + 'dialogue_acts': { + "categorical": set(), + "non-categorical": set(), + "binary": set() + }} global descriptions ori_ontology = {} for _, item in json.load(open(os.path.join(original_data_dir, "TM-1-2019/ontology.json"))).items(): @@ -280,9 +284,16 @@ def preprocess(): for da in turn['dialogue_acts']['binary']: da_tuple = (da['intent'], da['domain'], da['slot'], da['value'],) bdas.add(da_tuple) - if da_tuple not in ontology['binary_dialogue_acts']: - ontology['binary_dialogue_acts'].add(da_tuple) turn['dialogue_acts']['binary'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(bdas)] + # add to dialogue_acts dictionary in the ontology + for da_type in turn['dialogue_acts']: + das = turn['dialogue_acts'][da_type] + for da in das: + intent, domain, slot, value = da['intent'], da['domain'], da['slot'], da['value'] + if da_type == 'binary': + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot, value)) + else: + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot)) for da in turn['dialogue_acts']['non-categorical']: slot, value = da['slot'], da['value'] @@ -299,7 +310,11 @@ def preprocess(): dialogue['turns'].append(turn) dialogues_by_split[data_split].append(dialogue) - ontology['binary_dialogue_acts'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(ontology['binary_dialogue_acts'])] + for da_type in ontology['dialogue_acts']: + if da_type == 'binary': + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3],'value':da[4]}) for da in sorted(ontology["dialogue_acts"][da_type])] + else: + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3]}) for da in sorted(ontology["dialogue_acts"][da_type])] dialogues = dialogues_by_split['train']+dialogues_by_split['validation']+dialogues_by_split['test'] json.dump(dialogues[:10], open(f'dummy_data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) json.dump(dialogues, open(f'{new_data_dir}/dialogues.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) diff --git a/data/unified_datasets/tm2/data.zip b/data/unified_datasets/tm2/data.zip index 306d209368279ea67bcc07789327063ef3a2c57a..e6b3a3ad77fa3ce405e3185ddce48299620624d7 100644 Binary files a/data/unified_datasets/tm2/data.zip and b/data/unified_datasets/tm2/data.zip differ diff --git a/data/unified_datasets/tm2/preprocess.py b/data/unified_datasets/tm2/preprocess.py index c650fa73ed72c2f061969cb1fdbede3ed3200f2e..fa2c9c376a082ad4043618e5e77334547be48a81 100644 --- a/data/unified_datasets/tm2/preprocess.py +++ b/data/unified_datasets/tm2/preprocess.py @@ -243,8 +243,12 @@ def preprocess(): 'intents': { 'inform': {'description': 'inform the value of a slot or general information.'} }, - 'binary_dialogue_acts': set(), - 'state': {}} + 'state': {}, + 'dialogue_acts': { + "categorical": set(), + "non-categorical": set(), + "binary": set() + }} global descriptions global anno2slot domains = ['flights', 'food-ordering', 'hotels', 'movies', 'music', 'restaurant-search', 'sports'] @@ -380,9 +384,16 @@ def preprocess(): for da in turn['dialogue_acts']['binary']: da_tuple = (da['intent'], da['domain'], da['slot'], da['value'],) bdas.add(da_tuple) - if da_tuple not in ontology['binary_dialogue_acts']: - ontology['binary_dialogue_acts'].add(da_tuple) turn['dialogue_acts']['binary'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(bdas)] + # add to dialogue_acts dictionary in the ontology + for da_type in turn['dialogue_acts']: + das = turn['dialogue_acts'][da_type] + for da in das: + intent, domain, slot, value = da['intent'], da['domain'], da['slot'], da['value'] + if da_type == 'binary': + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot, value)) + else: + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot)) for da in turn['dialogue_acts']['non-categorical']: slot, value = da['slot'], da['value'] @@ -397,7 +408,11 @@ def preprocess(): dialogue['turns'].append(turn) dialogues_by_split[data_split].append(dialogue) - ontology['binary_dialogue_acts'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(ontology['binary_dialogue_acts'])] + for da_type in ontology['dialogue_acts']: + if da_type == 'binary': + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3],'value':da[4]}) for da in sorted(ontology["dialogue_acts"][da_type])] + else: + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3]}) for da in sorted(ontology["dialogue_acts"][da_type])] dialogues = dialogues_by_split['train']+dialogues_by_split['validation']+dialogues_by_split['test'] json.dump(dialogues[:10], open(f'dummy_data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) json.dump(dialogues, open(f'{new_data_dir}/dialogues.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) diff --git a/data/unified_datasets/tm3/data.zip b/data/unified_datasets/tm3/data.zip index 21455efde30494a3396aaeedeca896e8e1599434..07f325ff146e69e0fcfaf4bc23570585b716760a 100644 Binary files a/data/unified_datasets/tm3/data.zip and b/data/unified_datasets/tm3/data.zip differ diff --git a/data/unified_datasets/tm3/dummy_data.json b/data/unified_datasets/tm3/dummy_data.json index 48fe1ae8c97e4f7ff625cc582532ce4e91453551..00420d1c2caa1a3fad7ab366b5bc8469fd863c54 100644 --- a/data/unified_datasets/tm3/dummy_data.json +++ b/data/unified_datasets/tm3/dummy_data.json @@ -3,7 +3,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-0", - "original_id": "dlg-9962109d-437b-4ed3-b037-980272a3bda1", + "original_id": "dlg-bca5ce0a-056f-446e-be94-3ba77b32a84f", "domains": [ "movie" ], @@ -15,18 +15,35 @@ "turns": [ { "speaker": "user", - "utterance": "I'd like to buy tickets for movie particularly on AMC Mercado 24.", + "utterance": "hi....am buying a ticket tonight so we go and see a movie at AMC mountain 16", "utt_idx": 0, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "date.showing", + "value": "tonight", + "start": 25, + "end": 32 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "AMC mountain 16", + "start": 61, + "end": 76 + } + ] }, "state": { "movie": { "name.movie": "", - "name.theater": "", - "date.showing": "", + "name.theater": "AMC mountain 16", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", @@ -59,32 +76,23 @@ }, { "speaker": "user", - "utterance": "I prefer to go for an action movie, Let me know the movie lists & show timings.", + "utterance": "hhhmmmmm not at all. i dont have any in mind for now", "utt_idx": 2, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "name.genre", - "value": "action", - "start": 22, - "end": 28 - } - ] + "non-categorical": [] }, "state": { "movie": { "name.movie": "", - "name.theater": "", - "date.showing": "", + "name.theater": "AMC mountain 16", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", "name.character": "", - "name.genre": "action", + "name.genre": "", "name.person": "", "num.tickets": "", "price.ticket": "", @@ -101,7 +109,7 @@ }, { "speaker": "system", - "utterance": "Sure. I can help with that. Let me check listings at AMC Mercado 24.", + "utterance": "Sure. I can help with that. Let me listings at AMC Mercado 24.", "utt_idx": 3, "dialogue_acts": { "binary": [], @@ -111,9 +119,9 @@ "intent": "inform", "domain": "movie", "slot": "name.theater", - "value": "AMC Mercado 24", - "start": 53, - "end": 67 + "value": "MC Mercado 24.", + "start": 48, + "end": 62 } ] }, @@ -121,23 +129,32 @@ }, { "speaker": "user", - "utterance": "Please do check at AMC Mercado 24 instead of AMC Mercado 16", + "utterance": "sure you can but i want to see the movie at AMC mountain 16", "utt_idx": 4, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "AMC mountain 16", + "start": 44, + "end": 59 + } + ] }, "state": { "movie": { "name.movie": "", - "name.theater": "AMC Mercado 24", - "date.showing": "", + "name.theater": "AMC mountain 16", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", "name.character": "", - "name.genre": "action", + "name.genre": "", "name.person": "", "num.tickets": "", "price.ticket": "", @@ -182,7 +199,7 @@ }, { "speaker": "user", - "utterance": "Yes, It is", + "utterance": "yeah", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -193,7 +210,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", @@ -275,7 +292,7 @@ }, { "speaker": "user", - "utterance": "Thank you. Make it for 9:10 pm", + "utterance": "yeah but 9.10pm will be perfect for me", "utt_idx": 8, "dialogue_acts": { "binary": [], @@ -285,9 +302,9 @@ "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "9:10 pm", - "start": 23, - "end": 30 + "value": "9.10pm", + "start": 9, + "end": 15 } ] }, @@ -295,7 +312,7 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", @@ -310,7 +327,7 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": "9:10 pm", + "time.showing": "9.10pm", "type.screening": "" } } @@ -328,7 +345,7 @@ }, { "speaker": "user", - "utterance": "I need 9 tickets.", + "utterance": "myself and two other persons are going to see a movie", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -339,7 +356,7 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "", + "date.showing": "tonight", "date.release": "", "duration.movie": "", "location": "", @@ -354,7 +371,7 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": "9:10 pm", + "time.showing": "9.10pm", "type.screening": "" } } @@ -413,7 +430,7 @@ }, { "speaker": "user", - "utterance": "Yes, Go ahead. Good to go then.", + "utterance": "yeah", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -457,7 +474,7 @@ }, { "speaker": "user", - "utterance": "Thank you for your assistance. Have a good one.", + "utterance": "yes you can", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -501,7 +518,7 @@ }, { "speaker": "user", - "utterance": "No, that is all for the day. Thanks!", + "utterance": "ok thanks but i dont need anything again", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -549,7 +566,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-1", - "original_id": "dlg-684cfa8c-0f50-4ecb-9543-12b4080d5dec", + "original_id": "dlg-c9064676-75fe-4d0a-83c2-497e1f2115a6", "domains": [ "movie" ], @@ -561,7 +578,7 @@ "turns": [ { "speaker": "user", - "utterance": "Can you get me movie tickets for tonight at the AMC Mountain 16?", + "utterance": "I need to get some tickets for a movie tonight at the AMC Mountain 16 theater.", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -572,16 +589,16 @@ "domain": "movie", "slot": "date.showing", "value": "tonight", - "start": 33, - "end": 40 + "start": 39, + "end": 46 }, { "intent": "inform", "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 48, - "end": 63 + "start": 54, + "end": 69 } ] }, @@ -622,7 +639,7 @@ }, { "speaker": "user", - "utterance": "Are there any action movies?", + "utterance": "I'm hoping there's an action movie showing.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -633,8 +650,8 @@ "domain": "movie", "slot": "name.genre", "value": "action", - "start": 14, - "end": 20 + "start": 22, + "end": 28 } ] }, @@ -684,7 +701,7 @@ }, { "speaker": "user", - "utterance": "No, not the Mercado, the AMC Mountain 16.", + "utterance": "Sorry, I wanted the AMC Mountain 16, not the Mercado theater.", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -695,8 +712,8 @@ "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 25, - "end": 40 + "start": 20, + "end": 35 } ] }, @@ -754,7 +771,7 @@ }, { "speaker": "user", - "utterance": "That's correct.", + "utterance": "Yes, the Mountain 16.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -874,7 +891,7 @@ }, { "speaker": "user", - "utterance": "Yes, the 9:10pm sounds good.", + "utterance": "Yes, the 9:10pm sounds perfect for my schedule.", "utt_idx": 8, "dialogue_acts": { "binary": [], @@ -927,7 +944,7 @@ }, { "speaker": "user", - "utterance": "Me and two others.", + "utterance": "Three, since it'll just be my two friends and I.", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -1012,7 +1029,7 @@ }, { "speaker": "user", - "utterance": "Affirmative.", + "utterance": "Yes, that's correct.", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -1056,7 +1073,7 @@ }, { "speaker": "user", - "utterance": "Make it so.", + "utterance": "Absolutely!", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -1117,7 +1134,7 @@ }, { "speaker": "user", - "utterance": "No, that's all.", + "utterance": "No thanks, I'm good.", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -1165,7 +1182,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-2", - "original_id": "dlg-0717348f-786f-477a-a87b-7fcade729006", + "original_id": "dlg-f7500bcf-472c-48c3-adfd-e4ec9f63bcf1", "domains": [ "movie" ], @@ -1177,7 +1194,7 @@ "turns": [ { "speaker": "user", - "utterance": "I'd like to see a movie tonight, specifically at the AMC Mountain 16.", + "utterance": "I need help finding showtimes for tonight at my local theater the AMC Mountain 16.", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -1188,16 +1205,16 @@ "domain": "movie", "slot": "date.showing", "value": "tonight", - "start": 24, - "end": 31 + "start": 34, + "end": 41 }, { "intent": "inform", "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 53, - "end": 68 + "start": 66, + "end": 81 } ] }, @@ -1238,7 +1255,7 @@ }, { "speaker": "user", - "utterance": "Yeah, I want an action movie.", + "utterance": "No, I'm looking for anything that has action in it.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -1249,8 +1266,8 @@ "domain": "movie", "slot": "name.genre", "value": "action", - "start": 16, - "end": 22 + "start": 38, + "end": 44 } ] }, @@ -1300,7 +1317,7 @@ }, { "speaker": "user", - "utterance": "Actually, I wanted the AMC Mountain 16.", + "utterance": "No, that's the wrong theater, I wanted show times for the AMC Mountain 16.", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -1311,8 +1328,8 @@ "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 23, - "end": 38 + "start": 58, + "end": 73 } ] }, @@ -1370,7 +1387,7 @@ }, { "speaker": "user", - "utterance": "That's right.", + "utterance": "Yes, please.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -1490,12 +1507,21 @@ }, { "speaker": "user", - "utterance": "Yes, let's do the 9:10 showing.", + "utterance": "Yeah, the 9:10pm show works perfectly.", "utt_idx": 8, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "9:10pm", + "start": 10, + "end": 16 + } + ] }, "state": { "movie": { @@ -1534,7 +1560,7 @@ }, { "speaker": "user", - "utterance": "Myself, my wife, and my friend.", + "utterance": "I have a small group of us going, so I need three tickets.", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -1619,7 +1645,7 @@ }, { "speaker": "user", - "utterance": "That is correct.", + "utterance": "Yes, that' right.", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -1663,7 +1689,7 @@ }, { "speaker": "user", - "utterance": "Yes it is.", + "utterance": "Yes, I'm ready to check out.", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -1724,7 +1750,7 @@ }, { "speaker": "user", - "utterance": "No, thank you very much.", + "utterance": "No, that's all I needed, thanks.", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -1772,7 +1798,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-3", - "original_id": "dlg-9ef3529f-fed0-4d76-8f3c-4d1fcdab9ed1", + "original_id": "dlg-df1f0d45-27f2-4fb0-8aaa-b6b5f5a843bb", "domains": [ "movie" ], @@ -1784,7 +1810,7 @@ "turns": [ { "speaker": "user", - "utterance": "I'd like to get some tickets to a movie for tonight at AMC Mountain 16.", + "utterance": "Hello, I am interested in buying tickets tonight in AMC Mountain 16 theater.", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -1795,16 +1821,16 @@ "domain": "movie", "slot": "date.showing", "value": "tonight", - "start": 44, - "end": 51 + "start": 41, + "end": 48 }, { "intent": "inform", "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 55, - "end": 70 + "start": 52, + "end": 67 } ] }, @@ -1845,7 +1871,7 @@ }, { "speaker": "user", - "utterance": "If there is an action movie playing, that would be great.", + "utterance": "I would say something action-like.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -1855,9 +1881,9 @@ "intent": "inform", "domain": "movie", "slot": "name.genre", - "value": "action", - "start": 15, - "end": 21 + "value": "action-like", + "start": 22, + "end": 33 } ] }, @@ -1870,7 +1896,7 @@ "duration.movie": "", "location": "", "name.character": "", - "name.genre": "action", + "name.genre": "action-like", "name.person": "", "num.tickets": "", "price.ticket": "", @@ -1907,7 +1933,7 @@ }, { "speaker": "user", - "utterance": "Wait, it's supposed to be AMC Mountain 16.", + "utterance": "I wanted AMC Mountain 16, NOT AMC Mercado 24", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -1918,8 +1944,8 @@ "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 26, - "end": 41 + "start": 9, + "end": 24 } ] }, @@ -1932,7 +1958,7 @@ "duration.movie": "", "location": "", "name.character": "", - "name.genre": "action", + "name.genre": "action-like", "name.person": "", "num.tickets": "", "price.ticket": "", @@ -1977,7 +2003,7 @@ }, { "speaker": "user", - "utterance": "Yes, that is right.", + "utterance": "Yes.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -2097,7 +2123,7 @@ }, { "speaker": "user", - "utterance": "That will work. Let's go with the 9:10 start time.", + "utterance": "Oh cool, looks like 9:10 is a good choice.", "utt_idx": 8, "dialogue_acts": { "binary": [], @@ -2141,7 +2167,7 @@ }, { "speaker": "user", - "utterance": "They are for myself, my mom, and my brother, so get three tickets please.", + "utterance": "Us three", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -2226,7 +2252,7 @@ }, { "speaker": "user", - "utterance": "Yep, that's right.", + "utterance": "Yes, that's good.", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -2270,7 +2296,7 @@ }, { "speaker": "user", - "utterance": "Yes, please buy them.", + "utterance": "Hells yeah.", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -2331,7 +2357,7 @@ }, { "speaker": "user", - "utterance": "No, that's all I need for today. Thanks a lot for your help.", + "utterance": "No, it's all right. Have a good night!", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -2379,7 +2405,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-4", - "original_id": "dlg-317727d0-4881-4e08-a3da-d598ee157605", + "original_id": "dlg-6086332d-a1a6-4acf-a3a5-4237a90a4ad2", "domains": [ "movie" ], @@ -2391,7 +2417,7 @@ "turns": [ { "speaker": "user", - "utterance": "I would like 2 tickets to see Mulan.", + "utterance": "I will like to buy tickets in order to proceed on seeing two movies at the Mountain AMC 16 Theatre tomorrow.", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -2400,33 +2426,33 @@ { "intent": "inform", "domain": "movie", - "slot": "num.tickets", - "value": "2", - "start": 13, - "end": 14 + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 75, + "end": 90 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 30, - "end": 35 + "slot": "date.showing", + "value": "tomorrow", + "start": 99, + "end": 107 } ] }, "state": { "movie": { - "name.movie": "Mulan", - "name.theater": "", - "date.showing": "", + "name.movie": "", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2441,35 +2467,18 @@ }, { "speaker": "system", - "utterance": "What day would you like 2 tickets to see No Time To Die?", + "utterance": "I am at your service. May I have the titles of the movies of choice?", "utt_idx": 1, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "num.tickets", - "value": "2", - "start": 24, - "end": 25 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "name.movie", - "value": "No Time To Die", - "start": 41, - "end": 55 - } - ] + "non-categorical": [] }, "db_results": {} }, { "speaker": "user", - "utterance": "I would not, It should be Mulan", + "utterance": "The first movie is \"No Time To Die\" while the second is \"Milani\"", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -2479,24 +2488,32 @@ "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 26, - "end": 31 + "value": "\"No Time To Die\"", + "start": 19, + "end": 35 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Milani\"", + "start": 56, + "end": 64 } ] }, "state": { "movie": { - "name.movie": "Mulan", - "name.theater": "", - "date.showing": "", + "name.movie": "\"Milani\"", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2511,7 +2528,7 @@ }, { "speaker": "system", - "utterance": "What is incorrect?", + "utterance": "Movie choice confirmed. Please confirm that your second choice is correct.", "utt_idx": 3, "dialogue_acts": { "binary": [], @@ -2522,7 +2539,7 @@ }, { "speaker": "user", - "utterance": "Movie Title should Be Mulan.", + "utterance": "I made the wrong spelling in the second choice. The correct movie name is \"Mulan\"", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -2532,24 +2549,24 @@ "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 22, - "end": 27 + "value": "\"Mulan\"", + "start": 74, + "end": 81 } ] }, "state": { "movie": { - "name.movie": "Mulan", - "name.theater": "", - "date.showing": "", + "name.movie": "\"Mulan\"", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2564,7 +2581,7 @@ }, { "speaker": "system", - "utterance": "What day would you like 2 tickets to see Mulan?", + "utterance": "Movie name \"Mulan\" confirmed. Your confirmed movie preferences are \"No Time To Die\" and \"Mulan\"", "utt_idx": 5, "dialogue_acts": { "binary": [], @@ -2573,18 +2590,26 @@ { "intent": "inform", "domain": "movie", - "slot": "num.tickets", - "value": "2", - "start": 24, - "end": 25 + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 11, + "end": 18 }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 41, - "end": 46 + "value": "\"No Time To Die\"", + "start": 67, + "end": 83 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 88, + "end": 95 } ] }, @@ -2592,7 +2617,7 @@ }, { "speaker": "user", - "utterance": "Tomorrow", + "utterance": "That is correct. I will like to know the movies' showtime preference for tomorrow.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -2602,24 +2627,24 @@ "intent": "inform", "domain": "movie", "slot": "date.showing", - "value": "Tomorrow", - "start": 0, - "end": 8 + "value": "tomorrow", + "start": 73, + "end": 81 } ] }, "state": { "movie": { - "name.movie": "Mulan", - "name.theater": "", - "date.showing": "Tomorrow", + "name.movie": "\"Mulan\"", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2634,7 +2659,7 @@ }, { "speaker": "system", - "utterance": "Mulan is showing in one theater, the Mountain AMC 16 at the following times tomorrow: 4:00pm 6:10pm 8:30pm 10:40pm; which showing would you prefer?", + "utterance": "These are the showtimes for the movies: \"No Time To Die\" will be available at 3:00pm 5:10pm 7:30pm 9:40pm, and \"Mulan\" will be available at 4:00pm 6:10pm 8:30pm 10:40pm. Please indicate your most prefered showtime for the movies respectively.", "utt_idx": 7, "dialogue_acts": { "binary": [], @@ -2644,57 +2669,81 @@ "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 0, - "end": 5 + "value": "\"No Time To Die\"", + "start": 40, + "end": 56 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 37, - "end": 52 + "slot": "time.showing", + "value": "3:00pm", + "start": 78, + "end": 84 }, { "intent": "inform", "domain": "movie", - "slot": "date.showing", - "value": "tomorrow:", - "start": 76, - "end": 85 + "slot": "time.showing", + "value": "5:10pm", + "start": 85, + "end": 91 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "7:30pm", + "start": 92, + "end": 98 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "9:40pm", + "start": 99, + "end": 105 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 111, + "end": 118 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", "value": "4:00pm", - "start": 86, - "end": 92 + "start": 140, + "end": 146 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", "value": "6:10pm", - "start": 93, - "end": 99 + "start": 147, + "end": 153 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", "value": "8:30pm", - "start": 100, - "end": 106 + "start": 154, + "end": 160 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "10:40pm;", - "start": 107, - "end": 115 + "value": "10:40pm", + "start": 161, + "end": 168 } ] }, @@ -2703,25 +2752,30 @@ { "index": 6, "args": { - "name.movie": "Mulan" + "name.movie": "\"Mulan\"", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow" }, "response": { - "name.theater_1": "Mountain AMC 16" + "time.showing_1": "4:00pm", + "time.showing_2": "6:10pm", + "time.showing_3": "8:30pm", + "time.showing_4": "10:40pm" }, - "name": "find_theaters" + "name": "find_showtimes" }, { "index": 6, "args": { - "name.movie": "Mulan", - "date.showing": "Tomorrow", - "name.theater": "Mountain AMC 16" + "name.movie": "\"No Time To Die\"", + "name.theater": "Mountain AMC 16", + "date.showing": "tomorrow" }, "response": { - "time.showing_1": "4:00pm", - "time.showing_2": "6:10pm", - "time.showing_3": "8:30pm", - "time.showing_4": "10:40pm;" + "time.showing_1": "3:00pm", + "time.showing_2": "5:10pm", + "time.showing_3": "7:30pm", + "time.showing_4": "9:40pm" }, "name": "find_showtimes" } @@ -2730,7 +2784,7 @@ }, { "speaker": "user", - "utterance": "I would like the 4pm showing.", + "utterance": "I choose 3:00pm for \"No Time To Die\" and 10:40pm for \"Mulan\"", "utt_idx": 8, "dialogue_acts": { "binary": [], @@ -2740,24 +2794,48 @@ "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "4pm", - "start": 17, - "end": 20 - } - ] + "value": "3:00pm", + "start": 9, + "end": 15 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"No Time To Die\"", + "start": 20, + "end": 36 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "10:40pm", + "start": 41, + "end": 48 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 53, + "end": 60 + } + ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "\"Mulan\"", "name.theater": "Mountain AMC 16", - "date.showing": "tomorrow:", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2765,14 +2843,14 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": "4pm", + "time.showing": "10:40pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "You would like 2 tickets for Mulan which is playing at the Mountain AMC 16 at 4pm, is that correct?", + "utterance": "Showtime preferences for movies confirmed as \"No Time To Die\" 3:00pm and \"Mulan\" as 10:40pm.", "utt_idx": 9, "dialogue_acts": { "binary": [], @@ -2781,34 +2859,34 @@ { "intent": "inform", "domain": "movie", - "slot": "num.tickets", - "value": "2", - "start": 15, - "end": 16 + "slot": "name.movie", + "value": "\"No Time To Die\"", + "start": 45, + "end": 61 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 29, - "end": 34 + "slot": "time.showing", + "value": "3:00pm", + "start": 62, + "end": 68 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 59, - "end": 74 + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 73, + "end": 80 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "4pm", - "start": 78, - "end": 81 + "value": "10:40pm", + "start": 84, + "end": 91 } ] }, @@ -2816,7 +2894,7 @@ }, { "speaker": "user", - "utterance": "Yes", + "utterance": "Yes, that is correct", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -2825,16 +2903,16 @@ }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "\"Mulan\"", "name.theater": "Mountain AMC 16", - "date.showing": "tomorrow:", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "2", + "num.tickets": "", "price.ticket": "", "price.total": "", "rating.movie": "", @@ -2842,14 +2920,14 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": "4pm", + "time.showing": "10:40pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Which Payment method would you like to use? You can say Default, Visa 1 or Visa 2.", + "utterance": "Please indicate the number of tickets for each movie", "utt_idx": 11, "dialogue_acts": { "binary": [], @@ -2860,18 +2938,35 @@ }, { "speaker": "user", - "utterance": "Default", + "utterance": "I need one ticket for each movie, making 2 tickets in total.", "utt_idx": 12, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "one", + "start": 7, + "end": 10 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "2", + "start": 41, + "end": 42 + } + ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "\"Mulan\"", "name.theater": "Mountain AMC 16", - "date.showing": "tomorrow:", + "date.showing": "tomorrow", "date.release": "", "duration.movie": "", "location": "", @@ -2886,30 +2981,259 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": "4pm", + "time.showing": "10:40pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Great, I've purchased those tickets for you. A Receipt and the tickets themselves have been sent to your email. I have added the movie to your personal calendar for tomorrow. Enjoy the show.", + "utterance": "These are your preferences: 2 movies titled \"No Time To Die\" and \"Mulan\"\\rMountain AMC 16 Theatre\\rShowtime preferences: \"No Time To Die\" at 3:00pm\\r\"Mulan\" at 10:40pm\\rTotal Number of Tickets:2 (1 each movie).\\rPlease confirm these details are correct.", "utt_idx": 13, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"No Time To Die\"", + "start": 44, + "end": 60 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 65, + "end": 72 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "rMountain AMC 1", + "start": 73, + "end": 88 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": ": \"No Time To Di", + "start": 119, + "end": 135 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "t 3:00", + "start": 139, + "end": 145 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "m\\r\"Mul", + "start": 146, + "end": 153 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "at 10:4", + "start": 157, + "end": 164 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "s:", + "start": 191, + "end": 193 + } + ] + }, + "db_results": {} + }, + { + "speaker": "user", + "utterance": "Yes, absolutely correct", + "utt_idx": 14, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [] + }, + "state": { + "movie": { + "name.movie": "m\\r\"Mul", + "name.theater": "rMountain AMC 1", + "date.showing": "tomorrow", + "date.release": "", + "duration.movie": "", + "location": "", + "name.character": "", + "name.genre": "", + "name.person": "", + "num.tickets": "s:", + "price.ticket": "", + "price.total": "", + "rating.movie": "", + "review.audience": "", + "review.critic": "", + "seating": "", + "time.preference": "", + "time.showing": "at 10:4", + "type.screening": "" + } + } + }, + { + "speaker": "system", + "utterance": "Can we proceed for the purchase of your tickets", + "utt_idx": 15, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [] + }, + "db_results": {} + }, + { + "speaker": "user", + "utterance": "Yes, please proceed.", + "utt_idx": 16, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [] + }, + "state": { + "movie": { + "name.movie": "m\\r\"Mul", + "name.theater": "rMountain AMC 1", + "date.showing": "tomorrow", + "date.release": "", + "duration.movie": "", + "location": "", + "name.character": "", + "name.genre": "", + "name.person": "", + "num.tickets": "s:", + "price.ticket": "", + "price.total": "", + "rating.movie": "", + "review.audience": "", + "review.critic": "", + "seating": "", + "time.preference": "", + "time.showing": "at 10:4", + "type.screening": "" + } + } + }, + { + "speaker": "system", + "utterance": "Please enter your banking payment details and emails where tickets to be sent.", + "utt_idx": 17, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [] }, + "db_results": {} + }, + { + "speaker": "user", + "utterance": "Here it is.", + "utt_idx": 18, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [] + }, + "state": { + "movie": { + "name.movie": "m\\r\"Mul", + "name.theater": "rMountain AMC 1", + "date.showing": "tomorrow", + "date.release": "", + "duration.movie": "", + "location": "", + "name.character": "", + "name.genre": "", + "name.person": "", + "num.tickets": "s:", + "price.ticket": "", + "price.total": "", + "rating.movie": "", + "review.audience": "", + "review.critic": "", + "seating": "", + "time.preference": "", + "time.showing": "at 10:4", + "type.screening": "" + } + } + }, + { + "speaker": "system", + "utterance": "Your tickets for movies \"No Time To Die\" and \"Mulan\" have been successfully purchased and has been forward to your email account.", + "utt_idx": 19, + "dialogue_acts": { + "binary": [], + "categorical": [], + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"No Time To Die\"", + "start": 24, + "end": 40 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "\"Mulan\"", + "start": 45, + "end": 52 + } + ] + }, "db_results": { "movie": [ { - "index": 12, + "index": 18, "args": { - "name.movie": "Mulan", + "name.movie": "\"No Time To Die\"", "name.theater": "Mountain AMC 16", - "num.tickets": "2", - "time.showing": "4:00pm", - "date.showing": "Tomorrow", + "num.tickets": "one", + "time.showing": "3:00pm", + "date.showing": "tomorrow", + "seating": "any" + }, + "response": { + "status": "success" + }, + "name": "book_tickets" + }, + { + "index": 18, + "args": { + "name.movie": "\"Mulan\"", + "name.theater": "Mountain AMC 16", + "num.tickets": "one", + "time.showing": "10:40pm", + "date.showing": "tomorrow", "seating": "any" }, "response": { @@ -2926,7 +3250,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-5", - "original_id": "dlg-c4439035-6aa6-4373-9349-7b40ab213c48", + "original_id": "dlg-f15a36b2-3c86-4397-9b71-76b70908dc8e", "domains": [ "movie" ], @@ -2938,42 +3262,50 @@ "turns": [ { "speaker": "user", - "utterance": "buy tickets for the movie No Time to Die playing at Mountain AMC 16 today", + "utterance": "Purchase two tickets for Mulan for 4pm today.", "utt_idx": 0, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "two tickets", + "start": 9, + "end": 20 + }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "No Time to Die", - "start": 26, - "end": 40 + "value": "Mulan", + "start": 25, + "end": 30 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 52, - "end": 67 + "slot": "time.preference", + "value": "4pm", + "start": 35, + "end": 38 }, { "intent": "inform", "domain": "movie", "slot": "date.showing", "value": "today", - "start": 68, - "end": 73 + "start": 39, + "end": 44 } ] }, "state": { "movie": { - "name.movie": "No Time to Die", - "name.theater": "Mountain AMC 16", + "name.movie": "Mulan", + "name.theater": "", "date.showing": "today", "date.release": "", "duration.movie": "", @@ -2981,14 +3313,14 @@ "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", + "time.preference": "4pm", "time.showing": "", "type.screening": "" } @@ -2996,27 +3328,43 @@ }, { "speaker": "system", - "utterance": "Okay, you want me to buy tickets for the movie \"No Time to Die\" playing at Cinemark, is this correct?", + "utterance": "Do you want to purchase two tickets for Mulan at 6:10pm today?", "utt_idx": 1, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "two tickets", + "start": 24, + "end": 35 + }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "\"No Time to Die\"", - "start": 47, - "end": 63 + "value": "Mulan", + "start": 40, + "end": 45 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Cinemark", - "start": 75, - "end": 83 + "slot": "time.showing", + "value": "6:10pm", + "start": 49, + "end": 55 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "date.showing", + "value": "today", + "start": 56, + "end": 61 } ] }, @@ -3024,7 +3372,7 @@ }, { "speaker": "user", - "utterance": "No, the movie is playing at the Mountain AMC 16 closest to me", + "utterance": "No, 4pm.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -3033,48 +3381,40 @@ { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 32, - "end": 47 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "location", - "value": "closest to me", - "start": 48, - "end": 61 + "slot": "time.showing", + "value": "4pm", + "start": 4, + "end": 7 } ] }, "state": { "movie": { - "name.movie": "\"No Time to Die\"", - "name.theater": "Mountain AMC 16", + "name.movie": "Mulan", + "name.theater": "", "date.showing": "today", "date.release": "", "duration.movie": "", - "location": "closest to me", + "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": "", + "time.preference": "4pm", + "time.showing": "4pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Okay, I have changed my theater selection to \"Mountain AMC 16\". What showtime and number of tickets would you like?", + "utterance": "Okay, 4pm.", "utt_idx": 3, "dialogue_acts": { "binary": [], @@ -3083,10 +3423,10 @@ { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "\"Mountain AMC 16\"", - "start": 45, - "end": 62 + "slot": "time.showing", + "value": "4pm", + "start": 6, + "end": 9 } ] }, @@ -3094,7 +3434,7 @@ }, { "speaker": "user", - "utterance": "I would like two tickets for the 7:30pm showtime today", + "utterance": "Yes, purchase two tickets for Mulan at Mountain AMC 16 for 4pm today.", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -3104,55 +3444,71 @@ "intent": "inform", "domain": "movie", "slot": "num.tickets", - "value": "two", - "start": 13, - "end": 16 + "value": "two tickets", + "start": 14, + "end": 25 }, { "intent": "inform", "domain": "movie", - "slot": "time.preference", - "value": "7:30pm", - "start": 33, - "end": 39 + "slot": "name.movie", + "value": "Mulan", + "start": 30, + "end": 35 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 39, + "end": 54 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "4pm", + "start": 59, + "end": 62 }, { "intent": "inform", "domain": "movie", "slot": "date.showing", "value": "today", - "start": 49, - "end": 54 + "start": 63, + "end": 68 } ] }, "state": { "movie": { - "name.movie": "\"No Time to Die\"", - "name.theater": "\"Mountain AMC 16\"", + "name.movie": "Mulan", + "name.theater": "Mountain AMC 16", "date.showing": "today", "date.release": "", "duration.movie": "", - "location": "closest to me", + "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "two", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "7:30pm", - "time.showing": "", + "time.preference": "4pm", + "time.showing": "4pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Okay, just to confirm, I will buy two tickets for the movie \"No Time to Die\" playing at 7:30PM at the Mountain AMC 16 Theater, is this correct?", + "utterance": "Do you want to purchase two tickets for Mulan at Mountain AMC 16 for 4pm today?", "utt_idx": 5, "dialogue_acts": { "binary": [], @@ -3161,34 +3517,42 @@ { "intent": "inform", "domain": "movie", - "slot": "num.tickets", - "value": "two", - "start": 34, - "end": 37 + "slot": "num.tickets", + "value": "two tickets", + "start": 24, + "end": 35 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "Mulan", + "start": 40, + "end": 45 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "\"No Time to Die\"", - "start": 60, - "end": 76 + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 49, + "end": 64 }, { "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "7:30PM", - "start": 88, - "end": 94 + "value": "4pm", + "start": 69, + "end": 72 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 102, - "end": 117 + "slot": "date.showing", + "value": "today", + "start": 73, + "end": 78 } ] }, @@ -3196,7 +3560,7 @@ }, { "speaker": "user", - "utterance": "Yes this is correct", + "utterance": "Yes.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -3205,24 +3569,24 @@ }, "state": { "movie": { - "name.movie": "\"No Time to Die\"", + "name.movie": "Mulan", "name.theater": "Mountain AMC 16", "date.showing": "today", "date.release": "", "duration.movie": "", - "location": "closest to me", + "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "two", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "7:30pm", - "time.showing": "7:30PM", + "time.preference": "4pm", + "time.showing": "4pm", "type.screening": "" } } @@ -3241,11 +3605,12 @@ { "index": 6, "args": { - "name.movie": "No Time to Die", + "name.movie": "Mulan", "name.theater": "Mountain AMC 16", - "num.tickets": "two", - "time.showing": "7:30PM", - "date.showing": "today" + "num.tickets": "two tickets", + "time.showing": "4pm", + "date.showing": "today", + "seating": "any" }, "response": { "status": "success" @@ -3261,7 +3626,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-6", - "original_id": "dlg-0a9d4930-5dab-4125-a598-6c45f94e92dd", + "original_id": "dlg-e7b03004-d331-4540-9487-b43131eaec28", "domains": [ "movie" ], @@ -3273,7 +3638,7 @@ "turns": [ { "speaker": "user", - "utterance": "hi i need tickets for a movie?", + "utterance": "Already have a movie in mind", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -3306,7 +3671,7 @@ }, { "speaker": "system", - "utterance": "hello could you tell me theater name?", + "utterance": "Ok, what movie is it?", "utt_idx": 1, "dialogue_acts": { "binary": [], @@ -3317,7 +3682,7 @@ }, { "speaker": "user", - "utterance": "name of theater Mountain AMC 16", + "utterance": "I want No Time To Die", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -3326,17 +3691,17 @@ { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 16, - "end": 31 + "slot": "name.movie", + "value": "No Time To Die", + "start": 7, + "end": 21 } ] }, "state": { "movie": { - "name.movie": "", - "name.theater": "Mountain AMC 16", + "name.movie": "No Time To Die", + "name.theater": "", "date.showing": "", "date.release": "", "duration.movie": "", @@ -3359,7 +3724,7 @@ }, { "speaker": "system", - "utterance": "fine tell me the movie name?", + "utterance": "What theater do you want?", "utt_idx": 3, "dialogue_acts": { "binary": [], @@ -3370,7 +3735,7 @@ }, { "speaker": "user", - "utterance": "Time To Die OR Mulan.", + "utterance": "I want Mountain AMC 16", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -3379,24 +3744,16 @@ { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Time To Die", - "start": 0, - "end": 11 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 15, - "end": 20 + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 7, + "end": 22 } ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time To Die", "name.theater": "Mountain AMC 16", "date.showing": "", "date.release": "", @@ -3420,29 +3777,63 @@ }, { "speaker": "system", - "utterance": "sorry one of your detail is incorrect", + "utterance": "Ok, so No Time to Die and Cineplex 10?", "utt_idx": 5, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "No Time to Die", + "start": 7, + "end": 21 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "Cineplex 10", + "start": 26, + "end": 37 + } + ] }, "db_results": {} }, { "speaker": "user", - "utterance": "give the correct values", + "utterance": "no, no Mountain AMC 16, for today", "utt_idx": 6, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 7, + "end": 22 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "date.showing", + "value": "today", + "start": 28, + "end": 33 + } + ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", @@ -3464,35 +3855,27 @@ }, { "speaker": "system", - "utterance": "the name of the theater Mountain AMC 16.\\rare interested in seeing either No Time To Die OR Mulan.", + "utterance": "Ok changes made. No Time to Die and Mountain AMC 16. What are the times wanted for the movie?", "utt_idx": 7, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 24, - "end": 39 - }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "No Time To Di", - "start": 74, - "end": 87 + "value": "No Time to Die", + "start": 17, + "end": 31 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Mula", - "start": 92, - "end": 96 + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 36, + "end": 51 } ] }, @@ -3500,18 +3883,27 @@ }, { "speaker": "user", - "utterance": "tell me show time those movies?", + "utterance": "probably the earliest showing", "utt_idx": 8, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "time.preference", + "value": "earliest showing", + "start": 13, + "end": 29 + } + ] }, "state": { "movie": { - "name.movie": "Mula", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", @@ -3525,7 +3917,7 @@ "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", + "time.preference": "earliest showing", "time.showing": "", "type.screening": "" } @@ -3533,91 +3925,19 @@ }, { "speaker": "system", - "utterance": "Showtimes for Mulan: 4:00pm 6:10pm 8:30pm 10:40pm\\rShowtimes for No Time To Die: 3:00pm 5:10pm 7:30pm 9:40pm", + "utterance": "the times available start at 4:00pm", "utt_idx": 9, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "name.movie", - "value": "Mulan:", - "start": 14, - "end": 20 - }, { "intent": "inform", "domain": "movie", "slot": "time.showing", "value": "4:00pm", - "start": 21, - "end": 27 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "6:10pm", - "start": 28, - "end": 34 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "8:30pm", - "start": 35, - "end": 41 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "10:40pm", - "start": 42, - "end": 49 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "name.movie", - "value": "No Time To Die", - "start": 65, - "end": 79 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "3:00p", - "start": 81, - "end": 86 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "5:10p", - "start": 88, - "end": 93 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "7:30p", - "start": 95, - "end": 100 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "time.showing", - "value": "9:40p", - "start": 102, - "end": 107 + "start": 29, + "end": 35 } ] }, @@ -3626,28 +3946,12 @@ { "index": 8, "args": { + "name.movie": "No Time To Die", "name.theater": "Mountain AMC 16", - "name.movie": "Mulan" - }, - "response": { - "time.showing_1": "4:00pm", - "time.showing_2": "6:10pm", - "time.showing_3": "8:30pm", - "time.showing_4": "10:40pm" - }, - "name": "find_showtimes" - }, - { - "index": 8, - "args": { - "name.theater": "Mountain AMC 16", - "name.movie": "No Time To Die" + "date.showing": "today" }, "response": { - "time.showing_1": "3:00pm", - "time.showing_2": "5:10pm", - "time.showing_3": "7:30pm", - "time.showing_4": "9:40pm" + "time.showing_1": "4:00pm" }, "name": "find_showtimes" } @@ -3656,7 +3960,7 @@ }, { "speaker": "user", - "utterance": "No Time To Die is fine", + "utterance": "I would like the 4:00pm showing", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -3665,18 +3969,18 @@ { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "No Time To Die", - "start": 0, - "end": 14 + "slot": "time.showing", + "value": "4:00pm", + "start": 17, + "end": 23 } ] }, "state": { "movie": { - "name.movie": "No Time To Die", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", @@ -3690,15 +3994,15 @@ "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": "9:40p", + "time.preference": "earliest showing", + "time.showing": "4:00pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "please select the show time", + "utterance": "how many tickets are wanted?", "utt_idx": 11, "dialogue_acts": { "binary": [], @@ -3709,7 +4013,7 @@ }, { "speaker": "user", - "utterance": "7:30pm", + "utterance": "2 tickets", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -3718,51 +4022,84 @@ { "intent": "inform", "domain": "movie", - "slot": "time.showing", - "value": ":30pm", - "start": 1, - "end": 6 + "slot": "num.tickets", + "value": "2", + "start": 0, + "end": 1 } ] }, "state": { "movie": { - "name.movie": "No Time To Die", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "", + "num.tickets": "2", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": ":30pm", + "time.preference": "earliest showing", + "time.showing": "4:00pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "how many tickets you want?", + "utterance": "Ok, so I have No Time To Die, 4 tickets, at Mountain AMC 16, at 4:00pm", "utt_idx": 13, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "No Time To Die", + "start": 14, + "end": 28 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "4", + "start": 30, + "end": 31 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 44, + "end": 59 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "4:00pm", + "start": 64, + "end": 70 + } + ] }, "db_results": {} }, { "speaker": "user", - "utterance": "i want 5 tickets", + "utterance": "no, only 2 tickets", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -3772,9 +4109,9 @@ "intent": "inform", "domain": "movie", "slot": "num.tickets", - "value": "5", - "start": 7, - "end": 8 + "value": "2", + "start": 9, + "end": 10 } ] }, @@ -3782,40 +4119,49 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "5", + "num.tickets": "2", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": ":30pm", + "time.preference": "earliest showing", + "time.showing": "4:00pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "your details are correct can go ahead with purchase?", + "utterance": "ok sorry about that, 2 tickets", "utt_idx": 15, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "2", + "start": 21, + "end": 22 + } + ] }, "db_results": {} }, { "speaker": "user", - "utterance": "yes", + "utterance": "yes that is correct", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -3826,40 +4172,81 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "5", + "num.tickets": "2", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": ":30pm", + "time.preference": "earliest showing", + "time.showing": "4:00pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "please wait i will confirm your tickets", + "utterance": "Ok, would you like to purchase 2 ticket to No Time to Die at the Mountain AMC 16 for today at 4pm?", "utt_idx": 17, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "num.tickets", + "value": "2", + "start": 31, + "end": 32 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.movie", + "value": "No Time to Die", + "start": 43, + "end": 57 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 65, + "end": 80 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "date.showing", + "value": "today", + "start": 85, + "end": 90 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "4pm", + "start": 94, + "end": 97 + } + ] }, "db_results": {} }, { "speaker": "user", - "utterance": "thank you", + "utterance": "Yes, do it.", "utt_idx": 18, "dialogue_acts": { "binary": [], @@ -3868,31 +4255,31 @@ }, "state": { "movie": { - "name.movie": "No Time To Die", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "", + "date.showing": "today", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "5", + "num.tickets": "2", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "", - "time.showing": ":30pm", + "time.preference": "earliest showing", + "time.showing": "4pm", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Your tickets are confirmed and they’ve been sent to your email address", + "utterance": "Your tickets are confirmed and they’ve been sent to your email address.", "utt_idx": 19, "dialogue_acts": { "binary": [], @@ -3906,10 +4293,9 @@ "args": { "name.movie": "No Time To Die", "name.theater": "Mountain AMC 16", - "num.tickets": "5", - "time.showing": "7:30pm", - "date.showing": "today", - "seating": "any" + "num.tickets": "2", + "time.showing": "4:00pm", + "date.showing": "today" }, "response": { "status": "success" @@ -3925,7 +4311,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-7", - "original_id": "dlg-0b2cddfe-673d-439e-9bcd-b5356156cbd6", + "original_id": "dlg-f971a49c-8289-4918-a328-ae7f6ac6b21a", "domains": [ "movie" ], @@ -3937,7 +4323,7 @@ "turns": [ { "speaker": "user", - "utterance": "I would like to purchase some tickets to the 4pm showing of Mulan.", + "utterance": "Purchase tickets for the 3 p.m. showing of No Time to Die.", "utt_idx": 0, "dialogue_acts": { "binary": [], @@ -3947,23 +4333,23 @@ "intent": "inform", "domain": "movie", "slot": "time.preference", - "value": "4pm", - "start": 45, - "end": 48 + "value": "3 p.m", + "start": 25, + "end": 30 }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 60, - "end": 65 + "value": "No Time to Die", + "start": 43, + "end": 57 } ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "", "date.showing": "", "date.release": "", @@ -3979,7 +4365,7 @@ "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "4pm", + "time.preference": "3 p.m", "time.showing": "", "type.screening": "" } @@ -3987,7 +4373,7 @@ }, { "speaker": "system", - "utterance": "So let me get this right; you want tickets to the 8:30pm showing of Mulan?", + "utterance": "I've understood to you to say that you want to purchase tickets for the 5:10 p.m. showing of No Time to Die. Is this correct?", "utt_idx": 1, "dialogue_acts": { "binary": [], @@ -3997,17 +4383,17 @@ "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "8:30pm", - "start": 50, - "end": 56 + "value": "5:10 p.m", + "start": 72, + "end": 80 }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 68, - "end": 73 + "value": "No Time to Die", + "start": 93, + "end": 107 } ] }, @@ -4015,7 +4401,7 @@ }, { "speaker": "user", - "utterance": "No, I wanted tickets to the 4pm showing of Mulan.", + "utterance": "No. I don't want the 5:10 p.m. time. I want to purchase tickets for the 3 p.m showing.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -4025,23 +4411,23 @@ "intent": "inform", "domain": "movie", "slot": "time.preference", - "value": "4pm", - "start": 28, - "end": 31 + "value": "5:10 p.m", + "start": 21, + "end": 29 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 43, - "end": 48 + "slot": "time.preference", + "value": "3 p.m", + "start": 72, + "end": 77 } ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "", "date.showing": "", "date.release": "", @@ -4057,15 +4443,15 @@ "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "4pm", - "time.showing": "8:30pm", + "time.preference": "3 p.m", + "time.showing": "5:10 p.m", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Okay, so you want tickets to the 4pm showing of Mulan?", + "utterance": "I understand. You want to purchase tickets for the 3 p.m. show. Is this correct?", "utt_idx": 3, "dialogue_acts": { "binary": [], @@ -4075,17 +4461,9 @@ "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": "4pm", - "start": 33, - "end": 36 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 48, - "end": 53 + "value": "3 p.m.", + "start": 51, + "end": 57 } ] }, @@ -4093,7 +4471,7 @@ }, { "speaker": "user", - "utterance": "Correct. I'd like to purchase two tickets to the 4 PM showing of Mulan at the Mountain AMC 16 for this Saturday.", + "utterance": "Yes. Purchase two tickets for today's 3 p.m. showing of No Time to Die at Mountain AMC 16.", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -4103,24 +4481,32 @@ "intent": "inform", "domain": "movie", "slot": "num.tickets", - "value": "two", + "value": "two tickets", + "start": 14, + "end": 25 + }, + { + "intent": "inform", + "domain": "movie", + "slot": "date.showing", + "value": "today's", "start": 30, - "end": 33 + "end": 37 }, { "intent": "inform", "domain": "movie", - "slot": "time.preference", - "value": "4 PM", - "start": 49, - "end": 53 + "slot": "time.showing", + "value": "3 p.m", + "start": 38, + "end": 43 }, { "intent": "inform", "domain": "movie", "slot": "name.movie", - "value": "Mulan", - "start": 65, + "value": "No Time to Die", + "start": 56, "end": 70 }, { @@ -4128,46 +4514,38 @@ "domain": "movie", "slot": "name.theater", "value": "Mountain AMC 16", - "start": 78, - "end": 93 - }, - { - "intent": "inform", - "domain": "movie", - "slot": "date.showing", - "value": "this Saturday", - "start": 98, - "end": 111 + "start": 74, + "end": 89 } ] }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "this Saturday", + "date.showing": "today's", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "two", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "4 PM", - "time.showing": "4pm", + "time.preference": "3 p.m", + "time.showing": "3 p.m", "type.screening": "" } } }, { "speaker": "system", - "utterance": "So let me get this right; you would like purchase two tickets to the 4 PM showing of Mulan at the Mountain AMC 16 for this Saturday?", + "utterance": "I've understood you to say that you want to purchase two tickets for today's 3 p.m. showing of No Time to Die at Mountain AMC 16. If this is correct, may I complete the purchase?", "utt_idx": 5, "dialogue_acts": { "binary": [], @@ -4177,41 +4555,41 @@ "intent": "inform", "domain": "movie", "slot": "num.tickets", - "value": "two", - "start": 50, - "end": 53 + "value": "two tickets", + "start": 53, + "end": 64 }, { "intent": "inform", "domain": "movie", - "slot": "time.showing", - "value": "4 PM", + "slot": "date.showing", + "value": "today's", "start": 69, - "end": 73 + "end": 76 }, { "intent": "inform", "domain": "movie", - "slot": "name.movie", - "value": "Mulan", - "start": 85, - "end": 90 + "slot": "time.showing", + "value": "3 p.m", + "start": 77, + "end": 82 }, { "intent": "inform", "domain": "movie", - "slot": "name.theater", - "value": "Mountain AMC 16", - "start": 98, - "end": 113 + "slot": "name.movie", + "value": "No Time to Die", + "start": 95, + "end": 109 }, { "intent": "inform", "domain": "movie", - "slot": "date.showing", - "value": "this Saturday", - "start": 118, - "end": 131 + "slot": "name.theater", + "value": "Mountain AMC 16", + "start": 113, + "end": 128 } ] }, @@ -4219,7 +4597,7 @@ }, { "speaker": "user", - "utterance": "Yes.", + "utterance": "Yes, that's correct.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -4228,31 +4606,31 @@ }, "state": { "movie": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "date.showing": "this Saturday", + "date.showing": "today's", "date.release": "", "duration.movie": "", "location": "", "name.character": "", "name.genre": "", "name.person": "", - "num.tickets": "two", + "num.tickets": "two tickets", "price.ticket": "", "price.total": "", "rating.movie": "", "review.audience": "", "review.critic": "", "seating": "", - "time.preference": "4 PM", - "time.showing": "4 PM", + "time.preference": "3 p.m", + "time.showing": "3 p.m", "type.screening": "" } } }, { "speaker": "system", - "utterance": "Excellent. Your tickets are confirmed and they’ve been sent to your email address", + "utterance": "Your tickets are confirmed and they’ve been sent to your email address.", "utt_idx": 7, "dialogue_acts": { "binary": [], @@ -4264,11 +4642,11 @@ { "index": 6, "args": { - "name.movie": "Mulan", + "name.movie": "No Time to Die", "name.theater": "Mountain AMC 16", - "num.tickets": "two", - "time.showing": "4pm", - "date.showing": "this Saturday", + "num.tickets": "two tickets", + "time.showing": "3 p.m", + "date.showing": "today", "seating": "any" }, "response": { @@ -4285,7 +4663,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-8", - "original_id": "dlg-0976855e-c0ce-49de-a217-cbfbd4670d33", + "original_id": "dlg-3df5f971-6025-47be-9f73-65ec676acb8b", "domains": [ "movie" ], @@ -4297,27 +4675,19 @@ "turns": [ { "speaker": "user", - "utterance": "I would like to buy tickets for a movie tonight at AMC Mountain 16.", + "utterance": "I need to buy tickets for AMC Mountain 16", "utt_idx": 0, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "date.showing", - "value": "tonight", - "start": 40, - "end": 47 - }, { "intent": "inform", "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 51, - "end": 66 + "start": 26, + "end": 41 } ] }, @@ -4325,7 +4695,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4358,7 +4728,7 @@ }, { "speaker": "user", - "utterance": "I am looking for something that has action and adventure in it.", + "utterance": "I like action", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -4369,8 +4739,8 @@ "domain": "movie", "slot": "name.genre", "value": "action", - "start": 36, - "end": 42 + "start": 7, + "end": 13 } ] }, @@ -4378,7 +4748,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4420,7 +4790,7 @@ }, { "speaker": "user", - "utterance": "No not Mercado, I want it at AMC Mountain 16.", + "utterance": "NO that would be AMC Mountain 16", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -4431,8 +4801,8 @@ "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 29, - "end": 44 + "start": 17, + "end": 32 } ] }, @@ -4440,7 +4810,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4490,7 +4860,7 @@ }, { "speaker": "user", - "utterance": "Yes.", + "utterance": "That's correct", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -4501,7 +4871,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4610,7 +4980,7 @@ }, { "speaker": "user", - "utterance": "Yes that's great. I'd like tickets to the 9:10 pm showing.", + "utterance": "The 9:10 PM would work", "utt_idx": 8, "dialogue_acts": { "binary": [], @@ -4620,9 +4990,9 @@ "intent": "inform", "domain": "movie", "slot": "time.showing", - "value": ":10 pm", - "start": 43, - "end": 49 + "value": "9:10 PM", + "start": 4, + "end": 11 } ] }, @@ -4630,7 +5000,7 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4645,7 +5015,7 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": ":10 pm", + "time.showing": "9:10 PM", "type.screening": "" } } @@ -4663,7 +5033,7 @@ }, { "speaker": "user", - "utterance": "I need three tickets.", + "utterance": "just me and two others", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -4674,7 +5044,7 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4689,7 +5059,7 @@ "review.critic": "", "seating": "", "time.preference": "", - "time.showing": ":10 pm", + "time.showing": "9:10 PM", "type.screening": "" } } @@ -4748,7 +5118,7 @@ }, { "speaker": "user", - "utterance": "Yes that's correct.", + "utterance": "Correct", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -4792,7 +5162,7 @@ }, { "speaker": "user", - "utterance": "Yes, thank you.", + "utterance": "Yes please", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -4853,7 +5223,7 @@ }, { "speaker": "user", - "utterance": "No thank you.", + "utterance": "No thanks", "utt_idx": 16, "dialogue_acts": { "binary": [], @@ -4901,7 +5271,7 @@ "dataset": "tm3", "data_split": "train", "dialogue_id": "tm3-train-9", - "original_id": "dlg-266f509a-b0f9-4316-a644-8b3d55674611", + "original_id": "dlg-e255c743-b8a0-4e53-9590-3fc2fde3142d", "domains": [ "movie" ], @@ -4913,27 +5283,19 @@ "turns": [ { "speaker": "user", - "utterance": "Yes, I would like to buy tickets for tonight. At AMC Mountain 16.", + "utterance": "Hey, I'd like to purchase some movie tickets for the AMC Mountain 16.", "utt_idx": 0, "dialogue_acts": { "binary": [], "categorical": [], "non-categorical": [ - { - "intent": "inform", - "domain": "movie", - "slot": "date.showing", - "value": "tonight", - "start": 37, - "end": 44 - }, { "intent": "inform", "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 49, - "end": 64 + "start": 53, + "end": 68 } ] }, @@ -4941,7 +5303,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -4974,7 +5336,7 @@ }, { "speaker": "user", - "utterance": "I want to see a good action flick.", + "utterance": "I think we're all in the mood for an action movie.", "utt_idx": 2, "dialogue_acts": { "binary": [], @@ -4985,8 +5347,8 @@ "domain": "movie", "slot": "name.genre", "value": "action", - "start": 21, - "end": 27 + "start": 37, + "end": 43 } ] }, @@ -4994,7 +5356,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -5036,7 +5398,7 @@ }, { "speaker": "user", - "utterance": "Yes, but I wanted AMC Mountain 16.", + "utterance": "Sorry, I'm wanting to visit the AMC Mountain 16.", "utt_idx": 4, "dialogue_acts": { "binary": [], @@ -5047,8 +5409,8 @@ "domain": "movie", "slot": "name.theater", "value": "AMC Mountain 16", - "start": 18, - "end": 33 + "start": 32, + "end": 47 } ] }, @@ -5056,7 +5418,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -5106,7 +5468,7 @@ }, { "speaker": "user", - "utterance": "Yes, that is right.", + "utterance": "Now you're on the right track.", "utt_idx": 6, "dialogue_acts": { "binary": [], @@ -5117,7 +5479,7 @@ "movie": { "name.movie": "", "name.theater": "AMC Mountain 16", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -5226,18 +5588,27 @@ }, { "speaker": "user", - "utterance": "Yes, the 9:10 works great.", + "utterance": "That sounds like a perfect fit. I'd like to book the 9:10pm show.", "utt_idx": 8, "dialogue_acts": { "binary": [], "categorical": [], - "non-categorical": [] + "non-categorical": [ + { + "intent": "inform", + "domain": "movie", + "slot": "time.showing", + "value": "9:10pm", + "start": 53, + "end": 59 + } + ] }, "state": { "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -5270,7 +5641,7 @@ }, { "speaker": "user", - "utterance": "Just three including myself.", + "utterance": "I'd like tickets for my partner, my child and myself. So, three.", "utt_idx": 10, "dialogue_acts": { "binary": [], @@ -5281,7 +5652,7 @@ "movie": { "name.movie": "No Time To Die", "name.theater": "AMC Mountain 16:", - "date.showing": "tonight", + "date.showing": "", "date.release": "", "duration.movie": "", "location": "", @@ -5355,7 +5726,7 @@ }, { "speaker": "user", - "utterance": "Yes, that is exactly right.", + "utterance": "That's absolutely correct.", "utt_idx": 12, "dialogue_acts": { "binary": [], @@ -5399,7 +5770,7 @@ }, { "speaker": "user", - "utterance": "Yes.", + "utterance": "Go right ahead.", "utt_idx": 14, "dialogue_acts": { "binary": [], @@ -5460,7 +5831,7 @@ }, { "speaker": "user", - "utterance": "No, that is it. You have been a low of help. Thanks again.", + "utterance": "No thanks!", "utt_idx": 16, "dialogue_acts": { "binary": [], diff --git a/data/unified_datasets/tm3/preprocess.py b/data/unified_datasets/tm3/preprocess.py index e8c9234beb439f870c805b4362ca60da09ee1c87..78a3efb5d3f3e23385962f0e6c4a3d4dc8c62ac8 100644 --- a/data/unified_datasets/tm3/preprocess.py +++ b/data/unified_datasets/tm3/preprocess.py @@ -100,8 +100,12 @@ def preprocess(): 'intents': { 'inform': {'description': 'inform the value of a slot or general information.'} }, - 'binary_dialogue_acts': set(), - 'state': {}} + 'state': {}, + 'dialogue_acts': { + "categorical": set(), + "non-categorical": set(), + "binary": set() + }} global descriptions global anno2slot ori_ontology = json.load(open(os.path.join(original_data_dir, "TM-3-2020/ontology/entities.json"))) @@ -122,7 +126,8 @@ def preprocess(): dataset = 'tm3' splits = ['train', 'validation', 'test'] dialogues_by_split = {split:[] for split in splits} - for data_file in tqdm(glob.glob(os.path.join(original_data_dir, f"TM-3-2020/data/*.json")), desc='processing taskmaster-{}'.format(domain)): + data_files = sorted(glob.glob(os.path.join(original_data_dir, f"TM-3-2020/data/*.json"))) + for data_file in tqdm(data_files, desc='processing taskmaster-{}'.format(domain)): data = json.load(open(data_file)) # random split, train:validation:test = 8:1:1 random.seed(42) @@ -216,9 +221,16 @@ def preprocess(): for da in turn['dialogue_acts']['binary']: da_tuple = (da['intent'], da['domain'], da['slot'], da['value'],) bdas.add(da_tuple) - if da_tuple not in ontology['binary_dialogue_acts']: - ontology['binary_dialogue_acts'].add(da_tuple) turn['dialogue_acts']['binary'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(bdas)] + # add to dialogue_acts dictionary in the ontology + for da_type in turn['dialogue_acts']: + das = turn['dialogue_acts'][da_type] + for da in das: + intent, domain, slot, value = da['intent'], da['domain'], da['slot'], da['value'] + if da_type == 'binary': + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot, value)) + else: + ontology["dialogue_acts"][da_type].add((speaker, intent, domain, slot)) for da in turn['dialogue_acts']['non-categorical']: slot, value = da['slot'], da['value'] @@ -237,7 +249,11 @@ def preprocess(): dialogue['turns'].append(turn) dialogues_by_split[data_split].append(dialogue) - ontology['binary_dialogue_acts'] = [{'intent':bda[0],'domain':bda[1],'slot':bda[2],'value':bda[3]} for bda in sorted(ontology['binary_dialogue_acts'])] + for da_type in ontology['dialogue_acts']: + if da_type == 'binary': + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3],'value':da[4]}) for da in sorted(ontology["dialogue_acts"][da_type])] + else: + ontology["dialogue_acts"][da_type] = [str({'speaker': da[0], 'intent':da[1],'domain':da[2],'slot':da[3]}) for da in sorted(ontology["dialogue_acts"][da_type])] dialogues = dialogues_by_split['train']+dialogues_by_split['validation']+dialogues_by_split['test'] json.dump(dialogues[:10], open(f'dummy_data.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False) json.dump(dialogues, open(f'{new_data_dir}/dialogues.json', 'w', encoding='utf-8'), indent=2, ensure_ascii=False)