Neeka

Neeka research

View My GitHub Profile

Welcome to Neeka Social! At Neeka, our goal is to create healthier online communities and improve discourse over technological mediums. We believe that in the same way engagement-based algorithms create echo-chambers and divisive content, algorithms designed to promote social-health could help eliminate those things! We think the Neeka Consensus algorithm may be one such example. Please support us as we research solutions to the social media dilemma.

This page will be used to document our research on the Neeka Consensus algorithm.

If you have any questions, critiques, or suggestions about our research, please feel free to email us at research@neeka.social

Also if you want to support us, you can “buy me a coffee” at coff.ee/neeka

What does Neeka mean?

The name Neeka came from an attempt to shorten “anechoic” as in anechoic chamber which is the opposite of an echo-chamber. We also intend for it to refer to the Jainism philosophy of anekantavada, which states that the truth is complex and therefore you should search for it in diverse places.

How Does the Neeka Algorithm Work?

The Neeka algorithm traverses the graph formed by user interactions on a social network. While doing so, it creates a sort of “DNA” for each user that can be used to represent their interests, views, and stances. User DNA is used to calculate specific statistics about consensuses on content: the diversity of users who like or dislike a piece of content and the polarity between users who like and dislike that content. Consensuses are weighed in favor of ideologically diverse groups and in favor of content that is less divisive.

Show me the tests!

We will show two of our tests here. One uses a simulation to test the algorithm and the other uses real-world vote data from Reddit.

We use the same evaluation method in each test. In both tests we assume the existence of two groups of users: GROUP0 and GROUP1. Each group has its own set of beliefs and interests which may are distinct from the other group. Each post is allocated values that represent the post’s affinity to each group. Posts can either be liked by both groups, disliked by both groups, or liked by one and not the other; and all by varying degrees.

With the group affinity of each post, we can calculate the theoretical ideal rankings of posts, optimizing for two statistics: agreement between user groups and apolarity. With those ideal rankings established, we calculate a percentage difference between those rankings and the rankings generated by both simple consensus and the Neeka algorithm.

We also are able to calculate the overall bias toward a user group for each ranking. We use this to calculate the neutrality of both simple consensuses and the Neeka algorithm.

To further demonstrate this algorithm, we will show examples of the posts most-promoted and most-demoted by the Neeka algorithm as it runs on the real-world Reddit data.

Simulation

This test corresponds to the code here.

In this simulation, we generate 18535 synthetic posts and 17004 synthetic users, with each user making an average of 59 posts. There is a strong imbalance between the two groups of users, with GROUP0 composing about 70% of the user base and GROUP1 composing only about 30%. Here are the results:

    simple_agreement: 76.63 %
    neeka_agreement: 89.24 %

    simple_apolar: 33.27 %
    neeka_apolar: 45.04 %

    simple_neutrality: 66.0 %
    neeka_neutrality: 99.28 %

Here we see that the Neeka algorithm improves upon simple consensus significantly across all three statistics. We see a 12.61% improvement in the promotion of posts that the two groups agree upon and an 11.78% improvement in apolarity. We also see a 33.28% improvement in neutrality of the ranking, bringing Neeka’s neutrality extremely close to the ideal for that statistic.

Although we are only showing this one simulation as an example, these results are typical for simulations with the specified parameters.

Real-World Data

For this test, we narrow the scope of our test to the large political subreddits /r/politics, /r/news, and /r/worldnews.

We don’t have “ground-truth” for the affinity values of each post or the membership of users in any ideological groups. It is not ideal, but we use the user embeddings the Neeka algorithm generates along with K-means clustering to cluster users into two groups. With group membership established, we are able to calculate the “affinity” values for each post based on user votes. This allows us to use the same metrics that we used in the simulation. However, “the proof is in the pudding” so we will provide a list of the titles most promoted and demoted by the Neeka algorithm over simple-consensus.

We ran several tests. We hypothesized that the density of the interaction graph might affect the performance of the algorithm so in each set, we restrain the samples in each test by enforcing two variables: the minimum number of votes per user and the minimum number of votes per post. By varying these parameters we change the graph density between each test.

