Ranker¶
Ranker sorts the objects in the Corpus by a given scoring function and annotates the objects with their rankings.
Example usage: Ranking users in r/Cornell by the number of comments they have made.
-
class
convokit.ranker.ranker.Ranker(obj_type: str, score_func: Callable[[convokit.model.corpusComponent.CorpusComponent], Union[int, float]], score_attribute_name: str = 'score', score_feat_name=None, rank_attribute_name: str = 'rank', rank_feat_name=None)¶ Ranker sorts the objects in the Corpus by a given scoring function and annotates the objects with their rankings.
Parameters: - obj_type – type of Corpus object to rank: ‘conversation’, ‘speaker’, or ‘utterance’
- score_func – function for computing the score of a given object
- score_attribute_name – metadata attribute name to use in annotation for score value, default: “score”
- rank_attribute_name – metadata attribute name to use in annotation for the rank value, default: “rank”
-
summarize(corpus: convokit.model.corpus.Corpus, selector: Callable[[convokit.model.corpusComponent.CorpusComponent], bool] = <function Ranker.<lambda>>)¶ Generate a dataframe indexed by object id, containing score + rank, and sorted by rank (in ascending order) of the objects in an annotated corpus, with an optional selector selecting which objects to be included in the dataframe
Parameters: - corpus – annotated target corpus
- selector – a (lambda) function that takes a Corpus object and returns True or False (i.e. include / exclude). By default, the selector includes all objects of the specified type in the Corpus.
Returns: a pandas DataFrame
-
summarize_objs(objs: List[convokit.model.corpusComponent.CorpusComponent])¶ Generate a dataframe indexed by object id, containing score + rank, and sorted by rank (in ascending order) of the objects in an annotated corpus, or a list of corpus objects
Parameters: objs – list of annotated corpus objects Returns: a pandas DataFrame
-
transform(corpus: convokit.model.corpus.Corpus, y=None, selector: Callable[[convokit.model.corpusComponent.CorpusComponent], bool] = <function Ranker.<lambda>>) → convokit.model.corpus.Corpus¶ Annotate corpus objects with scores and rankings.
Parameters: - corpus – target corpus
- selector – (lambda) function taking in a Corpus object and returning True / False; selects for Corpus objects to annotate.
Returns: annotated corpus
-
transform_objs(objs: List[convokit.model.corpusComponent.CorpusComponent])¶ Annotate list of Corpus objects with scores and rankings.
Parameters: objs – target list of Corpus objects Returns: list of annotated COrpus objects