Sunday, September 23, 2007

Modeling reputation

Joe Andrieu has some interesting points about reputation on the web, among them that no one seems to have a concrete model for this crucial concept.

Going on that basis, and probably re-inventing a few wheels along the way, here are some thoughts:
  • You have a reputation with someone as something
  • A reputation is another person's interpretation of what they associate with you, including
    • Attributes ("Statutory")
    • Actions ("Case-based")
    • Your reputation with third parties and their reputations as judges.
  • Everyone will have a different view of those things, and even if two people somehow had the same view, they will almost certainly interpret it differently.
  • We try to control our reputations (at least)
    • through our actions
    • by controlling access to information about us
    • by influencing people's interpretation of the information (we think) we know
  • One way to control this access is to take on a persona. The most obvious way is via a pseudonym, but subtler forms are also common. For example, we tend to separate, say, our business correspondence from our personal correspondence.
  • This control is very incomplete.
A bit more on personae:
  • A given person will take on many personae
  • Some personae are taken on by many people, either sequentially (The Dread Pirate Roberts) or concurrently (Bourbaki)
  • The association between a person and persona is an independent entity. If nothing else, it has a life cycle (on this day, Peter Parker became Spiderman)
  • The knowledge (or insinuation) that two personae are the same person can make a drastic difference in certain cases (X is just a sock puppet for Y; Someone on a company's message boards is actually the CEO)
Translating this into old high ERM, here are some entities that appear to fall out:
  • A person is a flesh-and-blood person.
  • A persona is a public image of a person.
  • An identity is the association between a person and a persona.
  • An attribute is something the owner of a persona asserts to be true about it.
  • An action is something a persona is publicly seen to have done.
  • An opinion is something one persona asserts to be true about another persona (rendering an opinion is an action).
and some relations:
  • A person (1) assumes an identity (N)
  • An identity (1) is assumed at a time (N)
  • An identity (N) is as a persona (1)
  • A persona (M) carries attributes (N)
  • A persona (1) takes an action (N)
  • An action (1) occurs at a time (N)
  • A persona (1) renders an opinion (N)
  • An opinion(N) concerns a persona (1)
  • A persona (1) may change an opinion (N)
This is only a very basic model, of course, and there may well be other models that deal with reputation as well or better. Some questions:
  • Is it worth breaking up the M:N relation between personae and attributes?
  • Is rendering an opinion any different from making any other assertion? Probably not.
  • What's the best way to handle group reputations. In a case like Bourbaki, there is only one persona and the present model will handle it. In a case like "the legislature is incompetent", both the reputations of the legislators and of the legislature as a whole are involved.


Joe said...


I encourage you to look into user-centric identity (OpenID, Cardspace, Kim Cameron, The Higgins Project, Internet Identity World, the Liberty Alliance, and many others). There is a lot of great work in this area.

The biggest thing I'll point out is that there really is no difference between attributes, actions, and opinions despite their distinctions in your model.

Remember, without a way to know if the "other" persona is a distinct person, you can't distinguish opinions from attributes other than to say attributes are claims which the asserter acknoweldges as self-asserted. And since every claim needs to be evaluated in a context combining what is claimed and who is claiming it, there really is no difference from a systems-design standpoint between attributes and opinions. For example, I'm much more willing to accept as acceptable fact a date of birth opinion from a driver's license (asserted essentially by the DMV) than I am to accept that attribute from an apparently underage individual trying to buy alcohol.

As for actions, the idea itself presumes a world model that isn't supported by the information system we're using, namely that there is some "objective" reality that we can query to see if someone did something in "public". Instead, that ultimately boils down to evaluating various assertions of claims to decide if a particular action occurred. Some people might accept the police officer's word. Others will rely on the security camera. Still others will believe the eight year old girl. All "public" means is that we have a greater chance of having more witnesses.

Science is axiomatically built upon the existence of an objective reality, but reputation systems have no way to interface directly with "reality." It is critical that our systems fully encompass the potential errors of inherently unprovable claims. User-centric identity does that through a framework of verifiable assertions.

David Hull said...


I came to the same conclusion about attributes, actions and opinions in the "refined" model, though I wouldn't go so far as to say they don't exist. On the one hand you can model everything as assertions, but there are probably situations where you do want to make the distinction (if you want a really simple model, just call everything "thing" and be done with it).

I also read through the Uninstalled post you linked to, and bookmarked OpenID and FOAF for later digestion.

The larger point, though, is that no one is working on a portable model of reputation because reputation is inherently non-portable. It's the bases for reputation that are portable, and AFAICT that boils down to a history of assertions. People do seem to be at least working on that.

David Hull said...

It also occurs to me that Joe's A world of claims, not facts is relevant here.