We hypothesize that the agreement, apolarity, and neutrality statistics will be higher for the Neeka algorithm than for simple consensus. We hypothesize that less politically devisive content will be promoted by the Neeka algorithm than by the simple-consensus algorithm. We also hypothesize that the changes the Neeka algorithm makes will be in-favor of the idealogical minority.

Test 1:

In this test we enforce a minimum number of 4 votes per user and a minimum number of 4 votes per post. This results in a sample that contains 71048 posts and 17236 users.

This corresponds to the test run in this notebook.

Here are the results:

    simple_agreement: 50.45 %
    neeka_agreement: 65.77 %
    change: 15.33 %

    simple_apolar: 33.88 %
    neeka_apolar: 49.21 %
    change: 15.33 %

    simple_neutrality: 70.66 %
    neeka_neutrality: 91.46 %
    change: 20.8 %

    simple_group0_bias: 30.32 %
    simple_group1_bias: 59.66 %
    neeka_group0_bias: 46.31 %
    neeka_group1_bias: 54.85 %

Below are the titles of posts that saw the most change between the Neeka algorithm and simple-consensus.

Most Promoted by Neeka Consensus over simple-consensus (most demoted by simple-consensus):

  1. “India to buy US$1 billion of US crude for the first time ever”
  2. “Michigan Dam Fails; Flooding in Kentucky and Ohio Also Forces Evacuations”
  3. “US school ‘sorry’ for foster care threat over lunch debt”
  4. “DEA announces intent to schedule kratom”
  5. “Four rockets hit Iraqi military base near Baghdad airport”
  6. “Hungary Withdraws From European Singing Competition Because ‘It’s Too Gay’”
  7. “Students called a suicide hotline listed on their ID cards. It was sex hotline instead.”
  8. “Obama formally joins US into climate pact”
  9. “Nearly 175 Saudi military aviation students grounded in U.S. after base shooting”
  10. “Oliver Stone: Don’t praise President Bush just because you hate Donald Trump”

Most Promoted by simple-consensus over Neeka (most demoted by Neeka):

  1. “Experts say Trump firing of 3 officials including Sondland and Vindman is a ‘criminal’ offense”
  2. “Europeans fear relationship with America will only get worse under a Trump second term. “Eight years in political terms is an era, not an error. And it would undermine the reality of American democracy,” said French analyst François Heisbourg.”
  3. “Trump Named ‘Worst President for Our Environment in History’ by Nine Green Groups”
  4. “Skeptics Blast Trump’s New Claim That Soleimani Targeted 4 US Embassies: “Either Fox News gets higher level briefings than Congress … or there was no such imminent threat,” charged Sen. Chris Murphy.”
  5. “WHO official calls Trump comments on coronavirus response ‘incoherent’”
  6. “Trump launches snide attack on Greta Thunberg after she beats him to Time Person of the Year”
  7. “Trump Flatly Admits He’d Leave Americans Stranded to Hold Coronavirus Numbers Static | The president is purposely downplaying the coronavirus for selfish reasons but is too stupid to keep that quiet”
  8. “‘He Is Planning to Rig the Impeachment Trial’: McConnell Vows ‘Total Coordination’ With Trump on Senate Process: “The jury—Senate Republicans—are going to coordinate with the defendant—Donald Trump—on how exactly the kangaroo court is going to be run.””
  9. “Kim Jong Un Wants Trump To Win In 2020, Former White House Adviser Says: ‘All The Bad Guys Want Trump To Win’”
  10. “‘There need to be mass protests’: Authoritarianism experts say time is running out for Americans to stop Trump”

Test 2:

In this test we enforce a minimum number of 8 votes per user and a minimum number of 8 votes per post. This results in a sample that contains 35608 posts and 12656 users.

This corresponds to the test run in this notebook.

