Skip to content

`textattack` command, train models and augment CSVs from the command line, better docs, and more

Compare
Choose a tag to compare
@jxmorris12 jxmorris12 released this 24 Jun 23:56
· 1713 commits to master since this release
dc3fb96

Version 0.1.0 is our biggest release yet! Here's a summary of the changes:

Backwards compatibility note: python -m textattack <args> is renamed to python -m textattack attack <args>. Or, better yet, textattack attack <args>!

Big improvements

  • add textattack command (#132)
    • add textattack augment, textattack eval, textattack attack, textattack list (#132)
    • add textattack train, textattack peek-dataset, and lots of infrastructure for training models (#139)
  • Move all datasets to nlp format; temporarily remove non-NLP datasets (AGNews, English->German translation) (#134)

Smaller improvements

  • Better output formatted -- show labels ("Positive", "Entailment") and confidence score (91%) in output (#142)
  • add MaxLengthModification constraint that prevents modifications beyond tokenizer max_length (#143)
  • Add pytest tests and code formatting with black; run tests on Python 3.6, 3.7, 3.8 with Travis CI (#127, #136)
  • Update NLTK part-of-speech constraint and support part-of-speech tagging with FLAIR instead (#135)
  • add BERTScore constrained based on "BERTScore: Evaluating Text Generation with BERT" (Zhang et al, 2019) (#146)
  • make logging to file optional (#145)
  • Updates to Checkpoint class; track attack results in a worklist; attack resume fixes (#128, #141)
  • Silence Weights & Biases warning message when not being used (#130)
  • Optionally point all cache directories to a universal cache directory, TA_CACHE_DIR (#150)

Bug fixes

  • Fix a bug that can be encountered when resuming attacks from checkpoints (#149)
  • Fix a bug in Greedy word-importance-ranking deletion (#152)
  • Documentation updates and fixes (#153)