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 `POST`: `/` Calculates the average sentiment for a given list of texts
11 - param: Term[] as Content-Tye: `application/json`
12 example body of request:
16 'text': 'sample text 1',
19 'text': 'sample text 2',
22 'text': 'sample text 3',
26 JSON string may contain more value-key pairs than 'text', but 'text' is needed for the sentiment analysis. Everything else will be ignored.
27 For more examples see curl commands in local -> commands.
30 - `409`: input string does not meet specifications
31 - `503`: indico sentiment analysis not available
34 This sentiment analysis service uses and relies on the online sentiment analysis indico ([https://www.indico.io]).
35 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.
38 - `docker build -t sentiment_analysis .`
39 - `docker container run -d -p YOUR_PORT:8081 sentiment_analysis`
48 - `python3.7 sentiment_analysis.py`
49 - positive sentiment test example: `curl -v -H 'content-type: application/json' -X POST http://localhost:8081 -d '[{"text":"happy birthday, i love you"}]'`
50 - negative sentiment test example: `curl -v -H 'content-type: application/json' -X POST http://localhost:8081 -d '[{"text":"i hate you, please die"}]'`
53 Under http://localhost:8081/health the service returns HTTP Status 200 if it is running OK.
55 curl -v -X GET http://localhost:8081/health