mirror of
https://github.com/gsi-upm/senpy
synced 2024-11-22 16:12:29 +00:00
Added sentiment-140
This commit is contained in:
parent
51b4737c43
commit
076813cb1a
40
sentiment-140/sentiment-140.py
Normal file
40
sentiment-140/sentiment-140.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
from senpy.plugins import SentimentPlugin
|
||||||
|
from senpy.models import Results, Sentiment, Entry
|
||||||
|
|
||||||
|
|
||||||
|
class Sentiment140Plugin(SentimentPlugin):
|
||||||
|
def analyse(self, **params):
|
||||||
|
lang = params.get("language", "auto")
|
||||||
|
res = requests.post("http://www.sentiment140.com/api/bulkClassifyJson",
|
||||||
|
json.dumps({"language": lang,
|
||||||
|
"data": [{"text": params["input"]}]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
p = params.get("prefix", None)
|
||||||
|
response = Results(prefix=p)
|
||||||
|
polarity_value = self.maxPolarityValue*int(res.json()["data"][0]
|
||||||
|
["polarity"]) * 0.25
|
||||||
|
polarity = "marl:Neutral"
|
||||||
|
neutral_value = self.maxPolarityValue / 2.0
|
||||||
|
if polarity_value > neutral_value:
|
||||||
|
polarity = "marl:Positive"
|
||||||
|
elif polarity_value < neutral_value:
|
||||||
|
polarity = "marl:Negative"
|
||||||
|
|
||||||
|
entry = Entry(id="Entry0",
|
||||||
|
nif__isString=params["input"])
|
||||||
|
sentiment = Sentiment(id="Sentiment0",
|
||||||
|
prefix=p,
|
||||||
|
marl__hasPolarity=polarity,
|
||||||
|
marl__polarityValue=polarity_value)
|
||||||
|
sentiment.prov__wasGeneratedBy = self.id
|
||||||
|
entry.sentiments = []
|
||||||
|
entry.sentiments.append(sentiment)
|
||||||
|
entry.language = lang
|
||||||
|
response.entries.append(entry)
|
||||||
|
return response
|
18
sentiment-140/sentiment-140.senpy
Normal file
18
sentiment-140/sentiment-140.senpy
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "sentiment-140",
|
||||||
|
"module": "sentiment-140",
|
||||||
|
"description": "What my plugin broadly does",
|
||||||
|
"author": "@balkian",
|
||||||
|
"version": "0.1",
|
||||||
|
"extra_params": {
|
||||||
|
"language": {
|
||||||
|
"@id": "lang_sentiment140",
|
||||||
|
"aliases": ["language", "l"],
|
||||||
|
"required": false,
|
||||||
|
"options": ["es", "en", "auto"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": {},
|
||||||
|
"maxPolarityValue": "1",
|
||||||
|
"minPolarityValue": "0"
|
||||||
|
}
|
@ -23,6 +23,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
"requirements": {}
|
"requirements": {},
|
||||||
|
"maxPolarityValue": "1",
|
||||||
|
"minPolarityValue": "-1"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user