omnixai.explainers.nlp package

omnixai.explainers.nlp.auto module

class omnixai.explainers.nlp.auto.NLPExplainer(explainers, mode, model, data=[], preprocess=None, postprocess=None, params=None)

Bases: AutoExplainerBase

The class derived from AutoExplainerBase for NLP tasks, allowing users to choose multiple explainers and generate different explanations at the same time.

explainer = NLPExplainer(
    explainers=["ig", "lime"],
    mode="classification",
    model=model,
    preprocess=preprocess_function,
    postprocess=postprocess_function
)
local_explanations = explainer.explain(x)
Parameters
  • explainers (Collection) – The names or alias of the explainers to use.

  • mode (str) – The task type, e.g. classification, regression or qa.

  • model (Any) – The machine learning model to explain, which can be a scikit-learn model, a tensorflow model, a torch model, or a black-box prediction function.

  • data (Text) – The training data used to initialize explainers. It can be empty, e.g., data = Text(), for those explainers such as LIME and SHAP that don’t require training data.

  • preprocess (Optional[Callable]) – The preprocessing function that converts the raw inputs into the inputs of model.

  • postprocess (Optional[Callable]) – The postprocessing function that transforms the outputs of model to a user-specific form, e.g., the predicted probability for each class.

  • params (Optional[Dict]) – A dict containing the additional parameters for initializing each explainer, e.g., params[“lime”] = {“param_1”: param_1, …}.

static list_explainers()

List the supported explainers.

Subpackages