in code/scripts/utils.py [0:0]
def get_label_indices(input_file):
_, _, train_labels, train_intents = load_tsv(input_file)
intent2idx = {}
for intent in train_intents:
if intent not in intent2idx:
intent2idx[intent] = len(intent2idx)
label2idx = {}
for labels in train_labels:
for l in labels:
if l not in label2idx:
label2idx[l] = len(label2idx)
new_labels = []
for label in label2idx.keys():
if label.startswith('B'):
cont_label = 'I' + label[1:]
if cont_label not in label2idx:
new_labels.append(cont_label)
for label in new_labels:
label2idx[label] = len(label2idx)
if PAD not in label2idx:
label2idx[PAD] = len(label2idx)
return intent2idx, label2idx