def __call__(self, input_doc_ids: List[List[Any]], input_doc_scores: List[List[float]]) -> \
            Tuple[List[List], List[List]]:
        """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

        """
        batch_ids = []
        batch_scores = []
        for instance_ids, instance_scores in zip(input_doc_ids, input_doc_scores):
            instance_probas = []
            for idx, score in zip(instance_ids, instance_scores):
                pop = self.pop_dict.get(idx, self.mean_pop)
                features = [score, pop, score * pop]
                prob = self.clf.predict_proba([features])
                instance_probas.append(prob[0][1])

            sort = sorted(enumerate(instance_probas), key=itemgetter(1), reverse=True)
            sorted_probas = [item[1] for item in sort]
            sorted_ids = [instance_ids[item[0]] for item in sort]

            if self.active:
                sorted_ids = sorted_ids[:self.top_n]
                sorted_probas = sorted_probas[:self.top_n]

            batch_ids.append(sorted_ids)
            batch_scores.append(sorted_probas)

        return batch_ids, batch_scores
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

        
deeppavlov/models/doc_retrieval/pop_ranker.py