Comments (1)
This was a good one! Some notes below:
Presents an approach to rank documents based on:
- The amount of readers
- The reputation of author
- The time dynamics of reader consumption
- The time dynamics of consumption of documents contributed by the user (kind of indirect, since if this user has less frequent readers on its docs, its rep will decrease, so its contribuition to the main doc - which they are consuming - will be smaller)
Reputation values scale between 0 and 1
(1) Every time a user consumes a doc from an author, the author gains reputation according to:
newRep = oldRep + (1 - oldRep) * repReward
repReward is a constant between 0 and 1 and should consider the number of entities in the system
"If the number of expected consumers is in the order of hundreds or thousands, then an overly high value of repReward will potentially cause popular content to quickly converge towards 1 making it difficult to differentiate between similarly popular content."
(2) Every time a user consumes a doc, the doc gains "reputation" - meaning popularity in this case - according to the same formula of (1)
newRep = oldRep + (1 - oldRep) * repReward
(3) In order to take time dynamics into account, rep should decrease over time, so that a "rich-get-richer" paradigm can be avoided. This is achieved by the following equation (both for users and for docs):
newRep = oldRep * decayCoeff^k
decayCoeff represent how much the rep will change, and k is the amount of time units that have passed since the last rep update, i.e for a time unit of "days", k will be 0 in the first 24h, 1 in the next day, 7 in a week, and so on. This decouples the algorithm from the logistics, since the algorithm can now run in a fixed frequency, independently from the time units, and every time it re-calculates, it will give an accurate value. However, if for example the time unit is day, and the algorithm updates every week only, there will be an offset of 6 days where the value will be outdated
(4) Users with higher reputation matter more when calculating the doc rep changes:
newRep = oldRep * repConsumer * B
B is a constant [0, 1] representing to what extent the user rep will influence the doc rep
This system can be adapted and applied in zerozero.live if we map user inputs in an event as documents and users as users (well, ofc). However, we will be ranking users instead of "documents" -inputs-, even though they will also have reputation values. See below:
-
Every time a user agrees with an input, he will improve the input's rep according to (2) and (4).
-
Every time a user disagrees with an input (either by inputting a real-conflicting input or reporting as false/inaccurate) he will worsen the input's rep according to (inverse 2) and (4)
-
Every time a user submits a falsely-conflicting input, it should act as an explicit agreement with the other user's input, so it should count more, according to an
explicitAgreementBonus
constant -
The user gains reputation according to the average of its inputs's reputations.
-
Each user has a reputation decay according to (3), the time unit should be
1 week
since there's at least one relevant game per week. This prevents users that generate a lot of inputs in a single game to enjoy their reputation boost for many more games, since they need to be consistent every week - it matters more if they make an input every week than 20 inputs once every 2 or more weeks.
This decay is on a higher level than the events, creating 20 inputs in an event is roughly the same as 1 input in an event (since the events last around 90min) -
The reputation values are updated at the end of each event, according to the event's history
from dissertation.
Related Issues (20)
- [Paper] Sync Kit: A persistent client-side database caching toolkit for data intensive websites
- [Paper] A model-based approach for supporting offline interaction with web sites resilient to interruptions HOT 1
- [Paper] Delay tolerant applications for low bandwidth and intermittently connected users: The aAQUA experience
- [Paper] Research on offline storage of web page HOT 1
- [Paper] User interaction with offline web applications: A case study HOT 1
- SUS: A quick and dirty usability scale
- [Paper] Timestamp-based approach for the detection and resolution of mutual conflicts in distributed systems
- [Paper] Real-time conflict detection in cooperative plant design system combining prior and context
- [Paper] Real-time manufacturing resource conflict resolution based on event-driven mechanism
- [Paper] Research on Conflict Resolution and Operation Consistency in Real-Time Collaborative Graphic Designing System HOT 1
- [Paper] Test case generation for collaborative real-time editing tools
- [Paper] Conflict management for real-time collaborative editing in mobile replicated architectures HOT 1
- [Paper] New algorithms and methods for collaborative co-editing using HTML DOM synchronization
- [Paper] A new algorithm for real-time collaborative graphical editing system based on CRDT
- [Paper] Browser-based collaborative modeling in near real-time
- [Paper] Shared editing on the web: A classification of developer support libraries
- [Paper] Concurrency control in groupware systems HOT 5
- [Paper] Differential Synchronization HOT 1
- [Paper] Real Differences between OT and CRDT under a General Transformation Framework for Consistency Maintenance in Co-Editors HOT 1
- [Paper] Conflict-Free Replicated Data Types HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dissertation.