Skip to content

Commit e7b8d84

Browse files
authored
Merge pull request #299 from stanford-oval/wip/dev_3
Merge wip/dev_3
2 parents a69d420 + 3867859 commit e7b8d84

5 files changed

Lines changed: 16 additions & 16 deletions

File tree

genienlp/data_utils/almond_utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@
106106
(ord(u"\U0002b820"), ord(u"\U0002ceaf")),
107107
]
108108

109-
CJK_ADDONS = [ord(u"\u3001")]
109+
CJK_ADDONS = [ord(u"\u3001"), ord(','), ord('。'), ord('!'), ord('?')]
110110

111111

112112
def is_cjk_char(cp):

genienlp/models/base.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -570,9 +570,7 @@ def validate_e2e_dialogues(
570570
dataset.update_state(state_update, dialogue_state)
571571

572572
#### save latest state
573-
state_to_record = copy.deepcopy(dialogue_state)
574-
state_to_record = {dataset.domain2api_name(k): v for k, v in state_to_record.items()}
575-
e2e_dialogue_preds[dial_id]["turns"][str(turn_id)]["state"] = state_to_record
573+
e2e_dialogue_preds[dial_id]["turns"][str(turn_id)]["state"] = dataset.state2span(dialogue_state)
576574
####
577575

578576
elif train_target == 'api':
@@ -591,7 +589,7 @@ def validate_e2e_dialogues(
591589

592590
elif do_api_call == 'no':
593591
# do nothing
594-
new_knowledge_text = 'null'
592+
pass
595593
else:
596594
logger.error(
597595
f'API call should be either yes or no but got {do_api_call}. Seems model has not learnt the task yet. For now we assume it\'s a no'
@@ -804,9 +802,7 @@ def interact_e2e_dialogues(self, task, eval_dir=None, output_predictions_only=Fa
804802
new_state_text = dataset.state2span(dialogue_state)
805803

806804
#### save latest state
807-
state_to_record = copy.deepcopy(dialogue_state)
808-
state_to_record = {dataset.domain2api_name(k): v for k, v in state_to_record.items()}
809-
e2e_dialogue_preds[dial_id]["turns"][str(turn_id)]["state"] = state_to_record
805+
e2e_dialogue_preds[dial_id]["turns"][str(turn_id)]["state"] = new_state_text
810806
####
811807

812808
elif train_target == 'api':

genienlp/util.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555

5656
ENTITY_MATCH_REGEX = re.compile('^([A-Z].*)_[0-9]+$')
5757
QUOTED_MATCH_REGEX = re.compile(' " (.*?) " ')
58+
NUMBER_MATCH_REGEX = re.compile('^([0-9]+\.?[0-9]?)$')
5859

5960

6061
def find_span_type(program, begin_index, end_index):
@@ -107,8 +108,11 @@ def requote_program(program):
107108

108109
elif not in_string:
109110
entity_match = ENTITY_MATCH_REGEX.match(token)
111+
number_match = NUMBER_MATCH_REGEX.match(token)
110112
if entity_match is not None:
111113
requoted.append(entity_match[1])
114+
elif number_match is not None:
115+
requoted.append('NUMBER')
112116
elif token != 'location:':
113117
requoted.append(token)
114118

@@ -363,7 +367,11 @@ def make_data_loader(
363367

364368
all_features_filtered = []
365369
# remove examples longer than model input length
370+
366371
for ex in all_features:
372+
# Uncomment for debugging to print the long examples
373+
# if dataset.batch_size_fn([ex]) > model_input_max_length:
374+
# print(ex)
367375
if batch_size_fn([ex]) < model_input_max_length:
368376
all_features_filtered.append(ex)
369377

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,6 @@
7272
'dill~=0.3',
7373
'xgboost~=1.3',
7474
# for e2e dialogues:
75-
'dialogues @ git+https://github.com/stanford-oval/dialogues@6695f29557f347238ef01b9a64127b7d4e4345cc',
75+
'dialogues==0.0.3',
7676
],
7777
)

tests/expected_results/bitod/e2e_dialogue_preds.json

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,23 @@
22
"ec909032-d5fd-4dee-8dd2-53a895a98824": {
33
"turns": {
44
"1": {
5-
"state": {},
5+
"state": "null",
66
"api": "null",
77
"actions": "Two herry null herry ( Hotels suchen ) herry herry herry Hey, kannst du mir bei der Hotelbuchung helfen? <endofknowledge> herry <endofknowledge> herry <endofknowledge> herry <endofknowledge> herry <endofknowledge> herry DA: herry <endofknowledge> herry <endofknowledge> herry <endofknowledge> herry <endofknowledge> herry DA: sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet sweet s",
88
"response": [
99
"Tüpfel ( Hotels suchen ) Anfrage Ort, Anfrage Bewertung Tüpfel Tüpfel Hey, können Sie mir helfen bei der Buchung? <endofknowledge> ? <endofknowledge> <endofknowledge> title <endofknowledge> <endofknowledge> <endofknowledge> <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title <endofknowledge> title title title title title title title title title title title title title title title title title title title title title title title title ti"
1010
]
1111
},
1212
"2": {
13-
"state": {
14-
"Hotels suchen": {}
15-
},
13+
"state": "( Hotels suchen )",
1614
"api": "null",
1715
"actions": "Sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat sweat ",
1816
"response": [
1917
"Tüpfellig ( Hotelsuche ) Anfrage Sterne Tüpfellig ( Hotelsuche ) Anfrage Ort, Anfrage Bewertung Tüpfellig Kein bestimmtes Ziel, aber ich möchte ein Hotel, das mindestens 4 Sterne ist. <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> . <endofknowledge> ."
2018
]
2119
},
2220
"3": {
23-
"state": {
24-
"Hotels suchen": {}
25-
},
21+
"state": "( Hotels suchen )",
2622
"api": "null",
2723
"actions": "Sweat overnight null overnight ( hotels search ) location level_to \" keine Sorge \" , rating at_least \" 4 \" , stars level_to \" 5 \" sweat sweat sweat overnight ( hotels search ) location anfordern , quest rating AGENT_ Sweat ( hotels search ) request stars sweat stars sweat 5 stars. Response: sweat sweat <endofknowledge> sweat <endofknowledge> sweat <endofknowledge> sweat sweat swe",
2824
"response": [

0 commit comments

Comments
 (0)