def __call__(self, input_doc_ids: List[List[Any]], input_doc_scores: List[List[float]]) ->Tuple[List[List], List[List]]:
batch_ids = []<EOL>batch_scores = []<EOL>for instance_ids, instance_scores in zip(input_doc_ids, input_doc_scores):<EOL><INDENT>instance_probas = []<EOL>for idx, score in zip(instance_ids, instance_scores):<EOL><INDENT>pop = self.pop_dict.get(idx, self.mean_pop)<EOL>features = [score, pop, score * pop]<EOL>prob = self.clf.predict_proba([features])<EOL>instance_probas.append(prob[<NUM_LIT:0>][<NUM_LIT:1>])<EOL><DEDENT>sort = sorted(enumerate(instance_probas), key=itemgetter(<NUM_LIT:1>), reverse=True)<EOL>sorted_probas = [item[<NUM_LIT:1>] for item in sort]<EOL>sorted_ids = [instance_ids[item[<NUM_LIT:0>]] for item in sort]<EOL>if self.active:<EOL><INDENT>sorted_ids = sorted_ids[:self.top_n]<EOL>sorted_probas = sorted_probas[:self.top_n]<EOL><DEDENT>batch_ids.append(sorted_ids)<EOL>batch_scores.append(sorted_probas)<EOL><DEDENT>return batch_ids, batch_scores<EOL>
Get tfidf scores and tfidf ids, re-rank them by applying logistic regression classifier,
        output pop ranker ids and pop ranker scores.

         Args:
            input_doc_ids: top input doc ids of tfidf ranker
            input_doc_scores: top input doc scores of tfidf ranker corresponding to doc ids

        Returns:
            top doc ids of pop ranker and their corresponding scores