I have used a little of both spaCy and allenNLP in my NLP projects. I like them both as they work very well with PyTorch (my DL framework choice!). But, I still cannot decide which one to master in a long term so that I can increase the pace of my NLP projects in future.
Can someone please share their experience or suggest the differences between these 2 libraries or pros and cons?
1 Answer
spaCy used to recommended (archive link) that you use spaCy when you want production-grade performance but don't need to customize your architecture. They recommended that you use allenNLP when you want to explore different architectures or use the state-of-the-art models. They recommended against using allenNLP for production, though.
Since spaCy 3.0, they now recommend (live link) that you can also use spaCy for customized and state-of-the-art models. They still don't recommend spaCy for language generation models or for active research.