5 Provides a REST-API to get the average sentiment of a given list of texts
6 The service uses the the sentiment analysis service indico.
8 `GET`: `/` Displays the expected input for a POST
10 `GET`: `/health` Returns HTTP Status 200 if service is running
12 `POST`: `/` Calculates the average sentiment for a given list of texts
13 - param: Term[] as Content-Tye: `application/json`
14 example body of request:
18 'text': 'sample text 1',
21 'text': 'sample text 2',
24 'text': 'sample text 3',
28 JSON string may contain more value-key pairs than 'text', but 'text' is needed for the sentiment analysis. Everything else will be ignored.
29 For more examples see curl commands in local -> commands.
32 - `409`: input string does not meet specifications
33 - `503`: indico sentiment analysis not available
36 This sentiment analysis service uses and relies on the online sentiment analysis indico ([https://www.indico.io]).
37 The api key can be set in the file indico_api_key.txt. The current key does work, however excessive use of this service will require you to provide your own key, since the amount of requests for this key is limited.
40 - `docker build -t sentiment_analysis .`
41 - `docker container run -d -p YOUR_PORT:8081 sentiment_analysis`
50 - `python3.7 sentiment_analysis.py`
51 - positive sentiment test example: `curl -v -H 'content-type: application/json' -X POST http://localhost:8081 -d '[{"text":"happy birthday, i love you"}]'`
52 - negative sentiment test example: `curl -v -H 'content-type: application/json' -X POST http://localhost:8081 -d '[{"text":"i hate you, please die"}]'`
55 Under http://localhost:8081/health the service returns HTTP Status 200 if it is running OK.
57 curl -v -X GET http://localhost:8081/health