import csv


def read_scores(csv_file):
    """
    Reads the labels and scores from the CSV file.

    :param csv_file: the CSV file to read
    :type csv_file: str
    :return: tuple of the dictionary with label -> score relations and the top label
    :rtype: tuple
    """
    label = "?"
    prob = 0.0
    label_scores = dict()
    with open(csv_file, "r") as cf:
        reader = csv.DictReader(cf)
        for row in reader:
            if ('probability' in row) and ('label' in row):
                label_scores[row['label']] = float(row['probability'])
                if float(row['probability']) > prob:
                    prob = float(row['probability'])
                    label = row['label']
    return label_scores, label