few updates

- changed swap_num function to use the whole text of the abstract
(doesn't work per word)
- moved feature generation to a generate_features function, and stored
as class variables to avoid repeating the generation x 10
- updated to use the flatten=True argument in pipeline