25
Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Embed Size (px)

Citation preview

Page 1: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust Networks on the Semantic Web

A Knowledge Management Technologies Presentation

Chung, Hyung-Hwan (HT052383L)Ching Meng Hui (HT042310U)

Page 2: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust

Top layer of semantic webUltimate goal: “Web of Trust”Human notion of trust

Complex and complicatedAbstractEmotional and illogicalBased on intuition.

Page 3: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Types of Trust

Cognition-basedCalculative and rationalCompetence, ability, responsibility, integrity,

credibility, reliability and dependability.Affect-based

Non-calculative and emotionalCare, concern, benevolence, altruism,

commitment, mutual respect, etc.

Page 4: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust in general

Based on expectations and interactions.Manifested in people’s behavioral

patterns.Makes a difference.

Page 5: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust in Social Networks

Long research historyMathematical model

Small Worlds “Six Degrees of Separation”Game: “Kevin Bacon Game”

Page 6: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Distorted Trust

MWW – Myanmar Wide WebExtreme censorshipLimited accessGovernment enforced

Page 7: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Trust on the Semantic Web

AuthenticationDigital SignaturesPublic Keys

But trust is a human notion that ignores the above …

Page 8: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Digital Signature

Verifies authenticity or identificationEnsures integrityPrevents repudiation

ProblemsExchange of certificatesEndorsements => CA

Page 9: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Digital Signature

Public key and private keyEncrypt the plain text with a public keyDecrypt the encrypted text with a private

keyVice Versa.

Page 10: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Digital Signature (cont’d)

Message Digest and HashContents provider

Get the digest of the plain textSign the digest with a private keyPublic the digest and the plain text together

Contents consumerCalculate the digest of the plain textDecrypt the signature with the public keyCompare the decrypted digest with the

calculated digest

Page 11: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Friend-Of-A-Friend (FOAF)

Project using RDF Social networks Small world problem www.foaf-project.org

Page 12: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

FOAF File

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:admin="http://webns.net/mvcb/"><foaf:PersonalProfileDocument rdf:about=""> <foaf:maker rdf:resource="#me"/> <foaf:primaryTopic rdf:resource="#me"/> <admin:generatorAgent rdf:resource="http://www.ldodds.com/foaf/foaf-a-matic"/> <admin:errorReportsTo rdf:resource="mailto:[email protected]"/></foaf:PersonalProfileDocument><foaf:Person rdf:ID="me"><foaf:name>Hyung-Hwan Chung</foaf:name><foaf:givenname>Hyung-Hwan</foaf:givenname><foaf:family_name>Chung</foaf:family_name><foaf:nick>Brian</foaf:nick><foaf:mbox_sha1sum>de4f7c74a2050ab2c481daef8354ddf22fb049e0</foaf:mbox_sha1sum><foaf:knows><foaf:Person><foaf:name>Joe</foaf:name><foaf:mbox_sha1sum>5c38d396c3faf7424e291ccd7a29ce903e966332</foaf:mbox_sha1sum><rdfs:seeAlso rdf:resource="www.korone.net/foaf.rdf"/></foaf:Person></foaf:knows></foaf:Person></rdf:RDF>

Page 13: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

FOAF Level of Trust

1. Distrusts absolutely2. Distrusts highly3. Distrusts moderately4. Distrusts slightly5. Trusts neutrally6. Trusts slightly7. Trusts moderately8. Trusts highly9. Trusts absolutely.

Page 14: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Extending FOAF

Quantify the trust Extra vocabulary

<foaf:person rdf:id=‘me’>

<trust>

<trustPerson rdf:resource=‘#dan’/>

<trustLevel>9</trustLevel>

<trustContext rdf:resource=http://example.com/ont#Java>

</trust>

</foaf:person>

Page 15: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

X trusts Y 80%

What does this mean?Are 8 statements out of 10 trustworthy?All of his statements might have 20%

discrepancy from the mathematically provable fact?

Depending on its definition, different metric should be devised to infer the trust value.

Page 16: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Example

A

B C

D F

1

0.8 0.8

0.1

Page 17: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Method 1

FCA: (0.1+0.8)/2=0.45DBA: (1+0.8)/2=0.9

Page 18: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Method 2

FCA: (0.1×0.8)=0.08DBA: (1×0.8)=0.8

Page 19: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Method 3

FCA: (0.8+0.8)/2=0.8DBA: (0.8+0.8)/2=0.8

Page 20: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Applications

TrustBotTrustMail

Page 21: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Conclusions

Trust has a role in KM.Trust values affect people’s willingness

to share and work.More empirical research on trust in the

context of knowledge-based world, to make this closer to reality.

Page 22: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Questions & Answers

Page 23: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Truweb.java

import java.util.*;

public class Truweb{ class Person { public String name; public Rating ratings = null; public Person next = null; public boolean visited = false; public Person (String name) { this.name = name; } }

class Rating { public int value; public Person target; public Rating next; public Rating (Person to, int value) { this.value = value; this.target = to; this.next = null; } }

private HashMap map;

public Truweb () { map = new HashMap (100); }

public Person addPerson (String name) { Person person; person = (Person) map.get (name); if (person == null) { person = new Person (name); map.put (name, person); }

return person; }

public Person findPerson (String name) { return (Person) map.get (name); }

Page 24: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Truweb.java (cont’d)

public void setRating (Person from, Person to, int value) { Rating rating = from.ratings; while (rating != null) { if (rating.target == to) break; rating = rating.next; }

if (rating != null) { rating.value = value; } else { rating = new Rating (to, value); rating.next = from.ratings; from.ratings = rating; } }

public int getRating (Person from, Person to) { return get_rating0 (from, to, 0, 1); }

private int get_rating0 (Person from, Person to, int acc, int depth) { int n; from.visited = true; n = get_rating (from, to, acc, depth); from.visited = false; return n; }

private int get_rating (Person from, Person to, int acc, int depth) { Rating rating = from.ratings; if (rating == null) return -1;

do { if (rating.target == to) { return (acc + rating.value) / depth; } rating = rating.next; } while (rating != null);

rating = from.ratings; while (rating != null) { if (rating.target.visited != true) { int n = get_rating0 ( rating.target, to, acc + rating.value, depth+1); if (n != -1) return n; }

rating = rating.next; }

return -1; }

Page 25: Trust Networks on the Semantic Web A Knowledge Management Technologies Presentation Chung, Hyung-Hwan (HT052383L) Ching Meng Hui (HT042310U)

Truweb.java (cont’d)

public static void main (String[] args) { Truweb truweb = new Truweb ();

Person jane = truweb.addPerson ("jane"); Person tom = truweb.addPerson ("tom"); Person jeff = truweb.addPerson ("jeff"); Person susie = truweb.addPerson ("susie"); Person kelly = truweb.addPerson ("kelly");

truweb.setRating (jane, tom, 1); truweb.setRating (jeff, tom, 10); truweb.setRating (susie, kelly, 7); //truweb.setRating (susie, jane, 7); truweb.setRating (tom, susie, 10);

System.out.print ("jane to kelly: "); System.out.println (truweb.getRating (jane, kelly)); System.out.print ("jeff to kelly: "); System.out.println (truweb.getRating (jeff, kelly)); System.out.print ("kelly to jeff: "); System.out.println (truweb.getRating (kelly, jeff)); System.out.print ("jane to tom: "); System.out.println (truweb.getRating (jane, tom)); }}