diff --git a/Project/SentimentAnalyzer.ipynb b/Project/SentimentAnalyzer.ipynb index acad8d8..ae5bc58 100644 --- a/Project/SentimentAnalyzer.ipynb +++ b/Project/SentimentAnalyzer.ipynb @@ -2,17 +2,1495 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ - "# You may start here" + "import pandas as pd\n", + "from textblob import TextBlob\n", + "\n", + "# Assuming 'product' is your DataFrame\n", + "# Replace the following line with loading your actual data into 'product'\n", + "# Sentiment Analysis Function\n", + "def sentimentAnalyzer(text):\n", + " if pd.isna(text):\n", + " return 0, 0, 'NaN' # You can customize this for NaN values\n", + " blob = TextBlob(str(text))\n", + " #the polarity is (-1,1) the sbjectivity (0,1)\n", + " sentiment_polarity = blob.sentiment.polarity\n", + " sentiment_subjectivity = blob.sentiment.subjectivity\n", + "\n", + " # Determine the sentiment label based on polarity\n", + " if sentiment_polarity > 0:\n", + " sentiment_label = 'Positive'\n", + " elif sentiment_polarity < 0:\n", + " sentiment_label = 'Negative'\n", + " else:\n", + " sentiment_label = 'Neutral'\n", + "\n", + " return sentiment_polarity, sentiment_subjectivity, sentiment_label" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\samas\\AppData\\Local\\Temp\\ipykernel_29452\\386402769.py:3: DtypeWarning: Columns (1,10) have mixed types. Specify dtype option on import or set low_memory=False.\n", + " df = pd.read_csv(\"data.csv\")\n" + ] + }, + { + "data": { + "text/html": [ + "
| \n", + " | id | \n", + "name | \n", + "asins | \n", + "brand | \n", + "categories | \n", + "keys | \n", + "manufacturer | \n", + "reviews.date | \n", + "reviews.dateAdded | \n", + "reviews.dateSeen | \n", + "... | \n", + "reviews.doRecommend | \n", + "reviews.id | \n", + "reviews.numHelpful | \n", + "reviews.rating | \n", + "reviews.sourceURLs | \n", + "reviews.text | \n", + "reviews.title | \n", + "reviews.userCity | \n", + "reviews.userProvince | \n", + "reviews.username | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "AVqkIhwDv8e3D1O-lebb | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "B01AHB9CN2 | \n", + "Amazon | \n", + "Electronics,iPad & Tablets,All Tablets,Fire Ta... | \n", + "841667104676,amazon/53004484,amazon/b01ahb9cn2... | \n", + "Amazon | \n", + "2017-01-13T00:00:00.000Z | \n", + "2017-07-03T23:33:15Z | \n", + "2017-06-07T09:04:00.000Z,2017-04-30T00:45:00.000Z | \n", + "... | \n", + "True | \n", + "NaN | \n", + "0.0 | \n", + "5.0 | \n", + "http://reviews.bestbuy.com/3545/5620406/review... | \n", + "This product so far has not disappointed. My c... | \n", + "Kindle | \n", + "NaN | \n", + "NaN | \n", + "Adapter | \n", + "
| 1 | \n", + "AVqkIhwDv8e3D1O-lebb | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "B01AHB9CN2 | \n", + "Amazon | \n", + "Electronics,iPad & Tablets,All Tablets,Fire Ta... | \n", + "841667104676,amazon/53004484,amazon/b01ahb9cn2... | \n", + "Amazon | \n", + "2017-01-13T00:00:00.000Z | \n", + "2017-07-03T23:33:15Z | \n", + "2017-06-07T09:04:00.000Z,2017-04-30T00:45:00.000Z | \n", + "... | \n", + "True | \n", + "NaN | \n", + "0.0 | \n", + "5.0 | \n", + "http://reviews.bestbuy.com/3545/5620406/review... | \n", + "great for beginner or experienced person. Boug... | \n", + "very fast | \n", + "NaN | \n", + "NaN | \n", + "truman | \n", + "
| 2 | \n", + "AVqkIhwDv8e3D1O-lebb | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "B01AHB9CN2 | \n", + "Amazon | \n", + "Electronics,iPad & Tablets,All Tablets,Fire Ta... | \n", + "841667104676,amazon/53004484,amazon/b01ahb9cn2... | \n", + "Amazon | \n", + "2017-01-13T00:00:00.000Z | \n", + "2017-07-03T23:33:15Z | \n", + "2017-06-07T09:04:00.000Z,2017-04-30T00:45:00.000Z | \n", + "... | \n", + "True | \n", + "NaN | \n", + "0.0 | \n", + "5.0 | \n", + "http://reviews.bestbuy.com/3545/5620406/review... | \n", + "Inexpensive tablet for him to use and learn on... | \n", + "Beginner tablet for our 9 year old son. | \n", + "NaN | \n", + "NaN | \n", + "DaveZ | \n", + "
| 3 | \n", + "AVqkIhwDv8e3D1O-lebb | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "B01AHB9CN2 | \n", + "Amazon | \n", + "Electronics,iPad & Tablets,All Tablets,Fire Ta... | \n", + "841667104676,amazon/53004484,amazon/b01ahb9cn2... | \n", + "Amazon | \n", + "2017-01-13T00:00:00.000Z | \n", + "2017-07-03T23:33:15Z | \n", + "2017-06-07T09:04:00.000Z,2017-04-30T00:45:00.000Z | \n", + "... | \n", + "True | \n", + "NaN | \n", + "0.0 | \n", + "4.0 | \n", + "http://reviews.bestbuy.com/3545/5620406/review... | \n", + "I've had my Fire HD 8 two weeks now and I love... | \n", + "Good!!! | \n", + "NaN | \n", + "NaN | \n", + "Shacks | \n", + "
| 4 | \n", + "AVqkIhwDv8e3D1O-lebb | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "B01AHB9CN2 | \n", + "Amazon | \n", + "Electronics,iPad & Tablets,All Tablets,Fire Ta... | \n", + "841667104676,amazon/53004484,amazon/b01ahb9cn2... | \n", + "Amazon | \n", + "2017-01-12T00:00:00.000Z | \n", + "2017-07-03T23:33:15Z | \n", + "2017-06-07T09:04:00.000Z,2017-04-30T00:45:00.000Z | \n", + "... | \n", + "True | \n", + "NaN | \n", + "0.0 | \n", + "5.0 | \n", + "http://reviews.bestbuy.com/3545/5620406/review... | \n", + "I bought this for my grand daughter when she c... | \n", + "Fantastic Tablet for kids | \n", + "NaN | \n", + "NaN | \n", + "explore42 | \n", + "
5 rows × 21 columns
\n", + "| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "
|---|---|---|---|---|---|
| 0 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "This product so far has not disappointed. My c... | \n", + "Kindle | \n", + "
| 1 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "great for beginner or experienced person. Boug... | \n", + "very fast | \n", + "
| 2 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Inexpensive tablet for him to use and learn on... | \n", + "Beginner tablet for our 9 year old son. | \n", + "
| 3 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "I've had my Fire HD 8 two weeks now and I love... | \n", + "Good!!! | \n", + "
| 4 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "I bought this for my grand daughter when she c... | \n", + "Fantastic Tablet for kids | \n", + "
| \n", + " | reviews.rating | \n", + "
|---|---|
| count | \n", + "2814.000000 | \n", + "
| mean | \n", + "4.586709 | \n", + "
| std | \n", + "0.692333 | \n", + "
| min | \n", + "1.000000 | \n", + "
| 25% | \n", + "4.000000 | \n", + "
| 50% | \n", + "5.000000 | \n", + "
| 75% | \n", + "5.000000 | \n", + "
| max | \n", + "5.000000 | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "This product so far has not disappointed. My c... | \n", + "Kindle | \n", + "0.325000 | \n", + "0.783333 | \n", + "Positive | \n", + "
| 1 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "great for beginner or experienced person. Boug... | \n", + "very fast | \n", + "0.800000 | \n", + "0.825000 | \n", + "Positive | \n", + "
| 2 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Inexpensive tablet for him to use and learn on... | \n", + "Beginner tablet for our 9 year old son. | \n", + "0.600000 | \n", + "0.700000 | \n", + "Positive | \n", + "
| 3 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "I've had my Fire HD 8 two weeks now and I love... | \n", + "Good!!! | \n", + "0.374583 | \n", + "0.731250 | \n", + "Positive | \n", + "
| 4 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "I bought this for my grand daughter when she c... | \n", + "Fantastic Tablet for kids | \n", + "0.368056 | \n", + "0.616226 | \n", + "Positive | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "This product so far has not disappointed. My c... | \n", + "Kindle | \n", + "0.325000 | \n", + "0.783333 | \n", + "Positive | \n", + "
| 1 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "great for beginner or experienced person. Boug... | \n", + "very fast | \n", + "0.800000 | \n", + "0.825000 | \n", + "Positive | \n", + "
| 2 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Inexpensive tablet for him to use and learn on... | \n", + "Beginner tablet for our 9 year old son. | \n", + "0.600000 | \n", + "0.700000 | \n", + "Positive | \n", + "
| 3 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "I've had my Fire HD 8 two weeks now and I love... | \n", + "Good!!! | \n", + "0.374583 | \n", + "0.731250 | \n", + "Positive | \n", + "
| 4 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "I bought this for my grand daughter when she c... | \n", + "Fantastic Tablet for kids | \n", + "0.368056 | \n", + "0.616226 | \n", + "Positive | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 10 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "Not easy for elderly users cease of ads that p... | \n", + "nice tablet for the price | \n", + "-0.216667 | \n", + "0.833333 | \n", + "Negative | \n", + "
| 17 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "I really like this tablet. I would have given ... | \n", + "Nice Tablet for the Price | \n", + "-0.196875 | \n", + "0.400000 | \n", + "Negative | \n", + "
| 54 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "Got this for my wife and she loves it. She had... | \n", + "My wife loves it. | \n", + "-0.083333 | \n", + "0.583333 | \n", + "Negative | \n", + "
| 75 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "A family member has vision problems. They had ... | \n", + "A gift for Grandma | \n", + "-0.041667 | \n", + "1.000000 | \n", + "Negative | \n", + "
| 94 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "Good reader which is why I bought it. Ads are ... | \n", + "Good, not great | \n", + "-0.050000 | \n", + "0.750000 | \n", + "Negative | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 13 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Simply does everything I need. Thank youAnd si... | \n", + "Excellect | \n", + "0.0 | \n", + "0.357143 | \n", + "Neutral | \n", + "
| 30 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "If your looking for a affordable gift this is ... | \n", + "looking for a great gift that is affordable. | \n", + "0.0 | \n", + "0.000000 | \n", + "Neutral | \n", + "
| 42 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "4.0 | \n", + "Does all basic functions of a tablet. Hardcore... | \n", + "Good starter tablet | \n", + "0.0 | \n", + "0.125000 | \n", + "Neutral | \n", + "
| 58 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "My daughter likes this tablet to play her onli... | \n", + "Present for my daughter & she loves it! | \n", + "0.0 | \n", + "0.000000 | \n", + "Neutral | \n", + "
| 61 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "I bought this wanting for books comics and mov... | \n", + "Great tablet for what it's worth | \n", + "0.0 | \n", + "0.000000 | \n", + "Neutral | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "2.0 | \n", + "Didn't have some of the features I was looking... | \n", + "Wasn't for me | \n", + "0.350000 | \n", + "0.300000 | \n", + "Positive | \n", + "
| 1 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "1.0 | \n", + "i Bought this around black friday for $60 hopi... | \n", + "TERRIBLE DONT BUY | \n", + "0.021759 | \n", + "0.465278 | \n", + "Positive | \n", + "
| 2 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "1.0 | \n", + "I bought this tablet for my 4 year old daughte... | \n", + "Ended up returning | \n", + "0.257143 | \n", + "0.353571 | \n", + "Positive | \n", + "
| 3 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "1.0 | \n", + "This Kindle is so overloaded with apps that I ... | \n", + "Too may preloaded useless apps | \n", + "0.111111 | \n", + "0.392222 | \n", + "Positive | \n", + "
| 4 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "1.0 | \n", + "I liked it at first except the browser is kind... | \n", + "Broke in 5 mos | \n", + "0.135124 | \n", + "0.494353 | \n", + "Positive | \n", + "
| \n", + " | name | \n", + "brand | \n", + "reviews.rating | \n", + "reviews.text | \n", + "reviews.title | \n", + "polarity | \n", + "subjectivity | \n", + "sentiment | \n", + "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "A family member has vision problems. They had ... | \n", + "A gift for Grandma | \n", + "-0.041667 | \n", + "1.000000 | \n", + "Negative | \n", + "
| 1 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Bought for my wife for X-mas and she loves it.... | \n", + "Great device | \n", + "-0.155556 | \n", + "0.288889 | \n", + "Negative | \n", + "
| 2 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "This was a reasonable replacement for a broken... | \n", + "Christmas gift | \n", + "-0.100000 | \n", + "0.500000 | \n", + "Negative | \n", + "
| 3 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "Out of all the tablet choices out there we buy... | \n", + "Kindle Fire is best bang for buck | \n", + "-0.125000 | \n", + "0.375000 | \n", + "Negative | \n", + "
| 4 | \n", + "All-New Fire HD 8 Tablet, 8 HD Display, Wi-Fi,... | \n", + "Amazon | \n", + "5.0 | \n", + "This is my third Kindle, I still have the othe... | \n", + "Best Kindle owned | \n", + "-0.041667 | \n", + "0.291667 | \n", + "Negative | \n", + "