Skip to main content

Generic explainability architecture for text machine learning models

Project description

A generic explainability architecture for explaining text machine learning models.

PyPI Python_version Build_passing License

Marcel Robeer, 2021

Installation

Method Instructions
pip Install from PyPI via pip3 install text_explainability.
Local Clone this repository and install via pip3 install -e . or locally run python3 setup.py install.

Example usage

See example_usage.md to see an example of how the package can be used, or run the lines in example_usage.py to do explore it interactively.

Explanation methods included

text_explainability includes methods for model-agnostic local explanation and global explanation. Each of these methods can be fully customized to fit the explainees' needs.

Type Explanation method Description Paper/link
Local explanation LIME Calculate feature attribution with Local Intepretable Model-Agnostic Explanations (LIME). [Ribeiro2016], interpretable-ml/lime
KernelSHAP Calculate feature attribution with Shapley Additive Explanations (SHAP). [Lundberg2017], interpretable-ml/shap
LocalTree Fit a local decision tree around a single decision. [Guidotti2018]
FoilTree Fit a local contrastive/counterfactual decision tree around a single decision. [Robeer2018]
Global explanation TokenFrequency Show the top-k number of tokens for each ground-truth or predicted label.
TokenInformation Show the top-k token mutual information for a dataset or model. wikipedia/mutual_information
KMedoids Embed instances and find top-n prototypes (can also be performed for each label using LabelwiseKMedoids). interpretable-ml/prototypes
MMDCritic Embed instances and find top-n prototypes and top-n criticisms (can also be performed for each label using LabelwiseMMDCritic). [Kim2016], interpretable-ml/prototypes

Releases

text_explainability is officially released through PyPI.

See CHANGELOG.md for a full overview of the changes for each version.

Maintenance

Contributors

Todo

Tasks yet to be done:

  • Implement local post-hoc explanations:
    • Implement Anchors
  • Implement global post-hoc explanations:
    • Representative subset
  • Add support for regression models
  • More complex data augmentation
    • Top-k replacement (e.g. according to LM / WordNet)
    • Tokens to exclude from being changed
    • Bag-of-words style replacements
  • Add rule-based return type
  • Write more tests

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

text_explainability-0.4.1.tar.gz (28.9 kB view hashes)

Uploaded Source

Built Distribution

text_explainability-0.4.1-py3-none-any.whl (34.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page