What Does Constructive Mean?
How our “bridging” algorithms actually work, and our future plans.
One of the key promises of the open feed infrastructure we’re building is that it will support “constructive” conversations on difficult topics.
A constructive conversation doesn’t necessarily feel good, it doesn’t mean that no one raised their voice, and it doesn’t mean that you won the argument. It means people were honest and engaged and tried to learn and were as kind as they could be, in the face of real differences.
We’re not trying to prevent conflict, or even really to help people to agree (as opposed to other kinds of deliberative systems that try to build consensus around a decision). Rather, we are trying to make algorithms that help people relate better across differences. There are many potential algorithms to do this. For example, see this discussion of bridging-based ranking and this experiment we did during the 2024 US election.
Classifying Constructive Content
One of the best performing methods in our field experiment scored each post on a set of classifiers built by Google Jigsaw, part of the Perspective API. Here’s the code that combines these classifier scores:

In short, we score the content on a variety of conversational measures, adding points for the positive attributes and subtracting points for the negative attributes. The actual scores look weird (-1/18th?) but there is a logic to them. The formula is actually:
average bridging - 1/2 average negativity - 1/2 average toxicity
See below for details. This gives a “constructiveness” score between 0 and 1 for each post. We also predict engagement (likes, reshares, etc.) to calculate an “engaging” score, and weight the two scores according to how you’ve set the balance control. By default, GreenEarth gives equal weight to engaging and constructive
Classifying text posts is straightforward. It’s a little more complicated for images and video. We transcribe the text of videos and run the classifiers on that, and soon we’ll add OCR to images as well.
The net result is to uprank content which takes a reasoned, nuanced, or compassionate approach, while downranking content that uses rhetorical strategies generalizations, or makes personal attacks. That sounds good, but the big question is: will this suppress legitimate, even passionate or angry disagreement? Maybe a little, but on the whole we don’t think so. Its perfectly possible to be impassioned and also reasonable.
The Future of Prosocial Ranking
This is a very simple bridging algorithm. It doesn’t take into account any of the context of the argument, for example, or use any social network information. It’s just a v1 for us, and lots more is planned.
First, LLM classification will expand our content understanding. Within a particular community or topic of discussion, AI analysis will allow GreenEarth to automatically understand the major points of friction and disagreement. Then we can use LLM-based classifiers to promote those posts that specifically reduce misunderstandings and/or result in better relationships.
Second, social network analysis will tell us who and what unites communities. We aren’t yet making good use of the AT network’s dense social graph. If we can identify two clusters of people that are arguing about something from different perspectives, we can identify both bridging people and bridging content — posts that resonates positively in both communities.

Classifier Details
First, where do the weird weights come from? Again, the basic formula is average bridging - 1/2 average negativity - 1/2 average toxicity.
There are six bridging attributes, each with a score of 1/6. Experimentally, the scapegoating, moral outrage and alienation classifiers were very strongly correlated, so we further average those together since they’re measuring the same thing. So that cluster, fear-mongering and generalization each get -1/6, for a total of -1/2. Then the four toxicity classifiers get -1/8 each for another -1/2.
Here’s what each of the Perspective classifiers means (some of these attributes seem to have disappeared from the docs, even though the API is still serving them). These are described more completely, including how the training data was created and experimental validation, in two papers by the Perspective team. Some of the training data is publicly available.
REASONING: Makes specific or well-reasoned points to provide a fuller understanding of the topic without disrespect or provocation.
PERSONAL STORY: Includes a personal experience or story as a source of support for the statements made in the comment.
AFFINITY: References shared interests, motivations or outlooks between the comment author and another individual, group or entity.
COMPASSION: Identifies with or shows concern, empathy, or support for the feelings/emotions of others.
RESPECT: Shows deference or appreciation to others, or acknowledges the validity of another person.
CURIOSITY: Attempts to clarify or ask follow-up questions to better understand another person or idea.
FEARMONGERING: Deliberately arouses fear or alarm about a particular issue.
GENERALIZATION: Asserts something to be true for either of all members of a certain group or of an indefinite part of that group.
SCAPEGOATING: Blames a person or entity for the wrongdoings, mistakes, or faults of others, especially for reasons of expediency.
MORAL_OUTRAGE: Anger, disgust, or frustration directed toward other people or entities who seem to violate the author’s ethical values or standards.
ALIENATION: Portrays someone as inferior, implies a lack of belonging, or frames the statement in an us vs. them context.
TOXICITY: A rude, disrespectful, or unreasonable comment that is likely to make people leave a discussion.
IDENTITY ATTACK: Negative or hateful comments targeting someone because of their identity.
INSULT: Insulting, inflammatory, or negative comment towards a person or a group of people.
THREAT: Describes an intention to inflict pain, injury, or violence against an individual or group.
After the Perspective API
Google has announced that the Perspective API will be sunsetting after Dec 2026. Given that it’s a key part of our current prosocial strategy, we are actively building replacement classifiers. In fact there are several teams coordinating to build new classifiers, including collecting public training data and labels. Let us know if you want to be involved.


