How do you change someone’s mind?
For centuries, this question was the domain of rhetoricians, politicians, and philosophers. In the internet age, it became the domain of A/B testing. Companies and political campaigns generate hundreds of message variations, show them to thousands of people, and keep the ones that get the most clicks or donations.
But there is a flaw in the A/B testing approach: it tells you which message won, but it rarely tells you why. Was it the tone? The specific vocabulary? The appeal to emotion versus logic? Without understanding the “why,” generating the next successful message is just a guessing game.
In this post, we are diving deep into AutoPersuade, a research framework presented by Saenger, Hinck, Grimmer, and Stewart. This paper proposes a novel workflow that doesn’t just measure persuasion—it explains it. By combining Large Language Models (LLMs) with a new type of topic model called the SUN model, the researchers demonstrate how to identify the latent features of an argument that cause it to be persuasive, and how to use those insights to generate even more effective arguments.
We will walk through the mathematical machinery behind their method, analyze their case study on arguments for veganism, and explore how we can move from simple prediction to causal explanation in natural language processing.
The Persuasion Paradox
Modern Natural Language Processing (NLP) faces a paradox. We have LLMs that can generate infinite plausible arguments, and we have experimental designs that can measure which arguments people prefer. However, connecting the two remains difficult.
Standard supervised learning (like a BERT classifier) can predict if a text will be persuasive, but it is a “black box”—it doesn’t offer interpretable advice on how to improve the text. Standard topic modeling (like LDA) gives interpretable themes, but it is unsupervised—it doesn’t know which topics actually drive the persuasion score.
The AutoPersuade workflow bridges this gap. As illustrated below, it follows a cyclical three-step process:
- Collect Data: Gather arguments and measure human responses.
- Discover Topics: Use a specialized model to find latent topics that explain both the text content and the persuasion score.
- Estimate & Optimize: Calculate the causal effect of each topic and use LLMs to synthesize new, optimized arguments.

Let’s break down exactly how this works, starting with the data.
Step 1: The Setup (Data Collection)
To build a model of persuasion, you need a playground. The authors chose veganism—a topic that is widely debated, polarized, and rich with different rhetorical strategies (e.g., animal rights, climate change, health).
They curated a massive dataset of over 1,300 pro-veganism arguments. Some were scraped from the web, while others were generated or summarized by GPT-4. To measure persuasiveness, they didn’t just ask people to rate arguments on a 1-10 scale, which can be noisy. Instead, they used a pairwise forced-choice design.
Respondents on Amazon Mechanical Turk were shown two arguments side-by-side and asked: “Which argument is more persuasive?”
Using these pairwise comparisons, the researchers fit a Bradley-Terry model. This statistical technique converts win/loss records from head-to-head matchups into a single scalar “persuasiveness score” for each argument. This score, denoted as \(Y\), becomes the ground truth our model tries to explain.
Step 2: The Core Method (The SUN Topic Model)
This is the technical heart of the paper. How do we extract interpretable features from text that correlate with our \(Y\) score?
The authors introduce the SUpervised semi-Non-negative (SUN) topic model. To understand it, we need to look at the math of matrix factorization.
The Problem with Embeddings
First, the arguments are converted into numerical vectors using OpenAI’s embeddings. If we have \(n\) arguments and an embedding size of \(s\), we get a data matrix \(\mathbf{M} \in \mathbb{R}^{n \times s}\).
If we were doing standard unsupervised topic modeling, we would try to approximate \(\mathbf{M}\) as the product of two smaller matrices:
- \(\mathbf{W}\): The document-topic matrix (how much of each topic is in each document).
- \(\mathbf{B}\): The topic-embedding matrix (what each topic looks like in embedding space).

However, we don’t just want topics that describe the text (\(\mathbf{M}\)); we want topics that predict the persuasion score (\(\mathbf{Y}\)). We assume the score is a linear combination of the topics:

Here, \(\mathbf{\gamma}\) represents the persuasion coefficients. These tell us how much each topic contributes to the score.
The Unified Loss Function
The SUN model’s innovation is to solve for the topics (\(\mathbf{W}\)) by trying to satisfy two goals simultaneously:
- Reconstruct the text embeddings accurately.
- Predict the persuasion score accurately.
We define two loss functions (error measurements).
First, the Argument Loss (\(\mathcal{L}_A\)), which measures how well the topics describe the text using the Frobenius norm (a way to measure distance between matrices):

Second, the Response Loss (\(\mathcal{L}_R\)), which measures how accurately the topics predict the persuasion score:

The magic happens when we combine these into a total loss function \(\mathcal{L}\), controlled by a hyperparameter \(\alpha\):

Why is \(\alpha\) important?
- If \(\alpha \approx 1\), the model ignores the persuasion scores and acts like a standard unsupervised topic model. It finds topics that are prevalent in the text, even if they don’t matter for persuasion.
- If \(\alpha \approx 0\), the model ignores the text structure and focuses entirely on predicting the score. This might result in “topics” that are mathematically useful for prediction but semantically uninterpretable to humans.
- The authors find that \(\alpha = 0.5\) provides the best balance.
Solving the Optimization
Through some clever algebraic manipulation, the authors show that this complicated supervised problem can be rewritten as a single matrix factorization problem on a unified matrix \(\mathbf{X}\).
(See the bottom line of the derivation above)
By creating a combined data matrix \(\mathbf{X}\) (scaled by \(\alpha\)) and a combined coefficient matrix \(\mathbf{H}\), they can solve for the optimal topics using an iterative update algorithm.
The update rule for the topics (\(\mathbf{W}\)) uses a multiplicative update method. While the formula looks intimidating, it is essentially pushing the values of \(\mathbf{W}\) up or down until the error is minimized, while ensuring the topic loadings remain non-negative (interpretable).

