Skip to content

Instantly share code, notes, and snippets.

@alexellis
Created May 2, 2017 10:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save alexellis/abd084d1f57f97198389bcad731c3d29 to your computer and use it in GitHub Desktop.
Save alexellis/abd084d1f57f97198389bcad731c3d29 to your computer and use it in GitHub Desktop.
Sentiment Analysis function for FaaS
FROM python:2.7-alpine
RUN pip install textblob
RUN python -m textblob.download_corpora
ADD https://github.com/alexellis/faas/releases/download/0.5.1-alpha/fwatchdog /usr/bin
RUN chmod +x /usr/bin/fwatchdog
WORKDIR /root/
COPY handler.py .
ENV fprocess="python handler.py"
HEALTHCHECK --interval=1s CMD [ -e /tmp/.lock ] || exit 1
CMD ["fwatchdog"]
import sys
import json
from textblob import TextBlob
def get_stdin():
buf = ""
for line in sys.stdin:
buf = buf + line
return buf
if(__name__ == "__main__"):
st = get_stdin()
blob = TextBlob(st)
res = {
"polarity": 0,
"subjectivity": 0
}
for sentence in blob.sentences:
res["subjectivity"] = res["subjectivity"] + sentence.sentiment.subjectivity
res["polarity"] = res["polarity"] + sentence.sentiment.polarity
total = len(blob.sentences)
res["sentence_count"] = total
res["polarity"] = res["polarity"] / total
res["subjectivity"] = res["subjectivity"] / total
print(json.dumps(res))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment