File size: 11,524 Bytes
a7e1a57
 
e82503d
 
c96c726
a7e1a57
 
 
e82503d
a7e1a57
 
 
ed80d9d
 
345677f
ed80d9d
 
 
 
 
 
 
 
 
345677f
ed80d9d
 
 
 
 
 
 
 
 
 
 
 
 
345677f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ed80d9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345677f
 
 
 
 
 
 
 
 
ed80d9d
 
 
860936c
 
 
 
 
 
 
 
 
ed80d9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9cd3306
 
 
 
 
 
 
e82503d
9cd3306
 
e82503d
9cd3306
 
e82503d
9cd3306
 
e82503d
9cd3306
 
 
 
e82503d
9cd3306
 
e82503d
9cd3306
 
e82503d
9cd3306
 
e82503d
9cd3306
 
e82503d
9cd3306
ed80d9d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e82503d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
---
title: TweetGPT
emoji: 🚀
colorFrom: purple
colorTo: blue
sdk: streamlit
sdk_version: 1.34.0
app_file: app.py
pinned: true
license: apache-2.0
---

# Political Parrots: GPT’s Take on Bundestag Tweets

**Tim Michalow (qo27leja), Ian Fischer (uf28alic), Tobias Stirner (zo94suqa), Jonathan Franke (zu98wibu)**

## 1 Introduction

### Motivation

The use of social media in political communication has surged in recent years, with platforms like Twitter becoming pivotal in shaping public discourse. This trend was notably exemplified during Donald Trump’s election campaign, which underscored Twitter’s significant influence on political narratives and engagement. Recognizing the growing importance of social media in politics, this study focuses on analyzing the communication strategies of German political parties on Twitter.

### Define your research question

How effectively can advanced NLP techniques, particularly transformer-based models such as GPT-2, replicate and simulate the rhetorical styles and sentiment patterns of tweets posted by German political parties on Twitter?

### How is this document structured

This document is structured as follows:
1. Introduction
2. Related Work
3. Methodology
4. Results
5. Discussion
6. Conclusion

## 2 Related Work

### NLP and Social Media

The field of natural language processing (NLP) has significantly advanced with the introduction of transformer-based models such as GPT-2 and BERT. Radford et al. (2019) in "Language Models are Unsupervised Multitask Learners" highlight the capabilities of GPT-2 in generating coherent and contextually relevant text. This study underscores the potential of GPT-2 to replicate the complex language patterns found in political communication on social media platforms like Twitter.

### Political Communication on Social Media

Research on political communication emphasizes the strategic use of social media by political entities to engage with the public and influence opinions. Enli and Skogerbø (2013) in "Personalized campaigns in party-centred politics" explore how political parties leverage social media for personalized campaigns to reach voters effectively. Jungherr (2016) in "Analyzing Political Communication with Digital Trace Data" provides methodologies for studying political behavior on social media, which inform our data collection and analysis strategies.

### Sentiment Analysis and Rhetorical Style in Tweets

Understanding the sentiment and rhetorical style in tweets is crucial for analyzing political communication. Balahur et al. (2013) in "Sentiment Analysis in Twitter" examine various techniques for determining sentiment in short texts, which is pertinent to our evaluation metrics. Hart and Lind (2011) in "Political Rhetoric and its Discontents" showcase the importance of rhetorical analysis in political discourse, guiding our approach to replicating the distinctive styles of different political parties.

### Applications of GPT-2 in Text Generation

The practical applications of GPT-2 for text generation have been demonstrated in various domains. Brown et al. (2020) in "Language Models are Few-Shot Learners" show the model's ability to generate human-like text with minimal fine-tuning, validating our choice of GPT-2 for generating political tweets. Furthermore, Wu et al. (2019) in "GPT-2 as a Knowledge Engine" illustrate the model's capacity to generate relevant and coherent content, supporting our deployment strategy.

### Implications of AI in Political Communication

The ethical implications of using AI in political communication are a significant concern. Floridi et al. (2018) in "AI4People—An Ethical Framework for a Good AI Society: Opportunities, Risks, Principles, and Recommendations" discuss the ethical challenges posed by AI, such as bias and misinformation, which are relevant to our study. Additionally, the "Automating Society Report" by AlgorithmWatch (2020) provides insights into the societal impacts of automated decision-making systems, including those used in political communication.

By integrating insights from these studies, our project aims to build upon the existing body of knowledge and contribute to the field of political communication analysis through advanced NLP techniques.

## 3 Methodology

### 3.1 General Methodology

Our methodology involves several key steps to achieve our project goals:

1. **Data Collection**: We collected tweets from the official Twitter accounts of German political parties.
2. **Data Preparation**: We cleaned and prepared the dataset for analysis, including filtering out retweets and irrelevant information.
3. **Model Training**: We fine-tuned a GPT-2 model on our dataset to generate tweets that mimic the style of each political party.
4. **Evaluation**: We evaluated the model’s performance using various metrics to ensure the generated tweets were accurate and relevant.
5. **Deployment**: We developed a Streamlit application to deploy the trained model and allow users to generate tweets interactively.

### 3.2 Data Understanding and Preparation

#### 3.2.1 Merging JSON Lines Files

We merged multiple JSON Lines files containing tweet data into a single dataset to streamline our analysis process.

#### 3.2.2 Filtering Retweets