Once the model converges, we have our topics (\(\mathbf{W}\)) and we know how they relate to the persuasion score (\(\mathbf{\gamma}\)).
Does it actually work?
To validate the SUN model, the researchers compared its predictive accuracy (MSE) against standard supervised machine learning models like Lasso Regression, Gradient Boosting, and Random Forests.
Remember, the goal of the SUN model isn’t just prediction—it’s interpretability. Usually, interpretable models perform worse than black-box models. However, as shown in Figure 2, the SUN model (specifically with 8 or 10 topics) achieves predictive error rates very close to the complex benchmarks.

This implies we aren’t sacrificing much accuracy to gain the ability to explain why an argument works.
Step 3: Experiments & Results
So, what actually convinces people to go vegan?
Using the SUN model, the researchers identified 10 latent topics within the argument dataset. Because the model is interpretable, they could look at the top words and documents for each topic and assign them human-readable labels.

They found topics ranging from “Inefficient use of resources” (Topic 2) to “Animal rights and speciesism” (Topic 7) and “Health benefits” (Topic 8).
The Causal Effects
Identifying topics is only half the battle. The AutoPersuade framework uses Causal Inference to estimate the Average Marginal Component Effect (AMCE). This estimates how much the persuasion score changes when a specific topic’s presence is increased in a document, holding other factors constant.
To do this, they used a “hold-out” estimation set of documents (\(\mathbf{M}_E\), \(\mathbf{Y}_E\)) that wasn’t used to train the topic model. They inferred the topic loadings \(\mathbf{W}_E\) for these new documents and ran a regression:

The results, visualized in Figure 3, offer fascinating insights into human psychology regarding this specific issue.

Key Takeaways from the Results:
- What Works:
- Topic 2 (Inefficiency): Arguments focusing on the wastefulness of meat production (water use, land use) had the highest positive effect.
- Topic 8 (Health): Arguments focusing on personal health benefits were also effective.
- Topic 6 (Individual Responsibility): Empowering the reader to make a difference worked well.
- What Backfires:
- Topic 7 (Animal Rights/Speciesism): Surprisingly, arguments focusing on the moral philosophy of animal rights had a negative effect on persuasiveness for the general population.
- Topic 9 (Addressing Criticism): Being defensive or engaging in meta-arguments about fallacies also tended to reduce persuasiveness.
This creates a clear recipe for a winning argument: Focus on efficiency and health; avoid preaching about morals.
Step 4: Closing the Loop (Generating Better Arguments)
The final test of the AutoPersuade framework is the “Auto” part. Can we use these insights to engineer a better argument?
The researchers conducted validation studies where they used GPT-4 to generate new arguments based on the winning topics. They tried two strategies:
- Stronger Emphasis: Rewriting existing arguments to boost their dominant topic.
- Argument Synthesis: Prompting GPT-4 to combine two high-performing “proto-arguments” (e.g., combining Efficiency + Health).
They then ran a new round of human pairwise comparisons to see if these engineered arguments could beat the best arguments from the original human/web dataset.

The results (Table 2, Validation Study 1) were impressive:
- Argument Synthesis (SY) arguments won 54% of the time against the best arguments from the original dataset.
- They also beat arguments generated by simply asking GPT-4 to “write a persuasive argument” (GPT-best).
This confirms that analytically finding the best components and then synthesizing them yields better results than relying on human intuition or raw LLM capabilities alone.
A Note on Limitations
However, the researchers found an interesting limit in Validation Study 2. When they tried to optimize the arguments even further (pushing the topic loadings to the extreme tail of the distribution), the gains disappeared.
This suggests that persuasion has diminishing returns. You can make an argument better by adding a “Health” component, but making it 100% about health and nothing else might make it sound repetitive or unnatural. The framework is excellent at finding the direction of improvement (the Average Marginal Component Effect), but finding the absolute global maximum remains a challenge.
Conclusion & Implications
AutoPersuade represents a significant step forward in Computational Social Science. It moves us away from the black-box prediction of “will this go viral?” toward a structural understanding of “why does this work?”
By unifying embeddings, topic modeling, and causal inference, the authors provided a blueprint for:
- Discovering the hidden themes in a debate.
- Measuring which themes actually drive human agreement.
- Constructing new messages that scientifically target those themes.
While the case study focused on veganism, the implications extend to public health messaging, political speech, and marketing. Rather than guessing what the public wants to hear, frameworks like AutoPersuade allow us to ask the data, identify the causal levers of persuasion, and craft messages that truly resonate.
For students of data science, this paper serves as a masterclass in loss function design (the SUN model) and the careful application of causal inference to unstructured text data. It reminds us that sometimes, the most powerful AI isn’t the one that writes the text, but the one that tells us what to write.
](https://deep-paper.org/en/paper/2410.08917/images/cover.png)