/Alexa-News-Sentiment-Analyzer

This Alexa skill analyzes news and categorize it as positive, negative or neutral

Primary LanguagePython

1. DynamoDB Table: Create a DynamoDB table named "news" with Partition key "sentiment" and check "Add sort key" and add timestamp. Please refer to the screenshot dynamotable_news.jpg for reference.

2. Register at newsapi.org for your own API Key: Once you get your key replace in IOTLambda.py lambda (under iotButton_Lambda folder).

3. Lambdas: There are two Lambdas - IOTLambda.py (under iotButton_Lambda folder) and AlexaLambda.py (under Alexa_Assets folder). Assign the arn of IOTLambda.py to IOT button and AlexaLambda.py to Alexa skill endpoint.

4. If you DON'T have an IOT button: Not to worry, we can simulate iot button. Create IOTLambda.py and then do the following:

A. Configure a test event named "singleclick" with below json:

{ "clickType": "SINGLE" }

This testevent will act as IOT button single click. If you run this test, it'd grab the news headlines, gather sentiment and insert into DynamoDB

B. Configure a test event named "doubleclick" with below json:

{ "clickType": "DOUBLE" }

This testevent will act as IOT button double click. If you run this test, it'd delete all the existing news from DynamoDB

5. High Level Design Diagrams: IOT button design diagram is kept at iot_button_design.png and Alexa design illustrated in alexa_design.png

Contact Author: If you like what you see and want to connect with me, send a linkedin invite to https://www.linkedin.com/in/rajdeep-saha-4ba24744/