Date post: | 11-May-2015 |
Category: |
Education |
Upload: | eswcsummerschool |
View: | 206 times |
Download: | 0 times |
Tutorial: Social Semantics, Wed 23/05/12 14:00-15:00
Dr Matthew Rowe, Knowledge Media Institute Tutorial: Social Semantics
2
Outline ! Introduction:
! Social Semantics, so what? ! Representing Social Data Semantically
! The Social Semantic Web Stack ! Ontologies and Vocabularies
! Applications of Social Semantics ! Collaborative Environments ! Exporting Social Semantic Data ! Current Research
! Conclusions
! Next session: Hands-on! ! Using social semantic data to detect Web citations
3
SOCIAL SEMANTICS, SO WHAT?
4
The Social Web ! A long time ago (~2001/2002) the Web 1.0 began to change… (to 2.0)
! B2.0 = The Document Web ! Geocities_web_page -> Tripod_personal_page
! A2.0 = The Social Web ! Alice knows Bob ! Alice uploads a revealing photo of Bob, Bob gets in trouble with his boss
! Social networking came to the fore… people became connected through objects ! Photos: Flickr ! Videos: Youtube ! Music: MySpace ! Status: Twitter ! People: Facebook
! Technologies emerged: ! Blogs and Microblogs, Wikis, Bookmarks, Geo-social networking
5
The Social Web, Digital Identity, ‘Celebrity’
“All the world's a stage, And all the men and women merely players”
! We can directly and spontaneously shape who we are ! Intentional identity ! Self-presentation
! We can publish content to our audience ! Attention Culture ! Self-efficacy and self-affirmation
! Our ‘reach’ is global ! Videos going viral (Star Wars kid) ! We are all celebrities
! There are consequences however… (as you will see)
6
Spoilt for choice
7
The Social Web ! And today….Masses of social data now being published
! Facebook likes (2.7 billion likes per day) ! Foursquare (Average user checks in 563 times per year) ! Twitter (On a busy day ~175 million tweets are published) ! Instagram (5 million+ photos uploaded per day)
! However… ! Social data is contained in silos
! Can I take it with me? ! Heterogeneous formats ! Isolated communities ! Distributed identities
! We experience social fatigue ! Sign up, after sign up ! Facebook Connect, reliable?
8
The Semantic Web… a ‘minor’ digression ! Goal: enable machine-readability and interpretation of information ! Solution: build technologies to:
! A) provide common metadata representations ! B) enable shared conceptualisation of some domain (football = soccer?) ! C) facilitate inferences (let machines find things out for you)
! Agreed set of technologies: ! URI = To name things ! RDF = To represent metadata ! RDFS/OWL = To formalise ontologies ! SPARQL = To query data ! SWRL/RIF = To infer things ! Linked Data = To connect things together
9
Ta Da! The Social Semantic Web
http://newtechpost.com/2011/09/09/what-is-the-social-semantic-web-and-why-do-we-need-it
10
The Social Semantic Web ! Use RDF to represent social data ! Use common, shared ontologies for the semantics of social data
! People ! Relationships ! Social objects (content)
! Overcome the heterogeneity of social data ! Common understanding that a person in Facebook is a person on Twitter
! Data is no longer hidden away in silos ! Climb the walls of the walled gardens ! Link people together across those boundaries
! Data portability is enabled ! Export your data in a common format ! Take it with you… liberation!
11
REPRESENTING SOCIAL DATA SEMANTICALLY
12
The Social Semantic Web Stack
People
Online Communities
Content
Folksonomies
Behaviour
Collaborative Environments
containpublished_by
describecontain composed_of
composed_of
Social Networks
found_in found_in
contain
MOAT
FOAF
FOAFSIOC
SIOCSemantic MediaWiki
OUBO
Drupal
OPO SemSNA
Requires
Microformats
Microformats
CommonTag
Schema.org
Schema.orgSchema.org
13
People / Social Networks: FOAF ! Friend of a Friend Ontology (FOAF)
! http://xmlns.com/foaf/spec/ ! It describes people:
! _:Winston_Smith a foaf:Person!
! And their properties (both datatype and object): ! _:Winston_Smith foaf:name “Winston Smith”!! _:Winston_Smith foaf:mbox <wsmith@ministy_of_truth.org.uk>!! _:Winston_Smith foaf:homepage <http://wsmith.ministry_of_truth.org.uk>!
! And who they know: ! _:WinstonSmith foaf:knows _:TomParsons!! _:WinstonSmith foaf:knows _:MrsParsons!! _:TomParsons foaf:knows _:MrsParsons!
! Allows people to be linked to one another across social web platforms ! Distributed social networks!
14
People / Content / Social Networks: Schema.org ! Collection of tags to define item types (classes) and their attributes ! Covers a range of types:
! Creative works, Event, Organisation, Person, Place, Produce, Review ! And relations between people:
! Knows, colleague, children, parent, sibling, relatedTo
15
People / Social Networks: Microformats ! Lightweight formats embedded within XHTML elements
! ‘Lowercase semantics’ ! hCard: defines people
! Semantics contained in the ‘class’ attribute
<span class="vcard"> !! <span class="fn">Winston Smith</span> !! <span class="url">http://wsmith.ministry_of_truth.org.uk</span> !
! <span class="email">wsmith@ministry_of_truth.org.uk</span>!</span>!
! XFN (XHTML Friends Network): defines links/relations between people ! Semantics of the relation is in the ‘rel’ attribute
<a href="http://wsmith.ministry_of_truth.org.uk/" rel=”me”>My homepage</a> !<a href="http://tparsons.ministry_of_truth.org.uk/" rel=”friend”>Tom Parsons</a> !<a href="http://www.charringtons.co.uk" rel=”met acquaintance">Mr Charrington</a>!
<a href="http://julia.ministry_of_truth.org.uk" rel=”sweetheart">Julia</a>!
16
Social Networks: SemSNA ! Semantic Social Network Analysis:
! Understanding the structure of networks and the positions of nodes ! Enables: assessing information flow, trust assessments, role analysis ! http://ns.inria.fr/semsna/2008/11/02/voc.rdf
17
Content / Online Communities: SIOC ! Semantically Interlinked Online Communities (SIOC) Ontology
! http://sioc-project.org/ontology ! Captures the semantics of:
! Forum, Community, User, Content Item ! Allows multiple accounts from disparate platforms to be reconciled ! Conceptualises the context of users and actions
18
Combining FOAF + SIOC
19
Content: OPO ! Online Presence Ontology (OPO)
! http://online-presence.net/ontology.php ! Models the online presence of users
! Enables cross platform representation ! i.e. status updates
20
Folksonomies: MOAT ! Folksonomy = tuple (user, tag, resource) ! Problem: tag ambiguity
! “Watched the Broncos win in last night’s Football #mondaynightfootball” ! Solution: Meaning of a Tag (MOAT)
! Align tags to concepts
! Notable Mention: ! Common Tag: http://commontag.org/
! Abundance of Entity Recognisers available: ! Comparative Evaluation: http://tomazkovacic.com/blog/
! Rowe & Stankovic. Aligning Tweets with Events: Automation via Semantics. Semantic Web Journal. 2011. ! http://www.semantic-web-journal.net/content/aligning-tweets-events-automation-semantics
21
Behaviour: OUBO ! People, social networks, communities…. behaviour
! User behaviour is contextual: different places, different times ! Behaviour is adaptive: we change to suit our environment
! How to capture this…. Open University Behaviour Ontology (OUBO) ! http://purl.org/net/oubo/0.3 ! Represents the dimensions of behaviour and captures contextual aspects ! Enables Role inference via SPARQL rules (as you will see)
! Angeletou et al. Modelling and Analysis of User Behaviour in Online Communities. International Semantic Web Conference 2011
22
The Social Semantic Web Stack - Recap
People
Online Communities
Content
Folksonomies
Behaviour
Collaborative Environments
containpublished_by
describecontain composed_of
composed_of
Social Networks
found_in found_in
contain
MOAT
FOAF
FOAFSIOC
SIOCSemantic MediaWiki
OUBO
Drupal
OPO SemSNA
Requires
Microformats
Microformats
CommonTag
Schema.org
Schema.orgSchema.org
23
APPLICATIONS OF SOCIAL SEMANTICS
24
Collaborative Environments: Semantic Wikis ! Wikis contain knowledge that is human decipherable
! Nineteen Eighty-Four (first published in 1949) by George Orwell is a dystopian novel about Oceania!
! Semantic wikis enable machine-readability of content via annotations ! Semantic MediaWiki (Kötzsch, Vrandečić and Völkel)
! Annotation syntax that allows properties to be embedded ! Nineteen Eighty-Four (first published in 1949) by [[Has
Author : George_Orwell]]!
! Semantic forms for publishing semantic data ! Ontowiki (Auer, Dietzold and Riechart)
! Visualisation of knowledge base as an information map ! Creation of instance data through WYSIWYG editors
! For an overview of semantic wikis: ! Bry et al. Semantic Wikis: Approaches, Applications and Perspectives.
Reasoning Web 2012
25
Semantic CMS: Drupal 7 & 8 ! Semantic Content Management Systems use boiler plating to generate
semantic content ! Each page is machine-readable
! Drupal 7 & 8 provide RDF ‘out of the box’ ! Common ontologies included: FOAF, SIOC, SKOS, DC ! Each user has a URI on the site, so too does each content item
! SPARQL Views ! Enables Drupal to consume linked data via SPARQL queries ! Integration with existing Views module to render SPARQL results ! http://drupal.org/project/sparql_views ! https://www.ibm.com/developerworks/web/library/wa-datasets/
! Schema.org Module ! Annotate content with schema.org semantics ! Enables Google’s Rich Snippets to be placed in your page! ! http://drupal.org/project/schemaorg
26
Facebook Open Graph ! Designed to link profile pages into Facebook’s social graph
! Profile pages: movies, products, people, events, etc ! Checkout ‘Object Types’: http://developers.facebook.com/docs/opengraph/ ! Bootstrapping web content for recommendations!
! Facebook deployed their own vocabulary of terms: Open Graph Protocol
! Web developers encode markup into page <head> element: <html xmlns="http://www.w3.org/1999/xhtml"!
xmlns:og="http://ogp.me/ns#”>! <head>! <title>The Rock (1996)</title> ! <title>Dead Snow (2009) - IMDb</title>! <meta property="og:url" content="http://www.imdb.com/title/tt1278340/" /> ! <meta property='og:image' content='http://ia.media-imdb.com/…SY140_.jpg'>!
<meta property='og:type' content='movie' />! <meta property='og:title' content='Dead Snow (2009)' />! <meta property='og:site_name' content='IMDb' />! <meta property='og:director' content='Tommy Wirkola' />!
27
Facebook Open Graph
28
Exporting Social Semantic Data ! Facebook
! Exports your social graph as RDF from Facebook containing FOAF and Geo data
! http://www.matthew-rowe.com/FoafGeneratorRedux/ ! Rowe. Getting to Me: Exporting Semantic Social Networks from Facebook.
Social Data on the Web Workshop, ISWC2008. 2008.
! Twitter ! SemanicTweet - Dead
! Flickr ! FlickrExporter - Dead ! Passant. :me owl:sameAs flickr:33669349@N00 . Linked Data on the Web
Workshop, WWW2009. 2009
29
Reconciling Distributed Identities ! Now that social graphs are provided in a common format…
! Digital Identity Reconciliation ! Multiple accounts are combined together
! Explicit Linking: ! ?x owl:sameAs ?y
! Implicit Linking: inverse functional ! CONSTRUCT { ?x owl:sameAs ?y } !! WHERE {!! ! ?x foaf:homepage ?h . !! ! ?y foaf:homepage ?h . !! ! FILTER (?person1 != ?person2) }!
! Rowe. Interlinking Distributed Social Graphs. Linked Data on the Web Workshop, WWW2009. 2009.
! Useful for: recommendations, knowledge discovery, and …
30
Disambiguating Identity Web References ! Elevated web presence = problems: identity theft, lateral surveillance ! Finding all information out there about you is laborious and repetitive ! Semantic social graphs can be used to disambiguate identity web
references ! We have: (a) seed data, (b) candidate web references ! We need to disambiguate references, thereby detecting web citations ! SPARQL Rules:
31
Disambiguating Identity Web References (II) ! Graph traversals and clustering:
32
! Semi-supervised Machine Learning: ! Features: RDF instances ! Feature-weighting: (a) Graph equivalence, (b) Inverse Functional
Properties, (c) RDF entailment ! Class: positive (cites the person), negative (does not)
! Want to know more? ! http://www.matthew-rowe.com/?q=thesis ! Rowe and Ciravegna. Disambiguating Identity Web References using Web
2.0 Data and Semantics. Journal of Web Semantics. 2010
Disambiguating Identity Web References (III)
33
Twitcident: Semantics and Twitter ! Allows for exploration, search and analysis of event incidents on Twitter
! http://wis.ewi.tudelft.nl/twitcident/ ! Connects to emergency broadcasts ! Monitors Twitter for incident data ! Semantic Enrichment of Tweets:
! Named Entity Recognition ! Classification: {reports, damages, risks} ! Linkage: concept assignment
! Facilitates semantic search of Tweets ! Real-time analysis of incidents
! Abel et al. Twitcident: Fighting Fire with Information from Social Web Streams. World Wide Web Conference 2012
34
Temporal Categorisation of POIs ! Social awareness streams (i.e. Twitter) provide information about mood
and topics ! Also published on the move using ubiquitous devices
! Categorise Points of Interest (POIs) using awareness stream data: ! Retrieves messages from a social awareness stream associated with POI ! Perform Semantic Enrichment ! Perform Semantic Categorisation ! Induce categorisation function using entropy-based measures
! Enables events to be detected within geographical regions ! Using volatility, measured by entropy, to identify the events
! Cano et al. Volatile Classification of Point of Interests based on Social Activity Streams. Social Data on the Web workshop, ISWC 2011. 2011
35
Role Analysis in Online Communities ! Community hosts need to know how their community is functioning and how it
will evolve ! Derive the role composition of a community and correlate with its health
! For most communities we can accurately predict health changes based on role compositions – i.e. we can forecast changes
This binning procedure performs discretisation and enables our
approach to account for fluctuations in feature ranges between
time steps. For instance, if we were not to use equal frequency
binning and instead split a feature’s range into thirds then we
may produce a densely populated bin - e.g. low - that contains
the majority of the population. Instead we wish to capture the
notion of relevance where a low level for a feature is depen-
dent on the community’s population. By using equal frequencybinning we take into account the underlying frequency distri-
bution of the feature such that population density influences the
boundary points for the feature levels.
The third stage of our approach then compiles the rule base
from the Skeleton Rule Base. The Skeleton Rule Base contains
a single rule for each role that is to be detected in the commu-
nity. The antecedent of each rule contains a mapping between
a feature and the level that that feature should be:
popularity=low, initiation=high -> roleA
The Skeleton Rule Base is platform-dependent and is set ac-
cording to the analysis that is to be performed - in the following
section we describe the process of building the Skeleton RuleBase and how the feature-to-level mappings are initially de-
rived. The rules are constructed from the Skeleton Rule Baseand the bins derived for each feature such that level boundaries
are set within the rule:
popularity<0.5, initiation>0.4 -> roleA
The final stage of the approach is to apply the rules to the
community users and infer each user’s role. Rules are encoded
using SPIN12
functions that are triggered within the WHEREclause of a SPARQL CONSTRUCT query - we explain how rules
are applied in the following subsection. Once every commu-
nity user has been labelled with a role we can then derive the
community’s composition by the percentage of users that each
role covers. The process of deriving the composition of a com-
munity can be repeated over time to detect changes in how
the community evolves. In the analysis section (section 6) we
demonstrate how the role composition of a community can be
used to detect behavioural differences between disparate forums
and predict changes in a community’s activity.
4.4. Applying Semantic RulesAs we mentioned above, our rules used to infer the role of
individual community users are encoded using SPIN functions.
Other alternatives were considered, such as SWRL13
and RIF.14
Several discussions can be found15
about the characteristics,
differences and advantages of each of these rule representation
languages. The goal of RIF is to create an interchange format
for use between rules engines. As such, unlike SPIN, RIF is
not specifically or particularly aligned with RDF. More impor-
tantly, SPIN is based on SPARQL, which makes it a more ex-
pressive language than SWRL or RIF.16
Another advantage of
12http://spinrdf.org/spin.html13http://www.w3.org/Submission/SWRL/14http://www.w3.org/TR/rif-core/15http://spinrdf.org/faq.html,http://topquadrantblog.
blogspot.co.uk/2011/06/comparing-spin-with-rif.html16http://www.w3.org/2005/rules/wiki/RIF_FAQ
Figure 4: Association of Roles with Features
SPIN, with respect to the two rule languages mentioned above,
is that rules are written in SPARQL, a familiar language for
most RDF users, and a language that makes the rules portable,
not across rules engines, but across RDF stores. SPIN rules
can be directly executed on the data stores and no intermediate
engines with communication overhead need to be introduced.
Finally, full support for SPIN is provided by TopBraid, includ-
ing the TopBraid composer editor, templates,etc.17
Below we show an example SPARQL CONSTRUCT query
used to infer a user’s role within a community. Within
the rule’s WHERE clause there are two SPIN functions:
oubo:fn getRoleType(?user,?temp,?forum) and
smf:buildURI("oubo:Role{?type}"). The former function
takes as parameters the user whose role is to be inferred -
designated by ?user, the time period over which the user’s
behaviour is to be assessed - given by ?temp - and the location
in which the user’s behaviour to be assessed and role inferred -
given by ?forum.
PREFIX oubo :< h t t p : / / p u r l . o rg / n e t / oubo /0 .3 > .
PREFIX s i o c : < h t t p : / / r d f s . o rg / s i o c / ns> .
PREFIX smf : < h t t p : / / t o p b r a i d . o rg / s p a r q l m o t i o n f u n c t i o n s #> .PREFIX s o c i a l − r e a l i t y : < h t t p : / / p u r l . o rg / n e t / s o c i a l − r e a l i t y #> .CONSTRUCT {
: r o l e a ? t .
? u s e r s o c i a l − r e a l i t y : c o u n t a s : r o l e .
: c o n t e x t a s o c i a l − r e a l i t y : C .
: r o l e s o c i a l − r e a l i t y : c o n t e x t : c o n t e x t .
? forum oubo : b e l o n g s T o C o n t e x t : c o n t e x t .
? temp oubo : b e l o n g s T o C o n t e x t : c o n t e x t
} WHERE {BIND( oubo : f n g e t R o l e T y p e ( ? use r , ? temp , ? forum ) AS ? t y p e ) .
BIND( smf : bu i ldURI ( ” oubo : Role { ? t y p e } ” ) AS ? t )
}
The behaviour information describing the user is then looked
up - i.e. returning an instance of oubo:UserImpact for ?userat a given time point and for a given location - and each of the
rules are applied over the behaviour features until one matches.
Each rule is defined as an instance of oubo:RoleClassifierand is associated with a set of features as shown in Fig. 4. Each
feature has a minimum and maximum value which specify the
range of feature values a user should have for this feature in
order to be assigned to this role. We use the skeleton rule of the
role to provide the rule’s syntax and then replace the levels with
the necessary bounds produced by our binning procedure.
The ?type variable returns the role label for the user and
the second function (smf:buildURI("oubo:Role{?type}"))
constructs a Uniform Resource Identifier (URI) for the given
role which is then bound to ?t using the SPARQL 1.1 function
BIND. This returns the URI of the role that should be assigned
to the user (?user).
17http://www.topquadrant.com/products/SPIN.html
8
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
Churn Rate
FPR
TPR
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
User Count
FPR
TPR
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
Seeds / Non−seeds Prop
FPR
TPR
0.0 0.2 0.4 0.6 0.8 1.0
0.0
0.2
0.4
0.6
0.8
1.0
Clustering Coefficient
FPR
TPR
36
CONCLUSIONS
37
Conclusions ! Social Web
! Abundance of heterogeneous data ! Data is contained within disparate silos
! Semantic Web ! Machine-readable information using shared ontologies
! The Social Semantic Web ! People, Social Networks, Content, Communities, Collaboration,
Folksonomies and Behaviour ! Enables machine readability of the masses of social data ! Collaborative environments generate and consume semantic data ! Integration of disparate social graphs from multiple social web platforms ! Facilitates the disambiguation of web references using social data ! Aids recommendations by combining social data together
38
QUESTIONS?
Matthew Rowe http://www.matthew-rowe.com http://people.open.ac.uk/rowe @mattroweshow