Here are the results:

    simple_agreement: 46.21 %
    neeka_agreement: 65.27 %
    change: 19.06 %

    simple_apolar: 33.42 %
    neeka_apolar: 54.0 %
    change: 20.58 %

    simple_neutrality: 66.32 %
    neeka_neutrality: 93.9 %
    change: 27.58 %

    simple_group0_bias: 24.84 %
    simple_group1_bias: 58.52 %
    neeka_group0_bias: 45.05 %
    neeka_group1_bias: 51.15 %

Below are the titles of posts that saw the most change between the Neeka algorithm and simple-consensus.

Most Promoted by Neeka Consensus over simple-consensus (most demoted by simple-consensus):

  1. “Apple and Samsung fined for deliberately slowing down phones”
  2. “FBI: Nation-state actors have breached two US municipalities”
  3. “A former neighbor of Joe Biden’s accuser Tara Reade has come forward to corroborate her sexual assault account, saying Reade discussed the allegations in detail in the mid-1990s”
  4. “Spain: prosecutors claim attack not rape as victim ‘did not fight back’ - Six men accused of sexual abuse of 14-year-old girl in abandoned factory in Manresa”
  5. “Rapper Pop Smoke killed in home invasion”
  6. “Not a conspiracy anymore”
  7. “Feb. 11 Is ‘The Day We Fight Back’ Against NSA Surveillance | More than 5,300 web-based companies and other organizations, including Reddit, Imgur, Tumblr, Mozilla the Electronic Frontier Foundation and the ACLU, have joined forces to protest National Security Agency surveillance on Feb. 11.”
  8. “Banksy says that most “Banksy” works are fake”
  9. “Iceland sentences 26 corrupt bankers to 74 years in prison”
  10. “Vinnie Paul Dead: Pantera Drummer Dies at 54 | Billboard”

Most Promoted by simple-consensus over Neeka (most demoted by Neeka):

  1. “Experts say Trump firing of 3 officials including Sondland and Vindman is a ‘criminal’ offense”
  2. “Europeans fear relationship with America will only get worse under a Trump second term. “Eight years in political terms is an era, not an error. And it would undermine the reality of American democracy,” said French analyst François Heisbourg.”
  3. “Trump Named ‘Worst President for Our Environment in History’ by Nine Green Groups”
  4. “Trump launches snide attack on Greta Thunberg after she beats him to Time Person of the Year”
  5. “Skeptics Blast Trump’s New Claim That Soleimani Targeted 4 US Embassies: “Either Fox News gets higher level briefings than Congress … or there was no such imminent threat,” charged Sen. Chris Murphy.”
  6. “Kim Jong Un Wants Trump To Win In 2020, Former White House Adviser Says: ‘All The Bad Guys Want Trump To Win’”
  7. “It Is Beginning to Look Like the U.S. Has a Corruption Problem, Not Ukraine”
  8. “Greta Thunberg is Time’s 2019 Person of the Year”
  9. “No, Mr. President, healthcare workers aren’t stealing masks. You failed them.”
  10. “‘There need to be mass protests’: Authoritarianism experts say time is running out for Americans to stop Trump”

Test 3:

In this test we enforce a minimum number of 16 votes per user and a minimum number of 16 votes per post. This results in a sample that contains 17500 posts and 7958 users.

This corresponds to the test run in this notebook.

Here are the results:

    simple_agreement: 49.79 %
    neeka_agreement: 61.8 %
    change: 12.01 %

    simple_apolar: 45.86 %
    neeka_apolar: 58.98 %
    change: 13.11 %

    simple_neutrality: 79.41 %
    neeka_neutrality: 90.19 %
    change: 10.78 %

    simple_group0_bias: 28.75 %
    simple_group1_bias: 49.34 %
    neeka_group0_bias: 39.09 %
    neeka_group1_bias: 48.9 %

Below are the titles of posts that saw the most change between the Neeka algorithm and simple-consensus.

Most Promoted by Neeka Consensus over simple-consensus (most demoted by simple-consensus):

  1. “USA Powerlifting bans all trans women from competing as women”
  2. “China will not change its position that Taiwan belongs to it and the world will only ever recognize that there is “one China”, Beijing said on Sunday after President Tsai Ing-wen won re-election and said she would not submit to China’s threats.”
  3. “Apple CEO becomes chairman of China university board”
  4. “Doctor treating Paris coronavirus patients says virus ‘less serious’ than SARS”
  5. “Fallout from Russia’s mysterious missile disaster suggests a nuclear reactor blew up”
  6. “Huge Hong Kong protest against extradition bill”
  7. “Verizon throttled ‘unlimited’ data of Calif. fire department during wildfire”
  8. “Prince Andrew Says He Doesn’t Regret His ‘Very Useful’ Relationship With Jeffrey Epstein”
  9. “‘Lying has become a norm’: Hong Kong police falsely accused protesters of blocking ambulances, democrats say.”
  10. “A science teacher from rural Kenya who donates most of his salary to help poorer students has been crowned the world’s best teacher and awarded a $1m prize, beating 10,000 nominations from 179 countries.”

Most Promoted by simple-consensus over Neeka (most demoted by Neeka):

  1. “Millennials support socialism because they want to make America great — but for everyone”
  2. “Greta Thunberg says she ‘needs a rest’ as she heads home to Sweden after year of global climate activism. Teen campaigner, this week named Time’s Person of the Year, is currently in Italy leading a ‘Fridays for Future’ demonstration”
  3. “Greta Thunberg tells cheering crowd ‘we will make sure we put world leaders against the wall’ if they do not tackle global warming | ‘The adults are behaving as if there is no tomorrow but there is a tomorrow, it is the tomorrow where our young people will live & we have to fight for that tomorrow.””
  4. “Trump’s plan to cage kids indefinitely while denying them vaccines is ethnic cleansing in plain sight”
  5. “The U.S. President Was Credibly Accused of Rape—But It Didn’t Make Front-Page News”
  6. “Wake up, Republicans. Your party stands for all the wrong things now.”
  7. “Former Republican says “gun worship” has “gotten worse” under Trump as Conservatives struggle to redefine patriotism”
  8. “‘The Door Is Open, Come On In,’ Sanders Says to Buttigieg and Klobuchar Supporters as Centrists Line Up Behind Biden; Sanders said the former candidates’ supporters “understand that we have got to move toward a government which believes in justice, not greed.””
  9. “Trump revealed highly classified information to Russian foreign minister and ambassador.”
  10. “Teenage climate change activist Greta Thunberg said on Monday that talking to Trump at a UN summit on global warming would have been a waste of time since he would not have paid any attention.”

Our Observations

The statistics produced seem to support our major hypotheses. We see in all three tests that the Neeka algorithm significantly improves on each of the three statistics: agreement, apolarity, and neutrality. We also see that the Neeka algorithm boosts representation of the ideological minority in each test. The Neeka algorithm does not boost representation of the idealogical minority beyond the majority.

We see in the listing of post titles that the simple-consensus algorithm is more likely to promote posts that mention politically divisive figures than the Neeka algorithm. The titles promoted by simple-consensus seem to be a bit more politically inflamattory whereas the posts promoted by Neeka seem to be more matter-of-fact and seem to not touch on politically divisive issues as much.

We see that the performance of Neeka seems to improve between Test 1 and Test 2, but does not improve between Test 2 and Test 3, which seems to contadict our hypothesis concerning graph density.

The Future

There are further tests to be run. In our previous tests we assume the existence of only two ideological groups, but in the real-world there are many. Future tests will involve more than two groups.

The best test would be to run the Neeka algorithm on a website so the public can try it out themselves. The federated social networking platform Lemmy is open-source and may be an opportunity for us to implement Neeka in the real-world. If you would like to help with that, email us at research@neeka.social.

The End

Thanks for making it all the way to the end! Well, actually… hopefully this is only the beginning! In any case, this is very early work so we appreciate your attention. Personally I am optimistic about the idea of making the internet a better place, but it will require a lot of work! If you want to help out you can email me at research@neeka.social.