A voter (also called ranker, or source), submits preferences for one or more topics (queries) in the form of a ranked preference list. The preference lists of all voters are subsequently aggregated by a rank aggregation method in order to generate a single consensus ranking. In FLAGR, a Voter submits a single InputList for each Query.
A Voter object possesses two properties:
- A unique string identifier that represents the voter's name, and
- A weight value that reflects the importance (degree of expertise) of the voter for a particular query. Non-weighted rank aggregation methods consider that all voters are equivalent, therefore, their lists are processed in an identical manner. In contrast, the weighted methods apply unsupervised learning techniques and exploratory analysis to automatically determine the significance of each voter.
The weight data type can be eitherfloat, ordouble; this is determined by thescore_tdata type definition inflagr.cpp.
Implementation files
The Voter class is defined in the src/Voter.h header file; its member functions are implemented in src/Voter.cpp.
The following interactive block diagram depicts the functionality of the Voter class inside the entire architecture of FLAGR.
