Skip to content
This repository has been archived by the owner on Mar 22, 2018. It is now read-only.

Belief calculation : Calculating authority

Jan Paul Posma edited this page May 15, 2014 · 1 revision

Up until now we assumed that each user contributes one to the credibility of a fact. We would however expect that an expert would contribute more to the credibility of a fact than a n00b. To this end we introduce authority. The authority of a user on a certain object will be used to calculate the credibility of a fact.

To calculate the authority of a user we need to know to things: what can we measure to calculate authority, and how can we define where he has authority on. In this document we will deal with the first part.

Calculating the authority a user gets from a fact

We can of course think of many ways to deduce authority, but one of the ways is looking at the facts a user created, and seeing how much they contribute to the factgraph. Therefore we look at a single fact, and how much this fact will contribute to the authority of an user.

To this end we will look at how many times a fact is used as evidence for/against another fact.This means we won’t know about facts that derive from facts that derive from facts a user has created. In other words, we won’t know about higher order dependencies. I think that’s fine for now.

Since this is the most dangerous part of the system (most obvious target for gaming) we need to be CONSERVATIVE in early versions.

How we can use this to calculate authority of an user.

So, we simply count the facts derived from F1 and add that count to 1.0 to determine U1’s authority (and not including facts created by U1 himself of course).

In order to remove the effect of my initial link and to prevent any one contribution we can use log2(number of derived facts) for each fact or source I link. So authority is 1.0 + sum(log2(n[i]), i = 1 ... N) where i indexes the set of facts and sources I've discovered and entered / submitted into the system. Since log2(1) = 0.0 a person can have a large set of contributed facts and sources but still only have authority 1.0 if no one has used the facts or sources other than himself.

#Scenarios: Again assuming the authority of the users is neutral if not explicitly stated. ##Scenario A (a user without any history in Factlink):

a(U1) = 1

##Scenario B (a user that has only believed one fact):

b(U1, F1)
a(U1) = 1

No impact in demo version.

##Scenario C (a user has created only one fact):

c(U1, F1)
a(U1) = 1

No impact.

##Scenario D (a user has created only one fact. Another user has believed the fact):

c(U1, F1)
b(U2, F1)
a(U1) = 1

At this stage, we don’t care about belief counts on facts we create (too easy to game). And, we don’t use the authority of each fact (leads to page rank unbounded calculations):

wF1 = (1.0, 0, 0, 2)
aU1 = 2.0
wF1 = (1.0, 0, 0, 3)
aU1 = 3.0

… authority is unbounded. So, we simply count the facts derived from F1 and add that count to 1.0 to determine U1’s authority (and not including facts created by U1 himself of course).

##Scenario E (a user has created only one fact. The fact is used to support another fact):

c(U1, F1)
F22 = (F1 -> F2)
a(U1) = 1

Number of derived facts is 1, so the authority is 1 + log2(1) = 1

##Scenario F (a user has created a fact that is used multiple times):

c(U1, F1)
F22 = (F1 -> F2)
c(U2, F22)
F23 = (F1 -> F3)
c(U2, F23)
a(U1) = 2

1+log2(2)=2

##Scenario G (a user has created multiple facts that are used multiple times):

c(U1, F1)
F22 = (F1 -> F2)
c(U2, F22)
F23 = (F1 -> F3)
c(U2, F23)
c(U1, F4)
F42 = (F4 -> F5)
c(U2, F42)
F43 = (F4 -> F6)
c(U2, F43)
a(U1) = 3

a(U1) = 1 + log2(2) + log2(2) = 3

##Scenario H (a user has created multiple facts that are used multiple times, self generated links don’t count):

c(U1, F1)
F22 = (F1 -> F2)
c(U1, F22)
F23 = (F1 -> F3)
c(U2, F23)
c(U1, F4)
F42 = (F4 -> F5)
c(U1, F42)
F43 = (F4 -> F6)
c(U2, F43)
a(U1) = 1

a(U1) = 1 + log2(1) + log2(1) = 1

##Scenario I (a user has created multiple facts that are used multiple times to weaken a fact):

c(U1, F1)
F22 = (F1 -> F2)
c(U2, F22)
F23 = (F1 -> F3)
c(U2, F23)
c(U1, F4)
F42 = (F4 !> F5)
c(U2, F42)
F43 = (F4 !> F6)
c(U2, F43)
a(U1) = 3

a(U1) = 1 + log2(2) + log2(2) = 3