def METHOD_NAME(example: tf.Tensor):
    label_defaults = [[0]]
    dense_defaults = [
        [0.0] for _ in range(self._num_dense_features)]
    num_sparse_features = len(self._vocab_sizes)
    categorical_defaults = [
        [0] for _ in range(num_sparse_features)]
    record_defaults = label_defaults + dense_defaults + categorical_defaults
    fields = tf.io.decode_csv(example, record_defaults, field_delim="\t", na_value="-1")
    num_labels = 1
    label = tf.reshape(fields[0], [batch_size, 1])
    features = {}
    num_dense = len(dense_defaults)
    dense_features = []
    offset = num_labels
    for idx in range(num_dense):
        dense_features.append(fields[idx + offset])
    features["dense_features"] = tf.stack(dense_features, axis=1)
    offset += num_dense
    features["sparse_features"] = {}
    for idx in range(num_sparse_features):
        features["sparse_features"][str(idx)] = fields[idx + offset]
    return features, label