TextAttack: Lessons learned in designing Python frameworks for NLP

John Morris, Jin Yong Yoo, Yanjun Qi


Abstract
TextAttack is an open-source Python toolkit for adversarial attacks, adversarial training, and data augmentation in NLP. TextAttack unites 15+ papers from the NLP adversarial attack literature into a single framework, with many components reused across attacks. This framework allows both researchers and developers to test and study the weaknesses of their NLP models. To build such an open-source NLP toolkit requires solving some common problems: How do we enable users to supply models from different deep learning frameworks? How can we build tools to support as many different datasets as possible? We share our insights into developing a well-written, well-documented NLP Python framework in hope that they can aid future development of similar packages.
Anthology ID:
2020.nlposs-1.18
Volume:
Proceedings of Second Workshop for NLP Open Source Software (NLP-OSS)
Month:
November
Year:
2020
Address:
Online
Editors:
Eunjeong L. Park, Masato Hagiwara, Dmitrijs Milajevs, Nelson F. Liu, Geeticka Chauhan, Liling Tan
Venue:
NLPOSS
SIG:
Publisher:
Association for Computational Linguistics
Note:
Pages:
126–131
Language:
URL:
https://aclanthology.org/2020.nlposs-1.18
DOI:
10.18653/v1/2020.nlposs-1.18
Bibkey:
Cite (ACL):
John Morris, Jin Yong Yoo, and Yanjun Qi. 2020. TextAttack: Lessons learned in designing Python frameworks for NLP. In Proceedings of Second Workshop for NLP Open Source Software (NLP-OSS), pages 126–131, Online. Association for Computational Linguistics.
Cite (Informal):
TextAttack: Lessons learned in designing Python frameworks for NLP (Morris et al., NLPOSS 2020)
Copy Citation:
PDF:
https://aclanthology.org/2020.nlposs-1.18.pdf
Video:
 https://slideslive.com/38939756