def get_dataset(corpora):
    """
    Return a dictionary of subjectID -> [path_to_resource].
    """
    # TODO: make filter methods for the files

    def make_posix_path(dirpath, filename):
        dirpath = posixpath.sep.join(dirpath.split(os.sep))
        return posixpath.join(dirpath, filename)

    wav_files_in_corpora = filter(
        lambda x: x.endswith('.wav'),
        sum(
            [list(map(lambda x: make_posix_path(corpus, x), os.listdir(corpus))) for corpus in corpora],
            []
        ),
    )

    dataset = {}
    for wav_file in wav_files_in_corpora:
        subjectID = os.path.split(wav_file)[-1].split('.')[0].split('_')[0]

        if subjectID in dataset:
            dataset[subjectID].append(wav_file)
        else:
            dataset[subjectID] = [wav_file]

    return dataset
Return a dictionary of subjectID -> [path_to_resource].