def METHOD_NAME(features):
    provenance = {}
    for feature in features:
        input_col = feature.base_features[0].get_name()
        # Return a copy because `get_feature_names` returns a reference to the names
        output_features = [name for name in feature.get_feature_names()]
        if input_col not in provenance:
            provenance[input_col] = output_features
        else:
            provenance[input_col] += output_features
    return provenance