TextAttack
OpenAttack
TextAttack | OpenAttack | |
---|---|---|
3 | 1 | |
2,761 | 653 | |
1.3% | 1.5% | |
8.3 | 0.0 | |
about 1 month ago | 10 months ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
TextAttack
-
Preprocessing methods besides stop words, regular expressions, lemmatization and stemming for an NLP classification problem
Could have a look at what's available in the augmentor here https://github.com/QData/TextAttack. I'm not experienced with NLP so I may be way off here
-
TextAttack VS OpenAttack - a user suggested alternative
2 projects | 6 Jul 2022
-
[D] Advanced Takeaways from fast.ai book
Text data augmentation - negate words, replace words with similes, perturb word embeddings (nice github repo for this)
OpenAttack
-
TextAttack VS OpenAttack - a user suggested alternative
2 projects | 6 Jul 2022
Similar to TextAttack, OpenAttack adopts modular design to assemble various attack models, in order to enable quick implementation of existing or new attack models. But OpenAttack is different from and complementary to TextAttack mainly in the following three aspects: 1) Support for all attacks. TextAttack utilizes a relatively rigorous framework to unify different attack models. However, this framework is naturally not suitable for sentence-level adversarial attacks, an important and typical kind of textual adversarial attacks. Thus, no sentence-level attack models are included in TextAttack. In contrast, OpenAttack adopts a more flexible framework that supports all types of attacks including sentence-level attacks. 2) Multilinguality. TextAttack only covers English textual attacks while OpenAttack supports English and Chinese now. And its extensible design enables quick support for more languages. 3) Parallel processing. Running some attack models maybe very time-consuming, e.g., it takes over 100 seconds to attack an instance with the SememePSO attack model (Zang et al., 2020). To address this issue, OpenAttack additionally provides support for multi-process running of attack models to improve attack efficiency.
What are some alternatives?
TextFooler - A Model for Natural Language Attack on Text Classification and Inference
allennlp - An open-source NLP research library, built on PyTorch.
adversarial-robustness-toolbox - Adversarial Robustness Toolbox (ART) - Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams
KitanaQA - KitanaQA: Adversarial training and data augmentation for neural question-answering models
pytorch-lightning - Build high-performance AI models with PyTorch Lightning (organized PyTorch). Deploy models with Lightning Apps (organized Python to build end-to-end ML systems). [Moved to: https://github.com/Lightning-AI/lightning]
flair - A very simple framework for state-of-the-art Natural Language Processing (NLP)
auto-attack - Code relative to "Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks"
spaCy - 💫 Industrial-strength Natural Language Processing (NLP) in Python
advertorch - A Toolbox for Adversarial Robustness Research
AIJack - Security and Privacy Risk Simulator for Machine Learning (arXiv:2312.17667)
alpha-beta-CROWN - alpha-beta-CROWN: An Efficient, Scalable and GPU Accelerated Neural Network Verifier (winner of VNN-COMP 2021, 2022, and 2023)