To focus on original content, we filtered out retweets from the dataset. This ensured that our analysis was based solely on the tweets created by the political parties themselves.

#### 3.2.3 Cleaning Tweet Text

We cleaned the tweet text by removing special characters, URLs, and other irrelevant information. This preprocessing step was crucial to ensure the quality of the data used for model training.

### 3.3 Modeling and Evaluation

#### 3.3.1 Model and Tokenizer

We used a fine-tuned GPT-2 model for tweet generation. The tokenizer was configured to handle the specific nuances of the German language and political terminology.

#### 3.3.2 Parameters

The model was fine-tuned with the following parameters:

Model: GPT-2
Training epochs: 3
Batch size: 6
Learning rate: 2e-4
Warmup steps: 100
Epsilon: 1e-8
Evaluation strategy: Evaluate after each epoch
Save strategy: Save the model after each epoch
Seed: 38

#### 3.3.3 Training

The training process involved feeding the cleaned and prepared dataset into the GPT-2 model. We used a combination of supervised learning techniques to fine-tune the model effectively.
We trained the model using the Hugging Face Trainer, which takes the parameters as
input. We opted for this because it is optimized for transformer and also comes from
the same framework. During training, we used the WANDB API to track the training
of each model of the respective parties and obtain metrics. We ran the training of the
models via Kaggle, as Kaggle provides two T4 GPUs and so we got good hardware
without paying anything. Another advantage was that we could run the training via
CUDA. The training took between 2 and 10 hours, depending on the number of tweets
from each party. We will go into this in more detail in the evaluation.

#### 3.3.4 Generation and Deployment

After training, we used the model to generate tweets that mimic the styles of different political parties. The deployment was handled through a Streamlit application, providing an interactive platform for users to generate and analyze tweets.

## 4 Results

### 4.1 Artifacts

The main artifacts produced from this project include:
- A fine-tuned GPT-2 model for tweet generation
- A cleaned and prepared dataset of German political tweets
- A Streamlit application for tweet generation and analysis

### 4.2 Libraries and Tools

We used several libraries and tools, including:
- TensorFlow and PyTorch for model training
- Hugging Face Transformers for model fine-tuning
- Pandas and NumPy for data processing
- Streamlit for application deployment

### 4.3 Concept of the App

Our Streamlit application allows users to select a political party and generate tweets that reflect the party's communication style. The app provides an interactive and user-friendly interface for exploring the generated tweets.

### 4.4 Results on Unseen Data

The model performed well on unseen data, generating tweets that were coherent and stylistically similar to those of the respective political parties. The generated tweets were evaluated based on their relevance, sentiment, and rhetorical style.

### 4.5 Visualizations from WandB

We used Weights and Biases (WandB) for tracking and visualizing our machine learning experiments. The following screenshots provide insights into the training process and performance metrics of our model:

##### 4.5.1 Evaluation Metrics

- **Steps per Second**
![Steps per Second](./WandB_Training_Evaluation/eval_stepspersecond.png)

- **Runtime**
![Runtime](./WandB_Training_Evaluation/eval_runtime.png)

- **Samples per Second**
![Samples per Second](./WandB_Training_Evaluation/eval_samplespersecond.png)

- **Loss**
![Loss](./WandB_Training_Evaluation/eval_loss.png)

##### 4.5.2 Training Metrics

- **Gradient Norm**
![Gradient Norm](./WandB_Training_Evaluation/train_gradnorm.png)

- **Global Step**
![Global Step](./WandB_Training_Evaluation/train_globalstep.png)

- **Loss**
![Training Loss](./WandB_Training_Evaluation/train_loss.png)

- **Learning Rate**
![Learning Rate](./WandB_Training_Evaluation/train_learningrate.png)

- **Epoch**
![Epoch](./WandB_Training_Evaluation/train_epoch.png)

## 5 Discussion

### 5.1 Results/Artifacts/App

The generated tweets successfully mimicked the communication styles of different German political parties. The Streamlit application provided an intuitive platform for users to interact with the model and generate tweets.

### 5.2 Limitations

Several limitations were identified during the project:
- The dataset was limited in size, which may have affected the model's ability to generalize.
- GPU availability in Colab and Kaggle was a constraint, limiting the extent of model fine-tuning.
- The app's functionality was limited to tweet generation and did not include advanced features like real-time sentiment analysis.

### 5.3 Ethical Perspective

#### Dangers of the Application

The use of AI-generated content in political communication can lead to ethical concerns, such as the potential for discrimination through biased models or the spread of misinformation.

#### Transparency

Ensuring transparency in the model's training and deployment processes is crucial to maintain public trust and accountability.

#### Effects on Climate Change

The computational resources required for training large models have a significant carbon footprint, contributing to climate change.

Possible sources for further ethical considerations:
- "Automating Society Report"
- Relevant publications on the ethics of AI and social media

### 5.4 Further Research

Future research could explore:
- Expanding the dataset to include more tweets and other forms of social media communication.
- Incorporating real-time sentiment analysis and other advanced features into the application.
- Investigating the long-term impacts of AI-generated content on public opinion and political engagement.

## 6 Conclusion

In this project, we analyzed the communication strategies of German political parties on Twitter using a fine-tuned GPT-2 model. Our results demonstrate the potential of NLP techniques in political communication analysis. Future research could build on these findings to explore more advanced applications and address the ethical implications of AI in social media.