| Literature DB >> 32226558 |
Xiang Ji1, Soon Ae Chun2, Zhi Wei1, James Geller1.
Abstract
An important task of public health officials is to keep track of health issues, such as spreading epidemics. In this paper, we are addressing the issue of spreading public concern about epidemics. Public concern about a communicable disease can be seen as a problem of its own. Keeping track of trends in concern about public health and identifying peaks of public concern are therefore crucial tasks. However, monitoring public health concerns is not only expensive with traditional surveillance systems, but also suffers from limited coverage and significant delays. To address these problems, we are using Twitter messages, which are available free of cost, are generated world-wide, and are posted in real time. We are measuring public concern using a two-step sentiment classification approach. In the first step, we distinguish Personal tweets from News (i.e., Non-Personal) tweets. In the second step, we further separate Personal Negative from Personal Non-Negative tweets. Both these steps consist themselves of two sub-steps. In the first sub-step (of both steps), our programs automatically generate training data using an emotion-oriented, clue-based method. In the second sub-step, we are training and testing three different Machine Learning (ML) models with the training data from the first sub-step; this allows us to determine the best ML model for different datasets. Furthermore, we are testing the already trained ML models with a human annotated, disjoint dataset. Based on the number of tweets classified as Personal Negative, we compute a Measure of Concern (MOC) and a timeline of the MOC. We attempt to correlate peaks of the MOC timeline to peaks of the News (Non-Personal) timeline. Our best accuracy results are achieved using the two-step method with a Naïve Bayes classifier for the Epidemic domain (six datasets) and the Mental Health domain (three datasets). © Springer-Verlag Wien 2015.Entities:
Keywords: Automatic sentiment labeling; Measure of concern; Public health; Sentiment analysis; Sentiment classification; Social analytics; Twitter mining
Year: 2015 PMID: 32226558 PMCID: PMC7096866 DOI: 10.1007/s13278-015-0253-5
Source DB: PubMed Journal: Soc Netw Anal Min
Fig. 5An example of calculating the Jaccard Coefficient between peaks of MOC and peaks of News
Fig. 1Overview of the two-step sentiment classification and quantification method
The statistics of the collected dataset
| Dataset Id | Tweet type | Total number of tweets | Number of non-english tweets | Number of tweets after preprocessing |
|---|---|---|---|---|
| 1 | Listeria | 13,572 | 1979 | 4544 |
| 2 | Influenza | 1,509,609 | 716,901 | 527,489 |
| 3 | Swine Flu | 73,974 | 35,970 | 20,430 |
| 4 | Measles | 166,555 | 8808 | 60,016 |
| 5 | Meningitis | 159,393 | 52,824 | 42,229 |
| 6 | Tuberculosis | 215,083 | 147,350 | 33,030 |
| 7 | Major Depression | 2,269,885 | 121,649 | 884,304 |
| 8 | Generalized Anxiety Disorder | 380,094 | 271,758 | 71,978 |
| 9 | Obsessive–compulsive Disorder | 434,571 | 168,061 | 171,211 |
| 10 | Bipolar Disorder | 51,520 | 7416 | 20,915 |
| 11 | Air Disaster | 15,871 | 681 | 5765 |
| 12 | Melanoma Experimental Drug | 86,757 | 9858 | 40,261 |
Results of Personal tweets classification with different thresholds (Precision/Recall)
| Threshold | Dataset | ||
|---|---|---|---|
| Epidemic | Mental health | Clinical science | |
| s1w0 | 0.61/0.69 | 0.55/0.74 | 0.48/0.58 |
| s1w1 | 0.64/0.48 | 0.53/0.63 | 0.51/0.52 |
| s1w2 | 0.70/0.24 | 0.53/0.38 | 0.61/0.40 |
| s1w3 | 0.75/0.18 | 0.50/0.20 | 0.58/0.22 |
| s2w0 | 0.86/0.37 | 0.53/0.40 | 0.75/0.42 |
| s2w1 | 0.86/0.28 | 0.53/0.38 | 0.73/0.38 |
| s2w2 | 0.91/0.15 | 0.51/0.24 | 0.76/0.26 |
| s2w3 | 0.91/0.15 | 0.37/0.10 | 0.80/0.16 |
| s3w0 | 1.00/0.21 | 0.79/0.21 | 0.89/0.16 |
| s3w1 | 1.00/0.21 | 0.79/0.21 | 0.88/0.14 |
| s3w2 | 1.00/0.15 | 0.84/0.15 | 0.86/0.12 |
| s3w3 | 1.00/0.15 | 1.00/0.07 | 1.00/0.01 |
Fig. 2Personal vs. News (Non-Personal) Classification
Fig. 3Negative vs. Non-Negative Classification
Partial list of the emoticons used
| Negative | Non-Negative |
|---|---|
| -.- | :o) |
| :C | :] |
| :c | :] |
| ;c | :3 |
| ;C | :c) |
Whitelist and blacklist of stop words for building TR-NN
| Negative | Non-Negative | |
|---|---|---|
| Whitelist | Negative emoticons and profanities | Neutral and positive emoticons |
| Blacklist | News keywords, retweet | News keywords, retweet |
Examples of Personal Negative and Personal Non-Negative tweets in training dataset TR-NN
| Personal Negative | I hate TuBerculosis. they get on my damn nerves. They the reason Chrissy don’t lotion his ankles or elbows |
| Uh ohhhh!:(CDC: 1 dead, 7 others sickened by listeria traced to cheese | |
| Personal Non-Negative | Car’s so fresh and so clean. Time to lay out in the sun with some ruby beer and work on my melanoma:) |
| Preventing swine flu, one ham at a time.:) |
Agreement between human annotators
| Domains | Epidemic | Clinical science | Mental health |
|---|---|---|---|
| Total number of tweets | 200 | 200 | 200 |
| At least two annotators agree | 192/200 | 194/200 | 188/200 |
| Fleiss’ Kappa Coefficient | 0.4 | 0.54 | 0.33 |
Statistics regarding human annotated dataset
| Domains | Epidemic | Clinical science | Mental health |
|---|---|---|---|
| Total number of tweets | 200 | 200 | 200 |
| Personal Negative tweets | 25/200 | 10/200 | 34/200 |
| Personal Non-Negative tweets | 34/200 | 34/200 | 58/200 |
| News tweets | 133/200 | 150/200 | 96/200 |
Size of experimental training and test datasets for two-step classification (PN is Personal Negative and PNN is Personal Non-Negative)
| Classifier | Step 1 | Step 2 | ||||||
|---|---|---|---|---|---|---|---|---|
| MNB/NB/SVM | MNB | NB | SVM | |||||
| Dataset Id | Training (Personal/News) | Testing (Personal/News) | Training (PN/PNN) | Testing (PN/PNN) | Training (PN/PNN) | Testing (PN/PNN) | Training (PN/PNN) | Testing (PN/PNN) |
| 1 | 206/238 | 102/119 | 18/8 | 8/4 | 19/8 | 9/4 | 20/8 | 9/4 |
| 2 | 83,032/7206 | 41,515/3602 | 32,689/5346 | 16,344/2672 | 32,420/5244 | 16,209/2621 | 32,700/5359 | 16,350/2679 |
| 3 | 1933/339 | 966/169 | 634/226 | 316/113 | 629/228 | 314/113 | 636/226 | 317/113 |
| 4 | 5808/3770 | 2904/1885 | 630/112 | 314/55 | 618/112 | 309/56 | 647/114 | 323/56 |
| 5 | 3501/1094 | 1750/546 | 658/306 | 329/152 | 650/306 | 325/152 | 662/307 | 330/153 |
| 6 | 2863/756 | 1431/378 | 412/144 | 205/72 | 402/132 | 201/65 | 414/147 | 207/73 |
| 7 | 262,991/5163 | 131,495/2581 | 29,153/4320 | 14,576/2160 | 29,178/4314 | 14,589/2157 | 29,189/4326 | 14,594/2163 |
| 8 | 8159/1301 | 4079/650 | 2446/725 | 1222/362 | 2428/720 | 1213/360 | 2454/732 | 1226/365 |
| 9 | 27,972/673 | 13,985/336 | 5714/2046 | 2856/1023 | 5680/2030 | 2839/1014 | 5714/2060 | 2857/1029 |
| 10 | 5160/303 | 2580/151 | 548/92 | 273/46 | 546/90 | 272/45 | 548/95 | 274/47 |
| 11 | 313/314 | 156/156 | 28/8 | 13/3 | 28/7 | 14/3 | 30/10 | 14/5 |
| 12 | 7180/1154 | 3590/576 | 648/160 | 324/79 | 640/158 | 320/78 | 648/160 | 323/79 |
Results of S1A/S2A (S1A = step one accuracy and S2A = step two accuracy) on individual dataset (rounded to 2 decimal places)
| Dataset Id | 2S-MNB | 2S-NB | 2S-SVM |
|---|---|---|---|
| 1 | 0.91/0.92 | 0.90/0.77 | 0.99/1.00 |
| 2 | 0.97/0.95 | 0.96/0.92 | 1.00/0.97 |
| 3 | 0.97/0.90 | 0.95/0.94 | 1.00/0.97 |
| 4 | 0.94/0.89 | 0.90/0.97 | 1.00/0.97 |
| 5 | 0.95/0.91 | 0.93/0.97 | 1.00/0.98 |
| 6 | 0.96/0.86 | 0.92/0.97 | 1.00/0.99 |
| 7 | 0.98/0.97 | 0.98/0.98 | 1.00/0.99 |
| 8 | 0.96/0.90 | 0.95/0.96 | 1.00/0.96 |
| 9 | 0.98/0.96 | 0.96/0.98 | 1.00/0.98 |
| 10 | 0.96/0.90 | 0.95/0.98 | 1.00/1.00 |
| 11 | 0.89/0.81 | 0.88/0.82 | 0.96/0.95 |
| 12 | 0.92/0.87 | 0.89/0.98 | 1.00/0.98 |
Confusion matrices of the best classifier on each dataset (Step 1 positive class is Personal and Negative class is News, Step 2 positive class is Personal Negative and Negative class is Personal Non-Negative)
| Dataset Id | Step 1 | Step 2 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Best classifier | True pos. | False neg. | False pos. | True neg. | True pos. | False neg. | False pos. | True neg. | |
| 1 | 2S-SVM | 101 | 1 | 2 | 117 | 9 | 0 | 0 | 4 |
| 2 | 2S-SVM | 41,513 | 2 | 12 | 3590 | 16,121 | 229 | 372 | 2307 |
| 3 | 2S-SVM | 966 | 0 | 3 | 166 | 311 | 6 | 5 | 108 |
| 4 | 2S-SVM | 2904 | 0 | 3 | 1882 | 320 | 3 | 9 | 47 |
| 5 | 2S-SVM | 1749 | 1 | 1 | 545 | 323 | 7 | 5 | 148 |
| 6 | 2S-SVM | 1431 | 0 | 5 | 373 | 207 | 0 | 4 | 69 |
| 7 | 2S-SVM | 131,494 | 1 | 8 | 2573 | 14,494 | 100 | 135 | 2028 |
| 8 | 2S-SVM | 4079 | 0 | 2 | 648 | 1205 | 21 | 40 | 325 |
| 9 | 2S-SVM | 13,984 | 1 | 1 | 335 | 2819 | 38 | 51 | 978 |
| 10 | 2S-SVM | 2580 | 0 | 5 | 146 | 274 | 0 | 0 | 47 |
| 11 | 2S-SVM | 156 | 0 | 11 | 145 | 14 | 0 | 1 | 4 |
| 12 | 2S-SVM | 3571 | 19 | 1 | 575 | 318 | 5 | 3 | 76 |
Results of S1A/S2A (S1A step one accuracy and S2A step two accuracy) on individual domain
| Dataset Id | 2S-MNB | 2S-NB | 2S-SVM |
|---|---|---|---|
| Epidemic (1, 2, 3, 4, 5, 6) | 0.95/0.95 | 0.94/0.93 | 0.99/0.97 |
| Mental health (8, 9, 10) | 0.97/0.96 | 0.96/0.97 | 1.00/0.97 |
| Clinical science (12) | 0.92/0.87 | 0.89/0.98 | 1.00/0.98 |
Confusion matrices of the best classifier on individual domain (Step 1 positive class is Personal and Negative class is News, Step 2 positive class is Personal Negative and Negative class is Personal Non-Negative)
| Dataset Id | Best classifier | Step 1 | Step 2 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| True pos. | False neg. | False pos. | True neg. | True pos. | False neg. | False pos. | True neg. | ||
| Epidemic | 2S-SVM | 47,916 | 9 | 18 | 6695 | 17,046 | 245 | 398 | 2652 |
| Mental health | 2S-SVM | 20,602 | 6 | 3 | 1137 | 4290 | 69 | 88 | 1353 |
| Clinical science | 2S-SVM | 3571 | 19 | 1 | 575 | 318 | 5 | 3 | 76 |
Accuracy of Personal vs. News classification on human annotated datasets
| Dataset | Random | Clue-based | URL-based | 2S-MNB | 2S-NB | 2S-SVM |
|---|---|---|---|---|---|---|
| Epidemic | 0.52 | 0.77 | 0.82 | 0.86 | 0.87 | 0.71 |
| Mental health | 0.48 | 0.56 | 0.68 | 0.72 | 0.78 | 0.59 |
| Clinical science | 0.49 | 0.82 | 0.72 | 0.74 | 0.71 | 0.36 |
Confusion matrices of the best Personal vs. News classifier on human annotated datasets (positive class is Personal and Negative class is News)
| Dataset Id | Best classifier | True positive | False negative | False positive | True negative |
|---|---|---|---|---|---|
| Epidemic | 2S-NB | 52 | 15 | 11 | 122 |
| Mental health | 2S-NB | 81 | 23 | 21 | 75 |
| Clinical science | Clue-based | 21 | 29 | 7 | 143 |
Negative vs. Non-Negative classification results on human annotated datasets
| Dataset Id | 2S-MNB | 2S-NB | 2S-SVM |
|---|---|---|---|
| Epidemic | 0.73 | 0.59 | 0.59 |
| Mental health | 0.63 | 0.65 | 0.57 |
| Clinical science | 0.64 | 0.73 | 0.68 |
Confusion matrices of the best Personal Negative vs. Personal Non-Negative classifier on human annotated datasets (Positive class is Personal Negative and Negative class is Personal Non-Negative)
| Dataset Id | Best classifier | True positive | False negative | False positive | True negative |
|---|---|---|---|---|---|
| Epidemic | 2S-MNB | 17 | 8 | 8 | 26 |
| Mental health | 2S-NB | 18 | 16 | 16 | 42 |
| Clinical science | 2S-NB | 4 | 6 | 6 | 28 |
Most important unigrams in Personal vs. News classification
| Dataset | Unigrams with most importance |
|---|---|
| Epidemic | url, i, case, but, o, plz, night, etc., same, children, you, really, he, what, would, thing, vaccine, am, of, me, don’t, bitch, actually, love, this, know, kind, 92, flu, with, the |
| Mental health | url, disorder, often, bipolar, psychology, i, had, much, brown, his, into, lol, everything, 2014, forever, ocd, says, depression, my, isn’t, if, is, im, overdrive, to, so, have, the |
| Clinical science | Melanoma, health, http, co, risk, prevention, app, video, shown, shows, i, new, s, bladder, your, daily, now, skincancer, cases, skin, police, increased, number, breast, be, get, and, former, am, an, of, study, beauty, is, tri, yervoy, raises, via, for, problems, researchers |
Fig. 4Correlation between sentiment trends and News trends
The correlation results of Measure of Concern vs. News and Non-Negative vs. News
| Dataset Id | # of peaks in MOC | # of Peaks in NN | # of Peaks in News | Best JC (MOC vs. News) | MOC vs. News time delay/lead | Best JC (NN vs. News) | NN vs. News time delay/lead |
|---|---|---|---|---|---|---|---|
| Epidemic | 7 | 8 | 8 | 0.25 | 0 | 0.231 | 0 |
| Mental health | 7 | 6 | 7 | 0.273 | 0 | 0.3 | 0 |
| Clinical science | 2 | 2 | 3 | 0 | 0 | 0.25 | −1 |
Fig. 6Measure of Concern timeline trend (green) vs. News Timeline Trend (purple): in a listeria, b bipolar disorder and c air disaster with most frequent topic terms in different peaks
Fig. 7EOSDS visual analytics tools for public concern monitoring a sentiment timeline chart, b topics cloud, c concern map
Keywords for collecting tweets in each dataset
| Dataset | Keywords |
|---|---|
| Epidemic | Listeria, Listeriosis, flu, influenza, h1n1, h5n1, ah1n1, adenovirus, h3n2, h3n8, h7n3, Swine Flu, Swine influenza, pig influenza, hog flu, pig flu, Swine influenza virus, swine-origin influenza virus, measles, measle, rubeola, coryza, morbilli, koplik spots, meningitis, encephalitis, meningococcal, brain infection, meningoencephalitis, meningococcus, neisseria meningitidis, mollarets, tuberculosis, tuberculose, tuberculous, mantoux test, mdr tb, bcg vaccine, phthisis, tdr tb |
| Mental health | Generalized anxiety disorder, Obsessive–compulsive disorder, Obsessive–compulsive neurosis, OCD, Bipolar disorder, Manic depression, Bipolar affective disorder |
| Clinical science | Skin cancer, melanoma, nivolumab, IMCgp100, PV-10, lambrolizumab, T-Vec, TVEC, imatinib, methotrexate, MPDL3280A |