Spaces:
Runtime error
Runtime error
fixed bug that made .csv file broken
Browse files- .idea/misc.xml +1 -1
- .idea/politweet.iml +2 -1
- data/twitterdata.csv +0 -17
- textclassifier/TextClassifier.py +3 -2
.idea/misc.xml
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<project version="4">
|
3 |
-
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.
|
4 |
</project>
|
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<project version="4">
|
3 |
+
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (politweet)" project-jdk-type="Python SDK" />
|
4 |
</project>
|
.idea/politweet.iml
CHANGED
@@ -4,8 +4,9 @@
|
|
4 |
<content url="file://$MODULE_DIR$">
|
5 |
<excludeFolder url="file://$MODULE_DIR$/politweet-environment" />
|
6 |
<excludeFolder url="file://$MODULE_DIR$/env" />
|
|
|
7 |
</content>
|
8 |
-
<orderEntry type="
|
9 |
<orderEntry type="sourceFolder" forTests="false" />
|
10 |
</component>
|
11 |
<component name="PyNamespacePackagesService">
|
|
|
4 |
<content url="file://$MODULE_DIR$">
|
5 |
<excludeFolder url="file://$MODULE_DIR$/politweet-environment" />
|
6 |
<excludeFolder url="file://$MODULE_DIR$/env" />
|
7 |
+
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
8 |
</content>
|
9 |
+
<orderEntry type="inheritedJdk" />
|
10 |
<orderEntry type="sourceFolder" forTests="false" />
|
11 |
</component>
|
12 |
<component name="PyNamespacePackagesService">
|
data/twitterdata.csv
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
id,tweet,date,user_id,username,urls,nlikes,nreplies,nretweets,topic,sentiment,target
|
2 |
-
1215952175463108608,SD har förberett för nyval sedan den nygamla Löfvenregeringen tillträdde för ett år sedan. Vi står redo!,2020-01-11 12:02:44,95972673,jimmieakesson,[],856,42,71, 1. swedish politics 2. the social democratic party 3. elections,support,"
|
3 |
-
The Swedish Democrats"
|
4 |
-
1215952136258887680,Menar Vänstern allvar eller ska detta betraktas som mer av substanslöst vapenskrammel? Uppenbart är att väljarna inte är till freds med nuvarande situation. Regeringen såväl som Januariavtalet saknar stöd. Det vore orimligt att låta läget vara oförändrat i ytterligare tre år. https://t.co/4Jy5gxufrb,2020-01-11 12:02:35,95972673,jimmieakesson,[],1200,74,147, 1. swedish politics 2. the left party 3. the government,criticism,Regeringen
|
5 |
-
1222901543231344640,Poddintervju med Samtidigt-gänget! Finns där poddar finns osv. ☕ https://t.co/wC7UriRrWE,2020-01-30 16:17:02,95972673,jimmieakesson,[],103,4,8, 1. podcasts 2. interviews 3. sweden,praise,"
|
6 |
-
The Samtidigt-gänget podcast."
|
7 |
-
1222426025877016576,"""Prata inte om medkänsla. Ni valde att prioritera 9 000 vuxna afghanska män som saknar skäl att stanna i Sverige"" https://t.co/Lqlg7mA1eL",2020-01-29 08:47:30,95972673,jimmieakesson,['https://nyheteridag.se/jimmie-akesson-till-morgan-johansson-om-inte-du-har-upptackt-det-sa-ar-sverige-fullt/'],1784,69,227, 1. immigration 2. politics 3. human rights,criticism,"
|
8 |
-
1222133730757824514,Sett till det läge Sverige befinner sig i – där vi knappt klarar av att upprätthålla en välfungerande välfärd för våra egna medborgare – menar vi att det är direkt oansvarigt att vilja öka mottagandet av kvotflyktingar. https://t.co/JelLbX3Oe8,2020-01-28 13:26:02,95972673,jimmieakesson,['https://www.svd.se/lat-kommunerna-besluta-nivan-for-kvotflyktingar'],1505,81,222, 1. swedish welfare 2. quotas for refugees,opposition,Regeringen
|
9 |
-
1221790690692272129,"Idag är det förintelsens minnesdag och 75 år sedan befrielsen av Auschwitz. Låt oss hedra offren och aldrig glömma de fasor som antisemitismen har orsakat. Vi får heller aldrig acceptera den antisemitism som finns idag, oavsett extremistisk utgångspunkt.",2020-01-27 14:42:55,95972673,jimmieakesson,[],3087,171,268, 1. holocaust 2. anti-semitism,remembrance,N/A
|
10 |
-
1220308369778651136,Det är varje oppositionspartis ansvar att minimera skadorna som regeringen Löfven åsamkar Sverige och detta är ett viktigt agerande i den riktningen. Välfärden är en absolut central del av det svenska folkhemsbygget och måste prioriteras.,2020-01-23 12:32:42,95972673,jimmieakesson,[],1709,61,182, 1. swedish politics 2. the opposition's role 3. welfare,opposition,"
|
11 |
-
1217404594726281216, https://t.co/AdqzHLMHoW,2020-01-15 12:14:08,95972673,jimmieakesson,[],732,19,97, 1. social media 2. twitter 3. advertising,questions,"
|
12 |
-
The target of this tweet is the general public."
|
13 |
-
1217371452044955648,#pldebatt https://t.co/FQ6pTT0rPk,2020-01-15 10:02:26,95972673,jimmieakesson,[],547,5,76, 1. social media 2. twitter 3. hashtags,statements,"
|
14 |
-
The target of this tweet is the #pldebatt."
|
15 |
-
1217354299145170944,Klockan 09:00 startar årets första partiledardebatt i riksdagen. Se den på lämplig kanal! https://t.co/PzrlR3Vvyd,2020-01-15 08:54:16,95972673,jimmieakesson,[],588,17,32, 1. swedish politics 2. parliamentary debates 3. election season,statements,"
|
16 |
-
The target of this tweet is the Swedish people."
|
17 |
-
1216971561497964550,"Stefan Löfven och @socialdemokrat är återigen Miljöpartiets marionetter när det kommer till viktiga politiska frågor. Detta trots att två av tre svenskar vill behålla kärnkraften, inklusive Socialdemokraternas egna väljare. https://t.co/L4p8yHgykl",2020-01-14 07:33:25,95972673,jimmieakesson,['https://www.dn.se/debatt/sd-leder-oppositionen-i-ett-forsok-att-radda-ringhals/'],1138,27,158, 1. swedish politics 2. nuclear power 3. social democracy,criticism,Miljöpartiet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
textclassifier/TextClassifier.py
CHANGED
@@ -175,6 +175,7 @@ class TextClassifier:
|
|
175 |
elif analyzed_sentiment.lower() == "the swedish government":
|
176 |
analyzed_sentiment = "Regeringen"
|
177 |
|
|
|
178 |
return analyzed_sentiment
|
179 |
|
180 |
def analyze_sentiment_of_tweets(self):
|
@@ -284,7 +285,7 @@ class TextClassifier:
|
|
284 |
"""
|
285 |
# Check if file exists, if not, create it
|
286 |
if os.path.exists(filename):
|
287 |
-
already_classified_df = pd.read_csv(filename)
|
288 |
print("Already classified tweets: {}".format(already_classified_df.shape[0]))
|
289 |
# Create a temporary df where values from already_classified_df that are not it self.df are stored
|
290 |
temp_df = self.df[self.df['id'].isin(already_classified_df['id'])]
|
@@ -326,5 +327,5 @@ class TextClassifier:
|
|
326 |
|
327 |
|
328 |
if __name__ == "__main__":
|
329 |
-
tc = TextClassifier(from_date="2020-01-
|
330 |
tc.run_main_pipeline()
|
|
|
175 |
elif analyzed_sentiment.lower() == "the swedish government":
|
176 |
analyzed_sentiment = "Regeringen"
|
177 |
|
178 |
+
analyzed_sentiment = self.cleanup_sentiment_results(analyzed_sentiment)
|
179 |
return analyzed_sentiment
|
180 |
|
181 |
def analyze_sentiment_of_tweets(self):
|
|
|
285 |
"""
|
286 |
# Check if file exists, if not, create it
|
287 |
if os.path.exists(filename):
|
288 |
+
already_classified_df = pd.read_csv(filename, on_bad_lines='skip')
|
289 |
print("Already classified tweets: {}".format(already_classified_df.shape[0]))
|
290 |
# Create a temporary df where values from already_classified_df that are not it self.df are stored
|
291 |
temp_df = self.df[self.df['id'].isin(already_classified_df['id'])]
|
|
|
327 |
|
328 |
|
329 |
if __name__ == "__main__":
|
330 |
+
tc = TextClassifier(from_date="2020-01-01", to_date="2020-01-31", user_name='jimmieakesson', num_tweets=20)
|
331 |
tc.run_main_pipeline()
|