'Load global fixed set of candidate labels that the teacher provides
every example (the true labels for a specific example are also added to
this set, so that it\'s possible to get the right answer).'

def load_cands(self, path):

    if (path is None):
        return None
    cands = []
    lines_have_ids = False
    cands_are_replies = False
    cnt = 0
    with open(path) as read:
        for line in read:
            line = line.strip().replace('\\n', '\n')
            if (len(line) > 0):
                cnt = (cnt + 1)
                if ((cnt == 1) and (line[0:2] == '1    ')):
                    lines_have_ids = True
                if ((' DCTB ' in line) and (not cands_are_replies)):
                    cands_are_replies = True
                    cands = []
                if lines_have_ids:
                    space_idx = line.find('    ')
                    line = line[(space_idx + 1):]
                    if cands_are_replies:
                        sp = line.split(' DCTB ')
                        if ((len(sp) > 1) and (sp[1] != '')):
                            cands.append(sp[1])
                    else:
                        cands.append(line)
                else:
                    cands.append(line)
    return cands
