  Sentiment analysis (SA) systems, though widely applied in many domains, have
been demonstrated to produce biased results. Some research works have been done
in automatically generating test cases to reveal unfairness in SA systems, but
the community still lacks tools that can monitor and uncover biased predictions
at runtime. This paper fills this gap by proposing BiasRV, the first tool to
raise an alarm when a deployed SA system makes a biased prediction on a given
input text. To implement this feature, BiasRV dynamically extracts a template
from an input text and from the template generates gender-discriminatory
mutants (semantically-equivalent texts that only differ in gender information).
Based on popular metrics used to evaluate the overall fairness of an SA system,
we define distributional fairness property for an individual prediction of an
SA system. This property specifies a requirement that for one piece of text,
mutants from different gender classes should be treated similarly as a whole.
Verifying the distributional fairness property causes much overhead to the
running system. To run more efficiently, BiasRV adopts a two-step heuristic:
(1) sampling several mutants from each gender and checking if the system
predicts them as of the same sentiment, (2) checking distributional fairness
only when sampled mutants have conflicting results. Experiments show that
compared to directly checking the distributional fairness property for each
input text, our two-step heuristic can decrease overhead used for analyzing
mutants by 73.81% while only resulting in 6.7% of biased predictions being
missed. Besides, BiasRV can be used conveniently without knowing the
implementation of SA systems. Future researchers can easily extend BiasRV to
detect more types of bias, e.g. race and occupation.
