omnixai.explainers.nlp.specific package
The integrated-gradient explainer for NLP tasks. |
omnixai.explainers.nlp.specific.ig module
The integrated-gradient explainer for NLP tasks.
- class omnixai.explainers.nlp.specific.ig.IntegratedGradientText(model, embedding_layer, preprocess_function, mode='classification', id2token=None, tokenizer=None, **kwargs)
Bases:
ExplainerBaseThe integrated-gradient explainer for NLP tasks. If using this explainer, please cite the original work: https://github.com/ankurtaly/Integrated-Gradients.
- Parameters
model – The model to explain, whose type can be tf.keras.Model or torch.nn.Module.
embedding_layer – The embedding layer in the model, which can be tf.keras.layers.Layer or torch.nn.Module.
preprocess_function (
Callable) – The pre-processing function that converts the raw inputs into the inputs ofmodel. The first output ofpreprocess_functionmust be the token ids.mode (
str) – The task type, e.g., classification or regression.id2token (
Optional[Dict]) – The mapping from token ids to tokens. If tokenizer is set, id2token will be ignored.tokenizer (
Optional[Callable]) – The tokenizer for processing text inputs, i.e., tokenizers in HuggingFace.
- explanation_type = 'local'
- alias = ['ig', 'integrated_gradient']
- explain(X, y=None, **kwargs)
Generates the word/token-importance explanations for the input instances.
- Parameters
X (
Text) – A batch of input instances.y – A batch of labels to explain. For regression,
yis ignored. For classification, the top predicted label of each input instance will be explained wheny = None.kwargs – Additional parameters, e.g.,
stepsfor IntegratedGradient.compute_integrated_gradients.
- Return type
- Returns
The explanations for all the instances, e.g., word/token importance scores.