diff --git a/requirements.txt b/requirements.txt index 46e40a0..5860909 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ Flask==0.10.1 gunicorn==19.0.0 +requests==2.4.1 diff --git a/senpy/nif_server.py b/senpy/nif_server.py index 4f0e65b..60f1422 100644 --- a/senpy/nif_server.py +++ b/senpy/nif_server.py @@ -15,7 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ''' -Simple Sentiment Analysis server for EUROSENTIMENT +Simple Sentiment Analysis server ''' from flask import Blueprint, render_template, request, jsonify, current_app import config @@ -42,6 +42,9 @@ PARAMS = {"input": {"aliases": ["i", "input"], "required": False, "options": ["json-ld"], }, + "algorithm": {"aliases": ["algorithm", "a"], + "required": False, + }, "language": {"aliases": ["language", "l"], "required": False, "options": ["es", "en"], diff --git a/senpy/plugins/__init__.py b/senpy/plugins/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/senpy/plugins/sentiment140.py b/senpy/plugins/sentiment140.py new file mode 100644 index 0000000..2751727 --- /dev/null +++ b/senpy/plugins/sentiment140.py @@ -0,0 +1,41 @@ +''' +SENTIMENT140 +============= + +* http://www.sentiment140.com/api/bulkClassifyJson +* Method: POST +* Parameters: JSON Object (that is copied to the result) + * text + * query + * language + * topic + +* Example response: +```json +{"data": [{"text": "I love Titanic.", "id":1234, "polarity": 4}, + {"text": "I hate Titanic.", "id":4567, "polarity": 0}]} +``` +''' +import requests +import json + +ENDPOINT_URI = "http://www.sentiment140.com/api/bulkClassifyJson" + +def analyse(texts): + parameters = {"data": []} + if isinstance(texts, list): + for text in texts: + parameters["data"].append({"text": text}) + else: + parameters["data"].append({"text": texts}) + + res = requests.post(ENDPOINT_URI, json.dumps(parameters)) + res.json() + return res.json() + +def test(): + print analyse("I love Titanic") + print analyse(["I love Titanic", "I hate Titanic"]) + +if __name__ == "__main__": + test()