<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JDAIP</journal-id><journal-title-group><journal-title>Journal of Data Analysis and Information Processing</journal-title></journal-title-group><issn pub-type="epub">2327-7211</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jdaip.2014.22008</article-id><article-id pub-id-type="publisher-id">JDAIP-46493</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>COMPUTER SCIENCE &amp; COMMUNICATIONS</subject><subject>PHYSICS &amp; MATHEMATICS</subject></subj-group></article-categories><title-group><article-title>Sentiment Analysis on the Social Networks Using Stream Algorithms</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Nathan</surname><given-names>Aston</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Timothy</surname><given-names>Munson</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jacob</surname><given-names>Liddle</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Garrett</surname><given-names>Hartshaw</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Dane</surname><given-names>Livingston</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Wei</surname><given-names>Hu</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Computer Science, Houghton College, Houghton, USA</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>wei.hu@houghton.edu(WH)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>28</day><month>05</month><year>2014</year></pub-date><volume>02</volume><issue>02</issue><fpage>60</fpage><lpage>66</lpage><history><date date-type="received"><day>22</day>	<month>March</month>	<year>2014</year></date><date date-type="rev-recd"><day>28</day>	<month>April</month>	<year>2014</year>	</date><date date-type="accepted"><day>16</day>	<month>May</month>	<year>2014</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>The rising popularity of online social networks (OSNs), such as Twitter, Facebook, MySpace, and LinkedIn, in recent years has sparked great interest in sentiment analysis on their data. While many methods exist for identifying sentiment in OSNs such as communication pattern mining and classification based on emoticon and parts of speech, the majority of them utilize a suboptimal batch mode learning approach when analyzing a large amount of real time data. As an alternative we present a stream algorithm using Modified Balanced Winnow for sentiment analysis on OSNs. Tested on three real-world network datasets, the performance of our sentiment predictions is close to that of batch learning with the ability to detect important features dynamically for sentiment analysis in data streams. These top features reveal key words important to the analysis of sentiment.</p></abstract><kwd-group><kwd>Modified Balanced Winnow</kwd><kwd> Sentiment Analysis</kwd><kwd> Twitter</kwd><kwd> Online Social Networks</kwd><kwd> Feature Selection</kwd><kwd> Data Streams</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Since the early 1990s the Internet has exploded as a means by which people communicate information in various forms. Between 1990 and 2000, it was estimated that Internet traffic was doubling every three to four months [<xref ref-type="bibr" rid="scirp.46493-ref1">1</xref>] . Among the most rapidly growing means of Internet communication in recent times has been the developing world of online social networks (OSNs) such as Twitter, LinkedIn, Facebook, as well as a wide array of web logging (blogging) services [<xref ref-type="bibr" rid="scirp.46493-ref2">2</xref>] . The astounding amount of data flowing through social networks has made mining for useful pieces of knowledge within social networks a field of significant interest in recent times.</p><p>Due to its large volume of data flow, data mining in social networks has become a popular research field, with sentiment analysis being an area of particular interest. The users of a social network can frequently be split into distinct groups based on common interests. By distinguishing between these groups it is possible to model their overall sentiment as a representative of a larger population, using the sub-denomination in a particular OSN as a sample. Sentiment analysis inspects data presented by individuals within the larger groups and, given a sample, allows for the determination of the overall attitude or opinion of that group towards certain topics.</p><sec id="s1_1"><title>Related Works</title><p>Pfitzer, Garas, and Shweitzer [<xref ref-type="bibr" rid="scirp.46493-ref3">3</xref>] classified twitter posts as serving distinctly one of two functions. A tweet is either information creation or the pure distribution of information where a user reposts another’s original idea or thought (retweet). It was found that emotional divergence has an impact on the probability of a piece of infor- mation being retweeted; tweets with higher emotional divergence have a higher probability of being retweeted. Previous work in sentiment analysis on Twitter has revealed that there is a distinct correlation of the swing of the collective mood due to the ability to retweet another user’s post.</p><p>In a study by Garas, Garcia, Skowron, and Shweitzer [<xref ref-type="bibr" rid="scirp.46493-ref4">4</xref>] the communication patterns used across online cha- trooms were analyzed for patterns of both real time information exchange and overall emotion. Models of online interaction were used to determine and analyze emotional triggers in conversation, as well as a comparison of behavior both online and in the real world. It was discovered that people did not change their pattern of expres- sion significantly between previously studied forms of communication. Additionally, instant chatrooms do not show the same heated emotional patterns that are often found in alternate forms of online communication; in- stantaneous reply chats are more balanced in emotion about various topics.</p><p>The language of tweets is unique due to the 140-character limit imposed upon individual posts, causing users to often utilize shorthand notation as well as emoticons in sentiment expression [<xref ref-type="bibr" rid="scirp.46493-ref5">5</xref>] . Pak and Paroubek [<xref ref-type="bibr" rid="scirp.46493-ref6">6</xref>] have done groundbreaking work in the field of short text analysis while classifying tweets based on the correlation between emoticons and parts of speech. The emoticons were used to determine the overall sentiment of the tweet [<xref ref-type="bibr" rid="scirp.46493-ref7">7</xref>] , as the character limit makes it more likely for there to be only a single sentiment. The remainder of the tweet was split into distinct parts of speech using the Tree Tagger algorithm, showing which part of speech has the greatest impact on a post’s overall sentiment [<xref ref-type="bibr" rid="scirp.46493-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.46493-ref8">8</xref>] .</p><p>Most closely related to the research done in this paper is the work of Aston, Liddle, and Hu [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] on Twitter sentiment classification in data stream. The Perceptron algorithm and its voted version with static feature selec- tion were used to predict sentiment in a data stream environment for large amounts of Twitter data. Their streaming prediction achieved similar accuracy to that of the batch prediction of [<xref ref-type="bibr" rid="scirp.46493-ref2">2</xref>] . The words in the top fea- tures were uncovered.</p><p>Similarly we aim to apply the Modified Balanced Winnow algorithm to social network sentiment classifica- tion in data stream and to implement online feature selection in conjunction with this in order to account for changing data over time.</p></sec></sec><sec id="s2"><title>2. Materials and Methods</title><p>Three datasets were used for sentiment analysis on data streams. We also incorporated online feature selection to improve runtime and reveal the change in feature importance over time.</p><sec id="s2_1"><title>2.1. Data Stream</title><p>Traditional studies in sentiment analysis have primarily used batch mode learning to repeatedly traverse rela- tively small datasets. However, in most real world applications of algorithms designed to analyze sentiment from OSNs, the datasets are much larger and constantly changing due to the nature of online social networking. The combination of the sheer size and dynamic nature of OSNs makes batch learning an impractical solution [<xref ref-type="bibr" rid="scirp.46493-ref10">10</xref>] .</p><p>In the case of OSN sentiment classification using a streaming algorithm is a more efficient solution. Analyz- ing data in a stream allows posts to be processed in real time as they appear on social networks. Running algo- rithms in a data stream environment means that it is only viable to perform a single pass over the data. This me- thod results in decreased accuracy, but means that we gain a considerable improvement in runtime. For these reasons as well as the ability to handle small changes in data streams over time [<xref ref-type="bibr" rid="scirp.46493-ref10">10</xref>] , we chose stream algorithms to predict sentiment, using Massive Online Analysis (MOA) and Weka frameworks [<xref ref-type="bibr" rid="scirp.46493-ref11">11</xref>] .</p></sec><sec id="s2_2"><title>2.2. Datasets</title><p>For the purpose of this research we utilized three public datasets: Sanders Corpus [<xref ref-type="bibr" rid="scirp.46493-ref12">12</xref>] , STS-Gold [<xref ref-type="bibr" rid="scirp.46493-ref13">13</xref>] , and SentiStrength [<xref ref-type="bibr" rid="scirp.46493-ref5">5</xref>] .</p></sec><sec id="s2_3"><title>2.3. Subsets of Sanders Corpus</title><p>Sanders Corpus consists of 5513 manually classified tweets. As a large number of these have become unavaila- ble since the creation of the dataset and because certain tweets were irrelevant to our study of sentiment analysis the total number used was reduced to 3320. We were interested in two subsets of the reduced Sanders Corpus, specifically analyzing tweets for positive or negative sentiment. In the positive/negative subset all tweets with a neutral label were removed from the dataset, then the remaining tweets are analyzed for positive or negative sentiment overall.</p></sec><sec id="s2_4"><title>2.4. STS_Gold</title><p>This dataset contains 2034 tweets, which are hand labeled according to their sentiment, either positive or nega- tive. They are assigned sentiment values of either 0 or 4 based on how negative (0) or positive (4) the tweet is. This dataset annotates the tweets and entities (target subject) separately, allowing for finer sentiment of tweets containing annotated entities.</p></sec><sec id="s2_5"><title>2.5. SentiStrength</title><p>This dataset is composed of 4242 posts from 5 different social media sites (MySpace, YouTube, Digg, BBC, Runners World) which have been manually labeled according to their sentiment, with a score being given for both positive and negative sentiment appearing in the post. Each post is assigned two scores, one from −1 to −5 representing how negative the post is with −5 being the most negative, and another from 1 to 5 representing how positive the post is with 5 being the most positive.</p></sec><sec id="s2_6"><title>2.6. Online Feature Selection</title><p>Because we are representing the posts as n-grams, each one has 95<sup>n</sup> features. As a result of the large number of features for each post, classification takes a great deal of time, which is problematic in a data stream environment. For this reason it is advantageous to reduce the number of features that must be considered when performing classification. In addition to time consumption, many features of each post do not play a significant role in the classification of the sentiment. Thus we performed online feature selection to discover the top features of each gram representation [<xref ref-type="bibr" rid="scirp.46493-ref14">14</xref>] . Unlike static feature selection methods, which find the top features once in a batch learning environment [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] , we performed feature selection dynamically, with a newly calculated set of top features at each time interval of 100 sequential posts. At first we removed all but the top features when performing clas- sification but found that this resulted in a considerable reduction in accuracy. We discovered that in order to maintain a high level of accuracy while reducing runtime it was necessary to keep a percentage of the less sig- nificant features in the classification of posts.</p></sec></sec><sec id="s3"><title>3. Modified Balanced Winnow</title><sec id="s3_1"><title>3.1. Winnow</title><p>The Winnow algorithm is a mistake driven machine learning technique that uses a promotion parameter α in or- der to train on pre-labeled instances [<xref ref-type="bibr" rid="scirp.46493-ref14">14</xref>] . The instances are labeled with boolean values and classified as either 0 or 1. Each instance is input to the learner, classified, and finally compared to the actual class label. The process of the Winnow algorithm is outlined briefly in Winnow Algorithm below.</p><table-wrap id="table1"  position="float"><object-id pub-id-type="pii">Table 1</object-id><label>The Winnow algorithm is a mistake driven machine learning technique that uses a promotion parameter α in or- der to train on pre-labeled instances [14] </label><caption><p>. The instances are labeled with boolean values and classified as either 0 or 1. Each instance is input to the learner, classified, and finally compared to the actual class label. The process of the Winnow algorithm is outlined briefly in Winnow Algorithm below</p></caption><table><thead><tr><th align="center" valign="middle" >Winnow Algorithm</th></tr></thead><tbody><tr><td align="center" valign="middle" >For each instance i: 1. If prediction(i) = true class a. Continue 2. If prediction(i) = 0 and true class = 1 a. Multiply weight matrix entries by α 3. Else if prediction = 1 and true class = 0 a. Multiply weight matrix entries by 0</td></tr></tbody></table></table-wrap></sec><sec id="s3_2"><title>3.2. Balanced Winnow</title><p>Balanced Winnow extends upon the Winnow algorithm by adding a demotion parameter β. It utilizes a promo- tion parameter α &gt; 1, a demotion parameter 0 &lt; β &lt; 1, and a threshold θ. For each instance trained on, if the in- stance is predicted correctly then the training step is skipped, if it is predicted as 1 with an actual class 0 the weight matrix is multiplied by the demotion parameter, and if it is predicted as 0 with actual class 1 the weight matrix is multiplied by the promotion parameter.</p></sec><sec id="s3_3"><title>3.3. Modified Balanced Winnow (MBW)</title><p>We used MBW to classify posts. Like Balanced Winnow, MBW requires a promotion parameter α and demotion parameter β. It is separated from Balanced Winnow by utilizing larger margins and a minor change in the update rules for the weight matrices [<xref ref-type="bibr" rid="scirp.46493-ref14">14</xref>] . MBW is outlined in detail in the figure Modified Balanced Winnow. We in- itially trained the MBW classifier over the first 100 instances. For each following instance we first classified it using MBW; if the classification was correct we continued to the next instance and updated the correct count. If it was incorrect we updated the incorrect count and updated the weight matrix.</p><table-wrap id="table2"  position="float"><object-id pub-id-type="pii">Table 2</object-id><label>We used MBW to classify posts</label><caption><p>. Like Balanced Winnow, MBW requires a promotion parameter α and demotion parameter β. It is separated from Balanced Winnow by utilizing larger margins and a minor change in the update rules for the weight matrices [14] . MBW is outlined in detail in the figure Modified Balanced Winnow. We in- itially trained the MBW classifier over the first 100 instances. For each following instance we first classified it using MBW; if the classification was correct we continued to the next instance and updated the correct count. If it was incorrect we updated the incorrect count and updated the weight matrix</p></caption><table><thead><tr><th align="center" valign="middle" >Modified Balanced Winnow</th></tr></thead><tbody><tr><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap></sec></sec><sec id="s4"><title>4. Results and Analysis</title><p>Once data had been collected and a data stream simulation was set up we used the MBW algorithm in conjunc- tion with massive online analysis (MOA) in order to train and run a classifier. We present two sets of results, one on sentiment analysis and the other on feature selection.</p><p>The Sanders corpus, SentiStrength, and STS_Gold datasets were all analyzed for sentiment. We achieved the highest accuracy on STS_Gold, with the lowest accuracy on the Sanders corpus.</p><p>We performed dynamic online feature selection on each of the utilized datasets. For each feature we calcu- lated the importance score as <inline-formula><inline-graphic xlink:href="http://file.scirp.org/Html/htmlimages\3-2870030x\11065133-8538-409d-bf12-48c34a7b412b.png" xlink:type="simple"/></inline-formula> for a time stamp t, as outlined by Carvalho et al. [<xref ref-type="bibr" rid="scirp.46493-ref14">14</xref>] . After com- puting the score of each feature we selected the top 20 features to use in classification, thus increasing the effi- ciency of the algorithm.<sub></sub></p><sec id="s4_1"><title>4.1. Sentiment Based on MBW</title><p>MBW requires four different user defined parameters (promotion, demotion, feature selection, good feature se- lection), which may lead to a decrease in accuracy when chosen randomly. Therefore we performed extensive checks over these parameters to reveal possible good ranges for each. It was determined that the larger the gram size used, the more accurate our prediction became, since larger gram sizes reveal more of a word than smaller gram sizes. Also, when using feature selection and good feature selection, we noticed that accuracy was greatest with the more features and good features used, as shown in <xref ref-type="table" rid="table1">Table 1</xref>. We divided our datasets into sequential segments of size 100 to reveal the importance of features over time. We then ran MBW on each segment of 100 as a stream.</p></sec><sec id="s4_2"><title>4.2. Sanders Corpus</title><p>Our division created 22 segments (or timestamps) for Sanders. <xref ref-type="fig" rid="fig1">Figure 1</xref> illustrates the feature selection of the top 20 features over the 22 timestamps of Sanders 5 gram representation. As the figure illustrates, the top fea- tures oscillate in importance in the beginning, but as the data is continually fed in, the few top features begin to stabilize and retain their higher position. Features that are subsets of the words “Google”, “Apple”, and “Andro- id” are some of these features that retain a higher importance over time. For all gram sizes of Sanders, high ac- curacy predictions fell within the range of promotion and demotions values of 0.9 and 1.1.</p><p>A high accuracy is seen when α and β values increase together from around {1, 1} onward. By incorporating dynamic feature selection in our MBW we achieved an accuracy of 73.3% while [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] achieved an accuracy of 77% using 5 grams with manual feature selection. In terms of a data stream, it is important to perform dynamic feature selection due to the changing importance of features with new incoming data.</p><p>The work of [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] performed feature selection on a static batch and then performed sentiment analysis on this reduced feature set. This approach has downfalls as unknown data coming in over time will change the impor- tance of features.</p><table-wrap id="table3"  position="float"><object-id pub-id-type="pii">Table 3</object-id><label>Table 1</label><caption><p>. Sentiment prediction accuracy of Sanders 5 grams check over percent of features to use (rows) to percent of good features to use (columns). Color ranges with accuracy low to high (red to green)</p></caption><table><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >0.1</th><th align="center" valign="middle" >0.2</th><th align="center" valign="middle" >0.3</th><th align="center" valign="middle" >0.4</th><th align="center" valign="middle" >0.5</th><th align="center" valign="middle" >0.6</th><th align="center" valign="middle" >0.7</th><th align="center" valign="middle" >0.8</th><th align="center" valign="middle" >0.9</th><th align="center" valign="middle" >1</th></tr></thead><tbody><tr><td align="center" valign="middle" >0.1</td><td align="center" valign="middle" >58.3</td><td align="center" valign="middle" >61.6</td><td align="center" valign="middle" >64.2</td><td align="center" valign="middle" >65.4</td><td align="center" valign="middle" >66.6</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >66.9</td><td align="center" valign="middle" >68.8</td><td align="center" valign="middle" >69.8</td><td align="center" valign="middle" >71.8</td></tr><tr><td align="center" valign="middle" >0.2</td><td align="center" valign="middle" >58.9</td><td align="center" valign="middle" >61.7</td><td align="center" valign="middle" >64.4</td><td align="center" valign="middle" >65.4</td><td align="center" valign="middle" >67.1</td><td align="center" valign="middle" >66.7</td><td align="center" valign="middle" >68.4</td><td align="center" valign="middle" >68.6</td><td align="center" valign="middle" >69.8</td><td align="center" valign="middle" >72.6</td></tr><tr><td align="center" valign="middle" >0.3</td><td align="center" valign="middle" >60.2</td><td align="center" valign="middle" >62.9</td><td align="center" valign="middle" >64.4</td><td align="center" valign="middle" >66.5</td><td align="center" valign="middle" >67.5</td><td align="center" valign="middle" >67.7</td><td align="center" valign="middle" >68.9</td><td align="center" valign="middle" >68.4</td><td align="center" valign="middle" >69.4</td><td align="center" valign="middle" >71.9</td></tr><tr><td align="center" valign="middle" >0.4</td><td align="center" valign="middle" >59.6</td><td align="center" valign="middle" >62.7</td><td align="center" valign="middle" >64</td><td align="center" valign="middle" >66.1</td><td align="center" valign="middle" >66.8</td><td align="center" valign="middle" >67.6</td><td align="center" valign="middle" >68.8</td><td align="center" valign="middle" >69.8</td><td align="center" valign="middle" >70.3</td><td align="center" valign="middle" >73.3</td></tr><tr><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >60.9</td><td align="center" valign="middle" >62.5</td><td align="center" valign="middle" >65.1</td><td align="center" valign="middle" >66.1</td><td align="center" valign="middle" >66.9</td><td align="center" valign="middle" >67.9</td><td align="center" valign="middle" >68.4</td><td align="center" valign="middle" >70.7</td><td align="center" valign="middle" >69.3</td><td align="center" valign="middle" >71.7</td></tr><tr><td align="center" valign="middle" >0.6</td><td align="center" valign="middle" >61.2</td><td align="center" valign="middle" >63.6</td><td align="center" valign="middle" >65</td><td align="center" valign="middle" >64.5</td><td align="center" valign="middle" >67</td><td align="center" valign="middle" >68.1</td><td align="center" valign="middle" >69.9</td><td align="center" valign="middle" >68</td><td align="center" valign="middle" >68.8</td><td align="center" valign="middle" >72.6</td></tr><tr><td align="center" valign="middle" >0.7</td><td align="center" valign="middle" >61.4</td><td align="center" valign="middle" >63.2</td><td align="center" valign="middle" >64.3</td><td align="center" valign="middle" >65.3</td><td align="center" valign="middle" >68</td><td align="center" valign="middle" >69.1</td><td align="center" valign="middle" >67.3</td><td align="center" valign="middle" >69</td><td align="center" valign="middle" >69.9</td><td align="center" valign="middle" >72.2</td></tr><tr><td align="center" valign="middle" >0.8</td><td align="center" valign="middle" >63.4</td><td align="center" valign="middle" >65.2</td><td align="center" valign="middle" >64.5</td><td align="center" valign="middle" >65.5</td><td align="center" valign="middle" >67.7</td><td align="center" valign="middle" >66.3</td><td align="center" valign="middle" >68.4</td><td align="center" valign="middle" >69.2</td><td align="center" valign="middle" >69.3</td><td align="center" valign="middle" >72.6</td></tr><tr><td align="center" valign="middle" >0.9</td><td align="center" valign="middle" >64.8</td><td align="center" valign="middle" >66.5</td><td align="center" valign="middle" >66.7</td><td align="center" valign="middle" >65.4</td><td align="center" valign="middle" >68.2</td><td align="center" valign="middle" >65.6</td><td align="center" valign="middle" >67.8</td><td align="center" valign="middle" >68.3</td><td align="center" valign="middle" >69.5</td><td align="center" valign="middle" >72</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td><td align="center" valign="middle" >67.4</td></tr></tbody></table></table-wrap><fig id="fig1"><label>Figure 1</label><caption><p> Sanders 5 grams top 20 features as they change over time. X axis denotes the timestamps and the Y axis denotes the importance of each feature. Note: box is a space character</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\3-2870030x\98eeed05-cb61-456b-bf97-685cc9b5bc29.png"/></fig><fig id="fig2"><label>Figure 2</label><caption><p> Sentiment Strength 5 grams top 20 features as they change over time. X axis denotes the timestamps and the Y axis denotes the importance of each feature. Note: box is a space character</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\3-2870030x\fc0253a2-55c5-4dfe-9369-12b07edd4bec.png"/></fig></sec><sec id="s4_3"><title>4.3. SentiStrength and STS-Gold</title><p>The SentiStrength dataset was divided into 112 sets of size 100 each. We achieved an accuracy of 73.6% using promotion and demotion values of 0.7 and 1.4 respectively. Features such as “love”, “you”, “happy”, “thank”, and “good” contain the highest importance through this dataset, shown in <xref ref-type="fig" rid="fig2">Figure 2</xref> of 5 grams representation. The STS_Gold dataset was divided into 42 sets, with the highest accuracy of 87.5% for promotion and demotion values of 2 and 1 respectively.</p><p>The promotion (α) and demotion (β) table of SentiStrength 3 grams representation revealed that values of α and β which optimize the accuracy of prediction seem to follow a logarithmic pattern from α in the range 1 - 3 and β in the range 0.2 - 0.9. In the STS_Gold dataset high accuracy is seen when α is greater than 1 but less than 3 and β is less than α.</p><p>In terms of accuracy with feature selection, it is best to use all features. In Sanders and STS_Gold, the differ- ence in accuracy from using all features to using 10% of the features is around 10%, while with SentiStrength, the difference is only around 2% to 3%.</p></sec></sec><sec id="s5"><title>5. Conclusion</title><p>We discovered that the values of promotion and demotion and the feature selection contribute independently to the sentiment prediction accuracy. The varying range of accuracy resulting from differing percentages of selected features makes it difficult to determine what a good feature selection percentage should be without a significant decrease in accuracy. Our MBW achieved the highest accuracy of 87.5% with STS_Gold on 5 grams representation and only 73.3% on 3 grams and 73.6% on 5 grams for Sanders and Sentiment Strength respectively. Our results for Sanders are close to the accuracy of [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] for their 5 grams on Sanders. MBW is capable of performing feature selection dynamically on a date stream, instead of performing a batch feature selection beforehand, such as [<xref ref-type="bibr" rid="scirp.46493-ref9">9</xref>] does. The top features that we found for each dataset revealed the nature of these datasets. For example, Sanders, which was a specified dataset for technology organization sentiment, contains features of Apple, Google, and Android. Sentiment Strength and STS_Gold are datasets of social media posts from various sites, and the features we observed from these datasets involve words such as “love”, “happy”, “thank”, and “good”, which are sentimental words that would influence a post’s sentiment. Our streaming algorithm MBW yields a minor decrease in accuracy compared to its batch counterpart [<xref ref-type="bibr" rid="scirp.46493-ref2">2</xref>] , but in a real world scenario, it is more realistic to analyze data that is continually coming from new social media posts.</p></sec><sec id="s6"><title>Acknowledgements</title><p>We thank Houghton College for its financial support.</p></sec></body><back><ref-list><title>References</title><ref id="scirp.46493-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">COFFMAN, K.G. AND ODLYZKO, A.M. (2002) GROWTH OF THE INTERNET. IN: KAMINOW, I.P. AND LI, T., EDS., OPTICAL FIBER TELECOMMUNICATIONS IV B: SYSTEMS AND IMPAIRMENTS, ACADEMIC PRESS, SAN DIEGO, 17-56. HTTP://DX.DOI.ORG/10.1016/B978-012395173-1/50002-5</mixed-citation></ref><ref id="scirp.46493-ref2"><label>2</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>DEITRICK</surname><given-names> W. </given-names></name>,<name name-style="western"><surname> HU</surname><given-names> W. </given-names></name>,<etal>et al</etal>. (<year>2013</year>)<article-title>MUTUALLY ENHANCING COMMUNITY DETECTION AND SENTIMENT ANALYSIS ON TWITTER NETWORKS</article-title><source> JOURNAL OF DATA ANALYSIS AND INFORMATION PROCESSING</source><volume> 1</volume>,<fpage> 19</fpage>-<lpage>29</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.4236/JDAIP.2013.13004</pub-id></mixed-citation></ref><ref id="scirp.46493-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">PFITZNER, R., GARAS, A. AND SCHWEITZER, F. (2012) EMOTIONAL DIVERGENCE INFLUENCES INFORMATION SPREADING IN TWITTER. ICWSM-12.</mixed-citation></ref><ref id="scirp.46493-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">GARAS, A., GARCIA, D., SKOWRON, M. AND SCHWEITZER, F. (2012) EMOTIONAL PERSISTENCE IN ONLINE CHATTING COMMUNITIES. SCIENTIFIC REPORTS, 2, ARTICLE NUMBER: 402. HTTP://DX.DOI.ORG/10.1038/SREP00402</mixed-citation></ref><ref id="scirp.46493-ref5"><label>5</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>THELWALL</surname><given-names> M.</given-names></name>,<name name-style="western"><surname> ET AL. </surname><given-names>  </given-names></name>,<etal>et al</etal>. (<year>2010</year>)<article-title>SENTIMENT STRENGTH DETECTION IN SHORT INFORMAL TEXT</article-title><source> JOURNAL OF THE AMERICAN SOCIETY FOR INFORMATION SCIENCE AND TECHNOLOGY</source><volume> 61</volume>,<fpage> 2544</fpage>-<lpage>2558</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.1002/ASI.21416</pub-id></mixed-citation></ref><ref id="scirp.46493-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">PAK, ALEXANDER, AND PATRICK PAROUBEK (2010) TWITTER AS A CORPUS FOR SENTIMENT ANALYSIS AND OPINION MINING. LREC 2010.</mixed-citation></ref><ref id="scirp.46493-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">GO, A., BHAYANI, R. AND HUANG, L. (2009) TWITTER SENTIMENT CLASSIFICATION USING DISTANT SUPERVISION. CS224N PROJECT REPORT, 1-12.</mixed-citation></ref><ref id="scirp.46493-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">SCHMID, H. (1994) PROBABILISTIC PART-OF-SPEECH TAGGING USING DECISION TREES. PROCEEDINGS OF INTERNATIONAL CONFERENCE ON NEW METHODS IN LANGUAGE PROCESSING, VOL. 12.</mixed-citation></ref><ref id="scirp.46493-ref9"><label>9</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>ASTON</surname><given-names> N.</given-names></name>,<name name-style="western"><surname> LIDDLE</surname><given-names> J. </given-names></name>,<name name-style="western"><surname> HU</surname><given-names> W. </given-names></name>,<etal>et al</etal>. (<year>2014</year>)<article-title>TWITTER SENTIMENT IN DATE STREAMS WITH PERCEPTRON</article-title><source> JOURNAL OF COMPUTER AND COMMUNICATIONS</source><volume> 2</volume>,<fpage> 11</fpage>-<lpage>16</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.4236/JCC.2014.23002</pub-id></mixed-citation></ref><ref id="scirp.46493-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">JOA?O, G. (2010) KNOWLEDGE DISCOVERY FROM DATE STREAMS. TAYLOR &amp; FRANCIS, BOCA RATON.</mixed-citation></ref><ref id="scirp.46493-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">BIFET, ALBERT, AND EIBE FRANK. (2010) SENTIMENT KNOWLEDGE DISCOVERY IN TWITTER STREAMING DATA. PROCEEDINGS OF 13TH INTERNATIONAL CONFERENCE ON DISCOVERY SCIENCE, CANBERRA, 6-8 OCTOBER 2010, 1-15.</mixed-citation></ref><ref id="scirp.46493-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">SANDERS, NIEK. TWITTER SENTIMENT CORPUS. SANDERS ANALYTICS. HTTP://WWW.SANANALYTICS.COM/LAB/TWITTER-SENTIMENT/</mixed-citation></ref><ref id="scirp.46493-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">SAIF, HASSAN. TWEENATOR. HTTP://WWW.TWEENATOR.COM/INDEX.PHP?PAGE_ID=13</mixed-citation></ref><ref id="scirp.46493-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">CARVALHO, V.R. AND WILLIAM, W.C. (2006) SINGLE-PASS ONLINE LEARNING: PERFORMANCE, VOTING SCHEMES AND ONLINE FEATURE SELECTION. PROCEEDINGS OF THE 12TH ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, PHILADELPHIA, 20-23 AUGUST 2006, 548-553.</mixed-citation></ref></ref-list></back></article>