def preprocess_single_add_oracleids(input_data, oracle_mode="greedy", selections=3):
    """ Preprocess single data point to generate oracle summaries and
        sentence tokenization of the source text.

        Args:
            input_data (dict): An item from `SummarizationDataset`
            oracle_mode (str, optional): Sentence selection method.
                Defaults to "greedy".
            selections (int, optional): The number of sentence used as summary.
                Defaults to 3.
        Returns:
            Dictionary of fields "src", "src_txt", "tgt", "tgt_txt" and "oracle_ids"
    """

    oracle_ids = None
    if "tgt" in input_data:
        if oracle_mode == "greedy":
            oracle_ids = greedy_selection(
                input_data["src"], input_data["tgt"], selections
            )
        elif oracle_mode == "combination":
            oracle_ids = combination_selection(
                input_data["src"], input_data["tgt"], selections
            )
        input_data["oracle_ids"] = oracle_ids
    # input_data["src_txt"] = tokenize.sent_tokenize(input_data["src_txt"])
    return input_data
 Preprocess single data point to generate oracle summaries and
        sentence tokenization of the source text.

        Args:
            input_data (dict): An item from `SummarizationDataset`
            oracle_mode (str, optional): Sentence selection method.
                Defaults to "greedy".
            selections (int, optional): The number of sentence used as summary.
                Defaults to 3.
        Returns:
            Dictionary of fields "src", "src_txt", "tgt", "tgt_txt" and "oracle_ids"
    
utils_nlp/models/transformers/extractive_summarization.py