The other day I learned about ascent, which is a spaCy plugin for sentiment that builds on top of grammatical rules.

What's cool about the approach is that it can go beyond just "pos/neg" scores. It can also highlight how this belief is formed by highlighting some of the spans in the text. Here's an example screenshot from the docs:

Under the hood, it also uses the grammatical information about spaCy to deal with negation and intensity. This is shown explicitly by another image from the docs:

It's a really neat idea and I'm curious to hear how it works in practice. It's a great use-case for the grammar information that spaCy provides and I really like how you're able to dive into the model and get an explanation of how the belief got formed. And sure, the spaCy model won't be perfect, but it's a nice effort. Not many sentiment models do that.

You can learn more about the project, by checking the Github page. The same author also wrote augmenty which is a nice text augmentation library which might also be worth a look.