| Literature DB >> 33594374 |
Arjun Magge, Davy Weissenbacher, Karen Oâ Connor, Matthew Scotch, Graciela Gonzalez-Hernandez.
Abstract
The increase of social media usage across the globe has fueled efforts in digital epidemiology for mining valuable information such as medication use, adverse drug effects and reports of viral infections that directly and indirectly affect population health. Such specific information can, however, be scarce, hard to find, and mostly expressed in very colloquial language. In this work, we focus on a fundamental problem that enables social media mining for disease monitoring. We present and make available SEED, a natural language processing approach to detect symptom and disease mentions from social media data obtained from platforms such as Twitter and DailyStrength and to normalize them into UMLS terminology. Using multi-corpus training and deep learning models, the tool achieves an overall F1 score of 0.86 and 0.72 on DailyStrength and balanced Twitter datasets, significantly improving over previous approaches on the same datasets. We apply the tool on Twitter posts that report COVID19 symptoms, particularly to quantify whether the SEED system can extract symptoms absent in the training data. The study results also draw attention to the potential of multi-corpus training for performance improvements and the need for continuous training on newly obtained data for consistent performance amidst the ever-changing nature of the social media vocabulary.Entities:
Year: 2022 PMID: 33594374 PMCID: PMC7885933 DOI: 10.1101/2021.02.09.21251454
Source DB: PubMed Journal: medRxiv
Figure 1:Training and inference components of the SEED tool used for extracting and normalizing symptom mentions in social media posts.
Summary of the datasets used for the experiments presented. We merge the NER datasets to detect symptoms by combining ADE and Indication spans. Positive column indicates the percentage of tweets containing ADE, Indication, Symptom or Disease spans among all tweets in the dataset.
| Corpus | Source | Annotations used | Training | Test | % Positive |
|---|---|---|---|---|---|
|
| DailyStrength | NER spans (ADE, Indication) | 4720 | 1559 | 32% |
|
| NER spans (ADE, Indication) | 1340 | 443 | 56% | |
|
| MedDRA (ADE) | 1786 | 1123 | 100% | |
|
| MedDRA (ADE) | 2276 | 1559 | 100% | |
|
| AskAPatient | NER spans and MedDRA (ADE, Symptom, Drug, Disease) | 1000 | 250 | 100% |
|
| NER spans (Symptom, Drug, Disease) | 500 | 165 | 44% | |
|
| NER spans and UMLS (Symptom, Drug, Disease) | 400 | 145 | 82% | |
|
| Twitter, AskAPatient | MedDRA (Symptom, Drug, Disease) | 27,979 | - | 100% |
Comparison of single and multi-corpus training on the classification datasets using the RoBERTa-Large transformer model. Multi-corpus training shows performance improvement in datasets annotated with similar guidelines and show minor loss in other datasets.
| Training Set | Single-corpus | Multi-corpus |
|---|---|---|
| DS-NER | 0.97/0.88/0.92 |
|
| Tw-NER | 0.76/0.98/0.86 |
|
| Micromed |
| 0.83/0.82/0.83 |
Comparison of single and multi-corpus training on NER datasets. SOTA performance on the CADEC dataset could not be determined as other works use different entity subsets as symptoms. SOTA performance on Micromed was reported on the full dataset, however, as of this work, only 51% of the tweets are available.
| Training Set | SOTA | Single-corpus | Multi-corpus |
|---|---|---|---|
| DS-NER | 0.86/0.78/0.82 | 0.88/0.82/0.85 |
|
| Tw-NER | 0.76/0.68/0.72 | 0.78/0.70/0.74 |
|
| CADEC | - |
| 0.74/0.80/0.77 |
| Micromed |
| 0.65/0.62/0.64 | 0.63/0.60/0.62 |
| TwiMed | - | 0.57/0.68/0.62 |
|
Error analysis performed on on the multi-corpus test dataset. Bold text represent gold standard annotations while italicized text represent predicted spans of text.
| Sentence | Error | Category |
|---|---|---|
| I just woke up from a | False Negative | Classifier Error |
| I just spent 85 dollars on | False Negative | Classifier Error |
| I have been on this drug for years. I was on 75 mg 1x a day and now 2x a day. I really didn’t have any | False Positive | Classifier Error |
| In older men | False Positive | Extractor Error |
| today was ment to be my | False Positive | Extractor Error |
| Yesterday’s trivia answer is that Pasteur was an expert in treating and preventing | False Negative | Extractor Error Possible Annotation Error |
| I gotta feeling that imma | Partial False Positive | |
| How | False Negative | Extractor Error |
| I still have the same | False Negative | Extractor Error |
| I too am | Partial False Positive | Extractor Error |
| My | False Positive | Extractor Error |
Most frequently mentioned (normalized) symptoms in the COVID19 tweet dataset listed with an example mention. All tweets have been paraphrased to preserve anonymity.
| Normalized Symptom | Perc of all symptoms | Example of symptom mention with span highlighted |
|---|---|---|
| Malaise | 13.70% | I’m |
| Cough | 11.33% | For the last 4 days I’ve had a runny nose and a |
| Pyrexia | 10.15% | Someone told me u normally dont run a |
| Pneumonia | 3.93% | My 15 year old has had a fever and dry cough for a week. Today he tested positive for |
| Influenza | 3.70% | I’m not sure yet if I will test positive for coronavirus, but I do know that I had the |
| Dyspnoea | 3.26% | So today I find out if what brought me in with |
| Pain | 2.81% | Have someone in my house who is more than likely infected with the coronavirus. They’re an er doctor and they’ve come down with a 102 degree fever and |
| Oropharyngeal pain | 2.59% | Yup. I have GERD which means that I have a |
| Fatigue | 2.15% | Since a week or so into isolation: Sore throat, GI, dry cough, low fever, |
| Headache | 1.63% | SAME AF! then my anxiety starts making me think the |
| Bronchitis | 1.26% | I was denied testing multiple times because I didn’t have a fever AND because I have history of |
| Asthma | 1.19% | When they tested me I had the flu, viral pneumonia, and viral sepsis. Now I am |
| Anxiety | 1.19% | Since someone told me I was exposed to covid-19, I’ve realized lots of covid symptoms overlap with |
| Chest pain | 0.96% | Wife had fever, |
Examples illustrating mentions of symptoms across categories of Indication (in cyan) and ADE (in pink) in social media posts and assignment of normalization identifiers.
| Text | Extracted Spans | Normalized Spans |
|---|---|---|
| This drug didn’t end up helping at all. I tried it for my | mood | 10024919: Low mood |
| Is anybody else have terrible | acne problems | 10000496: Acne |
| I can’t see the point in taking it. It’s | screwing up my sleep | 10040995: Sleep disturbance |
| It kinda did ok in keeping my | anxiety | 10002855: Anxiety |
| Its dangerous. It is supposed to treat | depression | 10012378: Depression |
| I had a mild case of #COVID19 during the time of the protests. I was | exhausted | 10016256: Fatigue |