langfair.metrics.counterfactual.counterfactual.CounterfactualMetrics#
- class langfair.metrics.counterfactual.counterfactual.CounterfactualMetrics(metrics=['Cosine', 'Rougel', 'Bleu', 'Sentiment Bias'], neutralize_tokens=True)#
Bases:
object
- __init__(metrics=['Cosine', 'Rougel', 'Bleu', 'Sentiment Bias'], neutralize_tokens=True)#
This class computes few or all counterfactual metrics supported LangFair.
- Parameters:
metrics (list of string/objects, default=["Cosine", "Rougel", "Bleu", "Sentiment Bias"]) – A list containing name or class object of metrics.
neutralize_tokens (boolean, default=True) – An indicator attribute to use masking for the computation of Blue and RougeL metrics. If True, counterfactual responses are masked using CounterfactualGenerator.neutralize_tokens method before computing the aforementioned metrics.
Methods
__init__
([metrics, neutralize_tokens])This class computes few or all counterfactual metrics supported LangFair.
evaluate
(texts1, texts2[, attribute])This method evaluate the counterfactual metrics values for the provided pair of texts.
- evaluate(texts1, texts2, attribute=None)#
This method evaluate the counterfactual metrics values for the provided pair of texts.
- Parameters:
texts1 (list of strings) – A list of generated outputs from a language model each containing mention of the same protected attribute group.
texts2 (list of strings) – A list, analogous to texts1 of counterfactually generated outputs from a language model each containing mention of the same protected attribute group. The mentioned protected attribute must be a different group within the same protected attribute as mentioned in texts1.
attribute ({'gender', 'race'}, default='gender') – Specifies whether to use race or gender for neutralization
- Returns:
Dictionary containing values of counterfactual metrics
- Return type:
dict