As you can see, the structure and annotation schema of the response is the same.
This makes it very easy to compare and migrate to different services.
Service interoperability is not only useful for users.
It is also key for other features such as [automated evaluation](#Evaluation).
This is a compelling reason to adapt existing services to use the Senpy API.
In fact, the `sentiment140` senpy service is proxy to the public [Sentiment 140 service](http://www.sentiment140.com/).
%% Cell type:markdown id: tags:
## Emotion analysis
%% Cell type:markdown id: tags:
Senpy uses the `onyx` vocabulary to represent emotions, which incorporates the notion of `EmotionSet`'s, an emotion that is composed of several emotions.
In a nutshell, an `Entry` is linked to one or more `EmotionSet`, which in turn is made up of one or more `Emotion`.
Let's illustrate it with an example, using the `emotion-depechemood` plugin.