{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Complex Sentiment Analysis\n", "\n", "This notebook shows how to analyze a collection of passages like Tweets for sentiment.\n", "\n", "This is based on Neal Caron's [An introduction to text analysis with Python, Part 3](http://nealcaren.web.unc.edu/an-introduction-to-text-analysis-with-python-part-3/)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting up our data\n", "\n", "Here we will get the data to test and our positive and negative dictionaries." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "** Getting by URL **\n", "\n", "Here you can see how to get the data by URL. This shows just how to get the negative words. The others are positive.txt and obama_tweets.txt ." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "b'abandoned\\nabandonment\\naberration\\naberration\\nabhorred\\nabhorrence\\nabhorrent\\nabhorrently\\nabhors\\nabhors\\n'\n" ] } ], "source": [ "import urllib.request\n", "path = 'http://www.unc.edu/~ncaren/haphazard/negative.txt'\n", "with urllib.request.urlopen(path) as response:\n", " negData = response.read()\n", "print(negData[:100])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "** Opening data files **\n", "\n", "Instead of getting the Here you can see how to get the data if it saved in the folder. Then we process it." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Complex Sentiment Analysis.ipynb positive.txt\r\n", "Simple Sentiment Analysis.ipynb \u001b[34msubjectivity_clues_hltemnlp05\u001b[m\u001b[m/\r\n", "negative.txt subjectivity_clues_hltemnlp05.zip\r\n", "obama_tweets.txt\r\n" ] } ], "source": [ "%ls" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we get the **negative** words." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['wretchedly', 'wretchedness', 'wrong', 'wrongful', 'wrought', 'wrought', 'yawn', 'zealot', 'zealous', 'zealously']\n" ] } ], "source": [ "with open(\"negative.txt\", \"r\") as f:\n", " negText = f.read()\n", "negTokens = negText.split(\"\\n\") # This splits the text file into tokens on the new line character\n", "negTokens[-1:] = [] # This strips out the final empty item\n", "print(negTokens[-10:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we get the **positive** words." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['worthwhile', 'worthy', 'wow', 'wry', 'yearning', 'yearningly', 'youthful', 'zeal', 'zenith', 'zest']\n" ] } ], "source": [ "with open(\"positive.txt\", \"r\") as f:\n", " posText = f.read()\n", "posTokens = posText.split(\"\\n\") # This splits the text file into tokens on the new line character\n", "posTokens[-1:] = [] # This strips out the final empty item\n", "print(posTokens[-10:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we get the **tweets**." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['Obama has called the GOP budget social Darwinism. Nice try, but they believe in social creationism.', 'In his teen years, Obama has been known to use marijuana and cocaine.']\n" ] } ], "source": [ "with open(\"obama_tweets.txt\", \"r\") as f:\n", " tweetsText = f.read()\n", "tweetsTokens = tweetsText.split(\"\\n\") # This splits the text file into tokens on the new line character\n", "tweetsTokens[-1:] = [] # This strips out the final empty item\n", "print(tweetsTokens[:2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tokenizing the tweets\n", "\n", "Now we will create two functions. The first for tokenizing a tweet, the second for calculating positive/negative words." ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import re\n", "def tokenizer(theText):\n", " theTokens = re.findall(r'\\b\\w[\\w-]*\\b', theText.lower())\n", " return theTokens\n", "\n", "def calculator(theTweet):\n", " # Count positive words\n", " numPosWords = 0\n", " theTweetTokens = tokenizer(theTweet)\n", " for word in theTweetTokens:\n", " if word in posTokens:\n", " numPosWords += 1\n", " \n", " # Count negative words\n", " numNegWords = 0\n", " for word in theTweetTokens:\n", " if word in negTokens:\n", " numNegWords += 1\n", " \n", " sum = (numPosWords - numNegWords)\n", " return sum\n", "\n", "# Here is a line for testing this\n", "# print(calculator('Obama has called wrong wrong the GOP budget social Darwinism. Nice try, but they believe in social creationism.'))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Analyzing tweets\n", "\n", "Now we will use the calculator to calculate how many positive and negative tweets.\n", "\n", "*Note:* that you can set a **threshold** for the number of words for a Tweet to be considered positive or negative." ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total: 1380\n", "Positive: 81\n", "Neutral: 1047\n", "Negative: 252\n" ] } ], "source": [ "# Here we set up the thresholds\n", "posi = 1 # This means there have to be more than 1 positive word\n", "nega = 0 # This means there has to be more than 1 negative words\n", "\n", "# Here we prime our variables\n", "numTweets = 0\n", "numPosTweets = 0\n", "numNegTweets = 0\n", "numNeutTweets = 0\n", "\n", "# This loop goes through all the Tweets and calculates if sums the number of positive or negative ones.\n", "for tweet in tweetsTokens:\n", " calc = calculator(tweet)\n", " if calc > posi:\n", " numPosTweets += 1\n", " numTweets += 1\n", " elif calc < nega:\n", " numNegTweets += 1\n", " numTweets += 1\n", " else:\n", " numNeutTweets += 1\n", " numTweets += 1\n", "\n", "# This prints out the results \n", "print(\"Total: \" + str(numTweets) + \"\\n\" + \"Positive: \" + str(numPosTweets) + \"\\n\" + \"Neutral: \" + str(numNeutTweets) + \"\\n\" + \"Negative: \" +str(numNegTweets))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gathering positive tweets\n", "\n", "This will gather all examples of positive tweets." ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[\"#WhatsRomneyHiding? Obama's dignity and sense of humor? #p2 #tcot\", \"RealClearPolitics - Obama's Organizational Advantage on Full ...: As a small but electorally significant state t... http://t.co/3Ax22aBB\", \"RT @wilycyotee Pres. Obama's ongoing support of women is another reason I am so proud he is my President! @edshow #Obama2012\", 'If Obama win 2012 Election wait til 2016 he will have full white hair! just like Bill clinton!']\n" ] } ], "source": [ "# Here we set up the threshold.\n", "posi = 1 # This means there have to be more than 1 positive word\n", "numberWanted = 4 # Here you decide how many tweets you want\n", "\n", "# Here we prime our variables\n", "numTweets = 0\n", "numPosTweets = 0\n", "posiTweetList = []\n", "\n", "# This loop goes through all the Tweets and calculates if sums the number of positive or negative ones.\n", "for tweet in tweetsTokens:\n", " calc = calculator(tweet)\n", " if calc > posi and numPosTweets < numberWanted:\n", " numPosTweets += 1\n", " posiTweetList.append(tweet)\n", "\n", "print(posiTweetList)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gathering negative tweets\n", "\n", "This will gather examples of negative tweets." ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['President Obama < Lindsay Lohan RUMORS beginning cross shape lights on ST < 1987 Analyst64 DC bicycle courier < Video changes to scramble.', '@edshow the direspect of President #Obama is based on racism. They do not want a Black PRESIDENT. #edshow', '@JoeSixpackSays Our Troops NEED TO COME HOME !!!! BRING OUR TROOPS HOME NOW OBAMA YOU BASTARD OOOORAH SEMPER FI', 'Attorney Mario Apuzzo Files Ballot Access Challenge Against Obama Today in New Jersey http://t.co/06rD6lCL']\n" ] } ], "source": [ "# Here we set up the threshold.\n", "nega = -1 # This means there have to be more than 1 positive word\n", "numberWanted = 4 # Here you decide how many tweets you want\n", "\n", "# Here we prime our variables\n", "numTweets = 0\n", "numNegTweets = 0\n", "negaTweetList = []\n", "\n", "# This loop goes through all the Tweets and calculates if sums the number of positive or negative ones.\n", "for tweet in tweetsTokens:\n", " calc = calculator(tweet)\n", " if calc < nega and numNegTweets < numberWanted:\n", " numNegTweets += 1\n", " negaTweetList.append(tweet)\n", "\n", "print(negaTweetList)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Testing a tweet\n", "\n", "Here you can take a tweet and test it to see how many positive or negative words it has." ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "What is the tweet to calculate? President Obama < Lindsay Lohan RUMORS beginning cross shape lights on ST < 1987 Analyst64 DC bicycle courier < Video changes to scramble.\n", "-2\n" ] } ], "source": [ "tweetToCalc = input(\"What is the tweet to calculate? \")\n", "print(calculator(tweetToCalc))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gathering and plotting positive and negative words\n", "\n", "This will gather the words that are positive in the tweets and tabulate them." ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "What tweet do you want to process? @edshow the direspect of President #Obama is based on racism. They do not want a Black PRESIDENT. #edshow\n", "Positive words: []\n", "Positive words: ['racism', 'black']\n" ] } ], "source": [ "import re\n", "posWordsList = []\n", "negWordsList = []\n", "\n", "def tokenizer(theText):\n", " theTokens = re.findall(r'\\b\\w[\\w-]*\\b', theText.lower())\n", " return theTokens\n", "\n", "def wordsCalculator(theTweet):\n", " # Count positive words\n", " numPosWords = 0\n", " theTweetTokens = tokenizer(theTweet)\n", " for word in theTweetTokens:\n", " if word in posTokens:\n", " numPosWords += 1\n", " posWordsList.append(word)\n", " \n", " # Count negative words\n", " numNegWords = 0\n", " for word in theTweetTokens:\n", " if word in negTokens:\n", " numNegWords += 1\n", " negWordsList.append(word)\n", "\n", "tweet2Process = input(\"What tweet do you want to process? \")\n", "wordsCalculator(tweet2Process)\n", "print(\"Positive words: \" + str(posWordsList[:10]))\n", "print(\"Positive words: \" + str(negWordsList[:10]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gathering and plotting all positive and negative words" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Positive words: 756\n", "Positive words: 552\n" ] } ], "source": [ "import re\n", "\n", "# Here we set up the thresholds\n", "posi = 1 # This means there have to be more than 1 positive word\n", "nega = 0 # This means there has to be more than 1 negative words\n", "\n", "# Here we prime our variables\n", "posWordsList = []\n", "negWordsList = []\n", "numTweets = 0\n", "numPosTweets = 0\n", "numNegTweets = 0\n", "numNeutTweets = 0\n", "\n", "def wordsGathering(theTweet):\n", " # Count positive words\n", " numPosWords = 0\n", " theTweetTokens = tokenizer(theTweet)\n", " for word in theTweetTokens:\n", " if word in posTokens:\n", " numPosWords += 1\n", " posWordsList.append(word)\n", " \n", " # Count negative words\n", " numNegWords = 0\n", " for word in theTweetTokens:\n", " if word in negTokens:\n", " numNegWords += 1\n", " negWordsList.append(word) \n", " \n", " sum = (numPosWords - numNegWords)\n", " return sum\n", "\n", "# This loop goes through all the Tweets and calculates if sums the number of positive or negative ones.\n", "for tweet in tweetsTokens:\n", " calc = wordsGathering(tweet)\n", " if calc > posi:\n", " numPosTweets += 1\n", " numTweets += 1\n", " elif calc < nega:\n", " numNegTweets += 1\n", " numTweets += 1\n", " else:\n", " numNeutTweets += 1\n", " numTweets += 1\n", "\n", "print(\"Positive words: \" + str(len(posWordsList)))\n", "print(\"Positive words: \" + str(len(negWordsList)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Positive words" ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " will just supreme white important good nice right support fun \n", " 66 44 32 31 26 18 17 17 16 16 \n" ] }, { "data": { "image/png": "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\nFC+9VJtzr79+1winESNqc95a0ZA4fElXAHcD60h6XtIRwOnATpLmATtG6wXxOPzsy2RpK+/+ZWkr\n7/5laatW/vXpAxtvDMceC1deGRLbzZ8Pl1wC3/hGmOR+9Oh2llqKipY+fWDppduZODGMhVhjDVh9\ndTjooM65FRo9T0Ix6qrhm9mBRXaNr6ddx3Gc7kiw5pphOfTQsK29vfK8Rx99FMYyTJ8e3hqmTw8P\nkyuuCAvAiit2ykbjxoVRz3nAUys4juP0gEWL4JFHukpHL7/c9ZiBA4PsU02K69NPh113rayM59Jx\nHMfJALMw/WXyAfDEE9Wf77LLwlScldCUFb7nw8++TJa28u5flrby7l+WtvLuXzXlXnsNXnqpnf79\nK7O1cGE7a645uGLZyfPhO47jNIiVVw5pKqqZJ6GK51FRct3Cd0nHcRyncpoyPbLjOI5TO3Jd4Xsc\nfvZlsrSVd/+ytJV3/7K0lXf/srRV6zj8XFf4juM4Tu1wDd9xHKeX4Rq+4zhOi5PrCt81/OzLZGkr\n7/5laSvv/mVpK+/+ZWnLNXzHcRynKlzDdxzH6WW4hu84jtPi5LrCdw0/+zJZ2sq7f1nayrt/WdrK\nu39Z2nIN33Ecx6kK1/Adx3F6Ga7hO47jtDi5rvBdw8++TJa28u5flrby7l+WtvLuX5a2XMN3HMdx\nqsI1fMdxnF6Ga/iO4zgtTsMqfEn/IWmupCck/aDQMa7hZ18mS1t59y9LW3n3L0tbefcvS1u9QsOX\n1Ac4H/gysCFwgKT1uh/37rvvVnzuadOmVeVTNeXybsv9ax5befcvS1t59y9LW9X6V4xGtfC3AJ40\ns+fM7GPgKmD37gc9/fTTFZ94xowZVTlUTbm823L/msdW3v3L0lbe/cvSVrX+FaNRFf5ngBcS6y9G\n2xzHcZw6ketO22HDhlVc5sMPP6zKVjXl8m7L/WseW3n3L0tbefcvS1vV+leMhoRlStoK+KmZ/Ue0\nPgEwMzuj23Eek+k4jlMFhcIyG1Xh9wXmATsCrwD3AweY2eOZO+M4jtMi9GuEUTP7VNK3gNsJstIf\nvLJ3HMepL7keaes4juPUjlx32jqO4zi1o+krfElrptnmOI7T6jR9hQ/8tcC2v6QpKGmEpPHR52Uk\nLV9TzxpENd9L0r5ptjWKav2Lvv+69fGqi52l02yrgZ3L0mzrtr+PpP16YLOi+6mSayFphVJLGTuZ\n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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import nltk, matplotlib\n", "\n", "posDist = nltk.FreqDist(posWordsList)\n", "posDist.tabulate(10)\n", "\n", "%matplotlib inline\n", "posDist.plot(25, title=\"Top Positive Words\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Negative words" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " need bully against trying dumb down war rumors bad less \n", " 26 19 14 13 11 11 11 10 9 8 \n" ] }, { "data": { "image/png": "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\na1u/yPuTgJtyyba2tuqQIaqgeu+9WhSzZs0qbscqyKVdl9vXOLrSbl+SutJuX5K6yrXPXPvSPrWm\nMXwRGQIcAuwkIhNF5HkR2R04X0Qmi8gkYPvg9HOy00726nF8x3Gcykh9LZ1HHlF22gk23RQmTaq3\nRY7jOOmnLnn4lSIiOm+e0quX1dT56CNYaaV6W+U4jpNuGrJ4WmtrKy0tMGSIrY8ZU1gm7Xm1Sepy\n+xpHV9rtS1JX2u1LUlfD5uFXQiaO73V1HMdxyif1IR1V5amnYNttYYMN4OWX622V4zhOumnYGL6q\nsmAB9OkDc+bAe+/BaqvV2zLHcZz00rAxfIBlloFhw2xbobBO2mNySepy+xpHV9rtS1JX2u1LUldT\nxvDB8/Edx3EqpSFCOgDPPw9bbAEDB8L06fW1y3EcJ800dAwfYNEiWHllmDUL3ngD1lqrzsY5juOk\nlIaO4QN07gw77GDv4+L4aY/JJanL7WscXWm3L0ldabcvSV1NG8MHj+M7juNUQsOEdABeegk22ghW\nXdXSM6XgnFmO4zjNR0OGdLL5xjegb1/44AN49dV6W+M4jtNYpNrhR2P4YC36HXe09/ni+GmPySWp\ny+1rHF1pty9JXWm3L0ldTR3DB4/jO47jlEtDxfABXn8dBg2CFVeEDz+ETg13y3Icx6ktHSKGD7D2\n2tC/P3zyCUyZUm9rHMdxGodUO/zsGD5YHD8urJP2mFySuty+xtGVdvuS1JV2+5LU1fQxfGjvuPU4\nvuM4TvE0XAwf4J13LKzTo4eFdrp0qYNxjuM4KaXDxPAB1lwT1l0XPv/ciqo5juM4hUm1w88Vw8+Q\nL46f9phckrrcvsbRlXb7ktSVdvuS1OUx/IDn4zuO45RGQ8bwwXLw+/aF5ZazkslduyZsnOM4Tkrp\nUDF8gFVWgY03hnnz4Jln6m2N4zhO+km1w4+L4UN7WCdaVyftMbkkdbl9jaMr7fYlqSvt9iWpy2P4\nETyO7ziOUzwNG8MHaGuzmjqdO9v7bt0SNM5xHCeldLgYPkCvXrD55rBgAYwbV29rHMdx0k1NHb6I\nrCEij4jIVBGZIiLHh+29ReRBEXlVRB4QkZ655AvF8GHpsE7aY3JJ6nL7GkdX2u1LUlfa7UtSV6PF\n8BcCJ6vqRsA2wM9EZANgBPCwqq4PPAKcVq4Cr6vjOI5THInG8EXk38ClYdleVWeKSD9gjKpukGP/\n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\naRL+Pz8ldolhn7DLAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import nltk, matplotlib\n", "\n", "negDist = nltk.FreqDist(negWordsList)\n", "negDist.tabulate(10)\n", "\n", "%matplotlib inline\n", "negDist.plot(25, title=\"Top Negative Words\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }