Live data from Hacker News

Twitter's Recommendation Algorithm

blog.twitter.com

441–450 of 1001 posts

Re: Twitter's Recommendation Algorithm

#441
post #11

From https://github.com/twitter/the-algorithm/blob/7f90d0ca342b92... ( "author_is_elon", candidate => candidate .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))), ( "author_is_power_user", candidate => candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)), ( "author_is_democrat", candidate => candidate .getOrEls…

Did they not expect people to notice suspicious code like this?

Or did they leave this in just so they could hold its removal up as an example of listening to the community?

Re: Twitter's Recommendation Algorithm

#442
post #31

Earlier quoted context omitted.

The author_is_elon flag doesn't surprise me, but the two political designators are somewhat shocking. I'd sure like to know what changes based on what Twitter knows about your political affiliation.

I thought it was interesting how it explicitly doesn't boost independents. So much of the two-party system is self-reinforcing.

The vast majority of self-proclaimed independents vote with one party just as reliably as registered members.

Re: Twitter's Recommendation Algorithm

#443

Earlier quoted context omitted.

Only used for metrics, apparently. [0] /** * These author ID lists are used purely for metrics collection. We track how often we are * serving Tweets from these authors and how often their tweets are being impressed by users. * This helps us validate in our A/B experimentation platform that we do not ship changes * that negatively impacts one group over others. */ [0]: https://github.com/twitter/the-algorithm/blob/7f…

... Metrics tracked in AB test. So even if it's not explicitly encoded in the algo (or implicitly through some of the features plugged in), they'll pick the winning cell as long as it doesn't hurt Elon's metrics (I'm just parroting the comment you quoted). It doesn't have to be in the algorithm for the systems to be tweaked to please Elon vanity metrics. [I've been running lots of ML AB tests over the years, some in…

It’s just a two-pass EM (Elon Maximization) algorithm!

Re: Twitter's Recommendation Algorithm

#444
post #31

Earlier quoted context omitted.

The author_is_elon flag doesn't surprise me, but the two political designators are somewhat shocking. I'd sure like to know what changes based on what Twitter knows about your political affiliation.

I thought it was interesting how it explicitly doesn't boost independents. So much of the two-party system is self-reinforcing.

> I thought it was interesting how it explicitly doesn't boost independents. So much of the two-party system is self-reinforcing.

Is it boosting? Others are claiming this code is just for metrics collection: https://news.ycombinator.com/item?id=35391896.

But on the topic of Democrats vs. Republican vs. independent; a big factor may be that "Democrat" and "Republican" are much more cohesive groups and therefore much easier to define. No one can honestly define "independent" except in a kind of "none of the above" sense, since they can range anywhere from extreme right, to the center, to the extreme left.

Re: Twitter's Recommendation Algorithm

#445
post #54
post #31

Earlier quoted context omitted.

The author_is_elon flag doesn't surprise me, but the two political designators are somewhat shocking. I'd sure like to know what changes based on what Twitter knows about your political affiliation.

So many questions. How are users tagged D or R? Is that a manual process or automated somehow? What is the effect of these tags? Can I find out if my Twitter account is in one of those buckets?

[deleted]

Re: Twitter's Recommendation Algorithm

#446
post #31
post #11

From https://github.com/twitter/the-algorithm/blob/7f90d0ca342b92... ( "author_is_elon", candidate => candidate .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))), ( "author_is_power_user", candidate => candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)), ( "author_is_democrat", candidate => candidate .getOrEls…

The author_is_elon flag doesn't surprise me, but the two political designators are somewhat shocking. I'd sure like to know what changes based on what Twitter knows about your political affiliation.

Facebook guesses your political affiliation as well, you can even look über your settings to see what they guessed.

Re: Twitter's Recommendation Algorithm

#447

Earlier quoted context omitted.

Are you sure? I didn't notice something like this.

Very sure. I started noticing the issue a couple of years ago (well before Musk's arrival) because I'd find myself thinking 'I haven't seen anything from ____ in a while, I should follow that person', only to discover that I was already following them and their tweets were just not showing up. New follows will generally pop up reliably, but if someone has fallen out of your regular feed you have to work to put them b…

That was the great thing with the 3rd party client, I could trust that all the people I followed I would get their actual tweets. Every single one of them. There was no also messing with it, no tweet "liked" by someone else, etc. Who I followed is what I saw, nothing less, nothing more.

Of course Elon banned those apps, so now I am on Mastodon where I see 100% of the content that I want. Bonus is that I can even follow many twitter users, through Mastodon bot mirrors. And of course, no ads.

Re: Twitter's Recommendation Algorithm

#449
post #379

Great pull request here which improves the algorithm: https://github.com/twitter/the-algorithm/pull/17

Aside from the spam PRs, there is actually one PR that fixes a bug: https://github.com/twitter/the-algorithm/pull/242/files

Modern Java actually allows `10_000` for that very reason, as does Scala (https://scala-lang.org/files/archive/spec/2.13/01-lexical-sy...)

Re: Twitter's Recommendation Algorithm

#450
post #11

From https://github.com/twitter/the-algorithm/blob/7f90d0ca342b92... ( "author_is_elon", candidate => candidate .getOrElse(AuthorIdFeature, None).contains(candidate.getOrElse(DDGStatsElonFeature, 0L))), ( "author_is_power_user", candidate => candidate .getOrElse(AuthorIdFeature, None) .exists(candidate.getOrElse(DDGStatsVitsFeature, Set.empty[Long]).contains)), ( "author_is_democrat", candidate => candidate .getOrEls…

Update: Elon was asked about these in a Twitter Space, he says it's not appropriate and will be removed from the codebase. Additionally, from another Twitter engineer, the Democrat/Republican flags are apparently 10 years old and not important and do not have high feature importance.

Elon seems embarrassed: https://twitter.com/elonmusk/status/1641908130274525187?s=61...

It’ll be interesting to see what gets cut. Maybe just the Elon flag, but maybe others too.

Post reply on HN