create account

Improving Steem User Experiences through Collaborative Filtering by andybets

View this thread on: hive.blogpeakd.comecency.com
· @andybets · (edited)
$1.22
Improving Steem User Experiences through Collaborative Filtering
<center>
![collab.png](https://steemitimages.com/DQmWxGtL26gpnwGB16MYHkyuPdS76T6t3GoknvvgnznNih7/collab.png)
</center>

# What is collaborative filtering?

When looking for content that you would like to see, you might expect to get the best recommendations from someone with similar tastes to yours. The problem though, is how to find such a person.

Collaborative filtering uses techniques for finding people with similar interests to yours and makes content recommendations for you on this basis.

For this to work:
1) many people must participate (making it likely that any given person will find others with similar preferences)
2) there must be an easy way for people to represent their interests to the system
3) algorithms must be able to match people with similar interests

*(paraphrased from [AT&T Labs 2001 Research Paper](http://files.grouplens.org/papers/rec-sys-overview.pdf))*


# Does Steem have enough users?
Steem is a growing network, and with more than 50,000 weekly active users, probably qualifies is this respect. More users would help improve performance though.

# Does steem have an easy way for people to represent their preferences?
Yes it does! Votes are the most obvious way to provide this information, but resteems and follows might be other signals that could also be used.

# What about the algorithms?
These algorithms do tend to require a bit of work, and significant computational resources, but I believe there is plenty that competent programmers can do to improve user experiences. With the above in place.

# So why has nobody produced a Steem front-end that does collaborative filtering?
In order to have a *really* good set of data for collaborative filtering, we not only need to have the recommendations (votes data), but also some way of indicating if users have seen the content (views data). The main reason is so we can distinguish between people who just haven't seen the content, and those who did see the content, but didn't vote for it. The latter group could be regarded as giving the content a mild negative rating, and this is valuable information.

The votes data for all content is publicly available from the blockchain, but the views data for Steemit.com is held in an 'off-chain' database owned/managed by Steemit Inc. I'm not sure whether the other front-end projects also collect views data in their own databases, but since their traffic is much lower than Steemit, I suspect it will have little value for this purpose.

I know Steemit Inc has a lot to be working on, and if they don't have time to be implementing these kinds of additions to steemit.com, perhaps they might think about making the content views data available via an API, so that 3rd party developers (like myself) can innovate in this direction to try and create great new user experiences.

I understand there may be concerns about the privacy aspects of releasing such data, but releasing it under some form of non-disclosure agreement, or perhaps even in some anonymised form would be far better than nothing.

Any chance @ned, @steemitdev, @justinw, @sneak ?

---

Releasing views data may also enable analytics interfaces, and allow authors to evaluate which content is attracting most external views, where these are coming from and perhaps boost their SEO skills. This would surely help drive more people towards Steemit too.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorandybets
permlinkimproving-steem-user-experiences-through-collaborative-filtering
categorysteemit
json_metadata{"tags":["steemit","steem","steemdev","innovation"],"users":["ned","steemitdev","justinw","sneak"],"links":["http://files.grouplens.org/papers/rec-sys-overview.pdf"],"app":"steemit/0.1","format":"markdown","image":["https://steemitimages.com/DQmWxGtL26gpnwGB16MYHkyuPdS76T6t3GoknvvgnznNih7/collab.png"]}
created2017-09-01 13:25:03
last_update2017-09-01 13:32:45
depth0
children2
last_payout2017-09-08 13:25:03
cashout_time1969-12-31 23:59:59
total_payout_value0.988 HBD
curator_payout_value0.230 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length3,365
author_reputation15,189,090,569,005
root_title"Improving Steem User Experiences through Collaborative Filtering"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,551,852
net_rshares317,995,679,707
author_curate_reward""
vote details (36)
@abh12345 ·
Sorry I missed this one Andy, some interesting thoughts.  Something needs to change regarding collaboration and filtering - more than voting and RS - I hope communities  will help with this. Cheers!
properties (22)
authorabh12345
permlinkre-andybets-improving-steem-user-experiences-through-collaborative-filtering-20170910t060022373z
categorysteemit
json_metadata{"tags":["steemit"],"app":"steemit/0.1"}
created2017-09-10 06:00:21
last_update2017-09-10 06:00:21
depth1
children0
last_payout2017-09-17 06:00:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length198
author_reputation1,401,181,767,850,181
root_title"Improving Steem User Experiences through Collaborative Filtering"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id14,425,029
net_rshares0
@capari ·
Great. Thanks for sharing. I'm starting to follow you.
👎  
properties (23)
authorcapari
permlinkre-andybets-improving-steem-user-experiences-through-collaborative-filtering-20170901t132542106z
categorysteemit
json_metadata{"tags":["steemit"],"app":"steemit/0.1"}
created2017-09-01 13:25:42
last_update2017-09-01 13:25:42
depth1
children0
last_payout2017-09-08 13:25:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length54
author_reputation2,030,415,990,631
root_title"Improving Steem User Experiences through Collaborative Filtering"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id13,551,912
net_rshares-14,159,010,014
author_curate_reward""
vote details (1)