def METHOD_NAME(keyword_index: int,
                         ds: paddle.io.Dataset,
                         score_file: os.PathLike):
    score_table = {}  # {utt_id: scores_over_frames}
    with open(score_file, 'r', encoding='utf8') as fin:
        for line in fin:
            arr = line.strip().split()
            key = arr[0]
            current_keyword = arr[1]
            str_list = arr[2:]
            if int(current_keyword) == keyword_index:
                scores = list(map(float, str_list))
                if key not in score_table:
                    score_table.update({key: scores})
    keyword_table = {}  # scores of keyword utt_id
    filler_table = {}  # scores of non-keyword utt_id
    filler_duration = 0.0
    for key, index, duration in zip(ds.keys, ds.labels, ds.durations):
        assert key in score_table
        if index == keyword_index:
            keyword_table[key] = score_table[key]
        else:
            filler_table[key] = score_table[key]
            filler_duration += duration
    return keyword_table, filler_table, filler_duration